From 9c7128d547091a9b6f1c356fd5bffd5964ed54a3 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 6 Aug 2026 09:37:10 +0100 Subject: [PATCH 01/69] core: plan for supporter badges (#7325) * core: plan for supporter badges * ledger maths * update plan * language * lines * lists * redeem * badge rpc protocol and draft service schema/plan * update badge service protocol to support upgrades * badge purchase ledger types and schema * type, mvp plan --------- Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> --- docs/protocol/badges-rpc.md | 64 +++ docs/protocol/badges-rpc.schema.json | 384 +++++++++++++ plans/2026-07-30-supporter-badges-v3-ux.md | 534 ++++++++++++++++++ .../2026-07-31-badges-core-implementation.md | 410 ++++++++++++++ plans/2026-07-31-badges-service-schema.sql | 146 +++++ plans/2026-08-04-badges-mvp-scope.md | 83 +++ simplex-chat.cabal | 2 + src/Simplex/Chat/Badges/Service.hs | 244 ++++++++ src/Simplex/Chat/Badges/Store.hs | 215 +++++++ .../Migrations/M20260731_user_badges.hs | 169 ++++++ 10 files changed, 2251 insertions(+) create mode 100644 docs/protocol/badges-rpc.md create mode 100644 docs/protocol/badges-rpc.schema.json create mode 100644 plans/2026-07-30-supporter-badges-v3-ux.md create mode 100644 plans/2026-07-31-badges-core-implementation.md create mode 100644 plans/2026-07-31-badges-service-schema.sql create mode 100644 plans/2026-08-04-badges-mvp-scope.md create mode 100644 src/Simplex/Chat/Badges/Service.hs create mode 100644 src/Simplex/Chat/Badges/Store.hs create mode 100644 src/Simplex/Chat/Store/SQLite/Migrations/M20260731_user_badges.hs diff --git a/docs/protocol/badges-rpc.md b/docs/protocol/badges-rpc.md new file mode 100644 index 0000000000..635b2d8e7c --- /dev/null +++ b/docs/protocol/badges-rpc.md @@ -0,0 +1,64 @@ +# Badge service RPC protocol + +Schema: `badges-rpc.schema.json`, definitions `request` and `response`. Types: `Simplex.Chat.Badges.Service`. Model: `plans/2026-07-30-supporter-badges-v3-ux.md` §3 — cited below as "model". + +## Transport + +Service RPC (`plans/2026-07-22-service-rpc-chat.md`, branch `rpc`): the request travels in `APISendServiceRequest.request`, the response in `CRServiceResponse.responseData`; one response per request; per-call timeout. + +A request is an envelope: `version` — the client's protocol version; `purchaseKey`; `request` — the command, discriminated on `type`. Responses are discriminated on `type`. The service is deployed ahead of app releases, answers within the client's `version`, and rejects clients older than it supports with `unsupported_version`. + +## Identity + +Each purchase runs under a fresh Ed25519 key pair; `purchaseKey` is its public part and identifies the badge. The service cannot link purchases of one user; the exceptions are the declared upgrades below. `getBadgeCatalog` may omit `purchaseKey`: unsigned, it returns the catalog alone; signed, its response adds the purchase's `badgeStatement` — a client holding a lapsed badge checks for credits in the same request that prices a new purchase, and buys under a fresh key only when the statement shows none. Every other command requires the key and is signed with it. The agent delivers the verified signer key alongside the request; the service rejects a `purchaseKey` that differs from it with `bad_request`, and a key it holds no record of with `unknown_purchase_key`. + +A purchase record is created by `getBadgeInvoice`, or by `purchaseBadge` funded with `apple`, `google`, or `code`; `transferBadge` creates the receiving one (post-MVP). + +## Idempotency + +A timeout hides the outcome, so the client repeats the identical signed request at its next trigger, never on a poll timer. + +- `getBadgeInvoice` — returns the open invoice again; a new invoice is created only when none is open. +- `purchaseBadge` — a payment already credited returns the same `badgeCredential` and writes nothing. +- `upgradeBadgeSubscription` — evidence already applied returns the same result and writes nothing. +- `issueBadge` — repeated within an issued period, returns the cached credential and writes nothing. +- `transferBadge` — a receipt used by the same key returns the same result; used by another key, `receipt_used`. + +## Commands + +`purchaseBadge`, `upgradeBadgeSubscription`, and `issueBadge` carry `badgeRequest`, the signer's input (`BadgeRequest`, `Simplex.Chat.Badges`): the service signs exactly this content or rejects the command. The proposed `badgeExpiry` is capped by the funded coverage (`sundayAfter`, model §3); its absence requests a lifetime credential; `badgeExtra` is reserved and must be empty. + +- `getBadgeCatalog` → `badgeCatalog` — the prices and offers; signed, also the purchase's `badgeStatement`. Store builds never send it: prices come from the store and SKUs from app config. +- `getBadgeInvoice` → `badgeInvoice` — prices the purchase for `badgeInfo` and `paymentVia` (`card` — Stripe; `crypto` — btc, xmr): `badgeType`, `months`, `price`, `discount`, the upgrade `credit`, `amount` = price − discount − credit, `expiresAt`, and `paymentTo` — `url` for card; `address` and `cryptoAmount` for crypto. `priceId` pins the price the client displayed; `offerId` selects a discounted duration, and its absence buys one month at that price. Price and offer status is checked here only: `deprecated` is still accepted, `disabled` is rejected; a badge type with no active price yields `product_unavailable`. +- `purchaseBadge` → `badgeCredential` — verifies the funding (`apple` JWS offline; `google` token via the Publisher API; `invoice` against webhook-confirmed settlement, `payment_pending` until it lands; `code`), records the credit, and issues the first credential, in one round trip. `receipt` is the recovery bearer secret (model § recovery); the service stores its hash; lifetime badges receive none. +- `upgradeBadgeSubscription` → `badgeCredential` — the app-led store subscription change, on the same key: verifies the store evidence of the replaced subscription and records the new plan; an immediate upgrade returns the new credential, a deferred change returns none. +- `issueBadge` → `badgeCredential` — issues the next period from the balance, the only source of issuance. The ledger is advanced first; the credential is signed before the `debit(badge)` and issuance rows are written, in one transaction. An exhausted balance yields no `credential`; the `statement` shows why. Issuing on a paused badge resumes it (model 2.13). +- `pauseBadge` (post-MVP) → `badgeCredential` — suspends issuance and lapse (model 2.13). +- `transferBadge` (post-MVP) → `badgeCredential` — the receipt moves the remaining balance and the provider binding to the signing key; the transferred period's re-issue debits a month, and the response holds a fresh receipt, retiring the presented one. Lifetime badges are not transferable by the command — support handles them. + +## Upgrades + +Always a new purchase under a new key, except store subscriptions, where the store owns the change. + +- Non-store: `getBadgeInvoice.upgrade` — `fromPurchaseKey`, the old purchase's `receipt`, `receiptSignature` binding the old key to the new, and the asserted old `balance`. The invoice returns the conversion `credit`; settlement records `debit(upgrade)` on the old purchase and the credit on the new. +- Store one-time: an upgrade SKU at a fixed discounted price; `purchaseBadge.upgrade` — `fromPurchaseKey`, `receipt`, `receiptSignature` — proves eligibility (an unexpired cheaper badge), because the store cannot gate who buys the SKU. +- Store subscription, app-led: the native subscription-group flow (Apple — immediate, with the store's prorated refund; Google — per replacement mode), then `upgradeBadgeSubscription` with the new evidence. +- Store subscription, sheet-led, and every downgrade: the client sends nothing — the service discovers the change from provider state and notifications, and each renewal credits months of the charged badge type. + +## Catalog + +`prices` — `priceId`, `badgeType`, `monthPrice`, `currency`, `status`, `createdAt`; `offers` — `offerId`, `priceId`? (absent applies to any price), `months`, `discount`, `status`, `createdAt`. An offer states a discount, as free months or a percentage; a duration without one is priced at `months × monthPrice`. Repricing appends a price and deprecates the old, which is still accepted at invoice creation; deprecated prices and offers are sent so that a refresh cannot remove what the client pinned, and disabled ones are omitted. Rendering is app-driven — tiers and durations come from app resources, and one without a price is shown disabled. + +## Statement and balance + +The ledger is written by the service alone (model §3); the client keeps a verbatim replica and computes the effective balance from its last entry and the time. + +`statement` — `entries`, and `previousEntryId` when they attach after an entry the client holds; its absence marks entries that attach to nothing. Each entry states `entryId`, the signed `changeMonths`, the resulting `balanceMonths`, `balanceStartTs`, and `balanceBadgeType`, `wasPausedSince` on the entry ending a pause, `createdAt`, and `entryType` — `credit`: `payment {invoiceId?}`, `charge {chargeId}`, `support`, `transferIn {fromPurchaseKey}`, `opening`; `debit`: `refund`, `upgrade {toPurchaseKey}`, `transferOut {toPurchaseKey}`, `support`, `badge`, `lapse`. An unknown type is stored as received and decoded after an app upgrade. + +`balance` — `lastEntry`, the client's last entry, asserting the position and the months it believes it holds. + +An assertion that names an entry the service holds is a prefix: the service proceeds and returns what follows it. Otherwise the service heals its own ledger first — provider evidence for charges, time for lapses — proceeds, and returns either the complete history or one `opening` credit. An `opening` entry is an absolute restatement: the ledger is reset to the amount it states, without relation to the preceding entry, which also serves a new device and, later, the discarding of old history into a brought-forward balance. + +## Errors + +`retryAfter` marks the transient codes: `payment_pending`, `provider_unavailable`, `rate_limited`. `offer_disabled` calls for a catalog refresh. `code_invalid` covers unknown and revoked codes; `code_used` — redeemed under another key. `receipt_invalid` covers unknown receipts. All other codes are terminal for the attempted command. diff --git a/docs/protocol/badges-rpc.schema.json b/docs/protocol/badges-rpc.schema.json new file mode 100644 index 0000000000..b1c3cf4a66 --- /dev/null +++ b/docs/protocol/badges-rpc.schema.json @@ -0,0 +1,384 @@ +{ + "metadata": { + "description": "JTD schema for badge service RPC requests and responses, see badges-rpc.md." + }, + "definitions": { + "base64url": { + "type": "string", + "metadata": {"format": "base64url encoded string"} + }, + "purchaseKey": { + "ref": "base64url", + "metadata": {"comment": "must match the RPC transport key"} + }, + "currencyAmount": { + "type": "uint32", + "metadata": {"comment": "USD etc. are in minor units, following Stripe etc. convention"} + }, + "badgeInfo": { + "properties": { + "badgeType": {"type": "string"}, + "badgeExtra": {"type": "string"} + }, + "optionalProperties": { + "badgeExpiry": {"type": "timestamp"} + } + }, + "badgeRequest": { + "properties": { + "masterKey": {"ref": "base64url"}, + "badgeInfo": {"ref": "badgeInfo"} + } + }, + "credential": { + "properties": { + "badgeKeyIdx": {"type": "uint16"}, + "masterKey": {"ref": "base64url"}, + "signature": {"ref": "base64url"}, + "badgeInfo": {"ref": "badgeInfo"} + } + }, + "paymentVia": { + "discriminator": "type", + "mapping": { + "card": { + "properties": {"provider": {"enum": ["stripe"]}} + }, + "crypto": { + "properties": {"currency": {"enum": ["btc", "xmr"]}} + } + } + }, + "paymentTo": { + "discriminator": "type", + "mapping": { + "card": { + "properties": { + "provider": {"enum": ["stripe"]}, + "url": {"type": "string"} + } + }, + "crypto": { + "properties": { + "currency": {"enum": ["btc", "xmr"]}, + "address": {"type": "string"}, + "cryptoAmount": {"type": "string"} + } + } + } + }, + "payment": { + "discriminator": "type", + "mapping": { + "apple": { + "properties": {"jws": {"type": "string"}} + }, + "google": { + "properties": {"token": {"type": "string"}} + }, + "invoice": { + "properties": {"invoiceId": {"type": "string"}} + }, + "code": { + "properties": {"code": {"type": "string"}} + } + } + }, + "upgrade": { + "properties": { + "fromPurchaseKey": {"ref": "base64url"}, + "receipt": {"type": "string"}, + "receiptSignature": {"ref": "base64url"}, + "balance": {"ref": "balance"} + } + }, + "catalog": { + "properties": { + "prices": {"elements": {"ref": "badgePrice"}}, + "offers": {"elements": {"ref": "badgeOffer"}} + } + }, + "badgePrice": { + "properties": { + "priceId": {"type": "string"}, + "badgeType": {"type": "string"}, + "monthPrice": {"ref": "currencyAmount"}, + "currency": {"type": "string"}, + "status": {"ref": "badgeItemStatus"}, + "createdAt": {"type": "timestamp"} + } + }, + "badgeOffer": { + "properties": { + "offerId": {"type": "string"}, + "months": {"type": "uint8"}, + "discount": {"ref": "offerDiscount"}, + "status": {"ref": "badgeItemStatus"}, + "createdAt": {"type": "timestamp"} + }, + "optionalProperties": { + "priceId": { + "type": "string", + "metadata": {"comment": "absent applies to any price"} + } + } + }, + "offerDiscount": { + "discriminator": "type", + "mapping": { + "freeMonths": { + "properties": {"freeMonths": {"type": "uint8"}} + }, + "discount": { + "properties": { + "discount": { + "type": "uint8", + "metadata": {"comment": "percent"} + } + } + } + } + }, + "badgeItemStatus": { + "enum": ["active", "deprecated", "disabled"], + "metadata": {"comment": "disabled is not sent"} + }, + "statement": { + "properties": { + "entries": {"elements": {"ref": "ledgerEntry"}} + }, + "optionalProperties": { + "previousEntryId": { + "type": "string", + "metadata": {"comment": "matches the client's asserted entryId, absent for the full ledger"} + } + } + }, + "balance": { + "properties": { + "lastEntry": {"ref": "ledgerEntry"} + } + }, + "ledgerEntry": { + "properties": { + "entryId": {"type": "string"}, + "changeMonths": {"type": "int16"}, + "balanceMonths": {"type": "uint16"}, + "balanceStartTs": {"type": "timestamp"}, + "balanceBadgeType": {"type": "string"}, + "createdAt": {"type": "timestamp"}, + "entryType": {"ref": "ledgerEntryType"} + }, + "optionalProperties": { + "wasPausedSince": {"type": "timestamp"} + } + }, + "ledgerEntryType": { + "discriminator": "type", + "mapping": { + "credit": { + "properties": {"credit": {"ref": "ledgerCredit"}} + }, + "debit": { + "properties": {"debit": {"ref": "ledgerDebit"}} + } + } + }, + "ledgerCredit": { + "discriminator": "type", + "mapping": { + "payment": { + "optionalProperties": { + "invoiceId": { + "type": "string", + "metadata": {"comment": "absent for store and code payments"} + } + } + }, + "charge": { + "properties": {"chargeId": {"type": "string"}} + }, + "support": { + "optionalProperties": {} + }, + "transferIn": { + "properties": {"fromPurchaseKey": {"ref": "base64url"}} + }, + "opening": { + "optionalProperties": {} + } + } + }, + "ledgerDebit": { + "discriminator": "type", + "mapping": { + "refund": { + "optionalProperties": {} + }, + "upgrade": { + "properties": {"toPurchaseKey": {"ref": "base64url"}} + }, + "transferOut": { + "properties": {"toPurchaseKey": {"ref": "base64url"}} + }, + "support": { + "optionalProperties": {} + }, + "badge": { + "optionalProperties": {} + }, + "lapse": { + "optionalProperties": {} + } + } + }, + "request": { + "properties": { + "version": {"type": "uint16"}, + "request": {"ref": "command"} + }, + "optionalProperties": { + "purchaseKey": { + "ref": "purchaseKey", + "metadata": {"comment": "optional for getBadgeCatalog, required for other commands"} + } + } + }, + "command": { + "discriminator": "type", + "mapping": { + "getBadgeCatalog": { + "optionalProperties": {} + }, + "getBadgeInvoice": { + "properties": { + "priceId": {"type": "string"}, + "badgeInfo": {"ref": "badgeInfo"}, + "paymentVia": {"ref": "paymentVia"} + }, + "optionalProperties": { + "offerId": { + "type": "string", + "metadata": {"comment": "absent for 1 month at the badge price"} + }, + "upgrade": { + "ref": "upgrade", + "metadata": {"comment": "upgrade non-store badge"} + } + } + }, + "purchaseBadge": { + "properties": { + "badgeRequest": {"ref": "badgeRequest"}, + "payment": {"ref": "payment"} + }, + "optionalProperties": { + "upgrade": { + "ref": "upgrade", + "metadata": {"comment": "upgrade store 1-time badge"} + } + } + }, + "upgradeBadgeSubscription": { + "properties": { + "badgeRequest": {"ref": "badgeRequest"}, + "payment": { + "ref": "payment", + "metadata": {"comment": "store payments only"} + }, + "balance": {"ref": "balance"} + } + }, + "issueBadge": { + "properties": { + "badgeRequest": {"ref": "badgeRequest"}, + "balance": {"ref": "balance"} + } + }, + "pauseBadge": { + "optionalProperties": {} + }, + "transferBadge": { + "properties": { + "badgeRequest": {"ref": "badgeRequest"}, + "receipt": {"type": "string"} + } + } + } + }, + "response": { + "discriminator": "type", + "mapping": { + "badgeCatalog": { + "properties": { + "catalog": {"ref": "catalog"} + }, + "optionalProperties": { + "badgeStatement": { + "ref": "statement", + "metadata": {"comment": "for signed getBadgeCatalog"} + } + } + }, + "badgeInvoice": { + "properties": { + "invoiceId": {"type": "string"}, + "badgeType": {"type": "string"}, + "months": {"type": "uint8"}, + "price": {"ref": "currencyAmount"}, + "amount": { + "ref": "currencyAmount", + "metadata": {"comment": "price - discount - credit"} + }, + "currency": {"type": "string"}, + "expiresAt": {"type": "timestamp"}, + "paymentTo": {"ref": "paymentTo"} + }, + "optionalProperties": { + "discount": { + "ref": "currencyAmount", + "metadata": {"comment": "discount amount from monthly price"} + }, + "credit": { + "ref": "currencyAmount", + "metadata": {"comment": "credit for upgrade"} + } + } + }, + "badgeCredential": { + "properties": { + "statement": {"ref": "statement"} + }, + "optionalProperties": { + "credential": { + "ref": "credential", + "metadata": {"comment": "absent when no balance to issueBadge or no current credential for pause"} + }, + "receipt": { + "type": "string", + "metadata": {"comment": "not provided for lifetime badges"} + } + } + }, + "error": { + "properties": { + "code": { + "enum": [ + "bad_request", "unsupported_version", "unknown_purchase_key", + "unknown_offer_id", "offer_disabled", "offer_mismatch", "product_unavailable", + "payment_not_entitled", "payment_pending", "provider_unavailable", "rate_limited", + "code_invalid", "code_used", "code_expired", + "receipt_invalid", "receipt_used", + "internal" + ] + } + }, + "optionalProperties": { + "message": {"type": "string"}, + "retryAfter": {"type": "uint32"} + } + } + } + } + } +} diff --git a/plans/2026-07-30-supporter-badges-v3-ux.md b/plans/2026-07-30-supporter-badges-v3-ux.md new file mode 100644 index 0000000000..12b75acf0a --- /dev/null +++ b/plans/2026-07-30-supporter-badges-v3-ux.md @@ -0,0 +1,534 @@ +# Supporter Badges v3 + +**Date:** 2026-07-30 +**Status:** draft +**Transport:** service RPC (`plans/2026-07-22-service-rpc-chat.md`, implemented, branch `rpc`): signed requests (`APISendServiceRequest.signKey`), verified signer key delivered to the service (`CEvtServiceRequest.signerKey`), one response per request, per-call timeout, no transport persistence. The client repeats the same signed request after a timeout; every bot operation is idempotent. +**Designs:** `/code/simplex-chat-art/screens/badges-mobile_15-*.jpg`, `_16-*-dark.jpg` + +## Principles + +- At most one badge is shown per profile. A user holds at most two badges per profile: paid (supporter/legend) and investor (2.7). +- The core engine performs all badge automation and emits events; apps render and call APIs only for user actions (2.9). +- No bot push; the client reads state via its own requests. Bot-initiated messaging, if ever added, is an opt-in SimpleX contact. +- Paid time is a months balance on a single-entry ledger; unconsumed months lapse; credentials are issued monthly for all plans; prepaid time is pausable post-MVP (§3, 2.13). +- One current alert per profile, derived from state; a later state supersedes an unacknowledged earlier alert (2.4). +- Renewal reminders on by default with opt-out; no success screens. +- Credentials expire on Sundays (UTC); profile updates are sent on Mondays, including removal updates for expired badges; the user is shown one date — the payment date (2.11). + +## 1. Existing designs + +| Screen | Covers | +|---|---| +| `banner` | chat-list banner: "Support SimpleX — Get badge + files up to 5GB", dismissable | +| `support-simplex` | intro screen → Choose your level | +| `your-level` | tier choice: Supporter $7/month (2GB) vs Legend $70/month (5GB), profile preview with badge | +| `pay` | plan choice: "1 month" vs "Subscribe", Pay button, renewal date | +| `settings` | "Supporter perks" row in Your settings | +| `whats-new` | v7.0 announcement entry | + +These designs cover the acquisition path for iOS/Play builds only. Missing designs: + +- payment method + duration selector (2.1) +- crypto invoice screen (2.1) +- user-picker badge presence (2.3) +- management screen (2.6) +- start-sharing question (2.5) + +Store builds display store-fetched localized prices; catalog prices apply to Stripe/BTCPay only. + +## 2. UX + +### 2.1 Payment method and duration (non-store builds) + +- Store builds: no method UI. One-time 1 month; monthly/annual subscriptions. +- Non-store builds: method selector (Card / Bitcoin / Monero), all multi-month prepaid; no card subscriptions (§6.11). Plan screen copy: "payments don't renew — you choose how many months to pay for". +- Durations 1 / 3 / 12 months; prices 1× / 2× / 6× monthly (§6.12). Duration selector — new design. +- Unavailable options: disabled offers and inactive products are shown as disabled; when no option is available, the purchase screen shows an unavailable notice; the `product_unavailable` error is displayed the same way. +- Crypto payment screen (new design): + - amount, one-off address, QR, copy, open-in-wallet, countdown (BTCPay fixes the fiat rate at invoice creation; the invoice expires in ~15–60 min); + - states: waiting → processing (transaction seen, unconfirmed) → settled; expired → "Invoice expired" + new invoice (new payment row); + - fiat-first display; + - partial payment: the BTCPay marked state is shown; the user is directed to support. +- After settlement the issue response contains a receipt code (§3 recovery); one-time save prompt at checkout ("keep your receipt — it recovers unused months if you lose this device"); receipts are shown in payment history (2.6). +- Stripe: payment link opened in the system browser; "Waiting for payment…" + open-link-again; the link is stored in the payment row. + +### 2.2 Chat-list banner + +Shown after ≥ 3 conversations and not in the first days after install; hidden for ~6 months after dismissal; not shown while a badge is active or a payment is pending; not re-shown on expiry. Exact thresholds set at implementation. + +### 2.3 User picker (design needed) + +Menu opened from the avatar in the chat-list toolbar (`apps/multiplatform/.../chatlist/UserPicker.kt`, `apps/ios/Shared/Views/ChatList/UserPicker.swift`; the profile bar renders `localBadge` — UserPicker.kt:213). + +- Option A (preferred): badge icon on the right of the profile bar, opens the management screen; indicator dot for the current alert. Icon shown while a badge is held or a payment is pending; acquisition entry remains the banner and the Settings row. +- Option B: full option row (state text: "Supporter · renews Aug 21", "ends Oct 22", "⚠ payment problem"), replacing the Settings row; "Your chat profiles" is moved to Settings. + +### 2.4 Alerts + +| Alert | When | Content / actions | +|---|---|---| +| subscription renewal approaching | 3 days before `renews_at`, once per cycle | price + date; OK · Remind me again (1 day before) · Cancel path | +| payment failed / grace | on provider grace/hold state, once per episode | "Payment problem — perks until {date}. Fix payment." → store fix flow | +| subscription ended | at paid-through, once | "Subscription ended {date}." + Resubscribe | +| prepaid ending | 3 days before paid-through, balance 0, not paused, once | "Your support ends {date}. Renew for {price}?" OK · Remind me again (1 day before) | +| support ended | at paid-through, balance 0, no active subscription, not paused, once | "Your support ended {date}." + Renew / Choose level | +| renewal charged | never — visible in charge history and picker badge state | — | +| credential issued | never | — | + +No alerts for paused badges (2.13). An alert is shown in its profile's context (indicator on the profile row in the picker). + +Persistence: no alerts table. On the badge row: `alert_acked_kind` + `alert_acked_episode` (the episode value, e.g. this cycle's `renews_at`) and `alert_snooze_until`. Core emits `CEvtBadgeAlert` when the derived alert differs from the acknowledged one; on OK the client stores the kind + episode; on snooze it sets `alert_snooze_until`, after which the alert is emitted once more. + +Opt-out toggle "Remind me about renewals and expiry" disables renewal-approaching and prepaid-ending; the other alerts cannot be disabled. + +### 2.5 Start-sharing + +- Default: a newly acquired badge is presented immediately; switching the shown badge takes effect immediately. +- Perks require presentation: the recipient verifies file size against the presented proof (`maxXFTPFileSize` on `PeerBadge`); the sender's client disables the perk at paid-through (2.11). This is stated in the "Now / From Monday" question. +- Management-screen toggle: "Show new badges from Monday" — off by default. +- Global setting "Show advanced privacy questions" (Privacy & security): when on, acquisitions that change the presented badge ask "Start showing: Now / From Monday". Later candidates for the same setting: deletion notifications, rejected contact requests, call questions. +- While presentation is delayed: the previous badge remains presented; the management screen shows "starts Monday {date}"; field `use_from`. + +### 2.6 Management screen (design needed) + +All dates shown are paid-through (2.11): + +1. **Acquiring / payment pending** — method-specific pending UI (2.1); old badge unchanged. +2. **Active prepaid** — "Ends {date}" ({N} months left); payment history (last 12; Stripe/crypto payments with receipts, §3); Pause (2.13); Subscribe; Upgrade. +3. **Active subscription** — "Renews {date} · {price}"; Cancel; Upgrade; charge history (last 12: date, amount, method, in the charged currency); reminders toggle. +4. **Cancelled, still active** — "Ends {date}"; Resubscribe. +5. **Payment issue** — banner over state 3; perks remain enabled during the provider grace period. +6. **Paused** — "Paused · {N} months left"; Resume. +7. **Expired** — "Support ended {date}"; Renew / Choose level. +8. **Held badges** — list of held badges (validity, source); radio for the shown one; pending presentation ("starts Monday {date}"). On a switch the client sends a profile update. +9. **Redeem code** entry (2.8). +10. Settings: reminders toggle (2.4); "Show new badges from Monday" (2.5). + +### 2.7 Held badges and switching + +- Perks apply only from the shown badge, verified against the presented proof. Holding legend while showing investor yields 2 GB (`BTLegend` alone yields 5 GB). Switch UI copy: "Sending 5 GB files requires showing the Legend badge". +- Exactly one shown; on a switch the client sends a profile update with a fresh proof (`setUserBadge` + broadcast; the presentation copy is stored in `contact_profiles`). Timing per 2.5. +- When the shown paid badge expires and an investor badge is held: the client switches the shown badge to investor with the Monday update. + +### 2.8 Redeem codes + +The service grants any badge type for 1/3/12 months per code (investor: lifetime); the response contains badge type + granted months. Granted months are recorded in the ledger; credentials are re-issued monthly. UX: "Have a code?" → paste → signed `redeem` (fresh order) → the badge is shown (2.5). Errors: invalid / used / expired, inline. + +### 2.9 Core engine + +Triggers: + +- chat start +- foreground +- network restore +- profile switch +- timers: renewal, expiry, Monday boundaries + +1. resume: settled payments without issuance; subscription renewals after `renews_at`; monthly re-issue while balance > 0 and not paused; invoiced/pending crypto payments; +2. `advance(now)` + `issue(now)` at each `issue`/`status` request (§3); +3. presentation on/after Monday (UTC): fresh proofs for renewed badges and for badges whose `use_from` was reached; removal updates for badges expired unrenewed; +4. alert derivation (2.4), `CEvtBadgeAlert`; +5. sync: store charges and ledger rows received after the `since` cursor (§3). + +Events to the app: `CEvtBadgeChanged`, `CEvtBadgeAlert`. + +API calls (user actions): + +- get status +- get catalog (purchase-screen open, §3 prices) +- start purchase / get invoice +- issue after store payment (the app passes store evidence to core) +- cancel — opens the store sheet; no bot op +- pause / resume +- switch shown badge / set start date +- acknowledge / snooze alert +- reminder and presentation toggles +- redeem code + +On `ASETimeout` core retries the identical signed envelope on the next trigger; never on a poll timer. + +### 2.10 Upgrades + +- supporter → legend (store subscription): native upgrade flow, same subscription group. New badge row (new keys); old row superseded. +- prepaid upgrades: legend invoice = legend price − full supporter price while the supporter badge is unexpired; remaining supporter months are removed by `debit(conversion)` (§3). Both amounts are displayed. +- one-time → subscription (same tier): same badge row, new payment row; `payment_id` is updated to the new payment. +- Presentation per 2.5, including investor → legend. + +### 2.11 Dates + +- Credential expiry = paid-through of the issued month rounded up to Sunday (end of Sunday, UTC) — `sundayAfter` (§3). +- The user is shown one date — paid-through: "Renews {date}" / "Ends {date}" / "Support ended {date}". "Badge valid until" does not appear anywhere. The sender's client disables perks at paid-through; the recipient's client enforces credential expiry + grace. Small print: "your profile badge may remain visible to contacts for a few days after your support ends." +- Monday send-outs: fresh proofs for renewed badges; removal updates (`setUserBadge Nothing`) for badges expired unrenewed. +- Recipient display: a peer badge with expiry E is displayed as active until E + 7 days; the `BSExpiredOld` boundary (31 days) is shifted by the same 7 days. Both in the recipient's `mkBadgeStatus` derivation. + +### 2.12 Multi-profile + +Badges, payments, charges, ledgers are per `user_id`. No badge is presented for incognito profiles. + +### 2.13 Pause (prepaid only, post-MVP) + +Issued credentials are not pausable (expiry is signed); re-issuance is. Pause suspends issuance and lapse, with no duration limit. + +- Prepaid time only (crypto, Stripe one-time, codes). +- Signed RPC op, recorded bot-side and mirrored (`resume` transition, §3). +- While paused: the current credential remains valid to its expiry; no alerts; management screen state 6. +- On resume: issuance is resumed at the next `issue` request. + +## 3. Model + +### Ownership — two databases + +Bot tables (no private keys, no master keys, no UI state): + +- `orders` — `order_key` PK; pinned `product_id`; timestamps. Order state is derived from the ledger + provider. +- `payments` — user-initiated payments, as opposed to charges: bot-assigned `payment_ref`; per-payment `offer_id`, `provider`, `provider_ref`, receipt hash, status +- `charges` +- `badge_ledger` — authoritative +- `issuances` + cached credentials +- `codes` — code hashes, granted type/months, redemption, batch revocation +- webhook dedup + +Client tables: + +- `products`, `offers` — catalog cache +- `payments` +- `charges` — replica +- `badge_ledger` — replica +- `issuances` — replica +- `badges` — keys, credential, UI state + +Rules: + +- The replicated tables (`badge_ledger`, `issuances`, `charges`) have identical row content on both sides: bot-assigned row ids and refs. Ledger and issuance account column: `order_key` on the bot, `badge_id` on the client — 1:1, one key per badge. Charges reference payments on both sides: `payment_ref` on the bot, `bot_payment_ref` on the client. +- Synced via the `since` cursor; all ledger transitions (§ ledger) are executed by the bot only; the client stores received rows unchanged. +- Not replicated: the client's `payments` row records the local act (evidence, invoice URL, status); the bot's `payments` row records the binding (offer, `provider_ref`, receipt hash); `orders` records the pinned product; `badges` has no bot counterpart. +- Payments are product-agnostic on both sides: keyed by `order_key`, without references to product tables. The product row references its current payment; payment history is the join on `order_key`. + +### `products` + `offers` — two-tier catalog + +Tier 1 — `products`. All builds use it for product structure; display names and localization are app resources. + +- `product_id` PK +- `product_type` — `badge` +- `badge_type` — `supporter|legend|investor` +- `active` + +Tier 2 — `offers`: + +- `offer_id` PK +- `product_id` → products +- `plan` — `one_time|monthly|annual` +- `months` — 1/3/12 for one-time; NULL for subscriptions +- `apple_product_id`, `google_product_id` — store offers +- `price`, `currency` — non-store offers +- `state` — `active|deprecated|disabled` + +Rules: + +- Offers are append-only: repricing = new offer row + deprecation of the old. +- Lifecycle: `active` (rendered + accepted) → `deprecated` (hidden; accepted by `order`; window length is operator policy) → `disabled` (`order` rejects with a refresh-catalog error). +- State is checked at invoice creation only; the amount of an existing invoice does not change; `issue` on a settled payment is always honored. +- For store offers the state controls display only; their sale lifecycle is managed in the store consoles. +- `catalog` response: `active` + `deprecated` offers with state; `disabled` omitted. The client renders `active`, retains `deprecated`, may delete offers absent from the response unless referenced by a payment row. +- The duration selector (2.1) is built from active one-time offers; discounts are per-duration prices. +- Store one-time is 1 month only (§6.12). Seeded from app config; server-authoritative on the bot. +- Forward compatibility: entries with unknown `product_type`/`badge_type` are stored, not rendered, no error. New product types require an app release; new offers of known products do not. +- Products with `active = false` are not offered; an in-flight request on one → `product_unavailable`. + +Prices: + +- The amount at invoice creation is authoritative: BTCPay fixes the fiat amount, the Stripe page shows the charge, the final amount is confirmed at checkout. +- Display prices: the unsigned `catalog` op on purchase-screen open (non-store builds; non-blocking — the screen is rendered from the stored catalog and updated from the response), and the full catalog included in every `issue`/`status` response; the client reconciles received rows against stored rows. +- The catalog shipped with the app is the offline fallback; store builds read prices from StoreKit/Play Billing. +- Repricing applies to future purchases only. + +### `payments` — user-initiated acts + +- `payment_id` PK +- `user_id` +- `order_key` — the order paid for; badge orders are rows in `badges` +- `offer_id` → offers +- `bot_payment_ref` — bot-assigned; recorded from the invoice response or sync rows +- `months`, `amount`, `currency` — copied from the offer at purchase +- `provider` — `apple|google|stripe|btc|xmr|code` +- `provider_ref` — Apple original transaction id / Google purchase token / Stripe intent ref / BTCPay invoice id / code hash +- `invoice_url` +- `evidence` — Apple JWS / Google token, stored for repeat `issue` requests +- `receipt_code` — client-side (§ recovery); the bot stores `receipt_hash` +- `status` — `new|invoiced|pending|settled|failed|expired` +- `renews_at` — subscriptions +- `cancelled` — bot-confirmed renewal-off +- `created_at`, `updated_at` + +One row per act: purchase, subscribe, upgrade, resubscribe, each crypto invoice, code redemption. Abandoned attempts remain as history. On settlement the bot runs `advance` then `grant` (§ ledger). `paidThrough` = last ledger row; `badge_expiry` = last issuance. + +### `charges` — provider-initiated billing events + +- `charge_id` PK +- `payment_id` → payments +- `bot_payment_ref` — the synced ref; the client resolves `payment_id` from it +- `provider_charge_ref` — Stripe invoice id / Apple transaction id / Google order id +- `period_start`, `period_end` +- `amount`, `currency` — as reported by the provider +- `charged_at` +- unique (`payment_id`, `provider_charge_ref`) + +Rules: + +- Sources — the first charge of a subscription is also a row: + - Stripe: invoices by subscription + - Apple: Get Transaction History by original transaction id + - Google: per-renewal order ids +- Synced to the client via the `since` cursor. +- For each settled charge the bot records a `grant` of the charge's period length: +1 monthly, +12 annual. +- Charges are money facts referenced by grants, not ledger rows: a grant is not recorded for every charge (webhook replays are rejected by the unique key before any grant; charges from provider history for consumed, refunded, or re-bound periods are recorded without grants), and `charged_at` differs from the accounting time. + +### `badge_ledger` + `issuances` + +**Operations to support:** + +| # | operation | months | credential | +|---|---|---|---| +| O1 | prepaid settlement (Stripe/BTCPay) | +N | — | +| O2 | subscription charge settled | +1 monthly / +12 annual | — | +| O3 | code redemption | +N | — | +| O4 | goodwill grant | +N | — | +| O5 | transfer in | +M | — | +| O6 | refund / chargeback | −balance | issued credential remains valid | +| O7 | upgrade conversion | −balance | — | +| O8 | transfer out | −balance | — | +| O9 | correction (code abuse) | −balance | — | +| O10 | issue a month | −1 | new credential | +| O11 | lapse elapsed months | −k | — | +| O12 | repeat issue, same month | none | cached credential, no rows | +| O13 | lifetime issuance (investor) | none — no ledger | new credential | +| O14 | pause / resume (post-MVP) | 0 | — | + +**Ledger state** — two values; every row contains the state after it; **the last row is the state**: + +- `months` — unused months. +- `start` — the date the unused balance starts. Not changed by grants (while `months > 0`); advanced by one month per `consume` and by the lapsed count per `lapse`. + +Coverage = `[start, addMonths months start)`. `paidThrough = addMonths months start` — read from the last row alone; not a `badges` column. + +**Row:** + +- `entry_id` PK +- `badge_id` +- `op` — `grant(source) | debit(reason) | consume | lapse | resume` +- `delta` — signed months change +- `months` — state: unused months after this row +- `start` — state: balance start after this row +- ref — bot-assigned payment ref / `charge_id` (grants) +- `created_at` + +Append protocol: lock the badge's ledger → read the last row → compute the next → insert. The client stores rows verbatim from responses (`since` cursor = last `entry_id` held) and can re-verify each row from its predecessor. + +**Transitions** — from the last row `(start, months)`; `advance t` is run before every issue, grant, and debit: + +``` +advance t: -- time bookkeeping only: one lapse row for the fully elapsed months + k = min months (fullMonthsBetween start t) + -- fullMonthsBetween start t: the largest m >= 0 with addMonths m start <= t + if k > 0: append (lapse, −k, months − k, addMonths k start) -- O11, one row + +issue t: -- run after advance t + requires months > 0 && start <= t && no issuance for [start, addMonths 1 start) + sign the credential, expiry sundayAfter (addMonths 1 start) + in one transaction: append (consume, −1, months − 1, addMonths 1 start) -- O10 + + issuance row for [start, addMonths 1 start) + on signing failure: no rows; retried at the next `issue` + +grant t n src: -- O1–O5; t = settlement time, + months == 0 → append (grant src, +n, n, max start t) -- provider period start for O2 + months > 0 → append (grant src, +n, months + n, start) + +debit reason: append (debit reason, −months, 0, start) -- O6–O9 + +resume t: append (resume, 0, months, max start t) -- O14; no row is written on pause +``` + +**Issuances** — separate table; no credential is issued for `grant`/`debit`/`lapse` rows, and no ledger rows are written for lifetime (O13) and cached (O12) issuance events: + +- `issuance_id` PK +- `badge_id` +- `period_start`, `period_end` — NULL for lifetime +- `expiry` — `sundayAfter period_end`; NULL for lifetime +- `entry_id` → the `consume` row; NULL for lifetime +- `created_at` + +`badgeExpiry` = `expiry` of the last issuance — the credential's disclosed field. The current credential is stored in the badge row's credential columns; the issuance rows are the history; the O12 check reads the last issuance's period. + +**Properties:** + +1. Each row's `(months, start)` equals the transition applied to its predecessor — client-verifiable per row. +2. `months ≥ 0`; the sum of `delta` equals `months`; `start` is non-decreasing. +3. `consume` rows ↔ period issuances are 1:1 (`issuances.entry_id`) — written in one transaction, after the credential is signed. +4. Re-running the `issue` op (§4) immediately appends nothing; the response is the cached credential or `status`. + +**Example** — buy 3 months Tue Mar 10, 2026; app off Apr 5 – May 20; issue May 20: + +| # | op | delta | months | start | note | +|---|---|---|---|---|---| +| 1 | grant(payment) | +3 | 3 | Mar 10 | paidThrough = Jun 10 | +| 2 | consume | −1 | 2 | Apr 10 | issuance: Mar 10–Apr 10, expiry Sun Apr 12 | +| 3 | lapse | −1 | 1 | May 10 | Apr 10–May 10 passed unissued; recorded May 20 | +| 4 | consume | −1 | 0 | Jun 10 | issuance: May 10–Jun 10, expiry Sun Jun 14 | + +`paidThrough` after every row = Jun 10. ~Jun 7: prepaid-ending alert. Jun 10: sender-side perk disabled. Sun Jun 14: credential expires. Mon Jun 15: removal update. An additional +3 purchase on Jun 5: `months = 0` → row (grant, +3, 3, max(Jun 10, Jun 5)) → paidThrough = Sep 10. + +**Adjustments:** + +| Case | Rows | +|---|---| +| refund / chargeback (Apple `REFUND` notification; Google voided purchases; Stripe disputes) | `debit(refund)`; issued credentials remain valid to expiry | +| goodwill / outage compensation | `grant(goodwill) +N` with reason text | +| upgrade conversion (2.10) | `debit(conversion)` on the supporter badge; discount on the legend invoice | +| overpaid / duplicate crypto invoice | `grant(goodwill) +N` or refund, per support resolution | +| balance transfer after profile loss | `debit(transfer_out)` old badge / `grant(transfer_in) +M` new badge | +| leaked/abused code batch | `debit(correction)` on affected badges | + +### Recovery and transfer + +- Normal path: `order_priv_key` and `master_key` are part of the profile backup; after restore, a signed `status` request resolves the same order. +- Receipts (Stripe and crypto payments): the bot creates a receipt code for every settled payment — a high-entropy, checksummed, human-copyable bearer secret; only its hash is stored bot-side; redeemable once. Contained in the issue response; stored in the app (payment history, profile backups); save prompt at checkout (2.1). +- Stores: no receipt — the new client presents a fresh store receipt → re-bind, capped per payment and period. +- Transfer: a request signed by the new order key contains the receipt → `debit(transfer_out)` on the old badge, `grant(transfer_in)` on the new; the provider binding is reassigned to the new order. Once per receipt; unissued months only; logged. With a receipt used by another party, only unissued months are transferred, once; disputes are sent to support. +- Support evidence when the receipt is lost: the statement-descriptor ref (~22 chars total incl. prefix, e.g. `SIMPLEX 4F7K2`) and, for crypto, txid + amount/time. Discretionary; sufficient only for cancellation-level actions. +- Both app and receipt lost: no recovery. + +### `badges` — one row per order + +- `badge_id` PK +- `user_id` +- `order_key` — unique; the order identity +- `order_priv_key`, `master_key` +- `badge_type` +- `product_id` → products +- `payment_id` → payments — NOT NULL; the current payment. The badge row and its first payment are created in one transaction +- `status` — `acquiring|issued|superseded|failed` +- credential columns — `key_idx`, `signature`, `badge_expiry` (`BadgeRow` conventions; investor: `badge_expiry` NULL) +- `use_from` — presentation start (2.5) +- `paused_at` (2.13) +- `alert_acked_kind` + `alert_acked_episode`, `alert_snooze_until` (2.4) +- `created_at`, `updated_at` + +- A row is created per manual act (purchase, upgrade, resubscribe, redeem); on subscription renewal and prepaid re-issue the credential is updated in place, with charge and ledger rows added. +- Status is derived at load (`mkBadgeStatus`); the current alert is derived (2.4). Months and `paidThrough`: last ledger row. `badge_expiry`: credential columns / last issuance. +- Get-or-create concurrency: per-user lock (controller `TMap`) + one store transaction + partial unique index — one live (`acquiring|issued`) row per (`user_id`, slot), slot = investor vs paid. +- The shown badge is referenced from the user's record (`users.shown_badge_id`) — at most one, structurally; presentation starts at `use_from`; on a switch the client updates the reference and `contact_profiles` via `setUserBadge`. + +### Storage integration + +`contact_profiles` badge columns remain the presentation copy of the shown badge (`setUserBadge`, Store/Profiles.hs:375). `badges` records what the user has; the profile columns record what the user shows (2.6.8). + +## 4. Wire protocol + +`docs/protocol/badges-rpc.schema.json` + `docs/protocol/badges-rpc.md`. Every request except `catalog` is signed with the order key and contains `orderKey`, its public part; the bot verifies `orderKey` equals the transport signer key. + +| op | request | response | +|---|---|---| +| `catalog` | — | catalog | +| `order` (stripe/btc/xmr) | `offerId`, `provider` | invoice: url/address, amount, expiry | +| `issue` | `masterKey`; store evidence (JWS / token) when settling a store payment; `since` | credential + sync, or status | +| `status` | `since` | status or credential + sync | +| `redeem` | `masterKey`, `code`, `since` | credential + sync | +| `pause` / `resume` (post-MVP, 2.13) | — | status | +| `transfer` (post-MVP, §3 recovery) | `receipt` | status | + +- Offer resolution: by `offerId` at `order`; by the store SKU in the evidence at `issue`; by the code at `redeem`. The order's product is pinned at creation. +- On `issue`: `advance(now)`; then: current month issued → cached credential (O12); `issue` precondition met → `issue(now)`; otherwise `status` (§3). +- Store cancellation is performed in store UI and reflected by the next `status` (§6.11). +- New product types are added in the catalog (`product_type`); the ops are unchanged. + +## 5. Providers + +| | invoice step | pending means | settled evidence | renewal | cancel | +|---|---|---|---|---|---| +| Apple | local: `Product.purchase()` after creating the payment row | `pending` (Ask to Buy / SCA), late result via `Transaction.updates` | signed transaction JWS (verified offline by the bot; contains storefront price + currency) | store auto-renews; issue after `renews_at`; history = Get Transaction History | store management sheet | +| Google | local: `launchBillingFlow` | `purchaseState = PENDING` | purchase token (verified + acknowledged by the bot ≤ 3 days) | store auto-renews; per-renewal order ids | Play subscriptions UI | +| Stripe | RPC `order` → invoice (payment link) | `issue` responds "pending" until the webhook is received | none client-side — signer key + bot webhook state | none — prepaid 1/3/12 months; renewed manually | n/a | +| BTCPay (btc/xmr) | RPC `order` → invoice (address/amount), rate fixed, window ~15–60 min | invoice `Processing` | none client-side — invoice `Settled` at the bot | none — prepaid 1/3/12 months; renewed manually | n/a | + +## 6. Decisions + +Resolved: + +1. Banner thresholds — set at implementation. +2. Alerts — one derived alert per profile; two markers on the badge row; no alerts table. +3. Reminders — 3 days before, once; "Remind me again" 1 day before; opt-out covers reminder kinds only. +4. Start-sharing — immediate by default; "from Monday" toggle; interactive question only under "Show advanced privacy questions". +5. Prepaid upgrade pricing — deduct the full supporter price while the supporter badge is unexpired. +6. Charge history — last 12 in UI. +7. Redeem codes — all badge types; the service response contains type + months. +8. Crypto prices — fiat-first; crypto amount fixed at invoice time. +9. Time accounting — single-entry months ledger (§3); unconsumed months lapse; per-charge grants; pause post-MVP. +10. Receipts — every Stripe/crypto payment; recovery is the receipt's only operation; stores re-bind via the store account. +11. No card (Stripe) subscriptions — multi-month prepaid is the non-store model. Re-add path if ever needed: `cancel` op + bot webhook renewal handling; the schema suffices (`renews_at`/`cancelled`, per-charge grants, receipt re-bind, statement descriptor). +12. Durations and pricing — non-store 1/3/12 months at 1×/2×/6× monthly; store annual at 6× monthly; store offering = 1-month one-time + monthly/annual subscriptions, no store multi-month SKUs; all pricing in offers. +13. Expiry rounding — weekly: badges end Sundays (UTC); Monday presentations + removal updates; payment/issuance cadence stays monthly. +14. One user-facing date — paid-through everywhere; the sender's client disables perks at paid-through; credential expiry is internal. + +Open: + +1. User-picker badge presence: icon (preferred) vs row (2.3) — needs design. +2. Scope of "Show advanced privacy questions" beyond badges — separate initiative. +3. Support tooling at launch: refund clawback is mandatory; transfer is manual (support acts on a presented receipt) until the op is implemented. + +## 7. MVP + +Non-store payments at MVP are multi-month prepaid purchases: one flow (order → pay → issue → grant) for Stripe, BTC, XMR. Subscriptions exist only on stores. The ledger, charges, and receipts are included in the MVP. + +### Launch set + +- Tiers: supporter + legend + investor (redeem codes, 2.8). Store: monthly and annual subscriptions + one-time 1 month. Stripe/BTC/XMR: one-time 1/3/12 months (§6.12). +- Redeem codes for all badge types (2.8) — the reward mechanism; code generation is operator tooling, required at MVP. Held badges with switching (2.7) — a switch takes effect immediately at MVP (`use_from` deferred). +- Ops: `catalog` | `order` | `issue` | `status` | `redeem`. Receipts in issue responses; the full catalog in `issue`/`status` responses. +- Store cancellation: + - the Cancel button opens the store management sheet; the engine sends `status` on return; + - the client renders cancelled-active from local renewal state (StoreKit 2 `RenewalInfo.willAutoRenew`, Play Billing `Purchase.isAutoRenewing`); + - the bot reads cancellation from the provider on every `issue`/`status` (App Store Server API `autoRenewStatus`, Play `subscriptionsv2`) and from store notifications. +- Bot-side provider notifications, required: + - Stripe webhooks + - BTCPay webhooks + - App Store Server Notifications V2 + - Play RTDN + - covering: cancellations, grace/on-hold, refunds/voided purchases + - On a notification the bot updates its records and re-reads provider state; credentials are never issued from a notification payload; nothing is pushed to the client. +- Tables (§3 ownership): + - `products`, `offers` + - `payments` + - `charges` + - `badge_ledger` + - `issuances` + - `badges` — without `use_from`, `paused_at` +- Engine per 2.9: issue requests, monthly re-issue, `advance`/`issue` recording, Monday presentation incl. removal updates, alert derivation. +- Alerts: the full 2.4 set (renewal approaching: store subscriptions only); opt-out toggle. +- Receipts for every Stripe/crypto payment with the checkout save prompt; `transfer` op deferred — support executes recovery manually against a presented receipt. +- Entry points: chat-list banner, Settings "Supporter perks" row, whats-new. Management screen without the Paused state; `charges` recorded from the first release, history UI deferred. +- New designs: + - management screen + - method + duration selector + - crypto invoice screen +- Multi-profile; incognito profiles never present a badge. + +### Required in the first release (or earlier) + +1. +7 day recipient display grace (2.11) — in the earliest release, before purchases. +2. Week-boundary expiry + Monday presentation incl. removal updates (2.11). +3. Order-key-per-badge identity (§4). +4. Apple subscription group containing all subscription SKUs (both tiers × monthly/annual). +5. Refund handling: stop issuance + `debit(refund)`. +6. Stripe statement descriptor with short payment ref. +7. Receipts from the first payment. + +### Deferred + +| Deferred | Returns | Re-add path | +|---|---|---| +| `transfer` op | phase 2 | receipts exist from the first release; support transfers manually until then | +| pause / resume | phase 2 | ledger `resume` transition + `paused_at` column | +| charge history UI | phase 2 | `charges` recorded from the first release | +| upgrades (2.10) | phase 2 | store subscription group in place (item 4 above); bot SKU-change mapping + conversion debits | +| start-sharing question + "Show advanced privacy questions" (`use_from`) | phase 3 | immediate presentation and switching at MVP | +| user-picker badge presence | phase 2 | the Settings row is the entry point until then | diff --git a/plans/2026-07-31-badges-core-implementation.md b/plans/2026-07-31-badges-core-implementation.md new file mode 100644 index 0000000000..4928522b97 --- /dev/null +++ b/plans/2026-07-31-badges-core-implementation.md @@ -0,0 +1,410 @@ +# Supporter Badges v3 — core implementation plan + +**Date:** 2026-07-31 +**Product plan:** `plans/2026-07-30-supporter-badges-v3-ux.md` (referenced below as UX §n) +**Transport:** service RPC (`plans/2026-07-22-service-rpc-chat.md`, implemented, branch `rpc`) +**Scope:** MVP launch set (UX §7): commands `getBadgeCatalog | getBadgeInvoice | purchaseBadge | issueBadge` implemented; `upgradeBadgeSubscription | pauseBadge | transferBadge` are defined in the protocol, post-MVP; no `use_from`, `paused_at`. + +## 1. Client schema + +`src/Simplex/Chat/Store/SQLite/Migrations/M20260731_user_badges.hs` — SQLite only; the Postgres variant is written when the schema is final; registered in the migrations list and cabal at delivery step 2. + +- Table mapping to UX §3: + - `badges` → `badge_purchases` + - `issuances` → `badge_issuances` + - `products` + `offers` → `badge_prices` + `badge_offers` + - `badge_ledger` → `badge_ledger` + - `payments` and `charges` — unprefixed, product-agnostic (UX §3 ownership) +- The payment row is inserted first, the badge row in the same transaction. +- Payment columns beyond the UX §3 list (`invoice_*` client-side; `grace_until` and `exception` on both sides, sent in `paymentState`): + - `invoice_address` — the crypto screen address (UX 2.1) + - `invoice_crypto_amount` — the fixed crypto amount (UX 2.1) + - `invoice_expires_at` — the countdown and the expired state (UX 2.1) + - `grace_until` — the provider grace/hold deadline (UX 2.4 payment failed; 2.6 state 5) + - `exception` — the provider exception state: partial or over payment (UX 2.1) +- The badge–user match for `users.shown_badge_id` is enforced in code. +- `badge_ledger` has one definition — the `badgeLedgerTable` constant in the client migration; the service schema re-uses it literally. +- Settings (reminders opt-out; "Show new badges from Monday", post-MVP) are app settings, not schema. + +### `badge_ledger` + +A verbatim replica of the service ledger: the service is the only author; rows arrive in statements; the last row is the balance; each row is verifiable from its predecessor. + +| column | meaning | +|---|---| +| `entry_id` | local autoincrement; PK; never on the wire | +| `entry_uuid` | service-assigned UUIDv7; sent both ways; UNIQUE index | +| `badge_purchase_id` | FK → `badge_purchases` | +| `change_months` | months added or removed: `+3` credit, `−1` debit | +| `balance_months` | unused months after this entry | +| `balance_start_ts` | start of the unused balance, after this entry | +| `balance_badge_type` | the type of the unused balance, after this entry | +| `was_paused_since` | set on the entry ending a pause: paused from this time until this entry | +| `service_created_at` | service time of the entry | +| `created_at` | local time the row was stored | +| `entry_type` | `credit` \| `debit` | +| `entry_credit_type` | the `type` tag of the `credit` value — any string, known or not | +| `entry_debit_type` | the `type` tag of the `debit` value — any string, known or not | +| `entry_type_unknown` | client only, added via ALTER TABLE after the shared table: 1 when the tag is beyond the client's version; the typed reference columns stay NULL | +| `entry_type_value` | client only, added via ALTER TABLE: the credit/debit object JSON, verbatim; present only for unknown tags; re-decoded after upgrade | +| `invoice_id` | field of `credit(payment)`; FK → `payments` | +| `charge_id` | field of `credit(charge)`; FK → `charges` | +| `from_purchase_id` | field of `credit(transferIn)`; FK → `badge_purchases`, nullable — the source may not exist locally | +| `to_purchase_id` | field of `debit(upgrade)` / `debit(transferOut)`; FK → `badge_purchases` | + +| kind | type | meaning | when | +|---|---|---|---| +| credit | `payment` | months credited: a settled non-recurring payment — card, crypto, code, store one-time | MVP | +| credit | `charge` | months credited: one subscription charge, the first included | MVP | +| credit | `support` | months credited by support — compensation, gift | MVP | +| credit | `transferIn` | months arriving via transfer | post-MVP | +| credit | `opening` | balance restated: the ledger is reset to the stated amount, no relation to the previous row | MVP | +| debit | `refund` | balance removed: refund or chargeback | MVP | +| debit | `upgrade` | balance converted into an upgrade's credit | post-MVP | +| debit | `transferOut` | balance transferred out | post-MVP | +| debit | `support` | balance removed by support — leaked code batch | MVP | +| debit | `badge` | one month spent on the badge — a credential issued | MVP | +| debit | `lapse` | elapsed unissued months removed | MVP | + +``` +entry = credit — creditType: payment {invoiceId} | charge {chargeId} | support | transferIn {fromPurchaseKey} | opening + | debit — debitType: refund | upgrade {toPurchaseKey} | transferOut {toPurchaseKey} | support | badge | lapse +``` + +The protocol entry (`StatementEntry`, §4): `entryId`, `changeMonths`, `balanceMonths`, `balanceStartTs`, `balanceBadgeType`, `wasPausedSince`?, `createdAt`, `entryType` — the same sum with wire references. + +## 2. Badge RPC service schema + +`plans/2026-07-31-badges-service-schema.sql` — SQLite, like the client (the Postgres variant is written when the schema is final); the bot schema, extended with the purchase/ledger layer. + +## 3. Client types + +Domain types — `src/Simplex/Chat/Badges/Store.hs`. Records: + +- `BadgePurchase` +- `BadgePayment` +- `BadgeLedgerEntry` +- `BadgeCharge` +- `BadgeIssuance` +- `BadgeAlert` +- `UserBadgeState` + +Id newtypes: + +- `BadgePriceId` +- `BadgeOfferId` +- `InvoiceId` + +Enums: + +- `BadgePlan` +- `BadgeItemStatus` +- `BadgeProvider` +- `BadgePaymentStatus` +- `BadgePurchaseStatus` +- `BadgeAlertKind` + +Tagged sums: + +- `BadgePaymentMethod` — `apple` | `google` | `card {provider}` | `crypto {currency}`; the last two map to the wire `ServicePaymentMethod` +- `BadgePurchasePayment` — `apple {paymentId, jws}` | `google {paymentId, token}` | `code {code}`; the `APIPurchaseBadge` argument, mapped to the wire `ServicePayment` +- `OfferDiscount` — `discount_type` with `free_months` / `discount` (§2) +- `LedgerEntryType` — `entry_type` with `credit_type` / `debit_type` (§2) +- `LedgerCreditType` +- `LedgerDebitType` + +Reused from `Simplex.Chat.Badges`: + +- `BadgeType` +- `BadgeInfo` +- `BadgeRequest` +- `BadgeCredential` +- `BadgeMasterKey` + +Protocol types — `src/Simplex/Chat/Badges/Service.hs`, one constructor/field per JTD member: + +- `BadgeServiceRequest` +- `BadgeServiceCommand` +- `ServicePaymentMethod` +- `CardProvider` +- `CryptoCurrency` +- `CurrencyAmount` +- `ServicePayment` +- `BadgeUpgrade` +- `BadgeServiceResponse` +- `ServicePaymentDestination` +- `BadgeServiceErrorCode` +- `BadgeCatalog` +- `BadgePrice` — the store type as well +- `BadgeOffer` — the store type as well +- `BadgeStatement` +- `BadgeBalance` +- `StatementEntry` +- `StatementEntryType` +- `StatementCreditType` +- `StatementDebitType` + +Instances — added at implementation; enums follow the `BadgeType` conventions (Badges.hs:114); the unions encode the JTD discriminator `type`: + +- `TextEncoding` +- JSON +- `ToField` / `FromField` + +## 4. RPC protocol + +`docs/protocol/badges-rpc.schema.json` — the JTD schema (definitions `request` and `response`); `docs/protocol/badges-rpc.md` — the protocol description (identity, idempotency, op semantics, statement, errors). + +A request is an envelope: `version`; `purchaseKey`? (optional for `getBadgeCatalog` — signed, the response adds the purchase's `statement`; required for other commands, which are signed with it); `request` — the command, discriminated on `type`. Responses discriminate on `type`; response types are badge-namespaced, fields inside are plain. + +| request `type` | request fields (beyond `purchaseKey`, `version`) | response `type` | response fields | +|---|---|---|---| +| `getBadgeCatalog` (signature optional) | — | `badgeCatalog` | `catalog`
`badgeStatement`? (for signed requests) | +| `getBadgeInvoice` | `priceId`
`offerId`? (absent for 1 month at the badge price)
`badgeInfo {badgeType, badgeExpiry?, badgeExtra}`
`paymentVia` — `card`: `provider`; `crypto`: `currency`
`upgrade`? — `fromPurchaseKey`, `receipt`, `receiptSignature`, `balance` | `badgeInvoice` | `invoiceId`
`badgeType`
`months`
`price`
`discount`?
`credit`?
`amount` (= price − discount − credit)
`currency`
`expiresAt`
`paymentTo` — `card`: `provider`, `url`; `crypto`: `currency`, `address`, `cryptoAmount` | +| `purchaseBadge` | `badgeRequest` — `masterKey`, `badgeInfo`
`payment` — `apple`: `jws`; `google`: `token`; `invoice`: `invoiceId`; `code`: `code`
`upgrade`? — `fromPurchaseKey`, `receipt`, `receiptSignature`, `balance` | `badgeCredential` | `credential`
`receipt`? (not provided for lifetime badges)
`statement` | +| `upgradeBadgeSubscription` | `badgeRequest`
`payment` — `apple`: `jws`; `google`: `token`
`balance` | `badgeCredential` | `credential`?
`statement` | +| `issueBadge` | `badgeRequest`
`balance` | `badgeCredential` | `credential`? (absent when the balance is exhausted)
`statement` | +| `pauseBadge` (post-MVP) | — | `badgeCredential` | `credential`?
`statement` | +| `transferBadge` (post-MVP) | `badgeRequest`
`receipt` | `badgeCredential` | `credential`
`receipt`?
`statement` | +| any, on failure | — | `error` | `code` (incl. `payment_pending`, `code_invalid` / `code_used` / `code_expired`)
`message`?
`retryAfter`? | + +`statement` — record: `entries` — ledger entries; `previousEntryId`? — matches the client's asserted entryId, absent for the full ledger. + +`balance` — record: `lastEntry` — the client's last ledger entry. + +`catalog` — record: `prices`, `offers`. + +| item | fields | +|---|---| +| price | `priceId` — UUID
`badgeType` — `investor` is never priced
`monthPrice`
`currency` — `usd`
`status` — `active` \| `deprecated` \| `disabled`; disabled is not sent
`createdAt` | +| offer | `offerId` — UUID
`priceId`? — absent applies to any price
`months`
`discount` — `freeMonths`: `freeMonths` \| `discount`: `discount` (percent)
`status`
`createdAt` | + +Prices and offers have one type each across the protocol and the store: the UUID is the primary key, `createdAt` gives the sequence, and `payments` and `badge_purchases` reference them by UUID. + +Offer price: `freeMonths` → `(months − freeMonths) × monthPrice`; `discount` → `months × monthPrice × (100 − discount) / 100`, floored. + +Every offer states a discount; a plain 1-month purchase has no offer — its price is `monthPrice`, and `getBadgeInvoice` omits `offerId`. The duration selector is the fixed 1-month entry plus the offers. + +`getBadgeInvoice` pins the price by `priceId`, and the badge type and currency with it; the service validates `badgeInfo.badgeType` against the price. Repricing appends a price and deprecates the old one: a deprecated price is honored at invoice creation, a disabled one rejected. Deprecated prices and offers are sent so that a catalog refresh cannot remove what the client pinned; disabled ones are omitted, since the service rejects them. An offer pinned to a price dies with it; unpinned offers survive repricing. + +Rendering is app-driven: tiers and durations come from app resources, and one without a price is shown disabled. Store SKUs are absent from the catalog — store builds read prices from the store and SKUs from app config, and make no `getBadgeCatalog` requests, `issueBadge` on schedule and on wake keeping the ledger current. The service holds the SKUs for webhook mapping. + +## 5. Commands and events + +`ChatCommand` (Controller.hs; parsers in `chatCommandP`) — the UX 2.9 user actions. UX 2.9 actions without a command: + +- reminder and presentation toggles — app settings (§1) +- pause / resume and the start-sharing date — post-MVP (Scope) +- cancel — the Cancel button opens the store management sheet; on its close the management screen re-reads state via `APIGetBadgeState` (UX §7) + +```haskell +| APIGetBadgeState UserId -- /_badge state +| APIGetBadgeCatalog UserId -- /_badge catalog ; unsigned getBadgeCatalog +| APIGetBadgeInvoice {userId :: UserId, priceId :: BadgePriceId, offerId :: Maybe BadgeOfferId, paymentVia :: BadgePaymentMethod} -- /_badge invoice [] ; via — apple | google | card | crypto +| APIPurchaseBadge {userId :: UserId, payment :: BadgePurchasePayment} -- /_badge purchase +| APISwitchShownBadge {userId :: UserId, badgePurchaseId :: Int64} -- /_badge shown +| APIAckBadgeAlert {userId :: UserId, kind :: BadgeAlertKind, episode :: Text, snooze :: Bool} -- /_badge ack +``` + +| command | UX | called when | +|---|---|---| +| `APIGetBadgeState` | 2.2, 2.3, 2.6, 2.1, §7 | app start — the initial model load; a badge screen is opened or regains focus | +| `APIGetBadgeCatalog` | §3 prices | the purchase screen is opened (non-store builds); non-blocking | +| `APIGetBadgeInvoice` | 2.1 | the user taps Pay on the selected duration | +| `APIPurchaseBadge` | 2.1, 2.8, §5 | the store purchase flow returns evidence; the user submits a code (2.6.9) | +| `APISwitchShownBadge` | 2.6.8, 2.7 | the user selects the shown badge | +| `APIAckBadgeAlert` | 2.4 | the user taps OK or "Remind me again" on an alert | + +Purchase is two commands because the store purchase runs in the app between them: StoreKit and Play Billing are app-platform APIs, which core cannot call, and the store may deliver the result late (`pending` / Ask to Buy — via `Transaction.updates`, including after a restart). `APIGetBadgeInvoice` obtains the invoice for a card or crypto payment; after payment `APIPurchaseBadge` presents the store evidence, and the worker sends `purchaseBadge` — verification, the grant, and the first issuance in one round trip. Issuance has no command — `issueBadge` is core-driven (UX 2.9 engine), from the balance only: settlement credits months, issuance debits them (UX §3 ledger), so the first and every repeat issuance are the same command. + +- `APIGetBadgeInvoice` starts every purchase: core loads or creates the live purchase row for the badge type's slot (per-user lock + `idx_badge_purchases_live`) — a `failed` row of the same slot is reused — creates the payment row, and points the badge row's `payment_id` at it (UX §3: the current payment). For `card` and `crypto` core sends `getBadgeInvoice` with the pinned `priceId` and the `offerId` of the chosen duration, and responds with the invoice — the Stripe link or the crypto screen data (UX 2.1). For `apple` and `google` core writes the rows, generates the invoice id itself, and sends nothing, since prices come from the store and SKUs from app config (§4); the app states the store because core is the same on both platforms. The invoice fields are stored on the payment row (§1), so pending-payment screens re-render after a restart; after invoice expiry a new `APIGetBadgeInvoice` creates a new invoice and payment row (UX 2.1). +- The app passes the invoice id to the store as the account token — Apple `Product.PurchaseOption.appAccountToken` (a UUID, echoed in the signed transaction), Google `BillingFlowParams.setObfuscatedAccountId` — so the store transaction states which payment it settles, and the service reads it from the verified store payload at `purchaseBadge`. +- `APIPurchaseBadge` completes a store purchase — the only payment whose result is delivered to the app: the store hands the app the evidence, and only that evidence ties the store transaction to the purchase, because the store flow knows neither purchase keys nor the service. Core records it on the payment row; the worker sends `purchaseBadge` — the service verifies, records the credit, and issues in one round trip (§6). Card and crypto payments need no completion command and carry no evidence: the service records their settlement from the provider webhook (UX §7 notifications); the worker's next `issueBadge` returns the credential, or `payment_pending` until the webhook arrives (§4). +- `APIPurchaseBadge` with a `code` sends the same `purchaseBadge` under the user lock, and differs only in the order of the writes: keys are generated first, and the badge and payment rows (`provider = code`, `price_id` and `offer_id` NULL) are written on success in one transaction, directly `issued`, because the badge type — and with it the slot — is stated in the response (UX 2.8). A live row of the granted slot is superseded (at most two badges per profile, UX 2.7); its unconsumed months stay on its purchase — purchases are unlinkable, so the service cannot move them; recovery per UX §3 (`transferBadge`, post-MVP). On a timeout the error is surfaced to the user; a code consumed by a lost response is restored by support (codes tooling, delivery 7). +- `APIGetBadgeState` loads the badge state into the app model at start (and on profile switch); events only update the model afterward, so without the initial read it would hold nothing at first render — the 2.2 banner is rendered from it. It reads stored state and sends nothing itself. The same call re-reads state when a badge screen is opened or regains focus, and signals the worker (§6); reconciliation results follow as `CEvtBadgeChanged`. Screen re-focus covers the returns that fire no core trigger: the store cancellation sheet close — UX §7 "the engine sends `status` on return"; the in-app sheet fires no foreground trigger — and return to a pending-payment screen after payment (UX 2.1), which on desktop produces no foreground event either. + +`ChatResponse`: + +```haskell +| CRBadgeState {user :: User, badgeState :: UserBadgeState} +| CRBadgeCatalog {user :: User, prices :: [BadgePrice], offers :: [BadgeOffer]} +| CRBadgeInvoice {user :: User, payment :: BadgePayment} +``` + +- `CRBadgeState` — the state the badge surfaces render (banner 2.2; picker 2.3; management screen 2.6); the response of every command except `APIGetBadgeInvoice` and `APIGetBadgeCatalog`. Worker results follow as `CEvtBadgeChanged`. +- `CRBadgeCatalog` — the refreshed catalog for the open purchase screen (UX §3 prices). +- `CRBadgeInvoice` — the purchase continuation (`APIGetBadgeInvoice`): `payment` holds the invoice fields — the Stripe link, or the crypto address, amount, and expiry (UX 2.1); for a store payment, the locally generated invoice id, which the app passes to the store as the account token. +- Errors: `ChatErrorType` gains `CEBadgeServiceError {badgeError :: BadgeServiceErrorCode, message :: Maybe Text, retryAfter :: Maybe Int}` — the inline code-redemption errors (UX 2.8) and the purchase-screen unavailable notice (UX 2.1). + +`ChatEvent`: + +```haskell +| CEvtBadgeChanged {user :: User, badgeState :: UserBadgeState} +| CEvtBadgeAlert {user :: User, alert :: BadgeAlert} +``` + +- `CEvtBadgeChanged` — emitted by the worker on any state change it applies (UX 2.9 events); open badge surfaces re-render from it. +- `CEvtBadgeAlert` — the derived current alert (UX 2.4); the app displays it and answers with `APIAckBadgeAlert`. + +The reminders opt-out is an app setting: core emits `CEvtBadgeAlert` for all kinds; the app suppresses display of the two reminder kinds (`BARenewalApproaching` and `BAPrepaidEnding`) when reminders are off, and ignores them in `UserBadgeState.alert` for the picker indicator (UX 2.3). + +## 6. BadgeManager + +Runs in core. Controller state; the worker is the agent `Worker` framework the controller already uses (`getAgentWorker` / `hasWorkToDo'` / `cancelWorker`; the `TMap k Worker` fields, Controller.hs:304): + +```haskell +data BadgeManager = BadgeManager + { badgeWorkers :: TMap UserId Worker, -- agent Worker: doWork TMVar, restart on crash + badgeLocks :: TMap UserId Lock, -- one signed badge op per user in flight + badgeReads :: TMap UserId UTCTime, -- read requests from APIGetBadgeState (step B) + badgeBoundaries :: TMap UserId UTCTime, -- next boundary per user + badgeTimerAsync :: TVar (Maybe (Async ())) -- the timer thread; sleeps to the earliest boundary + } +``` + +One worker per user because badge state is per profile (UX 2.12): the worker serializes that profile's RPC ops and row writes, and profiles do not delay one another. The worker holds no task queue: a trigger only signals it, and each pass derives the work from stored state (the reconcile step below). Ops are idempotent (§4), so lost and duplicated signals are harmless. + +Lifecycle: + +1. start — the first signal for a user creates the worker via `getAgentWorker`; the timer thread is started at chat start (`badgeTimerAsync`). +2. signal — every trigger performs `hasWorkToDo'`: the UX 2.9 triggers (chat start, foreground, and network restore signal every user with a badge or payment row; profile switch — the switched-to user), the timer thread, and the commands — `APIGetBadgeState`, which also records the request time in `badgeReads`; `APIPurchaseBadge` after the evidence is recorded, and again for presentation after a code (step E); `APISwitchShownBadge` for presentation. +3. pass — the loop takes the signal and runs the flowchart below once per live badge row (the paid and the investor slots, §5). +4. re-run — a signal that arrives during a pass stays in `doWork`; the loop runs one more pass, so state changed mid-pass is picked up. +5. idle — between passes the loop blocks on `doWork`. +6. stop — workers are stopped with `cancelWorker` at chat stop and on user deletion; the timer thread with them. + +The worker and the commands that send signed requests themselves (`APIGetBadgeInvoice` — `getBadgeInvoice`; `APIPurchaseBadge` with a code — `purchaseBadge`) take the user's lock in `badgeLocks`, so one signed command per user is in flight; the same lock guards get-or-create of the badge row (§5). The unsigned, purchase-independent `getBadgeCatalog` (`APIGetBadgeCatalog`) is sent outside the lock. `badgeLocks` follows the `withEntityLock` discipline (Library/Internal.hs:127) — `chatLock` is waited for first — so the step E broadcast creates no new lock order. + +There is no read command in the protocol: every response carries the `statement`, so state advances with the work. A purchase whose balance has lapsed sends nothing, and service-side credits (support, transfer-in post-MVP) would stay unseen; the signed `getBadgeCatalog` is the check — its response adds `badgeStatement` for the signing key, and it is the same request that prices a new purchase (§4). The pass reads the `badgeReads` entry of `APIGetBadgeState`: a request newer than the last response, a lapsed balance, and no due command → signed `getBadgeCatalog`, then the entry is cleared. It is also sent after a restore (UX §3 recovery). + +Timer — each pass reports the user's next boundary, the earliest of: + +- `renews_at` − 3d — renewal reminder (UX 2.4) +- paid-through − 3d — prepaid ending (UX 2.4) +- paid-through — ended alerts (UX 2.4); sender-side perk cutoff (UX 2.11) +- `alert_snooze_until` — the snoozed alert is emitted once more (UX 2.4) +- next Monday 00:00 UTC — presentation and removal updates (UX 2.11) + +Each pass writes its user's next boundary into `badgeBoundaries`; the timer thread sleeps until the earliest entry and signals the workers whose boundaries elapsed. + +```mermaid +flowchart TD + T[trigger: UX 2.9, timer, command] --> S[hasWorkToDo'] + S --> W{pass running?} + W -- yes --> H[signal held -> one more pass] + W -- no --> A[load badges + payments + last ledger rows] + A --> B[per live badge, reconcile:\nstore evidence unverified -> purchaseBadge\npayment in status new -> getBadgeInvoice re-sent\ninvoiced/pending non-store -> issueBadge\nsubscription past renews_at -> issueBadge\nbalance > 0, month unissued -> issueBadge\nlapsed balance, read requested -> signed getBadgeCatalog] + B --> C[request under the user lock, signed with the purchase key\non ASETimeout the same envelope is retried at the next signal] + C --> D[apply response:\ncatalog -> badge_prices / badge_offers\nstatement: entries -> badge_ledger verbatim, an opening entry restates the balance;\npayments and charges -> the local rows\nverify credential -> update badge_purchases credential columns\nerror: terminal code -> badge failed; transient -> hold the command until retryAfter elapses] + D --> E[presentation:\non/after Monday 00:00 UTC, or immediately on acquisition/switch:\nshown badge credential -> setUserBadge + broadcast, fresh proof per send, incognito connections skipped\nexpired unrenewed -> setUserBadge Nothing + broadcast\npaid expired + investor held -> switch shown to investor] + E --> F[derive alert from state\nif differs from acked/snoozed -> CEvtBadgeAlert] + F --> G[emit CEvtBadgeChanged if state changed\nwrite next boundary to badgeBoundaries] + G --> I[block on doWork] +``` + +Non-store purchase: + +```mermaid +sequenceDiagram + participant UI as app + participant C as core (BadgeManager) + participant B as bot + participant P as Stripe/BTCPay + UI->>C: APIGetBadgeInvoice priceId offerId card|crypto + C->>C: load or create the badge row; create the payment row (lock + unique index) + C->>B: getBadgeInvoice (signed; priceId, offerId, badgeInfo, paymentVia) + B->>P: create intent / invoice + B-->>C: badgeInvoice (invoiceId, price, discount, amount, expiresAt, paymentTo) + C-->>UI: CRBadgeInvoice (url / address, cryptoAmount, expiresAt) + UI->>UI: browser (card) or the in-app invoice screen (crypto); user pays + P-->>B: webhook: settled + B->>B: credit the ledger + UI->>C: APIGetBadgeState (the screen regains focus) + C->>B: issueBadge (signed; badgeRequest, balance) + B->>B: debit the month; issue + B-->>C: badgeCredential (credential, receipt, statement) + C->>C: store rows; verify credential; update badge; presentation + C-->>UI: CEvtBadgeChanged +``` + +Store purchase: + +```mermaid +sequenceDiagram + participant UI as app + participant S as StoreKit / Play Billing + participant C as core (BadgeManager) + participant B as bot + participant PR as store server API + UI->>C: APIGetBadgeInvoice priceId offerId apple|google + C->>C: load or create the badge row; create the payment row with a local invoice id (lock + unique index) + C-->>UI: CRBadgeInvoice (invoice id) + UI->>S: purchase(sku from app config, accountToken = invoice id) + S-->>UI: evidence (JWS / purchase token) + UI->>C: APIPurchaseBadge paymentId evidence + C->>B: purchaseBadge (signed; badgeRequest, payment: apple jws / google token) + B->>B: verify the JWS offline (Apple) + B->>PR: verify + acknowledge the purchase token (Google) + B->>B: credit the ledger; debit the month; issue + B-->>C: badgeCredential (credential, receipt, statement) + C->>C: store rows; verify credential; update badge; presentation + C-->>UI: CEvtBadgeChanged +``` + +Badge row status: + +```mermaid +stateDiagram-v2 + [*] --> acquiring: APIGetBadgeInvoice + [*] --> issued: APIPurchaseBadge with a code, created on success + acquiring --> issued: credential verified and stored + acquiring --> superseded: a new row takes the slot + acquiring --> failed: terminal error (step D) + issued --> issued: renewal / re-issue (credential updated in place) + issued --> superseded: a new row takes the slot (a code; upgrade post-MVP) + failed --> acquiring: get-or-create reuses the slot's failed row; payment_id repointed +``` + +## 7. UX coverage + +Each UX plan point and its implementation home: + +| UX | implementation | +|---|---| +| 2.1 method + duration selector, prices | app UI; `APIGetBadgeCatalog`; `badge_prices` / `badge_offers` (§1); the 1-month entry is priced by `monthPrice` (§4) | +| 2.1 unavailable options | a tier or duration with no price is shown disabled (§4); `offer_disabled` / `product_unavailable` | +| 2.1 crypto and Stripe screens | `APIGetBadgeInvoice` → `CRBadgeInvoice`; invoice columns (§1); payment statuses from the statement's payments; partial/over payment in `payments.exception` | +| 2.1 receipt save prompt | `receipt` in the `badgeCredential` response → `payments.receipt_code`; the prompt is app UI | +| 2.2 banner | app UI over `CRBadgeState` / `CEvtBadgeChanged` | +| 2.3 user picker | post-MVP (UX §7 Deferred); state and `alert` in place; the Settings row is the MVP entry point | +| 2.4 alerts | `BadgeAlertKind`; `alert_acked_kind` / `alert_acked_episode` / `alert_snooze_until` / `grace_until` (§1); worker step F; `CEvtBadgeAlert`; `APIAckBadgeAlert` | +| 2.5 start-sharing | post-MVP (`use_from`, Scope); immediate presentation in worker step E | +| 2.6 management screen | `UserBadgeState`; the commands table (§5) | +| 2.7 held badges, switching | `users.shown_badge_id`; `APISwitchShownBadge`; the investor fallback in step E | +| 2.8 redeem codes | `APIPurchaseBadge` with a code → `purchaseBadge`; payment `provider = code` | +| 2.9 triggers | worker lifecycle item 2 (§6) | +| 2.9 engine | the worker flowchart (§6) | +| 2.9 API calls | the commands table (§5) | +| 2.10 upgrades | post-MVP (UX §7 Deferred); the `superseded` status in place | +| 2.11 dates | bot `sundayAfter` (delivery 7); Monday in step E and the timer; `mkBadgeStatus` grace (delivery 1) | +| 2.12 multi-profile | one worker per user; the incognito skip in step E | +| 2.13 pause | post-MVP; `pauseBadge`, and `issueBadge` resumes (§4) | +| §3 ownership, tables | the §1 mapping; the service schema (§2) | +| §3 catalog rules | `badge_prices` / `badge_offers`; reconciliation (delivery 4) | +| §3 payments, charges | §1; the statement's payments and charges (§4) | +| §3 ledger, issuances | replicas (§1); the `balance` assertion and the `opening` restatement (§4); service transitions (delivery 7); tests (delivery 8) | +| §3 recovery | `payments.receipt_code`; signed `getBadgeCatalog` after restore (worker); capped store re-bind at `purchaseBadge` (delivery 7); `transferBadge` post-MVP | +| §4 wire protocol | `Badges/Service.hs`; `docs/protocol` | +| §5 providers | delivery 7; the §5 command bullets | +| §6 decisions 11–14 | 11 — `renews_at` / `cancelled` / charges kept; 12 — catalog seed (delivery 2); 13 — `sundayAfter`; 14 — `paidThrough` in `UserBadgeState` | +| §7 MVP set | Scope; the delivery order | + +## Delivery order + +1. `mkBadgeStatus`: the +7-day recipient display grace and the shifted `BSExpiredOld` boundary (UX 2.11) — released before purchases (UX §7). +2. Register migration `M20260731_user_badges` (migrations list + cabal + regenerated `chat_schema.sql` / `chat_lint.sql`); the Postgres variant of the migration; the catalog seed from app config (UX §3 prices); store functions (`Store/Badges.hs`): get-or-create with lock; last-ledger-row reads; verbatim replica inserts. +3. Instances for the types in `Badges.hs` and `Badges/Service.hs` (§3) + roundtrip tests. +4. RPC codec: `docs/protocol/badges-rpc.schema.json` packets ↔ `Badges/Service.hs` types; catalog reconciliation on every `badgeCatalog` response. +5. BadgeManager §6: worker, locks, timer; reconcile/apply/presentation/alert steps; events. +6. Commands §5 + parsers + `View.hs` rendering. +7. Bot: schema §2; ledger transitions (UX §3); providers (Apple offline JWS, Google verify+acknowledge, Stripe intents+webhooks, BTCPay invoices+webhooks); codes tooling; notifications endpoints; receipt generation and hashing on settlement (UX §3 recovery); the capped store re-bind on `purchase` (UX §3 recovery); store setup — one Apple subscription group for all subscription SKUs and the Stripe statement descriptor with the short payment ref (UX §7). +8. Tests: ledger properties 1–4 (UX §3); the `balance` assertion and the `opening` restatement; `purchaseBadge` and `issueBadge` idempotency; replica equality service↔client; price and offer lifecycle at `getBadgeInvoice`; alert derivation incl. supersession; Monday presentation incl. removal updates; provider sandbox flows. diff --git a/plans/2026-07-31-badges-service-schema.sql b/plans/2026-07-31-badges-service-schema.sql new file mode 100644 index 0000000000..4cbd872dea --- /dev/null +++ b/plans/2026-07-31-badges-service-schema.sql @@ -0,0 +1,146 @@ +CREATE TABLE badge_prices( + price_id TEXT NOT NULL PRIMARY KEY, + badge_type TEXT NOT NULL, + month_price INTEGER NOT NULL, + currency TEXT NOT NULL, + status TEXT NOT NULL, + created_at TEXT NOT NULL +); + +CREATE TABLE badge_offers( + offer_id TEXT NOT NULL PRIMARY KEY, + price_id TEXT REFERENCES badge_prices, + months INTEGER NOT NULL, + discount_type TEXT NOT NULL, + free_months INTEGER, + discount INTEGER, + status TEXT NOT NULL, + created_at TEXT NOT NULL +); + +CREATE TABLE store_skus( + store_sku_id INTEGER PRIMARY KEY AUTOINCREMENT, + provider TEXT NOT NULL, + sku TEXT NOT NULL, + badge_type TEXT NOT NULL, + plan TEXT NOT NULL, + months INTEGER, + created_at TEXT NOT NULL +); + +CREATE UNIQUE INDEX idx_store_skus_provider_sku ON store_skus(provider, sku); + +CREATE TABLE badge_purchases( + badge_purchase_id INTEGER PRIMARY KEY AUTOINCREMENT, + purchase_key BLOB NOT NULL, + badge_type TEXT NOT NULL, + price_id TEXT REFERENCES badge_prices, + offer_id TEXT REFERENCES badge_offers, + created_at TEXT NOT NULL, + updated_at TEXT NOT NULL, + UNIQUE(purchase_key) +); + +CREATE TABLE payments( + payment_id INTEGER PRIMARY KEY AUTOINCREMENT, + badge_purchase_id INTEGER NOT NULL REFERENCES badge_purchases, + badge_type TEXT NOT NULL, + price_id TEXT REFERENCES badge_prices, + offer_id TEXT REFERENCES badge_offers, + invoice_uuid TEXT, + provider TEXT NOT NULL, + provider_ref TEXT, + months INTEGER, + amount INTEGER, + currency TEXT, + status TEXT NOT NULL, + exception TEXT, + receipt_hash BLOB, + renews_at TEXT, + grace_until TEXT, + cancelled INTEGER NOT NULL DEFAULT 0, + created_at TEXT NOT NULL, + updated_at TEXT NOT NULL +); + +CREATE UNIQUE INDEX idx_payments_invoice_uuid ON payments(invoice_uuid); + +CREATE INDEX idx_payments_purchase ON payments(badge_purchase_id); + +CREATE INDEX idx_payments_provider_ref ON payments(provider, provider_ref); + +CREATE TABLE charges( + charge_id INTEGER PRIMARY KEY, + payment_id INTEGER NOT NULL REFERENCES payments, + provider_charge_ref TEXT NOT NULL, + period_start TEXT NOT NULL, + period_end TEXT NOT NULL, + amount INTEGER NOT NULL, + currency TEXT NOT NULL, + charged_at TEXT NOT NULL, + UNIQUE(payment_id, provider_charge_ref) +); + +-- badgeLedgerTable constant (M20260731_user_badges), re-used literally +CREATE TABLE badge_ledger( + entry_id INTEGER PRIMARY KEY AUTOINCREMENT, + entry_uuid TEXT NOT NULL, + badge_purchase_id INTEGER NOT NULL REFERENCES badge_purchases ON DELETE CASCADE, + change_months INTEGER NOT NULL, + balance_months INTEGER NOT NULL, + balance_start_ts TEXT NOT NULL, + balance_badge_type TEXT NOT NULL, + was_paused_since TEXT, + service_created_at TEXT NOT NULL, + created_at TEXT NOT NULL, + entry_type TEXT NOT NULL, + entry_credit_type TEXT, + entry_debit_type TEXT, + invoice_id INTEGER REFERENCES payments, + charge_id INTEGER REFERENCES charges, + from_purchase_id INTEGER REFERENCES badge_purchases, + to_purchase_id INTEGER REFERENCES badge_purchases +); + +CREATE UNIQUE INDEX idx_badge_ledger_uuid ON badge_ledger(entry_uuid); + +CREATE INDEX idx_badge_ledger_purchase ON badge_ledger(badge_purchase_id, entry_id); + +CREATE INDEX idx_badge_ledger_invoice ON badge_ledger(invoice_id); + +CREATE INDEX idx_badge_ledger_charge ON badge_ledger(charge_id); + +CREATE INDEX idx_badge_ledger_from_purchase ON badge_ledger(from_purchase_id); + +CREATE INDEX idx_badge_ledger_to_purchase ON badge_ledger(to_purchase_id); + +CREATE TABLE issuances( + issuance_id INTEGER PRIMARY KEY, + badge_purchase_id INTEGER NOT NULL REFERENCES badge_purchases, + period_start TEXT, + period_end TEXT, + expiry TEXT, + entry_id INTEGER REFERENCES badge_ledger, + credential BLOB NOT NULL, + created_at TEXT NOT NULL, + UNIQUE(badge_purchase_id, period_start) +); + +CREATE TABLE codes( + code_hash BLOB NOT NULL PRIMARY KEY, + badge_type TEXT NOT NULL, + months INTEGER, + batch TEXT NOT NULL, + redeemed_purchase_id INTEGER REFERENCES badge_purchases, + redeemed_at TEXT, + revoked_at TEXT, + created_at TEXT NOT NULL +); + +CREATE TABLE provider_events( + provider TEXT NOT NULL, + event_id TEXT NOT NULL, + received_at TEXT NOT NULL, + processed_at TEXT, + PRIMARY KEY(provider, event_id) +); diff --git a/plans/2026-08-04-badges-mvp-scope.md b/plans/2026-08-04-badges-mvp-scope.md new file mode 100644 index 0000000000..f10e25f2cf --- /dev/null +++ b/plans/2026-08-04-badges-mvp-scope.md @@ -0,0 +1,83 @@ +# Supporter Badges v3 — MVP scope + +**Date:** 2026-08-04 +**Product plan:** `plans/2026-07-30-supporter-badges-v3-ux.md` — UX §n +**Core plan:** `plans/2026-07-31-badges-core-implementation.md` — §n +**Protocol:** `docs/protocol/badges-rpc.md`, `docs/protocol/badges-rpc.schema.json` +**Service schema:** `plans/2026-07-31-badges-service-schema.sql` + +Order: one path end to end first, then the paths that need external systems. Each milestone ends with passing tests. + +## 1. Badge service + +`apps/simplex-badge-service` — a bot on core as a library, after `apps/simplex-directory-service`. + +- `BadgeService/Options.hs`, `Service.hs` — the RPC handler; `Store.hs`, `Store/SQLite/Migrations.hs` — the schema (§2), with `badgeLedgerTable` imported from the client migration. +- Request handling: envelope version check, signer key against `purchaseKey`, dispatch on the command. +- Ledger writes: one transaction per command; the statement is read back from the written entries. +- Credential signing: the badge key set and `sundayAfter` expiry (UX 2.11). +- Codes: hashes, batch, redemption (UX 2.8). +- HTTP listener for provider webhooks — `warp`, as in `tests/NameResolver.hs`, or simplexmq `getHTTP2Server`. Stripe signature verification reads the raw body. + +## 2. Core badge API + +§5 and §6, minus alerts. + +- Commands: `APIGetBadgeCatalog`, `APIGetBadgeInvoice`, `APIPurchaseBadge`, `APIGetBadgeState`, `APISwitchShownBadge`. +- Responses and events: `CRBadgeState`, `CRBadgeCatalog`, `CRBadgeInvoice`, `CEvtBadgeChanged`. +- Store functions (`Store/Badges.hs`): get-or-create under the user lock, last-entry reads, verbatim replica writes. +- `BadgeManager`: worker, locks, reconcile, apply, presentation. The timer and `CEvtBadgeAlert` follow later. +- JSON instances for `Badges/Service.hs` and `Badges/Store.hs` — `taggedObjectJSON`, with roundtrip tests. +- Register `M20260731_user_badges` in the migrations list and cabal; regenerate `chat_schema.sql` and `chat_lint.sql`. + +## 3. Store integration — iOS, Android + +- App Store Connect: badge products, one subscription group, sandbox testers. +- Play Console: SKUs, an internal track build, licence testers. +- Swift and Kotlin: read prices and SKUs, run the purchase with the invoice id as the account token (`appAccountToken`, `setObfuscatedAccountId`), pass the evidence to `APIPurchaseBadge`, handle late results (`Transaction.updates`, `queryPurchasesAsync`). +- Store SKUs are held in app config and in the service `store_skus` table. + +Console setup starts on day one — its latency is external. + +## 4. Provider integration + +Direct from the service; `http-client-tls` is available through simplexmq. + +| provider | outbound | inbound | +|---|---|---| +| Stripe | checkout session or payment intent | webhook: settled, refunded, subscription charge | +| BTCPay | invoice with address and amount | webhook: settled, partial, expired | +| Apple | — | server notifications v2 | +| Google | Publisher API verify and acknowledge | RTDN | + +Every inbound event is recorded in `provider_events` before processing. + +## 5. Tests + +`tests/Bots/BadgeTests.hs`, after `tests/Bots/DirectoryTests.hs`: the service in-process, chat clients as apps. + +- Provider mock — a Warp app on a free port with a mutable registry, after `tests/NameResolver.hs`: responses and webhook delivery are driven by the test. +- Coverage: code redemption; invoice, settlement, issuance; store evidence; renewal charges; replica equality service to client; idempotency of every command; price and offer lifecycle at `getBadgeInvoice`. + +## 6. Ledger algebra + +After the end-to-end path works. + +- Every entry type against every prior state; the resulting balance, its start, and its badge type. +- Properties: the balance never falls below zero; an `opening` entry restates it absolutely; issuance debits exactly one month; lapse debits only elapsed unissued months. +- The client's balance function against the service ledger, over generated histories. + +## Milestones + +| # | end state | needs | +|---|---|---| +| 1 | code redemption end to end: `purchaseBadge` with a code returns a credential, the client stores the replica and shows the badge | §1 service skeleton, §2 core API, §5 harness | +| 2 | card and crypto: invoice, mocked settlement, issuance, renewal reminder date | §4 Stripe and BTCPay, webhook listener | +| 3 | store purchase on both platforms | §3, console setup | +| 4 | subscriptions: renewal charges, cancellation, grace | charges wire identifier, §4 notifications | +| 5 | ledger algebra, unit tested | §6 | + +## Settle before milestone 4 + +- The wire identifier for charges — the service's local integer cannot be resolved by the client. +- Ledger unification: whether entries reference invoices, charges, and purchases by UUID and key rather than by local id. diff --git a/simplex-chat.cabal b/simplex-chat.cabal index 51f2ac8e91..c5dcf6111e 100644 --- a/simplex-chat.cabal +++ b/simplex-chat.cabal @@ -40,6 +40,8 @@ library Simplex.Chat.AppSettings Simplex.Chat.Badges Simplex.Chat.Badges.CLI + Simplex.Chat.Badges.Service + Simplex.Chat.Badges.Store Simplex.Chat.Names Simplex.Chat.Call Simplex.Chat.Controller diff --git a/src/Simplex/Chat/Badges/Service.hs b/src/Simplex/Chat/Badges/Service.hs new file mode 100644 index 0000000000..70084e70dd --- /dev/null +++ b/src/Simplex/Chat/Badges/Service.hs @@ -0,0 +1,244 @@ +{-# LANGUAGE DataKinds #-} +{-# LANGUAGE DuplicateRecordFields #-} +{-# LANGUAGE PatternSynonyms #-} + +module Simplex.Chat.Badges.Service + ( BadgeServiceRequest (..), + BadgeServiceCommand (..), + BadgeServiceVersion, + VersionBadgeService, + pattern VersionBadgeService, + ServicePaymentMethod (..), + CardProvider (..), + CryptoCurrency (..), + CurrencyAmount (..), + ServicePayment (..), + BadgeUpgrade (..), + BadgeServiceResponse (..), + ServicePaymentDestination (..), + BadgeServiceErrorCode (..), + BadgeCatalog (..), + BadgePrice (..), + BadgeOffer (..), + BadgeStatement (..), + BadgeBalance (..), + StatementEntry (..), + StatementEntryType (..), + StatementCreditType (..), + StatementDebitType (..), + ) where + +import qualified Data.Aeson as J +import Data.Int (Int64) +import Data.Text (Text) +import Data.Time.Clock (UTCTime) +import Data.Word (Word8, Word16, Word32) +import Simplex.Chat.Badges +import Simplex.Chat.Badges.Store +import qualified Simplex.Messaging.Crypto as C +import Simplex.Messaging.Version (VersionScope) +import Simplex.Messaging.Version.Internal (Version (..)) + +data BadgeServiceVersion + +instance VersionScope BadgeServiceVersion + +type VersionBadgeService = Version BadgeServiceVersion + +pattern VersionBadgeService :: Word16 -> VersionBadgeService +pattern VersionBadgeService v = Version v + +data BadgeServiceRequest = BadgeServiceRequest + { version :: VersionBadgeService, + purchaseKey :: Maybe C.PublicKeyEd25519, -- optional for BSCGetBadgeCatalog, required for other commands + request :: BadgeServiceCommand + } + +data BadgeServiceCommand + = BSCGetBadgeCatalog + | BSCGetBadgeInvoice + { priceId :: BadgePriceId, + offerId :: Maybe BadgeOfferId, -- absent for 1 month at the badge price + badgeInfo :: BadgeInfo, + paymentVia :: ServicePaymentMethod, + upgrade :: Maybe BadgeUpgrade -- upgrade non-store badge + } + | BSCPurchaseBadge + { badgeRequest :: BadgeRequest, + payment :: ServicePayment, + upgrade :: Maybe BadgeUpgrade -- upgrade store 1-time badge + } + | BSCUpgradeBadgeSubscription + { badgeRequest :: BadgeRequest, + payment :: ServicePayment, -- store payments only + balance :: BadgeBalance + } + | BSCIssueBadge + { badgeRequest :: BadgeRequest, + balance :: BadgeBalance + } + | BSCPauseBadge + | BSCTransferBadge + { badgeRequest :: BadgeRequest, + receipt :: Text + } + +data ServicePaymentMethod + = SPMCard {provider :: CardProvider} + | SPMCrypto {currency :: CryptoCurrency} + deriving (Eq, Show) + +data CardProvider = CPStripe + deriving (Eq, Show) + +data CryptoCurrency = CCBtc | CCXmr + deriving (Eq, Show) + +-- USD etc. are in minor units, following Stripe etc. convention +newtype CurrencyAmount = CurrencyAmount Word32 + deriving (Eq, Show) + +data ServicePayment + = SPApple {jws :: Text} + | SPGoogle {token :: Text} + | SPInvoice {invoiceId :: InvoiceId} + | SPCode {code :: Text} + deriving (Show) + +data BadgeUpgrade = BadgeUpgrade + { fromPurchaseKey :: C.PublicKeyEd25519, + receipt :: Text, + receiptSignature :: C.Signature 'C.Ed25519, + balance :: BadgeBalance + } + +data BadgeServiceResponse + = BSPBadgeCatalog + { catalog :: BadgeCatalog, + badgeStatement :: Maybe BadgeStatement -- for signed getBadgeCatalog + } + | BSPBadgeInvoice + { invoiceId :: InvoiceId, + badgeType :: BadgeType, + months :: Word8, + price :: CurrencyAmount, + discount :: Maybe CurrencyAmount, -- discount amount from monthly price + credit :: Maybe CurrencyAmount, -- credit for upgrade + amount :: CurrencyAmount, + currency :: Text, + expiresAt :: UTCTime, + paymentTo :: ServicePaymentDestination + } + | BSPBadgeCredential + { credential :: Maybe BadgeCredential, -- Nothing when no balance to issueBadge or no current credential for pause + receipt :: Maybe Text, -- not provided for lifetime badges + statement :: BadgeStatement + } + | BSPError + { code :: BadgeServiceErrorCode, + message :: Maybe Text, + retryAfter :: Maybe Word32 + } + +data ServicePaymentDestination + = SPDCard + { provider :: CardProvider, + url :: Text + } + | SPDCrypto + { currency :: CryptoCurrency, + address :: Text, + cryptoAmount :: Text + } + deriving (Show) + +data BadgeCatalog = BadgeCatalog + { prices :: [BadgePrice], + offers :: [BadgeOffer] + } + deriving (Show) + +data BadgePrice = BadgePrice + { priceId :: BadgePriceId, + badgeType :: BadgeType, + monthPrice :: CurrencyAmount, + currency :: Text, + status :: BadgeItemStatus, + createdAt :: UTCTime + } + deriving (Show) + +data BadgeOffer = BadgeOffer + { offerId :: BadgeOfferId, + priceId :: Maybe BadgePriceId, -- absent applies to any price + months :: Word8, + discount :: OfferDiscount, + status :: BadgeItemStatus, + createdAt :: UTCTime + } + deriving (Show) + +data BadgeStatement = BadgeStatement + { entries :: [StatementEntry], + previousEntryId :: Maybe Text -- matches the client's asserted entryId, absent for the full ledger + } + deriving (Show) + +data BadgeBalance = BadgeBalance + { lastEntry :: StatementEntry + } + deriving (Show) + +data StatementEntry = StatementEntry + { entryId :: Text, + changeMonths :: Int, + balanceMonths :: Int, + balanceStartTs :: UTCTime, + balanceBadgeType :: BadgeType, + wasPausedSince :: Maybe UTCTime, + createdAt :: UTCTime, + entryType :: StatementEntryType + } + deriving (Show) + +data StatementEntryType = SECredit {credit :: StatementCreditType} | SEDebit {debit :: StatementDebitType} + deriving (Show) + +data StatementCreditType + = SCPayment {invoiceId :: Maybe InvoiceId} -- absent for store and code payments + | SCCharge {chargeId :: Int64} + | SCSupport + | SCTransferIn {fromPurchaseKey :: C.PublicKeyEd25519} + | SCOpening + | SCUnknown {tag :: Text, json :: J.Object} + deriving (Show) + +data StatementDebitType + = SDRefund + | SDUpgrade {toPurchaseKey :: C.PublicKeyEd25519} + | SDTransferOut {toPurchaseKey :: C.PublicKeyEd25519} + | SDSupport + | SDBadge + | SDLapse + | SDUnknown {tag :: Text, json :: J.Object} + deriving (Show) + +data BadgeServiceErrorCode + = BSEBadRequest + | BSEUnsupportedVersion + | BSEUnknownPurchaseKey + | BSEUnknownOfferId + | BSEOfferDisabled + | BSEOfferMismatch + | BSEProductUnavailable + | BSEPaymentNotEntitled + | BSEPaymentPending + | BSEProviderUnavailable + | BSERateLimited + | BSECodeInvalid + | BSECodeUsed + | BSECodeExpired + | BSEReceiptInvalid + | BSEReceiptUsed + | BSEInternal + deriving (Eq, Show) diff --git a/src/Simplex/Chat/Badges/Store.hs b/src/Simplex/Chat/Badges/Store.hs new file mode 100644 index 0000000000..88357d1a6f --- /dev/null +++ b/src/Simplex/Chat/Badges/Store.hs @@ -0,0 +1,215 @@ +{-# LANGUAGE DerivingStrategies #-} +{-# LANGUAGE DuplicateRecordFields #-} +{-# LANGUAGE GeneralizedNewtypeDeriving #-} + +module Simplex.Chat.Badges.Store + ( BadgePriceId (..), + BadgeOfferId (..), + InvoiceId (..), + BadgePlan (..), + BadgeItemStatus (..), + OfferDiscount (..), + BadgeProvider (..), + BadgePaymentStatus (..), + BadgePurchaseStatus (..), + LedgerEntryType (..), + LedgerCreditType (..), + LedgerDebitType (..), + BadgeAlertKind (..), + BadgePurchase (..), + BadgePayment (..), + BadgeLedgerEntry (..), + BadgeCharge (..), + BadgeIssuance (..), + BadgeAlert (..), + UserBadgeState (..), + ) where + +import qualified Data.Aeson as J +import Data.ByteString.Char8 (ByteString) +import Data.Int (Int64) +import Data.Text (Text) +import Data.Time.Clock (UTCTime) +import Data.Word (Word8) +import Simplex.Chat.Badges hiding (BadgePurchase (..)) +import Simplex.Messaging.Agent.Protocol (UserId) +import qualified Simplex.Messaging.Crypto as C + +-- confirmed +newtype BadgePriceId = BadgePriceId Text + deriving newtype (Eq, Show) + +-- confirmed +newtype BadgeOfferId = BadgeOfferId Text + deriving newtype (Eq, Show) + +-- to review +newtype InvoiceId = InvoiceId Text + deriving newtype (Eq, Show) + +-- unconfirmed draft +data BadgePlan = BPOneTime | BPMonthly | BPAnnual + deriving (Eq, Show) + +-- confirmed +data BadgeItemStatus = BISActive | BISDeprecated | BISDisabled -- disabled is not sent + deriving (Eq, Show) + +-- confirmed +data OfferDiscount + = ODFreeMonths {freeMonths :: Word8} + | ODDiscount {discount :: Word8} -- percent + deriving (Eq, Show) + +-- unconfirmed draft +data BadgeProvider = BPRApple | BPRGoogle | BPRStripe | BPRBtc | BPRXmr | BPRCode + deriving (Eq, Show) + +-- unconfirmed draft +data BadgePaymentStatus = BPSNew | BPSInvoiced | BPSPending | BPSSettled | BPSFailed | BPSExpired + deriving (Eq, Show) + +-- unconfirmed draft +data BadgePurchaseStatus = PSAcquiring | PSIssued | PSSuperseded | PSFailed + deriving (Eq, Show) + +-- confirmed +data LedgerEntryType = LECredit {credit :: LedgerCreditType} | LEDebit {debit :: LedgerDebitType} + deriving (Eq, Show) + +-- confirmed +data LedgerCreditType + = CTPayment {invoiceId :: Int64} + | CTCharge {chargeId :: Int64} + | CTSupport + | CTTransferIn {fromPurchaseId :: Maybe Int64} + | CTOpening + | CTUnknown {tag :: Text, json :: J.Object} + deriving (Eq, Show) + +-- confirmed +data LedgerDebitType + = DTRefund + | DTUpgrade {toPurchaseId :: Int64} + | DTTransferOut {toPurchaseId :: Int64} + | DTSupport + | DTBadge + | DTLapse + | DTUnknown {tag :: Text, json :: J.Object} + deriving (Eq, Show) + +-- unconfirmed draft +data BadgeAlertKind = BARenewalApproaching | BAPaymentIssue | BASubscriptionEnded | BAPrepaidEnding | BASupportEnded + deriving (Eq, Show) + +-- to review +data BadgePurchase = BadgePurchase + { badgePurchaseId :: Int64, + userId :: UserId, + purchaseKey :: C.PublicKeyEd25519, + purchasePrivKey :: C.PrivateKeyEd25519, + masterKey :: BadgeMasterKey, + badgeType :: BadgeType, + priceId :: Maybe BadgePriceId, + offerId :: Maybe BadgeOfferId, + paymentId :: Int64, + status :: BadgePurchaseStatus, + credential :: Maybe BadgeCredential, + alertAcked :: Maybe (BadgeAlertKind, Text), + alertSnoozeUntil :: Maybe UTCTime, + createdAt :: UTCTime, + updatedAt :: UTCTime + } + +-- to review +data BadgePayment = BadgePayment + { paymentId :: Int64, + userId :: UserId, + purchaseKey :: C.PublicKeyEd25519, + badgeType :: BadgeType, + priceId :: Maybe BadgePriceId, + offerId :: Maybe BadgeOfferId, + invoiceUuid :: Maybe InvoiceId, + months :: Maybe Int, + amount :: Maybe Int64, + currency :: Maybe Text, + provider :: BadgeProvider, + providerRef :: Maybe Text, + invoiceUrl :: Maybe Text, + invoiceAddress :: Maybe Text, + invoiceCryptoAmount :: Maybe Text, + invoiceExpiresAt :: Maybe UTCTime, + evidence :: Maybe ByteString, + receiptCode :: Maybe Text, + status :: BadgePaymentStatus, + exception :: Maybe Text, + renewsAt :: Maybe UTCTime, + graceUntil :: Maybe UTCTime, + cancelled :: Bool, + createdAt :: UTCTime, + updatedAt :: UTCTime + } + deriving (Show) + +-- confirmed +data BadgeLedgerEntry = BadgeLedgerEntry + { entryId :: Int64, + entryUuid :: Text, + badgePurchaseId :: Int64, + changeMonths :: Int, + balanceMonths :: Int, + balanceStartTs :: UTCTime, + balanceBadgeType :: BadgeType, + wasPausedSince :: Maybe UTCTime, + serviceCreatedAt :: UTCTime, + createdAt :: UTCTime, + entryType :: LedgerEntryType + } + deriving (Show) + +-- unconfirmed draft +data BadgeCharge = BadgeCharge + { chargeId :: Int64, + paymentId :: Int64, + invoiceUuid :: InvoiceId, + providerChargeRef :: Text, + periodStart :: UTCTime, + periodEnd :: UTCTime, + amount :: Int64, + currency :: Text, + chargedAt :: UTCTime + } + deriving (Show) + +-- unconfirmed draft +data BadgeIssuance = BadgeIssuance + { issuanceId :: Int64, + badgePurchaseId :: Int64, + periodStart :: Maybe UTCTime, + periodEnd :: Maybe UTCTime, + expiry :: Maybe UTCTime, + entryId :: Maybe Int64, + createdAt :: UTCTime + } + deriving (Show) + +-- unconfirmed draft +data BadgeAlert = BadgeAlert + { kind :: BadgeAlertKind, + episode :: Text, + date :: UTCTime, + price :: Maybe (Int64, Text) + } + deriving (Show) + +-- unconfirmed draft +data UserBadgeState = UserBadgeState + { badges :: [BadgePurchase], + shownBadgeId :: Maybe Int64, + payments :: [BadgePayment], + monthsLeft :: Int, + paidThrough :: Maybe UTCTime, + renewsAt :: Maybe UTCTime, + willRenew :: Bool, + alert :: Maybe BadgeAlert + } diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/M20260731_user_badges.hs b/src/Simplex/Chat/Store/SQLite/Migrations/M20260731_user_badges.hs new file mode 100644 index 0000000000..08db8a49ca --- /dev/null +++ b/src/Simplex/Chat/Store/SQLite/Migrations/M20260731_user_badges.hs @@ -0,0 +1,169 @@ +{-# LANGUAGE QuasiQuotes #-} + +module Simplex.Chat.Store.SQLite.Migrations.M20260731_user_badges where + +import Database.SQLite.Simple (Query) +import Database.SQLite.Simple.QQ (sql) + +m20260731_user_badges :: Query +m20260731_user_badges = + [sql| +CREATE TABLE badge_prices( + price_id TEXT NOT NULL PRIMARY KEY, + badge_type TEXT NOT NULL, + month_price INTEGER NOT NULL, + currency TEXT NOT NULL, + status TEXT NOT NULL, + created_at TEXT NOT NULL +); + +CREATE TABLE badge_offers( + offer_id TEXT NOT NULL PRIMARY KEY, + price_id TEXT REFERENCES badge_prices, + months INTEGER NOT NULL, + discount_type TEXT NOT NULL, + free_months INTEGER, + discount INTEGER, + status TEXT NOT NULL, + created_at TEXT NOT NULL +); + +CREATE TABLE payments( + payment_id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id INTEGER NOT NULL REFERENCES users ON DELETE CASCADE, + purchase_key BLOB NOT NULL, + badge_type TEXT NOT NULL, + price_id TEXT REFERENCES badge_prices, + offer_id TEXT REFERENCES badge_offers, + invoice_uuid TEXT, + months INTEGER, + amount INTEGER, + currency TEXT, + provider TEXT NOT NULL, + provider_ref TEXT, + invoice_url TEXT, + invoice_address TEXT, + invoice_crypto_amount TEXT, + invoice_expires_at TEXT, + evidence BLOB, + receipt_code TEXT, + status TEXT NOT NULL, + exception TEXT, + renews_at TEXT, + grace_until TEXT, + cancelled INTEGER NOT NULL DEFAULT 0, + created_at TEXT NOT NULL, + updated_at TEXT NOT NULL +); + +CREATE INDEX idx_payments_purchase_key ON payments(purchase_key); + +CREATE UNIQUE INDEX idx_payments_invoice_uuid ON payments(invoice_uuid); + +CREATE TABLE charges( + charge_id INTEGER PRIMARY KEY, + payment_id INTEGER NOT NULL REFERENCES payments, + invoice_uuid TEXT NOT NULL, + provider_charge_ref TEXT NOT NULL, + period_start TEXT NOT NULL, + period_end TEXT NOT NULL, + amount INTEGER NOT NULL, + currency TEXT NOT NULL, + charged_at TEXT NOT NULL, + UNIQUE(payment_id, provider_charge_ref) +); + +CREATE TABLE badge_purchases( + badge_purchase_id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id INTEGER NOT NULL REFERENCES users ON DELETE CASCADE, + purchase_key BLOB NOT NULL, + purchase_priv_key BLOB NOT NULL, + master_key BLOB NOT NULL, + badge_type TEXT NOT NULL, + price_id TEXT REFERENCES badge_prices, + offer_id TEXT REFERENCES badge_offers, + payment_id INTEGER NOT NULL REFERENCES payments, + status TEXT NOT NULL, + badge_key_idx INTEGER, + badge_signature BLOB, + badge_expiry TEXT, + alert_acked_kind TEXT, + alert_acked_episode TEXT, + alert_snooze_until TEXT, + created_at TEXT NOT NULL, + updated_at TEXT NOT NULL, + UNIQUE(purchase_key) +); + +CREATE UNIQUE INDEX idx_badge_purchases_live ON badge_purchases(user_id, (badge_type = 'investor')) + WHERE status IN ('acquiring', 'issued'); + +ALTER TABLE users ADD COLUMN shown_badge_id INTEGER REFERENCES badge_purchases ON DELETE SET NULL; +|] + <> badgeLedgerTable + <> [sql| +ALTER TABLE badge_ledger ADD COLUMN entry_type_unknown INTEGER NOT NULL DEFAULT 0; + +ALTER TABLE badge_ledger ADD COLUMN entry_type_value TEXT; + +CREATE UNIQUE INDEX idx_badge_ledger_uuid ON badge_ledger(entry_uuid); + +CREATE INDEX idx_badge_ledger_purchase ON badge_ledger(badge_purchase_id, entry_id); + +CREATE INDEX idx_badge_ledger_invoice ON badge_ledger(invoice_id); + +CREATE INDEX idx_badge_ledger_charge ON badge_ledger(charge_id); + +CREATE INDEX idx_badge_ledger_from_purchase ON badge_ledger(from_purchase_id); + +CREATE INDEX idx_badge_ledger_to_purchase ON badge_ledger(to_purchase_id); + +CREATE TABLE badge_issuances( + issuance_id INTEGER PRIMARY KEY, + badge_purchase_id INTEGER NOT NULL REFERENCES badge_purchases ON DELETE CASCADE, + period_start TEXT, + period_end TEXT, + expiry TEXT, + entry_id INTEGER REFERENCES badge_ledger, + created_at TEXT NOT NULL +); + +CREATE INDEX idx_badge_issuances_purchase ON badge_issuances(badge_purchase_id, issuance_id); +|] + +badgeLedgerTable :: Query +badgeLedgerTable = + [sql| +CREATE TABLE badge_ledger( + entry_id INTEGER PRIMARY KEY AUTOINCREMENT, + entry_uuid TEXT NOT NULL, + badge_purchase_id INTEGER NOT NULL REFERENCES badge_purchases ON DELETE CASCADE, + change_months INTEGER NOT NULL, + balance_months INTEGER NOT NULL, + balance_start_ts TEXT NOT NULL, + balance_badge_type TEXT NOT NULL, + was_paused_since TEXT, + service_created_at TEXT NOT NULL, + created_at TEXT NOT NULL, + entry_type TEXT NOT NULL, + entry_credit_type TEXT, + entry_debit_type TEXT, + invoice_id INTEGER REFERENCES payments, + charge_id INTEGER REFERENCES charges, + from_purchase_id INTEGER REFERENCES badge_purchases, + to_purchase_id INTEGER REFERENCES badge_purchases +); +|] + +down_m20260731_user_badges :: Query +down_m20260731_user_badges = + [sql| +DROP TABLE badge_issuances; +DROP TABLE badge_ledger; +ALTER TABLE users DROP COLUMN shown_badge_id; +DROP TABLE badge_purchases; +DROP TABLE charges; +DROP TABLE payments; +DROP TABLE badge_offers; +DROP TABLE badge_prices; +|] From 7ce2e6583e7707de22fbdaeae74ebef1b5b34e74 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Sat, 8 Aug 2026 20:00:23 +0000 Subject: [PATCH 02/69] core: simplex-badge-service scaffolding (#7353) * core: simplex-badge-service scaffolding * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * clean-up --------- Co-authored-by: Evgeny Poberezkin --- .github/workflows/build.yml | 1 + apps/simplex-badge-service/Main.hs | 14 ++ apps/simplex-badge-service/README.md | 30 +++++ .../src/BadgeService/Options.hs | 93 ++++++++++++++ .../src/BadgeService/Service.hs | 120 ++++++++++++++++++ .../src/BadgeService/Store/Migrate.hs | 40 ++++++ .../BadgeService/Store/Postgres/Migrations.hs | 37 ++++++ .../BadgeService/Store/SQLite/Migrations.hs | 34 +++++ .../src/Directory/Service.hs | 2 +- docs/protocol/badges-rpc.schema.json | 10 +- simplex-chat.cabal | 53 ++++++++ src/Simplex/Chat/Badges/Service.hs | 52 ++++++++ src/Simplex/Chat/Bot.hs | 12 +- tests/Bots/BadgeServiceTests.hs | 81 ++++++++++++ tests/Test.hs | 2 + 15 files changed, 567 insertions(+), 14 deletions(-) create mode 100644 apps/simplex-badge-service/Main.hs create mode 100644 apps/simplex-badge-service/README.md create mode 100644 apps/simplex-badge-service/src/BadgeService/Options.hs create mode 100644 apps/simplex-badge-service/src/BadgeService/Service.hs create mode 100644 apps/simplex-badge-service/src/BadgeService/Store/Migrate.hs create mode 100644 apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs create mode 100644 apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs create mode 100644 tests/Bots/BadgeServiceTests.hs diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4e5050fe8f..6cc939f866 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,6 +15,7 @@ on: - "apps/simplex-chat/**" - "apps/simplex-bot/**" - "apps/simplex-bot-advanced/**" + - "apps/simplex-badge-service/**" - "apps/simplex-broadcast-bot/**" - "apps/simplex-directory-service/**" - "tests/**" diff --git a/apps/simplex-badge-service/Main.hs b/apps/simplex-badge-service/Main.hs new file mode 100644 index 0000000000..b870ea8671 --- /dev/null +++ b/apps/simplex-badge-service/Main.hs @@ -0,0 +1,14 @@ +{-# LANGUAGE NamedFieldPuns #-} + +module Main where + +import BadgeService.Options (BadgeServiceOpts (..)) +import BadgeService.Service +import Simplex.Chat.Terminal (terminalChatConfig) + +main :: IO () +main = do + opts@BadgeServiceOpts {runCLI} <- welcomeGetOpts + if runCLI + then badgeServiceCLI opts + else badgeService opts terminalChatConfig diff --git a/apps/simplex-badge-service/README.md b/apps/simplex-badge-service/README.md new file mode 100644 index 0000000000..2d3c2153f3 --- /dev/null +++ b/apps/simplex-badge-service/README.md @@ -0,0 +1,30 @@ +# SimpleX badge service + +Scaffolding for the SimpleX supporter-badge RPC service. The wire protocol is specified in [`docs/protocol/badges-rpc.md`](../../docs/protocol/badges-rpc.md), and the implementation plans live under [`plans/`](../../plans) (`2026-07-30-supporter-badges-v3-ux.md`, `2026-07-31-badges-core-implementation.md`, `2026-08-04-badges-mvp-scope.md`). + +At this stage the service: + +- creates a double-ratchet contact address on first start (service RPC requires DR, see [`docs/protocol/badges-rpc.md`](../../docs/protocol/badges-rpc.md)), +- listens for service requests (`CEvtServiceRequest`) on that address and responds to every command with `unsupported_version`, +- does not accept contact requests — the address is for RPC only, +- exposes a placeholder schema migration (`sx_badge_service_test`) and its own migrations table (`sx_badge_service_migrations`). + +Business logic — command dispatch, ledger writes, credential signing, provider webhooks — is left for follow-up per the plans. + +## Build + +Build prerequisites and the general contribution flow are in [`docs/CONTRIBUTING.md`](../../docs/CONTRIBUTING.md). + +``` +cabal build exe:simplex-badge-service +``` + +## Run + +``` +simplex-badge-service --help +``` + +- default (no `--run-cli`): background service mode, no interactive terminal. +- `--run-cli`: interactive CLI that also processes service requests (mirrors `simplex-directory-service --run-cli`). +- `--no-address`: skip address creation on start-up (for operators who provision the address themselves). diff --git a/apps/simplex-badge-service/src/BadgeService/Options.hs b/apps/simplex-badge-service/src/BadgeService/Options.hs new file mode 100644 index 0000000000..82d82a454d --- /dev/null +++ b/apps/simplex-badge-service/src/BadgeService/Options.hs @@ -0,0 +1,93 @@ +{-# LANGUAGE ApplicativeDo #-} +{-# LANGUAGE DuplicateRecordFields #-} +{-# LANGUAGE NamedFieldPuns #-} +{-# LANGUAGE OverloadedStrings #-} + +module BadgeService.Options + ( BadgeServiceOpts (..), + getBadgeServiceOpts, + badgeServiceOpts, + mkChatOpts, + ) +where + +import qualified Data.Text as T +import Options.Applicative +import Simplex.Chat.Controller (updateStr, versionNumber, versionString) +import Simplex.Chat.Options (ChatCmdLog (..), ChatOpts (..), CoreChatOpts, CreateBotOpts (..), coreChatOptsP) + +data BadgeServiceOpts = BadgeServiceOpts + { coreOptions :: CoreChatOpts, + serviceName :: T.Text, + clientService :: Bool, + noAddress :: Bool, + runCLI :: Bool, + testing :: Bool + } + +badgeServiceOpts :: FilePath -> FilePath -> Parser BadgeServiceOpts +badgeServiceOpts appDir defaultDbName = do + coreOptions <- coreChatOptsP appDir defaultDbName + serviceName <- + strOption + ( long "service-name" + <> metavar "SERVICE_NAME" + <> help "The display name of the badge service bot, without *'s and spaces (SimpleX Badges)" + <> value "SimpleX Badges" + ) + clientService <- + switch + ( long "client-service" + <> help "Use client service certificate" + ) + noAddress <- + switch + ( long "no-address" + <> help "skip checking and creating service address" + ) + runCLI <- + switch + ( long "run-cli" + <> help "Run badge service as CLI" + ) + pure + BadgeServiceOpts + { coreOptions, + serviceName = T.pack serviceName, + clientService, + noAddress, + runCLI, + testing = False + } + +getBadgeServiceOpts :: FilePath -> FilePath -> IO BadgeServiceOpts +getBadgeServiceOpts appDir defaultDbName = + execParser $ + info + (helper <*> versionOption <*> badgeServiceOpts appDir defaultDbName) + (header versionStr <> fullDesc <> progDesc "Start SimpleX Badge Service with DB_FILE options") + where + versionStr = versionString versionNumber + versionOption = infoOption versionAndUpdate (long "version" <> short 'v' <> help "Show version") + versionAndUpdate = versionStr <> "\n" <> updateStr + +mkChatOpts :: BadgeServiceOpts -> ChatOpts +mkChatOpts BadgeServiceOpts {coreOptions, serviceName, clientService} = + ChatOpts + { coreOptions, + chatCmd = "", + chatCmdDelay = 3, + chatCmdLog = CCLNone, + chatServerPort = Nothing, + optFilesFolder = Nothing, + optTempDirectory = Nothing, + showReactions = False, + showFullLinks = False, + allowInstantFiles = True, + autoAcceptFileSize = 0, + muteNotifications = True, + markRead = False, + createBot = Just CreateBotOpts {botDisplayName = serviceName, allowFiles = False, clientService}, + userDisplayName = Nothing, + userImageFile = Nothing + } diff --git a/apps/simplex-badge-service/src/BadgeService/Service.hs b/apps/simplex-badge-service/src/BadgeService/Service.hs new file mode 100644 index 0000000000..64e934872e --- /dev/null +++ b/apps/simplex-badge-service/src/BadgeService/Service.hs @@ -0,0 +1,120 @@ +{-# LANGUAGE DuplicateRecordFields #-} +{-# LANGUAGE LambdaCase #-} +{-# LANGUAGE NamedFieldPuns #-} +{-# LANGUAGE OverloadedStrings #-} + +module BadgeService.Service + ( welcomeGetOpts, + badgeService, + badgeServiceCLI, + ) +where + +import BadgeService.Options +import BadgeService.Store.Migrate (runBadgeServiceMigrations) +import Control.Concurrent.STM +import Control.Logger.Simple +import Control.Monad +import qualified Data.Aeson as J +import qualified Data.Aeson.KeyMap as KM +import qualified Data.Text as T +import Simplex.Chat.Badges.Service (BadgeServiceErrorCode (..)) +import Simplex.Chat.Bot (initializeBotAddress') +import Simplex.Chat.Controller +import Simplex.Chat.Core (sendChatCmd, simplexChatCore) +import Simplex.Chat.Options (printDbOpts) +import Simplex.Chat.Terminal (terminalChatConfig) +import Simplex.Chat.Terminal.Main (simplexChatCLI') +import Simplex.Chat.Types (AgentInvId (..), User (..)) +import Simplex.Messaging.Encoding.String (strEncode) +import Simplex.Messaging.Util (raceAny_, safeDecodeUtf8, tshow) +import System.Directory (getAppUserDataDirectory) +import System.Exit (exitFailure) + +data ServiceState = ServiceState + { serviceCC :: TMVar ChatController, + serviceRequestQ :: TQueue (User, AgentInvId, J.Object) + } + +newServiceState :: IO ServiceState +newServiceState = do + serviceCC <- newEmptyTMVarIO + serviceRequestQ <- newTQueueIO + pure ServiceState {serviceCC, serviceRequestQ} + +welcomeGetOpts :: IO BadgeServiceOpts +welcomeGetOpts = do + appDir <- getAppUserDataDirectory "simplex" + opts@BadgeServiceOpts {coreOptions, testing, serviceName} <- getBadgeServiceOpts appDir "simplex_badge_service" + unless testing $ do + putStrLn $ "SimpleX Badge Service v" ++ versionNumber + printDbOpts coreOptions + putStrLn $ "Service name: " ++ T.unpack serviceName + pure opts + +badgeService :: BadgeServiceOpts -> ChatConfig -> IO () +badgeService opts cfg = do + env <- newServiceState + let chatHooks = + defaultChatHooks + { preStartHook = Just $ badgePreStartHook opts, + postStartHook = Just $ badgePostStartHook opts env + } + simplexChatCore cfg {chatHooks} (mkChatOpts opts) $ \_ cc -> + forever $ do + (_, event) <- atomically . readTBQueue $ outputQ cc + case event of + -- TODO enforce _sigKey == BadgeServiceRequest.purchaseKey (docs/protocol/badges-rpc.md). + Right (CEvtServiceRequest u reqId _sigKey reqData) -> handleServiceRequest cc u reqId reqData + _ -> pure () + +badgeServiceCLI :: BadgeServiceOpts -> IO () +badgeServiceCLI opts = do + env <- newServiceState + let eventHook _cc ev = do + case ev of + Right (CEvtServiceRequest u reqId _sigKey reqData) -> + atomically $ writeTQueue (serviceRequestQ env) (u, reqId, reqData) + _ -> pure () + pure ev + chatHooks = + defaultChatHooks + { preStartHook = Just $ badgePreStartHook opts, + postStartHook = Just $ badgePostStartHook opts env, + eventHook = Just eventHook + } + raceAny_ + [ simplexChatCLI' terminalChatConfig {chatHooks} (mkChatOpts opts) Nothing, + processQueuedRequests env + ] + +processQueuedRequests :: ServiceState -> IO () +processQueuedRequests env = do + cc <- atomically $ readTMVar $ serviceCC env + forever $ do + (u, reqId, reqData) <- atomically $ readTQueue $ serviceRequestQ env + handleServiceRequest cc u reqId reqData + +badgePreStartHook :: BadgeServiceOpts -> ChatController -> IO () +badgePreStartHook opts ChatController {config, chatStore} = + runBadgeServiceMigrations opts config chatStore + +badgePostStartHook :: BadgeServiceOpts -> ServiceState -> ChatController -> IO () +badgePostStartHook BadgeServiceOpts {noAddress, testing} env cc = do + -- SREQ delivery gates on this flag; Core starts serviceRequests=False, so the hook must set it. + atomically $ writeTVar (processServiceRequests cc) True + readTVarIO (currentUser cc) >>= \case + Nothing -> putStrLn "No current user" >> exitFailure + -- DR required for service RPC; autoAccept off because badge service ignores contact events. + Just _ -> do + unless noAddress $ initializeBotAddress' (not testing) (Just True) False cc + void $ atomically $ tryPutTMVar (serviceCC env) cc + +handleServiceRequest :: ChatController -> User -> AgentInvId -> J.Object -> IO () +handleServiceRequest cc User {userId} reqId _reqData = do + let reqIdT = safeDecodeUtf8 (strEncode reqId) + respObj = KM.fromList [("type", J.String "error"), ("code", J.toJSON BSEUnsupportedVersion)] + logInfo $ "badge service request " <> reqIdT + sendChatCmd cc (APISendServiceResponse userId reqId respObj) >>= \case + Right _ -> pure () + Left e -> logError $ "badge service response failed for " <> reqIdT <> ": " <> tshow e diff --git a/apps/simplex-badge-service/src/BadgeService/Store/Migrate.hs b/apps/simplex-badge-service/src/BadgeService/Store/Migrate.hs new file mode 100644 index 0000000000..506043c262 --- /dev/null +++ b/apps/simplex-badge-service/src/BadgeService/Store/Migrate.hs @@ -0,0 +1,40 @@ +{-# LANGUAGE CPP #-} +{-# LANGUAGE DuplicateRecordFields #-} +{-# LANGUAGE NamedFieldPuns #-} +{-# LANGUAGE OverloadedStrings #-} + +module BadgeService.Store.Migrate + ( runBadgeServiceMigrations, + ) +where + +import BadgeService.Options +import Simplex.Chat.Controller (ChatConfig (..)) +import Simplex.Chat.Options (CoreChatOpts (..)) +import Simplex.Chat.Options.DB +import Simplex.Messaging.Agent.Store.Common +import Simplex.Messaging.Agent.Store.Interface (migrateDBSchema) +import Simplex.Messaging.Agent.Store.Shared (MigrationConfig (..), MigrationConfirmation (..)) +import System.Exit (exitFailure) + +#if defined(dbPostgres) +import BadgeService.Store.Postgres.Migrations +#else +import BadgeService.Store.SQLite.Migrations +#endif + +runBadgeServiceMigrations :: BadgeServiceOpts -> ChatConfig -> DBStore -> IO () +runBadgeServiceMigrations opts ChatConfig {confirmMigrations} chatStore = + migrateDBSchema + chatStore + (toDBOpts dbOptions chatSuffix False []) + (Just "sx_badge_service_migrations") + badgeServiceSchemaMigrations + MigrationConfig {confirm, backupPath = Nothing} + >>= either (exit . ("badge service migrations " <>) . show) pure + where + BadgeServiceOpts {coreOptions = CoreChatOpts {dbOptions, yesToUpMigrations}} = opts + confirm = if confirmMigrations == MCConsole && yesToUpMigrations then MCYesUp else confirmMigrations + +exit :: String -> IO a +exit err = putStrLn ("Error: " <> err) >> exitFailure diff --git a/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs b/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs new file mode 100644 index 0000000000..a4bc3396bf --- /dev/null +++ b/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs @@ -0,0 +1,37 @@ +{-# LANGUAGE NamedFieldPuns #-} +{-# LANGUAGE QuasiQuotes #-} + +module BadgeService.Store.Postgres.Migrations (badgeServiceSchemaMigrations) where + +import Data.List (sortOn) +import Data.Text (Text) +import qualified Data.Text as T +import Simplex.Messaging.Agent.Store.Shared (Migration (..)) +import Text.RawString.QQ (r) + +badgeServiceSchemaMigrations :: [Migration] +badgeServiceSchemaMigrations = sortOn name $ map migration schemaMigrations + where + migration (name, up, down) = Migration {name, up, down} + +schemaMigrations :: [(String, Text, Maybe Text)] +schemaMigrations = + [ ("20260806_badge_service_schema", m20260806_badge_service_schema, Just down_m20260806_badge_service_schema) + ] + +m20260806_badge_service_schema :: Text +m20260806_badge_service_schema = + T.pack + [r| +CREATE TABLE sx_badge_service_test( + test_id BIGINT PRIMARY KEY GENERATED ALWAYS AS IDENTITY, + created_at TIMESTAMPTZ NOT NULL DEFAULT (now()) +); + |] + +down_m20260806_badge_service_schema :: Text +down_m20260806_badge_service_schema = + T.pack + [r| +DROP TABLE sx_badge_service_test; + |] diff --git a/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs b/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs new file mode 100644 index 0000000000..8404f135db --- /dev/null +++ b/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs @@ -0,0 +1,34 @@ +{-# LANGUAGE NamedFieldPuns #-} +{-# LANGUAGE QuasiQuotes #-} + +module BadgeService.Store.SQLite.Migrations (badgeServiceSchemaMigrations) where + +import Data.List (sortOn) +import Database.SQLite.Simple (Query (..)) +import Database.SQLite.Simple.QQ (sql) +import Simplex.Messaging.Agent.Store.Shared (Migration (..)) + +badgeServiceSchemaMigrations :: [Migration] +badgeServiceSchemaMigrations = sortOn name $ map migration schemaMigrations + where + migration (name, up, down) = Migration {name, up = fromQuery up, down = fromQuery <$> down} + +schemaMigrations :: [(String, Query, Maybe Query)] +schemaMigrations = + [ ("20260806_badge_service_schema", m20260806_badge_service_schema, Just down_m20260806_badge_service_schema) + ] + +m20260806_badge_service_schema :: Query +m20260806_badge_service_schema = + [sql| +CREATE TABLE sx_badge_service_test( + test_id INTEGER PRIMARY KEY AUTOINCREMENT, + created_at TEXT NOT NULL DEFAULT(datetime('now')) +); + |] + +down_m20260806_badge_service_schema :: Query +down_m20260806_badge_service_schema = + [sql| +DROP TABLE sx_badge_service_test; + |] diff --git a/apps/simplex-directory-service/src/Directory/Service.hs b/apps/simplex-directory-service/src/Directory/Service.hs index 7dc165c4df..0273740cbb 100644 --- a/apps/simplex-directory-service/src/Directory/Service.hs +++ b/apps/simplex-directory-service/src/Directory/Service.hs @@ -220,7 +220,7 @@ directoryPostStartHook opts@DirectoryOpts {noAddress, testing} env cc = readTVarIO (currentUser cc) >>= \case Nothing -> putStrLn "No current user" >> exitFailure Just User {userId, profile = p@LocalProfile {preferences}} -> do - unless noAddress $ initializeBotAddress' (not testing) cc + unless noAddress $ initializeBotAddress' (not testing) Nothing True cc void $ atomically $ tryPutTMVar (serviceCC env) cc listingsUpdated env let cmds = fromMaybe [] $ preferences >>= commands_ diff --git a/docs/protocol/badges-rpc.schema.json b/docs/protocol/badges-rpc.schema.json index b1c3cf4a66..2caa3408e2 100644 --- a/docs/protocol/badges-rpc.schema.json +++ b/docs/protocol/badges-rpc.schema.json @@ -363,14 +363,8 @@ "error": { "properties": { "code": { - "enum": [ - "bad_request", "unsupported_version", "unknown_purchase_key", - "unknown_offer_id", "offer_disabled", "offer_mismatch", "product_unavailable", - "payment_not_entitled", "payment_pending", "provider_unavailable", "rate_limited", - "code_invalid", "code_used", "code_expired", - "receipt_invalid", "receipt_used", - "internal" - ] + "type": "string", + "metadata": {"comment": "BadgeServiceErrorCode"} } }, "optionalProperties": { diff --git a/simplex-chat.cabal b/simplex-chat.cabal index c5dcf6111e..9f23bd9223 100644 --- a/simplex-chat.cabal +++ b/simplex-chat.cabal @@ -398,6 +398,52 @@ library , template-haskell ==2.16.* , text >=1.2.4.0 && <1.3 +executable simplex-badge-service + if flag(client_library) + buildable: False + main-is: Main.hs + hs-source-dirs: + apps/simplex-badge-service + apps/simplex-badge-service/src + default-extensions: + StrictData + other-modules: + BadgeService.Options + BadgeService.Service + BadgeService.Store.Migrate + Paths_simplex_chat + ghc-options: -O2 -Weverything -Wno-missing-exported-signatures -Wno-missing-import-lists -Wno-missed-specialisations -Wno-all-missed-specialisations -Wno-unsafe -Wno-safe -Wno-missing-local-signatures -Wno-missing-kind-signatures -Wno-missing-deriving-strategies -Wno-monomorphism-restriction -Wno-prepositive-qualified-module -Wno-unused-packages -Wno-implicit-prelude -Wno-missing-safe-haskell-mode -Wno-missing-export-lists -Wno-partial-fields -Wcompat -Werror=incomplete-record-updates -Werror=incomplete-patterns -Werror=missing-methods -Werror=incomplete-uni-patterns -Werror=tabs -Wredundant-constraints -Wincomplete-record-updates -Wunused-type-patterns -Werror=name-shadowing -threaded -rtsopts + build-depends: + aeson ==2.2.* + , base >=4.7 && <5 + , directory ==1.3.* + , optparse-applicative >=0.15 && <0.17 + , simple-logger ==0.1.* + , simplex-chat + , simplexmq >=6.3 + , stm ==2.5.* + default-language: Haskell2010 + if flag(client_postgres) + other-modules: + BadgeService.Store.Postgres.Migrations + build-depends: + postgresql-simple ==0.7.* + , raw-strings-qq ==1.1.* + cpp-options: -DdbPostgres + else + other-modules: + BadgeService.Store.SQLite.Migrations + build-depends: + sqlcipher-simple ==0.4.* + if impl(ghc >= 9.6.2) + build-depends: + bytestring ==0.11.* + , text >=2.0.1 && <2.2 + if impl(ghc < 9.6.2) + build-depends: + bytestring ==0.10.* + , text >=1.2.4.0 && <1.3 + executable simplex-bot if flag(client_library) buildable: False @@ -623,6 +669,10 @@ test-suite simplex-chat-test API.Docs.Syntax.Types API.Docs.Types API.TypeInfo + BadgeService.Options + BadgeService.Service + BadgeService.Store.Migrate + Bots.BadgeServiceTests Broadcast.Bot Broadcast.Options Directory.BlockedWords @@ -649,6 +699,7 @@ test-suite simplex-chat-test hs-source-dirs: bots/src tests + apps/simplex-badge-service/src apps/simplex-broadcast-bot/src apps/simplex-directory-service/src default-extensions: @@ -691,6 +742,7 @@ test-suite simplex-chat-test default-language: Haskell2010 if flag(client_postgres) other-modules: + BadgeService.Store.Postgres.Migrations Directory.Store.Postgres.Migrations build-depends: postgresql-simple ==0.7.* @@ -698,6 +750,7 @@ test-suite simplex-chat-test cpp-options: -DdbPostgres else other-modules: + BadgeService.Store.SQLite.Migrations Directory.Store.SQLite.Migrations build-depends: sqlcipher-simple ==0.4.* diff --git a/src/Simplex/Chat/Badges/Service.hs b/src/Simplex/Chat/Badges/Service.hs index 70084e70dd..eb5a556503 100644 --- a/src/Simplex/Chat/Badges/Service.hs +++ b/src/Simplex/Chat/Badges/Service.hs @@ -1,5 +1,7 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE DuplicateRecordFields #-} +{-# LANGUAGE LambdaCase #-} +{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PatternSynonyms #-} module Simplex.Chat.Badges.Service @@ -28,6 +30,7 @@ module Simplex.Chat.Badges.Service StatementDebitType (..), ) where +import Data.Aeson (FromJSON (..), ToJSON (..)) import qualified Data.Aeson as J import Data.Int (Int64) import Data.Text (Text) @@ -36,6 +39,7 @@ import Data.Word (Word8, Word16, Word32) import Simplex.Chat.Badges import Simplex.Chat.Badges.Store import qualified Simplex.Messaging.Crypto as C +import Simplex.Messaging.Encoding.String import Simplex.Messaging.Version (VersionScope) import Simplex.Messaging.Version.Internal (Version (..)) @@ -241,4 +245,52 @@ data BadgeServiceErrorCode | BSEReceiptInvalid | BSEReceiptUsed | BSEInternal + | BSEUnknown Text -- forwards-compatible: service is deployed ahead of clients deriving (Eq, Show) + +instance TextEncoding BadgeServiceErrorCode where + textEncode = \case + BSEBadRequest -> "bad_request" + BSEUnsupportedVersion -> "unsupported_version" + BSEUnknownPurchaseKey -> "unknown_purchase_key" + BSEUnknownOfferId -> "unknown_offer_id" + BSEOfferDisabled -> "offer_disabled" + BSEOfferMismatch -> "offer_mismatch" + BSEProductUnavailable -> "product_unavailable" + BSEPaymentNotEntitled -> "payment_not_entitled" + BSEPaymentPending -> "payment_pending" + BSEProviderUnavailable -> "provider_unavailable" + BSERateLimited -> "rate_limited" + BSECodeInvalid -> "code_invalid" + BSECodeUsed -> "code_used" + BSECodeExpired -> "code_expired" + BSEReceiptInvalid -> "receipt_invalid" + BSEReceiptUsed -> "receipt_used" + BSEInternal -> "internal" + BSEUnknown t -> t + textDecode s = Just $ case s of + "bad_request" -> BSEBadRequest + "unsupported_version" -> BSEUnsupportedVersion + "unknown_purchase_key" -> BSEUnknownPurchaseKey + "unknown_offer_id" -> BSEUnknownOfferId + "offer_disabled" -> BSEOfferDisabled + "offer_mismatch" -> BSEOfferMismatch + "product_unavailable" -> BSEProductUnavailable + "payment_not_entitled" -> BSEPaymentNotEntitled + "payment_pending" -> BSEPaymentPending + "provider_unavailable" -> BSEProviderUnavailable + "rate_limited" -> BSERateLimited + "code_invalid" -> BSECodeInvalid + "code_used" -> BSECodeUsed + "code_expired" -> BSECodeExpired + "receipt_invalid" -> BSEReceiptInvalid + "receipt_used" -> BSEReceiptUsed + "internal" -> BSEInternal + t -> BSEUnknown t + +instance ToJSON BadgeServiceErrorCode where + toJSON = textToJSON + toEncoding = textToEncoding + +instance FromJSON BadgeServiceErrorCode where + parseJSON = textParseJSON "BadgeServiceErrorCode" diff --git a/src/Simplex/Chat/Bot.hs b/src/Simplex/Chat/Bot.hs index dfb7418f3f..3b1c4c6da0 100644 --- a/src/Simplex/Chat/Bot.hs +++ b/src/Simplex/Chat/Bot.hs @@ -47,16 +47,17 @@ chatBotRepl welcome answer _user cc = do contactConnected Contact {localDisplayName} = putStrLn $ T.unpack localDisplayName <> " connected" initializeBotAddress :: ChatController -> IO () -initializeBotAddress = initializeBotAddress' True +initializeBotAddress = initializeBotAddress' True Nothing True -initializeBotAddress' :: Bool -> ChatController -> IO () -initializeBotAddress' logAddress cc = do +-- pqRatchet_ selects the address type when creating: Just True (IKUsePQ) is required for service RPC, Nothing is the legacy non-DR contact address. +initializeBotAddress' :: Bool -> Maybe Bool -> Bool -> ChatController -> IO () +initializeBotAddress' logAddress pqRatchet_ doAutoAccept cc = do sendChatCmd cc ShowMyAddress >>= \case Right (CRUserContactLink _ UserContactLink {connLinkContact}) -> showBotAddress connLinkContact Left (ChatErrorStore SEUserContactLinkNotFound) -> do when logAddress $ putStrLn "No bot address, creating..." -- TODO [short links] create short link by default - sendChatCmd cc (CreateMyAddress Nothing) >>= \case + sendChatCmd cc (CreateMyAddress pqRatchet_) >>= \case Right (CRUserContactLinkCreated _ ccLink) -> showBotAddress ccLink _ -> putStrLn "can't create bot address" >> exitFailure _ -> putStrLn "unexpected response" >> exitFailure @@ -65,7 +66,8 @@ initializeBotAddress' logAddress cc = do when logAddress $ do putStrLn $ "Bot's contact address is: " <> B.unpack (maybe (strEncode uri) strEncode shortUri) when (isJust shortUri) $ putStrLn $ "Full contact address for old clients: " <> B.unpack (strEncode uri) - let settings = AddressSettings {businessAddress = False, autoAccept = Just AutoAccept {acceptIncognito = False}, autoReply = Nothing} + let aa = if doAutoAccept then Just AutoAccept {acceptIncognito = False} else Nothing + settings = AddressSettings {businessAddress = False, autoAccept = aa, autoReply = Nothing} void $ sendChatCmd cc $ SetAddressSettings Nothing settings sendMessage :: ChatController -> Contact -> Text -> IO () diff --git a/tests/Bots/BadgeServiceTests.hs b/tests/Bots/BadgeServiceTests.hs new file mode 100644 index 0000000000..896c603d7f --- /dev/null +++ b/tests/Bots/BadgeServiceTests.hs @@ -0,0 +1,81 @@ +{-# LANGUAGE CPP #-} +{-# LANGUAGE NamedFieldPuns #-} +{-# LANGUAGE OverloadedStrings #-} + +module Bots.BadgeServiceTests where + +import BadgeService.Options +import BadgeService.Service +import ChatClient +import ChatTests.DBUtils +import ChatTests.Utils +import Control.Concurrent (forkIO, killThread, threadDelay) +import Control.Exception (finally) +import Simplex.Chat.Controller (ChatConfig) +import Simplex.Chat.Options (CoreChatOpts (..)) +import Simplex.Chat.Options.DB +import Simplex.Chat.Types (ChatPeerType (..), Profile (..)) +import System.FilePath (()) +import Test.Hspec hiding (it) + +badgeServiceTests :: SpecWith TestParams +badgeServiceTests = do + it "should respond with unsupported_version to redeem" testBadgeServiceRedeemUnsupported + +badgeProfile :: Profile +badgeProfile = Profile {displayName = "SimpleX Badges", fullName = "", shortDescr = Nothing, description = Nothing, image = Nothing, contactLink = Nothing, peerType = Just CPTBot, preferences = Nothing, badge = Nothing, contactDomain = Nothing} + +serviceDbPrefix :: FilePath +serviceDbPrefix = "badge_service" + +mkBadgeServiceOpts :: TestParams -> BadgeServiceOpts +mkBadgeServiceOpts TestParams {tmpPath = ps} = + BadgeServiceOpts + { coreOptions = + testCoreOpts + { dbOptions = + (dbOptions testCoreOpts) +#if defined(dbPostgres) + {dbSchemaPrefix = "client_" <> serviceDbPrefix} +#else + {dbFilePrefix = ps serviceDbPrefix} +#endif + }, + serviceName = "SimpleX Badges", + clientService = True, + noAddress = False, + runCLI = False, + testing = True + } + +withBadgeService :: HasCallStack => TestParams -> (TestCC -> String -> IO ()) -> IO () +withBadgeService ps test = do + let opts = mkBadgeServiceOpts ps + withNewTestChatCfg ps testCfg serviceDbPrefix badgeProfile $ \_ -> pure () + -- First start: badge service takes the CreateMyAddress branch. + runBadgeService testCfg opts (pure ()) + -- Reopen the DB to read the link the service created. + bsLink <- withTestChat ps serviceDbPrefix $ \bs -> do + bs <## "subscribed 1 connections on server localhost" + bs ##> "/sa" + (sLink, _) <- getContactLinks bs False + bs <## "auto_accept off" + pure sLink + -- Second start: badge service takes the ShowMyAddress branch, then serves the test body. + runBadgeService testCfg opts $ + withNewTestChatCfg ps testCfg "client" bobProfile $ \client -> + test client bsLink + +runBadgeService :: ChatConfig -> BadgeServiceOpts -> IO () -> IO () +runBadgeService cfg opts action = do + t <- forkIO $ badgeService opts cfg + threadDelay 500000 + action `finally` killThread t + +testBadgeServiceRedeemUnsupported :: HasCallStack => TestParams -> IO () +testBadgeServiceRedeemUnsupported ps = + withBadgeService ps $ \client bsLink -> do + let redeemReq = + "{\"version\":1,\"request\":{\"type\":\"purchaseBadge\",\"payment\":{\"type\":\"code\",\"code\":\"TEST-CODE\"}}}" + client ##> ("/_service_request 1 " <> bsLink <> " " <> redeemReq) + client <## "service response: {\"code\":\"unsupported_version\",\"type\":\"error\"}" diff --git a/tests/Test.hs b/tests/Test.hs index 84a019c21c..6d0e299273 100644 --- a/tests/Test.hs +++ b/tests/Test.hs @@ -3,6 +3,7 @@ {-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE TupleSections #-} +import Bots.BadgeServiceTests import Bots.BroadcastTests import Bots.DirectoryTests import ChatClient @@ -88,6 +89,7 @@ main = do describe "SimpleX chat client" chatTests xdescribe'' "SimpleX Broadcast bot" broadcastBotTests xdescribe'' "SimpleX Directory service bot" directoryServiceTests + xdescribe'' "SimpleX Badge service bot" badgeServiceTests describe "Remote session" remoteTests #if !defined(dbPostgres) xdescribe'' "Save query plans" saveQueryPlans From cd670548b9e89e5fad276b40a735c1e728730e12 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Fri, 14 Aug 2026 07:36:02 +0000 Subject: [PATCH 03/69] ui: badges WIP views (#7321) --- .../Views/Badges/BadgeUserPreview.swift | 39 ++++ .../Views/Badges/BadgesHowItWorksView.swift | 46 +++++ .../Shared/Views/Badges/BadgesPayView.swift | 146 ++++++++++++++ .../Views/Badges/BadgesRedeemCodeView.swift | 36 ++++ .../Badges/BadgesSupportSimplexView.swift | 165 +++++++++++++++ .../Views/Badges/BadgesYourLevelView.swift | 188 ++++++++++++++++++ .../Views/Badges/SupportSimpleXBanner.swift | 129 ++++++++++++ .../Shared/Views/ChatList/ChatListView.swift | 19 ++ apps/ios/Shared/Views/Helpers/NameBadge.swift | 2 +- .../Shared/Views/Onboarding/HowItWorks.swift | 2 + .../Views/Onboarding/WhatsNewView.swift | 48 +++++ .../Views/UserSettings/SettingsView.swift | 20 +- apps/ios/SimpleX.xcodeproj/project.pbxproj | 36 ++++ apps/ios/SimpleXChat/ChatTypes.swift | 11 + .../chat/simplex/common/model/SimpleXAPI.kt | 3 + .../common/views/badges/BadgeUserPreview.kt | 41 ++++ .../views/badges/BadgesHowItWorksView.kt | 34 ++++ .../common/views/badges/BadgesPayView.kt | 154 ++++++++++++++ .../views/badges/BadgesRedeemCodeView.kt | 29 +++ .../views/badges/BadgesSupportSimplexView.kt | 141 +++++++++++++ .../views/badges/BadgesYourLevelView.kt | 157 +++++++++++++++ .../views/badges/SupportSimpleXBanner.kt | 173 ++++++++++++++++ .../common/views/chatlist/ChatListView.kt | 28 ++- .../common/views/helpers/ChatInfoImage.kt | 2 +- .../common/views/onboarding/HowItWorks.kt | 10 +- .../common/views/onboarding/SimpleXInfo.kt | 6 +- .../common/views/onboarding/WhatsNewView.kt | 47 +++++ .../common/views/usersettings/SettingsView.kt | 12 ++ .../commonMain/resources/MR/base/strings.xml | 32 +++ .../default/MR/images/phone_supporter.svg | 4 + .../MR/images/phone_supporter_light.svg | 4 + 31 files changed, 1750 insertions(+), 14 deletions(-) create mode 100644 apps/ios/Shared/Views/Badges/BadgeUserPreview.swift create mode 100644 apps/ios/Shared/Views/Badges/BadgesHowItWorksView.swift create mode 100644 apps/ios/Shared/Views/Badges/BadgesPayView.swift create mode 100644 apps/ios/Shared/Views/Badges/BadgesRedeemCodeView.swift create mode 100644 apps/ios/Shared/Views/Badges/BadgesSupportSimplexView.swift create mode 100644 apps/ios/Shared/Views/Badges/BadgesYourLevelView.swift create mode 100644 apps/ios/Shared/Views/Badges/SupportSimpleXBanner.swift create mode 100644 apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgeUserPreview.kt create mode 100644 apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesHowItWorksView.kt create mode 100644 apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesPayView.kt create mode 100644 apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesRedeemCodeView.kt create mode 100644 apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesSupportSimplexView.kt create mode 100644 apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesYourLevelView.kt create mode 100644 apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/SupportSimpleXBanner.kt create mode 100644 apps/multiplatform/common/src/commonMain/resources/assets/default/MR/images/phone_supporter.svg create mode 100644 apps/multiplatform/common/src/commonMain/resources/assets/default/MR/images/phone_supporter_light.svg diff --git a/apps/ios/Shared/Views/Badges/BadgeUserPreview.swift b/apps/ios/Shared/Views/Badges/BadgeUserPreview.swift new file mode 100644 index 0000000000..3e7216866e --- /dev/null +++ b/apps/ios/Shared/Views/Badges/BadgeUserPreview.swift @@ -0,0 +1,39 @@ +// +// BadgeUserPreview.swift +// SimpleX (iOS) +// +// Created by spaced4ndy on 30.07.2026. +// Copyright © 2026 SimpleX Chat. All rights reserved. +// + +import SwiftUI +import SimpleXChat + +struct BadgeUserPreview: View { + @EnvironmentObject var chatModel: ChatModel + let level: BadgeLevel + let trailing: () -> Trailing + + init(level: BadgeLevel, @ViewBuilder trailing: @escaping () -> Trailing = { EmptyView() }) { + self.level = level + self.trailing = trailing + } + + var body: some View { + let user = chatModel.currentUser + let displayName = user?.displayName ?? NSLocalizedString("My nickname", comment: "badges preview placeholder") + let previewBadge = LocalBadge( + badge: BadgeInfo(badgeType: level.badgeType), + status: .active + ) + return VStack(spacing: 12) { + ProfileImage(imageStr: user?.image, size: 128) + HStack(alignment: .center, spacing: 6) { + NameWithBadge(Text(displayName).font(.largeTitle), previewBadge, .largeTitle) + .lineLimit(1) + .minimumScaleFactor(0.75) + trailing() + } + } + } +} diff --git a/apps/ios/Shared/Views/Badges/BadgesHowItWorksView.swift b/apps/ios/Shared/Views/Badges/BadgesHowItWorksView.swift new file mode 100644 index 0000000000..24836b37f9 --- /dev/null +++ b/apps/ios/Shared/Views/Badges/BadgesHowItWorksView.swift @@ -0,0 +1,46 @@ +// +// BadgesHowItWorksView.swift +// SimpleX (iOS) +// +// Created by spaced4ndy on 28.07.2026. +// Copyright © 2026 SimpleX Chat. All rights reserved. +// + +import SwiftUI +import SimpleXChat + +// TODO [badges]: replace lorem ipsum with the real copy once the badge protocol and privacy properties are documented. +struct BadgesHowItWorksView: View { + @EnvironmentObject var theme: AppTheme + + var body: some View { + VStack(alignment: .leading) { + Text("How private badges work") + .font(.largeTitle) + .bold() + .foregroundColor(theme.colors.primary) + .padding(.top, 8) + .padding(.bottom, 16) + ScrollView { + VStack(alignment: .leading, spacing: 12) { + Text("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.") + Text("Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.") + Text("Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.") + } + .lineLimit(nil) + .fixedSize(horizontal: false, vertical: true) + } + Spacer() + } + .padding(.horizontal, 25) + .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .topLeading) + } +} + +struct BadgesHowItWorksView_Previews: PreviewProvider { + static var previews: some View { + NavigationView { + BadgesHowItWorksView() + } + } +} diff --git a/apps/ios/Shared/Views/Badges/BadgesPayView.swift b/apps/ios/Shared/Views/Badges/BadgesPayView.swift new file mode 100644 index 0000000000..b32c14485f --- /dev/null +++ b/apps/ios/Shared/Views/Badges/BadgesPayView.swift @@ -0,0 +1,146 @@ +// +// BadgesPayView.swift +// SimpleX (iOS) +// +// Created by spaced4ndy on 28.07.2026. +// Copyright © 2026 SimpleX Chat. All rights reserved. +// + +import SwiftUI +import SimpleXChat + +// TODO [badges]: replace with types produced by the badge purchase API when it lands. +enum BadgePeriod: String, CaseIterable, Identifiable { + case oneMonth + case subscribe + + var id: String { rawValue } + + var icon: String { + switch self { + case .oneMonth: "calendar" + case .subscribe: "arrow.clockwise" + } + } + + var label: LocalizedStringKey { + switch self { + case .oneMonth: "1 month" + case .subscribe: "Subscribe" + } + } +} + +struct BadgesPayView: View { + @EnvironmentObject var theme: AppTheme + let level: BadgeLevel + @State private var selectedPeriod: BadgePeriod = .subscribe + + var body: some View { + GeometryReader { g in + ScrollView { + VStack(alignment: .center, spacing: 16) { + Text(level.title) + .font(.largeTitle) + .bold() + .foregroundColor(theme.colors.primary) + .multilineTextAlignment(.center) + .fixedSize(horizontal: false, vertical: true) + + BadgeUserPreview(level: level) + .padding(.top, 4) + + Text(level.tagline) + .font(.body) + .foregroundColor(theme.colors.onBackground) + .multilineTextAlignment(.center) + .fixedSize(horizontal: false, vertical: true) + .padding(.top, 4) + + Spacer(minLength: 20) + + HStack(alignment: .top, spacing: 12) { + periodCard(.oneMonth) + periodCard(.subscribe) + } + + Spacer(minLength: 20) + + VStack(spacing: 10) { + payButton() + .padding(.vertical, 10) + Text(billingFooter) + .font(.footnote) + .foregroundColor(theme.colors.secondary) + .multilineTextAlignment(.center) + .fixedSize(horizontal: false, vertical: true) + .frame(height: 22) + } + .padding(.bottom, g.safeAreaInsets.bottom == 0 ? 20 : 0) + } + .padding(.horizontal, 25) + .padding(.top, 0) + .padding(.bottom, 20) + .frame(minHeight: g.size.height) + } + } + .frame(maxHeight: .infinity) + .navigationBarTitleDisplayMode(.inline) + } + + private func periodCard(_ period: BadgePeriod) -> some View { + let isSelected = period == selectedPeriod + return Button { + selectedPeriod = period + } label: { + VStack(spacing: 12) { + Image(systemName: period.icon) + .resizable() + .scaledToFit() + .frame(width: 32, height: 32) + .foregroundColor(isSelected ? theme.colors.primary : theme.colors.secondary) + .padding(.top, 30) + Text(period.label) + .font(.title3) + .fontWeight(.bold) + .padding(.bottom, 30) + } + .frame(maxWidth: .infinity) + .background(Color(uiColor: .secondarySystemGroupedBackground)) + .clipShape(RoundedRectangle(cornerRadius: 16)) + .overlay( + RoundedRectangle(cornerRadius: 16) + .stroke(isSelected ? theme.colors.primary : Color(uiColor: .secondarySystemFill), lineWidth: 2) + ) + } + .buttonStyle(.plain) + } + + private func payButton() -> some View { + Button { + // TODO [badges] wire to purchase API when it lands. + } label: { + Text(selectedPeriod == .subscribe ? "Pay \(level.priceAmount)/month" : "Pay \(level.priceAmount)") + } + .buttonStyle(OnboardingButtonStyle(isDisabled: false)) + } + + private var billingFooter: LocalizedStringKey { + // TODO [badges] source the actual date from the purchase state machine when wired. + var comps = DateComponents(); comps.year = 2026; comps.month = 7; comps.day = 22 + let stubDate = Calendar.current.date(from: comps) ?? Date() + let date = DateFormatter.localizedString(from: stubDate, dateStyle: .long, timeStyle: .none) + switch selectedPeriod { + case .subscribe: return "Renews on \(date). Cancel anytime." + case .oneMonth: return "Ends on \(date)." + } + } +} + +struct BadgesPayView_Previews: PreviewProvider { + static var previews: some View { + NavigationView { + BadgesPayView(level: .supporter) + } + } +} diff --git a/apps/ios/Shared/Views/Badges/BadgesRedeemCodeView.swift b/apps/ios/Shared/Views/Badges/BadgesRedeemCodeView.swift new file mode 100644 index 0000000000..2101bfa7f0 --- /dev/null +++ b/apps/ios/Shared/Views/Badges/BadgesRedeemCodeView.swift @@ -0,0 +1,36 @@ +// +// BadgesRedeemCodeView.swift +// SimpleX (iOS) +// +// Created by spaced4ndy on 28.07.2026. +// Copyright © 2026 SimpleX Chat. All rights reserved. +// + +import SwiftUI +import SimpleXChat + +// TODO [badges]: implement input field, server verification and success/failure states when the redeem API is defined. +struct BadgesRedeemCodeView: View { + @EnvironmentObject var theme: AppTheme + + var body: some View { + VStack(alignment: .leading) { + Text("Redeem badge code") + .font(.largeTitle) + .bold() + .foregroundColor(theme.colors.primary) + .padding(.top, 8) + Spacer() + } + .padding(.horizontal, 25) + .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .topLeading) + } +} + +struct BadgesRedeemCodeView_Previews: PreviewProvider { + static var previews: some View { + NavigationView { + BadgesRedeemCodeView() + } + } +} diff --git a/apps/ios/Shared/Views/Badges/BadgesSupportSimplexView.swift b/apps/ios/Shared/Views/Badges/BadgesSupportSimplexView.swift new file mode 100644 index 0000000000..6ae3176e85 --- /dev/null +++ b/apps/ios/Shared/Views/Badges/BadgesSupportSimplexView.swift @@ -0,0 +1,165 @@ +// +// BadgesSupportSimplexView.swift +// SimpleX (iOS) +// +// Created by spaced4ndy on 28.07.2026. +// Copyright © 2026 SimpleX Chat. All rights reserved. +// + +import SwiftUI +import SimpleXChat + +struct BadgesSupportSimplexView: View { + @EnvironmentObject var theme: AppTheme + // set true when presented as a sheet root (from the chat-list banner) — that path doesn't + // reserve nav-bar space like a NavigationLink push does, so the title lands too close to the top + var showsAsSheet: Bool = false + @State private var whyBuiltActive = false + @State private var chooseLevelActive = false + @State private var redeemCodeActive = false + + var body: some View { + // TODO [badges] gate on user badge status (no badge → this view, active → "Manage your badge") + GeometryReader { g in + VStack(alignment: .center, spacing: 16) { + Text("Support SimpleX") + .font(.largeTitle) + .bold() + .foregroundColor(theme.colors.primary) + .multilineTextAlignment(.center) + .fixedSize(horizontal: false, vertical: true) + + Text("SimpleX doesn't sell ads or data. It's funded by its users and by investors who share the mission. You can support the project and show a badge on your profile.") + .font(.body) + .multilineTextAlignment(.center) + .fixedSize(horizontal: false, vertical: true) + + whyBuiltButton() + + Spacer(minLength: 0) + + PhoneSupporterHero() + .frame(maxWidth: g.size.width * 0.55) + .layoutPriority(-1) + + Spacer(minLength: 0) + + // Onboarding pattern: nested VStack(spacing: 10) + action button vertical padding 10. + VStack(spacing: 10) { + chooseLevelButton() + .padding(.vertical, 10) + redeemCodeButton() + .frame(height: 22) + } + .padding(.bottom, g.safeAreaInsets.bottom == 0 ? 20 : 0) + } + .padding(.horizontal, 25) + .padding(.top, showsAsSheet ? 48 : 0) + .padding(.bottom, 20) + // .frame(height:) not minHeight — inside the banner sheet's NavigationView minHeight + // would let the VStack expand past the visible area and inflate the hero. + .frame(height: g.size.height) + } + .frame(maxHeight: .infinity) + .navigationBarTitleDisplayMode(.inline) + } + + private func whyBuiltButton() -> some View { + ZStack { + Button { whyBuiltActive = true } label: { + HStack(spacing: 4) { + Image(systemName: "info.circle") + Text("Why SimpleX is built.").fontWeight(.medium) + } + .font(.body) + } + NavigationLink(isActive: $whyBuiltActive) { + WhySimpleX(onboarding: false, titleColor: theme.colors.primary, createProfileNavLinkActive: .constant(false)) + } label: { + EmptyView() + } + .frame(width: 1, height: 1) + .hidden() + } + } + + private func chooseLevelButton() -> some View { + ZStack { + Button { + chooseLevelActive = true + } label: { + Text("Choose your level") + } + .buttonStyle(OnboardingButtonStyle(isDisabled: false)) + + NavigationLink(isActive: $chooseLevelActive) { + BadgesYourLevelView() + .modifier(ThemedBackground()) + } label: { + EmptyView() + } + .frame(width: 1, height: 1) + .hidden() + } + } + + private func redeemCodeButton() -> some View { + ZStack { + Button { + redeemCodeActive = true + } label: { + Text("Redeem badge code") + .font(.body) + .fontWeight(.medium) + .foregroundColor(theme.colors.primary) + } + + NavigationLink(isActive: $redeemCodeActive) { + BadgesRedeemCodeView() + .modifier(ThemedBackground()) + } label: { + EmptyView() + } + .frame(width: 1, height: 1) + .hidden() + } + } +} + +struct PhoneSupporterHero: View { + @EnvironmentObject var theme: AppTheme + @Environment(\.colorScheme) var colorScheme: ColorScheme + + var body: some View { + #if SIMPLEX_ASSETS + Image(colorScheme == .light ? "phone-supporter" : "phone-supporter-light") + .resizable() + .scaledToFit() + .frame(maxWidth: .infinity) + #else + ZStack { + let gp = OnboardingCardView.gradientPoints(aspectRatio: 1.0, scale: colorScheme == .light ? 1.2 : 1.5) + LinearGradient( + stops: colorScheme == .light ? OnboardingCardView.lightStops : OnboardingCardView.darkStops, + startPoint: gp.start, + endPoint: gp.end + ) + Image("badge-supporter") + .resizable() + .scaledToFit() + .frame(width: 96) + } + .aspectRatio(1.0, contentMode: .fit) + .clipShape(RoundedRectangle(cornerRadius: 24)) + .frame(maxWidth: .infinity) + #endif + } +} + +struct BadgesSupportSimplexView_Previews: PreviewProvider { + static var previews: some View { + NavigationView { + BadgesSupportSimplexView() + } + } +} diff --git a/apps/ios/Shared/Views/Badges/BadgesYourLevelView.swift b/apps/ios/Shared/Views/Badges/BadgesYourLevelView.swift new file mode 100644 index 0000000000..3cfd576ea9 --- /dev/null +++ b/apps/ios/Shared/Views/Badges/BadgesYourLevelView.swift @@ -0,0 +1,188 @@ +// +// BadgesYourLevelView.swift +// SimpleX (iOS) +// +// Created by spaced4ndy on 28.07.2026. +// Copyright © 2026 SimpleX Chat. All rights reserved. +// + +import SwiftUI +import SimpleXChat + +// TODO [badges]: replace with types produced by the badge purchase API when it lands. +enum BadgeLevel: String, CaseIterable, Identifiable { + case supporter + case legend + + var id: String { rawValue } + + var title: LocalizedStringKey { + switch self { + case .supporter: "Supporter" + case .legend: "Legend" + } + } + + var filesDescription: LocalizedStringKey { + switch self { + case .supporter: "Send 2GB files" + case .legend: "Send 5GB files" + } + } + + var priceAmount: String { + switch self { + case .supporter: "$7" + case .legend: "$70" + } + } + + var tagline: LocalizedStringKey { + switch self { + case .supporter: "Optional profile badge\nand 2GB files" + case .legend: "Optional profile badge\nand 5GB files" + } + } + + var badgeType: BadgeType { + switch self { + case .supporter: .supporter + case .legend: .legend + } + } +} + +struct BadgesYourLevelView: View { + @EnvironmentObject var theme: AppTheme + @State private var selectedLevel: BadgeLevel = .supporter + @State private var continueActive = false + @State private var howItWorksActive = false + + var body: some View { + GeometryReader { g in + ScrollView { + VStack(alignment: .center, spacing: 16) { + Text("Your level") + .font(.largeTitle) + .bold() + .foregroundColor(theme.colors.primary) + .multilineTextAlignment(.center) + .fixedSize(horizontal: false, vertical: true) + + BadgeUserPreview(level: selectedLevel) { + Image(systemName: "chevron.down") + .font(.body) + .foregroundColor(theme.colors.primary) + } + .padding(.top, 4) + + Spacer(minLength: 20) + + HStack(alignment: .top, spacing: 12) { + levelCard(.supporter) + levelCard(.legend) + } + + Spacer(minLength: 20) + + VStack(spacing: 10) { + continueButton() + .padding(.vertical, 10) + howItWorksButton() + .frame(height: 22) + } + .padding(.bottom, g.safeAreaInsets.bottom == 0 ? 20 : 0) + } + .padding(.horizontal, 25) + .padding(.top, 0) + .padding(.bottom, 20) + .frame(minHeight: g.size.height) + } + } + .frame(maxHeight: .infinity) + .navigationBarTitleDisplayMode(.inline) + } + + private func levelCard(_ level: BadgeLevel) -> some View { + let isSelected = level == selectedLevel + return Button { + selectedLevel = level + } label: { + VStack(spacing: 10) { + Image(badgeImageName(level.badgeType)) + .resizable() + .scaledToFit() + .frame(width: 60, height: 60) + .padding(.top, 20) + Text(level.title) + .font(.title3) + .fontWeight(.bold) + Text(level.filesDescription) + .font(.subheadline) + .foregroundColor(theme.colors.secondary) + Text("\(level.priceAmount)/month") + .font(.body) + .padding(.bottom, 20) + } + .frame(maxWidth: .infinity) + .background(Color(uiColor: .secondarySystemGroupedBackground)) + .clipShape(RoundedRectangle(cornerRadius: 16)) + .overlay( + RoundedRectangle(cornerRadius: 16) + .stroke(isSelected ? theme.colors.primary : Color(uiColor: .secondarySystemFill), lineWidth: 2) + ) + } + .buttonStyle(.plain) + } + + private func continueButton() -> some View { + ZStack { + Button { + continueActive = true + } label: { + Text("Continue") + } + .buttonStyle(OnboardingButtonStyle(isDisabled: false)) + + NavigationLink(isActive: $continueActive) { + BadgesPayView(level: selectedLevel) + .modifier(ThemedBackground()) + } label: { + EmptyView() + } + .frame(width: 1, height: 1) + .hidden() + } + } + + private func howItWorksButton() -> some View { + ZStack { + Button { + howItWorksActive = true + } label: { + HStack(spacing: 4) { + Image(systemName: "info.circle") + Text("How private badges work").fontWeight(.medium) + } + .font(.body) + } + + NavigationLink(isActive: $howItWorksActive) { + BadgesHowItWorksView() + .modifier(ThemedBackground()) + } label: { + EmptyView() + } + .frame(width: 1, height: 1) + .hidden() + } + } +} + +struct BadgesYourLevelView_Previews: PreviewProvider { + static var previews: some View { + NavigationView { + BadgesYourLevelView() + } + } +} diff --git a/apps/ios/Shared/Views/Badges/SupportSimpleXBanner.swift b/apps/ios/Shared/Views/Badges/SupportSimpleXBanner.swift new file mode 100644 index 0000000000..07bf4366d2 --- /dev/null +++ b/apps/ios/Shared/Views/Badges/SupportSimpleXBanner.swift @@ -0,0 +1,129 @@ +// +// SupportSimpleXBanner.swift +// SimpleX (iOS) +// +// Created by spaced4ndy on 28.07.2026. +// Copyright © 2026 SimpleX Chat. All rights reserved. +// + +import SwiftUI +import SimpleXChat + +struct SupportSimpleXBanner: View { + @EnvironmentObject var theme: AppTheme + @Environment(\.colorScheme) var colorScheme: ColorScheme + @State private var showDismissAlert = false + let onTap: () -> Void + let onDismiss: () -> Void + + private let cardCornerRadius: CGFloat = 16 + // grows with Dynamic Type but never shrinks below the default so small-font users see the same + // banner as today; hero stays fixed so its above-card overhang shrinks at very large fonts + @ScaledMetric(relativeTo: .body) private var scaledCardHeight: CGFloat = 72 + private var cardHeight: CGFloat { max(72, scaledCardHeight) } + // matches OneHandUICard's segment icon leading so the text aligns with it in the list + private let cardLeadingPadding: CGFloat = 16 + private let cardTrailingPadding: CGFloat = 8 + private let heroWidth: CGFloat = 110 + // shorter than the natural drawn height so .clipped() slices the phone body at card bottom + private let heroVisibleHeight: CGFloat = 108 + // hero right edge sits exactly at the dismiss X's left edge (X trailing 16 + width 12) + private let heroTrailingPadding: CGFloat = 28 + private let textToHeroGap: CGFloat = 6 + + var body: some View { + // Card is the Button; hero is an overlay so it can extend above the card top without + // affecting layout size. Dismiss X is a ZStack sibling anchored to the card's top-right. + ZStack(alignment: .topTrailing) { + Button(action: onTap) { + HStack(spacing: 0) { + VStack(alignment: .leading, spacing: 4) { + Text("Support SimpleX") + .font(.headline) + .foregroundColor(theme.colors.primary) + .lineLimit(2) + Text("Get badge + files up to 5GB") + .font(.subheadline) + .foregroundColor(theme.colors.onBackground) + .lineLimit(2) + } + Spacer(minLength: heroWidth + heroTrailingPadding + textToHeroGap) + } + .padding(.leading, cardLeadingPadding) + .padding(.trailing, cardTrailingPadding) + .padding(.vertical, 12) + .frame(minHeight: cardHeight) + .background(gradientBackground()) + .clipShape(RoundedRectangle(cornerRadius: cardCornerRadius)) + } + .buttonStyle(.plain) + .overlay(alignment: .bottomTrailing) { + heroThumbnail() + .padding(.trailing, heroTrailingPadding) + .allowsHitTesting(false) + } + + Image(systemName: "multiply") + .foregroundColor(colorScheme == .dark ? theme.colors.onBackground : theme.colors.secondary) + .frame(width: 12, height: 12) + .padding(.top, 12) + .padding(.bottom, 4) + .padding(.trailing, 16) + .padding(.leading, 4) + .contentShape(Rectangle()) + .onTapGesture { showDismissAlert = true } + } + .alert(isPresented: $showDismissAlert) { + Alert( + title: Text("Support SimpleX"), + message: Text("You can support SimpleX later in Settings."), + dismissButton: .default(Text("Ok"), action: onDismiss) + ) + } + } + + @ViewBuilder + private func heroThumbnail() -> some View { + #if SIMPLEX_ASSETS + // draws at natural aspect, top-aligned in a shorter slot; .clipped() cuts the overflow at card bottom + Image(colorScheme == .light ? "phone-supporter" : "phone-supporter-light") + .resizable() + .aspectRatio(contentMode: .fill) + .frame(width: heroWidth, height: heroVisibleHeight, alignment: .top) + .clipped() + #else + Image("badge-supporter") + .resizable() + .scaledToFit() + .frame(width: 48, height: 48) + .padding(.vertical, (cardHeight - 48) / 2) + .padding(.trailing, 12) + #endif + } + + private func gradientBackground() -> some View { + // Asymmetric scale: start (dark end) pushed further below the card than the end (warm) is + // above, so the card's middle lands at the bright/mid-transition stop instead of the dark + // navy region. Keeps the small warm accent at top-right. + GeometryReader { geo in + let aspect = max(geo.size.height, 1) / max(geo.size.width, 1) + let startScale: CGFloat = colorScheme == .light ? 2.5 : 3.0 + let endScale: CGFloat = colorScheme == .light ? 1.7 : 2.1 + let gp = OnboardingCardView.gradientPoints(aspectRatio: aspect, scale: 1.0) + let start = UnitPoint(x: 0.5 + (gp.start.x - 0.5) * startScale, y: 0.5 + (gp.start.y - 0.5) * startScale) + let end = UnitPoint(x: 0.5 + (gp.end.x - 0.5) * endScale, y: 0.5 + (gp.end.y - 0.5) * endScale) + return LinearGradient( + stops: colorScheme == .light ? OnboardingCardView.lightStops : OnboardingCardView.darkStops, + startPoint: start, + endPoint: end + ) + } + } +} + +struct SupportSimpleXBanner_Previews: PreviewProvider { + static var previews: some View { + SupportSimpleXBanner(onTap: {}, onDismiss: {}) + .padding() + } +} diff --git a/apps/ios/Shared/Views/ChatList/ChatListView.swift b/apps/ios/Shared/Views/ChatList/ChatListView.swift index b05e0696e3..f8745a7eaf 100644 --- a/apps/ios/Shared/Views/ChatList/ChatListView.swift +++ b/apps/ios/Shared/Views/ChatList/ChatListView.swift @@ -174,7 +174,9 @@ struct ChatListView: View { @AppStorage(GROUP_DEFAULT_ONE_HAND_UI, store: groupDefaults) private var oneHandUI = true @AppStorage(DEFAULT_ONE_HAND_UI_CARD_SHOWN) private var oneHandUICardShown = false @AppStorage(DEFAULT_ADDRESS_CREATION_CARD_SHOWN) private var addressCreationCardShown = false + @AppStorage(DEFAULT_SUPPORTER_BANNER_SHOWN) private var supporterBannerShown = false @AppStorage(DEFAULT_TOOLBAR_MATERIAL) private var toolbarMaterial = ToolbarMaterial.defaultMaterial + @State private var showBadgesSheet = false // Spec: spec/client/chat-list.md#body var body: some View { @@ -211,6 +213,12 @@ struct ChatListView: View { NewChatSheet() .environment(\EnvironmentValues.refresh as! WritableKeyPath, nil) } + .appSheet(isPresented: $showBadgesSheet) { + NavigationView { + BadgesSupportSimplexView(showsAsSheet: true) + .modifier(ThemedBackground()) + } + } .onChange(of: activeUserPickerSheet) { if $0 != nil { DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) { @@ -418,6 +426,17 @@ struct ChatListView: View { .listRowSeparator(.hidden) .listRowBackground(Color.clear) } + if !supporterBannerShown && chatModel.chats.count > 3 { + SupportSimpleXBanner( + onTap: { showBadgesSheet = true }, + onDismiss: { withAnimation { supporterBannerShown = true } } + ) + .padding(.vertical, 3) + .scaleEffect(x: 1, y: oneHandUI ? -1 : 1, anchor: .center) + .listRowSeparator(.hidden) + .listRowBackground(Color.clear) + .zIndex(1) + } if #available(iOS 16.0, *) { ForEach(cs, id: \.viewId) { chat in ChatListNavLink(chat: chat, parentSheet: $sheet) diff --git a/apps/ios/Shared/Views/Helpers/NameBadge.swift b/apps/ios/Shared/Views/Helpers/NameBadge.swift index 67f6d6d6b2..11a4dafd2f 100644 --- a/apps/ios/Shared/Views/Helpers/NameBadge.swift +++ b/apps/ios/Shared/Views/Helpers/NameBadge.swift @@ -95,7 +95,7 @@ struct NameBadge: View { } } -private func badgeImageName(_ t: BadgeType) -> String { +func badgeImageName(_ t: BadgeType) -> String { switch t { case .legend: "badge-legend" case .investor: "badge-investor" diff --git a/apps/ios/Shared/Views/Onboarding/HowItWorks.swift b/apps/ios/Shared/Views/Onboarding/HowItWorks.swift index e9b9c6b970..dd01534dfb 100644 --- a/apps/ios/Shared/Views/Onboarding/HowItWorks.swift +++ b/apps/ios/Shared/Views/Onboarding/HowItWorks.swift @@ -65,6 +65,7 @@ struct WhySimpleX: View { @Environment(\.dismiss) var dismiss: DismissAction @EnvironmentObject var m: ChatModel var onboarding: Bool + var titleColor: Color? = nil @Binding var createProfileNavLinkActive: Bool var body: some View { @@ -74,6 +75,7 @@ struct WhySimpleX: View { Text("You were born without an account") .font(.title) .bold() + .foregroundColor(titleColor) .padding(.top) Text("Nobody tracked your conversations. No one drew a map of where you'd been. Privacy was never a feature - it was the way of life.") Text("Then we moved online, and every platform asked for a piece of you - your name, your number, your friends. We accepted that the price of talking to others is letting someone know who we talk to. Every generation, people and tech, had it this way - telephone, email, messengers, social media. It seemed the only way possible.") diff --git a/apps/ios/Shared/Views/Onboarding/WhatsNewView.swift b/apps/ios/Shared/Views/Onboarding/WhatsNewView.swift index 6ea24ec91c..9271566676 100644 --- a/apps/ios/Shared/Views/Onboarding/WhatsNewView.swift +++ b/apps/ios/Shared/Views/Onboarding/WhatsNewView.swift @@ -695,6 +695,18 @@ private let versionDescriptions: [VersionDescription] = [ )) ] ), + // TODO [badges] finalise copy + Read more link before v7.1 ships. + VersionDescription( + version: "v7.1", + post: nil, + features: [ + .view(FeatureView( + icon: nil, + title: "Supporter badge", + view: { SupporterBadgeWhatsNew() } + )) + ] + ), ] private let lastVersion = versionDescriptions.last!.version @@ -709,6 +721,42 @@ func shouldShowWhatsNew() -> Bool { return v != lastVersion } +fileprivate struct SupporterBadgeWhatsNew: View { + @Environment(\.colorScheme) var colorScheme: ColorScheme + @EnvironmentObject var theme: AppTheme + + var body: some View { + HStack(alignment: .top, spacing: 12) { + VStack(alignment: .leading, spacing: 6) { + Text("Supporter badge ❤️") + .font(.title3) + .bold() + Text("Help keep the network running — send files up to 2 GB.") + .multilineTextAlignment(.leading) + .lineLimit(10) + } + .frame(maxWidth: .infinity, alignment: .leading) + + heroThumbnail() + } + } + + @ViewBuilder + private func heroThumbnail() -> some View { + #if SIMPLEX_ASSETS + Image(colorScheme == .light ? "phone-supporter" : "phone-supporter-light") + .resizable() + .scaledToFit() + .frame(width: 110, height: 110) + #else + Image("badge-supporter") + .resizable() + .scaledToFit() + .frame(width: 72, height: 72) + #endif + } +} + fileprivate struct NewOperatorsView: View { var body: some View { VStack(alignment: .leading) { diff --git a/apps/ios/Shared/Views/UserSettings/SettingsView.swift b/apps/ios/Shared/Views/UserSettings/SettingsView.swift index 4bd5f7db1b..012142d9ba 100644 --- a/apps/ios/Shared/Views/UserSettings/SettingsView.swift +++ b/apps/ios/Shared/Views/UserSettings/SettingsView.swift @@ -56,6 +56,7 @@ let DEFAULT_CHAT_ITEM_ROUNDNESS = "chatItemRoundness" let DEFAULT_CHAT_ITEM_TAIL = "chatItemTail" let DEFAULT_ONE_HAND_UI_CARD_SHOWN = "oneHandUICardShown" let DEFAULT_ADDRESS_CREATION_CARD_SHOWN = "addressCreationCardShown" +let DEFAULT_SUPPORTER_BANNER_SHOWN = "supporterBannerShown" let DEFAULT_TOOLBAR_MATERIAL = "toolbarMaterial" let DEFAULT_CONNECT_VIA_LINK_TAB = "connectViaLinkTab" let DEFAULT_LIVE_MESSAGE_ALERT_SHOWN = "liveMessageAlertShown" @@ -117,6 +118,7 @@ let appDefaults: [String: Any] = [ DEFAULT_CHAT_ITEM_TAIL: true, DEFAULT_ONE_HAND_UI_CARD_SHOWN: false, DEFAULT_ADDRESS_CREATION_CARD_SHOWN: false, + DEFAULT_SUPPORTER_BANNER_SHOWN: false, DEFAULT_TOOLBAR_MATERIAL: ToolbarMaterial.defaultMaterial, DEFAULT_CONNECT_VIA_LINK_TAB: ConnectViaLinkTab.scan.rawValue, DEFAULT_LIVE_MESSAGE_ALERT_SHOWN: false, @@ -148,6 +150,7 @@ let hintDefaults = [ DEFAULT_LA_NOTICE_SHOWN, DEFAULT_ONE_HAND_UI_CARD_SHOWN, DEFAULT_ADDRESS_CREATION_CARD_SHOWN, + DEFAULT_SUPPORTER_BANNER_SHOWN, DEFAULT_LIVE_MESSAGE_ALERT_SHOWN, DEFAULT_SIGN_MESSAGE_ALERT_SHOWN, DEFAULT_SHOW_HIDDEN_PROFILES_NOTICE, @@ -341,6 +344,21 @@ struct SettingsView: View { } } + Section { + NavigationLink { + BadgesSupportSimplexView() + .modifier(ThemedBackground()) + } label: { + ZStack(alignment: .leading) { + Image("badge-supporter") + .resizable() + .scaledToFit() + .frame(width: 24, height: 24) + Text("Supporter perks").padding(.leading, indent) + } + } + } + Section(header: Text("Advanced settings").foregroundColor(theme.colors.secondary)) { NavigationLink { NetworkAndServers() @@ -375,7 +393,7 @@ struct SettingsView: View { NavigationLink { VersionView() .navigationBarTitle("App version") - .modifier(ThemedBackground()) + .modifier(ThemedBackground(grouped: true)) } label: { Text(verbatim: "v\(appVersion ?? "?")") } diff --git a/apps/ios/SimpleX.xcodeproj/project.pbxproj b/apps/ios/SimpleX.xcodeproj/project.pbxproj index 3b0c6ed57d..211b53e4f7 100644 --- a/apps/ios/SimpleX.xcodeproj/project.pbxproj +++ b/apps/ios/SimpleX.xcodeproj/project.pbxproj @@ -145,6 +145,13 @@ 640417CE2B29B8C200CCB412 /* NewChatView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 640417CC2B29B8C200CCB412 /* NewChatView.swift */; }; 640743612CD360E600158442 /* ChooseServerOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 640743602CD360E600158442 /* ChooseServerOperators.swift */; }; 6407BA83295DA85D0082BA18 /* CIInvalidJSONView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6407BA82295DA85D0082BA18 /* CIInvalidJSONView.swift */; }; + 641378013020A5AD0056E083 /* BadgesRedeemCodeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 641377FC3020A5AD0056E083 /* BadgesRedeemCodeView.swift */; }; + 641378023020A5AD0056E083 /* SupportSimpleXBanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 641378003020A5AD0056E083 /* SupportSimpleXBanner.swift */; }; + 641378033020A5AD0056E083 /* BadgesHowItWorksView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 641377FA3020A5AD0056E083 /* BadgesHowItWorksView.swift */; }; + 641378043020A5AD0056E083 /* BadgesSupportSimplexView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 641377FD3020A5AD0056E083 /* BadgesSupportSimplexView.swift */; }; + 641378053020A5AD0056E083 /* BadgesYourLevelView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 641377FE3020A5AD0056E083 /* BadgesYourLevelView.swift */; }; + 641378063020A5AD0056E083 /* BadgeUserPreview.swift in Sources */ = {isa = PBXBuildFile; fileRef = 641377FF3020A5AD0056E083 /* BadgeUserPreview.swift */; }; + 641378073020A5AD0056E083 /* BadgesPayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 641377FB3020A5AD0056E083 /* BadgesPayView.swift */; }; 6419EC582AB97507004A607A /* CIMemberCreatedContactView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6419EC572AB97507004A607A /* CIMemberCreatedContactView.swift */; }; 642BA82D2CE50495005E9412 /* NewServerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 642BA82C2CE50495005E9412 /* NewServerView.swift */; }; 6432857C2925443C00FBE5C8 /* GroupPreferencesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6432857B2925443C00FBE5C8 /* GroupPreferencesView.swift */; }; @@ -524,6 +531,13 @@ 640417CC2B29B8C200CCB412 /* NewChatView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewChatView.swift; sourceTree = ""; }; 640743602CD360E600158442 /* ChooseServerOperators.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChooseServerOperators.swift; sourceTree = ""; }; 6407BA82295DA85D0082BA18 /* CIInvalidJSONView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CIInvalidJSONView.swift; sourceTree = ""; }; + 641377FA3020A5AD0056E083 /* BadgesHowItWorksView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgesHowItWorksView.swift; sourceTree = ""; }; + 641377FB3020A5AD0056E083 /* BadgesPayView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgesPayView.swift; sourceTree = ""; }; + 641377FC3020A5AD0056E083 /* BadgesRedeemCodeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgesRedeemCodeView.swift; sourceTree = ""; }; + 641377FD3020A5AD0056E083 /* BadgesSupportSimplexView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgesSupportSimplexView.swift; sourceTree = ""; }; + 641377FE3020A5AD0056E083 /* BadgesYourLevelView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgesYourLevelView.swift; sourceTree = ""; }; + 641377FF3020A5AD0056E083 /* BadgeUserPreview.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgeUserPreview.swift; sourceTree = ""; }; + 641378003020A5AD0056E083 /* SupportSimpleXBanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SupportSimpleXBanner.swift; sourceTree = ""; }; 6419EC572AB97507004A607A /* CIMemberCreatedContactView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CIMemberCreatedContactView.swift; sourceTree = ""; }; 642BA82C2CE50495005E9412 /* NewServerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewServerView.swift; sourceTree = ""; }; 6432857B2925443C00FBE5C8 /* GroupPreferencesView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GroupPreferencesView.swift; sourceTree = ""; }; @@ -784,6 +798,7 @@ 8C7D94982B8894D300B7B9E1 /* Migration */, 5CA8D01B2AD9B076001FD661 /* RemoteAccess */, 5CB924DF27A8678B00ACCCDD /* UserSettings */, + E5BADE0100000000BADE0000 /* Badges */, 5C2E261127A30FEA00F70299 /* TerminalView.swift */, ); path = Views; @@ -1238,6 +1253,20 @@ path = "SimpleX SE"; sourceTree = ""; }; + E5BADE0100000000BADE0000 /* Badges */ = { + isa = PBXGroup; + children = ( + 641377FA3020A5AD0056E083 /* BadgesHowItWorksView.swift */, + 641377FB3020A5AD0056E083 /* BadgesPayView.swift */, + 641377FC3020A5AD0056E083 /* BadgesRedeemCodeView.swift */, + 641377FD3020A5AD0056E083 /* BadgesSupportSimplexView.swift */, + 641377FE3020A5AD0056E083 /* BadgesYourLevelView.swift */, + 641377FF3020A5AD0056E083 /* BadgeUserPreview.swift */, + 641378003020A5AD0056E083 /* SupportSimpleXBanner.swift */, + ); + path = Badges; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -1693,6 +1722,13 @@ 1841538E296606C74533367C /* UserPicker.swift in Sources */, 18415B0585EB5A9A0A7CA8CD /* PressedButtonStyle.swift in Sources */, 1841560FD1CD447955474C1D /* UserProfilesView.swift in Sources */, + 641378013020A5AD0056E083 /* BadgesRedeemCodeView.swift in Sources */, + 641378023020A5AD0056E083 /* SupportSimpleXBanner.swift in Sources */, + 641378033020A5AD0056E083 /* BadgesHowItWorksView.swift in Sources */, + 641378043020A5AD0056E083 /* BadgesSupportSimplexView.swift in Sources */, + 641378053020A5AD0056E083 /* BadgesYourLevelView.swift in Sources */, + 641378063020A5AD0056E083 /* BadgeUserPreview.swift in Sources */, + 641378073020A5AD0056E083 /* BadgesPayView.swift in Sources */, 64C3B0212A0D359700E19930 /* CustomTimePicker.swift in Sources */, 8CC4ED902BD7B8530078AEE8 /* CallAudioDeviceManager.swift in Sources */, 64A779F62DBFB9F200FDEF2F /* MemberAdmissionView.swift in Sources */, diff --git a/apps/ios/SimpleXChat/ChatTypes.swift b/apps/ios/SimpleXChat/ChatTypes.swift index ddc9454b86..fae43f9069 100644 --- a/apps/ios/SimpleXChat/ChatTypes.swift +++ b/apps/ios/SimpleXChat/ChatTypes.swift @@ -302,11 +302,22 @@ public struct BadgeInfo: Codable, Hashable { public var badgeType: BadgeType public var badgeExpiry: Date? public var badgeExtra: String + + public init(badgeType: BadgeType, badgeExpiry: Date? = nil, badgeExtra: String = "") { + self.badgeType = badgeType + self.badgeExpiry = badgeExpiry + self.badgeExtra = badgeExtra + } } public struct LocalBadge: Codable, Hashable { public var badge: BadgeInfo public var status: BadgeStatus + + public init(badge: BadgeInfo, status: BadgeStatus) { + self.badge = badge + self.status = status + } } // the wire proof carried on a profile - opaque to the UI, only round-tripped back to the core (apiPrepareContact) diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt index 037c02b1c2..436d7e8059 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt @@ -192,6 +192,7 @@ class AppPreferences { val showHiddenProfilesNotice = mkBoolPreference(SHARED_PREFS_SHOW_HIDDEN_PROFILES_NOTICE, true) val oneHandUICardShown = mkBoolPreference(SHARED_PREFS_ONE_HAND_UI_CARD_SHOWN, false) val addressCreationCardShown = mkBoolPreference(SHARED_PREFS_ADDRESS_CREATION_CARD_SHOWN, false) + val supporterBannerShown = mkBoolPreference(SHARED_PREFS_SUPPORTER_BANNER_SHOWN, false) val showMuteProfileAlert = mkBoolPreference(SHARED_PREFS_SHOW_MUTE_PROFILE_ALERT, true) val showReportsInSupportChatAlert = mkBoolPreference(SHARED_PREFS_SHOW_REPORTS_IN_SUPPORT_CHAT_ALERT, true) val appLanguage = mkStrPreference(SHARED_PREFS_APP_LANGUAGE, null) @@ -273,6 +274,7 @@ class AppPreferences { hintPref(laNoticeShown, false), hintPref(oneHandUICardShown, false), hintPref(addressCreationCardShown, false), + hintPref(supporterBannerShown, false), hintPref(liveMessageAlertShown, false), hintPref(signMessageAlertShown, false), hintPref(showHiddenProfilesNotice, true), @@ -464,6 +466,7 @@ class AppPreferences { private const val SHARED_PREFS_SHOW_HIDDEN_PROFILES_NOTICE = "ShowHiddenProfilesNotice" private const val SHARED_PREFS_ONE_HAND_UI_CARD_SHOWN = "OneHandUICardShown" private const val SHARED_PREFS_ADDRESS_CREATION_CARD_SHOWN = "AddressCreationCardShown" + private const val SHARED_PREFS_SUPPORTER_BANNER_SHOWN = "SupporterBannerShown" private const val SHARED_PREFS_SHOW_MUTE_PROFILE_ALERT = "ShowMuteProfileAlert" private const val SHARED_PREFS_SHOW_REPORTS_IN_SUPPORT_CHAT_ALERT = "ShowReportsInSupportChatAlert" private const val SHARED_PREFS_STORE_DB_PASSPHRASE = "StoreDBPassphrase" diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgeUserPreview.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgeUserPreview.kt new file mode 100644 index 0000000000..6380e5cf79 --- /dev/null +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgeUserPreview.kt @@ -0,0 +1,41 @@ +package chat.simplex.common.views.badges + +import androidx.compose.foundation.layout.* +import androidx.compose.material.MaterialTheme +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.dp +import dev.icerock.moko.resources.compose.stringResource +import chat.simplex.common.model.BadgeInfo +import chat.simplex.common.model.BadgeStatus +import chat.simplex.common.model.LocalBadge +import chat.simplex.common.platform.chatModel +import chat.simplex.common.views.helpers.NameWithBadge +import chat.simplex.common.views.helpers.ProfileImage +import chat.simplex.res.MR + +@Composable +fun BadgeUserPreview(level: BadgeLevel, modifier: Modifier = Modifier, trailing: @Composable () -> Unit = {}) { + val user = chatModel.currentUser.value + val displayName = user?.displayName ?: stringResource(MR.strings.badges_preview_my_nickname) + val previewBadge = LocalBadge( + badge = BadgeInfo(badgeType = level.badgeType), + status = BadgeStatus.Active + ) + Column(modifier, horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.spacedBy(12.dp)) { + ProfileImage(size = 128.dp, image = user?.image) + Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(6.dp)) { + NameWithBadge( + name = displayName, + badge = previewBadge, + style = MaterialTheme.typography.h1.copy(fontWeight = FontWeight.Normal), + maxLines = 1, + overflow = TextOverflow.Ellipsis + ) + trailing() + } + } +} diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesHowItWorksView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesHowItWorksView.kt new file mode 100644 index 0000000000..7c16bee763 --- /dev/null +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesHowItWorksView.kt @@ -0,0 +1,34 @@ +package chat.simplex.common.views.badges + +import androidx.compose.foundation.layout.* +import androidx.compose.material.MaterialTheme +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import dev.icerock.moko.resources.compose.stringResource +import chat.simplex.common.platform.ColumnWithScrollBar +import chat.simplex.res.MR + +// TODO [badges]: replace lorem ipsum with the real copy once the badge protocol and privacy properties are documented. +@Composable +fun BadgesHowItWorksView() { + ColumnWithScrollBar( + Modifier.padding(horizontal = 25.dp).padding(top = 8.dp), + horizontalAlignment = Alignment.Start, + verticalArrangement = Arrangement.spacedBy(12.dp) + ) { + Text( + stringResource(MR.strings.badges_how_it_works_title), + style = MaterialTheme.typography.h1, + fontWeight = FontWeight.Bold, + color = MaterialTheme.colors.primary, + modifier = Modifier.padding(bottom = 16.dp) + ) + Text(stringResource(MR.strings.badges_how_it_works_p1), style = MaterialTheme.typography.body1) + Text(stringResource(MR.strings.badges_how_it_works_p2), style = MaterialTheme.typography.body1) + Text(stringResource(MR.strings.badges_how_it_works_p3), style = MaterialTheme.typography.body1) + } +} diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesPayView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesPayView.kt new file mode 100644 index 0000000000..742b03e2bd --- /dev/null +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesPayView.kt @@ -0,0 +1,154 @@ +package chat.simplex.common.views.badges + +import androidx.compose.foundation.background +import androidx.compose.foundation.border +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.* +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.* +import androidx.compose.runtime.* +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.dp +import dev.icerock.moko.resources.StringResource +import dev.icerock.moko.resources.compose.painterResource +import dev.icerock.moko.resources.compose.stringResource +import chat.simplex.common.platform.* +import chat.simplex.common.ui.theme.* +import chat.simplex.common.views.helpers.* +import chat.simplex.common.views.onboarding.OnboardingActionButton +import chat.simplex.res.MR + +// TODO [badges]: replace with types produced by the badge purchase API when it lands. +enum class BadgePeriod { + OneMonth, + Subscribe; + + val icon: dev.icerock.moko.resources.ImageResource + get() = when (this) { + OneMonth -> MR.images.ic_calendar + Subscribe -> MR.images.ic_refresh + } + + val label: StringResource + get() = when (this) { + OneMonth -> MR.strings.badges_period_one_month + Subscribe -> MR.strings.badges_period_subscribe + } +} + +@Composable +fun BadgesPayView(level: BadgeLevel) { + var selectedPeriod by remember { mutableStateOf(BadgePeriod.Subscribe) } + + ColumnWithScrollBar( + Modifier.background(MaterialTheme.colors.background).padding(horizontal = 25.dp).padding(top = 8.dp, bottom = 20.dp), + verticalArrangement = Arrangement.spacedBy(16.dp), + horizontalAlignment = Alignment.CenterHorizontally, + maxIntrinsicSize = true, + ) { + Text( + stringResource(level.title), + style = MaterialTheme.typography.h1, + fontWeight = FontWeight.Bold, + color = MaterialTheme.colors.primary, + textAlign = TextAlign.Center, + modifier = Modifier.fillMaxWidth() + ) + + BadgeUserPreview(level = level, modifier = Modifier.padding(top = 4.dp)) + + Text( + stringResource(level.tagline), + style = MaterialTheme.typography.body1, + color = MaterialTheme.colors.onBackground, + textAlign = TextAlign.Center, + modifier = Modifier.fillMaxWidth().padding(top = 4.dp) + ) + + Spacer(Modifier.weight(1f).heightIn(min = 20.dp)) + + // IntrinsicSize.Max + fillMaxHeight on children so both cards match the taller card's height + // when 2-line labels at large fonts would otherwise size them differently. + Row( + Modifier.fillMaxWidth().height(IntrinsicSize.Max), + horizontalArrangement = Arrangement.spacedBy(12.dp) + ) { + PeriodCard(BadgePeriod.OneMonth, selectedPeriod, Modifier.weight(1f).fillMaxHeight()) { selectedPeriod = it } + PeriodCard(BadgePeriod.Subscribe, selectedPeriod, Modifier.weight(1f).fillMaxHeight()) { selectedPeriod = it } + } + + Spacer(Modifier.weight(1f).heightIn(min = 20.dp)) + + // Replicates TextButtonBelowOnboardingButton spacing (7.5dp outer + 5dp inner) without a + // TextButton so the footer has no hover/click affordance. + Column(horizontalAlignment = Alignment.CenterHorizontally) { + PayButton(level, selectedPeriod) + Box(Modifier.padding(top = 7.5.dp, bottom = 7.5.dp).padding(horizontal = 16.dp, vertical = 8.dp)) { + Text( + stringResource(billingFooter(selectedPeriod)).format(stubBillingDate()), + Modifier.padding(vertical = 5.dp), + style = MaterialTheme.typography.body2, + color = MaterialTheme.colors.secondary, + textAlign = TextAlign.Center + ) + } + } + } +} + +@Composable +private fun PeriodCard(period: BadgePeriod, selectedPeriod: BadgePeriod, modifier: Modifier, onSelect: (BadgePeriod) -> Unit) { + val isSelected = period == selectedPeriod + val borderColor = if (isSelected) MaterialTheme.colors.primary else MaterialTheme.colors.background.mixWith(MaterialTheme.colors.onBackground, 0.92f) + // Light: transparent so card matches page background. Dark: subtle gray tint for visible contrast. + val cardBackground = if (isInDarkTheme()) MaterialTheme.colors.background.mixWith(MaterialTheme.colors.onBackground, 0.97f) + else MaterialTheme.colors.background + val shape = RoundedCornerShape(16.dp) + Column( + modifier + .clip(shape) + .background(cardBackground, shape) + .border(2.dp, borderColor, shape) + .clickable { onSelect(period) } + .padding(vertical = 30.dp, horizontal = 12.dp), + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.spacedBy(12.dp) + ) { + Icon( + painterResource(period.icon), + contentDescription = null, + tint = if (isSelected) MaterialTheme.colors.primary else MaterialTheme.colors.secondary, + modifier = Modifier.size(32.dp) + ) + Text(stringResource(period.label), style = MaterialTheme.typography.h3, fontWeight = FontWeight.Bold, textAlign = TextAlign.Center) + } +} + +@Composable +private fun PayButton(level: BadgeLevel, selectedPeriod: BadgePeriod) { + OnboardingActionButton( + modifier = if (appPlatform.isAndroid) Modifier.padding(horizontal = DEFAULT_ONBOARDING_HORIZONTAL_PADDING).fillMaxWidth() else Modifier.widthIn(min = 300.dp), + labelId = if (selectedPeriod == BadgePeriod.Subscribe) MR.strings.badges_pay_monthly else MR.strings.badges_pay_once, + labelArg = level.priceAmount, + onboarding = null, + onclick = { + // TODO [badges] wire to purchase API when it lands. + } + ) +} + +private fun billingFooter(period: BadgePeriod): StringResource = when (period) { + BadgePeriod.Subscribe -> MR.strings.badges_billing_footer_subscribe + BadgePeriod.OneMonth -> MR.strings.badges_billing_footer_one_month +} + +// TODO [badges] source the actual date from the purchase state machine when wired. +private fun stubBillingDate(): String { + val date = java.time.LocalDate.of(2026, 7, 22) + val formatter = java.time.format.DateTimeFormatter.ofLocalizedDate(java.time.format.FormatStyle.LONG) + return date.format(formatter) +} diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesRedeemCodeView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesRedeemCodeView.kt new file mode 100644 index 0000000000..8a1069c536 --- /dev/null +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesRedeemCodeView.kt @@ -0,0 +1,29 @@ +package chat.simplex.common.views.badges + +import androidx.compose.foundation.layout.* +import androidx.compose.material.MaterialTheme +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import dev.icerock.moko.resources.compose.stringResource +import chat.simplex.common.platform.ColumnWithScrollBar +import chat.simplex.res.MR + +// TODO [badges]: implement input field, server verification and success/failure states when the redeem API is defined. +@Composable +fun BadgesRedeemCodeView() { + ColumnWithScrollBar( + Modifier.padding(horizontal = 25.dp).padding(top = 8.dp), + horizontalAlignment = Alignment.Start + ) { + Text( + stringResource(MR.strings.badges_redeem_code_button), + style = MaterialTheme.typography.h1, + fontWeight = FontWeight.Bold, + color = MaterialTheme.colors.primary + ) + } +} diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesSupportSimplexView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesSupportSimplexView.kt new file mode 100644 index 0000000000..aa8100519b --- /dev/null +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesSupportSimplexView.kt @@ -0,0 +1,141 @@ +package chat.simplex.common.views.badges + +import androidx.compose.foundation.* +import androidx.compose.foundation.layout.* +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.* +import androidx.compose.runtime.* +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.geometry.Offset +import androidx.compose.ui.graphics.Brush +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.layout.onSizeChanged +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.IntSize +import androidx.compose.ui.unit.dp +import dev.icerock.moko.resources.compose.painterResource +import dev.icerock.moko.resources.compose.stringResource +import chat.simplex.common.BuildConfigCommon +import chat.simplex.common.platform.* +import chat.simplex.common.ui.theme.* +import chat.simplex.common.views.helpers.* +import chat.simplex.common.views.newchat.darkStops +import chat.simplex.common.views.newchat.gradientPoints +import chat.simplex.common.views.newchat.lightStops +import chat.simplex.common.views.onboarding.HowItWorks +import chat.simplex.common.views.onboarding.OnboardingActionButton +import chat.simplex.common.views.onboarding.TextButtonBelowOnboardingButton +import chat.simplex.res.MR + +@Composable +fun BadgesSupportSimplexView() { + // TODO [badges] gate on user badge status (no badge → this view, active → "Manage your badge") + ColumnWithScrollBar( + Modifier.background(MaterialTheme.colors.background).padding(horizontal = 25.dp).padding(top = 8.dp, bottom = 20.dp), + verticalArrangement = Arrangement.spacedBy(16.dp), + horizontalAlignment = Alignment.CenterHorizontally, + maxIntrinsicSize = true, + ) { + Text( + stringResource(MR.strings.badges_support_simplex_title), + style = MaterialTheme.typography.h1, + fontWeight = FontWeight.Bold, + color = MaterialTheme.colors.primary, + textAlign = TextAlign.Center, + modifier = Modifier.fillMaxWidth() + ) + + Text( + stringResource(MR.strings.badges_support_simplex_body), + style = MaterialTheme.typography.body1, + textAlign = TextAlign.Center, + modifier = Modifier.fillMaxWidth() + ) + + val primary = MaterialTheme.colors.primary + TextButton({ + ModalManager.start.showModal { HowItWorks(user = chatModel.currentUser.value, onboardingStage = null, titleColor = primary) } + }) { + Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(6.dp)) { + Icon(painterResource(MR.images.ic_info), null, tint = MaterialTheme.colors.primary) + Text(stringResource(MR.strings.badges_why_simplex_is_built), color = MaterialTheme.colors.primary, fontWeight = FontWeight.Medium) + } + } + + Spacer(Modifier.weight(1f)) + + PhoneSupporterHero(Modifier.fillMaxWidth(0.55f)) + + Spacer(Modifier.weight(1f)) + + Column(horizontalAlignment = Alignment.CenterHorizontally) { + ChooseLevelButton() + TextButtonBelowOnboardingButton( + text = stringResource(MR.strings.badges_redeem_code_button), + onClick = { ModalManager.start.showModal { BadgesRedeemCodeView() } } + ) + } + } +} + +@Composable +private fun ChooseLevelButton() { + OnboardingActionButton( + modifier = if (appPlatform.isAndroid) Modifier.padding(horizontal = DEFAULT_ONBOARDING_HORIZONTAL_PADDING).fillMaxWidth() else Modifier.widthIn(min = 300.dp), + labelId = MR.strings.badges_choose_your_level, + onboarding = null, + onclick = { + ModalManager.start.showModal { BadgesYourLevelView() } + } + ) +} + + +@Composable +fun PhoneSupporterHero(modifier: Modifier = Modifier) { + val isDark = isInDarkTheme() + if (BuildConfigCommon.SIMPLEX_ASSETS) { + Image( + painterResource(if (isDark) MR.images.phone_supporter_light else MR.images.phone_supporter), + contentDescription = null, + contentScale = ContentScale.Fit, + modifier = modifier.fillMaxWidth() + ) + } else { + var size by remember { mutableStateOf(IntSize.Zero) } + val stops = if (isDark) darkStops else lightStops + val scale = if (isDark) 1.5f else 1.2f + val brush = remember(size, isDark) { + if (size.width > 0 && size.height > 0) { + val aspect = size.height.toFloat() / size.width.toFloat() + val gp = gradientPoints(aspect, scale) + Brush.linearGradient( + colorStops = stops, + start = Offset(gp.startX * size.width, gp.startY * size.height), + end = Offset(gp.endX * size.width, gp.endY * size.height) + ) + } else { + Brush.linearGradient(colorStops = stops) + } + } + Box( + modifier + .fillMaxWidth() + .aspectRatio(1f) + .clip(RoundedCornerShape(24.dp)) + .background(brush) + .onSizeChanged { size = it }, + contentAlignment = Alignment.Center + ) { + Image( + painterResource(MR.images.badge_supporter), + contentDescription = null, + contentScale = ContentScale.Fit, + modifier = Modifier.size(96.dp) + ) + } + } +} diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesYourLevelView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesYourLevelView.kt new file mode 100644 index 0000000000..03082526a0 --- /dev/null +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesYourLevelView.kt @@ -0,0 +1,157 @@ +package chat.simplex.common.views.badges + +import androidx.compose.foundation.* +import androidx.compose.foundation.layout.* +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.* +import androidx.compose.runtime.* +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.dp +import dev.icerock.moko.resources.StringResource +import dev.icerock.moko.resources.compose.painterResource +import dev.icerock.moko.resources.compose.stringResource +import chat.simplex.common.model.BadgeType +import chat.simplex.common.platform.* +import chat.simplex.common.ui.theme.* +import chat.simplex.common.views.helpers.* +import chat.simplex.common.views.onboarding.OnboardingActionButton +import chat.simplex.common.views.onboarding.TextButtonBelowOnboardingButton +import chat.simplex.res.MR + +// TODO [badges]: replace with types produced by the badge purchase API when it lands. +enum class BadgeLevel { + Supporter, + Legend; + + val title: StringResource + get() = when (this) { + Supporter -> MR.strings.badges_level_supporter + Legend -> MR.strings.badges_level_legend + } + + val filesDescription: StringResource + get() = when (this) { + Supporter -> MR.strings.badges_level_supporter_files + Legend -> MR.strings.badges_level_legend_files + } + + val priceAmount: String + get() = when (this) { + Supporter -> "$7" + Legend -> "$70" + } + + val tagline: StringResource + get() = when (this) { + Supporter -> MR.strings.badges_level_supporter_tagline + Legend -> MR.strings.badges_level_legend_tagline + } + + val badgeType: BadgeType + get() = when (this) { + Supporter -> BadgeType.Supporter + Legend -> BadgeType.Legend + } +} + +@Composable +fun BadgesYourLevelView() { + var selectedLevel by remember { mutableStateOf(BadgeLevel.Supporter) } + + ColumnWithScrollBar( + Modifier.background(MaterialTheme.colors.background).padding(horizontal = 25.dp).padding(top = 8.dp, bottom = 20.dp), + verticalArrangement = Arrangement.spacedBy(16.dp), + horizontalAlignment = Alignment.CenterHorizontally, + maxIntrinsicSize = true, + ) { + Text( + stringResource(MR.strings.badges_your_level_title), + style = MaterialTheme.typography.h1, + fontWeight = FontWeight.Bold, + color = MaterialTheme.colors.primary, + textAlign = TextAlign.Center, + modifier = Modifier.fillMaxWidth() + ) + + BadgeUserPreview(level = selectedLevel, modifier = Modifier.padding(top = 4.dp)) { + Icon( + painterResource(MR.images.ic_keyboard_arrow_down), + contentDescription = null, + tint = MaterialTheme.colors.primary + ) + } + + Spacer(Modifier.weight(1f).heightIn(min = 20.dp)) + + // IntrinsicSize.Max + fillMaxHeight on children so both cards match the taller card's height + // when 2-line labels at large fonts would otherwise size them differently. + Row( + Modifier.fillMaxWidth().height(IntrinsicSize.Max), + horizontalArrangement = Arrangement.spacedBy(12.dp) + ) { + LevelCard(BadgeLevel.Supporter, selectedLevel, Modifier.weight(1f).fillMaxHeight()) { selectedLevel = it } + LevelCard(BadgeLevel.Legend, selectedLevel, Modifier.weight(1f).fillMaxHeight()) { selectedLevel = it } + } + + Spacer(Modifier.weight(1f).heightIn(min = 20.dp)) + + // Nested Column with no spacing so the TextButtonBelowOnboardingButton sits directly under + // the action button (matches onboarding pattern where its own 7.5dp top padding is the gap). + Column(horizontalAlignment = Alignment.CenterHorizontally) { + ContinueButton(selectedLevel) + TextButtonBelowOnboardingButton( + text = stringResource(MR.strings.badges_how_it_works_button), + icon = painterResource(MR.images.ic_info), + onClick = { ModalManager.start.showModal { BadgesHowItWorksView() } } + ) + } + } +} + +@Composable +private fun LevelCard(level: BadgeLevel, selectedLevel: BadgeLevel, modifier: Modifier, onSelect: (BadgeLevel) -> Unit) { + val isSelected = level == selectedLevel + val borderColor = if (isSelected) MaterialTheme.colors.primary else MaterialTheme.colors.background.mixWith(MaterialTheme.colors.onBackground, 0.92f) + // Light: transparent so card matches page background. Dark: subtle gray tint for visible contrast. + val cardBackground = if (isInDarkTheme()) MaterialTheme.colors.background.mixWith(MaterialTheme.colors.onBackground, 0.97f) + else MaterialTheme.colors.background + val shape = RoundedCornerShape(16.dp) + Column( + modifier + .clip(shape) + .background(cardBackground, shape) + .border(2.dp, borderColor, shape) + .clickable { onSelect(level) } + .padding(vertical = 20.dp, horizontal = 12.dp), + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.spacedBy(10.dp) + ) { + Image( + painterResource(badgeImage(level.badgeType)), + contentDescription = null, + contentScale = ContentScale.Fit, + modifier = Modifier.size(60.dp) + ) + Text(stringResource(level.title), style = MaterialTheme.typography.h3, fontWeight = FontWeight.Bold, textAlign = TextAlign.Center) + Text(stringResource(level.filesDescription), style = MaterialTheme.typography.body2, color = MaterialTheme.colors.secondary, textAlign = TextAlign.Center) + Text(stringResource(MR.strings.badges_price_monthly).format(level.priceAmount), style = MaterialTheme.typography.body1, textAlign = TextAlign.Center) + } +} + +@Composable +private fun ContinueButton(selectedLevel: BadgeLevel) { + OnboardingActionButton( + modifier = if (appPlatform.isAndroid) Modifier.padding(horizontal = DEFAULT_ONBOARDING_HORIZONTAL_PADDING).fillMaxWidth() else Modifier.widthIn(min = 300.dp), + labelId = MR.strings.badges_continue, + onboarding = null, + onclick = { + ModalManager.start.showModal { BadgesPayView(selectedLevel) } + } + ) +} + diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/SupportSimpleXBanner.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/SupportSimpleXBanner.kt new file mode 100644 index 0000000000..55a8cef525 --- /dev/null +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/SupportSimpleXBanner.kt @@ -0,0 +1,173 @@ +package chat.simplex.common.views.badges + +import androidx.compose.foundation.* +import androidx.compose.foundation.layout.* +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.* +import androidx.compose.runtime.* +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.geometry.Offset +import androidx.compose.ui.graphics.Brush +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.layout.Layout +import androidx.compose.ui.layout.onSizeChanged +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.IntSize +import androidx.compose.ui.unit.dp +import dev.icerock.moko.resources.compose.painterResource +import dev.icerock.moko.resources.compose.stringResource +import chat.simplex.common.BuildConfigCommon +import chat.simplex.common.platform.* +import chat.simplex.common.ui.theme.* +import chat.simplex.common.views.helpers.* +import chat.simplex.common.views.newchat.darkStops +import chat.simplex.common.views.newchat.gradientPoints +import chat.simplex.common.views.newchat.lightStops +import chat.simplex.res.MR + +@Composable +fun SupportSimpleXBanner(onTap: () -> Unit, onDismiss: () -> Unit) { + val cardCornerRadius = 16.dp + // grows linearly with system font but never shrinks below the default so small-font users see the + // same baseline; the card Row uses heightIn(min = cardHeight) and grows further when 2-line text + // wraps at very large fonts. Hero stays fixed so its above-card overhang shrinks at very large fonts. + val cardHeight = (72.dp * fontSizeMultiplier).coerceAtLeast(72.dp) + // matches OneHandUICard's segment icon leading so the text aligns with it in the list + val cardLeadingPadding = 16.dp + val cardTrailingPadding = 8.dp + val heroWidth = 110.dp + // shorter than the natural drawn height so ContentScale.Crop slices the phone body at card bottom + val heroVisibleHeight = 108.dp + // hero right edge sits at the dismiss X's icon left edge (X: outer 4pt + inner-pad 8 + half of 16pt icon) + val heroTrailingPadding = 28.dp + val textToHeroGap = 6.dp + + val isDark = isInDarkTheme() + var cardSize by remember { mutableStateOf(IntSize.Zero) } + val brush = remember(isDark, cardSize) { gradientBrush(isDark, cardSize) } + + // Layout sizes to the card; hero is placed at y = cardHeight - heroHeight (negative → hero + // overhangs above card at normal fonts, 0/positive → hero fits inside card at large fonts). + Layout(content = { + Box(Modifier.fillMaxWidth()) { + Row( + Modifier + .fillMaxWidth() + .heightIn(min = cardHeight) + .clip(RoundedCornerShape(cardCornerRadius)) + .background(brush) + .clickable(onClick = onTap) + .onSizeChanged { cardSize = it } + .padding( + start = cardLeadingPadding, + end = cardTrailingPadding + heroWidth + heroTrailingPadding + textToHeroGap, + top = 12.dp, + bottom = 12.dp + ), + verticalAlignment = Alignment.CenterVertically + ) { + Column(verticalArrangement = Arrangement.spacedBy(4.dp)) { + Text( + stringResource(MR.strings.badges_banner_title), + style = MaterialTheme.typography.body1, + fontWeight = FontWeight.SemiBold, + color = MaterialTheme.colors.primary, + maxLines = 2, + overflow = TextOverflow.Ellipsis + ) + Text( + stringResource(MR.strings.badges_banner_subtitle), + style = MaterialTheme.typography.body2, + color = MaterialTheme.colors.onBackground, + maxLines = 2, + overflow = TextOverflow.Ellipsis + ) + } + } + + // Same X pattern as OneHandUICard: circle-clipped clickable region with inner padding for hit area. + Icon( + painterResource(MR.images.ic_close), + contentDescription = stringResource(MR.strings.icon_descr_close_button), + tint = if (isDark) MaterialTheme.colors.onBackground else MaterialTheme.colors.secondary, + modifier = Modifier + .align(Alignment.TopEnd) + .padding(end = 4.dp, top = 4.dp) + .clip(CircleShape) + .clickable { + AlertManager.shared.showAlertMsg( + title = generalGetString(MR.strings.badges_banner_title), + text = generalGetString(MR.strings.badges_banner_dismiss_message), + onConfirm = onDismiss + ) + } + .padding(8.dp) + .size(16.dp) + ) + } + + HeroThumbnail( + heroWidth = heroWidth, + heroVisibleHeight = heroVisibleHeight, + cardHeight = cardHeight, + trailingPadding = heroTrailingPadding + ) + }) { measurables, constraints -> + val cardPlaceable = measurables[0].measure(constraints) + val heroPlaceable = measurables[1].measure(constraints.copy(minWidth = 0, minHeight = 0)) + layout(cardPlaceable.width, cardPlaceable.height) { + cardPlaceable.place(0, 0) + heroPlaceable.place(cardPlaceable.width - heroPlaceable.width, cardPlaceable.height - heroPlaceable.height) + } + } +} + +@Composable +private fun HeroThumbnail(heroWidth: Dp, heroVisibleHeight: Dp, cardHeight: Dp, trailingPadding: Dp) { + if (BuildConfigCommon.SIMPLEX_ASSETS) { + // draws at natural aspect, top-aligned in a shorter slot; ContentScale.Crop cuts the overflow at card bottom + Image( + painterResource(if (isInDarkTheme()) MR.images.phone_supporter_light else MR.images.phone_supporter), + contentDescription = null, + contentScale = ContentScale.Crop, + alignment = Alignment.TopCenter, + modifier = Modifier.padding(end = trailingPadding).size(width = heroWidth, height = heroVisibleHeight) + ) + } else { + val badgeSize = 48.dp + Image( + painterResource(MR.images.badge_supporter), + contentDescription = null, + contentScale = ContentScale.Fit, + modifier = Modifier + .padding(end = trailingPadding + 12.dp, top = (cardHeight - badgeSize) / 2, bottom = (cardHeight - badgeSize) / 2) + .size(badgeSize) + ) + } +} + +// Geometry-aware gradient with asymmetric scale: start (dark) pushed further below the card than +// end (warm) is above, so card-middle lands at the bright/mid-transition stop, not the dark region. +private fun gradientBrush(isDark: Boolean, size: IntSize): Brush { + val stops = if (isDark) darkStops else lightStops + if (size.width == 0 || size.height == 0) return Brush.linearGradient(colorStops = stops) + val w = size.width.toFloat() + val h = size.height.toFloat() + val startScale = if (isDark) 3.0f else 2.5f + val endScale = if (isDark) 2.1f else 1.7f + val gp = gradientPoints(h / w, 1.0f) + val sx = 0.5f + (gp.startX - 0.5f) * startScale + val sy = 0.5f + (gp.startY - 0.5f) * startScale + val ex = 0.5f + (gp.endX - 0.5f) * endScale + val ey = 0.5f + (gp.endY - 0.5f) * endScale + return Brush.linearGradient( + colorStops = stops, + start = Offset(sx * w, sy * h), + end = Offset(ex * w, ey * h) + ) +} diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt index 68fa25d553..19f50de743 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt @@ -41,6 +41,7 @@ import chat.simplex.common.platform.* import chat.simplex.common.views.call.Call import chat.simplex.common.views.chat.item.* import chat.simplex.common.views.chat.topPaddingToContent +import chat.simplex.common.views.badges.* import chat.simplex.common.views.newchat.* import chat.simplex.common.views.onboarding.* import chat.simplex.common.views.usersettings.* @@ -912,6 +913,7 @@ private fun BoxScope.ChatList(searchText: MutableState, listStat val oneHandUI = remember { appPrefs.oneHandUI.state } val oneHandUICardShown = remember { appPrefs.oneHandUICardShown.state } val addressCreationCardShown = remember { appPrefs.addressCreationCardShown.state } + val supporterBannerShown = remember { appPrefs.supporterBannerShown.state } val activeFilter = remember { chatModel.activeChatTagFilter } LaunchedEffect(listState.firstVisibleItemIndex, listState.firstVisibleItemScrollOffset) { @@ -1000,6 +1002,16 @@ private fun BoxScope.ChatList(searchText: MutableState, listStat ToggleChatListCard() } } + if (!supporterBannerShown.value && chatModel.chats.value.size > 3) { + item { + Box(Modifier.zIndex(1f).padding(16.dp)) { + SupportSimpleXBanner( + onTap = { ModalManager.start.showModal { BadgesSupportSimplexView() } }, + onDismiss = { appPrefs.supporterBannerShown.set(true) } + ) + } + } + } itemsIndexed(chats, key = { _, chat -> chat.remoteHostId to chat.id }) { index, chat -> val nextChatSelected = remember(chat.id, chats) { derivedStateOf { chatModel.chatId.value != null && chats.getOrNull(index + 1)?.id == chatModel.chatId.value @@ -1025,13 +1037,15 @@ private fun BoxScope.ChatList(searchText: MutableState, listStat } else { NavigationBarBackground(oneHandUI.value, true) } - if (!oneHandUICardShown.value) { - LaunchedEffect(chats.size) { - if (chats.size >= 3) { - appPrefs.oneHandUICardShown.set(true) - } - } - } + // TEMP-DISABLED-FOR-BADGES-QA: auto-hide of ToggleChatListCard at 3+ chats blocks visual QA of + // the SupportSimpleXBanner alongside it. Restore before merging. + // if (!oneHandUICardShown.value) { + // LaunchedEffect(chats.size) { + // if (chats.size >= 3) { + // appPrefs.oneHandUICardShown.set(true) + // } + // } + // } LaunchedEffect(activeFilter.value) { searchText.value = TextFieldValue("") diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/ChatInfoImage.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/ChatInfoImage.kt index d2ee1db09c..567e575bbd 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/ChatInfoImage.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/ChatInfoImage.kt @@ -245,7 +245,7 @@ fun showBadgeInfoAlert(name: String, badge: LocalBadge, uriHandler: UriHandler) } } -private fun badgeImage(t: BadgeType): ImageResource = when (t) { +fun badgeImage(t: BadgeType): ImageResource = when (t) { is BadgeType.Legend -> MR.images.badge_legend is BadgeType.Investor -> MR.images.badge_investor else -> MR.images.badge_supporter // Supporter + Unknown diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/HowItWorks.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/HowItWorks.kt index 703d295523..9d82395740 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/HowItWorks.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/HowItWorks.kt @@ -7,6 +7,7 @@ import androidx.compose.material.* import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalUriHandler import dev.icerock.moko.resources.compose.stringResource import androidx.compose.ui.text.* @@ -22,12 +23,12 @@ import chat.simplex.res.MR import dev.icerock.moko.resources.StringResource @Composable -fun HowItWorks(user: User?, onboardingStage: SharedPreference? = null) { +fun HowItWorks(user: User?, onboardingStage: SharedPreference? = null, titleColor: Color = Color.Unspecified) { Column(Modifier.fillMaxSize().padding(horizontal = if (appPlatform.isDesktop) DEFAULT_PADDING * 2 else DEFAULT_PADDING)) { Spacer(Modifier.statusBarsPadding().padding(top = AppBarHeight * fontSizeSqrtMultiplier)) val paraPadding = PaddingValues(bottom = if (appPlatform.isDesktop) 10.dp else 12.dp) Column(Modifier.weight(1f).padding(bottom = DEFAULT_PADDING).verticalScroll(rememberScrollState())) { - Text(stringResource(MR.strings.why_built_heading), style = MaterialTheme.typography.h1, modifier = Modifier.padding(bottom = DEFAULT_PADDING)) + Text(stringResource(MR.strings.why_built_heading), style = MaterialTheme.typography.h1, color = titleColor, modifier = Modifier.padding(bottom = DEFAULT_PADDING)) ReadableText(MR.strings.why_built_p1, padding = paraPadding) ReadableText(MR.strings.why_built_p2, padding = paraPadding) ReadableText(MR.strings.why_built_p3, padding = paraPadding) @@ -45,6 +46,11 @@ fun HowItWorks(user: User?, onboardingStage: SharedPreference? OnboardingActionButton(user, onboardingStage, onclick = { ModalManager.fullscreen.closeModal() }) TextButtonBelowOnboardingButton("", null) } + } else { + // No button below — add breathing room at the bottom on both platforms. + // Android also gets nav-bar inset so content doesn't run under the gesture bar. + Spacer(Modifier.height(DEFAULT_PADDING)) + if (appPlatform.isAndroid) Spacer(Modifier.navigationBarsPadding()) } } } diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/SimpleXInfo.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/SimpleXInfo.kt index 74dadcd671..d97d709953 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/SimpleXInfo.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/SimpleXInfo.kt @@ -190,12 +190,14 @@ expect fun OnboardingActionButton(user: User?, onboardingStage: SharedPreference fun OnboardingActionButton( modifier: Modifier = Modifier, labelId: StringResource, + labelArg: String? = null, onboarding: OnboardingStage?, enabled: Boolean = true, icon: Painter? = null, iconColor: Color = Color.White, onclick: (() -> Unit)? ) { + val label = if (labelArg != null) stringResource(labelId).format(labelArg) else stringResource(labelId) Button( onClick = { onclick?.invoke() @@ -211,9 +213,9 @@ fun OnboardingActionButton( colors = ButtonDefaults.buttonColors(MaterialTheme.colors.primary, disabledBackgroundColor = MaterialTheme.colors.secondary) ) { if (icon != null) { - Icon(icon, stringResource(labelId), Modifier.padding(end = DEFAULT_PADDING_HALF), tint = iconColor) + Icon(icon, label, Modifier.padding(end = DEFAULT_PADDING_HALF), tint = iconColor) } - Text(stringResource(labelId), style = MaterialTheme.typography.h2, color = Color.White, fontSize = 18.sp, fontWeight = FontWeight.Medium) + Text(label, style = MaterialTheme.typography.h2, color = Color.White, fontSize = 18.sp, fontWeight = FontWeight.Medium) } } diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/WhatsNewView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/WhatsNewView.kt index ea95bc2045..d3e1376af0 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/WhatsNewView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/WhatsNewView.kt @@ -8,6 +8,7 @@ import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip +import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalUriHandler import dev.icerock.moko.resources.compose.painterResource import dev.icerock.moko.resources.compose.stringResource @@ -940,8 +941,54 @@ private val versionDescriptions: List = listOf( ), ) ), + // TODO [badges] finalise copy + Read more link before v7.1 ships. + VersionDescription( + version = "v7.1", + post = null, + features = listOf( + VersionFeature.FeatureView( + icon = null, + titleId = MR.strings.v7_1_supporter_badge_title, + view = { SupporterBadgeWhatsNew() } + ) + ) + ), ) +@Composable +private fun SupporterBadgeWhatsNew() { + Row(horizontalArrangement = Arrangement.spacedBy(12.dp), verticalAlignment = Alignment.Top) { + Column(Modifier.weight(1f), verticalArrangement = Arrangement.spacedBy(6.dp)) { + Text( + stringResource(MR.strings.v7_1_supporter_badge_title), + style = MaterialTheme.typography.h3, + fontWeight = FontWeight.Bold + ) + Text( + stringResource(MR.strings.v7_1_supporter_badge_body), + style = MaterialTheme.typography.body1, + maxLines = 10 + ) + } + val isDark = isInDarkTheme() + if (BuildConfigCommon.SIMPLEX_ASSETS) { + Image( + painterResource(if (isDark) MR.images.phone_supporter_light else MR.images.phone_supporter), + contentDescription = null, + contentScale = ContentScale.Fit, + modifier = Modifier.size(110.dp) + ) + } else { + Image( + painterResource(MR.images.badge_supporter), + contentDescription = null, + contentScale = ContentScale.Fit, + modifier = Modifier.size(72.dp) + ) + } + } +} + private val lastVersion = versionDescriptions.last().version fun setLastVersionDefault(m: ChatModel) { diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/SettingsView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/SettingsView.kt index 96f36da6d7..e398a1b2fe 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/SettingsView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/SettingsView.kt @@ -26,6 +26,7 @@ import chat.simplex.common.model.* import chat.simplex.common.model.ChatController.appPrefs import chat.simplex.common.platform.* import chat.simplex.common.ui.theme.* +import chat.simplex.common.views.badges.BadgesSupportSimplexView import chat.simplex.common.views.database.DatabaseView import chat.simplex.common.views.helpers.* import chat.simplex.common.views.migration.MigrateFromDeviceView @@ -101,6 +102,17 @@ fun SettingsLayout( } SectionDividerSpaced() + SectionView { + // Direct showModal (no settings / cardScreen flags) — settings-style card chrome would render + // a gray top bar / back button that badges views don't want (they have their own inline titles). + SectionItemView(click = { ModalManager.start.showModal { BadgesSupportSimplexView() } }) { + Image(painterResource(MR.images.badge_supporter), stringResource(MR.strings.supporter_perks), Modifier.size(24.dp)) + TextIconSpaced() + Text(stringResource(MR.strings.supporter_perks)) + } + } + SectionDividerSpaced() + SectionView(stringResource(MR.strings.advanced_settings)) { SettingsActionItem(painterResource(MR.images.ic_wifi_tethering), stringResource(MR.strings.network_and_servers), showCustomModal { _, close -> NetworkAndServersView(close) }, disabled = stopped) if (appPlatform == AppPlatform.ANDROID) { diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml index ead51b31ea..8683af1705 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml @@ -3201,4 +3201,36 @@ This badge could not be verified and may not be genuine. Badge cannot be verified The badge is signed with a key that this version of the app does not recognize. Update the app to verify this badge. + Supporter + Legend + Send 2GB files + Send 5GB files + %1$s/month + Pay %1$s/month + Pay %1$s + Optional profile badge\nand 2GB files + Optional profile badge\nand 5GB files + 1 month + Subscribe + Renews on %1$s. Cancel anytime. + Ends on %1$s. + Your level + Support SimpleX + SimpleX doesn\'t sell ads or data. It\'s funded by its users and by investors who share the mission. You can support the project and show a badge on your profile. + Why SimpleX is built. + Choose your level + Redeem badge code + Continue + How private badges work + How private badges work + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. + Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + My nickname + Support SimpleX + Get badge + files up to 5GB + You can support SimpleX later in Settings. + Supporter perks + Supporter badge ❤️ + Help keep the network running — send files up to 2 GB. \ No newline at end of file diff --git a/apps/multiplatform/common/src/commonMain/resources/assets/default/MR/images/phone_supporter.svg b/apps/multiplatform/common/src/commonMain/resources/assets/default/MR/images/phone_supporter.svg new file mode 100644 index 0000000000..cd6f033c62 --- /dev/null +++ b/apps/multiplatform/common/src/commonMain/resources/assets/default/MR/images/phone_supporter.svg @@ -0,0 +1,4 @@ + + + + diff --git a/apps/multiplatform/common/src/commonMain/resources/assets/default/MR/images/phone_supporter_light.svg b/apps/multiplatform/common/src/commonMain/resources/assets/default/MR/images/phone_supporter_light.svg new file mode 100644 index 0000000000..cd6f033c62 --- /dev/null +++ b/apps/multiplatform/common/src/commonMain/resources/assets/default/MR/images/phone_supporter_light.svg @@ -0,0 +1,4 @@ + + + + From 9c845222e4a528d229ef0b8b90f36f1d97805296 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Mon, 17 Aug 2026 16:12:09 +0000 Subject: [PATCH 04/69] ui: badges app store integration (#7374) --- apps/ios/BadgeTestProducts.storekit | 230 ++++++++++++++++++ apps/ios/Shared/Views/Badges/BadgeStore.swift | 183 ++++++++++++++ .../Shared/Views/Badges/BadgesPayView.swift | 149 +++++++++++- .../Badges/BadgesSupportSimplexView.swift | 2 + .../Views/Badges/BadgesYourLevelView.swift | 18 +- apps/ios/SimpleX.xcodeproj/project.pbxproj | 78 +++--- .../foss/java/chat/simplex/app/PlayStore.kt | 18 ++ .../google/java/chat/simplex/app/PlayStore.kt | 190 +++++++++++++++ .../main/java/chat/simplex/app/SimplexApp.kt | 7 + .../chat/simplex/common/platform/Platform.kt | 12 + .../simplex/common/views/badges/BadgeStore.kt | 187 ++++++++++++++ .../common/views/badges/BadgesPayView.kt | 143 +++++++++-- .../views/badges/BadgesSupportSimplexView.kt | 3 + .../views/badges/BadgesYourLevelView.kt | 10 +- .../commonMain/resources/MR/base/strings.xml | 12 +- 15 files changed, 1157 insertions(+), 85 deletions(-) create mode 100644 apps/ios/BadgeTestProducts.storekit create mode 100644 apps/ios/Shared/Views/Badges/BadgeStore.swift create mode 100644 apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgeStore.kt diff --git a/apps/ios/BadgeTestProducts.storekit b/apps/ios/BadgeTestProducts.storekit new file mode 100644 index 0000000000..f32c2c8dc3 --- /dev/null +++ b/apps/ios/BadgeTestProducts.storekit @@ -0,0 +1,230 @@ +{ + "appPolicies" : { + "eula" : "", + "policies" : [ + { + "locale" : "en_US", + "policyText" : "", + "policyURL" : "" + } + ] + }, + "identifier" : "B4D6E1A0", + "nonRenewingSubscriptions" : [ + + ], + "products" : [ + { + "displayPrice" : "7.00", + "familyShareable" : false, + "internalID" : "3010000001", + "localizations" : [ + { + "description" : "Supporter badge for one month", + "displayName" : "SimpleX Supporter Badge", + "locale" : "en_US" + } + ], + "productID" : "BADGE_SUPPORTER_01", + "referenceName" : "SimpleX Supporter Badge", + "type" : "Consumable" + }, + { + "displayPrice" : "70.00", + "familyShareable" : false, + "internalID" : "3010000002", + "localizations" : [ + { + "description" : "Legend badge for one month", + "displayName" : "SimpleX Legend Badge", + "locale" : "en_US" + } + ], + "productID" : "BADGE_LEGEND_01", + "referenceName" : "SimpleX Legend Badge", + "type" : "Consumable" + } + ], + "settings" : { + "_applicationInternalID" : "", + "_developerTeamID" : "", + "_failTransactionsEnabled" : false, + "_lastSynchronizedDate" : 0, + "_locale" : "en_US", + "_storefront" : "USA", + "_storeKitErrors" : [ + { + "current" : null, + "enabled" : false, + "name" : "Load Products" + }, + { + "current" : null, + "enabled" : false, + "name" : "Purchase" + }, + { + "current" : null, + "enabled" : false, + "name" : "Verification" + }, + { + "current" : null, + "enabled" : false, + "name" : "App Store Sync" + }, + { + "current" : null, + "enabled" : false, + "name" : "Subscription Status" + }, + { + "current" : null, + "enabled" : false, + "name" : "App Transaction" + }, + { + "current" : null, + "enabled" : false, + "name" : "Manage Subscriptions Sheet" + }, + { + "current" : null, + "enabled" : false, + "name" : "Refund Request Sheet" + }, + { + "current" : null, + "enabled" : false, + "name" : "Offer Code Redeem Sheet" + } + ] + }, + "subscriptionGroups" : [ + { + "id" : "3020000001", + "localizations" : [ + + ], + "name" : "SimpleX Badge Subscription", + "subscriptions" : [ + { + "adHocOffers" : [ + + ], + "codeOffers" : [ + + ], + "displayPrice" : "7.00", + "familyShareable" : false, + "groupNumber" : 2, + "internalID" : "3020000011", + "introductoryOffer" : null, + "localizations" : [ + { + "description" : "Supporter badge, renews monthly", + "displayName" : "SimpleX Supporter Badge (Month)", + "locale" : "en_US" + } + ], + "productID" : "SUBSCR_BADGE_SUPPORTER_MONTH_01", + "recurringSubscriptionPeriod" : "P1M", + "referenceName" : "SimpleX Supporter Badge (Month)", + "subscriptionGroupID" : "3020000001", + "type" : "RecurringSubscription", + "winbackOffers" : [ + + ] + }, + { + "adHocOffers" : [ + + ], + "codeOffers" : [ + + ], + "displayPrice" : "42.00", + "familyShareable" : false, + "groupNumber" : 2, + "internalID" : "3020000012", + "introductoryOffer" : null, + "localizations" : [ + { + "description" : "Supporter badge, renews yearly", + "displayName" : "SimpleX Supporter Badge (Year)", + "locale" : "en_US" + } + ], + "productID" : "SUBSCR_BADGE_SUPPORTER_YEAR_01", + "recurringSubscriptionPeriod" : "P1Y", + "referenceName" : "SimpleX Supporter Badge (Year)", + "subscriptionGroupID" : "3020000001", + "type" : "RecurringSubscription", + "winbackOffers" : [ + + ] + }, + { + "adHocOffers" : [ + + ], + "codeOffers" : [ + + ], + "displayPrice" : "70.00", + "familyShareable" : false, + "groupNumber" : 1, + "internalID" : "3020000013", + "introductoryOffer" : null, + "localizations" : [ + { + "description" : "Legend badge, renews monthly", + "displayName" : "SimpleX Legend Badge (Month)", + "locale" : "en_US" + } + ], + "productID" : "SUBSCR_BADGE_LEGEND_MONTH_01", + "recurringSubscriptionPeriod" : "P1M", + "referenceName" : "SimpleX Legend Badge (Month)", + "subscriptionGroupID" : "3020000001", + "type" : "RecurringSubscription", + "winbackOffers" : [ + + ] + }, + { + "adHocOffers" : [ + + ], + "codeOffers" : [ + + ], + "displayPrice" : "420.00", + "familyShareable" : false, + "groupNumber" : 1, + "internalID" : "3020000014", + "introductoryOffer" : null, + "localizations" : [ + { + "description" : "Legend badge, renews yearly", + "displayName" : "SimpleX Legend Badge (Year)", + "locale" : "en_US" + } + ], + "productID" : "SUBSCR_BADGE_LEGEND_YEAR_01", + "recurringSubscriptionPeriod" : "P1Y", + "referenceName" : "SimpleX Legend Badge (Year)", + "subscriptionGroupID" : "3020000001", + "type" : "RecurringSubscription", + "winbackOffers" : [ + + ] + } + ] + } + ], + "version" : { + "major" : 4, + "minor" : 0 + } +} diff --git a/apps/ios/Shared/Views/Badges/BadgeStore.swift b/apps/ios/Shared/Views/Badges/BadgeStore.swift new file mode 100644 index 0000000000..8d092bbc19 --- /dev/null +++ b/apps/ios/Shared/Views/Badges/BadgeStore.swift @@ -0,0 +1,183 @@ +// +// BadgeStore.swift +// SimpleX (iOS) +// +// Created by spaced4ndy on 14.08.2026. +// Copyright © 2026 SimpleX Chat. All rights reserved. +// + +import Foundation +import Combine +import StoreKit + +// TODO [badges] product ids will come from app config and prices from the badge service catalog; +// hardcoded here so the App Store integration can be tested before the purchase API lands. +func badgeProductId(_ level: BadgeLevel, _ period: BadgePeriod) -> String { + switch (level, period) { + case (.supporter, .oneMonth): "BADGE_SUPPORTER_01" + case (.supporter, .monthly): "SUBSCR_BADGE_SUPPORTER_MONTH_01" + case (.supporter, .annual): "SUBSCR_BADGE_SUPPORTER_YEAR_01" + case (.legend, .oneMonth): "BADGE_LEGEND_01" + case (.legend, .monthly): "SUBSCR_BADGE_LEGEND_MONTH_01" + case (.legend, .annual): "SUBSCR_BADGE_LEGEND_YEAR_01" + } +} + +let badgeProductIds: [String] = BadgeLevel.allCases.flatMap { level in + BadgePeriod.allCases.map { badgeProductId(level, $0) } +} + +// TODO [badges] replaced by APIGetBadgeInvoice, which creates the invoice row and returns its id. +// Apple requires a UUID - it is sent as appAccountToken and echoed back in the signed transaction, +// which is how the service learns which invoice a store transaction settles. +func newBadgeInvoiceId() -> UUID { UUID() } + +enum BadgePrice { + case loading + case price(String) + case unavailable + + var canPurchase: Bool { + switch self { + case .price: true + case .loading, .unavailable: false + } + } +} + +struct BadgeStoreReceipt { + // the signed token the badge service verifies - never transaction.jsonRepresentation + let jws: String + let productId: String + let transactionId: UInt64 + let invoiceId: UUID? + let environment: String? + let signatureVerified: Bool +} + +enum BadgePurchaseOutcome { + case purchased(BadgeStoreReceipt) + case pending + case cancelled +} + +enum BadgeStoreError: Error { + case productUnavailable(productId: String) + case unknownPurchaseResult +} + +final class BadgeStore: ObservableObject { + static let shared = BadgeStore() + + private enum LoadState { case notLoaded, loading, loaded, failed } + + @Published private var state: LoadState = .notLoaded + private var products: [String: Product] = [:] + + private init() {} + + func price(_ level: BadgeLevel, _ period: BadgePeriod) -> BadgePrice { + switch state { + case .notLoaded, .loading: return .loading + case .loaded, .failed: + if let p = products[badgeProductId(level, period)] { return .price(compactPrice(p)) } + return .unavailable + } + } + + // percentage the annual subscription saves against 12 monthly payments + func annualSavings(_ level: BadgeLevel) -> Int? { + guard let monthly = products[badgeProductId(level, .monthly)], + let annual = products[badgeProductId(level, .annual)] + else { return nil } + let year = monthly.price * 12 + guard year > 0, annual.price < year else { return nil } + let saved = (year - annual.price) / year * 100 + let percent = Int(NSDecimalNumber(decimal: saved).doubleValue.rounded()) + return percent > 0 ? percent : nil + } + + func load() async { + guard await startLoading() else { return } + do { + let loaded = try await Product.products(for: badgeProductIds) + let byId = Dictionary(loaded.map { ($0.id, $0) }, uniquingKeysWith: { p, _ in p }) + let missing = badgeProductIds.filter { byId[$0] == nil } + if !missing.isEmpty { + // the store drops ids it cannot resolve without saying why, so the storefront and + // the bundle the request was made for are logged with them + let storefront = await Storefront.current + logger.warning("BadgeStore.load: no product returned for \(missing.joined(separator: ", ")) - bundle \(Bundle.main.bundleIdentifier ?? "?"), storefront \(storefront?.countryCode ?? "none"), canMakePayments \(AppStore.canMakePayments)") + } + await MainActor.run { + products = byId + state = .loaded + } + } catch let error { + logger.error("BadgeStore.load: \(String(describing: error))") + await MainActor.run { state = .failed } + } + } + + func purchase(_ level: BadgeLevel, _ period: BadgePeriod, invoiceId: UUID) async throws -> BadgePurchaseOutcome { + let productId = badgeProductId(level, period) + guard let product = await MainActor.run(body: { products[productId] }) else { + throw BadgeStoreError.productUnavailable(productId: productId) + } + switch try await product.purchase(options: [.appAccountToken(invoiceId)]) { + case let .success(verification): + let transaction: Transaction + let signatureVerified: Bool + switch verification { + case let .verified(t): + transaction = t + signatureVerified = true + case let .unverified(t, _): + transaction = t + signatureVerified = false + } + // nothing is delivered in this build, so the transaction is finished right away; once the + // service issues credentials it must only be finished after the credential is stored + await transaction.finish() + return .purchased(storeReceipt(verification.jwsRepresentation, transaction, signatureVerified)) + case .pending: return .pending + case .userCancelled: return .cancelled + @unknown default: throw BadgeStoreError.unknownPurchaseResult + } + } + + @MainActor + private func startLoading() -> Bool { + switch state { + case .notLoaded, .failed: + state = .loading + return true + case .loading, .loaded: + return false + } + } +} + +// drops the fraction from whole amounts ("$7", not "$7.00") in the product's own currency style; +// Product.displayPrice remains the exact form for views that need the cents +private func compactPrice(_ product: Product) -> String { + var whole = Decimal() + var price = product.price + NSDecimalRound(&whole, &price, 0, .plain) + return whole == product.price + ? product.price.formatted(product.priceFormatStyle.precision(.fractionLength(0))) + : product.displayPrice +} + +private func storeReceipt(_ jws: String, _ t: Transaction, _ signatureVerified: Bool) -> BadgeStoreReceipt { + var environment: String? = nil + if #available(iOS 16.0, *) { environment = t.environment.rawValue } + return BadgeStoreReceipt( + jws: jws, + productId: t.productID, + transactionId: t.id, + invoiceId: t.appAccountToken, + environment: environment, + signatureVerified: signatureVerified + ) +} diff --git a/apps/ios/Shared/Views/Badges/BadgesPayView.swift b/apps/ios/Shared/Views/Badges/BadgesPayView.swift index b32c14485f..707bdb3059 100644 --- a/apps/ios/Shared/Views/Badges/BadgesPayView.swift +++ b/apps/ios/Shared/Views/Badges/BadgesPayView.swift @@ -12,29 +12,62 @@ import SimpleXChat // TODO [badges]: replace with types produced by the badge purchase API when it lands. enum BadgePeriod: String, CaseIterable, Identifiable { case oneMonth - case subscribe + case monthly + case annual var id: String { rawValue } var icon: String { switch self { case .oneMonth: "calendar" - case .subscribe: "arrow.clockwise" + case .monthly: "arrow.clockwise" + case .annual: "arrow.clockwise" } } var label: LocalizedStringKey { switch self { case .oneMonth: "1 month" - case .subscribe: "Subscribe" + case .monthly: "Monthly" + case .annual: "Annual" + } + } + + func priceText(_ price: BadgePrice) -> Text { + switch price { + case .loading: return Text(verbatim: "…") + case .unavailable: return Text(verbatim: "—") + case let .price(p): + switch self { + case .oneMonth: return Text(verbatim: p) + case .monthly: return Text("\(p)/month") + case .annual: return Text("\(p)/year") + } + } + } + + func payText(_ price: BadgePrice) -> Text { + switch price { + case .loading: return Text("Loading…") + case .unavailable: return Text("Not available") + case let .price(p): + switch self { + case .oneMonth: return Text("Pay \(p)") + case .monthly: return Text("Pay \(p)/month") + case .annual: return Text("Pay \(p)/year") + } } } } struct BadgesPayView: View { @EnvironmentObject var theme: AppTheme + @ObservedObject private var store = BadgeStore.shared let level: BadgeLevel - @State private var selectedPeriod: BadgePeriod = .subscribe + @State private var selectedPeriod: BadgePeriod = .monthly + @State private var purchasing = false + // presented from this view, not AlertManager: its host is behind the sheet these views open in + @State private var alert: SomeAlert? var body: some View { GeometryReader { g in @@ -59,10 +92,14 @@ struct BadgesPayView: View { Spacer(minLength: 20) + // fixedSize + maxHeight on the cards so all three match the tallest one - + // only Annual carries a savings line, and prices wrap at large fonts HStack(alignment: .top, spacing: 12) { periodCard(.oneMonth) - periodCard(.subscribe) + periodCard(.monthly) + periodCard(.annual) } + .fixedSize(horizontal: false, vertical: true) Spacer(minLength: 20) @@ -86,6 +123,8 @@ struct BadgesPayView: View { } .frame(maxHeight: .infinity) .navigationBarTitleDisplayMode(.inline) + .task { await store.load() } + .alert(item: $alert) { $0.alert } } private func periodCard(_ period: BadgePeriod) -> some View { @@ -99,13 +138,21 @@ struct BadgesPayView: View { .scaledToFit() .frame(width: 32, height: 32) .foregroundColor(isSelected ? theme.colors.primary : theme.colors.secondary) - .padding(.top, 30) Text(period.label) .font(.title3) .fontWeight(.bold) - .padding(.bottom, 30) + period.priceText(store.price(level, period)) + .font(.body) + if let percent = savingsPercent(period) { + Text("Save \(percent)%") + .font(.footnote) + .foregroundColor(isSelected ? theme.colors.primary : theme.colors.secondary) + } } - .frame(maxWidth: .infinity) + .multilineTextAlignment(.center) + .padding(.vertical, 25) + .padding(.horizontal, 12) + .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .top) .background(Color(uiColor: .secondarySystemGroupedBackground)) .clipShape(RoundedRectangle(cornerRadius: 16)) .overlay( @@ -116,13 +163,89 @@ struct BadgesPayView: View { .buttonStyle(.plain) } + private func savingsPercent(_ period: BadgePeriod) -> Int? { + period == .annual ? store.annualSavings(level) : nil + } + private func payButton() -> some View { - Button { - // TODO [badges] wire to purchase API when it lands. + let price = store.price(level, selectedPeriod) + let disabled = !price.canPurchase || purchasing + return Button { + purchase() } label: { - Text(selectedPeriod == .subscribe ? "Pay \(level.priceAmount)/month" : "Pay \(level.priceAmount)") + selectedPeriod.payText(price) } - .buttonStyle(OnboardingButtonStyle(isDisabled: false)) + .buttonStyle(OnboardingButtonStyle(isDisabled: disabled)) + .disabled(disabled) + } + + private func purchase() { + let period = selectedPeriod + let invoiceId = newBadgeInvoiceId() + purchasing = true + Task { + do { + let outcome = try await store.purchase(level, period, invoiceId: invoiceId) + await MainActor.run { + purchasing = false + switch outcome { + case let .purchased(receipt): showPurchasedAlert(receipt, invoiceId) + case .pending: + alert = SomeAlert( + alert: mkAlert( + title: "Purchase pending", + message: "The purchase is awaiting approval. This build does not deliver purchases approved later." + ), + id: "badgePurchasePending" + ) + case .cancelled: break + } + } + } catch let error { + logger.error("BadgesPayView.purchase: \(String(describing: error))") + await MainActor.run { + purchasing = false + alert = SomeAlert( + alert: Alert( + title: Text("Purchase error"), + message: Text(verbatim: String(describing: error)) + ), + id: "badgePurchaseError" + ) + } + } + } + } + + // TODO [badges] store integration diagnostics - replaced by the issued badge once the service lands. + private func showPurchasedAlert(_ receipt: BadgeStoreReceipt, _ invoiceId: UUID) { + let returnedInvoice: String + if let returned = receipt.invoiceId { + returnedInvoice = returned == invoiceId ? "yes" : "mismatch: \(returned.uuidString)" + } else { + returnedInvoice = "none" + } + var lines = [ + "Product: \(receipt.productId)", + "Invoice: \(invoiceId.uuidString)", + "Invoice returned by Apple: \(returnedInvoice)", + "Transaction: \(receipt.transactionId)" + ] + if let environment = receipt.environment { lines.append("Environment: \(environment)") } + lines.append("Signature: \(receipt.signatureVerified ? "verified" : "unverified")") + lines.append("Token: \(receipt.jws.count) bytes") + let summary = lines.joined(separator: "\n") + // logged as well as shown: the alert races StoreKit's own sheets, the log always lands + logger.debug("badge purchase succeeded\n\(summary)") + alert = SomeAlert( + alert: Alert( + title: Text("Purchase successful"), + message: Text(verbatim: summary), + primaryButton: .default(Text(verbatim: "Copy token")) { UIPasteboard.general.string = receipt.jws }, + secondaryButton: .cancel(Text("Ok")) + ), + id: "badgePurchased" + ) } private var billingFooter: LocalizedStringKey { @@ -131,7 +254,7 @@ struct BadgesPayView: View { let stubDate = Calendar.current.date(from: comps) ?? Date() let date = DateFormatter.localizedString(from: stubDate, dateStyle: .long, timeStyle: .none) switch selectedPeriod { - case .subscribe: return "Renews on \(date). Cancel anytime." + case .monthly, .annual: return "Renews on \(date). Cancel anytime." case .oneMonth: return "Ends on \(date)." } } diff --git a/apps/ios/Shared/Views/Badges/BadgesSupportSimplexView.swift b/apps/ios/Shared/Views/Badges/BadgesSupportSimplexView.swift index 6ae3176e85..2538d874a1 100644 --- a/apps/ios/Shared/Views/Badges/BadgesSupportSimplexView.swift +++ b/apps/ios/Shared/Views/Badges/BadgesSupportSimplexView.swift @@ -62,6 +62,8 @@ struct BadgesSupportSimplexView: View { } .frame(maxHeight: .infinity) .navigationBarTitleDisplayMode(.inline) + // preloaded here so the level screen shows store prices without a placeholder pass + .task { await BadgeStore.shared.load() } } private func whyBuiltButton() -> some View { diff --git a/apps/ios/Shared/Views/Badges/BadgesYourLevelView.swift b/apps/ios/Shared/Views/Badges/BadgesYourLevelView.swift index 3cfd576ea9..eb2396c655 100644 --- a/apps/ios/Shared/Views/Badges/BadgesYourLevelView.swift +++ b/apps/ios/Shared/Views/Badges/BadgesYourLevelView.swift @@ -30,13 +30,6 @@ enum BadgeLevel: String, CaseIterable, Identifiable { } } - var priceAmount: String { - switch self { - case .supporter: "$7" - case .legend: "$70" - } - } - var tagline: LocalizedStringKey { switch self { case .supporter: "Optional profile badge\nand 2GB files" @@ -54,6 +47,7 @@ enum BadgeLevel: String, CaseIterable, Identifiable { struct BadgesYourLevelView: View { @EnvironmentObject var theme: AppTheme + @ObservedObject private var store = BadgeStore.shared @State private var selectedLevel: BadgeLevel = .supporter @State private var continueActive = false @State private var howItWorksActive = false @@ -78,10 +72,13 @@ struct BadgesYourLevelView: View { Spacer(minLength: 20) + // fixedSize + maxHeight on the cards so both match the taller one when a + // store price wraps in one of them HStack(alignment: .top, spacing: 12) { levelCard(.supporter) levelCard(.legend) } + .fixedSize(horizontal: false, vertical: true) Spacer(minLength: 20) @@ -101,6 +98,7 @@ struct BadgesYourLevelView: View { } .frame(maxHeight: .infinity) .navigationBarTitleDisplayMode(.inline) + .task { await store.load() } } private func levelCard(_ level: BadgeLevel) -> some View { @@ -120,11 +118,13 @@ struct BadgesYourLevelView: View { Text(level.filesDescription) .font(.subheadline) .foregroundColor(theme.colors.secondary) - Text("\(level.priceAmount)/month") + BadgePeriod.monthly.priceText(store.price(level, .monthly)) .font(.body) .padding(.bottom, 20) } - .frame(maxWidth: .infinity) + .multilineTextAlignment(.center) + .padding(.horizontal, 12) + .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .top) .background(Color(uiColor: .secondarySystemGroupedBackground)) .clipShape(RoundedRectangle(cornerRadius: 16)) .overlay( diff --git a/apps/ios/SimpleX.xcodeproj/project.pbxproj b/apps/ios/SimpleX.xcodeproj/project.pbxproj index 211b53e4f7..a9a1fa180e 100644 --- a/apps/ios/SimpleX.xcodeproj/project.pbxproj +++ b/apps/ios/SimpleX.xcodeproj/project.pbxproj @@ -145,13 +145,6 @@ 640417CE2B29B8C200CCB412 /* NewChatView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 640417CC2B29B8C200CCB412 /* NewChatView.swift */; }; 640743612CD360E600158442 /* ChooseServerOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 640743602CD360E600158442 /* ChooseServerOperators.swift */; }; 6407BA83295DA85D0082BA18 /* CIInvalidJSONView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6407BA82295DA85D0082BA18 /* CIInvalidJSONView.swift */; }; - 641378013020A5AD0056E083 /* BadgesRedeemCodeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 641377FC3020A5AD0056E083 /* BadgesRedeemCodeView.swift */; }; - 641378023020A5AD0056E083 /* SupportSimpleXBanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 641378003020A5AD0056E083 /* SupportSimpleXBanner.swift */; }; - 641378033020A5AD0056E083 /* BadgesHowItWorksView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 641377FA3020A5AD0056E083 /* BadgesHowItWorksView.swift */; }; - 641378043020A5AD0056E083 /* BadgesSupportSimplexView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 641377FD3020A5AD0056E083 /* BadgesSupportSimplexView.swift */; }; - 641378053020A5AD0056E083 /* BadgesYourLevelView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 641377FE3020A5AD0056E083 /* BadgesYourLevelView.swift */; }; - 641378063020A5AD0056E083 /* BadgeUserPreview.swift in Sources */ = {isa = PBXBuildFile; fileRef = 641377FF3020A5AD0056E083 /* BadgeUserPreview.swift */; }; - 641378073020A5AD0056E083 /* BadgesPayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 641377FB3020A5AD0056E083 /* BadgesPayView.swift */; }; 6419EC582AB97507004A607A /* CIMemberCreatedContactView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6419EC572AB97507004A607A /* CIMemberCreatedContactView.swift */; }; 642BA82D2CE50495005E9412 /* NewServerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 642BA82C2CE50495005E9412 /* NewServerView.swift */; }; 6432857C2925443C00FBE5C8 /* GroupPreferencesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6432857B2925443C00FBE5C8 /* GroupPreferencesView.swift */; }; @@ -186,6 +179,14 @@ 64A77A022DC4AD6100FDEF2F /* ContextPendingMemberActionsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64A77A012DC4AD6100FDEF2F /* ContextPendingMemberActionsView.swift */; }; 64AA1C6927EE10C800AC7277 /* ContextItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64AA1C6827EE10C800AC7277 /* ContextItemView.swift */; }; 64AA1C6C27F3537400AC7277 /* DeletedItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64AA1C6B27F3537400AC7277 /* DeletedItemView.swift */; }; + 64C03BF9302F423300072BDE /* BadgesPayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C03BF1302F423300072BDE /* BadgesPayView.swift */; }; + 64C03BFA302F423300072BDE /* BadgesRedeemCodeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C03BF2302F423300072BDE /* BadgesRedeemCodeView.swift */; }; + 64C03BFB302F423300072BDE /* BadgesHowItWorksView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C03BF0302F423300072BDE /* BadgesHowItWorksView.swift */; }; + 64C03BFC302F423300072BDE /* BadgeUserPreview.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C03BF6302F423300072BDE /* BadgeUserPreview.swift */; }; + 64C03BFD302F423300072BDE /* BadgeStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C03BF4302F423300072BDE /* BadgeStore.swift */; }; + 64C03BFE302F423300072BDE /* SupportSimpleXBanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C03BF7302F423300072BDE /* SupportSimpleXBanner.swift */; }; + 64C03BFF302F423300072BDE /* BadgesYourLevelView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C03BF5302F423300072BDE /* BadgesYourLevelView.swift */; }; + 64C03C00302F423300072BDE /* BadgesSupportSimplexView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C03BF3302F423300072BDE /* BadgesSupportSimplexView.swift */; }; 64C06EB52A0A4A7C00792D4D /* ChatItemInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C06EB42A0A4A7C00792D4D /* ChatItemInfoView.swift */; }; 64C3B0212A0D359700E19930 /* CustomTimePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C3B0202A0D359700E19930 /* CustomTimePicker.swift */; }; 64C8299D2D54AEEE006B9E89 /* libgmp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C829982D54AEED006B9E89 /* libgmp.a */; }; @@ -531,15 +532,9 @@ 640417CC2B29B8C200CCB412 /* NewChatView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewChatView.swift; sourceTree = ""; }; 640743602CD360E600158442 /* ChooseServerOperators.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChooseServerOperators.swift; sourceTree = ""; }; 6407BA82295DA85D0082BA18 /* CIInvalidJSONView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CIInvalidJSONView.swift; sourceTree = ""; }; - 641377FA3020A5AD0056E083 /* BadgesHowItWorksView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgesHowItWorksView.swift; sourceTree = ""; }; - 641377FB3020A5AD0056E083 /* BadgesPayView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgesPayView.swift; sourceTree = ""; }; - 641377FC3020A5AD0056E083 /* BadgesRedeemCodeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgesRedeemCodeView.swift; sourceTree = ""; }; - 641377FD3020A5AD0056E083 /* BadgesSupportSimplexView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgesSupportSimplexView.swift; sourceTree = ""; }; - 641377FE3020A5AD0056E083 /* BadgesYourLevelView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgesYourLevelView.swift; sourceTree = ""; }; - 641377FF3020A5AD0056E083 /* BadgeUserPreview.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgeUserPreview.swift; sourceTree = ""; }; - 641378003020A5AD0056E083 /* SupportSimpleXBanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SupportSimpleXBanner.swift; sourceTree = ""; }; 6419EC572AB97507004A607A /* CIMemberCreatedContactView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CIMemberCreatedContactView.swift; sourceTree = ""; }; 642BA82C2CE50495005E9412 /* NewServerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewServerView.swift; sourceTree = ""; }; + 642E412B3033084000F04EE1 /* BadgeTestProducts.storekit */ = {isa = PBXFileReference; lastKnownFileType = text; path = BadgeTestProducts.storekit; sourceTree = ""; }; 6432857B2925443C00FBE5C8 /* GroupPreferencesView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GroupPreferencesView.swift; sourceTree = ""; }; 643B3B4D2CCFD6400083A2CF /* OperatorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OperatorView.swift; sourceTree = ""; }; 6440C9FF288857A10062C672 /* CIEventView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CIEventView.swift; sourceTree = ""; }; @@ -573,6 +568,14 @@ 64A77A012DC4AD6100FDEF2F /* ContextPendingMemberActionsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContextPendingMemberActionsView.swift; sourceTree = ""; }; 64AA1C6827EE10C800AC7277 /* ContextItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContextItemView.swift; sourceTree = ""; }; 64AA1C6B27F3537400AC7277 /* DeletedItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeletedItemView.swift; sourceTree = ""; }; + 64C03BF0302F423300072BDE /* BadgesHowItWorksView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgesHowItWorksView.swift; sourceTree = ""; }; + 64C03BF1302F423300072BDE /* BadgesPayView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgesPayView.swift; sourceTree = ""; }; + 64C03BF2302F423300072BDE /* BadgesRedeemCodeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgesRedeemCodeView.swift; sourceTree = ""; }; + 64C03BF3302F423300072BDE /* BadgesSupportSimplexView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgesSupportSimplexView.swift; sourceTree = ""; }; + 64C03BF4302F423300072BDE /* BadgeStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgeStore.swift; sourceTree = ""; }; + 64C03BF5302F423300072BDE /* BadgesYourLevelView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgesYourLevelView.swift; sourceTree = ""; }; + 64C03BF6302F423300072BDE /* BadgeUserPreview.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgeUserPreview.swift; sourceTree = ""; }; + 64C03BF7302F423300072BDE /* SupportSimpleXBanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SupportSimpleXBanner.swift; sourceTree = ""; }; 64C06EB42A0A4A7C00792D4D /* ChatItemInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatItemInfoView.swift; sourceTree = ""; }; 64C3B0202A0D359700E19930 /* CustomTimePicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomTimePicker.swift; sourceTree = ""; }; 64C829982D54AEED006B9E89 /* libgmp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgmp.a; sourceTree = ""; }; @@ -786,6 +789,7 @@ 5C2E260D27A30E2400F70299 /* Views */ = { isa = PBXGroup; children = ( + 64C03BF8302F423300072BDE /* Badges */, B76E6C2F2C5C41C300EC11AA /* Contacts */, 5CB0BA8C282711BC00B3292C /* Onboarding */, 3C714775281C080100CB4D4B /* Call */, @@ -798,7 +802,6 @@ 8C7D94982B8894D300B7B9E1 /* Migration */, 5CA8D01B2AD9B076001FD661 /* RemoteAccess */, 5CB924DF27A8678B00ACCCDD /* UserSettings */, - E5BADE0100000000BADE0000 /* Badges */, 5C2E261127A30FEA00F70299 /* TerminalView.swift */, ); path = Views; @@ -907,6 +910,7 @@ 5CA059BD279559F40002BEB4 = { isa = PBXGroup; children = ( + 642E412B3033084000F04EE1 /* BadgeTestProducts.storekit */, E5C0BBFD2F82BBC000EA7527 /* Debug.xcconfig */, E5C0BBFE2F82BBC900EA7527 /* Release.xcconfig */, 5C55A92D283D0FDE00C4E99E /* sounds */, @@ -1201,6 +1205,21 @@ path = Group; sourceTree = ""; }; + 64C03BF8302F423300072BDE /* Badges */ = { + isa = PBXGroup; + children = ( + 64C03BF0302F423300072BDE /* BadgesHowItWorksView.swift */, + 64C03BF1302F423300072BDE /* BadgesPayView.swift */, + 64C03BF2302F423300072BDE /* BadgesRedeemCodeView.swift */, + 64C03BF3302F423300072BDE /* BadgesSupportSimplexView.swift */, + 64C03BF4302F423300072BDE /* BadgeStore.swift */, + 64C03BF5302F423300072BDE /* BadgesYourLevelView.swift */, + 64C03BF6302F423300072BDE /* BadgeUserPreview.swift */, + 64C03BF7302F423300072BDE /* SupportSimpleXBanner.swift */, + ); + path = Badges; + sourceTree = ""; + }; 8C74C3E92C1B909200039E77 /* Theme */ = { isa = PBXGroup; children = ( @@ -1253,20 +1272,6 @@ path = "SimpleX SE"; sourceTree = ""; }; - E5BADE0100000000BADE0000 /* Badges */ = { - isa = PBXGroup; - children = ( - 641377FA3020A5AD0056E083 /* BadgesHowItWorksView.swift */, - 641377FB3020A5AD0056E083 /* BadgesPayView.swift */, - 641377FC3020A5AD0056E083 /* BadgesRedeemCodeView.swift */, - 641377FD3020A5AD0056E083 /* BadgesSupportSimplexView.swift */, - 641377FE3020A5AD0056E083 /* BadgesYourLevelView.swift */, - 641377FF3020A5AD0056E083 /* BadgeUserPreview.swift */, - 641378003020A5AD0056E083 /* SupportSimpleXBanner.swift */, - ); - path = Badges; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -1631,6 +1636,14 @@ 640417CD2B29B8C200CCB412 /* NewChatMenuButton.swift in Sources */, 5CFE0921282EEAF60002594B /* ZoomableScrollView.swift in Sources */, 5C3A88CE27DF50170060F1C2 /* DetermineWidth.swift in Sources */, + 64C03BF9302F423300072BDE /* BadgesPayView.swift in Sources */, + 64C03BFA302F423300072BDE /* BadgesRedeemCodeView.swift in Sources */, + 64C03BFB302F423300072BDE /* BadgesHowItWorksView.swift in Sources */, + 64C03BFC302F423300072BDE /* BadgeUserPreview.swift in Sources */, + 64C03BFD302F423300072BDE /* BadgeStore.swift in Sources */, + 64C03BFE302F423300072BDE /* SupportSimpleXBanner.swift in Sources */, + 64C03BFF302F423300072BDE /* BadgesYourLevelView.swift in Sources */, + 64C03C00302F423300072BDE /* BadgesSupportSimplexView.swift in Sources */, 5C7505A527B679EE00BE3227 /* NavLinkPlain.swift in Sources */, 5C58BCD6292BEBE600AF9E4F /* CIChatFeatureView.swift in Sources */, 5CB346E72868D76D001FD2EF /* NotificationsView.swift in Sources */, @@ -1722,13 +1735,6 @@ 1841538E296606C74533367C /* UserPicker.swift in Sources */, 18415B0585EB5A9A0A7CA8CD /* PressedButtonStyle.swift in Sources */, 1841560FD1CD447955474C1D /* UserProfilesView.swift in Sources */, - 641378013020A5AD0056E083 /* BadgesRedeemCodeView.swift in Sources */, - 641378023020A5AD0056E083 /* SupportSimpleXBanner.swift in Sources */, - 641378033020A5AD0056E083 /* BadgesHowItWorksView.swift in Sources */, - 641378043020A5AD0056E083 /* BadgesSupportSimplexView.swift in Sources */, - 641378053020A5AD0056E083 /* BadgesYourLevelView.swift in Sources */, - 641378063020A5AD0056E083 /* BadgeUserPreview.swift in Sources */, - 641378073020A5AD0056E083 /* BadgesPayView.swift in Sources */, 64C3B0212A0D359700E19930 /* CustomTimePicker.swift in Sources */, 8CC4ED902BD7B8530078AEE8 /* CallAudioDeviceManager.swift in Sources */, 64A779F62DBFB9F200FDEF2F /* MemberAdmissionView.swift in Sources */, diff --git a/apps/multiplatform/android/src/foss/java/chat/simplex/app/PlayStore.kt b/apps/multiplatform/android/src/foss/java/chat/simplex/app/PlayStore.kt index 181fe42389..bf4a3fb71d 100644 --- a/apps/multiplatform/android/src/foss/java/chat/simplex/app/PlayStore.kt +++ b/apps/multiplatform/android/src/foss/java/chat/simplex/app/PlayStore.kt @@ -1,4 +1,22 @@ package chat.simplex.app +import chat.simplex.common.platform.Log +import chat.simplex.common.views.badges.BadgeProduct +import chat.simplex.common.views.badges.BadgePurchaseOutcome +import chat.simplex.common.views.badges.BadgeStoreError +import chat.simplex.common.views.badges.BadgeStoreProductId + // Play Billing is only in the google flavor, so the Play country stays unknown here fun loadPlayStoreCountry() {} + +// No store in this flavor: no product is offered, so the purchase screen shows nothing to buy +// TODO [badges] this build pays via Stripe/crypto - the badge service catalog replaces these +@Suppress("UNUSED_PARAMETER") +suspend fun loadBadgeProducts(oneTimeIds: List, subscriptionIds: List): List { + Log.w(TAG, "loadBadgeProducts: no store in the foss build, use the google variant to buy from Play") + return emptyList() +} + +@Suppress("UNUSED_PARAMETER") +suspend fun purchaseBadge(id: BadgeStoreProductId, invoiceId: String): BadgePurchaseOutcome = + throw BadgeStoreError.StoreUnavailable diff --git a/apps/multiplatform/android/src/google/java/chat/simplex/app/PlayStore.kt b/apps/multiplatform/android/src/google/java/chat/simplex/app/PlayStore.kt index a0e7734ff0..14e8fc470c 100644 --- a/apps/multiplatform/android/src/google/java/chat/simplex/app/PlayStore.kt +++ b/apps/multiplatform/android/src/google/java/chat/simplex/app/PlayStore.kt @@ -1,8 +1,14 @@ package chat.simplex.app +import chat.simplex.common.platform.Log import chat.simplex.common.platform.androidAppContext import chat.simplex.common.platform.androidPlayStoreCountry +import chat.simplex.common.platform.mainActivity +import chat.simplex.common.views.badges.* import com.android.billingclient.api.* +import kotlinx.coroutines.CompletableDeferred +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext // Requests the country of the Google Play account into [androidPlayStoreCountry]. // It stays null when Play is unavailable or the user is not signed in. @@ -29,3 +35,187 @@ fun loadPlayStoreCountry() { override fun onBillingServiceDisconnected() = client.endConnection() }) } + +// One long-lived client for badges: ProductDetails obtained from it are passed back to it when the +// purchase is launched, and the purchase result arrives on its listener rather than as a return value. +// volatile: the listener is called on the main thread, the purchase runs on a background dispatcher +@Volatile private var badgeBillingClient: BillingClient? = null +@Volatile private var badgeOffers: Map = emptyMap() +@Volatile private var badgePurchase: CompletableDeferred? = null + +// offerToken is null for one-time products, which have no base plan to choose +private class BadgeOffer( + val id: BadgeStoreProductId, + val product: BadgeProduct, + val details: ProductDetails, + val offerToken: String? +) + +suspend fun loadBadgeProducts(oneTimeIds: List, subscriptionIds: List): List { + val client = connectedBadgeBillingClient() + val details = queryBadgeProducts(client, oneTimeIds, BillingClient.ProductType.INAPP) + + queryBadgeProducts(client, subscriptionIds, BillingClient.ProductType.SUBS) + val detailsByProductId = details.associateBy { it.productId } + val ids = oneTimeIds + subscriptionIds + val offers = ids.mapNotNull { id -> + val productDetails = detailsByProductId[id.productId] + if (productDetails == null) { + Log.w(TAG, "loadBadgeProducts: Play returned no product ${id.productId}") + null + } else { + productDetails.badgeOffer(id) + } + } + if (offers.size < ids.size) { + // a debug build's applicationIdSuffix is a common cause of Play not knowing the package + Log.w(TAG, "loadBadgeProducts: ${offers.size} of ${ids.size} resolved - package ${androidAppContext.packageName}, country ${androidPlayStoreCountry.value ?: "none"}") + } + badgeOffers = offers.associateBy { it.id } + return offers.map { it.product } +} + +suspend fun purchaseBadge(id: BadgeStoreProductId, invoiceId: String): BadgePurchaseOutcome { + val activity = mainActivity.get() ?: throw BadgeStoreError.StoreUnavailable + val client = connectedBadgeBillingClient() + val offer = badgeOffers[id] ?: throw BadgeStoreError.ProductUnavailable(id.productId) + val details = offer.details + val productParams = BillingFlowParams.ProductDetailsParams.newBuilder().setProductDetails(details) + offer.offerToken?.let { productParams.setOfferToken(it) } + val params = BillingFlowParams.newBuilder() + .setProductDetailsParamsList(listOf(productParams.build())) + .setObfuscatedAccountId(invoiceId) + .build() + val purchase = CompletableDeferred() + badgePurchase = purchase + try { + val launched = withContext(Dispatchers.Main) { client.launchBillingFlow(activity, params) } + if (launched.responseCode != BillingClient.BillingResponseCode.OK) { + throw BadgeStoreError.BillingError(launched.responseCode, launched.debugMessage) + } + val outcome = purchase.await() + if (outcome is BadgePurchaseOutcome.Purchased) finishBadgePurchase(client, details, outcome.receipt) + return outcome + } finally { + badgePurchase = null + } +} + +private val badgePurchasesUpdatedListener = PurchasesUpdatedListener { result, purchases -> + val pending = badgePurchase ?: return@PurchasesUpdatedListener + when { + result.responseCode == BillingClient.BillingResponseCode.OK && purchases != null -> + pending.complete(badgePurchaseOutcome(purchases)) + result.responseCode == BillingClient.BillingResponseCode.USER_CANCELED -> + pending.complete(BadgePurchaseOutcome.Cancelled) + else -> + pending.completeExceptionally(BadgeStoreError.BillingError(result.responseCode, result.debugMessage)) + } +} + +private fun badgePurchaseOutcome(purchases: List): BadgePurchaseOutcome { + val purchase = purchases.firstOrNull() ?: return BadgePurchaseOutcome.Cancelled + if (purchase.purchaseState == Purchase.PurchaseState.PENDING) return BadgePurchaseOutcome.Pending + return BadgePurchaseOutcome.Purchased( + BadgeStoreReceipt( + token = purchase.purchaseToken, + productId = purchase.products.firstOrNull() ?: "", + orderId = purchase.orderId, + invoiceId = purchase.accountIdentifiers?.obfuscatedAccountId + ) + ) +} + +private suspend fun connectedBadgeBillingClient(): BillingClient { + badgeBillingClient?.let { if (it.isReady) return it } + val client = BillingClient.newBuilder(androidAppContext) + .setListener(badgePurchasesUpdatedListener) + .enablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()) + .build() + val connected = CompletableDeferred() + client.startConnection(object : BillingClientStateListener { + override fun onBillingSetupFinished(result: BillingResult) { + connected.complete(result) + } + + override fun onBillingServiceDisconnected() { + badgeBillingClient = null + connected.complete( + BillingResult.newBuilder().setResponseCode(BillingClient.BillingResponseCode.SERVICE_DISCONNECTED).build() + ) + } + }) + val result = connected.await() + if (result.responseCode != BillingClient.BillingResponseCode.OK) { + client.endConnection() + throw BadgeStoreError.BillingError(result.responseCode, result.debugMessage) + } + badgeBillingClient = client + return client +} + +private suspend fun queryBadgeProducts(client: BillingClient, ids: List, productType: String): List { + // durations of one subscription share a product id, so the same product is queried once + val requested = ids.map { it.productId }.distinct() + val params = QueryProductDetailsParams.newBuilder() + .setProductList( + requested.map { + QueryProductDetailsParams.Product.newBuilder().setProductId(it).setProductType(productType).build() + } + ) + .build() + val queried = CompletableDeferred>() + client.queryProductDetailsAsync(params) { result, productDetailsResult -> + if (result.responseCode == BillingClient.BillingResponseCode.OK) { + queried.complete(productDetailsResult.productDetailsList) + } else { + Log.w(TAG, "queryBadgeProducts: $productType requested $requested, failed ${result.responseCode} ${result.debugMessage}") + queried.complete(emptyList()) + } + } + return queried.await() +} + +private fun ProductDetails.badgeOffer(id: BadgeStoreProductId): BadgeOffer? { + if (id.basePlanId == null) { + val purchase = oneTimePurchaseOfferDetails + if (purchase == null) { + Log.w(TAG, "badgeOffer: ${id.productId} has no one-time purchase price, type is $productType") + return null + } + val product = BadgeProduct(id, purchase.formattedPrice, purchase.priceAmountMicros, purchase.priceCurrencyCode) + return BadgeOffer(id, product, this, offerToken = null) + } + val offer = subscriptionOfferDetails?.firstOrNull { it.basePlanId == id.basePlanId } + if (offer == null) { + Log.w(TAG, "badgeOffer: ${id.productId} has no base plan ${id.basePlanId}, Play has ${subscriptionOfferDetails?.map { it.basePlanId }}") + return null + } + val phase = offer.pricingPhases.pricingPhaseList.firstOrNull { + it.recurrenceMode == ProductDetails.RecurrenceMode.INFINITE_RECURRING + } + if (phase == null) { + Log.w(TAG, "badgeOffer: ${id.productId} base plan ${id.basePlanId} has no recurring price") + return null + } + val product = BadgeProduct(id, phase.formattedPrice, phase.priceAmountMicros, phase.priceCurrencyCode) + return BadgeOffer(id, product, this, offer.offerToken) +} + +// nothing is delivered in this build, so the purchase is finished right away; once the service issues +// credentials it must only be finished after the credential is stored. One-time products are consumed +// so they can be bought again, subscriptions are acknowledged - Play refunds an unacknowledged +// purchase after 3 days. +private suspend fun finishBadgePurchase(client: BillingClient, details: ProductDetails, receipt: BadgeStoreReceipt) { + val done = CompletableDeferred() + if (details.productType == BillingClient.ProductType.SUBS) { + val params = AcknowledgePurchaseParams.newBuilder().setPurchaseToken(receipt.token).build() + client.acknowledgePurchase(params) { done.complete(it) } + } else { + val params = ConsumeParams.newBuilder().setPurchaseToken(receipt.token).build() + client.consumeAsync(params) { result, _ -> done.complete(result) } + } + val result = done.await() + if (result.responseCode != BillingClient.BillingResponseCode.OK) { + Log.e(TAG, "finishBadgePurchase: ${result.responseCode} ${result.debugMessage}") + } +} diff --git a/apps/multiplatform/android/src/main/java/chat/simplex/app/SimplexApp.kt b/apps/multiplatform/android/src/main/java/chat/simplex/app/SimplexApp.kt index ce47d2c5de..9826908e77 100644 --- a/apps/multiplatform/android/src/main/java/chat/simplex/app/SimplexApp.kt +++ b/apps/multiplatform/android/src/main/java/chat/simplex/app/SimplexApp.kt @@ -26,6 +26,9 @@ import chat.simplex.common.model.* import chat.simplex.common.model.ChatController.appPrefs import chat.simplex.common.platform.* import chat.simplex.common.ui.theme.* +import chat.simplex.common.views.badges.BadgeProduct +import chat.simplex.common.views.badges.BadgePurchaseOutcome +import chat.simplex.common.views.badges.BadgeStoreProductId import chat.simplex.common.views.call.* import chat.simplex.common.views.database.deleteOldChatArchive import chat.simplex.common.views.helpers.* @@ -343,6 +346,10 @@ class SimplexApp: Application(), LifecycleEventObserver { override fun androidLoadPlayStoreCountry() = loadPlayStoreCountry() + override suspend fun androidLoadBadgeProducts(oneTimeIds: List, subscriptionIds: List): List = loadBadgeProducts(oneTimeIds, subscriptionIds) + + override suspend fun androidPurchaseBadge(id: BadgeStoreProductId, invoiceId: String): BadgePurchaseOutcome = purchaseBadge(id, invoiceId) + @SuppressLint("SourceLockedOrientationActivity") @Composable override fun androidLockPortraitOrientation() { diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/platform/Platform.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/platform/Platform.kt index b46123c9cf..d857ab974c 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/platform/Platform.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/platform/Platform.kt @@ -9,6 +9,10 @@ import androidx.compose.ui.graphics.Color import chat.simplex.common.model.ChatId import chat.simplex.common.model.NotificationsMode import chat.simplex.common.ui.theme.CurrentColors +import chat.simplex.common.views.badges.BadgeProduct +import chat.simplex.common.views.badges.BadgePurchaseOutcome +import chat.simplex.common.views.badges.BadgeStoreError +import chat.simplex.common.views.badges.BadgeStoreProductId import kotlinx.coroutines.Job import java.io.Closeable @@ -31,6 +35,14 @@ interface PlatformInterface { fun androidIsXiaomiDevice(): Boolean = false // Requests the Google Play account country into [androidPlayStoreCountry] fun androidLoadPlayStoreCountry() {} + // Play Billing, only implemented in the google flavor + // TODO [badges] desktop and foss pay via Stripe/crypto - these defaults leave them without any + // product until that path is implemented + suspend fun androidLoadBadgeProducts(oneTimeIds: List, subscriptionIds: List): List { + Log.w(TAG, "androidLoadBadgeProducts: no store on this platform") + return emptyList() + } + suspend fun androidPurchaseBadge(id: BadgeStoreProductId, invoiceId: String): BadgePurchaseOutcome = throw BadgeStoreError.StoreUnavailable val androidApiLevel: Int? get() = null // The build distributed via Google Play, which has to follow its policies val androidIsPlayStoreBuild: Boolean get() = false diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgeStore.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgeStore.kt new file mode 100644 index 0000000000..f8a37c39a7 --- /dev/null +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgeStore.kt @@ -0,0 +1,187 @@ +package chat.simplex.common.views.badges + +import androidx.compose.runtime.mutableStateOf +import chat.simplex.common.platform.* +import java.text.NumberFormat +import java.util.Currency +import java.util.UUID + +// a subscription is one store product containing a base plan per duration, so a purchasable badge +// is identified by both; one-time products have no base plan +data class BadgeStoreProductId(val productId: String, val basePlanId: String? = null) + +// TODO [badges] ids will come from app config and prices from the badge service catalog; +// hardcoded here so the Play Store integration can be tested before the purchase API lands. +fun badgeStoreProductId(level: BadgeLevel, period: BadgePeriod): BadgeStoreProductId = when (level) { + BadgeLevel.Supporter -> when (period) { + BadgePeriod.OneMonth -> BadgeStoreProductId("badge_supporter_01") + BadgePeriod.Monthly -> BadgeStoreProductId("subscr_badge_supporter_01", "subscr-badge-supporter-month-02") + BadgePeriod.Annual -> BadgeStoreProductId("subscr_badge_supporter_01", "subscr-badge-supporter-year-01") + } + BadgeLevel.Legend -> when (period) { + BadgePeriod.OneMonth -> BadgeStoreProductId("badge_legend_01") + BadgePeriod.Monthly -> BadgeStoreProductId("subscr_badge_legend_01", "subscr-badge-legend-month-01") + BadgePeriod.Annual -> BadgeStoreProductId("subscr_badge_legend_01", "subscr-badge-legend-year-01") + } +} + +val badgeStoreProductIds: List = BadgeLevel.entries.flatMap { level -> + BadgePeriod.entries.map { badgeStoreProductId(level, it) } +} + +// TODO [badges] replaced by APIGetBadgeInvoice, which creates the invoice row and returns its id. +// Sent to Play as obfuscatedAccountId and echoed back on the purchase, which is how the service +// learns which invoice a store transaction settles. +fun newBadgeInvoiceId(): String = UUID.randomUUID().toString() + +// what the platform store knows about one product; ProductDetails cannot cross into commonMain +data class BadgeProduct( + val id: BadgeStoreProductId, + val displayPrice: String, + val priceMicros: Long, + val currencyCode: String +) + +sealed class BadgePrice { + object Loading: BadgePrice() + class Price(val price: String): BadgePrice() + object Unavailable: BadgePrice() + + val canPurchase: Boolean + get() = when (this) { + is Price -> true + is Loading, is Unavailable -> false + } +} + +data class BadgeStoreReceipt( + // the token the badge service verifies with the Publisher API + val token: String, + val productId: String, + val orderId: String?, + val invoiceId: String?, + // only set for test products - a real Play purchase has no environment to report + val environment: String? = null +) + +// TODO [badges] Play Billing has no offline product configuration. Set to true to price the screens +// and walk the purchase flow without Play Console products; the purchase is simulated and its +// receipt says so. +const val useBadgeTestProducts = false + +private fun testProduct(level: BadgeLevel, period: BadgePeriod, priceMicros: Long) = + BadgeProduct(badgeStoreProductId(level, period), "\$${priceMicros / 1_000_000}.00", priceMicros, "USD") + +private val testBadgeProducts: List = listOf( + testProduct(BadgeLevel.Supporter, BadgePeriod.OneMonth, 7_000_000), + testProduct(BadgeLevel.Supporter, BadgePeriod.Monthly, 7_000_000), + testProduct(BadgeLevel.Supporter, BadgePeriod.Annual, 42_000_000), + testProduct(BadgeLevel.Legend, BadgePeriod.OneMonth, 70_000_000), + testProduct(BadgeLevel.Legend, BadgePeriod.Monthly, 70_000_000), + testProduct(BadgeLevel.Legend, BadgePeriod.Annual, 420_000_000) +) + +sealed class BadgePurchaseOutcome { + class Purchased(val receipt: BadgeStoreReceipt): BadgePurchaseOutcome() + object Pending: BadgePurchaseOutcome() + object Cancelled: BadgePurchaseOutcome() +} + +sealed class BadgeStoreError: Exception() { + class ProductUnavailable(val productId: String): BadgeStoreError() + class BillingError(val responseCode: Int, val debugMessage: String): BadgeStoreError() + object StoreUnavailable: BadgeStoreError() + + override val message: String + get() = when (this) { + is ProductUnavailable -> "productUnavailable(productId: $productId)" + is BillingError -> "billingError(responseCode: $responseCode, $debugMessage)" + is StoreUnavailable -> "storeUnavailable" + } +} + +object BadgeStore { + private enum class LoadState { NotLoaded, Loading, Loaded, Failed } + + private val state = mutableStateOf(LoadState.NotLoaded) + // snapshot state so a composable reading only the products still recomposes when they arrive + private val products = mutableStateOf>(emptyMap()) + + fun price(level: BadgeLevel, period: BadgePeriod): BadgePrice = when (state.value) { + LoadState.NotLoaded, LoadState.Loading -> BadgePrice.Loading + LoadState.Loaded, LoadState.Failed -> { + val p = products.value[badgeStoreProductId(level, period)] + if (p != null) BadgePrice.Price(compactPrice(p)) else BadgePrice.Unavailable + } + } + + fun annualSavings(level: BadgeLevel): Int? { + val monthly = products.value[badgeStoreProductId(level, BadgePeriod.Monthly)] ?: return null + val annual = products.value[badgeStoreProductId(level, BadgePeriod.Annual)] ?: return null + val year = monthly.priceMicros * 12 + if (year <= 0 || annual.priceMicros >= year) return null + val percent = Math.round((year - annual.priceMicros).toDouble() / year * 100).toInt() + return if (percent > 0) percent else null + } + + suspend fun load() { + if (!startLoading()) return + try { + // TODO [badges] desktop and the foss build will price from the badge service catalog and pay + // via Stripe/crypto instead of a store; only the google build reaches the platform store + val loaded = if (useBadgeTestProducts) testBadgeProducts else platform.androidLoadBadgeProducts( + oneTimeIds = badgeStoreProductIds.filter { it.basePlanId == null }, + subscriptionIds = badgeStoreProductIds.filter { it.basePlanId != null } + ) + val byId = loaded.associateBy { it.id } + val missing = badgeStoreProductIds.filter { !byId.containsKey(it) } + if (missing.isNotEmpty()) { + Log.w(TAG, "BadgeStore.load: no product returned for ${missing.joinToString(", ")}") + } + products.value = byId + state.value = LoadState.Loaded + } catch (e: Exception) { + Log.e(TAG, "BadgeStore.load: ${e.stackTraceToString()}") + state.value = LoadState.Failed + } + } + + suspend fun purchase(level: BadgeLevel, period: BadgePeriod, invoiceId: String): BadgePurchaseOutcome { + val id = badgeStoreProductId(level, period) + if (!products.value.containsKey(id)) throw BadgeStoreError.ProductUnavailable(id.productId) + if (useBadgeTestProducts) { + return BadgePurchaseOutcome.Purchased( + BadgeStoreReceipt( + token = "test-${UUID.randomUUID()}", + productId = id.productId, + orderId = null, + invoiceId = invoiceId, + environment = "test products" + ) + ) + } + return platform.androidPurchaseBadge(id, invoiceId) + } + + private fun startLoading(): Boolean = when (state.value) { + LoadState.NotLoaded, LoadState.Failed -> { + state.value = LoadState.Loading + true + } + LoadState.Loading, LoadState.Loaded -> false + } +} + +// drops the fraction from whole amounts ("$7", not "$7.00") in the product's own currency; +// BadgeProduct.displayPrice remains the exact form for views that need the cents +private fun compactPrice(product: BadgeProduct): String { + if (product.priceMicros % 1_000_000L != 0L) return product.displayPrice + return try { + val format = NumberFormat.getCurrencyInstance() + format.currency = Currency.getInstance(product.currencyCode) + format.maximumFractionDigits = 0 + format.format(product.priceMicros / 1_000_000L) + } catch (e: Exception) { + product.displayPrice + } +} diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesPayView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesPayView.kt index 742b03e2bd..d7a10f38f7 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesPayView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesPayView.kt @@ -10,6 +10,9 @@ import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip +import androidx.compose.ui.platform.ClipboardManager +import androidx.compose.ui.platform.LocalClipboardManager +import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp @@ -25,24 +28,52 @@ import chat.simplex.res.MR // TODO [badges]: replace with types produced by the badge purchase API when it lands. enum class BadgePeriod { OneMonth, - Subscribe; + Monthly, + Annual; val icon: dev.icerock.moko.resources.ImageResource get() = when (this) { OneMonth -> MR.images.ic_calendar - Subscribe -> MR.images.ic_refresh + Monthly -> MR.images.ic_refresh + Annual -> MR.images.ic_refresh } val label: StringResource get() = when (this) { OneMonth -> MR.strings.badges_period_one_month - Subscribe -> MR.strings.badges_period_subscribe + Monthly -> MR.strings.badges_period_monthly + Annual -> MR.strings.badges_period_annual } + + @Composable + fun priceText(price: BadgePrice): String = when (price) { + is BadgePrice.Loading -> "…" + is BadgePrice.Unavailable -> "—" + is BadgePrice.Price -> when (this) { + OneMonth -> price.price + Monthly -> stringResource(MR.strings.badges_price_monthly).format(price.price) + Annual -> stringResource(MR.strings.badges_price_annual).format(price.price) + } + } + + fun payLabel(price: BadgePrice): Pair = when (price) { + is BadgePrice.Loading -> MR.strings.badges_price_loading to null + is BadgePrice.Unavailable -> MR.strings.badges_price_unavailable to null + is BadgePrice.Price -> when (this) { + OneMonth -> MR.strings.badges_pay_once to price.price + Monthly -> MR.strings.badges_pay_monthly to price.price + Annual -> MR.strings.badges_pay_annual to price.price + } + } } @Composable fun BadgesPayView(level: BadgeLevel) { - var selectedPeriod by remember { mutableStateOf(BadgePeriod.Subscribe) } + var selectedPeriod by remember { mutableStateOf(BadgePeriod.Monthly) } + val purchasing = remember { mutableStateOf(false) } + val clipboard = LocalClipboardManager.current + + LaunchedEffect(Unit) { BadgeStore.load() } ColumnWithScrollBar( Modifier.background(MaterialTheme.colors.background).padding(horizontal = 25.dp).padding(top = 8.dp, bottom = 20.dp), @@ -69,24 +100,25 @@ fun BadgesPayView(level: BadgeLevel) { modifier = Modifier.fillMaxWidth().padding(top = 4.dp) ) - Spacer(Modifier.weight(1f).heightIn(min = 20.dp)) + Spacer(Modifier.weight(1f).heightIn(min = 8.dp)) - // IntrinsicSize.Max + fillMaxHeight on children so both cards match the taller card's height - // when 2-line labels at large fonts would otherwise size them differently. + // IntrinsicSize.Max + fillMaxHeight on children so all three cards match the tallest one - + // only Annual carries a savings line, and prices wrap at large fonts. Row( Modifier.fillMaxWidth().height(IntrinsicSize.Max), horizontalArrangement = Arrangement.spacedBy(12.dp) ) { - PeriodCard(BadgePeriod.OneMonth, selectedPeriod, Modifier.weight(1f).fillMaxHeight()) { selectedPeriod = it } - PeriodCard(BadgePeriod.Subscribe, selectedPeriod, Modifier.weight(1f).fillMaxHeight()) { selectedPeriod = it } + PeriodCard(level, BadgePeriod.OneMonth, selectedPeriod, Modifier.weight(1f).fillMaxHeight()) { selectedPeriod = it } + PeriodCard(level, BadgePeriod.Monthly, selectedPeriod, Modifier.weight(1f).fillMaxHeight()) { selectedPeriod = it } + PeriodCard(level, BadgePeriod.Annual, selectedPeriod, Modifier.weight(1f).fillMaxHeight()) { selectedPeriod = it } } - Spacer(Modifier.weight(1f).heightIn(min = 20.dp)) + Spacer(Modifier.weight(1f).heightIn(min = 8.dp)) // Replicates TextButtonBelowOnboardingButton spacing (7.5dp outer + 5dp inner) without a // TextButton so the footer has no hover/click affordance. Column(horizontalAlignment = Alignment.CenterHorizontally) { - PayButton(level, selectedPeriod) + PayButton(level, selectedPeriod, purchasing, clipboard) Box(Modifier.padding(top = 7.5.dp, bottom = 7.5.dp).padding(horizontal = 16.dp, vertical = 8.dp)) { Text( stringResource(billingFooter(selectedPeriod)).format(stubBillingDate()), @@ -101,7 +133,7 @@ fun BadgesPayView(level: BadgeLevel) { } @Composable -private fun PeriodCard(period: BadgePeriod, selectedPeriod: BadgePeriod, modifier: Modifier, onSelect: (BadgePeriod) -> Unit) { +private fun PeriodCard(level: BadgeLevel, period: BadgePeriod, selectedPeriod: BadgePeriod, modifier: Modifier, onSelect: (BadgePeriod) -> Unit) { val isSelected = period == selectedPeriod val borderColor = if (isSelected) MaterialTheme.colors.primary else MaterialTheme.colors.background.mixWith(MaterialTheme.colors.onBackground, 0.92f) // Light: transparent so card matches page background. Dark: subtle gray tint for visible contrast. @@ -114,7 +146,7 @@ private fun PeriodCard(period: BadgePeriod, selectedPeriod: BadgePeriod, modifie .background(cardBackground, shape) .border(2.dp, borderColor, shape) .clickable { onSelect(period) } - .padding(vertical = 30.dp, horizontal = 12.dp), + .padding(vertical = 20.dp, horizontal = 12.dp), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.spacedBy(12.dp) ) { @@ -125,24 +157,97 @@ private fun PeriodCard(period: BadgePeriod, selectedPeriod: BadgePeriod, modifie modifier = Modifier.size(32.dp) ) Text(stringResource(period.label), style = MaterialTheme.typography.h3, fontWeight = FontWeight.Bold, textAlign = TextAlign.Center) + Text(period.priceText(BadgeStore.price(level, period)), style = MaterialTheme.typography.body1, textAlign = TextAlign.Center) + val percent = savingsPercent(level, period) + if (percent != null) { + Text( + stringResource(MR.strings.badges_savings).format("${percent}%"), + style = MaterialTheme.typography.body2, + color = if (isSelected) MaterialTheme.colors.primary else MaterialTheme.colors.secondary, + textAlign = TextAlign.Center + ) + } } } +private fun savingsPercent(level: BadgeLevel, period: BadgePeriod): Int? = + if (period == BadgePeriod.Annual) BadgeStore.annualSavings(level) else null + +// TODO [badges] on desktop and the foss build there is no store, so every price is Unavailable and +// this button stays disabled - it will offer Stripe/crypto payment instead @Composable -private fun PayButton(level: BadgeLevel, selectedPeriod: BadgePeriod) { +private fun PayButton(level: BadgeLevel, selectedPeriod: BadgePeriod, purchasing: MutableState, clipboard: ClipboardManager) { + val price = BadgeStore.price(level, selectedPeriod) + val (labelId, labelArg) = selectedPeriod.payLabel(price) OnboardingActionButton( modifier = if (appPlatform.isAndroid) Modifier.padding(horizontal = DEFAULT_ONBOARDING_HORIZONTAL_PADDING).fillMaxWidth() else Modifier.widthIn(min = 300.dp), - labelId = if (selectedPeriod == BadgePeriod.Subscribe) MR.strings.badges_pay_monthly else MR.strings.badges_pay_once, - labelArg = level.priceAmount, + labelId = labelId, + labelArg = labelArg, onboarding = null, - onclick = { - // TODO [badges] wire to purchase API when it lands. + enabled = price.canPurchase && !purchasing.value, + onclick = { purchase(level, selectedPeriod, purchasing, clipboard) } + ) +} + +private fun purchase(level: BadgeLevel, period: BadgePeriod, purchasing: MutableState, clipboard: ClipboardManager) { + val invoiceId = newBadgeInvoiceId() + purchasing.value = true + // not withBGApi: the purchase waits for the user in the Play sheet and would block chat API calls + withLongRunningApi { + try { + val outcome = BadgeStore.purchase(level, period, invoiceId) + purchasing.value = false + when (outcome) { + is BadgePurchaseOutcome.Purchased -> showPurchasedAlert(outcome.receipt, invoiceId, clipboard) + is BadgePurchaseOutcome.Pending -> AlertManager.shared.showAlertMsg( + title = generalGetString(MR.strings.badges_purchase_pending), + text = generalGetString(MR.strings.badges_purchase_pending_desc) + ) + is BadgePurchaseOutcome.Cancelled -> {} + } + } catch (e: Exception) { + Log.e(TAG, "BadgesPayView.purchase: ${e.stackTraceToString()}") + purchasing.value = false + AlertManager.shared.showAlertMsg( + title = generalGetString(MR.strings.badges_purchase_error), + text = e.toString() + ) } + } +} + +// TODO [badges] store integration diagnostics - replaced by the issued badge once the service lands. +private fun showPurchasedAlert(receipt: BadgeStoreReceipt, invoiceId: String, clipboard: ClipboardManager) { + val returnedInvoice = when (receipt.invoiceId) { + null -> "none" + invoiceId -> "yes" + else -> "mismatch: ${receipt.invoiceId}" + } + val lines = mutableListOf( + "Product: ${receipt.productId}", + "Invoice: $invoiceId", + "Invoice returned by Google: $returnedInvoice", + "Order: ${receipt.orderId ?: "none"}" + ) + if (receipt.environment != null) lines.add("Environment: ${receipt.environment}") + lines.add("Token: ${receipt.token.length} bytes") + val summary = lines.joinToString("\n") + Log.d(TAG, "badge purchase succeeded\n$summary") + AlertManager.shared.showAlertDialog( + title = generalGetString(MR.strings.badges_purchase_successful), + text = summary, + confirmText = "Copy token", + onConfirm = { + clipboard.setText(AnnotatedString(receipt.token)) + showToast(generalGetString(MR.strings.copied)) + }, + dismissText = generalGetString(MR.strings.ok), + parseHtml = false ) } private fun billingFooter(period: BadgePeriod): StringResource = when (period) { - BadgePeriod.Subscribe -> MR.strings.badges_billing_footer_subscribe + BadgePeriod.Monthly, BadgePeriod.Annual -> MR.strings.badges_billing_footer_subscribe BadgePeriod.OneMonth -> MR.strings.badges_billing_footer_one_month } diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesSupportSimplexView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesSupportSimplexView.kt index aa8100519b..099954a4f1 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesSupportSimplexView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesSupportSimplexView.kt @@ -33,6 +33,9 @@ import chat.simplex.res.MR @Composable fun BadgesSupportSimplexView() { // TODO [badges] gate on user badge status (no badge → this view, active → "Manage your badge") + // preloaded here so the level screen shows store prices without a placeholder pass + LaunchedEffect(Unit) { BadgeStore.load() } + ColumnWithScrollBar( Modifier.background(MaterialTheme.colors.background).padding(horizontal = 25.dp).padding(top = 8.dp, bottom = 20.dp), verticalArrangement = Arrangement.spacedBy(16.dp), diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesYourLevelView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesYourLevelView.kt index 03082526a0..c77e4dd61e 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesYourLevelView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesYourLevelView.kt @@ -40,12 +40,6 @@ enum class BadgeLevel { Legend -> MR.strings.badges_level_legend_files } - val priceAmount: String - get() = when (this) { - Supporter -> "$7" - Legend -> "$70" - } - val tagline: StringResource get() = when (this) { Supporter -> MR.strings.badges_level_supporter_tagline @@ -63,6 +57,8 @@ enum class BadgeLevel { fun BadgesYourLevelView() { var selectedLevel by remember { mutableStateOf(BadgeLevel.Supporter) } + LaunchedEffect(Unit) { BadgeStore.load() } + ColumnWithScrollBar( Modifier.background(MaterialTheme.colors.background).padding(horizontal = 25.dp).padding(top = 8.dp, bottom = 20.dp), verticalArrangement = Arrangement.spacedBy(16.dp), @@ -139,7 +135,7 @@ private fun LevelCard(level: BadgeLevel, selectedLevel: BadgeLevel, modifier: Mo ) Text(stringResource(level.title), style = MaterialTheme.typography.h3, fontWeight = FontWeight.Bold, textAlign = TextAlign.Center) Text(stringResource(level.filesDescription), style = MaterialTheme.typography.body2, color = MaterialTheme.colors.secondary, textAlign = TextAlign.Center) - Text(stringResource(MR.strings.badges_price_monthly).format(level.priceAmount), style = MaterialTheme.typography.body1, textAlign = TextAlign.Center) + Text(BadgePeriod.Monthly.priceText(BadgeStore.price(level, BadgePeriod.Monthly)), style = MaterialTheme.typography.body1, textAlign = TextAlign.Center) } } diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml index 8683af1705..046d490863 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml @@ -3206,12 +3206,18 @@ Send 2GB files Send 5GB files %1$s/month + %1$s/year Pay %1$s/month + Pay %1$s/year Pay %1$s + Loading… + Not available + Save %1$s Optional profile badge\nand 2GB files Optional profile badge\nand 5GB files 1 month - Subscribe + Monthly + Annual Renews on %1$s. Cancel anytime. Ends on %1$s. Your level @@ -3230,6 +3236,10 @@ Support SimpleX Get badge + files up to 5GB You can support SimpleX later in Settings. + Purchase successful + Purchase pending + The purchase is awaiting approval. This build does not deliver purchases approved later. + Purchase error Supporter perks Supporter badge ❤️ Help keep the network running — send files up to 2 GB. From 352550089ff533655c93638e65851c0eb8f213c3 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 17 Aug 2026 19:25:18 +0100 Subject: [PATCH 05/69] core: client and service schema for badge purchases (#7358) * core: client and service schema for badge purchases * simplify api, receipt is payment type * split invoice * update --------- Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> --- .../BadgeService/Store/Postgres/Migrations.hs | 26 +- .../BadgeService/Store/SQLite/Migrations.hs | 24 +- docs/protocol/badges-rpc.md | 10 +- docs/protocol/badges-rpc.schema.json | 59 ++-- .../2026-07-31-badges-core-implementation.md | 14 +- simplex-chat.cabal | 6 +- src/Simplex/Chat/Badges/Service.hs | 58 +--- .../Chat/Badges/{Store.hs => Types.hs} | 15 +- src/Simplex/Chat/PaymentService.hs | 31 ++ src/Simplex/Chat/PaymentService/Types.hs | 74 +++++ .../Migrations/M20260731_user_badges.hs | 227 ++++++++++++++ .../Migrations/M20260731_user_badges.hs | 281 +++++++++++------- 12 files changed, 586 insertions(+), 239 deletions(-) rename src/Simplex/Chat/Badges/{Store.hs => Types.hs} (94%) create mode 100644 src/Simplex/Chat/PaymentService.hs create mode 100644 src/Simplex/Chat/PaymentService/Types.hs create mode 100644 src/Simplex/Chat/Store/Postgres/Migrations/M20260731_user_badges.hs diff --git a/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs b/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs index a4bc3396bf..1ff157f70c 100644 --- a/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs +++ b/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs @@ -1,11 +1,12 @@ {-# LANGUAGE NamedFieldPuns #-} +{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-} module BadgeService.Store.Postgres.Migrations (badgeServiceSchemaMigrations) where import Data.List (sortOn) import Data.Text (Text) -import qualified Data.Text as T +import Simplex.Chat.Store.Postgres.Migrations.M20260731_user_badges (badgeSchema, badgeSchemaDown, withPrefix) import Simplex.Messaging.Agent.Store.Shared (Migration (..)) import Text.RawString.QQ (r) @@ -19,19 +20,18 @@ schemaMigrations = [ ("20260806_badge_service_schema", m20260806_badge_service_schema, Just down_m20260806_badge_service_schema) ] +-- the client tables are in the same database, so the service tables are the same names with this prefix +servicePrefix :: Text +servicePrefix = "sx_badge_service_" + m20260806_badge_service_schema :: Text m20260806_badge_service_schema = - T.pack - [r| -CREATE TABLE sx_badge_service_test( - test_id BIGINT PRIMARY KEY GENERATED ALWAYS AS IDENTITY, - created_at TIMESTAMPTZ NOT NULL DEFAULT (now()) -); - |] + badgeSchema servicePrefix + <> withPrefix + servicePrefix + [r| +ALTER TABLE @payments ADD COLUMN receipt_hash BYTEA; +|] down_m20260806_badge_service_schema :: Text -down_m20260806_badge_service_schema = - T.pack - [r| -DROP TABLE sx_badge_service_test; - |] +down_m20260806_badge_service_schema = badgeSchemaDown servicePrefix diff --git a/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs b/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs index 8404f135db..eb3d5a0e64 100644 --- a/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs +++ b/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs @@ -1,11 +1,14 @@ {-# LANGUAGE NamedFieldPuns #-} +{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-} module BadgeService.Store.SQLite.Migrations (badgeServiceSchemaMigrations) where import Data.List (sortOn) +import Data.Text (Text) import Database.SQLite.Simple (Query (..)) import Database.SQLite.Simple.QQ (sql) +import Simplex.Chat.Store.SQLite.Migrations.M20260731_user_badges (badgeSchema, badgeSchemaDown, withPrefix) import Simplex.Messaging.Agent.Store.Shared (Migration (..)) badgeServiceSchemaMigrations :: [Migration] @@ -18,17 +21,18 @@ schemaMigrations = [ ("20260806_badge_service_schema", m20260806_badge_service_schema, Just down_m20260806_badge_service_schema) ] +-- the client tables are in the same database, so the service tables are the same names with this prefix +servicePrefix :: Text +servicePrefix = "sx_badge_service_" + m20260806_badge_service_schema :: Query m20260806_badge_service_schema = - [sql| -CREATE TABLE sx_badge_service_test( - test_id INTEGER PRIMARY KEY AUTOINCREMENT, - created_at TEXT NOT NULL DEFAULT(datetime('now')) -); - |] + badgeSchema servicePrefix + <> withPrefix + servicePrefix + [sql| +ALTER TABLE @payments ADD COLUMN receipt_hash BLOB; +|] down_m20260806_badge_service_schema :: Query -down_m20260806_badge_service_schema = - [sql| -DROP TABLE sx_badge_service_test; - |] +down_m20260806_badge_service_schema = badgeSchemaDown servicePrefix diff --git a/docs/protocol/badges-rpc.md b/docs/protocol/badges-rpc.md index 635b2d8e7c..7ce3b78b34 100644 --- a/docs/protocol/badges-rpc.md +++ b/docs/protocol/badges-rpc.md @@ -12,7 +12,7 @@ A request is an envelope: `version` — the client's protocol version; `purchase Each purchase runs under a fresh Ed25519 key pair; `purchaseKey` is its public part and identifies the badge. The service cannot link purchases of one user; the exceptions are the declared upgrades below. `getBadgeCatalog` may omit `purchaseKey`: unsigned, it returns the catalog alone; signed, its response adds the purchase's `badgeStatement` — a client holding a lapsed badge checks for credits in the same request that prices a new purchase, and buys under a fresh key only when the statement shows none. Every other command requires the key and is signed with it. The agent delivers the verified signer key alongside the request; the service rejects a `purchaseKey` that differs from it with `bad_request`, and a key it holds no record of with `unknown_purchase_key`. -A purchase record is created by `getBadgeInvoice`, or by `purchaseBadge` funded with `apple`, `google`, or `code`; `transferBadge` creates the receiving one (post-MVP). +A purchase record is created by `getBadgeInvoice`, or by `purchaseBadge` funded with `apple`, `google`, `code`, or `receipt`. ## Idempotency @@ -22,19 +22,19 @@ A timeout hides the outcome, so the client repeats the identical signed request - `purchaseBadge` — a payment already credited returns the same `badgeCredential` and writes nothing. - `upgradeBadgeSubscription` — evidence already applied returns the same result and writes nothing. - `issueBadge` — repeated within an issued period, returns the cached credential and writes nothing. -- `transferBadge` — a receipt used by the same key returns the same result; used by another key, `receipt_used`. +- `purchaseBadge` with a `receipt` — presented again by the same key it returns the same result; presented by another key, `receipt_used`. ## Commands `purchaseBadge`, `upgradeBadgeSubscription`, and `issueBadge` carry `badgeRequest`, the signer's input (`BadgeRequest`, `Simplex.Chat.Badges`): the service signs exactly this content or rejects the command. The proposed `badgeExpiry` is capped by the funded coverage (`sundayAfter`, model §3); its absence requests a lifetime credential; `badgeExtra` is reserved and must be empty. - `getBadgeCatalog` → `badgeCatalog` — the prices and offers; signed, also the purchase's `badgeStatement`. Store builds never send it: prices come from the store and SKUs from app config. -- `getBadgeInvoice` → `badgeInvoice` — prices the purchase for `badgeInfo` and `paymentVia` (`card` — Stripe; `crypto` — btc, xmr): `badgeType`, `months`, `price`, `discount`, the upgrade `credit`, `amount` = price − discount − credit, `expiresAt`, and `paymentTo` — `url` for card; `address` and `cryptoAmount` for crypto. `priceId` pins the price the client displayed; `offerId` selects a discounted duration, and its absence buys one month at that price. Price and offer status is checked here only: `deprecated` is still accepted, `disabled` is rejected; a badge type with no active price yields `product_unavailable`. -- `purchaseBadge` → `badgeCredential` — verifies the funding (`apple` JWS offline; `google` token via the Publisher API; `invoice` against webhook-confirmed settlement, `payment_pending` until it lands; `code`), records the credit, and issues the first credential, in one round trip. `receipt` is the recovery bearer secret (model § recovery); the service stores its hash; lifetime badges receive none. +- `getBadgeInvoice` → `badgeInvoice` — prices the purchase for `badgeInfo` and `paymentVia` (`card` — Stripe; `crypto` — btc, xmr). The response holds the generic `invoice` — `invoiceId`, `price`, `discount`, the upgrade `credit`, `amount` = price − discount − credit, `currency`, `expiresAt`, and `paymentTo` (`url` for card; `address` and `cryptoAmount` for crypto) — beside the badge part, `badgeType` and `months`. `priceId` pins the price the client displayed; `offerId` selects a discounted duration, and its absence buys one month at that price. Price and offer status is checked here only: `deprecated` is still accepted, `disabled` is rejected; a badge type with no active price yields `product_unavailable`. +- `purchaseBadge` → `badgeCredential` — verifies the funding (`apple` JWS offline; `google` token via the Publisher API; `invoice` against webhook-confirmed settlement, `payment_pending` until it lands; `code`; `receipt`), records the credit, and issues the first credential, in one round trip. The response `receipt` is the recovery bearer secret (model § recovery); the service stores its hash; lifetime badges receive none. + - Funding by `receipt` is a transfer (post-MVP): the unissued months of the purchase that receipt belongs to move to the signing key, recorded as `debit(transferOut)` on the source and `credit(transferIn)` on the new purchase, and the presented receipt is retired for a fresh one. The transferred period's issuance debits a month like any other. Lifetime badges hold no receipt, so support handles them. - `upgradeBadgeSubscription` → `badgeCredential` — the app-led store subscription change, on the same key: verifies the store evidence of the replaced subscription and records the new plan; an immediate upgrade returns the new credential, a deferred change returns none. - `issueBadge` → `badgeCredential` — issues the next period from the balance, the only source of issuance. The ledger is advanced first; the credential is signed before the `debit(badge)` and issuance rows are written, in one transaction. An exhausted balance yields no `credential`; the `statement` shows why. Issuing on a paused badge resumes it (model 2.13). - `pauseBadge` (post-MVP) → `badgeCredential` — suspends issuance and lapse (model 2.13). -- `transferBadge` (post-MVP) → `badgeCredential` — the receipt moves the remaining balance and the provider binding to the signing key; the transferred period's re-issue debits a month, and the response holds a fresh receipt, retiring the presented one. Lifetime badges are not transferable by the command — support handles them. ## Upgrades diff --git a/docs/protocol/badges-rpc.schema.json b/docs/protocol/badges-rpc.schema.json index 2caa3408e2..00ecc69874 100644 --- a/docs/protocol/badges-rpc.schema.json +++ b/docs/protocol/badges-rpc.schema.json @@ -67,6 +67,29 @@ } } }, + "invoice": { + "properties": { + "invoiceId": {"type": "string"}, + "price": {"ref": "currencyAmount"}, + "amount": { + "ref": "currencyAmount", + "metadata": {"comment": "price - discount - credit"} + }, + "currency": {"type": "string"}, + "expiresAt": {"type": "timestamp"}, + "paymentTo": {"ref": "paymentTo"} + }, + "optionalProperties": { + "discount": { + "ref": "currencyAmount", + "metadata": {"comment": "discount amount from the price"} + }, + "credit": { + "ref": "currencyAmount", + "metadata": {"comment": "credit for upgrade"} + } + } + }, "payment": { "discriminator": "type", "mapping": { @@ -81,6 +104,14 @@ }, "code": { "properties": {"code": {"type": "string"}} + }, + "receipt": { + "properties": { + "receipt": { + "type": "string", + "metadata": {"comment": "transfer of unissued months"} + } + } } } }, @@ -297,12 +328,6 @@ }, "pauseBadge": { "optionalProperties": {} - }, - "transferBadge": { - "properties": { - "badgeRequest": {"ref": "badgeRequest"}, - "receipt": {"type": "string"} - } } } }, @@ -322,27 +347,9 @@ }, "badgeInvoice": { "properties": { - "invoiceId": {"type": "string"}, + "invoice": {"ref": "invoice"}, "badgeType": {"type": "string"}, - "months": {"type": "uint8"}, - "price": {"ref": "currencyAmount"}, - "amount": { - "ref": "currencyAmount", - "metadata": {"comment": "price - discount - credit"} - }, - "currency": {"type": "string"}, - "expiresAt": {"type": "timestamp"}, - "paymentTo": {"ref": "paymentTo"} - }, - "optionalProperties": { - "discount": { - "ref": "currencyAmount", - "metadata": {"comment": "discount amount from monthly price"} - }, - "credit": { - "ref": "currencyAmount", - "metadata": {"comment": "credit for upgrade"} - } + "months": {"type": "uint8"} } }, "badgeCredential": { diff --git a/plans/2026-07-31-badges-core-implementation.md b/plans/2026-07-31-badges-core-implementation.md index 4928522b97..6a143cd022 100644 --- a/plans/2026-07-31-badges-core-implementation.md +++ b/plans/2026-07-31-badges-core-implementation.md @@ -3,7 +3,7 @@ **Date:** 2026-07-31 **Product plan:** `plans/2026-07-30-supporter-badges-v3-ux.md` (referenced below as UX §n) **Transport:** service RPC (`plans/2026-07-22-service-rpc-chat.md`, implemented, branch `rpc`) -**Scope:** MVP launch set (UX §7): commands `getBadgeCatalog | getBadgeInvoice | purchaseBadge | issueBadge` implemented; `upgradeBadgeSubscription | pauseBadge | transferBadge` are defined in the protocol, post-MVP; no `use_from`, `paused_at`. +**Scope:** MVP launch set (UX §7): commands `getBadgeCatalog | getBadgeInvoice | purchaseBadge | issueBadge` implemented; `upgradeBadgeSubscription | pauseBadge` and the `receipt` payment are defined in the protocol, post-MVP; no `use_from`, `paused_at`. ## 1. Client schema @@ -79,7 +79,7 @@ The protocol entry (`StatementEntry`, §4): `entryId`, `changeMonths`, `balanceM ## 3. Client types -Domain types — `src/Simplex/Chat/Badges/Store.hs`. Records: +Domain types — `src/Simplex/Chat/Badges/Types.hs`. Records: - `BadgePurchase` - `BadgePayment` @@ -126,6 +126,7 @@ Protocol types — `src/Simplex/Chat/Badges/Service.hs`, one constructor/field p - `BadgeServiceRequest` - `BadgeServiceCommand` - `ServicePaymentMethod` +- `ServiceInvoice` - `CardProvider` - `CryptoCurrency` - `CurrencyAmount` @@ -159,12 +160,11 @@ A request is an envelope: `version`; `purchaseKey`? (optional for `getBadgeCatal | request `type` | request fields (beyond `purchaseKey`, `version`) | response `type` | response fields | |---|---|---|---| | `getBadgeCatalog` (signature optional) | — | `badgeCatalog` | `catalog`
`badgeStatement`? (for signed requests) | -| `getBadgeInvoice` | `priceId`
`offerId`? (absent for 1 month at the badge price)
`badgeInfo {badgeType, badgeExpiry?, badgeExtra}`
`paymentVia` — `card`: `provider`; `crypto`: `currency`
`upgrade`? — `fromPurchaseKey`, `receipt`, `receiptSignature`, `balance` | `badgeInvoice` | `invoiceId`
`badgeType`
`months`
`price`
`discount`?
`credit`?
`amount` (= price − discount − credit)
`currency`
`expiresAt`
`paymentTo` — `card`: `provider`, `url`; `crypto`: `currency`, `address`, `cryptoAmount` | -| `purchaseBadge` | `badgeRequest` — `masterKey`, `badgeInfo`
`payment` — `apple`: `jws`; `google`: `token`; `invoice`: `invoiceId`; `code`: `code`
`upgrade`? — `fromPurchaseKey`, `receipt`, `receiptSignature`, `balance` | `badgeCredential` | `credential`
`receipt`? (not provided for lifetime badges)
`statement` | +| `getBadgeInvoice` | `priceId`
`offerId`? (absent for 1 month at the badge price)
`badgeInfo {badgeType, badgeExpiry?, badgeExtra}`
`paymentVia` — `card`: `provider`; `crypto`: `currency`
`upgrade`? — `fromPurchaseKey`, `receipt`, `receiptSignature`, `balance` | `badgeInvoice` | `invoice` — `invoiceId`, `price`, `discount`?, `credit`?, `amount` (= price − discount − credit), `currency`, `expiresAt`, `paymentTo` — `card`: `provider`, `url`; `crypto`: `currency`, `address`, `cryptoAmount`
`badgeType`
`months` | +| `purchaseBadge` | `badgeRequest` — `masterKey`, `badgeInfo`
`payment` — `apple`: `jws`; `google`: `token`; `invoice`: `invoiceId`; `code`: `code`; `receipt`: `receipt` (transfer, post-MVP)
`upgrade`? — `fromPurchaseKey`, `receipt`, `receiptSignature`, `balance` | `badgeCredential` | `credential`
`receipt`? (not provided for lifetime badges)
`statement` | | `upgradeBadgeSubscription` | `badgeRequest`
`payment` — `apple`: `jws`; `google`: `token`
`balance` | `badgeCredential` | `credential`?
`statement` | | `issueBadge` | `badgeRequest`
`balance` | `badgeCredential` | `credential`? (absent when the balance is exhausted)
`statement` | | `pauseBadge` (post-MVP) | — | `badgeCredential` | `credential`?
`statement` | -| `transferBadge` (post-MVP) | `badgeRequest`
`receipt` | `badgeCredential` | `credential`
`receipt`?
`statement` | | any, on failure | — | `error` | `code` (incl. `payment_pending`, `code_invalid` / `code_used` / `code_expired`)
`message`?
`retryAfter`? | `statement` — record: `entries` — ledger entries; `previousEntryId`? — matches the client's asserted entryId, absent for the full ledger. @@ -219,7 +219,7 @@ Purchase is two commands because the store purchase runs in the app between them - `APIGetBadgeInvoice` starts every purchase: core loads or creates the live purchase row for the badge type's slot (per-user lock + `idx_badge_purchases_live`) — a `failed` row of the same slot is reused — creates the payment row, and points the badge row's `payment_id` at it (UX §3: the current payment). For `card` and `crypto` core sends `getBadgeInvoice` with the pinned `priceId` and the `offerId` of the chosen duration, and responds with the invoice — the Stripe link or the crypto screen data (UX 2.1). For `apple` and `google` core writes the rows, generates the invoice id itself, and sends nothing, since prices come from the store and SKUs from app config (§4); the app states the store because core is the same on both platforms. The invoice fields are stored on the payment row (§1), so pending-payment screens re-render after a restart; after invoice expiry a new `APIGetBadgeInvoice` creates a new invoice and payment row (UX 2.1). - The app passes the invoice id to the store as the account token — Apple `Product.PurchaseOption.appAccountToken` (a UUID, echoed in the signed transaction), Google `BillingFlowParams.setObfuscatedAccountId` — so the store transaction states which payment it settles, and the service reads it from the verified store payload at `purchaseBadge`. - `APIPurchaseBadge` completes a store purchase — the only payment whose result is delivered to the app: the store hands the app the evidence, and only that evidence ties the store transaction to the purchase, because the store flow knows neither purchase keys nor the service. Core records it on the payment row; the worker sends `purchaseBadge` — the service verifies, records the credit, and issues in one round trip (§6). Card and crypto payments need no completion command and carry no evidence: the service records their settlement from the provider webhook (UX §7 notifications); the worker's next `issueBadge` returns the credential, or `payment_pending` until the webhook arrives (§4). -- `APIPurchaseBadge` with a `code` sends the same `purchaseBadge` under the user lock, and differs only in the order of the writes: keys are generated first, and the badge and payment rows (`provider = code`, `price_id` and `offer_id` NULL) are written on success in one transaction, directly `issued`, because the badge type — and with it the slot — is stated in the response (UX 2.8). A live row of the granted slot is superseded (at most two badges per profile, UX 2.7); its unconsumed months stay on its purchase — purchases are unlinkable, so the service cannot move them; recovery per UX §3 (`transferBadge`, post-MVP). On a timeout the error is surfaced to the user; a code consumed by a lost response is restored by support (codes tooling, delivery 7). +- `APIPurchaseBadge` with a `code` sends the same `purchaseBadge` under the user lock, and differs only in the order of the writes: keys are generated first, and the badge and payment rows (`provider = code`, `price_id` and `offer_id` NULL) are written on success in one transaction, directly `issued`, because the badge type — and with it the slot — is stated in the response (UX 2.8). A live row of the granted slot is superseded (at most two badges per profile, UX 2.7); its unconsumed months stay on its purchase — purchases are unlinkable, so the service cannot move them; recovery per UX §3 (the `receipt` payment, post-MVP). On a timeout the error is surfaced to the user; a code consumed by a lost response is restored by support (codes tooling, delivery 7). - `APIGetBadgeState` loads the badge state into the app model at start (and on profile switch); events only update the model afterward, so without the initial read it would hold nothing at first render — the 2.2 banner is rendered from it. It reads stored state and sends nothing itself. The same call re-reads state when a badge screen is opened or regains focus, and signals the worker (§6); reconciliation results follow as `CEvtBadgeChanged`. Screen re-focus covers the returns that fire no core trigger: the store cancellation sheet close — UX §7 "the engine sends `status` on return"; the in-app sheet fires no foreground trigger — and return to a pending-payment screen after payment (UX 2.1), which on desktop produces no foreground event either. `ChatResponse`: @@ -392,7 +392,7 @@ Each UX plan point and its implementation home: | §3 catalog rules | `badge_prices` / `badge_offers`; reconciliation (delivery 4) | | §3 payments, charges | §1; the statement's payments and charges (§4) | | §3 ledger, issuances | replicas (§1); the `balance` assertion and the `opening` restatement (§4); service transitions (delivery 7); tests (delivery 8) | -| §3 recovery | `payments.receipt_code`; signed `getBadgeCatalog` after restore (worker); capped store re-bind at `purchaseBadge` (delivery 7); `transferBadge` post-MVP | +| §3 recovery | `payments.receipt_code`; signed `getBadgeCatalog` after restore (worker); capped store re-bind at `purchaseBadge` (delivery 7); the `receipt` payment post-MVP | | §4 wire protocol | `Badges/Service.hs`; `docs/protocol` | | §5 providers | delivery 7; the §5 command bullets | | §6 decisions 11–14 | 11 — `renews_at` / `cancelled` / charges kept; 12 — catalog seed (delivery 2); 13 — `sundayAfter`; 14 — `paidThrough` in `UserBadgeState` | diff --git a/simplex-chat.cabal b/simplex-chat.cabal index 183b77d332..6a5bfc2d26 100644 --- a/simplex-chat.cabal +++ b/simplex-chat.cabal @@ -41,7 +41,7 @@ library Simplex.Chat.Badges Simplex.Chat.Badges.CLI Simplex.Chat.Badges.Service - Simplex.Chat.Badges.Store + Simplex.Chat.Badges.Types Simplex.Chat.Names Simplex.Chat.Call Simplex.Chat.Controller @@ -65,6 +65,8 @@ library Simplex.Chat.Operators.Presets Simplex.Chat.Options Simplex.Chat.Options.DB + Simplex.Chat.PaymentService + Simplex.Chat.PaymentService.Types Simplex.Chat.ProfileGenerator Simplex.Chat.Protocol Simplex.Chat.Remote @@ -155,6 +157,7 @@ library Simplex.Chat.Store.Postgres.Migrations.M20260716_signed_history Simplex.Chat.Store.Postgres.Migrations.M20260720_server_roles Simplex.Chat.Store.Postgres.Migrations.M20260723_contact_request_rejection + Simplex.Chat.Store.Postgres.Migrations.M20260731_user_badges else exposed-modules: Simplex.Chat.Archive @@ -325,6 +328,7 @@ library Simplex.Chat.Store.SQLite.Migrations.M20260716_signed_history Simplex.Chat.Store.SQLite.Migrations.M20260720_server_roles Simplex.Chat.Store.SQLite.Migrations.M20260723_contact_request_rejection + Simplex.Chat.Store.SQLite.Migrations.M20260731_user_badges other-modules: Paths_simplex_chat hs-source-dirs: diff --git a/src/Simplex/Chat/Badges/Service.hs b/src/Simplex/Chat/Badges/Service.hs index eb5a556503..6f15d0fa16 100644 --- a/src/Simplex/Chat/Badges/Service.hs +++ b/src/Simplex/Chat/Badges/Service.hs @@ -10,14 +10,8 @@ module Simplex.Chat.Badges.Service BadgeServiceVersion, VersionBadgeService, pattern VersionBadgeService, - ServicePaymentMethod (..), - CardProvider (..), - CryptoCurrency (..), - CurrencyAmount (..), - ServicePayment (..), BadgeUpgrade (..), BadgeServiceResponse (..), - ServicePaymentDestination (..), BadgeServiceErrorCode (..), BadgeCatalog (..), BadgePrice (..), @@ -37,7 +31,8 @@ import Data.Text (Text) import Data.Time.Clock (UTCTime) import Data.Word (Word8, Word16, Word32) import Simplex.Chat.Badges -import Simplex.Chat.Badges.Store +import Simplex.Chat.Badges.Types +import Simplex.Chat.PaymentService import qualified Simplex.Messaging.Crypto as C import Simplex.Messaging.Encoding.String import Simplex.Messaging.Version (VersionScope) @@ -82,32 +77,6 @@ data BadgeServiceCommand balance :: BadgeBalance } | BSCPauseBadge - | BSCTransferBadge - { badgeRequest :: BadgeRequest, - receipt :: Text - } - -data ServicePaymentMethod - = SPMCard {provider :: CardProvider} - | SPMCrypto {currency :: CryptoCurrency} - deriving (Eq, Show) - -data CardProvider = CPStripe - deriving (Eq, Show) - -data CryptoCurrency = CCBtc | CCXmr - deriving (Eq, Show) - --- USD etc. are in minor units, following Stripe etc. convention -newtype CurrencyAmount = CurrencyAmount Word32 - deriving (Eq, Show) - -data ServicePayment - = SPApple {jws :: Text} - | SPGoogle {token :: Text} - | SPInvoice {invoiceId :: InvoiceId} - | SPCode {code :: Text} - deriving (Show) data BadgeUpgrade = BadgeUpgrade { fromPurchaseKey :: C.PublicKeyEd25519, @@ -122,16 +91,9 @@ data BadgeServiceResponse badgeStatement :: Maybe BadgeStatement -- for signed getBadgeCatalog } | BSPBadgeInvoice - { invoiceId :: InvoiceId, + { invoice :: ServiceInvoice, badgeType :: BadgeType, - months :: Word8, - price :: CurrencyAmount, - discount :: Maybe CurrencyAmount, -- discount amount from monthly price - credit :: Maybe CurrencyAmount, -- credit for upgrade - amount :: CurrencyAmount, - currency :: Text, - expiresAt :: UTCTime, - paymentTo :: ServicePaymentDestination + months :: Word8 } | BSPBadgeCredential { credential :: Maybe BadgeCredential, -- Nothing when no balance to issueBadge or no current credential for pause @@ -144,18 +106,6 @@ data BadgeServiceResponse retryAfter :: Maybe Word32 } -data ServicePaymentDestination - = SPDCard - { provider :: CardProvider, - url :: Text - } - | SPDCrypto - { currency :: CryptoCurrency, - address :: Text, - cryptoAmount :: Text - } - deriving (Show) - data BadgeCatalog = BadgeCatalog { prices :: [BadgePrice], offers :: [BadgeOffer] diff --git a/src/Simplex/Chat/Badges/Store.hs b/src/Simplex/Chat/Badges/Types.hs similarity index 94% rename from src/Simplex/Chat/Badges/Store.hs rename to src/Simplex/Chat/Badges/Types.hs index 88357d1a6f..bf9042c944 100644 --- a/src/Simplex/Chat/Badges/Store.hs +++ b/src/Simplex/Chat/Badges/Types.hs @@ -2,14 +2,12 @@ {-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} -module Simplex.Chat.Badges.Store +module Simplex.Chat.Badges.Types ( BadgePriceId (..), BadgeOfferId (..), - InvoiceId (..), BadgePlan (..), BadgeItemStatus (..), OfferDiscount (..), - BadgeProvider (..), BadgePaymentStatus (..), BadgePurchaseStatus (..), LedgerEntryType (..), @@ -32,6 +30,7 @@ import Data.Text (Text) import Data.Time.Clock (UTCTime) import Data.Word (Word8) import Simplex.Chat.Badges hiding (BadgePurchase (..)) +import Simplex.Chat.PaymentService.Types (InvoiceId, PaymentProvider) import Simplex.Messaging.Agent.Protocol (UserId) import qualified Simplex.Messaging.Crypto as C @@ -43,10 +42,6 @@ newtype BadgePriceId = BadgePriceId Text newtype BadgeOfferId = BadgeOfferId Text deriving newtype (Eq, Show) --- to review -newtype InvoiceId = InvoiceId Text - deriving newtype (Eq, Show) - -- unconfirmed draft data BadgePlan = BPOneTime | BPMonthly | BPAnnual deriving (Eq, Show) @@ -61,10 +56,6 @@ data OfferDiscount | ODDiscount {discount :: Word8} -- percent deriving (Eq, Show) --- unconfirmed draft -data BadgeProvider = BPRApple | BPRGoogle | BPRStripe | BPRBtc | BPRXmr | BPRCode - deriving (Eq, Show) - -- unconfirmed draft data BadgePaymentStatus = BPSNew | BPSInvoiced | BPSPending | BPSSettled | BPSFailed | BPSExpired deriving (Eq, Show) @@ -133,7 +124,7 @@ data BadgePayment = BadgePayment months :: Maybe Int, amount :: Maybe Int64, currency :: Maybe Text, - provider :: BadgeProvider, + provider :: PaymentProvider, providerRef :: Maybe Text, invoiceUrl :: Maybe Text, invoiceAddress :: Maybe Text, diff --git a/src/Simplex/Chat/PaymentService.hs b/src/Simplex/Chat/PaymentService.hs new file mode 100644 index 0000000000..a4484c469c --- /dev/null +++ b/src/Simplex/Chat/PaymentService.hs @@ -0,0 +1,31 @@ +{-# LANGUAGE DuplicateRecordFields #-} + +module Simplex.Chat.PaymentService + ( ServiceInvoice (..), + ServicePayment (..), + module Simplex.Chat.PaymentService.Types, + ) where + +import Data.Text (Text) +import Data.Time.Clock (UTCTime) +import Simplex.Chat.PaymentService.Types + +data ServiceInvoice = ServiceInvoice + { invoiceId :: InvoiceId, + price :: CurrencyAmount, + discount :: Maybe CurrencyAmount, -- discount amount from the price + credit :: Maybe CurrencyAmount, -- credit for upgrade + amount :: CurrencyAmount, -- price - discount - credit + currency :: Text, + expiresAt :: UTCTime, + paymentTo :: ServicePaymentDestination + } + deriving (Show) + +data ServicePayment + = SPApple {jws :: Text} + | SPGoogle {token :: Text} + | SPInvoice {invoiceId :: InvoiceId} + | SPCode {code :: Text} + | SPReceipt {receipt :: Text} -- transfer of unissued months + deriving (Show) diff --git a/src/Simplex/Chat/PaymentService/Types.hs b/src/Simplex/Chat/PaymentService/Types.hs new file mode 100644 index 0000000000..cb02ae72c2 --- /dev/null +++ b/src/Simplex/Chat/PaymentService/Types.hs @@ -0,0 +1,74 @@ +{-# LANGUAGE DerivingStrategies #-} +{-# LANGUAGE DuplicateRecordFields #-} +{-# LANGUAGE GeneralizedNewtypeDeriving #-} + +module Simplex.Chat.PaymentService.Types + ( CurrencyAmount (..), + InvoiceId (..), + PaymentProvider (..), + CardProvider (..), + CryptoCurrency (..), + ServicePaymentMethod (..), + ServicePaymentDestination (..), + InvoiceStatus (..), + StoredInvoice (..), + ) where + +import Data.Text (Text) +import Data.Time.Clock (UTCTime) +import Data.Word (Word32) + +-- USD etc. are in minor units, following Stripe etc. convention +newtype CurrencyAmount = CurrencyAmount Word32 + deriving (Eq, Show) + +-- confirmed +newtype InvoiceId = InvoiceId Text + deriving newtype (Eq, Show) + +-- confirmed +data PaymentProvider = PPApple | PPGoogle | PPStripe | PPCrypto | PPCode | PPReceipt + deriving (Eq, Show) + +data CardProvider = CPStripe + deriving (Eq, Show) + +data CryptoCurrency = CCBtc | CCXmr + deriving (Eq, Show) + +data ServicePaymentMethod + = SPMCard {provider :: CardProvider} + | SPMCrypto {currency :: CryptoCurrency} + deriving (Eq, Show) + +data ServicePaymentDestination + = SPDCard + { provider :: CardProvider, + url :: Text + } + | SPDCrypto + { currency :: CryptoCurrency, + address :: Text, + cryptoAmount :: Text + } + deriving (Show) + +-- confirmed +data InvoiceStatus = ISOpen | ISPaid | ISExpired + deriving (Eq, Show) + +-- confirmed +data StoredInvoice = StoredInvoice + { invoiceId :: InvoiceId, + price :: CurrencyAmount, + discountAmount :: CurrencyAmount, + creditAmount :: CurrencyAmount, + amount :: CurrencyAmount, -- price - discount - credit + currency :: Text, + paymentTo :: ServicePaymentDestination, + expiresAt :: UTCTime, + status :: InvoiceStatus, + createdAt :: UTCTime, + updatedAt :: UTCTime + } + deriving (Show) diff --git a/src/Simplex/Chat/Store/Postgres/Migrations/M20260731_user_badges.hs b/src/Simplex/Chat/Store/Postgres/Migrations/M20260731_user_badges.hs new file mode 100644 index 0000000000..cecfe4afd1 --- /dev/null +++ b/src/Simplex/Chat/Store/Postgres/Migrations/M20260731_user_badges.hs @@ -0,0 +1,227 @@ +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE QuasiQuotes #-} + +module Simplex.Chat.Store.Postgres.Migrations.M20260731_user_badges where + +import Data.Text (Text) +import qualified Data.Text as T +import Text.RawString.QQ (r) + +-- the same tables in the client and in the badge service; '@' is replaced with the table name prefix +badgeSchema :: Text -> Text +badgeSchema pfx = withPrefix pfx badgeSchemaTables + +badgeSchemaDown :: Text -> Text +badgeSchemaDown pfx = withPrefix pfx badgeSchemaTablesDown + +withPrefix :: Text -> Text -> Text +withPrefix = T.replace "@" + +badgeSchemaTables :: Text +badgeSchemaTables = + [r| +CREATE TABLE @invoices( + invoice_id TEXT NOT NULL PRIMARY KEY, + provider TEXT NOT NULL, + price BIGINT NOT NULL, + discount_amount BIGINT, + credit_amount BIGINT, + amount BIGINT NOT NULL, + currency TEXT NOT NULL, + payment_url TEXT, + payment_address TEXT, + payment_crypto_currency TEXT, + payment_crypto_amount TEXT, + expires_at TIMESTAMPTZ NOT NULL, + status TEXT NOT NULL, + created_at TIMESTAMPTZ NOT NULL, + updated_at TIMESTAMPTZ NOT NULL +); + +CREATE TABLE @payments( + payment_id TEXT NOT NULL PRIMARY KEY, + invoice_id TEXT REFERENCES @invoices, + provider TEXT NOT NULL, + provider_ref TEXT, + amount BIGINT, + currency TEXT, + status TEXT NOT NULL, + exception TEXT, + subscription_renews_at TIMESTAMPTZ, + grace_until TIMESTAMPTZ, + cancelled SMALLINT NOT NULL DEFAULT 0, + created_at TIMESTAMPTZ NOT NULL, + updated_at TIMESTAMPTZ NOT NULL +); + +CREATE INDEX @idx_payments_provider_ref ON @payments(provider, provider_ref); + +CREATE INDEX @idx_payments_invoice ON @payments(invoice_id); + +CREATE TABLE @subscription_charges( + charge_id TEXT NOT NULL PRIMARY KEY, + payment_id TEXT NOT NULL REFERENCES @payments ON DELETE CASCADE, + provider_charge_ref TEXT NOT NULL, + period_start TIMESTAMPTZ NOT NULL, + period_end TIMESTAMPTZ NOT NULL, + amount BIGINT NOT NULL, + currency TEXT NOT NULL, + charged_at TIMESTAMPTZ NOT NULL, + UNIQUE(payment_id, provider_charge_ref) +); + +CREATE TABLE @badge_prices( + price_id TEXT NOT NULL PRIMARY KEY, + badge_type TEXT NOT NULL, + month_price BIGINT NOT NULL, + currency TEXT NOT NULL, + status TEXT NOT NULL, + created_at TIMESTAMPTZ NOT NULL +); + +CREATE TABLE @badge_offers( + offer_id TEXT NOT NULL PRIMARY KEY, + price_id TEXT REFERENCES @badge_prices, + months SMALLINT NOT NULL, + free_months SMALLINT, + discount SMALLINT, + status TEXT NOT NULL, + created_at TIMESTAMPTZ NOT NULL +); + +CREATE TABLE @badge_purchases( + badge_purchase_id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, + purchase_key BYTEA NOT NULL, + master_key BYTEA NOT NULL, + initial_badge_type TEXT NOT NULL, + current_badge_type TEXT NOT NULL, + payment_id TEXT REFERENCES @payments, + status TEXT NOT NULL, + created_at TIMESTAMPTZ NOT NULL, + updated_at TIMESTAMPTZ NOT NULL, + UNIQUE(purchase_key), + UNIQUE(payment_id) +); + +CREATE TABLE @badge_invoices( + invoice_id TEXT NOT NULL PRIMARY KEY REFERENCES @invoices ON DELETE CASCADE, + badge_purchase_id BIGINT NOT NULL REFERENCES @badge_purchases ON DELETE CASCADE, + price_id TEXT NOT NULL REFERENCES @badge_prices, + offer_id TEXT REFERENCES @badge_offers, + months SMALLINT NOT NULL, + created_at TIMESTAMPTZ NOT NULL +); + +CREATE INDEX @idx_badge_invoices_purchase ON @badge_invoices(badge_purchase_id); + +CREATE TABLE @badge_subscription_changes( + change_id TEXT NOT NULL PRIMARY KEY, + badge_purchase_id BIGINT NOT NULL REFERENCES @badge_purchases ON DELETE CASCADE, + from_badge_type TEXT NOT NULL, + to_badge_type TEXT NOT NULL, + from_provider_ref TEXT, + to_provider_ref TEXT, + effective TEXT NOT NULL, + status TEXT NOT NULL, + effective_at TIMESTAMPTZ, + created_at TIMESTAMPTZ NOT NULL, + updated_at TIMESTAMPTZ NOT NULL +); + +CREATE INDEX @idx_badge_subscription_changes_purchase ON @badge_subscription_changes(badge_purchase_id); + +CREATE TABLE @badge_ledger( + entry_id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, + entry_uuid TEXT NOT NULL, + badge_purchase_id BIGINT NOT NULL REFERENCES @badge_purchases ON DELETE CASCADE, + change_months SMALLINT NOT NULL, + balance_months SMALLINT NOT NULL, + balance_start_ts TIMESTAMPTZ NOT NULL, + balance_badge_type TEXT NOT NULL, + was_paused_since TIMESTAMPTZ, + service_created_at TIMESTAMPTZ NOT NULL, + created_at TIMESTAMPTZ NOT NULL, + entry_type TEXT NOT NULL, + entry_credit_type TEXT, + entry_debit_type TEXT, + payment_id TEXT REFERENCES @payments, + charge_id TEXT REFERENCES @subscription_charges, + from_purchase_id BIGINT REFERENCES @badge_purchases, + to_purchase_id BIGINT REFERENCES @badge_purchases +); + +CREATE UNIQUE INDEX @idx_badge_ledger_uuid ON @badge_ledger(entry_uuid); + +CREATE INDEX @idx_badge_ledger_purchase ON @badge_ledger(badge_purchase_id, entry_id); + +CREATE INDEX @idx_badge_ledger_payment ON @badge_ledger(payment_id); + +CREATE INDEX @idx_badge_ledger_charge ON @badge_ledger(charge_id); + +CREATE INDEX @idx_badge_ledger_from_purchase ON @badge_ledger(from_purchase_id); + +CREATE INDEX @idx_badge_ledger_to_purchase ON @badge_ledger(to_purchase_id); + +CREATE TABLE @badge_issuances( + issuance_id TEXT NOT NULL PRIMARY KEY, + badge_purchase_id BIGINT NOT NULL REFERENCES @badge_purchases ON DELETE CASCADE, + entry_id BIGINT REFERENCES @badge_ledger, + badge_type TEXT NOT NULL, + period_start TIMESTAMPTZ NOT NULL, + period_end TIMESTAMPTZ NOT NULL, + expiry TIMESTAMPTZ NOT NULL, + credential BYTEA NOT NULL, + created_at TIMESTAMPTZ NOT NULL +); + +CREATE INDEX @idx_badge_issuances_purchase ON @badge_issuances(badge_purchase_id, issuance_id); +|] + +badgeSchemaTablesDown :: Text +badgeSchemaTablesDown = + [r| +DROP TABLE @badge_issuances; +DROP TABLE @badge_ledger; +DROP TABLE @badge_subscription_changes; +DROP TABLE @badge_invoices; +DROP TABLE @badge_purchases; +DROP TABLE @subscription_charges; +DROP TABLE @payments; +DROP TABLE @invoices; +DROP TABLE @badge_offers; +DROP TABLE @badge_prices; +|] + +m20260731_user_badges :: Text +m20260731_user_badges = + badgeSchema "" + <> [r| +ALTER TABLE badge_purchases ADD COLUMN user_id BIGINT REFERENCES users ON DELETE CASCADE; + +ALTER TABLE badge_purchases ADD COLUMN purchase_priv_key BYTEA; + +ALTER TABLE badge_purchases ADD COLUMN alert_acked_kind TEXT; + +ALTER TABLE badge_purchases ADD COLUMN alert_acked_episode TEXT; + +ALTER TABLE badge_purchases ADD COLUMN alert_snooze_until TIMESTAMPTZ; + +ALTER TABLE payments ADD COLUMN evidence BYTEA; + +ALTER TABLE payments ADD COLUMN receipt_code TEXT; + +ALTER TABLE badge_ledger ADD COLUMN entry_type_unknown SMALLINT NOT NULL DEFAULT 0; + +ALTER TABLE badge_ledger ADD COLUMN entry_type_value TEXT; + +CREATE INDEX idx_badge_purchases_user ON badge_purchases(user_id); + +ALTER TABLE users ADD COLUMN shown_badge_id BIGINT REFERENCES badge_purchases ON DELETE SET NULL; +|] + +down_m20260731_user_badges :: Text +down_m20260731_user_badges = + [r| +ALTER TABLE users DROP COLUMN shown_badge_id; +|] + <> badgeSchemaDown "" diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/M20260731_user_badges.hs b/src/Simplex/Chat/Store/SQLite/Migrations/M20260731_user_badges.hs index 08db8a49ca..e558cb4253 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/M20260731_user_badges.hs +++ b/src/Simplex/Chat/Store/SQLite/Migrations/M20260731_user_badges.hs @@ -1,69 +1,67 @@ +{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-} module Simplex.Chat.Store.SQLite.Migrations.M20260731_user_badges where -import Database.SQLite.Simple (Query) +import Data.Text (Text) +import qualified Data.Text as T +import Database.SQLite.Simple (Query (..)) import Database.SQLite.Simple.QQ (sql) -m20260731_user_badges :: Query -m20260731_user_badges = +-- the same tables in the client and in the badge service; '@' is replaced with the table name prefix +badgeSchema :: Text -> Query +badgeSchema pfx = withPrefix pfx badgeSchemaTables + +badgeSchemaDown :: Text -> Query +badgeSchemaDown pfx = withPrefix pfx badgeSchemaTablesDown + +withPrefix :: Text -> Query -> Query +withPrefix pfx = Query . T.replace "@" pfx . fromQuery + +badgeSchemaTables :: Query +badgeSchemaTables = [sql| -CREATE TABLE badge_prices( - price_id TEXT NOT NULL PRIMARY KEY, - badge_type TEXT NOT NULL, - month_price INTEGER NOT NULL, +CREATE TABLE @invoices( + invoice_id TEXT NOT NULL PRIMARY KEY, + provider TEXT NOT NULL, + price INTEGER NOT NULL, + discount_amount INTEGER, + credit_amount INTEGER, + amount INTEGER NOT NULL, currency TEXT NOT NULL, + payment_url TEXT, + payment_address TEXT, + payment_crypto_currency TEXT, + payment_crypto_amount TEXT, + expires_at TEXT NOT NULL, status TEXT NOT NULL, - created_at TEXT NOT NULL + created_at TEXT NOT NULL, + updated_at TEXT NOT NULL ); -CREATE TABLE badge_offers( - offer_id TEXT NOT NULL PRIMARY KEY, - price_id TEXT REFERENCES badge_prices, - months INTEGER NOT NULL, - discount_type TEXT NOT NULL, - free_months INTEGER, - discount INTEGER, - status TEXT NOT NULL, - created_at TEXT NOT NULL -); - -CREATE TABLE payments( - payment_id INTEGER PRIMARY KEY AUTOINCREMENT, - user_id INTEGER NOT NULL REFERENCES users ON DELETE CASCADE, - purchase_key BLOB NOT NULL, - badge_type TEXT NOT NULL, - price_id TEXT REFERENCES badge_prices, - offer_id TEXT REFERENCES badge_offers, - invoice_uuid TEXT, - months INTEGER, - amount INTEGER, - currency TEXT, +CREATE TABLE @payments( + payment_id TEXT NOT NULL PRIMARY KEY, + invoice_id TEXT REFERENCES @invoices, provider TEXT NOT NULL, provider_ref TEXT, - invoice_url TEXT, - invoice_address TEXT, - invoice_crypto_amount TEXT, - invoice_expires_at TEXT, - evidence BLOB, - receipt_code TEXT, + amount INTEGER, + currency TEXT, status TEXT NOT NULL, exception TEXT, - renews_at TEXT, + subscription_renews_at TEXT, grace_until TEXT, cancelled INTEGER NOT NULL DEFAULT 0, created_at TEXT NOT NULL, updated_at TEXT NOT NULL ); -CREATE INDEX idx_payments_purchase_key ON payments(purchase_key); +CREATE INDEX @idx_payments_provider_ref ON @payments(provider, provider_ref); -CREATE UNIQUE INDEX idx_payments_invoice_uuid ON payments(invoice_uuid); +CREATE INDEX @idx_payments_invoice ON @payments(invoice_id); -CREATE TABLE charges( - charge_id INTEGER PRIMARY KEY, - payment_id INTEGER NOT NULL REFERENCES payments, - invoice_uuid TEXT NOT NULL, +CREATE TABLE @subscription_charges( + charge_id TEXT NOT NULL PRIMARY KEY, + payment_id TEXT NOT NULL REFERENCES @payments ON DELETE CASCADE, provider_charge_ref TEXT NOT NULL, period_start TEXT NOT NULL, period_end TEXT NOT NULL, @@ -73,71 +71,70 @@ CREATE TABLE charges( UNIQUE(payment_id, provider_charge_ref) ); -CREATE TABLE badge_purchases( - badge_purchase_id INTEGER PRIMARY KEY AUTOINCREMENT, - user_id INTEGER NOT NULL REFERENCES users ON DELETE CASCADE, - purchase_key BLOB NOT NULL, - purchase_priv_key BLOB NOT NULL, - master_key BLOB NOT NULL, +CREATE TABLE @badge_prices( + price_id TEXT NOT NULL PRIMARY KEY, badge_type TEXT NOT NULL, - price_id TEXT REFERENCES badge_prices, - offer_id TEXT REFERENCES badge_offers, - payment_id INTEGER NOT NULL REFERENCES payments, + month_price INTEGER NOT NULL, + currency TEXT NOT NULL, status TEXT NOT NULL, - badge_key_idx INTEGER, - badge_signature BLOB, - badge_expiry TEXT, - alert_acked_kind TEXT, - alert_acked_episode TEXT, - alert_snooze_until TEXT, - created_at TEXT NOT NULL, - updated_at TEXT NOT NULL, - UNIQUE(purchase_key) -); - -CREATE UNIQUE INDEX idx_badge_purchases_live ON badge_purchases(user_id, (badge_type = 'investor')) - WHERE status IN ('acquiring', 'issued'); - -ALTER TABLE users ADD COLUMN shown_badge_id INTEGER REFERENCES badge_purchases ON DELETE SET NULL; -|] - <> badgeLedgerTable - <> [sql| -ALTER TABLE badge_ledger ADD COLUMN entry_type_unknown INTEGER NOT NULL DEFAULT 0; - -ALTER TABLE badge_ledger ADD COLUMN entry_type_value TEXT; - -CREATE UNIQUE INDEX idx_badge_ledger_uuid ON badge_ledger(entry_uuid); - -CREATE INDEX idx_badge_ledger_purchase ON badge_ledger(badge_purchase_id, entry_id); - -CREATE INDEX idx_badge_ledger_invoice ON badge_ledger(invoice_id); - -CREATE INDEX idx_badge_ledger_charge ON badge_ledger(charge_id); - -CREATE INDEX idx_badge_ledger_from_purchase ON badge_ledger(from_purchase_id); - -CREATE INDEX idx_badge_ledger_to_purchase ON badge_ledger(to_purchase_id); - -CREATE TABLE badge_issuances( - issuance_id INTEGER PRIMARY KEY, - badge_purchase_id INTEGER NOT NULL REFERENCES badge_purchases ON DELETE CASCADE, - period_start TEXT, - period_end TEXT, - expiry TEXT, - entry_id INTEGER REFERENCES badge_ledger, created_at TEXT NOT NULL ); -CREATE INDEX idx_badge_issuances_purchase ON badge_issuances(badge_purchase_id, issuance_id); -|] +CREATE TABLE @badge_offers( + offer_id TEXT NOT NULL PRIMARY KEY, + price_id TEXT REFERENCES @badge_prices, + months INTEGER NOT NULL, + free_months INTEGER, + discount INTEGER, + status TEXT NOT NULL, + created_at TEXT NOT NULL +); -badgeLedgerTable :: Query -badgeLedgerTable = - [sql| -CREATE TABLE badge_ledger( +CREATE TABLE @badge_purchases( + badge_purchase_id INTEGER PRIMARY KEY AUTOINCREMENT, + purchase_key BLOB NOT NULL, + master_key BLOB NOT NULL, + initial_badge_type TEXT NOT NULL, + current_badge_type TEXT NOT NULL, + payment_id TEXT REFERENCES @payments, + status TEXT NOT NULL, + created_at TEXT NOT NULL, + updated_at TEXT NOT NULL, + UNIQUE(purchase_key), + UNIQUE(payment_id) +); + +CREATE TABLE @badge_invoices( + invoice_id TEXT NOT NULL PRIMARY KEY REFERENCES @invoices ON DELETE CASCADE, + badge_purchase_id INTEGER NOT NULL REFERENCES @badge_purchases ON DELETE CASCADE, + price_id TEXT NOT NULL REFERENCES @badge_prices, + offer_id TEXT REFERENCES @badge_offers, + months INTEGER NOT NULL, + created_at TEXT NOT NULL +); + +CREATE INDEX @idx_badge_invoices_purchase ON @badge_invoices(badge_purchase_id); + +CREATE TABLE @badge_subscription_changes( + change_id TEXT NOT NULL PRIMARY KEY, + badge_purchase_id INTEGER NOT NULL REFERENCES @badge_purchases ON DELETE CASCADE, + from_badge_type TEXT NOT NULL, + to_badge_type TEXT NOT NULL, + from_provider_ref TEXT, + to_provider_ref TEXT, + effective TEXT NOT NULL, + status TEXT NOT NULL, + effective_at TEXT, + created_at TEXT NOT NULL, + updated_at TEXT NOT NULL +); + +CREATE INDEX @idx_badge_subscription_changes_purchase ON @badge_subscription_changes(badge_purchase_id); + +CREATE TABLE @badge_ledger( entry_id INTEGER PRIMARY KEY AUTOINCREMENT, entry_uuid TEXT NOT NULL, - badge_purchase_id INTEGER NOT NULL REFERENCES badge_purchases ON DELETE CASCADE, + badge_purchase_id INTEGER NOT NULL REFERENCES @badge_purchases ON DELETE CASCADE, change_months INTEGER NOT NULL, balance_months INTEGER NOT NULL, balance_start_ts TEXT NOT NULL, @@ -148,22 +145,84 @@ CREATE TABLE badge_ledger( entry_type TEXT NOT NULL, entry_credit_type TEXT, entry_debit_type TEXT, - invoice_id INTEGER REFERENCES payments, - charge_id INTEGER REFERENCES charges, - from_purchase_id INTEGER REFERENCES badge_purchases, - to_purchase_id INTEGER REFERENCES badge_purchases + payment_id TEXT REFERENCES @payments, + charge_id TEXT REFERENCES @subscription_charges, + from_purchase_id INTEGER REFERENCES @badge_purchases, + to_purchase_id INTEGER REFERENCES @badge_purchases ); + +CREATE UNIQUE INDEX @idx_badge_ledger_uuid ON @badge_ledger(entry_uuid); + +CREATE INDEX @idx_badge_ledger_purchase ON @badge_ledger(badge_purchase_id, entry_id); + +CREATE INDEX @idx_badge_ledger_payment ON @badge_ledger(payment_id); + +CREATE INDEX @idx_badge_ledger_charge ON @badge_ledger(charge_id); + +CREATE INDEX @idx_badge_ledger_from_purchase ON @badge_ledger(from_purchase_id); + +CREATE INDEX @idx_badge_ledger_to_purchase ON @badge_ledger(to_purchase_id); + +CREATE TABLE @badge_issuances( + issuance_id TEXT NOT NULL PRIMARY KEY, + badge_purchase_id INTEGER NOT NULL REFERENCES @badge_purchases ON DELETE CASCADE, + entry_id INTEGER REFERENCES @badge_ledger, + badge_type TEXT NOT NULL, + period_start TEXT NOT NULL, + period_end TEXT NOT NULL, + expiry TEXT NOT NULL, + credential BLOB NOT NULL, + created_at TEXT NOT NULL +); + +CREATE INDEX @idx_badge_issuances_purchase ON @badge_issuances(badge_purchase_id, issuance_id); +|] + +badgeSchemaTablesDown :: Query +badgeSchemaTablesDown = + [sql| +DROP TABLE @badge_issuances; +DROP TABLE @badge_ledger; +DROP TABLE @badge_subscription_changes; +DROP TABLE @badge_invoices; +DROP TABLE @badge_purchases; +DROP TABLE @subscription_charges; +DROP TABLE @payments; +DROP TABLE @invoices; +DROP TABLE @badge_offers; +DROP TABLE @badge_prices; +|] + +m20260731_user_badges :: Query +m20260731_user_badges = + badgeSchema "" + <> [sql| +ALTER TABLE badge_purchases ADD COLUMN user_id INTEGER REFERENCES users ON DELETE CASCADE; + +ALTER TABLE badge_purchases ADD COLUMN purchase_priv_key BLOB; + +ALTER TABLE badge_purchases ADD COLUMN alert_acked_kind TEXT; + +ALTER TABLE badge_purchases ADD COLUMN alert_acked_episode TEXT; + +ALTER TABLE badge_purchases ADD COLUMN alert_snooze_until TEXT; + +ALTER TABLE payments ADD COLUMN evidence BLOB; + +ALTER TABLE payments ADD COLUMN receipt_code TEXT; + +ALTER TABLE badge_ledger ADD COLUMN entry_type_unknown INTEGER NOT NULL DEFAULT 0; + +ALTER TABLE badge_ledger ADD COLUMN entry_type_value TEXT; + +CREATE INDEX idx_badge_purchases_user ON badge_purchases(user_id); + +ALTER TABLE users ADD COLUMN shown_badge_id INTEGER REFERENCES badge_purchases ON DELETE SET NULL; |] down_m20260731_user_badges :: Query down_m20260731_user_badges = [sql| -DROP TABLE badge_issuances; -DROP TABLE badge_ledger; ALTER TABLE users DROP COLUMN shown_badge_id; -DROP TABLE badge_purchases; -DROP TABLE charges; -DROP TABLE payments; -DROP TABLE badge_offers; -DROP TABLE badge_prices; |] + <> badgeSchemaDown "" From 0210591af7ad288798592b446095f219f82f452f Mon Sep 17 00:00:00 2001 From: sh <37271604+shumvgolove@users.noreply.github.com> Date: Tue, 25 Aug 2026 12:40:13 +0400 Subject: [PATCH 06/69] desktop: fix nanohttpd submodule check never running (#7408) --- .../external/nanohttpd/build.gradle.kts | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/apps/multiplatform/external/nanohttpd/build.gradle.kts b/apps/multiplatform/external/nanohttpd/build.gradle.kts index fb24922208..7841d8f803 100644 --- a/apps/multiplatform/external/nanohttpd/build.gradle.kts +++ b/apps/multiplatform/external/nanohttpd/build.gradle.kts @@ -26,16 +26,25 @@ java { targetCompatibility = jvmVersion } -// Without this the jar records the build machine's timestamps, file order and file modes, -// which makes the desktop packages unreproducible -tasks.jar { - // Checked here and not during configuration, so that Android builds, which don't use nanohttpd, - // work without the submodule +val upstreamSources = sourceSets.main.get().java.matching { include("org/nanohttpd/**") } + +// compileJava and jar silently succeed without the sources, so the check needs its own task. +// It cannot run during configuration, Android builds must work without the submodule. +val checkUpstreamSources by tasks.registering { doFirst { - if (!upstream.file("core/src/main/java").asFile.isDirectory) { + if (upstreamSources.isEmpty) { throw GradleException("nanohttpd sources are missing, run: git submodule update --init --recursive") } } +} + +tasks.compileJava { + dependsOn(checkUpstreamSources) +} + +// Without this the jar records the build machine's timestamps, file order and file modes, +// which makes the desktop packages unreproducible +tasks.jar { isPreserveFileTimestamps = false isReproducibleFileOrder = true filePermissions { unix("644") } From a99541d0fe9c227703448b4dd07198029a6dce93 Mon Sep 17 00:00:00 2001 From: sh <37271604+shumvgolove@users.noreply.github.com> Date: Wed, 26 Aug 2026 12:10:41 +0400 Subject: [PATCH 07/69] scripts: add chat relay docker setup (#7406) * scripts: add chat relay docker setup * docs: add docker setup to chat relay guide * scripts: bump relay ref and add RTS options * scripts: reduce comments in relay setup * scripts: increase relay pool and queue size * scripts: add relay metrics exporter * docs: trim docker section in chat relay guide * scripts: bump cabal for hackage key rotation * scripts: retry cabal update on mirror failure * scripts: split cabal update into its own layer * scripts: allow setting relay address server * docs: adjust systemd service limits * docs: mention docker volume full path --- docs/CHAT-RELAY.md | 75 +++++++++++++++++++-- scripts/relay/.dockerignore | 4 ++ scripts/relay/.env.example | 21 ++++++ scripts/relay/Dockerfile | 70 ++++++++++++++++++++ scripts/relay/docker-compose.yaml | 87 +++++++++++++++++++++++++ scripts/relay/entrypoint.py | 105 ++++++++++++++++++++++++++++++ scripts/relay/sql_exporter.yml | 71 ++++++++++++++++++++ 7 files changed, 429 insertions(+), 4 deletions(-) create mode 100644 scripts/relay/.dockerignore create mode 100644 scripts/relay/.env.example create mode 100644 scripts/relay/Dockerfile create mode 100644 scripts/relay/docker-compose.yaml create mode 100755 scripts/relay/entrypoint.py create mode 100644 scripts/relay/sql_exporter.yml diff --git a/docs/CHAT-RELAY.md b/docs/CHAT-RELAY.md index a06c06026f..8f94aa8090 100644 --- a/docs/CHAT-RELAY.md +++ b/docs/CHAT-RELAY.md @@ -1,6 +1,6 @@ --- title: Hosting your own Chat Relay -revision: 16.07.2026 +revision: 28.07.2026 --- # Hosting your own Chat Relay @@ -20,6 +20,7 @@ This guide explains how to set up a chat relay on a Linux server, how to run it, - [Relay options](#relay-options) - [Get the relay address](#get-the-relay-address) - [Run relay commands](#run-relay-commands) +- [Run with Docker](#run-with-docker) - [Channel web previews](#channel-web-previews) - [Relay web options](#relay-web-options) - [Serve the previews with Caddy](#serve-the-previews-with-caddy) @@ -126,6 +127,73 @@ simplex-chat-relay -d /home/relay/relay -e "/set profile image file /home/relay/ systemctl start simplex-relay ``` +## Run with Docker + +The relay can also be built and run with Docker Compose, using PostgreSQL for storage. The files are in [`scripts/relay`](https://github.com/simplex-chat/simplex-chat/tree/master/scripts/relay). + +1. Clone the repository and switch to the relay directory: + + ```sh + git clone https://github.com/simplex-chat/simplex-chat + cd simplex-chat/scripts/relay + ``` + +2. Copy the example environment file, then set `RELAY_NAME`, `RELAY_WEB_DOMAIN` and `POSTGRES_PASSWORD` in it: + + ```sh + cp .env.example .env + ``` + +3. Create the directory for the previews and the CORS file, owned by the container's user (UID `1000`): + + ```sh + mkdir -p /var/www/relay-web-channels/channel + chown -R 1000:1000 /var/www/relay-web-channels + chmod 0755 /var/www/relay-web-channels + ``` + +4. Create the output directory for the relay address, then build and start: + + ```sh + mkdir -p out && chown 1000:1000 out + docker compose build + docker compose up -d + ``` + + The first build compiles from source and takes a while. + +5. Read the relay address, written on the first start: + + ```sh + cat out/relay-address.txt + ``` + +To give the relay a picture, put a small `.png`/`.jpg`/`.jpeg` file (large images are rejected) next to the compose file and add a `docker-compose.override.yml`: + +```yaml +services: + relay: + environment: + RELAY_IMAGE_FILE: /avatar.png + volumes: + - ./avatar.png:/avatar.png:ro +``` + +To run a one-off command against the relay's database, override the entrypoint: + +```sh +docker compose run --rm --entrypoint sh relay -c \ + 'simplex-chat-relay -d "$DB_CONN" -e "/set profile image file /avatar.png"' +``` + +Relay metrics from the database are published by [sql_exporter](https://github.com/burningalchemist/sql_exporter) on `127.0.0.1:9399/metrics`, with the queries in `sql_exporter.yml`. + +Relay database live in PostgreSQL docker volume. To print the full path to PostgreSQL database, execute in the host: + +```sh +docker volume inspect simplex-chat-relay_pgdata --format '{{.Mountpoint}}' +``` + ## Channel web previews Chat relays can render recent messages of its public channels as JSON files, which can be served over HTTPS using a web server to create channel web previews. This is optional. @@ -219,11 +287,9 @@ Create `/etc/systemd/system/simplex-cors-sync.service`: ```ini [Unit] Description=Sync SimpleX relay CORS config to Caddy -StartLimitIntervalSec=30 -StartLimitBurst=10 +StartLimitIntervalSec=0 [Service] Type=oneshot -ExecStartPre=/bin/sleep 2 ExecStart=/usr/local/bin/simplex-cors-sync.sh ``` @@ -236,6 +302,7 @@ After=caddy.service [Path] PathChanged=/var/www/relay-web-channels/cors.conf Unit=simplex-cors-sync.service +TriggerLimitIntervalSec=0 [Install] WantedBy=multi-user.target ``` diff --git a/scripts/relay/.dockerignore b/scripts/relay/.dockerignore new file mode 100644 index 0000000000..00bc43ddaf --- /dev/null +++ b/scripts/relay/.dockerignore @@ -0,0 +1,4 @@ +# The Dockerfile clones the source itself and only needs entrypoint.py from the +# build context. Exclude everything else, especially .env (secrets) and out/. +* +!entrypoint.py diff --git a/scripts/relay/.env.example b/scripts/relay/.env.example new file mode 100644 index 0000000000..7bfbd89615 --- /dev/null +++ b/scripts/relay/.env.example @@ -0,0 +1,21 @@ +# Copy to .env and edit. + +RELAY_NAME="My Relay" +RELAY_WEB_DOMAIN=relay1.example.com + +POSTGRES_USER=simplex +POSTGRES_DB=simplex_chat_relay +POSTGRES_PASSWORD=change-me + +# Ref to build: tag, branch or commit. +CHAT_REF=88df79d1e26921c7d1835fc8484fade596356fb6 + +# SMP server for the relay address, used when the address is created. +#RELAY_ADDRESS_SERVER=smp://@smp.example.com + +# GHC runtime options, without the +RTS/-RTS markers. +#RELAY_RTS_OPTS="-N -F1.2 -A16m -I0.01 -Iw15" + +# Database connection pool and internal queue size. +#RELAY_POOL_SIZE=4 +#RELAY_QUEUE_SIZE=65536 diff --git a/scripts/relay/Dockerfile b/scripts/relay/Dockerfile new file mode 100644 index 0000000000..1a731adf41 --- /dev/null +++ b/scripts/relay/Dockerfile @@ -0,0 +1,70 @@ +# syntax=docker/dockerfile:1 + +ARG CHAT_REF=88df79d1e26921c7d1835fc8484fade596356fb6 +ARG GHC=9.6.3 +# 3.10.1.0 predates the Hackage root key rotation and fails `cabal update`. +ARG CABAL=3.10.2.0 + +# ---- build ---------------------------------------------------------------- +FROM ubuntu:22.04 AS build + +ARG GHC +ARG CABAL +ENV DEBIAN_FRONTEND=noninteractive \ + PATH="/root/.cabal/bin:/root/.ghcup/bin:$PATH" + +RUN apt-get update && apt-get install -y --no-install-recommends \ + ca-certificates curl git build-essential \ + libpq-dev libgmp3-dev zlib1g-dev libnuma-dev libssl-dev \ + llvm-12 llvm-12-dev \ + && rm -rf /var/lib/apt/lists/* + +RUN curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org \ + | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 \ + BOOTSTRAP_HASKELL_GHC_VERSION="${GHC}" \ + BOOTSTRAP_HASKELL_CABAL_VERSION="${CABAL}" sh \ + && ghcup set ghc "${GHC}" \ + && ghcup set cabal "${CABAL}" + +# Kept out of the layer above so that a failure here does not reinstall GHC. +# Retried because a failed fetch falls back to the mirrors in Hackage's +# mirrors.json, which are dead, and the last one aborts the build. +RUN cabal update || { sleep 5; cabal update; } || { sleep 20; cabal update; } + +# Declared after the toolchain layers so that changing the ref does not rebuild +# them. Unlike `clone --branch`, this form also accepts a commit hash. +ARG CHAT_REF +WORKDIR /project +RUN git init -q . \ + && git remote add origin https://github.com/simplex-chat/simplex-chat \ + && git fetch -q --depth 1 origin "${CHAT_REF}" \ + && git checkout -q FETCH_HEAD + +# The cache mounts keep compiled dependencies across ref changes. +RUN --mount=type=cache,target=/root/.cabal/store,sharing=locked \ + --mount=type=cache,target=/project/dist-newstyle,sharing=locked \ + cp scripts/cabal.project.local.linux cabal.project.local \ + && cabal build -fclient_postgres exe:simplex-chat \ + && bin=$(find dist-newstyle -name simplex-chat -type f -executable | head -n1) \ + && install -m 0755 "$bin" /simplex-chat-relay \ + && strip /simplex-chat-relay + +# ---- runtime -------------------------------------------------------------- +FROM debian:stable-slim AS runtime + +# The binary is dynamically linked, so it needs these libraries at runtime. +RUN apt-get update && apt-get install -y --no-install-recommends \ + ca-certificates python3 \ + libpq5 libgmp10 libssl3 zlib1g libnuma1 libffi8 \ + && rm -rf /var/lib/apt/lists/* \ + && useradd -m -u 1000 relay + +COPY --from=build /simplex-chat-relay /usr/local/bin/simplex-chat-relay +COPY entrypoint.py /usr/local/bin/entrypoint.py + +# Bind-mounted host directories must be writable by this UID. +USER relay + +# The relay shuts down cleanly on SIGINT, not SIGTERM. +STOPSIGNAL SIGINT +ENTRYPOINT ["python3", "/usr/local/bin/entrypoint.py"] diff --git a/scripts/relay/docker-compose.yaml b/scripts/relay/docker-compose.yaml new file mode 100644 index 0000000000..569d403966 --- /dev/null +++ b/scripts/relay/docker-compose.yaml @@ -0,0 +1,87 @@ +name: simplex-chat-relay + +services: + relay: + build: + context: . + args: + CHAT_REF: ${CHAT_REF:-88df79d1e26921c7d1835fc8484fade596356fb6} + image: chat-relay:latest # set your image/registry name + container_name: chat-relay + depends_on: + db: + condition: service_healthy + environment: + RELAY_NAME: ${RELAY_NAME} + RELAY_WEB_DOMAIN: ${RELAY_WEB_DOMAIN} + RELAY_ADDRESS_SERVER: ${RELAY_ADDRESS_SERVER:-} + # Empty values fall back to the entrypoint defaults. + RELAY_RTS_OPTS: ${RELAY_RTS_OPTS:-} + RELAY_POOL_SIZE: ${RELAY_POOL_SIZE:-} + RELAY_QUEUE_SIZE: ${RELAY_QUEUE_SIZE:-} + # Password is passed as PGPASSWORD to keep it out of argv. + DB_CONN: postgresql://${POSTGRES_USER}@db:5432/${POSTGRES_DB} + PGPASSWORD: ${POSTGRES_PASSWORD} + volumes: + - /var/www/relay-web-channels:/var/www/relay-web-channels + - ./out:/out + restart: unless-stopped + + metrics: + image: burningalchemist/sql_exporter:latest + container_name: chat-relay-metrics + depends_on: + db: + condition: service_healthy + environment: + # Percent-encode the password if it contains URL-reserved characters. + SQLEXPORTER_TARGET_DSN: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}?sslmode=disable + volumes: + - ./sql_exporter.yml:/etc/sql_exporter/sql_exporter.yml:ro + command: ["-config.file=/etc/sql_exporter/sql_exporter.yml"] + ports: + - "127.0.0.1:9399:9399" + restart: unless-stopped + + db: + image: postgres:18 + container_name: chat-relay-db + environment: + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_DB: ${POSTGRES_DB} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + shm_size: 256mb # parallel workers need more than the 64 MB default + volumes: + # PG18+ keeps PGDATA in a version-specific subdirectory of this volume. + - pgdata:/var/lib/postgresql + healthcheck: + test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"] + interval: 5s + timeout: 5s + retries: 10 + # Tuning for ~5 GB RAM / 4 cores. Match to the actual server. + command: + - postgres + - --max_connections=100 + - --shared_buffers=1280MB + - --effective_cache_size=3840MB + - --maintenance_work_mem=320MB + - --checkpoint_completion_target=0.9 + - --wal_buffers=16MB + - --default_statistics_target=100 + - --random_page_cost=1.1 + - --effective_io_concurrency=200 + - --work_mem=6301kB + - --huge_pages=off + - --jit=off + - --wal_compression=lz4 + - --min_wal_size=1GB + - --max_wal_size=4GB + - --max_worker_processes=4 + - --max_parallel_workers_per_gather=2 + - --max_parallel_workers=4 + - --max_parallel_maintenance_workers=2 + restart: unless-stopped + +volumes: + pgdata: diff --git a/scripts/relay/entrypoint.py b/scripts/relay/entrypoint.py new file mode 100755 index 0000000000..522e87eb22 --- /dev/null +++ b/scripts/relay/entrypoint.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python3 +"""Save the relay address on first start, then exec the relay. + +The address is printed only when it is created, and is not stored in the +database in its displayed form, so it is captured from the relay's output. +""" +import os +import shlex +import subprocess +import sys + +BIN = "simplex-chat-relay" +WEB_ROOT = "/var/www/relay-web-channels" +ADDR_FILE = "/out/relay-address.txt" +CAPTURE_TIMEOUT = 180 # seconds +DEFAULT_RTS_OPTS = "-N -F1.2 -A16m -I0.01 -Iw15" +DEFAULT_POOL_SIZE = "4" # the binary defaults to a single connection +DEFAULT_QUEUE_SIZE = "65536" + + +def require(name): + value = os.environ.get(name) + if not value: + sys.exit(f"{name} is required") + return value + + +def rts_args(): + """RELAY_RTS_OPTS holds bare options; the +RTS/-RTS markers are added here.""" + opts = [ + o + for o in shlex.split(os.environ.get("RELAY_RTS_OPTS") or DEFAULT_RTS_OPTS) + if o not in ("+RTS", "-RTS") + ] + return ["+RTS", *opts, "-RTS"] if opts else [] + + +def find_address(text): + for token in text.split(): + if token.startswith("https://") or token.startswith("simplex:"): + return token + return None + + +def capture_address(oneshot): + """Create the address if needed and save it. Runs before the relay starts.""" + cmd = oneshot + ["--create-schema", "-t", "0", "-e", "/sa"] + try: + out = subprocess.run( + cmd, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + text=True, + errors="replace", + timeout=CAPTURE_TIMEOUT, + ).stdout + except subprocess.TimeoutExpired as exc: + out = exc.stdout or "" + sys.stdout.write(out) + sys.stdout.flush() + + address = find_address(out) + if address: + with open(ADDR_FILE, "w") as f: + f.write(address + "\n") + else: + sys.stderr.write("entrypoint: relay address not captured; will retry next start\n") + + +def main(): + name = require("RELAY_NAME") + domain = require("RELAY_WEB_DOMAIN") + conn = require("DB_CONN") + image_file = os.environ.get("RELAY_IMAGE_FILE") + + os.makedirs(f"{WEB_ROOT}/channel", exist_ok=True) + os.makedirs("/out", exist_ok=True) + + common = [BIN, "--relay", "--headless", "--user-display-name", name] + + # Only applied when the address is created, which the one-shot below does. + address_server = os.environ.get("RELAY_ADDRESS_SERVER") + if address_server: + common += ["--relay-address-server", address_server] + + # The image is applied only when the profile is created. + if not os.path.exists(ADDR_FILE): + oneshot = common + (["--user-image-file", image_file] if image_file else []) + ["-d", conn] + capture_address(oneshot) + + relay = common + [ + "--relay-web-domain", domain, + "--relay-web-dir", f"{WEB_ROOT}/channel", + "--relay-web-cors-file", f"{WEB_ROOT}/cors.conf", + "--relay-web-interval", "30", + "-d", conn, + "--create-schema", + "--pool-size", os.environ.get("RELAY_POOL_SIZE") or DEFAULT_POOL_SIZE, + "--queue-size", os.environ.get("RELAY_QUEUE_SIZE") or DEFAULT_QUEUE_SIZE, + ] + rts_args() + os.execvp(relay[0], relay) + + +if __name__ == "__main__": + main() diff --git a/scripts/relay/sql_exporter.yml b/scripts/relay/sql_exporter.yml new file mode 100644 index 0000000000..ee8f62218b --- /dev/null +++ b/scripts/relay/sql_exporter.yml @@ -0,0 +1,71 @@ +global: + min_interval: 0s + max_connections: 3 + max_idle_connections: 3 + +target: + name: chat_relay + # Replaced by SQLEXPORTER_TARGET_DSN. A non-empty value is required here + # because the DSN is validated before environment variables are applied. + data_source_name: "postgresql://replaced-by-env" + collectors: [chat_relay] + +collectors: + - collector_name: chat_relay + metrics: + - metric_name: chat_relay_channels + type: gauge + help: "Channels by relay status." + key_labels: [status] + values: [channels] + query: | + SELECT relay_own_status AS status, count(*) AS channels + FROM simplex_v1_chat_schema.groups + WHERE relay_own_status IS NOT NULL + GROUP BY relay_own_status + + - metric_name: chat_relay_published_channels + type: gauge + help: "Served channels that have a public address." + values: [channels] + query: | + SELECT count(*) AS channels + FROM simplex_v1_chat_schema.groups g + JOIN simplex_v1_chat_schema.group_profiles gp + ON gp.group_profile_id = g.group_profile_id + WHERE gp.public_group_id IS NOT NULL + AND g.relay_own_status IN ('active', 'accepted') + + - metric_name: chat_relay_members + type: gauge + help: "Members across all channels." + values: [members] + query: | + SELECT count(*) AS members FROM simplex_v1_chat_schema.group_members + + - metric_name: chat_relay_pending_deliveries + type: gauge + help: "Messages queued for delivery." + values: [deliveries] + query: | + SELECT count(*) AS deliveries + FROM simplex_v1_chat_schema.msg_deliveries + WHERE delivery_status = 'snd_pending' + + - metric_name: chat_relay_oldest_pending_delivery_seconds + type: gauge + help: "Age of the oldest message queued for delivery." + values: [age] + query: | + SELECT COALESCE(EXTRACT(EPOCH FROM (now() - min(created_at))), 0) AS age + FROM simplex_v1_chat_schema.msg_deliveries + WHERE delivery_status = 'snd_pending' + + - metric_name: chat_relay_messages_24h + type: gauge + help: "Chat items created in the last 24 hours." + values: [messages] + query: | + SELECT count(*) AS messages + FROM simplex_v1_chat_schema.chat_items + WHERE created_at > now() - interval '24 hours' From 1c7bc1aed4f34cee85eeee1ca69e5781e29eb35b Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 27 Aug 2026 08:02:46 +0100 Subject: [PATCH 08/69] core: refactor badge types (#7387) Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> --- src/Simplex/Chat/Badges/Types.hs | 40 +--------------- src/Simplex/Chat/PaymentService/Types.hs | 60 ++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 38 deletions(-) diff --git a/src/Simplex/Chat/Badges/Types.hs b/src/Simplex/Chat/Badges/Types.hs index bf9042c944..70dd4dfa8c 100644 --- a/src/Simplex/Chat/Badges/Types.hs +++ b/src/Simplex/Chat/Badges/Types.hs @@ -8,14 +8,12 @@ module Simplex.Chat.Badges.Types BadgePlan (..), BadgeItemStatus (..), OfferDiscount (..), - BadgePaymentStatus (..), BadgePurchaseStatus (..), LedgerEntryType (..), LedgerCreditType (..), LedgerDebitType (..), BadgeAlertKind (..), BadgePurchase (..), - BadgePayment (..), BadgeLedgerEntry (..), BadgeCharge (..), BadgeIssuance (..), @@ -30,7 +28,7 @@ import Data.Text (Text) import Data.Time.Clock (UTCTime) import Data.Word (Word8) import Simplex.Chat.Badges hiding (BadgePurchase (..)) -import Simplex.Chat.PaymentService.Types (InvoiceId, PaymentProvider) +import Simplex.Chat.PaymentService.Types (InvoiceId, StoredPayment) import Simplex.Messaging.Agent.Protocol (UserId) import qualified Simplex.Messaging.Crypto as C @@ -56,10 +54,6 @@ data OfferDiscount | ODDiscount {discount :: Word8} -- percent deriving (Eq, Show) --- unconfirmed draft -data BadgePaymentStatus = BPSNew | BPSInvoiced | BPSPending | BPSSettled | BPSFailed | BPSExpired - deriving (Eq, Show) - -- unconfirmed draft data BadgePurchaseStatus = PSAcquiring | PSIssued | PSSuperseded | PSFailed deriving (Eq, Show) @@ -112,36 +106,6 @@ data BadgePurchase = BadgePurchase updatedAt :: UTCTime } --- to review -data BadgePayment = BadgePayment - { paymentId :: Int64, - userId :: UserId, - purchaseKey :: C.PublicKeyEd25519, - badgeType :: BadgeType, - priceId :: Maybe BadgePriceId, - offerId :: Maybe BadgeOfferId, - invoiceUuid :: Maybe InvoiceId, - months :: Maybe Int, - amount :: Maybe Int64, - currency :: Maybe Text, - provider :: PaymentProvider, - providerRef :: Maybe Text, - invoiceUrl :: Maybe Text, - invoiceAddress :: Maybe Text, - invoiceCryptoAmount :: Maybe Text, - invoiceExpiresAt :: Maybe UTCTime, - evidence :: Maybe ByteString, - receiptCode :: Maybe Text, - status :: BadgePaymentStatus, - exception :: Maybe Text, - renewsAt :: Maybe UTCTime, - graceUntil :: Maybe UTCTime, - cancelled :: Bool, - createdAt :: UTCTime, - updatedAt :: UTCTime - } - deriving (Show) - -- confirmed data BadgeLedgerEntry = BadgeLedgerEntry { entryId :: Int64, @@ -197,7 +161,7 @@ data BadgeAlert = BadgeAlert data UserBadgeState = UserBadgeState { badges :: [BadgePurchase], shownBadgeId :: Maybe Int64, - payments :: [BadgePayment], + payments :: [StoredPayment], monthsLeft :: Int, paidThrough :: Maybe UTCTime, renewsAt :: Maybe UTCTime, diff --git a/src/Simplex/Chat/PaymentService/Types.hs b/src/Simplex/Chat/PaymentService/Types.hs index cb02ae72c2..910a5b973f 100644 --- a/src/Simplex/Chat/PaymentService/Types.hs +++ b/src/Simplex/Chat/PaymentService/Types.hs @@ -5,6 +5,7 @@ module Simplex.Chat.PaymentService.Types ( CurrencyAmount (..), InvoiceId (..), + PaymentId (..), PaymentProvider (..), CardProvider (..), CryptoCurrency (..), @@ -12,8 +13,13 @@ module Simplex.Chat.PaymentService.Types ServicePaymentDestination (..), InvoiceStatus (..), StoredInvoice (..), + StoredPayment (..), + PaymentFunding (..), + PaymentTerm (..), + PaymentStatus (..), ) where +import Data.ByteString.Char8 (ByteString) import Data.Text (Text) import Data.Time.Clock (UTCTime) import Data.Word (Word32) @@ -26,6 +32,10 @@ newtype CurrencyAmount = CurrencyAmount Word32 newtype InvoiceId = InvoiceId Text deriving newtype (Eq, Show) +-- confirmed +newtype PaymentId = PaymentId Text + deriving newtype (Eq, Show) + -- confirmed data PaymentProvider = PPApple | PPGoogle | PPStripe | PPCrypto | PPCode | PPReceipt deriving (Eq, Show) @@ -72,3 +82,53 @@ data StoredInvoice = StoredInvoice updatedAt :: UTCTime } deriving (Show) + +-- to review +data StoredPayment = StoredPayment + { paymentId :: PaymentId, + funding :: PaymentFunding, + term :: PaymentTerm, + status :: PaymentStatus, + createdAt :: UTCTime, + updatedAt :: UTCTime + } + deriving (Show) + +-- to review +data PaymentFunding + = PFInvoice + { invoiceId :: InvoiceId, + providerRef :: Text, + amount :: CurrencyAmount, + currency :: Text, + receiptCode :: Maybe Text -- client; the service holds its hash + } + | PFApple + { providerRef :: Text, + amount :: CurrencyAmount, + currency :: Text, + evidence :: Maybe ByteString -- client only + } + | PFGoogle + { providerRef :: Text, + amount :: CurrencyAmount, + currency :: Text, + evidence :: Maybe ByteString -- client only + } + | PFCode + | PFReceipt + deriving (Show) + +-- to review +data PaymentTerm + = PTOneOff + | PTSubscription + { renewsAt :: UTCTime, + graceUntil :: Maybe UTCTime, + cancelled :: Bool + } + deriving (Show) + +-- to review +data PaymentStatus = PSPending | PSSettled | PSFailed {exception :: Text} + deriving (Show) From d7e0f859764a2e90af13da2d9acfcd8153b026f7 Mon Sep 17 00:00:00 2001 From: Narasimha-sc <166327228+Narasimha-sc@users.noreply.github.com> Date: Thu, 27 Aug 2026 10:08:05 +0000 Subject: [PATCH 09/69] desktop: fix rotated video squashed on playback and preview rotated twice (#7413) * desktop: fix rotated video squashed on playback and preview rotated twice vlc applies the display matrix before a frame reaches the vmem callback, so the buffer has to be requested with the sides swapped for the transposed orientations, and the snapshot must not be rotated again by hand. Read the snapshot on the event thread, where the render callback writes it, and draw the inline playback surface with FillWidth so a video narrower than the item fills it like its preview does. Bound the requested buffer: the size comes from a received file, so it is capped by area, cannot be zero, and a frame that does not fill the bitmap is dropped. * desktop: harden the video frame path against crafted files Only transpose the buffer for the track's own sides - the size libvlc passes is already rotated, so swapping it would recreate the squash for a file declaring a rotation with a zero-sized track. Copy the frame inside the render callback, on vlc's thread, where the native buffer is guaranteed to exist, and hand only the copy to the event thread. Drop a frame rendered with a format the bitmap was not sized by, or arriving before any buffer was allocated. Divide the pixel budget by a side pinned at 1 instead of scaling both sides, so a 2000000000x1 declaration cannot take 45 times the budget. Publish the bitmap only when skia took the pixels, size the copy after a rewind, and log a failed snapshot conversion instead of throwing it into callers that have no handler for it. --- .../videoplayer/SkiaBitmapVideoSurface.kt | 91 +++++++++++++-- .../common/platform/VideoPlayer.desktop.kt | 28 ++--- .../views/chat/item/CIVideoView.desktop.kt | 6 +- .../chat/item/ImageFullScreenView.desktop.kt | 4 +- ...26-08-24-desktop-rotated-video-playback.md | 109 ++++++++++++++++++ 5 files changed, 214 insertions(+), 24 deletions(-) create mode 100644 plans/2026-08-24-desktop-rotated-video-playback.md diff --git a/apps/multiplatform/common/src/desktopMain/kotlin/chat/simplex/common/other/videoplayer/SkiaBitmapVideoSurface.kt b/apps/multiplatform/common/src/desktopMain/kotlin/chat/simplex/common/other/videoplayer/SkiaBitmapVideoSurface.kt index f5bba2d344..26748b8425 100644 --- a/apps/multiplatform/common/src/desktopMain/kotlin/chat/simplex/common/other/videoplayer/SkiaBitmapVideoSurface.kt +++ b/apps/multiplatform/common/src/desktopMain/kotlin/chat/simplex/common/other/videoplayer/SkiaBitmapVideoSurface.kt @@ -8,6 +8,7 @@ import org.jetbrains.skia.Bitmap import org.jetbrains.skia.ColorAlphaType import org.jetbrains.skia.ColorType import org.jetbrains.skia.ImageInfo +import uk.co.caprica.vlcj.media.VideoOrientation import uk.co.caprica.vlcj.player.base.MediaPlayer import uk.co.caprica.vlcj.player.embedded.videosurface.CallbackVideoSurface import uk.co.caprica.vlcj.player.embedded.videosurface.VideoSurface @@ -22,10 +23,42 @@ import javax.swing.SwingUtilities // https://github.com/JetBrains/compose-multiplatform/pull/3336/files internal class SkiaBitmapVideoSurface : VideoSurface(VideoSurfaceAdapters.getVideoSurfaceAdapter()) { + private companion object { + // A received file declares its own size, and vlc allocates the buffer we ask for here (and we copy + // it into a java array of the same size), so an unbounded request is an out-of-memory from a message. + // Above the budget the picture is scaled down keeping its aspect - 4096x4096 of RV32 is 64 MB + const val MAX_BUFFER_PIXELS = 4096L * 4096L + val transposedOrientations = setOf( + VideoOrientation.LEFT_TOP, + VideoOrientation.LEFT_BOTTOM, + VideoOrientation.RIGHT_TOP, + VideoOrientation.RIGHT_BOTTOM, + ) + + // Keeps the aspect, never returns a side below 1, and keeps width * height * 4 inside an Int + fun boundedSize(width: Int, height: Int): Pair { + val w = width.coerceAtLeast(1) + val h = height.coerceAtLeast(1) + val pixels = w.toLong() * h.toLong() + if (pixels <= MAX_BUFFER_PIXELS) return w to h + val scale = kotlin.math.sqrt(MAX_BUFFER_PIXELS.toDouble() / pixels.toDouble()) + var sw = (w * scale).toInt().coerceAtLeast(1) + var sh = (h * scale).toInt().coerceAtLeast(1) + // Scaling both sides assumes both shrink; a side pinned at 1 only shrinks the area linearly, + // so a 2_000_000_000 x 1 declaration would still get 45 times the budget. Divide the budget + // by the pinned side instead + if (sw.toLong() * sh.toLong() > MAX_BUFFER_PIXELS) { + if (sw >= sh) sw = (MAX_BUFFER_PIXELS / sh).toInt() else sh = (MAX_BUFFER_PIXELS / sw).toInt() + } + return sw to sh + } + } + private val videoSurface = SkiaBitmapVideoSurface() @Volatile private var mediaPlayer: MediaPlayer? = null private lateinit var imageInfo: ImageInfo private lateinit var frameBytes: ByteArray + @Volatile private var allocated = false private val skiaBitmap: Bitmap = Bitmap() private val composeBitmap = mutableStateOf(null) @@ -49,19 +82,37 @@ internal class SkiaBitmapVideoSurface : VideoSurface(VideoSurfaceAdapters.getVid val tracks = player?.media()?.info()?.videoTracks() val playingTrack = player?.video()?.track() val track = tracks?.firstOrNull { it.id() == playingTrack } ?: tracks?.singleOrNull() - this.sourceWidth = track?.width()?.takeIf { it > 0 } ?: sourceWidth - this.sourceHeight = track?.height()?.takeIf { it > 0 } ?: sourceHeight - return RV32BufferFormat(this.sourceWidth, this.sourceHeight) + // Both track sides or neither: one side from the track and the other from the padded size libvlc + // passed never described the same picture, and transposing such a pair compounds the mismatch + val trackW = track?.width() ?: 0 + val trackH = track?.height() ?: 0 + val useTrack = trackW > 0 && trackH > 0 + val width = if (useTrack) trackW else sourceWidth + val height = if (useTrack) trackH else sourceHeight + // The track carries the size before rotation, but vlc rotates the picture before it reaches + // this buffer, so for the transposed orientations the picture arrives with the sides swapped. + // Only when the track's own sides are used: the size libvlc passed is already rotated + val transposed = useTrack && (track?.orientation() in transposedOrientations) + val orientedWidth = if (transposed) height else width + val orientedHeight = if (transposed) width else height + val (w, h) = boundedSize(orientedWidth, orientedHeight) + this.sourceWidth = w + this.sourceHeight = h + return RV32BufferFormat(w, h) } override fun allocatedBuffers(buffers: Array) { - frameBytes = buffers[0].run { ByteArray(remaining()).also(::get) } + // rewind first, as in display: remaining() on an already-read buffer would size this short + frameBytes = buffers[0].run { rewind(); ByteArray(remaining()).also(::get) } imageInfo = ImageInfo( sourceWidth, sourceHeight, ColorType.BGRA_8888, ColorAlphaType.PREMUL, ) + // Last, and volatile: vlc calls this on its own thread while display reads imageInfo and + // frameBytes on the event thread, and this write is what publishes them to it + this@SkiaBitmapVideoSurface.allocated = true } } @@ -71,11 +122,35 @@ internal class SkiaBitmapVideoSurface : VideoSurface(VideoSurfaceAdapters.getVid nativeBuffers: Array, bufferFormat: BufferFormat, ) { + // The native buffer belongs to vlc and is only guaranteed to exist for the duration of this + // callback, so everything that touches it has to happen here, on vlc's thread - deferred code + // would read through a pointer vlc may have freed on a format change. Only the copy is done + // here; skia and compose are event-thread objects and get the private copy + if (!this@SkiaBitmapVideoSurface.allocated) return + val info = imageInfo + // imageInfo comes from the format that was last allocated and this frame from the format it was + // rendered with; they differ across a renegotiation, and the pixels would be read with the + // wrong stride, so display only what matches + if (bufferFormat.width != info.width || bufferFormat.height != info.height) return + val rowBytes = info.width.toLong() * 4 + val needed = rowBytes * info.height + val buffer = nativeBuffers[0] + // rewind first: the same buffer is reused for every frame, so its position is at the end of + // the previous read and remaining() would be 0 + buffer.rewind() + // Capture the array: a renegotiation replaces the field with one of another size before the + // deferred install runs, and info's geometry must be read against the array it was copied into. + // The next frame's copy can overwrite it while the install reads - a torn frame at worst, since + // the geometry checks above hold for both frames of the same format + val bytes = frameBytes + if (needed > bytes.size || buffer.remaining().toLong() < needed) return + buffer.get(bytes, 0, needed.toInt()) SwingUtilities.invokeLater { - nativeBuffers[0].rewind() - nativeBuffers[0].get(frameBytes) - skiaBitmap.installPixels(imageInfo, frameBytes, bufferFormat.width * 4) - composeBitmap.value = skiaBitmap.asComposeImageBitmap() + // installPixels reports whether skia took the pixels; publishing the bitmap when it did not + // would hand compose a bitmap with no pixels behind it + if (skiaBitmap.installPixels(info, bytes, rowBytes.toInt())) { + composeBitmap.value = skiaBitmap.asComposeImageBitmap() + } } } } diff --git a/apps/multiplatform/common/src/desktopMain/kotlin/chat/simplex/common/platform/VideoPlayer.desktop.kt b/apps/multiplatform/common/src/desktopMain/kotlin/chat/simplex/common/platform/VideoPlayer.desktop.kt index 768d2f421d..d9375f5d79 100644 --- a/apps/multiplatform/common/src/desktopMain/kotlin/chat/simplex/common/platform/VideoPlayer.desktop.kt +++ b/apps/multiplatform/common/src/desktopMain/kotlin/chat/simplex/common/platform/VideoPlayer.desktop.kt @@ -11,7 +11,6 @@ import uk.co.caprica.vlcj.media.Media import uk.co.caprica.vlcj.media.MediaEventAdapter import uk.co.caprica.vlcj.media.MediaParsedStatus import uk.co.caprica.vlcj.media.ParseFlag -import uk.co.caprica.vlcj.media.VideoOrientation import uk.co.caprica.vlcj.player.base.* import uk.co.caprica.vlcj.player.component.CallbackMediaPlayerComponent import uk.co.caprica.vlcj.player.component.EmbeddedMediaPlayerComponent @@ -232,7 +231,18 @@ actual class VideoPlayer actual constructor( player.media().startPaused(uri.toFile().absolutePath) val snap = withTimeoutOrNull(1500L) { while (surface.bitmap.value == null) delay(50) - surface.bitmap.value!!.toAwtImage() + // The render callback installs pixels into the surface bitmap on the event thread, so read it + // there too - converting off that thread races a resize on format renegotiation and segfaults + // inside skia while reading pixels of the previous, smaller buffer + val holder = java.util.concurrent.atomic.AtomicReference(null) + // invokeAndWait rethrows whatever the conversion threw, wrapped, and the callers of this have + // no handler; a frame that cannot be converted is a missing preview, not a failed send + try { + javax.swing.SwingUtilities.invokeAndWait { holder.set(surface.bitmap.value?.toAwtImage()) } + } catch (e: Exception) { + Log.e(TAG, "getBitmapFromVideo snapshot failed: ${e.stackTraceToString()}") + } + holder.get() } val orientation = player.media().info().videoTracks().firstOrNull()?.orientation() if (orientation == null) { @@ -242,17 +252,9 @@ actual class VideoPlayer actual constructor( return@withContext VideoPlayerInterface.PreviewAndDuration(preview = defaultPreview, timestamp = 0L, duration = 0L) } - val preview: ImageBitmap? = when (orientation) { - VideoOrientation.TOP_LEFT -> snap - VideoOrientation.TOP_RIGHT -> snap?.flip(false, true) - VideoOrientation.BOTTOM_LEFT -> snap?.flip(true, false) - VideoOrientation.BOTTOM_RIGHT -> snap?.rotate(180.0) - VideoOrientation.LEFT_TOP -> snap /* Transposed */ - VideoOrientation.LEFT_BOTTOM -> snap?.rotate(-90.0) - VideoOrientation.RIGHT_TOP -> snap?.rotate(90.0) - VideoOrientation.RIGHT_BOTTOM -> snap /* Anti-transposed */ - else -> snap - }?.toComposeImageBitmap() + // vlc applies the display matrix before the frame reaches the video surface, so the snapshot + // arrives upright; orienting it again here would undo that + val preview: ImageBitmap? = snap?.toComposeImageBitmap() val duration = player.duration.toLong() player.stop() putHelperPlayer(mediaComponent) diff --git a/apps/multiplatform/common/src/desktopMain/kotlin/chat/simplex/common/views/chat/item/CIVideoView.desktop.kt b/apps/multiplatform/common/src/desktopMain/kotlin/chat/simplex/common/views/chat/item/CIVideoView.desktop.kt index bdfbf6863f..d60790b694 100644 --- a/apps/multiplatform/common/src/desktopMain/kotlin/chat/simplex/common/views/chat/item/CIVideoView.desktop.kt +++ b/apps/multiplatform/common/src/desktopMain/kotlin/chat/simplex/common/views/chat/item/CIVideoView.desktop.kt @@ -4,6 +4,7 @@ import androidx.compose.foundation.combinedClickable import androidx.compose.foundation.layout.* import androidx.compose.runtime.* import androidx.compose.ui.Modifier +import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.platform.LocalWindowInfo import androidx.compose.ui.unit.Dp @@ -14,6 +15,8 @@ import java.awt.Window @Composable actual fun PlayerView(player: VideoPlayer, width: Dp, onClick: () -> Unit, onLongClick: () -> Unit, stop: () -> Unit) { Box { + // The preview this replaces while playing is drawn with FillWidth, so a video smaller than the + // item width has to grow the same way here - Fit would leave it at its own size in the middle SurfaceFromPlayer(player, Modifier .width(width) @@ -21,7 +24,8 @@ actual fun PlayerView(player: VideoPlayer, width: Dp, onClick: () -> Unit, onLon onLongClick = onLongClick, onClick = { if (player.player.isPlaying) stop() else onClick() } ) - .onRightClick(onLongClick) + .onRightClick(onLongClick), + contentScale = ContentScale.FillWidth ) } } diff --git a/apps/multiplatform/common/src/desktopMain/kotlin/chat/simplex/common/views/chat/item/ImageFullScreenView.desktop.kt b/apps/multiplatform/common/src/desktopMain/kotlin/chat/simplex/common/views/chat/item/ImageFullScreenView.desktop.kt index 583aa8f52f..9fb4afbf7d 100644 --- a/apps/multiplatform/common/src/desktopMain/kotlin/chat/simplex/common/views/chat/item/ImageFullScreenView.desktop.kt +++ b/apps/multiplatform/common/src/desktopMain/kotlin/chat/simplex/common/views/chat/item/ImageFullScreenView.desktop.kt @@ -43,7 +43,7 @@ actual fun FullScreenVideoView(player: VideoPlayer, modifier: Modifier, close: ( } @Composable -fun BoxScope.SurfaceFromPlayer(player: VideoPlayer, modifier: Modifier) { +fun BoxScope.SurfaceFromPlayer(player: VideoPlayer, modifier: Modifier, contentScale: ContentScale = ContentScale.Fit) { val surface = remember { SkiaBitmapVideoSurface().also { player.player.videoSurface().set(it) @@ -54,7 +54,7 @@ fun BoxScope.SurfaceFromPlayer(player: VideoPlayer, modifier: Modifier) { bitmap, modifier = modifier.align(Alignment.Center), contentDescription = null, - contentScale = ContentScale.Fit, + contentScale = contentScale, alignment = Alignment.Center, ) } diff --git a/plans/2026-08-24-desktop-rotated-video-playback.md b/plans/2026-08-24-desktop-rotated-video-playback.md new file mode 100644 index 0000000000..0ef27efbaf --- /dev/null +++ b/plans/2026-08-24-desktop-rotated-video-playback.md @@ -0,0 +1,109 @@ +# Desktop: rotated videos squashed on playback, preview rotated twice, snapshot crash + +## Problem + +A video carrying rotation metadata - what a phone records in portrait - is squashed when it +plays in a chat item on desktop, while its preview looks correct. Re-sending such a video from +desktop produces a preview that is wrong for every recipient. Attaching one can take the app +down with a SIGSEGV inside skia. Separately, any video smaller than the width of the message +item plays at its own size in the middle of the item instead of filling it, though its preview +fills the width. + +## Cause + +Three defects, of different ages, on the path a frame takes from libvlc to the screen. + +**The buffer is sized from the wrong dimensions.** `SkiaBitmapVideoSurface` asks libvlc for a +buffer of `track.width() x track.height()`. The track carries the size before rotation, but vlc +applies the display matrix before the frame reaches the vmem callback, so the picture arriving +is transposed with respect to the buffer, and vlc stretches it to fill. Measured with a +1920x1080 HEVC file whose display matrix is -90: + +| source | value | +| -------------------------- | -------------------- | +| size libvlc offers | 1088x1920 (rotated) | +| `track.width()/height()` | 1920x1080 (coded) | +| buffer requested before fix | 1920x1080 | + +Asking for the track size was introduced to drop the decoder's padding (#7391); it is right for +an unrotated video and wrong for a rotated one, because it discards the orientation libvlc had +already applied. + +**The preview is oriented twice.** `previewAndDuration` takes a snapshot from the same surface +and then rotates it by hand. The snapshot arrives at 1080x1920 and already upright - dumping it +to a PNG confirms the content, not just the dimensions - and the manual rotation turns it back +to 1920x1080. Before this change the two errors cancelled: a wrongly shaped buffer plus a +manual rotation produced a preview that looked right, which is why the preview was correct while +playback was not. + +**The snapshot races the render callback.** The render callback installs pixels into the shared +bitmap on the event thread; the snapshot converted it on the preview thread. The format is +renegotiated several times per file, so a resize between `installPixels` and `readPixels` makes +skia read past the end of the buffer: + +``` +SIGSEGV ... C [libskiko-linux-x64.so+0x1e7807] sse2::load_8888(...) + at org.jetbrains.skia.Bitmap.readPixels + at chat.simplex.common.platform.VideoPlayer$Companion$getBitmapFromVideo$2$snap$1 +``` + +**Small videos do not fill the item.** The preview is drawn with `ContentScale.FillWidth` and +the playback surface with `ContentScale.Fit`. `Fit` never exceeds the height of the box, so a +320x240 video stays at its own size, centred, while its preview fills the width. This is only +visible for sources narrower than the item. + +## Fix + +Swap the requested width and height for the four transposed orientations, so the buffer matches +the picture vlc delivers, and keep the track size otherwise so the padding fix still holds. +Drop the manual orientation handling from the preview, since the frame is already upright. Read +the snapshot on the event thread, where the render callback writes it. Draw the inline playback +surface with `FillWidth`, as its preview is drawn. + +## Bounds + +The dimensions come from a received file, so they are attacker-chosen and are treated as such. + +- Both track sides are used or neither. One side from the track beside the other from libvlc's + padded size never described the same picture, and transposing such a pair compounds it. +- The requested area is capped, scaling down and keeping the aspect where both sides can shrink; + a side pinned at 1 takes the whole budget on the other side instead, since scaling cannot keep + the aspect of a 2000000000x1 declaration and hold the area at once. An unbounded request is an + out-of-memory from a message: 16000x16000 is 1 GB of RV32, requested from vlc and copied into + a java array of the same size. The cap also keeps `width * height * 4` inside an `Int`. +- Neither side can be zero, so a 1x4000 or 4000x1 file cannot produce an empty buffer. +- The sides are only swapped when the track's own sides are used. The size libvlc passes is + already rotated, so swapping that pair would recreate the squash for a file that declares a + rotation and a zero-sized track. +- A frame is dropped rather than displayed when it does not fill the bitmap skia is told to + read, when the format it was rendered with is not the one the bitmap was sized by, and before + any buffer has been allocated. The checks and the copy run inside the render callback, on + vlc's thread: the native buffer is only guaranteed to exist for the duration of the callback, + so code deferred to another thread would read through a pointer vlc may have freed on a format + change. Only the copied frame is handed to the event thread. +- The bitmap is published only when skia reports that it took the pixels, and a snapshot that + cannot be converted is logged and left empty rather than thrown into callers that have no + handler for it. + +## Testing + +Fifteen files covering 320x240 to 3840x2160, square, odd, and 1234x567 sizes, h264, vp9, av1 +and hevc, unrotated and 90/180/270, plus 1x4000, 4000x1 and 16000x16000. Checked that rotated +videos play upright and preview upright, that a re-sent video keeps its shape, that attaching +does not crash, that a 320x240 video fills the item, that the AV1 padding fix still holds, and +that the 16000x16000 file is scaled to the cap instead of allocating a gigabyte. + +## Android + +None of these reach android. The buffer format callback is desktop only - android renders +through exoplayer's `StyledPlayerView`, with no buffer for us to size - and its preview comes +from `MediaMetadataRetriever.getFrameAtTime`, which returns an oriented frame and is not +rotated again. The event thread race is skia and swing. Android already fills the item width +with `RESIZE_MODE_FIXED_WIDTH`, which is what the `FillWidth` change gives desktop. + +## Not addressed + +`CIVideoView` bounds the item's aspect ratio above at 2.33 but not below, so a 4000x1 video +still lays out with a height that rounds to zero. The snapshot's `invokeAndWait` is not +cancellable, so its 1.5s timeout cannot interrupt a wedged event thread. Both are outside the +functions this change touches. From e80a174f1352bcd7ae29f47468153e7d9d2f39b0 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Fri, 28 Aug 2026 09:31:24 +0000 Subject: [PATCH 10/69] core: badge codes schema, plan (#7427) --- .../common/views/chatlist/ChatListView.kt | 16 +- .../BadgeService/Store/Postgres/Migrations.hs | 38 +++- .../BadgeService/Store/SQLite/Migrations.hs | 38 +++- docs/protocol/badges-rpc.md | 10 +- docs/protocol/badges-rpc.schema.json | 9 +- plans/2026-08-27-badges-mvp-streams.md | 194 ++++++++++++++++++ src/Simplex/Chat/Badges/Service.hs | 4 + src/Simplex/Chat/Badges/Types.hs | 6 +- src/Simplex/Chat/PaymentService.hs | 1 - .../Migrations/M20261001_user_badges.hs | 34 +++ .../Migrations/M20261001_user_badges.hs | 34 +++ 11 files changed, 364 insertions(+), 20 deletions(-) create mode 100644 plans/2026-08-27-badges-mvp-streams.md diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt index 19f50de743..16a944d7bd 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt @@ -1037,15 +1037,13 @@ private fun BoxScope.ChatList(searchText: MutableState, listStat } else { NavigationBarBackground(oneHandUI.value, true) } - // TEMP-DISABLED-FOR-BADGES-QA: auto-hide of ToggleChatListCard at 3+ chats blocks visual QA of - // the SupportSimpleXBanner alongside it. Restore before merging. - // if (!oneHandUICardShown.value) { - // LaunchedEffect(chats.size) { - // if (chats.size >= 3) { - // appPrefs.oneHandUICardShown.set(true) - // } - // } - // } + if (!oneHandUICardShown.value) { + LaunchedEffect(chats.size) { + if (chats.size >= 3) { + appPrefs.oneHandUICardShown.set(true) + } + } + } LaunchedEffect(activeFilter.value) { searchText.value = TextFieldValue("") diff --git a/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs b/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs index 04b7674cec..daa6905033 100644 --- a/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs +++ b/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs @@ -31,7 +31,43 @@ m20260806_badge_service_schema = servicePrefix [r| ALTER TABLE @payments ADD COLUMN receipt_hash BYTEA; + +CREATE TABLE @badge_codes( + badge_code_id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, + code_hash BYTEA NOT NULL, + badge_type TEXT NOT NULL, + months SMALLINT NOT NULL, + code_payment_status TEXT NOT NULL, + redeemed_at TIMESTAMPTZ, + created_at TIMESTAMPTZ NOT NULL, + UNIQUE(code_hash) +); + +ALTER TABLE @badge_purchases ADD COLUMN badge_code_id BIGINT REFERENCES @badge_codes; + +CREATE UNIQUE INDEX @idx_badge_purchases_code ON @badge_purchases(badge_code_id); + +CREATE TABLE @badge_code_invoices( + invoice_id TEXT NOT NULL PRIMARY KEY REFERENCES @invoices ON DELETE CASCADE, + price_id TEXT NOT NULL REFERENCES @badge_prices, + offer_id TEXT REFERENCES @badge_offers, + months SMALLINT NOT NULL, + created_at TIMESTAMPTZ NOT NULL +); |] down_m20260806_badge_service_schema :: Text -down_m20260806_badge_service_schema = badgeSchemaDown servicePrefix +down_m20260806_badge_service_schema = + withPrefix + servicePrefix + [r| +DROP TABLE @badge_code_invoices; + +DROP INDEX @idx_badge_purchases_code; +|] + <> badgeSchemaDown servicePrefix + <> withPrefix + servicePrefix + [r| +DROP TABLE @badge_codes; +|] diff --git a/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs b/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs index b0974f177d..d96c779094 100644 --- a/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs +++ b/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs @@ -32,7 +32,43 @@ m20260806_badge_service_schema = servicePrefix [sql| ALTER TABLE @payments ADD COLUMN receipt_hash BLOB; + +CREATE TABLE @badge_codes( + badge_code_id INTEGER PRIMARY KEY AUTOINCREMENT, + code_hash BLOB NOT NULL, + badge_type TEXT NOT NULL, + months INTEGER NOT NULL, + code_payment_status TEXT NOT NULL, + redeemed_at TEXT, + created_at TEXT NOT NULL, + UNIQUE(code_hash) +); + +ALTER TABLE @badge_purchases ADD COLUMN badge_code_id INTEGER REFERENCES @badge_codes; + +CREATE UNIQUE INDEX @idx_badge_purchases_code ON @badge_purchases(badge_code_id); + +CREATE TABLE @badge_code_invoices( + invoice_id TEXT NOT NULL PRIMARY KEY REFERENCES @invoices ON DELETE CASCADE, + price_id TEXT NOT NULL REFERENCES @badge_prices, + offer_id TEXT REFERENCES @badge_offers, + months INTEGER NOT NULL, + created_at TEXT NOT NULL +); |] down_m20260806_badge_service_schema :: Query -down_m20260806_badge_service_schema = badgeSchemaDown servicePrefix +down_m20260806_badge_service_schema = + withPrefix + servicePrefix + [sql| +DROP TABLE @badge_code_invoices; + +DROP INDEX @idx_badge_purchases_code; +|] + <> badgeSchemaDown servicePrefix + <> withPrefix + servicePrefix + [sql| +DROP TABLE @badge_codes; +|] diff --git a/docs/protocol/badges-rpc.md b/docs/protocol/badges-rpc.md index 7ce3b78b34..f3bafec240 100644 --- a/docs/protocol/badges-rpc.md +++ b/docs/protocol/badges-rpc.md @@ -10,15 +10,16 @@ A request is an envelope: `version` — the client's protocol version; `purchase ## Identity -Each purchase runs under a fresh Ed25519 key pair; `purchaseKey` is its public part and identifies the badge. The service cannot link purchases of one user; the exceptions are the declared upgrades below. `getBadgeCatalog` may omit `purchaseKey`: unsigned, it returns the catalog alone; signed, its response adds the purchase's `badgeStatement` — a client holding a lapsed badge checks for credits in the same request that prices a new purchase, and buys under a fresh key only when the statement shows none. Every other command requires the key and is signed with it. The agent delivers the verified signer key alongside the request; the service rejects a `purchaseKey` that differs from it with `bad_request`, and a key it holds no record of with `unknown_purchase_key`. +Each purchase runs under a fresh Ed25519 key pair; `purchaseKey` is its public part and identifies the badge. The service cannot link purchases of one user; the exceptions are the declared upgrades below. `getBadgeCatalog` may omit `purchaseKey`: unsigned, it returns the catalog alone; signed, its response adds the purchase's `badgeStatement` — a client holding a lapsed badge checks for credits in the same request that prices a new purchase, and buys under a fresh key only when the statement shows none. Every other command requires the key and is signed with it. The agent delivers the verified signer key alongside the request; the service rejects a `purchaseKey` that differs from it with `bad_request`. -A purchase record is created by `getBadgeInvoice`, or by `purchaseBadge` funded with `apple`, `google`, `code`, or `receipt`. +A purchase record is created by `redeemBadgeCode`, by `getBadgeInvoice`, or by `purchaseBadge` funded with `apple`, `google`, or `receipt`. Those commands accept a key the service holds no record of — on a first purchase it always will. Every other command answers `unknown_purchase_key` for such a key. ## Idempotency A timeout hides the outcome, so the client repeats the identical signed request at its next trigger, never on a poll timer. - `getBadgeInvoice` — returns the open invoice again; a new invoice is created only when none is open. +- `redeemBadgeCode` — a code already redeemed by the signing key returns the same `badgeCredential` and writes nothing; redeemed by another key, `code_used`. The client must therefore keep the key it first signed with, or a retry cannot be recognised. - `purchaseBadge` — a payment already credited returns the same `badgeCredential` and writes nothing. - `upgradeBadgeSubscription` — evidence already applied returns the same result and writes nothing. - `issueBadge` — repeated within an issued period, returns the cached credential and writes nothing. @@ -30,7 +31,8 @@ A timeout hides the outcome, so the client repeats the identical signed request - `getBadgeCatalog` → `badgeCatalog` — the prices and offers; signed, also the purchase's `badgeStatement`. Store builds never send it: prices come from the store and SKUs from app config. - `getBadgeInvoice` → `badgeInvoice` — prices the purchase for `badgeInfo` and `paymentVia` (`card` — Stripe; `crypto` — btc, xmr). The response holds the generic `invoice` — `invoiceId`, `price`, `discount`, the upgrade `credit`, `amount` = price − discount − credit, `currency`, `expiresAt`, and `paymentTo` (`url` for card; `address` and `cryptoAmount` for crypto) — beside the badge part, `badgeType` and `months`. `priceId` pins the price the client displayed; `offerId` selects a discounted duration, and its absence buys one month at that price. Price and offer status is checked here only: `deprecated` is still accepted, `disabled` is rejected; a badge type with no active price yields `product_unavailable`. -- `purchaseBadge` → `badgeCredential` — verifies the funding (`apple` JWS offline; `google` token via the Publisher API; `invoice` against webhook-confirmed settlement, `payment_pending` until it lands; `code`; `receipt`), records the credit, and issues the first credential, in one round trip. The response `receipt` is the recovery bearer secret (model § recovery); the service stores its hash; lifetime badges receive none. +- `redeemBadgeCode` → `badgeCredential` — redeems a code, records the credit, and issues the first credential, in one round trip. It carries `masterKey` and `code` and no `badgeRequest`: a code states no tier and no expiry, so the credential is what reports them. Errors: `code_invalid` for an unknown or malformed code, `code_used` when another key redeemed it, `code_expired` past a redemption deadline. +- `purchaseBadge` → `badgeCredential` — verifies the funding (`apple` JWS offline; `google` token via the Publisher API; `invoice` against webhook-confirmed settlement, `payment_pending` until it lands; `receipt`), records the credit, and issues the first credential, in one round trip. The response `receipt` is the recovery bearer secret (model § recovery); the service stores its hash; lifetime badges receive none. - Funding by `receipt` is a transfer (post-MVP): the unissued months of the purchase that receipt belongs to move to the signing key, recorded as `debit(transferOut)` on the source and `credit(transferIn)` on the new purchase, and the presented receipt is retired for a fresh one. The transferred period's issuance debits a month like any other. Lifetime badges hold no receipt, so support handles them. - `upgradeBadgeSubscription` → `badgeCredential` — the app-led store subscription change, on the same key: verifies the store evidence of the replaced subscription and records the new plan; an immediate upgrade returns the new credential, a deferred change returns none. - `issueBadge` → `badgeCredential` — issues the next period from the balance, the only source of issuance. The ledger is advanced first; the credential is signed before the `debit(badge)` and issuance rows are written, in one transaction. An exhausted balance yields no `credential`; the `statement` shows why. Issuing on a paused badge resumes it (model 2.13). @@ -61,4 +63,4 @@ An assertion that names an entry the service holds is a prefix: the service proc ## Errors -`retryAfter` marks the transient codes: `payment_pending`, `provider_unavailable`, `rate_limited`. `offer_disabled` calls for a catalog refresh. `code_invalid` covers unknown and revoked codes; `code_used` — redeemed under another key. `receipt_invalid` covers unknown receipts. All other codes are terminal for the attempted command. +`retryAfter` marks the transient codes: `payment_pending`, `provider_unavailable`, `rate_limited`. `offer_disabled` calls for a catalog refresh. `code_invalid` covers unknown, malformed and revoked codes alike, so a guesser learns nothing from the difference; `code_used` — redeemed under another key; `code_expired` — past its redemption deadline. `receipt_invalid` covers unknown receipts. All other codes are terminal for the attempted command. diff --git a/docs/protocol/badges-rpc.schema.json b/docs/protocol/badges-rpc.schema.json index 00ecc69874..6a3b2f81d4 100644 --- a/docs/protocol/badges-rpc.schema.json +++ b/docs/protocol/badges-rpc.schema.json @@ -102,9 +102,6 @@ "invoice": { "properties": {"invoiceId": {"type": "string"}} }, - "code": { - "properties": {"code": {"type": "string"}} - }, "receipt": { "properties": { "receipt": { @@ -298,6 +295,12 @@ } } }, + "redeemBadgeCode": { + "properties": { + "masterKey": {"ref": "base64url"}, + "code": {"type": "string"} + } + }, "purchaseBadge": { "properties": { "badgeRequest": {"ref": "badgeRequest"}, diff --git a/plans/2026-08-27-badges-mvp-streams.md b/plans/2026-08-27-badges-mvp-streams.md new file mode 100644 index 0000000000..444ad73f91 --- /dev/null +++ b/plans/2026-08-27-badges-mvp-streams.md @@ -0,0 +1,194 @@ +# Supporter badges — beta slice and stream plan + +**2026-08-27** · protocol `docs/protocol/badges-rpc.{md,schema.json}` · model and copy rules `plans/2026-07-30-supporter-badges-v3-ux.md` · core API `plans/2026-07-31-badges-core-implementation.md`. The product plan's §4 wire protocol was superseded before implementation; `badges-rpc.md` is the protocol. + +--- + +## 1. The slice + +Beta ships one route to a badge: **buy a code in a browser, redeem it in the app.** The app asks no purchase questions — tier, duration and method are the site's. + +Deferred, still in the protocol: in-app invoices, store purchase, subscriptions, upgrades, transfers, pause, alerts. + +**First, no dependencies:** divert the apps' purchase path so nothing reaches a store charge — it takes real money today and issues no badge. The views and the store code stay in place, uncalled. + +Accepted: a code is a bearer instrument. Whoever sees it can spend it, and this slice has no revocation. + +## 2. State on `badges` + +Other branches may carry work this does not see. + +- **Written** — credential signing, verification, proofs, status, presentation; protocol types, RPC docs, JTD schema; client and service schema incl. this plan's tables; app banner, settings entry, what's-new +- **Scaffold** — badge service answers every request `unsupported_version` +- **Not written** — JSON instances for most protocol types; core client badge API, store, worker; checkout site and providers; app redeem view (title-only stub), badge-state screen, browser hand-off +- **To divert** — the app's tier/duration screens, which today lead to a store purchase + +Registering the client migration needs `STRICT` on all ten SQLite tables; Postgres must not have it. + +--- + +## 3. Contracts between streams + +**The code** — `SXB-` + 20 Crockford chars in four groups, one of them a check character. Normalisation upper-cases and folds `I`/`L`→`1`, `O`→`0`, identically both sides. Only `SHA-256` of the normalised code is stored anywhere. Site codes are `HMAC(secret, orderId)`; operator codes are random. + +**`redeemBadgeCode`** over service RPC — signed with an Ed25519 key generated per code and reused by a retry of it. Carries the badge master key and the code, nothing else. Returns the signed credential and a **statement**, or `code_invalid` | `code_used` | `code_expired` | `rate_limited` | `internal`. + +A *statement* is an extract of the badge's ledger — the months balance, as a list of entries. The ledger is authored by the service alone; the client keeps a verbatim replica and reads its balance from the last entry. + +**The catalog** — one source in the service, one total function. The site renders those totals; the browser never multiplies a price by a month count. The app does not read it this release. + +The code is the only thing crossing site → app. The site never sees a purchase key, credential or ledger; the app never sees an order. + +--- + +## 4. Stream 1 — codes for badges + +### 4.1 Redemption becomes its own command + +`purchaseBadge {badgeRequest, payment:{type:"code"}}` asks the caller for a tier and expiry it cannot know and the service must override. + +- `redeemBadgeCode {masterKey, code}` → `badgeCredential {credential, receipt?, statement}` +- `code` leaves the payment union; `purchaseBadge` keeps the rest — `apple`, `google`, `invoice`, `receipt` — and stays unimplemented +- the tier is stated by the credential, which the client verifies +- client command `APIRedeemBadgeCode {userId, code}` + +One thing here fails quietly. The request envelope carries an optional `purchaseKey`, and the service decides per command whether that key must already name a purchase — most require it and answer `unknown_purchase_key` otherwise. `redeemBadgeCode` is the exception: it *creates* the purchase, so on a first redemption the key is always unknown. Miss the special case and the lookup falls through to the default, every first redemption is refused, and nothing fails to compile because it is a runtime lookup. Worth its own test. + +### 4.2 Schema + +The tables, in layers: + +- **money** — `invoices` (an amount owed), `payments` (an amount paid), `subscription_charges`. Generic: they carry no idea what was bought. +- **catalog** — `badge_prices` (tier → price per month), `badge_offers` (duration discounts). +- **what an invoice bought** — `badge_invoices` for a purchase, `badge_code_invoices` for a voucher. Same shape, except the second names no purchase: at the time of sale none exists, and the buyer may never be the redeemer. +- **the badge** — `badge_purchases` is the anchor: keys, tier, status, and what funded it — `payment_id` for an in-app purchase, or a code. The code column is added separately on each side, each pointing at its own code table. Its balance is `badge_ledger`, its credentials `badge_issuances`, and `users.shown_badge_id` names the one on show. +- **the voucher** — `badge_codes`, service only: the hash, the tier and months it is worth, and `code_payment_status` — paid, unpaid or free — so a minted code is told from a sold one without joining invoices. Never a badge itself. +- **the attempt** — `badge_code_redemptions`, client only. It holds the code in plaintext, because the client sends the code and not its hash, and the keys the redemption is signed with, so a retry can be the same signer (§4.3). + +The beta path: the site writes an invoice and what it bought, then a code. The app redeems that code, which creates the purchase and its first issuance — and, from milestone D, its ledger. + +New here are `badge_code_redemptions` (client) and `badge_codes`, `badge_code_invoices` (service); all are in the migration modules already. Every schema change touches four files — the shared block, the client-only section and the service migrations each exist twice, SQLite and Postgres, unlinked by the build. + +### 4.3 Retry is safe + +A redemption is signed with a key the client generates for it. If that key is generated fresh on every attempt, a timeout is unrecoverable: the service may already have redeemed the code, and the retry arrives as a *different* signer, so it reads as someone else presenting a spent code — `code_used`. The user has paid and cannot get the badge. + +The fix is for a retry to be the **same** signer: + +- the service's replay keys on **(code hash, verified signer)**: the same code from the same key returns the credential it already issued and writes nothing +- so the client writes the signing keys into a `badge_code_redemptions` row **before** sending, found by the code, and a retry reads them back + +That row is a stash for the in-flight attempt. Its fate depends on the outcome: + +| outcome | the row | +|---|---| +| success | kept, and pointed at by the new purchase | +| terminal error — `code_invalid`, `code_used`, `code_expired` | deleted: the code will never work, so the keys are dead | +| timeout | **kept** — this is the case it exists for | + +The keys need a row of their own because **code redemption cannot create its `badge_purchases` row up front.** That row's badge-type columns are `NOT NULL` and a code carries no tier, so there is nowhere to put them until the service answers. An in-app purchase has no such problem — the tier was picked on screen, so it creates its purchase in `acquiring` immediately. + +### 4.4 Service + +Store layer, ledger transitions, credential signing, code minting and classification, RPC dispatcher, then the redeem and issue handlers. + +**Nothing is written until the credential is signed.** Look the code up, compute the ledger changes in memory, sign — and only then open one transaction that writes the purchase, the ledger rows, the issuance and the redemption together. Signing is the step most likely to fail for reasons unrelated to the request. If the code were marked redeemed first, a signing failure would leave it spent with no credential behind it: dead, and revivable only by an operator. Signing first means a failure touches nothing and the user can simply try again. + +**Errors say as little as possible.** An unknown code and a malformed one both answer `code_invalid`, so someone guessing learns nothing from the difference. A code already redeemed answers `code_used` — but only to a *different* key; the key that redeemed it gets its credential back (§4.3). + +### 4.5 Core client + +Badge store, commands and events, re-issue worker, redeem path. + +- verify the credential against the configured issuer keys **before** writing anything +- copy the statement's entries into the ledger replica exactly as received — never compute a balance locally, never edit or invent an entry; one author means client and service cannot disagree +- on success, one transaction: write the purchase and its issuance, copy the ledger entries, complete the code row, retire the profile's previous badge of the same kind, and point the profile at the new one — then release the lock and present to contacts +- split `addUserBadge` first — it verifies, stores and broadcasts under the global chat lock in one function and raises command errors; the redeem path needs a per-user lock and a service error code + +A profile shows one badge at a time and holds at most two: a paid one and an investor one. Redeeming a code fills that kind's place, and the purchase that was there moves to `superseded`. Its unspent months stay with it — purchases are unlinkable, so nothing can move a balance between them. That matters for **Add more months** (§4.6): a second code starts a new balance rather than topping up the old one. + +### 4.6 Apps + +- *Support SimpleX* — **Get the code** (opens the site; absent on store builds) and **Redeem the code** (everywhere) +- *Redeem code* — formats as typed, folds ambiguous characters, verifies the check character before sending, one message per service error +- *Supporter perks* — the badge, that it is shown, the date support **ends**, **Add more months**; plus the ended state +- **Diverted** — tier and duration screens leave the flow, kept compiled and uncalled; store product loading and the catalog command lose their last callers +- **Copy** — one date, the paid-through date from the ledger, never the credential's expiry; *ends*, never *renews* + +### 4.7 Issuing without selling + +Compensation codes need no new mechanism: minted by the operator, random rather than derived, printed once, stored as hashes. + +Investor badges are not a special case: an operator mints a code of that tier and it is redeemed by the same path as any other. `code_payment_status` records that it was minted rather than sold; the redemption path never reads it. + +A badge that never expires is a separate question, and deferred — the ledger holds a month count, so "forever" has no representation. Until it does, a long finite term serves: the count is a byte, so twenty years is expressible. + +### 4.8 Order of work + +**The ledger is stubbed until last** — redemption issues one credential and writes no ledger rows, and the statement comes back empty. Everything before D is a working badge without accounting. + +**First, independent:** divert the apps' purchase path (§1). + +**A — core, redeemable from the CLI.** Migration registered with `STRICT` and both dumps regenerated; code format in the shared library; `redeemBadgeCode` types, JSON, schema and docs; service store, signing, dispatcher and redeem handler; a minimal mint command. + +`APIRedeemBadgeCode` lands here **with its `chatCommandP` parser and `View.hs` rendering**, so a code can be redeemed from the terminal with no app involved. That is what proves the round trip — RPC delivery, signing, credential verification, the profile update — before any UI exists to confuse the picture, and it stays the fastest way to reproduce a redemption afterwards. + +Tests land here too, not later: `tests/Bots/BadgeServiceTests.hs` already starts the service in-process and hands a chat client its address, so a mint-then-redeem case is an extension of the existing harness rather than new scaffolding. Cover the code redeeming into a badge, and an unknown code answering `code_invalid`. That spec sits under `xdescribe''`, which skips when `CI` is set — so it must be run locally; CI green is not evidence for it. + +*Done when* a code minted by that command and redeemed from the terminal puts a badge on the profile and contacts see it, and those tests pass locally. + +**B — apps.** Support screen with its two actions, redeem screen, badge-state screen, copy. Both platforms in step. *Done when* the same works by pasting a code into the app. + +**C — unhappy paths.** Retry idempotency — keys stashed before sending, replay keyed on (code hash, signer). Error mapping for `code_invalid`, `code_used`, `code_expired` and a locally failed verification. + +**D — ledger.** Transitions, credit on redemption, debit on issue, lapse; statement in the response; client replica; monthly re-issue worker. *Done when* a three-month code re-issues at the month boundary and both ledgers match row for row. Property tests here: balance never below zero, issuance debits exactly one month, lapse removes only elapsed unissued months. + +### 4.9 Done means + +- an operator-minted code redeems on desktop, Android and iOS and shows on the profile and in member lists +- the same code twice from one profile returns the same badge and consumes nothing +- a timeout then a retry issues exactly one badge, no operator involved +- every service error renders inline, as does a locally failed credential verification +- an operator-minted code redeems by the same path as one bought on the site, whatever its tier +- client and service ledger rows match row for row; a crossed month boundary re-issues without a restart +- redeeming a code writes no payment row + +--- + +## 5. Stream 2 — selling codes on the web + +Takes money and produces codes: a page, card and crypto payment, and whatever server side that needs. Its only output that stream 1 consumes is a code. + +**What it owes stream 1** + +- codes in §3's format and normalisation, with only their `SHA-256` stored +- prices from the service catalog — one source and one total function, so the site and the app cannot disagree +- `badge_code_invoices` filled with what each invoice bought; the table is already in the schema + +**Its own to settle.** Hosting and deployment, endpoints, which providers, how the browser learns an order settled, how long a code stays retrievable after purchase, and what reference support resolves against. None of it reaches stream 1. + +**Before the tier page ships:** it advertises a storage-duration perk — confirm that perk exists (§6) or drop the claim. + +--- + +## 6. Stream 3 — perks + +What an active badge changes for the user: XFTP file size and storage duration, granted against the badge proof the sender presents. + +Integration points, in dependency order: + +1. a presentation context binding a proof to the operation it authorises, so a proof lifted from a profile cannot authorise an upload *(client)* +2. recipient-side size verification against the presented proof *(client)* +3. carrying the proof to the file server on upload *(simplexmq)* +4. issuer keys in file-server config, so it can verify one *(simplexmq)* +5. per-file size and retention derived from the verified badge type *(simplexmq)* + +1 and 2 are client-side and independent of the rest. Target values: supporter 2GB and 7 days, legend 5GB and 21 days. + +--- + +## 7. Ledger — for information + +The months accounting, and a mechanism inside stream 1 rather than a stream of its own: the service authors every entry, the client keeps a verbatim replica and reads the balance from the last one. + +Beta needs three operations — credit on redemption, debit on issue, lapse on elapsed months — which is milestone D. The rest of the ledger's operations arrive with the features that need them. diff --git a/src/Simplex/Chat/Badges/Service.hs b/src/Simplex/Chat/Badges/Service.hs index 6f15d0fa16..ff06fb7d94 100644 --- a/src/Simplex/Chat/Badges/Service.hs +++ b/src/Simplex/Chat/Badges/Service.hs @@ -62,6 +62,10 @@ data BadgeServiceCommand paymentVia :: ServicePaymentMethod, upgrade :: Maybe BadgeUpgrade -- upgrade non-store badge } + | BSCRedeemBadgeCode + { masterKey :: BadgeMasterKey, + code :: Text -- no badgeRequest: a code carries no tier for the client to state + } | BSCPurchaseBadge { badgeRequest :: BadgeRequest, payment :: ServicePayment, diff --git a/src/Simplex/Chat/Badges/Types.hs b/src/Simplex/Chat/Badges/Types.hs index 70dd4dfa8c..c5289504f0 100644 --- a/src/Simplex/Chat/Badges/Types.hs +++ b/src/Simplex/Chat/Badges/Types.hs @@ -9,6 +9,7 @@ module Simplex.Chat.Badges.Types BadgeItemStatus (..), OfferDiscount (..), BadgePurchaseStatus (..), + BadgeCodePaymentStatus (..), LedgerEntryType (..), LedgerCreditType (..), LedgerDebitType (..), @@ -22,7 +23,6 @@ module Simplex.Chat.Badges.Types ) where import qualified Data.Aeson as J -import Data.ByteString.Char8 (ByteString) import Data.Int (Int64) import Data.Text (Text) import Data.Time.Clock (UTCTime) @@ -58,6 +58,10 @@ data OfferDiscount data BadgePurchaseStatus = PSAcquiring | PSIssued | PSSuperseded | PSFailed deriving (Eq, Show) +-- unconfirmed draft +data BadgeCodePaymentStatus = CPSPaid | CPSUnpaid | CPSFree + deriving (Eq, Show) + -- confirmed data LedgerEntryType = LECredit {credit :: LedgerCreditType} | LEDebit {debit :: LedgerDebitType} deriving (Eq, Show) diff --git a/src/Simplex/Chat/PaymentService.hs b/src/Simplex/Chat/PaymentService.hs index a4484c469c..4cbfc0ef11 100644 --- a/src/Simplex/Chat/PaymentService.hs +++ b/src/Simplex/Chat/PaymentService.hs @@ -26,6 +26,5 @@ data ServicePayment = SPApple {jws :: Text} | SPGoogle {token :: Text} | SPInvoice {invoiceId :: InvoiceId} - | SPCode {code :: Text} | SPReceipt {receipt :: Text} -- transfer of unissued months deriving (Show) diff --git a/src/Simplex/Chat/Store/Postgres/Migrations/M20261001_user_badges.hs b/src/Simplex/Chat/Store/Postgres/Migrations/M20261001_user_badges.hs index 30908cdaf8..fd3024966d 100644 --- a/src/Simplex/Chat/Store/Postgres/Migrations/M20261001_user_badges.hs +++ b/src/Simplex/Chat/Store/Postgres/Migrations/M20261001_user_badges.hs @@ -180,12 +180,23 @@ CREATE INDEX @idx_badge_issuances_purchase ON @badge_issuances(badge_purchase_id badgeSchemaTablesDown :: Text badgeSchemaTablesDown = [r| +DROP INDEX @idx_badge_issuances_purchase; DROP TABLE @badge_issuances; +DROP INDEX @idx_badge_ledger_uuid; +DROP INDEX @idx_badge_ledger_purchase; +DROP INDEX @idx_badge_ledger_payment; +DROP INDEX @idx_badge_ledger_charge; +DROP INDEX @idx_badge_ledger_from_purchase; +DROP INDEX @idx_badge_ledger_to_purchase; DROP TABLE @badge_ledger; +DROP INDEX @idx_badge_subscription_changes_purchase; DROP TABLE @badge_subscription_changes; +DROP INDEX @idx_badge_invoices_purchase; DROP TABLE @badge_invoices; DROP TABLE @badge_purchases; DROP TABLE @subscription_charges; +DROP INDEX @idx_payments_provider_ref; +DROP INDEX @idx_payments_invoice; DROP TABLE @payments; DROP TABLE @invoices; DROP TABLE @badge_offers; @@ -217,11 +228,34 @@ ALTER TABLE badge_ledger ADD COLUMN entry_type_value TEXT; CREATE INDEX idx_badge_purchases_user ON badge_purchases(user_id); ALTER TABLE users ADD COLUMN shown_badge_id BIGINT REFERENCES badge_purchases ON DELETE SET NULL; + +CREATE TABLE badge_code_redemptions( + badge_code_redemption_id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, + user_id BIGINT NOT NULL REFERENCES users ON DELETE CASCADE, + code TEXT NOT NULL, + purchase_key BYTEA NOT NULL, + purchase_priv_key BYTEA NOT NULL, + master_key BYTEA NOT NULL, + created_at TIMESTAMPTZ NOT NULL, + UNIQUE(code) +); + +CREATE INDEX idx_badge_code_redemptions_user ON badge_code_redemptions(user_id); + +ALTER TABLE badge_purchases ADD COLUMN badge_code_redemption_id BIGINT REFERENCES badge_code_redemptions; + +CREATE UNIQUE INDEX idx_badge_purchases_code_redemption ON badge_purchases(badge_code_redemption_id); |] down_m20261001_user_badges :: Text down_m20261001_user_badges = [r| +DROP INDEX idx_badge_purchases_code_redemption; +DROP INDEX idx_badge_purchases_user; ALTER TABLE users DROP COLUMN shown_badge_id; |] <> badgeSchemaDown "" + <> [r| +DROP INDEX idx_badge_code_redemptions_user; +DROP TABLE badge_code_redemptions; +|] diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/M20261001_user_badges.hs b/src/Simplex/Chat/Store/SQLite/Migrations/M20261001_user_badges.hs index f1015ae393..94b2fbc41e 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/M20261001_user_badges.hs +++ b/src/Simplex/Chat/Store/SQLite/Migrations/M20261001_user_badges.hs @@ -181,12 +181,23 @@ CREATE INDEX @idx_badge_issuances_purchase ON @badge_issuances(badge_purchase_id badgeSchemaTablesDown :: Query badgeSchemaTablesDown = [sql| +DROP INDEX @idx_badge_issuances_purchase; DROP TABLE @badge_issuances; +DROP INDEX @idx_badge_ledger_uuid; +DROP INDEX @idx_badge_ledger_purchase; +DROP INDEX @idx_badge_ledger_payment; +DROP INDEX @idx_badge_ledger_charge; +DROP INDEX @idx_badge_ledger_from_purchase; +DROP INDEX @idx_badge_ledger_to_purchase; DROP TABLE @badge_ledger; +DROP INDEX @idx_badge_subscription_changes_purchase; DROP TABLE @badge_subscription_changes; +DROP INDEX @idx_badge_invoices_purchase; DROP TABLE @badge_invoices; DROP TABLE @badge_purchases; DROP TABLE @subscription_charges; +DROP INDEX @idx_payments_provider_ref; +DROP INDEX @idx_payments_invoice; DROP TABLE @payments; DROP TABLE @invoices; DROP TABLE @badge_offers; @@ -218,11 +229,34 @@ ALTER TABLE badge_ledger ADD COLUMN entry_type_value TEXT; CREATE INDEX idx_badge_purchases_user ON badge_purchases(user_id); ALTER TABLE users ADD COLUMN shown_badge_id INTEGER REFERENCES badge_purchases ON DELETE SET NULL; + +CREATE TABLE badge_code_redemptions( + badge_code_redemption_id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id INTEGER NOT NULL REFERENCES users ON DELETE CASCADE, + code TEXT NOT NULL, + purchase_key BLOB NOT NULL, + purchase_priv_key BLOB NOT NULL, + master_key BLOB NOT NULL, + created_at TEXT NOT NULL, + UNIQUE(code) +); + +CREATE INDEX idx_badge_code_redemptions_user ON badge_code_redemptions(user_id); + +ALTER TABLE badge_purchases ADD COLUMN badge_code_redemption_id INTEGER REFERENCES badge_code_redemptions; + +CREATE UNIQUE INDEX idx_badge_purchases_code_redemption ON badge_purchases(badge_code_redemption_id); |] down_m20261001_user_badges :: Query down_m20261001_user_badges = [sql| +DROP INDEX idx_badge_purchases_code_redemption; +DROP INDEX idx_badge_purchases_user; ALTER TABLE users DROP COLUMN shown_badge_id; |] <> badgeSchemaDown "" + <> [sql| +DROP INDEX idx_badge_code_redemptions_user; +DROP TABLE badge_code_redemptions; +|] From 6075ea579731fd859beea76eb0579526b2c0cd00 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Fri, 28 Aug 2026 10:20:13 +0000 Subject: [PATCH 11/69] core: register badges migration (#7429) --- .../BadgeService/Store/Postgres/Migrations.hs | 6 + .../BadgeService/Store/SQLite/Migrations.hs | 10 +- src/Simplex/Chat/Store/Postgres/Migrations.hs | 4 +- .../Migrations/M20261001_user_badges.hs | 15 + .../Store/Postgres/Migrations/chat_schema.sql | 462 +++++++++++++++++- src/Simplex/Chat/Store/SQLite/Migrations.hs | 4 +- .../Migrations/M20261001_user_badges.hs | 37 +- .../Store/SQLite/Migrations/chat_schema.sql | 180 ++++++- 8 files changed, 700 insertions(+), 18 deletions(-) diff --git a/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs b/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs index daa6905033..18d589b037 100644 --- a/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs +++ b/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs @@ -54,6 +54,10 @@ CREATE TABLE @badge_code_invoices( months SMALLINT NOT NULL, created_at TIMESTAMPTZ NOT NULL ); + +CREATE INDEX @idx_badge_code_invoices_offer ON @badge_code_invoices(offer_id); + +CREATE INDEX @idx_badge_code_invoices_price ON @badge_code_invoices(price_id); |] down_m20260806_badge_service_schema :: Text @@ -61,6 +65,8 @@ down_m20260806_badge_service_schema = withPrefix servicePrefix [r| +DROP INDEX @idx_badge_code_invoices_offer; +DROP INDEX @idx_badge_code_invoices_price; DROP TABLE @badge_code_invoices; DROP INDEX @idx_badge_purchases_code; diff --git a/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs b/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs index d96c779094..2851813c8c 100644 --- a/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs +++ b/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs @@ -42,7 +42,7 @@ CREATE TABLE @badge_codes( redeemed_at TEXT, created_at TEXT NOT NULL, UNIQUE(code_hash) -); +) STRICT; ALTER TABLE @badge_purchases ADD COLUMN badge_code_id INTEGER REFERENCES @badge_codes; @@ -54,7 +54,11 @@ CREATE TABLE @badge_code_invoices( offer_id TEXT REFERENCES @badge_offers, months INTEGER NOT NULL, created_at TEXT NOT NULL -); +) STRICT; + +CREATE INDEX @idx_badge_code_invoices_offer ON @badge_code_invoices(offer_id); + +CREATE INDEX @idx_badge_code_invoices_price ON @badge_code_invoices(price_id); |] down_m20260806_badge_service_schema :: Query @@ -62,6 +66,8 @@ down_m20260806_badge_service_schema = withPrefix servicePrefix [sql| +DROP INDEX @idx_badge_code_invoices_offer; +DROP INDEX @idx_badge_code_invoices_price; DROP TABLE @badge_code_invoices; DROP INDEX @idx_badge_purchases_code; diff --git a/src/Simplex/Chat/Store/Postgres/Migrations.hs b/src/Simplex/Chat/Store/Postgres/Migrations.hs index a8b4958de4..862a604da3 100644 --- a/src/Simplex/Chat/Store/Postgres/Migrations.hs +++ b/src/Simplex/Chat/Store/Postgres/Migrations.hs @@ -48,6 +48,7 @@ import Simplex.Chat.Store.Postgres.Migrations.M20260720_server_roles import Simplex.Chat.Store.Postgres.Migrations.M20260723_contact_request_rejection import Simplex.Chat.Store.Postgres.Migrations.M20260813_auto_accept_group_invitations import Simplex.Chat.Store.Postgres.Migrations.M20260822_forward_link +import Simplex.Chat.Store.Postgres.Migrations.M20261001_user_badges import Simplex.Messaging.Agent.Store.Shared (Migration (..)) schemaMigrations :: [(String, Text, Maybe Text)] @@ -95,7 +96,8 @@ schemaMigrations = ("20260720_server_roles", m20260720_server_roles, Just down_m20260720_server_roles), ("20260723_contact_request_rejection", m20260723_contact_request_rejection, Just down_m20260723_contact_request_rejection), ("20260813_auto_accept_group_invitations", m20260813_auto_accept_group_invitations, Just down_m20260813_auto_accept_group_invitations), - ("20260822_forward_link", m20260822_forward_link, Just down_m20260822_forward_link) + ("20260822_forward_link", m20260822_forward_link, Just down_m20260822_forward_link), + ("20261001_user_badges", m20261001_user_badges, Just down_m20261001_user_badges) ] -- | The list of migrations in ascending order by date diff --git a/src/Simplex/Chat/Store/Postgres/Migrations/M20261001_user_badges.hs b/src/Simplex/Chat/Store/Postgres/Migrations/M20261001_user_badges.hs index fd3024966d..0aa9153b2c 100644 --- a/src/Simplex/Chat/Store/Postgres/Migrations/M20261001_user_badges.hs +++ b/src/Simplex/Chat/Store/Postgres/Migrations/M20261001_user_badges.hs @@ -89,6 +89,8 @@ CREATE TABLE @badge_offers( created_at TIMESTAMPTZ NOT NULL ); +CREATE INDEX @idx_badge_offers_price ON @badge_offers(price_id); + CREATE TABLE @badge_purchases( badge_purchase_id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, purchase_key BYTEA NOT NULL, @@ -114,6 +116,10 @@ CREATE TABLE @badge_invoices( CREATE INDEX @idx_badge_invoices_purchase ON @badge_invoices(badge_purchase_id); +CREATE INDEX @idx_badge_invoices_offer ON @badge_invoices(offer_id); + +CREATE INDEX @idx_badge_invoices_price ON @badge_invoices(price_id); + CREATE TABLE @badge_subscription_changes( change_id TEXT NOT NULL PRIMARY KEY, badge_purchase_id BIGINT NOT NULL REFERENCES @badge_purchases ON DELETE CASCADE, @@ -175,12 +181,15 @@ CREATE TABLE @badge_issuances( ); CREATE INDEX @idx_badge_issuances_purchase ON @badge_issuances(badge_purchase_id, issuance_id); + +CREATE INDEX @idx_badge_issuances_entry ON @badge_issuances(entry_id); |] badgeSchemaTablesDown :: Text badgeSchemaTablesDown = [r| DROP INDEX @idx_badge_issuances_purchase; +DROP INDEX @idx_badge_issuances_entry; DROP TABLE @badge_issuances; DROP INDEX @idx_badge_ledger_uuid; DROP INDEX @idx_badge_ledger_purchase; @@ -192,6 +201,8 @@ DROP TABLE @badge_ledger; DROP INDEX @idx_badge_subscription_changes_purchase; DROP TABLE @badge_subscription_changes; DROP INDEX @idx_badge_invoices_purchase; +DROP INDEX @idx_badge_invoices_offer; +DROP INDEX @idx_badge_invoices_price; DROP TABLE @badge_invoices; DROP TABLE @badge_purchases; DROP TABLE @subscription_charges; @@ -199,6 +210,7 @@ DROP INDEX @idx_payments_provider_ref; DROP INDEX @idx_payments_invoice; DROP TABLE @payments; DROP TABLE @invoices; +DROP INDEX @idx_badge_offers_price; DROP TABLE @badge_offers; DROP TABLE @badge_prices; |] @@ -229,6 +241,8 @@ CREATE INDEX idx_badge_purchases_user ON badge_purchases(user_id); ALTER TABLE users ADD COLUMN shown_badge_id BIGINT REFERENCES badge_purchases ON DELETE SET NULL; +CREATE INDEX idx_users_shown_badge ON users(shown_badge_id); + CREATE TABLE badge_code_redemptions( badge_code_redemption_id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, user_id BIGINT NOT NULL REFERENCES users ON DELETE CASCADE, @@ -252,6 +266,7 @@ down_m20261001_user_badges = [r| DROP INDEX idx_badge_purchases_code_redemption; DROP INDEX idx_badge_purchases_user; +DROP INDEX idx_users_shown_badge; ALTER TABLE users DROP COLUMN shown_badge_id; |] <> badgeSchemaDown "" diff --git a/src/Simplex/Chat/Store/Postgres/Migrations/chat_schema.sql b/src/Simplex/Chat/Store/Postgres/Migrations/chat_schema.sql index ab6384cb29..fbc663f45d 100644 --- a/src/Simplex/Chat/Store/Postgres/Migrations/chat_schema.sql +++ b/src/Simplex/Chat/Store/Postgres/Migrations/chat_schema.sql @@ -168,6 +168,159 @@ CREATE TABLE test_chat_schema.app_settings ( +CREATE TABLE test_chat_schema.badge_code_redemptions ( + badge_code_redemption_id bigint NOT NULL, + user_id bigint NOT NULL, + code text NOT NULL, + purchase_key bytea NOT NULL, + purchase_priv_key bytea NOT NULL, + master_key bytea NOT NULL, + created_at timestamp with time zone NOT NULL +); + + + +ALTER TABLE test_chat_schema.badge_code_redemptions ALTER COLUMN badge_code_redemption_id ADD GENERATED ALWAYS AS IDENTITY ( + SEQUENCE NAME test_chat_schema.badge_code_redemptions_badge_code_redemption_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + + +CREATE TABLE test_chat_schema.badge_invoices ( + invoice_id text NOT NULL, + badge_purchase_id bigint NOT NULL, + price_id text NOT NULL, + offer_id text, + months smallint NOT NULL, + created_at timestamp with time zone NOT NULL +); + + + +CREATE TABLE test_chat_schema.badge_issuances ( + issuance_id text NOT NULL, + badge_purchase_id bigint NOT NULL, + entry_id bigint, + badge_type text NOT NULL, + period_start timestamp with time zone NOT NULL, + period_end timestamp with time zone NOT NULL, + expiry timestamp with time zone NOT NULL, + credential bytea NOT NULL, + created_at timestamp with time zone NOT NULL +); + + + +CREATE TABLE test_chat_schema.badge_ledger ( + entry_id bigint NOT NULL, + entry_uuid text NOT NULL, + badge_purchase_id bigint NOT NULL, + change_months smallint NOT NULL, + balance_months smallint NOT NULL, + balance_start_ts timestamp with time zone NOT NULL, + balance_badge_type text NOT NULL, + was_paused_since timestamp with time zone, + service_created_at timestamp with time zone NOT NULL, + created_at timestamp with time zone NOT NULL, + entry_type text NOT NULL, + entry_credit_type text, + entry_debit_type text, + payment_id text, + charge_id text, + from_purchase_id bigint, + to_purchase_id bigint, + entry_type_unknown smallint DEFAULT 0 NOT NULL, + entry_type_value text +); + + + +ALTER TABLE test_chat_schema.badge_ledger ALTER COLUMN entry_id ADD GENERATED ALWAYS AS IDENTITY ( + SEQUENCE NAME test_chat_schema.badge_ledger_entry_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + + +CREATE TABLE test_chat_schema.badge_offers ( + offer_id text NOT NULL, + price_id text, + months smallint NOT NULL, + free_months smallint, + discount smallint, + status text NOT NULL, + created_at timestamp with time zone NOT NULL +); + + + +CREATE TABLE test_chat_schema.badge_prices ( + price_id text NOT NULL, + badge_type text NOT NULL, + month_price bigint NOT NULL, + currency text NOT NULL, + status text NOT NULL, + created_at timestamp with time zone NOT NULL +); + + + +CREATE TABLE test_chat_schema.badge_purchases ( + badge_purchase_id bigint NOT NULL, + purchase_key bytea NOT NULL, + master_key bytea NOT NULL, + initial_badge_type text NOT NULL, + current_badge_type text NOT NULL, + payment_id text, + status text NOT NULL, + created_at timestamp with time zone NOT NULL, + updated_at timestamp with time zone NOT NULL, + user_id bigint, + purchase_priv_key bytea, + alert_acked_kind text, + alert_acked_episode text, + alert_snooze_until timestamp with time zone, + badge_code_redemption_id bigint +); + + + +ALTER TABLE test_chat_schema.badge_purchases ALTER COLUMN badge_purchase_id ADD GENERATED ALWAYS AS IDENTITY ( + SEQUENCE NAME test_chat_schema.badge_purchases_badge_purchase_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + + +CREATE TABLE test_chat_schema.badge_subscription_changes ( + change_id text NOT NULL, + badge_purchase_id bigint NOT NULL, + from_badge_type text NOT NULL, + to_badge_type text NOT NULL, + from_provider_ref text, + to_provider_ref text, + effective text NOT NULL, + status text NOT NULL, + effective_at timestamp with time zone, + created_at timestamp with time zone NOT NULL, + updated_at timestamp with time zone NOT NULL +); + + + CREATE TABLE test_chat_schema.calls ( call_id bigint NOT NULL, contact_id bigint NOT NULL, @@ -999,7 +1152,7 @@ CREATE TABLE test_chat_schema.groups ( public_member_count bigint, relay_request_retries bigint DEFAULT 0 NOT NULL, relay_request_delay bigint DEFAULT 0 NOT NULL, - relay_request_execute_at timestamp with time zone DEFAULT '1970-01-01 01:00:00+01'::timestamp with time zone NOT NULL, + relay_request_execute_at timestamp with time zone DEFAULT '1970-01-01 04:00:00+04'::timestamp with time zone NOT NULL, relay_inactive_at timestamp with time zone, relay_sent_web_domain text, roster_version bigint, @@ -1027,6 +1180,26 @@ ALTER TABLE test_chat_schema.groups ALTER COLUMN group_id ADD GENERATED ALWAYS A +CREATE TABLE test_chat_schema.invoices ( + invoice_id text NOT NULL, + provider text NOT NULL, + price bigint NOT NULL, + discount_amount bigint, + credit_amount bigint, + amount bigint NOT NULL, + currency text NOT NULL, + payment_url text, + payment_address text, + payment_crypto_currency text, + payment_crypto_amount text, + expires_at timestamp with time zone NOT NULL, + status text NOT NULL, + created_at timestamp with time zone NOT NULL, + updated_at timestamp with time zone NOT NULL +); + + + CREATE TABLE test_chat_schema.known_servers ( server_id bigint NOT NULL, host text NOT NULL, @@ -1160,6 +1333,26 @@ ALTER TABLE test_chat_schema.operator_usage_conditions ALTER COLUMN operator_usa +CREATE TABLE test_chat_schema.payments ( + payment_id text NOT NULL, + invoice_id text, + provider text NOT NULL, + provider_ref text, + amount bigint, + currency text, + status text NOT NULL, + exception text, + subscription_renews_at timestamp with time zone, + grace_until timestamp with time zone, + cancelled smallint DEFAULT 0 NOT NULL, + created_at timestamp with time zone NOT NULL, + updated_at timestamp with time zone NOT NULL, + evidence bytea, + receipt_code text +); + + + CREATE TABLE test_chat_schema.pending_group_messages ( pending_group_message_id bigint NOT NULL, group_member_id bigint NOT NULL, @@ -1454,6 +1647,19 @@ CREATE TABLE test_chat_schema.snd_files ( +CREATE TABLE test_chat_schema.subscription_charges ( + charge_id text NOT NULL, + payment_id text NOT NULL, + provider_charge_ref text NOT NULL, + period_start timestamp with time zone NOT NULL, + period_end timestamp with time zone NOT NULL, + amount bigint NOT NULL, + currency text NOT NULL, + charged_at timestamp with time zone NOT NULL +); + + + CREATE TABLE test_chat_schema.usage_conditions ( usage_conditions_id bigint NOT NULL, conditions_commit text NOT NULL, @@ -1516,7 +1722,8 @@ CREATE TABLE test_chat_schema.users ( auto_accept_member_contacts smallint DEFAULT 0 NOT NULL, is_user_chat_relay smallint DEFAULT 0 NOT NULL, client_service smallint DEFAULT 0 NOT NULL, - auto_accept_group_invitations smallint DEFAULT 0 NOT NULL + auto_accept_group_invitations smallint DEFAULT 0 NOT NULL, + shown_badge_id bigint ); @@ -1555,6 +1762,61 @@ ALTER TABLE test_chat_schema.xftp_file_descriptions ALTER COLUMN file_descr_id A +ALTER TABLE ONLY test_chat_schema.badge_code_redemptions + ADD CONSTRAINT badge_code_redemptions_code_key UNIQUE (code); + + + +ALTER TABLE ONLY test_chat_schema.badge_code_redemptions + ADD CONSTRAINT badge_code_redemptions_pkey PRIMARY KEY (badge_code_redemption_id); + + + +ALTER TABLE ONLY test_chat_schema.badge_invoices + ADD CONSTRAINT badge_invoices_pkey PRIMARY KEY (invoice_id); + + + +ALTER TABLE ONLY test_chat_schema.badge_issuances + ADD CONSTRAINT badge_issuances_pkey PRIMARY KEY (issuance_id); + + + +ALTER TABLE ONLY test_chat_schema.badge_ledger + ADD CONSTRAINT badge_ledger_pkey PRIMARY KEY (entry_id); + + + +ALTER TABLE ONLY test_chat_schema.badge_offers + ADD CONSTRAINT badge_offers_pkey PRIMARY KEY (offer_id); + + + +ALTER TABLE ONLY test_chat_schema.badge_prices + ADD CONSTRAINT badge_prices_pkey PRIMARY KEY (price_id); + + + +ALTER TABLE ONLY test_chat_schema.badge_purchases + ADD CONSTRAINT badge_purchases_payment_id_key UNIQUE (payment_id); + + + +ALTER TABLE ONLY test_chat_schema.badge_purchases + ADD CONSTRAINT badge_purchases_pkey PRIMARY KEY (badge_purchase_id); + + + +ALTER TABLE ONLY test_chat_schema.badge_purchases + ADD CONSTRAINT badge_purchases_purchase_key_key UNIQUE (purchase_key); + + + +ALTER TABLE ONLY test_chat_schema.badge_subscription_changes + ADD CONSTRAINT badge_subscription_changes_pkey PRIMARY KEY (change_id); + + + ALTER TABLE ONLY test_chat_schema.calls ADD CONSTRAINT calls_pkey PRIMARY KEY (call_id); @@ -1745,6 +2007,11 @@ ALTER TABLE ONLY test_chat_schema.groups +ALTER TABLE ONLY test_chat_schema.invoices + ADD CONSTRAINT invoices_pkey PRIMARY KEY (invoice_id); + + + ALTER TABLE ONLY test_chat_schema.known_servers ADD CONSTRAINT known_servers_pkey PRIMARY KEY (server_id); @@ -1780,6 +2047,11 @@ ALTER TABLE ONLY test_chat_schema.operator_usage_conditions +ALTER TABLE ONLY test_chat_schema.payments + ADD CONSTRAINT payments_pkey PRIMARY KEY (payment_id); + + + ALTER TABLE ONLY test_chat_schema.pending_group_messages ADD CONSTRAINT pending_group_messages_pkey PRIMARY KEY (pending_group_message_id); @@ -1855,6 +2127,16 @@ ALTER TABLE ONLY test_chat_schema.snd_files +ALTER TABLE ONLY test_chat_schema.subscription_charges + ADD CONSTRAINT subscription_charges_payment_id_provider_charge_ref_key UNIQUE (payment_id, provider_charge_ref); + + + +ALTER TABLE ONLY test_chat_schema.subscription_charges + ADD CONSTRAINT subscription_charges_pkey PRIMARY KEY (charge_id); + + + ALTER TABLE ONLY test_chat_schema.usage_conditions ADD CONSTRAINT usage_conditions_conditions_commit_key UNIQUE (conditions_commit); @@ -1907,6 +2189,70 @@ CREATE INDEX files_note_folder_id ON test_chat_schema.files USING btree (note_fo +CREATE INDEX idx_badge_code_redemptions_user ON test_chat_schema.badge_code_redemptions USING btree (user_id); + + + +CREATE INDEX idx_badge_invoices_offer ON test_chat_schema.badge_invoices USING btree (offer_id); + + + +CREATE INDEX idx_badge_invoices_price ON test_chat_schema.badge_invoices USING btree (price_id); + + + +CREATE INDEX idx_badge_invoices_purchase ON test_chat_schema.badge_invoices USING btree (badge_purchase_id); + + + +CREATE INDEX idx_badge_issuances_entry ON test_chat_schema.badge_issuances USING btree (entry_id); + + + +CREATE INDEX idx_badge_issuances_purchase ON test_chat_schema.badge_issuances USING btree (badge_purchase_id, issuance_id); + + + +CREATE INDEX idx_badge_ledger_charge ON test_chat_schema.badge_ledger USING btree (charge_id); + + + +CREATE INDEX idx_badge_ledger_from_purchase ON test_chat_schema.badge_ledger USING btree (from_purchase_id); + + + +CREATE INDEX idx_badge_ledger_payment ON test_chat_schema.badge_ledger USING btree (payment_id); + + + +CREATE INDEX idx_badge_ledger_purchase ON test_chat_schema.badge_ledger USING btree (badge_purchase_id, entry_id); + + + +CREATE INDEX idx_badge_ledger_to_purchase ON test_chat_schema.badge_ledger USING btree (to_purchase_id); + + + +CREATE UNIQUE INDEX idx_badge_ledger_uuid ON test_chat_schema.badge_ledger USING btree (entry_uuid); + + + +CREATE INDEX idx_badge_offers_price ON test_chat_schema.badge_offers USING btree (price_id); + + + +CREATE UNIQUE INDEX idx_badge_purchases_code_redemption ON test_chat_schema.badge_purchases USING btree (badge_code_redemption_id); + + + +CREATE INDEX idx_badge_purchases_user ON test_chat_schema.badge_purchases USING btree (user_id); + + + +CREATE INDEX idx_badge_subscription_changes_purchase ON test_chat_schema.badge_subscription_changes USING btree (badge_purchase_id); + + + CREATE INDEX idx_calls_chat_item_id ON test_chat_schema.calls USING btree (chat_item_id); @@ -2511,6 +2857,14 @@ CREATE INDEX idx_operator_usage_conditions_server_operator_id ON test_chat_schem +CREATE INDEX idx_payments_invoice ON test_chat_schema.payments USING btree (invoice_id); + + + +CREATE INDEX idx_payments_provider_ref ON test_chat_schema.payments USING btree (provider, provider_ref); + + + CREATE INDEX idx_pending_group_messages_group_member_id ON test_chat_schema.pending_group_messages USING btree (group_member_id); @@ -2639,6 +2993,10 @@ CREATE UNIQUE INDEX idx_user_contact_links_group_id ON test_chat_schema.user_con +CREATE INDEX idx_users_shown_badge ON test_chat_schema.users USING btree (shown_badge_id); + + + CREATE INDEX idx_xftp_file_descriptions_user_id ON test_chat_schema.xftp_file_descriptions USING btree (user_id); @@ -2659,6 +3017,91 @@ CREATE TRIGGER tr_group_members_update_update_summary AFTER UPDATE ON test_chat_ +ALTER TABLE ONLY test_chat_schema.badge_code_redemptions + ADD CONSTRAINT badge_code_redemptions_user_id_fkey FOREIGN KEY (user_id) REFERENCES test_chat_schema.users(user_id) ON DELETE CASCADE; + + + +ALTER TABLE ONLY test_chat_schema.badge_invoices + ADD CONSTRAINT badge_invoices_badge_purchase_id_fkey FOREIGN KEY (badge_purchase_id) REFERENCES test_chat_schema.badge_purchases(badge_purchase_id) ON DELETE CASCADE; + + + +ALTER TABLE ONLY test_chat_schema.badge_invoices + ADD CONSTRAINT badge_invoices_invoice_id_fkey FOREIGN KEY (invoice_id) REFERENCES test_chat_schema.invoices(invoice_id) ON DELETE CASCADE; + + + +ALTER TABLE ONLY test_chat_schema.badge_invoices + ADD CONSTRAINT badge_invoices_offer_id_fkey FOREIGN KEY (offer_id) REFERENCES test_chat_schema.badge_offers(offer_id); + + + +ALTER TABLE ONLY test_chat_schema.badge_invoices + ADD CONSTRAINT badge_invoices_price_id_fkey FOREIGN KEY (price_id) REFERENCES test_chat_schema.badge_prices(price_id); + + + +ALTER TABLE ONLY test_chat_schema.badge_issuances + ADD CONSTRAINT badge_issuances_badge_purchase_id_fkey FOREIGN KEY (badge_purchase_id) REFERENCES test_chat_schema.badge_purchases(badge_purchase_id) ON DELETE CASCADE; + + + +ALTER TABLE ONLY test_chat_schema.badge_issuances + ADD CONSTRAINT badge_issuances_entry_id_fkey FOREIGN KEY (entry_id) REFERENCES test_chat_schema.badge_ledger(entry_id); + + + +ALTER TABLE ONLY test_chat_schema.badge_ledger + ADD CONSTRAINT badge_ledger_badge_purchase_id_fkey FOREIGN KEY (badge_purchase_id) REFERENCES test_chat_schema.badge_purchases(badge_purchase_id) ON DELETE CASCADE; + + + +ALTER TABLE ONLY test_chat_schema.badge_ledger + ADD CONSTRAINT badge_ledger_charge_id_fkey FOREIGN KEY (charge_id) REFERENCES test_chat_schema.subscription_charges(charge_id); + + + +ALTER TABLE ONLY test_chat_schema.badge_ledger + ADD CONSTRAINT badge_ledger_from_purchase_id_fkey FOREIGN KEY (from_purchase_id) REFERENCES test_chat_schema.badge_purchases(badge_purchase_id); + + + +ALTER TABLE ONLY test_chat_schema.badge_ledger + ADD CONSTRAINT badge_ledger_payment_id_fkey FOREIGN KEY (payment_id) REFERENCES test_chat_schema.payments(payment_id); + + + +ALTER TABLE ONLY test_chat_schema.badge_ledger + ADD CONSTRAINT badge_ledger_to_purchase_id_fkey FOREIGN KEY (to_purchase_id) REFERENCES test_chat_schema.badge_purchases(badge_purchase_id); + + + +ALTER TABLE ONLY test_chat_schema.badge_offers + ADD CONSTRAINT badge_offers_price_id_fkey FOREIGN KEY (price_id) REFERENCES test_chat_schema.badge_prices(price_id); + + + +ALTER TABLE ONLY test_chat_schema.badge_purchases + ADD CONSTRAINT badge_purchases_badge_code_redemption_id_fkey FOREIGN KEY (badge_code_redemption_id) REFERENCES test_chat_schema.badge_code_redemptions(badge_code_redemption_id); + + + +ALTER TABLE ONLY test_chat_schema.badge_purchases + ADD CONSTRAINT badge_purchases_payment_id_fkey FOREIGN KEY (payment_id) REFERENCES test_chat_schema.payments(payment_id); + + + +ALTER TABLE ONLY test_chat_schema.badge_purchases + ADD CONSTRAINT badge_purchases_user_id_fkey FOREIGN KEY (user_id) REFERENCES test_chat_schema.users(user_id) ON DELETE CASCADE; + + + +ALTER TABLE ONLY test_chat_schema.badge_subscription_changes + ADD CONSTRAINT badge_subscription_changes_badge_purchase_id_fkey FOREIGN KEY (badge_purchase_id) REFERENCES test_chat_schema.badge_purchases(badge_purchase_id) ON DELETE CASCADE; + + + ALTER TABLE ONLY test_chat_schema.calls ADD CONSTRAINT calls_chat_item_id_fkey FOREIGN KEY (chat_item_id) REFERENCES test_chat_schema.chat_items(chat_item_id) ON DELETE CASCADE; @@ -3199,6 +3642,11 @@ ALTER TABLE ONLY test_chat_schema.operator_usage_conditions +ALTER TABLE ONLY test_chat_schema.payments + ADD CONSTRAINT payments_invoice_id_fkey FOREIGN KEY (invoice_id) REFERENCES test_chat_schema.invoices(invoice_id); + + + ALTER TABLE ONLY test_chat_schema.pending_group_messages ADD CONSTRAINT pending_group_messages_group_member_id_fkey FOREIGN KEY (group_member_id) REFERENCES test_chat_schema.group_members(group_member_id) ON DELETE CASCADE; @@ -3304,6 +3752,11 @@ ALTER TABLE ONLY test_chat_schema.snd_files +ALTER TABLE ONLY test_chat_schema.subscription_charges + ADD CONSTRAINT subscription_charges_payment_id_fkey FOREIGN KEY (payment_id) REFERENCES test_chat_schema.payments(payment_id) ON DELETE CASCADE; + + + ALTER TABLE ONLY test_chat_schema.user_contact_links ADD CONSTRAINT user_contact_links_group_id_fkey FOREIGN KEY (group_id) REFERENCES test_chat_schema.groups(group_id) ON DELETE CASCADE; @@ -3314,6 +3767,11 @@ ALTER TABLE ONLY test_chat_schema.user_contact_links +ALTER TABLE ONLY test_chat_schema.users + ADD CONSTRAINT users_shown_badge_id_fkey FOREIGN KEY (shown_badge_id) REFERENCES test_chat_schema.badge_purchases(badge_purchase_id) ON DELETE SET NULL; + + + ALTER TABLE ONLY test_chat_schema.xftp_file_descriptions ADD CONSTRAINT xftp_file_descriptions_user_id_fkey FOREIGN KEY (user_id) REFERENCES test_chat_schema.users(user_id) ON DELETE CASCADE; diff --git a/src/Simplex/Chat/Store/SQLite/Migrations.hs b/src/Simplex/Chat/Store/SQLite/Migrations.hs index de5acc3c82..d420af7f4b 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations.hs +++ b/src/Simplex/Chat/Store/SQLite/Migrations.hs @@ -171,6 +171,7 @@ import Simplex.Chat.Store.SQLite.Migrations.M20260720_server_roles import Simplex.Chat.Store.SQLite.Migrations.M20260723_contact_request_rejection import Simplex.Chat.Store.SQLite.Migrations.M20260813_auto_accept_group_invitations import Simplex.Chat.Store.SQLite.Migrations.M20260822_forward_link +import Simplex.Chat.Store.SQLite.Migrations.M20261001_user_badges import Simplex.Messaging.Agent.Store.Shared (Migration (..)) schemaMigrations :: [(String, Query, Maybe Query)] @@ -341,7 +342,8 @@ schemaMigrations = ("20260720_server_roles", m20260720_server_roles, Just down_m20260720_server_roles), ("20260723_contact_request_rejection", m20260723_contact_request_rejection, Just down_m20260723_contact_request_rejection), ("20260813_auto_accept_group_invitations", m20260813_auto_accept_group_invitations, Just down_m20260813_auto_accept_group_invitations), - ("20260822_forward_link", m20260822_forward_link, Just down_m20260822_forward_link) + ("20260822_forward_link", m20260822_forward_link, Just down_m20260822_forward_link), + ("20261001_user_badges", m20261001_user_badges, Just down_m20261001_user_badges) ] -- | The list of migrations in ascending order by date diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/M20261001_user_badges.hs b/src/Simplex/Chat/Store/SQLite/Migrations/M20261001_user_badges.hs index 94b2fbc41e..af91e24af0 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/M20261001_user_badges.hs +++ b/src/Simplex/Chat/Store/SQLite/Migrations/M20261001_user_badges.hs @@ -37,7 +37,7 @@ CREATE TABLE @invoices( status TEXT NOT NULL, created_at TEXT NOT NULL, updated_at TEXT NOT NULL -); +) STRICT; CREATE TABLE @payments( payment_id TEXT NOT NULL PRIMARY KEY, @@ -53,7 +53,7 @@ CREATE TABLE @payments( cancelled INTEGER NOT NULL DEFAULT 0, created_at TEXT NOT NULL, updated_at TEXT NOT NULL -); +) STRICT; CREATE INDEX @idx_payments_provider_ref ON @payments(provider, provider_ref); @@ -69,7 +69,7 @@ CREATE TABLE @subscription_charges( currency TEXT NOT NULL, charged_at TEXT NOT NULL, UNIQUE(payment_id, provider_charge_ref) -); +) STRICT; CREATE TABLE @badge_prices( price_id TEXT NOT NULL PRIMARY KEY, @@ -78,7 +78,7 @@ CREATE TABLE @badge_prices( currency TEXT NOT NULL, status TEXT NOT NULL, created_at TEXT NOT NULL -); +) STRICT; CREATE TABLE @badge_offers( offer_id TEXT NOT NULL PRIMARY KEY, @@ -88,7 +88,9 @@ CREATE TABLE @badge_offers( discount INTEGER, status TEXT NOT NULL, created_at TEXT NOT NULL -); +) STRICT; + +CREATE INDEX @idx_badge_offers_price ON @badge_offers(price_id); CREATE TABLE @badge_purchases( badge_purchase_id INTEGER PRIMARY KEY AUTOINCREMENT, @@ -102,7 +104,7 @@ CREATE TABLE @badge_purchases( updated_at TEXT NOT NULL, UNIQUE(purchase_key), UNIQUE(payment_id) -); +) STRICT; CREATE TABLE @badge_invoices( invoice_id TEXT NOT NULL PRIMARY KEY REFERENCES @invoices ON DELETE CASCADE, @@ -111,10 +113,14 @@ CREATE TABLE @badge_invoices( offer_id TEXT REFERENCES @badge_offers, months INTEGER NOT NULL, created_at TEXT NOT NULL -); +) STRICT; CREATE INDEX @idx_badge_invoices_purchase ON @badge_invoices(badge_purchase_id); +CREATE INDEX @idx_badge_invoices_offer ON @badge_invoices(offer_id); + +CREATE INDEX @idx_badge_invoices_price ON @badge_invoices(price_id); + CREATE TABLE @badge_subscription_changes( change_id TEXT NOT NULL PRIMARY KEY, badge_purchase_id INTEGER NOT NULL REFERENCES @badge_purchases ON DELETE CASCADE, @@ -127,7 +133,7 @@ CREATE TABLE @badge_subscription_changes( effective_at TEXT, created_at TEXT NOT NULL, updated_at TEXT NOT NULL -); +) STRICT; CREATE INDEX @idx_badge_subscription_changes_purchase ON @badge_subscription_changes(badge_purchase_id); @@ -149,7 +155,7 @@ CREATE TABLE @badge_ledger( charge_id TEXT REFERENCES @subscription_charges, from_purchase_id INTEGER REFERENCES @badge_purchases, to_purchase_id INTEGER REFERENCES @badge_purchases -); +) STRICT; CREATE UNIQUE INDEX @idx_badge_ledger_uuid ON @badge_ledger(entry_uuid); @@ -173,15 +179,18 @@ CREATE TABLE @badge_issuances( expiry TEXT NOT NULL, credential BLOB NOT NULL, created_at TEXT NOT NULL -); +) STRICT; CREATE INDEX @idx_badge_issuances_purchase ON @badge_issuances(badge_purchase_id, issuance_id); + +CREATE INDEX @idx_badge_issuances_entry ON @badge_issuances(entry_id); |] badgeSchemaTablesDown :: Query badgeSchemaTablesDown = [sql| DROP INDEX @idx_badge_issuances_purchase; +DROP INDEX @idx_badge_issuances_entry; DROP TABLE @badge_issuances; DROP INDEX @idx_badge_ledger_uuid; DROP INDEX @idx_badge_ledger_purchase; @@ -193,6 +202,8 @@ DROP TABLE @badge_ledger; DROP INDEX @idx_badge_subscription_changes_purchase; DROP TABLE @badge_subscription_changes; DROP INDEX @idx_badge_invoices_purchase; +DROP INDEX @idx_badge_invoices_offer; +DROP INDEX @idx_badge_invoices_price; DROP TABLE @badge_invoices; DROP TABLE @badge_purchases; DROP TABLE @subscription_charges; @@ -200,6 +211,7 @@ DROP INDEX @idx_payments_provider_ref; DROP INDEX @idx_payments_invoice; DROP TABLE @payments; DROP TABLE @invoices; +DROP INDEX @idx_badge_offers_price; DROP TABLE @badge_offers; DROP TABLE @badge_prices; |] @@ -230,6 +242,8 @@ CREATE INDEX idx_badge_purchases_user ON badge_purchases(user_id); ALTER TABLE users ADD COLUMN shown_badge_id INTEGER REFERENCES badge_purchases ON DELETE SET NULL; +CREATE INDEX idx_users_shown_badge ON users(shown_badge_id); + CREATE TABLE badge_code_redemptions( badge_code_redemption_id INTEGER PRIMARY KEY AUTOINCREMENT, user_id INTEGER NOT NULL REFERENCES users ON DELETE CASCADE, @@ -239,7 +253,7 @@ CREATE TABLE badge_code_redemptions( master_key BLOB NOT NULL, created_at TEXT NOT NULL, UNIQUE(code) -); +) STRICT; CREATE INDEX idx_badge_code_redemptions_user ON badge_code_redemptions(user_id); @@ -253,6 +267,7 @@ down_m20261001_user_badges = [sql| DROP INDEX idx_badge_purchases_code_redemption; DROP INDEX idx_badge_purchases_user; +DROP INDEX idx_users_shown_badge; ALTER TABLE users DROP COLUMN shown_badge_id; |] <> badgeSchemaDown "" diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql b/src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql index a488d7da21..059b39ec89 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql +++ b/src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql @@ -54,7 +54,8 @@ CREATE TABLE users( auto_accept_member_contacts INTEGER NOT NULL DEFAULT 0, is_user_chat_relay INTEGER NOT NULL DEFAULT 0, client_service INTEGER NOT NULL DEFAULT 0, - auto_accept_group_invitations INTEGER NOT NULL DEFAULT 0, -- 1 for active user + auto_accept_group_invitations INTEGER NOT NULL DEFAULT 0, + shown_badge_id INTEGER REFERENCES badge_purchases ON DELETE SET NULL, -- 1 for active user FOREIGN KEY(user_id, local_display_name) REFERENCES display_names(user_id, local_display_name) ON DELETE RESTRICT @@ -851,6 +852,152 @@ CREATE TABLE rcv_roster_transfers( created_at TEXT NOT NULL DEFAULT(datetime('now')), updated_at TEXT NOT NULL DEFAULT(datetime('now')) ) STRICT; +CREATE TABLE invoices( + invoice_id TEXT NOT NULL PRIMARY KEY, + provider TEXT NOT NULL, + price INTEGER NOT NULL, + discount_amount INTEGER, + credit_amount INTEGER, + amount INTEGER NOT NULL, + currency TEXT NOT NULL, + payment_url TEXT, + payment_address TEXT, + payment_crypto_currency TEXT, + payment_crypto_amount TEXT, + expires_at TEXT NOT NULL, + status TEXT NOT NULL, + created_at TEXT NOT NULL, + updated_at TEXT NOT NULL +) STRICT; +CREATE TABLE payments( + payment_id TEXT NOT NULL PRIMARY KEY, + invoice_id TEXT REFERENCES invoices, + provider TEXT NOT NULL, + provider_ref TEXT, + amount INTEGER, + currency TEXT, + status TEXT NOT NULL, + exception TEXT, + subscription_renews_at TEXT, + grace_until TEXT, + cancelled INTEGER NOT NULL DEFAULT 0, + created_at TEXT NOT NULL, + updated_at TEXT NOT NULL + , + evidence BLOB, + receipt_code TEXT +) STRICT; +CREATE TABLE subscription_charges( + charge_id TEXT NOT NULL PRIMARY KEY, + payment_id TEXT NOT NULL REFERENCES payments ON DELETE CASCADE, + provider_charge_ref TEXT NOT NULL, + period_start TEXT NOT NULL, + period_end TEXT NOT NULL, + amount INTEGER NOT NULL, + currency TEXT NOT NULL, + charged_at TEXT NOT NULL, + UNIQUE(payment_id, provider_charge_ref) +) STRICT; +CREATE TABLE badge_prices( + price_id TEXT NOT NULL PRIMARY KEY, + badge_type TEXT NOT NULL, + month_price INTEGER NOT NULL, + currency TEXT NOT NULL, + status TEXT NOT NULL, + created_at TEXT NOT NULL +) STRICT; +CREATE TABLE badge_offers( + offer_id TEXT NOT NULL PRIMARY KEY, + price_id TEXT REFERENCES badge_prices, + months INTEGER NOT NULL, + free_months INTEGER, + discount INTEGER, + status TEXT NOT NULL, + created_at TEXT NOT NULL +) STRICT; +CREATE TABLE badge_purchases( + badge_purchase_id INTEGER PRIMARY KEY AUTOINCREMENT, + purchase_key BLOB NOT NULL, + master_key BLOB NOT NULL, + initial_badge_type TEXT NOT NULL, + current_badge_type TEXT NOT NULL, + payment_id TEXT REFERENCES payments, + status TEXT NOT NULL, + created_at TEXT NOT NULL, + updated_at TEXT NOT NULL, + user_id INTEGER REFERENCES users ON DELETE CASCADE, + purchase_priv_key BLOB, + alert_acked_kind TEXT, + alert_acked_episode TEXT, + alert_snooze_until TEXT, + badge_code_redemption_id INTEGER REFERENCES badge_code_redemptions, + UNIQUE(purchase_key), + UNIQUE(payment_id) +) STRICT; +CREATE TABLE badge_invoices( + invoice_id TEXT NOT NULL PRIMARY KEY REFERENCES invoices ON DELETE CASCADE, + badge_purchase_id INTEGER NOT NULL REFERENCES badge_purchases ON DELETE CASCADE, + price_id TEXT NOT NULL REFERENCES badge_prices, + offer_id TEXT REFERENCES badge_offers, + months INTEGER NOT NULL, + created_at TEXT NOT NULL +) STRICT; +CREATE TABLE badge_subscription_changes( + change_id TEXT NOT NULL PRIMARY KEY, + badge_purchase_id INTEGER NOT NULL REFERENCES badge_purchases ON DELETE CASCADE, + from_badge_type TEXT NOT NULL, + to_badge_type TEXT NOT NULL, + from_provider_ref TEXT, + to_provider_ref TEXT, + effective TEXT NOT NULL, + status TEXT NOT NULL, + effective_at TEXT, + created_at TEXT NOT NULL, + updated_at TEXT NOT NULL +) STRICT; +CREATE TABLE badge_ledger( + entry_id INTEGER PRIMARY KEY AUTOINCREMENT, + entry_uuid TEXT NOT NULL, + badge_purchase_id INTEGER NOT NULL REFERENCES badge_purchases ON DELETE CASCADE, + change_months INTEGER NOT NULL, + balance_months INTEGER NOT NULL, + balance_start_ts TEXT NOT NULL, + balance_badge_type TEXT NOT NULL, + was_paused_since TEXT, + service_created_at TEXT NOT NULL, + created_at TEXT NOT NULL, + entry_type TEXT NOT NULL, + entry_credit_type TEXT, + entry_debit_type TEXT, + payment_id TEXT REFERENCES payments, + charge_id TEXT REFERENCES subscription_charges, + from_purchase_id INTEGER REFERENCES badge_purchases, + to_purchase_id INTEGER REFERENCES badge_purchases + , + entry_type_unknown INTEGER NOT NULL DEFAULT 0, + entry_type_value TEXT +) STRICT; +CREATE TABLE badge_issuances( + issuance_id TEXT NOT NULL PRIMARY KEY, + badge_purchase_id INTEGER NOT NULL REFERENCES badge_purchases ON DELETE CASCADE, + entry_id INTEGER REFERENCES badge_ledger, + badge_type TEXT NOT NULL, + period_start TEXT NOT NULL, + period_end TEXT NOT NULL, + expiry TEXT NOT NULL, + credential BLOB NOT NULL, + created_at TEXT NOT NULL +) STRICT; +CREATE TABLE badge_code_redemptions( + badge_code_redemption_id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id INTEGER NOT NULL REFERENCES users ON DELETE CASCADE, + code TEXT NOT NULL, + purchase_key BLOB NOT NULL, + purchase_priv_key BLOB NOT NULL, + master_key BLOB NOT NULL, + created_at TEXT NOT NULL, + UNIQUE(code) +) STRICT; CREATE INDEX contact_profiles_index ON contact_profiles( display_name, full_name @@ -1385,6 +1532,37 @@ CREATE INDEX idx_files_roster_transfer_id ON files(roster_transfer_id); CREATE INDEX idx_chat_items_item_signed_by_group_member_id ON chat_items( item_signed_by_group_member_id ); +CREATE INDEX idx_payments_provider_ref ON payments(provider, provider_ref); +CREATE INDEX idx_payments_invoice ON payments(invoice_id); +CREATE INDEX idx_badge_offers_price ON badge_offers(price_id); +CREATE INDEX idx_badge_invoices_purchase ON badge_invoices(badge_purchase_id); +CREATE INDEX idx_badge_invoices_offer ON badge_invoices(offer_id); +CREATE INDEX idx_badge_invoices_price ON badge_invoices(price_id); +CREATE INDEX idx_badge_subscription_changes_purchase ON badge_subscription_changes( + badge_purchase_id +); +CREATE UNIQUE INDEX idx_badge_ledger_uuid ON badge_ledger(entry_uuid); +CREATE INDEX idx_badge_ledger_purchase ON badge_ledger( + badge_purchase_id, + entry_id +); +CREATE INDEX idx_badge_ledger_payment ON badge_ledger(payment_id); +CREATE INDEX idx_badge_ledger_charge ON badge_ledger(charge_id); +CREATE INDEX idx_badge_ledger_from_purchase ON badge_ledger(from_purchase_id); +CREATE INDEX idx_badge_ledger_to_purchase ON badge_ledger(to_purchase_id); +CREATE INDEX idx_badge_issuances_purchase ON badge_issuances( + badge_purchase_id, + issuance_id +); +CREATE INDEX idx_badge_issuances_entry ON badge_issuances(entry_id); +CREATE INDEX idx_badge_purchases_user ON badge_purchases(user_id); +CREATE INDEX idx_users_shown_badge ON users(shown_badge_id); +CREATE INDEX idx_badge_code_redemptions_user ON badge_code_redemptions( + user_id +); +CREATE UNIQUE INDEX idx_badge_purchases_code_redemption ON badge_purchases( + badge_code_redemption_id +); CREATE TRIGGER on_group_members_insert_update_summary AFTER INSERT ON group_members FOR EACH ROW From 647ba691ef6e710293b06b02583d6c147c3e6f9f Mon Sep 17 00:00:00 2001 From: sh <37271604+shumvgolove@users.noreply.github.com> Date: Sat, 29 Aug 2026 18:30:22 +0400 Subject: [PATCH 12/69] desktop: bump vlc to v3.0.23-2 (#7407) --- scripts/desktop/prepare-vlc-linux.sh | 2 +- scripts/desktop/prepare-vlc-mac.sh | 2 +- scripts/desktop/prepare-vlc-windows.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/desktop/prepare-vlc-linux.sh b/scripts/desktop/prepare-vlc-linux.sh index ef1ee1b308..be30c7a4c9 100755 --- a/scripts/desktop/prepare-vlc-linux.sh +++ b/scripts/desktop/prepare-vlc-linux.sh @@ -12,7 +12,7 @@ vlc_dir=$root_dir/apps/multiplatform/common/src/commonMain/cpp/desktop/libs/linu mkdir $vlc_dir || exit 0 -vlc_tag='v3.0.21-1' +vlc_tag='v3.0.23-2' vlc_url="https://github.com/simplex-chat/vlc/releases/download/${vlc_tag}/vlc-linux-${ARCH}.appimage" cd /tmp diff --git a/scripts/desktop/prepare-vlc-mac.sh b/scripts/desktop/prepare-vlc-mac.sh index 180acf4426..0e83f44dcf 100755 --- a/scripts/desktop/prepare-vlc-mac.sh +++ b/scripts/desktop/prepare-vlc-mac.sh @@ -10,7 +10,7 @@ else vlc_arch=intel64 fi -vlc_tag='v3.0.21-1' +vlc_tag='v3.0.23-2' vlc_url="https://github.com/simplex-chat/vlc/releases/download/${vlc_tag}/vlc-macos-${ARCH}.zip" function readlink() { diff --git a/scripts/desktop/prepare-vlc-windows.sh b/scripts/desktop/prepare-vlc-windows.sh index 4e65528ca0..cf9b553f15 100644 --- a/scripts/desktop/prepare-vlc-windows.sh +++ b/scripts/desktop/prepare-vlc-windows.sh @@ -10,7 +10,7 @@ vlc_dir=$root_dir/apps/multiplatform/common/src/commonMain/cpp/desktop/libs/wind rm -rf $vlc_dir mkdir -p $vlc_dir/vlc || exit 0 -vlc_tag='v3.0.21-1' +vlc_tag='v3.0.23-2' vlc_url="https://github.com/simplex-chat/vlc/releases/download/${vlc_tag}/vlc-win-x86_64.zip" cd /tmp From d1c6a5717a6a313e001b6c7ed2d4396e86879d6b Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sat, 29 Aug 2026 18:59:12 +0100 Subject: [PATCH 13/69] ui: show countdown until SimpleX domains sale launch (#7434) * ui: show countdown until SimpleX domains sale launch * list * ios: update * update kotlin, ios countdown * kotlin countdown * fix formats * padding * update --------- Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> --- .../Views/UserSettings/UserAddressView.swift | 45 ++++++++++++++++++- apps/multiplatform/common/build.gradle.kts | 4 +- .../views/usersettings/SetSimplexNameView.kt | 45 ++++++++++++++++++- .../commonMain/resources/MR/base/strings.xml | 5 +++ 4 files changed, 94 insertions(+), 5 deletions(-) diff --git a/apps/ios/Shared/Views/UserSettings/UserAddressView.swift b/apps/ios/Shared/Views/UserSettings/UserAddressView.swift index b9048becda..02d6f1402e 100644 --- a/apps/ios/Shared/Views/UserSettings/UserAddressView.swift +++ b/apps/ios/Shared/Views/UserSettings/UserAddressView.swift @@ -802,6 +802,8 @@ private func saveAddressSettings(_ settings: AddressSettingsState, _ savedSettin } } +private let simplexNameSaleStart = Calendar(identifier: .gregorian).date(from: DateComponents(timeZone: TimeZone(identifier: "UTC"), year: 2026, month: 12, day: 12, hour: 18))! + struct SetSimplexDomainView: View { let title: LocalizedStringKey let footer: LocalizedStringKey @@ -815,6 +817,8 @@ struct SetSimplexDomainView: View { @State private var original = "" @State private var didSave = false @State private var editing = false + @State private var timeToSaleStart = simplexNameSaleStart.timeIntervalSinceNow + @State private var saleTimer: Timer? = nil @FocusState private var nameFocused: Bool init(title: LocalizedStringKey, footer: LocalizedStringKey, prompt: String, simplexName: String, broadcastWarning: String? = nil, save: @escaping (String?) async -> Bool) { @@ -873,7 +877,7 @@ struct SetSimplexDomainView: View { Section { if editing { Button { - openBrowserAlert(uri: "https://github.com/simplex-chat/simplex-chat/blob/master/docs/guide/register-simplex-name.md") + openBrowserAlert(uri: "https://simplex.domains/#testing") } label: { HStack { Text("How to register a test name") @@ -901,15 +905,39 @@ struct SetSimplexDomainView: View { } } } + Section { + VStack(alignment: .leading, spacing: 4) { + Text(verbatim: saleCountdown(timeToSaleStart)) + Text(timeToSaleStart > 0 ? "until you can register a SimpleX domain" : "Update the app to register a SimpleX domain") + .font(.caption) + .foregroundColor(theme.colors.secondary) + } + } header: { + Text("SimpleX name sale starts in") + .foregroundColor(theme.colors.secondary) + } footer: { + Text("Crowdfunding investors can reserve their name before sale starts: [simplex.domains](https://simplex.domains/)") + .foregroundColor(theme.colors.secondary) + .padding(.bottom) + } } + .modifier(ThemedBackground(grouped: true)) .navigationTitle(title) .navigationBarTitleDisplayMode(.large) .onAppear { if editing { DispatchQueue.main.asyncAfter(deadline: .now() + 0.6) { nameFocused = true } } + if timeToSaleStart > 0 { + saleTimer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { t in + timeToSaleStart = simplexNameSaleStart.timeIntervalSinceNow + if timeToSaleStart <= 0 { t.invalidate() } + } + } } .onDisappear { + saleTimer?.invalidate() + saleTimer = nil if !didSave, !saving, changed, isValid { let domain = normalized(simplexName) let saveName = save @@ -948,6 +976,21 @@ struct SetSimplexDomainView: View { : addSimplexTLD((t.hasPrefix("@") || t.hasPrefix("#") ? String(t.dropFirst()) : t).lowercased()) } + private func saleCountdown(_ remaining: TimeInterval) -> String { + let total = max(0, Int(remaining)) + let days = total / 86400 + let dayStr = String.localizedStringWithFormat( + days == 1 + ? NSLocalizedString("%d day", comment: "time interval") + : NSLocalizedString("%d days", comment: "time interval"), + days + ) + return dayStr + " " + String.localizedStringWithFormat( + NSLocalizedString("%02d hrs %02d min %02d sec", comment: "countdown"), + total / 3600 % 24, total / 60 % 60, total % 60 + ) + } + private func addSimplexTLD(_ d: String) -> String { if d.contains(".") { d } else { "\(d).simplex" } } diff --git a/apps/multiplatform/common/build.gradle.kts b/apps/multiplatform/common/build.gradle.kts index 43bc114f21..5b91b0574d 100644 --- a/apps/multiplatform/common/build.gradle.kts +++ b/apps/multiplatform/common/build.gradle.kts @@ -212,7 +212,7 @@ afterEvaluate { val fontLtGtRegex = Regex("[^>]*>.*<font[^>]*>.*</font>.*") val unbracketedColorRegex = Regex("color=#[abcdefABCDEF0-9]{3,6}") val correctHtmlRegex = Regex("[^>]*>.*.*.*|[^>]*>.*.*.*|[^>]*>.*.*.*|[^>]*>.*]*>.*.*") - val possibleFormat = listOf("s", "d", "1\$s", "2\$s", "3\$s", "4\$s", "1\$d", "2\$d", "3\$d", "4\$d", "2s", "f") + val possibleFormat = listOf("s", "d", "1\$s", "2\$s", "3\$s", "4\$s", "1\$d", "2\$d", "3\$d", "4\$d", "1\$02d", "2\$02d", "3\$02d", "2s", "f") fun String.id(): String = replace(" 0) { + delay(1000) + msToSaleStart.value = simplexNameSaleStart.toEpochMilliseconds() - System.currentTimeMillis() + } + } + SectionView(stringResource(MR.strings.simplex_name_sales)) { + SectionItemView { + Column(verticalArrangement = Arrangement.spacedBy(4.dp)) { + Text(saleCountdown(msToSaleStart.value)) + Text( + stringResource(if (msToSaleStart.value > 0) MR.strings.until_register_simplex_domain else MR.strings.update_app_register_simplex_domain), + color = MaterialTheme.colors.secondary, + fontSize = 12.sp + ) + } + } + } + SectionTextFooter(buildAnnotatedString { + append(generalGetString(MR.strings.simplex_name_sales_footer)) + append(" ") + withLink(LinkAnnotation.Url(SIMPLEX_DOMAINS_URL) { uriHandler.openUriCatching(SIMPLEX_DOMAINS_URL) }) { + withStyle(SpanStyle(color = MaterialTheme.colors.primary)) { + append("simplex.domains") + } + } + }) SectionBottomSpacer() } } diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml index 739467b3ff..b4a1b49eca 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml @@ -397,6 +397,11 @@ Get SimpleX name (BETA) Channel SimpleX name How to register a test name + SimpleX name sale starts in + until you can register a SimpleX domain + Update the app to register a SimpleX domain + %1$02d hrs %2$02d min %3$02d sec + Crowdfunding investors can reserve their name before sale starts: Remove name Save Edit From 2961fecc3585c9bc3a25085d53573d125034e4e5 Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Sat, 29 Aug 2026 19:12:40 +0100 Subject: [PATCH 14/69] ui: update strings --- apps/ios/Shared/Views/UserSettings/UserAddressView.swift | 2 +- .../common/src/commonMain/resources/MR/base/strings.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/ios/Shared/Views/UserSettings/UserAddressView.swift b/apps/ios/Shared/Views/UserSettings/UserAddressView.swift index 02d6f1402e..9711f3d6f8 100644 --- a/apps/ios/Shared/Views/UserSettings/UserAddressView.swift +++ b/apps/ios/Shared/Views/UserSettings/UserAddressView.swift @@ -916,7 +916,7 @@ struct SetSimplexDomainView: View { Text("SimpleX name sale starts in") .foregroundColor(theme.colors.secondary) } footer: { - Text("Crowdfunding investors can reserve their name before sale starts: [simplex.domains](https://simplex.domains/)") + Text("Crowdfunding investors can reserve names before the sale starts: [simplex.domains](https://simplex.domains/)") .foregroundColor(theme.colors.secondary) .padding(.bottom) } diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml index b4a1b49eca..7c1c7ad44f 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml @@ -401,7 +401,7 @@ until you can register a SimpleX domain Update the app to register a SimpleX domain %1$02d hrs %2$02d min %3$02d sec - Crowdfunding investors can reserve their name before sale starts: + Crowdfunding investors can reserve names before the sale starts: Remove name Save Edit From 6b705490aa87b731257d998d3f3a2378f1150efe Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sun, 30 Aug 2026 10:55:19 +0100 Subject: [PATCH 15/69] ios: export localizations (#7437) --- .../bg.xcloc/Localized Contents/bg.xliff | 74 +++++++++++++--- .../cs.xcloc/Localized Contents/cs.xliff | 72 +++++++++++++--- .../de.xcloc/Localized Contents/de.xliff | 79 ++++++++++++++--- .../en.xcloc/Localized Contents/en.xliff | 86 ++++++++++++++++--- .../es.xcloc/Localized Contents/es.xliff | 79 ++++++++++++++--- .../fi.xcloc/Localized Contents/fi.xliff | 72 +++++++++++++--- .../fr.xcloc/Localized Contents/fr.xliff | 79 ++++++++++++++--- .../hu.xcloc/Localized Contents/hu.xliff | 79 ++++++++++++++--- .../it.xcloc/Localized Contents/it.xliff | 79 ++++++++++++++--- .../ja.xcloc/Localized Contents/ja.xliff | 72 +++++++++++++--- .../nl.xcloc/Localized Contents/nl.xliff | 75 +++++++++++++--- .../pl.xcloc/Localized Contents/pl.xliff | 76 +++++++++++++--- .../ru.xcloc/Localized Contents/ru.xliff | 79 ++++++++++++++--- .../th.xcloc/Localized Contents/th.xliff | 72 +++++++++++++--- .../tr.xcloc/Localized Contents/tr.xliff | 76 +++++++++++++--- .../uk.xcloc/Localized Contents/uk.xliff | 76 +++++++++++++--- .../Localized Contents/zh-Hans.xliff | 78 ++++++++++++++--- apps/ios/bg.lproj/Localizable.strings | 26 +++--- apps/ios/cs.lproj/Localizable.strings | 24 +++--- apps/ios/de.lproj/Localizable.strings | 52 +++++------ apps/ios/es.lproj/Localizable.strings | 52 +++++------ apps/ios/fi.lproj/Localizable.strings | 24 +++--- apps/ios/fr.lproj/Localizable.strings | 52 +++++------ apps/ios/hu.lproj/Localizable.strings | 52 +++++------ apps/ios/it.lproj/Localizable.strings | 52 +++++------ apps/ios/ja.lproj/Localizable.strings | 24 +++--- apps/ios/nl.lproj/Localizable.strings | 34 ++++---- apps/ios/pl.lproj/Localizable.strings | 37 ++++---- apps/ios/ru.lproj/Localizable.strings | 52 +++++------ apps/ios/th.lproj/Localizable.strings | 24 +++--- apps/ios/tr.lproj/Localizable.strings | 37 ++++---- apps/ios/uk.lproj/Localizable.strings | 37 ++++---- apps/ios/zh-Hans.lproj/Localizable.strings | 46 +++++----- 33 files changed, 1388 insertions(+), 540 deletions(-) diff --git a/apps/ios/SimpleX Localizations/bg.xcloc/Localized Contents/bg.xliff b/apps/ios/SimpleX Localizations/bg.xcloc/Localized Contents/bg.xliff index d0e27058e8..9b35dc90e6 100644 --- a/apps/ios/SimpleX Localizations/bg.xcloc/Localized Contents/bg.xliff +++ b/apps/ios/SimpleX Localizations/bg.xcloc/Localized Contents/bg.xliff @@ -39,6 +39,10 @@ %1$@ supported SimpleX Chat. The badge expired on %2$@. badge alert + + %1$02d hrs %2$02d min %3$02d sec + countdown + %@ %@ @@ -152,6 +156,10 @@ %@: copied message info + + %d day + time interval + %d days %d дни @@ -2603,6 +2611,10 @@ This is your own one-time link! Линкът се създава… No comment provided by engineer. + + Crowdfunding investors can reserve names before the sale starts: [simplex.domains](https://simplex.domains/) + No comment provided by engineer. + Crowdfunding on Wefunder No comment provided by engineer. @@ -6311,18 +6323,10 @@ alert button Отвори миграцията към друго устройство authentication reason - - Open new channel - new chat action - Open new chat new chat action - - Open new group - new chat action - Open to accept No comment provided by engineer. @@ -8287,6 +8291,10 @@ copied message info SimpleX name not verified alert title + + SimpleX name sale starts in + No comment provided by engineer. + SimpleX one-time invitation Еднократна покана за SimpleX @@ -9325,6 +9333,10 @@ You will be prompted to complete authentication before this feature is enabled.< Update settings? No comment provided by engineer. + + Update the app to register a SimpleX domain + No comment provided by engineer. + Updated conditions No comment provided by engineer. @@ -9841,6 +9853,23 @@ alert title Вече имате чат профил със същото име. Моля, изберете друго име. No comment provided by engineer. + + You are a contributor + new chat alert + + + You are a member + Вие сте член + new chat alert + + + You are a moderator + new chat alert + + + You are a subscriber + new chat alert + You are already connected to %@. Вече сте вече свързани с %@. @@ -9882,6 +9911,21 @@ Repeat join request? Изпрати отново заявката за присъединяване? new chat sheet title + + You are an admin + Вие сте админ + new chat alert + + + You are an observer + Вие сте наблюдател + new chat alert + + + You are an owner + Вие сте собственик + new chat alert + You are connected to the server used to receive messages from this connection. subscription status explanation @@ -10815,6 +10859,10 @@ pref value препратено No comment provided by engineer. + + forwarded from + No comment provided by engineer. + group shown on group welcome message @@ -11194,9 +11242,9 @@ time to disappear запазено No comment provided by engineer. - - saved from %@ - запазено от %@ + + saved from + запазено от No comment provided by engineer. @@ -11286,6 +11334,10 @@ last received msg: %2$@ unprotected No comment provided by engineer. + + until you can register a SimpleX domain + No comment provided by engineer. + updated channel profile rcv group event chat item diff --git a/apps/ios/SimpleX Localizations/cs.xcloc/Localized Contents/cs.xliff b/apps/ios/SimpleX Localizations/cs.xcloc/Localized Contents/cs.xliff index 26c97d549d..28fc9e9244 100644 --- a/apps/ios/SimpleX Localizations/cs.xcloc/Localized Contents/cs.xliff +++ b/apps/ios/SimpleX Localizations/cs.xcloc/Localized Contents/cs.xliff @@ -39,6 +39,10 @@ %1$@ supported SimpleX Chat. The badge expired on %2$@. badge alert + + %1$02d hrs %2$02d min %3$02d sec + countdown + %@ %@ @@ -152,6 +156,10 @@ %@: copied message info + + %d day + time interval + %d days %d dní @@ -2499,6 +2507,10 @@ Toto je váš vlastní jednorázový odkaz! Creating link… No comment provided by engineer. + + Crowdfunding investors can reserve names before the sale starts: [simplex.domains](https://simplex.domains/) + No comment provided by engineer. + Crowdfunding on Wefunder No comment provided by engineer. @@ -6120,18 +6132,10 @@ alert button Open migration to another device authentication reason - - Open new channel - new chat action - Open new chat new chat action - - Open new group - new chat action - Open to accept No comment provided by engineer. @@ -8056,6 +8060,10 @@ copied message info SimpleX name not verified alert title + + SimpleX name sale starts in + No comment provided by engineer. + SimpleX one-time invitation Jednorázová pozvánka SimpleX @@ -9074,6 +9082,10 @@ Před zapnutím této funkce budete vyzváni k dokončení ověření. Update settings? No comment provided by engineer. + + Update the app to register a SimpleX domain + No comment provided by engineer. + Updated conditions No comment provided by engineer. @@ -9567,6 +9579,23 @@ alert title Již máte profil chatu se stejným zobrazovacím názvem. Zvolte prosím jiné jméno. No comment provided by engineer. + + You are a contributor + new chat alert + + + You are a member + Jste člen + new chat alert + + + You are a moderator + new chat alert + + + You are a subscriber + new chat alert + You are already connected to %@. Již jste připojeni k %@. @@ -9601,6 +9630,21 @@ alert title Repeat join request? new chat sheet title + + You are an admin + Jste správce + new chat alert + + + You are an observer + Jste pozorovatel + new chat alert + + + You are an owner + Jste vlastník + new chat alert + You are connected to the server used to receive messages from this connection. subscription status explanation @@ -10519,6 +10563,10 @@ pref value forwarded No comment provided by engineer. + + forwarded from + No comment provided by engineer. + group shown on group welcome message @@ -10892,8 +10940,8 @@ time to disappear saved No comment provided by engineer. - - saved from %@ + + saved from No comment provided by engineer. @@ -10978,6 +11026,10 @@ last received msg: %2$@ unprotected No comment provided by engineer. + + until you can register a SimpleX domain + No comment provided by engineer. + updated channel profile rcv group event chat item diff --git a/apps/ios/SimpleX Localizations/de.xcloc/Localized Contents/de.xliff b/apps/ios/SimpleX Localizations/de.xcloc/Localized Contents/de.xliff index 1265c782e0..e5cfc54b2c 100644 --- a/apps/ios/SimpleX Localizations/de.xcloc/Localized Contents/de.xliff +++ b/apps/ios/SimpleX Localizations/de.xcloc/Localized Contents/de.xliff @@ -40,6 +40,10 @@ %1$@ hat SimpleX Chat unterstützt. Das Abzeichen ist am %2$@ abgelaufen. badge alert + + %1$02d hrs %2$02d min %3$02d sec + countdown + %@ %@ @@ -155,6 +159,10 @@ %@: copied message info + + %d day + time interval + %d days %d Tage @@ -2715,6 +2723,10 @@ Das ist Ihr eigener Einmal-Link! Link wird erstellt… No comment provided by engineer. + + Crowdfunding investors can reserve names before the sale starts: [simplex.domains](https://simplex.domains/) + No comment provided by engineer. + Crowdfunding on Wefunder No comment provided by engineer. @@ -6744,21 +6756,11 @@ alert button Migration auf ein anderes Gerät öffnen authentication reason - - Open new channel - Neuen Kanal öffnen - new chat action - Open new chat Neuen Chat öffnen new chat action - - Open new group - Neue Gruppe öffnen - new chat action - Open to accept Zum Akzeptieren öffnen @@ -8945,6 +8947,10 @@ copied message info SimpleX-Name ist nicht verifiziert alert title + + SimpleX name sale starts in + No comment provided by engineer. + SimpleX one-time invitation SimpleX-Einmal-Einladung @@ -10098,6 +10104,10 @@ Sie werden aufgefordert, die Authentifizierung abzuschließen, bevor diese Funkt Einstellungen aktualisieren? No comment provided by engineer. + + Update the app to register a SimpleX domain + No comment provided by engineer. + Updated conditions Aktualisierte Nutzungsbedingungen @@ -10664,6 +10674,26 @@ alert title Sie haben schon ein Chat-Profil mit dem gleichen Anzeigenamen. Bitte wählen Sie einen anderen Namen aus. No comment provided by engineer. + + You are a contributor + Sie sind Mitwirkender + new chat alert + + + You are a member + Sie sind Mitglied + new chat alert + + + You are a moderator + Sie sind Moderator + new chat alert + + + You are a subscriber + Sie sind Abonnent + new chat alert + You are already connected to %@. Sie sind bereits mit %@ verbunden. @@ -10706,6 +10736,21 @@ Repeat join request? Verbindungsanfrage wiederholen? new chat sheet title + + You are an admin + Sie sind Admin + new chat alert + + + You are an observer + Sie sind Beobachter + new chat alert + + + You are an owner + Sie sind Eigentümer + new chat alert + You are connected to the server used to receive messages from this connection. Sie sind mit dem Server verbunden, der für den Empfang von Nachrichten dieser Verbindung genutzt wird. @@ -11708,6 +11753,10 @@ pref value weitergeleitet No comment provided by engineer. + + forwarded from + No comment provided by engineer. + group Gruppe @@ -12116,9 +12165,9 @@ time to disappear abgespeichert No comment provided by engineer. - - saved from %@ - abgespeichert von %@ + + saved from + abgespeichert von No comment provided by engineer. @@ -12215,6 +12264,10 @@ Zuletzt empfangene Nachricht: %2$@ Ungeschützt No comment provided by engineer. + + until you can register a SimpleX domain + No comment provided by engineer. + updated channel profile Kanalprofil aktualisiert diff --git a/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff b/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff index 38e0ecfe85..184c9fd6b4 100644 --- a/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff +++ b/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff @@ -40,6 +40,11 @@ %1$@ supported SimpleX Chat. The badge expired on %2$@. badge alert + + %1$02d hrs %2$02d min %3$02d sec + %1$02d hrs %2$02d min %3$02d sec + countdown + %@ %@ @@ -155,6 +160,11 @@ %@: copied message info + + %d day + %d day + time interval + %d days %d days @@ -2715,6 +2725,11 @@ This is your own one-time link! Creating link… No comment provided by engineer. + + Crowdfunding investors can reserve names before the sale starts: [simplex.domains](https://simplex.domains/) + Crowdfunding investors can reserve names before the sale starts: [simplex.domains](https://simplex.domains/) + No comment provided by engineer. + Crowdfunding on Wefunder Crowdfunding on Wefunder @@ -6747,21 +6762,11 @@ alert button Open migration to another device authentication reason - - Open new channel - Open new channel - new chat action - Open new chat Open new chat new chat action - - Open new group - Open new group - new chat action - Open to accept Open to accept @@ -8948,6 +8953,11 @@ copied message info SimpleX name not verified alert title + + SimpleX name sale starts in + SimpleX name sale starts in + No comment provided by engineer. + SimpleX one-time invitation SimpleX one-time invitation @@ -10101,6 +10111,11 @@ You will be prompted to complete authentication before this feature is enabled.< Update settings? No comment provided by engineer. + + Update the app to register a SimpleX domain + Update the app to register a SimpleX domain + No comment provided by engineer. + Updated conditions Updated conditions @@ -10667,6 +10682,26 @@ alert title You already have a chat profile with the same display name. Please choose another name. No comment provided by engineer. + + You are a contributor + You are a contributor + new chat alert + + + You are a member + You are a member + new chat alert + + + You are a moderator + You are a moderator + new chat alert + + + You are a subscriber + You are a subscriber + new chat alert + You are already connected to %@. You are already connected to %@. @@ -10709,6 +10744,21 @@ Repeat join request? Repeat join request? new chat sheet title + + You are an admin + You are an admin + new chat alert + + + You are an observer + You are an observer + new chat alert + + + You are an owner + You are an owner + new chat alert + You are connected to the server used to receive messages from this connection. You are connected to the server used to receive messages from this connection. @@ -11713,6 +11763,11 @@ pref value forwarded No comment provided by engineer. + + forwarded from + forwarded from + No comment provided by engineer. + group group @@ -12121,9 +12176,9 @@ time to disappear saved No comment provided by engineer. - - saved from %@ - saved from %@ + + saved from + saved from No comment provided by engineer. @@ -12220,6 +12275,11 @@ last received msg: %2$@ unprotected No comment provided by engineer. + + until you can register a SimpleX domain + until you can register a SimpleX domain + No comment provided by engineer. + updated channel profile updated channel profile diff --git a/apps/ios/SimpleX Localizations/es.xcloc/Localized Contents/es.xliff b/apps/ios/SimpleX Localizations/es.xcloc/Localized Contents/es.xliff index 60f0dd3e2d..82ba09d6a9 100644 --- a/apps/ios/SimpleX Localizations/es.xcloc/Localized Contents/es.xliff +++ b/apps/ios/SimpleX Localizations/es.xcloc/Localized Contents/es.xliff @@ -40,6 +40,10 @@ %1$@ ha apoyado a SimpleX Chat. La insignia caducó el %2$@. badge alert + + %1$02d hrs %2$02d min %3$02d sec + countdown + %@ %@ @@ -155,6 +159,10 @@ %@: copied message info + + %d day + time interval + %d days %d día(s) @@ -2715,6 +2723,10 @@ This is your own one-time link! Creando enlace… No comment provided by engineer. + + Crowdfunding investors can reserve names before the sale starts: [simplex.domains](https://simplex.domains/) + No comment provided by engineer. + Crowdfunding on Wefunder No comment provided by engineer. @@ -6744,21 +6756,11 @@ alert button Abrir menú migración a otro dispositivo authentication reason - - Open new channel - Abrir canal nuevo - new chat action - Open new chat Abrir chat nuevo new chat action - - Open new group - Abrir grupo nuevo - new chat action - Open to accept Abrir para aceptar @@ -8945,6 +8947,10 @@ copied message info Nombre SimpleX no verificado alert title + + SimpleX name sale starts in + No comment provided by engineer. + SimpleX one-time invitation Invitación SimpleX de un uso @@ -10098,6 +10104,10 @@ Se te pedirá que completes la autenticación antes de activar esta función.¿Actualizar configuración? No comment provided by engineer. + + Update the app to register a SimpleX domain + No comment provided by engineer. + Updated conditions Condiciones actualizadas @@ -10664,6 +10674,26 @@ alert title Ya tienes un perfil con este nombre mostrado. Por favor, elige otro nombre. No comment provided by engineer. + + You are a contributor + Eres colaborador + new chat alert + + + You are a member + Eres miembro + new chat alert + + + You are a moderator + Eres moderador + new chat alert + + + You are a subscriber + Eres suscriptor + new chat alert + You are already connected to %@. Ya estás conectado con %@. @@ -10706,6 +10736,21 @@ Repeat join request? ¿Repetir solicitud de admisión? new chat sheet title + + You are an admin + Eres administrador + new chat alert + + + You are an observer + Eres observador + new chat alert + + + You are an owner + Eres propietario + new chat alert + You are connected to the server used to receive messages from this connection. Estás conectado al servidor usado para recibir mensajes de esta conexión. @@ -11708,6 +11753,10 @@ pref value reenviado No comment provided by engineer. + + forwarded from + No comment provided by engineer. + group grupo @@ -12116,9 +12165,9 @@ time to disappear guardado No comment provided by engineer. - - saved from %@ - Guardado desde %@ + + saved from + Guardado desde No comment provided by engineer. @@ -12215,6 +12264,10 @@ last received msg: %2$@ desprotegida No comment provided by engineer. + + until you can register a SimpleX domain + No comment provided by engineer. + updated channel profile perfil del canal actualizado diff --git a/apps/ios/SimpleX Localizations/fi.xcloc/Localized Contents/fi.xliff b/apps/ios/SimpleX Localizations/fi.xcloc/Localized Contents/fi.xliff index 78caebe522..e01c47949d 100644 --- a/apps/ios/SimpleX Localizations/fi.xcloc/Localized Contents/fi.xliff +++ b/apps/ios/SimpleX Localizations/fi.xcloc/Localized Contents/fi.xliff @@ -39,6 +39,10 @@ %1$@ supported SimpleX Chat. The badge expired on %2$@. badge alert + + %1$02d hrs %2$02d min %3$02d sec + countdown + %@ % @ @@ -144,6 +148,10 @@ %@: copied message info + + %d day + time interval + %d days %d päivää @@ -2386,6 +2394,10 @@ This is your own one-time link! Creating link… No comment provided by engineer. + + Crowdfunding investors can reserve names before the sale starts: [simplex.domains](https://simplex.domains/) + No comment provided by engineer. + Crowdfunding on Wefunder No comment provided by engineer. @@ -6000,18 +6012,10 @@ alert button Open migration to another device authentication reason - - Open new channel - new chat action - Open new chat new chat action - - Open new group - new chat action - Open to accept No comment provided by engineer. @@ -7935,6 +7939,10 @@ copied message info SimpleX name not verified alert title + + SimpleX name sale starts in + No comment provided by engineer. + SimpleX one-time invitation SimpleX-kertakutsu @@ -8948,6 +8956,10 @@ Sinua kehotetaan suorittamaan todennus loppuun, ennen kuin tämä ominaisuus ote Update settings? No comment provided by engineer. + + Update the app to register a SimpleX domain + No comment provided by engineer. + Updated conditions No comment provided by engineer. @@ -9441,6 +9453,23 @@ alert title Sinulla on jo keskusteluprofiili samalla näyttönimellä. Valitse toinen nimi. No comment provided by engineer. + + You are a contributor + new chat alert + + + You are a member + Olet jäsen + new chat alert + + + You are a moderator + new chat alert + + + You are a subscriber + new chat alert + You are already connected to %@. Olet jo muodostanut yhteyden %@:n kanssa. @@ -9475,6 +9504,21 @@ alert title Repeat join request? new chat sheet title + + You are an admin + Olet ylläpitäjä + new chat alert + + + You are an observer + Olet tarkkailija + new chat alert + + + You are an owner + Olet omistaja + new chat alert + You are connected to the server used to receive messages from this connection. subscription status explanation @@ -10391,6 +10435,10 @@ pref value forwarded No comment provided by engineer. + + forwarded from + No comment provided by engineer. + group shown on group welcome message @@ -10764,8 +10812,8 @@ time to disappear saved No comment provided by engineer. - - saved from %@ + + saved from No comment provided by engineer. @@ -10850,6 +10898,10 @@ last received msg: %2$@ unprotected No comment provided by engineer. + + until you can register a SimpleX domain + No comment provided by engineer. + updated channel profile rcv group event chat item diff --git a/apps/ios/SimpleX Localizations/fr.xcloc/Localized Contents/fr.xliff b/apps/ios/SimpleX Localizations/fr.xcloc/Localized Contents/fr.xliff index 78e8e30096..7305dc4346 100644 --- a/apps/ios/SimpleX Localizations/fr.xcloc/Localized Contents/fr.xliff +++ b/apps/ios/SimpleX Localizations/fr.xcloc/Localized Contents/fr.xliff @@ -40,6 +40,10 @@ %1$@ a soutenu SimpleX Chat. Le badge a expiré le %2$@. badge alert + + %1$02d hrs %2$02d min %3$02d sec + countdown + %@ %@ @@ -155,6 +159,10 @@ %@ : copied message info + + %d day + time interval + %d days %d jours @@ -2715,6 +2723,10 @@ Il s'agit de votre propre lien unique ! Création d'un lien… No comment provided by engineer. + + Crowdfunding investors can reserve names before the sale starts: [simplex.domains](https://simplex.domains/) + No comment provided by engineer. + Crowdfunding on Wefunder No comment provided by engineer. @@ -6744,21 +6756,11 @@ alert button Ouvrir le transfert vers un autre appareil authentication reason - - Open new channel - Ouvrir un nouveau canal - new chat action - Open new chat Ouvrir une nouvelle conversation new chat action - - Open new group - Ouvrir le nouveau groupe - new chat action - Open to accept Ouvrir pour accepter @@ -8945,6 +8947,10 @@ copied message info Nom SimpleX non vérifié alert title + + SimpleX name sale starts in + No comment provided by engineer. + SimpleX one-time invitation Invitation unique SimpleX @@ -10098,6 +10104,10 @@ Vous serez invité à confirmer l'authentification avant que cette fonction ne s Mettre à jour les paramètres ? No comment provided by engineer. + + Update the app to register a SimpleX domain + No comment provided by engineer. + Updated conditions Conditions mises à jour @@ -10664,6 +10674,26 @@ alert title Vous avez déjà un profil de messagerie avec le même nom d’affichage. Veuillez choisir un autre nom. No comment provided by engineer. + + You are a contributor + Vous êtes contributeur + new chat alert + + + You are a member + Vous êtes membre + new chat alert + + + You are a moderator + Vous êtes modérateur + new chat alert + + + You are a subscriber + Vous êtes abonné·e + new chat alert + You are already connected to %@. Vous êtes déjà connecté·e à %@ via ce lien. @@ -10706,6 +10736,21 @@ Repeat join request? Répéter la demande d'adhésion ? new chat sheet title + + You are an admin + Vous êtes admin + new chat alert + + + You are an observer + Vous êtes observateur + new chat alert + + + You are an owner + Vous êtes propriétaire + new chat alert + You are connected to the server used to receive messages from this connection. Vous êtes connecté au serveur utilisé pour recevoir les messages de cette connexion. @@ -11708,6 +11753,10 @@ pref value transféré No comment provided by engineer. + + forwarded from + No comment provided by engineer. + group groupe @@ -12116,9 +12165,9 @@ time to disappear enregistré No comment provided by engineer. - - saved from %@ - enregistré à partir de %@ + + saved from + enregistré à partir de No comment provided by engineer. @@ -12215,6 +12264,10 @@ dernier message reçu : %2$@ non protégé No comment provided by engineer. + + until you can register a SimpleX domain + No comment provided by engineer. + updated channel profile profil du canal mis à jour diff --git a/apps/ios/SimpleX Localizations/hu.xcloc/Localized Contents/hu.xliff b/apps/ios/SimpleX Localizations/hu.xcloc/Localized Contents/hu.xliff index 4663996480..ee4aae63a2 100644 --- a/apps/ios/SimpleX Localizations/hu.xcloc/Localized Contents/hu.xliff +++ b/apps/ios/SimpleX Localizations/hu.xcloc/Localized Contents/hu.xliff @@ -40,6 +40,10 @@ %1$@ támogatta a SimpleX Chatet. A kitűző lejárt ekkor: %2$@. badge alert + + %1$02d hrs %2$02d min %3$02d sec + countdown + %@ %@ @@ -155,6 +159,10 @@ %@: copied message info + + %d day + time interval + %d days %d nap @@ -2715,6 +2723,10 @@ Ez a saját egyszer használható meghívója! Hivatkozás létrehozása… No comment provided by engineer. + + Crowdfunding investors can reserve names before the sale starts: [simplex.domains](https://simplex.domains/) + No comment provided by engineer. + Crowdfunding on Wefunder No comment provided by engineer. @@ -6744,21 +6756,11 @@ alert button Átköltöztetés indítása egy másik eszközre authentication reason - - Open new channel - Új csatorna megnyitása - new chat action - Open new chat Új csevegés megnyitása new chat action - - Open new group - Új csoport megnyitása - new chat action - Open to accept Megnyitás az elfogadáshoz @@ -8945,6 +8947,10 @@ copied message info Nincs ellenőrizve a SimpleX-név alert title + + SimpleX name sale starts in + No comment provided by engineer. + SimpleX one-time invitation Egyszer használható SimpleX meghívó @@ -10098,6 +10104,10 @@ A funkció bekapcsolása előtt a rendszer felszólítja a képernyőzár beáll Frissíti a beállításokat? No comment provided by engineer. + + Update the app to register a SimpleX domain + No comment provided by engineer. + Updated conditions Frissített feltételek @@ -10664,6 +10674,26 @@ alert title Már van egy csevegési profil ugyanezzel a megjelenítendő névvel. Válasszon egy másik nevet. No comment provided by engineer. + + You are a contributor + Ön közreműködő + new chat alert + + + You are a member + Ön tag + new chat alert + + + You are a moderator + Ön moderátor + new chat alert + + + You are a subscriber + Ön feliratkozó + new chat alert + You are already connected to %@. Ön már kapcsolódott a következőhöz: %@. @@ -10706,6 +10736,21 @@ Repeat join request? Megismétli a csatlakozási kérést? new chat sheet title + + You are an admin + Ön adminisztrátor + new chat alert + + + You are an observer + Ön megfigyelő + new chat alert + + + You are an owner + Ön tulajdonos + new chat alert + You are connected to the server used to receive messages from this connection. Ön kapcsolódott ahhoz a kiszolgálóhoz, amely az adott partnerétől érkező üzenetek fogadására szolgál. @@ -11708,6 +11753,10 @@ pref value továbbított No comment provided by engineer. + + forwarded from + No comment provided by engineer. + group csoport @@ -12116,9 +12165,9 @@ time to disappear mentett No comment provided by engineer. - - saved from %@ - mentve innen: %@ + + saved from + mentve innen: No comment provided by engineer. @@ -12215,6 +12264,10 @@ utoljára fogadott üzenet: %2$@ nem védett No comment provided by engineer. + + until you can register a SimpleX domain + No comment provided by engineer. + updated channel profile frissítette a csatorna profilját diff --git a/apps/ios/SimpleX Localizations/it.xcloc/Localized Contents/it.xliff b/apps/ios/SimpleX Localizations/it.xcloc/Localized Contents/it.xliff index 80f6c9a224..d1b0e19478 100644 --- a/apps/ios/SimpleX Localizations/it.xcloc/Localized Contents/it.xliff +++ b/apps/ios/SimpleX Localizations/it.xcloc/Localized Contents/it.xliff @@ -40,6 +40,10 @@ %1$@ ha sostenuto SimpleX Chat. La targhetta è scaduta il %2$@. badge alert + + %1$02d hrs %2$02d min %3$02d sec + countdown + %@ %@ @@ -155,6 +159,10 @@ %@: copied message info + + %d day + time interval + %d days %d giorni @@ -2715,6 +2723,10 @@ Questo è il tuo link una tantum! Creazione link… No comment provided by engineer. + + Crowdfunding investors can reserve names before the sale starts: [simplex.domains](https://simplex.domains/) + No comment provided by engineer. + Crowdfunding on Wefunder No comment provided by engineer. @@ -6744,21 +6756,11 @@ alert button Apri migrazione ad un altro dispositivo authentication reason - - Open new channel - Apri il nuovo canale - new chat action - Open new chat Apri la nuova chat new chat action - - Open new group - Apri il nuovo gruppo - new chat action - Open to accept Apri per accettare @@ -8945,6 +8947,10 @@ copied message info Nome SimpleX non verificato alert title + + SimpleX name sale starts in + No comment provided by engineer. + SimpleX one-time invitation Invito SimpleX una tantum @@ -10098,6 +10104,10 @@ Ti verrà chiesto di completare l'autenticazione prima di attivare questa funzio Aggiornare le impostazioni? No comment provided by engineer. + + Update the app to register a SimpleX domain + No comment provided by engineer. + Updated conditions Condizioni aggiornate @@ -10664,6 +10674,26 @@ alert title Hai già un profilo chat con lo stesso nome da mostrare. Scegli un altro nome. No comment provided by engineer. + + You are a contributor + Sei un collaboratore + new chat alert + + + You are a member + Sei un membro + new chat alert + + + You are a moderator + Sei un moderatore + new chat alert + + + You are a subscriber + Sei iscritto/a + new chat alert + You are already connected to %@. Sei già connesso/a a %@. @@ -10706,6 +10736,21 @@ Repeat join request? Ripetere la richiesta di ingresso? new chat sheet title + + You are an admin + Sei un amministratore + new chat alert + + + You are an observer + Sei un osservatore + new chat alert + + + You are an owner + Sei un proprietario + new chat alert + You are connected to the server used to receive messages from this connection. Sei connesso/a al server usato per ricevere messaggi da questa connessione. @@ -11708,6 +11753,10 @@ pref value inoltrato No comment provided by engineer. + + forwarded from + No comment provided by engineer. + group gruppo @@ -12116,9 +12165,9 @@ time to disappear salvato No comment provided by engineer. - - saved from %@ - salvato da %@ + + saved from + salvato da No comment provided by engineer. @@ -12215,6 +12264,10 @@ ultimo msg ricevuto: %2$@ non protetto No comment provided by engineer. + + until you can register a SimpleX domain + No comment provided by engineer. + updated channel profile profilo del canale aggiornato diff --git a/apps/ios/SimpleX Localizations/ja.xcloc/Localized Contents/ja.xliff b/apps/ios/SimpleX Localizations/ja.xcloc/Localized Contents/ja.xliff index 345e6836a6..5d9be60493 100644 --- a/apps/ios/SimpleX Localizations/ja.xcloc/Localized Contents/ja.xliff +++ b/apps/ios/SimpleX Localizations/ja.xcloc/Localized Contents/ja.xliff @@ -39,6 +39,10 @@ %1$@ supported SimpleX Chat. The badge expired on %2$@. badge alert + + %1$02d hrs %2$02d min %3$02d sec + countdown + %@ %@ @@ -152,6 +156,10 @@ %@: copied message info + + %d day + time interval + %d days %d 日 @@ -2491,6 +2499,10 @@ This is your own one-time link! Creating link… No comment provided by engineer. + + Crowdfunding investors can reserve names before the sale starts: [simplex.domains](https://simplex.domains/) + No comment provided by engineer. + Crowdfunding on Wefunder No comment provided by engineer. @@ -6120,18 +6132,10 @@ alert button Open migration to another device authentication reason - - Open new channel - new chat action - Open new chat new chat action - - Open new group - new chat action - Open to accept No comment provided by engineer. @@ -8048,6 +8052,10 @@ copied message info SimpleX name not verified alert title + + SimpleX name sale starts in + No comment provided by engineer. + SimpleX one-time invitation SimpleX使い捨て招待リンク @@ -9061,6 +9069,10 @@ You will be prompted to complete authentication before this feature is enabled.< Update settings? No comment provided by engineer. + + Update the app to register a SimpleX domain + No comment provided by engineer. + Updated conditions No comment provided by engineer. @@ -9554,6 +9566,23 @@ alert title 同じ表示名前のチャットプロフィールが既にあります。別のを選んでください。 No comment provided by engineer. + + You are a contributor + new chat alert + + + You are a member + あなたはメンバーです + new chat alert + + + You are a moderator + new chat alert + + + You are a subscriber + new chat alert + You are already connected to %@. すでに %@ に接続されています。 @@ -9588,6 +9617,21 @@ alert title Repeat join request? new chat sheet title + + You are an admin + あなたは管理者です + new chat alert + + + You are an observer + あなたはオブザーバーです + new chat alert + + + You are an owner + あなたはオーナーです + new chat alert + You are connected to the server used to receive messages from this connection. subscription status explanation @@ -10506,6 +10550,10 @@ pref value forwarded No comment provided by engineer. + + forwarded from + No comment provided by engineer. + group shown on group welcome message @@ -10879,8 +10927,8 @@ time to disappear saved No comment provided by engineer. - - saved from %@ + + saved from No comment provided by engineer. @@ -10965,6 +11013,10 @@ last received msg: %2$@ unprotected No comment provided by engineer. + + until you can register a SimpleX domain + No comment provided by engineer. + updated channel profile rcv group event chat item diff --git a/apps/ios/SimpleX Localizations/nl.xcloc/Localized Contents/nl.xliff b/apps/ios/SimpleX Localizations/nl.xcloc/Localized Contents/nl.xliff index 5ebd47c99a..d1b092f63b 100644 --- a/apps/ios/SimpleX Localizations/nl.xcloc/Localized Contents/nl.xliff +++ b/apps/ios/SimpleX Localizations/nl.xcloc/Localized Contents/nl.xliff @@ -39,6 +39,10 @@ %1$@ supported SimpleX Chat. The badge expired on %2$@. badge alert + + %1$02d hrs %2$02d min %3$02d sec + countdown + %@ %@ @@ -152,6 +156,10 @@ %@: copied message info + + %d day + time interval + %d days %d dagen @@ -2603,6 +2611,10 @@ Dit is uw eigen eenmalige link! Link maken… No comment provided by engineer. + + Crowdfunding investors can reserve names before the sale starts: [simplex.domains](https://simplex.domains/) + No comment provided by engineer. + Crowdfunding on Wefunder No comment provided by engineer. @@ -6508,18 +6520,10 @@ alert button Open de migratie naar een ander apparaat authentication reason - - Open new channel - new chat action - Open new chat new chat action - - Open new group - new chat action - Open to accept No comment provided by engineer. @@ -8613,6 +8617,10 @@ copied message info SimpleX name not verified alert title + + SimpleX name sale starts in + No comment provided by engineer. + SimpleX one-time invitation Eenmalige SimpleX uitnodiging @@ -9705,6 +9713,10 @@ U wordt gevraagd de authenticatie te voltooien voordat deze functie wordt ingesc Instellingen actualiseren? No comment provided by engineer. + + Update the app to register a SimpleX domain + No comment provided by engineer. + Updated conditions Bijgewerkte voorwaarden @@ -10248,6 +10260,24 @@ alert title Je hebt al een chatprofiel met dezelfde weergave naam. Kies een andere naam. No comment provided by engineer. + + You are a contributor + new chat alert + + + You are a member + Je bent lid + new chat alert + + + You are a moderator + Je bent moderator + new chat alert + + + You are a subscriber + new chat alert + You are already connected to %@. U bent al verbonden met %@. @@ -10290,6 +10320,21 @@ Repeat join request? Deelnameverzoek herhalen? new chat sheet title + + You are an admin + Je bent beheerder + new chat alert + + + You are an observer + Je bent waarnemer + new chat alert + + + You are an owner + Je bent eigenaar + new chat alert + You are connected to the server used to receive messages from this connection. subscription status explanation @@ -11254,6 +11299,10 @@ pref value doorgestuurd No comment provided by engineer. + + forwarded from + No comment provided by engineer. + group shown on group welcome message @@ -11651,9 +11700,9 @@ time to disappear opgeslagen No comment provided by engineer. - - saved from %@ - opgeslagen van %@ + + saved from + opgeslagen van No comment provided by engineer. @@ -11749,6 +11798,10 @@ laatst ontvangen bericht: %2$@ onbeschermd No comment provided by engineer. + + until you can register a SimpleX domain + No comment provided by engineer. + updated channel profile rcv group event chat item diff --git a/apps/ios/SimpleX Localizations/pl.xcloc/Localized Contents/pl.xliff b/apps/ios/SimpleX Localizations/pl.xcloc/Localized Contents/pl.xliff index 68f836184f..a48e4219d4 100644 --- a/apps/ios/SimpleX Localizations/pl.xcloc/Localized Contents/pl.xliff +++ b/apps/ios/SimpleX Localizations/pl.xcloc/Localized Contents/pl.xliff @@ -39,6 +39,10 @@ %1$@ supported SimpleX Chat. The badge expired on %2$@. badge alert + + %1$02d hrs %2$02d min %3$02d sec + countdown + %@ %@ @@ -152,6 +156,10 @@ %@: copied message info + + %d day + time interval + %d days %d dni @@ -2622,6 +2630,10 @@ To jest twój jednorazowy link! Tworzenie linku… No comment provided by engineer. + + Crowdfunding investors can reserve names before the sale starts: [simplex.domains](https://simplex.domains/) + No comment provided by engineer. + Crowdfunding on Wefunder No comment provided by engineer. @@ -6565,20 +6577,11 @@ alert button Otwórz migrację na innym urządzeniu authentication reason - - Open new channel - new chat action - Open new chat Otwórz nowy czat new chat action - - Open new group - Otwórz nową grupę - new chat action - Open to accept Otwórz by zaakceptować @@ -8699,6 +8702,10 @@ copied message info SimpleX name not verified alert title + + SimpleX name sale starts in + No comment provided by engineer. + SimpleX one-time invitation Zaproszenie jednorazowe SimpleX @@ -9805,6 +9812,10 @@ Przed włączeniem tej funkcji zostanie wyświetlony monit uwierzytelniania.Zaktualizować ustawienia? No comment provided by engineer. + + Update the app to register a SimpleX domain + No comment provided by engineer. + Updated conditions Zaktualizowane warunki @@ -10357,6 +10368,24 @@ alert title Masz już profil czatu o tej samej nazwie wyświetlanej. Proszę wybrać inną nazwę. No comment provided by engineer. + + You are a contributor + new chat alert + + + You are a member + Jesteś członkiem + new chat alert + + + You are a moderator + Jesteś moderatorem + new chat alert + + + You are a subscriber + new chat alert + You are already connected to %@. Jesteś już połączony z %@. @@ -10399,6 +10428,21 @@ Repeat join request? Powtórzyć prośbę dołączenia? new chat sheet title + + You are an admin + Jesteś administratorem + new chat alert + + + You are an observer + Jesteś obserwatorem + new chat alert + + + You are an owner + Jesteś właścicielem + new chat alert + You are connected to the server used to receive messages from this connection. Jesteś połączony z serwerem służącym do odbierania wiadomości z tego połączenia. @@ -11374,6 +11418,10 @@ pref value przekazane dalej No comment provided by engineer. + + forwarded from + No comment provided by engineer. + group grupa @@ -11776,9 +11824,9 @@ time to disappear zapisane No comment provided by engineer. - - saved from %@ - zapisane od %@ + + saved from + zapisane od No comment provided by engineer. @@ -11874,6 +11922,10 @@ ostatnia otrzymana wiadomość: %2$@ niezabezpieczony No comment provided by engineer. + + until you can register a SimpleX domain + No comment provided by engineer. + updated channel profile rcv group event chat item diff --git a/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff b/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff index 4d08db0a99..67d70d9708 100644 --- a/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff +++ b/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff @@ -40,6 +40,10 @@ %1$@ поддерживал(а) SimpleX Chat. Срок действия значка истёк %2$@. badge alert + + %1$02d hrs %2$02d min %3$02d sec + countdown + %@ %@ @@ -155,6 +159,10 @@ %@: copied message info + + %d day + time interval + %d days %d дней @@ -2715,6 +2723,10 @@ This is your own one-time link! Создаётся ссылка… No comment provided by engineer. + + Crowdfunding investors can reserve names before the sale starts: [simplex.domains](https://simplex.domains/) + No comment provided by engineer. + Crowdfunding on Wefunder No comment provided by engineer. @@ -6743,21 +6755,11 @@ alert button Открытие миграции на другое устройство authentication reason - - Open new channel - Открыть новый канал - new chat action - Open new chat Открыть новый чат new chat action - - Open new group - Открыть новую группу - new chat action - Open to accept Откройте чтобы принять @@ -8944,6 +8946,10 @@ copied message info SimpleX имя не проверено alert title + + SimpleX name sale starts in + No comment provided by engineer. + SimpleX one-time invitation SimpleX одноразовая ссылка @@ -10097,6 +10103,10 @@ You will be prompted to complete authentication before this feature is enabled.< Обновить настройки? No comment provided by engineer. + + Update the app to register a SimpleX domain + No comment provided by engineer. + Updated conditions Обновлённые условия @@ -10663,6 +10673,26 @@ alert title У Вас уже есть профиль с таким именем. Пожалуйста, выберите другое имя. No comment provided by engineer. + + You are a contributor + Вы соавтор + new chat alert + + + You are a member + Вы член группы + new chat alert + + + You are a moderator + Вы модератор + new chat alert + + + You are a subscriber + Вы подписчик + new chat alert + You are already connected to %@. Вы уже соединены с контактом %@. @@ -10705,6 +10735,21 @@ Repeat join request? Повторить запрос на вступление? new chat sheet title + + You are an admin + Вы админ + new chat alert + + + You are an observer + Вы читатель + new chat alert + + + You are an owner + Вы владелец + new chat alert + You are connected to the server used to receive messages from this connection. Вы подключены к серверу, используемому для приёма сообщений от этого соединения. @@ -11707,6 +11752,10 @@ pref value переслано No comment provided by engineer. + + forwarded from + No comment provided by engineer. + group группа @@ -12115,9 +12164,9 @@ time to disappear сохранено No comment provided by engineer. - - saved from %@ - сохранено из %@ + + saved from + сохранено из No comment provided by engineer. @@ -12214,6 +12263,10 @@ last received msg: %2$@ незащищённый No comment provided by engineer. + + until you can register a SimpleX domain + No comment provided by engineer. + updated channel profile обновил профиль канала diff --git a/apps/ios/SimpleX Localizations/th.xcloc/Localized Contents/th.xliff b/apps/ios/SimpleX Localizations/th.xcloc/Localized Contents/th.xliff index 5859a228a3..b77da016c7 100644 --- a/apps/ios/SimpleX Localizations/th.xcloc/Localized Contents/th.xliff +++ b/apps/ios/SimpleX Localizations/th.xcloc/Localized Contents/th.xliff @@ -36,6 +36,10 @@ %1$@ supported SimpleX Chat. The badge expired on %2$@. badge alert + + %1$02d hrs %2$02d min %3$02d sec + countdown + %@ %@ @@ -139,6 +143,10 @@ %@: copied message info + + %d day + time interval + %d days %d วัน @@ -2375,6 +2383,10 @@ This is your own one-time link! Creating link… No comment provided by engineer. + + Crowdfunding investors can reserve names before the sale starts: [simplex.domains](https://simplex.domains/) + No comment provided by engineer. + Crowdfunding on Wefunder No comment provided by engineer. @@ -5979,18 +5991,10 @@ alert button Open migration to another device authentication reason - - Open new channel - new chat action - Open new chat new chat action - - Open new group - new chat action - Open to accept No comment provided by engineer. @@ -7907,6 +7911,10 @@ copied message info SimpleX name not verified alert title + + SimpleX name sale starts in + No comment provided by engineer. + SimpleX one-time invitation คำเชิญ SimpleX แบบครั้งเดียว @@ -8918,6 +8926,10 @@ You will be prompted to complete authentication before this feature is enabled.< Update settings? No comment provided by engineer. + + Update the app to register a SimpleX domain + No comment provided by engineer. + Updated conditions No comment provided by engineer. @@ -9409,6 +9421,23 @@ alert title คุณมีโปรไฟล์แชทที่ใช้ชื่อแสดงเดียวกันอยู่แล้ว กรุณาเลือกชื่ออื่น No comment provided by engineer. + + You are a contributor + new chat alert + + + You are a member + คุณเป็นสมาชิก + new chat alert + + + You are a moderator + new chat alert + + + You are a subscriber + new chat alert + You are already connected to %@. คุณได้เชื่อมต่อกับ %@ แล้ว @@ -9443,6 +9472,21 @@ alert title Repeat join request? new chat sheet title + + You are an admin + คุณเป็นผู้ดูแลระบบ + new chat alert + + + You are an observer + คุณเป็นผู้สังเกตการณ์ + new chat alert + + + You are an owner + คุณเป็นเจ้าของ + new chat alert + You are connected to the server used to receive messages from this connection. subscription status explanation @@ -10356,6 +10400,10 @@ pref value forwarded No comment provided by engineer. + + forwarded from + No comment provided by engineer. + group shown on group welcome message @@ -10729,8 +10777,8 @@ time to disappear saved No comment provided by engineer. - - saved from %@ + + saved from No comment provided by engineer. @@ -10815,6 +10863,10 @@ last received msg: %2$@ unprotected No comment provided by engineer. + + until you can register a SimpleX domain + No comment provided by engineer. + updated channel profile rcv group event chat item diff --git a/apps/ios/SimpleX Localizations/tr.xcloc/Localized Contents/tr.xliff b/apps/ios/SimpleX Localizations/tr.xcloc/Localized Contents/tr.xliff index f6c20f8cdd..7b34d788cc 100644 --- a/apps/ios/SimpleX Localizations/tr.xcloc/Localized Contents/tr.xliff +++ b/apps/ios/SimpleX Localizations/tr.xcloc/Localized Contents/tr.xliff @@ -40,6 +40,10 @@ %1$@, SimpleX Chat'i destekledi. Rozetin süresi %2$@ tarihinde doldu. badge alert + + %1$02d hrs %2$02d min %3$02d sec + countdown + %@ %@ @@ -155,6 +159,10 @@ %@: copied message info + + %d day + time interval + %d days %d gün @@ -2633,6 +2641,10 @@ Bu senin kendi tek kullanımlık bağlantın! Link oluşturuluyor… No comment provided by engineer. + + Crowdfunding investors can reserve names before the sale starts: [simplex.domains](https://simplex.domains/) + No comment provided by engineer. + Crowdfunding on Wefunder No comment provided by engineer. @@ -6561,20 +6573,11 @@ alert button Başka bir cihaza açık geçiş authentication reason - - Open new channel - new chat action - Open new chat Yeni sohbet aç new chat action - - Open new group - Yeni grup aç - new chat action - Open to accept Kabul etmek için aç @@ -8689,6 +8692,10 @@ copied message info SimpleX name not verified alert title + + SimpleX name sale starts in + No comment provided by engineer. + SimpleX one-time invitation SimpleX tek kullanımlık davet @@ -9791,6 +9798,10 @@ Bu özellik etkinleştirilmeden önce kimlik doğrulamayı tamamlamanız istenec Ayarları güncelleyelim mi? No comment provided by engineer. + + Update the app to register a SimpleX domain + No comment provided by engineer. + Updated conditions Güncellenmiş koşullar @@ -10342,6 +10353,24 @@ alert title Aynı görünen ada sahip bir konuşma profilin zaten var. Lütfen başka bir ad seç. No comment provided by engineer. + + You are a contributor + new chat alert + + + You are a member + Üyesiniz + new chat alert + + + You are a moderator + Moderatörsünüz + new chat alert + + + You are a subscriber + new chat alert + You are already connected to %@. Zaten %@'a bağlısınız. @@ -10384,6 +10413,21 @@ Repeat join request? Katılma isteği tekrarlansın mı? new chat sheet title + + You are an admin + Yöneticisiniz + new chat alert + + + You are an observer + Gözlemcisiniz + new chat alert + + + You are an owner + Sahipsiniz + new chat alert + You are connected to the server used to receive messages from this connection. subscription status explanation @@ -11354,6 +11398,10 @@ pref value iletildi No comment provided by engineer. + + forwarded from + No comment provided by engineer. + group grup @@ -11755,9 +11803,9 @@ time to disappear kaydedildi No comment provided by engineer. - - saved from %@ - %@ tarafından kaydedildi + + saved from + kaydedildi: No comment provided by engineer. @@ -11853,6 +11901,10 @@ son alınan msj: %2$@ korumasız No comment provided by engineer. + + until you can register a SimpleX domain + No comment provided by engineer. + updated channel profile rcv group event chat item diff --git a/apps/ios/SimpleX Localizations/uk.xcloc/Localized Contents/uk.xliff b/apps/ios/SimpleX Localizations/uk.xcloc/Localized Contents/uk.xliff index 1d6c687a94..e2df9d37af 100644 --- a/apps/ios/SimpleX Localizations/uk.xcloc/Localized Contents/uk.xliff +++ b/apps/ios/SimpleX Localizations/uk.xcloc/Localized Contents/uk.xliff @@ -40,6 +40,10 @@ %1$@ підтримував SimpleX Chat. Термін дії значка вичерпався %2$@. badge alert + + %1$02d hrs %2$02d min %3$02d sec + countdown + %@ %@ @@ -155,6 +159,10 @@ %@: copied message info + + %d day + time interval + %d days %d днів @@ -2654,6 +2662,10 @@ This is your own one-time link! Створення посилання… No comment provided by engineer. + + Crowdfunding investors can reserve names before the sale starts: [simplex.domains](https://simplex.domains/) + No comment provided by engineer. + Crowdfunding on Wefunder No comment provided by engineer. @@ -6573,20 +6585,11 @@ alert button Відкрита міграція на інший пристрій authentication reason - - Open new channel - new chat action - Open new chat Відкрити новий чат new chat action - - Open new group - Відкрити нову групу - new chat action - Open to accept Відкрити для прийняття @@ -8699,6 +8702,10 @@ copied message info SimpleX name not verified alert title + + SimpleX name sale starts in + No comment provided by engineer. + SimpleX one-time invitation Одноразове запрошення SimpleX @@ -9799,6 +9806,10 @@ You will be prompted to complete authentication before this feature is enabled.< Оновити налаштування? No comment provided by engineer. + + Update the app to register a SimpleX domain + No comment provided by engineer. + Updated conditions Оновлені умови @@ -10350,6 +10361,24 @@ alert title Ви вже маєте профіль у чаті з таким самим іменем. Будь ласка, виберіть інше ім'я. No comment provided by engineer. + + You are a contributor + new chat alert + + + You are a member + Ви учасник + new chat alert + + + You are a moderator + Ви модератор + new chat alert + + + You are a subscriber + new chat alert + You are already connected to %@. Ви вже підключені до %@. @@ -10392,6 +10421,21 @@ Repeat join request? Повторити запит на приєднання? new chat sheet title + + You are an admin + Ви адмін + new chat alert + + + You are an observer + Ви спостерігач + new chat alert + + + You are an owner + Ви власник + new chat alert + You are connected to the server used to receive messages from this connection. subscription status explanation @@ -11362,6 +11406,10 @@ pref value переслано No comment provided by engineer. + + forwarded from + No comment provided by engineer. + group група @@ -11762,9 +11810,9 @@ time to disappear збережено No comment provided by engineer. - - saved from %@ - збережено з %@ + + saved from + збережено з No comment provided by engineer. @@ -11860,6 +11908,10 @@ last received msg: %2$@ незахищені No comment provided by engineer. + + until you can register a SimpleX domain + No comment provided by engineer. + updated channel profile rcv group event chat item diff --git a/apps/ios/SimpleX Localizations/zh-Hans.xcloc/Localized Contents/zh-Hans.xliff b/apps/ios/SimpleX Localizations/zh-Hans.xcloc/Localized Contents/zh-Hans.xliff index c977009785..1f7e0c5fa2 100644 --- a/apps/ios/SimpleX Localizations/zh-Hans.xcloc/Localized Contents/zh-Hans.xliff +++ b/apps/ios/SimpleX Localizations/zh-Hans.xcloc/Localized Contents/zh-Hans.xliff @@ -40,6 +40,10 @@ %1$@ 曾是 SimpleX Chat 支持者。徽章已于 %2$@ 过期。 badge alert + + %1$02d hrs %2$02d min %3$02d sec + countdown + %@ %@ @@ -155,6 +159,10 @@ %@: copied message info + + %d day + time interval + %d days %d 天 @@ -2710,6 +2718,10 @@ This is your own one-time link! 创建链接中… No comment provided by engineer. + + Crowdfunding investors can reserve names before the sale starts: [simplex.domains](https://simplex.domains/) + No comment provided by engineer. + Crowdfunding on Wefunder No comment provided by engineer. @@ -6725,21 +6737,11 @@ alert button 打开迁移到另一台设备 authentication reason - - Open new channel - 打开新频道 - new chat action - Open new chat 打开新聊天 new chat action - - Open new group - 打开新群 - new chat action - Open to accept 打开以接受 @@ -8913,6 +8915,10 @@ copied message info SimpleX 名称未验证 alert title + + SimpleX name sale starts in + No comment provided by engineer. + SimpleX one-time invitation SimpleX 一次性邀请 @@ -10056,6 +10062,10 @@ You will be prompted to complete authentication before this feature is enabled.< 更新设置? No comment provided by engineer. + + Update the app to register a SimpleX domain + No comment provided by engineer. + Updated conditions 条款已更新 @@ -10620,6 +10630,25 @@ alert title 您已经有一个显示名相同的聊天资料。请选择另一个名字。 No comment provided by engineer. + + You are a contributor + new chat alert + + + You are a member + 你是成员 + new chat alert + + + You are a moderator + 你是协管 + new chat alert + + + You are a subscriber + 你是订阅者 + new chat alert + You are already connected to %@. 您已经连接到 %@。 @@ -10662,6 +10691,21 @@ Repeat join request? 重复加入请求? new chat sheet title + + You are an admin + 你是管理员 + new chat alert + + + You are an observer + 你是观察者 + new chat alert + + + You are an owner + 你是群主 + new chat alert + You are connected to the server used to receive messages from this connection. 你已连接到用于接收该连接消息的服务器。 @@ -11662,6 +11706,10 @@ pref value 已转发 No comment provided by engineer. + + forwarded from + No comment provided by engineer. + group 群 @@ -12070,9 +12118,9 @@ time to disappear 已保存 No comment provided by engineer. - - saved from %@ - 保存自 %@ + + saved from + 保存自 No comment provided by engineer. @@ -12168,6 +12216,10 @@ last received msg: %2$@ 未受保护 No comment provided by engineer. + + until you can register a SimpleX domain + No comment provided by engineer. + updated channel profile 频道更新了频道资料 diff --git a/apps/ios/bg.lproj/Localizable.strings b/apps/ios/bg.lproj/Localizable.strings index 05f5185e4d..4eecbe2fdc 100644 --- a/apps/ios/bg.lproj/Localizable.strings +++ b/apps/ios/bg.lproj/Localizable.strings @@ -3516,10 +3516,10 @@ chat item action */ "Saved" = "Запазено"; /* No comment provided by engineer. */ -"Saved from" = "Запазено от"; +"saved from" = "запазено от"; /* No comment provided by engineer. */ -"saved from" = "запазено от"; +"Saved from" = "Запазено от"; /* message info title */ "Saved message" = "Запазено съобщение"; @@ -4393,6 +4393,9 @@ server test failure */ /* No comment provided by engineer. */ "You already have a chat profile with the same display name. Please choose another name." = "Вече имате чат профил със същото име. Моля, изберете друго име."; +/* new chat alert */ +"You are a member" = "Вие сте член"; + /* No comment provided by engineer. */ "You are already connected to %@." = "Вече сте вече свързани с %@."; @@ -4414,24 +4417,21 @@ server test failure */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "Вече се присъединихте към групата!\nИзпрати отново заявката за присъединяване?"; -/* No comment provided by engineer. */ -"You are invited to group" = "Поканени сте в групата"; - -/* No comment provided by engineer. */ -"you are observer" = "вие сте наблюдател"; +/* new chat alert */ +"You are an admin" = "Вие сте админ"; /* new chat alert */ "You are an observer" = "Вие сте наблюдател"; -/* new chat alert */ -"You are a member" = "Вие сте член"; - -/* new chat alert */ -"You are an admin" = "Вие сте админ"; - /* new chat alert */ "You are an owner" = "Вие сте собственик"; +/* No comment provided by engineer. */ +"You are invited to group" = "Поканени сте в групата"; + +/* No comment provided by engineer. */ +"you are observer" = "вие сте наблюдател"; + /* snd group event chat item */ "you blocked %@" = "вие блокирахте %@"; diff --git a/apps/ios/cs.lproj/Localizable.strings b/apps/ios/cs.lproj/Localizable.strings index cb596480dc..d9d723be36 100644 --- a/apps/ios/cs.lproj/Localizable.strings +++ b/apps/ios/cs.lproj/Localizable.strings @@ -3505,27 +3505,27 @@ server test failure */ /* No comment provided by engineer. */ "You already have a chat profile with the same display name. Please choose another name." = "Již máte profil chatu se stejným zobrazovacím názvem. Zvolte prosím jiné jméno."; +/* new chat alert */ +"You are a member" = "Jste člen"; + /* No comment provided by engineer. */ "You are already connected to %@." = "Již jste připojeni k %@."; +/* new chat alert */ +"You are an admin" = "Jste správce"; + +/* new chat alert */ +"You are an observer" = "Jste pozorovatel"; + +/* new chat alert */ +"You are an owner" = "Jste vlastník"; + /* No comment provided by engineer. */ "You are invited to group" = "Jste pozváni do skupiny"; /* No comment provided by engineer. */ "you are observer" = "jste pozorovatel"; -/* new chat alert */ -"You are an observer" = "Jste pozorovatel"; - -/* new chat alert */ -"You are a member" = "Jste člen"; - -/* new chat alert */ -"You are an admin" = "Jste správce"; - -/* new chat alert */ -"You are an owner" = "Jste vlastník"; - /* No comment provided by engineer. */ "You can accept calls from lock screen, without device and app authentication." = "Můžete přijímat hovory z obrazovky zámku, bez ověření zařízení a aplikace."; diff --git a/apps/ios/de.lproj/Localizable.strings b/apps/ios/de.lproj/Localizable.strings index 924cbc2735..7d6fda744f 100644 --- a/apps/ios/de.lproj/Localizable.strings +++ b/apps/ios/de.lproj/Localizable.strings @@ -4464,15 +4464,9 @@ alert button */ /* authentication reason */ "Open migration to another device" = "Migration auf ein anderes Gerät öffnen"; -/* new chat action */ -"Open new channel" = "Neuen Kanal öffnen"; - /* new chat action */ "Open new chat" = "Neuen Chat öffnen"; -/* new chat action */ -"Open new group" = "Neue Gruppe öffnen"; - /* No comment provided by engineer. */ "Open Settings" = "Geräte-Einstellungen öffnen"; @@ -5343,10 +5337,10 @@ chat item action */ "Saved" = "Abgespeichert"; /* No comment provided by engineer. */ -"Saved from" = "Abgespeichert von"; +"saved from" = "abgespeichert von"; /* No comment provided by engineer. */ -"saved from" = "abgespeichert von"; +"Saved from" = "Abgespeichert von"; /* message info title */ "Saved message" = "Gespeicherte Nachricht"; @@ -7013,6 +7007,18 @@ alert title */ /* No comment provided by engineer. */ "You already have a chat profile with the same display name. Please choose another name." = "Sie haben schon ein Chat-Profil mit dem gleichen Anzeigenamen. Bitte wählen Sie einen anderen Namen aus."; +/* new chat alert */ +"You are a contributor" = "Sie sind Mitwirkender"; + +/* new chat alert */ +"You are a member" = "Sie sind Mitglied"; + +/* new chat alert */ +"You are a moderator" = "Sie sind Moderator"; + +/* new chat alert */ +"You are a subscriber" = "Sie sind Abonnent"; + /* No comment provided by engineer. */ "You are already connected to %@." = "Sie sind bereits mit %@ verbunden."; @@ -7037,6 +7043,15 @@ alert title */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "Sie sind bereits Mitglied dieser Gruppe!\nVerbindungsanfrage wiederholen?"; +/* new chat alert */ +"You are an admin" = "Sie sind Admin"; + +/* new chat alert */ +"You are an observer" = "Sie sind Beobachter"; + +/* new chat alert */ +"You are an owner" = "Sie sind Eigentümer"; + /* subscription status explanation */ "You are connected to the server used to receive messages from this connection." = "Sie sind mit dem Server verbunden, der für den Empfang von Nachrichten dieser Verbindung genutzt wird."; @@ -7052,27 +7067,6 @@ alert title */ /* No comment provided by engineer. */ "you are observer" = "Sie sind Beobachter"; -/* new chat alert */ -"You are an observer" = "Sie sind Beobachter"; - -/* new chat alert */ -"You are a member" = "Sie sind Mitglied"; - -/* new chat alert */ -"You are a moderator" = "Sie sind Moderator"; - -/* new chat alert */ -"You are an admin" = "Sie sind Admin"; - -/* new chat alert */ -"You are an owner" = "Sie sind Eigentümer"; - -/* new chat alert */ -"You are a subscriber" = "Sie sind Abonnent"; - -/* new chat alert */ -"You are a contributor" = "Sie sind Mitwirkender"; - /* No comment provided by engineer. */ "you are subscriber" = "Sie sind Abonnent"; diff --git a/apps/ios/es.lproj/Localizable.strings b/apps/ios/es.lproj/Localizable.strings index 02f6415cca..cca9ef9ba5 100644 --- a/apps/ios/es.lproj/Localizable.strings +++ b/apps/ios/es.lproj/Localizable.strings @@ -4464,15 +4464,9 @@ alert button */ /* authentication reason */ "Open migration to another device" = "Abrir menú migración a otro dispositivo"; -/* new chat action */ -"Open new channel" = "Abrir canal nuevo"; - /* new chat action */ "Open new chat" = "Abrir chat nuevo"; -/* new chat action */ -"Open new group" = "Abrir grupo nuevo"; - /* No comment provided by engineer. */ "Open Settings" = "Abrir Configuración"; @@ -5343,10 +5337,10 @@ chat item action */ "Saved" = "Guardado"; /* No comment provided by engineer. */ -"Saved from" = "Guardado desde"; +"saved from" = "Guardado desde"; /* No comment provided by engineer. */ -"saved from" = "Guardado desde"; +"Saved from" = "Guardado desde"; /* message info title */ "Saved message" = "Mensaje guardado"; @@ -7013,6 +7007,18 @@ alert title */ /* No comment provided by engineer. */ "You already have a chat profile with the same display name. Please choose another name." = "Ya tienes un perfil con este nombre mostrado. Por favor, elige otro nombre."; +/* new chat alert */ +"You are a contributor" = "Eres colaborador"; + +/* new chat alert */ +"You are a member" = "Eres miembro"; + +/* new chat alert */ +"You are a moderator" = "Eres moderador"; + +/* new chat alert */ +"You are a subscriber" = "Eres suscriptor"; + /* No comment provided by engineer. */ "You are already connected to %@." = "Ya estás conectado con %@."; @@ -7037,6 +7043,15 @@ alert title */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "¡En proceso de unirte al grupo!\n¿Repetir solicitud de admisión?"; +/* new chat alert */ +"You are an admin" = "Eres administrador"; + +/* new chat alert */ +"You are an observer" = "Eres observador"; + +/* new chat alert */ +"You are an owner" = "Eres propietario"; + /* subscription status explanation */ "You are connected to the server used to receive messages from this connection." = "Estás conectado al servidor usado para recibir mensajes de esta conexión."; @@ -7052,27 +7067,6 @@ alert title */ /* No comment provided by engineer. */ "you are observer" = "Tu rol es observador"; -/* new chat alert */ -"You are an observer" = "Eres observador"; - -/* new chat alert */ -"You are a member" = "Eres miembro"; - -/* new chat alert */ -"You are a moderator" = "Eres moderador"; - -/* new chat alert */ -"You are an admin" = "Eres administrador"; - -/* new chat alert */ -"You are an owner" = "Eres propietario"; - -/* new chat alert */ -"You are a subscriber" = "Eres suscriptor"; - -/* new chat alert */ -"You are a contributor" = "Eres colaborador"; - /* No comment provided by engineer. */ "you are subscriber" = "eres suscriptor"; diff --git a/apps/ios/fi.lproj/Localizable.strings b/apps/ios/fi.lproj/Localizable.strings index 8abb4e69f8..0ec2565331 100644 --- a/apps/ios/fi.lproj/Localizable.strings +++ b/apps/ios/fi.lproj/Localizable.strings @@ -3141,27 +3141,27 @@ server test failure */ /* No comment provided by engineer. */ "You already have a chat profile with the same display name. Please choose another name." = "Sinulla on jo keskusteluprofiili samalla näyttönimellä. Valitse toinen nimi."; +/* new chat alert */ +"You are a member" = "Olet jäsen"; + /* No comment provided by engineer. */ "You are already connected to %@." = "Olet jo muodostanut yhteyden %@:n kanssa."; +/* new chat alert */ +"You are an admin" = "Olet ylläpitäjä"; + +/* new chat alert */ +"You are an observer" = "Olet tarkkailija"; + +/* new chat alert */ +"You are an owner" = "Olet omistaja"; + /* No comment provided by engineer. */ "You are invited to group" = "Sinut on kutsuttu ryhmään"; /* No comment provided by engineer. */ "you are observer" = "olet tarkkailija"; -/* new chat alert */ -"You are an observer" = "Olet tarkkailija"; - -/* new chat alert */ -"You are a member" = "Olet jäsen"; - -/* new chat alert */ -"You are an admin" = "Olet ylläpitäjä"; - -/* new chat alert */ -"You are an owner" = "Olet omistaja"; - /* No comment provided by engineer. */ "You can accept calls from lock screen, without device and app authentication." = "Voit vastaanottaa puheluita lukitusnäytöltä ilman laitteen ja sovelluksen todennusta."; diff --git a/apps/ios/fr.lproj/Localizable.strings b/apps/ios/fr.lproj/Localizable.strings index 6816de9f5f..65e81432be 100644 --- a/apps/ios/fr.lproj/Localizable.strings +++ b/apps/ios/fr.lproj/Localizable.strings @@ -4464,15 +4464,9 @@ alert button */ /* authentication reason */ "Open migration to another device" = "Ouvrir le transfert vers un autre appareil"; -/* new chat action */ -"Open new channel" = "Ouvrir un nouveau canal"; - /* new chat action */ "Open new chat" = "Ouvrir une nouvelle conversation"; -/* new chat action */ -"Open new group" = "Ouvrir le nouveau groupe"; - /* No comment provided by engineer. */ "Open Settings" = "Ouvrir les Paramètres"; @@ -5343,10 +5337,10 @@ chat item action */ "Saved" = "Enregistré"; /* No comment provided by engineer. */ -"Saved from" = "Enregistré depuis"; +"saved from" = "enregistré à partir de"; /* No comment provided by engineer. */ -"saved from" = "enregistré à partir de"; +"Saved from" = "Enregistré depuis"; /* message info title */ "Saved message" = "Message enregistré"; @@ -7013,6 +7007,18 @@ alert title */ /* No comment provided by engineer. */ "You already have a chat profile with the same display name. Please choose another name." = "Vous avez déjà un profil de messagerie avec le même nom d’affichage. Veuillez choisir un autre nom."; +/* new chat alert */ +"You are a contributor" = "Vous êtes contributeur"; + +/* new chat alert */ +"You are a member" = "Vous êtes membre"; + +/* new chat alert */ +"You are a moderator" = "Vous êtes modérateur"; + +/* new chat alert */ +"You are a subscriber" = "Vous êtes abonné·e"; + /* No comment provided by engineer. */ "You are already connected to %@." = "Vous êtes déjà connecté·e à %@ via ce lien."; @@ -7037,6 +7043,15 @@ alert title */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "Vous êtes déjà membre de ce groupe !\nRépéter la demande d'adhésion ?"; +/* new chat alert */ +"You are an admin" = "Vous êtes admin"; + +/* new chat alert */ +"You are an observer" = "Vous êtes observateur"; + +/* new chat alert */ +"You are an owner" = "Vous êtes propriétaire"; + /* subscription status explanation */ "You are connected to the server used to receive messages from this connection." = "Vous êtes connecté au serveur utilisé pour recevoir les messages de cette connexion."; @@ -7052,27 +7067,6 @@ alert title */ /* No comment provided by engineer. */ "you are observer" = "vous êtes observateur"; -/* new chat alert */ -"You are an observer" = "Vous êtes observateur"; - -/* new chat alert */ -"You are a member" = "Vous êtes membre"; - -/* new chat alert */ -"You are a moderator" = "Vous êtes modérateur"; - -/* new chat alert */ -"You are an admin" = "Vous êtes admin"; - -/* new chat alert */ -"You are an owner" = "Vous êtes propriétaire"; - -/* new chat alert */ -"You are a subscriber" = "Vous êtes abonné·e"; - -/* new chat alert */ -"You are a contributor" = "Vous êtes contributeur"; - /* No comment provided by engineer. */ "you are subscriber" = "vous êtes abonné·e"; diff --git a/apps/ios/hu.lproj/Localizable.strings b/apps/ios/hu.lproj/Localizable.strings index 004111f914..a468ad982b 100644 --- a/apps/ios/hu.lproj/Localizable.strings +++ b/apps/ios/hu.lproj/Localizable.strings @@ -4464,15 +4464,9 @@ alert button */ /* authentication reason */ "Open migration to another device" = "Átköltöztetés indítása egy másik eszközre"; -/* new chat action */ -"Open new channel" = "Új csatorna megnyitása"; - /* new chat action */ "Open new chat" = "Új csevegés megnyitása"; -/* new chat action */ -"Open new group" = "Új csoport megnyitása"; - /* No comment provided by engineer. */ "Open Settings" = "Beállítások megnyitása"; @@ -5343,10 +5337,10 @@ chat item action */ "Saved" = "Mentett"; /* No comment provided by engineer. */ -"Saved from" = "Mentve innen"; +"saved from" = "mentve innen:"; /* No comment provided by engineer. */ -"saved from" = "mentve innen:"; +"Saved from" = "Mentve innen"; /* message info title */ "Saved message" = "Mentett üzenet"; @@ -7013,6 +7007,18 @@ alert title */ /* No comment provided by engineer. */ "You already have a chat profile with the same display name. Please choose another name." = "Már van egy csevegési profil ugyanezzel a megjelenítendő névvel. Válasszon egy másik nevet."; +/* new chat alert */ +"You are a contributor" = "Ön közreműködő"; + +/* new chat alert */ +"You are a member" = "Ön tag"; + +/* new chat alert */ +"You are a moderator" = "Ön moderátor"; + +/* new chat alert */ +"You are a subscriber" = "Ön feliratkozó"; + /* No comment provided by engineer. */ "You are already connected to %@." = "Ön már kapcsolódott a következőhöz: %@."; @@ -7037,6 +7043,15 @@ alert title */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "A csatlakozás már folyamatban van a csoporthoz!\nMegismétli a csatlakozási kérést?"; +/* new chat alert */ +"You are an admin" = "Ön adminisztrátor"; + +/* new chat alert */ +"You are an observer" = "Ön megfigyelő"; + +/* new chat alert */ +"You are an owner" = "Ön tulajdonos"; + /* subscription status explanation */ "You are connected to the server used to receive messages from this connection." = "Ön kapcsolódott ahhoz a kiszolgálóhoz, amely az adott partnerétől érkező üzenetek fogadására szolgál."; @@ -7052,27 +7067,6 @@ alert title */ /* No comment provided by engineer. */ "you are observer" = "Ön megfigyelő"; -/* new chat alert */ -"You are an observer" = "Ön megfigyelő"; - -/* new chat alert */ -"You are a member" = "Ön tag"; - -/* new chat alert */ -"You are a moderator" = "Ön moderátor"; - -/* new chat alert */ -"You are an admin" = "Ön adminisztrátor"; - -/* new chat alert */ -"You are an owner" = "Ön tulajdonos"; - -/* new chat alert */ -"You are a subscriber" = "Ön feliratkozó"; - -/* new chat alert */ -"You are a contributor" = "Ön közreműködő"; - /* No comment provided by engineer. */ "you are subscriber" = "Ön feliratkozó"; diff --git a/apps/ios/it.lproj/Localizable.strings b/apps/ios/it.lproj/Localizable.strings index dd364b27ce..6a36b39e96 100644 --- a/apps/ios/it.lproj/Localizable.strings +++ b/apps/ios/it.lproj/Localizable.strings @@ -4464,15 +4464,9 @@ alert button */ /* authentication reason */ "Open migration to another device" = "Apri migrazione ad un altro dispositivo"; -/* new chat action */ -"Open new channel" = "Apri il nuovo canale"; - /* new chat action */ "Open new chat" = "Apri la nuova chat"; -/* new chat action */ -"Open new group" = "Apri il nuovo gruppo"; - /* No comment provided by engineer. */ "Open Settings" = "Apri le impostazioni"; @@ -5343,10 +5337,10 @@ chat item action */ "Saved" = "Salvato"; /* No comment provided by engineer. */ -"Saved from" = "Salvato da"; +"saved from" = "salvato da"; /* No comment provided by engineer. */ -"saved from" = "salvato da"; +"Saved from" = "Salvato da"; /* message info title */ "Saved message" = "Messaggio salvato"; @@ -7013,6 +7007,18 @@ alert title */ /* No comment provided by engineer. */ "You already have a chat profile with the same display name. Please choose another name." = "Hai già un profilo chat con lo stesso nome da mostrare. Scegli un altro nome."; +/* new chat alert */ +"You are a contributor" = "Sei un collaboratore"; + +/* new chat alert */ +"You are a member" = "Sei un membro"; + +/* new chat alert */ +"You are a moderator" = "Sei un moderatore"; + +/* new chat alert */ +"You are a subscriber" = "Sei iscritto/a"; + /* No comment provided by engineer. */ "You are already connected to %@." = "Sei già connesso/a a %@."; @@ -7037,6 +7043,15 @@ alert title */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "Stai già entrando nel gruppo!\nRipetere la richiesta di ingresso?"; +/* new chat alert */ +"You are an admin" = "Sei un amministratore"; + +/* new chat alert */ +"You are an observer" = "Sei un osservatore"; + +/* new chat alert */ +"You are an owner" = "Sei un proprietario"; + /* subscription status explanation */ "You are connected to the server used to receive messages from this connection." = "Sei connesso/a al server usato per ricevere messaggi da questa connessione."; @@ -7052,27 +7067,6 @@ alert title */ /* No comment provided by engineer. */ "you are observer" = "sei un osservatore"; -/* new chat alert */ -"You are an observer" = "Sei un osservatore"; - -/* new chat alert */ -"You are a member" = "Sei un membro"; - -/* new chat alert */ -"You are a moderator" = "Sei un moderatore"; - -/* new chat alert */ -"You are an admin" = "Sei un amministratore"; - -/* new chat alert */ -"You are an owner" = "Sei un proprietario"; - -/* new chat alert */ -"You are a subscriber" = "Sei iscritto/a"; - -/* new chat alert */ -"You are a contributor" = "Sei un collaboratore"; - /* No comment provided by engineer. */ "you are subscriber" = "sei iscritto/a"; diff --git a/apps/ios/ja.lproj/Localizable.strings b/apps/ios/ja.lproj/Localizable.strings index 3eb5fa5d8b..9d5d160b0a 100644 --- a/apps/ios/ja.lproj/Localizable.strings +++ b/apps/ios/ja.lproj/Localizable.strings @@ -3475,27 +3475,27 @@ server test failure */ /* No comment provided by engineer. */ "You already have a chat profile with the same display name. Please choose another name." = "同じ表示名前のチャットプロフィールが既にあります。別のを選んでください。"; +/* new chat alert */ +"You are a member" = "あなたはメンバーです"; + /* No comment provided by engineer. */ "You are already connected to %@." = "すでに %@ に接続されています。"; +/* new chat alert */ +"You are an admin" = "あなたは管理者です"; + +/* new chat alert */ +"You are an observer" = "あなたはオブザーバーです"; + +/* new chat alert */ +"You are an owner" = "あなたはオーナーです"; + /* No comment provided by engineer. */ "You are invited to group" = "グループ招待が届きました"; /* No comment provided by engineer. */ "you are observer" = "あなたはオブザーバーです"; -/* new chat alert */ -"You are an observer" = "あなたはオブザーバーです"; - -/* new chat alert */ -"You are a member" = "あなたはメンバーです"; - -/* new chat alert */ -"You are an admin" = "あなたは管理者です"; - -/* new chat alert */ -"You are an owner" = "あなたはオーナーです"; - /* No comment provided by engineer. */ "You can accept calls from lock screen, without device and app authentication." = "デバイスやアプリの認証を行わずに、ロック画面から通話を受けることができます。"; diff --git a/apps/ios/nl.lproj/Localizable.strings b/apps/ios/nl.lproj/Localizable.strings index 7164633090..4161bac952 100644 --- a/apps/ios/nl.lproj/Localizable.strings +++ b/apps/ios/nl.lproj/Localizable.strings @@ -4408,10 +4408,10 @@ chat item action */ "Saved" = "Opgeslagen"; /* No comment provided by engineer. */ -"Saved from" = "Opgeslagen van"; +"saved from" = "opgeslagen van"; /* No comment provided by engineer. */ -"saved from" = "opgeslagen van"; +"Saved from" = "Opgeslagen van"; /* message info title */ "Saved message" = "Opgeslagen bericht"; @@ -5706,6 +5706,12 @@ server test failure */ /* No comment provided by engineer. */ "You already have a chat profile with the same display name. Please choose another name." = "Je hebt al een chatprofiel met dezelfde weergave naam. Kies een andere naam."; +/* new chat alert */ +"You are a member" = "Je bent lid"; + +/* new chat alert */ +"You are a moderator" = "Je bent moderator"; + /* No comment provided by engineer. */ "You are already connected to %@." = "U bent al verbonden met %@."; @@ -5730,6 +5736,15 @@ server test failure */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "Je sluit je al aan bij de groep!\nDeelnameverzoek herhalen?"; +/* new chat alert */ +"You are an admin" = "Je bent beheerder"; + +/* new chat alert */ +"You are an observer" = "Je bent waarnemer"; + +/* new chat alert */ +"You are an owner" = "Je bent eigenaar"; + /* No comment provided by engineer. */ "You are invited to group" = "Je bent uitgenodigd voor de groep"; @@ -5739,21 +5754,6 @@ server test failure */ /* No comment provided by engineer. */ "you are observer" = "je bent waarnemer"; -/* new chat alert */ -"You are an observer" = "Je bent waarnemer"; - -/* new chat alert */ -"You are a member" = "Je bent lid"; - -/* new chat alert */ -"You are a moderator" = "Je bent moderator"; - -/* new chat alert */ -"You are an admin" = "Je bent beheerder"; - -/* new chat alert */ -"You are an owner" = "Je bent eigenaar"; - /* snd group event chat item */ "you blocked %@" = "je hebt %@ geblokkeerd"; diff --git a/apps/ios/pl.lproj/Localizable.strings b/apps/ios/pl.lproj/Localizable.strings index eb5074dc00..3288d2545b 100644 --- a/apps/ios/pl.lproj/Localizable.strings +++ b/apps/ios/pl.lproj/Localizable.strings @@ -3900,9 +3900,6 @@ alert button */ /* new chat action */ "Open new chat" = "Otwórz nowy czat"; -/* new chat action */ -"Open new group" = "Otwórz nową grupę"; - /* No comment provided by engineer. */ "Open Settings" = "Otwórz Ustawienia"; @@ -4643,10 +4640,10 @@ chat item action */ "Saved" = "Zapisane"; /* No comment provided by engineer. */ -"Saved from" = "Zapisane od"; +"saved from" = "zapisane od"; /* No comment provided by engineer. */ -"saved from" = "zapisane od"; +"Saved from" = "Zapisane od"; /* message info title */ "Saved message" = "Zachowano wiadomość"; @@ -6056,6 +6053,12 @@ alert title */ /* No comment provided by engineer. */ "You already have a chat profile with the same display name. Please choose another name." = "Masz już profil czatu o tej samej nazwie wyświetlanej. Proszę wybrać inną nazwę."; +/* new chat alert */ +"You are a member" = "Jesteś członkiem"; + +/* new chat alert */ +"You are a moderator" = "Jesteś moderatorem"; + /* No comment provided by engineer. */ "You are already connected to %@." = "Jesteś już połączony z %@."; @@ -6080,6 +6083,15 @@ alert title */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "Już dołączasz do grupy!\nPowtórzyć prośbę dołączenia?"; +/* new chat alert */ +"You are an admin" = "Jesteś administratorem"; + +/* new chat alert */ +"You are an observer" = "Jesteś obserwatorem"; + +/* new chat alert */ +"You are an owner" = "Jesteś właścicielem"; + /* subscription status explanation */ "You are connected to the server used to receive messages from this connection." = "Jesteś połączony z serwerem służącym do odbierania wiadomości z tego połączenia."; @@ -6095,21 +6107,6 @@ alert title */ /* No comment provided by engineer. */ "you are observer" = "jesteś obserwatorem"; -/* new chat alert */ -"You are an observer" = "Jesteś obserwatorem"; - -/* new chat alert */ -"You are a member" = "Jesteś członkiem"; - -/* new chat alert */ -"You are a moderator" = "Jesteś moderatorem"; - -/* new chat alert */ -"You are an admin" = "Jesteś administratorem"; - -/* new chat alert */ -"You are an owner" = "Jesteś właścicielem"; - /* snd group event chat item */ "you blocked %@" = "zablokowałeś %@"; diff --git a/apps/ios/ru.lproj/Localizable.strings b/apps/ios/ru.lproj/Localizable.strings index 92bb8f4590..db62641eb8 100644 --- a/apps/ios/ru.lproj/Localizable.strings +++ b/apps/ios/ru.lproj/Localizable.strings @@ -4464,15 +4464,9 @@ alert button */ /* authentication reason */ "Open migration to another device" = "Открытие миграции на другое устройство"; -/* new chat action */ -"Open new channel" = "Открыть новый канал"; - /* new chat action */ "Open new chat" = "Открыть новый чат"; -/* new chat action */ -"Open new group" = "Открыть новую группу"; - /* No comment provided by engineer. */ "Open Settings" = "Открыть Настройки"; @@ -5343,10 +5337,10 @@ chat item action */ "Saved" = "Сохранено"; /* No comment provided by engineer. */ -"Saved from" = "Сохранено из"; +"saved from" = "сохранено из"; /* No comment provided by engineer. */ -"saved from" = "сохранено из"; +"Saved from" = "Сохранено из"; /* message info title */ "Saved message" = "Сохранённое сообщение"; @@ -7013,6 +7007,18 @@ alert title */ /* No comment provided by engineer. */ "You already have a chat profile with the same display name. Please choose another name." = "У Вас уже есть профиль с таким именем. Пожалуйста, выберите другое имя."; +/* new chat alert */ +"You are a contributor" = "Вы соавтор"; + +/* new chat alert */ +"You are a member" = "Вы член группы"; + +/* new chat alert */ +"You are a moderator" = "Вы модератор"; + +/* new chat alert */ +"You are a subscriber" = "Вы подписчик"; + /* No comment provided by engineer. */ "You are already connected to %@." = "Вы уже соединены с контактом %@."; @@ -7037,6 +7043,15 @@ alert title */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "Вы уже вступаете в группу!\nПовторить запрос на вступление?"; +/* new chat alert */ +"You are an admin" = "Вы админ"; + +/* new chat alert */ +"You are an observer" = "Вы читатель"; + +/* new chat alert */ +"You are an owner" = "Вы владелец"; + /* subscription status explanation */ "You are connected to the server used to receive messages from this connection." = "Вы подключены к серверу, используемому для приёма сообщений от этого соединения."; @@ -7055,27 +7070,6 @@ alert title */ /* No comment provided by engineer. */ "you are subscriber" = "Вы подписчик"; -/* new chat alert */ -"You are an observer" = "Вы читатель"; - -/* new chat alert */ -"You are a member" = "Вы член группы"; - -/* new chat alert */ -"You are a moderator" = "Вы модератор"; - -/* new chat alert */ -"You are an admin" = "Вы админ"; - -/* new chat alert */ -"You are an owner" = "Вы владелец"; - -/* new chat alert */ -"You are a subscriber" = "Вы подписчик"; - -/* new chat alert */ -"You are a contributor" = "Вы соавтор"; - /* snd group event chat item */ "you blocked %@" = "Вы заблокировали %@"; diff --git a/apps/ios/th.lproj/Localizable.strings b/apps/ios/th.lproj/Localizable.strings index d92174d281..087baff8d8 100644 --- a/apps/ios/th.lproj/Localizable.strings +++ b/apps/ios/th.lproj/Localizable.strings @@ -3045,27 +3045,27 @@ server test failure */ /* No comment provided by engineer. */ "You already have a chat profile with the same display name. Please choose another name." = "คุณมีโปรไฟล์แชทที่ใช้ชื่อแสดงเดียวกันอยู่แล้ว กรุณาเลือกชื่ออื่น"; +/* new chat alert */ +"You are a member" = "คุณเป็นสมาชิก"; + /* No comment provided by engineer. */ "You are already connected to %@." = "คุณได้เชื่อมต่อกับ %@ แล้ว"; +/* new chat alert */ +"You are an admin" = "คุณเป็นผู้ดูแลระบบ"; + +/* new chat alert */ +"You are an observer" = "คุณเป็นผู้สังเกตการณ์"; + +/* new chat alert */ +"You are an owner" = "คุณเป็นเจ้าของ"; + /* No comment provided by engineer. */ "You are invited to group" = "คุณได้รับเชิญให้เข้าร่วมกลุ่ม"; /* No comment provided by engineer. */ "you are observer" = "คุณเป็นผู้สังเกตการณ์"; -/* new chat alert */ -"You are an observer" = "คุณเป็นผู้สังเกตการณ์"; - -/* new chat alert */ -"You are a member" = "คุณเป็นสมาชิก"; - -/* new chat alert */ -"You are an admin" = "คุณเป็นผู้ดูแลระบบ"; - -/* new chat alert */ -"You are an owner" = "คุณเป็นเจ้าของ"; - /* No comment provided by engineer. */ "You can accept calls from lock screen, without device and app authentication." = "คุณสามารถรับสายจากหน้าจอล็อกโดยไม่ต้องมีการตรวจสอบสิทธิ์อุปกรณ์และแอป"; diff --git a/apps/ios/tr.lproj/Localizable.strings b/apps/ios/tr.lproj/Localizable.strings index c5251f482e..9444453779 100644 --- a/apps/ios/tr.lproj/Localizable.strings +++ b/apps/ios/tr.lproj/Localizable.strings @@ -3886,9 +3886,6 @@ alert button */ /* new chat action */ "Open new chat" = "Yeni sohbet aç"; -/* new chat action */ -"Open new group" = "Yeni grup aç"; - /* No comment provided by engineer. */ "Open Settings" = "Ayarları aç"; @@ -4626,10 +4623,10 @@ chat item action */ "Saved" = "Kaydedildi"; /* No comment provided by engineer. */ -"Saved from" = "Tarafından kaydedildi"; +"saved from" = "kaydedildi:"; /* No comment provided by engineer. */ -"saved from" = "kaydedildi:"; +"Saved from" = "Tarafından kaydedildi"; /* message info title */ "Saved message" = "Kaydedilmiş mesaj"; @@ -6009,6 +6006,12 @@ alert title */ /* No comment provided by engineer. */ "You already have a chat profile with the same display name. Please choose another name." = "Aynı görünen ada sahip bir konuşma profilin zaten var. Lütfen başka bir ad seç."; +/* new chat alert */ +"You are a member" = "Üyesiniz"; + +/* new chat alert */ +"You are a moderator" = "Moderatörsünüz"; + /* No comment provided by engineer. */ "You are already connected to %@." = "Zaten %@'a bağlısınız."; @@ -6033,6 +6036,15 @@ alert title */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "Gruba zaten katılıyorsunuz!\nKatılma isteği tekrarlansın mı?"; +/* new chat alert */ +"You are an admin" = "Yöneticisiniz"; + +/* new chat alert */ +"You are an observer" = "Gözlemcisiniz"; + +/* new chat alert */ +"You are an owner" = "Sahipsiniz"; + /* No comment provided by engineer. */ "You are invited to group" = "Gruba davet edildiniz"; @@ -6042,21 +6054,6 @@ alert title */ /* No comment provided by engineer. */ "you are observer" = "gözlemcisiniz"; -/* new chat alert */ -"You are an observer" = "Gözlemcisiniz"; - -/* new chat alert */ -"You are a member" = "Üyesiniz"; - -/* new chat alert */ -"You are a moderator" = "Moderatörsünüz"; - -/* new chat alert */ -"You are an admin" = "Yöneticisiniz"; - -/* new chat alert */ -"You are an owner" = "Sahipsiniz"; - /* snd group event chat item */ "you blocked %@" = "engelledin %@"; diff --git a/apps/ios/uk.lproj/Localizable.strings b/apps/ios/uk.lproj/Localizable.strings index 513b7c34b6..9046e21f9b 100644 --- a/apps/ios/uk.lproj/Localizable.strings +++ b/apps/ios/uk.lproj/Localizable.strings @@ -3919,9 +3919,6 @@ alert button */ /* new chat action */ "Open new chat" = "Відкрити новий чат"; -/* new chat action */ -"Open new group" = "Відкрити нову групу"; - /* No comment provided by engineer. */ "Open Settings" = "Відкрийте Налаштування"; @@ -4647,10 +4644,10 @@ chat item action */ "Saved" = "Збережено"; /* No comment provided by engineer. */ -"Saved from" = "Збережено з"; +"saved from" = "збережено з"; /* No comment provided by engineer. */ -"saved from" = "збережено з"; +"Saved from" = "Збережено з"; /* message info title */ "Saved message" = "Збережене повідомлення"; @@ -6024,6 +6021,12 @@ alert title */ /* No comment provided by engineer. */ "You already have a chat profile with the same display name. Please choose another name." = "Ви вже маєте профіль у чаті з таким самим іменем. Будь ласка, виберіть інше ім'я."; +/* new chat alert */ +"You are a member" = "Ви учасник"; + +/* new chat alert */ +"You are a moderator" = "Ви модератор"; + /* No comment provided by engineer. */ "You are already connected to %@." = "Ви вже підключені до %@."; @@ -6048,6 +6051,15 @@ alert title */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "Ви вже приєдналися до групи!\nПовторити запит на приєднання?"; +/* new chat alert */ +"You are an admin" = "Ви адмін"; + +/* new chat alert */ +"You are an observer" = "Ви спостерігач"; + +/* new chat alert */ +"You are an owner" = "Ви власник"; + /* No comment provided by engineer. */ "You are invited to group" = "Запрошуємо вас до групи"; @@ -6057,21 +6069,6 @@ alert title */ /* No comment provided by engineer. */ "you are observer" = "ви спостерігач"; -/* new chat alert */ -"You are an observer" = "Ви спостерігач"; - -/* new chat alert */ -"You are a member" = "Ви учасник"; - -/* new chat alert */ -"You are a moderator" = "Ви модератор"; - -/* new chat alert */ -"You are an admin" = "Ви адмін"; - -/* new chat alert */ -"You are an owner" = "Ви власник"; - /* snd group event chat item */ "you blocked %@" = "ви заблокували %@"; diff --git a/apps/ios/zh-Hans.lproj/Localizable.strings b/apps/ios/zh-Hans.lproj/Localizable.strings index 7340147bf7..4ef03cb433 100644 --- a/apps/ios/zh-Hans.lproj/Localizable.strings +++ b/apps/ios/zh-Hans.lproj/Localizable.strings @@ -4404,15 +4404,9 @@ alert button */ /* authentication reason */ "Open migration to another device" = "打开迁移到另一台设备"; -/* new chat action */ -"Open new channel" = "打开新频道"; - /* new chat action */ "Open new chat" = "打开新聊天"; -/* new chat action */ -"Open new group" = "打开新群"; - /* No comment provided by engineer. */ "Open Settings" = "打开设置"; @@ -5268,10 +5262,10 @@ chat item action */ "Saved" = "已保存"; /* No comment provided by engineer. */ -"Saved from" = "保存自"; +"saved from" = "保存自"; /* No comment provided by engineer. */ -"saved from" = "保存自"; +"Saved from" = "保存自"; /* message info title */ "Saved message" = "已保存的消息"; @@ -6874,6 +6868,15 @@ alert title */ /* No comment provided by engineer. */ "You already have a chat profile with the same display name. Please choose another name." = "您已经有一个显示名相同的聊天资料。请选择另一个名字。"; +/* new chat alert */ +"You are a member" = "你是成员"; + +/* new chat alert */ +"You are a moderator" = "你是协管"; + +/* new chat alert */ +"You are a subscriber" = "你是订阅者"; + /* No comment provided by engineer. */ "You are already connected to %@." = "您已经连接到 %@。"; @@ -6898,6 +6901,15 @@ alert title */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "您已经加入了这个群组!\n重复加入请求?"; +/* new chat alert */ +"You are an admin" = "你是管理员"; + +/* new chat alert */ +"You are an observer" = "你是观察者"; + +/* new chat alert */ +"You are an owner" = "你是群主"; + /* subscription status explanation */ "You are connected to the server used to receive messages from this connection." = "你已连接到用于接收该连接消息的服务器。"; @@ -6916,24 +6928,6 @@ alert title */ /* No comment provided by engineer. */ "you are subscriber" = "你是订阅者"; -/* new chat alert */ -"You are an observer" = "你是观察者"; - -/* new chat alert */ -"You are a member" = "你是成员"; - -/* new chat alert */ -"You are a moderator" = "你是协管"; - -/* new chat alert */ -"You are an admin" = "你是管理员"; - -/* new chat alert */ -"You are an owner" = "你是群主"; - -/* new chat alert */ -"You are a subscriber" = "你是订阅者"; - /* snd group event chat item */ "you blocked %@" = "你阻止了%@"; From 90340b116de25323bbb147a68b93c38f956d424c Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 31 Aug 2026 23:41:54 +0100 Subject: [PATCH 16/69] website: update livestream page (#7439) * website: update livestream page * update --------- Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> --- docs/CHAT-RELAY.md | 1 + website/src/_includes/footer.html | 4 +- website/src/css/livestream.css | 62 +++++++++++++++++++++++++++---- website/src/js/livestream.js | 39 +++++++++++++++++-- website/src/livestream.html | 6 ++- 5 files changed, 97 insertions(+), 15 deletions(-) diff --git a/docs/CHAT-RELAY.md b/docs/CHAT-RELAY.md index 8f94aa8090..38c88d560e 100644 --- a/docs/CHAT-RELAY.md +++ b/docs/CHAT-RELAY.md @@ -1,6 +1,7 @@ --- title: Hosting your own Chat Relay revision: 28.07.2026 +templateEngineOverride: md --- # Hosting your own Chat Relay diff --git a/website/src/_includes/footer.html b/website/src/_includes/footer.html index 27fb44b178..31c9d9e557 100644 --- a/website/src/_includes/footer.html +++ b/website/src/_includes/footer.html @@ -63,7 +63,7 @@
- + @@ -108,7 +108,7 @@ 19.3216 25.0173 19.3216C23.9563 19.3216 23.0902 20.1878 23.0902 21.2488Z" /> - + diff --git a/website/src/css/livestream.css b/website/src/css/livestream.css index ef1d2e69c2..fd2633acd3 100644 --- a/website/src/css/livestream.css +++ b/website/src/css/livestream.css @@ -60,7 +60,7 @@ } .livestream .text-container .event-utc, -.livestream .text-container .event-local { +.livestream .text-container .event-join { font-family: "Manrope", sans-serif; font-weight: 300; font-size: calc(var(--sec-vwu) * 1.4); @@ -69,16 +69,36 @@ color: #000000; } -.dark .livestream .text-container .event-utc { +.dark .livestream .text-container .event-utc, +.dark .livestream .text-container .event-join { color: #ffffff; } -.livestream .text-container .event-local { +.livestream .text-container .event-join { font-size: calc(var(--sec-vwu) * 1.3); - color: #009df7; } -.dark .livestream .text-container .event-local { +.livestream .text-container .event-join span { + font-weight: inherit; +} + +.livestream .text-container .event-join .join-count { + margin-right: 0.3em; +} + +.livestream .text-container .event-join.counting .join-where { + display: block; +} + +.livestream .text-container .event-join a { + color: #009df7; + font-family: inherit; + font-weight: inherit; + font-size: inherit; + max-width: none; +} + +.dark .livestream .text-container .event-join a { color: #64fdff; } @@ -152,12 +172,12 @@ } .livestream .text-container .event-utc, - .livestream .text-container .event-local { + .livestream .text-container .event-join { font-size: calc(var(--sec-vwu) * 3.9); max-width: calc(var(--sec-vwu) * 80); } - .livestream .text-container .event-local { + .livestream .text-container .event-join { font-size: calc(var(--sec-vwu) * 3.3); } @@ -273,6 +293,34 @@ color: #000000; } +.register-card .channel-link { + display: inline-flex; + align-items: center; + margin-top: 18px; + font-family: "Manrope", sans-serif; + font-weight: 500; + font-size: 16px; + color: #0053d0; + text-decoration: none; +} + +.register-card .channel-link:hover { + text-decoration: underline; + text-underline-offset: 3px; +} + +.dark .register-card .channel-link { + color: #70f0f9; +} + +.register-card .channel-link svg { + width: 0.82em; + height: 0.82em; + margin-left: 0.4em; + fill: currentColor; + flex: none; +} + .register-card .close-register { position: absolute; top: 16px; diff --git a/website/src/js/livestream.js b/website/src/js/livestream.js index 71941cffba..cc236ee221 100644 --- a/website/src/js/livestream.js +++ b/website/src/js/livestream.js @@ -1,7 +1,6 @@ function showLocalTime() { const utc = document.querySelector('.event-utc'); - const local = document.querySelector('.event-local'); - if (!utc || !local) return; + if (!utc) return; const start = new Date(utc.dateTime); if (isNaN(start.getTime())) return; @@ -15,8 +14,39 @@ function showLocalTime() { timeZoneName: 'short' }); - local.textContent = 'Your time: ' + format.format(start); - local.removeAttribute('hidden'); + utc.textContent = format.format(start); +} + +function startCountdown() { + const utc = document.querySelector('.event-utc'); + const join = document.querySelector('.event-join'); + const count = join && join.querySelector('.join-count'); + if (!utc || !count) return; + + const start = new Date(utc.dateTime); + if (isNaN(start.getTime())) return; + + const pad = (n) => String(n).padStart(2, '0'); + + function tick() { + const left = Math.floor((start.getTime() - Date.now()) / 1000); + if (left <= 0) { + count.textContent = 'now'; + join.classList.remove('counting'); + } else { + const days = Math.floor(left / 86400); + const dayPart = days ? days + (days === 1 ? ' day ' : ' days ') : ''; + count.textContent = 'in ' + dayPart + + pad(Math.floor((left % 86400) / 3600)) + ' hrs ' + + pad(Math.floor((left % 3600) / 60)) + ' min ' + + pad(left % 60) + ' sec'; + join.classList.add('counting'); + } + count.removeAttribute('hidden'); + } + + tick(); + setInterval(tick, 1000); } function setSignupSource() { @@ -76,6 +106,7 @@ function trackNavColor() { } showLocalTime(); +startCountdown(); setSignupSource(); setupRegisterOverlay(); trackNavColor(); diff --git a/website/src/livestream.html b/website/src/livestream.html index 57dd3c28af..ea2665ac6f 100644 --- a/website/src/livestream.html +++ b/website/src/livestream.html @@ -74,11 +74,11 @@ templateEngineOverride: njk
@@ -103,6 +103,8 @@ templateEngineOverride: njk + Or join our SimpleX Crowdfunding News channel + - {% if ('blog' not in page.url) and ('about' not in page.url) and ('donate' not in page.url) and ('privacy' not in page.url) and ('directory' not in page.url) and ('credits' not in page.url) and ('file' not in page.url) and ('links' not in page.url) and ('news' not in page.url) and ('crowdfunding' not in page.url) and ('livestream' not in page.url) %} + {% if ('blog' not in page.url) and ('about' not in page.url) and ('donate' not in page.url) and ('privacy' not in page.url) and ('directory' not in page.url) and ('credits' not in page.url) and ('file' not in page.url) and ('links' not in page.url) and ('news' not in page.url) and ('crowdfunding' not in page.url) and ('livestream' not in page.url) and ('subscribe' not in page.url) %} +
+ +
+ +
+ +
+ +
+ +
+ + + + From 209f0a5f852a9b33903c8c9e53c08d4dd970be87 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Wed, 9 Sep 2026 11:52:30 +0100 Subject: [PATCH 38/69] website: crowdfunding page (#7474) * website: crowdfunding page * styles * update * images * update * images * buttons * form * thankyou * forms * deck * improve layout * footer * safe areas * correction * move page --------- Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> --- website/src/_includes/navbar.html | 2 + website/src/_includes/utm.js | 60 + website/src/crowdfunding.html | 1384 +++++++++++++++++ website/src/crowdfunding.md | 125 -- website/src/img/crowdfunding/ai.png | Bin 0 -> 773581 bytes .../src/img/crowdfunding/cloud-download.png | Bin 0 -> 1955 bytes website/src/img/crowdfunding/comparison.png | Bin 0 -> 153004 bytes website/src/img/crowdfunding/github-stars.png | Bin 0 -> 80238 bytes website/src/img/crowdfunding/p2p.png | Bin 0 -> 1966 bytes website/src/img/crowdfunding/phone-mask.png | Bin 0 -> 36696 bytes website/src/img/crowdfunding/phone.png | Bin 0 -> 405902 bytes website/src/img/crowdfunding/problem.png | Bin 0 -> 354068 bytes .../crowdfunding/simplex-chat-pitch-deck.pdf | Bin 0 -> 2417923 bytes .../src/img/crowdfunding/simplex-growth-2.png | Bin 0 -> 220105 bytes .../src/img/crowdfunding/simplex-growth.png | Bin 0 -> 179631 bytes website/src/js/livestream.js | 10 - website/src/livestream.html | 5 +- 17 files changed, 1449 insertions(+), 137 deletions(-) create mode 100644 website/src/_includes/utm.js create mode 100644 website/src/crowdfunding.html delete mode 100644 website/src/crowdfunding.md create mode 100644 website/src/img/crowdfunding/ai.png create mode 100644 website/src/img/crowdfunding/cloud-download.png create mode 100644 website/src/img/crowdfunding/comparison.png create mode 100644 website/src/img/crowdfunding/github-stars.png create mode 100644 website/src/img/crowdfunding/p2p.png create mode 100644 website/src/img/crowdfunding/phone-mask.png create mode 100644 website/src/img/crowdfunding/phone.png create mode 100644 website/src/img/crowdfunding/problem.png create mode 100644 website/src/img/crowdfunding/simplex-chat-pitch-deck.pdf create mode 100644 website/src/img/crowdfunding/simplex-growth-2.png create mode 100644 website/src/img/crowdfunding/simplex-growth.png diff --git a/website/src/_includes/navbar.html b/website/src/_includes/navbar.html index b9c6313968..6de0c372e3 100644 --- a/website/src/_includes/navbar.html +++ b/website/src/_includes/navbar.html @@ -210,6 +210,8 @@
+ + + + + + + + + + + +
+ + +
+
+
+

The first and the only messaging network without any user IDs

+

SimpleX Chat is building a messaging network unlike every major platform — without phone numbers, usernames, emails, or any user identifiers.

+ +
+
+ +
3MDownloads
+
+
+ +
480KMonthly users
+
+
+ Join the livestream and Q&A on Sep 15 +
+ + +
+
+ + Invest on + + +
+ + +
+
+
+

480,000+ users with zero marketing spend

+

Hundreds of user posts, podcasts and videos and $650,000 in user donations, before any paid features.

+

Only $1.7M investment over 4 years — more capital efficient than most startups.

+
+
+
+ + +
+
+
+

Every other network can identify you

+

Surveillance, censorship and online crime all depend on user identifiers. AI made all three affect everyone.

+

Removing them by design, as SimpleX did, is the only solution — so you control who can reach you.

+ Why AI increases demand for privacy +
+
+
+ + +
+
+ +
+

SimpleX is a network, not an app

+

All five kinds of users arrived on their own — the cold start problem solved.

+

Each group makes the network more valuable to others, accelerating growth.

+
+
+
+ + +
+
+ +
+

Pre-revenue stage ends this year

+

Additional file capacity and SimpleX public names launch this year, followed by business messaging and paid servers for big channels.

+

Demand is proven — users donated $650,000 while everything was free.

+
+
+
+ + +
+
+
+

Design advantage that can't be copied

+

Only SimpleX has every property in this comparison — together they need a network without user identifiers.

+

A network with user IDs can't remove them — rivals would have to rebuild, and the ad giants would lose revenue that depends on user IDs.

+
+
+
+ + +
+
+
+

A network others build on

+

Developers already built many different services on SimpleX. In 2027, we plan to add support for user-created features inside chats.

+

Features and services users build would bring new users and increase revenue.

+ How custom UX helps unify messaging +
+
+
+ + +
+
+
+

Get a stake
in SimpleX Chat

+

We are building a network that people own.
We invite you to invest and become part of it.

+ + Join the livestream and Q&A on Sep 15 +
+
+

Invest $500+ by September 22 and get a SimpleX public name for your channel or business for 7 years, ahead of public launch.

+
+
+
+ + + + +
+ + + + + + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + + + + diff --git a/website/src/crowdfunding.md b/website/src/crowdfunding.md deleted file mode 100644 index df386ea4ac..0000000000 --- a/website/src/crowdfunding.md +++ /dev/null @@ -1,125 +0,0 @@ ---- -layout: layouts/page.html -title: "Get a Stake in SimpleX Chat" -description: "SimpleX Chat equity crowdfunding on Wefunder - invest in the first messaging network without any user IDs." -permalink: "/crowdfunding/index.html" ---- - - - -# Get a Stake in SimpleX Chat - - - -SimpleX Chat — the company that builds the first and the only messaging network without any user identifiers — is raising its community round. By investing, you can benefit from the company growth, and help us build the future of private and secure communications. [Learn more and invest on Wefunder](https://wefunder.com/simplex.chat?utm_source=website). - - -Live event -SimpleX Chat: Foundation for the Future -Livestream and Q&A about SimpleX Chat roadmap and crowdfunding. Tuesday, September 15, 2026 at 5:00 PM UTC. -Open event page - - -## Every other network can identify users - -For 150 years, all networks required user identifiers — phone numbers, usernames, random IDs or public keys. To be reachable, you had to be identifiable. User identification gives networks power over users: to surveil their private life, to sell their data, and to revoke access. Even encrypted platforms see who you talk to, when, and where — and pseudonyms don't help, because your contacts are a fingerprint. - -Identification also gives platforms the power to censor public speech without due process. Telegram blocked 44 million groups and channels in 2025 alone. Publishers and content creators build audiences on borrowed infrastructure — one policy change, and the audience that took years to build can be gone. - -The root cause of these problems is user identifiers. The solution is not better policies or stronger encryption with the same architecture — it is a different architecture, without any user IDs. - -## The first network without any user identifiers - - - -We invented and built SimpleX Network. It uses no phone numbers, emails, or user accounts — every conversation has its own network address, removing the need for any user IDs. There is no user data on the servers that could be breached or sold — all user data exists only on user devices. The network runs on multiple independent operators — SimpleX Chat and Flux are preconfigured in the app, and anyone can run their own servers. - -SimpleX Chat also supports public groups and channels, where owners fully control them, and nobody can take their work, because only the users hold the keys. SimpleX software is open-source and based on open protocols, audited by Trail of Bits in 2022, 2024, and 2026 (to be published). - -## 480,000+ users joined on their own - - - -Over 480,000 people use SimpleX Chat every month — more than doubling every year — and all of them found it without any paid marketing. 3 million people have downloaded the app, and users send 20 million messages a day via pre-configured servers. - -Users have donated over $650,000, paying for something they could use for free. All of it was built on a total investment of just $1.7M by 5 people team over 4.5 years. - -## A network others build on - - - -In addition to people who use SimpleX Chat for private messaging, four other kinds of participants came to the network: creators with thousands of public groups and channels, businesses supporting customers over SimpleX, developers building on the open protocols (19K+ GitHub stars), and ~1,000 servers run by volunteers, plus Flux and StormyCloud. Each group makes the network more valuable to the rest, driving organic growth. - -Independent developers created moderation and AI bots, Telegram bridges, and a public server registry. Every service developers build on SimpleX Network may increase its value, and bring new users to SimpleX Chat. And the [SimpleX Network Consortium](https://simplexnetwork.org/consortium.html) — an agreement between a non-profit foundation and SimpleX Chat — prevents any single company from controlling the network. - -## Why SimpleX cannot be copied - - - -No other communication system combines scalable one-to-many delivery, sovereign ownership, infrastructure independence, and participation privacy — and removing user identifiers from an existing network is hard for three reasons: - -- **Technically**: other networks rely on user IDs to route messages — they would have to rebuild from scratch. -- **Economically**: large platforms monetize user identifiers — removing IDs would destroy their revenue model. -- **Cold start**: a newcomer would need users, creators, businesses, developers, and servers, all at the same time — while competing with the SimpleX Network. - -## Why now: three trends that may grow SimpleX - - - -- **Growing surveillance of private life**: big centralized platforms are keen to scan private messages to train their AI models, supported by proposed laws. More people would move to private messaging that keeps no record of who they talk to. -- **Accelerating deplatforming**: more and more creators are removed from centralized platforms, without any due process. An audience built over years can disappear with one policy change. -- **AI agents acting for people**: if a platform controls an agent's identity, the platform can shut the agent down or turn it against the person it works for. User-controlled IDs are a basic security for the agentic Internet, not a preference. - -All three trends increase the demand for identity-free messaging. None of the existing networks can provide it. - -## Revenue plan: free for users, channels & businesses pay - - - -Private messaging should remain free for the users. Instead, we plan to earn from the infrastructure and services that channels and businesses need: - -- **SimpleX public names** — globally unique names for a public channel or business, paid yearly and controlled by the owner's key, so no one can seize them. If you invest $500 or more, you would receive a name as a perk for 7 years, if you invest by September 22, for 5 years during early bird, and for 3 years after that. -- **Business messaging** — a web widget that adds encrypted chat to any website with one line of code, built for privacy-first businesses and sectors where anonymity is required. -- **Paid servers for big channels** — channels that have grown beyond the free tier pay for the servers that deliver their messages, with server operators earning most of the revenue. - -Read about how we plan to make SimpleX Chat and network profitable, and about all the investment terms, on Wefunder. - -## Get a stake - -We are building a network that people own. Businesses, creators, and publishers keep the audiences and communities they build, and no company can take them away or unilaterally shut them down. By investing, you benefit from the company growth, and become part of building that future. - - - - diff --git a/website/src/img/crowdfunding/ai.png b/website/src/img/crowdfunding/ai.png new file mode 100644 index 0000000000000000000000000000000000000000..c207b4d24a06faa61ecb892d1fd2b9ef50122a2e GIT binary patch literal 773581 zcmeFZg+o*A8$Uc?j2tbo5hDboJETT82r42WEg&5d(v0qq5)cp&P+GcV(t-jaU84k~ zLpt91eI6eDz40HsgK^HeckX+4e(ulpxvoRxJuPK0J_H{C0Dx6h6m$Uqpcnvvb&3l@ zryOAAkf0AhYgtWM0H7+K;KB?WeGRiv(bWV1Ua$fHfgu3E89FI&4FGt~2LSvu1pw}* z0{~RcSxq{U=nqn@^i`i~Y63XW=ePh61{nYgeTISl0boD?ze_`(0rW7S|D8X(Iz26>v{QXivzklcd-%-id+QAH6_gsuW-;s-XlLsi4i*<93 zb^1FqUxH*7`he%G^4JXkARzz!#sIv^qDGh5Zu>yrU0+kgY)lP z07tzaTNd^~(i z()chKOw!fz>0Mm~rGK-ducVl4+})k;^749mdh&P*@;JF#^YV*}i}Ugc@CpcUqwnB$ z^LBJM^Wt`NWB#X*n{pJa+$>yeo!xDn9AUr9H8Xd5?k>f|^!tncd;L>SciX3bzRA(; z-)5m3$ou;fUVa`v-v763=*Iq6zyBkbmzncFnf}+Rf4)recTsn>U2Uz<)%{&5X@1H7 z75{&v{i&QJy7as9u2yF5POcA}ob09lH;9tF|M%p7b4c?3ZsT8V{-;C#mx}IDX?%3f zo6(WRcYAk)o}zGos)FnTFO1DryoBuW=k#84ZHIGf-EBKiB=!sd6DI47A(}{5@+F#y zcjcQUnf7Ls9mm&(qz9}nT}v5aE&`GL^zmC&pZCcO$3FKavOgxU)n&P@YXlDl!Z+1L zhh}$vP0wfUNE~0Ah}w>%T1J8^KSp28&knX8pEKZ#ndG>YXC#r3V9LR9aWNQSz>vWI z|Kk6<589l7Wb?-wniPNftKA63cXw)fUdyq6SwOVle#va4mbKga*$hYFXGMl(M^vwB ze4g3}i;QG(EeS5=Wj;7>{V@4>mg?uxVeB~_MknE5Q*0Bd^~oT%P8dq39$29g zRIO4-ma4+aO;E?2ysj@`C1ULODQPJ|>O7Whv#-K;m`LXQ@X^<}oYUNte(MStZOy}* zCdr|i70}J}#CsWr_h0Ak;9_R@YR|{VaGCtd%ygW}XWY%uvGc7w&{EV!?NCjP#NssfYq)Csh!A@^vO~ij|Wj7863tplNdK~>{6$Rj6PTIGvVqq~y``azW)-QX^dZ!uJ zt`b3wr7_2o>mG7Cs3Si1q5^pC2td5Z@bn$vHeSK2s+esYzH1TR?4Mt#z9k>KuVI)! zR!#Nsm*)9mk&Nx2@A@#6R+dEDAS+wXb(~*`;eYG4L5_q3=@Qz)?r{I#wDx8aj4K&S zm%G_l;ayjG*A8Fepqt$iJ5|t~hHVRT8TUTg(Im!c53*kkY3ZSy|L?0 zz~ByM`vep`%Age7AE)=h?6l^wQ^42muSS&>QfE|0joKF;=e21$laDf9oi%9>h5y$T z&Wg;tW7l*>!{Ng}Zsq}QP(MSEecmootH`Z#)?WH$-z^YTxsjbHZNs=@<4$Yc-jqW` zUgC#mjb?Ntv>6Y+eJiQy8CR(}olhmgjR(?`&^g`Z_^I>pSRp$r@l)>u%mSQQ2iL=)A64IS{D*4oDIowk=R1Gqha8Gd-V_*j zJDxRp-T0C@|CG*$Xrh(jR8`_+f#E|fbliY^Pk-lKWw;-QzqW-DYk(0f6LPSmX9}7GL|h`pYCx2QvDByr}=a$!_1-AFwS~0V+5fC01x=QvM4l&MS-wb%%2btiR;6ui-9RqoPw+#23Y_ ztNAh(4*o?!_70XG;J7q6qKl`e%&U=J4v;4bfwv6Ai+3(ApIr0jY*Rqpp ze|1rAy? zwjT6O|5M%VRJncv1G5GRd@fUvi@7B^C)U6#?}zIUI8mf`OT{)SJ^Rb$(t z|0*a6bZrDrYHXh_-0pXp_nyx7xRyClZC=8Xaoni0uk;ux)pJC60ZK65#|pism{Dn$ zXaHmL$W~F}f`2%+Vg$d@T*AKy`~c@BfeP*8c7nJ>R2*4kO-%t}gq}Kiqe?K*^mA-3 zEzhBM2s=IJ%gv-j+2&`{Pv4JDKVpz^@g-sD3HZ3*J{ET~?FXFD<2$f(TrooMFEE{$ zF(!1kR$Mm~eY}nrF|KbuE@wE6XwElkJ!jRowRC{UDwKsbQ13GL4bfp&i6nisR|o-> zi7*9YDIU}0Er1%LwtrQkl|y<3#Y#H%!vs+e*Mb#A{;wz`Ok(UN1akd+TnalueSS^EO1uOKH?RV7&kth}HJY8byw6=|sm z;P&V3lwc-qKATqAZ^1wiw}?$iqU>#iWJ7+XjE8Clqr!>qC!?l!z{gttxk;ct0b_@$ zUDJxPCm+YOUekO${~ozyQlga>=lc2&CviSyMnmg#J$e(jrCZIGDQUL+Q_Tx zO}wvY-5cH;>G97Wwt2}eulfggTS#+n75%9(40t7t%ku5?_4N6fk4&@Uxp1SDCv8pZ z@yEf`3ZrMwD=Dpj`vbuP?7^WbfeJRY$&Q7??s5p8J9PSXyOG8^?UK2)eqNMZyiZlY zS7EHN`cQv5uFou-V%@7<;_tWwy8QCy_BO00*X8|;K|-1aoEcTg7GT2<&ogHa7ILcG ztiSp$?bf$7kus6+EBsZ>EYbw*o|Oxa8qu4Oe$~$|7VqRDF|7qcY zxnwpE0sh`+-LMiy4$Y$v5Kv(^ z)}ArP(omvx>X_AOzc=(S^g7Q>1I+4QP5Ufwn{KwvMnfo2J;|uVLPmIq`u?wwSWRIE z_ftqF$D?qqR*z!OCigvpD#DeUwH(sE5{X{l{Rgc!k8aXs_c2@)orenx+0wOX<3ur77oRunm zAIHJ5DyVwi9g~S^CQj}>n1n9TCn_1T#;i^1a%a?z3s{KxCdDy2To-P=s;(*;LZ*V7lrwYM8{--3I81xUm#GnpOqDws?8K=liIvmTMpyj9S(_9NOlo{ z^PJRH*eg#qhNVxUD1?U05l2)kqSS`WiW}erNL3-o?c-6(l8)BEYlc@7OVyJM`0na> zDjW6O@b$I%3*iTM7e1p!~-BKa@I ze`^WHHS)mi4PL7DxjmI|v&i}>gYsSnEyx(RI`mY`oDFq!;RNh6OuhEmt}(9)oYr}j z8nU7&oxIO!G95`VqfIh`>0sYByi%z#WM$SpzQyzsvQfeL_{NmpceRwhTGgLxqS&i&b)p7!FpE&6==2Y)RFCCT4pIG^9_2(GfFMDz~D)i-lHbziCAx2}d z(NkW9Y0?`KK*N}zLWM6%%uRhc^LE1nJm);#>M=`qJoV{z$5{D;G9evAm(n-a(;6I% zLK!u?RH#}5UFaC3a;816SEe&WK9@^BzgZO~pzFdn{CJzaW({U5koi5Aw!%%o3dCQm zuqUa1e3UW$SjD*^lTbez#Uo$;QpC}FJ#Yxu8+LaJX08$vn1J-wEqR&pcB9T~xY*cd z`clMWIaE7a{P6pz8Mg1=lOBv_{XChE@?vkOZ$lQzn(;(^?ymCtIup;0*mL5EIiEQ@ zblXLvI_UVc3MBW6!#9UKaaQAfX zN3JqaYPfrM6f=~mm-jG-k^c2$3r{M=`ng|P=;q^%1v}o^eiMul zTTHY=@zU0ctT(p()jjE>2th5)REMRn#vX^Kmya}GOZYpVEoKZJ(Ei0GR(^Ad{#9ce zw*RmO2Uy*DiMX~OZqmGV?U|FXKlUS@8rzyK#TAY1D-nqiA{$HoqOVQ%s6NR!unVM0 zXka(Ah{OZ?dZi_UNvn{_d0OTOUxmskKuM4qK3&ZmtdVpr3GRQQj~{hkD2GL?ILhGK_Q{2LNT_8G^H{Jgr8#b zvvCZGtL&nylZh@tENZn5irY7EE{773MO#8v`%E?9n>4o=I8)9}qo4bFlFa;zgSOWj zI|1=q6VKnr5*-=l8+=eJu{{+s(s9mKCBv7ImMRB*(hD@jtrE834|+!qMiI-2ze{c~ zB{0@fG1~n(A%u@KN9<34bQyoLHS&>5zjT{VYS=a$W3D3YnSwR)PrIV`RQozSIYg%t z`DM-Gu6TlCa2O@~ES58`5!sdyLmy+eO07{4Ow7ggapA*elNbI!CE9r69vN}=S5$4KNG2rh3 zym4m5keAK=h=&;nM7UwH;Piq!#fiFJKlO7byap0WYqv4fwU zH^8V+G$hIeMB`a09K{cV$pw_tC{-q>U_ums-2 z!^_Oub|M!Sv7WQm=i5HLBE}zR3gpQsq2Nt+@cY=8CgY#)K`TGvjzL)PijS8VaZuvN z45Jx7OeIL1TVLbLL{!ZAwn5VwSpz6B{ooLNsLs9N^4#s>?H4XF#PMaa{eN zlv+dB}qh1Tcy9E?~NncW!P`kwj`F`LnX{VOkAC9kZwwkbTNuki55$nSmQ(k194RZ&jp z#9f6w{^Vb-cuKuyaZ37`-u|Vc$O2$=|0TCc{bXwSblvVnRhsCix&?2Z@*jqmZt>gR z*drL)zgahPjKC-IL6CN{s3y?Kz@w3o<_as&KR* zb@ySzPyr4pAl)cbMDC3rvoQh5U<%GvY7|1>QDd0q2+^`mOB|)-F13q$R6;S9Xk_AG9rR`_Na?`8ZY0UA@tKU@#^N8-9)6F-+-o%cqw-DD)iz8F1C4 zD9+MRs9UA{jYz-y3&g3^H7B^sAUrUeC~8brpraz7OFuOuz3~!6kiNq(r|c64XY%4a zYbdXXeBQ`V-wO|_60vF3!C4|DM~^bBZ($k4n)E8S5a;?t*NBsePi3r7ed|wh0t*RB6TNYaTs`gdcjB^UNe%%pbiH-Q0MM-l>hwR_29tQkDf1hIukFZ&+gVa(+OMuj-TgOzQ)jVNoz?reK6cGOmaLcbbFOx|(5&M|8H>;g@p`@}+=H#9!=kfadoY z629Q(x*5apuy*)73guKbQF)n|xzp0`=(mei=W+0i1mjL7$0+xR>LhH*9<8{YS3+%u7jjROj6e}i=B!i#O!6}v;4Ofg3!&T=<>W-mnXyG4@4 zQ?5+;=6V;R4PO{@DJeE|YvY5}M*Va@BL5>OcuAW*aX;k`aclg&*Uq5IAKn1S1s_TK z3VSPqVT%xh~+RtTT{1~Dp}6hyAZolL;(zm^h>VD?M$C>UMFQFB_Q7KNQdi% z{NfiTTv%k`)enac`jJ83c-tSh=63|#b-dKA(3sxsHHR8kA>-Ok4$E$3p56bd``01_ z{a%EKX1!bguFGA7oN0ll^9lKT5hsaC=r+3#gV#sy=}OReTiwXpWBw2wI zT^`yjtPQLj1DD<82~ZX;ImuYKeaP=&hdX{B*8YYjQD5a}tvZ8)YgG6`M_yrxpAx*p zY9!rHr`~H-@S~;(l-*|1DZCYRZHA>LNxore;Wej}@7U^hS!c7t%6UX|mH)ZWjY*95 zf!_@&Plx{A8^GHJ4{wObJXMfJoBo9fRk^`&MMd+9Nb|3}bc>o z&RceOv-jb-HO0BF>A4tkFYZ6K&VD9|PfFZwJNNYq|5qj7Uz}(a#lC>C$4SYIp*sNx z-_yKPj`Jk277hu~rT#2U2CkXfg}<2)K!k@G>LiF7euw}kK-1f+=rrDJ#C#BteYul! zek5;UG(Hu)bV=OYVCt(Cw@02Ys#ff#VgpC6R6-!xGjKzg)F)a8a6rI%Wz|gW%0Okm`3^wFZh-$`}36a1rqcsYRpL)zlD!VevE!yt< zKgq*cQPu>PB}!6Y1m*iRBOAs;0$F*fC!A|yuu+6h!hJM;d&RuDj z&-!nDHIAsNTAe$dd^f6Is#7t2XgRuMZ|R0KXC}R~p=F;t!w}G zE3?JnjwC#N=kMH)dJSDndky+#o(YoDcB7( z0Z{SsecK|mwHAY3ZZp$EeMe$pI8o)tKJ>QdFDH=(ZSe05Q)U47h~a?42QsqVe4ywwHW~J}1!CS0SFOxqBwtaK)1{ zaJ+oHl0G!>!Bp*-@${20#92r6$A{D{x*B)Z54V_KFW>viX3JJaux>g?116g0q27% zvPdG1)ww~Y&q3eel^S0|A=F0@6xlyhQxP?=f-uF+Zi_fR`$Vg_&-mir zkH*GCSh6*S3+ZS_WALVEw#%4n8&8khy3G>}$Z$3*M)g~MtPIp>jxrhj);xx+2 z1;3C|C6v}Qu!rNZoesY-#HYj$!Mf%5ZtdPu;xMEm5?s^J1^Q`Qc}vUP6gM)q;Qir) zb1dWn3r07;b(8>`OqK{-aN1X@5+8|=pk$e#a*~tHBT8Z>p=BIX!diyEpT$HXrIuWf zf}bq<34XLmA5m05`KgMPm$4~{{LHrCHX(aY!hE;0av0-4dh+sOjQf)-Hb(ks>Vh6P zjkidI0ZrI)Z$s-KW$F;kexewIJSVR&irXePb2*SCo%}Zd<82x|xIw0ArXf)=f&GAr zxu&Ha54whakNJaKG{J`y0NzNzB5WW*@&`0P;?O>jDsEHmJzGzKAO%bz-?f?Yi2IYC zg|v;FSF{ldcJVZiC`h0>u;Ga)M38F9R?irXG&idVCW3?%?NF%g<-8U3a=8N9OwW`hxBMouGztCDaalsg$#XD+nDossfFq}n_Elv z(k>fBeqAzZRm(vkn2!}kb9RwzJW*s3eOjeR$p01_=in}Xg(x>RRfS59yH^^WaK{79uNw5s?aQXMq=rr*Sq?0k>D2RxNY_OH zb^D+v^O{@|B}n=t=z}X&BLyI+58VAdq9P#HNhPlf)Z-$(iuRFgv~dtGD;^CyG8wS{ zwEkhSH~ch!1(E6Oy(iroPbNOkhG@XEwz%(AxhHm-K%uvzeOP4DAbYxRSFTOwUpu1&9oI1tN<_y^YJ4ho&1 z9{6g}6hkkefs-@cvW>eq33Y!rAMXb(`rwT)Nmdc~v-VrJNuY^#_*|kkRs0fTN-(;o zmZ6t#Mh8iGsa@Ilp7IVzDFmoE=SE0jGj&eutg<#LKLJCF;10XKJh>8Km(tU#&h#oo ziv&n9wZqB*!LTYxK}jcCUxPQMYeFmkX&NM$|BuK87$(7s@GzOSg?HJW^DpM5>UOS( zCq9oxm+2~I#g?QNl33@b=Z`9S6({=`f!RkNR2vT~);IjSC}uiKU1Mjsb<3JNbbv4oIB4(6F!ieIVQA{L;Kpqq&5Z4?eJ^q~;E*}FnI>vv? z1SBq0|IB5MWwpw~H`hq0#U_I~7!Jm~74SAFxFjLl#6-HhK6}^Yc{cjktl?v7BxczjLlOFXIuVoCqwe|)x++uQa{w! zSBZ3S9Z0=@96 ztb}FAT1kABh2?IJk=Yb|W1u(=WXV=7{&c|Lkpz9L?@&PFgcVz}48KLpK^s!yq#4AQ z`!XR*4jyU=hY4fyqoSlBs`e*y2_v@(gTj|Vh{$RUJ0dcebeh~{(1T5%u;qxmPme8N ztL}s0FR0@?a2SV)9$T4wr|&!Fw>h?W6YH%)3;nvd&llSX8h_;{5!GCf%grhVNgp_d z%dx0{n^9ZBM&j7YDUnOO6B(-??>>?CT$UI%|BFwH!_nk~Hn9BmKSrSG6UKXMbda+Y zVMC9LeB*PcdZ}X>^Y?Y-i0bT0*G5~KVw9ArurpqGGKo8***p0XB1iTIby!sxU)xij z{XBgzcIqsYGeH+x08%CMYCx$y?p-F2mHkmjhCAlju3swjGWD^SgY(%?JtH5QTKAo@Lyv zIU12IpBO9h=zAa@Sr(|TMr9N3>H>Z6O1B{{k-OIbc)5i!Gz6!Qh)q-sZ>OgMS({b+ zKG|b$v|_rdM+R{*X~+Na{$GZ^xZLkPz^JhLrw>rZ@$hO-Q&ghj`>|`Ju+I@IvE&Ix z^H~^Os%DY>JGmr)9_2bA7dJ{8lk(FwTmnZqkgf9t?lxU<@;$hOf0j^gb13J2adJB> zQPw;}oPms%ko9LL=(AuxVp}G9-Z|rnl`rm0f;JnU#lpE32Bq54cq@d82d8TWjXhjP?~LR&h= z=TnoQ9(z#8g0$+Vghc0h23$8Lye)c9tgX(OGMj`0TzBuhSapJ@bn9{-QwCe@!#|#| ziFj4#~`a-)OEEm5>swbK^96?W<4 zP*Y(#x*qn>&RH4xyh1!(p9O72kXj=sLXz=@>iW2W^>{Un=5a4xHosxW>wZi~uU4Nd zL>-;}-8qdS3F4*VpD=(MS;fpW4i@R$vdQ1ye%G9)+NNMJ#@gAzh@utHBSvXe=cGMEt93#N8$FSDS`z^F}+s_n@G48yr6e|h+$ z!aG5c1Wg4)YKZHE`$mxciR}WAYm{|xRX73e7!D66c#it<1K=V;Avl>v9}%M1a3|EK z197*HuzNg$TV!HPF4IuS)G5fyq`|d~ zpt<`v$R`^QKm0tg)pu-hto=qIDofTOaQcag|5*TjkTOnKn1k1XIp@*gr%T+#yHj73 z-;booyn5Ymax(nri8r`|X6~;DiW3a9!)FNx_pQP|j+6ElMcDnd_4CQw8zR>~xjp9` zJX?1<>Yht1+M@=SAAnOKs`~Z?aOuDhXHf8GQ3`vTVHT39p~}Zax|&w6tTYs*m>8J! z*TcTW)&>c1i|TsKyt1Gyk-cJC6uvqmaGAWob;lUrudO1E&k4eJ^nRX{AN1vfK5+!x z#b7VM3YJ4@W|28m>GLKN!ZMH_s(Afj(>+1d>vg9(t-=5jC9e#NmY+qqZt|pCZR^F{ zufA?P5x<=v9~5XS8@NM7r{$b0(>-w>$Q&2VHlsJP-7bd^xYu(edk9dqmWC@K&)$j% zJEYvjjb6ul|3uQFY)YtJ$ma4g()aF%086xv`oZOc@$*Zq>B=PoC}v+`pJnN!J#AKt znE&o3RCzPSNyfUOZTG@@&TD0;;mt8HIOHV0YX)hyHmQBqQLk#h`MZC5+%a|cU@4Ufx%2-t_ z@0sLWHl%)$%FEuSQca?{*ED+z`}#$A19VL};}WlT>ncA^;1#a+ z4jR3yq;r4ypzb9>w4OT0=M6@J?Z5UgdSd2r%COQj=;`x%Xy%26^R90h@x6kMiYEuW zk>zq3@oJDigl)Vok>G)l^)Dal^SDWBYAF2RVP~*xIo3_I`@Zv;ln8@fl zJ0owG&Nw2z2WBY0$MkmQeU|bLCjK*Z!_c&>Wa((?(e;PyfGwAP3W7SDt{2l@Tf!bA z4xW>vqO<1Fl*C9~wsn11zwXCx^4hrQ#=~cCHi3jH&_K1mKy# zBti@Yq}+1xL{e66As~WKx~dS!ji=%q!l_)6g=7ASn+liX?37se3wJY8ez?6F8VqA= zBps&8TEIIKD)P9mAz2yZ_u#6ew}+qIAf_lNRw!T6=p2#^?NxO*WxDkoKb=u57+!Rz zA=mSO)@DJBjP`SOUa?1hoxT@IOqMIKyyYdJ&(d8wdzKN*NP zc2;vOY0*dds~}E)OyCDYM^l}t_IpC}Sbkx5vnjfRQE(Z?f07|&b#o-aQ3<5I-aaZt~xUen=M&$|tfFT`Xq3n&ZS6kqd3wyu1m z+ZZh3&QzbatDvtMysDR};q^O9j%5xvX(}?{2}o3a_(zFt^8}tamHjcTc4wIr6zoF- z#2dW2c*`1J6m12ZAUrN#Z{&5dmKi7kbei&)bx$Z}Lt>0&xn*7d6}po)E^hB@N1 z47V_3H)UZY_CpXxRTpU1#$1l^31|6zXZ=BfwtE`RA%Hxa;8JIi*QEJ6%3%~=EJJ@l z+SKd9I~y3K6D<5B-3In>6w{!=Sz(4xRP0e2)RcyHm1rlY+G>Y_U97%k^cas9Tq+mK zOd-?OZk&7!P%@kzB8%ONpKh+tnu*nzxaS3-NjJ;#UfCFX?c3+rbjdpXd_23()Dp0) z2Szi%-r(<_(kXhuZEURmZ!0+%6z+u965>)Ef{!eR#;SP(7Ie<@=Pv^`GuS@vRq(`` zoIIkY&q*Koi_Pp{2JKdCd-C6t|4%i=P864%0*k_ijGAj zq*Iqi9A#?4T?@Y1daCbcikd%6iSjP6Y7UOAUOmZO9OSv`7zjU*478zDp&0LLDlKNn zU@H>j%W*aG{9#|-@$9>nE0V!?=yMPdh!<2&fFB7?!2T71%8gdja1^5w1q?a!wN-JP`qEGyqV(ym7+v$S9WfbHjMvo|!!?%a-a4#%P?u{)0 zNcU*}fOmT5V$5mMMDlDhK1b^LGBdRt{I4*c9Wsn=j{AQm@|7bnNy4#pr%KuXC}(T- zcuu+0+A=hD0W&sv^{3wJ;8$~j5}4nISsaH{P%p?0u!pd*&+1qCbrN!+z)Q8XWkVRsK!*tc_0>2j{lMwa!C*V8O>YlgQmgHF_j3&W@{k^F2Q&1)PhGKepvI61*ggS;NquK$r6`*{!D2o2}=!QkUh zkKo^eYUDW*Yc)9S`qZWj$SX_Pg}LzbSd#l_%Fjc)(83EDtg;t%4v4OGAFVWY8+p;s zyHcxzE=(-6%3I%Qxms0!mhTAv3HuZ|yM-#tlykyiyC-nVw%Zyh%{lVi zu-3K8*lqR~A4GLq?D>A@*S^RqbcoaAcIURgK*9sfO1&g3zw`X-Uo@q}j2<^WmYKg4 zygsymI<`!{zR>HFzMk;*+0Vf9+3r&Hxe8U4IDFQp^_oLoCp4HaG^Gksys0Z{O-K;m z6X?Ow=zF4mHNnJ8LfwK^RUq!ld71KQ6M->an**uEd-vCKY|SE{KU&tweb}2Bf%dWv zsbP74aZ7@FsW?{hGKq-wtiU|`aZK1)1>|y)>1jiXpcaUYbE7ys?R19EJTF!`qL!2*e}t4J7!SZ7ccAh;*5m#8e!=^M43hH+IE(zNo#a`mEts*at!_ z2mN>8@#GgodeDeyfj%*4yA<}Lm-gMNvF$7it${Ov@_0t^19}cmY}7@$DpmD2vp#;W z;rJo63%e?g?KoR9>a)k^;b9SafqcN<%cUK{EVjPF%aF;4@gtyeN2A)omd~(IZ6qxG zeDmFVPyO1&8L!2Ys@UYT?kkG_6GPB^cOF{>!t_svAJ7L~g!#q$`W+y{w|1-Iq<;N! zk#MUHO^4pIXEX5dZ+XV1owij-r8Rk=%}_P6x^eO)03%4r1))adB6dRH!@lo3Lx%O4 z$7$3QH7v9*S$$eJW>z8J+hnvXw`_Ef`cP+O zRn3vx*v+!=Aqw-imT-HP1&hwh+putXRgZ#&_euS1_FvvAiZnrZRAE9tD<}Heo0wxy zXzA^+EGboEDK!*%7Jf{Okke%X))O)89)=tfq#k+7e+x-PM@SeU=CO{dZp$ZO0UtY= z%!$~~J+nxA_lQpB19+h87$(^6a1UFv$3b^8Dt%6ofjtBI7P^Od!(XAHs^zDSJO zffey-KW_|IJH;vixSh1fL+`$WmRNG9+ueIm^@V!_;EobMQwfx#JLwi^csr)@1(@sv4My^+l zn2)xl+27D%y^HX{Fn{+DlTH@_RmJDwa8^_usb%K_!{~O2zR|QSaV;|Gt+0GE&6lxk?)(oT;lbLXeD4;E}!V8?=gbx%}fu5-cDc1 z`nYGtW|uw2*~YtYkP%)G!nC50b#*tm^*)B~L#!d?)Wh-8diBD$tsWO|TK(-mbEKql zukl0IHK$?aINb0NZj_0sw09-7OIGYjcdY0F{o%rp(EH8L64L1iw}@VF(k)-p#)UB& z#=5ZPyh^QL0I`#Lo(~RI>_F~4X!*)d;Z!LqCz2l_y z?cLYZFpm@O&ZxaABytq*W71MWB9KW5xg+>{+Km26tU2;=-YMiBo9o()l*;JH$Qjc+ z2?p-UjJJmU-e8tV^~Q$~)2EDy=@UzS&cOR1ATs@^y%q_pR+)2VKi^v-E|ZC19(;@) zJiapufF%ic$r>DEze)(^)y<2UD`^}X}<9y;08Ty5;UeZIwoke z8eibJ$6j2^VFbx-m)qOg;#{o1cqrj{BF<^K;W5iCQA&6mI%3UcG+wxP_u;EL<_dZ& zao4X(=Wcag4W?2sB>@&uNjcz4x8j!atdY-wXEI~k28>?W+cZ|K~h@!g_2lt*w|PhO6B%9G9x$CH8#9Rsm&%1G&48$p0eR-sHy%2`cM zmw;Wi9x_^FFovey?rhfHBv2MHYD2`HZkD}sbyUd1Dafdc#PQVl=KA2ZwS?cvw8sGw zQD@(;M*M}n>x%lSe@EJa`CkKI^7}bL6NCcz#t}Og3~znn zIQBD@K|jE-&Xd1X816WPpC1vRWVgDt>1I;(t;%WoD6_l{X%)RS(5U)e4|2~`Vr)LM z*4KLKNx&KJRwS?ggci)W50aiaJ z%xKGmFqM#&OK*!YP5Sh)z&1eoRppPRh@SXAzcewZ$olF&n12{r7#prBUwQ#rs@lh?P}+@5;)6>C=@}WZiJbI%>mZWbB|)`*^9c)`;O?*u6RbvA z0c4qokper8%Y}j*U|3{E=VxJvFzZyR!a%I#;+y4f-qdpm6MH=#sq3!!njPPjWBbiz0*?`6hU!^jY0JquM!VoZl*^|)XUKz@4YTE7I zNKq;~{8i7D_wGL_js(3ZLtG_o?>qVSYsvg# z^Em6fe#%VnV(YAVr}i0}1vyp!7-nO_SH?E^W_zk9C)FwQUZ3|P??{|>ZybG!Rwh+v zvSaSJ6qzuoB=Th`?yS%IUYEP|W=$JKros{;LWb$W5Q+a$F{A**KmrkFM-8Ytx;rV$ znrz0&)yGeqF$s94Gm1`xVB|clU=VSM8M;A_;fo6CdWNyCSSW53B^G`NC2m zW`t)GkWq0N5+1Soon%UA;wY$0bZAEp+Djw$-B?$Q!Hdtdm|ThlmwnW&9MJ~a&C)Ue z2T4oZGMbFa)WLUGRt>(l2pBC@k4|sYF z+;ulA%tPP)fuUEpO~-kDG-=s`&xNnRU?TmtqIoS^X?JCZ{eb`nAxH$%8j7c)7(${+iX&p^vxOP_z5e6fC5<<5GXQuu!R z%dZX&i=V!+82ntB2)Qi#$-?nAhqO2uto|TYa|syrooz^&Mpm87$))y$T}4i%GW~?z zbX|EBFxWs~!kS!7=+K*e=UyT+Q(!7_d8dUs^&&cOmNN^ms}H@14LH0fu9T5V*P=Iy z2kgaT!3N%Y%a(*u+Vfa4tN@GB%tuIsgv^Y1c6hF*4hEy|;2{5Cqf%T&c5LQE%g|ha zR?WYA`!^Nvje*L9i%;@@MoHrlrJ_TU@YodC1#aJMNJ@(VSU6~46hVw+;Y?Npjc`fR zFTmw*T_Fz?qK2Q4Kkrl)w_c5xv<-iK6_YJ<#jU@Jl3LlvWihC~LKcd&c=4y>iIHJg zH@zItw{_3@87Nl1ogVFcPqC_Su@xl!IC8k4iSQqI0WX`5* z(F?^lQ9X|@=wD)KS7&S|vEw_@JxF&x>v}pQrO(HO;@tS-(1D>n(uY$2MKVhD(u#&4(N#S~b3)}g9u>8`rYk~#KFYohQz??mFNv>h9XZc+%_mIYw7g#JR9d&apgG7Gkd(A~Wucx2zn)pi3MZ4Yr zmK+Qn-6KB_ytziJl#}*@Lr>XX4K669EMdvZmp6Qifni@GSSh~kpXR3)$1K#v#oQiF z4dzrsNA{Da`x;)wxK0iFUn6v5L?1 zh1^0jC+B(Yx4)$P#9Hmk>ASg!G z1%kABPn{OL>D#nbzYcs)xlL}pig3Xr;i59@;;(cLb(nn~j*iCto|7Zv>LSHLj`2sr zgvr5y;cfUgdwClJ5CnRWRCa{J|Em!lUiKMz#uVZis1$WBvr$+*`u1yZv5mZmmQM># z667lLTIJLMLAZYBX_-N0&0xUK5f9t_H*_sKf#BE}Q-$t;_u5Gv+~Up$pp-c=rBIX8 z&-zf9AS7ZMK28K8y)6sJ48`~MG8cxPGcCzl&7}NtUh|?Ib=lef!S^-1ih3|e`in?K z&n8}1*Cp3EfT8mq?JzxN<3cLlnkO0hnUV)@+3UQC)@vqme{7=#j%R{nP!?zlIVF^? z;YH2cOk7s{4Z_a;-lqqAS*k&RXHA@H5NK|wA{iwa{Oh|FK@UiMe#=qW;Pi6i_=1P7 zr)xe|eJuk0}Q)m4mq)!Cp| z)jq_pr!%@aCwI8wMVHvTpyfR|XemY-{&<_K_&|}-jyw@lJ4x;c2MqA}x!prlFJ>?d ziOPe;8@TTT+2Qr!%o!{aVwH+QYWZg({x7<|`Mt8XOZvpNePVUkQHLkCZQDtAl8$ZL zwrzK8+vu=kb@=6(ndhDP<-68DaIUl0UU%KKs%qcZwifVOnaA)VoTbC-!EIq|sS^~U zs!K3)!RQ1Cp(?SFQliJg8B*Z%-`B1bJUW;+uJ24eDPZ$hob+Wn3wJyg93QB&xp0Wt zkc}!9$s;4@K*tScQou0id44%yHIpdPY2KY3Y_>e&_t*~__9=1tZbM+^Ncz8R4)`R6 zW|sfWHR*i}>cv#q&;F5_E<+*4ir1Rw8wn&egri%WUn-LqW-nUfNyvroKqtI2EFY!W zrPd$O!dDOCe~Bu|6`?-w?Sip!bHlWwzDjk_3&cj=<$RX4*w}T~IQaB@s0YuGU?4Ok z9ouQo6zj^(43zyewvP*!Ny?JX9M|2>HNmDuqsAIu9uLEe-RB1mBoln z;W$FxstrHXZVJ9+NFoW21BJ*;cxX^1NY=L=*D{KH1&y)62Ht~gonp8TrsL2@-z)!@ zOY4{Krh~ula&P>G#S-J{LfbDO1aU(`jpyX)ys_PG+yUWvfOSv{hGwxr4pA)9@y&w8 zf?)8Du92~1;e5NLcW*QREtza%H}pVR@}SYT2GPhp#DLsqIOuGw?sN{Fdmmw{PDFa&P}z0M+{# z0mv6v0hbHz-$)2f5`&hx;@6shMK>zgDB&VkmqF-7=Eg)+t5`tyW1M^7Lb zR}Bw-MTiut@S?zJ*2&Oi5KwKjuf3}yzCP9s=&N}Ea!9&#Nb)cF?7aSrIkdpcq zJD$q}6Gl9C(OW*~5LB*euXDyj9;DzXwT7`It$COBVl-hL_p za(Q#uNc|^sA2ezuoUBJDj^O+LJCtvoti@JyKqPGG1WIdz)S@`jUGDhrzGCU#37_gdKoIY zyLRz%hlYKE){qTCbq3#J!E1QmzT`Vl*j#S5?6=QBF>Ao8L1$h5&!sl%`b2m#U;czVt6 z+cn#7Bjs4j8`gjO6ql!PQ*ssCYR%4@YP=3clv~Aa4@=$+>UrOt)fjWKhTXdEk5xRF z>e1TG>o@&9AonN=9SJ^TM2^jN_*C@Da)g|JP-aXXS1gyiIKKLSCgZf`e-W-#oRBuv zaU`a}ww({Bbh(~@^LX{~oOIdtj=&0m7Q}>%Qz_N-Y{;Kr_g4kzlDES*){G-vQCkh` zP>mTFbtofR0EW@y={FTu+1+SXD#a3Jh|rxb0ye-#k?3xIuyNI)9TNKl80VkxCqW9T zlo&KCQYF1|phy`7s1YD($mgc}FXe!))GiWvBoi?6K0or5Z zOP0IDYN^hxI_Kn-!Pj||WaKMjqO1J$e<`5vzi3veIYy*Gj$##JawG`(5HKy)34IN@ zOe?5xQ^ZHak!vFZ} z`YvqhbdCccSm2_xxbL~7Y2+TxxNkQVbTG+1EWXO{MnQ!C0#Vloj_FD_`mX(yEUSax zG8%@kwB0iUAH+W~+Uk_!DC_jzqz*_g>uueP^=b`NZQwv<~%ibXYk^yat1n7ssP?Ksgx$XcLLS zy?@fEkPCh}0DXf`{7F!A;L0RA(QqClV!pT1pc7#ZU`fFDG8PBywOrb3oC%c9Xt8N52mh5665OBl+!0^q&3ME0lNGQNLiubo_3$8H-VJgDS1{o#^O) zzD8}y1QjWzUu8(Qx+0t9D$3=3Mh|%RS`0fN)WWb+wh8+Oz@hpQf?b0vBWrm=_Jd>i zGe`CU&L?9+-jM@uw1v+SshIoJN2|EtC)f++}3Z}=) zPK8_HVofcpbTz-I;`}1!y>s)e&c~eK@pa{cwf<&JIjH|C{4dz*wzpK^_b2vfi{^|P z6)*$%o;CSjW4&<5C>-!bMCpv9Fg?(T0}xe&sLOfaX8`CSnGysA-vHK&aGu0<#74uR z+m(9DqPLY_E!uAzcrQ!K*-c`W_}E~uU*I2cT>TtZ{Um%f^r>}N!haY9Vd!Wm1e3`I z5ftUB8&9+R^&`F$?ECGBc;n^NV{?^xASU4$J;hA2zeyQn-Y;xa5X}B5d9u0MP50zh z*=xI~3~BGa%;;QWGm+(}WQT%lRSE>-lT`BUbMTa~;2H%J147y0o=}XQx$dSr9jyBp zmgu`rXf@TxL|MQlw&6|_W|eesuf?tWF$waiCC))L7pqh1HkntZ9ImIQ;|3vXpN*#> zVPh<*gFKPb({@03nO`GZA;rmtYqzXcP0H+woG?sa!hoFu8WxSOZ>aW0qnm;3Cvp%k zNU_2iv+KWzg@Zz8m7t#tf(FNzwLbbyNrW+eqWs@ksp&BBQsWEwyk#2@17k99&mtG^et)sge4R?M&&=k%UEuA#w2jdyQ<1B0(5oP#mz~ju3a5re z-YSmwt$?rLv-KO0=ywVTr_U>j-!j=5gVvz5M_Gba*~tR;)#KsdH;wVSw#-N^U)wV+ za9Mn~e@LQ6*5uD=kma=J>{N&)^h-6EkwVAV)l%%_JMNX!;Ic#;fzrpd{*;%imU1=Z zK>glGJ)6?YFGitNVp^zUPswY8}4E)XlzP$#}Cm+{HCwQp@*VNp1{ox}OsCDCg{ zJwl27E%6rkjm{0fw!bgJHKG(*Cq=>}3FO4)ghziMIQfKaQL`)kw|YM-*p0L`8=C^U zM<9{|y^B-;z9hcYYQdU=xqcxyrFt}yv#2N^>yl}gOV`-k^D3MIshV(Mi{StE&Q4SKO0&|YN$@*wtn9}p7v&q$91 zy#%(1AJz?d!|5KvG8DPL@Atk^ghnBcB36e`qvCDAFi^}O^CqAvE(}#sSsHl0KOt~< z!SQ0S3=%S)nh$J!{2oXE@w4tt$AGMA2{8y)r0EbMV#9Sk_mQMksH$exLwcBq&X{~R z0DXeXm{UhCtUv(?2Va;vtt|D&{(fjR{48v{c|kmChc6{k%rU322fnKC?{?q70vo=` zZD6+%Em+RZcU32g3#Cvaes70(F}a$zkpML1@9>ccZMhs%JoOcj7=`|vUG75kchxj=TK_m2Y zyvYWSkzaQsr@jFv<6&aAILkmoF_xrE1X>LSj>p{%9}IbUwLXL22%{w0)A{^Z|E63e zm3(4bC4VHZca3Q9-DzfUAH$!tnw59E2f1L55MhnX3L51H;)sQ}9hjH*q^8 z_;1d^S-JQm0&;e_Q<)~>v4kcagK*XEwk%W7x{7X|Ru2yBq-BCf7}a>k0W-f@*p;qe zNX;lTnW^I#wf^jV>v%fV*L1$|6d8jw3ToJ9ytdhptWDje(?QHJq3iD-adc6cZ_7+# zjMnVXs*m#?Dwf38RmLSD4}gKj8ydGij#3%UW+bIKU0@p#)+mVG@zo5Y^u^i?YL!AN zgsef9qjXe8o)lOKZPRnusr%X(_iEv4Feq40-iZbX1LKF@Mgd53mWXs)q-7i0(D={? z@`_3RXRq`7>p!;a+x6wu&o|qxg{;=Wz~qoR*{0p)L)G=Iv8u;1hteZlEn6%SGIfgj zD&rEliUYrP1=hU+ixt*pb-f;o98OQmFowixB|=yBLwzaA|6xr&QT70K#XqCAZeyLkD}*QeLJ5* zyWTPip@1MV0q@iHqsArdm-eOOOSf>&o^{8}mETaBW8>77*~C5rDQ!*+LjuU}hY;2h zoN8-AA{wC4uZrUKiTJR;?MZd-j_Z*D@+3|omIcU>{^|X5LyyI(!~#P2ex@Pd62wW# zvqIzo#L)$6EdcsE)g&5#XtG+9lP2jJ?@2lwy`TuyL38#xbE89X|IQZa4T6MQyjKS& za*gN#+d)4x?PkM@KRuVPf04QNMtn+f`;S0r!up??eYRZl>vLvbF$x3K33XnlajG?5q_rRT zZ3yf=dhQvujD9dN5BB?$D-+hkCtkZiRKtf(qDes0Gyo&#(g?4Zv?~K}#oNuPYJob8tl$}NUx4XV*N-_shFVEXc zt5>yHqik5iY~2cKw>VOU7AN{#qRq3_@9b~`=|K-Ni99Z7Y6PaOo{Oij@ls9@Obe1o znM1Zx4thhoz~UdV!Waqjp(XK6TiKPD%W$+Xz1y+IlAdn1Uq(M=r69nUnrTXG)sdW` z9}J_Iq4_#FMF?FybwqOS1agsT|BKQ7@%7vuh@Pc>0`ATVGzlzth|4qm_TT%~cCFM6 z_t7LxaX$!jSh6w?YzY(+uR!8A+x@~wF0!SmwrhKO4ZGceQM*HlC3?0ivkkAZe3(ot zJFdB9@Jx+AdnyV0d$|6S03t#6UCt>}cbpn?vliuUPze0GftXo2^seH?7e5835QE zSf5}7O1#vkg}`RH1kD)({)+?+y5f^yv}|uVsXEQt!iwh05KgxVXMyFe)sTpwf;2U4 ztKwVhr?Zy#0U+%+AAt;8t8p$Xo{XIkgI*zF}9tgRomPRFHW* zcQ;04Q5=D9zMM4jMU1$~kY6pfkwN$an*^b!`5YmrerVVLQzu8_dB#7$`BQ_$Md4s- zN8n_wkpKzvD18$GM~LVj@!RI~+>n>aSii^t_X4h8hd9ts%2Oxjh{R@~o7aLC4g%Jd z4pL}7t&u^aey;gX_b+7L8?=s-p(@x$1Wq))dnrxLSH66ai43t{gXr(bGP{>hp-4VH z6b0=D@x^{nk@o%#wa5-dSW++)$i|MC5vs9-4m^9ni(ha^+d%bS{DysCErr<31q3M6 zoFIpVE0s4e9f}AiQF7V<5#M}iE6x8%Z<#;-@#cPPwaI;kbo6$>faxs6b+>Ufo+r?^ zTxzx+_R6pHSJ*dmV4hw}rdA7E=0|}2pcLW0LZElMBg8z;Gg`++qCoR0FqS8=T-%** zeak~`@S)iuqFZqgw%p;om{*V~DLGa9WnU`!-7ORP*x-9ksXV!uh`s=3r6MHVWR)H0 z(EAbe(v?%F$9+2%hSOu2H2SC|Z#Xiy8hQAFtx;}|n~V^;52%1yu~iUwaEPVg|6^UEiP5X5BAw(n> zM}~L=L3mee@CGV$*mJm`ZaA{2WO52}+-XP%15q?PW=S#*D9z|FjA@O(bBd86axs?- zZRD>28<3%BotCks}dLTq& zy(B+8{Ft+AjkwuoYrm#^MkS@!uJlq_rU{ZJ!gwB&9sK4P`TIBsC%7YJjoT6`xXxB- zKqbw7_RB-2?+XQ3e1OB#)~B_7kYCar#4RBnPwvLq>$^m-f*p$7A1(PrTm(uc1v5Y+ zgcSN8JM(X*e~`mv$MWbWa%lBO8##RDGubB>++zxZqXp&2j<2i` zQ@YFIoCNoboy3&sipmN4f|nm}^{{qQ>~$nE&L~Tb#*B6VJ=EbJk-<>xSaf(Nf`v`c zIfdB=%u`W>^|78#1gVHZOE)6hC6C+*qsZEVZs)hY`3T@2#dO|{ehrZqXtY=-+h~t# zk+JVNgig`;!;9(oN#r{M!YT0ML;K?BkwJac{-AQMCAjX~?@W8rce{9vY<8EW^72|3 z>i(>_v_!;nunK7s{c{C?$5^4h=&mP*mx^rS_1mowR0s3{*h>D?r{>hs2@hhutQL0? zOow=+@8Xt1iq-xrG~`NDN%ndqI)a^uTY7W3<4`8CD?3#TiRY|kcl$2@H1A1kgfC*? z2h!+c?%-pdFdk+HlWcZKlKtHNER%hL9(+F& zKx0<0A?+rOo#4R~5T2qRO?X=2v5yAR=vE#@TcNugi8(8POTizX_ZPH2_|aYjW8l(Z zLTuTtOrua4xjE___nHOV{3mgpB8Xq?oa!5O&F(jpi!09y0f)TjSA%?I=6H3Ywf$Bq$98rxxCDQ_IJHQ~Ypw{T}l7)w5tJXZG>3l&Hod8c{4p=8> zif9K{+r<>HQQCW-JE)K5p#yWOukxh~pS3P>yH!{`umCEN{;5qP9dfu+9%nl1y=ghy z>opH+y+y;G#BPk{PTSEWC`qmpu_Xb)Apjr(gg+hwNr!y-!c`wMs74>4lI~kENRz16 znyX+dSL~d8cGjeGNft9d>vtp1N(OblTjSSC+}hp9=l| z`>JG!yacZiKR#q1^2aT%k?r#bLv@1x=>Ugv$1jA|_drPa>M(kIBDv=gw1Nl3odc@i z0~v5p2J8v_*x?wkQ{9r;67AY$+$P{g`r%#?TQ3HZ?ye5O;6Ud18XjEZLr)Z37*#>3 zFYL9jGw?iE8fGA7Vg=~;&HW!ut%;B?BP)Z-+jU{iOn?;hrC-2IOBW+{4a?e;mipSD zeh}==7sRWz9)qx|)w=PAUMu5IQNr3WD8}^q5r|S;1EXGud39BciT)+B$q`(QKwQu+ zar}qIY%dX|*8HRR31c>eERdb9_91oX7od4x0G2+cVD$yUHS4iT!sRJFB0#gIc^JWULsvVx14K$m|OLZkSRZ=)|^(sfJPSIIA@0>7%~ddwVh!sDx#^Tpi>xU{>A*wWm@Lw^x||(mFehc`@>U}e2m!y zO36xfyXM*B(rde88|i3^^Wej0`fm>ZE}CXPu)XptHWD$C7U6f16jTl}-FVtiNT2MW z&|&Cpg%lCi#ddgQPJO&W4fH5;Y(>|jiT1A3*erB9o?iAf=L+cE zEHV1!5(!O`ftOR{t*`-hMo7d^%_h99_J>e&UIILtvcAZ1>8%vjI{AipJAp1Ss=(ZS zcB}YL)log%=m-Z$g#WGM55GWi4d8#(&hI7=t1{u=vb~Xsnkhn`m1w@dIqTgXm(+Kp zwzgydXd+Jpa<-)qz>00|Z-6kT!J*J@hrGFs;H@(!E z&)61`$Gn#kxgC%v=NP$?D6GM-&^8E#t5lE0f)9lOSOP_8qkL(0X&itqUJdq4^n|9$ z9k+0hVqhY`Vt#|F@e3~;ktIqtQ4sfU31yyPTvLKpIP2>eVNR$^8fxZp`cG(w)(W0G zRj$H?ny;h(-m~TYF7UQ5{3$Xmnk6d)t&cfVS9$*_XRqlA10IxO4WX>8Y$YT!P47;| zx?YBy2;*tDKSkTxeTk#Q+8yB%@lC*8(Y(!@7V1c+rtKM8((;mhPC{5?y{9D*EMvlCPS2yO&bV6iYnhCNdc^AwX zZpLmGWKWfKuzJtjpwX)L&mz02Zez(7$D6Olj;gv{h~;9kg}u)MM@xHniS9X1dDS6M zFw)6>T$YLFG!FB>KAx}ewd9S55mQeHCv%HEb(xS_h%B***zBM+fz{OoaViTBK)c*x zT?!ypc}9gb8|W8SkoA|+#~|^toZ6y&f^?2{H{I{owHDSFG&PO2WPTLs{r~10wx0zL$Jyw6;N_dHEs<|u^LM|2g z)iW~Fn#lZXuT8)l!r4uY{Weu*i+`Kh{_X!+QK{E*vl1ELi4uegpF9lk)iNrm(?H4h zO?V3K#*kU?g8|{!=QY<^+4npI%l;8C@nW@M3r&*PcOpdr3*w?ls%%A9rRAMub?U8@ za~NL^d@j7ayV%JH(Y;GZa}|deB+L5fHb{=p48E=;5?>@dU0eq-0>dqmu~t9Ll; z$t50lJ4GS6UzHybP`Zeoo>(1)A#Qo}JfJ?0ez6<=3hfn7JZ(5mh^N0Jvk@UojHx=; zZ3lX?wZR~G&N6T~Eg~t`*H!eum7^$t?QiBad?IQBvWwU>Uag>(&6=K%=@ix-;X0=? zlbv{n=ERGIoX+N)1u7()$wX^7u14`Anb=E}S-6(SZM`g1{k`$NqT@@H>$3W@R&2L7 zkM;j=kKgqmM(xa}q_V%{0?w~-F>9lb@1e4UyokLf;;CJle%ga4|*F#C!T`oT?u=*7PgV1v+9#;UhmM}fP+V;1I`)Ia*xyI5sBZ8IRV50)& zFMdMeF6NWdCpqlUiV%EBW0%c%dSKD-U9^e9{H|wqe!2)DGn&0NfjxcMbi`$vCKlz zcD`;He>(EX`0PR=sc$I4Iyo{yhN)yhuV0N5)MX>QmncUf^pHrd=R!MG+%IH{;sf(y zsoXFH7YMTn6!4aIznQ8kTBLd$%mjN&<45whb$RJ*B)zqj)QB>V7H{lj!yog%#knFF zTd1jxW;QYgLlm=xkP@IM0w)uw7A%U#*BoSiouVD`bIzq z1vjo*5N$TYYsJkIVtJ= z?YYIO7`L&Su1>w2a|CJx*=_zp?Q@Qeq7oSi>XD5th|b0-#|1DCSCku+8BZk^vruo% zS-n2XBOlM#D5CkD;us+g_rj4h^*oOhd}g8t7AX$z23vtEkl*?pswf# z)r}<2rCpW_<}D>eDZXhfrPZp#YO$h5!}%<}s`K`TLKlU$nlok^x(6t)uwd|CWt>`!PO_pwc6 z3atDd79Bx~HT<{p?|)RqA)y1%><{$#+N-vCbd{3Hf5^5|)wexkg#b_Y`4+W$47*(J zKSHhGYX0q zejey_BdU6a0NN?m^4)`S640;y2m+;xUqSqWu*HGf5u`iC0jYCCAX<*@)Cv!s1 z)8^YSNvOb+A4wf~i$EmNyqXB^eE39;8<+$l*g|83?T~FiZ7x+dHseLOtSIBX2a(b* zAuE~3s^(^^rb*FaSR>&yMTxVD+Q8jdmF_>PW6B)rz(9zbfhHm#SK?&hY(rBL7R(>K zI1=7<+x*qOLaHpZ(2;5)B4j^@WH@RQm`fci7ftcReKG!wJsw^<&$i2=~D0Jr=r=g_|nj>F1$K=?39tzmG~Tdb=e!J zEb$})i4-0%_@`SS=S${Sd|zzF_tM_5S&xb;X2-W35~K-Vn`w{1?#2L--H1RUVa5xk zVUuzp@d}>C5+L%x3oH6yf+w0)-+m(yb}dqw8bQwnS3Ah(O2a%c$2!Wl;qqGYRpO3t zSm--ldG9hTIL5wwj}1L!kzfe8SzU7BfE$ZqA#No4alwpVv6~mFp6pepU~Zgyi^-FX|!5U_(znxnMt} z;L5JRO@(QlowE~bZubGw-=T86O6;fglYc|!s&yOziv2>7{;V|2f7zjXe4-ho0l^0z zJW0YzlH3iIxuViNMTm6*Y~5)ByFU-BfXs5==X{LKlTJ_-&`*6$uXe9+vLM z;}AK%SC)>W>zLKM>@Jg|P+?wX!%W#dT+GwF#0pJV*vSysQsg@EwV;&fU?G(eKPy`{ ztmjFjewsbCOx!^avH)svB6-5GhxEi{8`SDVU$>EheHIyrF?O5@gkDWvFnhIajgSQk zh>NeVu6v85u@f7k+9DMG#g)IFk3$y>(mgH&`#IB%LXNl;*|ep`jD89+XrZ!beSs%N zGhQO!$d{CWk&X%ymw<=#7m`e#@|>*hx)D9IVc-J82pE`6%T+!lL&v>Cp%bCb$x@l& z`}zGzE6~Ol(SnluE(n#752bG3KRK~l0uGjpni*H^hW=zQkfPz47gh<`$7hA?r6TpjLHITJtP zrn0kNmFOw|laodj`|@l%)-e1-EtQ$?tmwFebyCGHv!%+~e9HBdpr&Hz|J<85PO+~( zK0GT3NFxRQ`|51J0)8^LrQE~fbs8p5=yMukd-G(wB$+rX>44vN&{VUj?wu5xdLgYr0~I_ejMPE*7R%R;Eu=u5a$v?^et@Aff=hylp6pZ z>7J@=66%BEwja!e>Zfaf#j~9+`9uL2X;ShVD)h<~7=umS^cUyNVt93HS9!nxixIOT zO!8Do#Ou{_2$;ufBp>_MMzzB*W7Wrb)+FhT;1mr}Dg4oi(jKbq6d^hDCA8Nds+aI?_6T<; zdDl1H8U@8KRpBLFda`N+=_lLBFY%J!I^yWDTf@?Ms@A(n3eAWIqC`R zKtt;}A2b-2`gWCO#+Cc!_Yn>zerdJD@@3K}*rq076N|di3~#58&FKy0o<@;`SQy8l ztzDIsFmj(utmVqOb9&ymkc%`;|VddB9rwm?-cECSeDfpsIdF zJCzO-46D^O?6=_5xCc0XOcm<=(dy1q&R)Kt@;lO8Ei!fkhr*UwV24!3vnbz##BD`l z%VrdmHqS?=ED;&z@j!w_@d0Vj-FlwgPe8YZ^C4Yq|5lG z$P+S+qO0=FJ8firQxp^Upl$l;ZI{zya*~D)68D-( z`DsmL1^#{!Q?SnkKFJd2Ox(9wnu&^udXB?+*pgH?A%ZZ~1Mm7DrphM`y zj*LZ><8l)x%`b)=SEgYc+R%zZHa2{ALMe9+c6z5E@3vrZ5xYhLStZ04IPsI8Pvg&r zDK@)7KBkkC(v8KKHG#8k^s#JO)K)VnOQ>Gor=i-5*pCv^+DCFA+?KwBE7?nI&f*tk zR%d{Ujl~E=h~r_%_n_t!+dGegUN*Z5 z3vAQu5o8u2zxYNbKXtgWeH=1P^0qT=BK3ljAcf8c7zs@cg?^`nD!hv5jc|(yd!32Ch}#m|m|{RWUq5np zF-^+)0l-e9cJ#p6iEznSXOAOr0|#s!EM4R(ZojnNm2>z?H&V)ifzkam7739;*iz*5 zwJP6eqLzF7vqcVH!t8NmwcUN=v^~Xy$~8}|0s>~h++VZ5i9Z5~xZD@0=Daed?rrNchdc7jrC|#y?Nng5d&z}eq~Pxo>I(2$WJCQ3 zgEx6}@BWst&-#@n90vZK_3Ssv75DR{Aj|My6z*3OA^lmdfBr=prL_c+T(Tdt@HVf5 zwew7rxn=H5qVSIBwj9RoQc!^%jy?$+T5jGPs zdyQUZZe6LIG$dUbupF!uGLyel(J0VCGwNQUPbn{NcwR6&tTDr>u_zMt)9N~i^O+9PhA zi}SqNbWT&yk@qsk6yI&g=JVS0%vzCm!_5w-_kPYRSW^=5-;rSkb^O7tI|890*Lb#x zKf-E(500Bjq=Bh2s3&X3u1xX69W|s+=?WuhUlK+3As(^M^_#4j_{>wf-)ns8o9>2c zE*A*40-*f=Q)DHh1|k2FJ(n#|Vq!zlTOVb&;@-z4Usw4;R(GK!z)K5xN*CgJK*|Pe zC;&bdTNfKvFp0Bu`|g=$&KfF*7vuF*~O7Oth_edAk0;b3N09UuxkR$ zS~n^LO8}y{!}pQsuJyGrSQ$icY*e|};KjV!uK)!|mE!Nkj%~Mq+<8sb8VPbCdf%Hl zC$I)_YavlKZQhDCQKe(8XEa)+>}q=(?yKzvS9B!JPP`FTGC|ESkA93=&tr%aJw8Nu zGD@V}7{O-P&@(1(+)N3AY_y-i7__4s1D1tOSZJ|xpV|7^`EqS9BhN-^GBR1WsgZ-q zEcYwRj*riee9jNcx4(-P%>~6CYbD3#qSYrw?smmVq5xyvo5Pof&=17Aww#QF)q25# z#|jS19!y`ehXQ7cV#tIF{6Z~=oJzum1M5d)JqCkMG83@Q)VG=|w*UH9bw7kmH#IN$ z5C+BHmW#o7lWw0@ceB5p+rN(W0EA|!!zDyCI8bLrc4=&@e`BCmEZfKOKV>p>-i2h0*Sx(KWHpVOcV1ti|A%h=MB&v? zp2oYI6<4JHgVT3j4E>(oy-@gX2h6?czPg;3+AgBOLOuQPW7P%33?D=Ai^_1dv4ky) zxm)Oa7ey=&&8SsKN+1cT0TR80L>nOlcFr5-H|zj}t4TP-N}&;;3^_lFEbiB454&Tb zKgT?Id|UUFP<*d}n3?h$pA^~#c1x4gCLoX&@|<2p}VEml$P;S6$zk_R0o zDb+P(o>GmZeaFR00=@jl($o2$7{Z^&^DeJ_C~L%f!Bk%v)}_O@x=bcQ>y&%iRhyck zu+woBHN=GSD14Rk=~E$oM`pPd!OH$Dg}WVcm4ppdthY-Pw*s6q9zYT!Y)G4pFOBc@ zh!{c44|t@#|T{mx|5)HbC#dEN=-!}@N&dT$;q>#$GVve`(7(g`A( z-F~0B{263=OL*QJ|KKa)ai{nX%KC>i@LBpKte+YlVAcPdLfCdjFcEur3lR4?E|KT^ zdtgZ*C~y43R-!a)Rf)k&8`f?BvJ~@rtH`x^?p{1d>t}i^1ui2!Ut@ zU|AHEpitWPeQi5&VHdAvpn6^UMLE+3*6X8!%7r3()}fxkQzzeO-pv`Lrz3S1%euqAQ~MpjruODca|8vK2YaJkR;$kS|l zy@|PBuh5?>$n@D_IajIvSikgqPs!13dp&i&{5#;o;dQVT!VpK&w;%j>UouKtkDW}D zEI-Jj9?ZuLzoGQKx zTFlc80hGl(sOCY>@u6B^DL|ma#m8d|aC|;}PMyT-4sqblxWKOTHe5=tkjjEz*8W#8 zdEIZLq`jl;`N_i%LkubSD>qcxq;7TtV224`%0!zWaMM7xfOSU+}M?PRg$L|y1UuD>k$SW z)}5kf$|8^-oy4>B@NY9GA}~L?d2Y*NgtO_o81ocgP}T|_FR7ud!S=u@G0w{>X^JW# z)h!X@tDw^A8pX!cM|{l?N}#=&tfai~M;=ZgIKRt7hOn`iY#}!vGuzt=DM`Qvv_LwK zJaw!z&s(nkzF+=xdaK`j@7n!-n^k4~K_Bx$$w!s0&dC25)D{)g@Nsnq^AVxX`}Xu= zQ8c0>fbV^=wUdAuVO&AKvY2EDp7R=E3U@K(Q{j|2UX#X+bg1?e+!s##h zAI22*i^Hwv=bD#uJ2Q|N>T}I|PK+=RKM0}U`uKL)@&;4fYkboVkn#WAmm=Vf4xi76 zOl`w>rn*qVIIJETaH zz?YrL27j^6m*_eL*5z{T5MMp+RYBm_N%J^*x(R2xA-UE$oBFa#FN{z*_*g|FiMMJ6 zTJ)fs;BY#UA*JM}zppC?(^JF(w&Ghaa2X!Qj`RhGsJ~S8y?CHXI~{*Bc-)SEyf+{) zdH-ox9F(30efRtny6Eox?b#$xSXlK8?Kfk+qX5| zm=|Gu?dTXBG8E(`$*y2LVEj!jDZ?jou6^dY94JUO5X2$M%(cGjTycf*(+(JUqAB3c z(f$z|H9e`snTL&P^y7K4{}#*&+z3J!ZW>yM+CtBem8`mX>9nwgl9w){IjRC-X{8d- zi3jF&dxbOB@16Sx?WfmBRmkr$VZ*PT6-=@GapKc6tZn(SlYbh7A9*EPCjy%^sU6@l z-BfF%8#zSXM1GXgZ(O@;P<9@LYtm!97tACRX3OFYriT*dkm`j^o9smTUDS=#C3#b~e=cEHC5ah411CU@3EghNm`l&U=S(|Z_ej=H34C7vK0F`h z6nhY4`YaZ-{MX#z3!LErP8*TDlT&RjU?+ zS`sAfazAnF@^)YIF~8J*)-z|d*?JE3Ud{(Q{ZH@xcWoG9!$J--aO@hk{@0mpj2+q_ z{4OBBahpdizvT??D;@-Be-VlA#dV-?SzWuJ6ze+BtGST#205`negE#OQ&+Y7@h_Ybhc~ zmC=5<4Zb0~mJx#qp|k)L_4FcF&9eS@xGbMQ-Jb=SH}O?3SW(H-+w6_d^4#~y zuf|blHxJxV_(z$YS#TkOB^${qxxt=yoiSzz{FtlG{5iPw8nEqt{!G8!&eiF1sJ?E^ z`A$F=xcC34dh53+`>lO=X6PQeV+N!_x{-zf>29REQ$j&%=tf#ny1TnkLOLWxK)MBi zFW&pz&wKCV^TYKItYfWpowa_Gi=CGm{{AROkMnT&*e+%_eDYNDW#a1!>YI1Ywl?>2 zXmSvOeC44eww^}yDmzxt3_61i{;uk9rns~uF-R_thO|$oPA_NtMa768wwn|*2k+&vnvgHABoluJ5bO;Z+NsPtB^ZfIUUjG8%pmt1m&|>E zn%(MZ3H%a+tO=jTf1lwH#*z;Sg|adPo{lOoaXLfm!A{m&bT#ymDVi=~1*W}K#6b&{B145&(NeW_ z=nWQ>pw-egdQ^%%Sm?%y6bMcWBe=&AUCHOLwf#KtpKphyQVl47s`;dCNm`w6?YQ}S z-LJgK_j+5gM6#rde|UFycV>6to$3C>!n^$+Gl$c)&(nxn(B&Xt@GN~LDP6K_;fQsC zZ{AqH+xPm{^M6VAw`JdZE-d?&P1NU^{NH!`TK~CGzLyUU-TKe=_+A1ddLXgrld$W0 zzjjWBMX_%CJm~#luM{5Ylsx0*%-vK@fHf>FQd$~90Pw)-$p{w|mxXVTfY6PS%nVOSqYS_%V)^gmA?S5YmcO>?$=nhjZ9Q}TnO)?u9;z_#%Vy4XH zO*;9fa1ay?gao*9q~*RGt8zWFTVP)s(MO@7dL22tp|%{|KX9p)x^`t@yE^6<`&^r1 zw!`0_)L5v~5PBGvjEbcKM?+|rOR57<1F?>`F-?n4I)|0Nza9Jj?*2pP`H%I-rE-&p zI59nwE;kiF`(J-droO&kGduHWJ2n43E&AkkJV1L^fb$rCB#bT?Ke;5$=X5_zL+K_Z zDYD!Ivr6VeRHc4XQF;i>GKdGA&)YQZ)Iv@IsS0}of6D7c4$G<;lgE=Y?Z1Stg7Fp_ zOydMDXxGB&uSs@ar?OZC1Pn09(a5PcH8siXlGRm@%+X}m`s69zO7=^U2q_`L3<^_I zUW3!Mb6?UJ`LKyQt$IDDAN^8><2H!Uypn!~kAf76>U~UT;AOl66k|!!`JdOWA_t3% z)F73PMY4?O@5G^14QWv1FV&5^vjH(dMWZ^?`UI0_PF_?*##JJ=aRFP!M+NVn-1)fp zty8cqkf@mY9nJbnQRd^qWm`F+NsQ7`U-lIm{+lSrU~JGj6Ih*|LO_^OD$Q0P`LZwZk_urx9h#W~;orZh4I>#XUD3#KfGiE}A5@1%e&TR1$Ja(ZMbtP!UE#dafokm&J&lf{ zu%niO;Eh**l8H>kMcHW%R5ZkLSNhd7k>T3(L2QX4Cx5D^c)hNNuPL7S z=6iRq$0^Dpo%a_{BF&dy$K$Tb=B$|>AB4LFC8TaW95>$ZWkqCa=NI3UP6ssb6~t z2lwfiOVV!hlaekC2B+jR=Qes~4l`Cbl+QrZx>M+=D`T8M0QvG3{nfT*0xfT)2yCFb z_L*e0(G74N^!;TpUp==^pi<)%rk|DZN?9pw>_9TVPG01d*Su+Tq%>>*&D&H$l>{2a zk=XwIzTg@`>}*>*D+6L#9wMx#B2+pnqY6>op)8bL<(5CXB{h=L*_h5>z5`S65`W7k zdnqyBfW~4wjp8e9(gr3@D3;X>ddD)B1+9}QjOQwZug1fi;;tJWFU=J;BnDo7X{s`+ z8J~Q}WBc@w^nOvd{ZIE4#$x`z=q*HyKSoW@4Cy2Lr175L-*QuO2=e$nMXR!MI4xC} z7rjDw>RN!$oyFvU_vTZ7kQqW{)N7VKydDpjfdox01`QGm!oV%cR17|7BTzHfJ+oyB zyRi=-?Sv`Kv!_B5HwlWot8ht1IZ;^hJ4r2;9j;>aq~R0di`3~`g)a$n;B45P=Hv`T z(PlSAEdb-D*u5!87GcOy)->;}&>JJWO5zS3`!64l z#Vn6M9e;XNf49Y5ER=n)bn-w)T#WH!tD9ua??6iK&j0rbVo!-cnvsjV&`8c?o!U-8J z2we%(z%6IA+Zvgd%Ae5`q5~^Z-cv2MvTsbK6s(=3XBbb-H>9ewz)UoE4##9^Y;x2> ziwoLYtl)3`s$ZUP@i_1X!EKNN!kfg`=n=&g#uV6_i?yP5{0AeQV>TwYGE}yd!EL0-HI}GZD)-t`iuQ~A}$MOQVAD#C#wMo zKZKJ6AzyN}7EDKRAvzijg0|UE5?oS9b(DUAO4{rGx(W;rsn%d+RK(G-t+F{C9oFw< zQiZTg8AL#F&IJc990SWRT6@3&w(_lCIuUHD>@(GjSgJYL4%s)&Ugn~c8b0>l;`Z9u zQM&;}XqXx!#!-lr>wjz?1aHNiqyYM$>wPeu>0hSLkZKflp16{ zPfIXuJZkobL4l2j*{li8$o6I1#jjqA^Nf+vx=C%TjwrQj*A6zDh+A*tRCsN(b_WeT z0ggyUu)cT-{Qne(SH!dUtoAiM7v^6L{04o!xLrjD?+D&Iu7=k9C91lj*$hsD@E)I} znm9`yH0}9hDk5B%ID1QKw!gY2$fjs1Eo=jPMYAPQ0pj?g0-S_{0f`{1qDfq|cyxhC zRzTL)(0em>Tl2Swq-ZK7cvRnlEh4r(Aqm6G!oRYO5zVx!4`z?srkGV1`Bs?33ooT< z^JSJ%1B7@H8;adTGlesx`3r0YT?a__oiTdkMGz?qRdBhG!7Se}au6cZse5380sQiMTD0 zKK)_Q1{Xcwg(l3Arzvyd!ijE_qx2mX?CpO+=2PJ?*WRS( zc<-~xlm&NjM14!EdNS5%=|`m!`^}r8AvpXqTZ~hfBp-oY-V9W!4$M^QfDQ_b7LG>} zVBTm1>=lcm1&`V1KS!Il)tH{y^>g(k*5G!UXHhql> z`+1br1W(w7&>J?qq<(#COt7#Azzh?MZ2rT{D05*k%GvZleL-IaCH0GT%m)pdly}4j z^@Vami?8n(9LJc+BT=z&$?MvcW2B5F9@s->e)AuWMZGu6{P?L}qJ3+bOV&zl3y#4Gk$cy}2I`2}?HjA_<45&@<_rt+sTH zR`E$ohW--zjzjsQ8!_2-+ptAlr>eHM5m0h0_&%4|YXB)n)KI1ZRP1$h59svpwb3YW zMR`BRj0l2ojU6QXct_6BioH24p*h>UUaC7;%C^2AHW7a<`#}Sm?`9I{Tq7X-Q^QZg z>rYeG7s?%a@p=iXWS}@V1T@r6Qx}S#Tjr9yKhYDr*$6~=Lp*PAeaB@=s%81O=L?Gs z3_!q&V$Q+Ss*7uAC zCOicGGEdfE%Oroj*fk2x6;#%a4KoV$EE8{NQQ8mZdy=vHD@2ahwuwM3h7Js&(gk<$ zozE-+8iGe@sRHF)CqY!P9jGL6BJBQI0p({^_xbre{WI}4v>r>zF7%FcEmc)jOBm~A zE6ZcgGqr1-zE}ZwkNT7qqDcAOZ{m|f)n0lP5$I{^{ne|6+8>P<MDtzC?c;Mt8Qylo|y_R;0hk z4%~~!mPP-PxIFfvu7-7aXO(ls-6khCzB05nre=OvmmhP9akbPHTxVUkim(Y(QoBYj5<<{p#PU}*S^ng?}`qmP!yH)z;v$0v_BKc81crddL| zVHktdwE6V1cbyJ5x$S1oSH9E`vxqcQ-V-j5`5N|L1J7R@&l`Tdz$a_m{}W=LbRvb( z8hI_U7>yu$RZN%CbrvnvGWGGmgvUN}2~YaC@GPdw(grEn1ZE3_!Ako#x6?CV z0QKHFTmlObfRWKGB`DD`iO z4uXhFj=T=!0DrCOpy1F&&yK+rVW6MdXEfc$ymk%1T8cu$=gikIh0g4Q-xf5~HWKAQ zvK$vt-}b{X6Iz!iOes&l7vfNkU?osy82q01AoKLQpO7&yu3GHvcjs$b$iiik#I;8V8zev#%v6;-u0ovGlNk0 zuIC<&Aw6)FCK!{VPq7zOZIi#p*ObY@-gTo$!rJqCzXO%_MCe3cxNRuw-2s2DB5$K_ zzuRxFJSmHk1Rbo&xmF$9h!*?=Iyb57eoS<^Jm)W!yzS@9++GhwVoi5rGK$}dCVetn zQuf+b3*i}wbN@n(!K^iYtj{aj8uv$2y1y$Le+tswEjvI4XtZouErDwIVIqEGI}fc- z`VV&wIhc|%)JJuI2aSFxJX+4Y3 z6iAPjl1@Fj^)|r;Cy<3j%RqlPHpCqU)1-PKIcjvXxaX@2N2S9H-?$3GM!thoHRd(6 z^xb&K?#>)uUW#mME-x^H3ddsWkTB@t;^}V?f26qSFvi z^6m_&_GfOh=I3KzjPvnwTj3YRvx$2!8jONZ&^`4a9Bk6BbfDL{p>7RLJ?IUi-$}$I^xX>WeK(>Fl`M!zr1jK$XE27Jo?BM(+liaYq+Bixzr}RZ8Ec zlO7BN30W$I%F96bI^0!ua9>v7znxZ1Jt4o;pyG#ykX5+ylh0p~rIjd`TaG(-+F-m4 z7-ZHlwyxycXIOH{Lhe)5uQvO5x)GQtB;Wr(DBGgUU-XwfV}c|3FZ7W)3hGQmU}8i& zsvCZT5~u^W+p5Fau%8cWYKw>xWxqW)1nVLv2${{NaHJ)X`~I9d_TZbZZNK3?dJIkm zn7_KWnl$z|*eYZvKiHA}K>0|&FHNj-=jEUeO*`}rW)*&j&Td_-y;#5t5nyZ&=SQ0E zW$(~0&L#o4p}Hp^UmSO{#b8S>Un>{f^gOA<=~v)9~0&G(YUeWP$q^1)SvJKlY}($x)rzbw*azi(aBT zf(0d3j3liQvxEa}Y^4fm9L@{d3>#-g9+_Ws3dDX#f83kAu2>f=;z%>| zz9ct)3P(%~8}EsrrOsJlmK8ID9=x$?u)E3xCqUek-(L!y)AaSA$4oQ5EF`0gb6|(c zB8JbGNrr{7?jRPck5n1IU19IOtEe>b8N73>>)*RchIVpJ%JWPAiX=Xm&N`i_d5^;X zzl|&EZ{srJNjGKur*S1AZCP%zI1co`@L2@bOgs^MuSM%sE3ZSqvfq$~qa!RMIv2f# zVD8@PEdUPa+Rs#|_Lr=wU`xh5z6cvWZ|IRWRhykV=|K`bssP+LT;uh&8Tuc#>&g>b z)6=m_OQGxxlb*Pd14-h-+r~caD)}Z`K8}jVD$CP;^DfJ9lL5kIrnh!Pq0jZxc3h0G;7}8-&xlhaeYkI56V1&>iAo+YRyw zsNk;Rk+B?ETvO`qB9>K%TD!u zLEY~k0%<&ok!$H5!d`vHhms}hYd$1zly;yfj76(YEW#wbU};%I7ACSg=EOj}B6>ns zTF00!$BoalZsytb*ikQ_2m^6Hk#msHncVW_c%=uzklUr~_UhsI4>Bn3qxI<4@{pciV!6qqx>8G!=7dzi|vvzV}5W()xriJD? zwl%*6(QC+N+hIjZVBnk{yL+B~=ll-851T6ry52M=*L9W{&*#1~fl4=&5tQYxr(a4j zwoGEUhTr@TRCWl$K>T1%tY}6e`4=hsVht46)-%g?MH873HRa9zpf0HqfEHPocbG@@ zoEFAGDO?TmR~tbC;D&AP_)oq&?J87C_Vscl#RGnU*GkSPf5AGM5S$5`pCSg^N?-}1 zM$598ulrXz5fkq)B>;Si&s1SRo3n*nrv;if#N=Y2d@NtSu5g}G2KS~Ln;`{SP_2!l zj|~v8c#qPA{Ap|jkghmcQall~IhB*$Y1~|HA0i1>pjksCOlFr1S52ZCK!)*v zGA~uh@XHi8zRAdIaTdz*_;e-VTHrKCus@2$S@0R$I&h^wSQmVg+hRC=fUjMRggc&e zA=ucbDG}T?StA~yxj2zmhw*YHRp9ce181Y6<8!2N)TOA%jY1;;T}V0H@q7g#fr_cM z2xDn_Jgfw#7WqD4q$c9 za}=$iHNN~|+kbZTlmRQ5z#^1~o2zAtj_^CwEK(3Z=taQCXWi@p0|`=rx}0Xvq_cGF z9w`j3$6wmR<~!4X(Ec|xrPt(s4G_v?tmn{6Ua=&pTt0JrZg@4vAj@#aj!w zVx9^Z>&snPw%?}M@=%{%vl8e8$M98})qD)9h-3|PlElNx1v#NO@vsP!2M;#}h8-s5 z?cX-%9kcpV<+nxMre8meo9%5JVb)Tc2J#Msm5v9w zW^+FaahpEeY?wNKA&-R-KD`}lr2QYUQhU!c-oJ>HL=yJbk^PsZPlXYoRlA6PUNaA3 z*<=9b)SRLaqg zQ$7XvI3T8=DM6BRzp*X$acxBcG=dBxWFkF)qfQ8eIVqpRnoda4)s*umRfz&WJBc$B zgq{}ta)KYLKFzKF{TtIWEwqJjJndekX1}1bEXOWEp||_^D$LA|dM$*#7>4+!HnHmV zf~*+z!w3$Iozx9<`wa?z=ywPOfjW)Ly>*-}mx0fFX!@Oho&c}!>CU#-$@ZtFeum>F zH~Boe!XGaJj!1;ajYbF~tQAlSuzRXT-Gem>L#$;?Z^S^W4H8ddV+7n8-jgwkd`cv! z1Avez@VWTT@KnEWJ_k{eVP#U2M~dplMty4WY9Zj+ftcsMlCF_4IaxKmaTj4#z}9-X zGS-Ck>O!b?Xdg3=ifsoQS4&JG@Q|r4kuEz8)VE!_%@m*~1?}-YpY17<6{mVN&>NsW z0MBt(r#s(JT?5_u%2H9}EQMYUD4{0C!jce8Uq*b;G81GO*2DPI9XwZ=YGhJ{4;rKx zYY*XTNG&6O?REBhz4lqceQeAskAo28(aTaOpY0;g6~wDcn=u?#Eb*BVP94gORU6Ue z-4}ENq$cPq@^ivl!Evv_?X z>)EPiX`!s*JDK z(K0hgYNr)(;$ni1NHuKw;=#GdlI73%!5jB^X}8=KCUwb8TJ#iGk29owl6WCdwfwk`p&}eE(Rs!$ zqA$ygQr`ODg@oag`(pQ;-0Za{k>-wj(FElj?|m~|60(SDHWP9e!r8XD_e5229zS7D(NEn@vG zEvK|WjnjK_oh6=J(CqEUkW09EfI4tS3VwOW3%Fu3GzYkDhM>Gr@_Q7OWU`Vg z9OQ6metHGUn+b+V35*!Lc`IcWg>E{f+_{mxyhD)Jo972=aTSLM%q9-ze4$WU>}{XX zUXJ2I3dA**#03DfsjePzuY1}bQOpoyErj?RN-H|>!@OcEXsu7tTbm@1!EgjLS$gr+ zhj+u=x*nNWHS`cvk&`@*j*H3R9qQY|2lJ_Efh)G*YXc8lqcJ|bB33=yx+L;H7Zz=Q zg16m^51YcpoV-OZlaJPfEnmQL($&|mRq)h5gh@Akm&GW+n$m_LZi8!v!aTR=?ckrD zS+?(C%U{Jo$*^=GHH9Tz?3z!bi#3{cJJL%t_@q^|YsjG=1ULh&`>cFz3~D*mk9Hj& zkT2$p`?oxdFN*PTklr#~4obS9jzsyNGv$$}xagE*^D7tK5;DC&37O!lO&Io*UQ*_Y zXPG%s)s5_U$0H*kFHpPrCwc+*trjEV3pO)^BQys7(_OXh%Q7+BH$3}E>P>u!dgNQB z>J}9FvoL-G8S2kcPXqu2HBG%{a-HurgUtlkZooR^wxB~gvRoKC z2~D{}MZ8zDR2qz^>opmhes6^aYG`bS0S&*jzfG?&WO&)*h>%UuA0}27~nOw zgYPR-xs&mw9SH#K85>>@okTcaH>JDZ(<}!i;J`0qQjn|6f<}i3bx`27&qN5$ z%m+aCqZHtCwAnaq#{;N!WUy^`eT<2MF!Sjk>agdhH_jR^M^OOpA&Tgb)m;*nKVrx? zO!VI==Q|K#kA)s((@waMNEN=cWCZ6t;g}A zh^H~RFob-m!ieW{*2w0`0-0)kZs>u#bmFaILQZE(buZ-3mV0uP4s4pywpABpRva+y zbx6H2)aj%mGeE}Fna<+R2dITqKMqHF$RUF%qQ^uTd8in~c$6PnKLTB{gZu>0r9(m_ zxILJk+f_VyJb|(kpa-~>q0)9lmv)$cR*ICsaE=#w;Xqay%k!N;{`-&CO=v;J`!TN_ z35o7sA$geec~L{MtXe~_k%%#H>0Ms!6~>>1t`1%`@`eb>IEmAE=utHC8kmS!XA+w< z4xJ;3aEug6-bO{}y5PJ>APg~+2y_`Ntbo*g&1G}s7c zpT*1J<0R@p#SV?1E+I+$-vu4-?}GkO(Sk(wA1d1_h(r>3B|JC9g;;k62bTg=_D*PH z8+id#fc?~Tf(0~JsBhIn%H?zYq60BJ{{|*HXZE>(Qc)P#0@yTrt_63x`bfn?k}aPo z+@NAkURz(2DZ3D8#3BJqp84&hp+XM$%;+Ykk3cRtAFD2!55cO)u%HFlZ{N4U4b@=s z#6dWM_S}aKg5{6`o=nfAehi?$W1Z7dMq59O8RT)oGBSJXV! z|BXf~tFcx1dMR7w0Z!Tez{gTRCZuq%^838UYWO1lZ@00o25UT5vp<&IzE)nEqlCr{xALHkfz1q)NyL+iHVm18L@Rn&I zLQcABtWc~*3-|f7nHjs7*Ds}aWF_s>>*To_HB-L_ZY&1s=25+kQ#HWcRlTDi`DNty zzWJyi6StNQ2M?FRbtK`ECf(fkU#UpXz~}3K@B^*{Q<8u1gO5l(#>;YXaI8Q|fp20M zduYKCJMo`CKuHNQ@B&Cvs6n@d62LAEH_UdoN^ASM=pzPEhff~0@_=8NAH%PQWJV&D z6=uk=OOS|u+=)$%{zSAjxuNE5|M{34ll0h#_DGumw{AN1Tc7Z=~|B0cTa=<^eU4=wDy)OU(=zJy_nM6x~m!ispMT<5&(_YOsmrq-IT*?_>QKH7rHciapav_TGu z(YH%Ky0|h6)8h$DMVWPewlA)R6cPQbyqedGx>*5OAAIXT^S@8aCw^PH*9DIwxUzuI zpZnOh#511Y;ibHjr7()7GKJxZx&Be1ZuHt24cwQ(P{qboJ8)AE_Vow4m`KAX$`4-{ zEhqVu5MHEaQUvcX>&o_(uiDkzrlAXR>w4E)jaPS>^5^`PD(`$?TNMPqHNCpTjT|JD z;l?X6j5+afn97kQde}DL&krxs)FD2-Zm}x3K*<(A-Ji?icBv#aIk{9r40ov3a3h)F zhnT+{K>p6z@{R|M?OEmjsw}}q38z*b8Y;kkz20(8lq09bV3=R4f#%K{Y>RbVA$qkY zJjN1pFt{!g)^Z)*AqML=588|m{TB{Z!}3oRamJW}|EZ#Eq%AZLTv|BNrCXjX@RbDn zvs)3#P<6Jsk#^(9@g*|=fVkX?K!ZGnAN4xmeyln3dZe}`WhuZ!_ju*PIq8R)l)o%>D0xjVOgS+7_AVV z$x0802!cGLp3irXz^Z7*fUiJTETerzuvG4ew7lvEg{R9?mR5TQZxw39#cYgCDrS;+ z-h(hna8r2AgAZoSI{l6*&TnIC0nZt1qSKv`Ye!!$Yg#1KK;s1>++GKkFo_V*W0H+t%MHR1AIxBN$EgW1? zJtqR~#AK3^5Iz|NU`K$UjpJ#BvFD!FcZ@Rr80GK|&z;7CT1J1Vfp9oiQJa=ecmp%? zTU_#j)K65km}51{R#W%b7eD@>Ar9U3Ww7~Ql{ejGuh&1G3%DhkiKpPRJt6 z)+vdcZAkfLMf)1gm+B7wON=oBbZw(9yA*q8PPOF3;;0I#&V*9N;;<5_fLWz0?N3_L z&^r#(TARON2W_tn!A$LF$MH&;~ zg{p2KV;t_yW}u=a1>6yVH;=0plvUj&Sc5@~7>}O=)y_3&Uz!nsqjd@ah(=BMgyR;5 zI+<4d;C23ukzOHV80%=|WmrcZ1sZlTs4)=}Jwr>m)f)+C%;{o;tw?XdT>Yzu+r; z0*sd5x(?yvNf4b64H5Qh5pMB9!ns0)$R}xi=FnKu$?MUO3l=o=RZ2f zus%BA?{fHZ@lvl$hxP@#0JV`}#QIoSM*Utc{#`}aX-8_|ugJa6a8Q?9V$>rYWb`>Z zVhky2VMP^DoKE z2PChkzoHidE3W8&L@&?5T&&YzO@cHc-MRMDRKBzyRVRqRH{Y5MfwomTK-_%m?`uK3 zKp^Z$!XBkN5<48*R+v%dc_%-(J^{wqjzktPBzoPwstZF_`MDc0PG?|=oUDPUqu? z!(cHKg|cByiH7zSzGI?%B`e&8r^h)Y2ZcGqL`ef=wr>V^HeGA4K;CaKB%*KRvz_s63+1V}( zf=$3wm+f}CaF=udDHRZJP7^-%wUwI)DA47}!L)IxtMMIm6@rW`FezNU-1y2v#Iji| zq)JL~SD*Zx45)Jl`6|(aLyDYfQ5+EFl1w*gxOA{Q?&D}!2404E%1v2C`-D@S74>wlYOl?9yUXBX6xWWeIvUp4>Ab)2vcuWR^>C=4ud6mJ zU0KkEVA#+AYx8Q5oa2TFhNi^Lw`J>b&SvNgKacC~;{de!lFvcY)>ksy6N!37X;RWW zar4MI81h@RvxAPuw7$xPsFU&(o{eTr#sj}XPf_-rl5NsT@K-`cbdf9<0NYT34V+W1 z4Q|VwAShIl)aDOaHMTBFl;znL4XedenNPdI8FLKQTYE-I$Bdd}Mt4+WjOf=nbZ+q8 zjs~D@pXhf1=@IxMOx)$PV+88}yaX|O{i~>dl@T+1fX`|kE{vz;t%=-u54d)7CuK{=AJot%u($BF z;a~Y9n=>!G#3TE+^nlG$JOj;yYD1RE{l zz&KOhfff^AMoo?3;cSnkEs1+WYyTQ%G%~DKrb=9z3FLZVIG@jzBvk zeae?YfR*2@n%8UL@AuPYOeh9`KE0ksRIhvltZ+ohnzsa?(Mn|qx%NM^J{xXJCXbNh z7lcO^Mp=5lC*0Z)gvW5Rh#G`1#@p-#`sYc(;jgT5s$+seC@Cl&3<#b`=BVSy$>fbsp1r+o=Koq5uBYDwx;#2CtXo5UEg_E3#=FOkt3EFz$G9e`< zw_H8fjIZU0weytyGDF%7OLrVtGHY?i=sWMyvdf1L(Fb~ktSbvnBj8hk3TM7qs~b5Z zXt)$(PFoQ2MaXmFC7vV+x-~FJGh0u+mVPx9=oZp-T^j>0CYltK?`wxMf2oob+^I|i z_PqAzL1@jptUVqLvXqW&KwB$~SS6u%4CJtL@|{30e5b^5%~uGEIxABN;CxjPy&R+T zY)viqI$Bw;8@j?s-SeJ$cms?d)V+@Ga3z)8Xy^MY!PV#(Na8 zn>ZjGa@s_Lh@z8bUoBcti1AcYZ67OUi$2T&(rB5TeYrwb9>6E~QfXc3? z7k+86)0)_y`MJqwzAE4+i-k{6TF{;=-}vik>Ppco`EHc#*^|yoduq_jX~w4N+oL>T zS~rBm;F_Y1-pwY=mw$KU|Gf78zpaS!f<*Rj>YK|qJsK|=qr~u_B;W?0Df@7O?@txg z2|awBE*8@0g{*BY`$uIGG3N3;+!>9sm+5)^7h`g)lMQ_n%_3G39&8O7u z)SRC=ebH$|2156a_F4-^14-0Pr7J4BbplQZsMIPWAIcRe3^08@qG$-~#sS~wC;i8f=e{_)NzE?s9c_u_997*~$H)h0;>JkG%|7j+b>6)ZsdS8XkOnga zZMX=Be*6m}{^zZk0-v5N+szqG3I0<{{BcNOox81F9ncU2pb`4EOV5vmK<)3nt}8c} zMjl1r6qwE%6d_rQAb>&POL1}ZTuon01mM`j)N$)e%eXA%Wszkf(5`trGJl!Xf}It4 zplzX`L!?`b)q=5s{Zgw^1B2?UCW%7#QrN0Z(pH1Bpb)uK^@pul+TY4R7b90x0ij$% z)4oPj#H+c85XY$!2Fh%8am!odJ4$aw>!V{m5oBb_^0u%rD(ep4=x?sP)LO0~dcbax z>f~zAyJAJInZ-bL0H*yUwOdF{oFvsr6f|8+L2o?Kh(1=SgKKERm=p8|%=g7>xaoj$ zg@(?`z1)&eeMEcYX?cLdwWl)-#yNRVx8``4$7hS13Ezp|MVfO_u;GCU6PQ6rj;I71 zQbKbXi7?^`p6{_w4FsyHq9quP2^CxxV;z3q?UZY;GtWBY#{*x*6XoEW(&AtjkR?4sBG_LErEWuI@J^G0^Ul_}0nTt>{%$;q8AZZSai*a7LGpJt5Rf80< z`r-@1vBrD~FmbUQ-3V&bxTPIf3-jNY1`;K&NTmYvu{8%`>rOH zNEaUoF|L%hL90deyR!v{%b0I`0Y3}0U-3nuGE*_^vwDSZN&Xs$fUXL+wKVXsu-R8Q z>Hg@`Tk-$-;@60M@Z;Ea-$H8HP3*TCSai1Qo_aT=65<)Ty>?PlAXZ;*tc7fZ!(5~) z0*{v6MgLdsWP9J=CPes+1R0mL27`@*TO(~G+MhX_{SPP)ue{Rgq1k}EynD_`=PUQJ z<7@zaT)T#_m<=yP0ALN$_R#X1{9xK=(HC^S0jD`_k7os$G1p_QUMgLx^~9V9HYNi& z+V9D2G!6wb>h7IYmgroGpcWe74`z@i8#&+D?lPwB~4J-^xlCY=#L?KSh)5}w8&kZI^m!8+?9-|-2 zkwL8JRAHrm%tvmqu$OFOD}M>V+|JFo%XWMXnxvLuW!v z^p&zCuq3Y+Bl2O|u6WoY7Jf&Oembc66e8rTp}*i*>bOcX#6;hWrAO}fby9fx{-#{XBt)`XYbr)WB>E3 zzApjpZ0kd6_L}w5G^dEusd$i$y_17}z*X2>YPEsA=X57OK~178Do-lirFA&?VyHtR zV0r(|EY6s4>1OkTfr!3XcIn{J`IDLDrZtFOLCyR|8y-c+rp=L?U;DHzoi+Ntb+f~_2nnn~-LE}X{- zz8UN8Y4eT3W`M8+Q3Sdag4|_f8#EYF5%ZNt5uo~sIBT`*dn?Nc5}+2~!SyQ#s8DeC zRC7bslWMf^cDGHiE9>6VmvY*M2b2KB1EpbRNYDt9G3%3k@$+o4n&6{{85A>?qzKJ2-J19?&)^ zYWpeR+SqS><>Be4iG3r!<4ORHwLuerzO_n`x(a|x3ZRh@FlG5&McFk|gY+SSUZ5C| z8H3Kw)FNyF?D<f;Rb)L$d6{=dsgEdPfB8dv{uq3Zj}By5YV<3~H7V^L(XM>{uk5 zc6ByY@iFWo2TDlhs4lh*nu|7#lFE_%{RY&(Rr7ce-PQpgpd0s$3FyadzRP)m6dIax}!2% z6Z6UzT3o?C(aZL+0DVGtsWr74)ydcoxLgB4Bb)jKfra`h$W2m^)*4NMtR#YlbX+sX z==|@hSy+Dpn4|r$?mZ#!L?w9n#mA$ag`B2wxv%kMUejAj%ZXzWm>g72DolK{3~SO1 z0a{{>b{!qu({DXv&3$u?>n@ufxYUOIKCa@4=8rRBQ+r!AVoJ!jmb*}$(*xxpO(nHH zOJzE{l@F`@B~s>8Um%vp2^fjHfn5yfb!CbSVN;-`}@rt_}e+@5J=l_SzS5}0A}VQ!W~!Zhb>2J z-3>QYH_JPZg`}a@dOFz3?I@&zW*DCdo$}c

vJE2^sICO=gVIhE`rcF5>tp%C1QI|cD1P=eaTMZ`0?N^T|7yAT3v(!3*a5@HC>*;llE2AQP36$tBAKT#(^lFYC;v`l&iDhY?pY&h@YH zi3H*psw!X%D3a=2fVw1Xnr4cW_EwUrJIs=M_&=yD@#Mf;ZiNkq@8BjaYuiUc_ zWDE@t61YP8j20v3&l9y?<}r^bZ{+s{!i@4BXRwi;l7B^-S@IaRO5D`ekAPZ>N7zXn zRBdKimr7djBpp@7)pK1n#t>7nuXsV70lx zTo@*{qywhDZ{YhfHHX<61IibQauS-gCZ4XNU*BJmdmUCk9zF@(Z}hmT|zhF6{fCz6N6J?XpZu;&Uy$JWcPy z@O5qq?2Yay&9R4n*naqer-*9lyx#_ayrJ>)cXIjUa3Y;nw&@jMp2ahraPvA2UogLX zy>_ov|3TR(>Nr9{cHuG@Ps2}o1b66%upMgnzl(37_8ItcrNl9|@vZ6Et?3z=>badd zaS-!)s(!vPM(l7sb(Bg^Vp^``4_pNi4CjvcTr?!2+ss;O zves-?aO(<_U4bLP6D;xMSgZQz$t-$&f_=A4%q-ZQtB7Qauo)v=D!TLgNMSdbxq1m$8dDdcl|swv6@T1F9P!8@0eD1qW8>%|{`!FxqfSbzO+M@PYv z<#LEkW{{t9lm`dljWmcq67Q4_kY#(e9-T8*x2&VnYHbPF`yGMsQYFjC@*xq|CqTkl2RgS9q?(#oxRS)s;=ywzK%i^y0cWZdlK>jEsW4MW1W3MP1>um?~~Vdq;#U z$G5q`v+N~b8!z8*7ml!b!qMZ5fB8JgD*+DmSHj@eP628^RpyZVKD4X%C`64WHog zdKCHdXfAIbxC_p@%sLf2ruTLYfJ;fnyF@z2^9XOa3cBD?1O&1H>s5@vb@~$N{i|<# z>y#>fO}fhAs7U9%V_~kj{S0c^j~7J{bZDLfO?DqG5^ja$(c$Ic2=q+^SYqO!WLAst=S#k+l!DY}W+TcvBD?DdlP0m9FnUKy`tZ=_TzhdF& zCxXu(aOA+Q;X`V>9WdTdCusnGATa#VMFpieujo3H<_&uY>BJr>qCSbJ$(7WIYZ}Ko zQdS+jScmGNZ>6&+-me+o75otqv7?>-M22BIO9QWEV_n&-p30!6wacQ6WO%H;nUTh% z`8^D8q^5eQ*q(-6)Y=l|BNao`^2y+P0#qp%wPSrak7T=g1Gy*^=8pz39G&F*0k9_4 zSm&0nR%up|gV4FMBjRdwS=Cz>5s)ICV_`r3HDguzZA_^DHQd2;@rSe2L6b*f;GmVx)8@d40drF8q^AYrsI_+ zn;jCzg(31$x4SFjWrPg8WfC}|!(A2+DHybi+i}w3NxHATlh60iKD1#-Ev9ojwU z{M~mz+YfPF#IrlPv(9c_-vR!|@{L8}o_1k_gAdfCR~e0G=imRgSg}rvzSl3e|Gz%E zF=-Yg)xmy!4ya#6x@i5IecOf9y*}i=;V;Su< z%dU#!au7{#&Sz@vX{p+6_~RAI*o27x-w1Hc2|+o4D61Kj&_gmhJw*4 zdeKewBdm*)!Z5J^n>Fsb{c~x7sa;avmc=v@=a!cds)2L?RwrVk3UFz-7BeiPAy7% zxmKJkCTc{TX5}u1U7u^#=x5EC-dA2kt;}%Q-Ip%QeuetiFJhmfF+R0JFsk6|0s@eWaP*e zl8`{bI#yZgtx$9ZLP7My(2)pi+7N8P?%)EG7~*WQ&Rr_~GCje1#ouE41IEjkGRPwS zmypkL&11#F3aA0QhH+$rLW({Ny>w4mdA}}x#BBuPPk!|i*&Wo7Bp&QwkHye~gB3|Z z2-d<=@mn@^j6O9Bt%CkOOIM{mpKRg-DmIp;a!I@{6PrlNp8EvHIZj;so+9h=0n8y1 zs7A*NBUXbutlL=1)50c3=uyICaqFF|wJ9%8B|Dw_ub^nnBxla!h}Mtv+8YGqHy=K3RGgPN{lpZ zFBxWd6v`Lutq8)P#nBr|Su4GeFz8>rQ{84EgFmL8N-vr;d`smvG5m{8ZKsGB)goi- zv}mN_%*t&yMUFjEMHxU~gXwYivz^x|8`0;zN-obUl(|9T@9FLKnaT___;%WzI0AyZ zO1LI2Woyfe#UJW+J_d))L@{g1JLYz{ZtdWEv^bcJHi7g zO_d_(G5P=9Wy~G|@#J8r`Cqwz-vP{#L-VM%(VkzcKVG{!wr~Ej`SmIo{q)(57#vJj;ziAJaO7%Bnf_JEi16} zf1;s-1UGCekEZz!8ukZ%0nkvL*F~J)TMh8atd{%&9tWGOx--k*Wm(QqnN_TGK=;*Q zV8|uD(@q=hAM%}0OzVidDGnkOOoE|Ti#)>Z?BkoH@kK!$pBBUc1xwd@#TDiV`m4rV zNX^EPyT3_iRsbsS&?}sj&Y+6>Qt%>ekIOa1>;bR4W~7Os32CGx@&XIpz!BV({Lf8z zYZ&FUA!5p+vUof>+?M2IV^+&CdIQ6wWat|ySd|2%tYiDDQcySEkuuv=dL3Zf5DO#Y zLaoFA$v08!0n0R1!ZG-yV4+bV+kVSQ9W;65Ow*86rD3oFj9499O7RfghxjC(IYiu@3{cUkf^Yxf%mU2iE9 zu8!?Bm8%d>cMM|`?ako$Iqo3|FDb_GHvM`Ji?hV+k3yYS9$!fv)xx0`gXXd4@AdfB zl?HE_kKM|g?W+-7n=Z}tkFy%@x6usxR(=LP%eZ`!X5LD<*c!?mC+U4+6b;f(@c-*! zT|vj3`DFR;XYfto7x;>U^PVSYzT-1(^YN{~uIF56eELGvHy22oK!w(6tN>=;`y*D! zqyE|>^j9J~+eR}=-3cv@U=H_s{eGG@umMDKSFJ}CX;FGJNSyYvydO@NTczay=#=Tb zDL|dfMD!6>9D?<+A6KEWEzz~9{=9H3O(l=8aFqL+yR5Kv?@(gzoq0HPP3(B)-!tgO z3yW<(--AgDI(T>@?C657E4-tu48|brK}vkU+Djw~hVK^skNtvtIHHdPD;X1Lx63_S z{#}vE&_b}q8X1VzxBC?DLqKO)PDmzPBov}-8lK^(EEc!d&B-CTm>>dK@Pr1Nx4Oem zg~Unp+w6e#RFf$gP2EE9zz`k8l9=6l_cVCZXUVF;&_qwZ>=IWblE|7veyXcVvKj2;8x#vj;x>S(KHtQ3rTp zA~?8&@Brk2Fzz3cQD68$$>e_Bd}ja2zEWvR{Wl1463)D6*nmmiU<|8 zsAWVUDX>Yfd)IvJLaoqZJ9J>=9^b=yKGA#NTIQ)$X|Lic={nK&Gg$92yTwxlx^HrH znPmU{JIfw9jdK5)@}~h(;o&**ogzOmne0EMlz%Pdzlq>*qtZLdY58;FkqPKvZ$I>9 zyLZy@yHAs`x7ra!2H`Uzc;ZaqIr@9!E3RT1Vj+|LGKN*_r(cU=5OD&vcDo!|O(p19 zs6TWSBt8`fPuB6jmo6WYCLT|9cDj*hO=pIt`>TbQ-M0P*4eFBte3-~MfiSYe+*ZXQ zCGKN=5lhBTG1KpDJI>zkNrSE9(<{p2xU*R9WnKvq-ZnokoItT-&XSfAY7^XcUTGz- zCbqAE!P~Rw5?K;`vmRbZi4Ls?%-JNSH+NAS4J$Gg3P*8G9m;)WMhcKFs)@7;){@`u zPrv(&lfy&-4vGvFEhSh;SlUn_v;nKO58L0UCFW^LT?eTw&}j?=+zP6YfVP%!Kh5y9 z3xM`tSPHCpXw`^AJfYVY^gzWIUf{@Rr%>ltPFAIOfQFGsX0u1ICQ26` z7DXIos!}^*4#WmHqGbwtc|<4SN7kY$m@DlU@tIw53uY)5EyOwoubt-!g3P50cKZnK7$X6jQye#Po~R znCa+`AmrK|2wu(??t1NfqYL9E(%VIwe;kh(L5?{#&EpWpqS+Tk!n<@9ztbz)L2k(> zA2)*e-#PY`@1XxD-(ik3IumCYVDlTaUX|ZZ!pZUoZ5^r0$#eN#zy=MbSokJRX~Kz1ELQ98Vmrhupd~l_tYLXSahY z$P4plxLvxpqxu(0XFgNy0`wlI;d26>^Yh!2YH@?d=^FF6J8;jt8ED)CRQ%Xkv-Dke zkl*OQ!vN4okLS7iH?vy0SPxinhDE`O#u=uUE+$WiYm*EeX%><=llxRb z>qWvZC5^q&#C#o^d+62OimYzX)34S_=OSsr>P)z64G%M>MPGC<$Z2jjwMY8Bp9X)WMMHDpjn!3>qkpR(z?3&Yq-8<1^Gb%s2lJd@oEgK{JV z>*B2pkx&(MJHmm789R_C(r`lVsYg!ycBa^Hw*Etrm>2{o7{xb@NJ4VSg6E3B4&Gct zwTjDan$P{b5zv2{%l$<8a#&xR?5>ikCsQuLAl~n$U_L-*d!B~96p%!Q$DU|yVZET( zwUrStEo@usdR3Ye_!SoS1a-ZepUoh;>gm07=o3Lr#oxfE+-5eJ(RWV1+kIxNp*G9N z9pycipLY$H5gz5I&AAVp7Z76Hym&o6GkD)Me0|%*oEsUt|86WX{Gs{PtC?wnFTxZE z;k);BHgjH2YMT|(_?Zn@}kg zAeg=`9!|uPT&Jds(tWQyKE*^qjRcLd_a(cw^#mIiHqACb-cp1A!uTo>IfBUId!oDt zf}FadgGXE>yDC2iVISgBaC*14R}T&KoUOb#n424?;t@w$!?c46lM0zGo=LBd9r)QT z0Bop{+FN;$8_*Q9NrOcRR)E3)C4ZMNPL!3te0&||?%_Gb&ggIOf~j783$cG)5afF? za7jTpU7SUNX9-krUdvC>X-r2u`+tZ#rax6CsYxRCR)Q87Uz1B zDE}pi5MThPC&$r~jQ54djtd|agLlSgyDUSBq##|!tR~IsylfIN)Zb4W$(xZpPWRFR zEhrgr6v-{)kYAWljeTvP{{Ez)!KfCvh!B{p&+EOQ?|WD1=Y3=o_YtbcrRzB;z5S}M z>qDAr3(qg}jMt1B8d8~)RXinA_kdxcEu z+txz0fOeLGVRxB$_O0hTtOWP&qqVZQjKNQo&9eHL3L7OHDw$4Yd9M(q7~gJ{;yZv$A9LTt3Yr*SRbf>6I}E`q)874 zOUEmg+vZ>W^`F}vRf1VD?9er^oOd3mor~ABH{^1z8{=Wd!m^0eOOVG>W-kk)CE2>< zE5|LVOrRp*P=+~CutFqWqsEb|Bpk`O>#oN6`1sOm1o3#~rg*N9)(|x@Xp%15 zk{gWbcWZuM6;_KZWH73W9QYtdLX``kM^6O%ngG%I_EQbt##Kpi$GVi?w zEx>cVhOLoGZIID^BLk2wXjg!$zo&Bb8xX?L_<$nu3+ipL%E1$qcf-%nR|yRg@9~L+ z5FiC=G_GPUgJ0=Fa$=4Zb44BMaoGyBVM1zcVo-2LGo-FJcjKVc2tg&xbjbS!sY&H9 zp@i`uG;(G#m~!^uhFUi$(4bb_(Fy-SXv4MWeffD3W?GwS3Hu@`hpb*;Rs*7`1l)4k zVcPWCXs!33)8}D<`<%r>g{%@1fu}^#!aYXXc>f0LICRGz+*SR`DVd-9q9IdOJqnhF z&ttm$IcIncfb2W-OPN44SoW-#Bs(DEFl53MD@5PG& zBE}#TA>1J3c{)jbAv9>TDn0&(Ocfd&MB_0Vk$%9TE!+okZ>Kj-gW=~lm7F9;v)&l*=QCef#6vxxhIOG`OI={&UcisR(ziM%=-4U0&8gJx}yDL4VY1M3G05- z!4v)8MOEg%vj5;g*zI3f921}*OZMdF{M*P~&#$gq!u9tT_w@w?cVq*@p|ehXhXkp@ zeP<8=B(|hA2s4?^h7xo%7Z5A6`gUpq6usng@Xa80RveVr+rr zG+>_^8h+TQUny3*zyt-a3k}h&vkEKx@||V<@YPc{O_LPXKSFBbUf586N7u>_qF-un zmk~h^I#!lZ#4T>P+U2w{m5}KVknrArgBEZcdv5B;feI{@zx;z`NVQIT0Jf^knQzgH zw@W(PglCS%u5z*ldCOgatRxRBNDSS>o`CNH0eMJUB$k)si9+I`lNlWYjUHkhO^q;S z#S2()#yexO4pR4lHhtkocz9qLD*Sfkx^K0P@V(B>=r=6}Gxd%dYz}OZXt{O>xE49~ zIWi#^M6SZO5UNIIBGH1jO4Jzjj%MfH=wCZA^1vt25mrFxjoI7-!eq2vYvucE?HHKNLV7wI6BYkx^ntqQp<*u5Yqs{C5& zzCUX!O^OaX%HhzASt_W0Dfp|;$bFsmx-1%L=)m+lby)PVoVPMQ# z#N0*azeTS9lDcaAzFZ{xFGRm*f(!$Q!XOeyZ66Q-n|{eOvG4s8IYGcrIRS_HmMt@O zUYkjCNM%rDA#eDZ>>zxSFw8vRib$6Nvqmx&ys=?Bt3s3MEc>-*vl=vu-zjhavNoA- zAWg1YIdFA0PVo~py$Q8lIk0uF{gj|{08GV{4b92MG)nboxGwxO z?Ytl+`E4;V>u62&RTfOU{R^t9dfy3W9Y=*-JH9kxuvSLqQG-4q5Lt#_dlfC=p!Sgm zidx0qdLg^iH<4l9T?`Vw4_LuvCHtV@VAhDW~sUpZW5U zr)~zdgirPUOg!8;o3VkxO_lx^1OvC6nvyG~jmDGrwB;6Rh+;^6s$9sS3#m>DB!bmrmNhdD z#RF>L2!p7nh9|1rrxh6Gs=={3y2s3J$f9rL=fJ@w|CCqA_HdZpN zsFh$)QF|W0XJix`cO69_qd1YHiIa!cJPsvBRKRm5T1DLL{l1RW^(MYN`MjI>b-Bf5 zvyWCtZL;R}JQkVV;kc@5kV9r`2-eo4t0^EdOD_YVrGtZZeJ7;dl9W zH51=^@yolY#!L5Tej#3~s;qPcnGAXqB4c)@TIi3^G zKQC>H8#{$?^vg2(v+3jh-LF|&j z#N>%xU4rAont^un*{OY_lOTW<ig>xbv%85|IWJwKYmr-e(m!P!G58d=h_};}q~|-N4F> zTB+NCl_ zBT^a%F4T;w53dJriC2dRMkz9 zlS1w1G;Awuq(7^EC)^r!+=gbmjm!OD=V3F(0iAQkMQt)l!<2SASkdyj9aI5!HXKdI z8%xz&yhKeCZ|=C)?|Qn#va&YBZm!JoQ(KwEu?xG>JUDM*H zW2Nht&0sJMq0oC2KiP874b!5eQR^c3j71-8HRLr9?@FuGxMgT0p;3tM7CT^B$fHK2 z*F2GBfem_oPKhFJhr!I*x`Au{e{sWAgTX}lzeD)NXeFInjGQ<_ECxgNgVdj4-lS!B zRgInFcq_+^oj!Mu?C~S&F9-zZb`cJBi9M6(a+K_wMz59$p$q0Hy2G&+D3>Sg0gtZO zV;tA-kJyH6_|~?N~gBa zvfFV-EP?)NA@LA(hQ=RXqzYjr8#PrU`hI;-16muX3^pi^SqyJwpi>`R4OA|ZPHZg- zH#Bkpd{n8#_BIo(P@^M=GEbUZAKDkxI4(@9mD9UA{CgUz)_$9ihf%{fg$$d z{2oH!Gb?DRp-eJ~oPC{y_im@k+&p!PO0GmPz4)C z5N^s3rPS)pezmlk?zT280n?bMFKsri(LAI;9xh&1>-1e3 z+{$jS4$JO6V#?9mwdge4_XCM4=R+ymm?qHIyAEoPBc@q`5ur%Vp>q&>6eQ3e3&-L+ zE8F^PkYMS-)hMcW(rq>>Wg-W6`H6ZLJ|(i|U!q5ma{UJXfG>6G*rFIlgJ|d>p&RM> zBa@)CA~&zN}g)suFSNVR^8IanGxsF4S*PENU(_dO$9gUw%n zS?`|_dhnUNwjL-Uvkq0-KgHwTXRNi#lNn}8_6IR}1uV``c-F`uP6maZDJT>|GjpPm z6MO*u1bS4IpYdw3a09$bfLZo|A#FCZ%Eh8;4%9Mf>Qc8`*>{pZ5a7^1+CzB8cFEjs zBNW~o{^q{E^l-eg2i=?K8e2+Ox?fkK8Tmw)Is^@oX@Aqyc1;zVC^A5|$~W<(40^<5 z8Vj42j^6K+B3aH7WnD!ZL?NHK0J8A7>@%)+*$jn3M*V?p2vI9uO%VxHxO z;_bZ7ibJz?nUe`YiImNtC3o!sBZ>rS{z!z-HKfSDoEFB#u?I%sh4A%|!*^@97S8mc zjA)Nv+w(|gc?^Wudj|V-kb0f2GW093rgJ{u{5-tQ|D-E8biJeCt#?eLibxtj$ESlr z53OO)5xoCOk@xQBzQ^$AtP0yRyP?#nQ+ZFr{jG-QqQAoo8Xov_MGW$k;mSPE2Rf?H zrN5#TwySflp}uMrTr^Twl(EMB;<=fTkybxF4a4p3*69Kd1;&#(PF)R|UQwnB7mZ=o zvhGl`I7FdXdKSh=kBgpM2N{Q&z5<*>Eh`H0m0`*?UG=MJ%4Wf>m;N!*QfiMoN%%g2 zmO)te8-oC|+4Eg^N(a}O*r*U63v{AOht;avB&?pUiZRBKP0BM|LLjNAs5UAdB?)`c z3UVJxo8%19QE8U1Gj+0ZYmrORPrBwgU~sm&lLU>>RdbPgf!$fe8Wkz6{MvGi%<<)$ zO76?}VCl!6hK7Pb<5}nviy!%3k*ibubm#6X_G+BCxL@HCGbO)s1C!6mGzkr>%LELj zeYo4o2!UAGhFG>83Mn%tLGkpVlMdz3MekO%o8e<}OdNu;2?YWFKcyY7)MaW=-Ay6}@b6|M8N~!<(H**7YLU2VC6T zO+{3{#^QVb_WJR9?bV3Uas^6NWEbS0Tn%Xp?tBM+5MYe|O$);&D6NfM3^R6A$dRL- zQ=e0Bm>}eW8qXg&<aRl0 zJW)~dnQ1wUA$*vYDhbk23H!<5N_+ZhDG384&nVTU2 zBoI|8L^QY{;#@-q6sl4Apynx-02wDGtCm%Zs|aGL(s@D)G794$6Aif2^cAWo(@=P! zff?#VB}zNG`yvJr`>JKdS?Fc9$Ia>x-@#uiPRZmk|01hl8RYmq>|bkpek4hpZYkKF zQYMpOV#RI+-&C82Mt@X@`CKBEb!42#T(F(f5dcjsgP;hDMVM8Kc*6Av0~E9JEyI(EtDLZI$w0JqjRp_<5)W#(Fs@| z_yR@fCH~`{$sY4hqTDK!)rDMh2dc4mXJN|g$lmYZ9BTW8KXc13J~`{BG1<*fYReu> zF9GuW;yGxY=QM*V%RuI5IjKDgepcrO@OTQP#YoJ-9V8JQrPmHLwNMj^ZyCLQC~i-^P=t%?cCIRJN!B7zXFbs1 zEf7!%e5CPst760o>gVwc;B2UtPB7wD<>-s^wKH~fnPdI-7HSnN5nKM_3?=T1!xP(| z5@084BVCkYnJWIrocmPHG9ss!1+);Kwj9<~@%Xwwh#4f$P0CP01bgpA1|U}zA`bhd z?-oBQ1gj#jizF>p|CmY&wSXiD>B0|A=WUgo*)RU`k~<520t}ZVTI~rV(=Uu7$j^Z_ z%K#@28<45BDu<(hYZHlPlu}g)b)2-|OvmpfympDr`9|KV!mUo1cD(cYHvYc&qkjUT@Q-n3oD1y6s(`%O zW#Tpmd9|!et&+r!S_kROc$S;sA>)~O%xK4L^!_pJ%%`P{3YQ<;pCw0@$~SBXHgLjf zhW((2&|NPHjbis*&bnM-u~O*q7}e)@AEd1#&47B@kDC5Dxx2+eReSY3wU}6|n{Nxx zLCGYAL*telKt1Gr16IrF{T~zS%QhQm!WM0OBJwq{ECcE{AG^Iib$sv1c&>aJ52;FR zF^a`4vN?8lvVu>d7zHqh&AO_w9%%gGh9W~VMV1+vS}spj7azHoxGp#W+ zjO?0~)fb;Dy*Kf)mmWN|xF^TPi0HfSmOowZFXp$SU2*qMJvL2vC104hq38_JRw4WI z-04ZBAjOaO)KOMRn9tR)&8hbadgV6YQ#p9a^dEwHW2vN8&`>%6;gR|Ym~DqIt(c4p3qn)j$oTH&$|9Z zY?X;r#j3->dBaow`b!3fK^fo2&K@&LwrvWM_;ZIhHMko8Yyu2<+SEof(`=wPn;Ixl zCX-8pf#@dKd*}*!#AC8+__vO%D%07FBlIVra(>Nb-4ZQpE&}8c^SL2tP3>#}`?Q?b zrykB9XC|Lxu|!Zy26%AxSU7QgLO&MNiOg-!OaVGRTHb|6)}2je2{>K3+$6#x$KGjL zI|eJMbW9}@VYb&B(U+V2#=q+_2}W{J140jD8#>_vLO{L%23fkx?|6dP?*r^8d6;4E}TWnq*DP|B_m_OCc!jeV)=D zyY~HFdI$PAG|5z&U{~2t{WIV#g*6MnR$PAd3L$C@eH$3k)aQR7@VYVuTZHTrT@ILQ z%_#z*Z!e8K6Zu-0*+WC0`vzD-;qnQKV7Yu@I`|%UzEc(LA=fBJ{8IjEA&Fcqk&6a| zwmBFzkLnnYBHf{3mSYF^@(q;X&J^o{FWiNnJCu6 zPa78qcm1_(I=4ff&u3Lm9N82h7mZyZ{JEBA*f1teszI6ZIDFpMB!2nlwg3rc1*!N+ zwF9F{r2>hHS=5rV4dusus45l>3SJedkZLZ!DV*8SYA;cNE=3L0I^y3rOwX*CZ>$*Q z>~kAT?oiEQe_11(#kBZQ(*vtpMq-sIFX?p5%#?1FY7Kzs$QrNE+H393bBsh^MqwuW z=L@FPSigH%H9Zv>e3(dGrf)lhK|$Fg@=9#4uP9PGM;&Xv?Pmu89nMeDvsLqN)*|Ky zwjAjS_P_8*rsVt7zNg?`QNKYZ)4pNWNjJ|DZ$TP(QL&6f8PhctCWy4L6#dPhiZ6UI zM8?+UOK2;*o!2$fZ6zPn2-pwsp1a~_{_=prK3tr-^0?WrswXUjGtXCNG`4S3(Rp%sNk#x|9>nuH(ff0XTUJOhb@DTNu-08ZS%^MgM#(!7hiC?tG3LK^V%KYW)+`@)u`=Y7UlMI#bl1I=o_U z#B>gpRGZj|epQK`m>rsUZ9o}zCqpm=UBh3#8%(+{bMLu21)}5WQi4g}^Jsd@clYKv z_fji(vbi~ajy+8c}juv1<%+H0EX@-Gs3N|Z=H!D$EmJRvWcFWoj3{{OW>+aIELb@`uny_<2oN5VO z3aO`1dSWHmNmKESdCczkt`$-} zw~M!w*lg0JA>LYZ4(QG@^aM{8gRmLJv1Q82qR*`Mc4%sw+po@Np$I@*Py)2Vv#Svr z)C%o5>`ugOy_d}VmXpmK5We~5-T^SpyuFZ=bm?TV2@6qKmF!<5{CFmH~192GVdiBdyg>BaGJn;R^BIC&0&Kd;x^n~Y?NRfE? zcmk&d{6!4)Az2nfF@_?VS`R+b9qmL%!92?;&j)lALQ>&Kr;eW%edeVN4}0kad|u9z zN6)j??2E%1nD3At+rM}iVg7Wp`88eMuRfNmlm{dsIA}v zG3DV@NuqY8L%G%&XkzgifV?e0GnqgvZ(b>BC&oWnumSeP0{okvP%q6ep|6|<2r((G zOOpCm>gf0_VmGwwG&R|dz+vr>uCrJIHaGYVyH~-_jXc1XU=HjtrB%6vmKjL|`hU6r zzSFz9v~69UA=Kis1?&68TvnzE8*y*O=#62Hy!oFCXJR8SIzMx)T`oCj^7jnVrpVON z`XF2&<`+t&=8oyud$dembxc2OI)_bect+Vp%VLu#Zur_O*iunL)wnAT55f>l9lIpOzcO%IG#ue!B+epdXf%w$ zD$O2|ifiR1l}K`w+Ck6i77+W&m?==V-_hlTSU5zT%bEsAw=A67N?3myGs3TW@*vgc zM-wGP3bN^vN22}UWug&hQfgfMVR3oKA@Jd)k@NKSI-UE;9sjXrAh{0Pm+!YE233NG#p1s6BoSuKTz3z_C=~p$9o$;~wDk4|$O51lf05bYk&EW|*q7%86_E4Rkt_ z-k-tWulAJ9bTKrB)V`r#=b?}OkWcp=LWEz7E${Ss6`j@RZLzOBS39cQP+y>W0pXb| zuIbhmxe`08L^DmE-5*?{maDQ*PLQSg&vV=VvAN#p=@8c+rgHdQ21smK>qs=FLbd`B z7{>9=S@cUCcJ0osMxxQi&1C@btYu~pVP7yre4UX|4CV$H+FL*YGX6Vpf#>wLh%z5D zga@iGYP;dA>$HD?N^Aoc(fi_16s*rMfJjfjWw`A1C>v&-OYCe8V?!yviViR64HDe8 zuU?7II^H>6n&{e2kysg*t}I7oK(f-mN?cIo92r|gBxHA5{(8%SW8+7z+?1@Ana^OX zz+;sj??(fJUi;0nTL*)h1YWN@l%QX?TBT3=e(ntGx5QD(oGFCMCWhCm=1Zt8)5afA zw(C#W%=^YKu4@vyFGR-z!{1Y4kI;Mii6Fcac*?5KcbYmxmq9Tz#OyAlI(DD}VR zu|8awt03L?_3NOPn+aDd&{moq=M-Bz%Z^IMx}G9=8Q}CfuFw_IgWAZL^}-;3vB*J4 z5vf6F4uPoCnxT2QB2Eh+-#A0|es8LX$_t8f!ju5dkfx7ey4AFe1})=_!%zEuwhe{n z#cPXx5g8f7;c958tGBL)*>FZ;Nc;T*tC!e-`f}~(vQX&>NBRCPI)7s=s7`cJCcc;E zyzVV4_?(joG~UgbEN2u*6#o6}7)TuLgpTE`w*tRt9wEfFFRwT$sqI2>2ZXQ76qC3N68bkl|v%t)3*!5CS^m4Zbdr%aKTvv~xAx)Vp@ ziR`}Tb(aS`Hxr|%6<=N_tP{2b9MYCwK_4kIkAgq^`N#0zTuF<@Mbo4uY^LQCq+XEV z*8lymHViml`Uufc8El*h`%?R~M;KBuO@#zDzaY7$XR4fQ*7pP~|`PGf}D((!Kc;jIhxwY7&+` zV>HP5Ye|-_+t}k6pJ)KyG=gp8{SKrRIV3*Y7J)ne%dH-`ZZagJ`MSemGajFdV7}+J zX?)&?r?fbR94;|@ump0*Nt2|iyN}`afri!oOy%c@Y5A*8Hh%Y$NubGeH9I?(ec^Ab z%uMOE34oBU6B;L+(F}N(75E(^uIy>UXAyD^6AIT3mP>SinM1X9fsd99UDQx7#{|q- zycSHC@p?obD}+vR=t5be`l!D$lB$|RN& zLuVRY#6l3~ffRR`gIa-Qu{v%V`dl|Vu~uE$x_^Ubta5yRt$&WjMSnsqeXh@+p3c8} zaJe7tIa8i`4DsKBMQ3#Zt!!puv=wpk&W1WM#o}dtRfYMo{cf`67vkYD1SU9ihHyT$ z>|bdq`m*m|+0sLs>mC%R@EOW4LCGXYN`u5+3eLHZbI271FKhW?-jUW9=?#rM9du+4 za*48s3fi8yOVP=3!{}E=*|()KKV($7PZlfImU}PaM3G=9UGV8J*5!I?J^z9 zzx42{yE0r}yDqDYwM*$yq@4w71|V7@rn$ZWMK_MVanE;=b72<$dXE1C0{j;YaQMI=CWAx6QZQ$E{`}69|a4RcLj3{gAzU7Siu^>j_j9+5eZ(+PY>7+vwAIJ6ZeeuqYP0CI(fj*wQMI_M6t@N_>8I$K>DD3h)_o+m+1^Gp**1JdkaG6OwIi?{*s38Ke1`Ij4q_8SS3~j?PrW}5h|9(%7#M_z zUn^TNZLkL$7**s+PUy2oPT|{PO*~R|XJpKV>WxKo0Wp+vIGj$Xw45Dx?vmj^3NHyG2w*zAC1@pFs6Alu2uY*)_GpQI854Q2bRvbg) z&1RnIM^Y1}oZ9u#aajK7Oxz#B2Pt%%E84Bh`$J}}^r-Q_gtWXk0!hEN$>M#l74Jud#D?t3s<<5CnpOdaZ zq>nhow^6PHJU|`*_E-dtue!8d2PSxzfz3>+0nvsIt$52J{9XP#fG*fk6aAbR%y6oR z7^}5(iNv2IUB}p&1?3NDCnx8*U@x&0)<){9C_G0pdN>t=KhMv4D>zHK_=65~z3IEW zV5c*XImy5+IaDxX=MK5e=eo(R!!CB8N4r!4qB=2YRSoSTR<#nWJy<}7^nENsKsOL0 z>=HyWetFY7h`{#+;&rJow~@@?qyL&-kN1Aiy!cO%`;NpT3RUAU6DDMfx8ZOf$NH8I z5pXq|V{ODS=ihZvP2 zBwo38Fjn^PPUn!sfoj~AVWj}B%+~+o>Yd-~jJs#yogM91J7~X3AnjHz)34S{srJ&p(mqv^nNTXX8bvZ9g2t0qp0Rvx{1O1&Z@z9^23|K6g`aH?E{7V|~ zofz%r@89lSk#BzoeNrc2m&rC$q%@;Z71PavG^rh&ZThbJ<%Q#D!csr+)h zfz5{j4y64wxScL&pDH@{KSMFkfsPRgM5@G7%*v;NQG{M;N*;d)!S$G(>z^P;Rk?x_eY+@L=7@F z5LZ;52vQEIrZ83XwnHgUIrYs1Ngr2NXrV!+d^qgR*5@1abwNDR2g79_6$5_6!Yh)@ z`5c8WNxj{&HDfN#rjd-K8akzBb=oG13{`F?qaQs0%3sLpz?!7;k9g>9Y-v&JZ2PWU zF26!rc7pz{%=x2fS@^`vx3&I^=7Pc#yF#NsI%V`6I}QJd^%Z7gS9dUN^N$m4l%Lr> zk%y68!oL=xrZSBvW6k#DjB>XBxf!Y4VHlR0e+ zA^bcVrjYOM>eOas8lJHL;g5MLEFFM!H$bC4{B;>8r<#xJ0Q9LShFIQmI& z@yBP9N&C(5(!O6Ju?LzEitpc4?P+wQL2_%^dmYlCBt85;csA(Gt>MAHWl)zTkj*@G zql(~yHm=X>c);_tVX_1znbMiYdn;tp*+k_z2A@}E>*W|bRZZ4aTlbP8Q3Olr$>C;( zpp%d4)yHH}{woF6w$Aurk~#K=5ql1S?e;|~mh>e0>FMJT%Rrfk)aIr4*_?uBY52nO zJ4_w;QGy1V0e?^?vDnu*EI$#YmkLDjhd}8gGdN3@zX})X0l)={8qvZlWB51~Z*R^+ zwI;#>sNkH4CN)p=Td7a_2*}7WQK(ryyAnOS#R&%?K~ic8!K%a;DiJR{?iI$Z=SteF z&`Cg=4&k))GDEh`rmWMh%=r*32;tWhlH^V$`yI}^KWN&<`zzHft!sQdCz{6!at(9` z#@Sy|77^vuR-Jb4k=a6u`}8ZCPO{7B@3vpySP68@?jbbor^YMUgw4y}UpjHq69m2t zG5SQk4(PzmwkHWO#M=jM1pVzALS22sA=v1c{8&->Fo<#>CxxfB?)`?`RSjsoKc z6J9;QW1oU=2Hj^dhKVEAUYJiiD4BR$pAYYuvPKYFfl)w1Wl!tIlV#jlbI5e+t!GW#_Yu0!9QZP-;kjLxpu_gwAJYOE0fqhN4`)I_58E2@h#} zt<vmk#4@D9aEaB=`Jgd5 zo@~@j`PgksXI^1=G6ZM8@G2%?o5Hm|aNeuP#z>T>v=~*wwSgTVHW;6;oE$Ch;H~)P zj245Z>hs@r!{fF8jBx8xEKNdMo1IOxKuOfkRfyKgzg&# z8_%EgIGJkQ>^~*%oTSFv&w1OT_R2r%8uwX@2xIU-;fe3U@dGGwQ-Z}h`w2C1gRDnG zx5U@hy}m7FI}GI(7_>GbDVRVw?2)IMY%5K1YdAnQQJt{dM}oE?lluwWBE-%Fw1f7< zt;uTXAfJxB;SkumXcsXD_-LqU3*8)f%-TXDc5aoC1H4{_pdZkG$nmU!%0=Sz>s){g zAcU4tkv#R&6NxJ{MURm0fLP0WP3y|~D>sI)+f=wr7;n&So;VJqKV09SMwf_xtS_`J zujQ-5(h=M)`lT3Hv(Vh@>t^`04YH027<|MkLr#FW`7Vjdne8hH^aAoCV4Fl_)FQe!xk-_zq0Mi>_EM1FQCvXQoor^((CcR;nN$ly zR%~&<$W7^>J=3V48hqNGQb}^MLu)GHc7R2wM#S4>k>#X#~T6XJK*w0=Rnp7Qf)P3hp>(Cli1+5d3>I=~NwAQ0rixh-02r$Mwx+ zF;#FPR%r$@X=i0}&Sh|BNTmQKl2bkJE?Cq4PyO3ryOiN3W|6BG-*RwO$j#%Wam_oE zva`U1e9UZ;H4Yt8sTL2p(~ERsssy(Y(g^~^zu_inV@Qqdr-b}HIsa}-~hQ7s|xRu;dR>6C`ckAtgvO(QCutV%MIheSQE3C#svQuI*$wxnku}Aqc4I+_&<@P zk1EpJ|5Rz|om1c~lQ3N9>*QzuIjJ%qIW3`D6!O8g&(JfV#6zs^&N+Rr ztItS`EOE12WS>G6W2$hpQ!pVUF5dwQ&QySGgo{XZZDy*|u>plZ0zLaus2gCrk7gD3 zNbsKh`VD#K_g~93y3t&1jFu=zHdEc7ZIFjNhaZ?RaUQFoFYMdZ%c6uE^(Gz>Woc~Q@a->K!6+62YK^wXHX zex@By?IP}4{2VP6+nQ4Vv}US^futCsn~d|voegZDB$LX5@*z#!XFnheoEw5|y^IIe zb^$V%T-uKmK-%D9{-g`a^mo*qjw>3GUQZ9t!Z-iNr=~(Ig3obdIlqIRuf_`GOleL1KshlBYdddy$V1VYXBz`N+Tg8@%wZ+Dyf%Qd~_WB|&a znLT~*rUp!Mw^+13s~}$ED|#Tmr1HYWydKr*HMTl|qJuD8hD?~qhTv17-bk;d^!WT^|26ER)FRrJ~X5ix_wLhVeD^_=@WmF|UQBe}u6 zCC6FNAcdL<1PoH*oe0~3-x`0?@zK;@mQGkEC06GxnCLI+fyEZ7X=yFTKeCK2KDl&v zy2J%lD)aLS^`7elH8sFL=4OwVojepSA!&AS8JeKFgv>FL_o-H#F&KtD{^4gAo&29z z%YVKG{QpUE+FDkLDH-nISW#m=>kQJC1ELYCjR*jVa>c5(Cy%>@11tge3C|h_Wz%@S@;}l z)oL7tDOl3Qs#?h9WO!)ON=XU46d(gEw+sdZ2dT=g0l$uk#G2Wd%gu3D$%Us>q8C){ ziHnM#wdsUJ@Q#rM7fA(Joq)fEZ9(KzVo_+hu5QSF;aPe;qtXW1h?%8WgnV^ypAR1{ z6W`$2!v>Y$7f0_UAEn62;;0q@c$1+DVo0Z5o229N`Qq{`f6V7FiaJ!ys{zcHx2dey z`Bh`gGBy7k1?Td=3}Kb!y)5!i{=BfpBzAn0xE4rgu#P^zB34IwmZ26vH2(Z=lDsmG zp7b51O-s0>K@V;gz=eAnGtSLXN*sJEr=glOBZ~-Tk`XU_oZ0r2>~o13 ze6pG)?#6G+oU&-v-whvE3&$IM^H0>xHR)w(?s7b$sCSN|H8-siOBDQ;7#V@P;*qz} zos68n(W13aG4Hltl7sVr4I;X$y8VF8wQiOJt`M zv}b1VR8~WIwjZYx=lVMA~KhAi1NUsoNrC)-?^E(A)C0!JipMic3G^;k0k; z_56G1?djl>*XZ8eNsG*kZhW%78TcYC97OXM-^01YL{8kG`kGJw2nlM0Zl61GaSpuu z&9sCs4riH)V3xX?9A6b3i4$Vt?i})b$b5Sg=Yzv07#H7Di`*UYw{>iAQ(9g26xlU2p$FS58O#tpxo{0jP`2vQ=Uf3rj|O%W@gak*r9 zbv~?JU815Ms=WY@+VVCG++iBYoxr#r_Xd140^*Fkk-mpnadoS0iHrRCj@5wO!e@%v77oxKt zlOZnBplK9u1w}7Tegxk6CqtHZEOohhV$~vDq#D|? zW2Eu&D!2zlc@RP6Mw#A_u?d3fsy61>vMG&Ci(tF1;Ugxtl&Dox5YM>3E`nkQuKPG; zzCFTFFT0!qfBQ_6#GPE5R1>K96BZ_B5>)%NczZz`DdU}fwdgDHHI!tT3dNCiz0sxo z7FY9ir`Go2YOhimyr-YnU9VV0h-c55$0@&ABNlHqEr)#;_l$%z0xW-S#Nt#({FSI` zpkQYZQk0&04hYhI>AX`wPWDs@_lZ}6=#Yab)^b!a0}Ff=R&CjVA&Hiof-RSfMwtdFUbl6seokr;cnpPiBKt%q zo%&6Lm5dux8X+r-nJxj~ubeYp_#5d;sp5RVlu_lV6nAn+~6cantBlp}I`cMMPWuPY+xnnehZ-ovf z+{BJjstxWw^Rt(g;I$`bkzrx;Bg<@E0(YY`v=w%gNjO0?PtF`B*IHDFI zkNSOUr82r4zPdLWJ#vfzNMLAZ*XQGhrNFp-fBJhr0p4MaA@4?0%2<_uge{K5-96xO3r3)v1Z8)+jk65*3Wqw`9tqM6L0%rM4Mhhf3l!#+qI z7S|1;q(yFUVO+`{s;00kD(40bK~1H0h-}K79xO#LM*C$CQb{^`=C9 zSiMs0Nt>&~-&3@epzQOO>e*Q?Se6yZtOyx(G@uQANr%3UH9Bq(GHp|J)M~d3f90rc z&SIhsv=g;(6t7lY+zLDZwD>zeUwV63&7R6Gmyb(0&R&_=1l|t$GW3cvNJzA+%B@y4 zTs`+EBw+LOi#YHqvQ3(jnnS&Zl+FSw&L&Qs_vX8$98uCQ>E@&sD1$IG%zcVUXVpPC zcad)o8P>ZJ4v|Bcbs7TTKeQFxm5U!164TgbNSz-3Od?e!uJTx8E^3kC;5vloa8Sio zJ-J*b*{nILp~xy3Jw63{1}>Q4Tcxh;KXd-u7u+v_X9s`Z`u<@BcID^PT*M=Pb? zcX%sv^!w`@u)p_gpu{qTVJmEx6A=?aPmvehO@eQ~$0k;IjkIC9B%9h-@MRV`|BW&xdHWSjjE^`Iqxn-o%0P5yAq#`51&x6m@)GDJ z3;W@-kB{#7)!$Sq`*CvR2C#eduKG5(B;CC7QD8V5NtZ`3ydji9))#e&;(ef)sN+@9 z_k^9~wIn^y|0?|}?w+-)?oyy6LGyA?v5i0D|9=AZKN;SS>Kr01$UEErxPF?Ag9goV zBK^sUVJIXh9s*aO0OX8(fC9LNK$+p@^Bds)ir$<%8D&sl7gef{*xRLVtH((a|4xf- ztSo?=`&@cixWObrknt}Z&_I@`mz|0?@D4eXPa1_S5jKaMQOJMkWXx3ZNOKB%^fPcs zkR=>Zd@^=_nX6IInwwa5Ctj2bwV~o5?&e7n22$uz;S3alk^lGS8g=(pckyUa&dk8u zy4^h8dBsZ9qDfeFUKS-4j+N5~CSfM$C<|y+`5AWmM(##RCz#1dRu-y4JLj<=Qs~0* z6%X$h%AODli~lcvkJYPtyZb-)i!DSe2zyyA_7YEQDNR7>YH_DoZ%~wkLA{)Nffs@M zC^9T>s!dU48yFq>RXA_L;ik6;Pz+?-8)cZ0P^gbj2s%<`fQ1S$&j7$-dezHsPO~{P zjgQ_R&yDnoI#GT4W;LJf=_B8hGvXX$%-L~xCVgV0%KSr~54w09k5YLDvMR0o)l4}; z`gN-u{OzCuA1#Zhdaj6T3|n?dRov|ZqR!;DKPTp&T7z&fI6GEB@(zjSLWjtqcCyvt`c|5H+oz?GV2MvukNpV?+w*{QMmOPv^9>}xSm?s zxZKp;c-;3CdQi*Us^)ikm0j)^jn%@Dea3J1i!4q=in6Hc9#LgaS#-Q0io)XI2$PGR z!?}-g9#XjoA^)Io&-g;CYTs+%sOd@ofm zHRVzKTGpM`7lBwxK(jL0N>Mp>13?-Df)_MY(}*d>Ra-t*)5frO(VV3jsD5aM5h599 zVr*zs+;~LT`7&)s?zvlod8=|}`|&7NiaZYQ;Q*&_k39Rvps zzu6JcVW^$JGLc}3Wqdo$ZIQHUSv}`5>~`4-9v5|w@sjABHUV)D^=JlqVr$(d8jMZK zC<;j+DS}C!kMN`;@mbfoBJ)P;gfIF|!w-`(nU+vj{QEWENkPl+U4Pe~H(%c0{_2!^ zpO8Zv=HQp2t<`78Puzi`qxfOj9x^S2^jiVWD%5EsT$WIhvZUq2o3~4vvWi8U?+ z{aZuq|J$#*YxyYDEQ4ulm2A3E6yf-F6gu(0wvU<{X${B+qi3C}p zY*bz*?K&ZV57mUt)E#W*`I0&CQr9|vR5Tk{&Fg=I8^7vj*zpv9U-Bc~@H?vF-&u`8 zu69IRh_(7hX`5$SQ!Vajs7db>ssr2b(}A#;9Ts{4EJ41{z*Cz_$pe<79;ySWIstY= zq#Hc8>S6=tWb#iZ#gD*go-+ONtZj*iFLp4rCOB=4v6_+$N|a%m8Yod)uVgj|<#)gF zmVutX0M%B6PGE{o&`}gyUIhqC6Yhr-awnK!&NEH@6TD^9^@*2~L(5JosGs#D{iIUb zYHAW_dJND*y^ZxCu1Lt=!!xd$n|(Y*Tr!bG7Xiy!W>*X>(qoU87d#xCSCw2d3knF_ z&b~dW+eG>7KXmw|I8FV|{o&UQIv!$t2+by|31ePU|Cfl!M zjza1GTMT5b^ZTi@=nsi5uY^NjD;N~VGhao&qSWIyfjPO2S)+#;G~tG&mFIT&!9g zoe;GvS&F}<_vWhiDP3$^Vy0@uzkJ+sR-9YqI}76spGfkSr)tn5*Wd)_4kPnXf4w?; zBrbHy8Gb@&`z#rcBNEm8f*CClzng&n?g-9o_PUGb({g%uM)zHBj}o<^-yOx8iS;+@ z+jJlP>cC)L8qN(Dq+Og*#zbAx){njo`gtI4pL5Bbyg}_MFnta9q*(`t)Zo;d@@|4< z1(Mko>ISL%x0{k!A(2pghBYdYBb{L@9?>6pIt*_Q;PXW2?GECHGCwaAKzGX*nH*0e z>`fJRDkd2E#*90QL`?;jtvcH&?Q5u|uL9oa&rpCW_fbpSh(2l7bYaZ*3RGfF{KEuz z_hEkYYX)V!Xh!_b2wCKTDKKe?po;vKJ{s);2NX$l8z!CkNh$y67~)DwB^?# z?)b^tojqB35gpkynuN?tzv2-r!^m0)A3hapJfgBfPTVxfj|9S({TS}9PM4eb=a~ZA z^&FhNky+y?6ks-!VsD4jL0B_aDC!yi=ox>?pLNiZhRa@>+0}{Wv~#y(BZ`cyV=I z9Gt&|$T16CT-SD$vJVrO^85T^L^^+)l6qfy7JAr1TlHJXt=&M+dpFjz=?sc{k0Bpd013Ehs&fX=bpsGNvA;Ut7- z1_cd$1Q`SZ?t!po7|9_W$p=1#a;dLJlvi2^7@kY_I5mp0={N`(d?z8%h*9YKg<_%& zMR4t82p>FRh5xT=?(+mjs##iDOl)y(>e@dqAug5D2j6ThQTx~_GTrEFgIk0=<_hwa zf&Bu8NY>B}sy$iReRm9s&y)2-HhdmCr-ujbBeSQD?bQBfYTxCR{BG}ON?dDSU7Dv} z{;3wc3pK5*^~jOsq&l|4{-3|QH`O92XR~d_hq6}5A?Q2_7DA>W(y6@YmOQ+*>G(5- z@V6al20&@}7jy6?q^Izcfmq@g0O2WUETF?2!zupT%T-4`JAeR4gv#I8A8p0&%8D`C zKo1d@c=fFmvqPr<=BvRrA-a)Elm5-i5UqDsLztJORbX=Zl8=Xmwe6~mwcaNN)j_F4 zm%;}N(y>F;4qB%o9w8N!IvSZJfLR)37M&MGFykb(vcjE_@Jw+AsD!Y^wNJw$(;9k) z;b&l-E)We(wwUAgZ{D`7xZOSL!Uzw2wqyTywb(qLbg9Hh82IZYDf>$fPHhkWA7y1=P<#}noJ!&qOWmd#!H1~3sPd%SO_pO@C5W1YF)}j z>k>^5*=w>o!!7o~cK9Qro?vHF8ly-Iwnc5J=KAn1<;tmW(P=G`=}J<>LNusIVe#cc zAE2%?Eq7l*4Sh$Rv|Vh%oU#LYU9u6p1uJcck;bmocjW-5!dL2i_vSB8$&=Gy1@WMT zNj81wbh9m%nqQpW^VYUQo8_tXqwx*(A|0FYnJ#$W38}rQ>Q$(vZBQg8pRVW+Go=Eb z3(|WYOTK%ZhDA(>muvt6ad6LV*01Y*-xoU1pD!lYo&V-qo0w#I(f@A5ioJKGt*$2M z)wGG}7Fi>I>~%_DgoX~vhE9Vd;k#;d+PZd^}>fV*0VO#vfL^W+6kM^|qXe?DX z6uFN#l66Kgk*mDLG8~Mzh5YmkZmPiXWM)eP4xuPo_908$5k~LF8wDe zw)Pj!8V{+mS?|<)zhD0wvsZ!bur;Jekvvz7|ABCB2rK}#;0D(l1OcL)H1i|zA?ko& z5M>vk7nk@Ac?}SFGu1_S(2;1kha(f}Wf@}o0Ort;X3=rA*JULGquZ3`Kjb1z5^CG1 z72tG;T<{vE1MSH%nJ>xa*)&VoF-o)BK=nL_C!Q7%BnA;#g@vHeS9yI0jX;~70)3z z+0&~)p3lsO%#CJ)+#CIyAqcM-;TAwxa^zL1MA**aagpZsFzi|Kqo$Mp4>3>HUKzpR z;wqCi1D$oHHst3)Nu#t7mi{!#ul zYbeG>$<8uMxiK52&Ag{2V!3z0tletPDf5#8f2RVNU=TwjX$H3V$BA?En#uU!t5vY1 zZ}s)zV?;pUzmI=?-;_DIXOrl>=>Qknv9g>k4OLIo4u9@a z35`cV%((z584+0n+f62xB1~HmK8ikpomk3D)3~P?GE~v)^o?V5lygosIVHu|`_1NQ znaNex<#$Kh-!HW+OZOq+n4M`2*4a$fX(-x}Q?xaPeG2CA_f#4bd1d9}rd$6a>jy6N zV#siq`21@_^eJ(x^AV}SJu1Z>qyy}>_OM|pQFazl^zZc7&1~ z+IJKV`!=3mZ#MUxb-fRl>T^%yG|L|dYpHY-{~s(j{tuS3J(1N)d|-JOZ13+Nu-61y zB#6bS`tFu-6veZ_@!VXw+er`8@+-U>Xd4g;^xiJfWB01pB6$jX4P!WR)ed)_JTyPtQ29xGbA?$-}92OLc95S$=pz?3grkUVhG74 z+}2yKDa=(~@EAQ+k9AlQW1Hfr|It8fUP^{M%-Qd+syc?&fiOGT?F(oDokMTe-No$B_OXzJfLb{1ULI>kzaGbOazFo6hG^2fpw8 zdk$>Nq@`pFf7tBt%x9vP0DwA`aq56*(ZFH&he*-rL;|WbW#??KJb7B%Y_og70dSzu zt4?h1iVTH38K|i62W8gYb58oZ?AKK7V8@0)F$ho^S{K&n@+X;*p=ZkFGU*@E3KG+Q z9z?*McDXe-ldc3g=s{Sv;4jV$v5m%v<8ai9kep#MF0JwsbO?|6t#wmO+cvW;&MxZT z=$QJ+Q+HTc^F@bhz|Uw?dE2M~iH^kSd>;j#Kj3 zLYnLs(j^xgr_6AK42z7(LG;uRg#RaBGC`Ayu8#hSkz`8v8ReqEW6zG1iD_^1FLY9r z$T$;wuxARNwezpG6M&tH{UBbUqgzDzx1CnK!QA~9q{BzY)puLwFE{)`zK1ijju|J| z+^cU3ruTjaAFUSaB##$FQZ+pYNL)_YEH$#sqY!*9e6~sX0lx=fS*Zj(J6G;%bieeF zQ?Jz&JX)3wB`B@>$0b%~Rtna_Nv+mW*G{c%P&qF&Vlb96+F4Rk>hU)ewuy_~R&;}Fe7#>% z2YcF&L`HY%W;j+6^_r^0nT{c6e=s|pd(>4-Xya*) zXj1U$pBh2BqT0s#>)dwH&;Ma2{~;>>;o}cbI=%bp|BJwE#u){z>G$gcoV-VIl|imv zNOfeS@f!XjXgzXf5IeR(QmYGgN~tjRCx-7?oF!7q1AK>k^fa6|5rLQBGji&AXFPbw zj#vkj7L>FrU8W|fC_tZkT~Efb<3}D&4csk2;473_%~6L7T^pbbMyo!&^2CxrdWei$ z{@)Xw2(Q5q(LeG_hTmLl;-WJH*u_ZGDsVRm&QjS|Oc-K7 z^$4nMlUl>s+J)W{L%evWwWa6!7=2V>m{lIGbX4cxmje`SN3lb)w@1SsI-juyxQvwM zqwQ%`f^ydtb=Isf^qO*8T0FO(N@Y^j%m3P-BbQUQea*C$IFd&QcfT_9<>O1t9J%*LnRb;Hi(|13 zXy!h}J_v%M8CIfg(DXqtDK%~9iT#CQUEBQTSFSJ=)rD7hTR$zJxwD-t3lJCECz~ta z&S-AcZDUneEIOJrh7`@Df(VnGF#aJ{9k&&7KxLf9VI5|U^gL9j_gwZ;D+=6~VCB4p zFIqUZ8K2mnzZ?kpO^yWYPOiGFWIKPylQ{fV!oehp`j}i!K-z;h<4ISd6B}n5fpplh z6Lxcyx#nhVpRr8i7oI4|=mvvHq##Nt>DI4NLxth5qAkeM!hJG(~N-<9bCUj> zyP)-dXe^f@bv^-qR)InQB+{X?NZES?)F4?nf;&2jUW~;H4(2w5!JTif#EU9J1?0wn zMW07EA^)Oj1@7OzcFeimP1$*V-N{@l#ptjMUhxxWuxTdlGM{jstluh4I(G6bI<~k> z_&4JlV67Gm4PN=QJ~L5MlP4;he~DobY$)2S4NQB$pKMI_|JsTs?D3tH1R4Y#g_1N& z(`z4l%mpRh(NM0#@;QipcA6m@Dj2KnQQyuUYp0b*vVo$L%dy^?Wb&`%TPe^CbJOj( z;L=T@QS#!K8so3YzEO z!}!8~1jE3%<6R`rU4e8}c6|(7Vc3jAA+YY~R(q<+LmO6BUidXOVqxK-;df^Md=yjy zCR#nQd!p3O3aeVk(#yLVL92;8n29#pD}O^*X})G#o0g?9Va6`Z)#^8DYMJ(aEZg&j zpQYDI+^#C%xuY5{qsmBL=FVLqVLvfiX1au~OatG#NM3h(T=x0bbBA$Ii-}U8aaCw4 zoRn46&Cq4Pu*3zUN4~+$_jn{dV3dR730D;~iDs~iAhzH>EpCLDF)zZCsf3?=fGa5R zkpqEUV340@rsk5DbE&xlJsYwJC5x;{5lLLNap2KRVQ17Q4L=DxQ96y_}!tau9Ay z+cH=P$~d`oF4>Moezy9taP>V@{+Qe~@i+RP}{VAO~>^pTF^ z-_TZKFXtL;#Z8>rk$Te^SoVCoa|eP!|e5x*$z) zO-um|^!YSaGiiKF7?FpW%C+z`Y()`qMKnhkfkjK|g3>4&L^UkW*?-t#elZ~;$Y7w6 z%ygrF4~=_3uGk4MMd1+6-Pv6{NkqJVS+-aPZfP4}ke9(=5|T<-t4ZmrEO6;oz>XO! zWPPmVtj0NN<8+Ab!FFLfMXcj791UXIhIX1q*4Z~``b-7|CMd#M#>p9AcC$QQ1?2d@ z6M(P2fGw1Agn%tLlzsN+jx1_IsFR%I4uGSGYQs=@+DPuI1usi z+>ePb4C(Fp`NXUNqc||C*<2nfr65@%>e7oPAl{@gPk6GXrP1PsoYY%Hn=b8U| z?)lS}&|B}y#`W2wm{h{fof@2(m>sJKVxnHKr_Z&!GKuLF>zGh~VI|BPtzmRi82nKuMRc!- ztS@$AqW_f=@h6%zCQq__(UBKDtH=)b7}^N_`^5zaHXJ4#T6!oP^Ygq`nr4V{65+0C z&apR_LOQrhKNe}*(abgc=HeS28a9amJq16ZZVSP*8amE|5<>TA&35xccSuK(WY0?9McU-B1;4$6uw9dTSMbk}wiWXn zPjlx*N|c>|zV=v`J0ru$BF+Zsd7irq_tr9!=L)gIaPEz7-52~l-WySl0sf{t+fhBj z%S(p)Mvmk)h?H2=ec{Jt|JVi9goi|wb6F`7)fGj)jKYO}=O@+PZTRJKRx^$gK!>?`ap#MF z7~eXt`YjeF8$!Ju)Xk zT!2oYLMJH~0+Fe-Rd$u$Xy&|w4isJ{>tL#Fh+Acq)z(P;ytSBv+gN_E794cjI6pA> zn{eW4dD8a=JtCO_8^L*MDK+~B#g-V^Wh03Itn8-xKQsq8dzVNC03fd0!4Qi4;-} zavM|a#lJTtF#3rywGzIm+-DpM&HBSE#U=qx{146UFij2P@Cs;tSdn`)nN^*})O2U` z>A0Me?oa^W>mS3Ff89DP!FDRInCN3d$Q@mRbx2_N{JY2d?zra_*U*HfN#$I&Ksy}8BXmq8EZj|Efn$T$N?T(*N1T!Eb6O7am zGGT3mutD#y+De5WZR-MJh%^h$KI)Q`Pg_YwpLue_5t#I{aHGctEQ0f1|LBP(HKlcd z?0eUXxDT>}i6?fX)7f$Nb1KL=%h_cYc7Qk8VWm9!&by&R-#HIBO;Q+Qqy6ocvr+|4 zfMRQ`1Nj3;pb!*ZqkG~8CDS2*7vutAd89RNuiAp_+HCw(;p{cOY1EOCnKL(bd$q{o z@I$)J#TKZCEY7b$cSG1jA3>({77_g&BzUzDTl?-8@+bo3o}D|aBNPO@CCZ7izx^%4 zyDS8;yD>Is&=E(ng>s0BXvXkpRSRTav?iE>|skdBUp7OS&?wsxVb;#fxI2%+YLClS7kNiDzX&)p;@(;}XAIU2i-c zSq9$dCak}Ux~&lGC|y#&ZBM>xp7)%0Z?xSqI?DXHbl$eh_X}qU`!ose08(DVl_!L5a8bd3SXf7J+k~kj89p^npEk+*D#FdNT+0(>&qe z*+H!+ji^hkw3{#&3h6di7t6metDt*jw-dv3646XDRw#_E#rwBjr`V?>hkmCRR;?1E z1%1!Y=j@Vn8e69Nxwyl>oD80p?xc%f`W&ZtF2h`Mi_^xOCA8&R90oTb%Kx5*XI1!2 zx+uvBP8epp?NjKo2N$h!MciS=RD!D52_tH3q0g9)f6t?&DBIHXEe~Eq#mdAw&dVpK zC4XP#-Dc_^X%n(>{WAQvxNqrMcls@iAVss!{9rR^h~xV5yLhvQug?j+A>Q*s`j^+< zM=a)?5A|JW_0&NyJ2&OQ&}_Fj{av9yj9AxH2>mDh zYY+g6P2Ng*Z6w3?m~}7C$qlY^-BE!5z+nuXwpL>@_R z+0-KCh7V4dVIqR{7yLw9HoV^rnL2&D~;@FsXY zbVJC*kzKk2&TU6%BHyQlRn=S*R_Au>;BTvNBjqOLQg$jYW%1gNq>D(R69+J>qYbaq zV8xhp%Gdp=m(f$os?T@0m|)8P%Kb@%{!gKR0f2Km8OQ|{qo?Z`f(k_`wTGjoqa*Wb zpSCr9gQi{Sk-C&Yi;=JK>;m*b{@NxdBFo_{GtD>zt_jvOzb`E#>g%#fNvFTzZ|Z`r zAoHGua=wFcTl|fEi#T$WjOoD0kf|F_m&A0)5&a-5uNYr!ZT=~B+RXuLe%J=XSJ^X& zVQ`oybPmcyC|12i=J`qa`I7nlE+OzA())Jf97jj|z0lQ4#FsZUsV^5FQb0cO`mBd?&wgtZArJTeQ)lWe|30F78VS{PbNRV0H zPI212bj%;%UH|G}KFaG- z`MY^mh_vW=&Q_Q6#+R*}1?c+hy1u_1m61HYS~BH${|h{EaD1CFs87rK@A22XMOe{E z&mv@R=pRm-2_p+bj=P4?S0!%~W}2WW?SMd6LxGxWCYmT*p{ohpFAv@K%R(d6Z~lW& zP%LJ=-XJ3$AAef^o7Z_aukOSN5gd>(jC&P6%tokyZ zjpO#agH$!gK#yD@EI_I@7_k}W%L9aMI-v(4rOF34?hS6UTZ~Azt+)v!%@gVz#Zi$= zFgR;G-skA>_2|jUWhYV% z>O(CQ>h-1V%yUdb0DRBlPgfymFa0q}uj}tmH?vB!Ym36fi%8ky!TrU;1fM!A{=vfo)&+HeScd#!@)cQcoQ9CzTF@7~ zXKnp*Ju{wqVDi_F2rb;l?$0}m^~bl*G>|H{xuHsJ<_QfwvspGavL8J*XyNL=X`$1X zg~OR(5O=`AN~xgEjAKlq-=}!KC;R%?5%;J&ZsLHi>R9$sagDJGz$hG2>Fl}bn;F;_ zBaiY6xT-BSXJ6!pV;)W8hFb908P=zEaH@x@lfKLx+4(b9DPM|oHBWk1&i6G#yX@!J zGS!ma9M(-6q_m1Y!p_$-&*GiG`q_Ej`<=6vLXVU03rGq6-eq0?A6;kR6i2{q`5748 z-C=MG5L|;paCdhL?i$?PA-HRBcXvsE;O_3O%lEck?Y^zrzoEOU?>*;t&uP8w*4FFV z`#%`XCp)w8ACTtB=2vQ(_GUx_0B~H{Bie&b1BwHeqJ|AX@(Ns8ZfnYNoV6_0hIh<42Hw=ZU`@#^jmeXEhP|L1L!XJ&mLR z0Rw*t7dynCT>J_hl;@izqq&(=BNCk~TUya;l|U*@n)ceezf6s+(t1UW3J}XNPo*Sa z4^aL?;DWA3=M+zI}J{8Rd3eo$=BnZE5=5Qk4W zvuT90rdaA!5b(`nN3=85RZU+a*7xpRUf}MI>3wciUSI(Kg~0qJJ?Eu$DP!ZIUthE1 zd_Dud2p`-&eJRfF7eV)VQO^Jxx!-u_i<&+SM;qt*dp6>6f~p2Z+Gqg4=C*4bHS{^BC!}V`iYtLJojfSEGyLq~PH4lP} z8ds!xxF`J{9o{u4xOE$3B*)xwZ~Uhhoa%tw3s0!Vo;XTfcFYAr`r_vG!{hFgM}QeT zA=KUkI(_bB`8z&+!vR3meBMD?sMRnf#(w~M*`q!vDXg6tF87yzFfLSSDb=VBRb{+- zGx0oYMFG~mQ;$79+2z>r2nxrP)M?`aIVBfW={TXwQ9T6%YUI=okJw03G(Vm+?CNJZ z=b?UV424<*d5m8WP%4b{PW7HK{;$Dc2W>474^;{V7AOha(YILOIH$*1u=hyUlu(vZ zD?N0#OsgWA)-j!eoFj{Y6-1u`X`9gRRe>{n@@29Lzp8{u2;bJYnBoWQ^x>J3)Ea$3 zQx0*bK|3kvt1!!!t@_Q<-%|k5#?xJ~{JEhPBl=sC^pwcfzjJDQacL$(Ctz$<4iT*V zK1kt6HH>fR>Pn^h3!|`?p+tIIY#R^Y*eVy#!R|1g4n7z0J!!n1Sm6ISW<~M2GLHRr z-&%6y&pCHb?R#u~@l=-cK8`X?!kal&m5-{mWXShdV9^;I8DvP=+R$!%_wj9E5l@?A zS(Q+7>k4};fd3liAgeGPXw%0&%D-D7_F~(Mj(`lQisLR@nB^1)G^U*_IMmP)oCK2A z1X+ze5}wIo5}6PlH_Zq1e|(U!=YtxpSmd);QB{v$X_O@)wVfIdTVb zpG^_k^1gS~!&^@||Ls=&hmG8<(*jd-F;;Nj^u5DsH0!mv?vD&$bJ+xSy<9 z5^DbRH=X-k6xpon{dCpsaGxIPrZ(02T;KWopRd%5|GD};^xU^uYCX|PDWyR~GgFiY zpaKM@&%$yY%6W%(F^<8bI(Xm98-@!3SNJ#JaQ=5bBCW$X(qIE1Y%FFs3#H9?j@w;n zCZK)FLn2zb6s<}24L-rHer^TG%x*wUK}@9xRDr`LTa1lj@=~9y%J?^$ya*skve8CF zrJ;z&3^T|lKJ9vpcjB5N57tIXLR9Th898Ifz!>*ORrX9?Bp62}4B5dvL3CIDs{nen zKqxw*oMI9>WV1I_q$Pba=zx$!@&H15+*>YC_0n*tbIt}&n&IpAq=%?p0dWYRZl74N zVL#4jl`SASFyq>;ZM}i&4XUm*&D6utEz7Av_WNOd@!3K&3C+u}| zzwl@pJI$nObE0eWw1$4xrs~8ayJ5aUMv*A(`J}p9yb#q7DwHWg#81h}6z8%h78AJ5Qv~MP;>ade;oq)fL=cH1xJZYp z--hiYCzZbRZEt7E%_oZn$n>3lVdk6%7w&@>V6zgiNAv68|JF`O_YD|(4qP0@mzKbU zfAs)yCUH-Fw-HU*C|yP#J`&y@YM9oMZCP(}v=dlSzv{Fmr7Eg5C3IxvbAPI$96$tB&QV|J#pTwWrD?C%< z)lr;>T|d@H9hkKo}m#%Eo?}rlDR* zyfeOE+O`g{iND;P?|BvL45mB#cSBItH79qou%7bC4c=8}`#e{C+~~!3?EM#a@ZbET zee0K=kDvcrq4@}df=`Ygdfd_10hQXjF}^ycp?dOzOOX;Dh;O>H{WPIS!g*af3{zxwm>wZmwX{Nhh) zx6&+@HNv@td-Wl54M))17*MXF(-w^8!oa#cL5KHIc;aG-F8E#(eT;;%_2p`mm?f;) zRLw+R^Q^>W#t2zZpxAN%nS0okEYfaMxsbCX-XG$>8+|?M*xhH&WJ-A;!Vz8f;vp5b20LaapXgHKaMMU4vzA}ynfE- zUOA2MN>nvDDdY1c@LFNAou5y3A4M__j^YTv0MgVmY5Oe_?}i9bQd7Z_NtG|FSQSV9 zw&ID!HqIL`)5S$_vz0HWnXwzuqTHEf1?WwSJM?)E^BXQW8OKO zYcuhNx=A9tiRPT0HTh%xwEMbnoJ20vI&;jduQl+G6qfm>didekf}DLAc7T;P(su!! z)bM|Q3IF|vXvzGKnlo-W*-x;eR()}lstScN!|T^tT+@D6&3MNVh-`%?3lL zhD|ESP{2tB{e!*q?*Wp*UW#x-WXKARDx1V|1zY>V+=-LG^`L^-`lXJ5Dg^AuY=XLR z@#J$6PQlKfdA=o&7%z3tn!J=Bye7EJjJ^NvgxU-Pz=41V8@~kv`p#QE0ID+#ZhR68 z21t|NzHCvLhdI!@V}RY|N>Cx8YZCsUjAPSe8oOhVo3tOt0ysAohk*1#0#Y|E<0i)e zNPk7A}U842n+#!nr z-B(L#@NDWjSY`^`7#^NW-v|YD>;qhCn8+)jd;Y5A+@Hi;v2snbA_;5FVV|Z}GNT%m z@>(dvSavU&Osuo8C`q#xu(R~C&8p$JVfLKUi60|{{RLW@WJZf8<5C^u$W9CV{J_cf zI(7QE8)x!;$yfIvx1+!zZf}U_6DCVK4?K~ANyoTRjuS$K+lg~OXH6>(61=7I+4}wx zWQdzZxMnK9a_0RhTX4%sMXg-X4snCT2oj75REJ^;6HOrBEIyP~inZ)v2TiaicFIBY zxf%032R7(I&JDGZEAY%bVV%q|8Dr?SbkNj9+wK=xgA7#XSY_txZKmy3=9 zhotWc_i%8E!%OZuZ0{z+Q@@F&OIUrL6{J9BQz0#+ZhmM%7GsCA!xcu3M`FY32Vrv2 zeVc!@p!I|-c0msEgwVaCz|8!Mc9H=wC9CslX{HRJ8rlgd26csXI=s^X4QjNG4*lFg zZVmn#>%!)xEcwS;AB4!~xKyM2f3L*jmcWnh%>R;tEd1l+A&sNU^abqKv@hC^ZAc_< znm-h*WS9mD9DXR5@e8K;7H`~^HBHZ!UB6KQ4DUzCP=oMY_R zQ0_EtgUY!S!qeX6 zQH675ZUS(zXyx-Fd23cG{1~?&dXd?qZ>=4#Yuc&mYm{D8E;XwaOX-U=Npq0Yi6g94 zwO5bt_!(+nOfuSs`wqcE#1ViF1a@ z@9|4A+tCzft_9FKgvn5{?kp2JudwKWd?+AXcQjt4e$fpHH*o^4-`(J%WP}DgAQVoB z=Kz@(f{qO%8V!)lTNj8>QieNgENg^ylGU?U`yaKGn0LSEb*rgI!s)t)X;Q~$*w^he`(>t=GtXY51No1l?8+m`>GN0k zwp$_9nv8F3H(-6DVq;cXhMI^rA^QnRzfFVN{f5V?lbKUlJNfC?^OB!iM@(-O?P^os zJ_^#z?K-bvew6m^k9W7d4^-=_R?K~rJQ1uXj}<-=B9kwF?kw=9l*mabk*)U*sg2l# zcqRFaj{A9C2=>G^ee_wmJ?%;ag=o9yKL8wDQ4NET-80uLD7OWG92ddcn>cvsmQut= z!?38#icrUbz6TklY+%G!mIZWOi;Egh+;yKNW{6n+-65(4UPSeqsX?P(fs#uB6Mude zOr@I{a&y#WFjkTI!(6%}Khh>4$mdcV34>)ECh&BW^_D|2N&BG?E*iX02t6hj0p=RT z^SILFk%<8OHAkIfaX4XKwUFP={5?kW$%1aBbHUV+MJ z8E8sf5Y@vy(@Z_{60C`ms35GdNOwjK%)y*ijrg`Sg=|ns1i36M(}LD2f;DURTAq7H z)hIc>+x5Qp;nnZ$zLIF_1B)?3IzV4A)G&P^W-18u#AO6zKG9&X@1ATg^XdWObah@#n>7IB1DND|@hjA651z+357{V5n?!QudJm=1E8v zAhS9L^il9a$kE`eAJ9lL35Yja&sk{v@K!X(FwcKIao~HGnDIGdJABzuzDDs}In#Sy z*4Otey}LdibNVnjA3`bG-pWw+_+%(BHOpS_74-xsLIGP)I?Pt(Ukn6wfVQ>5zX<{v zX5@(;G3e_Cx}uzVCV;3Q-hf!(;Vua9QG_%{01gGh%xUyx|3*~867ES}Rfr67`NH-d zX;-yxR@2vw=iRJz&c0_2+1mfDeveK6Y{wJAviB$epOqW7lK`D14sqxZHdojKns@au zc}8SpLzORXC%_%EE%Oy<5fypy#=H)X%MzU^R>-9&&48+tQMXVwLpA6YU#=1{Fh~Fk>RUkx zM#@H?=1a@=?s>Waz^a(0jMQps?BCT=#QzwjCx{M4Gg2liShQ55_>;kHAH8uIUHlC4o)N;C^h2+6u#c9JhN&wlI^@IE_&`T2gjRNu4a{er^aw=$i! zGtTU^HRJj`pKj~vP@ZDT&yi5Y%a8wN7q=jriGdB~F;fs`3xBAI=yV}aJd3lz>)kqa zTvgKHV8Sg3Fn5J=Kubz-3i6RnA{25KJhl-;w^l5sL-Ix34sy!JosNz)F%H6Qh-dMv z*Og$(OVilt=&uiUzWsVLputQ-+tjQ`qtKmwq*?ZYZA-obXc4P=tAy`5zl3nD!d8|T|} zOM$k$TNVGs!zxfOG7(Jo}8O2M_@HSPsY)yjyZMn)frYQdy!Zkha-c|kBdt&MPEc5_6~TCz zYN$lR_GOylt%lw)RmR!IAv8s<=_^F5n!nVAst5!<*CGq1l>xr!XV~ z-5ok^Hl{hgtUvV(+rwSSsfGf6^+wxb3p*paC9yDSp@*4{Ov2xYibV>!5qMQ;rws40 zI>2&*!@;cR$)rwA@tt23OH?IR_?=e0x}9Vn*c`(O{Eolov~5LDAC;mHL@B%w{5uHA z_@B=9-hVmUwvqdLx}(@MDdTq!pMw2|)$!t5J%ZbZJ&*l#=o*SnBezQE{Y`uBNQD36`svCJ&kx}rcmMR)+a4!!^u1?Er1xrnKuSCr=&R5g zym*vy+KQUM09Q+=zA}`foaVy_CED^0q6-qw%90Xl!rJWpN++j!lP77Pr$mr6r2y*$lU#ZZ2nRHSjC)eRx-zw_A_(v&FoZ35zzYxNsKs<;7?VNe^K3cJ?V zN9$7uanqmbjh;d;n+6o?U45)7;2mK0a=nLd=maV2m^$w%cUTx%!(EE zZD;N>Vbxyls!Ch0C4kxP)wU8tE*5=Ur#glp`ofGl2NmThO$63}Dw>(>h(v_{C+-5mTa!M& zfXoJWea6(6+We{drgX?(6J&76*}jk}$Uf!!Lhe2NPjOh|`?ptYJU(YDoJ@RY_3iS9 z>N8EVnqK!MOne^u>O84kH~-3vNvbf-){(frlCPh^P}7FCbh9Ym#{% zrH6J0`jnNHaMTqekl;6%>zshyuZd$RR&Y8>%Y2WVnroSxURan)J;h7nLa)PlN#l3! z`ao+pL*-wk;A6lbng6#RUtZK&V(5_kc|y@K22>4w_K#R0VWlE2+g*5J;2e-YpSQ9q z$VC@d82o7 z^0n@BmxnzNC+OcC^`%8il19$F<8cmux>UiArJKo@o((}Vh!?3ccW$_*0Bgj(Gkk4; z@6T!`ksaKMb5|wP7qWD3txxXD=F@$=WW6&gL4V<)_)NQtek*JnY^YWZi{2L{k0z_P zWYZ<54uLEGh4g9zU8*?-o@F)xt-Y)9+-(;et)TesSM%Mrew=)43L02`1snV#NLm=e8c?YUIOVeI zj&grkrGY^AGaMf9SC?SQ&bKuNNkAo#@D2E&q3`#3s92ZsJ$H{1DYRNEe zw*?@CiA*3;US=qMC}NVy#7fw;0~PCB1D-QOPIKjCiogioG>sEYq{C}cCXP`^YQZ5}*FLa_ zM+b?uxF|ZV>epoTy1&&4$E@9)*vv72(2KoUS(aGM>@3mNTz*Vr4Qgqct>R?8s401k z&ubY+P4hSS{XZ_e?SEYOy(SC2bu43l$If?P0NcBBp30jtIfm2G;TehCLf4J4v zp_&ijhlP%!)|(3R6m+$rpGo<2parCnF);6mnOG=8bXg!!X{W5-1kfshDnNV)bw)l= zR0rn??GMmMf;kP0(!vzeibS9UZ43kN zmcPo@D^+B+i^0!KW&ao}&0XKqZ$c~#UD~-pU3)H9x_9N(T{tZgGs1*DoT@eISg$V5 zGjOnbYJ$0BEgtUrqWcK0H%uoOS=H~&F)667kK9|Kb`bQwA17vu>UWgAlUQtb9BdkcS74V&VQtt_-6=Zb8UhSSrf=? z4FIy)EU}sjr2(FVgiUBRY@Yy4`gNQ`+=J<_JoucL3Lm>{wOY89 z)7{IYH*!*;$XoXu>YpW`(xs%u;a5(8=48k?kZM=PV91Iphj@N>8Jds$6|))9#gy20 z=?NhHX{>FOj;_SYU{K4Yp+*27oDqC zizU2LIT{jsY%s0N?1P!5iBGUgVMki@t2HX7T;|?O?-SXJ0kKof_)*dr^UI5b+7rWj zNIE7mFH&!8zk#VQAg-mFt~h4hIZBcJ)(1?I)P)$yFqMUw+kN%S) z=P0(9zVd&MR|cVe;~ZehhA|}0cliM@tIwDFBMXPz^<4*&cmS&KMTlHi@k>p$T_(&F zV1jrbU7e!0cHsxkigw9Qw!55<)l;;2N*MCTh5E_~^6rYNZ)%n+T>nJ%*M1X zOvsU^T9fJs?6O(7^yMxcvl5tHN8wJ1*f-)+c>@@x;Dv=6YXg3(!$r6kLyq9Q-UNPd zQR?BH)~HlX;%M($RoFz#x5ftYB1UP|C)swoW% z;`5Av`CT?mmrKiK4e9ncF|ku6%5dAgneo~>onHc(Z6GKBqfndz+E5CKs|S*1?R~wi zu++hi#e#XwkX5eX3lM#g0Q_rw3(csv~GWgPNCfGC4@J&b_LS>!&Hmse3a1^1Cmv%9~_9LOt7d5noPDn6|HD?Y*n0P6gDNKObqdlb?UwO`n@TWl0z z4veh{?Kg?@3YGkY`nrpX#oIzhAa36LfC%6 zoYvuqxu+7wuj1A?Qlnl9&AY9^dyg<&#&w;P3w(#bsoDcJ~*S#ynVlQocyv@*sFT@LDiEbWD+VW9X9=7_Vb zm_zOeK!P$L?SUz^6XC(qg!4He>=ki9U_pjw#t+O*Gu!isXv-oms!$L~D1gKFNPpJ^ z=Wa7YL@P};z@gn}wc{Q~BlpNU8jrYi5DO4wlL0pQ7dO$XAyI|$@2(>LhI)5A(JV0` zt0*IYTaYeKd!N#J2KscC*7N+xcKV6uU5ZBlVO%&S6tp`LEG8Yv8a&m(b@|YO`S&L! zVDNI8XivcLA*PNt!}2kFGw6FbOGH#NS($-!OQZ^{hL#nRu>fjeEux11yj8#|{HZcz zbAsYnHK3Rris`O&D~5%G2j78128kZbCTogP7n~?b3xDJvsaDaLrRRRUwZ4P$^Ie|r zc1i!`cctm;Wb+3Z!sZNAZ*N%#s3RRg3EJBQr+h@}4~{ndN?CVjvQ!OD20apkx-(_s?P|cE zudHLx)yU~e`Q@tu`5rpUZYSc=7Lg9-EPXQ^UcbR277G*{zcPogOd*P(S$O~9K+Z{) zK7xPQ+w~j7JJ3i_|2z=p2c=)DKBQ`~OTU$u8$-G!)#G{+{S%*lDkW;sgAwkpq-k5h zOIjxIH;K!r5?UJauQk2Uym(o{wntppBf%bT{y)3SCm`mi{U1QAS?uQeCm5TC6JKCj z`Ov$FHOKq82GQ zL8gNm@tRmvLb+`eLD&AUtHQe%1Y&J(57b!-DFpG=+#7BDBN9BxS~<$pkS#QYb1&^f+Osr~&!lG?ngPJ6=C=_Xyh^iRo z7%GasD;ZC=tFOJ0yk_ZY5-g_26UGA)RqIVwS+CEPog+p@T0dkD-dzY?saaBIOHq z^>k0K+{E|ETCe|lT+zY!Pe0&${nfDiG8K^L!>EqxmSo11xSFm71mKRGXpk6}31 zQHDb4KfQucwIHa$cje%%Sq~G(T*U_DT=K9Utbm@Jw`82zp;7sgV|Ltxqzcyl< zXdHQ>MLS;d4@*z4E;o7l*TM^MkZAK@rI^?XKd@_%sQ>+5Y#EbV$lhFt{mk#a`ZGnN zpT#VU6m6lItNH7hvkAGIuvi>wB9Cax*@SUE9YC3Qbl_Cc6?V1)uhLPzjtmV%Q z=QkD5zBkg-8x+fTQH9UT+&{w(HJj6kr%wFW`g04+n+CIY1%LcDbDjTTXypCsb)h*2|o+#(}@aSf*vAC(eq?=YPD!!INSw~l0XJI z9kD#{w|pH^;poyvCyH}tp_CaH;F@-N;G9C>L@`pq?cY;nt;l6dR~Gt9fq`fOnXUQh z>x&R*G;#cCB-fF|-B~fg*IKtIQH2P1H9>k>;}Ik3RKuOTm@+=yHYxtX2}w+FkuS7- zE@_mU_Ur<}se^Dbzk9yE@+q3Zk3K8s+h9~31Wctb(k9RKV0 z%|{gW0CZf`{ zU_s(b-Ly>8ixEEt`87To^NL*l2^>|T$J}uYhB%|G7pts~zDOaOnihdd#DcsyXq9f< zLZK!r+O4mm&q`kc5TUg#Uv44Gn(sxcRk~7fGmDrr=ouqI-M=I?W>@aQqTG1|#14je+g4-@!gS7^@?TB+P^Gl$} zm6@?vN{{{acKz%E)Q*80TdfYwq3ER$p|XF_(7_GmG_m>bEC5M_P%32{%NJ?s%51wD zmbHESI07L(Ndq_lgHyH630-ZT7d+M2={`J*RX9A9xuqKsMoVQ+%~2CsfQriutD_~# znt(z1z*Ad^XcTY_FA4E1+Hg(LYGCmzfmEKs=`|5DnSikkdIM(|}|EEuPs{3^FxS79h{=*-3=YZqiGQE54=~ky0 z?a^1`8U*Lt`v!ms@6ZQK>T(IPjKPUi1H0 zX{Pr{dBV!_jE)E&7&|_TE1D&3uE?kyL^O%>xt|OoUNK3oP_c~}GYayX6_Q1;_ zh6QdN;BE|`-;N;+Qk*A<%$YJd84wj||IMZ)2Wix+uABG48KzR@Gqf(9h4(wYo{qhueAC+Lj$yUEWPN>Rs0(CT+aUin!+rtTCQ%L&+ zzUah|o-3vm?tq~g(pd#5tC!N+V%^4l7Z>zni(OY|XNQOWfE(5S3>O}^1-`52e10MC zs9FZj&ObYNTtE7*I5%ASR|Mj!JXU-xugiBNZs{#elbs>?6bNRR)&2l5&{ncxb{&X^ z4&qp2F|4bj5eDi@LXWh~(YxmP|6G5aFfKt^^6@K1+2P*}3GjnaU3dxn13;}w!$;ZY zD>M@wCXPc>kg^B$U~$<`)(Q5N7_fYKH>_bh$1`^Twrb%Z1)?lFzK4AQnEh1Q@v{Mn zb|P%}Z9eiD`0h;h8yzVJ3LDA@VrhchnZ#EhAw|)=VqcP^X)!Cxg-_B9{oNyvaP^L~ zqzEF2K%q+bKCsCM5^FBJ{{5THl@!y(uuY{!su9VHV3hK^w^w= zB#=pM)Y1<&%%MNhYu9b~AdJ>19a92LvB|fCIxSu_p>Vh}SkX4pXaZ7K4*gbmV8_#1EKFJd7reET_PoPMqKQn;KM! z<1aL|8QE zCTj!AX4Ud!-s0zS<3~iTk?b4OP)!Zz*E~4pJxcupIb{*o&%~=!4`iHFgW982Orip1 zA8xJBH+ZdZZdLg~p~S_nH0T&p@l+0jXhppy9E{yvo$}1op<%xBiqqW8>D$J`inS>e zN0vLiEeAVqLETFmn&o79lPq7fzF(Ge=-QlJy!Bn|?XOu?G#pDl0~ z+A20E66;TvVUS7#Mge(QIB&$`kHnE!I*=4@Wr$1}{FdQx=k1Ks(N(qY)hvp@^Pqs+ zaapy{-rmZ?97KQ6jwlE88ICTkiphYFzsEogtmE8^LZKnmzATocPc)g1o2 zlh{bvp++6X5%z*58ta}3=kIEc8HfmE<=lI)<3f1911e5Axd|J0Q0gKGK57BX&3M-O zi_10*&w(k*)f|Hv6O9Ew=3wCfquZlubY!0|XX#Zxbl76t-Lj`8%8f+c ze%4lt>4nfv=$~26b@%@S73=>4D)MXZQ~KC3D9|iWZ?Jk?4$14g9KZ}!QTiSB$=Xr9 z_eqGhlU#$x+PFTvgFqJW?jEWD=tPt6>HWhUeUPVO+twYT6d$ua9Sk#(bXjIwi7?u) zTk+H|y}inIm8CCpXMt87tz$Vrj5~C|=f&|me*^p^hh63eDpY3)V z+8DaoGuj8)ue|2n?@Kw1U3cV`-p{Bu;2|jbp{gl-SjE)HIeobmrVs31F_LHfwzFj4 z3R(l_0nWcVB>QioC&mblLSKWC>W95gFgM{QoCAN z61c?dwRlu%&vO#r>+YQ;XAmX)GwddQSwL0_%qo7n!>@uMh^ryXZEX-Wi#%c@%!+aC z7x}Y}_+z<5Pg^V`y7q&?3kQ9mCtnESN*Tlw)I#IvNW%oEje%m08_Oj&{(>o7N2(PR zB573GhI*)0h|aor%bqD=#I(J94-(^6paR*w_}sSB5Ou z>HO~OdHuIK`{#D=#@nHC?8XNs&RFwBBout#p|v+Fzi_9JHC`d^EqN7g4KXtB1Ip5d z`eaW_g^0#Kp>3aYG01yOK~=L9y%aF*VHIdXk6L*Y`5ZGNqmiv!K^jttHfNW=DeBiw z98kg>{s_MgEW7#B&A+FxV)cN+OvDfstH5H&j)S_+1LJ0-cQmE7;BxAZ$??v*5LiyD zK?uBoJr>0;MJFkTrJ**;eMUGYUI*o#&D)}XStQ>IEzBU;A$gBC!ktl_eTwxh%k#2o zd))Dh%3b7H)m*4$l&h?q`V0-N^LU~DQgV-h-W*u#q$PLGL8z=oAE)Zgnzo!1k&p*j zl2s0@s%y`)y2FHO?+MpTqPt1utec0%3sP7QXw~yy)u8l}irg&msk*RP(I6Jm(PnCD z2@NVMby&2%sH$7Q-tk?;|2V7Q*}mlBl)>6F5c2@+Mr^SQ?)D&6+b)ESFE@l@ncr-U3e zV(rcrqPmzig8b~U{sGdy=_&0PeDIOUAgi`)xA zzU*Lbl~h4_Ps1V?o}7+FY@dy-wvAKgbYAZHUiPoC%JbWA&Z88D|G1DcRZ36Dq(IVu zT05&MoEqJb*Pi~k@m*WtdRlnU5^`1fN3_)66}{?pAB&RCVkocc?*L-1dJZ|``jZq7 z^IghBrL^#1;WMsnBxQP3+eI3Rwf%0#5BG?7yj! zrf|F_Wa8Hy=d$a(|%koDs{pELQ%I~ zPv?6(BLJyTwtN&rc^0tIlslTYvzSr^mH~0t5~N;M!EY^Lgk%+P5S46jOAg3>zQp;) z1Vu2Z0R|&OZ4_c0fu$89lh4}EPQpwl>jTn5=fkQ~w%63r!Bfu14d1QDux&gd zt*RMQ-7@+kreMot2d$aNH$s8z{tx%OJuZ3AoI^4QjpoFXx2U~=v!GccqK-c9K+Z1S z?Ck>@k^paP7!Wd4P!Ca&5cn^jL2R6#14o1(L4c3xJ=r-`OjiCWlF-=5at{_1x2&SM zF(aJWDi!M(`sSb-uc7H-(e{nT8S+!cpU{7Q!!%^a-=57_9N;uqXF zKF(Vxt4B+AS*eFz9Vbrs0^Qn!&UU*8i?!+eRUpbhN^phf5|lO5=n}vfA8ZS))h;P8 zugB(yK$^hQ`p4Cwmw`3k?QEXsZB5WwO)X29KY=tO^Z(-NEf}HR^vI zspGH(anL+ovMxO9dWn^qlA}H}vm#xmj&Bl#Pre`<5!!M>YOtN}8g)q(yq6pH1EI`D zp=6W~ubJ`GLJiQUooda`%HX^zciMe__^{wb4(aZO7W$={)FJBq zb%n%4A;wY-nt3sqF1BI5;HV^kq+RvyP-C@{W9>VMo$0?1q!|?bV1F_HC(`_-&J?- zQlv%+Gq!n=r>QyF4O$6v;%B-25ND2RLYX3oh$R7Hd}{sa{FrRhHSzwg>!|H=c(k;@yj-b|$RSX2T;*_{pvWMh1 z{sg&gOPXjI?hwDUf24#UkfQ!6Pba-sXxET3$rbP@3(>#{io6;+>zC(}Y1@KutB=5< zbM&iU-#Y0s2CY(_7F+ls)?$L55itKFl{g;G@Z=Xq1PVrOmKHyz!-*$BsN1{=$!x(0 z>FF7fk(=fMGOB(hWK_A;XPV|h(5p#6UZTi?Hr5XfWtuq$?l~Z1SQ*~9x!dq;&N3Bo zaPVXW{FPS6sVwU3rBv8D<}Rx&6V{F&36Rig^GG!4cbvd1H|;G@^xX_Jb)uIlhDEN9BN>^(2CC+-=SNxtu2_ z^?02GGk4as{XS#p&-=%UhH~krlfj^tM{NX+%h~*sTYKv%-hpbZmuw}udG1o8xdn(- z&igApUE~T$f|5K=xAOO%nB^B{@5i-J2Y=6j39Y0BkIgUG1XP7_)^T>d77by;u2Yh)!1eMKbu2dgmyjI~qF%OuKbGe?v`W-U>&0^m1o3)>s^U;u{LP~^XY5yy`Da_56~TgLofTM=+T6iz zeGpMJSd5!@AQhX}1Z5lSsj}7uiJCCQ1L4-rz%%2}E> z5(wj92;Beoj5WLdm`glOl7G!`l4Hd__FlSaQ5TzC{8l30wT(-?c*sm#B*_niBtw=r zyz3=y<35hs5Gr#QR`}LmOM8but@ zQ0q5l0ra;2{+l^92Mb`3p!aibfBAeD3FAbLK=+7lkDY;v> zt)rV^8ymuf3wh9&*xJbdl(AnzU(sSrDj7Ys*lz7+kh|MFE9O)*O7ZIyvbzH9GB~MD zHD4ludoL{sLf`(=fBH!7KrwMrBl6-Ovx7|*_LrdA4*wDS#XR1oWwO;p6GOW21GK&NG(OhU^(b9+vDbhO*pc791GA!6O|-Ieh8Css&LA1WlF5T9zD&eDa$xQP~{ zuqr-XDwf!!x3PdXTY?<4X3c!p$5=vbPOZ#VCfD_)Yhebbw-cii*LMu;*vY)xwE!-H zJB~tz)C&9bcuBDgSl;|-b<)IW^kDlHL^J5FdDpxb`!f86YT*VcEXQ^~{npjv!rJ@r zdqrKg-~Czp@mgZwtx|wCT35LH-Kr{F#jHB;whX;%Au+JEA7==~-BQ(&R#^r_Bjjzl z4{$nm&deCz*3bL60p-|k7DBn6fys~oYSR>7rV5w(3#}tm`OKJG9jLAfiFw2E*DPy+ z66}3vP?G6bJY)c_XrGYVT5Si=Hyu*I)6+Z)iHEoJMj>75dH4@}_YOCW5im*W%NDs& z`X9>b7BDw}XXP@+hOr4vCv6Z7^ec<@#r_P{4bd`s1pXtf)tUm5SPqOz`nrgw$hkDV zXR1h4TbPZC#>Gs+FwF@1!OsgpZC;NSq&e@HMq=Wt-)J-CbM%7$V>zh}Dp7x*?!ab0u;DSEmG5SI*l&Vu`U2)el~1r!5M&mdHO#cL4*C@nN6Z+;C4s2pRA=j2J$Dx0D#x9-}j6#a|UNJ)t;NNez_S3ubA zAr&kZ5#F)eGK`OJO`sAwU+rZuI%esiq8gxII(3^vME2JkLEiWMZQPXZhd-k|VgQY= zEt@aM^>?&92TyCB$`n1X15?yPpKykHLIj>HuSR}7%zS*qbuERY)=5!+>&$cmiu*vz ziebiVl&zMeA!p5l*gHxYN(YZ3@>Q5isIOP;Jo#jve7r7O1HWYZ? z6G+-sDk`xUAk3;$yF6=?*eT!cb_m4#jbgXqNg|d=J1d7%=WjT;P{K|FsKkE z`wS+W*0j+-1_&S43&vmiS`-ez`Uht85|X*~7C_=ih!Zj@5{;3RkLfDq|#q|58&=Oj>*9cw;&o*n-d&)_&Gbi$;j(S#Y!fj`y?&@#Z50mkh5|O zZ6;pr-!gogJ;@ANGn*0Or!7nfpS!U+dVhNVrAamS)$!MKH8JG%P0K&)bQg_{r28bZ z{QU(h=)sc9(Z;#V{|!-QIIs%eAe$-b)-)_+aJ1$11_d%NW(X~FGOr-05nB@ zba`yeGbP_SM|9vRg269k-YZ5b4fs7^-2Eh?$kANyB3PtBryxSXPfC_I+HWON%35y) zxdku#G=O(zbvxgzFHA^2sA(A~O^PA#$!Eu~^q%h`G_gD!SGmoCRrq@ec;IMgJLHkzuTP-80E{4gr-{eV!B_feG_-${r8I@Q~tP5bD2pai}iB0RP;2Tg9Fz53q58~&3!bFe z+OI8|r~L-J%ni_b-{TQG!9L`i)``-33t;R0o^@$#5J!^)P71UQCDl=%W62lBAP=Tk0+5phfeuuIt1oeik(;VjZrM_pNN8wN5W9y1+QGD!Gb*?U8 zcp3os~yQsw!a79m8B=Eo2(Eosz4q1(7cz$V; z^T8$116%XkJ$N^^D1feeE2rl!W=gj) zO30rS0*hwMlLDbh*-rT*-jEM_1H<5w+#qyyIi9s@CX@V${O@+GrDgY0lFiLGKn!1B&U z8tGhM?a1AYCgrgw`l#lV|49p5A683m13)u&`8h3mARNi2bZ)$85Sgv1SkBME%2%blN|Z?oY)yGM@~ei|BEWu-z% zpdf~tt+Q{5d`+04Dpbh)!GuiiHkR?l#EEA(^M9TKgn=y{h4zkfxVGd-5v6zFPTT*Q zGVowy(IyY|j!a?S+Bj1RXX*wcV1v>qM=l=@OGO&v@R6OE0%#gcd=?yRbhZU`M9>Ok z?XgPyOWjXje^bOz9rj*5YFPW~IXNodfg5Ah>JPq0{nuou^j?X4w2+$AsBu8%IbcWM8*xjU@LEFC0XFE10u zyD+^kf6RYbc>8|aD|Sq8w;@Bo;^0v_`H__WPIpl#^yNX&?c{#;g3IA*zK!gyTdqlZ z(NAG&pZS#;r@7b}(s;%6vy7k9OU@#OO}09m>t3R-Arm0AC7HMvH%GfW+;q@nmC3bE zJBR_0W)~Dr&MD|~Nrxvxgex!D5iLE-ZWjYC5$hrV$}lYuc_*!e_>Japlay6PjZLCo zaN9Gwyo&^Zdevi^Po=@mI7rGJ5trnyQ8f9njcW4hPt|3TcV$)t7e0p=A(JzL*HA=V zCr*nXc~m2-Eo$$+%t9%aqUA4zGW_a%kmY0m*LwHVtu)1(bbHH>Wl*-Z^Mj8uSr16q z)8TacwQqa7uUqdIC%MlgD?9ex)nhg=m8*Otm@x5i?AI-~e-X%d*dwH3x^~)9{JK&dQ zAeUl4d%3z1-CiU0TY>UcnsD6=>@W)gm)7dxJVBlMXs)e~^e+g;_@uDt3 zg84314$E-!|SUNn-at`+oNYtgRZFgq=mE@+sYyfthH(yN{#Wx&9Sk!^!(n z^q4Eg=G;xDGlY+ocqGf4*C3&nuSsRRp0#N3kZ|X}$;yiVNmi2Eyq$Tki;_N9rSf!L zP8a}C@|A8*ZH&m|knJMVJ?YyzuNnz4iumagjNr^DkX&F^eV4e;QN+2Q_*k(h9Fbr8 zF_M`l?PMg(`nz6fE_WKS0$!kXAm)O+1m$6bVM9k)OBi>!0Yau}c{lVi=ViGzv_NnXXDNN4y481_@`o1`uh!XuifkTTrvCCR&X}<(ap;1 z5ad|mYLkPALp1w|95o^Jy{|=#t7;A%0TbUJqMTzhuZ`OI4lD=nco+(Zno#<%lBrU# zKU74P(1rX5(I3dKW&8_m9x`X_0Sj-)0Z_;}1|upb^pBrC&p9;=iX{*@QxXn@bQkq~ zw?_{a8p82RpREk?RSkY~gr|v%N^n^Pz^shKINmo0*2gtQ(c8xmTk--YaEBhZ^|MUC znrCl2Y(=y`r|W8>+Sg<5v1atbL;y+H9r!S(8QWkcoG;s1klP^?_|WC0r}x=KYWKwQ zbN7J%O~&$l93@4T#zfoUWgNplvF0ME#h0dDmqXOc93=SR$Fdp0o`63W;;SjsQ&xD_ z{!TD})cEk+aZzIUP@l7N34Sq}e{|t2#Rc$AckF$fX1fblaPmFBllHHADLMO?1E)zY zW0KG~A2C<-#iCv_5HE1(tR~is72VOzX#B3J{SRseD043F^dtm0YsMUfz#7ZTQ2+9g z*5vo*z_3*MF*KQgep~_+N8qg*g>UO#5V}7JOj}3;jA%4561^$vKo-mnnE#m>Bb-BD z-8mnvx>IHM+kR5m{+F&ynnAE49u{w7f{mYJ!(Bp^i~mnbQDCOWx=ZXf(_So`aK)Mu zqR1#1J8evMup%>ZRpsedZ;nvuEBMowX{T(Yx_E$0Cv`V9<#6;MH3_^!*|EO~a6m}9 zRZ*F&ER1>{t!Z(_KRLDZo{Y#1#>wkQA0}8HZiRb0-G2FBOwa!s9s3n%dT`kD_0yC~ zqXhY?fIqW@{+k=9UfEcfx)Ep8DV$OB{B-<=?ammB z`)$drju84Yf4e{K>%RW(+ohe0!sajK!2gSUDd2GS7`gubF|#){`=Mv^H_sD6!?@40 z%JYUBcGfQAb6x(lz2P4h=DYM1>Acl?6_)?P(z7F{l7 zPV!H1LAwv3;e=q(y+d+L1@SuO3W>he)Z#uT3SE`N{UNtU>pN`y=U9$$U8MOSW!i*) zAzoJ(4bq0^*U9b8@j)?t;NcEO+j#@!(x=V0WXiXvFeYG!!ApSP;lZ&>!`v|NGQ*6I zZ0m@T?!@}r zisu*jx&u$2doN2r#Bs{r+(MV-f>#RHOP49|^+1i5D5EWX`ai|wDumqAHG zvh4tD#W!QBi04P}VaKlr-QTS~9Y!-qrwqT6r7!j?wtRg`mHzHh$AiOfy9Wf=WR&)> zk}^XZ4G49S0IJu<{7RXIMk;JXIVw^&k4Egh{d^U5b&e`_?6%-Zoac>Ps#?q*|8G$B z#QGml#W7S{(4L3J9ZvuFTSfL(zVXVKZG}v}9+#_&bCa`uyMpr$t$dy~j0ZrQK{vgt z!!F3(pgZ1>E88OZef%f;&4?YXM`RQ`5|#(O_5CbZ;-G?V015uX-85H4T_c5>!awU~ z+ln4AUHxX~UPC5_xcV>*DX)Vysl2qgP3H*n0}Fy?LslS*o1vi>`)em^(771 zZ68%v1rEIIbiT@u3#(yxuuYS?1I&Kp(HR%C1iuvu)l1u$nV};Ly}1ftHM^gq4A|}3 zdUSTX7~gAOo;7~-h`NRX=$c#|Z&Nu47BAZA+wbycr5J9F8_%-ty6*9)hXN7?3CuPMyHz)r@W6Uz%?nchnA`mB{f&}ta z+CKrzg!A2i+R=HH9Pa8DCCb7UWocCUysvKq83L2&sdz6t@L$yQ0P@OuQcdbp3Uhs< z9$rEe*FC<1Xx1<65S?TB_XO3h|C$lx9Bwdqzp$ayim>8rZ@-86Wxst&{D{cT1`W9ndEXU-$YQ26dBK_|-`3^uC$=D@`!i*N=ag zffn;#C{~MvQU9}X+p8at&9s10Tzi)EyVK#ALTW)#z}VcpUM5nR1mrr;#~%8 z1xtqxs)0YrXSlEL2xYG_Q4we*btM;4aP{5HqdHs4!#Yh-UWIqp@&1Xr3C?f;IxTO0 z9K#Socd{tYkx8QL+~270w{IYMtoP;h*I@hq^n?FQmCN@iTpd+ULRuR4OV4c7@iE8K z;pF#;vDSRJ9%n}`L#=v6+n=^}Po5Bad+LmmLQoUNZ~HtQEwFT*p_Zlnhys07wja80ai)bshnc?blybhC+yZ`R|heM7o zR@OVPzmmEohR`Pt58yJD+Tx*8-%=nonNb*U?|!|qe0SAd)pCUYC-Cr3z|HN%`GRgDdUNnw!m4hF38yhO(ta(i`>SAZZgE;erzVbs6 zx;O{EKm+4#l*q7~vY>h_H5-Q=#DDtOM4f03Akg=kBQYv;OR@*+taI4*$8h%SQ@{Y! zH7{V6D&NE2Dj^9WR4ZXfC>2IzYtLzF%EwU3_J^Oxlk0I0-CJ#!0*~0}6P@D+eflUP z0_QZhxQhczDo^=FqZQTg%tEAQTFV(0KXb41)twadX57&%A*DMeIvSDdDXt1epkgA1 z^m65{6bXaplPY_kr_F;a08kn|2uLM+5nfUoikulmO%$96t|P6LhEk%;$vrJz$4=$%eu1UD1|NUf!j z4CLT>^?COQOKfbOs~Z*b@3(CAD*oz$58bnCuvGJUR_Ia@&)5PSk~oJ?>R*m-DmgXI z?)JFEfSkWW4~u2^EDjt{o!udCmFn@t$X8tSA7f3nX!vh5GGHUi4>Y4&A2C+LyA?j? zZvr*>JBR0$8O2iXRwF5$!c?>;0dhgSpk34Z-zLU;A?uA*TBIzytT!LFiZycOWlZ78 zsX$0p`xIenJt-u)9c8kU&*$~-YHL%|XSM&DJu8^ZL1Zh}K@lQ+=Zoq&;$BageM@Kb zD9YL)Tl_Iy=^qfE^6tCUV|lK(kDx(QJz}X46M$bM^$yNFJ5c2g)FE{mvaDMP-jm!(?T+}xk!T2Qm`D2% z;a2wbZkL$clj;1&>?gjA&PUW)?&QHSvxmucarez&2I;G3(6@NiDnOf_ja`F3u9dm8}?#2kr)c zgT)In(qH5BoFB^o4ZxC-KLvdu(!<(S7INAhdL6M?Uv!HYRf2e>{@TObM1I|#;;w$L zkh{G5^Vqxf7+hDUK~pt){;$sn<5qsTk?MiV)sTOA>N-(Tgt zxuEI2KK1Vyc@yLO&yS-_K&i65qqi(7LD|{2MMsJ0>qd>!4#m zWn?&<@#SH+qp?%g{!u+Qb#YkFxfqkfW_j;R_E=353SID@#d zd*;&j&b!;6bY=zykX&q3oHBs-x%;spRQbcC?b7`9*XK}?bWkR&2 zhjurL8TdoOUqj5+eOs~IEW+e{w_-QD*6??0LItDw-}c9$eDY}Y{y;_`|6G1GDO?vk z%1qyHYV>_wiF5S<<=i>R7M>>iwY8xO!k70H2Vo-v zh=$l!n(O=`oygH_`LR&Zxl{fvi-q3{r2UnPfaf8Ue?;Or+d%$cL$u8ePu}wrDYk4_WXrF9dq#9wWv)T3?xbp z^3*WfAW4W5Ob^CWKAsIPW8We)c-a;;R5{9JhSN@+aD#&Qufd60pAaj-_3lMakecdqW4)|b>828<$W5P~u^UX^KL8Xym_SosyJ>)<;L*bpLJuh4;TkXyE&AxtVM2 z4yRl8#7uuA0ne3j+M8AyfaVF*+=kDu7xES}8cQ6;mMC1e$J;hWPAGJHPCN;EIL{W> zQE-yhn*ZIZ15)@>840QI52T5OQ7h;~FRGN?84pYlhZ5=~9d`SE;7i z7ToFqi17U56us6K?O@xlyeHK5UE#Dw{os&mEM+sNsCG*|VW~4TCuuMID*JcnRaRFo zT2aqbFA#YfpBw-}Epy&QZ9{(g#J<(c0LS1#(4d8Q-}VBj3?k5Vsl)#L({1#a7e;`} zbsF*QBwo4jS66$jFe<1WjfAZiBfB>ifF-LKCom-vqf}ah3uDJUTMxm{(Z;AAX*BV; zI&ErVEn_$p0`*-n|0pmJvTNPWXSZ6P4c6#S`(KCt?(KcQ>-h2K`836&V$@6=-}@i0 zAAL#Bt{x}!3H{g?9+v)u)NGAZcSV}2R593rm?i%?knB5SqgrCK*k-&j!!PB9gj5M= z{t;)@=q3nLZC}KZ;vG5!@L~z4eR-n;rJ*_zhgu(ZaE{Sp(Oo*q=Ti7${P4yH=Z`HC zur2D|(#`NnW8!fF@fLMIE$9PYdXbsXsLAW@uDMOmtZk6+Mq+dzU&Tx&fr2mIVt3@i zJA?M?kmBJMKw&?pbL^}jh%ya04;{k737vg(B6<}pJLhF-cRgwrDIyE^7#*dpmWEW%Eav+zjQi-U%)7q0{JABM%+&ZGaxofHRZlkcPKTuv*YNPpa- zzRP`DlaEVcgX705pbmT%3wh3~IhtkuJ$RbW1eI5ujl>4-+XZ7S>7Gse!f>O@gWPzR%WMTlI0iw1Ph=}$(MtaNo-&T2mTjDx+ zpop$(rVtrSDHwJ9KcTaIp?&cgylM$N_=}!nO8FV&VxA#GSQYlxfkZIB5<^{+GTmo=J$8xJYoAuu%i&pf`o$84-eYHst3He!nvYf)8|-rCqs& zinli>ES8qpN096->w0kUfwaPqrk`SNXa})*8vz4aiS76UEDNna`@(RUbT$!WxHdYDa*;v=C`WFvMzwq2Gi`FhB+zw{^9W{Z1W`epx z#L6Y4OYWoWhE<(nPs~U&N=q?J4Xjato1#cn1q_QMSgF=c@coxj;QfD$0*`|)_zrv% zwr7w!hPkb=r>(BHMaw z{7#E@qCF-C z?D%DLFK23)*>fX+0#V!6`<>pYK3;xa>hWGIC&^^{ z_^}Jq-y6&{-jB=8*j79ekVOqGXKX)>&!+n|JtkCrhXuNyAF6O1e%i3 z3i(itw4lEG5ZX$9{QO{Ef*A;gCGQFEk6^=+da&f&e8C=@DG+J$IzM5`Rw0R%kLM3) zbw_#4&UTHOnQmdS46bj92YobrGV_zj{l z;1rb4Imgv@&iu~D0!DGp4Px_Vihon%n25ii%N}Xc@k4S8`;!jezIu7F?A!OzV$a)J zmamZXMO|OOI?ek}H|_YVZw|jY1=6t*7306li>CJHu%;P6`KN$My5h`GIk+4`A*fr{ zd(F3Jxj8ep8}fZez42@k4PqklEzm#M|HZdJE3PtLk*<^V7_bQX55QSzbmwyLNqn!W zzzRP*eA9nO#9{^D><++)g1b~pFq6rbJx5v{v%SDw@tunW-dzsb0FP;`a-SF%fIfd; zTK}_M7mP+!SYsz|v&n&y@K=oomw*t#d*GbI*a-VkwYc~%sdCgI_?T#CeFJ$<4I-N$j@p?nU(nK9T&Y$=;@#HX@#@oJ8sOu#f(c?1RDDKnxEecO{NMZAG3pn29OrvDS_Z`(KPy*tIzO+dCnZcH-7nYCvMK;vA(_}pWR!q-X=wz{L-?@pRr)4nA;$fSd=oUL5e|##H8qigH>~#aV|mXvNy&+Dumg7 zvJQBcPVS29mux0s_#tQb#8q-v6)BvJk#xRNq`3^CuKp*VGtPZ|MVq_D8W+w-&yFSv z02@M-e?{&M+DB(rMpTG-0y_7d3n3mg6Fm@U`Xu0Uy*5nIp ztwzOD5Ok+jH_iG&oyRglpfY%jvAZqYg#<jUY+uP&A-t>urYD0TH zNyHi2Pq(^v!Lw}>SBfc&H9dX_1FS(Mgn+81S_)C)oeG9bJQ0Az`oO}kF-yOz?tKRd z>C>eq=W|<@U#GjD8eM&O91@r>MpvtxH#m2!UG`{JxTk=C?a{!_W56|<1vEGr;xVe? zp}PZ=q!^e??DpsWbB&r2qL$p)o1R;O7j3boz4l(ys_T**MArcNRnR*EXg?rIeVNm^ z943Mi0c9M=uKC%a3h=ekhW{3%T#qbm``=vvUBGgYFpO)>89AJ|K*TIzI&fj13)X3izY@3ov(ar8CMI0zx_q?zORZ~mC5kSJ-&0>RhpOT;cBtW zN{0*o3Is2k+p)4uGq)gvy&f~j%r_C?xcQAvo~$#iZj;l@Vkxr>(d7c5@mC}0ew)rX zqD*RH*86-9UG<+EmdPrYO8MTJ9@lZ+Q09r2Bz(*5$RlX}0HtGc(j%-0lB zwf5`(iKaaLN9}z`{qT0JCAq`d!cSgDI~ht2iNFmiiv&I-zUj<#wv`U&!3r4W+>yE# zQ}GTy8zr9oGVSGro^km_^^&uPn?^c^XfFgr;fM;PJ0#3oowO*sR1o_e88CfoZXk)x{26i! z;>o66{=Abrp1JPVN$LE|`hC6Cfx$!HCIyiB8*&KzbnjBKFyj3p0)el|VE6g}(niC8 zV^fQ$Q9%mWBD;%WQXnA9{XU1aVv)h)2Z9H~`_;vE&6GXN$KptqtEce+Us?JQ>HA3M zwVn^-%$r?RCrpF>OnUw1GUnYsturu!eveWlyK|k658U9F=HfT5s+Tba=in{LxcqaY z4ZM^j6b&Am0t%OOef@rlFy*}6Ktz6rzz}#N0>RWtVa6)vYhKPysi%_Cm^D)%7z^+P z7~kyErGkFgrB;#vVd`VtfyIT+1!C-Cg$%#VgO4L2nke)r zzCuMnX2~4P=_RK%>X)}OJFeF=Dw|zX>!z!9sbbwz4WeChB=UVO)k41w`g8Q6RxC*2 zwJ+QM44$K4i5w~?oFZBULlU50?G&Wehp~2vU#Hjh14xGTXLg7S(yaOCSs%xc_#-C8 zBd&-7D;*>O%o@Nv-YJqV8Rm=a){Dgx*n$gE2lheThW`R30h)#o!CIgf-4Bv9Rc5jd z9A@#RUOyKaBgJ$Yz~y(b}KYSVM)Yiu7DhWH4VdOGrhTpn6WC5Brm;CnGx zNu@p&maM_jy}QxFx!})8S)W#t-7-!%omP|OThqN@Kj@NX1Fzw$&L_jR{PjvY>4s(Y zc!_1?2=SpKYJPs7Z$`+3-G0;0slikfP|-o?I&h3|1KXnYWN4liN4^mbx?8j0!F>_B z&rLJJfbmUx4ssv2_;)7n{~<_B{zH)bLD7o#y&~bXJgvbnH<*3Fj$y~BY=J?EZv^z} z8j}PbLGbnqwCq zbyj8tAIOjOU?6C?9fd8-1nE#}b%wwgIf6zoax#_NP@s{7c7+tx1DZJ5TO@k0Vc~{j-GOq*nn#v@Ppq zX>|egne5!)+ow~7>;3bjVz<> z{Bb?p#Nw*c##YuP2nhcmls^oo7Qu=zMlmDmAI~FetX>GpN&Tl^?`s5$@pOqmo@BSm zzaM7S#@CA>?!=i+Lhl#$#;H`;Em)eQvxj5p z-UaO0fUhkU$oFjqwjx=U7)>0J;P}Milpmo7D2#*Tl{4})h_l7 z$yifz-mn-NOI;HSw2uRp`FA*Lz{#@~J!&w;xdgda&Np8UPx0RC}B`9=m}n#t);Yu*os zM~@@Wtq)-=|FHFJV4jK0XSagYI_QrnW+tEzo}>p+d1RL;qKey%4Dt25nZP&Z#|bWD z&KL)=5pvwxn@=^G$D`C%sXosJqG8GrujYvXYp7uuQn_y0xV%$_nN%E-MNcirm$c^iURI##tspy7~gllzWuv$J^v6lD+^X<4(q~g7H?q3 z+SFvHl`+LBKB@>s4bKg%x&0x~;8CS@@@@`|9wGo^9ERu&8+rr-UzzNMpEWeEO5y}E zOe3ndaWzVx(PKSO^eeHqZm4$BJz7tda|YhbiV9vKUTJHSSuRt=X~k@WqWEL^a<`o z$+hz`JtXbks7hGCY z%*IxAO+0xk@Gr1G##QqNcx(oEDk4Fc8D^k;4BYG@@TC!}=_G-X|9$CCEvkY#nsS;l z!0)=nghXX5#-lj?TG{v)`&rJaqy-HjcEqc_Q-4+|u!*uXj$t0FcI1L;dSvtC#plm% z1Y_-Oj4C~k@i4Z$-XI;uP{N08a+V|}^;`MOGdN8`VOK5_rk?MG()cJhiH2#*Th z_S^lbn?PQvm1q^rqTUz9Q*}kv-pRA-L>*Et`hh zx0O#tyVRUcnC+WK$8Uyi*Ma%2*fx2{se$O7^m1o%kR=M|6$^^x5;LqLl&8#+|Ba3^ zwmQ|v4*y1xdKa@30Yeq&p|{||2}FXnr6vmc`Lq-}`pZYgXaCE5-UA|*ZWd>vv31zR zocJkb-nR22vCTR+j^`Kj&JHg)y71qXlp>qSP~;_&V(y*k4~N>XlV!y5r5(CZ43jZ$ zi|D$G?)GY{(;Fn_5NY_+QE>5+obT=Ge{^SmPTH(Y#((xw!;^q_&JCQTXRiQj6hkqe zc?30p7h>_76#T-a;?otRCbf|%4C|1bD*J+T-GZnf>#*eJ?>rI_i)2(Zrf}-L+G#*g z3XAIMnV~lRq7lTDbKOxs93M_(ZvM&G%|8hL;ZPybVmM(&VV`4R;;wU!Xf&;pIm4Qv zlmeV*#un!)e^@PAB1H&H=$e^9)pkxMPC8bpxApsQ4ope1e5aG%Q#sDYz7uU#RN zA6!9C{cFo5Jksjuvz#D>3OZwGBU37Wo94F|0olts4%sLB=#Q--k%>-$q-;cY;^tMa zmW5V+E()n+#~~O4G{@0je31~fEc>{)gklDuMH5e~8?#!#yIsUe+MSE1ltCBvFni}+ zO1F+dhhgxrqGBC!fjW9JuH5M3!&kOm@4E3yhL({u8bYU!aRvX~nP!Rzlxc8S6*V7yWLp4@n zT3lkjr`UO9cWp#aHigjA1LGWo{zZnk+=3&?+AB?NZusNCz6ivufhsBErze`2yO-N9 zQRN{RCe}%zUP6Dk{@1*NZa!up;W;JK{liw&?_o!~z`&+* zkaGGs-zjmLB^!h#sgI@CxR%yu<4gNDOi)yt=vA$(#^7s20!7;vbuaY+71<${!zkLD zX+bk#>sEpW%wXrXU-I8#{;|%hCcI68I9lp{^=+JRziHKY5YB2f)L-<{I_bw!IH6?J zN%vCHtz|6r`2h3Zij!%0ygLR?Tl)K+(}%LTphzjU`o463Uku)a5dIgXm6hxzcceknk)T3Qod0st8s)m?IFXqC0}G^)`$ddpF= zW!Xwb0C3QJxmSVev;pK4rU(r|v-Y#D7R8I$wfo^D%IAqnIhQG%Sk_)Tt2bO)+gWex ztsEa?|Ij)I&cXq{0*Xa}t@gbJ<(W7!QHQxp=cE4zS8x3nRoH$D&kQiY(A^!<(v1w= z-4fC{ARrCm(A_Oar*ufi(B0h)5)vY%poiz2^M20zeg1;|!@lo*t#$1c?;}WZpH9EM z4|voFyn8I8@n_W+_641sZ9~yVpnM(J#GdC0V2W=&vZZe+7w>RIS@+8$vvqQBa(d+9 z2PJ<3&k5uF=+#_ zM$2zNL2DQ+#Z(E(7fiOmseTzbcwLcsw*jgUQFtKHa3xmSm`qJ@lajAvc?&O&aH|#@ z2#}1!nfgW_D?YVhy=8cIE#}S_<`m+W1HbnCOj|S9ySwBZ(r_oY zN7DJ>n;*C*>HmM(?GyArvO-DR`qHp&3iNym8tCD=gx*am)~3FiP^CZI9tbJ^ORAkg zkO9<~d86s3uz2W1bJ(2oBUD2|6XHEVQ2uL;`QjA-OuB4@8-key_K=wg8!Z3bE-q_I z#&pMgb{4567xNB@bYWQ&yIJ#N9LC_o{@MfDyQM+gu}2h=QWuml=vbrJmCmrsAG zEY~0D<%n5vcNwUkq%XB3$3%g3!y>|ef@uG0eCS$l^4Biz(f{w#)2c>Tk@rW&9ARHx z%G`;FNBNkAFzdgx<7iCD1@hj6-xuMS66=5w+L<~v*LhEP9M&C|@|zcpDjw_25D`mn z<_qxZCtdI}_2=golp>mtuZ!p19;&tHM)(vwgZP^J;e|}Kc1zcR#&GOl+){T!>2iX|qu?Pni~l!t``8I)Q}%!?ojSD8IeFnAz5Sjv)^Qa{5}sor@; zgq}T2p9J_?nKUMtPat-5AmI&AA=L~Iw?wNpy#AWJMuAjpp+JGEI--Vki!Y?Usk@$V zs^`~_zd|ob1O`376ng%knw;)ywDg?d=jV;cDsGhE8|x!|G5f*&LdY&9e*eXG@FM54 z(Qey|mWDyHtc~EE_*N>eEm+bmRy_<@-y(w=)dtU51KzeS4v#RqV7sv2_q-RSqVvR0K`vFPKQS!O;88{`D^%g5y>ow33KJhu$EEbImS2BlPG&{bB3y& zxM*s&U3gsH;+b!Nf1M}$D%EN2$WtngGS*Hhjvf(aj7(gPUZX9zf^^h!#$N#vUyZ>f z&Nf}s{&ahlP>>I(`Ath56`AIzl!oga6;;~`QVvL5S-r}Vu~$U*<$6!lNB&*i-;i;H zEg#?A%Y7`7zImP*iTEaK0=E>lBFt^^ki8Hx*o@-31;(|MM?P00M^q90qqY_v7G}ix zBCGDHol}dz90(f}y)k6KrC9Zz+7{&fuK&?^97B>YR0yGo!RBL_5RW;N$qz^?J+!{e7 z{Vs1A;sW&S9?@Ka$=H6A%SJP|SL8=_II^NKc$zLl=Ac`%XSeB)!}@>Syl&?icJY$< z@te2ku{nSGCv>q~8A6My5D*u8UH*N@*9sa7N7|Y<;3q(S$>jAUX$VpV*`CWUl*sb9 z8d6_)9z7U}WChFFiL`oHQE9t?u5)umgby%ZO2FgrfM!<4Uh73sg}bHxFfy8!XM-{ zllttPp1WyR2g{QGw!0p_Nj^-n8`PYGRIV3(9lmcx{yzANr1Z1!E-fZ-{XyQ&E(iU) zNCXogyw_X7TBD#AX~)-@#A6DYWrJ9%o;pkUDPfa4S?^i%0UEVZ9@ME`I&E-a=zI zmddgifT`$eq>Ow($I{Gj6^v{%LGVilE;1J4Kd4*lR%4aJRNk0E*;DsJ-LLzHGm^F4 z6OGjF2Y{GlQ00^;Z6C?DeHaO`ci-8IF2M?dMyBQ6`p$!$2TLgbhg5^{B*=y1{c#_Y ziL?Hn#hFbYhouWt*o|6%g?*j|j*Z}(rlmQiJpux#gR+@FIfd7W;0qDtGTcT@3pMnx zg!p!u$x=7n#H~NOX8AC-jEM3D1NB2Itj0T++Bmm7YAsIu{|B#n|G#+^fz8{Qdp4jU znGTORGfA{i`N$9{npV*wiy9_qrDv8~A7^PrJ=Ri^fITSxy-~17ZYI0MPMUu??c41w`xYDLYQ}v1j z5GGSbgW0G@&6Ln7Yj%BlF0ptA$#{A`q;}C=ivr=@nG9kk#ZaHS_ z`)J){{Xs7HG)?h76V)C*#&t-=Zka-~N|YXGz}kqS(^vJX-n3Z`5b{a;S9M3dfGFiW zb6uAp6VSs45fG&tC}~bbPFX)<#$;(8*M)7&@bXMS57eKhU4i)@gC_}kv4{>O3Xk)8ko!kjPI=WYfR4@zk#*iK`I`Hb}T` zj&m~EY#K5tIx`6~q?Ez@x#Wc*R1Vt5z5~$Ol3d}ECc8-$v^K_$m}y%)-IMCDk5d`G z$m4PP&kv{;U9Vi3Oj_%Rrh3-UkEd%xvqJPh5Q5Oup!MOM=JyoI_JG#<25@Er@{0>s zP}j9T1OaFTDar&C65nhQ!Q;s?DNzCZPu&g4fUf#vU&^#>UbS+$)v38H^q^%_c@O&Bce zXMVUU6OlbC^M%?Fc-O*y_0I{$N`N}l5Bx0xcojYyBD8+)27ipm{vmC6p)XBA{iR+y z#Zb)F!?Ff|wrNhiZvK~>6t*f!8{pE{xjsZ?gLtx?L{`2(IyE$SMY?7$dM*wf7OfXC zYujM9=e@C%B=MV|8WOf7j*Iimo!4U$oE<9pZ!hAEzRJs6kR(JmKcLpMA>4r8$6fN$ z@BO6SHl@1hh<0m=uC{4%)WR-G<3LDpU_en!Rbz{2%V7iMxgUqG}>S>x{3{XxIP{b3(tRRod#g^SB>#N?PYrpB1(YzZjL zm^rjU(++^m?5cF4v#bK(I3C?_4?*~oPaB=q{0X}t&&tfMS0UinT`7lpbV!{USP=6o z1x8}2ojOWLwA!Kgq@M8?dTHi(|CIZFu2T^BgtR*oB1vbiHg;gaLvP`UC>$nfi(&TfZ#u{fECmU%hcfAx@;)gw@{?Q2@ccA+ zNkZ0Gw{}=iRyq&Dugv2?Lhfm7Rh8hR%DUO{+o(iJBx)=MIF76!z|o%Y55TjHg>P^T zQnHn#=ma|?*}ez}m0j>Tixrxx7i1IOY#s@OA)7LUO`86`{wHjE7=_NglB0%LA2(f z)oMqgb3N3e16>c@%|lN^E9`vo?C`$C**;AuiL7YKE=E2N!}bx7l(8@JgAqN^l$83y zpDz`CIxCOUG08V6m!n6o=yZn5t72Nx{dSq=ob&pbWJ&m~tYACX4NW|l#{jE00iS&& zi)U+YymywEd*5U~)(L#oVaUflZVwfX;*Y$EiZ z9eH;YFXu~p0n|l0drMDb8-=qf^+QM z-x|Cib(J<`5>ryVR2)5{nEo498Dd5Jb)Xu-GSRbIDRx}nDr(H`-#nIZ1_h(t0dq6j zN=VhgOoVz>;F~&Z!Q^QlmBhO=Or-PlYOyhtIa;nN3X}PEcjns!RV@C0RD~BdVAs5& z;L31zr~adYE606JMa!Q$YGJ)XQ_+`N!q*tD{|>ya`97x2x})uO*Odo(#jG9{m2x>~ z5CHc_S;agJZZxr z3!}9=c(A6TMUjC>!RUK#&A4C)uM^TwMJt#^izVESHI|*|JNDrZ8c8~|&Q0cV6xm5Y z*tKca*I$)auMpsR9z*5ox(p!kSm*d2H&!J$t3T?)pzAg&`)<5{elUUE zi!eX1Mt%rd%5n_Ct?B%lug|i*<2A2Y7`3U8FAB$MKs5ob%-r^yXV)OwMO$U)`du*6 z(a*upQ?s$o1>gik+~)?*=+HH( zaI`xdXw{4hpN2RCAem{%8DyBnM01@rPEK-d z5f?;}msYwL00uB4do|!ggETcwAtNg|=EJaXii~%-)u1vkS7@x-TSdHD*VaY0CH_zO z;b^(%msqXjZA4Gf(CSrN$$CdJ;Nu3JO&+;9El#Fzj$}?N?|`j6XKmQhm~N&RKQ$y6 z6JA`x@v(J&;HFrCgVgGj^n2zT40!f3XUrQi9mW3Euc_md-WTvLAgv{?Ihp0wH>mQe z__a9rsTnQBsxgaUhK0+!>@@b!(Puww(sg(Bw$9a;4_2Mp|1=xLEl)MELEp*(o&k@n zv?3P;WfFTflw}@$6P6kxnj2I{d`}#`9?C9q4Tn$R&`gHjw#e_&2PvY96Piji#BK_k zXKm+{Sv!93PMWYE>z(wz_mO_eiS>LFcz=}B>wRpwy-Bv2I&9KEayhI15qw-$E`0Bd zD`{7lj{d$DX^C6I87H!yhn}n^1(g5I%Cy-413LO3&8u4Fgbufdf>S54=5`xe*0)|~ zsaV5gp%TxGD$-gvAT^{%PczbS2K4 zb(?&mwJ72y18jjG@@FTs^0}2TKS%PP=)$RI#R}U%O`-fn_+Ypy&~?X$YvVS^QTX0f zfWOs+NUkZw{W2fX89COpSZ7u~y$f|9JaUs`-N$c)=sgi(MyiZk&zlcw5F@_^K!%oS z9Rq6#RzJnt%g7DG93kerK#4$%{)4#o*ep>+%_0U*!{q4J8`SQnmDhx&AJ+~9XHfo3%va~ES zuP!oQVZpvwi~FYbm9!9H+}E#!-tY*>CEm)8?<&p){ylLnPq=hOga!FJ*G@DSOT9H) zUP)CI6nxlm$~j0`KM-h6Nn-l4q+LEu;}%ixFn2j<&3lGsP*xoCh+*EI%;vUmnW0UK zU#HauoQ+EUIZrdlYfD>T{HVrsb-`FCWcEeuyP0JKCh;G#=aeYe{+Ojt_6nxLwl{b= zp7(}?o9ekspObIfqP0b|*yu;!7VZiF0S}TR36s;qrqULnP$*L^&7+1p($MM&u^kJU z?y&%@a_T3_YY5Ss(LboPq#Y7j+Dz>5x=F$hJvdGLESNR|J}{a1R+HH-MJ^((XlIwp z59t=E%agEeM)WRqNwJ-;4?NRCuYW1oQYQA(#kR7)zUwEM|dSL|fY zBZTT3kF26}z$?MXZx+NHS)A>{5ZBR;CsD{h_Hl{e)q(+Oi$pzob8h4n(%o?SR-Ofx-d4@W z60}o?kB?v3U`VT-a!+oxabxgpYadc!P5l_VF%Is!qb+hn?Fy@1aBo137bQ?twty`;|b0U}|NY=9e#+VvSZ7 z7^_|t3NbMTJe197yx$$aszzfr4j3GA$?pe1!u$1sh@wAFr;3Sc-V0=#Be@ zsZzD_wPdU>zuo1rsT>f%$-#J>h#4q8sqh`=+Ekm{w;V(yhR_!FYwC)tR}3X$L#=O zCeYf_5XJik_d6{vCL z(FO6a?@yjA#=UP-i^N2BV+SU$cg#s#ty1osabb&qQ7m368=$oTz$MKY$6Kc1Ez;1? zh*%`R6~*@~n7+>9t>f{hEMmD#uA@IL-+o%eJy1>(!_n?XX5>v*_Yih{W3Dy#@=c@L zxD-c7cbgI9LfymiT6RZc@>uCKu^GnMn^!*tNIxvt#V#zF9bS&!nzg=)GF1Gp5R{bv zgrMXhXA$3YsUU8j%116v1J-gxQisbWhrHiZ68|>p(*D&?qldrBfYj?GJPa*}IcRG2 z#mEPRHNh9plmm&w7XQR@Kb1u9kK$eY)s)z{ciSK!e{@ZOx{JXH+q*kv(4+ueIv+w* z>AvUjaSLwTwECMc?QFz6rF$on)v{^?#qzY=E^?gU(P>%Y*>R%fQ-j9} zfTFh6U}1;1%rDVP{M>(U$Ys;NaI0eaIZ6d%wTH)s?C?kS8F8ior2v3P6`s(xSzE6e z4j!moLM#24Mw;36{CW8=g`%Q}OG$k_RIB_^h=;SIVCzO@ zEO0MYt!jBF@kmtG(C5Cg>ZgruU-|{$-w#}$M z@rW5D12)<3c#ipol{_?dKJ?A?!NV((3M5~fwvX|wnB7l=Wwn7nHsB7!652{sVP8Zm zvizLk*p^-+bFKuL8~|Btvh{WoB2t+t#;qc_Q#5T9k61(N&`OKK$L}`qk0O9X4y%qv zC0hdcD!Aeu&b9zv>5-Gg^_*ktM_&mJuBy<4+g)9;Q$b`bguNs8~ZFpx~hPvO~;JLX$4syK1iC+p)W3Q>VTUWef zJ>-EuXCGIjBTSY-orWb_YSuay7sC9ekQ-!)B_eAgBM-nwT-2M$65(yMU}n}jwLfcf zYN3xI^GSN~q_VB6&S)#A(gTkhO8G0l<$OX!UkOB~m{-}!nu(`0JX;;WNH_H|*I|Xn zVnt`XzJGsU!&OQ2>2BC=-b%KYJ!Fjexn*oNulD_yz|-JA0?(eGsw#iX7!yZ5v~azR zDB0pzBD=3&`+8PWeVer!EwD%YHZBbGYrG7oAtOYxS!tytpJ)(#TEs+=NL_>35K{k+ zQuZNrEecZ^1Yh4p2h$OUxL1+*QyZY3BX4M}i1Y+owvR>c`qJO!y|cMZY-(~WGXliD zL4==BMv&6Vz~g`ySY(9n7JZ^iru6;1_x(3uR=UN{@+ylJ-Wm)*DHFF&??PN^8_!$X zAZd~o)ZI~v^Mj-?Akp?$>Rr20yFkD5^fd9e}&jy0Ml zErayx+ZT&DR=|K=+p=)QJC(5*_v|`)UTdfC`&@;6pX#{8kl`{1!}9fmu`Hc9t^X`v z;iRCf_BJ3e_o+04C%6uO6Qb&uvn$l=Hhp3vWGtU8PsWqZ`vi!}BpVzur2a|nn)h<9 zv8(`tg8m>F+6-;m0PoJ@XNa~r!>UaLsl6sZMsSP}7Kfx`9lK+uZGa2p9lZ)zO(XMM zGkJ&pzVq(K)r8Q$J(`}!^W%SwXUnx#SpU(uU%msymyoW9VUrV$o-J!wwXvBJBj2RX;(JpTssH zA);iQ!s2>N-_YleAgv9sMCZ9knD>P9u*_K8scZmV2`!vRU|+BL_SH8 zU9EAHV$GG{gCg+B?(0qQ1Ct0dORqq{wg1mOiXWE5Z)xiKso6n4Hv|mm#B}LmXQ%M? zKVpQxCAnhAA}J^N5ZRbp!$#Gsb(BD7j!zfDu-oUOTFEV_AEh=Y1ZQa=3{~4u>lBf; zY)lm%UBf;a!ki$RSJ+<#eMfE`xF|mEvYw0D6qc|BROn|`zNnU`E3|#SZy2^VDKk^> zI-zf@O)%bR!RlKYMj;&k1(W{c-Z@X9oww}vMh8H5zT_|!I5bowDxes7YPdod-)r2j zi-i-j?$mpW=k`VUmpQVZ^#zrViuhLndgH%b&G@VA9{(f8dp377F+>8m4km0a25vMk z#8@@U*3FSeOZLi^$Vm3A;gA@FSK;r)_a(#37zS7HTZ>7ptk9ff%w_atbx&B2skYBI z9p9E+4vAL%6+3m773M~0jo5^2NE$$Te7rbvXfw9~C@+Cp<%g;wuG$m+DMWvg5=U3kFcI{3_KMoCBzG)9zZ2xDY3~ z#r!_7%83I{#QDWda8x;d2G6Ix8;`BR!s0)0Dvji_@#NXS%q8u`w!RSYLJ5lHkY6`D zk4M`x$AyHQeCE|hUCFGO2gkjRh1R$&W4%HJFduerI)<^6yu;9t_#0L${y6wLz{}xe zk$)=uqrm2!0>~|3=CauJJYHn@OFgZ8E4yx4X@3Q(`f#h{dd%7G&$IE}waLZ0t|f>< zyhbQP#ISUUK1$u$uC!DDhKbzRt!N6N72f@8DJb{@GS|dI3Q9mC-kbxzcq>-^_myC> z!%RZ>tv@h44W+sPRzSZyV|N6K50Y+YC-hs!58?_(q z50K5lWU{nSYX~xuq9qzW2UCsyT#X5vl1YZ66X$pb*Sw8^vuoSIH{J9uFJ}jpw<^p; zigdWN0DOSd0U0J3X#&$0oZ{yv8nOIZ;oslmZfYopbDFFad2nmXpYH4)*NZ<>V#oi! zB(~fP8^GMYTK}*T;83w2r{!^ai~KrFXMgvQ*cwt=C0UPbG~tj({pVlDg!=K0-bV4C zrHq{_9J?A6gI_NVG*^GVgc}+nj7!H1D|*FTR??a|8Qd!ISA5g*r}XxcSOgO|{tTcF zhNQ`(q#P(8CLR-e-@ZITk5=E0m4=tg7`F1E9&!xPbVF;t^;Rq zv#IG|>NDNeP(n0TTy5H7sA5ne=#l|N8ovLL(bjNbJ03Jqk|$%eU0zX}s|hAXMP)o` zXn(8?l}Dgg{KU@@kU0i5AzPTfCBa#4!B-VIA&p?4nK+=kHVd?w3;fIH&=C*yCADgO zyrCqfY*pG{lak_KK>KYB$)vWL`xuGIq5P-)CE`7)O(?kTsg0?B{9ru@EBKjpDTI&& zRmk3>=fo^m*474B)6N7Xab_y1#n}5QXCh~o$ko?j{g8pof9EIOda?`BTV3%VKWH1% z`&%pAiQzOlJMIx z05PFas3$*d%Aw+yUkURz!N1~O)ko7dhuI2N7s}?6lenrpoaPKE1MWz!A^aKI-PTfjw6Vyaf+(8axkw7Yu_oL7Y|*A< zyzBh_$Au%dPHu^D-$6Y>wfz10(Y zo^td5Q9`5I^U$SmDfx5g!%NHHN1Xn{k0tP-_MuM0wCwZOjRdcv8(sjjj8d*`WOYjLKO#4^ z^n~L!b8|*u-`ly%Oz(fnqn9 zHD(WlaRURlnIolPZ`k9tQE2xlgCr~Sr)k<4oz@i;cOmZetzXZ%7nESQY2-2WIPdNI z{vfz^>8@z+blh94K6QtpjJ!>~=|uO*2=0n568Tp!mH$JuWoi&9x9F&8S18K46~{EK zanE{yi-L~=G?1C6ygI%ex0Z#Zhcon<76V%n_ZK%9?$qoVjHzyZQWmA-?vh2=VPZe)#l*btZ;VF0sqOv^|ZN9c4=> z`Oiwy20L)2<*dP+mddRBbz(vr!-D}H+6@4JwyWy5b|t%T(IIBlaxTr2zE?vS*eb}u z$J!nW6;H_5@WDDgS({~Qz&6(w?-+y8j)d?g4-~h}w?-mBkKN;rArq()P-OJOWWA4C z44yOZBajWByD-LF2SmOtUlMQ!hnmS~vF_=+Eyou+%a0nGaQRQfhJuRSodAaBLHXGy zIo}H$J+QLY)P_sy%3)bW{#SZqOM#(e#)BlYm@W`=DHn001_WA?z4?%toKktPYgLV> zbB(&FTre(nzUGLH+{ZkiIP^`6jjey0FBI$3`%kx1gsuzk;;`*Q5E!g@Mu2$n6Whkj z`D4u~-T`b)gf6Sx#)&=?=O8yQvfSz;y{ilttNRD7QWD^+)1u$iS*L{cqShsJyj9u7 zb^z7za13O;Ns#-FfvgOn?o4AvqExRH$;|m`)=l%jMZ0#%hb^mr-w_|SA^R|Bh3lh# zAv_#C1|bg%2VjVpi*u7ccTfyBD6*#6*`<*$!RCE7YT6)`@hZ_?Pb;6Pd_#yT<98oB zoj0IgkAQHL+-m$8K9oys4lE<@0XMl(0OQiG9OqENP-^gbDe%u}amwPu6gQZlH8$#f zr0J+KTUPW+O(l9TdZ+k@@asXJ)EGGwvvN$OFnW2HbyRf4&-GahH_d)EvgY%mZem~# zEW{jAT`X>o;t*sH)xFm((x4OWF5ItNrf2UOqYkcAN40wm`!@f|2qE8E(@Hunu%Yx7 zZ@rnvIYR?9g3nEqK#0o5Ka{3!a`7HA#G%hCVyhj;|`zGJc`Ec*Xcu3XvuT2^QCq_2ye|Mw__?jSW>IPh|IgY7b+Q!YnXF zgzLH~<%9S>--<>Hvr_W>Icgwp{JYzM-CwTs)-w)uR^=i8BbV+6?dSc}H;f+R?S%@y z87W7u8cC~T-vAqliWmC$u;t7kQyI4OPc2V6lvi4-xI+&8-L?)Tzf@N3ksN<1DpXt% zIG9NDS{ne@T@RIa6k>j}sj{X=3fGURHh}I6dbp9;a8ZSbegRN$obhcuu&$6EH;F4D zLuIy=rl)|^UFr(nHSe&XGl&TUJ1DI=l|2}5hW1wmqgc|AmxtwhtNlG-TXC5|t;IDm>-OgWuZ#|Xw^8_|t~4x|7@Xx`~B zXOc-iwRb(7@AupssNnol!FW0PtFDiKiUIF*jx8{;q0({aAG3{CGmcF#UG&+Zicz*Ofd@`kZM?KT2yf}QnJ8WX74Iw zvw{lqu>=Yo1c9Q2KEg5qvCKST$nlob0}`>QRd{QhRpMxod<{g2-WdBC57ZcT0Kz(J zE5*l5Gt(2JF!RD90DE@rs%qUlim`CL<@mfxI%gTDjO(JHGnaCD-@{z4GClZ-c^pWXEo*d zyO*E-iU8Fz%739RnQ{0M{ech4zvOb&4+?{AC)Qc;PF3ZEU$SKiOqg97T<5AMd6vqM zE_}ZEO%UkY&1Mab62lKqD@^sgqALnTKiyPo?xNdCoyS$$3;1|5s;F=+6!HP@_bz|=%f5n zM^$WWt)FQHe1olzYrq&hr+Xwz$Q~~ceD8_IjphO%1^%et(d59fVbGM=!GrmdMw#wJ zrv?-51aHYS&3kAvX;y&@$lFpPFF?wK?_`%KK*FD4Hk|YB=1A?D@w|g9V#>*HhF6tY zuNE>>-wnL#Hsmnm$^ee!$FaCMs-(s%N5vFgE&AG(ZHZXac0V25zYDxum;Ctqs{6)| zVHaO}=Q11AV4lodsTJLugoLlWU4;Fv?aLyN+B# zMrOG=!dZesv(Op`d|>m(wcu1VRVE9uj%rU{5kTQ+Ds@8#t{`GSaNOLmv92asb`EW+ z_hjGtX5gGTCJl2F(E>p2xk^L9DrOGJoJM}Qf^0t4hFVv=NJ_B5?f2J*BH6_IOM3Bx zM61X#4+^fIt$ZSV&;!aKJMGdNu?4eDY7o8e&3`NB(Eq zw+6_85aWHA;2%SNNL9g@z6FrsyIs2(HC3>UmC`xJn8m%{ooHtaq;87T5Qw#E8$pYV z+WB2%cKtR-LnqBH*0ImKy^06HIGajxhN9qu^G$u@DBVwxhrC6?xQ-EMp9NIB!>w1x zy#Azj5Hm4V_XR!U|G^+!?Vabsmx<8%E){e9(O4&6@3ZKF@TWEU3gD`^q=?K|YbV#_+nU_GyR4j})2DpMuAx^zVP-aYS%r(-wNTyZe7{8n5SSNqhOUR)y={QXM} zw+i|Oy`(>oLJBK2)|`{h7!Yw_Ys09uwkS<~27WvnPYw3#dhQ}#1*0{f8uIo88+oFf zp%;7Fa24pUNf~_};>_4=qJp$O252C_eCgCtY0W1eUkcQoXaAsA$=d^Wf;$o--{fQQ z5aMTbi=h>g|H?nzvp{hoGAvlN@$T8}445aj2#b9dzQdg8~Y-v!e>e^2*o%l)hVa}#JnLBN$U*JH8D zSc!|z2q~OI8GTiy?tRc3KhP1meGirDD^Y9q-OupYxzDR$kgm&Sw7XV+y-{lE#EmRy6(bj0RgE?z)MKyJbHhS{)4IBbUN7`fO{RI7 z=vuDk;*IqY+r-t89a7aN9I1i3X-1Lg(*y1EIePvsky@B|{b?vv{mr$^{Q#AkY3DH)ypcNBlklc;Mg zi5gOkV%+tNtaSTj43w{=9t_CCL(4E(oq;x|#nF>Vr(WI8Iv?C}2j5~MvrrFD$c$7w z=4&QgBTs^y@Fmx4-(k&m1ig1FT02O0Ym%jWtEij29glcagC+XE7-O&p*c2P#xbbwK zwV&mI`ry&_1}kyLY&S{Ku=V|5lcxoxXpi{n8dQv{WW1lECjSTg|6fjg9|NL8TnB3L zavUoZKubIhN+hY;f0j{Cz&1k?qmrvx1&9rDO}8_yDpP_YIYhLBUs*B-msbhmMrRSJ zfm{yI1Pg=-Kv-)a474{wZ79Gd+z(Q@B66st)`DDcnIno}+@0;W7jMIiX0Vl|63Dbr zs-0+M#kip%{MpAK?t~E(>rKZXnRmLW`gz|x3%>jTP#2HjSWtImRdKx3>RAf_eHc(! zo3NX2tbYlP%srhXgfN`9Z}a+s>%chyC>l7&`LlXyvuZ2ws;%vp5)Ks zM_-Cii2;-@TK&)6hi`&3#$4zt@w&)a-J^XAs#tVUX{8Z5!5ODrqd#Ono%VFhDpu%_ z^|BMqQsyTbb!`}?{*YD9ztG~qp7daL(;!2o)-gjqAr zAChG5=I&|!l#tN;N%({oXK(Scr+A1c0c@N9b8)QXp@TEH=2>}k5Jfx?ACuAq%%fkR zOF}~~MxT)vq=%?K(AKiIM#0u88?#*~n>dXdn=kdC@!pPxeofBqR&(-7*PjplY5FCY zK%eXhXcW2F+-KPVAhtM93Ues4VVmyIqdI{QHaFJv_n>2B)-Uy3h(L2R@2=}{pn&ac z^K@_R(hg^=Oj?W-A07G?Zr7PB`BB?_ z-|9R5wptzVlNWpW#{Azk(0>SUrz9a7F#bLw-hx$<9%X6E?{`K^#kmoUAdZN#1nm|Hj{UhH=Qvl0hslioLOx@4%F7q!FsF(>vWIKHy+_uV(=iAN@K({n5atXr zI_|W2M%v^AwuLc@OAQ5SxJ0i_J~-ZM{(1+h@Np;44{}mY`FhUYu%QWAV^G2BfZW_v z!}%c>tEK-G9G0CJ=S)u>^fl)`Xg1@bw3WJoD^Y{X$**5Te&~y^n9I$GUk>wsi`2-Ul8tS z3wA*1KkV{%jZ^NgrKieFCcF1;5_D;t_Fov`oJCq%*hZLcB#N6WdM{$Oan3@iIPjie!YJ6%?G zAI7}hneE!9NNCQD7JG0;4xps;QAHI%Ju3ak+Pbj|@iz#9qr+$Sb1df(9B82&PRNY} zWuncoXCrsjZXK68a$*6+F11wUtE1jyvB#m#Ync`Sj5{Bn-RlP&lZ@oj_0WeDqOWHM zoaKVxe8`6#oa;ji9f)q4e4AskhcJy*90yu1I_R=(xcpAUUOJDLC$(zYUE3fEH_ zVi;qES4lo6G2<~V_hQ8oYchgdi(=q3!?2DJP07fAUT&00q*7)_Qz{e1dZW^~!z_lu zcUrbg)8=KH=6CgN&GO-?qQUh8>ckGO7AlP794|47lVKreer7*XXwTihdHKo*yHFik zMEbqyVQ{{8(eu+z4X{0)18{IV8zKMf@vcPNt%Je2hD|Y@W?8DYvnx9il!}5Nz$UotjI_{ zh&0Sy5H1%z@#8kuGRbAE@s;8C~engOj|75G378a;xh2 z39npFK)7j^IQzIhbD=cB$8WL6F_WoQ@!|5Oy>j($Na^!!k*-<K-wNGzr-^6?=KMP8J z{YIIJdy1=5&KVyuOIz+n>79^7c#Hd<5o=~U4L%5i+LCTv~N+G@)^o3GhZCA3um_~8G0;4@WVHLRr3FlIKL);P_F>qptS z`Sfb-y;P2>c~pklzk!=Yy6aCy9<6$GBM}=$rD;h{=q^~lYc7MUq}vT!i6H%gqJl3u zbf=%zT@3z`C?j}S{|g<3{BLxm$-}XKDI2sj7KGF|J$Y`Q6Zo7~Pw_@f)Z?+5m?G0P zN}Cu7uUKhv2Yt`Amy}M6*9KoDHgb4v<2GC_d-9&cSdUpeZI;X z$Xm;4(txS?&Ge)gT9|)yNn!c99x*T2x;9_~wjjN6H!`%w9diO8|G^ENPO0Px+v|oH z&LCVQg2&ZnjBgD+H6?C6T5}mPPrsw-Q@|<4C%lqR(f|c$OK7(ss)m^eR*kXKRT08? zMGJ(xe{&KF+@s3wC{sdzeR1(tgGKeLjB$3$&jn9 z>;sofLnu26=*#I9)In-)rmLSD&zCx@b2-<4)iY(k>416eS;Qs~Zqm~O0+If*X!eV7 znSoz>n$f3!y~d%@+9)R9r$S!wy`!y{h9HX)Wf~EYBGb^7ldkCGtmp_;4FTO z8rK$V;)~E^thB(i#fQXet%^;`#?O{-L*_#if&T@WA%3Xonh@|HA$O)LvhIq?BOgJF27mo{el7au8{})wX6%|*sE!*ADxVzK11`961-5ml1g1fuB zy9IX%8Z5ZGCAhlgdk8ppR#qjspD#vhe zYU~Z3Z7BWs=1-%eKsc7sDJ?CbDew@+3sqrHJ=U-v@1F-XhipAxPD-WQNy{7w5dgza z8= z06W>E^K1H6u-<#^Ed$C)^eEorU(OFeJeT6fcEz~B0uc8?5;(uzHEf18xa}MF(oV05 z%@6DAku$-{_2I}!Po!?!lCyo7LGVKYwMY70^S?~F5b0Ka?*4Up)V}9%yYz9se$4`) zy3Gi$Hgc&`=isz#x|O7=<={*hX+iEAeY`3)ns{;Da~W;}JP80F;`UA_>+QQ8UihlK zC`2e-$m10W?FX>;l($*=Q_5!&jV+=bx{f#n=|H-mE?PM7ZsytsPri{f_t|#+^?cA{ z)vlU0hcVif^hyQF&*|YG z8Jmf}Yl*6UN6$12fOw2@`Ujr|w)JbK)OQZIk^#7|0E+b?AYN|RUUYxL@V3M%WdbZW z(K0=|4ZNl`@opIKNTF?d`B;d=)XRhnEj1xPnSRw-;Jcg;BBNk38z&T6(#5NkkRR@D z{9#0FFW4ABUYh>mT& z5Q~||zN8D@)auUi=^?K|cnK|;RM`|yd|xif$cfRQQ(vgIQ$I7xrrb?$h;JtGlDEHreA4vI4a>eZ`smDa z+Ky~)gYsI&xzjDQ!Cbg8tV@3I57_Uk`QQZ@ny}bLJnu?CJ>vD1?$xa8n_tz^LG82v z=kOGIJuC279Q!@i(57AgNqA2#QQGF0(8h%zbfQ%IWbh&ze{wzBrEhC<+(`=tZoO2> z9m3|MeF(gT!|RAZRv_i4`3fyt+V1bLnBbde)rsFDX)!&r1Cpu0;syJ;!+<)*Z?$J2 z=qcvFRgqcwRv0_wwyn(H42QVh6(ak~nIl(q6edQ^8@jMsALUk{=bf9IHE<3-_NCUFuO13UsIuo>b(0lgAA(S88FaX$n~4_ z2n&iLe(|QY`H#uR0A{v*kntYy@_xlmCEKiVe_haZ3p!o>Nyw0KQhcj%-E=g!Y*?tg z0h{vJ?-&_E`u```|46Lvjd)Nv$3N&9iUHlKGL(|EHGH~0I!CsCdH7L6Ef`nP?=sGB zs_UO(!Nz*)pf044ibP9ATq9adjpCOWPbF20E594MPF) zLKB=N#Qk@f=AsY38`;F2Wgj33yX6NKGEYA=rsJ`ctPSTwNQcwFU9Y8p&Eb2VzD7OI z=6#-Kr4e~RSJ@<2HP{)9S>m&Mdw6?Xdb)o-qWR>3y0Hg*2&&}33yww&s3oW~#6_~T zt72mrvFr|_fuiTEkSFz{6YAvrqmPUh(!44Q;9+6C$QzNbOe?6PolL{>E7-+K#UGt^ z_AIyk_|aH>DZZiN$7qrbmC;b#{7LqX3!lPZigF!8jDdK(X*+xubW8(uExYmi+G|Hi zsSNgp2(3>P{+IyD;MZD&)Gv-B!@ZhtVPb#GE4#HAApPLq?~w7`1DYYGUNLpSQZ1e7N`wQOUuv50FF>?XdR>X~&d*Cjb@r%rllU!JTnkvP@NZY5;K{F? zQhJeHYM|BblAv6ib+YjIN^UIObbT1uMV*`DK|;GahU(^J+m0RAr#lMNm$T~$fhWQ7 ztlUSWLtoK63W(bS{{Qk@uY>>CtuEHGUc$EkI-&825Pd6>xB3Lb;_JP9J~!=BZV`G- z$1F&6iPA|ulyt>M(d7Z%75OA#B3<89ax|)Dsvf@hEj@H|3h#OJqp@*v({yxoq*!(G z{RLrA(Q{j+EG!2;Epe|f(jC$XOo7#=l0k#z3M799!_hE#H%}d)Lz4I_7D?zOb2CmE zH)9?Dy8osI0(Jpxag%WsT%FgEw><(Uh<@?0!XsEcNwZ{mR47N2!g&%gbvKK&omcf| zGUT$6Mcv5B70rkn2=TP&S-lbLcu~U{M*b3cv`Xff1I40Xn^l$8<{0PWG-FIJisdpx zl8Jf%L1g+n;Tl`!mX`+nJ$diVv|ryYp4^Ie#!SU1pPIh)L7f#JHft0W35^B4IFHT9 zj>J8`@qEe7@AB76oFG$VZRo$IL_XkP&28h!DfjJp|83^Qi!|JJl^y^fw;Ra- z9s{L^y?H-^Dq8nc5+YbKl7lQBYlx`{F3DS-P8pk)Icg z5TySdWeC$l0>_$FD2kgk+)~S`-KRaWLbQ+5R%+#z3&(owuA$>)J|mk)xpr=j_mam^ zOQfgWTnD+I3rryMte|7+X9FAy`sH6^kOoDeOL1V14`~c8)+S&v@ZVv&q^BP(2%M6R z@QrcseRf>sbOl*voi5(+-QWn7C=7nv8z@Qn#!ytAqM~>{prjr2KnP?m%v1sxq>jmG zcSJ;Mu7o9Vb~h^;e4YyO)6nq@CCt;rU7!2&30O(&o)-3@SZhl5j1I+Ch($lDY$*XE-C%z8X%5GVI%LkB7ep zA0ZA022*xWRXZfN)b3pk@vWOCS$u6`-R6uQ836X}(#LG&w&eBC{H*Vy!>Jzwdu;7o zrn&9+U$&jR`#Y~6+$7%fleRQbh!*erPnJg~mNM2={#z92hxu<3z7Z_5C4d_R!ozXy zT0YR|%3Av!{YF(d-@n?1JdAF_IkiR=ezPGFPW?9*3b=@zXE5esm@f29#wF69(E^K1 z<(@9BxGsy`VNOe&>@eO?O~h6V67s6+m;zu3NP#NSNq56Vml2eSUCNYz4~*CgS801S zDEZ2ad82qntvovT7j%qd=#^*R0LM6FOk-wF=y>HJH>*ED>NjWxL&XMr>kwt>0MsjJ zIX})~viBC&HPh5f$Y}_GWEJ-D)b&EX8=XRIWN-+n?s}L&_MxxS>hpQ12pHw!zR$cg zO~eDe@hWo^LS?#A(AMswnz=5;Oh?I9G9cAUW1?@#QeZu(i%`b`IoPJOvKabf8NGQz z07PI_9c_BeFzA7{Zn3*;5d4>0NCHMS7HDXV1&cUtKwSw!)*LOe=wB|5xQiDbVZfPA zo@prCfwg{f+IT+K_qe+ClVsD+ZMsDXeg|wO5->T}n)C5bw^fIIihI9HS;8M3j|i{_ zqhd$NvSJwVNK)|e}XZkRtILm#u2#rI`wZ>~r*fgiK zxM1yBA_kdGMvgOOlti0Ot&8ubaJ&FsV!N@X18)}Ly2OmjU#UJD+GESrS%fS3g#5CGkc@XEmcW~;6xLQVIZ zDUEPCGx3>WPe{s&^NJ~M8)v;rQxztBW)@`#lZj)6jt}i?JZ1_T|8JOf+;+%!O-SJD zcUf6gDK-n6HZk=N+om7km@)AJxlnE+b9wJ+;25}6&ti!kR+!aspAw=wgX2qPn80G zJe<9J2|CJ1@iN4pga9!RI?czl&Qi>A~c4-@eDG+4ffb%z-#!cexTpD zMflbW_8j)0;V#X_)4=#J0A*0ZE^8@M0kj3kaSua%@a9Z>if>aU3KR;P#xyqnP#;gr z9#KnWfB;b)G1PLPrI4dfcNG>WXM|R9e84m)@GpSctt7^0#Grwk;v1Rb5TMx3IxtV) z3ZJwfLQ8393E0}TKO7W><@(*={?6tT5gC0KBjZl}?O745~f3))foSz|(IW{=zynsqBHJvcl4YE85RO5WaYw54Z@p)$idHrRo z$o~ClF@5!+)Dow=33bGNPBD-S?Dz4G%pL-Bd4azfynjZYIMsj_xUhksnp!|tDG_?U z$U~!7#Rhy_PhM#lyhxM|+{XP{#mZ%Nha=2W&!Cl^H;%}PM(XU@%>q3-j4dY9(Hw>+ zBjz88mrXG;DQW-~&}S027Iff4$+cWwG0T898>oX?Xi{85>ShH#0*D3X*qwtwwW|V2dg!W-%Z6*mU7babJbnKE)b8hF!YIQSS@=ZZ%%mLoui6|`L==eO> zmcvSBPz6?DA%eX+8QNiE_P0g5=lYEXzO(i*lE?Qrm{TuBflD1Th0be(pPxOW&Azkz zH%r_V`;R4FP^RL)-w^{Yp|x!iNfu$^kmak)!w@H5eWyTV*94VdSysaEUfZo4mD%YS zrKbzFAxbMnistQB7-7`xIejP=7AY$PVi5r#x{{9ALXZ}9>ff5=kd5AG^9*-1r)Fh# zkCGmGWzH)0K)6%%<$Qpfb_vJCw(aHkVI&79x+p0B>EiQHtcE|V678(+Z2+}WoY?N` z)%pu!>8uJq|4w2b55J>z8mIzp5;++IRZ7MqGCSaXiAFTR2L{xtQBz2+J=d}8fRM9T zUaFjYm#50_y!?Vl7zZKH=jKnnAL`b_WtFEsI&PNoYto7_Xm_$#^g|8-pV6WfaUgjg zjzS+x>5Fdm>?KG^=+VrAtQl|oP%AGM5=t_P2>sSVm~1SQlWFeSYAmju7gpA=-{w4wS92E0 zgXsy*Bx2AA!}`k&31?~qSb1GZ8?{Re_a{<->#-hqeXVAO_&9~0BPy!#Ykp;ZbUoNi zl+V^03@o(8^e0;Ko?mtW600Gil0Ac&ST6)xes9_)rbBi{(I8X~QOTDr1)sjY=4nYR z!EfVblU0l{`s`@C1r=^Mq{V?mB=OI;3)v;c`#l0tf{N{U@?EEI7B@y_(W<;RSK28CHAeC zpm_nwfTPYq=!}kdIctw|jx>g9+mGw+pU7oC|!W_riz?Oiudt@ZL+G(+J+;=05d8 zr4z3-Zi@(6!*t66;Xx|+(kRmrJ`c?S9?(0P=-rSRJhy=~)Pd)z<~Wvh`u+~>oY9qw z66LYjL=#a~D_R9x*I%AvRh`D*{N%b8emV*K3S@HFu?+fjnC@ctVl!I|FIsR~LZ~q9 zgXDuvx)oskf4Ha&Q0W1VYyF9lL?rhAjgbQFYCI6f|K zToP0J7#*$trzcW;eyDGp{>O<*#0HE+Dp5}vi6Zq}VIzikQIYc3q7*5qh3v@XE_|Se z&KG<*G$my6YkPE5{$1aa$G9Is==(eNK9TO-IR%lO?PmHct>I_c=xj z06qZa2Hpjh_b}eoQ89YS0Ck;=PA8G8f|Gsv9t;=>Be^6YptGk>`Che}D{(GG&BhcS z#S{rFFihm$+E*Tp93ZNXYc4cc?`;1(u-kfgvlHThpe67<*r?( z{MRImf5-n5xVrPPB>TN(`)zmjGCiT|^NT~1tsA50^ZcU59b!OIv{kaBW>N7sHtHfG zD{HYQnF^Q$2y#qJx00L@l2HSm!N5s$wpWYc>Dc{Zi7btD$Ed-T@c6?>-2_XNScIJ@ zzWV#RJBT67SS&AVP>~W%L}t?9mGn++U$<3Z@DTPm?w7e9`U>QWt@H$dM1lEvT@40p zTOguTXd3=EJ$1?|>vaX9w5IeODjnXH{!^P_6)5Afz|y&H`;30r5l1_WG1!68!^#Bg zVD{P(;KLF@Kul@vYr%R|l9ppP1vHM>=C7kr0358fh2XbE)aD%8Qt{G;rs~D9LNmua zE1r4&ZZi}vQSE$V$H*0^32Ym2&4V8_F0`^J8&~;NKm5th$SKFrfkdnCv)&5e4}8$( zWHm^nLcZ>i8=0{NkXGLY7moCh@A+A`NM;4xefg&+=T{EYZV#_`L~Fmy(nEn4pXYfc z%JzW`xRbtpheX3-GKzPNV2E_vZFGZn{}DO0O$FD}4IHTyi?iR=Nz+M~6@JZEn*0Y_ z_nU+S%?YmGq2|dS9owIhq&^2@6Q5pozr~RXThJhm!Upzw}*4>wVA# z5`2X|_<8I{aL8_#q(oo@qsBl+8(uO|yDd;7aiJfvZKs#}$?$e=2JQhFTFHb_=)1Tp zl7FyJ^A}t>sPx3BPE5GY<%Nz6Jyp+M4_I43LeK>%kTkjZ9rtMgR~ZkZ1g6Aw*ha zGL0d@4Pw^CsKxme4U07orc+*f27~B?41u=Rro@?59&KJI|^^WqWYC^Y{PW?;9V^ z8dWBnl}e*Wf$;*woAjG{*pjrHCgTa1nF&J1!ToZEB#ddbay}rzhVr#;jCV_0;>GYEGv&Kl#^$@~7|z-j<5JYh#nI>T zVyUUD0Tb$wIWa=WPw1Kik-v%sm2L#+I@**;2&_DbTH|{b8`CS$;#3upm7<2R2&&BE z8dmQsXW)0ys%9f!OCLsfWBSd2KCVd}CNy-0*pfx-;pi;*0Q{OzCNG~O)S^=VPv!-Q zV2yA)9(pwY@z!cN`E4D&%BMQf$xPq41bB(E9;kpYHxVxdbiZA^+E0-z=QaSIUi=$x zFlKs868efScu5{0oZR@imOGdbQCP{Pm$6;v8D%77LeGR&PnTW1F_oJgB2oU!2wk-o zEOnl&tKuC=b1kj?II6_h1{CP`6Q}F?u6V1dqcMRYkvyG(QPx)GzF*vSs_D0*(ze&w zc2YJ(^4j!Hz1}P+Wb?lolr=o#HB~JBr?-OiGXiwiJ?ZjU81WlKDX-1*WP;GDzH8<^ z^RRQ4HQ6pAP##*Ay2;y>En}Q~Re>kc0xCJ5Q3qNrKJ>y&k%@YZkg=mawDEz1{^U`|_t&k* zPP;jPD+pU!2Su$^ABl7M+#vN+TdV0>N@NWxZfqNJ2~nw;klqSStny$l^nBX#=(gi(OMp~zj$+=JfWMhm&nvYam zIgWO~QI+TO5H9OcVFV1cW&-sbe6n<-AHg1xq9b5=qLB)*-|@tE)c`llCh^Bf9Ub zsB6pdAd9p|%$Fer(C^!wX!>>*4d$jOCBi@q40lRI->_<_{-;h!t6`l zG6=42Tqcx;l#sePj*2pYb*S!om1x@@wK^$@Tg&--r|)~6fUEC) z*FS!<1e@{e4`Gk$mf8P$?H(@v8B9NUpFcw_>?~jLnc;r%J4)&K&}K`p*wD9aVaPQ+ zAcDZ2XcE0cJMDRzU0TKY#1_bgK{s9cyuL;}5F#!nDIE?MWvfg^-yA>Alf57i0R4-p z{yWhatgk6{elDaCvpKRqesKmuZ!#W?l! zeYQqNM(v#5)rST0E%m_q&4i!Wy%8GojG}zW!a}Jy4p=3_SAn;`vzly8yN}WwY36Jx zJ#SN1+KD6KdnpSTux)D#_KTn4Rwr**@RdA4vJHxBAWn9^%1>7M9}_b;u>6xnxF-sU zjcdmzqb(52^emV#A5P;i%#4%{vD5UjbR<~Q>2xB}E$EmLqQ4{2Eny+dkHUNTyt(rA_4(~zy?s_gWp5KP&-`B!{K zO5VonIv^pwf|kTQEOe~-R4T8KtlT9#0AY`_l)X}#O_r{sa!~@1#X_>S3XBEWozNVQ@&TFL02xdoJRD{hL!~C}oFw^DZsy2&i}SDB zp6yVA**dmMEq^)jQ)xr48s#yvT3|P}6s@aEuhdDR{6l)?%`N&C=H=JyPcyOaD;wH=1>z|5p8?IYIvB#i2@lYU3LSTBj# zag`toE}KeBKFab|S~Y`rh8oh%7+s%tqTgOfa-Ijpd~15lC3%`h1pEZ@Zx=j@(m(+r z)Q#mcpB#|*g<>w_PUi1~6xW%p{O#|!U*^!%GkZ_KzNkLuf1T{%LM3r;|E%{kAXCgX z!%VgMA8j%!^1tW-(d%--N#fINpTmhyYgW#toU5L8hVCmasU$@8B zt1?DnAX7s%o8bUkEyR^8oK&(5D{4H;xYjmv$_xuv6JS1nL|`&-aahzWJvJ&wS0Y{! z4ZvblDCboYfm)+$yHr*dnXPY~fG!;PDIIZ=dKwxrn%(rY|MmQB>R8eHWdR2#c6)^M z|27A%CyT5OPp58gmoNJ67w?zCrve#3ogCpbNu6gb5=mDmC1X?bz7{HA-aD^5YOkedHLMo9RD=G%C{o zAqeIX7NTNHI>r&?Y;>HVAHhJh?d)wM01vzNFVh7N3_^XiikZ+jp%&CLLBtwmZOd(2 zin=@NK3Y24A&f=~B3TT^KUlD$LNRFJBK%@-@5{&n!W$lf6Qi`Fn4Tj3+r!8Ta*h^8k zD%pdM(Oy5o`!d|r7kWVpVb_u@vCBQ9=z9IB^$*ZpUq|#YqXBIEJyR+RtVVcHT5FXY zd+b=&dCT#j<269f#T}-+@A(^2hm3@>%>2B~yb?qD^8IB`|9Po2$K$c=nnsc2ZOzf* zZ&M5Ltl)nzsNG@zqq5y{pCEnyl3J2llJn9bj~JHw5EL;c=(cfi+w|Fc##XLL+QI!! zUB`Dz@Y8aJ@839z+F??OWIJ?Ou(qfh*;skxXuk#i~%4_@JYKBkr-~D9x=$W+C>Mdsr>Uj|wKVYGn zn8yd^Il)t!z_(%aulVCDOTWO~dp3^E(p~YzZq?)D3K~TSuZqCk(e+F4MwzM#1VviL ziv-P*U^nN}X?bgTR>3@B8`>uWW#|F4E~^?+A0wy>uGSU^!F1x4(TrA~>0p{C^N`ZV z_F=DRNrE)+hCQ=lRB44ve}4n=V1etjpC|j{~j*bcire<#PofX!hD#2V5bN6wh-ff(UY}WO< z>3zFR_DAKk?Fhg)^M^h1L2DBI_(nUbS2+=$x#hsEQJXV-XD=_koLWU_bELJj?%QGe zuE2=UpJ}vNN#f+Gc7PK^JCNxnHPM_}#7Y!lBOk}u2IPTEjRpK=VGR7IhY^&dzb^er z)kgA>Ln3;>ZXBewpa-s+M@y38Qm- z6gQYb0hp3Ux!~>S`h;xM725$|j+jdWUwgwmS!z%!9+>09^!II3{p}t*_{pqlg>}W? zl7!Ke?wlr#7|k$^)5wq_&B~9a6|@y^q={xJyPL6FQz8M_QNGO(b97jD)hNQ2!g-sCy-vOSVY|DlQ=QHpyE3z76puMCz5WPkKsL zc5=o*pXS925m2c0!2~q*#d8V!PXFx>mFxA;S&by=Yt)aZWl1G#Ig6y%OHSbK(9s+w4``>F+RE zD}IE@wO=z6+$f4@eGO|eP&(3MMk z#Pa|FM-8DBQ2^k_Cq7$WGQz8eGP2etxKm19Hq59VsQAC@`ydf4Q7eVd3PE&ALb*~+ zgY@t4ZD=3g6~9TWfNDb0UHRGcECXAvR{es10JZ!3`c)A=9zI#|?geC!72bP+(ABlX z@|r>Z(O)SpL=qz^M(c;|Tub3k%padFi@AI+a!CvMd@S7;dgJ0j@ALX89ov?@`g`B) zj~frY-$>+6JFUOP)gYi#Qb0m;Ftp8XY~~(NU!QFDHaql<^t@2x+|O~n^@OpTv^6!s z!4Hfbrbl$#fi6iZr z#TUfMF4`8~W78PR2}IBV0?8%#Uns|7X@w**w0L9)D*%P9IDJ)O5;%3ciQ+n_Xhz!@ z$u4ZH^725(%`$3(V7a1Z-Lzj@jVhE*v#~mZ)>^gwjP&)jtS%ftQFe4+eWp6`*o+TDy-czG$! z@I6l66Ndos=v>oX;ksRU(kDo~nRi~-2;Zr@97%Lxp*~jMQ)~Ayd3&FQXnU@Ygwjr% zJ!LbS2}sk>NZs3ugf;Eh&uKetjng%X6YvzMW{7(}BZSp|azl(l6kM_3B;AImDI`Jt zPi`qmA^>gkLE5X3H1c(}^mE6@OdJ$?tn8s+opTqKknl;o@G!VFDZkGG@dqJol<0Mi zNx@<*Ke$iwlwLkNPrv=$&UoOaX#l$r5o0c@{WX}i;8ikAm%m7OS)Oxc>KM$&} zBu|;#U}RwsCojAIW==!dKx1|vk!KmDfoKd(8rh$VDf7OJilNgJ9cJ&-xpyR7Ftwv6 z(f@zH|L3bQ=8mW8Hd4=vF~Rz$cV!qLPws0%k%xCBI(s#~q6(5v^j+8%cyCH)0$VV@ z2mge3Y?8xo*sk>=Uzv;o^p)s!(KFo;<^sq-EzU&m0+J8|Qthcw#}^{d#{cU5 z9uB_+DfO3asb{Hfu{KDO=*1Ybqtt=Jp+wwQK67Ys>VwUg203d}bczL4z%z^g|15wz z6uYq{0R9)8iDc_n6BNYQW#)2 zmQBuVTN04vj$4ZDfE|Tn`?Dd?^Wsy7`0w}hiD4PA{BoOG6q+%XeGsQddNQ^*Y2f@Z zjhGFFRPj0-oa)a<_w)O)i9`Oe#|0&>zrK?UrGYZna+&}UVmZq{@M0Mg*eAHJQ_M>r znpRCw1+RXMCvA8?r$dD7zSgiVBu; zFqrYvbAzgN)1wrFNO(J`8sL&8e0&nwZB;Af1CvXQU+3j5!z32so|Bg{$r?%u+tc~# zf&TEoa-f;E3|L(}1_f;r#eH|5>)~e@jftF+76>w5?Q7Q^^;fJt5{5r-tu_M%XaYrl zj(UF*21*y}fHyB5@J31oGWXFRkLM%zrOcwPO0-3nSKhnRFdZ2+4T7^sk;opH!NvFR zt-J7{9_t^|GJ_bE03wWjFR5pn@h@1$tluPC@R`_xMj4q#7grr4#-VIhEe<$Nom8zE zWm@NWG6iq1cFx;h_x00#y>f+0|0yM==xV&~&wA%HzdSv?KfL@^^!t;<$;~b$7tDD{ z1b{XEnSU8Q|DmGXU@L8}_hP{$`vSFVZm4*629dz&tuAuX#y4iaosw>Jb_<7yfF;_a zON1zzHl?wK#3G)fNE|5~#TSL4|E{diI*4XDH6qOhkJ+$es-X!*TB9_EuRLUKxzbhqUhm>bEs%rl)N?yb%(HMZ^mm16}`BlLIv*Bm)eeJ0j#m#RCNM5;-gk;0E6iEPJGZCf<=F?qT++Yj9e=?|sW2$t zzV+1DbipMp2sfmgvi+&g9o87w^dz>a)kXFh^myaugX#U9jQ%F=h)dWJYN|oS zi6DIEj!WRT*@qmP4c~~D!5?oWYwj~cCkbJlJb#~^CO)~j9?ed<7GBO&X&gf)s&OZo zY5uEyX8PAY2R)sAs{EjcvA@NPj{6pzJ|_4;Mt-CBhw6?^b||_83#nf@7OHj{EFZg2 z%!4bZ9*$TU9+@$HUEvd;I$anQ|7hH(fLd2hj+?QBI(kL;A|%p*Sgjim$dI`DfELUY z)71pZYXstC!0k)Nnw*lUUb{ra=Lul+Td>}nODL2KWmqV%&87D$2q1SShl2F+zb{*)-q=mVCbKzWX! z4}#w5$NP>JDqVj7oNO9{-Y?mQ2*Pl5h~naTp_DF%G6-s|{9g8tHvvO}UPs+r`lz&h zX8(Tw%~;`UPpY|(DHA@gof~hfFZvDgnbd#J=ufS(&$$dpzWc{1>qEX?X@GlkPM_l`DWZ$i+-(^Ea8S@Fqk7QazfroX~j$Q3|8 z#6U68*OY;REZu)4Ww^Lhh4E=kFtt&BO(KLjrDb9mS}$Kpc%KIH&DGj`E3$S3`CDsad8Lk3|Vrq{Z|gD^5|O$PiVNF-DronhzFb!T@Y<;Z@`k zC`I&(mC_V~yw+^<0{DF+kPkK=C@MiSuE`pHCeg$n8EivB3_+A;waKg@i2#i{+y9u_ z78c9T$wLlUI7)pe!u{RY!xsZ(%WlD^75CM6n|*GEo@+!_?V~Ax>5jB|dF&~Z(*@?6 zsGI=xR>ataAm@BfooN6!?a-I1 zP+;cG53d)*;-{xB3Qw0x6cEqXS*iKgCUp8kgO~WiSJwOL^J6~TWa8Oc-!E}x*$$n@ zpa)G285Hvk&*LiBQ;vmYRYd{1Jfr(pO@00vmM*~g*|Uh?PirA_Y_xYa%d3BWqKp1 zO%_aaTaqiOQSwwH#+|SG3q^DfcSWW91|dwbR*Y3jtq(83&CsIi5*U49Wi|=5=-?Hx zjTxtO0NwrElbmpfO8<>hvJN7JjxjIc5SELE#%M5OBO{T(Pzn}k`7TZTLF;IewYCv9Q*!$TILGg{9b`MLwZud9hSQQIsLDg$wCDkD+wOD*@m*cguV7*HUX zW&v~JEr2_^c_)muEXKmDY(%xk)$%KUZ0NR~W>5OJQi&J!>mx>*PnXkc&{cxtYw-ae z@t(G|;oW7UFV_Na8vsgBTx`prk0%(S6!HSfX_%fre$`aN9{})%RW&31b2)@kVJfD( zJmHX5KR`S7*Z!eJ`g&^r6pw6Uv2@5q-{@R!`txT7a&(e~CAkg4C1wb)HCEA2e9Xn5 zH^n!+#E~qfK=q;H10Wg+8yTt&X`Az-iqtaNVJYkgB~&5;Dk5!#VwK7+9XaiSJ|sRt z=rfRz2Y_CU4e;9iLOUTkB}O&Eaq!^0K;ltu9Tr|V)niE=HKyb?a&lT+RCPvv%Bk_8 z!s$b%7hzKyKI7M2jbwi=$?&hx6*KpJK;&5OOHz2BCP3_g+WTSn?bBM#9Ik)f#N*!E zB?#*Ic`$Q+TbMV#`OvZO#wp|{l<2o^9jb7V$<_}ds*GqE!ok@;2K42678U7$1 zOO6#oA_3zk!_wsW9|$)JrPQyC!{D(h-k;SsH5+?H&`g11@Mi>$Q1~i zLQWPCYY7;(RD+|2cm?fD?FkH!cV?pmwh~qdtpar#5kP`Oh$5~a5jtL}e4Y{_nz%2Z z0fUhFncmMT{kv6fBV9=7&zRfL>CU_6lJr6D`@u5FO$kN?fd*9^eBxm|S+qrFRmx*f z9^%mcpX0{%`2t4oCl3t`n*L|euM{yx9`mURT~~ftUVBr1tO6aVPqF_`O6v1;H?m^; z_OL+eeKF>?>a$Qq+hS3H-mWUDerW>2W8p@TaGEp?qi>enhxT|-nn&O8%AVJVit{+l zTRmzYZ2vvt^g&6@g+e#@SpN6D(h0ufZ$x%q_CnHx`Cl&DE-cZt@!P%uOc%je8VIe` zwS+@eA_38b{f*{8i7dgmJ)qDK%VysPE;E}I95x24dQtaHtwq=GITwu@TI87cTh`g^%Wl!4Q&&K9v=t4J)x@pGAFSro5vE4h}M zUmpIXA{rP1FbMvQy64rHqDEuU{T;Mv2V<3rf&*djXL4ddR(Sx;9w_+HfFx&O{rKny zs|?>&px|zFu(C?`EDEzNnj7X~Nzkv>xW$S_z>w!dL%Tupc5%#MdT;pVhn>M5ChoqqMBZ<~Bqz|vzM}7%` zG0Wu}6a)jzDoV+`d*XFdv7_hACwHX!f_)L2t-qg)9xrG%d=#1vR*t@Xm$^{{*>kbf z@(9*j?i6C)S#`atx4p!+o#^;oB76PuQWRIr_TBHI;2d((&h>1nvuFO_d=KxMf9W2i zmG{_pNM$P9YyDpm+4McvMu5Y_l4 z*U>dKq9UQONx25oA}Ug@+DA0|86lw`h^zK{p@?ZF!&sj`4y)9#2kqyD6DTZ!xF(-# z=9M0Y_yN)&lL8Y4lfW>LwR;?;fT|`x{J}KS(p7rUlLC?VbHJhK2G4Q!zt&0D7(rKL zdEs=W=`Aj|>rJ-nHiX%GidyPvd62l`cXLu(N*e;pCv0e~pk=OQ(I+QjZKyTe!9G-G z-^e)9)}sA+O}*I%)fQtVs%j`E>PmspZ;n;|-F3;110=;wVS&tmnOl8rCzj6D(I62O z+TFSX%WV>2PP00HmggFg_$Y}Wwu!9MeEa+NoN80Iwe& z__3sAZBflKqXCaA}y01Ox0J(CN69vG~6lVV{_i`Q9i<;oFu2SuGX`R|sR17sY zZ0?CL(ts33w8)ZV0o{y3;nFD z)GLy$T<20Wmy7w_-q-7_TgUM~#&=v@T`T@p$bI_U@#Q7g16n5JKSGZm43q&DkoVz( zcRU>nzfu<7mr4NLxhtY;<&);w&PV0UEsp zjQG0@%q_~1ktMnUCJZ3@Z6|$}*-qJ5smN8zy>Pa*;f$FpstJk*T=?ens(h+s+4&Dp z1_0g$G{+R1BH$)kk<9G%GiLA)sH>^&X>!S|Xm3_KbyFs*{)x$GGhn>DVspTv zU9lys>MecAvoN6^zVKsQk{;D`1zVJtyUo$B^L4-70YQ&YSXzPiH`jGWh`+mSoLIZQ z^y+*aVD_Q=xqmf=R|P%UuOhSYM4Rz5&TKGTN6TW|BPpo1`iFykWl~QX(p_LZ!5?2J zozpK`#AMo<22jP=SpWuBEMK%(lR=6H=s3&gi0nL;dhs?lw0=Dkc53`w1iaOr?0gof zXM{=)tT4%HN_1WE&x22Z*F5pX}ZbHMQjS;7tXLoG7*rQ&z)}{Ku zGdgku^C&kf587t_4wG;U_`6!oGPl6O&n87oW9MQ~iImtFoH;{oo7`9d6cg+%#B-7J zkqt^6bZ+>%{QK;}2_AE5e$D#>Y+92Cq)XWhj!Nxh(@deUD}8h{A^={`O8_FdXU7qe z%spENiJg;@Px3d4^>Tx1C}?eBnh@)N8+PTms{W(~QF-J?V*WzKscMPKYj5QnL{G`4N4v6IHOZ6}Rw+jf&3+eTwI z_Q~^p=R4>93+uXO&D@xK7)~c%sIzA*2+uf9Hgz9kmTrDXH+m<)C#FC)RDWYS zdcG^Y8nii}@OrzsT5il@=ObzvcVK)kWghESr_Kgr<;*DWb$o%YFozECU_zy>9gDva2Z5DqC%hMuW#P0Tw z_r&ePL0^cv5+Jd$V4mA^b~dR)+}!V;0`@!@HFZqC{a}|$RF1x8ej`F?g7Pjpv}UpIxiT9KS_nW?f9G;u&UH3)R)9<^P3HN$TQQBIOV__Z3aw)HB%3g zmSh+N6CfD|={SMX2>$hJ1SFqn;XkG~v-u;L=S(}>IFnzxko!aFU^9~P@%*S0L|A&R z+zN~}IS3qw-x=;#QKG%=aP>|9aHQo(SDG8P{q|&*Ptx;UFrz_KEGlo1n$q_$mBr7VM|UM)?28_+;q2uH&X@16|v_KmH4&Er}#6jm2#&g|bpIV^zBtN9TKNFl{t+C^OZaba6NXH(G5lFYJvn z>o*J;@g4*I$sYKI4RqAsBmwBV9=aO$NsU=5tRG|^SQ2D_9}uwTDZj9`ojH=QrkfSp z*4pAY70GtjLmZ`2X$i)fxa6UNX$=CshoH&)36hcxTAC<|fjc4>%*u!zfJ)trd10Vq z6yk*o+;#c24te306Oy0C^ZKk0O+8-2Zp(IiO-aK$^a3#c(JtSWIUXNf6oQx<$5ymR zrl9q7OK{Ta&=iC!c8k*esIS44o5vhQSRQr3v@B`zL~unhtO}u((SUzsv5hX(l(o^f zcRNfU>IdSj#KG@&KFzKsgRI*xUwc@bmRDO_YggP*NMO+b9D?7dNWTe11`8@Rq-e~V za=}qc*Pj<6Qs-FLRQ&8R_`%X_2Ykh%%oxuEEhO9XrP3W9wYjAM=Xp;YNs@v&E zoGbmWnzKFE9}pLHDXvmsk2q9&w>QeahHj30 z-fw+Chkmk>ujTn~cG3CtTM1c|jki-Ys!cI&tkBs;;VOKCw`K1LvPf?PU)r#N78BcO z*B~StwOTsE0uHLT|DW=h(IIBQFrFY3j&%mFbZ7g~fM&2WE9V{QZ$`}%2fIoU{k({a zT7y%i;tR_RSOoK}JpwF}5KYNj1ve+o>RNCpw^>u1+9Dq(PE)9j6#?DBS*jA3r+$sn z+BpuqX}x$M#la3AB9V!UK&n7_zC$K&PEh-rmtJlm!*rKFieKav#DF&;AhmRO;b^gd zuDnTaa`iip)RFt03`Wkz~5hK%Jv`{!HND%j?V zx_KfXp>GC@bzSuJ7nocI1)7&8yM+99BnTH_QF)^O*0eA*7K^`fy ziJD32h>J!)D^2pi7vfJ$8bhUUw%Vl`Vw#udQP?N=AmVHS(ESkuU`3j2!T3j3pl@Np zX;eln`j633AyG`>!aV2yFlFVC(9*~hA>Jjqpuyx4P_T(}C^Z`8y_4e98$L<&Wy+n_ z6T`^_;?)e`a`nF+YhWbRu_G_Zs~aDmkc%iP?4Sf%xb-3Lc<1z?KA!K@)s<+p~HcssxkOcaFxuB z9KZaX?+u&Ngf9sFr>sio>{j0OM!Y*`%eWf$tGRU!em2RVD3sP&QTwQ!BLegs`sPB> zrii!X!c2WTk58kYQW_+dc9&%P_J*K~uh%*DHtAP$T<4h>P4q4ue&%0z{`mDa#BWw` zU^=wz&OtkABzJ?^RMnNPd`D?6P9%U6v@e5~nrT58AA1${y13{vhA(aBy>D|8dS)x> z)^$&KGN1cW-TP?f_b`+T5&(s9XWwr}3_Pj)?;2?q4?x>-ujWf=;M0!+i-|ZH{504; zsQrARv-2X^{I}%R_=771+uJ(K&=xejprvSkRie^1>UZM}ZsT@_?V(eO-GF=KBt z>0|C_a25**Q~AqtRD#o=X0b&3kTp#*P0*%c*L?P&?}WL7~4Uf>*@OL0eLE{{NL-^nC5Dd`(rIHP$u1&eP<#~dg;lJN{7&UCG$g6{M z5!SehP#{|I-l*he-$V_J!87mZcf^rn*&$%kcJN%OxZ7AdA|KlVs~M2i^(>;5>0{Ms zVuJNmAd=3*f9^^%nr5=EzAZ=gzW&gaU=TnvHY9{D2=uoUqv{Lw5GDou*fpu23P^(N)o5~^VEk~5BqP8- zD)~crSX||u6Cxfb2PB51n&@FmL8&+bvM*58VFbhkJXzd)Km|$2L557}ltE9hHECWT zYUPA>q|Gt8mX-jCV8YgbyvJaA&bXg!5O1><^Ej_hmNOgV1m4OeTExJjj96l1a$}g# zseK6N5T+jdyuJI@*wXPD94Q3>xRINmG<^5=9CVksG7=2H8EfN%zTz;tw_N;13{EwauM2UobZ`hp1f4E(|S3uk~0{NQ*^R)DywXRpoGJH?2j|3R4;%#bmleW|YFF2s|w(Brm*ME{4Q*VS%2fJJT09q1+Zg3@gpg zb>lkfv)8Qs+->l6ambv?fC35`@C=STCv*ezg8G~X`PP}X0QNydVZZs^kqdfo$R3#I z5#^1@7jGe>M4aagspm}y`~rm@a2vr`>Qe}oNH?)OvpP&Rh>Ja$c>U`#vKKTL4gDU_ zRk+!+l)YQl6D9Xl`}a94`S+!jAH8CM4^c9ehSJ~b+{deH6>{ItucEyl8hhVQKtwN5 zVd^Q^TMCk^#uz{Ucipgw{Z}_~e6bBo426A)ja>IrquuJh|Hibpm)kBbq34p-byG|; zH(66sfN&ZSqJr`5d~p#Y4o&P+bj}VbQq<=3RJtR>_si^aFA>G8aD(cr^S_EwcfiG$ z>MFVMlW|idSXs{cuiptqga-Zbr5%!zS)X26L%O|v2z4)1@9PbR451KbE6T%7$@7_n zw3gc9g-WslbCWGFf^mq;8~&+>IoLJ8ab{!`-rN7go)R%+JuqhDQ34lbNd>U)c=EuA zc)qo!!%1BaQDAnVLrVq6D~E1UDhBkyLX#cN$6 zuVeM!KxV}69Da{!4wU2nH5Y%dTEF)*w{53Kp3g~W{-?f9+xB}?h!41Zt?KXM=90m& zkX!q20$K!nWJgGcMk@}hH|HjfVZX3b$?1+p19dSJ-|Dl3l9FLwrC-oU`nXuB?6*;b z8%tos>SuGVk(CxKxmBP7saK*-*f*-1KIiO;SAoBACPM0GLAp?I-&g1?Ubam>mKY5Ip5f6A9XAKY6nABVXf5 zs5bljAToWau|iD=CB1b?P-;wxPnZ>HlUo_MI!bwL9X)3USX-ShP$dC8SQBz)g(UhE z&WC+3EJ0#89ftCHv%U|*9U%?@Z2Wa53B>_!ZhqxUkp;3gGO~I97GyA89T9OmmMw{~ z55aR4*E#`o=o#dA?mek_K49!RV7JU6sv{SVBY~yO4ENtgfy_QI6kbI_2l;-avcqF8fya*9@kpoL3|$ z74RFZ77;E90J7TWN~(T}qh{pe_j;~9?|rbj>bS3dEX}m_R9WK#XPmJvwpeHenQ&`{ zu&|z%7soiCpL=Tco#-LkZZ5Wm2a_q1f*)&dofbXZ3@sc-7p>9DvIDRz0gxGPWpkuw z)r@4Eq~lfDuMm}?`v5{?dhi;QH5Z%YMfn2o5se1R6_eE_crzjZ^h9r^J~)MUpB0>r zIXiP;=r9BYb>cpv8n0$Op=zI?mB==5Nrunh`)>SCbPOOO8~YuT!E-=sUyN0&?qFi} zj(BiPu{B3O^7kUBKJjWUSe^~pN*IOlDvg@L7g}>PYr4BH$MbeiJeC6AQ^>yldkl1} zz(-hVVf;S@sQ^0`NZYQP;g|d6ttU7Bx818(uPg7z&8JWtiLxuOhxXGc4F?k2L-KH60Waq7anrW@C3oKRmso0PSs6np7IsEIBW943vj7OauET`>V3nvH zq8)0lwZYT1@%{ZiA|1S|$Eo18bVF)%;XL%rA|U zs^W=6?)R$d8r2XQ(!=?shgt z=%cXG+(iwv8g62Xat6zXEfJg5KW`dFVck&nDoovA$1NVh8x)LC+MI6+CJuVt5jz5* z39WuINe$XFggE`oO|g>_k{EMFaQEA)y5GZU?7>}u+aTwdaFU5Q|2f=mK=8M#z1~;C zXSzrQpIC*ir%)nJFX!WM`%R-`|G}+D;ccn*{SS7}^)oS#$KHy>+C{Ve!Bzpg40Y>o zu>Xs0t}pWa3-sHQG2H2t49fVKT|VzVGCwxiT7BF)4r1LJ16%Rg4wFoWU!OJrv?NUh z6@yj)0BEXtuKrf{8d^g$?P_9ZwD|@;7AXMi!4Af*aDSy!VK-OAC%X7XNkddk*wDSz zpkYuS%5Bl$uZE}?Us^}_2y=9cxR*nAatC5onikL<#sqgubw|i4UM@vl*D%>IDKq(E z(Sk$+BD#L+_|yVUnQ|siIK&me<^;%uPcqIg!49JZ z=6_w{4wCN1;xeYFGi=fpT5$d#HQ>Ro-s>{A!H^q$59p>ER^$XiUDlPF*8id_C%V!7VLK_p=7q9K;ZmGYo3d%Z0XusAfzdC@+0G9O0!@Yx2F0VJ zSQ(7K76a)6yd!^9ns zvyE6$q_hl?ARQ<9hahmBOiQUtWVY#;@5H)AwVF!^78qi~#&7NX7quZlqus6qsU@vO z$~?e%=aD6bDNX^*Jm%j;rMSmk$e9v`*9q+qNoN#}8@)7IxTY+hAeH}#><{EF}l{Sw6< zkgg{v9D1{1$v_Cb!5LFm7Yjf^&}Q^ubWh@YN>9C4_!-qYpFBTU1&371A_=59GNd&$ zvMQssva<Wj!qOQGSIIYeLr*L|tP$__yl3P}Mct}Ij}gIgmH-KNBef@na_>E1B#6HmE8+=Dr} zhII@rteSPhkx=)sewOKcR|0%RL&Nx9jT9E&@~ptD|7R!Msup*OyugQ-!2MC~2jwRL znn}~4l|UGCb5UPwG?=*!fd`1^@;Qe1sh`;My}DJ0*jNhS0D}(LHU_baFl>2+%5M=^ z2JLf>?c3YqFz`_#O|L{wz`5ZDZnUQdWsRnb^rIJ-I^*RTp!Nw76SF~Bhp3F>!32O2 zQiy5>HAIm?t7d>uCXt%>kB8XTOnmxgL*_TXY-AND4QG^d1h+vHNW#RbaCRtsMTp_` z9bL)d;S)@eEg1=k(FH~e$%i;4+|}n{rCfo-SbgEMs-EWVIMPezMA|UBIqTfN3?Hbo zMJ3J#$OJ(FNw&Ra%!KWxw0ut>_>=Uol=*+Fu4`WAWRsW6D0ZB>?g<{QfsBh!%aY~+ zVB8zL=2HCf1Ow0Y zpnJ9owsGBVA&xQ6@C@nobsxuv&_Kiq#Do$YxyCp#y10w97MR`S_FIzLUyeVQ2(?;X zr!TrxMM~oFpRE!9uLUd~it6{XEmy=Ic%sY-+ZZqW^-?B7q`_wQFmrV%UfH_rt--_B zA*Nh^#we}7=`|up7J_L~tX>)7frbW8n-QM-#;I2~57{vTjy$rX7aQ%v0sG?%D^=GA z+TX;Y3bNUHL>{gN_I~*Lux$E$zMsUjZl(aZYCg`dyiZR`iM-zQt7@kFqK*91zG$WY zndbg0Bkwb6MKFSG&x}+yUqrZ{m6M$m4?6elGEtk-4Zwv0^NG zjI-is|E*+pE$xeDKwKEHVqAdZV61q%SvL9JBtm!rU~707#`;0U4M zj52})d)=$2q49YD<>qv)@-&pZ1_3NWb-wY$rde~ELYz(A54_cbs#;*_O-U*&ai0DucI44-atrE^J;pzi0HlixFIJxqppWyY z&)r_G_dWRSsMWDrrH$`)fz3(U|G}jH)1RIWmGdAtd)n{lWc*Cveu@u2e%LjJZ9mO( zbiG5*A8>R^Vqikj=3WuUI*sH9{l)@_cFnD-pU49P7~i} zUip0%3U$wM>nZN)mVxv-ETeSy=;&Hz7kGFT_rjo>xeH1e+emNb(~+voPo8z*i<(h z$NuIAsSiuEQNOXoK)E`ie>r57Bps;#ftdE2g>~5u6O?3SqT>q` zvSwlZVFd&7tF=y9Ogk^sJP*rR(y}K?z@bYSUjeZuA-*gHB_zQ?BXFKgH`Gj#hr=+B zm7BBu^(Nqod4VlqNaEVTcGdam?A%hmONtj2R^k!#aeZg$vrpyiG+3mf+(G3n3dM|9PcX z7#L^ZOz|ke<{#eS_`3XLQeBKLQgL2!g=cD3GdajHG9h%n(o3YNuwe;U6&cAjew*yv zZP_@1AmatIHH+m-t&R(dV=*6YNmqIZZF=?};f|4x)HLk5PD;H}{E6poLF|c&rSDH9 zCOzWlfiODch+F91mI#FhE${}$uF+OAQb(oZy8c8>9-)XlBHb=oF-uQ5cj;E^-)B$|Tn-VpdRBpRby$Kfgb7Zau}JgUzb0=ExNOB^I`6 zM{cX%JS)=b4Qc_`LM@}zE-9hXCD14+~NBo&f+XTc5(?QvJ+vO&eNa?ZR5;QAqB(LgNcU zdbP+9qM)A$_d@KCK{5DyM0VjZT?BSy2i4@9doQ66X&@czdi-!_u1N<%>J-EMNV-U8 zUMKz_tRa`M3emi>;`wphV+218opmI^(!`|{t&_I_ZlnOs1c`KZ}deL5fHmhKlIaa!g3kSpiV7#Bqwy)=B!E1O&b)EB|Ha^Jrsb7 zU>7+csig;ACx~xg>Bysde>mHeiPE6p?Ly7>`Nxvm#hP$3fhjAtU_R6?8Yxx~Qppl6 z^aU~yRAF9nKT8{AI;CnbQ_$m4DBL`|&@s|O3SpV;=Am~JpVmt9dl|;}cghXsoRIeZ zLi^<1@jM+_|D8E;NraPJpCQ|F5iZ9Hs-NvSWSbATwHmMJG-s@tdeJj&7ZNVG4i4}R z7ereEtH=}$rB7^NjE9-T<-@znyLeRbu+1#5kedejgn^upzm``XJ||#Af-IK{0MlDq z$n$1`(FgYfL*Yg9#f^@zY8vs#Pyp~3F@6u!yZNn{3i)aS+ZX1&WT$(1k=qyU)2Q$} z78ITH6_%q#Z%L>o#Q$?|rZ;>|+=m<) zFSdIjx#dBqx{z&aT>OP-LhZ8a-L;_lZD}$0^}ICK^It@m-^oUMqkx!Nj`J7!@Sn>1 zKeV15JtWlm2uEv5!`*K%hC;z^ez(nySq|R!j!r+LPyC+!*ZIrUa#kg)Qu3-5xk2}q z>y@5{08O|Fo6KuSP{i-Az$=a=IdIw;yU^$~UbVwcgHulYkX0T4c(0psbmsrnChp6`9D<+Tv zg4qDr+t@(s+-!rCEAb|l2O{_icU=`??{L9V*dDsVm6Qcw*be}HVT|n>%PO)yKKh^j z=IHRg5VfsFe|(0$UoLQy=}O1#L#^i8m^eQ$`@$dAq2u=P6MzVERn94=dWi#cIk_gM zRQF(g3lLg-8M1pR5p-Xl_x#xHD|z;9N}OYkP~=q)Ny2?4TOk9Ih2TG#%ju>E`dU#r z9#Ddyi9*AM^0Y8grjiQ;dZk1AFqVo zvaQ`)wrgec!in`8q}a;a|K`iLG2r@${+kKy=pctnk$j&`}+xeE=|5 zH(LhhMLR8%T3l${zjn>_Qfod8Y>d#o}k>0qB?Ip%IlJ?EX^^(y-s63*RP3@5aU zvV)6;nLIO3k)9W;8QVeh4q-}_n(~Q}5eThUbk2uLk)YkCa4G3HcDOm~dFZOE`f0o3 z-Klct-Sp|tR|)>xC^!E1Yr9WZEkT>&{{ycWy|;ZHeYXAHm;K&k1U~i!ZeGspxel-sJ_OlxoggL=1fd}H*~D5< zf3tmaqL`1iiGD7MrC9m#fO0flTi8Cl@pr@Dpn6F}Ay;t1!B)G;L4yteVZx@$ZQ~W0 z7qwIK8ACr?%sO9LIQtz3tq=9+Cysv~kf>kDcilXVHXm~ME}TSuA?R_knV7@E%!t9Bv%foJnDoAvRoY+>s7)3qsI-Np>$O|UR(N($*Ou?iVA>E zg`TEh<-InWHRC_4YK4K0hJu_DLngK@sjRguIjc>Vb#f}p0)#eQ%QXa3L@3oPsA(L1 zC68o0!BX*q1D#jeNRMR_N09AHV5=nAuJMG#m6$RF(3PrAD5*Um zip=L6QXA~NaHcPO9SE1U!#4=hdyQfMW4-NG7K!`X(^lbM&zZ&vw49;}uZA*!pU-!q z*>nan}`3|jp1zI z+u&!lwbpe#6L{No(a1LKMYE3YtvI@7FttrW#Of=D9R>X+BYwP%b)Jpap?q2C@p+vi zblXag)pIQ-&AqZ|*7{0ey}4dmDlw(uQMK3k-wG~62v~8%m_8itxUk-L$WV&Iny0Yk z?T_8u-uEqHS+9q4NT7z?{!?_?pJNY1(_>zlvUO2~wEhL-pcVI0?6oS!Jv;C`Aqv?K zO&8aT7!zhbqM+67D882}lf0Shg?4%F`T}qT^>z$$=dDqNP20O38gt%-pGS}@jFD2g z-{oy$2QP7aX)+5G(I@goRHkB+(P~yIPOw?yJ`YaN_5Y zWOW^1R>2r{Lw%oR!d5u*iiNO=U_p$A1hZ#@BRSWJuD`{xiCLqa@Kiw`j?PlULLNNw z!tjxQGaQG7e2>sLK0W!QUEoGwhcKP&^*5xEY7tNO)96Y69zg*8;cn-cnoy_cZA+|> z)#vy)ROc6=RbHZwJfFb9?*0(R9e(Ergm>iU@ zU$n$Z`p|uO1O7jT@U2)8z@GQt_x*+5d0Veu{5;k>{l1)N4%^73-JNF2&7C=>^~l7A z#Ww^rA(Ydtb;QGW;C@(q6C(1u8VXTo<~lI8=k_*r@{S9P9WT9UA)35>kt;ZB=%p}( zuYbH5vWIInRGVzlCT98oGb_UhR9ml#g_k2Wzb~iD$Q!B{e_bxFgnRy-i*&~2NMrFa zir&>0F)&7&jNy`1DYP9ggvcLT5m%`JrT+bPz@dw^IW)kKW3z-t7}RJo3M zj`J;o83kiO+t?F>&hK@Zq2z{V98p>8Z7}y%r{tXH18|$z!?WfbYM>z0$&27u?BN9D zGLU2P*}&-&*a3;G+HlnfQ*2Di^Fs}RSzUma(-8{lE&-jNETeVXFX~#hxF)9HHi_~X zgRP+ESBcpT0FFeZY2af4kzlR?66=jF!Fe$`eyJYS+--Z&lBW{Mklj8z!y2o>&q4Uq z4Lc88*3?|T+mvak#tor81O0CZHST!5sV20Mhg!Cotw%2eOky!&Vq2#i)76khY{GwQ zIW`}LoyV)~Al$8@t7>bv<4Qo&B8woe?k)6RohvJCm2WEl*HZBvvd7^+Qw4{7{Gy2yuGV2Hm1qObU6MRgXveS0!v>GqN^49Wft6vNx1)R6SWkg{@Axc95{ zyN|>-p2{RLdDTu+P(5n^g{CxfvO5e?@BygkPfKZH$7v!~#(43A;nZKHq-t@x9jrOb z2ct#qkM{+)7PbUoLoBJFi4-UcnAe$SnNPXHDv=6_VhVZWRDMVjZn8$~3kdfX1jew* zRrynImNf(M<%?1mS(`p&xj*kpKWafAJDZZx7whn0t@E2`V+^`Dub^jJIk~h3>IxX zp5PP^!WupX)`vJCtsfaIxEh5iq&$M_cX^^CH|NXU$BAy*U!e2Cbxi%}w`DCo1-ic2 z9wc#~ZuCphG`yJ3CqtId6ZB5o14RIK@Ee=l&$~LK)n5kSe#2Rz&*+Q>7199vmxfq@ zcw>;)$!=J9(Z3Za1Gn$G5gyZ6SJTQ-&no_5{LKKKG*xh&(KR~&sPhWBv{at83 z7infd7(}piA$3mo!#1+_Iq;~yyD2-!2$G|qD$0*+Nad{jA7e|NQkde*E7G}woyWNL z9HzS7{?ORk>1o(H{>2qVaKjowpVgN+^#64*eTV$G{ZH}wd~Tw-@^--}yX<+J`n;}z z=Kr|l>D}kE$U-R{+(a_{&N%aK%l$RKTPNzSx*Svu{yq#TWTm^kG&&KmlZJuu!XUf%^M=cNeE$kw;=gO0#hcRogHrZdw>h+`B&)XFR1^W9v@`_CT(j<(1b zh5T&97{QAjE6R`ou53U)W|RS5QPbC%KcmM~01#SmwnWm#uNpkDN($t^j9rdmvvqRMVrz*7c+@Sj3@S#l3ihLO*`xbN0vlo ze|`CxWS^dLmQZF}l$mASH=U*Gt#*HuKjXpt|-#wriU^9AQ3j z;!jH0gZrYVlqgb-=!YGESW$EUhWG4-x&c!c6xIz{m!BImgxMqyIO4$EbNJ@@tk`k6 zx|^6n+hM|$>(br;wgez_S=Y;?<93Q?j_A$VnSVK(T zP*iFHX{*s+Ck4@+K4eFrD9wd ziPW%$kGtTnn%sYgO$O%@Rsx04xrWCaX=ysbiC^PlT@)H0REvm`PN8$iC{t4-GNwaj z2e7Qe8(}_X?!|ojb*$)|sA`GJ4Vi3zC$UYdo>wT$bGk_M-n@sp#vg0;?m)1S|GQ@r zZkv&Uf$_2i$`-hUK$(^QFje}H4!y46capmODUtg=l&h=B*?KMKWn|L-)y#o#8$OSl zi(XgVk5|5T`vQ;JkABBNuMd|wCg;p8?w^>vLRUsz2*R9Ud4rYHBoobln8HX&JkUf~ z9sH7acyLo`Rl}jMz&$O2n;ifna^-=4#3pb zpYvyTLCi@5kzRD8xfd|Wen^h!S(>cm07Vpcz+c5WaVEN&I0H4aXND=`&{jdJp9BVa zZYbCO#|oKc;Lf9KI2#7J30r8S`odAc*053HPTH?SM(ks|{zGV5gt}nz;LdwX#k8$Y`n-ZqC%v z*Dgjzv4BhLqS*HT?KC26MqF`lU+M5KFxxpLt`>0R4?^z`u%GE$?)^&?3QTVW&Zq~4qajZuHKcbyT-x!q~Eo{{Z_!#p7YQ@Yu z#GKSMZlJYb#mtI-3a_vhO&QaZ3HNKvX=SreW~x2OkGlFT%l!0kS0p@qFTidLlnV69 zOj7;mW04S##9IxZ<(EGBop8pr#O=3Uv7XNS`hGo>Dqvmy?FCy;lo{iyrm)DLqx1E@ zG)&Of7^cF1IVN?9^imEoN1nff8y&59zNs&0{$*uKMLp;~*Bgs`z*>GwIvjkP0tE&< z>i>&MY@6mk%=M4+So0Rm^v|#Dy-&F-;n)hbSj4${d~w@P-OmO*^$yr{k^b+_*2DBa zgQR#Z^J8Uc-}Oi3*2nnOTTX806`dQbEda@R-J)pBlBAM@AqRZJpW4~!yUgMirgbvn zbj36xFr0rP9bttLO*&>9!C>(G&i&Mod4SAZtD0Te&N=#4OV6+nflEL&8?$o9s}a!W z8-7Pu6k|`K<&O`C#H=%BXsI^hjNAVGXN?qrSQ$>~ltTf2Sx1#KKtSeIso3;DNl}F7 z%minOE#;Ft5RG{==|I|u{ENbGFRX&A7_+qb+KR4e>{?mHGsCpyrE7sjZ7=_5o9K`! zVUFZBC$|)~W3thElIDIm(EoS^5j`(>5x+z+@Z&RWfc|jk%cax~^`+9PQWz0>g74s8O zZ=Ox+W(5Xl79xnO{z!GIWa*54`Lnb21fI;y^88H-p;UH+^GE@)q=zk=VHpyeWGAJI9);44X%o5=(CZrl00B&0|)D>VeG@KyBJ&f*u6?5&Lms zzZN|Mw|~#9k^C6zimkgLWfP`a8}!NuhO~vk(JQWIJA5fYZFu@v^x$VZd@}VXfb26| zrcyT;Jlc-{2qP*MBDE>)+B444z55?b^Ra!`k0u(4Y>6a@dCj9)iRm3Hx8VDJ!Hi zvNL7ex}K+;-{m-->3BO@dOn=2tS+V>JvY(CZVqbxe_o{P$A8sUNv4v1f?w2!l7auZ zmvi;5Ent77yA3P@1}y{us~W*z!Wh~de9OUEdLY|?;INHtp)nwFe|&DJ1MD5B2_o6< zAJfLPg|QdeQnXRKAAa01y7iQD1e=-S$WsaYnc_z!$~F+lpW(#XwA1AzhHVonEUu>)%I7Zv+WoISv>y_^V@#h^#;Gx#G z_q}BnPjIIMjnu9t(EO=F@CjiDKrIwdH5Cp@TCRl7D|t=X56Go(1dXNWdK zs2~B7p#$QqAzLc2AMl$K4gdzb%xI1~;b0CJTxZMdKsVHVs9cB{Asz-)J2N8h7_e}{ zHrsDRTwLh67wGb`e}3Z6YgZLg1x~tg79kP=9D@VF9pTx z`K4NFwgWc-p{RtK=lP@I&_nMU@46sT>2YRW*UO!~vs0uGr#0zQaUQ~?3cI3ApTvV$`R z!T2%hZ?;^;<$?SF0zQOErKx&YM{hJ0Qla}Zh;Ugx8Mz2s4E5hu(D=AT10Kr^L*j%3 zR&Q_&NY&5Lg3rs{8&=x>AxwTLFka5wN+FL!M6Hv&Zb)NAoJ!aMEF(WIc9#7X6>C{6 z!h9Keh%AjYwE`sL38fu6Z|$ruyF{_Nd<311KF%0rwFM;Ivz7nP)3rvi5S(KNOY9io zCMnbdVduL=_pMLBg+uo_?*($>+PVDK6Ju4&O(;)Q6xOHyX|Yz}RHfsSA&8Ab&MeKl zC)c$B>HWJyV({MixmzXp@y7I75C&x|@#nwuG%OT=^Wpt%^M!=O>l0?< zQ_p1AQibfy>ZV9t)SdKXtWBi*kPLm+dB~E?4=FT9Dyjk1Wv8wria)L_OGdnV5^LYn zs&QavK|YwkCqxy2w22hT%Vur>4ji)ZdAaiS@V`^R4bH4^LH6B_ekh!0x@ z(XMo--UvODD=#sh)wH0!luSen#0ED*_F)K#H7Qv`EM)>9vX*K9u9VGAMQR112$A$` zK!H}F_p(;lld9UBznzPO2(xAkx&RPL8#@iToAV%OQii8C9 zDeb*8c<$=&#VaR*;ONkU)L@Xg)GBG$o~+OCW>>0KKN@m;opp@|kAIe0e3bycW|+TN z{d=D`uo7m{FjnV|vsVOnk83}y)ErW6+X8N46JnqB}|y6w?>iO8gwI)4>=t?42M z7KiwR`M!;JY}4Ny047LK0u>F3!omY&3bF2D{s(>7@4qIvRHEQ@ z|J4NVx-u@?4uf)@12(*;J^J=)>!O>v8gZHcxZrD=qywagW=LPJE^f-4GZPKDC$~UxrUxvXVv*2Z~A?{3<^%Sa)lk zmqhGZHrGl20^E)ok|u6~!11g#*tV!l+!9PQdQ4mHx{X3HvtDPxA%Ayx)3J6l)_~ns zeIljFn58?C!b7ZvmJwN@-vjarkPE7QL=|(!;-dk=hiWp2e;jILR6ueDd#%EMFRdUH ziT3YK{@XcU=5jH9ydwCnA$arJ{oegK^Va(Nd$;gh%8CrUuL{jon~j0T^YrKW=k|a{ z$7xj=n`&$=XJI{{2p#g*PmckC0ZI?V1kDPK!fW3er;3Dwr)v=~ivi}ay~>u&-_&(d z#Ai31nOcwX;>G4*)(Mw$evF_om-Pc=A<73lSIdIg8IgK&Uu(?Rrl`_z-@gl|1x9Jl zlCf1Z!eEfHI@`Lv4XA>L=&!iuG}d;C&q6Y!H;9mG4{gZkXKcC;h#%YudGjt@WO~9f z+bj*FRXn8z2)@8v?(knaPZo*fjQOo%mN-Iz@ibu=tJ zSgT!8k&&9!b|k&S;ayy8tvYJ1doQ@}a1o_^Af(g6>fI+8ybN$#usa~j!Z&*bm@<;OV>x2xNp z-7J0>JWpKRnhM|ew4L;n9UPCL_vdU~McsO-%Ue@NT~*_;t*Ois4gX)xBM+wGd)XJX^0u#NXnHZz%X{&@z1h91 z_t?|%Zw|DBell(S9TCjFqIe!?A0ETDrWZ)y_@MWPxmlMdBxHOd0TGCZVwC|vFL?DR zsRi*w$H%Xb?^|wKSPaD2*gJ$bXh5Z+S4TsWmQciU z$Vab?Wj`%6V%@0d4@2Rc?~{NqDuo7${N!U3HdTFfCBHY||3`2H74&pI`fcqxbnUvUm(B`|q2uf-CRf>L%xHnJBLyek{8Z;A(*El$(WTlNw)eL z(SV$R36-iLoFy2_U%d|!-7P~R{?>VRd81?W=}23MmKJ2NtdiVCk?&lGsX05)VM-F1 z4fDS3Kc~$CZk@Gx0P_f$o)TO{dq*BR%{;gCxZ?KM5piPR7xD9T6^CLLS=hb z8$^XnVo(=laI`HIYzq(Ls*77&sQ^N8JuHxchB;@iR6IuI@dcwjvh}Yw=WLw>Gl37~ zlR@2zY^;#Z05%}a8Y|t1Fwa&*I!XIO{(j#z2tFP2?iH|vLX0bKkt2z*$Mz1;#f#v8 zKQJ`3UBE?Ah0~=)XfsWRMdk!h{RLnUyyJIKixghtwc@9WBE6O zg`GY*-+T{Tq{<(g|IQVDv_x1DTAehWyTVn>xC)p=tMi%X`KjKYX)mQAHOV{fJN4M# zsbmZ7(yq;q*He71JMZe86=6L?>uXqC9*_D1S{q^NDdBzvvp9B;Qy6u^#^{6kO1LR- z+zYKwtluGyEw|bqVe-4De^9vfgC#Gtyr>nisY*R%!08>?ezRzRf_wN}NClf920IQ? z7B1L^41>6GVVZHBRTqNO{V$&m;)21H#ogXXr-SxOqHhu_iJqf5x=S+l+uuqKZ1u-C zpM5Xd9f&UMYB~aox#x02TBH1xs#=f#xK2(wNSDZGkz!bj{hz3beh_$XaED0tjq{Hn z4bh;3Nr#snQHRdQ_ljb*d=d0-?p0HFYQo`$Cv$n2WvP^%Yv6(Iec73ONT zwjs04@rGrR+5%v2C;%=>lR@N5C7axlj98|P`(dgL#R|y*z7|OEXWPvsSq@qb3H7{E zl!y;kyV^)4Ufu(1>PxkaFVkR#q;pxR$Xu+MrucQ*L#72D{)?@*x(*ZczMB<%u0-Lx z9l^o(7vUG_E_8 zW+O)iU&x)Tjgtrj5zWCvwLt1877wX_!kUIa@P|(uiaN%|-TqvtB6+=eov?ebN8>t{ z;`DiBwV@PNiU+jv5@ZJ1^E5z6y&D-3ZCP+h;mtEtZA0ORd_}qon>nUqZzDUpSOxW& zq@V-u(XAj@Qmca_0!Qe>;&_4j#HwWjlmsta7i@L`SpAGYV3Lqh+MU*7!`Hmz)Zb?q zJHwFgV$n%q_Mh#cG!N@ZC$4$6oY{jqE_E4oe)vnF<38F(EfF{hNsM*ZX&?^8s{$<&sHO+la2wdY`Z9Zr5J!-%ZRM8g_dmSX0ubzJ4j zn{9#syf1n_y|YUB0H&7zxoRy)6Ut$}T!wlqY*-^6tfPh+l?79okDnjWhu>=lql%j# zORc^G6TBM~^?G{&6m4J#o+x23eB*VW;Ys*bT`0{xh^ZHsMGJhA}JTibPYj$!aXNX&x+j;Z$zTR`j*Rq8`X9MFn2^>q6 zzuHnXHK~Gb$UV~nSGa6NWI%nlnL*B2EF`gxpbw@xwJ|kEHwWyU$%c7?=E}D^DfOuDD`|{Vg98((PDD@aHTwHFNGis=bJK;L& zFvp6wLQ*YzOy5Hmvb!lWZ(7clBsIQ{z_hQ zXeYRNRd;oFXcc_juQ+uN;CPqYZK#rBF>}AxwOeg%?TxdkVbJn_a)+yB|1+sE!%yb^ z>QM78l7dfhmmjq#dQSI~R!|b&1O;|kuGwh@@+AjLhN=L7;yX6%Q7>7UaYt6G4=y2C zVDL6gDDk_SZC*T|yCDlw9z4BEOHQ&lTZm{_I@B&|;Z_*<7V6$|U#)HlOfKoIX&LZm zIV`mb#=Mp3^u+>iv;^!#&6hU^AvghA+@D(>Z7Ps_duu*b&1_soLQS=t zYA?HFVitz15=whqwp&1H?_WEtaJ7g+U8n^^zhqrt#hn8#S+25OQRRL8@dRtY+hcsd z{?cb}LA=12w%u3dJe3QBWkwMzf4lC)F;oq7I=gs#N=IbAz#PC8AZxb>`svi?2QPNr z-q0SW!FX$87&S*ZK8?^63Y0x|)Ok8y-jb-F|g z^H7@D1KNsd9hhezN|YK^DlwU~=#7O1e@Ko80=*cx3TzO&aU3Xiv0uLd+0|N0&rm?P zZOWg@dBYdQ<4|Haj&ATRnV>tU7|K5_5;gb%KX?473qSZn{iR^Ic`i9MYR$XlSC!G{ z(RJk=n*gsmr*pY0@(Dd>$dE9ELut9pQ>;+P#T`O4byMCxz!Est!J||eMv~9);`zZ1 z@eCm zHngXEzRC(f@P$d_IYSGT{j)2)P$Y5$)l^$sKKWhgkSX@WA07)da6s}>x5H@GMSezq z9lcIHRqlyWBqBT%imeDWPpf|zica$T*_tvST@!*Vd7oGOg$X#jsr)&e74p7sf{C`p zUB5f}W|FatrE??*gAb_^I`@4dy6p2>(R+Y5IPnwC&0Sc59P!e>y?S|5E! zx6|>~^EEe_g=201p13HB4vIrjAi9x7rK`GE^zHN}oT&bfCIkf~9k{E8S~hWWPYvuk zEN=Gutln@wv9)iA~d&@2O7%pzp+fbU9 zUN3I4c)KjIVU%T=3w(eP0DjAm7Zt0(n<|DY;1911=9+Nv_o^la$Es?e5mMbT&j2q+ zHkmTBw^w*n_H@~WU`WZaC>(<~P3_+wUSK?n7RzrI!`fdXb*YGU7=i=^P`}HWVi`$? zfXHIk!RhL4jhf=ae&n|X9=oo`JR(naW$y5$Hch$Q&)3ps!WUAVC`sylECX2neO~) zNw|f?f>Ddy``4_BBUZ0(;$c2fWP%PuuQl$~gx%^fCWvr6RF^W}t;%~Ikv&uh@sLbr7qlS9Aunz^t~W7 zM0_4;+t0?1H_IOp=_d}{lJ}ruI`olZNC677IhgH2QoB$#N5gW2`!M9J9NWp)U9&G$ znX}FPS^!p83La`dF!m@ZUyw2l-*45+KkJxC7`@g|hXAhBPl&adPmEhPoQzDQ zzNF^a<)ba(MmVl+n@=unh)JMmg_2kDr5I6VY%xAz*X@T0fudpWV{d1?V0I?a79j)P z#xPvNL$O4C@ia>@?>L`Ax7Msi8?GVmp+EpT`&%n+!fY-(N!%2Se%TdCh?#DM=aK}RPu$l z`}(~kX>5QGWM6Q=0IID~!j zb*)6~C5IVCh?1dWLyjDi89RljK#=R|Mq3#Jed+00uD?sDD(O#&`7<3zM~`#+TrbH) zZ9*tjju74J(&7e}7vmAZ?QSX0N0<$@X`XPnC@*Zs+N%!=z8=>;fYZ%bBT>5`2jIh8 zPu3zNY11%^h!6=XGOMkd@$&_MT09gD>UB^Fv%BV)Ns8x z3)C7Mo(0Dz_%ef}%36mo!Q9{ zy&sxsM-qyI&;3fe`df(L{KOA@s}f9xdy@}6keJnNwfE0}MHd`tVC$EmfGIOdqiH#IAGYsBJv1$F^C@DA_HXA-E(~ zQKc~{Kb;y)G3o8@v#^5%Eq$hT|3xp|HhSVFe$@Fyjf*So)pY4vR53O8>ikQ`RD}PX z>c0nqkgO6%!k(X_gcj*mrg%(W}{yFlcRp zQtY84pP{4XaSkX|1sbe`D}l_D<%bk!!gfLeFcuQ7u`EXs>1-SwbHrNY3V;_TZ?c!Q z-Yuhlw;bhMFdH}=N!!NYD<45W^B8&vg?|yBOm<@LS1WH`-}Si!-0h-#ZdZSRH@24Q zebvo}wDMLE46$Mbf||F6Ce}bx5Fe%eapaFO`iW|QYgZ~4|yZf2Wx>pM(t!UBXLEY(H=tY6w@dJrMP`1{?f!reR> zdHR~SCH4C2i?la9>i%@jAR3JTN3ii49hb609lAg?6P$>4b8U_lQ?8b~JtgEjo=CCm z1wI^!=;8|c2taYe4V5&+-Q&0)XwK>adlo%a&sH2UBhb*4HWObEJ5kTE!jP@vug-i3 z?Zk}&wmOw4`GWO+i+yW$MfbSEa#npAQ>a*<7qvKqC?MgA@9mu>u(j-38P6ScN%h?K zgB=N>Cy=1?dqyti2jNH|z|NF`okROnc4sfAZ+d9ilXb!avASGHZ=XUDVo%Y;0&trw=WHC=_B0iS2lohit|&_E&9S67N1SII`ePz~ z9&R+jRpOZHjcK?$qZ$iq;8cRe(o_+R4lzS_#7;_JSHp0$K3AR?0&g)dre@^>=tk}}4l)l`w3`ApNXEwIlzakt*6ap0m z2yzl#Vx~#j764Ueft&mPV+jfer|h}5E>%5vj;98)uy|bEU%qXB-WPLj2Khah{B~G>8%Q6*Yl~dO4wPXn#s$$Up>bTqsF<%q5Jt3*?#Ep^ninED%+cSutWQoxRwEt++osPbMioZ+3nn;?yF+;| zhSddSYLejlSwXrl*``8o>;4(c@kOO5nYCiVq0&e$aRbH(XC4QPH4$BCfxhj2!omZu zDe%ILqgHqIQeRsOeO}!g+i+*_ADORYq3h}_d|;>{@BfHA9fXfOR!&D(a;)0uTg2(txH&fSwwn^B&0n8-k-B5@}6LBNn#I(oiD>|ug zAy5=@EDm1LBe08G^#1N9qzkgauv+R$WaCgriEVF_m&k!?(W@-owNe3Jj;Z*i{{d1>$Q97J3rDM@@VfMf<=IVNHx)!dJ`sTP!04 z6QDQO{~Ji8R?>MAaD6vVUE+As$F{rHl!Fbk3bG7}l~cUuI8wE7i}i3~ec|r&C|~S3 zr@g#Dy{t+nWbc7vXJ_O=zhA%N6@Go2b}&pw*N_4{{`d_r)NB&-nXaD(#%rH?{N z?_qj%!VCQtZg!3ygaj)2fqMSWV3^F;mN2cVh^9-@pYGqt%Js7_g}ZDKbW(%f9P@`~ z&w*$y*xL>6*eJKm_0nnDQ=%Ji%6V$XVG4gqE>efQlDeOb?jhhUSKSo7LfA#zFeEJc zXOf5@|HW27LBGCBQjq9us)i-Yr;C?T?v_j~wbB0n*m8pYD-(D~TBZOwc*M)jhwSNf z|7jmXsthYj6aMp6y+N2^a~|$)v@S05>#YDw0B`pY97`DMYd4A8 zMuQM0o7+W|z)Lcs>PdwYh9VU@{560NpX}c&7sdjm7;YI8Fsx-em`XpjoTjL2O6Y^B z^;9r%Q2aA99w9Ntl_?Eda5}01_fh{=;v|kY6_&A#vPy#JfGpxRG#!r{XP7(4Db5S} z0KeewQUpK*Ypr|hofVb1vRyYfjy{e?rE_-84UM@d_uH zTSf;kc|8k^O+4Z7o&o;me?Y;>jCUkROn>rRj;8rR0NB+c^vmSx&SG5UOtROh@v0RM-j$Zbh|=97O{_ z_N3KY=1(XVi#*|L(@*E60iE%R2?2;4GsnE4mgyWn^9wXjn7+uptUq0ASwp@X;L!3rEv_|*6G&(^IXDBf&AmTo_UzFs+V8J zvJsce45JO!7Pi#j?{@!rt3rcHB@#s=_1@!~{IxT&1nZ%5gY6f}>hf&^3?H4$l4ks- z&=Nqei!urQFgxMNEoI`szmOSlwj&oVz|Aj+Fil>PMbqSa^qa<6o9Yp1E;=M@O{qw0 zl(ci<$Qgl^?A<2x2mIX@Mdia#cn|dEBY>-=*ehz9+ER>vmX}wnLza2?N|BwN_Wyqd zOHnj5zGx$9yY&k=e<@4r_sn)Ef%yIR2D!-OP}>U5Em|+rps^$p#ygcwwG;}`biow} zqHOyqYq7ir%>{7j*AEmK!hB$}JH4t3k$_x#1tA!({$4>zHHnITz3;eS zvT;--Df-8C*~qC(WI>FzknwLJVfzmp!mv~SKQ@uo@3nTs7L*E9bs=_dR1y#G@P}%A zHxBA(h^XI6*Bs-+n`4uy3p#ta3g#1EY!vLfuC^}uuC8+YcQ8<+7n8pLfX{qtKw-*o zDY93xD5f~3hzRobgv%sYQ=-Iu`TQ{3L~Yq`eK3i4<@0%q567+{2EUt8A!G6O)4W zrrI(-eZ$~NQj4!#1m+jl&~s3{knC&V6*YNln0+*^nr8YwM{FP*%SIxwqh--=35V0* z__{sSkhx)O8&>VHg|a%NUinIymkpWDtAP|^2NJioyyw}yLDa?H;&TQBho6(Gc(^h* z+=)N{pR(H(h8`3)384&H*hhk=d&TPt<+K4ZR(Xy{m({_&J$ij*-qT4o&Lt^~CsAud z^PkSz+MbE1E9oZy)CQf#y9EsV2x|M=3O`|65(_lZvBR<26Bq#xw0&UtPgyd196dr* z+RY1Iid-~OaVNrCf&B;v_yY?$+&cAeKo9_SI`njor-yx>93_{N*7N+{-TDi_MxXme zi%lV>hvpasOWl!!)!!9tI?z7WDo_CZ!EqMPa5p;?KLtzb$V-(f#vXKl(SaC_Ef~F< z%yAjCnaFe5`Z)O7FTn9qkjq#J`4|f-$`uS<9AX4K6tFfn1du~e2)MwNVAzh=%L^kR zhwOmV!pou#nj<2uUCM!Ky`H;T?GiXGz)alJI1+afHIwP#{h8c1U7{xV(|9 zzZ@_6+4M_u|JzGfXUN?b3!Bi#Df2vx8y?XX0(t=$_gf4CmjG-=h}6c-(Vi#fg<~7D zxw-aw$llKc0?IPg6;Hi46ge<8z0R1c8)`*^^l`!Qag?7+iL-q_N?udLIAmJ*hf`ZOlZF;1R>(daW>hWX|hR+lu3eDBpp%F^x75>$rMY z&Nqys?iJZ-;5r!a7G1v9c6#3N(v9)n-Du&CmKggHGD+_8mnNi+JElu4?AiTvt0cvUDOjWBUeJj&VX;W*p~E1k2#FpX%U(6WhBuD#J{usl1v1>@sQAP0uD`oj<&W;>FOjh78c!v32v3AvO-u=wEzxKQen zE5O*zDiSmdxvYQ?Px zN}?SgP!IlZF97oBwCG7DlJ`g9*)J`<+9bit5JU#_H*PMSA245M97(Fc#NHT0Ti784 zM@U?i2Fj@T$5ToyB?EtKrV=Ol$@6Btj;X{YZ$6xSeA`40F1)kd8`5b*2j1u$J1U21 z2MUx?i^N8Y8)G2=fu-FZ{{anvG?)}j;s>_BFspQ8_Vq<-PwgdmfXfo}InCq$UfaJs zW)N|oUk~oi`J21d_GxWRY;A4RLpjjJz$kyRq4DCkDMB3l35C{Y&-%pZ{Rlz%$PfYMRs=j3>pExGp z^70AELxf_3^sdX5`v(Z7Dm2A~En8edpyd;#3Yc{76wNoCfwSd7uALi4e9EaV*p#jI zkMC|X)Bn|V24oy%y9;LA2M__3pT{l{xR?4DJF@`@K+X6)zM>N=ye>R2;+u6Ok z>jq*r&fpZ`oLPjUX54fiX7r| zJYa4;nUJlyA2u317ghUSUw*ZRP6Tuho_Y9QtO^^=FW>hkL=pn#X#rY&@V!pE2R{+{ZabgTp> zUPJ(v0V1cRrW3SenEVTx9P_5T6|wMj8s=i%OPWg_<4aNXu4WN8nkOx+F!3Wf9bgQK zG}$wZQNkDIQ1yw2vz5&%>>jMEYt|~;ON(Zp%U>IMx~hC+58N^W>plo^kl@~z#Fv#x zw~D;atqmSlT{Xm?S~xXKm5}Fd2l~>+qN)+79Z*V zF?Kq=l_!~L6H6vT59K?Ngqh?vbi^y)ua^~uU)oK3=(Z8v<#%+;-y-qsl7h1u?Ky&5 z{TDo3gg`b*xSzsj5G?Vat!h8dlPChmdn15`%s|}j%xsq!R$Le8Mz0%0BB-YHCAnwm zzdlo|R>Q{U=~#OBv9V9ze)>MeJ&U?eOYLoyDJSXV4X>h7%0?`WsMP8>$hVod6r%yL zPiTBK;^h7t2W|dxASe<71BMD&mhcG@Sr$4@!Ei$LEsJn@t>eR_`%~d_uiJ0`;E{dL zGll>XMcmN8XQ`YY5o}t|z`?-Ni3rDP&2LsS!3A|2wUk`779LJy5*z$bG<2UKe-F=+ zJ{+OzLLysOF={LH3$KDQc6v49^?pRo#*oD#JL#_3AN$Mo6-yX{^r9&yC4wCr7dYvbbqi|eg9Z+Zmq!g-^!^Yi=76k-E=?;F)$Z-Ul8bTbF-(h%7l z1oLCaS&wIvd(FuB-NNh>{YV z6jfcsgQHH6TgLY|S`&LEd2vKbmK1EtO^V+$w{@3``i~cN6 z=gj_@+OFC^hMD8qQFtlu)|OX$$GzKSzfZX%evK@b%B8u!l7}Op zqKHZahw>DOP9qJK%=X*RZGhu*E~79Lo?(D_#}_rRap-n*%yL{!>6l8#m2hpKsvc!+ zH!7(pu{pP79D+=xZowoNIQ=JDv5*KL-OYI5>2jN2QPdXMfq@EZai}|9S=^*UhdtXn?2)X#ybmELF!4EqR z-vT5rP#&vz)+bW8I?s@P6b;F7UTWpQDTRK;0vRMrcqO zVH_U&a0)4`)_>!p@js4%iR$lHfHd+7%Q;(r93ZmMto$i_$O&K@ja2~TdS ztLxWJZRqJ@|9F~7PdIdxT^BNE zB?y&tdlYqwp2cfy8aF1tRwz4zbwJ{*=M#U8hu*mS7tHKXqQe_7kEvMx!j^#v>StR~6fwk0Ko81XO>waLgeS4Wd* zA*@*Vd_xNZ6fyg+eC3bKw#)9nDGfN8Z0puIp%FU6wq}9&3#uqpE4b`K>|8N~W=E(J z1;hB*cP^e~x;--2;4-)QIn5pplkz)Y)Ur-*PVWTBgHM>H zJe%^2+RwYv%6jxQ%WPbi%nX-)hrizom{59Xi4qb{!hGUu1-o4!8AE!1HgXTjLAjyt zG$V9*=b?URpdO0rl^gy)iXf6O6_GG!B)!Zy8{&|$>*}}Q+wkXECBmTtX<=>Xx|@cC zmMuzTN5CiA#WENNgJ$BOE9K1$$cZYTBa4nK^zTg>E$7LI#_JVH(?4*x3W2!qgyvw$!*x)s?r6 z@k}YhLvSl7>k;i9s~HBbVL8t)g0H-v*UjDUr;mrvEJfdu`G^R&%+r>5TRx3D6v1jc zmL~5C)A~fjt5pO?-+UXKG&Z=LUzQYEltkEtB=Dd%m=2)N?%<3ZrHQeM&56nk|GAsf zOZlS;m9V1DiL4A+>qykPAQFvpsbm|?naU2}~|wC5K*ig)fSIp?L2nL?G_4p@~Y zv!`+d{i=eA4o9>?wZJq@)_C1%E!&Ak&~Be(OBg0;ctF4A_D6laK+w>B#SfC&G}qEH z7vIB!{idTmq*(xFwRaCKlp{Mcjuppuz;eFBqjKwhebO?Vl*;6P-oQU?a?iRI03C9F zdP&s0v^g}7j1m_{Cu5hfZ{!i50;0|KmfxHox&B#3w;J!z9D7RuN!qzQrFW2K4Wy7K z?uR8}#K}D7b|L)J;Jty?SyiV-XWzmSApud$W5_1h zL*N*nY!Gu?(^LzZGV;_~)r}zBAVF;iy%vv0obDWgc&?i5X~Sg+-3E;}!rroP4V#3N zQ7=tpnQIy98=MoDkDNKm>;B^8gjl4MhcKyfNl_B+IMfs6O|e5H?>gk@Egv32kp1Cw zPt?gxSd!3$AeUz|17o+7Rq*8$(9i=+a36hD@f>1j)NNq^Z{k5jgpmBJ%v~N)EOhTa zy0UZ>^CG&VKxDHV_$kku470J+HIL%ya8jn^lU3lk{8V*VxR`pr6laa7@Ui%eV#DKQ zaa^xjosRs!#-vm(pwpHKH}H!M@`piXTav5h#mE0m@GXPMfAg{*>a}qFTj>#27vqcD z)f7bjyos;p{-Sle*bKKo>b^|&4T7@?oRt*&YfI^dPe*i+NwXb>scPOdlYq2J6ay_O zyernIKOPe@BBfMRt_@wgj@@GxC+MRS#_kyu+vNBm^5@}pcMmT30-O%If(%ei25=yC zts*&ZNUnTjWrt$2fm~uYqY2)#GhE|}c!brYnU98Otst@|sdmO=CiTNUD<27ZH$$G!d)S_VU zp6dM(2{WdwG*QvX7|&2+mYvsEI@St_^Vkc+3TpSmHwkjBd)H)F-;Qh=X-HPfPWyiT zVDblb|G9ZuxeeiK!1@-ECtBpW$aL=eL8S7@BhyePr1pCDZ~j42-(Hs0>bx9RK%hs+ zX@`KYh?l^Q1)G(I7HY+!9KLN@r%!QU#t9B$7&?k0-bCF23@4kQ8Z~1VMqksGX-(61 z(-1U9aLJPe7{ps$WGo4=x(2s{?RiT`E+V#Ttdwl8D0E)t@T@ZMK5$;0sR=aVIn4ge zg-AFzV7csdFfBFTvg^5TfaiUe8I1#woo`WsMovCtaX!M^I#Kh6A~arJrihy-E-xUg z*;%9|4oIoe8)5ZNs~t4VGYav;W!Zs4`;%hS?}7~>#Tjb3_4APw`i4$cyfy55v_8Ja zwo9e$F79$}d(5paR6;eGsP4^59&&%q1~LAz0eSd>MQW3kkg^fm-bjHbu{uKgw(si{ zM*OkS7AeyQu=Z+vjKyNvfrl`1Y6Ex zVKH;R3l0;(IF}N$rQ(H8m$9v(?~dQu^Mn_)+ND4X3zhWA+q9Z`O3<~%pXAwj4kyE% zp8vHo2vEXMK@69eF3cmkAA?XnzXxn7e6%J{x-5Z;8h^XrgZJU&M`RORqD2`{3^d-B zLteNtHibvC=r5!&tVbz;cC#SXay(L-J5nfjFyAN)$f(6j$qQ!85;*t$_tVhx6^U;K zJ*tTWUlNK;NE*XpZ|%Hp!L#w`^F?x_FB1o`suAek}u0(ue zp^WX%fDYznySnPuD!$L|CZuk zgB+o!HFwSIjB}?+Cv#TF)})Td6$an7d(~fMJ*k2L$UjjHQdHA$jVXL|iuv(RF998) zFj!*?@KMcC=63-}-2A+%4_R^B9YFiXtp=tXG?Qp+*cUCd$P>GyNoVoMl`U$-vVDt& zM?5SjdczpeWoz_YC5=knxLI+gi6^Tg6LGW0FgjeG2QB$K=3W{tzdhh0;gF44_V)wvykS>QU7g?ql=^*3?To(PdyC&I5$Gm!ZF5^| z+>2-Ut`lj;@yujz*`zTU2A9j7n??i3qub@)WoIa^Wo(w9GPLK#DiM~^Ag*!2#=^!C zgTFT$#%;|NC=fe^c?5-9jWmzXSu))YH245a>X+nD%Z!cUZun46bjPOsPNNgt<*#-~^tVYP$&bj4M6wIj61SbZS@mk@0Z zpF>OT7H3g!z{xll_>p1 zm0;jou_@W&GF#CIyMPUbRf1!aMrha7Ru^*R*5qTEsZwXQt;k-D@ff02KBHkA(ebpS zzhR%_2CeckQna9SWZ5@+blnerzMppAp?u717`zV-li9y~ZN*7004Q%WYUz#gS-<>s zCnlFqEseGq>i|-472EQ5KYb%S5W`U< z{mA39JI`{I`pYh!ZJi?Y;SsXYuZGbrViEFMSFLK(-3@RGyvSYyTWrjo;|qx>T3Y+q zwQODS%Y@VDF?Z#cnN6HPSzEjwWrv@NI)|m0`x~_l;C;I(SoydRkuKD?8k+BB5Y-X9 zcc0rPf8yUylzfg4j9v`edQaP}e{aovv42eXI1bUB9{pcbeFalo+qy08 z9;9&yA!u-?v7iBh1P@LJcW)YZ*B~LdJA~lwjfTb{xVyXa*yr5)YTsY5YE{kp=Jood>&N-*X)IdNZo6mKl3wNV%iR z3XDP2uzp3cjgT3*#P+^h&ZilbVmW=ZU(S4(t(uFCCKOVYqoB`&$OD;!YiZf_|nfnL#=p~V|>+@(KgCkGy&T#Rq~X38`M2OZ;SCTT5?WXkKU7^*#;dArmoi`o^rOwH zzP1<{uZ0y(EBOyXq{g$=ss*J#34JpZk?noC0Ps6t#*U#V>1WRJ!>V87_YYJ?Jv3;R z!mYDZKDYCsRnPNc&)kO3>o0fK$`2k{P%%fNOvGWEzE3%WN2^mP24s@zq=!PM? zWSgPCsnvo};nzo^e7jYFb@)}na3U;nC~VLLA)2C-Eq9;{Pxz`^5TR5(xZ^vQ(4LMZ z?1{RRmG!L|&s9R=eUGRD<|tpg3oPXUi|lCzZ2RNOyeDuW0wohPW^I4IEc>tv*=7=0-Qh*>YgcBCNny{b&jLHnh1~~7){;bC}$86?k4~3;X7SD zG4VIYSq^heNMkKq?%pjqKdUo3qNd&H{0W_7YfSOjX86x%-XIF@Uy>=kt;WOzT5V|m!_3SJogE<4D)cH9vI)0!vRkLQ8|J)Ku@o;vpUSvW6=#i zfzX7ofC%XZPw9k1>j4pq0vDYv0+?7;$?bt$qI_eFEMD*-xCC*YX|L|_?Dx# zfL%I7ASY!=t}qUNjCC$lt+__Ti2(Tc+( ziaT%7!j3k>xGd}VgFE51`WZd4nl6Z2Q* zRkhR6*qV8?7%T(Bon5^6fhaP_(6j;rUYD^VuhIie6pLejgM>1vy!HWYdz<8&kdtIj zVWlQKR9k;d9rip;N7fJzfLnn1;E&8Tr#kD)Jk^aFq~-RZ7KfyE(6^K>7qgc*{I5>2 zawNhpYtaVe$(TE49#;2`nwb*}K4tFH`pk zC?K3Uj0MlU2AeX^q5tFtUy% zQg`rNh7`3u9lYF>89wcZT@{@ydEQjSxC*@HFm~jpK<$!y!iYV zRSbA>F25;{G?d(b0V8DFP+FiETIiLMS&}(J*+DuM7>yq!1N8 zos3wcg$1b;5lma|*}THL04>zDD3|9 zFLK-1@eo;B`EN)3&o6wFnp79*&deFd#HGRYgFoKQQa;~KiTG1DoC$!#@Ye+k%e*qD zRWd>ML)N`Jw{Ry|*hACHE5=B<8G`qk<0$W7$49nUlma!DyNzM8{lQlSZoby&CoSKv zBMk-Zs_-8+WJPOwYm=sX_iy(bQcZfMemsd}Hl@EJTO0+}*cNDW=`f&sHuc_wW;*BF zL%YM|0Bx05OpCb?MiSY$cc{hYobljnfA8&__bov3#?fSl;WY_j7FQIQuMZeI@vAEj^f4CA8U%R~U)PK0Zrc0%aQ!J|#5%F9+>vo&&vxJJ@aI5R|gKC~+LW+=E5 zbyvNtFGxR0mCI`Lin6+_zjTr7C8z!9(fH)^nM0{4dFbVQW{kT}n~caXFNzGn&v9t6 zDR3?lIo{(;B>C+$Qo)X>eRbz!-8+44syK0%ubUeBgy$xm7!0vNBcZW07Yyi}pBMgx zS1SL5SCT}O-M9Y0o~t{q7jIsSut;Y)?DV9J^t;t0^ZI6%jT5nUzO#RLd$@ZXmA(0B zj!e|?Y{Mz`AhK@P+Ov50(Az4Y?hsVqn5r3f38V9D2djES;1%qIbYDeBmL0vW!BX2= zyGur+_lQ`8b6Rg3=?n|98jB~{h7i77@0X50&dzh9B+(iJxL__Bn@(U|3NVr4w=?rJ|V^6Y_y&fOU0X`9)lv>-&mA) z-s;yFm=?yiUR^(`9*+tnof7x<99JhzNJ_MPyp>ZluiEHZ!q*A|jw$gD|0ox4SAC%AKN z(|4jtlLclSPShDwb3aRjwL=z0#r0vpeGq-W_GqhPh6MLn%44TDis?Jb)M8H$RGWO( zL#%D&cQed5ablR`^Wnmc;m*n7d0bn7ww-YlnY5Ng!2t8*#yozO?oah|ENNKehg%z# z<(NEqPg_dHq2ltNSEdkf-a8+Z6BWat%4CyYV~B;t08q~@8K;c{2)id_hjS<4LP*pq zj6F?CSL}Ra4pXLSHqAgKyc*dBx=Qm!HRu8Bmsch(;*v}H|L&mSh*`bC1Ox*$EbI$A-|f|hD3+ofap*27yL?YLfI3uN99np8U$6e%K&bSC;?Jz{ zLc~HVP0iqf!(y+9N%j%bP9DC1WeNs>pc0rZ-67U|3yX>lS~*rGsSIBvNFiZJDp)!! zF_hha7IFXj&sYFtTCZXz1al7MS}jsf1jli9#V;|#kQihXSmx#!R>l=1do6FQ@(t$3 z;}E(GMj;{rD+u?b1`B7S3QYsbqVcCMeBf~)|)RxYGT*=3M{L48d9=!EZKh_9(X`4QqDzD62{_a zcbr!4u(_D~G1<c|MU?n*gc2!bTWsx09y4f1_Xc@hJYW4uB70a z&tbaV2Y&-aO`h*AsIj}00i8H>CoJnQ-MRyo(k6lg>VPB5A1y%A;=+COT3CxLy0kr? zcEsKYFzB9Ep;infVpI0 z?!8#v+uZ_C4DkYp8~Q!^mI9omuO|%U-Y6FN_ICm?<%?rF5HmQk^i!_pUzI`gJj&Ih z>6^3H6uoSJ9aLTm;#_+@Dj7wL_f2>Y`w!Khn#f7@Q68SV#pQ9tASQ0eH(;oHxPRdZ ze%hUaeP+FT_{|w2J8LbqhiOimpTyR*yS9Ghv}XFYKTLV~4P-9kb`d3%B_GhR?)SzC zE=s}cWDUFVX>N~^_2kdP=Ka;@7XVRF4YV$fV`q?DBvie3T6+#_aO&E6Qil z(gc%OjlmhPj%9P2`plXcX1>#){`rxHaKiP zp$z21{k*TxsYmWSppU=hM?N_H2Rg(MnvRPYL1x{fzY!9G4O2F8bZMVT0~ZY6+d+Fb_+ipRQI5qI@v~e#I7;h>W!k?+aRB0X{|z;cJtia_@E+<* zudnmowgQs7u!WXAYrO&hONo>95D!UG!Xl%pC=Kkwh;~9PV5~}-of&*9S`>e$Sc&9WsPwWYI8549NYvBCq8jn2Cb+~tx|5#~IPoZiJ_ zJBak2)2DhkR@UZf`Ek-{s>I0ReW7NLREg@*TJ=`SS3CCd>P#TcD>;0WE4B2^l+*o& z3~PX_ryiFiMp_!xG@+dvigADQtERUWZirH7O-!TOO0@XF*)e!=gpAcr63*a44(i+p zqz7shPlSQUcYpg5>6CEUhflg4ua%sl!6L}PMqbaPn)0+tvOo@PTVxjwIuS%eD2p>6 zTU6IRqHyMGtE+O0QU{rkL1X>ckCHI{70U;b6`&=|Nc;}COd)pG6zrBoQ?SzhhY+vu zO(g+r!zioTPb%;d2a3I60LcDA4@v2y*1bv9b#7J0vo6fjGx}to`Jls<;#g&|*!j!& zFSB#P|?Jw>uLRz!z2H7~o$lBTuf3giTR4`~7i7 z+#ZM_7v(<4bP|_#P;^vN9^-fx^4$`eK}gl?~6QZ8VTWj4}m#0FhcqNGY06iFe$ZPECo&KtOZY4&81p2_A&1AxI@q*-O1u+F`hT;Sws42s*S!SC5v;Eoq z2OLKWE88w@*Hk@@#Tts~H!C`*CXa)t>X*q;0bFi6MA8zFH;4iL;`%5vf-M7zUf3V; zq!0eWA4|6K+lkG+x6tRo4C09*!q9tU`jx6>c2-szP6Xu9<2!?H)wu=Fkyno9;`dh7 z519Jh65-Lhpy?(`Tf+bS(0*G{RbJO{oTyR{Z;MglIaU`+;BxXbJD=jaX8+P>|2*9B zASO~*;FPcu`2pb{zSY}1s?)T?RHER}H$P2$rmOj7T(moIKz_qFJmeEb=`SreAG_-4n8w7qVp2M| zq`xmI)yzyVU|!D4v3vd)rUt`Y4L_<5pYZj_uw((?QN_Rbl`!2LQ`hZOeW*{VWUr_8 z@yHRGpJeozIL4#+DeG96YvJP7+|PDQ5lhWMX?j4*$=cZ?RAG%&ZeZpGv9uV`rf&=J z@1dDw=`45p!fVDZXvgyq6|W9J@m6SM(d4jdyeu;Sew&;}MX$CRPXF#` z7nb(=-q-wrcabs7f}Jyy1dXOSevh$LYc)y+tH@;Dw{3V6+w_uD83#iI^7f08(AH&2 z-mm;JCFaHLHCc31w@x_QwWf?|La>8&@=pUpD)J1`1@3LSR$iQRw{;i7TgMSqTx<~m z8NBiG!~jzUM?L|V>)mDwRlc9gb7Wy|-+i@)N9Bc!u1oB^(zlSGnt3IE=C-RfKcVhk zY4AP$OM^N2^AGxM^SGRn(DT_wea<^z_a+WRQNVk>%n35dP-+&8OT#bR;)UNBO%3Fd z;m5?_KE+9?2nA0RT!TGh8_5@r@FiqY1!Fh6TP=eU2fXm-@Y+KJ0#)jfj-Aos`0wOB zHipQCN8j$=duSUIwlZ@>$oDHLNWgLLrdEzZXBs_R^V%*)kni(iJ`%yTIQ)$0zVx*B zZS%g%dSv%~u3&!&%<|b++T>XcN9_1SLBp|y(E#GZmD~ZCYO1G3cy&5;q{UeEdK>J0 zftt`{7apH-M{!fU3xI~otR&<+h4*d=cO=_gOn>Ir>WE|G_@qbI-PI*(xN*%L-Am(u;^--5aqlVR$nBSo;JMvH zH_ixPUfi7=-=f*?3cZ2S=O!)pHaezWq0fdF8IuRACJ_g}4a^qgg%+5lx+XM@r;S|& zlT^~^ZM2=O@yQS`r4ltdd@QQES$X{Wa1MK_=s2Cx@^#~~1A5P%@vN^%;W(t3tggyX z@EL8TJOTS$Yc0(WdU>Q$!6B2>gx z7jg8P6LzG4g6Z`EU&`ZqrZpe;+k>owC;4JNQ5$axxO}qY)qOcoxtvI1uGZjQr=TW% z2q4)LBQ<6=|EON`CkHopzMCvUTWB3mX}$}?S}+5LqF&5e3vD7HD-y^Kt05a;D}yZd znMfq%(18iY!kN4xUO%@O$te5_7 z;&<^l3%z`Uyf*{J5ut$q683} zV9IoeXTEU9Vp}3;x0~-5RFqT8a+#hM=UE)c|Abfnq%ktD3IGb;JI^o=^chqCJ&dbP zHV)$15Ec*$8yA~Y<*=go-4Dtm=N%eY^Gte>$^6y;6WZxg`10JO!%Y2M-Zy_&{&eaS zc4{sX2Z7O+kw-@4JL#?&_J@E^ZNZeJ9%t#cZI9(f@}K{udT;)tdP~g!D~NXNL~nvu z++B_LKI%dxdo1a^q(C0PWY)!gYQ(Njs(n@Bo&di3dN(|$n~mml_OHb#EnXkyQ4DmX zyHt8YWeEBx>F%f;IL_3&C;GU&uwv2ieDShi*xh)hrhJf^4i#}+<&Q>; zEb_WJkw*!&pr-m%eDH4YBo#qQgNT@8@5>=-ln~6Kn2b=-Qk_|~-=f7r2s!PY%3rfo zD_b3ea1$?Hi)w`-t4)WmLlKj&K#4c~9K2_^!kK=~x;~zugcX%~z4wd7N?N9<$~*`c z(JD+@#FDqZU9difBZeynRf>^M(xmoegd7l{Y+3{Pa9ohUB^TZ89d0VZ;{tpacTSm{ zwA3BEg+%9ESP`}?Yts)z>=-9k5Qhi=$;oQ)`pGJUNM*eq0?=!csX`DO({!u zBqbnJF~4r-Y>V*gzi8M3WW>`^04(j zXo9N+=;Z1-ilBDHiT{8`=?? zI98i+lxK-FYl#Za=Cf8<*sIEj0NDPRezzz2$WrdVWt zVg5xwGS--=nl7KHE2w+!q-uHu7v|fDc*&~hR?wR1vF=0hv6QddnmU{M9}G*5%I)SE zVHG?=@Ar}>rB-;vO@EuAAHV7yuHTK?UY=+0stx{&?S1#3Xv6x5+E<^oeN5l$?Z^() z5>R;42&z=p4Z$m|sc>t#slst~f|lcuvIS~zyAJ#9+euQxCB<0GsCe&c4=0MNK z=(xCrxoNuUds@J9vl(e#?vhX$s;;@!yFOv2n08rqY@^V&Rd9(4+2u;c7AGJo>JLc0moffL9Div( zV^Rz3kqDpmiRX*?NJR$>9XmQj=p6HR?6G7?)$Gjsy!DrI!LohxjWHwaJ+(6E!b6M9 zjLCSLGV2Lz9~l-W6EO5nxJi^G(oRr1r?XqCq^6SON~zDZFX2KTr93P{jaQ`#f*_I1HJ|JZV|Tid4e zmo9pogMkpSXto>B!n8!4FFgg_7U)g`rIxUem9uB++Gzd2tZC^OaY;mOJ^cDG@{Hm= zB#AvWJwtnjYln>qS+I~3SOAIpDPfc2AYUL4->p7%H7yt|Dk-!^2KQa)s?l!6p1e(R zizaW6ZNxG1n+-UjY;!l^DT-GZXb&*n;GUi3?(1VB>a*-G>+<)>VX?d~yCq+f+l}5q zx%|q$2vAORJx3Od0&Fv4+H|G4Ei!?;9#KE7?N_KNp9zH4}0%c$JbUhW^WAUH#AIMLnEc)Nl$_5WCmnXIrsi2t~EU z&Qb6BqfLhU!zuSPC}^Mq1vRL^JBo^mS6qOEB1irc;}EiZuV8q287rb>7cS zkzo6D`;+tF)2hJOM>FHnEv_wMOS zDg{vvo;iW(CA5X|BA2^=Qkt1%{7V+9SNpaL6QJxG8VYHd4XyEu+g~q1kN<+|~UE(2lb59j6Dg+f4JJbl8LX0B7+aRAH;{f;N?X9_ zS?=$f1wEhiOPsHD3EcM#-XVo3lKKOtz>@X;hy2dsRPy2S_7wP;15C)}j^lsb0{=y( zMgPf2^5{VzMr?-O&zM;{23=aI1qK>Ogb{Wt3zo4Qa=p9&%d#MKEHaFu0U93$VHq?b z3Ak(UfO*68Fv)zKxqV$3`-)Xs3asJEbum63AxjKsqtI|%*I?MOM77ekps9SbfZWP4 zTK!soV2IgOm5ylT5U7!0@?8YVl_9@IEvIR}X8uG37d1LXJ$irA*-eO^0 zn(MnGbT8)SU|CnW0xbuL+*_ptAYy0iw2R=>BdE{i7C!=9gQzjn1&?MTN`#AHMCG*Bi z{C=>(A{282|KVmyz*Y?GT+-%MQKuyav^;s$r`e7=am^kU`O6qW>uoJBn=;(}kk^Tu zw)paDkkEp0y4kj#stJPAAYi)(uI;dfNx5NUEb`&YHuO7)-XRygll4L8WPrb(bI{ZL zSBgW9<<=IcTN`f_>Q;mSgSIBy8^aA}{+R{Ll$4qP1t=o7nQ#6uT_AzZ%!MhMFbfN! zY_tON;-=-0XER2bW|$87!<+h)@P(0qg~|w4PPNu!K@0%XNF}`ir_F#Y__$>P7YAaO z=qTBPl1X`(TKEP>L#(gDsA{yFToH@jjCFsDa%$!R8m&sPD^b~tsv}2DL+WeVDTGKH z?`9%rf+EJU284+HAIX;IpV^odqM(dEGBFV>=C+2?B^|$?tcvyn{cQ;#Qre{pt3Yr#BAY^Boht9{kVvi(YX z&!+uutK){3=jo}$!w~z+rJ=`8n%K>?n$u9Bu@c3t?HXLe?a&x|NN$dkURt=Sa2A>6 z{*JiJ!?+g!K1Au=d*fUwc)}6p=R#S24S`u-<(LE*|QLAKx~3$%(F35lq{ANc(j4wWmHthCT0$|MD48xd7 zfrK#|056o@SSU&vDt0x^E>TVnX&^Gg&U<(u`)`B&huD~TR3+Ut(l)v7&eotuF(2{yba9&c@;=~22n3r&YmgE(9#SohN2#X6yWUhpaQLF5ap z%!HE@Ya7i3vfE8?Wy|U?7iRtIYStHc&3v?DI%n3GVrpf+4DVEmP#YtjWih=|u=ONI z?5E;nyY1a3C?5#0p?_p-?0rgYBtccQ5o`9U^WMJktrU5+8`_$C6s+luE1`dDh;SIP z@;f4C8^%Nm7DgC^SLm*6KUdUk_G-!iHm}^iPpK-$kiw|IDC)l>D7Zm!?!#t{7~J~H zl6KU0uyZ>EUi3MNZgWd%+JNa9mn#7<1yFJ@q%tHgtE#ZKFP~s3q@@u|>>`kK1Vjz0W%ZcSCfc-6V5;Z4 zD;DPtqEt0PoY*6vkJG#;(4`lN_=SS=nrQ-{M2$-TzeQD4tRZ#P61NfW_Ed5@HTD+T z=B>aij)rsyRd;J*PqU#mkho-|Bl(RQADTh5d+mtryOmlJbAUv&fKzdA)Qx%+fymoK z<-AJ;Ej^;m;4mL1laG-!(`StrR3Oz1YnNX48&+EJgE+f?ea##E-EHarC>); zxl)!6JpWf9%df-wqm1);G{zHD{Y$IE%r_6k&Kq}}?-N-@4o@?+b5By(t7^5t%6fEs zVIla!hMnDOi36wpc_&=h6!*I7so&;$IBenqdTYElnG%VOSw3N&YkWoL`b~Q!I9gYy zWHe;^En(h3<*{0nK79@`0Nlcm9HOwmHRByHaM*L|9rYULDrU+vO?*?Kdz_K~jwbw4 zO@t`1sPn_D16MlB&^LSAn%;7U#LGfNSNll?(#K-{B$lKQ(jDCgge}QGOr!}PMc?2` z_7^CSzgk(Ir?2~bAGyW;wqLR|yD0w0h||$T(Fqi6D5)5+6fJ;ERqaQnMJRSAD8Sna z{LW%h)JS}PL1r|MX5-Ct{7mL+Qh#T|>9y%8hOJxWDM+6!As#B z+kg6np@I+}us~ll?#b!0TPF_M_r5NmgfT7T1%sfsp{=ITSjt4YwP};Kz8H^oYBk_oJIN%m8Q$e}hy_D3LJAECKE+OA#V@~4EdK>X!*inEeZ={t2I$IQ z05XWx$gn>(&!I2+X)y6$x+gX49}@n|%i~@?h2Q6Ly#mHn5Cn5AVmpIG#ebx=%5tDE zl~XbL@>b1AKL6D(bx&ktzvb2P*rYXIlhyLGGj|q?Lf)at-Hmv@-tY$=1n2g=sbzZp zLHNqlK2$j``7ZbpY+6@Ak!igXdp%FoKK$V{NggrOIc(|X%-Jo8P)n%^;?dUjw3_XG zWQ#CDx!NWX*Lc*nblsQrlDeeTae3pry(jEA8TJYj>m7`U10|<76wTL3#YIb%2$DQM zlIJisf0?2s%GzZy+53vg{9SHoNs4o!GaZL%Rgf!TuP@?V@qw*+DU?`ysDKw5jPo6W zf$YlMqix&+K5_@Wnh#Os4l>t_^o9X~U*iL1X~8igF+34Se= zLI9Lqx^#z*gJkIN)^Iuc{u+#-GG_Gzk4BDLCq>MOLUSe(`Zv-Ah$D|u6|9fWo08mC zXz~@W=FAHSu_@VDBI{Q?50oO zvk(Se5kIfD9sFD}*JWC6Rhcw^z9Q0UJH3kO6ZBqFSGsj0=pqoq_W+VG3{)_ow|{l4qCqU-`8=C{1T%cL&D z8^aMsjetYYBA~?Wj=~`qMoYR$)_Lz1Ysn%jY2ApvYKP`usA>ZjS_; zU0Je^y++FqHS#fbu4udaV`y9DeYNw#JxV-R_#d;#iVaS-*J?X&Ev~)U#9~81fVQYr z31X%E7YgrMA3x2z9ImS;hKNzdv^td7t6b*;j4y(PT_LYo9rETMz3TP)6g=A zJg?L4eXL9teI;pH2u`3~^ClDZGpAcI+J&DnKUxVCC)Bt11fSCSp+W#Pr*NQv+7;NJ z!q$>t(X7au7@BRcVu^D|dc{o~#wY}GjbG`!=O%!gGdxuwVIqv} zI9AMuB0^#ilaURL$|IvDMK=qCJXIbfA@L9`IS-Yy4M@7qNpymN*kray@&hgHx`})GV553+(VQX?dh>;P2sFDP?mp=!G z7z?FG3**tr#n(TVb56hvbS$d$Kwoh#qV#a)jL1>6^}82TdLCIvQTBc&=kkYAQTT=6 z@#66gH?6|))f`9EnO|3#;wJJCE4uzZ%{CAHDKpmzO&`Q&MCfeHAd z+b^@2W=|uCsPjAcC^3yU$;4uevey+pNB;59)EWJKe04Zg}I)g)myB=Daio!ye$$HFUF%gW)@g8-TJ zVu%DRPW>QLxoL-Emut@0hN3qAYEgu zzqR<-+vfP#mOqY328sNY&K45)1JeBYU8$%e`0m|vb+_i*T0!?_OqVjSfu6o}=STeP zLyYd~xAS!E0i%n_L@FV1h*1cK;TJ1RKo{jHEM!=8y+`dtj62>TT5f$y>|2R!wZH@e zfsP1{##t?1r3X#V1Ko~$HEOR@c+Qvqy5v^KaMCMFX1>L=-8d0) zE95pf1eTd(Fm0B;QuobxHRJr|3}J8;J8 zO}9t#$hbN3X~~*LK0#q+m3!)0Sd8Ps*xcGavy!eVt-<($e<)3ioo&2PKABKV7e1&G zgF)D0!c-1@a7BWr;M&^bDWs$3tW$zaL3x)FO}KT=yyr8y!lUzr+)=jiCQ}WzTe=PN zElKzv$C#aa$wlttU-LtwqEH)@$R5etw=svcq-uWPkvE=})osK3%JV*Hxe7EuKI9sGpL^uti)>h$nWhzpHmX>h^&#n4S+5IPh*$m`pk7DJeLX zLkI}I8tK}sLQilr_`t>#5CMEcR$Dp4ZHHpV*~!$la9d)w$$g>4ap(V za^!gHStpw3iM*V5ezrNT(@4GT*M!EzAN2E_79EHBuVTSuSBnn+HTeMlOuks-AvNt< zkF6Q=`KDohh3j$NYd{$yG#a@hf$7_k?smf<2G37+2ehl<18duGI5ztQZ5iF7$ zf%eZvLf^K+xQEj2sN;YodY=%?(lQSL|-zk=e>Bg z=lg&a<1aF^ds*`o{()k=Ggj~TCmVbI%tlUfhQJDgj{^A`FR+-p z)g?tpv@Qu)>~d>>M37TK(cDGe^k`F1f=uvob*wYKWA#K$9uR|q({P?oV^8Y)_rB|r zF^vd&yQs1uulg!V2rPi5_(>=8mJFdrlI!2m5Sl ztp;7osYQ|Tn)b1Ok?|8-Erx%6bQC#gv2Bv*9wDwkEvCz}JEh_Zd&jBV;)Y`M*o8G=(^6SK!7*eNLFR?7WSZRcZc^dZR|F{2n|_ zpLwUVRqUVUOgoW19O6Z$H3n=9Sa}Z|@vjcE(4U%Uw&~p;Rp6KimQgkiYIOLi6v98b zl!v0g8tD>!iiFF#sFm$;ii|BN#?bO&(&s2BqA67!-&n8{2#1}gApKpJPL#i|bMYbH z$}9hRmHyM%@%xHH-Kj3K0@7%#L)(z(Kw$|k$kN|zBi5q6UX1#{I%?-Hros_{`9n+y zPG+Ct7sb=vH~4Tht2Ogt6OnuU)f={rx1!wQOLA@J*y(!WuB-LF;A;vhx|Eq=uyNcJebhfiAzh5^ zALnmgUDD~?Z5oTw!}z1%k!9f_<4U$bB7$Zv6CCe1%(KKtvTYh&TH#YgS&2m)Mf4lo z!)^f*pcPZY=(-$7Iw)tWdUFxfABqhmg zJqlIzIQpPpKcG+QX0;MBIdN0!sp53@)oH~nL_dXADfIIUIwcNd=Yu0Y@;JCAw(&a~ z)c&7-3(EiWTWn08xD^*n|6w@_g3H6m!UXW?4d&}b;@kaFyq!KgyOvmZRe#BQU(b7W zgzm*Wh9eiAB#(+s4qPuIe8Xd@dr&W7UPyPT$F(Gq0Ae0xwK6`D^Z=4i0OiV08`nAg|sssYrtaM zzf{ENotaRQd`@F@e#|#6q(rSb!v# zK!JC5p|Ey<;6PrMnS5r%PB^HLy8n2l1q(X~Ub*TZ6bD!C>!q7FkjY8!U1_1bjk<4M z7Fm+RF$7O8R3;J`oBte6H8twSl*GlpCc@fm|E|ev)7zL6kLcV8#VyBxSc3CsNo&@tIZ=!R)BdiDFmdCQ zGW;=9@Y#fpyCq%I^#2K_d?F$EQkb(IXDNt!NF-+Xyj2^V3F6vD#2$m6#kU&_!b z?b}`;E$%xDFHe&$m4(%>ng!)r=b%@dDkDHXy#H^=mkHP8oFDnj^XPsh2XNn1vlu-Q zBxdQoLvDdTs*aDuElR(li#PXZLaEA#v65IhoUR#7+m!d@Gbdsv#*GiHeYm%~IFG#8 z$WnS*yBChsVx5#YR z%tHHDxwOPVU7tJ7Ev|BgDE%%h}bOmg=Q+a7I7R#gK zhR>Qi%^r>=B9d_9*eL<=qU+Xx-R8o~L{&N{b`-_1$aRPe;Q`BPNr(q5JY)9#%12C{ z2dX_s!qO<>7{~mACVNs@m?hJht=Xxsa$N}9$+G@$I1re#!-&Mj)Wm&x)5HbOp@X9f*Gn_t=0S@n!1`)moS&TaFI5M zuy$xqk%eyk$9K}-aCD#v_ZK{EKmCZDf+0!^RRg$xaiSLev~DB^(RefReDQKfZ3FmU zK!S&3mJBsVJq-&gJ%$))>PlYoSzh%#Jh(fYeHeII%P+Fee#%@$0m70NV+B{gyJQP{ z#f?}>MG_>17gJ?CD2HyT1)As4Tlsd8hM zqK9(H6+|jbIe|icSXd`q>z8;UZ~PL{0y{4r4JhKMGXFK@ry$BuV$S<1j_lGcBr9Eb@@< zo|Yk@a6lg95ly=Ld(C}M$eD<5(O4cWaAM=MG#ir+N>)$5XMReF>aek1+w{ak#GnH0 zc%GvUx4xJqD2JX?6o9UFhgzrDhs^ke^o?o9k@tc@?X81=JZSz`>^2f)Kn1DzRgAco z13tdwWK3hSO5`-K@*bsoxOc~s<}Nw4XmA?2g1VX6uspM}MkGvtj-JSL_Sa;kwgPr( z0RUH1Z4WvWAi&YESKLsVPrkrOx0U?hmT}&>N0I!^dmk$bh@k>3S zjvlbTNZh*&(=7W z_kS4Le2m?zFsQ`P^eL&t}7>XQgkAOy@5Qp@)D9kd*rC!(E{n5LG7 zHVI+g?hFQ^rUTfxjorhSmKhDU<*)-E!Yw>@4j9R30v2b(-+904xqd4&YX|6D1Zb8_ zCQC4HZWs}bt4Gt|vtn`w_AU(6+D|G;fZSYa9xfk09{UKkJstlxujE<&t4VlfIP5(w zoo6cO%S%T37$V@tuU=HkCn9a4WI?-|ZzraVZq*hY)%!NPp@bcr|r3Ns^_Y%|Y4 zfuu+qYji()hurUpA1dg@N+5gHG7jTr@dKN1c8`SNl4O_b1u8r6IG|h>$Z-lM@z!Xv zqkcpTPPc+L+K8jskeMvAwJm7vadXPuHw(f$3v6M0p%r?Fl;%f9!pG;)<)QR?*^D7f zk2NORt-70O0leNs%kHGRtxb=Ma+?_?dP>dI1mW>lLmPs2;cGzkbZx!gO9~8opS+#c zBV;$NSD9;;h?r!4si6yFu4-4b)xghX?F83oavSB zL)-2uP)6hstt^hh*8H6u&Hv_R*I6L2GS${M--hqjzo5ZBe?5eg5?-zl$Mu1Ev2+;K#Vy54TAIF`_|_ zkGWqhO@UX;81ql%3!Z^pDYY2~eRCmPtW>_Is&yVHvR&M$kJv8=9nol}FE_z0b)9O= zXxQLlb!yjoi_8TUu*x%^|D>B3@bBFG08RZxlT#R#RG72M4CQqKwZ=gbXBW&j$5GS$ zu2d@RFiy0Pyc}Q5+02_$CRy{*p_Di%byyNqQxjru+)_xYYo8ehVx`5JEKVt^i{7Zu zmEn%Wwk7_YpH+!8$~V!4oHTLJHd6x?%I($maVlI}GpEe5z)E$ zcZikKn*(zmJf+9?0v6;`>3=C4m`**ttGbI*yA@_BSrwMZj+)CcX+}|;SEDqbzFP^- zlni{q6Sq2hY2e-v>FkxE8}zitVRrTXv;c^Ou^Fa2SsSv-0B&sI5`Vov4tL2*zKyEd zlekjILPjPSf%>`i*-W0%(~DSvL3AA=mw*&E_Si3@3iEPDCRn2J(@_tN#pRo9TtTlh zTMTE4Xu1~=tpI8?#4Wy3oen1UJBgg@bi-F$6bT zj^hYSa*TzIE=J$;i>FoOk)JJ&0{`Tk8yHgv*EA^Q4qyoNPclRK3T8rVM3^^yRkE0K zSHn*_+4dbtHJzh9Flo+Zm6JhnY%fRncH2T^S&e=3zKm%8%OAFv|2iq>zq8B;NQ-~u z9u{4m)+(}<1hTSpHgK6zAWh=?)$57GpdnO7OestW*XqqJ0o%A0lnvhg(r?)EPa6oi zOd6W3?pO2ep;`E?7oS!twm}n2>Q2FrXI~4p(fgh;51+8!9~DgK*M4u>Rerf@DuxtE zA-gBq%kb?moK=AU{d__!vj<81k^Euzbk(&%B=~%NCDcr1_s_o3wmu3fMA{Urh~Mz# zs|<~CMQ`z{B5}32q3lc!X^Lj4F()SAMqCL}v2dh{(UDdTLNonu5OTp!*smYutI`0S zTlQmoP!?hFsn9LKP*RIHL$bS77*K<~SUS9NSREV<)#~2My#PFQ+PWEwpSRAm>bgpn zSuV+`v{vlqFuf%lO_P)NLo_&i+#%=JzG(O2Dv;BQbC}2b!q0;h62C+A-cnO6R5{XH zWk#hI6rTc2S$y7EwVC(05owwQFBcqfuxD(Fsw};@e3b6&3`>~4OMf8^5N7g}9ZRir z9u*u=>nMT(z}Ru1ETH6gbq=m+3JOpR4;%aZnYZqAw#Orv`6i?VVS&fSTrnVtjLjx0 z&TIk7R}qXMtV_QcXu^DEiw6Fp@H(^ZDw2x!#p8h4U#pK7NNdlSYDzlYI~2e!yxsz z_ycQa_6C04=1cyOqxij}*P517oK&-STSvnZTK6E=hxpT@omlXFT*Wn`B>xj`XYUK+ zaUW7sH~+AJi8xmLou*_xDk+&B%ux%me;2$BI4i9~n(ZxjR08RjSA0wN3or86$Dp%9 zDajq=9NDLQ88a>W8Al@{7{Jl`m+pyOvc2 zhaKTeqwrWG8XoF>k%;7ig+U8WkytyxJHg&kPcSG8m@}I#7db(kfr*Ah*dYqMcnPX> zqWt#2Z<%579$VG&(mikoZYpX8e$6j&IVCH5vEDx9?(o(ouxc_6J>x>Ort}+QAcDoJ zh|{qQ$c7Om{RQT8#S4x)W=6KN*=s$gr){~0mGXdJwx?tAj1`+S=QaJbFmNC-e{RtK z+Yt%Pj%>Khbl{N7K!$$SV_?;sR#t_+P)#89X_8v^fFL+`M;Wh6PGW$f>09u?M>lKa zLh2~nrN9V5E%IbLmT^f7q z6iAz@jf5uqjBjPdP&dP)Ojj;1E$o6D_OA#zJJO#u3R9s#i~IGnpu*>4;VMGZz16Xc z`2Qcg_V{0%wlz^)z{DwGV)Lu` zfhaQ}$7;Vb%de6JxqMCc>sgWt{ve@Is9@U~;ynaX5d-?;s_E3tjE_N_M!ET!1Gx=b z-HXL+ZKs7?mlqG5aPSri9kX|Xh5^-f%X`#meC`?GH(D7VxC79kT10L)`?#Sf$jw^a znB-wBp`QE_G>dsQzA&mL;qFg8*VBz+(5#Wv4|o_aRl49Dm=C!XnV-KQ@r&?h*%fPqQ)7R1M30_W_8nYy}EvU9h^;5v!HQh01jKkv-xSW9(MVoM}h2W_GN z&Jw0EAf<==$fE)7YMHk5*hO+1=Th7%;bjXj8g-H>*2k}c3I>{_dhGin5j1N@hQ_f{ zthPvbHE@m7gtLq=9vXT#fZ5`c)WTXN_!I2s`fe($rZ%V%t4ID$^{u@&G@Chun*@og zAwVjwW0sH*Dnh1OzDKeMBOdelpH(yroVvPx5C&kI>fZVJ(=V!W|39bH{!hBkq6cT^ zWESIT`=Km6t|{JN>MYewpA&(pN^MFqYK8#cztL@w|LhWyOkP?Duy6gS{a#2Y@b&V@ zLf_g(gQ?|XX{jp6S?*U*wUZ#`rKU@<9pKaR*XIhuXHT&21toZc={tgdv$o7bO}z;u ze`(Z@+mQj2??*~Lo>!Y+fcayl{|7-I_4Zfr&MAs?v2D({;@h11Bh!#uIS~=Q;8iI0 z&3jV+41&k~pgDQTt!OsQ!z!JS!9fE+h+H7`4q6^Lsj9vNXaveu6LuDBH>Zg)RUkB4 zAQ;S}!m9d_iJE@pHu34G7gP(R^wyQfFCMd1YJAVp|E{N{B$VoA4S4zWnC|57nn`qRkM z(9)JTTa&9MHA&i~mK`hMm(<(WbFCVL$`388g9TRp@t3M|VHNJvpnO{*iwA4p7*TbJ zvD>4M5BFX#E>BBnwCZH#tk?poDE|0WV93!|Q8c|$o-svX+M{8A@OxjK9AXw#L0bfo z9U7GRpvp?lkfrEdTTHX}Mi+$z5UBKyQ|qT^S_GgPi6lnh3|oB^luHSsUa~ok3=9B!{vGvLcAeOqXU~7OcnHn zLLYbI5Zs^mO=^$#Vm-v~yyrwR*BtD?Z#{DLYXQ4<%My_*$4>T$@%jZlF{1AY)mh{5 z@n*Gc1^cRdGsT@4H4$yq*p$ux)1+DypgqIjTGz{j3U*;)U#WV|ROZKf)rdwNAa##B!yFW#YxyWPpY; z+wdu|P1l;~wV;#Mm6^G(Fi-jKYFpdu)5^c{3aMY|3Apn)djDujbfcVr_^$8Wm7q@e z!83rM8_hVBDm;89B*Bg#HAB4C7%a%2w?MstVelDs4n7SXr}0P?KI`=y_CBTxq4iRJ z+7`FHp*)4iZ=xz~^1QG6fUf=Fs3Bm?tM#q}=ZavxLWK?299ImQm89T9v`My;-ENFi zIu|^eRJjwtqVHr2jR&y1Hk?2XRBA7`_EmVS3=hy9Ay1mC%UF z!xi@WxZEHWEV!WsOtw--DT`LY*b;lSV#}}z(KqATWM>s|p)4o%f9z5c|IwrhMzAR; zwG#n04Z0AM;V4B9aT}mThPym>Ql%kFvW-ECZEQKAFtNT)>|aMVFWjAv^!YyBfZaP< zwy-r;URWc325Bu;!i7%AvGMSjjyTqjR!}=xi61Ln;vw{*IK|GT`5a=gLH_oB9g`DQBARGh5LRPvc>hCxrGC}#SCh$8F{bbVHi*X7Q(GD|n zoQT819^>TJwoAGg<32B`J-+}m{@zMLLQ~anFWZpv+Dz&LI)Kcq+n+M?rICqghGvUx z+}(1AK`Y8Tk#vMf@|}f^<%L1_?z(0T5aE_WpG=4yvTY^~f&6a${}U;X{i~6m%q%T2 zC;ePrkPjC_3uJ|eqsQHak))s($2mxp1w_dvx@6P)cf4G>!RA$WVbE29C5ZfQMWH301^6;75F2ye$Q}k?9ZS zZ>`leH8mB!s)F`gPgftHyO)}9zv-#*=}B512aUs+=a1N?{|u zWgsn&`K|dVX%Q~F!!TgYf+=5G4gY>FXaaP z_r4Hhpa5M>aF<4soiMp+Rw19o0kXgp{cWeS&6^#ZYR)rUy35hU^2}>jEw96ykbrvY(^S1_h-N15hJ_OgK%`j1|pQ+vzC=9mB z?$AUC#_finFrsYtV3Vm|bANQxnd!7Xey(k#bQvZV@JJb07`2N84iU8o4FWKds0D%0 zOm@nVUEyl3X8cqP2*nccG6%>nA$V|N)_-?7^Gvqlo`9Djj9xh<(Ekm=2?(~{8?9w8 zpyP&)e1bVTYt9crrKc$Gk}l-9gA`D}ah9k@2yDU{Hn+=)uQh)2bmI3}Nlj>Z*V6Y+ zP^rvzXhVpK88d~27iA*VwKGzmJ0Z2`IgBe#SFHNl4^e-jP_H!XH0}&q0rGuBkKC2fxIiEpt=jCro_@R#{ zl2bk73|z*K&H6|V?tXVUEoKzeTWKJpc>Urf-lK|VR=^piAJAhuuJUo*{y_-2Bl{|z zTBX|-J!3}a%Z34K{vy){;HR?)dkEe@sW>3!*H!;+6sB5U zEwKqb9bvnXrj{inRq~@yIFO&w$}i^4#@=Q7#&6_48Y76{D9c9rD;wvk@cj>)9f^YJ zhYUEfWuTK>6gtkm5a~p$3BF= z;!P!ZUS8t3O3Jp+90JiD$!S$;?DJV6()f2j>u8R06v1eqahArAqu!E%hzhX(t^8m6^_wlCD ze=)a|dTCqneBqr{AfbdX;=xzi$?in@Y;%0aTw@XMH+C+_IxpvT=us9AV#;^6zdr8> zqR_pL+r0vx+^*ez<6%~G<@z^tv;01vQjtP)lxsoyeeqS1JaQ>WAwox5KY{B;&k9UBWyLO?4+$B9e4)K}hoo}~iI=rI{apzt zC6kjTMDGQ1A0Bna9DFT3ryB~*_mY({w?&;bd<+eY!Qfo4>4jnAd=}iRjB=0muIg01 z>r$GcLNJzA^U6l-tv96~M$`X>AP)872PgN4FsmrlZmoNI;hQp5k_N#;Jp6jK_DxpW zDq&Uipuz#Ue#r*kZD#@K{7Bb$9fncBvM}g8S6v*9FUt320ph=5F#Au2LnA-9eI*yG zcdzSj5#OIgJp$-zV6-jnQ3dh+om6UyQ=*NJm>XJ9bQi(tjt=fH9n z={1t62_Gk!ZB0oeG6as5PLifgQ1AhBzz?S2Y~(7nc%%x_Cga3t6Qmvz4b*9@<&!r@k9^cbSP{=JAr zn+?m8^wCYjk*Bq9Lb-u!MOj}%FQltUNYin&8*L2(Q$N=eALxv$!GL_`t2a;9IDW^? z!2EyW`UN`;Ja(paZY5{;)tj#|5Mz}2d6qDhn|MHaM;B#wy}rK6#F$wmml7CJms*%; zAlvz{>)IcGvWUtCSqRH*4I`CB6hcy8@|01T>*AJjJ3u^y)yQ4rilQ+>W$=c`M!?N* zeP#k)m?i66wMRl1M{l7bWOl7}a7xFDdU{W)OKlTgME?f+l6*u}40jdHe<#iWp7gFG z-&3Gy$yXfSAM#b|OVO@QQcIaG9v8+nC5;K_!XwERk8p96eKuKz$Xi_E#8!|Vy|nHS zl|8{PD^T~XXA-8ZMi_SIsLO0fV+{W~uXS1wpo7z8HM9n}kLZ3G7a&eEoP`{fx^NRu zRvHU!34)Q2k?@aKB`9hTaPy;wH%RTB-_qVvX)bbux*^Ef@I{{c^iW z%cK-maiLDpLk&?2oqDQPOU1?9PQuX#8QO^}C5$Egq-Cg!{cGCZ9X+Sj1zRkYseWuxe0;Iyg3<=1!PQgJ8-%EHCh9wh}d7^N&Ot}ACrQXqsLnTu% z-Oa-dAEie*aWY4w(kC;F{F&Sss|3KGt|48?UkkMeVG}BnR%sMLNN^V89=_!g1N>cz zQ9)q)hA4;lPNS7aWJ9!^lcEdr7kV;}=7-_Om0#dXjO}Y6e$7}b3z+Pfs0He;pS%YU zT8YW7afK>6uWWQU=fHY#(+JaT^B&V}NY-bIyEz3kBYONhyrzd~Chwwc`t)(>f*K@D z$+ZsQ=-smIB_EW6+S_H6;NEi~G1OojZwrihf$c7cz4nQ>wE3U)EM~2zxS2Y%g(ZI> z#d;QHzrpht&4bfHLy7;ST*$=L=QuMv;bgBd){Cfv5hk|RLnP!a`nhbSPT-IeRqjZj zoKiI@OFHNlgUNXbVdhO(W_={AXQ#W%_v#k zJG}aL5ZPdX0@{<%r`XB`mB3T_xroRuDNMvwmUF$?hN-9*)%Dc^pJY#JwuV4^kaZl9 z-(W>8uVP;O>`Qe61=4(Rm8RR7OfrI@nw==sSVaO*DIUQxqP!)Z=7C!Stn4^S`)3My zR^fwolBeP#&wPjcjIsGY59a?l+J%3Q);<*nA(FTYiW`aT`1u*fV!&mbmyUa#S6*9^ z*^v8q+rr*yI1x6OXV5sV6l;pG-}#SVS^v!B@G>>+T1kBlNm5>IW>7 z@D3Lyix4y_tE(w_Qp#s!7zU{f0}YIG8K8RtM(<$+`7TerOGT_CGGR=#TNh2oUg^L@ z^64@fZhd-EI+~<$_5wBnLi&({`}nFu15`lq~U(+=juRcq=wdd*=1nO8S7jxR-`zAW`W=zZCX}3YT70F%4 z5_*Af06d%W*B_WZ@R5Skr-|I07&_%`MRklfGNj_=j9-Mgc{f0Pz2~(%nM%Vj1rMhy zldIg7cm$fl}of*sqR_2LIy@GGrEr;q_;k+uU zb*?A|1{WNuH67dud(Vb2;^wtnCUZ5JO>`Bp*$@Or~n{nB!L{O zYBx=rW-8joEyX3F5WWlC$7vAIDp>q>NvS9CId9yl6^u1=1y0~pt8LL#etHi05)eK# zCq6uf(#=@>d%S|!*ZD-{Ou#eooO!qLy&mA1=#(WbDoUZj$)@xJ7MdbEqyeQjI3DcH z?fU{%(J;x1Tjtp~CXtmq{~0KVMn3yoo0rAH<&mvqKUFmB2TXMyJVDr2#q|%IoL4LY zuU}I#>Z;17>WK`JU#8VNmt(U2W=ppP8d}sZeVuN$9h#!|u-v$;anQ|=h2qWn1>8pX zhzzZr?duKCJ@u%x3)ekmbD*hk`#{jKi&qqw*nM2o3%%ZISS7`gslxZjXfhhbW3`p) zTTWWswhAMZ6;Vp#!bv#h#Uy+#9ySB%qaHuca0IhgBb9NYV)+9V_nKzbM+ubcmY{uX zvf3h!*WAqQvIrIpFBH1JlZ|-Gwmi^t#ex)MPf4;|ig&*$mbFT%ZYmsdUNS_^_2eEX zT<9m_%EB?P$@NpyA1ESDe4len>Iy-4{l&lTGDq?8pt(n|woJgMR| zjXM_s#A;g;A9yP%UgFo#8Yt8@3)yG>3$zv>a{mR`^k-cp+<>0!XL{~(n^I|9H|%}l#)zhs3)>oDKL zwKqE!R`Dxr!*F!pcQ~OVl9jSKmnHF$B?$}z_?*l@4N^(3yt4;e5?=RFB(>w;qqmV}=&2i%UmY=&JC-LV4;>9+)i%rt zR%P$a8o>SN-`_C|rX|z-ZnZrsHDq;!Y2A!F^Aq!4rC7A-Z=`Y+{Tty-hWMMr6%b_6 zMfzStiZw@*f`g4g6q=TknDPQR=teV1A}OL2F1@<&Q1D%3g8ts#>(laUHUpG2E7Mz! zpPj52jMReXbq#}&%9s(iiVkvBEwnEC?NMlYrBOZwv@gpCx=kPWgV!>64@lCGB8V&% znnGKN%1Bk%Wy*E?bO&_q;ZUX=1Vf{EKx7uTOeG(Wat4S+aU;swGH@|>6hwW) zkl~I=arXP4O1ID(*g6kLgCbxymN+a5|8uz3|F9?3#xBj?>g3F5{P5WgYJ&oEGf>JP zERE!#0sI6k-I2tIbeK(M%w>Zr^cSCIpUekxuJy+qqm4D8-jm@o_t&chs*C$RlVvvI zo#-<=4e=c1)V_Fb+fn@;wNtcm1=m{*X~J)-0N=dDsmxkgmVe3HU0tuIKHG5FpS+3# zuco%>0%{7k3|Cyi)(2`PNScFdTS;BV;4gLWfS{-HM|Yuj`*2?EsYtJ-r5ZtdxlTkLAwT28!*8;}GqlaZU?jbG zZs?maTL^svZ>#U;w^-&lre9$Xuzv3Qkr7Wj=*$`6uS&%Sj~hu7TL-NDVYezTcy*)=X zdzehFn{h?L5Fc7BbV3RJ_ozO>>S!KJD6bLc$W6JdvSvZhx8_PUrbdHtTr?X_b*)RG z2~nl90`D^?9Bx6qfRc)o`lQ>iONW@#li?Vwu39 zIhd;8D{$Wi1U}^{<(fLQxJkqCy2LFukq>-hrdIM&i?BKkkI&Z zUL!gPGDpzUY0r?@;RWzcUE{%(#Fxqn9=Rbm&jg>Lx(SVhX9P{I2~W<<@~k`nYOa;0 z4WM+3A5Q9KOz_qND=Kn_$Q)b8|!$^X#uCrX?~%z>;kX4 z^snV6tW{KnPA|SlHqPl8o7xzc0^v2``}+n$g5TH8wUfKtBWW+)V;b=*u>KEy?)3wq zyqRt>*0OPdc!PSK{z9v}7VE2H5}B3IZuHs@)akb&{FW~HihUyC7eQUhQ5Qu=d(xKl z&0nEKAhcH0X(NB#%ts<&LMyj)&mLjs@4bfb0M2x!f8Y=xoh9||#+9I|5oXt>QHTHA z*Z4m$ElSG}hPyj0yL(ynQwub$oQKa^>Ik5@pD?7hLdWf|u*M$^LZD z_dk2HyL!;rNNm|4y79+I;kfG%NGaAeXvx+qQQ7`&*V*GV`}la(l>2w*;_-M>$a1AC zwD$4P@DYaKxZ1JT583t<*aD88+O}95!7UygD-)*nR@&;oR5P>kx;r`i4e|X%Cr<*$ z?VKDn=~MwUoOXf3UJX1J!A}Xt%SHmEU>%f($`?YBjFB9T`qca>6Xv)_Cw6-cuubHB z3CWeaMKla<8sP0#En@Bk3ymd^GqvdzIvy5o;+-#06)QcBbkFat4vU@A6)PeHQgIDR z#0hf`%3teVk3}O{SlDJ#t@fe!=^0Sj${Cv z1TLcD9Rx_yG@6|u6E5(YGA@oQY3+ZhNznNX$qUmlFC}Oxsn7fNH%nGGIW-eSZlzM5 zvi&q6)sGX&G%IHxnFa@n*_UsehmF&B^Ngi0CQ;>a$8b4xLYdX3P(#pljOW44F3kB? zGxkSSbFHo6uaBq>An6>Z8;@D3KQWzzRe2M88F?OiJi6rpkjXg+cp>2z^GE4i)R{?efTDLN8Q%ofr-cL&SzTBxvOA4zTXZGf6|FfYhz)raum1G z9$q>b`(iG#t0|3w-ZSZz@fQBg!O+#~yA- zz;aelodPD$4_U)llF$=x2#)UAutyi!m@v+NWhCGz?f}2%FTNCpzZ@r9Lnuo?z@E<1 z5xJEVAQNK43{k_rvZzo-LSPD3RHdkfxY6g#4WA>T18t&&fBvbZtut+3vB*d4pl}&_ zO+*YP5DWA;5gJ(ogRS5D#0f8vke-l)DDD?mgy$=H`hLG)L`~?ZKdQ}_JqXsB@}VE0bjiJ=GWOVXDz8aPjsY{#r2k zn_EaWZ!ZXsA-x&My!Ydqm_l}QAC-gD4qpX?^Upf_)P5g)H3>g^^k!L^1A#9jyhq-V zgt~6}o(2fyS&gBcbdMs;5dCw-|V#T`NVS-8OvqLm4 zBvrzPN{968s(CSwuwPyIftl^orL3eo@qa7ml@W@LEfV%ihLY5>M*e#VtO946{<#Jv zUiwHB_AvI$q%Z(ft{U>Hc!O8h$A)@6K+mP+i6*!Z&oBF0->bI^zQ3;yEp(3?p4V_A zH@K3SS_Gj|NsS?*7ffa_qWazS3pu-9LcKd(hs6v`es^yd_xnnnp4Va5&m~wE4s~I$ z3l$oR_0VzhnSGcABvB^C_ieI&KcbxM%;`#@{Xggp9as{`6IqbJTO#l&_5i%_*21YQ z1kCLNCDg2HTX|=`1kFFl`G4xQ1IRJGvdHsODd~K1D+-J&5zqvsY{HjMc&9Q_e}i-^ zc%3351&&*-!{KQoJ-V%R132m2ys^>Sqprns;l2Q!1DU#@$LGvMP(Zb-7-Qe0m`-Fp zHlvfcG%v2dIpm(Rrr5n6oU;IXx>>3FzY?ZizqDX4(Ya)j+b!DEi}KBV6`of(w(nfd z8%_8=dob?t5-8d=s$ixU&`Yu(KmgsGY;x5=tQdUf`#u2C1%D8YM}U*w>@F7IKaYbL^Jnvzy2KES!$ zpvNZEdQJr!TJrC)uJ>2R1slvP%-x)Aez$iLo%J?pw!8m9iN^n+M9ji2N0N6#U(o`< z$^p_|N|r@YpiSUHS8{Vp8w>X!FTDj6&HA6piwB{%YWD`8Rry@qmJRM19N5Z7km*v| zOXdN^FjB%kvrYB5C3STXIehqc_&?tg8T=UfZ9FF0w zwI&2Mj#dpT1YwreuyNgh@NM#&ij8v;&|r!OO*nE@ut@zFC~cf=984P;as$fqS|@M!@hYUpb;mJy zVn{qH3n&iFNax8l5=s4!$nZtH7a7`gl+}ep+6tiZ{mBIpJ`|d9GhX?f$0*g{s--n9 zXF2C;j<)|==7zX$qpp4mo(ldptq3k*J-{GFr1a`lytPWTscKScSe+2)-NjQ%&>l;N_oh=qLX- z8Ng+-#y;$x~YN4vtu{z;e zQ4CQ@r#Yv(_88N*#a$}@oRs^BDCM>4v?>ZEHvgb%cO24dhU7CG`LjK6Ig3=*L|8Qt zT+om6<2rdlv8IJBc+WcZ4Rlo_Q#YYE`D)v z;f_nP%?JV@w0|i+@x4`*J=63B8<2u89@0b_$}43y9n=RNDv}kYKH@!F7GA^Qeyw#r z0yr~Z|K(--8X|Tzbt)ni5>-IPKw`pEwE87P)@UccDSewF_vL?Hiu!+Eir7GXD0V)_ z^I@&Q{Ogr*LP(7F3@-n6da7?4VU$$7@j9?}ZcoMTSEj9gdybVKAT>|TBfp>#33_tA z*R#=MupxM3@_Cn{Y*gH}kux0@4Q<$agy-oU*)F4lBko11(m%eSsF|hglD4LOS;+VU zdbg^Be=$P0E8?}{Yie%z1wc+P#E-<7`1X8tI1C%qi{r7%sYNczato`3G|t)zU^T|P zrlI-K8zu-Ro4X7gnv3YrCJm)_vky|j64NBy3 zIfYmBG-}NTza_T=HG%dxxLSx!mvG_=YQKIbnBdO7=AAK&l`8;xZP7_JVN#e@GwHy> z2sk~I7D?s)X?JCwQj+ya6;_0O zM@tIgyj;e86yTh>r|_kR4nzPtn`o-F9teOcSs=ma_HxI0|a{gwv+yx#X${nBYQ zW}&v5_rlCcbHe_)W=ty(xwu-7+Z`3ScqhGn#<;oNb1hMq%Z~3aF}AhVe92TkFeOW)V-4{EJATc1;7L zmJ!wmDKfu>vP`Dc5EMZ7ba+ghTKkOez(qP`V-^9@1$Wt-v)e%4j6~7Zr=7e_J!ZaF z^jDB=S-~?Ki?b;~`5XjZBO4m@S&Iz3nBL7s3}j6txjm*%Mv-W+j;gzx*R)^{-NrWR{CBl}ex zUYb&rAnt&cvf4HBHNkCbapmq*BSN>9+@O2TH%1%Zn6j986!}sYR8V_B1L_z>k9Pdy zqQ|+88p~*|`WNwL6dn3I+A`a^88U7bp0gNOc4yk5lzk&+YZpr{dxLnST-l#>o0(-QC?!f`!`z+(ep2wYeh)5K~JoTRXx3Z@?1R_~Va0mwD zxgrS@J>fG!Ys~mt@nD)f9BPq4R0g0 zIQhkShP9a-E}t83s+fX>e32Gsq2C0&?guV+eDk-$2etJbJ#M*mHrupYp3fV~>JX~Z z3G%u%(<5yz2+2%P!8(dsI2oM>_k{>+E8lCCLDIazwzM?b$tiP+FdeJtSzD5rWTv}n zFzPw6DMJv#@Z4%^89p}C-FtW$`Vsd=RdpqBj+a9b+wnB~stM>d;}o^LxcC*MhcoSV zu|#wJ6V++IV^jocCeS*GbYO^5R!M%u8Pnk6w4{PQ`~Gc+tFVrJByX6<$4(U#Y|}5U zRUu=Cwr11iD#Fe2mCnM#7|W?jT9Tm8ufe(+iSysqRYJkzt0V|+Tn$=8@vpyf5b2UiD!&|F2eU9BYkSelroSAv;QpG zoYP(pA68)1)aS@xB2f#Un^ZyJW2rXFMBojI)V2G$t$G+*DCD*MUd^|ZxA0cv=|1|j zW+O)lJ)wC~sP9XbH6gxG2{(|t&OXoMVy5ih`5nIk;-ZwzVjIizsxLla=c>bEpvcD^ z0MRvV&}E9m?nBoj5OTKs2X9@aD#yO%b|R>(809Gmn6`m4kmT#MOeY?QqP2&luwP4O zGA1DN`Dnf056{RMW%|12YxcU_)4(s=Wnl8$(VsTp;U&I>5~dJZJxumx6+XntC znvWei*Qi=T^d>XTAAW^nBoX|i>XLtLD`~=WT1QK%>5)9E!1Jg)`^_N>KeQ)7xJ5Y! zL`%gQVbt${2HOE)XunrzAD3sDHQ8W5(p?GG>*M-azZrvNSUwUt59CZb8epEwLO5H7 zi=FzR!k!>y*=gJj2K4+%7Z*2tl%ePl^$n=w~uTUl?& z=&}pFiCwI56d9}AqkryUw_c1nfz^a}4}QqJZuSj+*HPW0l7-v>0xyY{8(r-5R$B_K z{C0HiqV*aKM`&Ce$&liPSt9a>Kzhv7Al-s#PEQA{h|;zHd4}sdTiO2>3)O#m&ZQX# zLl8AB?rEmg1cfF8Yv1|vU+?j-ytRCNL(UK^To5Hy{{A4IZ}{UI#V3uPEk|fUxa;c} zG~*Tu9L~-6^*XhA|NPa;A8@2mW%f76{S~bvQ58mS)9s5@kvK{r_qY70W&H_A)fqNUSlu9y?u9>ZH@`{@a7WvV9d)CL$EU2-YmU(>$V)ynp}R@bm&?`nL_F|Ra5(}taw zErrSsno39@{8A_5EB_$fS!Q7^V<|c@cE#4kYR1*D?jF*-pz@{L5GcH`K|UG}?jf~2MF&s^#gcxoZ0P`qeZ>%G)Tn((2#!_b%uvO`6F@C=|hOQnINJYoHMok{&R&!YT#9>Bg-tY|fRC1UlzS*!{lDlhr;AijsJ%lzCu?dLlwX!!rw zdI#q?+%Il4wj0}a8oP0mhHYc3vDG-+ps~@|Zfx83#^%P}Y;x1@Z|=PB%)S4^nddnl zo_$=DIGWJ-b$Fen*p82?%hZLa$Ilu#x*`iG^?HP}ab!v~os)w` zW}MkUW{AwP76&En`~0kJAT#ZbdH)E1+pM20{_C8(D!L&HNyQBoE)6#CLN#mMQW6^7wWvAI&z0>iDWq2 z{k&1I>?)%FVReJ1gJF}VptxC8u6GQ}bS_`YWlLx*B$KxggPVP&E_x1e36$RS9fTJ| zJNpfNA*&t>XnFe;_Vn;;okr`HJ;jVwep*)I3b+@#%!TTwf#7F4nPy8P5@)7>PdJ727Y@+8JAM8vak2*!kzAKH*(?$R z^GhZGodWJa$iBN9B?^U#1vm-KoLc5x+T{89SK|ryl2Y7>@j8NZsV!7i85it4T~TXy zBGVT$PYU`~Onn9gz8)U&|ARk>{__NKPND*UCJ2Zazx)P@`iiG=UDUII6jB%N4MQp! zau2}snFM#Y8&2i(odiP4->grru8ERHFo(;($?a7wWrQdD1v-}gDpOG7e3HYHAI050 zGL``3B4V8L^2q&lb=^iMdime-$&YGgs|H}smdpA=u9>}j!rMx&4(Y9HfeuT|TN!q@ zIHDy(;=U&#iYTVh-Yruh`i3{xTjYtv9SN%yh*$&1KdA{SR{6UcI>f4w3wAP{AvOvx z{zCf2U5#M;(y?V^3P1;94H7@J>Da;G0{h<>L?7&oA8yBw7mzK6|R)N%x|^Gg{4Xhdh_r#Af^v$Y1k_pK!a$XxuSc z^8KD!urS=fq3e^mzgE@q(s5)dM_P^KmPy8tbK*D<>O5V|M;FBq@u{SZZ`jvlwSu

C&GXkMj1R?GMP)raP*;$z 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 winrIByN(EBzepJeDW4YDILT`QZTX8S^oY1;MAQ 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 z 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

-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 Ud@6W}*vC3djjRk`UvQ2255KouZU6uP literal 0 HcmV?d00001 diff --git a/website/src/img/crowdfunding/cloud-download.png b/website/src/img/crowdfunding/cloud-download.png new file mode 100644 index 0000000000000000000000000000000000000000..a5ab510952907f47d8d9dfc5cc65f16bca813a23 GIT binary patch literal 1955 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ÐqKUAE>cJTaf`-Ql|r_k$!sRs3K^zMFU90z(?Z-6 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 PfFHDmuKH6|tGoXX0(M&Y literal 0 HcmV?d00001 diff --git a/website/src/img/crowdfunding/github-stars.png b/website/src/img/crowdfunding/github-stars.png new file mode 100644 index 0000000000000000000000000000000000000000..1629e1b5c668f74e104c4410c0adb69658ec448a GIT binary patch literal 80238 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 literal 0 HcmV?d00001 diff --git a/website/src/img/crowdfunding/p2p.png b/website/src/img/crowdfunding/p2p.png new file mode 100644 index 0000000000000000000000000000000000000000..a5a0f938b6c6a2ec1a35c2c4d77f5cedb9b11e02 GIT binary patch literal 1966 zcmV;f2T}NmP)W%x4!~!V=CQ;)3{x zK18H_y%d26#BcazzBK*04&py_>AZacs!#cbOHbY zB~SwwI>qhj&wc*fcVs2KjF(|0@KBEM0gK>);s@8|Ks) z(vu#DOK>QO?f*|YOpzAK^3>*0@LzO71zhJ{Tr*}VN$;qei@ny&$$UrVq3MX}G_846 zXlO`+z1CgNpLck^!`Qe%jSxyyT6PTa#j&(mXalnsJbAcJ1Bj@g)(9c+Y;>uEwSm=t z(=E1S*Sb!Z(<)63zllF+hhMj~cJrz>SSI5Tt%!1Q5>G*DrV6HZCpg5W>`*!%!4LT) zY8-vDqgrz$d;^!CJ^4~^;Ev(P!c`#NiqVAy;Uk8EG zP}xnXY);ybol>8mX{Z^yBke4;4##!I!tPoLi%!V6@}hx84=Wn?L7Nhf-z+d?^WIcJ z5zZq>%y%Z`Big_$-J3>ig?cP!8mtjXe&To9#wYLyf2AY%jU!A7%oDw{jqwX#2-Z6{ zZpq@1J`!mGpCkgP^Yq$brx|h-un}Rv$=XJemQ2)0t|#InRHYHQ;KOG_NJdrBrodAi zgA0+W$uzYPsFu(L5KgFO0!%)o-)Axnp3IajZmjLJr;2hGA>%Q}CJ|EU#j!lMgn|vW zpb5O0PUcLarK;L+VThk-AAja3{tE}+L(UCW9A+(cJqIzGL>>WoP2)MDo}I=JHVt{Y zxw7I=r(Oey6kV>&(1J*2KdS-nA5?3N(2{GYw^j+Lo@y8d5ve}ah4K-keB~OaiPjp= zl3DidargU2+Gr#^q<(RStId1Ok*T;#8w>FaL8sVyEr~oXo>{8pGD~rfwppPL)C_LH z-FUdti^u=yh=u@dzH6H35^EUa$%`2Ih79j)d#&&qv0RGn;%`gS;KhGuyGvku6mLfxH6{5m zOs7edQKn@29<~d`JxFMaWy^5T8i6g-QGe-G9Kiuin8O;6eIrV^j$=BYD?H35C-f7! zj{7lE)|f5kylFpSoM&`W&=>{7f~ecmGGUY#wUAY4EkIZD^A0Qx+y68z?+D^~ zgpa%zAfYmCLULvpLAXQ3ZXbnf=bx;8W@RHrdL0d2?2D0Jl1jDCEqc+5r9C*g5Ky60 z>ZkE+UF;PB`UJ6c_|)wqbP{apVlRqsxxqTq$q>(~CvL+#fqNuwQJ-DYNYf}G#_(>s z^Ry`DExLq)r=4X+6w>4s+xnP*ldh5-c_=aJn^P&K5jLkALk9TjliCWxz!&ewdHjSu z1a7iaSUR;&vaF{A5rm@#)y_UM`OCsLdrXHUL1-$(h6<@I6wDoejBD65xHXI<5)|!W zG{Uh=1|#Kf*2);MbkSveWm}Dq!d|Eos!XP#6V&SPD$*Fx1)i{SP?XU=T;+<`QX`D& z3L7|bDX5f{CdedHvB}!TuHv4$Pe^njcw#K4X~a01WDL5 zws1;c(PxNO80KymsCR+M+TEG;qB{?%?rX9@AIPWNTet=>9J?7&UOCtlJKe>O$Ak~? zMzKc|S?JqtVBiB<#nP3wj@;a)gWzu9I_s5KM*7fpmxWwHa?i*E=4G=LJsWFfP9vW_-~Bt+|}9mr8xo^ zy1U>@jvW)y0`f6E0OfR1)SfkrgGO^q&^KXO$SwG&w;voA&Kthq^Ns=z^-b)4c6BFb z9I?4|)%`a>y@08g6aL=`9Qf@`^)YV7hRs`I=D;Uda%8!}c73zD6A#?+fW5)g-VcRU zZs1Sl>JN9rs=fUYc2h#=(4j+z4jnpl=#T;b1AO#)v}`0m2><{907*qoM6N<$f*!+} A2><{9 literal 0 HcmV?d00001 diff --git a/website/src/img/crowdfunding/phone-mask.png b/website/src/img/crowdfunding/phone-mask.png new file mode 100644 index 0000000000000000000000000000000000000000..93d675f77031c605da492d3eabb0e96e02fac345 GIT binary patch literal 36696 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�$sL>mnz4W`Mz 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ปZ$ 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%0AeD9t;f~i8xub0(r@G7(D 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"?lVxFVE{vqRhSAGHZuWZ}8Lr^@1mUhcDM) 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%0AaK|ar zh0w@X`57+R;FJPE7{T$dpX5CrnIa^7)+0D7A+F#9w}KcL1-Ya9)wY<2@HF(f#nVws z*8tQli@*#W2I&<}nv+HwN#eK6Y`=KL*EdC#Z`-WIT?At#uPAg!E(+V=FWg&Uq^oF4 z0$xJXbVb10G9<8vAM&Tlp*y~NzmXgmHBwYMEB)k8=Bx@pH6QAMRWlV_YN@=6zZz~$ z^`I?WgQo*l(u~?&cJ?tu7$f!PY)RH%?5;pYt zvJT)71)Ux>{2-q@U6!2_ObNIkaEU{^7UAJNwgewADsaRIg4=$T(QZ9FIX!60_dTAN z!@cCkfh>E~w_Jxn0nd80F&+xN7$VA$eLkR!d^Wi*qLc>DYjFR6hWL@rPN^jC%jgQBXsVW%1=Sh3s(V^AHT3@JdVsrk zH(4uiyY23H%9#zz0;2*BFEaG#d?UVRl#{GRHgTeYUP-oE)~aMj0M+P;+a3(B$to)q z5r(=OsbTZ1$E1DIZ;Zp(#$f^vu29oI0x^DcoISp=4*~(t=lF9BFkzbvJ!zi+xn}M0 zcIQ`80-npaj%EC=5-^L6i2y#Yg)7&1eXEa(r|P^BdGh7{(P_>F*kIHsy-?h(^1}AK z>F=*i=KyHkwTk)k`0IsvPTE{u=A8aj6aiI2d*9SU1t#&88rqf7i5v?)AF&KCgd05T zh(JP9$-P3@n*4JCYn_9NH8Wh@u03aK}iOG+D-EdUkpk z2S3{c=`xp77YLlS4&&OLPZ zd|Td=1W%`Fx*{+IHc5Orz9}K!IenWsAk$fUi*c$VQa6XXilzIjA?Te7jX&-l2BL&g zz;AHH>N>y2>|3_d+c?Z4>`ytm^pbPPvsI9x`HtHjn7EvC)W}5P%zR+g%|9)?Ysvsy zJYXtXmasLKxVEp${De=A;4eSWz%XrXq2J98vSD4_*L=)-{Y;f zVawEe01Rcg#Id{CoRqQQjHh0}jIa3Bp~Dx({_OD?vP_KxjKI6|4e!FE=g`310C(N_ zRfK$|2ibmt@bXGk5>ncU%H~B38N^O!fpt9aAGo-%2h*+dh0+~{Nz$AC_E^Mj@ngsU| zd$|>*2vRCd=AR)>e!d*8<#l7BI4_*HNBea;Vim#8Kv`RYKQCMlfbgvQIhdvcZl3Ut zG8pX<_YXKK;OL#@JBR%Ye)UN2C6xpDmk~X$6mYwl4+Gmtu@^2vxA^td`xQUGL>78@>D^0r z{qw525I_6_?;9hY1oHh>7^!?UGgT3o>@7~BBd<(Fu_a zvb*aRO`l4wvfwX_rhDoOIOyWvzP;XVv#sdp_%oPVx0>4O6Qhon|BdNqtRc3K0R?;*fd&=-E$ zNNX~8Or-8|*=1T_gF|)JSj4BPQX1!E9H%@wO;fz$r2nY0kX}WkCW-)y5*Ha#H!V@7 z)o4>$iB}Sbq~*mUA@PsU!drj>q2`L43N0VpBCwYkJ>7ZC6u=x;5YM;U47F!Y9U;Aj zK>y(U*Tot==p1U1N;L=7QO#L>f?af)* z1ll2mtb&?!&ay2*cQuA2=SZ+N;Gyf6rS9rB5*>Zd$Hnl09A&{G0$+O zjHBkCVMy@EgxQNNZU`A(15FafKeU8tu;-u;8l@Q&jAQmb?`%I~zch247fUo0GF7F+ zXK`E5CVlRuw(XU<#|cdoLXS*n;A_O6-63uhA46t^K11Ub2G{-qBcD7Ut1dJUF9>(l ztMaPghkUyVF#4Lrsr^-yfF3rvnsOM`hF73zd8pQAXN0~c+RT?RjW@Sy$lqYv8;IDg>eVy^vq|Fr$rFMrp*+~Yn0MiZXE zUu)c7@G)BxOYvWCi-enD3ed&38M-%t@-lDd=d0ut`zrewMg~kul5A1v$hXC!%95!9 z!q?kyqANAZ&PjrXXDLe*l=Mar;Fp|V;97*_kAV#5&wLVpXJF#Xlp^$rPeq_Jw+e{l zJ5!i(N&*@zcvVP@w-z%cT|JVl5uh9$8C3;wab%rcVFIP11b!5q3}F~2KJpOxVHS)^ z-;cM+NPgvNmDvrnP2--*t7_q@FeY&I1W#1y8&JP<{`PaAn4~mkE3maQB~R3)X?G^d zNI)v-^EK5*dW9asI*XvZ$;(r@93_xZWws~+3?VvXU;Qq61=No@_Eihl6@hTX5P$fV zsIpgk$cSRf@KDt&U~>im%yh~HM29GZ}=L~82|n?9r&tm z<;ir&=Usc)&`iSWyT6}@|3)r7lBt2mo>y!`L)B~Tw4mM3wIPmTdHwE}PYyYI;)E0S zY8W~dW?JBH=+@&*B|wO%7Fe}y7FXEPw}v8ci<9`yP7jG;5MlsK)2)jftUZ2l#bhX@+LDYGRL8Zn6Qo= z-wvBf(oJTnB0wHuDjTi@#J&7(@V^55?&I6e0f*SmSQC>4+B|uvIVML|@hqnGX@{i~EF^#8egh+gmI|jYcHpFxz{1noI z>s3Yph5&g@qxnYSzD1A8bXAt=f>@mN7~;k|necePLjjN_^x4o|dyfDOYgST>*Aj=#U5_$;M^5Wn7@( zJ+okzQ4+6?&eS))(&w0k?VTBttq1aPTiEKHd%!@_mHJ7t%CU z5iqmIT3dw|mD$j%uj9Qy1rmk%AZ{gd@}hqDZ6-)T9ZcYv>klr-|M zS1qg}PQIN-t@Mwpy}_=Vv733-VGGb_|HZTCXMK#GW^0*|g>Y$_y2saeS4^g(D7hMB zjQN^-^7g9Ri@rJ@<9WM{YLN}R#%EEk95_MIJ!KTY;a=ASC{XThF17dWFsv;&@Qzj) zY^W+$Ek1kd1N7XZ`vN+};G2Jh7{0>TL)Foq`kIQsBJuAzJWX$rp0xCP@s2zokA=^I zoJR=qL-zpi@Li`L+P~gso9_BDJjlr08vJ^}BHiWHMHc+6u|B}#fn5;Dky|JXYb+G} z9$Rha;JY7w_(A*R!w=gYTX4Vl@@YG8HvqJsv)gAz0mwRmIj%BZ;>5z0i~0Kz*R00gOuftjClJ6*`P$(+GY zdE#_)S`HOuI}rF)`IxKt`yIhvaoNG>#;JfTLJSO8^-BH}?sRT&aw}jd9K>zerQKn= z0$eVVv;@QdCP3l_V|rZ!mGMsf{Ap5|$ceb|h^E>D>PQMY?0|4`R53W-^_S#x||Nd>x{@-C+7EDFs=FWkmL(dCP5wI%J_mMHd?*S$Av(=!_~2 z)6CetSb~@V8-R@i>($=&M4SV{QUb0=P;hB{rbYamn>kT2KOaK@>wZ0!tF%3b^f`wf ze%z!!2lD0}hKx|)mtd&cQ(x2%GW-DHzrAx5h41#-V*BKM=C)~ZUB7kjfsw9s6d^9Z^0|b*T`>12Hg^jWGvwh z{V~AVZlIp%Cu5@(K?UN@5F^2uN(8Njx`-lxyL?J}HPu{a;xQ2E@q@5M+4BhWvRNw_;jWp% zOZr}Jf(fuh_;T>dt)%U106z!PV|&iyEpZs-Lh_Idq|&6yl5WdC28&9ltH(WF+7kpV zXNBnR%SgvGY`Xi4P>57ectHm%`aO|T#Wr);1>&>t7)Sv)AkE7MzriVf@@EMvuOem< zE_}G^%6`&&as;okh;DYp9_wK{M+pdzs5mn+pm?1}8F$`)pSwENxE}cvMhWiDt#W|S zMSH^N+6p%f{-Ym!KLT=(ExHG+H*j6gEymDKIaugyiJmZm|K#aY&M9D2;Lav_?exG! zTSlm=#5i~mI$<#9=;b$u?$g%5_xjnkXiRnqXZcq*5QH)1)A}VFEoc4$PaYO5WDW{K zM*AEMgaCpiY|#J=?TDj;qGtkAodR0OCw3nhR}=_vd+KRmh(zV2j4@8wlBS|dS4j;~ zS}44{^q|mU=OG*1IRdT9`rV=(?5$Ivah{>?x?AbXL+dIeC zo&ynZ)WMWg)zmaFR?Adq-)UT{Vkj8&v;JCnZA-&MFqgxfAG~)L#-D3XcJ}FUuwaS# z!)=8%m0bQ(|;o|fOCS$1{_n3^b5&MYF2|Hm<4%kA-XvCgZ z5);>qI|^{O&e?2C8r_{cK7uJ7Kk)k+$Rzj`&ru!_D&g{&UbEvRrjg|u+RFLl`E{S? zzlXfP8QCbvWOQcNs~O@UyAte`!@gQfzdz`4`MN!@TI9wt)10Tzfk9i;MMmUVsMnXP zmcSh=cvmU;x}yP;q0Fi=71)P7OsU}+UIE5_l5}`EkOJ`p;V4zf>H$IOEB3-MC5quXH3_q)gI%Yo92t*|m>y{j;^PZS(q4iUOKrdBQ&jnz2G zXhX>&JZ*JwlKLG zJ!r)o>@rU5`I497(HTlS0?cuY>NyS1?xV*vf*hZUHgElM%T71lrn~lN;oyglD}6?+ z=M^JlFvV3CufG8(NMBtENHFjwtcT0FlhzyahVb%1HPEj{?hySbP>MG7DmF=r@j#x{ z)wKvbd&!KYLys{!3ZS5Xh5@+je)Q0TK=M1zDgylAt9_>6e!)2cGfampBj6vPh|eCc z=7zyD@AhCppmW;DJOme01PJwGrqzyF7q9>?E?%yYH>d4j4tf?5yi5qlw;ltu>;lC3 z^|o@#!9w70+u%Ca9j|Y)P4VDi+u)_sO`tE@(?<_$Au?s5qN1DR%6BRPa*eXD zD+cK(3~dPk1819HFF(d`C=^Kq^l2Pf^a$d* zPXa*y89nfAdtp#vY@03^WwBH`4Sf{JbeNcwH*Xgmx^U532s3>dWcu<`!dsXYB>!Ur zx22GUNy{7XvHy3+HdPU@VU4lXHsM3!%@zy(oq4l4&;_`SzKtXQS)}CK9RTu#Cfa-~ zR_>uLQ^6epkf~v@gjMOYkYyat6L1gzfftd;OpFUU1>iO*&k_i;veih&K<}<$Kt~9` zDbvgI){}0ucY4c>$RsB2JW|=%;=?fO1xF1ZvEb>D-i=2MCmq1bYvH#Z#=w}QJ2jFf zh4{n3ogwkR8gGK+F`_S)UfK21p)yZfya!tK?WWuduJcCsyXl=Uc$RqTU(Z8N`cxzH zJj_ilrgy}jlZb8#@D{n-Sf^(R-S#Y>JUe7v0KHZk=1tG9Fz0BG(n0x}X*2(9yN8mT zDBTw)T=YZfUIVoB^x;4)&MjEs>TdZXO16?qzDk5*7>FE%NAUS5f{GTtd(Tpy$mjwB zeTTaO8na2_pY=cE@?U zw#c@^c@_blc|P++<_4t+E>_43Y1D)rP)&qqZF7kz-ny2ZZZ831rLAQF7uaHwF|Zl z!t%2>uTd#*L7)c(Igc;>%4{o!_;T+6XD?)7G|ttdue`Ov5WjF5#hX-!S=u}nITu(@ z@Vv0qj@X5$v?qW;WAsnKc89n2UAaD;yvcGKK_q`F-$!mqydIT@SMy>F_0IM>bAYl) zr4F;C$`0jYA%&%QQ~b4gIes|+V_=@X)h4ho;v8eITP!SEqLH{{0g;-&(*!C4cr!0) z4}{*&s)>Z5V65~))YS1;NpKgERi~=SP+9zz*3Mu6WEf2>Al7|>g;(eFZk|1U-1fXA zC3hImPywUbV*C@q6GlIk0p}{|-!N4$#2nZjx2;5(#4m^@-uL{+10v{1bR65rwxZPG^YW-74R9&{N7L`d+r#bJ!<})x@!jDL# z2uJwR{rSO%z&nDke*5GLw$$#o`&(Sb#T^_Mtg1X>J%EcVudJu(I0YM z_aSj@GS|PNB7h?0K}GW089aTsw*#%57qGF}=2=web;T^Zi143fE8z^&9rWR&2&^#T zal~=NC*ZbqNw1nl!#~YAv??3z<=e5S4u-?|P9+KfCgJ&}amb=%`IO;^@U04;%1_i+ zoaN8#Mu6s8#b5kQri00~2$gT?bP%J8e-r^dT(}`_jEb4cgwp~UtjV|oz7E`waprZ^ zB%uYgTvY^erfJ+H-?~$aSXEAp&vLF<^zTNvw8P{}(h{id`=;KVQsbYbb~-&%6@go5 znF@iI2cM4go$Kq%foS4U1c=kJw@O-eFh|M{B_LHo2H;PvTLD&Ot45744UzEP1@4Hz z{jH7cGZx;9hdh-`oQKZWGPihnS$CTot?L9lj7UcEya7fs!$3a#3sJlxga;Dw8k~*0 z7}G^hhpZ2H_VjVveYTTDO&1JvQWZn&xkO9f-K~RG^E@5qt#?g*sb1qTf?^)& zw8?Fl5o8b_Wsvu)b{n@2V6qm@opvx5h26;>y?m7V8Rp;Ruag}X9-FGOjM_xdn?D8D+b7#Lg}wO2;UntJm=#38x7bt;PbYAyBB1sdm5rAL>QA?% z^J@C1V}0lPdU7BIVqwW3{CdTXyF#;?8!Kr9Brv@)=vS4z3RlK5SYIcwdE1@=IC1p^ zHJQ%KhcZ1t&@eWBUV5^)IFI12xk$M-LuFx{&KqL^u1g8!VkZzMUV9DB`5mz~!5+^s z4VxPhZN6+-`46C>Y$&_#V`qbr&Qb(Oq)eUU8!m?L!9ky~U(bmSS9EmPvFoJGw2i+9 zlEw}%wM_)R0X8}HaqHq8J=JYtNo+x4k`X03nRW3t!NCb`jk{=J!j;WlLb(4inv)LLchp zQP}4em$~x$Q9I(cPX{a9Qvd)!07*naRF#ec-lt5-&42XcwsMb?2AwBIc{s<@DZ*tI z4yvS|KYhZ8Ak&4=rh8WHL$p158yAX=II4$kTC)g{QGm2K8BwhE#Ze56YZS~^+X4l- zN`Y-kwjVMD;rah|NZl5kEF&KM9YOIpWHZ(_z#JBr4o(>u-qj0kOLny20+`xafW`8# zoPyBE`T6nOIW#C6D@ZY5?f3>ed{UQbu-QFI?U_-9@3a-pKtO;)J#7_Jgn4IwGdWrLRDsO7M5Yz-~{s=3TzJ>r39awAbX%|sqD_ry*r*LP|x|^>>%}K1-bHaVs1wB#(hlxDboSRY(uqm zUu7Gss%JNryJ@xNj#qZ$&@-+B-t->e!Xx%-Ucm&K$n&-WNC-wDqXN9h5ZEm)3~HAM z=Nx8%CjzJ9>LgZOOhCQm1?Z4BiyGju1GMGz<5b_Jl%gv(-E)dZ6 zrVp3`c!mIP80M(o;`>A>ES=! zW@LfsfQGVh=OglbZiO%kdm=`HdL!XE3};XKHusRMqZBwYu&1KV0!5V{4+NX1qfkm4 z!dC|6-)oL(RY-++9Cj}u?A(0}>74^_hW2srWW}(xWeu&iZKV?0HmMYVTdkk`ce+7t z?`sQY=?MT5`CbbS0b)wiqVgwy^svRl=DI$W`@W^mu+b6H$lwQv)un#I)=xf7JJuBn zdi+9U$8BSM#A|ynvO&_9!ita5FsJhu8Bwy*$_bgIk5uiIk9i2EpM&z+iVNW zcPlV#&?k41R9)}+R+(VEPs^n9wS4&|TMEq#(R5VuPsAIU@08dY!}Ff~-%fTBvhJ9n zS8A_ukar4u>B&M!tRu42Cgnk0_?K+A+SqzvD-w7Ni-EiBPvqAq^QZQ0l1+ zL=~yl3hD#bTdrQuY+DLKL}GgjOeG6KzCJ;d?dB*2Sp(9MnNaQiz}uZi!0#+?Fb9Up zNu}*;1?(AT9*u%Z!)N8k-s^u~S)Y=`!>STS7)n+x-J^!rR#)2RUp_{-vLK21Lx%@h zcpPT2=f8+Mm|;GzB*qRd-HoiOU$M-ePzI+T+NC!_=N` zxJED8#kGeAEViYBI8yFFwZ?E7dBcx<5ByPn{TVUCbO5Id;^ff2LA>^RjyO)wkJv%6 z51%n&aEROs|~Y``$i1a_al)1~-PTz`NW*unPaWo4~wL*zO%2wByfy-F6vS z*yG|M?-yVe6wd_rVXjm}s7bfqU)F<}eaKBI>ZNB%qyw&(TLO`&r|pLl+We zQ7;OCI}uLd{p$G>kbi}JjAcX*9yv|9*?B;CQ{HIwm6y=&t^@_Pe&(zB*nYIe{(qn4;_N{j6EF;dI2~MgHps!f~;Y{(Y!Tx3Q8C{6DkbSWE>cI ztLqBkGvO;s<0nM54231|!Wj5Xn-C$fn7jt6h9W7CtIw&5K!WiIjv?`W*bv6;Dvozw zZ!!mlGVTRKosQOP#k5-5o6g%RidFxZgsZ?dtnf-IwsULi>#OXMUZ&?yuY`t8q3;l& z<3rBl+Z)#|XV}x3qp^X7i3=wfX~ZIlGLJA(Xqu#9phX-qzn7p$%i$jPs5AWNEpzSC zg^DN{C;FR_Z2@0i%sq$NU1&x74eKdy6;@g<@N(W{tBXX1%cDAOCN5p0=Z3{(1ZDUp;EeKlr%)=->Wt?N8V4a)8is z`|!bL+gxX@4mWt7a*gpN3kS~-z=+1IA2``#%8iA-GfeZ%@;l^`uk$%>9b9|AJvzQ@ zODxpgMB$&AStoW!+&oEC0c}3lqCzRZa8V#kI*Y(vKyjaCG4bWa3WpG#a1{ALrW{lt zYBbO@{;O;q4RB1yKf3;zqOj**?FDTH@tA+TS8m7VLPobeu~D$cZ|>3d_!lLC{4tM& zAxh{%;Pdt-gOn^@DlX@=4MElOTp%69M|gP&l!P5C0u?|W^KUR(`iF1A#29{LbnG4@ z$Jc8KIg@lu(l?!yn-zg+VR7qee#1$fo|?aBt|=n8Bdn3e#0;0RFA2crZbXp8%aepdiDwhJ+m}K`kyj%xx zNSq1-6@rr}2lixK1wrD1W&9jF+*E6a#0T)&;{{&VAYb1ndG5(@2#gj&%y)c5qji&iU=`ph zAoJA0wd@>NqSg^NX>#Rigny8Ze*4q^^Ix_f|LMPKKmOTR}8RRqQalR(qhe}i@G|IYR%a-dgKD|Q-J z%O&!!s-gZd@KP4m@EzvLFxdbDKrtN_IXtYv8`yOgYk8i4SG~fMc*BMaCE7DMgTaqH z-OS-U8I~Xs$PDX>&y~ds7tA9DCt*`}I)14#4t{Zh&44T6fSr*A({aX8!-tFr?0K9j zBLNGn7+m8T)>YRfKu`4o#|`os2e8c0n8@rhzRLa-RyXqLMjEAOn!&G=`y#MuLBGBm zm~V>z8WQu0EcnhCg>o(6B8kwRx=9(Q2WO+N0CB+?ih#yxt>Zn0n)eV)Y@b{F@Zwhr>NkZ&?QSOKPv>7?*kW2$1A{rH#8g&Sx1LVUptR4ggps*?&4L)Vx5 z5!N+sJ~ASJ45s6qDL1bWw!SNjAAI`L_HX|8f7|}ezy8-nZU5$3`{VAY}S028^NA$t`Ld?Wa6&-?+&G(y@ZXg0%**E-|b1+_3yoVGyZ4SAIH2EcSf5Ti_- zT1z>U63;jQpPq$+7Z!kYSMl(jDT)yc^)_WMq-ub;4WMN(`U^k$b&ogjmW)?4FHr=* zcr9(;AdXig=^gmXa-ak!P!xu&SUoLS!t%0qT1lz0;ZU*lN{ibdMQWf8A0@97>uTA+ z%OZ=+d9JUsm1vb=M3_}HHVQJ^8AFZ^F`mGX9=~A->x2gj9Rir012B_rMjLvdDc`zj z`UebG{sro^g!6xA-gJ1#X=tn>cPc;%CEIO7vj}~gmNKL#y#dgmvt%0*>9&V30vRB0 zdP$-&(rsU*HW5?&aS4QMx`I*LQLs}OXhz!G&~S$cxj zLAAHReD(8RwO{<-|Aob9EJ)*a%lCi!Y5V?9e$qbplRri%p0$Vn=|8roPrhvJv){Ch z`|q{2jjguG`}7Zg((Zik14b8WEZ8CHQH2M0s@pi4D%T$A4ez1Z$CvWYA2^dv*QjtM zG1CI>9GIO!*m6Ul0!z5ciJ`*eHMr`*FM_J)*MLt(Qy{_u5lHj&^mCOk+jc+x=zjYb z|LT8j|L))YTaNu+XlGfy&rm!I_N?rOT!OTNK;LCI!C&vpw7>k-PWuPD`|YPc_^^Ha z-hHBEaUi^#)&B7E+~x;dICQ(6b2*W`?Oh=!@LQS(X~d-04$sS19#gE4^qvt%Z{!!R z7`BfuKROE`e=Ks|!4eA^9Z7h$%@#%I)VTHt&UE=e5}&>M@;Vw%6pAPyDh1#qjwl2S z7Z@(v70DZKN!6HLj!NYG0BN91rPcap`&OMJTSn`ZDRRnzDT;*0)iA_S^|BHx4*lIJ z5j-LSLk@iM&6nS4$!yQAD2`*_fV~wDX)3x*|I5r&MIgan9`Ya5)Lc1Z7BsE?tHNYt^>Z^Oi?a7rX!I}C3{PLZRw*K+GcJ}B|+xy~i z`|E%I|F)f<|4m!vzJbN_!?wD<#Pkuz-#+@H9W#Y=cK<pXv{8CD?+5hJ7gGCDHH zLd10z9y&$w6nam&InjGd1eu{N(FC0MY{9H2pv%y_cb6zW_E%=42UOyI$#bOxq-E{~m3Pr3wn5?(J zEPB4Z`*lADGA5!O=#I-dD#9wqg6Qd)Xc%z{BT~7Aai#JmioiV@J7TEpag+YtHZ7QzD-47y+Wkevb-Yo=?! zATI6vORF2Lv@u(lR)3d-YNOIfnOE= z>*D=7a3#Qpynjgm%V!e4mz{!tEc_>tkTU9tGp$3igT= zDKn`I#PMo%m?SQC^FB3qAXRXy;SvY^tgWun6Lt^&Hb5Sm%k%^Q9!ncOBtEAeMtM@0 zLR;KSy9g0NImMF^fJ1uvx1MqF5NjYl{`3#qKl{@^YwPUg|Ln8hwF6fEdjzinTAs}L z`tah}*(@g!&bF;P_uD5w`Umal@0Qx07E z;oz;1cevkS6c9Qx-~~jiZo-d|3k5pqGJBmCuzm%vu()aTOJVZz;-N&Fi14$J2k*%c zsnd8_&IvCz8{@aijEH+FRZ|rKL*105ab~;}_d9^skOMU&CJ(@rauy|*25X4hdMu39 zRo_%v;bOsoTA#8O5bl#n+#%qV#CKRUXoGOdT%Qg2BEz6z7?>{CjmoFu2H!k83uMq^ zwkSEwsFt8$b@j0R`5BY(`b~U^R~SD>e<6bg<$xZ@KDVl&=|h)Gk`i=y7rsIV2l9tq zx`3h&!H@Wdc`u7S~z;$alzmU zqXLWcfY0_3PnW0Zg(^TyPO4Ze6+^5>t!4PIY-JPclxqUc_&7kBnIp|V{n?M&&;I1k zSe3uo9zWe?6o3%|D*HO;7cA4$Kc`phDV#3s-8($vvL<#7kk$wH*>=gUhJ)?ZwsXel z+75Z<#YL-k+W~7Y+;-<^!ZH^+sZ^Yje|zNl5sK9|z4(U@Icq?8^DW#ZjgCB==lp<+ z3kAPI6~%`RzP)q>Ewg&~b1EnqJ`3O8VhzP@7BV`@xV!U=5rRXS85DP*U6|+gK6~F0 z)nr7r4T?~Ivj{w9lRfoZJ4~GR{>>}%Eu#tKhw6aq6I3j0!!BIV$e+ArTi|&s?sQN& zh)MpJHHfgeGXTOQKvmohp_A_7kTKmB<)K1z z;5kGXFSDOtW>%Az(Xzb=;PmEU<~c?T9Eot}fQQ4#d?1n_-ubV_4w(8YucE@pfe8&T zJ(e>XqazypBN`_g6&XEHVK^}uAPG)mpB{y=jz$Ei!|^wTlQ9li5DXPwRNuC#6h0q| zg5~ArrqC}B`KBRCIkjwGo`xz_%ZqKH4D&CnF1E+)6xjaD|Jv5x+iFWkdu@q2bql5Q z0%diMxpJXTju}1L+0H3=YaB{+3t_eW>(vZ#uTh8HV(MtLqF8zqL=N@3;(Sb%c6tMsZe^-Z0XN1!rpMv<`6VGKTsCIy&N0EgW2`RJ?1 zZEfzd{m~!(S^L>P{a@M!g7k=?d4=ZYCi%iNoFfOWp-~C&;vu^G94^FmOLi9AVx-^! z3n?FwzVn4O)&V>ukG^6T!AkqfFL&A(Pk-5d_6MJ~4<4*XA@F!&59@MU@R14uTMakp z1l+rO2bvt^L%AoxGtlR8%5<6;J~)Bry{pgsBzhM39kD*)=$MWK?ZgVVCwjh!#eT}( z-V3HIywqs+7Mgj8HWPNU#Afq zeX&cBQ3kgoV3Nb+ZFU-fQH8_9$H<~8z)^bvEWj!dIcgZ#bf9nyB_T$Px>xy`Hp6JL z*pzR<-YWAo37V=1Six=7uO~~Vp*bdVh8%dSQvLUf7#lU2C!)?qh-x@$c=@VIN;y$* zX^63=+$>s{W00d&k`^uwvXe}+wzkSq!*}U5Alz9Ku(8TTL=5$L4C=Yp1v7kqOiyBk zef~z|odX`@>F}Z>0@2=wxj;)LwJGuYHGC&dg4-bLm)4bmK9q`6Mgw-)KDOgJ0dOX~ zj~H3A8VZ8Nq))*I*)gQMfMxuG9R&u!IE#iMcwXX~fSU9wdk66SHI1OvB)t&x3$aQ6 zODKC`_&4qOwUhv|$5dK=Ds^j2OFj6}hwZoj&wp%>fBR*dV_m=s4U=2cE)nYXdd0iI zBDpz!dmOlPbo`M0^K5se9vy%2yY`5Kcn%O~YxlUh&l3t&W#tOXoAWvK z1#guV1z3p1?i}mUE< zNA1&3K52ja&;P95dGLLX1m4S8018%?B}S0BD&HQpVUe(moSkv#5Z4ethG)o}b+-S~ z=Wp{H54cf~%ZoS+Y@YN#e0b3QV*9V!{P|wnTK>oF?t32)Cw}b8xxI#B1x-%3xovS{ zgPRTE^AkoLq~1%(9Qo56p@6VUIEsQD=o7Atc4S6+7MGYt1fO`%pv5wsLkaNe<71RL z^P^7#=1qCnRw>LC)rPCK0Jz?npzIwTQplG$x1yMZgr&^woYkG$8_rd$Ed68u|nW>6E$&{WA zZ+F^mO4#2IcPl-mYXJ`xFcmd5H8q(!ZaKm{cv$aCFaj?802d|~MPPK~s8JT^ZQZ$@ zUV!t49vWmXB-?{HXvjlgYhA7g+ne3tIBb-Lqn&p8 z@Tfie>hpH+f-(Zr)@eM502ZLTqDd#grfpGES}tFPJf?uHNX1Zmz*@X(eB>6-tB#3_owxzlyh17A8~a6#{TAAVh6n3${(-LnX?C>D~cI;=@rK2?m3!? z?PBuV9)HS#H-7%?=;&q{YVyKMP8646)2`}iki5p>E%z}_JquA^ccS-q%}iAUqS=s= zA)hKud?aH>u0sxe*HZjv7zw9U~!Fp01Depm)D^K?$40z zp!uJ(Me$&lmC^2d23Jxc|5kDm>j+oU0}bMrk@?k#R>fQt5~~4#?djI{WkR^q+TUG% z^zRqFD;^;#rfIPHXhvzN&uh;Y`(6Y7MxQo(z21mm(*BJQeuF@!GDE+-?ZK^~h<@^? zKW&enJ#N4L^Ph8h&UU-McB^f?x5==yieW7{TSO`FR64Qtlw?))0 z_P5*4|KQkadb3a7|Fms>|Ht%pIStP#0}9kCMe-vUEHeesO(uT$hp$qs?w?;`!QdK- zKuw#aFsWybu2tFBE7dgax)K;c=_uME%C5cp5AWY=fBMhMG=tqw%JLb;J0It zt#%023#M5d3EW`n;e1V6xC|-1fLg4_5eKvjwh#+hXn4$u<0BLwr$Wql@tU9VujOt5 zc;JzG#Q)FUn|4Wd9A}z0_sD&#D(oN#f)q$fY_+D72B+bDLHb9{^k_o|Ys)I|i{s zLKP#}LUWVbQ`Hg*l-QCb_NvTm9B_Qt)+76_qn_N1d3m_9pTomuvl|4yh3XP)WA zXyxLQRD5OV(xtxFWPqb)a%$j33xmt7o;(fU1l6ceCNFW_pUlxd@^)-YQ?_~p3m_QH zka{M0aZv~@%Q4eFmcwg&QiGJ8ccMgu2ZBD}c+?@vMH);IX#^>eF1h&C=V3ZCbm8EN zqC|Tl6*Yv7Z$uyn*Y4Ymgh^hx)}vYL#$%Pw==*tLqgdbP(~}kcKJ&hrSCHIIuUGI^ z^>wxX;io@iOk8(gzq`?$-2WEKf?pv1-eXmN+6^?8?r@>eCd|V68b=b*HIO0jq`S#Q|DzVaiQIjwQ7vJ~ z3&wmrZi_w*mk%);n13pqxgrIR63J*1i@XQ7x)Nsf3K3N~Z5t)Pw>Sd%U;gvocmMHs zf6KgCLWJ+Nzsw_6-AdRL#XGiV0aT>z<|Mio?@;z8mKmq87P^lT;nXFR`U;7Q+kom=&~C!4L9dR35Q|71mQX5m z?(cJAVSDd{Hq~wdi-Dd=kCLO33a$fHLgGz_Gr%grKDj=_UmP+G1GbvG1`ZDQ`$<-9 zq`d?RAdcq8ISYk`NwPlhGvK~6G!WM&Y}!(=K}qc|BTKdP{wgUCt{EuG1J-fW=3{RLb>gg zmBsGP9WH)hQZpow#5;G*F*op4DHX++gO91V5HVpehV|15ja=XB9N(xf8@>Dby4!CSl=VZr!X2`CB447)U9Jnz&7<_urrvLt82CnlswQ6>uk@+RP1p?IE$26 zCn`Ju{iWGZ*pm?3P{5Ou32BQW#1eV3r%8wbV#xgip$v zJP?}t94aFguH>6G&elNcMENi-js*YGY5e$H{Ih~mV~QM|Y_l*6msjjYY6wW~;l>!Omm6LJ z(>#n$8P>^3>3*aa5GnH1mchV)8;-cC2t^4SZD9JQw=m2%wS6+J8JW1x;6}dBdoiEy zn#L5j6Y}IF;b|3lM$xxH|BR?F^p+^O%JkRvYHs|w`Mt{D^o}qBgbbovRiFNs|J?0< z@=3RYv7!5a_^jLd<7eFolA|;140uhprwJw(X1ZBc`~${=CT6(5vb&mJ>bB>WyCaC& zfK}@(``s636G#_!SWUB%UXnneLx3E-?mS>FQE+e}FvQtb0@J@XZyBi>h}<-n|9Hcm z1STx7ag9vG!l}$ti5OGx;DB@bi163eHoE_S6ySG%`*-YZPjwG~N0O+~9(aXF4A_}t zl}^3L4Z0OZKmu20z6(a{;BA1D^DE$j!UU7V5d^jUCz!Vq;T6n(PeGW~h&OB=#(i~} zHes8=`Y5T8h^h?y@X;=?&T=CmHbr2l+%nK6K&~d1D+kV+uf!+MGZ>cO4y18zN6hh= zVsS9tn<_V)9DpAqOx$3o<;V+|72%knzQUcRWv;iaJ-198t0f$;1#C~@EGeZgG8=Y` zuneW4c*&%QNG6d8rE>Tg$Fw4jnv*0I0{$DbX1iMEG;N|p^@htBNaUm;!yyhzMQ%j? z>Ac*|2*{z`;v6V#@ZS>r#_JWdKoAS%M$7hz@@vf2K#r)b4^Quo^<}hdoqRnZH7}9D zfIY^$ch+J^kzQYA~0yN91aqYmb#DCUxtJ=fUt}huL<*6$H(*#9;}2d zAwr&{&S#e@wOwRS`|O0PgjpTS5G?YUXNB*|n;|b05U?6ojacZ>XoM?j?;IFl{71`u zmsl9odY;2jHbw?pso9~{`Zxg~5*^IXcOU)g)9zyo|NQPh{2gYJHz2%Qgdajgl`ybk zg%ff9G_$_$!7l-uBK&g>>|e?uz<9XQ-`Uygwzjsrjd!?&37B0)!v{e8(WAiQ0H#Ow zH|aB9SOr>zfp!b#q_52=;s({ zjPAQkTVp6%7A^jd`5V|?RG=OF4A)xgiQqolvD~e^uU1-D&v|_F^{QHcPRInIdMz3lLDT+t@`$zQMYlACNnHlY5pse_WaDHN zk-Ou-J@jL?qvrP@>gdKe?iV;xCy|_1Oia2OefBCusc$qF$1(y-D{HYZIB|BEGQ_(| z2V|IKjCFUT$-mJ3{O2EcpMLtA?(KKpi+;iGE=qXRfrV(`xL|+7xh>Js%BQ+FD@a7# zxAt7Wh09>bEF7~9_n7&)cX-y_g*e);9_5Qd9fbV~*wG6lU*;%qyOm*GrdaUtn7w=_ zi|N$FKg5QIX;;yE*x+&}3Fd>X1Iot`k1L>glWkelN9f17y+lN=2Q<^;hnP5xW;CIFvk%m@cTl!K^sAwOkyUw<%>HK-!@5^ z{d?umzw`mkFTeT?OL{6KDf(os9dAS$zKrK>e%7c+$uP!J%U}HrjrdQy&wu}i?!W&(|JZ%YZH9{r zhuzH46vyZ^ibEz05?9+xi%7aS6wlCQoS@u>$o}}`9LWOO_v9zzyTmDj1qfS>Ghl&; z7E$04I25ffc-ao){rsc|k8LW!xkR7g9OC`%2Oo8R{k#9z-M#mA_tsl)GoLudNcb*N zFU|SNMEg0>thSfmP(h6qd7puBxEem#*RBRP@Cib;4=#a|yE$MSCT3B5M3SLcUgk~) z(7EJ&AnxIx^XoA@rb(PlYMpZuh-b-~gv~oXOl_H-#&8Sc2wjZnnX)P1Ndupi+srmrcfzZUm9mtiMTrTL5w1$!pq_^1W<>Ce)K~*W_Op@= zVVdCH<2G~L>ZtM@0XX7G%*8j3ZD*P0i2VdJ0w2{&m`zx5F-@^7tAvA2FsUZM!2rA>Ue&FOE3ea#akez!$7UOB*{xMyYBVm<5knFTy6 z!4SNp9D(ud_~Rk8VML+$+0Tl3g?^4>o{zvb18*FWz z%r15Z|Knd+L2`qhHZUM0XICh*g6x;sX7Iuw+g3wZ>Y3znE!yf7OL-UUl`D3Z*e%rJf>?O|)^B&B_H5sokM9*YhaEG4Ze2EcUU8~f9`sZ3d<%wDEV z_zRpFG`3OiYu>F~#zyHIu&_yA7^lh|N(h9*4*?aH2(QUk)wO^T$mhFT8G&K4Vv$nU z)Rer3Vb9O^P3Vu&0`y1i_fi<6nQ_dB>_=u_eh4sLK?p=JN?hN!J|_i}JE0;DX9i9r zCL^$dm9ii`{5?Xb2~imc5kxK-0$E+L;)nF-;huy<( z?=wc`BfdU_xW?{Ij@oEOfi4v)w0a?{{zA<19Z?f;&h6e)Z|EyZ7GxAfjw_X!c#jBk7XBx=rn` zwg4je0s_zJYj;kVz~;6wm+0~Cq7$6ZaK z@WjbnOn}2rMj1cb$oZrez5Ibk0W~vxz+7`%LL#31bpjQ|yA7y`;Q^8il@mR>SSx&_ z6)+5H;M;DlwqtOJ{X^r#AQ;2VJTHM)v*7?k8kP97w zcCJg{0hD~KRIVk*-&fOK@nFp0G4Pv<6N*VX?Tc7xQGu|^EQo)c8-5ayTzDibCe#@d z(~OCR4=eA&Kcv7FTth|Q@=VB2?dzG0KvjBFomR)Hx{dwDz3LW_yH~@txc`1E_dOHB zYA4ZQ`Ek%Q&}+~$83KF_>Ne1$+$UB_T=Tm|X=(uB;0Pgh-{qps&65Eht+~X6>sfF0 z>72A$B|JftA1z|Bl@muH0mbdgptnIokjQ$a9qZOa#<#7pmluF7pbw|N+5Oh3ez ziOJK;ecdeM=G%=No)tu4-=#eBY+1S2yN{yh!>wa}kLD+UVsF~oBU*8DW+#|>nL8XAI4uRgI6#Dv*_2zcbTR)DVz6kLKwl?q^F%lpF8Ml20&B z{CSqp3J1T6Otq^XQ^Tw#=G|%l1`$ETk7#`#a?weU19Mv>m{qXwr#Qd(>Qs`n6opK z>sTFY-glO*f&b(0f6GaPj|f*Q9>x{Xxs2@AqaE5Br9zYsDI#Ov+Dy9N&2~kO)}b65 zZGV^*jqo`Bm0ILNFBrHe@mjWh%j7I+7}ABkBkHu<&2mjK_L%FqpahrNtLRs*ZzUVk zM?Q{`T5UTPV02u`Q?_$k;_ep7HE`GnkpPlLT?daydhGBK#4;BWF-NV_36caE&um@r zZk={HO04Yzk0CFjG$`J2}#b1%Qw{Cc&(dBEB<5|5?!(|5 zv0Wj3j1*9v2W%{q@{z}YVu@-(huw5mPNMgzzvT$+NqHt7Zl!8;DnTb zN4h6>M0_QSr!pD9G1DtMdS`&`eI2HU#RhPs?)-*G_wN#M$A|cDxCjvM$RLpZf}@6E zc#UKm+ZvXeSNpW26lB*s%XE=rnWbZ6TN06RU^?2tw8?@m^XuPR4zI(nkiD$Coe=7 z=gQ_T2ySn8AH=2tpw`XiA6`xWL;ub9Lll0~)xI95&GPQ-%S`R{(J=?WyXdFhL zgW6<#Qa8(@4ImDWcO^!b-Mx*)FaegCl@sA@-!)m9bUf2|z9wJ5bpy0W0&46C_Q>6c zl{EI(HNwMr&>Z%(dE?&ITK?X!d%k9*Xgb`E3 zWdl&IdACpEv4s<+FIOECM7S{oKLF~5&&`n+&sX~;kl)eW$_U(AwZ4tA@=GDFUG=|X z)qlFt?SopKw(-jVt=U|obT|;4AUNKc19`A-6@jJq7||Kj4sgPmhc(cRs>9O>;}Is6 z292yZQY&B$*@<{udAb5m9(={ZAM?t6K#^q1BW+EizHH$MOl14iR5GS@6p^rE0+}8n zUUh}#{^5knf6~aTq++R$`CA_mK+C)ez$@|dotM5{^w9M~`Dr*Rc=SzvX89e4zU}80 zi^`KHgvW{k;43A=dmDXG@DH!h!VRUtt6syAY3zF~%WGXCs=nw;xHC z@DLDjwt6i}S|%VMn(6gE02whA>)ZhlhH0#FqOwUJ!GJ^s&#?&X%%d;`>Ia}Kr*fip z4Nf_RCkR;qTL(TW^hKILSxPC~Iy=5X@eZbBa;6C26~tA7C=Hw9t63Rze1r*PwQISK zfe=XERN^~;$g2#gVK8+hu9-^`Qnvs+Mz{^5vx~Ij9L8jtcvo!8S*|N=;dQI9R?TE< z(*$OWDZv!&a?SEvTnRnLcH;z=NoBsQ*EyVw;P|nu3G=Xlfz9m+$1J>a7y}!iSbW-y zhB1Cdg3)pCbmb^K41}S5UgKmbWZK~#h?#`Uj~ ze+wSQBNG1wPxE}8etX~o(s&JShw)ZMfHoRdvRavU^D=MQ$hhXwzrOkT(OMuJwWZM& zP7?d%TB@QKqqtu*5ex#51IT~tw@O!>fdTsa86i?9g5ltq1TP_)l$+N=nFwGB#UG6g zsl+2UuVSFgz~!Z@DfUqD_n4JPC;N`fa5b4ThTt|LA#fs+fBXW0(3bN_rX=+O7oVJ< zEQnMPbwP6sT{ zb$8dXfe%7&_>q_-9-_UZ=Fc7du-R_)$T2J}db%j-w(UPy0&16r~G?#6-z}1d;`63=g^Y zbA(YJC1i7KS*dGa18bZ{&3TEvXYD8Gpey?6!h{79zvRa}@#9vTpfU>bk@=2t9ero- zDIIVg=$~VU9Iriqd67_0OnAu>>8PhR_!(i{N_K>%x`%sgC6IOjX@}z{MU%pV1GDv@wMO+Ia?7FfJmZfO6X1c|3Brp1;%ucmCP2nz64Acqd1WM& zCY-QE_!Uds!`2#l@Vjs?uHd_UjVa_7JzDY;)mbMA5wNz#z^U4HF z4uROGOk^Ttd&5a?}*p3Z28$vC)5+rL8d5+^#MUiJcl3>rnKP-cCDk1g2k5*F(Jc<) zJLRN>wgv{^gayXw8kZlPzyus}+F}wtq($0pk<&>SHO#TfOz=!{=ZABiZgbHC;I@;n zST~(`L@SBnrJ76eCMIn{eXOgz(a={B9rGd>?g|M^|CfknO^CQ7=8H{lPQf9h6ON?x zx8e@%q2&EF`0CsL*)!v57;k3;th>%eG1K;Ge*X5&kjFP)udD^a;bwv;;G&}#z^=5T zcoe8=vJ3|W1KKpkt3M(+%RmkxN=%ALAL5uQgsFtI%z12AL~_`Q+;WUbZChL{jVX!@ zu5kN+d4^O#M5vB{jKJWU{mWv{!<|dzt`N-$H2~zh5vO`56PX;+oFlG0LSfK5*^f22 zLJ}cttK7l|eSJWdO8kNftrnj~NG%DUeBbzTe8&wRn#V1_q7O%ZgZarQgaWgDp$49#(uFAIe+54p-?`?3S9exrEBhOG-S8|06 zG0l2-%Kqyy{WI6CBlh+>SaTD?O9sMeI)yhf8IgZ;EH`>;KCkDmh&kiC2d`TH#jsZW z`dZQ+wy~{a8$(_kV%)AbjsC#h?(KW)-A5n2+x^QQzwZ9!4_|ZL?mpv3;tx4SGEmYP ziEACvyFP*$$Z8)#iCJT9Gf12i`#*k+4GpwdT^VOj+d{2_t6k?B&u)8NK#1H1@PaM- zR7Uq0qPa`ifBfu^5X$53y$?UgmBP-$^do7_!|*;|jaB_6g7UO5HeT?AR>Gl#5uaDsKU-C(-93mPJb zfduvqIfuc{3m%LWnLU{`3UNB6Y-8#y%1>;c&>wv!{JuU;_+HlC&Ip(~jq_wSc-km$ z+-uSTkP~MF&dFZ`xd)9=;6#z&WE?XShR8Dri7xI3cv46}%`4pt%4JsNEH81?30T75 z$2{D=NJ7Owj}W#?YZP%h@r6OcmenVDxq8UzhLu3@k`uBGXkr7uNN9=`aa7C~qbrmZl!=&gzHxCg!1rX7=<8dnHzwSF(J|kDFSIEIqSvA@I z!2i{QgKinE{dd&f$29AXVtlad8b{k2aY{PUd#XTYsw6xUWejKs>-elXm9%WGVo-+q zX#wsr;#)xg5AT=BcQzzv8H#kmsqyB+47k-t5JA$#y( zCz&c{w@dIaA*cnGxFn~(zT%jkPW1loKFSU)pJR)5&o6hYT1CtQLX|ESn z3gM{<@|uOAQ3Bw$hY~-x_2wrBnfGMT6I1erfIEsj0(oNnc$45OA>8Hyq*HWzmY2P+ zVUZ7pj)2WA%pLT7ma#fG$2NhBgKURj2xJar!^y#7Ne@UXVV~xH6GyCbp)j3u+ii`K zcG!}!&48W)W}ZU4?Ni&oMmqH*t*|u=SU5}xidzUWU`Tw7(7TKeo;|hDPKr2Ln!nK! zT>$a5Zwz!CyjD&i$LjSw*q+S@B-L0hX@ykzdHKBw`!QR9(JMk|PNM3tbbOW=&Cyu{ z*zU`!%9-rY?MJ@;&akBOIbCiZ#DRG*e^>Wjz_N}R(7_CQeMHlC`83wdl7v-)NU^pC zTp=*QNUx@@7mytH=Zgze0pcSj0$GU&ClO)#uGlniF{3O)*!)$jdVu-SeKe0%yi!Vu zbdk7KS7Fdud!65&Pga{ci~t^)vwfWtY3!>Ai!Jc-uF7gDN9p2kMt&$?B)qM`qy8j= zW?L<355`7O^DH;wtzf~;`1X(8;~nzC?S1ZtC>d(rS&eazteMZ_UCvq){{dSJGJ_w&5gHG*U8|u^INZCpcm#^Lqqi=C-~(?KDJL0;H9^(+jr`U>cZc z4tI*&6jAvhHz;DV7)gZlQN~-{02OC_ zS6ATDB`^Onz*_iJ8l)tn#sVV_e<_trcklpdWEHHl%)r$thNqZgyUei_>=Af7q9+z) zP%fE&o`8t`5SRjqvrND_`T+Kd3xx@o3H1mxZe-h9|CPI&T(Y#u70pP(kSYkLx;}?o zKfHsr#8v9!9Cj>MAEVR2Ho=_t8yxP_rjBJK58x9CKMk7lY**hy?Cm>!`xX2p?V|Il zbhl633b750<(v{Ps;*Qs!?uu-0LM|!%DoRGfYzmK7ap_|p_lY4k8#0|Nm1`Un*OzL zf5Ak#l@UljsnuB3`pmx@x_m8~<=-q2AsmRVLux)C(L0c^ESfeb{#!-K|~6b2K;cm0KPxQo27N3D`O~kGA@~P4-U-JOr`1XL-sICz>bD zws0Fnq+>e{U>F8-lij23Bc5lvci1AZ7KbFz?-+@K?{{DVmKV6Gk#yN=2(qj^pZ*ro zzLA~|d`*2A3xF-;j*5O{e6O(D_D%xl(@D=rNo4M#)3Ld}*nRrT_q#9t{22X#Z=zIq zfVInoiSsaL*PQpifYhQ>JnaR2tR+E3%np6`$=wDxg+X@3?Mi$b{g(%i zAD}qr6~&y(XRgh%Up_mnk}dW)4)&QRjCo*k#qRM~PYs+ikK!-p zH+Z>_ajHFO$(p8VT#2spRI}jP{P&j8Wnh?Nz8|nnq0*pjuOgva6djgCFV3Niq?72o zEwM+shYub>{O{y`g~de-SmAHQl@3HKFJVReFGIV}=>r*DZ;}*77Z6GjJ+)xDr!WkG zm);h8_-`Kxw!fZ)kkH##{8KL?@LP393c$$(85upZNHLxa1N{>w$jDJ*u6#-&S|hB= zBQE(1gHjK9EuGCRQ>izyTa72Uh<77<-$sgtJ$j5J@4-qkN60tyom5s5siGU;nI@ zocZyoN8)4z+}%YQ(N~uQad|ZzXWhytXiE1)T4k!YAmA!^1p!iLH$k+prm5DoH7~beRVB)! zt+H21_%v;`$hN|n*6GN@t8bT=Sosh~CZJqFUG0bumC@&?>KsOP->9>P75(0;RI5C@ zQ~d$PFh$vy^N625{@Go&3>Le`T*v#xmk+wHzk1Z|>?%q>K%o#x0)*=XrA_q%TwxEU z7XzPK=@R=>2&pUkV-yKb8ON@s&m7N43{Ei2H8XYIO{3h&6@rn#wUzrBX=NCS;G1O; zr+y02_s}v1)FkuLi;zqg#Xg9h1k7=G&81(N?Sv@-(4f(kMs|3v(V^*OPC6i&THm}A zX@lEv+9hzCp_m6(*D&>n(&10yOmE+K3StIge#U(k=P*4=0wvIzAQoP?5S1Eu+)%55 z;u06`2QUIFoY0t@L?YHZ;Z^csybBl%(LtmZ3}SJS^#GNjZJb7V1* zia3L!57Ggj=^B$n&=3M)&WE331Zd+vLU4l=mN(X)CYx#?pln1cME-KbaNz zNz@?;OrIx?(MaPM5Lsw8baQhfSE6bhWNwDzZx|Kw_OXj|kQx(GEo-&0MOtbVw>@qN zw~9fvZ%5I=?v&C4l+vB#&Qw1QQ0oR9A_b2#9b!h+D`LInEK#jM?|gJcZKcewi9%(B ze6QLXIWhZGPybk+c?&~+o{o|n#=~4?h@ax@1}2Zkw6-`(w#*&wcUK49JA9^T&ok;I zld|a9eh9mYR-T}caeB0O66t{}ta}??e~W2cj<^LTG7n(_{1xtfkT`kutxlbSs#n!L zo|N$-*YbUF%opYK1BMGE&i1Vy$?FgHWm{ydNIZDImh&)Z_xx!W3@fQDV|y8=maZmk##YG)k~;1qR%331y*Mo7j& zy`<8oAhin$vb=Kc0CQ+naE>+wsACwE!W|*>#-$Bv{?^vK6RKCjyS1u)#o2-M25a;u@!YQ|fzWP5+}`zl)? zBraXj`o-Sr2dP8Z`G=Piz}_rk*y1MYXxutklbl>lQ1c~TdV5r8eSHP#8F(iM`)>VS8}q3$s{Uv!P=`&$#V{Odb_grRU!dsIN`fV33jWj*7$KuG-yX48&23bj3JML=2B!)*?n zO{eJd(e`Qg-kpW+0~7=eQD5Mkj}n2b;%zSz(3Tnj+D3BlVEcsA1?=}@217QaLae>@ddt{rc+%-2i39 z37%E-bI!+}gpEfWTTip$k@mreDh+Us=XzmB7fgcU|3fYiT3^2l@n7u@cCbsqe!m&a ztL(SnVONg!F_+!$Ghbo0l_1~1s(61AriHCABmsBa9>5yufc<{kO)11I43hRoj=0`= zAL+piM=L#5q`rep&?NK0>&9o`yu>T!tbULTv~xNWKwsu{78z93MS@NOE@O~qBm-14 z43p^;76@#PPBPcR9GD+|!Y`vV&1V8#C2dV)0hAE%2lbWNN~0!szldYq`BaH`ncq*? z-O31rfKV?R#Ohh$U?bkL()tNk_}>KR_D9B@6T%uX$??ma9|dKUrvLb=6@qcc2d^m& zY}vJyM8yx0bGGB00{$rV1k&xpwmH-3o$78Qt2F)AdoFuj#Gk5;!LgXV7D5sGq#TeyTj(Njz! ze21@qmPtUa!U&)&=E0xj?Hds+&%P+lf1yGL0L13ah{ww)`+<#OI{|+o6n+-|c@clv ze~T~x@3PY0fC*TdXWw5WL==0ra^#T*>!S?7eDwFXoKQU9RhpJ^l*jW^y_(S0udR|d z>-xjPG;CML86V%ZQmB)dETROrfJE#L#)nSN?uFoJIq);|3ASKbzdVOQKHI_c?k4j9 z)7TKLl2AdYB*=XMZTOFmX9>01`X?MERKZR={Khkmgj2=48S`Tx{E71B&>J~JoIj7` zNwdP2?vK-O5tYkqn3PG-=AZlTr!eMM9P5=KIc8hq2&upYTNO(jLtRD+pe=&~^b;I~ zOXv&CWAI0PhqE)37jboZL7s&Lq++0$#I+tyTo02az}7C3g4O!{U!M`|?WX480FfZ-S6>;_ zHEsx?&-EB0VBVYpP81~oYb)F!#ucR5iXiGVT)TUJI+Y5e3m_cvVY2a{g+cRk>tKfF`rCi>`@Y<>+RCW4+bTC5E^xnq25xk@l22gB63oETb$bwp%OWAaNbh6RxaMoKP%$pBLGNXCSKc zGW|phUG$z{RGM>42xkS?7_kyu)G`$w=x2kbZQM$GHJQ>zmDH> zEug)>`F#~FAd;~sL|FbsImUrd|M-lYgH@M-+(PV60usc8Dg5L_5zUpqiZ)KDmF1Og z!y|-n`zDBnFMET`JmwuM1vIEHuj-7uP)$L^2N3ZSl%iCYa)mpU0!ZR-m=OUOImcbW zN!gSkLKdM;K_SnuFu1kFYK!~h&n{OZLNtyNieiHLeEPb}yts0R!Vm4_s>F7Q<1t8r zmqv6XwMssW5?JwYHDXJMK=#noSL~~Z|DE;OZk`p3tC*dGi*Cg>!9Btd&=;5yKE?kI z*8SG`$e83Pqh<2UPh2quh+8>tK5@ixDo^71= z%&)_;nuKwaj3heM9})?@9B&chg2dslua7{t`9-%xjmue^>d(%yUl)EiNuW zyj2{Ox$sz|u&PI--VpInh}>eUMCIZYbSf0z=jdUNU!t=BEY97&K~wp(eLUEPan9$Q zUvjquT9#+(l5q>1!kVo|DyrE3+7EL+TL4+QlY)1NzTAa>W}kPzZ9fe~*}n$aVEE_9 zQe+^=(>j)PK`@ADet;76)x%Vk5!TniRSmuiB)2jGa#lgex8(HQi?}6|H(uXc3)IkK zu!mUiMhA@z<&4h|Gx{_me0;3-d)nh(CNO=Z03eqT2s<7Bi2IZZpeJA&iKf>SPjQA= zM&KM1sv@i@#G{reA@-Qz@d+00P(aFFTVL}w>5`Gz`P0g3vx*pMYu)y=#q&wNb+LWo8(Z#h#Q*bTq|sIbiv z_bcvw{~v!q8H!cQfBJNz`{)h~5Cwhw_8M2&&URn#pLd_#Kj?n`_CohAx&Z^ql%Ahc zND*40EN7msCKosb@beFsyN5fc-NVO6-30s33+M(=T*@x4El}!_dYXgvD__6uuR?F} z1^$sM(WvOKdH2n1)rNl7KTO9c;rH?+oC0l`eugi39;-tI_P%|*vA36hG^6qQk7bN^ z&6A1|Mlit%NSg|8BlPNX$n-@yFOAg`jnt%iz!k2x`w@(XFgXa_GFx0&h9ThAz|2e9 zmNczwSJZ+S_L6)ve#y=v^0BhQ#Y^T8(gye1?LYVDg-@Fju2v<;cQ8sdx5R!t;(Uz; zdHwG!V<@6@@)urT8jyZrwCiq@IHCxW$&a zM|%#CuuPMmb0lbsFL8%0o|83pSLO#=LxWJhHAfL28_`nA5 zdtPE6=@@zHEWasq2CvcP#aIxbM^>^YnRx-E(!Kicz5)Vb^_sKIp5bm~1giCKNkO9( z7j#S58?PU~1?X>&+BDH)hOT3@Vf-GVNeI4^C}f0zVR*)W#!C&F_U*7XP;NW;s>Q`$ z1mKA(yMO6Mp_sVOYC&kZ6;E233QDMG3{0)PU)fHyusTgw?x|IH_n zgA#yAX5+#mSFCDOOuXity_0p^NkAtd_>TE$>OD=7>Nd6FjP2^hckK~a*IDC(Bo459 z{s&g`tK35OSNAw7hS>kl_dUly)&2ZEETo~hx5*yt2I#kFoJZg zx+TyO<;Pp$qn5c53Yz>RTnH+>LLIrus6`=Gx$#`|k(tSkcn_F$G)`+Pj`i2dnvSvi z{df#b!jZftzm2$=^=>Lgn|9OBEEU&4~! zEPLvZY!XmtPk@3z?FT}HNig%uZ~DWR{PRY})<;D==b6ONqll*QWQj04=N5QgUd9AC zEAn#;{m3v+str#>d3_m%Gfera%(}d?+O4SH1N*W-i;F`g8tMH zlL~>&i3i06ZpDZp!xYfxrt#mboHODt^ANA-(r-qo2o)Fq3T@*%QD4EAP&7zxK0Xha zTN!~U1SYREf2HT$x8k6lm*tzVAFl=I6#g0V3|dGygEoU3&xSYyOQKZ=Hhh$^k`AqY z9l}gBU5TbM4lJ&bpD(!4eF87$s=G4b(nO{}Y7Yp2zdBwem+cN?KfzGTMLz-@HTk z39A*HTK66&lToP^od$a5AgJEuASsZjXcCu!$Cz@ps>uABn>ShUCQiYs7X2|I@iVlF1K93|)Vc=t2P*;!do?RSf>`KVP_!~$*it-2Gf@|dL>#KJ-Iq(*9;2dj( zk79OsdKwF%=nlB&?YbA2VY?ZEIQ9U z41KproDB&6NrJrLR|DP*g5HQ$aVvcv734V8t)e}=hMvHeU)^W!BP9TV%!4ev9W5fc zaQvoVf`PD{X08wvL7p?2WH2Or&Oq00Ll-~FADc}<$imBC42FQTPrY*hEoyBRs1OxR zWZ~^II;H&GBgCB`W{vMG&a-l&I6%em)yF--r0RVxhIzDq!fJ{;6hKb9NC4jD{Jt8< z|NJ%9)gS_!8w2Xrb@#WpUX^9kJ(T*KG)uEr-7nsmM`r@}TDQg)fnrU! z58QVQDr&%y&RW+ivy!?h7!}d10>j!eD^TMAtb`}P3Oi4u8m1y+?+Lu+z4?!R?e_*s z+EnOLOrIx#Eq9;#(J)Li%Bh}=JB$yI?LBqq!^|b6j`iy>O|oea5sLu(Kj@X0)>4Vq z$90VB^21j#Oq4>Q&I1|1D8|u#X-6upWy)*DAO8>sh&>(X3ef#=r9l$>E5yY0RdLG1`c2x-9}&-Ks5cw2$5rA9!7xE0tm?o zV62-deO+za*OhFni>=_VeUx9GWt?5<&dsTK$o3m)t(#0h-SeS@;2f)jd)?&nE-5aN z3b2J>TDXP*Fie|Ft*#f~SeplEF7{H7y zE-fS4A25ei+@+PV8xn?}l4MXM+)gkTkiw(hj1rNz?%gE}7%`Z1z=?)#5+$ zc{1>ox>y$>I@pV=GJihsQMJp(C0pwQ&+^aBA#!Dvr6%(Z#{kI$Wh?fC zIrg-XJL}Dp{DE%(QX3!{h~XA6Ofdn}KS+mCY>wUusx=MB@e`p{pnh%sB^DkgP4^^9 zpHXE}iN?S2x0lU-=!QuQsf4vMuDo5DHVKVs(k)5s9(BPw22>F%sWvXK*5fb=&0mfV z7(VjgbKZM+#vlyQbrmjpv6sf3Ww^3eK~J-~8DrGXawLpVq~qB(G_DI+jR4vIS#`q6 zX(Bdo=|=>W<)(;`lP5rRLLYCjvUe$Zj}suypBkgUOhOsYJueZ0a@HQd-!Q_IWxfZD z3wDj-BuK8#=OC_=N(8RZ#1}I1tRAp``u4Dm2&y@m)}ibQRrxK<3e2{@5D!ODU>+{Ijl1`_S#Z$Jqx3rmGp+yv38DH{>8SE!6RTqD!}Op zZC)&ZGrUbvGsVuAB@`W%B08`35025l>AHJ&=P{S9Nn=kQI3Cknlu&ac7bX$!nmr2% zz4O@ZJhvp=#t1O9i7hPbZl^h3G7mBbg;qy9(7w)h6$@=+PbOu2v2`#7(`4J&AO7Z< z4pvdq-YG^k8P%6?wyejzUx&x<0@kgJfCD+(1GcWUzu}t4cPZvZ25(-zrxp;YxF_cx zmV?>%415N;Qv!5ASoK%yEhlV^T;e7kAqMg(Wu_igk<7_a`)&oW(X=JtHKJ-9i**H6 z_7)b*JVJN@=7j+%abeX?kJD2Ij$k%G*J+{{dqCCF1@9#l9WHsb4+f zJ^S<1-4fVpeO?q)pKCDH0O`X2{Cuzb`r$?QyPvOwK@d`FBa&ds1i55I(x>Am`?UT( z>FlYRTh(hpGpT6Ry|uxJ0T|06jmCT5RQ|;E5A`$j9mX?f(YN*T*%}Wap@Ff!Mz40w)m~H4-a;!$APv(vxhpGmXJjE2|lEjW5 z%hCq_z}3415w43NMmbg5Buu9(eQ#rQV@kz3%a%d>ihkEA`I!yjs5XI*>$dvKp_U+S zE8H+>pL(N1`j*-WlMI9H;q0=zWGdW(as_*Y=KY1MYR2EZ(kL$KnwwwjCJy&P*pd-x zh0|V-<434v#A;0R{`lD@O4BsotHB+a9_O#(dQZT3};Gspcgsf=M~{< z^sC2H$L}Q6w5iAa09xtSoHjs=hvMxq*L!Ql@0^cz3!KAl7dTM7FF<#QHPJz=3@#%< zTaBKM*98Yh(ALo@GCw$_3);dfnAg@cNv{6F3W~5>kv6O?E_ZjZP-@wiY(LC1w^o;7 zn&6lA_IA1%q;g9bG@8eH<_y+LkD0@}^ykGsAD9^1+bt6bIjy2qVVV`zF&uf=0Kyz= zuyHhH_V;*v z4{_u};IL;2NSGM6Ay}S8BC}{OuW)i;9^$X)($$IPMN3o(;$}7BzF}54X2?gwCxy7s zApmj30g&*BKq{{JXL<#6s}dLz35EoOs5L&3-5!?K_R$kKIRnX(nd7wxDa3)5$O3!q zI`eS#$QCc6eeJ+=)_K4S6Z-4~4eBs0Dmq@qHh~Cmg*{-@z@tc5jF52H&a6zV8w`!k zlh8!R6=I0)b2g!i&>Et%33QbD3}@atVmv$2Fm3Cn7S-mt%{}FfN7AG&!c{9ezx{ib zvq#28Mjx$muN?FuJ^!L%Lkfvjp7m{MgaB;cooN`ylS9l@GEirZF+LJpnJZ{+(avNd zL02b4d4cJwofjcAi>$sy>~6`Je&?99z_G-*^L~b6iDiqgqZ@L>S0%d-VED7flWgJ7`gv~MKRuJ+ns;$}FscwV&?THrULG205F%DN& z*09RAis=0t>P>4=NI`9lZ7G|LJo*V6-|`MX(k0=WW^X^^&jw*`Wjl;`nif`xZ}XmK z{udz5h~?2CnB~Z-B7Tn&MrhWzn~IXtGR^=xkAj}1dsVW!2QCUOU?z_C_wo0rE$xb- zq&0McEN5p6^WHGaS6A!!FK51APLh@~ugF8DCC3Cwx4@|)FD9~0HBG*;zScc>xXiS> zM52g-B6Zl~1dbAdS(fuVyH|vt;m39yN`?2ZO6bYpp~WOIQqo&_6t9e;^|-Wq3+OI>(Ny zwn!ex(P<=;AdH@YE`>qMD(>Cz5M0t`yfJwL;c(31E0-=h$M1~ohZAmTJ7cd=2?QWz zlBc2|eRBrS#JNZi8(mZOXAe)hKXJ701NL}-fpXwS@2(UCgsB6t#^pWPeLPL_HLYT}zalcj0w@7@vVNRka zL7!saRDW`30NXt>s*1L+(J`U8^qES6N*FwEFT)7UkH|Xx%d&Hhd=_8^Y@iSr;I|zl zBubVBYeiffL)L8u?sN&`Tk}W+4ifVmI3(z8RM@6umY;g|JMV_r5qz1SZDXrC|7>92 zj40zOW4**&Tw}Y=cxw0$@OR%{Wm<88#&?{b&Y@TUltPoYrv=2`MNA|`9{_#qb)A<B*u_&~S0B&PF%u#DgYk(&D4yS5tl)!?{3yfF$6a^(&pK(_>zusy!W9^XFK z0?SR$z{Pv%iB5@t#9jiR6u>-OU3hHgm=%C47~u(^ePI^oc&k;OZw0f&M3_|ea_`Q4 ze~(L@vZr~B_VEdm-uW6lnL%p4$+U9jIV=ZxytRR-auG2ltG90+tNDE0ef+-Xyg`E0 z>0Yk+1^I)JBm!}kT{-c4l~tr3OUHaVME8Coe$? zLk41Pr$sy_DUq+S$d(dZsmOmyu|CMvW2VK_YO{gyM!v`NZ(VJz<-W2|sTlr(@O{Mi z`>fpEgO(8pex`1VUbVM;h)hIihh^dK$r6d*9HM#|QJGU25}oP%PTu}zY*d&f z+6T!yeML;_Tqbr$TWfCPsbqH!Gj1I>*oJWReZdjF^Rod`I_wxg47Jr?hIZ^>AR|vj z>%w!wie6?wW@CZ*yNVL9`}s-?W|8 zrAl5fR@9Pu*&xj8b@UGIaqqy_Uw_&C>5Ff`73dkQtf!C9=_7H9b{CWaY*f zA=oLc(mfGnJbIqfO}+1}ahsFQ*}-YmpXlhY#Y0m#=?-60LW&A4y{y8*EkOv5i2dq;3& zf8IHU(4)(7$88|W1p%{R+P6n5-HUBf zLCUgz!oPwTdLF6{NoU;m3a!b2EhiZY(mPU(%TVC0J`x<;#-fBp1yPBW`{WYP2_ymC zH3S#`biHwT2xvarK7C$Uk(x0s1TRdqtAARaI+vu)dbtWmc@ak7x|;vl2k%hce)q@EKW9sY(?_dov@va}G(|llaL7Dc zj7m{fkxVSFEMn0R3x$uindeB2)Y(zokK(27%DT`A;*zuzPR7AP@7V%Xt=(a$}Fp>(%}CubaUCpD_f#)QuADc*n zD!Y`=0;c=rhbTbN0Ks#FWh+c6n92F5F`kEhriWyTdkJ%&)pVlNawd9tmsC`)F#}b* zQF_ZTe;p7FODTBDH-XRi5*ms3$dOrjCZy$4@E1a>^|X+P2rHTdFUos(g!mJzc;6$S zL5#%9d41#2cIKmd()Y7Lf6t~;&N?%S`dCsuXTx1)`F(iX26X$ri&k@d*bIdWb zZ!d*)kKKKEv&D=9@!Z)3Y4;5yL$QI~hf~bM`Un0G^T1Drz<`S-=4T|vRUe@vIe{GU z0|v*Q5(@jkIvHlWs~%#wy&D??8JDJom@p|MnaKt(U2Er5zdR}i@QGOGkUlIx!6w|} z=PW#}osa#|`Z&+Sw6>!8(mO@~6o;bpOGz7A2#D(oWji1Is4%$o_#vz3-H6Op!czip z!Q6;=-?p?=>T12OZG7P)pQ~#u3KGvd2re(RD9Ba;W-ukJLg5&&t#z>%K>7ugg$+Mq zwQgEZ94t;C`GAP4HzXrt8_5{>l+zAK^wu|4yWjri(_Cf#&4aC+zEJU417*(fBXoXT zM11-ApBPV9-G?8(+kN=K2i(805-G$ia(}HTI-Z>7StZ}lA58cq@VIIL9_WAxl`JFaEW8#;YvLtk;0fd5AWEm1!>e)v zR+SK%mvy%?0^z#IP*dxv% zUCvO6nj?3d#2DI74Sr2W&-)`X${?t4=bc1S5#;JB+R0%4GpzB=gM73>?opz%Q!X1} zLR!3HTPeDF1&Z9gtxS6Y-YXtlV@X7Gf{HXGJRRD;sY51|<@e(d|D z4}X!foGLB7k#bu`E$52U$9vjyEKQN4ocJJ~u-leFOpXUWfu4Xs-)Af{CUTbva%G>k zurKTbV!A&pLsor`mt%&8auqkn-o07ZDHHeNYu{c`{W+Y{B7Ln{Tj4O`3FSP%YT}}j zBb3y_=$Qe|?IRcGB6g36)m00?&j3-}?zW9}QZ#PFFnzqcoiN}`d+0XB6p}C4=U5T0 z42p<3&eC_5LAp5^6|4pJ#m8^hox}-LWRo(9pD|z*NAj%VV# z)%NgD|I|JDV3TnS6P4|O3+4t!f|x79W!JAnl9jgm`tGHR^EHH|bWF{B zE6~P57uFbYig%P4@~v&s{liJC-&ft4aN@hDOOU7h76Bz0k>0WrBm zL27SnJ9~(y9_wMM+Xk*+hIJ~C^PN=zRSeQKf>@4ss~A7)&xh}Ps?L(nid(5nQ~ze0sFf0jvv^i%nYtR%M4a3@TpY;TK~Ma{0@ZBN_X zs%u?Om!UzVWXVe|rm3b1fsjR0QO`UyYpd-9iV9IaApU*sS~zj#Ix*+Qa~j zOo(vfMIO~mD)xn7(q;w?2^!C_RiElsy95mUb%BXINFiu+wJf9`+6Lm2a(wPT`uj17 zAM;Xr!nQXO3dHM-m4#*Qp;+7OcDRl>NBukoYkg=(r4ce?wf~%gVFWxHN8N1(xFUrl z?DR9Alt(}WVI+h_CQPY`*Zy9d?si+>e9`T1Kk7EI=66PadUwD%+h5vGkgm_r_ChFA zX4&WL=}#d3cl%&v*;_?f)kEB!qkiC}GKRznGK#_suoz|{4e_ROQV4}S^WwC@1yUd5 zOezhcRn#AP$i+j8T*fqgic;X#7N1?}kk-ug&9;*I1{B3nLu_~;9eDfgx4LZ@13Tm4 z!$)CQe)i$}NSbUPb%kVB+`KWhl15;qW73BBW&6|d?zrP46Qnf9xu8=LV*A=ZBD;)# z=R*&feWDdY+u8J)c8LqaOx=}g&XR}NqI!%cQrG6GI0 z8$oAYe)85bZ}0rRaj&uk9PEXdL!)>OVQrn&ejO2fe64PE;Ma=-df2~s4c{_~?Du4n zf$q4Fz_`!5#(v=d1)~W(Js#+@;z6C_-qs|ZE(t!&d|^+|kT z5y*`HII;Nv06+jqL_t(P>cgDH@h#vYG>FD2N0tuN5#SuMmdp_N2N}3x?Q51)`7%R3 zZNJkxfV+}!t6TCmGV$7ZdI~HL{cm+0Wr}OBWp8(_au77N$TH6ado?rU` zl0v&VcMEx|p)awx0#Pc4Z-^0ZkYf>Wk6Zc?d3&*vOw$=@++UXnJ=_L*3gg;cXMsdBdBAq&Ab04 zBQbv(zaO1Er-_M?T=ZS*t9+Ju9#K0MPJY1c;v%5fBoKg4EC$N1Lv#V<~Pq~j+^>1(8 zhaotDiCO2k;si#GR=U6c-~YGnpMU=^-D9K!hkM-NvE<6WBme;j7-iCQ_6s#jy+V-j zv5t1W(!Puj-gDXj_-t?IPOa=A_`plFd}L;>*aC?(lQ<1W*d!`Qh9M%R@hgSp3qgC! zAiqTM2ze=CH`rMzF|<3Gk`(m83I zo{B;hHO?UtUgFrH;$I~O4lcR%<`mz3n8@w))_{AWK){-o0S8 zMEv&j0V{J2@2q1SXK|f#-vovoAOq9w9GG~rL;rHvd^xJep7??0Vu450YI(uc0HFb( zYnY2@>odS|cAf~6z`4Q--lJje+v}{3V^EmZut~2=pYfZj`cC__@l(ln1ZwVI zUO@DTd-Ujj_vqU%x%CgDLL7aaCBqqD@))D`0bF@%>%f+`!6Ztqa^0G7ys~U(w+v>N zajux#V}N>x*g}M5I;@Kp0RP1P`p2Jq%67zBiS9|qnK_yPMk~}1;_a}tV_Zq&uW4N} z!;3!iC>?Dk4AUGvRB=%0gMELFL_r2XtAsV@ki)^?&7&_gi6Wu4IAo&T`n$k1aqe26 z?>zr6QEngm$W^^tA1B*8fm4nBZyxM%f63$S?%nO~XFq#CX3XDt?``xByl{z;i9Umt zOvPdLZz-g@P@o=^D}lCr6%@rKPH*31P|Pydp!}7NG%Vu6iomo2*)6h7oTC>$;5X>_}RAy;goo@h^NR;Cy6b_PuNw& zqw>_r6{HB(wwKV?D!oMc;x0w$^ALTV;`Dt=dx*9^$Gl@2*=>Ndy%Fe}BPhl!cH)(u zc?Fn>?Q#rgVGlD7DNE4QvR6uQ2%(rl!PLGmM|w7^-DS1zA!5RypS2HCC66`I z*>=LLWCPv+N86C626Y@$mT4q^2ueJA+p>FlZ=$^Wn>K*?2!rdpo;YC|cV zCy%(OZKV=VG8~ig|1hjxHf>};X%=0@v zaS^{Y?D|h#FHlFf%VdloVYX=is(EGwuW4TiG(pS{+FBwFVb18Fe`{O7dTPTTU76!^ zw&w11=SL5^fBuL6v-|Du{7vbLBO?w8N2X7puE=YmW zP69&bOZ3g#va2bbHfy$E@BV z_9!>*?Cy8FY(edDBu}Dx$g$NE#@*pDNA%E^zv9FUTx~aj-xMp>xv7ip&OGghg2W0$ zavo8+=7FbKHERdMHfi(Gc@&%e5Ugf{LAcfVQKc^@Y!Kg{c+7S7u)8A>wpp#FEyIIn z>JPBCH#Jy?5qQ)+zW-VG@cviKy;GRGL3hNJ!7dcEy&=JNwXAfGY|CUW$9&zg(;(QK zrwz#0qnYNd9zo3N+Q*svrJtkDfd<89Ale=k+(K99!M6`%l6VFCBHk~sf-QhW>hDN) zYsxxDx)<1Cf+%a2%a|_U;5>rtQQ&!`2k&maO&wt-IYDqlTLU~}hVkh!REayFNwDn8 zbT?z)-wQ|314SX&2|{9b`>Bk;gLEtg1LDQnOsmipt%K zcvKeD{yIN_O=L1hxGNLwk-N$fxEyH$!_@>b7oqXf!(tp^$$RrdYzm?}_9jAZQbQ`4 za51HSPYLKq@6j_?eNJ-oN=*E#r21}e1dmPVnoE8R>AZZb!D^8j}=5il$Yo2MWch!b`$a{e@l%}|MzXp-c%9=RtL#uEn5>fMe z4kG58#NKjOu(@D9zME-aLuw#nvZ=&|`ddT8Gd79lYD_jjSH#d~KKx6dt*5oERV<$AyGOxKCg*4$y&-89BTfbnhZX+w7Z$q-09{ zVDgTD`I0RM#cQZub_Xyl$1o`yoAdM`#*?V8+ZhBhkE=nmrD#2Dcl(OEm{${fdk)`A zgEFs4CnGjPUNRFZ7uxQZ=;rKk|G=L<|1)iO*uD4uJKZln`hfbQ{ZHOG{)rT!a0BI% zCf9&02WiSa|X zfPInv=$8sb0Nd~tK@rM-kTH{?kF5t`nMF0!D_X#%> zvWU2Uci+3qy=Y|~EnzMS0eNcrRPmn3&B5rgB#DdrpAtkFg=zd=an=3IRa@ z#Pm*NT|}ikDz-dAtayZ&R!w%-jG6e%#6D%>S0cWxE+3CDl1bhxLgnkT#ru~1>uQqv*Sdj3nFk3Df9&x z%inLy9YjFip#vO=Jsn3pT2o>{8o$kR1F?W-(=DbEdqZu1_q*vW>P&sI z)gw|ZL~9GD`lPcJhR$m6668uAB4hrCpM(t~S3j9P;(TD%T(C-`hpg%kk$xN?>DZRo zOWYZUN9^bCGe!>?EBlD@cXu!-g*54emFGFicCPHbaL2v<3!WvMUf1g-H&+n-Yxdeb z@~Ygz`f4Gt;YNQobffe{m~*2c%CVkq8OZnosAJaE|2dalQ=Wr~cE9<1BoB@g@^knp4LPA+XM0@lJEL_#uFt+4P`6!H z*jo_O&4}=2J~Z`mM#Kqrh?Lq|^yF^>%De@|-ciB--Vk zfXA2`-eXI|`TX(Ef7ZS8uD27eCeIFA1lD`l*_5NvAejj7_&8xZV{-C5xWjgO|HF?6 zn`PVOpu7L=x3OHhu;TT`o_?Tw@QCs-rBB!PhvU?LKEWl_G1Jk3i*p>x%*Ytn_A&y+ zKnfFyaHbW;gnN842+ncncsB-t{#x(+S{?hb7?H%O;)qmpBn^~ArhiRbs#|q_9z?e@ z0^=!KW&7V3XE~nu&GQf40xG#w*U&TnKYMTX>{*i3`NiG$HE-^jwO6n70u77-1M|QL zYcnl8NG3Cx9%QB`{cU=XG#b+w(#SM44Kz&;G|*J_QfpRbW#w}BeZTsAzJAWlTSaz* z$uyl=GkNa){eEYO6XD_E;qKw#;URVMBP$Le`^1Omjpj+E&UeyYc-#YPFX<><4cfoT z!;V-?P)8v{hr0CW@fx1d%o)0&$Rz8ghhemCU}6v%y^RqcFbw8<>DZH)03DSX2xV*> z=1MtT-~0@y)IzRn!C`<3R(mcIjl7JXzPq6!fSEQ5hk~{0=3AdVO2}~6;Ud|XZ7-fo zt7XFLs%T-*eEN^WaYxLj1hMhRs48s8E8ziC;VzZ^AyQW+BQxrSghEuIf!vB8 zsgCAP!?~WeP0SmcgvXtxF7sGjR3>_la_8-L5hznkgUrJ~!{8`gXDR(BKxv!@UDYAm zR-n$XvCiziOwknvj&iC_3V}pZ#JoF-q9N$kL*{J_owqlwD+y}QQ<(6cUjCv`>qg%5 z%U8K4!h#1*r5n@dStS7u?`XBDBV<-df@|-Zj~^Me)(uxbxMIPT3<}U)gr=(xoWI{- zRIdQtU}V3F|H%$!eCLxD`rCV~D#7%B;OY`LsltqZL>Sz|ea!mI=MOM)9Y%QFEd48j0djHU^ki~?8>CBxH35139LIpzkY+1r)Jb>)xiBlr_27Vb@ z=5W@eo*Ovf9o+CfW^pz{a+g4-L(Wie5)G0*u$O%rPzZ-n$n9qmC3HA6U_?N1fwJyB zXk4ZJ6!-=P4r3K?$>IPwyRpy4h#@)WSs4X zQG~P_9r$nKZ**sEBzB(fLAKdI8zWDtmW57O91l}=nJGB4R6T>t@q#azQ_pk-4 zo7ypQD;o2~v?cI;phW85Du84EkQ2+8n{T z^hga`xd8Nm$us|wyoZ&Sv&=`B0oEx2=O&%g+ub$Ha9ISj*ePf&Lw?Y`UX>${j1s#1 zWfv*S^b{72-%^Fe`teluZpY7u3}tHS5QpMc>mX^eG!H?dHKbq9ZhN?EovK}>iXR?lHNiMO9m4Ld9G(FCxE|x)5FcbHh?$co z_n5GG)MdkiN@wy;^m{|7y;aY_OQ6jcxAG2n<=2lq*gXoI9y!o7j^H^!DbixGj!<7m zz&XNS#Y2AsVZV(6;0|`1nI0-Ly35Q?p@$KMzr)OvBPkJnnDZIwpK3k_I{hnDZUT%W zOz@(qI+bP_s%e5-Z*%2$EC5_cuXRuSb1q$25rmNfx3=KY&-Ruz$cjPJwgQ03`?O3w>S%0?|w!3QZs)58vP2rai}x+vO`u#0;24 zQNlulf-{VRae^%I&MmA8<57WhzMuwP2U84z$%76aRk_f>2;b#NhXGYX-<9+InPe!>f=k5&Qq$*8BM;2?o% zx~`mCpQo>*KFCF;rlX*<_azuUV+B9Jxq8h$0dX^t6e;|WwLs(%XAFjCfu27 zP{MOWhypD9E}PXH$q?ii^&h51-;TAxdh|lhlEtF;!V}1Dn0^tf1E47U-3R^zkG}y- z1&-()S<8@&q<8>4+X(eTg#I8Sc%$TXwMxEjX*&d=|P=&znE>^2~2gGcg?E*umf-`2?h_+GNjdL4@ZR!obxsi z^xFs|=k9gV+d;^?zI+|Qx`Fk_*b#dh8$`s@oNr`0mg!;AKSKzfFdBEXCTxkGFRi3D zU3~(B?c?FI)Cv@e71D@j=tL8A)t6Kf8A4uCGH*xhwR0h6eyv?j9iX(R2rC@if$xk} z1K4ILgL}}oJ1k~eM#R}FG;&r8@Eavw;_3vImLbcwT$jq(ezkU=ItmNVD;xWiLJK0H zE`yA;PY3W}XoNAQ?;U{8C;~X=W?3BcI8IxRp)5+jClj=5V)kHdKtQjq@*eqLCXkP- zdyWx^PPa+BPMPQzu`oB;u3cGRi{N>d_OVMLw5Z>JW_z6|jZg@*QCM9PYJ2PNptGX8 z3W{F3ZZ->Z>dS`EI-#raw2BUaqx54Lz#`z*$R`<Q_ z;V4Mww?pO~;WZKLF_{9JqkSFB6r5Q~M>?0|Y2FodM^Y*iuF1F0Cj>9~>u9$IGd*S0 zJf^neBq&&^tGmHd{`CwbP!`*Bb#79`2KJf58 zM{l!)N5-%3{D9R4FLTW4%RG(Z7-UmtaiDc#4yG+yNtuz4XSQ=_r)Q=-%m~W2J-3n^ z<{=3seL&%YUqeS#iu&!(EhB60X?OP}*hMJqAn;ZG9MS8j=Ul$#{SBP)bcow#{(c)_ z?}&a&Q$Hs3{p~FxZ19-1QF*71pY*5Jo8DPD3`H3 zpa_UWkr%~63l_A5K-65Xl_o-8Z#53#>AERr07YY$)e8kPbL$FHl}<i zQV$uI=21JH1-YHD^K&xA14bHpM=Nh+a+Y1d6m6+ppDWlt%JbwBcujwRpx9VR@$-y=8?yTnM7o#Lhyo9=G?I`{_dLIQ&$A&5b8XLA4 z0h)v6Ntu}G48GzBbQR_`iZ`^o*BLCv`Ab32A@7(W!yY3mgVJOqNG`4haLZex^o2Qf zy@~9SuiMI|EUrD0hI5sa1swHMc7idOT(uby;;=Z~o=1q_ADYT`qDP=QtCErrcs2jL0 z9k3LY zgR}27M*27B2iv>%ciZ25wAohHDwMHH_Qr?_aP7*a_SG-lZntk;0arRX;)uCXO1wf? z{{d<4gpQ}hLNA0qpWF$)Y5G)$WwA8w(Tv+@DWSf1h*$sV9K zhsqXci85!K22ar~z>$dM9lmL2t&(*etG&t+*HH?>3(_Ly2EM?bG{C#zcVz66Llq0B z38efWnCz0bU%XDUQk*=^ehVzZRbb}3N-*)~?|7;rU^P1QeyT>PXjk*kXLUbSozMM+ z^3~2`?^0l;)jG;8;ad#JiiTO*arj95=k4cfT-f2l^t%WBDBSt^G`XG3Ug#BhSgf7g zpdV9M2AtDX&^vcF?w+Bfb1kpa1Fl8)&yMU!+N0m6-f}DOe>!92$F1pi!{|U-wvPA2x<0U%&U0j9}@=lsz$aasg&OBVfN`ndi1fk%_a1X(Mj6fP> zgnEK9aDu|fP#@udBB+Nx?b46fBoHyHBi10J$so9^rvZ(M4y+uXXaFJo+*eqLKdYKi zJ0}WL`+=~>Os&9%CXXrKwe|^xt>8y7RN%|xHOZR^)RZVHoLLX?%pHD0J}VDL%6{R z|Mp8a+T{Frd{nN?BbbMo=EE{@_wiwSym{E}K6n7l549^VkK>#=Nbn!jtYiFfuo&zS zh{|@89`|uN)QaOsS$dnDou!2Nw#G8X4VFI66KiCW4ap2bWXoC4>FLR~v^b0KW!h)8 zVlxcU=HUb~7CVzEbLx4$=e5%?@-Hnt*4I3vC~y+NpTx8UiGAi#JQ9V<3_MVvt8;J- z?(DL~Hhxl{6R9&(sbg27ev9WdySopXQ@ib_J@;Uu(2 z*@BaAJ0XAmdrwI0douYQmVvFWv1j?g4VXN4!&EgG``muZ2Vir{i(KPD(yv$fZ z=vsO=cv0B8bKV9FPvysLZpZlLKZg+LVw;1mH5ZFpX*b^g{0=A-eUtRcn9vMBmVDtp?ctoYf>TFD&FGrd zU1qz>vd^MsS7=~`Vr1-&i=$I>%*D?nDACKWzTW1i$1-x(>t5wy3qkAXTh-SPznT7^ zZYp4Vz_WwdX5?T8YuSS~c7ksO_OIck#Wuw#fAPw6o4>xqh<_5;=oe7a5_9zPug$hM zZ;ayGa?<|yKYF*l^*29ii$@=|V|MzSeCb!2W-v&S&V=+`g(2-Vip60JoBSqv&zIE5}GL|{$H+?${OjrT-b9g*e5uiG$^k?g1g~3M-tJ|Mk36r3XBso9{SViEEkDj(`GwhBQ#!zD5 zg!DQd9-u6Y;N<6@3~GXrAU^2`0F@x1@g|2@Hhk_Ld26n=k3>jQwnF|Ap=G@%^p?;K z2IHt#Imoc`&;)^9hUQ^8axt1LkNoO|hKyhQ`-*pKV!-o0*J{uHU401@^ePTs8NczzY+LkLgf+@B!Gb%4`(@4dT^+n@gM-S%(a`Vi~MPMgO=e-xoM zKpx|S79OWvthZ38Od#pu?ubbn-ccdHI&1NjPw(&*4|s(!$dZ;Fx%a|Z2A%*^{7UaW z%gCNzX-FZTNS4r=bQwiJ+Ja&C?{ydyL0!2e0Afj#{+eWwWez4x68^PB2;?xKS9A{nV-vV_m5B<5IUAMYdGCm zmg8csU%Y&Y4R|gmNY87pzC;Ai1sq3*u}IMl5V0fC1NxeyalB7}9c2KV8XU?feW$EU zn8V~Wi!y$?3qGe7+Vxw+@4tGvEwF3o#5k4+s|hAdO|n;7PUxz5;AtzPZre z`r%>w;DfvLgP*pmg9~kcda>QOei@4uaHA9(`#{CS&4YBbbSbOkp%WJJ1!!m*DN zfXfmkc6l{@Jx4~{eU?_1!*>t#h(;>Am2Hg!G2gP3Y>Mb`KC_?8M||pEM*aY*;4yJW)G6&yf|2E18><0#v`GbRx7V>tL(hUKfnqzs5`6yfhD=3)p&SmW)_xmE`) z5>7$HFF>UvbyhDLYKttvn=uXtpGB6`UAsa+p1C=M7S00y|lQ1@E>9B9)))Y z;Q4n%s-Fc-#i83K7GE-_88zy?<1C=5ite7FjE;7of)&@p^ztcRE$mRF37fg9Qt zoZ0p&TPoODu_N8nx1?+7E5VzzynsvFM19gjih4v&y#axU8Tp3iM-ZYOW=d6@S3IRwtnKkca6ekQGGN*14~**`to z&t&-G@;?{`AkQ+Z+bN{+j&yq>2qDWTp<54`ut}oSg#*|9q^nbN>`16OS05z9S9_tH zd`LeIW0+$kqi=u=Pcxf70>%{Z&|L3atU`YnvpPMDw2X)hh$FK^FcB0j>P1a}YmF_6MQkd#V9n4+WRdlSI`-zVX)wG2DxkF9NyT&%p zj%5*2Fa@*X%asIkcsU2(+*19rEWvXnL4Og9bwK#j@u@r(hDzu+Z~S01gm)!Y)&=@11ZZ;gL;XQUMpn>_jI|c>_Xda>YRl*B@ zw&nYe+WzA^?LDj#%x1*Gw#90h69oA7_D0)Ty~`BD2G)zIHZpakjZIx{lLupM5e4E< zC(>OUM{(*^c^CCIgS#u2vMHHep%L#J|TNgw@OML=dj+x5#{ zLj&dueWmDyq9@(* zAWAOzdYFbJ&&eSqeEx|5Jyj8~CSmkq<>wsc{|g@foVQ-w{{IsL#c&~LiCb!w6eU_Z zLOMl9pnaJkQ)pI(5elhS(jj|-@sXX>j$z2#G;)Z^yy+O3fABt?0mkP30&|RD#$kwB zCuB-vj+FY91H7Uc`baaX@KAtp%=H}BkzYCY2X#^lVGI0TX0e+Hv6w1>? zIy1Y-A)X1J*9pDD2_h@F_l>j(zkw&|d{<$^i@wB{)1P4>x%OTi0f*DthoD9)yWq;X zUqjMv$ygCO`#5eHux0~g$er9a5cC^3>}|r(w{{Q$T<;TY&&_At8~zyOV32otk)S(l zOoJ#H!4fcuhxIh0`a$Y`!j5q#2#8a{)zXkyommMXvqp%_&CIszR~2v*l!wr!J;NXc z8{BDz7mYoFJddefb1JlQlF@t#{#v4kDPIP!qR4M7N2W6$KGIla2H>`_tWBlj%Nh_AfEkw1p>Wb>S|xUMl1qcK z{Vqa#5?l=q5DGU@9#wX`DGTz7k_(|Ap2?8%yH99`y17rr8oTVRvb^u$#!GGd6-@b< z*e9{B4Wk5DeQ{JhnVz8n0(~9R{zUMNpc|sk4b2cMK!XLN-9eV@o#24EyUGSc_wKY+ z95`3m6>yibrf5SQ9!J6H08WGh2r@TN0{JL8C>7k>XXVBYmYywWXrFp7y!leQyfocr z2^_Sw{19J(hwb}+^Y`uAy~pi$|M~9`ScqT*G|}-PJ1^2{7N@Ua-FTV30p_qafpJ1x z&$B8)p=s1bS79XX$H8QqKEsj$vfZR?e0&-_V(H+yZSFLOQ$WSO#Geht0rLC<3n*1u zSnAOU?Iq7MeVisu%QIJG*z!44>`4~^FLF)5(^w!p%gdcLK(eB}vf_l_PaidPC{K%@ zfr9`JO9{`-)${gcT{&bdKj(P5BGA28$a?Z-Rkp6rlRSC+;_R1<0p(*li?j%B7u(}J z+}K|}T|dYP=}e;rZKp6F zpPnl*-bZ=LGs^-dn=4JgdoIOupy-MOM=hH1ox|Vd*PZcPg13RNcM0Am0)3Np+6w($ zEg-J@-o{yy`ma;}J(&K<%33zaIfkjDCA48yK@7sQCK>GyQD;5Xou3|IBshXo;>a|n zS{%{l5Nh)%0RFlYolaENBlUtyDCr+r(HvO9dKU=skJ_jIB_>GMnT+j`uS z(WeZ~OA+8j;Rw#LKp=z^G5v8uU@ZL^Mj#OL--k{WVum<2K$dge6L`b#5>ngU_@q_q zLjWn1mnzVLdx@$$_!!xTYLiS;t- zofa@?l|D5Lk*biZSdB5)Kg;yY=^5+t$EIwBcIV-v_Gbudww%ab9)l=w^OuPNh_mB7 z;lQV+W@$^N#-JY^ZFe`xV-Xl_ zzx~gDo5+GoEQ7^I0eDVv2y`}Zj~E?$Ok=FAvhsm^#)+-rGUH)(8+6)a56i?JQ&Fd< z`ZiP_))#}h1=_=rJW~_UndW_`2sG{6mz_>IjZm%uh|vnq&GWX9X~0tP5!wtw5MTXL zK_CEwKKFf<%v^E}81fS5d_p@Y5YWE#pACgVKRn<)8!r|HUe-bp%cNSEhtJYVb@_Sw ze!3!HEkxACLnQT>x_JM^`7_3VLdLN|8i;QgMFeWj3O4CjLUuIoxpz%tC*U;Ke&tzr zpYvjYPZB8j<1di6YA##`J26oa2JNh76GecI-{-C(pm4L(`K3dTJ_MQTgmFeN@W^NB z$ez=&Os`ornFb!y_^e=)p`T*X+}|S@4UTIvYu`~A@LzeEPrZ^~pZib;Lh+&ChNtFm z^yYgCACm!%Uj;|*Bw5Z(A#*k}gV(5#sZ{uW7)zejwRu^D9|iv|f@GgU-4I7*$T|BB zg#H==e%sMLLTQ~*{p0m5mSOF*_m|f&y{@(eM)c#nbLi4N>U+BGl01Yz-r+}B2V}f5 zDq%5R!XWL1%LXGw1v^fWc=5S%!gg}&-*FTHg^6Kh$1#OF&C`d77FOGvfAFL8Bqm{m z{~l|;jp%oZmb+{w?F&yKPE8N!}c$}{p~m?PEN94hkgmRp+p95hG-vm_B=(9 z8lKyzhHm^djiBAZL_eYT{=fm-5P#T~H*U76g@twl$3x5AMoC=J`tZ?1lyFuLV6k)S zT_8p9QXicSXr~A}3Y@^azrTLk?*8=s_Oo~1X*-1c-P{{O0Y%xLzT8$=A@ZF+`FHJK zU={e)Z+wI1z)_Jp-~aew`-n33iGHcSjwQ5BeMI#eA_fEWc6?C#MZglueM2nKp4KgM z_~0nMASB5C51|KfDe}6;wVi_)k;@oJCDcw#$2(#g;Y=Ye{`rK>bsgMSLQ6&iRng^! zyhjF5Ig`M15~+09kGmGD=OiM_z>*EApz;2>DWA*3igm{Yl=ZjHf1j!dWWG#9Nwya< zI)CfM$#a7NiB+K_@%krI4D&pPP}b8mVtRqs5U{s=nP2H0+2>vEReJMFA2glsS&F^D zRGk*AhHr;7j=(~u2QVqqk-R4}9mWYr;pBSqeU>E6u*s0ifn=CE*g5*xL%6x@F!9o> zmnHvzD*XYVrP3{P6@UW`U*6$=pFlL5E9{15u$q%agk1NGOi~ZPw+0@H6Th`4c!uf_ z`+bezE1~%8s2?1Fo&1}cqb_;B^#2Yc<|5mR;7oW{@L=qJ9rm^r_6T^l!Cga;tRh@o zd%et(%SZS(Y;t{qz&}Fp@AB)0IeTs#0|VbhDOfe&4wiv=@I4J@8wO8q13SR9$`FbH zV@9^c1u!Z;h|}H>Uf2T&8ni9&3S$J{_G#z!RaRUF@49v)#0`&Bo!t~i2E5ArunL+> z+>GJ?Jcw7btlu!E(Ipw0MgEBL~BCTnJE5VPXb^cPb;cMRLA33g*+l@S`|ai+khkb&mnha}4G z9DS9&m%RymY#CiOeO{-2*Cz@Br#-%$A`Xi}4(R;lu6S7&PCfP*mG2?|G~urkCU=Vw z^9CchHAaowY?QN=D0>@>@^NlN*stQiw+dr-es&sRKf}EfgR>xfNBK<9rVKROH5g># zGQg1Bzuukj24^PQz=DFFk8Pd<;DRu5RXC%fa?`3Ki15Cak3-H`Sq1~-%27M%oR)~w zrPB_y*)}k3v9XT=H#_0gFr7S{211YuM^|(yOtcUAM%?AT@br+`b{&2@dWw)FwMjfr zUi{{cX(`Y1)Xzq=5mYvSH%lRb_YCJXC7kp$4AV}Yq#GETX(Myj+sx8jyLNS{-C#-H z9Kmkf@MeLz?OAA3XTUj4`zi+D*q8yX6c7-F&D{^~v|SXkPwwE&3Op)PI=g8$?hm0= zp~`x6evOGScm%M@FW?Ie3J-rOGQv0H2%om)H0$oK-oDw6ppBpW4%1TuCT}oJpw>s?b(8EAARzGjYKZBmwxrP+O02rvkgrywD;b5 zx7~U7XDEV9!5uNZ08MQ{*FXB(w@?TN+VW#|9A*9DQIsS6Vdj{}Tz18;%skpN5;Q_I zc@7(;GVJ`EibZgORcu<+wC&9l^cM z=qu-JjI;LeG0Mq0o4T;2>c(0d;rxg-)yI!F7~SKnHNZB^Ft{r)QJn^d7^*8!GJ2k! zXoCcMarv9powOZoB-0dUPww$z@Cl$oEx^LfJ=<47qyt+qK!qmf-lN=o6c)|>E*(5& zq(8vO(9vm3+6a^iSq98RyPjOnnuze7Isg{xQQ+vCR{wIBTbQM+~RM*H=z zeYstmpCalbiZYI)>&)M~T+cv2!Zd<)PsMhh<(W?PY-3sE&ds5c5Jy%0Ktiw5A=M!*;9$Zo002M$NklH%pvQYdHs=BSg}kuY`o4IddkStJS)QYNFNR@8b1>UUnD8q&eEELz7J z1J~$;q`4G+5TW9np>vZ*n43poPUe+0@s_FJu)|s}{-X$_MMV{KjM$fRTl{rShUiwj{KCYyRZ!EmNdJs@xsV}SwoJHhQ|Dn-I6`YY z6Wh|mu)>gc75@E^kkd?c7#jBs#e;_HA0=NeqHJmr8b@$rmY%>QB3&7#)@7+K=Nq45 zw7+mAYwvGdAzB`zdOhOjS;lI}YX!Z^z$BI`9mX=!REq(8AWE51vET-N@sQ3WO_c($ z!!(lu`N2o`*;be~=5QXn?`PI=P{oaQP+%EnqNi5{UfNOIc6d&yp=sx(fkSZWW*f%j zt~2Hy0&tn&SSyd0+qIW&wv+kZk(Q;ml-1))M@1bLb*fYum}J^xm*=j)7-D71F~a@h zjlK5Xhj-fz;uSn%CBphDOZT9yX;wQpCE_lZ0-#IJ2IY1Bi`hmoqj>%I)a-3wNy zhI}sHaQZ3q$8(i|L2zsPZf~-65{k9TicF%ES*I3MBy}7tr7FrW7&$|cPQ&tJzQ@qj zF%}zx3PsR^?4m)<{v_ql%A#UmJ4g{l6Xo+HTsk$El1qY06#A^!(`ePlOl$tYU!P=X zrq974w0r_|LH>(?db%Ru8@yXpzVJFXig+*FdvW^AFkticK{sreY8wS152WFq^0}7S zz3ri(Hm$#Pcvb>lMqJF;=X5?_B3a(;er2AK%)ZP6wg0)y^gc0w2t(hQ+XbU}o& zTiTwSAcTaK51|E;MT8%4>7eBjFk#toWUnb7#O>91VqJH*a}+rMT!nPn0|tkvMOY}rIpevX%z?uE750vzw5%L*U85C8qYC>ALYn-m z;bp2YOBi!D&tcwJrRkhTOjm`67F-=5j>Tj(0qw*|!shZ;1fR(6+DB%s$zJ6$c>=!- zQxkG6zf*7$u!kum*UKw36s$Stjj1a)5QML^tC;W?aN1jB?p{GO%cwr1e&|dGM@O8a zd^9IV;3$AqVEEVpq!DQ`N)q$-o=1V=Sy*|d?zVq&fOb>h*Yg6K4 zFmz3y0C$dThcSJ3`UTjcOmGmBx5A1%OE_?1cM*=Ds0uw-czM&623pG$blcEbVm0t< zUU|>l!ILnILO)Jp>@ym7io|Jw36>F#Vs_s_3EtV`-pm5RzO{FO{lh!&v@7$A?N?rT zqkZj*ud$6V5dsnX?)JD%xeu{kJwyRmV+FxS_y!PKu)Y3Uzn`53*YGXaVk%|zolt6l4 z5r1WUu$fd&;1A$kf11QDpdOVcKgrumm0uKXU^CCObIMPv3&3-B2-hz@o~j5ud8MoQ zlN&G2o+k|0F{INB=V4JcSDMVPYJ9pxK`i6;u?#y0zdZ73tupXgrR`F3P3FEw=geDl zlJwX<&-~gkD<->E0MnYQ&QLP02ym_yT3Q6`Xdd>(2^g9Jc@IH4?Z}x9CVUD#=TT+4 z9+5Bg@8(Ab>HYz8!Mn`U9%7O{V5EOYe1c=<^>K1&LyQQA5d1hH;I)srnoWr`cyfaC69S(P zlB^BfxRUw`YQP1;QeaFgR(Sve$y^2J3R9O8rkYeWLJQ^&mnlXDP8{WH%9lCGnDiDu z0cSdPDdc5HX{QuHUgqn$rA63lUGR#72R@6;<}C2=Tg=tb6wjc6$1WJZe7Gg1dty48t>5+NDb~?b5x+flZr?^7&8I@wiD!A_K5rx+r@(oPBo+b|uo z(o$Gp`&HNtB($eDgrKb zGq8~>K~hK3Iocm$WV}sZxbygv_SNBu_Fum7T6>vr#V7cqeEjfkdw}!fBP?5wv7)Wu zvoZ>dAKtsymQU}tuYd5f_QfxM9Sonb?*WlE!N(TqtkRWhgc-hZ9daK_ATI^FN|6FF z_yY%f2Uy6kpot*`t+@7x!sj*TiNF}?uTe_n3#ZE{KG2yomN)F-Vu~wpAf1*l=Uly1 zeu1(pGf|Nht6FKKM`_hnGnqmV|D;WN=pb|fytZ}mIAO9}r)h+@N*9izBi`kix!8Fm zCG#jnpe!@eqtNo`b9p>f5eOc-#`{#Q#KY&crk|?Fe>eI?~@^Zq@zn_ZbQ8GUDH43DoxbT03Gxl_Qqt9Wt6f zas@+1j*i5r81;0MoMD)qbsvTiX`-~gGBqxM4>*L)<%lvl?niOrR^busk&hOM)CmsO zGc=W=8r37jc&?zYIs8%pBIp(N6j=?qxu)dp4Rm)>ns%C=r#V`HBal;O(LSt}r^@hBlC)392-7;u1N$^=)s; zQV2NeL@S{$@QEC*c2;S#JmIbc0 zduuE?1@9`pDm?T);zP_Qdg3vC@!_5K*fny!%`9Av<-kBdd+cAZvW#N1yWU=X?Ui=( z#x?rh016*CLh#u;{$xCZ1C|uJBr*Ujiy(1S2*2h44IG z5$ImY>wa~g^J{LIf3CZ(`+4#Xe3@su zlpT-cGTCCVl`;&?2VDBLIod6C!g7~3M+fvOgoz`b+*gM}GVWuU>P%9#X&rWgHd-Os3yB~hPeL@J_RaX%( z(pTv3W76M)86NR_hC*=6$j-=auE`#T@l7Jw##jzFrt)D&hLH_Yk29DroV1<6%-~X4 z`yFRKDj=T1=s9;PBc^(UWFakB%eiS}jxIG)=+`LTk$jEjRSKNmiQqsNW7#U~{-ep=fM=G#Lpt_yZmK9DC36`opF}w# zmOY6}fE6ue|9M7l14HEmmQ8dR87jOL^u;*O+S1h-MR>RUoA3SmHcQNa zF#s4Ps^;a_Uk!c-h%o7fTG$!dCFcKKmiae7`1AJ0SHIc*;M@Ooo4`sj%ygcS0k`>l z^wAyq@P2#awbxlTJVxJUngXR{WQ0{L;81JPD82*zvd{7{L7>{^X%JfhKLF~ni_$*A z@|9CN6Ak4Qf~$Z$;sj`O@u?<8Aaf!9q?<}ZUc5@N=`Z%7lVSUi3u;R#NnbE~`zSx@ zN4!qA3q9C7RHnTyZpJs~DG5i#lxh3WKYZUORT1!u5@1Y;F?n7GhebVqM+cQi`8mf^ z6#>(V+_uiy!^pgI^om2{^mvhgCUK?gli-*z0pmhIaNomEk;&$80VVx$PPI4Hu;amIx3Bs z4JIgzPIb@)VN}I5stc;o^DO1llOqgdDaY;7jLdMjZGQYyOse;@_I;Pp%aPIb5d0%B z_W=aIehO!dy3QD3P4laN!6_rr(^;62`3eopT9{-&{^k&1IK?R&@ATK=$d61s^N}(k zg*$an*lW)BzM~uKmS<4}tUqt^aa3`<4(ytUR0p#Vmo=kp>mdwgv()W zQHnv3OZ3+9uwQ57yoZ2eFCX%tO{E9$!RqbXh7szjNI?V}Y3N@F_3 z`FP@2FwK>i7Fys4Wqde92xDoV4UNWe#vB@FG#$kcr&gxThOjD3u=VkeKfc%g;xGTa z{oe2W0ZT3ClE3Y@xVYFp{NO#NF7DH|gY60mpGu%{42&_M)xz3o*%CP0%sNF05=NeS zXf;#t?h~?EgO+HGGq z*FRx-)K3!u&rz*{Ki=_l*b@~1UG?eEI=R)Tx)Z>ZVNaG-DImfaxMdw>ND2byV`W6f zA1HG^0-pMmLtdu@BpvvpJOzM<_{o|12Gnae1`~m`D@zN5)x+3aLWBQ-K<2%9{PV17z1EymRnD5@i486vDx1RSKoNqBTv(J6E z(bf8(e}$HW3CfsZ%3uno(>d~==QB+leM8Yg0hs4YnXwEpk#-Va5j432o~dJ3&B6h9 zz*}gk8$|{I;7K8nBM7z?$b+=vY=dbdeH?U<8)kHwxCKrHga&A9g(q!ndD6bLH|*Mc z-jC&nbhclVL_y+y!D|Z&qV(-q{}F!fQkRK|DI8e0+r9O>ZFPMG5Bd^j(yK8HEYtaV zrv%3Fq1eEwP-~RsIhs}hnKyf*N@|e*B=_{rFD1e)HuvLz+STB*^FX?c43{hwrm&@I4fO{kBB-Vpnu1 z5D#&(6uu}%N?fFi_2MRiRErV)P1(Z7C(?=WD3r_c2cun<#mEst^`A5wbvLaFmT1c~ zAvtJ~(GnvXRfx~qR5qA$pc`M{Qwlrn!+V1&px`=i_{=t37zc}v~PyYjB zplBSDl#uN=5~)A@DPGPA(~jqJI+X2KY{%d3oM&lXGwkm9Fbuf6Q$Jx>WaSf{n?8bF zMSx9t@DZ40L}*A;8KvgpS=K|3A*gqm$Ja;TeA!ywXHJ??grkcSMjQvuD=M)0iwO@? zse*0@0Xsy88)T<52B}@=M0udTxbU?#;K@n=gwH-qGM?#}C(lqEPRZ|t{Dt|+R7ltP zVc22hFcg_^OpDY<0q?oY!+K;bekTNaQ+_{xZ~bK!HQEGe{=<}lPmupUb) zIAHGiCBEfD#k}gb+AHmx1f<|UFlDNRNQz-n)z;!o2IsFZoSm_J4u`%m_l!qC^qWDs z{LFB|dhW-B3;bGcuHU-dUVix{9Qjy-KkXbobNZ~!R|(Kz&o$xhQ4qz%dMTjsneb00 zeTZ3nmo{8y-g%uRaO?PO+`n_TeS-6wOD*Gt&I*j|oQIh?N|uyFUM@GBotnc@aGtsG zo9z~GEM2{nEqaZ#H-&{@0&A0=`eKEeQa?&geZ3GtL4NYfv!tmnvC<#u3S1zTl#e{& zncWCF*muW9R)B0`71_Z$5I+}$oJxTaGWC&A(UlJBO=y+V6W<4(UP+X80Ih2WOSXJJ zwlXD3BcA&4tNXQ2d0!!<)8c-7R-`f3$Fm$yXEv2lN8-da1TI$(;JgZcTym-v?SK*b zW8+w`kHGjeTN?As5xu?)OveL1`K`0b5EpK!ba3Q-oFSQ>a32DXM@*0W)nETb`*pqb zuic6wJ~cj->53yp|94OZ9zM87yC1g8m#>vI0yvC*s6P)?UP+gNtDS5Y@~{AYZA0&9ov>hAI=zZAs}1>4Ie|~8z{mq~6zb~yS$=om zJOSY!2kfbeKuj=Q<;>zd8&3W~8Ba=karP`Q(6vdJY6w*z=p1P&SapOy1aIH7Aw$bP z_dFM$Zd4hO&q$c`brxY)os;`&9ef60EMcT%V+WI2&$6HTLzs{ZLMNta<~Q~DhBw9B zW@lB%MtkRXhIvK@s41f|D#hJYJ;Izc>Coiw@;p75oeR%=J{?^qR)U@~F5pYt z)Cfez%|}ZEP>8oe9QVRhx$A$*6;4a9dzCZ~^JYyAm;wd|Lyu!3?>QIWzpp@$nMMGr z1aPfsRQzX3f%KlA3{JO&OE=o9w{gy6PkYVx^9I~u^qvTNIO|PeBGxf5iUDnBJB`7V zM^K{T;3Z=OJmJZRin0z^p619n4r%Ih~R3Fr(24gw6cDyU@@l?Z&N}?fUIoY{YY$sR!Uishngf zrX$CivH-Zk9Ifwp_u(gP!X0s8d1?Fp7ka8uX}z5`0mq3}*eQkk)MuBub%o6-Q&&0) z?k5I9IlX3Nm=bOO8X;yB$`VN}21Q#=agjUag2FlivR`6Vh@r)Ecn7jmB=?U8EOw6+>Jx!=;#E~ z21{}JgeA})sT~!!Zd(0RTw_9Kd82h0g0^GMXViTFZbw;RaDxBBGWqRqFQf43mmyw- ztsC)!$ymS0k4K@$vJB8Zv}diVp)a73$zwe1pXF3*UQPqhM|eLgbxgoLTfvVN)@ zxZne=TlW{o^M(O?9IfR}Ss9h4;k(9{@!5F!@a<_1$H&#icGh!~+Jy$Lw`}whn%#?} zHjy33gL6)brMY+dcudE<60KaJVk`jzv3OX%qjgP(&Vg%kH|UEYinZ|BQDv&8GhoUA z$^>=+#6v#T*@Lt>laqRoXO>~+-R>E;eHz#}2@{kNT2B<6ep<(@Jybr9 zS^3}+vQw8S28ulT%ohxHa;Ys|CPx0{1xD^{ki&@H=y|h*dY)q5e-a@-hpB&_IbXN7 z)x57MSz)i>cmBORy%qKV5FiS}amqspf=5@qL`FD!YC=^D-(ZfZTbJ9N#7SvQlGK4$f-0^ce$scx>VUMj~u zQ*d-?9of1Z)oCexSQNxA+mn{g=_T*_jvn*AC_I&CMw-+!R+@sj5Aymfxr!{^ebs}>B<#WP23~Tx7kJTciS!z z3ipXeeT47AjT=n&L0^Y6hwU2qEkAyQ6=UX4t>b?IDK;19=TCOU^}}!H;Pi1s^>wrl{pKi>B@3ZirEKAGcsfi^RRk{Plh?W%pK6b%=lA07FBtXjPUh4=+Fg`cY? z_V;jHG(LWg%E^3!^Rxwk;Gs4#&FG!cpS#*kz<3k7m66~mrt#T%Oy-wwFiKuzd)cMz zm^XptWkzQ`1itN{a;2BPjNQ8Bw=30K@`scT4#i*Lr~4&c;HeY|q3f%>W=6q~7AEnp zAI83WDlmdv#S(P?qYv80AG}LIrd764Cg>6lmP06OqnLe$nByK*8B@t{YJ=_PU5;nY zXUzGilxZb60zdA@u+J!blL(Gl4E9-ha+T$7T6WHGU>mc3STllmaIb)ikQYYIHBKvq zwJ!BXT9B{QfO=Se>4)l*mVEgg6h@TSBR1XHUfyVfOogZbxQB)#zf8+??O7x767b^G zuAx;)+=V8kG|t0|DK}LOFcw$`PdN!>^&=3%2;hnp!HX9Hrn_8^gFCPxJ(R!H?Yz?q^wh%MPI@)fTBV_R}gM)uj9bD86{EenpsnS|6%L+@V2w--rlmvmmLKiHzV$tMKb`3Z^rKM>*xY1n3kf zi>SeaTqC7&$Na^+ihx!`tQsyKwt=4{NxJ9b>mLW|>52gLNu9*JAC5k&?y_#a_`WDFD`eUV`8DAkrv8j@aR2l6F;tE+LI8|R6+_T2mY`biR)Mozp}cPb5+FbEmQ z98&`_i4ErJb^K9~jk;$!hm1O-DmsvvYfeWj&@px1v77Nn0W!dXt2(+JQ6ZmEJdEss z^oL9d$XwD9{f!WjQ5Pf5NFTV1Q55_!7d!f~4C-D>oM5;TyGMQkKwak+>E!Zx2vmJi zhj2N(K{=EkhU4obl6fUxiVmDI4IPkp&n;#h8D*`$BV3q1sA6z~33g(MC1Z>2rQ6qV z+`CM?e4^KXbjBTP?>Cye8Hm+X9@} zJ}0b8bjQ0BBMr*bRn!=Di$gNTVll;=j)G6xCyZuK-eP?}ii6IENlQjfIZfkOsCC1+ z?=(j>GjH-X`BeX~PPA2?kw1s0b>@XNs~4^3C<1BDw#(w)JoYqMk z8YUT(XUbuc=!8d1%QC>YY*eKsUIz!&7^&08o7DEiPNt;f{gF1|r5 z$3?iCZ$%R13^dq(+z{%Fl?=uXnZOZs9p}+^-u<9`=R1GWe(?S8x21*2_R336IS3su zfwRyvZ5O)Wu2>Ar(22M+U(sHgf@Q!@(hj~$O8W!ZdCPt$Wm{KUrs#t{OIx|GhF#qI z{#r(wjCa$AQ-p}Ky?Sclms`@PJczZ%DTAi^TpmwV1VlyE=W|-C&t+5me*hXvbgobV zWJ^i#eaqPcBwFv}o1b)oG-Ao> z&vI7}ROnbo7kY$G!>HX$K!NU3I$*96(#bO#1$a%v=9B9PP6U|07X*GrVd?B<01RYQ z?+Fhb)sOJQP#yDmkAIG04%VwblmXqN!a?d|9vu$IsA8qdoXHO+CG)AN6!PUySQQj{ z=btb~Te#~>c=9`d`FMP4phQapp!Ex+k z^reMGr9oyD$p^f`pZQmDl7H`X^~zaymD|>fR>Y7&S@&eChVV$wJ zQYH!+Lwc8vZL*c}GVAUi+`o%?8c%nobj(bqEbgVr&4VA|A1a?)QP#|>uuYr z019wDZWLTbUD1Bm_ziN(MJ=l|Uaa0ll_1NvmXo3@%o5m=a=YCpZV(mww2yX{MFUTOdG z_kXMX-tYcq;8u9A6BgL11M!!Qlq|xs{ZO>!8JgE??|P8bZ+@9$$HI{C&9w7lmKePK z_TRN{{pRm5E%0)?ckf=i%g5C_uIzBxr+W^Jj5>Cv4t$&v)cI3CAwP!)_%?vkae^CZ z9d!ERhd=z=_P_qCKWg9m?sr4a*Khtt`mxTB$;Y+=9|74+A$s>#2>sFz^XE0sv~tut zH3%U4DBmZ*pK6J3`GJ*0=nr!pD@$JD3oDMwR``MZjmDtKbI4iKMa-lAc`jVlj%ha% zb0@IXTc5x0rz!&0)0){1pE|nxpSt(r;@M%KsN8-XLKKkmCga4;BI{CcD-@HkgSNU- zU8KE}vT{ggGp~A3iR?sBeF&elju*2Lh#i6yIZvrWns8H^E~xB|E-RyptnP3;J~vdhcI`q}fs5xD*W_7&lKYn+mHV4hwWegtN*$E_y5EHgahX- zVhOz8-hJ=AHn+0E^wi~~b2+HHMyj+=q0EkB1vEy5RtA+T31@j3=h1ubw?F=W{-S;F z`){$4*KU@Gx~%u%CebS0f}6GE^sJxiv`jKq*T;i;F4E75tqIzE~SOu3K>PC%hjBp zx1)OU)1i7&vkT8fRvm?^oO9~k{z;eM#m_UvfE}P~qwsAzdHof`?^+9jR#{Ue z((#ph)=>v584TVABnElr-KEQOJ2<0Mszu%|!K?XscS%h6Wa{MzT|qQDwbZU(zu9hH z)097r2Q?ezFj~?pU!`cub@nJoW0=VkGoRl$fx#rZB1jr1v<^ zRE=hHw_;{$+?k4zUga+-Ur%n=j!QdQ0!U*U(iRE? zl@X)u4KkH-px?mGa{I|!!)~(q{I49?O!-3 znj?+%1}3cx6GYfsBC6jU8y+1zeps-Yx0VVM0oRj$(u>Z@Bbk_{JI+rj-@E+e)1Mb& zg&4R}cj%UOKO_*A8(r<-f1zjn7)qtMb@}9*UwWNoo;UHo!FqwxqN1`%uqN}8qE#pj zEv$b|*4g`j{xE1;YC#FD3xS6aQTOi5OYvw~_UF09D{MTp-oE>t{~HBtqW$N8_}{cw zUVpuPh$5hp>@q`@Uo8(>RJ2|=UDKEAo(bzj`F!VRZ?_+_h4DvsK5l>Y@88B!aMW(T z`bvBAi!Zg+oik!4?6*%IY~VP!OW&ENJ&TrOc@Z}2mi_?+)3(AU%+iT9FukdQlZb_IEqAVrZfA@#Lf+boeJd9J^cyyy8l zg!C65PgMkZTFD^l;`<`HqwFBz;Ms!U@8OEA>i2&jP67zlaf(5MKF=+0{2iiy{3LT4~}ykDW!AK zhtjzrJ24VL z2_N&cOn)l>Ax7_)+bcLQ&0~^YWMiB~O!=DiXYt0L<0BKCVDw|4omwGL@zqs;tb0}n zX!=gxDGFw!DUy+nbGH78h~Sv#9L3tYy5>&TQZTq$k|-|n;K^5?zbG~{g&+CKJiV5| zd0Rnoek2*`%$Gk?rv7=C`<7w82)Mn|UBcXch%d!B9`aXknq0^R zNT)oDQ9uQcx}FPa@}Pi_0}!N6eLdvbQKYRSFgqMHfR%#4_4;n!qdEGNX`Luzz?R@r z{!&KTG-UxJzY3bZT!9w_qL4>9tdZEa?xn!{v_C3Q1fJkv^X`3EC@#%lN=K!WlWhBq zW2ncWO9&}9J4u4e)C1usZdE#UeDg^A+sf3(QcGsi9$Zk9qzME(_hzE^k?$tc3=8ZA zxwE;_{;xm!->~eBwg2|N`ybmIufM@F;zckmbcEGp2up?53T4MGA&?Il?XM6=;=Om@ zX+QqiPumav;@=V5;1h5`Fe>5>%r1-&#gSb;*NH9ArdcX%9Dxm{f!49euuG>+C9=4$ z;-7vbU3TOvo^2B?2DYp7{9-q4pyj~#X;BddZ&tYBpTmT7l{oLc}ihu~TQmK4?Dg*QOX1*_!kUKBF zet8(M4W8iNt70+U|-+3bZ7D-*Loiiv>@KwQa(5T!2y#bHu|h^PO^tR4tWO98E3>Z&1g^u zy;?gxnUTF~@b%c9CLHk;pF~iEA!;R1amfb`C|s5%s(?O!RkZlw3~)*i^NefZHD$PQ zcj^ySB#%xZ3Nk9MbB67E3P=-s(6;@#@8;-knACPHpe)oIr5Kq`=1@(TmMEB|6)Pbm zw5v}%>Rw?~^Roh=m>}!a(c~Nn%4GE<&#rJ(GEAJWa)RSs?v;guC1Q-C9BCPhDl{Qo zD2Now0BW!zmz@P>>MLy>;J~+xNqS*<8E3h5luga%<&_@hFPy$@9le1m#5(di**L1> zo^*?k53o z2v2?b7OZ==gL#;+r*&6)?68yO)+wt3uoxLLp&T#8KPkbNkQ>0rm&GUO3k@b$?$y+V zeO|LTLKVTN1*agc5@SUHD!VOMNj|=B8BW_|IkNBtc{qI%E8viwJpawV{$H4?*lqvW zAN*HDmt^-y6lDElOt-bQM%yg6k3YWKe){&0*uwc;+6!gk(Dq@9aQ+tg;_OJ+XjgYcQ8w){_|O)C$R1-sxOIIAx5x1DS6obSxvy3rty%jJ(s4X1(&nhHq|_6DBt5udUt>kZd0o(3xYzR9suM8by!t z`6w_P!Ozbwwo90o=NH-Io=A3v(Vb__z2RLQ+0QbSG49emV9ru1@gjrZQzI&|Dhj|X zMf$4%h>-J&^Dr5QG#$DsqElWw|B_J!?}F_?wvK>P8*o{p6MxA+`S8Vmp7Ukf@G!4h zwn|jqE_85B?w;qm(uv>nZy)5p^7kTbD|0m4K5y!fypxHvhJb-NYueRWaA(gw90Bj4e>+W45533 z(zm(2)>c-CoJX`m!xbCsW@5|@cwB>SDbi72Z!4J!af5?=3KO}g>j(kGAxa&e30}Uv zG}R7Xzt*OPcia09H`*sIUBpUYTjr=t-F-aa|N9dDre^>h!**A`?vq+|Ir?Pa-S`UuhB;);@DX9 zu+Q}08g~9eqcIAiPfW^6{FNNlZaJsgB!mO537qw_u=C z9#a<6@iiEhs>AXghVC`kf=GL)q8-SxRQ$q0*p5 z!4B!V^Ak;wbUsIy()0lNUz!}vu4!rn#t@j8numd2XNNUR_Bbug%`f6*%{>J^bN5q> z_EiR4m+z)Xnd8@l>L`Qq{Rn69(bdlS>m`47Sa|R{$3=A4oiNVen<`{fFVE?cdtbn- zcHShvCl3qv5iH$(tQ;mbNsnjG!r(d_^;t&{ocGNFrpmFHWI)cQmKJP5&P8JG)N}JL z;JOFCA%hGMB;-Artd3*`jM>Gj-R+2X+1$pq8e#t0&{39~=z1_;+su3`I--O9PKW}( zn-OIy=twF699}Gi0O+WDcz<9L3FIr+1*St*XKb^j^fpV-bfj}WJDXVngQZ*Dyig}z z1g6lp=bWfOBUY>-`6hMf-n(Pa()Fd8HumZgaSyiHx$>Z`pa>kJsE+WiiU4dsdDfdn z7v`n#^61;^d@3jR@`&=g@~l+S0|Pfz2KI?&I5RrczVO;t*tzkQHcf!2EWxDiT2RE3 z3a*EyZcB^e>8RE0fM39@pP$Jo_t#)k9}|*?Jx4h6PdZ_-{^lFL-@`*DD!x8(iKj}A zemK`&exvPeZ?wPutMBvd>4$=Iap^k!kdQIC+a?1DH%jEo`RnVg)ZY?g|mw6Czy z)iz}E^*64zOZYtK*ps*gzv*cq-E>b z?`+7)r&*`D$d^*6{K$-jpRB?dyG(_tvgdwT1l&|jt4R7L&z}9!!RpUH;drVd;3gWS z)mDYgM`XM>o<9tPsR33x0>5egv=v`An!U)wdv=uW^2t3PnYNP4EKKUV5_!)wlb$CR zU$1+7cfG=n>AT|ySVz+`Fim`JN}_TgGg6ReSsZidf>#bq1-9id} zq<8-+WNX+d)e@rqJ1DBJ4hcOjON=FH@YN$kM(1I=Fk*_u?5m11>ti1Mk#jFaGDk6g({c^NGRKUp^3*Tx=lvAcOXgtph%>e>Ar$Wv#jTHeUWn)U6+hJMBm!V34wUGn2vD?vXB4kY3rAXt9Y z!ymz~*5Ec5z9;;9I3~IkuglF&PBeczLKjNk7pGMxg``K`^Qn@6qtcf7S)`(eMo3te zKAa;=2@Fh+w^jBxSb(<1fNxK9K)WeIK2wRqdDHrl{~iIcG|kU1T_astDxxHS z*dE8eK8WYPG%~=iOK0_M2p%XaLX|vK=!dZ847y}+6@MbS`>>Wn6>>-P0tUXdDmrL5 zZ%gi_uHs#sgH7q$atn0ZnfFj+q7Z?+QzBTRSER0{5l33Bh8&D=qZ9>NpX&@yQg*$c zX5yVLck&P(QH&CRpNyoSQX84sYqLrJEWd=Bk3WT#UkJ?86#;9;kv#gm>Q>$B&R_gI z2N_KU2jHV{@y%YiR5!~V^06#Bjh%^)LO2~m z2E>W;`8qSXG|qJ6boQ%PuM@iTCJsX%w@*I4_bFH`(sW@?JaMaAP4jx%&*7M7kfML~ zt#7nn`^K-tA+H?s3};GAd`1s48_mWBJkeu1!oFi5S@L6@>Fud=7>5i*#@#Vs>(P}j zGt4=!SR3c5#ZWg6_XbGfMt1~m&nY7eF8J+`9P_OY@?VL%yzOEpa%%u3^4ue=|#drpv#{IDGC8H_apI zDy@o;{b&H3T)Ta}ee*YdqkSDk;1W?IU4H6oPKgYt{2_$VW5H(?!%x~d^&z1nUPoxQ zp5k_pdS{Of8b$%{kybWuuBC~(S!EYrau7jU@y(${LHw5j$c?UU=_5%|aGA64s~qH@ zYMzQu9Rh8m+Dk(Cbb3Y^1I|4xWZ{JDu`&Uja@UTfEHTyM8-5qyVv($`+P-ClY5RvY7;g4)gx=~85vPnZECxR~`x z5qwmjpEH*L(P0%PVUEBmvyw>&S6A`Ell7Nt@xF&V%fp|X@>+6<0#OVjS)HenIq>fJ zDA18hL7XJ!W1kY?5m=N*-OaohupHBT^W#}w^ZLoTZR!jD`#vWo?{M$A%sC92U!Oa+B$~SuCcanYpR%!y&Vh$G=&ch{`2I)t+Pym;u@rQzO%NIG z=+O1!T7eirGW>E`)sb7%A{4BHq?6FOWSD?NnDm|UQHV=Vftj`{oLT9v*1pUU8g%pw zYzert;c_!f_xO*v3Ptm*c4B=>Qb*p=*F@-}07wT|VS-lbXnA~@btF z7$;$nsf}6ovRGu!W0SP5E%&c*LgHjmFh5ZQ&9B~ z7ry+J_QkLL3fuqQ0GFgm$G4aDVnyLP#z;V@@t@e=2@!TQG9|I6N+HQ9Dt z`F*>lQ}c93TmS?}Gyyg(HG8lWayTT}Z+cMlgP;6C9pMk4kSvGn2lqgb?B)o77k8># z^E~PI`>)J%3SglLDlFWK?weI-@7y`8T)A@P%9S(I4ST~nr&e0;RnDY=G!_rv!pSZc zhvKbE;x274X?R`h65MTgfla;ly5>ynNeHv!EAfoga!S}JvrIZ%aTT@-hzA+j_(lmK zj^~OjtZ@Iu>fG?zi|yg>e(`wt!5_WHv|TOOlTWPU?)0(zJs5a`P4(F2sg$Mi$i#Wu zSfgWrKjlpf7hIMS;phN)qhORf@`rUtG8-=ce3KfqqHKsKzX=PF6d$xgK@=C24DU6O zrYgs-L#R_Ng!QUTgTN$mC;FaM@ zSUQ!Xx#?+z%_1zqOtoI&&7v+A;u%MUoWT6&k4n}})&*D}8dKEEAxPE*Fr@0?I5r## z8u}#MlRh{6=zsWdxa&T98hB69bFaPI3r7y$JB7d@B-xV3fjdj=zhAKT(R%p`=?EMi z3Mz%HRo0c%Py#=5nw;k)zHv#fKr!FE6HbAwi}a{GwQNLCQQd9Nfgo(&*v58~UjP6= z07*naRCOaOI_4L8^#GaF;tMJ2%~@Y2B3fbVnQ&9i4Oh9~SJ zKRG|5p`ipg?B~?Ri@OEtoBV8Z%YIH&2Y~dihIXaFImK<~dal1PI|FLp~mhcfvYI#Je%M84r+ zl~m`j*VwMNxim98KfV|a2w*Zoo$w85;g~WEX#J$LX_1H-;=g^=x1Y2=p1^m^`h&TJ zS#DW;fB4=<9}V~4dPp7MEPfkIgQYAfEpZn=V0C&Kz;e_%jUoB4fisMEH0#(uzJ z$^{f9lpF4T5EZ$)8hh!+j|NvhkpOv_X3`}v#yH7OVO06Eq1VRSJ+hp($cDc zKzkcqQM4R#UIB1i7qIUP!9Isnv7=z*6dwGdd`jA&V-%Gws(aqzla2{=kp`mXS`_J) zKk299D1gL)PJU#~0}k<%65=9oM^g9#Y0HyfQD$8n8|4KAJVjCb1(PWva0e)Ij_~}L z*=fLhzanE^y18lZZnwN|R|KHZggQ54LHZlaant9G{hO!2xGX3W8MTJFZkD{28s^vE zY7}NKJWIq-%+{_Lt3#_$Ft&|e)vX3EuNwdetuRal46{@?p(sE+MCUv2z0GvMox%%Y z^A~^iLvFpB&z3wJe76-kZ$F1H%*X%@euSPli?0<UW)ZIfr9bX~*TsfKS_x73G0nfyDyJ5? zLJ&ujClBMAW?>kIxEX+ClSYG*ND5a4k?SjrEk0=k6SyMrj4_Dk$S1Enbq`ON0zedM zx=C9Ti@=Ku_y`_T`Kn%)jkj0w9?}!vWBcAAd&W<=DRF9lI_E~rGa}%^OY<&HUJxUK zDr%O+%(+9t03~gE!WlK75vqn%el1#>wD<*wo|%S^(A;x+@ zLJ3Ox(kUZgSkegKqrW{;%Pozjy;LGc$At#sKjjVt_;CrvW@Vn^bU6lNjXisNEEL#H znbRl`Cp?!#us0kmh9J=K4r1-08^0oZAAJ7%| z?3D34#NF3OmrHq_B-+~fmC9oQui z8d45KD8)h0RW498nE_Pto8EuJG4z-AB1?m7f~Ge$<@7`4O=ZzhJVy}iG&sd~LSyRr zBg;&QWQ~z=_;Y=O^Y>v`2qUfK6p7(TRVhJwb4LXEzh*>d?uxY?OiMcQ=-mf>TEWg! zx1Te|AK79)K~qK7dL>yso1l(xm&}cyp;4wA<(MWr%xgx_Gy7qlT(qMWtzbwL#e*UR0YR0T=Lfb>j0f;}xn)Ej)ou7btS@ciF2l?t#LA;vu_QdSrSb-Z;~pjOYZoCTFd zVp_;U_O~bFI1s0>z^ZggVBsjh_%uibt8cT@O<=Tmapyt4`d`PP!!%lvgK#OYq=0Jy zousMz7?rYwLPBn)g8r^!?xgsIGp=SC&uTF6HX$OZK~;Q&vZ8C7kAPo5N#w zemEp-gKW9*XU~q|SVv?nQ_D;IZLqw;So%k4koNq{T1!3YPeVYRf@z^d+s5KOw%YBm zrPLh+N8EmQ!uB*3nOUy!O`{1Q8+++!d|@|sXB0`$epzOesR@c1IJ?GVibnLxwI}?t z=7lo_9?}~;z2qcCrwv%pYR}W1Dq{*3kfc@C!n&7FOCql@27%6@0Zs0(zP!$foOf6c zvzD_1(nAkk;7(x(Prh_`dYZK-4t%&CLq#q!fV_s+$ZPeoQC_&L>Yx9!KjlE5&xY-- zr&%;>o-Y_FNFxqV%hYnn)R5X#7>u?%r#(NWI0yLIR7>uG1~KUObE~0 z!f!@dYYkQV49#I30bVav-=Ud)VTLAZ?01O>ktIbh_= za~3M|BK_?$U#$p`j}%>%!T4j$^xv+0{-ecK239@J@E%NV&9Onsv>tW~@ry-hlUssO zq7byoxng2BH1Sl4tsM0grwXWxMkonV&T*@Um2aAPOjnUBYt{U%V2ayohbB{*0-_om zf+=#WP~wwD0jNpIL@*I{TF98;5LJ0M?^I0hEtec^Ouxyr%7G1n03-aV*rsS&Ws-Uj zu#!ihB=O3lv1~+4tDbnqzsHY9*D=aVM2KK8tqGn-#i?}4ZYsjAytF`xlSc$`N-bzs zsL-l13mv4aAsW0SSYOWkj6D*SM+-l>kOn8*!b_ADqP0aKZ1Mpt(iTf8=g%Q+w+p(` zUBzIQGS4k+v{cjdvYfZIw{34MI|*n_T-0bereTJjF1{-MExh|PX!gvcJn->bkKp6U zfAeXC_c*?Gm*b6h*O^N4WIF$R>(D@#(p;+Y6{f`KwUQx4#vH+%-p zoVY(su`^|jH7;*C{5yR-Y%wZwOz$sy-hrfIZ9Xi8N~chhFI4YLK++-_bkX-&!XEB(DWS&&%FtRcb(4v_-7vu|L^~^ zHvHtL9}iO-4_Ifj!jZ*XjwQb01Wa+~Kc+_DTw%{vUGU15S`;GyR~dASXxI}yu}GH> z|A3TdfflaxW)uMBC2M$qL$NCqk~zyF+zX=~Z?WFvkaS5;R*xJ|(E?cTlLu+gGfH7< z7M2Ehrkzny!dh2zMRxcYcr^C$qXVMC<3dI#7dO+e0}>?zLQY9c;Em~Fj?fz2$e7WM zYiYqhd=pDP7@;CR*+OXKZ=tzW5r9Uw8i~{Ah^x?V4fe+I8>E127Y*8)(@ZL%h1jKt z<(7s_2l?E}DmT|x9DO8WeBveS2npQf`v^}R{pL@r#xN0d^%0*jPL*VXEs_C5oN7>9 zs}MLH9V&VRDy|VLdfFx7D@Z5~Q(1e%mjL=A01N|W{Khz8*92xNZwaSyMW0wIUZpCS zW(uZA7Kx4TPmKKQ?xZ0q7~O($Y`Wml;>4E#mPdxDdl=mk7ns(+M5%O4Pb1tfKI2fX z=6muPSk>SeLmvS)yPqu)AtxS>MjpbobgR&Dub#BRGN-!H({kaaXV2T9q<07K2yW9r zS)1|R02&hddo3y6v;bG6D?W~1WH`4lEyC#g0uXZ51%x|=kVb%e0GLXFu%DnJY46n zBou+!MNYrlI~tyC?GH?d&}egVCfs#OV;6YD@66-3Nm|b4snU}-n;U-T41=$5p*0-=ab&zG4Z8}eyi;d`s3f9jxMt+=B#Ncw=NS_j6*NC4;g52Y4&fs3y>#6H z4prW!AZ_807GL@}{6FRP1*WHRzX&iaw;W53v*j{T46uotJ1l~+=~epfs&I?4`!K3b z3e)t!lk)ef?1_8fk^tX=$L)&17;!Rce%dduRym6VPGXsk!^=eyvc`o|bo>5jF*K5_HS}RHF_YH!G=u)S|7RR(LB)P72dcbU`GQ z40~`){6a&akwCl)u64f}4Phi%TU^5tFW;@fGH21~t;v{xC4gx(w$-%&VnCh0{ZD9w zT)-9gG!6)^q|?I@B~nPd${4l}H%|cLN|cyh4vl6L4}8Tn1<~;1TR~b;iID$#3rm=S z$qzbq(`jQ_n_N+}p!m$sd}FUzlg2j}G^KGeZ39$;BcKRvoNV;RMmqE9&&GY0241*;m%9ZtC6UdCkPlCCM6$Y(Bo5= z`Iw=xx2QXAEd(^;3=l^gP_57eNRx)!_~2l&seZ)gvx-PZ{41|E(v`AX6Eh7(3N_jx z-BY?M=(1H3R$ht)Hf?27~yK zE|2ahlhe@p`Mc$7dE;lrixoTdOpUn?jKQ&2lEy1mZ;j2UsVdPF3bE!9kN$WEvox6H0NJ zT#ykdn+A-u)x|Up=PH2OC+R0*d73^+`qN}bM}t4XM4!o5HTFqq9IxUMvHo!<4QMJ2 zVj4_os7t5K*qO{+Ldbr8dfd&s4U?d-inZ0e(@j1xoV2$m<@xt62KA)Ib*`b^;q3V{ z=6s`+@;0=2&mlFg(8jI;aK*6oEC&tQ@KiZg16ZrcnVlM8DR+4$L&RhHBzG(r zJRF`p`Ry=A5BA>bI%f)aX9V{^*t144NFzt&G%g{~xO775UM50wbjmWm0zYT&_s*x; z{z@;9i>d5QKfJ#-EHMS)mB1eHyZp1q!!Nh@hdmS$*9#cW9;}Ljz{OW|gD z8bfI7#tQWGtc+EZ0k7-!VkM237^c-yiQjT=UVtx*giCOc_pKwYlqa^l&l$4L8W=uP zCiKiNS?8c}Bp`IA5w_e-O9zz&x77*5dZ=g0sFh73%N^270LB!VLZZCeS9k$;u}_(k zkM!7$W?Gp-WTy%6NR5!S%Sc@1n~XBy9>qf}*uIxWowz0)Fs7TZe5nkebsE=j)@W&| zf>5Es#dwBsb*LFP8W}K-ALiv!=CfW9-_kIN+MX=^buS-1glv4*2}tje-Z~noEPlM! z=2k^On)L?XtW>ruAE8yOH(g)rJpQ9a&dQkz+DnMSsq(6_u`*Rfr3|gimg_i%oO-hi z3zBY@u|k0=b%S=r@Nuvbw%Ee864(f2B`yL_NY<4!_(8}p{1hZ;`>B&c0Q@)wgo>$_ zaKMj>nhRER0=C9VEjS_C8kI5sL^Eu9H%2t>_<`V^;Glt*+Qev=UF~TG+@@!t~6~ z7zBRtlEskw&#_%{HSq%$^DVIDm9zUVXSiB>Vc7iDT zlf+f#RbHjInX)56ly8Tj6Jd=Q#o6Ja%)LW%wh*3j%<}d1X5gxbSYE{~rcw2xaIZW7 zxa1EY;}7js9HLC59)XXFn2_QT!P_@5P@iyv4se3B5B*yn zRP==F*#&jp0cjWp|6b-md#%l_ia<)B9$!S>f*!kA{BO*wrGUcI=2}r!j29UK2kK&l zb&-n=kkzM@+^R_8ZJab{e)tvc7ETXC^$RCk`4zmBIlo@=ekUcuD@^QB_7%KcfLR%; zMp!v2rghAU0x)e_Fa~Td5Jen;j@r44imd2-+n`ja1dp8rx~t!zhUu7aIV48H3cfiD zH^;G3`PJfcunl?0&>xjL=|VO0#Ve4_uRV$MXh-;2fHWBV}j)6RHq4OU9~reqd{_qHjT|C*i<3L(@bI`g)l8mWHp2-W(e2v4F#3 zTJL#sz{Kv)*xv@tx~ zO`AXI6ZrZ$22VLIax&(|JMXdDerI^f8iecLY!7ce+#l|67XHHr+*`pF)bGBtK78j9 z7gw>>?Qehie0a8hH0-l`!ittfb~Z*N?#PIvTgeG&z#?gIZTOeq9a?eDL*P&(@h0pX zQw`#aHM|%8wh;||3hzrsTG%w1X%5%J+fdt>nMyiw*v-!RI{2{@L1V)%{NP4|Z|KXM zSvWKZhTAIpw#LQ5v_$$3fgE@6m>^# zZt$A8Bx~jc+9eitX{CWuf#F&J7e0G*xNupC>3;H!FSUoJnnqnB{=^YaVA zChk2XA*dKFDwQb1kM#CU!-n9?M!{w>X&m#`u27h8XJYZNf~VJL9882xi({A)LRiZC z3#eKpt@Ikb(;>?j?rDq^Y6wMoI%ll>KBvK``8}`HrIO>W5)cia3hydoAq7`ZwXvU7 z2+)e-Dx?*CMYG@(+{Kl=b{d%XmM2k`R_6DH69M$$ z@dZcWmPjh0XCM@_ME+7hqhl(3a%MsWmS?amEiLhrTq2Zww82psSYSKd8r#$EaSG(- z#@%6`EqrcD6R$3KqflBF(w*P+1q~c{iodF!(@A2dTmIswOQo7oAJfKEtg`nUMd855 zechLwTzAH5_-jt8yKILTS3zv!4c zKk?Fz3EfE5H(tI&$mV~|Vm-Ml&gq5QyEYyQ51Gg@#vIx-wdhHILdGk9yPbe1|n=7?f{!GM+)L2QefV;oR9`9F|JaBBfH+V-iU|3f~9~ zBb-3i&IjT3iSIawad5O!lRuFNK7_}oLTe#R;fY1Rcp8^{#0k5O<(*0`y`l(EX+0pv z8|+SwPMPCF89+I3b+DD)ZAD(}0;Hgy9zTtsBLMC-&&p#)0#pL#IJm?ubq>3Fkc)el zYotI0fjGfaDGJWP(L89(51H$3?QO6!WvgiBuL6W(4OXYf1UC4l3=AOl6QIT`VVzWa zBI7U?Q^M$C^nA61u-B-E%Ft9!gIuG>xyd!o&z^nGk-SHN7sUqJb)Jwn-P#G44j00w zr*0ZR3th8n9e>Nwu$EV_whR^04gE2)!OE}l5YG#alD?q)uBi{{&C=_1+Q4)JfcFKz zX?dx&X67{rkeVhW<1IW#pu8OG{yT3CKN$XE*kTG~>S}l32mu;YPLSiQ{W;d)vGsrW z;Je4Ho46eAZ!QiGp4=Ti-#;IA*%QCd!Aoc0V}pE(a&k&zYOZatv$s75Xt6Mn(-B{? z1#;)*7F!56bDE*2bK2XUVRXU6c0^e;ZJ5NlKBXUY4c(-Hbc60@hBVzK=gRw;84nfm zwmszOCj)JT90y=SE# z9M%!FhYaZ+9URq_wyZvPPq1mISk($D)oF5t} zmG6m?XsU9BbW^Ct5XSF-#7S4EVD!-3G1n9cG&k=V)}}}75cyq>i(X}a`aZ++##30z zmp5?{a(bEahL_I+U4PWPq6seIS-9dA9CW}#KLIy;S#;3dfcz*c_p2wI-@&B9gw9yy z9Rd*vK;Rf~JwamJNCiMfv%Jq%b#QP@!e!^RY{BFD+W%;Hd7! z6?kz(T_Uit$Y3X@JdnkK(4=@?-bWc$sUmbnvj{Id=i2*4T%CUn6W+lhIrD8AH|$nE zx9iz)xt`+w4@U(UJ+tgGH&6IwrbOPlyPoL`i%(@;V8T|36Q_K8pMn<4QvC808)cdx z!L`N9!e>6bHB(1Daj>v*PAh@Wb}Lw~`lPDvx-iMxu)Y}OeFzom)tQ;_C8fc1T+^}0jjTz)q*}9ioG~sBly5A^E z1$2|PRHIbl#_k5hRK-rk;33!&M<%RaiG_qSY(f~OOhYGWXxHDxVA_HoufnEcX3mau zte}@XsEhG8ee-DrOl>-`A#pjGO>i75dh8=Fu^U|6fR(>Ds z9U!Rd5*#R+{P#4HCh!#!Q2-Dm5$N_d934PNd)4tgjfEoviwNB%8jlg*BW_mn8rXA= zkj*Fpih=70vW-sa2wcN!+>1}SHVR@7g{mNn1_akN6gQr(E#p1^_KtKEdUwN`@5C@^ z|9bi@9rK)W&v(HvB&Ahl3_$mmd)4$Ri{{QZR))9f#Xey;dv}jh{ur9K*AJ=SO;hit z<-?+&FndE};|%#?ijP~Gyn6OjRVU}L}oagk@=viLr z>B2w$_1xTqQG(pWiXO2TlEg*JsU8pcnSSrx;eyL?<_@33kG0LrdE)8O3JuySR~ECt zkoN6hac6jb`P*UtnrnFBk6G^8@R-_BzjMQ>B=B-r+tUeE5>?_NnDHFH}2YF<fxj1t(=VrE+- zuIzKvEj2-Y=Rai*jk>9F2RGx2j|MrALxi-GZWJu7Ae$+f#xFRayQ8Qi57Nd6J{T=v zY9I_6kOn9jWfFy@VP7-z4yC%+bprV+J1-aKCs1uP9koI*2#lP~K;Q(99> zRiO!Zv&an7in2s>dDjA-mKnpVAjFt}-|ffCc!52(r<&)>v=lbkuN@frm6tmQ(hvYE zvZ7Z|VaJ#w^F%d{AhL4Nc$l#uz)SdQ2Qf(uFRMLf45#@5-=4@BOOj7H2KR(}(w)=Z zWhi!!>ug_cGp~!AJ)j&=B5=~}^i)99kYa0COajl$UE-(kIYc;TN&vyT$e}GuY-Mx7 znFqwUDtvx{#tOlHbuHqI)gg+yY(ZAA6iGT7{`R_EST=494GBV*5ROVP~FQ;*F z>DG+_h*D(XV{FGgk@HCCZnIoXPXVo)xcD?Z>7meGM5)mWKOmtJ|W%Jij^^ zE?I$YPb;!HI9J?25v(a8nB_H<0Gm}uyvxUOuhbH-xmUh=UMnZkUCy{gV;$)6+DD&_NQ(OY-OQr%#8S z7h6m_Ihr&#Y;E1)%z~rgop;{l9)bt()DnTgv1P>45J2v9kmgkUjG*CPjo&c5`}V`( zhkyLR@Qa`S?Xb@UM;mJ!w1ub1qf-#(*RU5TE4cuQ7SHTE+LZ;zG`zY?iy3~Vt$z`$ zXq2f28(Uz>ANqy72E&A(cvqQ$Cv|POW~T}C^y~+xJWeUc0~Snrm&LMYAM`Yg=P!xM zftI?8he6~OMhtM_g(=@!{D(dN;3N;|6>^b3^8v2nm7iXOA(Iuzw7M0#s`Sk`Dg)js zAT2TCiWy%37rY79J0Gv+@!x>JAFK#u{wUe|Z%FOckmVn5suY2|E6;l3e}nYcMjaa*4HxEDDk#YSXv1Ho32fX0BS5NFb@&e1 zS(z0YsX7L1Y4|Njf2JE}?3FJde4(dlm=@8*yHzOxZPH7j@?N+w@Khz>Afo_#H2yo> zf4;lJ$#i@B%YIxgip{79g9L~xGdb3p=6PVii3y-4+T<$8JOA2)=%8| z>|OX3{Y#K(*HqYoBOrThq5xMF{1gi11|ka(=9*#J4Tf|#Q3y6!KzP8t z?5E^2hr1A8;aiX=JRu;3Y0a4HF1^J$HonCvnQ3qF;Wv3z{`@8Zx2CPIaB+hRdzM(Q zus~xu;~EVFxF&P9q$dZOZps$BAXBPoyzpyj;9Pu=w{d8+D68pt;9{>h%n#78U(K&^ z3gI$$EgW&;;KA^W(WOHgGxM|Hg*U;07%By=;c+g1n5tUFy5otvMJ=3+2yhsX>oAPx+JPuJgtwFei*&SSl*YLE!XZY& z>WhH}8GQiGCDU-%#Jfb{nL#<`YdB!~N@)3L;<_7Ios zh%kfWoL2a9`evVv)HiYYeF%JoBJd?h?K1*ICe}ctUbf}%=K0N206{Hd!^p*$Rsd=> zMI>vdk~E|&wJ@@eUY>?(VY|PujOSlW!t%f^R-+rq_t>SrS_<(iFDsc*jf+Lt`ZnGX zN^dACJzWe@NOpcpK8!=tq4E)bzoUfk?$N{xcSC4g@$XQlx6?TtaJauW?CtC@60kEo zd-8PHVq4fgiovM@*m%;C*kcH|NzdvP1|kv#T9ZzvL1AM#R9Uz$IZDAU$MCZ9+*=k; zNO#Rs_~@;!(@-rjLNKz&N=lf>f0SRct57or;lxX_2+((Y ziX>?;b@5+gct31NDo)TynxVJ(5l%u0478F>>Ya65-yXD5yh z)I4_15}?6TNjyY(J$wFa*xTP9wozISxLoNyrYSb=-9gc0%7SvTaW#M87f|&gq);9O z!t|C<&>o=(tgJs6UTm|V6VM(TY}z$y5KajkcVI|`f@i~8%DO6pip3>$$#TlB7?M`* zh_?;4%1-ZPe}RzFQQ9&RsHq(_UVh|`9T(`Ha6bh*KX#6XQx;k}ZQ?o|nL+q2&cu>3 zGJc?#8N^Dejaq-uY-npU)0oo=8GU7fgM^8KhHrh=3)51~zFaXv)21-@uKC_7YqfevD8(B8?Lo#{+(@uvaPB zU`~69DT6Ye0dH>+A)5FlkSxwxB-t_+q{wwkqsL9^IE$_ErHiKLA-U*r%O_96#*Z)K zCpl;}g$by)f#20_^k4!x>WrHdseTXT#?lWb`?T<&H|g z{4722_3S)J1J7;&8_Mt*gU5Jv9Kp`^<2O|vTN=44w9bLn6mop#Ue&@Txr@!6F z7B?5Qx<(*3??DTxWZr$GzCxI^fpNo;2GlD1I{uyE6O6x18F6@P;94rHPN7+Rb?1U$*`3$XuQ_e}i3zxzh zLB?LakuYI0_)(xL7?F>u@HmvRQ5SGo_i$mjUu8#LEV{}U zc}nA}VUX`{?9meaL(;xg5$G~H`4L+GO)TG7p57$%4^yBQcH_NbywsXvM7dFB^*6ab zSBG-5hE?!V5^xR!*Q2GK;5-PZf7ro?6{ZEz)rxIG>Gd`D49jXao&0Gntn&=)3S3)y zT0>DmjF>+wruDBc>}fH8RgFm+uLf6v?_9qjI7to`*~U9PIA#TufxJ{MDQe~j7g>~rnoYmkpVos?>;A%2Qko6wI^}#;+J&M8oh%LxzK11S|TR8^7}` zJFwDND%j)aLjh-8!nd%x>Ryd4jV^Wt$q4^>(i+j*Ji(q`FL8|*cr6c!9+yx{suylz z0WAwN|MU~!hYZ5YUP50)EE96es1 zi~<<`l=m5U=jdOj^FT(tY6_w8vh*U0;^`terw`?waf zGNjMjUbf1O>m{`JhB|Qs$DdpKAq2yS3#?MCFU#UcVQ)X6&+~9~6YNw1! zsZbHuQJf1liN-DrcVzgVX`Lu)>>_~a178H1(R$;vJHLW=a&ZHze;9>Z6#=!Q4AXrn zuArew4E*uNyap7oCl~(h1(I^9!m+W601rD;o&D5{Un|CO4oXy)YY9l;@~KOKF5#dX zT!4ECo&r#@4QyEDcO_796fhMhkt=<}+EVGn&zI3UZoRR}cYqc?3Bq?82|g46hK&*u z2&9I;Jr_?4JY^){h;3ZE96`JF{5him+*F4$aDw2@P$yvneoT|fix_uYBt&uol06;c zh`&Rt3Tp+UzvL-+5krBD06b!w;sLj+9k5g3k~vW#4XezLinr4U*Vjw*s98+LzVZlL z;&tI0!bo)S5;85y0J>ba}Hg+9gyx_{6!~GfTpRZ@IWXZrqvoo!xA_@ z!?wWV1}Y3zP>99ccdf*i5aW@6Mkw@kEbz7U^+p?khsK6Bm#;Z+JkSAx0QV`{F}|1cnOBc{nn6d_bj zzvwIUZ&;IWIyDgZP3-8oK8Xw+6=w5c#P@##liEyd~hLa@$XzB>)LbB+<;pCrQMRgaB>? zq3IYe31f-0sh5IA=Tt%54PSArpwhvS08S31v3C@}g@M~B0Xs|w9HJEDmN12t@ha8! z=F4=Fc3~Xv_6Y7I>{|uE?Ns)-?17n{r>~_kQJ9E4`E``zlvD3cm=ZW)^|xiDpgN^j zs35DJpvhLRum(FTZK-WOHR9USF9&I(O=yP1CP95TOle((7c^gvtH3my3V#qvIaqu) zM1m+!Y185-ArcdZ=0*XLkMEY+^zIuj<{=F%p`?kuco(Ifo*fULKmIMF0$lVA zn%*Zc&-Oy|80`!`unfF%c#7Q#Jcj!$rrf;ial=gQu&~%9syAPwBqEYzr48|muLwi} z(ke6nM|b^rO|k0`WwP9!jGLaLqq(#dqxvH0g_RiIh28g#Z^X0m~y~v#Horq zEV%rezy9U$*1h|~eYU1bmrF)JE`T9B3#r2_proZ=(pC0>JmIVc@@C0IGelEIP-$ZM z&*Yk683LIZ*d518!?4~z;wXb7k@99KiqcJ5Cxo-&opsK#VJu2VVmy>QzTd`#>5ehkt}#D8P;ZXISq{4lMv|< z{9X7f$cm~(h|oG{0yAh)S4ppgWY7c#X?DV;3>z-Si!YBD+;t!gL?xz))9^rf>1z7< zx5uXg;cc)pFKXj9?e(_cPoq3f56TgNQ|NQR-1iat>aIABPrkCJDQ;tdDJ)FnDDT38 z6bP1Fw|QyPv{ce4#?Axdc05;+XY_|@mkSg>d&5_pEGN+P>`GK4@9lXO9u`k}{J_X% zNWLl4#g3Zruw_A}Q*Yo+X~2WxC46WFRx*|bcm6R|Kg8R04>}rz zPw;|<4ja|~IIOXVmiR)uWK_fBpl9YdcO#=<%bYRAqR)j(&QRDHe)aQb!`6=&J^PRa zsnE=N7IvnrHR2(hDC6WbAJ9}cKT>9tf!}G%EDKKzQ>cn+Jpp1urEAh+v4l% z&#?aZYJ$bO)c|54MBrCgE2}+ZD|Gzwq|Wi3AwK*SY{7%~belu;TLI>jfCmTJ19$j# zZ)Y#(2Dl&Fty;!4?NWLQxK84l7Y_x9m0kJ@Qv_{HA~a3k-W;$pC4j%{5fTo2;t7!d zo^K+c6ySuvJ!s*&vVETY(l!(`?8)yd-REdbjTwwWlFDoFCZ5Hi+)5r2DoGJT`j8^& zsFx)-$&f9Cp!hrS&6EHB0Da5#hFqWNvXT~QVXFfUGCY&Hp|^C_1a6QQ7SI4t$(m4nD@+oWenqc@F)R)7jJpuX^A(NX(H`ec@H=D6 zpn1_fY)u3kkSzSnp+l8U78`;}?xHX(@M1_$KC3dQ1}uD!LX|TI$gx{Y4X+|n@#{dL z99s<-&&Am0Jd71~O5`#q7NI&iPz@QWNI0@XEN)I*9q!zDh~EPAA+q!9Y3!^l`fa0 zKOs{lj=~TIBYtJT%jkTnB*yS6+FANle)3?HizqqDn+k8*QMdsj3ISG7zID%A6@lbb zI{c1-aINA(iea;`zFn7)gXb;!?Zks;9z z${@{`*9}`De+K z=yC2|cGm{5V&Cn8P7NG#E8Qvc^R!J>=}pi7dTHgSFoYh`l!iXNh78{pjdkzJfIWW~ z8Y(~{Amay404$-Z(je59`^wgE1zuB(3b;PO2E@|`&8&j7D+1bc_qlQWNdXbZL|oyP zIn7R_@*->kS9vCuG$U@qBW2yfmY`SY5shCzn;{?sL%51ZSv0s=%!xfRfJoOgPFD!= zDYiq-u5Pf9j>~dblsUtW@MV;NOTwI@ELnah_Ubq==28uXveYekA*m!cepES|wIti~ zCQ3T+6W{DqpaEKNsN6l=Y(cwXp81lwYe$0|eX+rrtne1^O3S3uAn{Hjre%JM*k(L= zPrh|enNr@2Zk)OUWP1z#Vud@a`m5ou(V0>jX&^~ITUI?B2gMg4|fMdkR2vn+7G zfEUe9lo_OO%DfQE$Vv|SA*1qpjeXlq^=f*|yH=0`lriuh>O~BEqfKO2bo;-Uo z+-Ff^cvNEDFn*=Hg0v9HD`l=ReD%^zi$4mN?8Nvjtt~gpEB?0ZB;MmYQkb$d|0rUH z0whl#JQKX?da9s^D?8$!r?%I^1m~}T$?b}Ou>;{orkYy`hpz$oO^|Pf0x}^L&xWFg z_GE2LIJ6oLt?I}r%`k044ZCisP&(;Xk$Lgwr;Kl)yi7xDrJ-{{&>txAB;c1Tt-{5y z`Wva6IO`xh-!57z*d|o5%BPwQtD{1^k`SD6dwNmWsqu~oxERnyg2&muhY~>VB?6D| zR`N8g1t2NYpJ!MfX#vc!5CE19eeEnzInWbKpm!87lz}J#z)?xiFMk9JYNCh1IS%H; z`Q>A9lSF&F?7M%tPKTP+-}Bs0fDp9jr_{-iFg?SfL2?;b>8-@E=q*i!Z^I^DofgIj zwQ%p-I1|lp(P>E8a}$>$1=u5)s{{&Z{i+vNd22~0&GgYcGMSV7<~LcecK3iea}X8G{RFTA0lX;8c6JX<7QJ4p>D?XHJci~LoXhoR}m!snff`VL1$gZ5&QX% zPY&T0(y+G<44VKi(s2me3#@u$e*`VO)GCSq3V}D%xof~M-dpdr%^vdOZI+pfZYbH% zx(=YP6>vnseg7&1PQQq$G|-s#1!*51a6%>vVx4A^pBC6jAPwYG31K!ppWv;B_l9@g zzBl~%ZyuY2j7WK?PskvBLzAMNjwuW4uk_%T20lEZ@(M3mXFO;~e{ch$$r90WEqIeQ zLl2B$F;Y%N0@@5<}ShW8@X4vVd{Hdj>^EjMEVyf+b-3;i>opjlk{@ z0_GJzDlcCTiQ5%{8}rKO za&7*s8JO~?RO3~ZIOUCxl|S{1poXp(6>AJvd4R`c*sXx-U*RXQjM-C+FTkr3TD`!k zfZnK>Vp`dY(8XQ~is5l5zWy~jLe)ojoUv8QIb5d$93Aj10f&nfBWdUrl0-JHLPI6W zhN3G0_72jsZ@r>|O?rfp7KV!;Fn)`tdo>~jmuJH29=k8xTseJo==QFiVR`u_f*U1Z zaVZ!0c%FP0`U0_h94XsL(vAUt_(#mo22Qouj3gSAC3ME`icoLI_m`!X0nHc8oaq$j4xeXeg^Jj?a(?jB14eO?iAfC4o1DPBl zD~8gQw|E6d(y>tuAMo(cf9F%QE9`sk+gssA^pF=xe`#@!<7k;;p|PByQJM0lJolPo z(m;rN5~%!Ffm9B)SH2Rwc#5=w1C4`tX9@_o=ZrR-p#aEJZvRuEL!Aka$SW=ywb4=u zIAn*&3H)~m@5y)aj!LN07H%U|pS0l`(QEf4KJRX@;g=990ltHKd+XHmZoJTjXOvLj z+U6ahXzgroXOw9H4QyfIPUtG!>L3Vqim8DOb`IPfeliX2R0kD{)G2VZfh9=Q2kFJEff~SAtCXqZD&~*o^js{U4-raG?(cLTSn+aPz?3$h_3PW#c&d;+FTxWw0RB4jF zBRGzdk??Q~FC8+n=lYM}K^*NCn3N|FZ)}zWd616@f{}jpGT*@%hV3P7n5xT^vxLJ> zW#9NcZ{)D1*375%!gPozH2)(P#21$i*Od8~{NnJMJG*9;h;8i*S;7+540Kt9u8I1GFPpWv2Y zRVGH!7+!@!92Je42=%ZliiZFIKmbWZK~&h_5CWL1lwtGt+hR#>jlxHoA{I7Yb1LF& z!)56qCBslXt@ALwNRRI2(_sN+U~&FpSYi6(@N{8VRT&qb@eGt|15w z#T`Pp70==ed|#HmdBr_hZp3msn!QzzrB(?zVffu?feRM8o#U>b3WvOusQ`M_-Y$4R zPu6=YPRZj5aaH;(n?7=s-ah!dFtn}+t~vkQ{%79RvOuMDJIku-m&he84^i^ZJj9DI zd^jSaLh1;F7Y!{y6Hgv=Iw89V2&_VJ@9rJ$E#SCeaPS}>l@Q~{kQdVy-%M3Nmf&sa ziyM965DD7Y4BKONJkv_UfG?F)u-eAwzTF zM_>a?a;ucG%QeRG(J$L#v0EO1C%pzoSiw{B^QST)%!IMNX=%U;VaK(umekDka(<2!^ zpm>;eB38OB$PJ8o$QFUmW>Sd=UzHWd;1>r!DtzD>Lie6lHQowjPbhQSpo+i&4XpfP<4Zn2$ig~Mj(vyZ}N!{OX4DFf}><`T0-NisFBYi z1@Yo;{AP3!uf2oaVQ!1zZ5uZ3y!ZNIl>o2#bp`kpf(Oxa!;Gnu#A@Cg?||mf=;K?b zkO*5(+1O=oaJolDY)|5jacy*N;Q}cN4#2@Ji`FE-Ipyf0R=Po&IkiB$iTwIK~2#{F>x=F+c6j-KHqXlNpCYQHDp1fbdODdEn#|Kda zPU+oyJ+KE=jTHgP-$vt{p8hF4*h~vJ5(WR&WkSF*AN)xgcAG`%69>1TsnpbbHNI(d zL`*!z0c^x0d@ABLo|T?OBZ<=JX~)4e12%?d@YM6?i!2^wVc>mIW;a0^LP5X`YutHp zkF9w#(8yEzgrhI=4gR8EzY70uyG)KWL{5LT1eW5&dKV7aMOsf(F*` zi?~u2x#UdRWl#wEnm5zKUn9+WMB|fGGev7*_Y)-LZ=;!K!>J?)MLgt3tH0BQnIcIz z#|*GkrR#vd74O>>0duNp#H)`t&)1a#(Qc^(#k4SIFE@Bn1y;U{=88Slf^REFT67&W znMcziD^uCL~2bhGhuNHq;cT1Wj$z$CgAs+@wD!ljI1OqU-4 zj6Z33#j1?qjZd)TEj6N*X`j{2nP6>GMNzL&S!jVOVsRG=FKk5^9JwhNbjx#f|@MYlL@ke)`T<7>YzQ*+O&)9vI%|rFgTLlup6LJ^o_Q9f&GN0pzoa|oFg#<^ zEMDa3W`1*Av@>l(M7qXbaD=7vIDn1Hld`BeU-K7Uauor2Q=vSCht3>Lazub~^19=U z3aM0@S7||Gno}d4j$$2(Tk4`r!X2r5H2A_zqrt;u&6z{;84*a!12+X9%S8SxK1o_A zB&KC~+l!W$H5N?~RT^wGF0a*waBeKDFih9NYM+ZmbWp?=ByYCP0zw>bT_-B6y zPdK`@3~g8(YhVyge64_yMpulkc>aUlwf&SE2zO86>FMF#ch-i@%@ycEJl1@uaAaS< zieD0!4(8j@1L2v3b%Zj--me}{IpOa+BUvhA`V(7zs;L&~-s(;o|7y^Mm12e`R48(H z32Eyled;NVu(>5jLt3wuxrt9h@izQ!RRk0!W%_&a)hnl&e`8)T1uULaFnVDKh%h~D z*&7A1Qvg|3af7jC{&Gw;!#V_uw_@YY)(C!Vpf?8pGi~?}XFzyMxQ5Ozo zzp#xvzoL^peispeSAi%6!IqU;UcE5FDhS2ZpNL7z7N=u5!50?-McA2Z!}VMf-*OOG z+<6O6yNek2IZe%m&Z&W{5unj>Sa+890(tb_0tKxlqp37v6W!1{9;TOqDSQDRqk!~R z@tR|N$RmL~#3l`a(fLVM@$*-Pbn{^VECFnWuc=$x8+(f^3Oiy{v#dA2{SJ>41JVG82Wd*2z>xRr3YN6~Q)LBWek0ndoHd9cWRtH5~vzm2Vz z0HI7e8o+deI{?mEh*-zj${#Hb@jXG&;ds{soG_>D=)fg>mSP|e;T;l7liFx!kGngJaNt7r)ALA%aCf5R%Hg<~xi1dAi$j~>9a+AoLIXRBPt%z-_e zC^*Z(J%(|;f@Sp9!w18k{OO+#|K-2@U&GeZ&sm_i8hjlEvp7Y%@YUMuwmh4Z>WTX- zI}R?;E?%%m@f_Gc_~^UC4}Sj9@V7ttduYdf8Y_jP8I)xL0odsum|ya84v+X7u?2O+ zs?X~a>*dt&_S<(kF>y2aq<;6bi6<>mM~UyvgsO5*YlZn_K$R=YHtS1Fhfm7Mg|I3J znXU*t=%>uH_@$(AwZUJ?N&X2h*2)?^;BD7}P@eK+DTN$PWIXbxGGRVLOkS^@sqEc~ z*6oS_8IIsEN|pVsk>5DJ4iunbz{y^~qOj7)pkYYu;qnq*aYF1~d7B}8i*@P9CWB6DSO#deEfKT?4 zY$|6GhX&+7G(a$&Ba}~BwB?*_geO4K+f#5TM6ApR{9u|Stkk5e02hCSjqbclK$kFV z*v0K;o<&!b{E2SGYh_?Tv|qiF;e;b74H$>+(Cf5iT6$(Ld7hpu3*l4*Jp2XV*;5WZ z(^z*JjUkx2hIjoJ66Khug0+nKA(-L##U79H_eqH0uXAq#(wY_8rF_NH5~-w&6DNAP z_QFS8zr3)L0Ww($p+1{CsZ6AGSA{tN0YFpVP-g~ZnGq(;UgMs@bTiHGj{?o zZQ!~9@fsIEE3>I~il6c14UKO;>pMJ0zVULTs-_;QVXrAF6gK%bv@t&Q!MN1rYP&2< zRT&)zMn{f^EiTqtVt9R>#epj*m^PTsnG0j{?#A$M{_UR+pZxl7hEG2El;epvNE1cj ziqkITFBu^$!NY&+hDgV;_(S|{xTV_>I~MktmT|Pw`%I*-;G1qV*y}h8qQuMVyLVEApiF0?44X9oITgS z@FXsOE^dmF6v3q6#g)v2W&+_SE|sh?no+P|szJp)9tMtU{9-p^caCcdYq*LO*TM-W z@}zNllef$5?CuOp+ccuA`rcqs*YetW7M0m>^?l=!USrHGPa#k~c?&E6b*xaP+wo5c zSt`}UXGA4Z8Mkt-HlH{~v+>npwgjIb;Q`{y1pXTz{~W0t;cjo2-oIzbFLNW{A~!r9 z2?t>eta%iL9I)f?KFWdLi`W+#{Wv@}KC}>^K<`B9_o#Ez4LRQ^_&>5!{?lYf! zz#4-SSC}&-f0`9vtY&wr0Uq&UpWW@<^xCC|^W!df^8z0#35yF+!dOdk$S}Io0J#Cr zOp+n%lX#@p2l{DwNq5{61-?ChN1T$itinV29S-?9r9hOk8WVBMnX)b;Dbh@ksXW$y@#Ej0umWE`Mp2QcXy{qSV9KI^ zd&$kn63fzvG5y^>Ux$};{u<_1MIgDAP&WbiA@N_syxv6fpOW3OsNRdcnd5MBDuv7( zq17sr0tdHL6dU){-)iK01EUh)Z>$&~fUhrM_}QvZ3XuvEMhKa6z)ZL#RSAXxp?LF_ zPlRbm-TlUhv!UbeH@~iQmYWp|ck%bl&*O`)m>;*|D@t@T;uXW8vl$a?fXJh(@zY>r zIJZuiv)0@AW{5ErU3+~CQ&ABkOx!zs-4qi#D9aQcK^PciT3A04uW;)EqF^alh)hJE ziZ=1kq){OS#LaLH%w6u9UwE;VMP#d7S-i;pd?lC*3H!k_X=D<+gqaw|Bn?slj_K%J z3!_S4rm?AjJni9FHi~9Kx433dtAb6e^s1h?@CeP%Kf{DB5+reqByhse$j-3HYj%l6 zU^Hm+jLt;CbO9kf<9Ynkz{5|@^)J#xUuE_G5kD{MagN>F`ov42tvRJE-F9dr>hZKE zCny1j=fgH``yTQ`W9fCfQdRt<>o!~I9QD~@-9UQzz}&odcQ|?LbXZ$kF-Y3J`6b`-ydUa!(6BemD*h0)0+L7ZH=k+fm33xRgPXSYRpEhGWugqF zo&d)5i5&Pvd7h3G1ryWpI~WS}^)sOORpwSjAOvYt8579-k>N41z6#3K50p z5ks(t9Hl!uR|3Qyg~CNa)#t*M5LQ16Ft?2%k?d``wMs#fp1;CQMS&sNYIt0g&AcvG zyyC@4a$Z(KcykED%MCUNsR&fmG(30}zujPAKujUs;0Jzz?K;+<#pQ8fXoI0pkUS$UX(*sUrcs{%b z#mv($aXVNPHb`a8O)pf7V8f*^rc&@p4|u^+GL6bfz!%=J7QSV*WQE$wgO{<=uEoi( z8|jAjk&exkmpsG>#%RUc@N9fIXAp(v>hxfkLm8MEUD7CdhP>Anv$!8+;EKlMjJa&j z->@n(d?EE=22-dtc3=#q7f~})F z=@}o=>)+vY$%l^~F>L*a#d1sOg?bOg_KW8%u4B}I2GXOR9iE=2F>?2Y=iuk~Txjl2 zj#8SXB{Z;Z!A~j~DlTbUB$P&fUSbuL#7{Th@&3)}Eyu}e(x!Ou z0w1Sq1Wo*u6R|Cm*TwuHnB1xeMBtgjFPozCmtEg{zak1KKwMyTz^YvrT#e@J5!*}g zG&6@b5h(PEoM+T1G;9o11hUc_0XJvE?sxVzmm)CB+@D8}&LJEwMhn@aJu^q|n-PNR zIh6r~jup*%l&X{ZO$su|#Pmv$FyTu4TM$3}mGU4~Hi)_eXshfM#;4kQ>LtRAs+-1G z9D;!Y$x6xFhVR@n=QB)ePr@LCv(ch9M-W?ap+!|*VKg{YVuM$ta?kd%z|gO>e=y0P zbv}7iDCC20aL}G#^3xy&wh;<^gc%=3mk46#; z)g0&P3#8Ndl29(1i5GAcsCX+xoz93rg;z#2^j93lGsW=l%+(>iGOu7h2WRgKAOifh zz%Bs!)uMD>-qRNkXuyt7=<&nTM~njOvGs79>4RO?2zX?%JH*WL6zAKUZw0z^w-I#o z%WHB~2%m8LuE+Zxu)qJ1b0t<-O@GO{1$UR^oC&rvsxZq>uF>#9pG9z9Vu7La;8BXr zkM)GSU>v5=VFKX{c=2@DpAX1mY)* zl!cFbz02ElFqMvUFaNA?$F5SP5^&0ImWzoTD$kk&V2I(aHmJXx@LqxoJb&U^1#G4?oZ1E;Ro?e!%UnFXndE2n$j!y8I!Uyet62c z5_t0ZLZyImXH;cp=jHI=EvA&{c>MJ5o(%85|77^nKlxth9(q7KsUZzDnbu1^E}pA0 zKyfAS{Z}#q%%z91jVcl@lIA1z6^ALey;@edieDeqk(P<82lO|(RIqBNe3*JDg~)u$ zhp&(ML$JA35wNEc1~5;52(;IS2LEI*IY($7u*hnUEkh$3ZHGhMHkZ}U*j>n^Jwg%z zW5uv?+S9Q&rjT>L`ppAQ=Fr~l5zQj}78g(|JecH?o*TVVsyctp^Qu5lNm?UVvZ4t> zKK#2WIBv31)x}h~$QT=y)KCSPm6Ok~9gn;NkDdyD!u8)usjqW*3cU29Py)OLRwcmE z0M`vf5IePiaOy%?T9nWQ6Kg$i1R2wCuSCR0>6HX|k-CDJw0os5At!9`Fr30L0!4eU zk6+=fpFcrXIK%jDMqPa7kgh`JB|X@6j#wSdEe`9O43pmRraI0TK$wphdUw=DGtLue zsRVg$!Xby+eE#`!%5Y_P@4a^^W13v9LWUp+HI=xQCB>R8De0yh3yr`nq?*-q_)$DX zr(`RSA|J?0!NLf46M#Qvy*!EZ-2HInZFw9jG;>aadX7SHaYU!gt86V*3^-aY65`Bl zW&BMu?C(DGLv{x29HImqa_$1_0*-N02~h12FBO>30osdUo(+wVi3aWX>}dGS<6jR? zoq~ZcJWKYp(22TWmTsW8e3lA7iEA(QT~z5_zN@mK`I(4UCMy(aw%7y;$S1l zTdxb^xuYSs1mZ9Q9c)9Vc(@qzqYuA7eE8uNX`& zK%o=vGBzeMf_K)iAUlvAaaRUpcLJa0(z6Q8cb`g4-8X$nWm?}tbE_ht#@c8w$= zBWn4S6yMG)PqOrFwaIu^df#XCjyziQ$>&e##jG&=#xNT_A1h;e$Ig{ALeLw^$bRB_ zn2C#o6mpIR*jsRD(BV&qN0%7R^~`d6MJrq?lim>x(EJq|`(-H!3;;(NkPjlX5E#}2 zc|(KvsP9yq9tPi5St^_{4ad_uj9+s}g|zxw$08_2K8>)@_2Cmwl^=HqIJ7K1w4Wn* z+aX9Io&B@n>CVaUWbbr%i9&D)5?*FRgz!uKWM}to6hOEO7}d-tK6a!`&11 zRJdIKVBOM$ew119ois1r3(vxv4yPMN+$wN|b#A)qf~rn@QwF$FF0G+A|E*q`R+Wvw z7+s)!<YO{d4%}F6$shOm~Q#TEm`>nTzU;O4VG(8?xI0cgSwekvVX)lCp zWRP($7`-{*R>vzBn*#3uK7RImYk23;gWM}2R)B3rn#ql&NXZhKDC2m^>j_E(W*}hy ziYP_1aFe%Tq-PWX=#mJyX_9vp35+@GqYxFyQYk;dmI5KgifW1UDjzKme+UYuJ$PoE5{T>NrIFY1T`Y7_)nd5os-d}&`V z;1HyO$X|LfRz@npOuJ8Bw|TZ%tuV*C#Bj7*c+wDYQrRNgkQR|5m&;efg3@MzVP}+q znu~)UK#1zyghcU5U1B58;1|}ZFd;tNbZw3(5X!mA}IXRO2c# z2piMhEox#`Ch_fIdPsY1S2XMgC%gJH!L(fWJ+ubf(6x>5G%16N4VCDpVK6=7EkeJz zgOB`wMf%=W=&lX^v!Kn{8cOE-fAsxf|Kp$LXyjGuyPXJkTr?yIXBmqEDJ4na zyW3!d!p;2)$NQP*Cxn6G=fj1AckiyVMe#H0<0SdIrl1cuAWjR-AYq5-q_6Ezj0lp;?nNVg#5qFf3 zSn}#DM?Okn2k?aDL(+C0(#>?PQ1B`az*LY7N?FvD0$)TL;~|`Hk@*TmfE<`hjqmo8 zIIb)$XC2EPhc}N`KmjT`mEQwtwwX_!ndc-g8p0DAiS&l?Q}FQMU&f`((jY1X9m1<& z$T%x}QqBtXDHMRkVRdb7*g&gK<7%(l&Bj(-o+=vD0xBJqD66WiN@c2w2n=I|FI&Mk zauSMXD$n>6C%wm&DfpD5VH5<@K4e6UBG7y&92{n?lh;&y>}{1GRKN!Z^G{TT>v))! zZ(1WBB}~Tt1w1L(AS5}%5kTBbH*hLM+`*#37B};(h-v8w1A87=az(0%RS4q6H{Qln zJb9-5&OQQ>hU&%EbB?D);E<w|Y@JsQQ4V1<# zCD#TcT1cx0Fsk#Kg!TX$cuZnIbi6;?$Pjk=V;hrUBHP- zg7g>e%^%>S62!51v-_L0sALa5eBxSyDnIa0u=7j3(2qzNm4c=Y17D$N~f)<4%8F)r5hq9OzU`BK5E^0Uqtgia@N3#i}) zBJyUGHX3ou+G&C)Xy9G45n5T^Hta2Ybv}d&X66z9GJcDKs~W1TbXWF>Rd8>0xkdQa zyuMlyNZu(?-<=LxzNH!c)|AK}fT$JD#(amlwVj=}M=>vtz?mj&mrW{sSA8_yPT{Qc9++21C&7R%@y*iJ=RRmipM_e2- z$09;C@g@U$0!c7cM!pH}ka&ci-~5}2YCeLK5C7sxxXig3#yItlpN0?f!COJ-aAfv! zJ0*e;>xuyNoir-A!o!d1odp69-TX)J`;LDAN0^v`aUuW|2;@O|B&@<6G!my25B*K9 z(x|j_h>*bDocZ%%e8a}h%kK(1 z&S%dvx9WP2`A=7d5AOW&@W1@)e>*&U@7^%AJYr#KUH6J;BX7XsU1bw2bijafUJ6Dm zVVEk{+AU#3%Y`?;%7X+c_d?QmhT>O12&zCuiXzk<8o0h%WT6;~2pJCcz!!z7rw#6L z(%{pV2g4`N_J&_S-5Vb7aA$5^sgLK9}97@yjw&N&{J_bH6P(sZ0u zUY!=m&Hx-Iia>%@xD-N51E!EKOtD6 z$T}f(QAst`qKE$u2RdyaJN7^Q9A!a;K-`KLoi_pnH;d2R8`HDg zX}P4*aLk&H-Qh#lY^<=W#3>#}KntA6Cd+Q zupy+d_-kRV9D#AfAQjGnFcn7*YN}}(T3x1I6whUp2Ra+3e!O0#2~qwq1a4IXvOpwo zZa|cl8Ej4=%3c!>X?}#ERLHjAlo!_isN2&^e zb4Z87Uqtc*w<9XuzH`tHLGN;t9}0&R+`ZFl4ByK8Rx*VR=Zqm#+JPV$$}Ad@0%`b& z4ST&sLuV_qZ<{33opzWm$m&-i;!pUBgCMC0#KcfpGc`aDsIQ60jsYt*@Ct?v7V(Xz z0SB$|!;;3#@M1w;RE`uDIV`8q%Qz80eD_8mf{geP?8XO|f~)$~;hF&d$#2g)c^09V z8@Lz-XW>V#03|Eb5rDaSz*F&D{mmjyGyuS=98lg6%$|$e!!B5nf6Dpp)4Nl{Up)Ma z;otx7f5}MEFns*?KO1(q5N44zABNQ=tzcYf#<4wu9RY$Sy)cb#;%$$};_Nw4UYd*k zZCJ~)0{JG6#M7VSwq*!c^lx8lL9+V zCWM_fj!tFPr<|NQox?HFG>kTeP8GN?&P>$McJXXRv)ZUY4OzE5sr7_mY&6Bv3SmA9 zA8D<^qB4<@Fd9!6`^6*+tO0^&R7OVNF=9IDg5iu@hJ+&T-c3gmXPAp$WZjSJf3mQX zywAJmA2$`4Wp)-UIlTYienv-@nJzs4@%ixbIfwt?SA|l^!i342vcPg z#PwVaOTzE2n1$c0`{ID483 z!}R1+BT`vxVAE7kc5-*CJSnvjEmfs%U`>IlXmyG&jD?CB0Z&6Z&%)68>~&|qdlr4N z@C~AE?{9JY+!Izeqo5tLgM{9cJyUmh*q&!)54Rf{eV%AGn)_zlLN>kBA9JxzfO7+ia8) z!V)J`Gp@f1n6g(Nmxqk%1v=t3Vx5P>@L{t&zzJL?c_M$raN0;@0U7=b7urbaM+E2o zjVR0-4Nw85p>vqZNTx|XlIzg?ItMqcF~ujp$c-M0n=QqRm$AwZD zYHgKwgJG=n%JGT(0e&EfQc6j>{#W+iw9BsJNYC9hk0{I>MQ{L{tywL(@48>wYu)?P z?RD4v;^l6;CAS8O6iEQYTvb5LBm6vXWS(=1ERv8d5l|ahwa?C-Lu6!RWMt$leVdV1 z#x>84X8AV2C_iS0ypS1r43whiS%<2#06gHQ4(MiKYMQ*Oj~DwZMx#7`2P)?(0*T!- zHVFWt$@FDHwMpMs_V1Yj7KP6VLvDv#HLvICZEnR$O_13w$1{)3KkgK=;w7vCHy8f` ztd)Bz8~#=TS5Y6Z0@=OT#`51`W{0Kc(E7!}25Od}=_%$$M?E-TrGkh;MI$N}DyMHR z>2RK+^OQasE1Ggfzf@!dlqhEoH*pOl_69PK#sOpF(P-BC2;6k%FO^krdE{X%xTkT^ zmiScchHrn1WvE1WQ}TM!xbWR^HmpKlQv0^27Da-0A{kLj=8I4Fqga~T1+|7dr(x4xTG18EAvOMoV!Mi0vw=BO#HUe+oHx`9&*7v#R_ zCwUMkxWU62Q9RDrb0B2F4cv&XaYjJiRgX;iRE?#AuA3KKF-Qj6@N31jQo`@qx{yf;poByU5 zNtm5?hlC>vVpX};W}P$NQo-`F*>%0i0;5+q-g;xW!a+fQO781N+zp!p%2W#Z%Ms7U zBv1QvZdTyq?e#B*f4=+i@b+tK!-pT-03HVuwJpL#4?m@xDEr77oaEcoPZ$<5q(P@N zN(Sj5eiDl~;^>vr8u5w3kob;FsvJRoM>vILIpb&k`r407>qraWg&M+rNsRgNc^-4F zBH*>25pF^dl9@|J$ADj={EFrOnWmNW;VyHNPiZi+n9oY-O6OK^awty;87hkv#y=fW zuw&BcZn>wION9&%7?&U(^KtX#O8`V_qr1KFTgwyH9NV1%eJjAJI#Ks2FX77d>Uti$JfvJn@4 zR%r_(d5lZjVJ&#GRD0-ECop^CYJ354R3JL6GhaufKhjMo2}#5G8<( zBXKHTth(@BuoQNMOQ7>n`A8Ui;>S<(O*upv(4#quwQ1xVyUvl!Fvux45}q<=!FWX) zphw%s!`=1$;r^5T;W5VtA4nG#p(al09Kpdhcs%k`ia_`PIu%cwNXNbG{svBar{PWu zA^jQ+EeqW$XTYLi1$}wLH3HF|q#aXNPRB*LF?+;uip{^!vuvpoT!#?jdXLjnlpX-O z_0R^zWQz9GTgtc2BhG=K3-tq@s-P$)3Dm901a~Ix+Hgy5QYYSo^aj) zF~!2mlcY<2nBsCv;SM`u{@ZVUH@y2k*Bt-gwZJ?jyla{q`|!WlIcebNNZ|$z9bKgS ziZ(XpDXCIa{RPkXS@M)4pePICXHf=-vS?H{G1eH?!WB-Y7bxST$(yW)2NLja?B`rX zAh$WmkY=W+(6S|ao^kja%kIB7bgL|mxgefhLaBhBQU_=HQDcJ-tbY^8)%BW5IexX|5``=*XIa-*N$PTiQcOi44+qoU^(Ch0@>_e9wPM6!{ zVxmo^GM>Q59I3>#0S&Z?G+dklvfT6NmIkK;d{0>XdifPb0>HEnFbz-I_~$Sz8zc&r zro6%sR5Zhx5Fm;$<(utzx&o&ZH!>oDFpd)Cuo>)bZL~lr0exshSTn$g_cKNW7+5CX zxS@~DGHPe4wj3$}Zsn`qv^-K##U#^e($VtgorYEgg+DnO=Zt{mf+QMZ^IpAH>4Snn zUANBe@38)2lM9GY{=0bT@^FEZ3%A*sU_Ly)ITtof?Pg?g zmURqS_zDe=4k>$-4%Z?v3^6QTdUN>f)}!IS{?}g*SJwV7?j*PrnR9%)A6}Fm-AIGJ zULqqr(A=VuUtB~h-6XQSRi_4ueO#?bxEh`qs~GBRp}bO1Olr4a+{=<{j1uZ0~V| zFjHK+@K;vuCss(^$UI57a_TNNz&$6WypVGJTlgWVjZAv)Uu^}H|aQ6-1I8n{!d1jCeDmWgHt%-RaV1#LQ6ud#@hgCjIo) z*csLI1F3=wb_4sMjYe=JzHc`m**Fmqj&maho1jBhfS^CdysQBJb>)u z-~N91jOqB7(sB$9#eqUZ%6!`I#3C5dLZixk}1oW^u>pNWyBUrhEs=A zQ*2))UGtk`yrl=4w~hB}oCmPG{TboOKSvtp6wo7O20JTI7?d5;jw;SBk`~()Is8dZ zak^st{?2gc7I#8;Y&NP%_1KF}q9h`|!(Z|>xTPbayA%8v`#4}#A>|p%+rpJ{@IvS( zzqBXqV1O4bqkQ6*(E#NJJknAmJ@FFui#B5L=VNiMA`otqK3_AkSNAZnZvR@qR}SA3 z1zZ7(tf?bcVNOM@d>oUCYDIuG5H>ky9OfOfE7goJt!lJLRf*z`Ul%$myEQb}F8ZW?2cIp<$x$yC0ukpS{3&kJV*JSHWe2T&vVgr)Zsq&{UmEFOl!KbS_~i3kQuc^ZfG=*{=Fp}M z+Ub5?0J4N3j5!vUURY%)pG>%I@PJW3d-Aa6Xr5Z z&kd9)ja!T;Tsm4Ik2GDvR~dqUS+hdphd{Y*a|n_tBrO@v$qDBH$JDHe&Q* zcn7R4SU0*k4D2)no~leG%qx%itz?MN(`ydApdfi7qG<^ew^Ei`0tz1?0bf$4|G19pp|X1=|XU*MRYyrEa7 z35bLmpi2~S&Q1a*^#Zz|vT(33+zXrzi^vUfDFV1B&j5CNXzC$l=$?JI@;V~mXop+% zT=eInUB5ww22ue~7c^}`+k1B(uuaozoH_i5-n%PrmM(h05d25}or@R$Yp-7&e!zVE zv!iFjgD)R4VsoGH48zkPpSrpq1ZO=As?prKxq>`dLiXUjVTeT&9NQKbs#66-nKe7 z>@7_VPdKLah(%xvtMn9sy|lQ z(=l<4{uV+vI45q4S2@5FOUiCS0SJHd9S?$3N>W1m$hm*vo>K0?4H16FA{u^%*Q$yE zhXjuxzJAY`HnVY`@%B9&f)_M0(wO$bF^`U5@W$@9Q$d+qr$M*(uA2)GT@32IAtvnt zKX(hLB%ET8(qKHMU5*(|QVAqlGG^md^k#PuqcoP;JPO6N*Xh~A9MkOV*w{efr7y=)*95KuR*^vVHjPSPM-&&aoUdd%@frU#y}eejgIeHB?7_^ex!?yf}OE{MaO z&CLH#d+j!t8F_z-qX+N2aS^3h?Q#|;pR&6^V|Ka;C86gOX{aJ( z6bRi&UbkGOaXL!|OgT#1qPK9uGlc8A2?UP55qurn@-7MMj$z9HlRRWwtBm!MnB?U- zaXD8J80GM*c{1~(jE>3hoN2uZ_E(`mi7dsRCDMy5LWEkamK(-~bFFTQ>Joa|t4Ek2 zf6G;2#5*r>#h$PM3iNyfkGH*U7xQ?=z4OqX4}WOmgd(tj5Q-phodD5HpD1N)&^iti z7@LkwXc}s4RT(Q!d?aq+V(exjJZ&!&SX5DzfLZ1fbBDaWr}n4j9(thB7*>Ih@Z=!^ z7I1yUM99H)l!%u4u)$RjMra5JXR#JL;oAt!xDX5nWm{-n?S-KU-$R>P z%g2VmkpmSxaqW$#93sssN8l5L$cGtDX2B=nt9(KyL#OTK?J7)6vMgu4H*1|K^}px!eJrRE)%`0e9S+98XW@MA0dohfmJR<#NyLNFVds5t}$gX z&2)hLCQlp0G!I!o7aaIjakHT(gb3vERq%LQeQ?mf@`geMEiFTj^EKZdFy$Q-mZOVE zlLr1C&1(Z+`Gc;&&9+7pXgrLDma@r~Ti_agnnj#cB&G)znI7=0ilyQ4gNNK@@(glOl7^iRl^x6N@boY@K3-z<;azUS{Oxa%8Qa{J%Gx6H zC6Act)Q|Ma!R1hVxd@4SQ`{1L<#=`2+F)98cW$_K@6qrJrYqLi>9Eh*5>1VQ7M(>& z+Gx^1>)*;W<*U18!}hD?o&rjqNCo5EV?NQG3A97QH)95%adc9Pvvf zQLs=;2up<`?W6~ma!c6*lCQBL35*FT^r|8&7{nn%?)a8?PQd!X-wNNA0Cy_PGDPZS zC^@Kv7-{r)n|6N^xuu~1^(h6Z@G4vkg$;qxY`nmLG`qj>3{&6Eiw1pyffGZLC)o{Q zW0Qa_EPh4+ZsHNgBm%1d_Q36JD8rIAfb3oEPjjAw!^6;jZtft0%TS&&H_ec(`G0fm z$}oR4H#~gsfEC|Qhu5dB<=W|OR*);CJ#Z-L7x=RGl;hDpl7Eq`yq}9=k9X$nR0<6r zjgtJ~NPtSfJx({=c)XcoZ#P+?zRyr__Qu06_9|`YjAyxrgOgx=XRQW)mO(KRbOEms zPP(@b=_TFTe`r^|Pa8)S4g7d~E8sf}p^d(9?Cxc0=}uBh4X&Gb0}my@-gGeYZV22% zKZ0gH+wIvny4Y@(Z9X}OOBjap=|*1TvAi_WCL?cI(T_4NpEHDRw)d=qDhTxY9RcWZ zipvV9^(Z4&!0RIcDqhmnkvv1q%`fFLs|}`X=221>I6?5zl~pbfVo(3B{N(~d(iA5m zWXm7<^7?FX$dnE_Ps7}(CoU?3tDI8!^PhYWrQ#tMrOk5z5=#=*7J&=3RLp6FLpMra zemFeXMJeFU2^I?;9i#BfT^b&8o8r9(8^eY7R?m>jbd+Pl%BV%CR-7RHGwNjw=uq~s z0BKtPC2*^#t~*KnFsxQ_z~(3b3P3dQR7fkONGVoJv=;9G4>;ncw?MH5wl5OpiA%$SdT0j9 zDM8W$#KHJc1gObs<<1e->SO21drwP{l~VE(dwmNmuqI%)kf6|QNwR(#qQa@v1>k?r z18<`tJSv3rG>o)t_$F7l;cnW#4Pu;hQ1YRJrX!}KWmk=Y4Vt}U=Pxs&fRM6RGt2aV zqXIY%%hL<&2lpO|^zw^;stR>mud32w(01qB>$2?O3+@s*ZFfxf-%?=sD&gE7#lG#%a z%qXW6efUwHn&{ycZx&t={#eaRPz||^NM6iJqZJ|K_`z`4&AZ^5sXXJwpGNwX zO?wjHyT>4I2$_Ht$8;SfFbsbFX-}HcSP)d);6{+_WatS9hNtki%)y(yyExECWg?9x za5BUW%^WFmO2Ec2IFB;Wc*Z;?t35}R2LcBd>5{26wAmeY5j_0z?l2D$E6nW+%7d#o zOoTAhEz>2QJ6Yy*r~7{Q-o4?o&psPI`tW^_uZB3v2yva-(9AP(b&b0YmN^J(7#_!6 zx_hj+BUHJ-j5?fMFQl`8Qm`^Goq)1(%u&?GEJ!?MOYE0lE)DnYZw~Lj^JZ{%Jw{#p zBac)*QlG$)F~VxZi=yFgI|=4hN~9CfI!#d|;Ncne2}<8mtWoe)0tASgIm!9}U09Qo zbjX9$l=4uM=LMT0cVnXG!{vNMK%pcs9vRlG1vWo%?79*Rmr8uP@(-S7MrJVHchstCBPXqUAC3VQ{V zJ=CKt_Oe%pP$KP!z%WxIhSErr$|vM}{fCc3FDY*@|*^R-fC+UaE)-Vk&ALq*p5}VHJu>Iw$vNmg`>y?KRl~36>5;G zH2oMwR2u7P44&42C`!z8WzPVCXuud<6f~As@??$(q5z$9I)t9#0&}O%tsYYbQ!Mm) zbeAFBJNJgCTsq_8DTiWh4J==2^UP~|li!vI@GYL87kpBBL8`m;ko}#a6(_>WcOER` zu(cxr-Xi#f{p+p+c)~pu4^aeMU7jf<7C!bJ1S*uZ#>5Mw+!0~k(rktvS;VE1iF@_> zNUaD3ZV-Wg`9H(x^@%?gJj6SVBjqier+4$P+YkIP&;yopOvBI5swOyyr9jPD4ZVC|s>^5@!{oj0RZGppPaC4KuRQ zXabx{Z&ZL5O5Ei2&?~f3xC_A_=tJ6B|AL?heEO(e~ zw@xuNV12N+?xNu3rJ70*&J)fW@O%Orlk*h;a@X=T1`+1rb5bgfeP7vL5Cy{fq%G4cSm_kx;1By})Xfsk zR$7GZAzQN))T#Um0RITn8CiE5ncClMMJ_%tj1{{J(lCGHFa^^t0xBnwA^a8O_7rM( z7wy{lHo}^g@x&MFnF^zPveOVe+HVAc@d%rU^^?fL(ouYcsZlU`(ThhOyLD=g6Vy}= zTvcpn0i_WkQ(m}|VQA>p6EHjWuFb!26NR4+KMr5}(YKlb@s9u(e}I)wMKI5nk2$Pg z@g{^BPe|QyA$?FTl!TMe;~zsAB}2RjBo!X#h&|82=>U%$_AUrlZ=bp-i}yO`yMIY< z?FpAhH6k~`KZdJ&a3+D!w$L2W0ngZrF6Pe$t6|4WL1~%Wt9Kvz_Vy0FejXZs_pU$Y zdBP}whteE)hP;g%<=_-j@k^~Ca73Vb{f(>1toZa%CKUnWbUcy+XckJ1%B<+-dWC{w z0xZ1)nedX`Vwb9Sxe`EqhVuP{!Vk*_skZ#~5UrHL<`d)_U>lv(mB7Ag)ZZ^k!& z<$p?Aha4{CLf{MZ-Y;LdG#qnG^_@@e47*J295c$n4pr(8QwgD~BLt?dtl_)?rY4qH zq$)Otlvli9>Qff5&T^WhTaJJEi=VO8aCi8ZfB9$DHE@2x0_Ci-LM+G)Y;Dw2a4~P< zvarDRWRBHdX3^mj6bKcGJFFFO2f-@S8S`Dm}rf~ii&AEy|_=4Ox+$G=m^z0Qo|1Ds})YRpPo?_*Lnf z+lU*ev;^>6fqhn{t8CQPK?J;&!iNd*R1RU75GHSbXl1IXmTwR;#07nPHJ2VFHj4fCM zxg;@7+{8D6mbWSECH)F(>73#PPks0(q9&v~rV~-~HeNz?0^qC>THxwl7T&Q`JRRG2 zMygEQq;T)$)NR2`qzn^q{D4!a+VKWfg)?=G-{J;Mv$F?2wGnhtu8MWxUyWALNuDAe zY1o)onL;PR^3g!5h!7+{aWWwkh2sCz(EyIKsK&UCLKv6X8vN!z{%F{xEFb-UG~9g)O#a;+?x85kwtQeZYQ9(Dh#{(Zj z*nmaNCPw7771F@L%nC^u9;#|!*&Osab;GFudq9N0xjTPp!{~xR=gU&pxl~EUaDhPE)2^5qBAkQcQgk4daTgslP;raX@~BNT!CZR+Yu@(Mwy!<;oh zG}|o~FIq;H?hF=pm>jTH;R&akuCG5v34J^DGwM<5d6y7URr*@@DvQ!OKz-T!fYnOI zU?uO;J;NK=b4w@bXPpN)MHy~&qB3M$Xhj%V7He=ee`8+5@dX-j3S!TJ!}BWwLZu-5 zdu3iO3dqcsiW;|-Tp=6g=i6Jtbhptcq2h=@FGZ_YGr|B!;x$2Gy{KN;M41}^qhJn~ z0e^4Lo*)N`xP=g5VB?@7&=+^vNE>V1TN|Y+q&y`YoyXHffhP27^mPgQ@m+Jq(T7csJ%@l1P^}vk6#*jKbi?n zN`qKhd~m8i0yX#9)>61|GvtdqfP6Rj`B0z;PY?d3L%!^Ci96*&o0;;Rr4gN*M){hj z$B1B^qi%YHt)n7JCMmwO;6%Vy*>Ne%s)f1lg3AB zEHNE&r|d0b54725|Nj$CFMPn!wHqh_57yTa(5wUSTmVJ@d{nyZrMizj$|9L?L?DaX za95$IvMBz|JgfO7Ny|5XegrpOpf$m{IQU)p%17)nuQB)woaQt6fm0XS31|5Pa=!HC z(Je_D7@H;t_*+3pNPFi}ofD7XiA_8&v@wujgdU#;z(&Z`{@yeh#Q^$-UMcUY36&5r zg$2FR`zIbj$fs}O=;vcnf$dw%L>>s2`0{~uxIdOW_G!lbFK`p#V-9)xaD zla2#?vqsPUCqMf8;mf;shX3~8e@%~n3tr{$AnwRGMu9W~jx4w)VFsKW^>RU^eB%h) z=EJSwkDn|KAKtt?hGysihP9(}z(9l434nKpVJfGzo{wPyI zORU&K*J30>Qb&lFE44{VnNy~ek9>um0)GjO!@Z6?Sefjhp1QcGs-sb@bXKNd-=vig#U-XZ2&G`MUMfrqK{_iHu?0;%qycl6 zo`(p{ctt8}16<*p19n)YoQiMbOg>t25ta&4E4dQFeezvk)*Dw7_tDs!X<1uRNnC;Sr@>Q*J4d3k1tR(VkSw+#C10xNcub>lJdIF9P%2bs z5S9wH9CV^U_P!{#!f`?mZmtvC4dt;bRw!$q&J~kWMc!JfV^ZZ#pWaA|V`kRKeRDrNW+k5_gi$ zVngypw~ph)yBC#CqAR_%OqOHPFulMEw1gdpF{WiCfNuDpOuJKJ`QcL_n!WHVrwXq< zuFpV5ib0O|oeRsIB`jxxxTQMz6pg;SEQtXLkYQ$?#NPa;Zwf{3q5M0A_M(iy3F z6C2tZSe`5zOAleFNW0d=k&0P(Yner;DkQsX8(dg*-OWPIq6lyrZCBIF)tXt327bz! z5Gn#c`N`jNn;|)}L&!1@#T^X5qq=cRCOcnxuZ4Eo6|@ z*X*J%gHP>vNL{tkWLS~109R>m&=}$PU?L{SsmgUm1_0)%gYj$rslR5>G+(r7c#F#O zqI13?a7H4uTs4Sez%8{Go#|KUk4ih*D_onA0hs{Cv^RF7;C0xLZ{3Pt5nL2zDh@@d z7_)4ZEAi(YdtCJ?qpg>GhT8aY6u_wgrwFo|*mVdBE&0d@0*sZnja>d(rAv)BSf!uv z`V&;;z?f;Ajp~<;OWec*Ohks7?w<{CO${KlSVZI$fpdhTV8&2*5eMw}3($$mFFb@o zghP_4pO#EMAei_>P`4mK0lToXjgeltbWOHNA}1iSP|D%aG<+Q%sHHp_9D*i0{%Egx z`0^CzG$hg$;q0i-%n^q=(dc@;p+0X?i;wuBurVq^cu$I+V5 zjb6}5`7t8C{)tzF8<;o>Lkh{zAxz=C^)_b{Y_Ol(V}kG8{&IN0c?COM5_14vN#A^9 zQSq?nZ=)Y2Ks#xxB-V(LWnGP1DFY-k$%M(i)Q}!|rJ*trKZ`?jFP!<+aYTFlZ9sLH z7SUox}E%~hu>oa}I` zqBm?F43{pkBL@&(~|WwUV#Qa8$js6LXdKPnHhW*FOI zYBG-50Id92uLSn8m=IlLw0yfcUlFL)TVIa}Wn{TB0`K;(2Yu!8{ZODYsi|ey*AW2c zsqn~%0K%hB4LFBrr7FI_PWh?*R|WN3Rwklue55hJwFIcX<(3M@ry9RKw>>ocoGj?n z07Jruhs)`y9-VL&K6egyiwNn#^U^K3ld(Ic=R3+XYi zc#dg-d6a;8rUn)=J%E5x62Q}r4%lF-{f`@^J8gtyHEN;fI6DOE;z~UY+jVgRp>Nw8TQgS>o(c zrpE`I__l!(aO;cV*6n-4tuOBno51&UHS^QYa1dV`njBgqU)lf!cNGJbMHdIkUp7io zMSC@H^{o@`L2C3$IKL`JeM(j11dR3~Dc{1jyKRUbHYpXr0O@I%P=m@VF{}%?7F`6O zX|S-#g_UMQvNr@4n6dm1EIw^Tpk?YirW%1xCSQS($G-e;?Co@!}>`-iIPcZ z-0{(-DHmO}Tb6MSo<$?z5#KW>=22QxMksJkH`i0{bIj5Ige`vm^iThB_|gCUAGm7# z^6>c|J{j(Q@g;o3ZI+nvmPD%zTT@X&T^-;SVmk&l~=Y!0rnd8$OWl-uAbRxYp%)rPf z3V2yZLNd~}Zu>n+n2bsphOmiiIy{{Z4X>|H(beeUgIjY@-j<@K!{3%UR}qL1I42*C zpW-vF3g-lT<@CK#fO?Zk=1YO0fORc^EUU10jerV31fj1Myt8V`G(wAT_*t%9Sd?}< z{x%JbVbV*|PVI6#o+AQ#4C%RWY-x9qVdxbW6nPUKy#<8L+*~OFrq|Q5f*l z#%P(FR$%d6RkV5Vr3tRh7P*1&QHaemJ)jb>#J=MN78^a|^g1pWaN$1qa5g&?e3q~- za`F+jayh~Q|1n%e3sEBksPw+Yg`Wr&(++MGSHYq1a%8|BOSUvo28rXhPn0peq(C6JG4yKE($Jq^2TU7sowzxESUF}6m$e4_YzsVPVc_=d`@_R8ZgaTH z0~RB04o5b&jTTuLW(K7PFh&g;N)o85Pek;ToR+&~Rmne$uiB>prGyW7Od# z4rQU6by)X|96?hRzEYMt&k?ytOzD`~7*?fSK}^r`)f5dXTy5!PbPCu}E(mBjyU+g; zTLypp(_aq%^#A<7!+Rew8bDoo@|g1|Zr>gru?FCP1%d;IRav&iN$(hhatIJ_({W@_ zxHjS=RD+Co@Zf0CE1Ra6PIUf%dF5gjn>wxONLH<5aJ0crM7y3C{4`#^<#`!sGQ-A` z?O~m@DQ~}ZJ@rK{N`p-LnQkOO>lWHBBXiJ`w?s+(40a%6ouiIricmZ)Ao+%98BH>O z;snxmeBw>+l>^cs=@14mDZeof2l?vF;wtHUrQGKE<2lV)I48ui;?x0gY6AKwJVSN-bg>27SDmAqxjXY^tsa1`L7OcmOd&3)PW+PKy z6;C=!Nh_al3Z^+$$a9z~ZnllWHl6|_bK!|)I+`Ycun{cbgoBjRlQ;@Vdx@5DrNQg~ zZqUF8xI0W60m`St`X?NQvdtE(t*4vAGzYNI?<&EFa+K?F&7%_95fBui7^Sst81wXu z>4m)qpASzsB6xjsmqT6HPR6vrCKm>IsFZRc`6f#66;ATo@(-Z(tjK!oPxuhj&Iyq*uarMEFV`{7xdgj6Io(5lo}` z>uVg!zy{E@0M?aV&hbCyTnA}-Vd=u~)1UssaPucW9^U!z=5YP3w^+cpGpygal>>$z zJ$lI06LpMXds=!LXUY|Lm9l9!bVw&_K){91P)9lVN<|`PfQUCd?RVe4=b}ODuXX7uXI5-+Mn?GG(Kr>%;9?U^RN@saurob( z4E&l_5C`h7Q!$~7wL)HPiaQySF5+q-3kHr&e&p*YYE(Gssyz#0lai^18d_egkq{xq zccXExB49quzb5?Cfa#WAgYGX&W`pIcA1PpO!f6241jvlVq*y7x@I*!Ao4Jos@PmWl0$vi0z|`XgOp)D87PbdGf@E} ztQuHBS^4}ERsQpse)6INHPVW#+#MS$HH(1|aPAmbW;Eb{Q}(G8nL<^Yo5KNoLd36^9fgX5}xanfzN7|uDT4{e4Prs4rv!d+dt>+m z3$<=-ZVwxKb<>^Ov806O7x?G!g~~{VVfc;^C7&ZD0J{P-1)UrlpYNo{tC{d5IHmFM zEgdlZ-GbFC{_(`$2520%+ePi0jKROfdlXGr7EMB%gglaxYi@Cp8V0IdX)W0Nnh=Go za;c-Ad7wwu0Z^8vk!b>%FvcDz7M}p4bW)##0B*kPH$n0tFV$4d9BIkpZol)wAC2MO zy7t!a+KqRHn;-pf_~FlfK3sd_Iw$xs3c&i0+kg0Yc*NZO`o_cIA-(R$)NgauFCEHG z2+JG9Ds}mivjWyvo813i>cC4sX5r#_;1Gel%>e*l-K^F;6@% zO(GEVkjGUX!FLuuB@ZW!ZuayypVoaRDjXpYnUYS9N?9zSW3aY<;h+NT4jHCsa#CP; z582_A4UZYI+E&>J$PeVET_2z_kjiNhQBmdpG9{EIKI0tMR$1Zclxzv2s=VVe zZ=MCLDp``A$yPE~j6dNx+gU2=0;_n_pfU{HhX`$yJ)b+0s(ZD8Knf63m)9!PB?K%p3D|@X5p!XDgg@m%C%DxmdlI+ zg_TQqXXrnRm~2!H*Wy= z4nlV4$p$OIaa%wUaykGIDnuuuM{lZ#?k*4V*c63B;2s{&3_FMO!|w6?u+H@W_jgW) z+namCgKaLE0UP&sYb?1$)21Mn4!TJnGuvLE9l9ouMl_%L#}IcMyyEJPzdR|7`Z3ak z;j{Cs!a8B`9=S~f{WfdIq9xRDGY0vvfMW`N$~c+Q5x;nkArPV5#k~pPP{VJ^u=u3~ z;iaoI$!L#pi^-rzPnWlGDU*6kl0TS7TzbmZ6-U3O9F?I`cqoqxMbkT{ab5AqUQVHW z|HjSX7r*+);q4DU7_Pnj7D1m4>-X;s5B~MD;j`a=%x;kT4A*-_G^0W6RM|)AQ&Euv zQ--3Ra+Y8Cz&K^)6qJp$$6kw{|9Ynm6EXPWq5|w1g4eFUh9dC8;n%8nx2Yh(g7KjaA}#wzo#!>ARn{Kh%n|w%&hzJ zi94ML8f7-wF_ZcW3mdrx6?wbzlbuls)23O#)!j?Q7m4s;;po5=H_@+#E-G6gIjjLck(4Q18@PcNei;#Vu!u)Lo(tY!MU3R;2F zT!^eSFj`v1h&Rk3f7lc7hBxY$aD2ZN>v6cTBF2yU-ExEhDB4vo)q-uWWJZV^Rbes>{fw7X?4CyhlBU=gE> zDwAZvPs0_#W@T3ZAb`k&?p+Z`7}8IJ7l9n4BGk*~Z{Zj0u_g{f`u4UJDgK!^dmt`I z?CI7ij0z?2B3_XNfBzZ*YCe*DlGi@Rn-Wy$fpg}RiJzV&`Sn^@&raAyIJ?q+X=Qns zUt!v0W)Uo;mun@|1o)tgq7NWw#qfl+9ms#y7;p>SF6YPZvqQvrQo^1vyT3>J-!*!}B-?$XB)&AY*Gad1s|eo4-l z`R;V&^IJ_CeapvC{@8kG898+P3WF3+Pui4Pc_pJn5{F!+6WZV$?5<>pu$u19fdO%0zfHy8$b`oC} zS2gLz4#xBHSda5pd$;_K;D4pMjoh)Es|Zw0hIA6%#~AtHJp!&n$gA%w^Ab=XWtECx zp($)ItvAsHOZ93fx0IutQGzG7#ElcKRp9lD+nJ))mw0$u#cYV}jk-qQ2`hMKs3nV3 zu6b)50?R%9^En~R29@46wMVZhk1+$k48N0vxcDb7R;DgG;-!x`OVS``xH&Q)%)(nC zfTMXPkILdQg{z+_1K&KlYNU|@L^u&DI4iKk8?U&Z=x@kmrp1q2yz#4`)=j7<#L&qR zguqG&X+#>p%}xo1UL%0{-eEp?bN$gU$64*uJd0F)S9R}6gG2U<^L^?Ha+U@j)3Cd6 zYL^L(LwanBYzun}+AVX-oFfoVcMcdGV9u7spq`wlAXSM7!4$e?g}nDGZ&RiaOSx(< zuNrtu7awWBHvY#NCsx$wFABy^Te-WnAH zPp+(D#7_7qvEhe0^JH=H8J8R_5AWW1j{}AtuuXA;M&10uhcx6>!HW+5nwE|G%(TkJ zHs=>S&RrU>GbNbgjK$KjkRan1@ zz7^ic-3rth)f(AMY<_EL&Q^FKb@O#rs_?pp{|W1P@|zs}d4xi6#9ZVNLv|iKV}+h$ zyN{Je;io`3o$|&!Sk&HVPZMCUSbgf|hYv3Pi4zWdrb>?D1!jV(n^Qp%h6^k}a%y1p z;zfouS;UB7^sM`nOg(@Ky<}^!mE1cTf&x9jq$4bFELF-d*!gy`(r9%w(#$!=2mr7W zFG-jYnUtWQaTI6=g}u$PQ12_JpaH5*YTPh>g4W5lir)fbXo4faod%`lTV$ z5?ax!7?#I_V;qt3+}J0~z23faci3WK;p3fQSiX!xw9KdoJ1b^5QuY}uv!Bthc*EQ& z63(~N3KwUe4c8VKzGa=jsU0>Bb=d>nG4xQ`a@r%?50$9U$#lguYXP8fzbGi@2rxvQ zxzscQhB2)88$*Kwd8i&;xl}{b{9C>ZS-xgfTceTg!o;c5n6C;edi;H>5fN!9-CIDN z%8V@C;VW+w?y;KJD00QMp(yZt>y!sN@Q(iHcT8D?X4&d*&sQE?xo~k@9k|3$6H%{Nx{hIed!SpKjl!{<1=!-nYD;vLyq`5T_B6 z+u+A25p}`*?;jiwcTg-mTcR@*jTB}nfXx_4RAd_iR!vl^!{?q5Thf6Gkoo6I6L;2##qXI59 zQ?sd5>Rc+LS!08rQz(PmX+@vMmmL*%3Fwy*0C-y%$F42FBK#w#8ky@FSC+G1fjS6n|Bn z4Auh0ozMdMO2jejGtdkehth(H3ZvM7WuXui`-C3&GkO&chp(*AAYWL^BBR^`z+5x6 zErKl-u@Vlv;AWztTd%lRat-(3S_f;mml9$vD} zkJ-sb&y60IM?8u~Eg!lkMm+OVk>Xf>A*nwVveKzg-})P}_7FY&!or-D&qR_v=;Yh- z90fT8a57Y~7l)Fg@_`K#MVq(uGcUl>1Jhy3o(nYUm)LWE@yg|4h5h#~2wmK#3{iY- z7*9?(;q!1Wao>FX&EY3M`{nS#4}Y8~fQy8mC;aZ#`f#5GfcH5G^7G&SVff;cKV{YZ z361>^KDaTwbMxKdLv{_g1$mjZHcvS9FQ<0WV|Sg6kD7@w%tb{EO!Acpmbipc6GRnk~93tG%Du>pU9OOafuBe(~)?y ziq{JRaWsWUcj1R^i<_Q8ke(Ya-iZ;=Y47_ zhk8L6tG{8a*(x>yGIuHgPJx-Eb>U?&jf9|57=Ig1=PCjbOug`kZ2>+9tZz%_mET{H z0%wbvFA7Wsw~-$CS%^NPDFYGeHKd0s4z{u(&d*>RK{w{C#4UywX2Eg}@rZ`Nn&81R zPuaV^LXUHo-l)e9&-2(AjE0AsuuDSPtz@Lpoo%G67p3T^G?G|LZ&brYfdC~u2}^4> z>nMa%67C!T2iFVia#@NM_8AS>2@PF(zBXJYs5|dUuX+*!bp$uUEHItcu+hU20g#1K zj10K;z-$vad9yK}cJ7})8|k2HfY9GygyTEHM>}atJ8`oYpT@v!-mX98AYTP>X<8FaHlquq+hnkg*l0v}_?vAMVwv1^=Y)tI!oiKl!-k>8W!Cjoc z#TX{}68Bd2EjyLn7T?#%N`N9t05|7vNn{*X`ki5I;q>%knSj=<@t^pB2E8mQsxTT5 ztmEk~OR1qMG59c;N!AFF^~ZmIcnFY#e;nn?E*KB!vM0-W8yhJUvcpBoYWy>u*RNh5-eCQ}&eL^x(yf4u0#UBw6tqUU6-UaQUq|BHVRA@4_d06Z z5yRH7e5(hQqtKuL;Vw)Y(e$#dNCpz7e)2w_CZHjo8XI~cF0d|OXNzf!P0leP&5Ofw zV5d>GUW%K-fwxGG)^3;#prUZ}auQ!+TmL{Ne(p3f@$ezxRRkhKp}jB*+rp86)C0o% zyaXm#i0^Zla}|LIosbgSgk6aMYLCzv#xwuc`DtiL=H(ijK(2D2pLBRd~AGN7-TQeMuVS*OU37-1IfF? zEQQ8ICvZ%L4N*A{god=do8d?VmqVuxjjmqs#KRpH%rR_AU>`^2dW{wIN$48+R$`UT?3&6p-R~yS? zE=zHzhsQwMOR_M%<#z( zfQd+!Qm)RsCLLf}{@G9N!Y}ezbIO&EpjQavKztl3AL6S657zb?ImHXdQKQg;8m?%O zXo=T=>N7G8dcG4!hsi|xw;@C-^h@xGpTtbOv@boZQFv0$O)1bGt`)9KlSZXn`KmMs z3&s6NnTJl+jRwtWHSf;wJPe1=J-P1**Z1ym)1&-7iz47?)r}9{8?Ik|ZMgo%8^evi z;~W6CF~+#J{~^)!ygzKddMYV)CU&XIoh;{5->kqmvn{4;PQ-%_*#;FQQLcX#MM;$Ly`I&bi>UYq+P;yaCKN%oRU zuowMf`S6&Z7_;^b=3GS}N0X)$h&3vRf)KcI4$FT7*snXEZGgV+|H|brLjfD2uw@F$ zpH_gncehxoB>hdJ!mmb+xerUm;W>W_4uMI|Dw{?KA(WmX4S{ognNx3yfE8IZO5oM6 zDCAgQQKk|*PMx89f$P=;v+=C2EfyY{7KnUO%@fZRydEm#g2BUsi&-`AvAiCRcFers z4EvJ%2t*ollz|-2OaemFSPejf9vD!u_>^(6P$>cm+Y)#cD?K6dnMF|`eu_Y;>I7Vc z6HkUld3)xAba9UHD1PJw;+z#IA!@QOUH#KkYV}+6W~dUQ+7TtCq7l$ADjtjma3A~u zO3?vpCZ_2@&C;OHJ3XPW2jOQNx*`u9qu@L^THwHzE5k8+$oC%IMIoqjA`Thu_u?Z$ znppCqf)zy|qZ`;&Jb3!*@=Uc@ei9<+w>P*+ixRZJtN*-{nP7hAGx_c`FwD5LS~!IC z2u=s`wYN0ESe&tfPjm7W6esw=pcSA6@(VhRO}Tg9;FOQ13|Iz!H~#72bnN&mBg@Wxwj3?KdUr^EX!0=&3(kp_8=Gb7e{p0HqW zbGUc=&T#9~FNWI;pWkOK!I8af%HfoQro0jI82;pJsf?mIbtg?!BGM=`IwVf!bhM2z zGD3%vDXOoTPBR`jpE6RUBCw0HX^|&i@IuO1GDr(K93?}*$_SN&Wp?hz+#k^b2qOU7)G*t4bgZ$RuH2uo-7OS$H07&Q%189VehoLK-o@{u1W- zOo$vpK417(q5c;rK-t&~YEpW=!u2x4u>{Sy>=Gp5i^+{El&WxkVOlWj|9%3;GmUh?h_*7yKKk?Qy?@#xcpJR_RTbo=En}!`+TU~73vMu0BCp~2q0#T&V zR7kl>`5A)Lod;P5(3FB~HwyshK^g>&aw5)In}FMBO#p(>RsQKQnY4a}D+H3Ul!@OB zW-B2viIdL9Y;jPrQ8+oYT89R8Aiy&n8W6Wy9ijltW!Rn}Tt;fVCt&)NnA{ebHA0lr zE&_FL`RXurm31D&&hXmNIz#;@oFm{#f}So%-isLYO2^{54nL}LJ9WOnGHibx*-*9R z)x%wi-%{EM-}!5@jPWQV%`Fp6Ud`U!x^n`wALwZ)so~qND4DvIRvC{Dx5D75f4%an ze|=B7P6Q~(qgcTVy2m8(%41)&+ef^D8~*l?y{tzi)<$)9c7eBhGn|LECrodY{O3q# z>W$lSFJ8JlTw(3NA_oDTFeSHfpOKqSKjlc^hr?5pfz3@%mE0co*+nwP!q6kO`5vH9 zIE3%cgDI5^(sgRU9SKeYSSM;L9La%P@tZtK&`tsCANKKx2L6>(rjQtgV;X9Soh7b+ zfvI@p>k1Hs7)VY@sW94rFD#s*#CV|)JP7mKAgA#)I??JWUXnI0CJYLUgdH;y;bBB7 z`W|E!6hrSSr{4bLEv(=|X@W4)DbTYxQ3M$=I67o8EDL2%spqMSxc5b|nO?B03N&~? z9q_5T?Fd_^Lgn>E{dWAGC;f93fm$OV+0QX8^XK@ya(W3UprEqkM#a=BYaDUay-JpF z2$E4LSB)A+RC!PW7{F%)5c|k958_s^9*7Eri+p6m<6MYyi7M8hd0B7ep*H|NPjBr9SWy@8P zqqZm0&_kf+Z zFItEn^dekH-oqG+H2q1*i2wm&PpYO|erZr>P=lm#8hy;0p+dX#q+Gm5Bfy;T0xQms zoy%p)KxM$2-DXKU@BxLo#0gCcY&l$Es~|(iHcT7|yTJ9dUiZvO03ZX~kp$xLpLA6Y zRF@R;aTjg8LR;R_Mt4UP5+}apo?jh>Ri0Rk3xxjddkif8BR`AAxDzHg@GTDABuD}_ z=D&X>P76|T`Dg({r(Q>dZs63Z4yj^PL#bbT0$n=ePz4UHT+`w`88r=%VQ2V( zs*-r8lwIb%ag&`q7h;JmcAk^5%xd{r8eHA>X!Jk+@4p%T?O*@Lu;uhm>KbczP{eJ} zjxs&O8WHNGCfoxpT~jm9iqRbUg{#Vd+kQiL{8f~#Q&|rq0^%e6lGS=UlGxYjxIomY zL8l!I()lAaOTI}PxcWJolq-ZucZm_a8S1Tj0SJyC&+m&v{aCTNVaB^kcaoT~^>#;t%S;t5q^OgQ~H)?$R0ghGD~;(v2trLiU6 zN=gPFk$q$dW4G#MEgk1ldp?bi3!oTKQ!=zkBlyhT zCtJ}BtC2?{T#{&2*5=g$@X{fbw#GiPl@6!m7{3hNBOF>?9ZnIhHiGj<2u;=tc;evR z-ZmAuR=bO>ji_*(1Fbnilao4R!0Z9s{r_5OQ~(rg?SK(~eWaVXQFjuvH4vG4pi#_X zsL&Q)@DV>1r6}D*^jq&F>ATS&@TH4ReDt1Vf*7i$>$fP{C`TV4P48xqR#H;sgUNc( z<81kZt>J*Z+FtiM$361%%NNK$7rVG?0^xef84EV#t{2FHMl^xKKoU!dMGti|DI+H(V8CuK(*>zyM9;^>-!)D_F$ILM9#@U%=`3M0S$ndV%~?e$0ig}|hl zgn!m&GSn;ki=#j|Kb6eNQs!)_ebqJJEr=Co6fKeUs2Ckek6*CsH-1#6;+cvPZ67Bq zxhu$BaFoWV2@8c;4G&i36H=<9{_Q;S=U$nNG+^54|TEhA09G-9}5x(tl0z)a;MV zOaMwqQ))bf*C<#Eomdl5yR~`e)#HpISGgq*cvfEWoAAAHECs~|#9`rTG{j{z($>m7 zWeJ?50|LpTS5ANSyy9huqu0Gf#oVXWY%};3>I$;y}9)jc3002M$Nkl|w=tq{2}`b%M| zT%He=a}|M}mGnORXis;4KG0`F$xxlC&icIi`pZ(FF)Tn+UcLPCt>0Hmar`Y4cjZsl z$x1N+1|L0ndekIoB|xZ9Q4$XUqmapvH^QTCowH%7N{!5m@jxLLCTWN%gj7r`r}3?S z3R){(k|d&Drfnl-1LTN{)RaCEzPyQn@DtnhijXKP9le3LOej0;7>KAby7H^wlqaazlgB@@qZ{x`~iK9Y`n1B>yQXW1TSxmNWw~ zG%W)5U_C@ZH-2EmA}w{`mnZfXEe&{gk#T|+VX(?K@$v(c5e|u;{OTYdQ}B2@I^|Hj z89HSi|6s2g+BB+ZuxdKZEUq#Q;9mQy*RFB65M>8XKfK35QJd?-gD-Cn8?9F?wVyG* zE-izQZ=cYa##CIuP5&cC2}D1u_FW@Dy_iF}@W3e1@3K2>R!)ch_;1JyW0t&Av1t`Z;ski3GItuQ{0RL>wJwg z_2c}Z0G0BB%m~y#2E)qd$ms=HDyPq%`1y)})TN+eIz-fsf^RXNiW@lwfSW~e^-sSj}-?NO-!*(7?&j(3k<33F+d2Yd;F~D zV-A$zPdJ{zZ7RHJGc93HAdPh8S8Eg#i07RfR`v)U=#UVtUQ}N#8=Q#qz~-hA%9f=54%6w>fn8{st!-vP!e1VxAkWQ6%wKk;o_% zYco76AasG>k7=MBN>3t0GA-k*tz8=4e)q<3`TEryl(on8yZ68Nf}?=%bA0q;8dQhk zp?~9Td)=vX;;sQkrf$L`DjSpqOf*HBxhRZvA2W;w31gm}2df+erUH{wAyKqd=2Jfy z0(T_9kqF@(v+f{=4e_0dKvJpK5X^?Y^Mm=bKW{w`b%1T7EnO7>Dxlt6dI1GT<%kRc zr)X5_SkZ*qma=g~0%-#7GsEF2Cz&3ytA+bCvPGD9;#MOGRl1>pWZ===$2yyGCTynf z^d}kXo+B|~ZxJMx-0olMy4BZ=39Kq&tew=jzEC4te~vj<5lHTf(+ie#@X=6+Wx7NA z{Ek-y*(mOJ1b*fHzexeh$Ol270Mg!zZ3MYHP>$W2LYAwWgGC(c$TEsOwpgW;Qes;X zlAdW>i4}144D1~{$ELtgu()Dbp0Lrj39zxZ_j$BW&z`pn3=gv4s1Cr{v$4m|6Y}*Zqzo?{r_Otglt3$ zw6Z}L=MqfjD?O+1Z4*eXriU!aIVnn>o^N3X3nTMjs(0fXI_TfR#9x8KpXnwUVk=sj8E8mF5A?JrOL zkK#-uLmFy2t=w9016tmhU$=hPpf%7FK_Z47aZwa6!poPgTp6yu{`#=U0YNI!M@$Di z;c+@(mm4;h*e09R^fvGS?2j-rbxo3dm~aHGx3rNS@U6-KU=7duY^12voqy6Uay?~LKK)R?kXx7nKI&I(yzX&?EJMt^#GPrx3{Q#S4BDl zV*+QRTM4a=hN+&24QB~C=lbladp)TOm#m!A2sX8TK%>diDB0-K({xzh#@>?%)4NaO z#0hoIN28&q!L$CQ!Lj!~%Q*pa!xC_k+Xw{(2Gy7JUCCRGEVwBNl^Cho_yfcA{fR4a zTNz-1H1o<hfm@SN5DSRj?1rDghkU#MFU3wp>?CUOFB@DnG!8WB2KAvji3j(X>qMTg*aBzndFT zlJAz;@R+d8WG8^1L`b=elSmMQR@m6i{PeWK@9~j)BzWVAvK0d6jxsE|l6XtI!!V6d zKIs<{`Az<+=NXiPC23HOrklo&cjAhJbP*Om>5XDP&YA(j(lF1ke&drS z4P4;xpVOy;#luH@fjiEdz{>zRd|?`yj==c{C2)~Nf~%`*z@<(?3LCj)cHF#w^MhfX z%c>4Iglc8&O5odQGCTlo@Qw;Se>J*?a%h2p;5_x)ZG0IKm?-B=QOR4;uvQfBNkda=UDf@zq~JVqjcjK-i)q|qmjCu#ve z$--LbreYLagiPETv1~L2Z=A|NqZ+Y;qSOf$o>`|Fh+hy|xbOXC>J0;t?f8BN9_K0o zy;7ZlapvPYpuX~cF%+=eeMmj5pe2tbs-=DAJ$8$S5h@5_OE^{Z`c0Ux{xp88_#M8E zHmIyDr&m71a|}{Xwm9pbMSMH#U!Gsw%upzSl4Kn=#3%th3wx#Bc$ay96a*LZ)XHPl z8AQkc-v*oBwIdEz+-TwAY$Z&iYsGCs0(UbeU4%1@P*E7VO4&I;1)7hCl!#2Q&yT${ z;Aszp_DdKAU;Y59VC#ZgVP!gTBSb|l7_kE^y$jGYzEn0#&QEGdd=oTXlFODv;U^qn zLAUZ(cozHwCp=%m6#-1c(3nXBi=Krmc)H*G=#Ybj=;80XgJ79PfW}~syBVgLLgDb% zOsAYOg)qf*z|_IhVdi9;8zs3XUL61}#dQG`ZVANDVVr)D$d3sFuh0T6`5|n2TWKIn ztMX{@gcDExY<$Jvw}M-%c}@`*Sfeyk;l`OIT=Pj(Bc5ZVR~n`GiHC6HALH{CAi<^q zOo-;6KnWMmi8Nv*Zj}dg0JQx(qM8_rZI^Cx7@Y7yCSj0_b(qCyXHFluFXH>^!T(t$a=wz!{`Fm3uy1c<6%C zsz=mEluy%^f=OFE8ZW4{dhUSNX0I|5A#15b7!Cl%GoGP9Tn7fsr@eLmOaEb;B5PQ- zIpbmrS>raup6gzZlP0i~8M;|EnF0V__zQUu8G@qbx&>v>(GlA^8Bw%@U>Ok&yA=&Q zu$vcoq(%oyAqxFP?}Zq18RGCRIzJB@=PCjor<%?RIkc<G>%#4GbMQ=k=?C@KjY zcAGGkrH>{|Ohq1>svP}0LQDquR@41SN9N#3<4kW~MPSb1MugrWf@KPAU8P{oUJk;? z8@?2ZnxsW^PX(KvV=XXOlP*&6Y`oRvGo`?YfS=id=y0?ZneQA{#5)yRPED@}fs4?Z zwU#PXkQkXJK^RRVP-b!Sh|)QP7h?_3f`>H)snEc%akj!oXj>1&vEiwJir}yT0|A9b z8vh72@ZxO@LIi=ARXs%N1zgJ^2e0GE&+6(04UNL z31t`nkw9+0-~2ltd(3$P2fN%Mu<>Q##HBSeoIW`0UmlK^In56GJY%cn$<`(t*B_z? zFrvejtvM!Ek4Q_>h7OQduxZ?-btMtn=n+5MsvM-5;dS`B5%Woo6xb-FmLg%?dM-!) zg5zWIyX=L7RO;~!+KsrBpP^ffkusoDcQ?fjtA{KoQBo)KM3jOAok@gv6#@H4Hz%nC6+`I^sooy({1|&2`A9tV*8Ym~xs$V3S@14jfKC z?0pCaS1tUaBv>^Nl!8o}yv3@UjlFt1SopGs;uOJD zRw7odOV|R8hh^FFC=|YZ(%a-SVfoEpD}Nz}rYIMV3hX_72!23u=pRMklu?3(WrlWH zIL4&}!|Co8y}%73IW+)H`eV8hiEn9<#PTLJ8>%8u6Ou)*(eOTTx+$x96+~fNu&@W` z%3~#9ECNo(Cs^@zi`!wq0&!`tM*@qR(4zPl&hNPKBdng5 z!8AC>Tk@nloT5_kEk7fr3_>H^r!n0>*&Uv#2*?rC1AFzUtGEP@)I%Cw zSYwt^01y93x|EZndFEq{oeisuCIBLfc0GO5Y!^~s1Ij^9x(d}dPj;V>?~FvSC~|Xi zgK5G&zSq*3m~!E7GDcV~H}bYckRJ9>lCoHFaPctr4xkJKrnMHh5DRnSxo{WSINU*-1I zUwg&GMdNoBzV%Dvyy488r_s^SB2b*qSG&)mA6ru^HNs}xBSQE!VOW9?4DojeIz15^ z7v-K6Q+%<@tJ?9h+VclYgi=HzZ+kHwT9mT_nCqTLfGjS~3|B5L^RRu61%&p*o^o-? z2IsIpW-szKiw}j-doTehY||q#tAEuIVHf@p+6qa_Kx8l>Lw-tFq(Q*dIDrDdl$kK& zhM*&!w6@+ws1%gA;gIm=H}Vj_8s>zSxCztXmaI?k_1$pH4Tl6lUI~iR+ZY{TZGa0i zj}Etn{ihFxgQs_M=lv3M&z=hB&4k=Agpl)+A+DBocoup&LSX{Vt*XG;BU8|(+{k~G zqc~Lhg&n1$;1$Qbdv5iu@-uHiJV;_UNDEeMTQD+&tC!)sF`Onac!j2XB*F5MFU~~i zae6%8Nsk`_f;|pAY00!U-Xf4-!*6(}mupZ=8Wa8D@oAAZAR(oRB1*UT3$m0!(}%Y3<|$=# z$e9|al&40lF05S`uD$s>ir*@S;w%q8;I_hd-{Qu?)r-TYpMB2x8*H~FjTl*hauGl4 zu^MseE^bz5FGLciG&alT$MZZSfy%AB4w5&J6Tk2V1j$@K4*E&zH5Lng@ZLMaC!hSD z5rN%I{mBlV526B|yf|`YU<&4#3x>iod_QCg->O$&l5MkzLl7rOYEdM0!!mqX47iz{=P~Ch0yQUFLdg>K zuba@Tf4q9XPzoqaGhfxP@VLuXA@psY~zhzP-|O1=cgk5dEH3u9z}bqDh(B3Bvm ze)HovPd@>7P5>l^{# zBba8msK-1V9Xk|S!cIyxG{mI7QkROBW0y4VC&UN~`OX;$zLS@pW(i-*S7RLWW@3GgR=3IuX`5Fb@v?#Nz!yE0#T7qM1E*)O zAPf5|Mi29yKkNnweN6E@)37w2;W}XIi9Ygmdh(;FV>nr~YP1j(3oWAg%wyf4Yy??g z0bH%ns9fadR6g;|<7e@_3aat48Xt>W`dk#}x*LxoUSeczjsiVq=gbaAM$gcDUPuqV zav3Z^JZYN@m1U7N07oqHJ75d$rHdDbH{N(XTN0NqtTCK_VR-kwo5Mf+;zyYlnw?%4 zK4W|0r7PElncH_V??270opX#7spJc|D|*Ty7YB;FHzI0mglA_wolpg+h^m{TTgJ04 zh2P!6CuS3s}_S09z0T} zf%1ZX%v8vppKnFxTty&_LXXyg@ty=H(I&rp@K^8ej{=?H`g@L*x?bAhsc&qoK_yU<~0;qkB7V>TqBk*=veK@kdmQ7Tgg~g7;}&iwLjlC?oG& zXD{}f7l#`^xHha_LUD5Vn{7e%j8;)zsPg}lz4w5x`?&6W4|?x~AOM0Sz%Gg+C90BC zZ&9&j$yVG;?ATd*o%%K}b@wINyf|^P$-d;X>$q=XJC3_$xyiD+L`zf`MN#a%0wj7b z@Ao}(|G))!0fLG}0n~rUi+`JP=1e(tW~7cBvg55fs#kgSBMp&>ew>{$sDaKL7G6<~ zeo}!jO>joM#1+h|;{u>DZxBX5DQ|zTEBh4yY#<;^K%%`q>*%$<^EpF*l6@mWZi-9E zWCX!Uyc{hcqM z+DZh;g_Se`Uap=&1ZN`hSgMdMxDO$UcOn;eaI_8!P=IgyC3B#Hh*roQ=)#vohtqFw9LvQdug&6gG+Ut4aMloo5e z>WE{Fs}8N~IefIm^2Jazw;WYhNVnShdOLhf&Vu+O=s7n}WW(VM#qpOh%{%ro07g^* z)X%klbQqXu!ITDbryYYoWL3Mm13oTjuef2CP@L6$YtR$GxI5Y`B1X`nNnkyZyqT?b@y8`NYm zC>6fsQCG?J>pCzZ;v%Z*jzsdFW~<=7ZtZf{c3hL;F_j)o3a0`x)=M+3(5h@jW1X$I zVzJd#7g~Kysa4M@vE0HuF((Y>L3zVV($S84{pDG9r0K)R;^iSmDQypoP$z{AFw@p4xAAH zM-{uPtIaB^%SA{Bty?P+P8@5tm$q)P&X(iWs+|fs$DmJ}bsal&Sd1R(`00hRqC6{* zW`HHbEP<3tPUA?-ff#w5{20^D5vVSi(sZCrfPvtI&>T4$BGjBbrY(~X?9u!%`8b~l zO_6pP?2%LD;Q?)YC36Z}He=%B+y(-^OAs{rF$ZUb(-wo45=P6ll}_MgdJ%KeSD0f% zJ<=SCIp)wU`n(i#&X5GAP5Ulrj$(JmA(hoD%?w(RnGixPrw2)DMnG5!1AhEahm#v~ zHsKqw;&8Sx;F6gNh3hTS`Qw*gd6gAx-t6ajhqc6^^nf~Frh%f;BA0N$B^#sU|u!qJ9pIU-ix_pZFFo zDgUO(YBb(7LG<|JYdM<5DL2!NcS^!(yqLT$`jYZvgsjOkp9%+L2|>eQt-Q3t8XFf{ zRgLMR{Wb4djiKXsM)bF%htoi~zNyqT`#IN7RrZ)8vljQR6>n9Ruvb zwP@K2d+)D*)YW3S;&4$FBWZ^Ya5h1r$0Rx&#p)4BIwI2%fuZ}j*@CE{lM&l*LtOPS zf1^RByYaay2I>8+MqyI=3Dj^jPbNJEKLfc)p4R#L;irJ@J4{4mqa}?cgO*dJjYw(- zthi}|ExT>VZowv>81$5>5<{85o*c#lnL3W*N6C`G_Buqkh$1BCok&MLynMb*EN@)= zDL;;jIr&2}gu>rsS?WFevyatm@*Lk>Uy|_`)qIl1jXqEF8qK?C%22xpdwqtjyGBfc zqK*;3Dq{2u7T?pHue4QAp7;YHvIh+yi%qhDiR-+jAqm*$B- zvEcE2&#NW4ImrmCk`+rPLc55&$NuIxSFAG6Jd>xbnayaT}gTA0l*wc=6w}j{%(D>gLb0 zvf5f7^gf_ME9vjqY@g9ikyI}4A{aFA=u_i*63?dwQb6pZ5OPVp7=1r_6GfZyO6&k( zm}uOtuXkaYUigZPqkY@_UopAqb+BcUHo1O$oFt4D6e93ERY;ZXlxg%aRhrQzn6oGEOGedNMptj5pcySl+I&fe0n=4zmlH46b1|)e-3U3pC6B)^c*UQP3 zb|ZV#S@P7p#-%+A4+#b3X-i7U2sr-V_&S^x_&0k5yj@u?l*uMqGd*a)oI3c%1ML&Q z_*auZok{;x!AvC*qJkqI&(4@6vez>Moqo^k!9`~yB~5;bc=091zzo6w1YG||sofZ{ zo&cmrN_v+(cJ$4MLKKH@+$Z87ER*k~c_(F?eCtAXQa;JwxR1tq@-Q41Cz00UCBr)| zQtF2!0Y7zwGkhE22aqOKDFQ8e4?*>LMNaE7okCVX5(o!v83zfU~#7=1dEtRuM2lqe^P_o7})xe<&}KIB0-(|SbdJs}UL z2`pn~{?!&GHmn2AW(qSf4bZ)2DH#EGu1GNj1{G;QEd@kKJ`IlI&#xl}VA!Hg7d3ix zeI1LPm03GpPJ^7$&xxDS=UG|f80a?(2ArV(2P#YYNR8}$onIudU z>q(OD&m@m1ZgTq9QV&nhABbIYW>Eo&D|4{tKSi7gNzTgSbZK--MqmuWq-+uuOnNgG zExwx(7;w&hMnE#lfk^cA88)V8IZ|WrXF3Lw`+M^J8wK}FfMK-m(*VY!Oe5ZCo-^ns zGS!R&$+=5a$T#drQ2wZrF(WVzRWss&Hi_G1Ml?kXM2vwL18+hM%(OWedL8|y(;O)o z0jP@Gh{(Y?fU&G5JdS;c?_vzZ7>F?tV<5&rjDa^61JG|EI0Isxk`eGs$S1ndJ&Xa* zXOK6b#39DOIfMZQMAD!*hiVpACB{IEfpZW8(gVMX7P12QWe~15*zc7@~6-7q7iDPtkc^ zd!}*97y~f|UK0kG&!aIp^_-TReM&}vEuBY~eI)0_ee!d1PVxP$zyJh~A6t0l=V~u) z{W!*UA|Z_8X@^lAAI!eoRPWSyv!c?@=|qDgBKm3CI@C;CiEAgY$!iht652F8dqOUtJlQkn+*Jb_WJB0>9=C+ke3wWiZ8 zAdWY4Fo4kO2a?Fyqqn!$+S|G{iKpwpkwQQCgMGoHi9JK7^08g#3(vn~ojQc1VPTV1 zR#k{-X6x{uutn8W1Rx05foq&9-kD(sCWaJ2rGL7#5NpmJ*9oi6*!K17q%dv3l%1oa zhI{*M=k^13=)gW5v)W)yiyQTg9S6fe0%p=@Yjco(ohr6}|51D7=Rem;Z<%)U?RQvN zX@SmkC;s^Dx?XEtBgSH4`slsaI%!N!Rd>=%%qLa+GtE0WKKX&0e9a)7N!Q&C-lo?s zq>V$2ffxg?9|p#=0EwrRVt;@k=%#!!k&2aQ85H3OlR>Z1R}_t=$*C!9kxdvc+kH4&2QSiy?aIU26Pf1UqgT> z^GgoVyP!sgFoaGB5sBjZyQzp8{V(w&?~pdZq)2-aB=S?so(M-K=d|m5^FxP@+P(uv ztfQktnhwD7dYk16{D_$7 z&fA)nZWY7Oe7spFkqtU=q{CoVaLs~OIaN;y5-D1ROl{gfM)W53BG2Hoe}a?_fz#RL z%FhW-qU?#pYb>)7%a0P0=y-+6LYp`-kFnC@yBGs82F@x5d~P^>iAnO^SY$t1G4U8piDPq3G)axc zkMCw524Lj;*isRA4l1CX!=z7L#(K}tFz1WQmq6#0mlhQ|!!RiA0gMCZZFLT!Zs#2G zVfhho2$Iyr%8VTP^rM66L{O=Z)2&M{1_lOo6mX^$C{Fiqn)URlKZ(i&qBvr?xiVGg z8)>_{(MP3Qfy8z4B%p>C9kR6SH0zR`s<#)(9Zkm=%n%~pLOKq zx1PZZD|^yKl=IXODpKVOE?xPlMLj>SgA(@%$Fxs`qkJJVUvW5FfwD7;WHM4cLp0KZe>GO8yJKtsRz4JEfRpH&rkpAFIjpD^2#=x0k zATXWuwz07@HFF6AerhRGrHRJmbmE+v^DKD-3LT9Bmp+k90(weD0OX(+b>s@cj^ilP zgp&XhSR(sLvW{QRL<~Sw*fBCAJ=2Pciex{}6rs*^f&jd*KX^SDt=guL{05nTfA(!m6Q}K zUWV=3vD?~PTdjWn0xPd5Q{F*}#CCu3M7zCwQ2FQN+1$E%D<}wu1HZ6!hi%`s!wGzj zY#R%j7TUtbgeT^fB8a6F_fopKbcZMkoA>mo9NBxIoNJ zt;)z!{r8^eu$NwV(GDFvXyxVQwru4JtE`+O#w0_8RELaeJal%pJGm_`Eq8`RD6xGq zJM7r8LwGqZ1}EQ&iVLl2$s((%u6DeLUc=}3SmK%~n?irzfE_+`SZ$DD*|~Yv-PvJ} zKk~3}nrGMFe5+NK%@>Ou;RiTF;JWrKVZ9eAG3b> zd(_m{xani(_8l_ybUM*rvV55>Qu}0QrCFcGEo}q?(%sc>TXyfT1N#r@zT5H(3#_K5 z#u^tdvSQhYJ9V9)LY!dtghR8?E^vE!}*$dK3Q(q+r^eZ+q8*kdva9F%71dE5B> z%a)U$XVr7&ifPOfGr;^Y)|a9_6<^OC3?#SjR0MTmjib29>4_8G2aOhtBpS>ixK;Hv z%zTXLi9tikG{rch8@`1;N7sYlcE@+p5it=$zIvfZSsELudMR=EMX*L`XV*0dJJW$V zH6!52SMns}`7IM|Lh?$;Q`0FUjx*CR07cSoXmCij@&PFXkR8W|sOj?x@(iuOuI<}w z$E#ay>z0>o%jTDy=-hboE%xpYe8{TiRA~i5hNQ_s+qH9-{qzSvuos_y&WUG7N4r&t zDE^8Z?5@7B?)a z6H&g!)}Ft_1~Z1_Sh&aT{oZ$7d+@#weZ(sB3vA1QgZ9AvKeeZxc*0swo^%FcXlPI- zgd0@fwWO1Ff96x4{KJ=hW zJ?(Dpxb%wkcIVyiw0RA6lJ2v0Ql+GO5$G46f5CqIgYS!3+okp&lBpwC1bmKNchfDl ze*I;No2xb-wr8Jy+FsfGf-PTpf$iA3#kRh(Me%A>ixFoGHa@XYFfUcz+wALK{i>aJ z!79Ojt(BL+2zVD`u8qSvjDe_qnNofkLA8L)&nL zE1T^v|Lz~Gy0*%mdU3OT?aN=Xp6+hD__E7vnN;z;eSP-5Z+^qR^>1HuiTRdWuGclk zH3oZj?zGNJFSe4Rd=Z||B(J{miU{rxRf8vw&$=~}!X*d=LHwCtH-(kDwJKq-5^@uvGUrD8<3 z*>g`nW%u6mZD|qG?Xrt6vJ4UTS2n+BUlq;|h?!Zp;Yz#pZFfpLGAxE{r~O!r%L70C zk^RYE{J(bFwHxfH3VknS2ZG+IT{uGKfplO|!&~8x{rZuj!CxB!9 znGufZ<7aJAjE z?h?0UAG!7#yYGiTvnHYB4D`F_FyzF8d)}*rM;1Q|J4~ozl<}a`-Hf*rEnrbUlS{(Nd9XMc{UwYm)EB`AlyVNHjG$?Y)u|wN>WUcQouN4F(~Gy zQreWuuej7M6K)xdJB~El-~QEK*xuc{?L)u*al7r-o2^tEIkd08!Wo6X{qLW)-mU># zb^iHQEJmsM_)-7iFR=EKwRXwsl@3Sm;B~fh+gAJXXFp>vNds_;7=dHL!~giJKX)_6 zM?dkO?e@3aW)*ok)-D*Us^&QJ@$mgWvk(5-hpeJ7Uy}X_FD?;+a~cc;CVN=KSLQ_Z zfs-dYHMWk(+?8c>>+7VM%k-tileInXaVYI!I<2g%+%=#+9&uWN{SZ^r+1{me?XJDd&dJp{mq}6PIDDekN|-6oIB@XP zuZcfd-A;qL8UHyYBM{Mkhu*1$?sVmS^o`fiy~m6H%sLDtx951^Y26Tx%9dSQKhNI% zp%2+bB66Z(l5ovx%1Z3&8*a8j5yLJGw3fa>TeWJ1?8l4T=HA!WYx`x}E|B`Ywr;MS zFIE51!w0PS$Wc50yz}ka8*Z@gNcD}Hdi^CAyL9owv(IWZL%V(OV;`|gFTKbfe|)2D zeEczc*9Sjrci(-dwRCk^ha~7qnFp3GTP%1kvL4yEckb9}%a<!!3yXRZqk~U?fU4O%Ma=z=cZcUs>M;Bapp(ek6d-}|kNzjS>dGsO=~I>uUs6du zMDA^PvwV|^Bfr;2B?Npka0v0ZsZ~59O?1VG{XaeWWZ&3PLmBpSQ{Tef3 zW96&FGt5R+b(Ir%m}&M>IV47)Q}a-!ua0882KZ(d6M&v2ngj#SAizRN-HcZ zbsR{m>SYd#5hyM$l@?*4;ML^2e~&6PWXsN9ZH=<)tD2JF(=;(k6-t9>eqY$M$hw%| zWqM(GWNu!87@uNoz?9=F2YMWzLpGG1VM=Pl68~Wc(2^i&jZK((8HaNQ1I`36ur#Pj zwUXqB9C}}T{zYfPap+|XWoUkopYSMw@HGA?lY#n@gOaNF_P(33iE4-NeZ)!$Bl@C6FXTnoVUP%1qb;N)sWTyc1@G}g~ zGbX3wo>7?;SQpNZ!7?a91i{k0Z$om%8*-OkzKiJOWZR~fU$KAtmw$6L8%y$X^NXxN z1G{Q&y;OCX`lY+1O!l>sW?7O)Pd%!MrM$FAHue@TdA?N95SX^s4(I4`5G<>x*1Z_!D;HZMTaE zH@Ye_?8NA~kds2V2md%~Lg0a^A4X-cUlPh3$6=8Od0ILgSbvY094+WWtx3zV+abOU{n|vKK)x4qq_t?1iod<1RVEMFM@uTKu%z7M%7m); zLk=S<+M2mFwnx%fS4XEaJTQUjV$kq87*xHH1)V_>utPk^pCnI?hS*dG)Q(~Ghu+8G zoWTGDofR|LG6%2`*RhUX_3>ZG$7hdL)~vKft&k}$%$B3D#*M}$QZ`daw$`08J-`UF z0)S!JA@ke;tvD*w${JSd;Ku`#z<7XQ!E_eY7kK>k_LJ7v)9>She$BYfmEZvb%iPc+ z%^6yOrI%bHzoBAl>+G?H`SUfVvwg)80zjYqlRDa@IoK^tfy%&?P*Ps(j0+kz7*}5o zto#a8w^ogtopRF6RyoVgTcI%};YV?RjXKT7FkP@yG6GaMnzlwW8oil~=s0&_W`Mnx zrXdZ>$-*j-L=Gu3f)F?{)QH8;mO;p%WMB=8!zW3ORCQc`e9w>VAOH5#_KDy79jTe$ zYsEz+RwP2XT?CR<0w+%#lgE6QVrt-N$=Y={-XIC#kiGEib5<>tdPQZWRa8{CgPljx z=qoKNb7Ftz+uyF03Hfp)>TyqZG!gky@%2lJM>P!*A|wx3-Z-4Vj%Fh}N7@KYN**)( zfti6Adt7}BX~H+unM`a1yp$n${0N;QjHSf|cGvAU+pWKHqcxwDl=R%Q_Rxb5$Qkb| zGFNP~KlrbIW)1UdY*_h3dkT1BmBIwXBny#+pfcWAB9*6QlRa{7T(W$Hz4P7gbX9!6 zc1L8sgkj0n1eT=?822WuE?{~Xu zmih#!5&sm2a|Q!}3bM>>0biEnXnzWfJ<1Y?G^E02SRj@!Wl2c$7;v^mw~zRCt!AbC!is%eQAjghJ1 zowaWa(lAg@TV(Q_I2JidoDu_}b4ig zUbXuS)Mhj&hzxEE-kcX<%yFeS_CvT8ClXI z^tZ~CAn#{MG?-_K#0)5@`(LmWvrlT&Mf2y$43Q(}#(i?c+Nz1N$MQtvOEvN8zwi0L z%8r+{CqUEUCC*4-GsT`tKN;6S$Xo%ux3(UU)Ys#Vjx7I#F=b+o!)(XE*og2QI<*q$ z`KO<=ov&_}D!xu*e1jPGGLz8mOaQgb&~B4-leTe><09P6aIUmM?*dG#y z-6?_s6_E2;>wYaad)SWZ-9ZtvC$&k>7eDuT`_Vo3NKGdP98pEOk}T7})u$~#ko!-u8UHUcG*w_Bg7wz|d=eO)R?I&F`y>~%0cr`UR7n^)l$d5`_y0BmL0n!&5QVnfq`*(RM=#ReFxaOnGJhjH49J5Hvj-Y07*naRG7s0&8e=ikA3nJzNGPe z@4DN5a{te*Rr>ztUVO>^@t-~;um8W2v*4441P%~$i$1leH^Upl%O9#89g-I9lLx}_?YBUa*d(d7y{J?$o_;WAX-UEl-q=IH+ zy8Y2JjQ`9y4A6d<&WhzpdZN9@o_^v<+q!v+n1Fh_Wc@m6!}5I|NY-@00A{LBu(8$& zZ9sKk?|zvK2JD2k*=)o4P69*K+)6p}X>~zjjVTPkxS(=sU$pQ7vY@5HJ(N?axK=JCeUq`;pt1h#K#`)^MLs}`& zrg@KiwaJ#!9~NV$cRy5|Y&Efo4Cbc`ZWSr(kX_aRoQs_H&q{(ru zT081>O8w7p2~KTv1-Zb<{#@gBexzkO(v{b)w~ddjlTB`?ec^Loa#jDJsNj(Dn%A&E zOMI%_&Ie0@wz*uQ0@6igRi!xeeOkg+Y1LBqwa6n8Z}wVA+1Ffuo&D&0-;wwJUi<#N zKT@13Ika`jX>PNm*ep_*l{)rV+YMS`Lmp3G=y|Cf8j#kU`WY5PbAElA1f^Ezfqfzx#)OBuAc3dEBqmyU@juG_+B!n1pKk|33S9 zd;Yl>{E(#md-pmq{*avJmTKGLIr2X46gh(7?}DzRT^;|K`(v%3!a& zn%V_RWo5N?%v)i9@c;b2q=Y875i+q2hs7Nn-(=m+BXs0LT$Elx8Tne z&SdwLbo1N)*YDenx7@1Dl{U*3|D@u`<5{MSHES=H+OkQ*MZ}tA6dnR@5rnd{@}x1i z&=!c0)@x}KZg^-7+!0YnC8x=z`tjfSJ?(CIy}c^NVv7!kV%y`pw3ot4dHpY(Un^%# zsZvF(+qD@AI~cy@&O3$sxncw!a2xKj6)Uuv(t2Bd{&~)@oD>{FxvNtD=+FM#Zn^!f zwoUsC;Ge;&iC_DTj|m^EZ0_7Dogbk#P~5wO#E=59`wpTNP`OO_9fRqPqyPSQ ze{Y+fc*2f}3Bpt`D9Ma|8Hd@80VMD)EmeK>m94&*mPOmN_W(SrpMofyS^>2F;q&9A%DHuK8HAGsN`A z+J<^xWdlP&fO$dE#|#Lgpp8Vt_`fV+pJ${jcn+pEzK!beLM}yeg?tkV$C~emg)=&cpamrWCR=ms!*gR9xb05j@EMYX7qD> zbM`SnD`ZMl%|JnsL;FnDG7w28cG`G{U9-+#eSt^Ll%owq6DA-E3|6?m74i%omRcND zTe_UkP^U5IU?|QzU*FDKrgWL&`iJGbm!*S!mdLhWY8R|oiuo*bU)8|HewG)H&5afu2EKa!fr zoH~h4$~g(??$aqM|aF_^B%!H64*d z;5L~n@V{6t{N&ttotA2LNV6cV$J|<9zNxv+9j^p|GkDdN<#xr@>#b>NlY4R(N()gf z%@0egm;`;5gMeMJ>U>*1yj*Zgf>IlU2k^?g0E2^MHD5R_zUg}3d?-iGocUsgXhZ56 zhuMjN$S;OvvgsNp%QVgxEL`XexahoyG;>4f3&}O~zTtC27m?l4+C7bvxv5#JL(kzDQ1vwOalw`9Y4hgYGZD66yI1wHJw&^NQ#7cvC>Alp&BG zV^QRC=4k^GFiz)^nh{V+9LQ+cals#>cc37;9~UcrILjEw)?mrfwzqQp_8zQ9@5rgZ zpwl9aGgxw^0weT@_(jWnqBO)K7d&g}c z!A^PXnUJf=LQ%ETVN|Y8TNLbz>V zxuI07VtAHn3t-}r8~D_DL8cXhnjFO}sU4Bd+4-?g2M^(twM1|XHH7vDN5D#(5g5(` zu9DEP%G#~1vZ>KWFkgkr(2jgpJZ87TLbY$=J(F$J_P_~V(HhZK)!O~7Mn6Sy=P~+H zDxVE~j>9a$0An2w|9R?vY@}7F6GP>Q@BNJ`M16H)b)vq}tA6CfdD#-5i(oMO&`O1g zWnwaarhkg}kUBq0TVFSd;gE14(-~Wa_siFyT&s%E%vDJ{NjA~8zg(Hm3Jc5qedwzr zwy>$e_dwacZJXd8bZuTueXUjnERy6e^}p&kqP*GDgsr{HCBR^fKmZXha@yd-M6sAE za}+;Ya~khvO7JOsn!u!F1RR@5xp3QhoM=qeAsKA6 zrmNnW{ne%n-c#&#iFh1&3mrk#PP}LW;My%>m;8;KA*iA~lZNE7B4z+pbjU|`JGhuc zh{^(1Hs|S}{|OE*Oe_&hQT)lSFh1D)a1u;T(GF!0RJJ(@KU zM(OcjhDkx{?-EQ=pdR2j{Ko1MeUI|Th8~4b&#}0pc+o`VTtFgXq+Q4sQ^k5lmQJp^ z@B&TP>F)0Ue*9n|;cGHDSP1|=+f(EXY+-dsC~&g2=WEn9FfA}uOw18($R`f77X$Qv zeh}9Jh^zW^C+A=L%re&Ylhu&EL0@Iuv3Cf)f!@wLzA-jZ1-`M-4-SBJ^XB>>!VHP_ zDNTD|)Hl>AKg@s}KOPu&@*&+20)u{f(vPdsDPFCX@7Bm9(WlMHFc~m*7#oaR(y&*+ zQfVeWa_J0mamJ>~7Z9{u~0F zPRNf=j^_tQ_fAiTpE53lkhV@0Df*UN6!9jDe`=qJ;DCrs7Ca7lCI%-Z1djdG z{8Hx;UTC3s}u0Iv{juNmiHp{_Ic>)bgMDgHqk)wwR;q8Q-i@VA-Djo; zN2;``-i?)(e3z<>RPUlRsp^p`eyVt<$Gl=V=u^P2Phlz?g($l5u_@B4=X6`Lq{;Ui zzySF`2ESy0qz{a#;2cfN%@lbj$2%>IWaU-xKOy7f4C4D)jR6Q&y50G5&wKs`7f(NUIg{-7WZGZ6!DrTNY|YrurDcSfCICe|s2 zDK!Qp^GKr6vMHHNw9vpOx$$E*b-MU%jDa)3z<;z){YTTE39J+2CYK$YpHnjs6VsjU zd6WszxXTxVAvd8J7tWMQr{rVMKqj=1fvtcK;HLl=6o;9M0rmsW#e+}5Ir^CkY7E(b z5Ccd^?9;#=??H0=4`vuAk1-HqU`h-`l=n(W3iW!kg-F@kkE5nx_P68)2>ndmizB)^}r*mx5H#wvnBajKbeg29s(W*}-e zIJz_GAa6qS&8jK~yJ*~^v#QZzU}p^moW>;x9T$AD^3Vk6ihsb24gj2h{d91qWCYx) zf|Q9&oapP1{6GlLKixTv^byHJDB`S5?Ejcqv$bn$ri3Y&f>{+tD;1y)dyAy5L25=I z5qBICc@Vo4c_&LZ5VHiSaXMq)!VJI^pb=mbu0d_kF$fDB{(F1sHV!ccVhqF>m^B!1 z0zL(_r<>CvdKu-Dp?NY(54yM?0JLt_hSOC(QL&VaK$Lc3^?4rKf|OVjW6WA~y{Q1F zgR?I^+%Bs?qV|riZz^QOm5nhFV_?=}07^7*{z~<3vWgNn3TOm)PJS1Cn|0S|Rw6Yc z;6`NWj+2992G_HoAi;4k4zn8r-jdVoD6_k!G4wG8VhqF>cynRE{T-6X^aP4N4jF-} zk9);~lB6OKsotHEHhvLfAjUw9ffxfZ24W1n(HKbL1HvW*}3(t~+D+I<_ zkz=kP89(uTjDeYq0epK#SNyoBFcq|6Y@f1{MCry&EJ;~Jc_+R4rQK3ys@Z1J_lf$w zo-qB=Di>!IW8ihfK&o+*s<=rQfmBiP6=Wia6b#cXB6VJG)LZsQ;CRe1S4=joy;0D` z<;EEJWnciJpRV%wq<7LdKo#nIhL2JXPi+qV=&fywqO@TZv27LlgD55lD$fT-wLP4_4Mjc>!AUi zQJ=1SqBtRKnvRvt(W!D76Y2%LV>zE%A5zC5#z2gLF$|<+1OnebHk63YlfM}^7{@Z2 zsdr3uU4-wyCD7Svj`0GG;9xWr+3W`dtq&UxVMDTM(>~r(;EH^LD z@(T+5TYh1&W$6t2!Za@WxdD{haKB=j-qv{ z?3Z`!v#mRJ2`1%}nW3}lGi_vGz=payt^3FU>+k8XoT6eYtE{l|mM^!a#zreHDc0HZ z+FH{?GV_pl6<=ZuoZ}eq@pT4WKP4le0~^C60J4|_5TXLz>YzQG4Pr(fYdKqt}tSG+5f0in3Yn0d{k&`Fg{=kJZ^riEn0SgtzN#+s%xsPuA$!M<`!6XR<30il~}%r zZ(d%$n1pQ0%@GmS7MAQ);WI>Hns5a{0M9?*dhE=G3IuEfkTe{X34(D@LdTAy&35k- z&)bRaE=!k|AzKW{a96ht9B;N`8y~QP2e#XQ%FN8pu^X?y!9MWbciAPETw*nKbw1ux z*EJLo|BW$lu3~^u1bIu0rqfn4B_kk3pEz}fsRDlz1KA&w?s=YxVMr>=o}NA%kP35f za7gOWFwIPam5DPBF$T^Z3_#!^;M53~T@ts}h~^a*>OA&LD=jRtuAUz26j41jWLidM zk=4}CwaUs$N!2B~R#-(B-aAGf*V6~$FfgctF-~=8nU^1~p5nTVED{+0ND_w@9 z6=3>d1FX4KWmaEZZr$CTRv@WAM|)-uX5?6UPO0S-uCS7#97}t3r)_>^i?y^Iw>^9J zSW9z@^>%hR!_(Q(E=HzQj7z!uFGMiL*BAqD9t=!20LL(pYHWu=>8H~u;tXkm)%`y}^LT#m5-OcYFA9sKo}N`;`EwhsVNSX1 z=<}^%{(LJdFSn|yDyyt6v%8^r7<$sY|SaJ6-GxF#?=E5|a^y7k5`GZw?G#Y@1$4 zIV#*trw!?SOeV(ksCHm9=jg-q3VOX`!31=6_P7>+xof;L)azY(oPUggnS}vt{rz&P z%a@A(_V;|uF1w@OmM&XrrBd@(OVTgHrZ0k@pC_BXj#I;d5HZ{}393rE#yMwF3?&g} zC-nLjG!78zu{nS{zK0Ne3!JVKpO<`6UeWXsmh<&!47jyEZwJ6m1Z?|Wjf6Lj-U5iz2T=wSw;VLg_K?0utypCNr}jIp?9 z=MLvTqy?A&`~grY#+rb$gZsFYnTG*}C(G=H1_$JP&^mYbCk4t~+g4EYL-u<8N71b0r%u|8=A2g zo+>&lMn|>=>*?{PFX_ z51>?zbNJUeu@^9C)%$UvP5976IEDZ_fmV8?acC{in30xcBQg<)rpp;p zT7$eyt1Qmf`59?;<(ft-=-FfYpZ&3wRMc2{L6ufEl&H?~Eg0;z)|O-LI9XO%6*B`9 zn>K5Zy8*eeye)ZytO{Pdf|@K#*)BbU6RHyZIG#$&Cb zXC?uk2oyJQr4V&NKcm44^c*t=R>}c>YsFD!86mNBCDZ+7dt<1S>+Qs46<^d zKwkg++O&57PLHe}aE}1lFEX=6++lG2swQiw&b5U#MV8Zj$aX!`YNd0Vthj!e70g*| z**V%3P2mSZ3qW>g~@<|(R_ni23pnR;L_ z$Y(+b+5lDu42H=qnvG@xaIXOd?5<(Pg~*?ZWIi)#F)^|;BK4o?AtL0!8P$n8M3XOd zz_gR1x?Z(RZ6HIsp`oEErOw%XFrzb(QX$y#Gx^AMm0g~^Fgh#uZ zzUV(^v110nr++NqKLEK@1WhQ+DI^Q+8pysB_WqAF_!va}nQ{U%pqHa%h0i`Wi2)c? zU+C#mJBtbEm71T;jkMy?ii-;6z*uNS`gQem*|0Q!Y5IV+U|3LO=j2*dd6DG~q*+<6 z${*;rW|;{O>~FE$eH~VL;Djw*n_+XBE^xns3~3VjdgMfSvc)$)%E`?YAjv=hcN}62 zoFf>RX4g*12r&Gk$!HWEQHDOic^kbLjd50Qa1P|>lM_13SsK7Ij#{kq#%>95Wb-5H zH9lzC(|5d{`5qL#<73REC*X(RN6bJn!FR_r^`GR;ol?Qh+H@Sdg4U;BQD$#Dr>fs% z@5b!cXhTK^++@*HzNh<;H2M(a~Sphon(oh zE{Ooa*V_clLDTOA_;>omIM%}R4@p_}+pY18SwI>1egu3$)5nU2GBE@vj~}(3!G6oo zhD9(Iy)si|W#wt9qsC8Hx}9h_Y%S^sdhde&H(~TexC{1zaGyNsBt`X2j`U3a93oCfhX7^W|gPTyo1)C88H@A+0D(?Oqh96Y-Ju$}DgkQ1TCh_nd983pQd z>CyrWN&}$!DY4HPLUy-I4SD$m+A2BTa7Y-9!#Rb4Fu1~yoH#H~t!NnA6W)&r*hv{A zZt)cgVe}??aaOKKkvIlIJeWAA6Nneo(4-lkh-W5TzDJ*U$1?;hsHMl!MFcBS&rgzEFx(ld=N8|mO?%OC)}qfE@Z5~z$ms6Fz?L)O}QQUpHFH5>uYFbo;OiMEkdJO8i$^^bPvoo}&?8y}O@SLzcuc#qm; zV%v-YkaUw=pC~QxM}c~Tx}DnA#Nj*X$cNv=xKTdI*QlHb&gAlv>W>iGK;hkp;J2h<*&n8K-4iGwW1 z(v^vsG?|&4v=)5}ut4-U?1XeUFtWul<&y^!E5RTA8YVJ`UWYb8*|~Fv_Je=g&OiSG zYiwL3>Ax#MNJHA(+$`I_f1f@0-~%>ao55_@aFy0iXGz)_@E@nl1qsrN@d+4)0#icR zQvu>U;4l$`Q`KeKW_)9L2bOeYPJtQCLtgp}ZYL~Yi zJ9b!8QG7n^$OwHWBGTjg z5`B?24)_Z&V$ulAoND6rPVNi9o{pphe(-|CPNez`sekbjdcgX=M{`z_?P(3#p49az9-`yeb}$zPt@i~uSReEn-Y?* zm+9($KC90sVu==OW1wNF@P$9&Iy(mjfSm#q)K-pDkg0h2>W}3mMZ!}US84j524h1( z5Oql>B|7|Q@w{3)wq%i=Jkg=$hB_oknxwAY0i9sjqihB&Lw!!8S2$5WR(kqCue5B# z!tt5lHc^H65@TRyVjvo{T%-HbK$?;fhz9G#v<&QMGMFsR#5BL`XC`zeRb4cAr&G%y zHAloh6+9472zHP#w3Vue2ZR7(78nVLDU&LBX%10b7?GhNY_0(l%t_orNT4CS51$}D zU@gQA#4n-r>Gz0ggS(Hz?s}jd`@+A@|`+`ydbXRMZWC!4lLv!@}j=P9cu^jfstsJXZFi4 zzidDK=}+v&8*dWPU+rg!EN8MufcmG{W)S1$xqUO-S+?q5EasBKjM7HbZ-?bC!uY2W`j2yAmmB~~ ziwbP@ie=W_+M!($Wjf0)u%qo=R#sN3JX8Y#z(0bwr(j}9V!y^YPJ`gaKU0Y~#29!J zVIUUwtV?Al^N{R9ooOVOZG*iaa8t9*32Og zHKh9J2gHd$HD4Luff#_TVjsFy{&nU86(_>6riy_Uzg1zaAZOvw#0y z!MfM$M?E+Wmt%72N?W&XvsYhz)#lEvQ@#s44pK2QeIW9Ifuin6%xE>XZ+}(C>+bis z%a^ZE+8SvZbRwOY9tb>yH`IyErh1*omz0#bDPrf&UD5#MSVO~ntI?kNNXz^79Z=o2 zd!J}*)G{=E%glt)8}hmYKLy#6MJ$dTJEnT=Qo2lAv}lp%0j|J3_0N~hxvj0$H9Yt@ zP}fC^7W)A{__e@r3`k9lgikx-_px*54sZWCbLKeiX;YXDv?(w>Fo&*)~|uBkBWQx5PkU2gDwY#Ug1|it}_LV!w7EloMgT z_7SLASYQ=3m6nq(t&VmgWaY&0h!`|w59~0+Fau*wgPyaO8~=$hFsm^@SLQd3kdhII z(lVGQhA|?Q>g&YVzx-#UTZqZ&LV%OwSo3uh>mhsc$zQmHx^CTid)wRICIZptD(w62 zyU#xV`F}Rv|Hf~8T$6aa{nJ1FPsM%7mM&fHOvBf|{xuPY2K&S(K4~jfEOEm6&_fT2 zm>#l=FTTXCzWO>5jR8&O=C&`KOVdQ=kW&s++>>#nzZ z{qMQw`v#us>LC8|4{9)S?})9(Xwmp#TPf*Pk!=a zC(aeJ2lw~)+IPSEZCknWe7ozeyPf%gXh+Ndc;2?{S^NI?zwb;GM47$=K9($5>h-<% z-XD1RFm#wpzVVHJSGzB@4}S31#57fTU7mR2aeMyx=LA=|Em*KnaJPtg*sFFZa9jd+ zeSNL)c|!4?*ZW7*KF3ACd3W4M56)5b&zVyxTx_=QeeXNoH()$rBw#>j<2`%!c-uxM z6tq%>IyJDUs7|m44b@n$nBHA9TDa2JAcBDj5J}d({)b=UetfQc4Z*hn)~)BGD}*#k zn}{-Y5fk8c{HOrFh(Uw+521|`BakDX5u5@EitbAY10;Iq#RmDET?X^zELf6XD1xrI z+C6XtlZ`kRZ2g_W-{H0nYd_jzClBtn&f|xyZt*Hx(X`k~ip%9BDD#uFcZCuJa7OG_ zKOYo>$Pz`ENARELTnpun)z<-w|HK%W#TXdZo5N5`S(}ufqKU&(@DTlYk%~%r#Iy5< zi9BKirXI5)9?~I14#NMh|N4J?0)|lJ<>g4)8nWk}d&cg$=X*|EsM^nd_EY=Pm%iY{ zVfpgqn!GRYBTm2i)qk}we({TvM31_piUj%0Gf&&WgNH;cQN<&*V+3xBtp|Dn4S~Cy+?Iza~}lifCFN8caP#>pYC&lw`I#_kKk!SRxbME7xHbV?*452(#`5c5|2J>*OsSqJ>)YS{h7*1?DNB|tk+x#4(^=n(xl)c02nw3l6wMDj~`0c4uko5;d}&Xg@!Ou4a?>aBcPOBavnY?Ey}Lr&32@t z+fJyytzr_7i%C9kc)#sBeB7G5r3H}ofn5qqb&PVZmMqo6;gh^sNM=%=etlb3S8LGxTlhIUxNf)WHQrn3_!0=i>eE5(g zv2M2;9yqX962X97fBlVi)m2w%qTV8+@jbip%B$_|Z-0l|wox4;t^MOa{!cLipLJq! z%PqIL6y4g|>RJUX6%lNxogs=i%<&FKuyyO!x#Wyi0fqsSLaH!TeUzn3u$;S&7UK5X zZ+8_o%kuEVN5VgF;D9qGsIbpJ|9rdr@+(|@T~SeH>({SyLWrpV)$=8nTqfc$B-%2)nHnwEod2;41( zMCZZ_K-Ao*%wYgvKF~0r3SYD4B54mU_j>Q%z1t;RaD3ZsZ;{jEI&Tl0B!BZa|Fal@ zZ`mDp+#!NkAhr8k*UFTaSBTi|l(f9t^S$Gax4MRaHbsrk>I0Y%)blV|P#`9De&D~l zy2{hN|NS43lwPO23#DCn$zFQtMLX}j6?V-v*9nd*oC#aL{5<>G*S;#>h99{(2u%x& z4C&UbyV7pH`BzkrL8ZCIO$Fcn_BWluJ9_k_J9DDJxZ;X+_VJH@!po;$W$R!Zn4DK$ zdBrZf>{6L&v{PO|fw#^3-uHgTH)an^R+uo*UcnTS54c5B6mScnJcGbcQQw4dPLCvB zz2bH9$O+~G{vzRnxbbBqGXef3!32ztmGtD9>knD^J(7Fk9!6e%0c|o(b;^WPSXOKW z`jx1Sa2O=MgGvGigsU7ng`YxccyhE?a(9oIPqnkWL!=qdXZ5`fF>O^<^|oNmmD+MR z&w9lK>^*Q$TM%niPPv>z>xQkmTZb^^jVPZyr5EGdo#T##qs|LSRfun649t2A_}ELX z#VIdFKc;2`h@YHh;`3gRv?moGcvgLyzrAF09t1(=v{T~ZPU zf+j+9xfA}?t1l89y)I3{2#`KN%e1e%I<>o#~fFc}c54I4H{WxvQ(`a5^- zaDu*n|2{Dp2iz{dckezi9vfAMbTJXjMXcrt7n;PqVQ}cfmmyco5KF#Tm60QOa0JvO zE@q*kqCy1mG7e!{o;$yyXNSon{M`g zgAWMsUVQPz!hf#f^@)(@xT+t`OIKHiYnCtv%$wIBm@X9aP$W2e6))FTuU_p;=5cL^ zvwQbml^Og;U@|a`gw-FxXC>fDc5@LoGy~u;1mxuDGXjuL#;~d{BC5rKs<(I2K$#Q1 zcnoZh=~q|u`}gP_nT!vlaHhhg_wnESNjUd@pzlQS5|o{~u1eDQkmiIo?UrB8-lsQN z)^M+7l@-~7i!ZhLD_41c2&#bKn9Dv0UI(>VNl~884Ui*m|B!H_sY^^}TW`DdNyD{Z zUY%Wb)s@z;aJdT0vB#v<+4AB}E3K%q+=@bzyP&m-S;$pCEYxX+EL+Xa)%gVSd4UlC zzBt4fIF~R$mmb%znL;KBsTqOf$m0gcxQFCeXZ7AEmC5I-QCNtFWW}#o>cBhiyvx=3 zPe1*%6NX10eZ-#DWc0ST-6`p_S`yuUC#2Y9A-L`B-AX$k6>W(mwNfV<&^jF8$UE}R zj|zmyFo8Qg)T9@w`70|c6kiLNe8VKpQSECQ)iFAvd8?Sp-Ewr}} zI*}z(w$@UQ$fG(vJyT^2ilA?GCp1moLX5dXr)5MI>54yVg)wTt?b~;l+ebF?)AOR=sj7DYc+Dnvo zx#Ivh@k78bLY5HkBN-W$?f|%Y^%~D-*RCDj_V^3b)zzyFhCOY1dZptTW&pnl+5mG1 zgotv$ZJX@d)D`9uMhVSEfVERhhnB)AE_gqq!1xf;OGkAriI}rNsnF?1d?L_?(E|8A zclzkeKp@}#e$qdR8yx?VVvsil5GZ>z@1Skq8wVj}$YhfzEdWMWw**(IGRw9UD&DAl5jL$g47&s>|5Qg*_ zRV6hez!*-9XTLJI6VI=qj57l0mmeA1dvIi1xpJl3(=h=YJb2LWnV69*HP1L8dte~=WT*tA6Q;lOPs(R%?2;Em zmgRL2RqXG%3E98 zMDSL+#sLik^wpac#x=a-eIV9& z#p7Q9j$m*g+5w-z>z~p|M;i|H>8fMJ zyjq)o(S_EWFAa+vX}jd;x9!PI*52A~HOm%T@!T3W6@Ux=aYZ|lBQ4m#i26;xwh5Mr zpuTRtU3ST(R#P>{THE9VsPqR8pRhhHA1qtAR4|B1RiDch<2OqLw*nnG3*kW1 z!AgR^{_DTBU;DKW_@vJ+e?R-#eO@negc(3G#Yql{`_Q4M90t_YH8pb_F0?2(z+t1m z=pr`%$@g^F$U8bZJ)KX~f*qLo>DKdM$`4FSznc?a9;hGmnKUeMrZ6i6a2w$atpHjEa2<$B zu+#IM6$C3*ELJ+sct~?e{=|tBf;Y=GDG+j2Qn0-5nrk+=_K14WCmwzDVfmL_EfdKK znOe4J#lWM^U~SlNnc`Qg4#Yd=yD6S`-g)l#(4)h1Xh#@`P=5zEfj3rNbh_q;RRs~6Z%w$eY(G{i1+%A#SD1%Mv7k2X3_oVP4bJtwDQS63qPaLbOT1|O9Y${ z)ufXKq~k! zV2oh4VDg%qkK6nOi|m4>=UG!DOJZx)rkOfgIl$5`{0+(cQdZxnEeHCoq%=z=0Wp+f zeoypwTC2Wy%0U)pnl4eyG0i&0m@!MAp%26%#=z{v0Dbq&`)_JSU}9EDc|(3?Q-BZ$ zkLz@o`c|wsPtI6R8WQt)=dHANzx#cfU<$oTmtJ~>-F^2VUqyfe-bX(2QJ<_?#&++$ z_sHRHgFA4Ql@*GKsFuzBRr~Unzu=CDsO*vYHf?&+2_PzMChqq3el1D+x>V0c-Dwa< zJJj^i^1(n1ky!ggfKIrbI@LVH$^@j+ZQHhsP-ri85qu^r(!-SS4x&O`(F)*@*3!}< z0)ND%PGEcZ;RoHvA!ro(ouJ_;_=PWgK{(myQa-kD7$bZuV2m!me4UoNJ!kkw@U6PK zM)lq*zk_F`Dxc^61mhW#U>X1)IdcBOIgwQv*uu$=z#4icbZ`WrBv7B-yLY+zoH}4f zh9TRvYnM;XsLCIF@B!bg@X|{!6+yn%)#wm%%s4@P9!=yL3hJ}qAH1NFXXzfA9P;VY zDR(eDI6H3Iv`MQ0e(K*CK-m0&10oDl0W$E+V$3;vb z)EPMI>gwE~w6n9*S3Y2h0M`u-wf59gPy5nJG*J+^pdkpG4Z*N9Ha0rb_Nh<(rJPpZ zE@tgK<;xC?f#3#=P5l>g4J$wzPWBT8_A>|AoW~dAC*}$+$?OH=JMk$X(Fc6UjlPx~ zI5VJMeUCCS)qd&Ztun(;aii#Z#jQi6`w^K9*itxOW*vT2iyCciXO~QKhwQnRw%gWS z$LvV^kS&@&*J`WEY)BG&hWbOl%t+-GwYF^eh3-VURE$7gev$AljoXlx1Iy$<@!c}t zq-oE90y$m|OJkRxKdcRg#9+&G)FWn~wF^eJ&ow&PIn6eAPPxu9z{xim6UjA=?_&(i zCJZnJ!zi3C)F~N((XmV}(O~wGOaakk6n&U(QEyB<2m%C>$%^|`t5$0gS?a3*n24F2 zktT2egE-uJ>um<%M|y?`K(tv7$n}r^_`it}xI%f2cpf-~z4+n_T21hI+0|>E(6Q93 zs;WwkZRM&kTiN!xgWHZB+dNKV;}VxNySl(5gbN9oZEmyl3o8z$!W0q<6LMf6&@A9o zN7^hek9x9)0nUAFyz>wL@b|WGVUvhok0!r1!N!J3EEU97p6|>ND=V-~WA8`X!Gs6_ zgQ>z3*4t9@X&+@;TV)+Z)3Gv83+y+utI*uuC8iN0JnbNxw_HbLPzT@6SB5Nz3$p zB;4LAIJKX=(m-5cWJntrn&8h7v@S3P;XOI?9cd64Sqg|*04)Y<`C&@VKYyh!^TfFh z28(tkguMMu_yW&x9l?Kr_QGruE$w7^Buvg zm=y2>!^yJAFMa9r&Wy0x5=<24DdJ5lK(y5tV5&HDC`}0E2x74tmVp@{fumG;MJ0?V zJrRAgAKj5wMhyKGycz@jFjbPcQN3r$36MOav{AlZ4Da;;G8;&(903(GxG>O{#T3YA zWWmx!HjpF#jZIqFA`Q^7qjCThgG~R+mKmq7Z@?NBEVJ4=t>lm|N4nbQ_%ZDrpe41~ z`ZKc1ecNKK6qNs;%z+~^p-B@rJg8j^#Q?x?4QiPIzdmWT2BanH(Rl=zd>GSlh%qqx zF)+R#kAIrHcFc@ER--7gYu4Aysl55>Yp#{R*I@hi?H%dw>rLyITKlk;{A}H}%R04Y zJ4gpi`KRXHoifPi_;*)5h?Ip?|QdST`)~sd&E6pWmqX`OXl)IKZ?Z z(E@*6U9DhZ$Hj040eP^Dk7ataApwTz+H0?Oyde2w=ML~ma#VAof(JHM4&bd{UtjNp zj3szT?vxE7=6z01p4-Z)LrF=AOb{2ls$Q&sOWsXQO`ZpJz(m1H1FmRLV9wa6hjSN@ z-hHB%F9z__t$7Boz)o93=;^NbQ_z2CL!@uo54bU1053!vpNOieN@)!aIa38wxM9PU z{=KE;glk>aty`x)eWl`6DbLWB)Qi0XFlP{eb=|u4(xzPD_ah=g)U~dz-nA6$Awbyy zuE1oY;UFLS7fc-e0_RE?h3N!FBx~{q)eZx+h3b_p+j^G90QGhizE+zs^1N)y_l#*j z-a<%CIF?;q6~os7d}3arozVpJCB`AXAlcgbHw$e5c|+jIK=~x@!ZWYb7hxp4T>YhQ zQtu(P6E`dcED&>AqVbX?RX$7@yMDp|4vL|HaOdV~Qz1F|^~+q+p>HiGTmFCc-ULpw ztE}^XYTx&&-nZ&4ous?7Z$S0{A%sOo!4U<-nUQfmqvQM?oN?3vWIm&RSN(Ivg#y2oLT4)E3wueZAm8Ggvwlh*ov5LWv09c>ERHr~> zk8C@TOyRMyU_retS|FoB`k;0P3ebs^5(Um31@!Il>M8Q}XvaVQ^FJ5KgR4%Gz;cbz z1&kR=d0$O#V+&(ig%R&%rBtXG2@^Vd;i4rIDyQ)A$A2)SZM({QSY@^6mX}u|z@Xqm zQWzcdOUav{Kg=dPaWNiePR+9&gG>M{fwA@W4$DXUbM`lX^EokwD>OrWyAS>lnL!o? z0;9U)j@z9f9XfQ-&m;P6X=&8Vf!RsFGdcjmop;_L=6SX2fDzroP&t3&jrh!CaM-W< zi#;v@4~f|s4-6x*z^sUKFyu2$nAOUat$rP`IZ0VFiFo||&V-O)&{mik7We4uo0^)P z$uOLA4|SmSfSI(npAbVW)$u|xuR5=r1&wGAvwqqKlY&lw0ssh1mIPe@bAT8C%8?_7 z)Q$mX>da7KvOy&={apy_Aiz9tz4dmVtz(FXwLa2_jdByCt-L>>E%1RL$)L=jHW*eP zE^|-@&_M6MYE`QUEM@5ND!F`GS`K z?+&hyO-+p+Eit@z!Pt~{)tR)O1NXe?O?L};+~)a_63||*&z3xg{`gV|qABl3u|Qpg z^z7Jaj12Q-!=ianP#*9U!mOWDOza86J0yt_vu0EYqX2+NKfPPb<{1Wx1Tczg=y`A|k5q5YK5TNIwuS4nrvua79HmqJ~3!7`KT`r+*Z5?(>!Lz!xe!$SEyi4Tr z2cQ|0H$_i(r|sRp#|}!xvu52IYt}nCG%D9b0rg=5D5-3u6%1zmV*35MXHa$leKPVK z)Hl{8AWYm3pa7rY>7QcWuFVJp^5vdd?i_2#SI{{)7sgBs&O#JF zjQ_T5+2YX!4<0;dzwsL%b~V6&ERVwsHVk5jAsKYBC||#Ry)#u9#3>C#NDfGWnKN4% z*PvZ3{Wp5#u%HbL36VNtei$kY8)O#5%(xJS*)wI3U@(9J@}uvDVF3=}b@IgVpMe|( z#L%rKIYWbi1|vhwepDpV3fcfuV(DHC|6n-Ge){`i{4DcZ>P(OG%%o5n!ysWal*c~S z593EV06o?yWGnfQo&-8U5Aret&nA9T2KRBD**q!-%3@T87PNzY25=Ot=DCl0*^9q; zJIO~G^o!>J;6jps7#`YD2F#UX1kbT8fo4civNXd}g7ef7+NY&zWl2uokTj4e2Rb@NB3%Jli4%M&#u^33XFXknCVHK>pZ9=n1Vj&oOlazIfIFlmvQHUT7E3P>bN` z9YW&4hU$j8V&BL+WAe{Z&%~c+0Ggxy3UE~|w@scqDg$TzqN)xfoqR0-ofrlriCGSa z-i0uEy>r8|!oy|H-&p6XGQvd4kdgSICKyve{tkKBVQldHs*PWM98Y8#FL>b>kOat2 z!gCVkuSn0lNz%JUZOfN06aYP8Cyt)9?w&sD&`kbthhkx98|d$`LvklQc=(VtG*%0| z^x4o@xs3|Ij1@=*p!EfaS~x1{g^h@Y`u4yF*e77Hh(w`JpblDzxS3X^U82CnLxJ#C zhwt%By~+y&^4^dsi@}4$EMoTJL*DcG*9Rvx6g}YgzyFZWY=8D=-|vQRFvQ>%NKaru zv^30&nayjWHzhGp=O&oL=xA^5DQ7UuU}IkPFfk3ullkH`PQ<}Is3)>OV={B*fO|$< z91HVi0EYo{5qCUv!9j}PXEd+@C@@}Qo0_uXWoSc!v1c%j|ITe+pdZZabb17uO{Iw! zpg*yU(B?oR+6%uP8w<4HckDm+!SG^&L4{c`d64Xcw!$Q%#3JTppIc5mPaE*oz?&ns zC-)l1NC$8O1SrJ>ZK)3$0uov!o@b_yiy=}a4F3ZCL*H}D<~Yz3sY(!ihkj<;NSp9b zI8)-C3GYqlf4=^m>HheA@{XcsXRn9?>X+_P|I|b6!|Wbb?K6JG;~$d9eMEWj@vp6t zIziL)eo4ZL)d|2!5dne7uVNf~c_YNeb)9F1A)qJ!!I92Wm5#y_^lJS#S*5JdJ-i6y zRSw<{fQ8q9?Lo0EmWyA#Xit4RcF1k?;7;4Q`z5Uxz`HF8io#LD+!6f?F6q4y*j8H$ zXq0+YdA2(6w+aUmmVAB*rv3)Op>p zOqfO-3gfwWN8HaX54q8AXWK$~KIVEIj9~%LP+r*LxE7xtZHb^K)E;i7AK7xlm3VJp znDl|Xp%0W1--ej`^nJE$u7&bLU->=tewZ?KM5Y%Q4RvPQ8|jp72knV;r_8B|eBoK1 z-nWpGHn5OY>=$Q4UcexF=ZzaLcUof6kF+32AIO(&E5BljZH)Bdd~O>8?YVbMJq{}h>iw3)WJojmK>-WNuk^lSHz8?^a7e$z|08<;MPZQuCM^2}5dvup z>ofqAdA*4S2rw#;bO5F^q~4P4l2z#W6v*CzcLa&g=){Qnfb>Le zhXOHNlV(FS0G!LlKwyA&x@1h!o?=Ngc<-n>r9^>?i2`TyO6LUvlfyFyQ%d8TW+9U=2Qec=<&rQ8YcX(m5 z<>4+LZl~NH+A;OsSYEi6n|*3NuH^4W?mgM|onGG5eA9pBD|;pY5!)Qg2=`8HZ_INx z?Z{=qvFx~y?aNmlvuM;hH8m{N9BdbmQbg%QEMxjUwvqGs$_?kI_UlY#Ousgl-?7j1 zp;O?cW$ zcEcGp_Y~@0ZVqoGe=!DxmkTf`ud;>>|9<{)LiwH1bDgp@oB(v3{lk!T5?qJmf@8l& zw_)sCs2P59L%rKvR8-W6;p^L#{R^@VdLf%CR|P0|fIJ4YXcpy&(GLpQ3`<2&C`k;m z4%{5EHCUk4C0U1}N=C34P^Oe9a8XbovS?muf30VKw`T+be9)6A!~Y#MXDXrSSl?v6 zd3X?+4g+FGN0$bj&>7Ch!EzopJ2hz@P#~xWkQ()=HQ{5L4Ft@CW=}RjEYBHZx2)v* zr6S^EFV-v>qgOlt%H=zcWK57(Ojq_an(?ztuYcR(_~Y*Vp`JTe*3FaCX61L*4OL+A zN(>l?3-o!7Yj#fHAY=_AD%Y90GBIlhN%-=_+|N%h6Wa-urF#Jcg_2AF2B^1GZK7zJ zK*D&jQr=O|1o%1S*S<(xpPBrqDj(KNjZ-e$R(FC?J5P_rsW%BO9exOVtpBrQtTO$`oErcz@KpDl#II}?d z{|SKrIZ*n2sC6nd^Dj|eJPO9gl}A@SWVFhR6NXq{+9wKJuoUo*^z?7&O#L}4AVAUK zb3ap&^Y>bIAdf@e{B3J$+5DkE_Pv=uZJJ9#fOGkh#*01b%lVd)s|xz1gq35*^ffa{%3ilK{%`wU;RdHsgr6Mq2a&ftRw z0UJQX<5O^~^OTI6t*Z-Q+HzAI60^sUu~(iL#G2@l5n#6@7@Zxb?37$C+Z87JumS{~ zJgK!NPM)xavThBFSi9U795c+z)>wIHZJ$UB843;8XHk~ zVcMwnBPmc%iweiAS{@O#TE_s70}m#qwxyIPaIsL}Y~SX*K!8H{<|mUrV#JIL6~XVE zW4`*75(N?k<|73F?9Bd=W^~E-o(<-X6+Kh=F}OM(H8Wv8cx^}oIE2}=*UrZQm^kWv zh5*WBW?w3mLb2{I6vNe|+OKgd$%l$?=-`8R6~h7my_&6e$af$A{Zonwa6*!b_O^Bp z8g%6N2|IMG-Hx_tmB+)!t)RP2y8Iq_2J~6)fZSsX%H=Jf7#2;6D%c^9AI<7dw4JmA zigpT687o_4Yc9K9Ktt<79P3e-NPzjGQ6Mbr zLyHb;9fb&Keg0&f zJQfv9zu&Rf1mXYAnow)i*=(;3Vv$T1aK$lV*a;_jhFda`CZJOMA&HHTmmT_?zILk{ z15*Hr;@f;-e0%_M(5rTAQ@ce4#Rzq?&RcGtqT(~4d2|S#65--FC~D-(kZzw=6n+zjJ(kZdd_7NNuJxS7}ky;I&7 zqUhV`0)uT@Y+Gf1G9Au}A8jDPgX(g(1_dMRg0i}SVv6Sz#gMpr(AP}rqlN|7pPbdR z&Q5>bG#%Dtx#Q|rSn8(Sze6Cm7A4a|eD4f>Gp5VFRjof4pZA!8AFjbi?XspA&q6-ZJRiWYQkA>7Pn)(PA{YYS1W-bJjJYTRf#ei=zLc-z|D(yAEqeTZBH!sPFR)XO5y$*RUoh%Q*G`bmLLNm>V!B^7 zh?C#{WZX*4)M&J2N2ie{Mfnl-W5Y{l$Lmn~Z8*5w*HAmP(#%9jS$W~d1=MBEb5^l# zSEKODQB_K6Q0^BLTIx4wAksM|_vez2?%wWydZhAOEc0EO4vAENR26M`I*{$Wqe(xI zCm0;jY8~Dn2E+h?f4qjZ)H{(f9llxku~W(*jW?_878!r-RR0Ue%_FE~g+OPDA2%W` zWroucI*3j=#_Cu8kySTBH!PGO)u9h!Spz6P2)9n2OHpN&d@e9vLA1JcFFPL7G_w{nStZ$QoBn6 z$TIW{N8A;6!w0RxRDGT=(w#+snEgmj^Y1fUY?JdisYcrQ6$M6|lzPUoGyMkje$CSk zse{(7@Hy$@1$&HyXEmvB-&@L5>JWe_D-0h$S@$3IlACJ|tU0;7I-p8S;mc(SO z)OT5}riI<#>p)HIWRt<$85m8&(X&dn@RV3 zDmy1CxPA%s)*jb_Y7J~J73McQ znxCLB!wwU6#C{I6^=wd%dpO@_F>d1H8lNf(|G59QY-?M1AE!;} z4TfGXQ;}Qj7k{(nxAk%4y_BqKwi;_x{7FAyZ zCI?6k&`8{ZsRA=14VJLfT2FFDSYF}uj%CAUtL_1+u^Zd8@&NU2~Me7o(f z99vim^>=xyI-(`F(DaKQ;^~}UhQqyQZK;KumV=)$${U^}Vv&%1;WYTPj(zE{cVg-f zpZ(FW@q(q|PfUDhvc;uu1;CE=-a2}1S-X9n6Z6v{<(*&a;rY-Pqk}T4O4bQWbx5=|cQ)TYOIPQsBj4daFALa*zEWxLFmF7L2_Lz;}FY~yi3I>W8$6lgzXVEvti ztwXpJky~GtFXak|^u9mHB@<*hi04D)SdS)#RGlB@_52^=^_w$SyA!4CcwJUlbY+Tl zFkX2%JbC%A=AX>P2szc)oe`yWTd5}NUFz>P1wBfSPyLb)sm+5uKb%GE*~R*j2JTZ-O|Oe_^^)*i>4zpZR*946y6vQhiOU9T8DNG+72 zWMi(aUD$L_s>d8*u4P!|UuTdAl_kuSMHj$4#cu`9kW$F2^SS{j1Q{N!D&a~#t8xhZ zd29Tjg$Bu6Ipe@vMdJ>ua3=JtnW<@Oarp6%{@|M^QmhYCn3`M$HOic5gLoEksf0o; zm{C(s{CV*&s20zDk@cd(UISnu)cMtdMJvq7^fiYyMZl>0OdUAx-_i=SWQh-|m8W&i z=&DuFhTSq(-FtHr1>F^^LLli6wpEpAF=6kNRui3^Xdl-U?6z!D5}srjl?v>Irl46_jP zL>m3!C-8S1p5}e3GtLLmT@@7hkwa>scRl?{M{1ZzM?!%>I!J+eAyt zIjzFXnzPR2G*(GtkX}nBk;!qFd=-{gqwk4XY;f=u_XWhHtRZbcL@Tq1#+pmC;tJIv zrJ7UIh;3T2($mXp!8%dO5&=K1XT-RkCCwC`pRbRlfsISurA(n}G8D&t1l1gh79j-~ zxOFU?q=kSP^qx)JRt5RV6zL~fMT8kz$qVz?8I(kQbn_iD-kg_aQk*RcN2vDjk+vxT zfQpHiiOTm;n`>Je$d}o_xQKszI$g1n_ zd@4Pf^M+i_u+NSq*{#aOu+6%4gGqGEv>d~UuCG7j{!C$gJpgfs5MiPbzVW3%hK~3_ zM$2C>xlA3@_Nko@)?SJ;tH|0aq)ua^u1d`=y&rsQJMJ@d#(Nz!x$^^yQd)J> z9A*W6yO0j1(N;&D0)!hme6Q|Yz&kv6qaL>5wF)V|zIZ16O$X_6mcItJ-|;kNswvc> z09F57Z!Vaqs{8(vT%(+502DqK3UTxRPQ9vALyu2(ccT-YKu4f@ju3{TO{wtUuwiF& zB+~`7hTMRjj}Su7Vs{{hy+S@Yn!`$wB+@kMh$izLJ%L8llDGXbSxE5jkU^pl7FhD0 zPmOrv&ng(b{%ZWOy}|AJHUGsGM@T)6yA}~6`NkLT{7TLH5VXkhN;%8eNLyk}9`D}A zAUzsE6;ZwURDBn(?BGrY)R+z9XeKOW;y8m}t%@dY-6_+edZ zz-R;zt`4Fg?$1X^}<2tkfB#(x8_?2nZ9pL(TnGyL&XK9Q&tKJ#T75|G<)uhOYf9O za6QyLBc*n2RHH%U>}WnabKA*ws32dr88)JARNv}vDgPa71ZeI#tkduztc$^u?lZ5{ zCp7QlMaTa7dtM&jUZXjDa!Ai{eEdiZVAhILuj1!68aDIM-&ZY!nIWKWGm~$Q)A?RI zSW>R&>!%KmyEVHQG{L;wf`2oURA{mhhB4uhu(G3Uz5QxtS}}`aBvVuOc}+Payoe0? zhn&RmM;>$KOpRt)$OOOfyYFOzMAmfr6jo?xb$H?OQu+0Gv^U4y4c=pxz4%FgRtw0Q z@i3E@8Tlelqx_&8QDiX}kfQw9y#X>=6l?jNsme1sv zH_%VjsD04M{*bwS<-f%LURYwZdjZA7u@DM+#jySa+MnFUIrYd1WQXSkKyO@mcp^_W zva|7|va-5%NZ6%;v#Q0YDtsgcSCeD!qx@5fB5DSZ!I}|PLtsVxHj3cA5?qs8BW&x% zp>duQ%AjzRQ+|3tz7L-nSnk0H2{*f&sZSedcW=jdUXWcXpu7>otZBy4D6N9tB2<2& zySuUWQ`LC3Wx@}=XjEjbd=~Qvz8JFO@^p*>5^4WQK5L^eMAobioQNM1uJ}Q-(BOa@ z{?h5Y35T`JcbZFlO}W9#Ux|~sNQXEawC11X?{*Ff`MprWAK2rlRTPmwRyUN=SRDFa zHlzStykqH!@^5Kz{+p1tiBz=uC&W(V-Ko4CfM2C{2cbrsd7UR=c4zHgZ$kV4fXupK z-k`_cuU+`66~}ZPD1dm7XqF%a-hNna4>*7P>riZ^ia;!lG?GFw|Ovd8Kw(b48(v(^9{XzUrv{Y_zdf+rim*qx0*}A#^-F2Kji_1 zF^SM9%N{u0tkMn8m)hY|A-aN?j(bsfESd6%R#g+|r%DprM;9H>I13HP;1NV51?gC} zZL{$)5t=-f3r&R(90Ok()6h3D@`B&GMZ-u%78`Qqs z(;TsqaFs@sgHYvY-}vZQJy zA;;$lC@A|ZPS0uCK7Y0RU3}oYk?;A^qhbh8RbHC!g>$xKpx&ae-PWK!yJT=Ug|HeJ z1%%1Llmg&P1{UHxR%%v3+f9u~&pwmMP0TRY_dyS-BM?dz@}W9va+RsNPL+T;syI%_ z_?n!Oq%)suN~&&s2TUs-g3eCCILMmW=#faX%@l{4PVt~>eT)vGLa<6Iy#PqGS#?CB>poJOp!g;&>k|1WDX0>zK-5!H~OZ`u|Zb&BrjwgI!;hxVbJ5)=;yzBkHy#s zQOuh5-Y#&-_4Y}&+9ZzK`6qbKRx$QhIv2sngr^K%rRec|7PJ~0m7Hm^DgH&tdqvP^ zT}q^g;i7YZap_g(w3d(8OTSxtoPgI$vs?40i@*GfP5w8%wGg40eD$R6k8QZ>4fw4~ z3htBJoE6`{cTv^d5dM})Xk!|*jn#bp3=NnC_I*)=bc6WcSR{LkZ+wdsxHxQs(5JBl zaWY%|4Sh==bP4#FF*L%>K=WUsYYnDvCw7_=R_g^*Frlyf9eUAygxm+T@fK<+ziAc6 zwOEL6eD}oHO{Wmd!!A>(M|}8&WbM<5qyslM_F?iBb={O(sEQTcHVTKoj(UK>u@BGS zUtc=nFl_hdT%XBhv#su`cRSUqV#6EM2|>b_@Y#@t!eof1?T@SdWq5-&eD<2IQ5(c5 zyz;Jg-|)Z*^F!9#Mww+jlcYy}s}bSuG*Cf4!TWaTntYHz|Ux42V|0jd2+RCT>jxjy#2O*`fr3E*!B@dGh?*#Wc43j9TA(Gkp) z6n}p9J{V<;>+|R+0a#gI*UhaJD!DvF_=OX8{K^U178QTD3O)WzYgJ&7mp?Y+K>BNI zC=DS(rjvcKaa*j%1imjN87CLvzQvF_GJ)?bLIK4;`J143slU`2pOtj}7yCj%+8t_1 zt;xJ+<&^Jp?Kb59c5Awt{7uIy9OM1K`4smT3V}rxVNl>FIG{YQ86W%99eMbO=*S=M z>aTbc3(OYrdQ)(t)w(_yKhqKvzwkUxb#V-~njc8IoOVvhr^@-Z($XU%b^43(EsVdM zqV#9s5{C22AG`%lN7z7(37+kicUkQSZQ!9ld=sDUy7v>NS%c3Wkpiws#Y#BsVX0zX zp@|mCv}`YnW*(C-t$L{$6AG#m*CZ1&n^r^8gQgcMs`1II|s1qrn-`xwTr_zR*A1-;azkR?!2N)pxYv4R+F zI=DCWCeK3+CrGc~H8l&e7ftG-gOHy_%zsTbRS8uJw0ENbNhPu*t-A9SHB;hp`1*7wR z2uYlG`Ow$ROwVY&PTM4Y=r|%(yb`df&g|Hb6Dj*xP6nHEfqhDGD)f9AoHR_xpFgY( zmKTt++mR#6MZu(?IDNDvg=yjQ;#?@&B*d7;>GwzT|(8tk(HR^E=tCuE!q}?XCj0 zap{w^_;|e30Yyi`9#;6GCe=3&vHMgNovP^Gwz@pdT$;)&3_xf!RtRvE@5VxhYx~gE z@9X#49GMckJ&n!}<2j2#u-BIyUoD%-(2}{KABevu9lV}aT2LL79nU3HVPV5w3C2kU zvNN8)1GKrDaLPfZfE2Q1Y-8!`&jDUdW?bWcJj)h35ZQ>Os8gQ>mG6``_<3GA&Tf-m z6+@FTFU1Vl2nS%HFyd_d+MH8yq<_~m&IY?K**p~Q?(WXWc-lq-MWM}E6>xRncMLjk zQB)TP{wE8*L3=K(g5;;HkDx@{Qz(-*>Cm%_F-oqr&|(4`PFo=dNd`CX{GW{y z63#prM=z9cgS_0ud6r?EXNHp^WUhPFv5*hVJ!}TRWzbxsL`wiAogxA}JA4-PMx+Qg zCn3H&AL%$Y+vl8L)Ef=@bQdFs65B8~V`haX+)#d|tD##w7l>1V&1!%P*BPjQX(Alx(Y+i5+a)xOmlT z-X*CG6(A8RO&r#TrlpS*P5sPyx-A5K&w#+Con%!NUY2w?b~*_OPV^bJ#4hb3g9oqt zFx`;sEj|peTT}C=Ot)O;B&z*#T~B-_NOdCmWvYzAzmGE)$$KS#&>|!t9nP*JtRQ3&3|VmOnwy z%K>DuAzxHu_}KVX?{0@FU{#&f`ZX3)sy#9biO*_Ml<*B}8E)dSP<6hj5b@1g(_kdd zT1)#(bUdC~&&*6aju;%M1@gs}L2BWjJmk-jUt6ZW&sff+J*z;FyT7frED?b=rkA{N z6fGt_8_CD#6hwq5pBU)3`-uy5;J{LB017G#k(uH z3YH^cG#&_ecyxbk@w)&h#GpxPNS%GIP=GwMisfJAF$eEvj;MR~3tFQSeOAjg<2CiQ z4X@a=Ez&nALksLP2vdrEjQJ6fQET@E0&W#EpW|sl=v}(I&qW9dNtHa8B^U_rRaDR- znAds91f=GIOgNxdFRSX&NPdp7+|9eJPz7Qrz9$KoxOON4}$T%4>y*9wJG$$5(avqxpQWP^);7ZLmcVEKi4v;RR9Z@31L5R+iv~q zG*X_O!az4BnkqVsjXJ<1x9q%*y5NXrUt3i8-$~1d9Ad=fbZXKG7M!J4mLIM@>T$2W zA5`pB{!^P6)zvyJF>DY=u_4opHE`b1GborGH{{@^>@SGfLrsw?Wd`?~_<^*Imli79 z?DBDSsv8Hxhg=+Et!}*IX8%|p&2ZC5gg^&3bN*JI!cg8x+n`H_kVBt{A^8~{U9N){s63Ib_vtJ zSj=ZFoV@ZCEh=t2E*`3cd$JDBzh^p*Bq~>HH#1n>w>5(f)8-t(qfJELjW6(5B&T_{ z&9nGF?_nn$w005RHK<{Z(`@F1&Sh9Xlb|BJyiiH`qvtYU?&fwwfR719>UxN7LX`ig zM(`|e0o%btdJa2JkzjJ#+4!B$!DnF@Ht$hQeqVcoO~IcSj=C!{!=2SI(CyTMvVLOZ z%i}cE5Qri%h^guJHn|rXCo*G$PJ#i-*ckW1Buhwgx;Zqx{?w;5{-8$s91H#UWAS-Z zX<1eM^uf&h{&Xen?P)0k1Fa5nVFZbwpyC&|w#Q=utd!s7KtOvYr28O3GyPJQzJc z-PEGiA6U`CefChOFq3Z~BPnUbui0@=jJAa*&nFhPmhdXhPW~M8K4Y!?JC(T!17I$T z-G209;UWx(r6M~}{w3yntq(yCfhB((0EdHvqoTF7-z?zK*WYqTz^va>c+rL%+ou_lXYM=@Hl!9XV7KL7*FvKfFH z9c1+(s^$6r4%rYcjcCm#$5ba`M0nm|q;vbc=ogg+Wc3_n>F02$lcZmhK*kbHb7zaz zfghq(f{zYX>LO|VbcVpZpC|$#LqOsA7&OlYNco-T(0KLH&2wtDvJW#cSM5rdq0?n~ z{FErDxsL=cNvrbfa5JTlbUqv(O^yg{6zLkXrT3>WS{1^(!`X(C%ErPWT`+Md>j(Ug z55xTjwg>ij7m_ZeU%ldg^k)cV4;2x3Xu@OxXpQ|=DuU>qfn)Hr3jG|gJo_eX5!rMy zl*_?zSMd`7b&*}=(o^S}H5w98>UjON2!;cJCUPUXZu5h-S3h3JRvc2m=t=uOWqIYK z=@qLY4;32?B)+v^A-9vrzxauW7?^7EFputTB<+Z4@Wm@GCqPtr(t`Yy!5@*~Ud6xp|E>tLT9^WuhLD`K=! z477JOmle}v0Mu_w{eP=Rv;+zjZZfb*?-!eIiS3?;iM>{f%%P4cG2&qY!vbz!7Cn6l zv8c5B<<@?EG}CfN??{)p9h$&yX0j6vkx9(K`0H zsoK%wE%KU=o`1@NF^pf0A{-)r=RuWn_0G!DQslROMQ-NS&z<~I5B_^lGY^>~+#IS^ zV0Whst^t;66BK(M{57tG{F|q69s0tP{5h{D&Bm2_5abmZ5FlzpC~9@?-|=V%{-_ANjS7S_cvukawLeq+=Fg)DJ`F_8O8Aq7 zgH{}A-r)Q_a24gLkNe8{39R$3(Q<`Fc`@3BnDD6nOzg7vPd zSAu*pC}v7?8=!ShH#&qO>zc&O+*NaGweP*JRsb_$=kulqJV^&rSp1Zx`Wry7(eoKU z;DwTyGSV}PLRw}?eUiiOBC*B6>H!lb*v;#6v2M8w_E)pw>CfYf;)<)@#R1mV4+8g* zF+GDF={{n6QrwwB(K`$Dv7C*q{o9kH4_H9^%XhUH;HYykROMS8~@@F$O+?T z_AY95_y1y)!$!dF{_+BTI7Po)Dam@vbGI4 zxF2SIAw$Dw%sO%PPbK`{#f6q$G3NOzhYnLcl2Ei0yXM8Y;9rgxbI5Kn`u~4fENjst zTRJBOF*)lJBTW+BEmW5;8UO#Ek)@801&|=?E|Y}Zh3pF3_)!qrfX`a-suZc!_nijX z?y{z>9F2Z*aGe{+C~g5PVIf}L(P}Jwz};M z3SSxdNXN3#{2bgsC>Lvv#V`M*{#lY}KiBVTVL&fCdI+bL)>!}mk)LTWhlS9hHH%NNVs9vtK~(pQTUC? zv|Q`?G#Yo_L5^hWzs(Ro6k@;3ZjWSUe?dVB4I29(_WHz{EA688&&%zRG~R2fzqd4F zKQ6fvYs<_3n)x|q!j~F+&KQi5+kJI8;g74UQM_tuj{&wCZtw51|GWEqoouJ)K9^h& zSaUERTKXXVj{eHn_}2kc3;F5kEu-YCu)r-&^M;dvogi{Tx7nI5j3*4bfbqw@+zy9o z|D}V&5w{@Z5&=O2H#Z9_Wef|P&t1cxUI4N9U)fVNdn($IFyl;K^u5^bz_+4;sjJt; za_c9b75*hw!$&MiZI!D{W9!h=AXz@ubDn>fEDrvfum72k@}_en9g1>^?ff26zlBoy zb0R&Rw~=|V+mCp7ed8gdf$!urV1Um4`fPcBU-e*bueKz|Z!kAFI5?Nvv<2D!w%~-s zebxJ)1ZKL-*UhCB(>!|?*Z5!Vj!gQ(RYEG!4copGT{d9ZCko|;{BMw z^=CMjNEBwlTv8F&c-Az79Ch>SW3KHh?cQMj6s=rx#bF1X)bxv1r#cucPCH7~%(=e~ADnZZ#$rB@~^4ZXei zeKD(RtcbhV;6Py<@wftp%3WS5;Bm2~-Jzu5L!&wp5(+l(WA`=P8nR%p@6}CBQy1>R z-rk*o4+rM8NW5ewytNa7fX8;;oG8R<`EO9KIMCgVSI-HINpKU~By*d0sE>8bci~(Y zf3Vb~4`L)&bkgQTDiI*s=tq??JX8nX4NE)qwxkF}bPT%)iZB}KWyj!CjHl|OmClvN zg`u)_0omouc(W^qBTvyxMUK*vLHUqpp7c z4O1XaUFyYLP7W>N*qe?pl)Ltzy3_1hM+~J1pKq<9;bm@n^3%_umj>3>?VcY#w8m^8 znSz?Fkv#!JXs)jBuh0wJC!&duymrTB_yoc2}UJjrrzx;bw<2K8l?{p z|G;iWpkW ztRvKFq=bMX#^}M5NY<}A-!GK=&Zp}qpTLu#YmMkXdIvt4f$-YkVzJl0bd=A4G#Zju zk?_k&jfJttL;uR=W;2xCy!orRqor2k+7;m;K3Clco^TMx(&#Kcos@IqN>FQ6j4h2)>-Daue-L7?Vsf1;AHjSAyEhuU(_%yWtF!02`v*)mK*&h9(pDuVx;fN2z z0ZRM0`==Ye9y@-(%IrJG6!-u=m$bZIy2hoXJoadjJt)ZyQVm>SNb;POWqK@|*AiuJ9t8k={b< z%0soTM)4h{HP%}KCbFrq3v(o=_s)22m>VvAq)`Gm;lhd-^9}=}=P7(l0Dxe0$4$+l z_$TOpHv$hgya(HrhXBRO{y(w$5gwK^4Sk^bzO=Vr>1?>i zrnOqH3bbDp@Oq3xRwwr`B$Bw}3KtIqX54dl>2V>SmlhT{6&n@RgDQuY>lrbAKY|&o$=V?)%*4{g*Flze@g{L&8gY zJ_q+v!tbsQY%XtDFa)8%dGtxf-jJ*o#NC~4P@)5g{7sHbFon*Xpk8?!E1JAiIozer z{3aY8hcKB9=H z5>NScj>Hyp_kAv+;$hn@$bjL=oaAP|W+yjz^zkO~X|};_Wi2^D2m}E@*Vg!hXG)2Z z?(SDH64l#!T*ll^99BrYT@LrJj38gi%cv?q-?yiX8!^<**8*SAK-t9E$vSm0}4 zY$12tTlL!7iz0kiyW%J`vs)RO>13{1;&_K9ZFhVy1`vWzNWsd_N9JA1V7>O z_l=cxJUJo%N&Asm3fr3RTV*rWJRij*8Tv*#gJ#rDP9WTo(lAJO{UMWCtC=IEa#ZU4 zQ(`H%IIa*D`{;yg(;E7p9a; zdSho@V&X_X$NEjydO2~0(Di-`gxQ~>r=pYq@S++8YJOs_`y1`O-U<7 zp$=q>G;vv2E5kC8&p6r;`WTP#CZVAr1wP`oypzL_`O?(#B=~7ew0rFqL-WHt`Rb8c z@JA--b%cF%$pA9O9~AiFa0A~CuL4&kHVO(n9(blZ48|@LfCtuobY%P4be_>9m#)sv zAAUA8=8~jK?hXh3PDaPr-rPWJn)Z01T0}D8u|ss;yDZ&(48?#lu88C@1oZDwe!IRB zdL1Gf1QGxNXKh?5?-Ov=1Cn1drb-;JjC-X&FR)1u1_0))(jSr|fnhTC?tH^J#ztR{ zScA{|1)Jj3dOBYXS81>BbMPm7jV0R4P*hm#Zdi%LB1cS)ldf)y%|z6z%gRiu95WX^ zaZNk=*sB?bn=)|YcfCJZy48Hxd!f(&O!S>H%%U*1_fIV{xZ0)qm!}(K#4c;$w>=!4 zxT7d>{9+?)ziwT=A|~qUWb=<&Y0O1t3uhT`e0{_52d9(<;gUErI8))_+U95ugt@{3 zwpLv9l>ouKWq@Y;aCMVA||CLP7WB#lukq~wh@j^ zzUR|f&R9bY`Sr%MeE=cf`FK|?%?Z0qTh?nsd+F9OT#Pm=Tl6^>G#>9AwG%T++ZPW8 zB%v27>5MhFuYub8)$UuPR;b19v&Fq{TO+5?jK5}!hpI++1NThK&8uO~m1aUPp@ z8d@+ZO+`aVp`dS(qpkJz(-?|_oV>i`g;gYsvZQ}_0h)X26-`ZV-h_mET}|uXdLl=k zORcPGu+rcW&=_t2iXK{j7SU3`K!c8)L;{ZqE{C- zP&JkF!XCXY7NJ?2SCwaK$&wIag?Xg5;+qz=2jxH$BU;3;n^<1vLI1G?B+ZLy$Ww$^ z@$qZzP0-9o3qm`(!)nR_MSuh=X-!s%%W=6Xy)~Msu`DL|fcq$IwDtu` zuol@<{CYl&uRC&}?v>i1|jF05iPX!WY>II#LYXJn)CK3+O_im(T5?bah0`OU4i z1!qakkEzEaJBHlgzNe!g6%L=+75k6n?5 zxB`?E^If4Bhs3!zPtHivwH5Tq2;GOu*N!i%cx`yWjRp4-DFt0PLzznd_Wp z%Xj3Iv&hnc*Kg*urXMsdu6AP-<4Yd>rbMkgR~gcfk0E#ws<$D(cV1k;dgL-fUgx_3 z1IBrYYAZyn3*#0^FdPbwfUd_)8(xM7PvI2@-r@qsySqtmSA%a>AC-bHJwiTnK697R znD4(>^R-1tZ|4E7Pz5CJuA(&pOz2k?()j2-4Sw2WjFFr@Lkh7Pm`ura{0ocCaoz@j zFW7u?!f`V6!;vkYS^ykDSNhVM7S7XU)2^W*Vo~pWI(!05-j8@vdO{4SLmpYtlM!U< zk_mMojwn?bwB4Kl3QC!Ub%c05M#&R6@GC~> z!rm)2dm^-;58zF_1N-!qO*BvdnX5hD10wwqq2#tb#9_%p=R4dD4SUSi{Hbr^QEYb^ z_!ZanliA%{{>vA*QoH>>)bVuYe{LxtkeQo+J<;{De>FyC$lls3_c2MgKkA+#>GsiF z6N$}Q)Ddcgd7o2tZ*W*@ukee&QD)5D*JpwF0#C4jj90=!^}EkPKHmvhI}PzUIAgtS^Fwz5;JV0H zQ~!WajE9<$v4hKE=jS>0E>>2lX$dGOXpxZhX`1VmCmQmRLLLi(grk8Y#xnfNMhcQ- zU00pxd?nHz%wQsFc5DRV_bOtrpmkB*q2XFU`wOQ{&lJ7Ut=aU5vHAi^!g*toYj-Ih`p}o-YiRjAd)nD@i#RhKfSD@9_ zD;J5aWFT}WUry=L8N*aoQPi((xdYS3{y;CF#BM093OQk2K{60a2mm%qm`iuN(a76* zbYOxe?O^F@>nQel7Va`}k4V|a$y4xj)BmL0ae$AY?;R#>6q3NE4LE&{n3R49OF#X~ z^z!(!3w1+^EBj2y9vzj~Qn4-&p>~W5?E$bT{Gul$WGDJ4V!b7Cq(GvI^YPCgf~2Sm z{@xG=3k!qQqKWvtnuy1J{mzP)lDiRJyR#~MC*{ZnUiAutzR2ra=m1Xa4oLe6DLVbV zBN<<;w|GWroW-zdcCaos0K_Bs3ctF0Vr*^1U?~57RTnJ4?0KG zCt@q&p2J^!7VA=8{?Pc>U|I;R>z(^N{b)C4n{cj*+GH4V#F9dHZt55tS}c_-8t^tn zq0I_o4j9=Lh3^9|usk>5Tk+jFa!pMfqE;`iy(n3N;+o#Cbt`Qy!&^a^_)Tdr-uqv? zK9O!6x41F#*R4o79@LoJpNgfAT*87dwt_BMecmmWqxL#kW^TW&HS^*jSl#amMf7Us zy4#tW#FdIK5f&G=>1sX5h!NT)WXZ+9zh3f=&6l>Jd)ST4 z77aKJeOli8Vcq|_nKDS(H)eC`tg+xP2aVh{1BMM9Vpi$dvxhahpvC3eQM!v!+2GyG zbXgy`{T+7vI@$S|`1>NszcnhrdrO@tTDnX^2-YEA5H- zmNx=HOyH&YyVMfHvLfnx!&)y?T8XYL;_rAXzBTxOtl^x3JB|hT+=+@PvYANgpNZf6 zFno&cjch$UOsv7Gj=xY8{8wZZSc#V81(P~Y;jU%ueaApnH;dgbBkjq`D&2eK_J zmL4zrudG=)+igY->TZ4RQIF^%HWlXa;p-S3Eu_LRHoY99AGGMVxSeV2cs1NQ9N6>; zhaeL08(r^;E9(Q&(z)Y`7prR7=Roj2ZT+oVUsg+|2v`n*I2};g4^D+IlX*x*!zVD{ zmUgzwU+@D~cW71vkj~z8J^ZPQLJ{< z7*7E=hK8e`XB?17`mC(zV{*oEO3y7r0EE+V6M+x#}wGM&ZQBfwY{)GBl z^_*+ZwO?f9w~TYZ4-D<|jc&Qp8am>$6o<1v)J}YnC^}ugek^>+WB%s@YLrE$t?<@5 z*LoZh-u61ZvJRkc#x0H81BUvtyi2z^2Q9H+vQ9IP5W_LVZ*o>3Kw;nX=?8(w&5k^Qf z(~ku4MvnDRQVa}Pd~7-=4?dF~__j(l;*fhS<2?Cogr}hG0WL1|p3;LQRBH*DFQm}^ z#?u9bGDf^Q1d@2K1SXmsx#rXr*|P{{L-XCDHoK|N`S|a^lT6Qh>94ME{qktg<$4N{ zHdC0fb7KR~3kvvrJ?fau_0mb`b9DWGsN>^~TjYL}nn5lP#tI~0Gn>O@(Ow^bC0|!3 z%yKsdjuT$`kbU5g8~litdu8o1#>Lgd>pCHcCN&vqh_ssMKA^L#hZpdJ9_HGgeh7y{T zSvA~rCnSBGMoz$4*0udgItC~dOBP1Ka>?DY!4RG4v}6nrLWfgG$PLDxs2&E-kHv$| zsKbKJDC)b^c#qtZ)HT`UuRqCLaGwXkntZ=O(ILDiq=e#Fd1!1(Bk1W4Z{L1!136

FQOnsah#Qzokuv0)D>SMO6+WznC=wT0w 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≀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�++Lh2o(pD>qK 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%0AF(J%zV(X=;@KZ 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 z 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 z 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

A@goAg;0Br0Sh5M zWZT0EPHW%+d}6XxkD==XFmm^h$fZffGH zn(&==IbSvO`AaZl@`}U336pQHUQ%+U0MQXT84c{5v}-Tl`$PVO*kB#fzOuBPJ-}3s zA}eGZ{iYbalHosD({hjUEhB`5Q^5x z|8ld%+SL5S_qZRA+K|J|B*$S%B5*IJ@|q=K%ucQ}D&-+zr&^tI7<`!D^T{k`OF-p& z-6I=F0AHD9{d%U%VCTr|T!^&|Ii*J|JE zuESyCuXd3m(Ux<4i;VLXz3wmq5Q z61v+pC=z4G{RX_eMbu5=CeLS>5&bPim5keTf)GV;4lft*9g?tkFE#vljwd~7k;_)b zLjY1r`Ukr$-qB`Wb5s*@r_JwOX=n6lMFnX0RtU)zU3788+bVZlv#dzd{3t_O#*OJO z$M@elvyU-)$09Tm%&|3Gy7q;4ZjrF52Wqec!J*nV zptM)ccdUCXt)H9_8&-g>o!o+`!H`}gAH9pJN1-x}2|%e_&W>F4!G463|o zgW8lv;`g^OhK4AQyzI?v2(3?=i)Mi;)>hmQi>N*qr)m29K2-3PNby={(n+lK$0Ba{ zYH{hYx5>&gU+C#;Hk0bq=J6BpQInM{y1VjVNUeimTojdQMrPn0nbcBCNbZvm{j7BI z<9E*ZcF%By%_Urk7jc_f}z+NWSTE3r<`nWxs;;?=l-a^qvhVJ z9J$@*w}dS0dVZhq?PG%aA-j@Uj*jpXJD-nLZJthW3@uRj|Ml60_3gZ&zFszV-t02s|GJ|Lb@u_D0B-zcRKO!zcD7DdkD&pi zW`Elhl@$X%L}WzFftR5^0NVm?0$l3f-0g2G|K@JGUQinYJ0Es4pz|lH?849O0({to zHQa!KJpQk%@_$`5*n#$xp{`Ib0}m@3JNCcKQQ2FRUGnc3NEH+S772{&pWDx$i?K`p zy$v+@T$Ekv-(Mx!#r}2s@6*OQ*3Nb||9U~gO^RJc;$M$xxJi@B{L|>)j%C|7umkO;m(kM&{oyh>Ehy$o?OHh_TE5od%$D;4yJh*?-L=(B*%dgTHXc|}oFAwNnp@7}T%h!(d zzfaA-NB_?<0W)g{ET4yuuazsiuz{A9w+p-Me=Xc&Cm(O%zsgWI52*V;i~euff>cUG zR`NefAOBt8ILsY&=Th?;h}Qyu>P@>kNhp0N2_u;FZ2b+5B-OAFQQYTr!6KG63~l|U zr+qxxIVROBwh(K`H>3PugjHB%N2tBJpR_E9`T+9exr&3Kkr9JKhM?1Q>=V(-hvH&l zC!mxRkYPe0J9+fwC@TKu4v3Tv?xWolX!5-#Lv7xv2km2=Ka_B!I zANba~*meGT;q66@IwUA-~8BPTRkns-AN3*2a3@?-|Ob zN{b(Rw--XA1*grMDN-~augb4}jQ0#$#{0|?n)j&f&&Do!oF(<}$e(fQ#CMH5e+r%n z3FWzKcP8+_(;ZyUwS{G~z9Slncd0)Hcx|HRgB4Qow%_pdtP)RsnMCw=<2iVaY2rlo#zK?!A z@MmEp{8OED5+3G#6iRsDN30z%sfCQgYMb?oR)@}lXIP1)oWU#JbGY~UIVyRxW%bxW zBjenlCPHTT%7p&-B5geF*J%rUb^ij)5==kSet-GUZ!@6Th}5aph(+^#cXkLoo2xCp z;`0s&h8FeJBORk5@l1VtbZN-ehg`9kc~*9A6w~wVSjpn?3Al z`NCq*#gU!o%<*~p?c#S0zc`9j`Pbl+nJ~;t#JFdqqx`#(%C4K^8@)Ydkh``mrc4~m zcXcIw@{7;P-(Py)E`n`CiwL8{c#-APmXf# zI9`f?L%Dgc(2m1f3%@=7RfdIn>T?_FpJF<_Arx+=yW9K)r_H-~Z z?(Ch-%?`nq#uC;JKaN9`sY0Hn9ew0wAE1wweOmmSk;rq^nx5ArmEG5;DU2uXUB8q1 zZDm{>=D3j?{6!9mjO}MUWfL;*In`K+`M<%#ZYbct6W+i2bd!AQ-S;XbOM??mh$_pz z`W}*lcFVz<=U}vQ!fpiEia+9-#4GjU3y8=$hY;LYr=D6G=fW4pt?PP>KizuuyvXs4 zvyaq`bZwR48d~@9?Pk)*+4HBa_T4JG(4V$iN>9X;qpGd=H{HN+ahs zD-M~rg34f^G9WABQnWwj9GP@PLubg|-dtb5c@WTj2*VA*j&ZK$Nvwmoj1a;RPzdS= z`>nWi;k@UEur3@Gv3<{p@RksE)UPxh!n#6jx6W@COKgGqWGG!$_3ZvW&)Katk^%5` zrlWCnAMAWW?QLOepwM334r)iM7izX+WY$F z_vU$4fKtq-P%1 z2euuBDkS4hvEg2cZQ(-mwHCHiTCgM8M_oEjwH1)H)dzAc0TbyfcnvFx1w|)yZ|G_} zUQK7@^FLB|7?qQHP){d$oiSBDfB##6#d_I!Q)t*(t^s8;@G81@y?h~A*^La`VMBMmU*>nSDf!o8^a2fkkC=KH2!zXWSUxWWV6hOpc zXWalzq)f%l4RY(4e!}VP`7%SW(aea_BIBbIZtDm<{}sh{*N!I4v)5YT1F@2I=%xH? zN^^x2jWbNf|BrPR6L(&i)S3Jskp_f|)|K5vsK;sy7@VU@aO2C2Gm7?qv?JxRy@ zYTGP)c2?cmYQ)bE)hHGtCts!CCWhpC(-`ff^q8U<7Ug#AlSS@5M#FH`fiKnVYQ^mE z%vaFJw#d~wEWj~jaSgJ>$SOfb+E=~j<#*vuH#$UmU}rvY@!2&A=4xs}z=x8?)n6vR zaqJbN`!oO^c}C$7BN?&eMI2Ljp+n)Gm+zXt*$;v~Q=@nIxra*j)4=T1}hRz{` z`95NGRCI6qRQW$!2vNaWr39jl#NNC&D`g_yP7KuiGJm*eF%!tMe#ISc*@v@p+g0PP z{9AD@mt7C@2Hcydy#zWHyN_NfZDvAxsp7TG2-rxe=#DQ5Py}nN-oDSo@z1@}*hmy_ zW&4VuBd$vUz3DUcW?mf`g)UM18pa!(8?`SVxoShdV!)KqME?7IB4rTtDAWvXWxs#E zib$R_dzU6)?Sa4#pD^gPXev2HHE(tO;A*NGtN-Kgx4kdP@M@+jPfndN#Q0oK!LFAf zfoUN=jI&2n$hDT^?Z_u0+Xc!@4ppb9-n5SQ>Oin%P89Py8l`T#O6rDkh21CZB{4bh;QuTr?!9rzul`z5&{ zySu3@FHV=SQ?`?QZ?Xv9a&s5O$fH;=9gk|N#5}b8XudJg=L~=&g0j{HC+D2^S@&Do zuRr^G*AJR*_riaGL{NFe-c@N*N# zD1|behf-j36e^RD9t$r~Mh>MBm^V@0L?MQ)lFYOa70^yj!qxb?h4=F72ffwe7Ml-~ zc%pN^e~w@?uZR}D6-Rx!sk@*p*rd-V4P`?3_8ruJDT=eaoyjwGT{jZ!hKqaiVr_IS zP)U&J6txqJlXZK_uK>PClz)_OENEZou=LQn1T_79fTol_IM#grHT{^&Wo3}@ zy6mhlUCaUTS`Pdc(jHwTmt;6#Ye#54;5904)u?L)#q;`H#eu~b2~(3w-85b(X4+KAN=|@gAKi?&F+XT1p)T(DGSjv8X`j!LNG=rgn)XK}4}-NvTmM$O z1a9tIpQD~nh|CPScs|m56$P5yqOYj*D~pwHz6yGl2=~6XJI*k!riAvxM}w=$$OB&T zw?a5terM=oEMAiT-rMCk?M|KDyg7G+wn;C|y)`q}BCT}k249kAOcAX$d28VJ7ZRL| zMw2M_i0~TDgpc*}9 z^&&d)55`vU?wlTIS^0fqE7d1kn$=J}Yuv)eXqM58cjnk5isz;_?{Z5$sL40#H+<2W z59UGfX}PZ)Mh2Ow%I+%sDjRYuSCz4{`*I}HMU9>vDXS6jGJJxsFeT9eyXllvl6e^l zb0Jd(Of5|T@$Ds(6Rl)6Q_b9{=nR|djfp6M2@(3=?Z)ybwj*yHYwk)R3@xBJ)l?q=|e*ki0blWBgpPAynx8%<3~d9>7+(PpP7v zqCbBbUB2G~cF!u0@;AsL4y5nL%hPNYyZ1B8#eN8H%}a@QGNYx6=f$i|HWIo$``gTy z7*Tzl!SM|V{h5;=hiT5Z!mDL4}WZ!FLA-?((0trpcsvj$FQHnVntSHWSXqLcyH&wKPv<`=_1@MgevX7Vz*hCWZ| zRPIE)|CsfLo<^fmycc%A-y{X+eImvF?Zzw_+ z2UXrIjqt4&rW+|I$%la|64fdf)Am%s_V4FmMcabaeen0fmD>1b85OJDTw%=b2Lmg; z-Is4_MV@C}sCUNDh2H4j(RBTYch~&KXUZG&!v+Dbj_>>#4kHA{FY#{3@s-~*qt_Wu z7N-r_$!5-rr`mGfzN^0-&Y!sA2elU(@7_WPadODha`eKqpKO=yy=Ca_$mk<^KS|H! zf{m-?7gw7nOkd`2N#(PDQQ6(J`l{`|nX(Z`Dd)(Z`!3rXY#SA{A69*{D&J$;dmar6 zi2+AoR##W^|7dgco1%?e8LH_;XH?DI($Z@l?>}0+7t$Mg>fBBs%bDU5ChX-WBk6yo zen);VJo)j5kyFca-kVeY31(TBGUac5G@fr+X-BZOns{JQ9&F` z$|+>?OX}WK%INGESK|IIcIDx38@9vMAQ!gKFe@cyJ&L(_=lid6L24l@o_39Hlm>#H z4a(D6e;y*}NjJnnrA#*h>}FIn_G7=SmtEHkTpQRz)|`D>t|Y2&V>yx-%?Z5hfG2fzC3EU1ov5@3rFlk56+L9xh~&H|z4h zh&Cls`eV_wdKg9Ztci>A)mniE`MT-=a{DBtjmDZzHd!o6#-vznr{m*}l75*UnEG_uC z05>!0Gx3e;LV7%hWjN{YuPvF$ztnENd(D{3!r{ry<6n|hC!ZvBr8YmxaXyF;63b$d zO@e?*{iHWGzWH>A-J&X4aubAI z{=^(DJ3mSm zu(HTh?jIuCgG6X*UxBx|Vn~?J)5QcBAHPSZ=h!;z5v!+$U&T) z<=S5>E(lBje298-oTycX`I{r{MP$jR;wy%jC_G`tEZ-Ui`CKsR3{7ps z>b(sy-17UGc^Bd}%m^rckDy3Vn)K%+BB)c=r_g+}f{%+yd52F?Wwh;I3y5j*q%0Bz8j)XpaDx?`+{%zi4|DB+X zA#Oi&__ccc@MgrUx4SI#wIsg$2V&ffJLc<)o0mRi zD!*Fr=E-wr?&R)`1)CCyj11;MH$(2eyxcpg`uI)K2ow!6*C34lK(7X52>*QgE^6u_ zrra8F@N_*M>VzLTH2E zJO7+c&tpYn<`$P09z}UFCt2^%d>uE|sI;jb3T+B#UVLPxd4+V}Mlm}0wvt*73k2l$3k8nT zKHa3zTsBLf=VX|WVC`p@aBus6(v zKl-%0Nuutacqr)X#??d>scV}#*p%*N#KK5|CL*?{P zk}V-DN9XdFCLNj*#(*}+Ss$M#=I0*0hn{&dqM(Q6O^Iyo@wRAL22~gKsO`|+MnCt29mh~*Va2(A@1={8CHZLqz437a{6kJ3^8RMN>TYZA2+oUF zy-ZC{+!AHfgjoqZYsC=C*eZ4Y5d6{v?Zd&0s*5xqk^XPrcpdlq;fr11w^D^DBCf?Au zYg}1)S?0NL)5O4S%dY=L+FL-i@qKHs|L<>)!7>WU_|jWajKM`{>^Ld4`nV%3P7}!qHXJ z9XG4K;d#`yYM*=J(DnyjQbEdCP9?{PtY&eKOtQ#^CyC7cv+oe!K%398jSVezFpZ9% z?p-}_K~MX=TtC{??ZD77jZV9?;$}Cq;eq2Uu9oucAT1{ad#uzs*QE3{S zK1bkA#=(o$7AbVg5}PX%ZuW>*XVkt=_6lOFv}R9Po#Hb3w&4^{`pY$H7J-xwM&Ow! zh2pI`5V4!#DU=-gFT!1HR+9-7Z9BEE|L#BMg=m&^fJdU35{r8(KKoSaH5@Gk zQxLzy_8rIVV3G_EK6hlUDK^##;l)+2i8&kj{;j+9!$VfNQJRVByE631tnJ4S2|@h} z!Ol4e!q}c+3Ge)dGm{?nA0kp5SR@k%(+!5ZtKR$4yUajIKk5gfZauOoXS$g@MGQHa zKIKR>;(YI(W6l+NlmW828yccUS^6ZtTcLNBn%Q-j3)!)#Y5Rry=d5#I`=j`o!l%Kl zVv6?k8i@{ZHpLugsMdv-f$By83kv@k^=_Wz&xNiX-60iD@bY4pEBAtmAcTud-zjFe zD{$g%p$`&$>RQFo!TR2v8LGIZJY?zjV`$y_*{YLRjc5iJWPRRx*E|tyJx?6w5{v)f zZq?*GOrVeYKtR5JF!h)?8SW(Yai zH~;Pe@h>C9!>@-85TS~KvH}PN1q4z8{y-0#AT@bkJ8KX~T^;ls1Oj1$P@?QW=)f6} z1w;uPAOP?f1%LEdDQ;!4lY%?lEi zQC3I)n;%I3oU{CMN;pdsznBE7Lq7<4^yv>=CitNnM1&1$1T~u5U6i+Exp0TpAKYuA8C?qT*Dk~?ips1v* zqVq;qPv79Jp{3P(Ya3fTdk;@9Zy#Sj|FH0g$f)R;*wnO-=^2@yK4%pa78RG2ek&`l zt8Zv*0z9PKdi(kZ28VtOkNljOott0ywYapowY~FucW?jT5O#Kcad~wOzq$P@7f_%7 zCKmAiZ<76AauES?p`xRsp=14(3kB8Zui!-J7z{5kiKVr$%-u*B`9iUu$fV@g_B>+Z z*M^c>xKHDdF~8hof&CTjAIbh_f_?b^B-wuo_Aj}XL9&2i{Y|LA3k?+&cvNUWLdQh^ zn=r93|4CT?p0NK(kNzgy|4a|SMNt0!5)BOlc;RAWV*lrN|KpQ~RX{EA9+p6OXefX( zp%HwnBW-I8B+Ri(sf`(mrLZ@Lu116?or0>+oM$cDPh?dwwSJpmnD!Q{5twrw+ zTDrnj`1-fX*>qytKV~WO2u`|IYYs|EKo$GO*^Y9>=KfqbNawAaswI~(edkut{61W> z=WrDTIIMLCYQu`sY|TKGQ4ts0>33cul?xLRx*C>AXC5aUXAXn3BCyhaE>m^zkbmP^ zeE`o|?wQT!$>3^D+OT35YO#R4P&cWcZVwZgE{EEmZanC*PB_f#=m24k5@~t`gfVJk_ye>Yi>WrD+Z!5h?>f zNcV@K`?=R6ln)>cC}Ll!)> zHHUHkD)7zhzV-UKH)hjZeULcXZ@b6VS`#8xQ2D+u-BZ&ni2*p318%SDq5ORgr4BVUb}u$)#PqCN z;@OU=(smV(8=I0&vPKNRzip1hMJ^JHg(%r-r{54b#+{^@lX=@?v$vtG+W3^X z-ZTK3(|+fV7U|(dI*tK^c_wrh)c_ILQAi5YFe!it)fv{WOF6l~*-yi}aFO)@2?bf4 z5zNAxy*hf`#$xr%UzPrTUrhRLs1Ym-coau%gJVruTVQ$pT-w|EvnQYGC*6N9?{}sv zzJCp(!EhTJ`(rZ9ImDc+{4BLSUtQi7{K&02TBL@=BB+Efup#Z*ZfG;<0mQ<6=6_W; z1xQoB`QiVHMnPNu3DE&t0_=x1{hFcVf?ZhfX3l#iXb9>{PM@{6cu-3VcUb5Hi1Qaz z@_>fmcRDFwY-+v41nrjE5c9wgRmQw))_Oyx9aq*_aD~oYDclXl3OL-7A?R$j*Q5O7 z4NKAk+Y54;1_LV4M!ugEp>nhWv};$Y$eMem;Ng2gb<4h=5?2wP+jpwUKK(kS>chFj zy3`du`@RB5r$8$Bzy?ne9YJLMX@gUb;s`r65E}vHT!F8=n zoq-Ex^QQuZ!mzJ#Lw3lCJN6_qp@V3>Tf+3MSwtXt z_?F}EjoLQgH$Ea`_ge^-E|}n04NSY1EH9NcOZxYZ^6sPp1Ml>s z8^m1TatLKMYw|Y#h{(728a83!foY@M3qYJA8YyD=uLHi~0KsC~5Q(qU7EKx_-tiTe zjDVDNd%UNWi?Nr^NY;LYE?3fCmk_jFWHWDV%c9);^u0EfA3N6;(sMssG6>KR*>hJw zLqIhx0OA{X8P^ncrM4a z_YCKl?W$c^{C2%XtW#y)#z+ja3d}?$tiM34UPN!jm_uLkiSpG~odS$I!G{+g8v&AH z93UdsEAI!&Ki<%!x9oSqK*$Tfl&wqBJg;w_RxA&WEkB{&srKVNmCri^pqt5W+*+E} z#q0p`eS9YUm`9-Eocj`Sh2*pm_wk?1Y&*IfuS0;%`CdHG08UiC;y{Pvb(BEn(6A^R z6FCezXr+3t^hfDO%>n;r6oT03>J5}p(QPX`V4ZX|AJ0rH+ffec${5Y)^g~>5`-Ake zuC^(N)#+khpWeFFR0nRsvVwm^ef%D6(Fb*NPC4(|yA0(E@RpK_@aL_~sBewN)f%dM zPf~A`^Cp@j!5dYOCd}w*!Lpzd2e$a4xNK(iZdz&H8=KtlL@*_i5KaVyMvZom&1d<*e0E=C0W2>7mO-{h;6X0}$2Gpiv%N6Y00TcXj zPA)vbq9r+5K1Pk!51>)a!V>Z;l=Y2CB~NZcseWu z25g~QXdPdY=`Ghuj(>|pE-Rh4(sFrQt~A{UB!li(+SL|p@=wjyvJ<&hOX_tGdHu=k z%QLi3%~0zwW+%7VZ(_!Hw62Pm*_)cAaGxPbsyY}ryoL!flL5;x(f)E!ti_>Q%pqV?yl^gkTs~tn4cS(`sz7FSyuITJG-!wWZ4o;= zuJa!(^eCxjTT8L;V_xnbiVA69*JN|t0udM=B7?_WgMns#jG)wQ$?P|!)t~ijLgO9_ zyG|jvJq)8b>2bJuOdl3W!Bkt_rn75mb0!tr@%X-S4?i6jXsFmd+7!aQ$Oqn z+Pcm;KoiD>Rt&X?Yn%l6wyVL0BHy2R(J&rzjQadxjtIlMqkfmT1!*D(r6X(5Ow7Y> zpo?8X>8BhhR~i2DshEy4CC}4!Bsd)*p?^UDM2Hx{2e18kVuR7`wRaZVj>w*C%B2xa zV0|~I0*TdA_7PDHB9qp|L0d8JJX+riu-sM3%#66Hm!9jJx@6Yg)dSo~M96PofDGUZ zFuSN*C(7$vM|r6km7((_yI-`Rp}gvY)3Mg44`OBRkOc6{^gCQY;c{UPhu{XRs6d*u zdgbXrg!lML)$P`Egn#wz^C?9rUBc6%+76>Q{cF3k8MCWHeE=-t%ZFIDD$SAJ%EiSs zd!gimB~KnVH`k*lS_;LviXH%}{4g^VbZFlgi~#pM16x*L%?uq&!=Cl4awatQO{+oN zUgumJFqKJhDt<@5)@Jn3(wD6N09PdK_bV1}#x1`5*rveYCpFAnRlFM@^-om)Fci|8 zO(DsG2x@4W?@$#jYMSR`OI_APM~lSbVD7$jbTT#%NV`Lm57rD`g+R5Pn683zw>NEi zE~DPSLQIv&HYW?@omzP-(@_Mj&s2lhwUSKsw9UR0-S4!^ z+ua6iB~idtdnhfBBwx%PdsfKdjSH+);D8EQGw5A0)dOv|=-}*0e{?rTV*sAoFFx*a zV~~CCW^%Rxa2ss!hx8vGCy4~`^E~2v?m!Lra1|Y4p!Ncfz-VP^@heitDYTy$^`Ddnq*;9U} zG%0(}byc4nM}TGMpb9RD*OYltm#2%ThM8_N1XsCVOa|rnlIsS`{d!v-521O1B`&Xd z5F{=Gh_BrqkrzJ2L*|b82v(bu0bbwcmBtEg@jm zUcU4A3I#WH7P4 ztE^I z*G_G#J=kfDKST5pB$oU+nBW5tq77}XGvzIPJ+vt&qbda=M995i>Ur0*LYGxp=L8og zB-*j5i+K;TNDiO^z8xv*0}o5u*+^>fDnk&Wx%%kE11N>#ysis~)%}pUJc@PPy6v4Q zoc<@r1G!!&BlSrDn&bZ(u66GO`>m`Q!_Te?cF~7^Nd+bZ-){J4yRZ@bvyyy)CeYKq z$09V@hLFfLnH+86zA>;)$EpH2T$SA*Qxa~WI3s{m(x+uKy-fO(SJDq8*d-aiUw7PLI}a22PZ_ z@z5i)AL*;BYxzE0_xT)?Zek6oqfBHz-Xfg+XUgJfX2p3>J)T&7T1jLDcL#SkGO0Hs z`Ij6orj^_7$SVK!Cmz#Sj$Ns6NbTe?7i?6<#GhYxWBkZ;M6gV#xEL1lNYw4l*74vkCSZKjYLT$L#@R zR$ua~TV$HJ+s2U#c^>6Kmg1MtqPp2?%jWioBn-o6j;RD*KTaNl#n+))NlV#%bdBVL z0qTm~&)$kleKl;%DVkwODD?^Ysq_Rfk`S>(f!RHb_7!noBM(=EPWGEUm1Nn6;01D! zs0LK7Dmn|s-`HwSGWm1bWmxWWQ2dNHdvUw)1YVy5)5FP773DSlnQ%kW@f+-AznUr7 zWa3nYGza&Hii<*aToDveAP5Bhe9 zr^isNO#5nhl^q*Wfpe?b=Z~4QX@>vH*Gy59dq%w}b{>8EcOofvVLU#Frs5o6yt#wX zuJ?lLpP1q%%H8S5cu_d@TjdN=NT>fo`9-QVNqxJ(8FY|0FLM1%z9+p*y=GG)Vf%EgRaMEi%(<7pC}UbHj|Vm3ht9n=jQLG0hb) z5D2+@BF`*U$J6J#GqJgOgx>{YM{*qEoU^n`%_P#6J^!pn?6Eo%7F^BtFo#qJT3_>i zm=dy&3}(;wxJpaCWUis8MEJIX9pw*>H*Zd(Q@CU zPE+ULHl`7*zDx)xOdpMtmCX9dPII2#KiM zMTfo6#y-Rst-yb(iSFtE^cc~3P#qwme@p+vdnj#H<5 zu1DXwJ&fmUTUGY&Q=l`0YW4I#!1XU?tq*nF-F_>Vd5A4GEpW6qUe26|i(RF|$Z}v* zSEaCEh#han=o=XNmIxYZm#TUL;fSjO0LHTz^#LJN;49TjX%i7Bgzmi*oZ~>+*`bBU zs7M*|HNXNAuEm_3^3p5_+x(Jx;aUQkIpFV-*hTIeFeobi!NEyYqp2lfc83raHoN_@ z7H61tVS1YmPtQDi;ag_ow@oQA5%pmnjz%y5&j`$VDxjFL_gK)V0Sc#dFYKC~8I~`s zV=z@JmDut9Vv284YXXR~h08P`r#jrl1BQDgJ@4WuZPy{>hX4Hun~0JSbLlcsdo9yX zNSgi6unx`1j(|~9s@T%E3ey$Xs&f?s2;}PDN0c-m6MOLh!VM&XPj1I~bwF*xy{Zf` z8RVKWNXBV3)!G=e;90lZn{)^g@~e7yF{hAdWONt#%#JJNww~LQP`^=Zaz1LyLX1i0 z=f37*I>4pSOzARQ^-i3E;QQ&SlZSXTC>>3PpH!GpR+qju6)@@OJ#9O_{C&GVh0Mf#ezv4TswrS6VghTREmh*e!fNN z#rsgWdog)Vr5jax_4!;<5_Ty%zuAFzIx<@!(74b?kak_XSk$ZrY;hb)Wqv5gY3e=R zFPd%KhhU4dNF@bx!Yz9Q4|WAB%9o6s2Hopa@*%L5sqya@tfrN0Gw`CHrd5k{OEx_c zAYY@6>xd3v;XAT)I|Af6aqPuyjhz!sdXb(hG=;GM`Q)8$?AhXd{-*8om*xs$@+{XJ zbO4N06EI~fTgPFAXWuU#tvE>^W29oj;8P_LbV3LCEV2e-eH?IQ0iP*@ zlbt*Q*RiCZyo}4#X>w2$c}?}D;oTo+kCfa?WFlO1AeaWW5Lp>$zRA&YdaWh`MHJ}E&>Y}1b`TW8SU1eNYbuwQs!p$e@!Nfl{1e_l*dqI!pHt`Ngd)) zXL@0hv`t+=K);12USBDulAzSut7^o$xPMoj)R}Z5DZCx|;)x3Bn|B~y(34vP?hJUN zX`)SB)&NT6^hz-XPbfsj>XItW6>B}^)Km(=>%bXkdl}~j1{0Q{zZ9MGPWmVedX972JJo%Qo$y2re<1V|0>OjZ2cwTt zW<1$Dsh3TsYdGu(-t64Hv^z2cklZ9p_W@}ZkKK;}4={vw< zys#?|)`mcplS1neyvQ%hL$_m+dd1ty1N%SvaM>c4UBPRkKP0~B=@#4OmBB^&Y6Q0e zg|BMimF|&XdO=1oC}H`U@2=IWOQC-9LHc**!DF<{$n<-jRrqrxbEZPOb)HhE z`M^M}#3O2~Br#+E^QqVy?N0O=eZ`x}toNV3K*;sc;=>XQod%V!%?ei~vgT}o>f#Ui zyCIBxg##C)p33XF=c`+~Wf0r0WJ#7#J-g%o&=HYt>Vps7KK!xGCjG@tZ3UD7b_s;Wj$+C*=p91`eC^k707*PkN%;XKg0z8QGo zz#8j}6X)?3KR?w+Ye4_ZpJccPV4!E+ivpG|m)IsVYDo!r>DJ(9Txo}@wa@RAF&Bs! zIqh1kHqu{dN@#AHJYiuC$eW}Ufet#0_Xad_i)LLIxPEK6Qzj`r$L3#DlX^~FhewYpW zU6KIZniq5+5ODSq!9o>d`}7n)fQ*h2Xan+Kn=HLd^8&k!TfubV9w$3W*(bKV-=aaU zLHi(5z$Qr2ccrAc7`KVD?puOkM(!KVGFYTRvHa};r0-lQMla&%M=O*d z`f7QtU+vcEYNfNPo0|8uvFj-DFv!j92i8DM_`L|6WgD0#MFI>!oVlag-`$IN#hBF) zbqfA`!oLmN0Mf|7ushTHAus{NK?*&G#|YQFW|4zN=#BhXa_yew11R{}Juy>!V<@?U?BuH{PUfJ?;1eTsy>rD zvC9|u`MVnVi^L?7ZM@Rul&Ot{Bz4wgVJyGS>?>1DZrpez4>={ zT)9!!1uf6?qTw}Kksr%Y)&OkAZGyewKlq#9B=-r74Ldm|FsJgqk;C}>2?|0>Ro=${ zrC-R&MPPi|z_|~R+V~{(-T2mW@h=+IQ_d`ol)G_U%^blxObT*7_8nq^lhB=@QHlC z-FZ(u0h*G`XF_-N($9FAV}{uJW`jjY5exV8bWpXtH~{247XUj#c`L5JX*K%!tL8YMWky5<+$OBJ~XXENKIrtdff@ zOn(Wi1iB%%E^yX`KihY54Q)-W#W_?)$>1NFYW@5qM~narKa_=aDi+}k?*lr30ANFI zV=w~%Lw=9UjB{LIv7G#M(oI{&@FG{Loq_qP`rAU>y6lZ=41#D&tz0{oGH;$8EFkgz zJZb<8J?G&+6OFx)qCqghOQF3N2kS)QV&C>>*oMiyPbr3~l>kQ3^Yj$D6J9BmrM;bW z=%uat&nm2^Tr=uYt%s68yX^^;e{!kqFIgHkn*OeqN>KJXpvvZXt%>Gzi$`zbvk7ApYK~HMWLxe|kk@q{vh6cm z04jFn4G;m#`=$g6Kr56okfF3*qk$Py+^&Yonj$m2FHrh4Iz@etK^jqA`BphFx9z#xAYG_16*JpFbe2eC$1d9aF zg)T@B={{TeyWrP-;f55(S>*?3W>a)5O z0a4!K#M(914#kZ^TfUuHd>eFVC@8)u38bn7_wYk3#_i%%H+~(TdE6(siK9J$sND>j z%%G}Lzj6n)_n|8i~fML9NcO5JHn3>5nQ@XPdc3E#}3Z)SThS|Zg_ zVs+bSa_Et1o$&5=5Ft8yxysx~Y~s^cRB7Hv#joj$Zx_!8-dK(`l!jP{Yo0c_ zoyKjg9ntDM-%jNwL!Kr7l@ppp_)3pKu~p#r{ClD}Nn~S8z`8NkPlNP|ySC?2U>SD< zRtZxQI5jSCNme-!6)~ZCNxux~{vjXPg1syECT!v3X}0P&0QO}BO?FNS{O#t zmFjVv{u1@~34}(ydKd3yCdueMH|m6|82iWVu=jDtQGLt%kSlV^SGxb?F(CrI$FMZ9 zVjxUpY$3e~MUKg;pseQ4IHT_15_l-~2d7Do0~tAGfW^_B*U!d8<|96t*H%6*3az_v zzDEmsjU&ERVSevOWc7$q7+ulP+r&t;8*WY}K5~SpaQG`JUN}DuRMFTNlm!I9k9fsV znuWG1qBC>0`1|-VyQQliHJanwhy1goOr9E_Pe-U#gqT844Y*J>u6rZ@DWC))=yB|u z=LY(YjmKBnB7#n;vKCF`DTi`Bna!f&tTKa5YtBB6A;aC@OEb(r|9u{=is*naZ~z}S z`sL{-`K(#uDfQQA!K#|3{rWvyVr1O*DKDdS_DRuVTE!TUC>V_vk}r4 z9`T_miOvS{w_N9AsDMUs5GlP~xgO8lgqwBhw6q)-TRk3hc(LgiloUG3S74r${?t?i zWmXVrBbtHgT*qWGtn}o7So?d4`H}oFO?_oz8*laP*sB*99r^aB0n$$Z@NmM8H-0DWcOH58B zU}Z>eg0B)#LTprju|;xk_x*3_xU0nAHHec3m26zF^b(VjPR2h?4I@-*OWiLrB{S`a z{``l4QvSP;5|4&`a!}S;CG)@4Sa_=2YF5CHGL(0dPG7fu0sbok|TyL(Ox0=9B z?1(@qOYOas{YOsiIIdahXHkyADv*%rMJ#titnKa?5YZI2u^u$x@f(Brh2C$<5W?9d zS1+ae6{SlGM+d3;)^ilkRTaHYzW*qV2jja^KdNQDNrjHj%|;ivi2~Q#Hw4I>nQ>uz zpblT6G6pQ(76fT*T^{J~bpjM#>*O#0RQ}UNzS98+bjA^}LDs;R<20a^3l;?rA=>A6ejVr~A@gU9ChIK^4S zrQhX?#syd_mou7DUc-8|r@9zfvcu1byR=uuUM;A)eoZ~6pE@tA*&{-${2>2O5Pri# z`NYIq(y^#af3f2dFJcYm(A#b=D0GOT+uI1eIkeAKoodPnmELxf{n1Iax)DCUy@mlc z{V=%<7L+rA<+nC(G6Y}jbuAJc&87T0ca1n6=+#T^u+rH37(y$A+17RKY_-9#tY<>w zp;R}=#JCaQ66Brkb0C!T`O&b@Gx_z*ef-6C*^e(?cx zDaaECkCn~RpcdM%pCNNpv@K<7Sk+aO{O2H<`Lk!L3-un^XKS0)-gcbJ>Xi{M_FSpJ z!cII(T1En@E&4Y8<6koas9t*b3s?^-bS}cN^IaxRngSgm{=TQSn7(X#pi#|H25LAp zs+-IDM5ld#>{7$mFjJi|%UszKRA;;IH)}u8BD<~`*Z%CdZshM@FPMQJ|KuUT_t^0` z(-Zn_+URYK*(oa6#gZgpZ#G{*g=+HRi&&TSURQrMGVmkww*JttU3g#KEBX@?s%=xb z`rG1mJbw%!XOYM!b>nVml2xQ}55tC#A$PwhOu~X=HKO)zJA+-LTe1 zI_=j{!`8UeDweYjjDsNUqZL6>^Hp1tBCL-rBe@@_Yx^FKPR=%M@%_G;;Xs_x?S0Nh zsao}2;0w&%YBkog`II2G72OVsr%P(FWL5LDv<%Cy@2+fj^S^4H(6iwcC&potMZc2% zdZi5MhzL;Eo|EfQJ0+a4H_w^q6gT6f>+gaw4Ki9>tX4`Ifft8H^lw6LlW{_p48J=6 z;!29_`t5HXid`x5^{80>9qzScS$J5ma?S8$mZ`xu{ksy6%h+s8aJtxM|7R`aMU+K~ z(dxXsS)WRPUSI_;RHkaRm+WNj5te1T`uRDa6Cy8{MT_}GG;5Dp#9ECPY8txHUuaD6 zq+yDU3(sK^P35kaf8I5vnPL>5*|iIHp2j_*LH86Tx5Mh(Dj|{dSIC%+$Lu8O&pvj% zsnUU1g}jkL-z9Vv*ZGpQYq~wheJH{?K8fE6{g@O|yZA?5(xS3&Tjb%OiE?Yrj&9T% zJL#C#JE0Ur^ot<08cY^?a3li}S7fD*59cMppTXWY${yLT=3{&EI%bk)NOy`XvZu+oKFu$M zgK@N*c$1+=mZs={r$bHH_G5{|#h_j1a*uI3u7<5Ko<;x~R>kq#Uo`PpQUIOeDWxAa zJ&N)BeE`y$EX41!TUA5~kN9PKgFWfi(kmSyca=eN1u-&M08D%C^xwQw)d9ky-IvrzUxp1xGcMquN zguWzuK|pp;Y)t3KF@0J;GpoPFRU#|1i13`i=<1_C#4l+6rL~3e)FWM614jd+kX`EW z`N5$k8Ky5@|79Q@K^;sDzv$^GhsRRF<3H6%DfO~YPOKYppiAl0? zZ|99gRQZpghg@7;x4Y6-a>4$9>C~)}hIpNs&fuJ;t&afF-F7dY_c#^tk1mF>HTP(S z!kgsBjjkOIp-xp+mQTaQ)%hH4nZ9awQSI4Q`>nLox8{Y7KLw+m$dljP(x9qf<6;up zAp5xag3oUqC4z9@Ry&x>z1vRsN?XEhxk2I5kH=7`+h}j^7?GL~<)zSTO$_vns3D%) zMVxk$a%Qd_2m5X@jWWZ@Fp><*j?aQd`o)su4P)j&G1TNFhCD#g|ivAW86t;@kibpx|M8!O$W{(ao|w4u_ws zXEjaiD9y*wQGXO@YL1jg76y!MB#5;x_D5fBo7zrf+9M9*ly=eWi9)?aLUV^EDNl7bTM|tOX6OnQ+23GMC1b;>7}3eFc8XLG-b7 zBH7{FEb3VAH1Dd{!HHwrWS?W$uyZqHTey(UF70&JyKxQ1Z+$pDwPKeuY`D0km>>Nv zG>h)K+09(awCvowB)G*VEg!HEm2QdRqWYtSUA7#R zN+$3k#S%k;dwZ3tAnQTO8otx}=J?sCGQ9z=r^ypqmCtrYiVudB&+jQXS`Hk+6^`u34v!w}D_7l`RT zhFrW84+W|xLPJN6RA2-a@$RrEPzoM5jdJpDf zKd%%E3PU0mP>h1e-ZK%mXONHk35SPhe2?1|6(l2R*dfHH_Nk9%=Em}6^7UQt^%c2R zh_oJg_nn*)erx%ZaMUG9==XN|>PBPxJ1!bzK1tUHNeHShTTm#_cnj8i1j?OMXht+#ZYi=Z4}8m zFPlDKJNr%@`T0vmXb!#k{!7wWt$w$O)Phz&>|su0%>5_yPyHZKh0$jm%1)t-tD zPD2y=^eB3s_Rz`tHb-6*cSmhMLx*G`3)+2RequrTsOI+?gOgtog@!BV%*Arf6!&h) ztA2Mpr&$(aB!&StUx{u3u?6qfxK~8j^+n>yFoH`8e?JT{# zKE&&oP?dY;BV)Z~=+QAPg<HBMq(7$=<1 zP%0`7=^F1=Czz>>S^gY=_?>B{CQ+rbKEdF4yx-fv9-&veEs<(P@RRe5T)iMGnUqX6j`ve(ixdyNO$he% z)lJ+`;abH%jtN=|E_-Xu_KGB}K3t0`PX2K*C;re1Tba|)V|JZ>*2Ee7}17CO&r}v zRjY&ct31ZG0!!wkQ((sanSRHu!ceD5Np3%KM0RZcY&ic`3yZdHYVvxp=54%fV$Ye{ zW3TY8w)1w5-eMm$_3wq#%A6*SJR8S^(o76wwH{SX{vkVSQ5$PUT`Ha4NyeCv9#zGs zOeYO8eD3m3n8@90c>AQN`RWX^ag`3>BLi=zjp=Z1PV(mo%VNa3$y^yT8m#IHy`#*~ z8NJCiof!(Mnv6Ya*7mvsPpc7*m5rN7k%i3{C1tsd0qL8;BnKnaGxnh^R6ILt!p+?q zEfKp`k1yZbf8!7c(MX^}EZED7NM2I)5Fu})4C=!Ox|8~jqtk)T6sMcUoPzivOB#^yjo+OyiD+ zyOTeSI;h|@(gKsf_Y*sjF;TF6$s2nVXa41* zldpoG?4V|5k2_wT{A`X1KyhCwI@Vu&jac^zY5AQjj(v@P6T<&$fA}3^{>K>|xA7D| z&o;7B#-%o$GK`ivbJml&GOx$?!2-T5r1}=n?LCvIcxn~IE%)Q?0hSGF(HqlWbP((5 z0fm>;OqXTcO>HqcX#H(C>Y>7t_a75va)wZI;33v==TGWL=Viv81_$A!0$N@98|f~W zJx^EW=bs^U)I>s)qsT>{Ko7|qBXn~LOjV6%3=ZwylwZDewZ)da#vdr4;%Uh5I)r7t z&m-wyjM_GRmBUV+|3M^B>#0xG4`!T;FMZL1=JwFnkf}Ry=GFzJ)6P)y8JUFfxN z3{)4NS?--RIDh>Os%PbyCRfxd1A5Tm$%+xGzEgH}XkLhKkodr2i-Y_x?d(~ggCZ%J zkNUy&E{63OuG;{;NNf+3s%A0ojLw)}FqJHzg*-Ny91Z^6m`K^ozs6&{s@0wx5M?pV zMQ(VsK2A!zJ*r-pU6q^G*o@Gz)dS@ez^C?q2_;!`JUgFV|s=Fd^`ES@GyFyE;kCzKeTTCS^(7_%+Z|s9^?B|NI8r_ATVvDI5j%Yo+f*5Hjm=}5Ij*wH`H-CS;JdeF^ z^}%#}wnmrdys+vrd0B!scnhgasu>IjX#Crt5eshM_6i6xrGw;kt>b9 zlm;(@NtssUc}QsT$-zGyTFHadS7_SwU&MdW$)3I<>R#kyPmu|nmxI6#!isE-@T1)E z3mw{1HW&C3a|Sm4>2^sQ3%<^@imre1mV2|zP+-0$EY@i;4tkB%pwPS7X?*nLyz!8* z#}rXVe3D7UcwCm((H#+{B3Jb_#}2taLAUFE647H3-y<7OME43M?F{R;IO1z$#-}9E zL=$D!<@c(JsVCk0Y7uS3sU?xdPZ!X}6KUP-m7JOuoB59x3LWO;8Xjej=4*(BfV`GM zPv;i>&3t*#3`zXPC*PN3kUvArU%c8!nQ>-bHuT73qklbm_g*SU>vaUOE0-#dE3y$s z_R5pN>5|xoI4@!gDw9<6JX`eQ{tIPA^w~e+HGY@xTs!_sSH~M;!9kP5&O2XJ4sl!I z+)U0v$#+4-LM2=`7qN9udOBrA$rGE4M_S*Vm+8sY-=C~F82*0qVdkQ_T--Gt!v^M- zC007+$^i7I8a|>qaXdc^*S_xar|gwbCE)m@)T{|tk@WhL&CjcW7rX-lM%h zhOs~IY4~)KNZ%yibK}bjujd5pi9a68SU7n7<2M7Idh}PDf4ii&sD9^Oa`t%1fj(BJ zfBNHVv7AFUYo|H(8L3m#-*3#UI`j|honM3j?5^tN(xB?;xRg1xN7|quQ=#-3P7hAL&9U^DwrIf4ha^F=c(|Q$QRp2z!Ruw6;3HrzLJYJegc6P z`r2n)zW9dr5ym`rbJ6P(yp3p53zD_=DHWR_z}hs8x8?ed5&B2`_Y{xZub&IA^Ac>2 zG>SF$vhr(cW%?^?!a~}>=8T>t*NM_DZt=c5ukY5b+)I!a3Prqf7KJOgXoSdWnL

  • MIPfC;Jb@rske`H_7Reio+GxRiV>(P(Gcl1r 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

    ;u@ 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�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�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

    dkZTHF@0CsFGGsUpT8z|;C3%lTRwIC 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%0A{1+$?9K)1 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 z z3QuSeD?$*80_1l;P#sIXwF1IK&5&c0(FSDknBxDyaFhaj}`P-zYp3WDa!5zeCB0jF71{H?#jP+S}X z{*FXI!RhrlE_J|c`CdMK3imYIS^%9$=#M4~DcDE*!*eRO2RS$jAWLPB^5VgkXI>Ib?Y;N=R3#KO!X9$B?X zOqxfuItwI=c*`m2u%JRhG|Vd-957k(KqSrN)=`+8g!eEr5FYIr959sT)}umkpd!Zs z)#XRXcaSeSJkhB+(j`ENt}k7H4B1h@e5{m79j5(XVf__QBf6D{K(pAfLJ)SaXGN-{ zNuxPS7UUfvs;s`fa4M_x54VY)Ufa(ZuW*D*vGsMY?w)5}XV_M4X=!z57N=H^wUh2( zX1$deystzLGuHh{=;>9}$+;oTN4t;=^+I*qaqF$X=c_?gk^8Pg-W0ohggCoT@;L&n z&vkt_yUDGW;_oLKw-+UoA%?2<-v>&cA=Yo)>=R}^mhDbm2>v^-Wfcp=82$+TXa>$5 z0G{mX40gMplfgA!Emv)@)!$`Dec&_E^6+2yPg_4btM2)>n^8(E7vk7t6N*>sQ0zv$ z5XPEmq?l?s~}JT=?75?OSu**}u5*WJ1RWSR>_Kyi%J}dbj5!wnvrL_wkHy zU5$SmLBIg(hB@`W5WR2F$m;SA!s_7_Ewx(!f>eNx1W0!vm%cCUV$Za9;72<&w!kOk zHFf26KN3!DZ8teSuQMw2pzV%7$DUPPMM-Ty<_HpbR`nLLM%2|;eDc@dh<_`s`2^Xo z2CYXDtxxtGLm-sA_DKjtMyS+EK8bnY0z830+sQ~|zS2Ri;U8GRJYmvj{uHu5no14@ zJUjL1KLXD5A>y*7LfJDHs2sA0c=*eQ)Jrm9BQjs}0Au=Ql%9 z^ur^?XXoiz;HsuWF2J}f(^plrS5aEl5N2M|WppY#nk4#|rC*h3*iW1}VP||>Zs9Jr zq!;sOOOr~jGr-i1)E2vXTZ`r*zki$D>x`CVFk&M|GB0 zjMis`3~gI@I|$jT{}zoIo;q^A>Fn_Ep;1G7#Qv1B7;PH^+)K7nXx4(mh(I`EgZLGL zB2z;%Sxk~1`tJnA!Z{!$5lCI|$BU=SOAsZ&OF8jE(;!Pp*cyDqohU+o2SA}KDG^3} zMD${T0Faa-;5vmyg9!fGL)>zi$lDVt!iN;=xJR;3ldKV3Vg@1yqAAVB-Uyykse*|e zV8b+WRwru3(?`^Omwn}azUl$C4V7Gi|W{yK;h z53?}Qw^}jqTu~4+@sq-QBIcYN^JeqkF@bj?qW0v$?#r9pZLCehc_P6JgfJ7vgT9cX=znLn}myxgyQy4)6q5!mebnlD}CalF>hm&R8T z9B$MJGjg`SHuk;Pd6(14xReW0LpU`CvFQ)wP@O{WR(v$)3SK)cOAOj$*>!^l6}N(w z{ZHm@jR+<2Y0*%aG^o<)P^Oc^%%ldDO_k(tk-GMOE1t3M&*R%s@-eEBR?cvF7<|)b zZ@5n+VE^WIy$J6&k!%+&M1{E8zFliT`1n}W|GF4*;rFyWZ^_yEN-A;lH3b}3#6|m= zS=#mNf35qvzt7}s+?+)h0Dyj(4zWYcXa^hLlUdt6=gA%TpJ%!;K9A8OJ$GFIJDp8UrRS zad;^O(sB-ECQ`AlfEI+*e4Gu03PR*~99EAk^WGdtXKZc#!o;CUl0f`RiFUg*I;leK zOqHfZ*m!~(3kI}Fkt7b{w@`_YrGlCQT>eVa8(x-b)pBUmo1BMEbyO?mpz_CdrQot? zNp!jx40zUCznRR)(1+*flpi&f6vbHyqhwPq-^{dGC?3Mf1vx6>fM!CDgG@JBDk5Er z-=~ehG@KpF)#v*d%zEbWy!JuZexC>xWeTtOx4NcqR!v1WZl74F{cD0LJ)*aLAp965L^rCfGn;PBAp6OW6__nHs=rN znQE}KPeo^`T0c6Q+iNU-!#e;GOjR0_wC>t)|f1_~WaOMz$)4%(gQJ#=!bRp;0wR-{DzS1d|~?%!FW zhE)WHuJ}r%=;YZ*>?g zK7LDlZ*}HYIp)W}-**m%>pp#^2;eFFD601Xjda~+p0`v|5PrJMVSbh$KYMO6XVj{7 zbzW^=8qkE_HQY@z>df6AY|bB@IMrv0vb1bCdK#J5dO97GJiBJp>1g!Rvb*P3IJ9(> zoerUsxIB#yKVGG&7yJVKQ~*e68QHk!S6L@lc;{Dmr&lmGmsNlKze zm>0|r*SD<%c^cZtCK1%%#5)DJ6|w2=grqA>6uuG6N0)=AmxC83*U3!R(9%iO)%caB zb#js8>Lz@bZbe`jD?(y(l38j!@~g%YSMZ8Lt;sF5KLiYk$iH!ZL4WtEB-&?bOHg2d z>RJFREUyDY)gNu^iwS{9(#P}$E~DL{xU>#sUSE<~0w2*(T++$TA)%(Wt_zbkG-`A4 zjH>dQ&gujlj>a_r>Mc{Y>qnqK0I4h(q*0Ow#EEg58%0O+M5-bZr91~FUI)L51BH?c zN4&kj4nGw)>Smw;@NF$4cqW#LFhs!uRD6+o3JSvAAQBxF?9oL~_;_$_1}!fpEreeZ zH3>H9Kj)iwQl3yrVfP4-7C}WI{bG~BEcqlj2y$p_P9Cil-0vsXNIQiX04%ZYfqC8s zky;X!6hnYH{?-Uc@F#mkol*uq)XyLspW=m(FF}Jovm3#b6a}FOgywecQ+q|6GVi&i zN<}3>jcdZ!{71aO2&KeYv@Zi=7iC?SuJyyL?9>2|zgqK7=F=V6>rxRFGbHZIdZK35@T%mHNQw)pzb0_eXRL4A&yWB6r>V#Q#uqaSaWDbcJ0)repoY{=J7?U!g0tGW-L< zcnqmCP^jsjr^5E7asEOS!A8nRprXdH1QASvN(vf3Cg_Kye)cUfBUdQfxI|PAX^0S# zI25q#6Yu8#2#E#B!`cfM!7kJwbbzV~Q3_4?2XT50U{BaljupY4Lm2u;WU13u)Vo>l zeA@GZ@$R?#hIO4vCC1d*PXlWYiG2LtM#t}O3KNszx{o+ z#lf`@UiMwQn7jGei4=BJ1)PkXP%;dh^`s%Yl90D#!Hq>Cu7wO*2}C>&gml&hRl62V zZwf`;`XNSkA&&Y*j(%-6c1<4wJ{NgnOK}jFb?DOek*uTpkT#JBmNDF`89022=!}7d zvy-D=i?d&ev%7z5Z*`8`(T#CD@;oMQbs!WWnG1>?H4H*lDQc+`nfsnI9V!;76nP~hcqh#I4t=wA;;;< z{HQJNoq9aaQWQH{{;FCOOSL8pRlYh>1T&(@UA3Yp<_D%B@BUThI7gjI4mXz)X(-yW zBxhqZ(I?BMMeD=Kq(hlX8rj)RP1xRrm1?ePA?Mpr@-=A8B(haN~JcfDGF zId~VBzkoyV^;r%jf7#3YGfj*H;>PigJwGlEo{bA{&PMg6YNm+0qLb0r>d`wW47jS#mvp~#O# z;J)+YJi8^v`*~A%J1UuXEQOa+sTyIQKUaEnaEZ6a<2+k@xySdL8T;D% zAmkm-?`q1HJ4lGQpSV9rKHDHTD-oLW*NVMa*Jj~D(9d#Gv!=!TIA!T0hEiw8IIUrJ zYm;!bEIBfjh}BgV|yG9sSWhIIbTFJNxe%h9K#fzV)JZ zYSK1bnt=ge2}DvXtkbbZ%cjHH^ZT?AZ7X@|Xy)YH%CP8zGSM%j6Ki|y? zdcGNRu)i+L)!u9^cS9laGc(h0YB_i`TAGBOqpuSwXJ=H(@ivrDYJOa#TU;6o}#AOd%?H z|8Nit`5JboaJ}RgTUx&7a$3Ks>3hvkFs|do`>XZ4Wr%S zu;ZC-|5V=3g`Igto7l!UFeZ48chKzyvGDu7A%F$;95)XoO`w^pFJ{-R4F5CH-&{%h zYQQM(;mGm0^j;VrS7pKI$M3Y?9UqERm(S9|!sF9bUE*YQ`BNOsfM4VDG%_3o$}%l4 zAM^Ai^W-Z3ALp{izmLw*u5MATF44{|xhb(>!QD@{Th){l!9RU=f(U{dIU&iy;F4IS z+9563V}$~Gj)F>Y3qJ%K;R2EK0})%|*7~;hf>2os9mPlfeA)AbaZ4T(41taLdV?Xx zLIjfhLA8&~Pp}@0ZTGXVG=h}d!?A)ZA(x}2o1CPDlcj5fpJIKC1sg5?I{lM9He5Xh zL9c4sQv#SwMc^X?h3R}EE(t0-(GKnmF3OlUI z2l$`xYK^cdEq~G3o>raC)9S*-Q_p@Pl@IKe7mz5Z_@s&j55g4|h$NlhkPOD=5qUEN zQUvD)^ahTki4YcIJnaNYpu+_-NM!b9galc8#|DSRvnY=GSHPIWN^1tsLP!=)-2K6~_E5qv z#gj%UEmbKd5%G6|RHmrn>e?{9I!*w#U}U9{XLT=?^XN1;q>C+ zwc@ecQ|c6`aDKllA#-bWRZU$}NgtQAj{3&7@wO_LS}pqIa(mUz2FkGxiY`U9FYf<&DMdoyGZu<&}ly?agIHRW)7)#nvWJUk0-8 z?rr9n_O@!yo#5yE7GvrD(%%O={0D~ zam0pmpBmG`3EHk4*nun;&(sHt3MuwP9_s%rYbqXnEFyQ*U>51V@Om+(bEJX3V=!n# z=foGo8YdhtYJRuE>@jyAk||nZP?i|8AE?Zt->*%Bl2xHZcQjFg)9HE}9#JY!1I%pq zIBp86>1w}zJXU%QEtxl!cF05@zIq6{#`8N|b<1woM`<^1r*f^6YSp0CsZIz$m`;Q) zmIiM?+dFk+gxs+J!C%c=FpbBmR8kO{LoMuA8jKLaLyh8o-6u7PO0xHoCc3M%J09wq zQ^n-b>BXiyf;$j@K46Nx^xF2j*O$WqGT)-{MaJluX(434y8}{;cO$_&vc2|mvb~?1 zOPaUqgWey1-f0&?Z68|lt)YyrxE`!j&nDDdf88J^B&Ei+^RU;S_pZ0_KSky6IGy9p z_&q+k=(jlyJcHf-;eQ4Uf4_Y}y^!zZ`1^tWZ-?F-V^AzCYM!}w#r%$kvge2kw=0aV z9sf6SuSWhCk#Axf_`wen3EywSFP~6R1O{39E2xfpfs-uI!#|(mSJ2^aMf1&s{!ZU> zC+|T+^0-DkUr%4$*?!OK@|~}j>`$95{Eotn54m%BVbb;3Rc290wyt7XOT}&^x2Q+9 z@1S^or&(S(EAHF-^qY^PPV${EYuy7Q`Iw5J@X~}xLsB6+Vj3nl4j|M*q-ZBVj$aAc zT#5KexdyQhtI_K41V<&JtsJvjXmC#A)e%IxKT;)JgUF15|06ga<@etJQA|=}@UoCy zCbim3wEUD>8>>2Da%q-w<;r%I3_9|$>j7L-7`dr*5B%f|l*In}_1#tIhkT1a!&V8bWK2^7G-M)1-#%ytCBs-^WQ6$8Th0 zxjtO7~GE)?Em@?{ZzX{2T)XQe~NG0^s9=cL8Q9oS>kn-g^1> z&hGK@@5z~*Ig7gzh+>|u2Y&}vllX1#9jw81D)3%&2XNjtOR&wy{%U9Y~Zogk+Klmeeoq)QO|%!_l}>r=eT zQ@rzYp>7JDentIv1#@aCsF4nCa?cJj31Y+V#hqT*Qz8<3dr$WtI|$yfu0MN3piX7x z^4b`C`!cL;!j6Khj|fB|DB}e5E9+VkxWOG={i`;PQFy6CEyx@Eq+ngW@8ta@|%dFA+ zYvrf@@N7y;5KQhNqc;fQ#jKv8KrFX0!y5YY6q@?rka zfm914hS|*z#)}sPkNU#nd+`z=L}RofTO)8=A|jb4$hqmW4ThKb)Zwrv zoPp$9S=(A)o1dHC__uLj`{>-*gyXSTXCF-1TmHcAznlA zrmv|0Gd8Xr?plIvP<~Q;wscUBrVe9>yUV5E_`8>1`8%=&=umi2anE(R8FJU`Eapa6 z!X2}eH6c`NVeMJSo&|DtEE!$d0$9=l<&_Nn$@UYxm{DtCHG9#*4I0I}mN;@LZTe#D z2MeEzd4~zl zmI?13Gsbg@yd7EieO~BK0};eR|DSnbv3eqJhk(s!e@=}6k2&Vo3-A(y;#ltFsZ^0J z12$tSb}Pc1CXL?gaZ?$LT5}kVd(n#!BRo-vwvzFXl5vre3Q~<@szVsgd_rTB$eU7T z?-bYVr(Skor|TfRIIXUed~+Z2XNV&^rGx)-w3(Qmx9hVFaK48X*)+bu8b72prc-3n zuEL^E2Ld)|)+xiG_={PKB$EOq-^0FGhw1b{m@1PtMW&CGCgm?Dcq~{b^eS-}iHjqI z6xL(e`@PJ1$9=({$W|ZlxvtmA>4&gxBj0G>nuvEjNk^IJY)y+Wy2S>krN6McsKiF+ z%o#n8E7~o*O^^SwHfpX@wvnqp0o7MQL3xu1(b+E?F9*rI9q{5}CPmoP4U0`lr!`&Q zv%v255aYbtb7aELW#$O~9>9<<>|@!#0ujR5R@69e#*Z zSdw?O|9a)!a%;ZraguRUFFbT8w%l}BH3qpO-{yV!%nJ1z{_AnNv+G4ngvX6@!<>EB z26<{s{)&KOy7|3ThtK!9wQaZM;`ZbCr*7w9x&_M$tY@U4Ig`~CS=17tnl?XYpS#t7 z7eY_%;TAdj)>m&s46sK&z6#1S+?_muM5k85rB;*-Q34UCM57YnK?)_@V>D&NA&C^i zbGA@rv#k^*W~L06fFz?h6tNuCA&I0Ck)fp5p)?uwP=wY?jGtMQUav~ok_!}s=S$61FI;z)BtvV5xL3M3h5xCMCpRw5R35Q_>p{t84g^5tbhM!xWFN&m z2f1Fi$l-0<_lw@YkB0Ppea_$fIJ+;A412l9>I5H88Fh!4?9dB{(iGLwZ6+qsrHyga zjN>t1p|mgp z#t=d3P%2yIbuO=$T;F5A1cA@#U6`KlY2H;>YPCNw2jT14Z~2esh~(Th1~vQd4NNSo z)jHy~x?3UbYjalH5}%(KzpzJsVTZ1-AFr>I&(P@D*y09DKx&1We{9hQ;(iy@oKr8; z*KBBX*3Ea?XX~$1S)N~V@;dGs%`M5J*y&jFJKdfQ4z?+m&=FWX?3GpA-(wIW|66?U zJo8qkOK6>=udbQh?)BR@A6_tzqhI4^*xC-oQQYD8@2}gcp3APT>)t}@hxQ?6fbQ_t zAkHHAqdTD6UAOgnBW70dB-n`<5(Bp{9UC_T7drzxl&AF<1s6Bdk6#if!oMJWIrS5n z;M8m8k58H1-}VMMByqa1SlXLGmV=@s08z*v;zObThp@8>iYx58bZ~d~#v!-_cXxLW zuECvPP2=tacXtnN!QEYhI|P^M|DUO;xtMRJs;lc%-}FV->3!b4p0!rZZcj5x0$h1B zu83T2AId%K(daw|Cm-)`o^MJL{l(AEL+WOY<0RtqIoQ7$Y&kH zM1E%f4ELciUZm_g{y0^g5m&=8+rv>)&7hmtRXDUw!G*%B+oN0U;A5uMxk4wShojTx z6E8uMv>?X|QVq7`|C&Pq4}cKNXZ?56=t)9_@KNXC)iO) zis+@eD7p~089I5m18Huw;Fmr+s!%`*$!}YXEk-irJ^Wy6o{?`=e8A4d3Qo9}{~eOG`q^ zu9?H)JbA6{UB&H-NZEB6E5STIzw|N+0yCB+t0j$pQ~QonS0BYMp2{DW4gpIXcH83ny<;-^^D^qOwEQI;nOEbM zk2o$Ju7&)Kg+8~u*}St3Ckck_jK;W?-Yk*4l2#`&3=S3i z@9iP%YT~;zCV&DwX-HP_&Bq7RcsICNZ|c+qf7NzP+pi6Pdw#$@gX}$nt~ar2QySoY zl;G|m88h-W_4eImJ-5;N-58(YPKS{63P@lwBxrVUEz`s4Y|DyF=yvIMG0mBpCZn2o z7?O8Valzl;D?_%cZV}cE5}Za9>2xVd$(RmKza?08CxEOxhBTo{Ji1>A=rK`n5dK6y z2LcB`S$(ElskCQBtWOc4O(MO0Qxi_cS`yk^qV?6QjE>z!Y}#p#d)P!7&%eruH8nzG z34Cs|X}Lc3ftfwG6HB#z6i4Im+WoeCNWHw?mU z|0++n;W6#ny4k+F)WIEawo0Om<82tQ6c_(F^!}f<-~YLN4iesm*3zmm;9D2w&B@5P zk?kENgOhmM0TzBf`Omb*4StxXU2i`)UHyEWAprx`M~j=E4==G-#HfDP<}+CO+poK? zWFKCSv$-U(ZJ(P^+pnzGR{Ch42k-lja0o3!goO^Wd`Sak+(ZjBK!e(4oeTDC3uBXm zD8~!GW6-iF?3LFs2rhT?X=_S3m=a%sM!nYz;b|5#JunjAuu6h?PY%YuTFi9m4FnB2lc+AB%XzN)d=O$=583 z6J?RPN~~A3JCGq| z9E0O)!k=4-TSGWyfq!HAkKngyQoYX+`K#_O{(Bz%G@Thv!S~O=?3<%k#b-04j2GHH z-y1}$wCP}gNl;%(DiV$zm%kul&*jO1}rRq|NbTIxOHXUSy)sXU441$7QRJ- zzL^_~@kqw>n4&xFh;eY=Lb|{c`d4MZ-2S0^0z%>t7ssNbhK?mBF-*_wi1bueV07?& zH2N*l9^&-^V(58ooZnu&${8jAn~_g2hu~g^Uta$BywbdYmD{H{d{9^6dsm_PHpkYw zc&8Xyeu#KB$-6@}kmQ2WuzR$-d$q4`_4^)L;y12f$<<(JjGCLiZ~E6X5L7zoXX8uc zyc|kOrq!_VTZ4X_=lTP|_u`OGe`LFM9IF?@RU^Obk$w?v5P_xVk#RgOHR(YXl1UmY zpDk`bQI{`GO`VESVtEcN(T6P+gyQ%DnoQPMS>c~u;9p$fUtQpiF%zGb5PuA*M4~ON z4}>K04fhJaYwl(<=&zvs;#@Sv9f~qT&cy?X&Gm)-MdUq{kPm`*bo5v3?rH37#Y26? z!z|&pSF>XiVU6h{)q-Sc$8@spX#5aaqy{Drez_oSG0YP`q!laXPMnIEOz;7IK5t|t zvS94O^EQ|eg6@M8g^hdvg;r34j@CR}=zfoALSTZCbMT8!Pz5hsuo_Nn_)9FQ2RRew z+|ek3!5)FKO8^uqFT`LBnvm7?xXaZPz~Mg5-^cH+8bX0k@w*_R5r&wn(gG7?G_lGh$% zt%Pt5nyYW^XD|`4Qzo;tn%!tqxl@xDmXjA2QkQmdY`?%EF%VT`ny|NYtQ)#drW7|z zK2PJc5*qvUaF3~MZ-9_OkLb+`XO6BD ze~+f7gAPFR&0&k{6-@`O0DQ0y^V;K;Gl5QDWTnZS-$f9fLlAeqp2Une^x#>g(U)1X{Qw*P&-^Y+be1ezAH0V z(sKVU4cs3$dv?(^JQz6{`R-}S!N)<_NuM8c(^vDPqKw%jn#vDj9zXx9|72vxv*?bW z!z-I$Hio3pA49mk@TbCY=LiyMS~N&C=gyunv70q({Rlg?n0ZP@d# z?eT08;_bAMIm+{_rjdry%_7W^qab<6io`_S)5+Z#Q(S5Z0wr>PGH+I0=;_uIBhVtxLzfWpzAGf?(ez z$OEX-_>IC9ROv$I>M6D)5=;to!ii_;OT8Lopsk!R{bnKxoeCs4)fn+dj*#=-XGX(l zc{IW^>Ryn%x*4S$*|^mk#j*aW{k)BsBDR#aG}rg>^5vUP8@R*y`s)@M2AA|r^t#W$ zg6geL9BxVY<(8Xt!|&`jN$bVm_f7ws>fG>d51H$+zOtR4`Kqr2lw0c^46J)P&J}q= zY(+F|bo0)8lNZ9>uKP@9LhWJsaf8y=ET;p9pO*iJnEQXnt%8L8AQ`l4jRXUH{@&i6 zWIROnr;p5(Zu{R|arHbe0#1}6Q(9}+Z@AGMo+@d%0_@(GuC91*WK^D9$*#KZh7i?*J-Gv(9Em*NyaJwJTlVUxRUP6uGMQ+qRcqOgHMH!in3%H|e*RpiMHA>a zsTnrzd`-Z+^gaN^T%Ai4lf(_f)vGaB)ZgN_ht#Uei9#jN*lLVBLlbk_i9o^dSwu@Q zA4rBl5ZYp!#z3C@a_KTa9}i<1Nxn(17fa>gGoUxAkYv36nJPFkGA#^Al_(W+|l7X+kpz9OXF6!JniS{n9MQbuZCW{bAv?;AnaE z{M%%oiTv!x`umEuQP(2_(PhuY`eO$0&kv*2~6zk(#Pa%pN1 zRN_*A4gW81@3L6{*dJ=IsDR{sRt;e87ku%W?P1$nVYLrnT3wWfDM{A5z`?yyT zNXGE7yHmwLBAqtN6&jIH?ghc>DMlp-pa~Kd3zLIs&;6olA^M)gY_{Z zgX_P?ID^u%;eThwd5v`?C5Pj}i&xK9&v!@D(+bnkd(U0H!IggTVC4BR`jOJ2DXbsF zig;7!*pMbi218-*cx88U-{J+kzV^qjJ0o8dIwn!Azdqq)k#6=g9<2sLqzr`3Of>}3 zaZR>?XMY0cWe~z+?#C4YF?pVRp8)WHOI>}DpnC$J#!zfosuSqW1AX?RJKs7>RsBy*%L1Bl7=^Qf;QVWDwhKEUfJ;x97 zlBp6O6D-Qx#h)?*f>5UB(ee?O+?6$7|D5^IoJQ31819nDGC4<0W(@28{+WL(o=`7? zE{L5kh$;I54c1$SpyMR0oj>S;Lf6a^0)c!D{=;Mje}Txq5HLaLw*Uq4bg*`fY(lV% zi%t#zB*4`_t6`8^?;u2?C4wIq@b~aVUV%NMaDC9C?|Bq^GPNv8ea5-qB{M{@fG<2+ zU%m;*(g4JZk4hsW84Zal_FpW}-jj-|z!aRbLIx*Ui16_byW%I4$}qYRZoDEfHJ;-i zRJ#Q$oQoX^EPMj29?ujvezpD&ycH0J%{ecKXgel9QBM3iQDagqJi;k?CS zDIB?-*Z~y}B3}xeTJ~bVDk}C4fQ7`P@L7;K5H*0IgGQt}M{}Bi{{e5Qt&kuZ$ou3Y z5(4m)42K;G9gGYnDxip$L#NIG+(06q5||eY#Kkqy5TH=9u!q+e0folS_L%`PZWuh#cy@AKZnC-kXGyYBqU@#k_fAIlxv+ z-D@T|Ybrdu2Y=6_dW#n)H&|5>M1j9_6be3g^ExBZ% z(*P*Mj}QxwkXG*6tDgNX?S&lk!&@~5K{D_>UcWW!490RjU5+BXtj4IV?98oB!LPqo zM5fanoK{5GRt61?ll4bL$s8wH9;@|{BZlk(J;C4+AuFTEff$LNWf4iu6j z|3pd_O1||${%|yM3xKHXfsfkE96uema6hW^iq~9`adH@q)cYW)wfkkGhAbQV=f<4jW7>bE zY-|4~#rA)TxxE2=K`9Ij+EdwG{vQ*I^RBtMnMU|Fa-5+(uZL(J=dW=2e@XNI<)A6~ zJq|r~KQGvQJ}p#!zMY?aHhgS424H(Ei*9Xp6#fYK`PkFl`q?Mb2caJPm3h)KmfKDd zmT4ztwZfh18e9Mp2QAp(Ki(DR*tVZGz5UVas$8}1x8o(knKo@%4>E|2CnBNT0bHoz z4n(EEFQ{Q8O3wC_Y7KtDu*G4MyYADeSL;_FbTSu13V!!cp9;&_V9{?vN;9z-=Ohdz0MUUWd-Pd`qF&I)p zy#_!lp-oK5%|JATXAi#v1eyfErYKY<^Dz3XF*Fe_KJ(hZw4dY!@nr0<7MBhV>DIGR z@hKb=Hxas*k#L?g-B=dtRxXtvkOvKmE9ami@bm`jHAB)D+R!7cm_Zr9r=jEKkLJOV zNp#Z@!fMJ%RvAdG!G5!)1AY}4GLKHE5U21aJLkW7dSMdoe!N*H^SK;V-@Zjq>xY~XYB8LXsJ0YA&v9xJtH|e z)pMXCCdna$U^thSq62-Z@VBkW%VZN6-of=j;L-kBibYycM+-oKL!f)Rkm~=o)q05e z@#|hOI{3a?aM04(-U~t+k*3D9Z*-RWl#~b97Q}^eQp%`|%A$c&a|vhp1=_|M9w1ZmpxE(h)%#J#Z*|&HYK<+! zhf>bphgcuvqO;swL6CT$wj;(9(WUOLf(>U``4fxR-LU><3Xp?iQxMj#p`+nJXD>SW zod<|a?F>uswJcb=|6AA>#CixabM%gDon+KZO_gvC@p)JO|g1w zA|+g`FUxj{M9^f==lX(>lu~C)%%VgFNzl%TTl3mMZ^vPFbWRRXR_MOq;p*j@ATo4 zQ}E1`IsEytKZcT+3e}~plx4h2uHt68s=BYpR5LnVOE+4}=&3b;UR7ybRa@m)@z~Vt z*6iJJT4^xE`rCYQMG+=2f|EN$L*|lp106Ym;-{89Jnmq2krg_NBtsZ9 zd?Fs4vcUx#C!VYW511Rex%jC|R5Z~i(2twoX8SdMC}ng{p6R)!;&Mp%0B!bjLhycj zW&39>5}uYN+-BD|1Vc&obi2*fta>$BX(czfHQ1=OE*NW4b4ryaeip*l8e&vE_zstX zpKat}`{Ot*7Poxt-q{&`#xy&CCZ6xwEp4>if6|5?E$U{4S90)o-9wuGgf$I;nrH#W zoHJ%f_VqB{4x-i0q7De67qaAvsb&tbJD17VTTLU~P1my%@NV!*meQ!Dpy;A7r6Wle z>^zZpe&dM@&)dVu)%j;tSCFdwP*#S)k^-sk?C1dX25_p6qc~WdS_TUz>njeU=5-pw zQ0{NeG=Ue6m@(IwQ&+_`SLQ_m?eh$p#b?~jXV^&z$azXW4eZLceoHFk0f0C`m0nUh^T(q`-#eY3psb~)ks4x4Wg|CFu14ChRaBaE!ljIX zGIwG}Sp;CwYD9u1u&IH+0YvirN3Nr7rFV3h)m0-}!{Imw_$b`@oGKmQJ|5NaN z>`Hp$#pqbOHQUcE;9wT&d%|n5*!K3F=*p;}cT1VUMZUqmK6~}vn_er@&6mX^p_et< z;VX_xpxm9B^z;)`|Moleb?(i7vJ3sMm2uBKLX|<+(`x%X_f+ot+x^_4I@0o#iQ;2x znssw-$jzlz=~k_r7ggZv{IbwXSeQ}!Mg4Nm&C*To_j`9K*T-JMKjHSP@?j&dfA4XRVH^dk8`eT`)$!r+ zG!@B6i-`3G6KTWO_0ECJr^$i9_>*Wo81#H0t%`(O2slmlZX<$1bZ1=*@`*Yu(;r0! zgIr&!>&054$%@sl7u9OWwcu-2C{0DlH6qfvibtq+^$z?BlkL>Q9ln+uGNm|E;P^=? zxTT}=7PAXoHdRuM5H3cw(?pB_4hgA=Q&=e$>5jj0TMV9uZ#=II*KWQ4`R&_c?`Jul zn%3G`?>wFwlgR}x*kk}#-Oq(uE%kJMpC`)S#gGD$P6D~G+=Sgw^%~Wa>f@1r<)-{f z!Av`6{aaLQf^%d!q#r{t>Ku;WOt2t>)qJXf;34keBW9T>IBF>q%TYq32LUY#wTn!% zqUh1cj1$6!vIx{GU^Pp)=f_JHgH&ChSsPB_5porU!0^K9DI z=5H28y&OROfqd0d=^Amux6D#y`H|YQf3LuRf^Ew;-`lRo?l3$kzJU*zKH9%LR67U1C;OORMV-GEYz7Qu7y+;N98bb%JBITNb zfe7+o)KS7e4kl^x^XlVKQBm@xG>1z6lo;KjCz_GXCZSNd&?Z_?S%RUs(56h=;f?~4 zY)n@+xcBpq$*T!|)0xUZN&F(k97fl0Hh~?it9Kk*lxCMV1cXA($Goe%|5SgjA$8Ex z4WDu05p(Au7E$p|2Lr+=A$^7MaP;iqrhVe7V`kPwgR*M;Wq+uxft3tuP;y?xx`o{J z0Iop-Xol!NbHs5=H56j7bomcdL^cIZIlA}JN2 zfV_WpGCy`sGcunG>~yX@xlO{&^JC+QWuHyb1E=tstG@TKI&Tm%AY*~`%;Z@>4sRp0 zU)}JT&7%(n^V;U=L$fzu*QM51_2g?&K8uBm+xsUU+@sW!yq%14-neyr?F-v78=I<| zCGA!&&33)YJE_h?4yZpV8HuY~sD)jpF_bpbH|rk1g`)UcDPG+qg<6U{JgHN-aPbyX z@ieuuH5W7%G*cHBm)imX{CfQBokH5c)}k^()dERgi`A15G~A=)zgF0XR@itJX*frz zxJM~8v;$-lNf}XQ7sW3{h+s>vr#XG$Aj5){t2?hjQG^&~(VZj)nXLo~c?B%_Be^jr z-a;Hw0{Z!MJOk$;rjWHkaY!I=aKCUGzg$MS>Ek=_4w@2kPCA~9R1eI#B|OM_2VkQY z5sN_hi4d_tK>X`{HJvb5y|06pEs_w1RvxrV#G|4Pb<3mU0o23DDv}e6+baKtzlj}` z)u2k&bs>y06lbu1xcYp(6ZXIfP&#?kTc1H&{l-9fky33Di&|PEn7N)ka5*mdrR0mE zcR0?)NaUqwB>!D|7ieP_v(LJ`j5}^VbNp)Z2n{>R7cr!p_=gqhb{YdD+4&TP+Y!9) zt=VrE$!w}T$3oz-vzbf^&7JC@Q-aU`VqW?Q z`PPT?hb4h#dxNdULrO<6nF_7yv^=^I6wu|}r>c3cmJIA?b6xG~g^y-)sIA=a&b}pi zSVEm8Z3L23#BB+5pZtY7BfC-|YtJEZW3pJ5JMGX$R?fxUUUhlW?|a;C`1=Yrymxt4 z$?z!tLyN@~2Q$dnE-$Y5K<}!23Q|l7daL;PB!bm6l5gomf*QS~%zO7o(w;{WjM6V0QxWw-!Rm>18#_WnWN==osjaiF{9+kGmxvftlo%AO4@50e0=mCOAgvU4BfF~0N? z1exRuSrz}P@YRN&+dYCEcT1iR{z(IVOEhaKMTqj;2!DJ8?OSp&KjPj$p0`K-KaQaf zXe^y}AFy|0{u)kLxXa7J`*Q5|ZIL628|5b66M~s_5M{HYgPD3xqM0L=w+F? z$y4Zb*Yil<$MYA!6_n@ZL^MJ#c8!=xlNmeL=Flecj#V zMu7eguuFH1n)u@6)Y0+chSR+x^F?0}e5>39{Q!f=@4$g@fsmThx8}yL-|Z^l^}$c;L`ShE!QNkg6KH7bB~_;U``D;E)2qI+ntV&vwkiGX_%E_!0HXW2}sfmQ)b>$n^c*szEDsrn@FufCWZ zgsVNyP+@SJiOUANb<^448|dFt^8~s*19kw+pxbJZ5b_oH`uY&Wi$2J8Lh2%JPBO5) zdHa{D!jlQZaaJqRW^nZ-YEkqSGM+>6INWAUYW_#QUGDxe+{nj#Y)j7XQyM%3!VBxF zAFi6;yes5=4RlL==W7+HvPfiYYRXn|3~pvbr)%f%C{wj4Sd8P0ewUr$Pck|(P1Mp) z)qZtdT1@3$(&pw`;M#Ft)8m7HyD7o3Xny9UeqOcc4fYNM>h1uCK)S`=GPsH?%p+eR z$QZ{wXlM_aI43bt#p-6EpkkNFIpjKju>;-UCw&eI*vK|YB~{~`JQiaCy%PMd39l|sP%!=ErA-WIdFZ?ad);EPRM}P_kpkM^%G(_C2jUo0vmk5*m^sw7Lkm<+CE&g#xloAhcwlvG2EVy)B z@~E;H07RmG`-^zf{(D7PaBbY-kL%>GMs(QCQ;r{hbz4ufv^{Gy1Nth3cAo=d&~ju~eHULQD30`_RE>?1yBuy0jJ1D!+8#rNpj~>utZx!j zfo%U;*P9fDa~lkjj+xzKp^iw7niwnHi=blZIPv6y6MjQgc@7VDTXL$(rY5dqqn)gQ z*#rp=Gq6cweDf6iU|f5CmE@%AL8F8=Wmj>ZvzXOz6oaWe;qstt3Avs@Qmf3$s?bk` zG^2ozfcSnVHSWW56Ry>M%lE7$ueOWG?=01J!!ar3pm;SjtRrChljo!Or|J84 z+<$fn{rArKjV$-eMDg@=cDwWC{gD-JZH|$S{_+&Fkq}2W=l<06URbD*KgGSYukzbj z*lA1B1`upMtujJeLvE%hK0O*mwhu^yFcdEYik1b7yt3M_F#Fv!RO*sCyXP@NqWec`j}?PRzl)ROj#kv zQR3aG@12iw$^Wo5^>HyM7|6;XG}g<~&q@mdKL?}rQ!B`O9H+Rjg{7Fcn$ytsvnj|s ztsoOt8f92>1mf%|-Q$2=qv&kBQ_&xy_A{#KiC@xYkZaLrrcGx6S{jw{>oHR18GMZB z&?#DtY<;NkWtLJLfe3%uG3LY_XrSE0n)QO5X1&6gNdJQPQYK9$Nb=RHQ7oK{e)x`!j@e2{552 zr%;fMJPEjW_pqS;JdYVzG~<{5y@}VMoGs7ulgr^mV{Yzb0mOlGSDKkN-IU$6;{GCb z^cGZzlJ)_{qH1+mMAArYfke-`Gd~!xaL`-a~3GX|chmMM#08V_s zf=XuPfd{ug8HUV5z28GJgNG0a=h~6YiE9U3*OsdBkw(DP#7^(q$PPvCHvH1{8!KZ! zTV4OEsticSi$~%lh|+amTmrM`1HdP%^7)B-qnPm$j*85$KDZo*aynw`XvaDowLw zlVlm)#xS+SG6%mj$1=9WFsl!PQo(MZbtybSao09z_?2K^Dcnx+JFjDc95^g{SRLXV z+T(b8+#Mp*eG*-J5?$N#oUsbqG(8uHWz>9IRs&HCkx1lz+-MEVgJA$JIU6G7j98i2 z(M|$g*76J;7+=zihqmcJr$e8KpAlyjB}8KX7NlSvX$z@CrH;K@zzPik-S-54Xhxva z5FJDuFS;+=fJ0PO6ft&%As+ssMNi@bb|)#1D?bd>SAXDThN1;!hOPtRiR_%oD1Fdjw@v7T%cViGeC+C4nK|1o=mKW z=<-WRDktY5ERSq#9qgSR@9&K}pXh}i(pUnxcv$s}&uq$WxC+ecS{60u4=e1?t6Z7g z^lKHqY9Au{#dJFs|Ra;?6^Dj5npJ4^aJRJfaPbyqNP^whAnRut6z&L6vQxU{}& z>c|veVv2|TnU|yjFCSGIdB=d{GKNkK*3)@9s#u8*!Tu=(12IlC3JXr*#x~Xts;wNR zWh;97A$UARdh3UWsZt!SJB8vP}_K+&oIsrR~8VVNd z9{?L#&I2q|cp>Y~QMgGFUkzru@4=GC&>>^eKCm~~!4L2d5=lE1jxtKP7;H0Yj7F2# z#UT;}6qp3@a%{zMUKmvZ(D8^9-q0}pSkQ=^ePJ5(yVB2M?^VA%aT|$0$%+F(q6OL!W|B8!-8wH05 z1B7|o6`S>{cgqu5$QgPllDx-@43)?J`AOz`1wpdxp8GoI@gr;FiAMK|#@qXfZz#5d zu`)B!KH`*uTCRvr%|1~^)szJgZWO@|WdhrKzlHQ-@&(!Fs>{;^aV#&5K;wa8!!Z|1 zEcu+%m|t6$z`Qm|(02+s=o3UUfJ2>Qrd{$R7ck(b{%OD>jChXll+#OaZQXA9` za20IJsoX5zMThlGg7VoNriOFFf8&n{+LSUyLM;hHPK2J_32N%?yYKz3UPj5_N5${Q z$Zy{dj^DVpksnNkfoApTPOn!POJ|8NqKkz<&tix+q6;^oGiSsen!saElh;9#jD8L- z8xs4YCOhFGxuK?;)e$XdjJ;nIZd{3HWS1(2CJ}t>5@lU&h^QaW1(&8jWJi*?sI@C+ zxTl6wk65^Dvi0-Vwn0=k26zIu|wTMe22U-ACy|cKTU(+W)f$ zMzGuAbKBu{C!)t%9`zUF_qYRzIGq9q?*y}<*(uYK#&}+ZzP{PF@cMo_D}(}R0!o-oBV3o4~J3zY?~kw`k)K?ASQYUCVV9tdqvCKjM)U-*;LG}RKl%a#9PVOYw6e; zj@Q-NzT8B?gz78LE>e8loGDnA2Zj;IuZ!JS+ur{Q9Xgc#_uu8W*N&PmHj%b@oIXyJ znREI4PVc+X;`|?0MP={lHSe9h?}t^l9G`N$X*P~vwiX5D4yA9e3nS|&Z|lSx;s*-y z27=?2n>J>~f+s*AJN<3^oER&}90V_#os7W$baCCB{Y93`0G7-x2+bb>gPG!o+s)Km z|7LNyjkH4x{rMcI^nvW7vK2Mpm9pnEt@f#mQ{HSze!dwKs6@h|k#&veZ!sOFe7SNr z;_CSEbVAbO^S%l0?v)0E2!Gv)<1$JQWetaaHz!c_UrKBr#0kYOh9=igvq#( zZE|eJ^oKz>knpF;VkyZ{I;uu~O;R)}h~Ah=onrB2n9fNWb5z9=OnZ@-_|6!jkXp%{ zY*KwO^Vj?8yL+;j7Q`i4L=3TUxD6Ehl)>f*Y;vUIbo(}-i2fCL7+T!=0(d+a3T)Pa z=V;a+8u0uZVI+q{SO+9ne$-=EV#mcvszG>^2^NHxXwdXWjc)ASYUy-GLucmwSsH?T z&sgXqVa_t6}Ov2_!6?4Eh&hS6eMUx_la8eiEAkf>9q1Tll{eem1!3dZMWa zFhDvo&Qe0fQ6ElB)9*^)$c=K;{RZsfg z(WoX}ZnU4dF!2+gJ$?BOl+n@PG*Fw9Cf4-Dg)NlPOa9>`mxv7%$9Q{*ZKfu(@pIa}W=H^;)b163duYB!{;~TeCg*FY5 z0SDG4%;QfA!5 z;S^rB?RfC|x+taUrY|U=o77G^thtM1d}%glL)B@Ze0SF-(;e2hbCU~BjwiBC1+H!D zK0KuXCW1HIMI>t?5TC+0SwLbJ5P?(tw1fWyKrLrf84TLfB_tFoW27R;zo%%~>FKnV zbxMMYRci)nTpknO%8-+)MI8b&b-;;92XZH2O1;wjbh~@!2mO0{6aA46w&hlS-9ShX z2_;f5Cfq;Pv75M-&iMYyPBFwpc#b|SpmD}TDxJ9{zLItNxx z-E6@X@g zCg>z?7=@Ev2NX!i{-Vng{UVAa_U-i0RGwzkEhe~h5&2e<=+0sV9o2x>?+1<2R>x$={HrFpFhoLPwc@_q zT*nt(G!fT#z;T8pI{Qsz$Cp`2$ZyA8VocO<>PkSF8Z_L?c$~3*f0xIXugU%UrXJGJw5(r{FgrK~ zUK%N17*)Gu&?l`{kXFow5GWto% zp!Etidorm&I;s66VyguRB_sF`6Fic|)PXelw}lKWzHGc8^jVN8ey}t1NFYeH@i~E$ zIcpM*I2wk`;Hw!Ewv@7Nzd zm0snV$PP|8hbE2IU5c>TPVG6Zdc*E1cS~ajQ2jf8J^Q!nWLZA$ue*3TZwJpk+Qc7c zk?H|S0muAnn*oHMw*m5g`z$DA!kF)S#>B55E&Dxh4A*`2euvgZ3tkXr4Iv<0F@2>X zLGHO6yxozw!3N#_@7NFXyahJolYBisF`jnp==lM5Y9e-s68)7VC*MiR$w|ud4NJZwvW_j0WhP5O3~;_hFxaY|T5i?kuuSnnCTzFRy`+r}^Ge%F~- z*`J56X)PBWZ_;oqAGbTBXpbazF9hduZrNj3l*Yn|1R;)khmQgY`$8qjD znPRG&vee`Jzb3A)|LtH@obcX+HF__HDk5I~eUe0iiz z&8SMMpN$ThXLm?~75LNQX7+?ILMu7%U|1F_<0hf6J|Ds>oeJ+n(!dME$0j`#mo~(q zDUg~>5(9ElwGoJf&w#W{465J_a!y}WRo?yhJyi|FUQ^u1V;bj6MkOGPp z_riv&MCGZL1)DIQl?h0t@?t9&b)iqJ~0ha(&OSLw$(JplJv*TdA}6D32xdqnla?aa*k zd8)V9UUN}LJ*K*4!zg_op?rp|jgyCGdDSLNzRmr}(f)%V;F{dBtBibdJRmcVn7g*j6@jbYhp{fL&v=ln7uA@ivdR@%`N1%=6j3t5k`czk^PzSQRt zw(pldRKLHasS9>u3Jzx-nxE4-l8}rD`B!)ZtR@uxlWzjh2H{vPFr36vFUNrNyspyq ztwo!G=31+!TF=g&08=NgF+NVS)?hRx{&NmW4>_DB2kKZ%75MhJWaJ+n*i$hvld-|b zYROK>6@U=Ym4LQBxjWH~2<#beT5sDVe4#*~7un0^2pH2vyAz%1l>`?gQM`@0J8yhg z2w8`z$_yt>#qML(O~tJq(*D`JyJLP_dwO%}afNU$%%(&V31Mon=@n(|dq@CH%}S;N zz2HIUXf`x$?n5PJ*pF>|QmJG7!WkB4Ps$M~Tf|Xf50k}iDAUWOz zSyfIZGZ0$@45Wpijk%`FVG@9&o%v9)X?H?LAY+p9)mViIW65ElZ93t7!doF7%teR> zd3S-h*P<)I`d8u_q7Dh*hAFzw;LwD00D`=R^?OmEpc=MSGwX%7Gnf2?6Z3p38I(1T z9<)$8*z*m?MQxx@u&kB5Lw6XRj6gC3$^VoGD6=7NNN!8i@=_i)ARXRj3XJaQL=h7|9e)A*kg%{-l5olS~gkrgP@xEnL?t81U1g zs+j%3)cG7)=~fh(;Lhp3p@tc^(drH#YxVmb2!jE~c|675(|g0uIl3~W*&ri4r*DyF z)kbE;HopLTvc1zgC0!aD>q8=cLdu@9-mu z_hm#Y+2?5O=Ouqfz|&+eNdWHsd8?A(%Vc5P+o-hi8_wes>P3Ai%ZJ-~%JOFo3x_RL z8XIDPZG@XnIurrMPX5D2`fgUGU`gJ`d7Y8Ej<%1Jm7a>Ptq5?dRL!Ga$~%Ac*toQ7 zE)jbnfpjZKv^dPOB+SDqq?HPWn-T4G)Or&aB*CXHa`w4iFdSN{Z`VMXjz zqGb6VB)0QN8qdwCZ@}{$#vWR?=Oxiq&UVZ8V;q{HpXJr;&#Oz{tDUXouDB~i!FG<* zbN$&P4`ab*j=hPg^r)*raKg8{H`@M&zVngiu<_c!-73qyFdd2z1rmQ%1Ye0o)B4~ItWQEEcA z0GQ>_iHdPt=aUP}StX3Jq>|$if72dSwmHMf28(9p;WT^;=IP=Q{S%Qu!MT~2r7VYhlPpU+t+Z5Pi+yO$^x@3KEuNN9B&QZ}(_VavqXGxRz*Tw4+} zIK_$;NN^|=clTn&DK3HH#kIwuxI=N5V#SKPySww{`Q}`n^S*bv%uFV;|9kDV*3Zv9 zj)4dZ6qduRgDrqz0ysq$2n$o`gvf??6%fywmm_uM50If!=hI4u2$4+6OnZ?`L92tf zAfI(3;6UFz^vP@$+b!p4`7Q~c(f}fYw_bc~!N}sn>-rbiUbh2GVv8?B_-_}__bONX zo;%Yb*Slp^ync%OU>HLJm=E!Eq0rpH%wtFjM@&m=%*+{m9gfGR(sy^a@jnEHg@xHK zz7=!?8qe4Jq|~9r`zRCR;o*FAcOT_XSrits9G9I_=Mm*v`}sqgl1dMm)^)+kX>8|t zi%*XRA+Uqp=n5p-*zPnd;IpZ|Z~f>z^EYX{=?72vHGftOM~1zRYw`AP;msGD(ei1B zP~_v#!+-y5HA{yrT_6VfKMj9m7`Ts)u1IsUpz>;wX_l6haM3=U^QftrX&wsHBcT5& z--Bmk!lYO*WY8Zo)O*2_(BSV##HNZ1-wKa3z2XwqbE;oN&7*}LygJdVX^s!6_V-<3o<^kf9uV-j$)p zd2htjRHK?Tn${i zx>RX~l#U$k(SKn$?omxbf0i?p-bZ5y_k-p4Qco#eOb{u%X^$uiZ#F9y46Q6J-m4{h zzSH*^%5ov?$^nUN;B+J6kYwiBppT(lj-og*N5+22lZb^3z#4IR;a`EP%XlKh_`E>* zyiYlT{TpUBz;wb9pd};w1=)PJ{mRo1OHBKp3wceL37FEL`KfhRT>45~gDMnxn038HgMf8a$6U&3u75+ml1Q#z|I5+X%pgxnhGto*bdEw31K~ zOw>Mmfk2Ug>?mkDd%QY(5=|+GFk+LuUHE4-TVYUl)wX#&tgG)AwfnqnpU3|I?UVuC5ErwjPyyd3+xZo3B1* z?ppqwW6}&qrn8zUl5jI&r&W~P z_1VnWQMgplyLS`fAvG!!)~ctimB_-i;vat_(MVB*BwyE@DHb)5GGh4>{!kC%WU-r< zX)uXT6K6VjM7>Aaci@EUwJ29z=w~e)}ylfr_p%ii&qrupw+%1+t z<1fPbvUxN|$G9_bHTS7D1k`_LEZD;dI=ae)`M(aWe`)o0Ud-fKUGjBb6g~aY;eT-s z=e&Du)~DRGKV6+0e9BzDEgPF4Lyl>qe%QA)VOj|jxVO9;d{3)%8YOy3df44^p0cui zf0TgoMm^X!tRP(A*LQ)6=7(^$3;LA(AMyEJtKt58ujgx?{{PFoJ^Q%kk=ogRyy$^R z;eC?qeX=w8#9l|#OnTC|^M&)%-0lbF_aK3rX zQf!DgkW`eM1N#&-3Q0oA%n+|6+)ttnjyy;V+un+`O4?A*=q@5Gv_2=yH0=7MinWG+ zkS}uQyRS=;4PxaUzwNe)GNwU|2_dRgNy;SzY4S?Y{p~F6rM9~YfW=F8LfQlj`y%@c zM=iqURJidjWGOHhr9_G$qZ4vOQO*^H{XH}$>R2_Zbvx$KD$GdKk_74w(yGlWNpbo7 z>mt(#BPj`S@juei9h3_xcn8t=I6*rXP5(fCD{C;FeK}8^{j_2+;I^9}eNz-aza-XRCL-(OKo@krd?59l6>%xwu z`-7E#h0pVGty3r#O0C>XN|u(x+&bD3Z0bpU%owCm_qqP#Bi#~dgRy$=xtbn?ePEu3 z7s4Oc3Q}m#N|4cM9hRH%vdEB!7 z)-&DaH5!GA4V*QfXZ1FNSR6pIdO$ba?90A#YH$i%FIdJDue4|Qltlv6*H!X?~{bAP*;>98{ zPPiq8Zi5usXZUv7z<;Hd@9#L(9v~KXfrW_W@4_BM#3m54`1TAk#36|aTFL5!w35CL z05uO}S!cO@=NSFlWH4M?q48%)^)$c5%ns4ixZ$6o_1c{2u0RDxE|#ie?62T8nBt9& z!m@bKLQqhLT41;pOn?mX48$bl4g;vHG$~KvnV!QR4x^|pPWZW!;VNOQZcMni4R>qF zVqxAK1|;iZOh6y5sOE3j)gbY+k~wVFpRo}0P(!qd$asef$Wc#0yVmxUM2SD3I7d8` z3mrr_$sU|2E6dXrTAA&qhkXLN`8xAnSDFM531b7UA9TG;y-ZND8KJGifUrhWkS}jQ zc&IsQZxO+}gFknMI9z`*$DD5rd!!P3lpw9mxJ%&+egap6?64ja4M zGsi7GGZPOF?gB7H+_vcJ4_xSawl>~}f7O66v*N5z?>+e4?xZX`Tsa;U>n}I<&^G(g zJoYmk$3NRq43yfHgFlzBe?G82Iv&K*rPb2dV56k_U&)HD_o7FS^nt;^`vQ% z?PU0)Nk7pTZc`(LOUWc#i8|wgsRj||D!mb=S&@k?kT#xbWy@=jRWf#nAhfs#{5{(uEw01yoN*k)bigMpVMflS{TW9Ntj1P@ybhWDa# zW4w!v6=v~GoC_KfasI)A@04fk^OeL20dpVTI(f2$L&?wxAXk9|Z0-oYU@(NU^y#Ub zN?1gzW&=*gXif6-Gh!Vj_y&xNSqiIvjhzcWjXrf;5H|Fv&_})_ zM74oebUP^rzPoSLQis^-%V25Gw32%}99fHc=cXRAZN~)QC!g8%>BmC!KIhi+P8fDm zloCfJUH*|L{C1IxUQ7FJM5~1d`uLY1AmEu|4c3KBK`%3vNy2T4Ni~Z1W&p4P7~`~XNXJ49<@0!hKE+DYs-J9; z-Zv;{RWCp5E>ZWIE@`zPCZnobQ4D@Sow0d3s6*7|)9u(XN9c{UG;_=Y6)`gxK~86r zu|mc>qkhO#mg)6yoabM+ zd-Q%)=<%Y>+gg_b$IBJVsNWP3PI}_K`;E$VhP~z8pai9bR5QQaa^CF zy-{B(@^-FkC>D^g&^%8HcM8R89kcv{gjA9*QlH4VQ%mBUqmNau2q)_zqWp{JRp(;- zJgznrTr`P{(W6$i63dLmhQXLxmV`(Uguelbm)h<|ag>OT!dDI}jGu}(PZE%07~!E% ztyf*^<}H_G-Jxfe{7f0<-Q75Vp!AVE0%?K}?iEc6KpjC(83%3`N;D=Ajj1rL@AZWn z2Za$%hi`!JOYWVZGa4A*bP2RV#1g3z%C`190T!*i(E^H`3e$2tI2UEaZogF0(#i(q zC$?1_#}mum6&^T$l&%sX_wNjGymS62$Mr&JmPZ%#d|xJz7TY6pos+5+kPcOoPiAhS zU;S8RoId)qv*4^dMP&)A4atC_6KfZCrFUzXxiG#YzhK5g?8o2zk3ry#nF)p)~8Ha0@ z_SZc#EALuwR$rXFHw`N;Z)Bt->J|1IG@ss|;Ka|av^CXLgMPCcRa7x*Hr#N|G*+fn zRwf&H@ZC13f5-VQaD0-McHP%kznD+wJJ+SeQ}u~WO+bi5ZZnhc zRbq9*FSHX6?xp#ea|bjDp@V@ce=%xB(B_HT=&gXk z2O@<}BVEGxRBAx}DK#?0BsW8Il2r=1Vm=QR5 zLf*whK~Kit!=uvMDLnRMOe`z&r^A=S($Z6F>ph3EQ#1;@3j4hxR`S!jGU1U~Mm`q_ z3%Taz_oA$e1Qu;`O{Bluov!=sZ$_M*L-UGiYU`@ne>c~cQ+zIHYs>KU{qWowG=r#T zG-hn8U}YhtD5qlK>EveMCSfn->uI9lWT<0esAK4^;y^kniAfWzkc!L=7gyz3Bp-?x z@(^fE+;t6`-_^ENn{^9*VX^y;3?NPq=aN-6c1Yw61ww7QP*7;1k}W{W#2;X5-{!=r z@@aCdVz(mWsX9s7*I;2dAv^=Bx#+Ry95DPVhybVSdR$ia zhLyad(j;zHl00bi($eFf<87t?$Yv!i&?qEzTlX0I^33o! zmhn3C2Z%{ve4U*8wk=TiKP{*~D3P8Ro zK*RfmzEIn9lw2yYV{Gdl#wY9=b#)bpQ)9)VUAyg6TQG7TPwtA>tYAhuWV$O48~z3R4E z0nP}{za zRkogKjl^W8Je;V7zEz6+5SQdQ6z|BA<cgS9(@_Y)az}R|J3|nyV5%5p7%Z6k6up~jh<_1p8qw_ zJco8XU5~xoWE`)GHE#Z)>A1iA`Mfnsg6kNHwP@=Jc!AzLnSoM{X2rds;f1IdWoRsO`O7mG}N$ z|DdD8?)mUhZc440F97MU{$_qQUgpLK*Z@aDP%c=Lo)i=a zL%|kZ5)9*28HZbim7;^bF2r%mhX?-t{56Chia8-7AQ*MgwJw(mlla>3;kA>K zpnpF`G&}b06Ge!T3Wn3mS?+RYNHqbAeBun695dXk%f+sxyK9B*g&mc|FJz@wl(?%t#-r;LG7RhMnn@X~wL2WfUU zgAfZvzG?fv*KeK;V9#f$E$C>EW$vo2`+IiB<)t?4oE5AbMUvUpCJq)lCW<;L>`D6eEyvaaX(@b5)Yyw1TEz@%nc#oe+xR`Q$R6!|dyYgZhVWO24?0K%)_) zR>;`W@&hCv;oQv^AYuqNHeMI5+#nDDB9(=+0E3=6!QQ~jiJoL;R$-i*zs&?LqffR z65l+2)9+z#x=H;S5`7etK=bG9kbM>Z67(f0E$74sl}>p5WAT+;{efyIbIp5U_k4PS z^;~NzSK@wMY*T6m%uSNkbF34|f^iiT3@|zK`uF6EKdh*EBu~}OE9ObYbplf zOy`VFgDe_j{?izRaul`D`V}O%=%R0tH7FC;D);_mk4k5aFhs**>ydX%sX@R>86q-y zV%NIVEcJ{mP{!K~=h9}o-P#{6rs#10>{D&amgwV_-|1mDo<*;Zjb+AA_#dIPAMpN2 zI6uLwTHl>u)@D0NzSyG;O`I!R3E5?w1~XUjTc=mKQAU4*{INmadAW)a;)k+$gQ4B{ z6ur5utt!#ch(~Y&Cihp~gnK8OsrAG&j=-BUkzro1Q{k9^-2o9t_ zBVXCtO1WF3*`u1g{QbXdwQFge9Ue&PufQh=* zW^n_CUsLpRA#z@As^#Ce&ye#>J!oF;(zI6Y`zlwxo(gUag&l9yjgcf0`!&sba3!aW ze@5vlqmmTm4MnNI&8S$ZupM^M0Zq$4r7mZ&Cp7sNQcSOHs|J~m{+vVz3?gnUw2X}K z6I}AIU^TT%65L}&MShfM{#ha0;p6CNv)`g*a@5B^AS%YTrEehFtgJ>6R19lh4mS}6 zP-rD%O;;cKujH@YJT9Ie)r{mA3>F(zTI;$_QzOc)XKrWk3{P9zbuaHD?pIX1y1Tc^ z^{A*C-v1oEPUqH>GdvY9>v&N!^6NT`E>+SH*A-sfy@?pkm0Z>=s4c}h~)a6sdaKRK$fVt97w;o8yTaJ%1E}z-%ph0_I>a}5E3xvy9> z`6oF!AYAm~!^UVw30DGI4`N9|r@UI8ioQP2*$5YhKK`~P;e(S5{rz-ZhpJJ_L=S`| zqh=O?H?bHD007`)>`nmwKk=_YytMGHk7mTCyt#ka*=MR%o!H{BUN^LFzeS3ZbAF2h ztGMDBVj%+(zlO+jm=STDW2G44rFan$%US~~L`uTKwF~H?N(%>dZKIaa6E$Tf5tuL4|qCFL|ODfmm4VR#aBf z_N%qJyt=f(#WDL295MfYc~BC(_`yD)?F^zgI@Ei6-;Tc8>6Pz)XNG?)T5IYNTI$yDT%Yg02I^ zNZbOZ;go~Xu3P%`yHZMtT!q7?yUGOGNmbej0_ZMP!A;7Pwc7pq72iFy`YLD6Q*0Y6 zBEDk4tl#Q`Ek{WR1RAxeTeOK=l*xHw6fv>O;4yRYiHP2Up zD#`E){zxs|5Z3aIB*t@9b~{NzaI<=!jx+)@TX%`1he_w(n#)^T(M52}S02_W7Ay6B z6e>>NZjn37&e1IYi!G0p$MxSu$T4SPz7DsyzxSV35fAN>jfyt1n74lpn))PC`UxaB ziA3J(FkU9$>{O4;ncasMM&6M{-0doakSR!!4fTalU9%8magrF7#Tpc=+|L&IlqQKr zKXfwEIZMU?50;CrZO0#`t$jX9R_z6u&7mIzw8ak#&u6ufJMX0w8a_|t?6yCSZu;N%)4gs^XFcCn$h>-u5&65U z&A+zx~^;n>D%)ycb8A0hvlP z-=~KH3E}TYK3=z#G>g|8Jl^i@?H;!+!mA6luLH%yAiI{uXYYF&ZrdzwNoj&b?znLC$7n?7RWagZyj+}iZZ4MElIExP!hFC5CBK(Uk6i4zJfN^lyHi&)|{aIc|^8naUm zdYBN(87xBJh>F1=sG?wmVcp?p0?BDJQE7X-pS9sOQj$G5AKpn(Qy~DACt+&ei$M}P z04pBHOyFzUF;|AdbbqE*$Y=q5Iz?P4#jU<}Chb*;`+&xgyI#bf172AooIfLlAwldq zZv$ikF{G&ZmDW^{=zdYvqeZjvEF<{CMZPkwzU)!{0)#?ZHDX7u=^|9Aze=B!cyiU1 zv;Pfny~Du@%2Dr52)mb)E@%Egk*EwJ879Gc9S_?i^EFy<*&-8O@!QgZV;&FB{usuA zsOh+jg195gxgg|GD&|N8{R4_@QkFkOh{E6xZ@m2wVW*&wGLiDMx`_=)v0ZQB|rFp+(940qP@|r$zb}^bf*q=n@c~TG+ z{o^l{M*0^edttZym}iqVz&#&`h2X3Gkx3 zU#Q@rcN8LkGX8z8aR~21-rn0d^v|Lg|6RNsC4@oW=3+y~F;x_;sWN}-hAUx=3N-4- z%dVh1<+%r8>`PSvxA8~66Dc<`U=p&)B16(KRq<&=6f|%rKYT;MRxJZ;tRqLBWg&;W zDv35)5W`QBLty#~-~ezP77!JzB(%fyXBo`k$~o4gm4R*hhR#LGUQ&nd_)tE#BWt`Mkf7U*cs&rYX>CC!m-2a+Tc@1|^GiKb?$>BbuT{K7Fb#!{1t z{ju1Zp)B?7kEY*sE35MN)g1{jn3@P1+`=R4V+0|0u z65@MzoSp{9QPnhPPUT-afWB2g=Efj5PQJij})*9Y6O69~wMY?4fd z+cedxZj=!U4H1T3r0#LlZA%NXsoWf4=(*?9y~i?l6gXtz?+n_!pP=)^@pjmfbQ&SH zK`GrJD?hUfQa^dUmlZPvxf9W%h@6*d@Gqdt>%**X$x1#f))0zF6r#tzjo$StM( zoZDI;f8$JITmQWwXpv>pK~rX_RN&Tg!aHmC<)M9_f$28M;ij;@dZl=UM(Skw<$TlM zZ_jF#_~*hz3b8)n>%8si^EZZ*-mivsR;uF6r*_d(g^+bUrppq-EY{78Vj%UIYTBJ$ z$d-P{6+EM3yQOuY?#G3QeQ!0KpHe~`0P{mxwZ1*g_YrV}Vwj$BTaJ&tyui&r2Gw{KVGpKmHY zJg$h{%r~tm1fGLFdOi-MJfL@ouJ&Y(_5Qy+zW>Mm`x5yH;brZ3yWo-ahmT_<+N8K+ zZCos%hvFhJvW#6c3|9~oo_E=>T>E}m?L~ifpBPlTmX{3*BbP$WQK3U6os#|P6#xxU?lxQ3?=~SM zE+WoJjHMYfmPWbU$aBN;bNDtIUxIoKBf;oLr^M()*Tk5#Qa}55&D{pgCU7#RzQU0P z=@T!92=IbYMw|+6YFr(;}xa(v`zdho!!3? zbOS~8@|4h43bo{=!jA?3VoKC>!XFrz;A9@1l&mB?x$(qY^c|kUICtnz1Ue*2QuD&i zi1xnTIk0kHH#N~6aI4EF5)+<;CFZjsF%If19)QK7g9O6NI=?1jZ#7dDe7?G zI|jKtRry|M1yUndA5e{jHm&TR;Y($!_uhWWs;}vv%tE6_<5Q=O;kZfia0(4rb^Mj~ zXD_y@Y+`eOI2Ws?gXJK1H3H(ic&KZ8QFj#X8gM9nVNq z9<$*~jP)04#9QQlEgq*U>4)xGWU3-oUGN2qU%d-l_kMZ~O(=tZ5r?!}HYK@Yx$&Ig z4E^{t2cI$qfoP@RSyCi~?jdnWIuRN#AXHmz;?DM%RPW+_jEn6%JL_^%k-wx{uA8nm zG}e%`ixah|e;jT0{QPeXMkm4Vy}I_(<>ID%k?K~=uZhQYwh) z=I#A~%ora^{EnU)K#kfbi1!^sN_C?PfpUUPx)m`A zZiC~tNf?6^!b&~J(^2|TdL&aSBV=p9VQ`JvIK+8eg7Pd74Zad(&2l0S<-(pIW)Sn(_VpRYpZ4?d}nOt z;UNL5?WsEfEM>%(&+FAKR2UR0xCg8MJZar&t08bdZns(2^|}o!_*I%)lb6$6n^#`h z@#Smwn9vfwnWLQ#@!sOfzxn0KIXsuDn!232s^4{0&1FSsRClm~AC7=mcFd^mbR-1| z{qEdW`7;QMKCxpJ*Q~mo{OI3d=C^OFR-4_uo%#**R$|kFI^J{tEl#u1;Fd`J{tZ%M z9%~&?g`vWT5g9v5*@uRoXOZv1rD`Kx1|ESNq$6+1oMnk*Ip74Z${Yr7Ei04B21&qi zB+T-v5^_eMJNP{W@?3+@9Dk* zd3xih-r0oLS$>P&;rZr5%NTf5A`p2U)TdifnqI3sL{ZJf7-6;xpooYXr+iV(FwXhL zV?=`A;+P}iSIz6k67x>2Q@?o2R7|T^7i`I{;jC#JT!D3h;|Y3{Zn=<7dGJcHsh9e# z&Z%Fv(R{8sKy06^x|41G#-|E$RIyGgKV>l3HJk!Zl!EX#^5Z@7;;Z9tR=kF6YoBCx z@5FTDJ}mfO)1*V+ela~Fq4wJ7-F!7W#c!wZKf3R#D}C;dWmyTK`}FMQJQs>9|7tV8 z?UnSU1(g4fe6r-mUhR?Bw)F?^id#gaHebzUJys%)VTr~)l!PtC0F9zd({q-EbC#vm zc3LX{l>jW?1@VV_!eTy7$P0Yy#zt-B@%%Z)hQS#v7DwVSLVQ^res1F2i~gUWk{qR&b<{e|;^=P%ba@Q4}(s6qp>3@4Z zy!yCTaO!)pfG_5KS!lK5ceNxOV=(uaI@`|Vi)VNHx^^#4AL(~xI#8X`hX3-A(BOYR zT1n%7*~GNswLkCS(N=x=x552X@acRIf%Elihhv}z#`|FA>$9%c1RCBk+YkR!`~_~u z#eW|d9j)h~xqLgTFH73Cnfc1@6I((@ukGmKs{+B`mfeKL%gYCL>z&LWVkgwzywn^` z-Gw2n^87*K@EiJ$F)k}$qmpaLsH)&84Wnh3G7By%BrH52;fDCcYnsYW(0{i0uS|cS zNZJwniG7`t;Dvb`99*VePVOBY#kA4iEA{PcenL80ws4Db>gkA=j{t3&a7_gMY!0#x z9K^83FikCC*!5C>%z0J@aPIa8VV3k^$~mHKi*!QDqe_YUZS%wTy*$&EuvWQPHIPM9 z6H5MIWB)B?ASHT0kK?lm;!3UHtT89&i@k0vB96j2Cv%x|M8>XB{AG^3)zxiBWDNuY ztBegbg>WDO-*i69RiSp>uF0Chtem8z!Qh;*o*!c{51|Uf$EFoRm>iZTuR5 zZ>j3zxQ&17yXU#<|A<0M%b)2zDh!rgUFCyrw%X2C@bTg#C%c1eiC>I0rh%^AJC@#7 zg+w}e7_TV54;?6S6)-VRd(bUNkRF$j&FJaRP9y|kMP5;<>0|iC9ABfOsc;Xe;$K1< zBk=qbG-g%DuJzv7)(%F}4f1&wD7Cayepy;i%}PtBdE?w!Qhkj(hi>ok&*f`mOT!n= zzhm?057OTrGG^A#*Snk+xz>QpU=-?n9EfaCB9|;NloHjUrd#E4DlFPCf!=9K6gI9x z|D7<;k^Beq*RUDTS=U6MXd+?!ld1@x&5sZS+3m>D?{ETisf(j45wR)?0N}WS$sHyH zRaFx>?ahFvHvPg_e~NlNyIcTK(Gf5FglT*_5t&)x+UjIIOb-hr7|J7C*X3jl`yHYJ zkMq}vkLTO3e9oe2;8cp%4Mo=$nP#R@$GzBF>AZyK#}i|D#$sU^y~>aOE?-Y8YFN0D^toviz)^J3`8HKW6|F_>0v%WvKuwjmI*C%+cvb+aGl+tw zilKY8;BtJ1$-d2D+ixE;Kd+po-wad+_5D#tyb4Oq@JFaZshkPczjgfhQAmkREF&yV z{T|4G7ViR20n^ZD!yBk;bI)#(A~59AfF?e&kHO@!>rglw*AUd@Z|wgy*)jxv*C{6J zwQtmoeS;MjD;HtZb>g%t%Nm zHTym|Up=_5BLC?vjgDkhRef#8kp3?VOD02cBSS4|a#d+7n|w9C_(7Hl$&dk^5jWzh zW6yW6`M8-SYi~p|;Nd}R$b1&XL=x$g6&7TusFtfgZLGIOk5(qqlyQh?rwfIZXtz|L zcKhfa>&8^4+f)#JYgA*{pk%X>FJhNvvrxg*at$-rAK-3+iPP14pWB%Bl-iW5y%olh z_r5AZSZ^quHInIzMp~mbt1DkbrAJW;6}`(g<^ZvQZCpjea2I+dgo!>d_lZPR60BVm zX4G3MzxI}~Z03TLbuJ;K+Lq+#?MX#qkAHgWDb+suD|j0wHgo*wzQO9hb$LZY^E~m} z??6`d4q`tpYB2EFJdO-K%?KwmBr%$2 zxLN7@a4A1>zFX;cHyi-_^w9o#x9#EQ=QsOFsr?={wgMk-893i$bex}uJ$4&33k=XCcg5A~Sro&@{)7EjpivdRmHs;B@m1_qLB z9VCLp;T}fJOCJW{Y~4?9sg_lN&W^l!Z{EY~ZKam3>bNuaqLB60GW1a{=TWXHz(E%v z4$}v%7v+n<2!ATYmZebg!Z{6yZOna`ESOsCo0bKLMa=5Ccf{r3WuO`c;f7f^p=nQV zc=gu=;x+-fp7&tS9doxD)zpOCf5Rbj0hrx1@Y5F=C>&>cc*^uUoRgHiz)FPj z$B-aOh83h-Ch%|NTvp!bkO4l$zhK$ufYU=(NE!(SUi>H zv{%RF*f4jL0kIw6W3hGMf>t3jtrLPh^_}0=<7|X_ots%;kdixn_=|UmP0%gH6MTR5`E;-w50tDi}*;& z29=VIV&Tz+gqetlKu{uv!Uf^`4~sCw9ubT}yQDu)Tx) zN24ouqMqC_X0zZc)$%aYN z2lL2Yb(Wi}9EHouT7;@vfB8ogj1QL?RfT1%p-VTM%)wtnL+^kD`1`j$7}%3wfHbI+ zW^K($%nLZ3k325vp><_!K;?~7DRF=(cp1iN&ft->l`=|=fg64qvxoy zemLU}P#Ne8<&k^<2>|h!<>9Btc@b?ctYUGML_)YaJPeydz>B|tbffc$!Wp)V&31q3 zM(4e6Pb)db4&xPb*c7eH-f5<0{G30Z47l5UxB;**@&XMAoS5)E)-)&pUjEyZ9|`zv?4X$=NLN@>=H+g4 z(*L0N7(h4sGppo}|F3vFw$ud6QMuvYb{Ac|a1$Kb9b6@D!=Ol1%m0+zqi!4%rECpb z3jkBY|HY1=7xw{BRZM5sk~M`876F6&G=VA11t2jOBHx=pC@SlQ7vDoJC8{bNPFTbS zWDkD*(RPdHa40_|($>QFIBRD=eL_>K*P9*~-F&?NU+ShqV>t zSRsbo(zDIe$0|*DdBs;|Q#?yLi^K)-5}e}M5iLy;YnJ%~`Lz0`W{a)Lv$iXvXLeLr zDZH^{;53hZdq38S`v`G6%iv1sum0hl`+!ZpRzPX<)Ojr*YL2E#m4wKqs{?KYiV`ZNQ^5-(7NoDNJ)V+bIx7;yJx zCF4y6r?}agjm)`pCD)Wbu{Hg|8q|JNU*kq!@x+u!So;T=^De3_{O;($rft9T?Eow2 z+BouP`?u*?Z#~Dls_>VJ3ddX#mz>PDNshU_1P8o<6PzLbSk47zZ3d@2+Ri^*YsNem z3M!%l26pB$lvthUDY_9>L$z=eQcA|7&cw>A;G@4;iC}AE_RGK5nm<;WRI_&ua>vp+*+I*I1`lddYR1HgkV|NLjUPtF#R@8fw^O z3AG!&5mR?A{`5ws8@m0@{$h_*3dajgj|3rvOt=_j!d=nz2TMd_@Hm?o_VM-;S=d(fC~L7ptl4J2CgY zD}I_IPKEVVD_13WYH6$X(>!UtCcgV*t`s1MxPy{PWc+{q5ZJMY2{gKzco_P3ZIS-) zVHkb?nuBPmt=>1JgxSX(-y{qLNT`2jjT)Y}UVoo0?O zCTOa-*TRc|6fGJB+dLvSyi%Pt0dpQq!}f2`m>_wd*g`0gkQ6(@`EoLWVF^iGydcbM znw6#8s|{-RZ|GP^a7ye;D~8)JfdJZg=a_0JK=VvX*cn zmOR@xLU3UBM$i_kljnRfF)gud2z4z4moY3?8XPR$rdpUxBv~Y#TU^s^@|(O4tz5TU zlk_~~52vBm@iMZQm&NI=U(@bxrN8r;tGsETkkP?_j9KCUmVIn~xI7zMI0KoZvV#fp z5!)FA?$g)-l6ndc=4y{0BB8EjC+r2YFzKP1TAP(-gi*1VA6?v&`=4<>)ZSHkp3fR8 z?B>tn;oQ9y`C4^-Ju~~MJu@R?+Zk@yN$7dbPpryWC(V_4_aIz|6!_QJ(bHx~CTun9 zHgqf6;RD{64;447injkBVP_T8X83MR|gc&X}lka_>^{n+<)Eawqj=2n79X~H!6wh2L zmgKyo)=$Rc)qRz|Nx%LzQ~Y}7^{*GL%F2<>V}AEn6(utl+vI;!ZM_^Y3X4lLUF>Mr z!6EO@Ui=EFaOG6>u%skD;x5~%Skc}J$GFkP2P)_)u)!{{aG+jp3W>}h`KP1|k(Bhi zr3eK&JYyU?UM9YpEJ(~_lJzf-5 zLz=GZrJ>kywg^115sGV7_Ds1#WQ>SI7WZ8u|G*)fExwPP@V1P}{b#hXn7H(|ga1b-i4q$Vt1fLCBL>%d zMtO*WCK+fegL5!So#~{IAFDWt6-X$W!|^Hm7!_973nTXspBP;D;{aSQp$R)C(aP7L ziR<97^9>4-zm~GxzjKl7gQn6YMXKHs&}rr9r^t2a9>WT~0y(fqt)T9FU)jsOokn}H z?LcnBNVrpphJP~F=u?UkV`cEaKc6a|(=(eu8ozbY*Pvcb9c-xg5e+Zws_}MmDmjPC zx05&gb2j~T>K7Eyc1onNwm5Zrl5KoLqj_G~ak-yz6km9GSs0SHkwin9@;VH#CBN&W zmlO2-_^nHo2l8&G&QBRL+aZz9ORDu+O=ZR;}5cR+Eqjl-bcQ8nR?<}&^hdZlb47ejCJ9XSD2 z+ZjobM86&q?E|?|Diy|Zk`5eT@s5TgkVnaE)2M2J)Hn3iqZ!(nMKM`L$vE*pc!X!4 zI<7uuiM4$>+U4e6%g)aw@U?x0&}U{7>yR;}@ot4>NnyEu+F{0zNfs469a|*F0-l z;x%&E;hQB#V{$r2{^(#yV%4Z`LHoIB`FhI4^C61mBI~G9^yu(>?IB>c?%|3_?%!49 z!$Z*B_2Vr=;BEfnZ9?~zT)^dBkoe8gn#sy7_~fs@+@rfVq_>J6fVd@4U*KY#b2t^8o&w_$ME$LDwxNkkPn;zqpuQn|Xi&f&%^ z(;W=6*UkP{$hwWWZGGI^8cumdmKRvFKA?8P_G(z>(rsz?%X5iy#AdJASB7iXgGjlU zpO5_?z=6Svqmgp)55K<&fC7E@CckSle7PR{ncsPTdiB#E&+53j^{VsctMkuyL5~LC zG|b{YkH)KQ43?f+rrazur3Jx~0$7wsk9)ryF<9?(y#60gxc@r*);s(#fN;3=_Wnhh z+*goy!}`&t_chd18Tl@pj3LY!dA$y5TQ{TfS zB{X>~Xy%ICJT5CrB&op9C(9}9tp|Or8?>1|(ac%1OzVW#V|a!rk#k~eb4L~G9Z!Xo zXOJ2vCMx72n0~pPPQ&>1U#i;EvZ9RewO%?3Evc&I*aVc0X(=|rJp;mvr)`p52n_dz z-C*;<>GEV8>6K^)sv?3PP@+tBpzlx;M$1`i0dotEIdLAGjIl5$xGqT2Q7Li|O$!$q z>fr}>T-qk<*l5wH2!Kh~?#88N zQ)sDp2t{#+W1@bC;F6WTR^)gGSbqHL<>8D0DqMpz+GOIGfnuatuysD9prY+@BE2x^{dMOg-dowH zB{$GCDOHIG=3p`=c~|-4-k#B|7SpIVa3E)A1&Li12?)mt{Q&S0`F@KyFcJ1)6%zS= z^WK1VL0i#?0$#+rH~tcHCUYg)&$YT-WQ|+<8z( z-CC!pB=MuChp+GSe)h@hQJ`FYg_hGK2FRx+#mI2+Wlw~>i;!zqTg^Q(w_Gxr-Ji`hsbw>3^A}~eJT5_ zKCZ&=Z~dP;&0hzWm-3@&EhM(i8exH4(C1g%aS0T$VL$5c`r^VH$ur&c+BZJ;4YE3w z6tYhb;muJhWyMfr$5I-{W=Q&|nTDp(Z@6WcH>6O$<%@4RG3c;XquWGsIhT?u!GfA! zd|E7iSr=b_z3 zU}$g9$&bFWjB?wXkBpzQQ%PR^(KhY#6eeWUYQnAt{#4pN%PnEXCv7?* zXZl?t8Zu=!Ucou8Vz4oVe<>hcZO-8NDZ%gzoNZ|K@+@HiKVH(M>-UGQ<9dl*$R{Pw z;i#vpbsGL=v{xy>Elg<+q|IN(jecn!M{Lhc$M>)=D&xnaz3|Rn%$E0lzz?pFukV<@>3<7 z9~8!U8QyEaAs*U{zrYWfa&JdxGXIx3?Y~bkJ}(S129v(=g0sM~x)v6keH> zWf-cG*r_aN-F{OWb4%q8nF1-ZD#fA>PbYt>f8k({^a%jeazUF|nbeC{+#l zUZm&;gw3lr@Gu@Tn@>q3G&yXtJq2UoA?eSg2WAdgUxo<2i0*vOXP_FRJ8hYwgu_^2 z5YrGG81+-0)JmqKp>_o4(tweYywN>Pr(1&sn}}QQyFA(+_O!wiULy+;K=t^LtIw3@ zq{LaFZ7*Pl4g!9Wm7;IbJ^)gJ4|WqIeGf{4An|w^=kvSib^2NR&9K3*>m2`zL@o-l zXdhZ(un~-1)rYeJ$&u0!`_47`Ed#COLtkFPm#b;1wV<2aR#{n~<2}1qjB;qi@K`yF z0uVc(h-3IUSko(n^v8Ug&n zTh{BX;S|5CBXtemy~v;+gj&}=#hw>|N5_`cw=IX4@-AJj@3fnr@YjtA^St-;Q&#T$ zB_ul#7vImWu(6(MYvthOZx`^6-0W)V9+YI>BP6Q29o|R9yabhX&IesH$)J`oJ;0O= zyWZF9WE-e9#5L3vJZ#!TY8etTsa=mqgb&0`_sa=H7M;@f^4~ho?sAf9yMA)TGn}Ku_#IyrfF~)&hNEl+u{iD z7;>n-xS~v}#j~~Q`$6w?<=Is+!-Y?o@L}>Wc;qtgMq^Z>wEf4d#Ghcz#I~@C(6iqR z&qLIPzCEj#(?Sfy=%_-+K*NNipwG&@B>L>JDjBbyV>6@{#wMme@XtJV$p#l$@YA*8 zO0KLPA6Qb71-c77>#ia?dKy~d!VmMCr(gz}N1&)jo9zRnv+HwpY$bb$jL>2|EkB0mix_5q7cQ4D4k9O$wsxn z1+=k+qWF~Wn_PMaDK$mz{SjPwG2C@h6EDV2b+>%03>)Vp zX67V>Jj2h%R?G>+W=DvG8v`!5olWWepE1Xd&u>R$5lqswEqsNivWEfYPPeTlrOV`;1^c>vm=IwPin5d z|22K_y1)^F=9=k1`g89EZwnquomMdp`fj^VyNSk)E}1B>6O(n^jJv>8ptBhJ60pu=VIFpi;Z<%>6P6? zV;FsSo_&`jaFH@So1h#0mn->_D@8VO;7k9PW2KYud5PVh>v?`$w+r?aX5FcGH+(6w zw~J|-fyu{vXVGTe{x_4~ZLc2h`VAi6uEomvoTZs{wmMIA%lNG=U2S|cQ_77Si&o#! zwo0VT7)Vgt`pOK*d+qBel^ekX+wHmwGl8=J0k)nTG)x|&cd+|YlAeei#W^&`hsl;dQrHSENBZ zq88g|$6`&L1ZNRWL)IvHRwz|MTme3`P3g8ZtD294iGbbqx|1(9vZ!s^Zoq~;49(x# z=w--nqS?Zikl&MrWp$sZpx{s(YF&(a1XK!g!0R7YkXY zEe$fizN!>W8)ELnD6KE=vtbw8cPJy_Dh$KPhJWW88lKQVFTlE}s?UT7*iBVJ@${ue z>Pc_8=*pHo`5lTYA8O?*6 zk!ZrK1iR~Xi^sQuV48*zOPc8#Pf3V=Imvy{z7f6Kp2=4WI%@x-cg6!|kOk(CuXq0S zHAnjGx02L&`<$Trz)ixRQ!F^-Dlmna6Fyip}&1|mV)KJ@X-!=h-cXOGiriR5=;12uWlcxSSuM@99IEJ(G#>x z44gyJLLVZAv;>Q001?Ylu~=w;oe}GL`Df!Hn1rm22-H~8zz-6dVna&eYjfb@B0EAl zgk3Vg)AJRP$5=p&yPQGX+yrM7aNHM3CQiy5kt74 zWw_5aWKNee2PO@y2nmMe|YqWBobbXLWcM0>RmPc{_2^k_B1WN>gkQY?GpE^}=zMxpMx%0tvebaeSItL0zT z<-b3oVvxed_CD?9b*H>e8M;$G;;S{cjz5R2w&69@k{01L$%ruCj5NZJ%`4hAd>{s( zFeymOag_XN~VMUg{FS1Ka2MN4rMs2}7TWK{5`w-DjqikW;WaCh^ zKMK|C3k;4JB&zI8ctrrAogLB#Rm6dTF`ihe{{z9n=v2d^oAml*dw&-GaJE+r>jfPy zAE)2g1|$#=#6B1Xp*@lzHwC^9i21vu-<_gi<6AKLrQgqR{S;V>i?4Ni*9`5B_x|+k z-A>DP%v$bl9Z!xYB^nv8F!{I`MYz#*FzPHW+?}Xx{B*vNl3E;s)<1Sodbv4BacN>Y zj!^*x90n_sW+_6(nGzOi^a5=Es@(cKv3o*$KNrc%fXG8=Op7`KPNk4UhZJ>}G5UVY zRjZq&qOxCo>pa|%?LYX;_9%E-LI^h*!Kdp=b(S@1II>Uec2@Qbu2&RW9TyArH|#RR zr*%3PMuCbCyX`tpBxQDZh|;(Yh+!>(vb|!ix+3NP&tTlq7De&_{_ECnQN`OSDBt~t*KX`8r4h%qeRhamRbNy#%(j+`ERc1zkmfgec;M& zQ%ctrXzTodPP!kXiB2GjH!9ZzyDZ@f26?9D3lH<;af|T!Vw`?5PB?1w_kyh)AEF=Fj+Du^Gppp_N4T;4MueTn86IYulDmG1n z;6MFC)EkI&J5D&2o=&8pnFU{CW)nLLx3-$Ds)drTCEO`OcjyHt`ORS8M0`%biP&w> z`Duro&)zEKmA}`q!^pO@Cods9Q%2d&MrBk&K8(?xK6ss&o!PKhXB}bRJ)IP}1gBz$ z{R16_krchta*7m1CiT+Emb-Ubr`+uuI~5!T~hVlgQc2TxoZB^v_?O!V`X$R;Wmya^5sINv=R zV9d$uDG+^LGzLKl(`XcK1FQ|fufZJ7e&3V}sWvYxaCzk~GcOVcv}Yq>u4Ir&DaA8* zb;upN3Pk95jSv!a#RblSG>ksVrd3{5w$OY?%~+O4UX3 zI-T`aL1qnwEwX*3*J#B;CB$FV3toLCR5)b z)#EpWrUP5 z6k(WOtz*!!f}GbS9Vs6uZ=iUTEdGgz5cBX1c6VSVNQHnol9BCUfYHzK$=47Vqh%`L zKuqPYX%;F6z1^On{%@LMM{-Si-d1jO4b_E@9&Z2Ec5Cl1$IH&(tHpy&gEYJPptF`c z9dY^nrT954wbf8}vdjqw#7seb)PlA^u4CbuF7jcSi(6G0E6bpEEyC2Z7 zxLB|z#c+9xqCd6AIm;V%bcFE2I2cQwz%Kl7A$S3KrR|ILwzEQ$3ln-lCYK}3Pm;Q+i?pf6F&F&UivdFC$RRidbKsP&%O+HnUe7KDv))q74T!wjnRt&{x+Gfl^)zR=@-#rq9E?V|R)X&mj zuUCS3Ta+;`DKRk?O5^wDO{phMskqf?g-zORRB1W81k1ln*L4vJ;;Ke@YN{YWckq*N zQ9L}R8q%B!@*F#|+!|m_aI1hFO)i7~Zqm?YA?pgesh7IXY*Cw>nZmz{hEH)c;8!FD>bIxGR@s&(jM+ih^uAz4_guv2k0tXLte{YaKxsaQ&#R7&<PQVv@hiLz2w{=~f7%;ejAD3&j!J9{evzeRd~SRFRgZz3|JyaW2ZxEPS3bL|C`vwS zWFiy3BfqkPwF>tlBk5;s_W_%Mm{73I3xL*0F_t9ZW`P?DPF~buXKMk%%5LmoEz-cR z^ZOIwEU+z5LRx`62I6>^c#RsOEWPj5VKqB9zEDEXIazUM%lA8ar2W%%b3XNAlO$OV z7bD>LY+sG?!``Gk<;V<%T1aVW=~zX@c16!`~g`<%9}W-l!j*W{y^$XXL#4#YFLvATBOIL(}@!C@$pZD6qq7>3;AP!B7?5 z$d`Y$Hrj$f-UJIX0G>xIc$g5GWKJFiqY0XP2|r_f0fT?ys1+vtKY1KH2Ig@nJdBKG zWtf@{k9bVW2|9(@N;$iG$1HJdXmNZ+Ki!HkOTSV?*>=s%ure5W z9@?#F9F}Al1D=*o3`H%Ep@zs-H&9x*Oo0=#hsLRLQ4jFzVCnySo3DVmYv^4%IIlPu zS`R(MoAyt9W!4k;-bywH4(W;Iklui2?yhsi^+XXNio`0?M8@=L}ABMQ382?d(q zgjg|7v0+vp-)kX&AW0T`nusrlu~IL5iFP2%_Zq}eER2suR8qbsN>#!O#QXmf+h!(+ z3d?kB3tPtIg$XKp&jQNiF6;o8(JR~#oV?jkoS&jto^)V zsz(g?TMw%%Js`4CkNt(9!Z4du@aJIM+;q2dunnF%E~O&2MSPRAu}&V3QWw+%5sJ%E ztNboJRTS4faR}9<8)c>aRu&#UcR%do6e5aKo(zLm82yl(TbOcOtRBzOo-p;&}Po z`fI9?<4ThMci)S$n?L4zrM=VF_7P#Q{_Xv;s{S&C_xsk-sIOe}?=xZn`< zDvaq+J=0!qb+fM-l{%!$Uipvnh@19HZE#*!X1Nz72UHiWyNKMDb3NAc{Eg*&*uzoL zCHk9c>@qSa;lw9xXTi|C%TPP;K5D9nX}c$?dct!LbWW9@ZbLh3?O&vF|1$5okn!Z1 z=g7BDRSZLQfd$VWKI9*3Pfv+`S-6^M4Z2Se3%d9Y{u$smvF{ADGOWkGZlEN2*-&x! zvZt2}4gShs@D2dizH+b>fWWTJ9R$C&$l=QRJa9@S4IcN(?Stap3I6X&-Txhf?zT08 z&%w1y-AX`ugKWhn=zNprD<}z)Srqp4AzrPmBjjt)7OY62qCt(Efj5Z)(T9~maeS`) zUDpt{sbtW1)pvIGx>X&23V@ZT6lt2udNcEF>tw20>BP>F)ar8x!#H%A^oHA6Q6?V& z3!YBR`vgf@wTiOmA9-gu4oj)gdR2`%IB^egN{gS{iVw`|R*P!)DHn7O>WY<#?m7)rW`PFDsfG zW`EMawDr86GcuGa@2-Hq(9mK1M_a$gb`5^qe=_cbmJA zGWa}3J0zB|EepL=wYvG~acvQF99=#UROl5f<-gi7>nB&;CiKnlWOgFqr$TpmklT`& z>>h}VHuF4Q{f1QreDw47-*8IDzI|g#3UdUoNGHZ@Sto=C5)54Qe>XeM;A}}t0b}1dSO92^WR#Y2+SsBSyW=TqI22&c^;isRBnou11L^I z>vy6F;R}BkOP{u=kCJ}vzqv6GQ$inJzSq)<3KND5JTvKxYSV6lFxr#d6mei-ThgVy zk4H@NJk90qp_V9`db?T9%p8kvIm0Y4ocu-@Plt(9kvf;LpEiXxRwGU6qqcStK&UAs zLNKR(Eknm0LH>Bd`4%?NBWey`myk3$2g|@WF>QujDTlzZt3+h@%nm1u*guw+k<1m+ zFg14$HAO(F?el;Fq#OB2ENaBllJx@WT-3Gfujz2N+?iHL@0Y&4_Imll_iB`-Wa(w@ z&p8f8)DDIpZwGz{L7eD2gIZ6M?zO`X56k7;SMFj_X}5!|B>o9AV)?l9-RbJJ-$y=v zYTW1kOtZ=}b6o-R;wA#+J3XGgGJGd3F1|Vy*wK0`N{uHag-eRX6(+ZUF1rvIP=BSb ztj2)D3q;??E=-YBET`t49UY(AYd@FP?Jw!PvF2# zO*618cvnBI5y*zk6Skf1CdG+cvz-W{vx!u4w85*9n2w>HC60k6NcCI`mU=B+_cN;P z0Hq5~vuPZ#sp28Ju|CswCekmjFk~Pi;bcl!!d4uK#4$wm#HL6JY}!%SNg=a%Dz$ky zZ~7;EvnZu7ZbKFoc0FD44AF+PG(q>*>VId)X{Z7vHl$A21SvDKFO#m~s0N@Ztxx{M zz1h8w^ff>y9q{{p8C>|@4DsPYVaG;)N9G~>{+VaGor+GZ@XqI>={BCX<6}m9kO-rg zC%n`SI|@eHA|K=oGH9wNvg^JRh`5Hv(S~B!yZP%$Jp7^EisfxyXY}h9%|FLvq-#>9 zc)JZdI~y;cjV{RFFo@e$c+3u8 z@OZ1}f3~vEo!%zaE_v28&13q9jL#D()7JwIrXN+UJkhP((fwbs zxSfoXBfi%XX0Q-vu&mZIqn`f!#0;jY^{6Ud-im_Btnnt;L2{JZ-oy%5#s}3Fts}{A zkxbl(;J%__r&K};`ihNQEHNyZYRcT2oxE~R$vtlI9V>>a&HPI8yo#M%uMKY3uLDXa?w+SyHi-Trb=eF zvMZzru1gf?aXfp|mZMhD*+$m)z)#AJBmzjZRxykw9=6BDDJQkYw2|jK1Dguz4vBjV zcN(26{6Q-J@9`*rO}=tSKO?W2ce=gcH*F_F2wt11Ad;Vfhh+M6y#>+s3@^XE4HFX0 z31p(FpG<=VsAdgtZ34pc=`;}l(lEBH3#-GX-{!2J4EM0xE9@$IOe#fF3(gYyN1l_ro$*|g z5UT~0_7}|;FhYF)6KsZ(_1XEG*z<~{4{eY$ax|^jD12hK=_n;zEG(xR2$n0?Q;{cp z!j5kewF9p)G79BVA}UgLC73_q?$QtWSm30^o?^8{-g&mMD|fd|Gl}zfbR%Y_Ft^@* zF0ApkdmxFcX*K=R5tA($I8%chvsa=KVK(dr*Y> ziEMzX*0;^guUl5;TSmuA&E}dDTSG_}cXuv`Jl#e=jhKzo&m0!sjbDyTE;Mm>v5&SQ zog|l$JG%x-jNsLWy4cTmnVz}izYZUom;7KiruicLKM&~?XW8h)BoFEGFWRb1YtNSxpOgGCU@)R{@AOZ(sr=XiG1d zg>DwRB=!=Ng^)G&wGQ*tdcfO)KsR$BeG6GnF#4#*Yw7-(IqQf;q3jJ#4%|0=y1iI; zgk2Q#=M*n2^DQniHc}WJ=+%pRbfH9bhjyGl`-k6U;pbkqsguqMQzN1V0@3mO0BqQr z+ZAum3*l)}#>tskCpc%qkU1bXv3L_TJeB%^OU?4Fpt$v(i7`$GH_H0^`2KAN>HTBm z-FPqPii@GyiMPTg!VX}5W<4zKU-geAu&#JVM1*?2?#^1gVO>MaY+BCm{JEGL+L}?m zYH7*al)FB=KKZq$9b~<2uA*XKzptyje3)08ly_vjnmgZvb^AG@L#o!>o4B84AXpby zcHu{ui*^s-nlU9hBJSz^IS#|MN?QNZ{IGm9@)h4WZCTI2Y);o;@#VIQLB_m(#=P#5 zeI@OOJ(nqbz*8Fzc?nQgwr$?KMK0<)HQ3Kuw@Z_5!Pn)EWqUdZ1%Mt1djKmv(8EaZ zGLbnxSwi_$UNLm9_-R`#l}n-)Vsy)JD;f(M0aM_B>2b6PbxiUjUjl$vay=x~*bDte zJ*V*I=9Sem#{l=cvumXsn?zgQHdxdzC{fo$Sbxu_ zbApDY8eOVxebZX>lXbt#2vuvMT|5)CZR--B?8|dzmw&Q>V3N`@dm8p>zUSn})@|iW zp)^Bxb_NG-G%6GM7TW;y#7(1Cvbhj7x;}Cec21)|TXk1aQ=Cs7IAfYle)w(E-1h_( znR9s;mWoe~f}8OuI|laeM+Uv7>@qA%U*I&guE1XX)xpa4+0d7Tz<_4KzBCQkEA%Lr z22 z?~kpV-;C1^T}w43r@vNn{EBCOFCf*~H(=Z{VEkii`NwRwP04$}Pp5cQ&g;cB;myJ8 zHNxAXGA@R3<{GcxknqD@Qxs1_EOuh{Bw_AE1Hj@Fh<+~;Fd%2BBF(Mcp{v@=E9Ye$ zs5kU&(Dp4f@+r%4UrB#tu|(!#EAzZle&3$IF9`nADBItc=r@!aw2ml&cK=8 z=Zwwo)y=S_k|=5F7!X9!Oj%x`9$q z*1FYgjre{{f9wphA8q{qxaWc;LcR>)P5K|7sD|;wsSn}gB}Uk9wUB0P=ZTi#%LLUy z-oV3_e1u}<)y%|dVMxfW$4A(O-jJdya^QijsxYqSxv}0mrMp2sIUlKw0|6(EWTjEw zB=@vr#xB*D``nlytP9N5e#A#eC`o$d69}i5(RquYh#*o;#L@));8{M@tB)ZJSx!dL zFDa~TpGt^$8itG_@@;NgDPo$`szY#9nO)9c2HrM{gB(E=QHEQXT5mf2%=I-EeqU=g22zMt!a^W%vv;8zF_n0Wk$N{DA= z-l|loDtLM@k;TOQo!l^y4__RKvntBoz+^~vp2+ek6l|%rR3M}25F#;@y!?9!ZuvyV zDzTV-cPLj8UzNV34b~f~$`*&6B&F(sxJKCtz77Vb>w5~^qk@w1dmdT&@S6Y)u5Lrk zv(2Oa%NSie`yz_%I_~1xjQofa79{N9jEF&D8H$aM zCzF#&cspr|EN77M@>vsuK;|FGWX0(+PlCZZbuD9{#lcFUj9BC&pjP_pLUh;@g$bv_ zQ6Hj(kY~Lmjk!eTy1;3QR;Fel?i z_<~!klgEUomcIt2YCO%Z4OWX<(6nPc0Ixd(ri5EpY=;va(TXQ4r6K1SXS_-!e|55Z z8S(HH3fSp{RTcVZu^|@zWiby3j+@G|qik>bA{+OriU9U5c~1`0%n?x=H*PBIvK)VM zF0s1jH4H~D16cn3dn|q_cY3`4iA~L2lMQ9&$7tLeUK4&(gT3}6$J<`CX*b@$CC~`6x`d$Tdyvk|&2@I_wh$stPb2Cu5&N?*BO=new563i1&5N4xvD#4$4UakRR0@&k*G2=o5rhEwKJyKXu$f{)jN)CT;S9M%uhJ1W48{GW z15FPwCj2LY^sp3aPQW+KVFGvg9ek?s#j=<|K@*F)b$ZxrAE$)0+WaVm&npT-`+0J7 z5Vtv&Vwoj2cY2WbZ9$r55`59E!=r(`88vO5;!=Sb5Po{`s^oo4#_=ZIruA0rCDNR- z@0m$R`oefZ(=Y5^qLY88W3W}DFTOPfEk6jFyRi0}edz!D<#@bG zZuKhL;Hv9p$JqJ6?=}~epWjJ>4gJ9SKAiuA^otc1ON~Rv zAn53=lwbNGt!7)^_r0q<)5=^0DIt^RQOicuLH~}UC$1<`!Q#NtnYcO9m6M;Ak*S>e8h~%Mec5mNrM-m}Y^GgJO?+8O{&C=dRWs4*J4VH-)ViY)*Iy9tw*a|`nW6UxICzI^Fdj);(Dr^q@Q?vXZ>FG=ay~onm z=1@V(oP6UPV!85j+2~rTj#)t$_li@M5BDy;_2R2>ynXF&`99+Yq|E%Rcsp@DaIhu( zDU!k2>8G)2E)`Ao6&f*#Z6X4w0%dkh#ftOAB`pD6R7kx;K9l)Jp+ZsGkMyohanw~` zpnaD#+|E&gp+O>!R6y80e}Cicpm3@q9|91tlfh>dQQAdBz=9>7CR`ZHGis&O6M;{O zv76*5m72&8x9gIb&~UsW(V=`ygz20@55dz!5kM^^A;Sr1QF^ZZJFO+QjwKWz3ue-{ zbxX0=0X{R65DSn3@^vq;IKc76;d6)$A-P6{ZI?#>nofjrDs4b5+@(CgnMEZozzxSr z9WSDT9YRo9mxvVyaM1ldLfI+4h~-&_zI=^F_CQZjQujEX6TPKVgwJYKC69;4Fq+P? z#a^s4fVW7}wc6F>O8J=V96v@L&66QyRdEyH(ZbR-l$>lkYBB5)x-uMp;MXX*HWrtk z+j;V(bmEI=z)4rgdhgFk%KIdgOo(PjC`hUww2X)}>WegHQZ@>mI+RWE{&{6?ZBHWZ&TJ-M9b^o50W#W0^( zZq%07c#(ty`wTL~ohUvJiT(nosXnDmWa)~9t7Mei8y>Ocv=PDMUI#|7K2%WnnGSJc z21lt4USZ$>Y3lSTAg(13XiK>%!|b^btNvs&G*q=l$$ZE+dM zlieH1^4^W4jzOrKn9()Cy|5N)4O#?%jf<|+IaeVFv2VPWR(mP`j}-RAqtQ&G7k=VT zDmTlU=gdpof{URZDqkf&3k)OCsG7S{uVI}kEPs~@BD|ua%s)koSqO949$5^K6w5*j zzF56kJmoj8*W6yXOmxX}vKLg`S#H38}Z+x^HyJeirXS@OGan#iGQKCfmjyCy?psfidfVP!FBu3=tv6QpK|BhoPM ziPu%x#;Zui-AC{Fyp^+z+(pZ+)(|kdQO%V`@9Tc^VlQ4Mr*y?u5AO*-+DvJ_n;APL z7&|TZJsGs?&D2+SXcUYoc~6n=@hM^HG~p#d{6cK}VobcaINL$ai_MY=UjK)$eszxr zaT!7XE@{35+OA1Cci(RmGHFxtHEim@aj=0X_+X+Fe3V%sH6mE5Ix(JnyPvDXJDG^% zuADiU4?sDmve{m*d+*nT+$;tSp#0Cz&$fbfnQ9O0m=Y!|$+#FTcQ+LUYI{TkX;?T_X-vya1+o z2P4(gZ`g6^NT5_^=~O?Y$;D)l`y9X#o+xwaEOtgZbNs2g)xuQ}(xO z*T2a~FodvJ#Zj3EcUA{D`i>yb;)ge8i1Df52FgRS6IDpm$IF}wu>veviSY1Tmf|c> z#Y=5ypFazFxW@*R8IDhkpz(m{BfW`rmH-=XEQGfb76tg59-!Cj=FsEA8}Bjyk3r{H zJ(uew-IomDTN_3*RJH&81lv>iB-F8IA^#H7S%u zP)gG$!XKNyiHZEm{cu^7;o{5ri9g8Mk>}v5pRoi28zw9LjC-Pehn2?nnTAodM9!Z( z0le|n1bKtPrDOR7gGFyO`Yx@&QLuJ|v;sa^9}5-)i#;bB8W;9+3P|zzglh$|@7szZ ztr$YFha>O04Y^z7w%82H8!$n5TqS%uF2{xn$htj164?RdFc-Xrz%u_tQ6h9K0k7(3 zd>jmfe~)_^yQvw(^EEk@7KKKYEz2D{Pb^0}w#(kJO%h0z=k;!#k z)7(pn6JycSovIdzS=j)_gq6;N(D7N~*HtxAv$}7GUNYb?_l&A3c00USqojUogq^cr z^lX9k*|T~XT_vF8tnk>x*utMlDOn$0MpJ@e0qec?@n!cg5g^~}@=xb(MHG~r-+XHO zTS=K`;{w00k<@<)hhRp&Q`NLb0%_-zm7q9zpS~HbNz2I4v|wLm^3u?A)Tf_cYc@H^$gBn(10>d%L}Fd? z)w$rCM?nGC7&?+P&7Fi>0&i+)VM3QzVE(7gfr>TP(MO*On+W4hwQRvjo(_cvrzmo~ zjHb}L;xLYazTxAh#-w-Z4ceiL9Ug?$ioN~d1x7=Gw+L)3ER77bRT*H?q=0=~El81u z5fZC_Qlr>6ctf&#K(uo-C4on|{#KD^Af5WXNjgyDoM=KQk zu^|Xbp`PwH7jCCeG*o75i-tF@3w;K;R^rYiLg@s&1pYNI{5JoX7I;yHjV|X@i>dyF z_US-GON&)%4WF)Yvs>DBlBX$DQf0V&(x7|(CFz5Y7YbSuu1433p~9z!4rfB2I~m>1 zd`9G+&!Y|XziO~>@%QVgUpY#Px!^qEu*xCi$e)I%caR%pVk*9x;MEld7LD13L%5Wc z!K;elEnP6<&-y%LtOk@+Nbw@QFFeX`^P$-GY8m)2DkPQK60RvyJc`(lKNmhchSy1; z{fXTr-0+j3L-mQ=!*0)L@adxb-D><{>)CW{e~om;JND-(ywzJ8|2+PSpBLN$^3B1# z6QX=b4!Sz6!a*|QvL6K4$%;gof2E9P7H;H+T?@-ZL7Z)w=<%WWp2{l<-@*QPb|mD& zz)I9A!l#WZQXlwA@+wY#Rs?Oj*}thD4y+IPhofK=d_qBY(6n%Hem-28hehs=yM+*@ zvj=gmsE7GCSV_zeuRVQQV;j!JrF6F4^@{}ri5dt=BF8F4$!C{k$A%r*3pUUa3E;B! zu%F$okdK5*xX|P>RbH_9k_KcrBz6@7!fsH$lQLp!dAXT+x#v2eDYEzj3gUeNeYAFz@gC? zMv51F#KlixmIY$nM>S|v3FAS8uqVbolu2j#@cHucKQ_VD?fAX$BLKHtlyT>&I^5e9 z&SsX{JdBg_zK08Kk)0ApGf>y5*&WchSS5yH7XWuS$U~5aYOWwO6#hZfPIe^-NW(7q z##fgeVaN?Jgi;c|L}hLUIgBL#biyKGF-~QRweMMh^a6I?)1YrBbb;yQ4>b;`Hnl5o z7C=u@jSpsK*(8}=w%;yweYG>a5Sch+scmBB1&sJ=X&_zCSJaO(19Sg!Y8;BmaOXLE zzW4dIRKKP)#HZ?jnVhq&>HcW7wIY_+V!Wc$Z|=OO>l=}dNs@zFdFv~WI353S5xmWmKa+`p<6*gbgb&L%gPZ?;wAX%T7y*0Y@BI;?pC3LK(DXsWkIE`N*yK*9D?S|O7YcC!Pa37Nc78$uEmAZt`cA= zdulqkO-kQ9%r+1D9!dYfb@~#7+3w5qXPGh{IH2`NfcZY7BLHg*l0;BX1{nq%TVO)W zpCYrhAYJ)yr2pkbU$ydvUDsaE&4o?t)Ko!}$2y)(@k@*CYvJk=)>m)QpU`B@0twk^ z-PLNRD@}Kj!p*N6s&VjUSXJ7%9LWf_vLw0ah$z%`(LP<>Y{?03tKDQ(>EfZBm{0uY z`ZT-1jj{zKEz1+19HNa))Xj*Ppxm5BWnispLf@c{`Ao1J9$vjGVJB}1zkFMC>4nU!qZ28nxB=95=z zN`GcgYo#bI%IdZ7C5Vq_&b}j>wjn`x`3DpE7y6abr8X45E2H;keqN;Yy!-khKx6e* zv+`_*0`JTOEz4|~{1pG%M75sVlefT%Zh@zHte|POplOUtD&ApS`gqR#c+TYkEmr;k z+0wLF!FM|T%Cj;j{VLUh(UDs^hvss80K2l~F?;Ls;b!Am`}Oc%<>7nZ$ATiK6npZ< zV{Tb;E{!JKu*VqRYg-@TNO8c<-kBD5=M#HV#+?56romour8xVx5B;qlSsm{>50`JT zPfcF_M-)R@%YPL zYzU3HPZ}G44Q^N?oybS&_BvJSRz7dL(RY69{`vR5R8F1! z<>fz=zM>4=#cV}NnAxCZ>X8JnL25$`To&h4he(%o4?JS?F%>bcf}xjCx`HSAg~r_! z>Ir%AK`Zf>4=Wj!kH0nF++Ue6@5={rLsWCweQvH+9E2z%8<(yNI%CDF$s1IQ@Hqv)R8X)*bDTJ2rTtm{+ekqmy_!=D zI!O98I|zaYsF^S`pXxp%4dx9ld^~$|ven(4`z5ghSf4BR-hY2{xC^El^yy3M_>8{9 z_~OCdLGJ5UnHcPhOc5q%Z(&9{6P!%$Gjv%(gg?;xwfDIW8zrQ%Fl<>vvYL_PDIWI9 zb>lLugJCXJM_z83{_Dqvwzk4xN`6yP66C#i7}|(1!|*XL@ACE-^O{fY&E;)64QtuT zV_xg!ojb40XxrAC{=UoKr)|9NS2^FWQgZS~5BW8HZtiCqoqh5A*hf88&FErL20wJW zH3?^y`+`UOdy1_pCkFXHZNsgAh1*b&*b7b_dl`P!y^#yKTQ|ngORN!xmB_s&W5ya0 zoPUgCJF~5#@I5_aFj_O*E_d--R&bt`Lf$<*eqCcQEs;zyQ1kgbiec{ZnvvayH5@eB zOVEg143`Q#9sP)%ai>{@A0CXFWuZ#J4ewZ5gTc%l$YG#oCCCP;ix=cQ1Tvcc4rgsr zQz#;o!-)um;|p9phg)f@M#&j{_{*F3V<{*adt(wSH}azSWxa{Hs;;ywkDb1=LD=~E zC*fO#v5==Y6tWbN-`6eq#uea*UoxpF0DD~Ar;tws!b0GjcvZ=KE&_jrLL?5s_bBJC zC`lwnA&^XkEj33oG+hvh#T_dcO^zSE6rK!dG+-0NVO9#CV;+Ad{6zTytPK{Iu99N>4kSm@`hAz=LKFG2~umdE(rU_+xRuFbKDX|vB+yDu@u zI61_#vp!Z3*QGa+#a&f(_)s!`yt(Nd9AwCO!ph`yG+hxu((F|Aru=K$6Efs$?batx zpS_OHDVdHSiSwYwWnO0iLh%^NvTgYZbZ2#Ysfu@NYpEOJrj61}OpUv4yR5#X}F$>4U@Z)-kkEj5omY6H*tS3F!yP+bZ_n>C0-%F z*M(R%$X7`zK!R-*ULmv)zgA%8L=5q(oW!T}&V#CIU;( zPvG=qNm0EP5;2{C8GnMir)G`vhNo*2Xn-KwFGE^ce5r8R6=EpP@w2T!+DNx&`EO*ycKbK*1 zvQQR%r^d32o98?c%n|$e6|$f6av&#K@W5PRSi5` zzmzB)Ahl=jrf2Ae-@&XWKS6{=7CfSTMkXPv+Ev`t8o-E6B_=X;0EMc}`2Lk^47h&?5B#it2<{hsQp}wL1b{DG11VJ0qr)uH_ zrbPJnACMr1ZB#VD+)HYu{xRz->G_DimRyj(jGx0Ccn7Ue70ich5IZ3Kx5`lQZ&K8| zT7QPnqi&I*lEYe>b5J`iV||+qt471cFvd>QMTj?v6PN=o#16y7B+#R8#DKwC^>IQ= zW(KrXl-=KHxSjRR|DvoVnt&xiiKPn4KX=&*xoErKDil~p_YD?Yb(?&DYxGhO>Wq=Z z1Dt~V2-5|!B%nI-5<2oqMCCa}=*(e_4V1UTcvK^Bw$&96I`$;6b*^#Pu*!!V`cxw- zb0s=s`nUd16+Yi})ixM>3Aw0W@;lJ93D|TUz2Bb7%Z-oX)!`8>CLA=tabU?Zb#NF# zi@F%Oa74>7*tMRDb!$_aqBm#*hXGJ1QF4tlIxIsn>IW2E@&x6#M)e?8HOdu4fE!>O zgq>W!T_<0rSgan*iz3Z9jMN_9%UA_dCjO58+$no%n9LmdxZe-7>|e{X&4(e8IJ5Dq z9*ZyA11=xNv0qC35kKz)e6@P|EuGrLB%`d=^IQ88t|YvqHq4zC!$5jvaqC`%`8O3h zeyjWnJ2+2b*%Kg}E7r~&_I_ zH|XtKu`2SjYvc4*>o30#&)slLOk|lNU%z`F{UR`m6{n_XTR}%WN=P(pKCx3~M2XTl z@s@{a>8H0!Q5-%wHClzm--B~)H~&Iir$Naa7Q_1SdlwDq%Iuk0Vkl!m7w^ez0?SNeIcNl2Z|LD?Z6m=>{R;@ z^^Ad^I#Bb#O2hT8Ob4E@)_*!evfGV3Akg)2` zZ1utF{mkTpUBR{aXYprCrr>YMS=m$R;s#buL4Csq*&+vNIk%UIb!drri`2}lq@D#K zU|hXrYlY*_AB}g-9pP2vQ_lVcbUny$QvS2LW`tEFu z6oe8t9DmK-eQM8rYtQv+&sbusuKi6kg8(2%AD{poo!?^Zt%WyW|Koe7{}WRXu9BKE ztjoM?PT$I1nHmzOQZ_86p{$Hoyn)5b7KX$MpEh*w>R&FBh3bi+n6GTB`{DLcs4;YI z_Z1k4oW+;>prTd9lV+@o1E|?Je_yH+_Vs);9V6l}rQK`w*l&J}R2nSGAxW#xVo=I` zKr6bM(CIEvY_{o+>yu#{d-fNPHomC?hdcbpq2m3MJ*JuT8A1(OOIn-luLsi(lN-VF zPj7s_OS`wqys4@82vDn<&)Rb9pWmf8Sfs36;F{Z}DQBfSimi9YpUF%^>xHrpTroQxVGzy$b4 z3X-{9rnxO)u<#N4Y`&*Acp|1wXcR57xh?dT?P^&|s$;2_Y&cx~{uBQFl+eP4-F~n2 zd!@vGcO^pp)hxkXj1tyN=q|%@=0xENYANB--FBt^nAG^M8SxcQyB!*lpUW;T1 z7p=zFanaLRAz2W*VAv-2;CfgOPIqsVT@;2ekaiWp2r9l$ys{miE4vojS*>lXwYjEV zrMdo3rv&=gc&vFMDcuwl0=Pyn5KTS%3BbP-LaLUdDDb@$1pf(WBr8ZOcXbHzI;57jIjL-oID~>5_gG7?o2)ur? z7utX9O8ZU{20=zj_9z26T%x6njkbTO)M^yzjPhR%G&6_X&&{--O*uUr)>}UuTrS-! zD|rQeqsHp^q5s1CYuGEi0prwCN;0I|C!D&%G(k#b7Q2XkSYQ<;#cYhe5Cn4ES!E6) z?_vz?dLj1#Qdf*1WwF+E8(uj>eDp%4fV?&f^TV{{fy1`xEj%`6nhm-na%$V?K+e(T zQ~6u#jl6r`nXunqh8wOV+K#OStB8MKwvX@cBaoWaA5#Y(f*-dPFal8u>WGT=q44fw z&vLD&f98D;WR5NhfGdAbkCI zF!kgb;Mq&gkCDZ&zCu8@V$@MmFsd8AE;$$t$TZ{nhK&_PxXJ=#_8A=|W5;1(TVOFD z;~()hS9V)gfY8VRPZa|9N2zFpR9G>g_V75Mpj`ht5~9>UuN2Kxt!^rNrF_3!`T`PV z?}1XO4|2C>k$H}$Mn#0!8JUYaI%nZE-^0n45#!1zVk|;(_BdY5@il_es4IP}z+-rc zBv1bh3y9-`(v6&8XOyX(lI#XiZsHeO=uv0Cq#m13c!4v_7Fq>cMHJX~b(}_bc}KB2 zoGZ(r_Yps4!!SEO+FZs{C=h>#&)W2gatD;slk{~Nfudlc{Z4E1hcIo*o1b~nq;0uQ z%O*g~$e-PcF7J)bFOfc{uWP?Gt4}9xc4OatactH+37d|n$)JC@eBRWiw|#GWFp_y+ z^!z^Hus$J&yVi1evX~}~CaT=)MQmHsU(>$^bCXNbf(ufTCcmWv*EaQ^kGh!*8NOI! z49!=Xm z>gZuS$Kuk6#~b#!yg8()%)6xQMb#JYlGe-~M8z^fd!Zs82k^Jj*K-vb11^7!-u`z0 z410XUwP__y=9)mVF3U-m2;><2F))l2He+pN&6|-q5j)%gPdr2P1)^Ahm^ct}q?>M3 zb#YYrtJU2Xih8c5Fj@^J%A_H#d8JO`-^FjuPWH^I|L9w}nmJw`9@L%o1#f&}uXG(C zrm<%p???$mHD`{I;x`0P`WA&Qa5cX{xe86wp${jbsnWj#Q(1lAH$A_-w`3T~%?b4# zJtX**aAA^Ot8QLmik2qmj|=+;g1 zn(sq2qPq8?a~ImU4xz3=Q9wfs5_=Nn@nOslsT%pjNSp1S3Ue2>ba0?A-X{>1{o_H& z%Qvw0X9SWZ^Vt*oIxc!L6ubA_=ZmTS%oLm4F<_WwNC;&#GG;#;1=2vtH~3P_khx!G z`~$I59+CjxVE`<=7iL7BydAjM?djbu{#4qdtO+0Xdv8f2RwyU`x<%H6Ou{iPLbgit zU0vX^UQVEjbp%n1d#PcHJ1}lw#99F917eC1Q zhixlM*(nQ|_m+p{&Gt93K>}2)zAFkuH z2>9%h*&!*9$#T}u5VI5!(Z1-$U%44m8&&^*y`zgkyy7RnyUu74W)%>gR0J|eR?$0&S&* zzXY*BH5htu2BAvCSo9j@mi_483iF{!W?>yEHF&4&d+l%KS=4D_C9-d=a)pbT*YA}d z9S*S)AF7a?xso|~l??&edhNHW7r3_pUrzDxT0H1pzp3wZq^$n>`Lnv;Q<(DXgz%Ki zkL`B=Ne$WCIQ#ot%BDkfX&iB$Hfa6%~ zcFNF9D_tD2M49m-ZrE_cX=}#SAh3v=)CzA);fkmp6;jzJ5M-dn4D- zty}nR4PDkO<7<`gdc|$uYJGM~rO~-x6%tWI)3u4EgMUwyrUMIVoBWHvzH4jp$8v#c zfrQbImJqU{_IRVj@cK&dcgmSPEWyacbCPBfQN6%sw_&t_F-RPpmJh4b%YTHCj3mx#iWyH|8X_#B!xuAc=i- zfI)m(Yj$ZX+3-P$i?33nNZ~v)G$Nn;t*h2s!OtWt=r$9)f|!cziFnL$75Njur@s>4 z3vn6epUnJ=E35A_Z2q0q`f9jMyIG=QDSP_h`5p;J?d@9WzTF&2HBc3$hQ7D1la{`F z1M}hv^YS=+Ik$-NAf^5+fmDN?No+LiP0SP1#Tuz!>>8?C4Hk+8x3T#D^n3ls@9iJP zXRn*Y9b=e8tQn?ls?FBY>Ghq;C^&cuIkknxh!V2C#b>|x{L8bbsq6^+WZH&qOo_yW zCGspoRcpqb{@Yo%k0Dj~cU8}C7605K&jRaj^i%G<)Vl;m(7oa4KA!#BFL{C2jcB;& zVk*Nr0LXawY>nK%-UiG_k<)zk3q_dX+sXaBQXA`Ak>%L#X57pxIZ_Pn#;42l z%0&EgnHM`YZF&&WA{y-uL}{Z88=5vOc3*uF$Bt{%_bgZFjJO?Q&TS(p3kS5afyNtO5(%gX8xKg`2vtD#8JX+v5F#I2;X z1cAslBgBVH!atzM$4b!tRYa0J5Moy`g_P>0bfHpXSl7V>Zod4))?>}zual9MW{Z7> zpbuB#CyQoxl)?>9GI`N{f43KM8Nc=LkX;$LKPS<4d0KKB{pl5!K^Bl}3@D-J7nAIT z8YFVkOBZqO;y!|^0S$0%qe2ltW+ZBi=orj~ZXC zY>;{0dWqx;>%nofbSaS%miIUOq}g)lN@KpJWyKQy?~`TuEF`*8SyG@||O)-1CKjbk8cwL{_N zs8&`I>`k!&1{XY2!IRR6B8!~oJ|GMXEPFl^iRJkUGivOa%wF}}$GV-WbWmMb93+|N zDAoaG0io<49MzWe)*I2Ldg)49 z{gfwsznp1G8$+EFk4WTlQzk@-`$gCTG^@y=M)aP)0GK-sF=`6S;7H(r0A=Jdf|9Zy zA3Ku=l+{Ui?1%)atEs`E5oGF`{l}fauJA6xf#rz&m{dbQec31}S(rL@e+e@HM@U$% z-v=J;=tub@j3#Bk75$Jh^w}(xlL~c-Tz}6Jse8{1-z)lS+9g}(!-t$L(-R8uyod48 zCD4;+1dczN+n2+NrbYhPm`RzqWsl(eyq zQ&}-OuN|Gf{3Za)QqUj z8#(~>KL+baL(pMh31I=FXtt`wF0}%FQIV0cYhP;sDHFKubP)hXCICNn?*k`nl5_I4n?1XYKA={k|475+rv#3L19i9HJtXl%+P8FOXdZqN+ zfC3u;8qX`QD9;!=w!!o+?7)%(W{n<{AW~lS_(sDB^qTY$U#A(JA1cujeaX&;XKOtb&+rhI306xh`q}{$~vY=>MAe)-5 z@&d#qf*>FAFQyybxhl}NKspGbR+vt3R2`NPd)S5AO2i2+BpmU#6cIT>`xlbM@TLXN z{R1R@AgK1m?}Jg=3osj_kvqwduL_k+(a8eY^+O3(gNGAsIVjSxxw{8|UVXEl^@i0k zKKFi?FV&})@~>R;?bH_;7lRC!lue$(Egt*y@@T?oUHZpUnP_wRDAzRSID zu8*=tYF~3?8vb1d&MxAd+ZCg=oC{rtCf| zHmHerxLUKcJh5mo;JDVQ?c_w{(SJAdOK#BaByVNg`AB5OsMSCttqnPy1ub39D3P+_ zMZwk!#V~~3EX~i5JjF;(5QIioO#xLldfF)}lqY}X6!c~J(eM8z0{+|He*~BhD{7Uw ztP?+YQxQJLC?RD`A{X%}sYF|d+~ch`&XDf|NZDUC_KsT7{YvU*?d*I(1u+iJnK+t_ zJG*FlJivRlKJs$;B7I3p#zi099JlPWCFjR0vQpTg{P)QuR=?(_l`)EbHS2e8eyO=urt3(Qh-%VjvbQ4|1DMR(?p?u=a-}m zot)rP=C5u8!<>wGHQ2}d7D?S(YWKUFd>pCdv#^46A4G&R-0O~-eqTQf8Dhf9%5+vEEd zzBFHCpH-w(R1_&Hy8pdWF`4PQ(zW%mCG+s`^dv3pN>5K39u9JogC+d^`A)E^Y4!9v zBf}&;qg5wzX5~o63iFG|vR9?_GXq!OC5AuG516d1Udf#~F_uqPK;0Vtk>cI`&1T5n z>#Pk8nOZZe`-@3!g8fiY8~TD|B=5>)q4Ua?mLxbB{$_!0vq)g2F^5(P*s$v3;qYHm z#MJHssn=IKMy{UA>jt1GTGjgQZ}EcoMpkB63<$h@H577_%beU{ql`bG3>pOg1SsA> zvEaY_Q){St&9roqp`l%)JAfp^s5G&R9Ln&7>$iOq^H-)i1^<4RT?^8%Q_@-xt?8Cv zsms%v5OG8SVQPeAd}=&h6oIHy8g`EU3-2?OOb^gcRT_E~TaBJgan=~Unp~`Mz)tW; zS2Sg;8pPpeFph-f_p7{;1BLICyp8S<+q?;{DvB<$G77 zVGF0d$6cDBrF0zm(}i}Ay={@1n?7Ph-bOY*=a9iEk#aSCc%#*e{Yf*KvMjvjh?jqF zUvHdC;FLD`+zGOdqEemI_{&lBO`SM)g?nb^n1FxIShtIz749~X6k!NOMa&*DI762i z%yBLC1=K=Lk6R1sm)ywGhh9*;WP$`u#zcnM)pMbOB`Gd zd^HiZz^XVmnACb-yaN}S6rSi+qb=7cdQJTiiv>p=`4KcGXl0(lUp8zYo<=WSG5!6B zaFg>f7+}et@nSI{AT=QDfQa)1AO(T+^fyo~(*SkmYiU{5ufX>|Fg6P%!)3@92qfjU zahQ?4Tpz%lonjJwfG1^9tY?i9f$l*3dgGRWvWMla9~Cus5pthCouy!2H}<;B##0+u zE~DJ`RpxGpC1ZImY|o|8aeDI%Gp`p@yTOzmAmNTyq2U8sm2>~R*%`Bz_XcnvECL9* zM;BVE*QrvC)@%{NazLg`cr3JRv(I&giu9X)WU#`?&8qawhKhRKoE(yE-GgCf$Wx@8SFl5 zE?nF!>(C&rPbQ+z^vtbAnrNj!$bXVj!a1s*I!{yP5s?>km@N=^SytI{^h*=S5cn{K z9#!M2TLz)HqkYsLBeR{g>>RW@)#Yf(uq!wF{wYeWUrI^#lXNQx{sJhb^j$4a-MQ|x z1RpIuvK>49M>Icd$rrFK6G%?*4D)_Dr=s@OqEm5%?98;2CL+`(KY$Y0zw5a-E|yFY zArXlinpgqCVUz5)TIu;pAy?=_E#2Aof}q{Q&)4-Fyls|6%QvXz_gHZla%hJ;c8YCCoUE6BHelkPM_;!9mtPPR$zy$Y4`vUU4)`b~#V zy*-u*np#ns!#4v0qxZuSxet4l!CQxI=Uoyux7VYi>{i36pJE3^deV?sm^hlRkO*gb zAlNJ#i!y>o+gXc()*w7$QvXFn6(eSN4~{08q_aBB7=)m%kddyZf4G|r2_o|P!ju`S zQGvutg7u@-^7y9?Qyvt(NG`}aa$Ue&+e6nZrL1%#<``O5_bp=!(SG=R=ke_H+4XwL zbJ^o{i!URL{}wnPEB8gV9z|_!!@6RkQY~;WY&m&4VmvIYx2Y*9otoy%xVu{?V<<6T z=wSL_09-CQft7mm zLC`SO-+u^VZV?P6X@~{>e&5SMi5~*~Ag-4-1VMl0N%2>TU${(2JtJ<`yZks@BiL<- zJQ5D);L_sk#M-14!Xd$sD1Iw$M?~g{ggjlra^fXm38jhx39T46C_YZe0tleQRq*Sk z-y@)v)hyRn!D#clTJWX|I%9Czl8+VP2^abPiAxt&C2!p40%iOO6EyYDt;XG<3{=WY z<64o`3cVQVW1^uEi~0!FQTDTsLv{$N(`M?wlS_gFqapBv0xo9Ihv#wl*davRa116I z038%xDtcA9ZUhIB%w->izTet=3F!q&nFT_0Jmfx0s+Qz^^j^KMsje%ibZ<|!e8+7> zpIxEdFNR6N@mVd#t6GNF-q*?dKs%TZhN(iA_7Dy>(9Z z4I1I8=7L^2rS~dx_Djjp_>vs5vy~(*qF)~T z_5sy8C$H*OZ?xLHy)xj(r|%SjRgHCP{@SiDth^Op8w6>;2r{x#JU@>pDRN_~W8nf+|EHRyzKAe;^fMfUj$1T5>K zh_AXNG2C{bLYP(uMT&C6X#HmYu7=M{nZ=ienbC(3Y@)=@;idKGx88qiutLVKKW(r# zGo0*%D<7`PnxK_GHe_SZDQ7G2QpV;J15CEvLvIm?H3TDztdv&|imPA-KV$rDrPJ^F zmhb<18+I=D@d9so-5>w;>sD0PZNpS|I4S;=NV)#g@LhQ*@p{9^0v)~(bd#r&!66XK z50hEbpe)3`6)-OQAmWqzakgLF-w?m#yjuIF{oDftMIO=Qh?f)hPu~pHsrJ-=HUb#zVrTpN!oEus%rd9FUgRRF z+xqt7Wo6w4RAl>A|JkIYwCh9%=960PT=e)3im8#KOGWQ=`HIevoby)+Hx6XpMy*;OC|CFB-W2Y{!L1 zcUYji)xn?-so$5aKefg2T2ZHwN1BbX$ zbt~cRTwe*_68L2r(;E6{=;3kdSHKF5;0!EDy4>Wk6cZx3!8-vVr&FAdn|tU%-`;i= zPqTD04lv<&(on!QQ0MHwj`9iwnWBo}T2Iy73kN>wlG!J6Q(-B-vyW5lTAyBzo0L9H5QAP5t190RRSZwAn!rNiTz+sQX-)?_PXsOOfr_eBQh4E zam9ZCuCr!FjF1mSSUQo+87wW^rgbtI`}{wt2hu15J>Dl#DjR9eLg!IzKtnOa&q1)lN00*!pvy<iGM6+Ln zV?CSVbTCDj>iv%T@MgnC5}bAPJo?*Waa_}z$N9U_S0a_?3#}d=KCkZ&oLXxR2VF)t zI}nC>M)t|h3{z?Q5vBZ^=$!LWzpXLZ{`{`VRMrx$5s9A&sh14oUT0>X(tnX_n%jj> zOj=kyo6&V#TO42-Woq$Or?Qa1wKR3g+;#C36PK2|W+QYs!juD&Cb}>93kqT=j&ru1 zq>(<!1L-jO zrySL^wOQrDnGoDR-eK&@z$9BEo*o1`qbQ3FLKm4F#C6=MF{YqIvC5YO{VrxkB&inO zt@SEicj;>d{ncn&aIn0zZOv1uml^3a)C(dai`R{U%ssZ%7epe+nW0kjAI{dLx?PEQgU$*f5)478PpLJ6IZ(nY+ zYVMz!mF>TOn6?bCy0LsafxO=Jd4Cr8cEZhwWzd*T!o5ZIRhzUKlZYdxXxx)9!!eIq zn}F+xO|MFx(&s_PpCA61zPGQGvrc-@TNlu|KWeOOy*sP74t@yF&}n_>{(ac;cwBor zbHeHw8OJXhjVmu9|1%Kh)?=6L@RoF|FJDlJ{JmWN63c%VSN=Cl<$uX9!{lQ~6y*H^ zC;|oh3-O|fBFg1no$OuPn!cn>;J8E6?8S@@j3|imLG<>G16@oKS}2hqc}KhqzL>}D zT+a<+t=h~g<2A9CJso0hyZaaL=0Q-3L*G2h;*}wf!zXj2O!dSc(6MKYmgf4dVhlfU z0G*h6fm09`=65@;cg1icSEpcBy&U z_pfalMO@u)Lusc7GNF|;(Z$R*4OeHpUmkbS&G#mccMFw)m$w4#?>B!p6e3}YSydm` zLe+cy1)&M#U6zz%M}8#t`AKx~SxK-ccs3VL#bi%3;I~F6U{EPm7JNPqIK<$d@PwgxC>fxH+hooiySEU{pIswac(9uzO$R zr+F%HQoo2f;!c@S8{d4e@E$|bYj64)4%r`-7FO1W0!R!i4nK}oW{y>(ug_uU0wD4> zvi{xW3>I%NX(zP38!e+5Qz!4D`ZCiPXxesllwGTXIKAnf`V|@cyUy1wsF&Fi-wg*V z6pgL@LETMieHLglv_7k&B2z(L;eh!6R)Afh62A`B%*Q@d@*g zKyq%YF@|u|Y^S$p71hR-ttXorv#jz9ji~MK1gFr?jFf^vHFEi6V&Ph_wy7utB3n$r zk>ZC6;QPsS)G3K+l+48f^&v?G1qlAE>F6vL?#Gk5puzkH1Ya?qqG!-}FPmv}x>ZLv zMUS3s?05Ez6kH91?vc)?g7pJ*PR3vPIW&_j^EJ8opL2_TSuYj#CNNC?_=#y}C7DmM ztY()XH=zFEF(~Bh(@8~5nX1zTQ*gub?bsxBrc<1{3EPJAN%2(7$vefj^%qVnR-~$@g$&diucTu9rKIi=3SNVJNTRV)LQybKCUK+>5=1 zry%m_T5(87RnzwZdg`K3L@{$YE@L@*TXs_}GrI!Ad?1kWx~wt>VI6tXfh%;PBt*WN z!I6Smz!{T;&0@TI*O1KVnTvW?h`_qo4!LG-laBRb_r3mh`yJ<0V1103?y#>BB7zh zjK~-d8tbC9rW~OKep$^<0H*o(>%}bO}lPc9zQIlkTv$$JAYeDpP%8#0| zw>R09!KdMef%j=!c>(tuGd4lz@e)gN-Us@dy^`c;ITwi|q40$-IVDUsswNR9G&CsB z;@T(>WU|cU<#qQqaO`30PJQL^-G6|#JA9W(>#$YP9Y}K#?OZ1S#p+HJOi&9$s(|_D z8r7=r9AfP>4n@m&l-KN%?$aFhp(0Gx6_vz)hY1=1$ykpYB6FwNh($xWHep4sdQm6v@Sk_SK`;c+@*~Fv6{cuml6@iCU*Rr;F zz$Fs~_M%M7%pd>XYi3raM~ZH^N|JK!-Qsu6-g^fJ)8alMy!@o82tgXhhr--Yib&pt zFu>N|`$N%RTJDC6W^y3{V?Q>{fqt#7m_GqQa<)(m=ma?ycC}tKQK6rvVnJ!`y z&X)r^6{PDiOCYshhv5scRD!fn-Qi^k?@wrQ7>AyM?`@T2JE3vQh^xliDOgP}!uN4<3z@L;VQ0WE}cfPD7m=ZJ5 z?~T50nq)EXg4knfbI%FCQXf&%?0V2Y2vU7(FuZKBW&Ut6e8ahM;TuFcx*!#EdZ=o} zd|TY_C#6Y|Q7}kN%ig5o_&)nvY0YQH5+}d!t#5wLdnlGvXg(EW-`q~|B8qXnEsx$jAYK8oHB#ry;2gAGqo_X zCN3K15hrUy9!&5*2z$$*w!?1i7Z0A`4uN9DU5X}1 zu@)#riWGM#*5VpmgBEFVFVZ5#-5rV*cQ0nSI`~=iO(9;X@{0_>-)A-Rrup z-#VA&358$6;N(TvL=bFwy%dh>E%t+G_fa!9pYD#0lcVD^wp;m+%@iKY5BeR#f=GZg zsb-fs|EwbyDZZ`->MwV!Q0=3bW%%m?Y=4>hDy5Y(n*Y?gnyEvY+;6BmSAZ zYZXM3E?K5c?h17O)YTwk8f)a^qSom^rE{()y=t^`qn2bl%y4-#1Zow6u?zZ#oX=m_un7fBjbur_p51n#odR*9a zXa=)^VuqdM*#mE2CeyRXtp`GDu$? z)EEbxrGLuyehQ`di0F)8y}PVYilS}-sp|1@kzwqk&zWnJetcL8>4c043-#Q0`JSfX z`1?z>1R2TrBKK&`;Z_z#A6<{i49258zdrjPEhPc}kX~{$h9$%e0!eKS$Bw^6Itj%+ zZy3%y`S^SMo5muO<-#a%REXE`enC^;HZ)QW-jz{RsLnDGM1-OigE|3Gi0Xt zDoe)B$*HNNV!1)Q2jK5)!q3lBV#$kcRU9O^C z_D5ho-v4QRHQ?g5{jQkpKlbpp$3NpM(n-GD2I(Au`0!xNTq=1+HMn>LJ$mOmY@9|i zFIyq4f^goXWAQvwmGMY0u{;SnE+mV1Mi>M1}=O%o5UAGWY8r{?b@h zt6P~}xm~4?^_z2(LYq}lT8!x$UQDTv1)xfRFVcy{iAu^^g0zH#ZOsEtpwdQUrh7gxl+R00X{>NRuhr`4C>kP4;FhN{RiZnJbaq@BCWQKb7xtW9( zJjrQdFk%w1B8^KLM8pJ0^(s>`jxa$yO`a^BNtz^yS3@WME${krbxTuWyCe`RuEUf5`K5=@n5%66509~Vg`)i@iVXC<7(f|Ynnzia z#x!%KLBTB?&Xl6xQDM?rM!Lwo>-`-LyK9DT4xQ60`CF$+lPc5(gqahxOT`NZzUjP6 zh#BeJIIm@L^Zxa+;%_pGY{u#UVol%UhG|J2(qy1d4j0kW(GCAf5?5;9qB0a`XAe1|z1UbSkiYS{JwlihdFSpm3 zyO#EL^1n7d>e$Ew+(9f7Ulp55sQH4Ro7>_=4BxUZM&%SDvZ?qoH+tc>e3vj}&WdUM zS8s_MX1krUn6A+nl7rFzIS~kz8F)}ILb^Z{A`;%9NwYG#JKmw<`qB75AKR^=7fMyRL`_9ul6x2688%i6e-?tCh+0y;a>MnSJu()>TE)yrUtYEG>?^zK9~%)MC3 z&|u)vS<)|CsyA?&uLxI7?e@9|dQ%TPTPrZdOYBybQhR;l5GM6Ewo7HYXeCqU=*>%8 z!pF5hlh%5R{9^a~8t2v;lYG47pB;0F+pSrsCleKwP*8`geOpyzG7K*2bV*)yMT+$* zS7_v_e#evg&*PiMfk>UMaBG6AG5LYH6sAlWr+^jgGs3ckmVUuze`_7TrS0M z0^Pn*7xSHhLraQibN}mg^{l&<3uNux|I~`;Dy2XU8}9Z!q{T8pR7nB+sl!yveyccW zh{kSs$*D_Ngp{e*nmPNa=sGNh4Eg=Jwp;0C?&KQ>JpafRcyjq4tlWVo9VfNu1q>Fq zu=Ym(Q@*_y{{5Jk0yw6WXiq~pY=S*6F-TXI^$1RaQbE;_EqeOyPWU8yeGn{geH5RI zn2EV?JwFB+p9q)7(d4WbEj@OqaJv2XSV8bom*<=R{{CFnqfXbho1M!qP9FhH^9K)qnD6HEr7r4Tp&2oQw)d?cWnm$Wex)fxBSut5P%EaYM+0$)Z9-+3O6; z=Ux`#Du02j1FTeE6;fu_0E0|3Ce;4p#l{^KQ+pAuNf`y@Lkwt;j^)uZY)uDKHg=iW(8+4( z_j0?U5T(WA-om1&iSeszA^#X3bMmNzksouj5pC%|Kr^;|!1hej9ZixX!^3xf(q~T| z!XmdFwQhrA;)6o~5O}g0fc@5UdR8RsYw?1Nd$+`JhZ~P)WK$|#fT?&b$8O+3T(=fN(5GWH)BiDO3Mj1`5MBIx0h2h7W19mLEcLLbQgXMOOcCJt#1e zSwM3^49u&V<$sa#0G`QRr}H$p0>p`oc#3X0o2C(?5n<7({!mSpX+SgEOMCsaMm@~H z95DF<)7pΠ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

      ($=r-W!E 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 wdcgfZv4{T+aQrti_CG$=+ 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

      +arY0=UAOw?~yJPZ(&N5e*$E`oEkuB%n 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

      A89Y7uOsXKqlgozcT-Q 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 T429(VGpwwXl4Pa0anOGOO0QO^ literal 0 HcmV?d00001 diff --git a/website/src/js/livestream.js b/website/src/js/livestream.js index a0375f722f..6acb5b530c 100644 --- a/website/src/js/livestream.js +++ b/website/src/js/livestream.js @@ -49,15 +49,6 @@ function startCountdown() { setInterval(tick, 1000); } -function setSignupSource() { - const field = document.querySelector('input[name="SOURCE"]'); - if (!field) return; - - const inHash = new URLSearchParams(location.hash.replace(/^#\??/, '')).get('utm_source'); - const source = inHash ?? new URLSearchParams(location.search).get('utm_source'); - if (source && /^[\w.-]{1,40}$/.test(source)) field.value = source; -} - function setupRegisterOverlay() { const overlay = document.getElementById('register'); const openBtn = document.querySelector('.register-btn'); @@ -114,6 +105,5 @@ function trackNavColor() { showLocalTime(); startCountdown(); -setSignupSource(); setupRegisterOverlay(); trackNavColor(); diff --git a/website/src/livestream.html b/website/src/livestream.html index 262a2cf4af..49488d1bb4 100644 --- a/website/src/livestream.html +++ b/website/src/livestream.html @@ -98,6 +98,7 @@ templateEngineOverride: njk + @@ -119,7 +120,7 @@ templateEngineOverride: njk

      diff --git a/website/src/livestream.html b/website/src/livestream.html index 49488d1bb4..2b78fd21a0 100644 --- a/website/src/livestream.html +++ b/website/src/livestream.html @@ -105,7 +105,7 @@ templateEngineOverride: njk - Or join our SimpleX Crowdfunding News channel + Or connect to our team via SimpleX Chat

      We use Mailchimp to deliver updates via email

      From 47d32b674a2b1fab977e11dbd1cd1b3d2a193c2b Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sat, 12 Sep 2026 14:13:11 +0100 Subject: [PATCH 47/69] bots: add APIs (#7494) * docs: fix bot API surface - Fix missing space in APIShareMyAddress syntax expression which resulted in parse errors - Document missing `Connect` responses: `CRConnectionPlan`, `CRSentInvitationToContact`, `CRStartedConnectionToContact`, and `CRStartedConnectionToGroup` (relay channel links). - Document missing `CRUserProfileNoChange` responsed returned when `APISetProfileAddress` doesn't change the profile. - Expose remote control APIs to bots * website: improve sign-up forms (#7484) * website: improve sign-up forms * name --------- Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> * rename field * generic --------- Co-authored-by: a1akris Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> --- bots/api/COMMANDS.md | 121 +++++++++++++++++- bots/api/EVENTS.md | 35 +++++ bots/api/TYPES.md | 94 ++++++++++++++ bots/src/API/Docs/Commands.hs | 16 ++- bots/src/API/Docs/Events.hs | 9 +- bots/src/API/Docs/Responses.hs | 10 +- bots/src/API/Docs/Types.hs | 13 ++ bots/src/API/TypeInfo.hs | 2 + .../types/typescript/src/commands.ts | 45 ++++++- .../types/typescript/src/events.ts | 16 +++ .../types/typescript/src/responses.ts | 45 +++++++ .../types/typescript/src/types.ts | 99 ++++++++++++++ .../src/simplex_chat/types/_commands.py | 42 +++++- .../src/simplex_chat/types/_events.py | 26 +++- .../src/simplex_chat/types/_responses.py | 37 +++++- .../src/simplex_chat/types/_types.py | 73 +++++++++++ src/Simplex/Chat/Controller.hs | 4 +- 17 files changed, 661 insertions(+), 26 deletions(-) diff --git a/bots/api/COMMANDS.md b/bots/api/COMMANDS.md index dd62b87585..42b3da2373 100644 --- a/bots/api/COMMANDS.md +++ b/bots/api/COMMANDS.md @@ -79,6 +79,10 @@ This file is generated automatically. - [StartChat](#startchat) - [APIStopChat](#apistopchat) +[Remote control commands](#remote-control-commands) +- [ConnectRemoteCtrl](#connectremotectrl) +- [VerifyRemoteCtrlSession](#verifyremotectrlsession) + --- @@ -231,6 +235,10 @@ UserProfileUpdated: User profile updated. - toProfile: [Profile](./TYPES.md#profile) - updateSummary: [UserProfileUpdateSummary](./TYPES.md#userprofileupdatesummary) +UserProfileNoChange: User profile was not changed. +- type: "userProfileNoChange" +- user: [User](./TYPES.md#user) + ChatCmdError: Command error (only used in WebSockets API). - type: "chatCmdError" - chatError: [ChatError](./TYPES.md#chaterror) @@ -505,15 +513,15 @@ Share user address card **Syntax**: ``` -/_share address +/_share address ``` ```javascript -'/_share address' + ChatRef.cmdString(toSendRef) // JavaScript +'/_share address ' + ChatRef.cmdString(toSendRef) // JavaScript ``` ```python -'/_share address' + ChatRef_cmd_string(toSendRef) # Python +'/_share address ' + ChatRef_cmd_string(toSendRef) # Python ``` **Response**: @@ -1609,6 +1617,33 @@ SentInvitation: Invitation sent to contact address. - connection: [PendingContactConnection](./TYPES.md#pendingcontactconnection) - customUserProfile: [Profile](./TYPES.md#profile)? +ConnectionPlan: Connection link information. +- type: "connectionPlan" +- user: [User](./TYPES.md#user) +- connLink: [CreatedConnLink](./TYPES.md#createdconnlink) +- planSimplexName: [SimplexNameInfo](./TYPES.md#simplexnameinfo)? +- otherSimplexName: [SimplexNameInfo](./TYPES.md#simplexnameinfo)? +- connectionPlan: [ConnectionPlan](./TYPES.md#connectionplan) + +SentInvitationToContact: Invitation sent to contact (when connecting via SimpleX name to a known contact address).. +- type: "sentInvitationToContact" +- user: [User](./TYPES.md#user) +- contact: [Contact](./TYPES.md#contact) +- customUserProfile: [Profile](./TYPES.md#profile)? + +StartedConnectionToContact: Connection to contact started (when connecting via prepared contact).. +- type: "startedConnectionToContact" +- user: [User](./TYPES.md#user) +- contact: [Contact](./TYPES.md#contact) +- customUserProfile: [Profile](./TYPES.md#profile)? + +StartedConnectionToGroup: Connection to channel started (when connecting via channel link).. +- type: "startedConnectionToGroup" +- user: [User](./TYPES.md#user) +- groupInfo: [GroupInfo](./TYPES.md#groupinfo) +- customUserProfile: [Profile](./TYPES.md#profile)? +- relayResults: [[RelayConnectionResult](./TYPES.md#relayconnectionresult)] + ChatCmdError: Command error (only used in WebSockets API). - type: "chatCmdError" - chatError: [ChatError](./TYPES.md#chaterror) @@ -2370,3 +2405,83 @@ ChatStopped: Chat stopped. - type: "chatStopped" --- + + +## Remote control commands + +Allows a bot to accept an incoming remote control session from a SimpleX Desktop client, giving the desktop live access to the bot's SimpleX instance. + + +### ConnectRemoteCtrl + +Connect to a remote controller using an OOB invitation link. + +*Network usage*: interactive. + +**Parameters**: +- remoteInvitation: string + +**Syntax**: + +``` +/crc +``` + +```javascript +'/crc ' + remoteInvitation // JavaScript +``` + +```python +'/crc ' + remoteInvitation # Python +``` + +**Responses**: + +RemoteCtrlConnecting: Remote controller is connecting.. +- type: "remoteCtrlConnecting" +- remoteCtrl_: [RemoteCtrlInfo](./TYPES.md#remotectrlinfo)? +- ctrlAppInfo: [CtrlAppInfo](./TYPES.md#ctrlappinfo) +- appVersion: string + +ChatCmdError: Command error (only used in WebSockets API). +- type: "chatCmdError" +- chatError: [ChatError](./TYPES.md#chaterror) + +--- + + +### VerifyRemoteCtrlSession + +Verify the remote controller session code to complete the connection. + +*Network usage*: no. + +**Parameters**: +- sessionCode: string + +**Syntax**: + +``` +/verify remote ctrl +``` + +```javascript +'/verify remote ctrl ' + sessionCode // JavaScript +``` + +```python +'/verify remote ctrl ' + sessionCode # Python +``` + +**Responses**: + +RemoteCtrlConnected: Remote controller session connected.. +- type: "remoteCtrlConnected" +- remoteCtrl: [RemoteCtrlInfo](./TYPES.md#remotectrlinfo) +- compression: bool + +ChatCmdError: Command error (only used in WebSockets API). +- type: "chatCmdError" +- chatError: [ChatError](./TYPES.md#chaterror) + +--- diff --git a/bots/api/EVENTS.md b/bots/api/EVENTS.md index d2744951cd..5416fe4c0e 100644 --- a/bots/api/EVENTS.md +++ b/bots/api/EVENTS.md @@ -72,6 +72,10 @@ This file is generated automatically. - [ServiceRequest](#servicerequest) - [ServiceReplySent](#servicereplysent) +[Remote control events](#remote-control-events) +- [RemoteCtrlSessionCode](#remotectrlsessioncode) +- [RemoteCtrlStopped](#remotectrlstopped) + [Error events](#error-events) - [MessageError](#messageerror) - [ChatError](#chaterror) @@ -793,6 +797,37 @@ Correlate `connectionId` with the connection ID from the response to [APISendSer --- +## Remote control events + +Bots that act as remote control hosts receive these events during the remote control session lifecycle. + + +### RemoteCtrlSessionCode + +Remote controller session code ready for verification. + +Use [VerifyRemoteCtrlSession](./COMMANDS.md#verifyremotectrlsession) to complete the connection. + +**Record type**: +- type: "remoteCtrlSessionCode" +- remoteCtrl_: [RemoteCtrlInfo](./TYPES.md#remotectrlinfo)? +- sessionCode: string + +--- + + +### RemoteCtrlStopped + +Remote controller session stopped. + +**Record type**: +- type: "remoteCtrlStopped" +- rcsState: [RemoteCtrlSessionState](./TYPES.md#remotectrlsessionstate) +- rcStopReason: [RemoteCtrlStopReason](./TYPES.md#remotectrlstopreason) + +--- + + ## Error events Bots may log these events for debugging. There will be many error events - this does NOT indicate a malfunction - e.g., they may happen because of bad network connectivity, or because messages may be delivered to deleted chats for a short period of time (they will be ignored). diff --git a/bots/api/TYPES.md b/bots/api/TYPES.md index 1ba260b3d3..6759ff9d35 100644 --- a/bots/api/TYPES.md +++ b/bots/api/TYPES.md @@ -10,6 +10,7 @@ This file is generated automatically. - [AgentCryptoError](#agentcryptoerror) - [AgentErrorType](#agenterrortype) - [AgentServiceError](#agentserviceerror) +- [AppVersionRange](#appversionrange) - [AutoAccept](#autoaccept) - [BadgeInfo](#badgeinfo) - [BadgeProof](#badgeproof) @@ -77,6 +78,7 @@ This file is generated automatically. - [CreatedConnLink](#createdconnlink) - [CryptoFile](#cryptofile) - [CryptoFileArgs](#cryptofileargs) +- [CtrlAppInfo](#ctrlappinfo) - [DroppedMsg](#droppedmsg) - [E2EInfo](#e2einfo) - [ErrorType](#errortype) @@ -170,8 +172,12 @@ This file is generated automatically. - [RcvGroupEvent](#rcvgroupevent) - [RcvMsgError](#rcvmsgerror) - [RelayCapabilities](#relaycapabilities) +- [RelayConnectionResult](#relayconnectionresult) - [RelayProfile](#relayprofile) - [RelayStatus](#relaystatus) +- [RemoteCtrlInfo](#remotectrlinfo) +- [RemoteCtrlSessionState](#remotectrlsessionstate) +- [RemoteCtrlStopReason](#remotectrlstopreason) - [ReportReason](#reportreason) - [RoleGroupPreference](#rolegrouppreference) - [SMPAgentError](#smpagenterror) @@ -386,6 +392,17 @@ BadSignature: - type: "badSignature" +--- + +## AppVersionRange + +Remote controller app version range (min and max as version strings). + +**Record type**: +- minVersion: string +- maxVersion: string + + --- ## AutoAccept @@ -1967,6 +1984,18 @@ connFullLink + ((' ' + connShortLink) if connShortLink is not None else '') # Py - fileNonce: string +--- + +## CtrlAppInfo + +Remote controller application info. + +**Record type**: +- appVersionRange: [AppVersionRange](#appversionrange) +- deviceName: string +- compression: bool + + --- ## DroppedMsg @@ -3558,6 +3587,15 @@ ParseError: - webDomain: string? +--- + +## RelayConnectionResult + +**Record type**: +- relayMember: [GroupMember](#groupmember) +- relayError: [ChatError](#chaterror)? + + --- ## RelayProfile @@ -3583,6 +3621,62 @@ ParseError: - "rejected" +--- + +## RemoteCtrlInfo + +**Record type**: +- remoteCtrlId: int64 +- ctrlDeviceName: string +- sessionState: [RemoteCtrlSessionState](#remotectrlsessionstate)? + + +--- + +## RemoteCtrlSessionState + +**Discriminated union type**: + +Starting: +- type: "starting" + +Searching: +- type: "searching" + +Connecting: +- type: "connecting" + +PendingConfirmation: +- type: "pendingConfirmation" +- sessionCode: string + +Connected: +- type: "connected" +- sessionCode: string + + +--- + +## RemoteCtrlStopReason + +**Discriminated union type**: + +DiscoveryFailed: +- type: "discoveryFailed" +- chatError: [ChatError](#chaterror) + +ConnectionFailed: +- type: "connectionFailed" +- chatError: [ChatError](#chaterror) + +SetupFailed: +- type: "setupFailed" +- chatError: [ChatError](#chaterror) + +Disconnected: +- type: "disconnected" + + --- ## ReportReason diff --git a/bots/src/API/Docs/Commands.hs b/bots/src/API/Docs/Commands.hs index d126ff1844..782d0d21cd 100644 --- a/bots/src/API/Docs/Commands.hs +++ b/bots/src/API/Docs/Commands.hs @@ -80,7 +80,7 @@ chatCommandsDocsData = [ ("APICreateMyAddress", ["server_"], "Create bot address.", ["CRUserContactLinkCreated", "CRChatCmdError"], [], Just UNInteractive, "/_address " <> Param "userId" <> OnOffParam "pq_ratchet" "pqRatchet" Nothing), ("APIDeleteMyAddress", [], "Delete bot address.", ["CRUserContactLinkDeleted", "CRChatCmdError"], [], Just UNBackground, "/_delete_address " <> Param "userId"), ("APIShowMyAddress", [], "Get bot address and settings.", ["CRUserContactLink", "CRChatCmdError"], [], Nothing, "/_show_address " <> Param "userId"), - ("APISetProfileAddress", [], "Add address to bot profile.", ["CRUserProfileUpdated", "CRChatCmdError"], [], Just UNInteractive, "/_profile_address " <> Param "userId" <> " " <> OnOff "enable"), + ("APISetProfileAddress", [], "Add address to bot profile.", ["CRUserProfileUpdated", "CRUserProfileNoChange", "CRChatCmdError"], [], Just UNInteractive, "/_profile_address " <> Param "userId" <> " " <> OnOff "enable"), ("APISetAddressSettings", [], "Set bot address settings.", ["CRUserContactLinkUpdated", "CRChatCmdError"], [], Just UNInteractive, "/_address_settings " <> Param "userId" <> OnOffParam "pq_ratchet" "pqRatchet" Nothing <> " " <> Json "settings") ] ), @@ -98,7 +98,7 @@ chatCommandsDocsData = ("APIDeleteChatItem", [], "Delete message.", ["CRChatItemsDeleted", "CRChatCmdError"], [], Just UNBackground, "/_delete item " <> Param "chatRef" <> " " <> Join ',' "chatItemIds" <> " " <> Param "deleteMode"), ("APIDeleteMemberChatItem", [], "Moderate message. Requires Moderator role (and higher than message author's).", ["CRChatItemsDeleted", "CRChatCmdError"], [], Just UNBackground, "/_delete member item #" <> Param "groupId" <> " " <> Join ',' "chatItemIds"), ("APIChatItemReaction", [], "Add/remove message reaction.", ["CRChatItemReaction", "CRChatCmdError"], [], Just UNBackground, "/_reaction " <> Param "chatRef" <> " " <> Param "chatItemId" <> " " <> OnOff "add" <> " " <> Json "reaction"), - ("APIShareMyAddress", [], "Share user address card", ["CRChatMsgContent"], [], Nothing, "/_share address" <> Param "toSendRef"), + ("APIShareMyAddress", [], "Share user address card", ["CRChatMsgContent"], [], Nothing, "/_share address " <> Param "toSendRef"), ("APIShareChatMsgContent", [], "Share channel address", ["CRChatMsgContent"], [], Nothing, "/_share chat content " <> Param "shareChatRef" <> " " <> Param "toSendRef") ] ), @@ -141,7 +141,7 @@ chatCommandsDocsData = -- `Maybe` in `connectTarget :: Maybe ConnectTarget` is used to signal parse failure to the runtime (the handler returns CEInvalidConnReq on Nothing); it is NOT API-level optionality. The parameter is required from callers. ("APIConnectPlan", [], "Determine SimpleX link type and if the bot is already connected via this link or name.", ["CRConnectionPlan", "CRChatCmdError"], [], Just UNInteractive, "/_connect plan " <> Param "userId" <> " " <> Param "connectTarget"), ("APIConnect", [], "Connect via prepared SimpleX link. The link can be 1-time invitation link, contact address or group link.", ["CRSentConfirmation", "CRContactAlreadyExists", "CRSentInvitation", "CRChatCmdError"], [], Just UNInteractive, "/_connect " <> Param "userId" <> Optional "" (" " <> Param "$0") "preparedLink_"), - ("Connect", [], "Connect via SimpleX link or name as string in the active user profile.", ["CRSentConfirmation", "CRContactAlreadyExists", "CRSentInvitation", "CRChatCmdError"], [], Just UNInteractive, "/connect" <> Optional "" (" " <> Param "$0") "connTarget_"), + ("Connect", [], "Connect via SimpleX link or name as string in the active user profile.", ["CRSentConfirmation", "CRContactAlreadyExists", "CRSentInvitation", "CRConnectionPlan", "CRSentInvitationToContact", "CRStartedConnectionToContact", "CRStartedConnectionToGroup", "CRChatCmdError"], [], Just UNInteractive, "/connect" <> Optional "" (" " <> Param "$0") "connTarget_"), ("APIAcceptContact", ["incognito"], "Accept contact request.", ["CRAcceptingContactRequest", "CRChatCmdError"], [], Just UNInteractive, "/_accept " <> Param "contactReqId"), ("APIRejectContact", [], "Reject contact request. The user who sent the request is **not notified**.", ["CRContactRequestRejected", "CRChatCmdError"], [], Nothing, "/_reject " <> Param "contactReqId") ] @@ -202,6 +202,12 @@ chatCommandsDocsData = [ ("StartChat", [], "Start chat controller.", ["CRChatStarted", "CRChatRunning"], [], Nothing, "/_start" <> OnOffParam "main" "mainApp" Nothing <> OnOffParam "snd_files" "enableSndFiles" (Just True) <> OnOffParam "service_requests" "serviceRequests" (Just False)), ("APIStopChat", [], "Stop chat controller.", ["CRChatStopped"], [], Nothing, "/_stop") ] + ), + ( "Remote control commands", + "Allows a bot to accept an incoming remote control session from a SimpleX Desktop client, giving the desktop live access to the bot's SimpleX instance.", + [ ("ConnectRemoteCtrl", [], "Connect to a remote controller using an OOB invitation link.", ["CRRemoteCtrlConnecting", "CRChatCmdError"], [], Just UNInteractive, "/crc " <> Param "remoteInvitation"), + ("VerifyRemoteCtrlSession", [], "Verify the remote controller session code to complete the connection.", ["CRRemoteCtrlConnected", "CRChatCmdError"], [], Nothing, "/verify remote ctrl " <> Param "sessionCode") + ] ) ] @@ -452,7 +458,6 @@ undocumentedCommands = "APIVerifyToken", "CheckChatRunning", "ConfirmRemoteCtrl", - "ConnectRemoteCtrl", "CustomChatCommand", "DebugEvent", "DebugLocks", @@ -499,6 +504,5 @@ undocumentedCommands = "SwitchRemoteHost", "TestChatRelay", "TestProtoServer", - "TestStorageEncryption", - "VerifyRemoteCtrlSession" + "TestStorageEncryption" ] diff --git a/bots/src/API/Docs/Events.hs b/bots/src/API/Docs/Events.hs index 1590ad54d5..05b3067181 100644 --- a/bots/src/API/Docs/Events.hs +++ b/bots/src/API/Docs/Events.hs @@ -152,6 +152,13 @@ chatEventsDocsData = ], [] ), + ( "Remote control events", + "Bots that act as remote control hosts receive these events during the remote control session lifecycle.", + [ ("CEvtRemoteCtrlSessionCode", "Remote controller session code ready for verification.\n\nUse [VerifyRemoteCtrlSession](./COMMANDS.md#verifyremotectrlsession) to complete the connection."), + ("CEvtRemoteCtrlStopped", "Remote controller session stopped.") + ], + [] + ), ( "Error events", "Bots may log these events for debugging. \ \There will be many error events - this does NOT indicate a malfunction - \ @@ -203,8 +210,6 @@ undocumentedEvents = "CEvtRcvFileProgressXFTP", "CEvtRcvStandaloneFileComplete", "CEvtRemoteCtrlFound", - "CEvtRemoteCtrlSessionCode", - "CEvtRemoteCtrlStopped", "CEvtRemoteHostConnected", "CEvtRemoteHostSessionCode", "CEvtRemoteHostStopped", diff --git a/bots/src/API/Docs/Responses.hs b/bots/src/API/Docs/Responses.hs index 76f1ddb76b..c87c46c012 100644 --- a/bots/src/API/Docs/Responses.hs +++ b/bots/src/API/Docs/Responses.hs @@ -88,11 +88,16 @@ chatResponsesDocsData = ("CRRcvFileAccepted", "File accepted to be received"), ("CRRcvFileAcceptedSndCancelled", "File accepted, but no longer sent"), ("CRRcvFileCancelled", "Cancelled receiving file"), + ("CRRemoteCtrlConnected", "Remote controller session connected."), + ("CRRemoteCtrlConnecting", "Remote controller is connecting."), ("CRSentConfirmation", "Confirmation sent to one-time invitation"), ("CRSentGroupInvitation", "Group invitation sent"), ("CRSentInvitation", "Invitation sent to contact address"), + ("CRSentInvitationToContact", "Invitation sent to contact (when connecting via SimpleX name to a known contact address)."), ("CRServiceReplyAccepted", "Service reply accepted for delivery. `connectionId` correlates the reply delivery event."), ("CRSndFileCancelled", "Cancelled sending file"), + ("CRStartedConnectionToContact", "Connection to contact started (when connecting via prepared contact)."), + ("CRStartedConnectionToGroup", "Connection to channel started (when connecting via channel link)."), ("CRUserAcceptedGroupSent", "User accepted group invitation"), ("CRUserContactLink", "User contact address"), ("CRUserContactLinkCreated", "User contact address created"), @@ -188,13 +193,10 @@ undocumentedResponses = "CRQueueInfo", "CRRcvStandaloneFileCreated", "CRReactionMembers", - "CRRemoteCtrlConnected", - "CRRemoteCtrlConnecting", "CRRemoteCtrlList", "CRRemoteFileStored", "CRRemoteHostList", "CRRemoteHostStarted", - "CRSentInvitationToContact", "CRServerOperatorConditions", "CRServerTestResult", "CRServiceResponse", @@ -202,8 +204,6 @@ undocumentedResponses = "CRSndStandaloneFileCreated", "CRSQLResult", "CRStandaloneFileInfo", - "CRStartedConnectionToContact", - "CRStartedConnectionToGroup", "CRTagsUpdated", "CRUsageConditions", "CRUserPrivacy", diff --git a/bots/src/API/Docs/Types.hs b/bots/src/API/Docs/Types.hs index 4567512b75..89fd4c263c 100644 --- a/bots/src/API/Docs/Types.hs +++ b/bots/src/API/Docs/Types.hs @@ -49,6 +49,8 @@ import Simplex.Messaging.Parsers (dropPrefix, fstToLower) import Simplex.Messaging.Protocol (BlockingInfo (..), BlockingReason (..), CommandError (..), ErrorType (..), NameErrorType (..), NetworkError (..), ProxyError (..)) import Simplex.Messaging.Protocol.Types (ClientNotice (..)) import Simplex.Messaging.Transport +import Simplex.Chat.Remote.AppVersion (AppVersion, AppVersionRange) +import Simplex.Chat.Remote.Types (CtrlAppInfo (..)) import Simplex.RemoteControl.Types import System.Console.ANSI.Types (Color (..)) @@ -211,6 +213,7 @@ chatTypesDocsData = (sti @AgentCryptoError, STUnion, "", ["RATCHET_EARLIER", "RATCHET_SKIPPED"], "", ""), -- TODO add fields to types (sti @AgentErrorType, STUnion, "", [], "", ""), (sti @AgentServiceError, STUnion, "ASE", [], "", ""), + (STI "AppVersionRange" [RecordTypeInfo "AppVersionRange" [FieldInfo "minVersion" (TIType (ST TString [])), FieldInfo "maxVersion" (TIType (ST TString []))]], STRecord, "", [], "", "Remote controller app version range (min and max as version strings)."), (sti @AutoAccept, STRecord, "", [], "", ""), (sti @BadgeProof, STRecord, "", [], "", ""), (sti @BlockingInfo, STRecord, "", [], "", ""), @@ -243,6 +246,7 @@ chatTypesDocsData = (sti @CIReactionCount, STRecord, "", [], "", ""), (sti @CITimed, STRecord, "", [], "", ""), (sti @ClientNotice, STRecord, "", [], "", ""), + (sti @CtrlAppInfo, STRecord, "", [], "", "Remote controller application info."), (sti @Color, STEnum, "", [], "", ""), (sti @CommandError, STUnion, "", [], "", ""), (sti @CommandErrorType, STUnion, "", [], "", ""), @@ -354,8 +358,12 @@ chatTypesDocsData = (sti @RcvGroupEvent, STUnion, "RGE", [], "", ""), (sti @RcvMsgError, STUnion, "RME", [], "", ""), (sti @RelayCapabilities, STRecord, "", [], "", ""), + (sti @RelayConnectionResult, STRecord, "", [], "", ""), (sti @RelayProfile, STRecord, "", [], "", ""), (sti @RelayStatus, STEnum, "RS", [], "", ""), + (sti @RemoteCtrlInfo, STRecord, "", [], "", ""), + (sti @RemoteCtrlSessionState, STUnion, "RCS", [], "", ""), + (sti @RemoteCtrlStopReason, STUnion, "RCSR", [], "", ""), (sti @ReportReason, STEnum' (dropPfxSfx "RR" ""), "", ["RRUnknown"], "", ""), (sti @RoleGroupPreference, STRecord, "", [], "", ""), (sti @SecurityCode, STRecord, "", [], "", ""), @@ -471,6 +479,7 @@ deriving instance Generic CIMentionMember deriving instance Generic CIReactionCount deriving instance Generic CITimed deriving instance Generic ClientNotice +deriving instance Generic CtrlAppInfo deriving instance Generic Color deriving instance Generic CommandError deriving instance Generic CommandErrorType @@ -589,8 +598,12 @@ deriving instance Generic RcvFileTransfer deriving instance Generic RcvGroupEvent deriving instance Generic RcvMsgError deriving instance Generic RelayCapabilities +deriving instance Generic RelayConnectionResult deriving instance Generic RelayProfile deriving instance Generic RelayStatus +deriving instance Generic RemoteCtrlInfo +deriving instance Generic RemoteCtrlSessionState +deriving instance Generic RemoteCtrlStopReason deriving instance Generic ReportReason deriving instance Generic SecurityCode deriving instance Generic SimplexDomain diff --git a/bots/src/API/TypeInfo.hs b/bots/src/API/TypeInfo.hs index e225659c4d..59bfe4e52e 100644 --- a/bots/src/API/TypeInfo.hs +++ b/bots/src/API/TypeInfo.hs @@ -200,6 +200,7 @@ toTypeInfo tr = "AgentInvId", "AgentRcvFileId", "AgentSndFileId", + "AppVersion", "BadgeMasterKey", "B64UrlByteString", "BBSProof", @@ -219,6 +220,7 @@ toTypeInfo tr = "ProofPresHeader", "PublicKey", "ProtocolServer", + "RCSignedInvitation", "SbKey", "SharedMsgId", "Signature", diff --git a/packages/simplex-chat-client/types/typescript/src/commands.ts b/packages/simplex-chat-client/types/typescript/src/commands.ts index 0dfd63ba88..dcc9ec767d 100644 --- a/packages/simplex-chat-client/types/typescript/src/commands.ts +++ b/packages/simplex-chat-client/types/typescript/src/commands.ts @@ -59,7 +59,7 @@ export interface APISetProfileAddress { } export namespace APISetProfileAddress { - export type Response = CR.UserProfileUpdated | CR.ChatCmdError + export type Response = CR.UserProfileUpdated | CR.UserProfileNoChange | CR.ChatCmdError export function cmdString(self: APISetProfileAddress): string { return '/_profile_address ' + self.userId + ' ' + (self.enable ? 'on' : 'off') @@ -178,7 +178,7 @@ export namespace APIShareMyAddress { export type Response = CR.ChatMsgContent export function cmdString(self: APIShareMyAddress): string { - return '/_share address' + T.ChatRef.cmdString(self.toSendRef) + return '/_share address ' + T.ChatRef.cmdString(self.toSendRef) } } @@ -582,7 +582,15 @@ export interface Connect { } export namespace Connect { - export type Response = CR.SentConfirmation | CR.ContactAlreadyExists | CR.SentInvitation | CR.ChatCmdError + export type Response = + | CR.SentConfirmation + | CR.ContactAlreadyExists + | CR.SentInvitation + | CR.ConnectionPlan + | CR.SentInvitationToContact + | CR.StartedConnectionToContact + | CR.StartedConnectionToGroup + | CR.ChatCmdError export function cmdString(self: Connect): string { return '/connect' + (self.connTarget_ ? ' ' + self.connTarget_ : '') @@ -897,3 +905,34 @@ export namespace APIStopChat { return '/_stop' } } + +// Remote control commands +// Allows a bot to accept an incoming remote control session from a SimpleX Desktop client, giving the desktop live access to the bot's SimpleX instance. + +// Connect to a remote controller using an OOB invitation link. +// Network usage: interactive. +export interface ConnectRemoteCtrl { + remoteInvitation: string +} + +export namespace ConnectRemoteCtrl { + export type Response = CR.RemoteCtrlConnecting | CR.ChatCmdError + + export function cmdString(self: ConnectRemoteCtrl): string { + return '/crc ' + self.remoteInvitation + } +} + +// Verify the remote controller session code to complete the connection. +// Network usage: no. +export interface VerifyRemoteCtrlSession { + sessionCode: string +} + +export namespace VerifyRemoteCtrlSession { + export type Response = CR.RemoteCtrlConnected | CR.ChatCmdError + + export function cmdString(self: VerifyRemoteCtrlSession): string { + return '/verify remote ctrl ' + self.sessionCode + } +} diff --git a/packages/simplex-chat-client/types/typescript/src/events.ts b/packages/simplex-chat-client/types/typescript/src/events.ts index 59e0c3274d..5b644ee41e 100644 --- a/packages/simplex-chat-client/types/typescript/src/events.ts +++ b/packages/simplex-chat-client/types/typescript/src/events.ts @@ -52,6 +52,8 @@ export type ChatEvent = | CEvt.SubscriptionStatus | CEvt.ServiceRequest | CEvt.ServiceReplySent + | CEvt.RemoteCtrlSessionCode + | CEvt.RemoteCtrlStopped | CEvt.MessageError | CEvt.ChatError | CEvt.ChatErrors @@ -106,6 +108,8 @@ export namespace CEvt { | "subscriptionStatus" | "serviceRequest" | "serviceReplySent" + | "remoteCtrlSessionCode" + | "remoteCtrlStopped" | "messageError" | "chatError" | "chatErrors" @@ -471,6 +475,18 @@ export namespace CEvt { connectionId: string } + export interface RemoteCtrlSessionCode extends Interface { + type: "remoteCtrlSessionCode" + remoteCtrl_?: T.RemoteCtrlInfo + sessionCode: string + } + + export interface RemoteCtrlStopped extends Interface { + type: "remoteCtrlStopped" + rcsState: T.RemoteCtrlSessionState + rcStopReason: T.RemoteCtrlStopReason + } + export interface MessageError extends Interface { type: "messageError" user: T.User diff --git a/packages/simplex-chat-client/types/typescript/src/responses.ts b/packages/simplex-chat-client/types/typescript/src/responses.ts index fd6050ef49..647427f0dc 100644 --- a/packages/simplex-chat-client/types/typescript/src/responses.ts +++ b/packages/simplex-chat-client/types/typescript/src/responses.ts @@ -47,11 +47,16 @@ export type ChatResponse = | CR.RcvFileAccepted | CR.RcvFileAcceptedSndCancelled | CR.RcvFileCancelled + | CR.RemoteCtrlConnected + | CR.RemoteCtrlConnecting | CR.SentConfirmation | CR.SentGroupInvitation | CR.SentInvitation + | CR.SentInvitationToContact | CR.ServiceReplyAccepted | CR.SndFileCancelled + | CR.StartedConnectionToContact + | CR.StartedConnectionToGroup | CR.UserAcceptedGroupSent | CR.UserContactLink | CR.UserContactLinkCreated @@ -108,11 +113,16 @@ export namespace CR { | "rcvFileAccepted" | "rcvFileAcceptedSndCancelled" | "rcvFileCancelled" + | "remoteCtrlConnected" + | "remoteCtrlConnecting" | "sentConfirmation" | "sentGroupInvitation" | "sentInvitation" + | "sentInvitationToContact" | "serviceReplyAccepted" | "sndFileCancelled" + | "startedConnectionToContact" + | "startedConnectionToGroup" | "userAcceptedGroupSent" | "userContactLink" | "userContactLinkCreated" @@ -407,6 +417,19 @@ export namespace CR { rcvFileTransfer: T.RcvFileTransfer } + export interface RemoteCtrlConnected extends Interface { + type: "remoteCtrlConnected" + remoteCtrl: T.RemoteCtrlInfo + compression: boolean + } + + export interface RemoteCtrlConnecting extends Interface { + type: "remoteCtrlConnecting" + remoteCtrl_?: T.RemoteCtrlInfo + ctrlAppInfo: T.CtrlAppInfo + appVersion: string + } + export interface SentConfirmation extends Interface { type: "sentConfirmation" user: T.User @@ -429,6 +452,13 @@ export namespace CR { customUserProfile?: T.Profile } + export interface SentInvitationToContact extends Interface { + type: "sentInvitationToContact" + user: T.User + contact: T.Contact + customUserProfile?: T.Profile + } + export interface ServiceReplyAccepted extends Interface { type: "serviceReplyAccepted" user: T.User @@ -443,6 +473,21 @@ export namespace CR { sndFileTransfers: T.SndFileTransfer[] } + export interface StartedConnectionToContact extends Interface { + type: "startedConnectionToContact" + user: T.User + contact: T.Contact + customUserProfile?: T.Profile + } + + export interface StartedConnectionToGroup extends Interface { + type: "startedConnectionToGroup" + user: T.User + groupInfo: T.GroupInfo + customUserProfile?: T.Profile + relayResults: T.RelayConnectionResult[] + } + export interface UserAcceptedGroupSent extends Interface { type: "userAcceptedGroupSent" user: T.User diff --git a/packages/simplex-chat-client/types/typescript/src/types.ts b/packages/simplex-chat-client/types/typescript/src/types.ts index eadfda7ba9..19f2d5dca3 100644 --- a/packages/simplex-chat-client/types/typescript/src/types.ts +++ b/packages/simplex-chat-client/types/typescript/src/types.ts @@ -223,6 +223,12 @@ export namespace AgentServiceError { type: "badSignature" } } +// Remote controller app version range (min and max as version strings). + +export interface AppVersionRange { + minVersion: string + maxVersion: string +} export interface AutoAccept { acceptIncognito: boolean @@ -2210,6 +2216,13 @@ export interface CryptoFileArgs { fileKey: string fileNonce: string } +// Remote controller application info. + +export interface CtrlAppInfo { + appVersionRange: AppVersionRange + deviceName: string + compression: boolean +} export interface DroppedMsg { brokerTs: string // ISO-8601 timestamp @@ -3950,6 +3963,11 @@ export interface RelayCapabilities { webDomain?: string } +export interface RelayConnectionResult { + relayMember: GroupMember + relayError?: ChatError +} + export interface RelayProfile { displayName: string fullName: string @@ -3967,6 +3985,87 @@ export enum RelayStatus { Rejected = "rejected", } +export interface RemoteCtrlInfo { + remoteCtrlId: number // int64 + ctrlDeviceName: string + sessionState?: RemoteCtrlSessionState +} + +export type RemoteCtrlSessionState = + | RemoteCtrlSessionState.Starting + | RemoteCtrlSessionState.Searching + | RemoteCtrlSessionState.Connecting + | RemoteCtrlSessionState.PendingConfirmation + | RemoteCtrlSessionState.Connected + +export namespace RemoteCtrlSessionState { + export type Tag = + | "starting" + | "searching" + | "connecting" + | "pendingConfirmation" + | "connected" + + interface Interface { + type: Tag + } + + export interface Starting extends Interface { + type: "starting" + } + + export interface Searching extends Interface { + type: "searching" + } + + export interface Connecting extends Interface { + type: "connecting" + } + + export interface PendingConfirmation extends Interface { + type: "pendingConfirmation" + sessionCode: string + } + + export interface Connected extends Interface { + type: "connected" + sessionCode: string + } +} + +export type RemoteCtrlStopReason = + | RemoteCtrlStopReason.DiscoveryFailed + | RemoteCtrlStopReason.ConnectionFailed + | RemoteCtrlStopReason.SetupFailed + | RemoteCtrlStopReason.Disconnected + +export namespace RemoteCtrlStopReason { + export type Tag = "discoveryFailed" | "connectionFailed" | "setupFailed" | "disconnected" + + interface Interface { + type: Tag + } + + export interface DiscoveryFailed extends Interface { + type: "discoveryFailed" + chatError: ChatError + } + + export interface ConnectionFailed extends Interface { + type: "connectionFailed" + chatError: ChatError + } + + export interface SetupFailed extends Interface { + type: "setupFailed" + chatError: ChatError + } + + export interface Disconnected extends Interface { + type: "disconnected" + } +} + export enum ReportReason { Spam = "spam", Content = "content", diff --git a/packages/simplex-chat-python/src/simplex_chat/types/_commands.py b/packages/simplex-chat-python/src/simplex_chat/types/_commands.py index 086b3cfd29..53544324fc 100644 --- a/packages/simplex-chat-python/src/simplex_chat/types/_commands.py +++ b/packages/simplex-chat-python/src/simplex_chat/types/_commands.py @@ -56,7 +56,7 @@ class APISetProfileAddress(TypedDict): def APISetProfileAddress_cmd_string(self: APISetProfileAddress) -> str: return '/_profile_address ' + str(self['userId']) + ' ' + ('on' if self['enable'] else 'off') -APISetProfileAddress_Response = CR.UserProfileUpdated | CR.ChatCmdError +APISetProfileAddress_Response = CR.UserProfileUpdated | CR.UserProfileNoChange | CR.ChatCmdError # Set bot address settings. @@ -156,7 +156,7 @@ class APIShareMyAddress(TypedDict): def APIShareMyAddress_cmd_string(self: APIShareMyAddress) -> str: - return '/_share address' + T.ChatRef_cmd_string(self['toSendRef']) + return '/_share address ' + T.ChatRef_cmd_string(self['toSendRef']) APIShareMyAddress_Response = CR.ChatMsgContent @@ -513,7 +513,16 @@ class Connect(TypedDict): def Connect_cmd_string(self: Connect) -> str: return '/connect' + ((' ' + self.get('connTarget_')) if self.get('connTarget_') is not None else '') -Connect_Response = CR.SentConfirmation | CR.ContactAlreadyExists | CR.SentInvitation | CR.ChatCmdError +Connect_Response = ( + CR.SentConfirmation + | CR.ContactAlreadyExists + | CR.SentInvitation + | CR.ConnectionPlan + | CR.SentInvitationToContact + | CR.StartedConnectionToContact + | CR.StartedConnectionToGroup + | CR.ChatCmdError +) # Accept contact request. @@ -787,3 +796,30 @@ def APIStopChat_cmd_string(self: APIStopChat) -> str: APIStopChat_Response = CR.ChatStopped + +# Remote control commands +# Allows a bot to accept an incoming remote control session from a SimpleX Desktop client, giving the desktop live access to the bot's SimpleX instance. + +# Connect to a remote controller using an OOB invitation link. +# Network usage: interactive. +class ConnectRemoteCtrl(TypedDict): + remoteInvitation: str + + +def ConnectRemoteCtrl_cmd_string(self: ConnectRemoteCtrl) -> str: + return '/crc ' + self['remoteInvitation'] + +ConnectRemoteCtrl_Response = CR.RemoteCtrlConnecting | CR.ChatCmdError + + +# Verify the remote controller session code to complete the connection. +# Network usage: no. +class VerifyRemoteCtrlSession(TypedDict): + sessionCode: str + + +def VerifyRemoteCtrlSession_cmd_string(self: VerifyRemoteCtrlSession) -> str: + return '/verify remote ctrl ' + self['sessionCode'] + +VerifyRemoteCtrlSession_Response = CR.RemoteCtrlConnected | CR.ChatCmdError + diff --git a/packages/simplex-chat-python/src/simplex_chat/types/_events.py b/packages/simplex-chat-python/src/simplex_chat/types/_events.py index 58ead11837..bd73637ef8 100644 --- a/packages/simplex-chat-python/src/simplex_chat/types/_events.py +++ b/packages/simplex-chat-python/src/simplex_chat/types/_events.py @@ -314,6 +314,16 @@ class ServiceReplySent(TypedDict): type: Literal["serviceReplySent"] connectionId: str +class RemoteCtrlSessionCode(TypedDict): + type: Literal["remoteCtrlSessionCode"] + remoteCtrl_: NotRequired["T.RemoteCtrlInfo"] + sessionCode: str + +class RemoteCtrlStopped(TypedDict): + type: Literal["remoteCtrlStopped"] + rcsState: "T.RemoteCtrlSessionState" + rcStopReason: "T.RemoteCtrlStopReason" + class MessageError(TypedDict): type: Literal["messageError"] user: "T.User" @@ -377,12 +387,14 @@ ChatEvent = ( | SubscriptionStatus | ServiceRequest | ServiceReplySent + | RemoteCtrlSessionCode + | RemoteCtrlStopped | MessageError | ChatError | ChatErrors ) -ChatEvent_Tag = Literal["contactConnected", "contactUpdated", "contactDeletedByContact", "receivedContactRequest", "newMemberContactReceivedInv", "contactSndReady", "newChatItems", "chatItemReaction", "chatItemsDeleted", "chatItemUpdated", "groupChatItemsDeleted", "chatItemsStatusesUpdated", "receivedGroupInvitation", "userJoinedGroup", "groupUpdated", "joinedGroupMember", "memberRole", "deletedMember", "leftMember", "deletedMemberUser", "groupDeleted", "connectedToGroupMember", "memberAcceptedByOther", "memberBlockedForAll", "groupMemberUpdated", "groupLinkDataUpdated", "groupRelayUpdated", "rcvFileDescrReady", "rcvFileComplete", "sndFileCompleteXFTP", "rcvFileStart", "rcvFileSndCancelled", "rcvFileAccepted", "rcvFileError", "rcvFileWarning", "sndFileError", "sndFileWarning", "acceptingContactRequest", "acceptingBusinessRequest", "contactConnecting", "businessLinkConnecting", "joinedGroupMemberConnecting", "groupLinkConnecting", "hostConnected", "hostDisconnected", "subscriptionStatus", "serviceRequest", "serviceReplySent", "messageError", "chatError", "chatErrors"] +ChatEvent_Tag = Literal["contactConnected", "contactUpdated", "contactDeletedByContact", "receivedContactRequest", "newMemberContactReceivedInv", "contactSndReady", "newChatItems", "chatItemReaction", "chatItemsDeleted", "chatItemUpdated", "groupChatItemsDeleted", "chatItemsStatusesUpdated", "receivedGroupInvitation", "userJoinedGroup", "groupUpdated", "joinedGroupMember", "memberRole", "deletedMember", "leftMember", "deletedMemberUser", "groupDeleted", "connectedToGroupMember", "memberAcceptedByOther", "memberBlockedForAll", "groupMemberUpdated", "groupLinkDataUpdated", "groupRelayUpdated", "rcvFileDescrReady", "rcvFileComplete", "sndFileCompleteXFTP", "rcvFileStart", "rcvFileSndCancelled", "rcvFileAccepted", "rcvFileError", "rcvFileWarning", "sndFileError", "sndFileWarning", "acceptingContactRequest", "acceptingBusinessRequest", "contactConnecting", "businessLinkConnecting", "joinedGroupMemberConnecting", "groupLinkConnecting", "hostConnected", "hostDisconnected", "subscriptionStatus", "serviceRequest", "serviceReplySent", "remoteCtrlSessionCode", "remoteCtrlStopped", "messageError", "chatError", "chatErrors"] class OnEventDecorator(Protocol): @@ -681,6 +693,18 @@ class OnEventDecorator(Protocol): Callable[["ServiceReplySent"], Awaitable[None]], ]: ... + @overload + def __call__(self, event: Literal["remoteCtrlSessionCode"], /) -> Callable[ + [Callable[["RemoteCtrlSessionCode"], Awaitable[None]]], + Callable[["RemoteCtrlSessionCode"], Awaitable[None]], + ]: ... + + @overload + def __call__(self, event: Literal["remoteCtrlStopped"], /) -> Callable[ + [Callable[["RemoteCtrlStopped"], Awaitable[None]]], + Callable[["RemoteCtrlStopped"], Awaitable[None]], + ]: ... + @overload def __call__(self, event: Literal["messageError"], /) -> Callable[ [Callable[["MessageError"], Awaitable[None]]], diff --git a/packages/simplex-chat-python/src/simplex_chat/types/_responses.py b/packages/simplex-chat-python/src/simplex_chat/types/_responses.py index 217fb3019d..e3885fc16a 100644 --- a/packages/simplex-chat-python/src/simplex_chat/types/_responses.py +++ b/packages/simplex-chat-python/src/simplex_chat/types/_responses.py @@ -240,6 +240,17 @@ class RcvFileCancelled(TypedDict): chatItem_: NotRequired["T.AChatItem"] rcvFileTransfer: "T.RcvFileTransfer" +class RemoteCtrlConnected(TypedDict): + type: Literal["remoteCtrlConnected"] + remoteCtrl: "T.RemoteCtrlInfo" + compression: bool + +class RemoteCtrlConnecting(TypedDict): + type: Literal["remoteCtrlConnecting"] + remoteCtrl_: NotRequired["T.RemoteCtrlInfo"] + ctrlAppInfo: "T.CtrlAppInfo" + appVersion: str + class SentConfirmation(TypedDict): type: Literal["sentConfirmation"] user: "T.User" @@ -259,6 +270,12 @@ class SentInvitation(TypedDict): connection: "T.PendingContactConnection" customUserProfile: NotRequired["T.Profile"] +class SentInvitationToContact(TypedDict): + type: Literal["sentInvitationToContact"] + user: "T.User" + contact: "T.Contact" + customUserProfile: NotRequired["T.Profile"] + class ServiceReplyAccepted(TypedDict): type: Literal["serviceReplyAccepted"] user: "T.User" @@ -271,6 +288,19 @@ class SndFileCancelled(TypedDict): fileTransferMeta: "T.FileTransferMeta" sndFileTransfers: list["T.SndFileTransfer"] +class StartedConnectionToContact(TypedDict): + type: Literal["startedConnectionToContact"] + user: "T.User" + contact: "T.Contact" + customUserProfile: NotRequired["T.Profile"] + +class StartedConnectionToGroup(TypedDict): + type: Literal["startedConnectionToGroup"] + user: "T.User" + groupInfo: "T.GroupInfo" + customUserProfile: NotRequired["T.Profile"] + relayResults: list["T.RelayConnectionResult"] + class UserAcceptedGroupSent(TypedDict): type: Literal["userAcceptedGroupSent"] user: "T.User" @@ -368,11 +398,16 @@ ChatResponse = ( | RcvFileAccepted | RcvFileAcceptedSndCancelled | RcvFileCancelled + | RemoteCtrlConnected + | RemoteCtrlConnecting | SentConfirmation | SentGroupInvitation | SentInvitation + | SentInvitationToContact | ServiceReplyAccepted | SndFileCancelled + | StartedConnectionToContact + | StartedConnectionToGroup | UserAcceptedGroupSent | UserContactLink | UserContactLinkCreated @@ -385,4 +420,4 @@ ChatResponse = ( | ApiChats ) -ChatResponse_Tag = Literal["acceptingContactRequest", "activeUser", "chatItemNotChanged", "chatItemReaction", "chatItemUpdated", "chatItemsDeleted", "chatMsgContent", "chatRunning", "chatStarted", "chatStopped", "cmdOk", "chatCmdError", "connectionPlan", "contactAlreadyExists", "contactConnectionDeleted", "contactDeleted", "contactPrefsUpdated", "contactRequestRejected", "contactsList", "groupDeletedUser", "groupLink", "groupLinkCreated", "groupLinkDeleted", "groupCreated", "publicGroupCreated", "publicGroupCreationFailed", "groupRelays", "groupRelaysAdded", "groupRelaysAddFailed", "relayGroupAllowed", "groupMembers", "groupUpdated", "groupsList", "groupDomainVerified", "invitation", "leftMemberUser", "memberAccepted", "membersBlockedForAllUser", "membersRoleUser", "newChatItems", "rcvFileAccepted", "rcvFileAcceptedSndCancelled", "rcvFileCancelled", "sentConfirmation", "sentGroupInvitation", "sentInvitation", "serviceReplyAccepted", "sndFileCancelled", "userAcceptedGroupSent", "userContactLink", "userContactLinkCreated", "userContactLinkDeleted", "userContactLinkUpdated", "userDeletedMembers", "userProfileUpdated", "userProfileNoChange", "usersList", "apiChats"] +ChatResponse_Tag = Literal["acceptingContactRequest", "activeUser", "chatItemNotChanged", "chatItemReaction", "chatItemUpdated", "chatItemsDeleted", "chatMsgContent", "chatRunning", "chatStarted", "chatStopped", "cmdOk", "chatCmdError", "connectionPlan", "contactAlreadyExists", "contactConnectionDeleted", "contactDeleted", "contactPrefsUpdated", "contactRequestRejected", "contactsList", "groupDeletedUser", "groupLink", "groupLinkCreated", "groupLinkDeleted", "groupCreated", "publicGroupCreated", "publicGroupCreationFailed", "groupRelays", "groupRelaysAdded", "groupRelaysAddFailed", "relayGroupAllowed", "groupMembers", "groupUpdated", "groupsList", "groupDomainVerified", "invitation", "leftMemberUser", "memberAccepted", "membersBlockedForAllUser", "membersRoleUser", "newChatItems", "rcvFileAccepted", "rcvFileAcceptedSndCancelled", "rcvFileCancelled", "remoteCtrlConnected", "remoteCtrlConnecting", "sentConfirmation", "sentGroupInvitation", "sentInvitation", "sentInvitationToContact", "serviceReplyAccepted", "sndFileCancelled", "startedConnectionToContact", "startedConnectionToGroup", "userAcceptedGroupSent", "userContactLink", "userContactLinkCreated", "userContactLinkDeleted", "userContactLinkUpdated", "userDeletedMembers", "userProfileUpdated", "userProfileNoChange", "usersList", "apiChats"] diff --git a/packages/simplex-chat-python/src/simplex_chat/types/_types.py b/packages/simplex-chat-python/src/simplex_chat/types/_types.py index 74ffd4536b..c6870abb37 100644 --- a/packages/simplex-chat-python/src/simplex_chat/types/_types.py +++ b/packages/simplex-chat-python/src/simplex_chat/types/_types.py @@ -165,6 +165,12 @@ AgentServiceError = ( AgentServiceError_Tag = Literal["rejected", "timeout", "noPendingRequest", "notDRAddress", "badSignature"] +# Remote controller app version range (min and max as version strings). + +class AppVersionRange(TypedDict): + minVersion: str + maxVersion: str + class AutoAccept(TypedDict): acceptIncognito: bool @@ -1560,6 +1566,13 @@ class CryptoFileArgs(TypedDict): fileKey: str fileNonce: str +# Remote controller application info. + +class CtrlAppInfo(TypedDict): + appVersionRange: "AppVersionRange" + deviceName: str + compression: bool + class DroppedMsg(TypedDict): brokerTs: str # ISO-8601 timestamp attempts: int # int @@ -2770,6 +2783,10 @@ RcvMsgError_Tag = Literal["dropped", "parseError"] class RelayCapabilities(TypedDict): webDomain: NotRequired[str] +class RelayConnectionResult(TypedDict): + relayMember: "GroupMember" + relayError: NotRequired["ChatError"] + class RelayProfile(TypedDict): displayName: str fullName: str @@ -2778,6 +2795,62 @@ class RelayProfile(TypedDict): RelayStatus = Literal["new", "invited", "accepted", "acknowledgedRoster", "active", "inactive", "rejected"] +class RemoteCtrlInfo(TypedDict): + remoteCtrlId: int # int64 + ctrlDeviceName: str + sessionState: NotRequired["RemoteCtrlSessionState"] + +class RemoteCtrlSessionState_starting(TypedDict): + type: Literal["starting"] + +class RemoteCtrlSessionState_searching(TypedDict): + type: Literal["searching"] + +class RemoteCtrlSessionState_connecting(TypedDict): + type: Literal["connecting"] + +class RemoteCtrlSessionState_pendingConfirmation(TypedDict): + type: Literal["pendingConfirmation"] + sessionCode: str + +class RemoteCtrlSessionState_connected(TypedDict): + type: Literal["connected"] + sessionCode: str + +RemoteCtrlSessionState = ( + RemoteCtrlSessionState_starting + | RemoteCtrlSessionState_searching + | RemoteCtrlSessionState_connecting + | RemoteCtrlSessionState_pendingConfirmation + | RemoteCtrlSessionState_connected +) + +RemoteCtrlSessionState_Tag = Literal["starting", "searching", "connecting", "pendingConfirmation", "connected"] + +class RemoteCtrlStopReason_discoveryFailed(TypedDict): + type: Literal["discoveryFailed"] + chatError: "ChatError" + +class RemoteCtrlStopReason_connectionFailed(TypedDict): + type: Literal["connectionFailed"] + chatError: "ChatError" + +class RemoteCtrlStopReason_setupFailed(TypedDict): + type: Literal["setupFailed"] + chatError: "ChatError" + +class RemoteCtrlStopReason_disconnected(TypedDict): + type: Literal["disconnected"] + +RemoteCtrlStopReason = ( + RemoteCtrlStopReason_discoveryFailed + | RemoteCtrlStopReason_connectionFailed + | RemoteCtrlStopReason_setupFailed + | RemoteCtrlStopReason_disconnected +) + +RemoteCtrlStopReason_Tag = Literal["discoveryFailed", "connectionFailed", "setupFailed", "disconnected"] + ReportReason = Literal["spam", "content", "community", "profile", "other"] class RoleGroupPreference(TypedDict): diff --git a/src/Simplex/Chat/Controller.hs b/src/Simplex/Chat/Controller.hs index f670af261c..fc3f33ad54 100644 --- a/src/Simplex/Chat/Controller.hs +++ b/src/Simplex/Chat/Controller.hs @@ -655,10 +655,10 @@ data ChatCommand | DeleteRemoteHost RemoteHostId -- Unregister remote host and remove its data | StoreRemoteFile {remoteHostId :: RemoteHostId, storeEncrypted :: Maybe Bool, localPath :: FilePath} | GetRemoteFile {remoteHostId :: RemoteHostId, file :: RemoteFile} - | ConnectRemoteCtrl RCSignedInvitation -- Connect new or existing controller via OOB data + | ConnectRemoteCtrl {remoteInvitation :: RCSignedInvitation} -- Connect new or existing controller via OOB data | FindKnownRemoteCtrl -- Start listening for announcements from all existing controllers | ConfirmRemoteCtrl RemoteCtrlId -- Confirm the connection with found controller - | VerifyRemoteCtrlSession Text -- Verify remote controller session + | VerifyRemoteCtrlSession {sessionCode :: Text} -- Verify remote controller session | ListRemoteCtrls | StopRemoteCtrl -- Stop listening for announcements or terminate an active session | DeleteRemoteCtrl RemoteCtrlId -- Remove all local data associated with a remote controller session From 5ffbe733a8b32da0079d6276708f569bde76a79d Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sat, 12 Sep 2026 14:33:52 +0100 Subject: [PATCH 48/69] core: attach badge proofs to files over size limit (#7455) * core: attach badge proofs to files over size limit * types * more types * implement file badge proofs * tests * move file limits to config, add tests * more tests, work correctly in "send as group" case * fix races in tests * group badge tests * query plans * add history support, fixes * simplify * refactor * refactor * type * restructure schema for proofs * rename, refactor * refactor * fix, refactor * refactor * ui * comments * alerts * update nix, ios library * updare sharing * update simplexmq * update text * improve messages * api types * postgres schema * fix * test * query plans --------- Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> --- .../Views/Chat/ChatItem/CIFileView.swift | 31 +- .../Views/Chat/ChatItem/CIImageView.swift | 13 +- .../Views/Chat/ChatItem/CIVideoView.swift | 16 +- .../Views/Chat/ChatItem/FramedItemView.swift | 6 +- apps/ios/Shared/Views/Chat/ChatView.swift | 2 +- .../Chat/ComposeMessage/ComposeView.swift | 18 +- .../Views/ChatList/ChatPreviewView.swift | 6 +- apps/ios/SimpleX SE/ShareModel.swift | 87 +++--- apps/ios/SimpleX.xcodeproj/project.pbxproj | 16 +- apps/ios/SimpleXChat/ChatTypes.swift | 12 + apps/ios/SimpleXChat/FileUtils.swift | 63 ++++- .../chat/simplex/common/model/ChatModel.kt | 10 +- .../simplex/common/views/chat/ComposeView.kt | 12 +- .../common/views/chat/item/CIFileView.kt | 31 +- .../common/views/chat/item/CIImageView.kt | 12 +- .../common/views/chat/item/CIVideoView.kt | 24 +- .../common/views/chat/item/ChatItemView.kt | 2 +- .../common/views/chat/item/FramedItemView.kt | 6 +- .../common/views/chatlist/ChatPreviewView.kt | 6 +- .../simplex/common/views/helpers/Utils.kt | 51 +++- .../commonMain/resources/MR/base/strings.xml | 9 + bots/api/TYPES.md | 13 + bots/src/API/Docs/Types.hs | 2 + cabal.project | 2 +- .../types/typescript/src/types.ts | 8 + .../src/simplex_chat/types/_types.py | 7 + ...026-09-04-badge-binding-and-file-limits.md | 264 ++++++++++++++++++ scripts/nix/sha256map.nix | 2 +- simplex-chat.cabal | 2 + src/Simplex/Chat.hs | 3 +- src/Simplex/Chat/Badges.hs | 123 +++++++- src/Simplex/Chat/Controller.hs | 3 +- src/Simplex/Chat/Library/Commands.hs | 29 +- src/Simplex/Chat/Library/Internal.hs | 176 ++++++++++-- src/Simplex/Chat/Library/Subscriber.hs | 126 ++++++--- src/Simplex/Chat/Messages.hs | 3 +- src/Simplex/Chat/Protocol.hs | 8 +- src/Simplex/Chat/Store/Files.hs | 101 +++++-- src/Simplex/Chat/Store/Messages.hs | 23 +- src/Simplex/Chat/Store/Postgres/Migrations.hs | 4 +- .../Migrations/M20260904_file_badges.hs | 40 +++ .../Store/Postgres/Migrations/chat_schema.sql | 45 ++- src/Simplex/Chat/Store/SQLite/Migrations.hs | 4 +- .../Migrations/M20260904_file_badges.hs | 39 +++ .../SQLite/Migrations/chat_query_plans.txt | 39 ++- .../Store/SQLite/Migrations/chat_schema.sql | 21 +- src/Simplex/Chat/Types.hs | 12 +- src/Simplex/Chat/View.hs | 22 +- tests/BadgeTests.hs | 37 ++- tests/ChatTests/Files.hs | 190 ++++++++++++- tests/ChatTests/Groups.hs | 174 ++++++++++++ tests/ChatTests/Profiles.hs | 7 +- tests/ProtocolTests.hs | 12 +- 53 files changed, 1659 insertions(+), 315 deletions(-) create mode 100644 plans/2026-09-04-badge-binding-and-file-limits.md create mode 100644 src/Simplex/Chat/Store/Postgres/Migrations/M20260904_file_badges.hs create mode 100644 src/Simplex/Chat/Store/SQLite/Migrations/M20260904_file_badges.hs diff --git a/apps/ios/Shared/Views/Chat/ChatItem/CIFileView.swift b/apps/ios/Shared/Views/Chat/ChatItem/CIFileView.swift index f08f4fba6a..8bb76ca155 100644 --- a/apps/ios/Shared/Views/Chat/ChatItem/CIFileView.swift +++ b/apps/ios/Shared/Views/Chat/ChatItem/CIFileView.swift @@ -21,7 +21,6 @@ struct CIFileView: View { @ObservedObject var chat: Chat let file: CIFile? let meta: CIMeta - let senderProfile: LocalProfile? var smallViewSize: CGFloat? var body: some View { @@ -91,19 +90,15 @@ struct CIFileView: View { if let file = file { switch (file.fileStatus) { case .rcvInvitation, .rcvAborted: - if fileSizeValid(file, senderProfile) { + if let prohibited = file.fileProhibited { + showProhibitedFileAlert(file, prohibited) + } else { Task { logger.debug("CIFileView fileAction - in .rcvInvitation, .rcvAborted, in Task") if let user = m.currentUser { await receiveFile(user: user, fileId: file.fileId) } } - } else { - let prettyMaxFileSize = ByteCountFormatter.string(fromByteCount: getMaxFileSize(file.fileProtocol, senderProfile), countStyle: .binary) - AlertManager.shared.showAlertMsg( - title: "Large file!", - message: "Your contact sent a file that is larger than currently supported maximum size (\(prettyMaxFileSize))." - ) } case .rcvAccepted: switch file.fileProtocol { @@ -171,7 +166,7 @@ struct CIFileView: View { case .sndError: fileIcon("doc.fill", innerIcon: "xmark", innerIconSize: 10) case .sndWarning: fileIcon("doc.fill", innerIcon: "exclamationmark.triangle.fill", innerIconSize: 10) case .rcvInvitation: - if !fileSizeValid(file, senderProfile) { + if !fileSizeValid(file) { fileIcon("doc.fill", color: .orange, innerIcon: "exclamationmark", innerIconSize: 12) } else if file.expired { fileIcon("doc.fill", innerIcon: "xmark", innerIconSize: 10) @@ -235,13 +230,27 @@ struct CIFileView: View { } } -func fileSizeValid(_ file: CIFile?, _ senderProfile: LocalProfile?) -> Bool { +// the core decides whether a received file is above the size the sender's badge allows +func fileSizeValid(_ file: CIFile?) -> Bool { if let file = file { - return file.fileSize <= getMaxFileSize(file.fileProtocol, senderProfile) + return file.fileProhibited == nil } return false } +func showProhibitedFileAlert(_ file: CIFile, _ prohibited: FileProhibited) { + let badgeIssue = switch prohibited.badgeStatus { + case .none, .some(.active): "" + case .some(.expired), .some(.expiredOld): NSLocalizedString("Contact's badge expired.", comment: "file alert") + case .some(.failed): NSLocalizedString("Contact's badge verification failed.", comment: "file alert") + case .some(.unknownKey): NSLocalizedString("No key to verify contact's badge.", comment: "file alert") + } + showAlert( + NSLocalizedString("Large file!", comment: "file alert title"), + message: largeFileMessage(file.fileSize, badgeIssue: badgeIssue) + ) +} + func saveCryptoFile(_ fileSource: CryptoFile) { if let cfArgs = fileSource.cryptoArgs { let url = getAppFilePath(fileSource.filePath) diff --git a/apps/ios/Shared/Views/Chat/ChatItem/CIImageView.swift b/apps/ios/Shared/Views/Chat/ChatItem/CIImageView.swift index 93966543c6..fb6ccb1ea3 100644 --- a/apps/ios/Shared/Views/Chat/ChatItem/CIImageView.swift +++ b/apps/ios/Shared/Views/Chat/ChatItem/CIImageView.swift @@ -14,7 +14,6 @@ import SimpleXChat struct CIImageView: View { @EnvironmentObject var m: ChatModel let chatItem: ChatItem - let senderProfile: LocalProfile? var scrollToItem: ((ChatItem.ID) -> Void)? = nil var preview: UIImage? let maxWidth: CGFloat @@ -52,18 +51,14 @@ struct CIImageView: View { if let file = file { switch file.fileStatus { case .rcvInvitation, .rcvAborted: - if fileSizeValid(file, senderProfile) { + if let prohibited = file.fileProhibited { + showProhibitedFileAlert(file, prohibited) + } else { Task { if let user = m.currentUser { await receiveFile(user: user, fileId: file.fileId) } } - } else { - let prettyMaxFileSize = ByteCountFormatter.string(fromByteCount: getMaxFileSize(file.fileProtocol, senderProfile), countStyle: .binary) - AlertManager.shared.showAlertMsg( - title: "Large file!", - message: "Your contact sent a file that is larger than currently supported maximum size (\(prettyMaxFileSize))." - ) } case .rcvAccepted: switch file.fileProtocol { @@ -152,7 +147,7 @@ struct CIImageView: View { case .sndCancelled: fileIcon("xmark", 10, 13) case .sndError: fileIcon("xmark", 10, 13) case .sndWarning: fileIcon("exclamationmark.triangle.fill", 10, 13) - case .rcvInvitation: fileIcon(file.expired && fileSizeValid(file, senderProfile) ? "xmark" : "arrow.down", 10, 13) + case .rcvInvitation: fileIcon(file.expired && fileSizeValid(file) ? "xmark" : "arrow.down", 10, 13) case .rcvAccepted: fileIcon("ellipsis", 14, 11) case .rcvTransfer: progressView() case .rcvAborted: fileIcon("exclamationmark.arrow.circlepath", 14, 11) diff --git a/apps/ios/Shared/Views/Chat/ChatItem/CIVideoView.swift b/apps/ios/Shared/Views/Chat/ChatItem/CIVideoView.swift index d5340010ab..0df17dfe3d 100644 --- a/apps/ios/Shared/Views/Chat/ChatItem/CIVideoView.swift +++ b/apps/ios/Shared/Views/Chat/ChatItem/CIVideoView.swift @@ -16,7 +16,6 @@ import Combine struct CIVideoView: View { @EnvironmentObject var m: ChatModel private let chatItem: ChatItem - private let senderProfile: LocalProfile? private let preview: UIImage? @State private var duration: Int @State private var progress: Int = 0 @@ -36,9 +35,8 @@ struct CIVideoView: View { private var sizeMultiplier: CGFloat { smallView ? 0.38 : 1 } @State private var blurred: Bool = UserDefaults.standard.integer(forKey: DEFAULT_PRIVACY_MEDIA_BLUR_RADIUS) > 0 - init(chatItem: ChatItem, senderProfile: LocalProfile?, preview: UIImage?, duration: Int, maxWidth: CGFloat, videoWidth: CGFloat?, smallView: Bool = false, showFullscreenPlayer: Binding) { + init(chatItem: ChatItem, preview: UIImage?, duration: Int, maxWidth: CGFloat, videoWidth: CGFloat?, smallView: Bool = false, showFullscreenPlayer: Binding) { self.chatItem = chatItem - self.senderProfile = senderProfile self.preview = preview self._duration = State(initialValue: duration) self.maxWidth = maxWidth @@ -368,7 +366,7 @@ struct CIVideoView: View { .simultaneousGesture(TapGesture().onEnded { showFileErrorAlert(sndFileError, temporary: true) }) - case .rcvInvitation: fileIcon(file.expired && fileSizeValid(file, senderProfile) ? "xmark" : "arrow.down", 10, 13) + case .rcvInvitation: fileIcon(file.expired && fileSizeValid(file) ? "xmark" : "arrow.down", 10, 13) case .rcvAccepted: fileIcon("ellipsis", 14, 11) case let .rcvTransfer(rcvProgress, rcvTotal): if file.fileProtocol == .xftp && rcvProgress < rcvTotal { @@ -423,18 +421,14 @@ struct CIVideoView: View { // TODO encrypt: where file size is checked? private func receiveFileIfValidSize(file: CIFile, receiveFile: @escaping (User, Int64, Bool, Bool) async -> Void) { - if fileSizeValid(file, senderProfile) { + if let prohibited = file.fileProhibited { + showProhibitedFileAlert(file, prohibited) + } else { Task { if let user = m.currentUser { await receiveFile(user, file.fileId, false, false) } } - } else { - let prettyMaxFileSize = ByteCountFormatter.string(fromByteCount: getMaxFileSize(file.fileProtocol, senderProfile), countStyle: .binary) - AlertManager.shared.showAlertMsg( - title: "Large file!", - message: "Your contact sent a file that is larger than currently supported maximum size (\(prettyMaxFileSize))." - ) } } diff --git a/apps/ios/Shared/Views/Chat/ChatItem/FramedItemView.swift b/apps/ios/Shared/Views/Chat/ChatItem/FramedItemView.swift index ac27cb27c2..f822970ea4 100644 --- a/apps/ios/Shared/Views/Chat/ChatItem/FramedItemView.swift +++ b/apps/ios/Shared/Views/Chat/ChatItem/FramedItemView.swift @@ -155,7 +155,7 @@ struct FramedItemView: View { } else { switch (chatItem.content.msgContent) { case let .image(text, _): - CIImageView(chatItem: chatItem, senderProfile: ciSenderProfile(chatItem, chat.chatInfo), scrollToItem: scrollToItem, preview: preview, maxWidth: maxWidth, imgWidth: imgWidth, showFullScreenImage: $showFullscreenGallery) + CIImageView(chatItem: chatItem, scrollToItem: scrollToItem, preview: preview, maxWidth: maxWidth, imgWidth: imgWidth, showFullScreenImage: $showFullscreenGallery) .overlay(DetermineWidth()) if text == "" && !chatItem.meta.isLive { Color.clear @@ -170,7 +170,7 @@ struct FramedItemView: View { ciMsgContentView(chatItem) } case let .video(text, _, duration): - CIVideoView(chatItem: chatItem, senderProfile: ciSenderProfile(chatItem, chat.chatInfo), preview: preview, duration: duration, maxWidth: maxWidth, videoWidth: videoWidth, showFullscreenPlayer: $showFullscreenGallery) + CIVideoView(chatItem: chatItem, preview: preview, duration: duration, maxWidth: maxWidth, videoWidth: videoWidth, showFullscreenPlayer: $showFullscreenGallery) .overlay(DetermineWidth()) if text == "" && !chatItem.meta.isLive { Color.clear @@ -387,7 +387,7 @@ struct FramedItemView: View { } @ViewBuilder private func ciFileView(_ ci: ChatItem, _ text: String) -> some View { - CIFileView(chat: chat, file: chatItem.file, meta: chatItem.meta, senderProfile: ciSenderProfile(chatItem, chat.chatInfo)) + CIFileView(chat: chat, file: chatItem.file, meta: chatItem.meta) .overlay(DetermineWidth()) if text != "" || ci.meta.isLive { ciMsgContentView (chatItem) diff --git a/apps/ios/Shared/Views/Chat/ChatView.swift b/apps/ios/Shared/Views/Chat/ChatView.swift index 08941e9ccc..d18d8ae145 100644 --- a/apps/ios/Shared/Views/Chat/ChatView.swift +++ b/apps/ios/Shared/Views/Chat/ChatView.swift @@ -2322,7 +2322,7 @@ struct ChatView: View { } else { saveButton(file: fileSource) } - } else if let file = ci.file, case .rcvInvitation = file.fileStatus, fileSizeValid(file, ciSenderProfile(ci, chat.chatInfo)) { + } else if let file = ci.file, case .rcvInvitation = file.fileStatus, fileSizeValid(file) { downloadButton(file: file) } if ci.meta.editable && !mc.isVoice && !live { diff --git a/apps/ios/Shared/Views/Chat/ComposeMessage/ComposeView.swift b/apps/ios/Shared/Views/Chat/ComposeMessage/ComposeView.swift index 54f8597ffc..caa4e2a501 100644 --- a/apps/ios/Shared/Views/Chat/ComposeMessage/ComposeView.swift +++ b/apps/ios/Shared/Views/Chat/ComposeMessage/ComposeView.swift @@ -668,10 +668,9 @@ struct ComposeView: View { fileSize <= maxFileSize { composeState = composeState.copy(preview: .filePreview(fileName: fileURL.lastPathComponent, file: fileURL)) } else { - let prettyMaxFileSize = ByteCountFormatter.string(fromByteCount: maxFileSize, countStyle: .binary) - AlertManager.shared.showAlertMsg( - title: "Large file!", - message: "Currently maximum supported file size is \(prettyMaxFileSize)." + showAlert( + NSLocalizedString("Large file!", comment: "file alert title"), + message: largeFileMessage(Int64(fileSize ?? 0), incognito: sendIncognito, badgeIssue: expiredBadgeReason(Int64(fileSize ?? 0), sendProfile)) ) } } catch { @@ -1266,12 +1265,15 @@ struct ComposeView: View { } } - private var maxFileSize: Int64 { - // the user's active badge raises the limit, but not in incognito chats where no badge is presented - let incognito = chat.chatInfo.profileChangeProhibited ? chat.chatInfo.incognito : incognitoDefault - return getMaxFileSize(.xftp, incognito ? nil : chatModel.currentUser?.profile) + // no badge is presented in incognito chats, so it does not raise the limit there + private var sendIncognito: Bool { + chat.chatInfo.profileChangeProhibited ? chat.chatInfo.incognito : incognitoDefault } + private var sendProfile: LocalProfile? { sendIncognito ? nil : chatModel.currentUser?.profile } + + private var maxFileSize: Int64 { getMaxFileSize(.xftp, sendProfile) } + // Spec: spec/client/compose.md#sendLiveMessage private func sendLiveMessage() async { let typedMsg = composeState.message diff --git a/apps/ios/Shared/Views/ChatList/ChatPreviewView.swift b/apps/ios/Shared/Views/ChatList/ChatPreviewView.swift index 59b92a265b..5ee991a466 100644 --- a/apps/ios/Shared/Views/ChatList/ChatPreviewView.swift +++ b/apps/ios/Shared/Views/ChatList/ChatPreviewView.swift @@ -426,11 +426,11 @@ struct ChatPreviewView: View { } case let .image(_, image): smallContentPreview(size: dynamicMediaSize) { - CIImageView(chatItem: ci, senderProfile: ciSenderProfile(ci, chat.chatInfo), preview: imageFromBase64(image), maxWidth: dynamicMediaSize, smallView: true, showFullScreenImage: $showFullscreenGallery) + CIImageView(chatItem: ci, preview: imageFromBase64(image), maxWidth: dynamicMediaSize, smallView: true, showFullScreenImage: $showFullscreenGallery) } case let .video(_,image, duration): smallContentPreview(size: dynamicMediaSize) { - CIVideoView(chatItem: ci, senderProfile: ciSenderProfile(ci, chat.chatInfo), preview: imageFromBase64(image), duration: duration, maxWidth: dynamicMediaSize, videoWidth: nil, smallView: true, showFullscreenPlayer: $showFullscreenGallery) + CIVideoView(chatItem: ci, preview: imageFromBase64(image), duration: duration, maxWidth: dynamicMediaSize, videoWidth: nil, smallView: true, showFullscreenPlayer: $showFullscreenGallery) } case let .voice(_, duration): smallContentPreviewVoice(size: dynamicMediaSize) { @@ -438,7 +438,7 @@ struct ChatPreviewView: View { } case .file: smallContentPreviewFile(size: dynamicMediaSize) { - CIFileView(chat: chat, file: ci.file, meta: ci.meta, senderProfile: ciSenderProfile(ci, chat.chatInfo), smallViewSize: dynamicMediaSize) + CIFileView(chat: chat, file: ci.file, meta: ci.meta, smallViewSize: dynamicMediaSize) } case let .chat(_, chatLink, ownerSig): smallContentPreview(size: dynamicMediaSize, borderColor: chatLink.image != nil ? .secondary : .clear) { diff --git a/apps/ios/SimpleX SE/ShareModel.swift b/apps/ios/SimpleX SE/ShareModel.swift index 9790e5944f..ea1bbbd46f 100644 --- a/apps/ios/SimpleX SE/ShareModel.swift +++ b/apps/ios/SimpleX SE/ShareModel.swift @@ -97,37 +97,42 @@ class ShareModel: ObservableObject { if let e = initChat(with: dbKey) { await MainActor.run { errorAlert = e } } else { - // Load Chats - Task { - switch fetchChats() { - case let .success(chats): - // Decode base64 images on background thread - let profileImages = chats.reduce(into: Dictionary()) { dict, chatData in - if let profileImage = chatData.chatInfo.image, - let uiImage = imageFromBase64(profileImage) { - dict[chatData.id] = uiImage + switch activeUser() { + case let .failure(error): + await MainActor.run { errorAlert = error } + case let .success(user): + // Load Chats + Task { + switch fetchChats(user) { + case let .success(chats): + // Decode base64 images on background thread + let profileImages = chats.reduce(into: Dictionary()) { dict, chatData in + if let profileImage = chatData.chatInfo.image, + let uiImage = imageFromBase64(profileImage) { + dict[chatData.id] = uiImage + } } + await MainActor.run { + self.chats = chats + self.profileImages = profileImages + withAnimation { isLoaded = true } + } + case let .failure(error): + await MainActor.run { errorAlert = error } } - await MainActor.run { - self.chats = chats - self.profileImages = profileImages - withAnimation { isLoaded = true } - } - case let .failure(error): - await MainActor.run { errorAlert = error } } - } - // Process Attachment - Task { - switch await getSharedContent(self.itemProvider!) { - case let .success(chatItemContent): - await MainActor.run { - self.sharedContent = chatItemContent - self.bottomBar = .sendButton - if case let .text(string) = chatItemContent { comment = string } + // Process Attachment + Task { + switch await getSharedContent(self.itemProvider!, user.profile) { + case let .success(chatItemContent): + await MainActor.run { + self.sharedContent = chatItemContent + self.bottomBar = .sendButton + if case let .text(string) = chatItemContent { comment = string } + } + case let .failure(errorAlert): + await MainActor.run { self.errorAlert = errorAlert } } - case let .failure(errorAlert): - await MainActor.run { self.errorAlert = errorAlert } } } } @@ -253,7 +258,7 @@ class ShareModel: ObservableObject { } } - private func fetchChats() -> Result, ErrorAlert> { + private func activeUser() -> Result { do { guard let user = try apiGetActiveUser() else { return .failure( @@ -263,6 +268,14 @@ class ShareModel: ObservableObject { ) ) } + return .success(user) + } catch { + return .failure(ErrorAlert(error)) + } + } + + private func fetchChats(_ user: User) -> Result, ErrorAlert> { + do { return .success(try apiGetChats(userId: user.id)) } catch { return .failure(ErrorAlert(error)) @@ -405,7 +418,7 @@ enum SharedContent { } } -fileprivate func getSharedContent(_ ip: NSItemProvider) async -> Result { +fileprivate func getSharedContent(_ ip: NSItemProvider, _ senderProfile: LocalProfile) async -> Result { if let type = firstMatching(of: [.image, .movie, .fileURL, .url, .text]) { switch type { // Prepare Image message @@ -443,15 +456,13 @@ fileprivate func getSharedContent(_ ip: NSItemProvider) async -> Result maxSize { return .failure( ErrorAlert( title: "Large file!", - message: "Currently maximum supported file size is \(sizeString)." + message: LocalizedStringKey(largeFileMessage(size, badgeIssue: expiredBadgeReason(size, senderProfile))) ) ) } @@ -534,9 +545,3 @@ fileprivate func transcodeVideo(from input: URL) async -> URL? { } } -fileprivate func isFileTooLarge(for url: URL) -> Bool { - fileSize(url) - .map { $0 > getMaxFileSize(.xftp) } - ?? false -} - diff --git a/apps/ios/SimpleX.xcodeproj/project.pbxproj b/apps/ios/SimpleX.xcodeproj/project.pbxproj index 418e1c99b5..304f3768c5 100644 --- a/apps/ios/SimpleX.xcodeproj/project.pbxproj +++ b/apps/ios/SimpleX.xcodeproj/project.pbxproj @@ -183,8 +183,8 @@ 64C3B0212A0D359700E19930 /* CustomTimePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C3B0202A0D359700E19930 /* CustomTimePicker.swift */; }; 64C8299D2D54AEEE006B9E89 /* libgmp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C829982D54AEED006B9E89 /* libgmp.a */; }; 64C8299E2D54AEEE006B9E89 /* libffi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C829992D54AEEE006B9E89 /* libffi.a */; }; - 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ-ghc9.6.3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ-ghc9.6.3.a */; }; - 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ.a */; }; + 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS-ghc9.6.3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS-ghc9.6.3.a */; }; + 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS.a */; }; 64C829A12D54AEEE006B9E89 /* libgmpxx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299C2D54AEEE006B9E89 /* libgmpxx.a */; }; 64D0C2C029F9688300B38D5F /* UserAddressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D0C2BF29F9688300B38D5F /* UserAddressView.swift */; }; 64D0C2C229FA57AB00B38D5F /* UserAddressLearnMore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D0C2C129FA57AB00B38D5F /* UserAddressLearnMore.swift */; }; @@ -563,8 +563,8 @@ 64C3B0202A0D359700E19930 /* CustomTimePicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomTimePicker.swift; sourceTree = ""; }; 64C829982D54AEED006B9E89 /* libgmp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgmp.a; sourceTree = ""; }; 64C829992D54AEEE006B9E89 /* libffi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libffi.a; sourceTree = ""; }; - 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ-ghc9.6.3.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ-ghc9.6.3.a"; sourceTree = ""; }; - 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ.a"; sourceTree = ""; }; + 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS-ghc9.6.3.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS-ghc9.6.3.a"; sourceTree = ""; }; + 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS.a"; sourceTree = ""; }; 64C8299C2D54AEEE006B9E89 /* libgmpxx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgmpxx.a; sourceTree = ""; }; 64D0C2BF29F9688300B38D5F /* UserAddressView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserAddressView.swift; sourceTree = ""; }; 64D0C2C129FA57AB00B38D5F /* UserAddressLearnMore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserAddressLearnMore.swift; sourceTree = ""; }; @@ -735,8 +735,8 @@ 64C8299D2D54AEEE006B9E89 /* libgmp.a in Frameworks */, 64C8299E2D54AEEE006B9E89 /* libffi.a in Frameworks */, 64C829A12D54AEEE006B9E89 /* libgmpxx.a in Frameworks */, - 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ-ghc9.6.3.a in Frameworks */, - 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ.a in Frameworks */, + 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS-ghc9.6.3.a in Frameworks */, + 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS.a in Frameworks */, CE38A29C2C3FCD72005ED185 /* SwiftyGif in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -822,8 +822,8 @@ 64C829992D54AEEE006B9E89 /* libffi.a */, 64C829982D54AEED006B9E89 /* libgmp.a */, 64C8299C2D54AEEE006B9E89 /* libgmpxx.a */, - 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ-ghc9.6.3.a */, - 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ.a */, + 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS-ghc9.6.3.a */, + 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS.a */, ); path = Libraries; sourceTree = ""; diff --git a/apps/ios/SimpleXChat/ChatTypes.swift b/apps/ios/SimpleXChat/ChatTypes.swift index dee7ea6b32..239148b477 100644 --- a/apps/ios/SimpleXChat/ChatTypes.swift +++ b/apps/ios/SimpleXChat/ChatTypes.swift @@ -4678,6 +4678,17 @@ extension MsgReaction: Encodable { } } +// set by the core when the file is above the size the sender's badge allows; badgeStatus is nil when no proof was sent +public struct FileProhibited: Decodable, Hashable { + public var maxSize: Int64 + public var badgeStatus: BadgeStatus? + + public init(maxSize: Int64, badgeStatus: BadgeStatus?) { + self.maxSize = maxSize + self.badgeStatus = badgeStatus + } +} + public struct CIFile: Decodable, Hashable { public var fileId: Int64 public var fileName: String @@ -4686,6 +4697,7 @@ public struct CIFile: Decodable, Hashable { public var fileStatus: CIFileStatus public var fileProtocol: FileProtocol public var fileExpires: Date? = nil + public var fileProhibited: FileProhibited? = nil public static func getSample(fileId: Int64 = 1, fileName: String = "test.txt", fileSize: Int64 = 100, filePath: String? = "test.txt", fileStatus: CIFileStatus = .rcvComplete) -> CIFile { let f: CryptoFile? diff --git a/apps/ios/SimpleXChat/FileUtils.swift b/apps/ios/SimpleXChat/FileUtils.swift index c44bcee5bd..a4d4e4ae0c 100644 --- a/apps/ios/SimpleXChat/FileUtils.swift +++ b/apps/ios/SimpleXChat/FileUtils.swift @@ -29,10 +29,13 @@ public let MAX_VIDEO_SIZE_AUTO_RCV: Int64 = 1_047_552 // 1023KB // Spec: spec/services/files.md#MAX_FILE_SIZE_XFTP public let MAX_FILE_SIZE_XFTP: Int64 = 1_073_741_824 // 1GB -// raised XFTP receive limits for files from a sender with a supporter badge (also investor) or a legend badge +// raised XFTP limits for a user with a supporter badge (also investor) or a legend badge public let MAX_FILE_SIZE_XFTP_SUPPORTER: Int64 = 2_147_483_648 // 2GB public let MAX_FILE_SIZE_XFTP_LEGEND: Int64 = 5_368_709_120 // 5GB +// a badge raises the limit at send for this long after its expiry, shorter than the receiver's grace +public let BADGE_SND_GRACE_INTERVAL = TimeInterval(86400) + public let MAX_FILE_SIZE_LOCAL: Int64 = Int64.max public let MAX_FILE_SIZE_SMP: Int64 = 8000000 @@ -277,29 +280,63 @@ public func cleanupFile(_ aChatItem: AChatItem) { } } +public func badgeMaxFileSize(_ badge: LocalBadge) -> Int64 { + badge.badge.badgeType == .legend ? MAX_FILE_SIZE_XFTP_LEGEND : MAX_FILE_SIZE_XFTP_SUPPORTER +} + +// a badge raises the limit at send until one day past its expiry, as the core applies it +public func badgeActiveForSend(_ badge: LocalBadge) -> Bool { + badge.status == .active && badge.badge.badgeExpiry.addingTimeInterval(BADGE_SND_GRACE_INTERVAL) >= Date.now +} + +// in incognito chats and above the largest badge's limit no badge applies, so badgeIssue is not used +public func largeFileMessage(_ fileSize: Int64, incognito: Bool = false, badgeIssue: String = "") -> String { + if incognito { + return String.localizedStringWithFormat( + NSLocalizedString("Files larger than %@ cannot be sent in incognito chats.", comment: "file alert"), + ByteCountFormatter.string(fromByteCount: MAX_FILE_SIZE_XFTP, countStyle: .binary) + ) + } + if fileSize > MAX_FILE_SIZE_XFTP_LEGEND { + return String.localizedStringWithFormat( + NSLocalizedString("Maximum supported file size is %1$@, with a %2$@.", comment: "file alert"), + ByteCountFormatter.string(fromByteCount: MAX_FILE_SIZE_XFTP_LEGEND, countStyle: .binary), + NSLocalizedString("legend badge", comment: "badge required to send a large file") + ) + } + let supporter = fileSize <= MAX_FILE_SIZE_XFTP_SUPPORTER + let message = String.localizedStringWithFormat( + NSLocalizedString("You need a %1$@ to send files larger than %2$@.", comment: "file alert"), + supporter + ? NSLocalizedString("supporter badge", comment: "badge required to send a large file") + : NSLocalizedString("legend badge", comment: "badge required to send a large file"), + ByteCountFormatter.string(fromByteCount: supporter ? MAX_FILE_SIZE_XFTP : MAX_FILE_SIZE_XFTP_SUPPORTER, countStyle: .binary) + ) + return badgeIssue.isEmpty ? message : message + " " + badgeIssue +} + +// the badge lapsed, and while active it would have allowed this file +public func expiredBadgeReason(_ fileSize: Int64, _ senderProfile: LocalProfile?) -> String { + if let badge = senderProfile?.localBadge, !badgeActiveForSend(badge), badgeMaxFileSize(badge) >= fileSize { + NSLocalizedString("Your badge expired.", comment: "file alert") + } else { + "" + } +} + public func getMaxFileSize(_ fileProtocol: FileProtocol, _ senderProfile: LocalProfile? = nil) -> Int64 { switch fileProtocol { case .smp: MAX_FILE_SIZE_SMP case .local: MAX_FILE_SIZE_LOCAL - // a sender's active badge raises the XFTP limit: legend to 5GB, any other (supporter/investor) to 2GB case .xftp: - if let badge = senderProfile?.localBadge, badge.status == .active { - badge.badge.badgeType == .legend ? MAX_FILE_SIZE_XFTP_LEGEND : MAX_FILE_SIZE_XFTP_SUPPORTER + if let badge = senderProfile?.localBadge, badgeActiveForSend(badge) { + badgeMaxFileSize(badge) } else { MAX_FILE_SIZE_XFTP } } } -// the profile of whoever sent a received chat item - the group member, or the direct chat's contact -public func ciSenderProfile(_ ci: ChatItem, _ chatInfo: ChatInfo) -> LocalProfile? { - switch (ci.chatDir, chatInfo) { - case let (.groupRcv(groupMember), _): return groupMember.memberProfile - case let (.directRcv, .direct(contact)): return contact.profile - default: return nil - } -} - public struct RuntimeError: Error { let message: String diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt index 3ba5bcf6ad..5e5a91f6a7 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt @@ -4245,6 +4245,13 @@ enum class MREmojiChar(val value: String) { @SerialName("✅") Check("✅"); } +// set by the core when the file is above the size the sender's badge allows; badgeStatus is null when no proof was sent +@Serializable +data class FileProhibited( + val maxSize: Long, + val badgeStatus: BadgeStatus? = null +) + @Serializable data class CIFile( val fileId: Long, @@ -4253,7 +4260,8 @@ data class CIFile( val fileSource: CryptoFile? = null, val fileStatus: CIFileStatus, val fileProtocol: FileProtocol, - val fileExpires: Instant? = null + val fileExpires: Instant? = null, + val fileProhibited: FileProhibited? = null ) { val expired: Boolean = fileExpires != null && fileExpires < Clock.System.now() diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ComposeView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ComposeView.kt index 6bfbad52ef..a03cb63525 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ComposeView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ComposeView.kt @@ -115,7 +115,8 @@ data class ComposeState( val useLinkPreviews: Boolean, val mentions: MentionedMembers = emptyMap(), // the max file size the user may attach, raised by their active badge unless the chat is incognito; kept in sync on chat switch - val maxFileSize: Long = getMaxFileSize(FileProtocol.XFTP) + val maxFileSize: Long = getMaxFileSize(FileProtocol.XFTP), + val sendIncognito: Boolean = false ) { constructor(editingItem: ChatItem, liveMessage: LiveMessage? = null, useLinkPreviews: Boolean): this( ComposeMessage( @@ -331,7 +332,7 @@ fun MutableState.processPickedFile(uri: URI?, text: String?) { } else if (fileSize != null) { AlertManager.shared.showAlertMsg( generalGetString(MR.strings.large_file), - String.format(generalGetString(MR.strings.maximum_supported_file_size), formatBytes(maxFileSize)) + largeFileMessage(fileSize, value.sendIncognito, expiredBadgeReason(fileSize, chatModel.currentUser.value?.profile)) ) } else { showWrongUriAlert() @@ -360,7 +361,7 @@ suspend fun MutableState.processPickedMedia(uris: List, text: bitmap = null AlertManager.shared.showAlertMsg( generalGetString(MR.strings.large_file), - String.format(generalGetString(MR.strings.maximum_supported_file_size), formatBytes(maxFileSize)) + largeFileMessage(fileSize ?: 0, value.sendIncognito, expiredBadgeReason(fileSize ?: 0, chatModel.currentUser.value?.profile)) ) null } @@ -1420,7 +1421,10 @@ fun ComposeView( // keep the attach size limit in sync with the chat: the user's active badge raises it, but not in incognito chats where no badge is presented LaunchedEffect(chat.chatInfo) { val incognito = if (chat.chatInfo.profileChangeProhibited) chat.chatInfo.incognito else chatModel.controller.appPrefs.incognito.get() - composeState.value = composeState.value.copy(maxFileSize = getMaxFileSize(FileProtocol.XFTP, if (incognito) null else chatModel.currentUser.value?.profile)) + composeState.value = composeState.value.copy( + maxFileSize = getMaxFileSize(FileProtocol.XFTP, if (incognito) null else chatModel.currentUser.value?.profile), + sendIncognito = incognito + ) } if (appPlatform.isDesktop) { // the same ComposeView is reused when switching chats, so `chat` captured by onDispose would be the chat opened first, not the current one diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/CIFileView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/CIFileView.kt index 8d107ae32a..fb4a2cdaea 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/CIFileView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/CIFileView.kt @@ -38,7 +38,6 @@ fun CIFileView( showTimestamp: Boolean, showMenu: MutableState, smallView: Boolean = false, - senderProfile: LocalProfile?, receiveFile: (Long) -> Unit ) { val saveFileLauncher = rememberSaveFileLauncher(ciFile = file) @@ -77,13 +76,11 @@ fun CIFileView( if (file != null) { when { file.fileStatus is CIFileStatus.RcvInvitation || file.fileStatus is CIFileStatus.RcvAborted -> { - if (fileSizeValid(file, senderProfile)) { - receiveFile(file.fileId) + val prohibited = file.fileProhibited + if (prohibited != null) { + showProhibitedFileAlert(file, prohibited) } else { - AlertManager.shared.showAlertMsg( - generalGetString(MR.strings.large_file), - String.format(generalGetString(MR.strings.contact_sent_large_file), formatBytes(getMaxFileSize(file.fileProtocol, senderProfile))) - ) + receiveFile(file.fileId) } } file.fileStatus is CIFileStatus.RcvAccepted -> @@ -157,7 +154,7 @@ fun CIFileView( is CIFileStatus.SndError -> fileIcon(innerIcon = painterResource(MR.images.ic_close)) is CIFileStatus.SndWarning -> fileIcon(innerIcon = painterResource(MR.images.ic_warning_filled)) is CIFileStatus.RcvInvitation -> - if (!fileSizeValid(file, senderProfile)) + if (!fileSizeValid(file)) fileIcon(innerIcon = painterResource(MR.images.ic_priority_high), color = WarningOrange) else if (file.expired) fileIcon(innerIcon = painterResource(MR.images.ic_close)) @@ -239,9 +236,21 @@ fun CIFileView( } } -// whether a received file is within the size we accept from its sender -fun fileSizeValid(file: CIFile, senderProfile: LocalProfile?): Boolean = - file.fileSize <= getMaxFileSize(file.fileProtocol, senderProfile) +// the core decides whether a received file is above the size the sender's badge allows +fun fileSizeValid(file: CIFile): Boolean = file.fileProhibited == null + +fun showProhibitedFileAlert(file: CIFile, prohibited: FileProhibited) { + val badgeIssue = when (prohibited.badgeStatus) { + null, BadgeStatus.Active -> "" + BadgeStatus.Expired, BadgeStatus.ExpiredOld -> generalGetString(MR.strings.badge_expired) + BadgeStatus.Failed -> generalGetString(MR.strings.badge_verification_failed) + BadgeStatus.UnknownKey -> generalGetString(MR.strings.badge_no_key) + } + AlertManager.shared.showAlertMsg( + generalGetString(MR.strings.large_file), + largeFileMessage(file.fileSize, badgeIssue = badgeIssue) + ) +} fun showFileErrorAlert(err: FileError, file: CIFile? = null, temporary: Boolean = false) { val fileExpires = file?.fileExpires diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/CIImageView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/CIImageView.kt index fe6a1bf4b7..61b6e450c5 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/CIImageView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/CIImageView.kt @@ -38,7 +38,6 @@ fun CIImageView( imageProvider: () -> ImageGalleryProvider, showMenu: MutableState, smallView: Boolean, - senderProfile: LocalProfile?, receiveFile: (Long) -> Unit ) { val blurred = remember { mutableStateOf(appPrefs.privacyMediaBlurRadius.get() > 0) } @@ -84,7 +83,7 @@ fun CIImageView( is CIFileStatus.SndError -> fileIcon(painterResource(MR.images.ic_close), MR.strings.icon_descr_file) is CIFileStatus.SndWarning -> fileIcon(painterResource(MR.images.ic_warning_filled), MR.strings.icon_descr_file) is CIFileStatus.RcvInvitation -> - if (file.expired && fileSizeValid(file, senderProfile)) + if (file.expired && fileSizeValid(file)) fileIcon(painterResource(MR.images.ic_close), MR.strings.icon_descr_file) else fileIcon(painterResource(MR.images.ic_arrow_downward), MR.strings.icon_descr_asked_to_receive) @@ -220,13 +219,10 @@ fun CIImageView( if (file != null) { when { file.fileStatus is CIFileStatus.RcvInvitation || file.fileStatus is CIFileStatus.RcvAborted -> - if (fileSizeValid(file, senderProfile)) { - receiveFile(file.fileId) + if (file.fileProhibited != null) { + showProhibitedFileAlert(file, file.fileProhibited) } else { - AlertManager.shared.showAlertMsg( - generalGetString(MR.strings.large_file), - String.format(generalGetString(MR.strings.contact_sent_large_file), formatBytes(getMaxFileSize(file.fileProtocol, senderProfile))) - ) + receiveFile(file.fileId) } file.fileStatus is CIFileStatus.RcvAccepted -> when (file.fileProtocol) { diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/CIVideoView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/CIVideoView.kt index 20d9d4417a..556b386900 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/CIVideoView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/CIVideoView.kt @@ -35,7 +35,6 @@ fun CIVideoView( imageProvider: () -> ImageGalleryProvider, showMenu: MutableState, smallView: Boolean = false, - senderProfile: LocalProfile?, receiveFile: (Long) -> Unit ) { val blurred = remember { mutableStateOf(appPrefs.privacyMediaBlurRadius.get() > 0) } @@ -99,7 +98,7 @@ fun CIVideoView( if (file != null) { when (file.fileStatus) { CIFileStatus.RcvInvitation, CIFileStatus.RcvAborted -> - receiveFileIfValidSize(file, senderProfile, receiveFile) + receiveFileIfValidSize(file, receiveFile) CIFileStatus.RcvAccepted -> when (file.fileProtocol) { FileProtocol.XFTP -> @@ -129,16 +128,16 @@ fun CIVideoView( DurationProgress(file, remember { mutableStateOf(false) }, remember { mutableStateOf(duration * 1000L) }, remember { mutableStateOf(0L) }/*, soundEnabled*/) } if (showDownloadButton(file?.fileStatus) && !blurred.value && file != null) { - PlayButton(error = false, sizeMultiplier, { showMenu.value = true }) { receiveFileIfValidSize(file, senderProfile, receiveFile) } + PlayButton(error = false, sizeMultiplier, { showMenu.value = true }) { receiveFileIfValidSize(file, receiveFile) } } } } // Do not show download icon when the view is blurred if (!smallView && (!showDownloadButton(file?.fileStatus) || !blurred.value)) { - fileStatusIcon(file, false, senderProfile) + fileStatusIcon(file, false) } else if (smallView && file?.showStatusIconInSmallView == true) { Box(Modifier.align(Alignment.Center)) { - fileStatusIcon(file, true, senderProfile) + fileStatusIcon(file, true) } } } @@ -486,7 +485,7 @@ private fun progressCircle(progress: Long, total: Long) { } @Composable -private fun fileStatusIcon(file: CIFile?, smallView: Boolean, senderProfile: LocalProfile?) { +private fun fileStatusIcon(file: CIFile?, smallView: Boolean) { if (file != null) { Box( Modifier @@ -526,7 +525,7 @@ private fun fileStatusIcon(file: CIFile?, smallView: Boolean, senderProfile: Loc } ) is CIFileStatus.RcvInvitation -> - if (file.expired && fileSizeValid(file, senderProfile)) + if (file.expired && fileSizeValid(file)) fileIcon(painterResource(MR.images.ic_close), MR.strings.icon_descr_file) else fileIcon(painterResource(MR.images.ic_arrow_downward), MR.strings.icon_descr_video_asked_to_receive) @@ -565,14 +564,11 @@ private fun fileStatusIcon(file: CIFile?, smallView: Boolean, senderProfile: Loc private fun showDownloadButton(status: CIFileStatus?): Boolean = status is CIFileStatus.RcvInvitation || status is CIFileStatus.RcvAborted -private fun receiveFileIfValidSize(file: CIFile, senderProfile: LocalProfile?, receiveFile: (Long) -> Unit) { - if (fileSizeValid(file, senderProfile)) { - receiveFile(file.fileId) +private fun receiveFileIfValidSize(file: CIFile, receiveFile: (Long) -> Unit) { + if (file.fileProhibited != null) { + showProhibitedFileAlert(file, file.fileProhibited) } else { - AlertManager.shared.showAlertMsg( - generalGetString(MR.strings.large_file), - String.format(generalGetString(MR.strings.contact_sent_large_file), formatBytes(getMaxFileSize(file.fileProtocol, senderProfile))) - ) + receiveFile(file.fileId) } } diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/ChatItemView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/ChatItemView.kt index bab6576646..c38bc1fe08 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/ChatItemView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/ChatItemView.kt @@ -449,7 +449,7 @@ fun ChatItemView( } if (cItem.file != null && (getLoadedFilePath(cItem.file) != null || (chatModel.connectedToRemote() && cachedRemoteReqs[cItem.file.fileSource] != false && cItem.file.loaded))) { SaveContentItemAction(cItem, saveFileLauncher, showMenu) - } else if (cItem.file != null && cItem.file.fileStatus is CIFileStatus.RcvInvitation && fileSizeValid(cItem.file, ciSenderProfile(cItem, chat.chatInfo))) { + } else if (cItem.file != null && cItem.file.fileStatus is CIFileStatus.RcvInvitation && fileSizeValid(cItem.file)) { ItemAction(stringResource(MR.strings.download_file), painterResource(MR.images.ic_arrow_downward), onClick = { withBGApi { Log.d(TAG, "ChatItemView downloadFileAction") diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/FramedItemView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/FramedItemView.kt index c919859b1f..68aec09456 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/FramedItemView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/FramedItemView.kt @@ -219,7 +219,7 @@ fun FramedItemView( @Composable fun ciFileView(ci: ChatItem, text: String) { - CIFileView(ci.file, ci.meta, chatTTL, showViaProxy, showTimestamp, showMenu, false, ciSenderProfile(ci, chatInfo), receiveFile) + CIFileView(ci.file, ci.meta, chatTTL, showViaProxy, showTimestamp, showMenu, false, receiveFile) if (text != "" || ci.meta.isLive) { CIMarkdownText(chatsCtx, ci, chat, chatTTL, linkMode = linkMode, uriHandler, showViaProxy = showViaProxy, showTimestamp = showTimestamp) } @@ -364,7 +364,7 @@ fun FramedItemView( } else { when (val mc = ci.content.msgContent) { is MsgContent.MCImage -> { - CIImageView(image = mc.image, file = ci.file, imageProvider ?: return@PriorityLayout, showMenu, false, ciSenderProfile(ci, chatInfo), receiveFile) + CIImageView(image = mc.image, file = ci.file, imageProvider ?: return@PriorityLayout, showMenu, false, receiveFile) if (mc.text == "" && !ci.meta.isLive) { metaColor = Color.White } else { @@ -372,7 +372,7 @@ fun FramedItemView( } } is MsgContent.MCVideo -> { - CIVideoView(image = mc.image, mc.duration, file = ci.file, imageProvider ?: return@PriorityLayout, showMenu, smallView = false, senderProfile = ciSenderProfile(ci, chatInfo), receiveFile = receiveFile) + CIVideoView(image = mc.image, mc.duration, file = ci.file, imageProvider ?: return@PriorityLayout, showMenu, smallView = false, receiveFile = receiveFile) if (mc.text == "" && !ci.meta.isLive) { metaColor = Color.White } else { diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatPreviewView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatPreviewView.kt index fbc4c7e336..e6046d6c00 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatPreviewView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatPreviewView.kt @@ -324,13 +324,13 @@ fun ChatPreviewView( } } is MsgContent.MCImage -> SmallContentPreview { - CIImageView(image = mc.image, file = ci.file, provider, remember { mutableStateOf(false) }, smallView = true, senderProfile = ciSenderProfile(ci, chat.chatInfo)) { + CIImageView(image = mc.image, file = ci.file, provider, remember { mutableStateOf(false) }, smallView = true) { val user = chatModel.currentUser.value ?: return@CIImageView withBGApi { chatModel.controller.receiveFile(chat.remoteHostId, user, it) } } } is MsgContent.MCVideo -> SmallContentPreview { - CIVideoView(image = mc.image, mc.duration, file = ci.file, provider, remember { mutableStateOf(false) }, smallView = true, senderProfile = ciSenderProfile(ci, chat.chatInfo)) { + CIVideoView(image = mc.image, mc.duration, file = ci.file, provider, remember { mutableStateOf(false) }, smallView = true) { val user = chatModel.currentUser.value ?: return@CIVideoView withBGApi { chatModel.controller.receiveFile(chat.remoteHostId, user, it) } } @@ -342,7 +342,7 @@ fun ChatPreviewView( } } is MsgContent.MCFile -> SmallContentPreviewFile { - CIFileView(ci.file, ci.meta, cInfo.timedMessagesTTL, showViaProxy = false, showTimestamp = true, showMenu = remember { mutableStateOf(false) }, smallView = true, senderProfile = ciSenderProfile(ci, chat.chatInfo)) { + CIFileView(ci.file, ci.meta, cInfo.timedMessagesTTL, showViaProxy = false, showTimestamp = true, showMenu = remember { mutableStateOf(false) }, smallView = true) { val user = chatModel.currentUser.value ?: return@CIFileView withBGApi { chatModel.controller.receiveFile(chat.remoteHostId, user, it) } } diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/Utils.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/Utils.kt index 3128c63234..2d6e70eae9 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/Utils.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/Utils.kt @@ -18,6 +18,7 @@ import com.charleskorn.kaml.decodeFromStream import dev.icerock.moko.resources.StringResource import kotlinx.coroutines.* import kotlinx.coroutines.flow.* +import kotlinx.datetime.Clock import kotlinx.serialization.encodeToString import java.io.* import java.net.URI @@ -27,6 +28,8 @@ import java.text.SimpleDateFormat import java.util.* import java.util.concurrent.Executors import kotlin.math.* +import kotlin.time.Duration +import kotlin.time.Duration.Companion.days private val singleThreadDispatcher = Executors.newSingleThreadExecutor().asCoroutineDispatcher() @@ -123,10 +126,13 @@ const val MAX_FILE_SIZE_SMP: Long = 8000000 const val MAX_FILE_SIZE_XFTP: Long = 1_073_741_824 // 1GB -// raised XFTP receive limits for files from a sender with a supporter badge (also investor) or a legend badge +// raised XFTP limits for a user with a supporter badge (also investor) or a legend badge const val MAX_FILE_SIZE_XFTP_SUPPORTER: Long = 2_147_483_648 // 2GB const val MAX_FILE_SIZE_XFTP_LEGEND: Long = 5_368_709_120 // 5GB +// a badge raises the limit at send for this long after its expiry, shorter than the receiver's grace +val BADGE_SND_GRACE_INTERVAL: Duration = 1.days + const val MAX_FILE_SIZE_LOCAL: Long = Long.MAX_VALUE expect fun getAppFileUri(fileName: String): URI @@ -474,25 +480,46 @@ fun directoryFileCountAndSize(dir: String): Pair { // count, size in return fileCount to bytes } +fun badgeMaxFileSize(badge: LocalBadge): Long = + if (badge.badge.badgeType == BadgeType.Legend) MAX_FILE_SIZE_XFTP_LEGEND else MAX_FILE_SIZE_XFTP_SUPPORTER + +// a badge raises the limit at send until one day past its expiry, as the core applies it +fun badgeActiveForSend(badge: LocalBadge): Boolean = + badge.status == BadgeStatus.Active && badge.badge.badgeExpiry + BADGE_SND_GRACE_INTERVAL >= Clock.System.now() + +// in incognito chats and above the largest badge's limit no badge applies, so badgeIssue is not used +fun largeFileMessage(fileSize: Long, incognito: Boolean = false, badgeIssue: String = ""): String = + if (incognito) { + String.format(generalGetString(MR.strings.large_file_incognito), formatBytes(MAX_FILE_SIZE_XFTP)) + } else if (fileSize > MAX_FILE_SIZE_XFTP_LEGEND) { + String.format(generalGetString(MR.strings.max_file_size_with_badge), formatBytes(MAX_FILE_SIZE_XFTP_LEGEND), generalGetString(MR.strings.legend_badge)) + } else { + val supporter = fileSize <= MAX_FILE_SIZE_XFTP_SUPPORTER + val message = String.format( + generalGetString(MR.strings.large_file_requires_badge), + generalGetString(if (supporter) MR.strings.supporter_badge else MR.strings.legend_badge), + formatBytes(if (supporter) MAX_FILE_SIZE_XFTP else MAX_FILE_SIZE_XFTP_SUPPORTER) + ) + if (badgeIssue.isEmpty()) message else message + " " + badgeIssue + } + +// the badge lapsed, and while active it would have allowed this file +fun expiredBadgeReason(fileSize: Long, senderProfile: LocalProfile?): String { + val badge = senderProfile?.localBadge + return if (badge != null && !badgeActiveForSend(badge) && badgeMaxFileSize(badge) >= fileSize) { + generalGetString(MR.strings.your_badge_expired) + } else "" +} + fun getMaxFileSize(fileProtocol: FileProtocol, senderProfile: LocalProfile? = null): Long = when (fileProtocol) { FileProtocol.SMP -> MAX_FILE_SIZE_SMP FileProtocol.LOCAL -> MAX_FILE_SIZE_LOCAL - // a sender's active badge raises the XFTP limit: legend to 5GB, any other (supporter/investor) to 2GB FileProtocol.XFTP -> { val badge = senderProfile?.localBadge - if (badge == null || badge.status != BadgeStatus.Active) MAX_FILE_SIZE_XFTP - else if (badge.badge.badgeType == BadgeType.Legend) MAX_FILE_SIZE_XFTP_LEGEND - else MAX_FILE_SIZE_XFTP_SUPPORTER + if (badge != null && badgeActiveForSend(badge)) badgeMaxFileSize(badge) else MAX_FILE_SIZE_XFTP } } -// the profile of whoever sent a received chat item - the group member, or the direct chat's contact -fun ciSenderProfile(ci: ChatItem, chatInfo: ChatInfo): LocalProfile? = when (val dir = ci.chatDir) { - is CIDirection.GroupRcv -> dir.groupMember.memberProfile - is CIDirection.DirectRcv -> (chatInfo as? ChatInfo.Direct)?.contact?.profile - else -> null -} - expect suspend fun getBitmapFromVideo(uri: URI, timestamp: Long? = null, random: Boolean = true, withAlertOnException: Boolean = true): VideoPlayerInterface.PreviewAndDuration // Whether the file really contains a video track. Reads container metadata only, without decoding a frame. diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml index 622ff9d9dc..e1aeca46e5 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml @@ -687,6 +687,15 @@ File Large file! Your contact sent a file that is larger than currently supported maximum size (%1$s). + supporter badge + legend badge + You need a %1$s to send files larger than %2$s. + Maximum supported file size is %1$s, with a %2$s. + Contact\'s badge expired. + Contact\'s badge verification failed. + No key to verify contact\'s badge. + Your badge expired. + Files larger than %1$s cannot be sent in incognito chats. Currently maximum supported file size is %1$s. Waiting for file File will be received when your contact completes uploading it. diff --git a/bots/api/TYPES.md b/bots/api/TYPES.md index 6759ff9d35..1fcec37e57 100644 --- a/bots/api/TYPES.md +++ b/bots/api/TYPES.md @@ -87,6 +87,7 @@ This file is generated automatically. - [FileError](#fileerror) - [FileErrorType](#fileerrortype) - [FileInvitation](#fileinvitation) +- [FileProhibited](#fileprohibited) - [FileProtocol](#fileprotocol) - [FileStatus](#filestatus) - [FileTransferMeta](#filetransfermeta) @@ -766,6 +767,7 @@ LocalRcv: - fileStatus: [CIFileStatus](#cifilestatus) - fileProtocol: [FileProtocol](#fileprotocol) - fileExpires: UTCTime? +- fileProhibited: [FileProhibited](#fileprohibited)? --- @@ -2155,6 +2157,16 @@ NO_FILE: - fileConnReq: string? - fileInline: [InlineFileMode](#inlinefilemode)? - fileDescr: [FileDescr](#filedescr)? +- fileBadge: [BadgeProof](#badgeproof)? + + +--- + +## FileProhibited + +**Record type**: +- maxSize: int64 +- badgeStatus: [BadgeStatus](#badgestatus)? --- @@ -3480,6 +3492,7 @@ Cancelled: - fileId: int64 - xftpRcvFile: [XFTPRcvFile](#xftprcvfile)? - fileInvitation: [FileInvitation](#fileinvitation) +- fileProhibited: [FileProhibited](#fileprohibited)? - fileStatus: [RcvFileStatus](#rcvfilestatus) - fileType: [FileType](#filetype) - rcvFileInline: [InlineFileMode](#inlinefilemode)? diff --git a/bots/src/API/Docs/Types.hs b/bots/src/API/Docs/Types.hs index 89fd4c263c..06d3903600 100644 --- a/bots/src/API/Docs/Types.hs +++ b/bots/src/API/Docs/Types.hs @@ -274,6 +274,7 @@ chatTypesDocsData = (sti @FileError, STUnion, "FileErr", [], "", ""), (sti @FileErrorType, STUnion, "", [], "", ""), (sti @FileInvitation, STRecord, "", [], "", ""), + (sti @FileProhibited, STRecord, "", [], "", ""), (sti @FileProtocol, STEnum' (consLower "FP"), "", [], "", ""), (sti @FileStatus, STEnum, "FS", [], "", ""), (sti @FileTransferMeta, STRecord, "", [], "", ""), @@ -507,6 +508,7 @@ deriving instance Generic FileDescr deriving instance Generic FileError deriving instance Generic FileErrorType deriving instance Generic FileInvitation +deriving instance Generic FileProhibited deriving instance Generic FileProtocol deriving instance Generic FileStatus deriving instance Generic FileTransferMeta diff --git a/cabal.project b/cabal.project index 9c55ad7677..7e6b8a2a01 100644 --- a/cabal.project +++ b/cabal.project @@ -21,7 +21,7 @@ constraints: zip +disable-bzip2 +disable-zstd source-repository-package type: git location: https://github.com/simplex-chat/simplexmq.git - tag: 2d4b40e10475fd2d09c76c590df89f384ac45c85 + tag: a00e225d74dfa03aba2293530416f69c55373bed source-repository-package type: git diff --git a/packages/simplex-chat-client/types/typescript/src/types.ts b/packages/simplex-chat-client/types/typescript/src/types.ts index 19f2d5dca3..eff59d5c8f 100644 --- a/packages/simplex-chat-client/types/typescript/src/types.ts +++ b/packages/simplex-chat-client/types/typescript/src/types.ts @@ -699,6 +699,7 @@ export interface CIFile { fileStatus: CIFileStatus fileProtocol: FileProtocol fileExpires?: string // ISO-8601 timestamp + fileProhibited?: FileProhibited } export type CIFileStatus = @@ -2440,6 +2441,12 @@ export interface FileInvitation { fileConnReq?: string fileInline?: InlineFileMode fileDescr?: FileDescr + fileBadge?: BadgeProof +} + +export interface FileProhibited { + maxSize: number // int64 + badgeStatus?: BadgeStatus } export enum FileProtocol { @@ -3801,6 +3808,7 @@ export interface RcvFileTransfer { fileId: number // int64 xftpRcvFile?: XFTPRcvFile fileInvitation: FileInvitation + fileProhibited?: FileProhibited fileStatus: RcvFileStatus fileType: FileType rcvFileInline?: InlineFileMode diff --git a/packages/simplex-chat-python/src/simplex_chat/types/_types.py b/packages/simplex-chat-python/src/simplex_chat/types/_types.py index c6870abb37..15cdc842a0 100644 --- a/packages/simplex-chat-python/src/simplex_chat/types/_types.py +++ b/packages/simplex-chat-python/src/simplex_chat/types/_types.py @@ -488,6 +488,7 @@ class CIFile(TypedDict): fileStatus: "CIFileStatus" fileProtocol: "FileProtocol" fileExpires: NotRequired[str] # ISO-8601 timestamp + fileProhibited: NotRequired["FileProhibited"] class CIFileStatus_sndStored(TypedDict): type: Literal["sndStored"] @@ -1725,6 +1726,11 @@ class FileInvitation(TypedDict): fileConnReq: NotRequired[str] fileInline: NotRequired["InlineFileMode"] fileDescr: NotRequired["FileDescr"] + fileBadge: NotRequired["BadgeProof"] + +class FileProhibited(TypedDict): + maxSize: int # int64 + badgeStatus: NotRequired["BadgeStatus"] FileProtocol = Literal["SMP", "XFTP", "LOCAL"] @@ -2670,6 +2676,7 @@ class RcvFileTransfer(TypedDict): fileId: int # int64 xftpRcvFile: NotRequired["XFTPRcvFile"] fileInvitation: "FileInvitation" + fileProhibited: NotRequired["FileProhibited"] fileStatus: "RcvFileStatus" fileType: "FileType" rcvFileInline: NotRequired["InlineFileMode"] diff --git a/plans/2026-09-04-badge-binding-and-file-limits.md b/plans/2026-09-04-badge-binding-and-file-limits.md new file mode 100644 index 0000000000..72890d8ac7 --- /dev/null +++ b/plans/2026-09-04-badge-binding-and-file-limits.md @@ -0,0 +1,264 @@ +# Badge proofs bound to the conversation, and file size limits decided in core + +**Date:** 2026-09-04 +**Branch:** ep/p2p-group-signing. The work depends on member keys and signed profile messages, which this branch adds. + +## Summary + +A badge is a credential issued to a user who supports SimpleX Chat. The user shows it to others by putting a proof in their profile. This plan binds every proof to the place where it is shown: a proof in a group profile to the sender's identity in that group, a proof attached to a file to the conversation and to that file. Verification checks the binding. + +The same badge raises the size limit for files the user sends. Today each app decides whether a received file is within the limit, using the sender's profile as it is at the moment of display. After this plan, the core library decides once, when the file invitation arrives, from a proof in the invitation; stores the decision with the file; and the apps read it. A second proof arrives with the file description, the record that says where the file's chunks are stored, and is checked before the download starts. + +The changes: + +1. Three new presentation headers: one for a profile shown in a chat, one for a file invitation, one for a file description. The random header stays valid where there is no chat yet, and for the profile in direct chats until the direct binding reaches the handshake. +2. In p2p groups a badge is accepted only from a message signed by the member. The member connection handshake is signed in both directions, and the profile sent in it is stored, so the badge appears when two members connect. +3. In channels a badge is accepted from any profile message, because member keys there come from the roster, the member list signed by the channel owner. +4. Files above the default limit include a proof in the invitation and a proof in the description, in every chat type. The core library verifies both. The decision is stored on the file and shown by the apps from one field. +5. Forwarding a file above the forwarder's limit is refused with an alert before the forwarding sheet opens, and again, for the chosen destination, before anything is uploaded. +6. A received file keeps its two proofs, so a file re-sent to a new member as part of history keeps them; the sender's own files get fresh proofs from the credential. + +Two new columns on `files`, and a new table `file_badge_proofs` holding the invitation proof and the description proof of a file, kept for history. One new function in simplexmq, the hash of the fields shared by all descriptions of one upload. + +## Terms + +**Core library.** The Haskell library shared by all apps. The apps display what it decides. + +**simplexmq.** The library below the core library that transfers messages and files. The core library calls it and never changes its formats without a change there. + +**P2p group.** A group whose members connect to each other directly. A new member is introduced to each existing member by the admin who admitted them, and until the two connect, the new member's messages reach the existing member forwarded by an admin. + +**Channel.** A group whose messages go through relay servers. Members do not connect to each other. The channel owner signs the member list, the roster, which establishes each member's key. + +**Introduction.** The messages by which an admin tells one member about another: `XGrpMemNew` to the existing members, `XGrpMemIntro` and `XGrpMemFwd` to the two members being connected. They include the member's profile and public key. + +**Handshake.** The exchange when two members connect directly. Each side sends `XGrpMemInfo` with its group profile. + +**File description.** The record the sender sends after an upload completes. It lists where each chunk of the file is stored and the keys to download and decrypt them. A file cannot be downloaded without it. It is sent in parts, in `XMsgFileDescr` messages. + +**History.** The recent items the host sends to a member who has just joined. A file item is re-sent as a new invitation together with its description. + +**Badge credential.** The secret record issued to the user: an issuer key index, a master key, a BBS signature, and the badge information (type, expiry, extra). Stored in the user's own profile row. Type `BadgeCredential` in `Badges.hs`. + +**Badge proof.** A BBS proof generated from the credential for one presentation. It discloses the badge information and hides the master key. Different proofs from one credential cannot be linked. Type `BadgeProof`. In a profile it is sent as `Profile.badge`. + +**Badge status.** What a receiver concludes about a proof: `BadgeStatus` (`Badges.hs:114`) — `BSActive`, `BSExpired`, `BSExpiredOld`, `BSFailed`, `BSUnknownKey` — computed by `mkBadgeStatus`, which treats a badge as active for seven days past its expiry. + +**Presentation header.** A byte string that is an input to proof generation and to proof verification. A proof verifies only with the header it was generated with. Type `ProofPresHeader` in `Badges.hs`. `PHTest` is a random nonce. + +**Chat binding.** The byte string that identifies the sender in one conversation, produced by `encodeChatBinding` (`Protocol.hs:444`). Message signatures and shared contact cards are computed over it. For a direct chat it is `encodeChatBinding CBDirect adHash`, where `adHash` is the hash of the connection's ratchet data, which both sides obtain with `getConnectionRatchetAdHash`. For a p2p group it is `encodeChatBinding CBGroup (smpEncode (memberId, memberKey))`. For a channel it is `encodeChatBinding CBGroup (smpEncode (publicGroupId, memberId))`. `groupBindingData` (`Internal.hs:2261`) computes the inner part for groups. + +**Member key.** The Ed25519 key a member holds for one group. It is created when first needed — at group creation on this branch, or by `createUserMemberKey` before the first signed message — and the public key is sent in introductions and in `XInfo`. + +**Default limit.** `maxFileSize`, 1GB. A supporter badge raises it to 2GB, a legend badge to 5GB (`maxXFTPFileSize`, `Badges.hs:201`). The three sizes are `FileSizeLimits` in `ChatConfig`, `defaultFileSizeLimits` in production and lowered in tests. The default limit is also the size above which a proof is required. + +## 1. Presentation headers + +File: `src/Simplex/Chat/Badges.hs`. + +Extend `ProofPresHeader`: + +```haskell +data ProofPresHeader + = PHTest ByteString + | PHChat ByteString + | PHFileInv ByteString String Integer + | PHFileDescr ByteString String Integer ByteString (Maybe UTCTime) + | PHUnknown Char ByteString +``` + +- `PHChat` holds the chat binding. +- `PHFileInv` holds the chat binding and the file size from the invitation. +- `PHFileDescr` holds the same two values, then the shared description hash (section 8) and the file expiration. + +The file name is not part of either header: `validateFileInvitation` replaces it with a name valid on the local file system, and history re-sends the stored name. + +One constructor serves every chat type, because the chat binding already encodes the type of chat in its first byte. Each constructor gets a tag character in `ProofPresHeaderTag` and an encoding in the `StrEncoding` instance, in the same style as `PHTest`. The file expiration is optional, because a server may grant none; it is encoded as `strEncode` of the time, or one fixed byte when absent. The badge's own expiry is a time and is encoded with `strEncode` in the disclosed messages (`badgeInfoMessages`, `Badges.hs:296`). + +`verifyBadgeWith` today verifies a proof with whatever header the proof contains. After this change the receiver first checks that the header names the sender as the receiver knows them, and only then runs BBS verification with that header. `proofPresHeaderAccepted` is removed. What the receiver knows is already held by existing types, so no new type is added: + +- A contact request, link data, and the profile in a direct chat: the header must be `PHTest`. +- A file in a direct chat: the receiver has the contact's connection and obtains its ratchet hash from the agent, as `newContentMessage` does for a contact card (`Subscriber.hs:1883`). The binding in the header must equal `encodeChatBinding CBDirect adHash`. +- A profile or a file in a group: the receiver has the `GroupInfo` and the sender's `GroupMember`. The binding in the header must equal `groupBindingData` for that member — for a channel the group's public id and the member id; for a p2p group the member id and a key that passes the key check. + +**The key check.** A p2p binding contains the sender's member key. The receiver may know that member's key from the introduction or from a signed message, or may not know it yet. If the receiver knows a key and it differs from the key in the header, the proof fails. Otherwise the key in the header is used for this verification and never stored; keys are stored only by the introduction and by `storeMemberKey`. + +The file headers are checked the same way and then further: `PHFileInv` must also name the file size as received; `PHFileDescr` must also hold the hash of the received description and the expiration received with it. + +`PHUnknown` fails every check. A proof from a released client, which presents `PHTest` in groups, fails in groups; no badge has been issued yet, so nothing in use is affected. A released client that receives one of the new headers verifies it, because its `proofPresHeaderAccepted` admits unknown tags and BBS verification runs with the header bytes as sent. No protocol version change is needed. + +`groupBindingData` moves from `Internal.hs` to `Protocol.hs`, beside `encodeChatBinding`, because the store modules import `Protocol` and not `Internal`. Module order fixes where the check is computed: `Badges.hs` is imported by `Types.hs`, which `Protocol.hs` imports, so the header check in `Badges.hs` takes plain values — the expected binding for a channel or a direct chat, or the member id and the stored key for a p2p group — and the callers in the store compute them from `GroupInfo` and `GroupMember` with `groupBindingData`. `profileBadgeVerified` is in `Types.hs` today and cannot call `groupBindingData`; it moves to `Store/Shared.hs`, beside the other badge-verifying store code. + +`SimplexDomainProof` (`Names.hs:37`) also uses `ProofPresHeader`, as an opaque value. Its verification is unchanged. + +## 2. Presenting the profile badge + +File: `src/Simplex/Chat/Library/Internal.hs`, `presentUserBadge` (`:2178`). + +The function generates the proof for an outgoing profile. It takes a new argument, `Maybe GroupInfo`. With `Nothing` it generates `PHTest` as today. With `Just gInfo` it generates `PHChat` from the group's chat binding and the user's own member key in that group, calling `createUserMemberKey` first when the group has no key yet. + +Call sites that send a profile into a group pass the group: `Commands.hs:3953` (join via group link, the group case), `:4291` (the owner's profile to a relay); `Subscriber.hs:480` (the group case), `:611`, `:799`, `:813`, `:941`, `:1220`, `:3271`; `Internal.hs:2539` (`sendGroupProfileUpdate`). All other call sites send a direct profile and pass `Nothing`. + +The profile in a direct chat keeps `PHTest`; moving it to `PHChat` is a later change. + +## 3. Accepting the profile badge + +A received badge is verified today at seven places in the store layer, each verifying the proof with no knowledge of the sender: `profileBadgeVerified` (`Types.hs:834`), `createContact_` (`Store/Shared.hs:420`), `createJoiningMember` (`Store/Groups.hs:2089`), `createNewMemberProfile_` (`Store/Groups.hs:2459`), two contact request sites (`Store/ContactRequest.hs:169, 236`), and `linkDataBadge` (`Internal.hs:2194`). + +The direct sites keep verifying with `PHTest`. The group sites gain the `GroupInfo` and the sender's `GroupMember` where they do not have them already: `updateMemberProfile` and `updateContactMemberProfile` (`Store/Groups.hs:3430, 3453`) have the member and gain the group, and pass both to `profileBadgeVerified`; `createNewMemberProfile_` gains both from `createNewGroupMember`. A badge from a message that was not verified with the member's key is not verified at all: the caller removes it from the profile before storing, so the store function sees no badge. + +Where a badge is accepted in a p2p group: + +- `xInfoMember` (`Subscriber.hs:2738`): only when the `XInfo` was verified with the member's key. `RcvMessage.msgSigned` is `MSSVerified` when a stored key verified it. When the same message delivers the key, `storeMemberKey` has verified the signature with that key, and the badge is kept on the same basis. Otherwise the badge is removed from the profile before `processMemberProfileUpdate`. +- `xGrpLinkMem` (`:2744`): the host's profile to the joiner, signed on this branch. +- The member connection handshake, section 4. + +Where a badge is dropped in a p2p group: `createJoiningMember` and `createNewMemberProfile_`. The profile is stored without the badge, and the member's badge arrives at the handshake. + +In a channel a member's profile arrives in three ways: in `XMember` when the member joins, which the member signs and the owner verifies with the roster key (`verifyKey`, `Subscriber.hs:1656`) before `createJoiningMember`; in the introduction from a relay, stored by `createNewMemberProfile_`; and in `XInfo`. A badge in any of them is kept and verified, because member keys in a channel are established by the roster, which the owner signs, and `xGrpMemNew` rejects a relay that asserts a different key (`Subscriber.hs:3127-3134`). + +## 4. The member connection handshake + +When two p2p members connect, each sends `XGrpMemInfo` with its group profile. It is sent from two places: the reply on the member connection (`Subscriber.hs:816`) and the join of the member connection and of the direct connection to the same member (`:3272`, both joined with the same message at `:3282-3283`). The four receiving sites — `:590, 620` on the direct connection, `:810, 823` on the member connection — each have a "TODO update member profile" comment. + +- **Sign the join side.** `xGrpMemFwd` sends `encodeConnInfo $ XGrpMemInfo ...` (`:3272`), plain JSON. Change it to `encodeSignedConnInfo` with `groupMsgSigning` when the agreed version is at least `relayWebCapVersion`. The agreed version is computed three lines below, as `chatV`; move that computation above the send. Call `createUserMemberKey` before signing, here and at the reply site, as every other signing site does. +- **Parse the signature on CONF.** The member CONF site parses with `parseChatMessage` (`:745`), which discards the signature. Change it to `parseChatMessage'`, as INFO already does (`:823`). +- **Verify the signature.** At `:810` and `:823` verify the signed `XGrpMemInfo` with the member's stored key. `XGrpMemInfo` names no key, and the handshake follows the introduction, which stored the key. A member with no stored key is not verified. +- **Store the profile.** At `:810` and `:823` call `processMemberProfileUpdate` with the profile, with the badge removed when the signature did not verify. +- `:590` and `:620` stay as they are. The profile there is the same group profile, received over the direct connection to the member. The contact for a member shares the member's profile row (`createIntroToMemberContact`, `Store/Groups.hs:2684-2685`), so storing it once, on the member connection, updates both. + +## 5. The file size limit at send + +`checkSndFile` (`Commands.hs:3973`) compares the file size with the sender's limit and is called from the two content send paths only, with `Nothing` for an incognito send (`:4773`, `:4858`). `APIUploadStandaloneFile` (`:3628`) checks the hard limit and never the badge. + +The comparison stays where it is, with one change: the limit at send counts a badge as active until one day after its expiry, instead of the seven days `maxXFTPFileSize` allows a receiver. `maxSndXFTPFileSize` in `Badges.hs` computes the send limit with that rule, from `FileSizeLimits` and the current time, and the apps use the same rule for the limit they show on the compose screen (section 11), so the compose screen never offers a size the send refuses. + +Standalone uploads do not apply badge limits. `APIUploadStandaloneFile` keeps the hard limit. + +## 6. The file invitation proof + +**Type.** `FileInvitation` (`Types.hs:1555`) gains `fileBadge :: Maybe BadgeProof`. The JSON instance omits absent fields, so a released client ignores it. + +**Generation.** In `xftpSndFileTransfer_` (`Internal.hs:438`), when the file is above the default limit and the send is not incognito, generate a proof with `PHFileInv` from the chat binding and the file size, and set it in the invitation. `sndFileChatBinding` computes the binding from `ContactOrGroup`: `CBDirect` with the ratchet hash of the contact's connection, obtained from the agent as `shareChatBinding` does (`Commands.hs:4685`); `CBChannel` with the public group id for content sent as the group; the member binding otherwise. `CGGroup` gains `ShowGroupAsSender`, which both send paths already hold. + +A file sent as the group is bound to the channel because a relay forwards it as `FwdChannel` with no author, so the receiver has no member to rebind to. The receiver picks the same case from the item's `showGroupAsSender`. + +**Verification.** A file invitation arrives at three places: `processFileInvitation` (`Subscriber.hs:1957`), for a file in a content message in a direct chat or a group, called with a closure that creates the transfer; `processGroupFileInvitation'` (`:2437`), for the older `XFile` event in a group; and `processFileInvitation'` (`:2422`) for `XFile` in a direct chat. The proof is checked against the file size and against the sender: the connection's ratchet hash for a contact, the group and member for a member. The result is the decision below, passed to `createRcvFileTransfer` or `createRcvGroupFileTransfer`, which gain it as an argument and write it. + +**The decision.** A file is either allowed or prohibited; when prohibited, the apps need the limit that applied and why. + +```haskell +data FileProhibited = FileProhibited {maxSize :: Int64, badgeStatus :: Maybe BadgeStatus} +``` + +`Nothing` when allowed; `Just` when prohibited: + +- Above the default limit, and the invitation has no proof: the default limit and `Nothing`. +- Above the default limit, and the proof fails the header check or BBS verification: the default limit and `BSFailed`; `BSUnknownKey` when the issuer key index is not configured. +- Above the default limit, and the proof verifies but the badge has expired beyond the grace: the default limit and the expiry status. +- Above the limit that a verified, active badge allows: that limit and `BSActive`. + +The sender's profile badge plays no part. An invitation without a proof gets the default limit in every chat type. + +**Storage.** Two new columns on `files`: `file_max_size INTEGER`, the limit that applied, and `file_badge_status TEXT`, the badge status, both NULL when the file is allowed. A file is prohibited when `file_max_size` is set; `file_badge_status` is NULL when the invitation had no proof. `BadgeStatus` gains `TextEncoding` and field instances for the column, as `MsgSigStatus` has (`Types/Shared.hs:137`). `createRcvFileTransfer` and `createRcvGroupFileTransfer` (`Store/Files.hs:448, 469`) write both. Sent and local files, and rows from before this change, hold NULL. + +A proof that verifies is stored in `file_badge_proofs` (section 12) with kind `inv`, for history (section 9); a proof that failed is not stored, as `files.file_badge_status` records that it failed. A sent file stores its own proof the same way. + +**The chat item.** `CIFile` (`Messages.hs:684`) gains `fileProhibited :: Maybe FileProhibited`. `MaybeCIFIleRow` (`Store/Messages.hs:2279`) gains the column, the three queries that select the file columns gain `f.file_max_size, f.file_badge_status`, and the two `maybeCIFile` constructors and the five other `CIFile` constructions (`Internal.hs:449`, `Subscriber.hs:2001, 2456, 2472`, `Commands.hs:5009`) set it. + +**Accepting a file.** `acceptFileReceive` (`Internal.hs:746`) fails with `CEFileSize` when the file is prohibited. The apps stop a tap before that, from the same field. + +## 7. The file description proof + +**Type.** `XMsgFileDescr` (`Protocol.hs:454`) gains `fileBadge :: Maybe BadgeProof`, encoded with `.=?` like `fileExpires`. + +**Generation.** The description proof is generated when the upload completes, which may be hours after the send, from the credential as it is then. If the badge expired meanwhile, the proof still verifies at receivers, which allow seven days past expiry; if the user hid the badge, the credential row is still there; if the badge was renewed, the new credential is used. Only a credential deleted outright leaves the file without a description proof, and receivers then prohibit it. Nothing is copied at send. + +In the `SFDONE` handler (`Subscriber.hs:209`), when the file is above the default limit, the user holds a credential, and the send was not incognito — the handler has the chat item and its contact or group, so the same condition as at the invitation — generate one proof with `PHFileDescr`: the values of the invitation header, `sharedDescriptionHash` of any one recipient description, and `fileExpires`. `sendFileDescriptions` (`:283`) sets it on the last part for each recipient, in the direct branch (`:237`) and the group branch (`:252`) alike; the parts are split in `splitText` (`:297`). + +**Verification.** When the file is allowed and above the default limit: + +1. The part that completes the description must have a proof. `processFDMessage` (`Subscriber.hs:1940`) receives every part and calls `receiveViaCompleteFD` when the description is complete and the file was accepted. It verifies the proof on the completing part, before that call, and on success stores it in `file_badge_proofs` with kind `descr`. On failure it records the same decision as a failed invitation proof — the default limit and the badge status on `files` — so the file is refused by `acceptFileReceive` and the apps show the reason from one field. A file that requires a badge is received from the description message: `validateFileInvitation` stores its description as incomplete, so a complete description in an invitation cannot start a download unverified. +2. Check the header: binding, name, size as at the invitation; the hash equal to `sharedDescriptionHash` of the parsed description; the expiration equal to `fileExpires` from the message. +3. If the expiration is present and in the past, fail. +4. If the expiration is absent, accept. Older servers grant no expiration. This is tightened once servers are upgraded. + +The error set on failure is a new `FileError` value, so the apps can name the reason. + +## 8. The shared description hash + +File: `Simplex.FileTransfer.Description` in simplexmq. + +`sndFileToDescrs`, in the agent's `Simplex.FileTransfer.Agent`, builds one description per recipient from one set of values. The values common to the sender's description and every recipient's are `size`, `digest`, `key`, `nonce`, `chunkSize`, and for each chunk `chunkNo`, `chunkSize` and `digest`. `party` differs between sender and recipient, `replicas` differ per recipient, and `redirect` is absent from the sender's. + +Add `sharedDescriptionHash :: FileDescription p -> ByteString`: SHA-512 over a fixed encoding of those values in that order. Defining it beside the type keeps it in step with the format. + +Because the hash ignores replicas, one proof is valid for every recipient's description, including one re-sent later as history. In a channel the sender sends descriptions to the relays (`getGroupRelayMembers`, `Subscriber.hs:260`), which forward them to the members; whichever description a member receives, the hash is the same. + +## 9. History + +`sendHistory` (`Internal.hs:1366-1481`) re-sends a file item to a new member as a new invitation built from the stored name and size (`invCompleteDescr`, `:1445`) with the description in `XMsgFileDescr` parts (`:1481`). Content is not signed, so nothing from the original messages survives. + +Both proofs are read from `file_badge_proofs` by kind. For a file received from another member they are re-sent unchanged: they are bound to the original sender, and history names that sender (`fwdSender`, `:1466`), so the new member verifies them against that member's binding. For the host's own files the stored proofs are re-sent too, and are re-made from the credential over the stored headers only when the badge that made them is past the send grace and the current badge is active — never for a signed item, whose original bytes are forwarded. + +`fileExpired` (`:1439-1443`) decides which files history re-sends by the item's age against `rcvFilesTTL`, two days, and ignores the granted expiration stored with the file. That check should use the stored `fileExpires`; it is noted here because it bounds when the stored proofs are read. + +## 10. Forwarding + +Forwarding a file uploads it again from the local copy, so the forwarder's own limit applies. The forward plan (`APIPlanForwardChatItems`, `Commands.hs:1004-1050`) runs before the destination is chosen; it checks whether the file was received and exists, and nothing about size. A too-large forward fails at send, after the user has chosen the recipient. + +Two checks, both before any upload: + +- **In the apps, before the sheet.** The app has the file size and the user's own badge, so it decides without calling core, with the same send rule the compose screen uses (section 11). The per-item Forward action, which opens the sheet directly today — `forwardedChatItems = [chatItem]` (`ChatView.swift:2407`), `SharedContent.Forward(listOf(cItem), cInfo)` (`ChatView.kt:625`) — shows the alert instead when the file is above that limit. Multi-select (`ChatView.swift:1515`, `ChatView.kt:347`) makes the same check on the selected items before calling the plan, and shows the same alert with the count when any file is above it. The plan command is unchanged. +- **In the sheet.** When a forwarded item has a file above the default limit, the sheet where the destination is chosen disables every chat in which the user is incognito — a contact with `contactConnIncognito`, a group with `memberIncognito` on the membership — because the badge is not presented there and the file cannot be sent. +- **In the forward command**, `APIForwardChatItems` (`Commands.hs:1052`), once the destination is known: each file is checked against the destination's limit — the default for an incognito membership, as `checkSndFile` decides today — before any item is created or upload started. A file above it fails the command with a new `ChatErrorType` value naming the count, which the apps show as the same alert. + +## 11. The apps + +The receive decision is computed in eleven places from the sender's profile: `getMaxFileSize(protocol, senderProfile)` (`FileUtils.swift:280`, `Utils.kt:477`) and `fileSizeValid(file, senderProfile)` (`CIFileView.swift:236`, `CIFileView.kt:241`), used in `CIFileView`, `CIImageView`, `CIVideoView`, `ChatView.swift:2323`, `ChatItemView.kt:452`, with a second copy of the check in each video view (`receiveFileIfValidSize`). + +- `CIFile` gains `fileProhibited` in `ChatTypes.swift:4681` and `ChatModel.kt:4249`, with `FileProhibited` decoded from core. +- `fileSizeValid` becomes a check that `fileProhibited` is absent and takes no profile. The alert is worded by `badgeStatus` — no badge, unverified, unknown key, expired, or above the badge's limit — with `maxSize` as the figure. +- `getMaxFileSize` loses the profile argument for received files. The compose screen keeps computing the sender's own limit from the user's own badge (`ComposeView.swift:1272`, `ComposeView.kt:1423`), with the one-day rule of section 5 instead of the seven-day status; `ShareModel.swift:448, 539` and `ComposeView.kt:118` start passing the profile, so they stop showing 1GB to a badge holder. +- `ciSenderProfile` and the `senderProfile` parameters are removed from the file, image and video views and their call sites in `FramedItemView` and `ChatPreviewView`. +- `FileError` gains the new value in `ChatTypes.swift` and `ChatModel.kt`, with a message for it. +- The generated API mirrors — `bots/api/TYPES.md`, `types.ts`, `_types.py` — are regenerated for `CIFile`, `FileProhibited` and `FileInvitation`. + +## 12. Schema and fixtures + +Migration `M20260904_file_badges`, SQLite and Postgres: + +```sql +ALTER TABLE files ADD COLUMN file_max_size INTEGER; +ALTER TABLE files ADD COLUMN file_badge_status TEXT; + +CREATE TABLE file_badge_proofs( + badge_proof_id INTEGER PRIMARY KEY AUTOINCREMENT, + file_id INTEGER NOT NULL REFERENCES files ON DELETE CASCADE, + proof_kind TEXT NOT NULL, + badge_proof BLOB NOT NULL, + badge_pres_header BLOB NOT NULL, + badge_key_idx INTEGER NOT NULL, + badge_type TEXT NOT NULL, + badge_expiry TEXT NOT NULL, + badge_extra TEXT NOT NULL, + created_at TEXT NOT NULL, + updated_at TEXT NOT NULL +) STRICT; + +CREATE UNIQUE INDEX idx_file_badge_proofs_file_id_kind ON file_badge_proofs(file_id, proof_kind); +``` + +The six proof columns are the fields of `BadgeProof` — the proof, the presentation header, the issuer key index, and the disclosed type, expiry and extra — with a conversion of its own. A file is one direction, so it has at most two proofs; `proof_kind` is `inv` or `descr`, and the unique index makes each a single upsert. The row references the file with `ON DELETE CASCADE`, so it is removed with the file, which is how file rows are removed today — by cascade from chat items, contacts and groups rather than by one function. Postgres uses `BYTEA`, `BIGINT` and `GENERATED ALWAYS AS IDENTITY`. Register in both `Migrations.hs` lists and in `simplex-chat.cabal`. Update both `chat_schema.sql` files and `chat_query_plans.txt`; `SchemaDump.hs` compares them. + +## 13. Tests + +- `BadgeTests.hs`: each header encodes and decodes; a proof generated with one header fails with another; the key check accepts an unknown key, accepts an equal key, rejects a different one. +- `ChatTests/Profiles.hs`, beside the seven badge tests: a badge in a p2p group appears at the other member after the connection handshake and not before; a proof presented under another member's binding is rejected; a badge in a channel appears on presentation. Existing tests that assert a badge at introduction time are updated. +- `ChatTests/Files.hs`, beside `testXFTPGroupFileTransfer`: a file above the default limit from a badge holder is received in a group and in a direct chat; an invitation whose proof was made for another member is refused; a description with a changed hash fails before download; a file above the limit received as history is received by the new member; a forward into an incognito membership above the default limit fails the command before any upload. +- `ProtocolTests.hs`: the new fields in `FileInvitation` and `XMsgFileDescr`. + +## Out of scope + +- Moving the direct chat profile proof to `PHChat`. +- Requiring an expiration in the description proof, once servers grant one. diff --git a/scripts/nix/sha256map.nix b/scripts/nix/sha256map.nix index 00fd3f7c5d..b28f5afbf9 100644 --- a/scripts/nix/sha256map.nix +++ b/scripts/nix/sha256map.nix @@ -1,5 +1,5 @@ { - "https://github.com/simplex-chat/simplexmq.git"."2d4b40e10475fd2d09c76c590df89f384ac45c85" = "04jr59xqs5lc193w761di3bpnxwz6638yg4yvcmgq5m4z5djj8jk"; + "https://github.com/simplex-chat/simplexmq.git"."a00e225d74dfa03aba2293530416f69c55373bed" = "0d0bd5w7rf862fswk6p2bcafjwxpvg78apz1yjcva8i2la8as1k5"; "https://github.com/simplex-chat/hs-socks.git"."a30cc7a79a08d8108316094f8f2f82a0c5e1ac51" = "0yasvnr7g91k76mjkamvzab2kvlb1g5pspjyjn2fr6v83swjhj38"; "https://github.com/simplex-chat/direct-sqlcipher.git"."f814ee68b16a9447fbb467ccc8f29bdd3546bfd9" = "1ql13f4kfwkbaq7nygkxgw84213i0zm7c1a8hwvramayxl38dq5d"; "https://github.com/simplex-chat/sqlcipher-simple.git"."a46bd361a19376c5211f1058908fc0ae6bf42446" = "1z0r78d8f0812kxbgsm735qf6xx8lvaz27k1a0b4a2m0sshpd5gl"; diff --git a/simplex-chat.cabal b/simplex-chat.cabal index 3c50d92968..7d0172ba3d 100644 --- a/simplex-chat.cabal +++ b/simplex-chat.cabal @@ -156,6 +156,7 @@ library Simplex.Chat.Store.Postgres.Migrations.M20260813_auto_accept_group_invitations Simplex.Chat.Store.Postgres.Migrations.M20260822_forward_link Simplex.Chat.Store.Postgres.Migrations.M20260828_file_expiry + Simplex.Chat.Store.Postgres.Migrations.M20260904_file_badges else exposed-modules: Simplex.Chat.Archive @@ -329,6 +330,7 @@ library Simplex.Chat.Store.SQLite.Migrations.M20260813_auto_accept_group_invitations Simplex.Chat.Store.SQLite.Migrations.M20260822_forward_link Simplex.Chat.Store.SQLite.Migrations.M20260828_file_expiry + Simplex.Chat.Store.SQLite.Migrations.M20260904_file_badges other-modules: Paths_simplex_chat hs-source-dirs: diff --git a/src/Simplex/Chat.hs b/src/Simplex/Chat.hs index 3eb2045317..85df305f36 100644 --- a/src/Simplex/Chat.hs +++ b/src/Simplex/Chat.hs @@ -28,7 +28,7 @@ import qualified Data.Map.Strict as M import Data.Maybe (fromMaybe, mapMaybe) import Data.Text (Text) import Data.Time.Clock (getCurrentTime, nominalDay) -import Simplex.Chat.Badges (badgeServerCredential) +import Simplex.Chat.Badges (badgeServerCredential, defaultFileSizeLimits) import Simplex.Chat.Controller import Simplex.Chat.Library.Commands import Simplex.Chat.Operators @@ -106,6 +106,7 @@ defaultChatConfig = xftpDescrPartSize = 14000, inlineFiles = defaultInlineFilesConfig, autoAcceptFileSize = 0, + fileSizeLimits = defaultFileSizeLimits, showReactions = False, showFullLinks = False, showReceipts = False, diff --git a/src/Simplex/Chat/Badges.hs b/src/Simplex/Chat/Badges.hs index e926d34d0a..62683788d5 100644 --- a/src/Simplex/Chat/Badges.hs +++ b/src/Simplex/Chat/Badges.hs @@ -25,7 +25,11 @@ module Simplex.Chat.Badges BBSPublicKeyStr (..), localBadgeInfo, localBadgeStatus, + FileSizeLimits (..), + defaultFileSizeLimits, maxXFTPFileSize, + maxSndXFTPFileSize, + badgeSndGraceInterval, badgeServerCredential, maxFileSizeSupporter, maxFileSizeLegend, @@ -46,6 +50,10 @@ module Simplex.Chat.Badges verifyBadge_, mkBadgeStatus, BadgeRow, + BadgeProofKind (..), + BadgeProofRow, + badgeProofToRow, + rowToBadgeProof, badgeToRow, localBadgeToRow, rowToBadge, @@ -66,11 +74,13 @@ import Data.String import Data.Text (Text) import Data.Text.Encoding (encodeUtf8) import Data.Time.Clock (NominalDiffTime, UTCTime, addUTCTime, nominalDay) +import Data.Time.Clock.System (systemToUTCTime, utcToSystemTime) import Simplex.FileTransfer.Description (gb, maxFileSize) import Simplex.Messaging.Agent.Store.DB (Binary (..), BoolInt (..), fromTextField_) import qualified Simplex.Messaging.Crypto as C import Simplex.Messaging.Crypto.BBS import Simplex.Messaging.Crypto.Entitlement (Entitlement (Entitlement), EntitlementCredential (EntitlementCredential), MasterKey (MasterKey), entitlementBBSHeader) +import Simplex.Messaging.Encoding (Encoding (..)) import Simplex.Messaging.Encoding.String import Simplex.Messaging.Parsers (defaultJSON, dropPrefix, enumJSON) #if defined(dbPostgres) @@ -114,6 +124,35 @@ instance FromJSON BadgeType where data BadgeStatus = BSActive | BSExpired | BSExpiredOld | BSFailed | BSUnknownKey deriving (Eq, Show) +instance TextEncoding BadgeStatus where + textEncode = \case + BSActive -> "active" + BSExpired -> "expired" + BSExpiredOld -> "expired_old" + BSFailed -> "failed" + BSUnknownKey -> "unknown_key" + textDecode = \case + "active" -> Just BSActive + "expired" -> Just BSExpired + "expired_old" -> Just BSExpiredOld + "failed" -> Just BSFailed + "unknown_key" -> Just BSUnknownKey + _ -> Nothing + +-- Badge proof kind - a file has at most one proof of each kind + +data BadgeProofKind = BPKInvitation | BPKDescription + deriving (Eq, Show) + +instance TextEncoding BadgeProofKind where + textEncode = \case + BPKInvitation -> "inv" + BPKDescription -> "descr" + textDecode = \case + "inv" -> Just BPKInvitation + "descr" -> Just BPKDescription + _ -> Nothing + -- Disclosed badge content (BBS messages 1, 2, 3) data BadgeInfo = BadgeInfo @@ -186,10 +225,10 @@ localBadgeStatus = \case ShownBadge _ st -> st -- XFTP file size limit raised by an active badge: a legend badge to 5GB, any other to 2GB, otherwise the default. -maxFileSizeSupporter :: Int64 +maxFileSizeSupporter :: Integer maxFileSizeSupporter = gb 2 -maxFileSizeLegend :: Int64 +maxFileSizeLegend :: Integer maxFileSizeLegend = gb 5 badgeServerCredential :: Maybe LocalBadge -> Maybe EntitlementCredential @@ -198,31 +237,62 @@ badgeServerCredential = \case Just $ EntitlementCredential (fromIntegral idx) (MasterKey mk) (Entitlement badgeExpiry (textEncode badgeType) badgeExtra) sig _ -> Nothing -maxXFTPFileSize :: Maybe LocalBadge -> Int64 -maxXFTPFileSize = \case - Just b | localBadgeStatus b == BSActive -> case badgeType (localBadgeInfo b) of - BTLegend -> maxFileSizeLegend - _ -> maxFileSizeSupporter - _ -> maxFileSize +data FileSizeLimits = FileSizeLimits + { noBadge :: Integer, + supporter :: Integer, + legend :: Integer + } + deriving (Eq, Show) + +defaultFileSizeLimits :: FileSizeLimits +defaultFileSizeLimits = FileSizeLimits {noBadge = toInteger maxFileSize, supporter = maxFileSizeSupporter, legend = maxFileSizeLegend} + +-- a badge raises the size limit at send for this long after its expiry, shorter than badgeGraceInterval so the receiver still accepts the size +badgeSndGraceInterval :: NominalDiffTime +badgeSndGraceInterval = nominalDay + +badgeFileSize :: FileSizeLimits -> LocalBadge -> Integer +badgeFileSize FileSizeLimits {supporter, legend} b = case badgeType (localBadgeInfo b) of + BTLegend -> legend + _ -> supporter + +maxXFTPFileSize :: FileSizeLimits -> Maybe LocalBadge -> Integer +maxXFTPFileSize lims = \case + Just b | localBadgeStatus b == BSActive -> badgeFileSize lims b + _ -> noBadge lims + +maxSndXFTPFileSize :: FileSizeLimits -> UTCTime -> Maybe LocalBadge -> Integer +maxSndXFTPFileSize lims now = \case + Just b | localBadgeStatus b == BSActive && addUTCTime badgeSndGraceInterval (badgeExpiry (localBadgeInfo b)) >= now -> badgeFileSize lims b + _ -> noBadge lims -- Presentation header: a tag char + payload. PHTest is unbound - a fresh random nonce per -- presentation, not bound to any context; the 'T' tag marks it so master rejects it. -- PHUnknown is the forward-compat catch-all for tags this version does not interpret. -data ProofPresHeaderTag = PHTestTag | PHUnknownTag Char +data ProofPresHeaderTag = PHTestTag | PHChatTag | PHFileInvTag | PHFileDescrTag | PHUnknownTag Char instance StrEncoding ProofPresHeaderTag where strEncode = B.singleton . \case PHTestTag -> 'T' + PHChatTag -> 'C' + PHFileInvTag -> 'F' + PHFileDescrTag -> 'D' PHUnknownTag c -> c strP = tag <$> A.anyChar where tag = \case 'T' -> PHTestTag + 'C' -> PHChatTag + 'F' -> PHFileInvTag + 'D' -> PHFileDescrTag c -> PHUnknownTag c data ProofPresHeader = PHTest ByteString + | PHChat ByteString + | PHFileInv {chatBinding :: ByteString, fileSize :: Int64} + | PHFileDescr {chatBinding :: ByteString, fileSize :: Int64, descrHash :: ByteString, fileExpires :: Maybe UTCTime} | PHUnknown Char ByteString deriving (Eq, Show) deriving (ToJSON, FromJSON) via (StrJSON "ProofPresHeader" ProofPresHeader) @@ -230,16 +300,31 @@ data ProofPresHeader instance StrEncoding ProofPresHeader where strEncode = \case PHTest nonce -> strEncode PHTestTag <> nonce + PHChat binding -> strEncode PHChatTag <> binding + PHFileInv {chatBinding, fileSize} -> + strEncode PHFileInvTag <> smpEncode (chatBinding, fileSize) + PHFileDescr {chatBinding, fileSize, descrHash, fileExpires} -> + strEncode PHFileDescrTag <> smpEncode (chatBinding, fileSize, descrHash, utcToSystemTime <$> fileExpires) PHUnknown c b -> strEncode (PHUnknownTag c) <> b strP = strP >>= \case PHTestTag -> PHTest <$> A.takeByteString + PHChatTag -> PHChat <$> A.takeByteString + PHFileInvTag -> do + (chatBinding, fileSize) <- smpP + pure PHFileInv {chatBinding, fileSize} + PHFileDescrTag -> do + (chatBinding, fileSize, descrHash, expires_) <- smpP + pure PHFileDescr {chatBinding, fileSize, descrHash, fileExpires = systemToUTCTime <$> expires_} PHUnknownTag c -> PHUnknown c <$> A.takeByteString -- v6.5.x accepts both; v7 will reject PHTest/PHUnknown proofPresHeaderAccepted :: ProofPresHeader -> Bool proofPresHeaderAccepted = \case PHTest _ -> True + PHChat _ -> True + PHFileInv {} -> True + PHFileDescr {} -> True PHUnknown _ _ -> True -- Payment proof @@ -348,6 +433,26 @@ instance FromField BadgeType where fromField = fromTextField_ textDecode instance ToField BadgeType where toField = toField . textEncode +instance FromField BadgeStatus where fromField = fromTextField_ textDecode + +instance ToField BadgeStatus where toField = toField . textEncode + +instance FromField BadgeProofKind where fromField = fromTextField_ textDecode + +instance ToField BadgeProofKind where toField = toField . textEncode + +-- (proof, pres_header, key_idx, type, expiry, extra) - the fields of BadgeProof as stored in file_badge_proofs +type BadgeProofRow = (Binary ByteString, Binary ByteString, Int, Text, UTCTime, Text) + +badgeProofToRow :: BadgeProof -> BadgeProofRow +badgeProofToRow (BadgeProof idx (BBSPresHeader ph) (BBSProof p) BadgeInfo {badgeType, badgeExpiry, badgeExtra}) = + (Binary p, Binary ph, idx, textEncode badgeType, badgeExpiry, badgeExtra) + +rowToBadgeProof :: BadgeProofRow -> Maybe BadgeProof +rowToBadgeProof (Binary p, Binary ph, idx, type_, badgeExpiry, badgeExtra) = do + badgeType <- textDecode type_ + pure $ BadgeProof idx (BBSPresHeader ph) (BBSProof p) BadgeInfo {badgeType, badgeExpiry, badgeExtra} + -- (proof, pres_header, expiry, type, verified, extra, master_key, signature, key_idx) - binary columns wrapped in Binary (BLOB/bytea) type BadgeRow = (Maybe (Binary ByteString), Maybe (Binary ByteString), Maybe UTCTime, Maybe Text, Maybe BoolInt, Maybe Text, Maybe (Binary ByteString), Maybe (Binary ByteString), Maybe Int) diff --git a/src/Simplex/Chat/Controller.hs b/src/Simplex/Chat/Controller.hs index fc3f33ad54..dc4f86472c 100644 --- a/src/Simplex/Chat/Controller.hs +++ b/src/Simplex/Chat/Controller.hs @@ -83,7 +83,7 @@ import Simplex.Messaging.Agent.Store.DB (SQLError) import qualified Simplex.Messaging.Agent.Store.DB as DB import Simplex.Messaging.Client (HostMode (..), SMPProxyFallback (..), SMPProxyMode (..), SMPWebPortServers (..), SocksMode (..)) import qualified Simplex.Messaging.Crypto as C -import Simplex.Chat.Badges (BadgeCredential) +import Simplex.Chat.Badges (BadgeCredential, FileSizeLimits) import Simplex.Messaging.Crypto.BBS (BBSPublicKey) import Simplex.Messaging.Crypto.File (CryptoFile (..)) import qualified Simplex.Messaging.Crypto.File as CF @@ -152,6 +152,7 @@ data ChatConfig = ChatConfig xftpDescrPartSize :: Int, inlineFiles :: InlineFilesConfig, autoAcceptFileSize :: Integer, + fileSizeLimits :: FileSizeLimits, showReactions :: Bool, showFullLinks :: Bool, showReceipts :: Bool, diff --git a/src/Simplex/Chat/Library/Commands.hs b/src/Simplex/Chat/Library/Commands.hs index 7e3371f13e..2d65a1677a 100644 --- a/src/Simplex/Chat/Library/Commands.hs +++ b/src/Simplex/Chat/Library/Commands.hs @@ -56,7 +56,7 @@ import Data.Type.Equality import qualified Data.UUID as UUID import qualified Data.UUID.V4 as V4 import Simplex.Chat.Library.Subscriber -import Simplex.Chat.Badges (BadgeCredential (..), LocalBadge (..), badgeServerCredential, maxXFTPFileSize, mkBadgeStatus, verifyCredential) +import Simplex.Chat.Badges (BadgeCredential (..), LocalBadge (..), badgeServerCredential, maxSndXFTPFileSize, mkBadgeStatus, verifyCredential) import Simplex.Chat.Names (SimplexDomainProof (..), SimplexDomainClaim (..), claimDomain, mkDomainClaim) import Simplex.Chat.Call import Simplex.Chat.Controller @@ -3626,7 +3626,7 @@ processChatCommand cxt nm = \case fsFilePath <- lift $ toFSFilePath filePath fileSize <- liftIO $ CF.getFileContentsSize file {filePath = fsFilePath} when (fileSize > toInteger maxFileSizeHard) $ throwChatError $ CEFileSize filePath - (_, _, fileTransferMeta) <- xftpSndFileTransfer_ user file fileSize 1 Nothing + (_, _, fileTransferMeta) <- xftpSndFileTransfer_ user file fileSize 1 Nothing Nothing pure CRSndStandaloneFileCreated {user, fileTransferMeta} APIStandaloneFileInfo FileDescriptionURI {clientData} -> pure . CRStandaloneFileInfo $ clientData >>= J.decodeStrict . encodeUtf8 APIDownloadStandaloneFile userId uri file -> withUserId userId $ \user -> do @@ -3975,7 +3975,9 @@ processChatCommand cxt nm = \case fsFilePath <- lift $ toFSFilePath f unlessM (doesFileExist fsFilePath) . throwChatError $ CEFileNotFound f fileSize <- liftIO $ CF.getFileContentsSize $ CryptoFile fsFilePath cfArgs - when (fromInteger fileSize > maxXFTPFileSize sndBadge) $ throwChatError $ CEFileSize f + lims <- asks $ fileSizeLimits . config + now <- liftIO getCurrentTime + when (fileSize > maxSndXFTPFileSize lims now sndBadge) $ throwChatError $ CEFileSize f pure fileSize updateProfile :: User -> Profile -> CM ChatResponse updateProfile user p' = updateProfile_ user p' True $ withFastStore $ \db -> updateUserProfile db user p' @@ -4771,7 +4773,8 @@ processChatCommand cxt nm = \case Just file -> do let User {profile = LocalProfile {localBadge}} = user fileSize <- checkSndFile (if contactConnIncognito ct then Nothing else localBadge) file - (fInv, ciFile) <- xftpSndFileTransfer user file fileSize 1 $ CGContact ct + binding_ <- ifM ((not (contactConnIncognito ct) &&) <$> fileNeedsBadge fileSize) (directChatBinding ct) (pure Nothing) + (fInv, ciFile) <- xftpSndFileTransfer user file fileSize 1 (CGContact ct) binding_ pure (Just fInv, Just ciFile) Nothing -> pure (Nothing, Nothing) prepareMsgs :: NonEmpty (ComposedMessageReq, Maybe FileInvitation) -> Maybe CITimed -> CM (NonEmpty (MsgContainer, Maybe (CIQuote 'CTDirect))) @@ -4802,8 +4805,10 @@ processChatCommand cxt nm = \case sendGroupContentMessages user gInfo scope showGroupAsSender live itemTTL sign cmrs = do assertMultiSendable live cmrs chatScopeInfo <- mapM (getChatScopeInfo cxt user) scope - recipients <- getGroupRecipients cxt user gInfo chatScopeInfo modsCompatVersion - sendGroupContentMessages_ user gInfo scope showGroupAsSender chatScopeInfo recipients live itemTTL sign cmrs + -- the member key is created before the send, so that signatures and file badge proofs assert the same key + gInfo' <- createUserMemberKey gInfo + recipients <- getGroupRecipients cxt user gInfo' chatScopeInfo modsCompatVersion + sendGroupContentMessages_ user gInfo' scope showGroupAsSender chatScopeInfo recipients live itemTTL sign cmrs where hasReport = any (\(ComposedMessage {msgContent}, _, _, _) -> isReport msgContent) cmrs modsCompatVersion = if hasReport then contentReportsVersion else groupKnockingVersion @@ -4856,7 +4861,9 @@ processChatCommand cxt nm = \case Just file -> do let User {profile = LocalProfile {localBadge}} = user fileSize <- checkSndFile (if incognitoMembership gInfo then Nothing else localBadge) file - (fInv, ciFile) <- xftpSndFileTransfer user file fileSize n $ CGGroup gInfo recipients + needsBadge <- fileNeedsBadge fileSize + let binding_ = if needsBadge && not (incognitoMembership gInfo) then sndGroupChatBinding gInfo showGroupAsSender else Nothing + (fInv, ciFile) <- xftpSndFileTransfer user file fileSize n (CGGroup gInfo recipients) binding_ fInv' <- if signMsgs && useRelays' gInfo then (\d -> (fInv :: FileInvitation) {fileDigest = Just d}) <$> cryptoFileDigest file @@ -4914,9 +4921,9 @@ processChatCommand cxt nm = \case -- batching retrieval of quoted messages (prepareMsgs). when (live || length (L.filter (\(ComposedMessage {quotedItemId}, _, _, _) -> isJust quotedItemId) cmrs) > 1) $ throwCmdError "invalid multi send: live and more than one quote not supported" - xftpSndFileTransfer :: User -> CryptoFile -> Integer -> Int -> ContactOrGroup -> CM (FileInvitation, CIFile 'MDSnd) - xftpSndFileTransfer user file fileSize n contactOrGroup = do - (fInv, ciFile, ft) <- xftpSndFileTransfer_ user file fileSize n $ Just contactOrGroup + xftpSndFileTransfer :: User -> CryptoFile -> Integer -> Int -> ContactOrGroup -> Maybe ByteString -> CM (FileInvitation, CIFile 'MDSnd) + xftpSndFileTransfer user file fileSize n contactOrGroup binding_ = do + (fInv, ciFile, ft) <- xftpSndFileTransfer_ user file fileSize n (Just contactOrGroup) binding_ case contactOrGroup of CGContact Contact {activeConn} -> forM_ activeConn $ \conn -> withFastStore' $ \db -> createSndFTDescrXFTP db user Nothing conn ft dummyFileDescr @@ -5006,7 +5013,7 @@ processChatCommand cxt nm = \case chunkSize <- asks $ fileChunkSize . config withFastStore' $ \db -> do fileId <- createLocalFile CIFSSndStored db user nf createdAt cf fileSize chunkSize - pure CIFile {fileId, fileName = takeFileName filePath, fileSize, fileSource = Just cf, fileStatus = CIFSSndStored, fileProtocol = FPLocal, fileExpires = Nothing} + pure CIFile {fileId, fileName = takeFileName filePath, fileSize, fileSource = Just cf, fileStatus = CIFSSndStored, fileProtocol = FPLocal, fileExpires = Nothing, fileProhibited = Nothing} prepareLocalItemsData :: NonEmpty ComposedMessageReq -> NonEmpty (Maybe (CIFile 'MDSnd)) -> diff --git a/src/Simplex/Chat/Library/Internal.hs b/src/Simplex/Chat/Library/Internal.hs index d1b50f7f77..441d52ffe4 100644 --- a/src/Simplex/Chat/Library/Internal.hs +++ b/src/Simplex/Chat/Library/Internal.hs @@ -53,7 +53,7 @@ import Data.Text.Encoding (encodeUtf8) import Data.Time (addUTCTime) import Data.Time.Calendar (fromGregorian) import Data.Time.Clock (UTCTime (..), diffUTCTime, getCurrentTime, nominalDiffTimeToSeconds, secondsToDiffTime) -import Simplex.Chat.Badges (BadgeCredential (..), ProofPresHeader (..), BadgeProof (..), BadgeStatus (..), LocalBadge (..), badgeProof, mkBadgeStatus, verifyBadge) +import Simplex.Chat.Badges (BadgeCredential (..), BadgeInfo (..), ProofPresHeader (..), BadgeProof (..), BadgeProofKind (..), BadgeStatus (..), FileSizeLimits (..), LocalBadge (..), badgeProof, badgeSndGraceInterval, generateBadgeProof, localBadgeStatus, maxXFTPFileSize, mkBadgeStatus, verifyBadge) import Simplex.Chat.Names (SimplexDomainClaim (..), claimDomain) import Simplex.Chat.Call import Simplex.Chat.Controller @@ -98,7 +98,8 @@ import Simplex.Messaging.Crypto.File (CryptoFile (..), CryptoFileArgs (..)) import qualified Simplex.Messaging.Crypto.File as CF import Simplex.Messaging.Crypto.Ratchet (PQEncryption (..), PQSupport (..), pattern PQEncOff, pattern PQEncOn, pattern PQSupportOff, pattern PQSupportOn) import qualified Simplex.Messaging.Crypto.Ratchet as CR -import Simplex.Messaging.Encoding (smpEncode) +import Simplex.Messaging.Crypto.BBS (BBSPresHeader (..)) +import Simplex.Messaging.Encoding (smpDecode, smpEncode) import Simplex.Messaging.Encoding.String import Simplex.Messaging.Protocol (MsgBody, MsgFlags (..), ProtoServerWithAuth (..), ProtocolServer, ProtocolTypeI (..), SProtocolType (..), SubscriptionMode (..), UserProtocol, XFTPServer) import qualified Simplex.Messaging.Protocol as SMP @@ -435,10 +436,11 @@ roundedFDCount n | n <= 0 = 4 | otherwise = max 4 $ fromIntegral $ (2 :: Integer) ^ (ceiling (logBase 2 (fromIntegral n) :: Double) :: Integer) -xftpSndFileTransfer_ :: User -> CryptoFile -> Integer -> Int -> Maybe ContactOrGroup -> CM (FileInvitation, CIFile 'MDSnd, FileTransferMeta) -xftpSndFileTransfer_ user file@(CryptoFile filePath cfArgs) fileSize n contactOrGroup_ = do +xftpSndFileTransfer_ :: User -> CryptoFile -> Integer -> Int -> Maybe ContactOrGroup -> Maybe ByteString -> CM (FileInvitation, CIFile 'MDSnd, FileTransferMeta) +xftpSndFileTransfer_ user file@(CryptoFile filePath cfArgs) fileSize n contactOrGroup_ binding_ = do + fileBadge <- pure binding_ $>>= \chatBinding -> sndBadgeProof user PHFileInv {chatBinding, fileSize = fromInteger fileSize} let fileName = takeFileName filePath - fInv = xftpFileInvitation fileName fileSize dummyFileDescr + fInv = (xftpFileInvitation fileName fileSize dummyFileDescr :: FileInvitation) {fileBadge} fsFilePath <- lift $ toFSFilePath filePath let srcFile = CryptoFile fsFilePath cfArgs aFileId <- withAgent $ \a -> xftpSendFile a (aUserId user) srcFile (roundedFDCount n) Nothing @@ -446,9 +448,32 @@ xftpSndFileTransfer_ user file@(CryptoFile filePath cfArgs) fileSize n contactOr chSize <- asks $ fileChunkSize . config ft@FileTransferMeta {fileId} <- withStore' $ \db -> createSndFileTransferXFTP db user contactOrGroup_ file fInv (AgentSndFileId aFileId) Nothing chSize let fileSource = Just $ CryptoFile filePath cfArgs - ciFile = CIFile {fileId, fileName, fileSize, fileSource, fileStatus = CIFSSndStored, fileProtocol = FPXFTP, fileExpires = Nothing} + ciFile = CIFile {fileId, fileName, fileSize, fileSource, fileStatus = CIFSSndStored, fileProtocol = FPXFTP, fileExpires = Nothing, fileProhibited = Nothing} pure (fInv, ciFile, ft) +fileNeedsBadge :: Integer -> CM Bool +fileNeedsBadge fileSize = (fileSize >) . noBadge <$> asks (fileSizeLimits . config) + +sndBadgeProof :: User -> ProofPresHeader -> CM (Maybe BadgeProof) +sndBadgeProof user = sndBadgeProof_ user . BBSPresHeader . strEncode + +sndBadgeProof_ :: User -> BBSPresHeader -> CM (Maybe BadgeProof) +sndBadgeProof_ User {profile = LocalProfile {localBadge}} ph = case localBadge of + Just (OwnBadge cred@(BadgeCredential keyIdx _ _ _) _) -> do + keys <- asks $ badgePublicKeys . config + case M.lookup keyIdx keys of + Nothing -> Nothing <$ logError "sndBadgeProof: badge key index not in config" + Just key -> + liftIO (generateBadgeProof key cred ph) >>= \case + Right proof -> pure $ Just proof + Left e -> Nothing <$ logError ("sndBadgeProof: proof generation failed: " <> T.pack e) + _ -> pure Nothing + +sndGroupChatBinding :: GroupInfo -> ShowGroupAsSender -> Maybe ByteString +sndGroupChatBinding GroupInfo {groupKeys, membership = GroupMember {memberId}} asGroup + | asGroup = (\PublicGroupKeys {publicGroupId} -> encodeChatBinding CBChannel $ smpEncode publicGroupId) <$> (groupKeys >>= publicGroupKeys) + | otherwise = (\GroupKeys {memberPrivKey} -> encodeChatBinding CBGroup $ groupBindingData groupKeys memberId (C.publicKey memberPrivKey)) <$> groupKeys + cryptoFileDigest :: CryptoFile -> CM FD.FileDigest cryptoFileDigest (CryptoFile filePath cfArgs) = do fsPath <- lift $ toFSFilePath filePath @@ -744,10 +769,11 @@ rctFileCancelled = \case _ -> False acceptFileReceive :: User -> RcvFileTransfer -> Bool -> Maybe Bool -> Maybe FilePath -> CM AChatItem -acceptFileReceive user@User {userId} RcvFileTransfer {fileId, xftpRcvFile, fileInvitation = FileInvitation {fileName = fName, fileConnReq, fileInline, fileSize}, fileStatus, grpMemberId, cryptoArgs} userApprovedRelays rcvInline_ filePath_ = do +acceptFileReceive user@User {userId} RcvFileTransfer {fileId, xftpRcvFile, fileInvitation = FileInvitation {fileName = fName, fileConnReq, fileInline, fileSize}, fileProhibited, fileStatus, grpMemberId, cryptoArgs} userApprovedRelays rcvInline_ filePath_ = do unless (fileStatus == RFSNew) $ case fileStatus of RFSCancelled _ -> throwChatError $ CEFileCancelled fName _ -> throwChatError $ CEFileAlreadyReceiving fName + when (isJust fileProhibited) $ throwChatError $ CEFileSize fName cxt <- chatStoreCxt case (xftpRcvFile, fileConnReq) of -- XFTP @@ -1419,15 +1445,17 @@ sendHistory user gInfo@GroupInfo {membership} m@GroupMember {activeConn = Just c resolveAuthor (Just gmId) = do cxt <- chatStoreCxt eitherToMaybe <$> withStore' (\db -> runExceptT $ getGroupMemberById db cxt user gmId) - getRcvFileInvDescr :: CIFile 'MDRcv -> CM (Maybe (FileInvitation, RcvFileDescrText, Maybe UTCTime)) + getRcvFileInvDescr :: CIFile 'MDRcv -> CM (Maybe HistoryFile) getRcvFileInvDescr ciFile@CIFile {fileId, fileProtocol, fileStatus, fileExpires} = do expired <- fileExpired fileExpires if fileProtocol /= FPXFTP || fileStatus == CIFSRcvCancelled || expired then pure Nothing else do - rfd <- withStore $ \db -> getRcvFileDescrByRcvFileId db fileId - pure $ invCompleteDescr ciFile rfd - getSndFileInvDescr :: CIFile 'MDSnd -> CM (Maybe (FileInvitation, RcvFileDescrText, Maybe UTCTime)) + (rfd, (invBadge, descrBadge)) <- withStore $ \db -> do + rfd <- getRcvFileDescrByRcvFileId db fileId + (rfd,) <$> liftIO (getFileBadgeProofs db fileId) + pure $ invCompleteDescr ciFile rfd invBadge descrBadge + getSndFileInvDescr :: CIFile 'MDSnd -> CM (Maybe HistoryFile) getSndFileInvDescr ciFile@CIFile {fileId, fileProtocol, fileStatus, fileExpires} = do expired <- fileExpired fileExpires if fileProtocol /= FPXFTP || fileStatus == CIFSSndCancelled || expired @@ -1435,28 +1463,54 @@ sendHistory user gInfo@GroupInfo {membership} m@GroupMember {activeConn = Just c else do -- can also lookup in extra_xftp_file_descriptions, though it can be empty; -- would be best if snd file had a single rcv description for all members saved in files table - rfd <- withStore $ \db -> getRcvFileDescrBySndFileId db fileId - pure $ invCompleteDescr ciFile rfd + now <- liftIO getCurrentTime + (rfd, (invBadge, descrBadge)) <- withStore $ \db -> do + rfd <- getRcvFileDescrBySndFileId db fileId + (rfd,) <$> liftIO (getFileBadgeProofs db fileId) + -- a signed item forwards the author's original bytes, so its invitation proof cannot be replaced + (invBadge', descrBadge') <- + if isNothing signedMsg_ && ownBadgeActive && (staleBadge now invBadge || staleBadge now descrBadge) + then refreshSndBadges fileId invBadge descrBadge + else pure (invBadge, descrBadge) + pure $ invCompleteDescr ciFile rfd invBadge' descrBadge' + staleBadge :: UTCTime -> Maybe BadgeProof -> Bool + staleBadge now = \case + Just BadgeProof {badgeInfo = BadgeInfo {badgeExpiry}} -> addUTCTime badgeSndGraceInterval badgeExpiry < now + Nothing -> False + ownBadgeActive :: Bool + ownBadgeActive = maybe False ((BSActive ==) . localBadgeStatus) localBadge + where + User {profile = LocalProfile {localBadge}} = user + -- both proofs are made with the same badge, and are re-made with the current badge over the stored headers + refreshSndBadges :: FileTransferId -> Maybe BadgeProof -> Maybe BadgeProof -> CM (Maybe BadgeProof, Maybe BadgeProof) + refreshSndBadges fileId invBadge descrBadge = do + invBadge' <- mapM reProve invBadge + descrBadge' <- mapM reProve descrBadge + withStore' $ \db -> do + forM_ invBadge' $ createFileBadgeProof db fileId BPKInvitation + forM_ descrBadge' $ createFileBadgeProof db fileId BPKDescription + pure (invBadge', descrBadge') + where + reProve badge@BadgeProof {presHeader} = fromMaybe badge <$> sndBadgeProof_ user presHeader fileExpired :: Maybe UTCTime -> CM Bool fileExpired fileExpires = do ttl <- asks $ rcvFilesTTL . agentConfig . config now <- liftIO getCurrentTime pure $ fromMaybe (addUTCTime ttl $ chatItemTs cci) fileExpires < now - invCompleteDescr :: CIFile d -> RcvFileDescr -> Maybe (FileInvitation, RcvFileDescrText, Maybe UTCTime) - invCompleteDescr CIFile {fileName, fileSize, fileExpires} RcvFileDescr {fileDescrText, fileDescrComplete} + invCompleteDescr :: CIFile d -> RcvFileDescr -> Maybe BadgeProof -> Maybe BadgeProof -> Maybe HistoryFile + invCompleteDescr CIFile {fileName, fileSize, fileExpires} RcvFileDescr {fileDescrText, fileDescrComplete} invBadge descrBadge | fileDescrComplete = - let fInvDescr = FileDescr {fileDescrText = "", fileDescrPartNo = 0, fileDescrComplete = False} - fInv = xftpFileInvitation fileName fileSize fInvDescr - in Just (fInv, fileDescrText, fileExpires) + let fInv = (xftpFileInvitation fileName fileSize dummyFileDescr :: FileInvitation) {fileBadge = invBadge} + in Just (fInv, fileDescrText, fileExpires, descrBadge) | otherwise = Nothing - processContentItem :: Maybe GroupMember -> ChatItem 'CTGroup d -> MsgContent -> Maybe (FileInvitation, RcvFileDescrText, Maybe UTCTime) -> CM [(GrpMsgForward, VerifiedMsg 'Json)] + processContentItem :: Maybe GroupMember -> ChatItem 'CTGroup d -> MsgContent -> Maybe HistoryFile -> CM [(GrpMsgForward, VerifiedMsg 'Json)] processContentItem member_ ChatItem {formattedText, meta, quotedItem, mentions} mc fInvDescr_ = if isNothing fInvDescr_ && not (msgContentHasText mc) then pure [] else do let CIMeta {itemTs, itemSharedMsgId, itemTimed, showGroupAsSender} = meta quotedItemId_ = quoteItemId =<< quotedItem - fInv_ = (\(fInv, _, _) -> fInv) <$> fInvDescr_ + fInv_ = (\(fInv, _, _, _) -> fInv) <$> fInvDescr_ (mc', _, mentions') = updatedMentionNames mc formattedText mentions mentions'' = M.map (\CIMention {memberId} -> MsgMention {memberId}) mentions' -- for channel messages default chat version range to membership range @@ -1475,10 +1529,10 @@ sendHistory user gInfo@GroupInfo {membership} m@GroupMember {activeConn = Just c (chatMsgEvent, _) <- withStore $ \db -> prepareGroupMsg db user gInfo Nothing showGroupAsSender mc' mentions'' quotedItemId_ Nothing fInv_ itemTimed False pure $ VMUnsigned ChatMessage {chatVRange = senderVRange, msgId = itemSharedMsgId, chatMsgEvent} fileDescrEvents <- case (fInvDescr_, itemSharedMsgId) of - (Just (_, fileDescrText, fileExpires), Just msgId) -> do + (Just (_, fileDescrText, fileExpires, descrBadge), Just msgId) -> do partSize <- asks $ xftpDescrPartSize . config - let parts = splitFileDescr partSize fileDescrText - pure . L.toList $ L.map (\fd -> XMsgFileDescr msgId fd fileExpires) parts + let parts = splitFileDescr partSize (maybe partSize (const badgeDescrPartSize) descrBadge) fileDescrText + pure . L.toList $ L.map (\fd@FileDescr {fileDescrComplete} -> XMsgFileDescr msgId fd fileExpires (if fileDescrComplete then descrBadge else Nothing)) parts _ -> pure [] let fileDescrVMs = map (VMUnsigned . ChatMessage senderVRange Nothing) fileDescrEvents pure $ map ((,) fwd) (contentVM : fileDescrVMs) @@ -1488,11 +1542,16 @@ memberShortenedName GroupMember {memberProfile = LocalProfile {displayName}} | T.length displayName <= 16 = displayName | otherwise = T.take 16 displayName `T.snoc` '…' -splitFileDescr :: Int -> RcvFileDescrText -> NonEmpty FileDescr -splitFileDescr partSize rfdText = splitParts 1 rfdText +-- the description proof travels on the last part, so that part leaves room for it +badgeDescrPartSize :: Int +badgeDescrPartSize = 13500 + +splitFileDescr :: Int -> Int -> RcvFileDescrText -> NonEmpty FileDescr +splitFileDescr partSize lastSize rfdText = splitParts 1 rfdText where splitParts partNo remText = - let (part, rest) = T.splitAt partSize remText + let n = T.length remText + (part, rest) = T.splitAt (if n <= lastSize then n else if n <= partSize then lastSize else partSize) remText complete = T.null rest fileDescr = FileDescr {fileDescrText = part, fileDescrPartNo = partNo, fileDescrComplete = complete} in if complete @@ -2263,6 +2322,71 @@ groupBindingData gks memberId memberKey = case gks >>= publicGroupKeys of Just PublicGroupKeys {publicGroupId} -> smpEncode (publicGroupId, memberId) Nothing -> smpEncode (memberId, memberKey) +type HistoryFile = (FileInvitation, RcvFileDescrText, Maybe UTCTime, Maybe BadgeProof) + +directChatBinding :: Contact -> CM (Maybe ByteString) +directChatBinding ct = + forM (contactConn ct) $ \conn -> + encodeChatBinding CBDirect <$> withAgent (`getConnectionRatchetAdHash` aConnId conn) + +rcvGroupChatBinding :: GroupInfo -> Maybe GroupMember -> ShowGroupAsSender -> Maybe BadgeProof -> Maybe ByteString +rcvGroupChatBinding GroupInfo {groupKeys} m_ asGroup badge_ = + case (groupKeys >>= publicGroupKeys, asGroup, m_) of + (Just PublicGroupKeys {publicGroupId}, True, _) -> + Just $ encodeChatBinding CBChannel $ smpEncode publicGroupId + (Just PublicGroupKeys {publicGroupId}, False, Just GroupMember {memberId}) -> + Just $ encodeChatBinding CBGroup $ smpEncode (publicGroupId, memberId) + (Nothing, False, Just GroupMember {memberId, memberPubKey}) -> + (\k -> encodeChatBinding CBGroup $ smpEncode (memberId, k)) <$> (memberPubKey <|> proofMemberKey memberId badge_) + _ -> Nothing + +proofMemberKey :: MemberId -> Maybe BadgeProof -> Maybe C.PublicKeyEd25519 +proofMemberKey memberId badge_ = do + BadgeProof _ (BBSPresHeader phBytes) _ _ <- badge_ + binding <- headerChatBinding =<< eitherToMaybe (strDecode phBytes) + d <- B.stripPrefix (smpEncode CBGroup) binding + (mId, k) <- eitherToMaybe (smpDecode d :: Either String (MemberId, C.PublicKeyEd25519)) + if mId == memberId then Just k else Nothing + where + headerChatBinding = \case + PHFileInv {chatBinding} -> Just chatBinding + PHFileDescr {chatBinding} -> Just chatBinding + _ -> Nothing + +badgeProofStatus :: Maybe ProofPresHeader -> BadgeProof -> CM BadgeStatus +badgeProofStatus expected_ badge@BadgeProof {presHeader = BBSPresHeader phBytes, badgeInfo} = + case expected_ of + Just expected | phBytes == strEncode expected -> do + keys <- asks $ badgePublicKeys . config + verified <- liftIO $ verifyBadge keys badge + now <- liftIO getCurrentTime + pure $ mkBadgeStatus now verified badgeInfo + _ -> pure BSFailed + +rcvDirectFileProhibited :: Contact -> FileInvitation -> CM (Maybe FileProhibited) +rcvDirectFileProhibited ct fInv@FileInvitation {fileBadge} = do + binding_ <- if isJust fileBadge then directChatBinding ct else pure Nothing + rcvFileProhibited binding_ fInv + +rcvGroupFileProhibited :: GroupInfo -> Maybe GroupMember -> ShowGroupAsSender -> FileInvitation -> CM (Maybe FileProhibited) +rcvGroupFileProhibited gInfo m_ asGroup fInv@FileInvitation {fileBadge} = + rcvFileProhibited (rcvGroupChatBinding gInfo m_ asGroup fileBadge) fInv + +rcvFileProhibited :: Maybe ByteString -> FileInvitation -> CM (Maybe FileProhibited) +rcvFileProhibited binding_ FileInvitation {fileSize, fileBadge} = do + lims <- asks $ fileSizeLimits . config + if fileSize <= noBadge lims + then pure Nothing + else case fileBadge of + Nothing -> pure $ Just FileProhibited {maxSize = noBadge lims, badgeStatus = Nothing} + Just badge -> do + st <- badgeProofStatus ((\chatBinding -> PHFileInv {chatBinding, fileSize = fromInteger fileSize}) <$> binding_) badge + let maxSize = maxXFTPFileSize lims $ Just $ PeerBadge badge st + pure $ + if fileSize <= maxSize + then Nothing + else Just FileProhibited {maxSize, badgeStatus = Just st} + createUserMemberKey :: GroupInfo -> CM GroupInfo createUserMemberKey gInfo@GroupInfo {groupId, membership, groupKeys} | useRelays' gInfo || isJust groupKeys = pure gInfo diff --git a/src/Simplex/Chat/Library/Subscriber.hs b/src/Simplex/Chat/Library/Subscriber.hs index ac587b9ec5..27dd742af5 100644 --- a/src/Simplex/Chat/Library/Subscriber.hs +++ b/src/Simplex/Chat/Library/Subscriber.hs @@ -46,6 +46,7 @@ import Data.Time.Format (defaultTimeLocale, formatTime) import qualified Data.UUID as UUID import qualified Data.UUID.V4 as V4 import Data.Word (Word32) +import Simplex.Chat.Badges (BadgeProof, BadgeProofKind (..), BadgeStatus (..), FileSizeLimits (..), ProofPresHeader (..)) import Simplex.Chat.Call import Simplex.Chat.Controller import Simplex.Chat.Delivery @@ -76,7 +77,7 @@ import Simplex.Chat.Types.Preferences import Simplex.Chat.Types.Shared import Simplex.FileTransfer.Description (ValidFileDescription) import qualified Simplex.FileTransfer.Description as FD -import Simplex.FileTransfer.Protocol (FilePartyI, GrantedStorageTime (..)) +import Simplex.FileTransfer.Protocol (FileParty (..), FilePartyI, GrantedStorageTime (..)) import qualified Simplex.FileTransfer.Transport as XFTP import Simplex.FileTransfer.Types (FileErrorType (..), RcvFileId, SndFileId) import Simplex.Messaging.Agent @@ -224,7 +225,7 @@ processAgentMsgSndFile _corrId aFileId msg = do -- we have 1 chunk - use it as URI whether it is redirect or not ft' <- maybe (pure ft) (\fId -> withStore $ \db -> getFileTransferMeta db user fId) xftpRedirectFor toView $ CEvtSndStandaloneFileComplete user ft' $ map (decodeLatin1 . strEncode . FD.fileDescriptionURI) rfds' - Just (AChatItem _ d cInfo _ci@ChatItem {meta = CIMeta {itemSharedMsgId = msgId_, itemDeleted}}) -> + Just (AChatItem _ d cInfo _ci@ChatItem {meta = CIMeta {itemSharedMsgId = msgId_, itemDeleted, showGroupAsSender}}) -> case (msgId_, itemDeleted) of (Just sharedMsgId, Nothing) -> do when (length rfds < length sfts) $ throwChatError $ CEInternalError "not enough XFTP file descriptions to send" @@ -232,9 +233,16 @@ processAgentMsgSndFile _corrId aFileId msg = do toView $ CEvtSndFileProgressXFTP user ci ft 1 1 case (rfds, sfts, d, cInfo) of (rfd : extraRFDs, sft : _, SMDSnd, DirectChat ct) -> do - withStore' $ \db -> createExtraSndFTDescrs db user fileId (map fileDescrText extraRFDs) conn@Connection {connId} <- liftEither $ contactSendConn_ ct - sendFileDescriptions (ConnectionId connId) ((conn, sft, fileDescrText rfd) :| []) sharedMsgId fileExpires >>= \case + let FileTransferMeta {fileSize} = ft + binding_ <- ifM ((not (contactConnIncognito ct) &&) <$> fileNeedsBadge fileSize) (directChatBinding ct) (pure Nothing) + descrBadge <- pure binding_ $>>= \chatBinding -> + let FD.ValidFileDescription fd = sndDescr + in sndBadgeProof user PHFileDescr {chatBinding, fileSize = fromInteger fileSize, descrHash = FD.sharedDescriptionHash fd, fileExpires} + withStore' $ \db -> do + createExtraSndFTDescrs db user fileId (map fileDescrText extraRFDs) + forM_ descrBadge $ createFileBadgeProof db fileId BPKDescription + sendFileDescriptions (ConnectionId connId) ((conn, sft, fileDescrText rfd) :| []) sharedMsgId fileExpires descrBadge >>= \case Just rs -> case L.last rs of Right ([msgDeliveryId], _) -> withStore' $ \db -> updateSndFTDeliveryXFTP db sft msgDeliveryId @@ -247,9 +255,17 @@ processAgentMsgSndFile _corrId aFileId msg = do ms <- getRecipients let rfdsMemberFTs = zipWith (\rfd (conn, sft) -> (conn, sft, fileDescrText rfd)) rfds (memberFTs ms) extraRFDs = drop (length rfdsMemberFTs) rfds - withStore' $ \db -> createExtraSndFTDescrs db user fileId (map fileDescrText extraRFDs) + FileTransferMeta {fileSize} = ft + needsBadge <- fileNeedsBadge fileSize + let binding_ = if needsBadge && not (incognitoMembership g) then sndGroupChatBinding g showGroupAsSender else Nothing + descrBadge <- pure binding_ $>>= \chatBinding -> + let FD.ValidFileDescription fd = sndDescr + in sndBadgeProof user PHFileDescr {chatBinding, fileSize = fromInteger fileSize, descrHash = FD.sharedDescriptionHash fd, fileExpires} + withStore' $ \db -> do + createExtraSndFTDescrs db user fileId (map fileDescrText extraRFDs) + forM_ descrBadge $ createFileBadgeProof db fileId BPKDescription forM_ (L.nonEmpty rfdsMemberFTs) $ \rfdsMemberFTs' -> - sendFileDescriptions (GroupId groupId) rfdsMemberFTs' sharedMsgId fileExpires + sendFileDescriptions (GroupId groupId) rfdsMemberFTs' sharedMsgId fileExpires descrBadge ci' <- withStore $ \db -> do liftIO $ updateCIFileStatus db user fileId CIFSSndComplete getChatItemByFileId db cxt user fileId @@ -278,8 +294,8 @@ processAgentMsgSndFile _corrId aFileId msg = do where fileDescrText :: FilePartyI p => ValidFileDescription p -> T.Text fileDescrText = safeDecodeUtf8 . strEncode - sendFileDescriptions :: ConnOrGroupId -> NonEmpty (Connection, SndFileTransfer, RcvFileDescrText) -> SharedMsgId -> Maybe UTCTime -> CM (Maybe (NonEmpty (Either ChatError ([Int64], PQEncryption)))) - sendFileDescriptions connOrGroupId connsTransfersDescrs sharedMsgId fileExpires = do + sendFileDescriptions :: ConnOrGroupId -> NonEmpty (Connection, SndFileTransfer, RcvFileDescrText) -> SharedMsgId -> Maybe UTCTime -> Maybe BadgeProof -> CM (Maybe (NonEmpty (Either ChatError ([Int64], PQEncryption)))) + sendFileDescriptions connOrGroupId connsTransfersDescrs sharedMsgId fileExpires descrBadge = do lift . void . withStoreBatch' $ \db -> L.map (\(_, sft, rfdText) -> updateSndFTDescrXFTP db user sft rfdText) connsTransfersDescrs partSize <- asks $ xftpDescrPartSize . config let connsIdsEvts = connDescrEvents partSize @@ -295,7 +311,7 @@ processAgentMsgSndFile _corrId aFileId msg = do where splitText :: (Connection, SndFileTransfer, RcvFileDescrText) -> [(Connection, (ConnOrGroupId, Maybe MsgSigning, ChatMsgEvent 'Json))] splitText (conn, _, rfdText) = - map (\fileDescr -> (conn, (connOrGroupId, Nothing, XMsgFileDescr {msgId = sharedMsgId, fileDescr, fileExpires}))) (L.toList $ splitFileDescr partSize rfdText) + map (\fileDescr@FileDescr {fileDescrComplete} -> (conn, (connOrGroupId, Nothing, XMsgFileDescr {msgId = sharedMsgId, fileDescr, fileExpires, fileBadge = if fileDescrComplete then descrBadge else Nothing}))) (L.toList $ splitFileDescr partSize (maybe partSize (const badgeDescrPartSize) descrBadge) rfdText) toMsgReq :: (Connection, (ConnOrGroupId, Maybe MsgSigning, ChatMsgEvent 'Json)) -> SndMessage -> ChatMsgReq toMsgReq (conn, _) SndMessage {msgId, msgBody} = (conn, MsgFlags {notification = hasNotification XMsgFileDescr_}, (vrValue msgBody, [msgId])) @@ -550,7 +566,7 @@ processAgentMessageConn cxt user@User {userId} corrId agentConnId agentMessage = let ct'' = ct' {activeConn = Just conn''} :: Contact case event of XMsgNew mc -> newContentMessage ct'' mc msg msgMeta - XMsgFileDescr sharedMsgId fileDescr fileExpires -> messageFileDescription ct'' sharedMsgId fileDescr fileExpires + XMsgFileDescr sharedMsgId fileDescr fileExpires fileBadge -> messageFileDescription ct'' sharedMsgId fileDescr fileExpires fileBadge XMsgUpdate sharedMsgId mContent _ ttl live _msgScope _ -> messageUpdate ct'' sharedMsgId mContent msg msgMeta ttl live XMsgDel sharedMsgId _ _ _ -> messageDelete ct'' sharedMsgId msg msgMeta XMsgReact sharedMsgId _ _ reaction add -> directMsgReaction ct'' sharedMsgId reaction add msg msgMeta @@ -1040,7 +1056,7 @@ processAgentMessageConn cxt user@User {userId} corrId agentConnId agentMessage = where MsgContainer {scope, asGroup} = mc -- file description is always allowed, to allow sending files to support scope - XMsgFileDescr sharedMsgId fileDescr fileExpires -> groupMessageFileDescription gInfo' (Just m'') sharedMsgId fileDescr fileExpires + XMsgFileDescr sharedMsgId fileDescr fileExpires fileBadge -> groupMessageFileDescription gInfo' (Just m'') sharedMsgId fileDescr fileExpires fileBadge XMsgUpdate sharedMsgId mContent mentions ttl live msgScope asGroup_ -> checkSendAsGroup asGroup_ $ memberCanSend (Just m'') msgScope $ @@ -1896,7 +1912,7 @@ processAgentMessageConn cxt user@User {userId} corrId agentConnId agentMessage = let MsgContainer {ttl = itemTTL, live = live_} = mc timed_ = rcvContactCITimed ct itemTTL live = fromMaybe False live_ - file_ <- processFileInvitation fInv_ content $ \db -> createRcvFileTransfer db userId ct + file_ <- processFileInvitation fInv_ content (rcvDirectFileProhibited ct) $ \db -> createRcvFileTransfer db userId ct newChatItem (CIRcvMsgContent content, msgContentTexts content) (snd <$> file_) timed_ live autoAcceptFile file_ where @@ -1912,36 +1928,37 @@ processAgentMessageConn cxt user@User {userId} corrId agentConnId agentMessage = ChatConfig {autoAcceptFileSize = sz} <- asks config when (sz > fileSize) $ receiveFileEvt' user ft False Nothing Nothing >>= toView - messageFileDescription :: Contact -> SharedMsgId -> FileDescr -> Maybe UTCTime -> CM () - messageFileDescription Contact {contactId} sharedMsgId fileDescr fileExpires = do + messageFileDescription :: Contact -> SharedMsgId -> FileDescr -> Maybe UTCTime -> Maybe BadgeProof -> CM () + messageFileDescription ct@Contact {contactId} sharedMsgId fileDescr fileExpires fileBadge = do (fileId, aci) <- withStore $ \db -> do fileId <- getFileIdBySharedMsgId db userId contactId sharedMsgId aci <- getChatItemByFileId db cxt user fileId pure (fileId, aci) - processFDMessage fileId aci fileDescr fileExpires + binding_ <- if isJust fileBadge then directChatBinding ct else pure Nothing + processFDMessage binding_ fileId aci fileDescr fileExpires fileBadge - groupMessageFileDescription :: GroupInfo -> Maybe GroupMember -> SharedMsgId -> FileDescr -> Maybe UTCTime -> CM (Maybe DeliveryTaskContext) - groupMessageFileDescription g@GroupInfo {groupId} m_ sharedMsgId fileDescr fileExpires = do + groupMessageFileDescription :: GroupInfo -> Maybe GroupMember -> SharedMsgId -> FileDescr -> Maybe UTCTime -> Maybe BadgeProof -> CM (Maybe DeliveryTaskContext) + groupMessageFileDescription g@GroupInfo {groupId} m_ sharedMsgId fileDescr fileExpires fileBadge = do (fileId, aci) <- withStore $ \db -> do fileId <- getGroupFileIdBySharedMsgId db userId groupId sharedMsgId aci <- getChatItemByFileId db cxt user fileId pure (fileId, aci) case aci of - AChatItem SCTGroup SMDRcv (GroupChat _g scopeInfo) ChatItem {chatDir} + AChatItem SCTGroup SMDRcv (GroupChat _g scopeInfo) ChatItem {chatDir, meta = CIMeta {showGroupAsSender}} | validSender m_ chatDir -> do -- in processFDMessage some paths are programmed as errors, -- for example failure on not approved relays (CEFileNotApproved). -- we catch error, so that even if processFDMessage fails, message can still be forwarded. - processFDMessage fileId aci fileDescr fileExpires `catchAllErrors` \_ -> pure () + processFDMessage (rcvGroupChatBinding g m_ showGroupAsSender fileBadge) fileId aci fileDescr fileExpires fileBadge `catchAllErrors` \_ -> pure () pure $ Just $ infoToDeliveryContext g scopeInfo (isChannelDir chatDir) | otherwise -> messageError "x.msg.file.descr: file/sender mismatch" $> Nothing _ -> messageError "x.msg.file.descr: invalid file description part" $> Nothing - processFDMessage :: FileTransferId -> AChatItem -> FileDescr -> Maybe UTCTime -> CM () - processFDMessage fileId aci fileDescr fileExpires = do + processFDMessage :: Maybe ByteString -> FileTransferId -> AChatItem -> FileDescr -> Maybe UTCTime -> Maybe BadgeProof -> CM () + processFDMessage binding_ fileId aci fileDescr fileExpires fileBadge = do ft <- withStore $ \db -> getRcvFileTransfer db user fileId unless (rcvFileCompleteOrCancelled ft) $ do - (rfd@RcvFileDescr {fileDescrComplete}, ft'@RcvFileTransfer {fileStatus, xftpRcvFile, cryptoArgs, fileInvitation = FileInvitation {fileSize}}) <- withStore $ \db -> do + (rfd@RcvFileDescr {fileDescrComplete}, ft'@RcvFileTransfer {fileStatus, xftpRcvFile, cryptoArgs, fileProhibited, fileInvitation = FileInvitation {fileSize}}) <- withStore $ \db -> do rfd <- appendRcvFD db userId fileId fileDescr forM_ fileExpires $ liftIO . setFileExpiration db user fileId -- reading second time in the same transaction as appending description @@ -1949,16 +1966,41 @@ processAgentMessageConn cxt user@User {userId} corrId agentConnId agentMessage = ft' <- getRcvFileTransfer db user fileId pure (rfd, ft') when fileDescrComplete $ toView $ CEvtRcvFileDescrReady user aci ft' rfd - case (fileStatus, xftpRcvFile) of - (RFSAccepted _, Just XFTPRcvFile {userApprovedRelays}) -> receiveViaCompleteFD user fileId rfd fileSize userApprovedRelays cryptoArgs - _ -> pure () + maxSize <- asks $ noBadge . fileSizeLimits . config + let descrBadgeRequired = fileDescrComplete && fileSize > maxSize && isNothing fileProhibited + prohibited_ <- case fileBadge of + _ | not descrBadgeRequired -> pure Nothing + Nothing -> pure $ Just FileProhibited {maxSize, badgeStatus = Nothing} + Just badge -> do + st <- descrBadgeStatus binding_ fileSize rfd fileExpires badge + if st == BSActive + then do + withStore' $ \db -> createFileBadgeProof db fileId BPKDescription badge + pure Nothing + else pure $ Just FileProhibited {maxSize, badgeStatus = Just st} + case prohibited_ of + Nothing -> case (fileStatus, xftpRcvFile) of + (RFSAccepted _, Just XFTPRcvFile {userApprovedRelays}) -> receiveViaCompleteFD user fileId rfd fileSize userApprovedRelays cryptoArgs + _ -> pure () + -- the file may already be accepted, so it is reset to an invitation the apps refuse by its prohibition + Just prohibited -> do + withStore' $ \db -> setFileProhibited db user fileId prohibited + aci_ <- resetRcvCIFileStatus user fileId CIFSRcvInvitation + forM_ aci_ $ \aci' -> toView $ CEvtChatItemUpdated user aci' - processFileInvitation :: Maybe FileInvitation -> MsgContent -> (DB.Connection -> FileInvitation -> Maybe InlineFileMode -> Integer -> ExceptT StoreError IO RcvFileTransfer) -> CM (Maybe (RcvFileTransfer, CIFile 'MDRcv)) - processFileInvitation fInv_ mc createRcvFT = forM fInv_ $ \fInv -> do + descrBadgeStatus :: Maybe ByteString -> Integer -> RcvFileDescr -> Maybe UTCTime -> BadgeProof -> CM BadgeStatus + descrBadgeStatus binding_ fileSize RcvFileDescr {fileDescrText} fileExpires badge = do + FD.ValidFileDescription fd <- parseFileDescription @'FRecipient fileDescrText + let descrHash = FD.sharedDescriptionHash fd + badgeProofStatus ((\chatBinding -> PHFileDescr {chatBinding, fileSize = fromInteger fileSize, descrHash, fileExpires}) <$> binding_) badge + + processFileInvitation :: Maybe FileInvitation -> MsgContent -> (FileInvitation -> CM (Maybe FileProhibited)) -> (DB.Connection -> FileInvitation -> Maybe FileProhibited -> Maybe InlineFileMode -> Integer -> ExceptT StoreError IO RcvFileTransfer) -> CM (Maybe (RcvFileTransfer, CIFile 'MDRcv)) + processFileInvitation fInv_ mc fileProhibited_ createRcvFT = forM fInv_ $ \fInv -> do ChatConfig {fileChunkSize} <- asks config fInv'@FileInvitation {fileName, fileSize} <- validateFileInvitation fInv + fileProhibited <- fileProhibited_ fInv' inline <- receiveInlineMode fInv' (Just mc) fileChunkSize - ft@RcvFileTransfer {fileId, xftpRcvFile} <- withStore $ \db -> createRcvFT db fInv' inline fileChunkSize + ft@RcvFileTransfer {fileId, xftpRcvFile} <- withStore $ \db -> createRcvFT db fInv' fileProhibited inline fileChunkSize let fileProtocol = if isJust xftpRcvFile then FPXFTP else FPSMP (filePath, fileStatus, ft') <- case inline of Just IFMSent -> do @@ -1970,15 +2012,19 @@ processAgentMessageConn cxt user@User {userId} corrId agentConnId agentMessage = _ -> pure (Nothing, CIFSRcvInvitation, ft) let RcvFileTransfer {cryptoArgs} = ft' fileSource = (`CryptoFile` cryptoArgs) <$> filePath - pure (ft', CIFile {fileId, fileName, fileSize, fileSource, fileStatus, fileProtocol, fileExpires = Nothing}) + pure (ft', CIFile {fileId, fileName, fileSize, fileSource, fileStatus, fileProtocol, fileExpires = Nothing, fileProhibited}) mkValidFileInvitation :: FileInvitation -> FileInvitation mkValidFileInvitation fInv@FileInvitation {fileName} = fInv {fileName = safeFileNameStr fileName} validateFileInvitation :: FileInvitation -> CM FileInvitation - validateFileInvitation fInv@FileInvitation {fileName, fileSize} - | fileSize > 0 = pure $ mkValidFileInvitation fInv - | otherwise = throwChatError $ CEFileSize fileName + validateFileInvitation fInv@FileInvitation {fileName, fileSize, fileDescr} + | fileSize <= 0 = throwChatError $ CEFileSize fileName + | otherwise = do + -- a file that requires a badge is received from the description message, where the proof binds the description + needsBadge <- fileNeedsBadge fileSize + let fileDescr' = if needsBadge then dummyFileDescr <$ fileDescr else fileDescr + pure $ mkValidFileInvitation fInv {fileDescr = fileDescr'} messageUpdate :: Contact -> SharedMsgId -> MsgContent -> RcvMessage -> MsgMeta -> Maybe Int -> Maybe Bool -> CM () messageUpdate ct@Contact {contactId} sharedMsgId mc msg@RcvMessage {msgId} msgMeta ttl live_ = do @@ -2201,7 +2247,7 @@ processAgentMessageConn cxt user@User {userId} corrId agentConnId agentMessage = unless (maybe False memberBlocked m') $ autoAcceptFile file_ processFileInv gInfo' m' = let fileMember_ = if sentAsGroup then Nothing else m' - in processFileInvitation fInv_ content $ \db -> createRcvGroupFileTransfer db userId gInfo' fileMember_ FTNormal sharedMsgId_ + in processFileInvitation fInv_ content (rcvGroupFileProhibited gInfo' m' sentAsGroup) $ \db -> createRcvGroupFileTransfer db userId gInfo' fileMember_ FTNormal sharedMsgId_ newChatItem gInfo' m' scopeInfo ciContent ciFile_ timed live = do let mentions' = if maybe False memberBlocked m' then M.empty else mentions (ci, cInfo) <- saveRcvCI gInfo' m' scopeInfo ciContent ciFile_ timed live mentions' @@ -2423,10 +2469,11 @@ processAgentMessageConn cxt user@User {userId} corrId agentConnId agentMessage = processFileInvitation' ct fInv msg@RcvMessage {sharedMsgId_} msgMeta = do ChatConfig {fileChunkSize} <- asks config fInv'@FileInvitation {fileName, fileSize} <- validateFileInvitation fInv + fileProhibited <- rcvDirectFileProhibited ct fInv' inline <- receiveInlineMode fInv' Nothing fileChunkSize - RcvFileTransfer {fileId, xftpRcvFile} <- withStore $ \db -> createRcvFileTransfer db userId ct fInv' inline fileChunkSize + RcvFileTransfer {fileId, xftpRcvFile} <- withStore $ \db -> createRcvFileTransfer db userId ct fInv' fileProhibited inline fileChunkSize let fileProtocol = if isJust xftpRcvFile then FPXFTP else FPSMP - ciFile = Just $ CIFile {fileId, fileName, fileSize, fileSource = Nothing, fileStatus = CIFSRcvInvitation, fileProtocol, fileExpires = Nothing} + ciFile = Just $ CIFile {fileId, fileName, fileSize, fileSource = Nothing, fileStatus = CIFSRcvInvitation, fileProtocol, fileExpires = Nothing, fileProhibited} content = ciContentNoParse $ CIRcvMsgContent $ MCFile "" (ci, cInfo) <- saveRcvChatItem' user (CDDirectRcv ct) msg sharedMsgId_ brokerTs content ciFile Nothing False M.empty toView $ CEvtNewChatItems user [AChatItem SCTDirect SMDRcv cInfo ci] @@ -2438,10 +2485,11 @@ processAgentMessageConn cxt user@User {userId} corrId agentConnId agentMessage = processGroupFileInvitation' gInfo m fInv msg@RcvMessage {sharedMsgId_} brokerTs = do ChatConfig {fileChunkSize} <- asks config fInv'@FileInvitation {fileName, fileSize} <- validateFileInvitation fInv + fileProhibited <- rcvGroupFileProhibited gInfo (Just m) False fInv' inline <- receiveInlineMode fInv' Nothing fileChunkSize - RcvFileTransfer {fileId, xftpRcvFile} <- withStore $ \db -> createRcvGroupFileTransfer db userId gInfo (Just m) FTNormal sharedMsgId_ fInv' inline fileChunkSize + RcvFileTransfer {fileId, xftpRcvFile} <- withStore $ \db -> createRcvGroupFileTransfer db userId gInfo (Just m) FTNormal sharedMsgId_ fInv' fileProhibited inline fileChunkSize let fileProtocol = if isJust xftpRcvFile then FPXFTP else FPSMP - ciFile = Just $ CIFile {fileId, fileName, fileSize, fileSource = Nothing, fileStatus = CIFSRcvInvitation, fileProtocol, fileExpires = Nothing} + ciFile = Just $ CIFile {fileId, fileName, fileSize, fileSource = Nothing, fileStatus = CIFSRcvInvitation, fileProtocol, fileExpires = Nothing, fileProhibited} content = ciContentNoParse $ CIRcvMsgContent $ MCFile "" (ci, cInfo) <- saveRcvChatItem' user (CDGroupRcv gInfo Nothing m) msg sharedMsgId_ brokerTs content ciFile Nothing False M.empty ci' <- blockedMemberCI gInfo m ci @@ -3410,7 +3458,7 @@ processAgentMessageConn cxt user@User {userId} corrId agentConnId agentMessage = cleanupRosterTransfer gInfo (groupMemberId' fromMember) let relayHdr = if isUserGrpFwdRelay gInfo then Just sm else Nothing chSize <- asks $ fileChunkSize . config - let rosterFInv = FileInvitation {fileName = "roster", fileSize, fileDigest = Nothing, fileConnReq = Nothing, fileInline = Just IFMSent, fileDescr = Nothing} + let rosterFInv = FileInvitation {fileName = "roster", fileSize, fileDigest = Nothing, fileConnReq = Nothing, fileInline = Just IFMSent, fileDescr = Nothing, fileBadge = Nothing} -- transfer record + its scratch file in one transaction (file owned by the transfer, keyed per source) rft@RcvFileTransfer {fileId} <- withStore $ \db -> do transferId <- liftIO $ createRosterTransfer db gInfo (groupMemberId' fromMember) newVer fileDigest (groupMemberId' author) brokerTs relayHdr @@ -3899,7 +3947,7 @@ processAgentMessageConn cxt user@User {userId} corrId agentConnId agentMessage = where MsgContainer {scope} = mc -- file description is always allowed, to allow sending files to support scope - XMsgFileDescr sharedMsgId fileDescr fileExpires -> void $ groupMessageFileDescription gInfo author_ sharedMsgId fileDescr fileExpires + XMsgFileDescr sharedMsgId fileDescr fileExpires fileBadge -> void $ groupMessageFileDescription gInfo author_ sharedMsgId fileDescr fileExpires fileBadge XMsgUpdate sharedMsgId mContent mentions ttl live msgScope asGroup_ -> void $ memberCanSend author_ msgScope $ groupMessageUpdate gInfo author_ sharedMsgId mContent mentions msgScope rcvMsg msgTs ttl live asGroup_ XMsgDel sharedMsgId memId scope_ _ -> void $ groupMessageDelete gInfo author_ sharedMsgId memId scope_ False rcvMsg msgTs diff --git a/src/Simplex/Chat/Messages.hs b/src/Simplex/Chat/Messages.hs index 5a62ca7a81..3c6dca2ac8 100644 --- a/src/Simplex/Chat/Messages.hs +++ b/src/Simplex/Chat/Messages.hs @@ -688,7 +688,8 @@ data CIFile (d :: MsgDirection) = CIFile fileSource :: Maybe CryptoFile, -- local file path with optional key and nonce fileStatus :: CIFileStatus d, fileProtocol :: FileProtocol, - fileExpires :: Maybe UTCTime + fileExpires :: Maybe UTCTime, + fileProhibited :: Maybe FileProhibited } deriving (Show) diff --git a/src/Simplex/Chat/Protocol.hs b/src/Simplex/Chat/Protocol.hs index 4660fb24a3..4671a927d1 100644 --- a/src/Simplex/Chat/Protocol.hs +++ b/src/Simplex/Chat/Protocol.hs @@ -50,7 +50,7 @@ import Data.Time.Clock.System (systemToUTCTime, utcToSystemTime) import Data.Type.Equality import Data.Typeable (Typeable) import Data.Word (Word16, Word32) -import Simplex.Chat.Badges (LocalBadge) +import Simplex.Chat.Badges (BadgeProof, LocalBadge) import Simplex.Chat.Call import Simplex.Chat.Options.DB (FromField (..), ToField (..)) import Simplex.Chat.Types @@ -451,7 +451,7 @@ signChatMsgBody MsgSigning {bindingTag, bindingData, keyRef, privKey} msgBody = data ChatMsgEvent (e :: MsgEncoding) where XMsgNew :: MsgContainer -> ChatMsgEvent 'Json - XMsgFileDescr :: {msgId :: SharedMsgId, fileDescr :: FileDescr, fileExpires :: Maybe UTCTime} -> ChatMsgEvent 'Json + XMsgFileDescr :: {msgId :: SharedMsgId, fileDescr :: FileDescr, fileExpires :: Maybe UTCTime, fileBadge :: Maybe BadgeProof} -> ChatMsgEvent 'Json XMsgUpdate :: {msgId :: SharedMsgId, content :: MsgContent, mentions :: Map MemberName MsgMention, ttl :: Maybe Int, live :: Maybe Bool, scope :: Maybe MsgScope, asGroup :: Maybe Bool} -> ChatMsgEvent 'Json XMsgDel :: {msgId :: SharedMsgId, memberId :: Maybe MemberId, scope :: Maybe MsgScope, onlyHistory :: Bool} -> ChatMsgEvent 'Json XMsgDeleted :: ChatMsgEvent 'Json @@ -1397,7 +1397,7 @@ appJsonToCM AppMessageJson {v, msgId, event, params} = do msg :: CMEventTag 'Json -> Either String (ChatMsgEvent 'Json) msg = \case XMsgNew_ -> XMsgNew <$> JT.parseEither parseJSON (J.Object params) - XMsgFileDescr_ -> XMsgFileDescr <$> p "msgId" <*> p "fileDescr" <*> opt "fileExpires" + XMsgFileDescr_ -> XMsgFileDescr <$> p "msgId" <*> p "fileDescr" <*> opt "fileExpires" <*> opt "fileBadge" XMsgUpdate_ -> do msgId' <- p "msgId" content <- p "content" @@ -1489,7 +1489,7 @@ chatToAppMessage chatMsg@ChatMessage {chatVRange, msgId, chatMsgEvent} = case en XMsgNew mc -> case toJSON mc of J.Object obj -> obj _ -> JM.empty - XMsgFileDescr msgId' fileDescr fileExpires -> o $ ("fileExpires" .=? fileExpires) ["msgId" .= msgId', "fileDescr" .= fileDescr] + XMsgFileDescr msgId' fileDescr fileExpires fileBadge -> o $ ("fileExpires" .=? fileExpires) $ ("fileBadge" .=? fileBadge) ["msgId" .= msgId', "fileDescr" .= fileDescr] XMsgUpdate {msgId = msgId', content, mentions, ttl, live, scope, asGroup} -> o $ ("asGroup" .=? asGroup) $ ("ttl" .=? ttl) $ ("live" .=? live) $ ("scope" .=? scope) $ ("mentions" .=? nonEmptyMap mentions) ["msgId" .= msgId', "content" .= content] XMsgDel msgId' memberId scope onlyHistory -> o $ ("memberId" .=? memberId) $ ("scope" .=? scope) $ ("onlyHistory" .=? justTrue onlyHistory) ["msgId" .= msgId'] XMsgDeleted -> JM.empty diff --git a/src/Simplex/Chat/Store/Files.hs b/src/Simplex/Chat/Store/Files.hs index 5ed3d9e8d5..1ba7c98fce 100644 --- a/src/Simplex/Chat/Store/Files.hs +++ b/src/Simplex/Chat/Store/Files.hs @@ -45,6 +45,9 @@ module Simplex.Chat.Store.Files updateSndFileStatus, createRcvFileTransfer, createRcvGroupFileTransfer, + createFileBadgeProof, + getFileBadgeProofs, + setFileProhibited, createRosterRcvFile, createRcvStandaloneFileTransfer, appendRcvFD, @@ -86,6 +89,7 @@ import Control.Monad.IO.Class import Data.Either (rights) import Data.Functor ((<&>)) import Data.Int (Int64) +import Data.List (foldl') import Data.Maybe (fromMaybe, isJust, listToMaybe) import Data.Text (Text) import qualified Data.Text as T @@ -93,6 +97,7 @@ import Data.Time (addUTCTime) import Data.Time.Clock (UTCTime (..), getCurrentTime, nominalDay) import Data.Type.Equality import Data.Word (Word32) +import Simplex.Chat.Badges (BadgeProof, BadgeProofKind (..), BadgeProofRow, BadgeStatus (..), badgeProofToRow, rowToBadgeProof) import Simplex.Chat.Messages import Simplex.Chat.Messages.CIContent import Simplex.Chat.Store.Messages @@ -180,7 +185,7 @@ getSndFTViaMsgDelivery db User {userId} Connection {connId, agentConnId} agentMs <$> (contactName_ <|> memberName_) createSndFileTransferXFTP :: DB.Connection -> User -> Maybe ContactOrGroup -> CryptoFile -> FileInvitation -> AgentSndFileId -> Maybe FileTransferId -> Integer -> IO FileTransferMeta -createSndFileTransferXFTP db User {userId} contactOrGroup_ (CryptoFile filePath cryptoArgs) FileInvitation {fileName, fileSize} agentSndFileId xftpRedirectFor chunkSize = do +createSndFileTransferXFTP db User {userId} contactOrGroup_ (CryptoFile filePath cryptoArgs) FileInvitation {fileName, fileSize, fileBadge} agentSndFileId xftpRedirectFor chunkSize = do currentTs <- getCurrentTime let xftpSndFile = Just XFTPSndFile {agentSndFileId, privateSndFileDescr = Nothing, agentSndFileDeleted = False, cryptoArgs} DB.execute @@ -188,6 +193,7 @@ createSndFileTransferXFTP db User {userId} contactOrGroup_ (CryptoFile filePath "INSERT INTO files (contact_id, group_id, user_id, file_name, file_path, file_crypto_key, file_crypto_nonce, file_size, chunk_size, redirect_file_id, agent_snd_file_id, ci_file_status, protocol, created_at, updated_at) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)" (maybe (Nothing, Nothing) contactAndGroupIds contactOrGroup_ :. (userId, fileName, filePath, CF.fileKey <$> cryptoArgs, CF.fileNonce <$> cryptoArgs, fileSize, chunkSize) :. (xftpRedirectFor, agentSndFileId, CIFSSndStored, FPXFTP, currentTs, currentTs)) fileId <- insertedRowId db + forM_ fileBadge $ createFileBadgeProof db fileId BPKInvitation pure FileTransferMeta {fileId, xftpSndFile, xftpRedirectFor, fileName, filePath, fileSize, fileInline = Nothing, chunkSize, cancelled = False} createSndFTDescrXFTP :: DB.Connection -> User -> Maybe GroupMember -> Connection -> FileTransferMeta -> FileDescr -> IO () @@ -445,8 +451,8 @@ updateSndFileStatus db SndFileTransfer {fileId, connId} status = do currentTs <- getCurrentTime DB.execute db "UPDATE snd_files SET file_status = ?, updated_at = ? WHERE file_id = ? AND connection_id = ?" (status, currentTs, fileId, connId) -createRcvFileTransfer :: DB.Connection -> UserId -> Contact -> FileInvitation -> Maybe InlineFileMode -> Integer -> ExceptT StoreError IO RcvFileTransfer -createRcvFileTransfer db userId Contact {contactId, localDisplayName = c} f@FileInvitation {fileName, fileSize, fileConnReq, fileInline, fileDescr} rcvFileInline chunkSize = do +createRcvFileTransfer :: DB.Connection -> UserId -> Contact -> FileInvitation -> Maybe FileProhibited -> Maybe InlineFileMode -> Integer -> ExceptT StoreError IO RcvFileTransfer +createRcvFileTransfer db userId Contact {contactId, localDisplayName = c} f@FileInvitation {fileName, fileSize, fileConnReq, fileInline, fileDescr, fileBadge} prohibited_ rcvFileInline chunkSize = do currentTs <- liftIO getCurrentTime rfd_ <- mapM (createRcvFD_ db userId currentTs) fileDescr let rfdId = (\RcvFileDescr {fileDescrId} -> fileDescrId) <$> rfd_ @@ -456,18 +462,57 @@ createRcvFileTransfer db userId Contact {contactId, localDisplayName = c} f@File fileId <- liftIO $ do DB.execute db - "INSERT INTO files (user_id, contact_id, file_name, file_size, chunk_size, file_inline, ci_file_status, protocol, created_at, updated_at) VALUES (?,?,?,?,?,?,?,?,?,?)" - (userId, contactId, fileName, fileSize, chunkSize, fileInline, CIFSRcvInvitation, fileProtocol, currentTs, currentTs) + "INSERT INTO files (user_id, contact_id, file_name, file_size, chunk_size, file_inline, ci_file_status, protocol, file_max_size, file_badge_status, created_at, updated_at) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)" + ((userId, contactId, fileName, fileSize, chunkSize, fileInline, CIFSRcvInvitation, fileProtocol) :. prohibitedRow prohibited_ :. (currentTs, currentTs)) insertedRowId db - liftIO $ + liftIO $ do DB.execute db "INSERT INTO rcv_files (file_id, file_status, file_queue_info, file_inline, rcv_file_inline, file_descr_id, created_at, updated_at) VALUES (?,?,?,?,?,?,?,?)" (fileId, FSNew, fileConnReq, fileInline, rcvFileInline, rfdId, currentTs, currentTs) - pure RcvFileTransfer {fileId, xftpRcvFile, fileInvitation = f, fileStatus = RFSNew, fileType = FTNormal, rcvFileInline, senderDisplayName = c, chunkSize, cancelled = False, grpMemberId = Nothing, cryptoArgs = Nothing} + forM_ (storedBadge prohibited_ fileBadge) $ createFileBadgeProof db fileId BPKInvitation + pure RcvFileTransfer {fileId, xftpRcvFile, fileInvitation = f, fileProhibited = prohibited_, fileStatus = RFSNew, fileType = FTNormal, rcvFileInline, senderDisplayName = c, chunkSize, cancelled = False, grpMemberId = Nothing, cryptoArgs = Nothing} -createRcvGroupFileTransfer :: DB.Connection -> UserId -> GroupInfo -> Maybe GroupMember -> FileType -> Maybe SharedMsgId -> FileInvitation -> Maybe InlineFileMode -> Integer -> ExceptT StoreError IO RcvFileTransfer -createRcvGroupFileTransfer db userId GroupInfo {groupId, localDisplayName = gName} m_ fileType sharedMsgId_ f@FileInvitation {fileName, fileSize, fileDigest, fileConnReq, fileInline, fileDescr} rcvFileInline chunkSize = do +setFileProhibited :: DB.Connection -> User -> Int64 -> FileProhibited -> IO () +setFileProhibited db User {userId} fileId FileProhibited {maxSize, badgeStatus} = do + currentTs <- getCurrentTime + DB.execute + db + "UPDATE files SET file_max_size = ?, file_badge_status = ?, updated_at = ? WHERE user_id = ? AND file_id = ?" + (maxSize, badgeStatus, currentTs, userId, fileId) + +prohibitedRow :: Maybe FileProhibited -> (Maybe Integer, Maybe BadgeStatus) +prohibitedRow = \case + Just FileProhibited {maxSize, badgeStatus} -> (Just maxSize, badgeStatus) + Nothing -> (Nothing, Nothing) + +-- a proof that did not verify is not stored - files.file_badge_status records that it failed +storedBadge :: Maybe FileProhibited -> Maybe BadgeProof -> Maybe BadgeProof +storedBadge prohibited_ badge_ = case prohibited_ of + Just FileProhibited {badgeStatus = Just st} | st /= BSActive -> Nothing + _ -> badge_ + +createFileBadgeProof :: DB.Connection -> Int64 -> BadgeProofKind -> BadgeProof -> IO () +createFileBadgeProof db fileId kind badge = do + currentTs <- getCurrentTime + DB.execute + db + [sql| + INSERT INTO file_badge_proofs (file_id, proof_kind, badge_proof, badge_pres_header, badge_key_idx, badge_type, badge_expiry, badge_extra, created_at, updated_at) + VALUES (?,?,?,?,?,?,?,?,?,?) + ON CONFLICT (file_id, proof_kind) DO UPDATE SET + badge_proof = excluded.badge_proof, + badge_pres_header = excluded.badge_pres_header, + badge_key_idx = excluded.badge_key_idx, + badge_type = excluded.badge_type, + badge_expiry = excluded.badge_expiry, + badge_extra = excluded.badge_extra, + updated_at = excluded.updated_at + |] + ((fileId, kind) :. badgeProofToRow badge :. (currentTs, currentTs)) + +createRcvGroupFileTransfer :: DB.Connection -> UserId -> GroupInfo -> Maybe GroupMember -> FileType -> Maybe SharedMsgId -> FileInvitation -> Maybe FileProhibited -> Maybe InlineFileMode -> Integer -> ExceptT StoreError IO RcvFileTransfer +createRcvGroupFileTransfer db userId GroupInfo {groupId, localDisplayName = gName} m_ fileType sharedMsgId_ f@FileInvitation {fileName, fileSize, fileDigest, fileConnReq, fileInline, fileDescr, fileBadge} prohibited_ rcvFileInline chunkSize = do currentTs <- liftIO getCurrentTime rfd_ <- mapM (createRcvFD_ db userId currentTs) fileDescr let rfdId = (\RcvFileDescr {fileDescrId} -> fileDescrId) <$> rfd_ @@ -479,15 +524,16 @@ createRcvGroupFileTransfer db userId GroupInfo {groupId, localDisplayName = gNam fileId <- liftIO $ do DB.execute db - "INSERT INTO files (user_id, group_id, file_name, file_size, chunk_size, file_inline, ci_file_status, protocol, file_type, shared_msg_id, created_at, updated_at, file_digest) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)" - ((userId, groupId, fileName, fileSize, chunkSize, fileInline, CIFSRcvInvitation, fileProtocol, fileType, sharedMsgId_, currentTs, currentTs) :. Only fileDigest) + "INSERT INTO files (user_id, group_id, file_name, file_size, chunk_size, file_inline, ci_file_status, protocol, file_type, shared_msg_id, created_at, updated_at, file_digest, file_max_size, file_badge_status) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)" + ((userId, groupId, fileName, fileSize, chunkSize, fileInline, CIFSRcvInvitation, fileProtocol, fileType, sharedMsgId_, currentTs, currentTs) :. Only fileDigest :. prohibitedRow prohibited_) insertedRowId db - liftIO $ + liftIO $ do DB.execute db "INSERT INTO rcv_files (file_id, file_status, file_queue_info, file_inline, rcv_file_inline, group_member_id, file_descr_id, created_at, updated_at) VALUES (?,?,?,?,?,?,?,?,?)" (fileId, FSNew, fileConnReq, fileInline, rcvFileInline, grpMemberId_, rfdId, currentTs, currentTs) - pure RcvFileTransfer {fileId, xftpRcvFile, fileInvitation = f, fileStatus = RFSNew, fileType, rcvFileInline, senderDisplayName = senderName, chunkSize, cancelled = False, grpMemberId = grpMemberId_, cryptoArgs = Nothing} + forM_ (storedBadge prohibited_ fileBadge) $ createFileBadgeProof db fileId BPKInvitation + pure RcvFileTransfer {fileId, xftpRcvFile, fileInvitation = f, fileProhibited = prohibited_, fileStatus = RFSNew, fileType, rcvFileInline, senderDisplayName = senderName, chunkSize, cancelled = False, grpMemberId = grpMemberId_, cryptoArgs = Nothing} -- Roster scratch file owned by a per-source transfer: group_member_id is the delivering relay (so chunk -- streams from different relays are distinct files), roster_transfer_id links to the metadata record. @@ -506,7 +552,7 @@ createRosterRcvFile db userId GroupInfo {groupId} src@GroupMember {localDisplayN db "INSERT INTO rcv_files (file_id, file_status, file_queue_info, file_inline, rcv_file_inline, group_member_id, created_at, updated_at) VALUES (?,?,?,?,?,?,?,?)" (fileId, FSNew, fileConnReq, fileInline, rcvFileInline, grpMemberId_, currentTs, currentTs) - pure RcvFileTransfer {fileId, xftpRcvFile = Nothing, fileInvitation = f, fileStatus = RFSNew, fileType = FTRoster, rcvFileInline, senderDisplayName = senderName, chunkSize, cancelled = False, grpMemberId = Just grpMemberId_, cryptoArgs = Nothing} + pure RcvFileTransfer {fileId, xftpRcvFile = Nothing, fileInvitation = f, fileProhibited = Nothing, fileStatus = RFSNew, fileType = FTRoster, rcvFileInline, senderDisplayName = senderName, chunkSize, cancelled = False, grpMemberId = Just grpMemberId_, cryptoArgs = Nothing} createRcvStandaloneFileTransfer :: DB.Connection -> UserId -> CryptoFile -> Int64 -> Word32 -> ExceptT StoreError IO Int64 createRcvStandaloneFileTransfer db userId (CryptoFile filePath cfArgs_) fileSize chunkSize = do @@ -586,7 +632,7 @@ rcvFileDescrWithinLimits partNo descrText = && T.length descrText <= maxRcvFileDescrTextLength getRcvFileDescrByRcvFileId :: DB.Connection -> FileTransferId -> ExceptT StoreError IO RcvFileDescr -getRcvFileDescrByRcvFileId db fileId = do +getRcvFileDescrByRcvFileId db fileId = liftIO (getRcvFileDescrByRcvFileId_ db fileId) >>= \case Nothing -> throwError $ SERcvFileDescrNotFound fileId Just rfd -> pure rfd @@ -625,6 +671,19 @@ getRcvFileDescrBySndFileId_ db fileId = |] (Only fileId) +getFileBadgeProofs :: DB.Connection -> Int64 -> IO (Maybe BadgeProof, Maybe BadgeProof) +getFileBadgeProofs db fileId = foldl' addProof (Nothing, Nothing) <$> DB.query db q (Only fileId) + where + q = + [sql| + SELECT proof_kind, badge_proof, badge_pres_header, badge_key_idx, badge_type, badge_expiry, badge_extra + FROM file_badge_proofs + WHERE file_id = ? + |] + addProof (inv_, descr_) (Only kind :. row) = case kind of + BPKInvitation -> (rowToBadgeProof row, descr_) + BPKDescription -> (inv_, rowToBadgeProof row) + toRcvFileDescr :: (Int64, Text, Int, BoolInt) -> RcvFileDescr toRcvFileDescr (fileDescrId, fileDescrText, fileDescrPartNo, BI fileDescrComplete) = RcvFileDescr {fileDescrId, fileDescrText, fileDescrPartNo, fileDescrComplete} @@ -652,7 +711,8 @@ getRcvFileTransfer_ db userId fileId = do SELECT r.file_status, r.file_queue_info, r.group_member_id, f.file_name, f.file_size, f.chunk_size, f.cancelled, cs.local_display_name, m.local_display_name, f.file_path, f.file_crypto_key, f.file_crypto_nonce, r.file_inline, r.rcv_file_inline, - r.agent_rcv_file_id, r.agent_rcv_file_deleted, r.user_approved_relays, g.local_display_name, f.file_type, f.file_digest + r.agent_rcv_file_id, r.agent_rcv_file_deleted, r.user_approved_relays, g.local_display_name, f.file_type, f.file_digest, + f.file_max_size, f.file_badge_status FROM rcv_files r JOIN files f USING (file_id) LEFT JOIN contacts cs ON cs.contact_id = f.contact_id @@ -666,9 +726,9 @@ getRcvFileTransfer_ db userId fileId = do where rcvFileTransfer :: Maybe RcvFileDescr -> - (FileStatus, Maybe ConnReqInvitation, Maybe Int64, String, Integer, Integer, Maybe BoolInt) :. (Maybe ContactName, Maybe ContactName, Maybe FilePath, Maybe C.SbKey, Maybe C.CbNonce, Maybe InlineFileMode, Maybe InlineFileMode, Maybe AgentRcvFileId, BoolInt, BoolInt) :. (Maybe ContactName, FileType, Maybe FileDigest) -> + (FileStatus, Maybe ConnReqInvitation, Maybe Int64, String, Integer, Integer, Maybe BoolInt) :. (Maybe ContactName, Maybe ContactName, Maybe FilePath, Maybe C.SbKey, Maybe C.CbNonce, Maybe InlineFileMode, Maybe InlineFileMode, Maybe AgentRcvFileId, BoolInt, BoolInt) :. (Maybe ContactName, FileType, Maybe FileDigest, Maybe Integer, Maybe BadgeStatus) -> ExceptT StoreError IO RcvFileTransfer - rcvFileTransfer rfd_ ((fileStatus', fileConnReq, grpMemberId, fileName, fileSize, chunkSize, cancelled_) :. (contactName_, memberName_, filePath_, fileKey, fileNonce, fileInline, rcvFileInline, agentRcvFileId, BI agentRcvFileDeleted, BI userApprovedRelays) :. (groupName_, fileType, fileDigest_)) = + rcvFileTransfer rfd_ ((fileStatus', fileConnReq, grpMemberId, fileName, fileSize, chunkSize, cancelled_) :. (contactName_, memberName_, filePath_, fileKey, fileNonce, fileInline, rcvFileInline, agentRcvFileId, BI agentRcvFileDeleted, BI userApprovedRelays) :. (groupName_, fileType, fileDigest_, fileMaxSize_, fileBadgeStatus_)) = case contactName_ <|> memberName_ <|> groupName_ <|> standaloneName_ of Nothing -> throwError $ SERcvFileInvalid fileId Just name -> @@ -683,10 +743,11 @@ getRcvFileTransfer_ db userId fileId = do (Just _, Just _) -> Just "" -- filePath marks files that are accepted from contact or, in this case, set by createRcvDirectFileTransfer _ -> Nothing ft senderDisplayName fileStatus = - let fileInvitation = FileInvitation {fileName, fileSize, fileDigest = fileDigest_, fileConnReq, fileInline, fileDescr = Nothing} + let fileInvitation = FileInvitation {fileName, fileSize, fileDigest = fileDigest_, fileConnReq, fileInline, fileDescr = Nothing, fileBadge = Nothing} + fileProhibited = (\maxSize -> FileProhibited {maxSize, badgeStatus = fileBadgeStatus_}) <$> fileMaxSize_ cryptoArgs = CFArgs <$> fileKey <*> fileNonce xftpRcvFile = (\rfd -> XFTPRcvFile {rcvFileDescription = rfd, agentRcvFileId, agentRcvFileDeleted, userApprovedRelays}) <$> rfd_ - in RcvFileTransfer {fileId, xftpRcvFile, fileInvitation, fileStatus, fileType, rcvFileInline, senderDisplayName, chunkSize, cancelled, grpMemberId, cryptoArgs} + in RcvFileTransfer {fileId, xftpRcvFile, fileInvitation, fileProhibited, fileStatus, fileType, rcvFileInline, senderDisplayName, chunkSize, cancelled, grpMemberId, cryptoArgs} filePath = case filePath_ of Nothing -> throwError $ SERcvFileInvalid fileId Just fp -> pure fp diff --git a/src/Simplex/Chat/Store/Messages.hs b/src/Simplex/Chat/Store/Messages.hs index 1cb90ab222..3998e1f249 100644 --- a/src/Simplex/Chat/Store/Messages.hs +++ b/src/Simplex/Chat/Store/Messages.hs @@ -164,6 +164,7 @@ import Data.Text (Text) import qualified Data.Text as T import Data.Time (addUTCTime) import Data.Time.Clock (UTCTime (..), getCurrentTime) +import Simplex.Chat.Badges (BadgeStatus) import Simplex.Chat.Controller (ChatListQuery (..), ChatPagination (..), PaginationByTime (..)) import Simplex.Chat.Markdown import Simplex.Chat.Messages @@ -1093,7 +1094,7 @@ getLocalChatPreview_ db user (LocalChatPD _ noteFolderId lastItemId_ stats) = do -- this function can be changed so it never fails, not only avoid failure on invalid json toLocalChatItem :: UTCTime -> ChatItemRow -> Either StoreError (CChatItem 'CTLocal) -toLocalChatItem currentTs ((itemId, itemTs, AMsgDirection msgDir, itemContentText, itemText, itemStatus, sentViaProxy, sharedMsgId) :. (itemDeleted, deletedTs, itemEdited, createdAt, updatedAt) :. forwardedFromRow :. (timedTTL, timedDeleteAt, itemLive, BI userMention, BI hasLink, msgSigned) :. (fileId_, fileName_, fileSize_, filePath, fileKey, fileNonce, fileStatus_, fileProtocol_, fileExpires)) = +toLocalChatItem currentTs ((itemId, itemTs, AMsgDirection msgDir, itemContentText, itemText, itemStatus, sentViaProxy, sharedMsgId) :. (itemDeleted, deletedTs, itemEdited, createdAt, updatedAt) :. forwardedFromRow :. (timedTTL, timedDeleteAt, itemLive, BI userMention, BI hasLink, msgSigned) :. (fileId_, fileName_, fileSize_, filePath, fileKey, fileNonce, fileStatus_, fileProtocol_, fileExpires) :. (fileMaxSize_, fileBadgeStatus_)) = chatItem $ fromRight invalid $ dbParseACIContent itemContentText where invalid = ACIContent msgDir $ CIInvalidJSON itemContentText @@ -1113,7 +1114,8 @@ toLocalChatItem currentTs ((itemId, itemTs, AMsgDirection msgDir, itemContentTex (Just fileId, Just fileName, Just fileSize, Just fileProtocol) -> let cfArgs = CFArgs <$> fileKey <*> fileNonce fileSource = (`CryptoFile` cfArgs) <$> filePath - in Just CIFile {fileId, fileName, fileSize, fileSource, fileStatus, fileProtocol, fileExpires} + fileProhibited = (\maxSize -> FileProhibited {maxSize, badgeStatus = fileBadgeStatus_}) <$> fileMaxSize_ + in Just CIFile {fileId, fileName, fileSize, fileSource, fileStatus, fileProtocol, fileExpires, fileProhibited} _ -> Nothing cItem :: MsgDirectionI d => SMsgDirection d -> CIDirection 'CTLocal d -> CIStatus d -> CIContent d -> Maybe (CIFile d) -> CChatItem 'CTLocal cItem d chatDir ciStatus content file = @@ -2276,7 +2278,7 @@ updateLocalChatItemsRead db User {userId} noteFolderId = do |] (CISRcvRead, currentTs, userId, noteFolderId, CISRcvNew) -type MaybeCIFIleRow = (Maybe Int64, Maybe String, Maybe Integer, Maybe FilePath, Maybe C.SbKey, Maybe C.CbNonce, Maybe ACIFileStatus, Maybe FileProtocol, Maybe UTCTime) +type MaybeCIFIleRow = (Maybe Int64, Maybe String, Maybe Integer, Maybe FilePath, Maybe C.SbKey, Maybe C.CbNonce, Maybe ACIFileStatus, Maybe FileProtocol, Maybe UTCTime) :. (Maybe Integer, Maybe BadgeStatus) type ChatItemModeRow = (Maybe Int, Maybe UTCTime, Maybe BoolInt, BoolInt, BoolInt, Maybe MsgVerified) @@ -2304,7 +2306,7 @@ toQuote (quotedItemId, quotedSharedMsgId, quotedSentAt, quotedMsgContent, _) dir -- this function can be changed so it never fails, not only avoid failure on invalid json toDirectChatItem :: UTCTime -> ChatItemRow :. QuoteRow -> Either StoreError (CChatItem 'CTDirect) -toDirectChatItem currentTs (((itemId, itemTs, AMsgDirection msgDir, itemContentText, itemText, itemStatus, sentViaProxy, sharedMsgId) :. (itemDeleted, deletedTs, itemEdited, createdAt, updatedAt) :. forwardedFromRow :. (timedTTL, timedDeleteAt, itemLive, BI userMention, BI hasLink, msgSigned) :. (fileId_, fileName_, fileSize_, filePath, fileKey, fileNonce, fileStatus_, fileProtocol_, fileExpires)) :. quoteRow) = +toDirectChatItem currentTs (((itemId, itemTs, AMsgDirection msgDir, itemContentText, itemText, itemStatus, sentViaProxy, sharedMsgId) :. (itemDeleted, deletedTs, itemEdited, createdAt, updatedAt) :. forwardedFromRow :. (timedTTL, timedDeleteAt, itemLive, BI userMention, BI hasLink, msgSigned) :. (fileId_, fileName_, fileSize_, filePath, fileKey, fileNonce, fileStatus_, fileProtocol_, fileExpires) :. (fileMaxSize_, fileBadgeStatus_)) :. quoteRow) = chatItem $ fromRight invalid $ dbParseACIContent itemContentText where invalid = ACIContent msgDir $ CIInvalidJSON itemContentText @@ -2324,7 +2326,8 @@ toDirectChatItem currentTs (((itemId, itemTs, AMsgDirection msgDir, itemContentT (Just fileId, Just fileName, Just fileSize, Just fileProtocol) -> let cfArgs = CFArgs <$> fileKey <*> fileNonce fileSource = (`CryptoFile` cfArgs) <$> filePath - in Just CIFile {fileId, fileName, fileSize, fileSource, fileStatus, fileProtocol, fileExpires} + fileProhibited = (\maxSize -> FileProhibited {maxSize, badgeStatus = fileBadgeStatus_}) <$> fileMaxSize_ + in Just CIFile {fileId, fileName, fileSize, fileSource, fileStatus, fileProtocol, fileExpires, fileProhibited} _ -> Nothing cItem :: MsgDirectionI d => SMsgDirection d -> CIDirection 'CTDirect d -> CIStatus d -> CIContent d -> Maybe (CIFile d) -> CChatItem 'CTDirect cItem d chatDir ciStatus content file = @@ -2380,6 +2383,7 @@ toGroupChatItem :. forwardedFromRow :. (timedTTL, timedDeleteAt, itemLive, BI userMention, BI hasLink, msgSigned) :. (fileId_, fileName_, fileSize_, filePath, fileKey, fileNonce, fileStatus_, fileProtocol_, fileExpires) + :. (fileMaxSize_, fileBadgeStatus_) ) :. (forwardedByMember, BI showGroupAsSender) :. memberRow_ @@ -2414,7 +2418,8 @@ toGroupChatItem (Just fileId, Just fileName, Just fileSize, Just fileProtocol) -> let cfArgs = CFArgs <$> fileKey <*> fileNonce fileSource = (`CryptoFile` cfArgs) <$> filePath - in Just CIFile {fileId, fileName, fileSize, fileSource, fileStatus, fileProtocol, fileExpires} + fileProhibited = (\maxSize -> FileProhibited {maxSize, badgeStatus = fileBadgeStatus_}) <$> fileMaxSize_ + in Just CIFile {fileId, fileName, fileSize, fileSource, fileStatus, fileProtocol, fileExpires, fileProhibited} _ -> Nothing cItem :: MsgDirectionI d => SMsgDirection d -> CIDirection 'CTGroup d -> CIStatus d -> CIContent d -> Maybe (CIFile d) -> CChatItem 'CTGroup cItem d chatDir ciStatus content file = @@ -2705,7 +2710,7 @@ getDirectChatItem db User {userId} contactId itemId = ExceptT $ do i.fwd_from_group_type, i.fwd_from_group_link, i.fwd_from_public_group_id, i.fwd_from_member_id, i.fwd_from_shared_msg_id, i.timed_ttl, i.timed_delete_at, i.item_live, i.user_mention, i.has_link, i.msg_signed, -- CIFile - f.file_id, f.file_name, f.file_size, f.file_path, f.file_crypto_key, f.file_crypto_nonce, f.ci_file_status, f.protocol, f.file_expires_at, + f.file_id, f.file_name, f.file_size, f.file_path, f.file_crypto_key, f.file_crypto_nonce, f.ci_file_status, f.protocol, f.file_expires_at, f.file_max_size, f.file_badge_status, -- DirectQuote ri.chat_item_id, i.quoted_shared_msg_id, i.quoted_sent_at, i.quoted_content, i.quoted_sent FROM chat_items i @@ -3099,7 +3104,7 @@ getGroupChatItem db User {userId, userContactId} groupId itemId = ExceptT $ do i.fwd_from_group_type, i.fwd_from_group_link, i.fwd_from_public_group_id, i.fwd_from_member_id, i.fwd_from_shared_msg_id, i.timed_ttl, i.timed_delete_at, i.item_live, i.user_mention, i.has_link, i.msg_signed, -- CIFile - f.file_id, f.file_name, f.file_size, f.file_path, f.file_crypto_key, f.file_crypto_nonce, f.ci_file_status, f.protocol, f.file_expires_at, + f.file_id, f.file_name, f.file_size, f.file_path, f.file_crypto_key, f.file_crypto_nonce, f.ci_file_status, f.protocol, f.file_expires_at, f.file_max_size, f.file_badge_status, -- CIMeta forwardedByMember, showGroupAsSender i.forwarded_by_group_member_id, i.show_group_as_sender, -- GroupMember @@ -3212,7 +3217,7 @@ getLocalChatItem db User {userId} folderId itemId = ExceptT $ do i.fwd_from_group_type, i.fwd_from_group_link, i.fwd_from_public_group_id, i.fwd_from_member_id, i.fwd_from_shared_msg_id, i.timed_ttl, i.timed_delete_at, i.item_live, i.user_mention, i.has_link, i.msg_signed, -- CIFile - f.file_id, f.file_name, f.file_size, f.file_path, f.file_crypto_key, f.file_crypto_nonce, f.ci_file_status, f.protocol, f.file_expires_at + f.file_id, f.file_name, f.file_size, f.file_path, f.file_crypto_key, f.file_crypto_nonce, f.ci_file_status, f.protocol, f.file_expires_at, f.file_max_size, f.file_badge_status FROM chat_items i LEFT JOIN files f ON f.chat_item_id = i.chat_item_id WHERE i.user_id = ? AND i.note_folder_id = ? AND i.chat_item_id = ? diff --git a/src/Simplex/Chat/Store/Postgres/Migrations.hs b/src/Simplex/Chat/Store/Postgres/Migrations.hs index 91f2b13fb5..e3f5409680 100644 --- a/src/Simplex/Chat/Store/Postgres/Migrations.hs +++ b/src/Simplex/Chat/Store/Postgres/Migrations.hs @@ -49,6 +49,7 @@ import Simplex.Chat.Store.Postgres.Migrations.M20260723_contact_request_rejectio import Simplex.Chat.Store.Postgres.Migrations.M20260813_auto_accept_group_invitations import Simplex.Chat.Store.Postgres.Migrations.M20260822_forward_link import Simplex.Chat.Store.Postgres.Migrations.M20260828_file_expiry +import Simplex.Chat.Store.Postgres.Migrations.M20260904_file_badges import Simplex.Messaging.Agent.Store.Shared (Migration (..)) schemaMigrations :: [(String, Text, Maybe Text)] @@ -97,7 +98,8 @@ schemaMigrations = ("20260723_contact_request_rejection", m20260723_contact_request_rejection, Just down_m20260723_contact_request_rejection), ("20260813_auto_accept_group_invitations", m20260813_auto_accept_group_invitations, Just down_m20260813_auto_accept_group_invitations), ("20260822_forward_link", m20260822_forward_link, Just down_m20260822_forward_link), - ("20260828_file_expiry", m20260828_file_expiry, Just down_m20260828_file_expiry) + ("20260828_file_expiry", m20260828_file_expiry, Just down_m20260828_file_expiry), + ("20260904_file_badges", m20260904_file_badges, Just down_m20260904_file_badges) ] -- | The list of migrations in ascending order by date diff --git a/src/Simplex/Chat/Store/Postgres/Migrations/M20260904_file_badges.hs b/src/Simplex/Chat/Store/Postgres/Migrations/M20260904_file_badges.hs new file mode 100644 index 0000000000..0ef3ef8e87 --- /dev/null +++ b/src/Simplex/Chat/Store/Postgres/Migrations/M20260904_file_badges.hs @@ -0,0 +1,40 @@ +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE QuasiQuotes #-} + +module Simplex.Chat.Store.Postgres.Migrations.M20260904_file_badges where + +import Data.Text (Text) +import Text.RawString.QQ (r) + +m20260904_file_badges :: Text +m20260904_file_badges = + [r| +ALTER TABLE files ADD COLUMN file_max_size BIGINT; +ALTER TABLE files ADD COLUMN file_badge_status TEXT; + +CREATE TABLE file_badge_proofs( + badge_proof_id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, + file_id BIGINT NOT NULL REFERENCES files ON DELETE CASCADE, + proof_kind TEXT NOT NULL, + badge_proof BYTEA NOT NULL, + badge_pres_header BYTEA NOT NULL, + badge_key_idx BIGINT NOT NULL, + badge_type TEXT NOT NULL, + badge_expiry TIMESTAMPTZ NOT NULL, + badge_extra TEXT NOT NULL, + created_at TIMESTAMPTZ NOT NULL, + updated_at TIMESTAMPTZ NOT NULL +); + +CREATE UNIQUE INDEX idx_file_badge_proofs_file_id_kind ON file_badge_proofs(file_id, proof_kind); +|] + +down_m20260904_file_badges :: Text +down_m20260904_file_badges = + [r| +DROP INDEX idx_file_badge_proofs_file_id_kind; +DROP TABLE file_badge_proofs; + +ALTER TABLE files DROP COLUMN file_badge_status; +ALTER TABLE files DROP COLUMN file_max_size; +|] diff --git a/src/Simplex/Chat/Store/Postgres/Migrations/chat_schema.sql b/src/Simplex/Chat/Store/Postgres/Migrations/chat_schema.sql index a6d9fbe4cb..8d21189ba2 100644 --- a/src/Simplex/Chat/Store/Postgres/Migrations/chat_schema.sql +++ b/src/Simplex/Chat/Store/Postgres/Migrations/chat_schema.sql @@ -744,6 +744,33 @@ ALTER TABLE test_chat_schema.extra_xftp_file_descriptions ALTER COLUMN extra_fil +CREATE TABLE test_chat_schema.file_badge_proofs ( + badge_proof_id bigint NOT NULL, + file_id bigint NOT NULL, + proof_kind text NOT NULL, + badge_proof bytea NOT NULL, + badge_pres_header bytea NOT NULL, + badge_key_idx bigint NOT NULL, + badge_type text NOT NULL, + badge_expiry timestamp with time zone NOT NULL, + badge_extra text NOT NULL, + created_at timestamp with time zone NOT NULL, + updated_at timestamp with time zone NOT NULL +); + + + +ALTER TABLE test_chat_schema.file_badge_proofs ALTER COLUMN badge_proof_id ADD GENERATED ALWAYS AS IDENTITY ( + SEQUENCE NAME test_chat_schema.file_badge_proofs_badge_proof_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + + CREATE TABLE test_chat_schema.files ( file_id bigint NOT NULL, contact_id bigint, @@ -771,7 +798,9 @@ CREATE TABLE test_chat_schema.files ( file_type text DEFAULT 'normal'::text NOT NULL, roster_transfer_id bigint, file_digest bytea, - file_expires_at timestamp with time zone + file_expires_at timestamp with time zone, + file_max_size bigint, + file_badge_status text ); @@ -1691,6 +1720,11 @@ ALTER TABLE ONLY test_chat_schema.extra_xftp_file_descriptions +ALTER TABLE ONLY test_chat_schema.file_badge_proofs + ADD CONSTRAINT file_badge_proofs_pkey PRIMARY KEY (badge_proof_id); + + + ALTER TABLE ONLY test_chat_schema.files ADD CONSTRAINT files_pkey PRIMARY KEY (file_id); @@ -2336,6 +2370,10 @@ CREATE INDEX idx_extra_xftp_file_descriptions_user_id ON test_chat_schema.extra_ +CREATE UNIQUE INDEX idx_file_badge_proofs_file_id_kind ON test_chat_schema.file_badge_proofs USING btree (file_id, proof_kind); + + + CREATE INDEX idx_files_chat_item_id ON test_chat_schema.files USING btree (chat_item_id); @@ -2980,6 +3018,11 @@ ALTER TABLE ONLY test_chat_schema.extra_xftp_file_descriptions +ALTER TABLE ONLY test_chat_schema.file_badge_proofs + ADD CONSTRAINT file_badge_proofs_file_id_fkey FOREIGN KEY (file_id) REFERENCES test_chat_schema.files(file_id) ON DELETE CASCADE; + + + ALTER TABLE ONLY test_chat_schema.files ADD CONSTRAINT files_contact_id_fkey FOREIGN KEY (contact_id) REFERENCES test_chat_schema.contacts(contact_id) ON DELETE CASCADE; diff --git a/src/Simplex/Chat/Store/SQLite/Migrations.hs b/src/Simplex/Chat/Store/SQLite/Migrations.hs index e3f5f9385b..6ea5ad950d 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations.hs +++ b/src/Simplex/Chat/Store/SQLite/Migrations.hs @@ -172,6 +172,7 @@ import Simplex.Chat.Store.SQLite.Migrations.M20260723_contact_request_rejection import Simplex.Chat.Store.SQLite.Migrations.M20260813_auto_accept_group_invitations import Simplex.Chat.Store.SQLite.Migrations.M20260822_forward_link import Simplex.Chat.Store.SQLite.Migrations.M20260828_file_expiry +import Simplex.Chat.Store.SQLite.Migrations.M20260904_file_badges import Simplex.Messaging.Agent.Store.Shared (Migration (..)) schemaMigrations :: [(String, Query, Maybe Query)] @@ -343,7 +344,8 @@ schemaMigrations = ("20260723_contact_request_rejection", m20260723_contact_request_rejection, Just down_m20260723_contact_request_rejection), ("20260813_auto_accept_group_invitations", m20260813_auto_accept_group_invitations, Just down_m20260813_auto_accept_group_invitations), ("20260822_forward_link", m20260822_forward_link, Just down_m20260822_forward_link), - ("20260828_file_expiry", m20260828_file_expiry, Just down_m20260828_file_expiry) + ("20260828_file_expiry", m20260828_file_expiry, Just down_m20260828_file_expiry), + ("20260904_file_badges", m20260904_file_badges, Just down_m20260904_file_badges) ] -- | The list of migrations in ascending order by date diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/M20260904_file_badges.hs b/src/Simplex/Chat/Store/SQLite/Migrations/M20260904_file_badges.hs new file mode 100644 index 0000000000..1dec68471c --- /dev/null +++ b/src/Simplex/Chat/Store/SQLite/Migrations/M20260904_file_badges.hs @@ -0,0 +1,39 @@ +{-# LANGUAGE QuasiQuotes #-} + +module Simplex.Chat.Store.SQLite.Migrations.M20260904_file_badges where + +import Database.SQLite.Simple (Query) +import Database.SQLite.Simple.QQ (sql) + +m20260904_file_badges :: Query +m20260904_file_badges = + [sql| +ALTER TABLE files ADD COLUMN file_max_size INTEGER; +ALTER TABLE files ADD COLUMN file_badge_status TEXT; + +CREATE TABLE file_badge_proofs( + badge_proof_id INTEGER PRIMARY KEY AUTOINCREMENT, + file_id INTEGER NOT NULL REFERENCES files ON DELETE CASCADE, + proof_kind TEXT NOT NULL, + badge_proof BLOB NOT NULL, + badge_pres_header BLOB NOT NULL, + badge_key_idx INTEGER NOT NULL, + badge_type TEXT NOT NULL, + badge_expiry TEXT NOT NULL, + badge_extra TEXT NOT NULL, + created_at TEXT NOT NULL, + updated_at TEXT NOT NULL +) STRICT; + +CREATE UNIQUE INDEX idx_file_badge_proofs_file_id_kind ON file_badge_proofs(file_id, proof_kind); +|] + +down_m20260904_file_badges :: Query +down_m20260904_file_badges = + [sql| +DROP INDEX idx_file_badge_proofs_file_id_kind; +DROP TABLE file_badge_proofs; + +ALTER TABLE files DROP COLUMN file_badge_status; +ALTER TABLE files DROP COLUMN file_max_size; +|] diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt b/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt index 47a6d2745d..1b293022e4 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt +++ b/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt @@ -1357,7 +1357,7 @@ Query: i.fwd_from_group_type, i.fwd_from_group_link, i.fwd_from_public_group_id, i.fwd_from_member_id, i.fwd_from_shared_msg_id, i.timed_ttl, i.timed_delete_at, i.item_live, i.user_mention, i.has_link, i.msg_signed, -- CIFile - f.file_id, f.file_name, f.file_size, f.file_path, f.file_crypto_key, f.file_crypto_nonce, f.ci_file_status, f.protocol, f.file_expires_at + f.file_id, f.file_name, f.file_size, f.file_path, f.file_crypto_key, f.file_crypto_nonce, f.ci_file_status, f.protocol, f.file_expires_at, f.file_max_size, f.file_badge_status FROM chat_items i LEFT JOIN files f ON f.chat_item_id = i.chat_item_id WHERE i.user_id = ? AND i.note_folder_id = ? AND i.chat_item_id = ? @@ -1375,7 +1375,7 @@ Query: i.fwd_from_group_type, i.fwd_from_group_link, i.fwd_from_public_group_id, i.fwd_from_member_id, i.fwd_from_shared_msg_id, i.timed_ttl, i.timed_delete_at, i.item_live, i.user_mention, i.has_link, i.msg_signed, -- CIFile - f.file_id, f.file_name, f.file_size, f.file_path, f.file_crypto_key, f.file_crypto_nonce, f.ci_file_status, f.protocol, f.file_expires_at, + f.file_id, f.file_name, f.file_size, f.file_path, f.file_crypto_key, f.file_crypto_nonce, f.ci_file_status, f.protocol, f.file_expires_at, f.file_max_size, f.file_badge_status, -- CIMeta forwardedByMember, showGroupAsSender i.forwarded_by_group_member_id, i.show_group_as_sender, -- GroupMember @@ -1432,7 +1432,7 @@ Query: i.fwd_from_group_type, i.fwd_from_group_link, i.fwd_from_public_group_id, i.fwd_from_member_id, i.fwd_from_shared_msg_id, i.timed_ttl, i.timed_delete_at, i.item_live, i.user_mention, i.has_link, i.msg_signed, -- CIFile - f.file_id, f.file_name, f.file_size, f.file_path, f.file_crypto_key, f.file_crypto_nonce, f.ci_file_status, f.protocol, f.file_expires_at, + f.file_id, f.file_name, f.file_size, f.file_path, f.file_crypto_key, f.file_crypto_nonce, f.ci_file_status, f.protocol, f.file_expires_at, f.file_max_size, f.file_badge_status, -- DirectQuote ri.chat_item_id, i.quoted_shared_msg_id, i.quoted_sent_at, i.quoted_content, i.quoted_sent FROM chat_items i @@ -1721,7 +1721,8 @@ Query: SELECT r.file_status, r.file_queue_info, r.group_member_id, f.file_name, f.file_size, f.chunk_size, f.cancelled, cs.local_display_name, m.local_display_name, f.file_path, f.file_crypto_key, f.file_crypto_nonce, r.file_inline, r.rcv_file_inline, - r.agent_rcv_file_id, r.agent_rcv_file_deleted, r.user_approved_relays, g.local_display_name, f.file_type, f.file_digest + r.agent_rcv_file_id, r.agent_rcv_file_deleted, r.user_approved_relays, g.local_display_name, f.file_type, f.file_digest, + f.file_max_size, f.file_badge_status FROM rcv_files r JOIN files f USING (file_id) LEFT JOIN contacts cs ON cs.contact_id = f.contact_id @@ -3972,6 +3973,14 @@ SEARCH pgm USING INDEX idx_pending_group_messages_group_member_id (group_member_ SEARCH m USING INTEGER PRIMARY KEY (rowid=?) USE TEMP B-TREE FOR ORDER BY +Query: + SELECT proof_kind, badge_proof, badge_pres_header, badge_key_idx, badge_type, badge_expiry, badge_extra + FROM file_badge_proofs + WHERE file_id = ? + +Plan: +SEARCH file_badge_proofs USING INDEX idx_file_badge_proofs_file_id_kind (file_id=?) + Query: SELECT r.contact_id, g.group_id, r.group_member_id FROM received_probes r @@ -4763,6 +4772,7 @@ Plan: SEARCH files USING INDEX idx_files_user_id (user_id=?) LIST SUBQUERY 1 SEARCH chat_items USING COVERING INDEX idx_chat_items_note_folder_has_link_created_at (user_id=? AND note_folder_id=?) +SEARCH file_badge_proofs USING COVERING INDEX idx_file_badge_proofs_file_id_kind (file_id=?) SEARCH extra_xftp_file_descriptions USING COVERING INDEX idx_extra_xftp_file_descriptions_file_id (file_id=?) SEARCH rcv_files USING INTEGER PRIMARY KEY (rowid=?) SEARCH snd_files USING COVERING INDEX idx_snd_files_file_id (file_id=?) @@ -4893,6 +4903,20 @@ Query: Plan: +Query: + INSERT INTO file_badge_proofs (file_id, proof_kind, badge_proof, badge_pres_header, badge_key_idx, badge_type, badge_expiry, badge_extra, created_at, updated_at) + VALUES (?,?,?,?,?,?,?,?,?,?) + ON CONFLICT (file_id, proof_kind) DO UPDATE SET + badge_proof = excluded.badge_proof, + badge_pres_header = excluded.badge_pres_header, + badge_key_idx = excluded.badge_key_idx, + badge_type = excluded.badge_type, + badge_expiry = excluded.badge_expiry, + badge_extra = excluded.badge_extra, + updated_at = excluded.updated_at + +Plan: + Query: INSERT INTO files ( user_id, note_folder_id, @@ -6704,6 +6728,7 @@ SEARCH users USING INTEGER PRIMARY KEY (rowid=?) Query: DELETE FROM files WHERE roster_transfer_id = ? Plan: SEARCH files USING COVERING INDEX idx_files_roster_transfer_id (roster_transfer_id=?) +SEARCH file_badge_proofs USING COVERING INDEX idx_file_badge_proofs_file_id_kind (file_id=?) SEARCH extra_xftp_file_descriptions USING COVERING INDEX idx_extra_xftp_file_descriptions_file_id (file_id=?) SEARCH rcv_files USING INTEGER PRIMARY KEY (rowid=?) SEARCH snd_files USING COVERING INDEX idx_snd_files_file_id (file_id=?) @@ -6712,6 +6737,7 @@ SEARCH files USING COVERING INDEX idx_files_redirect_file_id (redirect_file_id=? Query: DELETE FROM files WHERE user_id = ? AND contact_id = ? Plan: SEARCH files USING INDEX idx_files_contact_id (contact_id=?) +SEARCH file_badge_proofs USING COVERING INDEX idx_file_badge_proofs_file_id_kind (file_id=?) SEARCH extra_xftp_file_descriptions USING COVERING INDEX idx_extra_xftp_file_descriptions_file_id (file_id=?) SEARCH rcv_files USING INTEGER PRIMARY KEY (rowid=?) SEARCH snd_files USING COVERING INDEX idx_snd_files_file_id (file_id=?) @@ -6720,6 +6746,7 @@ SEARCH files USING COVERING INDEX idx_files_redirect_file_id (redirect_file_id=? Query: DELETE FROM files WHERE user_id = ? AND group_id = ? AND file_type = ? Plan: SEARCH files USING INDEX idx_files_group_id (group_id=?) +SEARCH file_badge_proofs USING COVERING INDEX idx_file_badge_proofs_file_id_kind (file_id=?) SEARCH extra_xftp_file_descriptions USING COVERING INDEX idx_extra_xftp_file_descriptions_file_id (file_id=?) SEARCH rcv_files USING INTEGER PRIMARY KEY (rowid=?) SEARCH snd_files USING COVERING INDEX idx_snd_files_file_id (file_id=?) @@ -7023,13 +7050,13 @@ Plan: Query: INSERT INTO files (contact_id, group_id, user_id, file_name, file_path, file_crypto_key, file_crypto_nonce, file_size, chunk_size, redirect_file_id, agent_snd_file_id, ci_file_status, protocol, created_at, updated_at) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) Plan: -Query: INSERT INTO files (user_id, contact_id, file_name, file_size, chunk_size, file_inline, ci_file_status, protocol, created_at, updated_at) VALUES (?,?,?,?,?,?,?,?,?,?) +Query: INSERT INTO files (user_id, contact_id, file_name, file_size, chunk_size, file_inline, ci_file_status, protocol, file_max_size, file_badge_status, created_at, updated_at) VALUES (?,?,?,?,?,?,?,?,?,?,?,?) Plan: Query: INSERT INTO files (user_id, file_name, file_path, file_size, chunk_size, ci_file_status, protocol, created_at, updated_at) VALUES (?,?,?,?,?,?,?,?,?) Plan: -Query: INSERT INTO files (user_id, group_id, file_name, file_size, chunk_size, file_inline, ci_file_status, protocol, file_type, shared_msg_id, created_at, updated_at, file_digest) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?) +Query: INSERT INTO files (user_id, group_id, file_name, file_size, chunk_size, file_inline, ci_file_status, protocol, file_type, shared_msg_id, created_at, updated_at, file_digest, file_max_size, file_badge_status) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) Plan: Query: INSERT INTO files (user_id, group_id, file_name, file_size, chunk_size, file_inline, ci_file_status, protocol, file_type, shared_msg_id, roster_transfer_id, created_at, updated_at) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?) diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql b/src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql index 90706e70dd..6f8952714a 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql +++ b/src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql @@ -302,7 +302,9 @@ CREATE TABLE files( file_type TEXT NOT NULL DEFAULT 'normal', roster_transfer_id INTEGER, file_digest BLOB, - file_expires_at TEXT + file_expires_at TEXT, + file_max_size INTEGER, + file_badge_status TEXT ) STRICT; CREATE TABLE snd_files( file_id INTEGER NOT NULL REFERENCES files ON DELETE CASCADE, @@ -852,6 +854,19 @@ CREATE TABLE rcv_roster_transfers( created_at TEXT NOT NULL DEFAULT(datetime('now')), updated_at TEXT NOT NULL DEFAULT(datetime('now')) ) STRICT; +CREATE TABLE file_badge_proofs( + badge_proof_id INTEGER PRIMARY KEY AUTOINCREMENT, + file_id INTEGER NOT NULL REFERENCES files ON DELETE CASCADE, + proof_kind TEXT NOT NULL, + badge_proof BLOB NOT NULL, + badge_pres_header BLOB NOT NULL, + badge_key_idx INTEGER NOT NULL, + badge_type TEXT NOT NULL, + badge_expiry TEXT NOT NULL, + badge_extra TEXT NOT NULL, + created_at TEXT NOT NULL, + updated_at TEXT NOT NULL +) STRICT; CREATE INDEX contact_profiles_index ON contact_profiles( display_name, full_name @@ -1386,6 +1401,10 @@ CREATE INDEX idx_files_roster_transfer_id ON files(roster_transfer_id); CREATE INDEX idx_chat_items_item_signed_by_group_member_id ON chat_items( item_signed_by_group_member_id ); +CREATE UNIQUE INDEX idx_file_badge_proofs_file_id_kind ON file_badge_proofs( + file_id, + proof_kind +); CREATE TRIGGER on_group_members_insert_update_summary AFTER INSERT ON group_members FOR EACH ROW diff --git a/src/Simplex/Chat/Types.hs b/src/Simplex/Chat/Types.hs index 9c7ae95749..7bfd2f299d 100644 --- a/src/Simplex/Chat/Types.hs +++ b/src/Simplex/Chat/Types.hs @@ -1558,7 +1558,8 @@ data FileInvitation = FileInvitation fileDigest :: Maybe FileDigest, fileConnReq :: Maybe ConnReqInvitation, fileInline :: Maybe InlineFileMode, - fileDescr :: Maybe FileDescr + fileDescr :: Maybe FileDescr, + fileBadge :: Maybe BadgeProof } deriving (Eq, Show) @@ -1573,7 +1574,8 @@ xftpFileInvitation fileName fileSize fileDescr = fileDigest = Nothing, fileConnReq = Nothing, fileInline = Nothing, - fileDescr = Just fileDescr + fileDescr = Just fileDescr, + fileBadge = Nothing } data InlineFileMode @@ -1627,10 +1629,14 @@ instance ToJSON FileType where toJSON = J.String . textEncode toEncoding = JE.text . textEncode +data FileProhibited = FileProhibited {maxSize :: Integer, badgeStatus :: Maybe BadgeStatus} + deriving (Eq, Show) + data RcvFileTransfer = RcvFileTransfer { fileId :: FileTransferId, xftpRcvFile :: Maybe XFTPRcvFile, fileInvitation :: FileInvitation, + fileProhibited :: Maybe FileProhibited, fileStatus :: RcvFileStatus, fileType :: FileType, rcvFileInline :: Maybe InlineFileMode, @@ -2379,6 +2385,8 @@ $(JQ.deriveJSON defaultJSON ''GroupMemberRef) $(JQ.deriveJSON defaultJSON ''FileDescr) +$(JQ.deriveJSON defaultJSON ''FileProhibited) + $(JQ.deriveJSON defaultJSON ''FileInvitation) $(JQ.deriveJSON defaultJSON ''SndFileTransfer) diff --git a/src/Simplex/Chat/View.hs b/src/Simplex/Chat/View.hs index 49823ae7cf..e973adfd6f 100644 --- a/src/Simplex/Chat/View.hs +++ b/src/Simplex/Chat/View.hs @@ -2453,11 +2453,25 @@ viewReceivedFileInvitation :: StyledString -> CIFile d -> CurrentTime -> TimeZon viewReceivedFileInvitation from file ts tz meta = receivedWithTime_ ts tz from [] meta (receivedFileInvitation_ file) False receivedFileInvitation_ :: CIFile d -> [StyledString] -receivedFileInvitation_ CIFile {fileId, fileName, fileSize, fileStatus} = +receivedFileInvitation_ CIFile {fileId, fileName, fileSize, fileStatus, fileProhibited} = ["sends file " <> ttyFilePath fileName <> " (" <> humanReadableSize fileSize <> " / " <> sShow fileSize <> " bytes)"] - <> case fileStatus of - CIFSRcvAccepted -> [] - _ -> ["use " <> highlight ("/fr " <> show fileId <> " [

      OF?=1zV`$5*>j{ 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.t^pm?SlT0?4uIl6qB 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 literal 0 HcmV?d00001 diff --git a/website/src/img/crowdfunding/simplex-growth-2.png b/website/src/img/crowdfunding/simplex-growth-2.png new file mode 100644 index 0000000000000000000000000000000000000000..671865cbe6719d6b68e8c3b9d4bd151987f644aa GIT binary patch literal 220105 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�S}jCUI3{f}Vwg?LAR?Pu&;BJGDfMTzt4z=Rjlf#t z?k*dCnu11i{11EZ<2hhc(G-(@nex!G4 z1vYFL>X@W)qaJ&?39!jp+c2b9RI4wCq}|ZPGsXPyyFa;|aG;LHA5y~NVay_$)@6{6 zs$o-DUe`EsgGYRtPZ$2C|u{c-6(8;_xXw@XEOgBf_Z>t0JmlNiS)8Tw-Z(|ipvZ0lq6O1WS z(!EOaLQ8;zTrVQVz<$x1{Re^UWa$_5zxD2RV^L3je6uLdO81@|m!6nEa~m%j-LSCQ ztKf4m;^Fhq&^#>%-*4U^l2d$wHeb){zP(kq6*N4~l|y-(8=y z;x3Z7E!!nE+h*}T6<)5S#z1Q}wxTKM4lC*JGa4rjIwKX>UQnMZ;SEw@^ciHEY@edW z{Tde##aeLS6n)45jwUS^>j){}kmnKJODE`IO~#&a@LRh~{mo4y?JX2}=8@WuzsN97 z9iH~PDd6rVqxD4A_8Q<*uh+h#Jj6Zea7?+l#Q!>M{+q3BxfwMFjc3KAtg=Mp8>XH> ztt1NoU)FajD zl5<6+ZMI3d(4kQxPRh@sBAbdBxc5~Y;_iYJi%c&}oPs%_YFCk>H{uI`yV|he`*TX# zx%F9_t`wYmcJ0=20SWB~jmIe81C5qiwjTDIoKwho?UqA!iOFemsE-Lf%*itLru6Ww6!JXPz`Srq#-9ZOn zpdfwh>ug?4=pp6b8-`sKZjLS!Er}*l(1+A{o%0X5*gCS#e>46q&_?QVptwhPCagk) z2^cWJR`a5vF8g+YgX9@F8D(WU0mkQkX0GM1z-!ovUbtY31fq7VVCjlQi*U! z4<{en!?8iQ;tqGagf6C{UyM{Yxosu~=CLO+qp}+U-MgjpkgSO=cCm1W%E@3;AND z1e{O6_IZA!5L~Jkqc)lIIR-zi@t$auwXh>e4KL&S{y#8LN-K|UjFciX<660}{(`no=s$KV~e%Ym(XU)X(_ z{Fp4o1K$q=Wa-e9eTi`$g|*%d)+#KycQCh@mWQ#G2;d0F`cT>AKE9jnG*_q*rXSHD zgwD9DCY`#z{QC~5kU6xrSOS6Lt4|l3^*lU7mZW846agw+)}!>y#m>5nZ>aa~zl@fJ zfJo-AjxqiOnfTkvBKsuC@b5|not~?vk1T9#M(qd6sVvGGWwFSp=bV2c#nXNg!F9<( zOYWcSuYRb8s~!8h+ZFIB-DbX`x+Hx&$J4ByLlT%0euRiCKd9(Wy-psFUb-&4c!l!I z-pnG|^l5}(J9l>L__AJtfxdTtJf3Y(`%XKw2F3`VGM0)`)lrKYrH?LAIA0`Gl3N&! z6{S6YXX{1S)upUDyt{p*8`#`w+jE)JTL&Lr*+ww@ppQ69bH+bao!dkAcei6%)ZS9f)BBqUF2l(3iV zOmhoVIT>*ybABDpPSH^5nwj<9GnW6ObPb7Tuxo~*+=M-U7N_zhBab|nS{+g_f^2r| zRJsSje-*K6fIU5UV?4x7aLWd{GPUpgHJ(0?gdFdOKo*#P|3s4TsD5*qu~Y# z1@7utJev~DI4r9@CVO8LXp5D@z<}m5XZQw|X+#bk>sD&!-@)?nU0)CWGGp0VE8d~G zyM`;sxgil?I))z99ffnw`=iGhv`5qrPIppaQ_a|CwER4`^-9~;+X3cAIC>~(vFkPq zBoZ_eO_G@L{qWE|G10hzC7Ke?|0=j&6Yizt4PO(_dGnT@iS2N>VfEywZ54|JQK`xN zE9S9F)ao*rbUYw{6iKj;sBv;tZVVP6m7YXr_fwyCHQXzA=fSG{PlfOhoBo1Xs+!{5 z$-?i_AYRvn$tuj!R2|aEM_qTlWlds4F=}Az^%5KW+@#zRa9l(L-V?#}r|@B9h^?jp z68<@-YJ%-Lb+hVi7W+PhSvUP`k9x($*QB-o=JIJ8@H~LednK4Js@0<^w|}1ejqT!U z>!fCJ5;*<$0fX~PAY8T(JT9zz(3R$S@oL{Q3HO+m(FblpJH+a_v{7OsgutX-WnCCL z7g@WZovdgZw`m#F^&wBg_u8W(*~df~N#x|Z>+=#A%vW|IKNG&^ajtKPyWS4zI@#<3 z%ND*b7~-Fza8?Kni5^g(YzaP&tbU@%j4wwc*g#+si}@9a^31O6-`%lhTx~OA#nF@g z9et?_m&-qeL_%(QhG+Axcg%P9_P$Ag1f-ozNYcL4o%64VBEzwYBgCauv}SGAYIZ0< zyvDtn0k1=a$BLk{yzdvU%kPlSj0bkwVrap*)jQ?cJTn0GCwV^W-QfZ5|EB81g|8`l#+LxuY;a4dFZ&Qm5z z8msJDkXefn0>4jA2eyC|JZoojmcLz>2bR`!nL zhCA0wI>;)ZM@2;pk*h_!^CH4zS_qS;Y9C1y(~ndb50N~~g?vJjkZsHlE)&iGkr0x# zoYaz?clS$Xgnw@{y#91;|QV%*q7G9`NbLY#8)uBN`UO~L)PpLc@ za}H0v`Klw~O*@e-`U!x$cK&VD&2IHVAw*;AKuxDXFS3qTIIoHwIAGqJ6bU@F(A3#o zb=7BgMrU{ZOBO=Yf$7NT2(?BWUm$ag0f@HCj+hfPLnnymqn?~nX_M;^MnfM`_xK|a z3|7{quH{`oN=S#E*_tB_(uRS$P0!kTYV@k`A#FflF@9tfCW6We*@;$rb*?TtS zBa+T=-|yXj2Zr8|-WvAn_d=fwSL@1=+;dNlcqhvk?Gr-rXMuF+?*~+v-Z4fq+Bnd) zT-Cy<`QGjEug`4}fyDyixfnO?TCIK>R{LC(?=02eONmVx4q*`+MQIK|QhXDW>oO8gohp;6U|4Q%JEM2W5a8 ziP;r49uo>nPE1Pxy9zs`L*^%tMPa$$w19jxfDfKj6|7mKizL53$3Ao)9A<+@JcpkP zs+#SH;}>sq>wfddtcME5`Ex_I=05CV1V0!ld_-c*znUXCTOpt$0=J)p=rqvkBzjY~ zW*b>%_J4;d_f_IUC4|mNB6R$YHhf0Vi?Ov|7#$l0&Ha6BZZVthi*u~2^_D_rv35H?jeZvRe&DZF9(`CoPNmaB-A z68;#q;tAiU7%o`XJK4JZ4bMYfk0LYYIp@l`KLz3mnKp z8kga)oo+)J1u+}l;S^_5liC38O5jtv^zztTm%A}(mYR5g$W-4Ji)>>UyCFK0MZ=(1 z9uuLznkYjR_G3Nf4mMk}9I-fLk_-ZYd<8tmP5FCO0EYh`Q*RyD)?3@zi~b(`E-Iu5t4A}L;n=98i@W0Er@U_QMMr&-rNa~2p zwp-_kl}p)8%2fA7Z^LkzSQ+(OBQ_;7f{WXpsu8vmU>_et)Hw+kiQ!20?y{qev1~g& zHDI;rRQlm^eL8;-`!+V-q|GToTe)hTWv5E>iN;2)24|T6^Gqris9h#=s3>THt7Eb4 z;l+$;TLlfhjJm8}Z4G}da0_GB88mQca4h~`U{4#|yIxdWtduw`Jp^C=l_jkSKN?b3 z-^yJjkjMq<_ZfoDXIdRl`?yRuSH-Qq5 zDk#1DIXBNpExyy?J@u@+#Y~u^B^^NNT zn)i&Gwd+y!yV`>;l3IK^TjPq#NrBjPfp9DSkqZ}<_1Slii`fv&oAUHD({o&cZ55n# zi^{zWG-WBew1+--9UeDw7Uuhpm=vd$`S0R|n^F~BVM$5zs&m^Of;uNz&U^s40siG)d=5W0twDggQzgrOt zwJO_lS~Zr>Wro+ZX(ViLn!xI}y5mFJC8d0+ReZo00=|atYmY@<8@fKOEed^c&)sM7 zaOozlP9RmyEI?*ef?$hF7CT>gR%3IDPo-#T!}@4+3jGaHAIc)d-wWVNIz^*M4mHv- zcVNqy%^<7Fqz`s_b$RkzS#XqfqGd8C)>}S|qX($1;@`;SN|?4MDqaMiP zZENDKK`&4A)sDUJLN%w?^?@eEWFPMSkoyDA89e#}&#|Xn#lv$(SHg1{-u#_iFQ9L& zn46BEi7LvVR08E6)=NdU_oy{RGLOt^2m7fGL3tL941vn8*04--4t;dgPYmynA>$Ba zZdVI$i`3q+`SS{wE%{-2bbu??8tLc)_TG-2yJw{0Dnese42g+m z6hV!4#`UE$aD^W-&|ymdJNk~u_#tP@C-9*{*)S!v9rEib$R=D$)qSzZR_&)R6?3(o zd;w<2z}p&7vS;I(cHiq@*-5_W(x&@?F@0q*^?o;He?I4H?F>Qg+r!CjzEgzD0)_iV zVNS5|Ya8uNCf|*1{7bUgorL|W43aL3^vQQXInpk-8lX`14tR+tF!Ic!U5qdDbYbqw z^u_pw_(VSuU&gkimE!aHeEGTwht+iT=c=nQek zgD&TuB+=J5%k3@Wd?0(8o-!$yL+uR4MXB$});JerslII(_yw(&W1Ws$ubLwJGpCH; zs5`yKK)qP6B+)o^6@ufaL}|s;mu6e34|~$_CW`;7wJPQ@uv&U_D96)JKeK1yDXeB2 z+2Abw58j97X#{S5b&ED6dgoga#^A3b<<_m*dqLI7DWX>joyEn;Dv2sZ4~p{`0*+xX z+ENw85EFl;%jyaG{(N1pp~BMHrJSo(ugLE{y8aM#2G@p#RJ7(7eeC&6WWso#9<6lm z%Y)Ol8H$AEy2IyZ=icDSj&p*|?gu)e;47psa`n2shn~0#Py}(v3S2^psV~R(&KI>n z;5?*U4S5?lW6g0T?-a(XsM6983zp{YiuCK9?6IU@E8FVTS5*=dyn*k+==6+3RF=!) zday2SjO77)$Eiity>!~?&JWV>hw9Nbh35Gf15!1Fl&t*!@w%IScZAjBK&o(jE&0jS zk=81SqDB`dCBSf6z(8NTRts{lCDEFJ47UVT8!bCljO)&6`*}`r8e~Y3jQojG?B8At zOPj3xK3RQlq{s69v&H-OT~hQ{D&9Qers@WZcV0aa<)D6cLj9EI+aj{jU3~1daJn1Q z++|4LgF|lUw#CGo$&60vN8)p+QnT;o%TRqmo{A0R<#(F8uO?CV5-O3ZjplYMMu0Vm zCa^LAAIdFAKB4)tMD^u-P50Rf09pbwcY;$9GXx%sueJC-`6uEhz;-ZBa9VJDpIzce zims|@{0cUuGl7qx%xJWr<$hH&Q5eZ;qghyG6!`c1#J!hX_xaSu5X#G7>vfjpr~xsR zq2Ov@TVhn1i7LHabpEu^;5(?|o4z)IIymJjvJq!i{ot+Cd==aj`^HewY+S=-C&QE#5Vx})0r5X_n1;8;nZ6(01|?%Y^80I9??pEE z%6p|+EoID*sj8(5N&Eap|5Rc==aysSJkm`}P<{=!j(IqpX?Yh|T!Xw%H}*;tEs z9F^l(Mn@!T*H3qsz_Ty1xx!A`rD-qT@e_;id|fn#5;(B!`k$3H@GHEIJ44}Rv<}^V zV*b;bOt>_LATnp0-gT9B_tTE6#Z7FFO;aZG@RMbJ1f)J2t!^uIYlOvX5_PrB0NeAv8xyhIPkOY;zU(jn)Jj&WT6aC|4d-w(`WbgUrUJIxQ}p@nWFG{uKcUQ{h-29(p&6ap)d@@{f=EE_8-pS7} zR&4y8HUrDZ_>F(O549&hu?ROwkBJ*Kdl!BtIT1-uRC$dQ$)Yz~`W-M=I6{1Jk{-acN;X-Nl%N>n-&bW!U z)q35JUqb&SW`UZ(K8!4Vh$8%$YCVw`91(P0YrbnU{0&l%lG>y7HBKeK+Dm{T-BWW7 z$(5ySuOlezYWOtQNSJQ1&-19L#c4~0kK|Uz6jHZrNVv1-i#gb_(2jpb0HeA!MMofG*7kqerou9FknWgCkf3}M54-ZcM z$3H-1=lD_7boF|yNaC^!NrIT1(_g>F`=s}hUhdiJN7#0%>%J0ArndEwADBS`KWFD@ zC`ah32!7e|{OWsZOl|&Q;>jMYlW~@(uCeYr(8)v`9hleWX;Xs{?Hz@MUsn()uoA|_{_ z9VL%GJDZz}ER@R|a%;?^F$*=ANS(OG$*abYGl;*u9BK0{#(%p%&KE<%7D{KHA3m#} zY8$ab|Nf0BDIb;2tntauc=wX^A0-D+JAGHTIu-(Q6X7S~bXW*cPgl#?il zVwfS0k1Mf!iI>d;+)I&WL95gD56bWvF;}{An~2Iog4on()wT(~yW^<;;$i}pEY?n_ z`+kkzPD+1CH7*ZO?wJ0(ptX!&qdJtnZi%mCuAj z*Sq@kG~c|!|F$hdzWvqs>39(GrV`>1EOT=uxQ-(x+4)1~U|?X-cYx?}ReNXF#Ip0#X z^o`EubEO-nt?uXJOt6Z`$#*(aU3-9I8y$=yaU{!Nh0@WuWSj zX9%7eC!cC`K%92O^5@Au-u=ht&W<`gAS z(=syZa~quZ;T`N@UfQeUy77NZ$n;Ydes1Y*00k9tIZm3+{xF`f-KcXdmyA-K$Nl{f z0+C16;Vi0p+TG{lN_DY0y?KOWg#zEH7KMkK%xA1jK>2Tu1f2TC%g-2`DDg|cB#o*1q`Xy+5zD)&2 z6h^_HaXoBxi3RT^TD9e>GcWq+&@tT!QFxY^wo-88=DR(VKB_FNBR_5Uz@Exnqn!V! z#tE;RPfO)%Hgya!bGs0#y`dLeL$|otnnR?Dak()aQbA7vG1I-XFOMh63=7lpSYEgn zI2crw#xIC!*j{nRwLJYxFL<96%a3xl98VIZI^~)#V~x@AJiWcNxR|#+YVw##?02{M zpZPETQ-P-ZvhnJAL=b!6*XfH&y~((qOuxgck9a9H^IV;@16a<%C1*(Ms+LdjC5t7? z?GdHX=@$_!qQ;SBOh4^&hE|v-rODA;q&7q&zg|qYy2J`S;r#2}dK8&$!-DQ=Vht5H z{#2Q8Sh{TA=qYjh{M7X=iJy&Jn8q!=aPF-(QxkL|)$4B_SSiVG-5%8#f%o10$~Hsv zV2pp*dkSRP#U!2$k;K+rNK4~|r!wQ+y8F*km4$*PjtcpfrY3SFxe_D8q@nG;OGuHc zrJbFLn?Gn&+e`vt9m5r-!F#6d$FG*S)C(h=qQY9lXIlX}^3 zzQ|Zf@ROTWd1h$t44czrj{6cClgc zYwi14dm!*~sWK3?bxsGoI8n9o4}_$dz(EGYTIS~2WI+8m!tTz`pW&aqatFDbbULtFskwQnv2F< zY8xDOHet9vdI?vpnZp++(nocTKe0ulaPuB;2^;go>06`j{fdkw?^Y!WpSL_q3))PY zo%Qw}5}`KsNpDsg`kDK$!mQL*%>r!&)atTT{j_rKF%Z#0%D@Otx&3Sa07lQ&U;GW8 zQl7-|l;aP`fWw*gHht#3L)RHz-iWiVu0UK1j5oii$b1*S^mKK_1YJ!v_PbvR;r}W{ zn3~5PquIE4q7+e%oW7-{Iy{wzSWZv@2H^!mv&NeC^?3t+-wkKW*xG$!&n=@!Zo@h5 zn`Ja9VSI!=cABnM$Kn*{6Lgo=!(aY%+34zO9D=gXG9SLZqD!-|WuF|Qe1`-g2A|k# zPt+Ut9k{D`$I&o~y>*WxZ_@=DglJ+a9_p(J72r+pLTRjN#+5#E8S8Q841bBF#x{89 zvg!H<1VQWE&sI~1#CzKJRm@F>sfI&^;iL0Q32><{evM}p_JH>rpY}c{MLhd&vEu78 z|0Rw{NSUh*?MW^E;a`b6cAxnv_&gj%!PdHgc z`^Im4)i&$Z8lz<+6HZV8K;(C|EZ)*-`H*|_W`5=L;_RunrhtW|Q~4_K(CiozK8sB> zYjx|3r0o$hZh(xHL^FwWk9rSAklIc*Mz~G2U7yGKZ6*}Ax%GI0X@u|1Ub0aPh~*ZD zk!WZ%2^cKSrU`r)=1|&WZ<8DM9dlNiC!`{{5kBu zp9B@eZVF~{ddQY&*C`~y%4X{>bZPGL3M5vGt@ZPkylAL;=wdbM8gT8(e^kI(@KVn~ zmNR+Q25$ShuT8I1WtL&loR8N(sHf-x@wBCS)jjV5j4MU7r+G z&+0g}v?RaePYsQexSF>MqT)Ac=q3`clyyazXMoS)L9Hi5JQsf7ivB|3)ZTYb8m*1oNrn=L z0a=V!mgajo+w!N^Z5g#}tizcjK*K}*jZYpsxhxSl{e`%W=-q~KHgqThehh5}>gAaU zFD{iUDk_e^(q_(1hQE-tzB_hbS5!Eot-Y#L$zHBl-!t6uuZ*_Il-@Ug*}31qiY2|a zH4MRqyJO909cPQ{LqM?*CpCsE_1Z0O1M^yqM$e^OgB#WB6cOQOFDUxwtmU$XBrh1| zp6=+X3C{w6DWYPCF1e74W2!%^D@N<~9TLW%RY{0$5a)BG)Lp8vHWID0g6!;w5tE(LsilOBn+r3 zC?dq$_AOT*aP2Ybn|}J(^C>c!7a8hYrS@-xm}*j+S^MwqrxU62#W4(eoxrSO)SOmp zXS-hst>dNoiSAS8@!hS?+-J48$PfP0(`E4|oiFLeAFtSP8VF_41fiID#jOULUMe6P zz$=w*LH?}{LH1YYRe^_y%3YXlDU%1l!W`GsL}IonGmsL0BKHIs0ukRbC*9SHNLI3t zwvcsXpgSMsOAoOIdM=*dk4_Yc*kW19&hzCcNru+--utW&vI)OmNyizVI&6$UZEv3m zE`r2T-R&;zD}wRfpP5Qh#&G2r$nO?}(+;e&Bxt!?=54b(OzvT~_%`ZFnB1(#Vm@uV z`#H>eQr1(wSKQ(l_GW8w<51v<>(=!sN|;`>vvc9-Mkj`^DzEoDnI=5yQEwaxu|((9 z?#%^SRm0?J(2C4GnqK^*IZ3qRxOPdgZ5QeP8h!R*XW5L}6|V{bXz&=}gQ#oHQ>~T3 zVT1OFvtZZIc+ax7p}d3`MFg)`#w~15xMgMQHx7)kK5n~%4!&oZ!Pzm$Hfh$_S zje#oDO8xN{*lhObnCD62-Epi+(-Hh*Fy_lDtX_+2^}P3sd3LOC<_c+wgyi~^;7V!! z4$SsuS7qq9K`_dPvVp8Z)qj%IEPB*q15KKCnRIz=J9GzHgz|cXHn?QA=@w9dTV(gN z(2rx$ut=wnn4q=beW|bD?+1YB`|u$qCLrmy3=b4>bZ@KnN4v3A>?sA~u;=k-e#wix zba;R%A&HcxYH|nL6e;zs@dy3!*@7~54J113n`6lUrK>Txd5+vQbX3o+0vT0kA5?Te zL*$j=K$rg;@D=vjr{ZLr(1&z>Pa4am3(^Ye@qK$(D(E{_vn{kM*$lR5 zE?5a%J~@3v75Qchiei^!T)a^LJ-n1=DA4q_Yz#HIx%wTwB90sp3=FFIxd!d;myvW` zmXz&zQp}Y|GMc@FPwg)3h~Ry~>0`!A-)mdkSvZU2>)er_lpj)s(HYA>OJt)N{|Z(9 z!em$O=^RWBn~M;JC{c5k-u-#?mps9wHfk3yXrQW;$%8!y&0g9~ZFOsIxPcC0JFL}YM+S&`UZUsP8k;1` zwm*Dv(3in*=5mEUgRf%}4%)`xg+Xof;RFfkg!AY7wS*tM(S0RmH%(X9xba^#HkHrC zgLVP7+mYJ?sNu}y1y4OJy>ch|NK`lrEH91S4`_Ebk~q8)n72y)adkD=;TB!c>G5z# zm7jP^rcI~GOkG-scIRu(bA*OJ zsJIlS;_9G(_qjR;p__`GeGWB+h`){ zNmDs5PNMFO3!>Nmu)7tiOfzP>z^D=3G}$K-p`r?IQgmszXEL+@2Xx4>xL@lR3TeHm zsr2*nivxe*Sxvy_9jZfXwI>{(FG!uIP)UO=wA-~x z$o)q@^zNdJS*7mv^5OQ!AEQu8P)Q=$r=mvhd-=@zaK=dy@34b2p>z3+nw#Tx!pj+ubmDK$76X+;PtAQjr4@ z-hu>75%_zk``FTyZTIB?tHpy1wZUbxy~4P?^I5Uy+);RO*Nlt?Zfk`ve=m|xw%}X} zSBHykcKp!1FtwhXoX)?YN$&oAbYkLcxOtzZ<@4tCqJ-gc{|zFSHeWIL(Q;}7rBDPUAf6#68C4;t!;-RNs~`O z+fb&Lv~{&yqPCp;Hj2ax-({klRrd%eIC}ml^w0lFCDpLoT{u?Kg|j%2FTiI z7zg0i#1l@LVf`hv2-;DG>=7lmtZvU(2kyrv2Ic1tSC|q|#VJl@i&u2^deL{6D+TSw zqhQkwuD=uk0s}r(@iiyMA)hzVn4{46q}qDfJAXBNn+|!GW!JA+HmalkT-Q}UdQx%S zUB59R^Lrt~zh6cu;15Y70kUJeMM8h%AQ0=X<$<-G23xOGiy)=f8^Nxro1<+3YXtH~ zzR8B2bC#(&y=x>vg`H$6%c z4gMb^-v@*UQm2A(Vs5+U>q?LnJIiM<_Cf3g6Yf&!jZ_vaZI|Ma({+YhAJPrXFUBxX z>}6cfCDG+C2A<(SagDv5Q_wWGYBRdy4-r{rG_`JFVd3nz8<$M|;gVA)DLVDQxNja~E^EaFAR$&gxk)AoX3vWbo>^&D1+nlC6o2V{XN+fhMYR_M(5( zsfpK{fh;P!^{So|x9wDJzYI}KUqcNdUwRQ$Bpw1*;=I22^3Xa3I?K-=*Kb~$d??@C zmY@&1HtWGu@&&N;CtjlN2Hg@QFJ_m#O`wF#_ z_jYz*`!89I?#zSsO2!Y6)9U5^h0!-i}2vE3ul^X6VNUQ=@e8**zW+Sj_#4YrYRPyH_s@W1x`Cbz^Z;zWDhx>6c zv?PyQs4Okhc;mwkqooG9bIuQ?kLd!QElT=HW{4f)Ks?LV7y6mixb$-S8S+u9PpEVev< zjo7hrm>l2Cq2gNoR1&1wYjQ(Ij<}oM=wa}lz9Q#0qiI?~r+6@?Zs@mMK zAd_Yl^2N83rLQn3b$L4pK&Rcydx?zZS|iAi?uP-P^Ewk>0+{ZU4+*dH@J~AR&g!VZ zKUldR#6}A2Xl^kU?$?tq*A^C>I+)7A?xSVZeQvx7E!l_zzL=V7m6Cxn2oQ(_V-~z{ zn0}kFf7m|~?-!xKqpo?x!Uot6wcFdHY-^#aZUxIGOJY@ zAj(0pL>`^*n*2$9g=%p$^R0gr`gUXMyz`Q|DG-;T2Wc|sS*^yp$ml-F|r?X9U)YkkT4bw7z3gRW0F8U71E%_fwD?`^X9%SbhA5c9Th6$MGbEBq+hP>me z^$kqkA|woSFQT~KOddYlXh6+vhLhbM@r!{Q@EKTQe`&3S&<1WB^fC2RGTywJv_jUB zzGFqd=mY(3U}VafV(5XMW4~uG_-zg)TkeLG!coCNgWUHn1Bt}I3XIOpb_$h9WbgeU|CruIPWHdQ1^3$?`$?_D}U;f*in z*$%!RwK5b2+1H*rCO2O*HabTq+JWYwp7PgHZ)FQLD*%0COt5jB2N(pk9(Q=bCVM00 zeU+EPFCEx<_6eE*;13-0CE>bGgUod_*+^zLNU?%>2&`h8w-6XWK_!WQwCQ}H7ke0H zEn__W3>F=>4Mk5#9i|^#+iZ7`;{$gVn22ndYWqu|HwpK-1PHIS3h{O5iH50byxayZ zFZM_$*KbGo?fbf)>VyxPGXY0%=S!yB(z}a#i_)yHP-H2xGt=N?dpPFjsQ>(I&v3(v zvaay?n^VHQJJAJ9=5ri+bFG@bH4XyRT zvj$tu>j44PW=(D{Y+)6B5j4=HeMTF3x`yT5$MlgpblK#=)UjnLp~Iy*D$_PKN8Ym` zmSLJa_+9~qtcrsb)7zX_bk`t{Z*fWQUjIQYl|yV`##)rhLe;FK_E`N6ovvJ>pb8>X zG~Q;L7p|wcKDMf zW7a;$Z2CNK@J*)blk)2WM5Dz$gS;O!4wKfljctzhm^(88)qR(PR>0`K3P6aL%|M5z zc*Sr%a=`=C>L;Ga*RzQ+z2rRjYPGgm!3T52A9ek^Ncx}guWWA^HfRv7YZ@+!EoESQ zt345y-+{^QU%_$LO_#$BOaWzdt}Wvz^#u=4HqS2TApP)TYv7QLN%nO5S&wwi`8$dJ zWot%X6Tj$50TuE2ad5(>TckEkV`dg%;|M<=|LHhLRobI`z^mD8L+mg;fj1eOD3zg_ zDJ8=fe?AixyMJ0xE(wV+Hh}^C=E)o zu1wdrH5szNNB@=I7`9pV^{-OLSjC|NmM|{YK2&vy(@#=yB#z{12bh9$^_tj<$w}eQBj_>BU z`vgem2oQ3b=|qgaxq}Ys$RHz0zgP+lQNQ9!92#vK4V53=^@E6mz2TcSEV&$Q9o^@D z4&M-Tz?$!9<;{uaIP%7K=cBK5<<0fxzn4d&SlPCKr(Q?n>_=OLH$Qo9Qj$rfi-Vla zPR1&;+pYjt@o&Z*0}mb~A6(WRkG;7WI!aq%0*m`FcvJ=n4d3|KcY<+K!#A|8Xxs_V zTvnJLpB?@=XJ`BU7Bp5H#%wC~XEt?}QjD$Amj ziKKh5HGx0HHD*Pvc_6{c`;K0v>sa`}wMyo+Dg9Bg8&9xRoC~nJNoq5T$^*xrL6NE4 zlU~lgc(k;vI~R1{%s9WixA|GdR27dFZ4a~Pn7b8+BX>qmUNy#Q-4FKd!)Kzcik*}y zBcd^dciHEp)4`jkAWd5yH6QiOOBsvKlTGBPcY6zR=GiuT%8hkfGxm7~a)Y)~bfxKr z9fbc0_m3A$QC@j6b^@hVwG3mWeiK=1?XlanlbtMf$Wb%o-M_W%~+=Zwd&LQ1+K|B02H{bpG)2%1bzMdZ8 zqRzhg`NckD|09`xw@bb{5uhJ;O+|br%)IiV3Z+O58O{sDgcGA-ax+{^q0D}HU>+ZO;kp@Vl-EB&;-9^JtkJr=kE_=6+ zi)K+qZqC#&N>4SG!AZrE1Mx5om9#vBq2I~T@isl%HzbdXuq(2r7uJaYaB zyZ|MHixBCcV3TcBLT{b2eqewb{M0!kbNe0IIIq#XB<>R@-K&&sQH?D@qC-!(>w#3h zN1iSlHsJ`YofZC-{=~QYAdr2hpq4&7M46!BBAtdWT}!$!RpT{txX7SyN!)*>*jv9# z*aDi;hI+gwdcI2yY#`%N?_0CfI-_GbXN*cKLD4gKd%f<^j0Br3bgjoXFpJ%>bZ5@^ zV0OWae!G-f82V0V%a}3|0s>Pfq}yMIUkX5+%9g|xRLaE+ZOiB2^mmQ(B>wVS2= zY}Qa)LdiDqe=4;l2_gT*CV%DyRKZ?=g<812tkXKSEh4GR^-m+A+91Kot64_{gSMX3 zUJe!B`hqHu)#N9w=nLLW08t`;X}gxXV{m?e)VdhLF{O6nxI)+Rg2I@+&?Pu;)`Ysl zOOfK0Fka6(yL3Ly5)S&tZTsygPf6DI-@mn_Kf}J4xCg#^?U^C}{unvvv2)$%4)@Ho zGG-k|!%XS4un_ISsdw5ItS=g$k@wJ74)45{d&8l z8E%^TnM(+BArkf|;SRqy_RG`$NgwN}025VOsurU{zbIIu{C$rxV6IsFS78-Eb=$=o zIs44ig4o{lPlHrCt#u{K3X-n>Bl7$i%QhnNJE9Dj(Mov=N9GA7W}q~N?mji3x9txh zDthWp9ec-cHdRqxE3AD+WBm@*2SrRuk6c^E^z9IGZU!@71eUMWdZ2IMoM5hqjNB%1ux z{8oe~E>e}ymH6G`8MbU?9(OyBA_)jvK`%(9MoFBTiI-ZW!YH#Yf3iz-QQLW#&2qA? zI5Yjh|LKN;zo^@5cYV?53S!Dkzmn4cqM9ftGCp0N!#a@R+`qJJx z(B|IRXSJN0(6vZ(#mVjfi1z4PTf4^Nm3|aV?*-yg{dr%T@>;@b2n|r=w4QCgXy(u` z>L3R%2>UB``}+u6cQA&c$xVi$T=Ap;WbYlQD@kWlQ*$4$MRLWFNJsXc^>x-M>kcLI5n{ z^i(8L8ghD4Bol}v$kkFO-wp_>BAV38S7sq3{5~UU6L)qyL4%=UF%zyq?!5o^U;KXd zF%5DnZtIoEacX`BV_eg#W0Q$< z>y@Qs6p#G=-zwUlZ_4|-gU}YE&JH90zP|KUL-OY|_lfqGGB_R@zFD>jXEAN!X0K4? ztEeWz^8)=}iT~__{?H1m*PQ%uN0d65+uW7*@%-!&&&SC$yXOG+{4i1Z7`4BY+d&VC zU5)?DKKN0(B4Zm{9Gp}IMf;WoxE``R7h`4XE#(-j9(xMCOEzl+;|>EO_SAVm8EcU- zb`(2&T-yzW36g9yQ;Mnq^iGc{Sp|G-(-b}b2b%hGMS3>;y8%jvz#o1l7fg$L+PiG3 z+)GVP_N{ULv8W1bYMwmMolnQ1;zygXTE-m_4NEu+pP_Pi$@J||05gPztGbT=Q)FVL z4$oKnA_tCRMWl~5-@8!><}$UpzT8-Mp66rTg`TGypi=6SEXqq0fu@$*aKX%aaZ z+atpS?{d5`%Ey4yyq+4QWH;ifP5ds^!%fHgc*=Dg^`8l)2nb*1t2m z7kUV5{UGF287?|@jcW;reZf)lurl9PW?wzOS-oBmx;Zr%QymZ@TY%#;*gA zpw9oBs0;VXfqYFlVG9cZM8CV3@eM}V*p&;OIj#5hDYH_){1hDRl_a)6$gZ(e<@{(} zUPFu0HtU2F%Bo7`z!YEz>AeimjXUN_W?i&PJ9$!?@gxR`h)iD=(m}jekFo-_r~ZoLEuVQ;R$}s>5&h4jv(q=UJQ+4#`f8My zph7O`D;FaF%c7Bu=EWRF!PlSWK8JH7RO42hq3C*GqVYljw&xbq?9oY<&X_v4@LKhr z`ghMEaRpBC>DG4ydD<_cpZr-x@I3+&qZ#p4m7*yQ4|K1dAQ%bE*NR1a#!P9U`UeZB z{^~dXjNWyO-|-ebn`>LhPE!g(brjnkufG&898;A@*Bhc6x;R^x5s4l;^yIb_K=1~T zt1|JQaU_OIHQc5VRZ4gUYiR5|o_sxtkbmd#@Q0A)*(NFPaRWnW zoIV&s(2*x{&TX#LVGOuhn zR%YUe{ZjKfj5v$Ff5kn-yk%$P$&3yyFP!rKUU%z}#W#qkSScN^R*-_4JD-NbElZV` zZlx?yP2NgGanh{t{ZoB-uKZ z==H(g{EIJtBviM|Y%X4zod2r;Srt?w+&!4g@JW5yk+THQ^?s+n2fH>^_P1D)YcE-y z%d1I1TCw>V2J)cX9KF|D({>~3$biFmhZYT`H*~OyAAf<` z0-b*5|7QqZYj2d(JI5;g^*HI}{G2eCTd~LHZEyDVy7jSp(3y0c2|J`c5!;#+z!`U> z1c6htX5Jt1jmsHOrgh(KE0r=#6{j6KDe}b~6xuJjc$a`0!LYWhw2_Eg_Kz;U^g>z| zlyt_Wu55;WpRW$r<9j%jF6r|nCk82WEH?3@Fd|Q6vLaH^1C8m^yeOw0`ZajTcdZ$r33EJ&q!=*R)+c~H}hLa{C+2Th|`AEw&(|&#x$&;WHi=*)` zkw!DLK2_3U$>&!CeBxQiWbwoX8^BugZ|DHPV}&`0#92J3jcA+0S#xM>T)~HT5cCvG zl(vP5`rNF%5GQ_u$o+kV>EjR;jSZR?7-;f@)e-HD0`L$q3zIg+Gx50Qhg*7=w85~D zk+6i(Q3W5Dw~~{02~P7ri>voD;~pmI`HT(-KLdY1Ke0N2Ma5x_&j~z(u}tWjvZb3f z-vr0a43*}^l|Nk`*~t*)K3Lkei+$nPsUpQbOEvHO_RQ+b! zIy&)e?fQLSU);;Z>-O-^+0B%F9b2~*6tnt!YuKxMbDtDhTz^!=!`r%7RCgZZW93Nx z`|m6A9dVO;ol?Usq*Z<9ahM3{pifCO$(-y*5BP!e+Oq)tSpxAf-r?$9KjY$rVg6*! z1A_%c!yrSmy#%lBmRg%0fo2q*qck%!Q`+Nhi;b6-p|4%t+nHQ5ywXaQDFXA_4GlI_ zwO@5O(_t|D>^2U7&M7bsSE|ksgABkOF1n6pK;5DzYj9gFJCpNH%y>dRF>=j7GluS8 zs>q2OK;C4t8|a&7622nhGE9w@yekWHH_9qrUjC3}or!K1S*(}tAYDUETkXZUf5Z9! z+9mv#3O(PEaPeiyc4Rf~pgYj*u^Fm?gUzE%+^BOj`oi;Q>&y0W2iDKZJ9}$e=3p3a zRowS2pGn^L7Z)X*zwCB0jPAiP&3?klX2L1FZ%%O(p|25pCqYvmmecTS_$x$Q4CwTF zwEP2CtD5+;{?rc2I~R#}v~yXb;aTsI-*fu8tdvXoXuk!0sv=nQ)E?PXIN~gsDld+L zcgH>^BvdbTOGgIdG}5m=TA3w}x{aiNBNLf!fft<-GOj;N>G_cn)_!#|ZvOQkBs$>P z7XOULqo8IICN@ljk0z;>YbD&gj_2qw0^AVL0eI`<+;R9lKoW!YI~ed2;|m;bjI9*y z)Z8O=Ck0EZG=xC6;1JRN-xpV6O%DTol5sqY13du~J|{R*wB{E57CIOjjN1%6t~o2e zw_7=)rIn63!FYHuNRY9?i?5FHLKgFgMpTMRyKv>&vFCHr@?8L|^_opESpnwYb-38f z-6G67@OqkxMVJdmN z?8_b?;w&DAn#1`WR4*=7JnAHiihCOVnCI|Fdsdgk@C8T{ zZF8nsZMKt#ORB&eGi$|6QhrY6S8II!@e+vr2}<$md4uy%3PEP4mwpHw$+DJqE~li= zc2?cvw%Pjl8K`%4s68j;%8xmoS5`x#KQv*8vGlWgCkMywZ5bJKD{diA(5pG=NEP6% zLTi@mMT}lngqa}C+G9-i+M1o7`3i-Ev`9v`v-IQx0z};9l7L)x&w0~$;K(3n(Y}BM zc30}c>C2>hi{}8$IN1YR5OaN5THtB;Y)C{gfFUhVi*uI{t-2NGvB|wrY0}X#FmrTi zQNa|%3!e$^RJy`I?s)b(dGYxbs_#}x7UfT7FA{H5>JUY5;{sOBE}U{KXP0nC3k{&v zYkYe6%z|&}MoOQL+_Sx6pm%vqzx`KA@Dqt7CCVxY!nfZE;!u7!4 z9)o8tK4QGE%+li4ey_&L^h*zuR(35-F?};80o<-AZg&io=pcwIy|@mBV?Atq9y|{O z2+3u(Ra&{d*s{9(;Zxy+(mSUqewrw_PY};(?q)B7jwoh!^_6hFk z{oR$dy1ujb?3s6F-Y2U%q4V+EiOlIK${}q9P1f97YjW4B|cTZ?!cq!!rkd9tdgRhiEs9eaD?#YUHcnqD}Sgx zW8*Nf`h50;kE6jZ=*LoUI{$cDq8xqSI9e*DsF{M_AQ}(gv*)Dc0;TOg;Xn&bOCVvC z?}!gEQ*mE1$G0Kw0h^N1J|R49RVbFUOkKiB^Ob?+PC~f(?@-XHab$I2_CIVFeqwZHlJ%Y+rFkHS#8bEGI3$VR zC@~(MQl*_w`6V#SPf^d@!0%W2<+rt0AF2);=NHGuqm$ys4H9db?&`sFhSQ{t=AZFJ z!yceZGOS$HrG0UK6k95xq;;})d|YB>X<6$-M8vVieAt!ln|@I~#TR!hm7kJQ?4l{r zMI!3*`mO3_q3Gg=t895oXTjydz+HTH`@-S%aH~mVOWa}SF95NPud)20Su&H|YgVQV zUrLHtMx4Uyq{%Kc8?)tKp<^vq{;G@Xtk9zXU{~>AYMaW%@Pv~Ea0Adi6;~ZL+;_%r@Cf>6k1E;ODJv&mVn6<$ z!`ami&+_}#h$lK9tHfMg1&NmLJ8#P$&s~^$i4$e(Z}&%SX%~szmkD<#YaBNBLLcsj z|2p`KIFCVaPk!9%=^dXSs{-nkOQ`WbhEf$bS?wunnoXafRch$p{<-5$Sl+60bzfE3 zp4Y(NIR~r?H?7GJo9?wmnv7!P9>xOdgN9drQVqp zWSbfkuW)alo}Hglo@16DK4i5n6p*Yn(e)w;d8D%vXs0W=#NQ# zT0PQf%8$9;er6B6kEPZ+S;_a&;|r-@R$Bv>SdQ|38fdb_E!parH>KZR1l1bC9r zB#G;6ICraCazXBM!iaS;>~0r~x@^DRbbi+^Ih5d^>Q++sZp2^SdxQ;3&^&ZsZe+5HpkUo{HYP^}DIrzgHcyMF*0VKRDO0%R zQ5?iMlOoB`pN0^b1Ka`=6}(;ObzJC8OB{Mb6Fu2>C!YO>=`885(?niq6S~E;`Su9J zeEDlZ1wWBy2Wz66jmr^D69yQvXqqyoBrwxki$my~Ar^zw{M<*pW+zurqtbB^_7>V3 zwC(6EY&Y}P<>wdmVk}ga!mO8%Lg;>z*0p`P^@#-XW>dxzyF-kN+M^ildI!FMm$wkx z0$Y#5^N$BjJ_7aTue8^m-&>Dz3bo%SpFHTD5`?B=nAQ%T-v>=lfeE%c`F(X_4+^eG zFFq@G579gZ)#WR>`3K&9QLph=c9kakoh2lVB^>Id3_@2O{7OLQ==m~@s%~$fn9Dxk z#&l@pZU8h#K3J6P>~@ zTD2_{jhFfirQD6*%9#_a6OM=q{({wztBoA-5L?tdS#u!A#(`#@z|3a12Jb&aMzLP- zC32jTL88@KG}E@J4v#Z`Qu++N(dz!Uwz_uN$C=;z{Vf)QzL%Pl)1BC1$zxH`F}cB# z@!jG-dzBu-zPIeP;VTDO;6!x->|RS7a3r2WsQtPR88wABfmxpYzE{Xj z+LZ@oA~&rtgM??qqIee07zs3lA4e~yBRbFh8E9_xD+&`j^joCz6D9fz1)5quZ9|{~ zgf#xsknLPVV@#^&uI2|ZHv`D~I%zm1rZLgJuJ^YMUUJ&x@iib~%rtp+HqNx$`p#!2 zf>V{2brLFuauX@-WR0-0-NxdmPbf{H^b>mFCgSwB5 z3_^J5gc19~HKAfKA~P{c!(^TirE*hAmOpqys$W}MSS8wCn&@V z!AK$z9^B(vTqjxymxg1sy6I@q!mS7%-=y%<UVRg7yz$eB%3LFNU!h4`qTNCKA98C(?JS) zN?d{pTR8HkH^Pm5W&;-Gz^t8)GmP;j=8j4T3ES&TCV_eM_P)pfL9D|bqive68a=Z1 zj(JTvgQJ!pO6ljj#%Jps9G4$c_y1mOGz=24(LR?C)qY1uT0J|~>RBkAl{P^yIT|;3 zrEL?rim3qz;L+em%0~qM^=_j9atXJ( ziZVFXT6W;5o?0be${3ul4GO_&?nqGGIPG)SZaX{x)3}72oxe_{7a19Y9NE_8RlxjC zdl`R&h^QckmDeQaLgmf)O)eh<=TS1QVS?Vpy&;EF-9<9a_l%p zUu~rv_5k8v)bp$?v+aJv8rCurx~Yv!$nfT6z|y={tkGL9DR3HPwZtT58BJ?WYZ!xJ zqP9@j-#dmb2S7@juad zTP^ej!sj}I24?Yn`13j4Cn)F>^9i)vpVO6G`{HC-uNVRz{cmxr=Nx^gjpr)R!+C{I zTZ$a>jJ+x*2CYIg06ta&?}?J8P%R#G{hQ;R3t_?GjL>f4HtRorgeUVD_01+fZcGo1LAu*&zh@#OjRe_Wrvh zAJ;4?|2HD9tp>fx^t~@z$GdAmi^r2&LrOqsce^Kj;D+jlYn?sF1jiG*&J%PH>_Hv5 zDb0N@0h)`)a@W6eZDnvvR4sW`t)=`$%e zN?TRpBWkm`m@r#C?biyd(&$cPssj-jqU;s}vkDJ$B+$ZwEZZ9yx%uXlS((ON>NE&` z?i^Fm!1W1|GqqbCSBn4jh1{{`*4OXb`CPqy2A7x9UI=*dUne+YQHN8wkUp6v&2m8D z@N2)R$;L#nm`%J}`YmsmvLHsH^g#MD9l3T?r129^H62X>C2K@>U4DW)k7W;jAv)P` zb1Fz8t=}4UaX-WB^-wHjPftoP&!4B2l=`HLSoqtI#{JPUfeL3!7@)}R#4bCL31UGV zXwERdj!yDX)35!%);Q>h%5nxBrtnwVBOELZ9D*DMjaGGBX((BnXH}5e%ksGPGSJzrWOS=B)X8kxQ z)<_^dze$}dX}OnsoZ#p-i5ttq=0{G9NIf>Z3`KhWfZ5nWO2*Q2AH8LN>h(!y=Wx=) zVx3KiB#OM=ANE1|M$gH;Ec@OZhljdsgPdD8dL+74EydaBveQz@)i z7y8BMh6W5UwqT9SL{unww^cswpG!QMFf$&mz*xLC=CuWPCbsHlGb(@xpK(@#cm-&>LN$Ofp6dJhX8K7EMj(Uqk^-KsE_BGWfp@x-SjNyQIqCA6&F@r>>g*9`$xHe9e-Mqa z_TPIT82+a3@4ID2W{__Br;9rL-c{AP)S$X!@%wVnXf~cw77ze__ji|$;r}k;{QSH# zSv$sBGEKy5pwB^_SE^72nms7_JN)0IRlMYQ|3Iu*yunrPmlefcy@b-w;C$tHsz(v| zKsO!7P~QB%v@|t8;eVd9qmx`Mi>2H!Ywh})spe94Cc8o_D@lwkH#Oeo%a-9<94Qw?f)K}3vJ3M|@ctid`Tlry7|E@lKQyFYaCiuv@d?VKadfI2SM3kGfabk| zAkwn_p#AS%`ckI4F3-v+mqdOG8huI20wV;IFDl~hPvE9dH>-<{Hv8h<^m z*C#ZC%Wl*0Ut;2a;P)0+nf-aW^1?&BgU!deu`N z&l<^@j=J%`X>L^`lVGRYw#2^ibPJM_yy7SvJ24ZA{7%(Zj^;QD3d@efdF4%fnj4#4 zswrGEFvDXyOSWJeBgAqWpIl<*O~pGkBuV*{Og%2f(>`p?(FE3 zZafZPv=tZk+q&TqTI^VWl1g{1K9HTJcBAnqI=_*W-Na+a-W(6F#7{TDTE zF>aS<^6{Ue3F;q`n!a+eUwbicK_ta;8 zv+MVFR*Ni$*WCe^(^2TQwXl1OrP9rBeg>QQo4i%bD)N%^EWEjr|5qWCGy zC+v;MxO=oWNw@SE(DCkBKNI18Bx!DQ3rnn$DA3Ec-XgHtfpNos?MAw-4l3);EiqjT zn>^b-cH|HbyZAUN18g(Uf)bTnj$Lq}G&V>-*PciQHxP`4J-fzbRL;-2*?{l+(!F=e z6t6t%b91u~eE^z@=@V!;=Tqr|~PMgc{X5bVGEvaG_(`k|{ z0R?z4nn){-k1EDouU>EM5#dNk2Wt3@@@%yjY(Gk@7TnU2wd3O+Rq6+;e9HY8>GyQ+ zg{lHatwLJX$1g^-CDEeRH;a72YMYQ_#8^Og&Up0N(&MY}aak(xln97cYD<0m0{LhJ|=}b0V9#15@cPYwpYBno%AyL9T;Gm}N_cZ)0t$N!4ooOjULnS5Z8)gu>rK6$b_L==g1z4R97QnRM<$DF*fpV`lDR1hk>3V9R@va?@zk=F}*bcZd{Z*5h;1?N;j3t}$&a5GUX z#0@humiR`g;J$KDvX9_t`c<1Xg0&q+oJ7Syqc0vtDSPeyt)rJ4rS4C)an`~1PDrYw z+FK=93@IRwMn`9zozPUxcGkWa_3K;^cLYN+13xPyQ*85esFZ}>Uf40bR%Tx>xj}wC z9)ci~9Ze3+OPuCIE-A`*@3BxMo|Y<4D+a(Mua8Pj;>9ir%gpMet4}9g8SHLyUg=P$ z&hI*ds$OVW?d|8ol_XDCiB^N_A4>HsVtI9uLwpytL#p(TQvLb7=ZVEsOd*lO(LO~A z)-&2WEI5XG997}ZMpXMZQqyUsbx{rkjdXU+ks@*b5c2VdTmG$Cc#Z zYAz9o(%G{;W%H8&8T#430)Y$G1!mA-{u+o^E3Sr7D9S+wHARD0U$O_Znj{mb;jzzu zJVy>ErOG-}f2##d7tG;uT2|m$ic+m9tE3HZNUtX6FP6}ZiWZ``6SM3O2!ri^?UMWU zCmKUlJzOd{eR@?~2I-LUcCzA4AkZDM=RV#v6VxSTNN34V-AV5BdH`W@lq81pe{OY| zN2Ve%^x-Ii$>VF*@O;UagVR}*b7Ld|Rn-etYMmfH`$LDvrglW7y3Kkf!o#DhV(WUL zmzUR_&@||sOoQR(a95i{z6JN1(ZQbXz)lXuqQ154;qa)YsrGxWkc$Y2bf=@Ef{2}D zKY+ksxT(sYhoFgI!GP*lGE&V_{TUBqvV^`=?ra5Rk`m-UB5FD7a4{Etq!LQAm)gQJ zmia*GbC<%aFNR(lehS4Ym)0}EOk-5_)$lG#?U}dRQ^7p6E3?kD! zoV{+0k6;sw4z{ctHO|yP-PH-?;YRwf!eAl8`Cg<{TdZ7>e38DMQM)ykLr2vYew?gF z_xxAg)tw(S``)s!!(NlJM;(rO7g0D^i>yRTn>Y6PSC!f}atFlev0d^{@82+N4y)ra zHmswnv9|kho7Aye5#|+=OX#*6~k4jfYSO-dnQ+0wvGP%}lS`H6Yb!7$Jlm@7>nE)?UYTIaeRO}fVEXj^ba-rDr`=53pr4>hs z3Kw#g0`kEQRm!|;lk*AU&SX`5%DZcY5Wk3L$~$n)n4*%(4cZSh0dIEjpkYC7@N1lj zoE+jz`VJuP-LID|L6fd%lw}_!c0c(~s}Z`0tM_`6nSb`dD^sXG)_V3G4us2{`=BRv zTs8|WU@ye`Rpl!48az?uX7iW+3-2?xyvo%3zG^2bf6bij=MJhZ8*oZ?>?UZEZ}UN_ z-FqQara}yI$zy5hQeo)5(r!JewrD$yA+u_wqYtwON$97~9Rb(sH8PpPPSPgL!loBZ~fS?E008dI=wZuIs;QI}^D?=5cKR;?x1Kr0`07kMJRcweqvhajp{wte-!)AWbIxCT>p6!DETyZg zqv6pdEzt7Ogi7b*nI2%`pV{RWkKh#7WaGF=$I0Fnt{cf+);|^)My!f*;t`N{1rXqQ z^x%HzNp9uiE9cAvpYWO;l9Uh3s{ZWo$J&(n0gFntwsljL$#(FJKS`oJei0rTHO$;RO>Z|{-ab=*o`$N zG<{OEf>j2z0s^Q~%>s+I|Lf`H?&Yw3KmPIhfpm944*Y~=spZ|Qx)Bkxo?5gI#>LGsa{uU_AmIGS7 zFx?WqtKm@U7CkRjBLS>rF8Ty_Ic*hR{P3=HTu(XQdpR_T9BT_}&7A|8LTZz*V?K-` z@D|DERGXL`Z;vNVX=6^Q<-Dzry7UfT@um2XrmNXr~*=Yam|Wuzse_qT_#K<}R4Rs;V*q_BqLW>#|t3?A~f1kg^JJ78$2K7!IWwtA-3*3zNBZd@vw=s*oWmoGAKes|U_*%~LT zlJZB2^mw>Tnu3fV;!7V$i1`{bLIb65hPB=odiuUeVIiYV@iahDGG z6uTwurL%oWbz$8&V!3-W>_@e^HB`U z#_euG$^87wvG`J*hkg9>4E~mUcC|T)PEwhDYWxN=*e@nVWvr?aF?oS;q+ld6280t$tK^ zSd1s11Om)D&n&jOaL~sQna5E94C+}tX3cnAf|@N~7$RjR9~hTXqT|^HMMqBaPjLp5gt<7jr!lF6O((m|PBHeMr;Wqcgp%pr-5!^PfXA-; zr7r*+62Q`L-8Im$TcQ`)-1%^@WqYS@`qj#kC z?-N5o*oY7i054i@P1d8!Oj!~y-IZLk4NXCUiC?ruaPpGvBU2%KPY+`BzS9RUduJdt z+8mdR&YNN86^+3#`A3b|h;!f5=yx=)!V*94jSy_vH#9v!awYM)da>J<^qRvG_Ljk} z{-6`DVQ|d!dt`Hjp`z(UugkgvuywxmP1dXOj^{uy?4a+CcjZPNc0E=5$)ZcZ7sp5( zZK)@pw}R9$x!ra^J2qrtoOvV1+ZCQMhiZ3Hf-Ba^&ZLVdTq^NhmhRLEZb_q@nVO$P zEH|5RgeMA1GZE2*lFNR~M zwzvLQ(hLHpSlF+#XLq9l36@i-&VL^e-TRNVEJ5?agO8yv*npzKc``p*0 zL+_HB;QK3kbwm=?+a#YPUVRrG`{i6+@WdVee3_U|T|jE=7LS@7tf!%ugi)u-y4KAx z&da=T5tI-fA3J`=-!MLOKacZRc-+~1_L%$GaG>rq+M`m)uno&L`FhwJo<(b;LNVur z$^q6Jq9JM5T#Y~)nZ^AKeu z91ncy$7lUj6nUQxFzWoc@j$5zF!e1Gsq~5l_UtBKyYZwFwGI#57GN_Av}sxw7^k-Q zN$Ft3XfSFNMR`8aG}Am45A1z;{`kTgBJ^ps@Wof~5E6+5G4ChG3Lwcl_wL#^qCJ_W zfq5TTxoAN{@kFpRoPRA_&wlI+%KR5^iz=_+C;b#wGLrxG8+sacl!H`gSXg))BR1`C z=vLcMq-qG5d==$or4|P_B%@g6sDIlXI<2Nk?e0i=7#P&aqE~R=AvWhz3UN0RJPy7x z*Y2WQ9?2gtx$9uNWohtkuwkJ%4eBj36PkmzcMZhU5~uqW(59*$q- zjV(a2YId zT84Z7UWr?rp6f~o$CJRV(8fFUle>T@6v8kr0#72|)v%x=ha65~t5E-AU)NYmdW2wZ z->)ux?{sY>sGIm@rVC9_)YJ;O;m|L?$_rUn!+iW zd}CpwQlfeDonsen!zbTOl?2^m&x_fQ?Gu#fn|7l+Bx4tR+YO4Xj~ag&&{V195f{>a z@s;d*a0gU5>)?-v!LiyEg($anTJ9&s9CkF6(-N1Qy5oS9EPpWW0LeC

      / | ]") <> " to receive it"] + <> case fileProhibited of + Just fp -> [prohibitedFileReason fp] + Nothing -> case fileStatus of + CIFSRcvAccepted -> [] + _ -> ["use " <> highlight ("/fr " <> show fileId <> " [/ | ]") <> " to receive it"] + +prohibitedFileReason :: FileProhibited -> StyledString +prohibitedFileReason FileProhibited {maxSize, badgeStatus} = + "file is above the limit of " <> sShow maxSize <> " bytes: " <> reason + where + reason = case badgeStatus of + Nothing -> "sender has no badge" + Just BSActive -> "above the limit of the sender badge" + Just BSExpired -> "sender badge expired" + Just BSExpiredOld -> "sender badge expired" + Just BSFailed -> "sender badge did not verify" + Just BSUnknownKey -> "sender badge key is not known" humanReadableSize :: Integer -> StyledString humanReadableSize size diff --git a/tests/BadgeTests.hs b/tests/BadgeTests.hs index 19ebd2818e..21da643a87 100644 --- a/tests/BadgeTests.hs +++ b/tests/BadgeTests.hs @@ -6,6 +6,7 @@ module BadgeTests (badgeTests) where +import Data.ByteString.Char8 (ByteString) import Data.Map.Strict (Map) import qualified Data.Map.Strict as M import Data.Time.Clock (UTCTime, addUTCTime, getCurrentTime, nominalDay) @@ -14,6 +15,7 @@ import qualified Data.Aeson as J import qualified Simplex.Messaging.Crypto as C import Simplex.Chat.Badges import Simplex.Messaging.Crypto.BBS +import Simplex.Messaging.Encoding.String import Test.Hspec badgeTests :: Spec @@ -26,6 +28,8 @@ badgeTests = do it "should compute badge status correctly" testExpiryCheck it "should accept unknown badge types" testUnknownBadgeType it "credential serializes to a paste-able token and back" testCredentialSerialization + it "presentation headers encode and decode" testPresHeaderEncoding + it "should reject a proof presented under another chat binding" testOtherChatBinding proofOf :: BadgeProof -> BBSProof proofOf (BadgeProof _ _ p _) = p @@ -125,12 +129,41 @@ futureTime = posixSecondsToUTCTime 4102444800 -- 2099-12-31 pastTime :: UTCTime pastTime = posixSecondsToUTCTime 1577836800 -- 2020-01-01 +testPresHeaderEncoding :: IO () +testPresHeaderEncoding = + mapM_ + (\ph -> strDecode (strEncode ph) `shouldBe` Right ph) + [ PHTest "nonce", + PHChat aliceBinding, + PHFileInv {chatBinding = aliceBinding, fileSize = 139737}, + PHFileDescr {chatBinding = aliceBinding, fileSize = 139737, descrHash = "descr-hash", fileExpires = Nothing}, + PHFileDescr {chatBinding = aliceBinding, fileSize = 139737, descrHash = "descr-hash", fileExpires = Just futureTime}, + PHUnknown 'Z' "payload" + ] + +testOtherChatBinding :: IO () +testOtherChatBinding = do + let ph = PHFileInv {chatBinding = aliceBinding, fileSize = 139737} + otherPh = PHFileInv {chatBinding = bobBinding, fileSize = 139737} + (pk, BadgeProof idx _ p info) <- issueBadgeProofHeader BTSupporter futureTime ph + verifyBadge (keysFor pk) (BadgeProof idx (BBSPresHeader $ strEncode ph) p info) >>= (`shouldBe` Just True) + verifyBadge (keysFor pk) (BadgeProof idx (BBSPresHeader $ strEncode otherPh) p info) >>= (`shouldBe` Just False) + +aliceBinding :: ByteString +aliceBinding = "Galice-member-id" + +bobBinding :: ByteString +bobBinding = "Gbob-member-id" + issueBadgeProof :: BadgeType -> UTCTime -> IO (BBSPublicKey, BadgeProof) -issueBadgeProof bt expiry = do +issueBadgeProof bt expiry = issueBadgeProofHeader bt expiry (PHTest "test-nonce") + +issueBadgeProofHeader :: BadgeType -> UTCTime -> ProofPresHeader -> IO (BBSPublicKey, BadgeProof) +issueBadgeProofHeader bt expiry ph = do Right (pk, sk) <- bbsKeyGen drg <- C.newRandom mk <- generateMasterKey drg let vreq = VerifiedBadgeRequest BadgeRequest {masterKey = mk, badgeInfo = BadgeInfo {badgeType = bt, badgeExpiry = expiry, badgeExtra = ""}} Right cred <- issueBadge testKeyIdx sk vreq - Right badge <- generateBadgeProof pk cred (BBSPresHeader "test-nonce") + Right badge <- badgeProof pk cred ph pure (pk, badge) diff --git a/tests/ChatTests/Files.hs b/tests/ChatTests/Files.hs index 089efc914d..55766e905a 100644 --- a/tests/ChatTests/Files.hs +++ b/tests/ChatTests/Files.hs @@ -7,19 +7,25 @@ module ChatTests.Files where import ChatClient import ChatTests.DBUtils +import ChatTests.Profiles (addTestBadge, futureDate, issueTestBadge, issueTestBadgeType, testBadgeKeys) import ChatTests.Utils import Control.Concurrent (threadDelay) import Control.Concurrent.Async (concurrently_) import Control.Logger.Simple +import Control.Monad.Except (runExceptT) +import Control.Monad.Reader (runReaderT) import qualified Data.Aeson as J import qualified Data.ByteString.Char8 as B import qualified Data.ByteString.Lazy.Char8 as LB import Network.HTTP.Types.URI (urlEncode) +import Data.Time.Clock (addUTCTime, getCurrentTime, nominalDay) +import Simplex.Chat.Badges (BadgeProof, BadgeStatus (..), BadgeType (..), FileSizeLimits (..), ProofPresHeader (..), badgeProof, defaultFileSizeLimits) import Simplex.Chat.Controller (ChatConfig (..)) -import Simplex.Chat.Library.Internal (roundedFDCount) +import Simplex.Chat.Library.Internal (badgeProofStatus, roundedFDCount) import Simplex.Chat.Mobile.File import Simplex.Chat.Options (ChatOpts (..)) import Simplex.FileTransfer.Server.Env (XFTPServerConfig (..), XFTPStoreConfig (..)) +import Simplex.Messaging.Crypto.BBS (BBSPublicKey, bbsKeyGen) import Simplex.Messaging.Crypto.File (CryptoFile (..), CryptoFileArgs (..)) import Simplex.Messaging.Encoding.String import System.Directory (copyFile, createDirectoryIfMissing, doesFileExist, getFileSize) @@ -63,6 +69,14 @@ chatFileTests = do it "send and receive large standalone file using relative paths" testXFTPStandaloneRelativePaths xit "removes sent file from server" testXFTPStandaloneCancelSnd -- no error shown in tests it "removes received temporary files" testXFTPStandaloneCancelRcv + describe "send larger files with badges" $ do + it "send and receive file with badge proof" testXFTPFileBadgeProof + it "send and receive file with badge proof in group" testXFTPGroupFileBadgeProof + it "file above the limit without badge proof is not accepted" testXFTPFileNoBadgeProof + it "file above the limit the badge allows is not accepted" testXFTPFileBadgeAboveLimit + it "sending file above the limit the badge allows fails" testXFTPSndFileBadgeLimit + it "sending file with a badge expired past the send grace fails" testXFTPSndFileBadgeGrace + it "file proof is rejected under another binding, size or expired badge" testFileBadgeProofStatus runTestMessageWithFile :: HasCallStack => TestParams -> IO () runTestMessageWithFile = testChat2 aliceProfile bobProfile $ \alice bob -> withXFTPServer $ do @@ -750,6 +764,180 @@ testXFTPGroupFileTransfer = dest1 `shouldBe` src dest2 `shouldBe` src +badgeFileCfg :: BBSPublicKey -> ChatConfig +badgeFileCfg pk = badgeFileCfgLimits pk FileSizeLimits {noBadge = 100000, supporter = 300000, legend = 400000} + +badgeFileCfgLimits :: BBSPublicKey -> FileSizeLimits -> ChatConfig +badgeFileCfgLimits pk lims = testCfg {badgePublicKeys = testBadgeKeys pk, fileSizeLimits = lims} + +testXFTPFileBadgeProof :: HasCallStack => TestParams -> IO () +testXFTPFileBadgeProof ps = do + Right (pk, sk) <- bbsKeyGen + testChatCfg2 (badgeFileCfg pk) aliceProfile bobProfile (test sk) ps + where + test sk alice bob = withXFTPServer $ do + connectUsers alice bob + addTestBadge alice =<< issueTestBadge sk futureDate + + alice #> "/f @bob ./tests/fixtures/test.pdf" + alice <## "use /fc 1 to cancel sending" + bob <# "alice *> sends file test.pdf (266.0 KiB / 272376 bytes)" + bob <## "use /fr 1 [/ | ] to receive it" + bob ##> "/fr 1 ./tests/tmp" + concurrentlyN_ + [ alice <## "completed uploading file 1 (test.pdf) for bob", + bob + <### [ "saving file 1 from alice to ./tests/tmp/test.pdf", + "started receiving file 1 (test.pdf) from alice" + ] + ] + bob <## "completed receiving file 1 (test.pdf) from alice" + + src <- B.readFile "./tests/fixtures/test.pdf" + dest <- B.readFile "./tests/tmp/test.pdf" + dest `shouldBe` src + +testXFTPGroupFileBadgeProof :: HasCallStack => TestParams -> IO () +testXFTPGroupFileBadgeProof ps = do + Right (pk, sk) <- bbsKeyGen + testChatCfg3 (badgeFileCfg pk) aliceProfile bobProfile cathProfile (test sk) ps + where + test sk alice bob cath = withXFTPServer $ do + createGroup3 "team" alice bob cath + addTestBadge alice =<< issueTestBadge sk futureDate + + alice #> "/f #team ./tests/fixtures/test.pdf" + alice <## "use /fc 1 to cancel sending" + concurrentlyN_ + [ do + bob <# "#team alice> sends file test.pdf (266.0 KiB / 272376 bytes)" + bob <## "use /fr 1 [/ | ] to receive it", + do + cath <# "#team alice> sends file test.pdf (266.0 KiB / 272376 bytes)" + cath <## "use /fr 1 [/ | ] to receive it" + ] + alice <## "completed uploading file 1 (test.pdf) for #team" + + bob ##> "/fr 1 ./tests/tmp" + bob + <### [ "saving file 1 from alice to ./tests/tmp/test.pdf", + "started receiving file 1 (test.pdf) from alice" + ] + bob <## "completed receiving file 1 (test.pdf) from alice" + + src <- B.readFile "./tests/fixtures/test.pdf" + dest <- B.readFile "./tests/tmp/test.pdf" + dest `shouldBe` src + +testXFTPFileNoBadgeProof :: HasCallStack => TestParams -> IO () +testXFTPFileNoBadgeProof ps = + withNewTestChatCfg ps sndCfg "alice" aliceProfile $ \alice -> + withNewTestChatCfg ps rcvCfg "bob" bobProfile $ \bob -> withXFTPServer $ do + connectUsers alice bob + + alice #> "/f @bob ./tests/fixtures/test.pdf" + alice <## "use /fc 1 to cancel sending" + bob <# "alice> sends file test.pdf (266.0 KiB / 272376 bytes)" + bob <## "file is above the limit of 100000 bytes: sender has no badge" + bob ##> "/fr 1 ./tests/tmp" + concurrentlyN_ + [ bob <## "file size exceeds the limit: test.pdf", + alice <## "completed uploading file 1 (test.pdf) for bob" + ] + where + sndCfg = testCfg {fileSizeLimits = defaultFileSizeLimits {noBadge = 1000000}} + rcvCfg = testCfg {fileSizeLimits = defaultFileSizeLimits {noBadge = 100000}} + +testXFTPFileBadgeAboveLimit :: HasCallStack => TestParams -> IO () +testXFTPFileBadgeAboveLimit ps = do + Right (pk, sk) <- bbsKeyGen + withNewTestChatCfg ps (badgeFileCfg pk) "alice" aliceProfile $ \alice -> + withNewTestChatCfg ps (rcvCfg pk) "bob" bobProfile $ \bob -> withXFTPServer $ do + connectUsers alice bob + addTestBadge alice =<< issueTestBadge sk futureDate + + alice #> "/f @bob ./tests/fixtures/test.pdf" + alice <## "use /fc 1 to cancel sending" + bob <# "alice *> sends file test.pdf (266.0 KiB / 272376 bytes)" + bob <## "file is above the limit of 150000 bytes: above the limit of the sender badge" + bob ##> "/fr 1 ./tests/tmp" + concurrentlyN_ + [ bob <## "file size exceeds the limit: test.pdf", + alice <## "completed uploading file 1 (test.pdf) for bob" + ] + where + rcvCfg pk = badgeFileCfgLimits pk FileSizeLimits {noBadge = 100000, supporter = 150000, legend = 400000} + +testXFTPSndFileBadgeLimit :: HasCallStack => TestParams -> IO () +testXFTPSndFileBadgeLimit ps = do + Right (pk, sk) <- bbsKeyGen + testChatCfg2 (cfg pk) aliceProfile bobProfile (test sk) ps + where + cfg pk = badgeFileCfgLimits pk FileSizeLimits {noBadge = 100000, supporter = 150000, legend = 300000} + test sk alice bob = withXFTPServer $ do + connectUsers alice bob + + addTestBadge alice =<< issueTestBadgeType sk BTSupporter futureDate + alice ##> "/f @bob ./tests/fixtures/test.pdf" + alice <## "file size exceeds the limit: ./tests/fixtures/test.pdf" + + addTestBadge alice =<< issueTestBadgeType sk BTLegend futureDate + alice #> "/f @bob ./tests/fixtures/test.pdf" + alice <## "use /fc 1 to cancel sending" + concurrentlyN_ + [ alice <## "completed uploading file 1 (test.pdf) for bob", + do + bob <# "alice *> sends file test.pdf (266.0 KiB / 272376 bytes)" + bob <## "use /fr 1 [/ | ] to receive it" + ] + +testXFTPSndFileBadgeGrace :: HasCallStack => TestParams -> IO () +testXFTPSndFileBadgeGrace ps = do + Right (pk, sk) <- bbsKeyGen + testChatCfg2 (badgeFileCfg pk) aliceProfile bobProfile (test sk) ps + where + test sk alice bob = withXFTPServer $ do + connectUsers alice bob + now <- getCurrentTime + + addTestBadge alice =<< issueTestBadge sk (addUTCTime (-3 * nominalDay) now) + alice ##> "/f @bob ./tests/fixtures/test.pdf" + alice <## "file size exceeds the limit: ./tests/fixtures/test.pdf" + + addTestBadge alice =<< issueTestBadge sk (addUTCTime (-3600) now) + alice #> "/f @bob ./tests/fixtures/test.pdf" + alice <## "use /fc 1 to cancel sending" + concurrentlyN_ + [ alice <## "completed uploading file 1 (test.pdf) for bob", + do + bob <# "alice *> sends file test.pdf (266.0 KiB / 272376 bytes)" + bob <## "use /fr 1 [/ | ] to receive it" + ] + +testFileBadgeProofStatus :: HasCallStack => TestParams -> IO () +testFileBadgeProofStatus ps = do + Right (pk, sk) <- bbsKeyGen + withNewTestChatCfg ps (badgeFileCfg pk) "alice" aliceProfile $ \alice -> do + now <- getCurrentTime + let ph = PHFileInv {chatBinding = "Dalice-binding", fileSize = 272376} + otherBinding = (ph :: ProofPresHeader) {chatBinding = "Dbob-binding"} + otherSize = (ph :: ProofPresHeader) {fileSize = 1} + proofFor expiry = do + cred <- issueTestBadge sk expiry + Right badge <- badgeProof pk cred ph + pure badge + statusOf expected badge = do + Right st <- runExceptT (badgeProofStatus expected badge) `runReaderT` chatController alice + pure st + badge <- proofFor futureDate + statusOf (Just ph) badge `shouldReturn` BSActive + statusOf (Just otherBinding) badge `shouldReturn` BSFailed + statusOf (Just otherSize) badge `shouldReturn` BSFailed + -- the receiver has no binding for the sender, so no header can be expected + statusOf Nothing badge `shouldReturn` BSFailed + expired <- proofFor $ addUTCTime (-10 * nominalDay) now + statusOf (Just ph) expired `shouldReturn` BSExpired + testXFTPDeleteUploadedFile :: HasCallStack => TestParams -> IO () testXFTPDeleteUploadedFile = testChat2 aliceProfile bobProfile $ \alice bob -> do diff --git a/tests/ChatTests/Groups.hs b/tests/ChatTests/Groups.hs index 187dd1b078..e17de3a766 100644 --- a/tests/ChatTests/Groups.hs +++ b/tests/ChatTests/Groups.hs @@ -14,6 +14,7 @@ module ChatTests.Groups where import ChatClient import ChatTests.DBUtils +import ChatTests.Profiles (addTestBadge, futureDate, issueTestBadge, testBadgeKeys) import ChatTests.Utils import Control.Concurrent (threadDelay) import Control.Concurrent.Async (concurrently_) @@ -29,6 +30,7 @@ import Data.Int (Int64) import Data.List (intercalate, isInfixOf, isSuffixOf) import qualified Data.Map.Strict as M import qualified Data.Text as T +import Simplex.Chat.Badges (FileSizeLimits (..)) import Simplex.Chat.Controller (ChatController (ChatController, smpAgent), ChatConfig (..), ChatHooks (..), ChatLogLevel (..), defaultChatHooks) import Simplex.Chat.Library.Internal (uniqueMsgMentions, updatedMentionNames) import Simplex.Chat.Markdown (parseMaybeMarkdownList) @@ -46,6 +48,7 @@ import Simplex.Messaging.Agent.RetryInterval import qualified Simplex.Messaging.Agent.Store.DB as DB import Simplex.Messaging.Agent.Store.DB (Binary (..)) import qualified Simplex.Messaging.Crypto as C +import Simplex.Messaging.Crypto.BBS (bbsKeyGen) import Simplex.Messaging.Crypto.Ratchet (pattern PQEncOff) import Simplex.Messaging.Protocol (MsgFlags (..)) import Simplex.Messaging.Server.Env.STM hiding (subscriptions) @@ -188,6 +191,8 @@ chatGroupTests = do describe "group history" $ do it "text messages" testGroupHistory it "history is sent when joining via group link" testGroupHistoryGroupLink + it "file with badge proof is received from history" testGroupHistoryFileBadgeProof + it "file received from member with badge proof is received from history" testGroupHistoryRcvFileBadgeProof it "history is not sent if preference is disabled" testGroupHistoryPreferenceOff it "host's file" testGroupHistoryHostFile it "member's file" testGroupHistoryMemberFile @@ -332,6 +337,7 @@ chatGroupTests = do it "should update channel message sent as member" testChannelOwnerUpdateAsMember it "should delete channel message sent as member" testChannelOwnerDeleteAsMember it "should send and receive file sent as member" testChannelOwnerFileTransferAsMember + it "should send and receive file with badge proof" testChannelFileBadgeProof it "should cancel file sent as member" testChannelOwnerFileCancelAsMember it "should attribute reactions to member" testChannelReactionAttribution it "should recreate deleted item with correct sendAsGroup from update" testChannelUpdateFallbackSendAsGroup @@ -12220,6 +12226,174 @@ testChannelOwnerFileTransferAsMember ps = cc <## ("completed receiving file " <> show fileId <> " (test.jpg) from alice") B.readFile path >>= (`shouldBe` src) +testGroupHistoryFileBadgeProof :: HasCallStack => TestParams -> IO () +testGroupHistoryFileBadgeProof ps = do + Right (pk, sk) <- bbsKeyGen + let cfg = testCfg {badgePublicKeys = testBadgeKeys pk, fileSizeLimits = FileSizeLimits {noBadge = 100000, supporter = 300000, legend = 400000}} + testChatCfg3 cfg aliceProfile bobProfile cathProfile (test sk) ps + where + test sk alice bob cath = withXFTPServer $ do + createGroup2 "team" alice bob + addTestBadge alice =<< issueTestBadge sk futureDate + + alice #> "/f #team ./tests/fixtures/test.pdf" + alice <## "use /fc 1 to cancel sending" + bob <# "#team alice> sends file test.pdf (266.0 KiB / 272376 bytes)" + bob <## "use /fr 1 [/ | ] to receive it" + alice <## "completed uploading file 1 (test.pdf) for #team" + + alice ##> "/create link #team" + gLink <- getGroupLink alice "team" GRMember True + cath ##> ("/c " <> gLink) + cath <## "connection request sent!" + alice <## "cath (Catherine): accepting request to join group #team..." + concurrentlyN_ + [ alice <## "#team: cath joined the group", + cath + <### [ "#team: joining the group...", + "#team: you joined the group", + WithTime "#team alice> sends file test.pdf (266.0 KiB / 272376 bytes) [>>]", + "use /fr 1 [/ | ] to receive it [>>]", + "#team: member bob (Bob) is connected" + ], + do + bob <## "#team: alice added cath (Catherine) to the group (connecting...)" + bob <## "#team: new member cath is connected" + ] + + cath ##> "/fr 1 ./tests/tmp" + cath + <### [ "saving file 1 from alice to ./tests/tmp/test.pdf", + "started receiving file 1 (test.pdf) from alice" + ] + cath <## "completed receiving file 1 (test.pdf) from alice" + src <- B.readFile "./tests/fixtures/test.pdf" + dest <- B.readFile "./tests/tmp/test.pdf" + dest `shouldBe` src + +testGroupHistoryRcvFileBadgeProof :: HasCallStack => TestParams -> IO () +testGroupHistoryRcvFileBadgeProof ps = do + Right (pk, sk) <- bbsKeyGen + let cfg = testCfg {badgePublicKeys = testBadgeKeys pk, fileSizeLimits = FileSizeLimits {noBadge = 100000, supporter = 300000, legend = 400000}} + testChatCfg3 cfg aliceProfile bobProfile cathProfile (test sk) ps + where + test sk alice bob cath = withXFTPServer $ do + createGroup2 "team" alice bob + addTestBadge bob =<< issueTestBadge sk futureDate + + bob #> "/f #team ./tests/fixtures/test.pdf" + bob <## "use /fc 1 to cancel sending" + alice <# "#team bob> sends file test.pdf (266.0 KiB / 272376 bytes)" + alice <## "use /fr 1 [/ | ] to receive it" + alice ##> "/fr 1 ./tests/tmp" + concurrentlyN_ + [ bob <## "completed uploading file 1 (test.pdf) for #team", + alice + <### [ "saving file 1 from bob to ./tests/tmp/test.pdf", + "started receiving file 1 (test.pdf) from bob" + ] + ] + alice <## "completed receiving file 1 (test.pdf) from bob" + + alice ##> "/create link #team" + gLink <- getGroupLink alice "team" GRMember True + cath ##> ("/c " <> gLink) + cath <## "connection request sent!" + alice <## "cath (Catherine): accepting request to join group #team..." + concurrentlyN_ + [ alice <## "#team: cath joined the group", + cath + <### [ "#team: joining the group...", + "#team: you joined the group", + WithTime "#team bob> sends file test.pdf (266.0 KiB / 272376 bytes) [>>]", + "use /fr 1 [/ | ] to receive it [>>]", + "#team: member bob (Bob) is connected" + ], + do + bob <## "#team: alice added cath (Catherine) to the group (connecting...)" + bob <## "#team: new member cath is connected" + ] + + cath ##> "/fr 1 ./tests/tmp" + cath + <### [ "saving file 1 from bob to ./tests/tmp/test_1.pdf", + "started receiving file 1 (test.pdf) from bob" + ] + cath <## "completed receiving file 1 (test.pdf) from bob" + src <- B.readFile "./tests/fixtures/test.pdf" + dest <- B.readFile "./tests/tmp/test_1.pdf" + dest `shouldBe` src + +testChannelFileBadgeProof :: HasCallStack => TestParams -> IO () +testChannelFileBadgeProof ps = do + Right (pk, sk) <- bbsKeyGen + let cfg = testCfg {badgePublicKeys = testBadgeKeys pk, fileSizeLimits = FileSizeLimits {noBadge = 100000, supporter = 300000, legend = 400000}} + withNewTestChatCfg ps cfg "alice" aliceProfile $ \alice -> + withNewTestChatCfgOpts ps cfg relayTestOpts "bob" bobProfile $ \bob -> + withNewTestChatCfg ps cfg "cath" cathProfile $ \cath -> + withNewTestChatCfg ps cfg "dan" danProfile $ \dan -> + withNewTestChatCfg ps cfg "eve" eveProfile $ \eve -> withXFTPServer $ do + createChannel1Relay "team" alice bob cath dan eve + addTestBadge alice =<< issueTestBadge sk futureDate +#if defined(dbPostgres) + let rcvFileId = 2 :: Int +#else + let rcvFileId = 1 :: Int +#endif + alice ##> "/_send #1(as_group=off) json [{\"filePath\": \"./tests/fixtures/test.jpg\", \"msgContent\": {\"type\": \"file\", \"text\": \"\"}}]" + alice <# "/f #team ./tests/fixtures/test.jpg" + alice <## "use /fc 1 to cancel sending" + alice <## "completed uploading file 1 (test.jpg) for #team" + bob <# "#team alice> sends file test.jpg (136.5 KiB / 139737 bytes)" + bob <## ("use /fr " <> show rcvFileId <> " [/ | ] to receive it") + concurrentlyN_ + [ do + cath <# "#team alice> sends file test.jpg (136.5 KiB / 139737 bytes) [>>]" + cath <## ("use /fr " <> show rcvFileId <> " [/ | ] to receive it [>>]"), + do + dan <# "#team alice> sends file test.jpg (136.5 KiB / 139737 bytes) [>>]" + dan <## ("use /fr " <> show rcvFileId <> " [/ | ] to receive it [>>]"), + do + eve <# "#team alice> sends file test.jpg (136.5 KiB / 139737 bytes) [>>]" + eve <## ("use /fr " <> show rcvFileId <> " [/ | ] to receive it [>>]") + ] + + src <- B.readFile "./tests/fixtures/test.jpg" + let path = "./tests/tmp/test_cath.jpg" + cath ##> ("/fr " <> show rcvFileId <> " " <> path) + cath + <### [ ConsoleString ("saving file " <> show rcvFileId <> " from alice to " <> path), + ConsoleString ("started receiving file " <> show rcvFileId <> " (test.jpg) from alice") + ] + cath <## ("completed receiving file " <> show rcvFileId <> " (test.jpg) from alice") + B.readFile path >>= (`shouldBe` src) + + alice ##> "/_send #1(as_group=on) json [{\"filePath\": \"./tests/fixtures/test.jpg\", \"msgContent\": {\"type\": \"file\", \"text\": \"\"}}]" + alice <# "/f #team ./tests/fixtures/test.jpg" + alice <## "use /fc 2 to cancel sending" + alice <## "completed uploading file 2 (test.jpg) for #team" + bob <# "#team> sends file test.jpg (136.5 KiB / 139737 bytes)" + bob <## ("use /fr " <> show (rcvFileId + 1) <> " [/ | ] to receive it") + concurrentlyN_ + [ do + cath <# "#team> sends file test.jpg (136.5 KiB / 139737 bytes) [>>]" + cath <## ("use /fr " <> show (rcvFileId + 1) <> " [/ | ] to receive it [>>]"), + do + dan <# "#team> sends file test.jpg (136.5 KiB / 139737 bytes) [>>]" + dan <## ("use /fr " <> show (rcvFileId + 1) <> " [/ | ] to receive it [>>]"), + do + eve <# "#team> sends file test.jpg (136.5 KiB / 139737 bytes) [>>]" + eve <## ("use /fr " <> show (rcvFileId + 1) <> " [/ | ] to receive it [>>]") + ] + let path2 = "./tests/tmp/test_cath_2.jpg" + cath ##> ("/fr " <> show (rcvFileId + 1) <> " " <> path2) + cath + <### [ ConsoleString ("saving file " <> show (rcvFileId + 1) <> " from #team to " <> path2), + ConsoleString ("started receiving file " <> show (rcvFileId + 1) <> " (test.jpg) from #team") + ] + cath <## ("completed receiving file " <> show (rcvFileId + 1) <> " (test.jpg) from #team") + B.readFile path2 >>= (`shouldBe` src) + testChannelOwnerFileCancelAsMember :: HasCallStack => TestParams -> IO () testChannelOwnerFileCancelAsMember ps = withNewTestChat ps "alice" aliceProfile $ \alice -> diff --git a/tests/ChatTests/Profiles.hs b/tests/ChatTests/Profiles.hs index adcfc6d994..743bd5be52 100644 --- a/tests/ChatTests/Profiles.hs +++ b/tests/ChatTests/Profiles.hs @@ -281,10 +281,13 @@ futureDate = posixSecondsToUTCTime 4102444800 -- 2100-01-01 -- issue a supporter badge credential with the given expiry (test issuer) issueTestBadge :: BBSSecretKey -> UTCTime -> IO BadgeCredential -issueTestBadge sk badgeExpiry = do +issueTestBadge sk = issueTestBadgeType sk BTSupporter + +issueTestBadgeType :: BBSSecretKey -> BadgeType -> UTCTime -> IO BadgeCredential +issueTestBadgeType sk badgeType badgeExpiry = do drg <- C.newRandom mk <- generateMasterKey drg - let info = BadgeInfo {badgeType = BTSupporter, badgeExpiry, badgeExtra = ""} + let info = BadgeInfo {badgeType, badgeExpiry, badgeExtra = ""} Just vreq <- verifyPayment (BPRedeemCode "TEST") BadgeRequest {masterKey = mk, badgeInfo = info} Right cred <- issueBadge 1 sk vreq pure cred diff --git a/tests/ProtocolTests.hs b/tests/ProtocolTests.hs index 127b1c7a08..633bbe876c 100644 --- a/tests/ProtocolTests.hs +++ b/tests/ProtocolTests.hs @@ -225,10 +225,10 @@ decodeChatMessageTest = describe "Chat message encoding/decoding" $ do ##==## ChatMessage chatInitialVRange (Just $ SharedMsgId "\1\2\3\4") (XMsgNew $ mcForward (Just (testForwardLink {memberId = Nothing} :: ForwardLink)) (MCText "hello")) it "x.msg.new simple text with file" $ "{\"v\":\"9\",\"event\":\"x.msg.new\",\"params\":{\"content\":{\"text\":\"hello\",\"type\":\"text\"},\"file\":{\"fileSize\":12345,\"fileName\":\"photo.jpg\"}}}" - #==# XMsgNew ((mcSimple (MCText "hello")) {file = Just FileInvitation {fileName = "photo.jpg", fileSize = 12345, fileDigest = Nothing, fileConnReq = Nothing, fileInline = Nothing, fileDescr = Nothing}}) + #==# XMsgNew ((mcSimple (MCText "hello")) {file = Just FileInvitation {fileName = "photo.jpg", fileSize = 12345, fileDigest = Nothing, fileConnReq = Nothing, fileInline = Nothing, fileDescr = Nothing, fileBadge = Nothing}}) it "x.msg.new simple file with file" $ "{\"v\":\"9\",\"event\":\"x.msg.new\",\"params\":{\"content\":{\"text\":\"\",\"type\":\"file\"},\"file\":{\"fileSize\":12345,\"fileName\":\"file.txt\"}}}" - #==# XMsgNew ((mcSimple (MCFile "")) {file = Just FileInvitation {fileName = "file.txt", fileSize = 12345, fileDigest = Nothing, fileConnReq = Nothing, fileInline = Nothing, fileDescr = Nothing}}) + #==# XMsgNew ((mcSimple (MCFile "")) {file = Just FileInvitation {fileName = "file.txt", fileSize = 12345, fileDigest = Nothing, fileConnReq = Nothing, fileInline = Nothing, fileDescr = Nothing, fileBadge = Nothing}}) it "x.msg.new quote with file" $ "{\"v\":\"9\",\"msgId\":\"AQIDBA==\",\"event\":\"x.msg.new\",\"params\":{\"content\":{\"text\":\"hello to you too\",\"type\":\"text\"},\"file\":{\"fileSize\":12345,\"fileName\":\"photo.jpg\"},\"quote\":{\"content\":{\"text\":\"hello there!\",\"type\":\"text\"},\"msgRef\":{\"msgId\":\"BQYHCA==\",\"sent\":true,\"sentAt\":\"1970-01-01T00:00:01.000000001Z\"}}}}" ##==## ChatMessage @@ -236,7 +236,7 @@ decodeChatMessageTest = describe "Chat message encoding/decoding" $ do (Just $ SharedMsgId "\1\2\3\4") ( XMsgNew (mcQuote quotedMsg (MCText "hello to you too")) - {file = Just FileInvitation {fileName = "photo.jpg", fileSize = 12345, fileDigest = Nothing, fileConnReq = Nothing, fileInline = Nothing, fileDescr = Nothing}} + {file = Just FileInvitation {fileName = "photo.jpg", fileSize = 12345, fileDigest = Nothing, fileConnReq = Nothing, fileInline = Nothing, fileDescr = Nothing, fileBadge = Nothing}} ) it "x.msg.new report" $ "{\"v\":\"9\",\"msgId\":\"AQIDBA==\",\"event\":\"x.msg.new\",\"params\":{\"content\":{\"text\":\"\",\"reason\":\"spam\",\"type\":\"report\"},\"quote\":{\"content\":{\"text\":\"hello there!\",\"type\":\"text\"},\"msgRef\":{\"msgId\":\"BQYHCA==\",\"sent\":true,\"sentAt\":\"1970-01-01T00:00:01.000000001Z\"}}}}" @@ -246,7 +246,7 @@ decodeChatMessageTest = describe "Chat message encoding/decoding" $ do (XMsgNew (mcQuote quotedMsg (MCReport "" RRSpam))) it "x.msg.new forward with file" $ "{\"v\":\"9\",\"msgId\":\"AQIDBA==\",\"event\":\"x.msg.new\",\"params\":{\"content\":{\"text\":\"hello\",\"type\":\"text\"},\"file\":{\"fileSize\":12345,\"fileName\":\"photo.jpg\"},\"forward\":true}}" - ##==## ChatMessage chatInitialVRange (Just $ SharedMsgId "\1\2\3\4") (XMsgNew $ (mcForward Nothing (MCText "hello")) {file = Just FileInvitation {fileName = "photo.jpg", fileSize = 12345, fileDigest = Nothing, fileConnReq = Nothing, fileInline = Nothing, fileDescr = Nothing}}) + ##==## ChatMessage chatInitialVRange (Just $ SharedMsgId "\1\2\3\4") (XMsgNew $ (mcForward Nothing (MCText "hello")) {file = Just FileInvitation {fileName = "photo.jpg", fileSize = 12345, fileDigest = Nothing, fileConnReq = Nothing, fileInline = Nothing, fileDescr = Nothing, fileBadge = Nothing}}) it "x.msg.update" $ "{\"v\":\"9\",\"event\":\"x.msg.update\",\"params\":{\"msgId\":\"AQIDBA==\", \"content\":{\"text\":\"hello\",\"type\":\"text\"}}}" #==# XMsgUpdate (SharedMsgId "\1\2\3\4") (MCText "hello") [] Nothing Nothing Nothing Nothing @@ -258,10 +258,10 @@ decodeChatMessageTest = describe "Chat message encoding/decoding" $ do #==# XMsgDeleted it "x.file" $ "{\"v\":\"9\",\"event\":\"x.file\",\"params\":{\"file\":{\"fileConnReq\":\"simplex:/invitation#/?v=1&smp=smp%3A%2F%2F1234-w%3D%3D%40smp.simplex.im%3A5223%2F3456-w%3D%3D%23%2F%3Fv%3D1-4%26dh%3DMCowBQYDK2VuAyEAjiswwI3O_NlS8Fk3HJUW870EY2bAwmttMBsvRB9eV3o%253D&e2e=v%3D3%26x3dh%3DMEIwBQYDK2VvAzkAmKuSYeQ_m0SixPDS8Wq8VBaTS1cW-Lp0n0h4Diu-kUpR-qXx4SDJ32YGEFoGFGSbGPry5Ychr6U%3D%2CMEIwBQYDK2VvAzkAmKuSYeQ_m0SixPDS8Wq8VBaTS1cW-Lp0n0h4Diu-kUpR-qXx4SDJ32YGEFoGFGSbGPry5Ychr6U%3D\",\"fileSize\":12345,\"fileName\":\"photo.jpg\"}}}" - #==# XFile FileInvitation {fileName = "photo.jpg", fileSize = 12345, fileDigest = Nothing, fileConnReq = Just testConnReq, fileInline = Nothing, fileDescr = Nothing} + #==# XFile FileInvitation {fileName = "photo.jpg", fileSize = 12345, fileDigest = Nothing, fileConnReq = Just testConnReq, fileInline = Nothing, fileDescr = Nothing, fileBadge = Nothing} it "x.file without file invitation" $ "{\"v\":\"9\",\"event\":\"x.file\",\"params\":{\"file\":{\"fileSize\":12345,\"fileName\":\"photo.jpg\"}}}" - #==# XFile FileInvitation {fileName = "photo.jpg", fileSize = 12345, fileDigest = Nothing, fileConnReq = Nothing, fileInline = Nothing, fileDescr = Nothing} + #==# XFile FileInvitation {fileName = "photo.jpg", fileSize = 12345, fileDigest = Nothing, fileConnReq = Nothing, fileInline = Nothing, fileDescr = Nothing, fileBadge = Nothing} it "x.file.acpt" $ "{\"v\":\"9\",\"event\":\"x.file.acpt\",\"params\":{\"fileName\":\"photo.jpg\"}}" #==# XFileAcpt "photo.jpg" From f409680fa48413edf2d3b9172f8822e6a5e97744 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sat, 12 Sep 2026 16:22:32 +0100 Subject: [PATCH 49/69] website: update link (#7496) Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> --- website/src/livestream.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/livestream.html b/website/src/livestream.html index 2b78fd21a0..842dfe7c3e 100644 --- a/website/src/livestream.html +++ b/website/src/livestream.html @@ -79,7 +79,7 @@ templateEngineOverride: njk From be673038abd9468d307de3c6ef2a5eed42ecb9c4 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sun, 13 Sep 2026 11:01:51 +0100 Subject: [PATCH 50/69] core: optimize transactions during message delivery (#7498) * core: optimize transactions during message delivery * merge more transactions --------- Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> --- src/Simplex/Chat/Library/Subscriber.hs | 130 +++++++++++++------------ 1 file changed, 68 insertions(+), 62 deletions(-) diff --git a/src/Simplex/Chat/Library/Subscriber.hs b/src/Simplex/Chat/Library/Subscriber.hs index 27dd742af5..1514418847 100644 --- a/src/Simplex/Chat/Library/Subscriber.hs +++ b/src/Simplex/Chat/Library/Subscriber.hs @@ -135,10 +135,33 @@ processAgentMessage corrId connId msg = do lockEntity <- critical connId (withStore (`getChatLockEntity` AgentConnId connId)) withEntityLock "processAgentMessage" lockEntity $ do cxt <- chatStoreCxt - -- getUserByAConnId never throws logical errors, only SEDBBusyError can be thrown here - critical connId (withStore' (`getUserByAConnId` AgentConnId connId)) >>= \case - Just user -> processAgentMessageConn cxt user corrId connId msg `catchAllErrors` eToView + -- Missing connection/entity errors here will be sent to the view but not shown as CRITICAL alert, + -- as in this case no need to ACK message - we can't process messages for this connection anyway. + critical connId (withStore $ getUserEntity cxt) >>= \case + Just (user, entity) -> processAgentMessageConn cxt user entity corrId connId msg `catchAllErrors` eToView _ -> throwChatError $ CENoConnectionUser (AgentConnId connId) + where + getUserEntity :: StoreCxt -> DB.Connection -> ExceptT StoreError IO (Maybe (User, ConnectionEntity)) + getUserEntity cxt db = + liftIO (getUserByAConnId db $ AgentConnId connId) + >>= mapM (\user -> (user,) <$> (getConnectionEntity db cxt user (AgentConnId connId) >>= liftIO . updateConnStatus db)) + + updateConnStatus :: DB.Connection -> ConnectionEntity -> IO ConnectionEntity + updateConnStatus db acEntity = case agentMsgConnStatus (entityConnection acEntity) msg of + Just connStatus -> do + let conn = (entityConnection acEntity) {connStatus} + updateConnectionStatus db conn connStatus + pure $ updateEntityConnStatus acEntity connStatus + Nothing -> pure acEntity + + agentMsgConnStatus :: Connection -> AEvent e -> Maybe ConnStatus + agentMsgConnStatus Connection {connStatus = cs} = \case + JOINED True -> Just ConnSndReady + CONF {} -> Just ConnRequested + INFO {} -> Just ConnSndReady + CON _ -> Just ConnReady + ERR err | cs /= ConnReady && not (temporaryOrHostError err) -> Just $ ConnFailed (tshow err) + _ -> Nothing -- CRITICAL error will be shown to the user as alert with restart button in Android/desktop apps. -- SEDBBusyError will only be thrown on IO exceptions or SQLError during DB queries, @@ -408,11 +431,8 @@ processAgentMsgRcvFile _corrId aFileId msg = do type ShouldDeleteGroupConns = Bool -processAgentMessageConn :: StoreCxt -> User -> ACorrId -> ConnId -> AEvent 'AEConn -> CM () -processAgentMessageConn cxt user@User {userId} corrId agentConnId agentMessage = do - -- Missing connection/entity errors here will be sent to the view but not shown as CRITICAL alert, - -- as in this case no need to ACK message - we can't process messages for this connection anyway. - entity <- critical agentConnId $ withStore (\db -> getConnectionEntity db cxt user $ AgentConnId agentConnId) >>= updateConnStatus +processAgentMessageConn :: StoreCxt -> User -> ConnectionEntity -> ACorrId -> ConnId -> AEvent 'AEConn -> CM () +processAgentMessageConn cxt user@User {userId} entity corrId agentConnId agentMessage = case agentMessage of END -> case entity of RcvDirectMsgConnection _ (Just ct) -> toView $ CEvtContactAnotherClient user ct @@ -426,23 +446,6 @@ processAgentMessageConn cxt user@User {userId} corrId agentConnId agentMessage = UserContactConnection conn uc -> processContactConnMessage agentMessage entity conn uc where - updateConnStatus :: ConnectionEntity -> CM ConnectionEntity - updateConnStatus acEntity = case agentMsgConnStatus (entityConnection acEntity) agentMessage of - Just connStatus -> do - let conn = (entityConnection acEntity) {connStatus} - withStore' $ \db -> updateConnectionStatus db conn connStatus - pure $ updateEntityConnStatus acEntity connStatus - Nothing -> pure acEntity - - agentMsgConnStatus :: Connection -> AEvent e -> Maybe ConnStatus - agentMsgConnStatus Connection {connStatus = cs} = \case - JOINED True -> Just ConnSndReady - CONF {} -> Just ConnRequested - INFO {} -> Just ConnSndReady - CON _ -> Just ConnReady - ERR err | cs /= ConnReady && not (temporaryOrHostError err) -> Just $ ConnFailed (tshow err) - _ -> Nothing - processCONFpqSupport :: Connection -> PQSupport -> CM Connection processCONFpqSupport conn@Connection {connId, pqSupport = pq} pq' | pq == PQSupportOn && pq' == PQSupportOff = do @@ -507,7 +510,7 @@ processAgentMessageConn cxt user@User {userId} corrId agentConnId agentMessage = withAckMessage' "new contact msg" agentConnId meta $ pure () SENT msgId _proxy -> do void $ continueSending connEntity conn - sentMsgDeliveryEvent conn msgId + withStore' $ \db -> sentMsgDeliveryEvent db conn msgId OK -> -- [async agent commands] continuation on receiving OK when (corrId /= "") $ withCompletedCommand conn agentMsg $ \_cmdData -> pure () @@ -668,11 +671,12 @@ processAgentMessageConn cxt user@User {userId} corrId agentConnId agentMessage = withStore' $ \db -> resetContactConnInitiated db user conn' SENT msgId proxy -> do void $ continueSending connEntity conn - sentMsgDeliveryEvent conn msgId - checkSndInlineFTComplete conn msgId - cis <- withStore $ \db -> do + (fileEvent_, cis) <- withStore $ \db -> do + liftIO $ sentMsgDeliveryEvent db conn msgId + fileEvent_ <- checkSndInlineFTComplete db conn msgId cis <- updateDirectItemsStatus' db ct conn msgId (CISSndSent SSPComplete) - liftIO $ forM cis $ \ci -> setDirectSndChatItemViaProxy db user ct ci (isJust proxy) + (fileEvent_,) <$> liftIO (forM cis $ \ci -> setDirectSndChatItemViaProxy db user ct ci (isJust proxy)) + mapM_ toView fileEvent_ let acis = map ctItem cis unless (null acis) $ toView $ CEvtChatItemsStatusesUpdated user acis where @@ -1159,9 +1163,12 @@ processAgentMessageConn cxt user@User {userId} corrId agentConnId agentMessage = groupMsgReceived gInfo m conn msgMeta msgRcpt SENT msgId proxy -> do continued <- continueSending connEntity conn - sentMsgDeliveryEvent conn msgId - checkSndInlineFTComplete conn msgId - updateGroupItemsStatus gInfo m conn msgId GSSSent (Just $ isJust proxy) + (fileEvent_, acis) <- withStore $ \db -> do + liftIO $ sentMsgDeliveryEvent db conn msgId + fileEvent_ <- checkSndInlineFTComplete db conn msgId + (fileEvent_,) <$> updateGroupItemsStatus db gInfo m conn msgId GSSSent (Just $ isJust proxy) + mapM_ toView fileEvent_ + unless (null acis) $ toView $ CEvtChatItemsStatusesUpdated user acis when continued $ do when (isUserGrpFwdRelay gInfo) $ serveRoster user gInfo m -- roster ahead of the resumed backlog sendPendingGroupMessages user gInfo m conn @@ -1794,9 +1801,9 @@ processAgentMessageConn cxt user@User {userId} corrId agentConnId agentMessage = ackMsg :: MsgMeta -> Maybe MsgReceiptInfo -> CM () ackMsg MsgMeta {recipient = (msgId, _)} rcpt = withAgent $ \a -> ackMessageAsync a "" cId msgId rcpt - sentMsgDeliveryEvent :: Connection -> AgentMsgId -> CM () - sentMsgDeliveryEvent Connection {connId} msgId = - withStore' $ \db -> updateSndMsgDeliveryStatus db connId msgId MDSSndSent + sentMsgDeliveryEvent :: DB.Connection -> Connection -> AgentMsgId -> IO () + sentMsgDeliveryEvent db Connection {connId} msgId = + updateSndMsgDeliveryStatus db connId msgId MDSSndSent agentSndError :: AgentErrorType -> SndError agentSndError = \case @@ -2558,18 +2565,17 @@ processAgentMessageConn cxt user@User {userId} corrId agentConnId agentMessage = imageOrVoice _ = False assertSMPAcceptNotProhibited _ = pure () - checkSndInlineFTComplete :: Connection -> AgentMsgId -> CM () - checkSndInlineFTComplete conn agentMsgId = do - sft_ <- withStore' $ \db -> getSndFTViaMsgDelivery db user conn agentMsgId - forM_ sft_ $ \sft@SndFileTransfer {fileId} -> do - ci@(AChatItem _ _ _ ChatItem {file}) <- withStore $ \db -> do - liftIO $ updateSndFileStatus db sft FSComplete - updateDirectCIFileStatus db cxt user fileId CIFSSndComplete + checkSndInlineFTComplete :: DB.Connection -> Connection -> AgentMsgId -> ExceptT StoreError IO (Maybe ChatEvent) + checkSndInlineFTComplete db conn agentMsgId = do + sft_ <- liftIO $ getSndFTViaMsgDelivery db user conn agentMsgId + forM sft_ $ \sft@SndFileTransfer {fileId} -> do + liftIO $ updateSndFileStatus db sft FSComplete + ci@(AChatItem _ _ _ ChatItem {file}) <- updateDirectCIFileStatus db cxt user fileId CIFSSndComplete case file of Just CIFile {fileProtocol = FPXFTP} -> do - ft <- withStore $ \db -> getFileTransferMeta db user fileId - toView $ CEvtSndFileCompleteXFTP user ci ft - _ -> toView $ CEvtSndFileComplete user ci sft + ft <- getFileTransferMeta db user fileId + pure $ CEvtSndFileCompleteXFTP user ci ft + _ -> pure $ CEvtSndFileComplete user ci sft allowSendInline :: Integer -> Maybe InlineFileMode -> CM Bool allowSendInline fileSize = \case @@ -4004,8 +4010,10 @@ processAgentMessageConn cxt user@User {userId} corrId agentConnId agentMessage = (gInfo', m', scopeInfo) <- mkGroupChatScope gInfo m checkIntegrityCreateItem (CDGroupRcv gInfo' scopeInfo m') msgMeta `catchAllErrors` \_ -> pure () forM_ msgRcpts $ \MsgReceipt {agentMsgId, msgRcptStatus} -> do - withStore' $ \db -> updateSndMsgDeliveryStatus db connId agentMsgId $ MDSSndRcvd msgRcptStatus - updateGroupItemsStatus gInfo' m' conn agentMsgId (GSSRcvd msgRcptStatus) Nothing + acis <- withStore $ \db -> do + liftIO $ updateSndMsgDeliveryStatus db connId agentMsgId $ MDSSndRcvd msgRcptStatus + updateGroupItemsStatus db gInfo' m' conn agentMsgId (GSSRcvd msgRcptStatus) Nothing + unless (null acis) $ toView $ CEvtChatItemsStatusesUpdated user acis -- Searches chat items for many agent message IDs and updates their status updateDirectItemsStatusMsgs :: Contact -> Connection -> [AgentMsgId] -> CIStatus 'MDSnd -> CM () @@ -4046,22 +4054,20 @@ processAgentMessageConn cxt user@User {userId} corrId agentConnId agentMessage = | otherwise -> updateGroupSndStatus db itemId groupMemberId newStatus $> True _ -> pure False - updateGroupItemsStatus :: GroupInfo -> GroupMember -> Connection -> AgentMsgId -> GroupSndStatus -> Maybe Bool -> CM () - updateGroupItemsStatus gInfo@GroupInfo {groupId} GroupMember {groupMemberId} Connection {connId} msgId newMemStatus viaProxy_ = do - acis <- withStore $ \db -> do - items <- liftIO $ getGroupChatItemsByAgentMsgId db user groupId connId msgId - cis <- catMaybes <$> mapM (updateItem db) items - -- SENT and RCVD events are received for messages that may be batched in single scope, - -- so we can look up scope of first item - scopeInfo <- case cis of - (ci : _) -> getGroupChatScopeInfoForItem db cxt user gInfo (chatItemId' ci) - _ -> pure Nothing - pure $ map (gItem scopeInfo) cis - unless (null acis) $ toView $ CEvtChatItemsStatusesUpdated user acis + updateGroupItemsStatus :: DB.Connection -> GroupInfo -> GroupMember -> Connection -> AgentMsgId -> GroupSndStatus -> Maybe Bool -> ExceptT StoreError IO [AChatItem] + updateGroupItemsStatus db gInfo@GroupInfo {groupId} GroupMember {groupMemberId} Connection {connId} msgId newMemStatus viaProxy_ = do + items <- liftIO $ getGroupChatItemsByAgentMsgId db user groupId connId msgId + cis <- catMaybes <$> mapM updateItem items + -- SENT and RCVD events are received for messages that may be batched in single scope, + -- so we can look up scope of first item + scopeInfo <- case cis of + (ci : _) -> getGroupChatScopeInfoForItem db cxt user gInfo (chatItemId' ci) + _ -> pure Nothing + pure $ map (gItem scopeInfo) cis where gItem scopeInfo ci = AChatItem SCTGroup SMDSnd (GroupChat gInfo scopeInfo) ci - updateItem :: DB.Connection -> CChatItem 'CTGroup -> ExceptT StoreError IO (Maybe (ChatItem 'CTGroup 'MDSnd)) - updateItem db = \case + updateItem :: CChatItem 'CTGroup -> ExceptT StoreError IO (Maybe (ChatItem 'CTGroup 'MDSnd)) + updateItem = \case (CChatItem SMDSnd ChatItem {meta = CIMeta {itemStatus = CISSndRcvd _ SSPComplete}}) -> pure Nothing (CChatItem SMDSnd ChatItem {meta = CIMeta {itemId, itemStatus}}) -> do forM_ viaProxy_ $ \viaProxy -> liftIO $ setGroupSndViaProxy db itemId groupMemberId viaProxy From ca114a7a2ae2c33dc2863158baace88fee651a99 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sun, 13 Sep 2026 12:23:39 +0100 Subject: [PATCH 51/69] core: option to limit the max number of loaded chats (#7499) * core: option to limit the max number of loaded chats * update bot api --------- Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> --- bots/api/COMMANDS.md | 8 ++++---- bots/src/API/Docs/Commands.hs | 2 +- .../types/typescript/src/commands.ts | 4 ++-- .../src/simplex_chat/types/_commands.py | 4 ++-- src/Simplex/Chat.hs | 5 +++-- src/Simplex/Chat/Controller.hs | 3 ++- src/Simplex/Chat/Library/Commands.hs | 9 ++++++--- src/Simplex/Chat/Mobile.hs | 1 + src/Simplex/Chat/Options.hs | 11 +++++++++++ tests/ChatClient.hs | 1 + tests/ChatTests/ChatList.hs | 19 +++++++++++++++++++ 11 files changed, 52 insertions(+), 15 deletions(-) diff --git a/bots/api/COMMANDS.md b/bots/api/COMMANDS.md index 42b3da2373..5f49b26653 100644 --- a/bots/api/COMMANDS.md +++ b/bots/api/COMMANDS.md @@ -1817,21 +1817,21 @@ Get chat previews. Supports time-based pagination — use this instead of APILis **Parameters**: - userId: int64 - pendingConnections: bool -- pagination: [PaginationByTime](./TYPES.md#paginationbytime) +- pagination: [PaginationByTime](./TYPES.md#paginationbytime)? - query: [ChatListQuery](./TYPES.md#chatlistquery) **Syntax**: ``` -/_get chats [ pcc=on] +/_get chats [ pcc=on][ ] ``` ```javascript -'/_get chats ' + userId + (pendingConnections ? ' pcc=on' : '') + ' ' + PaginationByTime.cmdString(pagination) + ' ' + JSON.stringify(query) // JavaScript +'/_get chats ' + userId + (pendingConnections ? ' pcc=on' : '') + (pagination ? ' ' + PaginationByTime.cmdString(pagination) : '') + ' ' + JSON.stringify(query) // JavaScript ``` ```python -'/_get chats ' + str(userId) + (' pcc=on' if pendingConnections else '') + ' ' + PaginationByTime_cmd_string(pagination) + ' ' + json.dumps(query) # Python +'/_get chats ' + str(userId) + (' pcc=on' if pendingConnections else '') + ((' ' + PaginationByTime_cmd_string(pagination)) if pagination is not None else '') + ' ' + json.dumps(query) # Python ``` **Responses**: diff --git a/bots/src/API/Docs/Commands.hs b/bots/src/API/Docs/Commands.hs index 782d0d21cd..93a44785ee 100644 --- a/bots/src/API/Docs/Commands.hs +++ b/bots/src/API/Docs/Commands.hs @@ -150,7 +150,7 @@ chatCommandsDocsData = "Commands to list and delete conversations.", [ ("APIListContacts", [], "Get contacts.", ["CRContactsList", "CRChatCmdError"], [], Nothing, "/_contacts " <> Param "userId"), ("APIListGroups", [], "Get groups.", ["CRGroupsList", "CRChatCmdError"], [], Nothing, "/_groups " <> Param "userId" <> Optional "" (" @" <> Param "$0") "contactId_" <> Optional "" (" " <> Param "$0") "search"), - ("APIGetChats", [], "Get chat previews. Supports time-based pagination — use this instead of APIListContacts / APIListGroups when scanning at scale (those load every record into memory and fail on large databases).", ["CRApiChats", "CRChatCmdError"], [], Nothing, "/_get chats " <> Param "userId" <> OnOffParam "pcc" "pendingConnections" (Just False) <> " " <> Param "pagination" <> " " <> Json "query"), + ("APIGetChats", [], "Get chat previews. Supports time-based pagination — use this instead of APIListContacts / APIListGroups when scanning at scale (those load every record into memory and fail on large databases).", ["CRApiChats", "CRChatCmdError"], [], Nothing, "/_get chats " <> Param "userId" <> OnOffParam "pcc" "pendingConnections" (Just False) <> Optional "" (" " <> Param "$0") "pagination" <> " " <> Json "query"), ("APIDeleteChat", [], "Delete chat.", ["CRContactDeleted", "CRContactConnectionDeleted", "CRGroupDeletedUser", "CRChatCmdError"], [], Just UNBackground, "/_delete " <> Param "chatRef" <> " " <> Param "chatDeleteMode"), ("APISetGroupCustomData", [], "Set group custom data.", ["CRCmdOk", "CRChatCmdError"], [], Nothing, "/_set custom #" <> Param "groupId" <> Optional "" (" " <> Json "$0") "customData"), ("APISetContactCustomData", [], "Set contact custom data.", ["CRCmdOk", "CRChatCmdError"], [], Nothing, "/_set custom @" <> Param "contactId" <> Optional "" (" " <> Json "$0") "customData"), diff --git a/packages/simplex-chat-client/types/typescript/src/commands.ts b/packages/simplex-chat-client/types/typescript/src/commands.ts index dcc9ec767d..fbde8ce9ac 100644 --- a/packages/simplex-chat-client/types/typescript/src/commands.ts +++ b/packages/simplex-chat-client/types/typescript/src/commands.ts @@ -664,7 +664,7 @@ export namespace APIListGroups { export interface APIGetChats { userId: number // int64 pendingConnections: boolean - pagination: T.PaginationByTime + pagination?: T.PaginationByTime query: T.ChatListQuery } @@ -672,7 +672,7 @@ export namespace APIGetChats { export type Response = CR.ApiChats | CR.ChatCmdError export function cmdString(self: APIGetChats): string { - return '/_get chats ' + self.userId + (self.pendingConnections ? ' pcc=on' : '') + ' ' + T.PaginationByTime.cmdString(self.pagination) + ' ' + JSON.stringify(self.query) + return '/_get chats ' + self.userId + (self.pendingConnections ? ' pcc=on' : '') + (self.pagination ? ' ' + T.PaginationByTime.cmdString(self.pagination) : '') + ' ' + JSON.stringify(self.query) } } diff --git a/packages/simplex-chat-python/src/simplex_chat/types/_commands.py b/packages/simplex-chat-python/src/simplex_chat/types/_commands.py index 53544324fc..fd4f561c3d 100644 --- a/packages/simplex-chat-python/src/simplex_chat/types/_commands.py +++ b/packages/simplex-chat-python/src/simplex_chat/types/_commands.py @@ -584,12 +584,12 @@ APIListGroups_Response = CR.GroupsList | CR.ChatCmdError class APIGetChats(TypedDict): userId: int # int64 pendingConnections: bool - pagination: "T.PaginationByTime" + pagination: NotRequired["T.PaginationByTime"] query: "T.ChatListQuery" def APIGetChats_cmd_string(self: APIGetChats) -> str: - return '/_get chats ' + str(self['userId']) + (' pcc=on' if self['pendingConnections'] else '') + ' ' + T.PaginationByTime_cmd_string(self['pagination']) + ' ' + json.dumps(self['query']) + return '/_get chats ' + str(self['userId']) + (' pcc=on' if self['pendingConnections'] else '') + ((' ' + T.PaginationByTime_cmd_string(self.get('pagination'))) if self.get('pagination') is not None else '') + ' ' + json.dumps(self['query']) APIGetChats_Response = CR.ApiChats | CR.ChatCmdError diff --git a/src/Simplex/Chat.hs b/src/Simplex/Chat.hs index 85df305f36..39342d59f2 100644 --- a/src/Simplex/Chat.hs +++ b/src/Simplex/Chat.hs @@ -102,6 +102,7 @@ defaultChatConfig = shortLinkPresetServers = allPresetServers, presetDomains = [".simplex.im", ".simplexonflux.com"], tbqSize = 1024, + maxChats = 5000, fileChunkSize = 15780, -- do not change xftpDescrPartSize = 14000, inlineFiles = defaultInlineFilesConfig, @@ -147,11 +148,11 @@ newChatController ChatDatabase {chatStore, agentStore} user cfg@ChatConfig {agentConfig = aCfg, presetServers, inlineFiles, deviceNameForRemote, confirmMigrations} - ChatOpts {coreOptions = CoreChatOpts {smpServers, xftpServers, simpleNetCfg, logLevel, logConnections, logServerHosts, logFile, tbqSize, deviceName, webPreviewConfig, highlyAvailable, yesToUpMigrations}, optFilesFolder, optTempDirectory, showReactions, showFullLinks, allowInstantFiles, autoAcceptFileSize} + ChatOpts {coreOptions = CoreChatOpts {smpServers, xftpServers, simpleNetCfg, logLevel, logConnections, logServerHosts, logFile, tbqSize, maxChats, deviceName, webPreviewConfig, highlyAvailable, yesToUpMigrations}, optFilesFolder, optTempDirectory, showReactions, showFullLinks, allowInstantFiles, autoAcceptFileSize} backgroundMode = do let inlineFiles' = if allowInstantFiles || autoAcceptFileSize > 0 then inlineFiles else inlineFiles {sendChunks = 0, receiveInstant = False} confirmMigrations' = if confirmMigrations == MCConsole && yesToUpMigrations then MCYesUp else confirmMigrations - config = cfg {logLevel, showReactions, showFullLinks, tbqSize, subscriptionEvents = logConnections, hostEvents = logServerHosts, presetServers = presetServers', inlineFiles = inlineFiles', autoAcceptFileSize, webPreviewConfig, highlyAvailable, confirmMigrations = confirmMigrations'} + config = cfg {logLevel, showReactions, showFullLinks, tbqSize, maxChats, subscriptionEvents = logConnections, hostEvents = logServerHosts, presetServers = presetServers', inlineFiles = inlineFiles', autoAcceptFileSize, webPreviewConfig, highlyAvailable, confirmMigrations = confirmMigrations'} randomPresetServers <- chooseRandomServers presetServers' let rndSrvs = L.toList randomPresetServers operatorWithId (i, op) = (\o -> o {operatorId = DBEntityId i}) <$> pOperator op diff --git a/src/Simplex/Chat/Controller.hs b/src/Simplex/Chat/Controller.hs index dc4f86472c..4be017bf9e 100644 --- a/src/Simplex/Chat/Controller.hs +++ b/src/Simplex/Chat/Controller.hs @@ -148,6 +148,7 @@ data ChatConfig = ChatConfig shortLinkPresetServers :: NonEmpty SMPServer, presetDomains :: [HostName], tbqSize :: Natural, + maxChats :: Int, fileChunkSize :: Integer, xftpDescrPartSize :: Int, inlineFiles :: InlineFilesConfig, @@ -381,7 +382,7 @@ data ChatCommand | APISaveAppSettings AppSettings | APIGetAppSettings (Maybe AppSettings) | APIGetChatTags UserId - | APIGetChats {userId :: UserId, pendingConnections :: Bool, pagination :: PaginationByTime, query :: ChatListQuery} + | APIGetChats {userId :: UserId, pendingConnections :: Bool, pagination :: Maybe PaginationByTime, query :: ChatListQuery} | APIGetChat {chatRef :: ChatRef, contentTag :: Maybe MsgContentTag, chatPagination :: ChatPagination, search :: Maybe Text} | APIGetChatContentTypes ChatRef | APIGetChatItems {chatPagination :: ChatPagination, search :: Maybe Text} diff --git a/src/Simplex/Chat/Library/Commands.hs b/src/Simplex/Chat/Library/Commands.hs index 2d65a1677a..01fc4b55ff 100644 --- a/src/Simplex/Chat/Library/Commands.hs +++ b/src/Simplex/Chat/Library/Commands.hs @@ -652,7 +652,9 @@ processChatCommand cxt nm = \case tags <- withFastStore' (`getUserChatTags` user) pure $ CRChatTags user tags APIGetChats {userId, pendingConnections, pagination, query} -> withUserId' userId $ \user -> do - (errs, previews) <- partitionEithers <$> withFastStore' (\db -> getChatPreviews db cxt user pendingConnections pagination query) + ChatConfig {maxChats} <- asks config + let pagination' = fromMaybe (PTLast maxChats) pagination + (errs, previews) <- partitionEithers <$> withFastStore' (\db -> getChatPreviews db cxt user pendingConnections pagination' query) unless (null errs) $ toView $ CEvtChatErrors (map ChatErrorStore errs) pure $ CRApiChats user previews APIGetChat (ChatRef cType cId scope_) contentFilter pagination search -> withUser $ \user -> case cType of @@ -3431,7 +3433,8 @@ processChatCommand cxt nm = \case folderId <- withFastStore (`getUserNoteFolderId` user) processChatCommand cxt nm $ APIClearChat (ChatRef CTLocal folderId Nothing) LastChats count_ -> withUser' $ \user -> do - let count = fromMaybe 5000 count_ + ChatConfig {maxChats} <- asks config + let count = fromMaybe maxChats count_ (errs, previews) <- partitionEithers <$> withFastStore' (\db -> getChatPreviews db cxt user False (PTLast count) clqNoFilters) unless (null errs) $ toView $ CEvtChatErrors (map ChatErrorStore errs) pure $ CRChats previews @@ -5517,7 +5520,7 @@ chatCommandP = *> ( APIGetChats <$> A.decimal <*> (" pcc=on" $> True <|> " pcc=off" $> False <|> pure False) - <*> (A.space *> paginationByTimeP <|> pure (PTLast 5000)) + <*> optional (A.space *> paginationByTimeP) <*> (A.space *> jsonP <|> pure clqNoFilters) ), "/_get chat " *> (APIGetChat <$> chatRefP <*> optional (" content=" *> strP) <* A.space <*> chatPaginationP <*> optional (" search=" *> textP)), diff --git a/src/Simplex/Chat/Mobile.hs b/src/Simplex/Chat/Mobile.hs index 09af069ef7..51e0409723 100644 --- a/src/Simplex/Chat/Mobile.hs +++ b/src/Simplex/Chat/Mobile.hs @@ -259,6 +259,7 @@ mobileChatOpts dbOptions = logAgent = Nothing, logFile = Nothing, tbqSize = 4096, + maxChats = 5000, deviceName = Nothing, chatRelay = False, webPreviewConfig = Nothing, diff --git a/src/Simplex/Chat/Options.hs b/src/Simplex/Chat/Options.hs index 4e47868fa0..d8bbb31606 100644 --- a/src/Simplex/Chat/Options.hs +++ b/src/Simplex/Chat/Options.hs @@ -67,6 +67,7 @@ data CoreChatOpts = CoreChatOpts logAgent :: Maybe LogLevel, logFile :: Maybe FilePath, tbqSize :: Natural, + maxChats :: Int, deviceName :: Maybe Text, chatRelay :: Bool, webPreviewConfig :: Maybe WebPreviewConfig, @@ -234,6 +235,15 @@ coreChatOptsP appDir defaultDbName = do <> value 1024 <> showDefault ) + maxChats <- + option + auto + ( long "max-chats" + <> metavar "COUNT" + <> help "Max number of chats loaded by chat list API" + <> value 5000 + <> showDefault + ) deviceName <- optional $ strOption @@ -340,6 +350,7 @@ coreChatOptsP appDir defaultDbName = do logAgent = if logAgent || logLevel == CLLDebug then Just $ agentLogLevel logLevel else Nothing, logFile, tbqSize, + maxChats, deviceName, chatRelay, webPreviewConfig, diff --git a/tests/ChatClient.hs b/tests/ChatClient.hs index 4f322c82d9..0a7914d366 100644 --- a/tests/ChatClient.hs +++ b/tests/ChatClient.hs @@ -157,6 +157,7 @@ testCoreOpts = logAgent = Nothing, logFile = Nothing, tbqSize = 16, + maxChats = 5000, deviceName = Nothing, chatRelay = False, webPreviewConfig = Nothing, diff --git a/tests/ChatTests/ChatList.hs b/tests/ChatTests/ChatList.hs index 889915a6e8..07b338c99f 100644 --- a/tests/ChatTests/ChatList.hs +++ b/tests/ChatTests/ChatList.hs @@ -5,11 +5,13 @@ import ChatTests.DBUtils import ChatTests.Utils import Data.Time.Clock (getCurrentTime) import Data.Time.Format.ISO8601 (iso8601Show) +import Simplex.Chat.Options (ChatOpts (..), CoreChatOpts (..)) import Test.Hspec hiding (it) chatListTests :: SpecWith TestParams chatListTests = do it "get last chats" testPaginationLast + it "get last chats with max chats option" testMaxChats it "get chats before/after timestamp" testPaginationTs it "filter by search query" testFilterSearch it "filter favorite" testFilterFavorite @@ -33,6 +35,23 @@ testPaginationLast = alice <# "bob> hey" alice <# "@cath hey" +testMaxChats :: HasCallStack => TestParams -> IO () +testMaxChats = + testChatOpts3 testOpts {coreOptions = testCoreOpts {maxChats = 1}} aliceProfile bobProfile cathProfile $ + \alice bob cath -> do + connectUsers alice bob + alice <##> bob + connectUsers alice cath + cath <##> alice + + alice ##> "/chats all" + alice <# "@cath hey" + alice ##> "/chats 2" + alice <# "bob> hey" + alice <# "@cath hey" + alice #$> ("/_get chats 1 pcc=on", chats, [("@cath", "hey")]) + getChats_ alice "count=2" [("@cath", "hey"), ("@bob", "hey")] + testPaginationTs :: HasCallStack => TestParams -> IO () testPaginationTs = testChat3 aliceProfile bobProfile cathProfile $ From ae19a812018f12da1d9e20579489a6fe291a575e Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sun, 13 Sep 2026 15:17:27 +0100 Subject: [PATCH 52/69] directory: option to set observer role by default (#7501) * directory: set role * role * option * shorter help --------- Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> --- .../src/Directory/Options.hs | 7 +++++ .../src/Directory/Service.hs | 8 ++--- tests/Bots/DirectoryTests.hs | 30 +++++++++++++++++++ 3 files changed, 41 insertions(+), 4 deletions(-) diff --git a/apps/simplex-directory-service/src/Directory/Options.hs b/apps/simplex-directory-service/src/Directory/Options.hs index 89709e66d9..03f4d7bb0c 100644 --- a/apps/simplex-directory-service/src/Directory/Options.hs +++ b/apps/simplex-directory-service/src/Directory/Options.hs @@ -41,6 +41,7 @@ data DirectoryOpts = DirectoryOpts linkCheckInterval :: Int, prohibitedToObserver :: Bool, alwaysCaptcha :: Bool, + alwaysObserver :: Bool, knocking :: Bool, testing :: Bool } @@ -170,6 +171,11 @@ directoryOpts appDir defaultDbName = do ( long "always-captcha" <> help "Require a captcha from joining members in all groups, regardless of per-group filter settings" ) + alwaysObserver <- + switch + ( long "always-observer" + <> help "Make joining members observers in all groups, regardless of per-group setting in directory" + ) knocking <- switch ( long "knocking" @@ -197,6 +203,7 @@ directoryOpts appDir defaultDbName = do linkCheckInterval, prohibitedToObserver, alwaysCaptcha, + alwaysObserver, knocking, testing = False } diff --git a/apps/simplex-directory-service/src/Directory/Service.hs b/apps/simplex-directory-service/src/Directory/Service.hs index 61ed7e66af..b2a42c1eb2 100644 --- a/apps/simplex-directory-service/src/Directory/Service.hs +++ b/apps/simplex-directory-service/src/Directory/Service.hs @@ -268,7 +268,7 @@ directoryService opts cfg = do acceptMemberHook :: DirectoryOpts -> ServiceState -> GroupInfo -> GroupLinkInfo -> Profile -> IO (Either GroupRejectionReason (GroupAcceptance, GroupMemberRole)) acceptMemberHook - DirectoryOpts {profileNameLimit, alwaysCaptcha, knocking} + DirectoryOpts {profileNameLimit, alwaysCaptcha, alwaysObserver, knocking} ServiceState {blockedWordsCfg} g GroupLinkInfo {memberRole} @@ -279,7 +279,7 @@ acceptMemberHook if | knocking -> (GAPendingReview, memberRole) | alwaysCaptcha || useMemberFilter img (passCaptcha a) -> (GAPendingApproval, GRMember) - | useMemberFilter img (makeObserver a) -> (GAAccepted, GRObserver) + | alwaysObserver || useMemberFilter img (makeObserver a) -> (GAAccepted, GRObserver) | otherwise -> (GAAccepted, memberRole) where checkName :: ExceptT GroupRejectionReason IO () @@ -314,7 +314,7 @@ readBlockedWordsConfig DirectoryOpts {blockedFragmentsFile, blockedWordsFile, na pure BlockedWordsConfig {blockedFragments, blockedWords, extensionRules, spelling} directoryServiceEvent :: DirectoryOpts -> ServiceState -> User -> ChatController -> DirectoryEvent -> IO () -directoryServiceEvent opts@DirectoryOpts {adminUsers, superUsers, serviceName, ownersGroup, searchResults, prohibitedToObserver, alwaysCaptcha} env@ServiceState {searchRequests} user@User {userId} cc = \case +directoryServiceEvent opts@DirectoryOpts {adminUsers, superUsers, serviceName, ownersGroup, searchResults, prohibitedToObserver, alwaysCaptcha, alwaysObserver} env@ServiceState {searchRequests} user@User {userId} cc = \case DEContactConnected ct -> deContactConnected ct DEGroupInvitation {contact = ct, groupInfo = g, fromMemberRole, memberRole} -> deGroupInvitation ct g fromMemberRole memberRole DEServiceJoinedGroup ctId g owner -> deServiceJoinedGroup ctId g owner @@ -678,7 +678,7 @@ directoryServiceEvent opts@DirectoryOpts {adminUsers, superUsers, serviceName, o approvePendingMember :: DirectoryMemberAcceptance -> GroupInfo -> GroupMember -> IO () approvePendingMember a g@GroupInfo {groupId} m@GroupMember {memberProfile = LocalProfile {displayName, image}} = do gli_ <- join . eitherToMaybe <$> withDB' "getGroupLinkInfo" cc (\db -> getGroupLinkInfo db userId groupId) - let role = if useMemberFilter image (makeObserver a) then GRObserver else maybe GRMember (\GroupLinkInfo {memberRole} -> memberRole) gli_ + let role = if alwaysObserver || useMemberFilter image (makeObserver a) then GRObserver else maybe GRMember (\GroupLinkInfo {memberRole} -> memberRole) gli_ gmId = groupMemberId' m sendChatCmd cc (APIAcceptMember groupId gmId role) >>= \case Right CRMemberAccepted {member} -> do diff --git a/tests/Bots/DirectoryTests.hs b/tests/Bots/DirectoryTests.hs index af92195f79..28b4e0d1bf 100644 --- a/tests/Bots/DirectoryTests.hs +++ b/tests/Bots/DirectoryTests.hs @@ -78,6 +78,7 @@ directoryServiceTests = do describe "member admission" $ do it "should require captcha by default for new groups" testCaptchaByDefault it "should require captcha in all groups with --always-captcha" testAlwaysCaptcha + it "should make joining members observers in all groups with --always-observer" testAlwaysObserver it "should require admin review in all groups with --knocking" testKnocking it "should ask member to pass captcha screen" testCapthaScreening it "should send voice captcha on /audio command" testVoiceCaptchaScreening @@ -144,6 +145,7 @@ mkDirectoryOpts TestParams {tmpPath = ps} superUsers ownersGroup webFolder = linkCheckInterval = 0, prohibitedToObserver = False, alwaysCaptcha = False, + alwaysObserver = False, knocking = False, testing = True } @@ -1258,6 +1260,34 @@ testAlwaysCaptcha ps = bob <## "#privacy: 'SimpleX Directory' added cath (Catherine) to the group (connecting...)" bob <## "#privacy: new member cath is connected" +testAlwaysObserver :: HasCallStack => TestParams -> IO () +testAlwaysObserver ps = + withDirectoryServiceOpts ps (\o -> o {alwaysObserver = True}) $ \superUser dsLink -> + withNewTestChat ps "bob" bobProfile $ \bob -> + withNewTestChat ps "cath" cathProfile $ \cath -> do + bob `connectVia` dsLink + submitGroup bob "privacy" "Privacy" + groupAccepted bob "privacy" 1 + welcomeWithLink <- completeRegistration superUser bob "privacy" "Privacy" 1 + let groupLink = dropStrPrefix "Link to join the group privacy: " welcomeWithLink + cath ##> ("/c " <> groupLink) + cath <## "connection request sent!" + cath <## "#privacy: joining the group..." + cath <## "#privacy: you joined the group, pending approval" + cath <# "#privacy (support) 'SimpleX Directory'> Captcha is generated by SimpleX Directory service." + cath <## "" + cath <## "Send captcha text to join the group privacy." + captcha <- dropStrPrefix "#privacy (support) 'SimpleX Directory'> " . dropTime <$> getTermLine cath + cath #> ("#privacy (support) " <> captcha) + cath <# ("#privacy (support) 'SimpleX Directory'!> > cath " <> captcha) + cath <## " Correct, you joined the group privacy" + cath <## "#privacy: you joined the group" + cath <## "#privacy: member bob (Bob) is connected" + bob <## "#privacy: 'SimpleX Directory' added cath (Catherine) to the group (connecting...)" + bob <## "#privacy: new member cath is connected" + cath ##> "#privacy hello" + cath <## "#privacy: you don't have permission to send messages" + testKnocking :: HasCallStack => TestParams -> IO () testKnocking ps = withDirectoryServiceOpts ps (\o -> o {knocking = True}) $ \superUser dsLink -> From 237409890e709cde3fb8651d104eefd536191373 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sun, 13 Sep 2026 17:19:15 +0100 Subject: [PATCH 53/69] core: stop all workers on chat controller stop (#7502) Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> --- src/Simplex/Chat/Controller.hs | 6 +-- src/Simplex/Chat/Library/Commands.hs | 23 ++++++++--- src/Simplex/Chat/Web.hs | 10 ++--- tests/ChatTests/Direct.hs | 61 +++++++++++++++++++++++++--- 4 files changed, 82 insertions(+), 18 deletions(-) diff --git a/src/Simplex/Chat/Controller.hs b/src/Simplex/Chat/Controller.hs index 4be017bf9e..e69bb7e6ac 100644 --- a/src/Simplex/Chat/Controller.hs +++ b/src/Simplex/Chat/Controller.hs @@ -95,7 +95,7 @@ import Simplex.Messaging.Protocol (AProtoServerWithAuth, AProtocolType (..), Msg import Simplex.Messaging.TMap (TMap) import Simplex.Messaging.Transport (TLS, TransportPeer (..), simplexMQVersion) import Simplex.Messaging.Transport.Client (SocksProxyWithAuth, TransportHost) -import Simplex.Messaging.Util (AnyError (..), catchAllErrors, (<$$>)) +import Simplex.Messaging.Util (AnyError (..), catchAllErrors, catchOwn', (<$$>)) import Simplex.RemoteControl.Client import Simplex.RemoteControl.Invitation (RCSignedInvitation, RCVerifiedInvitation) import Simplex.RemoteControl.Types @@ -1755,12 +1755,12 @@ withFastStore = withStorePriority True withStorePriority :: Bool -> (DB.Connection -> ExceptT StoreError IO a) -> CM a withStorePriority priority action = do ChatController {chatStore} <- ask - liftIOEither $ withTransactionPriority chatStore priority (runExceptT . withExceptT ChatErrorStore . action) `E.catch` handleDBErrors + liftIOEither $ withTransactionPriority chatStore priority (runExceptT . withExceptT ChatErrorStore . action) `catchOwn'` handleDBErrors withStoreBatch :: Traversable t => (DB.Connection -> t (IO (Either ChatError a))) -> CM' (t (Either ChatError a)) withStoreBatch actions = do ChatController {chatStore} <- ask - liftIO $ withTransaction chatStore $ mapM (`E.catch` handleDBErrors) . actions + liftIO $ withTransaction chatStore $ mapM (`catchOwn'` handleDBErrors) . actions handleDBErrors :: E.SomeException -> IO (Either ChatError a) handleDBErrors e = pure $ Left $ ChatErrorStore $ case E.fromException e of diff --git a/src/Simplex/Chat/Library/Commands.hs b/src/Simplex/Chat/Library/Commands.hs index 01fc4b55ff..4e4cb92afc 100644 --- a/src/Simplex/Chat/Library/Commands.hs +++ b/src/Simplex/Chat/Library/Commands.hs @@ -123,23 +123,24 @@ import Simplex.RemoteControl.Types (RCCtrlAddress (..)) import System.Exit (ExitCode, exitSuccess) import System.FilePath (takeExtension, takeFileName, ()) import System.IO (Handle, IOMode (..)) +import System.Mem.Weak (deRefWeak) import System.Random (randomRIO) import System.Timeout (timeout) import UnliftIO.Async -import UnliftIO.Concurrent (forkIO, threadDelay) +import UnliftIO.Concurrent (forkIO, killThread, threadDelay) import UnliftIO.Directory import qualified UnliftIO.Exception as E import UnliftIO.IO (hClose) import UnliftIO.STM #if defined(dbPostgres) import Data.Bifunctor (bimap, first, second) -import Simplex.Messaging.Agent.Client (SubInfo (..), getAgentQueuesInfo, getAgentWorkersDetails, getAgentWorkersSummary, temporaryOrHostError) +import Simplex.Messaging.Agent.Client (SubInfo (..), cancelWorker, getAgentQueuesInfo, getAgentWorkersDetails, getAgentWorkersSummary, temporaryOrHostError) #else import Data.Bifunctor (bimap, first, second) import qualified Data.ByteArray as BA import qualified Database.SQLite.Simple as SQL import Simplex.Chat.Archive -import Simplex.Messaging.Agent.Client (SubInfo (..), agentClientStore, getAgentQueuesInfo, getAgentWorkersDetails, getAgentWorkersSummary, temporaryOrHostError) +import Simplex.Messaging.Agent.Client (SubInfo (..), agentClientStore, cancelWorker, getAgentQueuesInfo, getAgentWorkersDetails, getAgentWorkersSummary, temporaryOrHostError) import Simplex.Messaging.Agent.Store.Common (withConnection) import Simplex.Messaging.Agent.Store.SQLite.DB (SlowQueryStats (..)) #endif @@ -346,11 +347,19 @@ restoreCalls = do atomically $ writeTVar calls callsMap stopChatController :: ChatController -> IO () -stopChatController ChatController {smpAgent, agentAsync = s, sndFiles, rcvFiles, expireCIFlags, remoteHostSessions, remoteCtrlSession} = do +stopChatController ChatController {smpAgent, agentAsync = s, sndFiles, rcvFiles, expireCIFlags, remoteHostSessions, remoteCtrlSession, cleanupManagerAsync, relayGroupLinkChecksAsync, webPreviewState, expireCIThreads, timedItemThreads, deliveryTaskWorkers, deliveryJobWorkers, relayRequestWorkers} = do readTVarIO remoteHostSessions >>= mapM_ (cancelRemoteHost False . snd) atomically (stateTVar remoteCtrlSession (,Nothing)) >>= mapM_ (cancelRemoteCtrl False . snd) disconnectAgentClient smpAgent - readTVarIO s >>= mapM_ (\(a1, a2) -> forkIO $ uninterruptibleCancel a1 >> mapM_ uninterruptibleCancel a2) + readTVarIO s >>= mapM_ (\(a1, a2) -> uninterruptibleCancel a1 >> mapM_ uninterruptibleCancel a2) + cancelAsync cleanupManagerAsync + cancelAsync relayGroupLinkChecksAsync + forM_ webPreviewState $ \WebPreviewState {webPreviewWorkerAsync} -> cancelAsync webPreviewWorkerAsync + clearMap expireCIThreads >>= mapM_ (mapM_ uninterruptibleCancel) + clearMap timedItemThreads >>= mapM_ (readTVarIO >=> mapM_ (deRefWeak >=> mapM_ killThread)) + clearMap deliveryTaskWorkers >>= mapM_ cancelWorker + clearMap deliveryJobWorkers >>= mapM_ cancelWorker + clearMap relayRequestWorkers >>= mapM_ cancelWorker closeFiles sndFiles closeFiles rcvFiles atomically $ do @@ -358,6 +367,10 @@ stopChatController ChatController {smpAgent, agentAsync = s, sndFiles, rcvFiles, forM_ keys $ \k -> TM.insert k False expireCIFlags writeTVar s Nothing where + cancelAsync :: TVar (Maybe (Async ())) -> IO () + cancelAsync a = atomically (swapTVar a Nothing) >>= mapM_ uninterruptibleCancel + clearMap :: TM.TMap k a -> IO (Map k a) + clearMap m = atomically $ swapTVar m M.empty closeFiles :: TVar (Map Int64 Handle) -> IO () closeFiles files = do fs <- readTVarIO files diff --git a/src/Simplex/Chat/Web.hs b/src/Simplex/Chat/Web.hs index fc3e4b2a26..9720116d91 100644 --- a/src/Simplex/Chat/Web.hs +++ b/src/Simplex/Chat/Web.hs @@ -24,7 +24,7 @@ module Simplex.Chat.Web where import Control.Concurrent.STM (check, flushTQueue) -import Control.Exception (SomeException, catch) +import Control.Exception (SomeException) import Control.Logger.Simple import Control.Monad import Control.Monad.Except (runExceptT) @@ -75,7 +75,7 @@ import Simplex.Chat.Types ) import Simplex.Messaging.Agent.Store.Common (withTransaction) import Simplex.Messaging.Encoding.String (strEncode) -import Simplex.Messaging.Util (catchOwn, eitherToMaybe, safeDecodeUtf8, tshow) +import Simplex.Messaging.Util (catchOwn, catchOwn', eitherToMaybe, safeDecodeUtf8, tshow) import Simplex.Messaging.Parsers (defaultJSON) import System.Directory (createDirectoryIfMissing, listDirectory, removeFile, renameFile) import System.FilePath (dropExtension, takeExtension, ()) @@ -150,7 +150,7 @@ webPreviewWorker cfg@WebPreviewConfig {webJsonDir, webCorsFile, webUpdateInterva drainRemovals = atomically (tryReadTQueue filesToRemove) >>= \case Nothing -> pure () Just f -> do - removeFile (webJsonDir f) `catch` \(_ :: SomeException) -> pure () + removeFile (webJsonDir f) `catchOwn'` \(_ :: SomeException) -> pure () drainRemovals -- flush the whole queue and render each group once: a burst of changes in one @@ -202,7 +202,7 @@ webPreviewWorker cfg@WebPreviewConfig {webJsonDir, webCorsFile, webUpdateInterva renderOneGroup WebPreviewState {publishableGroupIds} gId = do publishable <- atomically $ M.member gId <$> readTVar publishableGroupIds when publishable $ - renderOrRemoveStale `catch` \(e :: SomeException) -> + renderOrRemoveStale `catchOwn'` \(e :: SomeException) -> logError $ "web preview: error rendering group " <> T.pack (show gId) <> ": " <> T.pack (show e) where renderOrRemoveStale = do @@ -217,7 +217,7 @@ webPreviewWorker cfg@WebPreviewConfig {webJsonDir, webCorsFile, webUpdateInterva modifyTVar' publishableGroupIds (M.delete gId) pure $ pgFileName <$> pg forM_ fName $ \f -> - removeFile (webJsonDir f) `catch` \(_ :: SomeException) -> pure () + removeFile (webJsonDir f) `catchOwn'` \(_ :: SomeException) -> pure () logInfo $ "web preview: group " <> T.pack (show gId) <> " no longer publishable" findUser f = go users diff --git a/tests/ChatTests/Direct.hs b/tests/ChatTests/Direct.hs index 732bc465b4..9319f6e711 100644 --- a/tests/ChatTests/Direct.hs +++ b/tests/ChatTests/Direct.hs @@ -15,18 +15,21 @@ import ChatClient import ChatTests.DBUtils import ChatTests.Utils import Control.Concurrent (threadDelay) -import Control.Concurrent.Async (concurrently_) -import Control.Monad (forM_, void) +import Control.Concurrent.Async (concurrently_, poll) +import Control.Monad (forM_, void, (>=>)) import Data.Aeson (ToJSON) import qualified Data.Aeson as J import qualified Data.ByteString.Char8 as B import qualified Data.ByteString.Lazy.Char8 as LB import Data.List (intercalate, stripPrefix) +import qualified Data.Map.Strict as M +import Data.Maybe (isJust, isNothing) import qualified Data.Text as T +import GHC.Conc (ThreadStatus (..), threadStatus) import Simplex.Chat.AppSettings (defaultAppSettings) import qualified Simplex.Chat.AppSettings as AS import Simplex.Chat.Call -import Simplex.Chat.Controller (ChatConfig (..), PresetServers (..)) +import Simplex.Chat.Controller (ChatConfig (..), ChatController (..), PresetServers (..)) import Simplex.Chat.Messages (ChatItemId) import Simplex.Chat.Options import Simplex.Chat.Protocol (supportedChatVRange) @@ -35,7 +38,7 @@ import Simplex.Messaging.Agent.Env.SQLite import Simplex.Messaging.Agent.RetryInterval import qualified Simplex.Messaging.Agent.Store.DB as DB import Simplex.Messaging.Client (NetworkTimeout (..)) -import Control.Concurrent.STM (atomically) +import Control.Concurrent.STM (atomically, readTVarIO) import qualified Simplex.Messaging.Crypto as C import Simplex.Messaging.Encoding.String (strEncode) import Simplex.Messaging.Server.Env.STM hiding (subscriptions) @@ -43,6 +46,7 @@ import Simplex.Messaging.Transport import Simplex.Messaging.Util (safeDecodeUtf8) import Simplex.Messaging.Version import System.Directory (copyFile, doesDirectoryExist, doesFileExist) +import System.Mem.Weak (deRefWeak) import Test.Hspec hiding (it) #if defined(dbPostgres) import Database.PostgreSQL.Simple (Only (..)) @@ -101,8 +105,9 @@ chatDirectTests = do it "connect, fully asynchronous (when clients are never simultaneously online)" $ testFullAsyncFast describe "webrtc calls api" $ do it "negotiate call" testNegotiateCall -#if !defined(dbPostgres) describe "maintenance mode" $ do + it "stop chat stops all threads, start chat restarts them" testStopStartChat +#if !defined(dbPostgres) it "start/stop/export/import chat" testMaintenanceMode it "export/import chat with files" testMaintenanceModeWithFiles it "encrypt/decrypt database" testDatabaseEncryption @@ -1358,6 +1363,52 @@ testNegotiateCall = alice <## "call with bob ended" alice #$> ("/_get chat @2 count=100", chat, chatFeatures <> [(1, "outgoing call: ended (00:00)")]) +testStopStartChat :: HasCallStack => TestParams -> IO () +testStopStartChat ps = + withNewTestChat ps "bob" bobProfile $ \bob -> + withNewTestChatCfg ps cfg "alice" aliceProfile $ \alice -> do + connectUsers alice bob + alice #> "@bob hi" + bob <# "alice> hi" + alice #$> ("/_ttl 1 4", id, "ok") + alice ##> "/_set prefs @2 {\"timedMessages\": {\"allow\": \"yes\", \"ttl\": 2}}" + alice <## "you updated preferences for bob:" + alice <## "Disappearing messages: enabled (you allow: yes (2 sec), contact allows: yes)" + bob <## "alice updated preferences for you:" + bob <## "Disappearing messages: enabled (you allow: yes (2 sec), contact allows: yes (2 sec))" + alice #> "@bob hi timed" + bob <# "alice> hi timed" + let ChatController {agentAsync, cleanupManagerAsync, expireCIThreads, timedItemThreads} = chatController alice + Just (a1, Just a2) <- readTVarIO agentAsync + Just cleanupA <- readTVarIO cleanupManagerAsync + [Just expireA] <- M.elems <$> readTVarIO expireCIThreads + [Just timedTId] <- mapM (readTVarIO >=> maybe (pure Nothing) deRefWeak) . M.elems =<< readTVarIO timedItemThreads + alice ##> "/_stop" + alice <## "chat stopped" + forM_ [a1, a2, cleanupA, expireA] $ \a -> isJust <$> poll a `shouldReturn` True + threadDelay 100000 + threadStatus timedTId `shouldReturn` ThreadFinished + isNothing <$> readTVarIO agentAsync `shouldReturn` True + isNothing <$> readTVarIO cleanupManagerAsync `shouldReturn` True + M.null <$> readTVarIO expireCIThreads `shouldReturn` True + M.null <$> readTVarIO timedItemThreads `shouldReturn` True + alice ##> "/_start" + alice <## "chat started" + alice <## "subscribed 1 connections on server localhost" + bob #> "@alice hello" + alice <# "bob> hello" + alice <### ["timed message deleted: hi timed", "timed message deleted: hello"] + bob <### ["timed message deleted: hi timed", "timed message deleted: hello"] + threadDelay 3000000 + alice #$> ("/_get chat @2 count=100", chat, [(1, "chat banner")]) + Just (a1', _) <- readTVarIO agentAsync + (a1' == a1) `shouldBe` False + Just cleanupA' <- readTVarIO cleanupManagerAsync + (cleanupA' == cleanupA) `shouldBe` False + M.keys <$> readTVarIO expireCIThreads `shouldReturn` [1] + where + cfg = testCfg {initialCleanupManagerDelay = 0, cleanupManagerStepDelay = 0, ciExpirationInterval = 500000} + testMaintenanceMode :: HasCallStack => TestParams -> IO () testMaintenanceMode ps = do withNewTestChat ps "bob" bobProfile $ \bob -> do From ebabcc4053527e595d798db1a455b5355e267bfc Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Tue, 15 Sep 2026 10:13:10 +0100 Subject: [PATCH 54/69] core: 7.1.0.5 (simplexmq 7.1.0.6) --- cabal.project | 2 +- scripts/nix/sha256map.nix | 2 +- simplex-chat.cabal | 2 +- src/Simplex/Chat/Remote.hs | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cabal.project b/cabal.project index 7e6b8a2a01..b4eba950c7 100644 --- a/cabal.project +++ b/cabal.project @@ -21,7 +21,7 @@ constraints: zip +disable-bzip2 +disable-zstd source-repository-package type: git location: https://github.com/simplex-chat/simplexmq.git - tag: a00e225d74dfa03aba2293530416f69c55373bed + tag: 7f0218e1d588a6d18c46916c8095e4fd78e09421 source-repository-package type: git diff --git a/scripts/nix/sha256map.nix b/scripts/nix/sha256map.nix index b28f5afbf9..6527571b7c 100644 --- a/scripts/nix/sha256map.nix +++ b/scripts/nix/sha256map.nix @@ -1,5 +1,5 @@ { - "https://github.com/simplex-chat/simplexmq.git"."a00e225d74dfa03aba2293530416f69c55373bed" = "0d0bd5w7rf862fswk6p2bcafjwxpvg78apz1yjcva8i2la8as1k5"; + "https://github.com/simplex-chat/simplexmq.git"."7f0218e1d588a6d18c46916c8095e4fd78e09421" = "1y0y7kpdd6sn8hwb087avkkxza23l5xyaz3bgrzix8pnl2il52kj"; "https://github.com/simplex-chat/hs-socks.git"."a30cc7a79a08d8108316094f8f2f82a0c5e1ac51" = "0yasvnr7g91k76mjkamvzab2kvlb1g5pspjyjn2fr6v83swjhj38"; "https://github.com/simplex-chat/direct-sqlcipher.git"."f814ee68b16a9447fbb467ccc8f29bdd3546bfd9" = "1ql13f4kfwkbaq7nygkxgw84213i0zm7c1a8hwvramayxl38dq5d"; "https://github.com/simplex-chat/sqlcipher-simple.git"."a46bd361a19376c5211f1058908fc0ae6bf42446" = "1z0r78d8f0812kxbgsm735qf6xx8lvaz27k1a0b4a2m0sshpd5gl"; diff --git a/simplex-chat.cabal b/simplex-chat.cabal index 7d0172ba3d..10c515a8d4 100644 --- a/simplex-chat.cabal +++ b/simplex-chat.cabal @@ -5,7 +5,7 @@ cabal-version: 1.12 -- see: https://github.com/sol/hpack name: simplex-chat -version: 7.1.0.4 +version: 7.1.0.5 category: Web, System, Services, Cryptography homepage: https://github.com/simplex-chat/simplex-chat#readme author: simplex.chat diff --git a/src/Simplex/Chat/Remote.hs b/src/Simplex/Chat/Remote.hs index 991218367a..4de4f4f6b7 100644 --- a/src/Simplex/Chat/Remote.hs +++ b/src/Simplex/Chat/Remote.hs @@ -75,11 +75,11 @@ remoteFilesFolder = "simplex_v1_files" -- when acting as host minRemoteCtrlVersion :: AppVersion -minRemoteCtrlVersion = AppVersion [7, 0, 0, 11] +minRemoteCtrlVersion = AppVersion [7, 1, 0, 5] -- when acting as controller minRemoteHostVersion :: AppVersion -minRemoteHostVersion = AppVersion [7, 0, 0, 11] +minRemoteHostVersion = AppVersion [7, 1, 0, 5] currentAppVersion :: AppVersion currentAppVersion = AppVersion SC.version From dd416e9ca6cdfc1718bbd9ff2458f99ace3aca11 Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Tue, 15 Sep 2026 10:22:57 +0100 Subject: [PATCH 55/69] website: redirect to badges --- website/src/badges.html | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 website/src/badges.html diff --git a/website/src/badges.html b/website/src/badges.html new file mode 100644 index 0000000000..a0885b230a --- /dev/null +++ b/website/src/badges.html @@ -0,0 +1,8 @@ +--- +layout: layouts/redirect.html +title: "Support SimpleX Chat" +description: "Supporter badges provide additional file size and in-transit storage duration" +destinationURI: "https://badges.simplex.chat" +destinationText: Support SimpleX Chat +templateEngineOverride: njk +--- From 069efad7a22ca5876bca03f4af859507be3fdb3d Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Tue, 15 Sep 2026 10:15:34 +0000 Subject: [PATCH 56/69] core: consolidate badges schema (#7513) --- .../BadgeService/Store/Postgres/Migrations.hs | 12 +- .../BadgeService/Store/SQLite/Migrations.hs | 12 +- .../2026-07-31-badges-core-implementation.md | 4 +- plans/2026-07-31-badges-service-schema.sql | 2 +- plans/2026-08-04-badges-mvp-scope.md | 2 +- simplex-chat.cabal | 4 +- src/Simplex/Chat/Store/Postgres/Migrations.hs | 4 +- ...ser_badges.hs => M20260915_user_badges.hs} | 192 ++++++++++-------- .../Store/Postgres/Migrations/chat_schema.sql | 161 +-------------- src/Simplex/Chat/Store/SQLite/Migrations.hs | 4 +- ...ser_badges.hs => M20260915_user_badges.hs} | 192 ++++++++++-------- .../Store/SQLite/Migrations/chat_schema.sql | 55 +---- 12 files changed, 247 insertions(+), 397 deletions(-) rename src/Simplex/Chat/Store/Postgres/Migrations/{M20261001_user_badges.hs => M20260915_user_badges.hs} (86%) rename src/Simplex/Chat/Store/SQLite/Migrations/{M20261001_user_badges.hs => M20260915_user_badges.hs} (86%) diff --git a/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs b/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs index 18d589b037..e8b62c2d53 100644 --- a/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs +++ b/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs @@ -6,7 +6,7 @@ module BadgeService.Store.Postgres.Migrations (badgeServiceSchemaMigrations) whe import Data.List (sortOn) import Data.Text (Text) -import Simplex.Chat.Store.Postgres.Migrations.M20261001_user_badges (badgeSchema, badgeSchemaDown, withPrefix) +import Simplex.Chat.Store.Postgres.Migrations.M20260915_user_badges (badgeSchema, badgeSchemaDown, withPrefix) import Simplex.Messaging.Agent.Store.Shared (Migration (..)) import Text.RawString.QQ (r) @@ -30,8 +30,6 @@ m20260806_badge_service_schema = <> withPrefix servicePrefix [r| -ALTER TABLE @payments ADD COLUMN receipt_hash BYTEA; - CREATE TABLE @badge_codes( badge_code_id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, code_hash BYTEA NOT NULL, @@ -77,3 +75,11 @@ DROP INDEX @idx_badge_purchases_code; [r| DROP TABLE @badge_codes; |] + +{- TODO [badges] deferred with the draft in M20260915_user_badges, service only. + +ALTER TABLE @payments ADD COLUMN receipt_hash BYTEA; + +-- down +ALTER TABLE @payments DROP COLUMN receipt_hash; +-} diff --git a/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs b/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs index 2851813c8c..ce08db0c7a 100644 --- a/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs +++ b/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs @@ -8,7 +8,7 @@ import Data.List (sortOn) import Data.Text (Text) import Database.SQLite.Simple (Query (..)) import Database.SQLite.Simple.QQ (sql) -import Simplex.Chat.Store.SQLite.Migrations.M20261001_user_badges (badgeSchema, badgeSchemaDown, withPrefix) +import Simplex.Chat.Store.SQLite.Migrations.M20260915_user_badges (badgeSchema, badgeSchemaDown, withPrefix) import Simplex.Messaging.Agent.Store.Shared (Migration (..)) badgeServiceSchemaMigrations :: [Migration] @@ -31,8 +31,6 @@ m20260806_badge_service_schema = <> withPrefix servicePrefix [sql| -ALTER TABLE @payments ADD COLUMN receipt_hash BLOB; - CREATE TABLE @badge_codes( badge_code_id INTEGER PRIMARY KEY AUTOINCREMENT, code_hash BLOB NOT NULL, @@ -78,3 +76,11 @@ DROP INDEX @idx_badge_purchases_code; [sql| DROP TABLE @badge_codes; |] + +{- TODO [badges] deferred with the draft in M20260915_user_badges, service only. + +ALTER TABLE @payments ADD COLUMN receipt_hash BLOB; + +-- down +ALTER TABLE @payments DROP COLUMN receipt_hash; +-} diff --git a/plans/2026-07-31-badges-core-implementation.md b/plans/2026-07-31-badges-core-implementation.md index c8f45deb2d..f36e1f8718 100644 --- a/plans/2026-07-31-badges-core-implementation.md +++ b/plans/2026-07-31-badges-core-implementation.md @@ -7,7 +7,7 @@ ## 1. Client schema -`src/Simplex/Chat/Store/SQLite/Migrations/M20261001_user_badges.hs` — SQLite only; the Postgres variant is written when the schema is final; registered in the migrations list and cabal at delivery step 2. +`src/Simplex/Chat/Store/SQLite/Migrations/M20260915_user_badges.hs` — SQLite only; the Postgres variant is written when the schema is final; registered in the migrations list and cabal at delivery step 2. - Table mapping to UX §3: - `badges` → `badge_purchases` @@ -401,7 +401,7 @@ Each UX plan point and its implementation home: ## Delivery order 1. `mkBadgeStatus`: the +7-day recipient display grace and the shifted `BSExpiredOld` boundary (UX 2.11) — released before purchases (UX §7). -2. Register migration `M20261001_user_badges` (migrations list + cabal + regenerated `chat_schema.sql` / `chat_lint.sql`); the Postgres variant of the migration; the catalog seed from app config (UX §3 prices); store functions (`Store/Badges.hs`): get-or-create with lock; last-ledger-row reads; verbatim replica inserts. +2. Register migration `M20260915_user_badges` (migrations list + cabal + regenerated `chat_schema.sql` / `chat_lint.sql`); the Postgres variant of the migration; the catalog seed from app config (UX §3 prices); store functions (`Store/Badges.hs`): get-or-create with lock; last-ledger-row reads; verbatim replica inserts. 3. Instances for the types in `Badges.hs` and `Badges/Service.hs` (§3) + roundtrip tests. 4. RPC codec: `docs/protocol/badges-rpc.schema.json` packets ↔ `Badges/Service.hs` types; catalog reconciliation on every `badgeCatalog` response. 5. BadgeManager §6: worker, locks, timer; reconcile/apply/presentation/alert steps; events. diff --git a/plans/2026-07-31-badges-service-schema.sql b/plans/2026-07-31-badges-service-schema.sql index 44bb1c6d00..a98e31c6b7 100644 --- a/plans/2026-07-31-badges-service-schema.sql +++ b/plans/2026-07-31-badges-service-schema.sql @@ -81,7 +81,7 @@ CREATE TABLE charges( UNIQUE(payment_id, provider_charge_ref) ); --- badgeLedgerTable constant (M20261001_user_badges), re-used literally +-- badgeLedgerTable constant (M20260915_user_badges), re-used literally CREATE TABLE badge_ledger( entry_id INTEGER PRIMARY KEY AUTOINCREMENT, entry_uuid TEXT NOT NULL, diff --git a/plans/2026-08-04-badges-mvp-scope.md b/plans/2026-08-04-badges-mvp-scope.md index d41613a00e..26a4fc3081 100644 --- a/plans/2026-08-04-badges-mvp-scope.md +++ b/plans/2026-08-04-badges-mvp-scope.md @@ -28,7 +28,7 @@ Order: one path end to end first, then the paths that need external systems. Eac - Store functions (`Store/Badges.hs`): get-or-create under the user lock, last-entry reads, verbatim replica writes. - `BadgeManager`: worker, locks, reconcile, apply, presentation. The timer and `CEvtBadgeAlert` follow later. - JSON instances for `Badges/Service.hs` and `Badges/Store.hs` — `taggedObjectJSON`, with roundtrip tests. -- Register `M20261001_user_badges` in the migrations list and cabal; regenerate `chat_schema.sql` and `chat_lint.sql`. +- Register `M20260915_user_badges` in the migrations list and cabal; regenerate `chat_schema.sql` and `chat_lint.sql`. ## 3. Store integration — iOS, Android diff --git a/simplex-chat.cabal b/simplex-chat.cabal index 54debb76f5..9563684749 100644 --- a/simplex-chat.cabal +++ b/simplex-chat.cabal @@ -165,7 +165,7 @@ library Simplex.Chat.Store.Postgres.Migrations.M20260822_forward_link Simplex.Chat.Store.Postgres.Migrations.M20260828_file_expiry Simplex.Chat.Store.Postgres.Migrations.M20260904_file_badges - Simplex.Chat.Store.Postgres.Migrations.M20261001_user_badges + Simplex.Chat.Store.Postgres.Migrations.M20260915_user_badges else exposed-modules: Simplex.Chat.Archive @@ -340,7 +340,7 @@ library Simplex.Chat.Store.SQLite.Migrations.M20260822_forward_link Simplex.Chat.Store.SQLite.Migrations.M20260828_file_expiry Simplex.Chat.Store.SQLite.Migrations.M20260904_file_badges - Simplex.Chat.Store.SQLite.Migrations.M20261001_user_badges + Simplex.Chat.Store.SQLite.Migrations.M20260915_user_badges other-modules: Paths_simplex_chat hs-source-dirs: diff --git a/src/Simplex/Chat/Store/Postgres/Migrations.hs b/src/Simplex/Chat/Store/Postgres/Migrations.hs index 3815c90367..9e5a1aa5aa 100644 --- a/src/Simplex/Chat/Store/Postgres/Migrations.hs +++ b/src/Simplex/Chat/Store/Postgres/Migrations.hs @@ -50,7 +50,7 @@ import Simplex.Chat.Store.Postgres.Migrations.M20260813_auto_accept_group_invita import Simplex.Chat.Store.Postgres.Migrations.M20260822_forward_link import Simplex.Chat.Store.Postgres.Migrations.M20260828_file_expiry import Simplex.Chat.Store.Postgres.Migrations.M20260904_file_badges -import Simplex.Chat.Store.Postgres.Migrations.M20261001_user_badges +import Simplex.Chat.Store.Postgres.Migrations.M20260915_user_badges import Simplex.Messaging.Agent.Store.Shared (Migration (..)) schemaMigrations :: [(String, Text, Maybe Text)] @@ -101,7 +101,7 @@ schemaMigrations = ("20260822_forward_link", m20260822_forward_link, Just down_m20260822_forward_link), ("20260828_file_expiry", m20260828_file_expiry, Just down_m20260828_file_expiry), ("20260904_file_badges", m20260904_file_badges, Just down_m20260904_file_badges), - ("20261001_user_badges", m20261001_user_badges, Just down_m20261001_user_badges) + ("20260915_user_badges", m20260915_user_badges, Just down_m20260915_user_badges) ] -- | The list of migrations in ascending order by date diff --git a/src/Simplex/Chat/Store/Postgres/Migrations/M20261001_user_badges.hs b/src/Simplex/Chat/Store/Postgres/Migrations/M20260915_user_badges.hs similarity index 86% rename from src/Simplex/Chat/Store/Postgres/Migrations/M20261001_user_badges.hs rename to src/Simplex/Chat/Store/Postgres/Migrations/M20260915_user_badges.hs index 1e8042160c..98bdd53db7 100644 --- a/src/Simplex/Chat/Store/Postgres/Migrations/M20261001_user_badges.hs +++ b/src/Simplex/Chat/Store/Postgres/Migrations/M20260915_user_badges.hs @@ -1,7 +1,7 @@ {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-} -module Simplex.Chat.Store.Postgres.Migrations.M20261001_user_badges where +module Simplex.Chat.Store.Postgres.Migrations.M20260915_user_badges where import Data.Text (Text) import qualified Data.Text as T @@ -58,18 +58,6 @@ CREATE INDEX @idx_payments_provider_ref ON @payments(provider, provider_ref); CREATE INDEX @idx_payments_invoice ON @payments(invoice_id); -CREATE TABLE @subscription_charges( - charge_id TEXT NOT NULL PRIMARY KEY, - payment_id TEXT NOT NULL REFERENCES @payments ON DELETE CASCADE, - provider_charge_ref TEXT NOT NULL, - period_start TIMESTAMPTZ NOT NULL, - period_end TIMESTAMPTZ NOT NULL, - amount BIGINT NOT NULL, - currency TEXT NOT NULL, - charged_at TIMESTAMPTZ NOT NULL, - UNIQUE(payment_id, provider_charge_ref) -); - CREATE TABLE @badge_prices( price_id TEXT NOT NULL PRIMARY KEY, badge_type TEXT NOT NULL, @@ -97,14 +85,90 @@ CREATE TABLE @badge_purchases( master_key BYTEA NOT NULL, initial_badge_type TEXT NOT NULL, current_badge_type TEXT NOT NULL, - payment_id TEXT REFERENCES @payments, status TEXT NOT NULL, created_at TIMESTAMPTZ NOT NULL, updated_at TIMESTAMPTZ NOT NULL, - UNIQUE(purchase_key), - UNIQUE(payment_id) + UNIQUE(purchase_key) ); +CREATE TABLE @badge_ledger( + entry_id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, + entry_uuid TEXT NOT NULL, + badge_purchase_id BIGINT NOT NULL REFERENCES @badge_purchases ON DELETE CASCADE, + change_months SMALLINT NOT NULL, + balance_months SMALLINT NOT NULL, + balance_start_ts TIMESTAMPTZ NOT NULL, + balance_anchor_ts TIMESTAMPTZ NOT NULL, + balance_badge_type TEXT NOT NULL, + was_paused_since TIMESTAMPTZ, + service_created_at TIMESTAMPTZ NOT NULL, + created_at TIMESTAMPTZ NOT NULL, + entry_type TEXT NOT NULL, + entry_credit_type TEXT, + entry_debit_type TEXT +); + +CREATE UNIQUE INDEX @idx_badge_ledger_uuid ON @badge_ledger(entry_uuid); + +CREATE INDEX @idx_badge_ledger_purchase ON @badge_ledger(badge_purchase_id, entry_id); + +CREATE TABLE @badge_issuances( + issuance_id TEXT NOT NULL PRIMARY KEY, + badge_purchase_id BIGINT NOT NULL REFERENCES @badge_purchases ON DELETE CASCADE, + entry_id BIGINT REFERENCES @badge_ledger, + badge_type TEXT NOT NULL, + period_start TIMESTAMPTZ NOT NULL, + period_end TIMESTAMPTZ NOT NULL, + expiry TIMESTAMPTZ NOT NULL, + credential BYTEA NOT NULL, + created_at TIMESTAMPTZ NOT NULL +); + +CREATE INDEX @idx_badge_issuances_purchase ON @badge_issuances(badge_purchase_id, issuance_id); + +CREATE INDEX @idx_badge_issuances_entry ON @badge_issuances(entry_id); + +CREATE UNIQUE INDEX @idx_badge_issuances_purchase_entry ON @badge_issuances(badge_purchase_id, entry_id); +|] + +badgeSchemaTablesDown :: Text +badgeSchemaTablesDown = + [r| +DROP INDEX @idx_badge_issuances_purchase; +DROP INDEX @idx_badge_issuances_entry; +DROP INDEX @idx_badge_issuances_purchase_entry; +DROP TABLE @badge_issuances; +DROP INDEX @idx_badge_ledger_uuid; +DROP INDEX @idx_badge_ledger_purchase; +DROP TABLE @badge_ledger; +DROP TABLE @badge_purchases; +DROP INDEX @idx_payments_provider_ref; +DROP INDEX @idx_payments_invoice; +DROP TABLE @payments; +DROP TABLE @invoices; +DROP INDEX @idx_badge_offers_price; +DROP TABLE @badge_offers; +DROP TABLE @badge_prices; +|] + +{- TODO [badges] deferred draft schema for paid purchases, subscriptions, upgrades and transfers. + +CREATE TABLE @subscription_charges( + charge_id TEXT NOT NULL PRIMARY KEY, + payment_id TEXT NOT NULL REFERENCES @payments ON DELETE CASCADE, + provider_charge_ref TEXT NOT NULL, + period_start TIMESTAMPTZ NOT NULL, + period_end TIMESTAMPTZ NOT NULL, + amount BIGINT NOT NULL, + currency TEXT NOT NULL, + charged_at TIMESTAMPTZ NOT NULL, + UNIQUE(payment_id, provider_charge_ref) +); + +ALTER TABLE @badge_purchases ADD COLUMN payment_id TEXT REFERENCES @payments; + +CREATE UNIQUE INDEX @idx_badge_purchases_payment ON @badge_purchases(payment_id); + CREATE TABLE @badge_invoices( invoice_id TEXT NOT NULL PRIMARY KEY REFERENCES @invoices ON DELETE CASCADE, badge_purchase_id BIGINT NOT NULL REFERENCES @badge_purchases ON DELETE CASCADE, @@ -136,30 +200,13 @@ CREATE TABLE @badge_subscription_changes( CREATE INDEX @idx_badge_subscription_changes_purchase ON @badge_subscription_changes(badge_purchase_id); -CREATE TABLE @badge_ledger( - entry_id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, - entry_uuid TEXT NOT NULL, - badge_purchase_id BIGINT NOT NULL REFERENCES @badge_purchases ON DELETE CASCADE, - change_months SMALLINT NOT NULL, - balance_months SMALLINT NOT NULL, - balance_start_ts TIMESTAMPTZ NOT NULL, - balance_anchor_ts TIMESTAMPTZ NOT NULL, - balance_badge_type TEXT NOT NULL, - was_paused_since TIMESTAMPTZ, - service_created_at TIMESTAMPTZ NOT NULL, - created_at TIMESTAMPTZ NOT NULL, - entry_type TEXT NOT NULL, - entry_credit_type TEXT, - entry_debit_type TEXT, - payment_id TEXT REFERENCES @payments, - charge_id TEXT REFERENCES @subscription_charges, - from_purchase_id BIGINT REFERENCES @badge_purchases, - to_purchase_id BIGINT REFERENCES @badge_purchases -); +ALTER TABLE @badge_ledger ADD COLUMN payment_id TEXT REFERENCES @payments; -CREATE UNIQUE INDEX @idx_badge_ledger_uuid ON @badge_ledger(entry_uuid); +ALTER TABLE @badge_ledger ADD COLUMN charge_id TEXT REFERENCES @subscription_charges; -CREATE INDEX @idx_badge_ledger_purchase ON @badge_ledger(badge_purchase_id, entry_id); +ALTER TABLE @badge_ledger ADD COLUMN from_purchase_id BIGINT REFERENCES @badge_purchases; + +ALTER TABLE @badge_ledger ADD COLUMN to_purchase_id BIGINT REFERENCES @badge_purchases; CREATE INDEX @idx_badge_ledger_payment ON @badge_ledger(payment_id); @@ -169,58 +216,28 @@ CREATE INDEX @idx_badge_ledger_from_purchase ON @badge_ledger(from_purchase_id); CREATE INDEX @idx_badge_ledger_to_purchase ON @badge_ledger(to_purchase_id); -CREATE TABLE @badge_issuances( - issuance_id TEXT NOT NULL PRIMARY KEY, - badge_purchase_id BIGINT NOT NULL REFERENCES @badge_purchases ON DELETE CASCADE, - entry_id BIGINT REFERENCES @badge_ledger, - badge_type TEXT NOT NULL, - period_start TIMESTAMPTZ NOT NULL, - period_end TIMESTAMPTZ NOT NULL, - expiry TIMESTAMPTZ NOT NULL, - credential BYTEA NOT NULL, - created_at TIMESTAMPTZ NOT NULL -); - -CREATE INDEX @idx_badge_issuances_purchase ON @badge_issuances(badge_purchase_id, issuance_id); - -CREATE INDEX @idx_badge_issuances_entry ON @badge_issuances(entry_id); - -CREATE UNIQUE INDEX @idx_badge_issuances_purchase_entry ON @badge_issuances(badge_purchase_id, entry_id); -|] - -badgeSchemaTablesDown :: Text -badgeSchemaTablesDown = - [r| -DROP INDEX @idx_badge_issuances_purchase; -DROP INDEX @idx_badge_issuances_entry; -DROP INDEX @idx_badge_issuances_purchase_entry; -DROP TABLE @badge_issuances; -DROP INDEX @idx_badge_ledger_uuid; -DROP INDEX @idx_badge_ledger_purchase; +-- down DROP INDEX @idx_badge_ledger_payment; DROP INDEX @idx_badge_ledger_charge; DROP INDEX @idx_badge_ledger_from_purchase; DROP INDEX @idx_badge_ledger_to_purchase; -DROP TABLE @badge_ledger; +ALTER TABLE @badge_ledger DROP COLUMN payment_id; +ALTER TABLE @badge_ledger DROP COLUMN charge_id; +ALTER TABLE @badge_ledger DROP COLUMN from_purchase_id; +ALTER TABLE @badge_ledger DROP COLUMN to_purchase_id; DROP INDEX @idx_badge_subscription_changes_purchase; DROP TABLE @badge_subscription_changes; DROP INDEX @idx_badge_invoices_purchase; DROP INDEX @idx_badge_invoices_offer; DROP INDEX @idx_badge_invoices_price; DROP TABLE @badge_invoices; -DROP TABLE @badge_purchases; +DROP INDEX @idx_badge_purchases_payment; +ALTER TABLE @badge_purchases DROP COLUMN payment_id; DROP TABLE @subscription_charges; -DROP INDEX @idx_payments_provider_ref; -DROP INDEX @idx_payments_invoice; -DROP TABLE @payments; -DROP TABLE @invoices; -DROP INDEX @idx_badge_offers_price; -DROP TABLE @badge_offers; -DROP TABLE @badge_prices; -|] +-} -m20261001_user_badges :: Text -m20261001_user_badges = +m20260915_user_badges :: Text +m20260915_user_badges = badgeSchema "" <> [r| ALTER TABLE badge_purchases ADD COLUMN user_id BIGINT REFERENCES users ON DELETE CASCADE; @@ -233,10 +250,6 @@ ALTER TABLE badge_purchases ADD COLUMN alert_acked_episode TEXT; ALTER TABLE badge_purchases ADD COLUMN alert_snooze_until TIMESTAMPTZ; -ALTER TABLE payments ADD COLUMN evidence BYTEA; - -ALTER TABLE payments ADD COLUMN receipt_code TEXT; - ALTER TABLE badge_ledger ADD COLUMN entry_type_unknown SMALLINT NOT NULL DEFAULT 0; ALTER TABLE badge_ledger ADD COLUMN entry_type_value TEXT; @@ -267,8 +280,8 @@ ALTER TABLE badge_purchases ADD COLUMN badge_code_redemption_id BIGINT REFERENCE CREATE UNIQUE INDEX idx_badge_purchases_code_redemption ON badge_purchases(badge_code_redemption_id); |] -down_m20261001_user_badges :: Text -down_m20261001_user_badges = +down_m20260915_user_badges :: Text +down_m20260915_user_badges = [r| DROP INDEX idx_badge_purchases_code_redemption; DROP INDEX idx_badge_purchases_user; @@ -280,3 +293,14 @@ ALTER TABLE users DROP COLUMN shown_badge_id; DROP INDEX idx_badge_code_redemptions_user; DROP TABLE badge_code_redemptions; |] + +{- TODO [badges] deferred with the draft above, client only. + +ALTER TABLE payments ADD COLUMN evidence BYTEA; + +ALTER TABLE payments ADD COLUMN receipt_code TEXT; + +-- down +ALTER TABLE payments DROP COLUMN evidence; +ALTER TABLE payments DROP COLUMN receipt_code; +-} diff --git a/src/Simplex/Chat/Store/Postgres/Migrations/chat_schema.sql b/src/Simplex/Chat/Store/Postgres/Migrations/chat_schema.sql index b16bb75f51..1e2a26d74e 100644 --- a/src/Simplex/Chat/Store/Postgres/Migrations/chat_schema.sql +++ b/src/Simplex/Chat/Store/Postgres/Migrations/chat_schema.sql @@ -191,17 +191,6 @@ ALTER TABLE test_chat_schema.badge_code_redemptions ALTER COLUMN badge_code_rede -CREATE TABLE test_chat_schema.badge_invoices ( - invoice_id text NOT NULL, - badge_purchase_id bigint NOT NULL, - price_id text NOT NULL, - offer_id text, - months smallint NOT NULL, - created_at timestamp with time zone NOT NULL -); - - - CREATE TABLE test_chat_schema.badge_issuances ( issuance_id text NOT NULL, badge_purchase_id bigint NOT NULL, @@ -231,10 +220,6 @@ CREATE TABLE test_chat_schema.badge_ledger ( entry_type text NOT NULL, entry_credit_type text, entry_debit_type text, - payment_id text, - charge_id text, - from_purchase_id bigint, - to_purchase_id bigint, entry_type_unknown smallint DEFAULT 0 NOT NULL, entry_type_value text, balance_checked smallint @@ -282,7 +267,6 @@ CREATE TABLE test_chat_schema.badge_purchases ( master_key bytea NOT NULL, initial_badge_type text NOT NULL, current_badge_type text NOT NULL, - payment_id text, status text NOT NULL, created_at timestamp with time zone NOT NULL, updated_at timestamp with time zone NOT NULL, @@ -307,22 +291,6 @@ ALTER TABLE test_chat_schema.badge_purchases ALTER COLUMN badge_purchase_id ADD -CREATE TABLE test_chat_schema.badge_subscription_changes ( - change_id text NOT NULL, - badge_purchase_id bigint NOT NULL, - from_badge_type text NOT NULL, - to_badge_type text NOT NULL, - from_provider_ref text, - to_provider_ref text, - effective text NOT NULL, - status text NOT NULL, - effective_at timestamp with time zone, - created_at timestamp with time zone NOT NULL, - updated_at timestamp with time zone NOT NULL -); - - - CREATE TABLE test_chat_schema.calls ( call_id bigint NOT NULL, contact_id bigint NOT NULL, @@ -1378,9 +1346,7 @@ CREATE TABLE test_chat_schema.payments ( grace_until timestamp with time zone, cancelled smallint DEFAULT 0 NOT NULL, created_at timestamp with time zone NOT NULL, - updated_at timestamp with time zone NOT NULL, - evidence bytea, - receipt_code text + updated_at timestamp with time zone NOT NULL ); @@ -1679,19 +1645,6 @@ CREATE TABLE test_chat_schema.snd_files ( -CREATE TABLE test_chat_schema.subscription_charges ( - charge_id text NOT NULL, - payment_id text NOT NULL, - provider_charge_ref text NOT NULL, - period_start timestamp with time zone NOT NULL, - period_end timestamp with time zone NOT NULL, - amount bigint NOT NULL, - currency text NOT NULL, - charged_at timestamp with time zone NOT NULL -); - - - CREATE TABLE test_chat_schema.usage_conditions ( usage_conditions_id bigint NOT NULL, conditions_commit text NOT NULL, @@ -1804,11 +1757,6 @@ ALTER TABLE ONLY test_chat_schema.badge_code_redemptions -ALTER TABLE ONLY test_chat_schema.badge_invoices - ADD CONSTRAINT badge_invoices_pkey PRIMARY KEY (invoice_id); - - - ALTER TABLE ONLY test_chat_schema.badge_issuances ADD CONSTRAINT badge_issuances_pkey PRIMARY KEY (issuance_id); @@ -1829,11 +1777,6 @@ ALTER TABLE ONLY test_chat_schema.badge_prices -ALTER TABLE ONLY test_chat_schema.badge_purchases - ADD CONSTRAINT badge_purchases_payment_id_key UNIQUE (payment_id); - - - ALTER TABLE ONLY test_chat_schema.badge_purchases ADD CONSTRAINT badge_purchases_pkey PRIMARY KEY (badge_purchase_id); @@ -1844,11 +1787,6 @@ ALTER TABLE ONLY test_chat_schema.badge_purchases -ALTER TABLE ONLY test_chat_schema.badge_subscription_changes - ADD CONSTRAINT badge_subscription_changes_pkey PRIMARY KEY (change_id); - - - ALTER TABLE ONLY test_chat_schema.calls ADD CONSTRAINT calls_pkey PRIMARY KEY (call_id); @@ -2164,16 +2102,6 @@ ALTER TABLE ONLY test_chat_schema.snd_files -ALTER TABLE ONLY test_chat_schema.subscription_charges - ADD CONSTRAINT subscription_charges_payment_id_provider_charge_ref_key UNIQUE (payment_id, provider_charge_ref); - - - -ALTER TABLE ONLY test_chat_schema.subscription_charges - ADD CONSTRAINT subscription_charges_pkey PRIMARY KEY (charge_id); - - - ALTER TABLE ONLY test_chat_schema.usage_conditions ADD CONSTRAINT usage_conditions_conditions_commit_key UNIQUE (conditions_commit); @@ -2230,18 +2158,6 @@ CREATE INDEX idx_badge_code_redemptions_user ON test_chat_schema.badge_code_rede -CREATE INDEX idx_badge_invoices_offer ON test_chat_schema.badge_invoices USING btree (offer_id); - - - -CREATE INDEX idx_badge_invoices_price ON test_chat_schema.badge_invoices USING btree (price_id); - - - -CREATE INDEX idx_badge_invoices_purchase ON test_chat_schema.badge_invoices USING btree (badge_purchase_id); - - - CREATE INDEX idx_badge_issuances_entry ON test_chat_schema.badge_issuances USING btree (entry_id); @@ -2254,26 +2170,10 @@ CREATE UNIQUE INDEX idx_badge_issuances_purchase_entry ON test_chat_schema.badge -CREATE INDEX idx_badge_ledger_charge ON test_chat_schema.badge_ledger USING btree (charge_id); - - - -CREATE INDEX idx_badge_ledger_from_purchase ON test_chat_schema.badge_ledger USING btree (from_purchase_id); - - - -CREATE INDEX idx_badge_ledger_payment ON test_chat_schema.badge_ledger USING btree (payment_id); - - - CREATE INDEX idx_badge_ledger_purchase ON test_chat_schema.badge_ledger USING btree (badge_purchase_id, entry_id); -CREATE INDEX idx_badge_ledger_to_purchase ON test_chat_schema.badge_ledger USING btree (to_purchase_id); - - - CREATE UNIQUE INDEX idx_badge_ledger_uuid ON test_chat_schema.badge_ledger USING btree (entry_uuid); @@ -2290,10 +2190,6 @@ CREATE INDEX idx_badge_purchases_user ON test_chat_schema.badge_purchases USING -CREATE INDEX idx_badge_subscription_changes_purchase ON test_chat_schema.badge_subscription_changes USING btree (badge_purchase_id); - - - CREATE INDEX idx_calls_chat_item_id ON test_chat_schema.calls USING btree (chat_item_id); @@ -3067,26 +2963,6 @@ ALTER TABLE ONLY test_chat_schema.badge_code_redemptions -ALTER TABLE ONLY test_chat_schema.badge_invoices - ADD CONSTRAINT badge_invoices_badge_purchase_id_fkey FOREIGN KEY (badge_purchase_id) REFERENCES test_chat_schema.badge_purchases(badge_purchase_id) ON DELETE CASCADE; - - - -ALTER TABLE ONLY test_chat_schema.badge_invoices - ADD CONSTRAINT badge_invoices_invoice_id_fkey FOREIGN KEY (invoice_id) REFERENCES test_chat_schema.invoices(invoice_id) ON DELETE CASCADE; - - - -ALTER TABLE ONLY test_chat_schema.badge_invoices - ADD CONSTRAINT badge_invoices_offer_id_fkey FOREIGN KEY (offer_id) REFERENCES test_chat_schema.badge_offers(offer_id); - - - -ALTER TABLE ONLY test_chat_schema.badge_invoices - ADD CONSTRAINT badge_invoices_price_id_fkey FOREIGN KEY (price_id) REFERENCES test_chat_schema.badge_prices(price_id); - - - ALTER TABLE ONLY test_chat_schema.badge_issuances ADD CONSTRAINT badge_issuances_badge_purchase_id_fkey FOREIGN KEY (badge_purchase_id) REFERENCES test_chat_schema.badge_purchases(badge_purchase_id) ON DELETE CASCADE; @@ -3102,26 +2978,6 @@ ALTER TABLE ONLY test_chat_schema.badge_ledger -ALTER TABLE ONLY test_chat_schema.badge_ledger - ADD CONSTRAINT badge_ledger_charge_id_fkey FOREIGN KEY (charge_id) REFERENCES test_chat_schema.subscription_charges(charge_id); - - - -ALTER TABLE ONLY test_chat_schema.badge_ledger - ADD CONSTRAINT badge_ledger_from_purchase_id_fkey FOREIGN KEY (from_purchase_id) REFERENCES test_chat_schema.badge_purchases(badge_purchase_id); - - - -ALTER TABLE ONLY test_chat_schema.badge_ledger - ADD CONSTRAINT badge_ledger_payment_id_fkey FOREIGN KEY (payment_id) REFERENCES test_chat_schema.payments(payment_id); - - - -ALTER TABLE ONLY test_chat_schema.badge_ledger - ADD CONSTRAINT badge_ledger_to_purchase_id_fkey FOREIGN KEY (to_purchase_id) REFERENCES test_chat_schema.badge_purchases(badge_purchase_id); - - - ALTER TABLE ONLY test_chat_schema.badge_offers ADD CONSTRAINT badge_offers_price_id_fkey FOREIGN KEY (price_id) REFERENCES test_chat_schema.badge_prices(price_id); @@ -3132,21 +2988,11 @@ ALTER TABLE ONLY test_chat_schema.badge_purchases -ALTER TABLE ONLY test_chat_schema.badge_purchases - ADD CONSTRAINT badge_purchases_payment_id_fkey FOREIGN KEY (payment_id) REFERENCES test_chat_schema.payments(payment_id); - - - ALTER TABLE ONLY test_chat_schema.badge_purchases ADD CONSTRAINT badge_purchases_user_id_fkey FOREIGN KEY (user_id) REFERENCES test_chat_schema.users(user_id) ON DELETE CASCADE; -ALTER TABLE ONLY test_chat_schema.badge_subscription_changes - ADD CONSTRAINT badge_subscription_changes_badge_purchase_id_fkey FOREIGN KEY (badge_purchase_id) REFERENCES test_chat_schema.badge_purchases(badge_purchase_id) ON DELETE CASCADE; - - - ALTER TABLE ONLY test_chat_schema.calls ADD CONSTRAINT calls_chat_item_id_fkey FOREIGN KEY (chat_item_id) REFERENCES test_chat_schema.chat_items(chat_item_id) ON DELETE CASCADE; @@ -3802,11 +3648,6 @@ ALTER TABLE ONLY test_chat_schema.snd_files -ALTER TABLE ONLY test_chat_schema.subscription_charges - ADD CONSTRAINT subscription_charges_payment_id_fkey FOREIGN KEY (payment_id) REFERENCES test_chat_schema.payments(payment_id) ON DELETE CASCADE; - - - ALTER TABLE ONLY test_chat_schema.user_contact_links ADD CONSTRAINT user_contact_links_group_id_fkey FOREIGN KEY (group_id) REFERENCES test_chat_schema.groups(group_id) ON DELETE CASCADE; diff --git a/src/Simplex/Chat/Store/SQLite/Migrations.hs b/src/Simplex/Chat/Store/SQLite/Migrations.hs index b4bd47e36d..0bbd7c06b6 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations.hs +++ b/src/Simplex/Chat/Store/SQLite/Migrations.hs @@ -173,7 +173,7 @@ import Simplex.Chat.Store.SQLite.Migrations.M20260813_auto_accept_group_invitati import Simplex.Chat.Store.SQLite.Migrations.M20260822_forward_link import Simplex.Chat.Store.SQLite.Migrations.M20260828_file_expiry import Simplex.Chat.Store.SQLite.Migrations.M20260904_file_badges -import Simplex.Chat.Store.SQLite.Migrations.M20261001_user_badges +import Simplex.Chat.Store.SQLite.Migrations.M20260915_user_badges import Simplex.Messaging.Agent.Store.Shared (Migration (..)) schemaMigrations :: [(String, Query, Maybe Query)] @@ -347,7 +347,7 @@ schemaMigrations = ("20260822_forward_link", m20260822_forward_link, Just down_m20260822_forward_link), ("20260828_file_expiry", m20260828_file_expiry, Just down_m20260828_file_expiry), ("20260904_file_badges", m20260904_file_badges, Just down_m20260904_file_badges), - ("20261001_user_badges", m20261001_user_badges, Just down_m20261001_user_badges) + ("20260915_user_badges", m20260915_user_badges, Just down_m20260915_user_badges) ] -- | The list of migrations in ascending order by date diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/M20261001_user_badges.hs b/src/Simplex/Chat/Store/SQLite/Migrations/M20260915_user_badges.hs similarity index 86% rename from src/Simplex/Chat/Store/SQLite/Migrations/M20261001_user_badges.hs rename to src/Simplex/Chat/Store/SQLite/Migrations/M20260915_user_badges.hs index 652eaac7ab..3462db9bc1 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/M20261001_user_badges.hs +++ b/src/Simplex/Chat/Store/SQLite/Migrations/M20260915_user_badges.hs @@ -1,7 +1,7 @@ {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-} -module Simplex.Chat.Store.SQLite.Migrations.M20261001_user_badges where +module Simplex.Chat.Store.SQLite.Migrations.M20260915_user_badges where import Data.Text (Text) import qualified Data.Text as T @@ -59,18 +59,6 @@ CREATE INDEX @idx_payments_provider_ref ON @payments(provider, provider_ref); CREATE INDEX @idx_payments_invoice ON @payments(invoice_id); -CREATE TABLE @subscription_charges( - charge_id TEXT NOT NULL PRIMARY KEY, - payment_id TEXT NOT NULL REFERENCES @payments ON DELETE CASCADE, - provider_charge_ref TEXT NOT NULL, - period_start TEXT NOT NULL, - period_end TEXT NOT NULL, - amount INTEGER NOT NULL, - currency TEXT NOT NULL, - charged_at TEXT NOT NULL, - UNIQUE(payment_id, provider_charge_ref) -) STRICT; - CREATE TABLE @badge_prices( price_id TEXT NOT NULL PRIMARY KEY, badge_type TEXT NOT NULL, @@ -98,14 +86,90 @@ CREATE TABLE @badge_purchases( master_key BLOB NOT NULL, initial_badge_type TEXT NOT NULL, current_badge_type TEXT NOT NULL, - payment_id TEXT REFERENCES @payments, status TEXT NOT NULL, created_at TEXT NOT NULL, updated_at TEXT NOT NULL, - UNIQUE(purchase_key), - UNIQUE(payment_id) + UNIQUE(purchase_key) ) STRICT; +CREATE TABLE @badge_ledger( + entry_id INTEGER PRIMARY KEY AUTOINCREMENT, + entry_uuid TEXT NOT NULL, + badge_purchase_id INTEGER NOT NULL REFERENCES @badge_purchases ON DELETE CASCADE, + change_months INTEGER NOT NULL, + balance_months INTEGER NOT NULL, + balance_start_ts TEXT NOT NULL, + balance_anchor_ts TEXT NOT NULL, + balance_badge_type TEXT NOT NULL, + was_paused_since TEXT, + service_created_at TEXT NOT NULL, + created_at TEXT NOT NULL, + entry_type TEXT NOT NULL, + entry_credit_type TEXT, + entry_debit_type TEXT +) STRICT; + +CREATE UNIQUE INDEX @idx_badge_ledger_uuid ON @badge_ledger(entry_uuid); + +CREATE INDEX @idx_badge_ledger_purchase ON @badge_ledger(badge_purchase_id, entry_id); + +CREATE TABLE @badge_issuances( + issuance_id TEXT NOT NULL PRIMARY KEY, + badge_purchase_id INTEGER NOT NULL REFERENCES @badge_purchases ON DELETE CASCADE, + entry_id INTEGER REFERENCES @badge_ledger, + badge_type TEXT NOT NULL, + period_start TEXT NOT NULL, + period_end TEXT NOT NULL, + expiry TEXT NOT NULL, + credential BLOB NOT NULL, + created_at TEXT NOT NULL +) STRICT; + +CREATE INDEX @idx_badge_issuances_purchase ON @badge_issuances(badge_purchase_id, issuance_id); + +CREATE INDEX @idx_badge_issuances_entry ON @badge_issuances(entry_id); + +CREATE UNIQUE INDEX @idx_badge_issuances_purchase_entry ON @badge_issuances(badge_purchase_id, entry_id); +|] + +badgeSchemaTablesDown :: Query +badgeSchemaTablesDown = + [sql| +DROP INDEX @idx_badge_issuances_purchase; +DROP INDEX @idx_badge_issuances_entry; +DROP INDEX @idx_badge_issuances_purchase_entry; +DROP TABLE @badge_issuances; +DROP INDEX @idx_badge_ledger_uuid; +DROP INDEX @idx_badge_ledger_purchase; +DROP TABLE @badge_ledger; +DROP TABLE @badge_purchases; +DROP INDEX @idx_payments_provider_ref; +DROP INDEX @idx_payments_invoice; +DROP TABLE @payments; +DROP TABLE @invoices; +DROP INDEX @idx_badge_offers_price; +DROP TABLE @badge_offers; +DROP TABLE @badge_prices; +|] + +{- TODO [badges] deferred draft schema for paid purchases, subscriptions, upgrades and transfers. + +CREATE TABLE @subscription_charges( + charge_id TEXT NOT NULL PRIMARY KEY, + payment_id TEXT NOT NULL REFERENCES @payments ON DELETE CASCADE, + provider_charge_ref TEXT NOT NULL, + period_start TEXT NOT NULL, + period_end TEXT NOT NULL, + amount INTEGER NOT NULL, + currency TEXT NOT NULL, + charged_at TEXT NOT NULL, + UNIQUE(payment_id, provider_charge_ref) +) STRICT; + +ALTER TABLE @badge_purchases ADD COLUMN payment_id TEXT REFERENCES @payments; + +CREATE UNIQUE INDEX @idx_badge_purchases_payment ON @badge_purchases(payment_id); + CREATE TABLE @badge_invoices( invoice_id TEXT NOT NULL PRIMARY KEY REFERENCES @invoices ON DELETE CASCADE, badge_purchase_id INTEGER NOT NULL REFERENCES @badge_purchases ON DELETE CASCADE, @@ -137,30 +201,13 @@ CREATE TABLE @badge_subscription_changes( CREATE INDEX @idx_badge_subscription_changes_purchase ON @badge_subscription_changes(badge_purchase_id); -CREATE TABLE @badge_ledger( - entry_id INTEGER PRIMARY KEY AUTOINCREMENT, - entry_uuid TEXT NOT NULL, - badge_purchase_id INTEGER NOT NULL REFERENCES @badge_purchases ON DELETE CASCADE, - change_months INTEGER NOT NULL, - balance_months INTEGER NOT NULL, - balance_start_ts TEXT NOT NULL, - balance_anchor_ts TEXT NOT NULL, - balance_badge_type TEXT NOT NULL, - was_paused_since TEXT, - service_created_at TEXT NOT NULL, - created_at TEXT NOT NULL, - entry_type TEXT NOT NULL, - entry_credit_type TEXT, - entry_debit_type TEXT, - payment_id TEXT REFERENCES @payments, - charge_id TEXT REFERENCES @subscription_charges, - from_purchase_id INTEGER REFERENCES @badge_purchases, - to_purchase_id INTEGER REFERENCES @badge_purchases -) STRICT; +ALTER TABLE @badge_ledger ADD COLUMN payment_id TEXT REFERENCES @payments; -CREATE UNIQUE INDEX @idx_badge_ledger_uuid ON @badge_ledger(entry_uuid); +ALTER TABLE @badge_ledger ADD COLUMN charge_id TEXT REFERENCES @subscription_charges; -CREATE INDEX @idx_badge_ledger_purchase ON @badge_ledger(badge_purchase_id, entry_id); +ALTER TABLE @badge_ledger ADD COLUMN from_purchase_id INTEGER REFERENCES @badge_purchases; + +ALTER TABLE @badge_ledger ADD COLUMN to_purchase_id INTEGER REFERENCES @badge_purchases; CREATE INDEX @idx_badge_ledger_payment ON @badge_ledger(payment_id); @@ -170,58 +217,28 @@ CREATE INDEX @idx_badge_ledger_from_purchase ON @badge_ledger(from_purchase_id); CREATE INDEX @idx_badge_ledger_to_purchase ON @badge_ledger(to_purchase_id); -CREATE TABLE @badge_issuances( - issuance_id TEXT NOT NULL PRIMARY KEY, - badge_purchase_id INTEGER NOT NULL REFERENCES @badge_purchases ON DELETE CASCADE, - entry_id INTEGER REFERENCES @badge_ledger, - badge_type TEXT NOT NULL, - period_start TEXT NOT NULL, - period_end TEXT NOT NULL, - expiry TEXT NOT NULL, - credential BLOB NOT NULL, - created_at TEXT NOT NULL -) STRICT; - -CREATE INDEX @idx_badge_issuances_purchase ON @badge_issuances(badge_purchase_id, issuance_id); - -CREATE INDEX @idx_badge_issuances_entry ON @badge_issuances(entry_id); - -CREATE UNIQUE INDEX @idx_badge_issuances_purchase_entry ON @badge_issuances(badge_purchase_id, entry_id); -|] - -badgeSchemaTablesDown :: Query -badgeSchemaTablesDown = - [sql| -DROP INDEX @idx_badge_issuances_purchase; -DROP INDEX @idx_badge_issuances_entry; -DROP INDEX @idx_badge_issuances_purchase_entry; -DROP TABLE @badge_issuances; -DROP INDEX @idx_badge_ledger_uuid; -DROP INDEX @idx_badge_ledger_purchase; +-- down DROP INDEX @idx_badge_ledger_payment; DROP INDEX @idx_badge_ledger_charge; DROP INDEX @idx_badge_ledger_from_purchase; DROP INDEX @idx_badge_ledger_to_purchase; -DROP TABLE @badge_ledger; +ALTER TABLE @badge_ledger DROP COLUMN payment_id; +ALTER TABLE @badge_ledger DROP COLUMN charge_id; +ALTER TABLE @badge_ledger DROP COLUMN from_purchase_id; +ALTER TABLE @badge_ledger DROP COLUMN to_purchase_id; DROP INDEX @idx_badge_subscription_changes_purchase; DROP TABLE @badge_subscription_changes; DROP INDEX @idx_badge_invoices_purchase; DROP INDEX @idx_badge_invoices_offer; DROP INDEX @idx_badge_invoices_price; DROP TABLE @badge_invoices; -DROP TABLE @badge_purchases; +DROP INDEX @idx_badge_purchases_payment; +ALTER TABLE @badge_purchases DROP COLUMN payment_id; DROP TABLE @subscription_charges; -DROP INDEX @idx_payments_provider_ref; -DROP INDEX @idx_payments_invoice; -DROP TABLE @payments; -DROP TABLE @invoices; -DROP INDEX @idx_badge_offers_price; -DROP TABLE @badge_offers; -DROP TABLE @badge_prices; -|] +-} -m20261001_user_badges :: Query -m20261001_user_badges = +m20260915_user_badges :: Query +m20260915_user_badges = badgeSchema "" <> [sql| ALTER TABLE badge_purchases ADD COLUMN user_id INTEGER REFERENCES users ON DELETE CASCADE; @@ -234,10 +251,6 @@ ALTER TABLE badge_purchases ADD COLUMN alert_acked_episode TEXT; ALTER TABLE badge_purchases ADD COLUMN alert_snooze_until TEXT; -ALTER TABLE payments ADD COLUMN evidence BLOB; - -ALTER TABLE payments ADD COLUMN receipt_code TEXT; - ALTER TABLE badge_ledger ADD COLUMN entry_type_unknown INTEGER NOT NULL DEFAULT 0; ALTER TABLE badge_ledger ADD COLUMN entry_type_value TEXT; @@ -268,8 +281,8 @@ ALTER TABLE badge_purchases ADD COLUMN badge_code_redemption_id INTEGER REFERENC CREATE UNIQUE INDEX idx_badge_purchases_code_redemption ON badge_purchases(badge_code_redemption_id); |] -down_m20261001_user_badges :: Query -down_m20261001_user_badges = +down_m20260915_user_badges :: Query +down_m20260915_user_badges = [sql| DROP INDEX idx_badge_purchases_code_redemption; DROP INDEX idx_badge_purchases_user; @@ -281,3 +294,14 @@ ALTER TABLE users DROP COLUMN shown_badge_id; DROP INDEX idx_badge_code_redemptions_user; DROP TABLE badge_code_redemptions; |] + +{- TODO [badges] deferred with the draft above, client only. + +ALTER TABLE payments ADD COLUMN evidence BLOB; + +ALTER TABLE payments ADD COLUMN receipt_code TEXT; + +-- down +ALTER TABLE payments DROP COLUMN evidence; +ALTER TABLE payments DROP COLUMN receipt_code; +-} diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql b/src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql index 2706bf9fcf..090b6332ab 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql +++ b/src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql @@ -899,20 +899,6 @@ CREATE TABLE payments( cancelled INTEGER NOT NULL DEFAULT 0, created_at TEXT NOT NULL, updated_at TEXT NOT NULL - , - evidence BLOB, - receipt_code TEXT -) STRICT; -CREATE TABLE subscription_charges( - charge_id TEXT NOT NULL PRIMARY KEY, - payment_id TEXT NOT NULL REFERENCES payments ON DELETE CASCADE, - provider_charge_ref TEXT NOT NULL, - period_start TEXT NOT NULL, - period_end TEXT NOT NULL, - amount INTEGER NOT NULL, - currency TEXT NOT NULL, - charged_at TEXT NOT NULL, - UNIQUE(payment_id, provider_charge_ref) ) STRICT; CREATE TABLE badge_prices( price_id TEXT NOT NULL PRIMARY KEY, @@ -937,7 +923,6 @@ CREATE TABLE badge_purchases( master_key BLOB NOT NULL, initial_badge_type TEXT NOT NULL, current_badge_type TEXT NOT NULL, - payment_id TEXT REFERENCES payments, status TEXT NOT NULL, created_at TEXT NOT NULL, updated_at TEXT NOT NULL, @@ -947,29 +932,7 @@ CREATE TABLE badge_purchases( alert_acked_episode TEXT, alert_snooze_until TEXT, badge_code_redemption_id INTEGER REFERENCES badge_code_redemptions, - UNIQUE(purchase_key), - UNIQUE(payment_id) -) STRICT; -CREATE TABLE badge_invoices( - invoice_id TEXT NOT NULL PRIMARY KEY REFERENCES invoices ON DELETE CASCADE, - badge_purchase_id INTEGER NOT NULL REFERENCES badge_purchases ON DELETE CASCADE, - price_id TEXT NOT NULL REFERENCES badge_prices, - offer_id TEXT REFERENCES badge_offers, - months INTEGER NOT NULL, - created_at TEXT NOT NULL -) STRICT; -CREATE TABLE badge_subscription_changes( - change_id TEXT NOT NULL PRIMARY KEY, - badge_purchase_id INTEGER NOT NULL REFERENCES badge_purchases ON DELETE CASCADE, - from_badge_type TEXT NOT NULL, - to_badge_type TEXT NOT NULL, - from_provider_ref TEXT, - to_provider_ref TEXT, - effective TEXT NOT NULL, - status TEXT NOT NULL, - effective_at TEXT, - created_at TEXT NOT NULL, - updated_at TEXT NOT NULL + UNIQUE(purchase_key) ) STRICT; CREATE TABLE badge_ledger( entry_id INTEGER PRIMARY KEY AUTOINCREMENT, @@ -985,11 +948,7 @@ CREATE TABLE badge_ledger( created_at TEXT NOT NULL, entry_type TEXT NOT NULL, entry_credit_type TEXT, - entry_debit_type TEXT, - payment_id TEXT REFERENCES payments, - charge_id TEXT REFERENCES subscription_charges, - from_purchase_id INTEGER REFERENCES badge_purchases, - to_purchase_id INTEGER REFERENCES badge_purchases + entry_debit_type TEXT , entry_type_unknown INTEGER NOT NULL DEFAULT 0, entry_type_value TEXT, @@ -1557,21 +1516,11 @@ CREATE UNIQUE INDEX idx_file_badge_proofs_file_id_kind ON file_badge_proofs( CREATE INDEX idx_payments_provider_ref ON payments(provider, provider_ref); CREATE INDEX idx_payments_invoice ON payments(invoice_id); CREATE INDEX idx_badge_offers_price ON badge_offers(price_id); -CREATE INDEX idx_badge_invoices_purchase ON badge_invoices(badge_purchase_id); -CREATE INDEX idx_badge_invoices_offer ON badge_invoices(offer_id); -CREATE INDEX idx_badge_invoices_price ON badge_invoices(price_id); -CREATE INDEX idx_badge_subscription_changes_purchase ON badge_subscription_changes( - badge_purchase_id -); CREATE UNIQUE INDEX idx_badge_ledger_uuid ON badge_ledger(entry_uuid); CREATE INDEX idx_badge_ledger_purchase ON badge_ledger( badge_purchase_id, entry_id ); -CREATE INDEX idx_badge_ledger_payment ON badge_ledger(payment_id); -CREATE INDEX idx_badge_ledger_charge ON badge_ledger(charge_id); -CREATE INDEX idx_badge_ledger_from_purchase ON badge_ledger(from_purchase_id); -CREATE INDEX idx_badge_ledger_to_purchase ON badge_ledger(to_purchase_id); CREATE INDEX idx_badge_issuances_purchase ON badge_issuances( badge_purchase_id, issuance_id From a7aed3ebd5fdc89e89914dd06f9dea4259d8ed6e Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Tue, 15 Sep 2026 15:26:53 +0400 Subject: [PATCH 57/69] core: update query plans --- .../SQLite/Migrations/chat_query_plans.txt | 35 ++++++++++++------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt b/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt index f8fdba1c5f..6726d2ffaf 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt +++ b/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt @@ -1529,6 +1529,15 @@ Plan: SEARCH connections USING INDEX idx_connections_via_contact_uri_hash (user_id=? AND via_contact_uri_hash=?) USE TEMP B-TREE FOR ORDER BY +Query: + SELECT badge_purchase_id FROM badge_purchases + WHERE user_id = ? AND purchase_priv_key IS NOT NULL + ORDER BY badge_purchase_id DESC + LIMIT 1 + +Plan: +SEARCH badge_purchases USING INDEX idx_badge_purchases_user (user_id=?) + Query: SELECT c.connection_id, c.agent_conn_id, c.conn_level, c.via_contact, c.via_user_contact_link, c.via_group_link, c.group_link_id, c.xcontact_id, c.custom_user_profile_id, c.conn_status, c.conn_type, c.contact_conn_initiated, c.local_alias, c.contact_id, c.group_member_id, c.user_contact_link_id, @@ -4034,13 +4043,11 @@ Query: p.alert_acked_kind, p.alert_acked_episode, p.alert_snooze_until FROM badge_purchases p JOIN users u ON u.user_id = p.user_id - WHERE p.user_id = ? AND p.purchase_priv_key IS NOT NULL - ORDER BY p.badge_purchase_id DESC - LIMIT 1 + WHERE p.badge_purchase_id = ? AND p.purchase_priv_key IS NOT NULL Plan: +SEARCH p USING INTEGER PRIMARY KEY (rowid=?) SEARCH u USING INTEGER PRIMARY KEY (rowid=?) -SEARCH p USING INDEX idx_badge_purchases_user (user_id=?) Query: SELECT pgm.message_id, m.shared_msg_id, m.msg_body, m.msg_chat_binding, m.msg_signatures @@ -4276,6 +4283,14 @@ SEARCH connections USING INDEX idx_connections_group_member_id (group_member_id= LIST SUBQUERY 1 SCAN group_members USING COVERING INDEX idx_group_members_user_id_local_display_name +Query: + UPDATE contact_profiles + SET badge_proof = ?, badge_pres_header = ?, badge_expiry = ?, badge_type = ?, badge_verified = ?, badge_extra = ?, badge_master_key = ?, badge_signature = ?, badge_key_idx = ?, updated_at = ? + WHERE user_id = ? AND contact_profile_id = ? + +Plan: +SEARCH contact_profiles USING INTEGER PRIMARY KEY (rowid=?) + Query: UPDATE group_members SET contact_id = ?, local_display_name = ?, contact_profile_id = ?, updated_at = ? @@ -5292,14 +5307,6 @@ Query: Plan: SEARCH connections_sync USING INTEGER PRIMARY KEY (rowid=?) -Query: - UPDATE contact_profiles - SET badge_proof = ?, badge_pres_header = ?, badge_expiry = ?, badge_type = ?, badge_verified = ?, badge_extra = ?, badge_master_key = ?, badge_signature = ?, badge_key_idx = ?, updated_at = ? - WHERE user_id = ? AND contact_profile_id = ? - -Plan: -SEARCH contact_profiles USING INTEGER PRIMARY KEY (rowid=?) - Query: UPDATE contact_profiles SET contact_link = ?, updated_at = ? @@ -7325,6 +7332,10 @@ Query: SELECT badge_purchase_id FROM badge_purchases WHERE badge_code_redemption Plan: SEARCH badge_purchases USING COVERING INDEX idx_badge_purchases_code_redemption (badge_code_redemption_id=?) +Query: SELECT balance_checked FROM badge_ledger ORDER BY entry_id +Plan: +SCAN badge_ledger + Query: SELECT c.agent_conn_id FROM connections c JOIN group_members m ON m.group_member_id = c.group_member_id WHERE m.local_display_name = ? Plan: SCAN m USING COVERING INDEX idx_group_members_user_id_local_display_name From cd4225869d06b299f17141ad078b9de2a9a21b57 Mon Sep 17 00:00:00 2001 From: SimpleX Chat Date: Tue, 15 Sep 2026 15:57:39 +0400 Subject: [PATCH 58/69] ios 355 --- apps/ios/SimpleX.xcodeproj/project.pbxproj | 36 +++++++++++----------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/apps/ios/SimpleX.xcodeproj/project.pbxproj b/apps/ios/SimpleX.xcodeproj/project.pbxproj index 304f3768c5..dcace38daa 100644 --- a/apps/ios/SimpleX.xcodeproj/project.pbxproj +++ b/apps/ios/SimpleX.xcodeproj/project.pbxproj @@ -183,8 +183,8 @@ 64C3B0212A0D359700E19930 /* CustomTimePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C3B0202A0D359700E19930 /* CustomTimePicker.swift */; }; 64C8299D2D54AEEE006B9E89 /* libgmp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C829982D54AEED006B9E89 /* libgmp.a */; }; 64C8299E2D54AEEE006B9E89 /* libffi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C829992D54AEEE006B9E89 /* libffi.a */; }; - 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS-ghc9.6.3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS-ghc9.6.3.a */; }; - 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS.a */; }; + 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN-ghc9.6.3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN-ghc9.6.3.a */; }; + 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN.a */; }; 64C829A12D54AEEE006B9E89 /* libgmpxx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299C2D54AEEE006B9E89 /* libgmpxx.a */; }; 64D0C2C029F9688300B38D5F /* UserAddressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D0C2BF29F9688300B38D5F /* UserAddressView.swift */; }; 64D0C2C229FA57AB00B38D5F /* UserAddressLearnMore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D0C2C129FA57AB00B38D5F /* UserAddressLearnMore.swift */; }; @@ -563,8 +563,8 @@ 64C3B0202A0D359700E19930 /* CustomTimePicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomTimePicker.swift; sourceTree = ""; }; 64C829982D54AEED006B9E89 /* libgmp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgmp.a; sourceTree = ""; }; 64C829992D54AEEE006B9E89 /* libffi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libffi.a; sourceTree = ""; }; - 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS-ghc9.6.3.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS-ghc9.6.3.a"; sourceTree = ""; }; - 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS.a"; sourceTree = ""; }; + 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN-ghc9.6.3.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN-ghc9.6.3.a"; sourceTree = ""; }; + 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN.a"; sourceTree = ""; }; 64C8299C2D54AEEE006B9E89 /* libgmpxx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgmpxx.a; sourceTree = ""; }; 64D0C2BF29F9688300B38D5F /* UserAddressView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserAddressView.swift; sourceTree = ""; }; 64D0C2C129FA57AB00B38D5F /* UserAddressLearnMore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserAddressLearnMore.swift; sourceTree = ""; }; @@ -735,8 +735,8 @@ 64C8299D2D54AEEE006B9E89 /* libgmp.a in Frameworks */, 64C8299E2D54AEEE006B9E89 /* libffi.a in Frameworks */, 64C829A12D54AEEE006B9E89 /* libgmpxx.a in Frameworks */, - 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS-ghc9.6.3.a in Frameworks */, - 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS.a in Frameworks */, + 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN-ghc9.6.3.a in Frameworks */, + 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN.a in Frameworks */, CE38A29C2C3FCD72005ED185 /* SwiftyGif in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -822,8 +822,8 @@ 64C829992D54AEEE006B9E89 /* libffi.a */, 64C829982D54AEED006B9E89 /* libgmp.a */, 64C8299C2D54AEEE006B9E89 /* libgmpxx.a */, - 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS-ghc9.6.3.a */, - 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS.a */, + 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN-ghc9.6.3.a */, + 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN.a */, ); path = Libraries; sourceTree = ""; @@ -2081,7 +2081,7 @@ CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES; CODE_SIGN_ENTITLEMENTS = "SimpleX (iOS).entitlements"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 352; + CURRENT_PROJECT_VERSION = 355; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_BITCODE = NO; @@ -2131,7 +2131,7 @@ CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES; CODE_SIGN_ENTITLEMENTS = "SimpleX (iOS).entitlements"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 352; + CURRENT_PROJECT_VERSION = 355; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_BITCODE = NO; @@ -2173,7 +2173,7 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 352; + CURRENT_PROJECT_VERSION = 355; DEVELOPMENT_TEAM = 5NN7GUYB6T; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 15.0; @@ -2193,7 +2193,7 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 352; + CURRENT_PROJECT_VERSION = 355; DEVELOPMENT_TEAM = 5NN7GUYB6T; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 15.0; @@ -2218,7 +2218,7 @@ CODE_SIGN_ENTITLEMENTS = "SimpleX NSE/SimpleX NSE.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 352; + CURRENT_PROJECT_VERSION = 355; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_BITCODE = NO; GCC_OPTIMIZATION_LEVEL = s; @@ -2255,7 +2255,7 @@ CODE_SIGN_ENTITLEMENTS = "SimpleX NSE/SimpleX NSE.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 352; + CURRENT_PROJECT_VERSION = 355; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_BITCODE = NO; ENABLE_CODE_COVERAGE = NO; @@ -2292,7 +2292,7 @@ CLANG_TIDY_BUGPRONE_REDUNDANT_BRANCH_CONDITION = YES; CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 352; + CURRENT_PROJECT_VERSION = 355; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 5NN7GUYB6T; DYLIB_COMPATIBILITY_VERSION = 1; @@ -2343,7 +2343,7 @@ CLANG_TIDY_BUGPRONE_REDUNDANT_BRANCH_CONDITION = YES; CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 352; + CURRENT_PROJECT_VERSION = 355; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 5NN7GUYB6T; DYLIB_COMPATIBILITY_VERSION = 1; @@ -2397,7 +2397,7 @@ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CODE_SIGN_ENTITLEMENTS = "SimpleX SE/SimpleX SE.entitlements"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 352; + CURRENT_PROJECT_VERSION = 355; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; @@ -2431,7 +2431,7 @@ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CODE_SIGN_ENTITLEMENTS = "SimpleX SE/SimpleX SE.entitlements"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 352; + CURRENT_PROJECT_VERSION = 355; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; From 6a7eae2751c9c8a987e712c9fb4b357228adaea6 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Tue, 15 Sep 2026 14:23:13 +0000 Subject: [PATCH 59/69] ui: redeem code (#7482) --- apps/ios/Shared/Model/AppAPITypes.swift | 29 +++ apps/ios/Shared/Model/ChatModel.swift | 24 ++ apps/ios/Shared/Model/SimpleXAPI.swift | 152 ++++++++++- .../Views/Badges/BadgeUserPreview.swift | 3 +- .../Views/Badges/BadgesHowItWorksView.swift | 7 +- .../Views/Badges/BadgesRedeemCodeView.swift | 210 ++++++++++++++- .../Badges/BadgesSupportSimplexView.swift | 67 +++-- apps/ios/Shared/Views/Badges/BadgesView.swift | 35 +++ .../Views/Badges/BadgesYourBadgeView.swift | 93 +++++++ .../Views/Badges/SupportSimpleXBanner.swift | 16 +- .../Shared/Views/ChatList/ChatListView.swift | 54 +++- .../Shared/Views/ChatList/UserPicker.swift | 3 +- .../Shared/Views/NewChat/NewChatView.swift | 3 +- .../Views/Onboarding/WhatsNewView.swift | 4 +- .../Views/UserSettings/SettingsView.swift | 5 +- .../Views/UserSettings/UserProfilesView.swift | 2 +- apps/ios/SimpleX.xcodeproj/project.pbxproj | 24 +- apps/ios/SimpleXChat/API.swift | 8 + apps/ios/SimpleXChat/ChatTypes.swift | 88 ++++++- apps/ios/SimpleXChat/SimpleX.h | 2 + .../foss/java/chat/simplex/app/PlayStore.kt | 2 + .../google/java/chat/simplex/app/PlayStore.kt | 2 + .../main/java/chat/simplex/app/SimplexApp.kt | 2 + .../src/commonMain/cpp/android/simplex-api.c | 9 + .../src/commonMain/cpp/desktop/simplex-api.c | 9 + .../chat/simplex/common/model/ChatModel.kt | 110 ++++++++ .../chat/simplex/common/model/SimpleXAPI.kt | 166 ++++++++++++ .../chat/simplex/common/platform/Core.kt | 1 + .../chat/simplex/common/platform/Platform.kt | 1 + .../common/views/badges/BadgeUserPreview.kt | 4 +- .../views/badges/BadgesRedeemCodeView.kt | 246 +++++++++++++++++- .../views/badges/BadgesSupportSimplexView.kt | 74 ++++-- .../simplex/common/views/badges/BadgesView.kt | 25 ++ .../views/badges/BadgesYourBadgeView.kt | 76 ++++++ .../views/badges/SupportSimpleXBanner.kt | 19 +- .../common/views/chatlist/ChatListView.kt | 55 +++- .../common/views/newchat/OnboardingCards.kt | 7 +- .../common/views/onboarding/WhatsNewView.kt | 4 +- .../common/views/usersettings/SettingsView.kt | 7 +- .../commonMain/resources/MR/ar/strings.xml | 30 --- .../commonMain/resources/MR/base/strings.xml | 66 ++--- .../commonMain/resources/MR/bg/strings.xml | 18 -- .../commonMain/resources/MR/ca/strings.xml | 18 -- .../commonMain/resources/MR/cs/strings.xml | 24 -- .../commonMain/resources/MR/da/strings.xml | 11 - .../commonMain/resources/MR/de/strings.xml | 30 --- .../commonMain/resources/MR/el/strings.xml | 19 -- .../commonMain/resources/MR/es/strings.xml | 30 --- .../commonMain/resources/MR/fa/strings.xml | 18 -- .../commonMain/resources/MR/fr/strings.xml | 30 --- .../commonMain/resources/MR/hr/strings.xml | 6 - .../commonMain/resources/MR/hu/strings.xml | 30 --- .../commonMain/resources/MR/in/strings.xml | 28 -- .../commonMain/resources/MR/it/strings.xml | 30 --- .../commonMain/resources/MR/iw/strings.xml | 3 - .../commonMain/resources/MR/ja/strings.xml | 28 -- .../commonMain/resources/MR/ko/strings.xml | 4 - .../commonMain/resources/MR/ku/strings.xml | 3 - .../commonMain/resources/MR/lv/strings.xml | 18 -- .../commonMain/resources/MR/nl/strings.xml | 16 -- .../commonMain/resources/MR/pl/strings.xml | 19 -- .../resources/MR/pt-rBR/strings.xml | 30 --- .../commonMain/resources/MR/ro/strings.xml | 19 -- .../commonMain/resources/MR/ru/strings.xml | 30 --- .../commonMain/resources/MR/sk/strings.xml | 8 - .../commonMain/resources/MR/tr/strings.xml | 30 --- .../commonMain/resources/MR/uk/strings.xml | 24 -- .../commonMain/resources/MR/vi/strings.xml | 21 -- .../resources/MR/zh-rCN/strings.xml | 30 --- .../resources/MR/zh-rTW/strings.xml | 29 --- flake.nix | 2 + libsimplex.dll.def | 1 + src/Simplex/Chat.hs | 3 +- src/Simplex/Chat/Badges/Types.hs | 2 + src/Simplex/Chat/Library/Commands.hs | 5 +- src/Simplex/Chat/Mobile.hs | 10 + 76 files changed, 1590 insertions(+), 781 deletions(-) create mode 100644 apps/ios/Shared/Views/Badges/BadgesView.swift create mode 100644 apps/ios/Shared/Views/Badges/BadgesYourBadgeView.swift create mode 100644 apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesView.kt create mode 100644 apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesYourBadgeView.kt diff --git a/apps/ios/Shared/Model/AppAPITypes.swift b/apps/ios/Shared/Model/AppAPITypes.swift index db70511a5a..4a629bbd41 100644 --- a/apps/ios/Shared/Model/AppAPITypes.swift +++ b/apps/ios/Shared/Model/AppAPITypes.swift @@ -191,6 +191,10 @@ enum ChatCommand: ChatCmdProtocol { case apiUploadStandaloneFile(userId: Int64, file: CryptoFile) case apiDownloadStandaloneFile(userId: Int64, url: String, file: CryptoFile) case apiStandaloneFileInfo(url: String) + // badges + case apiRedeemBadgeCode(userId: Int64, code: String) + case apiGetBadgeState(userId: Int64) + case apiAckBadgeAlert(userId: Int64, badgePurchaseId: Int64, alertKind: BadgeAlertKind, snooze: Bool, episode: String) // misc case showVersion case getAgentSubsTotal(userId: Int64) @@ -413,6 +417,10 @@ enum ChatCommand: ChatCmdProtocol { case let .apiUploadStandaloneFile(userId, file): return "/_upload \(userId) \(file.filePath)" case let .apiDownloadStandaloneFile(userId, link, file): return "/_download \(userId) \(link) \(file.filePath)" case let .apiStandaloneFileInfo(link): return "/_download info \(link)" + case let .apiRedeemBadgeCode(userId, code): return "/_redeem_badge_code \(userId) \(code)" + case let .apiGetBadgeState(userId): return "/_badge state \(userId)" + case let .apiAckBadgeAlert(userId, badgePurchaseId, alertKind, snooze, episode): + return "/_badge ack \(userId) \(badgePurchaseId) \(alertKind.text) \(onOff(snooze)) \(episode)" case .showVersion: return "/version" case let .getAgentSubsTotal(userId): return "/get subs total \(userId)" case let .getAgentServersSummary(userId): return "/get servers summary \(userId)" @@ -600,6 +608,9 @@ enum ChatCommand: ChatCmdProtocol { case .apiUploadStandaloneFile: return "apiUploadStandaloneFile" case .apiDownloadStandaloneFile: return "apiDownloadStandaloneFile" case .apiStandaloneFileInfo: return "apiStandaloneFileInfo" + case .apiRedeemBadgeCode: return "apiRedeemBadgeCode" + case .apiGetBadgeState: return "apiGetBadgeState" + case .apiAckBadgeAlert: return "apiAckBadgeAlert" case .showVersion: return "showVersion" case .getAgentSubsTotal: return "getAgentSubsTotal" case .getAgentServersSummary: return "getAgentServersSummary" @@ -653,6 +664,9 @@ enum ChatCommand: ChatCmdProtocol { return .apiDeleteUser(userId: userId, delSMPQueues: delSMPQueues, viewPwd: obfuscate(viewPwd)) case let .testStorageEncryption(key): return .testStorageEncryption(key: obfuscate(key)) + // a code is a bearer secret until it is redeemed, and the terminal shows and copies cmdString + case let .apiRedeemBadgeCode(userId, code): + return .apiRedeemBadgeCode(userId: userId, code: obfuscate(code)) default: return self } } @@ -1019,6 +1033,10 @@ enum ChatResponse2: Decodable, ChatAPIResult { case archiveExported(archiveErrors: [ArchiveError]) case archiveImported(archiveErrors: [ArchiveError]) case appSettings(appSettings: AppSettings) + // badges + // the full user, not UserRef: its profile carries the badge that setUserBadge just stored + case badgeRedeemed(user: User, redeemedBadge: LocalBadge, newBadge: Bool) + case badgeState(user: UserRef, badgeState: BadgeState?) var responseType: String { switch self { @@ -1070,6 +1088,8 @@ enum ChatResponse2: Decodable, ChatAPIResult { case .archiveExported: "archiveExported" case .archiveImported: "archiveImported" case .appSettings: "appSettings" + case .badgeRedeemed: "badgeRedeemed" + case .badgeState: "badgeState" } } @@ -1123,6 +1143,8 @@ enum ChatResponse2: Decodable, ChatAPIResult { case let .archiveExported(archiveErrors): return String(describing: archiveErrors) case let .archiveImported(archiveErrors): return String(describing: archiveErrors) case let .appSettings(appSettings): return String(describing: appSettings) + case let .badgeRedeemed(u, redeemedBadge, newBadge): return withUser(u, "redeemedBadge: \(String(describing: redeemedBadge))\nnewBadge: \(newBadge)") + case let .badgeState(u, badgeState): return withUser(u, String(describing: badgeState)) } } } @@ -1205,6 +1227,9 @@ enum ChatEvent: Decodable, ChatAPIResult { case remoteCtrlStopped(rcsState: RemoteCtrlSessionState, rcStopReason: RemoteCtrlStopReason) // pq case contactPQEnabled(user: UserRef, contact: Contact, pqEnabled: Bool) + // badges + case badgeChanged(user: User, badgeState: BadgeState?) + case badgeAlert(user: UserRef, badgeAlert: BadgeAlert) var responseType: String { switch self { @@ -1277,6 +1302,8 @@ enum ChatEvent: Decodable, ChatAPIResult { case .remoteCtrlConnected: "remoteCtrlConnected" case .remoteCtrlStopped: "remoteCtrlStopped" case .contactPQEnabled: "contactPQEnabled" + case .badgeChanged: "badgeChanged" + case .badgeAlert: "badgeAlert" } } @@ -1359,6 +1386,8 @@ enum ChatEvent: Decodable, ChatAPIResult { case let .remoteCtrlConnected(remoteCtrl): return String(describing: remoteCtrl) case let .remoteCtrlStopped(rcsState, rcStopReason): return "rcsState: \(String(describing: rcsState))\nrcStopReason: \(String(describing: rcStopReason))" case let .contactPQEnabled(u, contact, pqEnabled): return withUser(u, "contact: \(String(describing: contact))\npqEnabled: \(pqEnabled)") + case let .badgeChanged(u, badgeState): return withUser(u, String(describing: badgeState)) + case let .badgeAlert(u, badgeAlert): return withUser(u, String(describing: badgeAlert)) } } } diff --git a/apps/ios/Shared/Model/ChatModel.swift b/apps/ios/Shared/Model/ChatModel.swift index e3a6ae30b9..1bf711ca5f 100644 --- a/apps/ios/Shared/Model/ChatModel.swift +++ b/apps/ios/Shared/Model/ChatModel.swift @@ -359,6 +359,30 @@ class ChannelRelaysModel: ObservableObject { } } +// The badge of whichever profile it was last loaded for, kept current by the badgeChanged event so +// that a screen already open shows what the renewal worker did with no command behind it. +class BadgeModel: ObservableObject { + static let shared = BadgeModel() + @Published private(set) var userId: Int64? + @Published private(set) var badgeState: BadgeState? + @Published private(set) var alert: BadgeAlert? + + // alert follows the state: getUserBadgeState derives it on every read, so a badgeChanged is + // never staler than the alert it carries - the invariant a new alert kind must keep + func set(userId: Int64, badgeState: BadgeState?) { + self.userId = userId + self.badgeState = badgeState + alert = badgeState?.alert + } + + func setAlert(userId: Int64, alert: BadgeAlert) { + if self.userId == userId { + self.alert = alert + badgeState?.alert = alert + } + } +} + // Spec: spec/state.md#ChatModel final class ChatModel: ObservableObject { @Published var onboardingStage: OnboardingStage? diff --git a/apps/ios/Shared/Model/SimpleXAPI.swift b/apps/ios/Shared/Model/SimpleXAPI.swift index d7f29087d8..b90527507c 100644 --- a/apps/ios/Shared/Model/SimpleXAPI.swift +++ b/apps/ios/Shared/Model/SimpleXAPI.swift @@ -2182,6 +2182,119 @@ func resetAgentServersStats() async throws { try await sendCommandOkResp(.resetAgentServersStats) } +// The failures redeemBadgeCode raises, as core flattens them to command error text. +// tests/Bots/BadgeServiceTests.hs asserts that text, so a change in core breaks a test there. +enum BadgeRedeemError: Error { + case invalidCode + case serviceNotConfigured + case alreadyActive + case codeInvalid + case codeUsed + case codeExpired + case rateLimited + case serviceFailed + case badServiceResponse + case credentialNotVerified + case unsupportedVersion + case networkError + case badgeEnded + case unknown +} + +private enum BadgeErrorText { + static let invalidCode = "invalid badge code" + static let serviceNotConfigured = "badge service not configured" + static let alreadyActive = "badge already active" + static let unknownKeyIndex = "unknown badge key index" + static let credentialNotVerified = "badge credential does not verify against configured key" + static let invalidResponse = "invalid badge service response, " + static let unexpectedResponse = "unexpected badge service response: " + static let serviceError = "badge service error: " + // raised by sendServiceRequestTo, not by redeemBadgeCode itself, when the reply is not JSON + static let undecodableResponse = "invalid service response" +} + +func badgeRedeemError(_ error: ChatError) -> BadgeRedeemError { + // the app's own classifier decides what counts as a network failure; only the classification is + // used here, not its retry policy - a client that retries makes code guessing cheaper + if retryableNetworkErrorAlert(error) != nil { return .networkError } + guard case let .error(.commandError(message)) = error else { return .unknown } + switch message { + case BadgeErrorText.invalidCode: return .invalidCode + case BadgeErrorText.serviceNotConfigured: return .serviceNotConfigured + case BadgeErrorText.alreadyActive: return .alreadyActive + case BadgeErrorText.unknownKeyIndex, BadgeErrorText.credentialNotVerified: return .credentialNotVerified + case BadgeErrorText.undecodableResponse: return .badServiceResponse + default: break + } + if message.hasPrefix(BadgeErrorText.invalidResponse) || message.hasPrefix(BadgeErrorText.unexpectedResponse) { + return .badServiceResponse + } + if message.hasPrefix(BadgeErrorText.serviceError) { + return badgeServiceError(String(message.dropFirst(BadgeErrorText.serviceError.count))) + } + return .unknown +} + +// the service's own tag, which core bounds to [a-z0-9_] and 32 characters and which is never shown +private func badgeServiceError(_ tag: String) -> BadgeRedeemError { + switch tag { + case "code_invalid": return .codeInvalid + case "code_used": return .codeUsed + case "code_expired": return .codeExpired + case "rate_limited": return .rateLimited + // retrying never succeeds: the client is too old for the service + case "unsupported_version": return .unsupportedVersion + default: return .serviceFailed + } +} + +// log: false because the code is a bearer secret until it is redeemed - it is in the command, and a +// service response echoed into an error message would carry it into the terminal with the response. +func apiRedeemBadgeCode(_ userId: Int64, _ code: String) async throws -> (user: User, newBadge: Bool) { + let r: APIResult = await chatApiSendCmd(.apiRedeemBadgeCode(userId: userId, code: code), log: false) + switch r { + // redeemedBadge is dropped: it is the credential, and the user's profile carries what is shown + case let .result(.badgeRedeemed(user, _, newBadge)): return (user, newBadge) + case let .error(e): throw badgeRedeemError(e) + default: + // the response type alone - it names a case or a JSON key, never the service's message + logger.error("apiRedeemBadgeCode: unexpected \(r.responseType)") + throw BadgeRedeemError.unknown + } +} + +func apiGetBadgeState(_ userId: Int64) async throws -> BadgeState? { + let r: ChatResponse2 = try await chatSendCmd(.apiGetBadgeState(userId: userId)) + if case let .badgeState(_, badgeState) = r { return badgeState } + throw r.unexpected +} + +func apiGetBadgeStateSync(_ userId: Int64) throws -> BadgeState? { + let r: ChatResponse2 = try chatSendCmdSync(.apiGetBadgeState(userId: userId)) + if case let .badgeState(_, badgeState) = r { return badgeState } + throw r.unexpected +} + +func apiAckBadgeAlert(_ userId: Int64, _ badgePurchaseId: Int64, _ alertKind: BadgeAlertKind, snooze: Bool, episode: String) async throws -> BadgeState? { + let r: ChatResponse2 = try await chatSendCmd(.apiAckBadgeAlert(userId: userId, badgePurchaseId: badgePurchaseId, alertKind: alertKind, snooze: snooze, episode: episode)) + if case let .badgeState(_, badgeState) = r { return badgeState } + throw r.unexpected +} + +// An API call and not a stored flag: the ack is kept on the purchase in core, which then stops +// raising this occurrence on every pass and across restarts, or until a snooze lapses. +func ackBadgeAlert(snooze: Bool) async { + let badgeModel = BadgeModel.shared + guard let userId = badgeModel.userId, let purchaseId = badgeModel.badgeState?.badgePurchaseId, let alert = badgeModel.alert else { return } + do { + let badgeState = try await apiAckBadgeAlert(userId, purchaseId, alert.kind, snooze: snooze, episode: alert.episode) + await MainActor.run { badgeModel.set(userId: userId, badgeState: badgeState) } + } catch let error { + logger.error("ackBadgeAlert: \(responseError(error))") + } +} + private func currentUserId(_ funcName: String) throws -> Int64 { if let userId = ChatModel.shared.currentUser?.userId { return userId @@ -2352,12 +2465,34 @@ func getUserChatData() throws { tm.activeFilter = nil tm.userTags = tags tm.updateChatTags(m.chats) + loadBadgeState() +} + +// Not thrown: a failed badge read must not stop the app starting, and the model is left alone +// rather than set to nil, which would read as "no badge". +private func loadBadgeState() { + do { + let userId = try currentUserId("loadBadgeState") + let badgeState = try apiGetBadgeStateSync(userId) + BadgeModel.shared.set(userId: userId, badgeState: badgeState) + } catch let error { + logger.error("loadBadgeState: \(responseError(error))") + } +} + +private func loadBadgeStateAsync(_ userId: Int64) async { + do { + let badgeState = try await apiGetBadgeState(userId) + await MainActor.run { BadgeModel.shared.set(userId: userId, badgeState: badgeState) } + } catch let error { + logger.error("loadBadgeState: \(responseError(error))") + } } private func getUserChatDataAsync(keepingChatId: String?) async throws { let m = ChatModel.shared let tm = ChatTagsModel.shared - if m.currentUser != nil { + if let userId = m.currentUser?.userId { let userAddress = try await apiGetUserAddressAsync() let chatItemTTL = try await getChatItemTTLAsync() let chats = try await apiGetChatsAsync() @@ -2370,6 +2505,7 @@ private func getUserChatDataAsync(keepingChatId: String?) async throws { tm.userTags = tags tm.updateChatTags(m.chats) } + await loadBadgeStateAsync(userId) } else { await MainActor.run { m.userAddress = nil @@ -2948,6 +3084,20 @@ func processReceivedMsg(_ res: ChatEvent) async { m.updateContact(contact) } } + case let .badgeChanged(user, badgeState): + if active(user) { + await MainActor.run { + // read by core after retiring or presenting, so it carries the profile badge as changed + m.updateUser(user) + BadgeModel.shared.set(userId: user.userId, badgeState: badgeState) + } + } + case let .badgeAlert(user, badgeAlert): + if active(user) { + await MainActor.run { + BadgeModel.shared.setAlert(userId: user.userId, alert: badgeAlert) + } + } default: logger.debug("unsupported event: \(res.responseType)") } diff --git a/apps/ios/Shared/Views/Badges/BadgeUserPreview.swift b/apps/ios/Shared/Views/Badges/BadgeUserPreview.swift index 3e7216866e..45d94c3ed6 100644 --- a/apps/ios/Shared/Views/Badges/BadgeUserPreview.swift +++ b/apps/ios/Shared/Views/Badges/BadgeUserPreview.swift @@ -23,7 +23,8 @@ struct BadgeUserPreview: View { let user = chatModel.currentUser let displayName = user?.displayName ?? NSLocalizedString("My nickname", comment: "badges preview placeholder") let previewBadge = LocalBadge( - badge: BadgeInfo(badgeType: level.badgeType), + // fabricated for the preview: the status is given here, and NameBadge renders from it alone + badge: BadgeInfo(badgeType: level.badgeType, badgeExpiry: .distantFuture), status: .active ) return VStack(spacing: 12) { diff --git a/apps/ios/Shared/Views/Badges/BadgesHowItWorksView.swift b/apps/ios/Shared/Views/Badges/BadgesHowItWorksView.swift index 24836b37f9..86035cc223 100644 --- a/apps/ios/Shared/Views/Badges/BadgesHowItWorksView.swift +++ b/apps/ios/Shared/Views/Badges/BadgesHowItWorksView.swift @@ -9,7 +9,6 @@ import SwiftUI import SimpleXChat -// TODO [badges]: replace lorem ipsum with the real copy once the badge protocol and privacy properties are documented. struct BadgesHowItWorksView: View { @EnvironmentObject var theme: AppTheme @@ -23,9 +22,9 @@ struct BadgesHowItWorksView: View { .padding(.bottom, 16) ScrollView { VStack(alignment: .leading, spacing: 12) { - Text("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.") - Text("Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.") - Text("Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.") + Text("A badge is not an account. It is a signed credential stored on your device. It does not identify you, and no one keeps a record of who holds which badge.") + Text("Your contacts see the badge and its expiry date, and nothing else. The badge carries no identifier, so it cannot be used to find out who you are or to match you across chats.") + Text("Payment and badge are kept apart. Paying is one step; the badge is issued in another, under a key that exists only for that badge. Whoever handles the payment cannot see where the badge ends up.") } .lineLimit(nil) .fixedSize(horizontal: false, vertical: true) diff --git a/apps/ios/Shared/Views/Badges/BadgesRedeemCodeView.swift b/apps/ios/Shared/Views/Badges/BadgesRedeemCodeView.swift index 2101bfa7f0..6298425e8c 100644 --- a/apps/ios/Shared/Views/Badges/BadgesRedeemCodeView.swift +++ b/apps/ios/Shared/Views/Badges/BadgesRedeemCodeView.swift @@ -8,22 +8,214 @@ import SwiftUI import SimpleXChat +import CodeScanner + +private let badgeCodePrefix = "SB" +private let badgeCodeBodyLength = 20 +private let badgeCodeGroupLength = 5 + +// Regroups what was typed; validity and the folding of ambiguous characters are core's alone. +private func formatBadgeCodeInput(_ s: String) -> String { + var normalized = "" + for c in s.prefix(256).uppercased() { + guard c.isLetter || c.isNumber else { continue } + normalized.append(c) + if normalized.count == badgeCodePrefix.count + badgeCodeBodyLength { break } + } + guard normalized.hasPrefix(badgeCodePrefix) else { return normalized } + var groups = [badgeCodePrefix] + var i = normalized.index(normalized.startIndex, offsetBy: badgeCodePrefix.count) + while i < normalized.endIndex { + let j = normalized.index(i, offsetBy: badgeCodeGroupLength, limitedBy: normalized.endIndex) ?? normalized.endIndex + groups.append(String(normalized[i.. some View { + Text("Redeem code") + .font(.largeTitle) + .bold() + .foregroundColor(theme.colors.primary) + .multilineTextAlignment(.center) + .fixedSize(horizontal: false, vertical: true) + + Text("Paste the code from your receipt.") + .font(.body) + .multilineTextAlignment(.center) + .fixedSize(horizontal: false, vertical: true) + + codeField() + + pasteButton() + + ScannerInView( + showQRCodeScanner: $showQRCodeScanner, + scannerPaused: $submitting, + processQRCode: processQRCode, + scanMode: .oncePerCode, + placeholderBackground: Color(.tertiarySystemFill) + ) + .fixedSize(horizontal: false, vertical: true) + .padding(.top, 12) + + Spacer(minLength: 0) + + VStack(spacing: 10) { + submitButton() + .padding(.vertical, 10) + Color.clear + .frame(height: 22) + } + .padding(.bottom, g.safeAreaInsets.bottom == 0 ? 20 : 0) + } + + private func codeField() -> some View { + TextField(text: $code) { Text(verbatim: "SB-XXXXX-XXXXX-XXXXX-XXXXX") } + .font(.body.monospaced()) + .multilineTextAlignment(.center) + .autocorrectionDisabled(true) + .textInputAutocapitalization(.characters) + .disabled(submitting) + .padding(EdgeInsets(top: 14, leading: 12, bottom: 14, trailing: 12)) + .background(Color(.tertiarySystemFill)) + .cornerRadius(10.0) + .onChange(of: code) { applyCodeInput($0) } + } + + private func pasteButton() -> some View { + Button { + if let pasted = UIPasteboard.general.string { applyCodeInput(pasted) } + } label: { + Text("Paste") + .font(.body) + .fontWeight(.medium) + .foregroundColor(theme.colors.primary) + } + .disabled(submitting) + } + + private func applyCodeInput(_ s: String) { + let formatted = formatBadgeCodeInput(s) + if formatted != code { code = formatted } + canonicalCode = parseBadgeCode(formatted) + } + + private func processQRCode(_ resp: Result) { + switch resp { + case let .success(r): + let formatted = formatBadgeCodeInput(r.string) + if parseBadgeCode(formatted) == nil { + showAlert( + NSLocalizedString("Invalid QR code", comment: "alert title"), + message: NSLocalizedString("The code you scanned is not a badge code.", comment: "alert message") + ) + } else { + applyCodeInput(formatted) + redeem() + } + case let .failure(e): + logger.error("processQRCode QR code error: \(e.localizedDescription)") + showAlert( + NSLocalizedString("Invalid QR code", comment: "alert title"), + message: String.localizedStringWithFormat(NSLocalizedString("Error scanning code: %@", comment: "alert message"), e.localizedDescription) + ) + } + } + + private func submitButton() -> some View { + let disabled = canonicalCode == nil || submitting + return Button { + redeem() + } label: { + Text("Redeem") + } + .buttonStyle(OnboardingButtonStyle(isDisabled: disabled)) + .disabled(disabled) + } + + private func redeem() { + guard let sending = canonicalCode, let user = chatModel.currentUser else { return } + submitting = true + Task { + do { + let (redeemedUser, newBadge) = try await apiRedeemBadgeCode(user.userId, sending) + let badgeState = try? await apiGetBadgeState(user.userId) + await MainActor.run { + submitting = false + // written before the pop: BadgesView swaps its content under this pushed view, so + // the pop reveals Your Badge already in place rather than animating it afterwards + if let badgeState { + BadgeModel.shared.set(userId: user.userId, badgeState: badgeState) + } + // the response is the only carrier: redeeming raises no event that refreshes the + // profile, so without this the badge beside the name is the one from before + chatModel.updateUser(redeemedUser) + if let badgeState, !badgeState.shown { + // a replay adds no purchase; a fresh code's badge can be retired on arrival + showAlert(NSLocalizedString("Cannot redeem code", comment: "alert title"), message: failureMessage(newBadge ? .badgeEnded : .codeUsed)) + } else { + supporterBannerShown = true + dismiss() + } + } + } catch let error { + let redeemError = error as? BadgeRedeemError ?? .unknown + // the mapped case only - core embeds the service's response in some of these messages + logger.error("apiRedeemBadgeCode: \(String(describing: redeemError))") + await MainActor.run { + submitting = false + showAlert(NSLocalizedString("Cannot redeem code", comment: "alert title"), message: failureMessage(redeemError)) + } + } + } + } + + private func failureMessage(_ failure: BadgeRedeemError) -> String { + switch failure { + case .invalidCode: NSLocalizedString("This code is not valid.", comment: "alert message") + case .serviceNotConfigured: NSLocalizedString("This app version cannot redeem badge codes.", comment: "alert message") + case .alreadyActive: NSLocalizedString("This profile already has a badge. Redeem the code on another profile, or once this badge ends.", comment: "alert message") + case .codeInvalid: NSLocalizedString("This code was not recognised.", comment: "alert message") + case .codeUsed: NSLocalizedString("This code has already been used.", comment: "alert message") + case .codeExpired: NSLocalizedString("This code has expired.", comment: "alert message") + case .rateLimited: NSLocalizedString("Too many attempts. Please try again later.", comment: "alert message") + case .serviceFailed: NSLocalizedString("The badge service is unavailable. Please try again later.", comment: "alert message") + case .badServiceResponse: NSLocalizedString("The badge service sent an unexpected response.", comment: "alert message") + case .credentialNotVerified: NSLocalizedString("This app version cannot verify this badge. Please update the app.", comment: "alert message") + case .unsupportedVersion: NSLocalizedString("This app version is too old for the badge service. Please update the app.", comment: "alert message") + case .networkError: NSLocalizedString("Connection error. Please check your network connection.", comment: "alert message") + case .badgeEnded: NSLocalizedString("The code was accepted, but the badge it grants has already ended.", comment: "alert message") + case .unknown: NSLocalizedString("The code could not be redeemed.", comment: "alert message") } - .padding(.horizontal, 25) - .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .topLeading) } } diff --git a/apps/ios/Shared/Views/Badges/BadgesSupportSimplexView.swift b/apps/ios/Shared/Views/Badges/BadgesSupportSimplexView.swift index 2538d874a1..2fc904197d 100644 --- a/apps/ios/Shared/Views/Badges/BadgesSupportSimplexView.swift +++ b/apps/ios/Shared/Views/Badges/BadgesSupportSimplexView.swift @@ -15,11 +15,11 @@ struct BadgesSupportSimplexView: View { // reserve nav-bar space like a NavigationLink push does, so the title lands too close to the top var showsAsSheet: Bool = false @State private var whyBuiltActive = false + @State private var howItWorksActive = false @State private var chooseLevelActive = false @State private var redeemCodeActive = false var body: some View { - // TODO [badges] gate on user badge status (no badge → this view, active → "Manage your badge") GeometryReader { g in VStack(alignment: .center, spacing: 16) { Text("Support SimpleX") @@ -34,7 +34,9 @@ struct BadgesSupportSimplexView: View { .multilineTextAlignment(.center) .fixedSize(horizontal: false, vertical: true) - whyBuiltButton() + // TODO [badges] restore whyBuiltButton() when in-app purchase lands: the level screen + // returns to the flow and howItWorksButton() moves there, leaving this one alone here. + howItWorksButton() Spacer(minLength: 0) @@ -44,11 +46,10 @@ struct BadgesSupportSimplexView: View { Spacer(minLength: 0) - // Onboarding pattern: nested VStack(spacing: 10) + action button vertical padding 10. VStack(spacing: 10) { - chooseLevelButton() - .padding(.vertical, 10) redeemCodeButton() + .padding(.vertical, 10) + getCodeButton() .frame(height: 22) } .padding(.bottom, g.safeAreaInsets.bottom == 0 ? 20 : 0) @@ -62,8 +63,27 @@ struct BadgesSupportSimplexView: View { } .frame(maxHeight: .infinity) .navigationBarTitleDisplayMode(.inline) - // preloaded here so the level screen shows store prices without a placeholder pass - .task { await BadgeStore.shared.load() } + } + + // the in-app purchase path, kept compiling and uncalled until payments return after the MVP + private func chooseLevelButton() -> some View { + ZStack { + Button { + chooseLevelActive = true + } label: { + Text("Choose your level") + } + .buttonStyle(OnboardingButtonStyle(isDisabled: false)) + + NavigationLink(isActive: $chooseLevelActive) { + BadgesYourLevelView() + .modifier(ThemedBackground()) + } label: { + EmptyView() + } + .frame(width: 1, height: 1) + .hidden() + } } private func whyBuiltButton() -> some View { @@ -85,17 +105,17 @@ struct BadgesSupportSimplexView: View { } } - private func chooseLevelButton() -> some View { + private func howItWorksButton() -> some View { ZStack { - Button { - chooseLevelActive = true - } label: { - Text("Choose your level") + Button { howItWorksActive = true } label: { + HStack(spacing: 4) { + Image(systemName: "info.circle") + Text("How private badges work").fontWeight(.medium) + } + .font(.body) } - .buttonStyle(OnboardingButtonStyle(isDisabled: false)) - - NavigationLink(isActive: $chooseLevelActive) { - BadgesYourLevelView() + NavigationLink(isActive: $howItWorksActive) { + BadgesHowItWorksView() .modifier(ThemedBackground()) } label: { EmptyView() @@ -111,10 +131,8 @@ struct BadgesSupportSimplexView: View { redeemCodeActive = true } label: { Text("Redeem badge code") - .font(.body) - .fontWeight(.medium) - .foregroundColor(theme.colors.primary) } + .buttonStyle(OnboardingButtonStyle(isDisabled: false)) NavigationLink(isActive: $redeemCodeActive) { BadgesRedeemCodeView() @@ -126,6 +144,17 @@ struct BadgesSupportSimplexView: View { .hidden() } } + + private func getCodeButton() -> some View { + Button { + openExternalLink(URL(string: "https://simplex.chat/badges/")!) + } label: { + Text("Get your code") + .font(.body) + .fontWeight(.medium) + .foregroundColor(theme.colors.primary) + } + } } struct PhoneSupporterHero: View { diff --git a/apps/ios/Shared/Views/Badges/BadgesView.swift b/apps/ios/Shared/Views/Badges/BadgesView.swift new file mode 100644 index 0000000000..1960d25bf0 --- /dev/null +++ b/apps/ios/Shared/Views/Badges/BadgesView.swift @@ -0,0 +1,35 @@ +// +// BadgesView.swift +// SimpleX (iOS) +// +// Created by spaced4ndy on 11.09.2026. +// Copyright © 2026 SimpleX Chat. All rights reserved. +// + +import SwiftUI +import SimpleXChat + +struct BadgesView: View { + @EnvironmentObject var chatModel: ChatModel + @ObservedObject private var badgeModel = BadgeModel.shared + var showsAsSheet: Bool = false + + private var shownBadge: BadgeState? { + guard badgeModel.userId == chatModel.currentUser?.userId else { return nil } + if let badgeState = badgeModel.badgeState, badgeState.shown { return badgeState } + return nil + } + + var body: some View { + Group { + if let badgeState = shownBadge { + BadgesYourBadgeView(badgeState: badgeState, showsAsSheet: showsAsSheet) + .transition(.opacity) + } else { + BadgesSupportSimplexView(showsAsSheet: showsAsSheet) + .transition(.opacity) + } + } + .animation(.default, value: shownBadge != nil) + } +} diff --git a/apps/ios/Shared/Views/Badges/BadgesYourBadgeView.swift b/apps/ios/Shared/Views/Badges/BadgesYourBadgeView.swift new file mode 100644 index 0000000000..ceb40e77cd --- /dev/null +++ b/apps/ios/Shared/Views/Badges/BadgesYourBadgeView.swift @@ -0,0 +1,93 @@ +// +// BadgesYourBadgeView.swift +// SimpleX (iOS) +// +// Created by spaced4ndy on 11.09.2026. +// Copyright © 2026 SimpleX Chat. All rights reserved. +// + +import SwiftUI +import SimpleXChat + +struct BadgesYourBadgeView: View { + @EnvironmentObject var theme: AppTheme + let badgeState: BadgeState + var showsAsSheet: Bool = false + + private var title: LocalizedStringKey { + badgeState.shown ? "Your badge" : "Support ended" + } + + // pushed, the navigation bar carries the title and animates it; as a sheet root there is no bar + // to put it in, so the title is drawn in the content, as the Support screen does + private var navTitle: LocalizedStringKey { showsAsSheet ? "" : title } + + var body: some View { + VStack(spacing: 0) { + if showsAsSheet { + Text(title) + .font(.largeTitle) + .bold() + .foregroundColor(theme.colors.primary) + .multilineTextAlignment(.center) + .fixedSize(horizontal: false, vertical: true) + .padding(.horizontal, 25) + .padding(.top, 48) + } + + List { + Section { + BadgeSummary(badgeState: badgeState) + } + Section { + Text(badgeState.paidThroughText) + } header: { + Text("Ends") + .foregroundColor(theme.colors.secondary) + } footer: { + Text("Prepaid months have no billing date. The badge is reissued each month from the balance you already paid for, and ends when it runs out.") + .foregroundColor(theme.colors.secondary) + } + } + } + .frame(maxHeight: .infinity) + .navigationTitle(navTitle) + .navigationBarTitleDisplayMode(showsAsSheet ? .inline : .large) + .modifier(ThemedBackground(grouped: true)) + } +} + +struct BadgeSummary: View { + @EnvironmentObject var theme: AppTheme + let badgeState: BadgeState + + var body: some View { + VStack(spacing: 4) { + Image(badgeImageName(badgeState.badgeType)) + .resizable() + .scaledToFit() + .frame(width: 68, height: 68) + .padding(.bottom, 8) + + badgeTypeName(badgeState.badgeType) + .font(.title3) + .fontWeight(.semibold) + + Text("shown on your profile") + .font(.footnote) + .foregroundColor(theme.colors.secondary) + } + .frame(maxWidth: .infinity) + .padding(.vertical, 8) + } +} + +// verbatim for an unknown type: it is the service's string, and must not be looked up as a localised key +private func badgeTypeName(_ t: BadgeType) -> Text { + switch t { + case .supporter: Text("Supporter") + case .legend: Text("Legend") + case .investor: Text("Investor") + case let .unknown(s): Text(verbatim: s) + } +} diff --git a/apps/ios/Shared/Views/Badges/SupportSimpleXBanner.swift b/apps/ios/Shared/Views/Badges/SupportSimpleXBanner.swift index 07bf4366d2..dad3bb1b0a 100644 --- a/apps/ios/Shared/Views/Badges/SupportSimpleXBanner.swift +++ b/apps/ios/Shared/Views/Badges/SupportSimpleXBanner.swift @@ -12,7 +12,8 @@ import SimpleXChat struct SupportSimpleXBanner: View { @EnvironmentObject var theme: AppTheme @Environment(\.colorScheme) var colorScheme: ColorScheme - @State private var showDismissAlert = false + var title: LocalizedStringKey = "Support SimpleX" + var subtitle: LocalizedStringKey = "Get badge + files up to 5GB" let onTap: () -> Void let onDismiss: () -> Void @@ -38,11 +39,11 @@ struct SupportSimpleXBanner: View { Button(action: onTap) { HStack(spacing: 0) { VStack(alignment: .leading, spacing: 4) { - Text("Support SimpleX") + Text(title) .font(.headline) .foregroundColor(theme.colors.primary) .lineLimit(2) - Text("Get badge + files up to 5GB") + Text(subtitle) .font(.subheadline) .foregroundColor(theme.colors.onBackground) .lineLimit(2) @@ -71,14 +72,7 @@ struct SupportSimpleXBanner: View { .padding(.trailing, 16) .padding(.leading, 4) .contentShape(Rectangle()) - .onTapGesture { showDismissAlert = true } - } - .alert(isPresented: $showDismissAlert) { - Alert( - title: Text("Support SimpleX"), - message: Text("You can support SimpleX later in Settings."), - dismissButton: .default(Text("Ok"), action: onDismiss) - ) + .onTapGesture(perform: onDismiss) } } diff --git a/apps/ios/Shared/Views/ChatList/ChatListView.swift b/apps/ios/Shared/Views/ChatList/ChatListView.swift index f8745a7eaf..da829a92ef 100644 --- a/apps/ios/Shared/Views/ChatList/ChatListView.swift +++ b/apps/ios/Shared/Views/ChatList/ChatListView.swift @@ -154,6 +154,7 @@ struct UserPickerSheetView: View { struct ChatListView: View { @EnvironmentObject var chatModel: ChatModel @StateObject private var connectProgressManager = ConnectProgressManager.shared + @ObservedObject private var badgeModel = BadgeModel.shared @EnvironmentObject var theme: AppTheme @Binding var activeUserPickerSheet: UserPickerSheet? @State private var showNewChatSheet = false @@ -215,7 +216,7 @@ struct ChatListView: View { } .appSheet(isPresented: $showBadgesSheet) { NavigationView { - BadgesSupportSimplexView(showsAsSheet: true) + BadgesView(showsAsSheet: true) .modifier(ThemedBackground()) } } @@ -371,8 +372,38 @@ struct ChatListView: View { } } + // the onboarding cards replace the whole chat list, and the support-ended banner lives in the + // list - a lapsed supporter is not a newcomer, and must be told even with no conversations yet private var shouldShowOnboarding: Bool { - !addressCreationCardShown && !chatModel.chats.isEmpty && !hasConversations + !addressCreationCardShown && !chatModel.chats.isEmpty && !hasConversations && !supportEnded + } + + private var supportEnded: Bool { + badgeModel.alert?.kind == .supportEnded && badgeModel.userId == chatModel.currentUser?.userId + } + + private func showSupportEndedDismissAlert() { + showAlert(NSLocalizedString("Support ended", comment: "alert title")) { + [ + UIAlertAction(title: NSLocalizedString("Remind me later", comment: "alert button"), style: .default) { _ in + Task { await ackBadgeAlert(snooze: true) } + }, + UIAlertAction(title: NSLocalizedString("Dismiss", comment: "alert button"), style: .default) { _ in + Task { await ackBadgeAlert(snooze: false) } + }, + cancelAlertAction + ] + } + } + + private func showSupportSimpleXDismissAlert() { + showAlert( + title: NSLocalizedString("Support SimpleX", comment: "alert title"), + message: NSLocalizedString("You can support SimpleX later in Settings.", comment: "alert message"), + buttonTitle: NSLocalizedString("Ok", comment: "alert button"), + buttonAction: { withAnimation { supporterBannerShown = true } }, + cancelButton: false + ) } private var hasConversations: Bool { @@ -426,10 +457,23 @@ struct ChatListView: View { .listRowSeparator(.hidden) .listRowBackground(Color.clear) } - if !supporterBannerShown && chatModel.chats.count > 3 { + // one slot: a badge the user paid for ending outranks the pitch to get one + if supportEnded, let alert = badgeModel.alert { + SupportSimpleXBanner( + title: "Support ended", + subtitle: "Your support ended on \(alert.dateText).", + onTap: { showBadgesSheet = true }, + onDismiss: showSupportEndedDismissAlert + ) + .padding(.vertical, 3) + .scaleEffect(x: 1, y: oneHandUI ? -1 : 1, anchor: .center) + .listRowSeparator(.hidden) + .listRowBackground(Color.clear) + .zIndex(1) + } else if !supporterBannerShown && chatModel.chats.count > 3 { SupportSimpleXBanner( onTap: { showBadgesSheet = true }, - onDismiss: { withAnimation { supporterBannerShown = true } } + onDismiss: showSupportSimpleXDismissAlert ) .padding(.vertical, 3) .scaleEffect(x: 1, y: oneHandUI ? -1 : 1, anchor: .center) @@ -537,7 +581,7 @@ struct ChatListView: View { VoiceItemState.smallView.values.forEach { $0.audioPlayer?.stop() } VoiceItemState.smallView = [:] } - + // Spec: spec/client/chat-list.md#filteredChats private func filteredChats() -> [Chat] { if !searchChatFilteredBySimplexLink.isEmpty { diff --git a/apps/ios/Shared/Views/ChatList/UserPicker.swift b/apps/ios/Shared/Views/ChatList/UserPicker.swift index 8c230dc56a..a25ebf3419 100644 --- a/apps/ios/Shared/Views/ChatList/UserPicker.swift +++ b/apps/ios/Shared/Views/ChatList/UserPicker.swift @@ -42,7 +42,8 @@ struct UserPicker: View { HStack { ProfileImage(imageStr: user.image, size: imageSize, color: Color(uiColor: .tertiarySystemGroupedBackground)) .padding(.trailing, 6) - profileName(user).lineLimit(1) + NameWithBadge(profileName(user), user.profile.localBadge, .title2) + .lineLimit(1) } .padding(rowPadding) .frame(width: otherUsers.isEmpty ? sectionWidth : currentUserWidth, alignment: .leading) diff --git a/apps/ios/Shared/Views/NewChat/NewChatView.swift b/apps/ios/Shared/Views/NewChat/NewChatView.swift index f938fb0063..ef691b10f9 100644 --- a/apps/ios/Shared/Views/NewChat/NewChatView.swift +++ b/apps/ios/Shared/Views/NewChat/NewChatView.swift @@ -739,6 +739,7 @@ struct ScannerInView: View { let processQRCode: (_ resp: Result) -> Void @State private var cameraAuthorizationStatus: AVAuthorizationStatus? var scanMode: ScanMode = .continuous + var placeholderBackground = Color(uiColor: .secondarySystemGroupedBackground) var body: some View { Group { @@ -777,7 +778,7 @@ struct ScannerInView: View { .padding() .background( RoundedRectangle(cornerRadius: 12, style: .continuous) - .fill(Color(uiColor: .secondarySystemGroupedBackground)) + .fill(placeholderBackground) ) .padding(.horizontal) .listRowBackground(Color.clear) diff --git a/apps/ios/Shared/Views/Onboarding/WhatsNewView.swift b/apps/ios/Shared/Views/Onboarding/WhatsNewView.swift index bb5f4cdc48..2fd21e39dd 100644 --- a/apps/ios/Shared/Views/Onboarding/WhatsNewView.swift +++ b/apps/ios/Shared/Views/Onboarding/WhatsNewView.swift @@ -698,7 +698,8 @@ private let versionDescriptions: [VersionDescription] = [ )) ] ), - // TODO [badges] finalise copy + Read more link before v7.1 ships. + // TODO [badges] restore when badges ship, with final copy and the Read more link. + /* VersionDescription( version: "v7.1", post: nil, @@ -710,6 +711,7 @@ private let versionDescriptions: [VersionDescription] = [ )) ] ), + */ ] private let lastVersion = versionDescriptions.last!.version diff --git a/apps/ios/Shared/Views/UserSettings/SettingsView.swift b/apps/ios/Shared/Views/UserSettings/SettingsView.swift index 7dbe517a1f..767acade71 100644 --- a/apps/ios/Shared/Views/UserSettings/SettingsView.swift +++ b/apps/ios/Shared/Views/UserSettings/SettingsView.swift @@ -346,11 +346,12 @@ struct SettingsView: View { Section { NavigationLink { - BadgesSupportSimplexView() + BadgesView() .modifier(ThemedBackground()) } label: { + let badgeType = chatModel.currentUser?.profile.localBadge?.badge.badgeType ?? .supporter ZStack(alignment: .leading) { - Image("badge-supporter") + Image(badgeImageName(badgeType)) .resizable() .scaledToFit() .frame(width: 24, height: 24) diff --git a/apps/ios/Shared/Views/UserSettings/UserProfilesView.swift b/apps/ios/Shared/Views/UserSettings/UserProfilesView.swift index 3f3adbcb2d..890c672bcd 100644 --- a/apps/ios/Shared/Views/UserSettings/UserProfilesView.swift +++ b/apps/ios/Shared/Views/UserSettings/UserProfilesView.swift @@ -346,7 +346,7 @@ struct UserProfilesView: View { HStack { ProfileImage(imageStr: user.image, size: 38) .padding(.trailing, 12) - Text(user.chatViewName) + NameWithBadge(Text(user.chatViewName), user.profile.localBadge) Spacer() if user.activeUser { Image(systemName: "checkmark").foregroundColor(theme.colors.onBackground) diff --git a/apps/ios/SimpleX.xcodeproj/project.pbxproj b/apps/ios/SimpleX.xcodeproj/project.pbxproj index 9315416e16..6dba849f5d 100644 --- a/apps/ios/SimpleX.xcodeproj/project.pbxproj +++ b/apps/ios/SimpleX.xcodeproj/project.pbxproj @@ -191,8 +191,8 @@ 64C3B0212A0D359700E19930 /* CustomTimePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C3B0202A0D359700E19930 /* CustomTimePicker.swift */; }; 64C8299D2D54AEEE006B9E89 /* libgmp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C829982D54AEED006B9E89 /* libgmp.a */; }; 64C8299E2D54AEEE006B9E89 /* libffi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C829992D54AEEE006B9E89 /* libffi.a */; }; - 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS-ghc9.6.3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS-ghc9.6.3.a */; }; - 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS.a */; }; + 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ-ghc9.6.3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ-ghc9.6.3.a */; }; + 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ.a */; }; 64C829A12D54AEEE006B9E89 /* libgmpxx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299C2D54AEEE006B9E89 /* libgmpxx.a */; }; 64D0C2C029F9688300B38D5F /* UserAddressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D0C2BF29F9688300B38D5F /* UserAddressView.swift */; }; 64D0C2C229FA57AB00B38D5F /* UserAddressLearnMore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D0C2C129FA57AB00B38D5F /* UserAddressLearnMore.swift */; }; @@ -200,6 +200,8 @@ 64E5E3632DF71A4E00A4D530 /* ContextContactRequestActionsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64E5E3622DF71A4E00A4D530 /* ContextContactRequestActionsView.swift */; }; 64E5E3672DFC16A900A4D530 /* ContextProfilePickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64E5E3662DFC16A900A4D530 /* ContextProfilePickerView.swift */; }; 64E972072881BB22008DBC02 /* CIGroupInvitationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64E972062881BB22008DBC02 /* CIGroupInvitationView.swift */; }; + 64EB8A99305405C60089FFDF /* BadgesYourBadgeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64EB8A98305405C60089FFDF /* BadgesYourBadgeView.swift */; }; + 64EB8A9B3054347A0089FFDF /* BadgesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64EB8A9A3054347A0089FFDF /* BadgesView.swift */; }; 64EEB0F72C353F1C00972D62 /* ServersSummaryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64EEB0F62C353F1C00972D62 /* ServersSummaryView.swift */; }; 64F1CC3B28B39D8600CD1FB1 /* IncognitoHelp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64F1CC3A28B39D8600CD1FB1 /* IncognitoHelp.swift */; }; 64FC8F9D2E3B6DEF0068F384 /* ContextMemberContactActionsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64FC8F9C2E3B6DEF0068F384 /* ContextMemberContactActionsView.swift */; }; @@ -580,8 +582,8 @@ 64C3B0202A0D359700E19930 /* CustomTimePicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomTimePicker.swift; sourceTree = ""; }; 64C829982D54AEED006B9E89 /* libgmp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgmp.a; sourceTree = ""; }; 64C829992D54AEEE006B9E89 /* libffi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libffi.a; sourceTree = ""; }; - 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS-ghc9.6.3.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS-ghc9.6.3.a"; sourceTree = ""; }; - 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS.a"; sourceTree = ""; }; + 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ-ghc9.6.3.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ-ghc9.6.3.a"; sourceTree = ""; }; + 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ.a"; sourceTree = ""; }; 64C8299C2D54AEEE006B9E89 /* libgmpxx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgmpxx.a; sourceTree = ""; }; 64D0C2BF29F9688300B38D5F /* UserAddressView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserAddressView.swift; sourceTree = ""; }; 64D0C2C129FA57AB00B38D5F /* UserAddressLearnMore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserAddressLearnMore.swift; sourceTree = ""; }; @@ -590,6 +592,8 @@ 64E5E3622DF71A4E00A4D530 /* ContextContactRequestActionsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContextContactRequestActionsView.swift; sourceTree = ""; }; 64E5E3662DFC16A900A4D530 /* ContextProfilePickerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContextProfilePickerView.swift; sourceTree = ""; }; 64E972062881BB22008DBC02 /* CIGroupInvitationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CIGroupInvitationView.swift; sourceTree = ""; }; + 64EB8A98305405C60089FFDF /* BadgesYourBadgeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgesYourBadgeView.swift; sourceTree = ""; }; + 64EB8A9A3054347A0089FFDF /* BadgesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgesView.swift; sourceTree = ""; }; 64EEB0F62C353F1C00972D62 /* ServersSummaryView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServersSummaryView.swift; sourceTree = ""; }; 64F1CC3A28B39D8600CD1FB1 /* IncognitoHelp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IncognitoHelp.swift; sourceTree = ""; }; 64FC8F9C2E3B6DEF0068F384 /* ContextMemberContactActionsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContextMemberContactActionsView.swift; sourceTree = ""; }; @@ -752,8 +756,8 @@ 64C8299D2D54AEEE006B9E89 /* libgmp.a in Frameworks */, 64C8299E2D54AEEE006B9E89 /* libffi.a in Frameworks */, 64C829A12D54AEEE006B9E89 /* libgmpxx.a in Frameworks */, - 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS-ghc9.6.3.a in Frameworks */, - 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS.a in Frameworks */, + 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ-ghc9.6.3.a in Frameworks */, + 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ.a in Frameworks */, CE38A29C2C3FCD72005ED185 /* SwiftyGif in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -840,8 +844,8 @@ 64C829992D54AEEE006B9E89 /* libffi.a */, 64C829982D54AEED006B9E89 /* libgmp.a */, 64C8299C2D54AEEE006B9E89 /* libgmpxx.a */, - 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS-ghc9.6.3.a */, - 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-4q834kD5SZSFNbM5stNfdS.a */, + 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ-ghc9.6.3.a */, + 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.4-JuaCEFy75SxELqTayb7fbQ.a */, ); path = Libraries; sourceTree = ""; @@ -1208,6 +1212,7 @@ 64C03BF8302F423300072BDE /* Badges */ = { isa = PBXGroup; children = ( + 64EB8A9A3054347A0089FFDF /* BadgesView.swift */, 64C03BF0302F423300072BDE /* BadgesHowItWorksView.swift */, 64C03BF1302F423300072BDE /* BadgesPayView.swift */, 64C03BF2302F423300072BDE /* BadgesRedeemCodeView.swift */, @@ -1216,6 +1221,7 @@ 64C03BF5302F423300072BDE /* BadgesYourLevelView.swift */, 64C03BF6302F423300072BDE /* BadgeUserPreview.swift */, 64C03BF7302F423300072BDE /* SupportSimpleXBanner.swift */, + 64EB8A98305405C60089FFDF /* BadgesYourBadgeView.swift */, ); path = Badges; sourceTree = ""; @@ -1685,6 +1691,7 @@ 8C9BC2652C240D5200875A27 /* ThemeModeEditor.swift in Sources */, 647B15E82F4C8D2500EB431E /* AddChannelView.swift in Sources */, 6495D7062F48CFFD0060512B /* ChannelRelaysView.swift in Sources */, + 64EB8A9B3054347A0089FFDF /* BadgesView.swift in Sources */, E5E418022F83D2CA00252B9E /* ChannelWebAccessView.swift in Sources */, 6495D7082F48D0000060512B /* AddGroupRelayView.swift in Sources */, 5CB346E92869E8BA001FD2EF /* PushEnvironment.swift in Sources */, @@ -1731,6 +1738,7 @@ 644EFFE42937BE9700525D5B /* MarkedDeletedItemView.swift in Sources */, 6495D7042F48CFC50060512B /* ChannelMembersView.swift in Sources */, 1841594C978674A7B42EF0C0 /* AnimatedImageView.swift in Sources */, + 64EB8A99305405C60089FFDF /* BadgesYourBadgeView.swift in Sources */, 5C7031162953C97F00150A12 /* CIFeaturePreferenceView.swift in Sources */, 1841538E296606C74533367C /* UserPicker.swift in Sources */, 18415B0585EB5A9A0A7CA8CD /* PressedButtonStyle.swift in Sources */, diff --git a/apps/ios/SimpleXChat/API.swift b/apps/ios/SimpleXChat/API.swift index 6bf46fb0dd..09609ab7fd 100644 --- a/apps/ios/SimpleXChat/API.swift +++ b/apps/ios/SimpleXChat/API.swift @@ -163,6 +163,14 @@ public func chatJsonLength(_ s: String) -> Int { return Int(chat_json_length(&c)) } +// The code as core will accept it - prefix and 20 characters, no separators - or nil if it does not +// parse. Validity is decided only here: a second check-character implementation would drift. +public func parseBadgeCode(_ s: String) -> String? { + var c = s.cString(using: .utf8)! + let canonical = fromCString(chat_parse_badge_code(&c)!) + return canonical.isEmpty ? nil : canonical +} + struct ParsedMarkdown: Decodable { var formattedText: [FormattedText]? } diff --git a/apps/ios/SimpleXChat/ChatTypes.swift b/apps/ios/SimpleXChat/ChatTypes.swift index da758e8100..b8f6fd0bb0 100644 --- a/apps/ios/SimpleXChat/ChatTypes.swift +++ b/apps/ios/SimpleXChat/ChatTypes.swift @@ -305,7 +305,7 @@ public struct BadgeInfo: Codable, Hashable { public var badgeExpiry: Date public var badgeExtra: String - public init(badgeType: BadgeType, badgeExpiry: Date? = nil, badgeExtra: String = "") { + public init(badgeType: BadgeType, badgeExpiry: Date, badgeExtra: String = "") { self.badgeType = badgeType self.badgeExpiry = badgeExpiry self.badgeExtra = badgeExtra @@ -322,6 +322,92 @@ public struct LocalBadge: Codable, Hashable { } } +// paidThrough is the only date to show the user: BadgeInfo.badgeExpiry is the credential's expiry, +// which outlives entitlement so the credential's window can cover a renewal. +public struct BadgeState: Codable, Hashable { + public var badgePurchaseId: Int64 + public var badgeType: BadgeType + public var shown: Bool + public var monthsLeft: Int + public var paidThrough: Date + public var renewsAt: Date? + public var willRenew: Bool + public var alert: BadgeAlert? + + public var paidThroughText: String { badgeDateText(paidThrough) } +} + +public struct BadgeAlert: Codable, Hashable { + public var kind: BadgeAlertKind + public var episode: String + public var date: Date + public var price: BadgeAlertPrice? + + public var dateText: String { badgeDateText(date) } +} + +private func badgeDateText(_ date: Date) -> String { + DateFormatter.localizedString(from: date, dateStyle: .long, timeStyle: .none) +} + +public struct BadgeAlertPrice: Hashable { + public var amount: Int64 + public var currency: String +} + +extension BadgeAlertPrice: Codable { + // encoded as the Haskell tuple it comes from: [amount, currency] + public init(from decoder: Decoder) throws { + var c = try decoder.unkeyedContainer() + amount = try c.decode(Int64.self) + currency = try c.decode(String.self) + } + + public func encode(to encoder: Encoder) throws { + var c = encoder.unkeyedContainer() + try c.encode(amount) + try c.encode(currency) + } +} + +public enum BadgeAlertKind: Hashable { + case renewalApproaching + case paymentIssue + case subscriptionEnded + case prepaidEnding + case supportEnded + case unknown(String) + + public var text: String { + switch self { + case .renewalApproaching: "renewal_approaching" + case .paymentIssue: "payment_issue" + case .subscriptionEnded: "subscription_ended" + case .prepaidEnding: "prepaid_ending" + case .supportEnded: "support_ended" + case let .unknown(s): s + } + } +} + +extension BadgeAlertKind: Codable { + public init(from decoder: Decoder) throws { + switch try decoder.singleValueContainer().decode(String.self) { + case "renewal_approaching": self = .renewalApproaching + case "payment_issue": self = .paymentIssue + case "subscription_ended": self = .subscriptionEnded + case "prepaid_ending": self = .prepaidEnding + case "support_ended": self = .supportEnded + case let s: self = .unknown(s) + } + } + + public func encode(to encoder: Encoder) throws { + var c = encoder.singleValueContainer() + try c.encode(text) + } +} + // the wire proof carried on a profile - opaque to the UI, only round-tripped back to the core (apiPrepareContact) public struct BadgeProof: Codable, Hashable { public var badgeKeyIdx: Int diff --git a/apps/ios/SimpleXChat/SimpleX.h b/apps/ios/SimpleXChat/SimpleX.h index 5a3541e06d..543dc258e4 100644 --- a/apps/ios/SimpleXChat/SimpleX.h +++ b/apps/ios/SimpleXChat/SimpleX.h @@ -27,6 +27,8 @@ extern char *chat_parse_server(char *str); extern char *chat_parse_uri(char *str, int safe); extern char *chat_password_hash(char *pwd, char *salt); extern char *chat_valid_name(char *name); +// returns the canonical form of a badge code, or an empty string if it does not parse +extern char *chat_parse_badge_code(char *code); extern int chat_json_length(char *str); extern char *chat_encrypt_media(chat_ctrl ctl, char *key, char *frame, int len); extern char *chat_decrypt_media(char *key, char *frame, int len); diff --git a/apps/multiplatform/android/src/foss/java/chat/simplex/app/PlayStore.kt b/apps/multiplatform/android/src/foss/java/chat/simplex/app/PlayStore.kt index bf4a3fb71d..1d8fc5e151 100644 --- a/apps/multiplatform/android/src/foss/java/chat/simplex/app/PlayStore.kt +++ b/apps/multiplatform/android/src/foss/java/chat/simplex/app/PlayStore.kt @@ -9,6 +9,8 @@ import chat.simplex.common.views.badges.BadgeStoreProductId // Play Billing is only in the google flavor, so the Play country stays unknown here fun loadPlayStoreCountry() {} +const val hasPlatformStore = false + // No store in this flavor: no product is offered, so the purchase screen shows nothing to buy // TODO [badges] this build pays via Stripe/crypto - the badge service catalog replaces these @Suppress("UNUSED_PARAMETER") diff --git a/apps/multiplatform/android/src/google/java/chat/simplex/app/PlayStore.kt b/apps/multiplatform/android/src/google/java/chat/simplex/app/PlayStore.kt index 14e8fc470c..4075421e52 100644 --- a/apps/multiplatform/android/src/google/java/chat/simplex/app/PlayStore.kt +++ b/apps/multiplatform/android/src/google/java/chat/simplex/app/PlayStore.kt @@ -10,6 +10,8 @@ import kotlinx.coroutines.CompletableDeferred import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext +const val hasPlatformStore = true + // Requests the country of the Google Play account into [androidPlayStoreCountry]. // It stays null when Play is unavailable or the user is not signed in. fun loadPlayStoreCountry() { diff --git a/apps/multiplatform/android/src/main/java/chat/simplex/app/SimplexApp.kt b/apps/multiplatform/android/src/main/java/chat/simplex/app/SimplexApp.kt index 9826908e77..1a4c836b2e 100644 --- a/apps/multiplatform/android/src/main/java/chat/simplex/app/SimplexApp.kt +++ b/apps/multiplatform/android/src/main/java/chat/simplex/app/SimplexApp.kt @@ -346,6 +346,8 @@ class SimplexApp: Application(), LifecycleEventObserver { override fun androidLoadPlayStoreCountry() = loadPlayStoreCountry() + override val androidHasPlatformStore: Boolean get() = hasPlatformStore + override suspend fun androidLoadBadgeProducts(oneTimeIds: List, subscriptionIds: List): List = loadBadgeProducts(oneTimeIds, subscriptionIds) override suspend fun androidPurchaseBadge(id: BadgeStoreProductId, invoiceId: String): BadgePurchaseOutcome = purchaseBadge(id, invoiceId) diff --git a/apps/multiplatform/common/src/commonMain/cpp/android/simplex-api.c b/apps/multiplatform/common/src/commonMain/cpp/android/simplex-api.c index fd7f71d49c..c0497daacb 100644 --- a/apps/multiplatform/common/src/commonMain/cpp/android/simplex-api.c +++ b/apps/multiplatform/common/src/commonMain/cpp/android/simplex-api.c @@ -67,6 +67,7 @@ extern char *chat_parse_server(const char *str); extern char *chat_parse_uri(const char *str, const int safe); extern char *chat_password_hash(const char *pwd, const char *salt); extern char *chat_valid_name(const char *name); +extern char *chat_parse_badge_code(const char *code); extern int chat_json_length(const char *str); extern char *chat_write_file(chat_ctrl ctrl, const char *path, char *ptr, int length); extern char *chat_read_file(const char *path, const char *key, const char *nonce); @@ -173,6 +174,14 @@ Java_chat_simplex_common_platform_CoreKt_chatValidName(JNIEnv *env, jclass clazz return res; } +JNIEXPORT jstring JNICALL +Java_chat_simplex_common_platform_CoreKt_chatParseBadgeCode(JNIEnv *env, jclass clazz, jstring code) { + const char *_code = (*env)->GetStringUTFChars(env, code, JNI_FALSE); + jstring res = (*env)->NewStringUTF(env, chat_parse_badge_code(_code)); + (*env)->ReleaseStringUTFChars(env, code, _code); + return res; +} + JNIEXPORT int JNICALL Java_chat_simplex_common_platform_CoreKt_chatJsonLength(JNIEnv *env, jclass clazz, jstring str) { const char *_str = (*env)->GetStringUTFChars(env, str, JNI_FALSE); diff --git a/apps/multiplatform/common/src/commonMain/cpp/desktop/simplex-api.c b/apps/multiplatform/common/src/commonMain/cpp/desktop/simplex-api.c index 9844a5927d..6bb6ffbe97 100644 --- a/apps/multiplatform/common/src/commonMain/cpp/desktop/simplex-api.c +++ b/apps/multiplatform/common/src/commonMain/cpp/desktop/simplex-api.c @@ -40,6 +40,7 @@ extern char *chat_parse_server(const char *str); extern char *chat_parse_uri(const char *str, const int safe); extern char *chat_password_hash(const char *pwd, const char *salt); extern char *chat_valid_name(const char *name); +extern char *chat_parse_badge_code(const char *code); extern int chat_json_length(const char *str); extern char *chat_write_file(chat_ctrl ctrl, const char *path, char *ptr, int length); extern char *chat_read_file(const char *path, const char *key, const char *nonce); @@ -183,6 +184,14 @@ Java_chat_simplex_common_platform_CoreKt_chatValidName(JNIEnv *env, jclass clazz return res; } +JNIEXPORT jstring JNICALL +Java_chat_simplex_common_platform_CoreKt_chatParseBadgeCode(JNIEnv *env, jclass clazz, jstring code) { + const char *_code = encode_to_utf8_chars(env, code); + jstring res = decode_to_utf8_string(env, chat_parse_badge_code(_code)); + (*env)->ReleaseStringUTFChars(env, code, _code); + return res; +} + JNIEXPORT int JNICALL Java_chat_simplex_common_platform_CoreKt_chatJsonLength(JNIEnv *env, jclass clazz, jstring str) { const char *_str = encode_to_utf8_chars(env, str); diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt index 5e5a91f6a7..f033c0963e 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt @@ -102,6 +102,34 @@ object ChannelRelaysModel { } } +// The badge of whichever profile it was last loaded for, kept current by the badgeChanged event so +// that a screen already open shows what the renewal worker did with no command behind it. +object BadgeModel { + val rhId = mutableStateOf(null) + val userId = mutableStateOf(null) + val badgeState = mutableStateOf(null) + val alert = mutableStateOf(null) + + // alert follows the state: getUserBadgeState derives it on every read, so a badgeChanged is + // never staler than the alert it carries - the invariant a new alert kind must keep + fun set(rhId: Long?, userId: Long, badgeState: BadgeState?) { + this.rhId.value = rhId + this.userId.value = userId + this.badgeState.value = badgeState + alert.value = badgeState?.alert + } + + fun setAlert(rhId: Long?, userId: Long, alert: BadgeAlert) { + if (isCurrent(rhId, userId)) { + this.alert.value = alert + badgeState.value = badgeState.value?.copy(alert = alert) + } + } + + fun isCurrent(rhId: Long?, userId: Long?): Boolean = + this.rhId.value == rhId && this.userId.value == userId +} + /* * Without this annotation an animation from ChatList to ChatView has 1 frame per the whole animation. Don't delete it * */ @@ -2192,6 +2220,88 @@ data class LocalBadge( val status: BadgeStatus ) +// paidThrough is the only date to show the user: BadgeInfo.badgeExpiry is the credential's expiry, +// which outlives entitlement so the credential's window can cover a renewal. +@Serializable +data class BadgeState( + val badgePurchaseId: Long, + val badgeType: BadgeType, + val shown: Boolean, + val monthsLeft: Int, + val paidThrough: Instant, + val renewsAt: Instant? = null, + val willRenew: Boolean, + val alert: BadgeAlert? = null +) { + val paidThroughText: String get() = badgeDateText(paidThrough) +} + +@Serializable +data class BadgeAlert( + val kind: BadgeAlertKind, + val episode: String, + val date: Instant, + val price: BadgeAlertPrice? = null +) { + val dateText: String get() = badgeDateText(date) +} + +@Serializable(with = BadgeAlertPriceSerializer::class) +data class BadgeAlertPrice(val amount: Long, val currency: String) + +// encoded as the Haskell tuple it comes from: [amount, currency] +object BadgeAlertPriceSerializer : KSerializer { + override val descriptor: SerialDescriptor = buildClassSerialDescriptor("BadgeAlertPrice") + override fun deserialize(decoder: Decoder): BadgeAlertPrice { + require(decoder is JsonDecoder) + val arr = decoder.decodeJsonElement().jsonArray + return BadgeAlertPrice(arr[0].jsonPrimitive.long, arr[1].jsonPrimitive.content) + } + override fun serialize(encoder: Encoder, value: BadgeAlertPrice) { + require(encoder is JsonEncoder) + encoder.encodeJsonElement(buildJsonArray { add(value.amount); add(value.currency) }) + } +} + +@Serializable(with = BadgeAlertKindSerializer::class) +sealed class BadgeAlertKind { + @Serializable @SerialName("renewal_approaching") object RenewalApproaching: BadgeAlertKind() + @Serializable @SerialName("payment_issue") object PaymentIssue: BadgeAlertKind() + @Serializable @SerialName("subscription_ended") object SubscriptionEnded: BadgeAlertKind() + @Serializable @SerialName("prepaid_ending") object PrepaidEnding: BadgeAlertKind() + @Serializable @SerialName("support_ended") object SupportEnded: BadgeAlertKind() + @Serializable @SerialName("unknown") data class Unknown(val kind: String): BadgeAlertKind() + + val text: String + get() = when (this) { + is RenewalApproaching -> "renewal_approaching" + is PaymentIssue -> "payment_issue" + is SubscriptionEnded -> "subscription_ended" + is PrepaidEnding -> "prepaid_ending" + is SupportEnded -> "support_ended" + is Unknown -> kind + } +} + +object BadgeAlertKindSerializer : KSerializer { + override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("BadgeAlertKind", PrimitiveKind.STRING) + override fun deserialize(decoder: Decoder): BadgeAlertKind = + when (val v = decoder.decodeString()) { + "renewal_approaching" -> BadgeAlertKind.RenewalApproaching + "payment_issue" -> BadgeAlertKind.PaymentIssue + "subscription_ended" -> BadgeAlertKind.SubscriptionEnded + "prepaid_ending" -> BadgeAlertKind.PrepaidEnding + "support_ended" -> BadgeAlertKind.SupportEnded + else -> BadgeAlertKind.Unknown(v) + } + override fun serialize(encoder: Encoder, value: BadgeAlertKind) = encoder.encodeString(value.text) +} + +private fun badgeDateText(date: Instant): String { + val ts = date.toLocalDateTime(TimeZone.currentSystemDefault()) + return ts.toJavaLocalDateTime().format(DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG)) +} + // the wire proof carried on a profile - opaque to the UI, only round-tripped back to the core (apiPrepareContact) @Serializable data class BadgeProof( diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt index 1865948530..ed787cf266 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt @@ -562,6 +562,94 @@ object ChatController { suspend fun resetAgentServersStats(rh: Long?): Boolean = sendCommandOkResp(rh, CC.ResetAgentServersStats()) + fun badgeRedeemError(error: ChatError): BadgeRedeemError { + // the app's own classifier decides what counts as a network failure; only the classification is + // used here, not its retry policy - a client that retries makes code guessing cheaper + if (retryableNetworkErrorAlert(error) != null) return BadgeRedeemError.NetworkError + if (error !is ChatError.ChatErrorChat || error.errorType !is ChatErrorType.CommandError) return BadgeRedeemError.Unknown + val message = error.errorType.message + when (message) { + BadgeErrorText.invalidCode -> return BadgeRedeemError.InvalidCode + BadgeErrorText.serviceNotConfigured -> return BadgeRedeemError.ServiceNotConfigured + BadgeErrorText.alreadyActive -> return BadgeRedeemError.AlreadyActive + BadgeErrorText.unknownKeyIndex, BadgeErrorText.credentialNotVerified -> return BadgeRedeemError.CredentialNotVerified + BadgeErrorText.undecodableResponse -> return BadgeRedeemError.BadServiceResponse + } + if (message.startsWith(BadgeErrorText.invalidResponse) || message.startsWith(BadgeErrorText.unexpectedResponse)) { + return BadgeRedeemError.BadServiceResponse + } + if (message.startsWith(BadgeErrorText.serviceError)) { + return badgeServiceError(message.removePrefix(BadgeErrorText.serviceError)) + } + return BadgeRedeemError.Unknown + } + + // the service's own tag, which core bounds to [a-z0-9_] and 32 characters and which is never shown + private fun badgeServiceError(tag: String): BadgeRedeemError = when (tag) { + "code_invalid" -> BadgeRedeemError.CodeInvalid + "code_used" -> BadgeRedeemError.CodeUsed + "code_expired" -> BadgeRedeemError.CodeExpired + "rate_limited" -> BadgeRedeemError.RateLimited + // retrying never succeeds: the client is too old for the service + "unsupported_version" -> BadgeRedeemError.UnsupportedVersion + else -> BadgeRedeemError.ServiceFailed + } + + // log = false because the code is a bearer secret until it is redeemed - it is in the command, and a + // service response echoed into an error message would carry it into the terminal with the response. + suspend fun apiRedeemBadgeCode(rh: Long?, userId: Long, code: String): BadgeRedeemResult { + val r = sendCmd(rh, CC.ApiRedeemBadgeCode(userId, code), log = false) + return when { + // redeemedBadge is dropped: it is the credential, and the user's profile carries what is shown + r is API.Result && r.res is CR.BadgeRedeemed -> BadgeRedeemResult.Redeemed(r.res.user, r.res.newBadge) + r is API.Error -> BadgeRedeemResult.Failed(badgeRedeemError(r.err)) + else -> { + // the response type alone - it names a case or a JSON key, never the service's message + Log.e(TAG, "apiRedeemBadgeCode: unexpected ${r.responseType}") + BadgeRedeemResult.Failed(BadgeRedeemError.Unknown) + } + } + } + + suspend fun apiGetBadgeState(rh: Long?, userId: Long): BadgeState? { + val r = sendCmd(rh, CC.ApiGetBadgeState(userId)) + if (r is API.Result && r.res is CR.BadgeStateR) return r.res.badgeState + throw Exception("apiGetBadgeState: unexpected ${r.responseType}") + } + + suspend fun apiAckBadgeAlert(rh: Long?, userId: Long, badgePurchaseId: Long, alertKind: BadgeAlertKind, snooze: Boolean, episode: String): BadgeState? { + val r = sendCmd(rh, CC.ApiAckBadgeAlert(userId, badgePurchaseId, alertKind, snooze, episode)) + if (r is API.Result && r.res is CR.BadgeStateR) return r.res.badgeState + throw Exception("apiAckBadgeAlert: unexpected ${r.responseType}") + } + + // An API call and not a stored flag: the ack is kept on the purchase in core, which then stops + // raising this occurrence on every pass and across restarts, or until a snooze lapses. + suspend fun ackBadgeAlert(snooze: Boolean) { + val rhId = BadgeModel.rhId.value + val userId = BadgeModel.userId.value ?: return + val purchaseId = BadgeModel.badgeState.value?.badgePurchaseId ?: return + val alert = BadgeModel.alert.value ?: return + try { + val badgeState = apiAckBadgeAlert(rhId, userId, purchaseId, alert.kind, snooze = snooze, episode = alert.episode) + withContext(Dispatchers.Main) { BadgeModel.set(rhId, userId, badgeState) } + } catch (e: Exception) { + Log.e(TAG, "ackBadgeAlert: ${e.message}") + } + } + + // Not thrown: a failed badge read must not stop the app starting, and the model is left alone + // rather than set to nil, which would read as "no badge". + private suspend fun loadBadgeState(rhId: Long?) { + try { + val userId = currentUserId("loadBadgeState") + val badgeState = apiGetBadgeState(rhId, userId) + withContext(Dispatchers.Main) { BadgeModel.set(rhId, userId, badgeState) } + } catch (e: Exception) { + Log.e(TAG, "loadBadgeState: ${e.message}") + } + } + private suspend fun currentUserId(funcName: String): Long = changingActiveUserMutex.withLock { val userId = chatModel.currentUser.value?.userId if (userId == null) { @@ -683,6 +771,7 @@ object ChatController { chatModel.userTags.value = if (hasUser) apiGetChatTags(rhId) ?: emptyList() else emptyList() chatModel.activeChatTagFilter.value = null chatModel.updateChatTags(rhId) + if (hasUser) loadBadgeState(rhId) } // Spec: spec/api.md#startReceiver @@ -3475,6 +3564,20 @@ object ChatController { chatModel.chatsContext.updateContact(rhId, r.contact) } } + is CR.BadgeChanged -> + if (active(r.user)) { + withContext(Dispatchers.Main) { + // read by core after retiring or presenting, so it carries the profile badge as changed + chatModel.updateUser(r.user) + BadgeModel.set(rhId, r.user.userId, r.badgeState) + } + } + is CR.BadgeAlertR -> + if (active(r.user)) { + withContext(Dispatchers.Main) { + BadgeModel.setAlert(rhId, r.user.userId, r.badgeAlert) + } + } else -> Log.d(TAG , "unsupported event: ${msg.responseType}") } @@ -3772,6 +3875,43 @@ class SharedPreference(val get: () -> T, set: (T) -> Unit) { } } +// The failures redeemBadgeCode raises, as core flattens them to command error text. +// tests/Bots/BadgeServiceTests.hs asserts that text, so a change in core breaks a test there. +enum class BadgeRedeemError { + InvalidCode, + ServiceNotConfigured, + AlreadyActive, + CodeInvalid, + CodeUsed, + CodeExpired, + RateLimited, + ServiceFailed, + BadServiceResponse, + CredentialNotVerified, + UnsupportedVersion, + NetworkError, + BadgeEnded, + Unknown +} + +private object BadgeErrorText { + const val invalidCode = "invalid badge code" + const val serviceNotConfigured = "badge service not configured" + const val alreadyActive = "badge already active" + const val unknownKeyIndex = "unknown badge key index" + const val credentialNotVerified = "badge credential does not verify against configured key" + const val invalidResponse = "invalid badge service response, " + const val unexpectedResponse = "unexpected badge service response: " + const val serviceError = "badge service error: " + // raised by sendServiceRequestTo, not by redeemBadgeCode itself, when the reply is not JSON + const val undecodableResponse = "invalid service response" +} + +sealed class BadgeRedeemResult { + class Redeemed(val user: User, val newBadge: Boolean): BadgeRedeemResult() + class Failed(val error: BadgeRedeemError): BadgeRedeemResult() +} + // ChatCommand // Spec: spec/api.md#CC sealed class CC { @@ -3950,6 +4090,10 @@ sealed class CC { class ApiUploadStandaloneFile(val userId: Long, val file: CryptoFile): CC() class ApiDownloadStandaloneFile(val userId: Long, val url: String, val file: CryptoFile): CC() class ApiStandaloneFileInfo(val url: String): CC() + // badges + class ApiRedeemBadgeCode(val userId: Long, val code: String): CC() + class ApiGetBadgeState(val userId: Long): CC() + class ApiAckBadgeAlert(val userId: Long, val badgePurchaseId: Long, val alertKind: BadgeAlertKind, val snooze: Boolean, val episode: String): CC() // misc class ShowVersion(): CC() class ResetAgentServersStats(): CC() @@ -4171,6 +4315,9 @@ sealed class CC { is ApiUploadStandaloneFile -> "/_upload $userId ${file.filePath}" is ApiDownloadStandaloneFile -> "/_download $userId $url ${file.filePath}" is ApiStandaloneFileInfo -> "/_download info $url" + is ApiRedeemBadgeCode -> "/_redeem_badge_code $userId $code" + is ApiGetBadgeState -> "/_badge state $userId" + is ApiAckBadgeAlert -> "/_badge ack $userId $badgePurchaseId ${alertKind.text} ${onOff(snooze)} $episode" is ShowVersion -> "/version" is ResetAgentServersStats -> "/reset servers stats" is GetAgentSubsTotal -> "/get subs total $userId" @@ -4351,6 +4498,9 @@ sealed class CC { is ApiUploadStandaloneFile -> "apiUploadStandaloneFile" is ApiDownloadStandaloneFile -> "apiDownloadStandaloneFile" is ApiStandaloneFileInfo -> "apiStandaloneFileInfo" + is ApiRedeemBadgeCode -> "apiRedeemBadgeCode" + is ApiGetBadgeState -> "apiGetBadgeState" + is ApiAckBadgeAlert -> "apiAckBadgeAlert" is ShowVersion -> "showVersion" is ResetAgentServersStats -> "resetAgentServersStats" is GetAgentSubsTotal -> "getAgentSubsTotal" @@ -4372,6 +4522,8 @@ sealed class CC { is ApiUnhideUser -> ApiUnhideUser(userId, obfuscate(viewPwd)) is ApiDeleteUser -> ApiDeleteUser(userId, delSMPQueues, obfuscateOrNull(viewPwd)) is TestStorageEncryption -> TestStorageEncryption(obfuscate(key)) + // a code is a bearer secret until it is redeemed, and the terminal shows and copies cmdString + is ApiRedeemBadgeCode -> ApiRedeemBadgeCode(userId, obfuscate(code)) else -> this } @@ -6725,6 +6877,12 @@ sealed class CR { @Serializable @SerialName("appSettings") class AppSettingsR(val appSettings: AppSettings): CR() @Serializable @SerialName("agentSubsTotal") class AgentSubsTotal(val user: UserRef, val subsTotal: SMPServerSubs, val hasSession: Boolean): CR() @Serializable @SerialName("agentServersSummary") class AgentServersSummary(val user: UserRef, val serversSummary: PresentedServersSummary): CR() + // badges + // the full user, not UserRef: its profile carries the badge that setUserBadge just stored + @Serializable @SerialName("badgeRedeemed") class BadgeRedeemed(val user: User, val redeemedBadge: LocalBadge, val newBadge: Boolean): CR() + @Serializable @SerialName("badgeState") class BadgeStateR(val user: UserRef, val badgeState: BadgeState?): CR() + @Serializable @SerialName("badgeChanged") class BadgeChanged(val user: User, val badgeState: BadgeState?): CR() + @Serializable @SerialName("badgeAlert") class BadgeAlertR(val user: UserRef, val badgeAlert: BadgeAlert): CR() // general @Serializable class Response(val type: String, val json: String): CR() @Serializable class Invalid(val str: String): CR() @@ -6911,6 +7069,10 @@ sealed class CR { is ArchiveExported -> "archiveExported" is ArchiveImported -> "archiveImported" is AppSettingsR -> "appSettings" + is BadgeRedeemed -> "badgeRedeemed" + is BadgeStateR -> "badgeState" + is BadgeChanged -> "badgeChanged" + is BadgeAlertR -> "badgeAlert" is Response -> "* $type" is Invalid -> "* invalid json" } @@ -7114,6 +7276,10 @@ sealed class CR { is ArchiveExported -> "${archiveErrors.map { it.string } }" is ArchiveImported -> "${archiveErrors.map { it.string } }" is AppSettingsR -> json.encodeToString(appSettings) + is BadgeRedeemed -> withUser(user, "redeemedBadge: ${json.encodeToString(redeemedBadge)}\nnewBadge: $newBadge") + is BadgeStateR -> withUser(user, json.encodeToString(badgeState)) + is BadgeChanged -> withUser(user, json.encodeToString(badgeState)) + is BadgeAlertR -> withUser(user, json.encodeToString(badgeAlert)) is Response -> json is Invalid -> str } diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/platform/Core.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/platform/Core.kt index 3805a8e8b7..6b4e3e1353 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/platform/Core.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/platform/Core.kt @@ -33,6 +33,7 @@ external fun chatParseServer(str: String): String external fun chatParseUri(str: String, safe: Int): String external fun chatPasswordHash(pwd: String, salt: String): String external fun chatValidName(name: String): String +external fun chatParseBadgeCode(code: String): String external fun chatJsonLength(str: String): Int external fun chatWriteFile(ctrl: ChatCtrl, path: String, buffer: ByteBuffer): String external fun chatReadFile(path: String, key: String, nonce: String): Array diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/platform/Platform.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/platform/Platform.kt index d857ab974c..7d126096e8 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/platform/Platform.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/platform/Platform.kt @@ -38,6 +38,7 @@ interface PlatformInterface { // Play Billing, only implemented in the google flavor // TODO [badges] desktop and foss pay via Stripe/crypto - these defaults leave them without any // product until that path is implemented + val androidHasPlatformStore: Boolean get() = false suspend fun androidLoadBadgeProducts(oneTimeIds: List, subscriptionIds: List): List { Log.w(TAG, "androidLoadBadgeProducts: no store on this platform") return emptyList() diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgeUserPreview.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgeUserPreview.kt index 6380e5cf79..03fabf817e 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgeUserPreview.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgeUserPreview.kt @@ -16,13 +16,15 @@ import chat.simplex.common.platform.chatModel import chat.simplex.common.views.helpers.NameWithBadge import chat.simplex.common.views.helpers.ProfileImage import chat.simplex.res.MR +import kotlinx.datetime.Instant @Composable fun BadgeUserPreview(level: BadgeLevel, modifier: Modifier = Modifier, trailing: @Composable () -> Unit = {}) { val user = chatModel.currentUser.value val displayName = user?.displayName ?: stringResource(MR.strings.badges_preview_my_nickname) val previewBadge = LocalBadge( - badge = BadgeInfo(badgeType = level.badgeType), + // fabricated for the preview: the status is given here, and NameBadge renders from it alone + badge = BadgeInfo(badgeType = level.badgeType, badgeExpiry = Instant.DISTANT_FUTURE), status = BadgeStatus.Active ) Column(modifier, horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.spacedBy(12.dp)) { diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesRedeemCodeView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesRedeemCodeView.kt index 8a1069c536..6462215051 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesRedeemCodeView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesRedeemCodeView.kt @@ -1,29 +1,257 @@ package chat.simplex.common.views.badges +import androidx.compose.foundation.background import androidx.compose.foundation.layout.* -import androidx.compose.material.MaterialTheme -import androidx.compose.material.Text -import androidx.compose.runtime.Composable +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.text.BasicTextField +import androidx.compose.foundation.text.KeyboardOptions +import androidx.compose.material.* +import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.platform.LocalClipboardManager +import androidx.compose.ui.text.TextRange +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.input.KeyboardCapitalization +import androidx.compose.ui.text.input.TextFieldValue +import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp +import dev.icerock.moko.resources.StringResource import dev.icerock.moko.resources.compose.stringResource -import chat.simplex.common.platform.ColumnWithScrollBar +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext +import chat.simplex.common.model.* +import chat.simplex.common.model.ChatController.appPrefs +import chat.simplex.common.platform.* +import chat.simplex.common.ui.theme.* +import chat.simplex.common.views.helpers.* +import chat.simplex.common.views.newchat.QRCodeScanner +import chat.simplex.common.views.onboarding.OnboardingActionButton +import chat.simplex.common.views.onboarding.TextButtonBelowOnboardingButton import chat.simplex.res.MR -// TODO [badges]: implement input field, server verification and success/failure states when the redeem API is defined. +private const val badgeCodePrefix = "SB" +private const val badgeCodeBodyLength = 20 +private const val badgeCodeGroupLength = 5 + +// The code as core will accept it - prefix and 20 characters, no separators - or null if it does not +// parse. Validity is decided only here: a second check-character implementation would drift. +fun parseBadgeCode(s: String): String? { + val canonical = chatParseBadgeCode(s) + return if (canonical.isEmpty()) null else canonical +} + +// Regroups what was typed; validity and the folding of ambiguous characters are core's alone. +private fun formatBadgeCodeInput(s: String): String { + val normalized = StringBuilder() + for (c in s.take(256).uppercase()) { + if (!c.isLetterOrDigit()) continue + normalized.append(c) + if (normalized.length == badgeCodePrefix.length + badgeCodeBodyLength) break + } + if (!normalized.startsWith(badgeCodePrefix)) return normalized.toString() + val groups = mutableListOf(badgeCodePrefix) + var i = badgeCodePrefix.length + while (i < normalized.length) { + val j = minOf(i + badgeCodeGroupLength, normalized.length) + groups.add(normalized.substring(i, j)) + i = j + } + return groups.joinToString("-") +} + @Composable fun BadgesRedeemCodeView() { + val rhId = remember { chatModel.remoteHostId() } + val supporterBannerShown = remember { appPrefs.supporterBannerShown } + val code = remember { mutableStateOf(TextFieldValue("")) } + val canonicalCode = remember { mutableStateOf(null) } + val submitting = remember { mutableStateOf(false) } + + fun applyCodeInput(s: String) { + val formatted = formatBadgeCodeInput(s) + if (formatted != code.value.text) code.value = TextFieldValue(formatted, selection = TextRange(formatted.length)) + canonicalCode.value = parseBadgeCode(formatted) + } + + fun redeem() { + val sending = canonicalCode.value ?: return + val user = chatModel.currentUser.value ?: return + submitting.value = true + withBGApi { + when (val result = chatModel.controller.apiRedeemBadgeCode(rhId, user.userId, sending)) { + is BadgeRedeemResult.Redeemed -> { + val badgeState = try { chatModel.controller.apiGetBadgeState(rhId, user.userId) } catch (e: Exception) { null } + withContext(Dispatchers.Main) { + submitting.value = false + // written before the pop: BadgesView swaps its content under this pushed view, so + // the pop reveals Your Badge already in place rather than animating it afterwards + if (badgeState != null) { + BadgeModel.set(rhId, user.userId, badgeState) + } + // the response is the only carrier: redeeming raises no event that refreshes the + // profile, so without this the badge beside the name is the one from before + chatModel.updateUser(result.user) + if (badgeState != null && !badgeState.shown) { + // a replay adds no purchase; a fresh code's badge can be retired on arrival + AlertManager.shared.showAlertMsg( + title = generalGetString(MR.strings.badges_error_title), + text = generalGetString(failureMessage(if (result.newBadge) BadgeRedeemError.BadgeEnded else BadgeRedeemError.CodeUsed)) + ) + } else { + supporterBannerShown.set(true) + ModalManager.start.closeModal() + } + } + } + is BadgeRedeemResult.Failed -> { + // the mapped case only - core embeds the service's response in some of these messages + Log.e(TAG, "apiRedeemBadgeCode: ${result.error}") + withContext(Dispatchers.Main) { + submitting.value = false + AlertManager.shared.showAlertMsg( + title = generalGetString(MR.strings.badges_error_title), + text = generalGetString(failureMessage(result.error)) + ) + } + } + } + } + } + ColumnWithScrollBar( - Modifier.padding(horizontal = 25.dp).padding(top = 8.dp), - horizontalAlignment = Alignment.Start + Modifier.padding(horizontal = 25.dp).padding(top = 8.dp, bottom = 20.dp), + verticalArrangement = Arrangement.spacedBy(16.dp), + horizontalAlignment = Alignment.CenterHorizontally, + maxIntrinsicSize = true, ) { Text( - stringResource(MR.strings.badges_redeem_code_button), + stringResource(MR.strings.badges_redeem_code_title), style = MaterialTheme.typography.h1, fontWeight = FontWeight.Bold, - color = MaterialTheme.colors.primary + color = MaterialTheme.colors.primary, + textAlign = TextAlign.Center, + modifier = Modifier.fillMaxWidth() ) + + Text( + stringResource(MR.strings.badges_redeem_code_body), + style = MaterialTheme.typography.body1, + textAlign = TextAlign.Center, + modifier = Modifier.fillMaxWidth() + ) + + CodeField(code, submitting.value, ::applyCodeInput) + + PasteButton(submitting.value, ::applyCodeInput) + + if (appPlatform.isAndroid) { + QRCodeScanner(padding = PaddingValues(start = 16.dp, top = 12.dp, end = 16.dp)) { text -> + val formatted = formatBadgeCodeInput(text) + when { + submitting.value -> false + parseBadgeCode(formatted) == null -> { + AlertManager.shared.showAlertMsg( + title = generalGetString(MR.strings.invalid_qr_code), + text = generalGetString(MR.strings.badges_code_you_scanned_is_not_badge_code) + ) + false + } + else -> { + applyCodeInput(formatted) + redeem() + true + } + } + } + } + + Spacer(Modifier.weight(1f)) + + Column(horizontalAlignment = Alignment.CenterHorizontally) { + SubmitButton(enabled = canonicalCode.value != null && !submitting.value, onClick = ::redeem) + TextButtonBelowOnboardingButton("", null) + } } } + +@Composable +private fun CodeField(code: MutableState, submitting: Boolean, applyCodeInput: (String) -> Unit) { + val colors = TextFieldDefaults.textFieldColors( + backgroundColor = MaterialTheme.appColors.sentMessage, + textColor = MaterialTheme.colors.onBackground, + focusedIndicatorColor = Color.Unspecified, + unfocusedIndicatorColor = Color.Unspecified, + ) + BasicTextField( + value = code.value, + onValueChange = { applyCodeInput(it.text) }, + enabled = !submitting, + singleLine = true, + textStyle = TextStyle.Default.copy( + color = MaterialTheme.colors.onBackground, + fontFamily = FontFamily.Monospace, + fontSize = MaterialTheme.typography.body1.fontSize, + textAlign = TextAlign.Center + ), + keyboardOptions = KeyboardOptions(capitalization = KeyboardCapitalization.Characters, autoCorrect = false), + cursorBrush = SolidColor(colors.cursorColor(false).value), + modifier = Modifier + .fillMaxWidth() + .clip(RoundedCornerShape(10.dp)) + .background(colors.backgroundColor(!submitting).value) + .padding(start = 12.dp, top = 14.dp, end = 12.dp, bottom = 14.dp), + decorationBox = { innerTextField -> + Box(contentAlignment = Alignment.Center) { + if (code.value.text.isEmpty()) { + Text(stringResource(MR.strings.badges_redeem_code_placeholder), color = MaterialTheme.colors.secondary, fontFamily = FontFamily.Monospace) + } + innerTextField() + } + } + ) +} + +@Composable +private fun PasteButton(submitting: Boolean, applyCodeInput: (String) -> Unit) { + val clipboard = LocalClipboardManager.current + TextButton( + onClick = { clipboard.getText()?.text?.let { applyCodeInput(it) } }, + enabled = !submitting + ) { + Text(stringResource(MR.strings.paste_button), color = MaterialTheme.colors.primary, fontWeight = FontWeight.Medium) + } +} + +@Composable +private fun SubmitButton(enabled: Boolean, onClick: () -> Unit) { + OnboardingActionButton( + modifier = if (appPlatform.isAndroid) Modifier.padding(horizontal = DEFAULT_ONBOARDING_HORIZONTAL_PADDING).fillMaxWidth() else Modifier.widthIn(min = 300.dp), + labelId = MR.strings.badges_redeem, + onboarding = null, + enabled = enabled, + onclick = onClick + ) +} + +private fun failureMessage(failure: BadgeRedeemError): StringResource = when (failure) { + BadgeRedeemError.InvalidCode -> MR.strings.badges_error_invalid_code + BadgeRedeemError.ServiceNotConfigured -> MR.strings.badges_error_service_not_configured + BadgeRedeemError.AlreadyActive -> MR.strings.badges_error_already_active + BadgeRedeemError.CodeInvalid -> MR.strings.badges_error_code_invalid + BadgeRedeemError.CodeUsed -> MR.strings.badges_error_code_used + BadgeRedeemError.CodeExpired -> MR.strings.badges_error_code_expired + BadgeRedeemError.RateLimited -> MR.strings.badges_error_rate_limited + BadgeRedeemError.ServiceFailed -> MR.strings.badges_error_service_failed + BadgeRedeemError.BadServiceResponse -> MR.strings.badges_error_bad_service_response + BadgeRedeemError.CredentialNotVerified -> MR.strings.badges_error_credential_not_verified + BadgeRedeemError.UnsupportedVersion -> MR.strings.badges_error_unsupported_version + BadgeRedeemError.NetworkError -> MR.strings.badges_error_network + BadgeRedeemError.BadgeEnded -> MR.strings.badges_error_badge_ended + BadgeRedeemError.Unknown -> MR.strings.badges_error_unknown +} diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesSupportSimplexView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesSupportSimplexView.kt index 099954a4f1..a9d935cdde 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesSupportSimplexView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesSupportSimplexView.kt @@ -12,6 +12,7 @@ import androidx.compose.ui.geometry.Offset import androidx.compose.ui.graphics.Brush import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.layout.onSizeChanged +import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.IntSize @@ -32,10 +33,6 @@ import chat.simplex.res.MR @Composable fun BadgesSupportSimplexView() { - // TODO [badges] gate on user badge status (no badge → this view, active → "Manage your badge") - // preloaded here so the level screen shows store prices without a placeholder pass - LaunchedEffect(Unit) { BadgeStore.load() } - ColumnWithScrollBar( Modifier.background(MaterialTheme.colors.background).padding(horizontal = 25.dp).padding(top = 8.dp, bottom = 20.dp), verticalArrangement = Arrangement.spacedBy(16.dp), @@ -58,15 +55,9 @@ fun BadgesSupportSimplexView() { modifier = Modifier.fillMaxWidth() ) - val primary = MaterialTheme.colors.primary - TextButton({ - ModalManager.start.showModal { HowItWorks(user = chatModel.currentUser.value, onboardingStage = null, titleColor = primary) } - }) { - Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(6.dp)) { - Icon(painterResource(MR.images.ic_info), null, tint = MaterialTheme.colors.primary) - Text(stringResource(MR.strings.badges_why_simplex_is_built), color = MaterialTheme.colors.primary, fontWeight = FontWeight.Medium) - } - } + // TODO [badges] restore WhyBuiltButton() when in-app purchase lands: the level screen + // returns to the flow and HowItWorksButton() moves there, leaving this one alone here. + HowItWorksButton() Spacer(Modifier.weight(1f)) @@ -75,15 +66,13 @@ fun BadgesSupportSimplexView() { Spacer(Modifier.weight(1f)) Column(horizontalAlignment = Alignment.CenterHorizontally) { - ChooseLevelButton() - TextButtonBelowOnboardingButton( - text = stringResource(MR.strings.badges_redeem_code_button), - onClick = { ModalManager.start.showModal { BadgesRedeemCodeView() } } - ) + RedeemCodeButton() + GetCodeButton() } } } +// the in-app purchase path, kept compiling and uncalled until payments return after the MVP @Composable private fun ChooseLevelButton() { OnboardingActionButton( @@ -96,6 +85,55 @@ private fun ChooseLevelButton() { ) } +@Composable +private fun WhyBuiltButton() { + val primary = MaterialTheme.colors.primary + TextButton({ + ModalManager.start.showModal { HowItWorks(user = chatModel.currentUser.value, onboardingStage = null, titleColor = primary) } + }) { + Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(6.dp)) { + Icon(painterResource(MR.images.ic_info), null, tint = MaterialTheme.colors.primary) + Text(stringResource(MR.strings.badges_why_simplex_is_built), color = MaterialTheme.colors.primary, fontWeight = FontWeight.Medium) + } + } +} + +@Composable +private fun HowItWorksButton() { + TextButton({ + ModalManager.start.showModal { BadgesHowItWorksView() } + }) { + Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(6.dp)) { + Icon(painterResource(MR.images.ic_info), null, tint = MaterialTheme.colors.primary) + Text(stringResource(MR.strings.badges_how_it_works_button), color = MaterialTheme.colors.primary, fontWeight = FontWeight.Medium) + } + } +} + +@Composable +private fun RedeemCodeButton() { + OnboardingActionButton( + modifier = if (appPlatform.isAndroid) Modifier.padding(horizontal = DEFAULT_ONBOARDING_HORIZONTAL_PADDING).fillMaxWidth() else Modifier.widthIn(min = 300.dp), + labelId = MR.strings.badges_redeem_code_button, + onboarding = null, + onclick = { + ModalManager.start.showModal { BadgesRedeemCodeView() } + } + ) +} + +@Composable +private fun GetCodeButton() { + val uriHandler = LocalUriHandler.current + if (platform.androidHasPlatformStore) { + TextButtonBelowOnboardingButton("", null) + } else { + TextButtonBelowOnboardingButton( + text = stringResource(MR.strings.badges_get_your_code), + onClick = { uriHandler.openExternalLink("https://simplex.chat/badges/") } + ) + } +} @Composable fun PhoneSupporterHero(modifier: Modifier = Modifier) { diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesView.kt new file mode 100644 index 0000000000..ac64c20d7c --- /dev/null +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesView.kt @@ -0,0 +1,25 @@ +package chat.simplex.common.views.badges + +import androidx.compose.animation.* +import androidx.compose.runtime.Composable +import chat.simplex.common.model.BadgeModel +import chat.simplex.common.model.BadgeState +import chat.simplex.common.platform.chatModel + +@OptIn(ExperimentalAnimationApi::class) +@Composable +fun BadgesView() { + val shownBadge: BadgeState? = run { + if (!BadgeModel.isCurrent(chatModel.remoteHostId(), chatModel.currentUser.value?.userId)) return@run null + val badgeState = BadgeModel.badgeState.value + if (badgeState != null && badgeState.shown) badgeState else null + } + + AnimatedContent(targetState = shownBadge, transitionSpec = { fadeIn() with fadeOut() }) { badgeState -> + if (badgeState != null) { + BadgesYourBadgeView(badgeState) + } else { + BadgesSupportSimplexView() + } + } +} diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesYourBadgeView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesYourBadgeView.kt new file mode 100644 index 0000000000..4ff8f2c6de --- /dev/null +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesYourBadgeView.kt @@ -0,0 +1,76 @@ +package chat.simplex.common.views.badges + +import SectionSpacer +import SectionTextFooter +import SectionView +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.* +import androidx.compose.material.MaterialTheme +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import dev.icerock.moko.resources.compose.painterResource +import dev.icerock.moko.resources.compose.stringResource +import chat.simplex.common.model.BadgeState +import chat.simplex.common.model.BadgeType +import chat.simplex.common.platform.ColumnWithScrollBar +import chat.simplex.common.ui.theme.DEFAULT_PADDING +import chat.simplex.common.views.helpers.AppBarTitle +import chat.simplex.common.views.helpers.badgeImage +import chat.simplex.res.MR + +@Composable +fun BadgesYourBadgeView(badgeState: BadgeState) { + val title = if (badgeState.shown) MR.strings.badges_your_badge else MR.strings.badges_support_ended + + ColumnWithScrollBar { + AppBarTitle(stringResource(title)) + + SectionView { + BadgeSummary(badgeState) + } + SectionSpacer() + SectionView(stringResource(MR.strings.badges_ends).uppercase()) { + Text(badgeState.paidThroughText, Modifier.padding(horizontal = DEFAULT_PADDING, vertical = 12.dp)) + } + SectionTextFooter(stringResource(MR.strings.badges_prepaid_footer)) + SectionSpacer() + } +} + +@Composable +fun BadgeSummary(badgeState: BadgeState) { + Column( + Modifier.fillMaxWidth().padding(vertical = 8.dp), + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.spacedBy(4.dp) + ) { + Image( + painterResource(badgeImage(badgeState.badgeType)), + contentDescription = null, + contentScale = ContentScale.Fit, + modifier = Modifier.size(68.dp).padding(bottom = 8.dp) + ) + + Text(badgeTypeName(badgeState.badgeType), style = MaterialTheme.typography.h3, fontWeight = FontWeight.SemiBold) + + Text( + stringResource(MR.strings.badges_shown_on_your_profile), + style = MaterialTheme.typography.body2, + color = MaterialTheme.colors.secondary + ) + } +} + +// verbatim for an unknown type: it is the service's string, and must not be looked up as a localised key +@Composable +private fun badgeTypeName(t: BadgeType): String = when (t) { + is BadgeType.Supporter -> stringResource(MR.strings.badges_level_supporter) + is BadgeType.Legend -> stringResource(MR.strings.badges_level_legend) + is BadgeType.Investor -> stringResource(MR.strings.badges_type_investor) + is BadgeType.Unknown -> t.type +} diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/SupportSimpleXBanner.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/SupportSimpleXBanner.kt index 55a8cef525..94203e2169 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/SupportSimpleXBanner.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/SupportSimpleXBanner.kt @@ -31,7 +31,12 @@ import chat.simplex.common.views.newchat.lightStops import chat.simplex.res.MR @Composable -fun SupportSimpleXBanner(onTap: () -> Unit, onDismiss: () -> Unit) { +fun SupportSimpleXBanner( + title: String = generalGetString(MR.strings.badges_banner_title), + subtitle: String = generalGetString(MR.strings.badges_banner_subtitle), + onTap: () -> Unit, + onDismiss: () -> Unit +) { val cardCornerRadius = 16.dp // grows linearly with system font but never shrinks below the default so small-font users see the // same baseline; the card Row uses heightIn(min = cardHeight) and grows further when 2-line text @@ -73,7 +78,7 @@ fun SupportSimpleXBanner(onTap: () -> Unit, onDismiss: () -> Unit) { ) { Column(verticalArrangement = Arrangement.spacedBy(4.dp)) { Text( - stringResource(MR.strings.badges_banner_title), + title, style = MaterialTheme.typography.body1, fontWeight = FontWeight.SemiBold, color = MaterialTheme.colors.primary, @@ -81,7 +86,7 @@ fun SupportSimpleXBanner(onTap: () -> Unit, onDismiss: () -> Unit) { overflow = TextOverflow.Ellipsis ) Text( - stringResource(MR.strings.badges_banner_subtitle), + subtitle, style = MaterialTheme.typography.body2, color = MaterialTheme.colors.onBackground, maxLines = 2, @@ -99,13 +104,7 @@ fun SupportSimpleXBanner(onTap: () -> Unit, onDismiss: () -> Unit) { .align(Alignment.TopEnd) .padding(end = 4.dp, top = 4.dp) .clip(CircleShape) - .clickable { - AlertManager.shared.showAlertMsg( - title = generalGetString(MR.strings.badges_banner_title), - text = generalGetString(MR.strings.badges_banner_dismiss_message), - onConfirm = onDismiss - ) - } + .clickable(onClick = onDismiss) .padding(8.dp) .size(16.dp) ) diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt index 16a944d7bd..82e8a71bf2 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt @@ -36,6 +36,7 @@ import chat.simplex.common.model.* import chat.simplex.common.model.ChatController.appPrefs import chat.simplex.common.model.ChatController.stopRemoteHostAndReloadHosts import chat.simplex.common.ui.theme.* +import SectionItemView import chat.simplex.common.views.helpers.* import chat.simplex.common.platform.* import chat.simplex.common.views.call.Call @@ -63,6 +64,41 @@ sealed class ActiveFilter { data object Unread: ActiveFilter() } +private fun showSupportEndedDismissAlert() { + AlertManager.shared.showAlertDialogButtonsColumn( + title = generalGetString(MR.strings.badges_support_ended), + buttons = { + Column { + SectionItemView({ + AlertManager.shared.hideAlert() + withBGApi { chatModel.controller.ackBadgeAlert(snooze = true) } + }) { + Text(stringResource(MR.strings.badges_remind_me_later), Modifier.fillMaxWidth(), textAlign = TextAlign.Center, color = MaterialTheme.colors.primary) + } + SectionItemView({ + AlertManager.shared.hideAlert() + withBGApi { chatModel.controller.ackBadgeAlert(snooze = false) } + }) { + Text(stringResource(MR.strings.badges_dont_show_again), Modifier.fillMaxWidth(), textAlign = TextAlign.Center, color = MaterialTheme.colors.primary) + } + SectionItemView({ + AlertManager.shared.hideAlert() + }) { + Text(stringResource(MR.strings.cancel_verb), Modifier.fillMaxWidth(), textAlign = TextAlign.Center, color = MaterialTheme.colors.primary) + } + } + } + ) +} + +private fun showSupportSimpleXDismissAlert() { + AlertManager.shared.showAlertMsg( + title = generalGetString(MR.strings.badges_banner_title), + text = generalGetString(MR.strings.badges_banner_dismiss_message), + onConfirm = { appPrefs.supporterBannerShown.set(true) } + ) +} + private fun showNewChatSheet(oneHandUI: State) { connectProgressManager.cancelConnectProgress() ModalManager.start.closeModals() @@ -1002,12 +1038,25 @@ private fun BoxScope.ChatList(searchText: MutableState, listStat ToggleChatListCard() } } - if (!supporterBannerShown.value && chatModel.chats.value.size > 3) { + // one slot: a badge the user paid for ending outranks the pitch to get one + val alert = BadgeModel.alert.value + if (supportEnded() && alert != null) { item { Box(Modifier.zIndex(1f).padding(16.dp)) { SupportSimpleXBanner( - onTap = { ModalManager.start.showModal { BadgesSupportSimplexView() } }, - onDismiss = { appPrefs.supporterBannerShown.set(true) } + title = stringResource(MR.strings.badges_support_ended), + subtitle = String.format(stringResource(MR.strings.badges_support_ended_on), alert.dateText), + onTap = { ModalManager.start.showModal { BadgesView() } }, + onDismiss = ::showSupportEndedDismissAlert + ) + } + } + } else if (!supporterBannerShown.value && chatModel.chats.value.size > 3) { + item { + Box(Modifier.zIndex(1f).padding(16.dp)) { + SupportSimpleXBanner( + onTap = { ModalManager.start.showModal { BadgesView() } }, + onDismiss = ::showSupportSimpleXDismissAlert ) } } diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/newchat/OnboardingCards.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/newchat/OnboardingCards.kt index 26007c74af..9f4b213cb2 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/newchat/OnboardingCards.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/newchat/OnboardingCards.kt @@ -42,13 +42,18 @@ import kotlin.math.sin private const val CARD_HEIGHT_RATIO = 0.75f private const val GRADIENT_ANGLE_RAD = 80.0 * Math.PI / 180.0 +// the onboarding cards replace the whole chat list, and the support-ended banner lives in the +// list - a lapsed supporter is not a newcomer, and must be told even with no conversations yet @Composable fun shouldShowOnboarding(): Boolean { val addressCreationCardShown = remember { appPrefs.addressCreationCardShown.state } val chats = chatModel.chats.value - return !addressCreationCardShown.value && chats.isNotEmpty() && !hasConversations(chats) + return !addressCreationCardShown.value && chats.isNotEmpty() && !hasConversations(chats) && !supportEnded() } +fun supportEnded(): Boolean = + BadgeModel.alert.value?.kind == BadgeAlertKind.SupportEnded && BadgeModel.isCurrent(chatModel.remoteHostId(), chatModel.currentUser.value?.userId) + fun hasConversations(chats: List): Boolean = chats.any { chat -> when (val c = chat.chatInfo) { diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/WhatsNewView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/WhatsNewView.kt index 2588dcbdc7..ca9ee078d6 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/WhatsNewView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/WhatsNewView.kt @@ -969,7 +969,8 @@ private val versionDescriptions: List = listOf( ), ) ), - // TODO [badges] finalise copy + Read more link before v7.1 ships. + // TODO [badges] restore when badges ship, with final copy and the Read more link. + /* VersionDescription( version = "v7.1", post = null, @@ -981,6 +982,7 @@ private val versionDescriptions: List = listOf( ) ) ), + */ ) @Composable diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/SettingsView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/SettingsView.kt index 516e2c56bc..823a6b2f0c 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/SettingsView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/SettingsView.kt @@ -26,7 +26,7 @@ import chat.simplex.common.model.* import chat.simplex.common.model.ChatController.appPrefs import chat.simplex.common.platform.* import chat.simplex.common.ui.theme.* -import chat.simplex.common.views.badges.BadgesSupportSimplexView +import chat.simplex.common.views.badges.BadgesView import chat.simplex.common.views.database.DatabaseView import chat.simplex.common.views.helpers.* import chat.simplex.common.views.migration.MigrateFromDeviceView @@ -107,8 +107,9 @@ fun SettingsLayout( SectionView { // Direct showModal (no settings / cardScreen flags) — settings-style card chrome would render // a gray top bar / back button that badges views don't want (they have their own inline titles). - SectionItemView(click = { ModalManager.start.showModal { BadgesSupportSimplexView() } }) { - Image(painterResource(MR.images.badge_supporter), stringResource(MR.strings.supporter_perks), Modifier.size(24.dp)) + SectionItemView(click = { ModalManager.start.showModal { BadgesView() } }) { + val badgeType = chatModel.currentUser.value?.profile?.localBadge?.badge?.badgeType ?: BadgeType.Supporter + Image(painterResource(badgeImage(badgeType)), stringResource(MR.strings.supporter_perks), Modifier.size(24.dp)) TextIconSpaced() Text(stringResource(MR.strings.supporter_perks)) } diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/ar/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/ar/strings.xml index 2ab1933418..5aa9270e4b 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/ar/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/ar/strings.xml @@ -1754,12 +1754,10 @@ غير محمي السماح بالرجوع إلى إصدار سابق لا تستخدم التوجيه الخاص. - وضع توجيه الرسائل لا عندما يكون IP مخفيًا لا ترسل رسائل مباشرةً، حتى لو كان خادمك أو خادم الوجهة لا يدعم التوجيه الخاص. أرسل الرسائل مباشرة عندما لا يدعم الخادم الوجهة الخاص بك أو الخادم الوجهة التوجيه الخاص. - احتياطي توجيه الرسالة أظهِر حالة الرسالة احمِ عنوان IP بدون تور أو VPN، سيكون عنوان IP الخاص بك مرئيًا لخوادم الملفات. @@ -1775,7 +1773,6 @@ خوادم غير معروفة! بدون تور أو VPN، سيكون عنوان IP الخاص بك مرئيًا لمُرحلات XFTP هذه: \n%1$s. - أظهِر قائمة الدردشة في نافذة جديدة ألوان الدردشة سمة الدردشة تلقيت رد @@ -1962,9 +1959,7 @@ متوسط ناعم مكالمة - اتصل مراسلة - افتح بحث الإعدادات فيديو @@ -2107,9 +2102,6 @@ عنوان SimpleX أو رابط لمرة واحدة؟ مُشغلي الشبكة يمكنك تضبيط الخوادم عبر الإعدادات. - حدد مشغلي الشبكة الذين تريد استخدامهم. - يمكنك تضبيط المُشغلين في إعدادات الشبكة والخوادم. - حدّث تابع الشروط المتفق عليها راجع الشروط @@ -2121,7 +2113,6 @@ مُشغل الشبكة المُشغل %s خوادم - الموقع الإلكتروني سيتم قبول الشروط في: %s. قُبل الشروط في: %s. استخدم %s @@ -2151,14 +2142,12 @@ فعّل flux في إعدادات الشبكة والخوادم لتحسين خصوصية البيانات الوصفية. اللامركزية الشبكية المُشغل المُعد مسبقًا الثاني في التطبيق! - لتحسين خصوصية البيانات الوصفية. تحسين التنقل في الدردشة اعرض الشروط المُحدثة اقبل الشروط أُضيفت خوادم الرسائل عنوان أو رابط لمرة واحدة؟ مع جهة اتصال واحدة فقط - المشاركة شخصيًا أو عبر أي مُراسل.]]> - سيتم قبول الشروط للمُشغلين المفعّلين بعد 30 يومًا. مُشغلي الخادم لا يمكن تحميل نص الشروط الحالية، يمكنك مراجعة الشروط عبر هذا الرابط: خطأ في قبول الشروط @@ -2171,12 +2160,10 @@ لا يوجد خوادم لاستلام الرسائل. - فتح الدردشة عند أول رسالة غير مقروءة.\n- الانتقال إلى الرسائل المقتبسة. يمكنك تعيين اسم الاتصال، لتتذكر الأشخاص الذين شاركتَ الرابط معهم. - راجع لاحقًا تغيّر بروتوكول الخادم. شارك العنوان علناً شارك عنوان SimpleX على وسائل التواصل الاجتماعي. عنوان SimpleX والروابط لمرة واحدة آمنة للمشاركة عبر أي برنامج مُراسلة. - انقر فوق أنشئ عنوان SimpleX في القائمة لإنشائه لاحقًا. حُذفت هذه الرسالة أو لم تُستلم بعد. استخدم للرسائل يحمي التطبيق خصوصيتك من خلال استخدام مُشغلين مختلفين في كل محادثة. @@ -2207,7 +2194,6 @@ الإشعارات والبطارية فقط مالكي الدردشة يمكنهم تغيير التفضيلات. الخصوصية لعملائك. - الجوّالات عن بُعد ادعُ للدردشة مغادرة المجموعة؟ سيتم إزالة العضو من الدردشة - لا يمكن التراجع عن هذا! @@ -2287,7 +2273,6 @@ بلّغ عن إزعاج (spam): سيراه مُشرفو المجموعة فقط. أرشفة البلاغ؟ سبب الإبلاغ؟ - سيتم أرشفة البلاغ لك. إزعاج (spam) نعم اسأل @@ -2312,7 +2297,6 @@ استخدم منفذ الويب منفذ TCP للمُراسلة اكتم الكل - ذّكورات غير مقروءة يمكنك ذكر ما يصل إلى %1$s من الأعضاء في الرسالة الواحدة! السماح بالإبلاغ عن الرسائل إلى المُشرفين. امنع الإبلاغ عن الرسائل للمُشرفين. @@ -2438,7 +2422,6 @@ إرسال طلب جهة اتصال؟ أرسل طلب أرسل طلب دون رسالة - أُرسل إلى جهة اتصالك بعد الاتصال. ترقية رابط المجموعة؟ رقِّ ترقية العنوان؟ @@ -2494,7 +2477,6 @@ طلبات التواصل في المجموعات حُذف العضو - لا يمكن قبول الطلب طُلب اتصال من المجموعة %1$s - هذا الإعداد لملف تعريفك الحالي اسمح بالملفات والوسائط فقط إذا سمح جهة اتصالك بذلك. اسمح لجهات اتصالك بإرسال الملفات والوسائط. روبوت @@ -2526,7 +2508,6 @@ فشل الاتصال فشل ملفات - تصفية صور روابط ابحث عن ملفات @@ -2562,7 +2543,6 @@ قناة اسم القناة بالكامل رابط القناة - أعضاء القناة اسم القناة يُخزّن ملف تعريف القناة على أجهزة المشتركين وعلى مُرحلات الدردشة. حُدِّث ملف تعريف القناة @@ -2590,7 +2570,6 @@ أدخل اسم المُرحل… خطأ في إضافة المُرحل خطأ في إنشاء القناة - خطأ في فتح القناة خطأ: %s خطأ في حفظ ملف تعريف القناة فشل @@ -2610,7 +2589,6 @@ لا مُرحلات دردشة مفعّلة. ليس كل المُرحلات متصلة افتح قناة - افتح قناة جديدة المالك المالكين والمساهمين عنوان المُرحل مسبق الضبط @@ -2779,7 +2757,6 @@ عنوانك العام لقد وُلدت دون حساب تعريفي. قناتك الجديدة %1$s متصلة بـ %2$d من أصل %3$d مُرحلات. إذا ألغيت، ستُحذف القناة - يمكنك إنشاؤها مرة أخرى. - أضف أضف مُرحل أضف مُرحلات ألغِ واحذف القناة @@ -2814,14 +2791,11 @@ الحالة %1$d مالك %1$d مالكون - عن خيارات متقدّمة إعدادات متقدّمة اسمح لأي شخص بالتضمين يمكن لأي صفحة ويب عرض المعاينة. بيانات الدردشة - يتطلب الاتصال عبر اسم القناة إصدارًا أحدث من التطبيق. - يتطلب الاتصال عبر اسم جهة الاتصال إصدارًا أحدث من التطبيق. تواصل مساهم انسخ الرمز @@ -2833,7 +2807,6 @@ سيتم عرضه للمشتركين واستخدامه للسماح بتحميل المعاينة. مزيد من الخصوصية لا يمكن عرض المعاينة إلا على صفحتك المذكورة أعلاه. - يُرجى ترقية التطبيق. %1$d مالكين ومساهمين %1$s دعم تطبيق SimpleX Chat. انتهت صلاحية الشارة في %2$s. قائمة المعترف بهم @@ -2849,8 +2822,6 @@ سيتم تغيير الدور إلى "%s". وسيتم إشعار جميع المشاركين في القناة بذلك. تعذّر التحقق من صحة هذه الشارة، وقد لا تكون أصلية. تتطلب هذه المجموعة إصدارًا أحدث من التطبيق. يُرجى تحديث التطبيق للانضمام إليها. - اسم قناة غير مدعوم - اسم جهة اتصال غير مدعوم شارة غير متحقق منها لا تدعم خوادم ترحيل الدردشة المستعملة صفحات الويب. رمز صفحة الويب @@ -2865,7 +2836,6 @@ خطأ المحلّل: %1$s الخادم %1$s لا يدعم تحليل الأسماء. اضبط الخوادم أو استخدم رابط الاتصال. عيِّن اسم SimpleX - اسم SimpleX خطأ في اسم SimpleX لم يتحقق مِن اسم SimpleX اسم SimpleX %1$s مسجَّل، لكنه لا يحتوي على رابط صالح. diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml index f23224b114..480e448954 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml @@ -203,11 +203,6 @@ Please check that you used the correct link or ask your contact to send you another one. Unsupported connection link This link requires a newer app version. Please upgrade the app or ask your contact to send a compatible link. - Unsupported channel name - Unsupported contact name - Connecting via channel name requires a newer app version. - Connecting via contact name requires a newer app version. - Please upgrade the app. SimpleX name error None of your servers are set to resolve SimpleX names. Configure servers, or use a connection link. Server %1$s does not support name resolution. Configure servers, or use a connection link. @@ -373,7 +368,6 @@ Archive report? Archive %d reports? Archive all reports? - The report will be archived for you. All reports will be archived for you. For me For all moderators @@ -424,7 +418,6 @@ Files Links All messages - Filter Archive Archive report Archive reports @@ -528,7 +521,6 @@ contact should accept… Connect with %1$s? Search or paste SimpleX link - Tap Create SimpleX address in the menu to create it later. No selected chat @@ -726,8 +718,6 @@ Delete chat messages from your device. - connect - open message call search @@ -880,7 +870,6 @@ Unmute Favorite Unfavorite - Unread mentions Create list @@ -987,7 +976,6 @@ Verify name Verify SimpleX names SimpleX name not verified - SimpleX name Your SimpleX name Set SimpleX name Error saving name @@ -1154,7 +1142,6 @@ Use private routing with unknown servers. Use private routing with unknown servers when IP address is not protected. Do NOT use private routing. - Message routing mode Allow downgrade Yes When IP hidden @@ -1162,7 +1149,6 @@ Send messages directly when your or destination server does not support private routing. Send messages directly when IP address is protected and your or destination server does not support private routing. Do NOT send messages directly, even if your or destination server does not support private routing. - Message routing fallback Show message status To protect your IP address, private routing uses your SMP servers to deliver messages. TCP port for messaging @@ -1229,7 +1215,6 @@ Stop sharing Auto-accept Group invitations - Sent to your contact after connection. Welcome message Enter welcome message… (optional) Save settings? @@ -1432,13 +1417,8 @@ When more than one operator is enabled, none of them has metadata to learn who communicates with whom. For example, if your contact receives messages via a SimpleX Chat server, your app will deliver them via a Flux server. About operators - Select network operators to use. How it helps privacy You can configure servers via settings. - Conditions will be accepted for enabled operators after 30 days. - You can configure operators in Network & servers settings. - Review later - Update Continue @@ -1579,7 +1559,6 @@ An empty chat profile with the provided name is created, and the app opens as usual. If you enter this passcode when opening the app, all app data will be irreversibly removed! Set passcode - This setting is for your current profile These settings are for your current profile They can be overridden in contact and group settings. Contacts @@ -1626,7 +1605,6 @@ Files Send delivery receipts to Contact requests in groups - About Contact Support the project Chat data @@ -1660,7 +1638,6 @@ Your chat database Run chat - Remote mobiles Chat is running Chat is stopped Chat database @@ -1794,7 +1771,6 @@ Top bar You can change it in Appearance settings. Show console in new window - Show chat list in new window Invalid migration confirmation Upgrade and open chat Downgrade and open chat @@ -2037,7 +2013,6 @@ Invite Link Chat with admins - Channel members Chat relays @@ -2208,7 +2183,6 @@ Operator %s servers Network operator - Website Conditions accepted on: %s. Conditions will be accepted on: %s. Use servers @@ -2714,7 +2688,6 @@ Network decentralization The second preset operator in the app! Enable Flux in Network & servers settings for better metadata privacy. - for better metadata privacy. Improved chat navigation - Open chat on the first unread message.\n- Jump to quoted messages. Business chats @@ -3175,7 +3148,6 @@ Your profile %1$s will be shared with channel relays and subscribers.\nRelays can access channel messages. Configure relays failed - Add Add relay Add relays No available relays @@ -3193,12 +3165,10 @@ Relay address This is a chat relay address, it cannot be used to connect. Open channel - Open new channel You are a subscriber You are a contributor Your channel %1$s!]]> - Error opening channel Unblock subscriber for all? @@ -3257,9 +3227,9 @@ Continue How private badges work How private badges work - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. - Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. - Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + A badge is not an account. It is a signed credential stored on your device. It does not identify you, and no one keeps a record of who holds which badge. + Your contacts see the badge and its expiry date, and nothing else. The badge carries no identifier, so it cannot be used to find out who you are or to match you across chats. + Payment and badge are kept apart. Paying is one step; the badge is issued in another, under a key that exists only for that badge. Whoever handles the payment cannot see where the badge ends up. My nickname Support SimpleX Get badge + files up to 5GB @@ -3268,6 +3238,36 @@ Purchase pending The purchase is awaiting approval. This build does not deliver purchases approved later. Purchase error + Get your code + Redeem code + Paste the code from your receipt. + SB-XXXXX-XXXXX-XXXXX-XXXXX + Redeem + Cannot redeem code + This code is not valid. + This app version cannot redeem badge codes. + This profile already has a badge. Redeem the code on another profile, or once this badge ends. + This code was not recognised. + This code has already been used. + This code has expired. + Too many attempts. Please try again later. + The badge service is unavailable. Please try again later. + The badge service sent an unexpected response. + This app version cannot verify this badge. Please update the app. + This app version is too old for the badge service. Please update the app. + Connection error. Please check your network connection. + The code was accepted, but the badge it grants has already ended. + The code could not be redeemed. + The code you scanned is not a badge code. + Your badge + Support ended + shown on your profile + Ends + Prepaid months have no billing date. The badge is reissued each month from the balance you already paid for, and ends when it runs out. + Investor + Your support ended on %1$s. + Remind me later + Don\'t show again Supporter perks Supporter badge ❤️ Help keep the network running — send files up to 2 GB. diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/bg/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/bg/strings.xml index c79aa07a1e..75de2d72f1 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/bg/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/bg/strings.xml @@ -1780,7 +1780,6 @@ Препращане на съобщенията без файловете? Неизвестни сървъри Файлове - Показване на списъка на чатовете в нов прозорец Системна Тъмна Черна @@ -1833,7 +1832,6 @@ Винаги Не Никога - Режим за рутиране на съобщения Използвай поверително рутиране с неизвестни сървъри, когато IP адресът не е защитен. Светла Да @@ -2053,11 +2051,9 @@ Избрано %d Нищо не е избрано Съобщение - отвори съобщение обаждане Контактът ще бъде изтрит - това не може да бъде отменено! - свързване Изтрий без известие Разговорът е изтрит! Все още ще можете да видите разговора с %1$s в списъка с чатовете. @@ -2125,8 +2121,6 @@ Например, ако контактът ви получава съобщения чрез SimpleX Chat сървър, приложението ви ще ги достави чрез Flux сървър. Сървърни оператори Мрежови оператори - Преглед по-късно - Можете да конфигурирате операторите в Мрежа и сървъри. Условията ще бъдат автоматично приети за активираните оператори на: %s. Вашите сървъри Условията ще бъдат приети на: %s. @@ -2140,16 +2134,13 @@ Добавени сървъри за съобщения Използвай за файлове - Отворете чата при първото непрочетено съобщение.\n- Преминете към цитирани съобщения. - Резервно рутиране на съобщения Активирай логовете Добавете членовете на вашия екип към разговорите. задраскан Продължи Добави приятели %s.]]> - Уеб страница Условия, приети на: %s. - Дистанционни мобилни устройства Предварително зададени сървъри %s.]]> Отвори промените @@ -2160,7 +2151,6 @@ Персонализирана форма на съобщенията. По-добри дати на съобщението. Активиране на Flux в настройките Мрежа и сървъри за по -добра поверителност на метаданните. - за по-добра поверителност на метаданните. Подобрена навигация в чата Грешка при запазване на базата данни Вашият профил ще бъде изпратен до членовете @@ -2179,9 +2169,7 @@ Проверявай за съобщения на всеки 10 минути Приложението винаги работи във фонов режим Известия и батерия - Условията ще бъдат приети за активираните оператори след 30 дни. Можете да конфигурирате сървърите през настройките. - Актуализация %s.]]> Използвай за съобщения Личните съобщения между членовете са забранени. @@ -2195,7 +2183,6 @@ Грешка при зареждането на чат списъка Няма чатове в списъка %s. Няма непрочетени чатове - Докосни Създаване на SimpleX адрес в менюто, за да го създадете по-късно. Няма чатове Няма намерени чатове Любими @@ -2267,7 +2254,6 @@ Връзката изисква предоговаряне на криптирането. Сподели еднократен линк за връзка с приятел Настройки на адреса - Изберете мрежови оператори за използване. Как помага за поверителността Ще спрете да получавате съобщения от този чат. Историята на чата ще бъде запазена. Добави членове на екипа @@ -2455,7 +2441,6 @@ Изпрати заявка Изпрати заявка без съобщение Изпрати личната си обратна връзка до групи. - Изпратено до вашия контакт след осъществяване на връзка. Задаване на име на чат… Задаване на достъп за членове Задаване на срок на валидност на съобщенията в чатовете. @@ -2474,14 +2459,12 @@ Докосни Свързване за изпращане на заявка Докосни Присъединяване към групата TCP порт за съобщения - Докладът ще бъде архивиран за вас. Подателят НЯМА да бъде уведомен. Това действие не може да бъде отменено - съобщенията, изпратени и получени в този чат по-рано от избраното, ще бъдат изтрити. Тази връзка изисква по-нова версия на приложението. Моля, актуализирайте приложението или помолете контакта да ви изпрати съвместим линк. Времето за изчезване е зададено само за нови контакти. За да използвате друг профил след опит за връзка, изтрийте чата и използвайте линка отново. Отблокиране за всички членове? - Непрочетени споменавания Неподдържан линк за връзка Актуализирани условия Актуализирайте адреса си @@ -2508,7 +2491,6 @@ Заявки за контакт от групи Членът е изтрит - не може да се приеме заявката заявка за връзка от група %1$s - Тази настройка е за текущия профил Разреши файлове и медия само ако вашият контакт ги разрешава. Позволи на вашите контактите да изпращат файлове и медия. Бот diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/ca/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/ca/strings.xml index 3d49c533ff..d5b8fb5fa0 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/ca/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/ca/strings.xml @@ -493,7 +493,6 @@ Confirmeu les credencials Xats Parleu amb els desenvolupadors - connecta Confirmeu l\'eliminació del contacte? Connectat Confirma @@ -740,7 +739,6 @@ Configuració Tanca s\'està connectant… - Les condicions s\'acceptaran per als operadors habilitats després de 30 dies. SimpleX no pot funcionar en segon pla. Només rebreu les notificacions quan obriu l\'aplicació. Trucades de SimpleX Chat Missatges de xat de SimpleX @@ -1006,7 +1004,6 @@ Fitxers Correcció no suportada pel contacte Arreglar - per a una millor privadesa de les metadades. Bona tarda! El fitxer exportat no existeix Reenvia i desa missatges @@ -1090,7 +1087,6 @@ Micròfon Trucada perduda Esborrany - Mòbils remots Elimina Expulsa t\'ha expulsat @@ -1226,9 +1222,6 @@ L\'aplicació protegeix la teva privadesa utilitzant diferents operadors en cada conversa. Quan hi ha més d\'un operador habilitat, cap d\'ells té metadades per saber qui es comunica amb qui. Com ajuda a la privadesa - Revisar més tard - Actualitzar - Podeu configurar els operadors a la configuració: Xarxa i Servidors. videotrucada (sense xifrar) Ignorar Rebutjar @@ -1307,7 +1300,6 @@ El rol es canviarà a %s. El membre rebrà una nova invitació. Estat de la xarxa Operador - Lloc web Per a enviar Restablir valors predeterminats Compte PING @@ -1746,7 +1738,6 @@ El vostre contacte ha enviat un fitxer més gran que la mida màxima admesa actualment (%1$s). Carregant el fitxer Notificacions - obrir Si us plau, espereu mentre es carrega el fitxer des del mòbil enllaçat Error de fitxer temporal Missatge de veu @@ -1905,8 +1896,6 @@ Si disponibles Les vostres credencials es podrien enviar sense xifrar. Colors de la interfície - Alternativa d\'encaminament de missatges - Mode d\'encaminament de missatges Obrir ubicació del fitxer Envieu missatges directament quan l\'adreça IP està protegida i el vostre servidor de destinació no admet l\'encaminament privat. Enviar missatges directament quan el vostre servidor de destinació no admet l\'encaminament privat. @@ -1936,7 +1925,6 @@ Operadors de xarxa Notificacions i bateria La contrasenya aleatòria s\'emmagatzema a la configuració com a text pla.\nPodeu canviar-ho més tard. - Seleccioneu els operadors de xarxa que voleu utilitzar. Operadors de servidor Configura la contrasenya de la base de dades Utilitzar contrasenya aleatòria @@ -1978,7 +1966,6 @@ No s\'ha trobat la contrasenya a Keystore, introduïu-la manualment. Això pot haver passat si vau restaurar les dades de l\'aplicació mitjançant una eina de còpia de seguretat. Si no és el cas, poseu-vos en contacte amb els desenvolupadors. Barres d\'eines d\'aplicacions accessible Barres d\'eines de xat accessible - Mostra la llista de xat en una finestra nova Mostrar consola en finestra nova Podeu canviar-la a la configuració de l\'aparença. Actualitzar i obrir el xat @@ -2135,7 +2122,6 @@ IU en hongarès i turc Codi d\'accés no canviat! Protegiu la vostra adreça IP dels servidors de retransmissió de missatgeria escollits pels vostres contactes.\nActiva a la configuració de *Xarxa i servidors*. - Toqueu Crea adreça SimpleX al menú per crear-la més tard. Per protegir la zona horària els fitxers d\'imatge/veu utilitzen UTC. Desbloca La càrrega ha fallat @@ -2262,7 +2248,6 @@ Contingut inadequat Perfil inadequat Suprimeix l\'informe - L\'informe s\'arxivarà. Informar Spam El contingut infringeix les condicions d\'ús @@ -2300,7 +2285,6 @@ Emprar port web Emprar el port TCP %1$s quan no se n\'especifica cap. Silenciar tot - Mencions no llegides Podeu mencionar fins a %1$s membres per missatge! Permetre denunciar missatges a moderació. No permetre denunciar missatges a moderació. @@ -2427,7 +2411,6 @@ Enviar sol·licitud de contacte? Enviar sol·licitud Enviar sol·licitud sense missatge - Enviat al contacte després de la connexió. Actualitzar l\'enllaç del grup? Actualitzar Actualitzar l\'adreça? @@ -2482,7 +2465,6 @@ Sol·licituds de contacte de grups Membre eliminat(da); no es pot acceptar la sol·licitud. connexió sol·licitada del grup %1$s - Aquesta configuració és per al perfil actual Permetre fitxers i contingut multimèdia només si el vostre contacte ho permet. Permetre que els contactes enviïn fitxers i contingut multimèdia. Bot diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/cs/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/cs/strings.xml index ff712dfec5..f8a6dd83dc 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/cs/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/cs/strings.xml @@ -1781,8 +1781,6 @@ Nelze odeslat zprávu Chyba souboru NEpoužívat soukromé směrování. - Záložní směrování zpráv - Režim přeposílání zpráv Nikdy Chyba inicializace WebView. Aktualizujte systém na novou verzi. Prosím kontaktujte vývojáře. \nChyba: %s @@ -1937,7 +1935,6 @@ Lepší datování zpráv. Lepší zabezpečení ✅ Části odstraněny - připojení Aktuální profil Chyba znovu připojení serveru Chyba při opětovném připojování serverů @@ -1949,7 +1946,6 @@ Chyba přepínání profilu Vyberte profil chatu zpráva - otevřít Kontakt smazán! neaktivní Detaily @@ -2058,7 +2054,6 @@ Žádné servery pro příjem zpráv. Všechny chaty budou ze seznamu %s odebrány, a seznam bude smazán Pro sociální sítě - Vzdálené telefony %s.]]> %s.]]> %s.]]> @@ -2144,7 +2139,6 @@ Panel nástrojů aplikace Rozmazání Přímé zprávy mezi členy jsou zakázány. - pro lepší ochranu metadat. Chat již existuje Přes proxy Firemní chaty @@ -2191,7 +2185,6 @@ %s.]]> %1$s.]]> Relace aplikace - Podmínky budou přijaty pro povolené operátory po 30 dnech. Připojení vyžaduje opětovné vyjednání šifrování. Probíhá opětovné vyjednávání o šifrování. Opravit @@ -2206,7 +2199,6 @@ Použijte náhodné přihlašovací údaje Nahlásit spam: uvidí pouze skupinový moderátoři. Přečíst podmínky - Webové stránky Odebírán požádáno o připojení Spam @@ -2222,24 +2214,20 @@ Nedoručené zprávy Tato zpráva byla smazána, nebo dosud nebyla přijata. Důvod nahlášení? - Report bude archivován. Zprávy budou pro všechny členy označeny jako moderované. Reporty Nahlašte profil člena: uvidí pouze skupinový moderátoři. Nahlásit porušení: Uvidí pouze moderátoři skupiny. Zobrazit stav zpráv Přeskočit tuto verzi - Zobrazit seznam v novém okně Aktualizovat aplikaci automaticky Některé soubory nebyly exportovány - Nepřečtené zmínky Sdílet adresu veřejně Sdílent SimpleX adresu na sociálních médiích. Sdílejte 1 rázový odkaz s přítelem SOCKS Proxy Dostupná aktualizace: %s Stabilní - Můžete nastavit operátory v nastavení sítě a serverů. Ocas Zastavíte přijímání zpráv z tohoto chatu. Chat historie bude zachována. Servery pro nové soubory vašeho aktuálního profilu chatu @@ -2274,7 +2262,6 @@ Nahrané soubory Odběr ignorován Verze serveru není kompatibilní s nastavením sítě. - Pro pozdější vytvoření adresy, klepněte v menu na Vytvořit SimpleX adresu. Vaše servery Zobrazit aktualizované podmínky 1 report @@ -2301,8 +2288,6 @@ Chyby nahrávání Soukromé směrování se používá k doručování zpráv těmto serverům, protože k nim nejste připojeni. Velikost - Přečíst později - Aktualizovat %s servery Celkem Verze serveru není kompatibilní s vaší aplikací: %1$s. @@ -2319,7 +2304,6 @@ Vaše kontakty Od %s.\nJsou všechna data uchovávána ve vašem zařízení. Serverový operátoři - Vybrat provozovatele sítě pro použití. Můžete nakonfigurovat servery v nastavení. Zvuk ztlumen Používat aplikaci jednou rukou. @@ -2496,7 +2480,6 @@ Odeslat žádost Odeslat žádost bez zprávy Posílání soukromé zpětné vazby do skupin. - Pošlete kontaktu po připojení. Nastavení bio profilu a uvítací zprávy. Sdílení staré adresy Sdílení starého odkazu @@ -2511,7 +2494,6 @@ Adresa bude krátká a Váš profil bude sdílen prostřednictvím adresy. Odkaz bude krátký a profil skupiny bude sdílen prostřednictvím odkazu. Odesílatel NEBUDE informován. - Toto nastavení je pro váš aktuální profil Čas mizení, je nastaven pouze pro nové kontakty. Pro odeslání příkazů musíte být připojen. Pro použití jiného profilu po pokusu o připojení, smažte chat a znovu použijte odkaz. @@ -2532,7 +2514,6 @@ Smazat zprávy člena? Smazat zprávy Soubory - Filtr Obrázky Odkazy Zprávy člena budou smazány - nelze zrušit! @@ -2582,7 +2563,6 @@ Kanál nemá aktivní relé.\nProsím, zkuste se připojit později. Odkaz kanálu Odkaz kanálu - Členové kanálu Název kanálu Vlastnosti kanálu kanál @@ -2637,7 +2617,6 @@ Chyba Chyba přidávání relé Chyba vytváření kanálu - Chyba otevírání kanálu chyba: %s Chyba ukládání profilu kanálu Chyba sdílení kanálu @@ -2657,7 +2636,6 @@ Připojit ke kanálu Opustit kanál Opustit kanál? - Přidat Přidat relé Přidat relé Povolit odběratelům odesílání přímých zpráv. @@ -2709,7 +2687,6 @@ Na vašem telefonu, ne na serverech. Otevřít kanál Otevřít externí odkaz? - Otevřít nový kanál Nebo ukažte QR osobně nebo prostřednictvím videohovoru. Nebo použijte tento QR kód - tisk nebo zobrazit online. MAJITEL @@ -2776,7 +2753,6 @@ %1$d vlastníci %1$d vlastníků & přispěvatelů %1$s podpořilo SimpleX Chat. Odznak prošel %2$s. - O aplikaci odmítnuto odmítnuto operátorem relé Pokročilé možnosti diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/da/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/da/strings.xml index 82f8ae5770..8c7d92086c 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/da/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/da/strings.xml @@ -438,7 +438,6 @@ Arkivér rapport? Arkivér %d rapporter? Arkivér alle rapporter? - Rapporten vil blive arkiveret for dig. For mig Til alle moderatorer Fejl: %1$s @@ -547,7 +546,6 @@ kontakten skal acceptere… Forbinde med %1$s? Søg eller indsæt SimpleX-link - Tryk på Opret SimpleX-adresse i menuen for at oprette den senere. Ingen chat valgt Intet er valgt Valgte %d @@ -679,8 +677,6 @@ Denne handling kan ikke fortrydes - beskeder sendt og modtaget i denne chat tidligere end valgt vil blive slettet. Deaktiver sletning af beskeder Slet chatbeskeder fra din enhed. - forbinde - åbn besked opkald søg @@ -874,7 +870,6 @@ %1$d ejer %1$d ejere aktiv - Tilføj Tilføj relay Tilføj relays Tilføj relays for at genoprette beskedleveringen. @@ -894,7 +889,6 @@ %1$d abonnent %1$d abonnenter %1$s støttede SimpleX Chat. Mærket udløb den %2$s. - Om accepteret Tilføj bidragsydere. Tilføj beskrivelse @@ -925,11 +919,6 @@ Fingeraftrykket i serveradressen matcher ikke certifikatet: %1$s. Fingeraftrykket i destinations-serveradressen matcher ikke certifikatet: %1$s. Fejl ved markering som læst - Ikke-understøttet navn på kanal - Ikke-understøttet navn på kontakt - Forbindelse gennem kanal-navnet kræver en nyere version af appen. - Forbindelse gennem kontakt-navnet kræver en nyere version af appen. - Opgrader appen. Fejl i SimpleX-navn Ingen af dine servere er sat op til at slå SimpleX-navne op. Konfigurer serverne, eller anvend et forbindelseslink. Navn ikke fundet diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/de/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/de/strings.xml index a057fa5275..f8fa2dbd66 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/de/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/de/strings.xml @@ -1848,11 +1848,9 @@ Ungeschützt Bei unbekannten Servern privates Routing nutzen. KEIN privates Routing nutzen. - Modus für das Nachrichten-Routing Ja Nein Wenn die IP-Adresse versteckt ist - Fallback für das Nachrichten-Routing Nachrichtenstatus anzeigen Herabstufung erlauben Immer privates Routing nutzen. @@ -1893,7 +1891,6 @@ Chat-Farben Chat-Design Passend - Chat-Liste in einem neuen Fenster anzeigen Guten Nachmittag! Guten Morgen! Farben für die dunkle Variante @@ -2058,9 +2055,7 @@ Stark Mittel Aus - Verbinden Nachricht - Öffnen Chat-Inhalte gelöscht! Nur die Chat-Inhalte löschen Suchen @@ -2209,14 +2204,9 @@ Server-Betreiber Netzwerk-Betreiber Die App verwendet für jede Unterhaltung Server von unterschiedlichen Betreibern, um Ihre Privatsphäre zu schützen. - Die Nutzungsbedingungen der aktivierten Betreiber werden nach 30 Tagen akzeptiert. Wenn Ihr Kontakt beispielsweise Nachrichten über einen SimpleX-Chat-Server empfängt, wird Ihre App diese über einen Flux-Server versenden. - Später einsehen - Wählen sie die zu nutzenden Netzwerk-Betreiber aus. - Sie können die Betreiber in den Netzwerk- und Servereinstellungen konfigurieren. Sie können die Server über die Einstellungen konfigurieren. Weiter - Aktualisieren Voreingestellte Server Nutzungsbedingungen einsehen Die Nutzungsbedingungen der aktivierten Betreiber werden am %s automatisch akzeptiert. @@ -2225,7 +2215,6 @@ %s Server Netzwerk-Betreiber Verwende Server - Webseite Verwende %s %s.]]> %s.]]> @@ -2267,12 +2256,10 @@ %s zu nutzen, müssen Sie dessen Nutzungsbedingungen akzeptieren.]]> Fehler beim Akzeptieren der Nutzungsbedingungen Fehler beim Aktualisieren des Servers - für einen besseren Metadatenschutz. Neuer Server Keine Nachricht Keine Server für privates Nachrichten-Routing. Die Adresse öffentlich teilen - Tippen Sie im Menü auf SimpleX-Adresse erstellen, um sie später zu erstellen. Diese Verbindung hat das Limit der nicht ausgelieferten Nachrichten erreicht. Ihr Kontakt ist möglicherweise offline. Diese Nachricht wurde gelöscht oder bisher noch nicht empfangen. Zum Schutz vor dem Austausch Ihres Links können Sie die Sicherheitscodes Ihrer Kontakte vergleichen. @@ -2280,7 +2267,6 @@ %s.]]> Die Nutzungsbedingungen wurden am %s akzeptiert. Der Text der aktuellen Nutzungsbedingungen konnte nicht geladen werden. Sie können die Nutzungsbedingungen unter diesem Link einsehen: - Ferngesteuerte Mobiltelefone Oder importieren Sie eine Archiv-Datei Hinweis für Geräte von Xiaomi: Bitte aktivieren Sie in den System-Einstellungen die Option "Autostart", damit Benachrichtigungen funktionieren.]]> Ende-zu-Ende-verschlüsselt versendet. In Direktnachrichten sogar mit Post-Quantum-Security.]]> @@ -2372,7 +2358,6 @@ Spam Archiv Grund der Meldung? - Die Meldung wird für Sie archiviert. Mitgliederprofil melden: Nur Gruppenmoderatoren werden es sehen. Anderes melden: Nur Gruppenmoderatoren werden es sehen. Verstoß melden: Nur Gruppenmoderatoren werden es sehen. @@ -2409,7 +2394,6 @@ TCP-Port für Nachrichtenübermittlung Sie können bis zu %1$s Mitglieder pro Nachricht erwähnen! Alle stummschalten - Ungelesene Erwähnungen Melden von Nachrichten ist in dieser Gruppe nicht erlaubt. Alle Meldungen archivieren? Archiviere %d Meldungen? @@ -2534,7 +2518,6 @@ Kontakt-Anfrage senden? Anfrage senden Anfrage ohne Nachricht senden - Wird nach der Verbindung an Ihren Kontakt gesendet. Gruppen-Link aktualisieren? Aktualisieren Adresse aktualisieren? @@ -2590,7 +2573,6 @@ Kontaktanfragen in Gruppen Mitglied ist gelöscht - Anfrage kann nicht angenommen werden Angefragte Verbindung von Gruppe %1$s - Diese Einstellung gilt für Ihr aktuelles Profil Erlauben Sie Dateien und Medien nur dann, wenn es Ihr Kontakt ebenfalls erlaubt. Erlauben Sie Ihren Kontakten Dateien und Medien zu senden. Bot @@ -2620,7 +2602,6 @@ Mitglied entfernen und Nachrichten löschen Alle Nachrichten Dateien - Filter Bilder Links Dateien suchen @@ -2650,7 +2631,6 @@ Kanal Kanal Kanallink - Kanal-Mitglieder Kanalname Der Kanal wird für alle Abonnenten gelöscht. Dies kann nicht rückgängig gemacht werden! Der Kanal wird für Sie gelöscht. Dies kann nicht rückgängig gemacht werden! @@ -2680,7 +2660,6 @@ Relais-Name eingeben… Fehler beim Hinzufügen des Relais Fehler beim Erstellen des Kanals - Fehler beim Öffnen des Kanals Fehlgeschlagen Fehlgeschlagen Link erhalten @@ -2697,7 +2676,6 @@ Es sind keine Chat-Relais aktiviert. Es sind nicht alle Relais verbunden Kanal öffnen - Neuen Kanal öffnen Eigentümer Eigentümer und Mitwirkende Voreingestellte Relais-Adresse @@ -2876,7 +2854,6 @@ Die Linkvorschau wird über einen SOCKS-Proxy angefordert. DNS-Abfragen können dennoch lokal über Ihren DNS-Resolver erfolgen. Obere Leiste Ihr neuer Kanal %1$s ist mit %2$d von %3$d Relais verbunden.\nBei Abbruch, wird der Kanal gelöscht. Sie können ihn später neu erstellen. - Hinzufügen Relais hinzufügen Relais hinzufügen Kanal abbrechen und löschen @@ -2913,7 +2890,6 @@ %1$d Eigentümer %1$d Eigentümer und Mitwirkende %1$s hat SimpleX Chat unterstützt. Das Abzeichen ist am %2$s abgelaufen. - Über Bestätigter Relaisbestand Fügen Sie diesen Code in Ihre Webseite ein. Er zeigt die Vorschau Ihres Kanals / Ihrer Gruppe an. Erweiterte Optionen @@ -2924,8 +2900,6 @@ Abzeichen ist nicht verifizierbar Kanal-Webseite Chat-Daten - Die Verbindung über den Kanalnamen erfordert eine neuere App‑Version. - Die Verbindung über den Kontaktnamen erfordert eine neuere App‑Version. Kontakt Mitwirkender Code kopieren @@ -2937,7 +2911,6 @@ Dies wird Abonnenten angezeigt und zum Laden der Vorschau genutzt. Weitere Privatsphäre Nur Ihre oben genannte Seite kann die Vorschau anzeigen. - Bitte die App aktualisieren. %s hat sich am SimpleX Chat-Crowdfunding beteiligt. %s unterstützt SimpleX Chat. Abonnent @@ -2946,8 +2919,6 @@ Die Rolle wird auf %s geändert. Alle Abonnenten werden benachrichtigt. Dieses Abzeichen konnte nicht verifiziert werden und ist möglicherweise nicht echt. Diese Gruppe erfordert eine neuere App‑Version. Bitte aktualisieren Sie die App, um beizutreten. - Kanalname wird nicht unterstützt - Kontaktname wird nicht unterstützt Abzeichen nicht verifiziert Die verwendeten Chat‑Relais unterstützen keine Webseiten. Webseiten-Code @@ -2962,7 +2933,6 @@ Namensauflösungs-Fehler: %1$s Der Server %1$s unterstützt keine Namensauflösung. Konfigurieren Sie Server oder verwenden Sie einen Verbindungslink. SimpleX-Name einrichten - SimpleX-Name Fehler beim SimpleX-Namen SimpleX-Name ist nicht verifiziert Der SimpleX-Name %1$s wurde registriert, aber er hat keinen gültigen Link. diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/el/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/el/strings.xml index 73abd7d876..66cd9cf03b 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/el/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/el/strings.xml @@ -543,7 +543,6 @@ Ολοκληρωμένο Οι όροι έγιναν αποδεκτοί στις: %s. Όροι χρήσης - Οι όροι θα γίνουν αποδεκτοί για τους ενεργούς χειριστές μετά από 30 ημέρες. Οι όροι θα γίνουν αποδεκτοί στις: %s. Οι όροι θα γίνουν αυτόματα αποδεκτοί για τους ενεργούς χειριστές στις: %s. Διαμορφωμένοι SMP διακομιστές @@ -560,7 +559,6 @@ Επιβεβαίωσε ότι θυμάσαι τη φράση πρόσβασης της βάσης δεδομένων για να τη μεταφέρεις. Επιβεβαίωση μεταφόρτωσης Επιβεβαίωση των διαπιστευτηρίων σου - σύνδεση Σύνδεση Σύνδεση Σύνδεση @@ -925,7 +923,6 @@ Αντιστροφή κάμερας Μέγεθος γραμματοσειράς Για όλους τους διαχειριστές - για καλύτερη ιδιωτικότητα μεταδεδομένων Για το προφίλ συνομιλίας %s: Για κονσόλα Για όλους @@ -1216,8 +1213,6 @@ Απαγορεύονται οι αντιδράσεις στα μηνύματα. Απαγορεύονται οι αντιδράσεις στα μηνύματα σε αυτήν τη συνομιλία. Λήψη μηνυμάτων - Εναλλακτική δρομολόγηση μηνυμάτων - Λειτουργία δρομολόγησης μηνυμάτων Μηνύματα Μηνύματα και αρχεία Διακομιστές μηνυμάτων @@ -1289,7 +1284,6 @@ Πάτα Σύνδεση για να συνομιλήσεις Πάτα Σύνδεση για αποστολή αιτήματος Πάτα Σύνδεση για να χρησιμοποιήσεις το μποτ - Πατήστε Δημιουργία διεύθυνσης SimpleX στο μενού, για να τη δημιουργήσετε αργότερα. Πάτα Συμμετοχή στην ομάδα Πάτα για να ενεργοποιήσεις το προφίλ. Πάτα για Σύνδεση @@ -1341,7 +1335,6 @@ Η φράση πρόσβασης αποθηκεύεται στις ρυθμίσεις ως απλό κείμενο. Η φράση πρόσβασης θα αποθηκευτεί στις ρυθμίσεις ως απλό κείμενο μετά την αλλαγή της ή την επανεκκίνηση της εφαρμογής. Το προφίλ κοινοποιείται μόνο στις επαφές σου. - Η αναφορά θα αρχειοθετηθεί για εσένα. Ο ρόλος θα αλλάξει σε %s. Όλοι οι συμμετέχοντες στη συνομιλία θα ειδοποιηθούν. Ο ρόλος θα αλλάξει σε %s. Όλα τα μέλη της ομάδας θα ενημερωθούν. Ο ρόλος θα αλλάξει σε %s. Το μέλος θα λάβει νέα πρόσκληση. @@ -1375,7 +1368,6 @@ Αυτό το μήνυμα διαγράφηκε ή δεν έχει ληφθεί ακόμα. Αυτός ο κωδικός QR δεν είναι σύνδεσμος! Αυτή η ρύθμιση ισχύει για τα μηνύματα στο τρέχον προφίλ συνομιλίας σου. - Αυτή η ρύθμιση αφορά το τρέχον προφίλ σου. Αυτό το κείμενο δεν είναι σύνδεσμος! Αυτό το κείμενο είναι διαθέσιμο στις ρυθμίσεις Εξαντλήθηκε ο χρόνος αναμονής κατά τη σύνδεση με τον υπολογιστή @@ -1438,11 +1430,9 @@ Απενεργοποίηση σίγασης Απροστάτευτο αδιάβαστο - Μη αναγνωσμένες αναφορές Μη υποστηριζόμενος σύνδεσμος σύνδεσης Αναβάθμιση Αναβάθμιση - Αναβάθμιση Διαθέσιμη αναβάθμιση: %s Ενημέρωση φράσης πρόσβασης της βάσης δεδομένων Ενημερωμένοι όροι @@ -1737,7 +1727,6 @@ Μόνο η επαφή σου μπορεί να στείλει μηνύματα που εξαφανίζονται. Μόνο η επαφή σου μπορεί να στείλει αρχεία και πολυμέσα. Μόνο η επαφή σου μπορεί να στείλει φωνητικά μηνύματα. - άνοιγμα Άνοιξε Άνοιγμα Άνοιξε τις ρυθμίσεις της εφαρμογής @@ -1955,7 +1944,6 @@ Ο διακομιστής αναμετάδοσης χρησιμοποιείται μόνο αν είναι απαραίτητο. Οι άλλοι μπορούν να δουν τη διεύθυνση IP σου. Ο διακομιστής αναμετάδοσης προστατεύει τη διεύθυνση IP σου, αλλά μπορεί να παρακολουθεί τη διάρκεια της κλήσης. Υπενθύμιση αργότερα - Απομακρυσμένα κινητά τηλέφωνα Κατάργηση Κατάργηση Κατάργηση και διαγραφή μηνυμάτων @@ -2025,7 +2013,6 @@ Προϋποθέσεις ελέγχου ελέγχθηκε από τους διαχειριστές Έλεγχος μελών ομάδας - Έλεγχος αργότερα Έλεγχος μελών Έλεγχος μελών πριν την αποδοχή τους (knocking). Ανάκληση @@ -2088,7 +2075,6 @@ Επέλεξε επαφές Οι επιλεγμένες προτιμήσεις συνομιλίας απαγορεύουν αυτό το μήνυμα. Επιλέχθηκαν %d - Επέλεξε τους χειριστές δικτύου που θέλεις να χρησιμοποιήσεις. Αυτοκαταστροφή Κωδικός αυτοκαταστροφής Κωδικός αυτοκαταστροφής @@ -2140,7 +2126,6 @@ Τα αποσταλμένα μηνύματα θα διαγραφούν μετά από καθορισμένο χρονικό διάστημα. Απεσταλμένη απάντηση Σύνολο απεσταλμένων - Αποστέλλεται στην επαφή σου μετά τη σύνδεση. Αποστολή μέσω διακομιστή μεσολάβησης Διακομιστής Ο διακομιστής προστέθηκε στο χειριστή %s. @@ -2204,7 +2189,6 @@ Σύντομη διεύθυνση SimpleX Εμφάνιση Εμφάνιση: - Εμφάνιση λίστας μηνυμάτων σε νέο παράθυρο Εμφάνιση κονσόλας τερματικού σε νέο παράθυρο Εμφάνιση επαφής και μηνύματος Εμφάνιση επιλογών για προγραμματιστές @@ -2377,7 +2361,6 @@ Προειδοποίηση: η έναρξη συνομιλίας σε πολλαπλές συσκευές δεν υποστηρίζεται και θα προκαλέσει σφάλματα στην παράδοση των μηνυμάτων. Προειδοποίηση: ενδέχεται να χάσεις ορισμένα δεδομένα! Διακομιστές WebRTC ICE - Ιστοσελίδα Δεν αποθηκεύουμε καμία από τις επαφές ή τα μηνύματά σου (αφού παραδοθούν) στους διακομιστές. εβδομάδες Καλωσόρισες! @@ -2437,7 +2420,6 @@ είσαι παρατηρητής μπλόκαρες %s Μπορείς να το αλλάξεις στις ρυθμίσεις Εμφάνισης. - Μπορείς να διαμορφώσεις τους χειριστές στις ρυθμίσεις Δικτύου & διακομιστών. Μπορείς να διαμορφώσεις τους διακομιστές μέσω των ρυθμίσεων. Μπορείς να αντιγράψεις και να μειώσεις το μέγεθος του μηνύματος για να το στείλεις. Μπορείς να το δημιουργήσεις αργότερα @@ -2513,7 +2495,6 @@ Μεγέθυνση Όλα τα μηνύματα Αρχεία - ΦΙλτράρισμα Εικόνες Σύνδεσμοι Αναζήτηση αρχείων diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/es/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/es/strings.xml index 9274b7a30d..5ba89e4df5 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/es/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/es/strings.xml @@ -1761,8 +1761,6 @@ Enrutamiento privado Servidores desconocidos NO usar enrutamiento privado. - Enrutamiento de mensajes alternativo - Modo de enrutamiento de mensajes No Estado del mensaje Usar enrutamiento privado con servidores desconocidos cuando tu dirección IP no está protegida. @@ -1816,7 +1814,6 @@ Color adicional 2 Configuración avanzada Tema del perfil - Listado del chat en ventana nueva Color imagen de fondo información cola del servidor: %1$s \n @@ -1984,13 +1981,11 @@ Suave Barra de herramientas accesible llamar - conectar ¿Eliminar %d mensajes de miembros? mensaje Mensaje Nada seleccionado Los mensajes se marcarán para eliminar. El destinatario o destinatarios podrán revelar estos mensajes. - abrir Seleccionar Seleccionados %d Configuración @@ -2123,8 +2118,6 @@ ¿Dirección SimpleX o enlace de un solo uso? Operadores de servidores Operadores de red - Las condiciones de los operadores habilitados serán aceptadas después de 30 días. - Revisar más tarde Condiciones aceptadas el: %s. Operador de red Operador @@ -2156,7 +2149,6 @@ Activa Flux en Servidores y Red para mejorar la privacidad de los metadatos. Error al aceptar las condiciones Error al actualizar el servidor - para mejorar la privacidad de los metadatos. Ningún mensaje Servidor nuevo Sin servidores para archivos y multimedia. @@ -2164,11 +2156,8 @@ Sin servidores para recibir mensajes. Servidor del operador O para compartir en privado - Selecciona operadores a usar. Compartir dirección públicamente Compartir enlaces de un solo uso y direcciones SimpleX es seguro a través de cualquier medio. - Actualizar - Sitio web Tus servidores Usar %s Usar servidores @@ -2183,7 +2172,6 @@ solamente con un contacto - comparte en persona o mediante cualquier aplicación de mensajería.]]> Puedes añadir un nombre a la conexión para recordar a quién corresponde. La aplicación protege tu privacidad mediante el uso de diferentes operadores en cada conversación. - Puedes configurar los operadores desde los ajustes de Servidores y Red. %s.]]> %s.]]> %s.]]> @@ -2198,10 +2186,8 @@ %s.]]> %s.]]> Por ejemplo, si tu contacto recibe a través de un servidor de SimpleX Chat, tu aplicación enviará a través de un servidor de Flux. - Pulsa Crear dirección SimpleX en el menú para crearla más tarde. La conexión ha alcanzado el límite de mensajes no entregados. es posible que tu contacto esté desconectado. El mensaje ha sido eliminado o aún no se ha recibido. - Móvil remoto O importa desde un archivo Mensajes directos entre miembros de este chat no permitidos. En dispositivos Xiaomi: por favor, habilita el Autoinicio en los ajustes del sistema para que las notificaciones funcionen.]]> @@ -2281,7 +2267,6 @@ Error al guardar la configuración informe archivado por %s ¿Archivar informe? - El informe será archivado para ti. Informar Eliminar informe 1 informe @@ -2329,7 +2314,6 @@ Se usa el puerto TCP %1$s cuando no se ha especificado otro. Usar puerto web Silenciar todo - Menciones sin leer ¡Puedes mencionar hasta %1$s miembros por mensaje! Los miembros pueden informar de mensajes a los moderadores. No se permite informar de mensajes a los moderadores. @@ -2466,7 +2450,6 @@ Enviar solicitud Enviar solicitud sin mensaje Envía tu comentario privado a los grupos. - Enviadp a tu contacto tras la conexión. ¿Actualizar enlace de grupo? Actualizar ¿Actualizar la dirección? @@ -2510,7 +2493,6 @@ Actualizar enlace de grupo Solicitudes de contacto en grupos conexión solicitada desde el grupo %1$s - Esta configuración se aplica al perfil actual Miembro eliminado, no puede aceptar solicitudes Se permiten archivos y multimedia pero sólo si tu contacto también los permite. Permes que tus contactos envíen archivos y multimedia. @@ -2541,7 +2523,6 @@ Eliminar miembro y sus mensajes Todos los mensajes Archivos - Filtro Imágenes Enlaces Buscar archivos @@ -2592,7 +2573,6 @@ Canal Título completo: Enlace del canal - Miembros canal Título del canal perfil del canal actualizado El canal será eliminado para todos los suscriptores. ¡No puede deshacerse! @@ -2608,7 +2588,6 @@ caído (%1$d intentos) Editar perfil del canal Error al crear el canal - Error al abrir el canal error:%s Error al guardar el perfil del canal fallo @@ -2629,7 +2608,6 @@ Ningún servidor de chat activado. Hay servidores no conectados Abrir canal - Abrir canal nuevo Propietario Propietarios y colaboradores Direcciones predefinidas @@ -2804,7 +2782,6 @@ Las previsualizaciones de enlaces se solicitan a través del proxy SOCKS. Las peticiónes DNS aún pueden usar el DNS local del sistema. Menú superior Tu nuevo canal %1$s está conectado a %2$d de %3$d servidores.\nSi cancelas, el canal será eliminado. Puedes crearlo de nuevo. - Añadir Añadir servidor Añadir servidores Cancelar y eliminar el canal @@ -2843,7 +2820,6 @@ Se mostrará a los suscriptores y se usará para permitir la carga de la vista previa. Más privacidad Solo la página superior puede mostrar la vista previa. - Por favor, actualiza la aplicación. rechazado rechazado por el operador del servidor %s ha participado en la financiación colectiva de SimpleX Chat. @@ -2858,7 +2834,6 @@ %1$d propietarios %1$d propietarios y colaboradores %1$s ha apoyado a SimpleX Chat. La insignia caducó el %2$s. - Acerca de lista confirmada Añade este código a tu web. Mostrará una vista previa de tu canal o grupo. Opciones avanzadas @@ -2871,10 +2846,6 @@ No se pudo verificar la insignia Web del canal Datos del chat - Nombre de canal no compatible - Nombre de contacto no compatible - Para conectarte mediante el nombre del canal es necesaria una versión más reciente de la aplicación. - Para conectarse mediante el nombre de un contacto es necesaria una versión más reciente de la aplicación. Este grupo requiere una versión más reciente de la aplicación. Por favor, actualizala para unirte. Código web Los servidores usados no admiten páginas web. @@ -2892,7 +2863,6 @@ Error de resolución: %1$s El servidor %1$s no admite la resolución de nombres. Configura un servidor, o usa un enlace para conectarte. Escribe el nombre SimpleX - Nombre SimpleX Error del nombre SimpleX Nombre SimpleX no verificado El nombre SimpleX %1$s está registrado, pero no tiene un enlace válido. diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/fa/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/fa/strings.xml index b65fc5ab93..0051298873 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/fa/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/fa/strings.xml @@ -1576,10 +1576,8 @@ هرگز استفاده از مسیریابی خصوصی با سرورهای ناشناخته. استفاده از مسیریابی خصوصی با سرورهای ناشناخته وقتی نشانی IP محافظت نشده است. - حالت مسیریابی پیام بله پیام‌ها مستقیما فرستاده نشود، حتی اگر سرور مقصد شما از مسیریابی خصوصی پشتیبانی نکند. - گزینه پس‌رفت مسیریابی پیام نمایش وضعیت پیام برای محافظت از نشانی IP شما، مسیریابی خصوصی از سرورهای SMP شما به منظور تحویل پیام‌ها استفاده می‌کند. مسیریابی پیام خصوصی @@ -1797,7 +1795,6 @@ اطلاعات صف سرور: %1$s \n \nآخرین پیام دریافتی: %2$s - نمایش فهرست چت در پنجره جدید حالت تاریک سیاه حالت رنگ @@ -1972,7 +1969,6 @@ برای مجوز میکروفون، روی آیکون اطلاعات کنار نوار آدرس کلیک کنید تکمیل شد تایید حذف مخاطب؟ - اتصال اتصال متصل اتصال سریع تر! 🚀 @@ -2049,7 +2045,6 @@ رد شده رد کردن عضو؟ بعداً یادآوری کن - موبایل‌های از راه دور حذف کردن آرشیو؟ از گروه حذف شد اعضا حذف شوند؟ @@ -2075,7 +2070,6 @@ بررسی شرایط بررسی شده توسط مدیران بررسی اعضای گروه - بعداً بررسی شود بررسی اعضا بررسی اعضا قبل از پذیرش (کوبیدن). آیا تنظیمات پذیرش ذخیره شود؟ @@ -2089,7 +2083,6 @@ انتخاب پروفایل چت تنظیمات برگزیده چت، این پیام را ممنوع می‌کند. %d انتخاب شده - اپراتورهای شبکه را برای استفاده انتخاب کنید. تنظیم پذیرش اعضا تنظیم انقضای پیام در چت‌ها. تنظیمات @@ -2131,7 +2124,6 @@ انتها برای چت، روی \"اتصال\" ضربه بزنید. برای ارسال درخواست، روی \"اتصال\" ضربه بزنید. - برای ایجاد آدرس SimpleX در آینده، در منو روی \"ایجاد آدرس SimpleX\" ضربه بزنید. روی \"پیوستن به گروه\" ضربه بزنید. اتصال TCP وقفه زمانی اتصال TCP در پس‌زمینه @@ -2181,7 +2173,6 @@ بخش‌ها بارگذاری شدند شرایط در %s پذیرفته شد. شرایط استفاده - شرایط برای اپراتورهای فعال پس از ۳۰ روز پذیرفته خواهد شد. شرایط در: %s پذیرفته خواهد شد. شرایط به‌طور خودکار برای اپراتورهای فعال در: %s پذیرفته خواهد شد. سرورهای SMP پیکربندی‌شده @@ -2307,7 +2298,6 @@ خاموش فقط مالکین چت می‌توانند تنظیمات را تغییر دهند. فقط گفتگو حذف شود - باز کردن باز کردن تغییرات - باز کردن چت برای اولین پیام خوانده نشده.\n- پرش به پیام‌های نقل‌قول شده. شرایط باز کردن @@ -2354,7 +2344,6 @@ اتصال اصلاح شود؟ اندازه فونت برای همه مدیران - برای بهبود حریم خصوصی فراداده. به عنوان مثال، اگر مخاطب شما پیام‌ها را از طریق یک سرور چت SimpleX دریافت کند، برنامه شما آن‌ها را از طریق یک سرور Flux تحویل خواهد داد. برای من برای مسیریابی خصوصی @@ -2407,7 +2396,6 @@ مستقیم ارسال شد پیام‌های ارسال شده تعداد کل ارسال شده - پس از اتصال به مخاطب شما ارسال شد. توسط پروکسی ارسال شد سرور سرور به اپراتور %s اضافه شد. @@ -2418,7 +2406,6 @@ اطلاعات سرورها آمار سرورها بازنشانی خواهد شد - این عمل غیرقابل بازگشت است! نام چت را تنظیم کنید… - گزارش برای شما بایگانی خواهد شد. نقش به %s تغییر خواهد کرد. همه در چت مطلع خواهند شد. دومین اپراتور پیش‌فرض در برنامه! فرستنده مطلع نخواهد شد. @@ -2437,8 +2424,6 @@ شفافیت جلسات Transport رفع انسداد اعضا برای همه؟ - منشن‌های خوانده نشده - به‌روزرسانی به‌روزرسانی موجود است: %s شرایط به‌روزرسانی شده دانلود به‌روزرسانی لغو شد @@ -2461,7 +2446,6 @@ ویدئو مشاهده شرایط مشاهده شرایط به‌روزرسانی شده - وب‌سایت پیام خوش‌آمدگویی زمانی که بیش از یک اپراتور فعال است، هیچ‌کدام از آن‌ها فراداده‌ای برای فهمیدن اینکه چه کسی با چه کسی ارتباط برقرار می‌کند، ندارند. سرور XFTP @@ -2469,7 +2453,6 @@ شما این عضو را پذیرفتید شما به این سرورها متصل نیستید. از مسیریابی خصوصی برای ارسال پیام‌ها به آن‌ها استفاده می‌شود. شما می‌توانید آن را در تنظیمات ظاهر تغییر دهید. - شما می‌توانید اپراتورها را در تنظیمات شبکه و سرورها پیکربندی کنید. شما می‌توانید سرورها را از طریق تنظیمات پیکربندی کنید. شما می‌توانید پیام را کپی کرده و اندازه آن را کاهش دهید تا ارسال شود. شما می‌توانید در هر پیام تا %1$s عضو را منشن کنید! @@ -2510,7 +2493,6 @@ ۴ زبان جدید رابط کاربری کاتالان، اندونزیایی، رومانیایی و ویتنامی - با تشکر از کاربران ما! عضو حذف شده است - نمی‌توان درخواست را قبول کرد - این تنظیمات برای پروفایل فعلی شماست درخواست‌های تماس از گروه‌ها درخواست اتصال از گروه %1$s برای استفاده از ربات باز کنید diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/fr/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/fr/strings.xml index bfbe32e819..572b10c988 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/fr/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/fr/strings.xml @@ -1764,13 +1764,11 @@ Toujours Routage privé Autoriser la rétrogradation - Mode de routage des messages Jamais Serveurs inconnus Non Lorsque l\'IP est masquée Oui - Rabattement du routage des messages Afficher le statut du message Protection de l\'adresse IP Fichiers @@ -1803,7 +1801,6 @@ Protégez votre adresse IP des relais de messagerie choisis par vos contacts. \nActivez-le dans les paramètres *Réseau et serveurs*. Réinitialiser au thème de l\'utilisateur - Afficher la liste des conversations dans une nouvelle fenêtre Teinte du fond d\'écran Fond d\'écran info sur la file du serveur : %1$s @@ -1979,9 +1976,7 @@ Off Léger Paramètres - se connecter message - ouvrir Confirmer la suppression du contact ? Le contact sera supprimé — cette action est irréversible ! Supprimer sans notification @@ -2171,7 +2166,6 @@ Appareils Xiaomi : veuillez activer le démarrage automatique dans les paramètres du système pour que les notifications fonctionnent.]]> La conversation sera supprimée pour tous les membres — cette action est irréversible ! La conversation sera supprimée pour vous — cette action est irréversible ! - Les conditions seront acceptées pour les opérateurs activés après 30 jours. La connexion nécessite une renégociation du chiffrement. avec un seul contact - partagez en personne ou via n\'importe quelle messagerie.]]> Adresse ou lien unique ? @@ -2188,7 +2182,6 @@ Pas de serveurs pour recevoir des messages. Pas de message Pour les réseaux sociaux - Vérifier plus tard Serveurs prédéfinis Signaler autre : seuls les modérateurs du groupe le verront. Activer les journaux (logs) @@ -2216,7 +2209,6 @@ Le protocole du serveur a été modifié. Activez Flux dans les paramètres Réseau et serveurs pour une meilleure confidentialité des métadonnées. Ce message a été supprimé ou n\'a pas encore été reçu. - Appuyez sur Créer une adresse SimpleX dans le menu pour la créer ultérieurement. Partager publiquement votre adresse Par exemple, si votre contact reçoit des messages via un serveur SimpleX Chat, votre application les transmettra via un serveur Flux. Seuls les propriétaires peuvent modifier les préférences. @@ -2245,7 +2237,6 @@ Pas de serveurs pour envoyer des fichiers. Veuillez réduire la taille du message et envoyer le à nouveau. Veuillez réduire la taille du message ou supprimer le média et renvoyer le message. - pour une meilleure protection des métadonnées. - Premier message non lu à l\'ouverture.\n- Sauter aux messages cités. Respect de la vie privée de vos clients. Le deuxième opérateur prédéfini de l\'application ! @@ -2260,7 +2251,6 @@ La connexion a atteint la limite des messages non délivrés, votre contact est peut-être hors ligne. Serveur ajouté à l\'opérateur %s. L\'application protège votre vie privée en utilisant des opérateurs différents pour chaque conversation. - Sélectionnez les opérateurs de réseau à utiliser. SimpleX Chat et Flux ont conclu un accord pour intégrer à l’application des serveurs opérés par Flux. Notes Ou à partager en privé @@ -2272,17 +2262,14 @@ Pour vous protéger contre le remplacement de votre lien, vous pouvez comparer les codes de sécurité des contacts. Comment il contribue à la protection de la vie privée Motif du signalement ? - Le rapport sera archivé pour vous. Contenu inapproprié Nouveau serveur Vous pouvez configurer les serveurs via les paramètres. Pour envoyer Profil inapproprié - Site web Liste Signalement des membres Modifier l\'ordre - Mise à jour Les messages directs entre membres sont interdits dans cette discussion. Non Oui @@ -2310,9 +2297,7 @@ Navigation améliorée dans les discussions Lorsque plusieurs opérateurs sont activés, aucun d\'entre eux ne dispose de métadonnées permettant de savoir qui communique avec qui. Le message est trop volumineux ! - Mobiles à distance Modifier la liste - Vous pouvez définir les opérateurs dans les paramètres Réseau et serveurs. Transparence Vous pouvez définir un nom de connexion pour vous rappeler avec qui le lien a été partagé. Autoriser le signalement des messages aux modérateurs. @@ -2425,7 +2410,6 @@ Envoyer la demande Envoyer la demande sans message Envoyez vos commentaires privés aux groupes. - Envoyé à votre contact après la connexion. Le serveur requiert une autorisation pour se connecter au relais, vérifiez le mot de passe. Avertissement du serveur Partager l\'ancienne adresse @@ -2441,11 +2425,9 @@ L\'adresse sera courte et votre profil sera partagé via l\'adresse. Le lien sera court, et le profil de groupe sera partagé via le lien. L\'expéditeur n\'en sera PAS informé. - Ce réglage est pour votre profil actuel Propriétaires & contributeurs contributeur Description - Ajouter Ajouter une description Votre réseau vous @@ -2456,7 +2438,6 @@ Votre canal Lien de canal Lien de canal - Membres du canal Nom du canal Préférences du canal profil du canal mis à jour @@ -2504,7 +2485,6 @@ Vidéos Messages vocaux Liens - Filtre Depuis l\'historique Parler à quelqu\'un Permettez à quelqu\'un de se connecter à vous @@ -2561,11 +2541,6 @@ Délai d\'attente dépassé pour le routage privé L’empreinte de l’adresse du serveur de transfert ne correspond pas au certificat : %1$s. L’empreinte de l’adresse du serveur de destination ne correspond pas au certificat : %1$s. - Nom de canal non pris en charge - Nom de contact non pris en charge - La connexion via un nom de canal nécessite une version plus récente de l\'application. - La connexion via un nom de contact nécessite une version plus récente de l\'application. - Veuillez mettre à jour l\'application. Erreur de nom SimpleX Aucun de vos serveurs n\'est configuré pour résoudre les noms SimpleX. Configurez des serveurs ou utilisez un lien de connexion. Le serveur %1$s ne prend pas en charge la résolution de nom. Configurez les serveurs ou utilisez un lien de connexion. @@ -2605,11 +2580,9 @@ Le canal exigeait que ce message soit signé, mais la signature est manquante. Accepter la demande de contact Le membre a été supprimé : impossible d\'accepter la demande. - Mentions non lues Vérifier le nom Vérifier les noms SimpleX Nom SimpleX non vérifié - Nom SimpleX Votre nom SimpleX Définir un nom SimpleX Erreur lors de l\'enregistrement du nom @@ -2676,7 +2649,6 @@ L\'application a supprimé ce message après %1$d tentatives de réception. Supprimer le suivi des liens Demandes de contact dans les groupes - À propos Contact Soutenir le projet Aide et support @@ -2906,9 +2878,7 @@ Le canal commencera à fonctionner avec %1$d relais sur %2$d. Continuer ? Il s’agit d’une adresse de relais de messagerie, elle ne peut pas être utilisée pour se connecter. Ouvrir le canal - Ouvrir un nouveau canal %1$s !]]> - Erreur lors de l\'ouverture du canal Débloquer l\'abonné pour tout le monde ? Activer les aperçus de liens ? L’aperçu du lien sera demandé via le proxy SOCKS. La résolution DNS peut néanmoins toujours être effectuée localement via votre résolveur DNS. diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/hr/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/hr/strings.xml index 3493f56711..7be983c71a 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/hr/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/hr/strings.xml @@ -137,7 +137,6 @@ Odstraniti %d poruke? Odstraniti Podešavanje - Ažuriraj Odstraniti sve datoteke Odstraniti profil razgovora? Poruke @@ -196,7 +195,6 @@ Dodaj prijatelja Dodaj člana tima Arhiva - poveži Kamera Više Otključaj @@ -502,7 +500,6 @@ Vaši kontakti Ne Započeti razgovor? - otvoriti Nastaviti Otvoriti Pozadina @@ -865,7 +862,6 @@ autor Izvesti temu Žive poruke - Website dani Prosleđivanje %1$s poruka Kada je dostupno @@ -880,7 +876,6 @@ Nalepiti link koji ste primili Oceniti aplikaciju Nema nepročitanih razgovora - Izveštaj će biti arhiviran za Vas. Sačuvati neiskorišćenu pozivnicu? Glasovna poruka… Koristiti trenutni profil @@ -1110,7 +1105,6 @@ Unos pin koda Prosleđena poruka Ništa za prosleđivanje - Pregledati kasnije kontakt ima e2e šifrovanje Zaključati nakon Skriven kontakt: diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/hu/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/hu/strings.xml index 504d68b1a0..82518712da 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/hu/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/hu/strings.xml @@ -1749,11 +1749,9 @@ Privát útválasztás Privát útválasztás használata az ismeretlen kiszolgálókhoz. Privát útválasztás használata minden esetben. - Üzenet-útválasztási mód Közvetlen üzenetküldés, ha az IP-cím védett és a saját kiszolgálója vagy a célkiszolgáló nem támogatja a privát útválasztást. Közvetlen üzenetküldés, ha a saját kiszolgálója vagy a célkiszolgáló nem támogatja a privát útválasztást. Az IP-cím védelmének érdekében a privát útválasztás az SMP-kiszolgálókat használja az üzenetek kézbesítéséhez. - Üzenet-útválasztási tartalék Privát üzenet-útválasztás Privát útválasztás használata az ismeretlen kiszolgálókkal, ha az IP-cím nem védett. NE küldjön üzeneteket közvetlenül, még akkor sem, ha a saját kiszolgálója vagy a célkiszolgáló nem támogatja a privát útválasztást. @@ -1778,7 +1776,6 @@ Csevegés témája Kitöltés Profiltéma - Csevegési lista megjelenítése új ablakban Világos Világos mód Fogadott válaszüzenet-buborék színe @@ -1952,7 +1949,6 @@ hívás A partner törölve lesz – ez a művelet nem vonható vissza! Csak a beszélgetés törlése - megnyitás Beszélgetés törölve! Partner törölve! Archivált partnerek @@ -1969,7 +1965,6 @@ üzenet Beszélgetés megtartása Biztosan törli a partnert? - kapcsolódás Könnyen elérhető eszköztárak Törlés értesítés nélkül Beállítások @@ -2098,7 +2093,6 @@ A kapcsolat elérte a kézbesítetlen üzenetek számának határát, a partnere lehet, hogy offline állapotban van. Nincs üzenet Ez az üzenet törölve lett vagy még nem érkezett meg. - Koppintson a SimpleX-cím létrehozása menüpontra a későbbi létrehozáshoz. Cím nyilvános megosztása SimpleX-cím megosztása a közösségi médiában. Egyszer használható meghívó megosztása egy baráttal @@ -2115,12 +2109,7 @@ Hálózatüzemeltetők Az alkalmazás úgy védi az adatait, hogy minden egyes beszélgetéshez más-más üzemeltetőt használ. Például, ha a partnere egy SimpleX Chat kiszolgálón keresztül fogadja az üzeneteket, akkor az Ön alkalmazása egy Flux kiszolgálón keresztül fogja azokat kézbesíteni. - Jelölje ki a használni kívánt hálózatüzemeltetőket. - Felülvizsgálat később A kiszolgálókat a „Hálózat és kiszolgálók” menüben konfigurálhatja. - A feltételek 30 nap elteltével lesznek elfogadva az engedélyezett üzemeltetők számára. - Az üzemeltetőket a „Hálózat és kiszolgálók” menüben konfigurálhatja. - Frissítés Folytatás Feltételek felülvizsgálata Elfogadott feltételek @@ -2130,7 +2119,6 @@ %s.]]> %s kiszolgáló Hálózatüzemeltető - Weboldal Feltételek elfogadásának ideje: %s. A feltételek el lesznek fogadva a következő időpontban: %s. Kiszolgálók használata @@ -2166,13 +2154,11 @@ A második előre beállított üzemeltető az alkalmazásban! A Flux kiszolgálókat engedélyezheti a beállításokban, a „Hálózat és kiszolgálók” menüben, a metaadatok jobb védelme érdekében. Eszköztárak - a metaadatok jobb védelme érdekében. Továbbfejlesztett csevegési navigáció - Csevegés megnyitása az első olvasatlan üzenetnél.\n- Ugrás az idézett üzenetekre. Frissített feltételek megtekintése A jelenlegi csevegési profiljához tartozó új fájlok kiszolgálói Vagy archívumfájl importálása - Távoli hordozható eszközök Xiaomi eszközök: engedélyezze az automatikus indítást a rendszerbeállításokban, hogy az értesítések működjenek.]]> Másolhatja és csökkentheti az üzenet méretét a küldéshez. Adja hozzá a munkatársait a beszélgetésekhez. @@ -2253,7 +2239,6 @@ Elrendezés módosítása Hiba történt a jelentés létrehozásakor Hiba történt a beállítások mentésekor - A jelentés archiválva lesz az Ön számára. Tartalom jelentése: csak a csoport moderátorai látják. Archívum Archiválja a jelentést? @@ -2302,7 +2287,6 @@ A következő TCP-port használata, amikor nincs port megadva: %1$s. TCP-port az üzenetváltáshoz Webport használata - Olvasatlan említések Összes némítása Legfeljebb %1$s tagot említhet meg egy üzenetben! Az üzenetek jelentése a moderátorok felé engedélyezve van. @@ -2431,7 +2415,6 @@ Partneri kapcsolatkérés elutasítása A kérés küldője NEM lesz értesítve. Saját profil - Elküldés a partnernek a kapcsolódást követően. Üdvözlőüzenet Frissíti a címet? A cím rövid lesz és a profil meg lesz osztva a címen keresztül. @@ -2486,7 +2469,6 @@ Partneri kapcsolatkérések a csoportok tagjaitól A tag törölve lett – nem lehet elfogadni a kérést a(z) %1$s nevű csoportból partneri kapcsolatot kért - Ez a beállítás a jelenlegi profiljára vonatkozik Megnyitás a bot használatához Koppintson a „Kapcsolódás” gombra a bot használatához Bot @@ -2516,7 +2498,6 @@ Eltávolítás és az üzeneteinek törlése Összes üzenet Fájlok - Szűrő Képek Hivatkozások Fájlok keresése @@ -2535,7 +2516,6 @@ Csatorna Csatorna Csatornahivatkozás - Csatornatagok Csatorna neve Kapcsolódás kapcsolódott @@ -2550,7 +2530,6 @@ új meghíva Csatorna megnyitása - Új csatorna megnyitása Tulajdonos Tulajdonosok és közreműködők Csatorna elhagyása @@ -2633,7 +2612,6 @@ Átjátszó címe Ez egy csevegési átjátszó címe, nem használható kapcsolódásra. %1$s nevű csatornához!]]> - Hiba történt a csatorna megnyitásakor Az összes feliratkozó számára feloldja a feliratkozó letiltását? Átjátszó tesztelése a nevének lekéréséhez.]]> Csatorna teljes neve: @@ -2773,7 +2751,6 @@ Felső sáv Az új %1$s nevű csatornája %3$d átjátszóból %2$d átjátszóhoz kapcsolódott.\nHa visszavonja, akkor a csatorna törlődni fog – de később újra létrehozhatja. Visszavonás és a csatorna törlése - Hozzáadás Átjátszó hozzáadása Átjátszók hozzáadása %d átjátszó kiválasztva @@ -2805,14 +2782,8 @@ az átjátszó üzemeltetője elutasította Az alkalmazás már fut Lehet, hogy egy másik alkalmazáspéldány fut, vagy nem zárult be megfelelően. Így is elindítja? - Nem támogatott csatornanév - Nem támogatott partnernév - A csatorna nevén keresztüli kapcsolódáshoz újabb alkalmazásverzió szükséges. - A partner nevén keresztüli kapcsolódáshoz újabb alkalmazásverzió szükséges. - Frissítse az alkalmazást. Alkalmazásfrissítés szükséges Ehhez a csoporthoz az alkalmazás újabb verziója szükséges. A csatlakozáshoz frissítse az alkalmazást. - Névjegy Kapcsolat A projekt támogatása Csevegési adatok @@ -2862,7 +2833,6 @@ Név ellenőrzése SimpleX-nevek ellenőrzése Nincs ellenőrizve a SimpleX-név - SimpleX-név Saját SimpleX-név SimpleX-név beállítása Hiba történt a név mentésekor diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/in/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/in/strings.xml index b5c35bc7c6..ea18b5e428 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/in/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/in/strings.xml @@ -545,7 +545,6 @@ Terlalu banyak video! Pesan suara pesan - buka Sistem setel alamat kontak baru Tema gelap @@ -969,8 +968,6 @@ Versi inti: v%s Ketika IP disembunyikan Warna antarmuka - Fallback perutean pesan - Mode routing pesan Routing pribadi JANGAN gunakan routing pribadi. Gunakan routing pribadi dengan server yang tak dikenal ketika alamat IP tidak dilindungi. @@ -1330,7 +1327,6 @@ Buat grup Nama lengkap grup: Simpan profil grup - Peramban Server Anda Gagal simpan profil grup %s server @@ -1389,7 +1385,6 @@ Operator server Operator jaringan Aplikasi ini melindungi privasi Anda dengan gunakan operator yang berbeda setiap percakapan. - Ketentuan akan diterima untuk operator yang diaktifkan setelah 30 hari. Alat pengembang Warna obrolan permintaan koneksi @@ -1416,7 +1411,6 @@ %1$s!]]> Batal pindah Potongan diunggah - hubungkan Percakapan dihapus! Pesan sementara Hapus catatan pribadi? @@ -1487,7 +1481,6 @@ Permintaan koneksi terkirim! Keamanan koneksi Nama telah benar untuk %s? - Anda dapat konfigurasi operator di pengaturan Jaringan dan server. Kesalahan basis data Frasa sandi basis data berbeda dengan yang disimpan di Keystore. Ubah peran grup? @@ -1589,14 +1582,11 @@ Tiada layanan latar belakang Aplikasi selalu berjalan di latar belakang Periksa pesan setiap 10 menit - Pilih operator jaringan yang akan digunakan. Misalnya, jika kontak Anda menerima pesan melalui server SimpleX Chat, aplikasi Anda akan mengirimkannya melalui server Flux. Bagaimana ini membantu privasi Lanjutkan Anda dapat konfigurasi server di pengaturan. repositori GitHub kami.]]> - Nilai nanti - Perbarui Rincian tautan unduhan untuk setiap profil obrolan yang Anda miliki di aplikasi.]]> untuk setiap kontak dan anggota grup.\nHarap diperhatikan: jika Anda memiliki banyak koneksi, konsumsi baterai dan lalu lintas dapat jauh lebih tinggi dan beberapa koneksi mungkin gagal.]]> @@ -1696,7 +1686,6 @@ negosiasi ulang enkripsi diperlukan negosiasi ulang enkripsi diizinkan untuk %s Aktifkan Flux di pengaturan Jaringan dan server untuk privasi metadata yang lebih baik. - untuk privasi metadata lebih baik. Navigasi obrolan ditingkatkan Galat Selesaikan migrasi pada perangkat lain. @@ -1907,7 +1896,6 @@ Anda dapat bagikan alamat sebagai tautan atau kode QR - siapa pun dapat terhubung dengan Anda. Simpan Jadikan profil pribadi! - Ponsel jarak jauh Jalankan obrolan Harap simpan frasa sandi dengan aman, Anda TIDAK akan dapat mengakses obrolan jika hilang. dihapus %1$s @@ -2197,14 +2185,12 @@ Gambar tidak dapat didekodekan. Silakan coba gambar lain atau hubungi pengembang. Kunci salah atau koneksi tidak dikenal - kemungkinan besar koneksi ini dihapus. Mulai obrolan baru - Ketuk Buat alamat SimpleX di menu untuk membuatnya nanti. Untuk terhubung, kontak Anda dapat pindai kode QR atau gunakan tautan di aplikasi. Profil Anda %1$s akan dibagikan. Untuk melindungi tautan Anda dari penggantian, Anda dapat membandingkan kode keamanan kontak. Pembaruan unduhan dibatalkan Profil Anda saat ini Anda menggunakan profil samaran untuk grup ini - untuk mencegah berbagi profil utama Anda, undang kontak tidak diizinkan - Lihat daftar obrolan di jendela baru Anda mengirim undangan grup Tautan ini bukan tautan koneksi yang valid! Anda akan berhenti menerima pesan dari grup ini. Riwayat obrolan akan disimpan. @@ -2277,7 +2263,6 @@ Laporkan profil anggota: hanya moderator grup yang akan melihat. Arsip laporan? Berkas diblokir oleh operator server:\n\n%1$s. - Laporan akan diarsipkan untuk Anda. moderator Laporkan konten: hanya moderator grup yang akan melihat. Ubah daftar @@ -2305,7 +2290,6 @@ 1 tahun bawaan (%s) Bisukan semua - Sebutan belum terbaca Port TCP untuk pesan Gunakan port TCP %1$s jika tidak ada port yang ditentukan. Gunakan port peramban @@ -2474,7 +2458,6 @@ Kirim permintaan Kirim permintaan tanpa pesan Kirimkan masukan pribadi Anda ke grup. - Dikirim ke kontak Anda setelah terhubung. Pasang bio profil dan pesan sambutan. Bagikan alamat lama Bagikan tautan lama @@ -2496,7 +2479,6 @@ Alamat akan singkat, dan profil Anda akan dibagikan melalui alamat tersebut. Tautan akan singkat, dan profil grup akan dibagikan melalui tautan tersebut. Pengirim TIDAK akan diberi tahu. - Pengaturan ini untuk profil Anda saat ini Waktu menghilang hanya diatur untuk kontak baru. Untuk mengirim perintah, Anda harus terhubung. Untuk menggunakan profil lain setelah mencoba hubungkan, hapus chat dan gunakan tautan lagi. @@ -2535,11 +2517,9 @@ %1$d pelanggan %1$d pelanggan %1$s mendukung SimpleX Chat. Lencana berakhir pada %2$s. - Tentang diterima daftar yang di akui aktif - Tambahkan Tambah relay Tambah relay Tambahkan relay untuk memulihkan pengiriman pesan. @@ -2572,7 +2552,6 @@ Gagal menyiarkan Saluran Tautan saluran - Anggota saluran Nama saluran Preferensi saluran Profil saluran disimpan di perangkat pelanggan dan di relai obrolan. @@ -2602,8 +2581,6 @@ Hubungkan terhubung menghubungkan - Menghubungkan melalui nama saluran memerlukan versi aplikasi yang lebih baru. - Menghubungkan melalui nama kontak memerlukan versi aplikasi yang lebih baru. Koneksi gagal Hubungkan melalui tautan atau kode QR Kontak @@ -2648,7 +2625,6 @@ Galat saat menambahkan relai Galat saat membuat saluran Gagal menghapus pesan - Galat saat membuka saluran galat: %s Galat saat menyimpan profil saluran Galat saat membagikan saluran @@ -2656,7 +2632,6 @@ gagal gagal Berkas - Filter Agar siapa pun dapat menghubungi Anda Dari riwayat (dari pemilik) @@ -2705,9 +2680,6 @@ Tidak ada relai Tidak ada relay yang dipilih Perekaman suara tidak didukung di platform Anda. - Nama saluran tidak didukung - Nama kontak tidak didukung - Silakan perbarui aplikasinya. Grup ini membutuhkan versi aplikasi yang lebih baru. Silakan perbarui aplikasi untuk bergabung. Cari gambar Cari video diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/it/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/it/strings.xml index 16ba6db570..2f19777c2b 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/it/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/it/strings.xml @@ -1772,12 +1772,10 @@ Mai Server sconosciuti Usa l\'instradamento privato con server sconosciuti. - Modalità instradamento messaggio Usa l\'instradamento privato con server sconosciuti quando l\'indirizzo IP non è protetto. Sì Invia messaggi direttamente quando il tuo server o quello di destinazione non supporta l\'instradamento privato. Quando l\'IP è nascosto - Ripiego instradamento messaggio Mostra stato del messaggio Consenti downgrade Sempre @@ -1819,7 +1817,6 @@ Adatta Risposta inviata Imposta tema predefinito - Mostra la lista di chat in una nuova finestra Sistema Tinta dello sfondo Buon pomeriggio! @@ -1989,7 +1986,6 @@ Forte chiama messaggio - apri cerca Impostazioni Elimina senza avvisare @@ -2016,7 +2012,6 @@ Invia un messaggio per attivare le chiamate. video Puoi ancora vedere la conversazione con %1$s nell\'elenco delle chat. - connetti Contatto eliminato! Confermare l\'eliminazione del contatto? Chatta @@ -2134,12 +2129,8 @@ O per condividere in modo privato Operatori di rete L\'app protegge la tua privacy usando diversi operatori per ogni conversazione. - Puoi configurare gli operatori nelle impostazioni di rete e server. Operatori del server - Seleziona gli operatori di rete da usare. Continua - Aggiornamento - Leggi più tardi Server preimpostati Condizioni accettate Le condizioni verranno accettate automaticamente per gli operatori attivati il: %s. @@ -2151,7 +2142,6 @@ Operatore di rete Server di %s Usa %s - Sito web %s.]]> Condizioni accettate il: %s. Operatore @@ -2189,18 +2179,15 @@ Indirizzo o link una tantum? Impostazioni dell\'indirizzo con un solo contatto - condividilo di persona o tramite un messenger.]]> - Le condizioni verranno accettate per gli operatori attivati dopo 30 giorni. Le condizioni verranno accettate il: %s. Errore di accettazione delle condizioni Errore di salvataggio dei server - per una migliore privacy dei metadati. Ad esempio, se il tuo contatto riceve i messaggi tramite un server di SimpleX Chat, la tua app li consegnerà tramite un server di Flux. Navigazione della chat migliorata Nuovo server Usa per i file Indirizzo SimpleX o link una tantum? Questo messaggio è stato eliminato o non ancora ricevuto. - Tocca Crea indirizzo SimpleX nel menu per crearlo più tardi. La connessione ha raggiunto il limite di messaggi non consegnati, il contatto potrebbe essere offline. Usa i server Puoi configurare i server nelle impostazioni. @@ -2212,7 +2199,6 @@ Condividi indirizzo pubblicamente Condividi l\'indirizzo SimpleX sui social media. O importa un file dell\'archivio - Telefoni remoti I messaggi diretti tra i membri sono vietati in questa chat. Dispositivi Xiaomi: attiva l\'avvio automatico nelle impostazioni di sistema per fare funzionare le notifiche.]]> Aggiungi i membri del tuo team alle conversazioni. @@ -2303,7 +2289,6 @@ Spam Segnala Motivo della segnalazione? - La segnalazione verrà archiviata per te. Segnala profilo: solo i moderatori del gruppo lo vedranno. Segnala spam: solo i moderatori del gruppo lo vedranno. Segnala violazione: solo i moderatori del gruppo lo vedranno. @@ -2339,7 +2324,6 @@ Porta TCP per i messaggi Usa porta web Silenzia tutto - Menzioni non lette Puoi menzionare fino a %1$s membri per messaggio! I membri possono segnalare messaggi ai moderatori. Archiviare tutte le segnalazioni? @@ -2465,7 +2449,6 @@ Inviare una richiesta di contatto? Invia richiesta Invia richiesta senza messaggio - Inviato al tuo contatto dopo la connessione. Aggiornare il link del gruppo? Aggiorna Aggiornare l\'indirizzo? @@ -2521,7 +2504,6 @@ Richieste di contatto nei gruppi Il membro è eliminato - impossibile accettare la richiesta connessione richiesta dal gruppo %1$s - Questa impostazione è per il tuo profilo attuale Consenti file e contenuti multimediali solo se il tuo contatto li consente. Consenti ai tuoi contatti di inviare file e contenuti multimediali. Bot @@ -2560,7 +2542,6 @@ Cerca messaggi vocali Video Messaggi vocali - Filtro Connessione fallita fallito Se sei dentro canali o ne hai creati, essi smetteranno di funzionare definitivamente. @@ -2580,7 +2561,6 @@ Canale Canale Link del canale - Membri del canale Nome del canale Il canale verrà eliminato per tutti gli iscritti, non è reversibile! Il canale verrà eliminato per te, non è reversibile! @@ -2610,7 +2590,6 @@ Inserisci il nome del relay… Errore di aggiunta del relay Errore di creazione del canale - Errore di apertura del canale fallito fallito Ottieni link @@ -2624,7 +2603,6 @@ Nessun relay di chat attivato. Non tutti i relay sono connessi Apri canale - Apri il nuovo canale Proprietario Proprietari e collaboratori Indirizzo relay preimpostato @@ -2807,7 +2785,6 @@ L\'anteprima del link verrà richiesta via proxy SOCKS. La ricerca DNS può ancora accadere localmente tramite il tuo risolutore DNS. Barra superiore Il tuo nuovo canale %1$s è connesso a %2$d di %3$d relay.\nSe annulli, il canale verrà eliminato. Potrai crearlo di nuovo. - Aggiungi Aggiungi relay Aggiungi relay Annulla ed elimina il canale @@ -2844,7 +2821,6 @@ %1$d proprietari %1$d proprietari e collaboratori %1$s ha sostenuto SimpleX Chat. La targhetta è scaduta il %2$s. - Informazioni lista riconosciuta Aggiungi questo codice alla tua pagina web. Mostrerà l\'anteprima del tuo canale / gruppo. Opzioni avanzate @@ -2855,8 +2831,6 @@ La targhetta non può essere verificata Pagina web del canale Dati della chat - La connessione tramite nome del canale richiede una versione dell\'app più recente. - La connessione tramite nome del contatto richiede una versione dell\'app più recente. Contatto collaboratore Copia codice @@ -2868,7 +2842,6 @@ Verrà mostrato agli iscritti e usato per permettere il caricamento dell\'anteprima. Più privacy Solo la tua pagina soprastante può mostrare l\'anteprima. - Aggiorna l\'app. %s ha investito nella raccolta fondi di SimpleX Chat. %s sostiene SimpleX Chat. iscritto @@ -2877,8 +2850,6 @@ Il ruolo verrà cambiato in "%s". Verrà avvisato chiunque nel canale. Non è stato possibile verificare questa targhetta e potrebbe non essere autentica. Questo gruppo richiede una versione dell\'app più recente. Aggiorna l\'app per entrare. - Nome del canale non supportato - Nome del contatto non supportato Targhetta non verificata I relay di chat usati non supportano le pagine web. Codice pagina web @@ -2893,7 +2864,6 @@ Errore del risolutore: %1$s Il server %1$s non supporta la risoluzione dei nomi. Configura i server o usa un link di connessione. Imposta nome SimpleX - Nome SimpleX Errore del nome SimpleX Nome SimpleX non verificato Il nome SimpleX %1$s è registrato, ma non ha alcun link valido. diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/iw/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/iw/strings.xml index 8487614c9a..a2113482d9 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/iw/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/iw/strings.xml @@ -1738,7 +1738,6 @@ אוזניות ערכת נושא לפרופיל צבעי הצא\'ט - הצג רשימת שיחות בחלון חדש מצב הקובץ סטטוס הודעה מצב הקובץ:%s @@ -2000,7 +1999,6 @@ אל תחמיץ הודעות חשובות. הורד גרסאות חדשות מ GitHub. פרופיל לא הולם - לפרטיות מטא דאטא טובה יותר. אפשר Flux בהגדרות רשת ושרתים בשביל לשפר את הפרטיות של המטא דאטא מעביר %1$s הודעות שגיאה בקריאת משפט-סיסמה של מסד נתונים @@ -2123,7 +2121,6 @@ צ\'אטים פרטיים, קבוצות ואנשי הקשר שלך אינם נגישים למפעילי השרת. לדוגמה, אם איש הקשר שלך מקבל הודעות דרך שרת SimpleX Chat, האפליקציה שלך תעביר אותן דרך שרת Flux. מדיניות פרטיות ותנאי שימוש. - ניתן להגדיר מפעילים בהגדרות רשת ושרתים. לא זנב לבועה סרגל כלים נגיש לצ\'אט diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/ja/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/ja/strings.xml index 1e0686d2de..c28136d201 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/ja/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/ja/strings.xml @@ -1821,7 +1821,6 @@ \n*ネットワークとサーバー*設定から有効にして下さい。 いいえ はい - メッセージルーティングモード フォントサイズ ベータ アップデートを確認 @@ -1847,7 +1846,6 @@ 全てのプロフィール 通話 連絡先の削除を確認しますか? - 接続 連絡先が削除されます - この操作は取り消せません! プロフィールの切り替えエラー メディアのぼかし @@ -1965,7 +1963,6 @@ 情報がありません、リロードしてください SMPサーバ メッセージ - ウェブサイト ビデオ 設定画面からサーバを構成できます。 改定履歴を開く @@ -1995,7 +1992,6 @@ バックグラウンドサービスを使用しません 利用条件の承諾 %s の利用条件に承諾しています。]]> - 後で作成する場合はメニューから「SimpleXのアドレスを作成」を選択してください。 運営者について 1年 1 件のレポート @@ -2053,7 +2049,6 @@ リンク すべて 音声メッセージ - フィルター メンバーとして承認する オブザーバーとして承認する スパム @@ -2097,11 +2092,6 @@ Tor または VPN を使用しない場合、あなたのIPアドレスはこれらのXFTPリレーに表示されます:\n%1$s。 サポートされていない接続リンク このリンクには新しいバージョンのアプリが必要です。アプリをアップグレードするか、互換性のあるリンクを送るよう連絡先に依頼してください。 - サポートされていないチャンネル名 - サポートされていない連絡先名 - チャンネル名による接続には新しいバージョンのアプリが必要です。 - 連絡先名による接続には新しいバージョンのアプリが必要です。 - アプリをアップグレードしてください。 チャンネルは一時的に利用できません チャンネルにアクティブなリレーがありません。後でもう一度参加をお試しください。 アプリの更新が必要です @@ -2126,7 +2116,6 @@ 報告をアーカイブしますか? %d件の報告をアーカイブしますか? すべての報告をアーカイブしますか? - 報告はあなたのためにアーカイブされます。 すべての報告があなたのためにアーカイブされます。 自分のみ すべてのモデレーター向け @@ -2265,7 +2254,6 @@ この操作は元に戻せません - このチャットで選択した時点より前に送受信したメッセージは削除されます。 メッセージ削除を無効にする デバイスからチャットメッセージを削除します。 - 開く 検索 会話を保持 会話のみ削除 @@ -2281,7 +2269,6 @@ 送信者には通知されません。 メンバーが削除されています - リクエストを承諾できません すべてミュート - 未読のメンション リストを変更 リスト名と絵文字はすべてのリストで異なる必要があります。 順序を変更 @@ -2321,7 +2308,6 @@ IPが隠されている場合 あなたまたは宛先のサーバがプライベートルーティングをサポートしていない場合、メッセージを直接送信します。 IPアドレスが保護されており、かつあなたまたは宛先のサーバがプライベートルーティングをサポートしていない場合、メッセージを直接送信します。 - メッセージルーティングのフォールバック IPアドレスを保護するため、プライベートルーティングはあなたのSMPサーバを使用してメッセージを配信します。 メッセージング用のTCPポート Webポートを使用 @@ -2342,7 +2328,6 @@ 新しいリリースの通知を受け取るには、安定版またはベータ版の定期チェックをオンにしてください。 非推奨のオプション 設定の保存エラー - 接続後に連絡先に送信されます。 ウェルカムメッセージ またはプライベートに共有する場合 SimpleXアドレスまたはワンタイムリンク? @@ -2389,12 +2374,7 @@ アプリは会話ごとに異なる運営者を使用することで、あなたのプライバシーを保護します。 複数の運営者が有効な場合、どの運営者も誰が誰と通信しているかを知るためのメタデータを持ちません。 例えば、あなたの連絡先がSimpleX Chatのサーバ経由でメッセージを受信する場合、あなたのアプリはFluxのサーバ経由でそれらを配信します。 - 使用するネットワーク運営者を選択してください。 プライバシーにどう役立つか - 有効な運営者の条件は30日後に承諾されます。 - 運営者は「ネットワークとサーバ」設定で構成できます。 - 後で確認 - 更新 あなたのネットワーク ネットワークのルーターは\n誰が誰と話しているかを知ることができません ルーターを設定 @@ -2411,7 +2391,6 @@ アプリは不明なファイルサーバからのダウンロードの確認を求めます(.onion の場合、またはSOCKSプロキシが有効な場合を除く)。 Tor または VPN を使用しない場合、あなたのIPアドレスはファイルサーバに表示されます。 リンクのトラッキングを削除 - この設定は現在のプロフィールに適用されます チャット一覧からリンクを開く はい いいえ @@ -2421,7 +2400,6 @@ 完全なリンクを開く クリーンなリンクを開く グループからの連絡先リクエスト - リモートのモバイル端末 デフォルト(%s) エクスポートしたアーカイブを保存できます。 エクスポートしたデータベースを移行できます。 @@ -2433,7 +2411,6 @@ 手の届くチャットツールバー 下部のバー 上部のバー - 新しいウィンドウでチャット一覧を表示 チャンネルに参加または作成した場合、それらは恒久的に機能しなくなります。 チャンネルから退出しますか? チャットから退出しますか? @@ -2475,7 +2452,6 @@ 設定を変更できるのはチャットのオーナーだけです。 リンク 管理者とのチャット - チャンネルのメンバー チャットリレー 購読者を削除しますか? メンバーを削除しますか? @@ -2616,7 +2592,6 @@ ネットワークの分散化 アプリに2番目のプリセット運営者が登場! メタデータのプライバシー向上のため、「ネットワークとサーバ」設定でFluxを有効にしてください。 - メタデータのプライバシー向上のため。 チャットナビゲーションの改善 - 最初の未読メッセージでチャットを開きます。\n- 引用されたメッセージにジャンプします。 ビジネスチャット @@ -2801,7 +2776,6 @@ あなたのプロフィール %1$s はチャンネルのリレーと購読者に共有されます。\nリレーはチャンネルのメッセージにアクセスできます。 リレーを構成 失敗 - 追加 リレーを追加 リレーを追加 利用可能なリレーがありません @@ -2817,10 +2791,8 @@ リレーアドレス これはチャットリレーのアドレスであり、接続には使用できません。 チャンネルを開く - 新しいチャンネルを開く あなたのチャンネル %1$s 用のあなたのリンクです!]]> - チャンネルを開く際のエラー 全員に対して購読者のブロックを解除しますか? リンクプレビューを有効にしますか? リンクプレビューを送信すると、あなたのIPアドレスがWebサイトに知られる可能性があります。これは後でプライバシー設定で変更できます。 diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/ko/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/ko/strings.xml index a987a0c92e..a4fd13d137 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/ko/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/ko/strings.xml @@ -1080,7 +1080,6 @@ 업로드 확인 모바일에 연결 연결된 모바일 - 연결 그룹 멤버에게 메시지를 보낼 수 없음 전송 알림을 활성화하시겠습니까? 암호화 OK @@ -1379,7 +1378,6 @@ 성공적으로 설치됨 업데이트 설치 인터페이스 색상 - 메시지 라우팅 대체 그룹 멤버가 메시지 반응을 추가할 수 있습니다. 메시지 모양 메시지 대기열 정보 @@ -1395,7 +1393,6 @@ 향상된 서버 구성 메시지 메시지 서버 - 메시지 라우팅 모드 안녕하세요!\nSimpleX Chat 초대장이 도착했습니다: %s 내부 오류 잘못된 이름입니다! @@ -1471,7 +1468,6 @@ Flux 활성화 종단 간 암호화로 전송됩니다.]]> 앱이 항상 백그라운드에서 실행 - 활성화된 운영자에 대한 약관은 30일 후에 수락됩니다. 팀 멤버 추가하기 친구 추가 모든 멤버에게서 채팅이 삭제됩니다 - 이 결정은 되돌릴 수 없습니다! diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/ku/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/ku/strings.xml index 09c428e48b..c429a8341a 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/ku/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/ku/strings.xml @@ -108,7 +108,6 @@ Bêdengkirinê betal bike Bike favorît Ji favorîtan derxe - Behsên nexwendî Lîste çêke Li lîstê zêde bike Lîstê biguhere @@ -345,7 +344,6 @@ Sîstem Moda sîstemê Terî/Dûvik - Pêl Adresa SimpleXê çêke di meniwê de ji bo ko tu dûvre çêkî. Pêl Bikeve komê bike Bikeviyê Bikeve komê @@ -603,7 +601,6 @@ Etherneta bi qeblo WiFi Çi yî nû heye - Websîte Serverên WebRTC ICEyê Hişyarî: hinek dataya te kare winda bibe! dixwaze bi te re bikeve danûstandinê! diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/lv/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/lv/strings.xml index a6882871c7..e09aef2162 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/lv/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/lv/strings.xml @@ -539,7 +539,6 @@ Tiek izveidots tukšs čata profils Ja ievadīsiet paroli, dati tiks izdzēsti Uzstādīt paroli - Šis iestatījums ir paredzēts jūsu pašreizējam profilam Saņemts grupas notikums: 1 dalībnieks pievienojies Saņemts grupas notikums: 2 dalībnieki pievienojušies Saņemts grupas notikums: 3 dalībnieki pievienojušies @@ -1022,7 +1021,6 @@ Atvērt sarunu profilus Ziņojumu arhīvs %dth Ziņojumu arhīvs visi - Ziņojumu arhīvs Ziņojumu arhīvs apraksts visi Ziņojumu arhīvs man Ziņojumu arhīvs visiem moderātoriem @@ -1134,7 +1132,6 @@ Kontaktam jāpieņem Savienoties ar kontaktu %s? Meklējiet vai ielīmējiet simplex saiti - Adreses izveides instrukcija Nav izvēlēta saruna Izvēlēto sarunu vienības nav izvēlētas Izvēlēto sarunu vienības izvēlētas %d @@ -1167,8 +1164,6 @@ Mainīt automātisko sarunu dzēšanu Atspējot automātisko dzēšanu Sarunu laika ierobežojuma opciju apakšdaļa - Skatīt savienojumu - Skatīt atvērt Skatīt Skatīt zvanu Skatīt meklēšanu @@ -1273,7 +1268,6 @@ Atjaunot sarunu Atzīmēt kā iecienītu Noņemt no iecienītajiem - Neizlasītie minējumi Izveidot sarakstu Pievienot sarakstam Mainīt sarakstu @@ -1390,7 +1384,6 @@ Tīkla smp proxy režīms nezināms Tīkla smp proxy režīms neaizsargāts Tīkla smp proxy režīms nekad - Atjaunināt tīkla smp proxy režīmu? Tīkla smp proxy rezerves atļaut samazināšanu Tīkla smp proxy rezerves atļaut Tīkla smp proxy rezerves atļaut aizsargātu @@ -1398,7 +1391,6 @@ Tīkla smp proxy rezerves atļaut Tīkla smp proxy rezerves atļaut aizsargātu Tīkla smp proxy rezerves aizliegt - Atjaunināt tīkla smp proxy rezerves? Privātā maršrutēšana rādīt Privātā maršrutēšana skaidrojums Tīkla smp tīmekļa ports @@ -1461,7 +1453,6 @@ Pārtraukt adreses kopīgošanu Pārtraukt kopīgošanu Automātiski pieņemt kontaktus - Nosūtīts jūsu kontaktam pēc savienojuma izveides Sveiciena ziņa Ievadiet sveiciena ziņu (pēc izvēles) Saglabāt iestatījumus? @@ -1598,13 +1589,8 @@ Ievada tīkla operatori nevar redzēt, kas ar ko runā Ievada tīkla operatori lietotne izmantos maršrutēšanai Ievada tīkls par operatoriem - Ievada izvēlēties tīkla operatorus, ko izmantot Kā tas palīdz privātumam Ievada tīkla operatori konfigurēt caur iestatījumiem - Ievada tīkla operatori nosacījumi tiks pieņemti - Ievada tīkla operatori nosacījumi, ko jūs varat konfigurēt - Ievada tīkla operatori pārskatīt vēlāk - Ievada tīkla operatori atjaunināt Ievada tīkla operatori turpināt Ienākošais video zvans Ienākošais audio zvans @@ -1675,7 +1661,6 @@ Izmantot no darbvirsmas Jūsu sarunu datubāze Palaist sarunu - Attālie hosti Saruna notiek Saruna ir apstājusies Sarunu datubāze @@ -1799,7 +1784,6 @@ Sarunu apakšējā josla Vienas rokas saskarnes maiņas instrukcija Terminālis vienmēr redzams - Sarunu saraksts vienmēr redzams Nederīga migrācijas apstiprināšana Jaunināt un atvērt sarunu Samazināt un atvērt sarunu @@ -1994,7 +1978,6 @@ Operators Operatora serveri Operators - Operatora mājaslapa Operatora nosacījumi pieņemti Operatora nosacījumi tiks pieņemti Operatora izmantošanas slēdzis @@ -2317,7 +2300,6 @@ Tīkla decentralizācija Decentralizējiet tīklu, lai uzlabotu drošību. Tīkla decentralizācija, iespējot plūsmu - Tīkla decentralizācija, iespējot plūsmu iemesls Uzlabota sarunu navigācija Vieglāka navigācija sarunās. Uzņēmumu sarunas diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/nl/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/nl/strings.xml index 2ec65534a4..c2cc76fa50 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/nl/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/nl/strings.xml @@ -1772,7 +1772,6 @@ Gebruik altijd privéroutering. Gebruik privéroutering met onbekende servers. Gebruik GEEN privéroutering. - Berichtrouteringsmodus Gebruik privéroutering met onbekende servers wanneer het IP-adres niet beveiligd is. Downgraden toestaan Wanneer IP verborgen is @@ -1782,7 +1781,6 @@ Toon berichtstatus Om uw IP-adres te beschermen, gebruikt privéroutering uw SMP-servers om berichten te bezorgen. Stuur GEEN berichten rechtstreeks, zelfs als uw of de bestemmingsserver geen privéroutering ondersteunt. - Terugval op berichtroutering Privébericht routing Stuur berichten rechtstreeks als het IP-adres beschermd is en uw of bestemmingsserver geen privéroutering ondersteunt. Onbekende servers! @@ -1835,7 +1833,6 @@ Systeem Wallpaper achtergrond Stel het standaard thema in - Toon chat-lijst in nieuw venster geen Foutopsporing bezorging Informatie over berichtenwachtrij @@ -1999,13 +1996,11 @@ Bericht Berichten worden gemarkeerd voor verwijdering. De ontvanger(s) kunnen deze berichten onthullen. Niets geselecteerd - verbinden Contact verwijderd! Het contact wordt verwijderd. Dit kan niet ongedaan worden gemaakt! Behoud het gesprek bericht Alleen conversatie verwijderen - open Plak de link Uitnodiging Bereikbare app-toolbars @@ -2129,7 +2124,6 @@ Niet afgeleverde berichten De verbinding heeft de limiet van niet-afgeleverde berichten bereikt. Uw contactpersoon is mogelijk offline. Dit bericht is verwijderd of nog niet ontvangen. - Tik op SimpleX-adres maken in het menu om het later te maken. Adres openbaar delen Deel eenmalig een link met een vriend Deel het SimpleX-adres op sociale media. @@ -2143,13 +2137,8 @@ Adres instellingen Eenmalige link maken Serverbeheerders - Voor ingeschakelde operators worden de voorwaarden na 30 dagen geaccepteerd. Netwerkbeheerders - Later beoordelen - Selecteer welke netwerkoperators u wilt gebruiken. - Update De app beschermt uw privacy door in elk gesprek verschillende operators te gebruiken. - U kunt operators configureren in Netwerk- en serverinstellingen. Doorgaan Voorwaarden bekijken Uw servers @@ -2164,7 +2153,6 @@ %s servers Gebruik %s Gebruik servers - Website %s.]]> %s.]]> %s te gebruiken, moet u de gebruiksvoorwaarden accepteren.]]> @@ -2180,7 +2168,6 @@ Operatorserver Server toegevoegd aan operator %s. Transparantie - voor betere privacy van metagegevens. Verbeterde chatnavigatie Netwerk decentralisatie De tweede vooraf ingestelde operator in de app! @@ -2208,7 +2195,6 @@ U kunt servers configureren via instellingen. Of importeer archiefbestand Directe berichten tussen leden zijn in deze chat niet toegestaan. - Externe mobiele telefoons Xiaomi-apparaten: schakel Automatisch starten in de systeeminstellingen in om meldingen te laten werken.]]> Bericht is te groot! Verklein het bericht en verstuur het opnieuw. @@ -2299,7 +2285,6 @@ Rapport archiveren? rapporteren Reden melding? - Het rapport wordt voor u gearchiveerd. Anders melden: alleen groepsmoderators kunnen het zien. Spam melden: alleen groepsmoderators kunnen het zien. Rapporteer overtreding: alleen groepsmoderators kunnen dit zien. @@ -2334,7 +2319,6 @@ Gebruik een webpoort Gebruik TCP-poort %1$s wanneer er geen poort is opgegeven. Alles dempen - Ongelezen vermeldingen Je kunt maximaal %1$s leden per bericht vermelden! Hiermee kunt u berichten rapporteren aan moderators. Alle rapporten worden voor u gearchiveerd. diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/pl/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/pl/strings.xml index bf47cebdb5..6b6c3ab3eb 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/pl/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/pl/strings.xml @@ -1771,7 +1771,6 @@ Nigdy Niezabezpieczony NIE używaj prywatnego trasowania. - Tryb trasowania wiadomości Tak Nie Gdy IP ukryty @@ -1781,7 +1780,6 @@ Aby chronić Twój adres IP, prywatne trasowanie używa Twoich serwerów SMP, aby dostarczyć wiadomości. Nieznane serwery Używaj prywatnego trasowania z nieznanymi serwerami. - Rezerwowe trasowania wiadomości Prywatne trasowanie Wysyłaj wiadomości bezpośrednio, gdy adres IP jest chroniony i Twój lub docelowy serwer nie obsługuje prywatnego trasowania. Wysyłaj wiadomości bezpośrednio, gdy Twój lub docelowy serwer nie obsługuje prywatnego trasowania. @@ -1794,7 +1792,6 @@ Bez Tor lub VPN, Twój adres IP będzie widoczny do serwerów plików. Pliki Motyw profilu - Pokaż listę czatów w nowym oknie Kolory ciemnego trybu Jasny Otrzymano odpowiedź @@ -1981,7 +1978,6 @@ Zwiększ rozmiar czcionki. wiadomość Wiadomość - otwórz szukaj Zaznaczono %d wideo @@ -2002,7 +1998,6 @@ Odtwórz z listy czatów. Zarchiwizowane kontakty zadzwoń - połącz Stan połączenia i serwerów. Utwórz Nieprawidłowy link @@ -2183,7 +2178,6 @@ Czat zostanie usunięty dla wszystkich członków - nie można tego cofnąć! Warunki będą akceptowane w dniu: %s. Bezpieczeństwo połączenia - Warunki będą akceptowane dla operatorów włączonych po 30 dniach. Zmień kolejność Połączenie wymaga renegocjacji szyfrowania. przyjął %1$s @@ -2288,14 +2282,12 @@ Plik jest zablokowany przez operatora serwera:\n%1$s. Pliki Pliki i media są zabronione na tym czacie. - Filtr Odcisk palca w docelowym serwerze nie pasuje do certyfikatu: %1$s. Odcisk palca w adresie serwera nie pasuje do certyfikatu: %1$s. Odcisk palca w adresie serwera nie pasuje do certyfikatu: %1$s. Napraw Naprawić połączenie? Dla wszystkich moderatorów - Lepsza prywatność metadanych. Dla profilu czatu %s: Na przykład, jeśli kontakt otrzyma wiadomości za pośrednictwem serwera czatu SimpleX, aplikacja dostarczy je za pośrednictwem serwera Flux. Dla mnie @@ -2417,7 +2409,6 @@ odrzucono odrzucono Odrzucić członka? - Zdalne telefony komórkowe Usuń i skasuj wiadomości usunięty z grupy Usuń śledzenie linków @@ -2442,7 +2433,6 @@ Przejrzyj warunki sprawdzone przez administratorów Przejrzyj członków grupy - Przejrzyj później Przejrzyj członków Przejrzyj członków przed przyjęciem (pukanie). Zapisać ustawienia wstępu? @@ -2452,13 +2442,11 @@ Szukaj linków Szukaj wideo Szukaj wiadomości głosowych - Wybierz operatora sieci Wysłać prośbę o kontakt? Wyślij prywatne zgłoszenia Wyślij prośbę Wyślij prośbę bez wiadomości Wyślij swoją prywatną opinię do grup. - Wysłano do Twojego kontaktu po połączeniu. Serwer dodany do operatora %s. Operator serwera został zmieniony. Operatorzy serwera @@ -2484,7 +2472,6 @@ Dotknij Połącz aby rozpocząć czat Dotknij Połącz, aby wysłać prośbę Dotknij Połącz aby użyć bota - Dotknij Stwórz adres SimpleX w menu aby utworzyć go później. Dotknij Dołącz do grupy Przekroczono limit czasu połączenia TCP Port TCP dla wiadomości @@ -2492,7 +2479,6 @@ Aplikacja chroni Twoją prywatność, korzystając z różnych operatorów w każdej rozmowie. Połączenie osiągnęło limit niedostarczonych wiadomości, Twój kontakt może być offline. Link będzie krótki, a profil grupowy zostanie udostępniony poprzez link. - Raport zostanie dla Ciebie zarchiwizowany. Rola zostanie zmieniona na %s. Wszyscy uczestnicy czatu zostaną powiadomieni. Drugi predefiniowany operator w aplikacji! Nadawca NIE zostanie poinformowany. @@ -2500,7 +2486,6 @@ Tej akcji nie można cofnąć - wiadomości wysłane i otrzymane na tym czacie wcześniej niż wybrane zostaną usunięte. Ten link wymaga nowszej wersji aplikacji. Zaktualizuj aplikację lub poproś osobę kontaktową o przesłanie kompatybilnego łącza. Ta wiadomość została usunięta lub jeszcze nie otrzymana. - To ustawienie jest dla Twojego obecnego profilu. Czas zniknięcia jest ustawiony tylko dla nowych kontaktów. Aby zabezpieczyć się przed wymianą łącza, możesz porównać kody bezpieczeństwa kontaktu. Żeby odebrać @@ -2510,9 +2495,7 @@ Przeźroczystość Odblokować członków dla wszystkich? Niedostarczone wiadomości - Nieprzeczytane wzmianki Nieobsługiwane łącze połączenia - Aktualizacja Warunki aktualizacji Aktualizuj swój adres Upgrade @@ -2532,14 +2515,12 @@ Zobacz warunki Zobacz zaktualizowane warunki Wiadomości głosowe - Strona Internetowa Wiadomość powitalna Powitaj swoje kontakty Gdy włączony jest więcej niż jeden operator, żaden z nich nie ma metadanych pozwalających dowiedzieć się, kto się z kim komunikuje. Tak zaakceptowałeś tego członka Nie masz połączenia z serwerem używanym do odbierania wiadomości z tego połączenia (brak subskrypcji). - Możesz skonfigurować operatorów w ustawieniach sieci i serwerów. Serwery można skonfigurować w ustawieniach. Możesz skopiować i zmniejszyć rozmiar wiadomości, aby ją wysłać. Możesz wzmiankować do %1$s członków na wiadomość! diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/pt-rBR/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/pt-rBR/strings.xml index 7e807ff9b3..5b54d0c452 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/pt-rBR/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/pt-rBR/strings.xml @@ -1648,7 +1648,6 @@ Desfocar mídia Borrar para melhor privacidade. Confirmar exclusão do contato? - conectar Apagar sem notificar Destaque adicional 2 Confirmar configurações de rede @@ -1731,7 +1730,6 @@ Pular essa versão Baixar %s (%s) Download da atualização cancelado - Mostrar lista de chats em nova janela Tamanho da fonte Fundo do papel de parede Tonalidade do papel de parede @@ -1846,7 +1844,6 @@ Servidores desconhecidos Desprotegido Nunca - Modo de roteamento de mensagens Conceder permissões Alto falante Headphones @@ -1912,7 +1909,6 @@ Proteja seu endereço IP dos relays de mensagens escolhidos pelos seus contatos.\nAtive nas configurações de Rede e servidores. Iniciar o chat Configurações - abrir Manter conversa Apenas apagar conversa Outros servidores XFTP @@ -2019,7 +2015,6 @@ Seus contatos NÃO envie mensagens diretamente, mesmo que o seu servidor ou o servidor de destino não suporte roteamento privado. Enviar mensagens diretamente quando o seu servidor ou o servidor de destino não for compatível com roteamento privado. - Retorno de roteamento de mensagens Mostrar status da mensagem Migrar de outro dispositivo Status da mensagem: %s @@ -2170,7 +2165,6 @@ Condições de uso Erro ao adicionar servidor Chats de empresas - para melhoria da privacidade de metadados. Exclusão mais rápida de grupos. Erro ao criar lista de chat Erro ao carregar lista de chats @@ -2194,7 +2188,6 @@ Renegociação de criptografia em andamento. Apagar Clique no botão de informação perto do campo de endereço para permitir usar o microfone. - As condições serão aceitas para operadores habilitados após 30 dias. Por exemplo, se o seu contato receber mensagens por meio de um servidor SimpleX Chat, seu aplicativo as entregará por meio de um servidor Flux. A conexão não está pronta. Erros nas configurações de servidores. @@ -2284,7 +2277,6 @@ Proibir a denúncia de mensagens aos moderadores. Denunciar conteúdo: somente os moderadores do grupo poderão ver. Denunciar perfil de membro: somente moderadores do grupo poderão ver. - Dispositivos móveis remotos Remover membros? Denunciar outro: somente os moderadores do grupo poderão ver. Qual é a razão da denúncia? @@ -2308,7 +2300,6 @@ Endereço SimpleX ou link único? Som silenciado Alterne entre áudio e vídeo durante a chamada. - Selecione os operadores de rede que deseja utilizar. Revisar condições Endereços SimpleX e links únicos são seguros para compartilhar por meio de qualquer mensageiro. Operadores do servidor @@ -2317,7 +2308,6 @@ Denunciar spam: somente os moderadores do grupo poderão ver. Protocolo do servidor alterado. Compartilhe o endereço do SimpleX nas redes sociais. - Revisar depois Servidor O SimpleX Chat e o Flux fizeram um acordo para incluir servidores operados pelo Flux no aplicativo. conexão solicitada @@ -2330,13 +2320,10 @@ O segundo operador predefinido no aplicativo! Esta mensagem foi apagada ou ainda não foi recebida. Ver condições atualizadas - Toque em Criar endereço SimpleX no menu para criá-lo mais tarde. Usar porta TCP %1$s quando nenhuma porta for especificada. - A denúncia será arquivada para você. Para receber Esta ação não pode ser desfeita - as mensagens enviadas e recebidas nesta conversa antes do período selecionado serão apagadas. Para se proteger contra a substituição do seu link, você pode comparar os códigos de segurança com os dos seus contatos. - Menções não lidas Porta TCP para mensagens Usar porta web O aplicativo protege sua privacidade usando diferentes operadores em cada conversa. @@ -2349,12 +2336,9 @@ É possível ajustar os servidores através das configurações. Usar %s Usar servidores - Website Você pode mencionar até %1$s membros por mensagem! Final Você pode copiar e reduzir o tamanho da mensagem para enviá-la. - Atualização - Você pode configurar operadores em Configurações de rede & servidores. Usar para arquivos Você deixará de receber mensagens deste chat. O histórico do chat será preservado. Para realizar chamadas, permita o uso do microfone. Encerre a chamada atual e tente novamente. @@ -2395,13 +2379,11 @@ %1$d inscritos %1$s apoiou o SimpleX Chat. O selo expirou em %2$s. Você pode apoiar o SimpleX a partir da versão 7 do aplicativo. - Sobre Aceitar solicitação de contato Aceitar solicitação de contato aceito lista reconhecida ativo - Adicionar Adicionar colaboradores. Adicionar descrição Adicionar mensagem @@ -2483,7 +2465,6 @@ Nome completo do canal: O canal não possui relays ativos. Tente entrar novamente mais tarde. Link do canal - Membros do canal Nome do canal Preferências do canal perfil do canal atualizado @@ -2517,8 +2498,6 @@ conectado Conecte-se mais rápido! 🚀 conectando - Para se conectar usando o nome do canal, é necessário estar na versão mais recente do aplicativo. - Para se conectar usando o nome do contato, é necessário estar na versão mais recente do aplicativo. A conexão falhou Conectar-se a %s Contato @@ -2582,7 +2561,6 @@ Erro ao apagar conversa Erro ao apagar mensagem Erro ao marcar como lida - Erro ao abrir canal Erro ao abrir conversa Erro ao abrir grupo Erro ao recusar solicitação de contato @@ -2598,7 +2576,6 @@ Arquivos e mídias não são permitidos neste chat. Servidores de arquivos Servidores de arquivos: %s - Filtro A impressão digital no endereço do servidor de destino não corresponde ao certificado: %1$s. A impressão digital do endereço do servidor de encaminhamento não corresponde à do certificado: %1$s. A impressão digital do endereço do servidor não corresponde à do certificado: %1$s. @@ -2696,7 +2673,6 @@ Abrir link limpo Abrir link externo? Abrir link completo - Abrir novo canal Abrir nova conversa Abrir novo grupo Abrir para aceitar @@ -2708,7 +2684,6 @@ Proprietários e colaboradores Autonomia: você pode executar seus próprios relays. aguardando revisão - Atualize o aplicativo. Aguarde os moderadores do grupo analisarem seu pedido para participar. Endereço do relay predefinido Nome do relay predefinido @@ -2780,7 +2755,6 @@ Enviar solicitação Enviar solicitação sem mensagem Envie o link por qualquer aplicativo de mensagens - é seguro. Peça para colar no SimpleX. - Será enviado ao seu contato após a conexão. O servidor %1$s não suporta resolução de nomes. Configure os servidores ou use um link de conexão. O servidor requer autorização para se conectar ao relay; verifique a senha. Aviso do servidor @@ -2805,7 +2779,6 @@ Assinar mensagens SimpleX Link do canal SimpleX - Nome SimpleX Erro no nome SimpleX Nome SimpleX não verificado Nomes públicos SimpleX (BETA) @@ -2843,8 +2816,6 @@ Vídeos Seu dispositivo não tem suporte para gravação de áudio Link de conexão não suportado - Nome de canal não suportado - Nome de contato não suportado Nome não confirmado Seu endereço público O nome SimpleX %1$s está registrado, mas não está associado ao perfil. Se você for o proprietário, adicione-o ao perfil do endereço ou canal. @@ -2883,7 +2854,6 @@ Você nasceu sem uma conta. Sua rede O aplicativo removeu esta mensagem após %1$d tentativas de recebê-la. - Esta configuração se aplica ao seu perfil atual perfil do canal atualizado você aceitou este membro Código da página da web diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/ro/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/ro/strings.xml index f2437af22b..3af5fbee19 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/ro/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/ro/strings.xml @@ -250,7 +250,6 @@ Răspuns trimis Partajează media… Partajează mesaj… - Afișează lista de conversații într-o fereastră nouă Afișează consola în fereastră nouă Configurează parola bazei de date Setează parola bazei de date @@ -677,7 +676,6 @@ Servere XFTP configurate Baza de date este criptată folosind o parolă aleatorie. Trebuie schimbată înainte de exportare. apel - conectare Contact șters! Conversație ștearsă! Actualizarea aplicației este descărcată @@ -914,7 +912,6 @@ Nicio conversație necitită Nicio conversație în lista %s. Nimic selectat - deschis Ajutor Doar contactul tău poate trimite mesaje care dispar. Se importă arhiva @@ -1035,7 +1032,6 @@ Nicio conversație filtrată Server nou Asigurați -vă că adresele Serverului WebRTC ICE sunt în format corect, separate pe linii și nu sunt duplicate. - Rutarea mesajelor Editează imaginea Deschide setările Acordare în setări @@ -1217,7 +1213,6 @@ Interfață de utilizator maghiară și turcă Redirecționează și salvează mesajele Activează Flux în setările Rețea și servere pentru o mai bună confidențialitate a metadatelor. - pentru o mai bună confidențialitate a metadatelor. Redirecționați până la 20 de mesaje simultan. Nu rata mesajele importante. Organizează conversațiile în liste @@ -1587,7 +1582,6 @@ Erori în configurarea serverelor. Adresa serverului de redirecționare este incompatibilă cu setările rețelei: %1$s. Nu există servere pentru a trimite fișiere. - Mod de rutare a mesajelor Niciodată Întoarce camera Link nevalid @@ -1751,7 +1745,6 @@ Raport Adresa de primire va fi schimbată la un alt server. Schimbarea adresei se va finaliza după ce expeditorul se conectează online. Salvezi setările de acces? - Revizuiți mai târziu Trimiterea confirmărilor este dezactivată pentru %d grupuri recenzie Operatorul serverului s-a schimbat. @@ -1803,8 +1796,6 @@ Trimite confirmări de livrare la Parola de autodistrugere a fost schimbată! Înregistrare actualizată la - Selectează operatorii de rețea de utilizat. - Telefoane mobile la distanță Trimite confirmări de citire Setați 1 zi Parolă de autodistrugere @@ -1965,8 +1956,6 @@ Atinge pentru a lipi linkul Textul pe care l-ai lipit nu este un link SimpleX. Stabil - Puteți configura operatorii în setările Rețea și servere. - Actualizare apel video (necriptat e2e) ID-ul următorului mesaj este incorect (mai mic sau egal cu precedentul).\nSe poate întâmpla din cauza unei erori sau când conexiunea este compromisă. Fără Tor sau VPN, adresa ta IP va fi vizibilă pentru serverele de fișiere. @@ -2016,7 +2005,6 @@ Rolul va fi schimbat în %s. Toți participanții la chat vor fi notificați. Rolul va fi schimbat în %s. Toți membrii grupului vor fi notificați. Folosește %s - Site web %s Servere Actualizați setările de rețea? Atingeți pentru a activa profilul. @@ -2155,8 +2143,6 @@ Blocarea SimpleX nu este activă! Autentificare sistem Baza de date nu funcționează corect. Atingeți pentru a afla mai multe. - Raportul va fi arhivat. - Atingeți Creează o adresă SimpleX în meniu pentru a o crea mai târziu. Acest text este disponibil în setări Ești invitat în grup Se așteaptă imaginea @@ -2164,7 +2150,6 @@ Se așteaptă videoclipul Eroare temporară de fișier Elimină din favorite - Mențiuni necitite Conexiunea pe care ați acceptat-o va fi anulată! Contactul cu care ați partajat acest link NU se va putea conecta! vrea să se conecteze cu tine! @@ -2286,7 +2271,6 @@ Ai partajat o cale de fișier nevalidă. Raportează problema dezvoltatorilor aplicației. Deschide în aplicația mobilă, apoi atinge Conectare în aplicație.]]> Actualizează adresa - Condițiile vor fi acceptate pentru operatorii activați după 30 de zile. Apasă pe butonul de informații de lângă bara de adrese pentru a permite accesul la microfon. Colţ Puteți salva arhiva exportată. @@ -2432,11 +2416,9 @@ Te poți conecta la conversație și poți trimite mesaje imediat ce apeși pe Conectare. Rol nou în grup: Moderator Descriere scurtă: - Trimis contactului tău după conectare. Actualizezi la o adresă permanentă? Mesaj de bun venit Solicitări de contact de la grupuri - Această setare este pentru profilul tău actual Partajează adresa veche Partajează linkul vechi Se încarcă profilul… @@ -2516,7 +2498,6 @@ %1$d abonat %1$d abonați %1$s a susținut SimpleX Chat. Insigna a expirat pe %2$s. - Despre acceptată Aplicația necesita actualizare Eticheta nu poate fi verificată diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/ru/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/ru/strings.xml index 44f3d3858e..9a4e550dbe 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/ru/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/ru/strings.xml @@ -1328,7 +1328,6 @@ Нет истории Отправка отчётов о доставке включена для %d контактов Отправка отчётов о доставке будет включена для всех контактов во всех видимых профилях чата. - Установка для Вашего активного профиля Установки для Вашего активного профиля Отправка отчётов о доставке выключена для %d контактов Шифрование работает, и новое соглашение не требуется. Это может привести к ошибкам соединения! @@ -1853,7 +1852,6 @@ информация сервера об очереди: %1$s \n \nпоследнее полученное сообщение: %2$s - Показать список чатов в новом окне Приложение будет запрашивать подтверждение загрузки с неизвестных серверов (за исключением .onion адресов или когда SOCKS-прокси включен). Незащищённый Без Tor или VPN, Ваш IP-адрес будет доступен серверам файлов. @@ -1895,8 +1893,6 @@ Неизвестные серверы Нет Показать статус сообщения - Прямая доставка сообщений - Режим доставки сообщений Конфиденциальная доставка сообщений Цвета чата Тема чата @@ -1934,7 +1930,6 @@ Не удаётся позвонить контакту Не удаётся написать члену группы Проверять обновления - соединиться Адрес сервера назначения %1$s несовместим с настройками пересылающего сервера %2$s. Ошибка подключения к пересылающему серверу %1$s. Попробуйте позже. Пересылающий сервер %1$s не смог подключиться к серверу назначения %2$s. Попробуйте позже. @@ -2045,7 +2040,6 @@ Член группы неактивен Прямого соединения пока нет, сообщение переслано или будет переслано админом. Ничего не выбрано - открыть поиск Выбрано %d Настройки @@ -2197,7 +2191,6 @@ Нет серверов для приёма файлов. Нет серверов для отправки файлов. Недоставленные сообщения - Нажмите Создать адрес SimpleX в меню, чтобы создать его позже. Адрес или одноразовая ссылка? Безопасность соединения Операторы серверов @@ -2207,7 +2200,6 @@ %s.]]> Условия будут автоматически приняты для включенных операторов: %s. Условия приняты: %s - Вебсайт %s.]]> %s.]]> %s, примите условия использования.]]> @@ -2223,7 +2215,6 @@ Децентрализация сети Второй оператор серверов в приложении! Включите Flux в настройках Сеть и серверы для лучшей конфиденциальности метаданных. - для лучшей конфиденциальности метаданных. Улучшенная навигация в разговоре Посмотреть измененные условия Устройства Xiaomi: пожалуйста, включите опцию Autostart в системных настройках для работы нотификаций.]]> @@ -2253,12 +2244,7 @@ Нотификации и батарейка Как это улучшает конфиденциальность Операторы серверов - Выберите операторов сети. - Вы можете настроить операторов в настройках Сети и серверов. Продолжить - Посмотреть позже - Обновить - Связанные мобильные устройства Покинуть разговор? Вы прекратите получать сообщения в этом разговоре. История будет сохранена. Добавить друзей @@ -2313,7 +2299,6 @@ Приложение улучшает конфиденциальность, используя разных операторов в каждом разговоре. Когда больше чем один оператор включен, ни один из них не видит метаданные, чтобы определить, кто соединен с кем. Ошибка сохранения серверов - Условия будут приняты для включенных операторов через 30 дней. Ошибка приёма условий Соединение достигло предела недоставленных сообщений. Возможно, Ваш контакт не в сети. Чтобы защитить Вашу ссылку от замены, Вы можете сравнить код безопасности. @@ -2368,7 +2353,6 @@ Конфиденциальные названия медиафайлов. Спам Сообщения о нарушениях - Непрочитанные упоминания Да Упоминайте членов группы 👋 Улучшенная конфиденциальность и безопасность @@ -2380,7 +2364,6 @@ Установите срок хранения сообщений в чатах. Вы можете упомянуть до %1$s пользователей в одном сообщении! Причина сообщения? - Эта жалоба будет архивирована для вас. Разрешить отправлять сообщения о нарушениях модераторам. Содержание нарушает условия использования Ошибка чтения пароля базы данных @@ -2549,7 +2532,6 @@ Отправить запрос Отправить запрос без сообщения Отправляйте Ваши конфиденциальные предложения группе. - Отправляется Вашему контакту после соединения. Обновить ссылку группы? Обновить Обновить адрес? @@ -2617,7 +2599,6 @@ Удалить вместе с сообщениями Все сообщения Файлы - Фильтр Изображения Ссылки Поиск файлов @@ -2636,7 +2617,6 @@ Канал Полное имя канала: Ссылка канала - Участники канала Имя канала профиль канала обновлён Канал будет удалён для всех подписчиков - это нельзя отменить! @@ -2656,7 +2636,6 @@ Введите имя релея… Ошибка добавления релея Ошибка при создании канала - Ошибка при открытии канала ошибка: %s Ошибка при сохранении профиля канала Неверный адрес релея! @@ -2715,7 +2694,6 @@ неактивен Подпись ссылки проверена. Открыть канал - Открыть новый канал Владельцы Владелец релей @@ -2878,7 +2856,6 @@ Нижнее меню Картинка ссылки будет загружена через SOCKS-прокси. DNS-запрос может быть локальным через Ваш резолвер. Верхнее меню - Добавить Добавить релей Добавить релеи Отменить и удалить канал @@ -2887,7 +2864,6 @@ %1$d владельцев %1$d владельцев и участников канала %1$s поддерживал SimpleX Chat. Срок действия бейджа истек %2$s. - О приложении Продвинутые настройки Приложение уже запущено Необходимо обновление приложения @@ -2909,8 +2885,6 @@ Веб-страница канала Выбрано %d релеев Данные чата - Для подключения по имени канала требуется более новая версия приложения. - Для подключения по имени контакта требуется более новая версия приложения. Контакт соавтор подписчик @@ -2949,9 +2923,6 @@ Если Вы выберете Закрыть, сообщения не будут доставляться.\nВы можете изменить это позже в настройках Интерфейса. Адрес будет показан подписчикам и разрешит загрузку предпросмотра. Вступить в канал %s - Неподдерживаемое имя канала - Неподдерживаемое имя контакта - Пожалуйста, обновите приложение. Ошибка SimpleX имени Ни один из Ваших серверов не настроен для разрешения SimpleX имён. Настройте серверы или используйте ссылку для соединения. Сервер %1$s не поддерживает разрешение имён. Настройте серверы или используйте ссылку для соединения. @@ -2980,7 +2951,6 @@ Проверить имя Проверять SimpleX имена SimpleX имя не проверено - SimpleX имя Ваше SimpleX имя Установить SimpleX имя SimpleX имя %1$s зарегистрировано без ссылки канала. Добавьте ссылку канала к имени на странице регистрации. diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/sk/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/sk/strings.xml index 74db414936..dd8155f512 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/sk/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/sk/strings.xml @@ -72,7 +72,6 @@ Prerušiť Prerušiť zmenu adresy Prerušiť zmenu adresy? - O aplikácii O operátoroch O SimpleX O adrese SimpleX @@ -82,7 +81,6 @@ Pristupovať k serverom cez SOCKS proxy na porte %d? Pred povolením tejto možnosti musí byť spustená proxy. aktívne aktívne spojenia - Pridať Pridať kontakt Pridať prispievateľov. Pridať opis @@ -367,7 +365,6 @@ Kanál nemá žiadne aktívne relé. Prosím, skúste sa pripojiť neskôr. Odkaz kanálu Odkaz kanálu - Členovia kanálu Názov kanálu Vlastnosti kanálu Kanály @@ -753,7 +750,6 @@ Tlačidlo zavrieť Porovnajte bezpečnostné kódy s vašimi kontaktmi. %s.]]> - Podmienky budú prijaté pre povolených operátorov po 30 dňoch. %s.]]> %s.]]> Podmienky budú prijaté dňa: %s. @@ -1124,7 +1120,6 @@ Súbory a médiá Status súboru: %s Súbor bude vymazaný zo serverov. - Filter Opraviť Opraviť Opraviť pripojenie @@ -1303,7 +1298,6 @@ Chyba pri načítavaní XFTP serverov Chyba pri označovaní ako prečítané Chyba pri otváraní prehliadača - Chyba pri otváraní kanálu Chyba pri otváraní chatu Chyba pri otváraní skupiny Chyba pri odmietaní žiadosti o kontakt @@ -1388,7 +1382,6 @@ Jednorazový odkaz Naraz sa dá poslať iba 10 obrázkov Naraz sa dá poslať iba 10 videí - otvoriť Otvoriť Otvoriť Otvoriť nastavenia aplikácie @@ -1400,7 +1393,6 @@ Otvoriť priečinok databázy Otvoriť externý odkaz? Otvoriť celý odkaz - Otvoriť nový kanál Otvoriť nastavenia serveru Otvoriť nastavenia Otvorte SimpleX Chat na prijatie hovoru diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/tr/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/tr/strings.xml index bacc84b0f7..7b05806ea6 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/tr/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/tr/strings.xml @@ -1774,12 +1774,10 @@ Bilinmeyen sunucular Her zaman gizli yönlendirmeyi kullan. Gizli yönlendirmeyi KULLANMA. - Mesaj yönlendirme modu Hiçbir zaman Bilinmeyen sunucularla gizli yönlendirme kullan. Sürüm düşürmeye izin ver Hayır - Mesaj yönlendirme yedeklemesi Her zaman Sizin veya hedef sunucunun özel yönlendirmeyi desteklememesi durumunda bile mesajları doğrudan GÖNDERMEYİN. IP adresi korumalı olduğunda ve sizin veya hedef sunucunun özel yönlendirmeyi desteklemediği durumlarda mesajları doğrudan gönderin. @@ -1819,7 +1817,6 @@ Resmi kaldır Tekrarla Rengi sıfırla - Sohbet listesini yeni pencerede göster Bilinmeyen sunucular! Tor veya VPN olmadan, IP adresiniz bu XFTP yönlendiricileri tarafından görülebilir: \n%1$s. @@ -1871,11 +1868,9 @@ Mesajları ilet.. %1$s mesaj iletiliyor %1$s Mesaj kayıt ediliyor. - bağlan Ara mesaj Sadece sohbeti sil - açık ara Profil değiştirme sırasında hata oluştu. Sohbet profili seç @@ -2167,9 +2162,7 @@ Sohbet silinsin mi? Bağlantı hazır değil. Kullanım şartları - daha iyi üstveri gizliliği için. Sunucuları kaydederken hata oluştu - Şartlar 30 gün sonra etkin operatörler için kabul edilecektir. Raporu sil Listeyi değiştir %s için de geçerli olacaktır.]]> @@ -2315,7 +2308,6 @@ Güncellenen koşullar Sadece siz ve moderatörler görebilir. Sadece gönderen ve moderatörler görebilir. - Daha sonra oluşturmak için menüden SimpleX adresi oluştur seçeneğine dokunun. Operatör Dosyalar için kullanın Sohbetlerde mesajların geçerlilik süresini ayarlayın. @@ -2339,7 +2331,6 @@ İstenmeyen Uygulama, her konuşmada farklı operatörler kullanarak gizliliğinizi korur. Rol %s olarak değiştirilecek. Sohbetteki herkes bilgilendirilecek. - Okunmamış bahsetmeler Koşulları gözden geçirin Sohbet profiliniz sohbet üyelerine gönderilecektir. Sunucularınız @@ -2347,7 +2338,6 @@ Bu işlem geri alınamaz - seçilen tarihten önce bu sohbette gönderilen ve alınan mesajlar silinecektir. Bağlantının kimlerle paylaşıldığını hatırlamak için bağlantı adını ayarlayabilirsiniz. SimpleX adresini sosyal medyada paylaşın. - Web sitesi Desteklenmeyen bağlantı bağlantısı Rapor SimpleX adresi ve tek kullanımlık bağlantılar herhangi bir mesajlaşma uygulaması üzerinden güvenle paylaşılabilir. @@ -2355,9 +2345,6 @@ Giriş ayarlarını kaydetmek ister misiniz? Operatörler şunları taahhüt eder:\n- Bağımsız olun\n- Meta veri kullanımını en aza indirin\n- Doğrulanmış açık kaynak kodunu çalıştırın Birden fazla operatör etkinleştirildiğinde, hiçbirinin kimin kiminle iletişim kurduğunu öğrenmek için meta verisi yoktur. - Kullanılacak ağ operatörlerini seçin. - Güncelleme - Ağ ve sunucular ayarlarında operatörleri yapılandırabilirsiniz. Bağlantıyı aç Anahtar deposundaki parola okunamıyor, lütfen elle girin. Bu, uygulamayla uyumsuz bir sistem güncellemesinden sonra meydana gelmiş olabilir. Eğer durum bu değilse, lütfen geliştiricilerle iletişime geçin. Bu üyeyi kabul ettiniz. @@ -2368,7 +2355,6 @@ Uygulamadaki ikinci önceden ayarlanmış operatör! Adresi güncelle Gizlilik politikası ve kullanım koşulları. - Daha sonra incele Sunucu operatörleri SimpleX Chat ve Flux, Flux tarafından işletilen sunucuların uygulamaya dahil edilmesi konusunda bir anlaşma yaptı. Sohbet listesinden bağlantıları aç @@ -2409,7 +2395,6 @@ Moderatörlere gönderilen rapor Raporlarınızı yöneticilerle sohbet bölümünde görüntüleyebilirsiniz. Ayarlar aracılığıyla sunucuları yapılandırabilirsiniz. - Uzaktan kumandalı cep telefonları kapalı İnceleme üyeleri Kabul etmeden önce üyeleri inceleyin (kapıyı çalın). @@ -2428,7 +2413,6 @@ Bağlantı, teslim edilemeyen mesajların sınırına ulaştı, bağlantınız çevrimdışı olabilir. Bu bağlantı için daha yeni bir uygulama sürümü gereklidir. Lütfen uygulamayı güncelleyin veya irtibat kişinizden uyumlu bir bağlantı göndermesini isteyin. Rapor nedeni? - Rapor sizin için arşivlenecektir. Okunmamış sohbet yok Rapor: %s Raporlar @@ -2480,7 +2464,6 @@ Talep gönder Mesaj olmadan istek gönder Özel geri bildirimlerinizi gruplara gönderin. - Bağlantı kurulduktan sonra kişinize gönderilir. Grup linki güncellensin mi? Güncelle Adres güncellensin mi? @@ -2533,11 +2516,9 @@ %1$d aboneler %1$s SimpleX Chat’i destekledi. Rozet %2$s tarihinde geçerliliğini yitirdi. 4 yeni arayüz dili - Hakkında kabul edildi onaylanan kadro aktif - Ekle Röle ekle Röleler ekle Mesaj iletimini geri yüklemek için röle ekleyin. @@ -2579,7 +2560,6 @@ Kanalda aktif röle bulunmuyor. Lütfen daha sonra katılmayı deneyin. Kanal bağlantısı Kanal bağlantısı - Kanal üyeleri Kanal adı Kanal tercihleri Kanal profili abonelerin cihazlarında ve sohbet rölelerinde saklanır. @@ -2609,8 +2589,6 @@ Bağlan bağlı bağlanılıyor - Kanal adı üzerinden bağlanmak için daha yeni bir uygulama sürümü gerekir. - Kişi adı ile bağlanmak için daha yeni bir uygulama sürümü gerekir. Bağlantı başarısız Bağlantı veya kare kod ile bağlanın İletişim @@ -2658,7 +2636,6 @@ Kanal oluşturulurken hata oluştu Mesaj silinirken hata oluştu Okundu olarak işaretlenirken hata - Kanal açılırken hata oluştu hata: %s Kanal profili kaydedilirken hata oluştu İsim kaydedilirken hata oluştu @@ -2668,7 +2645,6 @@ başarısız oldu Dosyalar Bu sohbette dosya ve medya yasaktır. - Filtre Hedef sunucu adresindeki parmak izi sertifika ile eşleşmiyor: %1$s. Yönlendirme sunucusu adresindeki parmak izi sertifika ile eşleşmiyor: %1$s. Sunucu adresindeki parmak izi sertifika ile eşleşmiyor: %1$s. @@ -2741,14 +2717,12 @@ Temiz bağlantıyı aç Harici bağlantı açılsın mı? Tam bağlantıyı aç - Yeni kanal açın - bağlantı önizlemelerini göndermeyi tercih edin.\n- etkinleştirilmişse SOCKS proxy kullanın.\n- köprü kimlik avını önleyin.\n- bağlantı izlemeyi kaldırın. Ya da kare kodu şahsen veya görüntülü arama yoluyla gösterin. Ya da bu kare kodu kullanın - yazdırın veya çevrimiçi gösterin. Sahip Sahipler ve katkıda bulunanlar Sahiplik: kendi aktarıcılarınızı çalıştırabilirsiniz. - Lütfen uygulamayı güncelleyin. Önceden ayarlanmış aktarıcı adresi Önceden ayarlanmış aktarıcı adı Gizlilik: sahipler ve aboneler için. @@ -2813,7 +2787,6 @@ ⚠️ İmza doğrulama başarısız oldu: %s. SimpleX SimpleX - %d okunmamış - SimpleX adı SimpleX ad hatası SimpleX adı doğrulanmadı SimpleX Chat kitlesel fonlamasına yatırım yapan %s\'ler. @@ -2858,15 +2831,12 @@ Bu bir sohbet aktarım adresidir, bağlanmak için kullanılamaz. Bu son aktif aktarıcıdır. Kaldırılması abonelere mesaj iletimini engelleyecektir. %1$s kanalı için bağlantınız!]]> - Bu ayar mevcut profiliniz içindir Bu SimpleX adı kayıtlı değil. Lütfen ismi kontrol edin. SimpleX Ağını kalıcı kılmak için. Üst çubuk İsimleri çözümlemek için Herkes için abone engeli kaldırılsın mı? Onaylanmamış isim - Desteklenmeyen kanal adı - Desteklenmeyen kişi adı Doğrulanmamış rozet güncellenen kanal profili Adresinizi güncelleyin diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/uk/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/uk/strings.xml index 457fd4abe1..78a0b532df 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/uk/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/uk/strings.xml @@ -1710,7 +1710,6 @@ Джерело повідомлення залишається приватним. Завжди Завжди використовуйте приватну маршрутизацію. - Режим маршрутизації повідомлень НЕ використовуйте приватну маршрутизацію. Ні НЕ надсилайте повідомлення напряму, навіть якщо ваш сервер або сервер призначення не підтримує приватну маршрутизацію. @@ -1738,7 +1737,6 @@ Учасники можуть надсилати посилання SimpleX. Звуки вхідного дзвінка Світлий режим - Запасний варіант маршрутизації повідомлень Маршрутизація приватних повідомлень переслано Інше @@ -1791,7 +1789,6 @@ Надсилайте повідомлення напряму, якщо ваш сервер або сервер призначення не підтримує приватну маршрутизацію. Встановлення теми за замовчуванням Надіслано відповідь - Показати список чату в новому вікні Використовуйте приватну маршрутизацію з невідомими серверами. Використовуйте приватну маршрутизацію з невідомими серверами, якщо IP-адреса не захищена. Фон шпалер @@ -1876,7 +1873,6 @@ Новий досвід чату 🎉 Адреса сервера Підтвердити видалення контакту? - підключитися Сервер переадресації %1$s не зміг з\'єднатися з цільовим сервером %2$s. Будь ласка, спробуйте пізніше. Повідомлення може бути доставлено пізніше, якщо учасник стане активним. Нічого не вибрано @@ -1991,7 +1987,6 @@ повідомлення дзвінок Зберегти розмову - відкрити пошук Ви все ще можете переглядати розмову з %1$s у списку чатів. Контакт видалено! @@ -2130,17 +2125,12 @@ Або поділитися приватно Оператори серверів Мережеві оператори - Умови будуть прийняті для ввімкнених операторів через 30 днів. Наприклад, якщо ваш контакт отримує повідомлення через сервер SimpleX Chat, ваш додаток доставлятиме їх через сервер Flux. - Виберіть мережевих операторів для використання. Ви можете налаштувати сервери за допомогою налаштувань. - Перегляньте пізніше - Оновлення Прийняті умови Умови будуть автоматично прийняті для увімкнених операторів: %s. Оператор мережі %s сервери - Вебсайт Ваші сервери Використовувати %s Використовувати сервери @@ -2187,7 +2177,6 @@ Продовжити Створити одноразове посилання Помилка оновлення сервера - для кращої конфіденційності метаданих. Децентралізація мережі Оператор Немає серверів для отримання повідомлень. @@ -2201,12 +2190,9 @@ Поділіться адресою SimpleX у соціальних мережах. SimpleX-адреси та одноразові посилання можна безпечно ділитися через будь-який месенджер. З\'єднання досягло ліміту недоставлених повідомлень, ваш контакт може бути офлайн. - Натисніть Створити адресу SimpleX у меню, щоб створити її пізніше. Додаток захищає вашу конфіденційність, використовуючи різних операторів у кожній розмові. Використовувати для повідомлень - Ви можете налаштувати операторів у налаштуваннях Мережі та серверів. Або імпортуйте архівний файл - Віддалені мобільні Пристрої Xiaomi: будь ласка, увімкніть Автозапуск у налаштуваннях системи, щоб сповіщення працювали.]]> Повідомлення занадто велике! Будь ласка, зменшіть розмір повідомлення або видаліть медіа та надішліть знову. @@ -2293,7 +2279,6 @@ Тільки відправник і модератори бачать це Повідомити Повідомити про порушення: тільки модератори групи побачать це. - Повідомлення буде архівоване для вас. Інша причина архівование повідомлення Архів @@ -2335,7 +2320,6 @@ Використовувати TCP-порт %1$s, якщо порт не вказано. Використовувати веб-порт Вимкнути звук - Непрочитані згадки Ви можете згадувати до %1$s учасників у кожному повідомленні! Усі звіти будуть архівовані для вас. Архівувати всі звіти? @@ -2485,7 +2469,6 @@ Надіслати запит Надіслати запит без повідомлення Надсилайте свої приватні відгуки до груп. - Відправлено вашому контакту після з\'єднання. Налаштуйте біографію профілю та вітальне повідомлення. Поділіться старою адресою Поділіться старим посиланням @@ -2550,11 +2533,9 @@ %1$d підписник %1$d підписники %1$s підтримував SimpleX Chat. Завершення дії значка %2$s. - Про підтверджено затверджений список активний - Додати Додати перемикач Додати перемикачі Додайте перемикачі для відновлення доставки повідомлень. @@ -2592,7 +2573,6 @@ Канал не має активних перемикачів. Будь ласка, спробуйте підключитися пізніше. Посилання на канал Посилання на канал - Учасники каналу Імʼя каналу Налаштування каналів Профіль каналу зберігається на пристроях підписників та на ретрансляторах чату. @@ -2622,8 +2602,6 @@ Підключитися підключено підключення - Для підключення за назвою каналу потрібна новіша версія додатка. - Для підключення за іменем контакту потрібна новіша версія додатка. Підключення не вдалося Підключитися через посилання або QR код Контакт @@ -2648,7 +2626,6 @@ Введіть URL веб-сторінки Помилка Помилка видалення повідомлення - Помилка відкриття каналу помилка: %s Помилка збереження профілю каналу Видалити реле @@ -2674,7 +2651,6 @@ помилка помилка Файли - Фільтр Відбиток в адресі цільового сервера не збігається із сертифікатом: %1$s. Щоб будь-хто міг з вами зв’язатися З історії diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/vi/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/vi/strings.xml index aac2109d11..4b8ec8c4b7 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/vi/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/vi/strings.xml @@ -537,7 +537,6 @@ đã bị tắt Tin nhắn tự xóa bị cấm. gọi - kết nối Liên hệ sẽ bị xóa - điều này không thể hoàn tác! Cuộc trò chuyện đã bị xóa! Làm mờ đa phương tiện @@ -1007,7 +1006,6 @@ Làm cho một tin nhắn biến mất Tin nhắn động! Giữ lại lời mời chưa sử dụng? - Dự phòng định tuyến tin nhắn Mời bạn bè Đánh dấu đã xác thực Điều này có thể xảy ra khi:\n1. Tin nhắn hết hạn sau 2 ngày trên máy gửi hoặc sau 30 ngày trên máy chủ.\n2. Quá trình giải mã tin nhắn thất bại do bạn hoặc liên hệ của bạn sử dụng bản sao lưu cơ sở dữ liệu cũ.\n3. Kết nối bị xâm phạm. @@ -1052,7 +1050,6 @@ Tin nhắn và tệp Việc xóa tin nhắn mà không thể phục hồi là bị cấm. Tham gia vào các cuộc trò chuyện nhóm - Chế độ định tuyến tin nhắn Hãy trò chuyện trên SimpleX Chat in nghiêng Nó ảnh hưởng đến pin như thế nào @@ -1235,7 +1232,6 @@ Đang mở cơ sở dữ liệu… Hoặc hiển thị mã này Chỉ liên hệ của bạn mới có thể thực hiện cuộc gọi. - mở - tùy chọn thông báo khi xóa liên hệ.\n- tên hồ sơ với dấu cách.\n- và hơn thế nữa! Mở cài đặt Hoặc chia sẻ đường dẫn tệp này một cách an toàn. @@ -1387,7 +1383,6 @@ Lỗi trong cấu hình máy chủ. Bảo mật kết nối Tạo đường dẫn dùng một lần - Các điều kiện sẽ được chấp nhận với các nhà cung cấp được cho phép sau 30 ngày. Tiếp tục Không thể tải văn bản về các điều kiện hiện tại, bạn có thể xem xét các điều kiện thông qua đường dẫn này: Các điều kiện sử dụng @@ -1421,7 +1416,6 @@ Mời để trò chuyện Rời cuộc trò chuyện Cho định tuyến riêng tư - để bảo mật siêu dữ liệu tốt hơn. Đã cải thiện điều hướng trò chuyện Xóa cuộc trò chuyện Cho mạng xã hội @@ -1532,7 +1526,6 @@ Làm mới Đã giảm mức sử dụng pin Từ chối - Các thiết bị di động từ xa Xóa Xóa Xóa thành viên @@ -1617,7 +1610,6 @@ Gửi tin nhắn trực tiếp để kết nối Đang lưu %1$s tin nhắn (quét hoặc dán từ bảng nháp) - Chọn các bên vận hành mạng lưới để sử dụng. Gửi tin nhắn trực tiếp Lưu lời chào? gửi thất bại @@ -1628,7 +1620,6 @@ Lưu danh sách Thử lại Lưu và thông báo tới liên hệ - Xem xét lại sau mã bảo mật đã thay đổi Lưu hồ sơ nhóm Lưu và kết nối lại @@ -1750,7 +1741,6 @@ Hiển thị bảng điều khiển trong cửa sổ mới Lỗi tạo báo cáo Chia sẻ tin nhắn… - Hiển thị danh sách trò chuyện trong cửa sổ mới Chỉ hiển thị liên hệ Chia sẻ đường dẫn dùng 1 lần này Chia sẻ với các liên hệ @@ -1902,7 +1892,6 @@ Hệ thống Xin gửi lời cảm ơn tới các người dùng đã góp công qua Weblate! Nhấn để Kết nối - Nhấn Tạo địa chỉ SimpleX ở menu để tạo sau. Nhấn để tham gia một cách ẩn danh Hệ thống Chuyển đổi âm thanh và video trong lúc gọi. @@ -1977,7 +1966,6 @@ Bản lưu trữ cơ sở dữ liệu đã được tải lên sẽ bị xóa vĩnh viễn khỏi các máy chủ. Việc này không thể được hoàn tác - hồ sơ, các liên hệ, tin nhắn và tệp của bạn sẽ biến mất mà không thể khôi phục. Những máy chủ cho các kết nối mới của hồ sơ trò chuyện hiện tại của bạn - Báo cáo sẽ được lưu trữ cho bạn. Tin nhắn này đã bị xóa hoặc vẫn chưa được nhận. Mã QR này không phải là một đường dẫn! Đường dẫn này không phải là một đường dẫn kết nối hợp lệ! @@ -2067,7 +2055,6 @@ Nâng cấp ứng dụng một cách tự động Đã tải lên Cập nhật - Cập nhật Mở khóa Xác minh bảo mật kết nối Sử dụng cho các tệp @@ -2131,7 +2118,6 @@ qua đường dẫn địa chỉ liên lạc Video Chúng tôi không lưu bất kỳ liên hệ hay tin nhắn nào của bạn (một khi đã được gửi) trên các máy chủ. - Website Xin chào %1$s! Khi có sẵn Các tin nhắn thoại bị cấm! @@ -2204,7 +2190,6 @@ Bạn đã kết nối với %1$s rồi. Bạn cho phép Bạn không được kết nối với các máy chủ này. Định tuyến riêng tư được sử dụng để gửi tin nhắn tới chúng. - Bạn có thể định cấu hình các bên vận hành trong cài đặt Mạng & máy chủ. Bạn đang kết nối thông qua đường dẫn dùng một lần này! Bạn có thể thử một lần nữa. Bạn được mời vào nhóm. Tham gia để kết nối với các thành viên nhóm. @@ -2310,7 +2295,6 @@ Sử dụng cổng web Bạn có thể nhắc đến tối đa là %1$s thành viên trong một tin nhắn! Tắt thông báo tất cả - Những lời nhắc chưa đọc Các thành viên có thể báo cáo tin nhắn tới các kiểm duyệt viên. Tất cả các báo cáo sẽ được lưu trữ cho bạn. Lưu trữ tất cả báo cáo? @@ -2442,8 +2426,6 @@ đã kết nối Kết nối nhanh hơn 🚀 đang kết nối - Kết nối bằng tên kênh yêu cầu phiên bản ứng dụng mới hơn - Kết nối bằng tên liên hệ yêu cầu phiên bản ứng dụng mới hơn. Kết nối thất bại Kết nối bằng đường dẫn hoặc mã QR Liên hệ @@ -2465,7 +2447,6 @@ Lỗi tạo kênh Lỗi khi xoá tin nhắn Lỗi khi đánh dấu \"đã xem\" - Lỗi mở kênh Lỗi khi mở đoạn chat Lỗi khi mở nhóm Lỗi khi từ chối lời mời kết nối @@ -2481,13 +2462,11 @@ Để ai đó kết nối với bạn Đường dẫn Đang tải hồ sơ… - Giới thiệu Đồng ý yêu cầu kết nối Đồng ý yêu cầu kết nối đã chấp nhận danh sách đã xác nhận đang hoạt động - Thêm mới Thêm tin nhắn Thêm thiết bị Thêm mới thiết bị diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/zh-rCN/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/zh-rCN/strings.xml index 831da9ca8c..2d5ccbe4b9 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/zh-rCN/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/zh-rCN/strings.xml @@ -1763,7 +1763,6 @@ 是 不 当你的服务器或目标服务器不支持私密路由时直接发送消息。 - 备用消息路由 显示消息状态 为了保护你的 IP 地址,私密路由使用你的 SMP 服务器来传送消息。 私密消息路由 @@ -1776,7 +1775,6 @@ 不直接发送消息,即便你的服务器或目标服务器不支持私密路由。 转发服务器:%1$s \n目标服务器错误:%2$s - 消息路由模式 未知服务器! 没有 Tor 或 VPN,这些 XFTP 中继可以看到你的 IP 地址: \n%1$s. @@ -1785,7 +1783,6 @@ 文件 应用将请求确认来自未知服务器的下载(.onion 或启用 SOCKS 代理时除外)。 个人资料主题 - 在新窗口中显示聊天列表 所有颜色模式 应用到 黑 @@ -1994,10 +1991,8 @@ 无法呼叫群成员 无法给群成员发消息 确认删除联系人? - 连接 邀请 没有过滤的联系人 - 打开 搜索 发送消息来开启通话。 你可以发消息给来自已存档联系人的 %1$s。 @@ -2123,11 +2118,7 @@ 或者私下分享 服务器运营方 网络运营方 - 30 天后将接受已启用的运营方的条款。 继续 - 稍后审阅 - 选择要使用的网络运营方。 - 更新 你可以通过设置配置服务器。 %s.]]> 将于下列日期自动接受已启用的运营方的条款:%s。 @@ -2137,7 +2128,6 @@ 网络运营方 运营方 %s 台服务器 - 网站 无法加载当前条款文本,你可以通过此链接审阅条款: 使用 %s 使用服务器 @@ -2180,7 +2170,6 @@ %s.]]> 在“网络&服务器”设置中启用 Flux,更好地保护元数据隐私。 接受条款出错 - 为了更好的元数据隐私。 添加服务器出错 无媒体和文件服务器。 更新服务器出错 @@ -2189,14 +2178,11 @@ - 在第一条未读消息上打开聊天.\n- 跳转到引用的消息. 审阅条款 SimpleX 地址或一次性链接? - 要稍后创建 SimpleX 地址,请在菜单中轻按“创建 SimpleX 地址” 当前聊天资料的新文件服务器 此消息被删除或尚未收到。 连接达到了未送达消息上限,你的联系人可能处于离线状态。 为了防止链接被替换,你可以比较联系人安全代码。 - 你可以在“网络和服务器”设置中配置运营方。 接受运营方条款的日期:%s - 远程移动设备 或者导入存档文件 小米设备:请在系统设置中开启“自动启动”让通知正常工作。]]> 消息太大! @@ -2294,7 +2280,6 @@ 垃圾信息 存档举报? 举报理由? - 将为你存档该举报。 存档了 %s 的举报 举报 1 个举报 @@ -2324,7 +2309,6 @@ 未指定端口时,使用 TCP 端口 %1$s。 使用 web 端口 全部静音 - 取消提及的已读状态 每条消息最多提及 %1$s 名成员! 将为你存档所有举报。 存档所有举报? @@ -2450,7 +2434,6 @@ 发送联络请求? 发送请求 发送无消息请求 - 连接后发送给你的联系人。 升级群链接? 升级 升级地址? @@ -2504,7 +2487,6 @@ 使用隐身个人资料 欢迎联系人👋 来自%1$s群的连接请求 - 此设置用于当前个人资料 群内的联络请求 成员被删除——无法接受请求 只有你的联系人允许的情况下才允许文件和媒体。 @@ -2536,7 +2518,6 @@ 移除并删除消息 所有消息 文件 - 筛选器 图片 链接 搜索文件 @@ -2567,7 +2548,6 @@ 频道 频道 频道链接 - 频道成员 频道名 将为所有订阅者删除频道 —— 此操作无法撤销! 将为你删除频道 —— 此操作无法撤销! @@ -2597,7 +2577,6 @@ 输入中继名… 添加中继出错 创建频道出错 - 打开频道出错 失败 失败 获取链接 @@ -2614,7 +2593,6 @@ 未启用聊天中继。 不是所有中继均已连接 打开频道 - 打开新频道 所有者 所有者和贡献者 预设中继地址 @@ -2792,7 +2770,6 @@ 顶部栏 你的新频道 %1$s 已连接到 %3$d 个中继中的 %2$d 个中继。\n如果取消,频道将被删除 —— 你可以再次创建它。 这是上次活跃的中继。删除它会阻止给订阅者传送消息。 - 添加 添加中继 添加中继 取消并删除频道 @@ -2831,12 +2808,9 @@ %1$d 名所有者 %1$d 名所有者和贡献者 %1$s 支持过 SimpleX Chat。该徽章已于 %2$s 过期。 - 关于 无法验证徽章 频道网页 聊天数据 - 通过频道名连接需要更新的应用版本。 - 通过联系人名称连接需要更新的应用版本。 联系人 贡献者 复制代码 @@ -2847,7 +2821,6 @@ 它将展示给订阅者并用来允许加载预览。 更多隐私 只有您上面的页面可以显示预览。 - 请升级应用 %s 给 SimpleX Chat 众筹投过钱。 %s 支持 SimpleX Chat。 订阅者 @@ -2855,8 +2828,6 @@ 该角色将更改为 "%s"。频道中的每个人都会收到通知。 此徽章无法被验证,可能不是真的。 此群组需要更新版本的应用。要加入请更新应用。 - 不支持的频道名 - 不支持的联系人名 未验证的徽章 所用的聊天中继不支持网页。 网页代码 @@ -2879,7 +2850,6 @@ 无有效链接 解析错误:%1$s 设置 SimpleX 名称 - SimpleX 名称 SimpleX 名称错误 SimpleX 名称未验证 SimpleX 名称 %1$s 已注册但没有有效链接。 diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/zh-rTW/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/zh-rTW/strings.xml index 05e3cd8030..2909f01636 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/zh-rTW/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/zh-rTW/strings.xml @@ -1437,7 +1437,6 @@ 禁止檔案和媒體! 檔案載入中 檔案錯誤 - 備用訊息路由 如果你或你的目標伺服器不支持私密路由,將不直接傳送訊息。 建立個人檔案 從另一台裝置轉移 @@ -1533,7 +1532,6 @@ 中止地址更改時出錯 顯示通知出錯,請聯繫開發者。 刪除並通知聯絡人 - 訊息路由模式 不使用私密路由。 要進行通話請授予一項或多項權限 在 Android 系統設定中找到此權限並手動授予權限。 @@ -1664,7 +1662,6 @@ 成員非活躍 訊息 訊息將被標記為刪除。收信人可以揭示這些訊息。 - 連接 訊息 停用 下載更新中,請不要關閉應用 @@ -1754,7 +1751,6 @@ 私密路由出錯 尚無直接連接,訊息由管理員轉發。 什麼也沒選中 - 開啟 私密路由 打開資料庫文件夾 私密訊息路由 @@ -1859,7 +1855,6 @@ 是 喇叭 解除封鎖 - 網站 透明度 重複 編輯 @@ -1867,7 +1862,6 @@ 選擇 使用者名稱 密碼 - 更新 繼續 已拒絕 系統 @@ -2028,7 +2022,6 @@ 聯絡人已刪除 未同步 聯絡人已停用 - 稍後審核 分享個人檔案 完整連結 已上載檔案 @@ -2077,7 +2070,6 @@ 你已封鎖 %s 連接未就緒。 更好的訊息日期。 - 為了更好的元資料隱私。 你可以再試一次。 使用匿名個人檔案 開啟聊天 @@ -2137,7 +2129,6 @@ 影片 檔案 連結 - 過濾器 %d 個舉報 已棄用的選項 無訂閱 @@ -2226,11 +2217,6 @@ 刪除聊天時發生錯誤 不支援的連線連結 此連結需要較新的應用程式版本。請升級應用程式,或請你的聯絡人傳送相容的連結。 - 不支援的頻道名稱 - 不支援的聯絡人名稱 - 透過頻道名稱連線需要較新的應用程式版本。 - 透過聯絡人名稱連線需要較新的應用程式版本。 - 請升級應用程式。 頻道暫時無法使用 頻道沒有啟用中的中繼。請稍後再嘗試加入。 需要更新應用程式 @@ -2250,7 +2236,6 @@ 應用程式電池用量 / 不受限制。]]> Xiaomi 裝置:請在系統設定中啟用自動啟動,以便通知正常運作。]]> 此訊息已刪除或尚未接收。 - 該檢舉報告將為你封存。 所有檢舉報告將為你封存。 金鑰錯誤或未知連線——此連線很可能已刪除。 伺服器地址與網路設定不相容。 @@ -2273,7 +2258,6 @@ 讓任何人都能聯絡你 列表 %s 中沒有聊天。 聯絡人需要接受… - 稍後可點選選單中的「建立 SimpleX 地址」來建立。 沒有可轉發的內容! 要轉發不含檔案的訊息嗎? 這些訊息在你選取後已被刪除。 @@ -2341,7 +2325,6 @@ 拒絕聯絡請求 傳送者不會收到通知。 成員已刪除,無法接受請求 - 未讀提及 所有列表的名稱和 emoji 都應不同。 所有聊天都將從列表 %s 中移除,且該列表會被刪除 在社交媒體上分享 SimpleX 地址。 @@ -2380,7 +2363,6 @@ 若要接收新版本通知,請開啟穩定版或 Beta 版的定期檢查。 顯示較慢的 API 呼叫 儲存設定時發生錯誤 - 連線後會傳送給你的聯絡人。 或私下分享 SimpleX 地址還是一次性連結? 新的一次性連結 @@ -2429,11 +2411,8 @@ 應用程式會在每個對話中使用不同營運商,以保護你的私隱。 啟用多於一個營運商時,沒有任何一方擁有足以得知誰與誰通訊的中繼資料。 例如,如果你的聯絡人透過 SimpleX Chat 伺服器接收訊息,你的應用程式會透過 Flux 伺服器傳送訊息。 - 選擇要使用的網路營運商。 這如何有助於私隱 你可以透過設定配置伺服器。 - 30 天後,將會接受已啟用營運商的條件。 - 你可以在「網路與伺服器」設定中配置營運商。 你的網路 網路路由器無法知道\n誰在和誰交談 設定路由器 @@ -2450,7 +2429,6 @@ 應用程式會要求確認來自未知檔案伺服器的下載(.onion 或啟用 SOCKS 代理時除外)。 未使用 Tor 或 VPN 時,你的 IP 地址會對檔案伺服器可見。 移除連結追蹤 - 此設定適用於你目前的個人檔案 這些設定適用於你目前的個人檔案 可在聯絡人和群組設定中覆寫這些設定。 已為 %d 個聯絡人啟用送達回條 @@ -2464,14 +2442,12 @@ 開啟乾淨連結 傳送送達回條給 來自群組的聯絡請求 - 關於 聯絡 支持此專案 聊天數據 說明與支援 更多私隱 進階設定 - 遠端行動裝置 你可以儲存匯出的封存檔。 你可以遷移匯出的數據庫。 部分檔案未匯出 @@ -2486,7 +2462,6 @@ 底部列 頂部列 在新視窗中顯示控制台 - 在新視窗中顯示聊天列表 如果你加入或建立了頻道,它們將永久停止運作。 要離開頻道嗎? 你將停止接收此頻道的訊息。聊天記錄將會保留。 @@ -2535,7 +2510,6 @@ 只有聊天擁有者可以變更偏好設定。 此群組有超過 %1$d 名成員,不會傳送送達回條。 連結 - 頻道成員 聊天中繼 要移除訂閱者嗎? 要刪除成員訊息嗎? @@ -2827,7 +2801,6 @@ 你的個人檔案 %1$s 將與頻道中繼和訂閱者共享。\n中繼可以存取頻道訊息。 設定中繼 失敗 - 新增 新增中繼 新增中繼 沒有可用的中繼 @@ -2843,10 +2816,8 @@ 中繼地址 這是聊天中繼地址,不能用於連接。 開啟頻道 - 開啟新頻道 你的頻道 %1$s 的連結!]]> - 開啟頻道時發生錯誤 要對全部解除封鎖訂閱者嗎? 要啟用連結預覽嗎? 傳送連結預覽可能會向網站透露你的 IP 地址。你可以稍後在「私隱」設定中變更此設定。 diff --git a/flake.nix b/flake.nix index fdd041bd88..0863222c92 100644 --- a/flake.nix +++ b/flake.nix @@ -405,6 +405,7 @@ "chat_send_remote_cmd" "chat_send_remote_cmd_retry" "chat_valid_name" + "chat_parse_badge_code" "chat_json_length" "chat_badge_keygen" "chat_badge_issue" @@ -526,6 +527,7 @@ "chat_send_remote_cmd" "chat_send_remote_cmd_retry" "chat_valid_name" + "chat_parse_badge_code" "chat_json_length" "chat_badge_keygen" "chat_badge_issue" diff --git a/libsimplex.dll.def b/libsimplex.dll.def index ec4125193f..a7a66992a6 100644 --- a/libsimplex.dll.def +++ b/libsimplex.dll.def @@ -15,6 +15,7 @@ EXPORTS chat_parse_uri chat_password_hash chat_valid_name + chat_parse_badge_code chat_json_length chat_badge_keygen chat_badge_issue diff --git a/src/Simplex/Chat.hs b/src/Simplex/Chat.hs index b2d1f89882..3e6fb7e229 100644 --- a/src/Simplex/Chat.hs +++ b/src/Simplex/Chat.hs @@ -53,6 +53,7 @@ import Simplex.Messaging.Agent.Store.Shared (MigrationConfig (..), MigrationConf import Simplex.Messaging.Client (defaultNetworkConfig) import qualified Simplex.Messaging.Crypto as C import Simplex.Messaging.Crypto.Entitlement (entitlementIssuerKeys) +import Simplex.Messaging.Encoding.String (strDecode) import Simplex.Messaging.Protocol (ProtoServerWithAuth (..), ProtocolType (..), SProtocolType (..), SubscriptionMode (..), UserProtocol) import qualified Simplex.Messaging.TMap as TM import qualified UnliftIO.Exception as E @@ -68,7 +69,7 @@ defaultChatConfig = }, chatVRange = supportedChatVRange, badgePublicKeys = M.mapKeys fromIntegral entitlementIssuerKeys, - badgeServiceAddress = Nothing, + badgeServiceAddress = Just $ either error id $ strDecode "https://smp5.simplex.im/a#ooSNWlEZTO2RPE0Ff5ZoybAs5zEhWLMlQrXesnhaZHM", badgeCurrentTime = getCurrentTime, badgeRetryInterval = RetryInterval {initialInterval = 30_000000, increaseAfter = 0, maxInterval = 3600_000000}, confirmMigrations = MCConsole, diff --git a/src/Simplex/Chat/Badges/Types.hs b/src/Simplex/Chat/Badges/Types.hs index cbd2ecb1b6..a0ee90b83c 100644 --- a/src/Simplex/Chat/Badges/Types.hs +++ b/src/Simplex/Chat/Badges/Types.hs @@ -36,6 +36,7 @@ import Data.Time.Clock (UTCTime) import Data.Word (Word8) import Simplex.Chat.Badges hiding (BadgePurchase (..)) import Simplex.Chat.PaymentService.Types (InvoiceId, PaymentId, StoredPayment) +import Simplex.Chat.Types (BoolDef (..)) import Simplex.Messaging.Agent.Protocol (UserId) import Simplex.Messaging.Agent.Store.DB (fromTextField_) import qualified Simplex.Messaging.Crypto as C @@ -212,6 +213,7 @@ data BadgeAlert = BadgeAlert data BadgeState = BadgeState { badgePurchaseId :: Int64, badgeType :: BadgeType, + shown :: BoolDef, monthsLeft :: Int, paidThrough :: UTCTime, -- payments returns here with the payment types, which this slice neither writes nor encodes diff --git a/src/Simplex/Chat/Library/Commands.hs b/src/Simplex/Chat/Library/Commands.hs index e41d05f1db..e0f077fbb3 100644 --- a/src/Simplex/Chat/Library/Commands.hs +++ b/src/Simplex/Chat/Library/Commands.hs @@ -3563,7 +3563,7 @@ processChatCommand cxt nm = \case ShowProfile -> withUser $ \user@User {profile} -> pure $ CRUserProfile user (fromLocalProfile profile) AddBadge cred -> withUser $ \user -> addUserBadge user cred >> ok user APIRedeemBadgeCode userId codeText -> withUserId userId $ \user -> redeemBadgeCode nm user codeText - APIGetBadgeState userId -> withUserId userId $ \user -> do + APIGetBadgeState userId -> withUserId' userId $ \user -> do -- the read also signals the worker, whose results follow as CEvtBadgeChanged lift $ startBadgeWork user CRBadgeState user <$> getUserBadgeState user @@ -5407,10 +5407,11 @@ getUserBadgeState user = do Just p@UserBadgePurchase {badgePurchaseId} -> fmap (badgeStateOf now p) <$> withStore' (`getBadgeLedgerLastEntry` badgePurchaseId) where - badgeStateOf now p@UserBadgePurchase {badgePurchaseId, badgeType} balance = + badgeStateOf now p@UserBadgePurchase {badgePurchaseId, badgeType, shown} balance = BadgeState { badgePurchaseId, badgeType, + shown = BoolDef shown, monthsLeft = balanceMonths balance, paidThrough = L.paidThrough balance, renewsAt = Nothing, diff --git a/src/Simplex/Chat/Mobile.hs b/src/Simplex/Chat/Mobile.hs index 51e0409723..d2e1d8460d 100644 --- a/src/Simplex/Chat/Mobile.hs +++ b/src/Simplex/Chat/Mobile.hs @@ -27,6 +27,7 @@ import Data.List (find) import qualified Data.List.NonEmpty as L import Data.Maybe (fromMaybe) import Data.Text (Text) +import Data.Text.Encoding (encodeUtf8) import Data.Word (Word8) import Foreign.C.String import Foreign.C.Types (CInt (..)) @@ -35,6 +36,7 @@ import Foreign.StablePtr import Foreign.Storable (poke) import GHC.IO.Encoding (setFileSystemEncoding, setForeignEncoding, setLocaleEncoding) import Simplex.Chat +import Simplex.Chat.Badges.Code (badgeCodeText, parseBadgeCode) import Simplex.Chat.Controller import Simplex.Chat.Library.Commands import Simplex.Chat.Markdown (ParsedMarkdown (..), parseMaybeMarkdownList, parseUri, sanitizeUri) @@ -137,6 +139,8 @@ foreign export ccall "chat_password_hash" cChatPasswordHash :: CString -> CStrin foreign export ccall "chat_valid_name" cChatValidName :: CString -> IO CString +foreign export ccall "chat_parse_badge_code" cChatParseBadgeCode :: CString -> IO CString + foreign export ccall "chat_json_length" cChatJsonLength :: CString -> IO CInt foreign export ccall "chat_badge_keygen" cChatBadgeKeygen :: IO CJSONString @@ -240,6 +244,12 @@ cChatPasswordHash cPwd cSalt = do cChatValidName :: CString -> IO CString cChatValidName cName = newCString . mkValidName =<< peekCString cName +-- | canonical form of a code that passes its check character, empty string if it does not parse +cChatParseBadgeCode :: CString -> IO CString +cChatParseBadgeCode cCode = do + code <- safeDecodeUtf8 <$> B.packCString cCode + newCStringFromBS $ maybe "" (encodeUtf8 . badgeCodeText) $ parseBadgeCode code + -- | returns length of JSON encoded string cChatJsonLength :: CString -> IO CInt cChatJsonLength s = fromIntegral . subtract 2 . LB.length . J.encode . safeDecodeUtf8 <$> B.packCString s From 2bfbcd75a2ef678abe40f9aa938bc2fd9327d2d3 Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Tue, 15 Sep 2026 15:30:09 +0100 Subject: [PATCH 60/69] 7.1.0.6 --- simplex-chat.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/simplex-chat.cabal b/simplex-chat.cabal index b2eefbfcee..576ccf128e 100644 --- a/simplex-chat.cabal +++ b/simplex-chat.cabal @@ -5,7 +5,7 @@ cabal-version: 1.12 -- see: https://github.com/sol/hpack name: simplex-chat -version: 7.1.0.5 +version: 7.1.0.6 category: Web, System, Services, Cryptography homepage: https://github.com/simplex-chat/simplex-chat#readme author: simplex.chat From b0a7219db26e6168e9c9a348e4e1e03acd0487cc Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Tue, 15 Sep 2026 15:32:10 +0000 Subject: [PATCH 61/69] android: show "Get your code" button in all app flavours (#7514) --- .../common/views/badges/BadgesSupportSimplexView.kt | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesSupportSimplexView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesSupportSimplexView.kt index a9d935cdde..48ef36ece1 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesSupportSimplexView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesSupportSimplexView.kt @@ -125,14 +125,10 @@ private fun RedeemCodeButton() { @Composable private fun GetCodeButton() { val uriHandler = LocalUriHandler.current - if (platform.androidHasPlatformStore) { - TextButtonBelowOnboardingButton("", null) - } else { - TextButtonBelowOnboardingButton( - text = stringResource(MR.strings.badges_get_your_code), - onClick = { uriHandler.openExternalLink("https://simplex.chat/badges/") } - ) - } + TextButtonBelowOnboardingButton( + text = stringResource(MR.strings.badges_get_your_code), + onClick = { uriHandler.openExternalLink("https://simplex.chat/badges/") } + ) } @Composable From dabaf29cd89a6a60ee4a90b8941af0c037a7d524 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Tue, 15 Sep 2026 20:06:04 +0400 Subject: [PATCH 62/69] kotlin: add assets --- .../resources/MR/images/phone_supporter@2x.png | Bin 0 -> 24963 bytes .../resources/MR/images/phone_supporter@3x.png | Bin 0 -> 50810 bytes .../MR/images/phone_supporter_light@2x.png | Bin 0 -> 24185 bytes .../MR/images/phone_supporter_light@3x.png | Bin 0 -> 48176 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/multiplatform/resources/MR/images/phone_supporter@2x.png create mode 100644 assets/multiplatform/resources/MR/images/phone_supporter@3x.png create mode 100644 assets/multiplatform/resources/MR/images/phone_supporter_light@2x.png create mode 100644 assets/multiplatform/resources/MR/images/phone_supporter_light@3x.png diff --git a/assets/multiplatform/resources/MR/images/phone_supporter@2x.png b/assets/multiplatform/resources/MR/images/phone_supporter@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..858385c526d2be7a105155c9cc1566215411e259 GIT binary patch literal 24963 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%0D3&;bmX=RLWd;%MZzMBs6Bi7gC%wO&j7T)4`1%y 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 literal 0 HcmV?d00001 diff --git a/assets/multiplatform/resources/MR/images/phone_supporter@3x.png b/assets/multiplatform/resources/MR/images/phone_supporter@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..58b4ecc1bde7c7aa75bbde30445ab053033c809d GIT binary patch literal 50810 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

      (?k9RF!N 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 N002ovPDHLkV1myF+w1@U literal 0 HcmV?d00001 diff --git a/assets/multiplatform/resources/MR/images/phone_supporter_light@2x.png b/assets/multiplatform/resources/MR/images/phone_supporter_light@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6e87c1a72b8c6719b6860d7315517b68619a3d58 GIT binary patch literal 24185 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

      `ZK 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 Date: Tue, 15 Sep 2026 16:09:53 +0000 Subject: [PATCH 63/69] 7.1-beta.3: android 378, desktop 161, ios 356 --- apps/ios/SimpleX.xcodeproj/project.pbxproj | 36 +++++++++---------- apps/multiplatform/gradle.properties | 8 ++--- .../types/typescript/package.json | 2 +- packages/simplex-chat-nodejs/package.json | 4 +-- .../simplex-chat-nodejs/src/download-libs.js | 2 +- .../src/simplex_chat/_version.py | 4 +-- 6 files changed, 28 insertions(+), 28 deletions(-) diff --git a/apps/ios/SimpleX.xcodeproj/project.pbxproj b/apps/ios/SimpleX.xcodeproj/project.pbxproj index e862d1cf2c..9d16c5c1f4 100644 --- a/apps/ios/SimpleX.xcodeproj/project.pbxproj +++ b/apps/ios/SimpleX.xcodeproj/project.pbxproj @@ -191,8 +191,8 @@ 64C3B0212A0D359700E19930 /* CustomTimePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C3B0202A0D359700E19930 /* CustomTimePicker.swift */; }; 64C8299D2D54AEEE006B9E89 /* libgmp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C829982D54AEED006B9E89 /* libgmp.a */; }; 64C8299E2D54AEEE006B9E89 /* libffi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C829992D54AEEE006B9E89 /* libffi.a */; }; - 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN-ghc9.6.3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN-ghc9.6.3.a */; }; - 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN.a */; }; + 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.6-ErPlbJcf1H358Yh01XLorw-ghc9.6.3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.6-ErPlbJcf1H358Yh01XLorw-ghc9.6.3.a */; }; + 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.6-ErPlbJcf1H358Yh01XLorw.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.6-ErPlbJcf1H358Yh01XLorw.a */; }; 64C829A12D54AEEE006B9E89 /* libgmpxx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299C2D54AEEE006B9E89 /* libgmpxx.a */; }; 64D0C2C029F9688300B38D5F /* UserAddressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D0C2BF29F9688300B38D5F /* UserAddressView.swift */; }; 64D0C2C229FA57AB00B38D5F /* UserAddressLearnMore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D0C2C129FA57AB00B38D5F /* UserAddressLearnMore.swift */; }; @@ -582,8 +582,8 @@ 64C3B0202A0D359700E19930 /* CustomTimePicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomTimePicker.swift; sourceTree = ""; }; 64C829982D54AEED006B9E89 /* libgmp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgmp.a; sourceTree = ""; }; 64C829992D54AEEE006B9E89 /* libffi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libffi.a; sourceTree = ""; }; - 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN-ghc9.6.3.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN-ghc9.6.3.a"; sourceTree = ""; }; - 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN.a"; sourceTree = ""; }; + 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.6-ErPlbJcf1H358Yh01XLorw-ghc9.6.3.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-7.1.0.6-ErPlbJcf1H358Yh01XLorw-ghc9.6.3.a"; sourceTree = ""; }; + 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.6-ErPlbJcf1H358Yh01XLorw.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-7.1.0.6-ErPlbJcf1H358Yh01XLorw.a"; sourceTree = ""; }; 64C8299C2D54AEEE006B9E89 /* libgmpxx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgmpxx.a; sourceTree = ""; }; 64D0C2BF29F9688300B38D5F /* UserAddressView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserAddressView.swift; sourceTree = ""; }; 64D0C2C129FA57AB00B38D5F /* UserAddressLearnMore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserAddressLearnMore.swift; sourceTree = ""; }; @@ -756,8 +756,8 @@ 64C8299D2D54AEEE006B9E89 /* libgmp.a in Frameworks */, 64C8299E2D54AEEE006B9E89 /* libffi.a in Frameworks */, 64C829A12D54AEEE006B9E89 /* libgmpxx.a in Frameworks */, - 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN-ghc9.6.3.a in Frameworks */, - 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN.a in Frameworks */, + 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.6-ErPlbJcf1H358Yh01XLorw-ghc9.6.3.a in Frameworks */, + 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.6-ErPlbJcf1H358Yh01XLorw.a in Frameworks */, CE38A29C2C3FCD72005ED185 /* SwiftyGif in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -844,8 +844,8 @@ 64C829992D54AEEE006B9E89 /* libffi.a */, 64C829982D54AEED006B9E89 /* libgmp.a */, 64C8299C2D54AEEE006B9E89 /* libgmpxx.a */, - 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN-ghc9.6.3.a */, - 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.5-IGts36xYjPC79miwfnmQnN.a */, + 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.6-ErPlbJcf1H358Yh01XLorw-ghc9.6.3.a */, + 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-7.1.0.6-ErPlbJcf1H358Yh01XLorw.a */, ); path = Libraries; sourceTree = ""; @@ -2131,7 +2131,7 @@ CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES; CODE_SIGN_ENTITLEMENTS = "SimpleX (iOS).entitlements"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 355; + CURRENT_PROJECT_VERSION = 356; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_BITCODE = NO; @@ -2181,7 +2181,7 @@ CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES; CODE_SIGN_ENTITLEMENTS = "SimpleX (iOS).entitlements"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 355; + CURRENT_PROJECT_VERSION = 356; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_BITCODE = NO; @@ -2223,7 +2223,7 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 355; + CURRENT_PROJECT_VERSION = 356; DEVELOPMENT_TEAM = 5NN7GUYB6T; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 15.0; @@ -2243,7 +2243,7 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 355; + CURRENT_PROJECT_VERSION = 356; DEVELOPMENT_TEAM = 5NN7GUYB6T; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 15.0; @@ -2268,7 +2268,7 @@ CODE_SIGN_ENTITLEMENTS = "SimpleX NSE/SimpleX NSE.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 355; + CURRENT_PROJECT_VERSION = 356; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_BITCODE = NO; GCC_OPTIMIZATION_LEVEL = s; @@ -2305,7 +2305,7 @@ CODE_SIGN_ENTITLEMENTS = "SimpleX NSE/SimpleX NSE.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 355; + CURRENT_PROJECT_VERSION = 356; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_BITCODE = NO; ENABLE_CODE_COVERAGE = NO; @@ -2342,7 +2342,7 @@ CLANG_TIDY_BUGPRONE_REDUNDANT_BRANCH_CONDITION = YES; CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 355; + CURRENT_PROJECT_VERSION = 356; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 5NN7GUYB6T; DYLIB_COMPATIBILITY_VERSION = 1; @@ -2393,7 +2393,7 @@ CLANG_TIDY_BUGPRONE_REDUNDANT_BRANCH_CONDITION = YES; CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 355; + CURRENT_PROJECT_VERSION = 356; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 5NN7GUYB6T; DYLIB_COMPATIBILITY_VERSION = 1; @@ -2447,7 +2447,7 @@ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CODE_SIGN_ENTITLEMENTS = "SimpleX SE/SimpleX SE.entitlements"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 355; + CURRENT_PROJECT_VERSION = 356; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; @@ -2481,7 +2481,7 @@ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CODE_SIGN_ENTITLEMENTS = "SimpleX SE/SimpleX SE.entitlements"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 355; + CURRENT_PROJECT_VERSION = 356; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; diff --git a/apps/multiplatform/gradle.properties b/apps/multiplatform/gradle.properties index b3a8407839..b7807cb4c0 100644 --- a/apps/multiplatform/gradle.properties +++ b/apps/multiplatform/gradle.properties @@ -24,11 +24,11 @@ android.nonTransitiveRClass=true kotlin.mpp.androidSourceSetLayoutVersion=2 kotlin.jvm.target=11 -android.version_name=7.1-beta.2 -android.version_code=377 +android.version_name=7.1-beta.3 +android.version_code=378 -desktop.version_name=7.1-beta.2 -desktop.version_code=160 +desktop.version_name=7.1-beta.3 +desktop.version_code=161 kotlin.version=2.1.20 gradle.plugin.version=8.7.0 diff --git a/packages/simplex-chat-client/types/typescript/package.json b/packages/simplex-chat-client/types/typescript/package.json index b0830995dd..7fdad94741 100644 --- a/packages/simplex-chat-client/types/typescript/package.json +++ b/packages/simplex-chat-client/types/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@simplex-chat/types", - "version": "0.11.2", + "version": "0.11.3", "description": "TypeScript types for SimpleX Chat bot libraries", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/simplex-chat-nodejs/package.json b/packages/simplex-chat-nodejs/package.json index b578194679..0960334edc 100644 --- a/packages/simplex-chat-nodejs/package.json +++ b/packages/simplex-chat-nodejs/package.json @@ -1,6 +1,6 @@ { "name": "simplex-chat", - "version": "7.1.0-beta.2", + "version": "7.1.0-beta.3", "main": "dist/index.js", "types": "dist/index.d.ts", "files": [ @@ -24,7 +24,7 @@ "docs": "typedoc" }, "dependencies": { - "@simplex-chat/types": "^0.11.2", + "@simplex-chat/types": "^0.11.3", "extract-zip": "^2.0.1", "fast-deep-equal": "^3.1.3", "node-addon-api": "^8.5.0" diff --git a/packages/simplex-chat-nodejs/src/download-libs.js b/packages/simplex-chat-nodejs/src/download-libs.js index 3f10023f88..0acff40daf 100644 --- a/packages/simplex-chat-nodejs/src/download-libs.js +++ b/packages/simplex-chat-nodejs/src/download-libs.js @@ -4,7 +4,7 @@ const path = require('path'); const extract = require('extract-zip'); const GITHUB_REPO = 'simplex-chat/simplex-chat-libs'; -const RELEASE_TAG = 'v7.1.0-beta.2'; +const RELEASE_TAG = 'v7.1.0-beta.3'; const BACKEND = (process.env.SIMPLEX_BACKEND || process.env.npm_config_simplex_backend || 'sqlite').toLowerCase(); if (BACKEND !== 'sqlite' && BACKEND !== 'postgres') { diff --git a/packages/simplex-chat-python/src/simplex_chat/_version.py b/packages/simplex-chat-python/src/simplex_chat/_version.py index a335c71d03..e3f2fa5338 100644 --- a/packages/simplex-chat-python/src/simplex_chat/_version.py +++ b/packages/simplex-chat-python/src/simplex_chat/_version.py @@ -5,5 +5,5 @@ Bump both together for normal releases. For wrapper-only fixes use a PEP 440 post-release: __version__ = "6.5.2.post1", LIBS_VERSION unchanged. """ -__version__ = "7.1.0b2" # PEP 440 — read by hatchling for wheel metadata -LIBS_VERSION = "7.1.0-beta.2" # simplex-chat-libs release tag (no 'v' prefix) +__version__ = "7.1.0b3" # PEP 440 — read by hatchling for wheel metadata +LIBS_VERSION = "7.1.0-beta.3" # simplex-chat-libs release tag (no 'v' prefix) From 5e8bff5a60a98fd388034524fffcb4586f46a3ae Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Wed, 16 Sep 2026 00:09:04 +0100 Subject: [PATCH 64/69] website: update --- website/src/badges.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/badges.html b/website/src/badges.html index a0885b230a..3aed2155d3 100644 --- a/website/src/badges.html +++ b/website/src/badges.html @@ -1,7 +1,7 @@ --- layout: layouts/redirect.html title: "Support SimpleX Chat" -description: "Supporter badges provide additional file size and in-transit storage duration" +description: "Supporter badges provide additional file size and storage duration" destinationURI: "https://badges.simplex.chat" destinationText: Support SimpleX Chat templateEngineOverride: njk From 9af6fb00e653fa03ff652d4c8a12698188807bff Mon Sep 17 00:00:00 2001 From: brenzi Date: Wed, 16 Sep 2026 11:07:18 +0200 Subject: [PATCH 65/69] minimal adjustment to make client compile against SMP-v22 PR (#7520) * minimal adjustment to make client compile against SMP-v22 PR * repin after upstream merge --- cabal.project | 2 +- scripts/nix/sha256map.nix | 2 +- src/Simplex/Chat/Library/Commands.hs | 24 ++++++++++++++++-------- tests/Bots/DirectoryTests.hs | 6 +++--- tests/ChatTests/Names.hs | 22 +++++++++++----------- tests/NameResolver.hs | 18 +++++++++++------- 6 files changed, 43 insertions(+), 31 deletions(-) diff --git a/cabal.project b/cabal.project index b4eba950c7..81a7dc7e6f 100644 --- a/cabal.project +++ b/cabal.project @@ -21,7 +21,7 @@ constraints: zip +disable-bzip2 +disable-zstd source-repository-package type: git location: https://github.com/simplex-chat/simplexmq.git - tag: 7f0218e1d588a6d18c46916c8095e4fd78e09421 + tag: ea43df2349f6d3dedd60d5e4aed21fd99316cad9 source-repository-package type: git diff --git a/scripts/nix/sha256map.nix b/scripts/nix/sha256map.nix index 6527571b7c..64a6dce26f 100644 --- a/scripts/nix/sha256map.nix +++ b/scripts/nix/sha256map.nix @@ -1,5 +1,5 @@ { - "https://github.com/simplex-chat/simplexmq.git"."7f0218e1d588a6d18c46916c8095e4fd78e09421" = "1y0y7kpdd6sn8hwb087avkkxza23l5xyaz3bgrzix8pnl2il52kj"; + "https://github.com/simplex-chat/simplexmq.git"."ea43df2349f6d3dedd60d5e4aed21fd99316cad9" = "1jkh6zfyfxbx49s0pggina1yadk3zlb0ls5crgka6aiw1w25dxr0"; "https://github.com/simplex-chat/hs-socks.git"."a30cc7a79a08d8108316094f8f2f82a0c5e1ac51" = "0yasvnr7g91k76mjkamvzab2kvlb1g5pspjyjn2fr6v83swjhj38"; "https://github.com/simplex-chat/direct-sqlcipher.git"."f814ee68b16a9447fbb467ccc8f29bdd3546bfd9" = "1ql13f4kfwkbaq7nygkxgw84213i0zm7c1a8hwvramayxl38dq5d"; "https://github.com/simplex-chat/sqlcipher-simple.git"."a46bd361a19376c5211f1058908fc0ae6bf42446" = "1z0r78d8f0812kxbgsm735qf6xx8lvaz27k1a0b4a2m0sshpd5gl"; diff --git a/src/Simplex/Chat/Library/Commands.hs b/src/Simplex/Chat/Library/Commands.hs index e0f077fbb3..6ba042bd94 100644 --- a/src/Simplex/Chat/Library/Commands.hs +++ b/src/Simplex/Chat/Library/Commands.hs @@ -120,7 +120,7 @@ import Simplex.Messaging.Crypto.Ratchet (E2ERatchetParamsUri (..), InitialKeys ( import Simplex.Messaging.Encoding import Simplex.Messaging.Encoding.String import Simplex.Messaging.Parsers (base64P) -import Simplex.Messaging.Protocol (AProtoServerWithAuth (..), AProtocolType (..), ErrorType (NAME), MsgFlags (..), NameRecord (..), NtfServer, ProtoServerWithAuth (..), ProtocolServer, ProtocolType (..), ProtocolTypeI (..), SProtocolType (..), SubscriptionMode (..), UserProtocol, userProtocol) +import Simplex.Messaging.Protocol (AProtoServerWithAuth (..), AProtocolType (..), ErrorType (NAME), MsgFlags (..), NameRecord (..), NameRegistration (..), NameResponse (..), NtfServer, ProtoServerWithAuth (..), ProtocolServer, ProtocolType (..), ProtocolTypeI (..), SProtocolType (..), SubscriptionMode (..), UserProtocol, userProtocol) import qualified Simplex.Messaging.Protocol as SMP import Simplex.Messaging.ServiceScheme (ServiceScheme (..)) import qualified Simplex.Messaging.TMap as TM @@ -1604,7 +1604,7 @@ processChatCommand cxt nm = \case UserContactLink {shortLinkDataSet, connLinkContact = CCLink _ sl_} <- withFastStore (`getUserAddress` user) case sl_ of Just sl | shortLinkDataSet -> do - NameRecord {nrSimplexContact} <- withAgent $ \a -> resolveSimplexName a nm (aUserId user) domain + NameRecord {nrSimplexContact} <- resolveNameRecord user nm domain unless (nameResolvesTo sl nrSimplexContact) $ throwChatError $ CESimplexDomainNotReady domain SDENoValidLink pure $ Just (CLShort sl) _ -> throwCmdError "create the address short link and add it to name" @@ -2418,7 +2418,7 @@ processChatCommand cxt nm = \case claim <- maybe (throwCmdError "group has no name to verify") pure $ publicGroupAccess >>= groupDomainClaim -- checks the profile link, not the link we joined through (which may have rotated) (verified, reason) <- - tryAllErrors (withAgent $ \a -> resolveSimplexName a nm (aUserId user) (claimDomain claim)) >>= \case + tryAllErrors (resolveNameRecord user nm (claimDomain claim)) >>= \case Right NameRecord {nrSimplexChannel} | nameResolvesTo groupLink nrSimplexChannel -> pure (True, Nothing) | otherwise -> pure (False, Just "the name does not resolve to the link in the group profile") @@ -3295,7 +3295,7 @@ processChatCommand cxt nm = \case let domainChanged = (claimDomain <$> newClaim) /= (claimDomain <$> (existingAccess >>= groupDomainClaim)) forM_ (claimDomain <$> newClaim) $ \newDomain -> when domainChanged $ do - NameRecord {nrSimplexChannel} <- withAgent $ \a -> resolveSimplexName a nm (aUserId user) newDomain + NameRecord {nrSimplexChannel} <- resolveNameRecord user nm newDomain unless (nameResolvesTo groupLink nrSimplexChannel) $ throwChatError $ CESimplexDomainNotReady newDomain SDENoValidLink runUpdateGroupProfile user gInfo p {publicGroup = Just pg {publicGroupAccess = Just access}} (isJust newClaim && domainChanged) Nothing -> throwChatError $ CECommandError "not a public group" @@ -4416,7 +4416,7 @@ processChatCommand cxt nm = \case -- local search only: look up #d then @d in the store, without online name resolution | resolveMode == PRMNever -> connectPlanNoName $ ChatError CENotResolvedLocally | otherwise -> - tryAllErrors (withAgent $ \a -> resolveSimplexName a nm (aUserId user) d) >>= \case + tryAllErrors (resolveNameRecord user nm d) >>= \case Right nr | isJust (firstNameLink CCTChannel (nrSimplexChannel nr)) -> (addOther nr <$> connectPlanName NTPublicGroup (Right nr)) `catchAllErrors` \e -> @@ -4567,7 +4567,7 @@ processChatCommand cxt nm = \case -- resolve a name to its first contact/channel short link resolveNameLink :: SimplexNameInfo -> CM (ConnShortLink 'CMContact) resolveNameLink SimplexNameInfo {nameType, nameDomain} = do - NameRecord {nrSimplexContact, nrSimplexChannel} <- maybe (withAgent $ \a -> resolveSimplexName a nm (aUserId user) nameDomain) (ExceptT . pure) nameRec + NameRecord {nrSimplexContact, nrSimplexChannel} <- maybe (resolveNameRecord user nm nameDomain) (ExceptT . pure) nameRec let (candidates, ctType') = case nameType of NTContact -> (nrSimplexContact, CCTContact) NTPublicGroup -> (nrSimplexChannel, CCTChannel) @@ -5078,12 +5078,20 @@ firstNameLink ctType = foldr (\t r -> nameLink t <|> r) Nothing nameResolvesTo :: ConnShortLink 'CMContact -> [Text] -> Bool nameResolvesTo sLnk = any (either (const False) (sameShortLinkContact sLnk) . strDecode . encodeUtf8) +-- the resolver now also reports names that are not registered, which stay the agent's NAME NOT_FOUND +resolveNameRecord :: User -> NetworkRequestMode -> SimplexDomain -> CM NameRecord +resolveNameRecord user nm domain = do + NameResponse {registration} <- withAgent $ \a -> resolveSimplexName a nm (aUserId user) domain + case registration of + NRRegistered {nameRecord} -> pure nameRecord + _ -> throwError $ chatErrorAgent $ SMP "" (NAME SMP.NOT_FOUND) + verifyEntityDomain :: User -> NetworkRequestMode -> SimplexNameType -> SimplexDomainClaim -> Maybe AConnShortLink -> CM (Maybe Bool, Maybe Text) verifyEntityDomain user nm nameType SimplexDomainClaim {domain = StrJSON domain, proof = proof_} connLink_ = case (proof_, connLink_) of (Nothing, _) -> pure (Nothing, Just "no name proof to verify") (_, Nothing) -> pure (Nothing, Just "no connection link to check the name against") (Just proof, Just (ACSL SCMContact profileSLnk)) -> do - NameRecord {nrSimplexContact, nrSimplexChannel} <- withAgent $ \a -> resolveSimplexName a nm (aUserId user) domain + NameRecord {nrSimplexContact, nrSimplexChannel} <- resolveNameRecord user nm domain let resolvedLinks = case nameType of NTContact -> nrSimplexContact NTPublicGroup -> nrSimplexChannel @@ -5632,7 +5640,7 @@ sendServiceRequestTo nm user sendTarget requestTimeout signKey request = do _ -> throwCmdError "service request target must be a contact" CTDomain d -> resolveDomain d resolveDomain d = do - nr <- withAgent $ \a -> resolveSimplexName a nm (aUserId user) d + nr <- resolveNameRecord user nm d case firstNameLink CCTContact (nrSimplexContact nr) of Just sLnk -> resolveShortLink sLnk Nothing -> throwChatError $ CESimplexDomainNotReady d SDENoValidLink diff --git a/tests/Bots/DirectoryTests.hs b/tests/Bots/DirectoryTests.hs index 28b4e0d1bf..74688e9b4f 100644 --- a/tests/Bots/DirectoryTests.hs +++ b/tests/Bots/DirectoryTests.hs @@ -2185,7 +2185,7 @@ testDirectoryChannelName ps = withSmpServerAndNames $ \reg -> enableNamesRole bob bob `connectVia` dsLink (shortLink, _fullLink) <- prepareChannel1Relay "news" bob relay - registerName reg newsName (channelNameRecord "news" (T.pack shortLink)) + registerName reg newsName (channelNameRecord "news.simplex" (T.pack shortLink)) bob ##> "/public group access #news domain=news.simplex" bob <## "updated public group access: domain=news.simplex" relay <## "bob updated group #news: (signed)" @@ -2226,13 +2226,13 @@ testDirectoryChannelNameNotVerified ps = withSmpServerAndNames $ \reg -> enableNamesRole bob bob `connectVia` dsLink (shortLink, _fullLink) <- prepareChannel1Relay "news" bob relay - registerName reg newsName (channelNameRecord "news" (T.pack shortLink)) + registerName reg newsName (channelNameRecord "news.simplex" (T.pack shortLink)) bob ##> "/public group access #news domain=news.simplex" bob <## "updated public group access: domain=news.simplex" relay <## "bob updated group #news: (signed)" relay <## "updated public group access: domain=news.simplex" -- the name is re-pointed to a different link after the owner set it - registerName reg newsName (channelNameRecord "news" "https://simplex.chat/other") + registerName reg newsName (channelNameRecord "news.simplex" "https://simplex.chat/other") bob ##> "/share chat #news @'SimpleX Directory'" bob <# "@'SimpleX Directory' link to join channel #news (signed):" _ <- getTermLine bob -- short link diff --git a/tests/ChatTests/Names.hs b/tests/ChatTests/Names.hs index 46b62801fe..8e37c5e2d2 100644 --- a/tests/ChatTests/Names.hs +++ b/tests/ChatTests/Names.hs @@ -36,7 +36,7 @@ testConnectByName ps = withSmpServerAndNames $ \reg -> mapM_ enableNamesRole [alice, bob] alice ##> "/ad" (shortLink, _) <- getContactLinks alice True - registerName reg aliceName (contactNameRecord "alice" (T.pack shortLink)) + registerName reg aliceName (contactNameRecord "alice.simplex" (T.pack shortLink)) alice ##> "/_set domain 1 alice.simplex" alice <## "new contact address set" bob ##> "/c @alice.simplex" @@ -71,7 +71,7 @@ testConnectByNameNotClaimed ps = withSmpServerAndNames $ \reg -> mapM_ enableNamesRole [alice, bob] alice ##> "/ad" (shortLink, _) <- getContactLinks alice True - registerName reg aliceName (contactNameRecord "alice" (T.pack shortLink)) + registerName reg aliceName (contactNameRecord "alice.simplex" (T.pack shortLink)) bob ##> "/c @alice.simplex" bob <## "SimpleX name alice.simplex is not included in the connection link's profile" @@ -94,7 +94,7 @@ testConnectByNameKnownContactNotClaimed ps = withSmpServerAndNames $ \reg -> concurrently_ (bob <## "alice (Alice): contact is connected") (alice <## "bob (Bob): contact is connected") - registerName reg aliceName (contactNameRecord "alice" (T.pack shortLink)) + registerName reg aliceName (contactNameRecord "alice.simplex" (T.pack shortLink)) bob ##> "/c @alice.simplex" bob <## "SimpleX name alice.simplex is not included in the connection link's profile" @@ -116,7 +116,7 @@ testSetNameNotOwnAddress ps = withSmpServerAndNames $ \reg -> mapM_ enableNamesRole [alice, bob] bob ##> "/ad" (bobShortLink, _) <- getContactLinks bob True - registerName reg aliceName (contactNameRecord "alice" (T.pack bobShortLink)) + registerName reg aliceName (contactNameRecord "alice.simplex" (T.pack bobShortLink)) alice ##> "/ad" _ <- getContactLinks alice True alice ##> "/_set domain 1 alice.simplex" @@ -130,7 +130,7 @@ testChannelDomainLinkJoinUnverified ps = withSmpServerAndNames $ \reg -> withNewTestChat ps "bob" bobProfile $ \bob -> do mapM_ enableNamesRole [alice, cath, bob] (shortLink, fullLink) <- prepareChannel1Relay "team" alice cath - registerName reg teamName (channelNameRecord "team" (T.pack shortLink)) + registerName reg teamName (channelNameRecord "team.simplex" (T.pack shortLink)) alice ##> "/public group access #team domain=team.simplex" alice <## "updated public group access: domain=team.simplex" cath <## "alice updated group #team: (signed)" @@ -150,7 +150,7 @@ testChannelDomainVerify ps = withSmpServerAndNames $ \reg -> withNewTestChat ps "bob" bobProfile $ \bob -> do mapM_ enableNamesRole [alice, cath, bob] (shortLink, fullLink) <- prepareChannel1Relay "team" alice cath - registerName reg teamName (channelNameRecord "team" (T.pack shortLink)) + registerName reg teamName (channelNameRecord "team.simplex" (T.pack shortLink)) alice ##> "/public group access #team domain=team.simplex" alice <## "updated public group access: domain=team.simplex" cath <## "alice updated group #team: (signed)" @@ -162,7 +162,7 @@ testChannelDomainVerify ps = withSmpServerAndNames $ \reg -> bob ##> "/_verify domain #1" bob <## "SimpleX name #team verified" -- the name is re-pointed to a different link: verification fails - registerName reg teamName (channelNameRecord "team" "https://simplex.chat/other") + registerName reg teamName (channelNameRecord "team.simplex" "https://simplex.chat/other") bob ##> "/_verify domain #1" bob <## "SimpleX name #team not verified: the name does not resolve to the link in the group profile" -- a link-data refresh keeps the failed status, not overwritten with verified @@ -180,7 +180,7 @@ testConnectByChannelName ps = withSmpServerAndNames $ \reg -> withNewTestChat ps "bob" bobProfile $ \bob -> do mapM_ enableNamesRole [alice, cath, bob] (shortLink, _) <- prepareChannel1Relay "team" alice cath - registerName reg teamName (channelNameRecord "team" (T.pack shortLink)) + registerName reg teamName (channelNameRecord "team.simplex" (T.pack shortLink)) alice ##> "/public group access #team domain=team.simplex" alice <## "updated public group access: domain=team.simplex" cath <## "alice updated group #team: (signed)" @@ -216,7 +216,7 @@ testConnectByNameChannelAndContact ps = withSmpServerAndNames $ \reg -> (channelLink, _) <- prepareChannel1Relay "team" alice cath alice ##> "/ad" (contactLink, _) <- getContactLinks alice True - registerName reg teamName (contactAndChannelNameRecord "team" (T.pack contactLink) (T.pack channelLink)) + registerName reg teamName (contactAndChannelNameRecord "team.simplex" (T.pack contactLink) (T.pack channelLink)) alice ##> "/public group access #team domain=team.simplex" alice <## "updated public group access: domain=team.simplex" cath <## "alice updated group #team: (signed)" @@ -255,7 +255,7 @@ testConnectByNameContactAndChannel ps = withSmpServerAndNames $ \reg -> (channelLink, _) <- prepareChannel1Relay "acme" alice cath alice ##> "/ad" (contactLink, _) <- getContactLinks alice True - registerName reg acmeName (contactAndChannelNameRecord "acme" (T.pack contactLink) (T.pack channelLink)) + registerName reg acmeName (contactAndChannelNameRecord "acme.simplex" (T.pack contactLink) (T.pack channelLink)) alice ##> "/_set domain 1 acme.simplex" alice <## "new contact address set" bob ##> "/_connect plan 1 acme.simplex" @@ -274,7 +274,7 @@ testConnectByNameBusinessAndChannel ps = withSmpServerAndNames $ \reg -> (channelLink, _) <- prepareChannel1Relay "biz" alice cath alice ##> "/ad" (contactLink, fullLink) <- getContactLinks alice True - registerName reg bizName (contactAndChannelNameRecord "biz" (T.pack contactLink) (T.pack channelLink)) + registerName reg bizName (contactAndChannelNameRecord "biz.simplex" (T.pack contactLink) (T.pack channelLink)) alice ##> "/auto_accept on business" alice <## "auto_accept on, business" alice ##> "/_set domain 1 biz.simplex" diff --git a/tests/NameResolver.hs b/tests/NameResolver.hs index 35f5cd2496..3020e95833 100644 --- a/tests/NameResolver.hs +++ b/tests/NameResolver.hs @@ -2,7 +2,7 @@ {-# LANGUAGE OverloadedStrings #-} -- | Local HTTP names resolver for chat tests, copied from simplexmq's --- NamesResolverServer and made dynamic: it answers /resolve/ from a +-- NamesResolverServer and made dynamic: it answers /v2/resolve/ from a -- mutable name -> NameRecord registry, so a test can resolve a name to the -- address it just created. module NameResolver @@ -21,17 +21,19 @@ import qualified Data.Aeson as J import Data.Map.Strict (Map) import qualified Data.Map.Strict as M import Data.Text (Text) +import Data.Text.Encoding (decodeLatin1) import Network.HTTP.Types (hContentType, notFound404, ok200) import Network.Wai (Application, pathInfo, responseLBS) import qualified Network.Wai.Handler.Warp as Warp -import Simplex.Messaging.Names.Record (NameRecord (..)) +import Simplex.Messaging.Encoding.String (strEncode) +import Simplex.Messaging.Names.Record (NamePricing (..), NameRecord (..), NameRegistration (..), NameResponse (..), USDCents (..)) import Simplex.Messaging.Server.Names (NamesConfig (..)) -import Simplex.Messaging.SimplexName (SimplexNameInfo (..), fullDomainName) +import Simplex.Messaging.SimplexName (SimplexDomain (..), SimplexNameInfo (..), labelHash) type NameRegistry = TVar (Map Text NameRecord) -- | Run an action with a local resolver on a free port and its registry (keyed --- by full domain name, what the resolver looks the name up by). +-- by the query the resolver looks the name up by). withNameResolver :: (Int -> TVar (Map Text NameRecord) -> IO a) -> IO a withNameResolver action = do reg <- newTVarIO M.empty @@ -41,14 +43,16 @@ withNameResolver action = do app reg req send = do (st, body) <- case pathInfo req of ["health"] -> pure (ok200, "{}") - ["resolve", d] -> maybe (notFound404, "{}") (\r -> (ok200, J.encode r)) . M.lookup d <$> readTVarIO reg + ["v2", "resolve", q] -> (\r -> (ok200, J.encode $ nameResponse r)) . M.lookup q <$> readTVarIO reg _ -> pure (notFound404, "{}") send $ responseLBS st [(hContentType, "application/json")] body + nameResponse (Just nameRecord) = NameResponse {lastBlockTs = Nothing, registration = NRRegistered {expires = Nothing, graceUntil = Nothing, reservedReason_ = Nothing, nameRecord}} + nameResponse Nothing = NameResponse {lastBlockTs = Nothing, registration = NRAvailable {pricing = NamePricing {registrationPrices = M.empty, basePrice = USDCents 1000, minLabelLength = 1}}} -- | Register a name's domain to resolve to the given record. registerName :: TVar (Map Text NameRecord) -> SimplexNameInfo -> NameRecord -> IO () -registerName reg SimplexNameInfo {nameDomain} r = - atomically $ modifyTVar' reg $ M.insert (fullDomainName nameDomain) r +registerName reg SimplexNameInfo {nameDomain = SimplexDomain {nameTLD, domain}} r = + atomically $ modifyTVar' reg $ M.insert (decodeLatin1 $ strEncode (labelHash domain) <> strEncode nameTLD) r contactNameRecord :: Text -> Text -> NameRecord contactNameRecord name link = (emptyRecord name) {nrSimplexContact = [link]} From f38c7e0f2b16249b9ff9b1a223a873fa4f33b01a Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Wed, 16 Sep 2026 14:15:11 +0000 Subject: [PATCH 66/69] core, ui: badge redeem errors and fixes (#7515) - redeem errors are typed (CEBadgeRedeemError) instead of matched by text in the apps - service timeout (A_SERVICE) decodes in the apps and offers Retry via the existing retry alert - unexpected redeem errors show the error itself instead of a generic message - service error codes are a typed enum in the apps (BadgeServiceErrorCode) - CRBadgeRedeemed returns badge state, so the apps skip a second round-trip after redeem - setBadgeAlertAcked is scoped to user_id - badgeChanged updates non-active profiles, so other profiles' badges don't go stale - pitch banner is not shown to a profile that already has a badge - one badgeTypeName per platform, used by the badge screen and the badge info alert - BadgeAlertKind and BadgeAlertPrice decode via standard JSON, no custom decoders - dead "Support ended" title branch removed from Your Badge view - kotlin: users from badge responses carry remoteHostId - kotlin: redeem code field keeps the IME's cursor and composition state - kotlin: "Get your code" shown in all flavours - kotlin: "Don't show again" -> "Dismiss", matching iOS - kotlin: parseBadgeCode moved next to its FFI in platform/Core.kt - kotlin: BadgesView no longer cross-fades on badge state updates - kotlin: section title not uppercased - ios: redeem code field parses once per change - ios: A_SERVICE rejected reason is not decoded - CLI: "cannot redeem badge code: ..." with the source of the error - comments clarified --- apps/ios/Shared/Model/AppAPITypes.swift | 17 +- apps/ios/Shared/Model/SimpleXAPI.swift | 121 +++------ .../Views/Badges/BadgesRedeemCodeView.swift | 68 ++--- .../Views/Badges/BadgesYourBadgeView.swift | 24 +- .../Shared/Views/ChatList/ChatListView.swift | 6 +- apps/ios/Shared/Views/Helpers/NameBadge.swift | 13 +- apps/ios/SimpleXChat/API.swift | 4 +- apps/ios/SimpleXChat/APITypes.swift | 88 ++++++ apps/ios/SimpleXChat/ChatTypes.swift | 49 +--- apps/ios/spec/api.md | 3 +- .../chat/simplex/common/model/ChatModel.kt | 55 +--- .../chat/simplex/common/model/SimpleXAPI.kt | 252 ++++++++++++------ .../chat/simplex/common/platform/Core.kt | 7 + .../views/badges/BadgesRedeemCodeView.kt | 63 ++--- .../simplex/common/views/badges/BadgesView.kt | 2 +- .../views/badges/BadgesYourBadgeView.kt | 17 +- .../common/views/chatlist/ChatListView.kt | 4 +- .../common/views/helpers/ChatInfoImage.kt | 10 +- .../common/views/newchat/OnboardingCards.kt | 3 + .../commonMain/resources/MR/base/strings.xml | 7 +- src/Simplex/Chat/Badges/Types.hs | 16 +- src/Simplex/Chat/Controller.hs | 16 +- src/Simplex/Chat/Library/Commands.hs | 41 +-- src/Simplex/Chat/Store/Badges.hs | 8 +- src/Simplex/Chat/View.hs | 14 +- tests/Bots/BadgeServiceTests.hs | 8 +- 26 files changed, 482 insertions(+), 434 deletions(-) diff --git a/apps/ios/Shared/Model/AppAPITypes.swift b/apps/ios/Shared/Model/AppAPITypes.swift index 4a629bbd41..592ad2e041 100644 --- a/apps/ios/Shared/Model/AppAPITypes.swift +++ b/apps/ios/Shared/Model/AppAPITypes.swift @@ -420,7 +420,7 @@ enum ChatCommand: ChatCmdProtocol { case let .apiRedeemBadgeCode(userId, code): return "/_redeem_badge_code \(userId) \(code)" case let .apiGetBadgeState(userId): return "/_badge state \(userId)" case let .apiAckBadgeAlert(userId, badgePurchaseId, alertKind, snooze, episode): - return "/_badge ack \(userId) \(badgePurchaseId) \(alertKind.text) \(onOff(snooze)) \(episode)" + return "/_badge ack \(userId) \(badgePurchaseId) \(badgeAlertKindParam(alertKind)) \(onOff(snooze)) \(episode)" case .showVersion: return "/version" case let .getAgentSubsTotal(userId): return "/get subs total \(userId)" case let .getAgentServersSummary(userId): return "/get servers summary \(userId)" @@ -693,6 +693,17 @@ enum ChatCommand: ChatCmdProtocol { pwd == "" || pwd == nil ? "" : " " + encodeJSON(pwd) } + // /_badge ack takes the kind in core's text encoding, not the JSON tag + private func badgeAlertKindParam(_ kind: BadgeAlertKind) -> String { + switch kind { + case .renewalApproaching: "renewal_approaching" + case .paymentIssue: "payment_issue" + case .subscriptionEnded: "subscription_ended" + case .prepaidEnding: "prepaid_ending" + case .supportEnded: "support_ended" + } + } + private func maybeContent(_ mc: MsgContent?) -> String { if case let .text(s) = mc, s.isEmpty { "" @@ -1035,7 +1046,7 @@ enum ChatResponse2: Decodable, ChatAPIResult { case appSettings(appSettings: AppSettings) // badges // the full user, not UserRef: its profile carries the badge that setUserBadge just stored - case badgeRedeemed(user: User, redeemedBadge: LocalBadge, newBadge: Bool) + case badgeRedeemed(user: User, redeemedBadge: LocalBadge, newBadge: Bool, badgeState: BadgeState?) case badgeState(user: UserRef, badgeState: BadgeState?) var responseType: String { @@ -1143,7 +1154,7 @@ enum ChatResponse2: Decodable, ChatAPIResult { case let .archiveExported(archiveErrors): return String(describing: archiveErrors) case let .archiveImported(archiveErrors): return String(describing: archiveErrors) case let .appSettings(appSettings): return String(describing: appSettings) - case let .badgeRedeemed(u, redeemedBadge, newBadge): return withUser(u, "redeemedBadge: \(String(describing: redeemedBadge))\nnewBadge: \(newBadge)") + case let .badgeRedeemed(u, redeemedBadge, newBadge, badgeState): return withUser(u, "redeemedBadge: \(String(describing: redeemedBadge))\nnewBadge: \(newBadge)\nbadgeState: \(String(describing: badgeState))") case let .badgeState(u, badgeState): return withUser(u, String(describing: badgeState)) } } diff --git a/apps/ios/Shared/Model/SimpleXAPI.swift b/apps/ios/Shared/Model/SimpleXAPI.swift index b90527507c..31995a9d5c 100644 --- a/apps/ios/Shared/Model/SimpleXAPI.swift +++ b/apps/ios/Shared/Model/SimpleXAPI.swift @@ -124,8 +124,8 @@ func chatSendCmd(_ cmd: ChatCommand, bgTask: Bool = true, bgDe } // Spec: spec/api.md#chatApiSendCmdWithRetry -func chatApiSendCmdWithRetry(_ cmd: ChatCommand, bgTask: Bool = true, bgDelay: Double? = nil, inProgress: BoxedValue? = nil, retryNum: Int32 = 0) async -> APIResult? { - let r: APIResult = await chatApiSendCmd(cmd, bgTask: bgTask, bgDelay: bgDelay, retryNum: retryNum) +func chatApiSendCmdWithRetry(_ cmd: ChatCommand, bgTask: Bool = true, bgDelay: Double? = nil, inProgress: BoxedValue? = nil, retryNum: Int32 = 0, log: Bool = true) async -> APIResult? { + let r: APIResult = await chatApiSendCmd(cmd, bgTask: bgTask, bgDelay: bgDelay, retryNum: retryNum, log: log) if inProgress == nil || inProgress?.boxedValue == true, case let .error(e) = r, let alert = retryableNetworkErrorAlert(e) { return await withCheckedContinuation { cont in @@ -135,7 +135,7 @@ func chatApiSendCmdWithRetry(_ cmd: ChatCommand, bgTask: Bool cont.resume(returning: nil) }, onRetry: { - let r1: APIResult? = await chatApiSendCmdWithRetry(cmd, bgTask: bgTask, bgDelay: bgDelay, inProgress: inProgress, retryNum: retryNum + 1) + let r1: APIResult? = await chatApiSendCmdWithRetry(cmd, bgTask: bgTask, bgDelay: bgDelay, inProgress: inProgress, retryNum: retryNum + 1, log: log) cont.resume(returning: r1) } ) @@ -200,6 +200,10 @@ func retryableNetworkErrorAlert(_ e: ChatError) -> (title: String, message: Stri title: NSLocalizedString("No private routing session", comment: "alert title"), message: proxyDestinationErrorAlertMessage(proxyServer: proxyServer, destServer: destServer) ) + case .errorAgent(.AGENT(.A_SERVICE(.timeout))): ( + title: NSLocalizedString("Connection timeout", comment: "alert title"), + message: NSLocalizedString("The service did not respond. Please try again.", comment: "alert message") + ) default: nil } } @@ -2182,86 +2186,35 @@ func resetAgentServersStats() async throws { try await sendCommandOkResp(.resetAgentServersStats) } -// The failures redeemBadgeCode raises, as core flattens them to command error text. -// tests/Bots/BadgeServiceTests.hs asserts that text, so a change in core breaks a test there. -enum BadgeRedeemError: Error { - case invalidCode - case serviceNotConfigured - case alreadyActive - case codeInvalid - case codeUsed - case codeExpired - case rateLimited - case serviceFailed - case badServiceResponse - case credentialNotVerified - case unsupportedVersion - case networkError - case badgeEnded - case unknown +// log: false because the code is a bearer secret until it is redeemed - it is in the command. +// nil when the user cancels the retry alert. +func apiRedeemBadgeCode(_ userId: Int64, _ code: String) async throws -> (user: User, newBadge: Bool, badgeState: BadgeState?)? { + let r: APIResult? = await chatApiSendCmdWithRetry(.apiRedeemBadgeCode(userId: userId, code: code), log: false) + guard let r else { return nil } + // redeemedBadge is dropped: the user's profile carries what is shown + if case let .result(.badgeRedeemed(user, _, newBadge, badgeState)) = r { return (user, newBadge, badgeState) } + throw r.unexpected } -private enum BadgeErrorText { - static let invalidCode = "invalid badge code" - static let serviceNotConfigured = "badge service not configured" - static let alreadyActive = "badge already active" - static let unknownKeyIndex = "unknown badge key index" - static let credentialNotVerified = "badge credential does not verify against configured key" - static let invalidResponse = "invalid badge service response, " - static let unexpectedResponse = "unexpected badge service response: " - static let serviceError = "badge service error: " - // raised by sendServiceRequestTo, not by redeemBadgeCode itself, when the reply is not JSON - static let undecodableResponse = "invalid service response" -} - -func badgeRedeemError(_ error: ChatError) -> BadgeRedeemError { - // the app's own classifier decides what counts as a network failure; only the classification is - // used here, not its retry policy - a client that retries makes code guessing cheaper - if retryableNetworkErrorAlert(error) != nil { return .networkError } - guard case let .error(.commandError(message)) = error else { return .unknown } - switch message { - case BadgeErrorText.invalidCode: return .invalidCode - case BadgeErrorText.serviceNotConfigured: return .serviceNotConfigured - case BadgeErrorText.alreadyActive: return .alreadyActive - case BadgeErrorText.unknownKeyIndex, BadgeErrorText.credentialNotVerified: return .credentialNotVerified - case BadgeErrorText.undecodableResponse: return .badServiceResponse - default: break - } - if message.hasPrefix(BadgeErrorText.invalidResponse) || message.hasPrefix(BadgeErrorText.unexpectedResponse) { - return .badServiceResponse - } - if message.hasPrefix(BadgeErrorText.serviceError) { - return badgeServiceError(String(message.dropFirst(BadgeErrorText.serviceError.count))) - } - return .unknown -} - -// the service's own tag, which core bounds to [a-z0-9_] and 32 characters and which is never shown -private func badgeServiceError(_ tag: String) -> BadgeRedeemError { - switch tag { - case "code_invalid": return .codeInvalid - case "code_used": return .codeUsed - case "code_expired": return .codeExpired - case "rate_limited": return .rateLimited - // retrying never succeeds: the client is too old for the service - case "unsupported_version": return .unsupportedVersion - default: return .serviceFailed - } -} - -// log: false because the code is a bearer secret until it is redeemed - it is in the command, and a -// service response echoed into an error message would carry it into the terminal with the response. -func apiRedeemBadgeCode(_ userId: Int64, _ code: String) async throws -> (user: User, newBadge: Bool) { - let r: APIResult = await chatApiSendCmd(.apiRedeemBadgeCode(userId: userId, code: code), log: false) - switch r { - // redeemedBadge is dropped: it is the credential, and the user's profile carries what is shown - case let .result(.badgeRedeemed(user, _, newBadge)): return (user, newBadge) - case let .error(e): throw badgeRedeemError(e) - default: - // the response type alone - it names a case or a JSON key, never the service's message - logger.error("apiRedeemBadgeCode: unexpected \(r.responseType)") - throw BadgeRedeemError.unknown +// localized where the user can act on it; otherwise the error itself, so a screenshot says what happened +func redeemErrorText(_ error: Error) -> String { + if case let .error(.badgeRedeemError(e)) = error as? ChatError { + switch e { + case .invalidCode: return NSLocalizedString("This code is not valid.", comment: "alert message") + case .serviceNotConfigured: return NSLocalizedString("This app version cannot redeem badge codes.", comment: "alert message") + case .badgeActive: return NSLocalizedString("This profile already has a badge. Redeem the code on another profile, or once this badge ends.", comment: "alert message") + case .serviceError(.codeInvalid): return NSLocalizedString("This code was not recognised.", comment: "alert message") + case .serviceError(.codeUsed): return NSLocalizedString("This code has already been used.", comment: "alert message") + case .serviceError(.codeExpired): return NSLocalizedString("This code has expired.", comment: "alert message") + case .serviceError(.rateLimited): return NSLocalizedString("Too many attempts. Please try again later.", comment: "alert message") + case .serviceError(.unsupportedVersion): return NSLocalizedString("This app version is too old for the badge service. Please update the app.", comment: "alert message") + case .serviceError: break + case let .invalidResponse(message): + return String.localizedStringWithFormat(NSLocalizedString("The badge service sent an unexpected response: %@", comment: "alert message"), message) + case .unknownKeyIndex, .credentialNotVerified: return NSLocalizedString("This app version cannot verify this badge. Please update the app.", comment: "alert message") + } } + return String.localizedStringWithFormat(NSLocalizedString("Error: %@", comment: "alert message"), responseError(error)) } func apiGetBadgeState(_ userId: Int64) async throws -> BadgeState? { @@ -3085,10 +3038,10 @@ func processReceivedMsg(_ res: ChatEvent) async { } } case let .badgeChanged(user, badgeState): - if active(user) { - await MainActor.run { - // read by core after retiring or presenting, so it carries the profile badge as changed - m.updateUser(user) + await MainActor.run { + // read by core after retiring or presenting, so it carries the profile badge as changed + m.updateUser(user) + if active(user) { BadgeModel.shared.set(userId: user.userId, badgeState: badgeState) } } diff --git a/apps/ios/Shared/Views/Badges/BadgesRedeemCodeView.swift b/apps/ios/Shared/Views/Badges/BadgesRedeemCodeView.swift index 6298425e8c..a9442a3ed0 100644 --- a/apps/ios/Shared/Views/Badges/BadgesRedeemCodeView.swift +++ b/apps/ios/Shared/Views/Badges/BadgesRedeemCodeView.swift @@ -123,24 +123,30 @@ struct BadgesRedeemCodeView: View { .disabled(submitting) } + // a changed field re-enters through onChange with the formatted text, which is when it is parsed private func applyCodeInput(_ s: String) { let formatted = formatBadgeCodeInput(s) - if formatted != code { code = formatted } - canonicalCode = parseBadgeCode(formatted) + if formatted != code { + code = formatted + } else { + canonicalCode = parseBadgeCode(formatted) + } } private func processQRCode(_ resp: Result) { switch resp { case let .success(r): let formatted = formatBadgeCodeInput(r.string) - if parseBadgeCode(formatted) == nil { + if let canonical = parseBadgeCode(formatted) { + // set here rather than through onChange, which runs after redeem() reads it + code = formatted + canonicalCode = canonical + redeem() + } else { showAlert( NSLocalizedString("Invalid QR code", comment: "alert title"), message: NSLocalizedString("The code you scanned is not a badge code.", comment: "alert message") ) - } else { - applyCodeInput(formatted) - redeem() } case let .failure(e): logger.error("processQRCode QR code error: \(e.localizedDescription)") @@ -167,56 +173,36 @@ struct BadgesRedeemCodeView: View { submitting = true Task { do { - let (redeemedUser, newBadge) = try await apiRedeemBadgeCode(user.userId, sending) - let badgeState = try? await apiGetBadgeState(user.userId) + guard let redeemed = try await apiRedeemBadgeCode(user.userId, sending) else { + await MainActor.run { submitting = false } + return + } await MainActor.run { submitting = false - // written before the pop: BadgesView swaps its content under this pushed view, so - // the pop reveals Your Badge already in place rather than animating it afterwards - if let badgeState { - BadgeModel.shared.set(userId: user.userId, badgeState: badgeState) - } - // the response is the only carrier: redeeming raises no event that refreshes the - // profile, so without this the badge beside the name is the one from before - chatModel.updateUser(redeemedUser) - if let badgeState, !badgeState.shown { + // set before dismissing: BadgesView then switches Support to Your Badge while this screen + // still covers it, so the pop lands on Your Badge instead of showing the switch + BadgeModel.shared.set(userId: user.userId, badgeState: redeemed.badgeState) + chatModel.updateUser(redeemed.user) + if let badgeState = redeemed.badgeState, !badgeState.shown { // a replay adds no purchase; a fresh code's badge can be retired on arrival - showAlert(NSLocalizedString("Cannot redeem code", comment: "alert title"), message: failureMessage(newBadge ? .badgeEnded : .codeUsed)) + let message = redeemed.newBadge + ? NSLocalizedString("The code was accepted, but the badge it grants has already ended.", comment: "alert message") + : NSLocalizedString("This code has already been used.", comment: "alert message") + showAlert(NSLocalizedString("Cannot redeem code", comment: "alert title"), message: message) } else { supporterBannerShown = true dismiss() } } } catch let error { - let redeemError = error as? BadgeRedeemError ?? .unknown - // the mapped case only - core embeds the service's response in some of these messages - logger.error("apiRedeemBadgeCode: \(String(describing: redeemError))") + logger.error("apiRedeemBadgeCode: \(responseError(error))") await MainActor.run { submitting = false - showAlert(NSLocalizedString("Cannot redeem code", comment: "alert title"), message: failureMessage(redeemError)) + showAlert(NSLocalizedString("Cannot redeem code", comment: "alert title"), message: redeemErrorText(error)) } } } } - - private func failureMessage(_ failure: BadgeRedeemError) -> String { - switch failure { - case .invalidCode: NSLocalizedString("This code is not valid.", comment: "alert message") - case .serviceNotConfigured: NSLocalizedString("This app version cannot redeem badge codes.", comment: "alert message") - case .alreadyActive: NSLocalizedString("This profile already has a badge. Redeem the code on another profile, or once this badge ends.", comment: "alert message") - case .codeInvalid: NSLocalizedString("This code was not recognised.", comment: "alert message") - case .codeUsed: NSLocalizedString("This code has already been used.", comment: "alert message") - case .codeExpired: NSLocalizedString("This code has expired.", comment: "alert message") - case .rateLimited: NSLocalizedString("Too many attempts. Please try again later.", comment: "alert message") - case .serviceFailed: NSLocalizedString("The badge service is unavailable. Please try again later.", comment: "alert message") - case .badServiceResponse: NSLocalizedString("The badge service sent an unexpected response.", comment: "alert message") - case .credentialNotVerified: NSLocalizedString("This app version cannot verify this badge. Please update the app.", comment: "alert message") - case .unsupportedVersion: NSLocalizedString("This app version is too old for the badge service. Please update the app.", comment: "alert message") - case .networkError: NSLocalizedString("Connection error. Please check your network connection.", comment: "alert message") - case .badgeEnded: NSLocalizedString("The code was accepted, but the badge it grants has already ended.", comment: "alert message") - case .unknown: NSLocalizedString("The code could not be redeemed.", comment: "alert message") - } - } } struct BadgesRedeemCodeView_Previews: PreviewProvider { diff --git a/apps/ios/Shared/Views/Badges/BadgesYourBadgeView.swift b/apps/ios/Shared/Views/Badges/BadgesYourBadgeView.swift index ceb40e77cd..166abc449a 100644 --- a/apps/ios/Shared/Views/Badges/BadgesYourBadgeView.swift +++ b/apps/ios/Shared/Views/Badges/BadgesYourBadgeView.swift @@ -14,18 +14,10 @@ struct BadgesYourBadgeView: View { let badgeState: BadgeState var showsAsSheet: Bool = false - private var title: LocalizedStringKey { - badgeState.shown ? "Your badge" : "Support ended" - } - - // pushed, the navigation bar carries the title and animates it; as a sheet root there is no bar - // to put it in, so the title is drawn in the content, as the Support screen does - private var navTitle: LocalizedStringKey { showsAsSheet ? "" : title } - var body: some View { VStack(spacing: 0) { if showsAsSheet { - Text(title) + Text("Your badge") .font(.largeTitle) .bold() .foregroundColor(theme.colors.primary) @@ -51,7 +43,7 @@ struct BadgesYourBadgeView: View { } } .frame(maxHeight: .infinity) - .navigationTitle(navTitle) + .navigationTitle(showsAsSheet ? "" : "Your badge") .navigationBarTitleDisplayMode(showsAsSheet ? .inline : .large) .modifier(ThemedBackground(grouped: true)) } @@ -69,7 +61,7 @@ struct BadgeSummary: View { .frame(width: 68, height: 68) .padding(.bottom, 8) - badgeTypeName(badgeState.badgeType) + Text(badgeTypeName(badgeState.badgeType)) .font(.title3) .fontWeight(.semibold) @@ -81,13 +73,3 @@ struct BadgeSummary: View { .padding(.vertical, 8) } } - -// verbatim for an unknown type: it is the service's string, and must not be looked up as a localised key -private func badgeTypeName(_ t: BadgeType) -> Text { - switch t { - case .supporter: Text("Supporter") - case .legend: Text("Legend") - case .investor: Text("Investor") - case let .unknown(s): Text(verbatim: s) - } -} diff --git a/apps/ios/Shared/Views/ChatList/ChatListView.swift b/apps/ios/Shared/Views/ChatList/ChatListView.swift index da829a92ef..61f29485a7 100644 --- a/apps/ios/Shared/Views/ChatList/ChatListView.swift +++ b/apps/ios/Shared/Views/ChatList/ChatListView.swift @@ -382,6 +382,10 @@ struct ChatListView: View { badgeModel.alert?.kind == .supportEnded && badgeModel.userId == chatModel.currentUser?.userId } + private var hasShownBadge: Bool { + badgeModel.badgeState?.shown == true && badgeModel.userId == chatModel.currentUser?.userId + } + private func showSupportEndedDismissAlert() { showAlert(NSLocalizedString("Support ended", comment: "alert title")) { [ @@ -470,7 +474,7 @@ struct ChatListView: View { .listRowSeparator(.hidden) .listRowBackground(Color.clear) .zIndex(1) - } else if !supporterBannerShown && chatModel.chats.count > 3 { + } else if !supporterBannerShown && !hasShownBadge && chatModel.chats.count > 3 { SupportSimpleXBanner( onTap: { showBadgesSheet = true }, onDismiss: showSupportSimpleXDismissAlert diff --git a/apps/ios/Shared/Views/Helpers/NameBadge.swift b/apps/ios/Shared/Views/Helpers/NameBadge.swift index fa49adc29f..26d9821158 100644 --- a/apps/ios/Shared/Views/Helpers/NameBadge.swift +++ b/apps/ios/Shared/Views/Helpers/NameBadge.swift @@ -147,8 +147,7 @@ func showBadgeInfoAlert(_ name: String, _ badge: LocalBadge) { ) default: // a verified badge's type is signed and can't be faked, so the real (possibly unknown) type name is the title - let t = badge.badge.badgeType.text - let title = t.prefix(1).uppercased() + t.dropFirst() + let title = badgeTypeName(badge.badge.badgeType) if case .investor = badge.badge.badgeType { let message = String.localizedStringWithFormat(NSLocalizedString("%@ invested in SimpleX Chat crowdfunding.", comment: "badge alert"), name) showAlert(title, message: message) { @@ -172,3 +171,13 @@ func showBadgeInfoAlert(_ name: String, _ badge: LocalBadge) { } } } + +// verbatim for an unknown type: it is the service's string, and must not be looked up as a localised key +func badgeTypeName(_ t: BadgeType) -> String { + switch t { + case .supporter: NSLocalizedString("Supporter", comment: "badge type") + case .legend: NSLocalizedString("Legend", comment: "badge type") + case .investor: NSLocalizedString("Investor", comment: "badge type") + case let .unknown(s): s + } +} diff --git a/apps/ios/SimpleXChat/API.swift b/apps/ios/SimpleXChat/API.swift index 09609ab7fd..bc23e53011 100644 --- a/apps/ios/SimpleXChat/API.swift +++ b/apps/ios/SimpleXChat/API.swift @@ -163,8 +163,8 @@ public func chatJsonLength(_ s: String) -> Int { return Int(chat_json_length(&c)) } -// The code as core will accept it - prefix and 20 characters, no separators - or nil if it does not -// parse. Validity is decided only here: a second check-character implementation would drift. +// the code in core's canonical form (prefix and 20 characters, no separators), or nil when core rejects it. +// The check character is verified by core via FFI, not re-implemented here, so the two cannot disagree. public func parseBadgeCode(_ s: String) -> String? { var c = s.cString(using: .utf8)! let canonical = fromCString(chat_parse_badge_code(&c)!) diff --git a/apps/ios/SimpleXChat/APITypes.swift b/apps/ios/SimpleXChat/APITypes.swift index 33d683288a..d7b8623ab3 100644 --- a/apps/ios/SimpleXChat/APITypes.swift +++ b/apps/ios/SimpleXChat/APITypes.swift @@ -812,6 +812,7 @@ public enum ChatErrorType: Decodable, Hashable { case agentVersion case agentNoSubResult(agentConnId: String) case commandError(message: String) + case badgeRedeemError(badgeRedeemError: BadgeRedeemError) case serverProtocol case agentCommandError(message: String) case invalidFileDescription(message: String) @@ -823,6 +824,84 @@ public enum ChatErrorType: Decodable, Hashable { case exception(message: String) } +public enum BadgeRedeemError: Decodable, Hashable { + case invalidCode + case serviceNotConfigured + case badgeActive + case serviceError(serviceError: BadgeServiceErrorCode) + case invalidResponse(message: String) + case unknownKeyIndex + case credentialNotVerified +} + +// the service is deployed ahead of clients, so a code this version does not know keeps its tag +public enum BadgeServiceErrorCode: Decodable, Hashable { + case badRequest + case unsupportedVersion + case unknownPurchaseKey + case unknownOfferId + case offerDisabled + case offerMismatch + case productUnavailable + case paymentNotEntitled + case paymentPending + case providerUnavailable + case rateLimited + case codeInvalid + case codeUsed + case codeExpired + case receiptInvalid + case receiptUsed + case internalError + case unknown(String) + + public var text: String { + switch self { + case .badRequest: "bad_request" + case .unsupportedVersion: "unsupported_version" + case .unknownPurchaseKey: "unknown_purchase_key" + case .unknownOfferId: "unknown_offer_id" + case .offerDisabled: "offer_disabled" + case .offerMismatch: "offer_mismatch" + case .productUnavailable: "product_unavailable" + case .paymentNotEntitled: "payment_not_entitled" + case .paymentPending: "payment_pending" + case .providerUnavailable: "provider_unavailable" + case .rateLimited: "rate_limited" + case .codeInvalid: "code_invalid" + case .codeUsed: "code_used" + case .codeExpired: "code_expired" + case .receiptInvalid: "receipt_invalid" + case .receiptUsed: "receipt_used" + case .internalError: "internal" + case let .unknown(s): s + } + } + + public init(from decoder: Decoder) throws { + switch try decoder.singleValueContainer().decode(String.self) { + case "bad_request": self = .badRequest + case "unsupported_version": self = .unsupportedVersion + case "unknown_purchase_key": self = .unknownPurchaseKey + case "unknown_offer_id": self = .unknownOfferId + case "offer_disabled": self = .offerDisabled + case "offer_mismatch": self = .offerMismatch + case "product_unavailable": self = .productUnavailable + case "payment_not_entitled": self = .paymentNotEntitled + case "payment_pending": self = .paymentPending + case "provider_unavailable": self = .providerUnavailable + case "rate_limited": self = .rateLimited + case "code_invalid": self = .codeInvalid + case "code_used": self = .codeUsed + case "code_expired": self = .codeExpired + case "receipt_invalid": self = .receiptInvalid + case "receipt_used": self = .receiptUsed + case "internal": self = .internalError + case let s: self = .unknown(s) + } + } +} + public enum StoreError: Decodable, Hashable { case duplicateName case userNotFound(userId: Int64) @@ -1077,6 +1156,15 @@ public enum SMPAgentError: Decodable, Hashable { case A_CRYPTO case A_DUPLICATE case A_QUEUE(queueErr: String) + case A_SERVICE(serviceError: AgentServiceError) +} + +public enum AgentServiceError: Decodable, Hashable { + case rejected + case timeout + case noPendingRequest + case notDRAddress + case badSignature } public enum ArchiveError: Decodable, Hashable { diff --git a/apps/ios/SimpleXChat/ChatTypes.swift b/apps/ios/SimpleXChat/ChatTypes.swift index b8f6fd0bb0..c6e3bd5d74 100644 --- a/apps/ios/SimpleXChat/ChatTypes.swift +++ b/apps/ios/SimpleXChat/ChatTypes.swift @@ -350,62 +350,17 @@ private func badgeDateText(_ date: Date) -> String { DateFormatter.localizedString(from: date, dateStyle: .long, timeStyle: .none) } -public struct BadgeAlertPrice: Hashable { +public struct BadgeAlertPrice: Codable, Hashable { public var amount: Int64 public var currency: String } -extension BadgeAlertPrice: Codable { - // encoded as the Haskell tuple it comes from: [amount, currency] - public init(from decoder: Decoder) throws { - var c = try decoder.unkeyedContainer() - amount = try c.decode(Int64.self) - currency = try c.decode(String.self) - } - - public func encode(to encoder: Encoder) throws { - var c = encoder.unkeyedContainer() - try c.encode(amount) - try c.encode(currency) - } -} - -public enum BadgeAlertKind: Hashable { +public enum BadgeAlertKind: String, Codable, Hashable { case renewalApproaching case paymentIssue case subscriptionEnded case prepaidEnding case supportEnded - case unknown(String) - - public var text: String { - switch self { - case .renewalApproaching: "renewal_approaching" - case .paymentIssue: "payment_issue" - case .subscriptionEnded: "subscription_ended" - case .prepaidEnding: "prepaid_ending" - case .supportEnded: "support_ended" - case let .unknown(s): s - } - } -} - -extension BadgeAlertKind: Codable { - public init(from decoder: Decoder) throws { - switch try decoder.singleValueContainer().decode(String.self) { - case "renewal_approaching": self = .renewalApproaching - case "payment_issue": self = .paymentIssue - case "subscription_ended": self = .subscriptionEnded - case "prepaid_ending": self = .prepaidEnding - case "support_ended": self = .supportEnded - case let s: self = .unknown(s) - } - } - - public func encode(to encoder: Encoder) throws { - var c = encoder.singleValueContainer() - try c.encode(text) - } } // the wire proof carried on a profile - opaque to the UI, only round-tripped back to the core (apiPrepareContact) diff --git a/apps/ios/spec/api.md b/apps/ios/spec/api.md index f9a3c35917..56c3c34cb6 100644 --- a/apps/ios/spec/api.md +++ b/apps/ios/spec/api.md @@ -534,7 +534,8 @@ func chatApiSendCmdWithRetry( // SimpleXAPI.swift L127 bgTask: Bool = true, bgDelay: Double? = nil, inProgress: BoxedValue? = nil, - retryNum: Int32 = 0 + retryNum: Int32 = 0, + log: Bool = true ) async -> APIResult? ``` diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt index f033c0963e..b5c0f23c60 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt @@ -2246,55 +2246,16 @@ data class BadgeAlert( val dateText: String get() = badgeDateText(date) } -@Serializable(with = BadgeAlertPriceSerializer::class) +@Serializable data class BadgeAlertPrice(val amount: Long, val currency: String) -// encoded as the Haskell tuple it comes from: [amount, currency] -object BadgeAlertPriceSerializer : KSerializer { - override val descriptor: SerialDescriptor = buildClassSerialDescriptor("BadgeAlertPrice") - override fun deserialize(decoder: Decoder): BadgeAlertPrice { - require(decoder is JsonDecoder) - val arr = decoder.decodeJsonElement().jsonArray - return BadgeAlertPrice(arr[0].jsonPrimitive.long, arr[1].jsonPrimitive.content) - } - override fun serialize(encoder: Encoder, value: BadgeAlertPrice) { - require(encoder is JsonEncoder) - encoder.encodeJsonElement(buildJsonArray { add(value.amount); add(value.currency) }) - } -} - -@Serializable(with = BadgeAlertKindSerializer::class) -sealed class BadgeAlertKind { - @Serializable @SerialName("renewal_approaching") object RenewalApproaching: BadgeAlertKind() - @Serializable @SerialName("payment_issue") object PaymentIssue: BadgeAlertKind() - @Serializable @SerialName("subscription_ended") object SubscriptionEnded: BadgeAlertKind() - @Serializable @SerialName("prepaid_ending") object PrepaidEnding: BadgeAlertKind() - @Serializable @SerialName("support_ended") object SupportEnded: BadgeAlertKind() - @Serializable @SerialName("unknown") data class Unknown(val kind: String): BadgeAlertKind() - - val text: String - get() = when (this) { - is RenewalApproaching -> "renewal_approaching" - is PaymentIssue -> "payment_issue" - is SubscriptionEnded -> "subscription_ended" - is PrepaidEnding -> "prepaid_ending" - is SupportEnded -> "support_ended" - is Unknown -> kind - } -} - -object BadgeAlertKindSerializer : KSerializer { - override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("BadgeAlertKind", PrimitiveKind.STRING) - override fun deserialize(decoder: Decoder): BadgeAlertKind = - when (val v = decoder.decodeString()) { - "renewal_approaching" -> BadgeAlertKind.RenewalApproaching - "payment_issue" -> BadgeAlertKind.PaymentIssue - "subscription_ended" -> BadgeAlertKind.SubscriptionEnded - "prepaid_ending" -> BadgeAlertKind.PrepaidEnding - "support_ended" -> BadgeAlertKind.SupportEnded - else -> BadgeAlertKind.Unknown(v) - } - override fun serialize(encoder: Encoder, value: BadgeAlertKind) = encoder.encodeString(value.text) +@Serializable +enum class BadgeAlertKind { + @SerialName("renewalApproaching") RenewalApproaching, + @SerialName("paymentIssue") PaymentIssue, + @SerialName("subscriptionEnded") SubscriptionEnded, + @SerialName("prepaidEnding") PrepaidEnding, + @SerialName("supportEnded") SupportEnded } private fun badgeDateText(date: Instant): String { diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt index ed787cf266..8b4e4fc315 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt @@ -562,55 +562,44 @@ object ChatController { suspend fun resetAgentServersStats(rh: Long?): Boolean = sendCommandOkResp(rh, CC.ResetAgentServersStats()) - fun badgeRedeemError(error: ChatError): BadgeRedeemError { - // the app's own classifier decides what counts as a network failure; only the classification is - // used here, not its retry policy - a client that retries makes code guessing cheaper - if (retryableNetworkErrorAlert(error) != null) return BadgeRedeemError.NetworkError - if (error !is ChatError.ChatErrorChat || error.errorType !is ChatErrorType.CommandError) return BadgeRedeemError.Unknown - val message = error.errorType.message - when (message) { - BadgeErrorText.invalidCode -> return BadgeRedeemError.InvalidCode - BadgeErrorText.serviceNotConfigured -> return BadgeRedeemError.ServiceNotConfigured - BadgeErrorText.alreadyActive -> return BadgeRedeemError.AlreadyActive - BadgeErrorText.unknownKeyIndex, BadgeErrorText.credentialNotVerified -> return BadgeRedeemError.CredentialNotVerified - BadgeErrorText.undecodableResponse -> return BadgeRedeemError.BadServiceResponse - } - if (message.startsWith(BadgeErrorText.invalidResponse) || message.startsWith(BadgeErrorText.unexpectedResponse)) { - return BadgeRedeemError.BadServiceResponse - } - if (message.startsWith(BadgeErrorText.serviceError)) { - return badgeServiceError(message.removePrefix(BadgeErrorText.serviceError)) - } - return BadgeRedeemError.Unknown - } - - // the service's own tag, which core bounds to [a-z0-9_] and 32 characters and which is never shown - private fun badgeServiceError(tag: String): BadgeRedeemError = when (tag) { - "code_invalid" -> BadgeRedeemError.CodeInvalid - "code_used" -> BadgeRedeemError.CodeUsed - "code_expired" -> BadgeRedeemError.CodeExpired - "rate_limited" -> BadgeRedeemError.RateLimited - // retrying never succeeds: the client is too old for the service - "unsupported_version" -> BadgeRedeemError.UnsupportedVersion - else -> BadgeRedeemError.ServiceFailed - } - - // log = false because the code is a bearer secret until it is redeemed - it is in the command, and a - // service response echoed into an error message would carry it into the terminal with the response. - suspend fun apiRedeemBadgeCode(rh: Long?, userId: Long, code: String): BadgeRedeemResult { - val r = sendCmd(rh, CC.ApiRedeemBadgeCode(userId, code), log = false) + // log = false because the code is a bearer secret until it is redeemed - it is in the command. + // null when the user cancels the retry alert. + suspend fun apiRedeemBadgeCode(rh: Long?, userId: Long, code: String): BadgeRedeemResult? { + val r = sendCmdWithRetry(rh, CC.ApiRedeemBadgeCode(userId, code), log = false) ?: return null return when { - // redeemedBadge is dropped: it is the credential, and the user's profile carries what is shown - r is API.Result && r.res is CR.BadgeRedeemed -> BadgeRedeemResult.Redeemed(r.res.user, r.res.newBadge) - r is API.Error -> BadgeRedeemResult.Failed(badgeRedeemError(r.err)) + // redeemedBadge is dropped: the user's profile carries what is shown + r is API.Result && r.res is CR.BadgeRedeemed -> BadgeRedeemResult.Redeemed(r.res.user.updateRemoteHostId(rh), r.res.newBadge, r.res.badgeState) + r is API.Error -> BadgeRedeemResult.Failed(r.err) else -> { // the response type alone - it names a case or a JSON key, never the service's message Log.e(TAG, "apiRedeemBadgeCode: unexpected ${r.responseType}") - BadgeRedeemResult.Failed(BadgeRedeemError.Unknown) + BadgeRedeemResult.Failed(null) } } } + // localized where the user can act on it; otherwise the error itself, so a screenshot says what happened + fun redeemErrorText(err: ChatError?): String { + if (err is ChatError.ChatErrorChat && err.errorType is ChatErrorType.CEBadgeRedeemError) { + when (val e = err.errorType.badgeRedeemError) { + is BadgeRedeemError.InvalidCode -> return generalGetString(MR.strings.badges_error_invalid_code) + is BadgeRedeemError.ServiceNotConfigured -> return generalGetString(MR.strings.badges_error_service_not_configured) + is BadgeRedeemError.BadgeActive -> return generalGetString(MR.strings.badges_error_already_active) + is BadgeRedeemError.ServiceError -> when (e.serviceError) { + is BadgeServiceErrorCode.CodeInvalid -> return generalGetString(MR.strings.badges_error_code_invalid) + is BadgeServiceErrorCode.CodeUsed -> return generalGetString(MR.strings.badges_error_code_used) + is BadgeServiceErrorCode.CodeExpired -> return generalGetString(MR.strings.badges_error_code_expired) + is BadgeServiceErrorCode.RateLimited -> return generalGetString(MR.strings.badges_error_rate_limited) + is BadgeServiceErrorCode.UnsupportedVersion -> return generalGetString(MR.strings.badges_error_unsupported_version) + else -> {} + } + is BadgeRedeemError.InvalidResponse -> return String.format(generalGetString(MR.strings.badges_error_bad_service_response), e.message) + is BadgeRedeemError.UnknownKeyIndex, is BadgeRedeemError.CredentialNotVerified -> return generalGetString(MR.strings.badges_error_credential_not_verified) + } + } + return "${generalGetString(MR.strings.error_prefix)}: ${err?.string ?: generalGetString(MR.strings.badges_error_unknown)}" + } + suspend fun apiGetBadgeState(rh: Long?, userId: Long): BadgeState? { val r = sendCmd(rh, CC.ApiGetBadgeState(userId)) if (r is API.Result && r.res is CR.BadgeStateR) return r.res.badgeState @@ -835,8 +824,8 @@ object ChatController { } } - private suspend fun sendCmdWithRetry(rhId: Long?, cmd: CC, inProgress: MutableState? = null, retryNum: Int = 0): API? { - val r = sendCmd(rhId, cmd, retryNum = retryNum) + private suspend fun sendCmdWithRetry(rhId: Long?, cmd: CC, inProgress: MutableState? = null, retryNum: Int = 0, log: Boolean = true): API? { + val r = sendCmd(rhId, cmd, retryNum = retryNum, log = log) val alert = if (r is API.Error) retryableNetworkErrorAlert(r.err) else null if ((inProgress == null || inProgress.value) && alert != null) { return suspendCancellableCoroutine { cont -> @@ -856,7 +845,7 @@ object ChatController { safeResume( runCatching { coroutineScope { - sendCmdWithRetry(rhId, cmd, inProgress = inProgress, retryNum = retryNum + 1) + sendCmdWithRetry(rhId, cmd, inProgress = inProgress, retryNum = retryNum + 1, log = log) } } ) @@ -919,6 +908,10 @@ object ChatController { else -> null } } + is AgentErrorType.AGENT -> + if (e.agentErr is SMPAgentError.A_SERVICE && e.agentErr.serviceError is AgentServiceError.Timeout) { + return MR.strings.connection_timeout to generalGetString(MR.strings.service_request_timeout_desc) + } else -> return null } return null @@ -3565,11 +3558,13 @@ object ChatController { } } is CR.BadgeChanged -> - if (active(r.user)) { + if (rhId == chatModel.remoteHostId()) { withContext(Dispatchers.Main) { // read by core after retiring or presenting, so it carries the profile badge as changed - chatModel.updateUser(r.user) - BadgeModel.set(rhId, r.user.userId, r.badgeState) + chatModel.updateUser(r.user.updateRemoteHostId(rhId)) + if (active(r.user)) { + BadgeModel.set(rhId, r.user.userId, r.badgeState) + } } } is CR.BadgeAlertR -> @@ -3875,41 +3870,10 @@ class SharedPreference(val get: () -> T, set: (T) -> Unit) { } } -// The failures redeemBadgeCode raises, as core flattens them to command error text. -// tests/Bots/BadgeServiceTests.hs asserts that text, so a change in core breaks a test there. -enum class BadgeRedeemError { - InvalidCode, - ServiceNotConfigured, - AlreadyActive, - CodeInvalid, - CodeUsed, - CodeExpired, - RateLimited, - ServiceFailed, - BadServiceResponse, - CredentialNotVerified, - UnsupportedVersion, - NetworkError, - BadgeEnded, - Unknown -} - -private object BadgeErrorText { - const val invalidCode = "invalid badge code" - const val serviceNotConfigured = "badge service not configured" - const val alreadyActive = "badge already active" - const val unknownKeyIndex = "unknown badge key index" - const val credentialNotVerified = "badge credential does not verify against configured key" - const val invalidResponse = "invalid badge service response, " - const val unexpectedResponse = "unexpected badge service response: " - const val serviceError = "badge service error: " - // raised by sendServiceRequestTo, not by redeemBadgeCode itself, when the reply is not JSON - const val undecodableResponse = "invalid service response" -} - sealed class BadgeRedeemResult { - class Redeemed(val user: User, val newBadge: Boolean): BadgeRedeemResult() - class Failed(val error: BadgeRedeemError): BadgeRedeemResult() + class Redeemed(val user: User, val newBadge: Boolean, val badgeState: BadgeState?): BadgeRedeemResult() + // err is null for a response of an unexpected type, which is logged where it is received + class Failed(val err: ChatError?): BadgeRedeemResult() } // ChatCommand @@ -4317,7 +4281,7 @@ sealed class CC { is ApiStandaloneFileInfo -> "/_download info $url" is ApiRedeemBadgeCode -> "/_redeem_badge_code $userId $code" is ApiGetBadgeState -> "/_badge state $userId" - is ApiAckBadgeAlert -> "/_badge ack $userId $badgePurchaseId ${alertKind.text} ${onOff(snooze)} $episode" + is ApiAckBadgeAlert -> "/_badge ack $userId $badgePurchaseId ${badgeAlertKindParam(alertKind)} ${onOff(snooze)} $episode" is ShowVersion -> "/version" is ResetAgentServersStats -> "/reset servers stats" is GetAgentSubsTotal -> "/get subs total $userId" @@ -4559,6 +4523,15 @@ sealed class CC { fun onOff(b: Boolean): String = if (b) "on" else "off" +// /_badge ack takes the kind in core's text encoding, not the JSON tag +private fun badgeAlertKindParam(kind: BadgeAlertKind): String = when (kind) { + BadgeAlertKind.RenewalApproaching -> "renewal_approaching" + BadgeAlertKind.PaymentIssue -> "payment_issue" + BadgeAlertKind.SubscriptionEnded -> "subscription_ended" + BadgeAlertKind.PrepaidEnding -> "prepaid_ending" + BadgeAlertKind.SupportEnded -> "support_ended" +} + @Serializable data class NewUser( val profile: Profile?, @@ -6879,7 +6852,7 @@ sealed class CR { @Serializable @SerialName("agentServersSummary") class AgentServersSummary(val user: UserRef, val serversSummary: PresentedServersSummary): CR() // badges // the full user, not UserRef: its profile carries the badge that setUserBadge just stored - @Serializable @SerialName("badgeRedeemed") class BadgeRedeemed(val user: User, val redeemedBadge: LocalBadge, val newBadge: Boolean): CR() + @Serializable @SerialName("badgeRedeemed") class BadgeRedeemed(val user: User, val redeemedBadge: LocalBadge, val newBadge: Boolean, val badgeState: BadgeState?): CR() @Serializable @SerialName("badgeState") class BadgeStateR(val user: UserRef, val badgeState: BadgeState?): CR() @Serializable @SerialName("badgeChanged") class BadgeChanged(val user: User, val badgeState: BadgeState?): CR() @Serializable @SerialName("badgeAlert") class BadgeAlertR(val user: UserRef, val badgeAlert: BadgeAlert): CR() @@ -7276,7 +7249,7 @@ sealed class CR { is ArchiveExported -> "${archiveErrors.map { it.string } }" is ArchiveImported -> "${archiveErrors.map { it.string } }" is AppSettingsR -> json.encodeToString(appSettings) - is BadgeRedeemed -> withUser(user, "redeemedBadge: ${json.encodeToString(redeemedBadge)}\nnewBadge: $newBadge") + is BadgeRedeemed -> withUser(user, "redeemedBadge: ${json.encodeToString(redeemedBadge)}\nnewBadge: $newBadge\nbadgeState: ${json.encodeToString(badgeState)}") is BadgeStateR -> withUser(user, json.encodeToString(badgeState)) is BadgeChanged -> withUser(user, json.encodeToString(badgeState)) is BadgeAlertR -> withUser(user, json.encodeToString(badgeAlert)) @@ -7331,6 +7304,97 @@ sealed class SimplexDomainError { @Serializable @SerialName("unknownDomain") object UnknownDomain : SimplexDomainError() } +@Serializable +sealed class BadgeRedeemError { + val string: String get() = when (this) { + is InvalidCode -> "invalidCode" + is ServiceNotConfigured -> "serviceNotConfigured" + is BadgeActive -> "badgeActive" + is ServiceError -> "serviceError ${serviceError.text}" + is InvalidResponse -> "invalidResponse $message" + is UnknownKeyIndex -> "unknownKeyIndex" + is CredentialNotVerified -> "credentialNotVerified" + } + @Serializable @SerialName("invalidCode") object InvalidCode : BadgeRedeemError() + @Serializable @SerialName("serviceNotConfigured") object ServiceNotConfigured : BadgeRedeemError() + @Serializable @SerialName("badgeActive") object BadgeActive : BadgeRedeemError() + @Serializable @SerialName("serviceError") class ServiceError(val serviceError: BadgeServiceErrorCode) : BadgeRedeemError() + @Serializable @SerialName("invalidResponse") class InvalidResponse(val message: String) : BadgeRedeemError() + @Serializable @SerialName("unknownKeyIndex") object UnknownKeyIndex : BadgeRedeemError() + @Serializable @SerialName("credentialNotVerified") object CredentialNotVerified : BadgeRedeemError() +} + +// the service is deployed ahead of clients, so a code this version does not know keeps its tag +@Serializable(with = BadgeServiceErrorCodeSerializer::class) +sealed class BadgeServiceErrorCode { + object BadRequest: BadgeServiceErrorCode() + object UnsupportedVersion: BadgeServiceErrorCode() + object UnknownPurchaseKey: BadgeServiceErrorCode() + object UnknownOfferId: BadgeServiceErrorCode() + object OfferDisabled: BadgeServiceErrorCode() + object OfferMismatch: BadgeServiceErrorCode() + object ProductUnavailable: BadgeServiceErrorCode() + object PaymentNotEntitled: BadgeServiceErrorCode() + object PaymentPending: BadgeServiceErrorCode() + object ProviderUnavailable: BadgeServiceErrorCode() + object RateLimited: BadgeServiceErrorCode() + object CodeInvalid: BadgeServiceErrorCode() + object CodeUsed: BadgeServiceErrorCode() + object CodeExpired: BadgeServiceErrorCode() + object ReceiptInvalid: BadgeServiceErrorCode() + object ReceiptUsed: BadgeServiceErrorCode() + object Internal: BadgeServiceErrorCode() + data class Unknown(val code: String): BadgeServiceErrorCode() + + val text: String + get() = when (this) { + is BadRequest -> "bad_request" + is UnsupportedVersion -> "unsupported_version" + is UnknownPurchaseKey -> "unknown_purchase_key" + is UnknownOfferId -> "unknown_offer_id" + is OfferDisabled -> "offer_disabled" + is OfferMismatch -> "offer_mismatch" + is ProductUnavailable -> "product_unavailable" + is PaymentNotEntitled -> "payment_not_entitled" + is PaymentPending -> "payment_pending" + is ProviderUnavailable -> "provider_unavailable" + is RateLimited -> "rate_limited" + is CodeInvalid -> "code_invalid" + is CodeUsed -> "code_used" + is CodeExpired -> "code_expired" + is ReceiptInvalid -> "receipt_invalid" + is ReceiptUsed -> "receipt_used" + is Internal -> "internal" + is Unknown -> code + } +} + +object BadgeServiceErrorCodeSerializer : KSerializer { + override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("BadgeServiceErrorCode", PrimitiveKind.STRING) + override fun deserialize(decoder: Decoder): BadgeServiceErrorCode = + when (val v = decoder.decodeString()) { + "bad_request" -> BadgeServiceErrorCode.BadRequest + "unsupported_version" -> BadgeServiceErrorCode.UnsupportedVersion + "unknown_purchase_key" -> BadgeServiceErrorCode.UnknownPurchaseKey + "unknown_offer_id" -> BadgeServiceErrorCode.UnknownOfferId + "offer_disabled" -> BadgeServiceErrorCode.OfferDisabled + "offer_mismatch" -> BadgeServiceErrorCode.OfferMismatch + "product_unavailable" -> BadgeServiceErrorCode.ProductUnavailable + "payment_not_entitled" -> BadgeServiceErrorCode.PaymentNotEntitled + "payment_pending" -> BadgeServiceErrorCode.PaymentPending + "provider_unavailable" -> BadgeServiceErrorCode.ProviderUnavailable + "rate_limited" -> BadgeServiceErrorCode.RateLimited + "code_invalid" -> BadgeServiceErrorCode.CodeInvalid + "code_used" -> BadgeServiceErrorCode.CodeUsed + "code_expired" -> BadgeServiceErrorCode.CodeExpired + "receipt_invalid" -> BadgeServiceErrorCode.ReceiptInvalid + "receipt_used" -> BadgeServiceErrorCode.ReceiptUsed + "internal" -> BadgeServiceErrorCode.Internal + else -> BadgeServiceErrorCode.Unknown(v) + } + override fun serialize(encoder: Encoder, value: BadgeServiceErrorCode) = encoder.encodeString(value.text) +} + data class ConnectionPlanResult( val connLink: CreatedConnLink, val planSimplexName: SimplexNameInfo?, @@ -7736,6 +7800,7 @@ sealed class ChatErrorType { is AgentVersion -> "agentVersion" is AgentNoSubResult -> "agentNoSubResult" is CommandError -> "commandError $message" + is CEBadgeRedeemError -> "badgeRedeemError ${badgeRedeemError.string}" is ServerProtocol -> "serverProtocol" is AgentCommandError -> "agentCommandError" is InvalidFileDescription -> "invalidFileDescription" @@ -7820,6 +7885,7 @@ sealed class ChatErrorType { @Serializable @SerialName("agentVersion") object AgentVersion: ChatErrorType() @Serializable @SerialName("agentNoSubResult") class AgentNoSubResult(val agentConnId: String): ChatErrorType() @Serializable @SerialName("commandError") class CommandError(val message: String): ChatErrorType() + @Serializable @SerialName("badgeRedeemError") class CEBadgeRedeemError(val badgeRedeemError: BadgeRedeemError): ChatErrorType() @Serializable @SerialName("serverProtocol") object ServerProtocol: ChatErrorType() @Serializable @SerialName("agentCommandError") class AgentCommandError(val message: String): ChatErrorType() @Serializable @SerialName("invalidFileDescription") class InvalidFileDescription(val message: String): ChatErrorType() @@ -8254,6 +8320,7 @@ sealed class SMPAgentError { is A_CRYPTO -> "A_CRYPTO" is A_DUPLICATE -> "A_DUPLICATE" is A_QUEUE -> "A_QUEUE" + is A_SERVICE -> "A_SERVICE ${serviceError.string}" } @Serializable @SerialName("A_MESSAGE") object A_MESSAGE: SMPAgentError() @Serializable @SerialName("A_PROHIBITED") class A_PROHIBITED(val prohibitedErr: String): SMPAgentError() @@ -8262,6 +8329,23 @@ sealed class SMPAgentError { @Serializable @SerialName("A_CRYPTO") object A_CRYPTO: SMPAgentError() @Serializable @SerialName("A_DUPLICATE") object A_DUPLICATE: SMPAgentError() @Serializable @SerialName("A_QUEUE") class A_QUEUE(val queueErr: String): SMPAgentError() + @Serializable @SerialName("A_SERVICE") class A_SERVICE(val serviceError: AgentServiceError): SMPAgentError() +} + +@Serializable +sealed class AgentServiceError { + val string: String get() = when (this) { + is Rejected -> "rejected" + is Timeout -> "timeout" + is NoPendingRequest -> "noPendingRequest" + is NotDRAddress -> "notDRAddress" + is BadSignature -> "badSignature" + } + @Serializable @SerialName("rejected") object Rejected: AgentServiceError() + @Serializable @SerialName("timeout") object Timeout: AgentServiceError() + @Serializable @SerialName("noPendingRequest") object NoPendingRequest: AgentServiceError() + @Serializable @SerialName("notDRAddress") object NotDRAddress: AgentServiceError() + @Serializable @SerialName("badSignature") object BadSignature: AgentServiceError() } @Serializable diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/platform/Core.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/platform/Core.kt index 6b4e3e1353..ad0e9aaa5a 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/platform/Core.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/platform/Core.kt @@ -40,6 +40,13 @@ external fun chatReadFile(path: String, key: String, nonce: String): Array external fun chatEncryptFile(ctrl: ChatCtrl, fromPath: String, toPath: String): String external fun chatDecryptFile(fromPath: String, key: String, nonce: String, toPath: String): String +// the code in core's canonical form (prefix and 20 characters, no separators), or null when core rejects it. +// The check character is verified by core via FFI, not re-implemented here, so the two cannot disagree. +fun parseBadgeCode(s: String): String? { + val canonical = chatParseBadgeCode(s) + return if (canonical.isEmpty()) null else canonical +} + val chatModel: ChatModel get() = chatController.chatModel diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesRedeemCodeView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesRedeemCodeView.kt index 6462215051..337fc5db6d 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesRedeemCodeView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesRedeemCodeView.kt @@ -21,7 +21,6 @@ import androidx.compose.ui.text.input.KeyboardCapitalization import androidx.compose.ui.text.input.TextFieldValue import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp -import dev.icerock.moko.resources.StringResource import dev.icerock.moko.resources.compose.stringResource import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext @@ -39,13 +38,6 @@ private const val badgeCodePrefix = "SB" private const val badgeCodeBodyLength = 20 private const val badgeCodeGroupLength = 5 -// The code as core will accept it - prefix and 20 characters, no separators - or null if it does not -// parse. Validity is decided only here: a second check-character implementation would drift. -fun parseBadgeCode(s: String): String? { - val canonical = chatParseBadgeCode(s) - return if (canonical.isEmpty()) null else canonical -} - // Regroups what was typed; validity and the folding of ambiguous characters are core's alone. private fun formatBadgeCodeInput(s: String): String { val normalized = StringBuilder() @@ -73,9 +65,11 @@ fun BadgesRedeemCodeView() { val canonicalCode = remember { mutableStateOf(null) } val submitting = remember { mutableStateOf(false) } - fun applyCodeInput(s: String) { - val formatted = formatBadgeCodeInput(s) - if (formatted != code.value.text) code.value = TextFieldValue(formatted, selection = TextRange(formatted.length)) + // when the text is unchanged, the field's own value is kept: it carries the cursor position and the + // keyboard's composition state, which BasicTextField loses unless they are passed back to it + fun applyCodeInput(v: TextFieldValue) { + val formatted = formatBadgeCodeInput(v.text) + code.value = if (formatted != v.text) TextFieldValue(formatted, selection = TextRange(formatted.length)) else v canonicalCode.value = parseBadgeCode(formatted) } @@ -85,23 +79,20 @@ fun BadgesRedeemCodeView() { submitting.value = true withBGApi { when (val result = chatModel.controller.apiRedeemBadgeCode(rhId, user.userId, sending)) { + null -> withContext(Dispatchers.Main) { submitting.value = false } is BadgeRedeemResult.Redeemed -> { - val badgeState = try { chatModel.controller.apiGetBadgeState(rhId, user.userId) } catch (e: Exception) { null } + val badgeState = result.badgeState withContext(Dispatchers.Main) { submitting.value = false - // written before the pop: BadgesView swaps its content under this pushed view, so - // the pop reveals Your Badge already in place rather than animating it afterwards - if (badgeState != null) { - BadgeModel.set(rhId, user.userId, badgeState) - } - // the response is the only carrier: redeeming raises no event that refreshes the - // profile, so without this the badge beside the name is the one from before + // set before dismissing: BadgesView then switches Support to Your Badge while this screen + // still covers it, so the pop lands on Your Badge instead of showing the switch + BadgeModel.set(rhId, user.userId, badgeState) chatModel.updateUser(result.user) if (badgeState != null && !badgeState.shown) { // a replay adds no purchase; a fresh code's badge can be retired on arrival AlertManager.shared.showAlertMsg( title = generalGetString(MR.strings.badges_error_title), - text = generalGetString(failureMessage(if (result.newBadge) BadgeRedeemError.BadgeEnded else BadgeRedeemError.CodeUsed)) + text = generalGetString(if (result.newBadge) MR.strings.badges_error_badge_ended else MR.strings.badges_error_code_used) ) } else { supporterBannerShown.set(true) @@ -110,13 +101,12 @@ fun BadgesRedeemCodeView() { } } is BadgeRedeemResult.Failed -> { - // the mapped case only - core embeds the service's response in some of these messages - Log.e(TAG, "apiRedeemBadgeCode: ${result.error}") + Log.e(TAG, "apiRedeemBadgeCode: ${result.err?.string}") withContext(Dispatchers.Main) { submitting.value = false AlertManager.shared.showAlertMsg( title = generalGetString(MR.strings.badges_error_title), - text = generalGetString(failureMessage(result.error)) + text = chatModel.controller.redeemErrorText(result.err) ) } } @@ -163,7 +153,7 @@ fun BadgesRedeemCodeView() { false } else -> { - applyCodeInput(formatted) + applyCodeInput(TextFieldValue(formatted, selection = TextRange(formatted.length))) redeem() true } @@ -181,7 +171,7 @@ fun BadgesRedeemCodeView() { } @Composable -private fun CodeField(code: MutableState, submitting: Boolean, applyCodeInput: (String) -> Unit) { +private fun CodeField(code: MutableState, submitting: Boolean, applyCodeInput: (TextFieldValue) -> Unit) { val colors = TextFieldDefaults.textFieldColors( backgroundColor = MaterialTheme.appColors.sentMessage, textColor = MaterialTheme.colors.onBackground, @@ -190,7 +180,7 @@ private fun CodeField(code: MutableState, submitting: Boolean, a ) BasicTextField( value = code.value, - onValueChange = { applyCodeInput(it.text) }, + onValueChange = applyCodeInput, enabled = !submitting, singleLine = true, textStyle = TextStyle.Default.copy( @@ -218,10 +208,10 @@ private fun CodeField(code: MutableState, submitting: Boolean, a } @Composable -private fun PasteButton(submitting: Boolean, applyCodeInput: (String) -> Unit) { +private fun PasteButton(submitting: Boolean, applyCodeInput: (TextFieldValue) -> Unit) { val clipboard = LocalClipboardManager.current TextButton( - onClick = { clipboard.getText()?.text?.let { applyCodeInput(it) } }, + onClick = { clipboard.getText()?.text?.let { applyCodeInput(TextFieldValue(it, selection = TextRange(it.length))) } }, enabled = !submitting ) { Text(stringResource(MR.strings.paste_button), color = MaterialTheme.colors.primary, fontWeight = FontWeight.Medium) @@ -238,20 +228,3 @@ private fun SubmitButton(enabled: Boolean, onClick: () -> Unit) { onclick = onClick ) } - -private fun failureMessage(failure: BadgeRedeemError): StringResource = when (failure) { - BadgeRedeemError.InvalidCode -> MR.strings.badges_error_invalid_code - BadgeRedeemError.ServiceNotConfigured -> MR.strings.badges_error_service_not_configured - BadgeRedeemError.AlreadyActive -> MR.strings.badges_error_already_active - BadgeRedeemError.CodeInvalid -> MR.strings.badges_error_code_invalid - BadgeRedeemError.CodeUsed -> MR.strings.badges_error_code_used - BadgeRedeemError.CodeExpired -> MR.strings.badges_error_code_expired - BadgeRedeemError.RateLimited -> MR.strings.badges_error_rate_limited - BadgeRedeemError.ServiceFailed -> MR.strings.badges_error_service_failed - BadgeRedeemError.BadServiceResponse -> MR.strings.badges_error_bad_service_response - BadgeRedeemError.CredentialNotVerified -> MR.strings.badges_error_credential_not_verified - BadgeRedeemError.UnsupportedVersion -> MR.strings.badges_error_unsupported_version - BadgeRedeemError.NetworkError -> MR.strings.badges_error_network - BadgeRedeemError.BadgeEnded -> MR.strings.badges_error_badge_ended - BadgeRedeemError.Unknown -> MR.strings.badges_error_unknown -} diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesView.kt index ac64c20d7c..a144f75d1d 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesView.kt @@ -15,7 +15,7 @@ fun BadgesView() { if (badgeState != null && badgeState.shown) badgeState else null } - AnimatedContent(targetState = shownBadge, transitionSpec = { fadeIn() with fadeOut() }) { badgeState -> + AnimatedContent(targetState = shownBadge, transitionSpec = { fadeIn() with fadeOut() }, contentKey = { it != null }) { badgeState -> if (badgeState != null) { BadgesYourBadgeView(badgeState) } else { diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesYourBadgeView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesYourBadgeView.kt index 4ff8f2c6de..f752ef7e29 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesYourBadgeView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesYourBadgeView.kt @@ -16,25 +16,23 @@ import androidx.compose.ui.unit.dp import dev.icerock.moko.resources.compose.painterResource import dev.icerock.moko.resources.compose.stringResource import chat.simplex.common.model.BadgeState -import chat.simplex.common.model.BadgeType import chat.simplex.common.platform.ColumnWithScrollBar import chat.simplex.common.ui.theme.DEFAULT_PADDING import chat.simplex.common.views.helpers.AppBarTitle import chat.simplex.common.views.helpers.badgeImage +import chat.simplex.common.views.helpers.badgeTypeName import chat.simplex.res.MR @Composable fun BadgesYourBadgeView(badgeState: BadgeState) { - val title = if (badgeState.shown) MR.strings.badges_your_badge else MR.strings.badges_support_ended - ColumnWithScrollBar { - AppBarTitle(stringResource(title)) + AppBarTitle(stringResource(MR.strings.badges_your_badge)) SectionView { BadgeSummary(badgeState) } SectionSpacer() - SectionView(stringResource(MR.strings.badges_ends).uppercase()) { + SectionView(stringResource(MR.strings.badges_ends)) { Text(badgeState.paidThroughText, Modifier.padding(horizontal = DEFAULT_PADDING, vertical = 12.dp)) } SectionTextFooter(stringResource(MR.strings.badges_prepaid_footer)) @@ -65,12 +63,3 @@ fun BadgeSummary(badgeState: BadgeState) { ) } } - -// verbatim for an unknown type: it is the service's string, and must not be looked up as a localised key -@Composable -private fun badgeTypeName(t: BadgeType): String = when (t) { - is BadgeType.Supporter -> stringResource(MR.strings.badges_level_supporter) - is BadgeType.Legend -> stringResource(MR.strings.badges_level_legend) - is BadgeType.Investor -> stringResource(MR.strings.badges_type_investor) - is BadgeType.Unknown -> t.type -} diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt index 82e8a71bf2..3fcf2febda 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt @@ -79,7 +79,7 @@ private fun showSupportEndedDismissAlert() { AlertManager.shared.hideAlert() withBGApi { chatModel.controller.ackBadgeAlert(snooze = false) } }) { - Text(stringResource(MR.strings.badges_dont_show_again), Modifier.fillMaxWidth(), textAlign = TextAlign.Center, color = MaterialTheme.colors.primary) + Text(stringResource(MR.strings.badges_dismiss), Modifier.fillMaxWidth(), textAlign = TextAlign.Center, color = MaterialTheme.colors.primary) } SectionItemView({ AlertManager.shared.hideAlert() @@ -1051,7 +1051,7 @@ private fun BoxScope.ChatList(searchText: MutableState, listStat ) } } - } else if (!supporterBannerShown.value && chatModel.chats.value.size > 3) { + } else if (!supporterBannerShown.value && !hasShownBadge() && chatModel.chats.value.size > 3) { item { Box(Modifier.zIndex(1f).padding(16.dp)) { SupportSimpleXBanner( diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/ChatInfoImage.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/ChatInfoImage.kt index dcdea4147f..fcae2e6b47 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/ChatInfoImage.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/ChatInfoImage.kt @@ -207,9 +207,17 @@ private fun BadgeGlyph(badge: LocalBadge, modifier: Modifier, onBadgeClick: (() } } +// verbatim for an unknown type: it is the service's string, and must not be looked up as a localised key +fun badgeTypeName(t: BadgeType): String = when (t) { + is BadgeType.Supporter -> generalGetString(MR.strings.badges_level_supporter) + is BadgeType.Legend -> generalGetString(MR.strings.badges_level_legend) + is BadgeType.Investor -> generalGetString(MR.strings.badges_type_investor) + is BadgeType.Unknown -> t.type +} + fun showBadgeInfoAlert(name: String, badge: LocalBadge, uriHandler: UriHandler) { // a verified badge's type is signed and can't be faked, so the real (possibly unknown) type name is the title - val title = badge.badge.badgeType.text.replaceFirstChar { it.uppercase() } + val title = badgeTypeName(badge.badge.badgeType) when { badge.status == BadgeStatus.Failed -> AlertManager.shared.showAlertMsg( diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/newchat/OnboardingCards.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/newchat/OnboardingCards.kt index 9f4b213cb2..bd33bde96a 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/newchat/OnboardingCards.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/newchat/OnboardingCards.kt @@ -54,6 +54,9 @@ fun shouldShowOnboarding(): Boolean { fun supportEnded(): Boolean = BadgeModel.alert.value?.kind == BadgeAlertKind.SupportEnded && BadgeModel.isCurrent(chatModel.remoteHostId(), chatModel.currentUser.value?.userId) +fun hasShownBadge(): Boolean = + BadgeModel.badgeState.value?.shown == true && BadgeModel.isCurrent(chatModel.remoteHostId(), chatModel.currentUser.value?.userId) + fun hasConversations(chats: List): Boolean = chats.any { chat -> when (val c = chat.chatInfo) { diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml index 480e448954..f5fc7f8278 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml @@ -178,6 +178,7 @@ Forwarding server %1$s failed to connect to destination server %2$s. Please try later. Destination server address of %1$s is incompatible with forwarding server %2$s settings. Destination server version of %1$s is incompatible with forwarding server %2$s. + The service did not respond. Please try again. Please try later. Error sending message Error forwarding messages @@ -3251,11 +3252,9 @@ This code has already been used. This code has expired. Too many attempts. Please try again later. - The badge service is unavailable. Please try again later. - The badge service sent an unexpected response. + The badge service sent an unexpected response: %1$s This app version cannot verify this badge. Please update the app. This app version is too old for the badge service. Please update the app. - Connection error. Please check your network connection. The code was accepted, but the badge it grants has already ended. The code could not be redeemed. The code you scanned is not a badge code. @@ -3267,7 +3266,7 @@ Investor Your support ended on %1$s. Remind me later - Don\'t show again + Dismiss Supporter perks Supporter badge ❤️ Help keep the network running — send files up to 2 GB. diff --git a/src/Simplex/Chat/Badges/Types.hs b/src/Simplex/Chat/Badges/Types.hs index a0ee90b83c..4c81cb50ac 100644 --- a/src/Simplex/Chat/Badges/Types.hs +++ b/src/Simplex/Chat/Badges/Types.hs @@ -24,6 +24,7 @@ module Simplex.Chat.Badges.Types BadgeCharge (..), BadgeIssuance (..), BadgeAlert (..), + BadgeAlertPrice (..), BadgeState (..), ) where @@ -204,7 +205,13 @@ data BadgeAlert = BadgeAlert { kind :: BadgeAlertKind, episode :: Text, date :: UTCTime, - price :: Maybe (Int64, Text) + price :: Maybe BadgeAlertPrice + } + deriving (Show) + +data BadgeAlertPrice = BadgeAlertPrice + { amount :: Int64, + currency :: Text } deriving (Show) @@ -259,12 +266,9 @@ $(JQ.deriveJSON (enumJSON $ dropPrefix "BIS") ''BadgeItemStatus) $(JQ.deriveJSON (taggedObjectJSON $ dropPrefix "OD") ''OfferDiscount) -instance ToJSON BadgeAlertKind where - toJSON = textToJSON - toEncoding = textToEncoding +$(JQ.deriveJSON (enumJSON $ dropPrefix "BA") ''BadgeAlertKind) -instance FromJSON BadgeAlertKind where - parseJSON = textParseJSON "BadgeAlertKind" +$(JQ.deriveJSON defaultJSON ''BadgeAlertPrice) $(JQ.deriveJSON defaultJSON ''BadgeAlert) diff --git a/src/Simplex/Chat/Controller.hs b/src/Simplex/Chat/Controller.hs index 1e7b413aba..6206e8ae50 100644 --- a/src/Simplex/Chat/Controller.hs +++ b/src/Simplex/Chat/Controller.hs @@ -84,6 +84,7 @@ import qualified Simplex.Messaging.Agent.Store.DB as DB import Simplex.Messaging.Client (HostMode (..), SMPProxyFallback (..), SMPProxyMode (..), SMPWebPortServers (..), SocksMode (..)) import qualified Simplex.Messaging.Crypto as C import Simplex.Chat.Badges (BadgeCredential, FileSizeLimits, LocalBadge) +import Simplex.Chat.Badges.Service (BadgeServiceErrorCode) import Simplex.Chat.Badges.Types (BadgeAlert (..), BadgeAlertKind, BadgeState (..)) import Simplex.Messaging.Crypto.BBS (BBSPublicKey) import Simplex.Messaging.Crypto.File (CryptoFile (..)) @@ -866,7 +867,7 @@ data ChatResponse | CRContactRequestRejected {user :: User, contactRequest :: UserContactRequest, contact_ :: Maybe Contact} | CRServiceResponse {user :: User, responseData :: J.Object} | CRServiceReplyAccepted {user :: User, connectionId :: AgentConnId} - | CRBadgeRedeemed {user :: User, redeemedBadge :: LocalBadge, newBadge :: Bool} + | CRBadgeRedeemed {user :: User, redeemedBadge :: LocalBadge, newBadge :: Bool, badgeState :: Maybe BadgeState} | CRBadgeState {user :: User, badgeState :: Maybe BadgeState} | CRUserAcceptedGroupSent {user :: User, groupInfo :: GroupInfo, hostContact :: Maybe Contact} | CRUserDeletedMembers {user :: User, groupInfo :: GroupInfo, members :: [GroupMember], withMessages :: Bool, msgSigned :: Bool} @@ -1476,6 +1477,16 @@ data SimplexDomainError | SDEUnknownDomain -- the resolved link's profile has no name, or a different name deriving (Eq, Show) +data BadgeRedeemError + = BREInvalidCode -- format or check character + | BREServiceNotConfigured + | BREBadgeActive + | BREServiceError {serviceError :: BadgeServiceErrorCode} + | BREInvalidResponse {message :: String} + | BREUnknownKeyIndex + | BRECredentialNotVerified + deriving (Eq, Show) + data ChatErrorType = CENoActiveUser | CENoConnectionUser {agentConnId :: AgentConnId} @@ -1548,6 +1559,7 @@ data ChatErrorType | CEAgentVersion | CEAgentNoSubResult {agentConnId :: AgentConnId} | CECommandError {message :: String} + | CEBadgeRedeemError {badgeRedeemError :: BadgeRedeemError} | CEServerProtocol {serverProtocol :: AProtocolType} | CEAgentCommandError {message :: String} | CEInvalidFileDescription {message :: String} @@ -1832,6 +1844,8 @@ $(JQ.deriveJSON (sumTypeJSON $ dropPrefix "FC") ''ForwardConfirmation) $(JQ.deriveJSON (sumTypeJSON $ dropPrefix "SDE") ''SimplexDomainError) +$(JQ.deriveJSON (sumTypeJSON $ dropPrefix "BRE") ''BadgeRedeemError) + $(JQ.deriveJSON (sumTypeJSON $ dropPrefix "CE") ''ChatErrorType) $(JQ.deriveJSON (sumTypeJSON $ dropPrefix "RHE") ''RemoteHostError) diff --git a/src/Simplex/Chat/Library/Commands.hs b/src/Simplex/Chat/Library/Commands.hs index 6ba042bd94..c3d5624cb1 100644 --- a/src/Simplex/Chat/Library/Commands.hs +++ b/src/Simplex/Chat/Library/Commands.hs @@ -3570,7 +3570,7 @@ processChatCommand cxt nm = \case APIAckBadgeAlert userId badgePurchaseId alertKind snooze episode -> withUserId userId $ \user -> do now <- badgeNow let snoozeUntil = if snooze then Just (addUTCTime nominalDay now) else Nothing - withStore' $ \db -> setBadgeAlertAcked db badgePurchaseId alertKind episode snoozeUntil + withStore' $ \db -> setBadgeAlertAcked db user badgePurchaseId alertKind episode snoozeUntil -- after the write, so the pass it signals arms a wake for the snooze rather than raising again lift $ startBadgeWork user CRBadgeState user <$> getUserBadgeState user @@ -5220,8 +5220,8 @@ presentUserBadgeToContacts user'@User {userId, profile = LocalProfile {localBadg -- A terminal answer drops the stash; a timeout keeps it. redeemBadgeCode :: NetworkRequestMode -> User -> Text -> CM ChatResponse redeemBadgeCode nm user@User {userId} codeText = do - code <- maybe (throwCmdError "invalid badge code") pure $ parseBadgeCode codeText - sendTarget <- asks (badgeServiceAddress . config) >>= maybe (throwCmdError "badge service not configured") pure + code <- maybe (throwRedeemError BREInvalidCode) pure $ parseBadgeCode codeText + sendTarget <- asks (badgeServiceAddress . config) >>= maybe (throwRedeemError BREServiceNotConfigured) pure g <- asks random now <- liftIO getCurrentTime let codeSent = badgeCodeText code @@ -5232,24 +5232,23 @@ redeemBadgeCode nm user@User {userId} codeText = do -- a code already redeemed here is allowed through: re-sending it returns the badge it bought -- and adds nothing. Refused before its keys are stashed and before the request, so it stays unspent replaying <- maybe (pure False) (\r -> withStore' $ \db -> isJust <$> getCodeBadgePurchase db r) redemption_ - unless replaying $ whenM (withStore' (`userHasBadge` user)) $ throwCmdError "badge already active" + unless replaying $ whenM (withStore' (`userHasBadge` user)) $ throwRedeemError BREBadgeActive redemption@BadgeCodeRedemption {purchaseKey, purchasePrivKey, masterKey} <- maybe (withStore' $ \db -> createBadgeCodeRedemption db g user codeSent now) pure redemption_ let req = BadgeServiceRequest {version = currentBadgeServiceVersion, purchaseKey = Just purchaseKey, request = BSCRedeemBadgeCode {masterKey, code = codeSent}} - respData <- sendServiceRequestTo nm user sendTarget Nothing (Just purchasePrivKey) req + respBytes <- sendServiceRequestBytes nm user sendTarget Nothing (Just purchasePrivKey) req + respData <- either (const $ throwRedeemError $ BREInvalidResponse "not JSON") pure $ J.eitherDecodeStrict' respBytes case J.fromJSON (J.Object respData) of - J.Error e -> throwCmdError $ "invalid badge service response, " <> show e <> ": " <> respJSON respData + J.Error _ -> throwRedeemError $ BREInvalidResponse "not a badge service response" J.Success BSPError {code = errCode} -> do when (terminalCodeError errCode) $ withStore' $ \db -> deleteBadgeCodeRedemption db (redemptionId redemption) - throwCmdError $ "badge service error: " <> T.unpack (badgeServiceErrorText errCode) + throwRedeemError $ BREServiceError errCode J.Success BSPBadgeCredential {credential = Just cred, statement} -> storeRedeemedBadge user redemption cred statement - J.Success _ -> throwCmdError $ "unexpected badge service response: " <> respJSON respData + J.Success _ -> throwRedeemError $ BREInvalidResponse "unexpected response type" -- outside the badge lock: the chat lock must not be taken under it mapM_ presentUserBadgeToContacts present_ pure redeemed where - -- re-encoded, not shown as received: JSON escapes the control characters a terminal acts on - respJSON = LB.unpack . J.encode -- the code will never work, so the keys stashed for it are dead; a timeout keeps them terminalCodeError = \case BSECodeInvalid -> True @@ -5257,6 +5256,9 @@ redeemBadgeCode nm user@User {userId} codeText = do BSECodeExpired -> True _ -> False +throwRedeemError :: BadgeRedeemError -> CM a +throwRedeemError = throwChatError . CEBadgeRedeemError + -- | An unknown code is reported, since the service is deployed ahead of clients, but its text is -- the service's - so it is bounded and stripped before reaching a terminal that acts on controls. badgeServiceErrorText :: BadgeServiceErrorCode -> Text @@ -5584,11 +5586,11 @@ stopBadgeWorkers workers = storeRedeemedBadge :: User -> BadgeCodeRedemption -> BadgeCredential -> BadgeStatement -> CM (Maybe User, ChatResponse) storeRedeemedBadge user@User {userId} redemption@BadgeCodeRedemption {masterKey} cred@(BadgeCredential _ credMasterKey _ info@BadgeInfo {badgeType}) statement = verifyOwnBadge cred >>= \case - Nothing -> throwCmdError "redeemed badge credential names an unknown badge key index" - Just False -> throwCmdError "redeemed badge credential does not verify against configured key" + Nothing -> throwRedeemError BREUnknownKeyIndex + Just False -> throwRedeemError BRECredentialNotVerified -- verifyCredential checks the signature against the key inside the credential, not the one we -- sent - so a credential over any other master key also verifies - Just True | credMasterKey /= masterKey -> throwCmdError "redeemed badge credential is for a different master key" + Just True | credMasterKey /= masterKey -> throwRedeemError $ BREInvalidResponse "credential is for a different master key" Just True -> do g <- asks random now <- badgeNow @@ -5603,7 +5605,8 @@ storeRedeemedBadge user@User {userId} redemption@BadgeCodeRedemption {masterKey} unless applied $ eToView $ ChatError $ CEInternalError "redeemed badge credential has no ledger row to store it against" -- nothing is due yet, but a pass is what arms the next wake, and this is the first purchase lift $ startBadgeWork user' - pure (if newBadge then Just user' else Nothing, CRBadgeRedeemed user' badge newBadge) + badgeState <- getUserBadgeState user' + pure (if newBadge then Just user' else Nothing, CRBadgeRedeemed user' badge newBadge badgeState) -- | Store the statement's rows, then the credential against the badge debit row among them. -- 'False' when that row cannot be found, which the caller reports rather than drop in silence. @@ -5627,10 +5630,14 @@ applyBadgeStatement db g purchaseId badgeType BadgeStatement {entries} cred_ now ids -> Just (last ids) sendServiceRequestTo :: J.ToJSON a => NetworkRequestMode -> User -> ConnectTarget 'CMContact -> Maybe NominalDiffTime -> Maybe C.PrivateKeyEd25519 -> a -> CM J.Object -sendServiceRequestTo nm user sendTarget requestTimeout signKey request = do +sendServiceRequestTo nm user sendTarget requestTimeout signKey request = + sendServiceRequestBytes nm user sendTarget requestTimeout signKey request + >>= either (const $ throwCmdError "invalid service response") pure . J.eitherDecodeStrict' + +sendServiceRequestBytes :: J.ToJSON a => NetworkRequestMode -> User -> ConnectTarget 'CMContact -> Maybe NominalDiffTime -> Maybe C.PrivateKeyEd25519 -> a -> CM ByteString +sendServiceRequestBytes nm user sendTarget requestTimeout signKey request = do cReq <- resolveServiceTarget sendTarget - respData <- withAgent $ \a -> sendServiceRequestAsync a (aUserId user) cReq requestTimeout signKey (LB.toStrict $ J.encode request) - either (const $ throwCmdError "invalid service response") pure $ J.eitherDecodeStrict' respData + withAgent $ \a -> sendServiceRequestAsync a (aUserId user) cReq requestTimeout signKey (LB.toStrict $ J.encode request) where resolveServiceTarget = \case CTFullContact cReq -> pure cReq diff --git a/src/Simplex/Chat/Store/Badges.hs b/src/Simplex/Chat/Store/Badges.hs index 7da9c5fd72..c17bd5f360 100644 --- a/src/Simplex/Chat/Store/Badges.hs +++ b/src/Simplex/Chat/Store/Badges.hs @@ -258,12 +258,12 @@ userHasBadge db User {userId} = -- | An ack and a snooze both record the occurrence answered; a snooze also records how long it -- holds, so that it silences that occurrence and not whichever one is derived next. -setBadgeAlertAcked :: DB.Connection -> Int64 -> BadgeAlertKind -> Text -> Maybe UTCTime -> IO () -setBadgeAlertAcked db badgePurchaseId kind episode snoozeUntil = +setBadgeAlertAcked :: DB.Connection -> User -> Int64 -> BadgeAlertKind -> Text -> Maybe UTCTime -> IO () +setBadgeAlertAcked db User {userId} badgePurchaseId kind episode snoozeUntil = DB.execute db - "UPDATE badge_purchases SET alert_acked_kind = ?, alert_acked_episode = ?, alert_snooze_until = ? WHERE badge_purchase_id = ?" - (kind, episode, snoozeUntil, badgePurchaseId) + "UPDATE badge_purchases SET alert_acked_kind = ?, alert_acked_episode = ?, alert_snooze_until = ? WHERE badge_purchase_id = ? AND user_id = ?" + (kind, episode, snoozeUntil, badgePurchaseId, userId) -- | Stop showing a badge that has expired unrenewed; the profile update is broadcast by the caller. clearShownBadge :: DB.Connection -> User -> Int64 -> IO () diff --git a/src/Simplex/Chat/View.hs b/src/Simplex/Chat/View.hs index 6c20e1b33a..007dc8af0b 100644 --- a/src/Simplex/Chat/View.hs +++ b/src/Simplex/Chat/View.hs @@ -41,7 +41,7 @@ import Numeric (showFFloat) import Simplex.Chat.Call import Simplex.Chat.Controller import Simplex.Chat.Help -import Simplex.Chat.Library.Commands (maxImageSize) +import Simplex.Chat.Library.Commands (badgeServiceErrorText, maxImageSize) import Simplex.Chat.Markdown import Simplex.Chat.Badges (BadgeInfo (..), BadgeStatus (..), BadgeType (..), LocalBadge, localBadgeInfo, localBadgeStatus) import Simplex.Chat.Badges.Types (BadgeAlert (..), BadgeState (..)) @@ -190,7 +190,7 @@ chatResponseToView hu cfg@ChatConfig {logLevel, showReactions, showFullLinks, te CRServiceResponse u resp -> ttyUser u ["service response: " <> viewJSON resp] CRServiceReplyAccepted u (AgentConnId cId) -> ttyUser u [plain $ "service reply accepted, connection id: " <> safeDecodeUtf8 (strEncode cId)] -- the badge is only shown when it is the one now on the profile; a replayed code's badge may not be - CRBadgeRedeemed u badge newBadge -> ttyUser u $ if newBadge then "badge redeemed" : viewContactBadge (Just badge) else ["badge already redeemed"] + CRBadgeRedeemed u badge newBadge _ -> ttyUser u $ if newBadge then "badge redeemed" : viewContactBadge (Just badge) else ["badge already redeemed"] CRBadgeState u st -> ttyUser u $ viewUserBadgeState st CRGroupCreated u g -> ttyUser u $ viewGroupCreated g testView CRPublicGroupCreated u g _groupLink _relays -> ttyUser u $ viewGroupCreated g testView @@ -2841,6 +2841,16 @@ viewChatError isCmd logLevel testView = \case CEAgentNoSubResult connId -> ["no subscription result for connection: " <> sShow connId] CEServerProtocol p -> [plain $ "Servers for protocol " <> strEncode p <> " cannot be configured by the users"] CECommandError e -> ["bad chat command: " <> plain e] + CEBadgeRedeemError e -> + let reason = case e of + BREInvalidCode -> "invalid code" + BREServiceNotConfigured -> "badge service not configured" + BREBadgeActive -> "badge already active" + BREServiceError code -> "badge service error: " <> T.unpack (badgeServiceErrorText code) + BREInvalidResponse m -> "invalid service response: " <> m + BREUnknownKeyIndex -> "credential names an unknown badge key index" + BRECredentialNotVerified -> "credential does not verify against configured key" + in ["cannot redeem badge code: " <> plain reason] CEAgentCommandError e -> ["agent command error: " <> plain e] CEInvalidFileDescription e -> ["invalid file description: " <> plain e] CEConnectionIncognitoChangeProhibited -> ["incognito mode change prohibited"] diff --git a/tests/Bots/BadgeServiceTests.hs b/tests/Bots/BadgeServiceTests.hs index 3725741d37..640d0ba533 100644 --- a/tests/Bots/BadgeServiceTests.hs +++ b/tests/Bots/BadgeServiceTests.hs @@ -257,10 +257,10 @@ testRedeemUnknownCode ps = g <- C.newRandom unknown <- randomBadgeCode g alice ##> ("/_redeem_badge_code 1 " <> codeArg unknown) - alice <## "bad chat command: badge service error: code_invalid" + alice <## "cannot redeem badge code: badge service error: code_invalid" -- a failed check character is refused before anything leaves the device alice ##> "/_redeem_badge_code 1 SB-00000-00000-00000-00001" - alice <## "bad chat command: invalid badge code" + alice <## "cannot redeem badge code: invalid code" -- sent straight to the service, past the client's own check, the two are one answer (_, redeemPriv) <- atomically $ C.generateKeyPair g :: IO (C.KeyPair 'C.Ed25519) redeemDirect alice bsLink redeemPriv (T.unpack $ badgeCodeText unknown) @@ -315,7 +315,7 @@ testRedeemSecondCode ps = alice <## "supporter badge - active" alice <##. "expires " alice ##> ("/_redeem_badge_code 1 " <> codeArg legend) - alice <## "bad chat command: badge already active" + alice <## "cannot redeem badge code: badge already active" alice ##> "/p" showActiveUser alice "alice (Alice, * supporter)" alice ##> "/create user alisa" @@ -339,7 +339,7 @@ testRedeemSameCodeOtherProfile ps = alice ##> "/create user alisa" showActiveUser alice "alisa" alice ##> ("/_redeem_badge_code 2 " <> codeArg code) - alice <## "bad chat command: badge service error: code_used" + alice <## "cannot redeem badge code: badge service error: code_used" alice ##> "/p" showActiveUser alice "alisa" alice ##> "/user alice" From c52044f3c386788146827ab14691800c8ad33e59 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Wed, 16 Sep 2026 14:43:28 +0000 Subject: [PATCH 67/69] ui: show progress spinner on redeeming code (#7523) --- .../Views/Badges/BadgesRedeemCodeView.swift | 28 +++++++++++++------ .../views/badges/BadgesRedeemCodeView.kt | 16 +++++++++++ 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/apps/ios/Shared/Views/Badges/BadgesRedeemCodeView.swift b/apps/ios/Shared/Views/Badges/BadgesRedeemCodeView.swift index a9442a3ed0..16e1796e96 100644 --- a/apps/ios/Shared/Views/Badges/BadgesRedeemCodeView.swift +++ b/apps/ios/Shared/Views/Badges/BadgesRedeemCodeView.swift @@ -44,15 +44,27 @@ struct BadgesRedeemCodeView: View { @State private var showQRCodeScanner = true var body: some View { - GeometryReader { g in - ScrollView { - VStack(alignment: .center, spacing: 16) { - entryContent(g) + ZStack { + GeometryReader { g in + ScrollView { + VStack(alignment: .center, spacing: 16) { + entryContent(g) + } + .padding(.horizontal, 25) + .padding(.top, 8) + .padding(.bottom, 20) + .frame(minHeight: g.size.height) + } + } + + if submitting { + ZStack { + Circle() + .fill(.white) + .opacity(0.7) + .frame(width: 56, height: 56) + ProgressView().scaleEffect(2) } - .padding(.horizontal, 25) - .padding(.top, 8) - .padding(.bottom, 20) - .frame(minHeight: g.size.height) } } .frame(maxHeight: .infinity) diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesRedeemCodeView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesRedeemCodeView.kt index 337fc5db6d..a9d2a4d19c 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesRedeemCodeView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesRedeemCodeView.kt @@ -168,6 +168,22 @@ fun BadgesRedeemCodeView() { TextButtonBelowOnboardingButton("", null) } } + + if (submitting.value) { + Box( + Modifier.fillMaxSize(), + contentAlignment = Alignment.Center + ) { + Surface(Modifier.size(50.dp), color = MaterialTheme.colors.background.copy(0.9f), contentColor = LocalContentColor.current, shape = RoundedCornerShape(50)){} + CircularProgressIndicator( + Modifier + .padding(horizontal = 2.dp) + .size(30.dp), + color = MaterialTheme.colors.secondary, + strokeWidth = 3.dp + ) + } + } } @Composable From dd5c47d02d4c31a5d4b38a1a94f742cb214c92c6 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Wed, 16 Sep 2026 15:13:01 +0000 Subject: [PATCH 68/69] ui: "how it works" link and card styling on badge screen (#7524) --- .../Views/Badges/BadgesHowItWorksView.swift | 1 + .../Views/Badges/BadgesYourBadgeView.swift | 10 ++++++++++ .../simplex/common/views/badges/BadgesView.kt | 16 ++++++++++------ .../common/views/badges/BadgesYourBadgeView.kt | 14 ++++++++++++-- .../common/views/chatlist/ChatListView.kt | 4 ++-- .../common/views/usersettings/SettingsView.kt | 2 +- 6 files changed, 36 insertions(+), 11 deletions(-) diff --git a/apps/ios/Shared/Views/Badges/BadgesHowItWorksView.swift b/apps/ios/Shared/Views/Badges/BadgesHowItWorksView.swift index 86035cc223..bca1f7da40 100644 --- a/apps/ios/Shared/Views/Badges/BadgesHowItWorksView.swift +++ b/apps/ios/Shared/Views/Badges/BadgesHowItWorksView.swift @@ -33,6 +33,7 @@ struct BadgesHowItWorksView: View { } .padding(.horizontal, 25) .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .topLeading) + .navigationBarTitleDisplayMode(.inline) } } diff --git a/apps/ios/Shared/Views/Badges/BadgesYourBadgeView.swift b/apps/ios/Shared/Views/Badges/BadgesYourBadgeView.swift index 166abc449a..07b6d7a3dc 100644 --- a/apps/ios/Shared/Views/Badges/BadgesYourBadgeView.swift +++ b/apps/ios/Shared/Views/Badges/BadgesYourBadgeView.swift @@ -40,6 +40,16 @@ struct BadgesYourBadgeView: View { Text("Prepaid months have no billing date. The badge is reissued each month from the balance you already paid for, and ends when it runs out.") .foregroundColor(theme.colors.secondary) } + Section { + NavigationLink { + BadgesHowItWorksView() + .modifier(ThemedBackground()) + } label: { + settingsRow("info.circle", color: theme.colors.secondary) { + Text("How private badges work") + } + } + } } } .frame(maxHeight: .infinity) diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesView.kt index a144f75d1d..0cb128c902 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesView.kt @@ -5,21 +5,25 @@ import androidx.compose.runtime.Composable import chat.simplex.common.model.BadgeModel import chat.simplex.common.model.BadgeState import chat.simplex.common.platform.chatModel +import chat.simplex.common.views.helpers.ModalView @OptIn(ExperimentalAnimationApi::class) @Composable -fun BadgesView() { +fun BadgesView(close: () -> Unit) { val shownBadge: BadgeState? = run { if (!BadgeModel.isCurrent(chatModel.remoteHostId(), chatModel.currentUser.value?.userId)) return@run null val badgeState = BadgeModel.badgeState.value if (badgeState != null && badgeState.shown) badgeState else null } - AnimatedContent(targetState = shownBadge, transitionSpec = { fadeIn() with fadeOut() }, contentKey = { it != null }) { badgeState -> - if (badgeState != null) { - BadgesYourBadgeView(badgeState) - } else { - BadgesSupportSimplexView() + // the card look is a modal setting, so the modal is composed here to follow the screen shown + ModalView(close, cardScreen = shownBadge != null) { + AnimatedContent(targetState = shownBadge, transitionSpec = { fadeIn() with fadeOut() }, contentKey = { it != null }) { badgeState -> + if (badgeState != null) { + BadgesYourBadgeView(badgeState) + } else { + BadgesSupportSimplexView() + } } } } diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesYourBadgeView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesYourBadgeView.kt index f752ef7e29..c17559d5b0 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesYourBadgeView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/badges/BadgesYourBadgeView.kt @@ -19,8 +19,10 @@ import chat.simplex.common.model.BadgeState import chat.simplex.common.platform.ColumnWithScrollBar import chat.simplex.common.ui.theme.DEFAULT_PADDING import chat.simplex.common.views.helpers.AppBarTitle +import chat.simplex.common.views.helpers.ModalManager import chat.simplex.common.views.helpers.badgeImage import chat.simplex.common.views.helpers.badgeTypeName +import chat.simplex.common.views.usersettings.SettingsActionItem import chat.simplex.res.MR @Composable @@ -37,13 +39,21 @@ fun BadgesYourBadgeView(badgeState: BadgeState) { } SectionTextFooter(stringResource(MR.strings.badges_prepaid_footer)) SectionSpacer() + SectionView { + SettingsActionItem( + painterResource(MR.images.ic_info), + stringResource(MR.strings.badges_how_it_works_button), + { ModalManager.start.showModal { BadgesHowItWorksView() } }, + ) + } + SectionSpacer() } } @Composable fun BadgeSummary(badgeState: BadgeState) { Column( - Modifier.fillMaxWidth().padding(vertical = 8.dp), + Modifier.fillMaxWidth().padding(vertical = 20.dp), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.spacedBy(4.dp) ) { @@ -51,7 +61,7 @@ fun BadgeSummary(badgeState: BadgeState) { painterResource(badgeImage(badgeState.badgeType)), contentDescription = null, contentScale = ContentScale.Fit, - modifier = Modifier.size(68.dp).padding(bottom = 8.dp) + modifier = Modifier.padding(bottom = 8.dp).size(68.dp) ) Text(badgeTypeName(badgeState.badgeType), style = MaterialTheme.typography.h3, fontWeight = FontWeight.SemiBold) diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt index 3fcf2febda..a013cc97a2 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt @@ -1046,7 +1046,7 @@ private fun BoxScope.ChatList(searchText: MutableState, listStat SupportSimpleXBanner( title = stringResource(MR.strings.badges_support_ended), subtitle = String.format(stringResource(MR.strings.badges_support_ended_on), alert.dateText), - onTap = { ModalManager.start.showModal { BadgesView() } }, + onTap = { ModalManager.start.showCustomModal { close -> BadgesView(close) } }, onDismiss = ::showSupportEndedDismissAlert ) } @@ -1055,7 +1055,7 @@ private fun BoxScope.ChatList(searchText: MutableState, listStat item { Box(Modifier.zIndex(1f).padding(16.dp)) { SupportSimpleXBanner( - onTap = { ModalManager.start.showModal { BadgesView() } }, + onTap = { ModalManager.start.showCustomModal { close -> BadgesView(close) } }, onDismiss = ::showSupportSimpleXDismissAlert ) } diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/SettingsView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/SettingsView.kt index 823a6b2f0c..cbd2be9ee3 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/SettingsView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/SettingsView.kt @@ -107,7 +107,7 @@ fun SettingsLayout( SectionView { // Direct showModal (no settings / cardScreen flags) — settings-style card chrome would render // a gray top bar / back button that badges views don't want (they have their own inline titles). - SectionItemView(click = { ModalManager.start.showModal { BadgesView() } }) { + SectionItemView(click = { ModalManager.start.showCustomModal { close -> BadgesView(close) } }) { val badgeType = chatModel.currentUser.value?.profile?.localBadge?.badge?.badgeType ?: BadgeType.Supporter Image(painterResource(badgeImage(badgeType)), stringResource(MR.strings.supporter_perks), Modifier.size(24.dp)) TextIconSpaced() From fea9f482cf34885a57b9292de879fbafaf249883 Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Wed, 16 Sep 2026 19:48:57 +0100 Subject: [PATCH 69/69] core: update bot api and query plans --- bots/api/TYPES.md | 98 ++++++++++ bots/src/API/Docs/Types.hs | 6 +- .../types/typescript/src/types.ts | 180 ++++++++++++++++++ .../src/simplex_chat/types/_types.py | 120 +++++++++++- .../SQLite/Migrations/chat_query_plans.txt | 2 +- 5 files changed, 403 insertions(+), 3 deletions(-) diff --git a/bots/api/TYPES.md b/bots/api/TYPES.md index 1fcec37e57..e79f8638ad 100644 --- a/bots/api/TYPES.md +++ b/bots/api/TYPES.md @@ -14,6 +14,8 @@ This file is generated automatically. - [AutoAccept](#autoaccept) - [BadgeInfo](#badgeinfo) - [BadgeProof](#badgeproof) +- [BadgeRedeemError](#badgeredeemerror) +- [BadgeServiceErrorCode](#badgeserviceerrorcode) - [BadgeStatus](#badgestatus) - [BadgeType](#badgetype) - [BlockingInfo](#blockinginfo) @@ -433,6 +435,98 @@ Remote controller app version range (min and max as version strings). - badgeInfo: [BadgeInfo](#badgeinfo) +--- + +## BadgeRedeemError + +**Discriminated union type**: + +InvalidCode: +- type: "invalidCode" + +ServiceNotConfigured: +- type: "serviceNotConfigured" + +BadgeActive: +- type: "badgeActive" + +ServiceError: +- type: "serviceError" +- serviceError: [BadgeServiceErrorCode](#badgeserviceerrorcode) + +InvalidResponse: +- type: "invalidResponse" +- message: string + +UnknownKeyIndex: +- type: "unknownKeyIndex" + +CredentialNotVerified: +- type: "credentialNotVerified" + + +--- + +## BadgeServiceErrorCode + +**Discriminated union type**: + +BadRequest: +- type: "badRequest" + +UnsupportedVersion: +- type: "unsupportedVersion" + +UnknownPurchaseKey: +- type: "unknownPurchaseKey" + +UnknownOfferId: +- type: "unknownOfferId" + +OfferDisabled: +- type: "offerDisabled" + +OfferMismatch: +- type: "offerMismatch" + +ProductUnavailable: +- type: "productUnavailable" + +PaymentNotEntitled: +- type: "paymentNotEntitled" + +PaymentPending: +- type: "paymentPending" + +ProviderUnavailable: +- type: "providerUnavailable" + +RateLimited: +- type: "rateLimited" + +CodeInvalid: +- type: "codeInvalid" + +CodeUsed: +- type: "codeUsed" + +CodeExpired: +- type: "codeExpired" + +ReceiptInvalid: +- type: "receiptInvalid" + +ReceiptUsed: +- type: "receiptUsed" + +Internal: +- type: "internal" + +Unknown: +- type: "unknown" +- : string + + --- ## BadgeStatus @@ -1361,6 +1455,10 @@ CommandError: - type: "commandError" - message: string +BadgeRedeemError: +- type: "badgeRedeemError" +- badgeRedeemError: [BadgeRedeemError](#badgeredeemerror) + AgentCommandError: - type: "agentCommandError" - message: string diff --git a/bots/src/API/Docs/Types.hs b/bots/src/API/Docs/Types.hs index 06d3903600..70777afa21 100644 --- a/bots/src/API/Docs/Types.hs +++ b/bots/src/API/Docs/Types.hs @@ -35,6 +35,7 @@ import Simplex.Chat.Store.Shared import Simplex.Chat.Operators import Simplex.Messaging.Agent.Store.Entity (DBStored (..)) import Simplex.Chat.Badges +import Simplex.Chat.Badges.Service import Simplex.Chat.Names import Simplex.Chat.Types import Simplex.Chat.Types.Preferences @@ -49,7 +50,6 @@ import Simplex.Messaging.Parsers (dropPrefix, fstToLower) import Simplex.Messaging.Protocol (BlockingInfo (..), BlockingReason (..), CommandError (..), ErrorType (..), NameErrorType (..), NetworkError (..), ProxyError (..)) import Simplex.Messaging.Protocol.Types (ClientNotice (..)) import Simplex.Messaging.Transport -import Simplex.Chat.Remote.AppVersion (AppVersion, AppVersionRange) import Simplex.Chat.Remote.Types (CtrlAppInfo (..)) import Simplex.RemoteControl.Types import System.Console.ANSI.Types (Color (..)) @@ -216,6 +216,8 @@ chatTypesDocsData = (STI "AppVersionRange" [RecordTypeInfo "AppVersionRange" [FieldInfo "minVersion" (TIType (ST TString [])), FieldInfo "maxVersion" (TIType (ST TString []))]], STRecord, "", [], "", "Remote controller app version range (min and max as version strings)."), (sti @AutoAccept, STRecord, "", [], "", ""), (sti @BadgeProof, STRecord, "", [], "", ""), + (sti @BadgeRedeemError, STUnion, "BRE", [], "", ""), + (sti @BadgeServiceErrorCode, STUnion, "BSE", [], "", ""), (sti @BlockingInfo, STRecord, "", [], "", ""), (sti @BlockingReason, STEnum, "BR", [], "", ""), (sti @BrokerErrorType, STUnion, "", [], "", ""), @@ -450,6 +452,8 @@ deriving instance Generic AgentErrorType deriving instance Generic AgentServiceError deriving instance Generic AutoAccept deriving instance Generic BadgeProof +deriving instance Generic BadgeRedeemError +deriving instance Generic BadgeServiceErrorCode deriving instance Generic BlockingInfo deriving instance Generic BlockingReason deriving instance Generic BrokerErrorType diff --git a/packages/simplex-chat-client/types/typescript/src/types.ts b/packages/simplex-chat-client/types/typescript/src/types.ts index eff59d5c8f..170f5c5504 100644 --- a/packages/simplex-chat-client/types/typescript/src/types.ts +++ b/packages/simplex-chat-client/types/typescript/src/types.ts @@ -247,6 +247,179 @@ export interface BadgeProof { badgeInfo: BadgeInfo } +export type BadgeRedeemError = + | BadgeRedeemError.InvalidCode + | BadgeRedeemError.ServiceNotConfigured + | BadgeRedeemError.BadgeActive + | BadgeRedeemError.ServiceError + | BadgeRedeemError.InvalidResponse + | BadgeRedeemError.UnknownKeyIndex + | BadgeRedeemError.CredentialNotVerified + +export namespace BadgeRedeemError { + export type Tag = + | "invalidCode" + | "serviceNotConfigured" + | "badgeActive" + | "serviceError" + | "invalidResponse" + | "unknownKeyIndex" + | "credentialNotVerified" + + interface Interface { + type: Tag + } + + export interface InvalidCode extends Interface { + type: "invalidCode" + } + + export interface ServiceNotConfigured extends Interface { + type: "serviceNotConfigured" + } + + export interface BadgeActive extends Interface { + type: "badgeActive" + } + + export interface ServiceError extends Interface { + type: "serviceError" + serviceError: BadgeServiceErrorCode + } + + export interface InvalidResponse extends Interface { + type: "invalidResponse" + message: string + } + + export interface UnknownKeyIndex extends Interface { + type: "unknownKeyIndex" + } + + export interface CredentialNotVerified extends Interface { + type: "credentialNotVerified" + } +} + +export type BadgeServiceErrorCode = + | BadgeServiceErrorCode.BadRequest + | BadgeServiceErrorCode.UnsupportedVersion + | BadgeServiceErrorCode.UnknownPurchaseKey + | BadgeServiceErrorCode.UnknownOfferId + | BadgeServiceErrorCode.OfferDisabled + | BadgeServiceErrorCode.OfferMismatch + | BadgeServiceErrorCode.ProductUnavailable + | BadgeServiceErrorCode.PaymentNotEntitled + | BadgeServiceErrorCode.PaymentPending + | BadgeServiceErrorCode.ProviderUnavailable + | BadgeServiceErrorCode.RateLimited + | BadgeServiceErrorCode.CodeInvalid + | BadgeServiceErrorCode.CodeUsed + | BadgeServiceErrorCode.CodeExpired + | BadgeServiceErrorCode.ReceiptInvalid + | BadgeServiceErrorCode.ReceiptUsed + | BadgeServiceErrorCode.Internal + | BadgeServiceErrorCode.Unknown + +export namespace BadgeServiceErrorCode { + export type Tag = + | "badRequest" + | "unsupportedVersion" + | "unknownPurchaseKey" + | "unknownOfferId" + | "offerDisabled" + | "offerMismatch" + | "productUnavailable" + | "paymentNotEntitled" + | "paymentPending" + | "providerUnavailable" + | "rateLimited" + | "codeInvalid" + | "codeUsed" + | "codeExpired" + | "receiptInvalid" + | "receiptUsed" + | "internal" + | "unknown" + + interface Interface { + type: Tag + } + + export interface BadRequest extends Interface { + type: "badRequest" + } + + export interface UnsupportedVersion extends Interface { + type: "unsupportedVersion" + } + + export interface UnknownPurchaseKey extends Interface { + type: "unknownPurchaseKey" + } + + export interface UnknownOfferId extends Interface { + type: "unknownOfferId" + } + + export interface OfferDisabled extends Interface { + type: "offerDisabled" + } + + export interface OfferMismatch extends Interface { + type: "offerMismatch" + } + + export interface ProductUnavailable extends Interface { + type: "productUnavailable" + } + + export interface PaymentNotEntitled extends Interface { + type: "paymentNotEntitled" + } + + export interface PaymentPending extends Interface { + type: "paymentPending" + } + + export interface ProviderUnavailable extends Interface { + type: "providerUnavailable" + } + + export interface RateLimited extends Interface { + type: "rateLimited" + } + + export interface CodeInvalid extends Interface { + type: "codeInvalid" + } + + export interface CodeUsed extends Interface { + type: "codeUsed" + } + + export interface CodeExpired extends Interface { + type: "codeExpired" + } + + export interface ReceiptInvalid extends Interface { + type: "receiptInvalid" + } + + export interface ReceiptUsed extends Interface { + type: "receiptUsed" + } + + export interface Internal extends Interface { + type: "internal" + } + + export interface Unknown extends Interface { + type: "unknown" + : string + } +} + export enum BadgeStatus { Active = "active", Expired = "expired", @@ -1153,6 +1326,7 @@ export type ChatErrorType = | ChatErrorType.AgentVersion | ChatErrorType.AgentNoSubResult | ChatErrorType.CommandError + | ChatErrorType.BadgeRedeemError | ChatErrorType.AgentCommandError | ChatErrorType.InvalidFileDescription | ChatErrorType.ConnectionIncognitoChangeProhibited @@ -1232,6 +1406,7 @@ export namespace ChatErrorType { | "agentVersion" | "agentNoSubResult" | "commandError" + | "badgeRedeemError" | "agentCommandError" | "invalidFileDescription" | "connectionIncognitoChangeProhibited" @@ -1576,6 +1751,11 @@ export namespace ChatErrorType { message: string } + export interface BadgeRedeemError extends Interface { + type: "badgeRedeemError" + badgeRedeemError: BadgeRedeemError + } + export interface AgentCommandError extends Interface { type: "agentCommandError" message: string diff --git a/packages/simplex-chat-python/src/simplex_chat/types/_types.py b/packages/simplex-chat-python/src/simplex_chat/types/_types.py index 15cdc842a0..38e0318af1 100644 --- a/packages/simplex-chat-python/src/simplex_chat/types/_types.py +++ b/packages/simplex-chat-python/src/simplex_chat/types/_types.py @@ -185,6 +185,119 @@ class BadgeProof(TypedDict): proof: str badgeInfo: "BadgeInfo" +class BadgeRedeemError_invalidCode(TypedDict): + type: Literal["invalidCode"] + +class BadgeRedeemError_serviceNotConfigured(TypedDict): + type: Literal["serviceNotConfigured"] + +class BadgeRedeemError_badgeActive(TypedDict): + type: Literal["badgeActive"] + +class BadgeRedeemError_serviceError(TypedDict): + type: Literal["serviceError"] + serviceError: "BadgeServiceErrorCode" + +class BadgeRedeemError_invalidResponse(TypedDict): + type: Literal["invalidResponse"] + message: str + +class BadgeRedeemError_unknownKeyIndex(TypedDict): + type: Literal["unknownKeyIndex"] + +class BadgeRedeemError_credentialNotVerified(TypedDict): + type: Literal["credentialNotVerified"] + +BadgeRedeemError = ( + BadgeRedeemError_invalidCode + | BadgeRedeemError_serviceNotConfigured + | BadgeRedeemError_badgeActive + | BadgeRedeemError_serviceError + | BadgeRedeemError_invalidResponse + | BadgeRedeemError_unknownKeyIndex + | BadgeRedeemError_credentialNotVerified +) + +BadgeRedeemError_Tag = Literal["invalidCode", "serviceNotConfigured", "badgeActive", "serviceError", "invalidResponse", "unknownKeyIndex", "credentialNotVerified"] + +class BadgeServiceErrorCode_badRequest(TypedDict): + type: Literal["badRequest"] + +class BadgeServiceErrorCode_unsupportedVersion(TypedDict): + type: Literal["unsupportedVersion"] + +class BadgeServiceErrorCode_unknownPurchaseKey(TypedDict): + type: Literal["unknownPurchaseKey"] + +class BadgeServiceErrorCode_unknownOfferId(TypedDict): + type: Literal["unknownOfferId"] + +class BadgeServiceErrorCode_offerDisabled(TypedDict): + type: Literal["offerDisabled"] + +class BadgeServiceErrorCode_offerMismatch(TypedDict): + type: Literal["offerMismatch"] + +class BadgeServiceErrorCode_productUnavailable(TypedDict): + type: Literal["productUnavailable"] + +class BadgeServiceErrorCode_paymentNotEntitled(TypedDict): + type: Literal["paymentNotEntitled"] + +class BadgeServiceErrorCode_paymentPending(TypedDict): + type: Literal["paymentPending"] + +class BadgeServiceErrorCode_providerUnavailable(TypedDict): + type: Literal["providerUnavailable"] + +class BadgeServiceErrorCode_rateLimited(TypedDict): + type: Literal["rateLimited"] + +class BadgeServiceErrorCode_codeInvalid(TypedDict): + type: Literal["codeInvalid"] + +class BadgeServiceErrorCode_codeUsed(TypedDict): + type: Literal["codeUsed"] + +class BadgeServiceErrorCode_codeExpired(TypedDict): + type: Literal["codeExpired"] + +class BadgeServiceErrorCode_receiptInvalid(TypedDict): + type: Literal["receiptInvalid"] + +class BadgeServiceErrorCode_receiptUsed(TypedDict): + type: Literal["receiptUsed"] + +class BadgeServiceErrorCode_internal(TypedDict): + type: Literal["internal"] + +class BadgeServiceErrorCode_unknown(TypedDict): + type: Literal["unknown"] + : str + +BadgeServiceErrorCode = ( + BadgeServiceErrorCode_badRequest + | BadgeServiceErrorCode_unsupportedVersion + | BadgeServiceErrorCode_unknownPurchaseKey + | BadgeServiceErrorCode_unknownOfferId + | BadgeServiceErrorCode_offerDisabled + | BadgeServiceErrorCode_offerMismatch + | BadgeServiceErrorCode_productUnavailable + | BadgeServiceErrorCode_paymentNotEntitled + | BadgeServiceErrorCode_paymentPending + | BadgeServiceErrorCode_providerUnavailable + | BadgeServiceErrorCode_rateLimited + | BadgeServiceErrorCode_codeInvalid + | BadgeServiceErrorCode_codeUsed + | BadgeServiceErrorCode_codeExpired + | BadgeServiceErrorCode_receiptInvalid + | BadgeServiceErrorCode_receiptUsed + | BadgeServiceErrorCode_internal + | BadgeServiceErrorCode_unknown +) + +BadgeServiceErrorCode_Tag = Literal["badRequest", "unsupportedVersion", "unknownPurchaseKey", "unknownOfferId", "offerDisabled", "offerMismatch", "productUnavailable", "paymentNotEntitled", "paymentPending", "providerUnavailable", "rateLimited", "codeInvalid", "codeUsed", "codeExpired", "receiptInvalid", "receiptUsed", "internal", "unknown"] + BadgeStatus = Literal["active", "expired", "expiredOld", "failed", "unknownKey"] BadgeType = Literal["supporter", "legend", "investor"] @@ -1029,6 +1142,10 @@ class ChatErrorType_commandError(TypedDict): type: Literal["commandError"] message: str +class ChatErrorType_badgeRedeemError(TypedDict): + type: Literal["badgeRedeemError"] + badgeRedeemError: "BadgeRedeemError" + class ChatErrorType_agentCommandError(TypedDict): type: Literal["agentCommandError"] message: str @@ -1127,6 +1244,7 @@ ChatErrorType = ( | ChatErrorType_agentVersion | ChatErrorType_agentNoSubResult | ChatErrorType_commandError + | ChatErrorType_badgeRedeemError | ChatErrorType_agentCommandError | ChatErrorType_invalidFileDescription | ChatErrorType_connectionIncognitoChangeProhibited @@ -1137,7 +1255,7 @@ ChatErrorType = ( | ChatErrorType_exception ) -ChatErrorType_Tag = Literal["noActiveUser", "noConnectionUser", "noSndFileUser", "noRcvFileUser", "userUnknown", "userExists", "chatRelayExists", "differentActiveUser", "cantDeleteActiveUser", "cantDeleteLastUser", "cantHideLastUser", "hiddenUserAlwaysMuted", "emptyUserPassword", "userAlreadyHidden", "userNotHidden", "invalidDisplayName", "chatNotStarted", "chatNotStopped", "chatStoreChanged", "invalidConnReq", "simplexDomainNotReady", "notResolvedLocally", "unsupportedConnReq", "connReqMessageProhibited", "contactNotReady", "contactNotActive", "contactDisabled", "connectionDisabled", "groupUserRole", "groupMemberInitialRole", "contactIncognitoCantInvite", "groupIncognitoCantInvite", "groupContactRole", "groupDuplicateMember", "groupDuplicateMemberId", "groupNotJoined", "groupMemberNotActive", "cantBlockMemberForSelf", "groupMemberUserRemoved", "groupMemberNotFound", "groupCantResendInvitation", "groupInternal", "fileNotFound", "fileSize", "fileAlreadyReceiving", "fileCancelled", "fileCancel", "fileAlreadyExists", "fileWrite", "fileSend", "fileRcvChunk", "fileInternal", "fileImageType", "fileImageSize", "fileNotReceived", "fileNotApproved", "fallbackToSMPProhibited", "inlineFileProhibited", "invalidForward", "invalidChatItemUpdate", "invalidChatItemDelete", "hasCurrentCall", "noCurrentCall", "callContact", "directMessagesProhibited", "agentVersion", "agentNoSubResult", "commandError", "agentCommandError", "invalidFileDescription", "connectionIncognitoChangeProhibited", "connectionUserChangeProhibited", "peerChatVRangeIncompatible", "relayTestError", "internalError", "exception"] +ChatErrorType_Tag = Literal["noActiveUser", "noConnectionUser", "noSndFileUser", "noRcvFileUser", "userUnknown", "userExists", "chatRelayExists", "differentActiveUser", "cantDeleteActiveUser", "cantDeleteLastUser", "cantHideLastUser", "hiddenUserAlwaysMuted", "emptyUserPassword", "userAlreadyHidden", "userNotHidden", "invalidDisplayName", "chatNotStarted", "chatNotStopped", "chatStoreChanged", "invalidConnReq", "simplexDomainNotReady", "notResolvedLocally", "unsupportedConnReq", "connReqMessageProhibited", "contactNotReady", "contactNotActive", "contactDisabled", "connectionDisabled", "groupUserRole", "groupMemberInitialRole", "contactIncognitoCantInvite", "groupIncognitoCantInvite", "groupContactRole", "groupDuplicateMember", "groupDuplicateMemberId", "groupNotJoined", "groupMemberNotActive", "cantBlockMemberForSelf", "groupMemberUserRemoved", "groupMemberNotFound", "groupCantResendInvitation", "groupInternal", "fileNotFound", "fileSize", "fileAlreadyReceiving", "fileCancelled", "fileCancel", "fileAlreadyExists", "fileWrite", "fileSend", "fileRcvChunk", "fileInternal", "fileImageType", "fileImageSize", "fileNotReceived", "fileNotApproved", "fallbackToSMPProhibited", "inlineFileProhibited", "invalidForward", "invalidChatItemUpdate", "invalidChatItemDelete", "hasCurrentCall", "noCurrentCall", "callContact", "directMessagesProhibited", "agentVersion", "agentNoSubResult", "commandError", "badgeRedeemError", "agentCommandError", "invalidFileDescription", "connectionIncognitoChangeProhibited", "connectionUserChangeProhibited", "peerChatVRangeIncompatible", "relayTestError", "internalError", "exception"] ChatFeature = Literal["timedMessages", "fullDelete", "reactions", "voice", "files", "calls", "sessions"] diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt b/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt index 6726d2ffaf..10cf2b93c2 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt +++ b/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt @@ -7723,7 +7723,7 @@ Query: SELECT xgrplinkmem_received FROM group_members WHERE group_member_id = ? Plan: SEARCH group_members USING INTEGER PRIMARY KEY (rowid=?) -Query: UPDATE badge_purchases SET alert_acked_kind = ?, alert_acked_episode = ?, alert_snooze_until = ? WHERE badge_purchase_id = ? +Query: UPDATE badge_purchases SET alert_acked_kind = ?, alert_acked_episode = ?, alert_snooze_until = ? WHERE badge_purchase_id = ? AND user_id = ? Plan: SEARCH badge_purchases USING INTEGER PRIMARY KEY (rowid=?)