From aadf40cb3896a4dde96ac79a7abe14f22d517e7f Mon Sep 17 00:00:00 2001 From: Rick Houlihan Date: Fri, 25 Sep 2026 16:36:03 -0500 Subject: [PATCH 01/12] Add converged-modeling-patterns lab + Workshop 1 deck MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit New self-contained lab under labs/converged-modeling-patterns/: six document- modeling patterns as runnable side-by-sides — the document-model starting point and the converged alternative that keeps the read win without the write amplification — validated across two lanes (SQL via sqlplus and the Oracle API for MongoDB via mongosh) with cross-API parity assertions, on a free Oracle AI Database 26ai container. Also adds the 90-minute Workshop 1 deck under presentations/. Mirrors the converged-database-lab conventions: a self-contained lab directory, a row in labs/README.md, and a per-lab CI workflow (.github/workflows/converged-modeling-patterns.yml) that builds the image and runs ./run.sh to grade both lanes nightly, on push, and on PR. Licensed under UPL 1.0 — inherits the hub root LICENSE.txt with no in-subdir LICENSE, matching converged-database-lab. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01BeoRFyVLAZ7nma6UueR1P6 --- .../workflows/converged-modeling-patterns.yml | 39 + labs/README.md | 1 + labs/converged-modeling-patterns/.gitignore | 9 + labs/converged-modeling-patterns/README.md | 260 ++++ labs/converged-modeling-patterns/compose.yml | 35 + .../docker/Dockerfile | 35 + .../docker/init/01-grants.sql | 15 + .../docker/init/02-ords-enable.sql | 18 + .../docker/scripts/entrypoint.sh | 101 ++ .../docker/scripts/install-ords.sh | 24 + .../01-document-model.sql | 66 + .../01-extended-reference/02-converged.sql | 86 ++ .../01-extended-reference/03-parity.js | 38 + .../patterns/01-extended-reference/README.md | 58 + .../01-extended-reference/_capture.sql | 9 + .../02-computed/01-document-model.sql | 60 + .../patterns/02-computed/02-converged.sql | 109 ++ .../patterns/02-computed/03-parity.js | 37 + .../patterns/02-computed/README.md | 61 + .../patterns/02-computed/_capture.sql | 7 + .../patterns/03-bucket/01-document-model.js | 41 + .../patterns/03-bucket/01-document-model.sql | 62 + .../patterns/03-bucket/02-converged.sql | 82 ++ .../patterns/03-bucket/02-sql-in-pipeline.js | 28 + .../patterns/03-bucket/03-parity.js | 64 + .../patterns/03-bucket/README.md | 56 + .../patterns/03-bucket/_capture.sql | 17 + .../patterns/04-subset/01-document-model.sql | 57 + .../patterns/04-subset/02-converged.sql | 78 + .../patterns/04-subset/README.md | 48 + .../05-tree-hierarchy/01-document-model.sql | 58 + .../05-tree-hierarchy/02-converged.sql | 98 ++ .../patterns/05-tree-hierarchy/README.md | 58 + .../patterns/06-outlier/01-document-model.sql | 64 + .../patterns/06-outlier/02-converged.sql | 81 ++ .../patterns/06-outlier/03-parity.js | 37 + .../patterns/06-outlier/README.md | 55 + .../patterns/06-outlier/_capture.sql | 7 + .../converged-data-modeling-workshop1.html | 1268 +++++++++++++++++ labs/converged-modeling-patterns/run.sh | 105 ++ 40 files changed, 3432 insertions(+) create mode 100644 .github/workflows/converged-modeling-patterns.yml create mode 100644 labs/converged-modeling-patterns/.gitignore create mode 100644 labs/converged-modeling-patterns/README.md create mode 100644 labs/converged-modeling-patterns/compose.yml create mode 100644 labs/converged-modeling-patterns/docker/Dockerfile create mode 100644 labs/converged-modeling-patterns/docker/init/01-grants.sql create mode 100644 labs/converged-modeling-patterns/docker/init/02-ords-enable.sql create mode 100644 labs/converged-modeling-patterns/docker/scripts/entrypoint.sh create mode 100644 labs/converged-modeling-patterns/docker/scripts/install-ords.sh create mode 100644 labs/converged-modeling-patterns/patterns/01-extended-reference/01-document-model.sql create mode 100644 labs/converged-modeling-patterns/patterns/01-extended-reference/02-converged.sql create mode 100644 labs/converged-modeling-patterns/patterns/01-extended-reference/03-parity.js create mode 100644 labs/converged-modeling-patterns/patterns/01-extended-reference/README.md create mode 100644 labs/converged-modeling-patterns/patterns/01-extended-reference/_capture.sql create mode 100644 labs/converged-modeling-patterns/patterns/02-computed/01-document-model.sql create mode 100644 labs/converged-modeling-patterns/patterns/02-computed/02-converged.sql create mode 100644 labs/converged-modeling-patterns/patterns/02-computed/03-parity.js create mode 100644 labs/converged-modeling-patterns/patterns/02-computed/README.md create mode 100644 labs/converged-modeling-patterns/patterns/02-computed/_capture.sql create mode 100644 labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.js create mode 100644 labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.sql create mode 100644 labs/converged-modeling-patterns/patterns/03-bucket/02-converged.sql create mode 100644 labs/converged-modeling-patterns/patterns/03-bucket/02-sql-in-pipeline.js create mode 100644 labs/converged-modeling-patterns/patterns/03-bucket/03-parity.js create mode 100644 labs/converged-modeling-patterns/patterns/03-bucket/README.md create mode 100644 labs/converged-modeling-patterns/patterns/03-bucket/_capture.sql create mode 100644 labs/converged-modeling-patterns/patterns/04-subset/01-document-model.sql create mode 100644 labs/converged-modeling-patterns/patterns/04-subset/02-converged.sql create mode 100644 labs/converged-modeling-patterns/patterns/04-subset/README.md create mode 100644 labs/converged-modeling-patterns/patterns/05-tree-hierarchy/01-document-model.sql create mode 100644 labs/converged-modeling-patterns/patterns/05-tree-hierarchy/02-converged.sql create mode 100644 labs/converged-modeling-patterns/patterns/05-tree-hierarchy/README.md create mode 100644 labs/converged-modeling-patterns/patterns/06-outlier/01-document-model.sql create mode 100644 labs/converged-modeling-patterns/patterns/06-outlier/02-converged.sql create mode 100644 labs/converged-modeling-patterns/patterns/06-outlier/03-parity.js create mode 100644 labs/converged-modeling-patterns/patterns/06-outlier/README.md create mode 100644 labs/converged-modeling-patterns/patterns/06-outlier/_capture.sql create mode 100644 labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html create mode 100755 labs/converged-modeling-patterns/run.sh diff --git a/.github/workflows/converged-modeling-patterns.yml b/.github/workflows/converged-modeling-patterns.yml new file mode 100644 index 0000000..e07fa0d --- /dev/null +++ b/.github/workflows/converged-modeling-patterns.yml @@ -0,0 +1,39 @@ +name: converged-modeling-patterns +on: + push: + branches: [main] + paths: + - 'labs/converged-modeling-patterns/**' + - '.github/workflows/converged-modeling-patterns.yml' + pull_request: + paths: + - 'labs/converged-modeling-patterns/**' + - '.github/workflows/converged-modeling-patterns.yml' + schedule: + - cron: '41 6 * * *' # nightly: substantive freshness, not cosmetic + workflow_dispatch: + +jobs: + validate: + runs-on: ubuntu-latest + # Generous: this lab builds a large image (Oracle AI Database 26ai Free + ORDS + # + mongosh) before validating both lanes. + timeout-minutes: 55 + defaults: + run: + working-directory: labs/converged-modeling-patterns + steps: + - uses: actions/checkout@v4 + + - name: Free disk space + run: sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL + + - name: Build the lab image (DB + ORDS + mongosh) + run: docker compose build + + - name: Validate both lanes (SQL + Oracle API for MongoDB) + # run.sh brings the stack up, waits for the database AND the MongoDB API, + # then runs every pattern across BOTH lanes — grading each .sql and .js; + # the cross-API parity scripts exit non-zero on mismatch. It ends with a + # combined "N passed, 0 failed" and a non-zero exit if anything failed. + run: ./run.sh diff --git a/labs/README.md b/labs/README.md index 9d6c56f..c672852 100644 --- a/labs/README.md +++ b/labs/README.md @@ -6,5 +6,6 @@ Self-contained, runnable labs that validate converged-model claims against a liv | --- | --- | --- | | converged-database-lab | Runnable proofs for the converged-database article series — JSON Relational Duality, single-table vs. converged modeling, graph, vector, spatial, and full-text claims, each executing against a free Oracle AI Database 26ai container. | [./converged-database-lab](./converged-database-lab) | | oracle-database-kafka-apis | Java integration tests demonstrating Oracle AI Database Transactional Event Queues through the Kafka APIs, backed by Testcontainers. | [./oracle-database-kafka-apis](./oracle-database-kafka-apis) | +| converged-modeling-patterns | Six document-modeling patterns as runnable side-by-sides — the document-model starting point and the converged alternative that keeps the read win without the write amplification — validated across SQL and the Oracle API for MongoDB with cross-API parity assertions, on a free Oracle AI Database 26ai container. | [./converged-modeling-patterns](./converged-modeling-patterns) | *More labs coming as the content series expands.* diff --git a/labs/converged-modeling-patterns/.gitignore b/labs/converged-modeling-patterns/.gitignore new file mode 100644 index 0000000..d17cf2b --- /dev/null +++ b/labs/converged-modeling-patterns/.gitignore @@ -0,0 +1,9 @@ +# OS / editor +.DS_Store +*.swp +*~ + +# local env overrides +.env + +# nothing generated is checked in; the DB lives in a docker volume diff --git a/labs/converged-modeling-patterns/README.md b/labs/converged-modeling-patterns/README.md new file mode 100644 index 0000000..b14ceac --- /dev/null +++ b/labs/converged-modeling-patterns/README.md @@ -0,0 +1,260 @@ +# Converged Modeling Patterns + +Companion repository for the 90-minute lecture **"Model the Domain, Not the Engine — +Converged Data Modeling."** Every document-modeling pattern in this repo is a +runnable, side-by-side demonstration: the document-model starting point a developer +would build, and the converged alternative that keeps the read win **without** paying +the write-amplification the pattern was quietly charging you. + +Runs on **Oracle AI Database 26ai Free** — one container, one command. Two lanes: +the same data through **SQL** (`sqlplus`) and through the **Oracle API for MongoDB** +(`mongosh`), with automated assertions that the two lanes return **byte-identical** +results. One truth, many shapes — proven, not asserted. + +> **Data modeling is a physics problem, not a philosophy problem.** The famous +> document patterns are not folklore — they are disciplined responses to real +> storage-engine constraints. This repo asks one question of each: *does that +> constraint still exist on a converged engine?* When it does, keep the pattern. +> When it was a workaround for a missing capability, there is a better shape. + +--- + +## The one idea + +Every pattern trades along the same axis: **what you access together, you store +together.** Embed and you get atomic reads — until the document grows, hits 16 MB, or +takes write amplification on every change. Reference and you get small writes — but +now you need a join the engine may not love. + +Convergence adds a **third resolution the catalog never had: _project it._** Store +the domain in canonical form once; project the shape each consumer wants — document, +graph, time-series, relational — at read time, over the same rows, in the same +transaction. **Duality does not change the physics knobs. It changes how the knobs +get set.** + +The three knobs, on every design: + +1. **Diversity of access patterns** — how many consumers want a *different shape* of + the same truth? (Diversity pushes toward relational + projection.) +2. **Read/write ratio** — *where* compute should happen: write-time or read-time. +3. **Update %, and where the update lands** — the knob that quietly kills more designs + than the other two combined. A high-velocity field buried in a large document is + write amplification waiting to happen. + +The breakpoint to keep in your head: **maintain a precomputed structure only if +`read-freq × read-cost > write-freq × maintenance-cost`.** Writes get heavy or reads +get rare, and it flips — and a real cost-based optimizer moves that breakpoint by +making read-time compute cheap. + +--- + +## How this repo supports the presentation + +This repository is the **runnable backing** for the 90-minute lecture *"Model the +Domain, Not the Engine."* Nothing in the talk is a claim you have to take on faith — +every pattern, every needle-flip, and the "one truth, many shapes" thesis itself is a +command you can run here, live, on a laptop. It serves two audiences: + +- **Presenters** — step out of the slides and into a terminal at any pattern. + `./run.sh 03-bucket` proves the Bucket `$sql` rollup and its cross-API parity in + front of the room; the numbers on the slides are reproduced by the same scripts. +- **Developers you send here afterward** — the repo *is* the takeaway. Each pattern is + a side-by-side they can read, run, modify, and measure against their own cardinality. + +### Lecture → repo map + +| Lecture beat | What backs it, here | +|---|---| +| **Why converged / "model once, project many"** — one truth served as many shapes | The duality views (`xr_client_dv`, `cp_subscriber_dv`, `ol_advisor_dv`) read **identically** through SQL and the MongoDB API; the `03-parity.js` scripts assert it byte-for-byte | +| **The physics** — three knobs, write amplification, the breakpoint | *The one idea* (above); every `01-document-model.sql` makes the write cost explicit in comments, every `02-converged.sql` shows where the needle flips | +| **The pattern walk** — six patterns, six industries | `patterns/01…06`, **1:1 with the slides** — same patterns, same industries, same hard edges | +| **Bucket's `$sql`-in-pipeline value-add** — parallel analytics, no pipeline caps | `patterns/03-bucket/02-sql-in-pipeline.js` — full SQL over the Mongo wire, runnable | +| **"One truth, many shapes" — proven, not asserted** | The four cross-API parity scripts (`0{1,2,6}/03-parity.js`, `03/03-parity.js`) — SQL result and MongoDB result asserted equal | +| **The honesty anchor** — where document still wins | *Where document still wins* (below) — the single-collection guidance, in words and as a rule | +| **Measure, don't guess** — the bake-off | *Measure it, don't guess it* (below) + the reason-then-measure modeling skill | +| **The anonymized proof numbers** (60s→500ms, 29s→sub-400ms, 9–15×) | Cited in the per-pattern READMEs, tagged as anonymized field results | + +### Live-demo playbook + +```bash +./run.sh 01-extended-reference # ⭐ flagship: the SAME document, SQL == MongoDB, byte-for-byte +./run.sh 03-bucket # the $sql-in-pipeline showcase + rollup parity +./run.sh # the whole walk, both lanes → 18 passed, 0 failed +``` + +Run any of these live: each `[PASS]` line is a slide's claim, executed. + +--- + +## The six patterns (1:1 with the lecture) + +| # | Pattern | Industry | Where the needle flips | Converged softening | +|---|---|---|---|---| +| [01](patterns/01-extended-reference/) ⭐ | **Extended Reference** | Wealth mgmt | Advisor moves offices → fan-out update across 100Ks of embedded copies + update anomaly | **Project, don't copy** — advisor normalized once, duality projects it live | +| [02](patterns/02-computed/) | **Computed** | Telecom | Every CDR re-aggregates + rewrites the whole subscriber doc → write storm | Append-only rows + trigger-maintained summary (staleness 0); **Top-N 60s → 500ms** | +| [03](patterns/03-bucket/) | **Bucket** | Manufacturing / IoT | Each reading re-serializes the growing bucket; marches at the 16 MB ceiling | INTERVAL-partitioned rows + `GROUP BY` rollup; **29s → sub-400ms** | +| [04](patterns/04-subset/) | **Subset** | Insurance | Push-and-trim on every claim to serve a full read that hardly happens | One table + composite index; **query the hot slice** with `FETCH FIRST` | +| [05](patterns/05-tree-hierarchy/) | **Tree / Hierarchy** | Manufacturing BOM | Re-parent → rewrites every descendant's path; where-used a prefix can't express | Adjacency edges (reorg = one row) + `CONNECT BY` + `GRAPH_TABLE` | +| [06](patterns/06-outlier/) | **Outlier** | Financial | `hasExtras` + overflow + app branch = the 16 MB limit leaking into your code | No special doc — "just more rows, the optimizer plans for it" | + +Each folder holds a `README.md` (the teaching), `01-document-model.sql` (the starting +point, with the write cost made explicit in comments), and `02-converged.sql` (the +alternative, with the needle-flip explained). The four patterns that expose a duality +view (01, 02, 06) or a rollup (03) also carry a **MongoDB lane** — `*.js` scripts that +run through `mongosh` and assert cross-API parity (see below). + +Numbers above are **anonymized field results** from real engagements, cited as such — +your mileage depends on scale, cardinality, and access mix. *A win at the wrong scale +is not a win.* Measure your own (see below). + +--- + +## Repository layout + +``` +converged-modeling-patterns/ +├── run.sh # one command: build, wait, grant, run every pattern × both lanes, graded +├── compose.yml # the 26ai + ORDS + Mongo-API service (non-default host ports) +├── docker/ # the image, built from scratch — DB + ORDS + mongosh, no ONNX/vector layer +│ ├── Dockerfile +│ ├── scripts/ # install-ords.sh, entrypoint.sh (ORDS-enable CMP_USER + mongo.enabled) +│ └── init/ # 01-grants.sql, 02-ords-enable.sql +└── patterns/ + ├── 01-extended-reference/ # ⭐ wealth mgmt — duality projection + │ ├── README.md # the teaching: use case → hard edge → needle-flip → softening + │ ├── 01-document-model.sql# the starting point (write cost made explicit in comments) + │ ├── 02-converged.sql # the converged alternative (the flip, explained) + │ ├── 03-parity.js # Mongo lane: SAME doc via SQL and MongoDB API, byte-equal + │ └── _capture.sql # captures the SQL-side result for the parity assertion + ├── 02-computed/ # telecom — rollup, staleness 0 (+ 03-parity.js, _capture.sql) + ├── 03-bucket/ # manufacturing/IoT — time-series + │ ├── 01-document-model.sql / .js # the $push bucket that grows (SQL + Mongo lanes) + │ ├── 02-converged.sql # partitioned rows + GROUP BY rollup + │ ├── 02-sql-in-pipeline.js# $sql over the Mongo wire (the value-add) + │ └── 03-parity.js # Mongo $sql rollup == SQL GROUP BY, asserted + ├── 04-subset/ # insurance — pure SQL (no natural single Mongo collection) + ├── 05-tree-hierarchy/ # manufacturing BOM — pure SQL (adjacency + CONNECT BY + GRAPH_TABLE) + └── 06-outlier/ # financial — duality projection (+ 03-parity.js, _capture.sql) +``` + +Every pattern folder is self-contained and teaches the same four beats as its slide. +`.sql` files run in the SQL lane; `.js` files run in the MongoDB lane; `03-parity.js` +is the cross-API assertion; `_capture.sql` feeds the SQL side of that assertion to +`run.sh`. Read a folder's `README.md` first, then the two model files side by side. + +--- + +## Quickstart + +```bash +./run.sh # build/bring up the stack, then run ALL patterns, BOTH lanes +./run.sh 03-bucket # run just one pattern (both lanes) +``` + +`run.sh` builds and starts the container via `docker compose`, waits for the database +**and** the MongoDB API, grants the schema privileges the patterns use, and then, per +pattern, runs the **SQL lane** (`sqlplus`) followed by the **MongoDB lane** (`mongosh`, +in-container). Every script is graded: any ORA-/PLS- error or any parity mismatch is a +non-zero exit reported as **FAIL**. The run ends with a combined `N passed, 0 failed`. +It is idempotent; rerun freely. SQL-only patterns (Subset, Tree) have no `*.js` and +simply skip the Mongo lane. + +The image is built fresh from [`docker/`](docker/): Oracle AI Database 26ai Free +(`gvenzl/oracle-free:23.26.3-faststart`) + **ORDS** (fronting the Database API and the +Oracle API for MongoDB) + **mongosh**. No vector/ONNX layer — these patterns use no +vectors. Ports (host → container), defaulted to **non-standard** values so nothing +collides with another Oracle/ORDS/Mongo stack: + +| Service | In container | Host default | Override | +|---|---|---|---| +| SQL*Net | 1521 | **1522** | `CMP_PORT` | +| ORDS / Database Actions | 8181 | **8182** | `CMP_ORDS_PORT` | +| Oracle API for MongoDB | 27017 | **27018** | `CMP_MONGO_PORT` | + +Drive it yourself: + +```bash +docker compose up -d --build + +# SQL lane +docker exec -i cmp-oracle sqlplus -s cmp_user/CmpUser2026@localhost:1521/FREEPDB1 \ + < patterns/01-extended-reference/01-document-model.sql + +# MongoDB lane (in-container mongosh; TLS is off for local dev) +MURI='mongodb://cmp_user:CmpUser2026@localhost:27017/CMP_USER?authMechanism=PLAIN&authSource=$external&retryWrites=false&loadBalanced=true' +docker exec -i -e MURI="$MURI" cmp-oracle bash -lc 'mongosh "$MURI" --quiet --file /dev/stdin' \ + < patterns/03-bucket/02-sql-in-pipeline.js +``` + +Login: `cmp_user / CmpUser2026`, service `FREEPDB1`, schema ORDS-enabled as `CMP_USER`. +Override `ORACLE_PASSWORD` / `CMP_PASSWORD` as you like. + +## The MongoDB lane + cross-API parity + +The Oracle API for MongoDB surfaces the same schema over the Mongo wire protocol, so a +MongoDB developer meets these patterns in their own tools — and the repo proves the two +lanes agree: + +- **`$sql`-in-pipeline** (Bucket): `patterns/03-bucket/02-sql-in-pipeline.js` issues the + hourly time-series rollup as **full SQL through the Mongo wire** via Oracle's `$sql` + aggregation stage — parallel execution, cost-based optimization, and none of the + 100 MB stage / 16 MB output caps a native pipeline hits. +- **Rollup parity** (Bucket): `03-parity.js` asserts the Mongo `$sql` rollup equals the + SQL lane's `02-converged.sql` `GROUP BY` (same machine/hour COUNT/AVG/MAX), and that + both equal the hand-maintained document-model bucket counters. +- **Document parity** (Extended Reference ⭐, Computed, Outlier): each `03-parity.js` + reads the **same duality-view document two ways** — `SELECT ... FROM ` (SQL) and + `db..findOne(...)` (MongoDB API) — and asserts they are **byte-equal** after + canonicalizing JSON and ignoring the duality `_metadata` (etag/asof). This is the + executable proof of *"one truth, many shapes."* + +Each parity script `quit(1)`s on any mismatch, so `run.sh` reports it as FAIL. Subset +and Tree stay pure-SQL (no natural single Mongo collection for a claims table or an +adjacency/graph traversal). + +--- + +## Where document still wins (the honesty anchor) + +This is not "relational beats document." It is *shape per access pattern, on one +engine.* The document model is the right tool for most reads, and for a real class of +writes. The white-hot case — a shopping cart or event stream taking tens of millions +of tiny add/remove operations a day and read constantly — belongs in a **single +collection** (one small document per line item, keyed `cart#sku`), **not** a duality +view. A duality view is a read-time join; do not put one in front of a write-storm. +**A single collection is not a duality view** — a duality view assembles a document by +joining normalized tables; a single collection gathers documents on an index. Both +are first-class here. + +The other half of the 90/10: entitlement / array-containment workloads have run +**~9–15× faster in the document shape** than a 27-table normalized schema — on the +*same* engine. The point was never the shape. The point is you no longer have to pick +one for the whole system. + +--- + +## Measure it, don't guess it + +Every needle-flip in this repo is a *breakpoint* — a frequency or scale at which the +winner changes. On a converged engine you don't have to guess where it is: +reproduce the schema, generate data at real cardinality, build the candidate shapes, +and **measure read _and_ write cost** (writes are access patterns too). See the +`oracle-data-modeling` skill's reason-then-measure bake-off, and bring your own schema +and slowest queries to the workshop lab. + +--- + +## Notes + +- **26ai throughout.** Validated on Oracle AI Database 26ai Free (`23.26.3-faststart`), + ORDS 26.2, mongosh from the current MongoDB 8.0 repo. Every `.sql`, every `.js`, and + every cross-API parity assertion runs clean on a live container (`18 passed, 0 failed`). +- **Customer-neutral.** No named customers; the domains are illustrative and reusable. +- **Two lanes, asserted equal.** The SQL lane validates via `sqlplus`; the MongoDB lane + validates via `mongosh`, and the parity scripts assert the two lanes return identical + data. See *The MongoDB lane + cross-API parity* above. + +## License + +Universal Permissive License (UPL) 1.0 — see [LICENSE](LICENSE). Copyright (c) 2026 +Oracle and/or its affiliates. diff --git a/labs/converged-modeling-patterns/compose.yml b/labs/converged-modeling-patterns/compose.yml new file mode 100644 index 0000000..f182cbc --- /dev/null +++ b/labs/converged-modeling-patterns/compose.yml @@ -0,0 +1,35 @@ +name: converged-modeling-patterns + +# One service: Oracle AI Database 26ai Free + ORDS + the Oracle API for MongoDB, +# built fresh from ./docker (see docker/Dockerfile). Exposes SQL (1521), ORDS +# (8181), and the Mongo wire protocol (27017). Host ports default to NON-standard +# values so this never collides with another Oracle/ORDS/Mongo stack on the host; +# run.sh drives everything in-container, so the host mapping is only for your own +# clients. Override with CMP_PORT / CMP_ORDS_PORT / CMP_MONGO_PORT. +services: + oracle: + build: + context: ./docker + dockerfile: Dockerfile + image: converged-modeling-patterns-oracle:latest + container_name: cmp-oracle + ports: + - '${CMP_PORT:-1522}:1521' # SQL*Net + - '${CMP_ORDS_PORT:-8182}:8181' # ORDS / Database Actions + - '${CMP_MONGO_PORT:-27018}:27017' # Oracle API for MongoDB + environment: + ORACLE_PASSWORD: '${ORACLE_PASSWORD:-Sandbox2026}' # SYS / SYSTEM + APP_USER: 'CMP_USER' + APP_USER_PASSWORD: '${CMP_PASSWORD:-CmpUser2026}' + healthcheck: + # DB readiness only; run.sh polls ORDS + Mongo itself before the Mongo lane. + test: ['CMD', 'healthcheck.sh'] + interval: 10s + timeout: 10s + retries: 60 + start_period: 180s + volumes: + - cmp-data:/opt/oracle/oradata + +volumes: + cmp-data: diff --git a/labs/converged-modeling-patterns/docker/Dockerfile b/labs/converged-modeling-patterns/docker/Dockerfile new file mode 100644 index 0000000..55a6fab --- /dev/null +++ b/labs/converged-modeling-patterns/docker/Dockerfile @@ -0,0 +1,35 @@ +# Oracle AI Database 26ai Free + ORDS + Oracle API for MongoDB. +# +# Built fresh for this repo — NOT copied from another lab. Two deliberate choices: +# * newest gvenzl faststart release line: 23.26.3 (year.quarter numbering; the +# 23.26.x line IS the 26ai release). Confirmed newest on Docker Hub at build time. +# * NO vector/ONNX model layer — these patterns use no vectors, so that ~130 MB +# download is skipped entirely. This image is DB + ORDS + mongosh, nothing more. +FROM gvenzl/oracle-free:23.26.3-faststart + +USER root + +# --- ORDS (latest) ----------------------------------------------------------- +# Installs Oracle REST Data Services, which fronts both the Database API and the +# Oracle API for MongoDB (port 27017). +COPY scripts/install-ords.sh /tmp/install-ords.sh +RUN chmod +x /tmp/install-ords.sh && /tmp/install-ords.sh && rm /tmp/install-ords.sh +RUN chown -R oracle:oinstall /etc/ords + +# --- mongosh (current MongoDB 8.0 repo) -------------------------------------- +# The Mongo lane of run.sh drives *.js scripts through mongosh, in-container. +RUN printf '[mongodb-org-8.0]\nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/8.0/x86_64/\ngpgcheck=1\nenabled=1\ngpgkey=https://pgp.mongodb.com/server-8.0.asc\n' > /etc/yum.repos.d/mongodb-org-8.0.repo \ + && microdnf install -y mongodb-mongosh \ + && microdnf clean all + +# --- schema init + custom entrypoint ----------------------------------------- +# initdb scripts grant CMP_USER the privileges the patterns use. The entrypoint +# installs ORDS, ORDS-enables CMP_USER, and turns the Mongo API on (TLS off for +# local dev), then starts both Oracle and ORDS. +COPY init/ /container-entrypoint-initdb.d/ +COPY scripts/entrypoint.sh /opt/oracle/scripts/entrypoint.sh +RUN chmod +x /opt/oracle/scripts/entrypoint.sh + +USER oracle +EXPOSE 1521 8181 27017 +ENTRYPOINT ["/opt/oracle/scripts/entrypoint.sh"] diff --git a/labs/converged-modeling-patterns/docker/init/01-grants.sql b/labs/converged-modeling-patterns/docker/init/01-grants.sql new file mode 100644 index 0000000..66fb4a9 --- /dev/null +++ b/labs/converged-modeling-patterns/docker/init/01-grants.sql @@ -0,0 +1,15 @@ +-- Grant CMP_USER (created by the gvenzl APP_USER convention) the privileges the +-- patterns use. Runs as SYSDBA at initdb time (gvenzl convention). Idempotent. +ALTER SESSION SET CONTAINER = FREEPDB1; +BEGIN + BEGIN + EXECUTE IMMEDIATE 'CREATE USER cmp_user IDENTIFIED BY "CmpUser2026" QUOTA UNLIMITED ON users'; + EXCEPTION WHEN OTHERS THEN + IF SQLCODE != -1920 THEN RAISE; END IF; -- ORA-01920: user already exists (created by image) + END; + EXECUTE IMMEDIATE 'ALTER USER cmp_user QUOTA UNLIMITED ON users'; + EXECUTE IMMEDIATE 'GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE PROCEDURE, + CREATE TRIGGER, CREATE SEQUENCE, CREATE MATERIALIZED VIEW, CREATE PROPERTY GRAPH, + SODA_APP TO cmp_user'; +END; +/ diff --git a/labs/converged-modeling-patterns/docker/init/02-ords-enable.sql b/labs/converged-modeling-patterns/docker/init/02-ords-enable.sql new file mode 100644 index 0000000..51fca99 --- /dev/null +++ b/labs/converged-modeling-patterns/docker/init/02-ords-enable.sql @@ -0,0 +1,18 @@ +-- Documents the ORDS-enable of CMP_USER and covers the volume-reuse case where +-- ORDS is already installed. On FIRST boot this defers: gvenzl runs initdb scripts +-- BEFORE the entrypoint installs ORDS, so ORDS_METADATA does not exist yet — the +-- entrypoint re-runs the identical ENABLE_SCHEMA right after `ords install`. +ALTER SESSION SET CONTAINER = FREEPDB1; +BEGIN + EXECUTE IMMEDIATE q'[ + BEGIN + ORDS_METADATA.ORDS_ADMIN.ENABLE_SCHEMA(p_enabled => TRUE, p_schema => 'CMP_USER', + p_url_mapping_type => 'BASE_PATH', + p_url_mapping_pattern => 'cmp', p_auto_rest_auth => FALSE); + COMMIT; + END;]'; +EXCEPTION + WHEN OTHERS THEN + DBMS_OUTPUT.PUT_LINE('ORDS enable deferred (ORDS not installed yet): ' || SQLERRM); +END; +/ diff --git a/labs/converged-modeling-patterns/docker/scripts/entrypoint.sh b/labs/converged-modeling-patterns/docker/scripts/entrypoint.sh new file mode 100644 index 0000000..a75c693 --- /dev/null +++ b/labs/converged-modeling-patterns/docker/scripts/entrypoint.sh @@ -0,0 +1,101 @@ +#!/bin/bash +# Custom entrypoint: start Oracle (via the gvenzl base entrypoint), then install/ +# validate ORDS, ORDS-enable CMP_USER, turn on the Oracle API for MongoDB (TLS off +# for local dev), and serve ORDS. Both processes are monitored. +set -uo pipefail + +ORDS_CONFIG="/etc/ords/config" +ORDS_LOG="/tmp/ords.log" +ORACLE_PDB="FREEPDB1" +# Pool config lives in the container-local /etc/ords, not on the data volume, so a +# recreated container re-runs install (a no-op/validate against an existing schema). +ORDS_POOL_CONFIG="$ORDS_CONFIG/databases/default/pool.xml" + +# Start Oracle in the background using the base image entrypoint. +/opt/oracle/container-entrypoint.sh & +ORACLE_PID=$! + +echo "=== Waiting for Oracle to be ready ===" +until /opt/oracle/healthcheck.sh > /dev/null 2>&1; do sleep 2; done +echo "=== Oracle is ready ===" + +ADMIN_PWD="${ORACLE_PASSWORD:-Sandbox2026}" + +if [ ! -f "$ORDS_POOL_CONFIG" ]; then + echo "=== No ORDS pool config: installing/validating ORDS ===" + + # On a recreated container over an existing volume, the installer needs the + # ORDS_PUBLIC_USER password to rebuild the local wallet — reset it to a known + # value so the non-interactive install can proceed. + sqlplus -s / as sysdba <&1 || { + echo "=== ORDS install exited $?. Log tail: ===" + tail -50 /tmp/*.log 2>/dev/null || true + } +fi + +# ORDS-enable CMP_USER so its duality views + JSON collection tables surface as +# collections over the Mongo wire protocol. ENABLE_SCHEMA is an idempotent upsert. +echo "=== ORDS-enabling CMP_USER schema ===" +sqlplus -s / as sysdba <<'SQL' +ALTER SESSION SET CONTAINER = FREEPDB1; +BEGIN + ORDS_METADATA.ORDS_ADMIN.ENABLE_SCHEMA(p_enabled => TRUE, p_schema => 'CMP_USER', + p_url_mapping_type => 'BASE_PATH', + p_url_mapping_pattern => 'cmp', p_auto_rest_auth => FALSE); + COMMIT; +END; +/ +SQL + +# Turn the Mongo API on, plaintext (local dev). NB: the key is mongo.tls, not +# mongo.tls.enabled. Re-run every boot: /etc/ords is container-local. +ords --config "$ORDS_CONFIG" config set mongo.enabled true +ords --config "$ORDS_CONFIG" config set mongo.port 27017 +ords --config "$ORDS_CONFIG" config set mongo.tls false + +echo "=== Starting ORDS ===" +ords --config "$ORDS_CONFIG" serve --port 8181 > "$ORDS_LOG" 2>&1 & +ORDS_PID=$! + +echo "=== Waiting for ORDS health ===" +for i in $(seq 1 90); do + if curl -sf -o /dev/null -w '%{http_code}' http://localhost:8181/ 2>/dev/null | grep -q '302\|200'; then + echo "=== ORDS is healthy ==="; break + fi + [ "$i" -eq 90 ] && { echo "=== ORDS not healthy after 3 min. Log tail: ==="; tail -30 "$ORDS_LOG" 2>/dev/null || true; } + sleep 2 +done + +echo "=== Oracle + ORDS running. Monitoring... ===" +while true; do + if ! kill -0 "$ORACLE_PID" 2>/dev/null; then + echo "=== Oracle process died ==="; kill "$ORDS_PID" 2>/dev/null || true; exit 1 + fi + if ! kill -0 "$ORDS_PID" 2>/dev/null; then + echo "=== ORDS died, restarting ===" + ords --config "$ORDS_CONFIG" serve --port 8181 > "$ORDS_LOG" 2>&1 & + ORDS_PID=$! + fi + sleep 5 +done diff --git a/labs/converged-modeling-patterns/docker/scripts/install-ords.sh b/labs/converged-modeling-patterns/docker/scripts/install-ords.sh new file mode 100644 index 0000000..8806277 --- /dev/null +++ b/labs/converged-modeling-patterns/docker/scripts/install-ords.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# Install the latest ORDS into the image during `docker build`. Runs as root. +set -euo pipefail + +ORDS_HOME="/opt/oracle/ords" +ORDS_CONFIG="/etc/ords/config" + +echo "=== Installing ORDS (latest) ===" + +# ORDS needs a JRE; Java 17 is the current LTS ORDS supports. +microdnf install -y java-17-openjdk-headless unzip curl && microdnf clean all + +mkdir -p "$ORDS_HOME" "$ORDS_CONFIG" +cd /tmp +curl -fsSL -o ords.zip "https://download.oracle.com/otn_software/java/ords/ords-latest.zip" +unzip -q ords.zip -d "$ORDS_HOME" +rm ords.zip + +ln -sf "$ORDS_HOME/bin/ords" /usr/local/bin/ords + +export ORDS_CONFIG +ords config set --global config.dir "$ORDS_CONFIG" + +echo "=== ORDS installed: $(ords --version 2>/dev/null || echo 'version unknown') ===" diff --git a/labs/converged-modeling-patterns/patterns/01-extended-reference/01-document-model.sql b/labs/converged-modeling-patterns/patterns/01-extended-reference/01-document-model.sql new file mode 100644 index 0000000..c5ef3fc --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/01-extended-reference/01-document-model.sql @@ -0,0 +1,66 @@ +-- ============================================================================ +-- Pattern 01 · Extended Reference · THE DOCUMENT MODEL (the starting point) +-- Industry: wealth management. Access pattern: open any client or account and +-- show the servicing advisor's name, office, and desk line — without a join. +-- +-- The document move: copy the most-read advisor fields INTO every client doc so +-- the read never has to look them up. "Only copy fields that rarely change." +-- +-- THE WRITE-AMPLIFICATION COST (made explicit below): the advisor is now stored +-- N times, once per client. The moment a copied value changes — advisor moves +-- offices, changes desk line — you must find and rewrite EVERY embedded copy. +-- On a book of 100K clients that is a 100K-document fan-out update, and every +-- doc you miss is now stale... and it feeds both the client portal AND the LLM. +-- "Write amplification in, update anomaly out." +-- +-- Runs SQL-native (JSON Collection Table) so it validates in one lane; the same +-- shape is what a MongoDB-API developer would model as a collection. +-- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @01-document-model.sql +-- ============================================================================ + +-- Idempotent: drop prior run cleanly. +BEGIN + FOR r IN (SELECT table_name FROM user_tables WHERE table_name = 'XR_CLIENT_DOC') LOOP + EXECUTE IMMEDIATE 'DROP TABLE ' || r.table_name || ' PURGE'; + END LOOP; +END; +/ + +CREATE JSON COLLECTION TABLE xr_client_doc; + +-- Each client doc carries an EMBEDDED COPY of the advisor block (extended +-- reference). Two clients of advisor A-001 => two copies of A-001's office/desk. +INSERT INTO xr_client_doc VALUES (JSON('{"_id":"C-001","fullName":"Ada Client","segment":"HNW", + "advisor":{"advisorId":"A-001","fullName":"Grace Advisor","office":"NYC-01","desk":"+1-212-555-0101"}}')); +INSERT INTO xr_client_doc VALUES (JSON('{"_id":"C-002","fullName":"Ben Client","segment":"MASS", + "advisor":{"advisorId":"A-001","fullName":"Grace Advisor","office":"NYC-01","desk":"+1-212-555-0101"}}')); +INSERT INTO xr_client_doc VALUES (JSON('{"_id":"C-003","fullName":"Cara Client","segment":"HNW", + "advisor":{"advisorId":"A-002","fullName":"Alan Advisor","office":"CHI-04","desk":"+1-312-555-0144"}}')); +COMMIT; + +-- The read the pattern optimizes for: zero-join, everything inline. This is why +-- people reach for the embed. +SELECT JSON_VALUE(data, '$.fullName') AS client, + JSON_VALUE(data, '$.advisor.office') AS advisor_office +FROM xr_client_doc; + +-- --------------------------------------------------------------------------- +-- THE NEEDLE FLIPS HERE. Advisor A-001 moves from NYC-01 to NYC-09. There is no +-- advisor record to update — the advisor only exists as copies. So the write +-- fans out across EVERY client doc that embeds A-001, and each JSON_TRANSFORM +-- re-serializes the whole document into a new block (WiredTiger copy-on-write; +-- OSON re-encode on Oracle). 3 rows here; 100,000 on a real book. +-- --------------------------------------------------------------------------- +UPDATE xr_client_doc c +SET data = JSON_TRANSFORM(data, + SET '$.advisor.office' = 'NYC-09', + SET '$.advisor.desk' = '+1-212-555-0999') +WHERE JSON_VALUE(data, '$.advisor.advisorId') = 'A-001'; +-- ^ rows updated = every client of A-001. Miss one (or crash mid-fan-out) and +-- that client doc now serves a STALE office to the portal and to the copilot. +COMMIT; + +SELECT 'document model: advisor change fanned out to ' || + COUNT(*) || ' client docs' AS write_amplification +FROM xr_client_doc +WHERE JSON_VALUE(data, '$.advisor.office') = 'NYC-09'; diff --git a/labs/converged-modeling-patterns/patterns/01-extended-reference/02-converged.sql b/labs/converged-modeling-patterns/patterns/01-extended-reference/02-converged.sql new file mode 100644 index 0000000..b8e5fd7 --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/01-extended-reference/02-converged.sql @@ -0,0 +1,86 @@ +-- ============================================================================ +-- Pattern 01 · Extended Reference · THE CONVERGED ALTERNATIVE +-- "Project, don't copy." +-- +-- The advisor is stored ONCE, in its own table. Each client references it by FK. +-- A JSON Relational Duality View projects the SAME client document the document +-- developer wanted — advisor block inline — but the advisor block is a live +-- projection through the FK, not a stored copy. +-- +-- The needle-flip, resolved: an advisor moving offices is now ONE row. Every +-- client document that projects that advisor reflects the change in the same +-- transaction, with zero fan-out and zero possibility of a stale copy. The read +-- shape is identical; the write cost collapsed from O(clients) to O(1). +-- +-- Rule of thumb this encodes: snapshot the IMMUTABLE (a trade's execution price +-- is transaction truth — freeze it in the doc), project the MUTABLE (an advisor's +-- CURRENT office is reference data — never freeze it, project it live). +-- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @02-converged.sql +-- ============================================================================ + +BEGIN + FOR r IN (SELECT table_name FROM user_tables + WHERE table_name IN ('XR_CLIENTS','XR_ADVISORS') + ORDER BY table_name) LOOP + EXECUTE IMMEDIATE 'DROP TABLE ' || r.table_name || ' CASCADE CONSTRAINTS PURGE'; + END LOOP; +END; +/ + +-- Canonical form: advisor stored ONCE. +CREATE TABLE xr_advisors ( + advisor_id VARCHAR2(12) PRIMARY KEY, + full_name VARCHAR2(120) NOT NULL, + office VARCHAR2(24) NOT NULL, + desk VARCHAR2(24) NOT NULL +); + +CREATE TABLE xr_clients ( + client_id VARCHAR2(12) PRIMARY KEY, + full_name VARCHAR2(120) NOT NULL, + segment VARCHAR2(12) NOT NULL, + primary_advisor_id VARCHAR2(12) NOT NULL REFERENCES xr_advisors(advisor_id) +); + +INSERT INTO xr_advisors VALUES ('A-001','Grace Advisor','NYC-01','+1-212-555-0101'); +INSERT INTO xr_advisors VALUES ('A-002','Alan Advisor','CHI-04','+1-312-555-0144'); +INSERT INTO xr_clients VALUES ('C-001','Ada Client','HNW','A-001'); +INSERT INTO xr_clients VALUES ('C-002','Ben Client','MASS','A-001'); +INSERT INTO xr_clients VALUES ('C-003','Cara Client','HNW','A-002'); +COMMIT; + +-- The document the document dev wanted — assembled at read time over the truth. +-- Advisor block is WITH NOUPDATE: it is a PROJECTION of reference data, not a +-- copy this view is allowed to overwrite (per-field governance, engine-enforced). +CREATE OR REPLACE JSON RELATIONAL DUALITY VIEW xr_client_dv AS +SELECT JSON { + '_id' : c.client_id, + 'fullName' : c.full_name WITH UPDATE, + 'segment' : c.segment WITH UPDATE, + 'advisor' : ( SELECT JSON { 'advisorId' : a.advisor_id, + 'fullName' : a.full_name, + 'office' : a.office, + 'desk' : a.desk } + FROM xr_advisors a WITH NOUPDATE + WHERE a.advisor_id = c.primary_advisor_id ) +} FROM xr_clients c WITH INSERT UPDATE DELETE; + +-- Same read the document model served — identical shape, zero stored copies. +SELECT JSON_VALUE(data, '$.fullName') AS client, + JSON_VALUE(data, '$.advisor.office') AS advisor_office +FROM xr_client_dv; + +-- --------------------------------------------------------------------------- +-- THE NEEDLE-FLIP, RESOLVED. Advisor A-001 moves offices: ONE row. Every client +-- document that projects A-001 is instantly, transactionally correct. No +-- fan-out. No stale copy. No CDC job to reconcile the portal with the copilot. +-- --------------------------------------------------------------------------- +UPDATE xr_advisors SET office = 'NYC-09', desk = '+1-212-555-0999' +WHERE advisor_id = 'A-001'; +COMMIT; + +SELECT JSON_VALUE(data, '$._id') AS client, + JSON_VALUE(data, '$.advisor.office') AS advisor_office_now +FROM xr_client_dv +ORDER BY 1; +-- ^ C-001 and C-002 both read NYC-09 — from one write to one row. diff --git a/labs/converged-modeling-patterns/patterns/01-extended-reference/03-parity.js b/labs/converged-modeling-patterns/patterns/01-extended-reference/03-parity.js new file mode 100644 index 0000000..1ffe304 --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/01-extended-reference/03-parity.js @@ -0,0 +1,38 @@ +// ============================================================================ +// Pattern 01 · Extended Reference · CROSS-API PARITY (mongosh) — the flagship proof +// "One truth, many shapes." The SAME projected client document, read TWO ways: +// * SQL lane — SELECT ... FROM xr_client_dv (injected as $SQL_RESULT by run.sh) +// * Mongo lane — db.xr_client_dv.findOne({_id:"C-001"}) over the Mongo wire +// Asserts the documents are byte-equal after canonicalizing JSON and ignoring the +// duality _metadata (etag/asof). Exits non-zero on mismatch. +// ============================================================================ +function canon(x) { + if (x === null || x === undefined) return null; + if (Array.isArray(x)) return x.map(canon).sort((a, b) => + JSON.stringify(a) < JSON.stringify(b) ? -1 : 1); + if (typeof x === "object") { + const cn = x.constructor && x.constructor.name; + if (x._bsontype || /Decimal128|Double|Long|Int32/.test(cn || "")) return Number(x.toString()); + const o = {}; + for (const k of Object.keys(x).sort()) { if (k === "_metadata") continue; o[k] = canon(x[k]); } + return o; + } + return x; +} +const eq = (a, b) => JSON.stringify(canon(a)) === JSON.stringify(canon(b)); + +const viaSql = JSON.parse(process.env.SQL_RESULT || "null"); +if (!viaSql) { print("[FAIL] SQL_RESULT not provided by run.sh"); quit(1); } + +const viaMongo = db.xr_client_dv.findOne({ _id: "C-001" }); +if (!viaMongo) { print("[FAIL] MongoDB API returned no document for C-001 (is xr_client_dv exposed?)"); quit(1); } + +if (!eq(viaSql, viaMongo)) { + print("[FAIL] cross-API document mismatch for client C-001"); + print(" SQL lane: " + JSON.stringify(canon(viaSql))); + print(" Mongo lane: " + JSON.stringify(canon(viaMongo))); + quit(1); +} +print("[PASS] xr_client_dv document byte-equal across SQL and MongoDB API (C-001)"); +print(" advisor.office via Mongo lane = " + viaMongo.advisor.office + " (projected, not copied)"); +quit(0); diff --git a/labs/converged-modeling-patterns/patterns/01-extended-reference/README.md b/labs/converged-modeling-patterns/patterns/01-extended-reference/README.md new file mode 100644 index 0000000..43d61e8 --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/01-extended-reference/README.md @@ -0,0 +1,58 @@ +# Pattern 01 — Extended Reference ⭐ + +**Wealth management.** Open any client or account and show the servicing advisor's +name, office, and desk line — without a join. + +> Project, don't copy. + +## The document bet + +The Extended Reference pattern copies the most-read fields of a referenced entity +*into* the referencing document, so the read never has to look them up. The advice +is disciplined — "only copy fields that rarely change." Embed the advisor block on +every client and account, and the account page renders with zero joins. + +## Where the needle flips + +The advisor is now stored **N times**, once per client. Nothing enforces that the +copies agree. The moment a copied value changes — an advisor moves offices, changes +a desk line — you have to find and rewrite **every embedded copy**. On a book of +100,000 clients that is a 100,000-document fan-out for one logical change, and each +document you miss is now serving a stale office to the client portal *and* to the +copilot reading that same document as context. + +That is the pattern's whole trade in one line: **write amplification in, update +anomaly out.** It is a workaround for a missing capability — the engine's +reluctance to join — not a law of physics. + +## The converged softening + +Store the advisor **once**. Reference it by foreign key. Then let a **JSON +Relational Duality View** project the exact client document you wanted — advisor +block inline — where the advisor block is a *live projection through the FK*, not a +stored copy. The read shape is identical. An advisor moving offices is now **one +row**, and every document that projects that advisor is correct in the same +transaction. Fan-out: gone. Stale copy: impossible. + +The rule this encodes: + +- **Snapshot the immutable.** A trade's execution price is transaction truth — + freeze it in the document; a later price change must never rewrite history. +- **Project the mutable.** An advisor's *current* office is reference data — never + freeze it, project it live. + +## In this folder + +| File | What it shows | +|---|---| +| `01-document-model.sql` | Advisor embedded on every client doc; an office change fans out across all copies | +| `02-converged.sql` | Advisor normalized once; duality view projects it live; the office change is one row | +| `03-parity.js` ⭐ | Reads `xr_client_dv` via the **MongoDB API** and asserts it is byte-equal to the same view read via **SQL** — "one truth, many shapes" | +| `_capture.sql` | Helper: emits the SQL-lane document that `03-parity.js` compares against | + +## Validated + +Both lanes run clean on **Oracle AI Database 26ai Free (`23.26.3-faststart`)**. The +cross-API parity assertion passes: the projected client document is identical through +SQL and through the Oracle API for MongoDB. +Run with `../../run.sh 01-extended-reference`. diff --git a/labs/converged-modeling-patterns/patterns/01-extended-reference/_capture.sql b/labs/converged-modeling-patterns/patterns/01-extended-reference/_capture.sql new file mode 100644 index 0000000..2e2031f --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/01-extended-reference/_capture.sql @@ -0,0 +1,9 @@ +-- Capture the projected client document AS SEEN FROM SQL (the duality view +-- xr_client_dv), serialized to one JSON string. run.sh injects this into +-- 03-parity.js as $SQL_RESULT to compare against the same document read through +-- the MongoDB API. +SET HEADING OFF PAGESIZE 0 FEEDBACK OFF VERIFY OFF TRIMSPOOL ON +SET LINESIZE 32767 LONG 100000000 LONGCHUNKSIZE 1000000 +SELECT JSON_SERIALIZE(data RETURNING CLOB) +FROM xr_client_dv +WHERE JSON_VALUE(data, '$._id') = 'C-001'; diff --git a/labs/converged-modeling-patterns/patterns/02-computed/01-document-model.sql b/labs/converged-modeling-patterns/patterns/02-computed/01-document-model.sql new file mode 100644 index 0000000..23e61c5 --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/02-computed/01-document-model.sql @@ -0,0 +1,60 @@ +-- ============================================================================ +-- Pattern 02 · Computed · THE DOCUMENT MODEL (the starting point) +-- Industry: telecom. Access pattern: show a subscriber's current-cycle usage +-- (total MB, minutes, cost) instantly on the account page — and rank the top +-- talkers for the ops dashboard. +-- +-- The document move: bake the rollup onto the subscriber doc. Compute once on +-- write, read a thousand times for free. Mongo's own math: 1M reads/hr vs 1K +-- writes/hr => "compute on write divides work by 1000." +-- +-- THE WRITE-AMPLIFICATION COST: usage is not written once. Every Call Detail +-- Record (CDR) re-ticks the rollup, and each re-tick re-reads and rewrites the +-- WHOLE subscriber document (copy-on-write of the leaf page; OSON re-encode). +-- On a hot subscriber that is a write storm, and the counter becomes a +-- contention hotspot -> the pattern's own escape hatch is counter-sharding +-- (split into N docs, fan the read back in), which leaves the write amp exactly +-- where it was. And the Top-N dashboard has no rollup to lean on across +-- subscribers: it must SUM -> SORT -> LIMIT over the collection every load. +-- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @01-document-model.sql +-- ============================================================================ + +BEGIN + FOR r IN (SELECT table_name FROM user_tables WHERE table_name = 'CP_SUBSCRIBER_DOC') LOOP + EXECUTE IMMEDIATE 'DROP TABLE ' || r.table_name || ' PURGE'; + END LOOP; +END; +/ + +CREATE JSON COLLECTION TABLE cp_subscriber_doc; + +INSERT INTO cp_subscriber_doc VALUES (JSON('{"_id":"S-001","msisdn":"+1-202-555-0111", + "plan":"UNLIMITED","cycleUsage":{"totalMB":0,"totalMin":0,"cost":0.0}}')); +INSERT INTO cp_subscriber_doc VALUES (JSON('{"_id":"S-002","msisdn":"+1-202-555-0122", + "plan":"METERED","cycleUsage":{"totalMB":0,"totalMin":0,"cost":0.0}}')); +COMMIT; + +-- One CDR arrives for S-001. In the baked-rollup model this is NOT an append — +-- it is a read-modify-WRITE of the entire subscriber document. Do this per CDR, +-- thousands of times a cycle, on your busiest subscribers. +UPDATE cp_subscriber_doc +SET data = JSON_TRANSFORM(data, + SET '$.cycleUsage.totalMB' = JSON_VALUE(data,'$.cycleUsage.totalMB' RETURNING NUMBER) + 120, + SET '$.cycleUsage.totalMin' = JSON_VALUE(data,'$.cycleUsage.totalMin' RETURNING NUMBER) + 12, + SET '$.cycleUsage.cost' = JSON_VALUE(data,'$.cycleUsage.cost' RETURNING NUMBER) + 0.36) +WHERE JSON_VALUE(data,'$._id') = 'S-001'; +COMMIT; +-- ^ every CDR => a full-document rewrite of S-001. That is the write amplification. + +-- The account page read the pattern optimizes for (cheap): +SELECT JSON_VALUE(data,'$._id') AS subscriber, + JSON_VALUE(data,'$.cycleUsage.totalMB' RETURNING NUMBER) AS mb_this_cycle +FROM cp_subscriber_doc +WHERE JSON_VALUE(data,'$._id') = 'S-001'; + +-- The Top-N dashboard read the pattern does NOT help (full scan + sort every load): +SELECT JSON_VALUE(data,'$._id') AS subscriber, + JSON_VALUE(data,'$.cycleUsage.totalMB' RETURNING NUMBER) AS mb_this_cycle +FROM cp_subscriber_doc +ORDER BY JSON_VALUE(data,'$.cycleUsage.totalMB' RETURNING NUMBER) DESC +FETCH FIRST 5 ROWS ONLY; diff --git a/labs/converged-modeling-patterns/patterns/02-computed/02-converged.sql b/labs/converged-modeling-patterns/patterns/02-computed/02-converged.sql new file mode 100644 index 0000000..4398118 --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/02-computed/02-converged.sql @@ -0,0 +1,109 @@ +-- ============================================================================ +-- Pattern 02 · Computed · THE CONVERGED ALTERNATIVE +-- Two moves, both keeping the read win without paying whole-document write amp. +-- +-- 1) CDRs are APPEND-ONLY relational rows — one small insert per CDR, no parent +-- rewrite, no hot-document contention. A maintained summary carries the +-- rollup and is kept current IN THE SAME TRANSACTION by a row trigger: +-- "Computed, with a staleness window of zero." (Declarative equivalent: +-- a materialized view WITH REFRESH FAST ON COMMIT over a CDR mview log.) +-- +-- 2) Hot Top-N becomes an INDEX RANGE SCAN. A descending index on the summary's +-- usage column turns "top talkers" into an O(log n) seek + FETCH FIRST N — +-- no SUM, no SORT, no full-collection scan. This is the field pattern behind +-- the 60s -> 500ms dashboard result (a real landing page, anonymized). +-- +-- The needle-flip, resolved: the read stays cheap; the write drops from a full +-- document rewrite to a single-row counter update; the ranking stops being a +-- scan. The CBO plans all of it, ACID, one transaction. +-- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @02-converged.sql +-- ============================================================================ + +BEGIN + FOR r IN (SELECT table_name FROM user_tables + WHERE table_name IN ('CP_CDR','CP_SUBSCRIBER_USAGE','CP_SUBSCRIBERS') + ORDER BY table_name) LOOP + EXECUTE IMMEDIATE 'DROP TABLE ' || r.table_name || ' CASCADE CONSTRAINTS PURGE'; + END LOOP; +END; +/ + +CREATE TABLE cp_subscribers ( + subscriber_id VARCHAR2(12) PRIMARY KEY, + msisdn VARCHAR2(24) NOT NULL, + plan VARCHAR2(16) NOT NULL +); + +-- Append-only fact: one small row per CDR. No document to rewrite. +CREATE TABLE cp_cdr ( + cdr_id NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY, + subscriber_id VARCHAR2(12) NOT NULL REFERENCES cp_subscribers(subscriber_id), + mb NUMBER(12,2) DEFAULT 0 NOT NULL, + minutes NUMBER(10) DEFAULT 0 NOT NULL, + cost NUMBER(12,4) DEFAULT 0 NOT NULL, + cdr_ts TIMESTAMP DEFAULT SYSTIMESTAMP NOT NULL +); + +-- Maintained rollup: "Computed with staleness = 0." +CREATE TABLE cp_subscriber_usage ( + subscriber_id VARCHAR2(12) PRIMARY KEY REFERENCES cp_subscribers(subscriber_id), + total_mb NUMBER(14,2) DEFAULT 0 NOT NULL, + total_min NUMBER(12) DEFAULT 0 NOT NULL, + cost NUMBER(14,4) DEFAULT 0 NOT NULL +); + +-- The descending index that turns Top-N into a range scan (not a sort). +CREATE INDEX cp_ix_usage_topn ON cp_subscriber_usage (total_mb DESC, subscriber_id); + +CREATE OR REPLACE TRIGGER cp_trg_usage +AFTER INSERT ON cp_cdr +FOR EACH ROW +BEGIN + MERGE INTO cp_subscriber_usage u + USING (SELECT :NEW.subscriber_id AS sid FROM dual) s + ON (u.subscriber_id = s.sid) + WHEN MATCHED THEN UPDATE SET + u.total_mb = u.total_mb + :NEW.mb, + u.total_min = u.total_min + :NEW.minutes, + u.cost = u.cost + :NEW.cost + WHEN NOT MATCHED THEN INSERT (subscriber_id, total_mb, total_min, cost) + VALUES (:NEW.subscriber_id, :NEW.mb, :NEW.minutes, :NEW.cost); +END; +/ + +INSERT INTO cp_subscribers VALUES ('S-001','+1-202-555-0111','UNLIMITED'); +INSERT INTO cp_subscribers VALUES ('S-002','+1-202-555-0122','METERED'); +INSERT INTO cp_subscribers VALUES ('S-003','+1-202-555-0133','UNLIMITED'); + +-- CDRs stream in as tiny appends; the summary tracks them in the same commit. +INSERT INTO cp_cdr (subscriber_id, mb, minutes, cost) VALUES ('S-001',120,12,0.36); +INSERT INTO cp_cdr (subscriber_id, mb, minutes, cost) VALUES ('S-001',300,20,0.90); +INSERT INTO cp_cdr (subscriber_id, mb, minutes, cost) VALUES ('S-002', 50, 5,0.15); +INSERT INTO cp_cdr (subscriber_id, mb, minutes, cost) VALUES ('S-003',900,40,2.70); +COMMIT; + +-- Account page read: the rollup is already there (staleness = 0), one PK lookup. +SELECT subscriber_id, total_mb, cost FROM cp_subscriber_usage WHERE subscriber_id = 'S-001'; + +-- Hot Top-N: an index range scan on cp_ix_usage_topn + FETCH FIRST N. +-- (EXPLAIN PLAN FOR this SELECT shows INDEX RANGE SCAN, not SORT ORDER BY.) +SELECT subscriber_id, total_mb, cost +FROM cp_subscriber_usage +ORDER BY total_mb DESC +FETCH FIRST 5 ROWS ONLY; + +-- Prefer the document shape at the API? Project it — rollup included, live. +CREATE OR REPLACE JSON RELATIONAL DUALITY VIEW cp_subscriber_dv AS +SELECT JSON { + '_id' : s.subscriber_id, + 'msisdn' : s.msisdn WITH UPDATE, + 'plan' : s.plan WITH UPDATE, + 'cycleUsage' : ( SELECT JSON { 'totalMB' : u.total_mb, + 'totalMin': u.total_min, + 'cost' : u.cost } + FROM cp_subscriber_usage u WITH NOUPDATE + WHERE u.subscriber_id = s.subscriber_id ) +} FROM cp_subscribers s WITH INSERT UPDATE DELETE; + +SELECT JSON_SERIALIZE(data PRETTY) AS subscriber_document +FROM cp_subscriber_dv WHERE JSON_VALUE(data,'$._id') = 'S-001'; diff --git a/labs/converged-modeling-patterns/patterns/02-computed/03-parity.js b/labs/converged-modeling-patterns/patterns/02-computed/03-parity.js new file mode 100644 index 0000000..de27c55 --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/02-computed/03-parity.js @@ -0,0 +1,37 @@ +// ============================================================================ +// Pattern 02 · Computed · CROSS-API PARITY (mongosh) +// The SAME subscriber document — with its live rollup — read through the SQL +// duality view (cp_subscriber_dv, injected as $SQL_RESULT) and through the MongoDB +// API. Byte-equal after canonicalizing JSON and ignoring _metadata. Non-zero exit +// on mismatch. +// ============================================================================ +function canon(x) { + if (x === null || x === undefined) return null; + if (Array.isArray(x)) return x.map(canon).sort((a, b) => + JSON.stringify(a) < JSON.stringify(b) ? -1 : 1); + if (typeof x === "object") { + const cn = x.constructor && x.constructor.name; + if (x._bsontype || /Decimal128|Double|Long|Int32/.test(cn || "")) return Number(x.toString()); + const o = {}; + for (const k of Object.keys(x).sort()) { if (k === "_metadata") continue; o[k] = canon(x[k]); } + return o; + } + return x; +} +const eq = (a, b) => JSON.stringify(canon(a)) === JSON.stringify(canon(b)); + +const viaSql = JSON.parse(process.env.SQL_RESULT || "null"); +if (!viaSql) { print("[FAIL] SQL_RESULT not provided by run.sh"); quit(1); } + +const viaMongo = db.cp_subscriber_dv.findOne({ _id: "S-001" }); +if (!viaMongo) { print("[FAIL] MongoDB API returned no document for S-001"); quit(1); } + +if (!eq(viaSql, viaMongo)) { + print("[FAIL] cross-API document mismatch for subscriber S-001"); + print(" SQL lane: " + JSON.stringify(canon(viaSql))); + print(" Mongo lane: " + JSON.stringify(canon(viaMongo))); + quit(1); +} +print("[PASS] cp_subscriber_dv document byte-equal across SQL and MongoDB API (S-001)"); +print(" cycleUsage.totalMB via Mongo lane = " + viaMongo.cycleUsage.totalMB); +quit(0); diff --git a/labs/converged-modeling-patterns/patterns/02-computed/README.md b/labs/converged-modeling-patterns/patterns/02-computed/README.md new file mode 100644 index 0000000..659c9e7 --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/02-computed/README.md @@ -0,0 +1,61 @@ +# Pattern 02 — Computed + +**Telecom.** Show a subscriber's current-cycle usage instantly on the account page, +and rank the top talkers for the ops dashboard. + +> Keep the read win. Stop paying for it with a whole-document rewrite on every event. + +## The document bet + +The Computed pattern bakes a rollup onto the document: compute once on write, read +it a thousand times for free. The math is real — a million reads an hour against a +thousand writes an hour means precomputing "divides the work by a thousand." Store +`cycleUsage` on the subscriber and the account page is a single lookup. + +## Where the needle flips + +Usage is not written once. Every Call Detail Record re-ticks the rollup, and each +re-tick re-reads and **rewrites the whole subscriber document** — the storage engine +never edits a block in place, so the entire leaf page is re-serialized into a new +block on every append. On a hot subscriber that is a write storm on one document, +and the counter becomes a contention hotspot. The pattern's own escape hatch — +counter-sharding into N documents and fanning the read back in — leaves the write +amplification exactly where it was. + +And the Top-N dashboard gets no help at all: with the rollup buried inside each +document, ranking the top talkers means **SUM → SORT → LIMIT across the whole +collection on every load.** At book scale that is the query that melts down. + +## The converged softening + +Two moves, both keeping the read cheap: + +1. **CDRs are append-only rows.** One small insert per event — no parent to rewrite, + no hot-document contention. A maintained summary carries the rollup and is kept + current **in the same transaction** by a row trigger: *Computed, with a staleness + window of zero.* (Declarative equivalent: a materialized view `REFRESH FAST ON + COMMIT` over a CDR mview log.) +2. **Hot Top-N becomes an index range scan.** A descending index on the summary's + usage column turns "top talkers" into an O(log n) seek plus `FETCH FIRST N` — no + SUM, no SORT, no full-collection scan. + +This is the shape behind the field result on exactly this workload: a landing-page +Top-N that ran **60 seconds → 500 milliseconds**, ACID, with no precompute job, no +change streams, and no eventual-consistency window. Want the document shape at the +API? A duality view projects the subscriber with the live rollup included. + +## In this folder + +| File | What it shows | +|---|---| +| `01-document-model.sql` | Baked `cycleUsage`; each CDR rewrites the whole subscriber doc; Top-N is a full scan | +| `02-converged.sql` | Append-only CDRs + trigger-maintained summary (staleness 0) + descending Top-N index + duality projection | +| `03-parity.js` | Reads `cp_subscriber_dv` (rollup included) via the MongoDB API and asserts byte-equality with the SQL lane | +| `_capture.sql` | Helper: emits the SQL-lane document for the parity check | + +## Validated + +Both lanes run clean on **Oracle AI Database 26ai Free (`23.26.3-faststart`)**. Cross-API +parity passes: the subscriber document with its live rollup is identical through SQL and +the MongoDB API. +Run with `../../run.sh 02-computed`. diff --git a/labs/converged-modeling-patterns/patterns/02-computed/_capture.sql b/labs/converged-modeling-patterns/patterns/02-computed/_capture.sql new file mode 100644 index 0000000..f309ae4 --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/02-computed/_capture.sql @@ -0,0 +1,7 @@ +-- Capture the subscriber document as seen from SQL (duality view cp_subscriber_dv), +-- serialized to one JSON string, for cross-API parity against the MongoDB API. +SET HEADING OFF PAGESIZE 0 FEEDBACK OFF VERIFY OFF TRIMSPOOL ON +SET LINESIZE 32767 LONG 100000000 LONGCHUNKSIZE 1000000 +SELECT JSON_SERIALIZE(data RETURNING CLOB) +FROM cp_subscriber_dv +WHERE JSON_VALUE(data, '$._id') = 'S-001'; diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.js b/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.js new file mode 100644 index 0000000..44f8197 --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.js @@ -0,0 +1,41 @@ +// ============================================================================ +// Pattern 03 · Bucket · THE DOCUMENT MODEL in the MongoDB lane (mongosh) +// The $push bucket: each reading grows the bucket document and re-updates its +// counters, so the storage engine re-serializes the WHOLE (growing) document on +// every append — the canonical write-amplification. Runnable illustration. +// Run via run.sh (Mongo lane) or: mongosh "" --file 01-document-model.js +// ============================================================================ +const C = db.bk_bucket_js; +C.drop(); + +// One bucket per machine per hour; starts empty. +C.insertOne({ _id: "M-100|TEMP|2026-08-01T10", machineId: "M-100", metric: "TEMP", + hourStart: "2026-08-01T10:00:00Z", count: 0, sum: 0, max: null, readings: [] }); + +// Readings arrive. Each one is a $push + counter update — one whole-document +// rewrite per reading. On a hot sensor this bucket marches at the 16 MB ceiling. +const arrivals = [ + { ts: "2026-08-01T10:00:05Z", val: 88.4 }, + { ts: "2026-08-01T10:00:10Z", val: 89.1 }, + { ts: "2026-08-01T10:00:15Z", val: 91.7 } +]; +for (const r of arrivals) { + C.updateOne({ _id: "M-100|TEMP|2026-08-01T10" }, + { $push: { readings: { ts: r.ts, val: r.val } }, + $inc: { count: 1, sum: r.val }, + $max: { max: r.val } }); +} + +const b = C.findOne({ _id: "M-100|TEMP|2026-08-01T10" }); +print(`bucket after ${b.count} appends: sum=${b.sum} max=${b.max} ` + + `(each append re-serialized the whole document)`); + +// Sanity: the maintained counters reflect the three readings. +const okCount = b.count === 3; +const okMax = Math.abs(b.max - 91.7) < 1e-9; +const okSum = Math.abs(b.sum - 269.2) < 1e-6; +if (!(okCount && okMax && okSum)) { + print(`[FAIL] bucket counters wrong: count=${b.count} sum=${b.sum} max=${b.max}`); + quit(1); +} +print("[OK] document-model bucket built (write-amp illustration)"); diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.sql b/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.sql new file mode 100644 index 0000000..7ffb72c --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.sql @@ -0,0 +1,62 @@ +-- ============================================================================ +-- Pattern 03 · Bucket (time-series) · THE DOCUMENT MODEL (the starting point) +-- Industry: manufacturing / IoT. Access pattern: ingest millions of tiny sensor +-- readings; read back per-machine, per-hour summaries. +-- +-- The document move: don't store a document per reading (millions of tiny docs). +-- Group them into a bucket doc per machine per hour, push each reading into an +-- array, and keep running counters on the bucket. Fewer, fatter documents. +-- +-- THE WRITE-AMPLIFICATION COST -- this is THE canonical write-amp pattern. Each +-- reading is an array $push PLUS a counter re-update, and because the storage +-- engine never edits a block in place, the ENTIRE growing bucket page is +-- re-serialized into a new block on every single append. The bucket only grows, +-- so the rewrite cost climbs all cycle -- and a hot sensor marches its bucket +-- straight at the 16 MB document ceiling, where writes simply start failing. +-- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @01-document-model.sql +-- ============================================================================ + +BEGIN + FOR r IN (SELECT table_name FROM user_tables WHERE table_name = 'BK_SENSOR_DOC') LOOP + EXECUTE IMMEDIATE 'DROP TABLE ' || r.table_name || ' PURGE'; + END LOOP; +END; +/ + +CREATE JSON COLLECTION TABLE bk_sensor_doc; + +-- One bucket: machine M-100, metric TEMP, hour starting 10:00. Starts small. +INSERT INTO bk_sensor_doc VALUES (JSON('{"_id":"M-100|TEMP|2026-08-01T10", + "machineId":"M-100","metric":"TEMP","hourStart":"2026-08-01T10:00:00Z", + "count":0,"sum":0,"max":null,"readings":[]}')); +COMMIT; + +-- Three readings arrive. Each one PUSHES to the array AND re-updates the +-- counters -- and each re-serializes the whole (growing) bucket document. +BEGIN + FOR v IN (SELECT * FROM ( + SELECT 88.4 val, '2026-08-01T10:00:05Z' ts FROM dual UNION ALL + SELECT 89.1 val, '2026-08-01T10:00:10Z' ts FROM dual UNION ALL + SELECT 91.7 val, '2026-08-01T10:00:15Z' ts FROM dual)) LOOP + UPDATE bk_sensor_doc + SET data = JSON_TRANSFORM(data, + APPEND '$.readings' = JSON_OBJECT('ts' VALUE v.ts, 'val' VALUE v.val), + SET '$.count' = JSON_VALUE(data,'$.count' RETURNING NUMBER) + 1, + SET '$.sum' = JSON_VALUE(data,'$.sum' RETURNING NUMBER) + v.val, + SET '$.max' = GREATEST(NVL(JSON_VALUE(data,'$.max' RETURNING NUMBER), v.val), v.val)) + WHERE JSON_VALUE(data,'$._id') = 'M-100|TEMP|2026-08-01T10'; + END LOOP; +END; +/ +COMMIT; +-- ^ 3 whole-document rewrites for 3 readings. At real cadence the bucket is +-- re-serialized on every tick and only gets more expensive as it fills. + +-- The read the pattern optimizes for: one bucket, counters already there. +SELECT JSON_VALUE(data,'$.machineId') AS machine, + JSON_VALUE(data,'$.count' RETURNING NUMBER) AS n, + ROUND(JSON_VALUE(data,'$.sum' RETURNING NUMBER) + / JSON_VALUE(data,'$.count' RETURNING NUMBER), 3) AS avg_temp, + JSON_VALUE(data,'$.max' RETURNING NUMBER) AS max_temp +FROM bk_sensor_doc +WHERE JSON_VALUE(data,'$._id') = 'M-100|TEMP|2026-08-01T10'; diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/02-converged.sql b/labs/converged-modeling-patterns/patterns/03-bucket/02-converged.sql new file mode 100644 index 0000000..5573ec3 --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/03-bucket/02-converged.sql @@ -0,0 +1,82 @@ +-- ============================================================================ +-- Pattern 03 · Bucket (time-series) · THE CONVERGED ALTERNATIVE +-- Stop hand-rolling buckets. Let range partitioning do the amortization the +-- bucket was faking, and let GROUP BY do the rollup. +-- +-- Readings are tiny, append-only rows in an INTERVAL-partitioned table -- Oracle +-- opens a new hourly partition automatically as time advances. Each insert is a +-- single small row: no array to grow, no bucket page to re-serialize, no 16 MB +-- ceiling. The per-hour summary is a GROUP BY over a partition range (the +-- optimizer prunes to just the hours asked for). Want it precomputed? A +-- materialized view rolls it up; want it through the Mongo lane? $sql-in-pipeline +-- runs the same GROUP BY with parallel execution and NO 100 MB stage / 16 MB +-- output caps (see README). Field result for exactly this reshape: a 29s bucket +-- rollup fell to sub-400ms, and the read win was kept without maintaining a bucket. +-- +-- The needle-flip, resolved: the write is a constant-cost single-row insert +-- instead of an ever-growing document rewrite, and there is no document ceiling +-- to march toward. +-- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @02-converged.sql +-- ============================================================================ + +BEGIN + FOR r IN (SELECT table_name FROM user_tables WHERE table_name = 'BK_SENSOR_READINGS') LOOP + EXECUTE IMMEDIATE 'DROP TABLE ' || r.table_name || ' PURGE'; + END LOOP; +END; +/ + +-- Append-only, INTERVAL-partitioned by the hour. New partitions appear on their +-- own as readings cross hour boundaries -- the amortization the bucket faked, +-- done by the engine. +CREATE TABLE bk_sensor_readings ( + reading_id NUMBER GENERATED BY DEFAULT AS IDENTITY, + machine_id VARCHAR2(16) NOT NULL, + metric VARCHAR2(24) NOT NULL, + reading_val NUMBER(12,3) NOT NULL, + reading_ts TIMESTAMP NOT NULL +) +PARTITION BY RANGE (reading_ts) +INTERVAL (INTERVAL '1' HOUR) +( PARTITION p_seed VALUES LESS THAN (TIMESTAMP '2026-08-01 00:00:00') ); + +CREATE INDEX bk_ix_readings ON bk_sensor_readings (machine_id, metric, reading_ts); + +-- Every reading is one small insert. No parent to rewrite; constant cost. +INSERT INTO bk_sensor_readings (machine_id, metric, reading_val, reading_ts) VALUES ('M-100','TEMP',88.4, TIMESTAMP '2026-08-01 10:00:05'); +INSERT INTO bk_sensor_readings (machine_id, metric, reading_val, reading_ts) VALUES ('M-100','TEMP',89.1, TIMESTAMP '2026-08-01 10:00:10'); +INSERT INTO bk_sensor_readings (machine_id, metric, reading_val, reading_ts) VALUES ('M-100','TEMP',91.7, TIMESTAMP '2026-08-01 10:00:15'); +INSERT INTO bk_sensor_readings (machine_id, metric, reading_val, reading_ts) VALUES ('M-100','TEMP',80.2, TIMESTAMP '2026-08-01 11:03:00'); +INSERT INTO bk_sensor_readings (machine_id, metric, reading_val, reading_ts) VALUES ('M-200','TEMP',60.0, TIMESTAMP '2026-08-01 10:30:00'); +COMMIT; + +-- The rollup = GROUP BY over a partitioned range. Same answer the bucket +-- counters gave, computed on read, nothing maintained on write. Asking for a +-- single hour prunes to a single partition. +SELECT machine_id, metric, TRUNC(reading_ts, 'HH24') AS hour_start, + COUNT(*) AS n, + ROUND(AVG(reading_val), 3) AS avg_val, + MAX(reading_val) AS max_val +FROM bk_sensor_readings +GROUP BY machine_id, metric, TRUNC(reading_ts, 'HH24') +ORDER BY machine_id, metric, hour_start; + +-- Precompute it if reads dwarf writes: a summary MV over the same rows. (Add +-- REFRESH FAST ON COMMIT + a materialized view log to make it staleness = 0.) +BEGIN + FOR r IN (SELECT mview_name FROM user_mviews WHERE mview_name = 'BK_HOURLY_MV') LOOP + EXECUTE IMMEDIATE 'DROP MATERIALIZED VIEW ' || r.mview_name; + END LOOP; +END; +/ +CREATE MATERIALIZED VIEW bk_hourly_mv +BUILD IMMEDIATE REFRESH COMPLETE ON DEMAND AS +SELECT machine_id, metric, TRUNC(reading_ts, 'HH24') AS hour_start, + COUNT(*) AS n, SUM(reading_val) AS sum_val, MAX(reading_val) AS max_val +FROM bk_sensor_readings +GROUP BY machine_id, metric, TRUNC(reading_ts, 'HH24'); + +SELECT machine_id, metric, hour_start, n, + ROUND(sum_val/n, 3) AS avg_val, max_val +FROM bk_hourly_mv +ORDER BY machine_id, metric, hour_start; diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/02-sql-in-pipeline.js b/labs/converged-modeling-patterns/patterns/03-bucket/02-sql-in-pipeline.js new file mode 100644 index 0000000..9bec636 --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/03-bucket/02-sql-in-pipeline.js @@ -0,0 +1,28 @@ +// ============================================================================ +// Pattern 03 · Bucket · $sql-IN-PIPELINE through the MongoDB API (mongosh) +// The converged hourly rollup, issued as FULL SQL over the Mongo wire protocol via +// Oracle's own $sql aggregation stage: parallel execution, cost-based optimization, +// and NO 100 MB stage / 16 MB output caps. It reads the converged, INTERVAL- +// partitioned bk_sensor_readings table (created by the SQL lane's 02-converged.sql). +// This is the Mongo-lane developer's on-ramp to the converged rollup — no leaving +// the pipeline, no maintaining a bucket. +// ============================================================================ +const rows = db.aggregate([{ $sql: ` + select json { + 'machineId' : machine_id, + 'metric' : metric, + 'hourStart' : to_char(trunc(reading_ts,'HH24'),'YYYY-MM-DD"T"HH24'), + 'n' : count(*), + 'avg' : round(avg(reading_val),3), + 'max' : max(reading_val) + } + from bk_sensor_readings + group by machine_id, metric, trunc(reading_ts,'HH24') + order by machine_id, metric, trunc(reading_ts,'HH24')` }]).toArray(); + +print("hourly rollup via $sql-in-pipeline (rows returned over the Mongo wire):"); +for (const r of rows) { + print(` ${r.machineId} ${r.metric} ${r.hourStart} n=${r.n} avg=${r.avg} max=${r.max}`); +} +if (rows.length === 0) { print("[FAIL] $sql rollup returned no rows"); quit(1); } +print(`[OK] $sql-in-pipeline returned ${rows.length} rollup rows`); diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/03-parity.js b/labs/converged-modeling-patterns/patterns/03-bucket/03-parity.js new file mode 100644 index 0000000..b73dbe9 --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/03-bucket/03-parity.js @@ -0,0 +1,64 @@ +// ============================================================================ +// Pattern 03 · Bucket · CROSS-LANE PARITY (mongosh) +// Proves the hourly rollup is identical whether issued through SQL*Plus (the SQL +// lane's 02-converged.sql GROUP BY, injected as $SQL_RESULT by run.sh) or through +// the Oracle API for MongoDB via a $sql-in-pipeline stage. Same machine/hour, same +// COUNT/AVG/MAX. Exits non-zero on any mismatch. +// ============================================================================ + +// --- canonicalize: sort keys, sort arrays, coerce BSON numerics, drop _metadata +function canon(x) { + if (x === null || x === undefined) return null; + if (Array.isArray(x)) return x.map(canon).sort((a, b) => + JSON.stringify(a) < JSON.stringify(b) ? -1 : 1); + if (typeof x === "object") { + const cn = x.constructor && x.constructor.name; + if (x._bsontype || /Decimal128|Double|Long|Int32/.test(cn || "")) return Number(x.toString()); + const o = {}; + for (const k of Object.keys(x).sort()) { if (k === "_metadata") continue; o[k] = canon(x[k]); } + return o; + } + if (typeof x === "number") return x; + return x; +} +const eq = (a, b) => JSON.stringify(canon(a)) === JSON.stringify(canon(b)); + +// SQL lane (from sqlplus, via run.sh) vs Mongo lane ($sql over the wire). +const sqlResult = JSON.parse(process.env.SQL_RESULT || "null"); +if (!sqlResult) { print("[FAIL] SQL_RESULT not provided by run.sh"); quit(1); } + +const mongoResult = db.aggregate([{ $sql: ` + select json { + 'machineId' : machine_id, + 'metric' : metric, + 'hourStart' : to_char(trunc(reading_ts,'HH24'),'YYYY-MM-DD"T"HH24'), + 'n' : count(*), + 'avg' : round(avg(reading_val),3), + 'max' : max(reading_val) + } + from bk_sensor_readings + group by machine_id, metric, trunc(reading_ts,'HH24') + order by machine_id, metric, trunc(reading_ts,'HH24')` }]).toArray(); + +if (!eq(sqlResult, mongoResult)) { + print("[FAIL] rollup parity mismatch"); + print(" SQL lane: " + JSON.stringify(canon(sqlResult))); + print(" Mongo lane: " + JSON.stringify(canon(mongoResult))); + quit(1); +} +print(`[PASS] rollup parity: SQL GROUP BY == Mongo $sql (${mongoResult.length} rows, COUNT/AVG/MAX equal)`); + +// Extra signal: the converged rollup for M-100/hour-10 equals the hand-maintained +// document-model bucket counters (from 01-document-model.js). +const bucket = db.bk_bucket_js.findOne({ _id: "M-100|TEMP|2026-08-01T10" }); +if (bucket) { + const cell = mongoResult.find(r => r.machineId === "M-100" && r.hourStart === "2026-08-01T10"); + const bAvg = Math.round((bucket.sum / bucket.count) * 1000) / 1000; + const okN = bucket.count === cell.n, okA = Math.abs(bAvg - cell.avg) < 1e-9, okM = Math.abs(bucket.max - cell.max) < 1e-9; + if (!(okN && okA && okM)) { + print(`[FAIL] bucket vs converged mismatch: bucket{n:${bucket.count},avg:${bAvg},max:${bucket.max}} converged{n:${cell.n},avg:${cell.avg},max:${cell.max}}`); + quit(1); + } + print("[PASS] maintained bucket counters == converged GROUP BY (M-100/hour-10)"); +} +quit(0); diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/README.md b/labs/converged-modeling-patterns/patterns/03-bucket/README.md new file mode 100644 index 0000000..bfa8068 --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/03-bucket/README.md @@ -0,0 +1,56 @@ +# Pattern 03 — Bucket (time-series) + +**Manufacturing / IoT.** Ingest millions of tiny sensor readings; read them back as +per-machine, per-hour summaries. + +> The canonical write-amplification pattern. Let the engine amortize, not your schema. + +## The document bet + +A document per reading means millions of tiny documents. The Bucket pattern groups +them: one bucket document per machine per hour, each reading pushed into an array, +running counters kept on the bucket. Fewer, fatter documents; cheap windowed reads. + +## Where the needle flips + +This is *the* write-amplification pattern. Each reading is an array `$push` **plus** +a counter update, and because the storage engine never edits a block in place, the +**entire growing bucket is re-serialized into a new block on every single append.** +The bucket only grows, so the per-append cost climbs all cycle — and a hot sensor +marches its bucket straight at the **16 MB document ceiling**, where writes simply +start to fail. You built a structure whose write cost increases the more you use it. + +## The converged softening + +Stop hand-rolling buckets. Let **range partitioning** do the amortization the bucket +was faking, and let `GROUP BY` do the rollup: + +- Readings are tiny, append-only rows in an **INTERVAL-partitioned** table — Oracle + opens a new hourly partition on its own as time advances. Each insert is one small + row: no array to grow, no page to re-serialize, no 16 MB ceiling. +- The per-hour summary is a `GROUP BY` over a partition range; asking for one hour + **prunes** to one partition. Reads dwarf writes? A materialized view precomputes it. +- Prefer the Mongo lane? **`$sql`-in-pipeline** runs the same `GROUP BY` with + parallel execution and **no 100 MB stage / 16 MB output caps** — full SQL over the + wire protocol (see the root README). + +Field result for exactly this reshape: a 29-second bucket rollup fell to **sub-400 +milliseconds**, and the read win was kept without maintaining a single bucket. + +## In this folder + +| File | What it shows | +|---|---| +| `01-document-model.sql` | Per-hour bucket doc; each reading `$push` + counter re-serializes the growing bucket | +| `02-converged.sql` | INTERVAL-partitioned readings (constant-cost inserts) + `GROUP BY` rollup + summary MV | +| `01-document-model.js` | The MongoDB-lane `$push` bucket — the same write-amp, runnable in `mongosh` | +| `02-sql-in-pipeline.js` | The hourly rollup as **full SQL over the Mongo wire** via a `$sql`-in-pipeline stage | +| `03-parity.js` | Asserts the Mongo `$sql` rollup == the SQL `GROUP BY` == the maintained bucket counters | +| `_capture.sql` | Helper: emits the SQL-lane rollup for the parity check | + +## Validated + +Both lanes run clean on **Oracle AI Database 26ai Free (`23.26.3-faststart`)**. The +`$sql`-in-pipeline rollup returns over the Mongo wire, and the parity assertion confirms +it equals the SQL `GROUP BY` (same machine/hour COUNT/AVG/MAX). +Run with `../../run.sh 03-bucket`. diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/_capture.sql b/labs/converged-modeling-patterns/patterns/03-bucket/_capture.sql new file mode 100644 index 0000000..a8f3a77 --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/03-bucket/_capture.sql @@ -0,0 +1,17 @@ +-- Capture the SQL-lane hourly rollup (the 02-converged.sql GROUP BY) as ONE JSON +-- array string. run.sh runs this via sqlplus and injects the result into the +-- parity .js as $SQL_RESULT, which compares it to the Mongo $sql rollup. +SET HEADING OFF PAGESIZE 0 FEEDBACK OFF VERIFY OFF TRIMSPOOL ON +SET LINESIZE 32767 LONG 100000000 LONGCHUNKSIZE 1000000 +SELECT JSON_ARRAYAGG( + JSON_OBJECT('machineId' VALUE machine_id, + 'metric' VALUE metric, + 'hourStart' VALUE TO_CHAR(hs,'YYYY-MM-DD"T"HH24'), + 'n' VALUE n, + 'avg' VALUE avg_val, + 'max' VALUE max_val) + ORDER BY machine_id, metric, hs RETURNING CLOB) +FROM ( SELECT machine_id, metric, TRUNC(reading_ts,'HH24') hs, + COUNT(*) n, ROUND(AVG(reading_val),3) avg_val, MAX(reading_val) max_val + FROM bk_sensor_readings + GROUP BY machine_id, metric, TRUNC(reading_ts,'HH24') ); diff --git a/labs/converged-modeling-patterns/patterns/04-subset/01-document-model.sql b/labs/converged-modeling-patterns/patterns/04-subset/01-document-model.sql new file mode 100644 index 0000000..d383c8b --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/04-subset/01-document-model.sql @@ -0,0 +1,57 @@ +-- ============================================================================ +-- Pattern 04 · Subset (hot inline / vertical partition) · THE DOCUMENT MODEL +-- Industry: insurance. Access pattern: the policy page shows the 3 most recent +-- claims instantly; the full claim history is opened rarely. +-- +-- The document move: keep the hot subset (recent N claims) INLINE on the policy +-- doc so the common read touches one document, and push the cold tail into a +-- separate history collection. Keep the working set in RAM. +-- +-- THE WRITE-AMPLIFICATION COST: to keep the inline subset "recent," EVERY new +-- claim must push into the inline array, TRIM the array back to N, AND insert the +-- full claim into the overflow collection -- two writes, plus a whole-document +-- rewrite of the policy, on every claim. You are paying a maintenance write on +-- every claim to serve a full-history read that hardly ever happens. Writes are +-- heavy; the read you optimized for is rare. That is the needle pointing the +-- wrong way. +-- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @01-document-model.sql +-- ============================================================================ + +BEGIN + FOR r IN (SELECT table_name FROM user_tables + WHERE table_name IN ('SB_POLICY_DOC','SB_CLAIM_HISTORY') + ORDER BY table_name) LOOP + EXECUTE IMMEDIATE 'DROP TABLE ' || r.table_name || ' PURGE'; + END LOOP; +END; +/ + +-- sb_policy_doc = policy + inline recent claims (hot); sb_claim_history = cold overflow. +CREATE JSON COLLECTION TABLE sb_policy_doc; +CREATE JSON COLLECTION TABLE sb_claim_history; + +-- Policy P-001 with 3 recent claims inline (oldest -> newest). +INSERT INTO sb_policy_doc VALUES (JSON('{"_id":"P-001","holder":"Dana Holder","product":"AUTO", + "recentClaims":[ + {"claimId":"CL-1001","amount":800}, + {"claimId":"CL-1002","amount":1500}, + {"claimId":"CL-1003","amount":2300}]}')); +COMMIT; + +-- A new claim CL-1004 arrives. To keep the inline subset at N=3 you must: +-- (a) append it to the inline array, (b) trim the oldest, (c) write the full +-- claim to the overflow collection. Three writes for one claim. +-- (a) append newest + (b) trim oldest: rewrites the whole policy document. +UPDATE sb_policy_doc +SET data = JSON_TRANSFORM(data, + APPEND '$.recentClaims' = JSON_OBJECT('claimId' VALUE 'CL-1004', 'amount' VALUE 4200), + REMOVE '$.recentClaims[0]') +WHERE JSON_VALUE(data,'$._id') = 'P-001'; +-- (c) the full claim also goes to the overflow collection: the second write. +INSERT INTO sb_claim_history VALUES (JSON('{"_id":"CL-1004","policyId":"P-001","amount":4200}')); +COMMIT; + +-- The common read the pattern optimizes for: recent claims, one document. +SELECT JSON_VALUE(data,'$._id') AS policy, + JSON_QUERY(data,'$.recentClaims') AS recent_claims_inline +FROM sb_policy_doc WHERE JSON_VALUE(data,'$._id') = 'P-001'; diff --git a/labs/converged-modeling-patterns/patterns/04-subset/02-converged.sql b/labs/converged-modeling-patterns/patterns/04-subset/02-converged.sql new file mode 100644 index 0000000..8304455 --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/04-subset/02-converged.sql @@ -0,0 +1,78 @@ +-- ============================================================================ +-- Pattern 04 · Subset (hot inline / vertical partition) · THE CONVERGED ALTERNATIVE +-- "Stop maintaining the subset. Query it." +-- +-- There is one claims table -- hot and cold live together. A composite index on +-- (policy_id, claim_ts DESC) makes "the recent N" an index range scan that stops +-- after N rows: O(log n) seek, no maintenance write, no overflow collection, no +-- trimming. Every claim is a single append; the "recent" slice is derived on +-- read, not maintained on write. The full policy document -- policy header plus +-- its recent claims -- is assembled at read time with SQL/JSON, so hot and cold +-- are reunited by the query, never by a maintenance job. +-- +-- The needle-flip, resolved: the write goes from three writes + a document +-- rewrite down to one plain insert, and the rare full-history read is just the +-- same query without the FETCH FIRST. The subset stops being state you maintain +-- and becomes a projection you ask for. +-- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @02-converged.sql +-- ============================================================================ + +BEGIN + FOR r IN (SELECT table_name FROM user_tables + WHERE table_name IN ('SB_CLAIMS','SB_POLICIES') + ORDER BY table_name) LOOP + EXECUTE IMMEDIATE 'DROP TABLE ' || r.table_name || ' CASCADE CONSTRAINTS PURGE'; + END LOOP; +END; +/ + +CREATE TABLE sb_policies ( + policy_id VARCHAR2(12) PRIMARY KEY, + holder VARCHAR2(120) NOT NULL, + product VARCHAR2(16) NOT NULL +); + +CREATE TABLE sb_claims ( + claim_id VARCHAR2(12) PRIMARY KEY, + policy_id VARCHAR2(12) NOT NULL REFERENCES sb_policies(policy_id), + amount NUMBER(14,2) NOT NULL, + claim_ts TIMESTAMP DEFAULT SYSTIMESTAMP NOT NULL +); + +-- The index that turns "recent N" into a range scan that stops after N rows. +CREATE INDEX sb_ix_claims_recent ON sb_claims (policy_id, claim_ts DESC); + +INSERT INTO sb_policies VALUES ('P-001','Dana Holder','AUTO'); +INSERT INTO sb_claims VALUES ('CL-1001','P-001', 800, TIMESTAMP '2026-01-10 09:00:00'); +INSERT INTO sb_claims VALUES ('CL-1002','P-001',1500, TIMESTAMP '2026-03-22 09:00:00'); +INSERT INTO sb_claims VALUES ('CL-1003','P-001',2300, TIMESTAMP '2026-05-30 09:00:00'); +-- CL-1004 is just one plain insert -- no trim, no overflow write, no doc rewrite. +INSERT INTO sb_claims VALUES ('CL-1004','P-001',4200, TIMESTAMP '2026-08-01 09:00:00'); +COMMIT; + +-- The hot read: recent 3 claims = index range scan on sb_ix_claims_recent + FETCH +-- FIRST. Nothing was maintained to make this fast. (EXPLAIN PLAN shows the range +-- scan stops after 3 rows -- no sort of the full history.) +SELECT claim_id, amount, claim_ts +FROM sb_claims +WHERE policy_id = 'P-001' +ORDER BY claim_ts DESC +FETCH FIRST 3 ROWS ONLY; + +-- The full policy document -- hot + cold reunited AT READ TIME by SQL/JSON. No +-- inline subset stored, no overflow collection to keep in step. +SELECT JSON_OBJECT( + 'policyId' VALUE p.policy_id, + 'holder' VALUE p.holder, + 'product' VALUE p.product, + 'recentClaims' VALUE ( + SELECT JSON_ARRAYAGG( + JSON_OBJECT('claimId' VALUE claim_id, 'amount' VALUE amount, + 'ts' VALUE TO_CHAR(claim_ts,'YYYY-MM-DD')) + ORDER BY claim_ts DESC RETURNING CLOB) + FROM ( SELECT claim_id, amount, claim_ts FROM sb_claims + WHERE policy_id = p.policy_id + ORDER BY claim_ts DESC FETCH FIRST 3 ROWS ONLY )) + RETURNING CLOB) AS policy_document +FROM sb_policies p +WHERE p.policy_id = 'P-001'; diff --git a/labs/converged-modeling-patterns/patterns/04-subset/README.md b/labs/converged-modeling-patterns/patterns/04-subset/README.md new file mode 100644 index 0000000..8ce690b --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/04-subset/README.md @@ -0,0 +1,48 @@ +# Pattern 04 — Subset (hot inline / vertical partition) + +**Insurance.** The policy page shows the 3 most recent claims instantly; the full +claim history is opened rarely. + +> Stop maintaining the subset. Query it. + +## The document bet + +The Subset pattern keeps the hot slice — the recent N claims — **inline** on the +policy document so the common read touches one document, and pushes the cold tail +into a separate history collection. Keep the working set in RAM; keep the hot read +to a single fetch. + +## Where the needle flips + +To keep the inline subset "recent," **every new claim** has to push into the inline +array, **trim** the array back to N, *and* insert the full claim into the overflow +collection — two writes, plus a whole-document rewrite of the policy, on every +claim. You are paying a maintenance write on **every** write to serve a full-history +read that **hardly ever happens.** Writes are heavy; the read you optimized for is +rare. The needle is pointing the wrong way. + +## The converged softening + +There is **one claims table** — hot and cold live together. A composite index on +`(policy_id, claim_ts DESC)` makes "the recent N" an index range scan that **stops +after N rows**: an O(log n) seek, no maintenance write, no overflow collection, no +trimming. Every claim is a single append. The full policy document — header plus its +recent claims — is assembled **at read time** with SQL/JSON, so hot and cold are +reunited by the query, never by a maintenance job. + +The subset stops being *state you maintain* and becomes *a projection you ask for.* +The rare full-history read is the same query without the `FETCH FIRST`. + +## In this folder + +| File | What it shows | +|---|---| +| `01-document-model.sql` | Recent-N inline + overflow collection; each claim is push + trim + overflow write | +| `02-converged.sql` | One claims table + descending composite index; recent-N via `FETCH FIRST`; doc assembled on read | + +## Validated + +Both scripts run clean on **Oracle AI Database 26ai Free (`23.26.3-faststart`)**. This +pattern stays pure-SQL — a claims table has no natural single Mongo collection to read +against, so there is no Mongo lane here. +Run them with `../../run.sh 04-subset`. diff --git a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/01-document-model.sql b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/01-document-model.sql new file mode 100644 index 0000000..4809a5c --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/01-document-model.sql @@ -0,0 +1,58 @@ +-- ============================================================================ +-- Pattern 05 · Tree / Hierarchy (materialized path) · THE DOCUMENT MODEL +-- Industry: manufacturing. Access pattern: explode a bill of materials -- read a +-- whole subassembly's components fast; ask "what is this part used in?" +-- +-- The document move: store each component with a MATERIALIZED PATH -- the chain +-- of ancestors as a string ("/P-1000/P-1100/P-1110"). A subtree read becomes a +-- left-anchored prefix scan (LIKE '/P-1000/P-1100%'): an index range scan, +-- O(log n). Cheap subtree reads, and that is real. +-- +-- THE WRITE-AMPLIFICATION COST: the path encodes position, so moving one +-- subassembly rewrites the path of EVERY descendant. Re-parent a wheelset and +-- you rewrite the wheelset, the wheel, the spoke, every node beneath it -- write +-- amplification proportional to the size of the subtree, for a single logical +-- move. And a genuine graph question -- "which assemblies use this spoke?" +-- (upward, multi-parent, N hops) -- a downward prefix string simply cannot express. +-- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @01-document-model.sql +-- ============================================================================ + +BEGIN + FOR r IN (SELECT table_name FROM user_tables WHERE table_name = 'TR_BOM_DOC') LOOP + EXECUTE IMMEDIATE 'DROP TABLE ' || r.table_name || ' PURGE'; + END LOOP; +END; +/ + +CREATE JSON COLLECTION TABLE tr_bom_doc; + +-- A bicycle BOM as a tree of materialized paths. +INSERT INTO tr_bom_doc VALUES (JSON('{"_id":"P-1000","name":"Bicycle","path":"/P-1000"}')); +INSERT INTO tr_bom_doc VALUES (JSON('{"_id":"P-1100","name":"Wheelset","path":"/P-1000/P-1100"}')); +INSERT INTO tr_bom_doc VALUES (JSON('{"_id":"P-1110","name":"Wheel","path":"/P-1000/P-1100/P-1110"}')); +INSERT INTO tr_bom_doc VALUES (JSON('{"_id":"P-1111","name":"Spoke","path":"/P-1000/P-1100/P-1110/P-1111"}')); +INSERT INTO tr_bom_doc VALUES (JSON('{"_id":"P-1200","name":"Frame","path":"/P-1000/P-1200"}')); +COMMIT; + +-- The read the pattern optimizes for: everything under the wheelset = one prefix +-- scan. This is the genuine strength of the materialized path. +SELECT JSON_VALUE(data,'$._id') AS part, JSON_VALUE(data,'$.name') AS name +FROM tr_bom_doc +WHERE JSON_VALUE(data,'$.path') LIKE '/P-1000/P-1100%' +ORDER BY JSON_VALUE(data,'$.path'); + +-- --------------------------------------------------------------------------- +-- THE NEEDLE FLIPS HERE. Re-parent the wheelset under the frame. One logical +-- move, but every descendant's path must be rewritten -- a whole-document +-- rewrite per node in the subtree. +-- --------------------------------------------------------------------------- +UPDATE tr_bom_doc +SET data = JSON_TRANSFORM(data, + SET '$.path' = REPLACE(JSON_VALUE(data,'$.path'), + '/P-1000/P-1100', '/P-1000/P-1200/P-1100')) +WHERE JSON_VALUE(data,'$.path') LIKE '/P-1000/P-1100%'; +COMMIT; + +SELECT 'reparent rewrote ' || COUNT(*) || ' descendant docs' AS write_amplification +FROM tr_bom_doc +WHERE JSON_VALUE(data,'$.path') LIKE '/P-1000/P-1200/P-1100%'; diff --git a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/02-converged.sql b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/02-converged.sql new file mode 100644 index 0000000..f78d397 --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/02-converged.sql @@ -0,0 +1,98 @@ +-- ============================================================================ +-- Pattern 05 · Tree / Hierarchy · THE CONVERGED ALTERNATIVE +-- Split the two questions the materialized path was trying to answer at once. +-- +-- TREE structure lives in ADJACENCY EDGES (parent_id -> child_id). Re-parenting +-- is a SINGLE edge update -- the subtree follows automatically because position +-- is not baked into every node. Write amplification for a reorg drops from +-- O(subtree) to O(1). +-- +-- SUBTREE / EXPLOSION reads use native recursion -- CONNECT BY streams the +-- frontier in one pass (emit CONNECT BY or GRAPH_TABLE for hierarchy, never a +-- recursive CTE, which dams each level into an intermediate relation the CBO +-- can barely optimize). +-- +-- GENUINE GRAPH questions -- "which assemblies use this wheel?", multi-parent, +-- N hops, the DAG a downward prefix string cannot express -- use SQL/PGQ +-- GRAPH_TABLE over the SAME rows. No separate graph database to sync. +-- +-- The needle-flip, resolved: the write that the path made expensive (reorg) +-- becomes one row, and the read the path could not do at all (where-used across +-- shared components) becomes one graph match. +-- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @02-converged.sql +-- ============================================================================ + +BEGIN + FOR r IN (SELECT table_name FROM user_tables + WHERE table_name IN ('TR_BOM_EDGES','TR_PARTS') + ORDER BY table_name) LOOP + EXECUTE IMMEDIATE 'DROP TABLE ' || r.table_name || ' CASCADE CONSTRAINTS PURGE'; + END LOOP; +END; +/ + +CREATE TABLE tr_parts ( + part_id VARCHAR2(12) PRIMARY KEY, + name VARCHAR2(60) NOT NULL +); + +-- The tree/DAG is EDGES, not baked paths. One row per parent->child link. +CREATE TABLE tr_bom_edges ( + edge_id NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY, + parent_id VARCHAR2(12) NOT NULL REFERENCES tr_parts(part_id), + child_id VARCHAR2(12) NOT NULL REFERENCES tr_parts(part_id), + qty NUMBER(10) DEFAULT 1 NOT NULL +); +CREATE INDEX tr_ix_edge_parent ON tr_bom_edges (parent_id); +CREATE INDEX tr_ix_edge_child ON tr_bom_edges (child_id); + +INSERT INTO tr_parts VALUES ('P-1000','Bicycle'); +INSERT INTO tr_parts VALUES ('P-1100','Wheelset'); +INSERT INTO tr_parts VALUES ('P-1110','Wheel'); +INSERT INTO tr_parts VALUES ('P-1111','Spoke'); +INSERT INTO tr_parts VALUES ('P-1200','Frame'); +-- P-1300 (Trailer) shares the wheel with the bicycle -- a DAG, not a pure tree. +INSERT INTO tr_parts VALUES ('P-1300','Trailer'); +INSERT INTO tr_bom_edges (parent_id,child_id,qty) VALUES ('P-1000','P-1100',1); +INSERT INTO tr_bom_edges (parent_id,child_id,qty) VALUES ('P-1000','P-1200',1); +INSERT INTO tr_bom_edges (parent_id,child_id,qty) VALUES ('P-1100','P-1110',2); +INSERT INTO tr_bom_edges (parent_id,child_id,qty) VALUES ('P-1110','P-1111',32); +INSERT INTO tr_bom_edges (parent_id,child_id,qty) VALUES ('P-1300','P-1110',2); +COMMIT; + +CREATE OR REPLACE PROPERTY GRAPH tr_bom_graph + VERTEX TABLES ( tr_parts KEY (part_id) LABEL part PROPERTIES (part_id, name) ) + EDGE TABLES ( tr_bom_edges KEY (edge_id) + SOURCE KEY (parent_id) REFERENCES tr_parts (part_id) + DESTINATION KEY (child_id) REFERENCES tr_parts (part_id) + LABEL contains PROPERTIES (qty) ); + +-- READ 1 -- explode the bicycle (all components, any depth): CONNECT BY, one pass. +SELECT LPAD(' ', 2*(LEVEL-1)) || child_id AS component, qty, LEVEL AS depth +FROM tr_bom_edges +START WITH parent_id = 'P-1000' +CONNECT BY PRIOR child_id = parent_id +ORDER SIBLINGS BY child_id; + +-- READ 2 -- where-used: which assemblies contain the wheel? The multi-parent, +-- N-hop question the materialized path could not express. SQL/PGQ, same rows. +SELECT assembly +FROM GRAPH_TABLE (tr_bom_graph + MATCH (a IS part)-[IS contains]->{1,4}(p IS part) + WHERE p.part_id = 'P-1110' + COLUMNS (a.part_id AS assembly)); +-- ^ returns P-1100, P-1000, AND P-1300 (the trailer that shares the wheel). + +-- THE NEEDLE-FLIP, RESOLVED -- re-parent the wheelset under the frame: ONE row. +-- The entire subtree moves with it; no descendant paths to rewrite. +UPDATE tr_bom_edges SET parent_id = 'P-1200' +WHERE parent_id = 'P-1000' AND child_id = 'P-1100'; +COMMIT; + +-- Re-explode: the wheelset (and everything under it) now hangs off the frame, +-- from that single edge change. +SELECT LPAD(' ', 2*(LEVEL-1)) || child_id AS component, LEVEL AS depth +FROM tr_bom_edges +START WITH parent_id = 'P-1000' +CONNECT BY PRIOR child_id = parent_id +ORDER SIBLINGS BY child_id; diff --git a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/README.md b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/README.md new file mode 100644 index 0000000..2c0c768 --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/README.md @@ -0,0 +1,58 @@ +# Pattern 05 — Tree / Hierarchy + +**Manufacturing.** Explode a bill of materials — read a whole subassembly's +components fast — and ask "what is this part used in?" + +> Store the edges. Let the engine traverse. + +## The document bet + +The materialized-path pattern stores each component with its chain of ancestors as a +string: `/P-1000/P-1100/P-1110`. A subtree read becomes a **left-anchored prefix +scan** (`LIKE '/P-1000/P-1100%'`) — an index range scan, O(log n). Cheap subtree +reads, and that part is genuinely good. + +## Where the needle flips + +Two edges, one on write and one on read: + +- **Write.** The path *encodes position*, so moving one subassembly rewrites the path + of **every descendant.** Re-parent a wheelset and you rewrite the wheelset, the + wheel, the spoke, every node beneath it — write amplification **proportional to the + size of the subtree** for a single logical move. +- **Read.** A genuine graph question — "which assemblies use this wheel?", upward, + multi-parent, N hops — a *downward prefix string simply cannot express.* Share one + component across two assemblies and the materialized path breaks: a node now has + more than one path. + +## The converged softening + +Split the two questions the path was trying to answer at once: + +- **Structure lives in adjacency edges** (`parent_id → child_id`). Re-parenting is a + **single edge update** — the subtree follows automatically, because position is not + baked into every node. Reorg write cost drops from O(subtree) to **O(1)**. +- **Subtree / explosion reads use native recursion** — `CONNECT BY` streams the + frontier in one pass. (Emit `CONNECT BY` or `GRAPH_TABLE` for hierarchy, never a + recursive CTE, which dams each level into an intermediate relation the optimizer can + barely optimize.) +- **Genuine graph questions use SQL/PGQ `GRAPH_TABLE`** over the *same rows* — the + where-used, multi-parent, N-hop DAG the prefix string could not express. No separate + graph database to sync. + +The write the path made expensive (reorg) becomes one row; the read the path could +not do at all (where-used across shared components) becomes one graph match. + +## In this folder + +| File | What it shows | +|---|---| +| `01-document-model.sql` | Materialized paths; a re-parent rewrites every descendant's path | +| `02-converged.sql` | Adjacency edges (reorg = one row) + `CONNECT BY` explosion + `GRAPH_TABLE` where-used | + +## Validated + +Both scripts run clean on **Oracle AI Database 26ai Free (`23.26.3-faststart`)**. This +pattern stays pure-SQL — adjacency/graph traversal (`CONNECT BY` / `GRAPH_TABLE`) has no +single-collection Mongo shape, so there is no Mongo lane here. +Run them with `../../run.sh 05-tree-hierarchy`. diff --git a/labs/converged-modeling-patterns/patterns/06-outlier/01-document-model.sql b/labs/converged-modeling-patterns/patterns/06-outlier/01-document-model.sql new file mode 100644 index 0000000..1692109 --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/06-outlier/01-document-model.sql @@ -0,0 +1,64 @@ +-- ============================================================================ +-- Pattern 06 · Outlier (whale documents) · THE DOCUMENT MODEL (the starting point) +-- Industry: financial / wealth management. Access pattern: open an advisor and +-- read their book of clients as one document. +-- +-- The document move: embed the client book on the advisor doc. This is fine for +-- the TYPICAL advisor -- a few dozen to a few hundred clients fits comfortably. +-- +-- THE OUTLIER PROBLEM: a handful of institutional advisors carry 100,000-client +-- books. Their document blows past the 16 MB ceiling, so the pattern adds a +-- `hasExtras` flag, spills the tail into an OVERFLOW collection, and every reader +-- must now branch: "if hasExtras, go fetch the overflow and stitch it back." +-- That is the 16 MB storage-engine limit LEAKING INTO YOUR APPLICATION CODE. The +-- pattern does not solve the outlier -- it ADMITS the model breaks for the fat +-- tail and pushes the special case up into every consumer. +-- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @01-document-model.sql +-- ============================================================================ + +BEGIN + FOR r IN (SELECT table_name FROM user_tables + WHERE table_name IN ('OL_ADVISOR_DOC','OL_ADVISOR_OVERFLOW') + ORDER BY table_name) LOOP + EXECUTE IMMEDIATE 'DROP TABLE ' || r.table_name || ' PURGE'; + END LOOP; +END; +/ + +CREATE JSON COLLECTION TABLE ol_advisor_doc; +CREATE JSON COLLECTION TABLE ol_advisor_overflow; + +-- Typical advisor: whole book embedded, hasExtras=false. The model works. +INSERT INTO ol_advisor_doc VALUES (JSON('{"_id":"A-001","name":"Grace Advisor","hasExtras":false, + "clients":[{"clientId":"C-001","aum":250000}, + {"clientId":"C-002","aum":180000}, + {"clientId":"C-003","aum":420000}]}')); + +-- Whale advisor: 100K-client institutional book. Only the first slice fits in the +-- document; hasExtras=true says "the rest is elsewhere." Now every reader must +-- special-case this advisor. +INSERT INTO ol_advisor_doc VALUES (JSON('{"_id":"A-900","name":"Institutional Desk","hasExtras":true, + "clients":[{"clientId":"C-900001","aum":9000000}, + {"clientId":"C-900002","aum":8500000}]}')); +INSERT INTO ol_advisor_overflow VALUES (JSON('{"_id":"A-900#part-2","advisorId":"A-900", + "clients":[{"clientId":"C-900003","aum":7800000}, + {"clientId":"C-900004","aum":7100000}]}')); +COMMIT; + +-- The read for a TYPICAL advisor: one document, done. +SELECT JSON_VALUE(data,'$._id') AS advisor, + JSON_VALUE(data,'$.hasExtras') AS has_extras, + JSON_QUERY(data,'$.clients') AS clients_inline +FROM ol_advisor_doc WHERE JSON_VALUE(data,'$._id') = 'A-001'; + +-- The read for the WHALE: the application must notice hasExtras and go stitch the +-- overflow back in. The 16 MB limit is now branching logic in every consumer +-- (including the LLM's context builder). +SELECT JSON_VALUE(d.data,'$._id') AS advisor, + JSON_VALUE(d.data,'$.hasExtras') AS has_extras, + JSON_QUERY(d.data,'$.clients') AS clients_page1, + JSON_QUERY(o.data,'$.clients') AS clients_overflow +FROM ol_advisor_doc d +LEFT JOIN ol_advisor_overflow o + ON JSON_VALUE(o.data,'$.advisorId') = JSON_VALUE(d.data,'$._id') +WHERE JSON_VALUE(d.data,'$._id') = 'A-900'; diff --git a/labs/converged-modeling-patterns/patterns/06-outlier/02-converged.sql b/labs/converged-modeling-patterns/patterns/06-outlier/02-converged.sql new file mode 100644 index 0000000..5b609bd --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/06-outlier/02-converged.sql @@ -0,0 +1,81 @@ +-- ============================================================================ +-- Pattern 06 · Outlier (whale documents) · THE CONVERGED ALTERNATIVE +-- "The outlier is just more rows, and the optimizer plans for it." +-- +-- Clients are rows in one table, referenced by advisor. There is no special +-- document shape, no hasExtras flag, no overflow collection, no branch in the +-- reader. The typical advisor's book is projected as a document by a duality +-- view; the institutional whale is the SAME query -- it just returns more rows, +-- and you page them with FETCH FIRST / OFFSET. One table, one access path, one +-- optimizer that already knows how to range-scan a big child set. +-- +-- The needle-flip, resolved: the 16 MB document ceiling never enters the picture, +-- because the book was never one physical document. The fat tail stops being an +-- application special case and becomes ordinary pagination over ordinary rows. +-- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @02-converged.sql +-- ============================================================================ + +BEGIN + FOR r IN (SELECT table_name FROM user_tables + WHERE table_name IN ('OL_CLIENTS','OL_ADVISORS') + ORDER BY table_name) LOOP + EXECUTE IMMEDIATE 'DROP TABLE ' || r.table_name || ' CASCADE CONSTRAINTS PURGE'; + END LOOP; +END; +/ + +CREATE TABLE ol_advisors ( + advisor_id VARCHAR2(12) PRIMARY KEY, + name VARCHAR2(120) NOT NULL +); + +CREATE TABLE ol_clients ( + client_id VARCHAR2(12) PRIMARY KEY, + advisor_id VARCHAR2(12) NOT NULL REFERENCES ol_advisors(advisor_id), + aum NUMBER(18,2) NOT NULL +); +-- The access path that makes a whale's book a range scan, not a scan-the-world. +CREATE INDEX ol_ix_client_advisor ON ol_clients (advisor_id, aum DESC); + +INSERT INTO ol_advisors VALUES ('A-001','Grace Advisor'); +INSERT INTO ol_advisors VALUES ('A-900','Institutional Desk'); +INSERT INTO ol_clients VALUES ('C-001','A-001',250000); +INSERT INTO ol_clients VALUES ('C-002','A-001',180000); +INSERT INTO ol_clients VALUES ('C-003','A-001',420000); +-- The "whale" -- stands in for a 100K-client institutional book. Just more rows. +INSERT INTO ol_clients VALUES ('C-900001','A-900',9000000); +INSERT INTO ol_clients VALUES ('C-900002','A-900',8500000); +INSERT INTO ol_clients VALUES ('C-900003','A-900',7800000); +INSERT INTO ol_clients VALUES ('C-900004','A-900',7100000); +COMMIT; + +-- The typical advisor as a document -- assembled by the duality view over the +-- SAME rows. No special case, no flag. (For a bounded book this is the whole doc.) +CREATE OR REPLACE JSON RELATIONAL DUALITY VIEW ol_advisor_dv AS +SELECT JSON { + '_id' : a.advisor_id, + 'name' : a.name WITH UPDATE, + 'clients' : [ SELECT JSON { 'clientId' : c.client_id, + 'aum' : c.aum WITH UPDATE } + FROM ol_clients c WITH INSERT UPDATE DELETE + WHERE c.advisor_id = a.advisor_id ] +} FROM ol_advisors a WITH INSERT UPDATE DELETE; + +SELECT JSON_SERIALIZE(data PRETTY) AS typical_advisor_document +FROM ol_advisor_dv WHERE JSON_VALUE(data,'$._id') = 'A-001'; + +-- The WHALE -- exact same table, exact same optimizer. You do not stitch an +-- overflow collection; you page ordinary rows. Top 3 holdings for the desk: +SELECT client_id, aum +FROM ol_clients +WHERE advisor_id = 'A-900' +ORDER BY aum DESC +FETCH FIRST 3 ROWS ONLY; + +-- The next page -- OFFSET, same index range scan. This is the whole "outlier" +-- story on a converged engine: pagination, not a special document shape. +SELECT client_id, aum +FROM ol_clients +WHERE advisor_id = 'A-900' +ORDER BY aum DESC +OFFSET 3 ROWS FETCH NEXT 3 ROWS ONLY; diff --git a/labs/converged-modeling-patterns/patterns/06-outlier/03-parity.js b/labs/converged-modeling-patterns/patterns/06-outlier/03-parity.js new file mode 100644 index 0000000..af47cd9 --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/06-outlier/03-parity.js @@ -0,0 +1,37 @@ +// ============================================================================ +// Pattern 06 · Outlier · CROSS-API PARITY (mongosh) +// The SAME typical-advisor document (with its embedded client array projected from +// rows) read through the SQL duality view (ol_advisor_dv, injected as $SQL_RESULT) +// and through the MongoDB API. Byte-equal after canonicalizing JSON and ignoring +// _metadata. Non-zero exit on mismatch. +// ============================================================================ +function canon(x) { + if (x === null || x === undefined) return null; + if (Array.isArray(x)) return x.map(canon).sort((a, b) => + JSON.stringify(a) < JSON.stringify(b) ? -1 : 1); + if (typeof x === "object") { + const cn = x.constructor && x.constructor.name; + if (x._bsontype || /Decimal128|Double|Long|Int32/.test(cn || "")) return Number(x.toString()); + const o = {}; + for (const k of Object.keys(x).sort()) { if (k === "_metadata") continue; o[k] = canon(x[k]); } + return o; + } + return x; +} +const eq = (a, b) => JSON.stringify(canon(a)) === JSON.stringify(canon(b)); + +const viaSql = JSON.parse(process.env.SQL_RESULT || "null"); +if (!viaSql) { print("[FAIL] SQL_RESULT not provided by run.sh"); quit(1); } + +const viaMongo = db.ol_advisor_dv.findOne({ _id: "A-001" }); +if (!viaMongo) { print("[FAIL] MongoDB API returned no document for A-001"); quit(1); } + +if (!eq(viaSql, viaMongo)) { + print("[FAIL] cross-API document mismatch for advisor A-001"); + print(" SQL lane: " + JSON.stringify(canon(viaSql))); + print(" Mongo lane: " + JSON.stringify(canon(viaMongo))); + quit(1); +} +print("[PASS] ol_advisor_dv document byte-equal across SQL and MongoDB API (A-001)"); +print(" clients projected via Mongo lane = " + viaMongo.clients.length); +quit(0); diff --git a/labs/converged-modeling-patterns/patterns/06-outlier/README.md b/labs/converged-modeling-patterns/patterns/06-outlier/README.md new file mode 100644 index 0000000..27cef93 --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/06-outlier/README.md @@ -0,0 +1,55 @@ +# Pattern 06 — Outlier (whale documents) + +**Financial / wealth management.** Open an advisor and read their book of clients as +one document. + +> The outlier is just more rows, and the optimizer plans for it. + +## The document bet + +The Outlier pattern tunes the document for the *typical* record and special-cases the +fat tail. Embed the client book on the advisor document — fine for the ordinary +advisor, a few dozen to a few hundred clients fits comfortably. + +## Where the needle flips + +A handful of institutional advisors carry **100,000-client books.** Their document +blows past the **16 MB ceiling**, so the pattern adds a `hasExtras` flag, spills the +tail into an **overflow collection**, and now **every reader must branch**: *"if +hasExtras, go fetch the overflow and stitch it back."* That is the 16 MB +storage-engine limit **leaking into your application code** — and into the LLM's +context builder, which now has to know about the special case too. + +The pattern does not solve the outlier. It **admits the model breaks** for the fat +tail and pushes the special case up into every consumer. + +## The converged softening + +There is no special document shape. Clients are **rows in one table**, referenced by +advisor: + +- The **typical** advisor's book is projected as a document by a **duality view** — + no flag, no branch. +- The institutional **whale** is the *same table, same optimizer* — it just returns + more rows, and you **page** them with `FETCH FIRST` / `OFFSET` over the + `(advisor_id, aum DESC)` index. That is the whole "outlier" story on a converged + engine: ordinary pagination over ordinary rows. + +The 16 MB ceiling never enters the picture, because the book was never one physical +document. The fat tail stops being an application special case. + +## In this folder + +| File | What it shows | +|---|---| +| `01-document-model.sql` | Embedded book + `hasExtras` flag + overflow collection + reader branch | +| `02-converged.sql` | One clients table; duality projects the typical book; the whale is paged rows | +| `03-parity.js` | Reads `ol_advisor_dv` via the MongoDB API and asserts byte-equality with the SQL lane | +| `_capture.sql` | Helper: emits the SQL-lane document for the parity check | + +## Validated + +Both lanes run clean on **Oracle AI Database 26ai Free (`23.26.3-faststart`)**. Cross-API +parity passes: the typical-advisor document (client array projected from rows) is +identical through SQL and the MongoDB API. +Run with `../../run.sh 06-outlier`. diff --git a/labs/converged-modeling-patterns/patterns/06-outlier/_capture.sql b/labs/converged-modeling-patterns/patterns/06-outlier/_capture.sql new file mode 100644 index 0000000..83f8ac8 --- /dev/null +++ b/labs/converged-modeling-patterns/patterns/06-outlier/_capture.sql @@ -0,0 +1,7 @@ +-- Capture the typical advisor document as seen from SQL (duality view +-- ol_advisor_dv), serialized to one JSON string, for cross-API parity. +SET HEADING OFF PAGESIZE 0 FEEDBACK OFF VERIFY OFF TRIMSPOOL ON +SET LINESIZE 32767 LONG 100000000 LONGCHUNKSIZE 1000000 +SELECT JSON_SERIALIZE(data RETURNING CLOB) +FROM ol_advisor_dv +WHERE JSON_VALUE(data, '$._id') = 'A-001'; diff --git a/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html b/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html new file mode 100644 index 0000000..9e3b7e6 --- /dev/null +++ b/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html @@ -0,0 +1,1268 @@ + + + + + + +Model the Domain, Not the Engine + + + + + +
+ + +
+
Workshop 1 · Converged Data Modeling · Oracle AI Database 26ai
+

Model the domain, not the engine

+

Every document pattern you know is a workaround for something the engine couldn't do. This session walks the patterns, finds the physics underneath each one, and shows where a converged engine dissolves the tradeoff instead of paying for it.

+
+
3
performance knobs that decide every model
+
12
document patterns, walked and stress-tested
+
1
engine · one transaction · one optimizer
+
90m
lecture — the lab is where you build it
+
+
+ + +
+
Act 0 · Framing0:02 – 0:05
+

The choice was never "relational or document"

+

For twenty years we've argued models like they were teams to join. They were never teams. They are projections of the same truth, each shaped by what the engine of the day could afford. Change the engine, and the argument changes.

+
+
+
+ The old frame +

Pick a database per workload

+

Normalize here, denormalize there, buy a purpose-built store for each access pattern, and glue them together. Every pattern in the catalog is a coping strategy for one engine's limits — and every glue joint is an integration tax and a consistency gap.

+
+
+ The frame for today +

Model once, project many

+

One canonical form. Many projected shapes — document, graph, vector, relational — served from the same rows, in one transaction, under one optimizer. The pattern doesn't disappear; the cost of choosing it does.

+
+
+
    +
  1. Why converged, why now — the timeline that produced the patterns, and Unified Model Theory.
  2. +
  3. The physics — three knobs, write amplification, and the breakpoint that decides every pattern.
  4. +
  5. The pattern walk — six industries, six hard edges, and how converged softens each one.
  6. +
  7. How you know — the oracle-ai-dev bake-off: reason, then measure where the needle flips.
  8. +
+
+

This is a modeling session, not a product pitch. The rule we're testing all day: the workload chooses the shape — you measure, you don't guess.

+
+ + +
+
Act 1 · Why converged, why now0:05 – 0:09
+

Data pressure through the ages

+

Every era's dominant model was the right bet for that era's bottleneck. The patterns we argue about weren't wrong — they were bets placed against a constraint that has since moved.

+
+
+ + + + + + + + + + + 1960s–70s + IMS · hierarchical + constraint: + navigate by pointer, + storage is scarce + + + + + 1980s–2000s + Relational · Codd + constraint: + correctness & storage — + normalize, join at read + + + + + 2009–2020 + Distributed NoSQL + constraint: + scale-out on cheap disk — + denormalize, avoid joins + + + + + Now + Converged · UMT + constraint lifts: + one source, + every shape + + +
IMS optimized for scarce storage and pointer navigation. Codd traded storage for correctness. NoSQL traded correctness for scale-out. Each move solved the previous era's pain — and inherited a new one.
+
+
+

The document patterns you use every day were invented in the third box — bets against a distributed engine that couldn't join, couldn't transact across shards, and re-serialized a whole record to touch one field. Hold that thought.

+
+ + +
+
Act 1 · Why converged, why now0:09 – 0:12
+

Why we ever denormalized: the economics flipped

+

Normalization is a storage-saving technique from an era when storage was the expensive resource. That era ended. But the reflexes it created — and the reflexes the next era created — are still driving models.

+
+
+
+

Then: storage dear, joins cheap enough

+

Disk cost real money, so you stored each fact once and reassembled it with joins. Codd's normal forms are, at bottom, a deduplication discipline.

+
+
+

Now: storage cheap, compute & latency dear

+

Storage is nearly free; the scarce resources are CPU cycles, network hops, and human milliseconds. So you pre-shape data for the read — denormalize at read time.

+
+
+
+ The move the industry missed +

The right response to cheap storage isn't "throw away the normalized truth." It's "keep the normalized truth, and pay cheap storage to also materialize the shapes each consumer wants." Denormalization becomes a projection, not a fork. You get read-time shape without giving up write-time correctness — because the engine maintains both.

+
+
+

Denormalization was always about spending the cheap resource to save the dear one. The mistake was making it a one-way, hand-maintained copy instead of an engine-maintained projection.

+
+ + +
+
Act 1 · Why converged, why now0:12 – 0:15
+

Codd already drew the map

+

Normalized relational is the canonical form — the minimal, non-redundant statement of the facts. Everything else a consumer wants is a view over it. Codd's own relational algebra defined the projections; we just stopped materializing them where they hurt.

+
+
+ + + + + + + + + Canonical Form + normalized · one source of truth + + + + + + + + + Document + Graph + Vector + Relational + + projection = a declarative shape mapping, maintained by the engine + +
Codd also warned against the alternative: scattering the same facts across independent stores, each with its own truth. That's polyglot persistence — and he named the failure mode before it had a marketing category.
+
+
+

Model the domain in canonical form. Project the access. The document is a projection. The graph is a projection. The vector index is a projection. One truth, many shapes.

+
+ + +
+
Act 1 · Why converged, why now0:15 – 0:18
+

Polyglot persistence: five stores, five versions of the truth

+

"Purpose-built" sounds disciplined. In practice it means the same fact lives in five engines with five consistency models — and nothing owns the reconciliation. That was tolerable when a human read the answer. It is not tolerable when an AI acts on it.

+
+
+
+

The integration tax

+

Every cross-store request pays serialization, a network hop, and an auth handshake. Chains of them dominate latency and become the thing you spend your quarter debugging.

+
+
+

The consistency gap

+

The document store, the search index, and the vector store converge eventually. Between writes they disagree. Which copy did the model just read?

+
+
+

The AI failure mode

+

Feed a model stale + conflicting facts and it doesn't error — it confidently hallucinates. When it then takes an action, the stale context becomes a business liability.

+
+
+
+

State Vector Dissonance: the vector index reflects the world as of the last embed job; the operational tables reflect the world as of this transaction. RAG retrieves from the first and reasons as if it were the second. The wider the gap, the more confident the wrong answer.

+
+
+

AI didn't create this flaw — it removed our tolerance for it. Immediate consistency across vectors, documents, graph, and relational stops being a nicety and becomes a correctness requirement.

+
+ + +
+
Act 1 · Why converged, why now0:18 – 0:20
+

Unified Model Theory: the vocabulary for the rest of the day

+

UMT is just Codd's insight, made operational and given names. Five terms — once you have them, every modeling decision in this deck has a precise place to live.

+
+ + + + + + + + + +
TermWhat it isIn practice
Canonical FormThe normalized, non-redundant truthYour base tables — modeled to the domain, not the screen
Projected ShapeThe form a consumer wants to readA document, a graph, a vector, a flat rowset
ProjectionThe declarative mapping between themA duality view, a materialized view, an index
Access SurfaceThe API the consumer speaksSQL, SQL/JSON, SQL/PGQ, the MongoDB wire protocol
Access DimensionThe pattern the query expressesPoint read, range, aggregate, traverse, similarity
+
+

Model once. Project as documents, graphs, time series, or relations. Serve every consumer from one source of truth. That sentence is the whole theory — the rest is physics and tradeoffs.

+
+ + +
+
Act 1 · Why converged, why now0:20 – 0:22
+

One query, four models, one transaction

+

The theory only earns its keep if the engine can serve every projection together. Here relational, JSON, graph, and vector answer a single question — no hops, no copies, no eventual anything.

+
+
+

Find the 5 parties nearest a query embedding, tier from their JSON profile, reachable through ≤3 control hops

+
SELECT p.name,
+       JSON_VALUE(p.profile, '$.tier')                -- JSON projection
+       VECTOR_DISTANCE(p.embedding, :q, COSINE) AS score  -- vector
+FROM   parties p
+WHERE  p.party_id IN (
+         SELECT owner FROM GRAPH_TABLE ( ownership          -- graph
+           MATCH (a) -[:CONTROLS]->{1,3} (b)
+           WHERE a.party_id = :root
+           COLUMNS (b.party_id AS owner) ) )
+ORDER BY score
+FETCH FIRST 5 ROWS ONLY;                            -- relational
+
+
+

Four access dimensions, one statement, one consistency model, one security boundary. This is the payoff of "model once, project many" — and it's the standard every pattern in the next hour is measured against.

+
+ + +
+
Act 2 · The physics0:22 – 0:26
+

Three knobs decide every model

+

Strip away the vocabulary and every modeling decision — embed or reference, precompute or query — turns on three measurable quantities. Set these, and the model is half-chosen for you.

+
+
+ + + + + + 1 · Diversity + how many distinct + access patterns? + + + + + + 2 · Read / Write + which side of the + ratio dominates? + + + + + + 3 · Update % + locality + what fraction changes, + and where does it land? + + +
Knob 3 is the one document modeling under-weights: not just how often you write, but where the write lands inside the shape. That's write amplification — and it's the whole ballgame.
+
+
+

Diversity of access · read/write ratio · update % and where it lands. High diversity wants projections. Read-heavy wants precomputation. But knob 3 can veto both — which is where the patterns come from.

+
+ + +
+
Act 2 · The physics0:26 – 0:29
+

Why the patterns exist: write amplification

+

Every document pattern in the catalog is, underneath, a reaction to one physical fact: in a document engine, touching one field can rewrite the whole record. Understand this and the patterns stop being folklore.

+
+
+ + + + + + + one large document + + + + update ONE field + + + + + forces + re-serialize the ENTIRE leaf page + + + + + + + + + + + document-level +   lock held + + marches toward +   the 16 MB cap + + +
Copy-on-write leaf pages (WiredTiger): the write cost scales with document size, not with the size of your change. A 2 MB document costs 2 MB to touch — every time, for a one-byte edit.
+
+
+

The bigger and hotter the document, the more every write costs. Bucket, Computed, Subset, Pre-Allocation — they all exist to keep documents small and writes cheap. They are write-amplification management, dressed up as design patterns.

+
+ + +
+
Act 2 · The physics0:29 – 0:31
+

The breakpoint: when precomputing stops paying

+

Every "should I maintain this precomputed shape?" decision reduces to one inequality. Precompute only when the reads you save outweigh the writes you add.

+
+
+ + + read_freq × read_cost + what precomputing saves + > + write_freq × maint_cost + what precomputing costs + +
When the inequality holds, precompute. When it flips, stop maintaining the shape and query it on demand. The pattern isn't good or bad — it's a bet on this inequality at your cardinality.
+
+
+
+

What moves the right side up: more writes, fatter documents, worse write amplification — a subset trimmed on every write to serve a read that rarely happens.

+
+
+

What a cost-based optimizer does: it lowers read_cost — an index-only Top-N, a hash join, parallel scan — so the inequality holds at a shape you never had to hand-maintain.

+
+
+
+

A better optimizer moves the breakpoint. Patterns that "must" be precomputed on a document engine can be queried live on a converged one — because the read side just got cheaper.

+
+ + +
+
Act 2 · The physics0:31 – 0:33
+

Duality doesn't change the knobs — it changes how they get set

+

The document catalog offers two resolutions to every modeling tension: embed or reference. Converged adds a third the catalog never had — project it — and it's the one that dissolves the tradeoff instead of trading one cost for another.

+
+
+
+ Resolution 1 +

Embed

+

Fast reads, but you copy the fact. Every copy is write amplification and an update anomaly waiting to happen. Great until knob 3 turns.

+
+
+ Resolution 2 +

Reference

+

No duplication, but the read now needs $lookup or a second round trip — and the document engine has no optimizer to make that join cheap.

+
+
+ Resolution 3 — new +

Project it

+

Store the fact once in canonical form; let a duality view project it into the document shape, live, maintained by the engine. Read shape without write penalty.

+
+
+
+

Same three knobs. But now embed/reference isn't a permanent architectural fork — it's a projection choice you can change without a migration. The needle you couldn't move before is now a setting.

+
+ + +
+
Act 3 · The pattern walk0:33 – 0:35
+

Six patterns, six industries, one method

+

Each pattern gets the same four beats. We're not asking "is this pattern good?" — we're asking "at what point does its tradeoff flip, and what does converged do at that point?"

+
+
    +
  1. The use case — a real access pattern from a real industry, not a toy.
  2. +
  3. The hard edge — the knob setting where the pattern starts to hurt (almost always knob 3).
  4. +
  5. Where the needle flips — the cardinality or write rate that turns the pattern from clever to costly.
  6. +
  7. The converged softening — the mechanism, with live SQL, that moves the breakpoint.
  8. +
+ + + + + + + + + + +
PatternIndustrySoftened by
Extended ReferenceWealth managementJSON Duality View
ComputedTelecomMV refresh-on-commit · index-only Top-N
Bucket / time-seriesManufacturing IoTPartitioned range · $sql in pipeline
SubsetInsuranceComposite index · FETCH FIRST
Tree / HierarchyManufacturing BOMGRAPH_TABLE · CONNECT BY
OutlierFinancialAdaptive plans · partitioning
+
+

Watch for the refrain: the pattern was a correct bet against a limited engine. Remove the limit and the bet — and its maintenance cost — is optional.

+
+ + +
+
Act 3 · Pattern 1 — Extended Reference0:35 – 0:40
+

Wealth management: the advisor who moved offices

+

To avoid a lookup, the advisor's contact card is embedded in every client and every account document. Reads are instant. Then the advisor changes offices.

+
+
+
+

Document — fan-out update across hundreds of thousands of copies

+
db.clients.updateMany(
+  { "advisor.id": "A-317" },
+  { $set: { "advisor.office": "Leeds" } }
+)
+// same again on accounts, statements,
+// alerts ... every collection that
+// embedded the card. Miss one =
+// an update anomaly the LLM will read.
+
+
+

Converged — project the mutable, copy only the immutable

+
CREATE JSON RELATIONAL DUALITY VIEW client_dv AS
+  Clients @insert @update @delete {
+    _id      : client_id
+    name     : name
+    advisor  : Advisors @noinsert @nodelete {   -- ref, live
+                 id     : advisor_id
+                 office : office
+               }
+  };
+-- advisor moves once, in one row; every
+-- projected client doc reflects it instantly.
+
+
+
+

The needle flips the moment the "reference" field can change. Snapshot the immutable (the trade price at execution); project the mutable (the advisor's current office). One fact, one place, zero fan-out.

+
+ + +
+
Act 3 · Pattern 2 — Computed0:40 – 0:45
+

Telecom: the cycle-usage counter on a hot document

+

Each subscriber doc carries a running cycle-usage rollup so the app never re-aggregates. But every call detail record now re-writes the parent document — a write storm on the hottest docs you own.

+
+
+
+

Document — counter-sharding to survive the write storm

+
// every CDR rewrites the subscriber doc;
+// to spread the heat you split the counter
+// into N shard-docs, then fan-in on read:
+db.usage_shards.aggregate([
+  { $match: { sub: "S-9" } },
+  { $group: { _id: "$sub",
+              bytes: { $sum: "$bytes" } } }
+])  // wrote once, now read N docs to total it
+
+
+

Converged — the rollup with staleness = 0

+
CREATE MATERIALIZED VIEW mv_cycle_usage
+  REFRESH FAST ON COMMIT AS          -- engine maintains it
+SELECT subscriber_id,
+       SUM(bytes) AS cycle_bytes,
+       COUNT(*)    AS cdr_count
+FROM   cdr
+GROUP BY subscriber_id;
+-- "Computed", but transactional and current.
+
+
+
+

Value-add — the hot Top-N: "top 20 subscribers by usage this cycle" is agony in a document engine (re-sort millions, or maintain a leaderboard doc). Converged: a composite index on (cycle_bytes DESC, subscriber_id) makes it an index-only scan — 60s → 500ms, fully ACID, nothing to maintain.

+
+
+

The needle flips when write frequency on the parent exceeds the reads the rollup saves. Move the aggregation into an engine-maintained projection and the write storm disappears — the counter is current without touching a hot document.

+
+ + +
+
Act 3 · Pattern 3 — Bucket0:45 – 0:50
+

Manufacturing IoT: the bucket that marches to 16 MB

+

Sensor readings are bucketed per machine, per hour to keep document counts down. It's the canonical write-amplification pattern: every reading $push-es into the bucket and re-serializes it — and hot sensors march the bucket toward the hard cap.

+
+
+
+

Document — the bucket grows, the write cost grows with it

+
db.readings.updateOne(
+  { machine: "M-118", hr: "2026-09-25T14" },
+  { $push: { pts: { t: ts, v: 71.4 } },
+    $inc:  { n: 1 } }
+)
+// each push re-serializes the whole bucket;
+// a busy sensor hits the 16 MB doc cap and
+// analytics can't scale past one bucket.
+
+
+

Converged — partitioned relational time-series

+
-- readings: RANGE-partitioned on ts, auto-interval
+SELECT /*+ PARALLEL(8) */ machine_id,
+       TRUNC(ts,'HH') AS hour,
+       AVG(val), MAX(val), COUNT(*)
+FROM   readings
+WHERE  ts >= SYSTIMESTAMP - INTERVAL '7' DAY
+GROUP BY machine_id, TRUNC(ts,'HH');
+-- append-only inserts; no cap, no re-serialize.
+
+
+
+

Value-add — $sql in the pipeline: a document team keeps its aggregation pipeline and drops full SQL — parallel scan, window functions, joins — into one $sql stage. The heavy analytic that timed out as a pipeline runs to completion with no 16 MB / 100 MB pipeline caps. Scale-out parallelism, mid-pipeline.

+
+
+

The needle flips on the hottest sensors — exactly the ones you care about. Append-only inserts have flat write cost; the rollup is a GROUP BY over a partition range, parallelized by the optimizer, not by you.

+
+ + +
+
Act 3 · Pattern 4 — Subset0:50 – 0:55
+

Insurance: the recent-claims subset nobody reads

+

A policy document keeps the 10 most recent claims inline for a fast summary; cold history lives elsewhere. Claims arrive constantly, so you push-and-trim on every write — to serve a full read that happens rarely.

+
+
+
+

Document — maintain the subset on every write

+
db.policies.updateOne(
+  { _id: "P-42" },
+  { $push: { recentClaims: {
+      $each:  [ newClaim ],
+      $sort:  { ts: -1 },
+      $slice: 10 } } }   // trim to 10
+)
+// write amplification on the write path to
+// optimize a read path that's mostly idle.
+
+
+

Converged — stop maintaining it; query it

+
-- composite index: (policy_id, event_ts DESC)
+SELECT claim_id, amount, event_ts
+FROM   claims
+WHERE  policy_id = :id
+ORDER BY event_ts DESC
+FETCH FIRST 10 ROWS ONLY;
+-- index-only, O(log n) seek + 10-row scan.
+-- a duality view reunites hot + cold on read.
+
+
+
+

Subset is a bet that reads dwarf writes. When they don't, you're paying the write side to optimize a read that hardly fires. A pre-sorted composite index gives the same instant Top-N with zero write-path cost.

+
+ + +
+
Act 3 · Pattern 5 — Tree / Hierarchy0:55 – 1:00
+

Manufacturing: the bill of materials you have to re-parent

+

A BOM stored as a materialized path makes "everything under this assembly" a fast prefix scan. Then engineering re-parents a subassembly — and you rewrite the path of every descendant. And "which assemblies use part X?" a prefix can't answer at all.

+
+
+
+

Document — re-parent rewrites the whole subtree

+
// move subassembly SA-7 under A-2:
+db.bom.updateMany(
+  { path: /^root\.A-1\.SA-7/ },
+  [ { $set: { path: { $replaceOne: {
+        input: "$path",
+        find:  "root.A-1.SA-7",
+        replacement: "root.A-2.SA-7" } } } } ]
+)  // write amp ∝ size of the subtree
+
+
+

Converged — trees stay cheap, graphs become possible

+
-- explosion: every descendant of an assembly
+SELECT part_id, LEVEL depth FROM bom
+START WITH parent_id = :asm
+CONNECT BY PRIOR part_id = parent_id;
+
+-- reverse, N-hops: which assemblies use a part?
+SELECT * FROM GRAPH_TABLE ( bom_graph
+  MATCH (p) <-[:USED_IN]-{1,} (a)
+  WHERE p.part_id = :part
+  COLUMNS (a.part_id) );
+-- re-parent = ONE edge update.
+
+
+
+

A path encodes one traversal direction and pays to maintain it. Split the concern: let the tree be edges (re-parent is a single row), and let genuine graph questions be graph queries — the prefix trick never could express them.

+
+ + +
+
Act 3 · Pattern 6 — Outlier1:00 – 1:05
+

Financial: the mega-advisor who breaks the model

+

99% of advisors have a few hundred clients and embed fine. Then there's the institutional book with 100,000 clients. The Outlier pattern adds a flag, an overflow collection, and an if in your application — the 16 MB limit leaking into your code.

+
+
+
+

Document — the model admits it breaks for the fat tail

+
const a = db.advisors.findOne({_id: id})
+let clients = a.clients
+if (a.hasOverflow) {                 // the leak
+  clients = clients.concat(
+    db.overflow.find({advisor: id})
+              .toArray())
+}
+// two code paths, two failure modes,
+// forever — because one advisor is big.
+
+
+

Converged — the outlier is just more rows

+
-- advisor_clients partitioned/indexed by advisor
+SELECT client_id, market_value
+FROM   advisor_clients
+WHERE  advisor_id = :whale
+ORDER BY market_value DESC
+FETCH FIRST 100 ROWS ONLY;
+-- CBO adapts the plan for the whale vs the
+-- typical advisor. One query. No branch.
+
+
+
+

There is no fat tail when the row is the unit, not the document. Embed the bounded common case, reference the overflow, and let a duality view re-join them — but on a relational base the outlier never needed special-casing at all. The optimizer plans for it.

+
+ + +
+
Act 3 · The rest of the catalog1:05 – 1:09
+

The rest of the catalog, at speed

+

The remaining patterns split cleanly into two piles: those that survive as optional conveniences, and those that become obsolete the moment the engine changes.

+
+
+
+ Survive — now optional +

Polymorphic — heterogeneous rows coexist; a multivalue index spans them. Attribute — sparse key/value arrays get a real index instead of a scan. Schema-Versioning — IS JSON + a discriminator; a view papers over versions. Document-Versioning → temporal validity / Flashback gives you history for free.

+
+
+ Obsolete — artifacts of a limit +

Approximation — hand-rolled counters replaced by native APPROX_COUNT_DISTINCT. Pre-Allocation — padding a document so it won't move on disk was an MMAPv1 artifact; it vanished the moment the storage engine changed. The cleanest proof that patterns are bets against an engine, not laws of modeling.

+
+
+
+

Pre-Allocation is the tell. Nobody decided it was wrong — the engine changed and it evaporated. That's every pattern's eventual fate when the constraint it fought is lifted.

+
+ + +
+
Act 3 · The honest edge1:09 – 1:13
+

Where the document model still wins

+

This is not "relational beats document." If it were a pitch, I'd skip this slide. Some workloads are genuinely document-shaped — and forcing a duality view on them would be the same mistake in the other direction.

+
+
+
+

The white-hot shopping cart

+

Tiny, self-contained, written constantly, read by exactly one owner, no cross-entity query. Model it as a single collection keyed cart#sku — small inserts and deletes, no write amplification, no join anyone needs.

+

Do not wrap it in a duality view. There's no canonical form fighting to get out.

+
+
+

The rule

+

Reach for a projection when a fact is shared, queried many ways, or changes under you. Leave it embedded when it's private, uniform, and self-contained.

+

Duality is a tool, not a hammer. A single collection is not a duality view.

+
+
+
+

The credibility of everything in this deck rests on this slide. The workload chooses the shape — and sometimes it chooses a plain document. The point was never one model; it was refusing to pay for a model the workload didn't ask for.

+
+ + +
+
Act 4 · How you know where the needle flips1:13 – 1:17
+

Don't argue the model — bake it off

+

Every slide so far named a breakpoint. How do you find yours? You don't reason your way to it — you reason your way to the candidates, then measure. This is the oracle-ai-dev method.

+
+
+ + + + + + + + + Reproducethe real schema + + Generate dataat true cardinality + + Build D0–D4candidate shapes + + Measureread AND writecost + + Breakpointwhere the winnerflips + + + + + + + + +
D0 = as-is · D1 = normalized · D2 = embedded/document · D3 = hybrid (relational + JSON columns) · D4 = projected via duality. Same data, same engine, same queries — only the shape varies.
+
+
+

Two rules that catch every bad instinct:  ① Writes are access patterns too — a shape that wins reads and loses writes hasn't won.  ② A win at the wrong scale is not a win — measure at production cardinality or you're tuning a toy.

+
+
+

Reason to the candidates; measure to the decision. The bake-off is how "I think we should embed this" becomes "at 40M rows and this write rate, D3 wins by 6×, and here's the crossover."

+
+ + +
+
Act 4 · How you know where the needle flips1:17 – 1:20
+

Two engagements where the room's taste was wrong

+

Both anonymized, both measured at production cardinality. In both, the model people argued for lost to the model the numbers picked.

+
+
+
baseline / argued-for measured winner
+
+
Global bankheavy aggregation query
+
+
30.0s
+
28×
+
+
1.0s  (rewrite alone)
+
+
+
Global bankelected hybrid model (rel + JSON)
+
+
30.0s
+
1667×
+
+
18ms
+
+
+
Wealth-mgmt platform40 queries, average
+
+
0.829s
+
−81%
+
+
0.159s  (40/40 faster)
+
+
+
+

Global bank: the biggest win — 28× — needed no new model at all, just a rewrite; the elected shape was a hybrid, not the pure document the room wanted. Wealth-mgmt: a query that timed out came back at 0.39s. The room's taste was wrong twice. The measurement wasn't.

+
+ + +
+
Act 4 · How you know where the needle flips1:20 – 1:23
+

And sometimes the document shape wins — on the same engine

+

Measurement cuts both ways. The honest result isn't "relational always wins" — it's "shape per pattern, one engine." Here's the case that proves the method isn't rigged.

+
+
+
+

Entitlements: array-containment

+

"Which resources can this principal touch?" is an array-containment query. Modeled across a 27-table normalized schema it's a join thicket. Modeled as a document with an indexed array, on the same converged engine, it ran ~9–15× faster.

+
+
+

The 90/10, honestly

+

~90% of queries are happy on a document shape; ~10% desperately need joins, aggregation, or graph. The win isn't picking a side — it's serving both shapes from one source of truth, each query on the shape that suits it.

+
+
+
+

The converged argument is not "always relational." It's that one engine can hold the canonical form and project whatever shape each access pattern wants — and the measurement, not the meeting, decides which.

+
+ + +
+
Act 5 · Close1:23 – 1:26
+

What "converged" has to mean

+

"Multi-model" is a marketing word — most products meaning several engines behind one logo. Converged is a physical claim. Five tests separate the two:

+
+
+

One transaction boundary

A single ACID commit spans document, relational, graph, and vector — not a saga across services.

+

One optimizer

A cost-based optimizer that plans across models, not a separate planner per store.

+

One consistency model

No eventual gap between the vector index and the row it describes.

+

One governance domain

One auth model, one audit trail, one patch cycle, one attack surface.

+

Shared access surfaces

SQL, SQL/JSON, SQL/PGQ — and the Mongo wire protocol — over the same rows.

+

The test

If any answer is "that's a different service," it's polyglot with a shared bill — not converged.

+
+
+

Every softening in this deck depended on these five holding at once. Remove any one and you're back to integration tax and consistency gaps — the problems the patterns were coping with in the first place.

+
+ + +
+
Act 5 · Close1:26 – 1:28
+

Five questions for any architecture — including yours

+

Take these back to your own systems. They work on any stack, any vendor. If you can't answer them, that's the finding.

+
+
    +
  1. Where is your canonical form? If the answer is "in five places," you have no canonical form — you have five copies negotiating.
  2. +
  3. What projected shapes do your consumers actually need? Document, graph, vector, flat — list them per consumer.
  4. +
  5. What access dimensions? Point read, range, aggregate, traverse, similarity — which ones, how often?
  6. +
  7. What's your projection latency? Synchronous = zero lag. Async CDC = seconds to minutes of disagreement. Which can your use case tolerate?
  8. +
  9. What consistency does your AI need? Eventual consistency is a hallucination-risk setting. Is that the setting you meant to choose?
  10. +
+
+

Question 4 is the quiet one. Most "converged" claims fail on projection latency — the shapes exist, but they're minutes stale. Sync projection is the difference between a view and a copy.

+
+ + +
+
Act 5 · Close1:28 – 1:30
+

Bring your slowest query. We'll measure it.

+

You don't have to believe any number in this deck. The whole method is built to be reproduced — so let's reproduce it on your workload.

+
+
+
+

The design review

+

Bring a schema and your five slowest queries. We reproduce the schema, generate data at your cardinality, build the candidate shapes, and let the numbers pick the model — the bake-off, on your data.

+
+
+

What comes next

+

Workshop 3 — the lab: "one restaurant, every model," hands-on, where you build the projections yourself. Companion repo: every pattern in this deck as runnable, validated SQL on 26ai Free.

+
+
+

Model the domain, not the engine. Project the access. Measure the tradeoff — don't argue it.

+
+

Companion repo: converged-modeling-patterns · runnable on Oracle AI Database 26ai Free · every .sql validated on a live container

+
+ +
+
+ CONVERGED DATA MODELING · WORKSHOP 1 + ← → to navigate · Home/End to jump · N for notes + + 1 / 27 + +
+
+ + + + diff --git a/labs/converged-modeling-patterns/run.sh b/labs/converged-modeling-patterns/run.sh new file mode 100755 index 0000000..a9f8fa0 --- /dev/null +++ b/labs/converged-modeling-patterns/run.sh @@ -0,0 +1,105 @@ +#!/usr/bin/env bash +# ============================================================================ +# One command: bring up Oracle AI Database 26ai Free (+ ORDS + the Oracle API for +# MongoDB) and validate every pattern across BOTH lanes. +# +# ./run.sh # bring up the DB and run all patterns, both lanes +# ./run.sh 03-bucket # run just one pattern (dir name under patterns/) +# +# SQL lane: each *.sql runs through sqlplus. WHENEVER SQLERROR makes any ORA-/PLS- +# error a non-zero exit -> reported FAIL. +# Mongo lane: each *.js runs through mongosh, in-container. A *parity.js compares the +# SQL-lane result (captured from _capture.sql and injected as $SQL_RESULT) +# against the same data read through the MongoDB API; it exits non-zero on +# mismatch -> reported FAIL. +# +# Idempotent: rerun as often as you like. SQL-only patterns (no *.js) simply skip +# the Mongo lane. +# ============================================================================ +set -uo pipefail +cd "$(dirname "$0")" + +ORACLE_PASSWORD="${ORACLE_PASSWORD:-Sandbox2026}" +CMP_PASSWORD="${CMP_PASSWORD:-CmpUser2026}" +SVC=oracle +ADMIN="system/${ORACLE_PASSWORD}@localhost:1521/FREEPDB1" +APP="cmp_user/${CMP_PASSWORD}@localhost:1521/FREEPDB1" +# $external must reach mongosh literally, so it is escaped for the host shell here +# and expanded only inside the container as the value of $MURI. +MURI="mongodb://cmp_user:${CMP_PASSWORD}@localhost:27017/CMP_USER?authMechanism=PLAIN&authSource=\$external&retryWrites=false&loadBalanced=true" +FILTER="${1:-}" + +dexec() { docker compose exec -T "$SVC" bash -lc "$1"; } # in-container bash +sqlpipe(){ docker compose exec -T "$SVC" bash -lc "sqlplus -s -L $APP"; } # stdin -> sqlplus + +echo "==> Bringing up the stack (docker compose up -d) ..." +ORACLE_PASSWORD="$ORACLE_PASSWORD" CMP_PASSWORD="$CMP_PASSWORD" docker compose up -d + +echo -n "==> Waiting for the database " +until dexec "echo 'select 1 from dual;' | sqlplus -s -L $ADMIN" 2>/dev/null | grep -q '^[[:space:]]*1'; do + echo -n '.'; sleep 5 +done +echo " ready." + +echo "==> Granting schema privileges (idempotent) ..." +dexec "sqlplus -s -L $ADMIN" >/dev/null <<'SQL' +GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE PROCEDURE, CREATE TRIGGER, + CREATE SEQUENCE, CREATE MATERIALIZED VIEW, CREATE PROPERTY GRAPH, SODA_APP TO cmp_user; +ALTER USER cmp_user QUOTA UNLIMITED ON users; +EXIT +SQL + +echo -n "==> Waiting for the MongoDB API (ORDS) " +mongo_ok=0 +for i in $(seq 1 60); do + if docker compose exec -T -e MURI="$MURI" "$SVC" bash -lc \ + 'echo "quit(0)" | mongosh "$MURI" --quiet --file /dev/stdin' >/dev/null 2>&1; then + mongo_ok=1; break + fi + echo -n '.'; sleep 5 +done +[ "$mongo_ok" = 1 ] && echo " ready." || echo " NOT ready (Mongo-lane scripts will FAIL and be reported)." + +pass=0; fail=0; failed="" + +run_sql() { # $1 = file + echo "---- [SQL] $1" + { echo "WHENEVER SQLERROR EXIT SQL.SQLCODE"; + echo "SET PAGESIZE 50 LINESIZE 200 FEEDBACK ON LONG 8000"; + cat "$1"; } | sqlpipe + if [ "${PIPESTATUS[1]:-1}" -eq 0 ]; then echo " [PASS] $1"; pass=$((pass+1)); + else echo " [FAIL] $1"; fail=$((fail+1)); failed="$failed $1"; fi +} + +run_js() { # $1 = file, $2 = pattern dir + local js="$1" dir="$2" sqlr="" + echo "---- [MONGO] $js" + if [[ "$js" == *parity.js && -f "$dir/_capture.sql" ]]; then + sqlr=$(cat "$dir/_capture.sql" | sqlpipe 2>/dev/null | sed '/^[[:space:]]*$/d' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//') + if [ -z "$sqlr" ]; then echo " [FAIL] $js (SQL capture empty)"; fail=$((fail+1)); failed="$failed $js"; return; fi + fi + docker compose exec -T -e MURI="$MURI" -e SQL_RESULT="$sqlr" "$SVC" \ + bash -lc 'mongosh "$MURI" --quiet --file /dev/stdin' < "$js" + if [ "$?" -eq 0 ]; then echo " [PASS] $js"; pass=$((pass+1)); + else echo " [FAIL] $js"; fail=$((fail+1)); failed="$failed $js"; fi +} + +for d in patterns/*/; do + name="$(basename "$d")" + [ -n "$FILTER" ] && [ "$name" != "$FILTER" ] && continue + echo ""; echo "################ $name ################" + # SQL lane first (creates the tables / duality views the Mongo lane reads). + for f in "$d"01-document-model.sql "$d"02-converged.sql; do + [ -f "$f" ] && run_sql "$f" + done + # Mongo lane, in filename order (01 doc-model, 02 sql-in-pipeline, 03 parity). + for js in "$d"*.js; do + [ -f "$js" ] && run_js "$js" "${d%/}" + done +done + +echo ""; echo "===================================================================" +echo " RESULT: $pass passed, $fail failed (SQL + MongoDB lanes)" +[ -n "$failed" ] && echo " Failed:$failed" +echo "===================================================================" +[ "$fail" -eq 0 ] From 9ceaccd774f0cd1eea58a4c17949c77c6bc38df7 Mon Sep 17 00:00:00 2001 From: Rick Houlihan Date: Wed, 30 Sep 2026 08:36:01 -0500 Subject: [PATCH 02/12] Workshop 1 deck: expand the pattern walk to four slides per pattern Each of the six patterns (Extended Reference, Computed, Bucket, Subset, Tree/Hierarchy, Outlier) now has four slides: the problem (access patterns and the document as built), the model (canonical ERD vs where writes land), where the knobs flip it (illustrative cost model with the break-even and where the document design still wins), and the converged answer (projection flow, SQL from the validated lab, before/after). Speaker notes on every slide. Slides outside the pattern walk are unchanged. 27 -> 45 slides. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01BeoRFyVLAZ7nma6UueR1P6 --- .../converged-data-modeling-workshop1.html | 656 ++++++++++++------ 1 file changed, 451 insertions(+), 205 deletions(-) diff --git a/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html b/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html index 9e3b7e6..d38b7e7 100644 --- a/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html +++ b/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html @@ -308,6 +308,43 @@ .cgroup { grid-template-columns: 1fr; } .cgroup .glabel, .cgroup .delta { grid-row: auto; } } + + /* PATTERNS-CSS — pattern-walk additions (figures, split layouts) */ + :root { --flow: #2563EB; --flow-soft: rgba(37, 99, 235, 0.10); } + @media (prefers-color-scheme: dark) { + :root:not([data-theme="light"]) { --flow: #60A5FA; --flow-soft: rgba(96, 165, 250, 0.16); } + } + :root[data-theme="dark"] { --flow: #60A5FA; --flow-soft: rgba(96, 165, 250, 0.16); } + /* figures scale to the space the slide actually has (SVG letterboxes via viewBox) */ + .pat .body > figure, .pat .split > figure { display: flex; flex-direction: column; justify-content: center; + min-height: 0; min-width: 0; margin: 0; } + .pat .body > figure { flex: 1 1 0; } + .pat .split > figure { height: 100%; } + .pat svg.fig { flex: 1 1 0; min-height: 0; width: 100%; height: 100%; display: block; } + .pat .stack > figure { margin: 0; } + .pat .stack > figure > svg.fig { flex: none; height: auto; } + .pat .body > figure > figcaption, .pat .split > figure > figcaption { flex: none; } + .split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; + align-items: center; width: 100%; max-width: 1140px; margin: 0 auto; flex: 1 1 0; min-height: 0; } + .split.wide-l { grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr); } + .split.wide-r { grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr); } + .split.top { align-items: start; } + .split > figure { align-self: stretch; } + .stack { display: flex; flex-direction: column; gap: 10px; min-width: 0; min-height: 0; } + .pill { white-space: nowrap; } + table.qtable.compact { font-size: 12.5px; } + table.qtable.compact th { padding: 5px 10px; font-size: 10.5px; } + table.qtable.compact td { padding: 6px 10px; } + .facts { display: flex; flex-wrap: wrap; gap: 8px; } + .facts span { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 12px; + background: var(--chip); border-radius: 20px; padding: 3px 11px; color: var(--muted); } + .facts b { color: var(--ink); font-weight: 600; } + pre.code.tight { font-size: clamp(10px, 0.95vw, 12px); line-height: 1.5; padding: 10px 12px; } + .flipnote { border-left: 3px solid var(--flow); background: var(--flow-soft); border-radius: 0 8px 8px 0; + padding: 9px 13px; font-size: 13.5px; color: var(--muted); } + .flipnote b { color: var(--ink); } + aside.notes { display: none; } + /* /PATTERNS-CSS */ @@ -324,6 +361,7 @@

Model the domain, not the engine

1
engine · one transaction · one optimizer
90m
lecture — the lab is where you build it
+ @@ -352,6 +390,7 @@

Model once, project many

This is a modeling session, not a product pitch. The rule we're testing all day: the workload chooses the shape — you measure, you don't guess.

+ @@ -409,6 +448,7 @@

Data pressure through the ages

The document patterns you use every day were invented in the third box — bets against a distributed engine that couldn't join, couldn't transact across shards, and re-serialized a whole record to touch one field. Hold that thought.

+ @@ -433,6 +473,7 @@

Now: storage cheap, compute & latency dear

Denormalization was always about spending the cheap resource to save the dear one. The mistake was making it a one-way, hand-maintained copy instead of an engine-maintained projection.

+ @@ -471,6 +512,7 @@

Codd already drew the map

Model the domain in canonical form. Project the access. The document is a projection. The graph is a projection. The vector index is a projection. One truth, many shapes.

+ @@ -498,6 +540,7 @@

The AI failure mode

AI didn't create this flaw — it removed our tolerance for it. Immediate consistency across vectors, documents, graph, and relational stops being a nicety and becomes a correctness requirement.

+ @@ -518,6 +561,7 @@

Unified Model Theory: the vocabulary for the rest of the day

Model once. Project as documents, graphs, time series, or relations. Serve every consumer from one source of truth. That sentence is the whole theory — the rest is physics and tradeoffs.

+ @@ -542,6 +586,7 @@

One query, four models, one transaction

Four access dimensions, one statement, one consistency model, one security boundary. This is the payoff of "model once, project many" — and it's the standard every pattern in the next hour is measured against.

+ @@ -581,6 +626,7 @@

Three knobs decide every model

Diversity of access · read/write ratio · update % and where it lands. High diversity wants projections. Read-heavy wants precomputation. But knob 3 can veto both — which is where the patterns come from.

+ @@ -626,6 +672,7 @@

Why the patterns exist: write amplification

The bigger and hotter the document, the more every write costs. Bucket, Computed, Subset, Pre-Allocation — they all exist to keep documents small and writes cheap. They are write-amplification management, dressed up as design patterns.

+ @@ -655,6 +702,7 @@

The breakpoint: when precomputing stops paying

A better optimizer moves the breakpoint. Patterns that "must" be precomputed on a document engine can be queried live on a converged one — because the read side just got cheaper.

+ @@ -682,6 +730,7 @@

Project it

Same three knobs. But now embed/reference isn't a permanent architectural fork — it's a projection choice you can change without a migration. The needle you couldn't move before is now a setting.

+ @@ -709,225 +758,441 @@

Six patterns, six industries, one method

Watch for the refrain: the pattern was a correct bet against a limited engine. Remove the limit and the bet — and its maintenance cost — is optional.

+ + + + + +
+
Act 3 · Pattern 1 — Extended Reference · A. The problem0:35 – 0:37
+

Wealth management: one advisor card, 2,700 copies

+

Four consumers render every client with their advisor. To make each screen a single read, the team embedded the advisor card in every client and every account document — the Extended Reference pattern. Reads are instant. Now watch where the writes land.

+
+
+
+
2,400 advisors1.9M clients4.6M accounts4 consumers
+
Access patternWhoRateType
Load client 360portal · copilot600/s avg · 12k/s peakread
Render statementsbatch4.6M / nightread
Advisor office / desk changeops~300 / daywrite · fan-out
Regional reorg: reassign advisorsops~8,000 in a day, 2× / yrwrite · fan-out
Update client contactclient~2k / daywrite
+
+
clients · one document per client{"_id": "C-104233","name": "Ada Okafor","segment": "HNW","advisor": {"id": "A-317","name": "Grace Hopper","office": "Leeds","desk": "+44 113 555 0101"},"accounts": [{ "id": "ACC-88", "type": "ISA","advisor": { "id": "A-317","office": "Leeds" } },{ "id": "ACC-91", "type": "GIA", ... }]}advisor card, copied~790 client docscarry this copycopied again peraccount: ~1,920more copies
+
+
+

The reads are the whole reason for the pattern. The rare advisor edit is the whole cost — one change becomes ~2,700 document rewrites, and a reorg day multiplies it by thousands.

+ +
+ +
+
Act 3 · Pattern 1 — Extended Reference · B. The model0:37 – 0:38
+

Canonical form vs. the copy: where one edit lands

+

Canonical form keeps the advisor's office in one row. Extended Reference copies it into every client and account document — copying the immutable is free; copying the mutable is write amplification.

+
+
CANONICAL FORM — EACH FACT ONCETHE SAME FACT, EMBEDDEDADVISORPKadvisor_idvarchar2full_namevarchar2officevarchar2desk_phonevarchar2regionvarchar2CLIENTPKclient_idvarchar2full_namevarchar2segmentvarchar2FKadvisor_idvarchar2emailvarchar2ACCOUNTPKaccount_idvarchar2FKclient_idvarchar2acct_typevarchar2balancenumberTRADEPKtrade_idvarchar2FKaccount_idvarchar2symbolvarchar2quantitynumberexec_pricenumberadvisors · A-317office: Leeds → Manchester790client docs1,920account docs≈ 2,700 document rewritesper change · not one transactionCanonical form: 1 row updateatomic · every consumer sees itmutable reference data — copying it is what creates write amplificationimmutable snapshot — safe to copy
+
+

Snapshot the immutable, reference the mutable. The trade's execution price belongs in the document; the advisor's office does not.

+ +
+ +
+
Act 3 · Pattern 1 — Extended Reference · C. Where the knobs flip it0:38 – 0:39
+

The needle flips on reorg day, not on an average Tuesday

+

Two knobs say embed: four consumers and fifty million reads a day. The third knob — where the update lands — says every edit touches ~2,700 documents. Put a number on it and the break-even is about 930 changes a day.

+
+
KNOB SETTINGS · THIS WORKLOAD1 · DiversityHigh — 4 consumersportal, CRM, statements andcopilot all read the card2 · Read / writeExtreme read skew5×10⁷ reads/day against~300 advisor edits/day3 · Update localityRare, fans out ×2,700each edit lands on everydocument that copied itDAILY WORK vs ADVISOR CHANGES / DAY · illustrative modelembedding is cheaperprojection is cheaper50M100M200M500M1B101001k10k100kadvisor changes per day (log)work units per day (log)break-even ≈ 930 / daynormal day · 300reorg day · 8,000Embed the cardProject it · duality view, +15% read +
Illustrative cost model, not a benchmark: 5×10⁷ client reads/day; projecting the card adds ~15% to each read; each document rewrite costs 3 work units; ~2,700 documents embed each advisor.
+
+
+

On a normal day embedding is cheaper — the projection's read cost is real. On reorg day the day's work doubles and it's 22M non-atomic rewrites. Model for the day that hurts.

+
- -
-
Act 3 · Pattern 1 — Extended Reference0:35 – 0:40
-

Wealth management: the advisor who moved offices

-

To avoid a lookup, the advisor's contact card is embedded in every client and every account document. Reads are instant. Then the advisor changes offices.

+
+
Act 3 · Pattern 1 — Extended Reference · D. The converged answer0:39 – 0:40
+

Project the mutable: same document, one row to change

+

Store the advisor once and let a JSON Relational Duality View put the card back into the client document on read. The portal keeps its MongoDB driver and its find(); the edit becomes a single-row, single-transaction update.

-
-
-

Document — fan-out update across hundreds of thousands of copies

-
db.clients.updateMany(
-  { "advisor.id": "A-317" },
-  { $set: { "advisor.office": "Leeds" } }
-)
-// same again on accounts, statements,
-// alerts ... every collection that
-// embedded the card. Miss one =
-// an update anomaly the LLM will read.
+
+
+
CANONICAL TABLESPROJECTIONCONSUMERSadvisorsoffice lives hereclientsadvisor_id FKaccountsclient_id FKclient_dvduality viewadvisor @noupdatePortalMongo API find()AI copilotSQL/JSONStatementsSQL batch
+
When to flip back: if the value must be frozen at write time — a trade's execution price, the advisor of record on a signed statement — snapshot it. That's history, not denormalisation.
-
-

Converged — project the mutable, copy only the immutable

-
CREATE JSON RELATIONAL DUALITY VIEW client_dv AS
-  Clients @insert @update @delete {
-    _id      : client_id
-    name     : name
-    advisor  : Advisors @noinsert @nodelete {   -- ref, live
-                 id     : advisor_id
-                 office : office
-               }
-  };
--- advisor moves once, in one row; every
--- projected client doc reflects it instantly.
+
+

Project the mutable — the view assembles the card on read

CREATE JSON RELATIONAL DUALITY VIEW client_dv AS
+SELECT JSON {
+  '_id'      : c.client_id,
+  'advisor'  : ( SELECT JSON { 'id'     : a.advisor_id,
+                                'office' : a.office,
+                                'desk'   : a.desk_phone }
+                 FROM advisors a WITH NOUPDATE   -- referenced, not copied
+                 WHERE a.advisor_id = c.advisor_id )
+} FROM clients c WITH INSERT UPDATE DELETE;
+
+UPDATE advisors SET office = 'Manchester' WHERE advisor_id = 'A-317';
+
Embedded cardDuality projection
Advisor office change~2,700 doc rewrites1 row
Client 360 read1 document fetch1 document, PK join (~+15%)
Reorg day · 8,000 changes~22M rewrites8,000 rows
+
+
+
+

The document shape is unchanged for every consumer. The write went from ~2,700 documents to one row, and from eventual to atomic — paid for with a modest, predictable read cost.

+ +
+ + +
+
Act 3 · Pattern 2 — Computed · A. The problem0:40 – 0:42
+

Telecom: a counter on the hottest document you own

+

The app and the charging system both read the balance. To make that one read, each subscriber document carries a running cycle-usage rollup — the Computed pattern. Then 4 billion CDRs a month arrive, and every one rewrites the parent.

+
+
+
+
12M subscribers4B CDRs / month6k/s peak CDRs400+ CDRs/day, heavy user
+
Access patternWhoRateType
Record a CDRmediation1.5k/s avgwrite · hot doc
Show balance in the appself-care app~25M / dayread
Real-time balance checkcharging~4k/sread · <50 ms
"Top 20 talkers this cycle"ops dashboardevery loadread · sort 12M
Bill runbatch12M / cycleread · batch
+
subscribers · one document per subscriber{"_id": "S-4471902","msisdn": "+1-202-555-0142","plan": "UNLIMITED-5G","addOns": [ "roam-EU", "hotspot-50" ],"devices": [ { "imei": "35-2099", ... } ],"cycle": "2026-09","cycleUsage": {"totalMB": 48213.7,"totalMin": 1284,"cost": 86.42,"cdrCount": 11906},"updatedAt": "2026-09-28T14:02:11Z"}every CDR rewritesthe whole document:400+ times a dayTop-N sorts 12Mdocuments by thisburied field
-

The needle flips the moment the "reference" field can change. Snapshot the immutable (the trade price at execution); project the mutable (the advisor's current office). One fact, one place, zero fan-out.

+

The rollup makes the balance read one document. Every CDR pays for it with a whole-document rewrite — and the busiest subscribers take the most rewrites.

+ +
+ +
+
Act 3 · Pattern 2 — Computed · B. The model0:42 – 0:43
+

Facts vs. the rollup: where every CDR lands

+

In canonical form a CDR is an immutable fact, appended once, and the cycle rollup is one narrow derived row. Embedded, the rollup lives in the subscriber document — so every CDR rewrites it, and sharding the counter only moves the pain to the read.

+
+
CANONICAL FORM — FACTS APPENDED, ROLLUP DERIVEDTHE SAME ROLLUP, EMBEDDEDSUBSCRIBERPKsubscriber_idvarchar2msisdnvarchar2planvarchar2cyclevarchar2CDR · append-onlyPKcdr_idnumberFKsubscriber_idvarchar2mbnumberminutesnumbercostnumbercdr_tstimestampSUBSCRIBER_USAGEPKsubscriber_idvarchar2total_mbnumbertotal_minnumbercostnumberAFTER INSERT trigger+1 counter row, same txnCDR stream1,500/s avg · 6k/s peakS-4471902 · one hot document400+ whole-doc rewrites / dayshard 1shard 2shard 3shard Nbalance read = N reads + SUMa write problem traded for a read oneCanonical: append 1 row+ bump 1 counter row · atomicmutable rollup — every CDR writes itimmutable CDR facts — append, never rewrite
+
+

Append the facts, derive the rollup. The CDR belongs in an append-only table; the running total belongs in a row the engine maintains — not inside the document it rewrites.

+ +
+ +
+
Act 3 · Pattern 2 — Computed · C. Where the knobs flip it0:43 – 0:44
+

The needle flips on the heavy tail, not the average

+

Diversity and reads argue for a precomputed rollup. The third knob — every write lands on one parent document — argues against. Put a number on it: embedding wins below about 4 CDRs a subscriber a day; the heavy user at 400 costs ~2.5× the work.

+
+
KNOB SETTINGS · THIS WORKLOAD1 · DiversityMedium-high — 4 consumersapp, charging, ops dashboardand the bill run2 · Read / writeWrite-heavy on the rollup~30 balance reads/day vs11 CDRs avg · 400+ heavy3 · Update localityEvery write, one parenteach CDR lands on the samehot subscriber documentWORK / SUBSCRIBER / DAY vs CDRs / DAY · illustrative modelembed winsappend + summary is cheaper1003001k3k10k1101001kCDRs per subscriber per day (log)work units / subscriber / day (log)break-even ≈ 4.4 / daylight · 1.5average · 11heavy · 400Embedded rollup · doc rewriteAppend + summary · +30% read +
Illustrative cost model, not a benchmark: 30 balance reads/subscriber/day; a CDR rewrites the ~4 KB document (4 units + hot-doc contention) vs a row insert + counter-row update (2 units); the projected read costs ~30% more.
+
+
+

For light subscribers the embedded rollup is cheaper — the projection's read premium is real. For the heavy tail it's ~2.5× the work, concentrated on the hottest documents.

+
- -
-
Act 3 · Pattern 2 — Computed0:40 – 0:45
-

Telecom: the cycle-usage counter on a hot document

-

Each subscriber doc carries a running cycle-usage rollup so the app never re-aggregates. But every call detail record now re-writes the parent document — a write storm on the hottest docs you own.

+
+
Act 3 · Pattern 2 — Computed · D. The converged answer0:44 – 0:45
+

Append the CDR, maintain the rollup: staleness zero

+

Store each CDR as an append-only row and let a trigger keep a one-row summary current in the same transaction. A descending index makes Top-N a seek, and a duality view hands the app its subscriber document with the rollup inline.

-
-
-

Document — counter-sharding to survive the write storm

-
// every CDR rewrites the subscriber doc;
-// to spread the heat you split the counter
-// into N shard-docs, then fan-in on read:
-db.usage_shards.aggregate([
-  { $match: { sub: "S-9" } },
-  { $group: { _id: "$sub",
-              bytes: { $sum: "$bytes" } } }
-])  // wrote once, now read N docs to total it
+
+
+
CANONICAL TABLESMAINTAINED · PROJECTEDCONSUMERScdrappend-only rowssubscriber_usagethe rollup · 1 rowsubscribersmsisdn · planix_usage_topntotal_mb DESCsubscriber_dvduality viewcycleUsage NOUPDATEBill runSQL over cdrOps Top-Nindex range scanSelf-care appMongo API find()ChargingSQL/JSONtriggersame txn
+
When to flip back: a mostly-read, rarely-written total — light subscribers, a closed cycle's final bill — can live on the document. Compute-on-write is right when writes are rare and don't collide.
-
-

Converged — the rollup with staleness = 0

-
CREATE MATERIALIZED VIEW mv_cycle_usage
-  REFRESH FAST ON COMMIT AS          -- engine maintains it
-SELECT subscriber_id,
-       SUM(bytes) AS cycle_bytes,
-       COUNT(*)    AS cdr_count
-FROM   cdr
-GROUP BY subscriber_id;
--- "Computed", but transactional and current.
+
+

Append the fact, maintain the rollup — staleness zero

-- 1 · each CDR is a small append; the trigger bumps one row
+CREATE TRIGGER trg_usage AFTER INSERT ON cdr FOR EACH ROW BEGIN
+  MERGE INTO subscriber_usage u
+  USING (SELECT :NEW.subscriber_id sid FROM dual) s ON (u.subscriber_id = s.sid)
+  WHEN MATCHED THEN UPDATE SET u.total_mb = u.total_mb + :NEW.mb, ...
+  WHEN NOT MATCHED THEN INSERT ... ; END;
+-- 2 · Top-N is an index range scan, not a sort
+CREATE INDEX ix_usage_topn ON subscriber_usage (total_mb DESC, subscriber_id);
+SELECT subscriber_id, total_mb FROM subscriber_usage ORDER BY total_mb DESC
+FETCH FIRST 20 ROWS ONLY;
+
Embedded rollupAppend + summary
Record a CDRwhole-doc rewrite, hot doc1 insert + 1 counter row
Balance read1 document1 document, PK join (~+30%)
Top 20 talkerssort 12M docs · 60 sindex scan · 500 ms
-
-

Value-add — the hot Top-N: "top 20 subscribers by usage this cycle" is agony in a document engine (re-sort millions, or maintain a leaderboard doc). Converged: a composite index on (cycle_bytes DESC, subscriber_id) makes it an index-only scan — 60s → 500ms, fully ACID, nothing to maintain.

+
+

The rollup is still precomputed and still current. The write went from a whole-document rewrite to two small rows, and Top-N from 60 s to 500 ms (anonymized field result) — for a modest, predictable read cost.

+ +
+ + +
+
Act 3 · Pattern 3 — Bucket · A. The problem0:45 – 0:47
+

Manufacturing IoT: one bucket, 36,000 rewrites

+

18,000 sensors, 40 plants, ~34k readings a second. To avoid billions of tiny documents the team buckets each sensor's hour into one document — an array plus running counters. The dashboard reads one document. Every reading rewrites it.

+
+
+
+
18,000 sensors40 plants~34k/s readings36k per hot bucket
+
Access patternWhoRateType
Ingest a readinggateways~34k/swrite · hot doc
Last-hour machine dashboardline supervisors6/minread · 1 bucket
Shift rollup (8 h)plant managers120/dayread · range
7-day anomaly scan, all sensorsreliability eng.hourlyread · times out
ML feature extractiondata sciencenightlyread · scan
+
+
readings · one bucket per sensor per hour{"_id": "M-118|VIB|2026-09-25T14","machineId": "M-118","metric": "VIB","hourStart": "2026-09-25T14:00:00Z","count": 21604,"sum": 1548212.7,"min": 0.8, "max": 97.3,"readings": [{ "ts": "14:00:00.1", "val": 71.4 },{ "ts": "14:00:00.2", "val": 71.9 },... 21,601 more readings ...{ "ts": "14:36:00.4", "val": 72.2 }]}counters: $inc / $maxrewritten on everysingle reading$push lands here:re-serializes 2.6 MBand it only grows
-

The needle flips when write frequency on the parent exceeds the reads the rollup saves. Move the aggregation into an engine-maintained projection and the write storm disappears — the counter is current without touching a hot document.

+

The bucket buys a one-document dashboard read. It pays with a write whose cost grows with every reading — and the hottest sensors grow fastest.

+ +
+ +
+
Act 3 · Pattern 3 — Bucket · B. The model0:47 – 0:48
+

Immutable readings, mutable bucket

+

In canonical form a reading is an immutable row, inserted once; the hourly counters are derived. The bucket turns those immutable facts into one ever-growing document that every reading rewrites.

+
+
CANONICAL FORM — EACH READING ONCE, NEVER REWRITTENONE HOT SENSOR-HOUR, BUCKETEDPLANTPKplant_idvarchar2namevarchar2regionvarchar2MACHINEPKmachine_idvarchar2FKplant_idvarchar2modelvarchar2line_nonumberSENSOR_READINGSPKreading_idnumberFKmachine_idvarchar2metricvarchar2reading_valnumberreading_tstimestampHOURLY_MV · derivedmachine_idvarchar2hour_startdatennumbersum_valnumbermax_valnumberGROUP BY hour · on readM-118 · spindle vibration10 readings / s1 bucket documentcount · sum · min · max · readings[ ]every reading rewrites all of itO(n²) rewrite volume36,000 rewrites · 4.3 MB bucket≈ 78 GB if each push rewrites itCanonical: 36,000 row inserts≈ 9 MB · appended to one partitionrewritten on every reading — the bucket's counters and arrayimmutable reading — inserted once, never rewritten
+
+

Immutable facts, mutable container. The write amplification comes from the bucket, not from the data — derive the counters instead of storing them.

+ +
+ +
+
Act 3 · Pattern 3 — Bucket · C. Where the knobs flip it0:48 – 0:49
+

Slow sensors love buckets. Hot sensors break them.

+

Diversity is medium and the workload is write-heavy, but the knob that bites is locality: every reading lands on the same growing document. Rewrite cost grows with n², so the break-even is about 900 readings per bucket.

+
+
KNOB SETTINGS · THIS WORKLOAD1 · DiversityMedium — 4 read shapesdashboard, shift rollup,anomaly scan, ML features2 · Read / writeWrite-heavy~3B readings in per day;reads are rollups, not points3 · Update localityEvery write, same documenteach reading rewrites thegrowing hour bucketBYTES PER SENSOR-HOUR vs READINGS / BUCKET · illustrative modelbucket is cheaperrows are cheaper100 KB10 MB1 GB100 GB1001k10k100kreadings per bucket (log)bytes touched per sensor-hour (log)break-even ≈ 9001 / min · 601 / s · 3,600hot · 36,000Bucket · $push + countersRows · append, GROUP BY on read16 MB cap ≈ 140k +
Illustrative cost model, not a benchmark: 120 B per reading; each $push re-serializes the whole bucket (s·n²/2 per hour); a row insert adds ~130 B of header, index and redo; a live dashboard reads the hour 360×/h, paying ~150 B more per row than one 2 KB-overhead document fetch.
+
+
+

Below ~900 readings the one-document read wins — bucket the slow sensors. At 1/s the bucket costs ~2.7× the rows; the hot spindle ~22×, marching at the 16 MB cap.

+
- -
-
Act 3 · Pattern 3 — Bucket0:45 – 0:50
-

Manufacturing IoT: the bucket that marches to 16 MB

-

Sensor readings are bucketed per machine, per hour to keep document counts down. It's the canonical write-amplification pattern: every reading $push-es into the bucket and re-serializes it — and hot sensors march the bucket toward the hard cap.

+
+
Act 3 · Pattern 3 — Bucket · D. The converged answer0:49 – 0:50
+

Let the partition be the bucket, and put SQL in the pipeline

+

Store each reading as an append-only row in an hourly INTERVAL partition; roll up with GROUP BY or a summary MV. The document team keeps db.aggregate() and runs the heavy rollup as a $sql stage — the lab asserts it equals the SQL result.

-
-
-

Document — the bucket grows, the write cost grows with it

-
db.readings.updateOne(
-  { machine: "M-118", hr: "2026-09-25T14" },
-  { $push: { pts: { t: ts, v: 71.4 } },
-    $inc:  { n: 1 } }
-)
-// each push re-serializes the whole bucket;
-// a busy sensor hits the 16 MB doc cap and
-// analytics can't scale past one bucket.
+
+
+
CANONICAL TABLESSUMMARYCONSUMERSmachinesplant · line · modelsensor_readingsappend-only rowsINTERVAL 1 hGROUP BY hourpartition-prunedparallelhourly_mvsummary MVDashboardsSQL · last hourAnomaly scanMongo API $sqlShift reportSQL · MV
+
When to flip back: slow sensors. At one reading a minute the bucket holds 60 readings and a live dashboard reads it hundreds of times an hour — below ~900 readings per bucket, the one-document read wins.
-
-

Converged — partitioned relational time-series

-
-- readings: RANGE-partitioned on ts, auto-interval
-SELECT /*+ PARALLEL(8) */ machine_id,
-       TRUNC(ts,'HH') AS hour,
-       AVG(val), MAX(val), COUNT(*)
-FROM   readings
-WHERE  ts >= SYSTIMESTAMP - INTERVAL '7' DAY
-GROUP BY machine_id, TRUNC(ts,'HH');
--- append-only inserts; no cap, no re-serialize.
+
+

Let the partition do the bucketing — and keep the pipeline

CREATE TABLE sensor_readings ( machine_id VARCHAR2(16), metric VARCHAR2(24),
+  reading_val NUMBER(12,3), reading_ts TIMESTAMP )
+PARTITION BY RANGE (reading_ts) INTERVAL (INTERVAL '1' HOUR)
+( PARTITION p0 VALUES LESS THAN (TIMESTAMP '2026-08-01 00:00:00') );
+
+// MongoDB API: the 7-day rollup as one $sql stage
+db.aggregate([{ $sql: `
+  select json { 'machineId' : machine_id, 'n' : count(*), 'max' : max(reading_val),
+                'hour' : to_char(trunc(reading_ts,'HH24'),'YYYY-MM-DD"T"HH24') }
+  from sensor_readings where reading_ts >= systimestamp - interval '7' day
+  group by machine_id, metric, trunc(reading_ts,'HH24')` }])
+
Hour bucketPartitioned rows
Ingest, hot sensor at :59rewrite a 4.3 MB docinsert one ~120 B row
Last-hour dashboard1 document fetchpruned range scan (~2× read bytes)
Bucket rollup · anonymized field result29 s< 400 ms
-
-

Value-add — $sql in the pipeline: a document team keeps its aggregation pipeline and drops full SQL — parallel scan, window functions, joins — into one $sql stage. The heavy analytic that timed out as a pipeline runs to completion with no 16 MB / 100 MB pipeline caps. Scale-out parallelism, mid-pipeline.

+
+

Ingest becomes a constant-cost insert with no 16 MB ceiling. An anonymized field reshape took a 29 s bucket rollup to under 400 ms — paid for with a heavier last-hour read.

+ +
+ + +
+
Act 3 · Pattern 4 — Subset · A. The problem0:50 – 0:52
+

Insurance: ten claim events inline, rewritten on every event

+

Agents and the customer app open the policy summary 2M times a day. To make it one read, the team kept the 10 most recent claim events inline and the full history in a second collection — the Subset pattern. Now watch the write path.

+
+
+
+
8M policies10 events inline30k events / day4 consumers
+
Access patternWhoRateType
Record a claim eventadjusters · ops~30k / daywrite · hot doc
Policy summary pageagents · app~2M / dayread
Full claim historyadjusters · audit~5k / dayread · 2nd query
Fraud review across claimsSIU analystsnightlyread · cross-doc
Catastrophe (CAT) surgeclaims ops~300k / daywrite · hot doc
+
+
policies · one document per policy{"_id": "POL-7730142","holder": "R. Alvarez","product": "HOME","coverages": [ ... ],"recentEvents": [{ "claim": "CLM-5581", "type": "PAYMENT","amount": 2400, "ts": "09-27T14:02" },{ "claim": "CLM-5581", "type": "NOTE" },... 8 more · sorted · trimmed to 10]}rewritten on every event$push · $sort · $slice: 10~30k times a dayclaim_history · one document per event{ "_id": "EV-90311", "policy": "POL-7730142","claim": "CLM-5581", "type": "PAYMENT" }…and a second writesame event, another placeto keep in step
-

The needle flips on the hottest sensors — exactly the ones you care about. Append-only inserts have flat write cost; the rollup is a GROUP BY over a partition range, parallelized by the optimizer, not by you.

+

The summary read is why the pattern exists. Every claim event pays for it twice — a push-sort-trim rewrite of the policy document plus a history insert, in two places that must agree.

+ +
+ +
+
Act 3 · Pattern 4 — Subset · B. The model0:52 – 0:53
+

An append-only event, turned into a document rewrite

+

Canonically a claim event is an immutable fact, inserted once. The Subset pattern turns it into two writes: a push-sort-trim rewrite of the policy document and a history insert — to maintain a list an index could simply read.

+
+
CANONICAL FORM — EACH EVENT ONCEONE CLAIM EVENT, TWO MODELSPOLICYPKpolicy_idvarchar2holdervarchar2productvarchar2premiumnumberstatusvarchar2CLAIMPKclaim_idvarchar2FKpolicy_idvarchar2loss_datedatestatusvarchar2reservenumberCLAIM_EVENT · append-onlyPKevent_idvarchar2FKclaim_idvarchar2FKpolicy_idvarchar2event_typevarchar2amountnumberevent_tstimestampINDEXpolicy_id, event_ts DESCclaim event · CLM-5581payment · $2,400policy docpush · sort · trimwhole doc rewrittenhistory docinsert full eventsecond place2 writes, 2 places, per eventthe hot doc absorbs every oneCanonical form: 1 row insert+ 1 index entry · the recent 10is derived on read, not maintainedmutable claim state — updated in placeimmutable event facts — append once, never rewritten
+
+

The recent ten is a query, not a fact. Store the event once; a (policy_id, event_ts DESC) index keeps it pre-sorted — the price is one index entry per insert and a short range scan per read.

+ +
+ +
+
Act 3 · Pattern 4 — Subset · C. Where the knobs flip it0:53 – 0:54
+

The subset wins on a sunny day and loses in the storm

+

Two knobs favour the subset: four consumers and a 67 : 1 read skew. The third — every event rewrites the parent — sets the price. Break-even is about 83k events a day; a CAT day runs at 300k.

+
+
KNOB SETTINGS · THIS WORKLOAD1 · DiversityHigh — 4 consumersagents, customer app, adjustersand fraud all read claim events2 · Read / writeRead-heavy, ~67 : 12M summary reads/day against~30k claim events/day3 · Update localityEvery event hits the parenteach event rewrites the policydoc and writes history tooDAILY WORK vs CLAIM EVENTS / DAY · illustrative modelthe subset is cheaperquerying is cheaper3M5M10M10k100k1Mclaim events per day (log)work units per day (log)break-even ≈ 83k / daynormal day · 30kCAT day · 300kSubset · push + trim + historyQuery it · FETCH FIRST 10, +25% read +
Illustrative cost model, not a benchmark: 2×10⁶ summary reads/day; assembling the summary on read (policy row + index range scan, FETCH FIRST 10) adds ~25% per read; a policy-document rewrite costs 6 work units, a row or document insert 2; full-history reads cost the same in both models.
+
+
+

At 30k events a day the subset is cheaper — the query's read premium is real. On a CAT day it costs ~40% more, all of it on the hottest documents.

+
- -
-
Act 3 · Pattern 4 — Subset0:50 – 0:55
-

Insurance: the recent-claims subset nobody reads

-

A policy document keeps the 10 most recent claims inline for a fast summary; cold history lives elsewhere. Claims arrive constantly, so you push-and-trim on every write — to serve a full read that happens rarely.

+
+
Act 3 · Pattern 4 — Subset · D. The converged answer0:54 – 0:55
+

Stop maintaining the subset: insert once, read the top ten

+

Store every claim event once in one table. A (policy_id, event_ts DESC) index makes the recent ten a range scan that stops after ten rows, and SQL/JSON assembles the same policy document on read. Hot and cold are one table.

-
-
-

Document — maintain the subset on every write

-
db.policies.updateOne(
-  { _id: "P-42" },
-  { $push: { recentClaims: {
-      $each:  [ newClaim ],
-      $sort:  { ts: -1 },
-      $slice: 10 } } }   // trim to 10
-)
-// write amplification on the write path to
-// optimize a read path that's mostly idle.
+
+
+
CANONICAL TABLESPROJECTIONCONSUMERSpoliciesheader, onceclaim_eventsappend · DESC indexclaimsstatus · reservepolicy summarySQL/JSONFETCH FIRST 10full historysame query,no FETCH FIRSTAgents · appSQL/JSON docAdjustersSQL · auditFraud reviewSQL analytics
+
When to flip back: if the inline slice is frozen at write time and rarely changes — the three coverages printed on the declarations page — keep it in the document. A slice that changes on every event is a query.
-
-

Converged — stop maintaining it; query it

-
-- composite index: (policy_id, event_ts DESC)
-SELECT claim_id, amount, event_ts
-FROM   claims
-WHERE  policy_id = :id
-ORDER BY event_ts DESC
-FETCH FIRST 10 ROWS ONLY;
--- index-only, O(log n) seek + 10-row scan.
--- a duality view reunites hot + cold on read.
+
+

Stop maintaining the subset — query it

CREATE INDEX ce_recent ON claim_events (policy_id, event_ts DESC);
+INSERT INTO claim_events VALUES (:ev, :clm, :pol, 'PAYMENT', 2400, SYSTIMESTAMP);
+-- ↑ the whole write.  ↓ the policy summary, assembled on read
+SELECT JSON_OBJECT('policyId' VALUE p.policy_id,
+  'recentEvents' VALUE (SELECT JSON_ARRAYAGG(
+      JSON_OBJECT('type' VALUE event_type, 'amount' VALUE amount)
+      ORDER BY event_ts DESC)
+    FROM (SELECT * FROM claim_events e WHERE e.policy_id = p.policy_id
+          ORDER BY e.event_ts DESC FETCH FIRST 10 ROWS ONLY)))
+FROM policies p WHERE p.policy_id = :pol;
+
SubsetQuery it
Claim eventdoc rewrite + history insert1 row + 1 index entry
Policy summary read1 document fetchindex range scan, 10 rows (~+25%)
CAT day · 300k events300k doc rewrites300k inserts
-

Subset is a bet that reads dwarf writes. When they don't, you're paying the write side to optimize a read that hardly fires. A pre-sorted composite index gives the same instant Top-N with zero write-path cost.

+

The app gets the same policy document. Each claim event went from a document rewrite plus a history insert to one row — paid for with a modest, predictable read cost.

+
- -
-
Act 3 · Pattern 5 — Tree / Hierarchy0:55 – 1:00
-

Manufacturing: the bill of materials you have to re-parent

-

A BOM stored as a materialized path makes "everything under this assembly" a fast prefix scan. Then engineering re-parents a subassembly — and you rewrite the path of every descendant. And "which assemblies use part X?" a prefix can't answer at all.

+ +
+
Act 3 · Pattern 5 — Tree / Hierarchy · A. The problem0:55 – 0:57
+

Manufacturing BOM: the path is fast until engineering moves it

+

An equipment maker stores 1.2M parts with a materialized path, so exploding any assembly is one prefix scan. Then ~200 change orders a day re-parent subassemblies, and quality asks the reverse question: which products contain part X?

-
-
-

Document — re-parent rewrites the whole subtree

-
// move subassembly SA-7 under A-2:
-db.bom.updateMany(
-  { path: /^root\.A-1\.SA-7/ },
-  [ { $set: { path: { $replaceOne: {
-        input: "$path",
-        find:  "root.A-1.SA-7",
-        replacement: "root.A-2.SA-7" } } } } ]
-)  // write amp ∝ size of the subtree
+
+
+
1.2M parts12 levels deep~200 ECOs / day10–40k parts per move
+
Access patternWhoRateType
Explode an assemblyMRP · service~2M/dayread
Cost rollup up the treecostingnightlyread
Where-used: which products contain X?sourcing~5k/dayread · reverse
Recall impact analysisqualityburstsread · reverse
ECO: re-parent a subassemblyengineering~200/daywrite · fan-out
-
-

Converged — trees stay cheap, graphs become possible

-
-- explosion: every descendant of an assembly
-SELECT part_id, LEVEL depth FROM bom
-START WITH parent_id = :asm
-CONNECT BY PRIOR part_id = parent_id;
-
--- reverse, N-hops: which assemblies use a part?
-SELECT * FROM GRAPH_TABLE ( bom_graph
-  MATCH (p) <-[:USED_IN]-{1,} (a)
-  WHERE p.part_id = :part
-  COLUMNS (a.part_id) );
--- re-parent = ONE edge update.
+
parts · one document per part{"_id": "P-88213","name": "pump seal kit","rev": "C","unitCost": 14.20,"path": "root.A-1.SA-7.HP-3","depth": 4,"usedIn": ["HP-3", "HP-9", "VB-12"],"rollupCost": 14.20,"supplier": "S-417"}path = positionan ECO above it rewritesthis and every descendantsecond structure forwhere-used: parent list,kept in sync by app code
+
+
+

The path makes the downward read one index scan. It makes every re-parent a subtree-sized rewrite — and it can't answer where-used without a second, hand-synced structure.

+ +
+ +
+
Act 3 · Pattern 5 — Tree / Hierarchy · B. The model0:57 – 0:58
+

Store the edge, derive the position

+

Canonical form stores one row per parent → child link; position is computed by walking edges. The materialized path stores position in every part — so moving one subassembly rewrites the whole subtree beneath it.

+
+
CANONICAL FORM — EDGES, NOT BAKED PATHSTHE SAME MOVE, AS PATHSPARTPKpart_idvarchar2namevarchar2revvarchar2unit_costnumberFKsupplier_idvarchar2BOM_EDGEPKedge_idnumberparent_idvarchar2FKchild_idvarchar2qtynumberECOPKeco_idvarchar2FKedge_idnumberfrom_parentvarchar2released_attimestampparent → child · a part can have many parents (DAG)ECO-4471 · re-parent SA-7A-1 → A-21SA-7 itself10 – 40kdescendants≈ subtree-size rewritesper ECO · not one transactionAdjacency edge: 1 row updatethe subtree follows · atomicthe column an ECO writes — structure, not positionimmutable change history — safe to copy
+
+

A path is a derived fact stored N times. The edge is the fact stored once — an ECO changes one row and the subtree follows.

+ +
+ +
+
Act 3 · Pattern 5 — Tree / Hierarchy · C. Where the knobs flip it0:58 – 0:59
+

The needle flips on the size of the move

+

Two knobs favour the path: four read questions and a read-heavy day. The third — every re-parent lands on the whole subtree — decides it. Charge the recursive read its real premium and break-even sits near 1,000 parts per move.

+
+
KNOB SETTINGS · THIS WORKLOAD1 · DiversityHigh — 4 questionsexplode, roll up, where-used,recall impact2 · Read / writeRead-heavy~2M explosions/day against~200 ECOs/day3 · Update localityLands on every descendantone re-parent rewrites10 to 40,000 part pathsDAILY WORK vs PARTS PER MOVED SUBTREE · illustrative modelpath is cheaperedges are cheaper2M5M10M20M101001k10kparts in the moved subtree (log)work units per day (log)break-even ≈ 1,000 partsroutine ECO · 50module move · 10kMaterialized pathAdjacency edges · CONNECT BY, +30% read +
Illustrative cost model, not a benchmark: 2×10⁶ explosion reads/day at 1 unit via a path-prefix scan; recursive CONNECT BY adds ~30% per explosion; 200 ECOs/day; each document or row rewrite costs 3 units. Where-used is left out — which favours the path.
+
+
+

For small moves and static trees the path is cheaper — the recursive read costs more. Once engineering moves modules of thousands of parts, the edge wins — ~3× at 10k, ~10× at 40k.

+ +
+ +
+
Act 3 · Pattern 5 — Tree / Hierarchy · D. The converged answer0:59 – 1:00
+

Store the edge: recurse down, match up, move one row

+

Keep the BOM as parent → child edges: CONNECT BY explodes it, a SQL/PGQ graph over the same rows answers where-used, and an ECO re-parent is one row.

+
+
+
+
CANONICAL TABLESSAME ROWS, TWO READSCONSUMERSbom_edgesparent → childECO writes hereparts1.2M rowsCONNECT BYexplode · roll upone recursive passbom_graphSQL/PGQ graphwhere-used, N hopsPlanningSQL · explodeCost rollupSQL · nightlyRecall deskwhere-usedSQL/PGQ
+
When to flip back: a tree that rarely moves and is read one way — a product catalogue, an org chart snapshot — keep the materialized path. Its prefix scan is the cheapest explosion there is.
+
+
+

Store the edge — recurse down, match up, move with one row

-- explode: everything under an assembly, one pass
+SELECT child_id, qty, LEVEL FROM bom_edges
+START WITH parent_id = :asm CONNECT BY PRIOR child_id = parent_id;
+
+-- where-used: the reverse question, same rows (bom_graph)
+SELECT assembly FROM GRAPH_TABLE ( bom_graph
+  MATCH (a IS part)-[IS contains]->{1,4}(p IS part)
+  WHERE p.part_id = :part COLUMNS (a.part_id AS assembly) );
+
+-- ECO-4471: re-parent SA-7 = ONE row, subtree follows
+UPDATE bom_edges SET parent_id = 'A-2'
+WHERE  parent_id = 'A-1' AND child_id = 'SA-7';
+
Materialized pathEdges + graph
ECO re-parent1 doc per part in subtree1 edge row
Explode an assembly1 prefix range scanCONNECT BY pass (~+30%)
Where-used2nd structure, app-syncedGRAPH_TABLE, same rows
-

A path encodes one traversal direction and pays to maintain it. Split the concern: let the tree be edges (re-parent is a single row), and let genuine graph questions be graph queries — the prefix trick never could express them.

+

The re-parent went from one rewrite per descendant to one edge row, and where-used went from a hand-synced second structure to a graph match — paid for with a real recursive-read premium.

+ +
+ + +
+
Act 3 · Pattern 6 — Outlier · A. The problem1:00 – 1:02
+

Brokerage: 40,000 books of business, and 120 that don't fit

+

Every advisor's “my book” screen is one document with the client list embedded. For the median book of 180 clients that is perfect. Then the team books with 150,000 clients hit the 16 MB cap — and the Outlier pattern adds a flag, overflow documents and a branch.

+
+
+
+
40,000 advisors~17M clientsp50 180 clients~120 books > 20k
+
Access patternWhoRateType
My book — top 100 by AUMadvisor portal~2k/s at the openread
Add a clientonboarding~30k / daywrite
Nightly AUM refreshbatch~17M clients / nightwrite · big doc
Advisor transition: move a bookops~50 books / weekwrite · big doc
+
+
advisors · one document per book{"_id": "A-900","name": "Institutional Desk 4","bookType": "team","hasExtras": true,"clientCount": 148212,"clients": [{ "id": "C-900001","name": "Harbor Pension Trust","aum": 912400000 },{ "id": "C-900002","aum": 887150000 },... 19,998 more ...]}the 16 MB cap, leaked:128k more clients sitin 7 overflow docsnightly AUM refreshrewrites the whole~8 MB document
+
+
+

The pattern is built for the median book. The 16 MB cap becomes a flag, seven extra documents and an if in every reader — and the biggest documents take the most writes.

+ +
+ +
+
Act 3 · Pattern 6 — Outlier · B. The model1:02 – 1:03
+

The book is rows; the document boundary is the outlier

+

Canonical form stores each client once, as a row keyed by advisor — 180 rows or 148,000, same table, same index. The document model makes the book one physical object, so the fat tail becomes overflow documents and an application branch.

+
+
CANONICAL FORM — A CLIENT IS A ROWTHE SAME BOOK, AS DOCUMENTSDESKPKdesk_idvarchar2desk_namevarchar2book_typevarchar2ADVISORPKadvisor_idvarchar2FKdesk_idvarchar2full_namevarchar2regionvarchar2CLIENTPKclient_idvarchar2FKadvisor_idvarchar2full_namevarchar2aumnumberaum_as_ofdateopened_ondateINDEX (advisor_id, aum DESC)any book, any size: one range scanp50 advisor · 180 clients1 document · ~72 KB · one readteam book · 148k clientsadvisor doc: first 20k + hasExtras#part-220k clients#part-320k clients… #part-820k clientsapplication branchif hasExtras: 1 + 7 fetches, merge-sortCanonical form: 1 query, any booksame index range scan · no branchmutable — rewritten nightly, inside the biggest documentsimmutable — safe to copy anywhere
+
+

Outliers exist only where a physical boundary is part of the model. Remove the boundary and a 148k-client book is just a longer range scan.

+ +
+ +
+
Act 3 · Pattern 6 — Outlier · C. Where the knobs flip it1:03 – 1:04
+

Designed for the p50, paid for at the p99.9

+

For the median book of 180 clients, one embedded document is ~3× cheaper than a range scan — the break-even is about 3,200 clients. The ~120 team books sit 50× past it, where the read becomes 1 + k fetches and a merge in the app.

+
+
KNOB SETTINGS · THIS WORKLOAD1 · DiversityLow — one book screenportal and batch read thebook the same way2 · Read / writeRead-heavy by day~2k reads/s at the open;one refresh storm a night3 · Update localitySkew ×800, p50 → maxwrites land in the biggestdocuments on the platformWORK PER TOP-100 BOOK READ vs BOOK SIZE · illustrative modelone document is cheaperrange scan is cheaper10301003001k3k101001k10k100kclients per advisor (log)work units per read (log)break-even ≈ 3,200 clientsp50 · 180 clientsteam book · 148kEmbedded book + overflowRows · index range scan, top 100 +
Illustrative cost model, not a benchmark: embedded = 10 per document fetch + 0.01 per client read (~400 B each), 20k-client overflow documents + 0.005/client app merge; rows = 10 + 2·log₁₀ n + 0.25 per row returned (≤ 100).
+
+
+

The embedded book wins for 99% of advisors — say so. At 148k clients it's ~50× the work and a second code path that only the 120 largest, most-written books exercise.

+
- -
-
Act 3 · Pattern 6 — Outlier1:00 – 1:05
-

Financial: the mega-advisor who breaks the model

-

99% of advisors have a few hundred clients and embed fine. Then there's the institutional book with 100,000 clients. The Outlier pattern adds a flag, an overflow collection, and an if in your application — the 16 MB limit leaking into your code.

+
+
Act 3 · Pattern 6 — Outlier · D. The converged answer1:04 – 1:05
+

The outlier is just more rows: one query, no branch

+

Store each client as a row, index it by (advisor_id, aum DESC), and project the book as a document with a duality view where a consumer wants one. The book screen pages with FETCH FIRST / OFFSET — the same statement for every advisor.

-
-
-

Document — the model admits it breaks for the fat tail

-
const a = db.advisors.findOne({_id: id})
-let clients = a.clients
-if (a.hasOverflow) {                 // the leak
-  clients = clients.concat(
-    db.overflow.find({advisor: id})
-              .toArray())
-}
-// two code paths, two failure modes,
-// forever — because one advisor is big.
+
+
+
CANONICAL TABLESPROJECTIONCONSUMERSadvisorsone row eachclientsidx advisor_id,aum DESCadvisor_dvduality viewbook as a documenttop-N queryFETCH FIRST ·OFFSET pagesCRMMongo API find()AI assistantSQL/JSONBook screenSQL · any size
+
When to flip back: if the list has a hard upper bound — ten saved watchlists, five beneficiaries — embed it. The Outlier pattern is only needed when the bound is a guess.
-
-

Converged — the outlier is just more rows

-
-- advisor_clients partitioned/indexed by advisor
-SELECT client_id, market_value
-FROM   advisor_clients
-WHERE  advisor_id = :whale
-ORDER BY market_value DESC
-FETCH FIRST 100 ROWS ONLY;
--- CBO adapts the plan for the whale vs the
--- typical advisor. One query. No branch.
+
+

One table, one index, one query — no overflow branch

CREATE JSON RELATIONAL DUALITY VIEW advisor_dv AS
+SELECT JSON { '_id'     : a.advisor_id,
+  'clients' : [ SELECT JSON { 'clientId' : c.client_id,
+                                'aum'      : c.aum WITH UPDATE }
+                FROM clients c WITH INSERT UPDATE DELETE
+                WHERE c.advisor_id = a.advisor_id ]
+} FROM advisors a WITH INSERT UPDATE DELETE;
+-- book screen: index (advisor_id, aum DESC), any book size
+SELECT client_id, aum FROM clients WHERE advisor_id = :advisor
+ORDER BY aum DESC
+OFFSET :skip ROWS FETCH NEXT 100 ROWS ONLY;
+
Outlier patternRows + projection
Top 100, 148k book8 fetches + app merge1 range scan, 100 rows
Top 100, 180-client book1 document (cheaper)range scan + assembly (~3× in model)
Move a bookrewrite 2 books, may overflow1 UPDATE, 1 transaction
-

There is no fat tail when the row is the unit, not the document. Embed the bounded common case, reference the overflow, and let a duality view re-join them — but on a relational base the outlier never needed special-casing at all. The optimizer plans for it.

+

The 16 MB cap never enters the model because the book was never one document. One code path for 40,000 advisors — paid for with a modest, predictable read cost at the median.

+
+
@@ -947,6 +1212,7 @@

The rest of the catalog, at speed

Pre-Allocation is the tell. Nobody decided it was wrong — the engine changed and it evaporated. That's every pattern's eventual fate when the constraint it fought is lifted.

+
@@ -969,6 +1235,7 @@

The rule

The credibility of everything in this deck rests on this slide. The workload chooses the shape — and sometimes it chooses a plain document. The point was never one model; it was refusing to pay for a model the workload didn't ask for.

+
@@ -1010,6 +1277,7 @@

Don't argue the model — bake it off

Reason to the candidates; measure to the decision. The bake-off is how "I think we should embed this" becomes "at 40M rows and this write rate, D3 wins by 6×, and here's the crossover."

+
@@ -1047,6 +1315,7 @@

Two engagements where the room's taste was wrong

Global bank: the biggest win — 28× — needed no new model at all, just a rewrite; the elected shape was a hybrid, not the pure document the room wanted. Wealth-mgmt: a query that timed out came back at 0.39s. The room's taste was wrong twice. The measurement wasn't.

+
@@ -1067,6 +1336,7 @@

The 90/10, honestly

The converged argument is not "always relational." It's that one engine can hold the canonical form and project whatever shape each access pattern wants — and the measurement, not the meeting, decides which.

+
@@ -1085,6 +1355,7 @@

What "converged" has to mean

Every softening in this deck depended on these five holding at once. Remove any one and you're back to integration tax and consistency gaps — the problems the patterns were coping with in the first place.

+
@@ -1102,6 +1373,7 @@

Five questions for any architecture — including yours

Question 4 is the quiet one. Most "converged" claims fail on projection latency — the shapes exist, but they're minutes stale. Sync projection is the difference between a view and a copy.

+
@@ -1123,6 +1395,7 @@

What comes next

Model the domain, not the engine. Project the access. Measure the tradeoff — don't argue it.

Companion repo: converged-modeling-patterns · runnable on Oracle AI Database 26ai Free · every .sql validated on a live container

+
@@ -1130,7 +1403,7 @@

What comes next

CONVERGED DATA MODELING · WORKSHOP 1 ← → to navigate · Home/End to jump · N for notes - 1 / 27 + 1 / 45

The rollup is still precomputed and still current. The write went from a whole-document rewrite to two small rows, and Top-N from 60 s to 500 ms (anonymized field result) — for a modest, predictable read cost.

- + @@ -916,7 +915,7 @@

Manufacturing IoT: one bucket, 36,000 rewrites

18,000 sensors40 plants~34k/s readings36k per hot bucket
Access patternWhoRateType
Ingest a readinggateways~34k/swrite · hot doc
Last-hour machine dashboardline supervisors6/minread · 1 bucket
Shift rollup (8 h)plant managers120/dayread · range
7-day anomaly scan, all sensorsreliability eng.hourlyread · times out
ML feature extractiondata sciencenightlyread · scan
-
readings · one bucket per sensor per hour{"_id": "M-118|VIB|2026-09-25T14","machineId": "M-118","metric": "VIB","hourStart": "2026-09-25T14:00:00Z","count": 21604,"sum": 1548212.7,"min": 0.8, "max": 97.3,"readings": [{ "ts": "14:00:00.1", "val": 71.4 },{ "ts": "14:00:00.2", "val": 71.9 },... 21,601 more readings ...{ "ts": "14:36:00.4", "val": 72.2 }]}counters: $inc / $maxrewritten on everysingle reading$push lands here:re-serializes 2.6 MBand it only grows
+
readings · one bucket per sensor per hour{"_id": "M-118|VIB|2026-09-25T14","machineId": "M-118","metric": "VIB","hourStart": "2026-09-25T14:00:00Z","count": 21604,"sum": 1548212.7,"min": 0.8, "max": 97.3,"readings": [{ "ts": "14:00:00.1", "val": 71.4 },{ "ts": "14:00:00.2", "val": 71.9 },... 21,601 more readings ...{ "ts": "14:36:00.4", "val": 72.2 }]}counters: $inc / $maxrewritten on everysingle reading$push lands here:rewrites 2.6 MBand it only grows

The bucket buys a one-document dashboard read. It pays with a write whose cost grows with every reading — and the hottest sensors grow fastest.

@@ -931,7 +930,7 @@

Immutable readings, mutable bucket

CANONICAL FORM — EACH READING ONCE, NEVER REWRITTENONE HOT SENSOR-HOUR, BUCKETEDPLANTPKplant_idvarchar2namevarchar2regionvarchar2MACHINEPKmachine_idvarchar2FKplant_idvarchar2modelvarchar2line_nonumberSENSOR_READINGSPKreading_idnumberFKmachine_idvarchar2metricvarchar2reading_valnumberreading_tstimestampHOURLY_MV · derivedmachine_idvarchar2hour_startdatennumbersum_valnumbermax_valnumberGROUP BY hour · on readM-118 · spindle vibration10 readings / s1 bucket documentcount · sum · min · max · readings[ ]every reading rewrites all of itO(n²) rewrite volume36,000 rewrites · 4.3 MB bucket≈ 78 GB if each push rewrites itCanonical: 36,000 row inserts≈ 9 MB · appended to one partitionrewritten on every reading — the bucket's counters and arrayimmutable reading — inserted once, never rewritten

Immutable facts, mutable container. The write amplification comes from the bucket, not from the data — derive the counters instead of storing them.

- +
@@ -940,11 +939,11 @@

Slow sensors love buckets. Hot sensors break them.

Diversity is medium and the workload is write-heavy, but the knob that bites is locality: every reading lands on the same growing document. Rewrite cost grows with n², so the break-even is about 900 readings per bucket.

KNOB SETTINGS · THIS WORKLOAD1 · DiversityMedium — 4 read shapesdashboard, shift rollup,anomaly scan, ML features2 · Read / writeWrite-heavy~3B readings in per day;reads are rollups, not points3 · Update localityEvery write, same documenteach reading rewrites thegrowing hour bucketBYTES PER SENSOR-HOUR vs READINGS / BUCKET · illustrative modelbucket is cheaperrows are cheaper100 KB10 MB1 GB100 GB1001k10k100kreadings per bucket (log)bytes touched per sensor-hour (log)break-even ≈ 9001 / min · 601 / s · 3,600hot · 36,000Bucket · $push + countersRows · append, GROUP BY on read16 MB cap ≈ 140k -
Illustrative cost model, not a benchmark: 120 B per reading; each $push re-serializes the whole bucket (s·n²/2 per hour); a row insert adds ~130 B of header, index and redo; a live dashboard reads the hour 360×/h, paying ~150 B more per row than one 2 KB-overhead document fetch.
+
Illustrative cost model, not a benchmark: 120 B per reading; each $push rewrites the whole bucket (s·n²/2 per hour); a row insert adds ~130 B of header, index and redo; a live dashboard reads the hour 360×/h, paying ~150 B more per row than one 2 KB-overhead document fetch.

Below ~900 readings the one-document read wins — bucket the slow sensors. At 1/s the bucket costs ~2.7× the rows; the hot spindle ~22×, marching at the 16 MB cap.

- +
@@ -974,7 +973,7 @@

Let the partition be the bucket, and put SQL in the pipeline

Ingest becomes a constant-cost insert with no 16 MB ceiling. An anonymized field reshape took a 29 s bucket rollup to under 400 ms — paid for with a heavier last-hour read.

- +
@@ -1171,7 +1170,7 @@

The outlier is just more rows: one query, no branch

CANONICAL TABLESPROJECTIONCONSUMERSadvisorsone row eachclientsidx advisor_id,aum DESCadvisor_dvduality viewbook as a documenttop-N queryFETCH FIRST ·OFFSET pagesCRMMongo API find()AI assistantSQL/JSONBook screenSQL · any size
-
When to flip back: if the list has a hard upper bound — ten saved watchlists, five beneficiaries — embed it. The Outlier pattern is only needed when the bound is a guess.
+
When to flip back: if the list has a hard upper bound — ten saved watchlists, five beneficiaries — embed it. The Outlier pattern is only needed when the bound is a guess. Growth costs too: +1 client to an 800-client book is ~20× a row insert's redo (companion lab).

One table, one index, one query — no overflow branch

CREATE JSON RELATIONAL DUALITY VIEW advisor_dv AS
@@ -1190,7 +1189,7 @@ 

The outlier is just more rows: one query, no branch

The 16 MB cap never enters the model because the book was never one document. One code path for 40,000 advisors — paid for with a modest, predictable read cost at the median.

- + diff --git a/labs/converged-modeling-patterns/run.sh b/labs/converged-modeling-patterns/run.sh old mode 100755 new mode 100644 index a9f8fa0..1bead7e --- a/labs/converged-modeling-patterns/run.sh +++ b/labs/converged-modeling-patterns/run.sh @@ -15,6 +15,11 @@ # # Idempotent: rerun as often as you like. SQL-only patterns (no *.js) simply skip # the Mongo lane. +# +# Stage 3: the lab console's vitest suites (app/), in a throwaway container. Skipped +# while cmp-lab-ui runs in event mode (never run this during an event); if a +# (solo) cmp-lab-ui is running it is restarted afterwards so its in-memory +# dirty/built flags and result cache reload from the database. # ============================================================================ set -uo pipefail cd "$(dirname "$0")" @@ -32,6 +37,13 @@ FILTER="${1:-}" dexec() { docker compose exec -T "$SVC" bash -lc "$1"; } # in-container bash sqlpipe(){ docker compose exec -T "$SVC" bash -lc "sqlplus -s -L $APP"; } # stdin -> sqlplus +# Record the console's state BEFORE compose touches anything (stage 3 depends on it). +ui_event() { # true when cmp-lab-ui is running with LAB_MODE=event + [ "$(docker inspect -f '{{.State.Running}}' cmp-lab-ui 2>/dev/null)" = true ] && + docker inspect -f '{{range .Config.Env}}{{println .}}{{end}}' cmp-lab-ui 2>/dev/null | grep -qx 'LAB_MODE=event' +} +ui_event_at_start=0; ui_event && ui_event_at_start=1 + echo "==> Bringing up the stack (docker compose up -d) ..." ORACLE_PASSWORD="$ORACLE_PASSWORD" CMP_PASSWORD="$CMP_PASSWORD" docker compose up -d @@ -98,6 +110,27 @@ for d in patterns/*/; do done done +# Stage 3: the hands-on console's own tests (unit + integration) against this database. +# Skipped when a single pattern is requested. +if [ -z "$FILTER" ]; then + echo ""; echo "################ lab console (app/) ################" + if [ "$ui_event_at_start" = 1 ] || ui_event; then + echo " [SKIP] lab-ui tests: cmp-lab-ui is running in EVENT mode. The integration tests" + echo " share its database; run them after the event (see docs/instructor-runbook.md)." + else + # --no-deps: stage 1 already brought the database up; never recreate it from here. + if docker compose --profile test build lab-ui-test && docker compose --profile test run --rm --no-deps lab-ui-test; then + echo " [PASS] lab-ui tests"; pass=$((pass+1)) + else + echo " [FAIL] lab-ui tests"; fail=$((fail+1)); failed="$failed lab-ui-tests" + fi + if [ "$(docker inspect -f '{{.State.Running}}' cmp-lab-ui 2>/dev/null)" = true ]; then + echo "==> Restarting lab-ui so it reloads its dirty/built flags and cache ..." + docker compose restart lab-ui >/dev/null + fi + fi +fi + echo ""; echo "===================================================================" echo " RESULT: $pass passed, $fail failed (SQL + MongoDB lanes)" [ -n "$failed" ] && echo " Failed:$failed" From df83485f7ce817e828edc44718d62697d97452c1 Mon Sep 17 00:00:00 2001 From: Rick Houlihan Date: Wed, 30 Sep 2026 09:28:07 -0500 Subject: [PATCH 04/12] converged-modeling-patterns: full-size figure link reachable from hover help MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The "Open full size" link now sits above the figure (it was pushed out of the popover's visible area), figure popovers may grow taller, and a hover popover waits 350 ms before closing so the pointer can cross from the ⓘ into it. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01BeoRFyVLAZ7nma6UueR1P6 --- .../app/public/css/lab.css | 4 +-- .../app/public/js/help.js | 24 +++++++++---- .../app/test/unit/help.test.js | 35 +++++++++++++++++++ 3 files changed, 55 insertions(+), 8 deletions(-) diff --git a/labs/converged-modeling-patterns/app/public/css/lab.css b/labs/converged-modeling-patterns/app/public/css/lab.css index 074c0e1..3bb708c 100644 --- a/labs/converged-modeling-patterns/app/public/css/lab.css +++ b/labs/converged-modeling-patterns/app/public/css/lab.css @@ -97,7 +97,7 @@ details.jt { font: 12.5px var(--mono); margin-left: 12px; } details.jt > summary .help-i:focus-visible { outline: 2px solid var(--flow); outline-offset: 1px; } .help-pop { position: absolute; z-index: 40; max-width: 420px; max-height: min(70vh, 520px); overflow: auto; background: var(--panel); color: var(--ink); border: 1px solid var(--hairline); border-left: 3px solid var(--flow); border-radius: 10px; padding: 10px 14px; box-shadow: 0 10px 28px rgba(0,0,0,.18); font-size: 13.5px; } -.help-pop.has-fig { width: min(760px, 92vw); max-width: min(760px, 92vw); } +.help-pop.has-fig { width: min(760px, 92vw); max-width: min(760px, 92vw); max-height: min(88vh, 820px); } .help-pop p { margin: 2px 0 8px; } .help-pop .help-title { font: 700 14px var(--head); margin-bottom: 4px; } .help-pop .help-k { font: 600 10.5px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); } @@ -105,6 +105,6 @@ details.jt { font: 12.5px var(--mono); margin-left: 12px; } details.jt > summary .help-pop .help-fig a { display: block; } .help-pop .help-fig img { width: 100%; height: auto; display: block; border-radius: 6px; background: var(--paper); } .help-pop .help-fig figcaption { font-size: 12px; color: var(--muted); margin-top: 4px; } -.help-pop .help-fig-open { display: inline-block; margin-top: 4px; font: 600 12px var(--sans); color: var(--flow); text-decoration: none; } +.help-pop .help-fig-open { display: inline-block; margin: 2px 0 6px; font: 600 12px var(--sans); color: var(--flow); text-decoration: none; } .help-pop .help-fig-open:hover { text-decoration: underline; } .card h3 .help-i, .tabs .help-i, .knob .help-i { margin-left: 4px; } diff --git a/labs/converged-modeling-patterns/app/public/js/help.js b/labs/converged-modeling-patterns/app/public/js/help.js index 22c543b..df4804a 100644 --- a/labs/converged-modeling-patterns/app/public/js/help.js +++ b/labs/converged-modeling-patterns/app/public/js/help.js @@ -6,6 +6,12 @@ // Text via textContent only. const GUTTER = 16; const GAP = 8; +// Grace period for a hover tooltip: long enough to cross the gap from the ⓘ into the +// popover (and reach its links), short enough that it still feels like hover. +const LEAVE_GRACE = 350; +let leaveTimer = null; +const cancelLeave = () => { clearTimeout(leaveTimer); leaveTimer = null; }; +const scheduleLeave = () => { cancelLeave(); leaveTimer = setTimeout(() => { if (current && !current.modal) closeCurrent(); }, LEAVE_GRACE); }; let current = null; let seq = 0; @@ -20,6 +26,7 @@ export function placePopover(rect, size, vp) { } function closeCurrent(returnFocus = false) { + cancelLeave(); if (!current) return; const { pop, trigger } = current; pop.remove(); @@ -53,13 +60,14 @@ function build(content, { label, patternId }, modal) { img.alt = content.figure.caption ?? label; img.loading = 'lazy'; link.append(img); - fig.append(link); - if (content.figure.caption) fig.append(h('figcaption', null, content.figure.caption)); + // The full-size link goes ABOVE the figure: a tall figure pushes anything below it + // out of the popover's visible area, where a hover tooltip can't be scrolled to. const open = h('a', 'help-fig-open', 'Open full size ↗'); open.href = href; open.target = '_blank'; open.rel = 'noopener'; - fig.append(open); + fig.append(open, link); + if (content.figure.caption) fig.append(h('figcaption', null, content.figure.caption)); pop.append(fig); } return pop; @@ -77,7 +85,8 @@ function open(trigger, content, opts, modal) { pop.style.left = `${p.left + window.scrollX}px`; pop.dataset.side = p.side; pop.addEventListener('keydown', (e) => { if (e.key === 'Escape') { e.stopPropagation(); closeCurrent(true); } }); - pop.addEventListener('pointerleave', () => { if (!modal) closeCurrent(); }); + pop.addEventListener('pointerenter', () => { if (!modal) cancelLeave(); }); + pop.addEventListener('pointerleave', () => { if (!modal) scheduleLeave(); }); trigger.setAttribute('aria-expanded', 'true'); if (!modal) trigger.setAttribute('aria-describedby', pop.id); current = { pop, trigger, modal }; @@ -105,10 +114,13 @@ export function helpTrigger(content, opts) { b.setAttribute('aria-expanded', 'false'); let hoverTimer = null; b.addEventListener('click', (e) => { e.stopPropagation(); open(b, content, opts, true); }); - b.addEventListener('pointerenter', () => { hoverTimer = setTimeout(() => open(b, content, opts, false), 200); }); + b.addEventListener('pointerenter', () => { + if (current?.trigger === b && !current.modal) { cancelLeave(); return; } + hoverTimer = setTimeout(() => open(b, content, opts, false), 200); + }); b.addEventListener('pointerleave', (e) => { clearTimeout(hoverTimer); - if (current?.trigger === b && !current.modal && !current.pop.contains(e.relatedTarget)) closeCurrent(); + if (current?.trigger === b && !current.modal && !current.pop.contains(e.relatedTarget)) scheduleLeave(); }); return b; } diff --git a/labs/converged-modeling-patterns/app/test/unit/help.test.js b/labs/converged-modeling-patterns/app/test/unit/help.test.js index 9be79b0..8334ef5 100644 --- a/labs/converged-modeling-patterns/app/test/unit/help.test.js +++ b/labs/converged-modeling-patterns/app/test/unit/help.test.js @@ -102,3 +102,38 @@ describe('hover tooltip', () => { expect(t.hasAttribute('aria-describedby')).toBe(false); }); }); + +describe('hover tooltip grace', () => { + beforeEach(() => { document.body.innerHTML = ''; vi.useFakeTimers(); }); + afterEach(() => { document.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape' })); vi.useRealTimers(); }); + const hover = () => { + const t = helpTrigger({ why: 'w', figure: { file: 'erd.svg', caption: 'c' } }, { label: 'x', patternId: '02-computed' }); + document.body.append(t); + t.dispatchEvent(new Event('pointerenter')); vi.advanceTimersByTime(250); + return t; + }; + it('survives the gap between the trigger and the popover', () => { + const t = hover(); + t.dispatchEvent(Object.assign(new Event('pointerleave'), { relatedTarget: null })); + vi.advanceTimersByTime(150); + const pop = document.querySelector('.help-pop'); + expect(pop).not.toBeNull(); + pop.dispatchEvent(new Event('pointerenter')); + vi.advanceTimersByTime(1000); + expect(document.querySelector('.help-pop')).not.toBeNull(); + expect(document.querySelector('.help-fig-open')).not.toBeNull(); + }); + it('closes shortly after the pointer leaves both trigger and popover', () => { + const t = hover(); + t.dispatchEvent(Object.assign(new Event('pointerleave'), { relatedTarget: null })); + vi.advanceTimersByTime(1000); + expect(document.querySelector('.help-pop')).toBeNull(); + const t2 = hover(); + const pop = document.querySelector('.help-pop'); + t2.dispatchEvent(Object.assign(new Event('pointerleave'), { relatedTarget: null })); + pop.dispatchEvent(new Event('pointerenter')); + pop.dispatchEvent(new Event('pointerleave')); + vi.advanceTimersByTime(1000); + expect(document.querySelector('.help-pop')).toBeNull(); + }); +}); From f87d5cc8c2c204e6cb348762841bff99590a8ac8 Mon Sep 17 00:00:00 2001 From: Rick Houlihan Date: Wed, 30 Sep 2026 09:29:51 -0500 Subject: [PATCH 05/12] converged-modeling-patterns: restore executable bit on run.sh and docker scripts Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01BeoRFyVLAZ7nma6UueR1P6 --- labs/converged-modeling-patterns/docker/scripts/entrypoint.sh | 0 labs/converged-modeling-patterns/docker/scripts/install-ords.sh | 0 labs/converged-modeling-patterns/run.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 labs/converged-modeling-patterns/docker/scripts/entrypoint.sh mode change 100644 => 100755 labs/converged-modeling-patterns/docker/scripts/install-ords.sh mode change 100644 => 100755 labs/converged-modeling-patterns/run.sh diff --git a/labs/converged-modeling-patterns/docker/scripts/entrypoint.sh b/labs/converged-modeling-patterns/docker/scripts/entrypoint.sh old mode 100644 new mode 100755 diff --git a/labs/converged-modeling-patterns/docker/scripts/install-ords.sh b/labs/converged-modeling-patterns/docker/scripts/install-ords.sh old mode 100644 new mode 100755 diff --git a/labs/converged-modeling-patterns/run.sh b/labs/converged-modeling-patterns/run.sh old mode 100644 new mode 100755 From 06ab6401f4c2773f50631d8fae587c030d18cb7b Mon Sep 17 00:00:00 2001 From: Rick Houlihan Date: Wed, 30 Sep 2026 11:27:03 -0500 Subject: [PATCH 06/12] =?UTF-8?q?converged-modeling-patterns:=20Workshop?= =?UTF-8?q?=201=20deck=20=E2=80=94=20Act=201=20visuals,=20step-through=20t?= =?UTF-8?q?imeline,=20duality-view=20walkthrough?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Act 1 slides now carry a headline, short bullets and one graphic (full talk track moved to speaker notes); slide 10 adds the replica/region/backup/CDC multiplier; slide 13 explains $sql; slide 17 is a step-through duality-view walkthrough verified on 26ai (allowed write, rejected write, one-row update). Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01BeoRFyVLAZ7nma6UueR1P6 --- .../docker/scripts/entrypoint.sh | 0 .../docker/scripts/install-ords.sh | 0 .../converged-data-modeling-workshop1.html | 478 +++++++++++------- .../presentations/images/image77.png | Bin 0 -> 349114 bytes .../presentations/images/image78.png | Bin 0 -> 74157 bytes .../presentations/images/image79.png | Bin 0 -> 539736 bytes .../presentations/images/image83.png | Bin 0 -> 336668 bytes .../presentations/images/image84.png | Bin 0 -> 97300 bytes .../presentations/images/image89.png | Bin 0 -> 168397 bytes .../presentations/images/image93.png | Bin 0 -> 84961 bytes .../presentations/images/umt-icon.png | Bin 0 -> 109515 bytes labs/converged-modeling-patterns/run.sh | 0 12 files changed, 297 insertions(+), 181 deletions(-) mode change 100755 => 100644 labs/converged-modeling-patterns/docker/scripts/entrypoint.sh mode change 100755 => 100644 labs/converged-modeling-patterns/docker/scripts/install-ords.sh create mode 100755 labs/converged-modeling-patterns/presentations/images/image77.png create mode 100755 labs/converged-modeling-patterns/presentations/images/image78.png create mode 100755 labs/converged-modeling-patterns/presentations/images/image79.png create mode 100755 labs/converged-modeling-patterns/presentations/images/image83.png create mode 100755 labs/converged-modeling-patterns/presentations/images/image84.png create mode 100755 labs/converged-modeling-patterns/presentations/images/image89.png create mode 100755 labs/converged-modeling-patterns/presentations/images/image93.png create mode 100755 labs/converged-modeling-patterns/presentations/images/umt-icon.png mode change 100755 => 100644 labs/converged-modeling-patterns/run.sh diff --git a/labs/converged-modeling-patterns/docker/scripts/entrypoint.sh b/labs/converged-modeling-patterns/docker/scripts/entrypoint.sh old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/docker/scripts/install-ords.sh b/labs/converged-modeling-patterns/docker/scripts/install-ords.sh old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html b/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html index 1dcd43a..9f7bff9 100644 --- a/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html +++ b/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html @@ -308,6 +308,103 @@ .cgroup .glabel, .cgroup .delta { grid-row: auto; } } + /* ---------- Builds: data-step="n" appears at build n; data-step-end="m" leaves after build m ---------- */ + .step-hidden { visibility: hidden; opacity: 0; } + @media (prefers-reduced-motion: no-preference) { + [data-step], [data-step-end] { transition: opacity 260ms ease; } + } + .swap { display: inline-grid; } + .swap > * { grid-area: 1 / 1; } + .stepstack { display: grid; align-items: start; } + .stepstack > * { grid-area: 1 / 1; } + + /* ---------- Act 1: headline + short points + one graphic ---------- */ + :root { --vec: #7C3AED; --vec-soft: rgba(124, 58, 237, 0.10); --graph: #B45309; --graph-soft: rgba(180, 83, 9, 0.10); } + @media (prefers-color-scheme: dark) { + :root:not([data-theme="light"]) { --vec: #A78BFA; --vec-soft: rgba(167, 139, 250, 0.16); --graph: #F59E0B; --graph-soft: rgba(245, 158, 11, 0.15); } + } + :root[data-theme="dark"] { --vec: #A78BFA; --vec-soft: rgba(167, 139, 250, 0.16); --graph: #F59E0B; --graph-soft: rgba(245, 158, 11, 0.15); } + ul.pts { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 3px; font-size: clamp(15px, 1.45vw, 18px); line-height: 1.4; } + ul.pts li { position: relative; padding-left: 20px; } + ul.pts li::before { content: ""; position: absolute; left: 2px; top: 0.5em; width: 8px; height: 8px; border-radius: 2px; background: var(--cool); } + ul.pts li.hot::before { background: var(--hot); } + ul.pts code { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 0.9em; background: var(--chip); padding: 1px 6px; border-radius: 4px; } + .act1 .body > figure { flex: 1 1 0; min-height: 0; display: flex; flex-direction: column; justify-content: center; } + .act1 .body > figure > svg { flex: 1 1 0; min-height: 0; width: 100%; height: 100%; max-height: 520px; } + + /* slide 8: code with coloured margin tags */ + .tagcode { max-width: 980px; width: 100%; margin: 0 auto; background: var(--panel); border: 1px solid var(--hairline); + border-radius: 8px; padding: 12px 16px 12px 0; font-family: "IBM Plex Mono", ui-monospace, monospace; + font-size: clamp(12px, 1.3vw, 16.5px); line-height: 1.6; } + .tagcode .ln { display: grid; grid-template-columns: 112px 1fr; align-items: center; } + .tagcode .tg { justify-self: end; margin-right: 12px; font-size: 0.72em; font-weight: 600; letter-spacing: 0.06em; + text-transform: uppercase; padding: 0 8px; border-radius: 10px; line-height: 1.55; } + .tagcode .cd { white-space: pre; border-left: 4px solid transparent; padding-left: 14px; color: var(--ink); } + .tagcode .rel .cd { border-color: var(--cool); } .tagcode .rel .tg { color: var(--cool); background: var(--cool-soft); } + .tagcode .json .cd { border-color: var(--flow); } .tagcode .json .tg { color: var(--flow); background: var(--flow-soft); } + .tagcode .vec .cd { border-color: var(--vec); } .tagcode .vec .tg { color: var(--vec); background: var(--vec-soft); } + .tagcode .gr .cd { border-color: var(--graph); } .tagcode .gr .tg { color: var(--graph); background: var(--graph-soft); } + .tagcode .tg:empty { background: none; padding: 0; } + .tagcode .k { color: var(--cool); font-weight: 600; } + .tagcode .s { color: var(--hot); } + + /* slide 10: multiplier strip */ + .mult { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 10px; max-width: 1140px; margin: 0 auto; } + .mult .lead { font-size: 15px; font-weight: 600; color: var(--ink); margin-right: 4px; } + .mult .m { display: inline-flex; flex-direction: column; align-items: center; background: var(--hot-soft); border: 1px solid var(--hot); + border-radius: 8px; padding: 4px 14px; line-height: 1.25; } + .mult .m b { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 14.5px; color: var(--hot); } + .mult .m small { font-size: 13px; color: var(--muted); } + table.qtable.snug td { padding: 6px 14px; } + .gloss { display: block; font-size: 13px; color: var(--muted); margin-top: 2px; } + .gloss code { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 12.5px; color: var(--ink); } + + /* slide 17: duality-view step-through */ + .dv { display: flex; flex-direction: column; gap: 12px; width: 100%; max-width: 1180px; margin: 0 auto; } + .dv-grid { display: grid; grid-template-columns: minmax(0, 390fr) minmax(0, 430fr) minmax(0, 290fr); gap: 16px; align-items: start; } + .dv .col-label { margin-bottom: 6px; } + .dv .col-label.flow { color: var(--flow); } + .dv-tname { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 13px; font-weight: 600; margin: 0 0 3px; color: var(--ink); } + table.dv-t { border-collapse: collapse; width: 100%; font-size: clamp(11px, 1.08vw, 14px); background: var(--panel); border: 1px solid var(--hairline); border-radius: 6px; } + table.dv-t th { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 11px; font-weight: 600; color: var(--faint); text-align: left; padding: 4px 7px; border-bottom: 1px solid var(--hairline); } + table.dv-t td { padding: 4px 7px; border-bottom: 1px solid var(--hairline); white-space: nowrap; transition: background 260ms ease; } + table.dv-t tr:last-child td { border-bottom: 0; } + table.dv-t td.id { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 0.92em; } + .dv-one { font-size: 13.5px; color: var(--hot); font-weight: 600; margin: 5px 0 12px; } + .dv pre.code { font-size: clamp(10.5px, 1.03vw, 13.5px); line-height: 1.5; padding: 10px 12px 10px 0; } + .dv pre.code .ln { display: block; padding-left: 12px; border-left: 4px solid transparent; transition: background 260ms ease; } + .dv pre.code .ln.up { border-left-color: var(--cool); } + .dv pre.code .ln.nu { border-left-color: var(--hot); } + .dv-legend { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 3px; font-size: 14px; color: var(--muted); } + .dv-legend b { color: var(--ink); } + .dv-legend .ok::before { content: "\2713 "; color: var(--cool); font-weight: 700; } + .dv-legend .no::before { content: "\2717 "; color: var(--hot); font-weight: 700; } + .dv-legend .ok, .dv-legend .no { white-space: nowrap; } + .dv-also { font-size: 13.5px; color: var(--muted); margin: 6px 0 0; } + .dv-also b { color: var(--cool); } + .dv-act { background: var(--panel); border: 1px solid var(--hairline); border-left: 4px solid var(--flow); border-radius: 8px; padding: 9px 14px; } + .dv-act.ok { border-left-color: var(--cool); } + .dv-act.bad { border-left-color: var(--hot); } + .dv-act .req { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: clamp(11px, 1.03vw, 13.5px); color: var(--ink); white-space: pre-wrap; margin: 0; } + .dv-act .req .k { color: var(--cool); font-weight: 600; } + .dv-act .req .s { color: var(--hot); } + .dv-act .res { margin: 4px 0 0; font-size: 15px; color: var(--muted); } + .dv-act .res b { color: var(--ink); } + .dv-act .err { margin: 4px 0 0; font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 13px; color: var(--hot); } + .dv-close { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; background: var(--panel); border: 1px solid var(--hairline); border-radius: 8px; padding: 10px 18px; } + .dv-close .side { display: flex; align-items: baseline; gap: 12px; } + .dv-close .side.r { justify-content: flex-end; } + .dv-close .big { font-family: "Bricolage Grotesque", sans-serif; font-weight: 800; font-size: 34px; line-height: 1; } + .dv-close .lbl { font-size: 15px; color: var(--muted); } + .dv-close .mid { font-family: "Bricolage Grotesque", sans-serif; font-weight: 700; font-size: 18px; text-align: center; } + .dv td.chg { font-weight: 600; } + section[data-at="3"] .dv-a317 td, section[data-at="3"] .dv-c1 td { background: var(--flow-soft); } + section[data-at="4"] .dv-c1 td { background: var(--cool-soft); } + section[data-at="4"] .dv .ln.l-fn, section[data-at="4"] .dv .ln.j-fn { background: var(--cool-soft); } + section[data-at="5"] .dv .ln.nu, section[data-at="5"] .dv .ln.j-of { background: var(--hot-soft); } + section[data-at="6"] .dv-a317 td { background: var(--cool-soft); } + section[data-at="6"] .dv .ln.j-of { background: var(--cool-soft); } + /* PATTERNS-CSS — pattern-walk additions (figures, split layouts) */ :root { --flow: #2563EB; --flow-soft: rgba(37, 99, 235, 0.10); } @media (prefers-color-scheme: dark) { @@ -393,99 +490,48 @@

Model once, project many

-
+
Act 1 · Why converged, why now0:05 – 0:09

Data pressure through the ages

-

Every era's dominant model was the right bet for that era's bottleneck. The patterns we argue about weren't wrong — they were bets placed against a constraint that has since moved.

+
    +
  • Every era's model was the right bet for its bottleneck
  • +
  • Today's document patterns were bets placed in the NoSQL era
  • +
-
- - - - - - - - - - - 1960s–70s - IMS · hierarchical - constraint: - navigate by pointer, - storage is scarce - - - - - 1980s–2000s - Relational · Codd - constraint: - correctness & storage — - normalize, join at read - - - - - 2009–2020 - Distributed NoSQL - constraint: - scale-out on cheap disk — - denormalize, avoid joins - - - - - Now - Converged · UMT - constraint lifts: - one source, - every shape - - -
IMS optimized for scarce storage and pointer navigation. Codd traded storage for correctness. NoSQL traded correctness for scale-out. Each move solved the previous era's pain — and inherited a new one.
-
+
Data pressuretimeHumanBrain~100,000 BCLedgers~3000 BCPunchCards1890sMagneticTape1950sBlockStorage1970sRDBMS1980sDistributedNoSQL2000sSQLDocGraphTimeVectorPolyglotPersistence2015+Unified ModelTheory2020sEach peak = data pressure exceeding current technology. Each valley = the solution.
-

The document patterns you use every day were invented in the third box — bets against a distributed engine that couldn't join, couldn't transact across shards, and re-serialized a whole record to touch one field. Hold that thought.

- +
-
+
Act 1 · Why converged, why now0:09 – 0:12

Why we ever denormalized: the economics flipped

-

Normalization is a storage-saving technique from an era when storage was the expensive resource. That era ended. But the reflexes it created — and the reflexes the next era created — are still driving models.

+
    +
  • Then: disk was expensive, so store each fact once
  • +
  • Now: CPU, network hops and wait time are expensive
  • +
  • Keep one truth; let the engine maintain the read shapes
  • +
-
-
-

Then: storage dear, joins cheap enough

-

Disk cost real money, so you stored each fact once and reassembled it with joins. Codd's normal forms are, at bottom, a deduplication discipline.

-
-
-

Now: storage cheap, compute & latency dear

-

Storage is nearly free; the scarce resources are CPU cycles, network hops, and human milliseconds. So you pre-shape data for the read — denormalize at read time.

-
-
-
- The move the industry missed -

The right response to cheap storage isn't "throw away the normalized truth." It's "keep the normalized truth, and pay cheap storage to also materialize the shapes each consumer wants." Denormalization becomes a projection, not a fork. You get read-time shape without giving up write-time correctness — because the engine maintains both.

-
+
THEN · 1970s–1990sStorage· disk cost real moneyexpensiveCompute & latency· joins were affordablecheap enoughNOW · 2010s →Storage· pennies per gigabytenearly freeCompute & latency· CPU, network hops, user waitexpensiveswapdenormalize → project (engine-maintained)keep one normalized truth; spend cheap storageon read shapes the engine keeps in syncAnswer then: normalizestore each fact once;join at read time to reassemble it
-

Denormalization was always about spending the cheap resource to save the dear one. The mistake was making it a one-way, hand-maintained copy instead of an engine-maintained projection.

- +
-
+
Act 1 · Why converged, why now0:12 – 0:15

Codd already drew the map

-

Normalized relational is the canonical form — the minimal, non-redundant statement of the facts. Everything else a consumer wants is a view over it. Codd's own relational algebra defined the projections; we just stopped materializing them where they hurt.

+
    +
  • Canonical form: each fact stored once, normalized
  • +
  • Document, graph, vector: views over it, kept by the engine
  • +
- + @@ -494,10 +540,10 @@

Codd already drew the map

normalized · one source of truth - - - - + + + + Document @@ -507,85 +553,65 @@

Codd already drew the map

projection = a declarative shape mapping, maintained by the engine -
Codd also warned against the alternative: scattering the same facts across independent stores, each with its own truth. That's polyglot persistence — and he named the failure mode before it had a marketing category.
-

Model the domain in canonical form. Project the access. The document is a projection. The graph is a projection. The vector index is a projection. One truth, many shapes.

- +
-
+
Act 1 · Why converged, why now0:15 – 0:18

Polyglot persistence: five stores, five versions of the truth

-

"Purpose-built" sounds disciplined. In practice it means the same fact lives in five engines with five consistency models — and nothing owns the reconciliation. That was tolerable when a human read the answer. It is not tolerable when an AI acts on it.

+
    +
  • Same fact, five stores, five different sync delays
  • +
  • An AI agent acts on whichever copy it reads
  • +
-
-
-

The integration tax

-

Every cross-store request pays serialization, a network hop, and an auth handshake. Chains of them dominate latency and become the thing you spend your quarter debugging.

-
-
-

The consistency gap

-

The document store, the search index, and the vector store converge eventually. Between writes they disagree. Which copy did the model just read?

-
-
-

The AI failure mode

-

Feed a model stale + conflicting facts and it doesn't error — it confidently hallucinates. When it then takes an action, the stale context becomes a business liability.

-
-
-
-

State Vector Dissonance: the vector index reflects the world as of the last embed job; the operational tables reflect the world as of this transaction. RAG retrieves from the first and reasons as if it were the second. The wider the gap, the more confident the wrong answer.

-
+
One fact changescustomer tier = Gold10:00:00Document storeJSON documentsGoldlag ~msSearch indexfull-text searchGoldlag ~1–15 sVector indexembeddings for RAGSilverstalenext embed jobGraph storerelationshipsGoldlag ~1 sCachehot readsSilverstale10 min expiryintegration taxserialize · network hop · auth — per copyeventual consistency gapeach copy catches up on its own clock10:00:05 — five seconds laterAI agent (RAG)retrieval-augmented generationreads the vector copy: SilverreadsActs on “Silver”denies a Gold customer's fee waiverconfident wrong answer(hallucination)
-

AI didn't create this flaw — it removed our tolerance for it. Immediate consistency across vectors, documents, graph, and relational stops being a nicety and becomes a correctness requirement.

- +
-
+
Act 1 · Why converged, why now0:18 – 0:20

Unified Model Theory: the vocabulary for the rest of the day

-

UMT is just Codd's insight, made operational and given names. Five terms — once you have them, every modeling decision in this deck has a precise place to live.

+
    +
  • UMT = Unified Model Theory: Codd's idea, made operational
  • +
  • Five terms; every decision today has a place in one
  • +
- - - - - - - - - -
TermWhat it isIn practice
Canonical FormThe normalized, non-redundant truthYour base tables — modeled to the domain, not the screen
Projected ShapeThe form a consumer wants to readA document, a graph, a vector, a flat rowset
ProjectionThe declarative mapping between themA duality view, a materialized view, an index
Access SurfaceThe API the consumer speaksSQL, SQL/JSON, SQL/PGQ, the MongoDB wire protocol
Access DimensionThe pattern the query expressesPoint read, range, aggregate, traverse, similarity
+
Canonical Formeach fact stored oncetablesnormalized rowsone source of truthProjectionengine-maintained mappingduality viewmaterialized viewindexProjected Shapewhat a consumer readsdocument · graphvector · rowsAccess Surfacethe API the app speaksSQL · SQL/JSONSQL/PGQ (graph queries)MongoDB APIA consumer's queryAccess Dimension: the kind of question it askspointrangeaggregatetraversesimilarityasksModel once.Project many.
-

Model once. Project as documents, graphs, time series, or relations. Serve every consumer from one source of truth. That sentence is the whole theory — the rest is physics and tradeoffs.

- +
-
+
Act 1 · Why converged, why now0:20 – 0:22

One query, four models, one transaction

-

The theory only earns its keep if the engine can serve every projection together. Here relational, JSON, graph, and vector answer a single question — no hops, no copies, no eventual anything.

+
    +
  • Relational, JSON, graph and vector in one statement: one transaction, one security boundary
  • +
-
+

Find the 5 parties nearest a query embedding, tier from their JSON profile, reachable through ≤3 control hops

-
SELECT p.name,
-       JSON_VALUE(p.profile, '$.tier')                -- JSON projection
-       VECTOR_DISTANCE(p.embedding, :q, COSINE) AS score  -- vector
-FROM   parties p
-WHERE  p.party_id IN (
-         SELECT owner FROM GRAPH_TABLE ( ownership          -- graph
-           MATCH (a) -[:CONTROLS]->{1,3} (b)
-           WHERE a.party_id = :root
-           COLUMNS (b.party_id AS owner) ) )
-ORDER BY score
-FETCH FIRST 5 ROWS ONLY;                            -- relational
+
-

Four access dimensions, one statement, one consistency model, one security boundary. This is the payoff of "model once, project many" — and it's the standard every pattern in the next hour is measured against.

- +
@@ -635,7 +661,7 @@

Why the patterns exist: write amplification

Every document pattern in the catalog is, underneath, a reaction to one physical fact: in a document engine, touching one field can rewrite the whole record. Understand this and the patterns stop being folklore.

- + @@ -669,9 +695,16 @@

Why the patterns exist: write amplification

Copy-on-write leaf pages (WiredTiger): the write cost scales with document size, not with the size of your change. A 2 MB document costs 2 MB to touch — every time, for a one-byte edit.
+

The bigger and hotter the document, the more every write costs. Bucket, Computed, Subset, Pre-Allocation — they all exist to keep documents small and writes cheap. They are write-amplification management, dressed up as design patterns.

- +
@@ -738,18 +771,18 @@

Project it

Six patterns, six industries, one method

Each pattern gets the same four beats. We're not asking "is this pattern good?" — we're asking "at what point does its tradeoff flip, and what does converged do at that point?"

-
    +
    1. The use case — a real access pattern from a real industry, not a toy.
    2. The hard edge — the knob setting where the pattern starts to hurt (almost always knob 3).
    3. Where the needle flips — the cardinality or write rate that turns the pattern from clever to costly.
    4. The converged softening — the mechanism, with live SQL, that moves the breakpoint.
    - +
    - + @@ -757,7 +790,7 @@

    Six patterns, six industries, one method

    PatternIndustrySoftened by
    Extended ReferenceWealth managementJSON Duality View
    ComputedTelecomMV refresh-on-commit · index-only Top-N
    Bucket / time-seriesManufacturing IoTPartitioned range · $sql in pipeline
    Bucket / time-seriesManufacturing IoTPartitioned range · $sql in pipeline$sql: run SQL inside a MongoDB-API aggregation pipeline (Pattern 3)
    SubsetInsuranceComposite index · FETCH FIRST
    Tree / HierarchyManufacturing BOMGRAPH_TABLE · CONNECT BY
    OutlierFinancialAdaptive plans · partitioning

Watch for the refrain: the pattern was a correct bet against a limited engine. Remove the limit and the bet — and its maintenance cost — is optional.

- +
@@ -806,31 +839,68 @@

The needle flips on reorg day, not on an average Tuesday

Act 3 · Pattern 1 — Extended Reference · D. The converged answer0:39 – 0:40

Project the mutable: same document, one row to change

-

Store the advisor once and let a JSON Relational Duality View put the card back into the client document on read. The portal keeps its MongoDB driver and its find(); the edit becomes a single-row, single-transaction update.

+

A duality view serves the document and decides what a write can touch.

-
-
-
CANONICAL TABLESPROJECTIONCONSUMERSadvisorsoffice lives hereclientsadvisor_id FKaccountsclient_id FKclient_dvduality viewadvisor @noupdatePortalMongo API find()AI copilotSQL/JSONStatementsSQL batch
-
When to flip back: if the value must be frozen at write time — a trade's execution price, the advisor of record on a signed statement — snapshot it. That's history, not denormalisation.
+
+
+
+

1 · Canonical tables — each fact once

+

xr_advisors

+ + + +
advisor_idfull_nameofficedesk
A-317Grace HopperLeedsManchesterx0101
A-402Alan TuringYorkx0144
+

The advisor's office lives in ONE row.

+

xr_clients

+ + + + +
client_idfull_namesegmentprimary_advisor_id
C-104233Ada OkaforAda Okafor-ReidHNWA-317
C-104871Ben AdeyemiMASSA-317
C-105002Cara LindqvistHNWA-402
+
+
+

2 · The duality view — the lab's exact definition

+
CREATE JSON RELATIONAL DUALITY VIEW  xr_client_dv AS SELECT JSON {  '_id'      : c.client_id,  'fullName' : c.full_name WITH UPDATE,  'segment'  : c.segment   WITH UPDATE,  'advisor'  : ( SELECT JSON {      'advisorId' : a.advisor_id,      'fullName'  : a.full_name,      'office'    : a.office,      'desk'      : a.desk }    FROM xr_advisors a WITH NOUPDATE    WHERE a.advisor_id = c.primary_advisor_id )} FROM xr_clients c WITH INSERT UPDATE DELETE;
+
    +
  • Can change: fullName, segment; add or delete a client
  • +
  • Can't change: anything under advisor (read-only here)
  • +
+
+
+

3 · Read it: one client document

+
{  "_id": "C-104233",  "fullName": "Ada Okafor","Ada Okafor-Reid",  "segment": "HNW",  "advisor": {    "advisorId": "A-317",    "fullName": "Grace Hopper",    "office": "Leeds","Manchester",    "desk": "x0101"  }}
+

C-104871 (also A-317) now reads Manchester too — same commit.

+
-
-

Project the mutable — the view assembles the card on read

CREATE JSON RELATIONAL DUALITY VIEW client_dv AS
-SELECT JSON {
-  '_id'      : c.client_id,
-  'advisor'  : ( SELECT JSON { 'id'     : a.advisor_id,
-                                'office' : a.office,
-                                'desk'   : a.desk_phone }
-                 FROM advisors a WITH NOUPDATE   -- referenced, not copied
-                 WHERE a.advisor_id = c.advisor_id )
-} FROM clients c WITH INSERT UPDATE DELETE;
-
-UPDATE advisors SET office = 'Manchester' WHERE advisor_id = 'A-317';
-
Embedded cardDuality projection
Advisor office change~2,700 doc rewrites1 row
Client 360 read1 document fetch1 document, PK join (~+15%)
Reorg day · 8,000 changes~22M rewrites8,000 rows
+
+
+
SELECT data FROM xr_client_dv WHERE JSON_VALUE(data, '$._id') = 'C-104233';
+

Read: the advisor block is assembled from the one xr_advisors row at read time — a primary-key join on every read. Nothing was copied.

+
+
+
UPDATE xr_client_dv SET data = JSON_TRANSFORM(data, SET '$.fullName' = 'Ada Okafor-Reid')
+ WHERE JSON_VALUE(data, '$._id') = 'C-104233';
+

✓ 1 row updated — the xr_clients row for C-104233. No other row is touched.

+
+
+
UPDATE xr_client_dv SET data = JSON_TRANSFORM(data, SET '$.advisor.office' = 'Manchester')
+ WHERE JSON_VALUE(data, '$._id') = 'C-104233';
+

ORA-40940: Cannot update field 'office' corresponding to column 'OFFICE' of table 'XR_ADVISORS' in JSON Relational Duality View 'XR_CLIENT_DV': Missing UPDATE annotation or NOUPDATE annotation specified.

+

✗ Rejected, whole statement. The advisor is read-only in this view; its office changes only in its own row.

+
+
+
UPDATE xr_advisors SET office = 'Manchester' WHERE advisor_id = 'A-317';
+

✓ 1 row · 1 transaction. Every A-317 client document now shows Manchester at the same commit — no eventual consistency.

+
+
+
~2,700document rewrites per office move, embedded
+
from eventual consistency
to atomic
+
row, one transaction, duality view1
+
-

The document shape is unchanged for every consumer. The write went from ~2,700 documents to one row, and from eventual to atomic — paid for with a modest, predictable read cost.

- +
@@ -856,7 +926,7 @@

Telecom: a counter on the hottest document you own

Facts vs. the rollup: where every CDR lands

In canonical form a CDR is an immutable fact, appended once, and the cycle rollup is one narrow derived row. Embedded, the rollup lives in the subscriber document — so every CDR rewrites it, and sharding the counter only moves the pain to the read.

-
CANONICAL FORM — FACTS APPENDED, ROLLUP DERIVEDTHE SAME ROLLUP, EMBEDDEDSUBSCRIBERPKsubscriber_idvarchar2msisdnvarchar2planvarchar2cyclevarchar2CDR · append-onlyPKcdr_idnumberFKsubscriber_idvarchar2mbnumberminutesnumbercostnumbercdr_tstimestampSUBSCRIBER_USAGEPKsubscriber_idvarchar2total_mbnumbertotal_minnumbercostnumberAFTER INSERT trigger+1 counter row, same txnCDR stream1,500/s avg · 6k/s peakS-4471902 · one hot document400+ whole-doc rewrites / dayshard 1shard 2shard 3shard Nbalance read = N reads + SUMa write problem traded for a read oneCanonical: append 1 row+ bump 1 counter row · atomicmutable rollup — every CDR writes itimmutable CDR facts — append, never rewrite
+
CANONICAL FORM — FACTS APPENDED, ROLLUP DERIVEDTHE SAME ROLLUP, EMBEDDEDSUBSCRIBERPKsubscriber_idvarchar2msisdnvarchar2planvarchar2cyclevarchar2CDR · append-onlyPKcdr_idnumberFKsubscriber_idvarchar2mbnumberminutesnumbercostnumbercdr_tstimestampSUBSCRIBER_USAGEPKsubscriber_idvarchar2total_mbnumbertotal_minnumbercostnumberAFTER INSERT trigger+1 counter row, same txnCDR stream1,500/s avg · 6k/s peakS-4471902 · one hot document400+ whole-doc rewrites / dayshard 1shard 2shard 3shard Nbalance read = N reads + SUMa write problem traded for a read oneCanonical: append 1 row+ bump 1 counter row · atomicmutable rollup — every CDR writes itimmutable CDR facts — append, never rewrite

Append the facts, derive the rollup. The CDR belongs in an append-only table; the running total belongs in a row the engine maintains — not inside the document it rewrites.

@@ -867,7 +937,7 @@

Facts vs. the rollup: where every CDR lands

The needle flips on the heavy tail, not the average

Diversity and reads argue for a precomputed rollup. The third knob — every write lands on one parent document — argues against. Put a number on it: embedding wins below about 4 CDRs a subscriber a day; the heavy user at 400 costs ~2.5× the work.

-
KNOB SETTINGS · THIS WORKLOAD1 · DiversityMedium-high — 4 consumersapp, charging, ops dashboardand the bill run2 · Read / writeWrite-heavy on the rollup~30 balance reads/day vs11 CDRs avg · 400+ heavy3 · Update localityEvery write, one parenteach CDR lands on the samehot subscriber documentWORK / SUBSCRIBER / DAY vs CDRs / DAY · illustrative modelembed winsappend + summary is cheaper1003001k3k10k1101001kCDRs per subscriber per day (log)work units / subscriber / day (log)break-even ≈ 4.4 / daylight · 1.5average · 11heavy · 400Embedded rollup · doc rewriteAppend + summary · +30% read +
KNOB SETTINGS · THIS WORKLOAD1 · DiversityMedium-high — 4 consumersapp, charging, ops dashboardand the bill run2 · Read / writeWrite-heavy on the rollup~30 balance reads/day vs11 CDRs avg · 400+ heavy3 · Update localityEvery write, one parenteach CDR lands on the samehot subscriber documentWORK / SUBSCRIBER / DAY vs CDRs / DAY · illustrative modelembed winsappend + summary is cheaper1003001k3k10k1101001kCDRs per subscriber per day (log)work units / subscriber / day (log)break-even ≈ 4.4 / daylight · 1.5average · 11heavy · 400Embedded rollup · doc rewriteAppend + summary · +30% read
Illustrative cost model, not a benchmark: 30 balance reads/subscriber/day; a CDR rewrites the ~4 KB document (4 units + contention) vs a row insert + counter-row update (2 units). Both serialise per subscriber; only the embedded lock is held for a whole-document rewrite. The projected read costs ~30% more.
@@ -882,7 +952,7 @@

Append the CDR, maintain the rollup: staleness zero

-
CANONICAL TABLESMAINTAINED · PROJECTEDCONSUMERScdrappend-only rowssubscriber_usagethe rollup · 1 rowsubscribersmsisdn · planix_usage_topntotal_mb DESCsubscriber_dvduality viewcycleUsage NOUPDATEBill runSQL over cdrOps Top-Nindex range scanSelf-care appMongo API find()ChargingSQL/JSONtriggersame txn
+
CANONICAL TABLESMAINTAINED · PROJECTEDCONSUMERScdrappend-only rowssubscriber_usagethe rollup · 1 rowsubscribersmsisdn · planix_usage_topntotal_mb DESCsubscriber_dvduality viewcycleUsage NOUPDATEBill runSQL over cdrOps Top-Nindex range scanSelf-care appMongo API find()ChargingSQL/JSONtriggersame txn
When to flip back: a mostly-read, rarely-written total — light subscribers, a closed cycle's final bill — can live on the document. Compute-on-write is right when writes are rare and don't collide.
@@ -927,7 +997,7 @@

Manufacturing IoT: one bucket, 36,000 rewrites

Immutable readings, mutable bucket

In canonical form a reading is an immutable row, inserted once; the hourly counters are derived. The bucket turns those immutable facts into one ever-growing document that every reading rewrites.

-
CANONICAL FORM — EACH READING ONCE, NEVER REWRITTENONE HOT SENSOR-HOUR, BUCKETEDPLANTPKplant_idvarchar2namevarchar2regionvarchar2MACHINEPKmachine_idvarchar2FKplant_idvarchar2modelvarchar2line_nonumberSENSOR_READINGSPKreading_idnumberFKmachine_idvarchar2metricvarchar2reading_valnumberreading_tstimestampHOURLY_MV · derivedmachine_idvarchar2hour_startdatennumbersum_valnumbermax_valnumberGROUP BY hour · on readM-118 · spindle vibration10 readings / s1 bucket documentcount · sum · min · max · readings[ ]every reading rewrites all of itO(n²) rewrite volume36,000 rewrites · 4.3 MB bucket≈ 78 GB if each push rewrites itCanonical: 36,000 row inserts≈ 9 MB · appended to one partitionrewritten on every reading — the bucket's counters and arrayimmutable reading — inserted once, never rewritten
+
CANONICAL FORM — EACH READING ONCE, NEVER REWRITTENONE HOT SENSOR-HOUR, BUCKETEDPLANTPKplant_idvarchar2namevarchar2regionvarchar2MACHINEPKmachine_idvarchar2FKplant_idvarchar2modelvarchar2line_nonumberSENSOR_READINGSPKreading_idnumberFKmachine_idvarchar2metricvarchar2reading_valnumberreading_tstimestampHOURLY_MV · derivedmachine_idvarchar2hour_startdatennumbersum_valnumbermax_valnumberGROUP BY hour · on readM-118 · spindle vibration10 readings / s1 bucket documentcount · sum · min · max · readings[ ]every reading rewrites all of itO(n²) rewrite volume36,000 rewrites · 4.3 MB bucket≈ 78 GB if each push rewrites itCanonical: 36,000 row inserts≈ 9 MB · appended to one partitionrewritten on every reading — the bucket's counters and arrayimmutable reading — inserted once, never rewritten

Immutable facts, mutable container. The write amplification comes from the bucket, not from the data — derive the counters instead of storing them.

@@ -938,7 +1008,7 @@

Immutable readings, mutable bucket

Slow sensors love buckets. Hot sensors break them.

Diversity is medium and the workload is write-heavy, but the knob that bites is locality: every reading lands on the same growing document. Rewrite cost grows with n², so the break-even is about 900 readings per bucket.

-
KNOB SETTINGS · THIS WORKLOAD1 · DiversityMedium — 4 read shapesdashboard, shift rollup,anomaly scan, ML features2 · Read / writeWrite-heavy~3B readings in per day;reads are rollups, not points3 · Update localityEvery write, same documenteach reading rewrites thegrowing hour bucketBYTES PER SENSOR-HOUR vs READINGS / BUCKET · illustrative modelbucket is cheaperrows are cheaper100 KB10 MB1 GB100 GB1001k10k100kreadings per bucket (log)bytes touched per sensor-hour (log)break-even ≈ 9001 / min · 601 / s · 3,600hot · 36,000Bucket · $push + countersRows · append, GROUP BY on read16 MB cap ≈ 140k +
KNOB SETTINGS · THIS WORKLOAD1 · DiversityMedium — 4 read shapesdashboard, shift rollup,anomaly scan, ML features2 · Read / writeWrite-heavy~3B readings in per day;reads are rollups, not points3 · Update localityEvery write, same documenteach reading rewrites thegrowing hour bucketBYTES PER SENSOR-HOUR vs READINGS / BUCKET · illustrative modelbucket is cheaperrows are cheaper100 KB10 MB1 GB100 GB1001k10k100kreadings per bucket (log)bytes touched per sensor-hour (log)break-even ≈ 9001 / min · 601 / s · 3,600hot · 36,000Bucket · $push + countersRows · append, GROUP BY on read16 MB cap ≈ 140k
Illustrative cost model, not a benchmark: 120 B per reading; each $push rewrites the whole bucket (s·n²/2 per hour); a row insert adds ~130 B of header, index and redo; a live dashboard reads the hour 360×/h, paying ~150 B more per row than one 2 KB-overhead document fetch.
@@ -953,7 +1023,7 @@

Let the partition be the bucket, and put SQL in the pipeline

-
CANONICAL TABLESSUMMARYCONSUMERSmachinesplant · line · modelsensor_readingsappend-only rowsINTERVAL 1 hGROUP BY hourpartition-prunedparallelhourly_mvsummary MVDashboardsSQL · last hourAnomaly scanMongo API $sqlShift reportSQL · MV
+
CANONICAL TABLESSUMMARYCONSUMERSmachinesplant · line · modelsensor_readingsappend-only rowsINTERVAL 1 hGROUP BY hourpartition-prunedparallelhourly_mvsummary MVDashboardsSQL · last hourAnomaly scanMongo API $sqlShift reportSQL · MV
When to flip back: slow sensors. At one reading a minute the bucket holds 60 readings and a live dashboard reads it hundreds of times an hour — below ~900 readings per bucket, the one-document read wins.
@@ -999,7 +1069,7 @@

Insurance: ten claim events inline, rewritten on every event

An append-only event, turned into a document rewrite

Canonically a claim event is an immutable fact, inserted once. The Subset pattern turns it into two writes: a push-sort-trim rewrite of the policy document and a history insert — to maintain a list an index could simply read.

-
CANONICAL FORM — EACH EVENT ONCEONE CLAIM EVENT, TWO MODELSPOLICYPKpolicy_idvarchar2holdervarchar2productvarchar2premiumnumberstatusvarchar2CLAIMPKclaim_idvarchar2FKpolicy_idvarchar2loss_datedatestatusvarchar2reservenumberCLAIM_EVENT · append-onlyPKevent_idvarchar2FKclaim_idvarchar2FKpolicy_idvarchar2event_typevarchar2amountnumberevent_tstimestampINDEXpolicy_id, event_ts DESCclaim event · CLM-5581payment · $2,400policy docpush · sort · trimwhole doc rewrittenhistory docinsert full eventsecond place2 writes, 2 places, per eventthe hot doc absorbs every oneCanonical form: 1 row insert+ 1 index entry · the recent 10is derived on read, not maintainedmutable claim state — updated in placeimmutable event facts — append once, never rewritten
+
CANONICAL FORM — EACH EVENT ONCEONE CLAIM EVENT, TWO MODELSPOLICYPKpolicy_idvarchar2holdervarchar2productvarchar2premiumnumberstatusvarchar2CLAIMPKclaim_idvarchar2FKpolicy_idvarchar2loss_datedatestatusvarchar2reservenumberCLAIM_EVENT · append-onlyPKevent_idvarchar2FKclaim_idvarchar2FKpolicy_idvarchar2event_typevarchar2amountnumberevent_tstimestampINDEXpolicy_id, event_ts DESCclaim event · CLM-5581payment · $2,400policy docpush · sort · trimwhole doc rewrittenhistory docinsert full eventsecond place2 writes, 2 places, per eventthe hot doc absorbs every oneCanonical form: 1 row insert+ 1 index entry · the recent 10is derived on read, not maintainedmutable claim state — updated in placeimmutable event facts — append once, never rewritten

The recent ten is a query, not a fact. Store the event once; a (policy_id, event_ts DESC) index keeps it pre-sorted — the price is one index entry per insert and a short range scan per read.

@@ -1010,7 +1080,7 @@

An append-only event, turned into a document rewrite

The subset wins on a sunny day and loses in the storm

Two knobs favour the subset: four consumers and a 67 : 1 read skew. The third — every event rewrites the parent — sets the price. Break-even is about 83k events a day; a CAT day runs at 300k.

-
KNOB SETTINGS · THIS WORKLOAD1 · DiversityHigh — 4 consumersagents, customer app, adjustersand fraud all read claim events2 · Read / writeRead-heavy, ~67 : 12M summary reads/day against~30k claim events/day3 · Update localityEvery event hits the parenteach event rewrites the policydoc and writes history tooDAILY WORK vs CLAIM EVENTS / DAY · illustrative modelthe subset is cheaperquerying is cheaper3M5M10M10k100k1Mclaim events per day (log)work units per day (log)break-even ≈ 83k / daynormal day · 30kCAT day · 300kSubset · push + trim + historyQuery it · FETCH FIRST 10, +25% read +
KNOB SETTINGS · THIS WORKLOAD1 · DiversityHigh — 4 consumersagents, customer app, adjustersand fraud all read claim events2 · Read / writeRead-heavy, ~67 : 12M summary reads/day against~30k claim events/day3 · Update localityEvery event hits the parenteach event rewrites the policydoc and writes history tooDAILY WORK vs CLAIM EVENTS / DAY · illustrative modelthe subset is cheaperquerying is cheaper3M5M10M10k100k1Mclaim events per day (log)work units per day (log)break-even ≈ 83k / daynormal day · 30kCAT day · 300kSubset · push + trim + historyQuery it · FETCH FIRST 10, +25% read
Illustrative cost model, not a benchmark: 2×10⁶ summary reads/day; assembling the summary on read (policy row + index range scan, FETCH FIRST 10) adds ~25% per read; a policy-document rewrite costs 6 work units, a row or document insert 2; full-history reads cost the same in both models.
@@ -1025,7 +1095,7 @@

Stop maintaining the subset: insert once, read the top ten

-
CANONICAL TABLESPROJECTIONCONSUMERSpoliciesheader, onceclaim_eventsappend · DESC indexclaimsstatus · reservepolicy summarySQL/JSONFETCH FIRST 10full historysame query,no FETCH FIRSTAgents · appSQL/JSON docAdjustersSQL · auditFraud reviewSQL analytics
+
CANONICAL TABLESPROJECTIONCONSUMERSpoliciesheader, onceclaim_eventsappend · DESC indexclaimsstatus · reservepolicy summarySQL/JSONFETCH FIRST 10full historysame query,no FETCH FIRSTAgents · appSQL/JSON docAdjustersSQL · auditFraud reviewSQL analytics
When to flip back: if the inline slice is frozen at write time and rarely changes — the three coverages printed on the declarations page — keep it in the document. A slice that changes on every event is a query.
@@ -1070,7 +1140,7 @@

Manufacturing BOM: the path is fast until engineering moves it

Store the edge, derive the position

Canonical form stores one row per parent → child link; position is computed by walking edges. The materialized path stores position in every part — so moving one subassembly rewrites the whole subtree beneath it.

-
CANONICAL FORM — EDGES, NOT BAKED PATHSTHE SAME MOVE, AS PATHSPARTPKpart_idvarchar2namevarchar2revvarchar2unit_costnumberFKsupplier_idvarchar2BOM_EDGEPKedge_idnumberparent_idvarchar2FKchild_idvarchar2qtynumberECOPKeco_idvarchar2FKedge_idnumberfrom_parentvarchar2released_attimestampparent → child · a part can have many parents (DAG)ECO-4471 · re-parent SA-7A-1 → A-21SA-7 itself10 – 40kdescendants≈ subtree-size rewritesper ECO · not one transactionAdjacency edge: 1 row updatethe subtree follows · atomicthe column an ECO writes — structure, not positionimmutable change history — safe to copy
+
CANONICAL FORM — EDGES, NOT BAKED PATHSTHE SAME MOVE, AS PATHSPARTPKpart_idvarchar2namevarchar2revvarchar2unit_costnumberFKsupplier_idvarchar2BOM_EDGEPKedge_idnumberparent_idvarchar2FKchild_idvarchar2qtynumberECOPKeco_idvarchar2FKedge_idnumberfrom_parentvarchar2released_attimestampparent → child · a part can have many parents (DAG)ECO-4471 · re-parent SA-7A-1 → A-21SA-7 itself10 – 40kdescendants≈ subtree-size rewritesper ECO · not one transactionAdjacency edge: 1 row updatethe subtree follows · atomicthe column an ECO writes — structure, not positionimmutable change history — safe to copy

A path is a derived fact stored N times. The edge is the fact stored once — an ECO changes one row and the subtree follows.

@@ -1081,7 +1151,7 @@

Store the edge, derive the position

The needle flips on the size of the move

Two knobs favour the path: four read questions and a read-heavy day. The third — every re-parent lands on the whole subtree — decides it. Charge the recursive read its real premium and break-even sits near 1,000 parts per move.

-
KNOB SETTINGS · THIS WORKLOAD1 · DiversityHigh — 4 questionsexplode, roll up, where-used,recall impact2 · Read / writeRead-heavy~2M explosions/day against~200 ECOs/day3 · Update localityLands on every descendantone re-parent rewrites10 to 40,000 part pathsDAILY WORK vs PARTS PER MOVED SUBTREE · illustrative modelpath is cheaperedges are cheaper2M5M10M20M101001k10kparts in the moved subtree (log)work units per day (log)break-even ≈ 1,000 partsroutine ECO · 50module move · 10kMaterialized pathAdjacency edges · CONNECT BY, +30% read +
KNOB SETTINGS · THIS WORKLOAD1 · DiversityHigh — 4 questionsexplode, roll up, where-used,recall impact2 · Read / writeRead-heavy~2M explosions/day against~200 ECOs/day3 · Update localityLands on every descendantone re-parent rewrites10 to 40,000 part pathsDAILY WORK vs PARTS PER MOVED SUBTREE · illustrative modelpath is cheaperedges are cheaper2M5M10M20M101001k10kparts in the moved subtree (log)work units per day (log)break-even ≈ 1,000 partsroutine ECO · 50module move · 10kMaterialized pathAdjacency edges · CONNECT BY, +30% read
Illustrative cost model, not a benchmark: 2×10⁶ explosion reads/day at 1 unit via a path-prefix scan; recursive CONNECT BY adds ~30% per explosion; 200 ECOs/day; each document or row rewrite costs 3 units. Where-used is left out — which favours the path.
@@ -1096,7 +1166,7 @@

Store the edge: recurse down, match up, move one row

-
CANONICAL TABLESSAME ROWS, TWO READSCONSUMERSbom_edgesparent → childECO writes hereparts1.2M rowsCONNECT BYexplode · roll upone recursive passbom_graphSQL/PGQ graphwhere-used, N hopsPlanningSQL · explodeCost rollupSQL · nightlyRecall deskwhere-usedSQL/PGQ
+
CANONICAL TABLESSAME ROWS, TWO READSCONSUMERSbom_edgesparent → childECO writes hereparts1.2M rowsCONNECT BYexplode · roll upone recursive passbom_graphSQL/PGQ graphwhere-used, N hopsPlanningSQL · explodeCost rollupSQL · nightlyRecall deskwhere-usedSQL/PGQ
When to flip back: a tree that rarely moves and is read one way — a product catalogue, an org chart snapshot — keep the materialized path. Its prefix scan is the cheapest explosion there is.
@@ -1143,7 +1213,7 @@

Brokerage: 40,000 books of business, and 120 that don't fit

The book is rows; the document boundary is the outlier

Canonical form stores each client once, as a row keyed by advisor — 180 rows or 148,000, same table, same index. The document model makes the book one physical object, so the fat tail becomes overflow documents and an application branch.

-
CANONICAL FORM — A CLIENT IS A ROWTHE SAME BOOK, AS DOCUMENTSDESKPKdesk_idvarchar2desk_namevarchar2book_typevarchar2ADVISORPKadvisor_idvarchar2FKdesk_idvarchar2full_namevarchar2regionvarchar2CLIENTPKclient_idvarchar2FKadvisor_idvarchar2full_namevarchar2aumnumberaum_as_ofdateopened_ondateINDEX (advisor_id, aum DESC)any book, any size: one range scanp50 advisor · 180 clients1 document · ~72 KB · one readteam book · 148k clientsadvisor doc: first 20k + hasExtras#part-220k clients#part-320k clients… #part-820k clientsapplication branchif hasExtras: 1 + 7 fetches, merge-sortCanonical form: 1 query, any booksame index range scan · no branchmutable — rewritten nightly, inside the biggest documentsimmutable — safe to copy anywhere
+
CANONICAL FORM — A CLIENT IS A ROWTHE SAME BOOK, AS DOCUMENTSDESKPKdesk_idvarchar2desk_namevarchar2book_typevarchar2ADVISORPKadvisor_idvarchar2FKdesk_idvarchar2full_namevarchar2regionvarchar2CLIENTPKclient_idvarchar2FKadvisor_idvarchar2full_namevarchar2aumnumberaum_as_ofdateopened_ondateINDEX (advisor_id, aum DESC)any book, any size: one range scanp50 advisor · 180 clients1 document · ~72 KB · one readteam book · 148k clientsadvisor doc: first 20k + hasExtras#part-220k clients#part-320k clients… #part-820k clientsapplication branchif hasExtras: 1 + 7 fetches, merge-sortCanonical form: 1 query, any booksame index range scan · no branchmutable — rewritten nightly, inside the biggest documentsimmutable — safe to copy anywhere

Outliers exist only where a physical boundary is part of the model. Remove the boundary and a 148k-client book is just a longer range scan.

@@ -1154,7 +1224,7 @@

The book is rows; the document boundary is the outlier

Designed for the p50, paid for at the p99.9

For the median book of 180 clients, one embedded document is ~3× cheaper than a range scan — the break-even is about 3,200 clients. The ~120 team books sit 50× past it, where the read becomes 1 + k fetches and a merge in the app.

-
KNOB SETTINGS · THIS WORKLOAD1 · DiversityLow — one book screenportal and batch read thebook the same way2 · Read / writeRead-heavy by day~2k reads/s at the open;one refresh storm a night3 · Update localitySkew ×800, p50 → maxwrites land in the biggestdocuments on the platformWORK PER TOP-100 BOOK READ vs BOOK SIZE · illustrative modelone document is cheaperrange scan is cheaper10301003001k3k101001k10k100kclients per advisor (log)work units per read (log)break-even ≈ 3,200 clientsp50 · 180 clientsteam book · 148kEmbedded book + overflowRows · index range scan, top 100 +
KNOB SETTINGS · THIS WORKLOAD1 · DiversityLow — one book screenportal and batch read thebook the same way2 · Read / writeRead-heavy by day~2k reads/s at the open;one refresh storm a night3 · Update localitySkew ×800, p50 → maxwrites land in the biggestdocuments on the platformWORK PER TOP-100 BOOK READ vs BOOK SIZE · illustrative modelone document is cheaperrange scan is cheaper10301003001k3k101001k10k100kclients per advisor (log)work units per read (log)break-even ≈ 3,200 clientsp50 · 180 clientsteam book · 148kEmbedded book + overflowRows · index range scan, top 100
Illustrative cost model, not a benchmark: embedded = 10 per document fetch + 0.01 per client read (~400 B each), 20k-client overflow documents + 0.005/client app merge; rows = 10 + 2·log₁₀ n + 0.25 per row returned (≤ 100).
@@ -1169,7 +1239,7 @@

The outlier is just more rows: one query, no branch

-
CANONICAL TABLESPROJECTIONCONSUMERSadvisorsone row eachclientsidx advisor_id,aum DESCadvisor_dvduality viewbook as a documenttop-N queryFETCH FIRST ·OFFSET pagesCRMMongo API find()AI assistantSQL/JSONBook screenSQL · any size
+
CANONICAL TABLESPROJECTIONCONSUMERSadvisorsone row eachclientsidx advisor_id,aum DESCadvisor_dvduality viewbook as a documenttop-N queryFETCH FIRST ·OFFSET pagesCRMMongo API find()AI assistantSQL/JSONBook screenSQL · any size
When to flip back: if the list has a hard upper bound — ten saved watchlists, five beneficiaries — embed it. The Outlier pattern is only needed when the bound is a guess. Growth costs too: +1 client to an 800-client book is ~20× a row insert's redo (companion lab).
@@ -1426,21 +1496,62 @@

What comes next

}); const dotEls = Array.from(dots.children); - function go(i) { + // ─── Builds ───────────────────────────────────────────────────── + // Inside a slide, data-step="n" shows an element from build n on; data-step-end="m" hides it + // after build m. Next/Prev walk the builds before leaving the slide. The slide carries + // data-at="" for build-specific styling. Slides without steps are unchanged. + let step = 0; + const stepped = (s) => Array.from(s.querySelectorAll('[data-step],[data-step-end]')).filter(el => !el.closest('aside.notes')); + function stepKeys(s) { + const k = new Set(); + stepped(s).forEach(el => { if (el.hasAttribute('data-step')) k.add(+el.dataset.step); }); + return Array.from(k).sort((a, b) => a - b); + } + function applyStep(s, n) { + const keys = stepKeys(s); + if (!keys.length) return; + const at = n > 0 ? keys[n - 1] : -Infinity; + stepped(s).forEach(el => { + const a = el.hasAttribute('data-step') ? +el.dataset.step : -Infinity; + const b = el.hasAttribute('data-step-end') ? +el.dataset.stepEnd : Infinity; + el.classList.toggle('step-hidden', !(a <= at && at <= b)); + }); + s.dataset.at = n > 0 ? at : 0; + } + function syncHash() { + if (history.replaceState) history.replaceState(null, '', '#' + (cur + 1) + (step ? '.' + step : '')); + } + + function go(i, back, n) { cur = Math.max(0, Math.min(slides.length - 1, i)); slides.forEach((s, j) => s.classList.toggle('active', j === cur)); dotEls.forEach((d, j) => d.classList.toggle('on', j === cur)); counter.textContent = (cur + 1) + ' / ' + slides.length; progress.style.width = ((cur + 1) / slides.length * 100) + '%'; - if (history.replaceState) history.replaceState(null, '', '#' + (cur + 1)); + const total = stepKeys(slides[cur]).length; + step = n != null ? Math.max(0, Math.min(total, n)) : (back ? total : 0); + applyStep(slides[cur], step); + syncHash(); slides[cur].scrollTop = 0; } + function next() { + if (step < stepKeys(slides[cur]).length) { step++; applyStep(slides[cur], step); syncHash(); updateNotesWindow(); } + else if (cur < slides.length - 1) go(cur + 1); + } + function prev() { + if (step > 0) { step--; applyStep(slides[cur], step); syncHash(); updateNotesWindow(); } + else if (cur > 0) go(cur - 1, true); + } + // Print the fully built state of every stepped slide, then restore. + let preStep = 0; + addEventListener('beforeprint', () => { preStep = step; slides.forEach(s => applyStep(s, stepKeys(s).length)); }); + addEventListener('afterprint', () => { slides.forEach(s => applyStep(s, 0)); step = preStep; applyStep(slides[cur], step); }); - document.getElementById('prev').addEventListener('click', () => go(cur - 1)); - document.getElementById('next').addEventListener('click', () => go(cur + 1)); + document.getElementById('prev').addEventListener('click', prev); + document.getElementById('next').addEventListener('click', next); document.addEventListener('keydown', (e) => { - if (e.key === 'ArrowRight' || e.key === ' ' || e.key === 'PageDown') { e.preventDefault(); go(cur + 1); } - else if (e.key === 'ArrowLeft' || e.key === 'PageUp') { e.preventDefault(); go(cur - 1); } + if (e.key === 'ArrowRight' || e.key === ' ' || e.key === 'PageDown') { e.preventDefault(); next(); } + else if (e.key === 'ArrowLeft' || e.key === 'PageUp') { e.preventDefault(); prev(); } else if (e.key === 'Home') { e.preventDefault(); go(0); } else if (e.key === 'End') { e.preventDefault(); go(slides.length - 1); } else if (e.key === 'n' || e.key === 'N') { e.preventDefault(); toggleNotes(); } @@ -1457,6 +1568,8 @@

What comes next

const title = (slideEl.querySelector('h1, h2') || {}).textContent || ('Slide ' + (slideIndex + 1)); const aside = slideEl.querySelector('aside.notes'); const notes = (aside && aside.innerHTML.trim()) || speakerNotes[slideIndex] || 'No speaker notes for this slide.'; + const keys = stepKeys(slideEl), total = keys.length; + const at = slideIndex === cur && step > 0 ? keys[step - 1] : 0; return '' + 'Speaker Notes' + '' + - '
Slide ' + (slideIndex + 1) + ' / ' + slides.length + '' + + '
Slide ' + (slideIndex + 1) + ' / ' + slides.length + + (total ? ' · build ' + (step + 1) + ' / ' + (total + 1) : '') + '' + '' + title + '
' + '
' + notes + '
' + '' + @@ -1504,10 +1619,11 @@

What comes next

document.getElementById('notesToggle').addEventListener('click', toggleNotes); const goBase = go; - go = function (i) { goBase(i); updateNotesWindow(); }; + go = function (i, back, n) { goBase(i, back, n); updateNotesWindow(); }; - const h = parseInt(location.hash.slice(1), 10); - if (h >= 1 && h <= slides.length) go(h - 1); else go(0); + const hm = location.hash.match(/^#(\d+)(?:\.(\d+))?$/); + const h = hm ? parseInt(hm[1], 10) : 0; + if (h >= 1 && h <= slides.length) go(h - 1, false, hm[2] ? parseInt(hm[2], 10) : 0); else go(0); diff --git a/labs/converged-modeling-patterns/presentations/images/image77.png b/labs/converged-modeling-patterns/presentations/images/image77.png new file mode 100755 index 0000000000000000000000000000000000000000..05bd1b0fd864fd52a04c8745879b2d63130c0eed GIT binary patch literal 349114 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 z b!V&1XJ-{!yFyiv?l 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

8au#wnIPDle?&fZaG)jvwSX-hE^aV$uNS9Mv6TP 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]qUXU0Xc?4`9reT$}qplq-XFyIV4|v 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

lt@J>V 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 literal 0 HcmV?d00001 diff --git a/labs/converged-modeling-patterns/presentations/images/image78.png b/labs/converged-modeling-patterns/presentations/images/image78.png new file mode 100755 index 0000000000000000000000000000000000000000..b2f3678f9fc97bcf556da3495999849d37e53f72 GIT binary patch literal 74157 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 WKrTU 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 b?a_Hop<=vYxAoaG=+%=->PM3mOs@S8EEaa_ literal 0 HcmV?d00001 diff --git a/labs/converged-modeling-patterns/presentations/images/image79.png b/labs/converged-modeling-patterns/presentations/images/image79.png new file mode 100755 index 0000000000000000000000000000000000000000..8ea53071aef9621c95a899ce0ca3917df952d717 GIT binary patch literal 539736 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±Kx24X6{0e#kY3t| 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�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%0Ad%Ci|-<} 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%0A|R5;ch3&Cnx^jIA7ho#tR0Ys}K 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å%0!F{@0iyznY&4@eu_8X~aD~3?+isnX_ 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

Z_MuTtN}uK%s}Y!RRq}LT~E04`baGYX~Ix zqsbRxHKAeid z1xB{4@H!%5bW|}28yGscmFASw8$Pi+=}a*1MX5r*PcQzit5tL~myEVFQolJtP3a=4 zzUA2l1;X%ihD!9z7eWeSUa;_mGn|^8e1aZ7byb}Aygf{G>YWDnGk0Yezb)Gz?z!)| z;PR0tk2pQYocX{<20c)fd%BMr&tUa;*64z(RP}u@HT#29O+? z_iE$-eaA}SAkb#4Tk4rSYc9GiTbKUOo4Pok?4+p|mWfM?E|Pb~w(NG4YNm}B%;%{V z{f8ZKe{geUV&%d!Vg_}E-;N#j8te1_~*7RZ&XMT2#=hX zMgoMz*;nP%J5BN;p9U)0d`fvzFPr;*4z{dT?V|a1YpvP@kUp!tz|hBJop<7}e|)cl z&PB4LH`Zy34M=oo5RiB(&|fFy8F!J~>4H&`2IwWDwf{LFjrdyn|5Gi$PU8fxMz&w#qT>#B$(-x9u2K;g9y~gKx#bLCv2zhPMQ?Q%!A{-`$;wDt9o2(lVNc+|MW-K? zU=+j_bK9_>kfvIW;pC+OVhRz>P*~c@4t#`zFWj!y^x0+}_`w#xi<^NyTK93)L?LQv z&5|5F0QDvq1%Ws&@S=bA8Jf^vu1|~&AjK9V^%?0)0OiGXnVZROljL=9R7G3!)e46k z)-ODml3=5py}vFHgPN#^9=`^d3*4-6@Wn}<;dF6Y^@;N0_2|*_6TBiZA3};!8ygil z3bd!Yd1Xg*s86LB3aE5z$ zhtzx2hf$Z-yP*pJ;uioMpC-|B)<629t4pNWofQziExn8|lzNSPY3q}i5kO2Az}R*% zV$q1&42${5jY%eK9aX`w2=!TNpfED1GyK-4t}LAkBWS2>+&wMmxcxD-X}aZjYoZ#r z^`f;&UB4}YXy#HiKPh9o#h(gWx2IDF_G_)M(rQv`W+Ubn#bPY{!0_9-N~q5FL0R$I znN!=yg$EQ3DU)LMMX=tm!gZuU`*d#M3~9so{c_21^rVBva?!c`Al`DJO_GNqG!}Ka z>O3@nvFwLU0HuQ`jaI!V8>;t&W2aSRHav!Dp}#oH$hmeMRtHkl)(iJd7cF~|C?*Xz z5Ook#Yp0#TymO8>WGkdpHSkShl-)rdq%P)rgu%<#3d8E4c(u58u?3d;7qt{*TkFbM+_i(8f#M5dg6-+(2Z7*%X~m+B_mIlw&9Vpp^~ww9c}BG zj_AKxL0w5)KJ}c9yky zCn!@m^scby*xP~m>JBkXT59DZ--bv{RBQ5@Sp~N+<+AEnTaYWQjI@Os#$OatRY4Gd ziV}MK%3e1d@e0GFVZSyA;Mr<#EaZmc4Rsh6h40Cv>W@MTP4lm{8F=@_47Iuj3Erc~ zo)c_anXu4OVmIN|nb9D3Wy`+EzVt5+~U zMJsbgEJgUuG^2#(rV3TVP`T!1E5Nv{z{rcBkhN{@yfHS2!JFk7r z+gwiB1)VwbwLcti=R`Xo8b%@>mQPCK2QES;THSag5g5$nb~0`U)aN5imh&0Tk7dvv zs@wnHVe=-=uO9tc^<)+3hwmx*(%20M2HdBwqfO) zsX%=EI88|=7Ik$M))<3?66@&)D;Xl(e0N%?!@hpcPhjKcAN5hMCruW!77O_u)e#tOm##W0fkRD&lfm>Rf!?WW`56T^x?OjRORRQ17_ zWL=$cp-B4BK0G3wE%{^?oTRe8@B5bRbFMCy_CO|KaT1;r*Tmnr$;>gDzh(M7Vgz`S zIotuU2hiQeY2dG+H?pZbFkD=rF^o*#= z3wLDd&)Q)D3{{`yQBnfducQi}Z-^b*9aSFiMGqN@gWM6VKTh-9oicm@u=fn1g~~6I zb8FymC#p>q2JMn`wA=Fiasx(EgAgTh_r#w}n#M|uu|K+-W2#Fj1{`2tvt_3w8^)I} z^Lt0FN8bHXIuy%~;+4Vk5?%rQL2xCVqV4$_mpvrgsywW1N2jc}A~OV6qYuJ1s^1V}bNqc2}q2exO1%)?DQ zP?de=sNX4M(4%Y!|4rj)RKQ`QREfD}C15{k*;(r`l>c)j#(5l@nX~MSQwkWLA*C_z zTo+TA`~%dRQfv3(J#)){PxgX~?JJ`(PjKQ>V4vsYlfDFsiuJ%o|62@P=lT#07C4)h zJ2HSt%zBcUU8l?15&68OS z{fCrlZ$L~YUIj9KrGgc*tu(k~0U}5-_*V^1K?B!kfi(&84^c}?@lqjq^!xFrlGsK2 z(0UZherpRgu4C*B>Z$aef=`NlhH+v^%R0(hqX9!lH*crDLkEJm_$}1UZSW*}f87&b z4*ju;3In4p+_MUkU}`_dxA4i#NX2B=C~MaySC8J6jBMD0B%V41AEuE7?j-Pb9Dg%p zdG|z4v4plN&jCm~8E3}N?hx~fylfEV@KRkxa%TpBO7Fd;M2%yd=<&rL`K6euu`OKV zAu}aIsiWunG`?;}BzdxK)70Z+YnSD9xJx^Y*w`Q}jX-T~S7AC-#|zP8>11zN{HhHN z?&h;{vX%z^^*V*W1UY|9kn!`VD_v#n!gvRFP^vykhBWi{7|l{vCN9fF!Z;y>Y|I6K z>!N?86apnfAemz5D7XoAz)Tca+I||DAMtQ91x4`HVM_`pdLAKF*=#lo_Qs@5>Z|wr z#gxnPt5rU@#!VWrlAG)z9HElVTs%Dr^B80cc?eC=Poaj|+r($aNV=50+K;VT(+uhj zd@EiL-olrGH-ZEfo3@K#LwVsbMXYxi%|?B2a0O z^hq4TEv zzpWCsm(F8H&HxrhJT2M_Sc-6lnT-t%Nl|fk@4(XC-^2(?aOJ3( z|F=%B)b(vKcv(d2w+pVsx0Qtn0n~PEFPXFGI(oe(wc?I95(m*QO4G=s1wV3OQhTQ> zPZd24lMXXd&4y}D1XE_mAxX&Sd`IiMx}Ff8yxM_hSka`x@?+xS8#V4FAr7OhW-JLg z@Fid98%c*G-ywtWNltn+hmSu6(jh5ks&Jx*#qsdclBY>gyW^U~HMvCNF~#0F`!tW* z$(B(eo_r{+#?|l=;jk1!y!a-40x*Lgejo7H+C(*dke1PIq$b54|4$R-ixs6temAO| zm=yD29`;pC4#Dp_&jOr`v6EPKhyoP0BQXBAoWTAyKH{2@pMO|iOugQ&Y^8F$=Ic3SdfQ8CC ztin3T1hLu2ajRU!k2PkzaT`b}`2$l6Q?{Vw{b364mLqTLoEo8)li9X&7C0r%Y;a!T zJi>{cUnS;j;HgC9FrZphiS5DIA}p1{^Ef}eVZo3%uPYW(X00&N8REyU>pZm`9K+=~ z`ykfzx9%et{sozPrJ)=`jK~J3%-O{0o4NTLd^D$l<$)r7azh~x6#doio*|h&m(OnJZ8OYF6BTJ-3``9BUex-JJk%{cB-!9es`H&Lzhfc|BMqLZtrFTn6<#=ETv>^`NH#DC;Mc zC$OE+3mXvP-GB5**8QOfTKf8m^74T3i3uJ_$;9>`H>|+GtzO^5-rO_J8w?n4 z1h{Di?mj{l%hFr|<5b}fuJQciAg5_F?3u1U>^MU5-TZ-)o?j&HX&sDTW@PABRfgvI zAJOmLG`0UqB*bFIOmw#SkR#j`kJ>t#+|?=l_SO{)ZrU*`!S|$#k-oMJ6r;pea{YOc z_xsEGxZQ`}#f`iv z{1}F-52Rp5*AX}Pb0`2e;UHszX^Y=Vt4*KiPTgICwz4My_ozbpL2FhtadnD?-&0D? z?ZS=!q2AA&Hj%*jkTLkwDh`5QvBrdg%A}N5er|Je%1`QBhG60ae5J}O_-B8f^ol!( ze(uikSfT#g0b0LXA7hA#5!hvMiG(HCdJ@t7*(nR~%=J0L26r5v)KQfDuRLhc5(2rH zr($}Gjb(pNrB7jN%PgYC`T&eM)CFwS<~f@Don|h64jd{w1D5M1H66W zb7g>RToUBN-6N{$#A(P8;0HV9!IPBbtmuBmTYTZ2DxBd)!LVNv%Hw+BaVSN{hOiBY z@c2HnP!T*5v4EjrMuf1ma4HKLWtScjn);>|DCqj(n9Jb511RjRbLQaUo<~}KP7{ke=2E4*$wFvplaAMc%7-T> zS&n*zkHexORwfm~NT#T50AA?|8?8K6)H9@_{B}#-98H~?=7LNQxe>+5Tuby@scy?z zV7EwB9bFIn6KxC#cH-z_i99u{A+i{qe|j-!q5UElvv+PQ1c8;=8SE0I-&dvPsV>JO zDg8V8%OY+ECYCG`nh+G(QNzMNE7OGW8@W}Y^CAN6{ab!<08oz~tMhg(>Wlov#nf!( z;r?^j$5hgAQwaa`B|qtlqW1hsQp3Im{sPq6QHZv+3zLLlp^598(rC4`l^FqV?6H;> z6g^1{GWx@nNId<#r3YExDiH2$cog_y%!N_xL|KPfk5dzC8+!@{+A~$>i9j5R#Q9kv-JgEPK2U_`8Mi?`z`%qWrtNl5g%+eT?R$dVCvf< zz)A1XA*mFo&1Ew|uiRE?3qH8uA0!e}iy*je)Xz|{_U}o!!{AP*(<+%3e^bp4>JbOa zX2;#JuTCy%s?90w8o%rsijiTZF$nFa&5i9Oq(os>8c9ITz$r#;9M zD$R?$)+|o#)`zPq-_lConax-EK=LFrDTx20gKWFS3_E27r*fo`dx1H>ZXZ+b)9z}{F7rjKYH%V; zL^k}?PIt|>xO5(9#06De{QhbEjPFc&x>yybahXci`tDLRshTrMUt5q zCyQmQ5iSgZd$}VAEiYrNE(QWGJK6Wu15J{~TX3|!(k2#xK_E+KXf19=47Z=$s~gz7 z+4en7`q`X!+<5wee`@Kj#X5pW>h8pm803&nb(;Hr%8e9RkB|RFG?=2$Mvl)o6&&7? zAT(&W5Y9Mnr9EuuAD8pQUDg4GR7Hvjx;Yj0aCwpz;1qgaF8jbHC{_&uq*+%YNaBFzUB2HK&2pJSMm>|JcjK$-`O2$E54uoDH7c@FbrdL+8y?#eNWZO!edH&Aio|GYgS@^>ZUqVikM90lmgx(HE3O56OUkjl6i`lcRG-JRf3&`s;EMtQ21 zOOv>SenG;Z8l9=}FxmC$T{aPl(O;{BGc15WoESj%LQ`)5pb^hKKR>1<3Mcfdr@HGQ zOxz$!eor!e!=-@VUTFTp$x>!@EbattoauD2dxEdx$gCPzYjZ_)DNC&NmS#_xL-y;> zfq^seMB;X<)}Qb#%*NJ}GHC2{TDvYx1ul#Iie&s(|2m4jz0S0|8ufTzEy7xWSAi{) z#5Z2q*0YjqIErmXDCCZD&WePdMse*ldZ8r zEMe;Xy5#j-Rr56*haaKeBwYQPFwAviAlz}w$&*D+ek+XfqNjw0%@yJ18LwzU0HZB1 zIpbp!Y6z;c;vf&M(Ud-byWuW5$_PD<-*lESy#f$YY z^5#&Spt%jO&=YqU+b*w-9@kv0%cXB16K!TQG~bawy?RQ!wO;?f4n zgeoKYX{p9whU#w9O4cSzxTd${y&v`(u)=Uwd;y* zR_{`%_laYF@&(`3)wQm!4*M!$czBqYoO}pP!{=?PSAUDUaw)`$kXYnr3WSj9%Zvbj z%+GV}ZBn+XGZ_~jG2U3C6ulXGc1vZSg%Z?~U482ALO2ly0p=h5ohcQU*7SD4ohkGtS_EO-9JkL7y)R~iHe&z+e`L8BJ#F#OYLUsQ@B#!tmG8}9c z5=_-`m{0d{HEirIYnkT5%FJQRxCi?i?fqJ|t=I`nBl5Xh` zA(6y1je*J%JpZ$dgSY&~uIs>7ERCY3A7sCtOmy~f;OJcXXN3U1g89NlUz1E7GL~JJ z(N8e5u<1!HW<8z#>m$$<@YriU4R=<4vt8T#wbk8x%x{Vox0_I}yh7;!p6+9K#H78D z`rsggM)87u3`Io*FLnROo)+H>mAXX6Sb&e#)g^Pz{>UEOKE*ACfX;n`=ATC)#nbu4 z^*I(@C74S`#I#mvKrsd?ELYZ)Wb>pK5sbDJvoKYxacut+9&ygn{_9%`J23^>5EzHD zo+KrJVdZZ4x2V&4-L_r2G1cq$_>j8H{Y$dH9WD5 zQHA(xm}2VvFDcWM1N|U6o9t0U}a`f%4H~_DMw`OJFIr5<*dGeK_M(VQbI4C~uzK$)|bjw|>lf5qZ z?=n9X(}Yur$LM^ANRRd)4IConlI1zuSo%Iau{t%J7JH`(Hj0-CPMtr4pX}=W1#hRe25mr^^z?M#@gJ7;4i7Yum6h^}3RyotvB;>XtJ9;#C77Mg ztB|I^+VOiHa8Bc4?A3v>iqSG{3*G9BAcw?{kwbN5rjYhN-fClqZV{CYKg`czA z!Y8RSYkd;WuQCBKsb`m-N08Q3HTrWePE}|PG0w=o7%eR*o}9@mOMt&E;0=A+(z~_} zUssC+8-~I!S(InBNo$PZtM2OZe7y_wZ?mG>U<#miL%ygLrG2Ifs?$KYsQpN1k6gL_ zaw4F-Izan?W52;@%D(IpeW&PDXagc$>{$Zd`!c$e>C<($<-vGMyF1}Tw2@HzG0pG^ zNA%a*?)ZY<556Cm8vo$w9xTut$A*(;+4#d&M=G_(huN6IIg-k6rgf1` z8Bwo>ZK)LY1*gb})e7XhL~HR!>nGb`cShbxt%@(#=SCeLPLg)y;GQ%EPj>i3;8%k> zdS0riR$H=&^yJQabP!mPNQ4Dq)M03@<YgL+S1 z1inl3BI&#l{kP8F4~F)<0{`6x#koYqz}X+(b#H_4 z%Bv*MlNo2xxed*Z9^!!Y9O&u;E6ewhG<#oC7y4al&SK)E*yF?PWsddP+joMt`cFv$ znKpD*GzC5W1W02w5SQmr)dY7;)m8cyJoLbidE{}UE?=^1gLXtBmlvS>&}+V~sf#ak zjSI=cV-oQEbFwGQ&c})$Ky+5~aUdQ+3d!yIx|>cwz{|WAug9RIsp9EOUH_L-h=E@p zV8ZKYhpoN%(Vq?$;>+OQrSZLlcP&E$o@$J87~GKk=v_=GxltlF$AEL|G*>`zjFWY^ z-B|r>&@=&XOfs-e3Sqi69oY7zp|td(iVNK`p%*W1!+Rot+Ebm$sJlrS`6(jsYe??t z1>st}{uD?_N@+`#w!vq4T4+;R8W@v;`@-4J?ID7tt}5lE-xzvo$v5gKx)uFh$X&xE zINwn?Q8aR^{G)KZ=HKA66+mw6)bNT}DY9z$2l>>JPrJiN0?3IR!@nll>!dP~KVGcO zc=n(ZtZ|czdJ_7{e`#uER&O*LR!DEKJfShBZ8w=Ja~*jE7Q=2B*Qy4WM@Zpv|C9Lu zjq3Oj8)RM+y2<&Gk!44ys#N9iOy^%!=q88$@P&TGwmRHo>!Ka5F0OygJY(S>nxma= z3}0{a3~4RBfNs6V3ItS~lp40ot0P@5)Uc)<6d6z3)20tkv78l z@9BS$ysGzg(Z{gNdT(pJ%{)oAsq+0@sCbOT&d#oHejcyB{z1z?C-VN>EM83w>X!V$ z{Wi;oMmZ20W~}f^XD9Vb+``u5M|X6M!jvENd8VBvj?lYL!drJP;!mic_-{v96Fmx- zvQInDgShe=lZuB4Y5-G>$gc+C;-S`C?$4;F0YyqFK+HDO+M8BvVuGaTwIu8uBU$W^ zVYzcg_>267UG)Ub&Utpn=W@pH*d0+|D8W==>j6D%9zC#8nQ;>vOdhCT`x8$d1Md}6 z!}S8fay#=ZiWnJD+SpT!w7@~Z>}V$=;{o5G>X@9RACt998$K)^Iz9XXh?#}P#S)@2 zGSw>#ld5{*{&ChFWIFkD$#ay3;gH2tnW!mL0cliMyjmgT@UQ&EN- zve0bZOdxY%o>{#UxHr4MFZ&tgy5#B}zzf-re^oqQGoU%pSDP8EJLZ|>{k`m8SOQhw zJHmU+i_~tey39{nCy0eVp@=VBA{i~^@RHI)0~raqH*r4ux?ke-KX+As82H?iOr7yy z`)vosNz08OhTmk=uk1&`XsV99bInKC-{4RkBDH44BS&hK-S4I30vx$? z_*}Pl_Cub~2zTC#drvO@Rln=shP_k1c^o#QK3o5 zvll{}{%MqgXwn%;rlJza4V+St0LNLfl@eRg39@pk=_uouTi_bQ;2UuNM6Df>EC z4DEDBi*4cOqqt&l7x2$IUN%_#hocYbi04L~Csw$v7GTOWad^S+m-l5k%nCy@^RE+W z^%oeUXXx$E`OAKEvF~d~>VXx;K~;J#R36dnvU))%y13dRnZDReSJp-tvoaj*lNF)L zgCgw4f_M&_X>sI<_$-*OB|yVHClL~0gt`37QZ?Bw;w~yl?n^I82KErgat)Kkr5kM6 z^J6N^*M3hrcKkfGczG^}LZ@22cdJOoX?>s06y*juAUP?fXdzd-D>_c!O+W4L`t}ey zn*G0s&iHy@84qC!q1*ixrFE6K1*Rc^@#(BrRHQR^RY1+QyF70Z3MrmjHges|%(@s2 zOaCAUI+!Ypn##?)PeJ#JX2E@<2Ft#t!HEe_!?sTA-X6A=iWSQ}Gd$R+N-RUG?jnxG zR2xjAInPOZy9j5|e1J;6!7mHC`>(JMb{md~3yMzlaTd{WIypY3MBOPE$dPIiwf*Do zoc%VeU7QDf2P%{rrehInrR=%L>S1Rq^yFC4Q8Ck|hu-VqvDWyQ*y88h=)qM#iEPqM z>g;+cdY0{Dl2FJu*X)8@7ms$-;W{_*w%!t@FE*hkeJdcS*Hp5S;8^y(M@R0^i&rrs zuvZ1|YwEu?qqsgTq_4FL!<{E9tK~^pLL^%dj*&G^h#9v|3LpEd;IFD4W=L_i`6 zirltHIu5^baNMA%O;*==kMX`9FZGU)y^n3a7R+J&^SfR8@!uT^)}a*CWt{)*Eh#9} zODZcWAZh`4zk^Y-|B0ry3*i$-z#&;4E<$!03a-d6>zXdqxRZCDaNsZU#HW*Dti0k> z$pv!N(W}s0-Bja+q}x62X`=_L}e zKUMXH{rD&M$JUda6jf{0Vb!P~giD;!sv%64+ob53!OV|Qn=+#bHYPm<&;y()dZI%5 zI*rsOV-crr5d!)IpPzhPsm%Yovb+ol$T5fJs1PvtLc$QOJkB&aF29^W50GDvP`vyU zTFy-@hA91a9sWhY+1@<9-l2>z!%2H^K)vG8Ar7%8b$$pc$EgP*wYKu5_mRVHq;`Yr z+@+Sz8V6$G7Y%%75G(Pk>a({T7A%dcB%QcYnHSj#f~zVTXAsXZi*}7gN^ln#hPZA9*i;FM>E0-;EBH=xcgdv6XP{(@i z)HzGyGXq<4hO-Se8wt`GmCrGmWrY`Qne!G2o zxp2V2_~>29B1v=kn!b4Tln8lDm3H5zbYx$(jVncJznMU((oG){uKDB^b*ioD^fSQ1 zAieBuMWL?^e9C^Gou(Ehk9f~X7j())pT&PY=psiIs%TEmjn#)!*{Ics7182IPXWO& zKwOU)YzMTNsu6Tgw&>L?ikGoyh8X8!rW}Y^zh)^BDCuPxgn42O{c-*>d$+ymN)%viBqLA_ezw_S*+p zGR*H5c(94N6%4xz&UMD~lrQcYTfseim?RyjY~LGJl*^5M<-m(rk$`{^jSy~E%y7ws z8-Dd?jfDZ#-(_~kG#OCd&ae!;?diNk$X_GO17Y$Ru)3kpRW6f<4dDl9%rA z_1Yu=1TP71z`n;OJBrq&J~BVMXP4)|)^p`lr2AuB@1yqFp7!}bU)jk4q*Xy%iyc>3 zLCMVRK*@|gF%oUiQ(M8Ou-tL8^cLXAL(`$)#}!f84~`v_q&3M|K3pwR}^`2I$d z%PN=-To4O zIr&tu->Lcys4)#9w+cOo?{T@$dC^8NA$-d!b&QpJ3C+h$G{vWp1d6%!YTMy6I-L9J zgL_eVy``U{@`i31kSLTfWmT~zCr{+H4nr4M&jArk^=5-CI3$=PIzIlzKQm!Q z?wU*^!3*OxO}S}Gg@)qB;{GeJ=l46YZ;Y@rK;)nWxS8YM6w8RV|`Z`PWOPky48QN_UJb?!V za$FlCfroR~-M!!DN7;kglZZPm`TxNXQ;)@-him^4WmK795m2DD<;8rsT)@wb(U9GJ zGqJ&O;=j|h0Q!E|*(cCbIOiTXgEP1A-*0E`9k?U*5gtL|DGDg0Cn^29!>}6FmNOwd zo*gBBkdZ#1u|DY_e>>=!8#hKE;Yty9-X|+Zi%8jP*Fdsk=IiAm@(KLRJh!M^|%ox93rBQzn@Ksy~wWU@)fDR&dbT*C7YC&(TZ%)CBdWHg?kU=+j%k zOa4fg^~ozTH?onrs!M$yL97Wmv5h=-gXL7V;$7T{oiQ`w0-GBP8wM>)^wV z1VDj_R{S2PM#?|_g=DYDU)xt3k5|<=#dITNeOzN#|AD%Nyk}n0N4v5xo zMqyi}FC4kx?!?yqg;wT5Ura@{bywtHB7DuC4|e{ZMLkYeA*Usx}&w};r7#On+mxDl2n(3SVI zv0C6QG2#fgZmW{vab-H_DX;h7J&+*XFXaJgfMv?;fg!p* zGf^y=pZ4sc=7B46v#ANM9gHD^dbB!A-%}+Plpl&jvy>KI`l#ocGOG3rFL8$x$Jb0FHW5)Fx`8oo&ZHmgQf>z*pe8f0mHyPm0&8OCbQ~8>fn?U z%m%S+JY55m#K;pC*PL$67UH>vFGXFyDe=xXaOHtVAL>4{7+rNUO@P9T9{r;bc5jj8 zQP7ugoj9lut&m^jr{oRbgdAQh-mkD>;~fuQB3`O4_i7*pbzma{6e6lR@WD0s@=6cS zXbPFCfy|fgAySaQWuI%8A%^#6SM7?#InEk4!c!%(z*z`fw)Q*RJNMxL&Bs&wMtCBA z3MDRM^Gm2^3+Z;TI(p1A?L>BC^=6s%Q|i8T<&lf1RBVRrk1uYp$1Mlp{HIfLga5je z)aG2#BWmUqKwq=wCi;15E9>sNVZnT@+n(o=U0jm#7VfMARt-Rga}=xj@sxDqsICT2 zT|um(77v(Vf`m3~(g=YQo2wi1SKOeN)=hQy6gWu1um9=KmG3Ctu9x1?RBZ&M4U>X- z4iVvMBtw@<=^y6?Pp$`LOTM)ff`D*xr>=qhrM7KrD48Wbj5`ogzY*00ZFFC9}i1?o}uc(ug?s=jOIlFw+y7uwpz22G2pu}CAOoX?o&h)b#}SYGx0}r zjR>*+bPljUeiu7?Vz%c2@+ch2)GKKDHx?4g`aPL1biNSxex7Gqf_RO@FG=7?T+iTL`dJP!&t3w&BPD~qylFKQ8R)1* zG5VJ%w_hjK!v9Xm40VHPuMT{5SX@d!ZM*1k?6{I4=jWtcwqYnoOCE2vS?S8WFh=MOvS=uU}G(4P9O@W0i`L0Os+YCrd| zdTX&*{2ASp6Xk>)QfcZoUltc-XbJRl!SEIQ)OOC;)(Mh zN3qE5%PVS2j5H?D0AlC2b}0CG2sx)mk4I0bOwR*s)t7>vXpEiyh{yb8w3QdaKW`c^ z)ewIAoT(kG^t|l;=VLI_63cGUO5DAXB^&G!0R{_SSK6btE9d2=3MfKd=7N z5|OKK53OJ_U-~7shy5gDK4@*B-hsA@4M+BRx z)$${36)qZFw5AwE{=|6+yNe*S8rusLH0#T6?(*wn3g~|ol|=+bxxOkII%BC+u7Ly? zDN$8Oy)OneFR`TFjvRx)xXMuS^nVFbCC`cfu56{iiUnK)lnfGW1>GSxt=B+SS^}3J zF_$rF{d?iGy9@WlpKTD~*M0U%0pu@b=7j<7hYSBz*5N)ng^$; zS`yr|7t-han5Xthb1IHCz9%^6Vy^Jv`q;wqa!cJ{YZXheodz=OG`*M!tXOPcCaiuT z-fgNp%-&JmS^Xt8b{t9?EM#WLmTO}Fx#T*OLVG5gn{|%!43lq(1!5J~reDnM$&CzV zOTu>Nh+F)oPMu4a$hUiM9X=u{vz!NK()ALq8?5?(icO*)UhW;r0axRw%m6i3id?=$ zg$>1OaJ=NM%`dFRNkT?!R9#C}41O)CAk(bqyv(vjW?Qv4I(h$cQ8if7)*$(cgDaa( ztc|=Pi~?eyK|xWT0l)#gyoiYrDZHT18R+8b=!z2hFJjZ{oT6bf@cXHYlMve-_(j*v z_^_tJ=eXMKLIjBi=$8_uoTE*3rQgodCVCuPq31Z+C`j-0!U*&s1Zd! zkoY;m+WY~G>9o`}fG;&5E&glB{BD$iR|;FpvP@mz?0|}}_9cfa#g28(@6KB&ZIY{hk>yjMN0$ul^Q%5nyL-2)&eI-^Gv#L!w}I#lx9<~cc&b>yBjcb&xR-Ad^@{!9 zG|d}-L2Q*@4Ki+C*6{0hqG2V)3KKGw_zNEGr1pDzqn7k+c*lQM=~MF2qWdW44_AJ! zvwH%uKZer-pLjSEYHPmjamSb_LDWb|&@w3YuZ1!2#^mTzt0W=sW3+fXT=&1WjaT)n zdUj+G6v;n<`cXa+0JP%Sp%)nCw4_LWrr~gw4Q8e!;$pMBN^J$M#oHhD%43h1kHy3O=Lwz`Q!$F1krWl+h?jpD!e~POyY;bD zApt5jK0TQK#XiqR+lYcgk`O)Sz-aHJ_{ARU+7TK_EE=C(!}I4ZzBqA1Uk=xBMN(#f zufNzn0;AZURj|w#Ikf`TM)#Jcw23Sx!Zdo)QIS8ulRkiPf*C`-R#C};BNRp3h+^RI zJuaD_hP4v`YB_cLEI2g#o~Jbv0Sk6y~~y=c0j$qV!y zhMxjPt4|bV24UVtVABP$3L8A4dmfNUJHSedBeSC1{fz_0FN|7ClHsY@m`WuJ(V7!c z%%UWeftGcix8eD}Fm#*aEv)w9%jHpq42QcE8@n}yt0ayD%u;}taZzp-xEGO-55fr1 z+lSN7!e#v%Tqu!=mNN~vOs^IPWJ&3-M!HRy*Q8mvsh^N=mDNwE?N*@HLv76Msr0S5 zf|6retrjr~J;J3trb^Grv1Ez%-jL{QBu`V1K2cnG#&{>u?9Z%?sXP-{c3ag6uKw9R zM~f%R0h1_5>FZDU{ElJZXQm*Hxu%nBx_j1+)LW8kLVwl8u^B&&8>=O!fSsBXjpfSS z$mTNWjt~=}OTOS?Jrk_-I%P?sy!YU$#$4^An>@CbMn$pPj3c#H88g`+NS{DSpXW(m zhkD!du`6)r-C!eH1QRyZ8Ks+g(?0y$QU7CJAUxSp-@KeQeXaAycN~&wj0zBI_e; z47>;VWh9%vG#4#-Wdfx_vhdt%PUw3oZ1zG`KGMk*_d}`eexf|jd6T`X;;rFhX zmf4*0lN?$531U}=$Yix5f}AB89q|8Q>aC*U3bts`1b1oNp=sRRT^lF3y9E#K3GUJm z+?@cy-QC?aXmBTZ$nEpqIpf|M{nNj-Yu8?Dt|`TJL`l*Po=k%v8zL)EoCmD`OH-#K z8lK}mC>r{+fd0*Qg7dj2TGIl>d=CM|gvi$rihuSIgD8S!6<;V>FQv@Y*^n(U2W3QB zn!E1*Jy16}VA&l?$yXBYT`5wprUqzxPO;z0OP8Qq4AP5`{~qHLSb}Y|LYrTu42YmI zPfu1&a07pFvj-E~`++Sx)OBap8=8PcqQ`M<;Q8NjM;{SP~oU?coDJe<%d47qe=D><^k!-{SdDJ3AvS}J-VK> zOG_|nw}5?gf)|6Ung5ZHfCE*9koevRz)1UCXJmuKvd(?O!-1-8Qx4b`Hkj}|-wc_V zt;TYwR(1C7c2z>sSAHwYMx=(nN|}=`#zu#f=9|!Xvfk>`LuI^hgU`+BopAq1X^P&9j7KXV(d1uCYo#lmj3v19{wAvAMo{ zT=9OmYq6QSUQ!R}e2HVueLG+$x7sq6N60gBMX8xRs%wg``Pmg|BPtd~Cnnloasxf@ zF0NL;!jx4Tn&K6gb4EI{^m=UZs(^Oe%ofoiX=^DB)GFoeduUOGvCVwbXD{NZ1y=(_ zQEBLZU6=SjtSE=%TT%sQD#N+wSU}V2V9F9npN8=6%6-j^x$4K;)z;|m z4VI|hJKpa}tA*JHo43Ey()5*gOz9ky|5?}6)>G~1UXyL8&Vkng+)7(JWZzXG>1fIj z84m*h-U=Ll#BU&N8HQHQz;SLS{_u81)-hpERQNZBl$Hdl1UROqDuNsMoXBZAIXJLI zaWUT9nq%b5l{n*=B}SB<*#iBzK3yajGU5toz|K8LlKw=LvlKepCJ$1&>ZCs8 z62%OH`gR$?B&>3J52X#z6$Be=#O!;kQn!+JDc-p6#qGfuww`F4Jim{q zd4UM3!q2$B#a{U1dO}2ARmIf@klOK`W}6f>k+ z=ym-&JVv-6tm(``WB%1HyE@2HeYk}WvX}&_pJrwTv|iMUfXf)2%SIqFx?;z1ocIg# za`kNz!`U@fmTU8D6Aqmx(w`|1QrS5-mskMD9=CbV$c{b zW_f(|aX1lWru6a8Rd%gu6X&FttLYI3_#mkIyQdE(BU8t)k{{~L)l><{LFvA!7n=Pm zpe~YWLW?6BCWs6osZMU{&>fWOSbmkD2#VB+g^>rqwt*NkBgBU|aZi^W#-wr44EM}V zvJhJ286-c+!$zSYx0QGW4D#(<-=wCkP)ihmaICyJtz(XR5nou>kD_RMQ2EAj)x4qxUfGKR&JvLst|f<_et&b#8+ig{Bx-S$S;ck2xU`xfhIG_35_oh! zp^KW+^ePR>C_;@s>sg|2l>{aHQf;f4I=hm}GX@zF{3SMG6l0i-7`bJjqCx zrBTcgJV)23O!(;^0^)1JA9w>9kQ9E1n@b4Iv^L);2M36ArdclA(XrRTHGgbm+XCd9 zlMHpljS?a5L+t2(rpxU`%WzL0!^%Cuo<&PJnC%Is@8)6)t4dE#ND0LD3ukXz8nppbT-V-H*ok5q)@^f9`cI)uX_32 zkC09c-6<3w6IW11BWP{07u6((_GTl5F7!qA%;$7)0sxT0dTiam`njw|a{6hmST-6wT|u zbnb42`KNithpzNm^5I}B=CMOK6P&SPpA%1?Dt_@`-*K!BOBUCib`g`Z(b9Z9ra>lI ziA0+mL*{{eYaC>j2*P8*k%3vBq`c(PTyX8RO2Phj1RHhUtwmfa=B~_m4X&*!cVJCB z;?SP}dgo&ar7yg=OYYZ8r_R@-ZzI;(axgtiTnKRgS??&Qc|Jsb@#B&Mld!bYN$fOj zv#ychsR7)vn}A*Xq=?3O-o=O5LO1_tR13Z{Wnq6<50PYgJ0cm+Dauds?|ZjG*kgsU zP!C^{oQ<)v1TIFzBptEvJ%fJTbzj)|QdjvO2+x8t_zd^TRpD-y991E=rhCcA0gt%H z{4qXEJjx^dz*M?}+8B-yWR?#4GyajAksr&ut>(uQVV_yf7VG~CLmR8$Scm}H`J34( zE*y=BfuS~6SZ6cOVr+K4{Ry&^kV$-Z99tu^u&Y)C+)*_4L-xwhd(6vfkOWDGN+P?X zQ1qjyUYrbDXT0Ch)QDrl(d24cP|Vu>ix1}Hh#y5j)C6NVy9ccq_hT>=nk5aH-vN#n z22h|{q}i@Mm-S~_s%`L+GNw`)?tEvKa+O`ci}-0^_79IMTdh7MxI!#;Yk!wCa|$PH z6_=Z7D_MUtKDM4Uv@~TP&MFVlx_?##nGwXLGbQOVlmfRX46{;gE>BMF5*zAN(}_wj z9H8LD?}!y^q2JwEb|(i?tf>+VOK34V>Zez%IYMTCUG&cBPw=9@rQZ`MQajgj9~ifI z@pjBXGk&_|-+obv_fi!o!1>CBK=t%qh|ab-Ra%l)bR@P`Ic()h0^VQOpw+#F))Fu2 zGANHbhf8HX;XGOO+derm!c#XdEot6xNi-$3f-zOXm@%Az?W!RyuLe&i>Hrmd3E{5< zI=Q_KM+Sf===PpNzCCyxZtJ zA!Zg^y4ehm5UGaix7bvI1GG1noNC2lH`N7Egcnexbrqkx8iwJq?662Z68W68CKWVp z=*3G^OeHr-;5y1IiuKc=l{RH%BT?AW#VAvCL~?}KvVQ~i9Yp}Z?f0g@zA)g)DC57C zhmN=HyT;Q&B|5*S#P>l4B+u?KcK0Z1v)JID8qDYNyoC*))fZRgApCu2oDWJL$t<7^ zE-s@Gt(uxx@cpeQNWKGWs4%vrn1itl_GaFxI2AonGrq9g4ib7pJHGA=5mo`#IN??t z!bXmriK~5v6*gxwWrOr@ie)`+SoN1*Vqt1^5JGb3A*C+#`k@lvJQgTZ^j>++km7}- zu$c7fHHJSZuH+5cGkNasJ13Y=sKXns)J6PA;!-i1>;J}u!p~ZXLF5B#xKtZlm@6V@ zyh5JFQ{}q%1G`(SH1-c7UhQFuU^m@~VZ%OdYV~$JUus|&{0vLqW(P%YjR6}kD(b&R z!dI11iGe{P{ZwOiSL6@_UHl|it`>g4FySg<>Ad`|{eWpeMt>FX^gOBL-Q zxgHJ#pN~EhQF2QkE})D)_j->&N4kIYBUlF0y#CZXbd|1|5QD0X-34a>O6TDL44;8w zKVw9x)v1P7feGV(_*oojA)c$dgvTZ!aSkheFuMLj<;ZM2whnK6pfRsRm|*|BD@5eh z`FBgEv*8BNoz}ExLFWMr7R+hIWi|H5EIxw^@(&d?Smp*Gf|)bK>jlG=2!CzMn+Gj^ z@Wb6|;|{D<{+71AyD$&>&Ybi+i>q|C>|AE=coIif_Y<0;ycyAoq8I(mV~wEMq0Ycax3Ab={N*3|P}GdV*n9?0ggH5w0VFil!Oy^s)=T6i5^3GjGk$iG*?T zsx{n^Cl2Q?CHRbu)qSpM{R_YBP-KO$*WvC}eK|7aM?e7Bq(u2{B=YXdzBLBu+ZeDWj(9T>`?x{}7BGb^KdSXz#Z)>@^O5rgY z4-RHIv7h+bES^pisjI>^>4u8E*#ffic`DCvyqlnImj=Sb^5w8lUO)*bA=cUtd^oCE(t%bB8z^F3%PcJ}|)TYv}tD|x-K4-ewiw^@oD<4*wu0m013tG*I!ZZZmpWZv+w}1J=UnScH z$lZEsZXwnW?;5iA2<6?fMy(hM+tcqkPzqQO4b21whI%Qj`3#YBA^@|O(fc1J z9zek;L9F>*4rz=JmEOCF?QGhl^M^wndT=g%^{}0$k4LXOuHs7(Vlx0;-6*nD!U4{7 zf*OGlgZBWh?aaaXV7M!kT)jYtcG78^h$mk#{-GrclAcd4`jIXXg%m&){)JRq|0u$V zV?m~CE!9d|tYr_*1aVB^xc20+nqbmJ8mgH?cvmw&!_L_UcPE?5!%Q#JoC*wykBCCj zd_FaxeS%yzTA{+o)bV>C z;HGvy@Lsk#Z^z!r?ojmq7pLnPu3AeMc@$+1yra(UDn#ZYz*fy>H#;NBftno|*r?+d z(rD2;lkIF7yy#*(^YVy%Y((1@w-Qn`Cz8}Z`A5@J+Z2n|{F9@gmgMA+nc9a`W=ezJ zzC&W(8HNbIVbbbL ztf?`@KkYeVySUokYz1f}r`fTD*fRIe0u-LS@8GM%is5_$Fpu>ScOdO}(}sM#@HB3Q z3(XPj6@2bhFa?f8;t2uy`A6|?YJrhVp4T7)~b)1GKoCAXW zjzpqQ0JLItV*fC_ehFa)`MM%6J8Z)9z>;*Aa#FHV7-I|6x+fgXAL9bQ8JP;YlLEct zz+8FU>E2~G@~1?~e5^55MUk=bbTh+N0H3FJp6MTg;scC?#_G@VqgFBl9f?M36ZYoO zsO!)A>U8Sl_ZbKLbiKSF3eSR1$L(di(RzgOtw4>oY>VnZqSHcUQGB zGJ;r1SIG&?$^@co-hiqp@(I!H>YeZ+{g3|2dl4JB&NA4TU!MJfVqiRtyoRvR#r(bc zqETs~N-Cw-7z<&=myHJeRqwuVy8haSzy%}2_?t`4swoP^d^4~JGe-o}rb|=kjO6c_ zla_z27WtJ!dp~u;c}J&|0c~5AGVsi$L2DTx2gYYRewCQxMAMJ2W51UVuJB@<@#K9} z3a^j@#%}F-CwYlP$mf<9Tam#Sb*OdIE=|*6lbaDCsU-d<4DTc?jvhK{mU?9$|GbWc zpA&k9a_YTb{m5=JZFJA~d^XMU&1CX_2X>tKZN|~d^c`nrCuS+j^@S5$WX}%<+OHAJ z2-U1U(NMD&Ao(n9*`DS}|2jZNtLGGQ`0N|nRGTHOzJLVkq_yBv^^7uyZeR*W){>0n z7+b*T4{`|!r~xDxmr0&*B5JP`e4rTzY%5Rb*%oWVU{$vQalsoBXCR%nl}K#R5M`>E zmkUAo*GHt{ETPGbA73sjYSAV`wA4N-`GY{ob^H~(VR1HSHz&)Ax-BNiEAoVY9H9z; zvkwA1sD?}R5z$FPU`t9gvVK!j5`}p}I4f%BY#pybQ2`BBOGI%0!+6Hd2JFi9;Uit` zTUM9%MF?K&zdpKa`!Lss^9|QWk;mO7KCxZ~J^0nuFiL(_Oo^MY+CTUM!4GYUw!Eal zTm}1tVCfqW1){pBJNTBB=t()KX5u&h&(qKbLGsr8qbUQz`afB8xK;U<=jdg7*N5s(8Ki?PX*K8YHgx-!9TadaYu8{7E@6vgIZ9>j*YOaV!6dFMbreVxYp zKd1$tTqby`L`oCvwd-cT%=GGYi8~0|M`QAt^p9-(yjjUv!tB!v!8%X!`kgegvNE3{|I{6Fv3qr>5yY<%4B-P`^X9Y+f5hXxI1gPKLBCn{N_%c(&*HSE@l4;T z18!Fx%)B)G_Ra$($iU@M?^>Rb>#gN@lubSP4%g@&5dp-saUgy5O?vawIuVVv7Z4VV zO5feqQVNU;Z*wN(tCs~@U9b5_x~nRozID3O-LnvV-Jo%-h!jJYK1wVdWvP5qB87f( z437;Y+a%ojz3VFW&hM%y=dkm;00?|Sr2o?}E;V}{X#vBMaDA5UY;-IH<3QWvPDKol zWxB|;xE}{7) zK89iqe>){@|1ux4sJf3li^Ff0kAB0n9B8JI%E}3gx9q#&uKboM4C!r6QS*gXxQqw~?1z;_1IByL_B%<+hfb z5kVLH$uMg^Ckv59h@s~!XvD+oXDCc@Mi=ICS>q=4`?+d1#OmYkCQhXDC!IZ9d}$Ru z`X%0y=sUZ@D#kjczMNK8#q5HuOO9%s@#7;^4cZ#@`s4h>T)=ypjVm^g|C zx1?4NcShv(*We9PcpuD_UH@61YOSh5Ovsmx1Qfeq$nUIpkWu#sJmnZ6oW zVowHeJ!iHx=wH5d)RC`_EM>cF0pV7rf?XxY@DbUF_ES1(xLIJlAF;ISOB#J*2^4I2 z*ik}cC;Q`3OSGw4?(@4ZU)Wu3*HBabSJUh`; z30A=q{iU?!r;{3@!Y*qHsLTA5xn1$qS%rA#D}?E%uCzqzfyu;|BqKkfS`7+&Fl9Q&#yu?0v6Ar%G;l z|FYb^3Gg<(&3V2UkD%4Xg?b1j8$d*tPZOom|k9SQ{J)1<5~4FC+pwPIZd9-n!BmH zQ9kTHCZj0{FpeLMg*py4-!gt!(}GQ0MlUS3BgCtwE~I0mDgIy}bwSdA6w>MoI)SU>OQXaZcov-D?ATy{&~|Ai*bv*CZpZ z;KEWUg+m#Y8fT=il)+Lb0a($RCI^DmINc>O_*iyr4jFzskuTz#$X21TQ=+xQb#pg_ zcx%pa6cUoVes_tf4%Mo~{efW~xNG93Mn)1}z8f7+f^3F$)mCM-3oq3np577KH_U|4 zEQ(zF5F1hFhMPBS^#=nw1cC)w$l+eN>_iJRXRD381fpPr=wTaU0*c7{CuaiSS;Ca2VMCXrFG!gQ9S zpLV9KIH5MXqVlN0pw&E@3H3*e-O& zv!OYB1+0Kq`%+H+z|gVJ4?YQmELVTg?nIkDr4|G=uItJH+Mcr+Fc<_E&}HZwkA*pJ zCW5iS{1byV6QqH<6TPI+V(yrfITY25B70zB{}=-LoXGw|4?!|{nt&`zjgViu ze~<@x8HMY>dnO0*J#;W=)U$yrXzLQJ7jA1f>Iqm>p}XZt}M zQPPm!J>S?9&RWr{^Ea{9ekazS_C$ZYbf&K`@dysEHcO zq49kjvB~Tz01IgflZny7Sc}n0tFD3$th|-@as!!8>W1|vZl1Ggh@QaU3QN7+$vDQa zvavN?UbR&f;f_6}6j#;`-Oq1+Xj!Z*AiK#9JiE!A`BBzWv{YOR6@q}Y@=s6E_Pc5G zNGs`#gx)s0oq?3RIm;ud8v3nO7yV&#qoPQ^r-7@!GIzfQ)^7w5OMCm+GF0KAK{R`r z1(+(8f_wC1d#+Y~q}@(oMn~>-hvh)t^Nz12CQgGPcX`8CZd5(!sCfZIukpDd-C?NN zZ{|BVNyt6NhEF4SKxhN{j$Cpb3+Wg6@xi!`2E_Kvev7pqoka0q#5+I*FhJjs@19Qj zGqc=?jK6|e{^5g=30PV}Go%p8(2MIVu-jGbVZk1I_9*{MBK!J#FhOnNg13N<<9We<`+aZ&uJss4E)?Dz3+%B2xdW6cy51^%yt?3n(5yX2A zRLK9GEG5^B6Aif`lIS(iK9yrH!Ww;{YtF;n!a?7ycUw(KgDpN+TL6C=-CTGq`5ggOsj{P7jHpKu(f}On? zL19hD#}tS4-utQC7z-gk=SVtL-8s(KrUYA|Xw^Vz2@Ui7=!=9`BAO?4Nil^0Pf@40 zmy8gy#gTG%YF)VxK#ylYc$_d}VR+))n@+RuJL?XHJ4XvjW~yxJj`?v025f>Rp>J^? zCuJ7vt(7n%5u;s1kOEGXbXa0b>|m}U{;EgcSJa|!MpzCaMLWcxa2;J@e<0T`UM_ON ztWqn2P5&?*ay!%oi~S}fwvV@n7@s-Pje^G2_zZtw;=E)$*(kA(55?e9d2NDqn~32DnPGN{!78 zXTJ;+;R%%+APme45wR9Jw1yw{ek&gC3lh{PB1}^({1o4LOS{+kGT#4({UY%&r* z0BgVuclO-v;5Jh#zxNixm+*J?KQqB~d2pQV-K(tj;m!&67BhJEw)`}=$Hj#nxbZ() zP5&Z`KokN<)m!mOF07FQm0#C(I}QklZRZC5{F4`OB9r4rGl@*Hx@-D0IZ z9<4~uO(ngj;)@qBGu^4pyFTrb8})PD zTO5be3O5iH-XnyT@ByJ>#%ej2Pv|f>jFFt7v)xFll@g7`AJsGdASqTznhGP+B6rz% zlaDX~^WK$5qT|)oBsscD(drl1vqzZ}=&>GJeLg|0f!3R+pljeHUHpd-~|^pOi3dZ{MHX#oxBe?M)iv;S$Ce|LLd3L9&8?M5F53#PU43~Mw!jk&N&kt4- zsJi?=xWeZk6~(j!ePI#aXWSvxgLzeBsDkF}=+{4UH`aL}C?TEYlX?%PP=~T!&pmG; z&0L1sJK!}MLIq@dp&>d`u6iTz;SYT-mTB( zQ>I|4%8ugh^e;o1rtSG9WY-Wz*hox|>MEby53PmYj<4{{-Y9ZQ0$+2y_QQ0x2fK@G z@=KkOsSQ-U;pl)R`Q$!YTkb_H4ua8DSwo>Eg+)s?&-BUDykEl(mO9E^uc2)RXwD`^Uc1Xha|xc) zH*nTd^_!OM$Mb$vGqUWN862Y{>GBO(i41A=ZRW^kAYnVGS3P9}J_#?~#;O1kecXcY zIft%_cyXsKZ37W5U8V$96LWx~qkO8}h1KpmstN1leYOryisC@JG>LQF(_`z|8si~jO}HPwA})Iy>5qi z`?c&*V-kC_%j(NuXfSJW+5>fqr={R?m}OnG43SXj)B14Lsaa%x+S@oIp{!NR~noR4YHcNdPJ~AzherBkr^WfUs@wTF`eT4%TIW0(2}USke0SjR z?3z;5_xTUO9Z@3pw%e7k@ZU+dC(|{8Ro5MUO^+!oEQavnRt&4SE`No#stSUzCZo~n zQ*moMF32sIoCYsafgzl~14V|Xi{65^Mp1Wno6`3{o+B}td?QBg)Y37d~U2}+~pX{LMA-muEbIzcH(2ZG_2 z)a(@yx{3q7*aaW{c&Jg;f#w5MPL!DhNt8Jk;7cYJQw1GWjf9dl3!71j_NK(E--n_5 zmw8&jGLi_}JoNnh)CVI+HU*Mb^##%3;b{);MszAcQP{E>qdmR3$6xVg2uZG!Jaee|swAMD^Nqr6cz{NA7&ReC78%2L;RQmQ&fC6Oqe29xE?;s^sT8 zAyt%!L{3<&%}@EavjHpd>e|TUSx#@kQP)O?^A_4CNeJo=<_FBs? z5PSl>(gnkAlq_9&!P?e5U<-l%WJNG>3^tYy8lO6b($-#q6%K+HDz@gNRK7L#r2R=o zhm7P=Af^}1mUyw1ZjN_h5gk`w7zB()sLGB*Tgx!6PJNccEBagIs4zBPBdE_%l1 zw>ySXtU%rHEVbOJqaOX^>YM%v$u7f%tmhG}>H&%%H@yPdv><9M& zu2cM2FRaMd;Brat<@-4JS2Q6(I^8&F^ay&wR=Qr6_H@-UIja_6=5#_W_wsWoj4{WM z3sqecYD(`qTTZtHv2funwwz?T))J=OU##f1x48UrGs5|G3CO*%WvV-*m@k=o8JHTX zp1mP&L6*3TmY;2GvZU}Dbx`}m5toO|qWp?nPU?~HbRB_`rBcq@9gw2was7@+v7hUA zIZ~z9GQ)QQ z(1rJz+PLfGi=@1<&-;sOQCYsaNmKdbFk*dQh@Ct&vs_UXHx&HPb3jbkN^|{_gppR1 z-789(e$4EX3hdrVFh!1W)aW8gDD8J@`T|^XGoRXfEU7$8sTom-b6mEC=~Wiozj6mc zUEiHMt*o2bqM4lsq07EsU9;~BW}O$!Ypqw`5U&q{;k}`ky7%kf65YDbWZfI>I6{vU zeceT6E;~wmeEY+nIj^UqI z7N;Xy^%VR$^_NfW7gzjzX<#uP-`(W%Y%y>>4{wz5Oj_as3)zZd&n;_Laqk#AH|A?7 z05B<7jOzhO;kncH!QTe6KPm)k*s}K1#6?cpeY0`kVD{I@zrgw^QfA9P?-sbn7>MyS zs~l27QK?J>%TuYg%{#ZrM3f5(t0L9lBy+?6{y?D9pLFmm6O_11oEtH__&JbVf$=3t zPvsX&4f^iMAEd&Sm!a?1U--8{v4M5)STt#rq8<2$yA0gdK^H|wqCD>uO8uWG*p#?x%MJ<+LaT2WM-L|5z1KH&F2({{Xf zs063~@#|S4^*=TIkJ*R0*Zq1quyNHH!)0TI#iSx>ugWHfKsP(f1t!pe)_kb0Z4L^) z`h;tX?n+KVgP_o=L@zTaTR`Q;?j$-si~e)QL5UXxOs@xo$@+{TUmcN<4z|Eclg0P= z63-Z>VTrw2sJN4+8)f?<_T^NL(lIBv*b@zVjinYnMLgj^YD5r8o4gJQFHJmqVN@}D z&~lNIv6>jW3csKgW;^NA>PvC|rpUK6xw<>$uq^r*OAf?74!zmMmOg_kmXQm$%c5UX ztPep)lCMl*uCy&?mr!hccOu`#I{+*f7kKi@dIoq3s<$rbVA{Vm2xan=3!vHMp&9>F1N z-{d9?P@Qmofs2ZTS<*)feG93vpw0e6PDt`G8SD#PAN3fzhy}Evmi**|2WVhQ(%6ol zAEwf5R=H(Z*926gPcnwmGz=!_iwG#bWpwT74b>Eb{ZJMd~Q??_!lwIYB%^FU zN>)=a8w)6w#XmDc218GizS{qTk4F)`V~+8}D7{^lG^=7@1)+3jW7cCahKh5r$rrLT z*_u#B*7(cLOLGC$Xk_^xvdm+$#`{PLCtSrWe2JR#17)(+0fX!w@dp=cl0zl(JN>$< zz=7hr)Z#jXf-$Y@7=~cQTDbU+CoY&%vTFVufO>oEoKG-xGwj)rw(uik-C(^2>wOy| zhaf&P%Z#%I*Hn&Vt}|Va``fSNy`6~U!_;>a1N*AXgZ*XyLd8U0g>(JhWjdec znY`_8?7iQIbZTAZ8oZy9-HnsH59KZ#pXJ2tBrDM#3gzaj7%GV)T?PU-j z$Xty-Hnf#pd#~>;qqvKef??2u%a35y&(}<vQ^SnU6fm8FB)M8_9~e=NSEr&bKKlc5JwGg$zp z3S)=5pcKl2avzw(sz|eZl~50s83 z>++clQ0$n<8&~)PG5<{Li#!T&zH(Qh-|UJhTv3fU0XWp4q&6i zE)oM@ z4ujWWHI&O{T0(B+1G#Z`q#`c04x@~g5t)8R$E=WWaG>^vt1U`XbwIi8xhzz>vBe!* z;FvhJ1owG8T+MJJ&JZBSfNbSB!k+0nq9(KdeD92(6Fc)mT3Zh>L7@TWT0jfrucw8C zuZW$l7J1#sNM3E7qp`{>+Jano@WuFGlYyPgsXz}&wT9~C{Gds^!~^!8NJO5+Nh-ED zTuwj+T=M4X=|iU=|E`cF_tfY{^fzee4=jDvnUt{>9jAhRV)o2I9f~U`Zf{dxUP1qa z@4lef5w|*EU$~(&=p4Z}oX%DZEx)iC`(zCsDK0i7B!(`BOK{ce8c9_Dfq~pVvf3x7 zEf49gvyJQV05;(8lM5L7VZ;85p5td}%KlqtM9O$#vQ#6h7QAqfpm2i<$#q%s7Zvo9`(9HrsGKsx*7L{&xNc4%~l#D{9++5OVqV_wM>>Uv+2ACT{>j zQ)6~ApHSzzKs##GhGu~1H%LcQ_@f#BFZF)9=^uW&bn&>NYG>T3tyt{F`}jf&Q09$ZJbZ~D{=RG)}Y_ZH@@Lf zZRm+9(Ai_v#W=a>1=;uM&>q5XH({W#q5F1)VgjB8oBN_Fs}v`F-QV7r^T$n9i^}Gn zJdnH3NqUpZq@G1Ttl-d%+(Q21YGYOqOs@; z+xBPQkQN8E!DTB0rda5ss5j<@m(z$x*ja5;gOsi`?mQ>WXfnQ}zJ7c#gc0}qN>P0`>{Jfy zF-Zn60}f&M>-0BhkOo>og&USpNHS&1!5MJlWduCvtFA9MQuht?(<2eiDZ3__nc8&{ z>d^ODf^5DReYECO(vF&mi(Bav|JUqjm110OAZ<>(vjVc?L?XmQv3^CShDZ_~Y~gdq zo*l*u2$xQV5b83W)~HIHTiwfcL#qdIh;y_ zT01ioeW(Kiqz7sH7U;0n+rw8I9x08D--s`>Us0VH;ofck_ogNP=i_s|cEprlTpG2x zr@#u^l%p|PP4u<37AI+Kp?}m=U3U2|O@n!23o5f+&R&u%ZR|6%LHp-OR4XN8L;_{( zE;@QgePSYJKVIe{>^Z$D|IGR-545QezPW++^w>JMFtYAYC&mXWf$`` zmeu_)tnsdE%Kk6eG}e~5JOgaZMD;pL*LxGrJ4Y%~CRM$U1}*!WGr^WVP5QNsjNQ;xA5AajYpQWFv(%F>n+5%+*^`DK6tQQKz2 zxW2X%g~>)z7XHeVF~ZAU7&m{CJlsjogd*&OLf4x=Y9>N6tN!G-rpg3&fD!DfGT`b9 zC}eoHMw#rxip#Ny<^>DM1xi>9(I!Y<)MRQb)Tb%RKVKeU&y3S*>vmvzT!4NUQQKaa zodHh#=AIY%{Bh7(y5y7PcL@kF+?WtYnSSi{?(XY$J&-_scsihN$k>-{N22X^04K)x zxc|K!s!%1^W$)W_!d})Nl3fzq@XS=!MUT2$fud3RD+y*MJIETGx-a!iruCM|Cxw?p z4X)t+QZPgoFr1o2Z=30am;PxzV)aeMctAa6?oB5w$>W!4(;e|k>FiK@T5JP7b^tjz zl)om|vJUs#&5(Z_Fr>*Ts}!kwj+vnl7u${p>!?Ni({fn(A{6}Z*m=!~xEa)#nSRRo zXZLo&$sClm*5EucfH^Z_U(*v+(`_7eA>_IL1}{KJn9;j5fZA7p9jPoYtDw(Y|D|}8 ziCH#KoxxF2T~j-5eVDiL5iL~Iyj=y~U?id7b3AH&TAlq&VAazX8sorcJmLH6 zfu5hz(Jm8m#O3x7}(F{_wfT7!#S*nQL-;6n1+-Y|3cyJg*rn zmmAW+7N988!bTDzypT}~BVK){{Og&1{{9&6e~s+R)R9OfGm#K(>WX~Wwxy7ATQWI~ ze{mV^#)fToE`Z0FHkbogdCbU_ev$y zPP1|aodp4UWC)2Ia>$wL?nmFAy-zFPy)T~$uGj5r_WwSL4c^Z547Rw#)_MJ+$`)jS zZBx`K$gdi1IK9Z(!b(ez-K%G8bayYXaUtxIf(8_j%FXl=zC_UZXhJ-Sh;p*y)#^_! z%$70z_GtTnsS68Re+R_b=D3vl1>8dhU4jQ)V2ofjj>%2u`bprn)DlgbJreTksuOIu z>5}PR;758F$B|Flht-z2^RLQ~_1f(D{SQFAPV2#k6FNI_eA~l!Gd+>;sCmD^5|5j1 zYzeLJ-X?F%aAt2hrvJrh#WJ1~M8mbtmZdg&aeb_Kj`L9kCgi8+FJv85xForVvHF3b z8B>u{XX0P%C{*2(c$FpA{X>TiTB1|z@?5%jWvV1H6&gjy2MaZgvJsF)&Thj97`kp0tT0DcvDG;ZeofA6Ec9s9Q~DEm{^?ySzbv+PN5x+!A{y2e;%|ZjXzj%5~->{y{kmW znV6muR@`Vh`LVldv2s=?`&l*lZh+Xk0~_-}|-ssY*X`Q06**l8Q(vq{{^5{IA9?R^qTL zTJ~@*`Nk{Pr(O935y=KD!YoXt7PWIRA0lVAzc7ztPpfP%7h+Rv8$ti%r~RvueC_Gej7ric2EpDNsIYot`z^5b8eMv$S$d&KBRAL72{-Y~UjI_* z3wwJ6|9_^y``NSE_|3@MlZO~OP7XyA;MGjwV&rY;)v3pgH8tP?-mnWsZEZEI{lP4E zD^q(hs=UftlxC_hTnQlqw=@-#s?3uVK2Bql?#n4{qPFN{p2eYeusnv|M`!Jjxrl4L zmFs!IkJ4%=$mWcd6}qtMpWxptP{6ngX8SDR-)(@*UAAXAaQ1nYt53885BTSG=p=Vw z;2kqcK~8TLZ5P_^kf_c6G6FN~tx(~= z_gtW?g#Di#mwix3;(GD`k-{HNmCZNx;7+Ua_VmpA@cW89jLEPDD*g@d$ZOk&&nYi} z&U(t6#wn1#TlDVV>)PAk^Lx!8+w1Fljn)76?)CJcuG7Y?>^Vjzc0eOFFQip z*vi%~M##GyW97ET(nc$A^-R9lX$#{k6t_rJ1{3L92(IcBoRzXr$xqZ*ZX8H*udV|+l)@Wi#p#*`{a2_}*`7 zj}Nj1l+ccD=?@Lp>pkiny3X(It&{k-r}He%Q1ozE2>}o(%_?$V*>jFF9E)j_;=-uq@!kDG~^GJQT zH5jT6!K5y;4lce)W!H`e8m}w%ucG`rXcv1-_Kar^(~#yM9f;W>RfkI(1-5ebqwWGS zF-Lltbzh4iaJ2oSH00r|b?jf_Lh1}im5>_@3^X3SMN6+p;gz$n$_?Pe7v?eBc>`x# zZu)LeQM}(v_?)cz-|K(9|9d`sRe@dv6yyK>pot+ZGg$5qPq8=EN`kdmd}W;rtE}KE zXpDpnGRJ@up7_woiC_&Xm?i{DT$OVoL$*+pi9QNdJZJGk&<5%N$i>TYm2PP_@< zz^)IS>5ZcM%(|(({)ynZrfkshcVlo@+!gR3!%6K zQKKkC3hP4;>vvhGfku$x|4Mv`O}7~lZ=W0UY<>>_WYaKqyEW=3c7CBFnjK9}WD55! z+R@j86M73v6+}ohA{cihNsB9L@&^Y9|MBjadLq#?iZw(z64yF#4HN?vi>QX>+H<-a z4bFNhd@Yq?UUVqT|BUw$uado7Hyj$U4#y*z15%%2gd6`YA^gKzdkPs!qObGK6BgZc zAy(|(Oh`++8n!pN9GZ8IH@k4sI~Qh6pgzK_Gn)ux_Ww;YX)RJ>^A|&}8ETOb#Qi@B zBBgHl8Pu&l#^bD8Lel{TLAGq8ljlB`y5k2)UE35A*s5Q5qA1o3qMdsH(H14Mnyey@ zX!ZVp4T6Xv6?wRbLW$Mv*YY8(V};EPgqiWkvo4V#nMT|x^0;_YGHUFo;lXxTxXAd* znw+S?opoZYr@njXg)Gh4%fmVyHG5sos=G@y7<(l%k2@uY9oMJPUEY3668Cr|c&>bmZDs{a4~ky18SaqVtJ$-Z`0u8Yh|gzS|O zkz9Ly$+);yWF#p!Tgfi7YuuZinU#y1SzOn3t!w;l`ulhOJdd*;ukn1op0D$Gz2CoQ z2zRnA_@5sh5u4to+C@-K_S)W1z7Rs`3xG4jWi!nxGy6h9JOz+w6T}^u+tnDhMaN?_ zHg0EiIBDFovrN&pyWTqRa|k6g#XM4Lft?(b@Av+4{&;{!#R|AQ&pzP6tdq}D;2%{I ze{%{>SSPm(yABmaf0p04+Q-pr*-!>e=)NX&nK9FNHp(JM;?296rxs4W5%=zV>@$5z zKi3}?>uC%aq@kZYggP&B_PX>HF`Z223OEm}$#x+cXkABKzcNiTzt+$Z;!|dodAsNC z9QXU7OkZyXx9ebwdKf@_CJ;3&W0>x6xo~il`w}Q7$TIS&RD=64K$Am8zWb)%?xI_m zKLPi;Ei6ycs0o_eAL>P&55=IbWZMy7dorE^2UShTca z8`Ej2Q<(f8GbiZ+t>0so{b*-Hd6I?8?RPnGrp92>IY4fs7>zOxDApqHu-X!*>vs$U zhpV+>tj4+uX+9hd-5-OZ0IB>JhYBkI$%K@Gftugm_6=AM4eC&&r>4^^vTyw(<$&ZU!DW?CEbJh|>ILr(4`^g;=v{QR5Bal0`v=2@Pxdb|KSr2b9d?ov65@FJH-jpiq`rSpeI9J@E11>tZN>np^)sEp{<^iE^LGz1b z*dUio^x>=fbc~$A8I7K-B@#BM?Oy)GR68NhJ*5{6L+*Rf3c~I3=E9^DT(Mb#mK=}1 zQJDVViRX=t%4;el#4ZcUen+BZVg=9Mlz&jsuvi00=)Uq$QF7?3wA2;lQo z!r?SE{4zM8n8R7UdO07&;W7SB8Fsp8t4*&1S_hs5iq+yvi_@O>WrDR}xT=oP17D)P z&?Q)eM!;0CI1tZxTUVm|TI~+tK&Rbl&x5S0P5zG%`is9!<1sN<-b)pe_`X$7inIEb z3hSPnlHM&>e4Pqo$-Dt|{Mh%>J#>HvI7@#~ij0KdgpfTAAfz>>|dL@DHuH(#=e}m-kaniz(>Uh7jICko8kDr(w`7TFO^huk0rnj5>Fc5HUx5 zIws2c{3zdq)Z8`10;Y{AXQ4+qWOL{6Tdp?;->Ql>JvKcH4)ivnyz_HcaFKs9wzRH+ zspI#8mN;T|_+;|Xree8HDyi&v^@Sn}Yf+qTcxtuUb_^92b^fAaVU{uOk=Jykl3;}F z%jg&2kGKPcD_onONLvp^l7`aXo=5Q{ud^$!dwYA;HlHXcB=1$6d zYV$S*l>|s3tsX}4``jk($5HV_Cr6Y-<3>}K&&JsYLPG(wI2QF7* z3(VWHL$Gz{QEdLme}=zbb%JLS0KeY2(7aDwO33aDb~BOJW#bEV^#dVaWg`z5x6Ihj z5uLX8b=v|<57ujTY`0TpuYM_gwN-ijJZ1yqdCVdNY<%1|ysN=IN%!8P+I^{=n-O>ur?&f+V5T50Fut_zjo*0r zzq)sQmZDAJ4!TuDPNo8B)^KGXHE>d7(j9fb@e4|R=7odp4~1L1-Jch zrq8x{8~(IH3^ql~g$bQ*c%zMb{BppJb0ZNEHKmxvSt0sTjh6xVBzv>;0QW}IZ!mODbdk@se3JL|{tyeNEW6Fh&&XAVD04*hem<5#0s zes9wEh2ad0EiW)JbCINX)y{b@!AH@Uth(ezs3xucc%NnC5L-(Zu95&U6#)bB)D z8_oN^^m-jaS2-L1caM`U#@S^7N|9)F|GuguP=WjJFN5>_1Lk7eW){V!&$V(@X?_+T z{SKD*{-_^cnCUIo?X`GL{LGoG8|yaJvr_B`b-_6Cf*3;z`de@ENhgN1sBUEpOVUy@*FoI5_Yc5=*NU>al|uL;qCk9V z4|}NiJOAxV)nxVQH4$YPdu?m9yU-;(NwjCyFFm?bVKQ)6;^NTh-Kktkd{71Uccqbt zTLK`IWZ^R|->L#cy3VaXBSpRudt6%sUUIVKMauMp8_$zdhCVaNXMw7n?CIXTmV;Xm8K{0Ig2Ay#* zVy|bFjDHi2a=^yY`hcLKFOjo3#ZLIi4-au5>e=nOM;_#W?Ahl(L_U~3C+h549N!%- zQJAu^F|=HEJW{xVZCzL9opp-ZJN9ZmHQ%Vjb>2V9{`ulXZq&Wl1(EB^T;%e*Wbd^X8G(w%$JgUC-DmyQ zd24zl*uQL;MlbGuk`iOZE-;!C~LZvz}7xniXb`1F3_p~LcBC|2t zB&#^KRP!HzmSugIaenNr4~NiE#@$Cg-M2_SP^|hk!LoUB8tt1BsN(lP4!sJ@iMDWO>BH+?LiA%b z=)1Xhqmc4XOHMB<&*i!FP!d6-UI*X1m`zt6_1C~rxbO5WbIZ&;Yht?kRN#qUJp-Qm zhI#TUKO>$$4X`&Lo-hpBHTP}8s?w?}UhMPVMD&RQL;b&{E{o~elVSqY!v+UxPpbBLaUfTY}|GsQD*ZZ7f zp~=e?d=Z6R7oVhbOLuo<)9BsW1v+c5ENC-mHYJ0Lhc3D@jn--o&6+lIZgp}m?{G^| zif|am%G+m2QKVr^#0H`va z#hPp@Rk!PMgsnYrn;BG@nCBMaS+e8@tzSJ0PF#guvi;C0Tk2>tOueIUQ7LR4pfebu zF-7$JwbA}HOZ7pb-!J}sr0UJ~#c$osufGscix-#ne5QhTcs|TX)>=$_r|;%^~!lvk0{gLg|8{c2un8pN{DMxXdSC~N3o4%tB?81n_UF5 zIx`0AK3=T4EKfq{PnARQj|Od8`_M89w+?m~y0IUP0~Q%m%y0`k^@J~Q3NCDy`Sro# z#onPX!-+S3P!|Cw4>NYE-07B9+n63e{{W zOp6D?lGp$02h?9yB8DEPKCgaQyS&3Ibw1RMwc!`1sfqtf{7U=$=(?nm`SHtblIQI~ z+^;dWM#aEm&g{0fzDGiQu*itiMVR`{hd+;ASoSV{vazvnU0};8hdL($5P4U6EJfdy z);tVQ=iH#ZFFT=U%p-|}_{>?U<^Y^*QEN9ESiR^id~4t zI9}4`XC>rFtz%;K^-fH9M^aVYnVLVVTNn2Z1ur^3r(^cmh4{^_Df|~WB=p{G#dmd| zd(ige{<|0_vOkMJl`A3LG*eI+O)O8cY4uO7zYot#`!1(B5AOKXE4E_ge+zfr7h) zAMPiM`beN0U8oM%M9hbqAf@E4fm|q7sP>N6bq&!80I(*}pFRD(PhXKc!BH>O+!Ve_ zo!h@TnPXx!UkquPSekFU!~5e(?q6{xqWD4kj#1yKX0ndx>5UCzAKE=;gFq{+Z2Y)E zgEcyS0*!3E!btX=5uLDhpdD~=gEZFa(sQ9%1(hu~lm{Rf?wnkLN zGk=XgrpS%mOqOih0Y90kFR|X+Y&j0FpW7VGe$$Fu{;;XKI#SP@-`u9fy3`(z1jd%V zRQ>HdI$2!;Nx+bPWjl|yJzFHy!HE}k@NHIVRgxhc-yk4w@dKx=wtuAii2le!nI>$i4r zX-TjkdAkZz;-!?%Cm!bq=R|XheFiZhCtv4d+r2_e6xk{6u(1 zb^#gTX=6vuUcF+DJ-voGcf_1_Tr>}vfQBoZgprS$7ANC{{E{vE3^2Kn24T)f{#XDK zGDdUu_Q;!Lo-H_@%VWHaF&rm2_*u7BN~#`pX~Y5D$8x?0jXiTiYJP4%3HKnWwUnt#fZ~^2nK=JRviD#qGD?Zs?Cd#-9CqgDAQ5 zG)R+2bu_1V-~_F1_oU~yxbpYnaJM_~bt9}o=t!BLkKvG-Cbx{EaLD0AKe*a$1X~-d zlhDP|TX0;f75b`Wi-EZy#3;#_{x0a`{#m|t`GjoutauEUU$<>;*H4{0_V}?T&ZGJR zX)lmL8XfH@h&JgkLA3vO=Ii#?>aIPFcCA>CvDJrfB2O;xD0mFY45`6dv4XB^4=R2&ujC?6E*w7{j6onY9i4fQgcxkMZ9ETcW73)*5(@8t+*lmm_Y-~K> zc{U)S0ZB|kBS=C*LK2dg#Eda+r=9Da_q*TU=l5IMeQ4*Ro?W|Y)v7hudTZC-@3FW2 z@$WBx{Fi^a{Q2Aea{05r`HQvw$A9rBYyIZi-?iL&=WWa1yz3pyO}l#KmfihbcfWUe z?+4$%EALzGd+7eux%jGAu47M}JF^@=b80z#@%(b;x(n;LU{0PtyWZEYoW1_yIyRiwo;$r<_nI5` zZM(52ckPWidExAOy>*Q9AKg^8ql%A@8H0qq3bKZ6+ z!i_h)fd61G9LTJ`uE%$MU9W%5tCkBpnFb%e$|{4?Csx?_ntf!Br|<`#o|`W^&=sx5 z&^!6FA$CN5;SDa`r}z4!^_tz7<7fAJ!&_y=d;ZKJKKiIkdDmY571v&~UKqw%1ezTx6p8gt^H?V26FD|WC~>})() z&@0_4lSV$1j8-`u@H6ccpLlx3@v9Gc3MQY8{&11MG1C`T_?_&cIoeO{>_2|vuX5Ec z2E@nJJGoa@UU%@d$A7T39lvm9Z4ZC*^RLr`uT{q9_Pkwj;`pJDMPo6ba`}#ruBWd* zlI5f=TALSL&EGw}&{4Dod*b4`eLOM$f$i}n^sY9B<^z3HkJdHjo!s@GKI+d7>kH?h z?hb4zyR9!c@!;Hn?_Ig$yD`;QIqYmP{4cxeigkYWK~Lb!C7$2|EdLikubZpaQu}^PGTGbz zURHZr_CBzeS#5hiDHiW&zPQujjm@=_%efQFt?z!=$?{tnC5TJuB#$X?H86xFfFPr#wjBOplLeJG}Lf6NAQ9o zg)rV=XP}zn1ogebj_x@CUh1EYga?K&X;XqBHvyx>a7_-b-zP)U*(=*|`08qWi5xlv zo{2*r8A$x9*C)u;Uprd5PX5wGW2=)HIS71n3^^#la#ju|u;VqD82~ssxi-G`>A3a9 zv-#;=FlkYr$;#Fyy1(p-%a<2le%ZRvwcxcdR$2fp(iX!O%j#YAb*<0BTG{G?4NX0v zN4qlRg^y^i#7{n(41yuE{5DuNs^8ozExS@e68(~bXl}v3{KPdcNY3I9Oz`zf*seae zPhyfe8mBGbZR$HZ>Z=Vue0u$%Qo^^B|4as(m+b3vFL|s~C;xDqisl1fGXIPj=w-iT zUtew0wx-Uug@1v`_SQJCtLI16<1akqf$wyvovn(GbPB&YwsxXVJg7goWIXXT4?hum zqKz!NhVN)m+v8?$(-zSZ{@~G|PaI@#?4mYwWT$ZJ>l$rnz!zHiH`wrtN#YIJO`V~= zMCJIIemtayeZnCrX)UbOSK@NziQ>go>$U#V7vpQ6#FV&{sE}QSzR1K{vQHTHi79)V zW6;ai_(rxdaWww2D_?Qw^R-($$&F31VRIY5pZCbF&`GNW9=zo(#n{pLDoJEd~c+CXS3LIn&|)( zSAUB?KJ8?nUBKynI(>x!=;u62@RAZ^BrNcdE7}Ahv>U4r|C2reitK0N&^0{ff}dW{ z7c4s9H9uTv)$U%h5S%h;rC+d(V-x8>qROu54~>$K`sY~lz$2kyyKK<>Y_Bo-L5a%A z-C`(NQChGo)z{sG-BkkPSG|S5U4X_1&lZ|j5Hl}+q7z+Huk{DVrUk&R5*7TD%amI@ zTO=DJ@jtzz@ny%aS{Hje5O$DWzWW6xS*g??KQmDY<}fih;1Pa4#lEJURF_zzRlHgK z`RslN=c=q@(+ zuh`Aida+MbYHN)wF=@}Q$a3nGTpFM3*i$rjU%l~?l+{-b{EU37 zvs-b!y4W|znG3DtPp*4i?c{%P7yn;6djG(q4=fKq z@$mB1|L1G#4$SL+@(rt^Dlw7KFecZW=9@2n+1ihRoM|RC`VuyV3AuKQ9D|w;*p;#x zClRP#AiLqUuRa{ZXv0b9Q{l=q%8c7C1K|fFDPSOF<6s*X?r3iQ<`!@o*O>50D5}?2 zagR=XP6w+9)QpV$&?QNj1@3tzSB^sVpO$HXp&q)gvh+D$rfv}483@Ie23$L?sniXUk1vGYt+=1!H}lovc|J4hzcg4X)a zribf~e*BOF--)(qCsWRBj(!@O?Dz@$W3RylLkG1rPTb&!@m{GvSYx{;JCED>#k2)J zyKM`Px$xV4aML#M!H@Wad$h1a{!VuME}ij1MLcA$<|5neTwUXJ?sD>7z6=k2!J}{L zsk#`1?x|0-pWXT7#aCUwlxXy*rv#+OK()2QQu5J#_4@YfV?T_GGuy{M`$u^E5D(GQ zm9I}(lXJ98UDn2D!B_B5UvY^(gNM5@c2U4jeSp~}Dz%4W#v}HzzdyM?9=qoJ&K7TI z9oWfnSHJC!ckL6Ec2wFyDKYtrcl_0Q{iDD5lQm&!SEXd7M?dYTl&HM#-VZGIeCWRQ zdiR5OFONO_*!tL~WTk7nDi1#P;F`2N{P-iw$DVy^#ru8#;so%3AEak~$f4BNbL=$~^1+v424 zfHVV&VAGu4&t$?p3?v%R24*^rxu#$!)tP8u;I}+@k$Ihyo3Zi+%wS4 zL?u`>1$Sh~dmT?_i*9arX!k~NsNgLbG_L@GU%HMjyy0U8lW?(V zwl?*zFT1MF$36OS<|7_U2<(>3-HDkHNEpaw-Gw>1Pk?69IC<_meIQ!$Ejo`bJasl{ zKJp2_M?8|F=1#sPgweK5B-isP2Rdlp<_tIg=TrQjOv#ztl;}=o{cx+#VrU$nA{WZhiwneOn1iNlUvcc4At{o0qQ1W5)5VFHYX+lYICyoM5`vw*G)RxA&i}$&&2mIvh?m z#0JDf@Y=-OIXBoIZC!P0_oL<1E(yB0OTw?)`Q3$6%e(KobvgF?fBJ{(?n#MCiAf1X zyDD~A+;>i;ghirq_XGE==TzEJDN*^@b5AVyJ$&DC*9Y%f9(?q{}iQ6etps(<5)U$ioe2}<8GBRDZcMk*Ln1_d$j=7Ce)VmKX*f~Qki zBx_@wjJ6^$bIj(9508xCLvt{}Rv1Km0*qZ5yf>B+R?uAEOn_>)Fyq5qcr~wpMi$}P z8Z-Xk;RLl+=Ohdi3|c2m=BeG7DKmk`81m(eT_^q3>2vB$L5pz$kw6*`>8Ao7eQ0NI z^j~3%;lWe)+QI{uM2C%%9mgf_6?W_x%pH^M4vJs<+MVZEcT+CxY_DB_gZZ0_4e<|i zqOR} zk$#&q+Q@s}2NON+@x!N+r$mwbojr+GG}-NvpeSHEqrxVd=P*gTaP&ioPRMl@?QE(< zB|6ENPQl;{UV2c>O&9r_K0Xjkv{j$>F!j4F=*wrjr-QE3*1NJ5@uqq_S+FYcNtcbc zHlRlgm84W8XzbFQVqXP*cpAr-$ub;%D6)&-$;Z99<5N31)j##3#LHes#kl>hNRM&4 zwqxQYlM)#_DLw8fiRp1sNll50$3ZW@`ik}CljKE4(@)tqSxg;F8&l{8k7BMd9`lOP zlD_z^PVVHucF0Hk6Cbtx*AkVhPw)CqU$gVKU1ELxZoR#Ddb#7S+m>S`5AB{*N=`~l z?5h0r&2L{zNlb0kJ^Ja4O38;aDvv$==$f>2KIOAt`RwxS^Up5tyYGF=BTsx}x%b2O zuVWs2>hbmZqRU>g3W3twMRDRdqNfrlKc+B5(CYOQ27xEAxu7%`p%J`=uR0-81i@2o zO#c;yoqc+CeeTyHO@MPX_+x>tCt&EQ`Me__)!N{!1j3MDEyqu0@xUIYY`{)_wtdr1R@#T0s|!Np4p(?21T#_TaZtrU+xkknoVl@^gx57mJD_XY z8~;EfpO7r@2{9pkbe|07j*dC(RJDsznY%lZ8dp0koimCS^UfU~K0*HfREa)2$=&mP zePlZQm#nuF?5m+=DJ00Qy%nh z4P*=3Scs;*U+!$TvpDB^^s`$xZa8<8sMt*@QSq8`k9$f?9G=zQj>>KCdH0&6v`f+f z+mewU|9t4N2iKjH5|xjB{G-d`&pf_MVm`2Z{8P^?AAaoN<^G2sT%P{qGs{z-`1tZ0 zzw_4Re|YIPuLU!HJyfc9hQ;$!!Vi{FR;B}6OoC<50)-&a&V>ZYIL1ei44`?ZQOho? zOH>#E<7OOiQbcu5A6$u<1%4WN@Hs#Hf=xK_z-cOtfrFzPOJ1A>zq3qy60hcjA0Hec zxk@hTlQ2j!%tMBPwEnqhkV#iMq6auQ+N43iV-t;=kL)U2eRQ2pI_IjOcRF+Z0(1A# zuDwFH;OE@vPgY&C%WPWEB*R17Ianb5LYJ7dc()jO9MQtvqS+$`=Qo_~@Cai4^?$&# z!p53Q0TbRL_WYzme&z{YGJww#mCJU)_ocgEigs0!g9ITygP-SE zR(?+%?YM@UU6_xpbPq;y%vTQmc_*)MlAm1_J5?U_*wvD(%$*hoe|yzA-8NtH%x2iA z9|o6_Azr53*;G2IJ%0QkV7JCJSMb58^EtK{UU8u@e4nhcO+OUbFjh>{(wVVcjJ~jcJ^B1A&#jMs zZol)^{TUTWik%f_Q@ru>S2z95x|`B{yC@&H|AT9ya@XDOS$9!7lhU_SN>nQQ9hS$| z`o}-@?DEJHkL}8%Ym!pA=R*%HKl&5@a^1#i(Pq3|B`w|z(#~Nj34x#qY8pSs@y!6i zL#ECUmBw4Bt1~!8XknesQ2#X4tzlGWIJMH+bs3X01ci@C;sqp zoaQI9>c)^0$ATv~i_Tog*(1HNzln3=;MnvM&)Tm#c3UA}O$gG#_Q@uSnA7W3Rp$ z6Ha=-%k(>TY<@Ol5kzBW2<)OXuX8BqlCV^FZwJLr)|xn$&C8&WN{PwaZ+Yih zN>(H-y_zgh>5NLdDeGC3U81tzS^3cV;kQaVE6;xB6Kitv!kB!pEOe&XeZpr@>mh zrtP2IB^k|c_sZK-&d)So$q2gVBdO%?QB{db2bm=bTRW{yAw%}FwQYVEU-K~tJE!0L zjL*zD=qFrgAg|i_IKQfh8;uXn!px_{hB+rX(2qvG4ELl1&-GWj7vqAV$NJER7JNlx zSBV?i$jm(9iXO3v4AQ^d7C8BAW5IxLyx3X4IH&|er(OBk-Y$>6n<4>`ta$6k+dW=m zu3mqyE_d&6ZMdd>$+!8gU^RK|GL9Z1uT~9e&h^f94`TwD2{s!SFkB zrRyVIom*c|zVh@ghMm85Jxtp%sCB_F=+2Tcw^C4 z|8zDm&7GlJ(9y)`>!ZM~5*j$B({teZ;!_Zw^G*60hlIjTPB6if3BDSSMhnjj27=)l zqFHIJI$8R(RR+Bv8%yw)0M0?&%vp@gM-sHu%V+c1~%Y@Q{Of*_eWNb_YNE z+&a3T#i6&fqGN3zj}Yvt%*EM`iG{p#9nPgxZ;@|&hiUo53|P}g*e5#-t^kCl#>XQb z*aR8E!&kbprTE(iofrN(?ad~SP4I;`J3=1)NL=*kKfE6BfM`NKDVs01q}h%a-#8Q;-puIl1_ z{o;*df3(EeS5!`S#LM?qp$mPo2~AXl#-D7$VZam%e0qW z`SQcQecO@kRQOo)u?vavTpRH?`EG1Hb>I3sAM5a2woGQ>mf*4HnMjA1KFr^hoY7N} z@W6fLiQ>)a^~l_#J3`10{jePVh1 z<4>(SD?jvOKe~Q9geGqB z!;#S5cm~ncxUO~}W-zF44VDLv$hd>^<`0K%9R6m|5i}~`$*yY#5gdodFZ$3!rrIPT zTZiPhlAbvR>O7N5>5*wT=W^9_`kA6dXs!fLL?w|C?sGWg>4g;tB2mn zoE_rvQhKL1{<->83Gy!an2+6(d-FJ-(ixiOKliE|)>1+kt?giWWVF(E<|xrHzq#2? z^=yl8ZEb8`(cC?oocie=Pw{PW7xSim;&qNC8#*UH*Kiqc-r#2pBJWwBafY8xy-ZuI z9O~f!XE2i&_>AvLHr2z&-r_qtC0UXaeB)#4hYW&i41VAtKXZjgjG8#UUI|x;ibJ$^ zOG-+-0i@ldACHLo?ux`^{}H&O^O^KCV`e_7G^2y~* zZ~oQwFl3C_isK*{WTdrCA!=h_l7afd#aJk4Z#4VIDh$0b-J6@S>knRl7GN6VYz8N4 zEZPOa+VLQ{5xnuRO;jqu`b51TfHw|}7C1SyAf+&ta9B(j8QG#)TeyQWckp1NyY_U} zd^2dkHI00Zo%(7%_#0naa|#ZE^M5T-0mm_?lTCeaG(l$uVLbU&ki3GQbD)<4&R+`f zkb^ncP_TYEgp(a|+Hkap&(FyFwum=jS_E4}z4_AuTHpFg@~-_wmtVH_Iehy6CsDZ+ z?NetKjc5-hz05>q$`o$8Oit5Y&>~TpNece(I1?4giX>u92G)e&zubYC_KZF{AZtMp zJtxnd-T&{?F8P>qpi83St)%)L@|Dz}c}=uV9X+#G$d~=F1B>vqG5k!vrtU1D`X{e+ zJ8`i^@nQPWl#%h##}6bLmFmHm^Pfso*os)Apnck!xP$gf(ai4P2Ui^)vV=Q6yuAW{ zJJrTqimv#ZZU0oFf{sh!Q{T&bzf9yaUU&ZUbrY4}dfRU= zol~)^QljDuwH>JSKR@lJI7r)9X=kG1v-zD>>2c4KpLlXTO#A3lkFL8Y?WS~2<&&TL z^m$^# z9G+b{>CO%&FWpZEl&H*kIBBqW<$%ElgV*>JOx8JfNk(tKv>2AGlytN>`o(S$-!AlB zTOh%LgLm>i=|Zo-fe*Y)T}D5-8PB%KhfUN@x8@Ke*Y=U193G6_(JVPxA6=c>AD+eE zOl0h;v~w}(ojgvvs~#c;DZH~rSq-LVhnA++$=RXxI^i4fYe_(TLWy&X9 zQ-*k~%y>}yl$A#q=%kTcyQnK>9fAqG)PwDsg$61wj zRXp}tUq{|0C=S!U_n!AHANzU5PT{OzkUuC4)frN5e3uhfyOadPA$lAd;tfHU=wWp6~PIQ_=K;1 zZ4x?*VlXqfz^PqvAB<$oT;x!lb8x^}rtH&`UryUa2n};=@`who0+SszZFJcjjhjJs z27?)J*^D{is?N5y^EdX&-2&)a9+Hp4S8>Op-J)3CPKzCw?JfYnL5Bb_@5uuFD;)=X z(OXyaPdxF$ezddE#=w_O=%#Veie^`QNf7Wi6B!AZv9&#ZvgIBBaL;+zmw4Cs`ta7hL}kteXSDOd zXsgZ+f}taJTXEmK%(ioW?h6<@OTda^Imvghh_ zg{LXwnXE`uDt27i0e)w^s=fQ<8J=*n1Ids0M~-6PjE@!Y^@ST=>v44KZRo`M3H__i z9A6L9_6?QFt?#~hIriqa{>Jj_zx|dqS+T29@gG1w@@7}1!?ZpA=`ij4?tTAq??d;j zU!?6jDwUF!c2Y`G`p=(sPab}}!?TaBkAFV?sppobKJnc0^e3O&B{BP*m3CEr@?Za} z_2XR;JQXnwfkFs!Ix0ccHy2flF99<6Y3u?3Tm%m%W7R($Y8t5^#UWs~wf*=9F7{74yQO_y=da%{lN? z9W9f8^6s7!)X!Org57(kAd_J0!|Q6p2R5 z99w6dB|Kf@lcUUFHVvzLK?n?ICF|-QL7`DQc=XJ9DkU59tjtXO6#N+5T=S6^J;O2O zjFw9L2rL3&4kMs&7&@G`B9H{fp*ZhMRM?7f6Q(kMF@Ob6W?g3x47VWH6+f#j?iN9B z?#u(Vujso8BU!Qg(6vWJ!B?vL^}jCggLlC~;L+}}BKxk`{h;G%yLjqeaKi(5JoB^Q zY#py-4;J}(tvH9WK4v+%mMEcVYiM zm*(s-P`fH?Qgo0Y*~yCL?meQSkM;HBi~HBg(LhFQpFFm9!)|9ew2RY6Ng?0UH|Lo= zv-jF87IX1n%j|)F)z9}T5(4_4w9(x~7T}8=%~(Sw=8i79?jBEY zlNr0`3zJ{8g`e%y)0FSD9ejxsWJo^bNakH@?>jwx*v&bWOMORWe(kJJ&#Lsur=66NmJ*c?*7gk*uP1j- zr9@@@jQ+iMum9!q=u@3XdF=3<%A-#{x=TtPU!M8&Gt1|`@`d$W%05APX5CSF{Nqoq z=TkaN`!DAlo4X0!$9LCJR#)%sjtV6)?%z!Zi z#5R~{CohIrdynlZUcv5>)Hc{`Wu^!WoNLlPCIwUPA^f9W;7l%%$h?~{(&_J2;; z54&&`1Jlp`)#T2$1aHS>f39WkV`OT6PSmPufY@AD(^sux8pL(zV_&}0~T%F2WvZ+ZDxSX54kjUP11G?1KYdeAf}kJwnIDLmDA0)OHf+K z`EfdHjK2dx6CBM&=4fYs^~INV^s_71;Mf!UF$OPukbbhKlBtp{9}2XSRf6S_1&vo6}j=tsy58JGt|3z!-neo~DtG?}9R$D?3KE<=iH`|>) zKvu~)zxBFr@Zkd+ZOs#H;2TRewKpEmc0Q`(t-kQq2PgkVr}?%vIcn(Tg5|#h^7k_@K{L-)g%6e9%WW~2t+F9|{+Rm!9yVA}|iAv@6 z_ujEy`yZcsK6Kym;71-he8Z>1v;D_UiA=~`PmD_wn3zmLE@|E15ZrMH4^d(WMR z#*RU+m2rH6j=>5ctWG(UkW#c$Fhd|nikJpSaC1?$XmBjXqSVh|DY$k9JcCwq2>fVZ zOtnc^@PYp6Fz&Yr!h~TY)y;1n231>*WNwRCaN6-l7GxLB`kNo0cp~p9V{+)eb}~k5 z?eLKmC!IPs-U8^?58X{W(I3CYkmr8?+A?Qw+*#mI+e2o5tDP|zj_TTm;K zBX}EYyH=3c+G4!Z0eP?iv^Cb4$&Y?MMaI!!F1nxcLvJwTUcUr^tjJJu7kqkVW8Jf9 za|LH{VI%bGe#!x_+9n->=cRb9o<4%-PhjD$uy=g2=?b5#kO#lSKYIDbEc%q`6H~|4 z;SFZm?}R6h6X8!TCA9|!g1bskoD-_apuWLt> z1(;94K{ny;YGI=bI;ftWx{^5@-W5(D+4srkDP zCwnw!Fk;QtM)?&Voi;M{+qiJ}Aw%xyV57l{m*Hej^-Dmy_vi;5=4+1N-1FgJ_?Vb= zsdX2=+1E8Wz}Xp<9(P@HdMBfcJ6)XHpHsQ@uA7%*|M8dKxcvMt{lfbAr?V;@u5DMP z-IS6PpVaTQ<<7747^t0;N{@ni6R7X1w8PSlid~d;S$aIw8$z}F=vzA~UHhI&u$^Hk zN%`!T_sL3Mt^M8~{=wxNUi8n_e_4)!1Rb*so71NZ#zPoWI2Hj00EW^j6TG4?B??Yk zqc!KH0!8oz;O1?-fJ`X@%`|@V)yIe#YV*v1$Y2@a44i15bk4Ebk_)HtI4GF;eHcNz z`J)4Fc&d|+`c@xZ>1py?JNmVCop?AbBX0~m@gMzuO$Z3&9}X~r!L$*MG6QA(5{kyv zKIxqSrLuKOc<7Uy=hm#b&C^xeTvP=g_H64^f>S$ru?e)+X7`Y)Xz7-Z|4$(XIo|KJNoDcOnsA1Jd@L$C%UR{KMN3F^lz?N>X%qI zr!#ilho?5Oq>Cv>c7nDkzv)|z+4=xKm^y?Ho>fj4k6x!P`H+~*vqAH`jf2D`H2Mz@ z6PM5&=(D-;R-L@ldoJ_ererR`IWc)+Iq0IM?WPg-u@|3=`m2>Rq6XFomJ^^P`fH#SAOs#A6^rY z{?Dh~l;CPFQE3;&hu?Yx)T5tvRC;B(os>ScU()i_C!SsY>ZW%r-~EH%e;A|)l)*D7 zf}#{K388y|k|R*~bci`-8VUmmW-jy$Ss;LrY#9toEBZRO9q0Sv{=wMV)dB}U&_wdmqp1Af}lX}T_+xnjy4Gf zd^6bK1wY--;Am`k1S_&eqcKxfQ@3@@Xp1;@5 zAL?VTWNm!&(Hq^tKkaDR9=WrBxQ&OGF4zjb_+UJDR?9f}%^5uU!E}c;-I-3S3ldEem8x5_DN3avx_BGbQSB+7yQ)2 zjDuu0WzA;k9N%OB#}(IJy?#dj+$(qfb8%-gyM*QT_uR4^YZs*iMd_?cyDFVi>CK-K zl@gR5{qzyI5|!TkX(y#brG%x&KJBPYu#W5PeLYg(G?-`}7V6`npcLpL)PoG z6BizuYo0~GQ^kDfVt-;r_2}>;p}M)uH*J=!Oc?y~Yo$j&c1OIOwB12*V7q#cdps%% zru)izp!vc+foQ($D7v~jvKUlpEZK`Q5*fN6 zM{%wz`IY>Ts~CgN`o$cHOXH@0M60nC{Fryj);!h0_Q!!b}dl}4`nlajsaKo;AUVA z27dQsAs9qobQMr7CR3Jha-1oX>CoE}j{1x@4*u#hfYvtkp&l-}m~+z?7zWRwIY#ng z6M~g-?!(0~vMpo4a!7pD&Ors4iU1&a;n4cwg|qtnWtX$p&bFqm=^1|l#tfQxMgv&= ze1K0Re|(ck{0YwN9KU2ReMQ~;Xy{6Bc%F7U;U_LKrqc>~(831bXb!*3<8{s*uI~Bd zv>yfE;K_zRph=y5b)Eh(@!=)9@PY3NIoH;_^iW&zf(-rms6KrMoosg6Iv74P{cF|F z$)i6|bS}j=c;$BSNhx9f89`tyh1unE5y#`f8e(Cj4|T^pWM1_bl*NwtZ7>a8)iP?#s z$Yt8imUq0t!{!yZ(G%=^?u{O@4KG=Ck7n)NPrK$HY<0T`m>)bmXf^ko6Yo=2>?j;; zw>FOws!Qm)hnt+jB`(0tM(~7RW1^XF20wY_Pk3V|Q|?obvyj1+*HzPoDHgo)V@? zZ5|Dik@>+kKi$@s%;#=1Uf2+QR*a+f`00MyD44Ev3x~Gmg$Ex~ujE3$Higa zne zs8l@asdSjOU6$Sg>U%1kPbo?1@lTI_N=Q0L+YU>KN&o%R)pu4pT-%OHk9>Lz)U`)I zJr44fT91B8UVI4dlbISG7m zvS1}jc!CG+=`6-^%I?uK9o<-clin$ZtxS!huc<>$HT6}|k2kRJ37BBBfr8mgGHQok z8#}pF*#-lFY_?B4Gk|PylS6&ky~G5K;Dcc^)f+qQ49v8@>Vk_hzJo+$eqhfdpxV6c)1#k?&kDmSByzE^lg0e z!mFU4&9dz&f3(vt`^77o?6~n8Nf%tRuE32>e#b7FGaktbz1uj{x@i}rvB5SD9(ZfF z`=7q>#3%4OeOrucEI(k^#*hm=83$&s-}vuI!}&E)X;sk!*3-j z?W*_)T)QeIEF~*;Q#!NKwZx?FtCXnp=%@eosg$fpPPCPvbVjAbq;o0ltW@vXH&r^H zQnJ$HpFXkwwmQf4C zlufZYE(Hp<=oW~h(YzJkv!HazOZALyuiT?R$I%4T`Rg-73O1b1(bN|$75HZWvM_WF zwzl~zXU>I(=HRIGF%4In@q$hcEo$%bz4JjiZOg z<0abhyY&G$$+9tQC^$h~fC>j$=$mci8@}lSlJ#f{k3?bG($q`$d}PXh+96zM?@Cs9 zWE;_7TyxuDK`-3&OP;|rKU;wZ9n(Lizcj8n`rgs>#o#LH!JCIZw!X94MLIorv&Y#K zJ0@OLwu>@%P$VuAmF~|5cR)WGl#}sOpVirt#Gv~07XcdI z;SzL%bkJJ ziZ}O_@Ss8ev!uJT}3$FJ-4)`6eBSdHVSX9B8LUwqkC4p_QF%`A1hj zFnnjsnlgVBpi$go$NBsGq0i3P6`tS=N5u~~Iu_6LlexC))*^VP&67iL;)=2B8I{gO z^~a67a`w8j%dPX@lO-c1B6d$oSlUhTkIL=3l*sg$rvtTpskQ^P?Wpwlr(~tGDJ3S( zt#mJ0DM9h2+78fmenpbfeV^MeIVnl$j7s&AmODT2zU6y<=m%D23b2&g0wV~-WP-2= zPlXYt0L6*nspzY&p93&NhC{*AxGENYjw{&0+kFZ|7b6B^UW(Jt>1V*+Dq3*X&$uoA z@OXW4ek-NI5hu;~N}Jj$EPZ;G-d! zz40H}Lf7WwSdxz9m~Fuw3`eIc_ymQSC|81+@N9)Hr*l^X5o7+T!sgf{Jxo2tH+hmb zz14__#s-rf?BK;`eeAM1$#3E|UT_aSznJ!nk4wpHwy%1- z_V{{6r4PN8s8mW$JO-+CaMqhXGg0Z<{~r18qxG@Tx;1|k7yU592Rmnr!9~B_7kp2h z;QzU5`=amq-)9~rfY@6$)=fW3%Uc331Da5hKxVi_4VRvfGj7CyN73cIZ?mW!)o z5k7o0KRU^^`@Ig%Ea$G@trIt#Uv9hWw&hq!iXD{_lMPkHFQ} zqn~zC>Tg%21GSw^sa3Flt&72KqqQ-&Xn=%dSMz>BffE&6bA0CX5TeT2-4hFC6 zBp5QSe@n|&E_j8bI{m^Ky%re(ny+p7)mA}YSG2R~X>a@+{l=rCHZ~G2cFe!X0>72U zO&OSnf2A+F#RIy~rcQRNtgDX$wDT;AZ>jYEMUoV-)$2Qa{B!E~`e}W9PyVMo$+WpE z^%uL)JbioWV#;UQ%d|6v45l3DFIc_@SMyI?b53KspSEw2osUPhaN*v@S8?vc=^*8{a(+g0fg3;V9h>%RYcSEaPb zm9%)~DF`G0f~zpbgff*k70Li8oH8i#QUR&@q@jDt$sxdX73eC_sXyH4*&1W8!CB1h zK7^m67{_pD5Hp@!IBPP=XwXs#*9?9f56^JHC%N(~kAn(G!EAY&{4!GWpbc+yg8#NmujG9lPA>pmshv@6mx4|9!IEJ>r*m z*vb?i_45;UKI6nJ?6=am=ngiT1?lcIl|d$7^mz4*ot+3ED{BYG?Q{*&i+N$1YqZod7d zeWKEV*_o)6jMy#lN^+%LmXedsr)(3Ic2(x9$t5d24sv+b$K6Uws`n_U!?YENN~K3V zm8U=X-151vd};ljO4sgx{+E7n`RCvLy2C{>X8dBYv%yKLQ@-G%Ok-CV{nlvoO=qlL zu$f3$|69H_P))07O^&Cthys>4Uo+Ge7{VL6{)H)u^JoEfcx z(UeQ`GD13lLlBVspp*PKfkl!72GcnD>z;h4T=C5LXONiq$zaL^Ju`sfhof;o_M#oV z;bAvj;hu%#8p{c{&ZwY=b1VAbgd-jVa5U%-o; zI>zf(cJzoQwz}nU!kTaDpFV?0R&#+79LZtpN9+sFwV?w)lRxuyMT^4D*kAK^b>BRG z2#`m874uhbE_6Ixq3)OdXonTx2XU!OM();hQql$M3E_ zmHh;>(`S6oM5R}fJEPL0A3G^N?p9LLZizD~UQaGT3BL0yol_}E>9J1GOtAeLV&`Hy&-H8$Vr}H~CLKqM=wtHnn$Ud((F7W0&YBbGFoV8&}{#mpRCA z7HwNuvN1f&1)dF6#1-S&mig(fIvoesx;1s&HT#%6C|jEGKK+JGu;p+RN6`ot4<6Tu z8|=jRZNc}H!EDDTo1?$_yC>)HHy@eKT~6_fuDf1+Dn0D(FPvW!m78vR=W@(v^7}s@ zhiUDkbPlCtqur8rO1f_+#bcg!V2tZNm|jILDd~-$+B&=9e}FohQle7n18@$~`hs>M&vHmF2(x$N#*34DNsWU;fP@gBD~AGEzzqcoKv*1~(0i!j?4_xL2dBBIeDv0KIb^LT6<&Z zVA4W|WIE*>UgOY=MtCF?vwiv+n(@G&z_9(vCpoguE&cR6Wr#lYIX@j{zw^h#q?5d+ zo%5@3bnU+O`pFG0v>Q)8c;|698!kEtv0=-`)Zn2+!a ze1f00Is4fe8u?|h$h?iKzd6}HS|{FF%t7~!uT;-Q!x3o&oXzH8%>fzLrqob~VJ7k|aG-I{paPUky(H{E*Ea;!IbIwV`t(W9N- z_>rho+AS&BC<*CoN=Zuf5}0;gDvfQorFQ@4)0;r;$n?KJ4%qsHzGS5xm0nLi`eVY+ zEDwFO{{?z{J)hD}$``)+mGy9~(jON7@Ecx#=)8gzr7%1~n8He!vyC$_Fit<6fO7=T z85nx~u3)#0TLA-?os)S6BlwI=Ur9@eh24@ZZPNib;GC1ObHLidWlnU#)4gCYWoxGc z>r=OR8GJiN6D1k<)=J6O&;i{N1ncq_*Hbu)kAz%_ZT zjV;X}g-&>;jJl>j{z->yi9a?b9nWArc_B+Qz|+;^!r;lq{IySen7+c6j58*B$VnR- z*gv0V&un+zhm&37FTVj7em+JPm8~4m)>Vvw6J6$~pRKG`c{gtCsLV${B_rPO@%j9& z>*3jx#}6L?f$OcG$t!(qbvAvyIy;D-sT=a%+B+V|$ynpXjv069KUWOe@o_&_vFX5Piy&DZi|(`^KQP z`)U8(=hssn`p6}EYERzysBOlQO5-M-Vh);T{A@Sn1&PYJv&%bgxp_I(BOk9I_t>XI zrR1Z;qlCqyo_1AAR7yO&id?c%65}yZ35oBh^wv*FO|aE_McF?lJF`;Vw^T|}KL590 z+Kqi;*Z;9~_e7%7IhC*cr?0JV1a(%WkHGc1azZPRG6;q!bB}Rt41oa&91LHOV8qk0 z8b`?tb~;YQoYRrQ&oP3hNRMm;+G*J4l>l@<=YflnPQ&Kd=4Tw}=qmB?!8bVd!8>W0 zj)6`)K9Z^EARD;4GVVD~Z5gJv=&n8!H+|;BCthcOn6!~W_2$SK$RHic=s6Gv2@je$ zDM#Xz?7+e-0L+A8(m0(^naRnvOdR+XU?v}vZhV+8xS6OZQ!em=y;Pzy`GOxjTEO{H zz((mLeX?QlWn1{5>)P=;d7iR`w`*hhPW@f^Sg`EMIJ_HMU-#^7&OLQkA72XIm|58B z#D%u-G=`7hpPbkWn?VH0{?WJfj|y3>WjAL28R6U|@gG0Vqx5)Z{hyyRC)UJd zJxsg154KmFd+TS$A9j%quod%mUwgF7qyX<=$$R=5e()`(g+pA}7V@`q5p44oqs&DI zV!RkvTYU-|$dQiC9XuZdkB92hCK{g~#9Q-;1JS^C$qdi@mK_GqmJ~ibeZ6{p<|XH8 z-_zcv%}sc`&~F7?ZR8k?ctZw$a}E7iA#@t z+Ew}d-+pmTRG#|8Gi#z!Qu489pI#G|ul?gc?BMo?ZQFJEmAAZkr|668qO*Tw@~Q)& z?w^lld<4p9EWUOuW-=n+Oao_>;oyYb*EjpM88?l8;;Vis=TnSDt1*md!c52KWWm%P zZxWIE&@&yVe^8bf;9)+4@2bw27;)qKYNlihjcBg!yb$9SFuKBn_HbA4`#0f)4_)9m zk}~OxCU~bKb8fVx#~e!_n$F7^IS!tuj5wo3okPQ6t{EWM;S2^!_l@Jcf`eeefjRzk zbo5R62tso{ZEUY`!IM3_^%+YJ=G5UkeR>M~tTFe=(78>y* zn7I(Zi8peYI(L6)3kQ#TdShqZO*y#E!?d-nZv!1X9=hsam!(HNrw={`cU3Yw_riaf z-r5Czqa!@?T57+GM@AUbd{LY?S-oDF4)EQv zB`58Uw2M-`OeE?evUUqFnP znI(jb!oo_45&_OZXftRr=wKxW(_t7p$JicjBXY4PDh4FFB9_0~OrKnv6MpSAixRoQnhF zEgT%u0s|-689$wnBg4tDX3|jKv<>{#*K=05f~!3ka)<`6$krDx$(Vx&gJ(`oj@3JS zC#VWC(dK&u76A4T4dIyuP4#PQoFJ|Zz2sIQ%jR?yfTAIN(i6LCoTQ3v*PmP~Y@OVK z33oEWr$mx}Ox@E%^=vi%$UoW}Uw=5ruA-0J-B+py6FgbKH+99XlUwz8iPzw&^AEb> zSJTF)4^F)Z_R)Z+cmOy3P#wJ%2lmr=$pe@*_@6m?tQ8(S@Sn!woj=eMe+{0DrY^u6 zBc9YwpVb?09GSB_G;CuFJLtagaI^c_&Q91^eli#D+UR@64s`IB+O~0my&9)o>0V(! zU4zdyD#qe%7Ifn)SxOMl)%^2^0lDLk?{$ynnMl^huN&taig?l(c4!{9Ipu+Va;lKS zv>kR|dt9J3{B<+rr ze6)+wZb^ws_r6NowH=raHBv(&yG)mM5Qk z>hMdpeGslkM1TK}|FC@JYhPXIEGfD2L{8d&n6%gzL|?wv%gP9L8qhSXX()sbmXlZv z6i!39+BtoFb55`mhchUWgA6!Wh75ixaXSYG%>imdb8W#hkO?#CCkJ?%TQb+ZxxzDp zOk={~-n``3)#6KrQXU$H2VsY7j(H)Gse1f!w8 z>d}^t%|Xu9B{s=|UC+RUUV52+GHnPxyhKy&Y(3w>6Zr+#yz`e_WAG6i8*ZF-0Tk`g z3m)C%(%iwgPM+{v$p$V4{(Zp9tC>#BseomYR`!DfQ*K6=Azd~>^JH|R01HuQ82 z4;z{?3#T7_=)>dWDOh$p+u^T&O9wf_Ee>sENS9=f=f;JDpEjoJHlFFLh%0U&pUG9lcj9C(oT&|LbQ>RC?p5b1I6rc-mEI zN5$iw-rOlkX$Pf8Kavw~^z>bnc2!Dn8dnLf54-h2IPrF6SWR>0peUu~h1_ z*f1J>)3D~4dCv%@A+=helagJy!qI(W1Qc>&q*K<7*~*L)avlM)!tg7$KRFaff{RWBkLI7wV~&ZNgUx=9 znX~1@zOR4|0fR1@SD=`43VM6z+|Lug#?NuV)kkKW8Xmf4%azIF*W)wz+Wl&(4PN6f zB~vs@KM@1YI%;2U}%ZXf;24bjQZ=N}kh4j0wIv zzp1{palSzI(?@D^&+aYQ=$NqvzIj!e!!A>O9 zBq}{-DJgJ}wgkj(N;@qQ4Q~ed)57Y(`}mu0taNQhMG{lJA~Ep+IIk>MZa5s(2GC3!5N%g9{qwrw3%zt)_6SQw{i7_j|_w12o?*;Yu>SfutHqF$Fn;5~q1D_Rzp*lVj$|BO1sODN$J@R{2S*erE9mHI&N)}(v?b?g zRT|F@CjV2;^gm@KC@GV!DHC=kpw$MxHawb_Z05Lhi;u}GU9fNR$PR*SE;|ji^MM(_ z=*--7fPeN%AHm>@F9pw6=zu?vb9FvJzSFnoj)-_MZT3~)_ATpqt;XPa`VJZJGrq!} z*uqwR?1WvQfgH&P{d7BN43@sDvk&ysC7Dl|zyl5r^2e9{$>*iwYxB_m)XSVhA$#(e zz8Ea|PCLO9|AV(W-S>~cY=@k~O>Xd2qN6^xO+RxyTKNsx;sagczd5G-vU`v2@gTWv zju|W9cMV^7*e#i&oBq-6e%A59_bTC!#`?r3a)8@?IE~vL+@qfojS`g}=Qu1|!s6R0?UIy$)F&}1*>T3D zotTo8c|N5_KqVzU_|}d|eI+j*^>_@_LEHYcutz^08EOBH?|t2l*_baI?APuqmi<34 z9vx&A)ESz^l)-Zv#>Byly_Azqrl&+{%WXp^+_YY1`UIaBKjM+B;We zJXn5#xA4@TyyyI67i@Ur1Kn)U+*AMIoN<x6_620t_@1jNQn7TBtc71T4zL>09f6~Lr<-#k^uVwwKBdHB zzM9;loRW-oO-evYSV~Tm+Dbs$*(ky2(N0NA2Vy%s8@}*#5Vzfz4%W7F60CD7?V$K` z!jck?i#n^)4oanjq$H)JBp3&4>kIBTfA6i!i!OWdPM}xq0>^8Yc2?R^na-V384BmM z_;XwftT7ak;cT68I>~fa;~2XIU7`}~G=yLou{xaF@zW{I5gi;2jKv18cxwz;357W< zI@8I}$H+KHFpV`I1IIHt?~U&$*A&`uOw#5 zL%Zk26^DZx*WAIOozCj3Ex2F=I5ry$SygwBwvz7P!r4_4>b#9I<;!ks6A-h}?#Z-y zlA)bEcGXyR77lVT)?D?|2b!z%oA@*bAF01b5O^Y2@}oQB_^R<>z|S#g!AE1z6-{JI zHtdq!z(wcN2ib?YYA2VeJF*WKn!9$dZ_=-i&x<4BtInt6t+r$`?E@`nn0AAwIme8T z;h(yM8^1Ggn6jzgyySw<*~gEoHUKNugda4qVfBi>DYM2UtF9g)Pnn?=9&v`8=tn&1AZ<@ZN>omqKe6tn940Cr z`)uF#sW=o{g3_a(uI->WtKytWJ0(5(38s3x9ksV36CUvO+imeCkWzxvS(L_AZ`Y(p zJRSjcMx`B=O36tHjyH;`_Xf~QuXx#-k=^jx&VL*QhJ?l-IBe|}S^}R513?OY_0J;k z%rYH#IupFp$r++K%!?+@rO$kDT*`6L054<48@%X(vpFll+QEU#nCWolBD>~8ul7m? zS$~D|1XnxW8Y{7q`~)`>l?n%ei&He-B8+zq$w8-ck=t}SK|tY9f{!b_6Bd5$-OoVc z*YU(9LBJzjMHhO=w0=oQ@B#wIpE$@$J$&^EOza+=_(4D1Y-H-e|CCg~;g5|qAA2BM zwkTL-U)|d=NZ(x@9Gzw2+Vb06?56%;vnTdLcD1wp>S%;7K7x;ac-VY%hqE?1;Wy+n zZ9X_Q28TKM8b67q>0|5?@8PyEl5z8+fn3c&pX>%MI-B&&aa%m}My_On&I&rVefX)= z2QHXm3VpC&G@@gRk6h32jX;&rQMV)3(k^RK4bYJYyhfX-nKlz8Re)fdNbkj9hv3JIvY5T!~yA;oG zPCFKZ*m$^tnTg7!bP1n%`TU%7%DOr`VxzN-{AxpIeaVs>-J=)p=9%(>FFt1M3dfvB zqC$3+>4*56dZ9mZs_5&=mnKhaiEo#vbbRB~g>38idXTncWj&+f^<*D?ldSlRerHrl zNF*WN0IJ?@MvrM6hILM*yc2&OFJ;(?5(9A_|YF)I_LO9zJrYKVInu9FB4aN+N&qCaM4k4 z=$eJz`A0azp)Tn`>(-uXr=N=Xg6okN8rgY$@iqAl*Sw$epc@R@%+WPH;k|pbP8(-S z6Hc8@XJLn3XM3>8Dw}sUEtn~buI!9F*cKeqN9mLf!q-^30cRZFQ267v1P@j$2~V^| zQ~1e;j-!R`%veH)`}hOGl8YY6IFsU& z_`WvlkZegw_a!MM8?}{)cpJ!n205=1tnaLN+s9#Ak9!=Lbsojx+xj}U(&M3$n8vj8 z^ILEG?d9M8`~Q9U>7V&`%MZT(N0x8-&Tn77?Yq8nEg5UVN{I7Wc7;)Al-0X>S6@k? z9*wxKq@a{6fndBD5al$7e$LfZV$gl_GfHqAs_~K~hAi+1K8!6m`0$5za|sOQGB3Iq z?Zi=$=mf{vf;C?>bPb0<(0%>UYv*PLBK*uY{FsANXVCLe28ZHQ6*8YrSwRnetHT@o zc1J|80XJc{$x5aAOlCOabXY;dm@Vz_cO`@1XJ7ZtHFsueqfcYi%{z6TZ1guax;yXU z?*+DcffGJa8&Th=lt`xS0H#DJvjc#SYCc_ad+pCSNYoA}d){hsm)i&G7 zrNT$1A8lc3jD@2-D+(_byeN>cpak2ijN zUA9+~D<0oSRwOAN;gq;|MY&|9M>v%dkP;G~*e{XrDSmGcmE<(WxNy~0;<5iq?fy`$ z-IIA{Mf(^3?#t`g@U?5Re{^;8@|NFy>+4sJn9ma>W$|R^)p`c;fZXTJ6MhvoFIetV8g*tnuCL-7jsrP zuOMx1PD9=j2YAuNVc{)!TUZ4qI5{bOSO|^hu;JIISU|dJn*opB%{ddM+R4V6;P?`HtMh^Sv&DP|j(E){f;SgGsV$gjs&8u(WZ9ew z+X}96d?`2!6*~@=&A9S${7*X(H_QunvLhQhY+Ufc&?|!Homp`Cs;tjSsTdr;Tu7ZC!D)G|&HqMEGaFAz7$%|ip+2M}M{K|G8 zXuWoqtem=-EOt6NziT^n_41eR_=}?*mCmS?s7O}qrc_EU=B`Q!N(o3wiiD#iMbc5y z(5{C!dm8J@w$=RuGd#|@vkIzHp$IB-rLIdu1& z08N79bbPd$zk1{B@^A!;27?!rD)>ML`vGTvnP2Qjo&Bglu^)IROj@xFo%!SM_!3XLpv*|;*2VhrZhuHC=1Z9L zYI(dnex|kVd`mm#Z5-Pf+vZr>ucqf|`LTZuw=Zmi?X&)I97rP{@lHJA_)dGQo4m-= z_R43LZ@I*G61Y@79aHHhj*qlRTxEfMhM#qpe`B765ufoTFTTm&J~5s7NHfY9$AmnT zmE=X3TG1${Vn0hG(vtKo{nXaczK;DOkGl0ke)57c%62PzOkXR*97o45@|AV1r3dMZ z{G3Z{qmDGlM&Id&OZA2H>q3*fnc#`1AN7ojWq=Ah36^acv97Tl(xL5>ZhWl*Tj5g-+Y?Jw{P16EY8n3;oa{St;BSs9 zh8Op(wcnOoCAr=9Jgc=2hgC=w6M|#RJEiN*Oz((dJ zUy(ZXip-^xaEUKNNvPI?Z{jM@$fuTB6j*)}&eK(NWPr%{_6yE_yGWQ9Cr|2OTJkj> zPx9gE#6ukzClR}SWgBG-^Rhe{)AZ(NePvRan0MPQ6PrJI+CPTzZXZ}b>q~to8{txW zqb)89giA4a>>u;9T>HvxCd19oyo?+BES6(`JH|1LC*RV%<4c_s`1Td)P3t%Lnit>r zOM~{S^kO}Ew=ZqC{bl`4>-b9pkq%4)4N@=5C5}94-6IdhciRzZ8&}ICkvC%>$z#Ne zbnIB+jAMTCv~AJx9nt9n)HRvz_MSJM!bVm;b)r&dhNkKHqBbqgGP-i2M^}gnj1IybROdK6mV6 zKFVa%#QxHcxWtneO^-%}t)IrNkflw^75a^uUvm+tXrICzDsKI-g#t*yp$P#@c%d5r z1q}#b1<(SZ@UO^%7J!3CjCle+)OfI!#L;CyizjvfFaDH}_-I#n=VT8+1W>}0{M4-A zj+{DHZ*)r>G%VDm@1Xwajd$NleZC!#hK(FvKnw1h0sT^sUSFk;zxX_L@9|jyFJmVD znA<+O_}zH>t%ax|76#i(f@Cf_nt=x#Tzk_EMJwZ73KFS+LL$ar#^7C|lDQ;C(zyLZ zJnA4YF}@le;z;~5iDk%id>bw!5D!1=BEcy@e7}@%;+t^7s3&!ifNi4;CK1Ov@hy{5 z5At?$v}^?(aU^W(A1849oz!Il=V!pP)G``EcJSo?BQ84*V znXVeGv;MY&JPCJ;!mt=_ove#(`g`TkC(@Mpk=8yUE^!>=n13ZKsm{kC-Lx8!1HZ=BYhC3mNxBg=?MqDQ(ybrbTL2c6zgHTh)0`^Z@taabi|Q=n2ZHH_MSOtjphvFAv*K_FsIDbl~{#E}fGHc{#3@N1ieNxCk+S>76+8 zM;zDKF7k?+XXS@94$a{o`I|7?99`^doNco{ajbQG8_z`%b&zhTn>=R!*nZy~Kl9=l z;~8f8*2gx~w#`1IOlbr^>mg68QL#K}$g%Z3jtBn!I)rqw&j`0q90zPctP63hi=aW? zkB&U7r{&rghADH1FIb5(C(4?RDT9Cbu4qtxoH{v!vZ3kA-o4UiUwxSd4jYn2 zj2n}t&HgFZeOc~@VFi59+0VZGV(LAxf3b0akm%4jf#4#8^OPxxi=cB7l;CQa5Msf} zj1U3&7@s@@P52S77O2$bM>t^;R1`)MvBFixx)h;H;1aVF2k|I_enOig6PeEZ%u9d6 zWNcNDGDvMbB6CLOsAVjLK@WP3Pr++B*4O&!EJHyn z)7m!UN4k=!36uF12C+@Cd}&V*Vx29^HY#B3XKC8}@PmG&p-4a0*ZAZg+eR6tQLss8 zQE){XA(b$p8nm92`r=2~v1^ z<1A0NfA|KR-~bfyl#dz}{Me#l+XmnP-~fz}UI0Y?l#P~!d`Jrb!R~}_L6Cn?CX77& zK_TD-kiw4&kDWP@PM$wq{K^0O(IYeX8dpHd#OYJ(w|n0C@PqXE*F7_s8JNBsH6q8I zk=r%D0F}4@{C)u^Y!wk7EezTg>{}f0fBD_NmM28Ogw4|daS~t>cVJ{@iCH14uygPv zGzS`H)1X&IibNQhhPn|KCRGb#oXCs{CK&>M2}-8tJH|Ckz()Dn#wf%t)h@p+&wAjm z21*vQa0Cr@W^}-DA_Ix+ghxw8=f*kX}IsS3Nv}|3hi}@S3mIrxS5Avog{G|iJBk$L?)i#;8X(K(G zXXMS;CgSUFeuNt*@=|Q8t_D(n>dVJ1oh-W z+v7rtxP*CVBKE6!TCYe?wS7h&#HFttN9u^PP09w_#W()clbr$l02lI>G^VVIw5PKS z!we@Kd3h@~`NcT)lkqLnej<%Vw9;VH*2n|qvRvnm)vdG~Q7#w0apDJ{!busf%=fZ4 zPv{6J(3AjD*rEZj03HAxf(Sr~z=d}&W%Irh00#Cd+N@|q3qWD(2knZ+w1N^eGH7im zN08!iWsfWigs@dPaqd()b>U1o1w101n$hr1@dYsNCkc>C>KH6o7+!_02cRNg}q1R4LNo5;>jDM9#OTi||v$S4&h1 zDhX9aC4F4kQWlOlGK)k^JeUE1B)XOvBpexA<}^KJN$@-)Q7P9mz%j9%PV_O1bmV6q=5OD} zddG0;B3)Qd-!0F&Ne9vrdB{V=mj;OIgl>AvkUk=~vQ5OXui*{y$B(>-Lt5k6pRqoU zeazp!sqKIJ9zWYa9`q~DbdiV1&vx17I7v9+Nf+|1eP=%Qk?|1tY;Mb?4i<($~CO2cN{F zY}+9{Qa9+&v7v6pBdwYZ37B&p3Gz0 zp}Li}9;k3LEn6?%LhFsR7`u8}2Y`a}hFU-iAVMI4CPm{{fQt4h_yIoDu4rTnfB}2} zde~xO`v;&xTJCSbpKT(ymHZEo*XOHM(QXBhf@TGc3R^z_7u?#-++Mq>Xj3qv#Q{## zv`n2fvwWjj!FC0W3V;P*Lpbq2__$jEH)vL7&YP3lydf=Kxx9dyXJ2};*r;Hy!JRF) z-hF2oOpbX9FbIq*cXO5^b|K|Jk^VI6T{R>0GB_L6B717ShS2ybzisDR=98%vG&7US%98;p!*}bYzvU~yER%N`Sz%(_+BT9` zZ93{=y-25U@>_vsze!Jo$GRyn>}%86=h6<&cE-9YWMaMS2ORP2TkB?Cj#U&~j=SxL zCZ$2gO4^NdOv1#mE>*mX$Ci!js;zD3PUZQ>h7C%-*EFxT{-jO&hjaoN`w~C5 zTjkT(pN^sNo3*W5BxL_q@FaX+*Pos~Y1FcA&p+qgyj|Vo-TdNK9pPmhTK;FCNSq=Q z+FjK0(4GcOo0L3|A(Y#qUA6T>8p?8(sLX&DE-5@tHbg?@7^ zOFNrY6D0MDeJ8I(-l#3#_&lkj`AXCH(>^sQ|?Giv4 zErbJvuuTE1_>Uj9q5w;TsksrDke+{0+M7~2wtfh}7+fEU0BfCbITbFaLVzV6p2&007w&0DglXlZ_0FgJZaW@NE- z`S{DvQ;%=HO2bACPak~Jt(+42w<|ACmp80Vb~J61nYvk>0aJ&zWpF!Q*EKb6ktg29 z_~(hU0|KxD3r$+Wa2cSq$pWlRC43t;10}ag?K*eKf{s%`9W&u~Dcep>A&Qonkz0d4 z+Z2bN1fnp4XaoxqTgxoSikh@;;#Rmz)O@?T#KnojJWIRUUtCov02LTG1s47aE18fm z1(5a9Uqa^{Mi5lUI8Nr3;I7icXbN0~y5;kXD_qa?^ZR!V(_-0{!&63->1135n5zSs zJNi3;nRo0z{0VovC<*|DqQcekNavV1Ua=0=+y3|6@=2$lQfLrnnX$j3fU;iJNx>tS zjWowoAr}ReV;bWM0ElmS(jRrLtxwf{w^PW6{-iz9Ts5&>*$6=hJ>b`}&<`O0hTCq< zymMm#{?LN$AgvP~bwRC7d!1OE+-!?9?KkPKXq@S>WggSa^H*ok&@_XV<{4BqXpuou z9^=-Xb9u;w{C!OZAx#*MEEgK*)g<2lnrm2DwyQu)W7?eC(~$9L(j@1R#~J=?naiYa zGAL=B+utzDlLpNwH_MRLd3>o?TNWOfPwFN$+Tj>DfzjSb%RFfh{?e8_DV+#VoXiCZ z^c7F#g#Du`E5LDAOaxsHjZOOeRwAg{6RSWwPT6DbZ#HmSCOaX zKf;J>eN9ihoa}MLS0>u0ep7~h;e8@}o0s)5j=V=YGCVbWt9Xhw@sQx~ehYE-!dmW;xWV=|y8&Gy~XUU~tOh zTy2MpF9xrG2ecainDJA8%x-*|K6iRrv~p2ex@KuwuzW!VDogTvb|xvd0;att|{dmf3zuV1>uKdy9g}|{(zW1g9fA-TzI!QgO%lr(%fYW z)1(aCz8gCt4I48&{Wv27EiS!VyCRLqAnVSD?oI#n>tCh+^@rc4|M9zDXTj1iwe8w5 zwd}-YJ&jU_u3b~p3`nkNngw;+_NiT`E~!n2PWe5r8rybAt=o4fVU3&T)lJ=di#F{_ zybfKursl2NX20gCZO2a8uVa3ahP0V6v(Rdkg%hq-1|nUqzb;*ug)(7RH@c?yHOhq1 zBn!62S%5bODCM*~At(tZFq^j{IuToU1v}-s7b~+~3S96VS5ubHJATA*BD8Gl`I|rd zu6|-PodTM;3R%nMNqc#(Ezh(H6a|_2+1Cn4!W5c>DO9bCeZ{-|Z$9|je)D$>BaJAG zYI1Mds_vv%L6Y23*ZMbjV<(Rr-CyydrLuc{R(8h6SKx*RpaAGN8FK_sf+{a(goW z6TeB@3b4@6j*D~=X$&XuFdlx6Yc0re+=yqG;|Y&P4T@vSJ7qYYkzUMOI+O0?SL*6y zE&m8`rFD6Nr*X-bcyVi!aZ{raL4)^{dl*Z&D-(dn{Z{WWf3Ob)2=9g98dcpek%iO0a0v& z{a>X+qmlu0>tgj%xME=eEAyAlPfJ#F z75=h%n-zeC+dcpf00lrru!1&(ceZkf@Bf4R50H1ZV7~%TAzy7<$j=`UYH;g`AGUu0 zD#y>BtT(XTbzpA>HQRF;3+q7$;DqDK+MnRKSH*1~z5z1WuFxOEE8n>fei)zo=Eu=# z)TD96@ji0m*fe(Pgfx2c_%vg|>@<1y^z_Z3e(AGszAQkd@6ds%+n1lFm*09V1DN~D z>Z$W}*QZWhZ%FMscg?_|V+J94WzfD;1{_^7U}%@Fx~546E}hejx89Mu-grv}Bi9!H zX00+qwai4{vQ3HG^~ReraOqsYM^m&aS#Y&L?VG;=CIAqD48Y~eyt)LC2vCTFr2+A`r8Ck<&wEzHs07*naRL}BpJ%k=>!smd#s=7%*(R%voH0FV`cyIWZWGi+vfON2L+*qhtd{L z+DQG%WRt;3tIRW3UX$shNv4_RIc-a5vR(RPgIvc9gx3CE3V8Srd^KTI{nKZuSkDv+@!o0 zmx0Mu&07?AWwXq8000F+`o0ywT)Rs9B=1pw+9QoP4vvNVZ=W;fk)NI5^{bT;(6>N9 zfAUsF$p8AAkF*}^hQBnYBM+Xo#dwyFpEQr3+A!Ybqu2*=a*sS0>DV+;21eSpoiUv} zQCm;Tmj9@eePG|$F8ZtkPy1Wm#3@G{$5>~cKY$c$G`LS>=!oIj{ZMRHxS^IUplWMoQkuPJ zcAB+tR&i)j04ocY&ri$Na&7*_fA(Ov;vFb}6+i{w{!9?CLOlG{ykPqRIHIh0^ckSy z_7CYvr@aaQg(sR5>`^?LjAI+e5j07F z6~fT209x20nmluQTCi+M0VI8f3`k!O?2`t3Ke&JtG$|8*nwrK;`7wPvd}w)2ojWs) z&;2!h{;afg-OBRadvO2s(HEbjce?*Mz4F!@>Eq9Pqz4~;JY9ZOgY*yo{NK~R{^9bX zQR&q6y7KJM<=PA~I;JLhwbUf94$+)6Z`~#Xn=ToM+05;H&09FJl z01p63!zPW3AD{(4H7>*@ZJQ45FKSilh!3aQHVPpKT7MYdm52-x1x{Q|MMA8N8=0w= zK_FtD)0~~EiXcSBG!Oh-30Mx#S}`FUzg9#U>4TfWbUZFNs7JA_G{gutm%_iyTf23T9sU)9dxN zXC1GA6{$t1yz=jwdA(!X?Aqn;jv1u1PQSkiOojMf&(y&#l zN~@Be0GVspCNAF@WVQq-<$lSsph?}LLcWbWEx+qWe@mnEzmt$W>oaOlO~*TBMEelw zwl)oZ^qF*^vkd7#P!eelKWNHt^B|2fOj$s_L@muD@D_E`tpXMVBn zF|4*-mMu@(4?2NL9Fv%@^)Wq8Sz^BOjeTLb{TBP%F^u^r*Q{TZq2^B-WsW>K<*q8u3-0lIap!wh%kOHs(pb!t>fqe=7Z2NE|8m$T-#Ushw+k%z_?F!l# z9QH4s`tdFmwthICj8?@bU}fKtL;3qiPP3zc6^vjJN&*sq3a5MU1FQhpaM-J$O+f<# zuvxHtNdX}Ml`s4CO8tg?TYwAOKWI?Ut`PS9xRC|8094Sf%w96TfEmCIu4rV&k4_`T zj7>j`8lAd-_IY~bi6_&Ix89a+xaHP#?F}~;P}1f48wzOQ9nf;!O*a?6yY9QcXi)$y zjaV_|)zmdjo74jj01LnapaO6KqzF{ncdoXH)Tj`jZ6P!=_z^CX%P2Cegd~9rR%*eB z45i@Un=t&$Pe#(;xH7Vg8HrXQWIZHg86*<7%uy>mtfP!#8lD0U87VR+;R7N`h( zNM~BYh%Z<%KPOoQ1MkNBd(6+%ykl5gg~;&MgLG(rcv_ZycBy`GJb9;0Uhi)_(iz`+ zn2%!_+wZvH1S+v?onvl3yfZo4SN1S5Y(JJL+e7_q1m>nWe03!+UNB2En2E8 zbNtrnp(mcmAf#soAAQp!Pd$}heC@T=XAr*)`62WBpt3crk^J;Iv&y0c%_>?|w6V+9 ztSXC@Xie+Dhbns~J|}6M{Tx;Mj-PQHbKc#0iQ@z<334Lc zDpxFU{JfM? z1}LLQAN`dJ(uL!xOtpS&{h(1PKm~w;HigNXl|!}tQ~f;|TNPZnOJ&*oG-vUg;s7a2 z*DT4;MQO$Q%02~v!bu&ECks>nBcAv{^MMA$tMLIDgk!71_7a*EP8(sLf*$~dtssDm z7ry~?Jk>*5e_DuLinc5~(X1RgaV#A_%e^Xlijct=7Gqh2klQ*4CANd`W7Py`Ytpk3+z-Jk+g{2n)LVo8HT+k!0%HZHRl&rjng zPfm-MuSkoQEl*=7OibVO>z_X8);&G?SUtE*aZ*!^ngB*-pX)D)z1Qi~V6=+uxLD-D7^Fi(?w|aqR7{ zSm#JL_M6}4XTltCm)vunkNL&paM{|Ut)P-~D z*qKvV#+*ne&YdYwWDSd=jTyx3Jh(6IJ9aqjIIuUZ-MT4Fo%2)rx_{sF&PRVvEjqL< z#?nwGV^5mL6b6xZH?)Zi$-N)exI{wPO(p6>j$91mJb>g zjB4HLQ5%A`gm1QL)UKd8@$M71a=Zo~;DVhBAZ6Id?~68v`&F=C0i>W=(Z+@CBJEPV zn?;QZ4gkXwjmpu}CyP))xFBq}4+WrtAoALLFLa|1a2OS{9Yi?VC00s=Pnk2LfRhmu z#uR`uVdj*gW#Jp`ir@sG0+1OrVp#D*>q0sJ%Yv0l(!317#!Q%yCQqM{rp%a`rq28+ z&7Qv?&6qtWeerd#0z}$%>RiAI8k7efd9-|^UAgV9yG!`Zx8ITOfB2E~=PYcWeD;|f z=iv-m?n*b_dP~ug09x3}!3j zmUjt~xDqi=MpcN_3M}&>ZUid$886n6I8NSz02$qS3QP!dg60_o2;VsKv95&S=juf! zBrbmLy($!RvA+Z~JQZYda<+W?$U6EhaEfhlO!(Gd&OWqU`-^wSiSJk++bu1`y4!zI za9Ll+hH%TZ&n>rh%*{WJr**Q9ktWQOceE*&H{duXAh-f8028z+x7>ACy8YgJ(@l5W zk$Uv%l@~j6QtyES)5~xCsQ{F_9(W+#|LCLTz5kHG^;ZwDkYV8hzXMXZmVm7vE`vm7 zuzie{79)K?&Gx;!v+OxgG%Rd0173InSoR(|m^SagmTq_X-nD;U0Xm!{CD z3l_mkn~NG1w`FR_2B(&kcll9&jZvX5Cll;))T%gMj+JEzaBBHmdX4Y$X)NCf6hHY7 z8j5m4x{P!i!(%-1kJ@1TEQfFV$+md+iD`&0aFJK!Tiap2`bDr6Y1+05i2fcZA|7SP zpZ1w;weFP1yFkD^m09)=amiPW5&7D7{3A~)$6_B5W?huA)I(X|82N5J1whK%IL^dV z2Jv0O+Ef~q0#wwf2vpD{U`Xp}oa!&ilM6tZHfLIzIe%t3>9c&@vb1mor+yY^5VE=c zihK=Ty;sHCW&tz)lSfU9ccTDY04Zoxxca`&xBW`FXjBA0p7!yGvv;WQE>HoSV5?GX z{~RgWl+!<-FT#VZpM}eprdbQ-72(5H4+2WT1YlFs!YYcD75=QY5K?oNE=ben{Zt(9 zIKT^_1u%k53K|n^QZS;$pcV}b-~~tA#cP(Qg}FWb2Yp+B$;!3s(vlS`)0_nh)66+@ z%a+jF?|)DL3E+e+p?e>EsMw~cWnt^5WnMj^QF->omok{Sw>ZEGpym0OUrNus@O--O zp$F?v`*iAhZPA{fec@fZlxT#DRz?Djj0BPCWIP!qGMRodfa+6)hu1>nq;aBS~6Pkv6BT%s|wqJomSk#2z zWO(B%2&}Vhu^z@194J7v)aN~pReZN^RcTvq>ZqVHj%~D^3a~gfgxNQQ;~ys%zpaPk zZ=BlkcAOn!>ktJcS`$DCfQ79ewt9Gf`o$MB!04Yo{^E;bC_6eY3iw8w()H$>OS(3l zIuMqpTroMbC#<94n|;5Kfyv$2)S3#SZV z4xKof<Ji2jvt`{FSjW+;79942?1_)(ux= zT1#A$i(5Zv65RS3K6X@{My2|5GIk>Xi22JF6oXnES`=(k*!o$zdPxQk)yW<&d;^qV zPr^6vZvC+B<5l`zfsX^o@N+`I3T1OsE|CRy@uOxWSf%I16%`d5dy>%a>(=wLHyVyeNZ|IT^Uj%Fo&5d*#|S>CJcF zEnvd!oNM!n>&|=c$sp#=qBZgR=G$*8nv@%ExjEgGh1sol-jVLO=k9d>!w;pWvmk!` ztvAyPue_Y@dEovMk8l7>Ii{S2U4zDr%C-<&KoX|{rdF64E@R*avCHI9C`2Zy6-?$Y z;aY~wMqJ}twhR&ll7dHq$MGIDDl&_8!2SOLD)F5-IO|}3rg6fLHZPH3V;y~(Z)9-W z5bGb)*f%)7NkiX}mq(nfm-#v_q*2%jCat%E(>gnLw!`}37sps3WVs4Y)A6owcbrKV z=}bYzlm7GAG+{gmi@=5p5AnOQ5y#7~ELw@)0|%7F$nwlTEI4>yy>UYU8(cNe_2wJv z+r=+2{`B5E1)u;__(3VZ*B~8o0BtJrfwXE@k(0;-fC_+vCo%=C$%g#CZp+5Beb3Ic zY5SJ6D?d-3J(Vu}C89$6G#fEaf}-9RIlbcA}43lb9#(@>1k&$5~z=%rXg!3oqj+Kjc%wEMHotJh#Y5Z<*GQXDv{%eDfl2ctV5z zn7?h~UEZ^w4L5$2K~XN4KPL}y$OHM-ezhFS)y00V%{$61`^NP6DNk_rm3>_Lvjwhk z1yleiAbS|GI-1OO$msgNC!<*bM66g3Fj-tq`>fiyDy`kJrf600-?nFa*_QEwH$Vwb zPxs(FLJYVNs1Q$sT2A<|&BG}l>|!_pR9!STy?`b_i(5%L(gJh)~X*33QyXOML&*y0j!{bS+QRPx695V4^sw$k>t5oXlienLHAvgs!lY5Q!_2m#7siG7Wh+ z0ZZ8W!$hv?Oyi^;8Av9Vxnxqp1Sv9_`=-XTeCsDux#}?g2zUs0)gw?Lt$k=4NM}Ft z?xbvetzX>BjbRD_`<5^nocIWu2(auM<0+KLgNci=usrjz{l+IQZ6q(%v(kk^occwf zW8WIrRjXsBfR@fI!+Zcv_(@mP-^qe+{LTNmTW%_sGO`_mQ7iz3Z5Fm=a9r-l=^Ty` z12+712LJV93+B(Cbgy5m0Yq5DuI$dFsr`boShtv}fP$bm5l^>D?zLA^=bLXxmp5uqzzWwKwCL2X9<*Sf%Uvwx{+0|@ zG}tZAI-Yhiw9g#}oOCJ;$fw3}^27;tqHK_N88g16RmWLPg#dxHJRMWgM_SeoCvPdA zpcCnqa$?!?ifvMU;Agw7vwc8byw^^&)-~S9Z92k;`~L=1sE7Y+6QtDkzkL%mJA_$R zp2{isPdTLw<6HTJzkQ~BvR?9)iz)h){25Qu;O{jI=41Qh>DWI!WBcX*TA3039Cydp zKIBOq9XI}@Tmh9v)$wH1ncApu3I?#^X&(Rrr*5zj5v1^3v3_L+D=Q070ko)5VVi~% zJ!nYOr~pC$6aW*!i6?;Y_qZ}Z1dR%gcYq533BUqy0>q$M@k)NmtNs6vCw?v()pGg= z;Bu&FS9s?#H~-~>z(Qlf-ZNSgzFA!%un=T`6o3sYC$?+=BG{b(J}P^YMQO#xH3h(6 zEIV}c4+XRUQ~)%~H>@sz1^h zP;h8lMvos?Kn9nzv0cMEzy+{@HU+Sv5iDAj2OoW;Xi?CrpoPI7Eep0Qx7=}iu}=Y% zpg94|uvPTzi!Y>mAAF#Ilya|1oj{2z3@E zC=xeuC4RyrY{DwSzNk8sImwTwuNkF0?MHedADx}SIF|L6-u#O z1#TR(*e~(jI0`fUtp|>GX^{AjKK*1lsfTUZstxP1>{(wlr~c~;nZ^y%Z@&L-0UPi; zPkug%jmXV+-d=wd0de`W`oF*Rr}XYef3E+TDaN$O3V;i;133XGTEBI3DQ{hVuE?@t z=BycM=k6WpSOy{hltUSW?90IA=&>W^iQn;)$I_8whtr8u#|uE=9Y4Y@{Cqy0%ui(6 zrXAbT$_;DNkJF~4sk6Bud{&lSqtb_;eViV8^6_HJ!p+wWb6;QGv{AXTA3vYCmIWMC z$G+Ldh?Ayc&e$-HalCQxI(=`reXd-HwC6aq8l>0pl0{_494nd-dc`rTQFKwq7u%EmzsIrLlBgaR8O&>z0?(KDafTtK-Ok z6MzH&gKZkV)qto~0i@v2b^s*Md}y-*zyT1UK@so(RHy?EZH>p8y^n=F0X*2Kc-rTp zA?=A`+;;N(*<#FwRXz@(!f`~79K!g#bHtG2hX^WEy%^RZm=I`$u~J)}%ST({(POrL z*bZ8=bwfFZj79~U6o8CdK`S?{Eno#e!#7(&i&ia7o44ow*tw%@{is<1v;a`%E?iK+ z3g4gf_`HA;jv(KC-+k%DS6{6M9e|ORZQ2xV3fdCD3R^w^6TSgAXkc(?Psj&A0#LyZ zt;%a}{;Alrc=88AanBis5#c+DL#T$uNd#h*@giYI0VXp-fTowpVmgUjq9+ghaWaJy zq4|<$6a;DvWKQC^$BxEhs z=Qru?8`~;lD|7?{jsx$u-!ZTp`;Kq>#&%MM;nvS~DWIaT(O-dSolS3FI8MBqj_}ww z)?I(oN5SYmzhjRdw0i%e50~v5wr)7B2ftzz3-1CxCQh%w1@A#fGj9sGQ2~c$Q7XKmW_QbmGj3wD-_~;#g!MtI*z@ zI)APl5TGosPC$!9yI%PBSJLhG-d#W!eZ%<67g3Wze+g8iY2q`6IMVn}BgTs-@f-^$ zC;3KNh!Y-9$5{F#jX*_OcETl%dExI^D`x}*$}D-EH1Y<1(wlw6 zyUzN^3(_#<@Khd2tIDY8EW?G9<>91l+F%|!)0&>TXnSVgIX2dZIF`keJRD=oHq3GK zohNxKr<8N}Q%C!ccj$z&ZNJahUpUf7IYvCbU6ff4VJ@7k4}HRTwC$AXwq1*h7rsTH zQr#agzHI&As?#^s{V6zsO1VEJJGOwleHIOhhOYn;|L;S%+dOJl{E;94L(K|+1yI6v zlg7N1&vp=T(9)16`2kWis`Uqj8r5=*{>k%a>fG6SOMQR}3=iW2J`hX*6&$N2fD5az zc;|}SKg-syDp%wKH~=QR;{YXSRRA%76tpL74FO>A->`E_+Pr6b0WFJGFDsgv30YXq z%Rp#ZUhQq#mc#SPY4P%YG2yESeMv;&>T#13$OetZ-C_eKY;Dh)deEd<-syzMT z^X0NPPXTh_BVdImzy`TM8ZL8K7T5w%?qpJq(7Nu z+rBK@^1|-$!MrfzPxQOe@eFRx{q^T8+YV;=xF`)7{$2X;lkVy17oJOxJ@aG+FE6Ku zo_I91%j46qS>t*T!PwA$&<S7-WI0R$LEBTf5%5eOY9}y&22kLDeQEtkAu};(nKmGC3S%1If z^VkpesWQYdl3rq7l-06bt8(Gn$Z;dmWvoH~D>zmhXjA|yYBHw$G(At~bJDDZl_4#c zyb3f6R@8#vybunc!>OUK`+bwX8PF#Sf+6KD7c@Hf zdxbt=h4^Y_04SaS!U24+Q#p0vOfjUzc|$Gx)c_T=Dp>6!fV?UnI~}zvs9bp>1i5{Z zu%ZpgKqG2LIN`&Vj@lKrebBggItXxsTep2vy#u)P{kC5kHGXuOvv6+OnEPmJZp*@D zi_*jl41X9sJWa^}ZAk_+J92x7)4ofGbamqf>Hqxae@Hjpc2m0jo;y<0R?X6_cimPr zE8a%Sc8_;)iShxt`G&4q*1^|AyGRHmP3BFD+)&Y*zt{H z$2awo7HaE9Tvx=zwXdKd`-!kPA(_UlMe;E}`Vc!F-m8^)hjiZ~4-^@ImX$>fH(M(+ zSTLaxW}$_h8w(z`v5_NeE%W|W->)+m`7Fztz6Gp2@Yo~isXWPJufnB|-mwHwL6d@= z3fn!rqg~+}P{Y;|3mdd6{IUaCv~&%pAD3krvo_0}9qGVP?DGy}nRF_h{^fKABwR+B z7gvXN7yl!tkCZrjkL=CBCoi;4XMl3%STV9aloxczvOEL06oXtAdRcxFhTpy{?~oJt z?LTs$Ja^}X;P%}+(%9S=Pd@ilUYWKpr-=ArDh9=_k^u?uw;CAfK%U{BNB+t{+L7P* zCR||YWF7e?(vkEa-BAb1r%t>ZpSY1Oj4!<@VM0v`RC|BggTHZ8VezgD0C&nRvc~!o$ebkHg)$*(D^495C z2kNcAa)Wfr6?xG5Td&wQoMUCaQP$M9lc)KpO|dVHOL{JRR zKm`V`{=GA+{EU!$Q~)a2rFiP6+@+F*g*V3nB0SOK-6uT#VIjiBW5qo26XbBw+Z*q` zncjT=?ey7KJ<2uy02PgLy;@&`U5#i3JZfu>%Lt6!98iij?D$6OhZ$&WIi58anuc=g5f*wc@v=U#rkXh#4iUWd|f#0!)9tZ9C~G-&KzB0V%Fz><8+>w{^Ad z<{#T>z43QTiF_1D3N5$ns7LI>C_IR79pbpyUi-v;w11<(F)#e>Kg*_ z?V>Ec-EzR+`a9PASBLzVT-`e0dEG5H7Wu%R-vJ~55Vo9I;B>y>+Vq=0{A;=)1A6|% zu67pLg1s9urDq@hr2cie1_8|qHYrS+zrFnT#a@L48{0=-{DzhpFvFq+aDpu#T2^ER ze#ntcJ1WgFGN{PP`7_E@4rrfu9@v=o$=qZPotJAb%W}ml-q0hCY-Aq%Ubq z*&shT-WsY(=f)L;TuK(;FMUbBad9FYMIM&Fq+^~gzT8$ZKkGp|co#?!hqR<4U-L9S zc|xAE{gICiv)^j@NnVPwCh{uj)S|jw!#jS~)%ccU-wWof6J_vCI|V8B4}QuU$ICn^ z$1#!yY*!q|*eBNCu_i9xcgV~Ee5r#H?1x}W#I~LtDRkJSmMpGtSWeVq*&(`5FiCW;s1I7E5zmAluvtpo>w*8 zY4B+l7=sH?AzuKA|NrqSebTdqgafSjCuM9@_&Fh4K7bXToB-nV584%sV*x4%BUHK` zMdox542}926)^&eec+)Ze<D#ZKn1M|j@8h5z#W<>gkJ7L1QdS1`TcJTP_k_UZ( zzo3LVC_Ll6Cb7=Mp}vIah;LiSM@Y_t7l`y)^>t=bpjx{7jTZ~44aF7<#0=_Blk>?g{9{?(VuHpiE}zbbbwA)Al~ z$O0BvO8%gmEA}9q6hs4yyg+sWYUV6jm}OX&N13>~Atw{U1sZDf7$d$f1vHcuksfR1MwAh?vLgCRn>?MY{mDl(to&3#H84&A_^PBQwdu@}vEuYvw_$xyM6S4o4 zF+Qmme8RisTQ2Fz+l83zi*kTC0v+PwudG#`*go4peo+HOT-#$AzB{&2<71xWFMZ+f zm=>8)xAjy0p3FonP^s0Z=*oR6(AS4>n zYFpwD1$mMVZHYf896I8=a+eDK|G`EDBU^wD#=2f8NB*Suqz{I<(M|>X7XS*zXPo#s zc)a@ekJst5B4Q@0A6rE|Hm)s%!RWBo>g%xDm+cGVTU!2av<`( zG{ZOaf|D=f1Sj3;q(9?XzI-X|L;wO!nYVdZhIN<6aDr<5Z6kFhjf* zx)~Qg+fIMkKh}{t%TvS`5XL$g*W0M^BabLAl)si|T?86@qam}slxJO(7sjjYd%l%r zmLKEB_>@Pz9eXKKWAfVSX4-N)?aJz;kEeau?(rIZFJ(g|8o`Pew(*Uo1Te%uh7c_5BO`>+=%CuA zK4?~O8q)$?NDnXpq^MC*tAZZ}v;Y;H$CR-@L2IJnoVQTo@Ds2BUH~X)S=MC1$d3p4 zu^@jz<~|g@(WtQH14zM$mLtg=TgH%f+x}eztniHk%-{%HoBekm$bGV#Rn7VgQdSqY zgDs+6Tg#KM1sV8^%HU|~PgBeH;S+~T+95v-Nsm4KSn7Cfr_}SCUTN6yAByY#*{9{s z6u<~~s66`Q6U8P45Cdp&TL{p?H*wIil%vTRs34?SIkLKhXkZ{210f~zNOTGpnT&W6 zxWow&LYz2(jRYGfF`Vfo2xtK!HR&U*3bG1@}eLl59_ONvfmXRJS{KQ$8YOv-uManj2p|- z&wAJ&=1E=MrV-pKynK(}IwwEJi+rgQ^!J-T{H|zN7(>7`3k|k=<}IC{d2?;rws(78 zJgv#H;>Xmp?^o%|-aS*d9^KP`VFS~M@z|dYPW^`t$Z}*%`rzXa((U)&k?wu?-t^9g z?-roK(dM3gzA2iMXJ3A?Y>S{>WIG(0z?KQXgmAPeJdv5aBQH5|gaPYIZ@iLbFP)nf ztzDAV?c9)-ZCsI-ZdhL4*KA*xW-XnQHtpS#_8i}rwjS7C{5S90nsy({z~tzjwBtx# zz#YwCio%K%qvh~u_iz{#z~{Ir;9)DfEPduM!{pVEJO}+pA<&ME?yXCCPc=B zvE>~)Wy}~qc!)8S5Acr@m2r5=pTy(aZ9sY5xO_W-Mfx*e=&05azj2G|^d0e?)Ty&T zAl6M;Mw!w*Y5pd^I(nDSY>)3TKb`fA`P7!rJAEd9`!r6>1Ak>LeWlDKp0dJ43-S1- zEy`8$vMoG`V|wpjB8+szSCdrR=hofvP)=Vej`5TY%3b5|uH&10+}h%1TJBLPKm|f% zpA|-hIIELC7?O=C+70e7ss6(=BTb(-z5Mfs9~9yiET5m2tX@)p2HF#BRnUyAShu?V zgpQgM0Erj1#VsH}3ql7##GW#s2-^)#`T$l~3E__r0?Yt@NE`2G(V$ih%|)RZjU9eeMv~pP*JmR}@Eq?c&pQYYI29!HhJOKn? zLDK?I;iM1tDA=U{RJ`;JFoRZQ%WlA07FGv$r!6}-r43s%@Y=pHZQQn@2%yb7HkIf0 zETrb=ynmcBKCQ}N2w<}{r(3x$gSr`$Q@78$rKewbrd$%YefO?%+?iv}-wqv;dVJM0 z^&L1M4IDB!efH%S#ZZ>hK4@0_gEE>I01Q9{4NSYvoeCIX|C&p%AlO=?HW|i=MIfW# zlJINe;1obIqsSWKjPV6D5UvcMpYdx27U_9cFi~&P<40HoDloJRLKxpL24$$#Fn_*P zuktOZ;af&Co@JZ2OeeEO0HA=PeA1Ao=_#8yYG=&TK8pF;*9yScpMo9R69tZAX&lm! z)^cNyO2RY3`#>r49P%cKkREva{`Abt&y+17 zY*dhY$N>2N&in5zWn;62OsE!b)veXYNDd&Nc>t(zHw#CDJKxYXJ^IY!Y2@V5Y0ipy zY3+{nY38GW$(~z;l()wK+3ozNZcXJ5?!0^81z_tQZb{_|{>`t5a zY)u;Z;=hV_V3Jq<9Irf!3whBaGlZZ5$s*|V@$g;g*Y5Vg@Zgl&zre>r|_g)3RJv1$MUPl~iU>07`Is%Ka<{)7~QoicJbkh&F{g zRbWtTRM3E8@6pMMs(ZrDsbKAbwxu0 zI01z0+|PEL|;G3Te!&s?uPDvt|*a^K-Yd3ANT+_|u0 zFV_C3hWBS6bRccqx}{v#KW4&@>6k4?;xNCFT zad=nSdwhS{`q{LLt@G6dsBGQ6wP;Pw{+xkC1|Hk;_ufN$%8}>2Ih=1~2ig;W31P%P zbo^lX#weFtyN{g2*5yPxec@a>nL!K3pAQ{BlFt2nAzk?2e@Q2@j69qdc1KTTd3iD~ z?2a8R&t3cXmgj}P{!(P?($y=9wtDOC9eEM8Hp|FK>7&m+&cNmA^zf69*BhI1yJ*Wy zn{CTtrhPpRH{*(bZqRLUQKJzj)<}PhfxO}bCmlu_0&sBg-8K2ynE07i8s_|)R(vTiLk-scQEs#8FTI+xx@miaO;U&a4f8M*o7pKrk|mo5q#({E?U+ z|MB_6706&v$PWY_kz^U(gZ{Xk~y-JGo1o%WwNnhs`0+npH-!!bY#s|IaU z*!tl_584tmDF6~yOsaPMTQd969@z#Yq3IbnWqe+-{ZuayacqZi5{mm}I1Pncu)O+N zBW>fGa8%QLuidh?w3ij&T7XL3(Qc1&Z`oDZ^K970C3^hOku9_hb(cI%E&Is}moLlX zGO0Yb?b%g-p&h`CHUi4<(|{N)5)P0?`w3%A8F%*PSt-5z#%t-B3}9}%=dN;8lWia; zBp8Qp!2?9;go4w^)(KM$3Qzpi%oy&ZCu1lSqTta_|4P7J1S-~zry30zjfw=OB41v@yJhL;<%DG`BE-< zctM#HRh7P3(O!Jjw^sov{C5n^%IJxs)0jzP3csxX_Z5KG@`;jb?kBLk8Lb`meL<5Ap{~n$zdcWFT_BGPpfnT|#%^ zuNTs(bEnFsblm51HpjvEmdodkbLIcp)5VW}6>%{gb}nb~H))Tatd324x(HjDU0LpO zbQ-(5{(}eP2`lqwvqr@jvTf(~sq^(+Qilu{nzw0D><)OM)^E_XGFGLZop_~HXaHU; z6JX0qLkLX}M>^6Nw$M}t8RdUS&6}i_xy%;XHOoMR-v~6$^=OdGYu2%C^@{mS z`FU0I%vU)Lahi4D57b#UwW@eRKA=n|X!%1vkT(po{sIE&o4D|6+~)O3xWGrbN*-|m z;Co!85TCfzg>d`EZ{t`e!sK)F7i=g~efqAfifyG#WvDU(Eq$Zr&C37dI86%3C_p3o z^Udi~!gw~#@yi9HIX(b|D>9n5Xr z#|uCD;?wlrC*9IFg9fDU#*RwEe;iu?%k=sDQ)fn+o6B9Yc2!!wVQm2_0218hJ#4q^ zN_&nTDqv;L5pJlh{_n#CjUgGpg^3-z6Yf6%e4#}_^^3}vHgjb*r-4v+q7HT&h~vZ@ zJEVQoSpkXA1C*2-db7a6$e6!OBPeM*D?I=kM-O?Dj?+_soYfoG)Z6lK1e>ihRx3CF z3dg89eXwf7hQzPxhmReT1?A}6-}CYqtjw#t8M&@Yih(fNBKDjCDzwqx2k;I^0jQzU z1*l;C&o_COA1wc#-1BF5gx82WJ(BB!j$V@s4sabIBcte#(LO?j-`OY^s!B*i*2+G=D|B-i@y_yX=1-CaIHra zy0H%wsGK^n|47fiIdK8W(2y5|waOF9Lr*+XWCjZbc#x|TaM;of9XYfB5kLxCLF1;3 zE89NsB;h>KvS82Bvrn&bxf_mc9j@cYn3Qb|-d}v})dEzI18AOE$g$l+{WvZ2&W9hA zMIHdAx?g2f(Lkg5WD$pb9h%}^{d<>FN1Ui+TbmP(oM2>;G7nocep@ny?dCc4wtavP z?~L+aX>4(`?M=9+9sR9{H*^z+0|n)l?ko$B<%JtRJv@{hVB?p+{+!PLe6C#Kj{}sP zyKuJte?$C#h;N?$3V`?pyzmPEG&C6$o%`i{`uVTF6mSDz!Er!fa$eN^IAuZ_F?M9R zGwR(B-z(QD08%c$`j6%GVuL0P^Q2TwxK8REk4A~6c2u7JO_XgCCTvuoY@MK$;Hr5}%5eM-t;&jZE9R&7{a zwt&`eHSZ;7p=;G?}w(rBQt24 z^kV@kKP{S{<}6*57Oq-efXezEInTp+RgqT)Xj1?yXjcR;Xcm~90V)1C%o}N`JKH|A z4YY`i!b>*sfDPfV*IvM($TKwuvUpkf`YhxJyN z;in*tWyLt8A+HD`6jm`G$Bw>JgJwG07RR4*Esyl1!Cyb(T0e!Wbc1FO`v-0jCT~~Q z)zMH^p)HDr0^2oY4_72ioIWXynKUlTu>r-fl_Sh!CXOxs80C)~U){RhZ*c$Ae<(aZ zsNAK3+{0j&@|YCa#$nNhw)x5DpDh3d%?g?m;sDIK91e{n@{)xPc7D|#m(fOZ9sk@k zeKt4P4k>btW6*?o*OZrIqA@`RaN>~*>PUxtVN0AvOtpAfUeX{t(VhT+1SWtO(v#1L zbMX4fqDkS>OSCJ1nWFv3fCI1s5cxR+41fm!1aQJT4q$>GPk{;lAR^9%oTh*o;+#KS zKnWU`U;g7SMQbBa;a(SPVz~c>YZg{y`Of`N3oSe9`K zk6IY{-}=~p@~HmSU7m}wD)w*W(J1Gld{FL2pn~JKFZ@iG|I6_XFe#do9FHe)2{%lj z(ySG-ih5VKtpilXWUzl3jL4oW7n{M1FdY*&6SNu?0E$270CXCJg|GGzcR41_6aO1q~De7LdaV z3&%V4tG0KRma;3O-UY?YoHsA8{JuMaYvzJK2EeUp&El);1GohPZ_&*qK}Lng@J9uPw+u} z{cMxYzTsUhj{?WOwLh$fezxzw5xVi5a*&s3qPaW{V1lDe zY4So}a^&>{VfzjA_a?{H}b z&jVPnGs!>$kkaP5&h;P#0D?b$02KVnc2KKk{|Ts|U1947dRFGiV^Nk6u4a~Z`8)C< z^hzFXjVmXV8^#rY$^Xh&frPxJES0C^8)dKjtqf7lXp4rQJWYOTVIyxV4`LbC$GEo5 zHUJde-q8s}04e|%w}9d{5Mjh2u3DC+E%UPt^G&sN)GUt$7o=Wx&qEKCy9rQXLM%9# z4hBTa;N1b(b1-Q#dHe4RCPtnxBn}2*;)da19>ECA6}1L15)6qy%-Am@>_?w|JiYeL zpHiO;P6qMsjto$GecL~MJ+NN^E&ab6QfyVG&YhKJEnZMGEAv+@O{+Fi?LxR<(a+Wopat-PMujJ!3>y}-E<8E12hc#+alZ@q zF(8N#Ab=6t>ee?AUB6^m|A3g+(z<&S`WXX-U-<%$K>an6NVe5q(Y)I0F+&OcBb8VVFzG2m=||AY)}9q02UnJ1+e1wkHDo~>ym+pfW!;u04>Fi z<>#~IUKaof_q}+vKXx_v@eWYontwafq(8x(9!04dEo=4Z!tmF-E}R;g_rP$^m!z)OyMb&Dp&eueL*?eoN#9fr8% zDSttG&?xoLW(`_YhVd@X$s^J}Puf8~@|C$Z3R8?{;!o@!j&?%|0x1*c!h0~?msEQm8eY|U0s z)3Swl8T*1*YQv4B7e?w;C_R4&oq(dzVP*nHd1M83nM=2d?S>A}jfua@}93**>DL@TYGojnvY5umVV; z-zQ9)mREkCWf1aFChCq^kiV3E7(F%%(TCFgk5)o7{z(<}G^;~aDjdZ|>jk(ZKl0V6 z765~wK#RgRzYd_k_$EJAlMu7lWy?G~BN%~^6)sNHkqLA%G*2}$G0e%%bTXckxtfj0 zjE3_ho%L{X6{uJ)-M!cuY@R>gG53kj}AIu<>N9%twI= z%>f)Zg~%cZeqh0XY~pkcHY2RU(O3={4nXK%cn>fFKwu&9@*A(F*Yl$1Pw%}|Zn?&N z@bQQBiwXD_2atLFoi|Iq7||VL`{D03hQ(!q_INWM;2Y z2X4HD-vJFQ$Xv)F6Oez%M0j3p5Zg9rRsbPrN!Zc>xBylN1KjWqpwVsxe>Kwpm33Py z4Yu3p$S2A~zM#S2kIq}OeB6;2aQhGLONZ)!%Hbmi(~%5hct?ApbNeT55B>a?3+Yq_ zDS!^_Q~)MCxrh$OyTAo7!o_sNCCuLdVB3OC3n!M)0pF*e5>;D&x3Qx5%`m6P|{=DO_+`&&ds4S3Ii6_5ZidW?~@{S7` z;!}?K@vS^3yjK32hWwPj%7Q49OWkJYueD>Z~Bt29|%xZxS( z%&!M@teOBmfC=nW*#5!jw>s@JErX9|^6H{f`o~}W-|3~--$*m(&QEvTcV7m0PuJTH zF*b~qrc{KK%EPq%WUmI)DUB#RUr2D8|s zpp~RP&^$IX$VC5@1UGL?Kt&teAvo~hrA=El7Oe`v0N%_&IcBIFTUJ{)nbernjY0xi&0p46^r zk^y|jwyAB`&IOnNUIZr`Q|28ogW+ujQYxT=jY~NZ#BHeD-x28CMOWlA`8a}mWt$*HphB4SGB4$(d}Tbo;XC=yx*Be}$h%R_Mp>e4 zxnIJG(=Txl`BP5m+` z=+@)Y^!oenqQKA58^i3c3(3OyI1Z5Kiog?zMp8h;eCX(^oB7))KyG$vNkr`wp(nr7{qmp+-`ZAsO12~DgO7UHw zVp`M5{5+j}Wl{l)X>>7PK}BR}fr)Vy6ap6ojQ-?f8x;unMy3?1jZc*r1 zC(9Q=`6N6FSkvI5P{S!WiEDf9JM&Qh8kc|RP!?kkjo`;OPrw2+49%+D6nHaH;aF_2 z^~_dvk6u0N|7={@((%{#O54kJHFAy1$&g)MHvmu>GqKVN1JcplaJmQ3fox-|hlLul z&I=#`DQpX&bp}8I_FdFaPoD4ze2**ytf1XtTM6KVh6l}tHhXGW04)HOVqcO01DXb$tnL8;|MWY4!2_1qAC9n%3$JP1|YZt z97H&EJe|%UG*!tV1~ ztm4}HJb%H|)V!Igsi~=&JM#oTbFU)?Oj05V5IKVoIR|5#U~CLFCYwvJ!C)JV4H%Pi z&Ov~|1`&l2k`T&SI!6(Kd-~J+{EoKI^)t_luAO@K-n)1A>Tj>Ly4wPY%thvgGAfAq zXIYKwdWKYU1YSt9Q@?j${pzy1K5Ndxc})w&BqrYSL8FaU)OTFcI(KKB{r$H1q_F>C z2bMh#+OLe=tv335R9Uk(jmm_w69?K|cdP)jeLY_r(7kE{xaY2IE6(_RCJe>hy`5{< z_t?~d>Vrz^s4^XmaAa7@dV+K5e7R;nphAA8{Hr^WhvKE)j+B?VKk~5;DtWKSz?^e$ zWT5MLp8d$s)aBIo$l0WqbCID*-}Qfx8x=5O!U?Ff;l@2*l)h7~(1t1xX;bV+qq6ga z31vs-ANTKMQNjnxW=EfRe0x!AY3M!ZN$WAFtQsjj7~bs~W$I3ia;BeGVKr)TvK2Il z8fN|xv=X2|&;V+5HNxT$7AksXh$VEy|G|0ZmebEUvyJ?@{`bFYCLd7p!e3r(kn*dW ze$&p~{m6sO1jJV*bF450y;pk;0Toch{uxlwQ0Kh}LhlaDGSgy40MR)3X2O#oqwdv{ zqO|~B-d|jKl6e+D0>F_c1R6~S0Tw?O&!^rbIP|z4e#$V#*N25xCemY?VS)h~@@vkb zg|$+?Q~r;C`Io|Ocl3!Tmh*mgVY%?q%NwYie&(4CHWYpu5C71ApgAJs{V&24C`r#X zP)3#R+o)Cj``F<%0)(+|Bb=$lfgGXF$q|J4#>}xp+a#}~MKc$z3s6yj6=nrKbRR81 zD!+ms&kZ0w-krg*- zM57YHkses?3E1>|Psx+KOaGhu&!Z7xma`xkzm?>HG?Q0JuP@N@j{S4qF?rE{b_80| z>F1SggrEKNFe7C1kEItoec;Re&MUjL737XGMRt%8w0n+~U*%0bQa8vEvPZo&j9%FW z=IXVwo%x@b4EUd9@<#FntN;p~2xU8Uo~%>e&9Lg4wA5E}!3ZBR60CS$=34?tASfL> zGR5=_z=S`{C0AZn;r`4vGD+R$cLG*uIWm$bgAclSlRj?e;&$M0aVbO01oG~ z=%Mofg$5-~v?DbuxrYfzTz)Kr>$}lIgX`C{_g>yKE$hpwdM@CyX2ZG$XMq=5q#2*h zY7^2qFJChV;oe8?FK3;9ZW+Jt9_1Tbf4hZoyYF1~Km6db&!Go2P;qYb_#OTOsMz0O z!Y&PRK+U+_IzPLV;gO)C?Diog@~dA*9ZMsc=731*jO&RT4Yc&r>FC!j&&+Y;PGnWT zZade9jyxyu;k@)xcM~Tv$u%-XM=zZ#_cPKvJzO@iKyUWbYZP^e<{HZt9`Mk*EGHs%Kc zCZLkFbTs1q`8u*h-L>V)>wj6UyZN`xU*(=hA1Y70_*{b#!<6~2 zFbUmJdq>PaCV(>v=-F3aZW@*NsWAUAV;GL?xq4$7>MV6m;AB{#hE~H3EbQxD39&^J zNQ9I7BJ@CjdqEaq=eqO0ji8j4{Gi22o-m6MOng|ZQ)1{c(@#RDzO`1;j0P*rK5u{U ze!c%MP5;$* z`9}K$HW=X~XzmE-04m{(`~k}Gr=Hx(iR)m6ABMD+cuQ5vxKXF`BiB*WNZ?So+KoJ_LSP>u*4(So})w0qFECf2di!{8KxM{#6 zbkYC|p5uBdw)FZiVC#BJGtrEs(&u|TJKr2Z=iYongi@{rN)iGR_9Hw-rr8I92-yI_ zNZ1RAZLjhI)F6j(1CJZy%tBArfpO&bYj#2bzeGU zqq^ih$Sj&t@v=@3Inc?x2b(GT+zWo(d}WxO_|wpuWESo$!b%pzDK>)-Kn8ylaWv3C zC7P1>t%wJ1vc{QnKqc#_WrStcSCf9a1q1>D*&i}Z|BdlqJ2YK@qV>6*_JhP7f@Ndaedow zpagVQbo0o>`PkO`hzoXJt{uGx9)GCZcK00>TplP-zw}(2>HK%M-dwJ|@mJ-p2k$MH zUUfw|Xwso&3vCy{@-o;V}xUg~Y??#TMv*HU|z$kYIi^LbDE?#=rrUGEb} z@gB}4{m4c4?l|N;8$gMVN+x`Zwj^et?Z%95!G3^c+tH)Scebmtaul<+_MmgT9lhh& za_>X;mCb;NN~nR;Bi6HK0-_brfN5k13k`1^YzYUAo<>{6B^Vs@$#Bl~u7}Z?eFzYN zT2>?Od`8!3+=0&@@1SLPyp8VRFiT^?#B=9E_qTHZ#Xil+W6wX+{8WI85kNr2){tcy z6?3eZ6mHghf?;ZF@Ii}x4Jplm-j>E$qe>tWLaqTfLvsnQ02Dz;aAgKxLR90gr$;dQ zUiY$B6IKK&5X*csF*EUJ;kQH3d^BrXnf%vRdnTW5xq2|;JpqpAU;n$`R=BvWR)+m* z@9v;-#yMw~<4!)cOxS1ta?s(2*NU`%o19IB$~Gn$+6{gtz|%K#7-YWTi{zi`iF$tm z8Q5?dbj|z918GS^V**yhA^3rb0{)->^}m&W`_?xak(4?xjBrj-$- zsUm5hyq~RfOk18Q>upt#^v+YsQZeoK8*%#q2;cz@`q~RY#Y&^ypFWy%YKA^W`w?)6 zV4$T*gG&IU;^tivKf)zIkcyr((_?Wxl|An!J!wSfYOtXWM#)JW1TVcZ8&8dbT*?CNHE1elx-bG%$D4fT}+LKwWfQ zy(2HwC3S-=QD#8}U;ruZ(IHU(_@99EIACTJk)g=SDj-p>-3Q>~kLDTbit-3_$VPQR zJqJ=T@6e{WpNz=x+HM5lJ1EiakZX|G(9mtfKyE@O8A);rer@6@LGy5`rvZ04k$CyZ}(G}@5J z7Qs2?3UH)@*q1Y@3#k{jsf)^dIy;fk>XGAr1_h}nwhah|fFg3R4=SmzLh4`M&sO^B zeB^xUw2-s{GO6dOzxE?z61-2-qSAm2nS25#0hjon3~Nn>paiJ&oou(MfU?!L+mx-h z-vlbnoV4=}o#{tq(`f4*dl8MDimXA=h%kF-fHlnVTZpH7RuFyYiN{;GMg~(qj$UIRY=jM9-%BF#_&l&fD#~y9_zo~%`04E@WS%-fLQxCtD zt8cu%&96d>!rbFJm;o&OSDt@;asw2g!nxLLwy#h5ThpRsz7Rb&jVCC}gi;zS2nT-h_P+ z1W-T>|A16p8amGbdZ1S?*bqd1G2jm1f+oir6{aRV7VjKEp;8bWfs9o4G?sk`aSU=I z0CLUwn3SYzAACql9M2I){`4zm8hOum>|W`L7kKilXdU{`%lUptkIDVfyhta4t1o=| zf=ar9hzO<#q4bXO?7YA9BDexNePI+qlyAZ!x+iA8 z2uEc`CxIDN03YfZ*iin+9e#7_Cb=VyP7e);I;k!J=kETOYvW@Ga0d`qTyu4mU1!xY zb!;uSlWMsu-zAk)V zGR6J}22s>^;U7ag6B7~0;S=K-i&riwi)vUpu&gXxvA7MVHWBFjr3=ck)h4a0fMN}! zK>%VNs0C$S4GWepDvMVwZP$e*L;C~k2b(#{J+wHW$mFB6*Pgrn?;D!g>ZR9TuJY`n zDxWSWf4=w57RUEISO3waS6<%aqs}_>KiQ{jXPq7U%&pNH_Uo&<;9Ni^^+|bhO{YlR zAfwaa2t-6isaxtuUmm2cJD<9q`YxWd#Oc3J>TEzH^*(jF|K6$d{rgha`!cA%@15nr zcqXzTElQhRcF45ToMY>Lh9bw0B}19xtKt~AfR*jXk~?Hp2Rh?+*|Bq`)lldaXk=uN zk03-ea4NQ+MP*8Bph3~F0ThBnBLr9;e)7qB{r=jpURxX0bE=RyyIgz24aKzYe|`7e zw!P&~e=2AFSg-!{a?`E1)<*sMDp<^E@Msl8H&syhV+EI|+O+vVg}(`(6i&52uLXy{ ziuqJ%R6q$3VFCg+IR{dhe%xy)Gl8ek=Rt115JHCbh*p967o2gZBM1o^f=^@b`}vqe zYeKM@zr=TW|DRoYX+38?l?UrH9&6uz)pgg^G=5hF6io`)c&7@KnY9;oM{V>kXhVtJ zEAPy^V%qOVpLx8^y+F8evZYy}y&-%x?0S>uUT}WXq--~CT=xzYS`L|XWI6coBZ{HQ z!XEqW+X_DQWYm=^ib7;Rs!7N8RT|$93TR4vvvVpWX!VZ)hxmX&S&%1sz%(vk!@h>Z zHTNqkKt{gFQx!bt#nVgmEYAQnG%guMA!saUUz8_#E+}K}6I2}F<-NTN7*g2?k2H=d zk?-{FegBjQ0kdCrvzSXAxeBCvETX-%BTP0w2E1dqmq3!72^+MS~RJiLeR`IUfO;yy<^e z-a&o}$^;;d<_?%E^B{zo)_(`d{<;4I0^%E{oG2d;KK@vRf!kYsy6(4}{r}juH{5)4 ztxGpn@II|}41Q8&+K(F8tA7_h-acq*FZ!@0>xYeSYqM91Zl-l7x2(Z4Dvx) zy>fUynC3%gIQ9I_0hd;!IpTsOnwt79pd_Xrpu!IZyts#N3Wxv?)7$hB(<`JbYGK*x z3L67U+FEdyTA90KZaWrMtzT7^uUTF}W?`AXY<`QMYl~McE{g{YbGG>6^0NNRb!Byf zmG0O|(sLGm))sDDw0vP%yKzk!SXa{@Zcwiv9{>$?@GDHi4Om-<(>Pb2-;^;6Xj=G{wrc?F*SC=Cb zQU}vfa9`Ho@-ESs27tsBub*b>eSqel$&AQ_#0&H^4b70*CmNENcH&?gjZ5I94>p-^ zrHfBqk|jfPv1E8MRVfpU9)d=kz|kORpfoUGgz!*dHRe>Lu^(%c0F1_(;4r=Wc^6*T z8dQSAleu!MW!)kkQEBeA{hJV1N~Ir1AW#9e{uifoaFEWSSM)6DA?rlc!#O zp=nk?jdPh(g};j6ocr{!sD$;D2soMp4KOJ4eHzX<%sNMlq+wMcHKv4Coc4Zr{`pn7 z{;UbT%dcj;{$mTi?Vg7oYCz%}o_NkG%tkFdScUN0#YAmCzg+L|q~-`~v;uW7P`U5X z2Zlj~AmbROV#EPZ-V%PM6aLEAzSf?5=ut*hRR)ue@|qs7imsBXL>f8o>R6=@FvuU@ zEDjS&y1T9ML?eB5v0WYtpjq= z6_>Ul&nBHSjXnUOQ88@+SW)k3O@Rfi1)ylouJ4(SU`hi88kP8^I2IT1WLo{42N^;% zDuBhl_+TWCxy_t3WM%<3?+ndkD?Rr|8`FGJ=69wbA(|cUGVRk&djn#c$p{$LK#LMU z38Zk+1tqjB{9yRM02*<@OB{4(&jSw~kO+Z~1L(fMS~R!7hFo$zok{hsZ}LeU7GM1e%w&*2p3$${scWhC z{rYU{Ij)mM(f0J~bRR|nBzd2a*K#iMp~;q>_JrdsP>J(wM)vfFBZHLj6FN;yU&~^6 z@|c|gN=5>WDR)0`Pua{55cCc-3>qs960HM4p#jfy(abs;9E}K5hl&kwG}1Tz{`d8# z{iXqmpiw1A%>Q9z3L&9abJUjC2AS=)+pF-(6&`Iw)<}+p*X{K>;FO7=411f;VeVzf52za33`!oa^ z3Gv)R-I|#~#RV_Qp**1Vi(i0p=%0WU<&ZW;k5_(4U#|y@sgwa1->-qEdZo4vu*jP} zJfznlACm_;7gJ4uFqJfwIL~PncZ5I*AoQJWb5D9u|07TdSj4}^I|MW$v?62@`a-1- zDvk-MJYQVb`@ORWu-q?x-b)C?_{6kt$T3qm~ zOl3*|quBg^;J{q`+durF)vb%JxT0;(KJUER2ux}t;f_D`)FxBzd*qQ;Z@1rJhh`=P zDF8(WiDpG-!X%2Gqiz5Y@R3#Il{MOAkOWe6e7ql6VHy^<`PbF5+4-vcp*hkT^~3Z7 zQfNv|z-F!&npEdO0e>{66hHwOKm>T{&!qw~;w+mX$+RYp0ZAN6VsaJL>U`?9dX^4TG^CM3(h9u%_c|Yu4UvP1pU{V*+?)5wRQdmG zlut}P|07UonwK7^v{66fMwh#4{TbG%5b`P}O$lv+21f&;q1Jc+6b-0A$k3)x^*h#^ zx#F5@n&|_uXuS1q2o6r5dmXTUZTL@U8VT`Sr=|_qFr8S-=INJSZ04OSesxXrNnyUB zVF4xJ1E83xmKn&XAWpV`1kf-O(Y%PyN9B!o-)@d|1PthqnfxI5rNrc+v9_;A4_F*) zc)^*568&l@-A5y$=cbo-{zVrx@DhIX)1TJHokQR?4O|FJYw!RxTV^fupwP7N#nGFb zc=V)l^7l@zanEUj&BRq^&-~swKWIYJvolNZ+2{SZ`JqsSvD?`{@UX+nz6bFGF_rly zjfzHB;g7FMJk@PeVKn~YCB90aGJuZE9U~voSjFZl#H^yCW#Tshpk%3b+xW%!j^wjA zdLF*tKgbYK>3COV&a*WT0yuUIo@nv_6rUX$CjTSv4_G?$qY3$*Y7Geha=-kG7EqZ5 zFw8&y>HqyotGs~_;1a>$+v30CSl&_RMq7}0{R$kxkxHJPM+Amv*teBdroeZfZ8R^^ z$oanTh>-AX+kQ{Sy(2-T9}+JDDRCm`^2|I}y!`LP&HDsW`kV}5M`+GlI@2_*GyfP1)rzK_{ z6FveK{%0nJ1S$Mcvi1)%FVjpW#1xoTOwh&;1hiyiPe$s15HJ!)TE|(KQ2d-1*M26J zd#i?zW`9!N`($c^4}cjT+O}_h^j-^7D%b#(MHNyO)oT`( z%^E(ozyq+*te6u2jkn)y<{q#j4($q~_Cvzy+KD55ayQWs|04pur3?&zze6%GE2{+C^>sqR-c~ zcp#=NtT?!`0ra|!8_Sx{H`II0AG5Iq%Z&gP;Ie#Rpn(gmAZKv$hQFgWL|su2BGZ97 zne#9I^*@*Y>3{j3%m4bn|8Gqe=qzSRhjb>?FY+x=VW0etwl^{-^)m8Sbg_Uv@>d2-1rzOZt%=wyFEg+_QV9RUR{>MFAXvjyTW8KgIR_{3*6^yv;l+ZMzGZ z()p-#lfaEF_tcL3W-5QC$L|Ed-AzEKxG|N`GH5jPe$(sK>(OX9XLi&do?jc*E3c}J z!`0=S^Ukl0^l@ePy$$W!qm18UuX51DNwtAGv;5@3i^};wzqmFW*Os4Ma#>svs{6{#v9(&R$<&t0gdnH2i&OBbO{q+s4aW+BGq~j*l^p2@{duI9R zB^S0SzYS@W=ij zDqtad_XzTX8q>WBZokLuoHz=rd!?6i@>QYD^V4_*TB6+%Kkp{U=RgWb^4+#ZdMI1U zmHm`4K&&CjP->VDKaG5U1ZL9eYpx;??JI-+wS3QnZkeNrKxZW6b|!7m+ZdJ9&MhL{&g{Ywu3~u-!L%@w^s3 zT`*^OqPR>N7iU_~0#X2r{g{Xx1C%@N`Ez-^0@};3ztZ9X7}}H%KKYX1aBIo^M-~F~de_81z~-2pR&FnabV%>1Y0+_4tiO z`R-X~m$QEKlXB*{KW+{Afrm~iyG+=t?7aJ4tx?_Qz(Z;Seq=f3#8Ya+{-bi<&n~KQ z&np*RdPTY6rd!G%{`BW6ux@Qr=K~Vj65v6D!o)+P@~fMF(=;v4gB1H&59r1}{=VIJ zZ;cC9Xk*d?(;#UyqsrGfYM3*mH@+GQOq@&8zypPD?uA3j-Ul390px^o=n+Sk0}egB z9Cz|*6-G`iM;>=#Ir7*O+wsZY{eC&^`)8Lk&iY|F{*=?p@h6|&zV(W$e_0#HpVem^ zQDNiYa?qrM%fw?QRY;mxf#m2mEbf%=ojzn{I;-V<0EELVyF0Cp_t<5RJ%&Qc_#nZv<&g$VflR@Tnlky93gvoCC*q6enJP;Pvv{dU z;yLemnHUZn%5!-vjSPpT$)fE7FrW=sfC?IxjMB0t05bF%tcasG-2v`U(^XeOfbdjHKh|rh{|yt$(Wb-cqjm z)vwD%mtR>S^|JEg3w~bqKjg4h-|o8qq4L7y*DI*JTJC!o(A-1x5!zj$t0vI3}>J(sy?aRZelD;BlDG1t)O1~Awavf9y;i2TOu*DnrnkjkKQDhTUzE~0we8$}xW13yqniv)y$W!o&Z+l($Z##1j!`>yawQ$r+^g;iso&B_+aaCEtkmZm z=UiW=4+GM;&T%#xlt4=0#c{MLndEK9T{^8wOh8S$!hsgh3_0BHxa-d4p~oLCn{~aE zZlz%Jpx6=&X)FnB+LVibaYYmS7hcx&W(o7-PC2=mc#MYOU4O!9r&oc_x8U&Fs2@}& z?6Y6frqBSG_rt#P8uU}YcV;=^)bBR90V@|=bXomLmsJS)V|nn&$IAU?rL2w76_#QD z-Hqi}HC$YK)Ap^feErS8Etl784O}XuF#SCG>{I2*7oRJ4S5Ud_Zu1vB(`?*)X=qLW ziXTKvlAofXbj@*0Kla5XWHp!v9X@dgR1T_;a#Yg}9dPKx3SB4HM)cG&@u*|U5yzg; zj!*tBvqpuvi!ZGJb3)ng;6v-ZhqZkg8S|b<&ocE#9A`8Qt@*&DzfZ|p;Ao+Sig{eNXoo&yx7Wq?Q{LJQ%4_~+`L#y&nD zG#JtB`bV7EfdObqXX?r4&0Ta~Gq>FH(8KlLT-QMUCqKWaIk%tnBMaJnxBf?qhW@Sg zVjn3FKK4X2zy9`?TdUkTtwN|-mM>|(Wtr#5Gsz6TC_pyw#GDw=;@mBsefK$buU_)6 ztWkE;jm?>sIoCA$OuGQ(n3ImL-@8}+zuPx$O4b6htj1gKztctsz4)3{)L$#s661iI zc~*=RvIQ!9SK@;LNCcn)WN#SfJ;W#KXlDb6m78mug9!>N}JtZ4JJm@#)%1(a3mKnv54;n3!A0V4wqUQ9e^{+2eZ zdzE=$)-+SmhA%gk&%gYl&Ahvz9J;Po#hR*3xAAjme z4aj^0Pyh{lZw@))h_-*+DW|mWcFp$43|SiPkzb%jeB1GRnri%*mZz>cW)cd3WU@E=3Y_DZSu_YS^`t=o9P+|Gt&!es z2wuUHu0rdaIDrsbg;cyW$bq9gCq6Nuc8#wB?cLm`AV!-bEpgItdREeOtbuo5fHL1> z3t}?=3Jn=MFf(07b7iGl&;nqT9gUyzLwf?wlv|Bv9C~REl{fJ76k-E}mQIpm6c zW}i&*=3Evy6<_%RVYV?>iA$Es3-wPqWnKcqCR{Wunw%1x<2X#7o%y44hGg*z&7Xya z1*p(w#HS?_umKW&Eskki;Ee>T0P!|dZ3 z;AHY&CzoemdA0$KG@OgM$h~}4rhPhX*yqJNN`o1R4~y%0KIdD*p2ZnhKhQ=Mty;IL z8zQ~1rnv~nn0dF}H~-TzZ}Ggca*Y+E2g{1pD?0Pg>XkLlsxq*ygOzSSp<8ZXpaRVL z&)2oELD;yytlzM%tXsdftgVnDtXa3ZEd*(Q;}@T|)vcd>{+V)R?SP$f+R5e6+L_&V z|9#5AhtcSpmcj@g+E8+oCPclY71ashduM(Z^_=gC`aPy>zRi}keb5H%H56}$;SOy& zx~cCmNB287w(;Gw4d5hBA8Z0b(o33=d6D&rpY|xv6$glU_nqrE?O5Nxfy#5QYyuTa zgsU8m33I|Cqh(ZZ4RD74opQ$aYr}AIa~Rcls(^atgjOe%I}hgr4%5IK-Wpe$fCex7 zAJiZPupEB$apjD&&TXJ__K(eGdU@?dUEeCahJp}_KTOp5;G}b7>1+!C0Du5VL_t*I zy=2(oSI*Ba12Bo0~UbioO?aTd0X${KJWu@ z{9uJFP(m0gd?Dm~V;~^~Lje-scN+a<>%92lr6Ee(z>u_D)360*@~jm0G*b4{OII$$ zO`%NsDag*J5skLRekw&@L*rO_?vDq(e+nLiXkwUg_@97n|I~K^QTKop4Uxtv6L4X0)90Nn1mMAZ|1zy#I|f%CV3ro5}5v6=Z^$VKns8YElz)1W-nVwAcB4I?y#d(^O%t8xd zGK(z$v2~3}iDpKeKuace>j(GqC2^nq%vhTdNii$YjDUmASELIZTtN%C0309zL32{A+K$R$hMN<(5vsD9?&ht^Kz@e7oJ} zS|BMSggncA!*j5#vU+m`h%YxZU|Bl2v^&oXv~qC^pUj@#z@_tF>6~f<3=@z+2^4B zYF+2dzkQV*TetmP_SobMD`Y>w5Fa*mIx@gDGQ+;QAMH!Du#w-90g02&XygFwKoh@w zKh4ORO&VLW46xL1sz5brhtZug?F+9NAO31v;7J7lDSvtUudNai%u(fQI5n^uT=No~ z`u!i26Hhy%ozsikbN_CwxNz z;l@lH*9naM5A8;`1So(O-~c2YEHLdH(k7V#DE7q>7jVcg&c*`hNIrIO*J)@3zz0G+ zhXy5+Rxzo$u91@Ov@w9jvw%ySfNf*q3C;R%(Xwdd17|558u!e5lE$X*%Oiez&-SC0 zkw$v$eNgEaT*oPhDVVN>)ZLpjQm|8ar4wN4)3+dP=R)71clYI;lXkRZ-dV8kf4i zDG&2soJ+lS9Ow*e#i`dl()Ryos^k^0(->!I2muh#wkT8L&_VzUAOaGAgrGjsvH%58 z0$S|TZqPu`xRO%>8KC})=Q_;@KQ;TH)jN|Z{!O$YnO#-@B>r6%QVom(8}AUONZ%6> zaUP_2Ru%zeE(F59Exkta#P>-P*hm+cq(kKyKo?XiXRedWG#RuTV1s$c{47Ql*#{nA zglR}8lOrz8OSB{4#t`W&&mnG1M;S>(6T{&a^h9gY=2V%tX{KB70&Y4D&djF05CBSl zSTO*JMgxfSH5*_Bq`dJ?XV!7uHQT?v|F;G>K*F&gzWZrg0wRtBG=UNUAi2l>GcP|= zF8TLM%Jny0UtW0ag$i8rns!5cup>Qb(XIfNXkwPHHv8?;rfFHdk>l*Z@aQ3v#VuGm zzl|8`9B|hSLrVuN-O%O^R961OzRBl4uaMG0g_Mnfm3j~`MBYx8=ID8%WbzR-`w(BWry)QmfiQBP{vuys5bOF z?FJG?m+dRG>{8)o*FAS@=a_&}uhU+nBa#jbxe$3Cnd>+*!g;bp-Ou?x_>cwB8jGtQ z1Yjcj`;gMfLofttn2!DdR7_v}@-VE}zA@!*t)T}A8fofxy*xd9jjM)|zXfMejVM)g zK8UbN1J%va=LKZSZmkhM^vI*yf_gM5oNGI$)YB`ZT+qxwOd#i8a9-_+oZEV-QQ51= zgbabCLTeb9e_RJP0s%qLn2&)&9^t6M6Nm(-ZviRsd!Rkhz(>=<)RQUPUDudp7%sp7 z7r=x@Wz#x42ebenqA>vw^2zrC5T-HTW#2uZgH|N4BFNi7PC&?g=7h-eXly_Z2yzX$ z?03k)?HjzSp1f@u;&H7%5}QWkx4~>p1UY+jk?uC zZ9xeWAJdOI)E4R*(!8j1&I6jx+#~<}mkuEE&!Rn%AL_C51dIHLpveDn&VL9z*$41bd z*~TH7>DM*D0B}4v^Pu=Yncs&T0T|?h_@0po+x$zQ6Acci058%adt4U}NP!>ECL_Iv zd&KqM0c$!0>Jtc-u5Zc&hQ1+F_sa|KseI{lx#s-<2Iv43AcA%Tc$k-k1{|mW2y?Yu zd&94aq0r3t&eOQK-*9Nx?E{)XN=6U?6HdI*s>Ey*Gg2m)b3HyPfI`C$KtKbi04;z4 zOb7u1@Q}GrT&FDoGhiV@kimN3g;qWa2nl6wm=!Xjnjs{dF7Hwh=_YC3Cj~ zSZs5?XC8R?paNWNt)J&7zfej4h2bT$ zZL=Dw-h&3M>xoTh8Uc`^AwGCgXSSgQU|-K-a{Z6-U=Du-E+N{jOS6B26K0K7BjVWelZEOECHHmwho-w`PXP*X+{Do@x6(e%Xehhb9|39&b~VZ)K=WU zf^!N^8uY+K3SrDKLg2-<6nceE{AgR04+YkK3Thg~083yb$9?!ngX>tF(0tMe@buGk zp9Wg+Z1=N_$zD#O*~6L3*RltV!|q9Fm$t^ph)rIf*FU^3SWXi+XRoZ41{ zmr-45I5kW^`e`@BKd`~vLz}`3q}=Hwq^n2NCzwcnrLW%4b6x+G%HNUv>o=r4h>4c z6QqC}_j-T-Te=|1bAgNhoAsvrXX$#L^uz%ozzUrBPO?_V%Co?WbG`+X(4^3e&~gBY z3}Xf@S+fU(m^6|DF0BgiaF1#4IqW*e7ZKb54geA-TwnrfJSV;^{ptCmfr&mX*#JYdD9+K6028nxuKW7t8gaqMU#9$}op(<(GUB=y@Cc6c4Db=HPT<8oGv>@_ z@F5Nj3$v7Kv?#PGv@0Kf+G%}eFPdEzHt^`oS0H6zLrgzbd|ujoQvw}KKqiJW9X}wU zVF{c7m4Hhol#A(TV9m<^04iU6@%b>Uj0_-UaBx)v6TzvSQ`3vSxkf z-!fRuY_Cc z4d|d90Uaij<N~Sh&VztxL;NrG*!zJR50&|17d&(sF8laCw?o^icbkGiL}HGs5lRPfDr!{TV|%&3p(&|?t#Z2 zXzvn@O7ph?UyIBY^J#+(CL93boM3cNoNa}^2E{homw-yNCL@8RuUP>h@l{D&*K==! zl!28keDUSy%`C*HC0ZBS7WXV$v9#P<%hqL=T~f}ja%f_e_v30^-m}W+eVOfbR7P!I zMpalb;zm8sO7)TZ{mx1P*%{g4n)vZ;69Ot}2Xa1gJ#suUIBh{6Xd;jJ+wj4eu+JV1 zRvxM4e={rivTri~Pz~C?WUZYlLP%*{6g~EV{icf<=@DqL@h2SDgRDSkr z&S&CjDD+I&za!lAfMtYCk$D;&LNyJj%;{%r8d?o+A6zu5zL7QrsKgf_S{COt7|z)T zC_uzHphD{+A8g&@n%=N$naIsThZa%eOl-tZd{>x^fQ)M(2DE@6_h``Mv0kG_P;XtH zfRT)-kOx%H;6z^dE{&z{O(P$O@ckn-Drt;jMoAt?CyuO%r=aC}^3}C~OrRhzGZKCR z7HJ$^ONH@%feqJf`=%eqz9;?{ePYjhd7fujVvwY z{3uUMivles%^EmXp42Tc)6JdGeXBeOp!@E=#?x_Ma6|*@n7=VBU&_Ej@KY@sbA0%k( zqY(ilIx5mq57Y~q4*_5Rri|2)mixUc4Tg6BGMQ6_2E}_sOA{X!!Lu9#7U_Ued8BN~ zC;!@WU`&P3vzMwTUM!=|Q8iaQWh4(@#bkX&YYt%PYeW zps@!6(WHQj_?NiGC*{?@z1lz|V3CCdX*GZfe--z}jFXW;an2P#8XM<HB1$i@mRAZ26cSPMkJhU>H~(YP1|M6)6Q z6xaEzd@%$t9B-G@va)>n(z1GRRf8Gu;$Fue)bjVcTHX%VDXn#N-zodo(W$e~pj?%4#U z-rbhlZQBI75Af22em9hqxyP{9y;`qN18r^*^Q!PwVFEhf&`A|~x_yF~CWj!>6B7tP z$Amp0L*NlyRIGZw1c084%I@7Wk^|fjq%wryPQxn0WJ-QadY}18eOT$t8dk!Td3-)P z&4_)VK~t2Wp#hedxg6VSSmc4Y?gJW3LDA489p_z_N3Lm{`kI@p1}pzT3@w+&F%H04 zrMN$YSN_mCQLlp+nijp@6hhw^AC>f$`+1;XMFSGGU%*A)*rwqNaP(m&Fp$ES!fHR} zqJHHFWd~xSnvBLH4W@1OQ`qhI#q**m5dv5#^AQ|57Y#}O9|c;Hr>QrB_`c6KfdDHXo4iW> zQ}=Xo zGyl`_(qCRGk3aW#dye;_shRT8l=fcCJTxbOgJva;wb7h_75*!Z#dDnNff>h~X#qz@ z_yCp+Q*J|*jR30Qi!V2}VatPS2Fk$dRn4Tc@yiM=f8W@)Mht~F9Y&&LL`PNq3ly7XgW%=e-T`z(_Bk(;eJ#7u|=$!~eFWF6v zYn_@s_dBrcf5^n9mD&H0!^^~@j%)rZgfnx^iKm~^1P?(%_z({9%ohkCj){ZDAiYAuy#E8bci%KUeY7PRVbM3~=*eauw8T+1nv@JP4b0HE zxCUZ6b6Dr=BCdOFlU}Ynr_r)c{qG-4I`){>SnRpKkyZP(1~9{`H4ffiAyUw2Q9!5o zzB@pW5j(zD9>ke8-`|IdfJ&ev1uJ1>0hgA%OFZf2*|ve4rURQ#V*r~rX& zz##=a6-L}ZiEZA;*1dt6^dy{5`AubVpLFaJl;W>)WU}ae)a~v6$xv)2G)C z#%oP0V>$ru;~kmG~+e{;F1>~4Y z0E75~hF=3rqoKj4Spp;KtTj_;Lp9jyvN}sU$UI`yPUaf{J3z)WHTKSd7@8Kcz%>9U zUjri1o`4kbXlX!+`@FYjO3V4IHRL#RqQv>tb^D+Qw2(*M&A*fn{<8o~nSXQ)$WGs_ zvqg(Sdy)}H@wEY3v@#h1M5_Y&ya#y<4q~p!L~lSM^PDgTF$KAv#S6u8-Ep=YY-9Sd z4_3gBG~7=U6Ro;^J5L!e^2 z?(^=rA3zCk0Vzy6?g21s)~;@F0zlg6Ax^gDVX2TJ02bilTr(~4YpL)8Ru3uI?HN@-_I zTG!@K88ZEh-(%NI`1V|b6tKd!$xr3=x87`^qGA&qopxdG;ZZBhAm7?*>+^}$N2wfXGy^7ql)yr+ z38_rEp7%{f?86OsN&_5l@lJiyh-b&iOu8xCj-6)`vY$p>NcuUK$|qkvGY;FdD)yxV za7_3Hb}iOvVN1R#e3SSv`RDd&T$uithoWh*80b9@J=EX^q=1^EPwZBmreRYjm@zc4 z>WVdtEXZh1kK{E06L87@>i=)&!J0hq4XHOw9Wh~OTxnCRb3!|!-T?$q<~sp2?JN+W zIpC9#iPOM{xEg7&LQBFt!UO~s0uthB^vQ%c-2x5`ylc`22gqCvSl8*r#_w02*=foJ$@C_Q8Xg(5BnB+r1 zBY+U7aKCfWa`ewT?ibkn+rUK%XP%dW=)N519r{4izsI?LVb6a^g~;=x)fgG_T>+K; zebMxV_~nsjCe2iuq-9@v{T_nGIzB4S$3`2?Ln>?kS@{m%77%hi-z!bPBVE7`NaBx@ zxrYoxRyF{Njskxrph9EE6l+CtK27|`&b#o!w!{T(gi%N8t~#Khr5yk-z+Jrp{OSrQ zpb_94{9nKNujT*zfBvO>Jchd~4I*~0m45w}^j*JcPZ zt%rh-|fuMv@k?*K5qO?=OY zpA1OxEL(BCH^9g|E18j&hKJ@O=4ElDEB|PCKoG5r>i|evOsf7jr)uxUdbz8%-xa80@8j$4`^3XtHOdh1=c zmPem?w1Gl^10?WMaUR%Y!Zz2yh5JDY&@n45kZ~SVJoVyJ!*ibi6L0}ifQfV9CB7-r z>-(fQFJAmsGU=S>WZo9%!46QdZJ@HI^EJuBhD<-!C8AXUFhVAR`)J10GHvEZW!Bu8 z?HqVD%g?^_|*$;@gKkYytct!$FCu_TTRNBZNv+C|Jy4?N1J>BqR1u;GDqr7X%TBAZ4Pk2p!gfvIvhinVUiT86sU#YOrg7Nsz&1OrMGNiIt{C~l zN5yqRZdGvLq2gu&H_$=|XVy`GLZd>v!ZFdi>ZK401O{Q@J!C*FIQGxzn=h?XQF-=a)|3Y9a@Nv|U? zlXpnjcdlP46F+&EZ{qyQltU|LB#(a`Eu3@82QUG*{y9xcfEC;rx(-_SwEz{S5e+NT z3+;^tTwTdRj2cL$i!|Pj#iPYkM>66~onTH0WO;vSYuss1Xi+%Ee(>?Mwt}pM+KgOb z0tyK5oANH{_yk5Wb$o^`tG97>)hUU?DyUM|$%1HD+#_vJqLHUz1w*tR@m~Wv((sL0 zoYXyJNIw87Ktql&$B`ib1sHJ>X1?Kj;=l1Ha!uZOH~%s7@$f;BAKu;f(DDMn+yku0 zCGQJV@*jW-@bX>0N7_1Mpbj*cAr_cqo~xK=0wVx|wgjwz5WXsWQ$R|FAcK&M4gw?Y zl_r_*zQmcobYZ(!dbBB-$Az}VdC)X-?yLqCH{Nn%`Q>kZS?+w`&hq-(uQxydBfq<~ z=KDi;56=J#4rn#N#`CW}-!v|9hK>0K-~?1?I^s+#4cZ&`#@rMC7iq?kH<}wGfTZU= zGKUIK$$T#{H${8mIB?^gqMeaWxAJl~GcB_Y=n!a6-kthR`FNH!i>5Ys0Vx2*Jpe^~ z*W03tAHGxGsGa{Q6%40+GOa9IwX7^!x~R;aJG;zVIJbs*W!cJQWuQXI>Ix%FK^wkU z-}aZTTv}FwlX^~Avv#mK%eKkkDu4`|fcUQr&1?%qINoLgIiYD*>NTLk3}m+3MN1Z! z$DV$wX>=pcb-aYgY%(u0Gcr7KnmmY^J#swqFKtI;V%nF!{2nQj(=K;%6##WJ({5My z@4WA>ve^r-cFT&Z2(&4kcICz43J(G}#1fbp3aR(^wQp}xzW(hkn>GcgL^TcoI;~3A z1EbPT11=D*`y6<1*=?_V8>m=WIdiEn1rf%FAJeUzO8^mI=@qHqdML>Kg9x~NCb^x-;%n|KM&ZVK&_{aYwfDu>#7BR`h#3jT;12#Yk$V(n* zc>3|h3CP9F6KDyjWFoMbpagMzpLg}{QQgOklaTL^|3ow$0hIt-@+t*2={hG~z$4I+ zf}27d00@v|Ki87K&ZQwwn$qwdX}tUUfhi&Teem&q&IMrl@l!ccncS1_&3-g8;;TGq zl-(PM(z^iR%6Z;P+&nM&*oUZ8)`S2|Ki{OUe)-S-F-TF@GBtk6g?h#xOxfdz?Y#O3 zTH>hP&4@gyX-=~8InV&E&e29_j5B$i>*|k&RZkx%fCmk@x|f9?fdY`>`=s$!2Q|F3 zCx+54TxR}=l?`5KGiXFh%hjRj80VSTB8D2Hc(ql@JzULTzFRz$Sq~RTD zh&1xP#ruIF*O_&^J8g>d_T#e_zqQPz60?&ypo4Z6m}RL1&!!FX4F3tF$^&`my0V;^ ztmQF{3?Cft?HSUf{WF~5_*O3Xa8CPLq51(3wI1&ja@_W~CHqdmwp`WZR&(X4KESXvN(5x#Jq* z8?TfXCO_YX*S=WWRZA3D`^UOK7IXZx=IO`v|5{;s{t{XmfMm$?KwA)TPW>0oTQg|Q zhBeIzm+uK+F~ffEI_F20DRD*3<&)R;FN_-wGUF1r$F@H2OiKGSs(&JY-uNH7uBCM zuFm<_>IW?)|1OQEhL*pFI;e4F?f?@Sb&W1x44?x#G|Y1rEofjulfneV`~fro2W^W+ zSVtqyqqHdkP~l7FyvCZ=L0oAtCxHs@l;sV`038r=iM9p^co%s}HaJgXLt{Zp(Vvfn zDaSR((gi7i0HjC@NPx1GUG;>f1SDmyCT1Zp0#=k80OOrOM<$$q~f2HR4roG=_Lqi`;MAM$knNb_zfo59K=z|%eRCS5d|3a{R7(`pe`Jb$@n-s$^>}vuH_HcCl)?3@8?40FWfiSS zJ-6`-!<;v?$=`s8YXD_!jn{l(DzKOw&U`CvG!gAe1)U|!mzEEvebmaHwlZcO@+h*7 ztR@p9+iU|a;>OG!*%|rQm)ntp>WpjdkNl73J8e)mE{Q0Jn$4_E|b(nGf2H~owR75nl`PZ_M(k0~h6 z?;vT@>c#nnz)3%d<5~(?A4*aXBcuZ-0hNG&xY5@1L8O1K9|C;=pMXi;DX=pVRQiqm zNJt43{4;p&q>oWQOdpvG#2hK{MWM~e{3gsW&Smy%Ti3yg z1{$Pjv;m5DP_JV~%G@U!fA6YXfih+uW+7k|t%+yRO2oM}s~tP%-JKH;G|*%)8vzsf zraZ_yAVk)XDW1V0Ia(Lm65pX?1Te@f=VNm6?VjbkX_dbA?Qb3>p;h0#q`(2Uq|Yzydx1j&rumNHi*Oq;(H? z$q;B@lTk&^W%9VGGp99x(9qLF01lcG$JWcS1tv5t%skPe02cdzL9oy1Rh+Dr>^{fw zS&0S&H~2jX3ZE6=obz6H`=%Lc1r!oC7M+wtV=>hs~q|ObkH= zBFs4%_2XK6QC#oOu|lH~vk-VOBIuLZGaGc!kSrUpF3_r`J)te3S(&?NUU|3v!#C?c zd#eJe{SV}K1sE_x%Q8@*1mvu*V6xhNg$>(vpBp)}uI&%jb2K)fWgTbS3PemsgX;#n z_&}##vryt--L6`@rfEP~FCxFmtjI$97#POPJD}@J#_G=2I~W=-|VTYUkM6e|G65!_$$gej&85)E%rZP7fqVe=y`4MT5ZPN&)p>^H76hI|l5|9XV z_$G}>f9SG?MaU53^n`Pqh9&W&7j27llA+!m5Ou)ddjkx82#D4p`H+Gr zPW)L?C~cEQfT9mRan=opIF18k(K`0;_1}e!PDU>i~?h1VN^_ry0?ptKaFMXxzyN z?+Cs?6(qSH2SxS^wpRwx#)6KDe??3!r15?5g)^6UhVeLHUo2jcgp*0Su@_W=GCO zPDgGgq%G>&RUBd7r%rnI$rYg8V8_KD${X{i`h2o;RFk|1N3|LW%7Y8sWV zZ?Q!S1n1VH#+1#!vrPjR!2|m~DsjxAeIZmg`F2bwdmnIc)1rVB^Qds9&1|*iX#pia zIJaAPP$ug6(5}#&=(VWmAc{bxQq|MbqtYuPObKEiFJt3ang&{CWZMUnenx6&W#p!e zh6=zKi7Oy0xJAbz=U|2u~tK^{_2P@KV?=} zjlG7S_QLzbT&2DPDw-ni&J-+dj=MmFb_Gay5Aq?}nXI=1Af!WUEDh<}M!t9!$f9-1 zqMl4n-YG+jL5B3eOIG6cJib2S*#}e74%h=#par}#X&r5mbmH*aEo^y3TU0P|8K{5> zCVCo?_>KS%V3CnIG2MU=fvLxJTA5r2Ez)s4Lz}?}FtHC@q-USWse_amb=$4a1480M z0u(a5IF7Fx|7cI*e*#(@C!YJkh%}gdXjwSVn&-smpywt(SN?qepW7%N&jc5??v-Z1 zMY@5PKuMd_ZNVmoT@V7S^3H*#j3kPqZZlieG=U1!4=@28?@xQLfyv-{&;TwLHBAds z5ICV_0V*JcsR*RFHkWhl;`yB)N(B>>?}3S>0~~MpwJdGtSFWk>P@%*17Am}$tZ&$7 zrN;L!te&kLfJgV4jo5vz^Ctp28KO=jCJonVWY&JMz6C(Dv_j0nPvy6X*E z>u2|U_N!3B{IhSH?Csc-PA$isd|CsRZpPJ#<;dfYX@Zh!mT=K~A}F)qUM7Vi81zoS ziXM*)1}8Ehjcyv42xb{9(<02%V97xD=X^h70~*nI^ff903*VTYFyQEh5OG$>?dBJBJYqiQg~C?lYSp2oJ&I=Q0aq=khJ>G$@5d#lU~5oH>YAGo&GapvXqu{ zc}_Hhd1lf{+Mbu*Mc-r;NC^-)FAc}w$8o^Rz3P|$-5(_fNWq8y91z)lobTyIfF*7q zIiTFnj{u7IiSX&?W9o~oMmimitkDBRvVbKMk;Yn34*`ru-Mt!VYGgtWR0#ZC0F1_7 zL;lbcR`E5dBp-~#L-0)S$Mic@UN zNLirLdGFwx$S3K@Q^EhB9nNSV@925bkWXaVAxBKC-*@KlkYb<`tv3w|c?}*kNVF{C zz4d-)5&|!ArhW6Bx0-e(YXD_3IBB{sqlRczT#G44h<^*9p^@nT=z|6(0SAzfsqi)a zj==)}5hsqZpdzLq@dFYdA^;*?am;ffn0Li+XQPF(#!oaV@pFmk$a7-Gk-m72!3on( zoNnV&<9_cL=Ujd)F)w*Hpb|e7AYvXB@DWg%SD}RYCt4Jy9w6hM__a8;5F&t(x1d1) z6=wVOpZEX)j#X<1%SxJ#3Kc6V$Oy|SOsrZr*dW6_%t4uikA^0b`^}nbq#dW<1>N}} zfc0FX#uhH?v@gMqSXu@*tStlU)|4A=`c0GVnKP;1k&4`k%xki;H{vHU zJ#sU0u`jFpfRZ?okBOf!W@p;xPNOmmDi1vNaHF)xpS48#BW+)0ruqRW<_P%e=HG0B z6rg|-rXa(SzrD@Y^|-s+K2c%3q zT17stsbL95y)o)p6`F=eC67?C1ug`EYw_Cm9x_m-q>)a>q_GXKq+yE??>my_IBKeB zFm~LHFzZZN%t5{doOGrg=QsJX?7EjZRJwUl3_*>#N1T{;Kuov9KnEwL>+fJCqkCv; zH0&MhxldZ2B~E(J-ZzlpT%aPR9U;Btm@^c{z(5+e{x=5((%6X?4OQaDY!D!9X@RAo zuoF$F|ZSm@_z0Oqy&gl5d%&+FT_73Wl%lYW-P5o1*0*eYyQ-K zx%Xb}+*fP;8eRYYmbJb)-geyB7M$B^R0Zx@7IxUJD}TV{J2l-13F)Uy_+J{_ikJS!MPWl-{uUm5bDn^xwNLk0rjDF zUi~v`_BlT}uYt(@k3Ld``77myn=K%Ce}jNK@4v4CPqz{>(-1!q-$Mh#Symdr%eUMA z`Q?{2v(YcEy{1?@>9C`YY|9*Y#${Lid()&aCrPvOak-^}%Y*HGK?{v=R(|(9Ktxu_ zE6-JK^kBuMkr8N7zztuQZUDf93T>BGSoo+x!}F70Y6BgZ>F;~Qvz}@lObu83O*(%S z<{Q2k^V=-4?|$@NdF`!Ea{_c)BR4dx**-0b`}wE@Mg$FD;s70KyZ-+44;vI{(6b&7 zhyW?^MF9!G#5wx`fD9XsS%>yQTFf<>eKuwxP$HP{El#)1EHeZ%ffQyUA;XdL9BE|u zF|CPr&7^S|^^=i60U0JMTj!@#Frh`6Thjn2(`$U%5q>zfpBV82LMn_*W6rAYI%^*P zo*8Xb=0z(Owi#~cFEzi={5Jp0+{N>n8EEm!C2fDkoS8N5q8fK`+vXZa+h!74$$@u8 z)2J+84J;OyCA2KGAr(wMuK(_R3sTPhq%0p;R@QG^SJu_Q93;;2nua0HOKUnyYOrs3 zwDZytXm?f)t}0XOzdq~Sv&-lm_`QuU+f{isrU8V32%CIPnvC7C^Ru&U@_n~%sgnRl zUtT+(`vNMFlaWE%kpRnZ+}bXTuWiM+`s@ZOdK-j6go27i5P1kyP(tQM=_aS@pu`rG zfEm|q1#voU$~MC<-WS#cf`*My=(G_U$_ZtkgAQy$Pes=Q$;bnfQ&GJF6gFNO6+J6L zGb;qUNAD^GmkdY)9kWLorZl_})-uR`Z1(|xWUi1kaqJWR?(;1n%TAlI2^@r|d;8iB z$I|s4&g;nvX;1g2+d7x?+g5?GeXX?e%f9Q|>@emZ&Wkr{ z=k9w`;Zt_=p8|7%bN}1*Xc;+k>fLK(nRtK-V6mUspqWI}KMlPG**(lX{75wLhAC%C zdfSJee5}oIYNc8W!Raag_1(X<#*t~`>g%tqjq)Y6p}uYCp2-yg9;^-WBjxtH?=BOM zI=c4Y#+FO3yt+K{p`w-v{`A=xIOyP-DPlWT{IgX&WiPVR5}PdxWr1(pYD z+ILjAxU;RN^wUc&XXU>~Z!Qg{o=wR~Uvl2fPP|}}B4!C4k zGdK}1!<7Rw8h#Bt2=I)I+=*62L!XJ)_@89N4)Dk{_udg~#8d=Yq$?e1#9R~TiT?;F zdE)se+P8YH;2e`t{8ZeZq0`<)-1x6Zzsr|yz7@yzy%Wb<4!EA<-TBLioArc@Aj&Me z@po%-z`>WTkYVqgJ`?P#EcUDrp?%Pj1||(l1}s7I=fYFY&m+nCa1~wF+(z~ zFLU~`G%_|aFc2eN+Oo)RYw8K3YNu;L?SSl9pWB8fs|*T$*0MnQ;KS^criKoD0F%zV zvvq?K$F}iFA?RFpF6v{)omzX_f3QQPXWzj}W>ejx!HC{m76eO=gzA(A1*Etq(~tud z@WP(%x@#jpK2VWo%CPkQ0}yF2((nfi1Q{O)024{W*7r!u^#I8(8t0*gQ?MWHMqnk^ z12oRXgc4ZkU+<^qdVgX!@RaL$M$(LS#BqXm_r7T~-4{@kPVVVH%f9%o#Y`Z-`lQ^? z7oZaOP>=&Fjsq_{*B&Dn(YOMZfJ|UT!wXcl8P|b|X9cPP5jmemIM9&udB;G5^UkRx zDU&&88`zL`8u$QGA70X9=tD|ut$nRej$KcB0R)}X5bhwld;;KUY;2=c=@`7xX? zLy(el0lWq>LvWX8=DB%a*8{rV!M<~V!;oWI2--~bOI@Sg46JY>jrjwdFo7`5(wsOp zEScX)ri|w=!puXPa@F-$m0R!nV{N=9w+8I)2k)tA-B5n}hnrf%`}^Cib#zbDPCWTM zQ}nZK)?I#VKfU;}a_;#*D+eEbWI1Hgkqst(c)oc`uBbBNrgF=l{?vfPiqnri{dBSR z(NizH(2gH|^2r7hH{E(`TbZ|M|7eQ6=b}^>@tq(9`S8be%QbJ-ymchQfmo zAgnM|Q1~jmFA6BUw-Q1Ul8}%$$b0XQ7m|<=2qc6z0_45JR_Ej|?)Q2XJWcgF^Q;vs zGb1A-Bje5|_LY0@*da(>zCWPFVxL6@rsV`FR*C=g=RZF*IG26>>uVqEI#!Rj=8}5? zlatQin0wX=RL8F{^QB?t(nqvAEv5)wXj1g2-vP)l@#s5R6(%I6rK0$9$YlmvGo$UH7c_05o9c`tM%1eEgFiSswk^zgiyk=)V{~B33eHhA|t**!Ps3Hsf?3NaG`E z+gLNp%z4~27Im(1HkrEhL)>J5;fJ|?Llu(>Iy|OdhBoK6XTAKi=AI5&*5Hth@GfY*7`V%U_ zMeR~PIB6y590@yL3M$mA{q8xx7`3TuyJyGshc*W?l@H!#*!d$+QQtQB04AX1Y0rE1 z*rr{XH79L@m9z#U5y;zweZR|AV3B$r?U{vhuu&f*sDp@rXV!xB+e`Mnx4pkJ0C?8= zB6#VabB3Por!L3-H)>DUrdjgLAf!P+k`G8`P?-S$_dp20W$ru2wNu;bgZ6uV&*uGb zP9EP7AR;m2@U!s$<^5`f?p6%;bq_>Z85p?8H(Leh5T?vJ#+Ihues~=K-~X}qFZ&&` z?{exnr!GgGc+`5`K0_lw2+|5DPYdCi-S^ph{TO-cfQS=MJ99bV)H9YhzvG{mXFO-; zvHS+uIOvEY27G*Gx7|im-o5u1srI}9IoEvq+e6Di8$$E);#a(4tf6G(afz9Y@0|M0 zp0eoU>)!H~VTP5@_s+h1ICs@Izd7m!MCzr{p|!Er60Hi2i#G64;s4@UKpHIw@H3tP z5vC^32vPuyeWvUFx8>=>rY$#1iAjyav5!gGm@gf;-*#UWZ~;`Vz2O@pOg*g?-;UGI zJADw2Vevl-J{t?07KavW;64oVNzb*AUOx#FCY5l zWtTm78E~TwlDd=!DnJCF6cN`7%=x|0uC(S*rYz5?-Dz2vf4~V75jX)Yj&s5VB2t=^ zR%9-23ve;>NP6hEkAR2mLl23Wa_`s&C(`fMbAZLZ{L;fK+$alhZ0}j?zjJ*a=YDm| zP0P=2`tfq^`DZO}f5)4bCqMOx>;KqGM;sGVglSZmfQ(s>+xBrJ^+EN-r#}*5Tx!g1 zESzO&V{r1#dmj&M@|m(XvuJ^ewSJC1;h5#mkiUV1-ImiFAfZjko}WpFAIer(2~6at zX(`Njnv{8P&bFVBaqNrT)F=X)0QNi{T1P8r`?e|YL3;F6I*n{r?qi3&7_i%oG$F)J* z{eQ?)m;Z}ErvEd~slWX5dv<+L|LL;Z3Pkg9B{z$^>1Fcd~UZrhd8{>IlzH`$raxa9BvcQ6(|s} zgfah)%dXz|c+i|Mzgfe_qzQmiAp*REu~vEQ?fXZz_Ua;^;%_utb=tGD3NF8Pu(Lm|1qV1}$sn52vc7+zDI4!n03VUYHl{w7)#!RCzJ^7IZ z4(&7ZFa>eY1t+BdMOo$S)2`5{*xtV;S`u0lX~4?E_YDZKU;eCJ0X2b*Yn8SA^$I-? z|CTA~{$UEb`<^?NU)_Au@~v-uW7%ily_UcDo4*{UAE5BKr!doOWZ)Rf9{-pz1~LB_ zr}9&oWk+(q@iLiVY)YQa<7Z>)kRQ+7#2tI~&d*z(x{hmOt)C#pKZ~2tf@J1NOG3NC zvDUV8nSs)%7|8QY@i2~oivcd}ifzKdKEdXY-4;+E;JjqKs`?mw?b#y_MCD89IWauAkdier*eA`YlR51N9)gWdH(3n0ta1 zFha=6Z-4exnL*`o{8YC2qs%Y;oV2GlIPM=L0C8iOi?Z@O&wQP&e}2#VsK@=y_JKg3WCylC`>ogySkk-d8_&Vm)f6R21Vhu_N8-}>e%{I1{b zOW}I&s}GS+eC|`LKsb4d?aGYy%Kn0vL&cp+2)AlPO1J(kzM z^fg-7I(Dz zG>r?uaWDQVOhU?9;PH$5S*7{RVN#-5;gbSr_`RHZ_Spk|-u`aUvEMMXDLL%YposMX z(rAQfoWw@~aIF<&OM7fA0cJEVOhC<&0y97mtmtoj4SM*pnD_uRXjB3fnhwI0kR(J2 zP?`sza@h(j{7Y!BPCMs}VZLF;k@P+7Oe-XF&Q-TEK&W7Fv@2#3eeWlmX~s-81UR9d z*@v)Zws8)05Y%Z?lw*crjtN$@RT;1#k4eY1ggs4$I`}hzpG+`mXk734K#ueB!GU~r zxz=&hlQS=YH|rA#^$%`Pyrrb1$+c0nSZuxStei^ zkTT3i_pRV__j2z8))QLm714IB$KQqPyYT<`cmKx-w#NJ;q&*)MiT>S(4%Ai$Y?wK7zmG29>fp``|n;AzN zKyt6($hCy2`|5agxPI=u1Y#X$s~jN|L@28s^=g;=I=nJ7s2F?$0LRr~n}(z3a9!u6 z1hPE!)ep)RZFGhp+cZ!K#JODwull6t?Oe}0pkv!L^KmfK@6~fvuX{bgeV@MZH6d&P z2+cs|9~uC8In>U+D*g!w?V&Z;@sA_L_R`PKvmKDO{dTi<#Jku#*?!O>1v0%Ofr-?+ zq|7{PC>ZIVtoukatk^0e-@C5v+ShL#4Eg8x%pk>=$_yd;WN4OFKruK-!Ae@EOh!y) z{ibt&1#b2mNSyaRaYXmEZ+b6n3L#lcA{rNc>wl3cg23d9B2W|oO6bypD#tWLAk(Js ztq{bFFa|LqO&_~{8Bw)wX8&x$BG_`arC|^+#s9i%KDYZ9)(?~~4=o1`h=o1>{*|v@ z-ttfHTEXRuYyGAyi}1=sa`aeTnzlqa@bT^sSj_O9D@c84fJY01@=H-4pkcD1u>mKh zf4d%VfRmHYu;}5&4~6qAt;=V>@P&~_qrwbiA^;7HY2)wt;0M>fxq1K>Cs`&Q|1-u` znh>Tk0H=SzhJ2F(e2mdN(VQ^30Y?5n;D(QjK4wz0UpnD5zBrZ!IAeeXlg$N}T{s|s zfFzs~z?WZh*>d43WR;;g0VbSfX-%3nbj(T2O`8>z1^lFO0WOu7XL_^gutMk)@&q?P z$h;!CpXtX^a6xcu3qcN4zzE@=nS?OUhs1f;xdtf66HA3ACa94BLgpuB(%z)q0aDC5 z@-rVf2QI)3h)MeqNT~ z94HZY#hO5weLzXDvejn=sL-n1yFyAnDM1G_j+9m<)6iDUO0W{x+{e_kLeT^3{W;v; zbKjlIZFk%}d{wUg##IASXjDXq6@ZOKrLoL7^GD`rA4=O~YaeipF^!SQ{n897QXk

0@!6Sg_V1}e=2DiOf*OrMhDX0kkf0*3_f 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℘CGD!fWjZ^! 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ⅈ~q;JMF9ga3_Vp*PdZ17-fStk^2i_7)>$f)LQe$*mZ=h_mZgm?|$6$)m+8Zp; zK!e5=lIq@=Lz8Ac-BRsKk#G6tk9L&ppX_Pl_82_zfl<})*ZmlC_f0+Iz@bin5CPGa zfhI91^5IC4uI|(t&jNzc$ZZ79vazRrZ7)(;SuT?KZaR9#h z?|JavGJev8204JHQ&$Ex2vHvj5jdedDU=-VE^aBnIH9NvzU#IIC{zV5jEk?lv?&VKGt|IAj}R&Z-~H9qID;&p z0?HV>JL|URU3`8u%GZ~NDxk`{;aauL6O@@Hi@W?Hb=!>g%b)>W&z5e$;Db_U8AF#O za2Z_BexKDg^lXA@5Th5$>vey?!GJQXfJm2H@Df-AG1gIj0Ez%g`++Qqfo*^|1t(DM z*>-NvG%yjnrN>gbS2ND)L0!>y+@<~_Z9u`z>sxRvHRXa!&o38Vc0q#`;PUfd{(XHu z&Z}SAhm~t@x~9PhR}f{z^s4KxEWbbXgmTg47nYG@Ml|>UE7XIi2&Rcsp*kqk2!#TX zSe8sJ|LTXYs*(P(wTPhWm=UCjrFCo09I=KnAqr+QG`E9UJR0-mCX> zW4+eT%b))Bht@q=j7pa~rJi3r%U62)eAE<`uYdTuU6=nNPyrNrK5+qY{rGSPB7np^ zo5;2EQ~XKi`cZ(2cowh{hygVR9d>X7Ai=Z;A9?V=poA?(rJp~gAFIOk(@*#Y7Glif z_6dvxVES&Cz8k3Tt^pjTK*YB82{c5_h(Zzo3h?Ay0gBWkzvJe~xdJLVRv%Ps-%s%7 zcOQaMZ&TNv?#Jov)9;R)c$LhjBvvKcxfxt4$>16QprUZqq?bzKQy5eRlTj7dVqfP@ zju87Y(2kQResL6xv1M@$Q4Jg`aTn>TD%L_>CJW7U_&8=pO^tzI(0uK4D=5?hN&)vpOFdqz;y2bru*U^8Fn5pH5bzT_cp`tzPqm!HLwCy9-sI`d&zM@Fw6}1 z$!FC6(@DoQbjJPn1*6Jh>?*Kl{hOEtg$=X&Ey7!3HI#oqcM39-gcK^;*lTqS(h6K-2`r znW1KsxpV}QQdSsr#+;(SXeT)wgP)u$REaMusBGD(htb=uJ*Y?uPyr{}LOWvl$Z1da^KRe+=q(desSjrtOX(3%{v181!OD(p#ApUvA0XwCiVt|0W;mH#oLIp z0bW2Q`BKt7*}Uts&h@r#&9yz=u28r8vmLE_GEmw3x$E3fq|@J2x9jq$P>uH1b$c7+ z`cU}&sV6pA`Q3@fbt&(UIkMThC@P?&@AhE}vn~O&{miwt>AE)`QVu@ikaEzG^0OV> zTt9mK45ZLc>iop0WI)3HI6uj$5?6@0jlf2~OK?D?4-tJ(u#IJo6Ts=K9@#dq(_eNV z5GCj}y^CxEK2onJCw+A$P?TvvB<`ocP3kystdmY00FJ07AcTq%S5IPBtOFELVX}=I zWIJjALkLRJdxt6kF1RBsm&=1Y0;o_jxGLmAar1R`mOF)eCIO#}YPuQQJ}w}JJl&QP z6iOB80z%g}qYVVw_#)MaGss*m3^Y)2JU|3gz!Xq$E=o>}ypkZ=1_u=gfC>O%%ovfV z1Bs8wplv{g;jm7Of!K-!)-ooHB;~|;oyRqaRneOzaW~okps8SmV=Jx$yd;P>Nz~GN$hb3J!W*}5ZZBnq!OKLzBf|$oOue9dO_Ilb zMJkM=7myd2FDF5pln1dq+JL(ynQ6JoxG$&}Ko10f0}z)yDvYo8Y$NX0b_XON#DIWC zN(L(iA~e9CVw7m3I4`N^-LPZp0H9D}j8Y6{W3)N>x*4N~Mh-2nyzz3;n}e|wm!iD3oE%cn4)(-G20Ak2E97=&oA7s$Cz~g%|GBnNupDjBSQ?-m~*6cug%=Tzh#r z{hZU9vLHy5-2VQD?>B?yE1UsixTq71nCH&*Srgk zl2=>r84$Acy`{B|ue2_|f>qaV>Qd9|O(PqueO$ww+BWK(+(FI@;M7QXmwt;Z`(RY}htuAMfv&(;mC{VW%^vUbCo<^s5H=)DzOZ)wkly4r^! zwVnZwS^`qIJ^%@W%_Rh4EaL+D=8xYrFo`i|$n~Q6_D|n7PyrcYQd%(Vm!CBk4_6Q< z0VCcK4pdZaE#%kaOR(U1E;{buItQN88%9ffDc` zhl-e$m*0GOAdiacpdf*g01bCm+(fpMW`FsbW%WP#R{7}D?dAJFf88?FO8BP7&yGFd zYfEzj=@zby4N?fkfHy^ulA_m7621Wyu))TeMol?TVd<2ULkHYG0h^YwR_~!B4=ukv z60Atm-+{{i&^2+K7$M%H=wAbixucdihA?u zKb{yCq?jH*dePX&l+gqSloZMc0AOf+smI-u^x?JvGE@=SRg+#{*I{lT`+*OJoY7`T z13dtSIuIaYV8IL+aSkv=L$4lR z*6D7`@G-0zS=N`j_yS+vzR0b&ul2sl#k@G5x;lTd&^n*rlnzi~nz2^6i2@kfn+lWo z5^XAASR2^hI!cV7-Ka_lMyAx*M!Td}Q48E{bz4~$z4l^zx%je8fSi}Gmrk;9deKl) zlAYE|$8s-jrTg0I;wDU^Hi@a=s-PGMw&kh-CE5@SWEl61f(s;GsO#TY{%!*mPy$AP z2bBbzfS0ze?n`-DwekH1Hbz^vy=7phifH>um#$I_=bmwe7wED)-X;GEL5x z6d z(ai`5$mCLxx?GQuF;9#scRhGl-FA9;dhXK=WFDLJSQ$BXL>WKn@m5dQ$IycUZVmAk z00x+VnMoCTrd0S5ENUOn#xQehbmQ46413~mgq|ARKx zvjx1n7wMv`zTie6wR(UPu=4F6zG<;1?tQu`Q(N=^GB3x9w&MZYxUjrVKc}K zbKD<_xDILybp@b+5mW1uy_JEdwg8!LYCT&1lL}*EPLj-xYX_8APBj4|mQh=Pir1I7kSFko`dNhAqS00|U8LI@Egab|?HtE;Q) zuJi75PMyj-1E1cJwu?U-(2FK4W@7>JUR%AQnQYWIniZNN<{$N^QE}Y!YYX{+SWH@u zYl9Z8w?c~$`XbZPrfk}}p@P%9Be7FV4c}ZouWg}y&BXfT%THQcfHWpsnv`9}?Ak); z3;0IPW&NH6e*-1?Xpe77G%Z>4C!o^6W(w_0JvWj0XG~j^kdI0OmB7gmP$VWHT9rh2 z9nSWNc?Bdmmw<4IwGvZGOeoQeMEepLiH}J%Dglt4lf20@1QBHoO;SUXjXFki5@2$# z07?L9Xnq1;;3UTbWz#E!WcCgyiDOXwQUWRo1Q%$@ivlWU{W!<5miB?*W0oN-Gp#tL zjl>6`u^=c-nFTG@`Vmh>JO)D4ae1@u4Pa0<7y%B1do&Kpmxs`%RS-`B_|PoKL#v=p z&I1`j-gW9AV4AwBr+df?782nyfw>$f$Z1r3Q3DNv%hxtv2VdKc5q5+ae+t?Z=V%55 zfg^|sVS-v}p~)*eC?6=rOcP%i&uL$M+&i;-v;*kyES^bTz~MYC6>XI~G$}wO3&zF2 z1sDRtydPzQnE=aculJQ=2@JC>vJQ){NWw)jz)55?o3_kUaE`P$-FbVtr3&PSo~b}kLF9p_9xrEKd_nU&x$BV! z%hFnh7gxSkUZ~*kY^~>A6{6&SpP_;CjQSHW_8g9zitHGHM(`16l4pxEw|-`}$ot#2 zw%HrB4#LudAwc4O_8oUmKoUrC&NIkwAJovQJhkMhR&E?Vfwp=@utpF&r|*NttaIgk zxK>{K{FJ=c76+xmSu`r(DFNWJzK^~@%c7p@qRx&9Mh0%)e0$C4IyN*1vDKbuH=i|US~GUO`s3HlX_mQ?>BBx)iQfu9(XXA;$K?Yjv@3xb z5JGd}xfA5k^ZS@d6xuk_f))AX0edtr+SS;xWU0Q^L*_H#@Ka&VvJcDxC^SdTWz8d? zCiy*T-fF8Pf7~2t#ZYef#G>v}a_trTH*DS%li1 zO+V3|B!qr^R1z~KU=poMn+Y^wLIWNvfd56)53|qEPbJzFzs>wfIQ#%c0EEDgGb~7< zeHn(;4>Sz@N&+VVkeG`CGJ%pLzyFe1DLy8NcI(=hY=+PgjY-N&88PQXTN3~ZsHA?5 z?Zd=X0Yjq#k(httrxHLJI?N8I6N4Hs!@tBi`?MRh5()jD7#_3(wzL)11gELLR%n@Ym-b-_Dpf4^-Q@}v_|R>znaWe z^1Fp2e|=S}UuFlz2|4FMj689~buBFtjg@>rQ2CyVh9>49LW7WGhM+N_)&(o<&<1aU zgrM<7PuLiIBm$D4bu7WMtarrUf^g3wc{Cd$vN=gSC$LscRK#_c2S=x<6ip z`ZKS-RF>4bKVQ?MRlp}At$MhR_a=Ey;EI+^UA-soTprJ$&bIQd-6&v{I2aq7fXUZ9 zNTF2$BZMOXPjG{n2(Z4Iu9c8iHq!%*%0-u5*xHOXg?5Dbrki(u)7sRRJYoIVGfy@_ zN^pXg%(&=+)gq7eEBB>m8*l&+U#1ex3UdxPA@m3XFhc-j_1)P1eXW8Sz;bT|txK-B zxIG_00UzMYGtv|pa80Qt@M(>#3M}vakKEsm1r{9RtD}$TPx_g@q>p(<&uaz}0P}o= z7y$drqMk*>lvHwrNx{Jvnhy67(&R zX*tzKQ!<2zm~nstjY^zuhckq13H+FGl#$?XQWiQ4068CM@O$TL>?lbCtz1DC+dFkc*M<+bHoLg*&KD#&1J zptTU-&GcXnwT>~{oOAx-Hhae`6(Qfj3ZD~N7w58~a0E6mi9;#D3MvSCAVVl~M2&Ar zW(dX6G(H-xP009|mH3CyLVy!_Gj*4crqdcB!FAiilH&^mF`@oi~3^cixIO2 zVMhqt(p;!Zi_J2kA94OY*Z%It1}aMk4tDg{mNr;%?BP0y-dI6^GcQe-cjP?=j5u`LL1S#QU|DnepsMp<5A?4QQ zV{+F6cbEGfeV|R5z2y$8Hs4k(cE<_U7wGEsYwBSAR&7%zs};pelL*(<8~Pwln_`i+ zN1nDS?GxqhhwdtOK5%EfZgmrI27CS|)b1PWVD9S_#2EZnzO|wW0K)INm!EAjRsh#8 zuf4K-eoJgIST-Q0?!sd4bG+A+_kI;IA7T@1?W$FK7cRZ8+{3M zN%41LI>;i19a>g2p9yWK4xA(jcK2HT27eUo{Az1kAOaH9hohzR%F3m!uJVIM&baQU z57Q{--h{B<{u40;0g^1(DaBWXfL3?T$KJ7b4LoRlG96Z&lmM0c11U*807@W6e`?OS z6*vML0hOj9sSpBGGRubmC*)}!qG1WF1XN5<1}V{~02MQ_fCo?spk$hNrk>NT3_(Q# zj{rHQotVcG(jewvZ3SAAPy2a~^7g6c*7$m@0kgj68T32m9|(Z`vA z`ZQ(nQ!M1H60WDwt;q&%xIMZ(Xe0zIlzB{w$&*^3wkz~h> z8THT1M3R_yY!g2vrknDpB@>daxpWlnMe#Y-bIWn#-N;nECfBTRB&|rmjC62U- zPMd&l0hI{#_=dzZB!Pkmd3gdV0h{=;ByXlFN894qU-CtfVkU~IN7=crYhzl)&<_A9#rX8?C zaEjx>w8MXbCM6~t0Aorse-_ufKVKLADxk-Cf;!W6feGyZQw5>Q@sxm#Kxg`KJVIRx zWbo6-tRI3o(}KYY;ZKPB4PyKz$eB!BL&z^*wW|4eFcZ+2aJD3{vLbC(Rc6`{+oCO^ zSA`#88^P?_Ovh~|kQIHM823)1NulKd9f^<|*Z?32*Pf8^_Q90od82^}%nY?Jo>`f; z08V+z@O+Lbn{%j$qckFbBhGNX^nLmIVgw@w?aTy{kGUekg}^j8JyOdNJWU)DGkLT{ z_v={EKm@#KL%_h{mKFodfCp1@Z9xK`622u5J^e(RwR2;IBfvq6^2-~3Q|_+NbjL&Y zm+Nl7rJVA!Gs^i_{Gx%$3aaWlKrXFyd8!UVK;_O_*I!g&c*eOu8;vNO*f{FtJ%JMS zv#1|U4~JlRyibnOTR#4<&Hmvm%mmXHlLH>0 zvJR+b9>_T`d`;W13;MF$2OPZL}Y&s_-|U#}7eXzik~e zh=UHtmaSS^EYxPfwg;bhpnkdDUGuD}=T^33&%E?>Eo1qJIblmJ-}P&1Sr)^4r3ye! zlUCOKWx4(CTgzov{i0m@%S*~N*IiX^y!D0#We-2`V0$i8Ki8~h7NALZs|n||wJzOx z)ylnHi$uUN84y^&iZBDipp0X%KIThXKO)cwxqOYsgy8s^4g4i&RF<{-o7v$W>R|h( zHh7a+XibYq>Uh`gywE_UJ323ETQi4ZZgMZ>CxR+%KpaAcj=l26Y^DBLEOEt}m7|)H zfJ%IHe8mHjuEptj0#flwiB^T_2Yi7_i54ur7%>HT|6s)V_-q7D;=2*k5m4ceK`5K1 z%+$k-15Ws^(3~*sG_%f#*~dP|TTtj+Ohq&h+6IhdX4bI%k~+9?l;61e%AT{BcKC_M1vAYkw8jTO^$XYAmcb_*<(D%+zDmk zbP5S9q3nT1We6&Xp^~Vy%sE3)8Jd1TLgK6h5F+Gv1{K#2!{rA&oXeEpfQowrPy!S& z*Fe95WE50Jpv3Q;VFkcA z2QK(MWHwG_(?km*5E&2>;Eid<`8bd=@%;F#Ge;LX+;@SFGOd}B01e@p=&VdTRyhU` zV5NaW74|VPWoD0KG2IZ>gtX)K11JChjDV_`cO0i#$@)6XN$%?!0^e_dk?E_pzN~=? z!OCG4gb-qhml7>PG%7JMG+?Q4p^oa3x=LApB+kSE70(pY(9l#9M_6%Ln(3y#2k;ia z3%uEPEVGz~CZdGoZxHu#_kqatK?AWsSdJN7G8@7m16F{`4tu@0G5iQt7E9iP5b;2w znegms6T)9R0Thr&i=kaO*D?XcEb~JB>H;;_-u&Bg+-W~-Q<6bTX8wq&a%cUj1uH*1 z^T*}P3m2D1YkdMLuhs$d#X2xD4bi+TzU-3GfN3-+>XJngnS0bxeFR@Ky;@!512B2- zfQCux+TZ@V3hzss$%7_=Q09*!px1+sKhV_sG%fc&ba!*=be@3n#U0Iq-@dA^sxUDB z!1?8}Yc6Xb_&hTOElvGG=Rb1ygZH$7yUmzb_I$0g1s)C3)?L}y2KzUvFnnYEnl`u_ z#F>Ao&RP+pT_ppo5XAwXe5!rlD|LyIWniYrypN=bCxy>F1vwH7mJiX7WS;yT7_-b`tF( zcxM6)n1dJpgQsd)-nsjN6lMl>QBMFuNHPb}oM=fkE^(H6{L`!1L}vN)kAwB0YI!N$N3 zW$2&coa6ZoT%=58Zs5Wq(|lpMhX56`ibgalOg>4OraWAX@ITV11VZ9-5;M>cB;*SO zM1vAYiHQgd#6QJ3KoYQtsb}YVrOf;W8=0{aN8h0aWoLj1_{8Zp5EJl8zC7!c3J-hD z><+lCzCfzNNt+2Yw}<4PG2*-{pR(udH@`>Po!Z0j&#G|Ip11B>kL2-Zo+&rna!Vb& z?kZM!z2m-n%iM(vYdK;E%&%Y9r&qysLw!k)Rsr~2Iq$*?%aIji=Ipm$y$9{lw0iHk z~#_H0vi%>r6yDyFy*)VH)pZ#16>?fYnj zgQs73u00nBdFuIRYrP+7zB%-t+JS<%wFiOkw6|`(zz>mehgpwYOH6XR4ri zqW*s3l6HBPfxQJ5wuZ5T~UGu_pCsk7<8H{NzrVP}8tWzYX| z0}B2<&GEPn?&6J{d*ONI_IrL``{CNM{$0V&EZVlAX$1`S_dohTE$iy~UpT7G@aa)` zdt_EKBUZiDosjtgTz2)9W%0!qG{N432`+E(RGw{ldp~>lN$=(1I&k~S6!T|E{oe^t zcUgT;&o*<)rusGM+{?>p{Hy}Js+O^&g35>Od<5?!Pd(bA=hCS8>gJbY7RVz{3UFwK zR*#|K3tM^Jd}2MJHMI?1Yy#`UPd{o-zwu3w-?M>^1P*gAek#$N#J2%7sDEOYxK{nd z?D*)jk86IbYs<@#m@utEj9norT%u-A|rXZW$<2O(Nu=W$J6|8*r?PpDh2Vh*+O+}x!U~GvPtKRmt zqvN22)&!ijpl@3@H|>{vK0dTVmOjW7anGG8+|igMW{Te+F1|c5`NUL|egL*X$+Is% z(=>V@o2in+$0#2kY+c*txZtZKejxO}GXsnZ4qQ-X&Y96b#gYkR%j?9Gg((wGbrM{u$GP4~|Br9WG9o@c9x)*_dbo89NJd`vDb6z5qhb z2Vw#k@l7H4ZCiy$Og65MAInht5-3TYVVSvCAST)p@F3+r@&r(FO}06gG=!S~Pz$GD zfhhOLzJ&{;4U*T&viw_I?>cLa*r$QAYlj3WV1Y#~<6;;rLTdZdw6COg-GsS2Y0} zI8Y|7fG_Wu5tQSr-1XW_6xK|)RnJw;-{p;3$M?z=zxq`<;<)3=sb`!~esj}J#Y(yN zJt8VAGm5F0o9i>aT8{hS56gKMT~r6dm+BzEoBo|z*6Ic>%Jp2P@p_gxu7ZPT4J3d7 z4CGz1tk>1Pe4fiQsh_$_@xRGBIj#o{F_mORXz#*(z=O7MjdER|$g^pC*GF5@z_K1o zq*~LxU8}u^v1%N@{$^8P@9R^xmo07k=U;qL^J}{2!3U~9daX@MHg);2CC@aii|Dmx z{Q#Ah>%jOXTXY>b1#tskp3ytYlyc7lEUhnO_K&)6d|xb?wXHp~RD$|z4*}tUt6ze`D(Ks#0crIx?+v#olDwvqT-5$VqZIg zzyy8MmzkWt{Npz*oWKA6**`z8^;uhIkxTlrc8SmpT*SS@6zJmmvc_t%CS zHuuHp2>-<203L)NA;w|V3@3RqVjfcODd|(7ZY;jaF^Cz&9$g}~K#7K#GClw)}BFr5do{K4l@XvYM{0?9Ye@7dW2MDMH zR+>g)L|YQzNj-)pocxa22TTN3q-axyAY$Kf`DjU^Wl4jkEGb%_+$Z-Q-gEB41r1bE zXX_5R7j4xkKlw@10uZuyJ@7!=2P)HNo4F+K{3-yhYeE;uoPWtB<-o%auY!D0+5g~! z%YuUrs*tjO%{Q;zi#EeRNpRALeDKM(Ht-v$!9>1n30Z*dFtWonow63;ideTD|`tP*y_OK;azGQQAG*u zOkeK6v#AaoUsjkorS?aG2lpxmA9-Z0+Y_~pOX@Qius7DSmX!-HyKDsF_HS*w`9ppZ z>l?HH9`zu2nKWnv2sd>mgeA}FH~8Z>Vr?4&HRnJ_){T+RVvF+d&rmLy0~nHLBjBx# zqivL7^S8^f8*aI|IbrjAieC-? zrweNzGIQ*aTDJQydwoTDwF=Fpb;~p)S}mtr&bMX?0hL$l;Fz_10IU0VcwE!ozvnem zN&UPh?;8lnr_I1^+6`QpR^1m`>X(GJXH&Mmq8{$6y|lqF z(y@N}VtrOod$(@4hRIi>@T;C(tGBkbV@!(brYztSxYRbDRe$$RJa05-30A1xSH9T; z+9}I5@~96pm=&YbPM%9--2C5MtG@c5q`X96)^_?8*lU{5D!`ZznNIjN#YaUbdco}g z20_NWGYlRU0U7@X*-OgKGq?9x#Ufa|0@<=oZM$6z7^xd!>Ed)AgCD25_0m#O=B1_ct}|2>|n4-~*u0o@fv72U4^d zfB`DnP&>=J{i|)Y{vR~IlaD|9xNP0FwXAw`RdbYP;`#iW&)b$3MII|B`@Q{(?d97) ze_KIiZ5cOtT>1O&{(YG=ZE}T`8UIGHFoYCJ4zfJ*JLdv6;6$DTmfeHD%QQ2At)Dl! z%__3KPy-c^B0_DV)DHbr5}`Jvl$#7S9m5I?!66V5fQiOJKIH`xoC^fycQh=y#}I%( zL|`LkoMX2Pp)2+CzC>i1q~< zv?aIRbyxkGyQcxmuW!7u9CpkxO$eWO+G&NEgMcP%X;YYmTnAKWR)EVs^X9g?n663? z7zp3{=!5dbAHHb=e6%5%sbKE`Hj$^?pY23Z1|Kp_a?&?=8(grR|(kOUY8Xvfc5 zd~RFg#q)Ef1RU-`7|Y{czB*k`$V52!+V(r<3UHz=!5rZNh&rUKYXde2*|c?QIq63~ zs_$v<+ApTm_T8^OoAA;GTVFF9TN~~(Z(h?nF^l=F4c}O|u0af7Q5RqK*3~)cgyWj< z)CL5Gdl87*%?ulTf6-xwG~m;Y(Ky+9M(y3#vAMFfgK`Ns?PjYDtRPHFNq7;8u5%yn zi({;Ib#Gv!O|=c7sSesmeY__EkAUL~a^T^IHZXEb9e|-STO5@tEaUXduZDjQA0EC? zzrNx6*8ZU8)i+kQ^?hho_^t@}CZ-BV0V}2_zqE=Lz!cy9-qcb15v=aZj2C!I|H%~P z#D0+ob9DqBS%6Y`o&j)Zf5)_K9C!8K0HN#B4(_X6uK3l}?O7emY$Wf+ebi5%X14Nv zKm2ri>xc4m$XMOVS8u>agOjBQV&?NKo=KVNpUA=5SUuw;F28zuui8dF3nXe|*E{AJ zdOv=<-P4D~zWeXj`nvX2=iJBnfSa#xus}%iaWZ4(x3}I@&OGmD&FmFFk(dht6){&3 zmb4iX!AF=9guq7L%*t^tQ&TuEWaO_Pp9U8lz9X z>gySqhMo0_%v$1u^ToGcHh&Zj#m;5%#rW$8a%XW(t0;@7Vx{b8O(LfQA_0{lphUKl z`I!(y83IZKp->!5QYSvL6Pd4M#bO^8Vr^ORs*x&`5KO|Lk4dHGXX$=_!^8U z#MU(iXdq%sweCI!_{5$e6qp{|gHSMdyQcwM8Ol$YzNFpDZ}ku##I##xH8V&I_Ud2& zCxrN!-2dpKci?9O^%y6EIFx9q%lVjew zKIT2q77<+9U70C|kPNselOS}xc8IX^<*)Dke}DTo4Oj@d%=jTNmsKIBEDpaMojD3; zwP{Y-fW>`Xb6*7pa3X3g6Oa)4uUDZ$lfs$yp(-4oU*6w;{8GHDn6vUO)r)YAhQxF0 z15&__(DoknMX==>$ARv`Lk?=D7iE3=^_T6sE~MXX`L%5{9o~&|+8FeK6zvos(oYk^ z1;nJ?Xj$}0{azhomh@cSN7hqPAHS8UJ@pCg<+)8CX9jamb@9y3dsoWxf#8_(<@X+G z%K$FW>L#5{tz6T~^(jE3e(!JlsMW=D`F}}#oZ|NpK?qhXm}q6u5ooCqRAO6Q<55`mK8gR2&zKt~of@vH=f4 ztuDZXzlt@A26zL=d{PDv1HY2{tPo2UG~*XhuK>4FX{tQ;<9~2=a59 zW#WmJMm}W$l9-49j%ytw>^FVzZiA7Sb^>AA2vmR#&!nA!o9B;dj>bhBMWYn>aL!hF z;3H-_WdI`O#iZs~OhnpzRO8a7)30dH>=`+K1GPBJdIn&U{Vc|q8BKj^a`(^K+Lj*p zpnO`Nlb?;L*dPSF{PAD@RKEG=Z_6iNep>$JfB$Rw{v-Tvg5=e;?uH(ZphGrdQ z_zEK2oQny{z2i{p`asVRegZV$&u^v*eii&IF1hl`I{5s$TzB)$O~Z2ORae!oN=|6^ zG-ul1-FauzxBwY>nKTIELykJCX;<8X02G+ZAWFCyIAeB+TAZMf45se4YF9C3I+0w7UVE zpaEMEg4zqbfioH>T9p${J++p_c@S8wuFvpdGy7Pu+Z6Sd+aAmb#kVDXTAB4AelYUDWGHp1o zjl3(*NSG1WK+TH4-ctmyduk)Xl@>uCl-vs(5_)+j1mROlo@=wmEMh5oaRLbf6`B_9 z2~>_f<)kuspBd$XD=sZx{PQ2m_HVu{U;d9jmiOu)BpBQ;uDz;UedG15Z$x+|!mxei z1W2?OUlp1H(5G*JIrZ0Ggg3$MJ!ers06?2U^GFk=J-u_+DN`BRQXssTFH>gX?$~-} z?FdrTN&U1tsB<6v4@5+(;X2O|sMpuQ2}tzLyk{WpUfNx`z{7iFwu)KC_36{{#2+hW zJMCes{Xhs9@qFH`b3ZxztOlp*CwVUQmsdGd{j?QKDIg^dvV^@TytETB)evZe8R16Y z5tcLogdvc~OdR>+2LV(72w@q`N6b5c7^%-p^P$ttJ~8ujf0u413giGMjd1$G$E8i6$5vN)0sl5Uffk3~b9g(yHu=5_`v*H~o-@Ee; zXqe>9{o?!L9=7W@Zy42_fE55|Ne453hR=}a(2nwY?mTPO0pfIS$~EYS#sshkWCvCp zw=ZstY1u;O(`+!qa3nSj`=rxOF1wGbe6Z&pZH$YrN#ycSc1wwSW?YRtALf-DA3Lf0 zsr0GOW82ElS=@=KtI1U z9t1}!JA9Djw;y;2oD8)exz`Xv0v2hAM`eAa{x2>6?S_^-{!fmutN`QlB8e{D?@00ap(&qd<|GzeeLCLX#)isFa8vP6yWQ9 zYA*s7pm?rBk3O;q^8l-U6jNW!i274B5?}&wDLZ{OrW@^(8Dg%9$wvRuKLUxa3p_-# z5MGF*vnrLF2bB*VUnbbYpQ@PRLsCS-OKK~V(62H|M_yp=>LiEhe zc`nE7$JD58{5MiJ&k?O1RX;6+wQ?lFolqm}tlG>^CH^M>CH^V#OOXi7Cg4UO#y)@m z65t}Ug#sWsW=pU}(8ke|_JzqOCMUu;`|2T&I!Cwyoy1LX&j@1Icpfu|XavAX_YK+J zz{Sj#Or-@C5)+Lr0WJ8REoh0hfS^`}1YELiPlCPCKG3GP$CrQlvdsumW)s@=o&-C1 zah=&j+8T^#x0rdDb?j@Stcos==LH=A!*e>8nL^GuLEAIk5cCS_+p z@!N6Ew7ZSlqb2?+QUjHt>BrV!>B~PijD{h!6dF=^gn1S%99ATdGK7&-DtTgpNj}0n z4;Jl=6eA}vK~p|L$JalwAp{M`;DaD>Ey&21E1?h-H$f@CWKcDj zyQkjJhC9;Sh5N;ZBGXK!lU~@Yx{boO3*1mYMZqmekLG@rwp29F4bB z=%AI7Kn(MlEvIBa!`}zYy!yI9mY>Ay#mph~Ab4nk^miZ;{~2{Ae0=#5{{4?LzO|L> zv{fLApd-i#QUWHfDcs;_(Mf7(OelV5wdM>K`e3@St4kIBk05aRlnlbo}! zj6hR-PLu^eX;;)4MC9I{*}HcS{r=<6KW%;8GY0nMRX@j5rgn&#DOxngqOoy**Ep_C z-`VnBy>@NWK!|9}ahB#IYZdYH5b!P9koZ9mfQ}J(ge7>$l-hjRXZ<7j0wnQENunu; z@QqIjNTDrZ4pK&DrN~eC24>`SALl^|pB2}{2ZpA=eQApBdhnj66(Bg7T?kUMdc+3- z8wuPdFlTjRUfk$QzJ+b78HU*p61E?g%O8hr$6Jy0p7?7qN zJ&Sf2I>dSo{yRX$GixK~fr;mi$x9jDm-F()A=i6R&KH09s$J*ZX%lTHAIOPDMZ1F2 zO#9wox_$)~QI{Wi`mwgCrs&KfKflZI^;7;hANJTeTQ*h*WLn%>$C*!Rdu(gx#S&_8 zTl@2dI&QyLVOiQ<`}3!DJleEH46b$M^RK@u|N4LaS37=D{TTU26K*Oe>{9vQJKz6a znKHeH<(M=gYr_YT|B=Tr{|prnI|E9t1uA1E;)yY3*Ri{`g%2ODP&lel$*dn{A8PS{ z$q+nZI*Fi;StG<0s0k26=tsB*9-G*zD&7rms1JUA{^UiUwkXJ`(}|53`YMX<;OGd0)h4 zrho+lv@dr~hy)X%%ZZkmhqi-Bgw}vyh@Xi8*I@0K-?S;}p$-OKDFeRx5Ih9BuS$co zYt%Iwpp@hKS5`UKwMjta?gt-iaaFc%+twh3LoM?Ue-(L5^=1OP?CPuAG1?d=BB0VW zE8P*2z@#kzA?g#q3+H2U(hkfL>XaEC1dHbZ1rfl65Gau!fWjz8^(W%}INWz3X`Wzyc$%dPj`)fOw{O#4P1#H8Eqzo+$i_tK~JG4;>}?gcu* z8HZ#43BUq`9rug?SKHB0sVfI&GpYD`c$R=Kflt#1a{QkHJo=+&S7#ugt(5~{^i7V; zX;;6M8Iz~>P`3K$@7{s_r4OoKG>M5_^ZB=5H)wP(@Z>t0AYkHM56wZYbuR!OXK{HY z(CC@trxoprx_I}l51@GOF@xnjy5{Zoy6Kf*^A&D-GJ)kQobcmRORGYF0Sd`mn-NpcP)h)QKnhJsR-6Vpgf*cWXI%A*X(_XU2y(tI z?&Uu5opJ7o=bmm$AJ7aWk}4Qs>fs0*(@z4JfeN6)_r!UACefS#namiHp9X=`rb&?@*WsebaO#H?F$fU)*$D5A3E1we_b;t3v(|jx}c=r-)+~?MR@m|yhCXa zR*(W9k@rJR@H>#=coYiasPIo=`mvVKD5wlqO{PsrfHxQ0W(^;O1|V`%0zDuxgp;9W zBcKw%33LQZhHw&a33SB7Gc3!w2>o0?gap?N@0SMg+qs;VhWBx8o+Why7}11?gCfsx z>ayd$Ze!|+1}0FJdknQLuAerGCZTkmH)H8nE>glUqQjf%SQCIs+9DFed3V8`1{uBg@FMa1d zpZ*~~@G+nR99jS%lWDrtC;=+q1=Ii(FvFzgIB@csho>{d3l+0z=AS%uSsRr z{`1SpXPjP^tzOlfY1h;NbW;^@Prmeg>$m!ej~6CBb?hd&*INGqdrWCen)(QnnRiSm zg8z$#CIaTCow@NGkz~|5G5epBLX&l zECiq5sRJQN%QN(OalhoZ&3%;>Kb0I){|H=hW6WaV2n$kx0&s{!Yo-m`2O$BMEWqbC zf0M*lp;d`?B~y)K28n}h%80|R`!NOCI_`ScyuW>GgTnax(3EIX_0F{9w7E74glJ!& zpv?n;ARz(#0v@17n|cS)pnw(Ul-V>Vo4fO}>m37sfH5m->j!b>4fMztc>VP2&&wbF zKqWFaU=mgsDn5p+Ag|-yt)$QTnJ{%y^G^XQZPt&OD6}YvNE`aG zMLC2ZQxIUujpJnNCN28vwC;D}cK{(Op1?tl549{YuS5$GfEa2wK#~UtY&afbOa38{ zL~AnC%mhRv_YABAQfxDGC)yc#33UTuz(_vjxp%#|Ku6n z*%NSp5MUBt6~FD%phz?)6Q@mU0OK4`0W7WsD!{^v2N?tdA!@KDBu_u2;2VDj<_%c{hPD$DI$nB?Z7@_6n4#m*c*)-7kJj(Nrl%y_6}B`qJ(Y5~lke zb;7abti|UQv1A^3>ZxYd5mUx=ZRWEx&l3^##s(+=Mn2QNIU#dKHnkhb*xv9vA?mMh zKtW(>pQ!W+3Ib5d%oc(*utA7{3c`e-GyR)zC1|uc2U5ZkTo7P!6ee6<2ULKGG*>j+<3ggC8w*92y?H@~Z2Mg|h=K+&dT)o1G>Sue^p1mf@R zzOx*7^buv(344|q^X8N@7N1i-;N4#bN7|J4>R|j#6-?>tme~LogtSDcjtZj zujq%4Yh&#ezYEXGR0W*9cfK|>B0$zN5X{;Ofaxdt1#Mp(h2!6(OmM3Yff;ZFn!Tqu zC<6p-1$2O&elMTCB~MJ6-iP*#*3&e9&qj+wo1;y&JLpj+fK0!2&uHJ&J(?3*q<}3D z)3;JD`_anjH`>Vk)W@}sN3;0WJALLz0K-0ELmNVyV%ANY-aFz`LO2p``Kl+l0t>@L zKn5@ZDw(yStbExAf@0E%=|&<9U6U!esYA+9FXz-Fej2W!VWC|CJNmwP{ovdQpyg* z1U`naGz5~|GhdFwYokF4$OKkWUO+2?I+_;cIPYBQ>|6&LJ}up>lb9dCgN8){E77ii z5_yx)IZz{COh7S7xxYc*mmlE=NC*z`J7`EG`vz_KX+`2+GXw`|2r79tDJHDpv7MnN z$#HGr8uxWS?@=0-?Y=p#FR7nxj!kW<#mR;C$unyUZJ;f*p=rowLCGW8msguQuZ^^q z_B{B=BU-%(OoEbnpYWpDu@3<3ClFf#k_9RVAVP<4iLLgg4Wc~)7PLelgK5myxN94;{O$Y7|-arI8FoGOj~w7?eOyQSDMfw=ws3$r~)ch+>Qe+=pZZuHiQ;U zfPG)#S$B$dBfvqhIu=bqfFwQUm38l~ZvsBEbF?E!@ysBDMn(I^FGzcOMtKwP4GaeSGNsv!A=k(Mg$XYjv6$$b z3xK+R%s{q|Grxfj@7sN7U%JMOpPX@KNrT+<2VmkpS6}z5=I>FRR0gNng#`c z(2iKIZa=OE`!8sk6i^a?nOnzO#{tT$DvxMatY-&OtkE-e;=iA2Jk+cNREDq;hS>Qy zAC(@Ge^OhWnKNzEs0<_18f-G#2e9lMkv4P`A_{0Y=bC^@pddgn1QaPW<@%)m2vnp% zLo_c#fKgV;i~}cnel8#;W*c9kG!dLK2?6&rFgxd-w!VCUfaeRS z1U>>6Lr~cnN|JYH?Mj|K&zX0X_6rc@9oq)n0$SdSbAiG1Gv~mHwxWfaJi~jL)t+C> z6mT+TB1+d!^d;|3TLWnQMBf9<>auU^r>Teg5V(#Js%<9K z+Z#q#wzjpnBKz}=xBhNalW_g5H;Pl ziPen;fv|QDbz+`S2WAeM7SHZOM|(LAA!Pv}nig%#_e$Gq zFTx&#I1dmr!09*4H=rm^$5MPolnn@s8QwMUOiUkj1SdFKtjL;Dsn8En+VyV?+M6=>3~r5n-Glo zC!nINIP2PXe}YnqCdN5+u{M_Q{a^$jMDr1!l;$f^!6K{vCKy{FB|awcV__-+9hn6L zLgG*xAC{PeVmiutKM4pI-=2*@<2)h#_( zp1eadk8_SoL#U)k4(@!WYW z&x~1hJg@S{cKqZi6;#GGP>F0E!pVOGDzVl?84^WEKgXeV&wmdpG%C@mn3f!kN?=6_ zs6?$3P?1zFH}7A-JJ!j`;6Bu3By|C_BT8(p%a?gTC0dz4%JBG510v55E+PPJ4Wh2k zbrH(Bul?kSK#sswp8$|!sdr!~g4{OG;9Tk#q3t?l8GsKs^pFM{gfI92CPR&iG(1nU zA`d}JOAw#|H-x16`KmRr`>p;Q5(5JURbR0{#a4X{lG0F1GK7-9q)mwsc20XK*EXP% z_Ll;Q+0VPRum1$%a-YCm>an8_X?H+Kv*jJq*6DZFm*NWraP$vQ(VdTX-BTE5>O{Uq z;Iab_kO}lfL(bx?e*3Y5pIFnO#d3l+xMlcok30S!XjfCva; z3IZXtQy{}Rkm7u1#i%o(?%qr?`k}r`NCOJcKtR*lXa_*ZYy%83qb>d$e4LCq`lE3Q zC=u}L8Q%}}iFt*#%=`7<13kb)y$$Xl#~7!r1MW;tt^h7N4jado= zdH?DaaFuB30E&CsGF`=7rXRXz{F$_YeAfRV)DJlHz+x>Gvmj1B{gehMv?&ruiFqdR zN^E0t$y8vF;JB1)fCRW9Smklt`8b6pKY=Q5VzxNv`j|7~=qYdfTa+79mHk}*Z>CPK z0aa_7CIdWx31E>a$)Ll`ocNPOD-sityprqU1PfN=>wYF3QY6>K7bfS1PPMsb;;g*C z%`yxhHaGwav>`MlfWq+vb#u%OC5&K z5KxJr4U7bKBG96BiQqO^?tkz>4M3t9v5ix0%s`-oaE|W^C?RkOWBb6xRA-&ey$tL+ zBOw>ZM)e}_{2rQt0v!R5)OiRjffRX%`SUzOP>IGNS_(;>(vIGfbNQVC84*97#^ zx5iD;kGgrs^V5t>nl3P(KSK}x7O0bF?4(KM2V=&Jf(*FPW*v5BkM_x7pOeymv}fK| zKt-L^O+QG#@L$L~9rnX){rQyV|3pif=XcLO4R8GDA6g#IsvR8XOzN6^B*^2sI6BK` z-@8`dXn9&dxsy&94fb}<`HRc>7hPDa@pJNNr?&K~>wSgYQtq$7V2vLd6{{#q8|vVh z5c<#6uja>J=#h&-1c4nhRA!ekqhuO;%v+hk1sv>Wn!0ibVtIgoeq*rZhm#plW<42r z)1R4F47@Zt%9qdmXdal2ybI^EkfnM_?h788=BNUaa=c^h4|-@m)X_5lz5ql1p8!x@ zfEnP*>?V+??ipvYCXw?@K+bz_>A$x6I^Y5z@~I!~l=n6q2iwAk^&B5FrZeUs{u~Bu z3$#s}HKRi7G4-BTHa`UF|4dmWP-7wpj6^%qd=jeQB=j6(5(t<8iTJWG?f6Ytrp%Zm zvR;oZ$Z!oI?VhfUmPY=7livV^nJDo=+&|^6dK2KRY?=-UC=8uqfr>aNJpdam#}1#A zn1-S~Ntk@UK}q~o9CJ>7aaZ`cBtJk&`1}NnOE5SA-@t{o04g9PQEKDhn&*v%#Wv@n zWzjx~L~E;UVvdO;thNS1+A5|r?Zqr-3iNe1-_YLqMVDVv&beT5^WBS_F~+Cw8k_xR zj623_{W#|TXnes-f_U26{_;lvH8}BpI-C zLuojuhmryr5d;C8q(DXhAi$6>*pxfWtWI!*jgxo_@zkB*#>5!S#X^)y7{M@lL99( zOQ<(N7M~BtbX;4%10i_^`)QXUq{O_Fl=jK_2w!a%NX+}ryY!BnbB*8nkUo|68EU*7 z8@}HTIeI2~f-V+xXQj|u)9`e&d9boM?PFdOy-_fKE(TbkfnaLST5WvhdG`>)7v-@A}6@FKr53Mat9J#FrK|KtDk zU;noJ_22$Y`Mdx256yPGuUTPrKr*F}_x>(>?A`_|!u`DZm4CvIPb&)!J*XUh!m;JV zx_@yU5YPF=h2{J!eo-#G`ik=ND=uvs5{W?Pzmb4y1S``Np-v+LL;@|eCLC%BW*QFX z;(y^c9}fMB0H;9#DWHNsiR0Q*Kc!7dWLiKV56y%8fQL^IfXFJ-!>QvmFMx*GEt)Ft zg*GMrCxC|Lgo%!JOT9cRn2Gj?2E={chc<>*#XDD4)>{H)z=nn;eb)Q*?!YD>3(NpM z_fQ{s)BkCS+)DsJGxn(Q3HKRuj4jjZ|Jw)4{H9eg^CO@_7)mrK5<%!Xf>a`G<0lf0 zM_@uCY+ciRMs~~~lHZo#%}gEF#(zSYgsd{aiu{t_@t?@PEl7#^B)&Cbe`IPfNTAUO zfH27jQkI!G&fBM50U}^S{%B$XB>^2NnihGOj+EotOm_xDlCo1yzjkwj3(wDKmi8mh z2QXsR0WkbdK#1py!>s&)KoByV(W4!i;`oYK4&lmcuWGZn1oaay2b7$(`0Vo2bI&Sg zoO5RVj~rhPJltf2ee3^!$CwzXHl`cMd1nYJk*hRI~7djhR0Ke z%I9ljc(0V3FIbHok{m*W>xN}zuo%KZ1Yv}s-+>L+MGy}KZ(t^0;lq?NW4buOR+ zT6P~#OTnZGwELfG_-^tH`di+=L31a>L65xfpnxLl@%vfQd1qRB@G~Z}L00O}dJb+U)F3dSuGl=Pj znMJ*or$2+O%=(FgE&$=6>psyE0Tplo7?{1XIyRWn7V0m5rm-_MQNL&0iDpjQxxcc2 z5z`#7OP#c@cj!3)mITE5D$pOcb$w>;%SqpRAJc>u!DhW2f{;)o{3A$X0*a$2!I)6* zG0zaF(Yy@JIne?Tx~>Btjscaxi0eR&-$Rp82aoQgON-)MG$^TK{9fekbza-RLW-6n zz#!~BPyrQz6X!q$C;>8wRy)*^$TI{Q<{c&^=amPFXjW)y5~bGGd1bri-48m9(2M{T zV5L1I?UTg?|MWlq++vk@ZvH;Dg6nBZ@5t;NacANHD-X!L;L?lQd*n3wgE7XCnavN$ zy9T83(U`lC8F*p+uPv%$w+R$|T+W9mI04s8JH`iNNIp)TlP^As#xK7e_rE*&N2it3 ze|lyE4{$PLmefII&in<<^s~>t%sbQDamNBG-KS-C88>N49aAcRv~jh6d`7MtpQ7k6 zM(oTE#x5yiV*o6mk`VeprA4OA`aS`bOhq30sJKB2bJIYG3TZF{Zq5%OB!9%Asym=! zU;ZIw1tKCKayO3PyAW@alm-AgMk*$6k+DR(JD&XFa1@0<#ioU@jLzAe?r;Hv!8eF z+Cabk{5N`k==~+-`K@j9e{iqi|8P$>+>!rA284VNGys|~zD*sRQ1=CW+iT{G1}!}M z$BzVNa=-77-MvhiHM8u0*uibP`=s$@+>E`-%mwxN>%cjoe#Ot2-~R`$@eZR#Rxe|P z`$q$kcFO?1Te-#|=Y1LK)1Zf-m%vJJUfP6T zzV_pX5{FnI5>rEFg2c4r7{MFuN=!YraR}vCl0^q&k_fcO8z){VCLPz?&q9Z;>5ip6 zV4A!U+OMoy-r#1l05i zbB&zh*iWX+E~owU^!6^j!~G5vf6MxD^BRa8di3EHIF4#y;<#)1C+&Bjao@+L@vie zQ|~!{|2k$EH|iKPdu{_2$0X-FsMHUY@!dxymX^q5zvF+BadyZJ$!F}$7}jOJF$&n! z@o4h61}cv~^F;Y8Yy4!!kAc!a8&C-mrEn<~$T0(JzVuYaHbOjuR;Vfuk`z!$#Utzt zP!X_F%9i|&kc_~~{qmiPLRNM>;M@F_;J5;*-+Jx~u-wWzK>f zpu%6nbMrY)3!`50gr&&u>UAG?<(&<(GK~iFzEmh z8Wr$CgTi5!MkW3|j>|)f;v9b!$Kun{O-1$kTJ~-eYJZ&6iCHn>t?K`XNS@(CT z$9JiM{|Dj@Oss>!)XD9ByNn&v-j6zh6KYw{K%3GBgo*8aO{~vkYO?iyCd`=H7ATy! zPyMgdL2`WkdjH;@yO)35wbp5RA55hD&+hW`s=^@FYR8mA^dBU&71>bm}CfdZ~|KHxc}bKGMJz^!P-xM{(t}G zKb0G58Gr$#&|I|X+9QDp!Ow=x97TInSr8){vjLwr$W&;s1BCnrFElb{_Ru8d{~u`6 zM>ycpl+gG{K+AKO(k{`~0Iy7CXUcl)*{6EEj;}tg^}VqPwqs5@u6>Q4aqgK-FvbrB z1TdpSJ7P8sZ2-6+T%T(}+WPd`zzMMF4xHV=Q(l16oM%_PRzbxo*?sDAoNPf6AssW0 z_Az_MY?K~(dew+8QjfAr`>^F>0{z2QPG4*6(PpAsyU}c)4Gkn{LBI!?2(ZwCfDu5E z7%G_=6h~NFa56L-*$y3K!O7Qu{<^`4@*Lx{!Y{=!=Mqj|>ROq;Vlfc;@{iv%?a7O; z3eaYOQ(8C?wpX-1aOxSSSI{s);-Kb3#LNdiI*c2)X+#bx9HRRKhb}|>4`%N-x0!E% zjN@|``atzDYOLA$<0segYeF5TC;fXDjGX~Q9W!3$ zBg^rahoW_fGi?Wzu2K0nppt-Z`SP<35e*0746csn3o}5Hfh-^~1Pz&JdE+2K;F|zHTFwql&i;)W{R~ z@(cl@2y?d!WZFOKBFs31Za?lY+)B(LOU?|kS{LW9A z34Ufb@ZnTNYmu+qfW{D10vu5f-6@W2jq7F-| z(Em7|15m`5#Budf&-kKbRu34-j2`*yM}xx5<9vR{WCUWQN%h(PsS5Mm>;3nveQM7t zD96<_VfwT(#-FYARjJP|8aJr|viK~uJa*YxwVr#;1Wx+$^UM_-r|h$L&96UdlZh2*_NdQL&)0UEUfc2e z^}nZ{>N`Q8zC(Hw|gyjoWY@%JyBn^6}YJhdtWxaZp{Rye)ay&E6cNw zsdXP)%W|D^$Jai)hXKT3qMZ6Jx6pk)cU?=*SeOQPTt#4Wc z)54fH-gavP#C#a}A7o4*yl8~FU>5~;Y4cafk^sz1v_C+l#nxHQadl-`&q4O%&1L1f z*UO{NJzgGo@}Y9mowt;8FIn8SufM&z3i3D0s6=l==o7!)S(k*}EwRU_%1%{=|U#{1^Ro>pbp{!i9vgTc0wtTduyt{Q% zS@kBZ$(pi$)B3((-DWe2z|i|upx5#?S@Bw#G(lOpeNzP-ek!2kopy~V(bn#I_X8_N zi&Mh?WQQq-b|aBy!2^h(Ey=n+nOdAh3|*JmK7kc5!n|YqhkyM;TRj<^WY$kKF|H3B zWqly|wC4-2yxgFb)AJ)w^@!4UJ#c@8)N9N6mt5S&)k)J$cc(G#j;lRJ6aSAM!Mkh4 zeN6T-*N2yJw*yLdfCmey*a9g(MGG;WAo53oljVu&H6I7TxY>rIp*{o0xj?9_8+E;eV{qRjiKG+iRFeG! zH4B&|BJGYT$zpf(=%?HNU;qFjYe_^wRJ1W4`C|ldqLHyMpG6D}tnr7DPv>?I+8o!$ znb-3KN_GYn$usA7{3f(fom}laTe|w&v9q2u*Oaw+Zog-l||yA!x~y z<)v3&EYH69OofgWW!vW;mk+mZEw8_2TJVaN=lP{eM&RVl1}95iey&{uP#oL*K?MQY zjt@7t^MD5Uys)f0Gr##Z6Uc}48P->*vd$0F(}wcVXCkkD)F98&6%RiCc(H=Hb+|Tc zey={a1@gXVc?2nAYKo==bO4Tozvoi|BtQ$OSoiMQ3LLMr^?qntoa19+cF@OP^jIih zBu=rJ$pdn%55$BNIB_rARclw4+wZ--TzliS<(eC=sla++Ir;Qc8+>?o`o!XkFKP?M zo_zZ0Z9FyR)d+K9; z#?6e^VCA4Aj%;;sEUp55{O+;@sHl_UktOQoSmH|=7X@?^$Zh6q@liO<&K~h^10%CW zfQ1&Nhs_5x37zlvggO>a^kLaP?z(R(cCd{p$p658G{=$WQCd)r>}(>E8avc`jjdy% zFbge?$}r$tOh14nT9Xu-o8(w3A`P_}(Og6g6wQKs0h#=fLs-e#9R~&OCY81cR!r`LGz~>PBYHz9e>2G>FJsjd1LnShspws&LxHlkWrrF0U+Dm z#xYs?L+E=Qa+EuzeZhBOMnF!Y4e)g_0xE%!#|T;HX*>*k0E~YPoA0C&*~mh>aQ$i25y>G zr;i(nECyH*G^ zKIE&=nBl*Xk1oOFOqT{M%sWh3%twwfJtfH8#t*iXw>H01?tSdRa`|;vwe;l6&sI>` zSXNg-{NU4%l3sq=axYELQo6G8TtIOlhJYIf(&+p5lPd!?mc=n01{Eg-1 z!%sdeA8h}iX-Xb>@{#iN^G}!OUV5&9N7s_9uTb-B1(&52R$gk?(58I+*~jJmkKZpF zw`?r0tbC${qJvv+L1fQP2&W z&8FE_KK}gkrj6+y^IKW|foKlnuK600Yh62GFn zRO`Ls&6V|D@0ZWN{i5aj=rc2=wv@NGyi>mX<5%tawHwz}F!`vJ{X&JXci!Jv;pfZp z&HwneC2RUT_{2lylrv7P<0)+hEjf+vr23ATg~zvX$yn?C6ZHA8bIkZ-95RL)Yoi_C z`J+)^Nj}GnXOes=yMHu_m(_!NCU%y4W&9g{wCbnIc3sAFd6ci7&SlIDWV=qijBESU zIxRTB3?9z0G$wN!u!uOzrwzC`&Kciv5o&F-5F!6Jq4Ouyv4yifIVVM-5hVlJ7y#Ls zAN)^Zy@~aMtc_Aa*-X~rKm8R*$?C~8D)CPV;Y2GESQy%zhNg`G#t>G9z#>JM2U2n_ z4-u_I$_#+y!2>GM#sowhPaXUwFbUlV(14WlF~J0IoR9DwY7hL5U`{<8OT7Xmw(73D zTyH;vQ|jng+A)A4g?NV=kIeE3eCW)9k@%+sT80`G$?<4fbXY3CP`5GwPoO2B(tmgF z@R+oQpfZHFfLd&zX`{TCXrk0DUjzOqo+sKIf7@)es(kcsCzSO z5peYn9pS4iT99T^8UYby63ESDQ;!1%+70;{)QtGnc&-*@7X(dZK4PBgb!*xJ&_g>? z6G)N96V$c6_pJS!c4fB_Kx$f)W{#TJVW|FgU;DF7Ssr=z07k&dy?_892%vZ_c?o=i zKQIsw3jn4q11x?!9tau2Qvk(r;GjHp2%yLZMqEoHVjEBzmKRWQjpRMh*d(88a!%f8 zWF+Tkk@TTBv_}J%K|YX85c%(T=P_&M{|I38SLRH8-`HsY_McAxM&qh+!2gDJh0`#T z5Z?h?QEoXEw?K8zJzXK?q4Kkf7MFvLJ-i%p{E_9n%PuU}-F9QS~1 z?e*p5%?)q0qzm=Cq9CBBzu_loysv@RZ%V$He zC@5H=VOhF@BQ2-gmF4kgExgGI)hfUoeK(hPwwSKFrTG={_27$Ru{_SJYd5ZM{x9!- z@Lr2gBJf?NLvs-3dy}cxn?KyrrUy$2Q~&ipf7|x?m)P<(;isdWgz&c&NRNZDI3>UM zy8m7}U@;CxAJnNYG~eYC^I*^EoZ&%l5@0gH^`u8~*LpX53IlvA3P+j-aJBWpOm zlLxt1#?WZeBQK(98A48c93wmA3oz-gQsjgFderg9my=IDrG?O+%Xe`ELbAq>wEuyN z+OdQ=a4Z@Yvj~OIw{2;}f`AXg3Xy+9Rv0ow{8cDN;vXpGi1tw`!6pE6w&!Mn5e!0%{HQnq7(slblw^K5~fG1skzKD&QQz6t_32HyN3ltJCeMjB01oBL-7swhrd2%z;M9a}2rwZ>t%6E3(t$cTn-OC>J+HtiXGWh_N-NDL8*#VW9 zPiS&HE3g71sZW3^pa4>Ufb-Gl>Lw|F9u@bYhcsx2 zrYYq(<~|D#KWtRf5^WB+v5h7r_ftP07C?&jC@>b2SYWGd>-*OKy>tDAwk(kAT?AGF z!?qDB0cZlLAM0a8z83vo{GT#@89V(~@*(8EWK5MWo%gQbwqH9p@1Xt5#aCY1W}W=*j$6x3x7}Rse&C*R&x7~2u;ceVe1Cbi z3gy-7)-)&q8;(1+u6$+}W!927C5Ie!Sh@DMziCr~fe0w!z-m^_!ABli%(USE zYYMP!cXB<176DmfSb5#ybi6Sx+a9|x8xe-+6N_4d|Co7A#KOmy>_St@n><|b7TR*m~5m3XbXS^%<|=--SR~v zFB4C|Mw#xD_$v7#&esG}3IW>uBI=)u|HssQyB`JN7eU(01|#>Evc`odj1n^tP*EoB z4J`!$2o4BWLeTG+KccCLkc=iHW~SYIUDW;QBZElVY4`ek1ou#*!ry~$3Q+lO1(p8} zJZj%#`e6cM{uv|HdZ-WKY~TIV>pQ#cItmD2g&VeWB^PYTTo?a6x|eKe|h z0X6o!6RvRcTN;pJofQAO;PyhPo1}d~8=U%wD3hN`= z)L&D4#U(MF7j(>DFx_n&nq2f;^pE1vU z)Y1JxN;Ej`7cC4wn={Wlx14vu&ztFo2?ua6`OunJkPw*AoG|M|lfwK1V!#SbiqksGJ1aHXOv(|hi{t()I77bV`HLDAZ~|5WDGEY2@llEDW@ua58B~VJ4FWeg zmNFvDk|!FF2tk$Z!n|LTKY4)1@n|!KS_>(FAw?4qP>5C}+JFoQFvP6J_`< z#S|3PU^Fd(icI-5cp5|#f;nG_-chtDX$Q~m**uqL6>Zd-6CBC`!4N+0c&876!QihR zo*}{@ZQ;1*OT3h(2^kRv(UvGjUS)AQ&6+;R3s9I&9CKfTjQc2aPjp`YkWC2IE&r4m zgce|_`@Ya60&t)CK&&rzGtI?*Ue zfs=qqz(@JHuRPABjMOuL1yJnA4+hNGXZq2v05bRu4EulND>gu^f5{Vv?tG!}1-QnN83F4`4F?fc?s%L+jUl6~G{6UvW70ncm=J=A2qD`Kv&7%oNar4nMdY za%BBTIjD{yRk(u}`HrkY|A-0zz~`jXPA=zNcz!v5#IckBG}fH-qaT%vuehT8_SRcl zI&1Ob)^74Vw{&Uw`cHo<|MUO;-{xd{%N=)=-`sRlx%L zPdWWZ4OGNk0wY-=*_KHNsL-eYl=!FsmaMQ0Y{1005g-qc#HPXR?=s-Fi_|OS;UY$BB=4cXhILCBA9gpB{U;ZQJA!SBOl8zp*i7IdiH~}8_5}$%b zq)(gkXA$Ft#;3>2@H_@v0ONTBV|kbI9Cpl+^$&MS$@FOTBk%(ascW<#(H5zzLGPEp z{&l(Mp@-U__mi{FZtdXt4G_xF4%&~?Dd7@`acnqs*&yLqR#)D`^jwf#g(5)@RQBYW0W8vZ)AFY1<5Sxgd9(%*+JtWev->qal=?f`1c2fg5CIRS z%%&~WmtZvIIoA`q^2__Zv13}IO=+{2YTNTq;Y2Hem1r^mK>!L^#3ZF$=Nu2b0D%BS zG$?@<^^Ue9a1oHPjb_F9XpN%%aIayTM0*oWNXku$)2#BePaJ@qiz!E4qjiy#sjQ*a zC1s_&Xou3K%4l`iyRWnz@XVKU`j9Okc04{S-jjEqFYIg+<09tqjC;0zC(xpCz<6Wd z|Hl7HzI^oTQ3vxG^X8NzPdctluizmF-&9e8_c5&;lreG9dR5q%Ek;KD&)2>@zTRU- z{Xgzs|DQ)3b5uF-&>a#>u2SPU;V1Z zpb_oYO2500A6rbz^`Ud&WtX&gHGA#tKg@s2N78=(e`WWwT*qxiVfeL@a^j?Hi?k^5 zP?StZw?vUV$SBW{kt-uVOkB2KkH!a_pM*|HvNJ%T8;yHo@4c{qMo;}>GUQN8ZAt&o z#oxTNoc;Pve@m-P&N6xZ?#-<~2s^Jt`}99u_Uf&p=AC1;_7bVb`cUA--6Su@d+td) ztYt#F)JE!nD(6`YIsMv%FlM9)WRsvk1)u9YttO-a8F>ac0yy-#JjKg~ly5rSGcEw5 z?CN#%>g8lk01!()m=Y`s@L?&)y>Zh<+JFjx0>JPwF*dsb6peH5qE(lcKO-t~YAutoz;0HA1695VL$kRXz#0YEF zu?E~S@TY)4m=4)z_bpWjE059_C$=TvB2R#$rH;VH&ZxxN>|n_==@JzA>_A04&$#+$ z{cd{=#C=^eb|Vnsz5&-VNK8W%A7|hOW~7rw+8wBbqzM8gQQFuX*U$g4fQrL{`cDL9 zV51+vLU{EZMx~$QwVc(s(60oY0#s&ewe2ejoFsq=l56!=H=m0B_lF;D|MUI#b0(pG zv_-oq3T+2W7<2bgq4MVXiby#rQ^v*y*}w!=!m`ix5Jn6N1IRIQ`~%Q(z0QIGRDhGY zO5FRxMhZnao~X8CRRWw(2?PuhW5ewd1CG2oDtH7QO0&M z3^w3S7Us_rsJOS>!_Ci>$s6YGYB`{bk>>&}0TT6bk5Lh(j6f0ark~WC&(H@tq>*1` z#8k*Hwj>u5vjZ9a&b-8w$V)k~AKt?b^wi0_>XUBafgt%}NZPmJnS27F)uplnma|OY z<_J!_(*Oz?HHN&4#*}y&t7Op_6CO~ZKVqNh%^aO(0zengjp>jkO-*K|?i}}D58!a~ z=JoB__2oP<7+^WS#$svPm?+(7+o=DLKk|4OZAHPi$AB|C_8F zZp(=$Pxbk1j1P4ZkA9SnY>+Gcvg@Y$QCPCx#HmS!z7_uH8jJdJo=nWOmr(tHjh4&# z>6-ei$&xcn=pSig#{*y5D4u#ReY6e%)E4nOT3)(74B%_uy1w80rwy2k*pBpb`~9>p zMwm_w3~=eUm^#mz1jQsL`?2Bo<7w@SlE1vt`vD_~*vc0!%=Kh>*q0$s z#*6(a7!<%3NC8~leD`j$Df_3(u01!N++$OKiFp$C`8p8OSc>o<2gZK(HybWagh;1^ z!y8s{I%{PDm{AXPo1Z7Qk+y&S1Xef+yx3+320#EI;W7}aK*rm>xB-$tfv^A$!xl@k zrwgQ%W*1=3cR(OsKqX*NUi{MTbupL&H1a9Ggd#?UU!2Mcy_Zk%0zu`qGb^WteC50L zUPR4ttwS124MNxZeajiKDm^P+Gn-hHc7(f@x9c`?32UvjXTS-N0<2gD0#y2ycZjShjkMU5n<1D_U%#4$G1h>8bp(EAz|V2%r_YqEYf7L!8f(E((qNnZMB*I{?c{GgsT5U`i+|>2GeyzmYv*uG0J{EK-JTif1CSdgrAQ(Jv@RK z@|vu+tkJ|E!@A47K5H4IiO1^SwFw_M0D|P*ziI+5ZSL2f0j8GFnpg%f($}2HRr`NR zll~SzJr+pmROIE>CRREXK+r}TR{!;HKd=05wu$~0r?FBWh^yVwc^=d4nK2UcqOXM0 zyG`a|Z^TQV2Tt6}uZd^*?chZ}2U__1Bv)CnH`8W#cH?iz&n6(juKfM&KPPiy?}_V} zlYmJ;#W<4&qXJ9-D#mmm1JMz7h{VW-^NsPAhTsf1U_ZMp5YuMbdEi^iKGs(IL|Fzg z9|@cn9IFyS$_O`zGR*EX;Jd-z4Lzq)fscfH7vMlkLag!P#8z;HiBo(7HlR_t8PMu! zkc-o^Kn}Mkz$G|@#C>@wv)M&^R+P^PkC~B=YtFT@*7X7z1{iP>RoKaaKtqg3NWFpU zxo`tJK?wEpIr;UakN5;3Wl~w?Z>Xy{N3Bz zXG1{SIGO=F1PU+w2gAWeXA`h=@Y}<~T5g)lKS!n^Lmm)l>7^NbtbsTf0`Wa(Je{L* z$NU_X`lHcz8SYpKAmy)=!f@1Dzz+-ii zk2=Mk&Grs?b=q!>Tt>uuXsNOB)@<|?1RE!fzjdPW`ie1q)Ur57Hg@)z9}P~1(pBeI zm_1|lFc}s9Uh;c`FE8yAvcv^|Egz_ux@xqMVPR<2;anGUwhXjfj&dJdV#y)Vr|5A?VnIz&AQ(&*(STmUz4JYGS@S*>Up{gAZYTI zP6>F>mHI4QORsb3RNySIlCIyuPRrHV3p!YS;?ZU6_aciqaxZ-4Y1wDhF~AYy&C#FQ zv+K7eolP3)rF3!3hW_At*0nV0@5)PG(%tf-3;2~Ue(Z{gl5t44rw6OAa;tBXL1o6q z%(42&Y1>zG$;UXsr~oXDqc+eQM*xj*pe3fmvdq5p6LZ*dPIfT{5daBOxCUrkd#^E% z`~DXB`s4fme*Wowpc13RBsGY3pwe|h?Yaiv3G@-D6juC? z0hO2)Ju|kx+u^MQ$WS_r+^Bh={ZJa2P*cX z$S%^CDUvmL3{1}^n<0(*S|4C!; zV?afm4E6%vOV3c!WMBs>O`w{Pr8ioePX|qXWiQ15DqKM2OFyMM*aNgc1u*d;pu(u| z&5G}V%JpPafE0j(A5e*z2^aw?{Oe(`FTZ{E9#EMK4#0Dq$!mAIr2Yt~=tup;HMY}R z!qz0?9%Qr>)$%f3sn0yuz6@IWmA|tp((OP601=*T(6{B+bMadW+v^cfX+pRI75X!v z(u9g10MP#50xE%=Q=lR&eVMM8Kfm&oQ#?S0t}72^@K1q?_`>&k&awJ%X90g&)) Ur_hv`H2?qr07*qoM6N<$f)kwM{{R30 literal 0 HcmV?d00001 diff --git a/labs/converged-modeling-patterns/presentations/images/image84.png b/labs/converged-modeling-patterns/presentations/images/image84.png new file mode 100755 index 0000000000000000000000000000000000000000..a637d2c665736ddec9fffe49d38c773f5af65092 GIT binary patch literal 97300 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 literal 0 HcmV?d00001 diff --git a/labs/converged-modeling-patterns/presentations/images/image89.png b/labs/converged-modeling-patterns/presentations/images/image89.png new file mode 100755 index 0000000000000000000000000000000000000000..2786fbd2117b7c180491a21b23dbd0e4268d8caf GIT binary patch literal 168397 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 literal 0 HcmV?d00001 diff --git a/labs/converged-modeling-patterns/presentations/images/image93.png b/labs/converged-modeling-patterns/presentations/images/image93.png new file mode 100755 index 0000000000000000000000000000000000000000..6477ef6382777058cf3e539e19751c7781eefee2 GIT binary patch literal 84961 zcmYhibySq^6E^-)0qO4UZlp`PK|s1&TDn2$SYW9Iq@+Zo7o|gq-K9htqy(0h?tUNq z{?6}x|KOa5J?DAunYm}KnYr${6JBYn;9yc>{`cR1IBKejdjI|R6aoAlqoV=8z||Q$ z|NHOVe`<(c5&J!?9O65HBLZ}6C-@y9hEzqI-vEr%S5u5f>|dV;%y z635^WrUCI5JI{cUvlp&D+#M*&6@(vkh zKwiXDWb|3qEFA61#AR~ywV7G6O6tzv2sc39kMuPTvIoeW1oz)?2PEAXQp5$MH@@Z#A7Pu1`1RWo0E%kD?Z&fK{^;$+(MYgpwaB2 z@)mZDq#zULE~P?^R|W=-122=rWT6kj7z}0la)2$sj<$&UG?Lmc+zLuT4G_(N--&^V z(WJ;vl=3bF)@D~D!8y^B&l6PDG!%W!sY~|ZJ1qo$crq(vhY6qYF8)Z09Ry%Gg;Av@ zJ!xKXxRHj)K40$g?C{j&CQK(fbyABL%hThL&49eopJoxV0M|x5C)hk5f66m5Ww8Fa zvU0pzs5}>cJolf*MED$;lr{vmrBXfYNnkxRCaV0%P@bGvbPc3E8*(%$;BYbXY;xfBw-U!X5og@ykyJ~^pPEj=8lkd$MuerZr zodrZ02HN&Ot`EkRyGQVRF3_wKT=5|^xIImcHnSlEmr`ka8tPx%StMjQo;a(|o_MFz z5jkBI9A|BjZB$UrIi5)xWs+@k`)Fyg?Ch`)M}t#vP;>F+-M|Cx>B3omot2atl;VZ_ z9A~+c`4t6GbMZ33IqC1r1e8gQpNs2*gelxF-iP?kcGO*&5H6ea1>ZW--FD2=C0XFSU#bhA#!@fr z?8WiwstG5%Du6boSC8{`H|l;$`xJdu{F^l>cpf2=juD%WuZq6?<`o!&p@4EAD)G-0 zCkF(Y0EIp+5a!_*>LX=1da=+4C z8?!=F0Roy?%-^hu?tJi1f^-!>$bg^0dT_}H%}*K7r=|9csIBTx>B`tv!{w!VO6~p- zc$3}KE%hZb{gB|2vM*1|5*GUY2?dW3!`;b-#EB{hvh0rF zl@b&L?Y)*I;5S${R^^EG9pq=bX&{WkAEzw_LP!FY(S^}Xa7A-o8+E>Is#5y`{=|HFJj4Ow&4#32J3C% zhA7%j(pkR}X4RY$Lex(?dJk;p=UxrZZpYbFb!L)NW~^vZ&@K$D!LwjZ{AF{`6sAN> z>t*qu*DWc&M20Qs#4DHvuiEXc+m{siUh_i-VMv)aL59A$f66g4+W7hT1@{zG%dpMa zTF4ih<*_g^31J)!9HDpl&^=%Dus!#P;0cW~RQ>cidX^~4h=ara1!eHOaZ`qy(40RO z-qQE9-L&`?vZ$6avCiZX36D|~CbNKNm19IVJ2?id(PBKr_VTK6^39GDw&uyl$MT(o z1swf)@@eUicOhP0Vw(X}NqDHXNYm1L|9bQWr9_HR0#XwQd2Q1+;WziuFYckDKM|a} zgxEvj;97bThnQd`*-F$3b|U$F8~}XF6s)D%L|K;-$jOiuX3%Voz)OA%waO#(PNFCa zvL1ftB)nMDGHuopU62_&_q=XXB}K+m(^3G-)3gh_w0zFJHO2JgT6(>3hHrnS_sNJI z{SNf6{LW9|Z@LOuTiRSS9L@z{5D<+3=gQUnL#Cv3d$4t42)S+^8Uavs284AqQUotQ)5cTVFpWHbzc5a zGRa{HJ7)$%y?i?oJD*&qZ4;>otN)a1kEZ7|Za}Q1?!EX9eB83s(eDs%qynwE0wQ5QinM5rnei1XqhA{HnD$L&I)?Q&g&KN?A01Z;n%!wI9d;?TWLP}& zP?u>KH~D+r3vjNp=0-*sr!bOaJ!VH4@dif)ouLK;fUa>~{zlmNkg=hg(2kKlI3uh2 z=3rlpE=54SDYovc33K+>)Dkuuu8*u5#&AorOfcP2a`HsFn{Ou=niS_!lr4}4M7P0X zHmrbu7OtJjIK(_ou5O6tKJ;2T5cza)*sGf8)sE9S`Wp1==Iu|9i2Sqm@{5|*BCIJH zJ}#b@JgylS3^gc#B&%QJu_#zb4A^EjTft28n&_}Ida6*N8}1~=YX zi#8(uyfeJ`WN^(!qj#`N4M2VyX=6t{v)yZ=SGGfQuR0m68Z$pfqlTyR{8IXqlBS+s7a2Rg^Z}`$)YQ|C;0--uy z!tH)vwn&#<33$~DAWY*Y=+l`@enfV>;DO@_Wq3_rKx#!r8WYZs`?jcU_8$i3L%qK5 zeM)AoDDL?BviZLyK-QL7lG24t?jhAbr;_>x={y0KVS^1fLI(1kn#i4bJX{MAvsERL^T^vF( zLyj$^n91gL-d~usqN-MtZQr;Mi7$W8`G_ic`UWPSB#Bf_`lC*nsn6nj%4))c1q-Dt z>3&+zMw@sG_?N1Bql^n_s)c_{Dc5sM!(fP@c=Ug*%F4>gPWSS{7i^Lgo3|czJN^&X z1A(q#R4*s{>F8m5 zn^}MT6vVBVkO6Hi!DfJ6XKp`kNYukD`xCF8sQI@YSW>zsdXOdH;b0NDfNFNGNey(e z4Hl-;{V;BCoJp?F38$b}Py4K2kiZ&Nlf^@x;^PP5wazgPaIkX?C|OwWu;k(&n?I&M zcX>ZQR7@VM_kAq=c6S4>K&DPo63yB4Xlu?4=~8-X$F?){3rVRewGQK!4i1(3ZgPOo zj~+SxMO9fxFhtKZttg|!o)uN4R>gMJv2><^K?+;>L?MM@+e1Ka(R!dv+QeL0ou{m+ z^V6pfCie0OA%#b{;dImx<)~qQMMy+S6J_<#@}#kFQbrPC{eo?HO(mH5MtMO&yNR1Q zJ@WXNF-$=jSoG=RqAu~&Gt<)_KLcTKSyn#3A!PG*jy`>@M(7?GC;JID?wootEL z{G_3oN0YC8dT1GtbB{q_ic=uXD+-0{h5RM;HLA-LbxS@9%>Qv&C16gYp*Ivh%rt1~ zV#BR8!VPTX)uUxcqcwHpfaOGP6jxy1tGV`LB;zgXXLUj)fV8v6VIYR7qqHa9^62WSW$1^*g(`e%Zs* zkw+YOp&tVtN!~o5<8-dj}O04x?Wu`_^{5zRNASMugpd>5sCDC{y053$;9@`yD^jPR#@o0y&x3iW<|-TFFpT{ z@ztZSp;gr-Y~zd$q>O{uv33e6!lK>y_MhOT^s+d@!$2T?c=zwqI4CCS+&OZNUu{8_ z2T@#>Pt?I{k8tGpZ(}miB16T4 ze(wl_!<+(_8)b_BPD-G+i^wZ~datn5B;*fYcnIqA%TNSFKc zsKEbh(-fJ1$Nz+=LL2^>gpAVu8ra-u)#I1ha}rUv^ja=p6I(fSXUcyjpT+bxbdW%FmW%d}a-|CDa;kt7bdL6a8Ena{~*B5$9=TNAkvA|Iu(TldSLGoQ9n$?obsOw~~-ozGOb^quBlLD)Rz=f-~$ z3}&EQ4fPiWHr%j>-rp&LEWNY`wEly6lrRew$|{1(Yv#eN^G9?Ke~YuGsK@ zpo(R`v00D^IHkB3y5C*&{N;X4aC&Jn(2%&_)))D>hcf?j+!A^|-LSoV+NUX)+}?UFQ_(wf7IiIf!q#Z%@d+)vX(osyu9^9U+U)#DV z;{gtfr1;;q>PO!8M^;^bTfR-Yyn!nm4qQyEK(85Lo*3W7NR9`sr8r>j$NhhTZjSsf zo&-7_CZc)&69Mm^2+r!@WNhfs=BN`*Z^)hUTGH4FzyFAV=Im-6%bTZBN5+@CGe_zv zarYaEcsIB(*X3a&@6aB`{tDV8+D2_XAgPW1E4p75DuHhv_ESb3X?rC*RZ2#|6c9~8 zmRw!BjRtyeDYy4rGTX9>14mLkKgJt+WI~1kv_J;^OCN)c=unP08P5vq zg%27c>2CJ86a_+V>w%Y%QCsKzuR3ax#=l#f#lz)K!6Kft(8(8%DDuB-d|Vyrc5hMC zT5(i2YJRwqy(Zu>6~v=tsQY_(%iLyxejs_g1;>(H%1N~C>}D)oT%^t5^!93)NCBBk z0n|5*kBy#K<|cvt$w3I0+PzciSYQRb`K^iXe`})GZ%m-0+=3F`#yiQPH#WDyehVP0 z*oR9eqmHv)#?oqel$M0cOu#XMl>cR-!>uu<$th`h13%%!L~n3*#;qnGoLTo(_ThBE z$)RI&9siphb&$n@a~7*ITYL@Yq}JGM*5=_Hp8io0Uqs@CiszX3g3o!bV~l-{P7sIO z&$34deEz7dZ9FkhOBH|lL|RT_5Urjeq~k1l@n zxmM4tpND$kEx+ynQR!OjzAbbPkBO|UB;=v^ay~BVm-}(}X};f=_b9SFkI~^2^QeP| zFJzXne@fVooxQT}te&`9iZbya+x*9K{gk!dO1Re_Z+==wR_O|QtNwS(b*o8N*++Ar zsKD(;fxvPNE6`mSAFCUw+WCx$a!9M~*8_ZU+Ga}{I^OP;<%6@ns=J7u3ZaypTH+#( z?Jx-VKmb)-mX9PWi{yGcmbx3r`Q(68B7|(RY+1-1vV`NcfA-2c|rYWC7WG9Q`_ zEOTV$49OGn!}jY$edcHjw|{?JXE*#IsF6>Gyg_^5r~z$texaTO`FuO!EnbR(q8q9D z;Fn1+^NLibK_GqqYu(ipX@}W4YoZToUT}NijG3%@2x)V2$kZxc^4|*||FL6;yoI&& z&IWL7@!5kHebIuxdm5e13=W2bMRdN~&+uPcA5~tBnUU#m=A63%l0kfkg-_R_g>UPDbYEP{$pR7WOX3?ajcq%yz^eYgbf$=6ths z=&A9<#F?*Wi=IYoX(L`c<^ERKJYRK}liqCpngvEjrnY9wiaHDK{EFufKawl85Y@xf~O&)y= zrlX^>JBXfC72~j>g`xihuH1Akqq25F;bI#nG<3(-Y!tg^T1fhCeN_?$#gJ=~4R=qC5T^^S zyr5_rr_sQR`F`R^nK)Fnr^6zz`W#4zs%%PaI)6L8pRb7qetft+2`(vsJY~UUY#wFo zZ<0UislSt$=Qe5Io)3HbeGhk4UoS21?lugZ$A&QCF23*h!x{Wj40I7&{eAupwrX{7 zraaRX#ebd6lheiYUq7pFT766is2UtFzI!>Z4|!-UdWD6;$2!lHd&0(j@k zn5bU$hZGX2^gNRP&47V#LAX5DJ4DZkY6E%{dP8V8`uWzknTB&?v7c9L^vHV!W=GQE zmg?13$cJ!$IY^s53u1gv9^;s-jVGU~O-J&hVi3#Hy*H)hgFU@v;EhkHX!w&)?j4Dh zl2P9}Od9jeC?dqU^`wGS>VJ1Jkaz!Ozs4!})Yn30xhI2O7b>8YaD>SMi#xo^_u>3$ zx(e!DZJev{`aMiv0bAQebvk-LJ7|RH&(h87V1}54dman0%xCil==`UB181tJU%1a? zivFtqsMg!EQP)5>(x$?s9;BA#*2Qj6$A-7D6>>xcan5*H#$RqM@n1Z9eCY7pUh1>` zvBQ+mcUzfKJQz^)s4Nw~8ZHEurd(6>y=Xw_{fU|{MeCEg)4UYX5S(6(gNq)x6?QK| zoJzp&M3}`#Ju?7hTMsla|CGB9v=JMBWdH5%)91XDfnDC!b_}ee@#l9($8paNVVg{c zJMT;aJ(0>lz9B3c?R*DcpKW0HHvEa+smks!{~_!aD*9jNM&T6vbUBVvN4jv+9Gusi ztwJ|mBw!Q8CQ_6v|G7=Py826{>~nO6JzSvrp~6*itU8a!s+Jb&}U3-O;J=gT7s> z(I0tX@YRA*w6$frbA{0ZHtXTYf}FM~D*b?%9qcXSo*wPTKAo5jL0Y^ynT#xaokbE5 zg;|~5Y{JQaa#Inp~9iK;9?$za+1&?_A3uvO(Zmi~{5UL5}11}e!f{TB{ z{`hL}9c}m>(|=(R(iN!}-O{Dp4?|Ka+?x>ltO#RoRG)z7e{uq_(}l41bTH&qC4s(8 z^?AvcHbbX6f6I;<#ZeU}1d_2%r@eu@K^=y)!1uy>lL!yKq9~J1DBYsCmz+gcmvQC%(52~WjnxBWN2PD?=8#xT^~&?LGQ zK3d_I{1B@zO7PKxRYSZX73}{EH5ZKg(nA-O7nNnl|8-QhMZaW5%C=y<6Gw5Nlz!+- zS;2efc0PZOIe$D2Ia_6$#`0NGCt`ah-W4p1I&Rr0$zV-cP(ZkOY((fzq>&5_2=5xZ zUsAdoe$yFe`+dub-|>f~=A19iL_i#u9I*|qA;aFFhws8GQB=JO=@H^poNR&MCEQaA z38K1)Yw4w%Q2eDmX+^ao{Ek^4>Ltn!>ct8=xjHMpk{Lcm*e0dD&pcx_1rnPn%8d)r zr0NVtKvfhu{jJ)fa(6zxYHPa<$>bOs4VO_%zIV05v-?w`VO-DmYKGGZ3HcrIf}wBV z5#qJea!=9+q}Rz(TSGjyuv*2PwRfWS_-1u5PePE9yn0g38Dt^_T?t$aYN~_WlfuIh zsGB6npMYb0^u=yYSM( zk;@oz=?F5`I+^6{9ah`l`}|2So>MU78ivgI?tq8u8G4UHH0LS4XlSw4O1)q45h=Z> zp9^fiKrgU)_&AE+aXoNxS$FY#)vB}NPl1i=VZv|A&hXB%eq)V>j2K_&ugLs+U%94r z-2$)h))*E$c#N5$3FJhv$d2hlL`v>5)7aXkP|mkryf~?SCRQG+0;|98{CILN@T@Z;0BzXNEtFHK<18YmfnQw{ulFD*RggPSRK!as4%D2XShEI7lDx7I- zedy@YV_dL>`&M70+!vAaDca}v{wtn*#zKj;>i#(p6+i1U30_(vYn~sU(77-SWoLX@ z&d0L@f3pUFtip+VH$8eqi6DR0JXu#3WqPL$#HbH0C_vdV*JuwndrvNJ*qDxB-lx;J zaF6#|(puOmH{((6bM(@qV|Xl?!2a@;+*@9JMD2Wwu-P-(U_r3?$Gp4&!CfXRa(^Hk z_C*gmYPpsUNR#t+o?2L#xjv-v$cGRjyFSsIt)&xO@2(5gmLAlRjrra3c3kx`-d4@n z-!5Nt^*)3(;w|lq6j<}XcV!V^o+1R{%~Si$X449 zs#G_uIKY@-V8LdrcHGk37mD4x*iA18&v!(KUkQMm=`*1`&0g1~>_K>GM0Yb9kAZxLO0)W|^Z~Ryv}ZaS0tF-B}#SdSc?^B3f-qZqif*4Ijg?enopX39w;-n#wP?25c z>*4m2@H&mHyCjCb&JA_4#B+-A9W4~`PE?dRNJj~#IgS==kg1rwsmDTgB<T@LvFh%Wre#1X zt+1IP6ovs(ow>iIbeqckP71UX&7?Hy;7y9UFoV;E4oWYzusZt>bzk^N*|(d&TMVoR zg-Y3oF3~hm)`bb-@r4QkRq+b_?S)FzAswGz??dR(GZKqa^$5?fW0s{Ik^dg+W{cp5 zcv`E}P^m5#@*;Kim8`mmt6sjtYxv#N1>W}|i|f^huEVaBhcj8^f z@9pG41HTDR;*HXOnqUicqrWf6^7JXaDlO-2U*i7X8_V7cd^cCk=XS^tkroq4Q z&Azy+f8JH-IR((py$>-KOs6B2T{6nYALj%ZOfObi3R~{Rt@4N?HrayUjil<<*Qabk zI@{IL;|j$sgy{>8sUDKa^rPKxf(!&kSx;vu4;D9@tG3!-t|pQ?54^m%KVxjux+Ve$ zGnJW!`J>_?kw>ziL&}=f^6Gf=n*3u)_xcne-$hZm)$(OHLtBg6)X~bUyLxzl>&mym zy6aZIc$6V~34)bY8lC7O;u;17s{@JfVRG<05*2xYPyk7)PJT)86|GZ4s=c!-;b-zv zWKo1^nI?T0VbNb1fi61#zirjDLbDRO8s1sDc)W^&`pFj}VY*onGegTM^(JGkrDW#P z`wTLj-|tIJ3$*zVCyK9=x1DQnxGe8V*a!{(twgtF zqL}(gT9Yg10ZKo1DL^f3STy20<0U#7_GvaLk?ILdWG3?2ybDs`+b!fR83qY5-~zO) zDiuA&TJ^19^g>Adx{5ru0AzSvD88YiOL_$z?biQE_kA(%2VJ~Zy4yM0#1W{N-c;y< zYYpHODt8V9>-ZA|2?HSE(s$k8F)rl>o;IA!-J3V#@eFb<<@yqzOp5azobh*OQaH#{ z17|E?Lq$QEIaCMqq>&zIFT>^A9gI8jZ{jt-hq1Q1RoYkY2H>ZP^tlKoo(jd50uoH9 z9jXcPveD}2j*;@((cD6#*g8t2`6!bj+vfH@*)n&>XV>I%sV`S0ZXi@TP4QybJL}Gl z4ygoNEVne4>^rRQGD{$C@`47Ar%`J?l&jh& z{pRL+b>pR+e>MFs_BP)zy(~{YOVk262VPSB<}nSn$qJft@8uVb6U8el#zBbb#swQ4 zyd>%edg{P<&1Q}+E3ytCSo_|qIyTpr5sq;L83!;vrPGnEpnLg00{?%l{8>iR^x}=^dD@GLMl3LBa6wQ*$Zw_5j#)KU zHFXYH&BZT`1=1|ToeOtQGHFaf)Yh6(X>@3i$53J}t>^@QcqyCAs~)Zrw-k(XyO_Nk zn|l)&#eia+EXDgiki0bRw`PGTe5c1!9E*{xWaoo~{YLg`v<~(4sAQch7F9cVF3tc1 zxO_%{a!qTj>k0=uN8R|hn7uPb6*&(EIa2XLyC4TCeO1v^p+a@=M1c`l3n`U-()qPS zU8kdcx>ohBZOgCI(;9GtOL4yf<)n`XI*1yv! zgpVymzsw};8@HPPqE5rTtV|6t~bHcIbNHHuN1 z@qtxPGa+*LoDIP$$csq!DQtV+MGC>r{x)+2YheoZleuZ=ml-}%Ei+}stP>}#-Bdwb zPL08+{x_>I8h^E=FW3q1usu9G$o55>?Z6jifu~!LrqO;q<fC`6GkiT01wGfa8{zO8v(MmI>a4XecCxGMVxKm*9MGiUCp89jzJlS&VB}}_^Zm*ZW5>uRpIAB>d08G-~3kV zm>l*}hY3;4T#rbm7La*tL$Tx~Bp>ZE$P~R05npN6c~(Nxl$*;I)Aa`=_Hp-V#peU8 zwu@I-{!T=I+}=cy+}=_%$AfQGRYN*b_z-AAwAz+WTl#L#JiTT z0*c2a7F1ywW6&{iK}0GO(Sf~5@I}2nw%K;AM$ZRA2RrPH^*y}GyhI;kzZcke(4@WP z4`A)bQ%p(bXKS>OlI*~6fPZkUjK1sd6G8ScrE-Lfh$n>^9WcstzM7!`l*ou2ejBJt zbL?D~r+T0m>Be|AfI$%>wnduU)t%qCgqTmYNlt)f#wA;Z;A~EggqH`?$x9FcR&r}8 z`jA>)%djPMQC-+E{(9P&_XQuW8Y$AmJg+%`mWD>mYmbzwd;>;?4I=Xa{zjb& zwN+RF$RjK}lX}K~21Ln8&=K2@Z>J4#pFChIrWTDF^PxSsAmwdh?Je#FZvX3= zPCh?i;%HReI8I~x7^0F*!YQXc71?1O@n4t8c&i|ylV?l=nhP>a^(3=`70i+of6n__ z5~(>kdB~9pG8-q|Z;#3LlYiM0Ufrk;rM&=+gHoOH`|_oqpm$|EKR}{=+1U|g6M7~F zNp?#O(`Yv%1C$T$Tj8N%dt%|T_|YG?urrNb&v)}QC}4R95gdE#rPZJWEhboFoBwV_ znH#1T`pv3b>#yRQPl(JX&Lm#{_zALEL!T7&SX1=Z%56#9Mbj>SpnRs3>CjW8sR;CL zHIk0_;{?U@8QN;{!3>5pI4Y?o6+F3VY*xg~mek?@Js8$0WLr&@lW(`OoO`MjzC-s0 zrg?;;I(9?J!;Ql`^?`79x4VtqZ6Twp5<;-_w|=fE25PZ1qeT5KFY>N&iy7*nKqpzW z-?5sikmw%xgpTdXJ^g~(U_*q4{BLQ%-j$!LGH^)-a@zW->e{JA2004T1=1oSY-XQ? zUY|Gvql1Zuv)r#|-ill_(noR&7oi5JgB#Pm5O=I-HK$v%k+)pExwg~Ve0{92ZHdcq zJr=~bzx;MOep)n)YmH}&OykL$2P64?7dtr$z!~>5vZq96`r`5un84D`h+(cDbVdiO zL(9B7?;o7M!2~ap$Tc3;8g`}MPRr8H#jFELe~`1VDEK*>kdJg^`ysuB8(Vw+cNU0M z(u^??1{Tt))TNht>Qcwv8M>C1pHtKl7c#&Yfn-^KwHJ`(Y#Re&mu1Y6CVAX*NSW^Z ziLf;~CTAYetjv#^OkFJ*;qE|VE))!?@ta|dJFZ$~?8}1cR_E|Ume;XW{ zKArPtWCjL05JPIpn(_dR{7CD?5!=U}^mQbO`Abu8Z)03vR(;`KyIMejhS`oEH=MZ< zcbUG`O^wqj=yT#|1+RbE+{bta95lQ>QloO-d|dleOEu-@Q$pVx5!bjxHbg_NFl6I$ zqUrjNi>jddkobHj3)s-Jynh@^9CdC^EvIuH&x(gse4ib_!O$N74nnp{OS*rL$~EsZ zs?Y?W20>NPN4GZ^GcKioT;UT(*QPByXD?!sTCD!5+sYd?PTCecGM!yU15{@;gahyT zD#)yd=Ga38PcjRAkIUX$$oH9aeR}9PnGM`w1^S@5Zk8)7)x7{WCA9C8Z8e^`0(RDJ8_rlHw;7<3Lp^D!up=dmT7@ zp;|Uv#{OxcN+2hz#|xK?Mumnq``&fn-_LGs5fjsd37`(ZMmYC0>5p1!r2POq5SA$1FgVqh(;jH^8v2h`Qo+V4E^c7f`#5uI>M8vvBrTv!bt73FS!sX z-R0eBp6^b-6jWhkkGY~S1rzBL^1HXE8oZ@SY{?lDED)R_DU|zR9cI5NT4K7hr6WI*X{Jn+xFu%>d&RNzs0N|Uymaa3& zf_%mqw1Q8{A@}uF$jNf>h!M-YW}7f ze)mx`nd+7m(qtYcfJbz6#8bs6@iD!auX~jdA5AFvl$>{}`s}GMsbA z0$Qnkpq2VsRG+n0M`rQkH<9S1mQngoS~3!uN$=s4EC+d{4lhe#Zp~k(*%iqzEzZ0;DiaLD0hE3agoB5zBsL6$aF-VylJP_@iE@X{Ttw>lbO>Ma5u_poQtq@CP;*FpoR%y`V~0q@+Sr)sXO1Urdf(ti=U_xR>#1* zp>4*2j;!BmkMP2(3&H~9-RF~+j{@#^an14C!Z)+f%^&it?3=z7NBVl#~6?KB?-jK@AEr)3Pw6C}BS%;D8}_8cH` z9t)7OcQ@%@MTqTJUvIf7`0<$6Eh`kYI{6v4G{{X-tCo9c8TRKrIMI(oHGI|3oFn3g zGa<<0?@(+%aUQK18vT?4qDrox zKl$LtOvP<@#~I9X)XVE3ux)5D_}ZOfj{jDAcozX^bKDW=r~_+Olt3t;EeSz5SfBHT2=cp3 z30Kj}dJP*fP;8>!JoQsyT0%*CBo=;CQ*7xqCijtWA zG4gctsPS}jri^MNn}iJRt`5q|ZVaie3q6b&`4j&xygjk&q|W+sXIE^SBH`3`&?`ix zF7X2-RlNPSCMj_?^=hMqk73AIXX$TDW}MQ(Oy3HCdU=dd=C4CVlxwCGjKL!>OxpR}~e42RQ>sRYu)xSN1}ikeMqbdZi!%?z^3TH|wbmHK()GpGmOc zS|lLIh*9CLV#0mQ1K6#FL5gLze^!UIc-1&rNCYW77ZcF!Hz3fZmMA-Q?_8yHrC4UW zK%Prn$Nf_!I_Ht5@0OXla{KWNcPZT_z9bqJ&+voz&`g3coJ%)ya@SJc|CQw^m<_)t z1;UPD!?>Ghs`BMG+o3Z$Q>^f4`q4wE4+JHXlH^C@*r`zd-gn?>@Sg5Q_fgfgs zd1ur@kM~V8BMouuo9U^kk0l+mTN%~NCZ<6#%blry@TjA8c~PduH++b68^_0)F2kFq z(T*YVwqwfs7UEdozL#{6K5*fr)xdBtSlE2(>GN~7-{ywO9Lr6~WTW!5 zD1sK=VR!0M`R|g+_)a`EU57tjQI*`Gvx!|oca@x8uub84s*0Ri`JGvs_B%~PrJmsH z*WiQ>>QXy7H(TnIpoP9mV5q@;gjIuF16Sy`kE&X~gS5a&b|*kEw2^AI@%;DJMTY?zXD^^QGf0yR+xB|wfpxO% zu5QTU=)NNiW_&4PzeX?>kfjwk?E4px{_9PgNwyP&* z4`@fqE7g*KLzkMUwvPiJ*`kc~y}2`9Fn@A8Qbu&feXe$_z_iUY2P)uQgA2@)iJCcN z3sNlqEV)ldGW4tYKwoVv(Ixp$YDSoz(ftUaD7Uolv%=y4aJu6Fu8%Tn_7x+I3*1ycTz-V)<$DlNd_a=L4VnX-Pn8U#UHA*c;_?N`sw9E zV{jpD+uc@G;%pY@iZD;-+O?6J5EswYD*RTsFJpuX%C5F&|kNYKCaYu3F%a z=F%g6AvLuIT~~AS9EWO<5tjz`Jl&JBM*7X`sDF%70>FLG%wXKO#?>%Kyx2o&Do7pw zHeB+*{hZphl^v-FfFE}M^oBy8xir*^XXpcD@Iuy zB?wq{J|g+d^@Qi3yu`S(J2bXKoiFI>ueV8|!EEWg*H)oRMDvr$AkRyS#h$uXea247bX(P4T7E39$q6Le zZyPoTX?*j%jycvzl@kh8kAD*pAiQ4AFr{gTi#RN#;YxZ}C!!~1l9EYJuD|?rIj9v9 zp5isZ25(l>4Npw5O^5`TkTO&Gd$(v`S2b0&m!WzcxE!L;y8tH8LD~iXawES^&n0!K z6o*=BT&!xvZjn|vOpoO+8<%C#rmR{ecig|oh##sL+o24vx_IT~s)@eT24^UY~&4CO?Espaz^{YyAe zEyn}YTz~1qTa>EQScdjLSA@LYu7+$GQLbOOO>ELuo)+LhDyU-AMf^yOV3Zof>n6w< z#?}F6##W5@_!PNcH8(8;K{_-S0dEEVi2S@%{4sUMdf!3#KFr8Nh7`CXU6pt9s#==1 z#BQzf7n+q_`106pTFX`hRrX{^a8;hx6?H<$(UHro#!E-XbW$e*Z~YRjAPAeV_Y%cw zevF{s{XmbTH}0U;J5W`D_yjQ5jVpIe;weT^oQ*c+y%0}6^oKRqE^SRZ`{3hekoyAS zq;&Vz<%_O~W%cur?O=Mcr>*n|_0WB}W?z_|q1}y3vDB()8>{L?^b_?=r6qD60$9_F zcD>Vr2$E$UFZkcZuGugKVp;}LfhO}ZmU-anX_e<&7gvWdyc=l^RcX`o#r={^07|Wb z4DRO5cCH&Y0>vKBc$Pou4x8Exd{+0LMPNI*zMm9b3U>Cf(-dfIs&r0>*8-``E|OnH ztMqDN)T{2&Wi!=ZX|hijVfXhulgqi-#Ce<#({H-Axn-pT?ye-uaY-HR5#oimpB`Om z_kVXNoW9hKxtqyZ7PZeJgH>Kob*zlCrFNA_jHxp2Ap4C6Nh{^9S%#hhPX3ASdXN8jc!HDg~&1s8)&P=7# z?w9NSTm@vGB0UsE!$JXkT;DQg|M}EphJ`50A$S;{<3+UCRLlFuOr>~YCwtca!_rv> zMA>u=_)$s(q`OPHyQQVO8qJEXf?N@3~lhVRz*`+x6FojG%AuK8mq zMkMC2u~_Csav9zid-+E<&|d^CJkRaHtN>&FG>uS!GM3s;fB!m7 zY+Za^sprPI99-cS>zFJbr@I^TW5uVTuu701n#r=K`cxKng3c**%()rE2i+H+vVk)z z!{V9qB!EOtPL8@)ztDjUBxanVva>M6eM}2j7f}>(b=)})p+sfzZjRC&rpo=?4t;Ni zelzKy`c5a!AdTAi3~cp-g6T~Je3;&r#lf3AxRJW%w^UNM7^beJT(M=oUsl|4OUjBN zFRL_bY`xd^r_eU=fw(k|j42LNuJr`EFp*>Pn~foQK=0#o2Z0bZij3a~)Nu{pI=ZY? z1xZXy3LSLPbW+A#gee4&D0-cYwOt|;fOx=QF2lQsQkaY*+VUvQgwK<`T-jFZ}x5`6kaC0YSNTTWW1EjSjy>kth;RC|v(Dl3EwTej`LU4Ae<;p0f zZOgY2-ossS&Mt#?->Ilq zL2G_g$m_V3{#jSd8g6e*AJ;of?nj$$Eb4Dw8-glE^#YFx{E;_cJ#KQ281T)>kj z-`lhl*1u?uan{8}HbSMqE0n4UMlF|;4?v#&yK%T<&UBaZ8hON=tcYSnDgC~XcB!p% zbVfN`Yfj|Y`;_=L)w*;e63YKgQ(6^A*Wgp<$OXo8=f%qfZSRvjy6rum%L?VSGoMC(%tasx_?AXIm2x?^q?SCoMf|oz!(L<8?3)keHVwN0u{i{QW(r z6R&O^X@k*CI`2Ldc_Gb|GkGu;ud!m8N}O@!_X_oiSKFBCiZss6l0P*OaIHO|h$Z*p zv!;O{^&#kodGfgmbMBF>s4jsuf)^bxq7hSbNfnz#I9?a)(SO3}U@REi+}^6T%B{O= zWvY*Zhx~ecyXN2$mv+Q9XQRarq%Lg{8q$Gm=4CAKRq8z@plSMEdUysWqV|HIu<$x+ zB<8L*JDB@dAm&rEuTHDzCArVuu)* zQ;taouzy{#NO8^L6)IbaHy=)3ZO4U-!h-k?`MjT4fm;Eg(_G668r%7{d%qMfWz5<>f)#Di`bbQz7v|h{qq?#poeLt zzQf#QNAidrJ2O9Eb>OY*hJA4JL<=SJ~o5C zNoJ#1r?P*bT(Nt3VNwv4p?+xw;~Es_dXy4%amqsP1cBn#eE~nQY&d7tJmj4Vko1KA z)^wRl80~J(9F;7KD&SA@e&Kps77KsCuZKP`eF)ujLNQ_nFZS5U)@4|8_fX_1Vidm< z`PkbE>OnF3v0-*La(Fb;pB*oLFs5O`16x^gq2L0uY-@;iArP0BmaDN- zl8)vH7DVKW6Y5c8vxp%asO*Rq+I1vjW}D#kzf^1Z88IY-8@83JqV2+pM!Dc=_8W|f ztZR+FsbLsx5o}jRs)<)C=vRljK#bb$`Ks4iFYEK!LCS@YZPjnb_(6jA!|FWM7gjgzMp$l! z?^Jf3{n~&yZhbQDBN%ShpIz2c`_#b86K|P?T%Qrb{rbdcaxeUNTOV0HzMEx^ zA;Q=dYf>ikyTETfBCCVVH!O}h)MSVX1T3d_bsU5LkSJFgCrYdBNu`iF^e=?H{!vt-CesIWsga-epoI1=N?Vrf* zcL0UN$XA1`sP!0--b<7b(_;{n1gk3+i=QMcxpB*HSWm1T$NjO5mS%0NP`9(J{1v*~ zQ^aTT+F{Y%ZtwG5Sj&re0su*DO9xgT`tZi;$IZE_CC*2*lS2A|D{{5;DH#A)XL>An zlnQ^%QJuuQ?a1wFZAoh=2 zZX8(IS%y4KErP8ujwo;#8b~dYT7VvNnJSCiwfACZk~W1E-V<>cS?(}(snEk$i>^XG z)=R>q7qCn;F6ac7%j>M=-Hs2PbvX!94z}4Z=U^xoJ-3>Cd8)TvN+tv!*V@1Pi_k5{ zOZU!nO*bc%b?psPQ7zJffF|9T-v@Y~;dkNbpoCtxM|61nL zXXhzgGuPP9@O|z3I3|@wnwk$xdbyu7Osy|nq@jEVevE+*YrSw?dc0f2AutZ;OD?*( zB*RJH|H}zTs72Y=vKhd_#^ibYX&%&6`J5CV0&mwP<)8B)oZ

=0&Pw>izt~7`PD} zFni!Eu^{=C^0c4gS~SqyFKBzW?lB`K5fOb8K{q^V{?wWoM;QVNj&JOvA84rkCfzb2 zo4ISC=$5GH1}CxB+sKjsAjrm%jkUFav|`Wfn^sgvt-4muiME|6m{abosp8NSXqQcu zNLR^qfWRQ@@@(AsYp)n>)OMj4WI&HzrAR=R)C}JG;FgOz==kVZf)smR($6^36gp%j z5D9-_cke52otok@@wl;oX|tKQ>9STY$j#+Q5S{@u|kbWF{E_na@#UYO4VfynS19FSPw% z%7zg^_N&wW$978Kj*J*bo1M2B`HC9zjRnjXh{Ih1`QS{t?*u;6V9a$kr){i=)?43I znqrmVkA)Cpl8qaa@-g%9x|3i^CeoomLPRYn*<4c08Z#}+ehiZMUBgR5fo9}m6Ot&m(ub{y8vXCv=G8n!iYFxI z;xr7)Njk}uCp_1EJeTJq@hRXQyy;Kz0t!Pp*)7D;-DW)>jXI!(S6uCwxMk)#jgSgP zxwYEWwfP0jKc>oWA0`AWQ_Q?Y7hbChfGg3}8$y|D^q;@?8L|>0)qVGh8B3sLS*WEa zXCf*Z&3Jf#_uJ}-yy}-4kh@2Qz!fGdaXsnS0R@BNv2wo0T7xyoT=*H%5ERJg z1<|I@9r1(J^Pxl>*#e=uH?sit$;(yDlmDYqeT6x$4N($okjlw&qgkRFQZ1VmVMG6n zhb}v5A~~DdWTUN$qERfC%Sq&26t&bax?634D7J1g?d6w# zq({ki`$>c@US`Ig&w($8Y~{nwjEShtpTd;*jOk<)T0+&2c?M@)MI8NR+;=50hAjQ9 zC;d+xkYzSd12S`NE4O!1;&xd;6M9Z7Rce1*>!>7CRyvG zU`&VB$+y-}Fu>k{-m?;aTA+__k+e{iuasn8w!N-Fi`HLJZpS;OIp7#EOb2cwv@wSs zHYW0=+SO8t7h#QQTb0;5oaIQxSE%Y+)>|b>2VZz>jNwIP%Sfr|(jKc2f*;&O*4z|M zKGox?Me2QI+{UdnFfRzgT6p!O7E3c8x=DK`LpbXllYrf54f6D^gpAHX_PDpG8iDMM zq(;nhB{hJ6%naFoGs7jRnZSi(zxWc`({Gh$V)5M1XK{)+710ugTC@_P zlEsJ=gI9Lm;5RIpg>+$Ns;^fzdob{pm!!jd%x=%WBDa0q~D`Na%Zf%%GpHF zf5|~>d4gg@b*teVRFb&)=%t!>+=&?3iWFC^jg_WZznnut9vpuYqc2ccsCuw>>0I;} zMLwu*^BKsSZ`~EVDvn-;wv-vq776MKse|SS(~hlqBj6$>ebISo_k!t4_U3T{8u4f4a#! z-eu~fF;-ZO%3e0GG^SEDMUbsn#F$&yIGLn6D1gG9FlJIb3_6?;x=xYiM#VlDn9r(J zp+}hU3XfeNA-1SY7aS45PR6%+4I9)+$y?;hvdov3vLE_6#J~U)#m|otmFP3eMTLca zT~iM0=QGnz)oN#6%#vqLKY{?!>PwGKU8v?8twKO)UAugo`D+`5HCs3tDdi?4Fp z9mWFH4DpB4^}DvHqOd?ldp&|kf?iLt560F-G;y6z6el{ZhI2fx%nS@uk1bpuKmcR& z7?o*oKBZM7f2gLMpHAq(JsYV>{^xfh_kpQL{SW{^(9YrPgszsDSD&sUHv=E2{~h-m zZR!LTx4mA^>4432W_y3SkEN`3FP31hPLF2tce`uAA_g*u4ai>xC==8>^33UMrAhh# zN&7`JFB`i}S4%fI?Nqbm!mqwaNSKpCFoFqj4)%2BbVx#N%t4Y=wGo3P9?|M5#BZlf zH4GHN@wZtu+RG^^^#K9K^ai~L{9hKdgzxct`Fd9^XWVuz8%R+N+9Hw>5Ep#Q>xQYX z8^nROKKl|jVPWl1ZxuWI!HJ&6;af=T+gmkB0HwtUFMXjeG)%lyRng4coiZG*pcuO7 zJ#3S3rPwpqxE`CMx|3R+)!91F@*!tvx1P3<_=z_`TDu{yLeeJlK#M^6dq=3Diz%`E zQT{-a}F8*c-W?Se2LFD<=o^FU@3!exWHvw2Z7ckMWz2a|npMzj5-Bs*Cc-N9p(#hy0QeeJ?nT0d!%G zLMru7^RCf12I|Hxt=|CR*ymjdS*C64T0#27j4dnb!9g(>oe)NRCc~e`OQFndXfo@2 z5VM|1_DV#q+~)Q;~jwFkhNj7wZqCz%8+nuh*?N@?f3P`L#5Dz zqpzOGL+pv{y!@?x;Q%<+ncU1zQZga;8w=N9Eq&!x2XV`Uw1_Hc=K?}6Ui3f@#RxN@ zZ_TbMFFQv}g!d*^N~^QxsBCR7tWIh~Dl>NLvU}`wehC$t8r2P$^}4B(<+=KExJuK35G& zrg6CGmpRq@#njKXot~(=o_ZC5gA2M}E^Hi%-%|I*C=~kq(`oWE00=cg!qjVYshpC$ zDT~ex1&-8;IH__D6lS3pe`mg;!$HK>Hrl|QiG_JS&Y=U!b`qv z?EzGyq6z@VE zYpy}5?~zM=ywsvnb&j6x4tXjdmznB%+k^m>j}}9)DB_7~jECh>R4b$gfA=W^J9%3@ zuk>R;^zC^v`Cp`=lk!pTYM;okx7iuy z)8oIVMF^4>Lznc`^w!8n7=ldraH0dI30IP-2C4cET^C|?bjk~KUIPq2{(j1c)^Q;FU;eq1ed)^&C5H=3Y$H5W}K{gjH4%1sD98--y0 zU?Xl=_b7BYHUfAx7_WI9w`Y;;D+?X3!2+FZodPHBCoPtzz9;K#dIITcSul8PZdrA2 z0}&h8c315uT2{Dsv*FOuB-kM7FzGOSG>`WS`i|Jf8q0wg^nzVNxhkz$ZwqnGymti_ z^=qpaNjq!^o}MLM(NeA@fCWYyl$LTF-l6+J(&dX8v=L`8@2w&c&me0 zvYx}$*2(%6lLLogt)y365{BWP-UgT~+^#fnGouK~I+i98X`l4U8z+EDnl30d(CMp# zeIEtOr^LNoG&GcoCsciZcc0~T6e?d@eS~h39w$kqQ=C2Yz=rywDB~5gx|(QRPZNx$ z3Lt77BG$989OWB+`COEq;2t-{2aYBC0L6QuYki|>QZ))6N*@#HFD#KR@=iAnQJIm9 z25f^3+8~w4l)RJi_vJ$+dDDkI=zh;1)@30bx~u!tU!wjl=rW}}xOShP@4P5AB}|FL z^w-Y2D+A*r5tH;pMUjTaV*ALSYtpFiKk7m)beP8}E_DJKB|Ge_D?W4TG87gvQR+#= z^3{giX9L*I{m8D9=)PkFR5VgcBGQbUlmU8xQq7BZ;jE`Pp5#kS!64n^U9qv~t?vqNkySgzMZW1XbgpQ1)y`-A0$5&E61-#Vi2Gd%#x-}DQy%mL{AS){6Ip7C z;lnun{;efxo3&w!j!DNl+D5X`g2^#?$wX_===Pp>dd>CQtdk6k2u6q3YZG4otyqV( z1cp!eEHNsNAR$oo%1duQJ5~3#AV99cM~hz1%2qG&KAQRJ4Tm!RiSjO>w|6@OjxJJ1#yHmQRq8S+i*z z#mH50vaF%}4w!W56Lq46S;pue+M5-5Td4gQ(7=EVw$|IbxFoHVscJ7ks-Ok7<9`@D z(9F~mx}e;Me}!8dB;h53xt05)&-6Hf!7Fd(6P;g4-YK$LW&(GVh@!su*sSyjX)c-g zFHVuIvl>%Gu%copNoO`5DP(j}jmO~k5Ki$NyNfw(V3mZeXle{eMh0D;EB5Di z%?VhX$If>WSgm~kK1S#JB1MmiY6hieh5tc!8lRSC*1`#Nd8^!gz%|3S}m))SNKHM}4q>IN}e+sVqn00L0tnWBSu@W0_3#z~(W4GL0 z7~zJV9X4IJCXIV7=PlbQ0bRC36HN^ay&@g`*s-6*Qj)j-F+c|#Ya+`9lOiI&0e-`C zx-rR8xxIta)vO5;ofsdUq1mMBAN-xYKiBSu1nd{O4!lI7z%6v1YYL@E|IqR=_0b|3 zKq_L18d&*{SDdKn|c2xgH2{`mcg|8 z_6P;pV3_!a{Js>d&WY-i+Y^1Rpl=~=D{`(SDX;;TSVGCVxDhYJnTBBKhUD=jn{*gC zr8=kw2K{bInkbNJPiP|jOHm!;@f*N`)$gK<=2+!rq!yOT?Qxy18=a_WIhvQl0B`6f z3I|%Kr5kUSC#)PuBr0k#!U?|R+Z-SkO4QzQ8m-ywFZvv)|D}yeibv?RRw$8Xlhr)& zjZH$FHgV|h(WdLQC}`oLAb?sFJ4#2TA5uD1i_c(J@>he?fo)M|7-A<8@1tTnL9ASB ziObMqu@Pum-?KpC5wdn-4(3q_cffkq zQxCA`o-bEbP4S93H;X9T^H?PCnQ)32hFX>Z(SbFH90=Z^h)!UVD<8B4=H>h8lkpK! zXT)6-n+=NaEJ7%N=&w_nQBIeg@dKwtC`bdln*4b#DLEKIn&25)mX3qMtjvZxdDdfaWEAB zi;xvNB9Ie3;W8mEopTIv*zz0vw!KTPA#7V?l8!M{FniaisiwZq`NopjPz|gOgaUF=DaQp2%<|- zbRoKf(^jl53=@Wt?25mckVI3R@b%p72IGy~devm2=B-eGNsrEKc^mNkLn+r?G{9yf zcZ)6}L)F878#gR{?ptSQwdly$zDv4Dc*Dr>75S2SpWlx8MWc=Bz^hUsNyQr-%M)@0 z%g1-lm&%kA*NM5$6KL)&O6j(l&_9N!)@NBYjM_@*XTZgEW>d zjMyQ?^fMki^rtp~U~jTjYM%71N))Tzsyr;f=nk9z3kL1;tHFS#uD8{11HST1X*g`Vo?T7%+z{tO)pFaJ{d4S|u-!-Iwbn2y-$assYn~E^R7-`1(xFx0mgTp% z$%EP{7bHLbNi#9SREo%Df`rpyk&vrZULq+$;J2`a$f`QQv;II}HWq1+y`@8e;^3c> z4F@v#iFG9W5j#3=c(%w*z@_K5Dz$r&ReWaE!egurhl0Yr9Z481k56Qsw1V*_+j4+w-|D z&qNr9ZsdXSgM>id@?BMF#gxaM6aybKkLbF~0ln8alGrGlw{nNMQT@R-YF?3L#Zj(_ zFb}w!x?>RgpkA~ncI#S2`(p1gY7Y!B6{kO(&IeSL2&o4BN{am&3s~1V;lj00Dhf9cKgJIMr@fYnzQb# z+-C0Ra%=Ra19N_ku!l8|a5>|kjJY}U6&i9t(rLx&0ny!ibcy;)dlx&(D?q9hg#UJZ z2P2y(4RNAzyvnXMh)~wQM2_s7!%LpB_l>X(CnkTOGT69-zC_Q%|M0#TOq2T;8I`q?D9nJfn zBrf!=OsXt++l^ACsAcT)dI0%HnbgSIQ?MsUpItY0oy$FiY*DekFn9xo_d3$Vx zDWCddPW%QX#EbC@bf{ag>M$cTL{oq3N^Pb8Oe_tQw~L@+Ijtci!^0zbg&cMGhD2lA)e1f<_}j8t6&L#&dK zGO-=FIZ|70zRDdPqy(dt>a)!_kbdCa*E{mqPv>wgWcD=piBG;l0G74ut#H&^WF1}n zSn_DOz9(H&Lz2LNI=2G*Dw8|CYi=vvJDy&o0g^iq!Q-j8vgdp7i&wLw|d^?1gd>siqBe+~7g0iHaM%=4Ql_jJ%r)yY~j~);yn*AO7(jYt1LQ)q;B?%-zcPzz5WHdqJ{mIgIx|!1YtM* z@&6`!*=e_^{KdQ`wnDj$6r!zf-2Yf^crG?mD^r_O|ZCcRf=w`Ui6yL5$EMbl(9Dk=-!!-dU)QSD2(1=?N1q%&V*Kz zU8_ZU_eZ{)?0U^%C%rl1YS@z(Z{ZT6x_=WcJ&brk=UWm!SV(EL*MMv^ZxaL0#BVZ{ zZGhK)Rh~*uOt{&<vMWBG^fxh**HD1G{}GA;DmM&I>acLnB)VFk(o zsy=*EUXiv1Q%8SORR}4Y$NC%1M0{dM#U`UqarpvRUun1|Yv|l4 z+TQx%((m8qeMe0_q$=tlFuqhzgRbJhan72Fvi8+6>qcUpU*R{GU&ccYhJ=h;HL|86 zFKFG5bDtOORi)-l=`$~h!gHeyt`*zOZ`|)0uYQkMpsiPt3hMi?+&bkNHzefjW&-v} zMJ?1K_n}Zhwh5xy(00jyy(2z?*UEW!79A`3Vd;?x8Xk*UGUxq7{d#7!q#7h~tt3NLS_Gm4Xe_?LH=z zEzsjG#q8V%GH4jv?lUPK>Be9CXE}^G=y!DF#$SHs0}{ep#ne5S_p^$L7;6yq{cA?z&~99;r~- z=n#TeG|Un?4lK}rVT-D{B8<~_BFGUM{ASt^TC!A+d*I0|I*Yz?eR_|x^&!GZvk~7(4BZ=p?;|9;C7)7%wt34@5 z*AlRyBJ~mfb%l)s&S}oQIB|BC z?tiF?U`V0L+e*iwi91dFoP--y!)-<~4z z)h|dsNLMF_^-NPKJ`U*8^$s4ty{09+Eer9lBG~`L=fgJj&~b6NWwuz^xomu>y+ntw zvr5DEr>EnUR;$%U8hC|A6u$#!{MHAtfUyctCv9=n7Atjsucox|USiUoFo=MD&ML6V zra{6SRb+0TgEZzk#|(W-9MCDH8^=t8DTb?3r_NZSnvNXT!G=c{H#0nQeeNhWu0*j_ zwypWM;e2@I!8YL!rg{-LTV!ko&=SYQZlpMf_=d`z`?zMw{VeaAqg}Ke=AQi`jmXitcpn^Blhb2FiN5*g;1JLgtnD8wKXvTnoK22gpZm^|c+vNxKBs+K9y(?% zTuQEyjg^d-<8z2r6Xj;Qp(ABJ!Fdr-0Zt%w+iAjvOxNJkvGMp7vY-^&EG11g?n^c| z;v_s&13#Rcu!-)j(zbkE1{T-(W;6$gTlbQNjR8KhjrQM;4|X%dE@xX0JX*0?@DO+~ ziRU<|DbJdr(a$*q*r4b^>TY@Om;}G79I_bS{fg3kkVp@!_`oB?4i_LE)2=>a^Jx0FJL8`*BJ_k;e?z8lqd2eP1KrVMcv@qvI^Y@QeH zoW6;KPCO7(YQdWJwT|k-hGhloWcOX0s)s)>NSQ+UubcPC9^wrDyH$ia)0mek`PGbR zQ-3ZsuZVdj-X&?pZHk~9D`MBjSY|d#E9>?wM zI+|ul#4#r<@+%g^aNvY8u-)hphrVEHLPWDjO6Klp)NOg*x;`**$Jp_KhMW*3aQOe7 z7%-1mP)z#4D`ay|0lqTP55(4jAQ&6ByoiHi>4L^En$k8`ss3L~Di9sZD?DKs@g2MV z60Ur_8pB{dRU`dQUAcPt!V5lSuLRy^or}7 zGIHy7j7hAU$GxN;*Ii9l9hbe&1U6dc=V)#0z&DtS-(-%zRG?bgA;9H%Yt9qIN~+-POWwt z%xI5w$ZU3(h`GmY_kqCUN))BZp=4$RX})bdc%>xgAPX8kpPrHksQB7{7D#~Ey9-3| z_-hFH=+3w=yI#wD^RpGN6}F9APN<_EN_Ue3jB=f;|D5$aQp0NNUg{LQ{bPRb*BU(9 z?|0+BqS2#1bSok54PB?9crIXDCRj!c)$#4J*=cx06n_d-AQdmv^3_i;PVl(TmU3t= zkl;n@bawCcK7hX>V#BTQddRo9ti0>=6PN>^MrJa3=hu20`OMdgbY9{`WC~e8rsFs2 zU2NzUQZ{?7@?RV#t#`5m8E2Ul2?!r7U<;PRnMxjJCDiS=BS`0Z%1_o|jysA?_j-E0 z-XPCvn2V=Y48*bK;W7=(M6+zn?f&7gq*-l^Q{9jdQZAEJQnxvYI4~$aT>J5mB`H(R zR@?7IV=dEXfOui`Prt*)(hP-A*80ecWDX9<=qm9>5A<>uxSblQ6!qfyY@Ni6IQS}; zX^_s@&l0+(XfIe#6Q>Y9htrR@7PwX=?6HGz;G>NKUbeJM_o}>E!NY9GdOk#cwmobI zO=WmR!Sjr>c`4UvbC1n-?W74C*rIs(!l6DyRn}d-&NDVw#2t7dA2Or8js;bIOe>Wv zT+z(AoQ9I>-bfs4cBssE@N`=LBE()r$d{$b5Ujyd2z8w4^43%0w@5T~PPzNm+h-pw zUlR`26y?To(Ytq)P1cJM_)7XP*1M>H@Ga9@X->&~yO9z?rJkzr&d*KUd!TR7BM1S=vpBxVgVCR8PKWoPTtAkqPx;;eUi0*6S*D)* z8ma!|RgIrjg|J(e@I#G7RPJ4?AMO+6CT=7je)F*rqFix_z+lF z*551Klv7q`@OyfUTawZ9DTOhzj@BW6qmxcV*|PC8*chN$NP?Nv)k@x+HIL-*<=m_+ zcU*qP2F@H{lIwQt6j;RR$jVA@X5n;}?488;FC0hu&)LOwEn0;+65wI45uB_=;d!n& zw2s$gW}W-J6t7Qi*f#cd5!{Hu@i?k+c~F$P=j02&2y&hoR_Kuz5tK`6KWAN-d-R~= zi5=-Xkvc0QUNC8)fue>6v++wR*KfYLO)lS+IvM$_e8VJYI7Db-7N6?&ZcR1sDx!(8 zDf!WACp0^WZI)|>7lCd&+3Ps0f}Gv{LBTs(be7cD#s6Hywy9T30lq+U(&&n@R}(Xq z+}|!L#)-a&*!?vKuY*1OpO^Jj4zU)LNQa5^vMNR8QrrHT^kC*OMC|n3f{(H07AZf? z`@Sh*Wy<5sOGp8d5GlB0SzS>sP3b(h()@U;nzx9UlBDamA}{FRV+Xv$iXk|`wJH2d z15O90RrlwGCH_3c>7wtPoBE?QMyJgbiUxtJ#O#OXKMS6$t6q1I$4R;00`9m^n%VO` z<(7o}eX+BN;nq#15AJc=?&yA_iY8O#_IK8MELOk9QJGpFN|2(~@1z@W?ks~0ONuLb zvtm~BJM-no@9yVKJsIh& zm-GC}keT0{KW_JY+`USz9xvtxLORBu-1McDIExizS-7n@=4LgAD}*z+g)i$acOTVH z+2LMoreOT5W{?}!1bUBY9Gh?PLU5kH7wo2E<8gW;gfa;Spaa@N%q^2YgcCQ~;at!A zO>ZiK*-`=IEV~mf=NYG`ViLA~Pnc+&|HG$wspIp!l*~UyF%REt(yXmYD^1NYBwrZC z1tJ-*rpx}>)$f$!qsWFZ#{%v8&^CG>*hCI)oeqH^JP|R+o9;lINaaMCsfK8x;k}5( zQ;RH@#hC^k3`boqpEgRH`d{xG^D%Zvr=Mt)>QC6-Ry-(t3hVAFnC!bg%cxti8r8-w zC|u?w>1Uj{r_@EpZy>5s{dKP#h&0YRX9l83M$VgWGwZN$5a)Ttwqi4e&%DNq(Uc9( zsy~f7J!}|wEmcN+Em=d{Xdn)O4_d$zEAPxllB?M+!SW6#{AY{+&lbbAw2O;2qJa)W zn4|P1yPoNu$7jJ;By+d=kt4^?=aXIr=dT(iasC?i!L3YwVr3JCRvVL~_Chp}hDCW7 zk_P0C!K$Fea$-EeSF}(jzM?Se(Q13^dDbS|bcV*z&;C^Rm#9dSwDqw@esJ2*#dO;I z#}cjFSyJz%#3VfSS2B3TjYz`-=f`Qsn#4c*x>qYVBoW23p$rW8FL|$(L9cg>h%Y)_ z2=wkmQ4i~7Q>J5nvtJy|V)M<577Tm;=R;sYXRtum-U;`h)qxQ#r1uv_?`r$Sc%)x> zAUcMM)7CGSigWt{q$$5*`}|+eAQ+ z5RSu`#lEAiO(`Ce%Q1dx z-21o7%l=%yQ1!}1Qp0ZLUCuJgg~QmaR-E4vc)Lhn17&9$fUS~eYyNb4nz=X4o|1gG zNL-C|aoGz{?kv2I45V5*|JL%)tJCT&Et=H$%(mT@EM~0`WS3Sgy z1$B(IYHUBNg*PWT5515_GHlY>EwcLkgBZ;w2RN-!X~w z`qtvu8={Gc`Yima6vBV7rQY{?7gu#A@~T1j`a}4}e{ny!YE4k3;*yHGM{a7)G3o(8 zW0Xm8bTuFg_+|c!%zS`>YXKswbh4RoLK33Pe4?pD&tJNCS=_dcuZD1#W(KbYZTK8S z2p%iNeW^=by`BqJxUUkDE5b^Lwv3;(yVsCjHHunN4`0inKpgNF#zy1WyyIgG9rkw3 zwz2vNE4=H&g!tM^)b-~yAc}*RV!S+D3b(}AJ;B#DrI{JWR|tDwjsgA48hlsd{FmW) z@d2)747TOWlx0MW=fOvBm*qxmOZUR8J$z^7%?!t7H`Ch$@yli$LXH=Gx^Za+QA5eU z3nBeAP+#mXg>d3(2#Y~g8$u=!OqON3MgRSC;L)bZznz5e9*l@s>k;@a55?X1g}KGn<8)8p*+eVd70w-=3Xq&ATDS}&6@3o_22Md--FMAm0Yd|GRs_woMFZk!5NCX8<^t0fG9kq874TSRiRk&`uo%lJA)Azg_wk3##;vUG2bH z_ysMn>hJFqN&dHeDTan+s_Mx^Vtu1c81xO|`|&?ykz~xodIZV;eBT0A^R_j8at2wN zYctO(iHS19i8>USj&TUW^5KWw*A6wOve^dx&ojishBnE@o1r}(p@&u>J2{Cmm)Nlv z6n_kniN_%)Tm?0LAFe_aP3mEX8#T++Hf*Ui(*J^ySFuF!+8jcTJs9fV|GEn1QpNCsxsY7+fGoh%eob2!tqUlGcbUC3L_x}O>K-` zjMNGQpYIqT8{(AH=wOW#5{bt5(F@ zNz;vYeFKkpYI=ULjTvp=&%A*ve2fCHUM(DrkLbXQEw6#I&2DTDt09Y{~=doeHTq8*+mRcf|(g;RHZl?*o&;Gr)}SMtw)Yqqp$iVTMd8; zi9)-fjS}2j^|szkA>3&V$2o>b9^ODQjvKt?Z#=%Ue5<}5MvsAZQ{JzgcZ65L6o_C$ zMQ%V`57tU(CO3jlXN()B^yT7_=!fKWzTYoVE`8y}s4^0o7P8O4r%RPf28vCI^B;lA zq>IORCCSy`+s(Ro&mlnQ9x*{qAq&OQ1Bx6nAGL{kC%%?>oNuyiZuI-Oz1ApGiTdTG zmBqy*uYKLETpI}2Ah&tbno7p8jeA=YR&x!drYh;rO+F*au<6DGR>(*~c71o7obNmZ z2fGD^cRP;t80KFi(6>g$M_e<8Y+pqGW8P@3Sj=`2hC)HQK$V&rr>Le@Ae~IrwZqRc z_mh3Yf=0D$eE{aiS6j47iPSlN2U)^&!KRC-(T%UGoncI)B?rzwDj^}2IPWBsg|?u| z{Ea7$huhW$nkBbTFg7S*D*_nL31w&X!%xXRLEjQ2n>>NnCHVwc9oEcavoEj1;;z_u zl{hKn1BwhosvTG|bt==K5oYk5%Pv067w9Sq6-^04PhXms4;s+aBMl3Sv{phtDan9f zA2jCAeb;RTKp4Xx(Ey}QqLc9{pk~q~!}YC+7UcXSrru0gqcZ+{`50R)0gjJ}%g_j} zQ-jpwr4q?YUv4_{m{>g?zwI-FtK?oC)qmt#4*TyVYFm{@hXJjV`?t^~`HB+~$(U5_ zmeUg2c`2+R$*d%bW65jd1tKCRp|?+Fd8(x(iZhEjaMC>x@O8SO#?pzetDCtxK8D_D z+wu8oOo};Z6Q->GrO~RlT`@4Oy|t2a zrG%2o|C+K}3viq2b+lO=Mwjx){Ix|bj@W<@S^pghc{4rDW(iUqmTN$2)}<%SCQwd9 zXH;7|laPKUhWo346fcB(#cX3l3OJ>HrIX+f%9!w-oR3;(M>j_-R>ic9&73lC!N~;z z^>%J<#kmw@wP5Op%EUC*>*0~N4f?C8H6lP`0_@!dKsI{`{R>=`p%8b27FEiS#=n|X zX+OX3MFZq7Iczsfd#apLzo$l;c#E2l8Q@ z1jWrhL~Qp*+L%3{KFGI&Jc6+VK(k#>c4^Z!D=?J>x9vSiHL@!43KQQ*@xvmQ|BtJ; z4vT909*4aMN_TfkgM@^Xbb~ZVN;eYHp-6XkNOuj5gpvb8hjh=-A>Hshdgs{R3BHjJUMo z|270wK0{~ZiHYB|=GkRxCqkm$kZGuD+IB@5uV!-sA9* z^Y9&}XMcwx>1C~_d6UJP_t%+ncv9-rT%n-rQ3maM9KmAUc!1E*cJQ4g}^1E(#lJETVKNh@X~*A!RM1JZC+#<|k< zgqKb-2&7n5SA3}(qg-#^)EU=O1kEEUsQ+cc_gr^hHDjb>IHgx-96D(SKwif8-wR>7 zKu#>0dVk7uGC)MrGK&(*j!Nep-~Wt_vSW4xW@_!KZa8zrIfnuV5m*)d8L8F0w0D&XKilfuWK-V zSuhMZt&+NAWu23@whA&Vco?LO;hHZ?CMAaBUkm~TJcJiR&*QJJf6)LRYNF_*5nC4z zGz9!;6t0Towesj?o8akoRJ{xh^d*eD+HY^tsS12eH^U(z^qKzK`gegv{P@ywB(jn7 z7*a8^HE6%8US6HC4ovpsq^25f_zeW#05=N78yc3IXqJ^qpmSR33tH_qxx2POMc7r5 z7+~y@b^IuM=8ir%#oTkz3yw`E+G{3QG*vArlQ*5RE!c<&6a_pjUcNvDO_@imf8Ib^ z-p=YjeIWWnfBBI{Fhy@bu!v)zn+OHu>(VNyCnxV;MRcCYuli|c2}7j1ul)-|A&!0E z>+6{0_=>STyt56ZAL_6avVk@ni7>nO)Pw!mHqNLvjftyhT}NT>26jWJ6)QW|C4u{X zgQT+7v4f5oyz-Oha~_~1DD0NBM%f>R>e4xJ&Baw4!9(L3>_9qAY#r=e%PogN`O;FJ z!va|OHV5sw^P_h|r$mwyqM2R@Kb0L{o$s^8Rjh^uFx6B(k<}QHsKjAkX~w!hSPS5X5(1gOZrYaRIReyAX|i=# zb&p^RzdoI}@D9bp=U@TT1%+aA9T)O1^{GzlBX+F{zWJ)UrmI{uK`k8p%ezX2uewH@ z)_rdea3rRWBWyCwYZBKHxbae*&xxf~=Our87(MeB^G0btUL9EE@87RpWamjZlWk2d zB1;ORMl-#Tc^cQ~WuEZ*1Eu**p_L#kxka4A_EDU#nwNMW>YOm0b%1uD#uy^Fry7@Z zt*$D|3~_n}h@Q*PdrB~5M8?}27k49S#AnjQ`Rc(9&b@>YHzX2|35c^Xw!> zl^Z(rJe~X#B}3%CeQgLaJ!9vj2i_xFPr36)1*JHc#+XlTiH|I7PE2n&)|7J3J+j&r zS}1~JtjPRm0KYMB$ra5+a${~t-LR1V*UCzC5#bzwRVEU$QY%!K6YD@51nOG8j~iSZ zGRys(i<~<`Gf4UNy97}kGW`fXN}~U)7FpG??z}w`^Z(-EWZHlwm#6iCrEs-HxOYw| z90l~JZI+|UWj#oOXxLU3%QEYdbuB@~ z;BZc;SIq)op*rHGsSON!NU{pqp)@c!Go!m7Z(wVXBB@`N@Ct3)6jX_XZ` zwUku`{^RAIuj6FIUF%tw$Pu82KDK_~W6WbUGNNHjf8v~Mv9hOXT-qNcFSGnITZ6ZZ zn*^!2MCQMI^`&xS@T?m2!H&Hq%O+Gg#%lL}(5%_PDFkx;C#Kb;9@&1VcGEK(7e72M zwDONQ6+FwVC{kh7ngBLpBGr^fWh}iTa@_Kq1_wyYENhlqBM-mMzP44ay$s{yM$q;r zN@s{>o&wJrpqf|B?2lV)F%Pe}P%@6n?z%?^;Fz%w)X6D(RdD!5mDh==u>`WEG3Z&6 z4j~J)D#USu8-=cFZ`T;yGVx5xU+E)*8a|djbv>8^4Fq3C>%{;gRDL3T1#Dl8SToA4 zRnkPS5Wz`br#3%eBzzD)(oHfAS+luDGycYTnqDGPm+u8)Jin9K*t}g@I~RI(a+;S? z%BpPtF~cF*28GhDRDfS}jYow%<7<<361FA3e`H6O$6tOO)O&gQR{lh@I0=l%>qD{s z!8VZ1`bI5McNJGYL7%pNCNOMr<@-KyC-!{#idh>NTILfTwlU*c<*h8~s zJ4$&Q+wuz76`Zx5(o|1;%;54*VQ$^2IfmkSZ$iVge(8D$;C_wgcYZpNG&9eX zkLr6_tN2rwRA|Xeo!n z*f_-l(xsuhwhm1z+6)(MO}u?jocO94e~_uw+M8voq{>t&Z084|>>;*>Qz8)QxEcmt%QB5gxJ1Nb+~miICB z_)9@hUYE1)aeY)P!Ayvrz z3q7fy)C{3JtTGoPG<2TOJ;N96t_ny1A)LPRKMQjLQz$Y224@)xcIqCPkZFw)FZrBf z|3l>TaVnfOt(ga*U^ZK_3(4yI_-$E21bIdYw=Qa7ec!#1(c{R5F|LjLiJrH%lQ%x| z3W+BHjmzHh*+3g{@gkFwLy}9gfQSgr{5*GF`MniM01Av2Y$=riCH^&?)N;SR3Np#< z@QlL4QM>*uizrMqNc-?UiCs4QwMC*Y7oUSmTK{4SMh+dqis^a{C{k=&tFbdVUbKy1{G?{+HJi4leN()MPwe_p{y{?|T> zUY_it1xD}9LJJ9D_s+CRW&P)GIF=M>Oxad>)ei$sHsr;Hf^TKyHN@NsgF^_+;7T~c zQ&z>jSTtL;JZBQu>Gvye%oc)ahGNaA z)^$Dcw~nKJj>D`zx2_7ai?gJY&#IHgJC!C{Tiw1&81dk4vN*{>`w*2Y%2Q1{;@5u~ zosgVt>+!7<9!!e;*x(z%W<@P|6M8-}^bbAl*R4H}rs4>JW%^G7zo$;e!8q;b=}{+; zOJu)@)iDL`qEx*F9`E7gI+rby;gYB{*nCpALu7CPYx{y7YTx;jUZ(@lN>DcP7GE+5 zwy6lyFYnHY9Nn{Rd0KE)2Fjqdn4ucZPA`WyK~G}n9j6UEtxnUAQO3iGm?}*)1>sg4WNAf;2CQ_{Q&45cH^_> z4fGJi;K1NMU-@(X1zt0j;QNl_`*%@#L=la$w4Y<^$oFlc9Kzr9H>JJs(})7zTj1@M zX?E6uWi>}h*lWhl@d2955>xQ8c>ESVjuk-}uVUYu_q{j6Z|>a>xVKoGb2_V1f{XG~X$e=a4qWO4z_e}P~{YY+?7roJv5VL})l({A^ z0*ArC=u~{#tq(TPP9n;?$0Kiyvm`#z?ul+e0pSN8v|Dc8D5E10FS^+KtO`poT-s=D zbp|2p+=tjVHD{(k2EC5QSWWM0@pY4iXKK0d5dY#h>{nVVgMn&M%fp)gqs-8Kgfqxy z+{36E27xPX0i+LUuJw(tAry|gjma20Z47klt%J%@3iWzfXpnmQ7ruX>dDU+tn}Kqs z-&%8izxZoUt_dnNHrgI{EGWvh9^1|kUOA!99%2U5J*{doEJj`$fCFM~PCPFBV}h5b zk9Af8rkC&bHburA%1?zB*?xHs1#x^z4@ec8$?XD4*QoT1{o4KSNPWIJe!t4GRJ#8TrC){pN^zlKbEc`Xiyg8fjk1$T7yTd{$%#1(ZHEtyyDaO(I3% zD@a;_DPuZ(``(isbFvxtyq`N#l)7Ke-^@R6k$ZW2h`<{A)xE!pu_wGb(uo0vb(2zI zd7(^Sg+FOF908d7*g8FP{1+uQ^~NmRlX%LL_a7AN>E(O%Aoa+l6U8R?lmy{?^fPRe z!E`DG`huc3knQw7oq==bs8|N7#W<52->8+3H{?YD*Hxl^?-vxH9&Mf}!}oG>gS{ZX z*^?U4%s*AQrh^{OoA-RD0(eNH=ORNn6VBaOtOjTh=c97+>~p;1O;-GD*@X3YRdYoq z{lrKrZBsSE$m=W#A@M{yFw5t=7*L-~Jxke+XBWFNO?!ACP)JQA!;&E=SZrjG?oadZ&Qj0c z3OV5Z2yjdncRm+HM$dID3D zRoYE!^MaqpjMY1lA#)|MZmM-RfwaaEGr=JSpTIBVWrc7P0EI|nJeqvxH14t_?mP9= zg9>WU)g)`6Fq;jfVO_krq7wW{4N1dsEkvTz$o*yX=|fEGS0fb<9+eTVt1T43r}~c7 zGUtBF;=fFir}_;qJ?Y~b?TFzv;`g)4XY83NxVLq_N*^LK^V_NFks;emxfQ;nr>$59 z_(Aa%61ASkNaV<^ABVYoZ*-06)1Dqeh%+=$)|Iu$b zl+`K{VlPQD!R>1y*C_yTdpSS+TUnZ=fwn|!gu5Sve}0qkbk87IbXN@XQrc z@uNeE0{d`rJ5aW-QmO35jWbT81UUAG+~4JN6qhM0?vBb9JYM>Go0f+M zWA?aj&GQ;#sm+6ks}Ae@nS-Fw2@EpuA!}r2t9z2o>uf9h@z~`{xLkvv%c*hi#Si2k z?qut;NBGRATxeZbUb&~848hX6>hB3Sus;?Y-9!X{nJ04EZkkF`^;r z&35#}@?Iq`gCXsbu7%M()?T$qOM$wgvX30ckb8e={}C!qen$NO%rX8HFaa2%+E zq{PA{OKfBtiS$rG*YT@ECg$d9aoMD;2zzfgiCKUln@;ceWl5(kEdLaw%HKM$FXA_3 zWteLfYSFiutN-z5M@qv5zEA_Ttk9DRdUPOpnSfoUBb?0dxRtqXvmc}AnV9By1NY&BuuGtyeMv1HI;>r%GYeP#EQcwkOnnBv zFo$QAJpSTuTXQsJt=xC=>c?x z7Cz1LoX%841075Y6I~#Pl@cw0yzP-sUy-8*1Z5d)8$JV&k4zIhI5gO^eio~?PFJvE zo*@0_!fGfs%OfEeSlM3dBT4!FGA>&?kS(C56qod3smzH6zA6Y`rk#=Y7A9*&Gy7-x ztD)7gO}x9d0Z^D1Z1`C~p=(?_a4CRi4|6dZa8Vz65Th@BHb|{M$HskAVa`TH! zMP#tM2uYAmh)9E9dI!fT1?`>XQ)8wZF+bIS-v2G3z>DR>!_+&Rz%?%4>!3*F%aQ$H z83UWjdXY*9J+CCcX2X!M;56%9dCD3A?f$621lns@RN9U5W#&+wubiIX6_R}(S~hm3*C3&4^yJ*&l* z_e&416duxhNzzgYbe-rJSS~p!%^5r2(!wFElU9)7Ys%`3cDmJz z{YBtZF6jC4NKAEH6cz<6g@ge;kH^m0#2|ZhQZkw3qEE>4D#G1=@2!_`LyVEutWsr) zMbf7si@CsGzM%cr#L zCVs^tLr8Ygg$e~`F^`sYw0^f+0# z*%S<_R}tD9u|U!*)^N-AGU)o5!s#o0aivxvc@o6~ zip=6emxK*EuNJmwXmABRe4kohg2DOJaP`;w2F}KVVB*Yb`m(pyWE@NWMXHSMe84gF zt}ZyA1hrR5YcKM3cA81VXLEKHc;K%S#!5>`UxK=5D?1Z-&_Th-*+&gn9V%0<^5Q9G zI9I_-vKQjN3CwSPkn{M#R>=N$xA-2Wc$Ef&Su6^1SD`}`9;hG<>MA__=SOqGmLDED zIIn?>pZ_r+^O30Xc&9n@KnS%{4;5p<=NeG`dO{#u<}u;nk8bOrJM6=2HdLRiC#b+dA$HOmf>6a$I0Q(lY|{)&?-psd zK6AfS5wT?$uoTbfcu1gpxozK4NDV;~bd*f<|LB0?vb{U-=l?@x5mrtbKzn+5R>2fa zz^a+B8{2&jv_6JkrR9RvAjw7d0-^bhlj>^W|72H@CrN5V9%SspV4YrE2jL4^(e%Ir zeELGm{MoF;+u%k9@S~mNi3B_HU%JxS`Yb`(UoB<@4B|b0=_sCStg@bsN6CMf5J;Yz z5Do~mGNRv2)T%dh5}f~AVW|GL*s0ZoVPLC))C1cIcZxlC>ksf20}NI>MCU?d?0iUG z>qo4&4*!y3df~KESFYUKX*QALFRsd{0oniYf;JN=ot+TA3yloYO|w~Zr7u7n zMvH$oC|JQNze*6j^w$gvEd^HV!v8+hMC@usH;0>+g)hC-9&Cq@rq98vfmRjse z-op1-w9}*dtN4CGw7=9Ou$$gG7jTr9%$csChjMxm>J*=PwQ^d984ZC~NIQwf+(A%J zJKw`|rhvVHgFjv08|%c?tOR^pS`vnoyye9=CkynwbwLNYWbFq7iD3Y$IOc~!M~!?e zVT!>>Hw(|T<0x|SkzK&i+dxB0q6|113R}XkvSa-%U_e3|BON2ZYR5RIn!~tz1yMRY zkqt07ewHA4k##$DjQhisTC%9EEVeh!VY-@HoTaeHzg4inIctf52aNq2TDhn{e`GHMOr*Ct&!JVE%; zs;Dmh@N2@1=8eyd^#1kl<6y?Wk4vx3l&J7i&cYDW%~t-BS42Osy$>1fai{xRr+n%~ zY$)|-2B`feJQ59G{%G|c25Zq>h1yJCVg-s6jlx;)}=XWJY6MWmc_d_i$vB%5D& z;DI@G3r4dyA*4xm?kv9IcPTo_4PwvzyU&Jtq1Be@Q){Spr@4v+16b#{OT0R9*~e!}M;918UoNQ_O#GxMdA+K4v z_)0dD3cRns{uRUzeJha&YJ;ws%Houu1Gb!w&z%(M|31HN;Y$kSA2#8d4PNEwkNX@k zi`@U5{{$$9kh6*X(L7ML*8Km4aoX(Qwex}+AfXVw$X?wO#`J2!b;^Jo=bS5&R=We53(wO-%N_5^ zsm))=IQj~R^O^aSVJ_L?Xi9hkw~msP*lvRf|b zNB?hKM+r*lx*d77W%|&{;(3%gv+!FoU{$(aE71FkYUbr(Ew1^4M{=p`F1VEwzgARBnd0g5470g!K&<%5Q^zu7hoj3-9TZjIe9Uaf7N7es~@)ks| z1826jdWE&$DXenWGJ_wQ*8uK^mNx%uwMv6r zPe1LcM=9%Y0|=2Q$k}gpr|n$NM-GBFFOO@z7T3raz+DtwW!nsJS`KQVW!}}B^WD2N zMm_Bz3I{;%fN4-r0!olZe$eS*{l`V5<4t$KloOgZc}q-?`F7^MEF355_|RwACp3zx z+)FmBwwNp7vnMv!XR6za^{~mnCDVg{H2SW4SOED75b5-G?0;vu1f4G(rdA@(A1Eu! z97-C1&M0`;0UMXG#A34q(9Rtt7tT`zGphrYLM4l@;pa#g#HXIv5dRPzh8u&cK91sd zgR{Y+Se8a)Xe@)2ztEEIaxzD2y zAAnUh>4IssGzSF(%1^w9Oh+P$wf~v?iqvF(-l_n@-9`=DYG*FC7M)2ApU_AU7%#cm~>Wu%!0y6{>1> zwTC?tfQu)eOPRPG)Kl}X*g!p@7u0Go727|f?aeH|JNS8m77J7zkvIb|LVRL(7?0mu zfjKJlUnZbF@U6#cOnCE9!BH5-N>hcmh;Y19Ps2tb-(FUHjJf1_t(~iK@Ylbn`qmu2 zOC`cqnD2c;bkrH>5k4xo8v9q4n)NbTna+1s+}b0Uy3fGI9F0v6vt zd3jb7B8qMPxsTUhQXr=T#s(yb15`y=voZDBV$;iyFUaCTmohU}@H>{FE8I7n;&B~6 zo}J>eqS4XRQ8J1|I9Zd<|4(vcWxx&p&W%b@vTjhI!Jwigb*{@EpJpndImyK<#$K?B zlA?HuJ}N~CrT95sj5nN9!t74gylB0LMIANbEP6AaGT!?Y2i0#(24*EE0zKbq=EyHz zHDi-rA5PGz{7X>b`l=giqTXFvXyw-lSu|V$vlfQdZgAM@UC(OY{D~P+b815|6bV`O zUT?tI`73R-(=4fVE}A-fI090;H;Ofyv)y|$*MLJ3Q$xQ%>PmUsQb&;fd|n+9AU&D0 zkxl!naCJ|&@2-$LAJGB1(6lS7t}E<%QI?Z@PzgAn5H|DlbsdkiMruW1)*LD`dykio z{a^S{6VsC;J7}&NsrB39uhjuV&H3y^sDy*Mt%15rM@Oz^a|#HR1DcK*pMc|7qVO zFbOuEKiX_)u^#Fv5PRO?p;w=(&-RW@0bGCTW*oqm9CXGp!%onfd8{1MffW zCO{KFyR)ZZ$le5#ZhUe4Gi9ndK3h`U-4=*eNS&iiUoAQ`V$&O6%m*nm7G&Qx5W~q3 zn?~|x^peNpjh1_Dc72$<5&X9GIjja?5Tp*(Tf+6X-n^>B|zC)rmuUDqp zCF@PNG`>~ih5h1_Z4YPsoZ*dcLozDzOX8CkkSGS;&7BR} ztM6m40CNxKKS1ePe2=65#|RPou`BsKNpwR2Y%huIWoE<|*P6NKcKLTu@Xd+IE(ni1 z%41a;fZ#x2>Fy6as~WNT|3xiuC?C}C;w*l>zb_3r#vESt>-)b|n4w~zRyEZ}4nOeA z9?JEO#8nlzwH>xkE9yqSQRi4w3zGziJ9+%^Gt_l+X9B_sBmGwba*DTaKHM3!k3po39Qj;8Jn`Atc~oeOLP8Wk?l*WyX)vJS!hH)0 zgY8`1Ja%Y$Mh48@wVr0#1W4&dd*X2>Aeizz`Gu*De!9i*MnIYmGQhY<^Fvt0;=PSQ z<3w+rd2QnV%<&Zb*O~MUyz=r2x!z(L98u6Q%`8XarxU>eiW%e-qh)P}gtC*M{BkP3 z!Sn=PY*~f9sX%&T@u~3B#P7xQ#Ekpj=l+}L1M%kO^fq;)LrPP*ijFENgu7x-4b=#% zG2sL6U_u1!uXMwR1`*NHuVJW%1aNSWPYa{B)q1Q#fs#abm!_Oga{SeJ5|06wD?RKH z_I9g}be(^EdagQMN7H%c)dmE%)WmUIM+3uXscE;!2eJr;W8Q9&<0wI+!l2~Q&@AU1 zry4`UalW1JxNRSoT}5<+6b`EQ+U#b^8%aVw5(lz0YS|*SwCl=!`Wm<9E3F<}NeJyq zPRPuyz*#!bgjyDXf$}{DBtaV{a8+h^du(A&Y)PqcqWW1!?`+AjvY6!8YdzF6p5C!k zW`=BkZCnrB?Y(jrM47Ij-H6Ou@My_u{&0LB1>vML8MT} zYtxy!fwX!E5}nSn)bS1PdL-fv!lfaWv=-Tp*el&QU~U4?qfzgzzrJVH=z-W!S4nRF zgbxlAtJ6b)GBJSKVs=T2rfDmEX$b?h2oQ)CpGZSLNS&ZqJ9Me?N;*vfR|$a}hbZbuF7W=mU;7rc*Zjl>)bjjx>X%<%O3~W4oXD*nn4i&xy&NZ4J8D z?%>~>pvbOx{3GoxlXq0Y4Zk6?H75R1EeNGyql8iw?ldh8YY)g!9LIF1VwO3KAVGfS zLoBv*(3l8%U!4!loI4jbYcLO+z(Mq`(2^aZ#|B|@hSEZLkh#Zc(-n`j`JVd~R>-5_ zl`GTUY+>oDRUopT(=B<$LyoS0w=C*;r`<1sP232(qmQ20*eGH&qaW)|40w zG*XNG2wcvGmyPO5{FBM}uh#*rw%}R2^i2%2p2_ zx1n0HK?FC`VWnTCldT#N*!%SE{WY3@45D6dojqP}KJw^UU`B++Yn{#3ByWd1KGXEB zp0eO{*OM1z;oaNZh z%*o7*7N{hxJV&8OpriOREgc=f33Iq7DM2WsxZ3s98%=G^GWM@QYWg813FysRaRPQ) zS!HikV(Eu{su9;Sd<1-R2dJ~kA-nRV^2K;)Ck9)c2^|a5&C2||lY?O67rHu@;=cp6 zrz4d{0|!BwpDmxMcj5%LU-)8!P8C0kCBtuxSR^Rskk>E2ytFV|iC4SC({-yRp;VMdT z{10k(!K9?DI_e3WstP;M-Z(BY<3b9rc)J zurPa0sH640vhbZs&ifBc>K1p1(V~$!60-cW6hH6~Lg`jOMJA_wMU5tVm^8t(=U^|f zH)Cibs*A}i_33f2XsZWU13IapZ1Od~Q!R5;Tys*{V_Ls*_?32f`m{uRR!&d}z|w!1 zG-IR+Sa$HE@gWLjGS38aiKE%3Q2G!2asV!THtLT93cc&AF!xfI0JK@+!%9&R(grkm zfm1H&v$6cc7o=9o7(vj+{^7Ammj0DGKb+WuLQ|w?@vx9P>(7zl_xOE zI8m$*PgKWUf8-^-b3%mVn3j7dOsiR=la-w0i`JZzbBZ2CpJ7SDmSEFF@}MH=2$!Zw zfAP(Y(tM=?_lv6h;Xnhdm37XKpa$S16z&Ter!M@c`wf@>7@(MB!m$XL!dph1NZjR} z&30#c>=|lyLDl(swG5oe;@oCBV6$W`HmiLn0_|p)uE?U566BF2uqbEhO5s0e78$zb zLHr85koB*)3A^KsQ183AF_TAetllp0%mXh#Ng*FI{y8jnwvqqmloukL=+;4KN}iha zMKLzFXT6qa*w(zN$#&RgMb3sWw%*;x#hd0$soCNAc!z4{ZyRS&cYL^r-)fqN4_iuQVrQ=`d(|A|R7V}~#clXrLN6r9m^H2bjpj%xsmf3BmX?;$RRyB9hXacDH~hRDPy_uCUbiy*vvx` zn;`f5jC(xCA_ohLg1$K$Ioj#VFonTirEfee6oVb9PMa;QOc?Lt&fLVJ{}Qu|#E;pu z@_u?{kZo3cVA46gfj4=Gmx|Hr)gt87gf{N}iLq(zBoU}x%RvyQ!2=x(9hPD1GOC!A zOgJs);u_8k98g+X**{Ey1sqUK9pL2uf=+vN-3tsLAAL%SNo&)?#mMoacySy>TR! zgE;D_DRqyHSmJ4Q##{0&Y3EhN86p(SAnot4SmJ%?1dME|q7OZ6&J# zc~8`>_asJ2WX#Q4`JJn|d7+$IamCAEBqtc{>k;SYRA{HNE!(+KzaWmk7ent4qj+?E z7O(_^E!uMX;gmCMMGMo7ae`Fn{h?#!L0Ydnne*p*S3TWty5ud%&VAZQP$#$(EZO|c zLMZwzCWqJ+!4M=Ovwb-b>4vU-h@(GggacG0p&!T0i#6|iCmBRkqg{*exZM7G}|84uvMH-;&pi1;ptjKd}+;% zlC!B4qugjGPDUq`R}eMEam9{B9zZaeN~=s>ZjaXecOIFsBxT{OuP1LlEUoG4!J#rBU{soRkz{;79ax~! zVr{P*_Z0G_be6dOlB07r%7>2mapk_!zV7THFaqFcJ zET{ODgEOW3@ra_ztNLycZcQnj(Jit>;0unh=<;UwmXj) z%DIH}M+ZG6rHtp(MzapGfdeGfY#7))LMje(R8}qqC~B|~rF*IA z=nTO-tkKtx=Q` z-0yUH8r(=bd9#4P-kZ+yn?X84KqEM_C><_t9IgMshJ^?_XAQ|q8>l11EP1goYQ>Rf z9=fDP%6}3_A`x0P;iSJ=>UrPpm03BHXfR!xFdTUQPicv?O*B(~!51b2FMKx29&CKd z;JIE;!BDj!N24~{k`D+<{Pw~IH%$T3NqP(*S97bSj6wV5=T zR%d|)wM7nliVo+KLD$v{+8ZVR71nvn1ziyU_oU$GWlqic?NT{|>Rp`jbXo@W+yrH8 zqpCG1RS%S$P@ea4f4+T@Gq^%dtS7lLLhHVa{Hp8GPX$rEHeJV|n&&a|`>ApCr$Oev zu*wmb(1n55Bpe@$fBPdu=7IdePHFk*1*C)WbYG+9cYc8=H>=9+$4x!y;wwX}?pE16 z^=XkD85$;9%y8!L)2n=z29^;8vH>*Zq8p5e;Mb`sTaayO%pJ>*mVk63{pW3#re+eD zPYRbj!`b&}!gY9FRb)US#NDSms^{i?5d9*>X-K3oBKHc5$l$cL!j=DT!*-C1F{=w%{8Qb#zyY0M6tC4Z9DtfX~!FRVr{IAvI)s__+TIl*^xZA z9AimsW(XGslN=O^t+_w{@F|df$k@9YPqw+(PG_L^uD%vbB|rPca^mXLicMWHw%tcI zDM@p4em7Amj%#t-v3r#|snpHJI!vA8v!gFIy; z-uvXF59s(fN?IQnq;NG7*RF(LGz<4QcMD22Nmq&-a^4wP2NOw)5}arv>EdY7RMJ=7 z65h7DA$~}YKK#O)_XU=AR;E@y zNIB=juB##z@0farnhc`4IrA%=K?MPYG9Zr>OQb0bYfWbDLfzfgBF4#mJ>F_zFU)~V zRoIA2)60%Rwgjf%L$zeZC^U|&G&ed$={cb`i_0c}wGh2=Bj~%&3|K>hWY{)ed>kwU zwL0eq2Z{T;qarhY#Z{+WX@RFJj_gh5_F<6-6^um@Wbs7}+N5LhF$w@y;%dA{mp? zhYh*X6JsKq3S$UlH8@xE`F!9xISuQ zvU8KsuI0L!>q$AAbJA1ygQn$}=xc47z&w+&hSsQ8_(u1^)dFYdTEt7Zg8Ml>?3aNp zJrFimh`tL~X?_^`sm%LJVnP*C2IPpl1ZWLEUtYg>PLanG` z03OLt_q6dmVIdKZ=W1Ce38^ANFexLclbLyMOZHvJLeQAdo3g}SYe9|evc(J{7+~Om zCHcv`(qLTbP^*|nkThFICcm<^>{!wJ8-Nz#p1_qe8)uesN{!&-a(&`0L2r2=^Me9& z+f{<`1Fu%p@7%bv_T183espEtR!15d2%gby@*V{ zy)z|t*7NqMZU$ZyNeYURCS!b5H4aYJ6aov|2)OwEAa&l+NSL`;JT(gpEUrBG{Sy-XCI2HrX$IRj)L z4bx}P2L1Gf5aFg}bR~<%euU@Iwvg9g6X8>>b!%ahx^nUFNH=@}ixUKTxFmY!9a}P? zuQ^O>lb6}CZP#DChl&|`#*oLt&7L76No>vu`h(Ht{ZPhwK$1kQ;VO2KfKRl|gz=~s zVXqcE$;$g8)JZIO#^1K!{cVJn-X?Fr^mYz?x~b2&Muf{dPjqz)X+dSWAx`K>(s|ot zKO_h6y{2wUtE*EYl_%~*mEYwzA|;WXB|Vy9meffkC@rQ;Rh7uesd>kj^=Y))E`LIo zh)Z^lVDaLoeRDO%nVFajG(JF->E8&#<|LCP9g}gu|IC_^m4cOB``#YYbE84A)Sxl; zRm6Kp@TA-mDGVlkDx+Ba3h?N`aXt~adyVg|vT|B1l<@k)kL-fg zJUn7l_A$Q`XX5U@eL1_*DU{guc-8jNA#{uKSM^NrQ(u&J(54;{45{?R3(=%C>fog7 z`E&?my+X_fB;P2Zfk^)J!1a(M zfVq!ezYVv4;#jG~ngvp!aR%V*y-PwfVOd823biXR!~51A0s&$Q{UG(ySF73&pN4_H=gVm z?(tkEMd~W8s_AqJgy3l<*}S?q@uAtch)&dbxpPrmfpmU5g}cr+2#`()nsV0A?6Bx1 zR&3v%#-odu2^tL-xr#>c0vjR4MKbHtq=Yk)my?C8gyaOP_$!?Ja;~ae!!*?blgT)C z^YE?Rm9y};io^ERMTNjVu5&p(!Wzb^FOoVhCynU`XS1bRUmMSVPbRz8O#;HY=olGq zr6Xk~4DK_H)^$Ji%4%P^vHFv%n1y`s+>wg1q^*$r$GX>Ea)L};8bGbCaV@Xho za*W;G2Yls&S;8zCISzPmuh6RK2d6`q#xID@CE~OMIhY3%g>dB6WMoh!@;7Q>63?s! z%?LM}us!Be`OH#<__8lT13aT9UE<5KZjvJoH zb{=z7m)#D>e=<_g7DTN#E#={xlkaRXSrl5Kx*MXTOqw!7gL`cD#s||jN3eTeG0^g} zA~8q{P70Dq0E6^s2aatW`wN%}oL1=}Ck_pwKlGGm(qJuB(tgWU#}_}Tu9EA;yv``) zU7R^oTTFn>v904@;F`A$cO06=#SzkQ-n9#6y^8IlE}G8L&lWrv*2qVTGO-htbs5D^tcWdAyzBP+hdHZn3t^qX~cgZ}rqP^Xv ztS=y+3!=Os0pEs()R&bTj4}-4Q zo@+9%^LZ1pG9M&z%umXF01miS^nbLQ4^TpiQMP)n8z(qIxF?yj4P{Tw;=m46I%{EN zA#H-X)x+@}Feo_Cz|rI_nUl2nyn*dIZ9i|yx1I?M2QtDRBF@(;$O-C+ahb`lWDzFI zec0gM{w<2up*fNu4QA$O9kpu)Cq1|+M)VJIxVU&VrB0l@X?ZzI;V%s;n~=CoGRlv& zf;)y9?1ew{M+CCGB^F;a8t5KgbNsv+g3} z;;3Cdw^Me~xvnS&clbsmm5~HF5V~?N`YJne(&|?;du&dJSGG|WB}M;?TZtEosx=;` zY0IHShYv&~cDl%9Pa5wHuJbb4{^$d3c6#CyhX-aY3=%eE!%gGcZ?s^Wun6A>Wvg~* zv_>0k&pNNPBCn=@doOCOO&t9@1of$w=$frLxg`Z*a z$44Y1M}Ly*OILmR8K>W>E{3{0oi{35^nM746T|8y%rA5S%zSJCdcoW1W#sU0-Hnfq z6KYmm;hnDTXG*UCSC!Qg{Tj+Win2SA^}+aw@e$KZ=O_}_`DdK%jE=(w*lF>ns8b9r z6JI7Pifmm!DcWHxW?-M1d7&_&oT2(`O(FHmY7`X~^>5yC@-b-#S(huCj=vVwBKf;v zpU&ir$@Bfd#+f}kP;??oTKVbIBZe9Od2=0#M|#?zGUBN{-)4SXdTU+phL@t1&((v( zTJtu+xVqU3k1dg9f&t`y;3-QOPJDA@F*cDR&FI!xA0oe9|93Jkp&g(}E(pJ8>n zKmgYl`5DJ!Lz%4ktt2HYtvUn_AeBy!Nsu`Jp5jxUMl979mQmA*Nav9)(zN!0vG-?; zGyz9odd54%fBQ$1LQYLj;-IFTBvnrsbfe$|c008e)g98}&9Mw@A%xKQS<{B4!3{1~ zrfW}=lS`v^pZqi{M#K;_q_2Tgc~?eEJO2n7PEIk-{`$PFx$$o@O3kcgXpD-P*#ZL|ZJY?m@$ z;_;L~#nvJghrXsRREd<*Wp>9)o0V(CSu(MrATgx#b%vYWDgoPX|5)%=AbT zHxRt$>Tigvj14Z%c0bVd0@w|)UvM5^4A#gMXml0Ud~Wfcv%I0lo4M$x8Ubij3%oaQ z>cW#kFKzKI*hoXhO_TGw9^oRjTvT%yK)$(kdDyq&pRHcQ$5?{7O;?=@fz7Fyypjs& z0Z0XDMH+?rk15DAHRLatiMSO9vT;Ca(no0N%#-zQE6g>uep)*;sv4a**=&4QX1I1C zTE2++H<~wX?tCT{n~oz^uO^b%6&OpbsB@xj>dm4-TzYmOXH{-phqxR{$h2hcQN-Pf z=F>(@0oNE;#6weEzyEuH1u8P1#DQQOkQrSJ3_|Uki1igLjDB6xED&GB`@bA=Y_Y5U zLj}Ck3B$-qkFygt9WN3XDd~#VLQxzubBEY(5c5LN9?mk$+u#1MX$&A@MJ$UQQZy!! z9psZqdlauA4@(=|+;h9sNMIENaw#ScDEa09I3f0=6aIc5(#WF+Lc`9@a|SFr;)} zdpPka5Y=Xli9)FG3gdY9&5QH%+5_QUrWbS*OCE#iD5N5Us_#K0Jiur4r@7^y;gXF% zD8+Q-Yo!otMxID)!g8o)u)wnPNQ7 zqPb{mEP*3VAwe8X7;j2MG1v$%%6(oMeK0dGAg5(~Cl#dq&-XL;ts~VHk$EJ>n&rb; zf=z#sNT;#}%^ru4%O;EWZSa*PnL14UT8B~9BprNqB@R5EZu&ZOdJhIF?Znm?%`B*U znfcyux=p`Rqh=*moDQ*_(e;?Z8yW(iDYR&@@Q?jFCYW53vF0D+d4>Gr0%9TTuK3(e zVX+VyZj%DWPnnHL>2u+a$EmFkbWdGZFoDD;*p6N}0m&;ByaN$-Mtx<=ceEgF@z~XX z-@u`>p8E{syc|_j3cl6S?I69_z6h|9m`3>!8PhJ+bkxn{?t`9;>}EPt$fugtIRlSde*;R|afT_bwAC(?TJN zoOY^&_url*Lx6WIlOSTq6ZzAV{7_zJObfdfq<_{fJhKr)K&)}}^7;#r2I5UM*(komZe9cr;Q$5%4MIy6iys~MvIJi{5kKht~d zhxojsN(unXVaVs_$rlzGl+ zT?W}Z#EVdFPc5-=_pBc>ojs0k>#F+f`4r+7?@Q4Zu^5%ysd$2EwEweo)H#fxaOyUb zoAfrQX)XM^8*dNxazoA1y;gKg(iw!BI()h;ue0b(68b~XqDnBT>QVmm9GwWoxmoKw zmVvN%1yKjk7PWe7W52K>Pi8ZZkrN1sWRT8C-719c(3LU#{yR>iDF|mJ?>0^6+Kl>i z@bDLN#P9u7!RyX%c5FK+@j}UEEtGAAl?`MHzX-Wqdq*~D$2{L0Yd#2=b4KDCB%26n zh1y9-kcp}w)RlJvi>G+hctk)LQuQeHzm6U?3|7XA13>iTAb8RM& zR(O^85T=&Ms;%U$@|^F+;bUJG4n641O4It))jlfZS*?vSD%bkp>-T`Ac6O$JB7o$^XjUq-`s}ZQNrn}3K zQbcO>9pxyhC|@_Hr)J4rS`KFjN1e>2Fv9dzocFd!YTG$autGz>@AC}aDy?1Lt9z&P zy)WwUvSTdJZqB&l8d^C?4B;@#&=s?{ z+mk9=zbzIJBgt~^{$REE)*RVcl)z@TLr7il-&y5Scn?})*LHo^rOlr^UDI+?=4}_5 z)qvml{TNaC%3OIazr>{dPYtU@r9kBIqs*U!Dv3#(DS?Xye#EW!^K9<7l>$kBCZg6f zVmUcgHV)7AGBLjO@RHn{%#FjRkNk1j4(`3pn{;hhN6tTT-4g9Qh_)uGrUH7e{pVt= zQN@ZJ>;Z>nG`Sf8wW%fQLaFT&^*N5hm_9UWJEu7;NWHCRYWnE4oquHPyCB$VIyW2u z6|tv&V(x1mxxs;&yTD3ER2%&bUsj2RXYQgGk1-_OGUsJCsU$^m1VVW|n0&DB8rjY9 zd~S`_2Ay4A85J+_I9_nsV146C;1KoKhw>bP(I$Q>iZI5P0F7Cp9mn}B`Rmf@_`RMvqB%+gMuEa#o zP3JCxGie8cF!NQf71%trqB*~ma9xd*h@A`Bqd)}7ac5Z#K&~dxvNkBc3(V3bTik(_ zYJ*aXHGl;p-A#|h>>_n*@SgW?h&;!HQO_%{W4nd_4NdVJsV*YX%tMuIOwpAuCVQt1 zY%?nUF!P;S;F2UbZ0^9QX&&x8sCjG}#L-|f>Xaulju%ppnyvZ8ZqW;M6<(=_Hw!*5 zAI#OlV1kCZ6@(XrzaAVGtA#~TOEZ!|6OgjnUDCkSFTM`TFM&|!8@NIsk83C?m`{Mu z?^No@-=57t9&)~i;dlszufN0tyDd0B@R^CcW$8pcw{g>s1)`9PAGjD0?kY#>%uKJ^ z4Gj5Y1BnxD_(|^vBxh1Cm~|JDz|P)c(<=sACVS`JhkP;d{f9y(Rl&Er)08<)RIh79 zaZxgCQrI1i2_IIz(k)#Q2D=7WY^6ASowOV`MgcHP=&3$MH6g$4=4W-!L<5aj+1N+Q z?ePyphp)cUK3p6aY1y{_3>_0AL*0!KkN;MGf-#^~+3O}OJ=A6h&(b>Z;v(~De}$4y zub5$)eQ81WY^ z`R%o!*%y-^mUWdAbJKflMUIO=Z?F$Rs+U@x?7T*JSh0i^K+E<+l{lL8n4-C8x>p75 zlPtY6CC*-7NG(u#Q|sjOXL!FV`$W znao-ax@+-yyk9eE^7j~bF%n0IbU#_4?;sn~@PAuY4ouBP1Im6pBc5yH6_MdW!9 zU*q`A$U4|SmBN(|7olyn$+*#(?5$Fr*nKAzc+8!$^<7%@$=$?ZWYxlmqSX(^z*zij+e5iv zOAA+op#d@MHMe|a|30R?aMb$lUcx|}Jb-J8xFoc&C$zqL=hU0Pz@F=s>pj_T*Aci; zt#+b-Vx|uvPg|2Vlhn>+9PheNFja&m-;fMe^i|{D8~uV}23NEehqAA_7t7?z;^xmG zie1e+i4{d@B|+9W-SXPN?xSn&q)uq=JvyN=m#^(mckLwNzqLIh4rtpYYEpTQJF30) zXKi7b*XK3)w+}=YIly;6wE&4eU?+Y!@Zj6kVG)QJ9lg({v}x+MQwc2ir|p$f;UO`=mFoACAA zM>biZhL22qq$nX+6e@prk2+xv#>9hD4g-cR`k~)AVD#Y?#Hw?r!4ePANAQXRU7iYk zF%pN9E`*iN*Tv{2yVnI;<7{)ilT47fU~pc=G1p>c#U4fXoqYp z5?qzQo10Zi(zz#yb9ATp;kri^>~@24LBx;M5i%j!L}39H^&yqkstR7L3rOvF!aj6e z_3!n;)6QxT-3$p5|4gDNlvKyS*u){GQX=~Pg1;e$jHy4flc#?iOma2ziP@y>h=XaK zxEBH^Xe4Bg(fTec=(xz@h0E~{jJU+-cz1Lc)vLKGv$ecF3ijzUan7lQc|1}?#^@}L z+ib%Z=UuM+iFCx=G4W@c_bUSkE|?PZOAO7>8|_HGV$v>?dFQwl`KyfKC{C^nYH{a+ zfT!`439U01U}H=*hK6e!iT^<}C|)olNKKhW7B}Xrqy}S5@7&Zp4l0#T%!YV6JZndA zr&G+&gT$yCYmg9qilGZ>^oeKWhe6;Feup|=kQhflQ=_t}c1^me z;UgP$VouK+joObaxLic>r57L0zW=5(TkV2{LALXW{rN*{a5a$8#j*l zH#rlgK=)8|6A6?@mV9piOglRN3ONpi#vAL&Zz!3+UTG}b4kOh?p;MsB2vQHaMz5v* zf}jf!BJz{A$yL>gSkVI^61&c*Die@yy9m;t1-Wc8iD*773w)XQ%rHhZC;Wz4jlKJr zt5s<|+Hjz%4=teLuZ=IK*QzDbQ*i?Q)4{Iajpl9-bioe06$PJhde+Jxecu|NZI~EF zdZJ>ijh5vfGE0EDCoV zxE}>CdD~1W7qc^x|XA>>@#{RHvWCFu=QdCwQA)Fo=2Tm)abx6D8Q!+3-%`Yt`7 zCjk#Zwi87+3SXNHJKp)T2jo}7EMJP(sPj_f z->oE_q=EBDVgQYce-26=mWkIWTbjz>nV_y?Oo{|v^v_p?-Kievkwe!!R@#r+P z6!MB9K&hj$YR6F#I<1{lc1fL9jGBXv%(u)3wh1uSw8kTa zQoIkTS@fDyjA<+%vKrj&i3v6AqL-lNKaBMn7gB_2hG{y?j8b*WDI*x5xq`VoLDKvS zS4_h-6rRn%9@o%?#LsVQ_qW#={lcNIzemVJ;+Hxq%>-RTFQbM7ks?<9(34g)DM8im zD0=n=(T+sz7s2lBi$C#^#j@#P`Q!e9^L}G7TLv)=#zN`vpLpaSP4T;ioHvQw>4^p4N?ad>g{<`b<%yatLePEJ-LAwQCRhW&mQb}(J#S*C zYmqnV#Io_T;T%!0TTov$`sC`Yd|nH?u8_Tm>rJww`;CLO1n|Ta8mP=ccy=Q=@E?x9 zgF)s%cKlR$iBva-Dn@iUnbb7t0HJ)C`c5Z3p%c8QTh-&)rMvotTIQKba`DSGjJ*Ci zZKQO@78wcrre?i9n}L^tV&3N^23sGENIYb*wg0dq8Zd5u@&sbmc_Bwa;&gyu(PzXn zQ;(;I*?sn_{;u$0x3ehqOBW6RFZ{;D&_)HR`wn6a^$E71Qaj*x?werGb*$9NuE4k* z)SK#))=gSfL6jQN>PYJZb)zy;U!Ta7mA=s<7V+4ve|TC49~UBxZdMi=e=)22e%p)B zCeOcuqy-%Du6&}R<7Rza;_oLrtW?%TX1l+2E*J5BxXx3w&Ufvlu14^DczYohuY<5 zu(SMElq3qA8^T_p!QbP#PPIV%H*r=@TX~1;YXSOneg*M;==^V(HGE$@+soJO;r%&McjGrSPp6 zJi*&_t2L`zksk0JX6lRMvf5LruoKbeLva%s*rs3d|N751>ZY2sX^6}}->z2Qm+G}2g`yk5U@SD<@OtcV1hQuLk*L!_--Awljd^Y0e3DKpkHUm?z_nGGd&k6Pm z3#9rU=tc|(I1~u}LElF|xZ7#iv}yNTqRRmrd*Hf``|GuFPNM$2tzVe54nF%CvBQu`+s?+}&ojFya_Y*f5>utxhJFk3qR^!ce?xbxP9 zuQgH|Anl@|c5ZJ6BC5sXHj{^b7B&Tvx7EF{OVHO$ATkWI_${1t8O8h%>8&VTR@lWD zxLZ57;0+T?{JIOmw@X>#IokJ=9)TpCM?A34yX9oyc{47H(e+ntB%18cu}!gJzN2{J z3&|1_ejN$$J2w0=^mB}pxx3^KgYzV(HrKgOu3<5jWAMaIfeP~+?yNa;irA+>ay!d^ z=LTLYR+JKSsV2-Hg;zz+>ufoBh%h|*{GW zYFBQ+sk1X_J@#smoeWty6@K&IyeZB0&1le(K+;Mw(tkD{9v2dW0I)U^-k>cWBr#MY zv8Vg2TbH-zmSkp%O3wjT^5$?%g-`){2|tV43{qp%zo;GZ9DXq^v4iLopJUU|Pa zwQHULIU1=}h|tPtvjW5Tlyf;ECyT>w*9EW`LCO|aH=X6|Pv;rYH=2V!H@8iQP!1E) zR)w`tQqJq#oFiF$=GF?(U%4pk17pCUMr8e8hx%ezgJ9Ear<`V23Q}^Obr2lGj%jpQ znLw?A0S{VulhQ&~8&Vhb0{+<+ZIkAkp3Wp4==$=Ox!&vGn^p-sujSgN!(I|@Q;|{P zMw6?3iJEn9qI1+%_pE%lfwzilsa;#) zHv}==E5^ugW11u<#7s}S*4+jGVgrGIG{i7Cbls*IMj*;C0ASDauQMg^YyM=ayf^T` z<4!V(>+vKur2ujMM^*Sgw9kWv6vfQ+gm6htzx4XcJ9^2SgRG+`u_G40lm5Qfrap6; z3e4yflafmNZ+b4SZ-<4)P$`~l-+4d5)NZsH{hd0f`@OP!_NrCkmPCJmMP^?43M%jo zRRAqLI9i;e>x2j4*=inZ-E}|050F5Z<>AoiRQHee3mP@L<9+iHMZ4GMHL8CUAO_m( z3!VO2i#1AE7$!ywmJlYBh^r*~er(cnOjNV#g}M{r_Seb4-Aou@AUwpm#u#1^8nOw~Blvb})uc z)`SVIQY}#b0ft9H<^bvw!Xdw?nM60JqNi;>#mYv9fCj&3T0{?px7ph}N*GCUoduy` z<5=XimZ`X5RpQ}71O$6S+(L6N=tLE7MbtXU+7p*J6!T9qC7|3+tgVVmp^By&Kes~R zpaLt>pn4pEjMUtbKi1;%w8&y4L08_vTZ5!UbuL?m;s!3~CyI|?-$2Uw#C2);!I;&k z1Fy`7h3Ln>Th%mH>)-JOLaSGYtioemD7phIeR` zKQnp67?CV!Ywp?RUHPuE>+6+$-{@- z5I;W%kA3n<=_2jB*2lfq7nu!c`m}c9DToJ?9uGPXOnnWju^u<2G>vDcgFQ~*A!nY} zRGncU-x-h-ve16*AUgcqB-Lh&Jn3*K=S;OM#HV3h*<%RS`a+pX5Fm zB%?#(AKu=-LUzo`+UOPR1KgYNR94~)Q&mfOT_?ZyethUjWk*$L)gIDVKDrtA4AHl` zv&JG#tprboQXB67c9m>+BqBEDTxE^gW%xbpbfak8;9m`Tz<{&!19pAnWV3ITyr4@y z-urK1VNh$vF1)c=RXwMddx({R*c`%XxDNYM3Axi3apdIDrT+i$iJE#66`)Z$t5ZE? zW5b+-7lPEbs3SR!ZO=eMv>W=-=?~?)tC`l`fp%#E^eW?FAKK~K!*U+y2yVcTQ4bLs!X%M zKqn25k`W^MEcJvXWc8zU*KBp{KI%8pD*!QHHOJ8|ai?*hOkD{NZdO*A@WncH{A z%ST>g4WiSQ(lqiIXcZnd##1EqEkY3H{D04O0w9shSVeAP4(DMU}A zuu}_uQ6IKo(#706>s8Mq5+1@tF@uODkUUbhj|bfe38)miRklwJ_k^D=_St*ld+IHp@84E=v6IoSiUPHAxaJL<_tpuh6tHRkLQ>DMHaB0{xS#+X8*8ojJ9j=aP5fEaMH7OJ4!in34+4+U7>bJS1VO*qWHJ%kHq?Jg4OOgK{Wm6XqR`*#^u( zW)N~Lo;?a=Micd*H60TumNSNED|NzuWd+FfPfZd-C>T$|Ifp|& z%5VJJA`yv`u@^P=zG-gu%m~09y{Q##B9}-@sMj*pYd4@Y5s%x{1;F1>Y_TQk<@8tOaiz>LDVCr z!X#Tn5SScF;21^hf4Lw`Kk*9u-ihIUneG{_8kcg9iGx#k7A|Q@a-5+SYh6gZz6(}~ zJqZ6BGDQfS0=?Y*Q~T4_3Xwf+PWajazLbBP7ZaBRDMP{@l9E)3V}7q)N*#kfc!%K} zS-thD^<@G(_&RGTTZ2I56fCpu59Lv8ks% z9uQNHDU(DQ%mZMuS08k$OF#H!ySV_oooYo0ydCH_LzhJho5qr$b?lHpWUo(9#abx? z)NYbtLQaWJdiN}TV4JlHw#ru(Og9UnzKBe2=#FsJWXF@=Bm!b`KuD3l}rPcnyd^@GG2$)JQ7wfQdgj}LkasiEO(Xg?RWF#>RuO5z(z8LPHP%WTvzJnclh9)T@pqxn zP{uXrH3+VNcV%8Jjz1W$e;(8|VC&p}$GP?wEns_M;`&1J}&SgZNnwN3$4!zIbKlgQ%Arl+Pa@|$gZvGsKqWqEYpCcm7o4# zxB7w(l5ot=)@XF(Qdw%d+|y7*DU_C3V2ys+zujIq$vb@$O%W^g0 zg?=#b88$87j$MB{a&MVzGdN_*SKcxc&_*2L0J9E89m0^s)X!y!pEbjzE9B)Tr+h1O z4BP9qi{+qK{DnHAu2TkQt2Tqw z@ooE7V)2nzYiCHkPyr4-!wXd)T2bJRAr?ltB&%+PUw%|VPeP|%=R0>YULiWF23J!OX+3n+}@dnhU?{Af+BK4Lo4x-w7H~634*B3mKK) zc2U#pRxeUhJLr5ElTJXaTL|1vUvS*Qsl%l3@yLK7y+o+B1%B>Qo<#hJ6y-+LH3SD= zeNXl2im7nK!YA1jFbs1chYCK|iW&*lUvN8ir#H(s`hI6i5*LC>?- z^j4V`F_Z&x{i$9fKu*cGH5i1e*ZL+lCm+PV8mX0KFQ?|6*5`ZqPnWPiY|S1r5IR`cZ290&QbLX z2FIocaAdbTB|MkYiUT+=rG0bbhM}?}ap!UKIgW!i6X@-pN!0IK$a&uZb+GQ(=zbDS z{x#i0Fs3{VDK|;sb>)0MbmKkN6?8t*6V;{e*`?uK$G_0VTSWra&#g|E5ZLE_^-ubf zQ4b7*J^S-d!6n`7UNp`L6UaW%g7Xr|b%#XU zlXz%dEM)V++2j54fi|`xBAT|t6mmk7h)UTo1Py{+=4&s)DA%Bs=@q)0@U;FVhp5r; zVvzg#b723#ka+2moY;t@DiL)92%3Rk&ecK=7@7Jc21he5Azaccm2tLxki#eBGjD~D zoii`vEGo}p_sK^lu7(GtEvpF^X{X(__P$i6N5S0opZCcx2zvgZji|p-2C)l28C3~I z8#rMdD79?tCm00|_ET~Oc9Q&2>O&kC)1Vm#-J;q8DBf|>b*k=)~w!ceR)efoY zNgJ^GOV5) z?v?Pya^2ozhlcg*jK^{k8>=Sy!Ufla?jD1HmfPDK4wI7byJXE5C5@boN? zfKf>a&z;9s+r<^pU%5PIeI@B2qeKj+pnG8~q=e=$OYj zOTgu0l%V~Oxcl6>w9Jp@n67##lNY5>TX&!~E!Z5yU@5djmpxP{01nALUQ;5eHH-yUE4hAGua7_v!p=atIG~ zx>PKpfGHi8-GZ9Q#MDX+(CSnB{LM@!`4|<5dLS_ufbICwAEQI6I%B|_m+LNzWJ9G~ zT0#n)8|sLNMyWf}ay95m^gWxew za5?y1vS^K>$Z`BTl zSp!lj65gP_cqPt-XO+NSP;nf)+@)4~OHw#YXKq$5M=-p4P-%l$+y;kK;HR@M44u>k z9{hU^8OlLTbA0a~ zkOitkIDo<*K--}nbm`a9jjp_IqY$FUQrB^;K(<+S4$4r(NA3?}LNqX78LFEK&TT}b zj(D7Tw8kE94mR3-@7r>g(QC}Ah3G)-H*?&ZH1&|(Wd*B-mKR!c=2V(wtRB14=AKX7jaLmE*M#jbf)8j+Ns0*Sqji6{Z5ME8LVg?CI~p$DB6qT;=5D zmAJPa!Njs(|rUy1dBm)QNeji{F!c<#=?N4L+aGKck zyoiJI-6U#u<Ks(Fc{9~Alq0l8?vQOcX`T~+8;@aSzsO!n4P z0-L)~RB+QxXXk`zfqcS`1j*teMoebSEVb=4RQI!M*#u?>>W7Oq6~<78(V2r$+B|tD zRULyM+T1;r=sgP|efngRinuM*`U%rx174ty&wYW-Wp!7X@_R*3+2p;{_?&BL3=3`j zDjbU?O{?`>qQ~QVsXwXcpeWzFaBnctRfv#zgUe18ZED>S`+%*QtqD<;zQdg4ytP?e zENK_{lA#ig5%7ei0hpqvauhC8oHp7x=laj;EW3t1pqkx9b)E#dA zm5qv%u;Dj@=?dUD_XH=S70{-xrLMQj_Vi@<)zKTo8Ji1z+(P0|C(a5o zQpQO$O)X8@;{Q&z6+Q3N^7#3yl(JaS;i*~bzz@`tFC(z(q1)yQdEY#03IYNuTI11o z>5>ZPH-#f5`4|9EKy+MaD=gg`ubal$^>Q&SO6s}0SF7|V!H5|-Mw__2@=H2IclXzI zV+zE2L>9C;qOV>7ytAa38t$Fe>csrh(nSZ|v}E^$zI zsFn~GCRsj)rFnMqj++|e2LGOpdLE_r;pDNUtqr`4v@ab)Wj9F|HHx8&u0}L)@=FOB z9alV#r4|m|WPXnb)!G2Bf5|R$W#Ox~Ve6~sX8Wdh|J0)>1NK7(GE0H61n}%z8w`p+ ztbZ+@w)HId^cY_4vtYmZasr{(#Ln&*)W71HSU80RaB}jKM3Sz)pN~>eL*BjJQd-Sz z+=HiTqX=&NF-_M*X2)@=+vnS-85%LpuxkViku6OBjO_*dNU~FjX+k-_MCM zy=`j$?Qo-kFqeIb2QONE4bjAz)5&!ioH=4nxDM2znhpOT8ux5_01X2A>ex@+5@dQ) zp`&92Ae;&g(9(uqL(R<0+gV4ck(?dnc=1)h0iFWd$!Pvpv? zBWIJ5)T6B<4>K}1r45U;Fm~klO}lM}21KcrN2BuT*!&B%y$$ zDgHc(csz)9;~N)oe><2V#%E83kTHI192Yy^KiIxL0`wM4^#vg}irddJp?7U<=AZax zre|qBY|jfi3x51~=XC2`l67fqmbs84>u+5sc9hJxEoq4O_#Bar#7<&Z%J%`sML_xU zQYGQF$E>9e5J1I4Fl*zscM3kq7KsRbc`9n7DtxG-I<;W}r~${BwJq&7vJoO04mEyU z%ky?}g!7hmLwc5^JelQ0mG>H`j$Cb7EQRstGJS)+=h|H3!k*D2DKOh&5rIxqbF?R# zUb52f=$6hZkhmTdr`?((*1@{%tg3~3+6qZw8t=bfGQcgS?|y8Fm$=^|GM8d1(C#}*PU*^o z11y7z8h<0Yqt~=*+!nEb1fC$b{+(^`wOA33*fR1MV$rAKq$KM8mJ?Za;i(GORyDb# z>F&SydOpN7@4@>&im_#E(lX_6HZ+Kst=AZQ=8tRvaqIj0tm>Aaq3kaWt(m79{I3`% zjLW|D{~Vd(s@85X4q@rv?<7P49->s$pE~gRCW04umAoq|Q0jkn(EjPAU5&O!;TYv0 znYb`TV*PNxY!mT@mN*r0{kDi0GvODPWK#12Nk(PK)+dOy)b;w8yzpwmvFp#B>x{RL zN#!Cfbx2h!k-7}m%0(>944_L{j!JOHby=5Qn=aCnKw)nCQw=%LAP|2#2{wL9*I?r7 zJ*8~)NMaZc^Nj%rA7SZ)``67|eU<_P0UP=vb^KBnN`UWY@rhgT6~+hpHJA=4N?{k< zxTR3Y&e-T%5tVwQLe9yvu{cjxKHFW!Eh_05*q zcB^Q>$7Hs+>+#D=5op2EX|A4J8ZHHI&yN_e%$n*+S6w0f;eu#%?NLknl_b?~vUt<| zPcLmJk-|r|-+2Vr2=9ekI|biz0bB~=Wl(vN+4g{NE5X35=$mt5;Xpci4*4^+YVzrY zc z8339Ep79r7yDTne-HU4smv|O2QFg#nO-ZF}NC)H_Uruh{}u=gr&w!n13@vikr@K~acl&hH> zc`lwQg#e&cb!VZYVvrq7=xWoeXD=?8GOJ*A{t)T}L7r6SGED{cz#GZ8!e7TZ{V zTPKmdWynn!vckmP(nSAMz6L}A_^ne)QR@_~C-v>uDm3Qdb$aZHvSKPQL&tbyc(*I& zLZXL6L8x6heY)I5l+it-dsH|4;b_+X9F z$J?OLvqT#)zD=ih$_`+;#Hf=d`eBvg72>I%Q?lY2Z`|+~B>YKBBMs ztOpINg_+_aPJ7ffW;vod3Vao;rRu2J3_6h_fs2Byl&20X!;I-}jOja(9xBX^>cXbP zF_XH=3-*-QRP%SHAf)$SM^NZ_@>)mP4Qx`i&Gn1h^W` zwYMBs2R`B!gC@7c^H>I3NJuI*{S)9=f-BE}k_41NMEVZ=#$hxp9(d!J5JLD(Q>OUL z64B|EL+p++iV>D{)B#x=xaga8i5Py%ziamSgQw>M?gY=e*9DjUsa`$j8jG0NAY)`nP~;EyAhGHUX7FkRyQ?|dUwpHzk|1OLz|s6uRE$n ziOt_1;CMmm$3e_}(oG+QRd2_DMxGzW#MJhuI@OzWe?23q)FXMY+2pBNM2*NfZ+Rb7 z)G}!}bl;~Re`NP+=!$0@B4or+)xAyIaA!A4J0%#JP%M9BbNS8|eXl=X9!Nkt;>bM& zb*ISTuOEscx;?BrkEk8seq&QaJSeC*VY{ILBr#T=9ak`z1hIoJzC|AtJXvG=Go>z? zS$o>d5Yp_4sd2=pl<#A?s?O6sbFEKXT}sQkrn0rge58#pgqN_ty|Z~tljRSpeK3zd zR%R?m)4t|S?zyPRVXwc9>iJ&wE^jWNw9hght;alztg63Y=}@?Up8P(D$@Ck`8O43H z*E8#CbAS{)OOMCcG=Zrug(;tfmahTTjAb+Ak2$PiTYdt$PU5U3vnKj>eK9q+!7+`6 zQMiELqsigMu0_;XEGfvQsM%z&g$OjtT-U)Uz8@q_1){k-`{F?m9&r{4W3H1YmAHjL zLiTRr(>(ikOLU)^Jf@>wro~Uv9a7u(!h_JSOu|ukhwp-`1;WDAbK*q)YR?6wB#^X3 zeqoZ)ef*Q6sr6=p5fLi9zG_AMoGCU-Y%gjr@*@YYxtE!G?yBk|m9!i~B;!Z4%WM6s z9Ow=Hp@16>Ruio8UnJGYa%B8`hd?hMj#4F&5n0_gwG#(~o0wa%=Gwn?M822urg-~t zv9L%|8+V&1c|jf?JWYk8%iX;vZJpD7kgEK^p0Clx3B#pnK{WB!iHdl2W$Ak9^DtJe z;G<33QDMDiN09F@(UhDKPQ?Ga$v2;_rY2WMo0%Bg~W)oc8}|>nnre3YvCf zIKkarfISE)tvo!2%1x-TfZ&ez)H5R$YFb zDr(R4>FIv@neLt$y#06#D(iwCHqN1{a7ZhObs8}jdEqO;Mi)`y$aqJ;QBaB*8M$T} zQ||{s3%HK5ebmkU%xS<35vTC>J$_e}zVgex{ zp~dc5x57pKG)gk@6Wj~WnvXva={ws~W_)#q3v%WX?o0i`v9z6!<|eX78=+zhGy%6_ ziwbRn$TisWpJ#&;0~ctZa-2#W~7uV0AM|ww% zq4C|0L^YCUm(MlgkB`1|kP+eo;;VcUo$-j1up<%kF%niP?dM;^aAxGkLq zkwZ^*&RS#6IUf+8nzp=)6Y9gBcPM48nQ5r7Xky;J#5?qQ-i4k%%c5fHtZ_C zsZ?Qz7VQJ9j)=A_1HR)5x|^G@6u5OiH)Y!B76XD;c9F7#i-dkpWa8;9{Bz%D(;qYY zp2R<0-7b8nVx zh+bpYw=BtPKIZu;CZ-4Z9F0Awvd8Qh)UtE1Hjof0!*N6QlL=eptfz7+z_9k7fE&6f ztLV^5V+EO%VnAXQ4DhjWvvZ^1kM;h(b6!5`BPb{Jh%>5fXCI&(TU$Q9$1A z7vdxP={Nolf7h)yg1>JTfQIEDPxBk@UN%rm|6XpSiG2auN!VXv5-d!m6FJ^JJUl7h~-Da_-Q>=~{fTU3n z9>R5FGaSjX+js)*1<+k&rnx-(`4^Ral^KsOzV?yp_!7{rzrD*Ew7Z@=q^RlTH|r>U z=5vE8-8PyyBtYLiW(V9*6Ta3Dn50!5hw#(H(^3WazI3=86mgWC(Tr`?vpkqu zIZN9{s=^)`7Wb0T@DZ~K#mm)!A@LRWc91g@D1yCQ1&vtL7-@KtLjO^pXD57Q+)xT??( z$K_Hgw@pNbpDAq(&ham6v&^m8P$U-QgB5U8b&NSZmzbGRlGVC?36IO)g_{%k{PgN` zeEPoa-8=YFKNN2hQgyVUC!stT@>xDUROyV~>h9xMOz-s(m-;;iS#a5E>W|UuPDmc{ zXZ0DslNrN8qh3bQ9}eMs#Z5;d0Zt0n8QE%^P2TrqJ3cn_+`x|5i zswhmry1Zr0!?7HIKYC^s_~i^`INe1#pDs&D3yRvpmRzDIpG45t{$aIj~Pp3#8b^p1wNLWoP7sFf10QLOk;C(S8=4uqZ~SFA!J&fS0@ z`YZz~BJxuQ_N^po?TA2)ToE|R3Fv>lHGE#L6KMffXKvx_;pS76Vxa ztp=P|MX^oSg3TLHEdQGSFbvor5c-VXqj~=B^Fc?Ud2lO=V(ybes7J&W6?(N)_bU9ICOjc z-R}hA_OJ3HLi8kYw57qy@Wc5vL9q23&rH}fn=EGqh<_W>ud^71x%tZCT2YjZ9TYON z9DpS~ESZO5C_nRlR7mcbk&RBEG(ih0 zZA{9epP(s5gX{0NsuGY{oZ-C<6>o(mADWMT(zz?SRa+axo=@zQNAQ?mVJm9TUk{8X z2c(v2mND!vmYR5KB~bFm#&>81XqW6UOWP-QXm_4-pk@{@g#t)2>JnH>xQ|lWzx0VjolVRTZL;~z}%bP`Z6zZD7I#qtZA4w7>ID> zo>=i<(JCW%PHeY`Dx-uN{{8L47|?2plGvMW$${Rp8sRbjGjd6(UoS%kM6Pcu`c8?P ze9r|g?-CWUP%eoXy1pkyVkV^|8?H9JI$uv3Dgz5Jsb#pv+i{i6#${u2O@SDuaAUrC z76&F`Kp>QJ9f{ZcYx6_T)QCv`f|zECDdB^&Ki!HGF#N*&@_64>6}cSi>ryi4<|~!A zf2>JaiO=f#y=o9a#cMrAHfwM?{zKJf_}S9;3yn|Bdoy@6sCj4f*U^)V;@^(?w3n3g z^T`s=R<}|$AH5#mQde}rZ|x*FmH!*3NHtp5U2j!TM>g2_!eIG|OCs!+bnoZ|mHo+U z8091KQtMF?d*U>qhUREFHP7}%qp&++=4J?`zpudL5;@wVIVF0noW(EOeD)Wfj&$u5 zfwjE}STzBf{Pd0{6)TD+6dAJ}4D$NmE zY?@y{Q9#nu#Drxo|CWFqG!n41-&t;q} z)vZZpwMhgaOyIQj)f2zZn6V1?3N$``iEhL1cWOwi+&|yARCCzuW6StK>US3i#+km* zCE7$$aTcic^#38dISNAq@=Atj73-S@ z43)XOQBg;= zd=D;@6_X|jA0{T>i~z1D16B;Y(T0wbG3hD28<&4x%vw}3RAnV924X z@l#K6p?-AZIP-doSnvIkL#@AdWg-NzVfIbQR!sCi9|Ou4LOgy|%_SpD)9F2hvaq?b zVA1;+sene*rq^)oa08@ls6v6r#>Q4XxgmHQ9Lb5T1IsSB9#{45X-4LdRSCVqs#eAh zwx~$05r0;N(F>LYsjC2Dkmf5I4zT~qZVh#1rJgY8abWD_w{Pkx4kl~vqzste%WG{7 zvQ$r}2Go!h>`@HE_~6^>k~bKwE0%GT8yt1|`0rECIUHRr%dl%MfQo*}ue~h)YduMu z!YFL)L(BSSEKfvziCianQuEbEsM%@swaa0p$D@ajr2ySA7)a z_NUX-BWtg)FOM|yk8zyizWAcD%tx^XWpnUQrY#h zOmp`4j`T*m+Gl%6acU3NQ#qw)ux&^Cd8Z{LqBXZN+`K1Zaegku{mGa+Sb*#dyWtC^ zvS#drHHpp^qruB`ioeM`>_rC=jd7pUBs@tBdvl8V3byDw65TX<8!#wu@!fb(m>uRF zU95=df4zobl%PQV#Ovj1qW0vT`+2n*XoNcBi0F4D&Ms9W5KxV~@Mx8(6v+aqrY0)C z=rb1u#DMZRsI}&YFrSO=YwH-cV2kP3*Ry|hmz5iN7C2WtsgDv_l8C1a?A{Q;lK_-X z7mGhv8gx@S$kLr6V@AgBl37azL{Qzo+>fSMvV>)rm#Mu#x8Hk^gc(Bjf}2Zer^~6# zEoL<4XsJpJeU`@W1+FH1$$!J|k$IeSWI>oLe#Yl-`)W8&8m38Wr{shu`FA3Z(OSzb zhC*L)acio+CBydZ+p+>q%!(W%UkwUUZ=3hFQffE2YANWAzfcl2bbCp)q$yI^qB|2S zS+9M$FL$1E%4AR`K@huv2J%sN*h1pd*8zKhl&Rx)Tmvjh#=wETcv95v=z^xbFLCt= zAhXBU=2~wf2-Y^xX4&eflG3+6shAmPYjg9DC&J(fAF0Q*1I)Wa({byKukFTwh={3A3=tJVh|pWMF0TrDq%9Zr;m=jAfh_Jc zNl?jKCkf4R#v9r``p;o_;{Y~!#{!8smT{mld1`eqF)tuku5Rtin|Rl6I`zq=ZdtEsBeaFt;f{xonN8bs0h`BCR>%5qtLNYGGm z2l^}JZjJoHZbpt{DOI&7XD?l}zZeM<$5p2%&reeQQO!5>q|T>&{Nf4EDp;wekOMz2 zJWMsm-t>~l?qHy#!3@HwKIGrqeRzZUcL(zaklrnM`i2V^41bzM^(gSOJ1V7?A_KeN z^cg(`wN_TrcC%K=J&}xAoM(9`zRxP(Tw=dRkas4D08G1d*q!+1L(d1HmktaPOOkb}Z9ITC@lMiuW zCtUqwJlv)4CXY{^x{~SoxcATRDKgAmJCjOrvq-r%9) zzIR5uaqjIuRAG74`Y`4eUk>`G00W+g@>5nrG>2CyS51=NOWbq5_nz;}>{ef>kHI^F zJa{|W>MKuU>KmNvg|1QJMOghiPkd|9gMP3SC?9;6rFPJ9_eg;`#wtNWP)6zMsCjm6lf*C(KNI9#SU+l0v9nrFm(aK4pw zl)V}6y+X5SW&H_8=#3;0bSD|d4_9nt#oqhOkAo~k5mO3DYxT5o65)F_T2{ZaWkiUn zqLPN5%!RqJIiYxeA^_WRA?~K+Lw{5%DVH`RuD2c>+?j&Klu<=lJIKr|Fo4vGl8YQrKNnZYCPb$pd!JJUPd?_X}*e}?4nlVW}0GX`AUmFNUev$NH zpM9tnDn3hg}C#Lx4Haud4Pqm{W-b5S$ab046OH zj9Fa^m00n@)onn@8B`Z;mG+Z1Ggz|irA`}P1>q+}rnX_srElhfize9y zAHRWD(Nqs%mBxl_i>KX^`~?sJ_FBo5O2_rO5Jd}hoz6wlE;rl#=gS?3#T^q@u&b;!8#hJC|=~_D9OXI z@Zb;r2QK~$#>RXBK*7UbK}G+kaqWJj3wc`BgvgaJ;W*J3I>MEY2nT~t!ZemYtI#v? z?>tWETZP^ld^3_tLz@wve5{W%u%s!0n&R2+^W)RUZCqG_UPt1U6H1e5+#MOOH}hwM z%py909g1Pcr+;q3IPOk6q<-u%x_mf67^;lW1aT(rF}1YZ?r7viTMoEo-V%=`@8@wY zT3k!k-3||&U)OzVIgvL>%c#70M>cG(A8r`V>Ee|+z_wa{lnGz#)8rVj z>grcEP1iOY>i2@aBmy9b0>dp1QaOE%!{TzH1guc9zG~G#B*Aa>2{5z(;uK}6UfIs2_(_q{WfUgmXvF65hLsUl;%#& zZt%@^{Ug64BvI|XJ$mS!o6cY~Uyf=$cJC5yo7OjsR~;B?hjDRp$PDek&Z+em37*f7 z1~IDD^VV(o3bdv=Y)3FJvs8;H(#%J_uh`XR2|miTYkz>j zZLeWa7%I@4s?4b1!|of#Y&l$xcak1R0t8Gali%O0GpnK6K~)B}$pw3EGnlSGl>{S> z1H%XvVlG1(?GV%|`6#oHrW4KFOD;R2l-IHjw+0byK)D5VycnOj*eE@_sNI+F6F!6y ztiEHK<_qS;a#h9%(dza$?c%Z4%#IO_o<{u@(3yEDNf-g&FDeUXFVL)cA8I!X|7|TB zj+BvM$&c4H(*JZ&OjIUD5eqoU$(m7#F#KsFxYQv7xDi4m=z;9YSRlW_w9CZjRulHBF}K1<71 zgck=+*yh#BRq;J5v{eEyx^!%zq8=mkqk;4lv_qRGHpNqsQHpd`2f-NBVyTji^4ls%s{?h-xtQ!i)Z9zB|q zZv(tidT4(Aocr%OB1T){;)`)E1d}aVm0=yU9h9{GbHr_|-}EezuJK@0PTD{47oY>m5HE2~zkf2UuL$Z9*E4KDvODx4ED2 z^KH5_4_ZxMTc-4JnXcg9v!RiTDzMczc|7P)Xqs?g-4}_ZEkd?rX^L&Lru1p3{F;4* znipC;Zy+CQkg0U84V>3R>)G94<%PUvFTYwHMbMc~k*{Lc(VE417mL4EUPr%_Qg%KV z{48P=7{`R1_x{ZuZGsH;C*5NZmCT;Cl%?Q%m}U&E7g==tLeIA~%_d5BRJ7J`m8f`e zj^M$!gXlpfs_^U0mIEq%DvZ9S!9ySBs?}&e(@1T7vpaPeI5xzKxqspBhm~*pVas9d zgnw!;p5+h8f|bB&KZ@B;+8M5gD9mqe=4@`_yo{Dhmot*6XyxXXVz+r6U=>>-vI#WZ zx#z9ASCNRpz2m>RWcP439xk^nHf=qB9?Y~QjoE4hs4Zpyw5`0p_vI+WaRc3Qz)Pia6-$FSk%4K zEY>dCU1&VVh@KgLO22P?${2aHL)9>?+&ay7Qs-vm@#CmuD%u`g)##sgj?4%*j4@T% z!UTySOO)!#+BkRoAe#zTvMaC|^OeJQZ|$|V%slDlWSg@XCn zAZwbRzJQS7alPeR4xACpxw-!P1~Sh_eZZbu!~Xu`XQ15Mim*fbmVgaDNV`jsAVjVb zPWxbmX*uWdudq$?{4V9o`GEb}U?k)PCBD=$wx z=fgFomuR>53F-4UUjZhU#)x)y6v@iQQ88M8ADGz^LOK3Jq=84hsg*j^`H(!LGMK4fm^;(vmCEs37h6VbD zft(Nj(dL+sIKABYC+g;T%B5)OLSM#d!5R}%86l=w!ljtmP!j1Axj1}xK8J70)%0?C zqpMuoUy;&HZj%R%>&d1hPNds6f2`bO|_-P7ljK~-3&ZIx<{SZ?W(EUA? zRxNc0rMU-15Y2GSsqAyT1SbT3o_DBsF4G!u7b&e$${qKImIb!jG^R8w=B|;5`thEX zARs8QFEq)Xjh#;ha9$q+y$3n>w7^|^FLZ1pt$)A>>h5(TG3>JdT%s3bNTA!D%l9e+ zPl7|*ehjvHn*I$NzCL}{;gy+X8f?NUBQ(gB#B|T=Mr-t*I@YDD&|)(EI9af$e!Sa` z#v+R@#)uTXNTGZ~=xsC{xvwF5x7+P57vP#Hv)6D?3mgf)xgpnFXgI*?(p^Aru)9>9 zonr8&5*h@v0XQz6j;}`>BxLx78dgK&suR^|OITV9_ZD%NI*8=*1G~&GZRY-6mfb$e zZ&%2{aydSmHG4_>5&h3(KN(k_*`J67-tha2OWl`?FK$cFII~cfvviGM>cSFfd+6!e zNsQ+^tL|@1yN&ciINw~mdp9LmzK+D8M+LA1p~jeI9d8ZN&>~@K^5N0rQQ?YWuBGyl zPqFah|5_g8#MMu;!F!6nxXVkx_4@=m@tK;$B9~3L2u6^>=QxtrhX}ba->>hqy(MK6 zm4eb1W)L8^*PgPY_16!p>6(J)EV;J`68l9lKi} zyO8D*L#h>>+KI0z3t|Llrv}{|Xiw=(K=F0Q7cDdT^mM&3$&?km@sZtJsAuTr>_EwoX?|Ud7!%wGu{s zosjW*V+5j$uE;I<>6c{YVI1yUu0jR5ourGa;Ndst2XpfTGBxN`92K&#mXXs}=d(1u z)syZLqjwE?7d{94trK5yrJNQB2@RSpPYR=m))Z-uE}NV%Wji7`MsxMNS{H24+sRrn zompt!?wDxUNC3wC+eQppmM1Uo$ybF+Y*_{Cn!d21Ugh|u&0f3Su8pkbsit|

Model the domain, not the engine

3
performance knobs that decide every model
12
document patterns, walked and stress-tested
1
engine · one transaction · one optimizer
-
90m
lecture — the lab is where you build it
+
90m
lecture; the lab is where you build it

GBwmHX5Bwu8IqVx83V0F*6y@qUMUAw+htYO&pf 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 literal 0 HcmV?d00001 diff --git a/labs/converged-modeling-patterns/presentations/images/umt-icon.png b/labs/converged-modeling-patterns/presentations/images/umt-icon.png new file mode 100755 index 0000000000000000000000000000000000000000..d6e06c252a223e6556f96a845d595644206652f0 GIT binary patch literal 109515 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 z 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 d|Nr`DGJtPIj!Q^e#&p7OCB&p( Date: Wed, 30 Sep 2026 12:31:42 -0500 Subject: [PATCH 07/12] converged-modeling-patterns: bundle the Workshop 1 deck's fonts (fully offline) Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01BeoRFyVLAZ7nma6UueR1P6 --- .../converged-data-modeling-workshop1.html | 3 +- .../fonts/LICENSE-bricolage-grotesque.txt | 93 +++++++++ .../fonts/LICENSE-ibm-plex-mono.txt | 93 +++++++++ .../fonts/LICENSE-public-sans.txt | 93 +++++++++ .../bricolage-grotesque-latin-40c2cb34.woff2 | Bin 0 -> 76888 bytes ...icolage-grotesque-latin-ext-fdb6b064.woff2 | Bin 0 -> 30736 bytes .../presentations/fonts/fonts.css | 187 ++++++++++++++++++ .../fonts/ibm-plex-mono-latin-0bc96cd0.woff2 | Bin 0 -> 14888 bytes .../fonts/ibm-plex-mono-latin-1b581b15.woff2 | Bin 0 -> 15620 bytes .../fonts/ibm-plex-mono-latin-e2661bcc.woff2 | Bin 0 -> 14708 bytes .../ibm-plex-mono-latin-ext-1969f6ff.woff2 | Bin 0 -> 13348 bytes .../ibm-plex-mono-latin-ext-93cfae71.woff2 | Bin 0 -> 13432 bytes .../ibm-plex-mono-latin-ext-a7353317.woff2 | Bin 0 -> 14328 bytes .../fonts/public-sans-latin-6e68d19a.woff2 | Bin 0 -> 26832 bytes .../public-sans-latin-ext-53e02343.woff2 | Bin 0 -> 18472 bytes 15 files changed, 467 insertions(+), 2 deletions(-) mode change 100644 => 100755 labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html create mode 100755 labs/converged-modeling-patterns/presentations/fonts/LICENSE-bricolage-grotesque.txt create mode 100755 labs/converged-modeling-patterns/presentations/fonts/LICENSE-ibm-plex-mono.txt create mode 100755 labs/converged-modeling-patterns/presentations/fonts/LICENSE-public-sans.txt create mode 100755 labs/converged-modeling-patterns/presentations/fonts/bricolage-grotesque-latin-40c2cb34.woff2 create mode 100755 labs/converged-modeling-patterns/presentations/fonts/bricolage-grotesque-latin-ext-fdb6b064.woff2 create mode 100755 labs/converged-modeling-patterns/presentations/fonts/fonts.css create mode 100755 labs/converged-modeling-patterns/presentations/fonts/ibm-plex-mono-latin-0bc96cd0.woff2 create mode 100755 labs/converged-modeling-patterns/presentations/fonts/ibm-plex-mono-latin-1b581b15.woff2 create mode 100755 labs/converged-modeling-patterns/presentations/fonts/ibm-plex-mono-latin-e2661bcc.woff2 create mode 100755 labs/converged-modeling-patterns/presentations/fonts/ibm-plex-mono-latin-ext-1969f6ff.woff2 create mode 100755 labs/converged-modeling-patterns/presentations/fonts/ibm-plex-mono-latin-ext-93cfae71.woff2 create mode 100755 labs/converged-modeling-patterns/presentations/fonts/ibm-plex-mono-latin-ext-a7353317.woff2 create mode 100755 labs/converged-modeling-patterns/presentations/fonts/public-sans-latin-6e68d19a.woff2 create mode 100755 labs/converged-modeling-patterns/presentations/fonts/public-sans-latin-ext-53e02343.woff2 diff --git a/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html b/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html old mode 100644 new mode 100755 index 9f7bff9..5bbfe13 --- a/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html +++ b/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html @@ -4,8 +4,7 @@ Model the Domain, Not the Engine - - + CANONICAL FORM — EACH FACT ONCETHE SAME FACT, EMBEDDEDADVISORPKadvisor_idvarchar2full_namevarchar2officevarchar2desk_phonevarchar2regionvarchar2CLIENTPKclient_idvarchar2full_namevarchar2segmentvarchar2FKadvisor_idvarchar2emailvarchar2ACCOUNTPKaccount_idvarchar2FKclient_idvarchar2acct_typevarchar2balancenumberTRADEPKtrade_idvarchar2FKaccount_idvarchar2symbolvarchar2quantitynumberexec_pricenumberadvisors · A-317office: Leeds → Manchester790client docs1,920account docs≈ 2,700 document rewritesper change · not one transactionCanonical form: 1 row updateatomic · every consumer sees itmutable reference data — copying it is what creates write amplificationimmutable snapshot — safe to copy \ No newline at end of file +CANONICAL FORM: EACH FACT ONCETHE SAME FACT, EMBEDDEDADVISORPKadvisor_idvarchar2full_namevarchar2officevarchar2desk_phonevarchar2regionvarchar2CLIENTPKclient_idvarchar2full_namevarchar2segmentvarchar2FKadvisor_idvarchar2emailvarchar2ACCOUNTPKaccount_idvarchar2FKclient_idvarchar2acct_typevarchar2balancenumberTRADEPKtrade_idvarchar2FKaccount_idvarchar2symbolvarchar2quantitynumberexec_pricenumberadvisors · A-317office: Leeds → Manchester790client docs1,920account docs≈ 2,700 document rewritesper change · not one transactionCanonical form: 1 row updateatomic · every consumer sees itmutable reference data: copying it is what creates write amplificationimmutable snapshot: safe to copy \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/01-extended-reference/figures/model-curve.svg b/labs/converged-modeling-patterns/patterns/01-extended-reference/figures/model-curve.svg index 121f215..fc5e720 100644 --- a/labs/converged-modeling-patterns/patterns/01-extended-reference/figures/model-curve.svg +++ b/labs/converged-modeling-patterns/patterns/01-extended-reference/figures/model-curve.svg @@ -1 +1 @@ -KNOB SETTINGS · THIS WORKLOAD1 · DiversityHigh — 4 consumersportal, CRM, statements andcopilot all read the card2 · Read / writeExtreme read skew5×10⁷ reads/day against~300 advisor edits/day3 · Update localityRare, fans out ×2,700each edit lands on everydocument that copied itDAILY WORK vs ADVISOR CHANGES / DAY · illustrative modelembedding is cheaperprojection is cheaper50M100M200M500M1B101001k10k100kadvisor changes per day (log)work units per day (log)break-even ≈ 930 / daynormal day · 300reorg day · 8,000Embed the cardProject it · duality view, +15% read \ No newline at end of file +KNOB SETTINGS · THIS WORKLOAD1 · DiversityHigh: 4 consumersportal, CRM, statements andcopilot all read the card2 · Read / writeExtreme read skew5×10⁷ reads/day against~300 advisor edits/day3 · Update localityRare, fans out ×2,700each edit lands on everydocument that copied itDAILY WORK vs ADVISOR CHANGES / DAY · illustrative modelembedding is cheaperprojection is cheaper50M100M200M500M1B101001k10k100kadvisor changes per day (log)work units per day (log)break-even ≈ 930 / daynormal day · 300reorg day · 8,000Embed the cardProject it · duality view, +15% read \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/02-computed/01-document-model.sql b/labs/converged-modeling-patterns/patterns/02-computed/01-document-model.sql index 28bc523..c0f1c0e 100644 --- a/labs/converged-modeling-patterns/patterns/02-computed/01-document-model.sql +++ b/labs/converged-modeling-patterns/patterns/02-computed/01-document-model.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Pattern 02 · Computed · THE DOCUMENT MODEL (the starting point) -- Industry: telecom. Access pattern: show a subscriber's current-cycle usage --- (total MB, minutes, cost) instantly on the account page — and rank the top +-- (total MB, minutes, cost) instantly on the account page, and rank the top -- talkers for the ops dashboard. -- -- The document move: bake the rollup onto the subscriber doc. Compute once on @@ -66,7 +66,7 @@ COMMIT; -- of the entire subscriber document: append the line item, re-tick the rollup. -- Do this per CDR, thousands of times a cycle, on your busiest subscribers. -- @step Post one Call Detail Record for S-001 --- @note Append the line item and re-tick the rollup — a read-modify-write of the WHOLE subscriber document (1,000 prior CDRs), once per CDR. +-- @note Append the line item and re-tick the rollup: a read-modify-write of the WHOLE subscriber document (1,000 prior CDRs), once per CDR. -- @why Update locality is the hot knob here: every call lands on the same parent, so each CDR pays for rewriting everything already in the document. -- @look Rows affected is 1, but Measure it shows how many bytes that one row cost. -- @figure doc-shape.svg The subscriber document as built: a running cycle-usage rollup that every CDR rewrites @@ -84,7 +84,7 @@ COMMIT; -- The account page read the pattern optimizes for (cheap): -- @step Read the account page (rollup already there) --- @note One document, one lookup — the CDR's cost already landed on the write. Shows the line-item count, not the usage[] array itself. +-- @note One document, one lookup: the CDR's cost already landed on the write. Shows the line-item count, not the usage[] array itself. -- @why Read/write is where the pattern earns its keep: 30 balance checks a subscriber a day read a precomputed rollup from one document. -- @look mb_this_cycle comes straight off the document, and cdrs_in_document shows the 1,000-plus line items riding along with it. SELECT JSON_VALUE(data,'$._id') AS subscriber, @@ -95,7 +95,7 @@ WHERE JSON_VALUE(data,'$._id') = 'S-001'; -- The Top-N dashboard read the pattern does NOT help (full scan + sort every load): -- @step Rank the top talkers (full scan + sort) --- @note No rollup to lean on across subscribers — SUM/SORT/LIMIT the whole collection, every load. +-- @note No rollup to lean on across subscribers: SUM/SORT/LIMIT the whole collection, every load. -- @why Diversity bites here: the ops dashboard ranks usage across subscribers, and a rollup inside each document gives it nothing to seek on, so every load sorts the whole collection. -- @look Up to 5 subscribers ranked by mb_this_cycle, produced by sorting every document in the collection. SELECT JSON_VALUE(data,'$._id') AS subscriber, diff --git a/labs/converged-modeling-patterns/patterns/02-computed/02-converged.sql b/labs/converged-modeling-patterns/patterns/02-computed/02-converged.sql index c153ba9..7e365df 100644 --- a/labs/converged-modeling-patterns/patterns/02-computed/02-converged.sql +++ b/labs/converged-modeling-patterns/patterns/02-computed/02-converged.sql @@ -2,7 +2,7 @@ -- Pattern 02 · Computed · THE CONVERGED ALTERNATIVE -- Two moves, both keeping the read win without paying whole-document write amp. -- --- 1) CDRs are APPEND-ONLY relational rows — one small insert per CDR, no parent +-- 1) CDRs are APPEND-ONLY relational rows: one small insert per CDR, no parent -- document to rewrite. A maintained summary carries the rollup and is kept -- current IN THE SAME TRANSACTION by a row trigger. Both models serialize per -- subscriber (the summary row locks, just as the document does); the @@ -11,7 +11,7 @@ -- a materialized view WITH REFRESH FAST ON COMMIT over a CDR mview log.) -- -- 2) Hot Top-N becomes an INDEX RANGE SCAN. A descending index on the summary's --- usage column turns "top talkers" into an O(log n) seek + FETCH FIRST N — +-- usage column turns "top talkers" into an O(log n) seek + FETCH FIRST N, -- no SUM, no SORT, no full-collection scan. This is the field pattern behind -- the 60s -> 500ms dashboard result (a real landing page, anonymized). -- @@ -103,7 +103,7 @@ COMMIT; -- Account page read: the rollup is already there (staleness = 0), one PK lookup. -- @step Read the account page (rollup already there) --- @note Staleness = 0 — the trigger kept this current in the same transaction as the CDR insert. +-- @note Staleness = 0: the trigger kept this current in the same transaction as the CDR insert. -- @why Read/write: the balance check still reads a precomputed rollup, now from a narrow summary row the trigger keeps current in the CDR's own transaction. -- @look total_mb and cost come from one primary-key lookup on cp_subscriber_usage, with no aggregation over cp_cdr. SELECT subscriber_id, total_mb, cost FROM cp_subscriber_usage WHERE subscriber_id = 'S-001'; @@ -111,7 +111,7 @@ SELECT subscriber_id, total_mb, cost FROM cp_subscriber_usage WHERE subscriber_i -- Hot Top-N: an index range scan on cp_ix_usage_topn + FETCH FIRST N. -- (EXPLAIN PLAN FOR this SELECT shows INDEX RANGE SCAN, not SORT ORDER BY.) -- @step Rank the top talkers (index range scan) --- @note No SUM, no SORT — the descending index turns Top-N into a range scan that stops after N rows. +-- @note No SUM, no SORT: the descending index turns Top-N into a range scan that stops after N rows. -- @note Field result for this change (anonymized): the dashboard's hot Top-N went from 60 s to 500 ms. -- @why Diversity: the ops dashboard gets its own access path, a descending index on total_mb, so Top-N stops after 5 index entries instead of sorting every subscriber. -- @look Up to 5 rows in total_mb order, the same ranking as the document model's sort, read from the head of the index. @@ -120,7 +120,7 @@ FROM cp_subscriber_usage ORDER BY total_mb DESC FETCH FIRST 5 ROWS ONLY; --- Prefer the document shape at the API? Project it — rollup included, live. +-- Prefer the document shape at the API? Project it: rollup included, live. CREATE OR REPLACE JSON RELATIONAL DUALITY VIEW cp_subscriber_dv AS SELECT JSON { '_id' : s.subscriber_id, @@ -134,7 +134,7 @@ SELECT JSON { } FROM cp_subscribers s WITH INSERT UPDATE DELETE; -- @step Read the projected subscriber document --- @note The duality view includes the live rollup — no separate document to maintain for the API shape. +-- @note The duality view includes the live rollup: no separate document to maintain for the API shape. -- @why Diversity without a second copy: the duality view projects the subscriber document with cycleUsage inline and read-only, joined by primary key on each read. -- @look subscriber_document shows cycleUsage with the same totals as the account-page read. SELECT JSON_SERIALIZE(data PRETTY) AS subscriber_document diff --git a/labs/converged-modeling-patterns/patterns/02-computed/03-parity.js b/labs/converged-modeling-patterns/patterns/02-computed/03-parity.js index 3920d9d..e99cee2 100644 --- a/labs/converged-modeling-patterns/patterns/02-computed/03-parity.js +++ b/labs/converged-modeling-patterns/patterns/02-computed/03-parity.js @@ -1,6 +1,6 @@ // ============================================================================ // Pattern 02 · Computed · CROSS-API PARITY (mongosh) -// The SAME subscriber document — with its live rollup — read through the SQL +// The SAME subscriber document (with its live rollup) read through the SQL // duality view (cp_subscriber_dv, injected as $SQL_RESULT) and through the MongoDB // API. Byte-equal after canonicalizing JSON and ignoring _metadata. Non-zero exit // on mismatch. @@ -24,7 +24,7 @@ const viaSql = JSON.parse(process.env.SQL_RESULT || "null"); if (!viaSql) { print("[FAIL] SQL_RESULT not provided by run.sh"); quit(1); } // @step Read the projected document over the MongoDB API -// @note Same subscriber document the SQL lane read — cycleUsage is the live rollup, whichever wire protocol you read it over. +// @note Same subscriber document the SQL lane read: cycleUsage is the live rollup, whichever wire protocol you read it over. // @why Diversity without copies: the self-care app keeps find() over the MongoDB API while charging reads the same rows as SQL/JSON, so there is one rollup and no document to keep in step. // @look cycleUsage.totalMB in the returned document matches the SQL projection. // @figure flow.svg Append-only CDRs maintain a usage row by trigger; one duality view serves the app over the MongoDB API and charging over SQL/JSON diff --git a/labs/converged-modeling-patterns/patterns/02-computed/README.md b/labs/converged-modeling-patterns/patterns/02-computed/README.md index 6b36d66..03ad8b6 100644 --- a/labs/converged-modeling-patterns/patterns/02-computed/README.md +++ b/labs/converged-modeling-patterns/patterns/02-computed/README.md @@ -4,9 +4,9 @@ industry: Telecom deck: "18–21" problem: >- Each subscriber document carries a running cycle-usage rollup so the app and real-time - charging read one document — but every call record now rewrites that hot document. + charging read one document, but every call record now rewrites that hot document. knobs: - - { name: Diversity, setting: "Medium-high — 4 consumers", help: "The self-care app, real-time charging, the ops dashboard and the bill run all read usage, each in a different shape." } + - { name: Diversity, setting: "Medium-high: 4 consumers", help: "The self-care app, real-time charging, the ops dashboard and the bill run all read usage, each in a different shape." } - { name: Read / write, setting: "Write-heavy on the rollup", help: "About 30 balance reads a subscriber a day against 11 CDRs on average and 400-plus for heavy users, so on average the rollup is written once for every three reads, and for heavy users it is written more often than it is read." } - { name: Update locality, setting: "Every write, one parent", hot: true, help: "Every CDR lands on the same subscriber document: break-even is about 4.4 CDRs a subscriber a day, and a 400-a-day heavy user costs about 2.5× the work embedded." } help: @@ -33,7 +33,7 @@ measure: - { x: 1000, ratio: 32.53 } # doc 51792 B, conv 1592 B - { x: 5000, ratio: 203.24 } # doc 323560 B, conv 1592 B --- -# Pattern 02 — Computed +# Pattern 02: Computed **Telecom.** Show a subscriber's current-cycle usage instantly on the account page, and rank the top talkers for the ops dashboard. @@ -43,7 +43,7 @@ and rank the top talkers for the ops dashboard. ## The document bet The Computed pattern bakes a rollup onto the document: compute once on write, read -it a thousand times for free. The math is real — a million reads an hour against a +it a thousand times for free. The math is real: a million reads an hour against a thousand writes an hour means precomputing "divides the work by a thousand." Store `cycleUsage` on the subscriber and the account page is a single lookup. @@ -54,8 +54,8 @@ re-ticks the rollup, and each one is a read-modify-write that **rewrites the who subscriber document**. The document grows with every call, so the redo each CDR costs grows with it: in the lab, subscriber S-001 already carries 1,000 CDR line items this cycle, and posting one more rewrites all of them. On a hot subscriber -that is a write storm on one document. The pattern's own escape hatch — -counter-sharding into N documents and fanning the read back in — leaves the write +that is a write storm on one document. The pattern's own escape hatch +(counter-sharding into N documents and fanning the read back in) leaves the write amplification exactly where it was. And the Top-N dashboard gets no help at all: with the rollup buried inside each @@ -66,14 +66,14 @@ collection on every load.** At book scale that is the query that melts down. Two moves, both keeping the read cheap: -1. **CDRs are append-only rows.** One small insert per event — no parent document to +1. **CDRs are append-only rows.** One small insert per event, no parent document to rewrite. Both serialize per subscriber; the converged write is ~1.5 KB instead of the whole document. A maintained summary carries the rollup and is kept current **in the same transaction** by a row trigger: *Computed, with a staleness window of zero.* (Declarative equivalent: a materialized view `REFRESH FAST ON COMMIT` over a CDR mview log.) 2. **Hot Top-N becomes an index range scan.** A descending index on the summary's - usage column turns "top talkers" into an O(log n) seek plus `FETCH FIRST N` — no + usage column turns "top talkers" into an O(log n) seek plus `FETCH FIRST N`, no SUM, no SORT, no full-collection scan. This is the shape behind the field result on exactly this workload: a landing-page diff --git a/labs/converged-modeling-patterns/patterns/02-computed/figures/erd.svg b/labs/converged-modeling-patterns/patterns/02-computed/figures/erd.svg index 5255c16..a311cb5 100644 --- a/labs/converged-modeling-patterns/patterns/02-computed/figures/erd.svg +++ b/labs/converged-modeling-patterns/patterns/02-computed/figures/erd.svg @@ -1 +1 @@ -CANONICAL FORM — FACTS APPENDED, ROLLUP DERIVEDTHE SAME ROLLUP, EMBEDDEDSUBSCRIBERPKsubscriber_idvarchar2msisdnvarchar2planvarchar2cyclevarchar2CDR · append-onlyPKcdr_idnumberFKsubscriber_idvarchar2mbnumberminutesnumbercostnumbercdr_tstimestampSUBSCRIBER_USAGEPKsubscriber_idvarchar2total_mbnumbertotal_minnumbercostnumberAFTER INSERT trigger+1 counter row, same txnCDR stream1,500/s avg · 6k/s peakS-4471902 · one hot document400+ whole-doc rewrites / dayshard 1shard 2shard 3shard Nbalance read = N reads + SUMa write problem traded for a read oneCanonical: append 1 row+ bump 1 counter row · atomicmutable rollup — every CDR writes itimmutable CDR facts — append, never rewrite \ No newline at end of file +CANONICAL FORM: FACTS APPENDED, ROLLUP DERIVEDTHE SAME ROLLUP, EMBEDDEDSUBSCRIBERPKsubscriber_idvarchar2msisdnvarchar2planvarchar2cyclevarchar2CDR · append-onlyPKcdr_idnumberFKsubscriber_idvarchar2mbnumberminutesnumbercostnumbercdr_tstimestampSUBSCRIBER_USAGEPKsubscriber_idvarchar2total_mbnumbertotal_minnumbercostnumberAFTER INSERT trigger+1 counter row, same txnCDR stream1,500/s avg · 6k/s peakS-4471902 · one hot document400+ whole-doc rewrites / dayshard 1shard 2shard 3shard Nbalance read = N reads + SUMa write problem traded for a read oneCanonical: append 1 row+ bump 1 counter row · atomicmutable rollup: every CDR writes itimmutable CDR facts: append, never rewrite \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/02-computed/figures/flow.svg b/labs/converged-modeling-patterns/patterns/02-computed/figures/flow.svg index 916bcf9..35185ea 100644 --- a/labs/converged-modeling-patterns/patterns/02-computed/figures/flow.svg +++ b/labs/converged-modeling-patterns/patterns/02-computed/figures/flow.svg @@ -1 +1 @@ -CANONICAL TABLESMAINTAINED · PROJECTEDCONSUMERScdrappend-only rowssubscriber_usagethe rollup · 1 rowsubscribersmsisdn · planix_usage_topntotal_mb DESCsubscriber_dvduality viewcycleUsage NOUPDATEBill runSQL over cdrOps Top-Nindex range scanSelf-care appMongo API find()ChargingSQL/JSONtriggersame txn \ No newline at end of file +CANONICAL TABLESMAINTAINED · PROJECTEDCONSUMERScdrappend-only rowssubscriber_usagethe rollup · 1 rowsubscribersmsisdn · planix_usage_topntotal_mb DESCsubscriber_dvduality viewcycleUsage NOUPDATEBill runSQL over cdrOps Top-Nindex range scanSelf-care appMongo API find()ChargingSQL/JSONtriggersame txn \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/02-computed/figures/model-curve.svg b/labs/converged-modeling-patterns/patterns/02-computed/figures/model-curve.svg index e6d045e..85d5fb5 100644 --- a/labs/converged-modeling-patterns/patterns/02-computed/figures/model-curve.svg +++ b/labs/converged-modeling-patterns/patterns/02-computed/figures/model-curve.svg @@ -1 +1 @@ -KNOB SETTINGS · THIS WORKLOAD1 · DiversityMedium-high — 4 consumersapp, charging, ops dashboardand the bill run2 · Read / writeWrite-heavy on the rollup~30 balance reads/day vs11 CDRs avg · 400+ heavy3 · Update localityEvery write, one parenteach CDR lands on the samehot subscriber documentWORK / SUBSCRIBER / DAY vs CDRs / DAY · illustrative modelembed winsappend + summary is cheaper1003001k3k10k1101001kCDRs per subscriber per day (log)work units / subscriber / day (log)break-even ≈ 4.4 / daylight · 1.5average · 11heavy · 400Embedded rollup · doc rewriteAppend + summary · +30% read \ No newline at end of file +KNOB SETTINGS · THIS WORKLOAD1 · DiversityMedium-high: 4 consumersapp, charging, ops dashboardand the bill run2 · Read / writeWrite-heavy on the rollup~30 balance reads/day vs11 CDRs avg · 400+ heavy3 · Update localityEvery write, one parenteach CDR lands on the samehot subscriber documentWORK / SUBSCRIBER / DAY vs CDRs / DAY · illustrative modelembed winsappend + summary is cheaper1003001k3k10k1101001kCDRs per subscriber per day (log)work units / subscriber / day (log)break-even ≈ 4.4 / daylight · 1.5average · 11heavy · 400Embedded rollup · doc rewriteAppend + summary · +30% read \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.js b/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.js index 6f6de3d..7b303b5 100644 --- a/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.js +++ b/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.js @@ -1,7 +1,7 @@ // ============================================================================ // Pattern 03 · Bucket · THE DOCUMENT MODEL in the MongoDB lane (mongosh) // The $push bucket: each reading grows the bucket document and re-updates its -// counters — a read-modify-write of the WHOLE (growing) document on every +// counters: a read-modify-write of the WHOLE (growing) document on every // append, the canonical write-amplification. Runnable illustration. // Run via run.sh (Mongo lane) or: mongosh "" --file 01-document-model.js // ============================================================================ @@ -12,7 +12,7 @@ C.drop(); C.insertOne({ _id: "M-100|TEMP|2026-08-01T10", machineId: "M-100", metric: "TEMP", hourStart: "2026-08-01T10:00:00Z", count: 0, sum: 0, max: null, readings: [] }); -// Readings arrive. Each one is a $push + counter update — one whole-document +// Readings arrive. Each one is a $push + counter update: one whole-document // rewrite per reading. On a hot sensor this bucket marches at the 16 MB ceiling. const arrivals = [ { ts: "2026-08-01T10:00:05Z", val: 88.4 }, diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.sql b/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.sql index d402e0d..3ac51b0 100644 --- a/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.sql +++ b/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.sql @@ -33,7 +33,7 @@ COMMIT; -- Three readings arrive. Each one PUSHES to the array AND re-updates the -- counters -- each one a read-modify-write of the whole (growing) bucket document. -- @step Ingest three readings into the bucket --- @note Each reading is an array APPEND plus a counter update — a read-modify-write of the WHOLE (growing) bucket, once per reading. +-- @note Each reading is an array APPEND plus a counter update: a read-modify-write of the WHOLE (growing) bucket, once per reading. -- @why Update locality is the hot knob: every reading lands on the same bucket, so each append is a read-modify-write of every reading already in it. Bytes moved per hour grow with the square of the readings. -- @look The PL/SQL block completes with no row count; Measure it shows what its 3 whole-bucket rewrites cost next to 3 row inserts. -- @figure doc-shape.svg The sensor-hour bucket as built: counters and an array that every reading rewrites @@ -59,7 +59,7 @@ COMMIT; -- The read the pattern optimizes for: one bucket, counters already there. -- @step Read the bucket (counters already there) --- @note One document, running counters already maintained — cheap, until the bucket has to grow again. +-- @note One document, running counters already maintained: cheap, until the bucket has to grow again. -- @why Read/write is the bucket's case: a dashboard that reads the hour 360 times gets one contiguous document with the counters already computed. Below about 900 readings a bucket, that read win beats the rewrites. -- @look n, avg_temp and max_temp come straight off the counters, with no pass over the readings array. SELECT JSON_VALUE(data,'$.machineId') AS machine, diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/02-converged.sql b/labs/converged-modeling-patterns/patterns/03-bucket/02-converged.sql index 62bc6b5..dfc82cd 100644 --- a/labs/converged-modeling-patterns/patterns/03-bucket/02-converged.sql +++ b/labs/converged-modeling-patterns/patterns/03-bucket/02-converged.sql @@ -45,7 +45,7 @@ CREATE INDEX bk_ix_readings ON bk_sensor_readings (machine_id, metric, reading_t -- Every reading is one small row. No parent to rewrite; constant cost per reading. -- The same three readings the document model appends to its bucket, as three rows. -- @step Insert the three readings --- @note Three small rows — no bucket to grow, no parent document to rewrite. +-- @note Three small rows: no bucket to grow, no parent document to rewrite. -- @why Update locality stops compounding: each reading is its own small row in the hour's partition, so an insert costs the same at reading 3 or reading 36,000. There is no document to grow and no 16 MB cap to reach. -- @look Rows affected is 3; Measure it shows redo that stays near 1 KB at any bucket size. -- @figure erd.svg Plant, machine and append-only readings with a derived hourly rollup, beside one hot sensor-hour packed into a single bucket diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/02-sql-in-pipeline.js b/labs/converged-modeling-patterns/patterns/03-bucket/02-sql-in-pipeline.js index 7754647..5540bc7 100644 --- a/labs/converged-modeling-patterns/patterns/03-bucket/02-sql-in-pipeline.js +++ b/labs/converged-modeling-patterns/patterns/03-bucket/02-sql-in-pipeline.js @@ -4,11 +4,11 @@ // Oracle's own $sql aggregation stage: parallel execution, cost-based optimization, // and NO 100 MB stage / 16 MB output caps. It reads the converged, INTERVAL- // partitioned bk_sensor_readings table (created by the SQL lane's 02-converged.sql). -// This is the Mongo-lane developer's on-ramp to the converged rollup — no leaving +// This is the Mongo-lane developer's on-ramp to the converged rollup: no leaving // the pipeline, no maintaining a bucket. // ============================================================================ // @step Hourly rollup with $sql in the pipeline -// @note Full SQL over the Mongo wire protocol — parallel execution, cost-based optimization, no 100 MB stage / 16 MB output caps. +// @note Full SQL over the Mongo wire protocol: parallel execution, cost-based optimization, no 100 MB stage / 16 MB output caps. // @why Diversity: the anomaly scan keeps its pipeline over the MongoDB API, and the $sql stage hands the rollup to the optimizer with parallel execution and none of the pipeline's stage memory or output caps. // @look One document per machine and hour with n, avg and max, the same values the SQL GROUP BY returns. // @figure flow.svg Partitioned readings feed a pruned GROUP BY and a summary view, serving dashboards over SQL and the anomaly job through a $sql stage diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/README.md b/labs/converged-modeling-patterns/patterns/03-bucket/README.md index fd56875..2761ee2 100644 --- a/labs/converged-modeling-patterns/patterns/03-bucket/README.md +++ b/labs/converged-modeling-patterns/patterns/03-bucket/README.md @@ -6,7 +6,7 @@ problem: >- Sensor readings are bucketed per machine per hour. Every reading rewrites the growing bucket, and hot sensors march it toward the 16 MB document cap. knobs: - - { name: Diversity, setting: "Medium — 4 read shapes", help: "The live dashboard, the 8-hour shift rollup, the 7-day anomaly scan and ML feature pulls all read the same readings, each in a different shape." } + - { name: Diversity, setting: "Medium: 4 read shapes", help: "The live dashboard, the 8-hour shift rollup, the 7-day anomaly scan and ML feature pulls all read the same readings, each in a different shape." } - { name: Read / write, setting: "Write-heavy", help: "About 34,000 readings a second, three billion a day, against a dashboard that re-reads each sensor-hour about 360 times." } - { name: Update locality, setting: "Every write, same document", hot: true, help: "Every reading lands on the same growing bucket: break-even is about 900 readings a bucket, a one-a-second sensor already costs about 2.7× the rows, and a ten-a-second spindle about 22×." } help: @@ -33,7 +33,7 @@ measure: - { x: 1000, ratio: 109.18 } # doc 109616 B, conv 1004 B - { x: 3600, ratio: 469.84 } # doc 471716 B, conv 1004 B --- -# Pattern 03 — Bucket (time-series) +# Pattern 03: Bucket (time-series) **Manufacturing / IoT.** Ingest millions of tiny sensor readings; read them back as per-machine, per-hour summaries. @@ -49,9 +49,9 @@ running counters kept on the bucket. Fewer, fatter documents; cheap windowed rea ## Where the needle flips This is *the* write-amplification pattern. Each reading is an array `$push` **plus** -a counter update — a read-modify-write that **rewrites the entire growing bucket +a counter update, a read-modify-write that **rewrites the entire growing bucket document on every single append.** The bucket only grows, so the redo each append -costs climbs all cycle — and a hot sensor +costs climbs all cycle, and a hot sensor marches its bucket straight at the **16 MB document ceiling**, where writes simply start to fail. You built a structure whose write cost increases the more you use it. @@ -60,13 +60,13 @@ start to fail. You built a structure whose write cost increases the more you use Stop hand-rolling buckets. Let **range partitioning** do the amortization the bucket was faking, and let `GROUP BY` do the rollup: -- Readings are tiny, append-only rows in an **INTERVAL-partitioned** table — Oracle +- Readings are tiny, append-only rows in an **INTERVAL-partitioned** table: Oracle opens a new hourly partition on its own as time advances. Each reading is one small row: no array to grow, no document to rewrite, no 16 MB ceiling. - The per-hour summary is a `GROUP BY` over a partition range; asking for one hour **prunes** to one partition. Reads dwarf writes? A materialized view precomputes it. - Prefer the Mongo lane? **`$sql`-in-pipeline** runs the same `GROUP BY` with - parallel execution and **no 100 MB stage / 16 MB output caps** — full SQL over the + parallel execution and **no 100 MB stage / 16 MB output caps**, full SQL over the wire protocol (see the root README). Field result for exactly this reshape: a 29-second bucket rollup fell to **sub-400 @@ -78,7 +78,7 @@ milliseconds**, and the read win was kept without maintaining a single bucket. |---|---| | `01-document-model.sql` | Per-hour bucket doc; each reading `$push` + counter rewrites the growing bucket | | `02-converged.sql` | INTERVAL-partitioned readings (constant-cost inserts) + `GROUP BY` rollup + summary MV | -| `01-document-model.js` | The MongoDB-lane `$push` bucket — the same write-amp, runnable in `mongosh` | +| `01-document-model.js` | The MongoDB-lane `$push` bucket: the same write-amp, runnable in `mongosh` | | `02-sql-in-pipeline.js` | The hourly rollup as **full SQL over the Mongo wire** via a `$sql`-in-pipeline stage | | `03-parity.js` | Asserts the Mongo `$sql` rollup == the SQL `GROUP BY` == the maintained bucket counters | | `_capture.sql` | Helper: emits the SQL-lane rollup for the parity check | diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/figures/erd.svg b/labs/converged-modeling-patterns/patterns/03-bucket/figures/erd.svg index d74f6a8..1be534f 100644 --- a/labs/converged-modeling-patterns/patterns/03-bucket/figures/erd.svg +++ b/labs/converged-modeling-patterns/patterns/03-bucket/figures/erd.svg @@ -1 +1 @@ -CANONICAL FORM — EACH READING ONCE, NEVER REWRITTENONE HOT SENSOR-HOUR, BUCKETEDPLANTPKplant_idvarchar2namevarchar2regionvarchar2MACHINEPKmachine_idvarchar2FKplant_idvarchar2modelvarchar2line_nonumberSENSOR_READINGSPKreading_idnumberFKmachine_idvarchar2metricvarchar2reading_valnumberreading_tstimestampHOURLY_MV · derivedmachine_idvarchar2hour_startdatennumbersum_valnumbermax_valnumberGROUP BY hour · on readM-118 · spindle vibration10 readings / s1 bucket documentcount · sum · min · max · readings[ ]every reading rewrites all of itO(n²) rewrite volume36,000 rewrites · 4.3 MB bucket≈ 78 GB if each push rewrites itCanonical: 36,000 row inserts≈ 9 MB · appended to one partitionrewritten on every reading — the bucket's counters and arrayimmutable reading — inserted once, never rewritten \ No newline at end of file +CANONICAL FORM: EACH READING ONCE, NEVER REWRITTENONE HOT SENSOR-HOUR, BUCKETEDPLANTPKplant_idvarchar2namevarchar2regionvarchar2MACHINEPKmachine_idvarchar2FKplant_idvarchar2modelvarchar2line_nonumberSENSOR_READINGSPKreading_idnumberFKmachine_idvarchar2metricvarchar2reading_valnumberreading_tstimestampHOURLY_MV · derivedmachine_idvarchar2hour_startdatennumbersum_valnumbermax_valnumberGROUP BY hour · on readM-118 · spindle vibration10 readings / s1 bucket documentcount·sum·min·maxreadings[ ]every reading rewrites bothO(n²) rewrite volume36,000 rewrites · 4.3 MB bucket≈ 78 GB if each push rewrites itCanonical: 36,000 row inserts≈ 9 MB · appended to one partitionKey:red: rewritten on every reading (the bucket's counters and array)green: immutable (SENSOR_READINGS rows, inserted once) \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/figures/flow.svg b/labs/converged-modeling-patterns/patterns/03-bucket/figures/flow.svg index 09ebc25..573cd02 100644 --- a/labs/converged-modeling-patterns/patterns/03-bucket/figures/flow.svg +++ b/labs/converged-modeling-patterns/patterns/03-bucket/figures/flow.svg @@ -1 +1 @@ -CANONICAL TABLESSUMMARYCONSUMERSmachinesplant · line · modelsensor_readingsappend-only rowsINTERVAL 1 hGROUP BY hourpartition-prunedparallelhourly_mvsummary MVDashboardsSQL · last hourAnomaly scanMongo API $sqlShift reportSQL · MV \ No newline at end of file +CANONICAL TABLESSUMMARYCONSUMERSmachinesplant · line · modelsensor_readingsappend-only rowsINTERVAL 1 hGROUP BY hourpartition-prunedparallelhourly_mvsummary MVDashboardsSQL · last hourAnomaly scanMongo API $sqlShift reportSQL · MV \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/figures/model-curve.svg b/labs/converged-modeling-patterns/patterns/03-bucket/figures/model-curve.svg index 0fdb252..90af688 100644 --- a/labs/converged-modeling-patterns/patterns/03-bucket/figures/model-curve.svg +++ b/labs/converged-modeling-patterns/patterns/03-bucket/figures/model-curve.svg @@ -1 +1 @@ -KNOB SETTINGS · THIS WORKLOAD1 · DiversityMedium — 4 read shapesdashboard, shift rollup,anomaly scan, ML features2 · Read / writeWrite-heavy~3B readings in per day;reads are rollups, not points3 · Update localityEvery write, same documenteach reading rewrites thegrowing hour bucketBYTES PER SENSOR-HOUR vs READINGS / BUCKET · illustrative modelbucket is cheaperrows are cheaper100 KB10 MB1 GB100 GB1001k10k100kreadings per bucket (log)bytes touched per sensor-hour (log)break-even ≈ 9001 / min · 601 / s · 3,600hot · 36,000Bucket · $push + countersRows · append, GROUP BY on read16 MB cap ≈ 140k \ No newline at end of file +KNOB SETTINGS · THIS WORKLOAD1 · DiversityMedium: 4 read shapesdashboard, shift rollup,anomaly scan, ML features2 · Read / writeWrite-heavy~3B readings in per day;reads are rollups, not points3 · Update localityEvery write, same documenteach reading rewrites thegrowing hour bucketBYTES PER SENSOR-HOUR vs READINGS / BUCKET · illustrative modelbucket is cheaperrows are cheaper100 KB10 MB1 GB100 GB1001k10k100kreadings per bucket (log)bytes touched per sensor-hour (log)break-even ≈ 9001 / min · 601 / s · 3,600hot · 36,000Bucket · $push + countersRows · append, GROUP BY on read16 MB cap ≈ 140k \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/04-subset/01-document-model.sql b/labs/converged-modeling-patterns/patterns/04-subset/01-document-model.sql index 46fc55b..a0eb37d 100644 --- a/labs/converged-modeling-patterns/patterns/04-subset/01-document-model.sql +++ b/labs/converged-modeling-patterns/patterns/04-subset/01-document-model.sql @@ -43,7 +43,7 @@ COMMIT; -- claim to the overflow collection. Three writes for one claim. -- (a) append newest + (b) trim oldest: rewrites the whole policy document. -- @step Push CL-1004 in, trim the oldest claim --- @note Append plus trim rewrites the WHOLE policy document — one of three writes for a single new claim. +-- @note Append plus trim rewrites the WHOLE policy document: one of three writes for a single new claim. -- @why Update locality is the hot knob: every claim event lands on the parent policy, and keeping the list recent is a read-modify-write of the whole policy document (append, trim, rewrite) on every event. -- @look Rows affected is 1; Measure it shows the redo of rewriting the policy next to one claim insert. -- @figure doc-shape.svg The policy document as built: recent claim events inline, every event also written to a history collection @@ -55,7 +55,7 @@ SET data = JSON_TRANSFORM(data, WHERE JSON_VALUE(data,'$._id') = 'P-001'; -- (c) the full claim also goes to the overflow collection: the second write. -- @step Write the full claim to the overflow collection --- @note The second write for the same claim — the history collection must be kept in step with the inline subset by hand. +-- @note The second write for the same claim: the history collection must be kept in step with the inline subset by hand. -- @why Update locality again: the same fact lands in a second place, and if this write fails after the first, the summary and the history disagree. -- @look Rows affected is 1, the second write for a single claim. INSERT INTO sb_claim_history VALUES (JSON('{"_id":"CL-1004","policyId":"P-001","amount":4200}')); @@ -63,7 +63,7 @@ COMMIT; -- The common read the pattern optimizes for: recent claims, one document. -- @step Read the recent claims (one document) --- @note recentClaims now shows CL-1004 in, CL-1001 trimmed out — three writes paid to keep this one read cheap. +-- @note recentClaims now shows CL-1004 in, CL-1001 trimmed out: three writes paid to keep this one read cheap. -- @why Read/write is the subset's case: at about 67 summary reads per claim event, the policy page reads one document with the list already built. -- @look recent_claims_inline holds 3 claims, the list every event paid to keep sorted and trimmed. SELECT JSON_VALUE(data,'$._id') AS policy, diff --git a/labs/converged-modeling-patterns/patterns/04-subset/02-converged.sql b/labs/converged-modeling-patterns/patterns/04-subset/02-converged.sql index 4c1b7ba..355ab30 100644 --- a/labs/converged-modeling-patterns/patterns/04-subset/02-converged.sql +++ b/labs/converged-modeling-patterns/patterns/04-subset/02-converged.sql @@ -48,7 +48,7 @@ INSERT INTO sb_claims VALUES ('CL-1002','P-001',1500, TIMESTAMP '2026-03-22 09:0 INSERT INTO sb_claims VALUES ('CL-1003','P-001',2300, TIMESTAMP '2026-05-30 09:00:00'); -- CL-1004 is just one plain insert -- no trim, no overflow write, no doc rewrite. -- @step Insert claim CL-1004 --- @note One plain insert — no trim, no overflow write, no policy document to rewrite. +-- @note One plain insert: no trim, no overflow write, no policy document to rewrite. -- @why Update locality stops concentrating: the claim is one row and one index entry, with no policy document to rewrite and no history to keep in step. On a CAT day that is 300,000 inserts, not 300,000 policy rewrites. -- @look Rows affected is 1; Measure it shows redo near 1 KB whatever the size of the inline list. -- @figure erd.svg Policy, claim and claim event in canonical form, beside how one claim event lands in the subset model @@ -60,7 +60,7 @@ COMMIT; -- FIRST. Nothing was maintained to make this fast. (EXPLAIN PLAN shows the range -- scan stops after 3 rows -- no sort of the full history.) -- @step Read the recent 3 claims (index range scan) --- @note CL-1004 is already the top row — nothing was maintained to make this fast, the index just stops after 3. +-- @note CL-1004 is already the top row: nothing was maintained to make this fast, the index just stops after 3. -- @why Read/write, priced honestly: the recent list is an index range scan that stops after 3 rows, more work than one document fetch, about 25% more per summary read in the deck's model. -- @look The 3 newest claims in claim_ts order, with nothing stored to keep them current. SELECT claim_id, amount, claim_ts @@ -72,7 +72,7 @@ FETCH FIRST 3 ROWS ONLY; -- The full policy document -- hot + cold reunited AT READ TIME by SQL/JSON. No -- inline subset stored, no overflow collection to keep in step. -- @step Assemble the full policy document at read time --- @note Header plus recent claims, reunited by the query — no inline subset stored, no overflow collection to keep in step. +-- @note Header plus recent claims, reunited by the query: no inline subset stored, no overflow collection to keep in step. -- @why Diversity: agents get the policy document they had, assembled by SQL/JSON, and adjusters get the full history from the same rows by dropping FETCH FIRST. -- @look policy_document shows the header with recentClaims newest first, built by the query rather than stored. SELECT JSON_OBJECT( diff --git a/labs/converged-modeling-patterns/patterns/04-subset/README.md b/labs/converged-modeling-patterns/patterns/04-subset/README.md index c3da40b..102fe62 100644 --- a/labs/converged-modeling-patterns/patterns/04-subset/README.md +++ b/labs/converged-modeling-patterns/patterns/04-subset/README.md @@ -6,7 +6,7 @@ problem: >- The policy document keeps the ten most recent claim events inline. Every event becomes a push-sort-trim rewrite of the policy to maintain a list a query could simply read. knobs: - - { name: Diversity, setting: "High — 4 consumers", help: "Agents, the customer app, adjusters and fraud all read claim events: the first two want the recent few, the last two want everything." } + - { name: Diversity, setting: "High: 4 consumers", help: "Agents, the customer app, adjusters and fraud all read claim events: the first two want the recent few, the last two want everything." } - { name: Read / write, setting: "Read-heavy, ~67 : 1", help: "About 2 million summary reads a day against about 30,000 claim events, which is the case for keeping the subset inline." } - { name: Update locality, setting: "Every event hits the parent", hot: true, help: "Every claim event rewrites the parent policy document and writes history too: break-even is about 83,000 events a day, and a 300,000-event CAT day makes the subset about 40% more expensive than querying." } help: @@ -30,7 +30,7 @@ measure: - { x: 100, ratio: 6.12 } # doc 6336 B, conv 1036 B - { x: 1000, ratio: 26.26 } # doc 26576 B, conv 1012 B --- -# Pattern 04 — Subset (hot inline / vertical partition) +# Pattern 04: Subset (hot inline / vertical partition) **Insurance.** The policy page shows the 3 most recent claims instantly; the full claim history is opened rarely. @@ -39,7 +39,7 @@ claim history is opened rarely. ## The document bet -The Subset pattern keeps the hot slice — the recent N claims — **inline** on the +The Subset pattern keeps the hot slice (the recent N claims) **inline** on the policy document so the common read touches one document, and pushes the cold tail into a separate history collection. Keep the working set in RAM; keep the hot read to a single fetch. @@ -48,18 +48,18 @@ to a single fetch. To keep the inline subset "recent," **every new claim** has to push into the inline array, **trim** the array back to N, *and* insert the full claim into the overflow -collection — two writes, plus a whole-document rewrite of the policy, on every +collection, two writes, plus a whole-document rewrite of the policy, on every claim. You are paying a maintenance write on **every** write to serve a full-history read that **hardly ever happens.** Writes are heavy; the read you optimized for is rare. The needle is pointing the wrong way. ## The converged softening -There is **one claims table** — hot and cold live together. A composite index on +There is **one claims table**: hot and cold live together. A composite index on `(policy_id, claim_ts DESC)` makes "the recent N" an index range scan that **stops after N rows**: an O(log n) seek, no maintenance write, no overflow collection, no -trimming. Every claim is a single append. The full policy document — header plus its -recent claims — is assembled **at read time** with SQL/JSON, so hot and cold are +trimming. Every claim is a single append. The full policy document (header plus its +recent claims) is assembled **at read time** with SQL/JSON, so hot and cold are reunited by the query, never by a maintenance job. The subset stops being *state you maintain* and becomes *a projection you ask for.* @@ -75,6 +75,6 @@ The rare full-history read is the same query without the `FETCH FIRST`. ## Validated Both scripts run clean on **Oracle AI Database 26ai Free (`23.26.3-faststart`)**. This -pattern stays pure-SQL — a claims table has no natural single Mongo collection to read +pattern stays pure-SQL: a claims table has no natural single Mongo collection to read against, so there is no Mongo lane here. Run them with `../../run.sh 04-subset`. diff --git a/labs/converged-modeling-patterns/patterns/04-subset/figures/erd.svg b/labs/converged-modeling-patterns/patterns/04-subset/figures/erd.svg index 5ee44d4..8c0b86b 100644 --- a/labs/converged-modeling-patterns/patterns/04-subset/figures/erd.svg +++ b/labs/converged-modeling-patterns/patterns/04-subset/figures/erd.svg @@ -1 +1 @@ -CANONICAL FORM — EACH EVENT ONCEONE CLAIM EVENT, TWO MODELSPOLICYPKpolicy_idvarchar2holdervarchar2productvarchar2premiumnumberstatusvarchar2CLAIMPKclaim_idvarchar2FKpolicy_idvarchar2loss_datedatestatusvarchar2reservenumberCLAIM_EVENT · append-onlyPKevent_idvarchar2FKclaim_idvarchar2FKpolicy_idvarchar2event_typevarchar2amountnumberevent_tstimestampINDEXpolicy_id, event_ts DESCclaim event · CLM-5581payment · $2,400policy docpush · sort · trimwhole doc rewrittenhistory docinsert full eventsecond place2 writes, 2 places, per eventthe hot doc absorbs every oneCanonical form: 1 row insert+ 1 index entry · the recent 10is derived on read, not maintainedmutable claim state — updated in placeimmutable event facts — append once, never rewritten \ No newline at end of file +CANONICAL FORM: EACH EVENT ONCEONE CLAIM EVENT, TWO MODELSPOLICYPKpolicy_idvarchar2holdervarchar2productvarchar2premiumnumberstatusvarchar2CLAIMPKclaim_idvarchar2FKpolicy_idvarchar2loss_datedatestatusvarchar2reservenumberCLAIM_EVENT · append-onlyPKevent_idvarchar2FKclaim_idvarchar2FKpolicy_idvarchar2event_typevarchar2amountnumberevent_tstimestampINDEXpolicy_id, event_ts DESCclaim event · CLM-5581payment · $2,400policy docpush · sort · trimwhole doc rewrittenhistory docinsert full eventsecond place2 writes, 2 places, per eventthe hot doc absorbs every oneCanonical form: 1 row insert+ 1 index entry · the recent 10is derived on read, not maintainedmutable claim state: updated in placeimmutable event facts: append once, never rewritten \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/04-subset/figures/flow.svg b/labs/converged-modeling-patterns/patterns/04-subset/figures/flow.svg index 7a36802..106650b 100644 --- a/labs/converged-modeling-patterns/patterns/04-subset/figures/flow.svg +++ b/labs/converged-modeling-patterns/patterns/04-subset/figures/flow.svg @@ -1 +1 @@ -CANONICAL TABLESPROJECTIONCONSUMERSpoliciesheader, onceclaim_eventsappend · DESC indexclaimsstatus · reservepolicy summarySQL/JSONFETCH FIRST 10full historysame query,no FETCH FIRSTAgents · appSQL/JSON docAdjustersSQL · auditFraud reviewSQL analytics \ No newline at end of file +CANONICAL TABLESPROJECTIONCONSUMERSpoliciesheader, onceclaim_eventsappend · DESC indexclaimsstatus · reservepolicy summarySQL/JSONFETCH FIRST 10full historysame query,no FETCH FIRSTAgents · appSQL/JSON docAdjustersSQL · auditFraud reviewSQL analytics \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/04-subset/figures/model-curve.svg b/labs/converged-modeling-patterns/patterns/04-subset/figures/model-curve.svg index bc05502..f9ae95f 100644 --- a/labs/converged-modeling-patterns/patterns/04-subset/figures/model-curve.svg +++ b/labs/converged-modeling-patterns/patterns/04-subset/figures/model-curve.svg @@ -1 +1 @@ -KNOB SETTINGS · THIS WORKLOAD1 · DiversityHigh — 4 consumersagents, customer app, adjustersand fraud all read claim events2 · Read / writeRead-heavy, ~67 : 12M summary reads/day against~30k claim events/day3 · Update localityEvery event hits the parenteach event rewrites the policydoc and writes history tooDAILY WORK vs CLAIM EVENTS / DAY · illustrative modelthe subset is cheaperquerying is cheaper3M5M10M10k100k1Mclaim events per day (log)work units per day (log)break-even ≈ 83k / daynormal day · 30kCAT day · 300kSubset · push + trim + historyQuery it · FETCH FIRST 10, +25% read \ No newline at end of file +KNOB SETTINGS · THIS WORKLOAD1 · DiversityHigh: 4 consumersagents, customer app, adjustersand fraud all read claim events2 · Read / writeRead-heavy, ~67 : 12M summary reads/day against~30k claim events/day3 · Update localityEvery event hits the parenteach event rewrites the policydoc and writes history tooDAILY WORK vs CLAIM EVENTS / DAY · illustrative modelthe Subset pattern is cheaperquerying is cheaper3M5M10M10k100k1Mclaim events per day (log)work units per day (log)break-even ≈ 83k / daynormal day · 30kCAT day · 300kSubset · push + trim + historyQuery it · FETCH FIRST 10, +25% read \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/01-document-model.sql b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/01-document-model.sql index fca5590..20a88b6 100644 --- a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/01-document-model.sql +++ b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/01-document-model.sql @@ -37,7 +37,7 @@ COMMIT; -- The read the pattern optimizes for: everything under the wheelset = one prefix -- scan. This is the genuine strength of the materialized path. -- @step Read a subtree with a prefix scan --- @note Everything under the wheelset in one index range scan — the genuine strength of the materialized path. +-- @note Everything under the wheelset in one index range scan: the genuine strength of the materialized path. -- @why Read/write is the path's case: two million explosions a day each become one left-anchored prefix scan, the cheapest hierarchy read there is. -- @look Wheelset, wheel and spoke come back in path order from one LIKE prefix predicate. -- @figure doc-shape.svg One part document as built: a materialized path encodes its position @@ -52,7 +52,7 @@ ORDER BY JSON_VALUE(data,'$.path'); -- rewrite per node in the subtree. -- --------------------------------------------------------------------------- -- @step Re-parent the wheelset under the frame --- @note One logical move, but every descendant's path must be rewritten — a whole-document rewrite per node in the subtree. +-- @note One logical move, but every descendant's path must be rewritten: a whole-document rewrite per node in the subtree. -- @why Update locality is the hot knob: the path stores position, so one move is a read-modify-write of every part document beneath the moved node. A 40,000-part module move is 40,000 rewrites. -- @look Rows affected is 3, one per part in the wheelset's subtree; Measure it shows the redo those rewrites cost. -- @measure reparent @@ -64,7 +64,7 @@ WHERE JSON_VALUE(data,'$.path') LIKE '/P-1000/P-1100%'; COMMIT; -- @step Confirm every descendant moved --- @note Count of docs now carrying the new path prefix — one logical move, one rewrite per descendant. +-- @note Count of docs now carrying the new path prefix: one logical move, one rewrite per descendant. -- @why Update locality again: the count is how many documents one engineering change touched. At production scale those rewrites run as a batch, not one atomic change. -- @look The write_amplification line reports 3 descendant docs rewritten. SELECT 'reparent rewrote ' || COUNT(*) || ' descendant docs' AS write_amplification diff --git a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/02-converged.sql b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/02-converged.sql index c90fda0..7ae4465 100644 --- a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/02-converged.sql +++ b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/02-converged.sql @@ -69,7 +69,7 @@ CREATE OR REPLACE PROPERTY GRAPH tr_bom_graph -- READ 1 -- explode the bicycle (all components, any depth): CONNECT BY, one pass. -- @step Explode the bicycle with CONNECT BY --- @note Native recursion streams the whole frontier in one pass — no recursive CTE damming each level into an intermediate relation. +-- @note Native recursion streams the whole frontier in one pass: no recursive CTE damming each level into an intermediate relation. -- @why Read/write, priced honestly: CONNECT BY walks the edges from the root down in one statement, about 30% more work per explosion than a prefix scan in the deck's model. -- @look Each component with its qty and depth, indented under its parent. -- @figure erd.svg Part, BOM edge and change order in canonical form, beside the fan-out of one re-parent across materialized paths @@ -82,7 +82,7 @@ ORDER SIBLINGS BY child_id; -- READ 2 -- where-used: which assemblies contain the wheel? The multi-parent, -- N-hop question the materialized path could not express. SQL/PGQ, same rows. -- @step Ask a graph question: where is the wheel used? --- @note Multi-parent, N-hop, upward traversal — a downward prefix string simply cannot express this. +-- @note Multi-parent, N-hop, upward traversal: a downward prefix string simply cannot express this. -- @why Diversity: where-used runs upward across shared parts, which a downward path cannot express. A SQL/PGQ graph over the same two tables answers it with no second structure to maintain. -- @look P-1300, the trailer that shares the wheel, appears alongside the bicycle's assemblies. SELECT assembly @@ -95,7 +95,7 @@ FROM GRAPH_TABLE (tr_bom_graph -- THE NEEDLE-FLIP, RESOLVED -- re-parent the wheelset under the frame: ONE row. -- The entire subtree moves with it; no descendant paths to rewrite. -- @step Re-parent the wheelset under the frame --- @note One edge update — the entire subtree moves with it, no descendant paths to rewrite. +-- @note One edge update: the entire subtree moves with it, no descendant paths to rewrite. -- @why Update locality collapses: position is derived from the edges, so the move is one edge row however many parts hang beneath it. -- @look Rows affected is 1; Measure it shows redo near 1 KB for a subtree of any size. -- @measure reparent diff --git a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/README.md b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/README.md index c6daa64..0758748 100644 --- a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/README.md +++ b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/README.md @@ -6,7 +6,7 @@ problem: >- Each part carries a materialized path. Re-parenting a subassembly rewrites every descendant, and "which products use this part?" cannot be answered from a path. knobs: - - { name: Diversity, setting: "High — 4 questions", help: "Planning explodes an assembly, costing rolls it up, engineering asks where-used and quality asks recall impact: four questions over one structure, two of them upward." } + - { name: Diversity, setting: "High: 4 questions", help: "Planning explodes an assembly, costing rolls it up, engineering asks where-used and quality asks recall impact: four questions over one structure, two of them upward." } - { name: Read / write, setting: "Read-heavy", help: "About 2 million explosions a day against about 200 engineering change orders, so on this knob alone the path's prefix scan is the right read." } - { name: Update locality, setting: "Lands on every descendant", hot: true, help: "One re-parent rewrites the path of every part in the moved subtree, 10 to 40,000 parts: break-even is about 1,000 parts a move, and a 10,000-part move makes the path's day about 3× the edge model's." } help: @@ -30,10 +30,10 @@ measure: - { x: 300, ratio: 409.29 } # doc 394556 B, conv 964 B - { x: 3000, ratio: 3997.97 } # doc 3949992 B, conv 988 B --- -# Pattern 05 — Tree / Hierarchy +# Pattern 05: Tree / Hierarchy -**Manufacturing.** Explode a bill of materials — read a whole subassembly's -components fast — and ask "what is this part used in?" +**Manufacturing.** Explode a bill of materials (read a whole subassembly's +components fast) and ask "what is this part used in?" > Store the edges. Let the engine traverse. @@ -41,7 +41,7 @@ components fast — and ask "what is this part used in?" The materialized-path pattern stores each component with its chain of ancestors as a string: `/P-1000/P-1100/P-1110`. A subtree read becomes a **left-anchored prefix -scan** (`LIKE '/P-1000/P-1100%'`) — an index range scan, O(log n). Cheap subtree +scan** (`LIKE '/P-1000/P-1100%'`): an index range scan, O(log n). Cheap subtree reads, and that part is genuinely good. ## Where the needle flips @@ -50,25 +50,25 @@ Two edges, one on write and one on read: - **Write.** The path *encodes position*, so moving one subassembly rewrites the path of **every descendant.** Re-parent a wheelset and you rewrite the wheelset, the - wheel, the spoke, every node beneath it — write amplification **proportional to the + wheel, the spoke, every node beneath it: write amplification **proportional to the size of the subtree** for a single logical move. -- **Read.** A genuine graph question — "which assemblies use this wheel?", upward, - multi-parent, N hops — a *downward prefix string simply cannot express.* Share one - component across two assemblies and the materialized path breaks: a node now has - more than one path. +- **Read.** A genuine graph question ("which assemblies use this wheel?"): upward, + multi-parent, N hops, is something a *downward prefix string simply cannot express.* + Share one component across two assemblies and the materialized path breaks: a node + now has more than one path. ## The converged softening Split the two questions the path was trying to answer at once: - **Structure lives in adjacency edges** (`parent_id → child_id`). Re-parenting is a - **single edge update** — the subtree follows automatically, because position is not + **single edge update**: the subtree follows automatically, because position is not baked into every node. Reorg write cost drops from O(subtree) to **O(1)**. -- **Subtree / explosion reads use native recursion** — `CONNECT BY` streams the +- **Subtree / explosion reads use native recursion**: `CONNECT BY` streams the frontier in one pass. (Emit `CONNECT BY` or `GRAPH_TABLE` for hierarchy, never a recursive CTE, which dams each level into an intermediate relation the optimizer can barely optimize.) -- **Genuine graph questions use SQL/PGQ `GRAPH_TABLE`** over the *same rows* — the +- **Genuine graph questions use SQL/PGQ `GRAPH_TABLE`** over the *same rows*: the where-used, multi-parent, N-hop DAG the prefix string could not express. No separate graph database to sync. @@ -85,6 +85,6 @@ not do at all (where-used across shared components) becomes one graph match. ## Validated Both scripts run clean on **Oracle AI Database 26ai Free (`23.26.3-faststart`)**. This -pattern stays pure-SQL — adjacency/graph traversal (`CONNECT BY` / `GRAPH_TABLE`) has no +pattern stays pure-SQL: adjacency/graph traversal (`CONNECT BY` / `GRAPH_TABLE`) has no single-collection Mongo shape, so there is no Mongo lane here. Run them with `../../run.sh 05-tree-hierarchy`. diff --git a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/figures/erd.svg b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/figures/erd.svg index 1a3db72..031e914 100644 --- a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/figures/erd.svg +++ b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/figures/erd.svg @@ -1 +1 @@ -CANONICAL FORM — EDGES, NOT BAKED PATHSTHE SAME MOVE, AS PATHSPARTPKpart_idvarchar2namevarchar2revvarchar2unit_costnumberFKsupplier_idvarchar2BOM_EDGEPKedge_idnumberparent_idvarchar2FKchild_idvarchar2qtynumberECOPKeco_idvarchar2FKedge_idnumberfrom_parentvarchar2released_attimestampparent → child · a part can have many parents (DAG)ECO-4471 · re-parent SA-7A-1 → A-21SA-7 itself10 – 40kdescendants≈ subtree-size rewritesper ECO · not one transactionAdjacency edge: 1 row updatethe subtree follows · atomicthe column an ECO writes — structure, not positionimmutable change history — safe to copy \ No newline at end of file +CANONICAL FORM: EDGES, NOT BAKED PATHSTHE SAME MOVE, AS PATHSPARTPKpart_idvarchar2namevarchar2revvarchar2unit_costnumberFKsupplier_idvarchar2BOM_EDGEPKedge_idnumberparent_idvarchar2FKchild_idvarchar2qtynumberECOPKeco_idvarchar2FKedge_idnumberfrom_parentvarchar2released_attimestampparent → child · a part can have many parents (DAG)ECO-4471 · re-parent SA-7A-1 → A-21SA-7 itself10 – 40kdescendants≈ subtree-size rewritesper ECO · not one transactionAdjacency edge: 1 row updatethe subtree follows · atomicthe column an ECO writes: structure, not positionimmutable change history: safe to copy \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/figures/flow.svg b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/figures/flow.svg index 8a1ad02..6369118 100644 --- a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/figures/flow.svg +++ b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/figures/flow.svg @@ -1 +1 @@ -CANONICAL TABLESSAME ROWS, TWO READSCONSUMERSbom_edgesparent → childECO writes hereparts1.2M rowsCONNECT BYexplode · roll upone recursive passbom_graphSQL/PGQ graphwhere-used, N hopsPlanningSQL · explodeCost rollupSQL · nightlyRecall deskwhere-usedSQL/PGQ \ No newline at end of file +CANONICAL TABLESSAME ROWS, TWO READSCONSUMERSbom_edgesparent → childECO writes hereparts1.2M rowsCONNECT BYexplode · roll upone recursive passbom_graphSQL/PGQ graphwhere-used, N hopsPlanningSQL · explodeCost rollupSQL · nightlyRecall deskwhere-usedSQL/PGQ \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/figures/model-curve.svg b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/figures/model-curve.svg index ff9397e..78c787c 100644 --- a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/figures/model-curve.svg +++ b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/figures/model-curve.svg @@ -1 +1 @@ -KNOB SETTINGS · THIS WORKLOAD1 · DiversityHigh — 4 questionsexplode, roll up, where-used,recall impact2 · Read / writeRead-heavy~2M explosions/day against~200 ECOs/day3 · Update localityLands on every descendantone re-parent rewrites10 to 40,000 part pathsDAILY WORK vs PARTS PER MOVED SUBTREE · illustrative modelpath is cheaperedges are cheaper2M5M10M20M101001k10kparts in the moved subtree (log)work units per day (log)break-even ≈ 1,000 partsroutine ECO · 50module move · 10kMaterialized pathAdjacency edges · CONNECT BY, +30% read \ No newline at end of file +KNOB SETTINGS · THIS WORKLOAD1 · DiversityHigh: 4 questionsexplode, roll up, where-used,recall impact2 · Read / writeRead-heavy~2M explosions/day against~200 ECOs/day3 · Update localityLands on every descendantone re-parent rewrites10 to 40,000 part pathsDAILY WORK vs PARTS PER MOVED SUBTREE · illustrative modelpath is cheaperedges are cheaper2M5M10M20M101001k10kparts in the moved subtree (log)work units per day (log)break-even ≈ 1,000 partsroutine ECO · 50module move · 10kMaterialized pathAdjacency edges · CONNECT BY, +30% read \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/06-outlier/01-document-model.sql b/labs/converged-modeling-patterns/patterns/06-outlier/01-document-model.sql index 24412ff..dce601d 100644 --- a/labs/converged-modeling-patterns/patterns/06-outlier/01-document-model.sql +++ b/labs/converged-modeling-patterns/patterns/06-outlier/01-document-model.sql @@ -52,7 +52,7 @@ FROM (SELECT JSON_ARRAYAGG(JSON_OBJECT('clientId' VALUE 'C-' || TO_CHAR(900000 COMMIT; -- @step Add one client to the whale's embedded book --- @note Appending one client is a read-modify-write of the whole 800-client book — the growth rewrite you pay on every add until the document spills. +-- @note Appending one client is a read-modify-write of the whole 800-client book: the growth rewrite you pay on every add until the document spills. -- @why Update locality is the hot knob: writes land in the biggest documents on the platform, and appending one client is a read-modify-write of the whole 800-client book. -- @look Rows affected is 1; Measure it shows the redo of rewriting the whole book next to one client row. -- @figure doc-shape.svg The advisor document as built: the client book embedded as an array, with a hasExtras flag for books that overflow @@ -66,7 +66,7 @@ COMMIT; -- under 16 MB; this 800-client book stands in for it), the tail spills into an -- overflow document. -- @step Spill the next clients to an overflow document --- @note Spilling to overflow is itself cheap — the outlier pattern costs you the growth rewrite of the document before the spill, plus a branch in every reader. +-- @note Spilling to overflow is itself cheap: the outlier pattern costs you the growth rewrite of the document before the spill, plus a branch in every reader. -- @why Update locality: the spill write itself is small. What the pattern costs is the growth rewrite before it and the branch every reader gains after it. -- @look Rows affected is 1, a new overflow document holding 2 clients. INSERT INTO ol_advisor_overflow VALUES (JSON('{"_id":"A-900#part-2","advisorId":"A-900", @@ -85,7 +85,7 @@ COMMIT; -- The read for a TYPICAL advisor: one document, done. -- @step Read a typical advisor (one document) --- @note The ordinary case: one document, done — no branch needed. +-- @note The ordinary case: one document, done. No branch needed. -- @why Read/write is the pattern's case: for the 180-client median, one document read is about 3× cheaper than a query in the deck's model. -- @look has_extras is false and clients_inline holds A-001's whole book. SELECT JSON_VALUE(data,'$._id') AS advisor, @@ -97,7 +97,7 @@ FROM ol_advisor_doc WHERE JSON_VALUE(data,'$._id') = 'A-001'; -- overflow back in. The 16 MB limit is now branching logic in every consumer -- (including the LLM's context builder). -- @step Read the whale advisor (branch on hasExtras) --- @note Every reader must notice hasExtras and go stitch the overflow back in — the 16 MB limit is now application logic. Shows counts and the first 5 embedded clients, not the whole 800-client array. +-- @note Every reader must notice hasExtras and go stitch the overflow back in: the 16 MB limit is now application logic. Shows counts and the first 5 embedded clients, not the whole 800-client array. -- @why Update locality's skew shows up in the reader: the 16 MB cap has become a branch, and the rare path is the one least tested. -- @look clients_embedded is 801 and clients_in_overflow is 2 if you ran the two cards above (800 and 0 on fresh data): one advisor, read from two collections and stitched together. SELECT JSON_VALUE(d.data,'$._id') AS advisor, diff --git a/labs/converged-modeling-patterns/patterns/06-outlier/02-converged.sql b/labs/converged-modeling-patterns/patterns/06-outlier/02-converged.sql index a93be5d..0ae9823 100644 --- a/labs/converged-modeling-patterns/patterns/06-outlier/02-converged.sql +++ b/labs/converged-modeling-patterns/patterns/06-outlier/02-converged.sql @@ -49,7 +49,7 @@ SELECT 'C-' || TO_CHAR(900000 + LEVEL), 'A-900', 9000000 - (LEVEL - 1) * 10000 FROM dual CONNECT BY LEVEL <= 800; COMMIT; -- @step Add one more client to the whale's book --- @note Just another row — no ceiling, no overflow shard, no reader branch, and the same cost at 800 clients as at 3. +-- @note Just another row: no ceiling, no overflow shard, no reader branch, and the same cost at 800 clients as at 3. -- @why Update locality stops scaling with the book: a new client is one row and one index entry, the same cost at 3 clients or 148,000. -- @look Rows affected is 1; Measure it shows redo near 1.2 KB at any book size. -- @figure erd.svg Desk, advisor and client in canonical form, beside the typical one-document book and the institutional book split into overflow documents @@ -59,7 +59,7 @@ COMMIT; -- Where the document model spills to overflow, the converged book just grows. -- @step Add the next two clients to the whale's book --- @note No spill — just two more rows. +-- @note No spill: just two more rows. -- @why Update locality: where the document model spilled to a second collection, the book just gets two more rows. -- @look Rows affected is 2, with no flag and no overflow write. INSERT INTO ol_clients (client_id, advisor_id, aum) @@ -80,7 +80,7 @@ SELECT JSON { } FROM ol_advisors a WITH INSERT UPDATE DELETE; -- @step Read the typical advisor as a projected document --- @note Same shape the document model served — no flag, no branch. +-- @note Same shape the document model served: no flag, no branch. -- @why Diversity: the duality view projects the same advisor document from rows, assembling the client array on read rather than storing it. -- @look typical_advisor_document shows A-001's clients array, with no hasExtras field. SELECT JSON_SERIALIZE(data PRETTY) AS typical_advisor_document @@ -89,7 +89,7 @@ FROM ol_advisor_dv WHERE JSON_VALUE(data,'$._id') = 'A-001'; -- The WHALE -- exact same table, exact same optimizer. You do not stitch an -- overflow collection; you page ordinary rows. Top 3 holdings for the desk: -- @step Read the whale's top 3 holdings --- @note Exact same table, exact same optimizer — no overflow collection to stitch back in. +-- @note Exact same table, exact same optimizer: no overflow collection to stitch back in. -- @why Read/write, priced honestly: a top-N range scan on (advisor_id, aum DESC) reads index entries and assembles rows on every read, but the same amount at 180 clients or 148,000. -- @look The 3 largest holdings by aum, from ol_clients with no overflow to stitch. SELECT client_id, aum @@ -101,7 +101,7 @@ FETCH FIRST 3 ROWS ONLY; -- The next page -- OFFSET, same index range scan. This is the whole "outlier" -- story on a converged engine: pagination, not a special document shape. -- @step Page to the next 3 holdings --- @note OFFSET, same index range scan — ordinary pagination, not a special document shape. +-- @note OFFSET, same index range scan: ordinary pagination, not a special document shape. -- @why Update locality's skew becomes a statistic, not a code path: the next page is the same query with OFFSET. -- @look Holdings 4 to 6 by aum, from the same index range. SELECT client_id, aum diff --git a/labs/converged-modeling-patterns/patterns/06-outlier/03-parity.js b/labs/converged-modeling-patterns/patterns/06-outlier/03-parity.js index 5051713..cfecf19 100644 --- a/labs/converged-modeling-patterns/patterns/06-outlier/03-parity.js +++ b/labs/converged-modeling-patterns/patterns/06-outlier/03-parity.js @@ -24,7 +24,7 @@ const viaSql = JSON.parse(process.env.SQL_RESULT || "null"); if (!viaSql) { print("[FAIL] SQL_RESULT not provided by run.sh"); quit(1); } // @step Read the projected document over the MongoDB API -// @note Same typical-advisor document the SQL lane read — the client array projects from ol_clients, whichever wire protocol you read it over. +// @note Same typical-advisor document the SQL lane read: the client array projects from ol_clients, whichever wire protocol you read it over. // @why Diversity: the CRM keeps find() over the MongoDB API while the book screen runs its top-N query in SQL over the same client rows, so there is one book and no branch. // @look The A-001 document's clients array matches the SQL projection, with no hasExtras flag. // @figure flow.svg Advisor and client tables feed a duality view for document consumers and one top-N query for the book screen diff --git a/labs/converged-modeling-patterns/patterns/06-outlier/README.md b/labs/converged-modeling-patterns/patterns/06-outlier/README.md index c276a5b..3f5fc59 100644 --- a/labs/converged-modeling-patterns/patterns/06-outlier/README.md +++ b/labs/converged-modeling-patterns/patterns/06-outlier/README.md @@ -6,7 +6,7 @@ problem: >- Advisor documents embed their client book. Institutional books break the 16 MB cap, so the Outlier pattern adds overflow documents and a second code path in the application. knobs: - - { name: Diversity, setting: "Low — one book screen", help: "The portal and the batch read the book the same way, top clients by AUM, so one shape serves both." } + - { name: Diversity, setting: "Low: one book screen", help: "The portal and the batch read the book the same way, top clients by AUM, so one shape serves both." } - { name: Read / write, setting: "Read-heavy by day", help: "About 2,000 book reads a second at the open, and one AUM refresh storm a night." } - { name: Update locality, setting: "Skew ×800, p50 → max", hot: true, help: "The largest book is about 800× the median and takes the nightly refresh and every transition: embedded is about 3× cheaper at the 180-client median, about 50× dearer at a 150,000-client book, with break-even near 3,200." } help: @@ -33,7 +33,7 @@ measure: - { x: 800, ratio: 16.96 } # doc 20760 B, conv 1224 B - { x: 2000, ratio: 43.39 } # doc 48768 B, conv 1124 B --- -# Pattern 06 — Outlier (whale documents) +# Pattern 06: Outlier (whale documents) **Financial / wealth management.** Open an advisor and read their book of clients as one document. @@ -43,7 +43,7 @@ one document. ## The document bet The Outlier pattern tunes the document for the *typical* record and special-cases the -fat tail. Embed the client book on the advisor document — fine for the ordinary +fat tail. Embed the client book on the advisor document, fine for the ordinary advisor, a few dozen to a few hundred clients fits comfortably. ## Where the needle flips @@ -52,7 +52,7 @@ A handful of institutional advisors carry **100,000-client books.** Their docume blows past the **16 MB ceiling**, so the pattern adds a `hasExtras` flag, spills the tail into an **overflow collection**, and now **every reader must branch**: *"if hasExtras, go fetch the overflow and stitch it back."* That is the 16 MB -storage-engine limit **leaking into your application code** — and into the LLM's +storage-engine limit **leaking into your application code**, and into the LLM's context builder, which now has to know about the special case too. The pattern does not solve the outlier. It **admits the model breaks** for the fat @@ -60,7 +60,7 @@ tail and pushes the special case up into every consumer. The writes pay too. Until it spills, the whale's book is one growing document: in the lab, advisor A-900 already embeds 800 clients, and adding one more is a -read-modify-write of the whole book. Spilling to overflow is itself cheap — the +read-modify-write of the whole book. Spilling to overflow is itself cheap: the outlier pattern costs you the growth rewrite of the document before the spill, plus a branch in every reader. @@ -69,9 +69,9 @@ a branch in every reader. There is no special document shape. Clients are **rows in one table**, referenced by advisor: -- The **typical** advisor's book is projected as a document by a **duality view** — +- The **typical** advisor's book is projected as a document by a **duality view**: no flag, no branch. -- The institutional **whale** is the *same table, same optimizer* — it just returns +- The institutional **whale** is the *same table, same optimizer*: it just returns more rows, and you **page** them with `FETCH FIRST` / `OFFSET` over the `(advisor_id, aum DESC)` index. That is the whole "outlier" story on a converged engine: ordinary pagination over ordinary rows. diff --git a/labs/converged-modeling-patterns/patterns/06-outlier/figures/erd.svg b/labs/converged-modeling-patterns/patterns/06-outlier/figures/erd.svg index 6da3e8c..797297e 100644 --- a/labs/converged-modeling-patterns/patterns/06-outlier/figures/erd.svg +++ b/labs/converged-modeling-patterns/patterns/06-outlier/figures/erd.svg @@ -1 +1 @@ -CANONICAL FORM — A CLIENT IS A ROWTHE SAME BOOK, AS DOCUMENTSDESKPKdesk_idvarchar2desk_namevarchar2book_typevarchar2ADVISORPKadvisor_idvarchar2FKdesk_idvarchar2full_namevarchar2regionvarchar2CLIENTPKclient_idvarchar2FKadvisor_idvarchar2full_namevarchar2aumnumberaum_as_ofdateopened_ondateINDEX (advisor_id, aum DESC)any book, any size: one range scanp50 advisor · 180 clients1 document · ~72 KB · one readteam book · 148k clientsadvisor doc: first 20k + hasExtras#part-220k clients#part-320k clients… #part-820k clientsapplication branchif hasExtras: 1 + 7 fetches, merge-sortCanonical form: 1 query, any booksame index range scan · no branchmutable — rewritten nightly, inside the biggest documentsimmutable — safe to copy anywhere \ No newline at end of file +CANONICAL FORM: A CLIENT IS A ROWTHE SAME BOOK, AS DOCUMENTSDESKPKdesk_idvarchar2desk_namevarchar2book_typevarchar2ADVISORPKadvisor_idvarchar2FKdesk_idvarchar2full_namevarchar2regionvarchar2CLIENTPKclient_idvarchar2FKadvisor_idvarchar2full_namevarchar2aumnumberaum_as_ofdateopened_ondateINDEX (advisor_id, aum DESC)any book, any size: one range scanp50 advisor · 180 clients1 document · ~72 KB · one readteam book · 148k clientsadvisor doc: first 20k + hasExtras#part-220k clients#part-320k clients… #part-820k clientsapplication branchif hasExtras: 1 + 7 fetches, merge-sortCanonical form: 1 query, any booksame index range scan · no branchmutable: rewritten nightly, inside the biggest documentsimmutable: safe to copy anywhere \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/06-outlier/figures/flow.svg b/labs/converged-modeling-patterns/patterns/06-outlier/figures/flow.svg index 9d237f1..76c47e3 100644 --- a/labs/converged-modeling-patterns/patterns/06-outlier/figures/flow.svg +++ b/labs/converged-modeling-patterns/patterns/06-outlier/figures/flow.svg @@ -1 +1 @@ -CANONICAL TABLESPROJECTIONCONSUMERSadvisorsone row eachclientsidx advisor_id,aum DESCadvisor_dvduality viewbook as a documenttop-N queryFETCH FIRST ·OFFSET pagesCRMMongo API find()AI assistantSQL/JSONBook screenSQL · any size \ No newline at end of file +CANONICAL TABLESPROJECTIONCONSUMERSadvisorsone row eachclientsidx advisor_id,aum DESCadvisor_dvduality viewbook as a documenttop-N queryFETCH FIRST ·OFFSET pagesCRMMongo API find()AI assistantSQL/JSONBook screenSQL · any size \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/06-outlier/figures/model-curve.svg b/labs/converged-modeling-patterns/patterns/06-outlier/figures/model-curve.svg index 2c51b5f..4cecc6f 100644 --- a/labs/converged-modeling-patterns/patterns/06-outlier/figures/model-curve.svg +++ b/labs/converged-modeling-patterns/patterns/06-outlier/figures/model-curve.svg @@ -1 +1 @@ -KNOB SETTINGS · THIS WORKLOAD1 · DiversityLow — one book screenportal and batch read thebook the same way2 · Read / writeRead-heavy by day~2k reads/s at the open;one refresh storm a night3 · Update localitySkew ×800, p50 → maxwrites land in the biggestdocuments on the platformWORK PER TOP-100 BOOK READ vs BOOK SIZE · illustrative modelone document is cheaperrange scan is cheaper10301003001k3k101001k10k100kclients per advisor (log)work units per read (log)break-even ≈ 3,200 clientsp50 · 180 clientsteam book · 148kEmbedded book + overflowRows · index range scan, top 100 \ No newline at end of file +KNOB SETTINGS · THIS WORKLOAD1 · DiversityLow: one book screenportal and batch read thebook the same way2 · Read / writeRead-heavy by day~2k reads/s at the open;one refresh storm a night3 · Update localitySkew ×800, p50 → maxwrites land in the biggestdocuments on the platformWORK PER TOP-100 BOOK READ vs BOOK SIZE · illustrative modelone document is cheaperrange scan is cheaper10301003001k3k101001k10k100kclients per advisor (log)work units per read (log)break-even ≈ 3,200 clientsp50 · 180 clientsteam book · 148kEmbedded book + overflowRows · index range scan, top 100 \ No newline at end of file diff --git a/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html b/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html old mode 100755 new mode 100644 index 5bbfe13..f6831db --- a/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html +++ b/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html @@ -404,7 +404,7 @@ section[data-at="6"] .dv-a317 td { background: var(--cool-soft); } section[data-at="6"] .dv .ln.j-of { background: var(--cool-soft); } - /* PATTERNS-CSS — pattern-walk additions (figures, split layouts) */ + /* PATTERNS-CSS: pattern-walk additions (figures, split layouts) */ :root { --flow: #2563EB; --flow-soft: rgba(37, 99, 235, 0.10); } @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --flow: #60A5FA; --flow-soft: rgba(96, 165, 250, 0.16); } @@ -438,6 +438,11 @@ .flipnote { border-left: 3px solid var(--flow); background: var(--flow-soft); border-radius: 0 8px 8px 0; padding: 9px 13px; font-size: 13.5px; color: var(--muted); } .flipnote b { color: var(--ink); } + .flipnote.sec { border-left-color: var(--cool); background: var(--cool-soft); } + .flipnote code, .flipnote.sql code { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 0.95em; color: var(--ink); } + .flipnote.sql { border-left-color: var(--flow); background: var(--flow-soft); font-size: 14.5px; } + pre.code mark.hl { background: var(--flow-soft); color: var(--flow); font-weight: 700; border-radius: 3px; + outline: 1.5px solid var(--flow); padding: 0 2px; } aside.notes { display: none; } /* /PATTERNS-CSS */ @@ -454,9 +459,9 @@

- +
@@ -469,23 +474,23 @@

The choice was never "relational or document"

The old frame

Pick a database per workload

-

Normalize here, denormalize there, buy a purpose-built store for each access pattern, and glue them together. Every pattern in the catalog is a coping strategy for one engine's limits — and every glue joint is an integration tax and a consistency gap.

+

Normalize here, denormalize there, buy a purpose-built store for each access pattern, and glue them together. Every pattern in the catalog is a coping strategy for one engine's limits, and every glue joint is an integration tax and a consistency gap.

The frame for today

Model once, project many

-

One canonical form. Many projected shapes — document, graph, vector, relational — served from the same rows, in one transaction, under one optimizer. The pattern doesn't disappear; the cost of choosing it does.

+

One canonical form. Many projected shapes (document, graph, vector, relational) served from the same rows, in one transaction, under one optimizer. The pattern doesn't disappear; the cost of choosing it does.

    -
  1. Why converged, why now — the timeline that produced the patterns, and Unified Model Theory.
  2. -
  3. The physics — three knobs, write amplification, and the breakpoint that decides every pattern.
  4. -
  5. The pattern walk — six industries, six hard edges, and how converged softens each one.
  6. -
  7. How you know — the oracle-ai-dev bake-off: reason, then measure where the needle flips.
  8. +
  9. Why converged, why now: the timeline that produced the patterns, and Unified Model Theory.
  10. +
  11. The physics: three knobs, write amplification, and the breakpoint that decides every pattern.
  12. +
  13. The pattern walk: six industries, six hard edges, and how converged softens each one.
  14. +
  15. How you know: the oracle-ai-dev bake-off. Reason, then measure where the needle flips.
-

This is a modeling session, not a product pitch. The rule we're testing all day: the workload chooses the shape — you measure, you don't guess.

- +

This is a modeling session, not a product pitch. The rule we're testing all day: the workload chooses the shape; you measure, you don't guess.

+
@@ -497,9 +502,9 @@

Data pressure through the ages

  • Today's document patterns were bets placed in the NoSQL era
  • -
    Data pressuretimeHumanBrain~100,000 BCLedgers~3000 BCPunchCards1890sMagneticTape1950sBlockStorage1970sRDBMS1980sDistributedNoSQL2000sSQLDocGraphTimeVectorPolyglotPersistence2015+Unified ModelTheory2020sEach peak = data pressure exceeding current technology. Each valley = the solution.
    +
    Data pressuretimeHumanBrain~100,000 BCLedgers~3000 BCPunchCards1890sMagneticTape1950sBlockStorage1970sRDBMS1980sDistributedNoSQL2000sSQLDocGraphTimeVectorPolyglotPersistence2015+Unified ModelTheory2020sEach peak = data pressure exceeding current technology. Each valley = the solution.
    - +
    @@ -512,9 +517,9 @@

    Why we ever denormalized: the economics flipped

  • Keep one truth; let the engine maintain the read shapes
  • -
    THEN · 1970s–1990sStorage· disk cost real moneyexpensiveCompute & latency· joins were affordablecheap enoughNOW · 2010s →Storage· pennies per gigabytenearly freeCompute & latency· CPU, network hops, user waitexpensiveswapdenormalize → project (engine-maintained)keep one normalized truth; spend cheap storageon read shapes the engine keeps in syncAnswer then: normalizestore each fact once;join at read time to reassemble it
    +
    THEN · 1970s–1990sStorage· disk cost real moneyexpensiveCompute & latency· joins were affordablecheap enoughNOW · 2010s →Storage· pennies per gigabytenearly freeCompute & latency· CPU, network hops, user waitexpensiveswapdenormalize → project (engine-maintained)keep one normalized truth; spend cheap storageon read shapes the engine keeps in syncAnswer then: normalizestore each fact once;join at read time to reassemble it
    - +
    @@ -554,7 +559,7 @@

    Codd already drew the map

    - + @@ -566,9 +571,9 @@

    Polyglot persistence: five stores, five versions of the truth

  • An AI agent acts on whichever copy it reads
  • -
    One fact changescustomer tier = Gold10:00:00Document storeJSON documentsGoldlag ~msSearch indexfull-text searchGoldlag ~1–15 sVector indexembeddings for RAGSilverstalenext embed jobGraph storerelationshipsGoldlag ~1 sCachehot readsSilverstale10 min expiryintegration taxserialize · network hop · auth — per copyeventual consistency gapeach copy catches up on its own clock10:00:05 — five seconds laterAI agent (RAG)retrieval-augmented generationreads the vector copy: SilverreadsActs on “Silver”denies a Gold customer's fee waiverconfident wrong answer(hallucination)
    +
    One fact changescustomer tier = Gold10:00:00Document storeJSON documentsGoldlag ~msSearch indexfull-text searchGoldlag ~1–15 sVector indexembeddings for RAGSilverstalenext embed jobGraph storerelationshipsGoldlag ~1 sCachehot readsSilverstale10 min expiryintegration taxper copy: serialize · network hop · autheventual consistency gapeach copy catches up on its own clock10:00:05 (five seconds later)AI agent (RAG)retrieval-augmented generationreads the vector copy: SilverreadsActs on “Silver”denies a Gold customer's fee waiverconfident wrong answer(hallucination)
    - + @@ -580,9 +585,9 @@

    Unified Model Theory: the vocabulary for the rest of the day

  • Five terms; every decision today has a place in one
  • -
    Canonical Formeach fact stored oncetablesnormalized rowsone source of truthProjectionengine-maintained mappingduality viewmaterialized viewindexProjected Shapewhat a consumer readsdocument · graphvector · rowsAccess Surfacethe API the app speaksSQL · SQL/JSONSQL/PGQ (graph queries)MongoDB APIA consumer's queryAccess Dimension: the kind of question it askspointrangeaggregatetraversesimilarityasksModel once.Project many.
    +
    Canonical Formeach fact stored oncetablesnormalized rowsone source of truthProjectionengine-maintained mappingduality viewmaterialized viewindexProjected Shapewhat a consumer readsdocument · graphvector · rowsAccess Surfacethe API the app speaksSQL · SQL/JSONSQL/PGQ (graph queries)MongoDB APIA consumer's queryAccess Dimension: the kind of question it askspointrangeaggregatetraversesimilarityasksModel once.Project many.
    - + @@ -610,14 +615,14 @@

    One query, four models, one transaction

    - +
    Act 2 · The physics0:22 – 0:26

    Three knobs decide every model

    -

    Strip away the vocabulary and every modeling decision — embed or reference, precompute or query — turns on three measurable quantities. Set these, and the model is half-chosen for you.

    +

    Strip away the vocabulary and every modeling decision (embed or reference, precompute or query) turns on three measurable quantities. Set these, and the model is half-chosen for you.

    @@ -646,11 +651,11 @@

    Three knobs decide every model

    and where does it land? -
    Knob 3 is the one document modeling under-weights: not just how often you write, but where the write lands inside the shape. That's write amplification — and it's the whole ballgame.
    +
    Knob 3 is the one document modeling under-weights: not just how often you write, but where the write lands inside the shape. That's write amplification, and it's the whole ballgame.
    -

    Diversity of access · read/write ratio · update % and where it lands. High diversity wants projections. Read-heavy wants precomputation. But knob 3 can veto both — which is where the patterns come from.

    - +

    Diversity of access · read/write ratio · update % and where it lands. High diversity wants projections. Read-heavy wants precomputation. But knob 3 can veto both, which is where the patterns come from.

    +
    @@ -692,7 +697,7 @@

    Why the patterns exist: write amplification

      the 16 MB cap -
    Copy-on-write leaf pages (WiredTiger): the write cost scales with document size, not with the size of your change. A 2 MB document costs 2 MB to touch — every time, for a one-byte edit.
    +
    Copy-on-write leaf pages (WiredTiger): the write cost scales with document size, not with the size of your change. A 2 MB document costs 2 MB to touch, every time, for a one-byte edit.
    -

    The bigger and hotter the document, the more every write costs. Bucket, Computed, Subset, Pre-Allocation — they all exist to keep documents small and writes cheap. They are write-amplification management, dressed up as design patterns.

    - +

    The bigger and hotter the document, the more every write costs. Bucket, Computed, Subset, Pre-Allocation: they all exist to keep documents small and writes cheap. They are write-amplification management, dressed up as design patterns.

    + @@ -721,26 +726,26 @@

    The breakpoint: when precomputing stops paying

    write_freq × maint_cost what precomputing costs -
    When the inequality holds, precompute. When it flips, stop maintaining the shape and query it on demand. The pattern isn't good or bad — it's a bet on this inequality at your cardinality.
    +
    When the inequality holds, precompute. When it flips, stop maintaining the shape and query it on demand. The pattern isn't good or bad; it's a bet on this inequality at your cardinality.
    -

    What moves the right side up: more writes, fatter documents, worse write amplification — a subset trimmed on every write to serve a read that rarely happens.

    +

    What moves the right side up: more writes, fatter documents, worse write amplification: a subset trimmed on every write to serve a read that rarely happens.

    -

    What a cost-based optimizer does: it lowers read_cost — an index-only Top-N, a hash join, parallel scan — so the inequality holds at a shape you never had to hand-maintain.

    +

    What a cost-based optimizer does: it lowers read_cost (an index-only Top-N, a hash join, a parallel scan), so the inequality holds at a shape you never had to hand-maintain.

    -

    A better optimizer moves the breakpoint. Patterns that "must" be precomputed on a document engine can be queried live on a converged one — because the read side just got cheaper.

    - +

    A better optimizer moves the breakpoint. Patterns that "must" be precomputed on a document engine can be queried live on a converged one, because the read side just got cheaper.

    +
    Act 2 · The physics0:31 – 0:33
    -

    Duality doesn't change the knobs — it changes how they get set

    -

    The document catalog offers two resolutions to every modeling tension: embed or reference. Converged adds a third the catalog never had — project it — and it's the one that dissolves the tradeoff instead of trading one cost for another.

    +

    Duality doesn't change the knobs. It changes how they get set.

    +

    The document catalog offers two resolutions to every modeling tension: embed or reference. Converged adds a third the catalog never had, project it, and it's the one that dissolves the tradeoff instead of trading one cost for another.

    @@ -751,53 +756,54 @@

    Embed

    Resolution 2

    Reference

    -

    No duplication, but the read now needs $lookup or a second round trip — and the document engine has no optimizer to make that join cheap.

    +

    No duplication, but the read now needs $lookup or a second round trip, and the document engine has no optimizer to make that join cheap.

    - Resolution 3 — new + Resolution 3 · new

    Project it

    Store the fact once in canonical form; let a duality view project it into the document shape, live, maintained by the engine. Read shape without write penalty.

    -

    Same three knobs. But now embed/reference isn't a permanent architectural fork — it's a projection choice you can change without a migration. The needle you couldn't move before is now a setting.

    - +

    Same three knobs. But now embed/reference isn't a permanent architectural fork; it's a projection choice you can change without a migration. The needle you couldn't move before is now a setting.

    +
    Act 3 · The pattern walk0:33 – 0:35

    Six patterns, six industries, one method

    -

    Each pattern gets the same four beats. We're not asking "is this pattern good?" — we're asking "at what point does its tradeoff flip, and what does converged do at that point?"

    +

    Each pattern gets the same four beats. We're not asking "is this pattern good?" We're asking "at what point does its tradeoff flip, and what does converged do at that point?"

      -
    1. The use case — a real access pattern from a real industry, not a toy.
    2. -
    3. The hard edge — the knob setting where the pattern starts to hurt (almost always knob 3).
    4. -
    5. Where the needle flips — the cardinality or write rate that turns the pattern from clever to costly.
    6. -
    7. The converged softening — the mechanism, with live SQL, that moves the breakpoint.
    8. +
    9. The use case: a real access pattern from a real industry, not a toy.
    10. +
    11. The hard edge: the knob setting where the pattern starts to hurt (almost always knob 3).
    12. +
    13. Where the needle flips: the cardinality or write rate that turns the pattern from clever to costly.
    14. +
    15. The converged softening: the mechanism, with live SQL, that moves the breakpoint.
    - +
    PatternIndustrySoftened by
    Extended ReferenceWealth managementJSON Duality View
    ComputedTelecomMV refresh-on-commit · index-only Top-N
    Bucket / time-seriesManufacturing IoTPartitioned range · $sql in pipeline$sql: run SQL inside a MongoDB-API aggregation pipeline (Pattern 3)
    Bucket / time-seriesManufacturing IoTPartitioned range · $sql in pipeline
    SubsetInsuranceComposite index · FETCH FIRST
    Tree / HierarchyManufacturing BOMGRAPH_TABLE · CONNECT BY
    OutlierFinancialAdaptive plans · partitioning
    +

    $sql: Oracle's addition to the MongoDB aggregation pipeline. It runs full SQL as one stage of db.aggregate() (Pattern 3).

    -

    Watch for the refrain: the pattern was a correct bet against a limited engine. Remove the limit and the bet — and its maintenance cost — is optional.

    - +

    Watch for the refrain: the pattern was a correct bet against a limited engine. Remove the limit and the bet, and its maintenance cost, is optional.

    +
    -
    Act 3 · Pattern 1 — Extended Reference · A. The problem0:35 – 0:37
    +
    Act 3 · Pattern 1: Extended Reference · A. The problem0:35 – 0:37

    Wealth management: one advisor card, 2,700 copies

    -

    Four consumers render every client with their advisor. To make each screen a single read, the team embedded the advisor card in every client and every account document — the Extended Reference pattern. Reads are instant. Now watch where the writes land.

    +

    Four consumers render every client with their advisor. To make each screen a single read, the team embedded the advisor card in every client and every account document: the Extended Reference pattern. Reads are instant. Now watch where the writes land.

    @@ -807,43 +813,43 @@

    Wealth management: one advisor card, 2,700 copies

    clients · one document per client{"_id": "C-104233","name": "Ada Okafor","segment": "HNW","advisor": {"id": "A-317","name": "Grace Hopper","office": "Leeds","desk": "+44 113 555 0101"},"accounts": [{ "id": "ACC-88", "type": "ISA","advisor": { "id": "A-317","office": "Leeds" } },{ "id": "ACC-91", "type": "GIA", ... }]}advisor card, copied~790 client docscarry this copycopied again peraccount: ~1,920more copies
    -

    The reads are the whole reason for the pattern. The rare advisor edit is the whole cost — one change becomes ~2,700 document rewrites, and a reorg day multiplies it by thousands.

    - +

    The reads are the whole reason for the pattern. The rare advisor edit is the whole cost: one change becomes ~2,700 document rewrites, and a reorg day multiplies it by thousands.

    +
    -
    Act 3 · Pattern 1 — Extended Reference · B. The model0:37 – 0:38
    +
    Act 3 · Pattern 1: Extended Reference · B. The model0:37 – 0:38

    Canonical form vs. the copy: where one edit lands

    -

    Canonical form keeps the advisor's office in one row. Extended Reference copies it into every client and account document — copying the immutable is free; copying the mutable is write amplification.

    +

    Canonical form keeps the advisor's office in one row. Extended Reference copies it into every client and account document. Copying the immutable costs nothing later; copying the mutable is write amplification.

    -
    CANONICAL FORM — EACH FACT ONCETHE SAME FACT, EMBEDDEDADVISORPKadvisor_idvarchar2full_namevarchar2officevarchar2desk_phonevarchar2regionvarchar2CLIENTPKclient_idvarchar2full_namevarchar2segmentvarchar2FKadvisor_idvarchar2emailvarchar2ACCOUNTPKaccount_idvarchar2FKclient_idvarchar2acct_typevarchar2balancenumberTRADEPKtrade_idvarchar2FKaccount_idvarchar2symbolvarchar2quantitynumberexec_pricenumberadvisors · A-317office: Leeds → Manchester790client docs1,920account docs≈ 2,700 document rewritesper change · not one transactionCanonical form: 1 row updateatomic · every consumer sees itmutable reference data — copying it is what creates write amplificationimmutable snapshot — safe to copy
    +
    CANONICAL FORM: EACH FACT ONCETHE SAME FACT, EMBEDDEDADVISORPKadvisor_idvarchar2full_namevarchar2officevarchar2desk_phonevarchar2regionvarchar2CLIENTPKclient_idvarchar2full_namevarchar2segmentvarchar2FKadvisor_idvarchar2emailvarchar2ACCOUNTPKaccount_idvarchar2FKclient_idvarchar2acct_typevarchar2balancenumberTRADEPKtrade_idvarchar2FKaccount_idvarchar2symbolvarchar2quantitynumberexec_pricenumberadvisors · A-317office: Leeds → Manchester790client docs1,920account docs≈ 2,700 document rewritesper change · not one transactionCanonical form: 1 row updateatomic · every consumer sees itmutable reference data: copying it is what creates write amplificationimmutable snapshot: safe to copy

    Snapshot the immutable, reference the mutable. The trade's execution price belongs in the document; the advisor's office does not.

    - +
    -
    Act 3 · Pattern 1 — Extended Reference · C. Where the knobs flip it0:38 – 0:39
    +
    Act 3 · Pattern 1: Extended Reference · C. Where the knobs flip it0:38 – 0:39

    The needle flips on reorg day, not on an average Tuesday

    -

    Two knobs say embed: four consumers and fifty million reads a day. The third knob — where the update lands — says every edit touches ~2,700 documents. Put a number on it and the break-even is about 930 changes a day.

    +

    Two knobs say embed: four consumers and fifty million reads a day. The third knob, where the update lands, says every edit touches ~2,700 documents. Put a number on it and the break-even is about 930 changes a day.

    -
    KNOB SETTINGS · THIS WORKLOAD1 · DiversityHigh — 4 consumersportal, CRM, statements andcopilot all read the card2 · Read / writeExtreme read skew5×10⁷ reads/day against~300 advisor edits/day3 · Update localityRare, fans out ×2,700each edit lands on everydocument that copied itDAILY WORK vs ADVISOR CHANGES / DAY · illustrative modelembedding is cheaperprojection is cheaper50M100M200M500M1B101001k10k100kadvisor changes per day (log)work units per day (log)break-even ≈ 930 / daynormal day · 300reorg day · 8,000Embed the cardProject it · duality view, +15% read -
    Illustrative cost model, not a benchmark: 5×10⁷ client reads/day; projecting the card adds ~15% to each read; each document rewrite costs 3 work units; ~2,700 documents embed each advisor.
    +
    KNOB SETTINGS · THIS WORKLOAD1 · DiversityHigh: 4 consumersportal, CRM, statements andcopilot all read the card2 · Read / writeExtreme read skew5×10⁷ reads/day against~300 advisor edits/day3 · Update localityRare, fans out ×2,700each edit lands on everydocument that copied itDAILY WORK vs ADVISOR CHANGES / DAY · illustrative modelembedding is cheaperprojection is cheaper50M100M200M500M1B101001k10k100kadvisor changes per day (log)work units per day (log)break-even ≈ 930 / daynormal day · 300reorg day · 8,000Embed the cardProject it · duality view, +15% read +
    Both models run on Oracle. The flip point is where the document tax starts.
    Illustrative cost model, not a benchmark: 5×10⁷ client reads/day; projecting the card adds ~15% to each read; each document rewrite costs 3 work units; ~2,700 documents embed each advisor.
    -

    On a normal day embedding is cheaper — the projection's read cost is real. On reorg day the day's work doubles and it's 22M non-atomic rewrites. Model for the day that hurts.

    - +

    On a normal day embedding is cheaper: the projection's read cost is real. On reorg day the day's work doubles and it's 22M non-atomic rewrites. Model for the day that hurts.

    +
    -
    Act 3 · Pattern 1 — Extended Reference · D. The converged answer0:39 – 0:40
    +
    Act 3 · Pattern 1: Extended Reference · D. The converged answer0:39 – 0:40

    Project the mutable: same document, one row to change

    A duality view serves the document and decides what a write can touch.

    -

    1 · Canonical tables — each fact once

    +

    1 · Canonical tables: each fact once

    xr_advisors

    @@ -858,7 +864,7 @@

    Project the mutable: same document, one row to change

    advisor_idfull_nameofficedesk
    A-317Grace HopperLeedsManchesterx0101
    -

    2 · The duality view — the lab's exact definition

    +

    2 · The duality view: the lab's exact definition

    CREATE JSON RELATIONAL DUALITY VIEW  xr_client_dv AS SELECT JSON {  '_id'      : c.client_id,  'fullName' : c.full_name WITH UPDATE,  'segment'  : c.segment   WITH UPDATE,  'advisor'  : ( SELECT JSON {      'advisorId' : a.advisor_id,      'fullName'  : a.full_name,      'office'    : a.office,      'desk'      : a.desk }    FROM xr_advisors a WITH NOUPDATE    WHERE a.advisor_id = c.primary_advisor_id )} FROM xr_clients c WITH INSERT UPDATE DELETE;
    • Can change: fullName, segment; add or delete a client
    • @@ -868,18 +874,18 @@

      Project the mutable: same document, one row to change

      3 · Read it: one client document

      {  "_id": "C-104233",  "fullName": "Ada Okafor","Ada Okafor-Reid",  "segment": "HNW",  "advisor": {    "advisorId": "A-317",    "fullName": "Grace Hopper",    "office": "Leeds","Manchester",    "desk": "x0101"  }}
      -

      C-104871 (also A-317) now reads Manchester too — same commit.

      +

      C-104871 (also A-317) now reads Manchester too, in the same commit.

    SELECT data FROM xr_client_dv WHERE JSON_VALUE(data, '$._id') = 'C-104233';
    -

    Read: the advisor block is assembled from the one xr_advisors row at read time — a primary-key join on every read. Nothing was copied.

    +

    Read: the advisor block is assembled from the one xr_advisors row at read time: a primary-key join on every read. Nothing was copied.

    UPDATE xr_client_dv SET data = JSON_TRANSFORM(data, SET '$.fullName' = 'Ada Okafor-Reid')
      WHERE JSON_VALUE(data, '$._id') = 'C-104233';
    -

    ✓ 1 row updated — the xr_clients row for C-104233. No other row is touched.

    +

    ✓ 1 row updated: the xr_clients row for C-104233. No other row is touched.

    UPDATE xr_client_dv SET data = JSON_TRANSFORM(data, SET '$.advisor.office' = 'Manchester')
    @@ -889,7 +895,7 @@ 

    Project the mutable: same document, one row to change

    UPDATE xr_advisors SET office = 'Manchester' WHERE advisor_id = 'A-317';
    -

    ✓ 1 row · 1 transaction. Every A-317 client document now shows Manchester at the same commit — no eventual consistency.

    +

    ✓ 1 row · 1 transaction. Every A-317 client document now shows Manchester at the same commit, with no eventual consistency.

    ~2,700document rewrites per office move, embedded
    @@ -899,14 +905,14 @@

    Project the mutable: same document, one row to change

    - +
    -
    Act 3 · Pattern 2 — Computed · A. The problem0:40 – 0:42
    +
    Act 3 · Pattern 2: Computed · A. The problem0:40 – 0:42

    Telecom: a counter on the hottest document you own

    -

    The app and the charging system both read the balance. To make that one read, each subscriber document carries a running cycle-usage rollup — the Computed pattern. Then 4 billion CDRs a month arrive, and every one rewrites the parent.

    +

    The app and the charging system both read the balance. To make that one read, each subscriber document carries a running cycle-usage rollup: the Computed pattern. Then 4 billion CDRs a month arrive, and every one rewrites the parent.

    @@ -916,46 +922,46 @@

    Telecom: a counter on the hottest document you own

    subscribers · one document per subscriber{"_id": "S-4471902","msisdn": "+1-202-555-0142","plan": "UNLIMITED-5G","addOns": [ "roam-EU", "hotspot-50" ],"devices": [ { "imei": "35-2099", ... } ],"cycle": "2026-09","cycleUsage": {"totalMB": 48213.7,"totalMin": 1284,"cost": 86.42,"cdrCount": 11906},"updatedAt": "2026-09-28T14:02:11Z"}every CDR rewritesthe whole document:400+ times a dayTop-N sorts 12Mdocuments by thisburied field
    -

    The rollup makes the balance read one document. Every CDR pays for it with a whole-document rewrite — and the busiest subscribers take the most rewrites.

    - +

    The rollup makes the balance read one document. Every CDR pays for it with a whole-document rewrite, and the busiest subscribers take the most rewrites.

    +
    -
    Act 3 · Pattern 2 — Computed · B. The model0:42 – 0:43
    +
    Act 3 · Pattern 2: Computed · B. The model0:42 – 0:43

    Facts vs. the rollup: where every CDR lands

    -

    In canonical form a CDR is an immutable fact, appended once, and the cycle rollup is one narrow derived row. Embedded, the rollup lives in the subscriber document — so every CDR rewrites it, and sharding the counter only moves the pain to the read.

    +

    In canonical form a CDR is an immutable fact, appended once, and the cycle rollup is one narrow derived row. Embedded, the rollup lives in the subscriber document, so every CDR rewrites it, and sharding the counter only moves the pain to the read.

    -
    CANONICAL FORM — FACTS APPENDED, ROLLUP DERIVEDTHE SAME ROLLUP, EMBEDDEDSUBSCRIBERPKsubscriber_idvarchar2msisdnvarchar2planvarchar2cyclevarchar2CDR · append-onlyPKcdr_idnumberFKsubscriber_idvarchar2mbnumberminutesnumbercostnumbercdr_tstimestampSUBSCRIBER_USAGEPKsubscriber_idvarchar2total_mbnumbertotal_minnumbercostnumberAFTER INSERT trigger+1 counter row, same txnCDR stream1,500/s avg · 6k/s peakS-4471902 · one hot document400+ whole-doc rewrites / dayshard 1shard 2shard 3shard Nbalance read = N reads + SUMa write problem traded for a read oneCanonical: append 1 row+ bump 1 counter row · atomicmutable rollup — every CDR writes itimmutable CDR facts — append, never rewrite
    +
    CANONICAL FORM: FACTS APPENDED, ROLLUP DERIVEDTHE SAME ROLLUP, EMBEDDEDSUBSCRIBERPKsubscriber_idvarchar2msisdnvarchar2planvarchar2cyclevarchar2CDR · append-onlyPKcdr_idnumberFKsubscriber_idvarchar2mbnumberminutesnumbercostnumbercdr_tstimestampSUBSCRIBER_USAGEPKsubscriber_idvarchar2total_mbnumbertotal_minnumbercostnumberAFTER INSERT trigger+1 counter row, same txnCDR stream1,500/s avg · 6k/s peakS-4471902 · one hot document400+ whole-doc rewrites / dayshard 1shard 2shard 3shard Nbalance read = N reads + SUMa write problem traded for a read oneCanonical: append 1 row+ bump 1 counter row · atomicmutable rollup: every CDR writes itimmutable CDR facts: append, never rewrite
    -

    Append the facts, derive the rollup. The CDR belongs in an append-only table; the running total belongs in a row the engine maintains — not inside the document it rewrites.

    - +

    Append the facts, derive the rollup. The CDR belongs in an append-only table; the running total belongs in a row the engine maintains, not inside the document it rewrites.

    +
    -
    Act 3 · Pattern 2 — Computed · C. Where the knobs flip it0:43 – 0:44
    +
    Act 3 · Pattern 2: Computed · C. Where the knobs flip it0:43 – 0:44

    The needle flips on the heavy tail, not the average

    -

    Diversity and reads argue for a precomputed rollup. The third knob — every write lands on one parent document — argues against. Put a number on it: embedding wins below about 4 CDRs a subscriber a day; the heavy user at 400 costs ~2.5× the work.

    +

    Diversity and reads argue for a precomputed rollup. The third knob, every write lands on one parent document, argues against. Put a number on it: embedding wins below about 4 CDRs a subscriber a day; the heavy user at 400 costs ~2.5× the work.

    -
    KNOB SETTINGS · THIS WORKLOAD1 · DiversityMedium-high — 4 consumersapp, charging, ops dashboardand the bill run2 · Read / writeWrite-heavy on the rollup~30 balance reads/day vs11 CDRs avg · 400+ heavy3 · Update localityEvery write, one parenteach CDR lands on the samehot subscriber documentWORK / SUBSCRIBER / DAY vs CDRs / DAY · illustrative modelembed winsappend + summary is cheaper1003001k3k10k1101001kCDRs per subscriber per day (log)work units / subscriber / day (log)break-even ≈ 4.4 / daylight · 1.5average · 11heavy · 400Embedded rollup · doc rewriteAppend + summary · +30% read +
    KNOB SETTINGS · THIS WORKLOAD1 · DiversityMedium-high: 4 consumersapp, charging, ops dashboardand the bill run2 · Read / writeWrite-heavy on the rollup~30 balance reads/day vs11 CDRs avg · 400+ heavy3 · Update localityEvery write, one parenteach CDR lands on the samehot subscriber documentWORK / SUBSCRIBER / DAY vs CDRs / DAY · illustrative modelembed winsappend + summary is cheaper1003001k3k10k1101001kCDRs per subscriber per day (log)work units / subscriber / day (log)break-even ≈ 4.4 / daylight · 1.5average · 11heavy · 400Embedded rollup · doc rewriteAppend + summary · +30% read
    Illustrative cost model, not a benchmark: 30 balance reads/subscriber/day; a CDR rewrites the ~4 KB document (4 units + contention) vs a row insert + counter-row update (2 units). Both serialise per subscriber; only the embedded lock is held for a whole-document rewrite. The projected read costs ~30% more.
    -

    For light subscribers the embedded rollup is cheaper — the projection's read premium is real. For the heavy tail it's ~2.5× the work, concentrated on the hottest documents.

    - +

    For light subscribers the embedded rollup is cheaper: the projection's read premium is real. For the heavy tail it's ~2.5× the work, concentrated on the hottest documents.

    +
    -
    Act 3 · Pattern 2 — Computed · D. The converged answer0:44 – 0:45
    +
    Act 3 · Pattern 2: Computed · D. The converged answer0:44 – 0:45

    Append the CDR, maintain the rollup: staleness zero

    -

    Store each CDR as an append-only row and let a trigger keep a one-row summary current in the same transaction. A descending index makes Top-N a seek, and a duality view hands the app its subscriber document with the rollup inline.

    +

    Store each CDR as an append-only row; a trigger keeps a one-row summary current in the same transaction. A duality view serves the document.

    -
    CANONICAL TABLESMAINTAINED · PROJECTEDCONSUMERScdrappend-only rowssubscriber_usagethe rollup · 1 rowsubscribersmsisdn · planix_usage_topntotal_mb DESCsubscriber_dvduality viewcycleUsage NOUPDATEBill runSQL over cdrOps Top-Nindex range scanSelf-care appMongo API find()ChargingSQL/JSONtriggersame txn
    -
    When to flip back: a mostly-read, rarely-written total — light subscribers, a closed cycle's final bill — can live on the document. Compute-on-write is right when writes are rare and don't collide.
    +
    CANONICAL TABLESMAINTAINED · PROJECTEDCONSUMERScdrappend-only rowssubscriber_usagethe rollup · 1 rowsubscribersmsisdn · planix_usage_topntotal_mb DESCsubscriber_dvduality viewcycleUsage NOUPDATEBill runSQL over cdrOps Top-Nindex range scanSelf-care appMongo API find()ChargingSQL/JSONtriggersame txn
    +
    When to flip back: a rarely written total (light subscribers, a closed cycle's final bill) can live on the document.
    -

    Append the fact, maintain the rollup — staleness zero

    -- 1 · each CDR is a small append; the trigger bumps one row
    +          
    -- 1 · each CDR is a small append; the trigger bumps one row
     CREATE TRIGGER trg_usage AFTER INSERT ON cdr FOR EACH ROW BEGIN
       MERGE INTO subscriber_usage u
       USING (SELECT :NEW.subscriber_id sid FROM dual) s ON (u.subscriber_id = s.sid)
    @@ -966,18 +972,19 @@ 

    Append the CDR, maintain the rollup: staleness zero

    SELECT subscriber_id, total_mb FROM subscriber_usage ORDER BY total_mb DESC FETCH FIRST 20 ROWS ONLY;
    Embedded rollupAppend + summary
    Record a CDRwhole-doc rewrite · 51,956 B redo (1,000-CDR doc)insert + counter row · 1,592 B (33×)
    Balance read1 document1 document, PK join (~+30%)
    Top 20 talkerssort 12M docs · 60 sindex scan · 500 ms
    +
    Same security model: duality views and projections go through the same privileges, auditing and policies as the tables underneath. No second security model to manage.
    -

    The rollup is still precomputed and still current. The write went from a whole-document rewrite to two small rows, and Top-N from 60 s to 500 ms (anonymized field result) — for a modest, predictable read cost.

    - +

    The rollup is still precomputed and still current. The write went from a whole-document rewrite to two small rows, and Top-N from 60 s to 500 ms (anonymized field result), for a modest, predictable read cost.

    +
    -
    Act 3 · Pattern 3 — Bucket · A. The problem0:45 – 0:47
    +
    Act 3 · Pattern 3: Bucket · A. The problem0:45 – 0:47

    Manufacturing IoT: one bucket, 36,000 rewrites

    -

    18,000 sensors, 40 plants, ~34k readings a second. To avoid billions of tiny documents the team buckets each sensor's hour into one document — an array plus running counters. The dashboard reads one document. Every reading rewrites it.

    +

    18,000 sensors, 40 plants, ~34k readings a second. To avoid billions of tiny documents the team buckets each sensor's hour into one document: an array plus running counters. The dashboard reads one document, and every incoming reading rewrites it.

    @@ -987,52 +994,52 @@

    Manufacturing IoT: one bucket, 36,000 rewrites

    readings · one bucket per sensor per hour{"_id": "M-118|VIB|2026-09-25T14","machineId": "M-118","metric": "VIB","hourStart": "2026-09-25T14:00:00Z","count": 21604,"sum": 1548212.7,"min": 0.8, "max": 97.3,"readings": [{ "ts": "14:00:00.1", "val": 71.4 },{ "ts": "14:00:00.2", "val": 71.9 },... 21,601 more readings ...{ "ts": "14:36:00.4", "val": 72.2 }]}counters: $inc / $maxrewritten on everysingle reading$push lands here:rewrites 2.6 MBand it only grows
    -

    The bucket buys a one-document dashboard read. It pays with a write whose cost grows with every reading — and the hottest sensors grow fastest.

    - +

    The bucket buys a one-document dashboard read. It pays with a write whose cost grows with every reading, and the hottest sensors grow fastest.

    +
    -
    Act 3 · Pattern 3 — Bucket · B. The model0:47 – 0:48
    +
    Act 3 · Pattern 3: Bucket · B. The model0:47 – 0:48

    Immutable readings, mutable bucket

    In canonical form a reading is an immutable row, inserted once; the hourly counters are derived. The bucket turns those immutable facts into one ever-growing document that every reading rewrites.

    -
    CANONICAL FORM — EACH READING ONCE, NEVER REWRITTENONE HOT SENSOR-HOUR, BUCKETEDPLANTPKplant_idvarchar2namevarchar2regionvarchar2MACHINEPKmachine_idvarchar2FKplant_idvarchar2modelvarchar2line_nonumberSENSOR_READINGSPKreading_idnumberFKmachine_idvarchar2metricvarchar2reading_valnumberreading_tstimestampHOURLY_MV · derivedmachine_idvarchar2hour_startdatennumbersum_valnumbermax_valnumberGROUP BY hour · on readM-118 · spindle vibration10 readings / s1 bucket documentcount · sum · min · max · readings[ ]every reading rewrites all of itO(n²) rewrite volume36,000 rewrites · 4.3 MB bucket≈ 78 GB if each push rewrites itCanonical: 36,000 row inserts≈ 9 MB · appended to one partitionrewritten on every reading — the bucket's counters and arrayimmutable reading — inserted once, never rewritten
    +
    CANONICAL FORM: EACH READING ONCE, NEVER REWRITTENONE HOT SENSOR-HOUR, BUCKETEDPLANTPKplant_idvarchar2namevarchar2regionvarchar2MACHINEPKmachine_idvarchar2FKplant_idvarchar2modelvarchar2line_nonumberSENSOR_READINGSPKreading_idnumberFKmachine_idvarchar2metricvarchar2reading_valnumberreading_tstimestampHOURLY_MV · derivedmachine_idvarchar2hour_startdatennumbersum_valnumbermax_valnumberGROUP BY hour · on readM-118 · spindle vibration10 readings / s1 bucket documentcount·sum·min·maxreadings[ ]every reading rewrites bothO(n²) rewrite volume36,000 rewrites · 4.3 MB bucket≈ 78 GB if each push rewrites itCanonical: 36,000 row inserts≈ 9 MB · appended to one partitionKey:red: rewritten on every reading (the bucket's counters and array)green: immutable (SENSOR_READINGS rows, inserted once)
    -

    Immutable facts, mutable container. The write amplification comes from the bucket, not from the data — derive the counters instead of storing them.

    - +

    Immutable facts, mutable container. The write amplification comes from the bucket, not from the data. Derive the counters instead of storing them.

    +
    -
    Act 3 · Pattern 3 — Bucket · C. Where the knobs flip it0:48 – 0:49
    +
    Act 3 · Pattern 3: Bucket · C. Where the knobs flip it0:48 – 0:49

    Slow sensors love buckets. Hot sensors break them.

    Diversity is medium and the workload is write-heavy, but the knob that bites is locality: every reading lands on the same growing document. Rewrite cost grows with n², so the break-even is about 900 readings per bucket.

    -
    KNOB SETTINGS · THIS WORKLOAD1 · DiversityMedium — 4 read shapesdashboard, shift rollup,anomaly scan, ML features2 · Read / writeWrite-heavy~3B readings in per day;reads are rollups, not points3 · Update localityEvery write, same documenteach reading rewrites thegrowing hour bucketBYTES PER SENSOR-HOUR vs READINGS / BUCKET · illustrative modelbucket is cheaperrows are cheaper100 KB10 MB1 GB100 GB1001k10k100kreadings per bucket (log)bytes touched per sensor-hour (log)break-even ≈ 9001 / min · 601 / s · 3,600hot · 36,000Bucket · $push + countersRows · append, GROUP BY on read16 MB cap ≈ 140k +
    KNOB SETTINGS · THIS WORKLOAD1 · DiversityMedium: 4 read shapesdashboard, shift rollup,anomaly scan, ML features2 · Read / writeWrite-heavy~3B readings in per day;reads are rollups, not points3 · Update localityEvery write, same documenteach reading rewrites thegrowing hour bucketBYTES PER SENSOR-HOUR vs READINGS / BUCKET · illustrative modelbucket is cheaperrows are cheaper100 KB10 MB1 GB100 GB1001k10k100kreadings per bucket (log)bytes touched per sensor-hour (log)break-even ≈ 9001 / min · 601 / s · 3,600hot · 36,000Bucket · $push + countersRows · append, GROUP BY on read16 MB cap ≈ 140k
    Illustrative cost model, not a benchmark: 120 B per reading; each $push rewrites the whole bucket (s·n²/2 per hour); a row insert adds ~130 B of header, index and redo; a live dashboard reads the hour 360×/h, paying ~150 B more per row than one 2 KB-overhead document fetch.
    -

    Below ~900 readings the one-document read wins — bucket the slow sensors. At 1/s the bucket costs ~2.7× the rows; the hot spindle ~22×, marching at the 16 MB cap.

    - +

    Below ~900 readings the one-document read wins, so bucket the slow sensors. At 1/s the bucket costs ~2.7× the rows; the hot spindle ~22×, marching at the 16 MB cap.

    +
    -
    Act 3 · Pattern 3 — Bucket · D. The converged answer0:49 – 0:50
    +
    Act 3 · Pattern 3: Bucket · D. The converged answer0:49 – 0:50

    Let the partition be the bucket, and put SQL in the pipeline

    -

    Store each reading as an append-only row in an hourly INTERVAL partition; roll up with GROUP BY or a summary MV. The document team keeps db.aggregate() and runs the heavy rollup as a $sql stage — the lab asserts it equals the SQL result.

    +

    Store each reading as an append-only row in an hourly INTERVAL partition. The document team keeps its pipeline and hands the heavy rollup to SQL.

    -
    CANONICAL TABLESSUMMARYCONSUMERSmachinesplant · line · modelsensor_readingsappend-only rowsINTERVAL 1 hGROUP BY hourpartition-prunedparallelhourly_mvsummary MVDashboardsSQL · last hourAnomaly scanMongo API $sqlShift reportSQL · MV
    -
    When to flip back: slow sensors. At one reading a minute the bucket holds 60 readings and a live dashboard reads it hundreds of times an hour — below ~900 readings per bucket, the one-document read wins.
    +
    CANONICAL TABLESSUMMARYCONSUMERSmachinesplant · line · modelsensor_readingsappend-only rowsINTERVAL 1 hGROUP BY hourpartition-prunedparallelhourly_mvsummary MVDashboardsSQL · last hourAnomaly scanMongo API $sqlShift reportSQL · MV
    +
    When to flip back: slow sensors. At one reading a minute a bucket holds 60 readings, and below ~900 readings per bucket the one-document read wins.
    -

    Let the partition do the bucketing — and keep the pipeline

    CREATE TABLE sensor_readings ( machine_id VARCHAR2(16), metric VARCHAR2(24),
    +          
    $sql: Oracle's addition to the MongoDB aggregation pipeline. It runs full SQL as one stage of db.aggregate().
    +
    CREATE TABLE sensor_readings ( machine_id VARCHAR2(16), metric VARCHAR2(24),
       reading_val NUMBER(12,3), reading_ts TIMESTAMP )
     PARTITION BY RANGE (reading_ts) INTERVAL (INTERVAL '1' HOUR)
     ( PARTITION p0 VALUES LESS THAN (TIMESTAMP '2026-08-01 00:00:00') );
     
    -// MongoDB API: the 7-day rollup as one $sql stage
    -db.aggregate([{ $sql: `
    +db.aggregate([{ $sql: `
       select json { 'machineId' : machine_id, 'n' : count(*), 'max' : max(reading_val),
                     'hour' : to_char(trunc(reading_ts,'HH24'),'YYYY-MM-DD"T"HH24') }
       from sensor_readings where reading_ts >= systimestamp - interval '7' day
    @@ -1041,15 +1048,15 @@ 

    Let the partition be the bucket, and put SQL in the pipeline

    -

    Ingest becomes a constant-cost insert with no 16 MB ceiling. An anonymized field reshape took a 29 s bucket rollup to under 400 ms — paid for with a heavier last-hour read.

    - +

    Ingest becomes a constant-cost insert with no 16 MB ceiling. An anonymized field reshape took a 29 s bucket rollup to under 400 ms, paid for with a heavier last-hour read.

    +
    -
    Act 3 · Pattern 4 — Subset · A. The problem0:50 – 0:52
    +
    Act 3 · Pattern 4: Subset · A. The problem0:50 – 0:52

    Insurance: ten claim events inline, rewritten on every event

    -

    Agents and the customer app open the policy summary 2M times a day. To make it one read, the team kept the 10 most recent claim events inline and the full history in a second collection — the Subset pattern. Now watch the write path.

    +

    Agents and the customer app open the policy summary 2M times a day. To make it one read, the team kept the 10 most recent claim events inline and the full history in a second collection: the Subset pattern. Now watch the write path.

    @@ -1059,46 +1066,46 @@

    Insurance: ten claim events inline, rewritten on every event

    policies · one document per policy{"_id": "POL-7730142","holder": "R. Alvarez","product": "HOME","coverages": [ ... ],"recentEvents": [{ "claim": "CLM-5581", "type": "PAYMENT","amount": 2400, "ts": "09-27T14:02" },{ "claim": "CLM-5581", "type": "NOTE" },... 8 more · sorted · trimmed to 10]}rewritten on every event$push · $sort · $slice: 10~30k times a dayclaim_history · one document per event{ "_id": "EV-90311", "policy": "POL-7730142","claim": "CLM-5581", "type": "PAYMENT" }…and a second writesame event, another placeto keep in step
    -

    The summary read is why the pattern exists. Every claim event pays for it twice — a push-sort-trim rewrite of the policy document plus a history insert, in two places that must agree.

    - +

    The summary read is why the pattern exists. Every claim event pays for it twice: a push-sort-trim rewrite of the policy document plus a history insert, in two places that must agree.

    +
    -
    Act 3 · Pattern 4 — Subset · B. The model0:52 – 0:53
    +
    Act 3 · Pattern 4: Subset · B. The model0:52 – 0:53

    An append-only event, turned into a document rewrite

    -

    Canonically a claim event is an immutable fact, inserted once. The Subset pattern turns it into two writes: a push-sort-trim rewrite of the policy document and a history insert — to maintain a list an index could simply read.

    +

    Canonically a claim event is an immutable fact, inserted once. The Subset pattern turns it into two writes: a push-sort-trim rewrite of the policy document and a history insert, to maintain a list an index could simply read.

    -
    CANONICAL FORM — EACH EVENT ONCEONE CLAIM EVENT, TWO MODELSPOLICYPKpolicy_idvarchar2holdervarchar2productvarchar2premiumnumberstatusvarchar2CLAIMPKclaim_idvarchar2FKpolicy_idvarchar2loss_datedatestatusvarchar2reservenumberCLAIM_EVENT · append-onlyPKevent_idvarchar2FKclaim_idvarchar2FKpolicy_idvarchar2event_typevarchar2amountnumberevent_tstimestampINDEXpolicy_id, event_ts DESCclaim event · CLM-5581payment · $2,400policy docpush · sort · trimwhole doc rewrittenhistory docinsert full eventsecond place2 writes, 2 places, per eventthe hot doc absorbs every oneCanonical form: 1 row insert+ 1 index entry · the recent 10is derived on read, not maintainedmutable claim state — updated in placeimmutable event facts — append once, never rewritten
    +
    CANONICAL FORM: EACH EVENT ONCEONE CLAIM EVENT, TWO MODELSPOLICYPKpolicy_idvarchar2holdervarchar2productvarchar2premiumnumberstatusvarchar2CLAIMPKclaim_idvarchar2FKpolicy_idvarchar2loss_datedatestatusvarchar2reservenumberCLAIM_EVENT · append-onlyPKevent_idvarchar2FKclaim_idvarchar2FKpolicy_idvarchar2event_typevarchar2amountnumberevent_tstimestampINDEXpolicy_id, event_ts DESCclaim event · CLM-5581payment · $2,400policy docpush · sort · trimwhole doc rewrittenhistory docinsert full eventsecond place2 writes, 2 places, per eventthe hot doc absorbs every oneCanonical form: 1 row insert+ 1 index entry · the recent 10is derived on read, not maintainedmutable claim state: updated in placeimmutable event facts: append once, never rewritten
    -

    The recent ten is a query, not a fact. Store the event once; a (policy_id, event_ts DESC) index keeps it pre-sorted — the price is one index entry per insert and a short range scan per read.

    - +

    The recent ten is a query, not a fact. Store the event once; a (policy_id, event_ts DESC) index keeps it pre-sorted. The price is one index entry per insert and a short range scan per read.

    +
    -
    Act 3 · Pattern 4 — Subset · C. Where the knobs flip it0:53 – 0:54
    -

    The subset wins on a sunny day and loses in the storm

    -

    Two knobs favour the subset: four consumers and a 67 : 1 read skew. The third — every event rewrites the parent — sets the price. Break-even is about 83k events a day; a CAT day runs at 300k.

    +
    Act 3 · Pattern 4: Subset · C. Where the knobs flip it0:53 – 0:54
    +

    The Subset pattern wins on sunny days, not in storms

    +

    Two knobs favour the Subset pattern: four consumers and a 67 : 1 read skew. The third (every event rewrites the parent) sets the price. Break-even is about 83k events a day; a CAT day runs at 300k.

    -
    KNOB SETTINGS · THIS WORKLOAD1 · DiversityHigh — 4 consumersagents, customer app, adjustersand fraud all read claim events2 · Read / writeRead-heavy, ~67 : 12M summary reads/day against~30k claim events/day3 · Update localityEvery event hits the parenteach event rewrites the policydoc and writes history tooDAILY WORK vs CLAIM EVENTS / DAY · illustrative modelthe subset is cheaperquerying is cheaper3M5M10M10k100k1Mclaim events per day (log)work units per day (log)break-even ≈ 83k / daynormal day · 30kCAT day · 300kSubset · push + trim + historyQuery it · FETCH FIRST 10, +25% read +
    KNOB SETTINGS · THIS WORKLOAD1 · DiversityHigh: 4 consumersagents, customer app, adjustersand fraud all read claim events2 · Read / writeRead-heavy, ~67 : 12M summary reads/day against~30k claim events/day3 · Update localityEvery event hits the parenteach event rewrites the policydoc and writes history tooDAILY WORK vs CLAIM EVENTS / DAY · illustrative modelthe Subset pattern is cheaperquerying is cheaper3M5M10M10k100k1Mclaim events per day (log)work units per day (log)break-even ≈ 83k / daynormal day · 30kCAT day · 300kSubset · push + trim + historyQuery it · FETCH FIRST 10, +25% read
    Illustrative cost model, not a benchmark: 2×10⁶ summary reads/day; assembling the summary on read (policy row + index range scan, FETCH FIRST 10) adds ~25% per read; a policy-document rewrite costs 6 work units, a row or document insert 2; full-history reads cost the same in both models.
    -

    At 30k events a day the subset is cheaper — the query's read premium is real. On a CAT day it costs ~40% more, all of it on the hottest documents.

    - +

    At 30k events a day the Subset pattern is cheaper: the query's read premium is real. On a CAT day it costs ~40% more, all of it on the hottest documents.

    +
    -
    Act 3 · Pattern 4 — Subset · D. The converged answer0:54 – 0:55
    +
    Act 3 · Pattern 4: Subset · D. The converged answer0:54 – 0:55

    Stop maintaining the subset: insert once, read the top ten

    Store every claim event once in one table. A (policy_id, event_ts DESC) index makes the recent ten a range scan that stops after ten rows, and SQL/JSON assembles the same policy document on read. Hot and cold are one table.

    -
    CANONICAL TABLESPROJECTIONCONSUMERSpoliciesheader, onceclaim_eventsappend · DESC indexclaimsstatus · reservepolicy summarySQL/JSONFETCH FIRST 10full historysame query,no FETCH FIRSTAgents · appSQL/JSON docAdjustersSQL · auditFraud reviewSQL analytics
    -
    When to flip back: if the inline slice is frozen at write time and rarely changes — the three coverages printed on the declarations page — keep it in the document. A slice that changes on every event is a query.
    +
    CANONICAL TABLESPROJECTIONCONSUMERSpoliciesheader, onceclaim_eventsappend · DESC indexclaimsstatus · reservepolicy summarySQL/JSONFETCH FIRST 10full historysame query,no FETCH FIRSTAgents · appSQL/JSON docAdjustersSQL · auditFraud reviewSQL analytics
    +
    When to flip back: if the inline slice is frozen at write time and rarely changes (the three coverages printed on the declarations page), keep it in the document. A slice that changes on every event is a query.
    -

    Stop maintaining the subset — query it

    CREATE INDEX ce_recent ON claim_events (policy_id, event_ts DESC);
    +          

    Stop maintaining the subset: query it

    CREATE INDEX ce_recent ON claim_events (policy_id, event_ts DESC);
     INSERT INTO claim_events VALUES (:ev, :clm, :pol, 'PAYMENT', 2400, SYSTIMESTAMP);
     -- ↑ the whole write.  ↓ the policy summary, assembled on read
     SELECT JSON_OBJECT('policyId' VALUE p.policy_id,
    @@ -1112,13 +1119,13 @@ 

    Stop maintaining the subset: insert once, read the top ten

    -

    The app gets the same policy document. Each claim event went from a document rewrite plus a history insert to one row — paid for with a modest, predictable read cost.

    - +

    The app gets the same policy document. Each claim event went from a document rewrite plus a history insert to one row, paid for with a modest, predictable read cost.

    +
    -
    Act 3 · Pattern 5 — Tree / Hierarchy · A. The problem0:55 – 0:57
    +
    Act 3 · Pattern 5: Tree / Hierarchy · A. The problem0:55 – 0:57

    Manufacturing BOM: the path is fast until engineering moves it

    An equipment maker stores 1.2M parts with a materialized path, so exploding any assembly is one prefix scan. Then ~200 change orders a day re-parent subassemblies, and quality asks the reverse question: which products contain part X?

    @@ -1130,46 +1137,46 @@

    Manufacturing BOM: the path is fast until engineering moves it

    parts · one document per part{"_id": "P-88213","name": "pump seal kit","rev": "C","unitCost": 14.20,"path": "root.A-1.SA-7.HP-3","depth": 4,"usedIn": ["HP-3", "HP-9", "VB-12"],"rollupCost": 14.20,"supplier": "S-417"}path = positionan ECO above it rewritesthis and every descendantsecond structure forwhere-used: parent list,kept in sync by app code
    -

    The path makes the downward read one index scan. It makes every re-parent a subtree-sized rewrite — and it can't answer where-used without a second, hand-synced structure.

    - +

    The path makes the downward read one index scan. It makes every re-parent a subtree-sized rewrite, and it can't answer where-used without a second, hand-synced structure.

    +
    -
    Act 3 · Pattern 5 — Tree / Hierarchy · B. The model0:57 – 0:58
    +
    Act 3 · Pattern 5: Tree / Hierarchy · B. The model0:57 – 0:58

    Store the edge, derive the position

    -

    Canonical form stores one row per parent → child link; position is computed by walking edges. The materialized path stores position in every part — so moving one subassembly rewrites the whole subtree beneath it.

    +

    Canonical form stores one row per parent → child link; position is computed by walking edges. The materialized path stores position in every part, so moving one subassembly rewrites the whole subtree beneath it.

    -
    CANONICAL FORM — EDGES, NOT BAKED PATHSTHE SAME MOVE, AS PATHSPARTPKpart_idvarchar2namevarchar2revvarchar2unit_costnumberFKsupplier_idvarchar2BOM_EDGEPKedge_idnumberparent_idvarchar2FKchild_idvarchar2qtynumberECOPKeco_idvarchar2FKedge_idnumberfrom_parentvarchar2released_attimestampparent → child · a part can have many parents (DAG)ECO-4471 · re-parent SA-7A-1 → A-21SA-7 itself10 – 40kdescendants≈ subtree-size rewritesper ECO · not one transactionAdjacency edge: 1 row updatethe subtree follows · atomicthe column an ECO writes — structure, not positionimmutable change history — safe to copy
    +
    CANONICAL FORM: EDGES, NOT BAKED PATHSTHE SAME MOVE, AS PATHSPARTPKpart_idvarchar2namevarchar2revvarchar2unit_costnumberFKsupplier_idvarchar2BOM_EDGEPKedge_idnumberparent_idvarchar2FKchild_idvarchar2qtynumberECOPKeco_idvarchar2FKedge_idnumberfrom_parentvarchar2released_attimestampparent → child · a part can have many parents (DAG)ECO-4471 · re-parent SA-7A-1 → A-21SA-7 itself10 – 40kdescendants≈ subtree-size rewritesper ECO · not one transactionAdjacency edge: 1 row updatethe subtree follows · atomicthe column an ECO writes: structure, not positionimmutable change history: safe to copy
    -

    A path is a derived fact stored N times. The edge is the fact stored once — an ECO changes one row and the subtree follows.

    - +

    A path is a derived fact stored N times. The edge is the fact stored once: an ECO changes one row and the subtree follows.

    +
    -
    Act 3 · Pattern 5 — Tree / Hierarchy · C. Where the knobs flip it0:58 – 0:59
    +
    Act 3 · Pattern 5: Tree / Hierarchy · C. Where the knobs flip it0:58 – 0:59

    The needle flips on the size of the move

    -

    Two knobs favour the path: four read questions and a read-heavy day. The third — every re-parent lands on the whole subtree — decides it. Charge the recursive read its real premium and break-even sits near 1,000 parts per move.

    +

    Two knobs favour the path: four read questions and a read-heavy day. The third (every re-parent lands on the whole subtree) decides it. Charge the recursive read its real premium and break-even sits near 1,000 parts per move.

    -
    KNOB SETTINGS · THIS WORKLOAD1 · DiversityHigh — 4 questionsexplode, roll up, where-used,recall impact2 · Read / writeRead-heavy~2M explosions/day against~200 ECOs/day3 · Update localityLands on every descendantone re-parent rewrites10 to 40,000 part pathsDAILY WORK vs PARTS PER MOVED SUBTREE · illustrative modelpath is cheaperedges are cheaper2M5M10M20M101001k10kparts in the moved subtree (log)work units per day (log)break-even ≈ 1,000 partsroutine ECO · 50module move · 10kMaterialized pathAdjacency edges · CONNECT BY, +30% read -
    Illustrative cost model, not a benchmark: 2×10⁶ explosion reads/day at 1 unit via a path-prefix scan; recursive CONNECT BY adds ~30% per explosion; 200 ECOs/day; each document or row rewrite costs 3 units. Where-used is left out — which favours the path.
    +
    KNOB SETTINGS · THIS WORKLOAD1 · DiversityHigh: 4 questionsexplode, roll up, where-used,recall impact2 · Read / writeRead-heavy~2M explosions/day against~200 ECOs/day3 · Update localityLands on every descendantone re-parent rewrites10 to 40,000 part pathsDAILY WORK vs PARTS PER MOVED SUBTREE · illustrative modelpath is cheaperedges are cheaper2M5M10M20M101001k10kparts in the moved subtree (log)work units per day (log)break-even ≈ 1,000 partsroutine ECO · 50module move · 10kMaterialized pathAdjacency edges · CONNECT BY, +30% read +
    Illustrative cost model, not a benchmark: 2×10⁶ explosion reads/day at 1 unit via a path-prefix scan; recursive CONNECT BY adds ~30% per explosion; 200 ECOs/day; each document or row rewrite costs 3 units. Where-used is left out, which favours the path.
    -

    For small moves and static trees the path is cheaper — the recursive read costs more. Once engineering moves modules of thousands of parts, the edge wins — ~3× at 10k, ~10× at 40k.

    - +

    For small moves and static trees the path is cheaper: the recursive read costs more. Once engineering moves modules of thousands of parts, the edge wins: ~3× at 10k, ~10× at 40k.

    +
    -
    Act 3 · Pattern 5 — Tree / Hierarchy · D. The converged answer0:59 – 1:00
    +
    Act 3 · Pattern 5: Tree / Hierarchy · D. The converged answer0:59 – 1:00

    Store the edge: recurse down, match up, move one row

    Keep the BOM as parent → child edges: CONNECT BY explodes it, a SQL/PGQ graph over the same rows answers where-used, and an ECO re-parent is one row.

    -
    CANONICAL TABLESSAME ROWS, TWO READSCONSUMERSbom_edgesparent → childECO writes hereparts1.2M rowsCONNECT BYexplode · roll upone recursive passbom_graphSQL/PGQ graphwhere-used, N hopsPlanningSQL · explodeCost rollupSQL · nightlyRecall deskwhere-usedSQL/PGQ
    -
    When to flip back: a tree that rarely moves and is read one way — a product catalogue, an org chart snapshot — keep the materialized path. Its prefix scan is the cheapest explosion there is.
    +
    CANONICAL TABLESSAME ROWS, TWO READSCONSUMERSbom_edgesparent → childECO writes hereparts1.2M rowsCONNECT BYexplode · roll upone recursive passbom_graphSQL/PGQ graphwhere-used, N hopsPlanningSQL · explodeCost rollupSQL · nightlyRecall deskwhere-usedSQL/PGQ
    +
    When to flip back: a tree that rarely moves and is read one way (a product catalogue, an org chart snapshot), keep the materialized path. Its prefix scan is the cheapest explosion there is.
    -

    Store the edge — recurse down, match up, move with one row

    -- explode: everything under an assembly, one pass
    +          

    Store the edge: recurse down, match up, move with one row

    -- explode: everything under an assembly, one pass
     SELECT child_id, qty, LEVEL FROM bom_edges
     START WITH parent_id = :asm CONNECT BY PRIOR child_id = parent_id;
     
    @@ -1185,64 +1192,64 @@ 

    Store the edge: recurse down, match up, move one row

    -

    The re-parent went from one rewrite per descendant to one edge row, and where-used went from a hand-synced second structure to a graph match — paid for with a real recursive-read premium.

    - +

    The re-parent went from one rewrite per descendant to one edge row, and where-used went from a hand-synced second structure to a graph match, paid for with a real recursive-read premium.

    +
    -
    Act 3 · Pattern 6 — Outlier · A. The problem1:00 – 1:02
    +
    Act 3 · Pattern 6: Outlier · A. The problem1:00 – 1:02

    Brokerage: 40,000 books of business, and 120 that don't fit

    -

    Every advisor's “my book” screen is one document with the client list embedded. For the median book of 180 clients that is perfect. Then the team books with 150,000 clients hit the 16 MB cap — and the Outlier pattern adds a flag, overflow documents and a branch.

    +

    Every advisor's “my book” screen is one document with the client list embedded. For the median book of 180 clients that is perfect. Then the team books with 150,000 clients hit the 16 MB cap, and the Outlier pattern adds a flag, overflow documents and a branch.

    40,000 advisors~17M clientsp50 180 clients~120 books > 20k
    -
    Access patternWhoRateType
    My book — top 100 by AUMadvisor portal~2k/s at the openread
    Add a clientonboarding~30k / daywrite
    Nightly AUM refreshbatch~17M clients / nightwrite · big doc
    Advisor transition: move a bookops~50 books / weekwrite · big doc
    +
    Access patternWhoRateType
    My book: top 100 by AUMadvisor portal~2k/s at the openread
    Add a clientonboarding~30k / daywrite
    Nightly AUM refreshbatch~17M clients / nightwrite · big doc
    Advisor transition: move a bookops~50 books / weekwrite · big doc
    advisors · one document per book{"_id": "A-900","name": "Institutional Desk 4","bookType": "team","hasExtras": true,"clientCount": 148212,"clients": [{ "id": "C-900001","name": "Harbor Pension Trust","aum": 912400000 },{ "id": "C-900002","aum": 887150000 },... 19,998 more ...]}the 16 MB cap, leaked:128k more clients sitin 7 overflow docsnightly AUM refreshrewrites the whole~8 MB document
    -

    The pattern is built for the median book. The 16 MB cap becomes a flag, seven extra documents and an if in every reader — and the biggest documents take the most writes.

    - +

    The pattern is built for the median book. The 16 MB cap becomes a flag, seven extra documents and an if in every reader, and the biggest documents take the most writes.

    +
    -
    Act 3 · Pattern 6 — Outlier · B. The model1:02 – 1:03
    +
    Act 3 · Pattern 6: Outlier · B. The model1:02 – 1:03

    The book is rows; the document boundary is the outlier

    -

    Canonical form stores each client once, as a row keyed by advisor — 180 rows or 148,000, same table, same index. The document model makes the book one physical object, so the fat tail becomes overflow documents and an application branch.

    +

    Canonical form stores each client once, as a row keyed by advisor: 180 rows or 148,000, same table, same index. The document model makes the book one physical object, so the fat tail becomes overflow documents and an application branch.

    -
    CANONICAL FORM — A CLIENT IS A ROWTHE SAME BOOK, AS DOCUMENTSDESKPKdesk_idvarchar2desk_namevarchar2book_typevarchar2ADVISORPKadvisor_idvarchar2FKdesk_idvarchar2full_namevarchar2regionvarchar2CLIENTPKclient_idvarchar2FKadvisor_idvarchar2full_namevarchar2aumnumberaum_as_ofdateopened_ondateINDEX (advisor_id, aum DESC)any book, any size: one range scanp50 advisor · 180 clients1 document · ~72 KB · one readteam book · 148k clientsadvisor doc: first 20k + hasExtras#part-220k clients#part-320k clients… #part-820k clientsapplication branchif hasExtras: 1 + 7 fetches, merge-sortCanonical form: 1 query, any booksame index range scan · no branchmutable — rewritten nightly, inside the biggest documentsimmutable — safe to copy anywhere
    +
    CANONICAL FORM: A CLIENT IS A ROWTHE SAME BOOK, AS DOCUMENTSDESKPKdesk_idvarchar2desk_namevarchar2book_typevarchar2ADVISORPKadvisor_idvarchar2FKdesk_idvarchar2full_namevarchar2regionvarchar2CLIENTPKclient_idvarchar2FKadvisor_idvarchar2full_namevarchar2aumnumberaum_as_ofdateopened_ondateINDEX (advisor_id, aum DESC)any book, any size: one range scanp50 advisor · 180 clients1 document · ~72 KB · one readteam book · 148k clientsadvisor doc: first 20k + hasExtras#part-220k clients#part-320k clients… #part-820k clientsapplication branchif hasExtras: 1 + 7 fetches, merge-sortCanonical form: 1 query, any booksame index range scan · no branchmutable: rewritten nightly, inside the biggest documentsimmutable: safe to copy anywhere

    Outliers exist only where a physical boundary is part of the model. Remove the boundary and a 148k-client book is just a longer range scan.

    - +
    -
    Act 3 · Pattern 6 — Outlier · C. Where the knobs flip it1:03 – 1:04
    +
    Act 3 · Pattern 6: Outlier · C. Where the knobs flip it1:03 – 1:04

    Designed for the p50, paid for at the p99.9

    -

    For the median book of 180 clients, one embedded document is ~3× cheaper than a range scan — the break-even is about 3,200 clients. The ~120 team books sit 50× past it, where the read becomes 1 + k fetches and a merge in the app.

    +

    For the median book of 180 clients, one embedded document is ~3× cheaper than a range scan; the break-even is about 3,200 clients. The ~120 team books sit 50× past it, where the read becomes 1 + k fetches and a merge in the app.

    -
    KNOB SETTINGS · THIS WORKLOAD1 · DiversityLow — one book screenportal and batch read thebook the same way2 · Read / writeRead-heavy by day~2k reads/s at the open;one refresh storm a night3 · Update localitySkew ×800, p50 → maxwrites land in the biggestdocuments on the platformWORK PER TOP-100 BOOK READ vs BOOK SIZE · illustrative modelone document is cheaperrange scan is cheaper10301003001k3k101001k10k100kclients per advisor (log)work units per read (log)break-even ≈ 3,200 clientsp50 · 180 clientsteam book · 148kEmbedded book + overflowRows · index range scan, top 100 +
    KNOB SETTINGS · THIS WORKLOAD1 · DiversityLow: one book screenportal and batch read thebook the same way2 · Read / writeRead-heavy by day~2k reads/s at the open;one refresh storm a night3 · Update localitySkew ×800, p50 → maxwrites land in the biggestdocuments on the platformWORK PER TOP-100 BOOK READ vs BOOK SIZE · illustrative modelone document is cheaperrange scan is cheaper10301003001k3k101001k10k100kclients per advisor (log)work units per read (log)break-even ≈ 3,200 clientsp50 · 180 clientsteam book · 148kEmbedded book + overflowRows · index range scan, top 100
    Illustrative cost model, not a benchmark: embedded = 10 per document fetch + 0.01 per client read (~400 B each), 20k-client overflow documents + 0.005/client app merge; rows = 10 + 2·log₁₀ n + 0.25 per row returned (≤ 100).
    -

    The embedded book wins for 99% of advisors — say so. At 148k clients it's ~50× the work and a second code path that only the 120 largest, most-written books exercise.

    - +

    The embedded book wins for 99% of advisors. Say so. At 148k clients it's ~50× the work and a second code path that only the 120 largest, most-written books exercise.

    +
    -
    Act 3 · Pattern 6 — Outlier · D. The converged answer1:04 – 1:05
    +
    Act 3 · Pattern 6: Outlier · D. The converged answer1:04 – 1:05

    The outlier is just more rows: one query, no branch

    -

    Store each client as a row, index it by (advisor_id, aum DESC), and project the book as a document with a duality view where a consumer wants one. The book screen pages with FETCH FIRST / OFFSET — the same statement for every advisor.

    +

    Store each client as a row, index it by (advisor_id, aum DESC), and project the book as a document with a duality view where a consumer wants one. The book screen pages with FETCH FIRST / OFFSET: the same statement for every advisor.

    -
    CANONICAL TABLESPROJECTIONCONSUMERSadvisorsone row eachclientsidx advisor_id,aum DESCadvisor_dvduality viewbook as a documenttop-N queryFETCH FIRST ·OFFSET pagesCRMMongo API find()AI assistantSQL/JSONBook screenSQL · any size
    -
    When to flip back: if the list has a hard upper bound — ten saved watchlists, five beneficiaries — embed it. The Outlier pattern is only needed when the bound is a guess. Growth costs too: +1 client to an 800-client book is ~20× a row insert's redo (companion lab).
    +
    CANONICAL TABLESPROJECTIONCONSUMERSadvisorsone row eachclientsidx advisor_id,aum DESCadvisor_dvduality viewbook as a documenttop-N queryFETCH FIRST ·OFFSET pagesCRMMongo API find()AI assistantSQL/JSONBook screenSQL · any size
    +
    When to flip back: if the list has a hard upper bound (ten saved watchlists, five beneficiaries), embed it. The Outlier pattern is only needed when the bound is a guess. Growth costs too: +1 client to an 800-client book is ~20× a row insert's redo (companion lab).
    -

    One table, one index, one query — no overflow branch

    CREATE JSON RELATIONAL DUALITY VIEW advisor_dv AS
    +          

    One table, one index, one query, no overflow branch

    CREATE JSON RELATIONAL DUALITY VIEW advisor_dv AS
     SELECT JSON { '_id'     : a.advisor_id,
       'clients' : [ SELECT JSON { 'clientId' : c.client_id,
                                     'aum'      : c.aum WITH UPDATE }
    @@ -1257,213 +1264,115 @@ 

    The outlier is just more rows: one query, no branch

    -

    The 16 MB cap never enters the model because the book was never one document. One code path for 40,000 advisors — paid for with a modest, predictable read cost at the median.

    - +

    The 16 MB cap never enters the model because the book was never one document. One code path for 40,000 advisors, paid for with a modest, predictable read cost at the median.

    +
    -
    +
    Act 3 · The rest of the catalog1:05 – 1:09

    The rest of the catalog, at speed

    -

    The remaining patterns split cleanly into two piles: those that survive as optional conveniences, and those that become obsolete the moment the engine changes.

    +
      +
    • Still useful, now optional: the engine already does the work
    • +
    • Obsolete: the limit they fought is gone
    • +
    -
    -
    - Survive — now optional -

    Polymorphic — heterogeneous rows coexist; a multivalue index spans them. Attribute — sparse key/value arrays get a real index instead of a scan. Schema-Versioning — IS JSON + a discriminator; a view papers over versions. Document-Versioning → temporal validity / Flashback gives you history for free.

    -
    -
    - Obsolete — artifacts of a limit -

    Approximation — hand-rolled counters replaced by native APPROX_COUNT_DISTINCT. Pre-Allocation — padding a document so it won't move on disk was an MMAPv1 artifact; it vanished the moment the storage engine changed. The cleanest proof that patterns are bets against an engine, not laws of modeling.

    -
    -
    +
    STILL USEFUL, NOW OPTIONALthe engine already gives you the mechanismPolymorphicmixed shapes in one collectionmultivalue indexAttributesparse key/value attributesreal index on key/valueSchema-Versioningold and new shapes side by sideIS JSON + a viewDocument-Versioninghistory of every changetemporal validity / FlashbackOBSOLETEthe limit they fought is goneApproximationhand-rolled approximate countersAPPROX_COUNT_DISTINCTPre-Allocationpadding so a document won't movean MMAPv1 artifactPatterns are bets against an engine.
    -

    Pre-Allocation is the tell. Nobody decided it was wrong — the engine changed and it evaporated. That's every pattern's eventual fate when the constraint it fought is lifted.

    - +
    -
    -
    Act 3 · The honest edge1:09 – 1:13
    +
    +
    Act 3 · Where documents win1:09 – 1:13

    Where the document model still wins

    -

    This is not "relational beats document." If it were a pitch, I'd skip this slide. Some workloads are genuinely document-shaped — and forcing a duality view on them would be the same mistake in the other direction.

    +
      +
    • The white-hot cart is a JSON COLLECTION TABLE in Oracle, over the MongoDB API or SQL/JSON
    • +
    • Its knobs say embed: one owner, hot reads and writes, private updates
    • +
    • A duality view would add k index probes to every read; joins are never free
    • +
    -
    -
    -

    The white-hot shopping cart

    -

    Tiny, self-contained, written constantly, read by exactly one owner, no cross-entity query. Model it as a single collection keyed cart#sku — small inserts and deletes, no write amplification, no join anyone needs.

    -

    Do not wrap it in a duality view. There's no canonical form fighting to get out.

    -
    -
    -

    The rule

    -

    Reach for a projection when a fact is shared, queried many ways, or changes under you. Leave it embedded when it's private, uniform, and self-contained.

    -

    Duality is a tool, not a hammer. A single collection is not a duality view.

    -
    -
    +
    THE CART, IN ORACLECREATE JSON COLLECTION TABLE carts;{ "_id": "cart#u42","items": [{ "sku": "A-19", "qty": 2 },{ "sku": "C-07", "qty": 1 } ] }one table, two access surfacesMongoDB APIinsertOne() · find()SQL/JSONJSON_VALUE · JSON_TABLETHE KNOBS FOR THE CART1 · DiversityLow: one ownerone shopper reads andwrites this cart2 · Read / writeBoth hotevery click reads itand writes it3 · Update localityPrivatean update touches one cart,never a shared factembed wins: nothing shared to copyREAD COST, SAME DOCUMENT SHAPEJSON collectionO(log n)1 probe + 1 fetchDuality view over k tables… kassembleO(k · log n)k probes + assemblynested arrays cost morejoins are never freePowerful tools: pick the shape the workload asks for. A single collection is not a duality view.
    -

    The credibility of everything in this deck rests on this slide. The workload chooses the shape — and sometimes it chooses a plain document. The point was never one model; it was refusing to pay for a model the workload didn't ask for.

    - +
    -
    +
    Act 4 · How you know where the needle flips1:13 – 1:17
    -

    Don't argue the model — bake it off

    -

    Every slide so far named a breakpoint. How do you find yours? You don't reason your way to it — you reason your way to the candidates, then measure. This is the oracle-ai-dev method.

    +

    Don't argue the model. Bake it off.

    +
      +
    • Your schema, your data, five candidate shapes, one engine
    • +
    -
    - - - - - - - - - Reproducethe real schema - - Generate dataat true cardinality - - Build D0–D4candidate shapes - - Measureread AND writecost - - Breakpointwhere the winnerflips - - - - - - - - -
    D0 = as-is · D1 = normalized · D2 = embedded/document · D3 = hybrid (relational + JSON columns) · D4 = projected via duality. Same data, same engine, same queries — only the shape varies.
    -
    -
    -

    Two rules that catch every bad instinct:  ① Writes are access patterns too — a shape that wins reads and loses writes hasn't won.  ② A win at the wrong scale is not a win — measure at production cardinality or you're tuning a toy.

    -
    +
    1Your schemathe real one,not a toy2Your dataat productioncardinality3?D0as-isD1normalizedD2embedded{ }D3hybridD4dualityCandidate designsD0–D4 · same data, same engine4readswritesMeasurereads AND writes,at your write rate5The crossoverwhere the winnerflipsRULE 1Writes are access patterns tooa shape that wins reads and loses writes hasn't wonRULE 2A win at the wrong scale is not a winmeasure at production cardinality, or you're tuning a toyReason to the candidates. Measure to the decision.
    -

    Reason to the candidates; measure to the decision. The bake-off is how "I think we should embed this" becomes "at 40M rows and this write rate, D3 wins by 6×, and here's the crossover."

    - +
    -
    +
    Act 4 · How you know where the needle flips1:17 – 1:20
    -

    Two engagements where the room's taste was wrong

    -

    Both anonymized, both measured at production cardinality. In both, the model people argued for lost to the model the numbers picked.

    +

    Two engagements where the preferred design lost to the measurement

    +
      +
    • Both anonymized, both measured at production cardinality
    • +
    -
    -
    baseline / argued-for measured winner
    -
    -
    Global bankheavy aggregation query
    -
    -
    30.0s
    -
    28×
    -
    -
    1.0s  (rewrite alone)
    -
    -
    -
    Global bankelected hybrid model (rel + JSON)
    -
    -
    30.0s
    -
    1667×
    -
    -
    18ms
    -
    -
    -
    Wealth-mgmt platform40 queries, average
    -
    -
    0.829s
    -
    −81%
    -
    -
    0.159s  (40/40 faster)
    -
    -
    +
    GLOBAL BANKHeavy aggregation query30 s1.0 sbeforeafter28× fasterQuery rewrite only.No new model.GLOBAL BANKElected data model30 s18 msbeforeafter1,667× fasterA hybrid model won:relational tables + JSON columns.WEALTH-MANAGEMENT PLATFORM40 production queries0.83 s0.16 sbeforeafter−81% on average40 of 40 faster.A query that timed out: 0.39 s.
    -

    Global bank: the biggest win — 28× — needed no new model at all, just a rewrite; the elected shape was a hybrid, not the pure document the room wanted. Wealth-mgmt: a query that timed out came back at 0.39s. The room's taste was wrong twice. The measurement wasn't.

    - +
    -
    +
    Act 4 · How you know where the needle flips1:20 – 1:23
    -

    And sometimes the document shape wins — on the same engine

    -

    Measurement cuts both ways. The honest result isn't "relational always wins" — it's "shape per pattern, one engine." Here's the case that proves the method isn't rigged.

    +

    And sometimes the document shape wins, on the same engine

    +
      +
    • Measurement cuts both ways: the method isn't rigged toward relational
    • +
    • One shape per access pattern, all on one engine
    • +
    -
    -
    -

    Entitlements: array-containment

    -

    "Which resources can this principal touch?" is an array-containment query. Modeled across a 27-table normalized schema it's a join thicket. Modeled as a document with an indexed array, on the same converged engine, it ran ~9–15× faster.

    -
    -
    -

    The 90/10, honestly

    -

    ~90% of queries are happy on a document shape; ~10% desperately need joins, aggregation, or graph. The win isn't picking a side — it's serving both shapes from one source of truth, each query on the shape that suits it.

    -
    -
    +
    ENTITLEMENTS · ARRAY CONTAINMENT“which resources can this principal touch?”27 tablesa join thicket{ "principal": "p-88","resources": ["r-12","r-40", "r-77", ...] }multivalue indexone document, indexed array~9–15× faster on the same engineTHE 90/10every query on the shape that suits it~90%: happy on a document shape10%~10%: joins, aggregation, graphone canonical form · one engine
    -

    The converged argument is not "always relational." It's that one engine can hold the canonical form and project whatever shape each access pattern wants — and the measurement, not the meeting, decides which.

    - +
    -
    +
    Act 5 · Close1:23 – 1:26
    -

    What "converged" has to mean

    -

    "Multi-model" is a marketing word — most products meaning several engines behind one logo. Converged is a physical claim. Five tests separate the two:

    +

    Five tests for a converged engine

    +

    "Multi-model" is a marketing word: most products use several engines behind one logo. Converged is a physical claim.

    -
    -

    One transaction boundary

    A single ACID commit spans document, relational, graph, and vector — not a saga across services.

    -

    One optimizer

    A cost-based optimizer that plans across models, not a separate planner per store.

    -

    One consistency model

    No eventual gap between the vector index and the row it describes.

    -

    One governance domain

    One auth model, one audit trail, one patch cycle, one attack surface.

    -

    Shared access surfaces

    SQL, SQL/JSON, SQL/PGQ — and the Mongo wire protocol — over the same rows.

    -

    The test

    If any answer is "that's a different service," it's polyglot with a shared bill — not converged.

    -
    +
    1One transactionboundaryone ACID commitspans every model2One optimizerone cost-based planacross every model3One consistencymodelno lag between avector and its row4One governancedomainone auth, one audit,one patch cycle5Shared accesssurfacesSQL, SQL/JSON, SQL/PGQ,MongoDB API: same rowsThe test: if any answer is “that's a different service,” it's polyglot with a shared bill.ADDED BENEFITOne database to replicate, not five stores to keep in syncMulti-region and multi-cloud get far simpler: one replication stream,one failover plan, one consistency story.“Tell the DBAs your app is ready for multi-region and multi-cloud.”one databaseregion Bcloud C
    -

    Every softening in this deck depended on these five holding at once. Remove any one and you're back to integration tax and consistency gaps — the problems the patterns were coping with in the first place.

    - +
    -
    +
    Act 5 · Close1:26 – 1:28
    -

    Five questions for any architecture — including yours

    -

    Take these back to your own systems. They work on any stack, any vendor. If you can't answer them, that's the finding.

    +

    Five questions for any architecture, including yours

    +
      +
    • Take these back to your own stack. If you can't answer one, that's the finding.
    • +
    -
      -
    1. Where is your canonical form? If the answer is "in five places," you have no canonical form — you have five copies negotiating.
    2. -
    3. What projected shapes do your consumers actually need? Document, graph, vector, flat — list them per consumer.
    4. -
    5. What access dimensions? Point read, range, aggregate, traverse, similarity — which ones, how often?
    6. -
    7. What's your projection latency? Synchronous = zero lag. Async CDC = seconds to minutes of disagreement. Which can your use case tolerate?
    8. -
    9. What consistency does your AI need? Eventual consistency is a hallucination-risk setting. Is that the setting you meant to choose?
    10. -
    +
    1Where is your canonical form?2Which projected shapes do your consumers need?3Which access dimensions, and how often?4What is your projection latency?the quiet one5What consistency does your AI need?
    -

    Question 4 is the quiet one. Most "converged" claims fail on projection latency — the shapes exist, but they're minutes stale. Sync projection is the difference between a view and a copy.

    - +
    -
    +
    Act 5 · Close1:28 – 1:30

    Bring your slowest query. We'll measure it.

    -

    You don't have to believe any number in this deck. The whole method is built to be reproduced — so let's reproduce it on your workload.

    +
      +
    • You don't have to believe any number in this deck: reproduce it on your workload
    • +
    -
    -
    -

    The design review

    -

    Bring a schema and your five slowest queries. We reproduce the schema, generate data at your cardinality, build the candidate shapes, and let the numbers pick the model — the bake-off, on your data.

    -
    -
    -

    What comes next

    -

    Workshop 3 — the lab: "one restaurant, every model," hands-on, where you build the projections yourself. Companion repo: every pattern in this deck as runnable, validated SQL on 26ai Free.

    -
    -
    -

    Model the domain, not the engine. Project the access. Measure the tradeoff — don't argue it.

    +
    1Bring your schemaand your five slowest queries2We bake it offon your data, at your cardinality3Numbers pick the modelreads and writes, measuredWorkshop 3 · the lab“One restaurant, every model”: you buildthe projections yourself, hands-on.Companion repo · converged-modeling-patternsEvery pattern in this deck as runnable SQL,validated on Oracle AI Database 26ai Free.Model the domain, not the engine. Project the access.Measure the tradeoff. Don't argue it.
    -

    Companion repo: converged-modeling-patterns · runnable on Oracle AI Database 26ai Free · every .sql validated on a live container

    - +
    @@ -1588,7 +1497,7 @@

    What comes next

    (total ? ' · build ' + (step + 1) + ' / ' + (total + 1) : '') + '' + '' + title + '' + '
    ' + notes + '
    ' + - '' + + '' + ''; } diff --git a/labs/converged-modeling-patterns/presentations/fonts/LICENSE-bricolage-grotesque.txt b/labs/converged-modeling-patterns/presentations/fonts/LICENSE-bricolage-grotesque.txt old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/fonts/LICENSE-ibm-plex-mono.txt b/labs/converged-modeling-patterns/presentations/fonts/LICENSE-ibm-plex-mono.txt old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/fonts/LICENSE-public-sans.txt b/labs/converged-modeling-patterns/presentations/fonts/LICENSE-public-sans.txt old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/fonts/bricolage-grotesque-latin-40c2cb34.woff2 b/labs/converged-modeling-patterns/presentations/fonts/bricolage-grotesque-latin-40c2cb34.woff2 old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/fonts/bricolage-grotesque-latin-ext-fdb6b064.woff2 b/labs/converged-modeling-patterns/presentations/fonts/bricolage-grotesque-latin-ext-fdb6b064.woff2 old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/fonts/fonts.css b/labs/converged-modeling-patterns/presentations/fonts/fonts.css old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/fonts/ibm-plex-mono-latin-0bc96cd0.woff2 b/labs/converged-modeling-patterns/presentations/fonts/ibm-plex-mono-latin-0bc96cd0.woff2 old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/fonts/ibm-plex-mono-latin-1b581b15.woff2 b/labs/converged-modeling-patterns/presentations/fonts/ibm-plex-mono-latin-1b581b15.woff2 old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/fonts/ibm-plex-mono-latin-e2661bcc.woff2 b/labs/converged-modeling-patterns/presentations/fonts/ibm-plex-mono-latin-e2661bcc.woff2 old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/fonts/ibm-plex-mono-latin-ext-1969f6ff.woff2 b/labs/converged-modeling-patterns/presentations/fonts/ibm-plex-mono-latin-ext-1969f6ff.woff2 old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/fonts/ibm-plex-mono-latin-ext-93cfae71.woff2 b/labs/converged-modeling-patterns/presentations/fonts/ibm-plex-mono-latin-ext-93cfae71.woff2 old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/fonts/ibm-plex-mono-latin-ext-a7353317.woff2 b/labs/converged-modeling-patterns/presentations/fonts/ibm-plex-mono-latin-ext-a7353317.woff2 old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/fonts/public-sans-latin-6e68d19a.woff2 b/labs/converged-modeling-patterns/presentations/fonts/public-sans-latin-6e68d19a.woff2 old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/fonts/public-sans-latin-ext-53e02343.woff2 b/labs/converged-modeling-patterns/presentations/fonts/public-sans-latin-ext-53e02343.woff2 old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/images/image77.png b/labs/converged-modeling-patterns/presentations/images/image77.png old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/images/image78.png b/labs/converged-modeling-patterns/presentations/images/image78.png old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/images/image79.png b/labs/converged-modeling-patterns/presentations/images/image79.png old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/images/image83.png b/labs/converged-modeling-patterns/presentations/images/image83.png old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/images/image84.png b/labs/converged-modeling-patterns/presentations/images/image84.png old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/images/image89.png b/labs/converged-modeling-patterns/presentations/images/image89.png old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/images/image93.png b/labs/converged-modeling-patterns/presentations/images/image93.png old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/presentations/images/umt-icon.png b/labs/converged-modeling-patterns/presentations/images/umt-icon.png old mode 100755 new mode 100644 diff --git a/labs/converged-modeling-patterns/run.sh b/labs/converged-modeling-patterns/run.sh old mode 100644 new mode 100755 From 43fab0a869c2752cdc5633f5b38bb3028c6575dd Mon Sep 17 00:00:00 2001 From: Rick Houlihan Date: Wed, 30 Sep 2026 18:05:09 -0500 Subject: [PATCH 09/12] presentations: slide 2 reframed as old frame vs model once, project many Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01BeoRFyVLAZ7nma6UueR1P6 --- .../converged-data-modeling-workshop1.html | 37 ++++++------------- 1 file changed, 11 insertions(+), 26 deletions(-) diff --git a/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html b/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html index f6831db..0e5684d 100644 --- a/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html +++ b/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html @@ -465,32 +465,17 @@

    Model the domain, not the engine

    -
    +
    Act 0 · Framing0:02 – 0:05

    The choice was never "relational or document"

    -

    For twenty years we've argued models like they were teams to join. They were never teams. They are projections of the same truth, each shaped by what the engine of the day could afford. Change the engine, and the argument changes.

    +
      +
    • Relational vs. document was never a team to join
    • +
    • Model once, project many: the workload picks the shape
    • +
    -
    -
    - The old frame -

    Pick a database per workload

    -

    Normalize here, denormalize there, buy a purpose-built store for each access pattern, and glue them together. Every pattern in the catalog is a coping strategy for one engine's limits, and every glue joint is an integration tax and a consistency gap.

    -
    -
    - The frame for today -

    Model once, project many

    -

    One canonical form. Many projected shapes (document, graph, vector, relational) served from the same rows, in one transaction, under one optimizer. The pattern doesn't disappear; the cost of choosing it does.

    -
    -
    -
      -
    1. Why converged, why now: the timeline that produced the patterns, and Unified Model Theory.
    2. -
    3. The physics: three knobs, write amplification, and the breakpoint that decides every pattern.
    4. -
    5. The pattern walk: six industries, six hard edges, and how converged softens each one.
    6. -
    7. How you know: the oracle-ai-dev bake-off. Reason, then measure where the needle flips.
    8. -
    +
    THE OLD FRAMEA database per workloadDocumentSearchGraphVectorRelationalintegration taxserialize · hop · authconsistency gapcopies disagree meanwhilereframeTHE FRAME FOR TODAYModel once, project manyCanonical formnormalized tableseach fact onceDocumentGraphVectorRelationalone transaction · one optimizerTODAY'S MAPa modeling session, not a product pitch1Why nowtimeline · UMT2The physicsthree knobs3The pattern walksix industries4How you knowthe bake-offThe rule all day:the workload chooses the shape; measure, don't guess.
    -

    This is a modeling session, not a product pitch. The rule we're testing all day: the workload chooses the shape; you measure, you don't guess.

    - +
    @@ -502,7 +487,7 @@

    Data pressure through the ages

  • Today's document patterns were bets placed in the NoSQL era
  • -
    Data pressuretimeHumanBrain~100,000 BCLedgers~3000 BCPunchCards1890sMagneticTape1950sBlockStorage1970sRDBMS1980sDistributedNoSQL2000sSQLDocGraphTimeVectorPolyglotPersistence2015+Unified ModelTheory2020sEach peak = data pressure exceeding current technology. Each valley = the solution.
    +
    Data pressuretimeHumanBrain~100,000 BCLedgers~3000 BCPunchCards1890sMagneticTape1950sBlockStorage1970sRDBMS1980sDistributedNoSQL2000sSQLDocGraphTimeVectorPolyglotPersistence2015+Unified ModelTheory2020sEach peak = data pressure exceeding current technology. Each valley = the solution.
    @@ -517,7 +502,7 @@

    Why we ever denormalized: the economics flipped

  • Keep one truth; let the engine maintain the read shapes
  • -
    THEN · 1970s–1990sStorage· disk cost real moneyexpensiveCompute & latency· joins were affordablecheap enoughNOW · 2010s →Storage· pennies per gigabytenearly freeCompute & latency· CPU, network hops, user waitexpensiveswapdenormalize → project (engine-maintained)keep one normalized truth; spend cheap storageon read shapes the engine keeps in syncAnswer then: normalizestore each fact once;join at read time to reassemble it
    +
    THEN · 1970s–1990sStorage· disk cost real moneyexpensiveCompute & latency· joins were affordablecheap enoughNOW · 2010s →Storage· pennies per gigabytenearly freeCompute & latency· CPU, network hops, user waitexpensiveswapdenormalize → project (engine-maintained)keep one normalized truth; spend cheap storageon read shapes the engine keeps in syncAnswer then: normalizestore each fact once;join at read time to reassemble it
    @@ -571,7 +556,7 @@

    Polyglot persistence: five stores, five versions of the truth

  • An AI agent acts on whichever copy it reads
  • -
    One fact changescustomer tier = Gold10:00:00Document storeJSON documentsGoldlag ~msSearch indexfull-text searchGoldlag ~1–15 sVector indexembeddings for RAGSilverstalenext embed jobGraph storerelationshipsGoldlag ~1 sCachehot readsSilverstale10 min expiryintegration taxper copy: serialize · network hop · autheventual consistency gapeach copy catches up on its own clock10:00:05 (five seconds later)AI agent (RAG)retrieval-augmented generationreads the vector copy: SilverreadsActs on “Silver”denies a Gold customer's fee waiverconfident wrong answer(hallucination)
    +
    One fact changescustomer tier = Gold10:00:00Document storeJSON documentsGoldlag ~msSearch indexfull-text searchGoldlag ~1–15 sVector indexembeddings for RAGSilverstalenext embed jobGraph storerelationshipsGoldlag ~1 sCachehot readsSilverstale10 min expiryintegration taxper copy: serialize · network hop · autheventual consistency gapeach copy catches up on its own clock10:00:05 (five seconds later)AI agent (RAG)retrieval-augmented generationreads the vector copy: SilverreadsActs on “Silver”denies a Gold customer's fee waiverconfident wrong answer(hallucination)
    @@ -585,7 +570,7 @@

    Unified Model Theory: the vocabulary for the rest of the day

  • Five terms; every decision today has a place in one
  • -
    Canonical Formeach fact stored oncetablesnormalized rowsone source of truthProjectionengine-maintained mappingduality viewmaterialized viewindexProjected Shapewhat a consumer readsdocument · graphvector · rowsAccess Surfacethe API the app speaksSQL · SQL/JSONSQL/PGQ (graph queries)MongoDB APIA consumer's queryAccess Dimension: the kind of question it askspointrangeaggregatetraversesimilarityasksModel once.Project many.
    +
    Canonical Formeach fact stored oncetablesnormalized rowsone source of truthProjectionengine-maintained mappingduality viewmaterialized viewindexProjected Shapewhat a consumer readsdocument · graphvector · rowsAccess Surfacethe API the app speaksSQL · SQL/JSONSQL/PGQ (graph queries)MongoDB APIA consumer's queryAccess Dimension: the kind of question it askspointrangeaggregatetraversesimilarityasksModel once.Project many.
    From 5dd47957dd306f16d34cf42d7bdf7624ddcda9c2 Mon Sep 17 00:00:00 2001 From: Rick Houlihan Date: Wed, 30 Sep 2026 18:37:44 -0500 Subject: [PATCH 10/12] converged-modeling-patterns: UMT vocabulary: canonical form is the logical model; tables, documents and graphs are projections Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01BeoRFyVLAZ7nma6UueR1P6 --- labs/converged-modeling-patterns/README.md | 10 +- .../01-extended-reference/02-converged.sql | 4 +- .../01-extended-reference/figures/erd.svg | 2 +- .../01-extended-reference/figures/flow.svg | 2 +- .../patterns/02-computed/figures/erd.svg | 2 +- .../patterns/02-computed/figures/flow.svg | 2 +- .../patterns/03-bucket/README.md | 2 +- .../patterns/03-bucket/figures/erd.svg | 2 +- .../patterns/03-bucket/figures/flow.svg | 2 +- .../patterns/04-subset/figures/erd.svg | 2 +- .../patterns/04-subset/figures/flow.svg | 2 +- .../05-tree-hierarchy/figures/flow.svg | 2 +- .../patterns/06-outlier/figures/erd.svg | 2 +- .../patterns/06-outlier/figures/flow.svg | 2 +- .../converged-data-modeling-workshop1.html | 93 ++++++++++--------- 15 files changed, 67 insertions(+), 64 deletions(-) diff --git a/labs/converged-modeling-patterns/README.md b/labs/converged-modeling-patterns/README.md index cec0b9f..c123fa4 100644 --- a/labs/converged-modeling-patterns/README.md +++ b/labs/converged-modeling-patterns/README.md @@ -26,10 +26,12 @@ together.** Embed and you get atomic reads, until the document grows, hits 16 MB takes write amplification on every change. Reference and you get small writes, but now you need a join the engine may not love. -Convergence adds a **third resolution the catalog never had: _project it._** Store -the domain in canonical form once; project the shape each consumer wants (document, -graph, time-series, relational) at read time, over the same rows, in the same -transaction. **Duality does not change the physics knobs. It changes how the knobs +Convergence adds a **third resolution the catalog never had: _project it._** Model +the domain once, in canonical form: its entities, properties and relationships. Store +it once, as rows; duality views and property graphs are further projections of those +same rows. Each consumer's query, run through SQL, SQL/JSON, SQL/PGQ or the MongoDB +API, reads the shape it wants (document, graph, time-series, relational) at read time, +in the same transaction. **Duality does not change the physics knobs. It changes how the knobs get set.** The three knobs, on every design: diff --git a/labs/converged-modeling-patterns/patterns/01-extended-reference/02-converged.sql b/labs/converged-modeling-patterns/patterns/01-extended-reference/02-converged.sql index 88e542d..0bce271 100644 --- a/labs/converged-modeling-patterns/patterns/01-extended-reference/02-converged.sql +++ b/labs/converged-modeling-patterns/patterns/01-extended-reference/02-converged.sql @@ -27,7 +27,7 @@ BEGIN END; / --- Canonical form: advisor stored ONCE. +-- Relational projection: the advisor is stored ONCE, as one row. CREATE TABLE xr_advisors ( advisor_id VARCHAR2(12) PRIMARY KEY, full_name VARCHAR2(120) NOT NULL, @@ -70,7 +70,7 @@ SELECT JSON { -- @note Same shape as the document model's read: the advisor block is a live projection through the FK, not a stored copy. -- @why Diversity is served without copies: the duality view assembles the advisor block through the foreign key on every read. That primary-key join is real read work, about 15% more per read in the deck's model. -- @look The same client and advisor_office columns as the document model's read, now from xr_client_dv. --- @figure erd.svg Advisor, client, account and trade stored once, beside the fan-out one advisor change causes in the embedded model +-- @figure erd.svg Advisor, client, account and trade in canonical form, each fact once, beside the fan-out one advisor change causes in the embedded model SELECT JSON_VALUE(data, '$.fullName') AS client, JSON_VALUE(data, '$.advisor.office') AS advisor_office FROM xr_client_dv; diff --git a/labs/converged-modeling-patterns/patterns/01-extended-reference/figures/erd.svg b/labs/converged-modeling-patterns/patterns/01-extended-reference/figures/erd.svg index 19a0ada..174329e 100644 --- a/labs/converged-modeling-patterns/patterns/01-extended-reference/figures/erd.svg +++ b/labs/converged-modeling-patterns/patterns/01-extended-reference/figures/erd.svg @@ -1 +1 @@ -CANONICAL FORM: EACH FACT ONCETHE SAME FACT, EMBEDDEDADVISORPKadvisor_idvarchar2full_namevarchar2officevarchar2desk_phonevarchar2regionvarchar2CLIENTPKclient_idvarchar2full_namevarchar2segmentvarchar2FKadvisor_idvarchar2emailvarchar2ACCOUNTPKaccount_idvarchar2FKclient_idvarchar2acct_typevarchar2balancenumberTRADEPKtrade_idvarchar2FKaccount_idvarchar2symbolvarchar2quantitynumberexec_pricenumberadvisors · A-317office: Leeds → Manchester790client docs1,920account docs≈ 2,700 document rewritesper change · not one transactionCanonical form: 1 row updateatomic · every consumer sees itmutable reference data: copying it is what creates write amplificationimmutable snapshot: safe to copy \ No newline at end of file +CANONICAL FORM: EACH FACT ONCETHE SAME FACT, EMBEDDEDADVISORPKadvisor_idvarchar2full_namevarchar2officevarchar2desk_phonevarchar2regionvarchar2CLIENTPKclient_idvarchar2full_namevarchar2segmentvarchar2FKadvisor_idvarchar2emailvarchar2ACCOUNTPKaccount_idvarchar2FKclient_idvarchar2acct_typevarchar2balancenumberTRADEPKtrade_idvarchar2FKaccount_idvarchar2symbolvarchar2quantitynumberexec_pricenumberadvisors · A-317office: Leeds → Manchester790client docs1,920account docs≈ 2,700 document rewritesper change · not one transactionRelational projection1 row update · atomicevery consumer sees itmutable reference data: copying it is what creates write amplificationimmutable snapshot: safe to copy \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/01-extended-reference/figures/flow.svg b/labs/converged-modeling-patterns/patterns/01-extended-reference/figures/flow.svg index 9f3ac2b..9ba13f7 100644 --- a/labs/converged-modeling-patterns/patterns/01-extended-reference/figures/flow.svg +++ b/labs/converged-modeling-patterns/patterns/01-extended-reference/figures/flow.svg @@ -1 +1 @@ -CANONICAL TABLESPROJECTIONCONSUMERSadvisorsoffice lives hereclientsadvisor_id FKaccountsclient_id FKclient_dvduality viewadvisor @noupdatePortalMongo API find()AI copilotSQL/JSONStatementsSQL batch \ No newline at end of file +RELATIONAL PROJECTIONPROJECTIONCONSUMERSadvisorsoffice lives hereclientsadvisor_id FKaccountsclient_id FKclient_dvduality viewadvisor @noupdatePortalMongo API find()AI copilotSQL/JSONStatementsSQL batch \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/02-computed/figures/erd.svg b/labs/converged-modeling-patterns/patterns/02-computed/figures/erd.svg index a311cb5..c6ad51b 100644 --- a/labs/converged-modeling-patterns/patterns/02-computed/figures/erd.svg +++ b/labs/converged-modeling-patterns/patterns/02-computed/figures/erd.svg @@ -1 +1 @@ -CANONICAL FORM: FACTS APPENDED, ROLLUP DERIVEDTHE SAME ROLLUP, EMBEDDEDSUBSCRIBERPKsubscriber_idvarchar2msisdnvarchar2planvarchar2cyclevarchar2CDR · append-onlyPKcdr_idnumberFKsubscriber_idvarchar2mbnumberminutesnumbercostnumbercdr_tstimestampSUBSCRIBER_USAGEPKsubscriber_idvarchar2total_mbnumbertotal_minnumbercostnumberAFTER INSERT trigger+1 counter row, same txnCDR stream1,500/s avg · 6k/s peakS-4471902 · one hot document400+ whole-doc rewrites / dayshard 1shard 2shard 3shard Nbalance read = N reads + SUMa write problem traded for a read oneCanonical: append 1 row+ bump 1 counter row · atomicmutable rollup: every CDR writes itimmutable CDR facts: append, never rewrite \ No newline at end of file +CANONICAL FORM: FACTS APPENDED, ROLLUP DERIVEDTHE SAME ROLLUP, EMBEDDEDSUBSCRIBERPKsubscriber_idvarchar2msisdnvarchar2planvarchar2cyclevarchar2CDR · append-onlyPKcdr_idnumberFKsubscriber_idvarchar2mbnumberminutesnumbercostnumbercdr_tstimestampSUBSCRIBER_USAGEPKsubscriber_idvarchar2total_mbnumbertotal_minnumbercostnumberAFTER INSERT trigger+1 counter row, same txnCDR stream1,500/s avg · 6k/s peakS-4471902 · one hot document400+ whole-doc rewrites / dayshard 1shard 2shard 3shard Nbalance read = N reads + SUMa write problem traded for a read oneRelational projectionappend 1 row + bump 1counter row · atomicmutable rollup: every CDR writes itimmutable CDR facts: append, never rewrite \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/02-computed/figures/flow.svg b/labs/converged-modeling-patterns/patterns/02-computed/figures/flow.svg index 35185ea..051f2b9 100644 --- a/labs/converged-modeling-patterns/patterns/02-computed/figures/flow.svg +++ b/labs/converged-modeling-patterns/patterns/02-computed/figures/flow.svg @@ -1 +1 @@ -CANONICAL TABLESMAINTAINED · PROJECTEDCONSUMERScdrappend-only rowssubscriber_usagethe rollup · 1 rowsubscribersmsisdn · planix_usage_topntotal_mb DESCsubscriber_dvduality viewcycleUsage NOUPDATEBill runSQL over cdrOps Top-Nindex range scanSelf-care appMongo API find()ChargingSQL/JSONtriggersame txn \ No newline at end of file +RELATIONAL PROJECTIONMAINTAINED · PROJECTEDCONSUMERScdrappend-only rowssubscriber_usagethe rollup · 1 rowsubscribersmsisdn · planix_usage_topntotal_mb DESCsubscriber_dvduality viewcycleUsage NOUPDATEBill runSQL over cdrOps Top-Nindex range scanSelf-care appMongo API find()ChargingSQL/JSONtriggersame txn \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/README.md b/labs/converged-modeling-patterns/patterns/03-bucket/README.md index 2761ee2..dba5ba0 100644 --- a/labs/converged-modeling-patterns/patterns/03-bucket/README.md +++ b/labs/converged-modeling-patterns/patterns/03-bucket/README.md @@ -38,7 +38,7 @@ measure: **Manufacturing / IoT.** Ingest millions of tiny sensor readings; read them back as per-machine, per-hour summaries. -> The canonical write-amplification pattern. Let the engine amortize, not your schema. +> The textbook write-amplification pattern. Let the engine amortize, not your schema. ## The document bet diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/figures/erd.svg b/labs/converged-modeling-patterns/patterns/03-bucket/figures/erd.svg index 1be534f..f7386c0 100644 --- a/labs/converged-modeling-patterns/patterns/03-bucket/figures/erd.svg +++ b/labs/converged-modeling-patterns/patterns/03-bucket/figures/erd.svg @@ -1 +1 @@ -CANONICAL FORM: EACH READING ONCE, NEVER REWRITTENONE HOT SENSOR-HOUR, BUCKETEDPLANTPKplant_idvarchar2namevarchar2regionvarchar2MACHINEPKmachine_idvarchar2FKplant_idvarchar2modelvarchar2line_nonumberSENSOR_READINGSPKreading_idnumberFKmachine_idvarchar2metricvarchar2reading_valnumberreading_tstimestampHOURLY_MV · derivedmachine_idvarchar2hour_startdatennumbersum_valnumbermax_valnumberGROUP BY hour · on readM-118 · spindle vibration10 readings / s1 bucket documentcount·sum·min·maxreadings[ ]every reading rewrites bothO(n²) rewrite volume36,000 rewrites · 4.3 MB bucket≈ 78 GB if each push rewrites itCanonical: 36,000 row inserts≈ 9 MB · appended to one partitionKey:red: rewritten on every reading (the bucket's counters and array)green: immutable (SENSOR_READINGS rows, inserted once) \ No newline at end of file +CANONICAL FORM: EACH READING ONCE, NEVER REWRITTENONE HOT SENSOR-HOUR, BUCKETEDPLANTPKplant_idvarchar2namevarchar2regionvarchar2MACHINEPKmachine_idvarchar2FKplant_idvarchar2modelvarchar2line_nonumberSENSOR_READINGSPKreading_idnumberFKmachine_idvarchar2metricvarchar2reading_valnumberreading_tstimestampHOURLY_MV · derivedmachine_idvarchar2hour_startdatennumbersum_valnumbermax_valnumberGROUP BY hour · on readM-118 · spindle vibration10 readings / s1 bucket documentcount·sum·min·maxreadings[ ]every reading rewrites bothO(n²) rewrite volume36,000 rewrites · 4.3 MB bucket≈ 78 GB if each push rewrites itRelational projection36,000 row inserts · ≈ 9 MBappended to one partitionKey:red: rewritten on every reading (the bucket's counters and array)green: immutable (SENSOR_READINGS rows, inserted once) \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/figures/flow.svg b/labs/converged-modeling-patterns/patterns/03-bucket/figures/flow.svg index 573cd02..a5a5903 100644 --- a/labs/converged-modeling-patterns/patterns/03-bucket/figures/flow.svg +++ b/labs/converged-modeling-patterns/patterns/03-bucket/figures/flow.svg @@ -1 +1 @@ -CANONICAL TABLESSUMMARYCONSUMERSmachinesplant · line · modelsensor_readingsappend-only rowsINTERVAL 1 hGROUP BY hourpartition-prunedparallelhourly_mvsummary MVDashboardsSQL · last hourAnomaly scanMongo API $sqlShift reportSQL · MV \ No newline at end of file +RELATIONAL PROJECTIONSUMMARYCONSUMERSmachinesplant · line · modelsensor_readingsappend-only rowsINTERVAL 1 hGROUP BY hourpartition-prunedparallelhourly_mvsummary MVDashboardsSQL · last hourAnomaly scanMongo API $sqlShift reportSQL · MV \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/04-subset/figures/erd.svg b/labs/converged-modeling-patterns/patterns/04-subset/figures/erd.svg index 8c0b86b..be23c6d 100644 --- a/labs/converged-modeling-patterns/patterns/04-subset/figures/erd.svg +++ b/labs/converged-modeling-patterns/patterns/04-subset/figures/erd.svg @@ -1 +1 @@ -CANONICAL FORM: EACH EVENT ONCEONE CLAIM EVENT, TWO MODELSPOLICYPKpolicy_idvarchar2holdervarchar2productvarchar2premiumnumberstatusvarchar2CLAIMPKclaim_idvarchar2FKpolicy_idvarchar2loss_datedatestatusvarchar2reservenumberCLAIM_EVENT · append-onlyPKevent_idvarchar2FKclaim_idvarchar2FKpolicy_idvarchar2event_typevarchar2amountnumberevent_tstimestampINDEXpolicy_id, event_ts DESCclaim event · CLM-5581payment · $2,400policy docpush · sort · trimwhole doc rewrittenhistory docinsert full eventsecond place2 writes, 2 places, per eventthe hot doc absorbs every oneCanonical form: 1 row insert+ 1 index entry · the recent 10is derived on read, not maintainedmutable claim state: updated in placeimmutable event facts: append once, never rewritten \ No newline at end of file +CANONICAL FORM: EACH EVENT ONCEONE CLAIM EVENT, TWO MODELSPOLICYPKpolicy_idvarchar2holdervarchar2productvarchar2premiumnumberstatusvarchar2CLAIMPKclaim_idvarchar2FKpolicy_idvarchar2loss_datedatestatusvarchar2reservenumberCLAIM_EVENT · append-onlyPKevent_idvarchar2FKclaim_idvarchar2FKpolicy_idvarchar2event_typevarchar2amountnumberevent_tstimestampINDEXpolicy_id, event_ts DESCclaim event · CLM-5581payment · $2,400policy docpush · sort · trimwhole doc rewrittenhistory docinsert full eventsecond place2 writes, 2 places, per eventthe hot doc absorbs every oneRelational projection1 row insert + 1 index entrythe recent 10 is derived on read,not maintainedmutable claim state: updated in placeimmutable event facts: append once, never rewritten \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/04-subset/figures/flow.svg b/labs/converged-modeling-patterns/patterns/04-subset/figures/flow.svg index 106650b..0effc60 100644 --- a/labs/converged-modeling-patterns/patterns/04-subset/figures/flow.svg +++ b/labs/converged-modeling-patterns/patterns/04-subset/figures/flow.svg @@ -1 +1 @@ -CANONICAL TABLESPROJECTIONCONSUMERSpoliciesheader, onceclaim_eventsappend · DESC indexclaimsstatus · reservepolicy summarySQL/JSONFETCH FIRST 10full historysame query,no FETCH FIRSTAgents · appSQL/JSON docAdjustersSQL · auditFraud reviewSQL analytics \ No newline at end of file +RELATIONAL PROJECTIONPROJECTIONCONSUMERSpoliciesheader, onceclaim_eventsappend · DESC indexclaimsstatus · reservepolicy summarySQL/JSONFETCH FIRST 10full historysame query,no FETCH FIRSTAgents · appSQL/JSON docAdjustersSQL · auditFraud reviewSQL analytics \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/figures/flow.svg b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/figures/flow.svg index 6369118..b2add58 100644 --- a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/figures/flow.svg +++ b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/figures/flow.svg @@ -1 +1 @@ -CANONICAL TABLESSAME ROWS, TWO READSCONSUMERSbom_edgesparent → childECO writes hereparts1.2M rowsCONNECT BYexplode · roll upone recursive passbom_graphSQL/PGQ graphwhere-used, N hopsPlanningSQL · explodeCost rollupSQL · nightlyRecall deskwhere-usedSQL/PGQ \ No newline at end of file +RELATIONAL PROJECTIONSAME ROWS, TWO READSCONSUMERSbom_edgesparent → childECO writes hereparts1.2M rowsCONNECT BYexplode · roll upone recursive passbom_graphSQL/PGQ graphwhere-used, N hopsPlanningSQL · explodeCost rollupSQL · nightlyRecall deskwhere-usedSQL/PGQ \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/06-outlier/figures/erd.svg b/labs/converged-modeling-patterns/patterns/06-outlier/figures/erd.svg index 797297e..6ac9966 100644 --- a/labs/converged-modeling-patterns/patterns/06-outlier/figures/erd.svg +++ b/labs/converged-modeling-patterns/patterns/06-outlier/figures/erd.svg @@ -1 +1 @@ -CANONICAL FORM: A CLIENT IS A ROWTHE SAME BOOK, AS DOCUMENTSDESKPKdesk_idvarchar2desk_namevarchar2book_typevarchar2ADVISORPKadvisor_idvarchar2FKdesk_idvarchar2full_namevarchar2regionvarchar2CLIENTPKclient_idvarchar2FKadvisor_idvarchar2full_namevarchar2aumnumberaum_as_ofdateopened_ondateINDEX (advisor_id, aum DESC)any book, any size: one range scanp50 advisor · 180 clients1 document · ~72 KB · one readteam book · 148k clientsadvisor doc: first 20k + hasExtras#part-220k clients#part-320k clients… #part-820k clientsapplication branchif hasExtras: 1 + 7 fetches, merge-sortCanonical form: 1 query, any booksame index range scan · no branchmutable: rewritten nightly, inside the biggest documentsimmutable: safe to copy anywhere \ No newline at end of file +CANONICAL FORM: A CLIENT IS ITS OWN ENTITYTHE SAME BOOK, AS DOCUMENTSDESKPKdesk_idvarchar2desk_namevarchar2book_typevarchar2ADVISORPKadvisor_idvarchar2FKdesk_idvarchar2full_namevarchar2regionvarchar2CLIENTPKclient_idvarchar2FKadvisor_idvarchar2full_namevarchar2aumnumberaum_as_ofdateopened_ondateINDEX (advisor_id, aum DESC)any book, any size: one range scanp50 advisor · 180 clients1 document · ~72 KB · one readteam book · 148k clientsadvisor doc: first 20k + hasExtras#part-220k clients#part-320k clients… #part-820k clientsapplication branchif hasExtras: 1 + 7 fetches, merge-sortRelational projection1 query, any booksame index range scan · no branchmutable: rewritten nightly, inside the biggest documentsimmutable: safe to copy anywhere \ No newline at end of file diff --git a/labs/converged-modeling-patterns/patterns/06-outlier/figures/flow.svg b/labs/converged-modeling-patterns/patterns/06-outlier/figures/flow.svg index 76c47e3..eb1bd54 100644 --- a/labs/converged-modeling-patterns/patterns/06-outlier/figures/flow.svg +++ b/labs/converged-modeling-patterns/patterns/06-outlier/figures/flow.svg @@ -1 +1 @@ -CANONICAL TABLESPROJECTIONCONSUMERSadvisorsone row eachclientsidx advisor_id,aum DESCadvisor_dvduality viewbook as a documenttop-N queryFETCH FIRST ·OFFSET pagesCRMMongo API find()AI assistantSQL/JSONBook screenSQL · any size \ No newline at end of file +RELATIONAL PROJECTIONPROJECTIONCONSUMERSadvisorsone row eachclientsidx advisor_id,aum DESCadvisor_dvduality viewbook as a documenttop-N queryFETCH FIRST ·OFFSET pagesCRMMongo API find()AI assistantSQL/JSONBook screenSQL · any size \ No newline at end of file diff --git a/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html b/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html index 0e5684d..a988a2f 100644 --- a/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html +++ b/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html @@ -473,9 +473,9 @@

    The choice was never "relational or document"

  • Model once, project many: the workload picks the shape
  • -
    THE OLD FRAMEA database per workloadDocumentSearchGraphVectorRelationalintegration taxserialize · hop · authconsistency gapcopies disagree meanwhilereframeTHE FRAME FOR TODAYModel once, project manyCanonical formnormalized tableseach fact onceDocumentGraphVectorRelationalone transaction · one optimizerTODAY'S MAPa modeling session, not a product pitch1Why nowtimeline · UMT2The physicsthree knobs3The pattern walksix industries4How you knowthe bake-offThe rule all day:the workload chooses the shape; measure, don't guess.
    +
    THE OLD FRAMEA database per workloadDocumentSearchGraphVectorRelationalintegration taxserialize · hop · authconsistency gapcopies disagree meanwhilereframeTHE FRAME FOR TODAYModel once, project manyCanonical formentities · relationshipseach fact oncePROJECTIONS, READ AS SHAPESDocumentGraphVectorRelationalone transaction · one optimizerTODAY'S MAPa modeling session, not a product pitch1Why nowtimeline · UMT2The physicsthree knobs3The pattern walksix industries4How you knowthe bake-offThe rule all day:the workload chooses the shape; measure, don't guess.
    - +
    @@ -512,39 +512,40 @@

    Why we ever denormalized: the economics flipped

    Act 1 · Why converged, why now0:12 – 0:15

    Codd already drew the map

      -
    • Canonical form: each fact stored once, normalized
    • -
    • Document, graph, vector: views over it, kept by the engine
    • +
    • Canonical form: the entities, properties and relationships, each fact once
    • +
    • Tables, documents, graph, vectors: projections of it, kept by the engine
    - + - - - Canonical Form - normalized · one source of truth + + + Canonical Form + entities · properties + relationships · the logical model - - - - + + + + - - Document - Graph - Vector - Relational + + Relationaltables & rows + DocumentJSON · duality views + Graphnodes & edges + Vectorembedding index - projection = a declarative shape mapping, maintained by the engine + projection = one physical representation of the same facts, maintained by the engine
    - +
    @@ -570,9 +571,9 @@

    Unified Model Theory: the vocabulary for the rest of the day

  • Five terms; every decision today has a place in one
  • -
    Canonical Formeach fact stored oncetablesnormalized rowsone source of truthProjectionengine-maintained mappingduality viewmaterialized viewindexProjected Shapewhat a consumer readsdocument · graphvector · rowsAccess Surfacethe API the app speaksSQL · SQL/JSONSQL/PGQ (graph queries)MongoDB APIA consumer's queryAccess Dimension: the kind of question it askspointrangeaggregatetraversesimilarityasksModel once.Project many.
    +
    queries on the access surface render the shapeCanonical Formthe logical modelentitiespropertiesrelationshipsProjectionshow the data is storedtables / rowsdocumentsgraph nodes & edgesAccess Surfacehow consumers askSQL · SQL/JSONSQL/PGQ (graph queries)MongoDB APIProjected Shapewhat the consumer readsa document · a grapha vector resulta rowsetA consumer's queryAccess Dimension: the kind of question it askspointrangeaggregatetraversesimilarityasksModel once.Project many.
    - +
    @@ -746,12 +747,12 @@

    Reference

    Resolution 3 · new

    Project it

    -

    Store the fact once in canonical form; let a duality view project it into the document shape, live, maintained by the engine. Read shape without write penalty.

    +

    Model the fact once in canonical form and store it once, as a row; a duality view projects it as a document, live, maintained by the engine. Read shape without write penalty.

    Same three knobs. But now embed/reference isn't a permanent architectural fork; it's a projection choice you can change without a migration. The needle you couldn't move before is now a setting.

    - +
    @@ -805,12 +806,12 @@

    Wealth management: one advisor card, 2,700 copies

    Act 3 · Pattern 1: Extended Reference · B. The model0:37 – 0:38

    Canonical form vs. the copy: where one edit lands

    -

    Canonical form keeps the advisor's office in one row. Extended Reference copies it into every client and account document. Copying the immutable costs nothing later; copying the mutable is write amplification.

    +

    In canonical form the advisor's office is one fact; the relational projection stores it in one row. Extended Reference copies it into every client and account document. Copying the immutable costs nothing later; copying the mutable is write amplification.

    -
    CANONICAL FORM: EACH FACT ONCETHE SAME FACT, EMBEDDEDADVISORPKadvisor_idvarchar2full_namevarchar2officevarchar2desk_phonevarchar2regionvarchar2CLIENTPKclient_idvarchar2full_namevarchar2segmentvarchar2FKadvisor_idvarchar2emailvarchar2ACCOUNTPKaccount_idvarchar2FKclient_idvarchar2acct_typevarchar2balancenumberTRADEPKtrade_idvarchar2FKaccount_idvarchar2symbolvarchar2quantitynumberexec_pricenumberadvisors · A-317office: Leeds → Manchester790client docs1,920account docs≈ 2,700 document rewritesper change · not one transactionCanonical form: 1 row updateatomic · every consumer sees itmutable reference data: copying it is what creates write amplificationimmutable snapshot: safe to copy
    +
    CANONICAL FORM: EACH FACT ONCETHE SAME FACT, EMBEDDEDADVISORPKadvisor_idvarchar2full_namevarchar2officevarchar2desk_phonevarchar2regionvarchar2CLIENTPKclient_idvarchar2full_namevarchar2segmentvarchar2FKadvisor_idvarchar2emailvarchar2ACCOUNTPKaccount_idvarchar2FKclient_idvarchar2acct_typevarchar2balancenumberTRADEPKtrade_idvarchar2FKaccount_idvarchar2symbolvarchar2quantitynumberexec_pricenumberadvisors · A-317office: Leeds → Manchester790client docs1,920account docs≈ 2,700 document rewritesper change · not one transactionRelational projection1 row update · atomicevery consumer sees itmutable reference data: copying it is what creates write amplificationimmutable snapshot: safe to copy

    Snapshot the immutable, reference the mutable. The trade's execution price belongs in the document; the advisor's office does not.

    - +
    @@ -834,7 +835,7 @@

    Project the mutable: same document, one row to change

    -

    1 · Canonical tables: each fact once

    +

    1 · Relational projection: each fact once

    xr_advisors

    @@ -890,7 +891,7 @@

    Project the mutable: same document, one row to change

    - + @@ -914,12 +915,12 @@

    Telecom: a counter on the hottest document you own

    Act 3 · Pattern 2: Computed · B. The model0:42 – 0:43

    Facts vs. the rollup: where every CDR lands

    -

    In canonical form a CDR is an immutable fact, appended once, and the cycle rollup is one narrow derived row. Embedded, the rollup lives in the subscriber document, so every CDR rewrites it, and sharding the counter only moves the pain to the read.

    +

    In canonical form a CDR is an immutable fact, appended once, and the cycle rollup is one derived value in one narrow row. Embedded, the rollup lives in the subscriber document, so every CDR rewrites it; sharding the counter moves the pain to the read.

    -
    CANONICAL FORM: FACTS APPENDED, ROLLUP DERIVEDTHE SAME ROLLUP, EMBEDDEDSUBSCRIBERPKsubscriber_idvarchar2msisdnvarchar2planvarchar2cyclevarchar2CDR · append-onlyPKcdr_idnumberFKsubscriber_idvarchar2mbnumberminutesnumbercostnumbercdr_tstimestampSUBSCRIBER_USAGEPKsubscriber_idvarchar2total_mbnumbertotal_minnumbercostnumberAFTER INSERT trigger+1 counter row, same txnCDR stream1,500/s avg · 6k/s peakS-4471902 · one hot document400+ whole-doc rewrites / dayshard 1shard 2shard 3shard Nbalance read = N reads + SUMa write problem traded for a read oneCanonical: append 1 row+ bump 1 counter row · atomicmutable rollup: every CDR writes itimmutable CDR facts: append, never rewrite
    +
    CANONICAL FORM: FACTS APPENDED, ROLLUP DERIVEDTHE SAME ROLLUP, EMBEDDEDSUBSCRIBERPKsubscriber_idvarchar2msisdnvarchar2planvarchar2cyclevarchar2CDR · append-onlyPKcdr_idnumberFKsubscriber_idvarchar2mbnumberminutesnumbercostnumbercdr_tstimestampSUBSCRIBER_USAGEPKsubscriber_idvarchar2total_mbnumbertotal_minnumbercostnumberAFTER INSERT trigger+1 counter row, same txnCDR stream1,500/s avg · 6k/s peakS-4471902 · one hot document400+ whole-doc rewrites / dayshard 1shard 2shard 3shard Nbalance read = N reads + SUMa write problem traded for a read oneRelational projectionappend 1 row + bump 1counter row · atomicmutable rollup: every CDR writes itimmutable CDR facts: append, never rewrite

    Append the facts, derive the rollup. The CDR belongs in an append-only table; the running total belongs in a row the engine maintains, not inside the document it rewrites.

    - +
    @@ -942,7 +943,7 @@

    Append the CDR, maintain the rollup: staleness zero

    -
    CANONICAL TABLESMAINTAINED · PROJECTEDCONSUMERScdrappend-only rowssubscriber_usagethe rollup · 1 rowsubscribersmsisdn · planix_usage_topntotal_mb DESCsubscriber_dvduality viewcycleUsage NOUPDATEBill runSQL over cdrOps Top-Nindex range scanSelf-care appMongo API find()ChargingSQL/JSONtriggersame txn
    +
    RELATIONAL PROJECTIONMAINTAINED · PROJECTEDCONSUMERScdrappend-only rowssubscriber_usagethe rollup · 1 rowsubscribersmsisdn · planix_usage_topntotal_mb DESCsubscriber_dvduality viewcycleUsage NOUPDATEBill runSQL over cdrOps Top-Nindex range scanSelf-care appMongo API find()ChargingSQL/JSONtriggersame txn
    When to flip back: a rarely written total (light subscribers, a closed cycle's final bill) can live on the document.
    @@ -986,12 +987,12 @@

    Manufacturing IoT: one bucket, 36,000 rewrites

    Act 3 · Pattern 3: Bucket · B. The model0:47 – 0:48

    Immutable readings, mutable bucket

    -

    In canonical form a reading is an immutable row, inserted once; the hourly counters are derived. The bucket turns those immutable facts into one ever-growing document that every reading rewrites.

    +

    In canonical form a reading is an immutable fact; in the relational projection it is one row, inserted once. The hourly counters are derived. The bucket turns those immutable facts into one ever-growing document that every reading rewrites.

    -
    CANONICAL FORM: EACH READING ONCE, NEVER REWRITTENONE HOT SENSOR-HOUR, BUCKETEDPLANTPKplant_idvarchar2namevarchar2regionvarchar2MACHINEPKmachine_idvarchar2FKplant_idvarchar2modelvarchar2line_nonumberSENSOR_READINGSPKreading_idnumberFKmachine_idvarchar2metricvarchar2reading_valnumberreading_tstimestampHOURLY_MV · derivedmachine_idvarchar2hour_startdatennumbersum_valnumbermax_valnumberGROUP BY hour · on readM-118 · spindle vibration10 readings / s1 bucket documentcount·sum·min·maxreadings[ ]every reading rewrites bothO(n²) rewrite volume36,000 rewrites · 4.3 MB bucket≈ 78 GB if each push rewrites itCanonical: 36,000 row inserts≈ 9 MB · appended to one partitionKey:red: rewritten on every reading (the bucket's counters and array)green: immutable (SENSOR_READINGS rows, inserted once)
    +
    CANONICAL FORM: EACH READING ONCE, NEVER REWRITTENONE HOT SENSOR-HOUR, BUCKETEDPLANTPKplant_idvarchar2namevarchar2regionvarchar2MACHINEPKmachine_idvarchar2FKplant_idvarchar2modelvarchar2line_nonumberSENSOR_READINGSPKreading_idnumberFKmachine_idvarchar2metricvarchar2reading_valnumberreading_tstimestampHOURLY_MV · derivedmachine_idvarchar2hour_startdatennumbersum_valnumbermax_valnumberGROUP BY hour · on readM-118 · spindle vibration10 readings / s1 bucket documentcount·sum·min·maxreadings[ ]every reading rewrites bothO(n²) rewrite volume36,000 rewrites · 4.3 MB bucket≈ 78 GB if each push rewrites itRelational projection36,000 row inserts · ≈ 9 MBappended to one partitionKey:red: rewritten on every reading (the bucket's counters and array)green: immutable (SENSOR_READINGS rows, inserted once)

    Immutable facts, mutable container. The write amplification comes from the bucket, not from the data. Derive the counters instead of storing them.

    - +
    @@ -1014,7 +1015,7 @@

    Let the partition be the bucket, and put SQL in the pipeline

    -
    CANONICAL TABLESSUMMARYCONSUMERSmachinesplant · line · modelsensor_readingsappend-only rowsINTERVAL 1 hGROUP BY hourpartition-prunedparallelhourly_mvsummary MVDashboardsSQL · last hourAnomaly scanMongo API $sqlShift reportSQL · MV
    +
    RELATIONAL PROJECTIONSUMMARYCONSUMERSmachinesplant · line · modelsensor_readingsappend-only rowsINTERVAL 1 hGROUP BY hourpartition-prunedparallelhourly_mvsummary MVDashboardsSQL · last hourAnomaly scanMongo API $sqlShift reportSQL · MV
    When to flip back: slow sensors. At one reading a minute a bucket holds 60 readings, and below ~900 readings per bucket the one-document read wins.
    @@ -1060,10 +1061,10 @@

    Insurance: ten claim events inline, rewritten on every event

    An append-only event, turned into a document rewrite

    Canonically a claim event is an immutable fact, inserted once. The Subset pattern turns it into two writes: a push-sort-trim rewrite of the policy document and a history insert, to maintain a list an index could simply read.

    -
    CANONICAL FORM: EACH EVENT ONCEONE CLAIM EVENT, TWO MODELSPOLICYPKpolicy_idvarchar2holdervarchar2productvarchar2premiumnumberstatusvarchar2CLAIMPKclaim_idvarchar2FKpolicy_idvarchar2loss_datedatestatusvarchar2reservenumberCLAIM_EVENT · append-onlyPKevent_idvarchar2FKclaim_idvarchar2FKpolicy_idvarchar2event_typevarchar2amountnumberevent_tstimestampINDEXpolicy_id, event_ts DESCclaim event · CLM-5581payment · $2,400policy docpush · sort · trimwhole doc rewrittenhistory docinsert full eventsecond place2 writes, 2 places, per eventthe hot doc absorbs every oneCanonical form: 1 row insert+ 1 index entry · the recent 10is derived on read, not maintainedmutable claim state: updated in placeimmutable event facts: append once, never rewritten
    +
    CANONICAL FORM: EACH EVENT ONCEONE CLAIM EVENT, TWO MODELSPOLICYPKpolicy_idvarchar2holdervarchar2productvarchar2premiumnumberstatusvarchar2CLAIMPKclaim_idvarchar2FKpolicy_idvarchar2loss_datedatestatusvarchar2reservenumberCLAIM_EVENT · append-onlyPKevent_idvarchar2FKclaim_idvarchar2FKpolicy_idvarchar2event_typevarchar2amountnumberevent_tstimestampINDEXpolicy_id, event_ts DESCclaim event · CLM-5581payment · $2,400policy docpush · sort · trimwhole doc rewrittenhistory docinsert full eventsecond place2 writes, 2 places, per eventthe hot doc absorbs every oneRelational projection1 row insert + 1 index entrythe recent 10 is derived on read,not maintainedmutable claim state: updated in placeimmutable event facts: append once, never rewritten

    The recent ten is a query, not a fact. Store the event once; a (policy_id, event_ts DESC) index keeps it pre-sorted. The price is one index entry per insert and a short range scan per read.

    - +
    @@ -1086,7 +1087,7 @@

    Stop maintaining the subset: insert once, read the top ten

    -
    CANONICAL TABLESPROJECTIONCONSUMERSpoliciesheader, onceclaim_eventsappend · DESC indexclaimsstatus · reservepolicy summarySQL/JSONFETCH FIRST 10full historysame query,no FETCH FIRSTAgents · appSQL/JSON docAdjustersSQL · auditFraud reviewSQL analytics
    +
    RELATIONAL PROJECTIONPROJECTIONCONSUMERSpoliciesheader, onceclaim_eventsappend · DESC indexclaimsstatus · reservepolicy summarySQL/JSONFETCH FIRST 10full historysame query,no FETCH FIRSTAgents · appSQL/JSON docAdjustersSQL · auditFraud reviewSQL analytics
    When to flip back: if the inline slice is frozen at write time and rarely changes (the three coverages printed on the declarations page), keep it in the document. A slice that changes on every event is a query.
    @@ -1129,7 +1130,7 @@

    Manufacturing BOM: the path is fast until engineering moves it

    Act 3 · Pattern 5: Tree / Hierarchy · B. The model0:57 – 0:58

    Store the edge, derive the position

    -

    Canonical form stores one row per parent → child link; position is computed by walking edges. The materialized path stores position in every part, so moving one subassembly rewrites the whole subtree beneath it.

    +

    In canonical form each parent → child link is one relationship, stored as one row in the relational projection; position is computed by walking edges. The materialized path stores position in every part, so moving one subassembly rewrites the whole subtree beneath it.

    CANONICAL FORM: EDGES, NOT BAKED PATHSTHE SAME MOVE, AS PATHSPARTPKpart_idvarchar2namevarchar2revvarchar2unit_costnumberFKsupplier_idvarchar2BOM_EDGEPKedge_idnumberparent_idvarchar2FKchild_idvarchar2qtynumberECOPKeco_idvarchar2FKedge_idnumberfrom_parentvarchar2released_attimestampparent → child · a part can have many parents (DAG)ECO-4471 · re-parent SA-7A-1 → A-21SA-7 itself10 – 40kdescendants≈ subtree-size rewritesper ECO · not one transactionAdjacency edge: 1 row updatethe subtree follows · atomicthe column an ECO writes: structure, not positionimmutable change history: safe to copy
    @@ -1157,7 +1158,7 @@

    Store the edge: recurse down, match up, move one row

    -
    CANONICAL TABLESSAME ROWS, TWO READSCONSUMERSbom_edgesparent → childECO writes hereparts1.2M rowsCONNECT BYexplode · roll upone recursive passbom_graphSQL/PGQ graphwhere-used, N hopsPlanningSQL · explodeCost rollupSQL · nightlyRecall deskwhere-usedSQL/PGQ
    +
    RELATIONAL PROJECTIONSAME ROWS, TWO READSCONSUMERSbom_edgesparent → childECO writes hereparts1.2M rowsCONNECT BYexplode · roll upone recursive passbom_graphSQL/PGQ graphwhere-used, N hopsPlanningSQL · explodeCost rollupSQL · nightlyRecall deskwhere-usedSQL/PGQ
    When to flip back: a tree that rarely moves and is read one way (a product catalogue, an org chart snapshot), keep the materialized path. Its prefix scan is the cheapest explosion there is.
    @@ -1202,12 +1203,12 @@

    Brokerage: 40,000 books of business, and 120 that don't fit

    Act 3 · Pattern 6: Outlier · B. The model1:02 – 1:03

    The book is rows; the document boundary is the outlier

    -

    Canonical form stores each client once, as a row keyed by advisor: 180 rows or 148,000, same table, same index. The document model makes the book one physical object, so the fat tail becomes overflow documents and an application branch.

    +

    A client is its own entity, stored once, as a row keyed by advisor: 180 rows or 148,000, same table, same index. The document model makes the book one physical object, so the fat tail becomes overflow documents and an application branch.

    -
    CANONICAL FORM: A CLIENT IS A ROWTHE SAME BOOK, AS DOCUMENTSDESKPKdesk_idvarchar2desk_namevarchar2book_typevarchar2ADVISORPKadvisor_idvarchar2FKdesk_idvarchar2full_namevarchar2regionvarchar2CLIENTPKclient_idvarchar2FKadvisor_idvarchar2full_namevarchar2aumnumberaum_as_ofdateopened_ondateINDEX (advisor_id, aum DESC)any book, any size: one range scanp50 advisor · 180 clients1 document · ~72 KB · one readteam book · 148k clientsadvisor doc: first 20k + hasExtras#part-220k clients#part-320k clients… #part-820k clientsapplication branchif hasExtras: 1 + 7 fetches, merge-sortCanonical form: 1 query, any booksame index range scan · no branchmutable: rewritten nightly, inside the biggest documentsimmutable: safe to copy anywhere
    +
    CANONICAL FORM: A CLIENT IS ITS OWN ENTITYTHE SAME BOOK, AS DOCUMENTSDESKPKdesk_idvarchar2desk_namevarchar2book_typevarchar2ADVISORPKadvisor_idvarchar2FKdesk_idvarchar2full_namevarchar2regionvarchar2CLIENTPKclient_idvarchar2FKadvisor_idvarchar2full_namevarchar2aumnumberaum_as_ofdateopened_ondateINDEX (advisor_id, aum DESC)any book, any size: one range scanp50 advisor · 180 clients1 document · ~72 KB · one readteam book · 148k clientsadvisor doc: first 20k + hasExtras#part-220k clients#part-320k clients… #part-820k clientsapplication branchif hasExtras: 1 + 7 fetches, merge-sortRelational projection1 query, any booksame index range scan · no branchmutable: rewritten nightly, inside the biggest documentsimmutable: safe to copy anywhere

    Outliers exist only where a physical boundary is part of the model. Remove the boundary and a 148k-client book is just a longer range scan.

    - +
    @@ -1230,7 +1231,7 @@

    The outlier is just more rows: one query, no branch

    -
    CANONICAL TABLESPROJECTIONCONSUMERSadvisorsone row eachclientsidx advisor_id,aum DESCadvisor_dvduality viewbook as a documenttop-N queryFETCH FIRST ·OFFSET pagesCRMMongo API find()AI assistantSQL/JSONBook screenSQL · any size
    +
    RELATIONAL PROJECTIONPROJECTIONCONSUMERSadvisorsone row eachclientsidx advisor_id,aum DESCadvisor_dvduality viewbook as a documenttop-N queryFETCH FIRST ·OFFSET pagesCRMMongo API find()AI assistantSQL/JSONBook screenSQL · any size
    When to flip back: if the list has a hard upper bound (ten saved watchlists, five beneficiaries), embed it. The Outlier pattern is only needed when the bound is a guess. Growth costs too: +1 client to an 800-client book is ~20× a row insert's redo (companion lab).
    From 463581adeed8a305852c8d16fa9ccb0cc6971a14 Mon Sep 17 00:00:00 2001 From: Rick Houlihan Date: Thu, 1 Oct 2026 10:20:45 -0500 Subject: [PATCH 11/12] converged-modeling-patterns: Podman support; lab explores the tradeoffs Sync from rhoulihan/converged-modeling-patterns master (d12f9af: PRs #11, #12). - Podman: lab.sh runs the stack with the plain podman/docker CLI when no compose provider is installed; run.sh falls back to it; the image builds on arm64 ($basearch in the mongosh repo). - Positioning: UMT vocabulary (canonical form = primary truth; projections = stored forms; projected shapes = what access surfaces create), every pattern framed as a tradeoff with its breakpoint and when the document shape stays; deck content (slides 14-39) carried into the lab text. - Pattern 06 flow figure: "same rows, two reads". Prose and comments only in patterns/: no SQL/JS logic changed. Co-Authored-By: Claude Opus 5.5 --- labs/converged-modeling-patterns/README.md | 125 ++++++++++++--- .../docker/Dockerfile | 3 +- .../docs/instructor-runbook.md | 7 +- labs/converged-modeling-patterns/lab.sh | 147 ++++++++++++++++++ .../01-document-model.sql | 20 ++- .../01-extended-reference/02-converged.sql | 31 ++-- .../01-extended-reference/03-parity.js | 3 +- .../patterns/01-extended-reference/README.md | 88 +++++++---- .../02-computed/01-document-model.sql | 22 ++- .../patterns/02-computed/02-converged.sql | 15 +- .../patterns/02-computed/README.md | 82 +++++++--- .../patterns/03-bucket/01-document-model.js | 4 +- .../patterns/03-bucket/01-document-model.sql | 10 +- .../patterns/03-bucket/02-converged.sql | 13 +- .../patterns/03-bucket/02-sql-in-pipeline.js | 5 +- .../patterns/03-bucket/README.md | 112 +++++++++---- .../patterns/04-subset/01-document-model.sql | 26 ++-- .../patterns/04-subset/02-converged.sql | 36 +++-- .../patterns/04-subset/README.md | 63 +++++--- .../05-tree-hierarchy/01-document-model.sql | 7 +- .../05-tree-hierarchy/02-converged.sql | 10 +- .../patterns/05-tree-hierarchy/README.md | 64 ++++++-- .../patterns/06-outlier/01-document-model.sql | 24 +-- .../patterns/06-outlier/02-converged.sql | 30 ++-- .../patterns/06-outlier/03-parity.js | 2 +- .../patterns/06-outlier/README.md | 89 +++++++---- .../patterns/06-outlier/figures/flow.svg | 2 +- .../converged-data-modeling-workshop1.html | 2 +- labs/converged-modeling-patterns/run.sh | 41 +++-- 29 files changed, 808 insertions(+), 275 deletions(-) create mode 100755 labs/converged-modeling-patterns/lab.sh diff --git a/labs/converged-modeling-patterns/README.md b/labs/converged-modeling-patterns/README.md index c123fa4..fe35dfc 100644 --- a/labs/converged-modeling-patterns/README.md +++ b/labs/converged-modeling-patterns/README.md @@ -2,9 +2,11 @@ Companion repository for the 90-minute lecture **"Model the Domain, Not the Engine: Converged Data Modeling."** Every document-modeling pattern in this repo is a -runnable, side-by-side demonstration: the document-model starting point a developer -would build, and the converged alternative that keeps the read win **without** paying -the write-amplification the pattern was quietly charging you. +runnable, side-by-side exploration of a tradeoff: the document-model design a developer +would build, a converged alternative, and what each one costs on reads **and** on +writes. Sometimes the converged alternative wins; sometimes the document shape should +stay (see *Where document still wins*). The lab measures where the needle flips +instead of assuming it. Runs on **Oracle AI Database 26ai Free**: one container, one command. Two lanes: the same data through **SQL** (`sqlplus`) and through the **Oracle API for MongoDB** @@ -27,26 +29,49 @@ takes write amplification on every change. Reference and you get small writes, b now you need a join the engine may not love. Convergence adds a **third resolution the catalog never had: _project it._** Model -the domain once, in canonical form: its entities, properties and relationships. Store -it once, as rows; duality views and property graphs are further projections of those -same rows. Each consumer's query, run through SQL, SQL/JSON, SQL/PGQ or the MongoDB -API, reads the shape it wants (document, graph, time-series, relational) at read time, -in the same transaction. **Duality does not change the physics knobs. It changes how the knobs -get set.** +the domain once, as its **canonical form**: the entities, properties and relationships +that are the primary truth. Store that truth as one or more **projections**, chosen per +access pattern: rows on tables, embedded documents, or graph nodes and edges. Each +consumer's query, processed by an **access surface** (SQL, SQL/JSON, SQL/PGQ or the +MongoDB API), creates the **projected shape** it needs (document, graph, time-series, +relational) at read time, in the same transaction. Relational is one projection among +several, not the center: **the workload picks the shape**. + +The vocabulary used throughout (Unified Model Theory, or UMT): + +| Term | Meaning | +|---|---| +| **Canonical form** | the primary truth: the logical model of entities, properties and relationships, each fact stated once. Not "the tables" | +| **Projection** | the stored form of that truth: rows on tables, embedded documents (JSON collections, duality views), graph nodes and edges | +| **Access surface** | the interface a query is processed by: SQL, SQL/JSON, SQL/PGQ, the MongoDB API | +| **Projected shape** | what a query creates when an access surface processes it: a document, a graph, a rowset, a time series | +| **Access dimension** | the kind of question the query asks: point read, range, aggregate, traverse | + +It is the query, not the storage, that makes the shape. + +No projection is free. Rendering a document from rows costs more on the read than +reading a stored document, and in exchange it ends write amplification; storing the +document makes the read cheaper and the writes heavier. Every pattern below explores +where that trade flips. **Duality does not change the physics knobs. It changes how the +knobs get set.** The three knobs, on every design: 1. **Diversity of access patterns**: how many consumers want a *different shape* of - the same truth? (Diversity pushes toward relational + projection.) + the same truth? (High diversity wants projections: one stored shape can't serve + every consumer. One dominant shape favors storing that shape.) 2. **Read/write ratio**: *where* compute should happen, write-time or read-time. 3. **Update %, and where the update lands**: the knob that quietly kills more designs than the other two combined. A high-velocity field buried in a large document is write amplification waiting to happen. +Knob 3 can veto the other two: a read-heavy, high-diversity workload still can't embed +a field that is hot and mutable. + The breakpoint to keep in your head: **maintain a precomputed structure only if `read-freq × read-cost > write-freq × maintenance-cost`.** Writes get heavy or reads -get rare, and it flips. A real cost-based optimizer moves that breakpoint by -making read-time compute cheap. +get rare, and it flips. Read-time compute is never free, but a real cost-based +optimizer lowers its cost, and that moves the breakpoint. --- @@ -72,6 +97,7 @@ command you can run here, live, on a laptop. It serves two audiences: | **The pattern walk**: six patterns, six industries | `patterns/01…06`, **1:1 with the slides**: same patterns, same industries, same hard edges | | **Bucket's `$sql`-in-pipeline value-add**: parallel analytics, no pipeline caps | `patterns/03-bucket/02-sql-in-pipeline.js`: full SQL over the Mongo wire, runnable | | **"One truth, many shapes": proven, not asserted** | The four cross-API parity scripts (`0{1,2,6}/03-parity.js`, `03/03-parity.js`): SQL result and MongoDB result asserted equal | +| **The rest of the catalog**: optional vs. obsolete | *The rest of the catalog* (below) | | **The honesty anchor**: where document still wins | *Where document still wins* (below): the single-collection guidance, in words and as a rule | | **Measure, don't guess**: the bake-off | *Measure it, don't guess it* (below) + the reason-then-measure modeling skill | | **The anonymized proof numbers** (60s→500ms, 29s→sub-400ms, 9–15×) | Cited in the per-pattern READMEs, tagged as anonymized field results | @@ -81,7 +107,7 @@ command you can run here, live, on a laptop. It serves two audiences: ```bash ./run.sh 01-extended-reference # ⭐ flagship: the SAME document, SQL == MongoDB, byte-for-byte ./run.sh 03-bucket # the $sql-in-pipeline showcase + rollup parity -./run.sh # the whole walk, both lanes → 18 passed, 0 failed +./run.sh # the whole walk, both lanes → 19 passed, 0 failed ``` Run any of these live: each `[PASS]` line is a slide's claim, executed. @@ -117,6 +143,7 @@ is not a win.* Measure your own (see below). converged-modeling-patterns/ ├── run.sh # one command: build, wait, grant, run every pattern × both lanes, graded ├── compose.yml # the 26ai + ORDS + Mongo-API service (non-default host ports) +├── lab.sh # the same stack with the plain podman/docker CLI, for hosts with no compose ├── docker/ # the image, built from scratch: DB + ORDS + mongosh, no ONNX/vector layer │ ├── Dockerfile │ ├── scripts/ # install-ords.sh, entrypoint.sh (ORDS-enable CMP_USER + mongo.enabled) @@ -157,7 +184,8 @@ is the cross-API assertion; `_capture.sql` feeds the SQL side of that assertion ./run.sh 03-bucket # run just one pattern (both lanes) ``` -`run.sh` builds and starts the container via `docker compose`, waits for the database +`run.sh` builds and starts the container via compose (or `./lab.sh` when no compose +provider is installed: see *Podman* below), waits for the database **and** the MongoDB API, grants the schema privileges the patterns use, and then, per pattern, runs the **SQL lane** (`sqlplus`) followed by the **MongoDB lane** (`mongosh`, in-container). Every script is graded: any ORA-/PLS- error or any parity mismatch is a @@ -198,9 +226,28 @@ docker exec -i -e MURI="$MURI" cmp-oracle bash -lc 'mongosh "$MURI" --quiet --fi Login: `cmp_user / CmpUser2026`, service `FREEPDB1`, schema ORDS-enabled as `CMP_USER`. Override `ORACLE_PASSWORD` / `CMP_PASSWORD` as you like. +### Podman + +Podman works with or without a compose provider. With `podman compose` (or +`docker-compose` installed as its provider) everything above works as written. Without +one, use `lab.sh`, which runs the same two services with the plain `podman` CLI: + +```bash +./lab.sh up # build images if missing (--build to force), start the database, then the console +./lab.sh status # containers, health, console URL +./lab.sh logs oracle # or: lab-ui +./lab.sh down # remove the containers; -v also deletes the database volume +``` + +`lab.sh` reads `.env` like compose does (a variable set in the shell wins) and mirrors +`compose.yml`'s images, container names, ports and volume, so the database survives a +switch between the two. `run.sh` picks compose when a provider answers and falls back +to `lab.sh` otherwise, so `./run.sh` works unchanged. The image builds on x86_64 and on +Apple silicon (arm64). `docker exec` in the commands above becomes `podman exec`. + ## Hands-on console -`docker compose up -d` also starts **`lab-ui`** (a browser console for this repo) at +`docker compose up -d` (or `./lab.sh up`) also starts **`lab-ui`** (a browser console for this repo) at **http://localhost:3100**. Every query in the six patterns, and in the lecture, can be read, copied, edited and run from there, against the same 26ai container `run.sh` uses: @@ -287,17 +334,51 @@ adjacency/graph traversal). --- +## The rest of the catalog + +The six patterns above are the ones where the tradeoff is closest. The rest of the +document pattern catalog splits into two piles on a converged engine: + +- **Still useful, now optional**: *Polymorphic* (differently shaped documents in one + collection, spanned by a multivalue index), *Attribute* (key/value pairs get a real + index instead of a scan), *Schema Versioning* (an `IS JSON` check plus a + discriminator, with a view presenting one shape), *Document Versioning* (temporal + validity and Flashback give the history without a second collection of copies). +- **Obsolete**: *Approximation* (native `APPROX_COUNT_DISTINCT` and the other + approximate aggregates answer directly), *Pre-Allocation* (padding documents so they + would not move on disk was an artifact of one early storage engine; when the engine + changed, the pattern vanished). + +Patterns are bets against an engine's limits, not laws of modeling. + +--- + ## Where document still wins (the honesty anchor) This is not "relational beats document." It is *shape per access pattern, on one engine.* The document model is the right tool for most reads, and for a real class of -writes. The white-hot case (a shopping cart or event stream taking tens of millions -of tiny add/remove operations a day and read constantly) belongs in a **single -collection** (one small document per line item, keyed `cart#sku`), **not** a duality -view. A duality view is a read-time join; do not put one in front of a write-storm. -**A single collection is not a duality view**: a duality view assembles a document by -joining normalized tables; a single collection gathers documents on an index. Both -are first-class here. +writes. The white-hot case (a shopping cart taking tens of millions of tiny add/remove +operations a day and read constantly) belongs in a **single collection**: on 26ai, a +JSON collection table (`CREATE JSON COLLECTION TABLE carts`) holding each cart as one +self-contained document, written through the MongoDB API and readable with SQL/JSON. +Same table, two access surfaces, one engine. + +Its knobs say embed. **Diversity** is low (one owner, one screen); **reads and writes** +are both hot, so there is nothing to precompute; **update locality** is private (an +update touches one cart, never a shared fact). Nothing is shared and nothing is +copied, so embedding costs nothing extra. Same three knobs as Extended Reference, +different settings, opposite answer. + +**Joins are never free.** One indexed read of a self-contained document is one B-tree +probe plus one fetch, O(log n). A duality view assembles the same shape from k tables: +roughly O(k · log n), and nested arrays cost more again. For the advisor card in +pattern 01 that premium buys atomic reorgs; for the cart it buys nothing, because +there is no shared fact to protect. **A single collection is not a duality view**: a +duality view assembles a document from tables; a single collection stores the document. +Both are first-class here. + +The rule: reach for a projection when a fact is **shared, queried many ways, or changes +under you**. Leave it embedded when it is **private, uniform and self-contained**. The other half of the 90/10: entitlement / array-containment workloads have run **~9–15× faster in the document shape** than a 27-table normalized schema, on the diff --git a/labs/converged-modeling-patterns/docker/Dockerfile b/labs/converged-modeling-patterns/docker/Dockerfile index 55a6fab..241bdc4 100644 --- a/labs/converged-modeling-patterns/docker/Dockerfile +++ b/labs/converged-modeling-patterns/docker/Dockerfile @@ -18,7 +18,8 @@ RUN chown -R oracle:oinstall /etc/ords # --- mongosh (current MongoDB 8.0 repo) -------------------------------------- # The Mongo lane of run.sh drives *.js scripts through mongosh, in-container. -RUN printf '[mongodb-org-8.0]\nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/8.0/x86_64/\ngpgcheck=1\nenabled=1\ngpgkey=https://pgp.mongodb.com/server-8.0.asc\n' > /etc/yum.repos.d/mongodb-org-8.0.repo \ +# $basearch lets dnf pick x86_64 or aarch64, so the image also builds on Apple silicon. +RUN printf '[mongodb-org-8.0]\nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/8.0/$basearch/\ngpgcheck=1\nenabled=1\ngpgkey=https://pgp.mongodb.com/server-8.0.asc\n' > /etc/yum.repos.d/mongodb-org-8.0.repo \ && microdnf install -y mongodb-mongosh \ && microdnf clean all diff --git a/labs/converged-modeling-patterns/docs/instructor-runbook.md b/labs/converged-modeling-patterns/docs/instructor-runbook.md index eb84604..1ad70d7 100644 --- a/labs/converged-modeling-patterns/docs/instructor-runbook.md +++ b/labs/converged-modeling-patterns/docs/instructor-runbook.md @@ -24,7 +24,8 @@ prepare. This runbook is for running the console with a room full of attendees. needs them published. Opening them to the room would hand attendees the database itself: LAB_ADMIN (which creates and drops users) and SYS, with credentials that are in this repo. -2. Start: `docker compose up -d` (Podman: `podman-compose up -d`). First start builds images. +2. Start: `docker compose up -d`, or `./lab.sh up` where there is no compose provider + (Podman, see the README's *Podman* section). Both read `.env`. First start builds images. 3. Wait until `curl -fsS http://localhost:3100/api/config` shows `"mode":"event"`. 4. Open `http://:3100/admin.html`, sign in with `ADMIN_PASSWORD`, and **pre-warm** about as many workspaces as you expect attendees (each takes a few @@ -58,7 +59,7 @@ LAB_URL=http://localhost:3100 EVENT_CODE='' ADMIN_PASSWORD='/dev/null 2>&1; } +running() { [ "$(e container inspect -f '{{.State.Running}}' "$1" 2>/dev/null)" = true ]; } +has_img() { e image inspect "$1" >/dev/null 2>&1; } + +build() { # $1 = force (1/0) + if [ "$1" = 1 ] || ! has_img "$IMG_DB"; then + echo "==> Building $IMG_DB (first build pulls the 26ai Free base image: several minutes) ..." + e build -t "$IMG_DB" -f docker/Dockerfile docker || exit 1 + fi + if [ "$1" = 1 ] || ! has_img "$IMG_UI"; then + echo "==> Building $IMG_UI ..." + e build -t "$IMG_UI" -f app/Dockerfile --target runtime . || exit 1 + fi +} + +ensure_net_vol() { + # compose's own labels, so a later `compose up` adopts these instead of warning + local p=(--label "com.docker.compose.project=$PROJECT") + e network inspect "$NET" >/dev/null 2>&1 || e network create "${p[@]}" --label com.docker.compose.network=default "$NET" >/dev/null || exit 1 + e volume inspect "$VOL" >/dev/null 2>&1 || e volume create "${p[@]}" --label com.docker.compose.volume=cmp-data "$VOL" >/dev/null || exit 1 +} + +start_db() { + if running "$DB"; then return; fi + if exists "$DB"; then echo "==> Starting $DB ..."; e start "$DB" >/dev/null || exit 1; return; fi + echo "==> Creating $DB ..." + e run -d --name "$DB" --network "$NET" --network-alias oracle \ + -p "$CMP_DB_BIND:$CMP_PORT:1521" -p "$CMP_DB_BIND:$CMP_ORDS_PORT:8181" -p "$CMP_DB_BIND:$CMP_MONGO_PORT:27017" \ + -e ORACLE_PASSWORD="$ORACLE_PASSWORD" -e APP_USER=CMP_USER -e APP_USER_PASSWORD="$CMP_PASSWORD" \ + --health-cmd healthcheck.sh --health-interval 10s --health-timeout 10s --health-retries 60 --health-start-period 180s \ + -v "$VOL:/opt/oracle/oradata" \ + "$IMG_DB" >/dev/null || exit 1 +} + +wait_db() { # compose's depends_on: service_healthy, done by polling the same check + echo -n "==> Waiting for the database to be healthy " + for _ in $(seq 1 120); do + e exec "$DB" healthcheck.sh >/dev/null 2>&1 && { echo " ready."; return; } + running "$DB" || { echo " $DB stopped. See: ./lab.sh logs oracle"; exit 1; } + echo -n '.'; sleep 5 + done + echo " timed out after 10 minutes. See: ./lab.sh logs oracle"; exit 1 +} + +ui_env=(LAB_MODE ADMIN_PASSWORD EVENT_CODE ORACLE_PASSWORD CMP_PASSWORD LAB_ADMIN_PASSWORD DB_POOL_MAX MONGO_POOL_MAX) +ui_config() { # fingerprint of everything that should force a console recreate (compose recreates on change) + { for k in "${ui_env[@]}"; do printf '%s=%s\n' "$k" "${!k}"; done + echo "$CMP_UI_BIND:$CMP_UI_PORT"; e image inspect -f '{{.Id}}' "$IMG_UI"; } | cksum | cut -d' ' -f1 +} + +start_ui() { + local want; want="$(ui_config)" + if exists "$UI"; then + if [ "$(e container inspect -f '{{index .Config.Labels "cmp.config"}}' "$UI" 2>/dev/null)" = "$want" ]; then + running "$UI" || { echo "==> Starting $UI ..."; e start "$UI" >/dev/null || exit 1; } + return + fi + echo "==> Settings changed: recreating $UI ..."; e rm -f "$UI" >/dev/null + else + echo "==> Creating $UI ..." + fi + local args=(); for k in "${ui_env[@]}"; do args+=(-e "$k=${!k}"); done + e run -d --name "$UI" --network "$NET" --label "cmp.config=$want" \ + -p "$CMP_UI_BIND:$CMP_UI_PORT:3000" "${args[@]}" "$IMG_UI" >/dev/null || exit 1 +} + +status() { + e ps -a --filter "name=^($DB|$UI)\$" --format '{{.Names}}\t{{.Status}}\t{{.Ports}}' + running "$UI" && echo "Console: http://localhost:$CMP_UI_PORT Admin: http://localhost:$CMP_UI_PORT/admin.html (mode: $LAB_MODE)" +} + +case "${1:-}" in + up) + [ "$LAB_MODE" = event ] && [ -z "$ADMIN_PASSWORD" ] && { echo "LAB_MODE=event needs ADMIN_PASSWORD (set it in .env)."; exit 1; } + build "$([ "${2:-}" = --build ] && echo 1 || echo 0)" + ensure_net_vol; start_db; wait_db; start_ui; status ;; + down) + e rm -f "$UI" "$DB" >/dev/null 2>&1 + if [ "${2:-}" = -v ]; then e volume rm "$VOL" >/dev/null 2>&1 && echo "Removed containers and the database volume." + else echo "Removed containers (database volume kept; add -v to delete it)."; fi ;; + status) status ;; + logs) + svc="${2:-oracle}"; shift $(( $# >= 2 ? 2 : 1 )) + case "$svc" in oracle) e logs "$@" "$DB" ;; lab-ui) e logs "$@" "$UI" ;; *) echo "logs: oracle | lab-ui"; exit 1 ;; esac ;; + test) + running "$DB" || { echo "$DB is not running: ./lab.sh up first."; exit 1; } + e build -t "$IMG_TEST" -f app/Dockerfile --target test . || exit 1 + e run --rm --network "$NET" \ + -e DB_HOST=oracle -e DB_PORT=1521 -e MONGO_HOST=oracle -e MONGO_PORT=27017 \ + -e ORACLE_PASSWORD="$ORACLE_PASSWORD" -e CMP_PASSWORD="$CMP_PASSWORD" -e LAB_ADMIN_PASSWORD="$LAB_ADMIN_PASSWORD" \ + "$IMG_TEST" ;; + *) sed -n '2,13p' "$0" | sed 's/^# \{0,1\}//'; exit 1 ;; +esac diff --git a/labs/converged-modeling-patterns/patterns/01-extended-reference/01-document-model.sql b/labs/converged-modeling-patterns/patterns/01-extended-reference/01-document-model.sql index ca37b6c..f45fa2a 100644 --- a/labs/converged-modeling-patterns/patterns/01-extended-reference/01-document-model.sql +++ b/labs/converged-modeling-patterns/patterns/01-extended-reference/01-document-model.sql @@ -6,15 +6,20 @@ -- The document move: copy the most-read advisor fields INTO every client doc so -- the read never has to look them up. "Only copy fields that rarely change." -- +-- On a read-heavy workload this is a correct bet: about 50M client-360 reads a +-- day against ~300 advisor edits, and four consumers want the card inline. +-- -- THE WRITE-AMPLIFICATION COST (made explicit below): the advisor is now stored --- N times, once per client. The moment a copied value changes (advisor moves --- offices, changes desk line) you must find and rewrite EVERY embedded copy. --- On a book of 100K clients that is a 100K-document fan-out update, and every --- doc you miss is now stale... and it feeds both the client portal AND the LLM. +-- once per document that embeds it. The moment a copied value changes (advisor +-- moves offices, changes desk line) you must find and rewrite EVERY embedded copy. +-- In the deck's book that is ~2,700 documents per advisor (790 client docs plus +-- 1,920 account docs), not one transaction, and until the last rewrite lands the +-- client portal and the AI copilot can read different offices. -- "Write amplification in, update anomaly out." -- --- Runs SQL-native (JSON Collection Table) so it validates in one lane; the same --- shape is what a MongoDB-API developer would model as a collection. +-- Runs SQL-native (JSON Collection Table) on the same 26ai engine, so the +-- comparison is about shape, not vendor; the same shape is what a MongoDB-API +-- developer would model as a collection. -- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @01-document-model.sql -- ============================================================================ @@ -54,7 +59,8 @@ FROM xr_client_doc; -- advisor record to update: the advisor only exists as copies. So the write -- fans out across EVERY client doc that embeds A-001, and each JSON_TRANSFORM -- re-serializes the whole document into a new block (WiredTiger copy-on-write; --- OSON re-encode on Oracle). 3 rows here; 100,000 on a real book. +-- OSON re-encode on Oracle). 2 rows here; ~2,700 documents per advisor on the +-- deck's book, and ~22M rewrites on a reorg day of 8,000 changes. -- --------------------------------------------------------------------------- -- @step Move advisor A-001 to a new office -- @note Every client document that embeds A-001 gets rewritten: one logical change fans out to every embedded copy, not to one row. diff --git a/labs/converged-modeling-patterns/patterns/01-extended-reference/02-converged.sql b/labs/converged-modeling-patterns/patterns/01-extended-reference/02-converged.sql index 0bce271..900c0b8 100644 --- a/labs/converged-modeling-patterns/patterns/01-extended-reference/02-converged.sql +++ b/labs/converged-modeling-patterns/patterns/01-extended-reference/02-converged.sql @@ -4,17 +4,20 @@ -- -- The advisor is stored ONCE, in its own table. Each client references it by FK. -- A JSON Relational Duality View projects the SAME client document the document --- developer wanted (advisor block inline), but the advisor block is a live --- projection through the FK, not a stored copy. +-- developer wanted (advisor block inline), but the advisor block is assembled +-- through the FK at read time, not stored as a copy. -- --- The needle-flip, resolved: an advisor moving offices is now ONE row. Every --- client document that projects that advisor reflects the change in the same --- transaction, with zero fan-out and zero possibility of a stale copy. The read --- shape is identical; the write cost collapsed from O(clients) to O(1). +-- THE TRADEOFF: every read pays a primary-key join (about 15% more read work in +-- the deck's model); in exchange an advisor moving offices is ONE row, and every +-- client document that projects that advisor reflects it at the same commit, with +-- no fan-out and no stale copy. The read shape is identical; the write cost goes +-- from O(documents embedding the advisor) to O(1). On a normal day (~300 edits) +-- embedding is still cheaper; break-even is ~930 edits a day, and a reorg day +-- (8,000) is where projecting wins on cost and on correctness. -- --- Rule of thumb this encodes: snapshot the IMMUTABLE (a trade's execution price --- is transaction truth: freeze it in the doc), project the MUTABLE (an advisor's --- CURRENT office is reference data: never freeze it, project it live). +-- When the document shape stays: snapshot the IMMUTABLE (a trade's execution +-- price, the advisor of record on a signed statement: freeze it in the doc), +-- project the MUTABLE (an advisor's CURRENT office is reference data: project it). -- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @02-converged.sql -- ============================================================================ @@ -49,9 +52,10 @@ INSERT INTO xr_clients VALUES ('C-002','Ben Client','MASS','A-001'); INSERT INTO xr_clients VALUES ('C-003','Cara Client','HNW','A-002'); COMMIT; --- The document the document dev wanted: assembled at read time over the truth. +-- The document the document dev wanted: assembled at read time from the rows. -- Advisor block is WITH NOUPDATE: it is a PROJECTION of reference data, not a --- copy this view is allowed to overwrite (per-field governance, engine-enforced). +-- copy this view is allowed to overwrite (per-field governance, engine-enforced: +-- writing advisor.office through the view fails with ORA-40940). CREATE OR REPLACE JSON RELATIONAL DUALITY VIEW xr_client_dv AS SELECT JSON { '_id' : c.client_id, @@ -77,8 +81,9 @@ FROM xr_client_dv; -- --------------------------------------------------------------------------- -- THE NEEDLE-FLIP, RESOLVED. Advisor A-001 moves offices: ONE row. Every client --- document that projects A-001 is instantly, transactionally correct. No --- fan-out. No stale copy. No CDC job to reconcile the portal with the copilot. +-- document that projects A-001 is correct at the same commit. No fan-out, no +-- stale copy, no CDC job to reconcile the portal with the copilot. The price was +-- paid on the read side, as a join on every document read. -- --------------------------------------------------------------------------- -- @step Move advisor A-001 to a new office -- @note One row: every client document that projects A-001 is correct in the same transaction, no fan-out, no stale copy. diff --git a/labs/converged-modeling-patterns/patterns/01-extended-reference/03-parity.js b/labs/converged-modeling-patterns/patterns/01-extended-reference/03-parity.js index 038f54c..88484de 100644 --- a/labs/converged-modeling-patterns/patterns/01-extended-reference/03-parity.js +++ b/labs/converged-modeling-patterns/patterns/01-extended-reference/03-parity.js @@ -1,6 +1,7 @@ // ============================================================================ // Pattern 01 · Extended Reference · CROSS-API PARITY (mongosh): the flagship proof -// "One truth, many shapes." The SAME projected client document, read TWO ways: +// One projection, two access surfaces, one projected shape. The SAME client +// document from the duality view, read TWO ways: // * SQL lane: SELECT ... FROM xr_client_dv (injected as $SQL_RESULT by run.sh) // * Mongo lane: db.xr_client_dv.findOne({_id:"C-001"}) over the Mongo wire // Asserts the documents are byte-equal after canonicalizing JSON and ignoring the diff --git a/labs/converged-modeling-patterns/patterns/01-extended-reference/README.md b/labs/converged-modeling-patterns/patterns/01-extended-reference/README.md index cf20a6f..0e93813 100644 --- a/labs/converged-modeling-patterns/patterns/01-extended-reference/README.md +++ b/labs/converged-modeling-patterns/patterns/01-extended-reference/README.md @@ -37,7 +37,9 @@ measure: # Pattern 01: Extended Reference ⭐ **Wealth management.** Open any client or account and show the servicing advisor's -name, office, and desk line. No join needed. +name, office, and desk line. The deck's book: 2,400 advisors, 1.9 million clients, +4.6 million accounts, and four consumers (client portal, advisor CRM, nightly +statement run, AI copilot) that all render the client with the advisor card. > Project, don't copy. @@ -45,45 +47,77 @@ name, office, and desk line. No join needed. The Extended Reference pattern copies the most-read fields of a referenced entity *into* the referencing document, so the read never has to look them up. The advice -is disciplined: "only copy fields that rarely change." Embed the advisor block on -every client and account, and the account page renders with zero joins. +is disciplined: "only copy fields that rarely change." Embed the advisor card on +every client and every account (statements render per account), and each screen is +a single document read with no lookup. + +On two of the three knobs this is the right bet. **Diversity** is high: four +consumers want the card inline. **Read / write** is extreme: about 50 million +client-360 reads a day (600 a second on average, 12,000 at the open) against roughly +300 advisor edits. Nothing about the choice is a mistake. ## Where the needle flips -The advisor is now stored **N times**, once per client. Nothing enforces that the -copies agree. The moment a copied value changes (an advisor moves offices, changes -a desk line) you have to find and rewrite **every embedded copy**. On a book of -100,000 clients that is a 100,000-document fan-out for one logical change, and each -document you miss is now serving a stale office to the client portal *and* to the -copilot reading that same document as context. +The third knob, **update locality**, is where it turns. The advisor is now stored +once per document that embeds it, and nothing enforces that the copies agree. When a +copied value changes (an advisor moves offices, changes a desk line) every embedded +copy has to be found and rewritten. In the deck's book each advisor appears in about +**2,700 documents** (790 client documents plus 1,920 account documents), so one +office move is about 2,700 rewrites, each one re-serializing the whole document. +Twice a year a regional reorg makes about 8,000 such changes in a day: roughly +**22 million document rewrites**. + +Those rewrites are not one transaction. Until the last one lands, the portal can show +the old office while the copilot, reading another document as context, shows the new +one. Nothing crashes; the answers just disagree. + +That is the pattern's trade in one line: **write amplification in, update anomaly +out.** The illustrative cost model on deck slide 16 puts a number on it: embedding +costs one document read per screen plus 2,700 rewrites per change; projecting the +card costs about **15% more per read** plus one row per change. On a normal day (300 +changes) **embedding is cheaper**. Break-even is about **930 changes a day**. On reorg +day the day's total work roughly doubles, and correctness is the bigger cost. The +needle flips on the worst day, not the average one, so model for the reorg. + +Both sides of that curve run on Oracle (the document side here is a JSON collection +table on the same engine), so the comparison is about shape, not vendor. + +## The converged alternative -That is the pattern's whole trade in one line: **write amplification in, update -anomaly out.** It is a workaround for a missing capability (the engine's -reluctance to join), not a law of physics. +Store the advisor **once**, as one row in the relational projection, and have each +client reference it by foreign key. A **JSON Relational Duality View** then projects +the exact client document the document developer wanted, advisor block inline. The +advisor block is assembled through the foreign key when the document is read, not +stored as a copy. -## The converged softening +What that costs: every read pays for a primary-key join, about 15% more read work in +the deck's model. Joins are never free. What it buys: an advisor moving offices is +**one row**, and every document that projects that advisor shows the change at the +same commit. No fan-out, no stale copy, no sync job between the portal and the +copilot. -Store the advisor **once**. Reference it by foreign key. Then let a **JSON -Relational Duality View** project the exact client document you wanted (advisor -block inline), where the advisor block is a *live projection through the FK*, not a -stored copy. The read shape is identical. An advisor moving offices is now **one -row**, and every document that projects that advisor is correct in the same -transaction. Fan-out: gone. Stale copy: impossible. +The view also decides what a write through it can touch. `fullName` and `segment` are +`WITH UPDATE`; the advisor subquery is `WITH NOUPDATE`, so an attempt to change +`advisor.office` through the view is rejected (ORA-40940) and the office changes only +in its own row. That is per-field governance enforced by the engine. -The rule this encodes: +## When the document shape stays -- **Snapshot the immutable.** A trade's execution price is transaction truth: - freeze it in the document; a later price change must never rewrite history. -- **Project the mutable.** An advisor's *current* office is reference data: never - freeze it, project it live. +- **Snapshot the immutable.** A trade's execution price, or the advisor of record on + a signed statement, is history: freeze it in the document. A later change must + never rewrite it. That is Extended Reference used exactly as intended. +- **Project the mutable.** An advisor's *current* office is reference data that + changes: project it rather than copy it. +- If edits stay well below the break-even and there is no reorg-style burst, the + embedded card is cheaper to read and the extra rewrites are a fair price. ## In this folder | File | What it shows | |---|---| -| `01-document-model.sql` | Advisor embedded on every client doc; an office change fans out across all copies | -| `02-converged.sql` | Advisor normalized once; duality view projects it live; the office change is one row | -| `03-parity.js` ⭐ | Reads `xr_client_dv` via the **MongoDB API** and asserts it is byte-equal to the same view read via **SQL**: "one truth, many shapes" | +| `01-document-model.sql` | Advisor card embedded in every client document; an office change fans out across every copy | +| `02-converged.sql` | Advisor stored once as a row; a duality view projects it into the client document; the office change is one row | +| `03-parity.js` ⭐ | Reads `xr_client_dv` through the **MongoDB API** and asserts it is byte-equal to the same view read through **SQL**: one projection, two access surfaces, the same projected shape | | `_capture.sql` | Helper: emits the SQL-lane document that `03-parity.js` compares against | ## Validated diff --git a/labs/converged-modeling-patterns/patterns/02-computed/01-document-model.sql b/labs/converged-modeling-patterns/patterns/02-computed/01-document-model.sql index c0f1c0e..0ba999a 100644 --- a/labs/converged-modeling-patterns/patterns/02-computed/01-document-model.sql +++ b/labs/converged-modeling-patterns/patterns/02-computed/01-document-model.sql @@ -5,18 +5,24 @@ -- talkers for the ops dashboard. -- -- The document move: bake the rollup onto the subscriber doc. Compute once on --- write, read a thousand times for free. Mongo's own math: 1M reads/hr vs 1K --- writes/hr => "compute on write divides work by 1000." +-- write, then serve every read from the stored answer instead of re-aggregating. +-- The pattern's own math: 1M reads/hr vs 1K writes/hr => "compute on write +-- divides work by 1000." The read side of this bet is right. -- -- THE WRITE-AMPLIFICATION COST: usage is not written once. Every Call Detail -- Record (CDR) appends a line item to the subscriber's usage[] and re-ticks the -- rollup, and each one is a read-modify-write of the WHOLE subscriber document. -- The document grows with every call, so the redo per CDR grows with it: here --- S-001 already carries 1,000 CDR line items this cycle. The pattern's own escape --- hatch for a hot subscriber -- counter-sharding (split into N docs, fan the read --- back in) -- leaves the write amp exactly where it was. And the Top-N dashboard --- has no rollup to lean on across subscribers: it must SUM -> SORT -> LIMIT over --- the collection every load. +-- S-001 already carries 1,000 CDR line items this cycle. The pattern's escape +-- hatch for a hot subscriber, counter sharding (split the counter into N shard +-- docs), spreads the write contention, but every balance check then reads N +-- docs and sums them: a write problem traded for a read problem. And the Top-N +-- dashboard has no rollup to lean on across subscribers: it must +-- SUM -> SORT -> LIMIT over the collection every load. +-- +-- Where this shape still wins: a rarely written total. In the deck's +-- illustrative model, embedding is cheaper below about 4.4 CDRs a subscriber a +-- day (light users, IoT SIMs, a closed cycle's final bill). -- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @01-document-model.sql -- ============================================================================ @@ -82,7 +88,7 @@ WHERE JSON_VALUE(data,'$._id') = 'S-001'; COMMIT; -- ^ every CDR => a rewrite of the whole, growing S-001 document. That is the write amplification. --- The account page read the pattern optimizes for (cheap): +-- The account page read the pattern optimizes for (one document, already summed): -- @step Read the account page (rollup already there) -- @note One document, one lookup: the CDR's cost already landed on the write. Shows the line-item count, not the usage[] array itself. -- @why Read/write is where the pattern earns its keep: 30 balance checks a subscriber a day read a precomputed rollup from one document. diff --git a/labs/converged-modeling-patterns/patterns/02-computed/02-converged.sql b/labs/converged-modeling-patterns/patterns/02-computed/02-converged.sql index 7e365df..8f90bae 100644 --- a/labs/converged-modeling-patterns/patterns/02-computed/02-converged.sql +++ b/labs/converged-modeling-patterns/patterns/02-computed/02-converged.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Pattern 02 · Computed · THE CONVERGED ALTERNATIVE --- Two moves, both keeping the read win without paying whole-document write amp. +-- Two moves, both keeping the precomputed read without paying whole-document write amp. -- -- 1) CDRs are APPEND-ONLY relational rows: one small insert per CDR, no parent -- document to rewrite. A maintained summary carries the rollup and is kept @@ -15,10 +15,15 @@ -- no SUM, no SORT, no full-collection scan. This is the field pattern behind -- the 60s -> 500ms dashboard result (a real landing page, anonymized). -- --- The needle-flip, resolved: the read stays cheap; the write drops from a --- rewrite of the whole, growing document to one small row plus a single-row --- counter update, flat however many CDRs the cycle holds; the ranking stops being a --- scan. The CBO plans all of it, ACID, one transaction. +-- The needle-flip, resolved: the read is still one precomputed rollup, now +-- joined by primary key (about 30% more read work in the deck's model, paid on +-- every balance check); the write drops from a rewrite of the whole, growing +-- document to one small row plus a single-row counter update, flat however many +-- CDRs the cycle holds; the ranking stops being a scan. The CBO plans all of it, +-- ACID, one transaction. +-- +-- When to flip back: a rarely written total (light subscribers below about 4.4 +-- CDRs a day, a closed cycle's final bill) can live on the document. -- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @02-converged.sql -- ============================================================================ diff --git a/labs/converged-modeling-patterns/patterns/02-computed/README.md b/labs/converged-modeling-patterns/patterns/02-computed/README.md index 03ad8b6..2e8eb5a 100644 --- a/labs/converged-modeling-patterns/patterns/02-computed/README.md +++ b/labs/converged-modeling-patterns/patterns/02-computed/README.md @@ -42,44 +42,82 @@ and rank the top talkers for the ops dashboard. ## The document bet -The Computed pattern bakes a rollup onto the document: compute once on write, read -it a thousand times for free. The math is real: a million reads an hour against a -thousand writes an hour means precomputing "divides the work by a thousand." Store -`cycleUsage` on the subscriber and the account page is a single lookup. +The Computed pattern bakes a rollup onto the document: compute once on write, then +serve every read from the stored answer instead of re-aggregating a month of CDRs. +The math is real: a million reads an hour against a thousand writes an hour means +precomputing "divides the work by a thousand." Store `cycleUsage` on the subscriber +and the self-care app and real-time charging each get the balance from a single +lookup. The read side of this bet is right; the question is what it costs on the +write side, and who pays. ## Where the needle flips -Usage is not written once. Every Call Detail Record appends a line item and +Usage is not written once. Every Call Detail Record (CDR) appends a line item and re-ticks the rollup, and each one is a read-modify-write that **rewrites the whole subscriber document**. The document grows with every call, so the redo each CDR costs grows with it: in the lab, subscriber S-001 already carries 1,000 CDR line -items this cycle, and posting one more rewrites all of them. On a hot subscriber -that is a write storm on one document. The pattern's own escape hatch -(counter-sharding into N documents and fanning the read back in) leaves the write -amplification exactly where it was. +items this cycle, and posting one more rewrites all of them. A heavy user throws off +400 or more CDRs a day, so the busiest subscribers own the hottest documents. The +pattern's escape hatch, counter sharding (split the counter into N shard documents), +does spread the write contention, but now every balance check reads N documents and +sums them: a write problem traded for a read problem, on the latency-critical +charging path. -And the Top-N dashboard gets no help at all: with the rollup buried inside each -document, ranking the top talkers means **SUM → SORT → LIMIT across the whole -collection on every load.** At book scale that is the query that melts down. +And the Top-N dashboard gets no help at all: with the rollup buried inside each of +12 million documents, ranking the top talkers means **SUM, SORT, LIMIT across the +whole collection on every load.** + +**Model the heavy tail, not the average.** In the deck's illustrative cost model +(30 balance reads a subscriber a day; a CDR rewrites the ~4 KB document, versus a +row insert plus a counter-row update), embedding wins below about **4.4 CDRs a +subscriber a day**. The average subscriber, at 11, is past break-even; the heavy +user at 400 costs about **2.5× the work** embedded, concentrated on exactly the +documents under contention. ## The converged softening -Two moves, both keeping the read cheap: +In canonical form (the logical model) a CDR is an immutable fact, appended once, and +the cycle rollup is one derived value per subscriber. The Computed pattern splits +into two things that were never the same: facts and a derivation. Two moves follow: 1. **CDRs are append-only rows.** One small insert per event, no parent document to - rewrite. Both serialize per subscriber; the converged write is ~1.5 KB instead of - the whole document. A maintained summary carries the rollup and is kept current - **in the same transaction** by a row trigger: *Computed, with a staleness - window of zero.* (Declarative equivalent: a materialized view `REFRESH FAST ON - COMMIT` over a CDR mview log.) + rewrite. A narrow summary row carries the rollup and is kept current **in the + same transaction** by a row trigger: *Computed, with a staleness window of zero.* + (Declarative equivalent: a materialized view `REFRESH FAST ON COMMIT` over a CDR + mview log.) Both models serialize per subscriber; the summary row locks just as + the document does. What changes is what you do while holding the lock: a ~1.5 KB + write instead of a rewrite of the whole, growing document. 2. **Hot Top-N becomes an index range scan.** A descending index on the summary's usage column turns "top talkers" into an O(log n) seek plus `FETCH FIRST N`, no SUM, no SORT, no full-collection scan. -This is the shape behind the field result on exactly this workload: a landing-page -Top-N that ran **60 seconds → 500 milliseconds**, ACID, with no precompute job, no -change streams, and no eventual-consistency window. Want the document shape at the -API? A duality view projects the subscriber with the live rollup included. +This is the shape behind an anonymized field result on exactly this workload: a +landing-page Top-N that went **from 60 seconds to 500 milliseconds**, ACID, with no +precompute job, no change streams, and no eventual-consistency window. Want the +document shape at the API? A duality view projects the subscriber with the live +rollup inline and read-only, through the same privileges, auditing and policies as +the tables underneath. + +Measured in this lab on 26ai Free, recording one CDR against a subscriber document +already holding 1,000 CDRs costs about 52 KB of redo; the converged insert plus the +trigger-maintained summary row costs about 1.6 KB, roughly **33×** less. + +## The tradeoff, honestly + +| | Embedded rollup | Append + summary | +|---|---|---| +| Record a CDR | whole-document rewrite (~52 KB redo at 1,000 CDRs) | small insert + one counter row (~1.6 KB) | +| Balance read | 1 document | 1 document, joined by primary key (~30% more read work) | +| Top 20 talkers | sort every document | index range scan | + +The read premium is real: every balance check pays it, because the projection joins +the usage row on each read. What it buys is the end of the whole-document rewrite on +every CDR. + +**When the document shape is still right:** a rarely written total can live on the +document. Light subscribers and IoT SIMs below the ~4 CDRs-a-day break-even, or a +closed cycle's final bill, are cheaper with the embedded rollup. Compute-on-write +belongs on the document when writes are rare and don't collide. ## In this folder diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.js b/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.js index 7b303b5..b49a65c 100644 --- a/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.js +++ b/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.js @@ -1,8 +1,8 @@ // ============================================================================ -// Pattern 03 · Bucket · THE DOCUMENT MODEL in the MongoDB lane (mongosh) +// Pattern 03 · Bucket · THE DOCUMENT MODEL through the MongoDB API (mongosh) // The $push bucket: each reading grows the bucket document and re-updates its // counters: a read-modify-write of the WHOLE (growing) document on every -// append, the canonical write-amplification. Runnable illustration. +// append, the textbook write-amplification. Runnable illustration. // Run via run.sh (Mongo lane) or: mongosh "" --file 01-document-model.js // ============================================================================ const C = db.bk_bucket_js; diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.sql b/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.sql index 3ac51b0..0ca030b 100644 --- a/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.sql +++ b/labs/converged-modeling-patterns/patterns/03-bucket/01-document-model.sql @@ -4,14 +4,18 @@ -- readings; read back per-machine, per-hour summaries. -- -- The document move: don't store a document per reading (millions of tiny docs). --- Group them into a bucket doc per machine per hour, push each reading into an --- array, and keep running counters on the bucket. Fewer, fatter documents. +-- Group them into a bucket doc per sensor per hour, push each reading into an +-- array, and keep running counters on the bucket. Fewer, fatter documents, and a +-- one-document dashboard read. The read side is genuinely good. -- --- THE WRITE-AMPLIFICATION COST -- this is THE canonical write-amp pattern. Each +-- THE WRITE-AMPLIFICATION COST -- this is THE textbook write-amp pattern. Each -- reading is an array $push PLUS a counter re-update: a read-modify-write of the -- WHOLE bucket document, on every single append. The bucket only grows, so the -- redo each append costs grows with it all cycle -- and a hot sensor marches its bucket -- straight at the 16 MB document ceiling, where writes simply start failing. +-- The readings themselves are immutable facts; the amplification comes from the +-- mutable bucket wrapped around them. Slow sensors (below ~900 readings a bucket, +-- e.g. one a minute) are where this shape still wins. -- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @01-document-model.sql -- ============================================================================ diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/02-converged.sql b/labs/converged-modeling-patterns/patterns/03-bucket/02-converged.sql index dfc82cd..b0fbbb8 100644 --- a/labs/converged-modeling-patterns/patterns/03-bucket/02-converged.sql +++ b/labs/converged-modeling-patterns/patterns/03-bucket/02-converged.sql @@ -8,14 +8,17 @@ -- single small row: no array to grow, no bucket document to rewrite, no 16 MB -- ceiling. The per-hour summary is a GROUP BY over a partition range (the -- optimizer prunes to just the hours asked for). Want it precomputed? A --- materialized view rolls it up; want it through the Mongo lane? $sql-in-pipeline --- runs the same GROUP BY with parallel execution and NO 100 MB stage / 16 MB --- output caps (see README). Field result for exactly this reshape: a 29s bucket --- rollup fell to sub-400ms, and the read win was kept without maintaining a bucket. +-- materialized view rolls it up; want it through the MongoDB API? A $sql stage +-- (Oracle's addition to the aggregation pipeline) runs the same GROUP BY with +-- parallel execution and NO 100 MB stage / 16 MB output caps (see README). -- -- The needle-flip, resolved: each reading is a constant-cost single-row insert -- instead of an ever-growing document rewrite, and there is no document ceiling --- to march toward. +-- to march toward. The price: the last-hour dashboard scans rows instead of +-- fetching one document, about 2x the read bytes in the deck's model. An +-- anonymized field result for exactly this reshape: a 29s bucket rollup fell to +-- under 400ms, paid for with that heavier last-hour read. Slow sensors (below +-- ~900 readings a bucket) are still better served by the bucket. -- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @02-converged.sql -- ============================================================================ diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/02-sql-in-pipeline.js b/labs/converged-modeling-patterns/patterns/03-bucket/02-sql-in-pipeline.js index 5540bc7..2c3a262 100644 --- a/labs/converged-modeling-patterns/patterns/03-bucket/02-sql-in-pipeline.js +++ b/labs/converged-modeling-patterns/patterns/03-bucket/02-sql-in-pipeline.js @@ -1,10 +1,11 @@ // ============================================================================ // Pattern 03 · Bucket · $sql-IN-PIPELINE through the MongoDB API (mongosh) // The converged hourly rollup, issued as FULL SQL over the Mongo wire protocol via -// Oracle's own $sql aggregation stage: parallel execution, cost-based optimization, +// $sql, Oracle's addition to the MongoDB aggregation pipeline (a full SQL statement +// as one stage of db.aggregate()): parallel execution, cost-based optimization, // and NO 100 MB stage / 16 MB output caps. It reads the converged, INTERVAL- // partitioned bk_sensor_readings table (created by the SQL lane's 02-converged.sql). -// This is the Mongo-lane developer's on-ramp to the converged rollup: no leaving +// This is the MongoDB API developer's on-ramp to the converged rollup: no leaving // the pipeline, no maintaining a bucket. // ============================================================================ // @step Hourly rollup with $sql in the pipeline diff --git a/labs/converged-modeling-patterns/patterns/03-bucket/README.md b/labs/converged-modeling-patterns/patterns/03-bucket/README.md index dba5ba0..a87579a 100644 --- a/labs/converged-modeling-patterns/patterns/03-bucket/README.md +++ b/labs/converged-modeling-patterns/patterns/03-bucket/README.md @@ -3,12 +3,13 @@ title: Bucket industry: Manufacturing / IoT deck: "22–25" problem: >- - Sensor readings are bucketed per machine per hour. Every reading rewrites the - growing bucket, and hot sensors march it toward the 16 MB document cap. + Sensor readings are bucketed per sensor per hour. Every reading rewrites the + growing bucket (36,000 rewrites an hour on a hot spindle), and hot sensors march + it toward the 16 MB document cap. knobs: - { name: Diversity, setting: "Medium: 4 read shapes", help: "The live dashboard, the 8-hour shift rollup, the 7-day anomaly scan and ML feature pulls all read the same readings, each in a different shape." } - { name: Read / write, setting: "Write-heavy", help: "About 34,000 readings a second, three billion a day, against a dashboard that re-reads each sensor-hour about 360 times." } - - { name: Update locality, setting: "Every write, same document", hot: true, help: "Every reading lands on the same growing bucket: break-even is about 900 readings a bucket, a one-a-second sensor already costs about 2.7× the rows, and a ten-a-second spindle about 22×." } + - { name: Update locality, setting: "Every write, same document", hot: true, help: "Every reading lands on the same growing bucket: break-even is about 900 readings a bucket, a one-a-second sensor already costs about 2.7× the rows, and a ten-a-second spindle about 22×, marching at the 16 MB cap. Slow sensors (one a minute, 60 a bucket) still favor the bucket." } help: tabs: document: @@ -18,7 +19,7 @@ help: why: "Readings are small append-only rows in an hourly INTERVAL-partitioned table, and the rollup is a GROUP BY that prunes to the hours asked for. The last-hour dashboard now scans rows instead of fetching one document, about twice the read bytes in the deck's model." look: "The insert reports 3 rows affected, and the GROUP BY returns n, average and max per machine and hour." mongo: - why: "The anomaly team keeps db.aggregate() over the MongoDB API and runs the rollup as one $sql stage over the same partitioned rows, planned by the optimizer." + why: "The anomaly team keeps db.aggregate() through the MongoDB API and runs the rollup as one $sql stage (Oracle's addition to the aggregation pipeline: a full SQL statement as one stage) over the same partitioned rows, planned by the optimizer." look: "One rollup document per machine and hour, with n, avg and max matching the SQL GROUP BY." measure: why: "The ratio is the bucket's redo for 3 appends divided by the redo for 3 row inserts. Each append rewrites the bucket as it stands, so the ratio grows with the readings in it; the inserts cost the same whether the hour holds 3 readings or 3,600." @@ -42,35 +43,94 @@ per-machine, per-hour summaries. ## The document bet -A document per reading means millions of tiny documents. The Bucket pattern groups -them: one bucket document per machine per hour, each reading pushed into an array, -running counters kept on the bucket. Fewer, fatter documents; cheap windowed reads. +The platform (all numbers illustrative): 18,000 sensors across 40 plants. Most report +once a second; the hot ones (spindles, vibration) report ten times a second. That is +about 34,000 readings a second, three billion a day. + +A document per reading means billions of tiny documents. The Bucket pattern groups +them: one bucket document per sensor per hour, each reading pushed into an array, +running count, sum, min and max kept on top. Fewer, fatter documents, and a live +dashboard that reads the whole hour as one contiguous document with the counters +already computed. The read side is genuinely good. + +| Access pattern | Who | Rate | Type | +|---|---|---|---| +| Ingest a reading | gateways | ~34k/s | write, hot document | +| Last-hour machine dashboard | line supervisors | 6/min | read, 1 bucket | +| Shift rollup (8 h) | plant managers | 120/day | read, range | +| 7-day anomaly scan, all sensors | reliability engineers | hourly | read, times out | +| ML feature extraction | data science | nightly | read, scan | + +## Immutable facts, mutable container + +In the canonical form (the logical model of plants, machines and readings) a reading +is an immutable fact: a value at a timestamp. In the relational projection it is one +row, inserted once and never changed. The hourly count, sum, min and max are not in +the canonical form at all; they are *derived*, and can be computed with a `GROUP BY` on +read or kept in a materialized view. + +The bucket takes those immutable facts and wraps them in the one mutable thing in the +system. One hot sensor-hour at ten readings a second is 36,000 rewrites of a bucket that +averages about 2.2 MB: roughly 78 GB of bytes moved to store 4.3 MB of data. The same +hour as rows is 36,000 small inserts, about 9 MB, appended to one hourly partition. +Engines soften the constant with in-memory deltas and checkpoints; they don't change the +shape. The write amplification comes from the wrapper, not the data. ## Where the needle flips -This is *the* write-amplification pattern. Each reading is an array `$push` **plus** -a counter update, a read-modify-write that **rewrites the entire growing bucket -document on every single append.** The bucket only grows, so the redo each append -costs climbs all cycle, and a hot sensor -marches its bucket straight at the **16 MB document ceiling**, where writes simply -start to fail. You built a structure whose write cost increases the more you use it. +Diversity is medium (four read shapes) and the workload is write-heavy, but the knob +that bites is **update locality**. Each reading is an array `$push` **plus** a counter +update, a read-modify-write that **rewrites the entire growing bucket document on every +single append.** The bytes moved per hour grow with the square of the readings, so the +redo each append costs climbs all hour. You built a structure whose write cost +increases the more you use it. + +The deck's illustrative cost model (not a benchmark) prices both sides honestly: 120 B +per reading; each `$push` rewrites the whole bucket; a row insert adds about 130 B of +header, index and redo; and the live dashboard reads the hour 360 times an hour, with +the row range scan paying about 150 B more per row than one document fetch. The +`GROUP BY` is not free. + +- **Below about 900 readings a bucket, the bucket wins.** A sensor that reports once a + minute holds 60 readings an hour and is read hundreds of times. Bucket it: the + one-document read beats the rewrites. +- **At one reading a second** (3,600 a bucket) the bucket already costs about 2.7× the + rows. +- **The hot spindle at 36,000** costs about 22×, and its bucket marches at the + **16 MB document ceiling** (about 140,000 readings at this size), where writes simply + start to fail. + +The bucket is a low-rate pattern. It loses exactly on the sensors you care most about: +the fast, hot ones. ## The converged softening -Stop hand-rolling buckets. Let **range partitioning** do the amortization the bucket -was faking, and let `GROUP BY` do the rollup: +Stop hand-rolling buckets for the hot sensors. Let the partition be the bucket: **range +partitioning** does the amortization the bucket was faking, and `GROUP BY` does the +rollup: - Readings are tiny, append-only rows in an **INTERVAL-partitioned** table: Oracle opens a new hourly partition on its own as time advances. Each reading is one small row: no array to grow, no document to rewrite, no 16 MB ceiling. - The per-hour summary is a `GROUP BY` over a partition range; asking for one hour - **prunes** to one partition. Reads dwarf writes? A materialized view precomputes it. -- Prefer the Mongo lane? **`$sql`-in-pipeline** runs the same `GROUP BY` with - parallel execution and **no 100 MB stage / 16 MB output caps**, full SQL over the - wire protocol (see the root README). + **prunes** to one partition. Where reads repeat (shift reports), a materialized view + precomputes it. +- The anomaly team keeps its aggregation pipeline. `$sql` is Oracle's addition to the + MongoDB aggregation pipeline: one more stage of `db.aggregate()` whose body is a full + SQL statement, with rows returned to the driver as documents. The rollup inside it + gets the cost-based optimizer, parallel execution and pruning to the partitions it + needs, with none of the pipeline's 100 MB stage-memory or 16 MB output caps (see the + root README). + +**The price.** The last-hour dashboard now scans rows instead of fetching one document: +about twice the read bytes in the deck's model. What that buys is a constant-cost insert +with no 16 MB ceiling. An anonymized field result for exactly this reshape: a 29-second +bucket rollup fell to **under 400 milliseconds**, paid for with that heavier last-hour +read. -Field result for exactly this reshape: a 29-second bucket rollup fell to **sub-400 -milliseconds**, and the read win was kept without maintaining a single bucket. +**When to flip back: slow sensors.** At one reading a minute a bucket holds 60 readings, +well below the ~900 break-even, and the one-document bucket read is still the better +shape. ## In this folder @@ -78,14 +138,14 @@ milliseconds**, and the read win was kept without maintaining a single bucket. |---|---| | `01-document-model.sql` | Per-hour bucket doc; each reading `$push` + counter rewrites the growing bucket | | `02-converged.sql` | INTERVAL-partitioned readings (constant-cost inserts) + `GROUP BY` rollup + summary MV | -| `01-document-model.js` | The MongoDB-lane `$push` bucket: the same write-amp, runnable in `mongosh` | -| `02-sql-in-pipeline.js` | The hourly rollup as **full SQL over the Mongo wire** via a `$sql`-in-pipeline stage | -| `03-parity.js` | Asserts the Mongo `$sql` rollup == the SQL `GROUP BY` == the maintained bucket counters | +| `01-document-model.js` | The `$push` bucket through the MongoDB API: the same write amplification, runnable in `mongosh` | +| `02-sql-in-pipeline.js` | The hourly rollup as **full SQL through the MongoDB API** via a `$sql` pipeline stage | +| `03-parity.js` | Asserts the `$sql` rollup == the SQL `GROUP BY` == the maintained bucket counters | | `_capture.sql` | Helper: emits the SQL-lane rollup for the parity check | ## Validated Both lanes run clean on **Oracle AI Database 26ai Free (`23.26.3-faststart`)**. The -`$sql`-in-pipeline rollup returns over the Mongo wire, and the parity assertion confirms -it equals the SQL `GROUP BY` (same machine/hour COUNT/AVG/MAX). +`$sql`-in-pipeline rollup returns through the MongoDB API, and the parity assertion +confirms it equals the SQL `GROUP BY` (same machine/hour COUNT/AVG/MAX). Run with `../../run.sh 03-bucket`. diff --git a/labs/converged-modeling-patterns/patterns/04-subset/01-document-model.sql b/labs/converged-modeling-patterns/patterns/04-subset/01-document-model.sql index a0eb37d..ef65b37 100644 --- a/labs/converged-modeling-patterns/patterns/04-subset/01-document-model.sql +++ b/labs/converged-modeling-patterns/patterns/04-subset/01-document-model.sql @@ -8,12 +8,12 @@ -- separate history collection. Keep the working set in RAM. -- -- THE WRITE-AMPLIFICATION COST: to keep the inline subset "recent," EVERY new --- claim must push into the inline array, TRIM the array back to N, AND insert the --- full claim into the overflow collection -- two writes, plus a whole-document --- rewrite of the policy, on every claim. You are paying a maintenance write on --- every claim to serve a full-history read that hardly ever happens. Writes are --- heavy; the read you optimized for is rare. That is the needle pointing the --- wrong way. +-- claim pays twice: a push-and-trim rewrite of the WHOLE policy document, AND an +-- insert of the full claim into the history collection. Two writes, two places, +-- for one fact. The bet is that the summary read dwarfs the claim write, and on a +-- normal day it does (deck: ~2M summary reads vs ~30k events, break-even ~83k +-- events/day). On a catastrophe day (~300k events) the bet loses: the subset +-- costs ~40% more than querying, all of it on the hottest policy documents. -- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @01-document-model.sql -- ============================================================================ @@ -26,7 +26,7 @@ BEGIN END; / --- sb_policy_doc = policy + inline recent claims (hot); sb_claim_history = cold overflow. +-- sb_policy_doc = policy + inline recent claims (hot); sb_claim_history = cold history. CREATE JSON COLLECTION TABLE sb_policy_doc; CREATE JSON COLLECTION TABLE sb_claim_history; @@ -40,10 +40,10 @@ COMMIT; -- A new claim CL-1004 arrives. To keep the inline subset at N=3 you must: -- (a) append it to the inline array, (b) trim the oldest, (c) write the full --- claim to the overflow collection. Three writes for one claim. --- (a) append newest + (b) trim oldest: rewrites the whole policy document. +-- claim to the history collection. Two writes, two places, for one claim. +-- (a) append newest + (b) trim oldest: one statement that rewrites the whole policy document. -- @step Push CL-1004 in, trim the oldest claim --- @note Append plus trim rewrites the WHOLE policy document: one of three writes for a single new claim. +-- @note Append plus trim rewrites the WHOLE policy document: the first of two writes for a single new claim. -- @why Update locality is the hot knob: every claim event lands on the parent policy, and keeping the list recent is a read-modify-write of the whole policy document (append, trim, rewrite) on every event. -- @look Rows affected is 1; Measure it shows the redo of rewriting the policy next to one claim insert. -- @figure doc-shape.svg The policy document as built: recent claim events inline, every event also written to a history collection @@ -53,8 +53,8 @@ SET data = JSON_TRANSFORM(data, APPEND '$.recentClaims' = JSON_OBJECT('claimId' VALUE 'CL-1004', 'amount' VALUE 4200), REMOVE '$.recentClaims[0]') WHERE JSON_VALUE(data,'$._id') = 'P-001'; --- (c) the full claim also goes to the overflow collection: the second write. --- @step Write the full claim to the overflow collection +-- (c) the full claim also goes to the history collection: the second write. +-- @step Write the full claim to the history collection -- @note The second write for the same claim: the history collection must be kept in step with the inline subset by hand. -- @why Update locality again: the same fact lands in a second place, and if this write fails after the first, the summary and the history disagree. -- @look Rows affected is 1, the second write for a single claim. @@ -63,7 +63,7 @@ COMMIT; -- The common read the pattern optimizes for: recent claims, one document. -- @step Read the recent claims (one document) --- @note recentClaims now shows CL-1004 in, CL-1001 trimmed out: three writes paid to keep this one read cheap. +-- @note recentClaims now shows CL-1004 in, CL-1001 trimmed out: two writes paid so this read is one document fetch. -- @why Read/write is the subset's case: at about 67 summary reads per claim event, the policy page reads one document with the list already built. -- @look recent_claims_inline holds 3 claims, the list every event paid to keep sorted and trimmed. SELECT JSON_VALUE(data,'$._id') AS policy, diff --git a/labs/converged-modeling-patterns/patterns/04-subset/02-converged.sql b/labs/converged-modeling-patterns/patterns/04-subset/02-converged.sql index 355ab30..3b4c90a 100644 --- a/labs/converged-modeling-patterns/patterns/04-subset/02-converged.sql +++ b/labs/converged-modeling-patterns/patterns/04-subset/02-converged.sql @@ -2,18 +2,24 @@ -- Pattern 04 · Subset (hot inline / vertical partition) · THE CONVERGED ALTERNATIVE -- "Stop maintaining the subset. Query it." -- --- There is one claims table -- hot and cold live together. A composite index on +-- The canonical form is policy, claim and claim event; a claim event is an +-- immutable fact recorded once. Here it is projected as rows on ONE claims +-- table: hot and cold live together. A composite index on -- (policy_id, claim_ts DESC) makes "the recent N" an index range scan that stops --- after N rows: O(log n) seek, no maintenance write, no overflow collection, no --- trimming. Every claim is a single append; the "recent" slice is derived on --- read, not maintained on write. The full policy document -- policy header plus --- its recent claims -- is assembled at read time with SQL/JSON, so hot and cold --- are reunited by the query, never by a maintenance job. +-- after N rows: no maintenance rewrite, no history collection, no trimming. Every +-- claim is one insert plus one index entry; the "recent" slice is derived on +-- read, not maintained on write. SQL/JSON assembles the same policy document +-- (policy header plus its recent claims) at read time, so hot and cold are +-- reunited by the query, never by a maintenance job. -- --- The needle-flip, resolved: the write goes from three writes + a document --- rewrite down to one plain insert, and the rare full-history read is just the --- same query without the FETCH FIRST. The subset stops being state you maintain --- and becomes a projection you ask for. +-- The tradeoff: each write drops from a document rewrite plus a history insert +-- to one plain insert, and the rarer full-history read is the same query without +-- the FETCH FIRST. The price is the read: the summary now does more work than a +-- single document fetch (~25% in the deck's model). Below ~83k events/day the +-- subset is cheaper; a 300k-event catastrophe day is where querying wins. If the +-- inline slice is frozen at write time (the coverages on the declarations page), +-- keep it in the document. The subset stops being state you maintain and becomes +-- a projected shape you ask for. -- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @02-converged.sql -- ============================================================================ @@ -46,9 +52,9 @@ INSERT INTO sb_policies VALUES ('P-001','Dana Holder','AUTO'); INSERT INTO sb_claims VALUES ('CL-1001','P-001', 800, TIMESTAMP '2026-01-10 09:00:00'); INSERT INTO sb_claims VALUES ('CL-1002','P-001',1500, TIMESTAMP '2026-03-22 09:00:00'); INSERT INTO sb_claims VALUES ('CL-1003','P-001',2300, TIMESTAMP '2026-05-30 09:00:00'); --- CL-1004 is just one plain insert -- no trim, no overflow write, no doc rewrite. +-- CL-1004 is just one plain insert -- no trim, no history write, no doc rewrite. -- @step Insert claim CL-1004 --- @note One plain insert: no trim, no overflow write, no policy document to rewrite. +-- @note One plain insert: no trim, no history write, no policy document to rewrite. -- @why Update locality stops concentrating: the claim is one row and one index entry, with no policy document to rewrite and no history to keep in step. On a CAT day that is 300,000 inserts, not 300,000 policy rewrites. -- @look Rows affected is 1; Measure it shows redo near 1 KB whatever the size of the inline list. -- @figure erd.svg Policy, claim and claim event in canonical form, beside how one claim event lands in the subset model @@ -57,7 +63,7 @@ INSERT INTO sb_claims VALUES ('CL-1004','P-001',4200, TIMESTAMP '2026-08-01 09:0 COMMIT; -- The hot read: recent 3 claims = index range scan on sb_ix_claims_recent + FETCH --- FIRST. Nothing was maintained to make this fast. (EXPLAIN PLAN shows the range +-- FIRST. Nothing was maintained to make this fast; the read pays for a short scan instead. (EXPLAIN PLAN shows the range -- scan stops after 3 rows -- no sort of the full history.) -- @step Read the recent 3 claims (index range scan) -- @note CL-1004 is already the top row: nothing was maintained to make this fast, the index just stops after 3. @@ -70,9 +76,9 @@ ORDER BY claim_ts DESC FETCH FIRST 3 ROWS ONLY; -- The full policy document -- hot + cold reunited AT READ TIME by SQL/JSON. No --- inline subset stored, no overflow collection to keep in step. +-- inline subset stored, no history collection to keep in step. -- @step Assemble the full policy document at read time --- @note Header plus recent claims, reunited by the query: no inline subset stored, no overflow collection to keep in step. +-- @note Header plus recent claims, reunited by the query: no inline subset stored, no history collection to keep in step. -- @why Diversity: agents get the policy document they had, assembled by SQL/JSON, and adjusters get the full history from the same rows by dropping FETCH FIRST. -- @look policy_document shows the header with recentClaims newest first, built by the query rather than stored. SELECT JSON_OBJECT( diff --git a/labs/converged-modeling-patterns/patterns/04-subset/README.md b/labs/converged-modeling-patterns/patterns/04-subset/README.md index 102fe62..9bd77d5 100644 --- a/labs/converged-modeling-patterns/patterns/04-subset/README.md +++ b/labs/converged-modeling-patterns/patterns/04-subset/README.md @@ -15,7 +15,7 @@ help: why: "The starting point: keep the most recent claims inline on the policy so the summary page reads one document, and push each full claim into a history collection. Every new claim is a whole-policy rewrite plus a second write that has to stay in step." look: "recent_claims_inline holds exactly 3 claims, trimmed by hand on every write." converged: - why: "One claims table and a (policy_id, claim_ts DESC) index make the recent N a range scan that stops after N rows. The summary read does more work than one document fetch, about 25% in the deck's model; each claim is one insert." + why: "One claims table and a (policy_id, claim_ts DESC) index make the recent N a range scan that stops after N rows. The summary read does more work than one document fetch, about 25% in the deck's model; what that buys is one insert per claim and nothing to keep in step." look: "The insert reports 1 row affected, and the recent-claims query returns the newest 3 with no stored subset." measure: why: "The ratio is the redo for pushing and trimming the policy document divided by the redo for one claim insert. The document side rewrites every claim kept inline, so the ratio grows with the subset's size; the insert stays near 1 KB." @@ -32,8 +32,9 @@ measure: --- # Pattern 04: Subset (hot inline / vertical partition) -**Insurance.** The policy page shows the 3 most recent claims instantly; the full -claim history is opened rarely. +**Insurance.** The policy summary page shows the most recent claim events instantly +(the deck uses 10; this lab keeps 3 so the output stays readable); the full claim +history is opened far less often. > Stop maintaining the subset. Query it. @@ -42,39 +43,59 @@ claim history is opened rarely. The Subset pattern keeps the hot slice (the recent N claims) **inline** on the policy document so the common read touches one document, and pushes the cold tail into a separate history collection. Keep the working set in RAM; keep the hot read -to a single fetch. +to a single fetch. In the deck's workload (8 million policies, about 2 million +summary reads a day against about 30,000 claim events) that bet is sound: the +summary read dwarfs the event write. ## Where the needle flips -To keep the inline subset "recent," **every new claim** has to push into the inline -array, **trim** the array back to N, *and* insert the full claim into the overflow -collection, two writes, plus a whole-document rewrite of the policy, on every -claim. You are paying a maintenance write on **every** write to serve a full-history -read that **hardly ever happens.** Writes are heavy; the read you optimized for is -rare. The needle is pointing the wrong way. +To keep the inline subset "recent," **every new claim event** pays twice: a +push-sort-trim **rewrite of the whole policy document**, *and* an insert of the full +event into the history collection. That is two writes in two places for one fact, and +if the second write fails, the summary and the history disagree. It also +concentrates: every event on every claim lands on the same policy document, which +becomes the hottest document in the system because of a list it has to maintain. + +On a normal day the Subset pattern still wins. In the deck's illustrative cost model +(not a benchmark), querying adds about 25% to each summary read, and on 2 million +reads that premium is real. Break-even is about **83,000 events a day**. A +catastrophe (CAT) day, such as a hurricane landfall, runs at about **300,000** +events, and then the Subset pattern costs about **40% more** than querying, with +every extra write a whole-document rewrite on exactly the policies the customer app +is hammering. Size the model for the storm, not the sunny day. ## The converged softening -There is **one claims table**: hot and cold live together. A composite index on -`(policy_id, claim_ts DESC)` makes "the recent N" an index range scan that **stops -after N rows**: an O(log n) seek, no maintenance write, no overflow collection, no -trimming. Every claim is a single append. The full policy document (header plus its -recent claims) is assembled **at read time** with SQL/JSON, so hot and cold are +The canonical form is policy, claim and claim event, where a claim event is an +immutable fact recorded once. Here it is projected as rows on **one claims table**: +hot and cold live together. A composite index on `(policy_id, claim_ts DESC)` keeps +each policy's claims pre-sorted, so "the recent N" is an index range scan that +**stops after N rows**. Every claim is one insert and one index entry: no +maintenance rewrite, no history collection, no trimming. SQL/JSON assembles the same +policy document (header plus its recent claims) **at read time**, so hot and cold are reunited by the query, never by a maintenance job. -The subset stops being *state you maintain* and becomes *a projection you ask for.* -The rare full-history read is the same query without the `FETCH FIRST`. +That is the tradeoff, priced honestly: the summary read now does more work than a +single document fetch (about 25% in the deck's model). What it buys is a write path +that does not collapse in a storm, and one copy of every event for fraud review and +audit. The subset stops being *state you maintain* and becomes *a projected shape you +ask for.* The rarer full-history read is the same query without the `FETCH FIRST`. + +**When the document shape is still right:** if the inline slice is frozen at write +time and rarely changes (for example, the three coverages printed on the +declarations page), keep it in the document. A slice that changes on every event is +a query. ## In this folder | File | What it shows | |---|---| -| `01-document-model.sql` | Recent-N inline + overflow collection; each claim is push + trim + overflow write | -| `02-converged.sql` | One claims table + descending composite index; recent-N via `FETCH FIRST`; doc assembled on read | +| `01-document-model.sql` | Recent-N inline + history collection; each claim is a push-and-trim rewrite of the policy plus a history insert | +| `02-converged.sql` | One claims table + descending composite index; recent-N via `FETCH FIRST`; policy document assembled on read | ## Validated Both scripts run clean on **Oracle AI Database 26ai Free (`23.26.3-faststart`)**. This -pattern stays pure-SQL: a claims table has no natural single Mongo collection to read -against, so there is no Mongo lane here. +pattern stays on the SQL and SQL/JSON access surfaces: a claims table has no natural +single collection to read through the MongoDB API, so there is no MongoDB API lane here. Run them with `../../run.sh 04-subset`. diff --git a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/01-document-model.sql b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/01-document-model.sql index 20a88b6..3cc6dd6 100644 --- a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/01-document-model.sql +++ b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/01-document-model.sql @@ -6,14 +6,17 @@ -- The document move: store each component with a MATERIALIZED PATH -- the chain -- of ancestors as a string ("/P-1000/P-1100/P-1110"). A subtree read becomes a -- left-anchored prefix scan (LIKE '/P-1000/P-1100%'): an index range scan, --- O(log n). Cheap subtree reads, and that is real. +-- O(log n). The cheapest explosion there is, and that is real: for a tree that +-- rarely moves and is read one way (a catalogue, an org chart snapshot), or +-- moves well under ~1,000 parts, this is still the right shape. -- -- THE WRITE-AMPLIFICATION COST: the path encodes position, so moving one -- subassembly rewrites the path of EVERY descendant. Re-parent a wheelset and -- you rewrite the wheelset, the wheel, the spoke, every node beneath it -- write -- amplification proportional to the size of the subtree, for a single logical -- move. And a genuine graph question -- "which assemblies use this spoke?" --- (upward, multi-parent, N hops) -- a downward prefix string simply cannot express. +-- (upward, multi-parent, N hops) -- a downward prefix string simply cannot express, +-- so teams bolt on a usedIn parent list the app must keep in sync by hand. -- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @01-document-model.sql -- ============================================================================ diff --git a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/02-converged.sql b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/02-converged.sql index 7ae4465..5f05c47 100644 --- a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/02-converged.sql +++ b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/02-converged.sql @@ -1,6 +1,9 @@ -- ============================================================================ -- Pattern 05 · Tree / Hierarchy · THE CONVERGED ALTERNATIVE -- Split the two questions the materialized path was trying to answer at once. +-- In the canonical form (the logical model) each parent -> child link is one +-- relationship; this relational projection stores it as one edge row, and +-- position is derived by walking the edges. -- -- TREE structure lives in ADJACENCY EDGES (parent_id -> child_id). Re-parenting -- is a SINGLE edge update -- the subtree follows automatically because position @@ -10,7 +13,8 @@ -- SUBTREE / EXPLOSION reads use native recursion -- CONNECT BY streams the -- frontier in one pass (emit CONNECT BY or GRAPH_TABLE for hierarchy, never a -- recursive CTE, which dams each level into an intermediate relation the CBO --- can barely optimize). +-- can barely optimize). The walk is not free: it costs about 30% more per +-- explosion than a prefix scan in the deck's illustrative model. -- -- GENUINE GRAPH questions -- "which assemblies use this wheel?", multi-parent, -- N hops, the DAG a downward prefix string cannot express -- use SQL/PGQ @@ -19,6 +23,10 @@ -- The needle-flip, resolved: the write that the path made expensive (reorg) -- becomes one row, and the read the path could not do at all (where-used across -- shared components) becomes one graph match. +-- +-- THE TRADEOFF: break-even sits near 1,000 parts per move. Below that, or for a +-- static tree read one way, the path's prefix scan is cheaper; a 10,000-part +-- move makes the path's day ~3x the edge model's, ~10x at 40,000. -- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @02-converged.sql -- ============================================================================ diff --git a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/README.md b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/README.md index 0758748..98507ef 100644 --- a/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/README.md +++ b/labs/converged-modeling-patterns/patterns/05-tree-hierarchy/README.md @@ -35,14 +35,20 @@ measure: **Manufacturing.** Explode a bill of materials (read a whole subassembly's components fast) and ask "what is this part used in?" -> Store the edges. Let the engine traverse. +The deck's scenario: an equipment maker with 1.2 million parts, up to 12 levels +deep. About 2 million explosions a day (planning, costing, the service portal), +about 5,000 where-used questions a day plus recall bursts, and about 200 +engineering change orders (ECOs) a day, many of which re-parent a subassembly of +10 to 40,000 parts. The numbers are illustrative; the shape is universal. + +> Store the edge, derive the position. ## The document bet The materialized-path pattern stores each component with its chain of ancestors as a string: `/P-1000/P-1100/P-1110`. A subtree read becomes a **left-anchored prefix -scan** (`LIKE '/P-1000/P-1100%'`): an index range scan, O(log n). Cheap subtree -reads, and that part is genuinely good. +scan** (`LIKE '/P-1000/P-1100%'`): an index range scan, O(log n). That is the +cheapest explosion there is, and it is the right instinct for a read-heavy day. ## Where the needle flips @@ -55,25 +61,57 @@ Two edges, one on write and one on read: - **Read.** A genuine graph question ("which assemblies use this wheel?"): upward, multi-parent, N hops, is something a *downward prefix string simply cannot express.* Share one component across two assemblies and the materialized path breaks: a node - now has more than one path. + now has more than one path. Teams usually bolt on a `usedIn` parent list, a second + structure the application has to keep in sync by hand. + +The path stores a derived fact (position) in every node, and derived facts you +store are facts you have to rewrite. + +Put numbers on it (the deck's illustrative cost model, not a benchmark): charge +each explosion 1 unit via the prefix scan and about 30% more via a recursive walk, +and charge each document or row rewrite 3 units. **Break-even sits near 1,000 parts +per move.** Below that, or for a tree that rarely moves, the path's day is cheaper. +A 10,000-part module move makes the path's day about 3× the edge model's; at +40,000 parts it is about 10×. Where-used is left out of the model, which favours +the path; counting it only moves the break-even left. ## The converged softening -Split the two questions the path was trying to answer at once: +Split the two questions the path was trying to answer at once. In the canonical +form (the logical model) each parent → child link is one relationship; the +relational projection stores it as one edge row, and position is derived by +walking the edges. - **Structure lives in adjacency edges** (`parent_id → child_id`). Re-parenting is a **single edge update**: the subtree follows automatically, because position is not baked into every node. Reorg write cost drops from O(subtree) to **O(1)**. -- **Subtree / explosion reads use native recursion**: `CONNECT BY` streams the - frontier in one pass. (Emit `CONNECT BY` or `GRAPH_TABLE` for hierarchy, never a - recursive CTE, which dams each level into an intermediate relation the optimizer can - barely optimize.) +- **Subtree / explosion reads use native recursion** through the SQL access surface: + `CONNECT BY` streams the frontier in one pass. (Emit `CONNECT BY` or `GRAPH_TABLE` + for hierarchy, never a recursive CTE, which dams each level into an intermediate + relation the optimizer can barely optimize.) The walk is not free: it goes level + by level and costs more per explosion than a prefix scan, about 30% in the deck's + model. - **Genuine graph questions use SQL/PGQ `GRAPH_TABLE`** over the *same rows*: the where-used, multi-parent, N-hop DAG the prefix string could not express. No separate - graph database to sync. + graph database to sync, no `usedIn` array to maintain. + +| | Materialized path | Edges + graph | +|---|---|---| +| ECO re-parent | 1 document per part in the subtree | 1 edge row | +| Explode an assembly | 1 prefix range scan | `CONNECT BY` pass (about +30%) | +| Where-used | second structure, app-synced | `GRAPH_TABLE`, same rows | + +The write the path made expensive (reorg) becomes one row, and the read the path +could not do at all (where-used across shared components) becomes one graph match, +paid for with a real recursive-read premium on every explosion. + +## When the path is still the right choice -The write the path made expensive (reorg) becomes one row; the read the path could -not do at all (where-used across shared components) becomes one graph match. +A tree that rarely moves and is read one way (a product catalogue, an org chart +snapshot), or one whose moves stay well under about 1,000 parts: keep the +materialized path. Its prefix scan is the cheapest explosion there is, and with +few or small moves there is little write amplification to pay for. Store the edge +when engineering reshapes large subtrees every day or the reverse question matters. ## In this folder @@ -86,5 +124,5 @@ not do at all (where-used across shared components) becomes one graph match. Both scripts run clean on **Oracle AI Database 26ai Free (`23.26.3-faststart`)**. This pattern stays pure-SQL: adjacency/graph traversal (`CONNECT BY` / `GRAPH_TABLE`) has no -single-collection Mongo shape, so there is no Mongo lane here. +single-collection document shape, so there is no MongoDB API lane here. Run them with `../../run.sh 05-tree-hierarchy`. diff --git a/labs/converged-modeling-patterns/patterns/06-outlier/01-document-model.sql b/labs/converged-modeling-patterns/patterns/06-outlier/01-document-model.sql index dce601d..a637876 100644 --- a/labs/converged-modeling-patterns/patterns/06-outlier/01-document-model.sql +++ b/labs/converged-modeling-patterns/patterns/06-outlier/01-document-model.sql @@ -1,16 +1,18 @@ -- ============================================================================ -- Pattern 06 · Outlier (whale documents) · THE DOCUMENT MODEL (the starting point) --- Industry: financial / wealth management. Access pattern: open an advisor and --- read their book of clients as one document. +-- Industry: financial services (brokerage). Access pattern: open an advisor and +-- read their book of clients, top 100 by AUM, as one document. -- --- The document move: embed the client book on the advisor doc. This is fine for --- the TYPICAL advisor -- a few dozen to a few hundred clients fits comfortably. +-- The document move: embed the client book on the advisor doc. This is right for +-- the TYPICAL advisor: the median book is 180 clients, 99% are under 500, and +-- one document read is about 3x cheaper than a range scan at the median (the +-- deck's illustrative model; break-even is near 3,200 clients). -- --- THE OUTLIER PROBLEM: a handful of institutional advisors carry 100,000-client --- books. Their document blows past the 16 MB ceiling, so the pattern adds a --- `hasExtras` flag, spills the tail into an OVERFLOW collection, and every reader --- must now branch: "if hasExtras, go fetch the overflow and stitch it back." --- That is the 16 MB storage-engine limit LEAKING INTO YOUR APPLICATION CODE. The +-- THE OUTLIER PROBLEM: about 120 institutional and team advisors carry books of +-- 20,000 to 150,000 clients. Their document blows past the 16 MB ceiling, so the +-- pattern adds a `hasExtras` flag, spills the tail into OVERFLOW documents, and +-- every reader must now branch: "if hasExtras, go fetch the overflow and stitch +-- it back." That is the 16 MB document limit LEAKING INTO YOUR APPLICATION CODE. The -- pattern does not solve the outlier -- it ADMITS the model breaks for the fat -- tail and pushes the special case up into every consumer. -- @@ -39,7 +41,7 @@ INSERT INTO ol_advisor_doc VALUES (JSON('{"_id":"A-001","name":"Grace Advisor"," {"clientId":"C-002","aum":180000}, {"clientId":"C-003","aum":420000}]}')); --- Whale advisor: stands in for a 100K-client institutional book. 800 clients are +-- Whale advisor: stands in for a 148K-client institutional book. 800 clients are -- already embedded (the x800 skew over the typical book; ~30 KB of JSON), -- generated, not pasted. It has not spilled yet: hasExtras=false. INSERT INTO ol_advisor_doc @@ -62,7 +64,7 @@ SET data = JSON_TRANSFORM(data, APPEND '$.clients' = JSON_OBJECT('clientId' V WHERE JSON_VALUE(data,'$._id') = 'A-900'; COMMIT; --- Once the book outgrows the document (the real whale's 100K clients cannot fit +-- Once the book outgrows the document (the real whale's 148K clients cannot fit -- under 16 MB; this 800-client book stands in for it), the tail spills into an -- overflow document. -- @step Spill the next clients to an overflow document diff --git a/labs/converged-modeling-patterns/patterns/06-outlier/02-converged.sql b/labs/converged-modeling-patterns/patterns/06-outlier/02-converged.sql index 0ae9823..1716bdb 100644 --- a/labs/converged-modeling-patterns/patterns/06-outlier/02-converged.sql +++ b/labs/converged-modeling-patterns/patterns/06-outlier/02-converged.sql @@ -2,16 +2,23 @@ -- Pattern 06 · Outlier (whale documents) · THE CONVERGED ALTERNATIVE -- "The outlier is just more rows, and the optimizer plans for it." -- --- Clients are rows in one table, referenced by advisor. There is no special --- document shape, no hasExtras flag, no overflow collection, no branch in the --- reader. The typical advisor's book is projected as a document by a duality --- view; the institutional whale is the SAME query -- it just returns more rows, --- and you page them with FETCH FIRST / OFFSET. One table, one access path, one --- optimizer that already knows how to range-scan a big child set. +-- In the canonical form a client is its own entity, related to one advisor. +-- Here it is stored in the relational projection: rows in one table, keyed by +-- advisor_id. There is no special document shape, no hasExtras flag, no overflow +-- collection, no branch in the reader. Where a consumer wants the book as a +-- document, a duality view produces it from the rows; the institutional whale +-- is the SAME query -- it just returns more rows, and you page them with +-- FETCH FIRST / OFFSET. One table, one index, one query for every advisor. -- --- The needle-flip, resolved: the 16 MB document ceiling never enters the picture, --- because the book was never one physical document. The fat tail stops being an --- application special case and becomes ordinary pagination over ordinary rows. +-- The 16 MB document ceiling never enters the picture, because the book was +-- never one physical document. The fat tail stops being an application special +-- case and becomes ordinary pagination over ordinary rows. +-- +-- THE TRADEOFF: reads are not free. Every book read is an index descent plus +-- assembled rows, about 3x the work of one stored document at the 180-client +-- median in the deck's model. That read cost buys one code path for all +-- advisors and writes that do not grow with the book. If a list has a hard +-- upper bound (five beneficiaries, ten watchlists), embedding is still right. -- Run: sqlplus cmp_user/CmpUser2026@localhost:1521/FREEPDB1 @02-converged.sql -- ============================================================================ @@ -42,7 +49,7 @@ INSERT INTO ol_advisors VALUES ('A-900','Institutional Desk'); INSERT INTO ol_clients VALUES ('C-001','A-001',250000); INSERT INTO ol_clients VALUES ('C-002','A-001',180000); INSERT INTO ol_clients VALUES ('C-003','A-001',420000); --- The "whale" -- stands in for a 100K-client institutional book: the same 800 +-- The "whale" -- stands in for a 148K-client institutional book: the same 800 -- clients the document model embeds, generated, not pasted. Just more rows. INSERT INTO ol_clients (client_id, advisor_id, aum) SELECT 'C-' || TO_CHAR(900000 + LEVEL), 'A-900', 9000000 - (LEVEL - 1) * 10000 @@ -68,7 +75,8 @@ SELECT 'C-900803', 'A-900', 980000 FROM dual; COMMIT; -- The typical advisor as a document -- assembled by the duality view over the --- SAME rows. No special case, no flag. (For a bounded book this is the whole doc.) +-- SAME rows on every read. No special case, no flag. (For a bounded book this is +-- the whole doc.) CREATE OR REPLACE JSON RELATIONAL DUALITY VIEW ol_advisor_dv AS SELECT JSON { '_id' : a.advisor_id, diff --git a/labs/converged-modeling-patterns/patterns/06-outlier/03-parity.js b/labs/converged-modeling-patterns/patterns/06-outlier/03-parity.js index cfecf19..3099911 100644 --- a/labs/converged-modeling-patterns/patterns/06-outlier/03-parity.js +++ b/labs/converged-modeling-patterns/patterns/06-outlier/03-parity.js @@ -1,6 +1,6 @@ // ============================================================================ // Pattern 06 · Outlier · CROSS-API PARITY (mongosh) -// The SAME typical-advisor document (with its embedded client array projected from +// The SAME typical-advisor document (its client array assembled from ol_clients // rows) read through the SQL duality view (ol_advisor_dv, injected as $SQL_RESULT) // and through the MongoDB API. Byte-equal after canonicalizing JSON and ignoring // _metadata. Non-zero exit on mismatch. diff --git a/labs/converged-modeling-patterns/patterns/06-outlier/README.md b/labs/converged-modeling-patterns/patterns/06-outlier/README.md index 3f5fc59..28d8b9b 100644 --- a/labs/converged-modeling-patterns/patterns/06-outlier/README.md +++ b/labs/converged-modeling-patterns/patterns/06-outlier/README.md @@ -3,8 +3,9 @@ title: Outlier industry: Financial services (brokerage) deck: "34–37" problem: >- - Advisor documents embed their client book. Institutional books break the 16 MB cap, so - the Outlier pattern adds overflow documents and a second code path in the application. + Advisor documents embed their client book, which is right for the 180-client median. About + 120 institutional and team books of 20,000 to 150,000 clients break the 16 MB cap, so the + Outlier pattern adds overflow documents and a second code path in the application. knobs: - { name: Diversity, setting: "Low: one book screen", help: "The portal and the batch read the book the same way, top clients by AUM, so one shape serves both." } - { name: Read / write, setting: "Read-heavy by day", help: "About 2,000 book reads a second at the open, and one AUM refresh storm a night." } @@ -35,56 +36,92 @@ measure: --- # Pattern 06: Outlier (whale documents) -**Financial / wealth management.** Open an advisor and read their book of clients as -one document. +**Financial services (brokerage).** Open an advisor and read their book of clients, +top 100 by AUM, as one document. The platform has about 40,000 advisors and 17 million +clients (illustrative numbers; the shape of the distribution is the point). > The outlier is just more rows, and the optimizer plans for it. ## The document bet The Outlier pattern tunes the document for the *typical* record and special-cases the -fat tail. Embed the client book on the advisor document, fine for the ordinary -advisor, a few dozen to a few hundred clients fits comfortably. +fat tail. Embed the client book on the advisor document. The median advisor has 180 +clients and 99% have fewer than 500, so for almost everyone the book is one document of +roughly 72 KB: one read, sorted in the app, done. For those advisors it genuinely beats +anything else, and that is worth saying plainly. ## Where the needle flips -A handful of institutional advisors carry **100,000-client books.** Their document -blows past the **16 MB ceiling**, so the pattern adds a `hasExtras` flag, spills the -tail into an **overflow collection**, and now **every reader must branch**: *"if -hasExtras, go fetch the overflow and stitch it back."* That is the 16 MB -storage-engine limit **leaking into your application code**, and into the LLM's -context builder, which now has to know about the special case too. +About 120 institutional and team advisors carry **20,000 to 150,000-client books.** +At roughly 400 bytes a client the **16 MB ceiling** arrives near 40,000 clients, so the +team spills at 20,000 per document: the pattern adds a `hasExtras` flag, parks the tail +in **overflow documents** (seven of them for a 148,000-client book), and now **every +reader must branch**: *"if hasExtras, go fetch the overflow and stitch it back."* That +is the 16 MB document limit **leaking into your application code**: the portal, the +nightly batch, and the AI assistant's context builder all have to know about the +special case. + +The knobs show why this one flips on the distribution, not the average. Diversity is +low (one screen reads the book one way) and the workload is read-heavy by day, about +2,000 book reads a second at the open; on those two knobs alone you would embed and move +on. Update locality is the hot knob: the largest book is about 800 times the median, and +the nightly AUM refresh and every advisor transition land inside those largest +documents. You design for the p50 and pay at the p99.9. + +In the deck's illustrative cost model (not a benchmark), for a top-100 read the embedded +book is **about 3 times cheaper** at the 180-client median, break-even is **near 3,200 +clients**, and a 148,000-client team book is **about 50 times more work**: eight +fetches, every client decoded, and a merge-sort in the application, on a code path that +only the 120 largest books ever exercise. The pattern does not solve the outlier. It **admits the model breaks** for the fat tail and pushes the special case up into every consumer. The writes pay too. Until it spills, the whale's book is one growing document: in the lab, advisor A-900 already embeds 800 clients, and adding one more is a -read-modify-write of the whole book. Spilling to overflow is itself cheap: the -outlier pattern costs you the growth rewrite of the document before the spill, plus -a branch in every reader. +read-modify-write of the whole book: about 20 KB of redo against roughly 1.2 KB for one +client row, near 17 times in this lab (the deck's 26ai Free run measured about 20 +times). Spilling to overflow is itself cheap: the outlier pattern costs you the growth +rewrite of the document before the spill, plus a branch in every reader. ## The converged softening -There is no special document shape. Clients are **rows in one table**, referenced by -advisor: - -- The **typical** advisor's book is projected as a document by a **duality view**: - no flag, no branch. -- The institutional **whale** is the *same table, same optimizer*: it just returns - more rows, and you **page** them with `FETCH FIRST` / `OFFSET` over the - `(advisor_id, aum DESC)` index. That is the whole "outlier" story on a converged - engine: ordinary pagination over ordinary rows. +Start from the canonical form, the logical model: desk, advisor and client, where a +client is its own entity related to one advisor. The outlier exists only because the +document projection draws a physical boundary around the book. Store the client in a +different projection, **rows in one table** keyed by `advisor_id`, and there is no +special shape: + +- Where a consumer wants the book as a document (the CRM over the MongoDB API, the AI + assistant over SQL/JSON), a **duality view** produces it from the rows: no flag, no + branch. +- The book screen runs one top-N query over the `(advisor_id, aum DESC)` index and + **pages** with `FETCH FIRST` / `OFFSET`. The institutional **whale** is the *same + table, same query*: the optimizer plans a stopped range scan that reads about 100 + index entries whether the book holds 180 clients or 148,000. Cardinality is a + statistic, not a code path. +- Moving a book to another advisor is one `UPDATE` of `advisor_id` in one transaction, + with no receiving document that might itself cross the cap. The 16 MB ceiling never enters the picture, because the book was never one physical -document. The fat tail stops being an application special case. +document. + +**The tradeoff, stated plainly.** The rows are not free to read. Every book read is a +query, an index descent and 100 assembled rows, and at the median that is about 3 times +the work of one stored document in the deck's model. What that read cost buys is one +code path for all 40,000 advisors, and writes that no longer scale with the size of the +book. + +**When the document is still the right choice.** If the list has a hard upper bound +(ten saved watchlists, five beneficiaries), embed it. The Outlier pattern, and the +argument against it, only matters when the bound is a guess. ## In this folder | File | What it shows | |---|---| | `01-document-model.sql` | Embedded book (800-client whale) + growth append + `hasExtras` flag + overflow collection + reader branch | -| `02-converged.sql` | One clients table (the same 800-client whale as rows); duality projects the typical book; the whale is paged rows | +| `02-converged.sql` | One clients table (the same 800-client whale as rows); a duality view produces the typical book as a document; the whale is paged rows | | `03-parity.js` | Reads `ol_advisor_dv` via the MongoDB API and asserts byte-equality with the SQL lane | | `_capture.sql` | Helper: emits the SQL-lane document for the parity check | diff --git a/labs/converged-modeling-patterns/patterns/06-outlier/figures/flow.svg b/labs/converged-modeling-patterns/patterns/06-outlier/figures/flow.svg index eb1bd54..f07e14b 100644 --- a/labs/converged-modeling-patterns/patterns/06-outlier/figures/flow.svg +++ b/labs/converged-modeling-patterns/patterns/06-outlier/figures/flow.svg @@ -1 +1 @@ -RELATIONAL PROJECTIONPROJECTIONCONSUMERSadvisorsone row eachclientsidx advisor_id,aum DESCadvisor_dvduality viewbook as a documenttop-N queryFETCH FIRST ·OFFSET pagesCRMMongo API find()AI assistantSQL/JSONBook screenSQL · any size \ No newline at end of file +RELATIONAL PROJECTIONSAME ROWS, TWO READSCONSUMERSadvisorsone row eachclientsidx advisor_id,aum DESCadvisor_dvduality viewbook as a documenttop-N queryFETCH FIRST ·OFFSET pagesCRMMongo API find()AI assistantSQL/JSONBook screenSQL · any size \ No newline at end of file diff --git a/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html b/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html index a988a2f..34e7848 100644 --- a/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html +++ b/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html @@ -1231,7 +1231,7 @@

    The outlier is just more rows: one query, no branch

    -
    RELATIONAL PROJECTIONPROJECTIONCONSUMERSadvisorsone row eachclientsidx advisor_id,aum DESCadvisor_dvduality viewbook as a documenttop-N queryFETCH FIRST ·OFFSET pagesCRMMongo API find()AI assistantSQL/JSONBook screenSQL · any size
    +
    RELATIONAL PROJECTIONSAME ROWS, TWO READSCONSUMERSadvisorsone row eachclientsidx advisor_id,aum DESCadvisor_dvduality viewbook as a documenttop-N queryFETCH FIRST ·OFFSET pagesCRMMongo API find()AI assistantSQL/JSONBook screenSQL · any size
    When to flip back: if the list has a hard upper bound (ten saved watchlists, five beneficiaries), embed it. The Outlier pattern is only needed when the bound is a guess. Growth costs too: +1 client to an 800-client book is ~20× a row insert's redo (companion lab).
    diff --git a/labs/converged-modeling-patterns/run.sh b/labs/converged-modeling-patterns/run.sh index 1bead7e..a67a7e5 100755 --- a/labs/converged-modeling-patterns/run.sh +++ b/labs/converged-modeling-patterns/run.sh @@ -26,7 +26,6 @@ cd "$(dirname "$0")" ORACLE_PASSWORD="${ORACLE_PASSWORD:-Sandbox2026}" CMP_PASSWORD="${CMP_PASSWORD:-CmpUser2026}" -SVC=oracle ADMIN="system/${ORACLE_PASSWORD}@localhost:1521/FREEPDB1" APP="cmp_user/${CMP_PASSWORD}@localhost:1521/FREEPDB1" # $external must reach mongosh literally, so it is escaped for the host shell here @@ -34,18 +33,31 @@ APP="cmp_user/${CMP_PASSWORD}@localhost:1521/FREEPDB1" MURI="mongodb://cmp_user:${CMP_PASSWORD}@localhost:27017/CMP_USER?authMechanism=PLAIN&authSource=\$external&retryWrites=false&loadBalanced=true" FILTER="${1:-}" -dexec() { docker compose exec -T "$SVC" bash -lc "$1"; } # in-container bash -sqlpipe(){ docker compose exec -T "$SVC" bash -lc "sqlplus -s -L $APP"; } # stdin -> sqlplus +# Container CLI for exec/inspect: docker, else podman (CONTAINER_ENGINE overrides). +# The stack itself comes up through compose when a provider is available, otherwise +# through ./lab.sh, which runs the same services with the plain CLI (Podman, no compose). +CLI="${CONTAINER_ENGINE:-$(command -v docker >/dev/null && echo docker || echo podman)}" +if docker compose version >/dev/null 2>&1; then COMPOSE="docker compose" +elif podman compose version >/dev/null 2>&1; then COMPOSE="podman compose" +else COMPOSE=""; fi + +dexec() { "$CLI" exec -i cmp-oracle bash -lc "$1"; } # in-container bash +sqlpipe(){ "$CLI" exec -i cmp-oracle bash -lc "sqlplus -s -L $APP"; } # stdin -> sqlplus # Record the console's state BEFORE compose touches anything (stage 3 depends on it). ui_event() { # true when cmp-lab-ui is running with LAB_MODE=event - [ "$(docker inspect -f '{{.State.Running}}' cmp-lab-ui 2>/dev/null)" = true ] && - docker inspect -f '{{range .Config.Env}}{{println .}}{{end}}' cmp-lab-ui 2>/dev/null | grep -qx 'LAB_MODE=event' + [ "$("$CLI" inspect -f '{{.State.Running}}' cmp-lab-ui 2>/dev/null)" = true ] && + "$CLI" inspect -f '{{range .Config.Env}}{{println .}}{{end}}' cmp-lab-ui 2>/dev/null | grep -qx 'LAB_MODE=event' } ui_event_at_start=0; ui_event && ui_event_at_start=1 -echo "==> Bringing up the stack (docker compose up -d) ..." -ORACLE_PASSWORD="$ORACLE_PASSWORD" CMP_PASSWORD="$CMP_PASSWORD" docker compose up -d +if [ -n "$COMPOSE" ]; then + echo "==> Bringing up the stack ($COMPOSE up -d) ..." + ORACLE_PASSWORD="$ORACLE_PASSWORD" CMP_PASSWORD="$CMP_PASSWORD" $COMPOSE up -d +else + echo "==> Bringing up the stack (./lab.sh up: no compose provider, plain $CLI) ..." + ORACLE_PASSWORD="$ORACLE_PASSWORD" CMP_PASSWORD="$CMP_PASSWORD" ./lab.sh up || exit 1 +fi echo -n "==> Waiting for the database " until dexec "echo 'select 1 from dual;' | sqlplus -s -L $ADMIN" 2>/dev/null | grep -q '^[[:space:]]*1'; do @@ -64,7 +76,7 @@ SQL echo -n "==> Waiting for the MongoDB API (ORDS) " mongo_ok=0 for i in $(seq 1 60); do - if docker compose exec -T -e MURI="$MURI" "$SVC" bash -lc \ + if "$CLI" exec -i -e MURI="$MURI" cmp-oracle bash -lc \ 'echo "quit(0)" | mongosh "$MURI" --quiet --file /dev/stdin' >/dev/null 2>&1; then mongo_ok=1; break fi @@ -90,7 +102,7 @@ run_js() { # $1 = file, $2 = pattern dir sqlr=$(cat "$dir/_capture.sql" | sqlpipe 2>/dev/null | sed '/^[[:space:]]*$/d' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//') if [ -z "$sqlr" ]; then echo " [FAIL] $js (SQL capture empty)"; fail=$((fail+1)); failed="$failed $js"; return; fi fi - docker compose exec -T -e MURI="$MURI" -e SQL_RESULT="$sqlr" "$SVC" \ + "$CLI" exec -i -e MURI="$MURI" -e SQL_RESULT="$sqlr" cmp-oracle \ bash -lc 'mongosh "$MURI" --quiet --file /dev/stdin' < "$js" if [ "$?" -eq 0 ]; then echo " [PASS] $js"; pass=$((pass+1)); else echo " [FAIL] $js"; fail=$((fail+1)); failed="$failed $js"; fi @@ -119,14 +131,19 @@ if [ -z "$FILTER" ]; then echo " share its database; run them after the event (see docs/instructor-runbook.md)." else # --no-deps: stage 1 already brought the database up; never recreate it from here. - if docker compose --profile test build lab-ui-test && docker compose --profile test run --rm --no-deps lab-ui-test; then + if [ -n "$COMPOSE" ]; then + lab_tests() { $COMPOSE --profile test build lab-ui-test && $COMPOSE --profile test run --rm --no-deps lab-ui-test; } + else + lab_tests() { ORACLE_PASSWORD="$ORACLE_PASSWORD" CMP_PASSWORD="$CMP_PASSWORD" ./lab.sh test; } + fi + if lab_tests; then echo " [PASS] lab-ui tests"; pass=$((pass+1)) else echo " [FAIL] lab-ui tests"; fail=$((fail+1)); failed="$failed lab-ui-tests" fi - if [ "$(docker inspect -f '{{.State.Running}}' cmp-lab-ui 2>/dev/null)" = true ]; then + if [ "$("$CLI" inspect -f '{{.State.Running}}' cmp-lab-ui 2>/dev/null)" = true ]; then echo "==> Restarting lab-ui so it reloads its dirty/built flags and cache ..." - docker compose restart lab-ui >/dev/null + "$CLI" restart cmp-lab-ui >/dev/null fi fi fi From 9cbf23307694e32bc62f6b309152985b53fda473 Mon Sep 17 00:00:00 2001 From: Rick Houlihan Date: Thu, 1 Oct 2026 10:36:22 -0500 Subject: [PATCH 12/12] converged-modeling-patterns: pattern 04 flow figure 'same rows, two reads' Sync from rhoulihan/converged-modeling-patterns master (3d9f713, PR #13). Co-Authored-By: Claude Opus 5.5 --- .../patterns/04-subset/figures/flow.svg | 2 +- .../presentations/converged-data-modeling-workshop1.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/labs/converged-modeling-patterns/patterns/04-subset/figures/flow.svg b/labs/converged-modeling-patterns/patterns/04-subset/figures/flow.svg index 0effc60..382bcb8 100644 --- a/labs/converged-modeling-patterns/patterns/04-subset/figures/flow.svg +++ b/labs/converged-modeling-patterns/patterns/04-subset/figures/flow.svg @@ -1 +1 @@ -RELATIONAL PROJECTIONPROJECTIONCONSUMERSpoliciesheader, onceclaim_eventsappend · DESC indexclaimsstatus · reservepolicy summarySQL/JSONFETCH FIRST 10full historysame query,no FETCH FIRSTAgents · appSQL/JSON docAdjustersSQL · auditFraud reviewSQL analytics \ No newline at end of file +RELATIONAL PROJECTIONSAME ROWS, TWO READSCONSUMERSpoliciesheader, onceclaim_eventsappend · DESC indexclaimsstatus · reservepolicy summarySQL/JSONFETCH FIRST 10full historysame query,no FETCH FIRSTAgents · appSQL/JSON docAdjustersSQL · auditFraud reviewSQL analytics \ No newline at end of file diff --git a/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html b/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html index 34e7848..db99fd7 100644 --- a/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html +++ b/labs/converged-modeling-patterns/presentations/converged-data-modeling-workshop1.html @@ -1087,7 +1087,7 @@

    Stop maintaining the subset: insert once, read the top ten

    -
    RELATIONAL PROJECTIONPROJECTIONCONSUMERSpoliciesheader, onceclaim_eventsappend · DESC indexclaimsstatus · reservepolicy summarySQL/JSONFETCH FIRST 10full historysame query,no FETCH FIRSTAgents · appSQL/JSON docAdjustersSQL · auditFraud reviewSQL analytics
    +
    RELATIONAL PROJECTIONSAME ROWS, TWO READSCONSUMERSpoliciesheader, onceclaim_eventsappend · DESC indexclaimsstatus · reservepolicy summarySQL/JSONFETCH FIRST 10full historysame query,no FETCH FIRSTAgents · appSQL/JSON docAdjustersSQL · auditFraud reviewSQL analytics
    When to flip back: if the inline slice is frozen at write time and rarely changes (the three coverages printed on the declarations page), keep it in the document. A slice that changes on every event is a query.
    advisor_idfull_nameofficedesk
    A-317Grace HopperLeedsManchesterx0101