diff --git a/src/db/migrations.ts b/src/db.ts similarity index 50% rename from src/db/migrations.ts rename to src/db.ts index 282ea40..4a29c7a 100644 --- a/src/db/migrations.ts +++ b/src/db.ts @@ -1,8 +1,46 @@ -import type { Kysely, Migration, MigrationProvider } from 'kysely' +import SqliteDb from 'better-sqlite3' +import { + Kysely, + Migrator, + SqliteDialect, + Migration, + MigrationProvider, +} from 'kysely' + +// Types + +export type DatabaseSchema = { + status: Status + auth_session: AuthSession + auth_state: AuthState +} + +export type Status = { + authorDid: string + status: string + updatedAt: string + indexedAt: string +} + +export type AuthSession = { + key: string + session: AuthSessionJson +} + +export type AuthState = { + key: string + state: AuthStateJson +} + +type AuthStateJson = string + +type AuthSessionJson = string + +// Migrations const migrations: Record = {} -export const migrationProvider: MigrationProvider = { +const migrationProvider: MigrationProvider = { async getMigrations() { return migrations }, @@ -34,3 +72,21 @@ migrations['001'] = { await db.schema.dropTable('status').execute() }, } + +// APIs + +export const createDb = (location: string): Database => { + return new Kysely({ + dialect: new SqliteDialect({ + database: new SqliteDb(location), + }), + }) +} + +export const migrateToLatest = async (db: Database) => { + const migrator = new Migrator({ db, provider: migrationProvider }) + const { error } = await migrator.migrateToLatest() + if (error) throw error +} + +export type Database = Kysely diff --git a/src/db/index.ts b/src/db/index.ts deleted file mode 100644 index ca3c9b8..0000000 --- a/src/db/index.ts +++ /dev/null @@ -1,20 +0,0 @@ -import SqliteDb from 'better-sqlite3' -import { Kysely, Migrator, SqliteDialect } from 'kysely' -import { migrationProvider } from './migrations' -import type { DatabaseSchema } from './schema' - -export const createDb = (location: string): Database => { - return new Kysely({ - dialect: new SqliteDialect({ - database: new SqliteDb(location), - }), - }) -} - -export const migrateToLatest = async (db: Database) => { - const migrator = new Migrator({ db, provider: migrationProvider }) - const { error } = await migrator.migrateToLatest() - if (error) throw error -} - -export type Database = Kysely diff --git a/src/db/schema.ts b/src/db/schema.ts deleted file mode 100644 index f4a9eff..0000000 --- a/src/db/schema.ts +++ /dev/null @@ -1,26 +0,0 @@ -export type DatabaseSchema = { - status: Status - auth_session: AuthSession - auth_state: AuthState -} - -export type Status = { - authorDid: string - status: string - updatedAt: string - indexedAt: string -} - -export type AuthSession = { - key: string - session: AuthSessionJson -} - -export type AuthState = { - key: string - state: AuthStateJson -} - -type AuthStateJson = string - -type AuthSessionJson = string -- 2.51.2 From 854f28840982377b9715652efe156195c9afab86 Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Thu, 15 Aug 2024 18:47:48 -0700 Subject: [PATCH 02/20] Fold src/auth/session into src/routes --- src/auth/session.ts | 61 --------------------------------------------- src/routes.ts | 39 ++++++++++++++++++++++++++--- 2 files changed, 36 insertions(+), 64 deletions(-) delete mode 100644 src/auth/session.ts diff --git a/src/auth/session.ts b/src/auth/session.ts deleted file mode 100644 index 632479e..0000000 --- a/src/auth/session.ts +++ /dev/null @@ -1,61 +0,0 @@ -import assert from 'node:assert' -import type { IncomingMessage, ServerResponse } from 'node:http' -import { getIronSession } from 'iron-session' -import { env } from '#/lib/env' -import { AppContext } from '#/index' - -export type Session = { did: string } - -export async function createSession( - req: IncomingMessage, - res: ServerResponse, - did: string -) { - const session = await getSessionRaw(req, res) - assert(!session.did, 'session already exists') - session.did = did - await session.save() - return { did: session.did } -} - -export async function destroySession( - req: IncomingMessage, - res: ServerResponse -) { - const session = await getSessionRaw(req, res) - await session.destroy() - return null -} - -export async function getSession( - req: IncomingMessage, - res: ServerResponse -) { - const session = await getSessionRaw(req, res) - if (!session.did) return null - return { did: session.did } -} - -export async function getSessionAgent( - req: IncomingMessage, - res: ServerResponse, - ctx: AppContext -) { - const session = await getSessionRaw(req, res) - if (!session.did) return null - return await ctx.oauthClient.restore(session.did).catch(async (err) => { - ctx.logger.warn({ err }, 'oauth restore failed') - await destroySession(req, res) - return null - }) -} - -async function getSessionRaw( - req: IncomingMessage, - res: ServerResponse -) { - return await getIronSession(req, res, { - cookieName: 'sid', - password: env.COOKIE_SECRET, - }) -} diff --git a/src/routes.ts b/src/routes.ts index 6d70daa..960f556 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -1,14 +1,19 @@ +import assert from 'node:assert' import path from 'node:path' +import type { IncomingMessage, ServerResponse } from 'node:http' import { OAuthResolverError } from '@atproto/oauth-client-node' import { isValidHandle } from '@atproto/syntax' import express from 'express' -import { createSession, destroySession, getSessionAgent } from '#/auth/session' +import { getIronSession } from 'iron-session' import type { AppContext } from '#/index' import { home } from '#/pages/home' import { login } from '#/pages/login' +import { env } from '#/lib/env' import { page } from '#/lib/view' import * as Status from '#/lexicon/types/com/example/status' +type Session = { did: string } + // Helper function for defining routes const handler = (fn: express.Handler) => @@ -24,6 +29,24 @@ const handler = } } +// Helper function to get the Atproto Agent for the active session +async function getSessionAgent( + req: IncomingMessage, + res: ServerResponse, + ctx: AppContext +) { + const session = await getIronSession(req, res, { + cookieName: 'sid', + password: env.COOKIE_SECRET, + }) + if (!session.did) return null + return await ctx.oauthClient.restore(session.did).catch(async (err) => { + ctx.logger.warn({ err }, 'oauth restore failed') + await session.destroy() + return null + }) +} + export const createRouter = (ctx: AppContext) => { const router = express.Router() @@ -45,7 +68,13 @@ export const createRouter = (ctx: AppContext) => { const params = new URLSearchParams(req.originalUrl.split('?')[1]) try { const { agent } = await ctx.oauthClient.callback(params) - await createSession(req, res, agent.accountDid) + const session = await getIronSession(req, res, { + cookieName: 'sid', + password: env.COOKIE_SECRET, + }) + assert(!session.did, 'session already exists') + session.did = agent.accountDid + await session.save() } catch (err) { ctx.logger.error({ err }, 'oauth callback failed') return res.redirect('/?error') @@ -96,7 +125,11 @@ export const createRouter = (ctx: AppContext) => { router.post( '/logout', handler(async (req, res) => { - await destroySession(req, res) + const session = await getIronSession(req, res, { + cookieName: 'sid', + password: env.COOKIE_SECRET, + }) + await session.destroy() return res.redirect('/') }) ) -- 2.51.2 From fcc7fe612aa6c894186dcef1eac7b2f057c7283c Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Fri, 16 Aug 2024 14:15:28 -0700 Subject: [PATCH 03/20] Read profile record directly --- lexicons/profile.json | 49 +++++++++++++++++ src/lexicon/index.ts | 30 +++++++++++ src/lexicon/lexicons.ts | 60 ++++++++++++++++++++- src/lexicon/types/app/bsky/actor/profile.ts | 38 +++++++++++++ src/pages/home.ts | 8 +-- src/routes.ts | 26 ++++++--- 6 files changed, 200 insertions(+), 11 deletions(-) create mode 100644 lexicons/profile.json create mode 100644 src/lexicon/types/app/bsky/actor/profile.ts diff --git a/lexicons/profile.json b/lexicons/profile.json new file mode 100644 index 0000000..4363a02 --- /dev/null +++ b/lexicons/profile.json @@ -0,0 +1,49 @@ +{ + "lexicon": 1, + "id": "app.bsky.actor.profile", + "defs": { + "main": { + "type": "record", + "description": "A declaration of a Bluesky account profile.", + "key": "literal:self", + "record": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "maxGraphemes": 64, + "maxLength": 640 + }, + "description": { + "type": "string", + "description": "Free-form profile description text.", + "maxGraphemes": 256, + "maxLength": 2560 + }, + "avatar": { + "type": "blob", + "description": "Small image to be displayed next to posts from account. AKA, 'profile picture'", + "accept": ["image/png", "image/jpeg"], + "maxSize": 1000000 + }, + "banner": { + "type": "blob", + "description": "Larger horizontal image to display behind profile view.", + "accept": ["image/png", "image/jpeg"], + "maxSize": 1000000 + }, + "labels": { + "type": "union", + "description": "Self-label values, specific to the Bluesky application, on the overall account.", + "refs": ["com.atproto.label.defs#selfLabels"] + }, + "joinedViaStarterPack": { + "type": "ref", + "ref": "com.atproto.repo.strongRef" + }, + "createdAt": { "type": "string", "format": "datetime" } + } + } + } + } +} diff --git a/src/lexicon/index.ts b/src/lexicon/index.ts index 3525ecc..250699c 100644 --- a/src/lexicon/index.ts +++ b/src/lexicon/index.ts @@ -16,14 +16,44 @@ export function createServer(options?: XrpcOptions): Server { export class Server { xrpc: XrpcServer + app: AppNS com: ComNS constructor(options?: XrpcOptions) { this.xrpc = createXrpcServer(schemas, options) + this.app = new AppNS(this) this.com = new ComNS(this) } } +export class AppNS { + _server: Server + bsky: AppBskyNS + + constructor(server: Server) { + this._server = server + this.bsky = new AppBskyNS(server) + } +} + +export class AppBskyNS { + _server: Server + actor: AppBskyActorNS + + constructor(server: Server) { + this._server = server + this.actor = new AppBskyActorNS(server) + } +} + +export class AppBskyActorNS { + _server: Server + + constructor(server: Server) { + this._server = server + } +} + export class ComNS { _server: Server example: ComExampleNS diff --git a/src/lexicon/lexicons.ts b/src/lexicon/lexicons.ts index 34678ba..c93e335 100644 --- a/src/lexicon/lexicons.ts +++ b/src/lexicon/lexicons.ts @@ -4,6 +4,61 @@ import { LexiconDoc, Lexicons } from '@atproto/lexicon' export const schemaDict = { + AppBskyActorProfile: { + lexicon: 1, + id: 'app.bsky.actor.profile', + defs: { + main: { + type: 'record', + description: 'A declaration of a Bluesky account profile.', + key: 'literal:self', + record: { + type: 'object', + properties: { + displayName: { + type: 'string', + maxGraphemes: 64, + maxLength: 640, + }, + description: { + type: 'string', + description: 'Free-form profile description text.', + maxGraphemes: 256, + maxLength: 2560, + }, + avatar: { + type: 'blob', + description: + "Small image to be displayed next to posts from account. AKA, 'profile picture'", + accept: ['image/png', 'image/jpeg'], + maxSize: 1000000, + }, + banner: { + type: 'blob', + description: + 'Larger horizontal image to display behind profile view.', + accept: ['image/png', 'image/jpeg'], + maxSize: 1000000, + }, + labels: { + type: 'union', + description: + 'Self-label values, specific to the Bluesky application, on the overall account.', + refs: ['lex:com.atproto.label.defs#selfLabels'], + }, + joinedViaStarterPack: { + type: 'ref', + ref: 'lex:com.atproto.repo.strongRef', + }, + createdAt: { + type: 'string', + format: 'datetime', + }, + }, + }, + }, + }, + }, ComExampleStatus: { lexicon: 1, id: 'com.example.status', @@ -33,4 +88,7 @@ export const schemaDict = { } export const schemas: LexiconDoc[] = Object.values(schemaDict) as LexiconDoc[] export const lexicons: Lexicons = new Lexicons(schemas) -export const ids = { ComExampleStatus: 'com.example.status' } +export const ids = { + AppBskyActorProfile: 'app.bsky.actor.profile', + ComExampleStatus: 'com.example.status', +} diff --git a/src/lexicon/types/app/bsky/actor/profile.ts b/src/lexicon/types/app/bsky/actor/profile.ts new file mode 100644 index 0000000..9fd9b73 --- /dev/null +++ b/src/lexicon/types/app/bsky/actor/profile.ts @@ -0,0 +1,38 @@ +/** + * GENERATED CODE - DO NOT MODIFY + */ +import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { lexicons } from '../../../../lexicons' +import { isObj, hasProp } from '../../../../util' +import { CID } from 'multiformats/cid' +import * as ComAtprotoLabelDefs from '../../../com/atproto/label/defs' +import * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef' + +export interface Record { + displayName?: string + /** Free-form profile description text. */ + description?: string + /** Small image to be displayed next to posts from account. AKA, 'profile picture' */ + avatar?: BlobRef + /** Larger horizontal image to display behind profile view. */ + banner?: BlobRef + labels?: + | ComAtprotoLabelDefs.SelfLabels + | { $type: string; [k: string]: unknown } + joinedViaStarterPack?: ComAtprotoRepoStrongRef.Main + createdAt?: string + [k: string]: unknown +} + +export function isRecord(v: unknown): v is Record { + return ( + isObj(v) && + hasProp(v, '$type') && + (v.$type === 'app.bsky.actor.profile#main' || + v.$type === 'app.bsky.actor.profile') + ) +} + +export function validateRecord(v: unknown): ValidationResult { + return lexicons.validate('app.bsky.actor.profile#main', v) +} diff --git a/src/pages/home.ts b/src/pages/home.ts index cb6144f..ffa9887 100644 --- a/src/pages/home.ts +++ b/src/pages/home.ts @@ -1,4 +1,4 @@ -import type { Status } from '#/db/schema' +import type { Status } from '#/db' import { html } from '../lib/view' import { shell } from './shell' @@ -37,7 +37,7 @@ const STATUS_OPTIONS = [ type Props = { statuses: Status[] didHandleMap: Record - profile?: { displayName?: string; handle: string } + profile?: { displayName?: string } myStatus?: Status } @@ -60,8 +60,8 @@ function content({ statuses, didHandleMap, profile, myStatus }: Props) { ${profile ? html`
- Hi, ${profile.displayName || profile.handle}. - what's your status today? + Hi, ${profile.displayName || 'friend'}. What's + your status today?
diff --git a/src/routes.ts b/src/routes.ts index 960f556..d90322d 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -11,6 +11,7 @@ import { login } from '#/pages/login' import { env } from '#/lib/env' import { page } from '#/lib/view' import * as Status from '#/lexicon/types/com/example/status' +import * as Profile from '#/lexicon/types/app/bsky/actor/profile' type Session = { did: string } @@ -167,15 +168,28 @@ export const createRouter = (ctx: AppContext) => { } // Fetch additional information about the logged-in user - const { data: profile } = await agent.getProfile({ - actor: agent.accountDid, + const { data: profileRecord } = await agent.com.atproto.repo.getRecord({ + repo: agent.accountDid, + collection: 'app.bsky.actor.profile', + rkey: 'self', }) - didHandleMap[profile.handle] = agent.accountDid + const profile = + Profile.isRecord(profileRecord.value) && + Profile.validateRecord(profileRecord.value).success + ? profileRecord.value + : {} // Serve the logged-in view - return res - .type('html') - .send(page(home({ statuses, didHandleMap, profile, myStatus }))) + return res.type('html').send( + page( + home({ + statuses, + didHandleMap, + profile, + myStatus, + }) + ) + ) }) ) -- 2.51.2 From 8bf48a52ce8d30ddb7e52d65838a09607d3672f9 Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Mon, 19 Aug 2024 17:22:56 -0700 Subject: [PATCH 04/20] Add TUTORIAL.md --- TUTORIAL.md | 769 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 769 insertions(+) create mode 100644 TUTORIAL.md diff --git a/TUTORIAL.md b/TUTORIAL.md new file mode 100644 index 0000000..57b9cb3 --- /dev/null +++ b/TUTORIAL.md @@ -0,0 +1,769 @@ +# Tutorial + +In this guide, we're going to build a **simple multi-user app** that publishes your current "status" as an emoji. + +At various points we will cover how to: + +- Signin via OAuth +- Fetch information about users (profiles) +- Listen to the network firehose for new data +- Publish data on the user's account using a custom schema + +We're going to keep this light so you can quickly wrap your head around ATProto. There will be links with more information about each step. + +## Where are we going? + +Data in the Atmosphere is stored on users' personal repos. It's almost like each user has their own website. Our goal is to aggregate data from the users into our SQLite DB. + +Think of our app like a Google. If Google's job was to say which emoji each website had under `/status.json`, then it would show something like: + +- `nytimes.com` is feeling πŸ“° according to `https://nytimes.com/status.json` +- `bsky.app` is feeling πŸ¦‹ according to `https://bsky.app/status.json` +- `reddit.com` is feeling πŸ€“ according to `https://reddit.com/status.json` + +The Atmosphere works the same way, except we're going to check `at://` instead of `https://`. Each user has a data repo under an `at://` URL. We'll crawl all the `at://`s in the Atmosphere for all the `/status.json` records and aggregate them into our SQLite database. + +## Step 1. Starting with our ExpressJS app + +Start by cloning the repo and installing packages. + +```bash +git clone TODO +cd TODO +npm i +npm run dev # you can leave this running and it will auto-reload +``` + +Our repo is a regular Web app. We're rendering our HTML server-side like it's 1999. We also have a SQLite database that we're managing with [Kysley](#todo). + +Our starting stack: + +- Typescript +- NodeJS web server ([express](#todo)) +- SQLite database ([Kysley](#todo)) +- Server-side rendering ([uhtml](#todo)) + +With each step we'll explain how our Web app taps into the Atmosphere. Refer to the codebase for more detailed code — again, this tutorial is going to keep it light and quick to digest. + +## Step 2. Signing in with OAuth + +When somebody logs into our app, they'll give us read & write access to their personal `at://` repo. We'll use that to write the `status.json` record. + +We're going to accomplish this using OAuth ([spec](#todo)). You can find a [more extensive OAuth guide here](#todo), but for now just know that most of the OAuth flows are going to be handled for us using the [@atproto/oauth-client-node](#todo) library. This is the arrangement we're aiming toward: + +``` + β”Œβ”€App Server───────────────────┐ + β”‚ β”Œβ”€β–Ί Session store ◄┐ β”‚ + β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” + β”‚ App code ──────►OAuth client─┼───►│ User's server β”‚ + β””β”€β”€β”€β”€β–²β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + β”Œβ”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” + β”‚ Web browser β”‚ + β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +When the user logs in, the OAuth client will create a new session with their repo server and give us read/write access along with basic user info. + +Our login page just asks the user for their "handle," which is the domain name associated with their account. For [Bluesky](https://bsky.app) users, these tend to look like `alice.bsky.social`, but they can be any kind of domain (eg `alice.com`). + +```html + + + + + +``` + +When they submit the form, we tell our OAuth client to initiate the authorization flow and then redirect the user to their server to complete the process. + +```typescript +/** src/routes.ts **/ +// Login handler +router.post( + '/login', + handler(async (req, res) => { + // Initiate the OAuth flow + const url = await oauthClient.authorize(handle) + return res.redirect(url.toString()) + }) +) +``` + +This is the same kind of SSO flow that Google or GitHub uses. The user will be asked for their password, then asked to confirm the session with your application. + +When that finishes, they'll be sent back to `/oauth/callback` on our Web app. The OAuth client stores the access tokens for the server, and then we attach their account's [DID](#todo) to their cookie-session. + +```typescript +/** src/routes.ts **/ +// OAuth callback to complete session creation +router.get( + '/oauth/callback', + handler(async (req, res) => { + // Store the credentials + const { agent } = await oauthClient.callback(params) + + // Attach the account DID to our user via a cookie + const session = await getIronSession(req, res) + session.did = agent.accountDid + await session.save() + + // Send them back to the app + return res.redirect('/') + }) +) +``` + +With that, we're in business! We now have a session with the user's `at://` repo server and can use that to access their data. + +## Step 3. Fetching the user's profile + +Why don't we learn something about our user? Let's start by getting the [Agent](#todo) object. The [Agent](#todo) is the client to the user's `at://` repo server. + +```typescript +/** src/routes.ts **/ +async function getSessionAgent( + req: IncomingMessage, + res: ServerResponse, + ctx: AppContext +) { + // Fetch the session from their cookie + const session = await getIronSession(req, res) + if (!session.did) return null + + // "Restore" the agent for the user + return await ctx.oauthClient.restore(session.did).catch(async (err) => { + ctx.logger.warn({ err }, 'oauth restore failed') + await session.destroy() + return null + }) +} +``` + +Users publish JSON records on their `at://` repos. In [Bluesky](https://bsky.app), they publish a "profile" record which looks like this: + +```typescript +interface ProfileRecord { + displayName?: string // a human friendly name + description?: string // a short bio + avatar?: BlobRef // small profile picture + banner?: BlobRef // banner image to put on profiles + createdAt?: string // declared time this profile data was added + // ... +} +``` + +We're going to use the [Agent](#todo) to fetch this record to include in our app. + +```typescript +/** src/routes.ts **/ +// Homepage +router.get( + '/', + handler(async (req, res) => { + // If the user is signed in, get an agent which communicates with their server + const agent = await getSessionAgent(req, res, ctx) + + if (!agent) { + // Serve the logged-out view + return res.type('html').send(page(home())) + } + + // Fetch additional information about the logged-in user + const { data: profileRecord } = await agent.getRecord({ + repo: agent.accountDid, // our user's repo + collection: 'app.bsky.actor.profile', // the bluesky profile record type + rkey: 'self', // the record's name + }) + + // Serve the logged-in view + return res + .type('html') + .send(page(home({ profile: profileRecord.value || {} }))) + }) +) +``` + +With that data, we can give a nice personalized welcome banner for our user: + +```html + +
+ ${profile + ? html`
+
+ Hi, ${profile.displayName || 'friend'}. + What's your status today? +
+
+ +
+
` + : html`
+
Log in to set your status!
+
+ Log in +
+
`} +
+``` + +## Step 4. Reading & writing records + +You can think of the user repositories as collections of JSON records: + +``` + β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” + β”Œβ”€β”€β”€| record β”‚ + β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + β”Œβ”€β”€β”€| collection |◄── β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” +β”Œβ”€β”€β”€β”€β”€β”€β” β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ └───| record β”‚ +β”‚ repo |◄─── β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +β””β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” + └──── collection |◄─────| record β”‚ + β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +Let's look again at how we read the "profile" record: + +```typescript +await agent.getRecord({ + repo: agent.accountDid, // The user + collection: 'app.bsky.actor.profile', // The collection + rkey: 'self', // The record name +}) +``` + +We write records using a similar API. Since our goal is to write "status" records, let's look at how that will happen: + +```typescript +await agent.putRecord({ + repo: agent.accountDid, // The user + collection: 'com.example.status', // The collection + rkey: 'self', // The record name + record: { // The record value + status: "πŸ‘", + updatedAt: new Date().toISOString() + } +}) +``` + +Our `POST /status` route is going to use this API to publish the user's status to their repo. + +```typescript +/** src/routes.ts **/ +// "Set status" handler +router.post( + '/status', + handler(async (req, res) => { + // If the user is signed in, get an agent which communicates with their server + const agent = await getSessionAgent(req, res, ctx) + if (!agent) { + return res.status(401).json({ error: 'Session required' }) + } + + // Construct their status record + const record = { + $type: 'com.example.status', + status: req.body?.status, + updatedAt: new Date().toISOString(), + } + + try { + // Write the status record to the user's repository + await agent.putRecord({ + repo: agent.accountDid, + collection: 'com.example.status', + rkey: 'self', + record, + }) + } catch (err) { + ctx.logger.warn({ err }, 'failed to write record') + return res.status(500).json({ error: 'Failed to write record' }) + } + + res.status(200).json({}) + }) +) +``` + +Now in our homepage we can list out the status buttons: + +```html + +
+ ${['πŸ‘', 'πŸ¦‹', 'πŸ₯³', /*...*/].map(status => html` +
+ ${status} +
` + )} +
+``` + +And write some client-side javascript to submit the status on click: + +```javascript +/* src/pages/public/home.js */ +Array.from(document.querySelectorAll('.status-option'), (el) => { + el.addEventListener('click', async (ev) => { + const res = await fetch('/status', { + method: 'POST', + headers: { 'content-type': 'application/json' }, + body: JSON.stringify({ status: el.dataset.value }), + }) + const body = await res.json() + if (!body?.error) { + location.reload() + } + }) +}) +``` + +## Step 5. Creating a custom "status" schema + +The collections are typed, meaning that they have a defined schema. The `app.bsky.actor.profile` type definition [can be found here](https://github.com/bluesky-social/atproto/blob/main/lexicons/app/bsky/actor/profile.json). + +Anybody can create a new schema using the [Lexicon](#todo) language, which is very similar to [JSON-Schema](#todo). The schemas use [reverse-DNS IDs](#todo) which indicate ownership, but for this demo app we're going to use `com.example` which is safe for non-production software. + +> ### Why create a schema? +> +> Schemas help other applications understand the data your app is creating. By publishing your schemas, you enable compatibility and reduce the chances of bad data affecting your app. + +Let's create our schema in the `/lexicons` folder of our codebase. You can [read more about how to define schemas here](#todo). + +```json +/* lexicons/status.json */ +{ + "lexicon": 1, + "id": "com.example.status", + "defs": { + "main": { + "type": "record", + "key": "literal:self", + "record": { + "type": "object", + "required": ["status", "updatedAt"], + "properties": { + "status": { + "type": "string", + "minLength": 1, + "maxGraphemes": 1, + "maxLength": 32 + }, + "updatedAt": { + "type": "string", + "format": "datetime" + } + } + } + } + } +} +``` + +Now let's run some code-generation using our schema: + +```bash +./node_modules/.bin/lex gen-server ./src/lexicon ./lexicons/* +``` + +This will produce Typescript interfaces as well as runtime validation functions that we can use in our `POST /status` route: + +```typescript +/** src/routes.ts **/ +import * as Status from '#/lexicon/types/com/example/status' +// ... +// "Set status" handler +router.post( + '/status', + handler(async (req, res) => { + // ... + + // Construct & validate their status record + const record = { + $type: 'com.example.status', + status: req.body?.status, + updatedAt: new Date().toISOString(), + } + if (!Status.validateRecord(record).success) { + return res.status(400).json({ error: 'Invalid status' }) + } + + // ... + }) +) +``` + +## Step 6. Listening to the firehose + +So far, we have: + +- Logged in via OAuth +- Created a custom schema +- Read & written records for the logged in user + +Now we want to fetch the status records from other users. + +Remember how we referred to our app as being like a Google, crawling around the repos to get their records? One advantage we have in the AT Protocol is that each repo publishes an event log of their updates. + +``` +β”Œβ”€β”€β”€β”€β”€β”€β” +β”‚ REPO β”‚ Event stream +β”œβ”€β”€β”€β”€β”€β”€β”˜ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”œβ”€β”€β”€β”Ό 1 PUT /com.example.status/self β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”œβ”€β”€β”€β”Ό 2 DEL /app.bsky.feed.post/3l244rmrxjx2v β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”œβ”€β”€β”€β”Ό 3 PUT /app.bsky.actor/self β”‚ +β–Ό β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +Using a [Relay service](#todo) we can listen to an aggregated firehose of these events across all users in the network. In our case what we're looking for are valid `com.example.status` records. + + +```typescript +/** src/firehose.ts **/ +import * as Status from '#/lexicon/types/com/example/status' +// ... +const firehose = new Firehose({}) + +for await (const evt of firehose.run()) { + // Watch for write events + if (evt.event === 'create' || evt.event === 'update') { + const record = evt.record + + // If the write is a valid status update + if ( + evt.collection === 'com.example.status' && + Status.isRecord(record) && + Status.validateRecord(record).success + ) { + // Store the status + // TODO + } + } +} +``` + +Let's create a SQLite table to store these statuses: + +```typescript +/** src/db.ts **/ +// Create our statuses table +await db.schema + .createTable('status') + .addColumn('authorDid', 'varchar', (col) => col.primaryKey()) + .addColumn('status', 'varchar', (col) => col.notNull()) + .addColumn('updatedAt', 'varchar', (col) => col.notNull()) + .addColumn('indexedAt', 'varchar', (col) => col.notNull()) + .execute() +``` + +Now we can write these statuses into our database as they arrive from the firehose: + +```typescript +/** src/firehose.ts **/ +// If the write is a valid status update +if ( + evt.collection === 'com.example.status' && + Status.isRecord(record) && + Status.validateRecord(record).success +) { + // Store the status in our SQLite + await db + .insertInto('status') + .values({ + authorDid: evt.author, + status: record.status, + updatedAt: record.updatedAt, + indexedAt: new Date().toISOString(), + }) + .onConflict((oc) => + oc.column('authorDid').doUpdateSet({ + status: record.status, + updatedAt: record.updatedAt, + indexedAt: new Date().toISOString(), + }) + ) + .execute() +} +``` + +You can almost think of information flowing in a loop: + +``` + β”Œβ”€β”€β”€β”€β”€Repo put─────┐ + β”‚ β–Ό +β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ App server β”‚ β”‚ User repo β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜ + β–² β”‚ + └────Event logβ”€β”€β”€β”€β”€β”˜ +``` + +Why read from the event log? Because there are other apps in the network that will write the records we're interested in. By subscribing to the event log, we ensure that we catch all the data we're interested in -- including data published by other apps. + +## Step 7. Listing the latest statuses + +Now that we have statuses populating our SQLite, we can produce a timeline of status updates by users. We also use a [DID](#todo)-to-handle resolver so we can show a nice username with the statuses: + +```typescript +/** src/routes.ts **/ +// Homepage +router.get( + '/', + handler(async (req, res) => { + // ... + + // Fetch data stored in our SQLite + const statuses = await db + .selectFrom('status') + .selectAll() + .orderBy('indexedAt', 'desc') + .limit(10) + .execute() + + // Map user DIDs to their domain-name handles + const didHandleMap = await resolver.resolveDidsToHandles( + statuses.map((s) => s.authorDid) + ) + + // ... + }) +) +``` + +Our HTML can now list these status records: + +```html + +${statuses.map((status, i) => { + const handle = didHandleMap[status.authorDid] || status.authorDid + const date = ts(status) + return html` +
+
+
${status.status}
+
+
+ @${handle} + was feeling ${status.status} on ${status.indexedAt}. +
+
+ ` +})} +``` + +## Step 8. Optimistic updates + +As a final optimization, let's introduce "optimistic updates." Remember the information flow loop with the repo write and the event log? Since we're updating our users' repos locally, we can short-circuit that flow to our own database: + +``` + β”Œβ”€β”€β”€Repo put──┬──────┐ + β”‚ β”‚ β–Ό +β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ App server β”‚β—„β”€β”€β”€β”€β”€β”€β”˜ β”‚ User repo β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜ + β–² β”‚ + └────Event logβ”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +This is an important optimization to make, because it ensures that the user sees their own changes while using your app. When the event eventually arrives from the firehose, we just discard it since we already have it saved locally. + +To do this, we just update `POST /status` to include an additional write to our SQLite DB: + +```typescript +/** src/routes.ts **/ +// "Set status" handler +router.post( + '/status', + handler(async (req, res) => { + // ... + + try { + // Write the status record to the user's repository + await agent.putRecord({ + repo: agent.accountDid, + collection: 'com.example.status', + rkey: 'self', + record, + }) + } catch (err) { + ctx.logger.warn({ err }, 'failed to write record') + return res.status(500).json({ error: 'Failed to write record' }) + } + + try { + // Optimistically update our SQLite <-- HERE! + await ctx.db + .insertInto('status') + .values({ + authorDid: agent.accountDid, + status: record.status, + updatedAt: record.updatedAt, + indexedAt: new Date().toISOString(), + }) + .onConflict((oc) => + oc.column('authorDid').doUpdateSet({ + status: record.status, + updatedAt: record.updatedAt, + indexedAt: new Date().toISOString(), + }) + ) + .execute() + } catch (err) { + ctx.logger.warn( + { err }, + 'failed to update computed view; ignoring as it should be caught by the firehose' + ) + } + + res.status(200).json({}) + }) +) +``` + +You'll notice this code looks almost exactly like what we're doing in `firehose.ts`. + +## Next steps + +TODO + + + +--- + +Let's create the client during the server init: + +```typescript +/** index.ts **/ +import { NodeOAuthClient } from '@atproto/oauth-client-node' + +// static async create() { +// ... + +const publicUrl = env.PUBLIC_URL +const url = publicUrl || `http://127.0.0.1:${env.PORT}` +const oauthClient = new NodeOAuthClient({ + clientMetadata: { + client_name: 'AT Protocol Express App', + client_id: publicUrl + ? `${url}/client-metadata.json` + : `http://localhost?redirect_uri=${encodeURIComponent(`${url}/oauth/callback`)}`, + client_uri: url, + redirect_uris: [`${url}/oauth/callback`], + scope: 'profile offline_access', + grant_types: ['authorization_code', 'refresh_token'], + response_types: ['code'], + application_type: 'web', + token_endpoint_auth_method: 'none', + dpop_bound_access_tokens: true, + }, + stateStore: new StateStore(db), + sessionStore: new SessionStore(db), +}) + +// ... +// } +``` + +There's quite a bit of configuration which is [explained in the OAuth guide](#todo). We host that config at `/client-metadata.json` as part of the OAuth flow. + +```typescript +/** src/routes.ts **/ + +// OAuth metadata +router.get( + '/client-metadata.json', + handler((_req, res) => { + return res.json(oauthClient.clientMetadata) + }) +) +``` + +--- + + + +We're going to need to track two kinds of information: + +- **OAuth State**. This is information about login flows that are in-progress. +- **OAuth Sessions**. This is the active session data. + +The `oauth-client-node` library handles most of this for us, but we need to create some tables in our SQLite to store it. Let's update `/src/db.ts` for this. + +```typescript +// ... +// Types + +export type DatabaseSchema = { + auth_session: AuthSession + auth_state: AuthState +} + +export type AuthSession = { + key: string + session: string // JSON +} + +export type AuthState = { + key: string + state: string // JSON +} + +// Migrations + +migrations['001'] = { + async up(db: Kysely) { + await db.schema + .createTable('auth_session') + .addColumn('key', 'varchar', (col) => col.primaryKey()) + .addColumn('session', 'varchar', (col) => col.notNull()) + .execute() + await db.schema + .createTable('auth_state') + .addColumn('key', 'varchar', (col) => col.primaryKey()) + .addColumn('state', 'varchar', (col) => col.notNull()) + .execute() + }, + async down(db: Kysely) { + await db.schema.dropTable('auth_state').execute() + await db.schema.dropTable('auth_session').execute() + }, +} + +// ... +``` + + +---- + + +Data in the Atmosphere is stored on users' personal servers. It's almost like each user has their own website. Our goal is to aggregate data from the users into our SQLite. + +Think of our app like a Google. If Google's job was to say which emoji each website had under `/status.txt`, then it would show something like: + +- `nytimes.com` is feeling πŸ“° according to `https://nytimes.com/status.txt` +- `bsky.app` is feeling πŸ¦‹ according to `https://bsky.app/status.txt` +- `reddit.com` is feeling πŸ€“ according to `https://reddit.com/status.txt` + +The Atmosphere works the same way, except we're going to check `at://nytimes.com/com.example.status/self`. Literally, that's it! Each user has a domain, and each record gets published under an atproto URL. + +``` +AT Protocol + β–Ό +at://nytimes.com/com.example.status/self + β–² β–² β–² + The user The data type The record name +``` + +When somebody logs into our app, they'll give read & write access to their personal `at://`. We'll use that to write the `/com.example.status/self` record. Then we'll crawl the Atmosphere for all the other `/com.example.status/self` records, and aggregate them into our SQLite database for fast reads. + +Believe it or not, that's how most apps on the Atmosphere are built, including [Bluesky](#todo). -- 2.51.2 From 881f2adb5eaf415ac2a20f725158d4a1a61be926 Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Mon, 19 Aug 2024 17:24:53 -0700 Subject: [PATCH 05/20] Remove my cutting room floor --- TUTORIAL.md | 130 ---------------------------------------------------- 1 file changed, 130 deletions(-) diff --git a/TUTORIAL.md b/TUTORIAL.md index 57b9cb3..8da087d 100644 --- a/TUTORIAL.md +++ b/TUTORIAL.md @@ -637,133 +637,3 @@ You'll notice this code looks almost exactly like what we're doing in `firehose. TODO - ---- - -Let's create the client during the server init: - -```typescript -/** index.ts **/ -import { NodeOAuthClient } from '@atproto/oauth-client-node' - -// static async create() { -// ... - -const publicUrl = env.PUBLIC_URL -const url = publicUrl || `http://127.0.0.1:${env.PORT}` -const oauthClient = new NodeOAuthClient({ - clientMetadata: { - client_name: 'AT Protocol Express App', - client_id: publicUrl - ? `${url}/client-metadata.json` - : `http://localhost?redirect_uri=${encodeURIComponent(`${url}/oauth/callback`)}`, - client_uri: url, - redirect_uris: [`${url}/oauth/callback`], - scope: 'profile offline_access', - grant_types: ['authorization_code', 'refresh_token'], - response_types: ['code'], - application_type: 'web', - token_endpoint_auth_method: 'none', - dpop_bound_access_tokens: true, - }, - stateStore: new StateStore(db), - sessionStore: new SessionStore(db), -}) - -// ... -// } -``` - -There's quite a bit of configuration which is [explained in the OAuth guide](#todo). We host that config at `/client-metadata.json` as part of the OAuth flow. - -```typescript -/** src/routes.ts **/ - -// OAuth metadata -router.get( - '/client-metadata.json', - handler((_req, res) => { - return res.json(oauthClient.clientMetadata) - }) -) -``` - ---- - - - -We're going to need to track two kinds of information: - -- **OAuth State**. This is information about login flows that are in-progress. -- **OAuth Sessions**. This is the active session data. - -The `oauth-client-node` library handles most of this for us, but we need to create some tables in our SQLite to store it. Let's update `/src/db.ts` for this. - -```typescript -// ... -// Types - -export type DatabaseSchema = { - auth_session: AuthSession - auth_state: AuthState -} - -export type AuthSession = { - key: string - session: string // JSON -} - -export type AuthState = { - key: string - state: string // JSON -} - -// Migrations - -migrations['001'] = { - async up(db: Kysely) { - await db.schema - .createTable('auth_session') - .addColumn('key', 'varchar', (col) => col.primaryKey()) - .addColumn('session', 'varchar', (col) => col.notNull()) - .execute() - await db.schema - .createTable('auth_state') - .addColumn('key', 'varchar', (col) => col.primaryKey()) - .addColumn('state', 'varchar', (col) => col.notNull()) - .execute() - }, - async down(db: Kysely) { - await db.schema.dropTable('auth_state').execute() - await db.schema.dropTable('auth_session').execute() - }, -} - -// ... -``` - - ----- - - -Data in the Atmosphere is stored on users' personal servers. It's almost like each user has their own website. Our goal is to aggregate data from the users into our SQLite. - -Think of our app like a Google. If Google's job was to say which emoji each website had under `/status.txt`, then it would show something like: - -- `nytimes.com` is feeling πŸ“° according to `https://nytimes.com/status.txt` -- `bsky.app` is feeling πŸ¦‹ according to `https://bsky.app/status.txt` -- `reddit.com` is feeling πŸ€“ according to `https://reddit.com/status.txt` - -The Atmosphere works the same way, except we're going to check `at://nytimes.com/com.example.status/self`. Literally, that's it! Each user has a domain, and each record gets published under an atproto URL. - -``` -AT Protocol - β–Ό -at://nytimes.com/com.example.status/self - β–² β–² β–² - The user The data type The record name -``` - -When somebody logs into our app, they'll give read & write access to their personal `at://`. We'll use that to write the `/com.example.status/self` record. Then we'll crawl the Atmosphere for all the other `/com.example.status/self` records, and aggregate them into our SQLite database for fast reads. - -Believe it or not, that's how most apps on the Atmosphere are built, including [Bluesky](#todo). -- 2.51.2 From 7215d1e087d36438ec0b1ae4daba2ef2ac7c41c0 Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Tue, 20 Aug 2024 13:17:02 -0700 Subject: [PATCH 06/20] Switch to a multiple-status model --- lexicons/status.json | 4 ++-- package-lock.json | 27 ++----------------------- package.json | 1 + src/db.ts | 8 +++++--- src/firehose/ingester.ts | 12 ++++++++--- src/lexicon/lexicons.ts | 4 ++-- src/lexicon/types/com/example/status.ts | 2 +- src/routes.ts | 21 +++++++++---------- 8 files changed, 32 insertions(+), 47 deletions(-) diff --git a/lexicons/status.json b/lexicons/status.json index 7903e03..d0675cd 100644 --- a/lexicons/status.json +++ b/lexicons/status.json @@ -7,7 +7,7 @@ "key": "literal:self", "record": { "type": "object", - "required": ["status", "updatedAt"], + "required": ["status", "createdAt"], "properties": { "status": { "type": "string", @@ -15,7 +15,7 @@ "maxGraphemes": 1, "maxLength": 32 }, - "updatedAt": { "type": "string", "format": "datetime" } + "createdAt": { "type": "string", "format": "datetime" } } } } diff --git a/package-lock.json b/package-lock.json index 6dd24a7..c58daee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.1", "license": "MIT", "dependencies": { + "@atproto/common": "^0.4.1", "@atproto/identity": "^0.4.0", "@atproto/lexicon": "0.4.1-rc.0", "@atproto/oauth-client-node": "0.0.2-rc.2", @@ -23,7 +24,6 @@ "kysely": "^0.27.4", "multiformats": "^9.9.0", "pino": "^9.3.2", - "pino-http": "^10.0.0", "uhtml": "^4.5.9" }, "devDependencies": { @@ -142,6 +142,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/@atproto/common/-/common-0.4.1.tgz", "integrity": "sha512-uL7kQIcBTbvkBDNfxMXL6lBH4fO2DQpHd2BryJxMtbw/4iEPKe9xBYApwECHhEIk9+zhhpTRZ15FJ3gxTXN82Q==", + "license": "MIT", "dependencies": { "@atproto/common-web": "^0.3.0", "@ipld/dag-cbor": "^7.0.3", @@ -1944,14 +1945,6 @@ "resolved": "https://registry.npmjs.org/gc-hook/-/gc-hook-0.3.1.tgz", "integrity": "sha512-E5M+O/h2o7eZzGhzRZGex6hbB3k4NWqO0eA+OzLRLXxhdbYPajZnynPwAtphnh+cRHPwsj5Z80dqZlfI4eK55A==" }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, "node_modules/get-intrinsic": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", @@ -2749,22 +2742,6 @@ "split2": "^4.0.0" } }, - "node_modules/pino-http": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/pino-http/-/pino-http-10.2.0.tgz", - "integrity": "sha512-am03BxnV3Ckx68OkbH0iZs3indsrH78wncQ6w1w51KroIbvJZNImBKX2X1wjdY8lSyaJ0UrX/dnO2DY3cTeCRw==", - "dependencies": { - "get-caller-file": "^2.0.5", - "pino": "^9.0.0", - "pino-std-serializers": "^7.0.0", - "process-warning": "^3.0.0" - } - }, - "node_modules/pino-http/node_modules/process-warning": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", - "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==" - }, "node_modules/pino-pretty": { "version": "11.2.2", "resolved": "https://registry.npmjs.org/pino-pretty/-/pino-pretty-11.2.2.tgz", diff --git a/package.json b/package.json index 5bd68ef..a3f7f12 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "clean": "rimraf dist coverage" }, "dependencies": { + "@atproto/common": "^0.4.1", "@atproto/identity": "^0.4.0", "@atproto/lexicon": "0.4.1-rc.0", "@atproto/oauth-client-node": "0.0.2-rc.2", diff --git a/src/db.ts b/src/db.ts index 4a29c7a..f21d863 100644 --- a/src/db.ts +++ b/src/db.ts @@ -16,9 +16,10 @@ export type DatabaseSchema = { } export type Status = { + uri: string authorDid: string status: string - updatedAt: string + createdAt: string indexedAt: string } @@ -50,9 +51,10 @@ migrations['001'] = { async up(db: Kysely) { await db.schema .createTable('status') - .addColumn('authorDid', 'varchar', (col) => col.primaryKey()) + .addColumn('uri', 'varchar', (col) => col.primaryKey()) + .addColumn('authorDid', 'varchar', (col) => col.notNull()) .addColumn('status', 'varchar', (col) => col.notNull()) - .addColumn('updatedAt', 'varchar', (col) => col.notNull()) + .addColumn('createdAt', 'varchar', (col) => col.notNull()) .addColumn('indexedAt', 'varchar', (col) => col.notNull()) .execute() await db.schema diff --git a/src/firehose/ingester.ts b/src/firehose/ingester.ts index 104841b..074bb1e 100644 --- a/src/firehose/ingester.ts +++ b/src/firehose/ingester.ts @@ -24,20 +24,26 @@ export class Ingester { await this.db .insertInto('status') .values({ + uri: evt.uri.toString(), authorDid: evt.author, status: record.status, - updatedAt: record.updatedAt, + createdAt: record.createdAt, indexedAt: new Date().toISOString(), }) .onConflict((oc) => - oc.column('authorDid').doUpdateSet({ + oc.column('uri').doUpdateSet({ status: record.status, - updatedAt: record.updatedAt, indexedAt: new Date().toISOString(), }) ) .execute() } + } else if ( + evt.event === 'delete' && + evt.collection === 'com.example.status' + ) { + // Remove the status from our SQLite + await this.db.deleteFrom('status').where({ uri: evt.uri.toString() }) } } } diff --git a/src/lexicon/lexicons.ts b/src/lexicon/lexicons.ts index c93e335..6030adc 100644 --- a/src/lexicon/lexicons.ts +++ b/src/lexicon/lexicons.ts @@ -68,7 +68,7 @@ export const schemaDict = { key: 'literal:self', record: { type: 'object', - required: ['status', 'updatedAt'], + required: ['status', 'createdAt'], properties: { status: { type: 'string', @@ -76,7 +76,7 @@ export const schemaDict = { maxGraphemes: 1, maxLength: 32, }, - updatedAt: { + createdAt: { type: 'string', format: 'datetime', }, diff --git a/src/lexicon/types/com/example/status.ts b/src/lexicon/types/com/example/status.ts index ced3801..562c94c 100644 --- a/src/lexicon/types/com/example/status.ts +++ b/src/lexicon/types/com/example/status.ts @@ -8,7 +8,7 @@ import { CID } from 'multiformats/cid' export interface Record { status: string - updatedAt: string + createdAt: string [k: string]: unknown } diff --git a/src/routes.ts b/src/routes.ts index d90322d..ab1e779 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -3,6 +3,7 @@ import path from 'node:path' import type { IncomingMessage, ServerResponse } from 'node:http' import { OAuthResolverError } from '@atproto/oauth-client-node' import { isValidHandle } from '@atproto/syntax' +import { TID } from '@atproto/common' import express from 'express' import { getIronSession } from 'iron-session' import type { AppContext } from '#/index' @@ -154,6 +155,7 @@ export const createRouter = (ctx: AppContext) => { .selectFrom('status') .selectAll() .where('authorDid', '=', agent.accountDid) + .orderBy('indexedAt', 'desc') .executeTakeFirst() : undefined @@ -204,24 +206,27 @@ export const createRouter = (ctx: AppContext) => { } // Construct & validate their status record + const rkey = TID.nextStr() const record = { $type: 'com.example.status', status: req.body?.status, - updatedAt: new Date().toISOString(), + createdAt: new Date().toISOString(), } if (!Status.validateRecord(record).success) { return res.status(400).json({ error: 'Invalid status' }) } + let uri try { // Write the status record to the user's repository - await agent.com.atproto.repo.putRecord({ + const res = await agent.com.atproto.repo.putRecord({ repo: agent.accountDid, collection: 'com.example.status', - rkey: 'self', + rkey, record, validate: false, }) + uri = res.data.uri } catch (err) { ctx.logger.warn({ err }, 'failed to write record') return res.status(500).json({ error: 'Failed to write record' }) @@ -235,18 +240,12 @@ export const createRouter = (ctx: AppContext) => { await ctx.db .insertInto('status') .values({ + uri, authorDid: agent.accountDid, status: record.status, - updatedAt: record.updatedAt, + createdAt: record.createdAt, indexedAt: new Date().toISOString(), }) - .onConflict((oc) => - oc.column('authorDid').doUpdateSet({ - status: record.status, - updatedAt: record.updatedAt, - indexedAt: new Date().toISOString(), - }) - ) .execute() } catch (err) { ctx.logger.warn( -- 2.51.2 From c9be6f8f91a3d26d093277fdc76e2005809c878f Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Tue, 20 Aug 2024 19:20:30 -0700 Subject: [PATCH 07/20] Update tutorial to reflect changes to example app --- TUTORIAL.md | 60 +++++++++++++++++++++++--------------------- lexicons/status.json | 2 +- 2 files changed, 32 insertions(+), 30 deletions(-) diff --git a/TUTORIAL.md b/TUTORIAL.md index 8da087d..c4845d1 100644 --- a/TUTORIAL.md +++ b/TUTORIAL.md @@ -21,7 +21,9 @@ Think of our app like a Google. If Google's job was to say which emoji each webs - `bsky.app` is feeling πŸ¦‹ according to `https://bsky.app/status.json` - `reddit.com` is feeling πŸ€“ according to `https://reddit.com/status.json` -The Atmosphere works the same way, except we're going to check `at://` instead of `https://`. Each user has a data repo under an `at://` URL. We'll crawl all the `at://`s in the Atmosphere for all the `/status.json` records and aggregate them into our SQLite database. +The Atmosphere works the same way, except we're going to check `at://` instead of `https://`. Each user has a data repo under an `at://` URL. We'll crawl all the `at://`s in the Atmosphere for all the "status.json" records and aggregate them into our SQLite database. + +> `at://` is the URL scheme of the AT Protocol. ## Step 1. Starting with our ExpressJS app @@ -234,20 +236,24 @@ Let's look again at how we read the "profile" record: await agent.getRecord({ repo: agent.accountDid, // The user collection: 'app.bsky.actor.profile', // The collection - rkey: 'self', // The record name + rkey: 'self', // The record key }) ``` We write records using a similar API. Since our goal is to write "status" records, let's look at how that will happen: ```typescript +// Generate a time-based key for our record +const rkey = TID.nextStr() + +// Write the await agent.putRecord({ repo: agent.accountDid, // The user collection: 'com.example.status', // The collection - rkey: 'self', // The record name + rkey, // The record key record: { // The record value status: "πŸ‘", - updatedAt: new Date().toISOString() + createdAt: new Date().toISOString() } }) ``` @@ -270,7 +276,7 @@ router.post( const record = { $type: 'com.example.status', status: req.body?.status, - updatedAt: new Date().toISOString(), + createdAt: new Date().toISOString(), } try { @@ -278,7 +284,7 @@ router.post( await agent.putRecord({ repo: agent.accountDid, collection: 'com.example.status', - rkey: 'self', + rkey: TID.nextStr(), record, }) } catch (err) { @@ -331,7 +337,7 @@ Anybody can create a new schema using the [Lexicon](#todo) language, which is ve > ### Why create a schema? > -> Schemas help other applications understand the data your app is creating. By publishing your schemas, you enable compatibility and reduce the chances of bad data affecting your app. +> Schemas help other applications understand the data your app is creating. By publishing your schemas, you enable compatibility with other apps and reduce the chances of bad data affecting your app. Let's create our schema in the `/lexicons` folder of our codebase. You can [read more about how to define schemas here](#todo). @@ -343,10 +349,10 @@ Let's create our schema in the `/lexicons` folder of our codebase. You can [read "defs": { "main": { "type": "record", - "key": "literal:self", + "key": "tid", "record": { "type": "object", - "required": ["status", "updatedAt"], + "required": ["status", "createdAt"], "properties": { "status": { "type": "string", @@ -354,7 +360,7 @@ Let's create our schema in the `/lexicons` folder of our codebase. You can [read "maxGraphemes": 1, "maxLength": 32 }, - "updatedAt": { + "createdAt": { "type": "string", "format": "datetime" } @@ -387,7 +393,7 @@ router.post( const record = { $type: 'com.example.status', status: req.body?.status, - updatedAt: new Date().toISOString(), + createdAt: new Date().toISOString(), } if (!Status.validateRecord(record).success) { return res.status(400).json({ error: 'Invalid status' }) @@ -415,13 +421,13 @@ Remember how we referred to our app as being like a Google, crawling around the β”‚ REPO β”‚ Event stream β”œβ”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” -β”œβ”€β”€β”€β”Ό 1 PUT /com.example.status/self β”‚ +β”œβ”€β”€β”€β”Ό 1 PUT /app.bsky.feed.post/3l244rmrxjx2v β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”œβ”€β”€β”€β”Ό 2 DEL /app.bsky.feed.post/3l244rmrxjx2v β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” -β”œβ”€β”€β”€β”Ό 3 PUT /app.bsky.actor/self β”‚ +β”œβ”€β”€β”€β”Ό 3 PUT /app.bsky.actor.profile/self β”‚ β–Ό β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` @@ -459,9 +465,10 @@ Let's create a SQLite table to store these statuses: // Create our statuses table await db.schema .createTable('status') - .addColumn('authorDid', 'varchar', (col) => col.primaryKey()) + .addColumn('uri', 'varchar', (col) => col.primaryKey()) + .addColumn('authorDid', 'varchar', (col) => col.notNull()) .addColumn('status', 'varchar', (col) => col.notNull()) - .addColumn('updatedAt', 'varchar', (col) => col.notNull()) + .addColumn('createdAt', 'varchar', (col) => col.notNull()) .addColumn('indexedAt', 'varchar', (col) => col.notNull()) .execute() ``` @@ -480,15 +487,15 @@ if ( await db .insertInto('status') .values({ + uri: evt.uri.toString(), authorDid: evt.author, status: record.status, - updatedAt: record.updatedAt, + createdAt: record.createdAt, indexedAt: new Date().toISOString(), }) .onConflict((oc) => - oc.column('authorDid').doUpdateSet({ + oc.column('uri').doUpdateSet({ status: record.status, - updatedAt: record.updatedAt, indexedAt: new Date().toISOString(), }) ) @@ -546,7 +553,6 @@ Our HTML can now list these status records: ${statuses.map((status, i) => { const handle = didHandleMap[status.authorDid] || status.authorDid - const date = ts(status) return html`
@@ -587,14 +593,16 @@ router.post( handler(async (req, res) => { // ... + let uri try { // Write the status record to the user's repository - await agent.putRecord({ + const res = await agent.putRecord({ repo: agent.accountDid, collection: 'com.example.status', - rkey: 'self', + rkey: TID.nextStr(), record, }) + uri = res.uri } catch (err) { ctx.logger.warn({ err }, 'failed to write record') return res.status(500).json({ error: 'Failed to write record' }) @@ -605,18 +613,12 @@ router.post( await ctx.db .insertInto('status') .values({ + uri, authorDid: agent.accountDid, status: record.status, - updatedAt: record.updatedAt, + createdAt: record.createdAt, indexedAt: new Date().toISOString(), }) - .onConflict((oc) => - oc.column('authorDid').doUpdateSet({ - status: record.status, - updatedAt: record.updatedAt, - indexedAt: new Date().toISOString(), - }) - ) .execute() } catch (err) { ctx.logger.warn( diff --git a/lexicons/status.json b/lexicons/status.json index d0675cd..446dafc 100644 --- a/lexicons/status.json +++ b/lexicons/status.json @@ -4,7 +4,7 @@ "defs": { "main": { "type": "record", - "key": "literal:self", + "key": "tid", "record": { "type": "object", "required": ["status", "createdAt"], -- 2.51.2 From 17246051d8866b6fd1de6cf663aac7e5ac316204 Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Tue, 20 Aug 2024 19:28:11 -0700 Subject: [PATCH 08/20] Explain record fetches a bit more --- TUTORIAL.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/TUTORIAL.md b/TUTORIAL.md index c4845d1..70f450b 100644 --- a/TUTORIAL.md +++ b/TUTORIAL.md @@ -161,6 +161,24 @@ interface ProfileRecord { We're going to use the [Agent](#todo) to fetch this record to include in our app. +```typescript +await agent.getRecord({ + repo: agent.accountDid, // The user + collection: 'app.bsky.actor.profile', // The collection + rkey: 'self', // The record key +}) +``` + +When asking for a record, we provide three pieces of information. + +- The [DID](#todo) which identifies the user, +- The collection name, and +- The record key + +We'll explain the collection name shortly. Record keys are strings with [some limitations](https://atproto.com/specs/record-key#record-key-syntax) and a couple of common patterns. The `"self"` pattern is used when a collection is expected to only contain one record which describes the user. + +Let's update our homepage to fetch this profile record: + ```typescript /** src/routes.ts **/ // Homepage -- 2.51.2 From a9382f9cdb37d3bff05bfba1e38c243f6c036606 Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Tue, 20 Aug 2024 19:31:45 -0700 Subject: [PATCH 09/20] Prompt to explore data using the atproto browser tool --- TUTORIAL.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/TUTORIAL.md b/TUTORIAL.md index 70f450b..bb669bb 100644 --- a/TUTORIAL.md +++ b/TUTORIAL.md @@ -232,6 +232,8 @@ With that data, we can give a nice personalized welcome banner for our user:
``` +You can examine this record directly using [atproto-browser.vercel.app](https://atproto-browser.vercel.app). For instance, [this is the profile record for @bsky.app](https://atproto-browser.vercel.app/at?u=at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.actor.profile/self). + ## Step 4. Reading & writing records You can think of the user repositories as collections of JSON records: -- 2.51.2 From 24a150fedaceb210050d1791958e679951606269 Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Tue, 20 Aug 2024 19:50:33 -0700 Subject: [PATCH 10/20] Add a 'thinking in atproto' section --- TUTORIAL.md | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/TUTORIAL.md b/TUTORIAL.md index bb669bb..0b3bd8d 100644 --- a/TUTORIAL.md +++ b/TUTORIAL.md @@ -308,7 +308,7 @@ router.post( record, }) } catch (err) { - ctx.logger.warn({ err }, 'failed to write record') + logger.warn({ err }, 'failed to write record') return res.status(500).json({ error: 'Failed to write record' }) } @@ -624,13 +624,13 @@ router.post( }) uri = res.uri } catch (err) { - ctx.logger.warn({ err }, 'failed to write record') + logger.warn({ err }, 'failed to write record') return res.status(500).json({ error: 'Failed to write record' }) } try { // Optimistically update our SQLite <-- HERE! - await ctx.db + await db .insertInto('status') .values({ uri, @@ -641,7 +641,7 @@ router.post( }) .execute() } catch (err) { - ctx.logger.warn( + logger.warn( { err }, 'failed to update computed view; ignoring as it should be caught by the firehose' ) @@ -654,6 +654,31 @@ router.post( You'll notice this code looks almost exactly like what we're doing in `firehose.ts`. +## Thinking in AT Proto + +In this tutorial we've covered the key steps to building an atproto app. Data is published in its canonical form on users' `at://` repos and then aggregated into apps' databases to produce views of the network. + +When building your app, think in these four key steps: + +- Design the [Lexicon](#) schemas for the records you'll publish into the Atmosphere. +- Create a database for aggregating the records into useful views. +- Build your application to write the records on your users' repos. +- Listen to the firehose to hydrate your aggregated database. + +Remember this flow of information throughout: + +``` + β”Œβ”€β”€β”€β”€β”€Repo put─────┐ + β”‚ β–Ό +β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ App server β”‚ β”‚ User repo β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜ + β–² β”‚ + └────Event logβ”€β”€β”€β”€β”€β”˜ +``` + +This is how every app in the Atmosphere works, including the [Bluesky social app](https://bsky.app). + ## Next steps TODO -- 2.51.2 From 86349718c36a6036306151553c46e010cdb81ecc Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Tue, 20 Aug 2024 20:02:02 -0700 Subject: [PATCH 11/20] Add screenshots of the app --- TUTORIAL.md | 12 ++++++++++++ docs/app-banner.png | Bin 0 -> 11634 bytes docs/app-login.png | Bin 0 -> 24261 bytes docs/app-screenshot.png | Bin 0 -> 141492 bytes docs/app-status-history.png | Bin 0 -> 25921 bytes docs/app-status-options.png | Bin 0 -> 79245 bytes 6 files changed, 12 insertions(+) create mode 100644 docs/app-banner.png create mode 100644 docs/app-login.png create mode 100644 docs/app-screenshot.png create mode 100644 docs/app-status-history.png create mode 100644 docs/app-status-options.png diff --git a/TUTORIAL.md b/TUTORIAL.md index 0b3bd8d..d0c140b 100644 --- a/TUTORIAL.md +++ b/TUTORIAL.md @@ -2,6 +2,8 @@ In this guide, we're going to build a **simple multi-user app** that publishes your current "status" as an emoji. +![A screenshot of our example application](./docs/app-screenshot.png) + At various points we will cover how to: - Signin via OAuth @@ -66,6 +68,8 @@ We're going to accomplish this using OAuth ([spec](#todo)). You can find a [more When the user logs in, the OAuth client will create a new session with their repo server and give us read/write access along with basic user info. +![A screenshot of the login UI](./docs/app-login.png) + Our login page just asks the user for their "handle," which is the domain name associated with their account. For [Bluesky](https://bsky.app) users, these tend to look like `alice.bsky.social`, but they can be any kind of domain (eg `alice.com`). ```html @@ -232,6 +236,8 @@ With that data, we can give a nice personalized welcome banner for our user:
``` +![A screenshot of the banner image](./docs/app-banner.png) + You can examine this record directly using [atproto-browser.vercel.app](https://atproto-browser.vercel.app). For instance, [this is the profile record for @bsky.app](https://atproto-browser.vercel.app/at?u=at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.actor.profile/self). ## Step 4. Reading & writing records @@ -349,6 +355,10 @@ Array.from(document.querySelectorAll('.status-option'), (el) => { }) ``` +And here we are! + +![A screenshot of the app's status options](./docs/app-status-options.png) + ## Step 5. Creating a custom "status" schema The collections are typed, meaning that they have a defined schema. The `app.bsky.actor.profile` type definition [can be found here](https://github.com/bluesky-social/atproto/blob/main/lexicons/app/bsky/actor/profile.json). @@ -587,6 +597,8 @@ ${statuses.map((status, i) => { })} ``` +![A screenshot of the app status timeline](./docs/app-status-history.png) + ## Step 8. Optimistic updates As a final optimization, let's introduce "optimistic updates." Remember the information flow loop with the repo write and the event log? Since we're updating our users' repos locally, we can short-circuit that flow to our own database: diff --git a/docs/app-banner.png b/docs/app-banner.png new file mode 100644 index 0000000000000000000000000000000000000000..7bddef194d16fea73bbc4cc7394e458f53b6b8cd GIT binary patch literal 11634 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 YpI!UaqB%$BKWG(!r>mdKI;Vst075tq#{d8T literal 0 HcmV?d00001 diff --git a/docs/app-login.png b/docs/app-login.png new file mode 100644 index 0000000000000000000000000000000000000000..a919710af64e8637502c28600c743716ae70f916 GIT binary patch literal 24261 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

C@`4h?}Rh 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

tAzRtKnr8vUT_2wqxQEM>j1wd0#_r-oXb= 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

    bpe-NyzG(k|2JB>r#(%K3Out+-a7jK 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 1Gud#t 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 S|A&Erfx*+&&t;ucLK6UVM6Lz^ literal 0 HcmV?d00001 diff --git a/docs/app-status-history.png b/docs/app-status-history.png new file mode 100644 index 0000000000000000000000000000000000000000..277162b6ea6504462a9f35f1fbb4af2f0519de29 GIT binary patch literal 25921 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≶j@8Def@8i@9vo^kO`xMqz9(L{j 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 V!KX+5yFrHnd%F6$taD0e0s#KX8Djtd literal 0 HcmV?d00001 diff --git a/docs/app-status-options.png b/docs/app-status-options.png new file mode 100644 index 0000000000000000000000000000000000000000..3c54552d35877f3ebe658d7e4395352f9ce0da16 GIT binary patch literal 79245 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 z Date: Tue, 20 Aug 2024 20:32:46 -0700 Subject: [PATCH 12/20] Switch to image-based diagrams --- TUTORIAL.md | 68 +++-------------------------- docs/diagram-event-stream.png | Bin 0 -> 48405 bytes docs/diagram-info-flow.png | Bin 0 -> 23614 bytes docs/diagram-oauth.png | Bin 0 -> 40526 bytes docs/diagram-optimistic-update.png | Bin 0 -> 26558 bytes docs/diagram-repo.png | Bin 0 -> 213675 bytes 6 files changed, 6 insertions(+), 62 deletions(-) create mode 100644 docs/diagram-event-stream.png create mode 100644 docs/diagram-info-flow.png create mode 100644 docs/diagram-oauth.png create mode 100644 docs/diagram-optimistic-update.png create mode 100644 docs/diagram-repo.png diff --git a/TUTORIAL.md b/TUTORIAL.md index d0c140b..1e9cfa8 100644 --- a/TUTORIAL.md +++ b/TUTORIAL.md @@ -55,16 +55,7 @@ When somebody logs into our app, they'll give us read & write access to their pe We're going to accomplish this using OAuth ([spec](#todo)). You can find a [more extensive OAuth guide here](#todo), but for now just know that most of the OAuth flows are going to be handled for us using the [@atproto/oauth-client-node](#todo) library. This is the arrangement we're aiming toward: -``` - β”Œβ”€App Server───────────────────┐ - β”‚ β”Œβ”€β–Ί Session store ◄┐ β”‚ - β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” - β”‚ App code ──────►OAuth client─┼───►│ User's server β”‚ - β””β”€β”€β”€β”€β–²β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ - β”Œβ”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” - β”‚ Web browser β”‚ - β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ -``` +![A diagram of the OAuth elements](./docs/diagram-oauth.png) When the user logs in, the OAuth client will create a new session with their repo server and give us read/write access along with basic user info. @@ -244,17 +235,7 @@ You can examine this record directly using [atproto-browser.vercel.app](https:// You can think of the user repositories as collections of JSON records: -``` - β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” - β”Œβ”€β”€β”€| record β”‚ - β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ - β”Œβ”€β”€β”€| collection |◄── β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” -β”Œβ”€β”€β”€β”€β”€β”€β” β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ └───| record β”‚ -β”‚ repo |◄─── β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ -β””β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” - └──── collection |◄─────| record β”‚ - β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ -``` +![A diagram of a repository](./docs/diagram-repo.png) Let's look again at how we read the "profile" record: @@ -446,20 +427,7 @@ Now we want to fetch the status records from other users. Remember how we referred to our app as being like a Google, crawling around the repos to get their records? One advantage we have in the AT Protocol is that each repo publishes an event log of their updates. -``` -β”Œβ”€β”€β”€β”€β”€β”€β” -β”‚ REPO β”‚ Event stream -β”œβ”€β”€β”€β”€β”€β”€β”˜ -β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” -β”œβ”€β”€β”€β”Ό 1 PUT /app.bsky.feed.post/3l244rmrxjx2v β”‚ -β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ -β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” -β”œβ”€β”€β”€β”Ό 2 DEL /app.bsky.feed.post/3l244rmrxjx2v β”‚ -β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ -β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” -β”œβ”€β”€β”€β”Ό 3 PUT /app.bsky.actor.profile/self β”‚ -β–Ό β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ -``` +![A diagram of the event stream](./docs/diagram-event-stream.png) Using a [Relay service](#todo) we can listen to an aggregated firehose of these events across all users in the network. In our case what we're looking for are valid `com.example.status` records. @@ -535,15 +503,7 @@ if ( You can almost think of information flowing in a loop: -``` - β”Œβ”€β”€β”€β”€β”€Repo put─────┐ - β”‚ β–Ό -β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” -β”‚ App server β”‚ β”‚ User repo β”‚ -β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜ - β–² β”‚ - └────Event logβ”€β”€β”€β”€β”€β”˜ -``` +![A diagram of the flow of information](./docs/diagram-info-flow.png) Why read from the event log? Because there are other apps in the network that will write the records we're interested in. By subscribing to the event log, we ensure that we catch all the data we're interested in -- including data published by other apps. @@ -603,15 +563,7 @@ ${statuses.map((status, i) => { As a final optimization, let's introduce "optimistic updates." Remember the information flow loop with the repo write and the event log? Since we're updating our users' repos locally, we can short-circuit that flow to our own database: -``` - β”Œβ”€β”€β”€Repo put──┬──────┐ - β”‚ β”‚ β–Ό -β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” -β”‚ App server β”‚β—„β”€β”€β”€β”€β”€β”€β”˜ β”‚ User repo β”‚ -β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜ - β–² β”‚ - └────Event logβ”€β”€β”€β”€β”€β”€β”€β”˜ -``` +![A diagram illustrating optimistic updates](./docs/diagram-optimistic-update.png) This is an important optimization to make, because it ensures that the user sees their own changes while using your app. When the event eventually arrives from the firehose, we just discard it since we already have it saved locally. @@ -679,15 +631,7 @@ When building your app, think in these four key steps: Remember this flow of information throughout: -``` - β”Œβ”€β”€β”€β”€β”€Repo put─────┐ - β”‚ β–Ό -β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” -β”‚ App server β”‚ β”‚ User repo β”‚ -β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜ - β–² β”‚ - └────Event logβ”€β”€β”€β”€β”€β”˜ -``` +![A diagram of the flow of information](./docs/diagram-info-flow.png) This is how every app in the Atmosphere works, including the [Bluesky social app](https://bsky.app). diff --git a/docs/diagram-event-stream.png b/docs/diagram-event-stream.png new file mode 100644 index 0000000000000000000000000000000000000000..605538c68eaf54fe4aacba03740bf3ea30a54355 GIT binary patch literal 48405 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

    &}_FN1X93h{puK?OM?Y-|!vDiRSg z6E-E*Ut2moPU=k8C1Zu}WzXFX2`rX-r+kIeRLXRV^*@*Wdu0~L9W8yyYJB37`Q?k5 zF8AX89ltV}sb}ZKMdhIhYh|}~1|WWgCN z;nFkiq)iHP(z2eKIeYQhlgB^a{;(iCY>DN@FPGlSbnvdb@#9?MTc&MS3fwj{yk5od zDz52Uk-}QWZH@bdrroV+s+Hbk`@$or@5_PEd2`P#c=Z0PSeM^&)1%?@nQweHTEy(u zEA`aBZ_(!N-n(;OmN6V%k!zdz<+)Dg>-eCC+!X!n22RLm!h;5@pf{(V%=7A7=zKCU zMb%lG?_}D4_4|kX?_|rfPh!ep&NnTc$dhpEz#SK(!i0t*hE}zs+osNS<-XvV#v5=w zGgD>8l=yTmOU(mjA0oK|)F&)Cb%#w&eNrbg^91Hu*J4hsbF=z#!TE0(N8k0wV*J+_ zOS>j~U`r5V51BNXDaW}mb6vc9`*-RK6dtlDH~SFyy(?=;Va>KZ+>ok zrpE7@-*317?K_oU`#Sok?c~(V5~=w{ue>e4Zu9+a7GwMGOB7?4guQ@vtZkdh{&$ZU zzV>w8?>lur)>8Jz%1%~g_QKmYR^4x$ZSkliVE!u3_gQ%=^Qw+FibDh z?bTj0Z|jEw_1p&^PhZY_|83&#iSc>!9_VeaGI{7P=n`Mo)&AA{XuEWwMQ-=?I6JlA zA8hT$I^DhJ57)_P)larAZ51xzIG%gcBw_ARPNSFIuVefa_Li`+uaH0b&F|2?>i4$m z%};P#HO#*q<{z`;c5v!xO^pcWU%Fyp>p4E_2ishZxZ7a&?~3?`pEsB8{pY*a(R1&Y zOWu{$2YZ)tymOnfMzL1LuhIJ7g++bN-4iAJuU1~_vrl~6^xEKJS_zww!QNA`OFmeg z6RuR4zeV@ftWP}k>6@Z8)8>|jl{5Djv>fMkmMu7Vc$aMC;q4z(^p6C;TibH~!GUbQ zy$_}9-yL^xd$8Q9*}CEn%YzTfvNp*K@mrF=Z+gE}WPy;6O2{!zVKtWBvA5@Mzh75< zqu?-aEkF0nrA3n@MU4Jt ze4h25{4UX@=3B3t&f^H(UvsM?;P47^sbE6cZY?PD>_4EXNHHEWlT z#U1-~dlSB~d}RD%)Uakrtj~3Yn8l8ag<8EArhJ+_`*-*!UjL+h2e_w5Kdcb{;5YmF zLb(r(+%?fx6&u1M_Fd9^=rZSK`uw|(>wi9-KKFUe;p?hrvUeD=Ax(o(}A`plGe zi?d$U#^;xbDhPTu_sd#eW4%0m-{=qkmfnOlO^Y z+xq<;{0-);$(uq;|qo*>~^bIeWliu$RTr+h~5uUuTT`;Uu&3`>EHv4Z`) zAL0vVMGG#!SgxI6(zRIjpJD%Rm-(N%I1cbz>76|l*>ue2$=vy;VwWVBm#`H5WS-3Z ze@ozR=WCA3oJ)T`oo@YWX8Jryw|=>|bLB3+_pO^9)UfJ>O2+-#@4Wl}Jk>w^2Tpyrvj?f_`XbIF6p@;U3%8^dJ8k3#etIrS^xHYJ~O#|NtL&C>uYQFN73){cfU2; z&mgtxP3rB8#l3&nxYJmxl&Acfx638bpooF>q|YH<^E(1%_iM|~KawrK^Khg zPxdZk>X|CPc(1E?q>4=1@gD|EK}%d@nzPG_7hDhc(*3dOZ`_NCM@rbdnzav4H`-yS zzw71Rz@0}bSDi<#B)Tp}FBfKZb+LwSo>(Rw=l}I?%&SM5jnAA^))>i5co1^b{f1oWl|VaFtGqiF z@%=tt8+hEKo25^;1pC`woqB)g^Lf%U-nqyfdFs~F>}a>8t+>-G-qPVNQ$?2KlUuLX zanGJP_rTuo_oUr=Bp%kKzKV%u)nGh)M|*nHrht=wtWWvB&aXWi!ZqLGLI?92{!PbD zir9SZH+6JtanP9{ebMt@?em5drq{KL-FmrhFz0MKspe;KvUT5Q^T3Qg=E7L(pHC*& zX7-hOrm3Ai(ei2<=QOs=$a(5>3Y>nN&98fWsGV)Xl=$M-DI1~=Gft8BnsBQ2_1f)i zhxx2^{#@mgW>_(w)9Nszru`bTz&g+OFPzCGtO7{A}3?XG}R`L z;2`HtdCm2IPcv#d>NH1k|2e8(_mER7SUg+HA+$_q&x^ujHvSWL?JvbYa%i_$P<1?0 zLjC3x_G@ja-}_57RyG?+Rb8FJ`0V9z`T81*XETy(WT%~3RcxeTJkRLrRhbDf3EuZE z``gQI5MiG&F@x=umcz2S>vlZqs`=vX?=NWPZ1YfsZ_6a+I-W^_F?Bni&e5s16E2y? z{N~_OhMuq2|zwpK+Bb0T8*I7fSH%Fri z4zjj$*$3P0p2GU|O>6}45y^B_^VhFt%*dSwlxGii!BhKhjuM=pbvX^>cB*-K=l( zwsv1EeQ`VS8@1f~`=~*))TPymovB*Z+Sw z%s+kIo92GuzmpeNglWv}yltO4A!+U;=EA*mE^XiC9m{${y6NiTm$O$-k;}GU;(5Pz z@hm6)5WWI6UGwVcu^;4C{Pcaf?kr^{cE*-o4NdG+o%Vq{s8i+JW7~guQ#y=x^k%63KUcgUu7CgMm7a#* z*x54+anBE+^2J>!c+T8M4Of{Pw!Yk9eC5oql33OgE40;a zto)-P7h2@^?|$0s+&e$d*ZSw|n%8l!%^fMYsRJ&(it&FXqT9MHTJ zAoFPQyhrW(9;fT>PrDSLYq#_2BI)CIUzJy|t&oZKwZHhfj&H>qf2)@&`y2oDn&122 z5-cC8e!u$t-VOJvUbi;$+ga2EygVU(Td47o!PlaDI&rpAb3d(~9`@$}^LZnMS*eGo zb}lyG5!IfyE$Hi_NUKoM1xBEntew9%@Gs*M$5Y=Ib?bdnS+ng{*1g%6+39p?!J54@XF#?K-TxFV=I@f zTetC;6l39@KHPT6&v%*|8jPyTOnuWSD& z7Qde3)^%H|=M_pN&pVPS%6sw2${$I4{?)lp)5=}4w5s!)PiiQuhRFUHgQOjItUrb< zEWD>|-dHUEFf2M(G;iO}XPVbkEjLuR%a(muym1EevmI)(Q+S+18kYQCHam}NcJ8*w z2Q$p2E*J}||Jtq9_DFZKd#kEm)!aGryJp&na~98V;5l^kt*iCUKmGN87R&4XIiwg9B zc)#!W9PzI39ftz#JeUte>0~~z*ks}NJ?FFhM^%YKGApLoe_e1dhoN-pFU!nJOXftb z`n{29f$YVykms#BF-Mzo7JfczzF#8VqUC9AR^8NXN>!=zx}v>23y+x;3UkQU-#gj= zgt5YK?)A88-I&U!Q|k_H`LOV?^^U@QF5=}sj%d8TTYmp*M)wXc?|R$i8*5*mh`V$% z=hiDNhZ)!67c^blo1eXYZ&^gqNmW}*jyQ&1|D`ULP35mvF8|f}KxW#R7gM#1HF9Pg z?Ee!}eAaYd8pFFb={$*j8SJ&^EuYUxoL~Em^Stf%n9Dt%S#HeN;%Jkc9#iBgVOv!q zVU`o|AR$aIGbU%_(L=NI_q}|fp?S&i=#zJ=em9rINkSZV#^}^4<8kemznJI zzLQz@F+=HO`331RmPRSRUM@dBRi*Ak5C59I0sZG~zu(z#T5osD+ikbcy*8Sg>`;>F z&T&~fZ-?TW9gq7McW(N6EqXW4#0gWGmR;U^Qf+p{a&ak%Hw#lh)4BPtw^S~OvbwAM zi@ANr%NOrZ+Gsc03-Fy6Dd}-wBGojA{XQbN~GKc=P+d@3!^kYW|Ja_1I50Ox`w; zf2%cU%Jsp0vsIt+g?Ck6xu$$_+x@!ga`x+5C1u}krl&{eY;4_K`}cMH`85o(_q7tg z&3#{^ejGG!XS`ZL(xPSS%SmUJh0AWA`G@OxmCMb#-*2Cr*nRBuPbmwJN}H;4yXN!R zyKg7D%N5Q#b^WCJ{5S8a-|bBQ_WS;SJ8A2(HOGCW^7j8NJO0%F=lz6cUZd3;uS9n6n5a-MmU9sfJ(+~>0Cl~Y>&gih+P@~d8+7k&QzU(e;2QWkGL zV>Nvy=er&=u84FK>lX`}ZFnB8Sv;#(#`4mBewz;mY~mjTt?#$}7V&-a>atDF{I({W zFK_&F+p1Oaqqg4bmfgPv-DM{J{j%KtYx#@U>Bf;0-Z+gX#oeYp1U%$mb< zE(`gdrEOfILn-O&Gql>ry?%$@)X&fiyKk@wUHM^zp`{wz& zX)_mnf4{!&>*|@BGVY@CBI_pmAI+6*KEq}@Q?sx?u4d(QF_XU{3z#-&KeJxPaI(i} ziIe+BMl+_uW6}Mp;=4rFNS@g7`+eQ_-FrUdm`qo^qiMleC!zebu_CI&EoI_&|@fqup0^mvooUDY5UD{jAU4-T(jZ`_C^GVy5ty zsC;<8|9{p-htuh;LNr@Q%#(Yrj`@QEkZEPtJsW-;Mr z$F;k;S~ppb@ED(YP-o^;axWtP%KpGvo{Z0QWVYz93J#C2-MU@0cJ@&y0P}($W%I?JrShn#z&NDN9?7um>Af{AGzUG6YyXbw9b+>{y9iJ93XWChzpTe## z%Wv@1|C!yl`GDJ;cW!k{b0+FfDqrHSz}k_tbt!*%-!`5}Yd4>>@^dy4sL@PhlQf(C zOl1P+{lD+ZWv{1QxwCd=jb)PbzmR(x4s6_$y)+K&3SMyLdzRKEEhl$|bw+EB-I_dm z`C6x+OZR}*NBsEMU;id^!>K2St5iKMbNi?oJx#RvR^U^}v`eXZk3l>Cnk+Wc`G20M z*X}rDqHwtSfYuKC(@$paOmFyVv&=ifKe_h(X*1SDu8Z6AC#X4;-!Odp$z5g_dT9qQymtHao+otBHmy9TYfv&-2TH1{?#|^t}^!fR&i{kpC*F7Q8} zTR!i4Du>`Tk)F#YiSNC&ZipIe{rTf@|L)&C#^+x6|1&tq9?`sM=H>*h!^;)7<~YZk zZMr3RxsqWUi_ZFp=N3GhpH5vmE$YOZ;vV!ZX=iCgzcaO0BTP5S%xd40(} z@_PHKGbWdP>UP*%-pz1%C(~@nPvKA4#gz{{KVSE4v)$cp_97OCIIm+no$dcl+-_vL zc@>jLv&ILbt_ABW+jgFL9F>2Td-hxY5RIM$KKnlf`Vv!4o_>XpE57d zaPO6QDSBaz_b_k>q_UeWe-ehp^THzze8cbKcg^mbmKhQ%u5HSvtwQXanT z@Y{5D2@B7^ig4Sszi;2|e*ew1X!gO6ruuKVBAy>E;E`-uB0@EVEd6WKHm z7<~%in$Y)Z+wHv9fsW!oo0O&(EnVDmQPv^m`TY7ihm~vh{d%=8t>R&;_%72m$}aU@ z-B!2Od}a=sbwV-M+Ib%1qtD{|KCu2jHsizIQwt8s{`$#3Q}dqr zJqGhzoQ0o-*HxSS2>z>9$B=C0VB_w`vw5O|3FEw=X%ep)B(5hqG=Ee$X6<0eD<#ok zE_Lyc`6d3+x9d};u?wuLzad}oH~5#A7F%uCQZAzHk{btb|mWQ`4yb6oo3tf zzxmtEn97l`tN+kKhmgb&#Sjmv+RRxj^_l{jt`9G*V4RY(S>fNFgi}9EH&0ly=vLCs z{~IF zXDh2-hBZuIwB@gSn{kLeZj;%L9armFjO=f1bu;3=&C~meCztc-!SmN19-d*Cyl3){ z)$xB%-R8}e@Xmf^xmfO&irC{53mbaK zu3N3}qp)wrhhCrL60QW3g`tJevRDO&5ZZSTw z_bQ*y{nslW&1NEc^4FZIRopro8Xg;nt`fZee@&2Kl=DZ!RjI#J*{&r`{eQ!@F1%{y zYW6cxr?2xyxG#NZRj<9+Jv7VsUSZt?{zHe^eOA1*efFAR>M_Szr+WGxZ`u0VR_}e; z(TOjuWZ|wVBqVsy^O}-j2z!!o; zQzTFxT(Wbi$_-<>GWv@O`tS!~Ld&-a=tvbe5gDz!6y zT2s@#?a{`qR>w`7=k=@&h}bd7eVg6{Jsl6$Yno-|pYpyj>}!3pX7jls^Mc$;&lQqJ z66SR|{fC%hul?NN>85?Q@&Mny4)qgNmyU#qFPLd!cxX10h`_PU{A>X#!3x_CHZpDL zeH$DQCS~yX?@9l&QRJi;q2zE?%^ul$pW&nEKyaU7)40zv7N)uXS9wgw-T(w$<4jL7V&26r~Pz&et;k z;Vc!f&NZOo8y{#L;J%}dFVog5R%_&@yghiJRgLSC*^l%$J6T)~+gtru{wJ}|ch=2s zOegj>drB4sb{@aGh(VL#s{vL3oP zuiN5RS~QEpFW1{{p}`Nu4!+RJAcmnoFrST`Ch42 z6JPTAN=`Yu{KLYtvzQBw+x@IOm>2x06t{ctqitk=ehX8u#w?-U!V~hr8V`=VYgx}8 zvAHYFFy_zMN0y(T`7}42=kF+-@oUSeCqGw-r|dVn;p5+#j9jRRL%Ii*a{d?5?O7n8un(G_CILM~udR=aMFyjN4Pw1vOhssp@zA5`( zQQj7{agCF-fUWJy?+-3*JGeYHIW})@*!fLA4o%U%c1b63!?ATA_CD-BG)X;2)}SeQ zZSXtSSsSgr#h0D<`@{TF7f;Hp8JmRUmhULoC30>3ht8!cPvn<}e~jgg*wkodvVdFe z^6^EHx<1SAOkvwrl=$DlQlUE3?CYh#s~m1!e$PIA<=Aq#pNDgbSncN{@;uvo44$vw zs-U%Oo3X{clqWTOa#6DmFG~t|5md9l?6ARyq=sdOPKHGMTXJz%VCA13$A1{Po&2c% zGi=^T^;01V<+azVgx3F9a7yrTl~j+Jzs~-Yzp64%+w%`~@Bj4vy}GQ}kEQ}IgDsX1 zN^jnhcq_$tPQNWF*6rlR-iCO=q?i{$-zVy8Y|RpT{^PRc)6SrTSb+z#KkQ{a>O1dI z$+bnAHS;vmG@o1iv&fJ7oV<5JJkQZByH&RRS@5Cjl;JYT%P-cKUpg%3$*VHU(>;`R zMZ*_|Q+f}ya^mO3EpS^9Cip_M7XQLuwyu_nVoj=s8g8TB>U6QkK=&F(&^JhFa! zWvKFkPe%f}({%qN{b^YqQ28la>_Co4-#O-&Q>QM^5WjrJyy8#S%itM)_Ak#~%GUq1 z`|?YPRUa$ozF2hT_*>7nExRuI#D?9~do;=ReEQON$4j27Z&#Xk=l7vSn@qZYbnTXs zU&5fOud01OcU$3fD>dd8=GYGnO6#ooHtgTUHG$__xc=_QLjBeHKl+TAJ<8X5tvIyY zq4joGlghrR!YY^6{b?VoXKzb8WIDSo?ITxY&g;A?9o$`^mQ`eF4`Un7HQZ?7IY_VMVaB~oW4w(q~EdU@%B z*`Drqa|HytmOq%KctcZ$%h5N$`EymKXz&)jfH~h@hwKWrseR7SJ5lpZUT#P2`NZ!* z4kyl}UQXQT@aEo?WmAsIOyKFc{xkW1{>c zbA4UA*6Pb7EVf}!Ex5sI5OHdPY4A1st!y`Z_Pz3JT=ZpE;K!q_=QRwr#r6E{djEv= zS%;(R|1Wp%$^^8tKRlgyC*qFU3mtZgA9Dj0a#u<+UcPx{>5W%~4WAa>vEXPnZfHCh z(&zK?*y7u1uhL^#IT*iwd1biG{;xonh|&d(!>bt1KCn9Y<@#2c8EcPBERCJr$vDHn zkN;)aOaq3Sw>GMHvw3|qoitO{JAzwDNnhf`)W%)G3%-20asSd=hhwvKPZ;gEJMaC% zId;qT%+~$9@XYeC=W|!4O9nbbzy7ecPyJ%HJbQ+DNfKM~Z%ymn;h~IKE=SXx<{H^a z%)Gi!YnsOPX69AXBYqcM(|#SuX?2?M+wQ^wr##1qnYAx-w1RRvndOTec6HXiwyJrO zeE(N|sOW;G3%4)F3GQ5){>Y)exWP|SeWHirxALksr$0hQGG+(Y1eo7tG#B|X|I>{b z%ya5Yb8Z;8=Y*ME32lhE&wP=kllkru##pU2!L_?IbDM2-ed>!I{kzSakeRY!y6dTU zf8}}0=hxlRXKUB54Qk*zlPNuC^)ZbJatq9))Q+k1ePL%$sX6$w!{OHHn?HjdFfg5) z<|F&~+-JL^7OLz^Ca>r}!}W5N`Pm2`$wkY(uL>?;;bq@&FRMJRP(VlF=#9xPzr18J z?Ab%U@8~Fbb7Q02!#Tz0UY<|WuKpct`6D?Y@`-l*&n|g^*u;Mi&X=4@yk6W8srW^d zy`4FD=0tzv08wwIR_3X1XH6{lez)A*SsOIn)XN;y;8T2KtG-^#^I6&JwjG_$@%;&d zkz?us#Y#fvju3Jp6Kao;Gp>|5NeZ_4!Dqdxa>gNVX*xtP+YQy1>f z>&}d36Mo2el=1GC!=--JZ?}eT;67&ich&NhUx0%w4~KlitCtyHU?J27@aJ+oH{*LY}?H=>F;4n)i)Ulc9m7B z@m+b$(B*Gy`RYM&*-7>1JBnU@%&+@AJ7N3v-=ThS|6d7u)#*NE`2Bwd=OP)g_?nL& zt_1t<4CJXcF7)5DVCfsbBUuFwUq2ibkLS5_*edZ*%Z5*u{C#FY@6p> z_hh2`pG}^-^XzIq&%S@={ACx9%wV0V`+c6ARWo|X%ggs8o+1&r-m-uq1Sn2t5B5h`l*?# zU02_}6tgYp%Bk@DJExDt9s$j{9�r75R2EUB18S&ySC~yGwVQS9&I@6*v6yjr?fy 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 literal 0 HcmV?d00001 diff --git a/docs/diagram-oauth.png b/docs/diagram-oauth.png new file mode 100644 index 0000000000000000000000000000000000000000..dbbda7158181ec74f26d64c2b878e0da39e26e3e GIT binary patch literal 40526 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 F699d*AiMwo literal 0 HcmV?d00001 diff --git a/docs/diagram-optimistic-update.png b/docs/diagram-optimistic-update.png new file mode 100644 index 0000000000000000000000000000000000000000..f493ed6c45979bd5636c6c1edabd5bf594d29df7 GIT binary patch literal 26558 zcmeAS@N?(olHy`uVBq!ia0y~yVBE>Tz%Yx0je&u|MB0pnfq};{)7d$|)7e=epeR2r zGbfdS!J~6(ID16!NwIm+lO{N1FtRLZxyK@?$+)EDg427BMM9Gp79Nq{&?-v_Jh*j1 z5~K7ktwjl}N1Bw%#E#w*=jJ-KD`JCoevrfU+Naf@Ym1-n|3ByF`I*J(@Afh`+~Vx> zn9{t8d4l#C@#8E%FCJG{z3ge*z`^0boZvA1@L6HQ#fuIx=s3T zfAfF6YxD8*kC_@=9OoQ6{rH(vjR3=*E^VRb%nnmNrCt8y8pNZ0LFh1pVw}oR$)Xt5 zqnSl}!qbGs4>#@LWl$C6bDzW5@GAAhW$qo40nS_HliU^k6<8d4`8Jm4y%Ui;vQi-0 zSz7Q&P_5f7ek;lP%RbWAo)j3hZLHDTwCIWc3E`&&X@BOw{Bd8^+}-HOVWF_8K7|E6 zCFczCw{KeB;vP(e!(R0=#S~+Ij%a3T(EaZKeBo=&d{^O3+ zx~2Q%JT^U^$@Ta8%$jXZ^1-@idc0d^Fm0@CR8V9}3hj{nv?>2M_@!NAW6WldE{QGleM?z)Y1~WZ(G5a~(Wi$0t zj`6?z@cCFf@7dPl-}xt;mwo+^`*E_UmAuQ(I>S#JEnKGvFWqq5_ot;}&^?i)=X;tW zjz-uh%IkUTw40}Qs=sUU@lNryLZ?MfK0Y|@D3QQe@4zk;aruDA1XdQ=+TPj^e)ohq zEF5@@802qg&sZqfxk*lO&#@+_59%&86U=SS`CmKD&N|`0)tOW4zbV9Ci&l`H$UDzz z4!4sd-=66w+&J6!sy3)k5d3r4nmtUf$DBPZ^Z)+m?Kj@@2pc7Gxfwl~xXvualSko~ zaC2v)i*$_q_hYsn4Jy92Ugb=G@Xq=3k39bhuNNvdN-^psf_eU8BAxYJMlvOie;r)) zF4di3&EqtUEwI1Cy~;T?hW$GGw;je`4j-vqkS=~=lSrZWW~cw2zw?cMJj~R1bD}S0 zicQlS?`{7om#kX5>hy*#lk4`++~u-w73_;VY-|5J{qKZYxg6*EZAZis**9#y;rYg< zOeCA7WDRTfp<5f1gKYNfns*}X`h@Kgkv2C2+&}QwJNt*tI%#t}>Ui97{ZIR9{*}D6 zmfEnaBdvo~a^}wxwLeN9UgjuXPZYU(^5RKJhL_)6|NW{G*8QEQVDHIg4LFXTC}^KeY(4u^9OFL5*OQ@!%Q?=rL70iKA%KP?!; zA8^(YJAg2*` zWWyB2rzfgXxPzMCIP)p1PyFnmUL;-F@kMFAv2?PXhNiZpwxuSkmZ~=A)UGL7Q_3`D z!*?zE;`7ota&C^}HwE`el}{v}q&~@glJ-fp$o!|VYjcw8$3;g1H)(v<%+@TOa(PPi z6!TN3PAxn2?$pIoOiwFMWl#OCH9xp+#h*ae;G5_AGdMQ1*)DEBIH)hh(neTa^q(Z*#T!ct;}*M5UXr;|a>2>VI@j*3 zs`UD7$h&yv#RwCb^Y3vZ`aISU>mzT==Y4W z>3qwQS0280@?zw&&GFCM&Mg;gQ=XyxLs_hUg>+%+k?Ok>ckSC%b2sR2)!o;-=6`un z#aMN-O8bk{*LSZU|JwHJ;;+kJ%wNsF_Fj6W>7`KMeO-bwm1XPs~QrQ#RaFLS@t z2{TVl5biuFHkoho`DJ0tJ}z@z_I26!vl?kUn@cu_rmao;`|Q}WhtD>j$v*o&VuG%O z*i5l(opVupwr|D1xbyvFY)^8imc1$Mw|3s*d}DT_v`?w0NM2PY)b`b~yqsoC2GsQn7fM~mpPu>SAIOBk5e+(WLf2zZ1rgMb-_z7Z{2uhV`K93zFeu_ zr*58``F_vEpVPR{s@_Rm=)L-Mc({4^#_YM->u2wbUKKs{wr`u5a@WR|!gF&UynAkU z{qKt3?)>5XHT{3(>ML(mr&YiE^hPq>w9h{8_KxFm%i?6#>&C_2D|sLC{_MS2J2g9* z`C0Sb_oeN#x&L(AJq*nefevV*aLT|(`F zW{1lMdJfz=@K0g-f|-u$O`Hc89@K8i-^6<}ri^#D{Sn=iGLPsLUKu$reqC@++?M!g z!?OYt8WAA32vITBrxRXS4K*Y)g?PZc#aedS?dXr;Bw=vU^M88adc(~~ndPEIaA zy080lceGf!`8}&Rq5HEIOq(z%VDbmMi}o9BHfH~M@p1F0 z`8P(aocBBH`RUucuAlz?X!_^*ORJYoU;aI%B6ZD~7iYhmTyx@$@CKIGtm`*5Z8l5Y zd%o|?y@|FnCeH|-zk15-S=A9MG|z}_^EI4hRO_|;gkOl#t68rMOTS*JD_l`gEjP*B zaJ^rVMX%C8%JM@)oVYU8mCdLvs&Z#rk34L4y{kFi~arj z!KE)tWlzUU&yDem(Tk}|Zav>M_o>v=)~Eg9ZR>L)T;oG`y?XoVcj*f0bva+|Mr=P>5PWl)|7_OT`MI38 zE(PR9#%`RtV{5|e%ekDl&;2|0V{O{*f8RE}jW6dYFL~Q@^JduNu;9(76RvNH+7cFY zd$)D!_ouf1s%O1=^LpEr*H@;$Wvy1Np8wwaZh3P3i+|Ucdzeevb@{?%7s+bnI!L9N zd@)ZmD>GF!EtTW5ymRZ#&6*b-hbPLq`}T#&UAEiy#^Pzk$Bzf69h%lCyhylK-Pq4A zZ|g4dh>*wt}wy*4C)se5~q(7SH-Syddv$VT> z_4BfGZ^O&E-qq~0elPbh?q%)Q-=h3Hav}c{KfBjX&%VB~{U85r`J;Bbe$V**hZg}=LgLXvoWplkJij}>Bd+G1_RrwQ=T}X?rqBQH>F@CB|3Ch{ z3x5>eyngzgi`APSul;=cTH}gF_V-2iYwO~FIle!9uD_>0-Cnh>>RaV4@k`UU#^>%c ztLOe(mTypA5O74WIAuSR#F~sMD~9#u3=Y0b4Q%Jrr*MAyJb#VCC*##TjsIJorn^KI zvM%8Jx8MEy!TqymGrYOW)*l}buglt?p~X=6jzQMCYzN=mt0~XDG8GRMA9&WWK67X0 zgZm;sXMS$qQJ>csa#ixroqycVn`#^vW$1-6Ffdf4MtG+A`Z8!SFfed1urdlUFf%YP zFfuSQFfd9nu!7kP3|@@VaCQ)*22>3b14DZz0}E756axf!K=}}wX#o>V1>?>I%rG{? zERf<%tM73P3=EtF9+AZi4BWyX%*Zfnjsyb(6KiHjL`j6Nk5zJhu3lnFep0GlMQ#B| z7lTcORYh(=ZfZ%QLPc&)Ua?h$trA#;RbH_bNLXJ<0j#7X+g2&UH$cHTzbI9~OwT~i zK*^3vK|#T$C?(A*$i)q+y(lHkRw<*Tq`*pFzr4I$uiRKKzbIYb(9+UU-@r)U$Vj&+ zB~7=uGOr}DLN~8i8Da>`9GBGMp=!4@A6qj~fKLoy?VPJ4z@N{tusbG9NmwisG>(}Gzwv7SKoC|j_It5p~ zckOCuQCd;rxJya)sJ+4^#|c`Yt3+4>1u~spT&kWZ#<6#a1Je@qJO6*qyL;wT z0vIMNo9b|Wrdg_CBCF~Fj?#A;rQ7rFGVSL$s`}xq`Tdr6cav{#*fC{M{uGDD9t)!9 zOwOKj=0%p@GXMGSxNM|$KeBXWRy?(0M-NEBVh;tWoo**Ptv)C|{d3V>zP0>*t@#=A z`!$K*Zl-@vzrU|Gn6G8J)sg8TOqZAWa@$rPW1JA8@KM!k!9i7lrGm0s>==!kN{N9Hb2M%8lZ8~Ik@USR%^n|o|idUR= z9KF-|d$!UZaqj37{fb@>)^5MYW&iV}{~_b^HjnQYeeeIF@1@|iKv7koH^w>5J9p-* z>+9#c7d&hgZ)@hW(ugTMD*8}-|BqJby{Gkd>-fwxI@r!aMc<|K5G^ zvF~7k>%BCaALp334P1iv?*4v8z(AyH{)fuv)3bRvW*-&Sz4K*W@A@0oKaQAJeR=WW z*X#A$rK}e-KbY6Q?9S#A&-Oc&U3wOu&sncue9rWG%)d7m7q?$-Ed!^8V^bXF#AKYQ zS*aPmx9V%rulV}ETkWSuByqmKxOT%Ku7?fGd>_91n%_0yku*}-Akk{6G0)%b=aT=& zdZoq1B2y-AxS2M)^?l8A>%2VyUv_N2@%>tKzO3GcxJT~tbrNJg5cwF7j)c$4*^V>DW%O{%}EM;kOWb(87`J~`p<@46?_}Z)0 zOaA}9|Nl@Ex1PkbxT?(Ok}?---)_CmWE7FR_3E7sCuQex?0+^ZyX|J$?6a5KKi2$y zyPZ?c?(dh&A8w}4XMOhE1>jI^G%9isoQ zhR6H1t4bOswJ6WpXRE?=KejFUy;(=IeFN;xSLTdd#=)e?FgIUXjLfCx7kM zYgz5g|7Jb=_H1_kw(j#{2UHHl7Cbm`q$g17T+igkvkHA*idO~hQuCiT=g*Jh_I_-< zQd72U*|KEIk@tuB?dMEV@V(6^`^rMT{?EqU{&TIa&NshP(7fCJ$Ajj7e^08+dUwNzsfnKUBQyskKqh{+DZiChfd3v*x4Exj)7qmu(8QoU%P- z-fO-8Ki2fKJhJG{Ty?G~b?WwSm10aaS8i*x1bctaxfAx%X4SpD)xU-Jsr$?jh^u=# zHR0IVyAh?DJKk=)eQ16C-`52{65CmgIS%%C?sz&a`p)kT5e zUZR`(iO=V!c)hs1y#KR@|K~pIcOQ-_O^+$+Ox~Q4a%Dx}KR>CoY;R@TO*$E0pNJ

    *+AdCeexUqTNBKp1jz}EJNknXXDk+WYJczOJ>8O89(+1~)7`Xvf7l#jE&k!kp9o94Gaq0Dbvnyotaz2UfE zwXphInElod`pK5-y4QHlj^m+dp{>vfA}JIZF}@a-u-Wx ztDl^C_wDNAD%H2aksmg`s=d%C_U^(GzOXj7L+VNw&rH6)`u>CcJZFO}PDuUfEuPOS zFJ->(-DJfBw|f@${%8>T@UYjvJK%cf3DzdvPZs9{=9zC)-e^2|rt{Uq$8GrQuC9-J z@N-4KT_fZFhbxXLr93)g`t6nb>Nj&H|BkBGb*NDP(N^eW!({)#YaNHkjt6%ZId3#f zIKf{wYr^>pM=$Dsh?uiL`2UwHKEGc^uYP-1ns3wdWBOaY<6|>F*IQiSy5OxOqM6on zvQ*n8V4*)(fkgNT{?ZH6zMYA^pzy2p`iA!}mb099QJYx!fStF&xlzCPYW-sd{tp-Z zZ~kKbS+-B`O~jhzIqxl+{B;&7aU@%w&H2;%ckQbwRn_@VQ{d)0n*zqQwY_q2Bw$_pfzew7@Ly!9!a z-*>D2J-fsIjMm@Fv)Itf`~JqMx}T0)WvlMGfBW|(v`wSo_8ivNZ^ixBZR7Mdzj?*< z_M5||w{t(uTKnzeD&22a)>!?%`8f3556`;XkE^Px|J==z-k;MQs>!ss=Cj`HJ&EnU zal6mP#cerR_w66s?STEEx|3J9T3G$r>-pPP`TeY{a{pD^Hou>p``SEb(XH+C8~@&T z&HXmJob&!p>9>FCTFZjgUn@I5r|S13UZZJ`#j2tW+*Wux{yb}3{Pw~7ec79*=X^-l zaWja}(3{ixrYX3g=|G`cl=H{);o&Bm%Yq(B9&}r{V$Y9zMZeE2?tc4_fAw2`eceyH zs$3rh&TDkJ|q>oLIN>d-ClqTMw3b^)6hqFj7Lt>KMbq7bhx9YoFgx z`FwW0h0je^iJqoCS4u3V&7NIRfAYnq=;iy}4}Uqo%QyON<;4H*Pfh(Ev+|XC8;>ft z{Cl6wof}r2TUVFZTKn^aQ1yr1hu=KX|FT`Vt!#_f&a*jtw|UOw->_ztSia5Hi((LE<}#giUw3}2oXV8GPU)8DdovMwc6O&S36GY*7bU#^=jtjp2u&t zb~1KtW-wHHAav%;g;@RrQ+KWlK6UO_sdTROG(%krjSmvXW=`_0<&p7=DqAAG)8~uh zrAxoBR$GW$_!`y+_Ah4kv-mV6chj87({eYpr(M5!>FVq?aSQi^+pRDayDPG2=LMd} zG8TdJPd+~Th+n~~=Bwa`Oz#vPi7N{iA6U9F=)#YkaqVH#*WAq6ES|URXXw{$lPqgE zW6XY=hRwXYV2Xg9`YYpLeF+Qa+2vZ#i(ae!{&BPZhV%Bn$Np`|TKl)+SW5P%Z`x)% zvcsjf##?9aO51id#Cu-x=iVNTBNa!hdW$FhiVMsS{cz^7^xC|?ZjQbmo~YY+o_zB6 zRe8kZ{wEI>wAgt>buL?Ez2*75cO5&7?jJaqc~G%?oAi{Xl*#6v`>)^ZTl>i@J#V9C zcUJAcj#a;EoQ?M~@CWbst8shb!dv2VoBIEqhx%kMh5%vac3c2~{P?UG%VPxbTahx1SV^?i8Y_>x&Ilb2=X zzweIvD`+&Em-%P6tf=Ys>GxvOuE(0+FYE5R=QsDF{%-Ll=eAy0^8eSy%(9c~?Kbp2 zQD32ue}SPY=vvqN>sRwWe`B;Rcxd_dqOawoU6tDAw?9Qn=lQMuH%^-n3+UpAh9Ze>#P z9({E`KZKawzaaPL;pzpo2g)rjIkTMfvtKs-@1JPrw;MNCtzy2IlF7Ti>s>VypH9rT zQ%A3TkeK{<{kEm5N4I&s4BcovGvRH*zw`eyRzUkxImOR&BHy-g{%pFasVJf0;gy^? zb92(-yWiWjcE4EUwfp5B$FRs*`O+eMb`RzkznQgPZ&UfQHCyh@?KTQ*{}cA}+QKV2 zrQD8TOE!08ta;#OqWtsp8(Yic=J&Up=(AparmpVazisi~h0N8C_r>R^-?chBuXg*X zU*GedpZiv+{(WPxTiLdx%IK{{0+AE92Y>nfxbpSe3G;oo8M{x9XzzO!vNZlUQ)bd; zZoc(fHut@st5NIZe`@Mc%Vqzk{nWkFsp@a2^qJ#T-d*9!uNRD@Kc6tNcJ>QfJ*`vR z>&h&TtDoPm{jlNP?fduc^I0$0`}~KjY3kIu|JzrVy`Qc9rntRqqm$)IjqH1w-tX2Z zJM2sie;S{@W3lErUlkY#>w7WT z%X{x7w13f_Ds(H?zBXyy+PM+=$?M*vKA(Ff`pem`vCZ@CERMdbsqBrdD%$$?`u0P; z+pP5uF@E-CX`PcJ5?!YFUvNk7Vm&`;UhN=$A+85|43DMFina}DOt)Kmq-Jfz-gA6Q z7(XBD-(q-5ik;qs>eDJqiLPbxUn@U)Rcb$1ocDX%?k#G4HcL$xe)xBGOZSB2 z+^Cn|FUg#A2`=X|k;(5@JaNI{L*OF`=CTlthf4yEhpBG<^=yfj^}lH=zkT!P+v3cZ z^L|UG&CLUIzgZ~WjNW!ebERc2%WYYagH7xaYbKow369O*t6z6pZr`H*AA6@iJ~-oW zMzg=jgU5eTWXiT4Zg{k$b+Oczlr=6@N=fJLA2=G3y6wy5$Ws%S--}!Le%e;vYkt;t zsY_Tp-y5D1d2m44W%Z&54hbQ*O(wC5-8`fCN3hu4S}fyC;IYbL2d|BRw&$FuCuy4a zdaaY%lGgBcO4Kx~?*$&29DW%Yxr`OiEMG1Cdur# zpx^W;yOx9hG0x7W??M@x_Ag~$xL(oc`pll+S}gI^_vL1ud7)C0XD++hXj>VC{ZLqZ zIr!6M{ov!v9C8*io9~n9+Pv02c3FqUqWKa@+mc!S>C{d5J;C&cki`qHRIALK>IVt& z1$nljE*oU`-BPxG!6K9B_2u=Z#k)#hzgqj+{QgG!Ik(U1*=(JE_;1pZe|Y~E&7@HL^3$vI$vj(eZZXHWX$9xz)_jWcsb`rrs%2q zWk>cnuwVMOsZ{S%OH6C6qx`uUc4se}Sr~tg^qRJ!cG~stdq3azVl1khe)?iks^0DQ zO;dGs?(7rjd2vW7bG>-+w-*;~9kVT)@b%T5W3uT=46Q{5ze=+o3x%D})DoS-@3e(` z-L#drI<9zlzL~IjN8o;;vknI;*2rJmn=JkNZ@(?&W{+4JB;Bx^_4V$$<@w^t4pL8g za)YL9N}cyk(9b_DL_6r|MWKh&I|?67cy{9Q&R5#ZZ&xq2j%+V$y{FEn;C$r7{ZCsN zza7?pze%z7wC!ESS$wa9v)*nIid59knf_sF^`qoz?=vfTB0RRc++JaF^`J?Pjj9Oe zIl)t0$0b=exMk|im?N~5$HY1M#os0uFNy-Is z)7f^a^wo&-`GcP%r^KDzA8H0?g|zlXnf3NQSaXp%kIqeO1rteU)S>4s__%uAN=%TJz_R8V+8 zGCM1Ou9=0*2jia`rdXNm6`LC@e*I>E?w*J}Nir3u%$B)7{lb3i!pqY!-TR(wm}JebKL9Kw4}-Je+*YP;n~ zq8Fcp`Z0-<&o=11T{!#nrgDW}oJ~i(zGTmu*?;#{e8QjnYl^=vb0;5F^vq3h^0sA^ z>&}^Tc!8?LPuY)E^65eKX~$T2KNvUguAQm!jH@oKb>>Yuzg=GqKWfbR!6N^TclzXQ z1)XQ3!*he5>23bhJ3HshnUlx%UEb)-zu{ZF<>9ca>$dYB_upXt<^PP?d8xSzzV4V- zW95Emnt9PJmrXZ$TCS8UbV{|jJBc~88XC&;v>old{!+fKnayJRhXM;z8}*~@KbyiO znOXnLoXlqLv!;F3hkr*uM~AZOr_0FJE5Dp>seYHuKvSdt-s2v(Ba^C9xVN#2mw#)i zxFGU;Z6O!epFOV6**rF1(0&;+ao2=55j*RI5{{h@4m`sw@KC00^Ao|8v#L7;J|wi7 zrxxygv0|>#NBK<`oUBWBr$jGc{Uuyw^=C`?tI)SU*!N%3R+Tw_W8vYlKr@Yijg4z9 zF7n>dnDcz)#5}EFg%szzVY}a*Y`wPKdEMEtgye~3X5U_)RZ_Y6aq)S!y&Hl#_AZRQ z)a$i2S+V`jA*FpCmu@8Qc_eZ%jDJGv%gtguKD$~%oVf&l7TD}n`rE#7*Pj$!gGd#F z_zz}j%tGn`2kb9)Z(PvUU$CXpue#1ieFEe1S+NZtSeg9pESXe0t@&Tl_Z5ZJVmFt> zY>G(g;B&X1sr@GAgXE@DHtWQBuv|DHYgqwu2YG!%qn1yD`mW) zm>jsc+46n;niD>~>#{E^igNXF96G{T%H^ld8q4zdIhRCD@5IIDA5CJ~{qHsN-m`p~ zuD{M)+^@aGwf&>!WTVcj_WDY1T=sCyW;S=9`1{_RWlcN58cuS4EpIowVRiVAkWQ{(2+7uhIx9D!czHW2fz}V@B2GN5y7qEvkKg zKuG)O!|dBWD_J>x7hYQOQ~J$T{%PIwI)e@#v`eZ;zrDUVJCQZ_+l8M;l&f}JX3xEG z?flfzlOlP8OfLZ~k*`qkM~iGrFhbT91bYe30G4P`@$ba^BA6 ztGDFEE;tc;$p67t`>6$s8XY?|;?%OHU90Y!f8vIpwc7D7nj5U`ZzYIpZ{J-#J!!eU zAB$@4yJI(RJz{9uo;8)7xA)}UC%<&oKAiOJB}2!*Z3pjPx9IrxUQFNI@RzFjvbDs-v!rXn+`DfT_aFEkA^qmKyJYglhOqx@hZQ-h#eyh~&H59^-X zE5dhEcqUp)*KXR8axiZxr{0$16_ec@IF^Tb;G5 zRL1Jgu6~KkTI*>M&lA~i?7C~6b8v~~w{Jhbzx{FX_{|4@f2ke_I<<4N-X3q0G(Own zD)SWXf2WsdzR*2(>xN+3n=8iOmlQf&FDMClD;S-`^x{R%@eV`Nt2RGNrwJ7)O* zea>$YyL5k#$+xa85YfN7Rc+FWi4&tjJW4`8&p3O3j`5APB~JSmxO+ute>8vpv*}!` zO9_KpV-sJLqG?86v__QN;U>Q=?%z7^sVhyj*ko~6Mn->nJI}g@GmPbL%s;X8d2M;c z#K^T>pKZk1qtq6&y8oZF+U?UFYwz4mZ%)-NFW)+QUUU|Bi5lxfp^hi=aTgU|%kXa5 zT~cnhX(dzsD)0aHGG(tS`(?eJfNuNVuwtdY!<5_~oU_kZ?~}M}{bG)Y>+{?%?7Q?g zZ&<#OYm<-r%vg!Pel9cieeVk3=6!PVbJtP(DKoTX;=a_rsrYcEGPK};;;Y7!#&hbJ zxO9YOOm1NAyVVs<;6-_%?mk~ z9_IYS|2%iY)vM8O=Jto*e4lpZ)^&fa&BFXIpX@xz!MeKmdC}h2w+$y*e3xV~esJKA zMD!xp4ynG)?%rR-cOERaHTAz$u$=eJty@uxI73dD9_CaJa!ui8|LK2Tf5Ow8wEGqt zr%N+0a`0I7ef5b0!H-wJSt~iaB-nLf?5))Y?nUmnxNrH}ZCfY3x~(^H`igD0RiBps zDPCy%+imM71(k(|PWy|W^px0n->Ujc_0q6~Uj#}zxz~sAt$yaoot-=Nlh1UW)f?sa z?mWf!=F*{k#a`vvvt~c<3-mp!w)^Qu(Xtl}HLgOlZ{@44-TwCWHLl8w>Bq!&|NWGE zE&iM_7n}N{P|F3!duM9tPDxJJn*K}UYvu3T*+Ny@ra4UyTCzddAm6h$_WJ{+*LT*o zt`)B}uibNW-fvg$@_8pK68`;||MP%n&dG1T(kyYWEX&u>|qzwNx{Z7m?eGi}#K_V_vZ&;M8UU7uSY&{?~`c3;kTn0DP2(^*?o@qc=K)E19z-x`?T z{hE04@8fc=Hlg;mpqLwn^d#;cjN6;rw)ew9uitK|8>cQizo+rv!E+OC=L&D%Vfg%- zM0Ij^?oN-csK*K6p}un#NLX!iT7E7zyIXAi_Umb0W?9>A$Na6odBSV=vo(KZbt)(7 zd^zUV)OR-bS(5CXD^0zY2UkoNe;$2%TdQYE&{RRk%HmI2)tQgHX0L0#>vZr%D3we4P{Qo9x6SyCiL62 zBdx>V{{-_N~`*Q>;%9>X+K0dZ+jw@5m zk<8yrYYie+6xfP$pMK+^xu7=eg=P{c!J_ zSL1)b@bE#7I}bzW2+DNlxJxXsIQN0|T!+V_qvFz1`c_uT)>Tb4o3lf8W@a_9fBcem z`e#+JF58#i+_Tp_n3EDHQZ@Z>wo6H*PVfAn)cy5!8*Pok*-umaXxtHQU8*i_6}*=4Z8O`PUU!^k!)|oQmpsZ7ch#=G|T`*D0@aw#i)j zw@dZunZvhk8@88x-6C%{=VK$^d*2K1l4gGSWAl{R-ac+OQ&Tsu_B4ZU?}8pxzIwy< z&?0Er+4y|^y_+u7*)Kh|-=XT>f+XwrN9NtSoAbD;sY9dae6Q#Fef!VY&56wo4$s@T zPxPmm)9xJ8Th~@kIG4J;OV%!^_>*ez)mwFcehGKK-F8v5Y)!$Q&tJ8ocWt`&Rpq5- zPxiV?7RUS|*EVl{RJ-w*HdoP>(0!t}I$NI@y!~N%QL%T1u*_}NNz&0wPYoBT{(G&cFKN}pYUq$q!eU^`X zxJIbc&FtlD!-pS~@&$FvTfXpfJKS=K3SYLjz)@dlN%BSRmzXj$zWd_ zXLdR6R?1udS1-Oi+_qZgruPep4VCPF9Rrk(Nfq1({O{j=;GOnwjScNgi9P18sg^T?uDGyV=GFMe?-J+k zEl_UxxL}Xk((?P0v)`24zsYv4+H`dD@s|pRGQ79lj@}e;{=Pv#;LC4aVJ6%8)7Ec( z{ce7m{r`l$wNGDsHQV98Q)ai!?%$gdzx_2f-*rjheNHQ1sqFvVFUuT$ht1Oy?Ay%m zmK?dItebcLx7fKl!a;kZBi3I#`(}^wt=lIa#-==wv0Z8&67^O1_znMezi+&o6PEox zwzlExn}`?J_dE7Ix@Mto^sH!3_7>5K)0erQaz44SH~q_o%Y85Mo;Fn;dl6dpm3ec? zhZOF`#!7;|OB&Bz@Krg^yY2$# z>EH1&8T%zxhlrm&ogDsUJ74PB8pDQ%i*?V*q|Os#<=?;OLSAL;?Tn%Bf9&P|)6oC&8-I|;gZZ|%-`(4) zU39}mQY&bK=lnCq-zWUfXFcrvF!fJfHTyZG4by0rChPZhb@A{wF zF#F#=m*pYlH!iAg*?4YJ=k*eUuX}e&|B-uXWVv$n)&GXi>sRD<$5?MG_Lly9O-lOn z?o`i|lARMIV^gF{4uq|nC@qolV*Pr(4eS4vZEHW_XT9MhD?I{a5pp zPgkPaJFV=7;{Hob-tABNB*QZJPYCY%&-s=4aMqhUWt$&dR9?Gh&4J4n_vY`qweIgN z8)@6cb49t=rxkH6xa=gmVfWJ}%WFSR#=KrPyV&FM0l~_`LqgUM<({7LpQyYhdx>7i zmAYwsFYOi_-ZWi*{nkl!xwYYLnsdWe9=-S7{`yVvLwC0*SidKb(;Bab~q^gnEFvDwvAomf{x6r zH?FPjA6VG`Ez6Ye{WEGQM`UZ)4j+wcW3sih1`BURX69{r`~UO?R6&|U$iHN zRc+Pu+^zbjFWN@@ZCrie_Tu$twsY5+UOrW|Ws7xR?s^B0xwYT_9sTy{O;q)hRSTn3 zww-y=U%zMT4Zq#l%Ua5p&n3fbnRFblQ~0f1ReiDlW4&Ce^KX%8V;keZq&?^E%anaq;cvK86tgs5zT!9c>Nnp` zUj6p*dt2mmzoYvq6cUPGHwTM8xbP&~r~Rw$hULq%)xWlCNiUguh%qT>yJhQ{&`Wo3 zTWwC*Y<8P*`j)Lux<~kP?;n~Mv*TpmggU)&35ki-kJc_NyL)qU&XdqorrSr({rG6o z8+awL{B`fzZ(n9R$L>G8nMK&+vc=~OUa!|4a88%qW*-$k=~>*&^yXb+mCH}AnDp;r zzfMT_x>Z}FTdJpT5-YnJ&K@Og`PhsXYOwP&-ww%7eV z=lTCBP5+m^&-dSdV%n*R%N-Jq#B>}f=in9;+?FdxP!W1`xMbb zxAzvW?A;wa(Qxnn_*rQOzdhUVFSYE|10(73`%1S1l-nIryG=ZI^3$mRfVK0s~#(sON&zrFILA!lN ziBRj}lKl7;8S&nK-`A^c5#OZLKmUxJef{Lx)Q%vpzBdnF3T}~FIQg%=MP>KgKYumv z$t^wjEi|}tNvc=VRJoA44O*|Jo|zaGz3XtmqA4e;j~1$V{lCCn{Pt44&ea`KZ+LWl z*8OwRU%Dh@N73gkB3q9N6t{o7A3rxgzPe~*;e`)34!V9je7XA8L$B_I2Fxz|)qR3R zLd|Eye0?i-X!D`@55E0MRQ)=4(PRAw7R}b(TTUv~EGHT|y}g!x{+30%22J~H9?pTc!-?{sA=&zxYswdBmfZ_|`w)9)MK z&a>Wm$#3_%?suP_?Mpp5lV$DHeQI7$raxl8aqh(SSSu0ktp+I~O8d*4wDYE3@#C4O zqN|{qyxi8}`ZxV6YpwRnuF96a9rgQ>&F=T|o8Qd6yzJJq)7z`%#2sxOtaU#>&uVsRzAA9 zwRTO`q3C5#+k8*I&#?U*74<)E?waa;uGjnCBv&uaY8FfToO}J*+HafN|L2{*|JhpF zti;30|Kx!imQB~#zv_Pd&w5JB>&(9LcM0)_FK9`Z|KPDyP;&Q7Q|LUg@doemS?M24 zt)^_7DEH7Lz}9Nk{m0W<`JS?VJ6z2FWv-Z*`u3O!AM^_{JbyWDl-Y6AJNr$@$5R{j z>AqdI`Pa(_S?tloZe|95-}-IY=T>aByH(2|zJKe2a_?&YmFe&IZn{-h>gjL& z@4~uWp&5;_wdb8~J6OzL#Q7s5Z)@y_4>s08+n!-(QNk{ zDzUOvk775!`IW5o=1g|GMcjp&#YOXP@)lpba%Ww*z#}hK=?NdV?=wE(#+UWHpsI96 z>hyn=`|d7JIFLK(^|Pc6;rHSbx7+MK)MvF}YwdgQ+MFF?|6gaB-Ci#@KegO{?Z(60 zgJ8l^}$s^yBp)}@-{E}R5{OzspWy`lXklek534^PxRGXkW)V9*n4l+(M9vacGY}b7bfrg^YrH8H`Vp=%Vf^6mffg( zns=tK-{Zq`>4WE<1btClFwa@Hf+P0H*}4_hrR{eOBgF#yZgh&4-Q%?VdXOtpUQ{MM z?EjOQzqHKmeyXmzqZDnNIr;C?>FmE6w>7Z-<49R(a!=!Knn3IN_Y>^`w9*%uUW-mv zxzC?|zH_1Y())Kfgjm17ZvSGgUE5>HMwSW4JtfieVl8v5-K6bfi z9{8c?&|>ME=cXMD&7OGRIp^UkUeQNeLz_|T- zfn4^r?C!NYX7c&Hva+5kblGnR3c(~Xi#2U*k2%MABy{P(eSYF*L`<@DU?Mb+Dl z=OxU@xbq_2rT*uH)-OA(Q%o*?`Mvs0)M4%)ZMs`;?fALC=yyfn+_hJ~%D>O>v%AK3 z#6Y%Z%>|~G)#tWl`E2Qb>r!|8K|;=q&pQO250{l4tVmdEmK&ns&)fZ^=GjX5Z7SMZ zl0S5Jv)!z8U%UO(m(8U*fnR{vkxpB_z;%U+-*-M#bN0zqJpoui>%&-4Ik8t0Tx3BEnbX z^nLI4{+ZJ~{+^8caM|5rW)F|#(U%KsZy*04(P#Wz%e;5@`A^mRGOy*fx^3M zCeD0wMNls2{E29f^M+-0#|72q&o1TqAN)x2&nyem&d-O83ywc@a6hipUiH8s*+cqz znd;XMTDzuNE7%g=&OZo9vC&3k82TrfwZZ|CV(DM!j~ zFYsGCXWE6bM>3Z47rn1^FW;ElrnYU-iqMI*@8A4=J2m=VsqFN>fwTCRt=+UdJ%7t; zzWnUZ&(?2bOd?>}|F^n2Z4 z|Nr>@A9c~Q^`F<)p8fw@li~WRgg-Yo@i=?x`n;_?5%fc1nTCs3#M_DC?gtwmu{CYG z)nxtlMclWBcg}HZYE1WKxT^H5oh;>QX(jTqfTKWV%M<5Sx3)jL;l!0*zIV&tul$-p z3syY18-LBz<<_dho!rlkOEhrz8Bb)BIk&TGPRzF>M%KYQueI~6Dw!iO?ZEDfk5{^mrDPslD(&Hd+Fhcoku_4YHHR!B(VIjLXyzo zfT|S!7}n<=u6%h{#GaSGi_0*5`FGBb!&1BMO-XZPw?S#LaE~6yH(W?K^S4u&Coc=j)8$F0(6ZT#%3n zT$gwz{&&L4*xy%-tk;BV?~dHwC1bf_?e@}J-75FiA3LL2o_DOFueEAsyk*SclIoC% zg1eO$?>||XYB%*v@!x(S_k-^(UH#U+I~BY0*sJX9t7<=QYyWSrFI(jw-| z(4CwEOudH~cgxSMU+`REQ?k*+!>MHteK-FpxDuNFPJQVbkG=|<0>-{&-ak~obo$Rb z9<%UBq|7vKJMLo>Yp36qeSGbf?D;jDw$*-qJBhh#YeQDHd+&=!>XUc5Go<&CLyxmNkkd(IEo-%r0V|8{PfM${g`^=|sd7dk$1-q)A= z{Funze#M0f@h&be+pRYUpHguC6*^huy64iflfPe?@qJOrWxtc5hflpZXMXKQ_VwBY zy8mo;Cpavu%`4a`TjIdJ^vo8MOYJlB?>Vt8v<_U*viy?cYe~1Og`Uq<%J}#~msI?^ zt9q;M-02G)B2r%jxbyp)D&;$U7}yuj-TQz&zC`4r%Pr%Uf;p4lCcl#0@nZLv+S6~p zNZ-Eu(8n^fKhp2Edug&$xb*io=X0NQeA~9OYGQ8fqw;H;5@*+Le0?zO^YdE^cT2zN z>-4{Q(3$_#Qe&KPS!I8Kv_;B?L zX|9?%t8&|$FCP@1Gcn@IWxluuy><301C;M6-+JH3{4$nFVe<3qr!EJqD=1&8;#o24 zQ$WMH>!Jnea{Ikkx$SCZEQ{OJr>DT#~*z~Mh znvp8^_I_U}S=M<;KBrIY#@?t~%D0wU2U#;s*&4M+H+t!|s{D-qMeA3q2`p&+ZuTSM zan>P4PSF=^xmi13dDNVqp($h6@~!THe{;`^H+NDeNz3NMtrxEA-(zw8T~%#s?T3Xj z&p$o;w)yk!TQl9ifB0@Gvt!uWG8$tNW13vZ+9rp%{5Pvxo^DSS68(df(i zz?(bwQWbApYyXV*4^-y`Kak~0PuGyu?#{Wmw!QL}!1w>blO(+}o~;aY;;mb3aP(mP z#%95{6T>S6cDwD5YiWO7Rr=g$g_m2~xn~LLnz4G#S@I@Dc9-wpteR3Tp&yZc+NhxB z;asaj7up=o*WCP8Efd%yAyAL$(UN!f9vU+#nzvZd( zKmVB@^kM&(zq!#%4K6jENafaK>+b$_xWD+=^uR+eqgVVn#@fAl>((nLWmEW0y$MlK z53f8T+O;aoTUub_(t_Sl)`y%^r&a#aWK26Q!>-Pkt{Qkl?c2dEQ@?%MQuX`U3nT0Q zQ}*fU6jlg4WKs!K{&3{sl0RRsw*LB7);za3ME$=`nZ=_yd)yrk&R_q;H>gCg^}f@& z*w@QEQ=0hA_E^+5Zw);c$L{*(z@(b90&YripDb;vnuYEkJLKrU{q(^{7eY73TEA&6 zpBCNkm%FBa-KB>v7JcH6ALXSllAbfet*udVVruB_Bsb0n2~#HiU-l@z|I&siuai;V zZK^$Y%&jeIuD@q7=dI+a&zp;$wm1uj_GC4G=$!m0ZsolORqMwlXMB6*FCJz;cB

      h1QT5wY5bR|x;sh`)Kn=ZIwmZ))%6!(}$CR!f6lpG($$KlxUDY*Jz9 zoVaSnoP-Bk9>k>NO&07}BK|k$+L>SF8F{5wyOK_Flz#I+uz7-yjA_;4@LTN{k6qZX z;X{>egZ+ceN#BaDW}4^v{{Q^T`Ax6qY8(5KPfSmh>~^1e!+-kClE>n=Byt^#JT(2! zwTjnu}QuX{30{mufb zgAXrgcbGT-4E=V3kFPXoilI)`)!T))xmaffy6$4DzQ5#+$_%YXDz7WHlXKTp__J4?{Qj@i zt|>4%d;b38aaSL0Dm~cz?c061&AVBDKNM7tyk2Vj=Jw^djg#-q&#--JvHM(*{TEjL z%^!{&OkXHx@_}R1yu#T&Wr|J5XC$W|&RoFu;pRD!?-Jtg6(1)hPoFEnUu&>_k2E*y zt)PNE7iup|e132DKgV-3$`_pwS?3kA#Q!XR=Ir#?+uKV1Zr6U>@bfW4)H*A!m~BfR z?vp$9Sk1SwQR%l#PIC9%%LNevnF?QnK8Y?p`)1L8y>GD-g6+a{;{Vj7pWm&P+RG&W zS@YG>ngh#p+$~gArk`L?x!p2JP;Mgg>2=B3tdX(vGmBgAnjdSoeVAZn#KJ4tw5o*7 zF*E4U!}k0R_xsncXZhzO+wb1dF1zl|`-dwh^T?e^6z=I}U}zTl*1G!D3MM_1*&q5l{0i5V5DTzecCnC2~#lU?%6%QNTUF1Z&EP8uhKbc;JQAC+(o-6!$%JcmZW z@!$^!CENNhuH3l7RozMX`q#|p5T36eB;^k=IX&>St*Fe~I*+C1hv;#OUrTLklcYN= zj{i=4ZDA5y6p>w>UN?8`#olPy)Wzo6A7W}b&SuDOxZ3-gD@9Rk31ffy{Hry`gMRUes7S}Au-MaWtzfs50|S8J@$`WqQ7Gy zr=LuqrgOV;1nrrxE?AGiGIE8FlWNSo09_^I83$Er2GHSw1fl$&(@@1ad+%hK*&D{J_4 zRa2%YX!^Shv#H;v*A>rNAAGw%JZIa%TU;`w4%V}*3IjiVU{b&ES50(%-lDfoO9eEZ z|8$-^GcZhQ&XjutSnuAzwqLF6UJ~E z{hq9C#!P>HOp8tni-JG;FJ6v39?|3GM##{PWuxjHh!J1etW` zFyHpwpK-EXCm}becot{;-wDhr%quHfuRYm(Xv&)z8&vPPxk=2cEdR##cVhBt)eMuw zM9+`fidXxh)k1XZrZ$T8YDzd39Dk_L<(K|-pU|c1Rq0)KE^xVjD3E#)uk;|MwPM1j zcR&B@+_fs2t5hXyazFiF<+Q(E=2v8v#C$g^Qh6bN?@4S?!9z(dKSsB$g(h70ZY#W zwZ^hC$2MMA@OqlhraRO4Z%fAOZZ~`Ceyi|!@5Xe$_vyL6dNu?mzuPYTCGKUac=Ymv z>vJGs-}1wXjO|10gj zt=_dKT4hT=JiTeP)HJr#V`c5fSB_z7>1)>Pm@4+_K){x$0`8^7Cmq*mOy02e_Ph4O z)vt_ioDjb+e8lpO){-xC`Ib&@oO;t}-K&`0m-iJ!uvwKNt z!^c`2%z2c5U1rXS(3tY}HJhbd7IW!4JAV-=X5pQop0OtDKc~zS_CVKZGm{HaHf|0w zuZj8Cu6b>{&G|eFcXl>WU3c|G&JTW15Kb`gpR$7c#|M>~J?gHL?`_eSFEmox8?JqA-@0{m-QEk& zULUYJXUttK^Zd=XFTC%*xXzmNI{fS0MMoc>k2!J)x)H9pI*EFeLQOB$sYOZwTkieE4^1^&)l`%y2ab?<>Q|Tf?M0<stbj{{^*t=k} ztB0KS(!F`2KW~cOeG~Q6jDLUfq`NAP>D;d$cD~N})ze#c`TFk2>wQO8K2n@_=}6zD zwG#U)Q`g4+d7$%q8DG=ZP`=MCGp}|fyxS80Y8wAG&Yj}F4+U4B)6)MJ5YSFP`c{>#6aTf5qy zz26pZYjsuJQsbX&5}TO)Y;zC z`aLvlTz;jik|F&#;1OdXL`TR*>Y_5$&1&jAH=KAT-@g&p|87c)n|Uei|;RqzJ9y% zx=MK0jYf+;^PNxh`{Prt|0~|Ox9TaQSwOdoU1D6=x;uFl9>v!JYtFb=Xl#&dKJxPD z%ta4aoPO`!r?$Mx!&%FF;+!R{yME>TX|dX``5;ABLTBRV!#g%{e|~lG@)ySUms!l1 zuNQDVl1-Ur7AXJV#bk}pdw#KomS1Zn@9tjX`aC)3_A#N^-`>3a_GN2r&Iifzn@!X2 zZ54hRZaQ85%90hm`X&?WDg^&FT|AcX*n&;(%Ht&uGz|W&XlMIT`|d#6)!%v(3w~x? z%d-Bq&GXxza<&%%8RF#%3nVu+_qcov;XTOM-l6e{C+3B9h3T)OlFIy3s*byJi+Tm$ zoqx}D`=UR!etVxY$r~8sr}j~ag^Wfw~aER5DVwthS35sMdn{EBqqWxTpU6*aoOw_dMm?!c-DkZhg_nLc<-$e!6vuEe4a65eQYSp{* ze)*gXyS}TD+zk)CUNUDly?b-u?ynCftHlfR_Y`!zelYQG={h&-CH;H09r>j-b?pL; z`^+}_z0nEs*GwYVTkl)m4qP4jT>k6R2>@B0duX- ze>oYR#eezWcg;)duSWT7zbe`Kc2QtsNM%-1z~OxX-x8WCX78W5U*n8o(NP(tv@^zy zGO=pOr@yw|5Wly2n|R9feRX%-vM(E-FPHDgW7lV3zj30^`k7{p#;U}hNu9e_Ckt*W zDc$?`-%3lb)i)FEe-zov=I8`j|Iqf#K3teq9vJ(h>HWR*XD_OGqTjq$|9VRGV1XUo|IROIfIU zt*Q04{7u&s#|ggDFOQ3HFeDyRY|Y&rCU#5szHC-~W#Yb~IoEGb?w%IeddNzgUvJxI`|D?aeOWWX z`1rM=zOU~?67ElVFhM+a{e0b}dku@CuS!N=PR(cv$zprmwewWwRkOsOY0(z(;YU~M zYQMHSRexCWv%cQa+i|m7UPQU>+gBMBZJm_iEqK5F59>|X7-#r8<)m@zFSxJMe(ljOA!s(wx2tlci(!icQcQ_ z@9Nf=|1rzzLRWj7o}pZ7-MMI5&csJYimm>BmFL;KfA6*naaXVUxqSXtl2`6}L;LOa zUCrCO7fI!G>t1Jisy;b;jZfggq=&&OziRxh&$#LlxNqU=d1@L-6@Lse#iur1(|ud= zbmh5=N>3kVnuh5rJw3Ji%@V_{m;dx$4S#vg^Kit^T~i<4xz}n|_|mP~A=i9W{WIqL zk_|x|alyAYr(O)4XK{qNYWr6AeOGU?wQs@>6ARFPXb*^_#o9HwJ#*%Ol`lFy|rTGp?TvIx&ZT>{_>S zmc{yeaugpw4m2;=4`a!Ja&b!fBr+4jT_H)mXE%g=CUOnG-_YLLGcTJXe zPgVZ4D&@g0pYvIp&NHnW`+%TL-O_GEieu5nttS7rRpu= z$Y=kLP0aq$cDJiw!eU!L+4JAL1Ox3Y1QQ&8=Xy2fZhB^zUD&{2zH-C%dC@tsyUuJ7 z)~`Fh?EhP4?S22;rxjlc-1d0q_10kSkJV1e8OUkioln zQ)^7MXv%yJMGKa`3$6RVzYkxyGbTm+m6*ztX&P^8?ymZ{;laKSIa}A|X&0~yNVxN_ z-4Z=7Dzjc*+j>#WgecArJL_XJ{;E!{T=d=O?WU(5$7VYOO#PPoRHXde_S^TPQs;Ip zzrDaNwWwwL?Hwmq=eCq7*q0Zu=WpL{H@Wswhtlp(GgGa8+&ts+qzzjIq%-cxqQ+J@|SY_pjAZ21mg&?HkQ=|b2R^jCh4kqyi{5+N&VR(P1aiqTAr_B9<6ZS>*Bk#bLvk;{;0Zb zlNSBG8F%mdwR(M4rKEPI#S4T>?`FFxD(mEY|9E-(oI4*nJyj*=-rlbbA-=(!a#DgJn9KvKn=>)rbe4#+b1sO;Nr-R?0>V)h^JIax~49N%WTmwumo zPGiyBRmyLfQxAzITgsFI@k|!t5^d+@2?+gS)cmtm>1$ zqKq%=zbWhvXnw+F`I0+(ajwft>FW{}S$mofw#q#zcip$Od-a^7+crIOxva6~)xrAq zkoVX9A54A}8}st3RKJ3APlB%p2@p-q7pR-xC*>1tctBXxsxniGg zJvDu@TXmpY?@Z~8nv*k|-{`Ep_ESoHqR%P*bMmV~Yl`+t%)fT;!{2t~1 zSG>xaWcR}`?-JMkV-pUSKY8{zW`jibn>Pol4=6J+P5Zz&U-tauwEaJ~-E=d&$r)p;@+OTRZh0nZ@cneN}1i|`tWnU|Hk%Z*Ka)C6p-V%`NN@| z74QE1E1Q^C^Yhu=&#v{1lVd)c9u9UdOHw{i`LE;P+qeDVS8ulZ>u)uG7Wz~0tNXe) zk88|7P5Qp(<%Oc>{5NLs%isNf&}#R0*}wn!m#So*3A=HnPckUw{>~+FQPiIBw!wTUJ#_$z;K z#y?77y8rsCdCsAl&-Kaf(h?R^UZ%=z+nF^n=*+Xo&65PTB|Z)Lcs$qaleB*H(cQdl z_m&qoSIv$(cK)K0x4hM>#jd>JjOyH5Y>k-go!GhBpFSw&dVHj_^teZT`sFqb>s>sR zAFB2~-Xgdr=;xv3a`&#j3kZ2HWjRBCkFoPap{T=Ca`Sj+W+0*jNZ*JMII=ih>X^PdG ziP_I(q7$#zR5ol4eqviDvw!ja?k(0|ZkLDM?%lO*T>v}x{GWOC{UP;_8;{SMOKuW4}Xb zq5D_8-%r2VD$LeDGGqA!Y2Jg}pU)=AUX{1vWuJT~N>cNo!Fy?Qxi>$aXgdU{|C*jT zQI>Vz!GkUKhYb0De9+#%`G)TTwfwJ_EY|EfC4RBFG*`ZL0ZZsi9{yvb_aOv8vH{l81C1%gOqjp>@XK|I#PVd}tV!7LH=FML} zuKyh$qx0z5jSqHQeJc!$TWg=#K6w12cs6?xYu=T`{1z5>H_dF)5}j*2G2Qmp_U;7Sb-k$NOZn7rXagOE2a%PZtWPa0bYv6`&CO}K@bJZL+Z!tRNi6}_F1gQa3T|1% zR3{-Kx2g8{eTh2(6Rt2z*L;|5DcRS`EVDx(H9cB;x6QiTH^yH@cg>%F{pdQo?0{#2 zA2MIE7i^NT{^WVH%k|+!r3Hy00-r1{2sF5O_3tqa%ZXWe{P)ctYs70K3nnl=2-1DP z7%wTc^03?lQ@_7mkIvlN_ju)(1>Ys#2e}`-u(&2ETYu%$gQ5x_n$vEwK0ST4@u5hH zee}u|KbDsFY%ibcZSitibMNl-htf*i`)cQ3wfyY0h0m^g^)k8oH-^;@4zj=f`Fwu) zhFL4mM6Benn`fKe_xI1Y+i%uY|9jKDUF_u?x9T2g!M6n)W>o)RI{wtWetzQhkAahS z#a;`O-yyl+#Pz$=dAIp>{V^ABv`i5zxbsn{*1#$7h~CNLxgqRlEQ5a3RIUx1r*ggK z>(s*s6&?9P17FPE_$a1QZ||#V>(*?x+%>mhz3r#KseDl;9}Pvh+BP|I>s4g_o0Jv3 zCCJ*S=w0=TW@*t~Ilo?pKi6KXdfZR)>e=7z=OdpOTr=HeSFrNd=hh?3ez_F1zMKB; zbl5g837wn8OM9={x}LNyg!9_e zU0MD7PYdd;*k-Z1Z+mm8|G$23=7F1`BER=t7kh4ocplGO!sEGFeD!XVRX_jKnlIZI z%paWiW@_9emIn*1YmL@ge)G`Ph@CKR_b2DfYahdxI)=y2bd&v@H~U#bh)<(JZ_PyQ z%0qc4jBo6I6H~mz$~g0nE_ade{7p;!BJw@*XRB?zUip35_xDCRweObPeRJa5!COa< zS#Mp^zS!+RVOjOzxR)&o-Emxza~asK@al*u|9|k{lgTmt6-V~Ik3YZscuCL$2HjB)pjz`+;#IsLTd*A-qXk2pe^&0ik16NFZ86QNv zSN!zP?82ctg`0G(p1e?)D^Sv0_9Stx+G$2x9lLu)!Lk~QEjhPm++vw&85C_|Bym_; z`%^owk^P@e$<4XXW%l0kO5U>d?zH3^=BqfiaLYs(|6cmj>cg|8U-sOa#&cPE+dnBs zdAlUvy}66bw3my&m|fM$_h63r^UQ;foh&c?&FNyje8qwz+go;0Yw!6>3}+0iR(18; zeKec&iN!r7dCL^dfY+~i=dLn&$?|qW-|TA{7m{b~w)WrM@#Qj~(&86jRqAdjqsRtLgU3HtF(2h+{USQ`(^mmj z(W=1f=PTU4HoX#ayP>HnVl?Pa`tPOoLP-JVw7fRDF7XO*e$4JiyO<^B{Q9 zQyIf9OsI^GV>N-RvGO!uZs878${ELhj(z5GksY9p>5 zk=A8F+P7JR8uyeW z?|FCQW^L_-*;C^6)Hg=hJbmT2xb@>B3*qVfof+pWKl80sx@h{*FsA8qnhQ&_@_LKc z78`Vy6+fTmrdmGd=I&X#ZFQB`g|y2l zF-iT!HtCi}l1g0(pKUe6k1j7#ZIDg%d-}M~xYDUkTJcK%ze%k>E^uUZpJ800_}s-q ztMu9JRVOYlzWjV?c7BzC@1FNdzr5VuXLfw%IZi)@=&MglC5#?O={8Y|26ZMsqIlF8`oB%U+a{*!{hr9Ur3dyX zeRV5cBQ^11)R_?8ZHHnQ*JK8;Wq;|aToRq}KH}fhC2Q|a@}G6D@<5u{b$bor9Cq21 z^Wp!_x;&P&%PV|d-CD?8+5p{cgVbU{(d)OW95m2&V84D zF7*4*aPNZWfi&9>-Ps7jEcmF$mH}l51 z-J<6+E+oENeKcBc`rW6A4GmlN+9~jE+|Fl{8e2Xm*3Vw+-}cF-sm@M)*JaK>e06{~ zg#ChSx)uMP$mZp~?plW1e);U`{r9xbc*ez>3+8?K)t_!_cO#;vkR{V9{f+mY!)ZRr z8N3$rb1I+9%7`iV>p#~I-e$*s({RDR1jlG?Gpi5o=S2Q%-E!M|(fP%yv)1~bH}5R_ z_+Y-nazE)KOUqAWeru>}SZP^ZHLv#O&-4$Bw&&im&n$R#VYy*Z(9iD&R_xpRCP3w~ zacb2>gM>99l=+=-dHew?d6S+_f-XV>-KAxyFOgY_T$l->#s9Tv7Fp4b^BIkqxdFzfUK$G?|W?&k5I-5(pwecL_b%FY{h6DpoeO<)c@rC!>7 zLalkb{=aWCc?HdGrX&~7sa#ewW&T?}qq`i92Oe>(*||*W>^@lb)S^kuhUcmrII_td#otBd3>~J$Srn)!wSah4qh;_JpXsF)BRy zm46xg*2_mqXBp3#7j)?G?`7}j?#R4V{QGO~RLj4T^(oK4+8#UI!L{i*V|q);D#7&F z2Rx4P&YP_78U)yE_#mLi)QqT{(QFpGCUOMfYARv&v|!ms+-{dD))B?h`#H zZ({hrXQ5-5jL7WUQK$Iw=cGvGep)QPr;JzF$~NrYDVeG>pYN@>Bw&#r*LsM(*Riam zxky*$trOpusg<{vg{o%QB>$PZ&N6G!dEI*~J;$X0xM)tB`&;C1DVFO!;YmETrQ;dY-nnLnOs zPyB0Bm9^zRZgwqp;W+ia#`4@1-KlT9`2Y1RczkEq;~1NO61EM3+ht!Y>9*OkbyJ|t z#{aXQ?W_CsEb~;2y!G5*{dZ^9b^6a+!SBIgt+t<~Gx-;Lzm=IqU`veLqh`ZjPqww` z`1Bi}S>hivTkged73s2Of!^O{vsQmv7IV_NhL`ziXZRP3ZAYA$Ug=tW+rrC}Cvd^? zmFPBUYra7#zui{7b^O!c%?Ke+BtN7stdFyR4wEF5g`A;C-A)J+k~a*UCyySlC%7@7QK{w zpt<36SMQ?N=E`@|_oQ3Tu4|XN&F8!5u(Tv6&$>XrAAB90Gy7PZ<3FUc`!k)}tgp2F z*C|Pn?YF;5o-5v+@M`8nGnvindYdLzmvArL<`!}4WpCor1wmd~_U0K=ru|skz2B?( z8ZXZ*H;(pM6_p1T9-AN~lkR#TfOFnD`}T=OPKmrr-&xDH-*QiiahoIK=6^kK7t8X) zv)krP+%SjVt=I6^lu453&-*|3tx|itaIxS0%_k>pc^=*NvSd}@)l*q+(mnfSav!f} zIl%ik^~qIfFMn~Jm237W7F+$ycUwM5h2P}DJpbZ*R~$la|JO*|&wk9rC@gc@rhtnE zztS#8@0oO!IpKoOF|B=4%u?0sS9JKd-d!{2M7y=ygAZzNm5SaA7hm2u{jaxa!upaA zV$GLs%HIgN{U&#ft4i}Fp1Bdn^^}h7pCbS7!@@@@74tG$ZYCsec(x|c&YQc|R5kIi zp>zbRU(6}yeJ^^g=g(7Lf26p5){P62Z#TIuT61OM@=M82IgM%-er98~b(%j%ZIkJ? zYY8WJ8tjr&va4#~nbLW@-8^&C=hjlL(q?lumQ(#N4dT{W+@FS9G-36eu`7Rq^sy_U+BkgE8aMCzLS{L_HzCY<>eQriu6sqDmrEArx#}3JSWcC z#&39XWAS^FDN{eM-0{J^{h(O73jc@3cU8~IC7(V$XtUm?eX~R5lU}nG2iWDF1&H?x z#lAfC@yZ5+Vx8_|qV8)nK4-NHrM6g3E7>+d*7}=~rh(q4C#8#?Pqk4@e!5`FOC|nu zT1C4acj&zCe=%Lprex0Bm?K;Jt-?P?yFQlWx43__qs*}|=K}L9rT0CRHD4HFwA`c3 zHIxmU%ND^C>clyVZ?VB_|u6q(#bLy(0^Zg6p)-v7k9W;WY<9I2y}v8h>}kII9P`R_+1^~gCHJqLR19SO z)B%9_E9(U zLo@s0J=X%J*-W@7onG;5)8h#bd!F>N*PO_=liIxY+wa;>uYX6jnuHa5hzA--mL|5u-s)&G}TO=S>Wp3JPj`i+aRd%I2Nvk6jcr-I+< zeBeoSYMmdx?1U3*aQUN$&y`nPTX|x`8aFPH*XR^6cC;$*hkP?TxObP1w9FuuaP&;!A_u z?pGR97c@#fojYCrv2M?~MaT8{_pC`))j64cFJWf#lHVUrGMAjXcY12|5e*9F> z6V{cMT#b-Sd-U-8MdLTt91Ox#L5_%=AUsp5I3_-+U47wWfLYCrGLzr zr=G%|Uar$I{dBXR(*EQPQ=fgmS9)(>X3wkHbNG#f*zeq}bS!(tAtQg?{yD$dy^rfo zd41H(|B=KmCvImk`9#pw&ZQHMq^HmA@=IaO>EiQ#XQCwkmHqadou6M;s@k2)id)~H z+E;vcWwU*%M@;dYqvE!U?G*N3iMBLzn?C2tQMc=#mvq-&KDOiW%b!cgu~96M^bnW*es0odcJGQORn2eC-rIM8>t8~O@|#_3@g?4K3C)k3YqYhGrvIyrmAf}*$6CSbY?2{#d@p^BZvgiKu?R zKXZ7$f3ic|S|_c~E=&E@mq-P+_@C@(t5_1Y?tAp^!gHs5d<{}|ubpF`Iw|~G-^`aY zPhFF~#>mW`dF0A!r=sgN3(oJ|GJVzQr1epu>%N|vWiHCA?6&lcT|WQw6U;^zXFTqa zoG-*&u!QIJT!Fa9W{Vf!escBmlRvpnF37S9+NS>aV10bG*8WX4bJ*{foLghOxSGXI zb(Jr-!}DH$P3yvqf+cG%soOHtpW6NIhST~tp&uW-{!?jt_PtHKNluSVXc-!R;%uU;X&<?_f?c{!-S?-kr<7lM;C|0@x)ICiJ3C94pZgqI5E!d$m+-h$+lJ!>`?(eVxBqJ3U!%1^=4EOMmR-J=Ff=MYbQi z@xS8Z!aao{2hY5{{p0nn7YC9h;nas*-zn616MXvYb!U4O3UPAF2EzmENbx`MLAf-$->H-9|995rx#o9Jbvm&T+#`(_h)LAKiulL zJS)SY_@Budi^(6<^p8BdEtOxTF)x|m|0I|Hh0)n_g0jAG_4r#C7GihG^yU33hx3xbC zHjSt{_qppbW4!kM9=};ryzlNjVCiCh=A=&Ql7|lZdpBon>K5l^w0dJRC$CTB9McTV zc{d^!tjVmXnQ|rnKzm^5@nfm(Zgc9g*BIG-*#5Wo>W9i0A&2~){g2npeh_D3Vmep+ z?%PXW7N60sY`Ayfrol_@_F2E*u{gOsm&|OLc3t?6bDdPq=B<z4)4xWUdO(Z@9=b+!2YMd9QU>y zZjrn4v%yxPvYkPW<#1fpP4|W-%^MFjL_SAzKbQHf&>+5B^vYb5@)IXkTM9lpto-3& z+|ucb9Mg~RpDEgP;@JnM@}7l)2WC9iuy@k*d#NBUyXBGJ$4+4lGuPv~-SIDHN)*^X zpFCZ$WZlK&Q!7_3E9;)QfYEyKgAFg`OV;VEcL{UIfAH{YfTQj!fm5x!SY;IgZA>3w-?qbuDgErj=8P& z&*!-oW~X25m|yV9D5-hM^y}##+WKFY=gq#O?0>>H_F-fEhv#w<(Yv1dzWS0R<>&Ze z`LkP&nU|hFU#4A~TE%*(%XTjl=kdjJMHsULSj&B$tya5ui#6CUe?g$jqJ;}I_G{~w zOp!mltUcdtRmFvsE*x<`cNsY^zO>-`o2hJWor#GF65gpx79E~1sPp`>=sZbT(b-x( zHUXNKJ1$;OX57QE#8Y{iwC45<9*%SSd*V*5_+b=O^rZOyozAn>Z*2UVy=PUrvZnLQ z?NTpy>&P#WvN(B5VRmw!Cy+zBF7CNoHd{Vft@v^Od0`t3h%M7oxe_YA) z`lIB_laH%+HmIJ9yQ{h2kH-8(O*#h2eTs|sJb2{C`zhdF0$bnIc`w-_eq0fh;(8>Q zcCJS4>`Y_#@7zwFdU>xd-(SEZZRT_Q9pBZ?M*Umg+U{MjV0$9Evv$i>$p*u79sN_R zWY0|Kx0$FWQE|9M@1XheX2+`)uh>57u7AY8uT8P$%lQ?&ej!gArvKR+!+lqHBhQ1Q zA~M^hPkeBclZt-5;N`822je*Jtu&2vb!y-H@rhjt)8)_$iO>7juzXpNd3ebW3!$Dz zf%{lKai!e|j`J_z?|B$2@9FNBvi{40C(e-zji>r*^8Sd9J8g1O(KC9v>!v4u3MDe) zIR{J6KVJQ6gVm|Gae=xOe*+UIT%5RGPF`}N{&jx2m2aYVJe+^d>j`k%+tJ@5BbtiH>3 zvA?S3lUvQJq<;NLTaQms-1f3$19S2#0V~B&_O(lb+eFP&*_QdAnm%3or6O~c=gb{% z{M7xITx{6;sQPBuPpzN3d8^v_>{wFD>l2S%HZE<5+*s{hSboz!^^_n}V;IYwml9Sb z8MjK_toZW$@cgK@SxC#QjdZZeq0XN#XSAAXKQBP{wJ+|%AT(8_$HiiW3OIaab*63 zFNZz`xrSDAH|SWLz4zgx$p4T8o5z){{EX@w;`}bGofxkAnpfC_>1nS|r7OqWwy9q0 z-{~mu^F@Z#GxPBGufHVL zHDMdOjLs}RDNg=Bhc-Hhui{In6qd~7(9AzB9(#1A%KXyk1u>n`PgnY|>0}0c`tjgt ze!0iFpUsM&uE-`<1XMns%Xs6n%=Zb)i;TRbDvS0Co@9F3&TFdwKF7;f^8S})Tf#k- zxF68djLv={=+jtzgQG7lcKgHTJyR#2Wadg}+xPs2#IZ%f;?)H?3m!*=l*AsM>?TxM zz*Nk$;PQ;;m8$!$YftGs?k<+H<_*7-^gG? z^YK~(h1ee!`Cq2ld|Xo+;;r_A{o~2tKHeIx+c9@$n*0rjOJr=T5$CID<1M+Harz>g zw{+{&9+v6CR_79pk9Szz+Nfy9sB`enSBvM)&rP2@*L>>AvzV{+)rtQ>aN@H2Pk4DW zu4nZ&R0Oy!>GrLxJj~uR`)1$8)aD2Cj<@q~i?nQi^swf_=~c`tD*9B--fim6Y23l! zQNvX7y!r2p$MLWDGL@7ME`L)|vur^}?a}*6FBeNZIC*RCC$?WMHQU+y`S;$di%bvM z)uj_!8)g@9W5+Fh%l~TKE$r1#j+pTp$6B-9SisK`QS;I8uii$*_v@y=5Z*QOwPRz@ zLhc;tthbpb@82%Cq-s&W-u>@|rR;J)+@%K?Zw&wp{SF_wgu~iWvk8+k@OVC*qyfJX%lT$sHjEtt3n;cv6T;6aoKmWw4E*J9?#y`J!&EY!rs5?)z z?MJ{v!SgTAy0w+ueq{X0X`W8q$@`C1%j|V}B*(~eXQQr0t4&Cm&ZIRPG=Dbm_PXDl zxZL@`s<&w~0Yh6Vcf()L= z_5b7$klDd3TX~^>)g|%01zVzJmo;^l#7TsRTG*VDPH;|+E}c@+&oH-bWuEejn%3!$ z4zkTW(8C%YwoYkA&$9(vrnN5$Wn8{M%24aEvUTO5nI-#d9AYkg=`AOr+x2GX;G7f+_L?d_ASy1eF}L)n~LT*eZb z2bgECwf=E|BaVNfTBA*&dik7%hvg+---tLK$N&5*`}xD{QFc2R&CV@9$-{Ta^Vw7bII>xD0G3VU+4|j^sFFmdIJ1wgG?y=gfZ=V^}w0z#flkl}= zg@vroGIg1%6N)cS|Ns5;%O7qlsc8z`$9Dw$tT`gYrQD)XWZI;Yx~!Rw}#_6%}Q8`7>MP^ai^J&QX=E?0g>@-+gj$cGL1JZgJgUQ|Qe2 zFCpNmr^yoqJ5eFgiO)|~eX3Mlx8qp+$A`&NH)V*$o7>b~Rd^-WxTEEcW&^+IJkteB zR%bsCHd*7U9C)$xzCl2qjPX0c6>B^XY9D$e+2{9u?z8jJ6Y_q(MtE%Z$6rV2-#dcqrd)u2=M$Aa5WHfLpQ`Vp$UzT)1389I|DKG^hO_NQYr*W|bd z?qN(S*<3V3MEtjMJnycxKN1cY_gVk(JZUAp$lT(G>A#)K?s1jpzB=2#on^9d?i~K_ z7u2ohmf9ZBT%OE&H}&HWosL!KD_N^$5)W@WaweDY?zSS`)W&}EPoVny>>TF}j`6D} zKAN=u%*kidpI0iqca7a?G3`itpV`Oa*{st4itW@ES9Ra$Kh58ppnQ7fJkcvm-anpw zW&f@r{AF=bgFw*1WqUbhulnOMy(3KR!-K`4x_V(V-8xPoOTpjwk zZM6*ozO2f*XloVwB3{{SRdMP1RhJ(wey*WDZ{-VvU<38w`zJgVe3^c+u$A6+`Jb~T zv_fg~adm&U<+Y7`!mN)j%U%82xzg{-(bByv$tfFcURM5?EdRv4?1z-u)9tS}eipp> z=}EqgR?ZiNpUcmk{mNFiu6`Z6o_(%VYQ{^gMVC9@znz|Zz_f3b{uO7w3gH71cRw(4 zEDw)Jn{kleYVQ7RuXeKiz07>X{Tr9D_g0A|o2?uxcFjp^POVuaxwog^?&G)B`TC4Y z4JtpS{FXD%n^Rl7=+mc`r`1`NL0##)c$n7t?0&PU`{bY5o|E55GwX`!nx-A?UGXm9 zx@_FMLkHF{P7Qs=Yw|tg!b&%TkS1y6KbDefi@3UOhq6u!e`j(gB;?DJl?(PbEn3vX zFX|Th@a4YHUq)6bhP&3B(=vPRe3VW8$whNf{;56t|CK4X-pjGJox_*1B0M3%VQKjK z4_xX?uTIq8oV6+VV+e12P$5YkqYBCEqg`@ue^--j|GQA53B4le^%+r|~Uq$G8 z4~guS*%nGygpatZ7oX|TdvkEdCfSe6>>lWLzh=|3P(eU@OeMPp)>yE4U+QdF;mP`$KD!Pd2>GcZ_wN4z9k6rty+p=;4^GcWR2L-Ns z=PW-p`B7-e)2nlQmgY)y@b7YrdtIvZm9?tpP514DYZtYDEPxGlr=d$jM`eUMR{ zch8Dqse2(F3O_Cgu6`|l!(?{YV`kT>Z(mn_a{ZH5ym6!Kr^j;zo~RqRwme9Uh!Ne! zzrX7Fk_zsrr58@IcU7&9IKi7g@9Atmj$N^qS5j+o1ojl%SpDM{Uw$_nRN7Jjyngizm5&J;q-5 zK)a?=h+WI0$;TF~xUq`M$9&DFsWuAap zYtgv9j}{tcgat;js-^Yu7ERDADL$d1uDE>vq@&ws|8n@&cKzm4-t`h~&RUUyu5{WFiNDegh9#fgh!S52_2+qNR0`&f(D%&Ct;Zs>8#c0KyKK;re!Lt+)$hx1Ku zttrxfX;FVfoj3aLyrb;mU#_@Kub5DO^!PH5_50(DXX!jOmf>@_W4E+NPF_+p_Pf;M z{Y!$SGgE$b_Mcq0xBKM-$N1It6T{C7-!C>jDe~JnZMks0-%0i5ljVOHRPA>=CLa?w zanb?#pL6)XRBDwxS^2|5?nOz(L+3bKyBQO=?LDdWncwWpbd|S`R@3enw)Gu$bhh4b zVHb9T3liC-K+ELgC73sV*Ls4_A2pT%-wJ( zXvYjY&3%c?@*nFXKZGY`^E2mGW+GqO#dak z*Yx`qs+oz3wjIpyyjU5mAH{pa=3+{}*{7DWg$WkSCX*~AEK($dOF2JEHtNg~T($Yy zj}OnJj-TE-rDVZn7Goi9S*iO+V~nLv^{ks=XU}!~;^Xc$ry2vrEj1%+QncK1xu4&E z?5tk5v9m^7{)Nc}JMoK;SLYd~Z<>|1u;PR#>oLRg7e0p{HCgj!eq_IYs_qQlIaOp0l4V);b3W;u=rd=%R-Nba^m7^eFWc_hdvD9J1se9JOyo~) z`Jq~G@E~;7=kSfQ*0gQ>V7lvxBmV?x_t_UG#qh6j6p{aO^2MWz?p%vr9LqlEt-tjD zuk-y&9GlyhdF%aL<=63Q`6rz(A~SDunKbn{`Omkr-TQVz^X0JHIkWdwoxFbemQ`elRi=PyZ0Ic$dhXFoC^f z>ZWXd*&d(mPc5crC9cu1chf24E8g|MNT%jj&+^@CO04cJi9OC>#mTqkspuJwQk|R4 zGdDfc4VOF6_NUoj?pY_l#We-L3xyf464$+061o3sSdHHd9hp~QejR=99xz;GuCiI; zrfyd;t@iFK!3B=fUza=zjx#OwI--8%#_eCspMuX%Rxpm@^}4OMX`WimQ)#um9FaO( zT(66L>|A{6^+H`MYqyK@SGT8?bWWPEe_P??tBwx>j)&mJ-+M5 zg@soQ=PhR8VvjW6ykJ$`#!rvSqJOp21;}5yJXc?*R3O>eq3laehOb0P+pdmto^lrq zUmd8bb*^p8y_9&yIl3fgve_27`)t=;*7L8c+#Sqga^lWuHh#Mo8*e{c6S?_Pt9V>S zzC!-)x7&_{*jcgdW3ZjRcJKb|$gKCtg6nrHKj<^|JN{EVX2qLtUW?6dDBLYNt(&?2 z`hGiJIU|*?Vcy1jmN`mH+$KLgI9#DcFIYXPM1tqsyz3L6d35?6eZ0P6=W+YC6Joyi zHcT^1w8`oBS^By-s?43*~%jKZ+-nL zeCgL>wsK31?`Lp$7fc*5)b?Kw$RncwrqE~Ri*3x*Cnr{-&`)e_c;8^ ztO-|4&q}3lW=-5FVdgd2+^A&Trv;3Aws_83eUX~H|g@@%PTJbJg65RmN?1&mHob#Ee{;dOt!JCUH77-A^PR37n)3F z+-5oX-uo^l7d)BI_uw)nvBqu$*)x4|i-0b7e+b%!9`Xb?^h~Q%F+6ray)F9p)FDidD z%cdR*5jJpquaWd*o9*G-i@1&FvCBQWY?opD%S^ z?(4n(_uu!I+5K!LMrTf1w&0P)?FHR|)BY>F&6_U2Tkd1Zy9F`J!=L&*RG9O5C--IP zZ#T7jw4m|Rhb0f!uUNTM=*S(L1!p9z+v1i-KVA2uQo(NTy(;~%Z<&6j zcXxbB4}W6*GDz_n^UG6Z;@r6x4PQk~dvh~&skyZ1Lcxs_mq)d_sQNt)FIQS|WTnTe z2)#}})m!%hE$48Y+VZZ%pzF9t=G~VKeyZ>Ib~JY#z88KqZhg4;l5jD-OE0ILUy`}% zN8awg{4eipKEEZy{^v>mOM>n)iHlF{jI-)rTKoL`hKwhtwAXvt|9NPddH!y>@9p{GA z{gZ?#ZGPVGUR(%>I;>uMD)peI(ep6gjCtX6G#(j$YS9xqAzV^2fz7<0m^6QTW zC1lkee3&RUcVDa3g|usTSii9`tKa`AP=D^wqGTWT-ech^zn{;DJudXm?K(T3q>Y5< zw?C8Q_=F=C&3-cd)5MA}`-diB5*=*zU#9MHx<21BYLD3UBlAt3-^_fu@Avc2v}&mYuOHth+QNeN0|K6ZX}@&1DevR4+TPn>AesQjr%=E~{1$pOS||Ev(=3_t9J4LR-7CYyLl7(=v`c&lT{KRWJGX@Z9br zdy851g_lH?Z}?U+Kl;RVhj8`kXM2u5jdTAvU;D9mdH1HYD7I1`xq=%nD~evNNZ9!4 z>AtrSPc%x+YC-g56mY4H7Nt*@@=uKKZ{KFDyh`Hz>&mwM06|J8o>R0G?W z_xkDE=l?K%yY$VLh_Y^*$$E2T+?vH#zDqj3zLA;z))ny*>3v6MyS=&i+VZd1`@q+0 z)4$KJ`}NYqdofFK{EV6Z3U05zWG`2DMqu}sOWv0kw#&^r)+d{N{cUA(rr`7sg6BR9 z9q5c^W!ibUG5GW9_`h0zUrje(zPi4k*EOR0?ZeFWx7$3GkLS#BTesWq)$-7_>o1+~ zz8zRGn|sy7{r_fFe_7=wKDTdULQGFoQjCOe_p`}{x`$u(%sX(jcb2B)%dM`NCoXKg zbi;7*)yeO&d)qCa?Q(s}RxfvW#mwoh26~GwPq?TM$;vtR$FDS%>2BP+%(s15$hdrA zQ{EyCy%HH#>C%NC^(!5g7b(e|(-P%8sI8?ZXZg`FN3KueJ$WrULab!Pk>d*!IKED`+4JW{3S>)Pq8^UY+BDH$HSW^9%%cq zYxzN@_$jN7>mFF{IZ@*Ow+q$M{yU~@nl7uhqbf3L-h`z+SG@EeS(vSjm{!s~KY7j0 z6_?77Z*J*`;7xpbx%(5#>AIqIpB&`4O^UK6mM^zn7xVmMan-*slU|(LEVp0zh2{Cw zpKqV`$`&MPEsUHQ(6>d{?0e*X-TA*1^bX3p{Sb_LscPTB`_Xo;Q~isc{mXU*CapL( z>9dbi_tE2Gz15ksD|fjbS`uv&ex>%x!7Gh#wq4F@K3ZIm6?T7t_U8C1!@VZeeJ>4e zM662kt1;Ss(e3f29fglC%`i;9^x)vDP|X>+FXA{mFHZZeJm>jS*LCf-?L|pCe}n@L ziJSDlkktIgWEp=(^U#ihm0XWASv%xDocjk0>SnjU*{P5x& zw_U-@{X#>6a`(7P_2}(%p0)gBhqJ4=v&^!epPwz2yu5s-@Y}+lYQAoz1r?teWR*+Z zZ@hPWe6Q=0=jQ1wQ%f?Bbd+AYH7m`5_3@9VGbWn7Z1Od>5*7NP;U(%*)@a~zIe*5v z3sFCH`jq*vZe0H7_o~N-4(;CKW5amqRH|ZK{aMw7FAHA?RGw)v5C4$J`bBEi;s#^O ztScI&liI?H4mbbbb@sUNEp|?F~*>de5*%Bl|hG{Ckmg8s{tOo+>y*x^l2EHNI;{;i&>a!X}mpV6MaN0(iW@F}kKnG>$|{^{A8IJuwipFR~o&kC`b zg-N#6!Q#AZYsv>sh+{Gw4p^sMWXx(%)njUOSkSG!;O2Zmrp9^Q4d(A`#T!plDr_hc zIIyi?*3a*jU$xbjK9B-AJ;TCeE7h2G`{K6@2c^$<+-&$<;?d*#pS4k#zrbY+e#)5g-4M$SHyB=_xdGkr+ z!(Xr0`~QBoJHP71!uB^NJKxQIeIim}Lzdu&pJ!!W9C&E_dd+6PUH||6zWnFs(~Vgh z-`-iJJHbO&fP=+Krm`uYqlJmCTZ%lms5i!>V>|yy@DI_BEL;s8QSddP9(ni?beq| zCi{6s=WY!xWjMR}yj^zFlaFD&DHFXEK;b6a4T{|E^n%wd93P}+UfjSgUt{og-|u&s zcXkwB)nn-CI6Kew_L4rgy~1K~9aokLB((Qhzu#jlTYSba^SEsJmZMF1;g^^DZ{H)J z?gTb5R-S!|7M-74JZGVP#D)Wp?p43v`|a&zD=CR1t`OrnK*k3o zwyrqc)?og^=IdhlzZ!Q74)bQtul?q!zvn~K+1)9Mm-qkw``#q^7*Dc{a?m6^`1MZWq#}uD6 zsr-}@tyA&&toiM4kvR*WCSF?;`R(#!YukOyjSdU`av03ADR^*T%hPGm%VNv#UX`0; zk~yi@?tazlwVCJUSYCZ}aKqMbkEIMjia#p~oGX5=J$b^4W`PBbXejuKIz4vUy!wBY-WMOcAHL_vDv(np#>|ZZx6;IkO&nWf9uJ)J8 zvWy-XOQXB1C%%w<8nC%wLZ*z4QV%GRo$f!ddedUNTUXoeW>?%UKFBJ5!-Ow>%kDpO z9-jo2ZY);fOopHC>^!BsB+`@PhsX89{WeLOJn_}JztfKQa)4r`ki)>X`M|abl^;ww zEOqNZSrrsj9jwi<8?QJ$d+L_(YfI)g9cu;w3El4L`fRQ>EKJ%h4e#%r`PSc(yY1$& zeS06jy6@K054LZY0n6eAdjkE-_t}E!%*Lg{jf6#lhnI+!Y2+Q>OMaxEC5bi3OX6*N|7}6+hJ?numua`y}w__ecyFt;=$nMezAFR z9}^S=I859V{{8uBmfBo9kMm>Oa!bFr3pd%D{l5HJR#AWh6m<`6%GZ73$P5!=y4R7v z;UL?zLwC#X=ic{=_dLmV+hKvb;sLqyHzNF{DwieqHNTeqBC1>Pi;G;f z4O`D0m0CW{>d5uLH7h2+{`27Hqi+3M(wibTryb>}d#?3uf|`KGLz{M?FB~ixJsC4B zWS(9L_TOq#|Nr;>?fLt!D>r0JIw_j_VfF@|Ab)3vZ>|Zm82eKEIo`e4x1e@y{pZ>D zm!!|Hy*B60)2-^y-P7wH9qD{IBe~C0I(JK;)rSMjm*f9^5^pZ4to+{csl$eiX|+(} zyuj0Iy9pvece=R=?i-EX%RVeb|~XSBlX- zR^a$dVYc|XpHKaC^W8a~n;pJZlV5dt_ND3jzAQbGr~LM9&*h5+a{qc`%&(&|3CUoGA}JT z!ePG9c8_jS4GUA_0WW8TInSrESNTD@O8DPF1`%a z73(!HTC4MXD%-63rsamUzrK`Q33Ok|U-zMT+xM@l&J{1YUMo;=SIRUiywcMc#t|TY>nt4vI`TP3i{r~^UXMR zJ=)oA@sSr_R{x3%Z9FDgS@0@$-BVBN{3Vt5q|27AviWks`Q^&x^NhCnEx)L?zJ-yQ z?M8VG3)AUlhN|wj3*7(zz5jpiy8ZvEk}uzN_q46gIsZNW|JQi4NoO()59V5K&)vO{ zzhIU@qSLQC&+VrF`?h_*q~xC&*L`+?S~8*Gu~YplJ{~Fg{dW8EWi%eh2t+(UA90s=q z;YVNay;MH^`MiC8uLj>*^IfNzCVnntm$`Y@^VyN@y4&v<)qY(aZ#r$>_sY-DZZ;YU zwDZg7ec$!nVqvPGU6>Km8@@){yJfd?rwPs7{!V7kyo8Gi52wZdJ@u?6IsH#@!I{PV zc2U0170z`CDzCZsaQowyx4-_~kpFd|J%{D@?pZ-cr|>cbuko{bx#Wxe|IhYe@e+oh z`YU0pg21`YS&glb=8TcwBz_?c2HAW50Sua6a!p^4?*=U5*`ld1NdM{(fk; z_sOp~EG-n={KnVMyllbUZxI$1pH8YT&yTChta>uhUF#001$yMt^9yjzW0J$^_#?Qj!NCCb^jLrWICLBR_*+=#rwUh z>pq_~->&ihd;S0P?zIIjH7=*;Kize1a>)s1!npQgOhpOYe{Xrw=@ zwb|ly^6?(e{XdTC=gjsk<0-mbF85KEgN11|U*o>jdMiCN1zybIsCew2d_>8~t*Ssn zd}U+uzqI{ze{=Xuf-P@JKR9Wh=-E5x_`#Du9*OUtA<_El{Qp1ax4d4r+f1eP^22i* zKDX$bxb3|6b`@zg#q9uee)!-B)LVwDR-*1Go9-yj&-(h2HpIvSHr^EYkYU7 z%2Ym?*m>8zppNtZuj~8Qd_HxB=b4$Y`L70MK7-r8|2(&!4{FeVnb=>WGPmy6%e4PF zKaX3nmVJJ(R^+v@g-L6`dj1{>`9=qY4X*?OSOq|psu#9+^qXMpcYSphfxbEtYu*|sXw_DvVuh??*BFD7Y$@gyG`?gK2w<$8le|42X z9ShUxMu&Co_y4{t_r1O)yznUJ-1Cn^%y%8&-+n!9(WK?;Yo2OPi}$_0LF3l^olp0^ zugz~fm|vG{@|HdKden+Li*$|Ons2kH{Pd(tch3rY6R*1tuUG8|o!KGZ=wR-!;IDJ$ z>T~n^r!X~MZDUa0kR_AL_u+iqH)H9Sm2;mdo||E~I5ybg%7&S5d=}pbxU9PG+t&5E zU#}R-*QQ%j~=Z zO;#lp%a#=;q{}Tgel4@<>8FpkUvoTDE|yZbywGNX`kStT!@TA%!4l9o&gnZ9AkMEQEZ-bB+`pf23WdBM#Y_s`nRS^jO#w&x{R@=YHt z3E!g|)sgb$ai8_Nryq~YuaEfifZg6;m!E3(&wJnZU0-zlKw0g#o9WvPg66X8dgWZ) zlec?))^bcp_OtoKx|Q*l%Dmi1LfrEeEVujrWjrv3Et z+BwlzI9I&kh)&va^S;sEFPFS^twb-p1NAGWamz|wF1lCw+|*|AS6=TkiZ4r9W2VjM z+#$(P63p`Aq8q3JP~+I4d`5Teg8Yk~Ext*nlkPZP^C;|go4sb^6{me#lgtl@F8uSb zq_<#u2FtB^mu&)fuikm8?C-bj`}el~X6avFd8y1l`r^&)=1=T+n|DaD=3iXL{%4D( z^ewkFtnO`^^8c)EzTf>v%+ijjk7mOnGX7q*YMOR@^EoZEl|PTG?dQ|W-1&4`bkvsM{@B;N0aqWUo?_ef!>+Wf z_SST<*V`^+Ug&JpEt#~p&hguydd+P}7PXwI!XCTX^RCdZp&jtab%+~2Av z?z?H^9k=7@#g31H9BWiqYStMPS8Vk#HB67_j(s~{_vVb<=c5=)u6&(+|3-ZD!Q9~P zPeRqopKXkrrhn=A{3+db?Jwh^hRgE*f4JZN*kn7?)A{mZq2G&M>rPnPsBkVu*32d0 zw}qeNk-UwEyY+URc=2Yz!Mf`#r8T~0=fk7FHoEqKdUr3jfcjXO-D)habvP~@xVT~0 z<((!wGbA`~=k3lFy(%ucb@|38CJtg>HyT`!j+M%kVcwV7aMQ2fwdMEw{rh!AuE=EG z7J9ulzc#z-eD%HL=-9#;hnCxYU1?JKDkOSJ3wP7v1NMx|X9lxneotlYoaZa@@r#pTvaC|DaIP8s}_lLvY85;_9>{h%tK5uhbCbjITg5L4G#~Si=KOVje zx00H1nX6FA;-XLY6ruJdGd3s4MB7hr=bm}V%4*i_)V#gY`j}Q#FkW>} zF7i#|4^Vld*XSTK>5^)fX3HBbjtd`VEnej|gYEB(z6G^N#vD->pX?v0dBX(V2(bK9Z5uZ?~Q`R9yG0VcET< z&hO8E@{O9+J#*fLhg!EhkMNarxY@aD)UEen*|WJru4u*yb^D(uO%e~W-1ZAB{*b$6 z+T(SSooU{#nmTfY%^vI4%doXDpFTP3{{MsgZ$1cG&CB!Wus%Ng! z>}NK&ZMU_j9FdUZ%rQPLEp2tAB#Phe$Aeb^i(|`fs($oW$mQ2t9)BDht+^~oPj+Tc zkN4O=OJG6bmwNGo(plwPGoCdH`#cCOs$N!Gq3rEk`=F71*>U;$J5p~a`&pg*HYGLB zc=74**wWA>J=4C;Cl{LBxIQz`C{ELOQM>Sgy}KU2$y~GfoRw#E*325e&D}pZSi%IE zUdVoXv~A<{)@^TQ=ij#Tgv*YH|NrhkV$%1GrSE{< z$0NeJTKPpUTpno%gH{*cxBJ_*QrxQJgxlenzu)9n->|OTaqnJ2{!jZ&KldAUf%Bso z$B`4o+ci&}IC08_L4Art@(aJBdGjvM=>E%n-KKNu5b#_l?oUZVk@aXfb zwgM5790~j{RIJWK3-kR+OqBC8ZSQf&_n!avUZ3^5h|XgdKkIDB^`5_Q^1Txil_!_2 z@$8A2U;po?=kClK9_EX$>FiQ1$T4gDvUPKt>_Ok<(=2YRC{MUO>AW1IObO%oaxwe< z`LfkAu4zn-d~OG1eWhaZS8R2is(U2)p7Q6uy&u#0RJ1?l?|y4G+yBg-^tbP4ZHZs= zwykmTDGf=#gOjA9FC~4Md2Fub!kXVN=A`nsOSZ?|x05?={Nc&$|EjF-ChI>dGGf}R z5;^UN`a4!8+17^F`etqi79M50^K9A_zVm#NMn}Y?vh>p~KX>M{JmPn!J zu@&rzoU=OjX-+Pab#{S}!u>Ud2O5w6+whs!?1n<_-mllLJxtk{8~x|?%cG^BB10aO zwti1ZeUhT8Fu}a%UdQIsN3ZYyR~p^pKIzQnltcyYuNHB$HHEEyo`05Uls_r_u*Hh& z@%4Lk{gQrLK2x>czw5@k8%B#tZ)GkI-7YS@Hm<8V#`eZBe*bpEufMMJnaOb$DQvhT z_@PhcTVvm^(rC`za_e`$+x7Cr;(os#tIfu2pa0MFYpmOTb!vZy=DpR|wX^q)-@&Y^ zvW*GZI$ido}rY4x8f| zTz8iA+*EBoFekh0`i8!|Om#i+O}f7O)K0Q$3UILOVg!v^@^Tq&+VF^D$K+SMO4qL? zOk3>RllD?0XLkR|x^*(24u}=*iTZXxJMK_i_1mXQvR1D>%xA5$QR0lh*KhHN zqx;Mpk8ev-%^76Ui#MH~s2lfJsHR(6O!Vi!jl19N%D!ZHH*?arIJ>V`f^#Pd7EZsi z;C8K@5(|^93}d`YcdwbnxkFFC-Ok^xt2onY>v_B1OXB~1n!e3r`qA3&cZ&OO&M5Dj z&a&A0!jZ)MlJYszzxdqYW?^ca*Xht>^ZiUwf6R1_3o9;VY`XtZx!)#<`*+&eS*hK> zGHh;YHiv%o*=_Of$7AjEiaCDn${+TyTHdHr;JR#8Femehy6>zMcDo<<)_-_t4{Am0 zNHWT2E^9tHr{-H&nxR7X_dhN6e1SL1@7MMU-acNqLqMHv6RYy&l{1+CZl3@5%(BFg zZM#}hR&sO5m1oYqt-7Hr8q~&{D;S_Es3`E_8pjI3Yo1ru{-1X<+*SF-hGwz3X=#_$ zQ(yDmm)e_kvB{x(x$y5*)w6;#P1YVTzZY|YG5=!WjZm42lMnM|8YUl0D(n@I2N|fx z@=vq+^2Y0F(M286C2O|XF5f$|cbR5rTD`zlyMq~4g%|d1O^xmDJGt%06=qPnRuG5? z1Z6_&?>$QSyq~AZ@=5moO)=?yyRu^M=|<(8+@t?Cz3DmV@dY%Ra^%$S<8sw!_%ssr zKL5V=-7ebT#2+s|x#X0t`ie~(Iy5DFB8*F$EzkYgJXQAl=fJfR7e8I`}rJ~EuV8!!TOfLdCA?X2JVu-ljoO;aSPoDpSxD&yv1Xl+p}lZ zUblQSPcV18Yd5$*D!`$m%=FMkUpYZ=?`wqzeA?AU#XS0a+T34jPH+GD`T1==DU$=j zYCand3uVOEIxJrJRDe|~P9{<8r=jlS-}nF5-Ku;(w|nh|D;IV%pDl}&QY;qx)+@7f z^PK;A9TMV=4*V_*zdtnWO`JdHi+lRim*P2JJ091ZvwVJI-f3obzArC4l`ojtHm{Un zc{4}Yg45^ujfl&ucO19Lc-07+5)j}hVPV>sut7P1M{X`3V|j$B>fvqexAXV^J>&R{ z#jx*`nt@a4$D`u6^TTdDw)iZwIGjZ)(`~_D^ZOQOSY$Gug$eEXSk8W{rhYpReg9Y3=98{gYg!I4s?Je5 zaeFanmg$+rX5qeN;Wwof`Yxy0mwwCo_mICnqk7Hfm>#QUC-6|DAZULjh_eg!aus#2yQ(MKG->ZIJ zFmrAGJxA|YNuRL4&Bd@M&Wj&@pYVU##B=Ly{c6~mY-JhWh~6%6pC*_hFPUZ~S|ava z@Wm3NuP1Z2^uPOPQ&x4skv&ponYV1|mB5#e<^S)91vz?qrc9ld`f?6%SI%LjDH{NyfUhLiEe%nywT+AFr((T4M9rr-O}X0EcV za>Le`d3pCLtmpsWV_|AMDtO{;+wMK0hdNVDBCRhkng9RK^KN?;uFEU^?Eijg=`~(d z({8mL6q32}>CYeT*_gR3H{o}5-quhls}v6zy(=PD71)>>9o!WKE}L0#oqTZlA;$%a zD(07co7Ib+&n>^jVW8~a!y>=Z*+*jUp+dC>BEk`w`(G}beJfuoynIfj@1HAMGPfDC z6{~RG|8dMb$Nw2<4ofEEng2D}^hbuTT4O*Z$pTBJGtp(YkKTN`-FmOT{ogIREJq5{ z?2NXZ5m|kFtNE|>^?$Q(e{Fji`sU%85Z?HP-)r-0PnVrP@Uw0Dbj*ykpz_cSAIv(kFwwI~LWii!b|{-|UmVpzbpxp>Rgr z(LD2Z`MMqM>t!-o94*~)?Y|Gv%7 zU3gD(`J5!>$ZCW{Su`+cgD5_O}G8^-@^VCM61HqrWX zCDQg#FroVM&C@$^2My^$cYVoSGKlRyUSHBk?knBk=U+kx@6mfe!-M)C8`FY&BFg| zYTjnYdsn~Pxjgn)c2d|&P_NBw($Q^Ub7Xe>{dW7dOve4bzAd)9r}H_cFV#Ng15-xp48O*`_ldn`Q2+q~9pJV)5fa^X16&xl`Beez$AO?{~YG zpWU+m*JOX2i4n;SYc~gcZji1fzp$M!Uih=j^~x73*<7*6dtUP znVDYmY-YMzuf=VxYNd_&+TD#d22-0qJTu>a^TnC=V~)>02+hBI=HHn;W_FS1jp8T$ zuX|v8% zD40Gc{h4jv_Pb@7+PSu_9|Biz-C}Oscx+0mv$9*yhHN_v-w(U*|6ON$-frWY^EL+7 zGL6Tkmt_2@4exvP@CV4$T%`wn+TRYJlXx?u(fLeGT79?k@oVMl78al8Y$yq`j5xtu zJgc(#2*>9K2b(WHogSZe{z1lW<+B`{Z?CjJUS3jCZ1M=yr(EL)s)OdfaK9zWbk87f z`C;CID$7aVcRcRf%r?#A-J8D4S$`h)+uOxfy8K2~vK zL*mtS(q+zk+do4mfQ||r2;5eGcVnz^iunz7*$AuU>T^qizMcVX!TM4stJV^0IJGNN zn#HY;GcW(n?)UqC=WKki?$wQXe_#6FJ~?0h_l@IcX3E*sRG8MTn)x{A%p+w`LT>bH z0!@1_QK;G_VRFvohRovM>&o|@o|7K->hgrD2X>1?)92TgB~9rTX8HO3z`Qei^z5EY zaL&2X{o~z~>N((|dz)av?2~WVq~9#vZfbt7VzK49HwB-!ZQrZwJIh3~_5riJ$M4Lj zD`~g9WpAhYe~r%Hdv)8QW_I=&Hb0+C?wng_QPA-LG{m}3a-*DW)t0}{nzwL%%~XV~ z9Iz5(Dm;{+uGKS7udCl;?~g~_p4LfAR(K z(CAoi$mX`jpXXTKn8@EXOR9ks#;zcDbc=-e3tpB@-nPX0;}PM@_f1xnzJGGE?A84H z%-nUCe^fEQ@hkRwtvSQhj=Axv;{n--dynqad_KF)_0F2e&6B z-po|%6T9E-TJ80&&-&d8zuztVHj&u}rf6?l{y0Ho-CpD9?YFxE|A2Cw!vbzaf#P|) z0}{Wo1ZJjWHdu!C2wfo;dX*{=&`IVw6ST&M%BY%2b#B-`pHqBkMd0F`Emrqg+n?XbJeMm`1!~7} zu_$*ibW@6dx zT=U5Xw|6{gP&{OIJ101Yapl`595QRq8s2%+a9HN0_PQO1z7-#<`|B(CO~!BYK~Zpr z!WR^tvqe(MPqXpr_3FQV|2xCP3e*8A(P6UKazi3mJL1IgZN>dIpFAD~2-}}MKR2#y zlcK@@pF5w=+q_cB;zarV+H$M+dp^IBW1qX>`!4qT%g(KT44NurYJ3OEUU!$O>`t`X z^YC3;WVa40(_AJ-tCcLzjEXnO?@oX4W!K|w-bX6=J07-eW0mdu`t$kx`wG8z-~aor z|`{NcMf|cwl+>hNm*hXR_DtE!*{cUUiPO z)&A!-GiMn_a#!5+Y`&PeZPR0s0Q;ZDGU@JG;3ZDh$^z$#%k}P_hz6O+J&=^RVGhThWh=#G zj@G{4`+eER$H%3ogBk^$duJ9OpK+gM{<%iyx7WWZgJysg1YR(59GUZ6F5tw(qhPb9 zwKy1lwp=P(c0N} zxWLEqDO1wt;Rn~|w-qLfAo*c2DE{0<%Tvt2CE7N@4}wo?w(NX+qfi|zFt5`gXTfdb z)3!yRiO$9YNgNMMKEL<-k|fv!mUmE?aHx_`6`Z~m1Tq{H+~!F?=zxT`6v%AGKJc0z zu(LtUAps7STW$(-o^RXOY2An{%GBt<%=FO4{D7c1y7+BS3(Cw4>Li4w3p~^hz**k>6%D_nh>}V4Ofpf*oGKHYZ5G(+-3BKwDVFpAK8_1vrWzgbOhyc_D z+dvEZa&sQ}p@=#tT!1gdLh=@ Date: Tue, 20 Aug 2024 20:34:31 -0700 Subject: [PATCH 13/20] Switch to more consistent style --- TUTORIAL.md | 6 ++++-- src/routes.ts | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/TUTORIAL.md b/TUTORIAL.md index 1e9cfa8..5816292 100644 --- a/TUTORIAL.md +++ b/TUTORIAL.md @@ -133,11 +133,13 @@ async function getSessionAgent( if (!session.did) return null // "Restore" the agent for the user - return await ctx.oauthClient.restore(session.did).catch(async (err) => { + try { + return await ctx.oauthClient.restore(session.did) + } catch(err) { ctx.logger.warn({ err }, 'oauth restore failed') await session.destroy() return null - }) + } } ``` diff --git a/src/routes.ts b/src/routes.ts index ab1e779..8afdf6e 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -42,11 +42,13 @@ async function getSessionAgent( password: env.COOKIE_SECRET, }) if (!session.did) return null - return await ctx.oauthClient.restore(session.did).catch(async (err) => { + try { + return await ctx.oauthClient.restore(session.did) + } catch (err) { ctx.logger.warn({ err }, 'oauth restore failed') await session.destroy() return null - }) + } } export const createRouter = (ctx: AppContext) => { -- 2.51.2 From c1fe65bf366d3d8bdb6e3328e88227c123336b3d Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Wed, 21 Aug 2024 12:29:06 -0700 Subject: [PATCH 14/20] Remove client side JS --- src/pages/home.ts | 19 ++++++++++--------- src/pages/public/home.js | 32 -------------------------------- src/pages/public/styles.css | 1 + src/routes.ts | 17 +++++++++++++---- 4 files changed, 24 insertions(+), 45 deletions(-) delete mode 100644 src/pages/public/home.js diff --git a/src/pages/home.ts b/src/pages/home.ts index ffa9887..74ca72a 100644 --- a/src/pages/home.ts +++ b/src/pages/home.ts @@ -74,20 +74,22 @@ function content({ statuses, didHandleMap, profile, myStatus }: Props) {

    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 XVk;NDd8yC@I+5Db)z4*}Q$iB}5CT#n literal 0 HcmV?d00001 diff --git a/docs/diagram-repo.png b/docs/diagram-repo.png new file mode 100644 index 0000000000000000000000000000000000000000..11b6d7028a02c87d688f9ac66f031563115a30d5 GIT binary patch literal 213675 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%0AvwBS0Q6`ks}p-JbAPdsy;ufk%YRV6 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%0Dewfg4j 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

`} -
+
${STATUS_OPTIONS.map( (status) => - html`
${status}
` )} -
+ ${statuses.map((status, i) => { const handle = didHandleMap[status.authorDid] || status.authorDid const date = ts(status) @@ -106,7 +108,6 @@ function content({ statuses, didHandleMap, profile, myStatus }: Props) { ` })} - ` } diff --git a/src/pages/public/home.js b/src/pages/public/home.js deleted file mode 100644 index 22366ba..0000000 --- a/src/pages/public/home.js +++ /dev/null @@ -1,32 +0,0 @@ -Array.from(document.querySelectorAll('.status-option'), (el) => { - el.addEventListener('click', async (ev) => { - setError('') - - if (el.dataset.authed !== '1') { - window.location = '/login' - return - } - - const res = await fetch('/status', { - method: 'POST', - headers: { 'content-type': 'application/json' }, - body: JSON.stringify({ status: el.dataset.value }), - }) - const body = await res.json() - if (body?.error) { - setError(body.error) - } else { - location.reload() - } - }) -}) - -function setError(str) { - const errMsg = document.querySelector('.error') - if (str) { - errMsg.classList.add('visible') - errMsg.textContent = str - } else { - errMsg.classList.remove('visible') - } -} diff --git a/src/pages/public/styles.css b/src/pages/public/styles.css index b360110..839165b 100644 --- a/src/pages/public/styles.css +++ b/src/pages/public/styles.css @@ -139,6 +139,7 @@ button:hover, .button:hover { font-size: 2rem; width: 3rem; height: 3rem; + padding: 0; background-color: #fff; border: 1px solid var(--border-color); border-radius: 3rem; diff --git a/src/routes.ts b/src/routes.ts index 8afdf6e..c7d5a6e 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -204,7 +204,10 @@ export const createRouter = (ctx: AppContext) => { // If the user is signed in, get an agent which communicates with their server const agent = await getSessionAgent(req, res, ctx) if (!agent) { - return res.status(401).json({ error: 'Session required' }) + return res + .status(401) + .type('html') + .send('

Error: Session required

') } // Construct & validate their status record @@ -215,7 +218,10 @@ export const createRouter = (ctx: AppContext) => { createdAt: new Date().toISOString(), } if (!Status.validateRecord(record).success) { - return res.status(400).json({ error: 'Invalid status' }) + return res + .status(400) + .type('html') + .send('

Error: Invalid status

') } let uri @@ -231,7 +237,10 @@ export const createRouter = (ctx: AppContext) => { uri = res.data.uri } catch (err) { ctx.logger.warn({ err }, 'failed to write record') - return res.status(500).json({ error: 'Failed to write record' }) + return res + .status(500) + .type('html') + .send('

Error: Failed to write record

') } try { @@ -256,7 +265,7 @@ export const createRouter = (ctx: AppContext) => { ) } - res.status(200).json({}) + return res.redirect('/') }) ) -- 2.51.2 From b0a238e9952f363246bd7ff98d762fe8a840b9a7 Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Wed, 21 Aug 2024 12:32:20 -0700 Subject: [PATCH 15/20] Update tutorial for new behavior --- TUTORIAL.md | 37 +++++++++---------------------------- src/pages/home.ts | 10 ++++------ 2 files changed, 13 insertions(+), 34 deletions(-) diff --git a/TUTORIAL.md b/TUTORIAL.md index 5816292..7a9266e 100644 --- a/TUTORIAL.md +++ b/TUTORIAL.md @@ -25,7 +25,7 @@ Think of our app like a Google. If Google's job was to say which emoji each webs The Atmosphere works the same way, except we're going to check `at://` instead of `https://`. Each user has a data repo under an `at://` URL. We'll crawl all the `at://`s in the Atmosphere for all the "status.json" records and aggregate them into our SQLite database. -> `at://` is the URL scheme of the AT Protocol. +> `at://` is the URL scheme of the AT Protocol. Under the hood it uses common tech like HTTP and DNS, but it adds all of the features we'll be using in this tutorial. ## Step 1. Starting with our ExpressJS app @@ -278,7 +278,7 @@ router.post( // If the user is signed in, get an agent which communicates with their server const agent = await getSessionAgent(req, res, ctx) if (!agent) { - return res.status(401).json({ error: 'Session required' }) + return res.status(401).type('html').send('

Error: Session required

') } // Construct their status record @@ -298,7 +298,7 @@ router.post( }) } catch (err) { logger.warn({ err }, 'failed to write record') - return res.status(500).json({ error: 'Failed to write record' }) + return res.status(500).type('html').send('

Error: Failed to write record

') } res.status(200).json({}) @@ -310,32 +310,13 @@ Now in our homepage we can list out the status buttons: ```html -
- ${['πŸ‘', 'πŸ¦‹', 'πŸ₯³', /*...*/].map(status => html` -
+
+ ${STATUS_OPTIONS.map(status => html` +
` - )} -
-``` - -And write some client-side javascript to submit the status on click: - -```javascript -/* src/pages/public/home.js */ -Array.from(document.querySelectorAll('.status-option'), (el) => { - el.addEventListener('click', async (ev) => { - const res = await fetch('/status', { - method: 'POST', - headers: { 'content-type': 'application/json' }, - body: JSON.stringify({ status: el.dataset.value }), - }) - const body = await res.json() - if (!body?.error) { - location.reload() - } - }) -}) + + `)} + ``` And here we are! diff --git a/src/pages/home.ts b/src/pages/home.ts index 74ca72a..74c584a 100644 --- a/src/pages/home.ts +++ b/src/pages/home.ts @@ -78,16 +78,14 @@ function content({ statuses, didHandleMap, profile, myStatus }: Props) { ${STATUS_OPTIONS.map( (status) => html`` )} ${statuses.map((status, i) => { -- 2.51.2 From 95a1b0897e6ca19935a9523e8833415f3023041f Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Wed, 21 Aug 2024 15:23:14 -0700 Subject: [PATCH 16/20] Tweak schema description --- TUTORIAL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TUTORIAL.md b/TUTORIAL.md index 7a9266e..296148a 100644 --- a/TUTORIAL.md +++ b/TUTORIAL.md @@ -331,7 +331,7 @@ Anybody can create a new schema using the [Lexicon](#todo) language, which is ve > ### Why create a schema? > -> Schemas help other applications understand the data your app is creating. By publishing your schemas, you enable compatibility with other apps and reduce the chances of bad data affecting your app. +> Schemas help other applications understand the data your app is creating. By publishing your schemas, you make it easier for other application authors to publish data in a format your app will recognize and handle. Let's create our schema in the `/lexicons` folder of our codebase. You can [read more about how to define schemas here](#todo). -- 2.51.2 From cb08ccb21a92f153cd30367f1922f23987b6a8dd Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Wed, 21 Aug 2024 15:27:20 -0700 Subject: [PATCH 17/20] Show generated code --- TUTORIAL.md | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/TUTORIAL.md b/TUTORIAL.md index 296148a..4792dfa 100644 --- a/TUTORIAL.md +++ b/TUTORIAL.md @@ -336,7 +336,7 @@ Anybody can create a new schema using the [Lexicon](#todo) language, which is ve Let's create our schema in the `/lexicons` folder of our codebase. You can [read more about how to define schemas here](#todo). ```json -/* lexicons/status.json */ +/** lexicons/status.json **/ { "lexicon": 1, "id": "com.example.status", @@ -371,7 +371,30 @@ Now let's run some code-generation using our schema: ./node_modules/.bin/lex gen-server ./src/lexicon ./lexicons/* ``` -This will produce Typescript interfaces as well as runtime validation functions that we can use in our `POST /status` route: +This will produce Typescript interfaces as well as runtime validation functions that we can use in our app. Here's what that generated code looks like: + +```typescript +/** src/lexicon/types/com/example/status.ts **/ +export interface Record { + status: string + createdAt: string + [k: string]: unknown +} + +export function isRecord(v: unknown): v is Record { + return ( + isObj(v) && + hasProp(v, '$type') && + (v.$type === 'com.example.status#main' || v.$type === 'com.example.status') + ) +} + +export function validateRecord(v: unknown): ValidationResult { + return lexicons.validate('com.example.status#main', v) +} +``` + +Let's use that code to improve the `POST /status` route: ```typescript /** src/routes.ts **/ -- 2.51.2 From 38ad0a29f2cc030ff3b60a71edc2f6dee6ba4f44 Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Wed, 21 Aug 2024 15:41:52 -0700 Subject: [PATCH 18/20] A few tightening edits --- TUTORIAL.md | 60 ++++++++++++++++++++--------------------------------- 1 file changed, 22 insertions(+), 38 deletions(-) diff --git a/TUTORIAL.md b/TUTORIAL.md index 4792dfa..f8b9bff 100644 --- a/TUTORIAL.md +++ b/TUTORIAL.md @@ -119,31 +119,7 @@ With that, we're in business! We now have a session with the user's `at://` repo ## Step 3. Fetching the user's profile -Why don't we learn something about our user? Let's start by getting the [Agent](#todo) object. The [Agent](#todo) is the client to the user's `at://` repo server. - -```typescript -/** src/routes.ts **/ -async function getSessionAgent( - req: IncomingMessage, - res: ServerResponse, - ctx: AppContext -) { - // Fetch the session from their cookie - const session = await getIronSession(req, res) - if (!session.did) return null - - // "Restore" the agent for the user - try { - return await ctx.oauthClient.restore(session.did) - } catch(err) { - ctx.logger.warn({ err }, 'oauth restore failed') - await session.destroy() - return null - } -} -``` - -Users publish JSON records on their `at://` repos. In [Bluesky](https://bsky.app), they publish a "profile" record which looks like this: +Why don't we learn something about our user? In [Bluesky](https://bsky.app), users publish a "profile" record which looks like this: ```typescript interface ProfileRecord { @@ -156,7 +132,9 @@ interface ProfileRecord { } ``` -We're going to use the [Agent](#todo) to fetch this record to include in our app. +You can examine this record directly using [atproto-browser.vercel.app](https://atproto-browser.vercel.app). For instance, [this is the profile record for @bsky.app](https://atproto-browser.vercel.app/at?u=at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.actor.profile/self). + +We're going to use the [Agent](#todo) associated with the user's OAuth session to fetch this record. ```typescript await agent.getRecord({ @@ -168,9 +146,9 @@ await agent.getRecord({ When asking for a record, we provide three pieces of information. -- The [DID](#todo) which identifies the user, -- The collection name, and -- The record key +- **repo** The [DID](#todo) which identifies the user, +- **collection** The collection name, and +- **rkey** The record key We'll explain the collection name shortly. Record keys are strings with [some limitations](https://atproto.com/specs/record-key#record-key-syntax) and a couple of common patterns. The `"self"` pattern is used when a collection is expected to only contain one record which describes the user. @@ -194,7 +172,7 @@ router.get( const { data: profileRecord } = await agent.getRecord({ repo: agent.accountDid, // our user's repo collection: 'app.bsky.actor.profile', // the bluesky profile record type - rkey: 'self', // the record's name + rkey: 'self', // the record's key }) // Serve the logged-in view @@ -207,6 +185,8 @@ router.get( With that data, we can give a nice personalized welcome banner for our user: +![A screenshot of the banner image](./docs/app-banner.png) + ```html
@@ -229,10 +209,6 @@ With that data, we can give a nice personalized welcome banner for our user:
``` -![A screenshot of the banner image](./docs/app-banner.png) - -You can examine this record directly using [atproto-browser.vercel.app](https://atproto-browser.vercel.app). For instance, [this is the profile record for @bsky.app](https://atproto-browser.vercel.app/at?u=at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.actor.profile/self). - ## Step 4. Reading & writing records You can think of the user repositories as collections of JSON records: @@ -325,7 +301,7 @@ And here we are! ## Step 5. Creating a custom "status" schema -The collections are typed, meaning that they have a defined schema. The `app.bsky.actor.profile` type definition [can be found here](https://github.com/bluesky-social/atproto/blob/main/lexicons/app/bsky/actor/profile.json). +Repo collections are typed, meaning that they have a defined schema. The `app.bsky.actor.profile` type definition [can be found here](https://github.com/bluesky-social/atproto/blob/main/lexicons/app/bsky/actor/profile.json). Anybody can create a new schema using the [Lexicon](#todo) language, which is very similar to [JSON-Schema](#todo). The schemas use [reverse-DNS IDs](#todo) which indicate ownership, but for this demo app we're going to use `com.example` which is safe for non-production software. @@ -511,7 +487,9 @@ You can almost think of information flowing in a loop: ![A diagram of the flow of information](./docs/diagram-info-flow.png) -Why read from the event log? Because there are other apps in the network that will write the records we're interested in. By subscribing to the event log, we ensure that we catch all the data we're interested in -- including data published by other apps. +Applications write to the repo. The write events are then emitted on the firehose where they're caught by the apps and ingested into their databases. + +Why sync from the event log like this? Because there are other apps in the network that will write the records we're interested in. By subscribing to the event log, we ensure that we catch all the data we're interested in — including data published by other apps! ## Step 7. Listing the latest statuses @@ -567,7 +545,13 @@ ${statuses.map((status, i) => { ## Step 8. Optimistic updates -As a final optimization, let's introduce "optimistic updates." Remember the information flow loop with the repo write and the event log? Since we're updating our users' repos locally, we can short-circuit that flow to our own database: +As a final optimization, let's introduce "optimistic updates." + +Remember the information flow loop with the repo write and the event log? + +![A diagram of the flow of information](./docs/diagram-info-flow.png) + +Since we're updating our users' repos locally, we can short-circuit that flow to our own database: ![A diagram illustrating optimistic updates](./docs/diagram-optimistic-update.png) @@ -633,7 +617,7 @@ When building your app, think in these four key steps: - Design the [Lexicon](#) schemas for the records you'll publish into the Atmosphere. - Create a database for aggregating the records into useful views. - Build your application to write the records on your users' repos. -- Listen to the firehose to hydrate your aggregated database. +- Listen to the firehose to aggregate data across the network. Remember this flow of information throughout: -- 2.51.2 From c61bd2dc1c5cc0a4425a24128af9e9f8933a235f Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Thu, 22 Aug 2024 10:12:04 -0700 Subject: [PATCH 19/20] Fill in link hrefs --- TUTORIAL.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/TUTORIAL.md b/TUTORIAL.md index f8b9bff..dab62bf 100644 --- a/TUTORIAL.md +++ b/TUTORIAL.md @@ -1,6 +1,6 @@ # Tutorial -In this guide, we're going to build a **simple multi-user app** that publishes your current "status" as an emoji. +In this guide, we're going to build a simple multi-user app that publishes your current "status" as an emoji. ![A screenshot of our example application](./docs/app-screenshot.png) @@ -38,14 +38,14 @@ npm i npm run dev # you can leave this running and it will auto-reload ``` -Our repo is a regular Web app. We're rendering our HTML server-side like it's 1999. We also have a SQLite database that we're managing with [Kysley](#todo). +Our repo is a regular Web app. We're rendering our HTML server-side like it's 1999. We also have a SQLite database that we're managing with [Kysley](https://kysely.dev/). Our starting stack: - Typescript -- NodeJS web server ([express](#todo)) -- SQLite database ([Kysley](#todo)) -- Server-side rendering ([uhtml](#todo)) +- NodeJS web server ([express](https://expressjs.com/)) +- SQLite database ([Kysley](https://kysely.dev/)) +- Server-side rendering ([uhtml](https://www.npmjs.com/package/uhtml)) With each step we'll explain how our Web app taps into the Atmosphere. Refer to the codebase for more detailed code — again, this tutorial is going to keep it light and quick to digest. @@ -53,7 +53,7 @@ With each step we'll explain how our Web app taps into the Atmosphere. Refer to When somebody logs into our app, they'll give us read & write access to their personal `at://` repo. We'll use that to write the `status.json` record. -We're going to accomplish this using OAuth ([spec](#todo)). You can find a [more extensive OAuth guide here](#todo), but for now just know that most of the OAuth flows are going to be handled for us using the [@atproto/oauth-client-node](#todo) library. This is the arrangement we're aiming toward: +We're going to accomplish this using OAuth ([spec](https://github.com/bluesky-social/proposals/tree/main/0004-oauth)). Most of the OAuth flows are going to be handled for us using the [@atproto/oauth-client-node](https://github.com/bluesky-social/atproto/tree/main/packages/oauth/oauth-client-node) library. This is the arrangement we're aiming toward: ![A diagram of the OAuth elements](./docs/diagram-oauth.png) @@ -93,7 +93,7 @@ router.post( This is the same kind of SSO flow that Google or GitHub uses. The user will be asked for their password, then asked to confirm the session with your application. -When that finishes, they'll be sent back to `/oauth/callback` on our Web app. The OAuth client stores the access tokens for the server, and then we attach their account's [DID](#todo) to their cookie-session. +When that finishes, they'll be sent back to `/oauth/callback` on our Web app. The OAuth client stores the access tokens for the server, and then we attach their account's [DID](https://atproto.com/specs/did) to their cookie-session. ```typescript /** src/routes.ts **/ @@ -134,7 +134,7 @@ interface ProfileRecord { You can examine this record directly using [atproto-browser.vercel.app](https://atproto-browser.vercel.app). For instance, [this is the profile record for @bsky.app](https://atproto-browser.vercel.app/at?u=at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.actor.profile/self). -We're going to use the [Agent](#todo) associated with the user's OAuth session to fetch this record. +We're going to use the [Agent](https://github.com/bluesky-social/atproto/tree/main/packages/api) associated with the user's OAuth session to fetch this record. ```typescript await agent.getRecord({ @@ -146,11 +146,11 @@ await agent.getRecord({ When asking for a record, we provide three pieces of information. -- **repo** The [DID](#todo) which identifies the user, +- **repo** The [DID](https://atproto.com/specs/did) which identifies the user, - **collection** The collection name, and - **rkey** The record key -We'll explain the collection name shortly. Record keys are strings with [some limitations](https://atproto.com/specs/record-key#record-key-syntax) and a couple of common patterns. The `"self"` pattern is used when a collection is expected to only contain one record which describes the user. +We'll explain the collection name shortly. Record keys are strings with [some restrictions](https://atproto.com/specs/record-key#record-key-syntax) and a couple of common patterns. The `"self"` pattern is used when a collection is expected to only contain one record which describes the user. Let's update our homepage to fetch this profile record: @@ -303,13 +303,13 @@ And here we are! Repo collections are typed, meaning that they have a defined schema. The `app.bsky.actor.profile` type definition [can be found here](https://github.com/bluesky-social/atproto/blob/main/lexicons/app/bsky/actor/profile.json). -Anybody can create a new schema using the [Lexicon](#todo) language, which is very similar to [JSON-Schema](#todo). The schemas use [reverse-DNS IDs](#todo) which indicate ownership, but for this demo app we're going to use `com.example` which is safe for non-production software. +Anybody can create a new schema using the [Lexicon](https://atproto.com/specs/lexicon) language, which is very similar to [JSON-Schema](http://json-schema.org/). The schemas use [reverse-DNS IDs](https://atproto.com/specs/nsid) which indicate ownership, but for this demo app we're going to use `com.example` which is safe for non-production software. > ### Why create a schema? > > Schemas help other applications understand the data your app is creating. By publishing your schemas, you make it easier for other application authors to publish data in a format your app will recognize and handle. -Let's create our schema in the `/lexicons` folder of our codebase. You can [read more about how to define schemas here](#todo). +Let's create our schema in the `/lexicons` folder of our codebase. You can [read more about how to define schemas here](https://atproto.com/guides/lexicon). ```json /** lexicons/status.json **/ @@ -411,7 +411,7 @@ Remember how we referred to our app as being like a Google, crawling around the ![A diagram of the event stream](./docs/diagram-event-stream.png) -Using a [Relay service](#todo) we can listen to an aggregated firehose of these events across all users in the network. In our case what we're looking for are valid `com.example.status` records. +Using a [Relay service](https://docs.bsky.app/docs/advanced-guides/federation-architecture#relay) we can listen to an aggregated firehose of these events across all users in the network. In our case what we're looking for are valid `com.example.status` records. ```typescript @@ -493,7 +493,7 @@ Why sync from the event log like this? Because there are other apps in the netwo ## Step 7. Listing the latest statuses -Now that we have statuses populating our SQLite, we can produce a timeline of status updates by users. We also use a [DID](#todo)-to-handle resolver so we can show a nice username with the statuses: +Now that we have statuses populating our SQLite, we can produce a timeline of status updates by users. We also use a [DID](https://atproto.com/specs/did)-to-handle resolver so we can show a nice username with the statuses: ```typescript /** src/routes.ts **/ -- 2.51.2 From 8ec6567186eb7d46453fe7123f43463c279196d6 Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Thu, 22 Aug 2024 10:36:53 -0700 Subject: [PATCH 20/20] Fill out next steps --- TUTORIAL.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/TUTORIAL.md b/TUTORIAL.md index dab62bf..358f1f8 100644 --- a/TUTORIAL.md +++ b/TUTORIAL.md @@ -627,6 +627,18 @@ This is how every app in the Atmosphere works, including the [Bluesky social app ## Next steps -TODO +If you want to practice what you've learned, here are some additional challenges you could try: +- Sync the profile records of all users so that you can show their display names instead of their handles. +- Count the number of each status used and display the total counts. +- Fetch the authed user's `app.bsky.graph.follow` follows and show statuses from them. +- Create a different kind of schema, like a way to post links to websites and rate them 1 through 4 stars. +You can find more information here: + +|Resources|-| +|-|-| +|[οΌ  ATProto docs](https://atproto.com)|Learn more about the AT Protocol.| +|[πŸ¦‹ Bluesky API docs](https://docs.bsky.app/)|See how Bluesky works as an ATProto app.| +|[πŸ“¦ ATProto monorepo](https://github.com/bluesky-social/atproto)|See the source code first-hand.| +|[πŸ’¬ ATProto discussions board](https://github.com/bluesky-social/atproto/discussions)|Ask any questions you have!|