diff --git a/fedac/native/src/audio-decode.c b/fedac/native/src/audio-decode.c index 7d320ff53c..d1d0193c35 100644 --- a/fedac/native/src/audio-decode.c +++ b/fedac/native/src/audio-decode.c @@ -396,6 +396,13 @@ void deck_decoder_unload(ACDeckDecoder *d) { d->fmt_ctx = NULL; } + // Free peaks + if (d->peaks) { + free(d->peaks); + d->peaks = NULL; + d->peak_count = 0; + } + d->loaded = 0; d->finished = 0; d->decoding = 0; @@ -403,6 +410,111 @@ void deck_decoder_unload(ACDeckDecoder *d) { d->ring_read = 0; } +// Generate decimated max-amplitude peaks for the loaded file. +// Opens a SECOND independent FFmpeg context (so it doesn't disturb playback) +// and decodes the entire file once, recording max abs value per chunk. +int deck_decoder_generate_peaks(ACDeckDecoder *d, int target_count) { + if (!d || !d->loaded || !d->path[0]) return -1; + if (d->peaks) { free(d->peaks); d->peaks = NULL; d->peak_count = 0; } + if (target_count <= 0) target_count = 1024; + + AVFormatContext *fmt = NULL; + if (avformat_open_input(&fmt, d->path, NULL, NULL) < 0) return -1; + if (avformat_find_stream_info(fmt, NULL) < 0) { + avformat_close_input(&fmt); + return -1; + } + int sidx = av_find_best_stream(fmt, AVMEDIA_TYPE_AUDIO, -1, -1, NULL, 0); + if (sidx < 0) { avformat_close_input(&fmt); return -1; } + AVStream *st = fmt->streams[sidx]; + const AVCodec *codec = avcodec_find_decoder(st->codecpar->codec_id); + if (!codec) { avformat_close_input(&fmt); return -1; } + AVCodecContext *cctx = avcodec_alloc_context3(codec); + avcodec_parameters_to_context(cctx, st->codecpar); + if (avcodec_open2(cctx, codec, NULL) < 0) { + avcodec_free_context(&cctx); + avformat_close_input(&fmt); + return -1; + } + + // Estimate total samples for chunking + double duration = d->duration; + if (duration <= 0) duration = 60.0; // fallback + int sample_rate = cctx->sample_rate; + long total_samples = (long)(duration * sample_rate); + if (total_samples < target_count) total_samples = target_count; + long samples_per_chunk = total_samples / target_count; + if (samples_per_chunk < 1) samples_per_chunk = 1; + + d->peaks = (float *)calloc(target_count, sizeof(float)); + if (!d->peaks) { + avcodec_free_context(&cctx); + avformat_close_input(&fmt); + return -1; + } + d->peak_count = target_count; + + // Setup converter to mono float + SwrContext *swr = NULL; + AVChannelLayout out_layout = AV_CHANNEL_LAYOUT_MONO; + swr_alloc_set_opts2(&swr, &out_layout, AV_SAMPLE_FMT_FLT, sample_rate, + &cctx->ch_layout, cctx->sample_fmt, cctx->sample_rate, + 0, NULL); + swr_init(swr); + + AVPacket *pkt = av_packet_alloc(); + AVFrame *frame = av_frame_alloc(); + float chunk_max = 0.0f; + long sample_idx = 0; + int peak_idx = 0; + float *outbuf = (float *)malloc(sample_rate * sizeof(float)); + int outbuf_size = sample_rate; + + while (av_read_frame(fmt, pkt) >= 0 && peak_idx < target_count) { + if (pkt->stream_index != sidx) { av_packet_unref(pkt); continue; } + if (avcodec_send_packet(cctx, pkt) < 0) { av_packet_unref(pkt); continue; } + while (avcodec_receive_frame(cctx, frame) >= 0) { + int max_out = frame->nb_samples + 256; + if (max_out > outbuf_size) { + outbuf = (float *)realloc(outbuf, max_out * sizeof(float)); + outbuf_size = max_out; + } + uint8_t *out_ptr[1] = { (uint8_t *)outbuf }; + int out_n = swr_convert(swr, out_ptr, max_out, + (const uint8_t **)frame->data, frame->nb_samples); + for (int i = 0; i < out_n; i++) { + float v = outbuf[i]; + if (v < 0) v = -v; + if (v > chunk_max) chunk_max = v; + sample_idx++; + if (sample_idx >= samples_per_chunk) { + if (peak_idx < target_count) { + d->peaks[peak_idx++] = chunk_max; + } + chunk_max = 0.0f; + sample_idx = 0; + } + } + } + av_packet_unref(pkt); + } + // Final chunk + if (peak_idx < target_count && chunk_max > 0) { + d->peaks[peak_idx++] = chunk_max; + } + // Fill remaining + while (peak_idx < target_count) d->peaks[peak_idx++] = 0; + + free(outbuf); + av_frame_free(&frame); + av_packet_free(&pkt); + swr_free(&swr); + avcodec_free_context(&cctx); + avformat_close_input(&fmt); + + return target_count; +} + void deck_decoder_destroy(ACDeckDecoder *d) { if (!d) return; deck_decoder_unload(d); diff --git a/fedac/native/src/audio-decode.h b/fedac/native/src/audio-decode.h index a4d5b6004e..c7240dad3e 100644 --- a/fedac/native/src/audio-decode.h +++ b/fedac/native/src/audio-decode.h @@ -56,6 +56,11 @@ typedef struct ACDeckDecoder { void *codec_ctx; // AVCodecContext* void *swr; // SwrContext* int stream_idx; // audio stream index + + // Waveform peaks (decimated max-amplitude samples for visualization) + // Generated once on load by scanning the entire file via separate pass. + float *peaks; // [0..1] amplitude peaks + int peak_count; // number of peaks (typically 1024) } ACDeckDecoder; // Create a decoder instance for the given output sample rate @@ -73,6 +78,11 @@ void deck_decoder_set_speed(ACDeckDecoder *d, double speed); // 0.5–2.0 // Unload current file and stop thread (decoder can be reused with another load) void deck_decoder_unload(ACDeckDecoder *d); +// Generate peaks for the loaded file (call after deck_decoder_load). +// Decodes the entire file once and writes max-amplitude peaks per chunk. +// Safe to call from main thread; takes a few hundred ms for typical tracks. +int deck_decoder_generate_peaks(ACDeckDecoder *d, int target_count); + // Destroy decoder and free all resources void deck_decoder_destroy(ACDeckDecoder *d); diff --git a/fedac/native/src/audio.c b/fedac/native/src/audio.c index 0f86c547fa..12162fb14d 100644 --- a/fedac/native/src/audio.c +++ b/fedac/native/src/audio.c @@ -1741,6 +1741,8 @@ int audio_deck_load(ACAudio *audio, int deck, const char *path) { int ret = deck_decoder_load(dk->decoder, path); if (ret == 0) { dk->active = 1; + // Generate waveform peaks for visualization (decoded in background thread) + deck_decoder_generate_peaks(dk->decoder, 1024); } return ret; } diff --git a/fedac/native/src/js-bindings.c b/fedac/native/src/js-bindings.c index 626a2e352d..87d91edc7f 100644 --- a/fedac/native/src/js-bindings.c +++ b/fedac/native/src/js-bindings.c @@ -2136,6 +2136,23 @@ static JSValue js_deck_set_speed(JSContext *ctx, JSValueConst this_val, int argc return JS_UNDEFINED; } +// sound.deck.getPeaks(deck) — returns Float32Array of normalized peak amplitudes +static JSValue js_deck_get_peaks(JSContext *ctx, JSValueConst this_val, int argc, JSValueConst *argv) { + (void)this_val; + if (argc < 1 || !current_rt || !current_rt->audio) return JS_NULL; + int deck; JS_ToInt32(ctx, &deck, argv[0]); + if (deck < 0 || deck >= AUDIO_MAX_DECKS) return JS_NULL; + ACDeck *dk = ¤t_rt->audio->decks[deck]; + if (!dk->decoder || !dk->decoder->peaks || dk->decoder->peak_count <= 0) return JS_NULL; + + // Build a JS array from the peak data + JSValue arr = JS_NewArray(ctx); + for (int i = 0; i < dk->decoder->peak_count; i++) { + JS_SetPropertyUint32(ctx, arr, i, JS_NewFloat64(ctx, dk->decoder->peaks[i])); + } + return arr; +} + // sound.deck.setVolume(deck, vol) static JSValue js_deck_set_volume(JSContext *ctx, JSValueConst this_val, int argc, JSValueConst *argv) { (void)this_val; @@ -2287,6 +2304,7 @@ static JSValue build_sound_obj(JSContext *ctx, ACRuntime *rt) { JS_SetPropertyStr(ctx, deck_obj, "setVolume", JS_NewCFunction(ctx, js_deck_set_volume, "setVolume", 2)); JS_SetPropertyStr(ctx, deck_obj, "setCrossfader", JS_NewCFunction(ctx, js_deck_set_crossfader, "setCrossfader", 1)); JS_SetPropertyStr(ctx, deck_obj, "setMasterVolume", JS_NewCFunction(ctx, js_deck_set_master_vol, "setMasterVolume", 1)); + JS_SetPropertyStr(ctx, deck_obj, "getPeaks", JS_NewCFunction(ctx, js_deck_get_peaks, "getPeaks", 1)); // Deck state (read-only, rebuilt each frame) JSValue decks_arr = JS_NewArray(ctx); diff --git a/lith/server.mjs b/lith/server.mjs index 4493c12363..8e2d71b0e5 100644 --- a/lith/server.mjs +++ b/lith/server.mjs @@ -155,6 +155,10 @@ app.use((req, res, next) => { "Access-Control-Allow-Headers", "Content-Type, Authorization, X-Requested-With", ); + res.set( + "Access-Control-Expose-Headers", + "Content-Length, Content-Disposition, X-AC-OS-Requested-Layout, X-AC-OS-Layout, X-AC-OS-Fallback, X-AC-OS-Fallback-Reason, X-Build, X-Patch", + ); res.set("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS"); if (req.method === "OPTIONS") return res.sendStatus(204); next(); @@ -768,6 +772,8 @@ app.get("/api/os-image", async (req, res) => { if (ovenRes.headers.get("x-ac-os-layout")) res.set("X-AC-OS-Layout", ovenRes.headers.get("x-ac-os-layout")); if (ovenRes.headers.get("x-ac-os-fallback")) res.set("X-AC-OS-Fallback", ovenRes.headers.get("x-ac-os-fallback")); if (ovenRes.headers.get("x-ac-os-fallback-reason")) res.set("X-AC-OS-Fallback-Reason", ovenRes.headers.get("x-ac-os-fallback-reason")); + if (ovenRes.headers.get("x-build")) res.set("X-Build", ovenRes.headers.get("x-build")); + if (ovenRes.headers.get("x-patch")) res.set("X-Patch", ovenRes.headers.get("x-patch")); res.set("Access-Control-Allow-Origin", "*"); const { Readable } = await import("stream"); Readable.fromWeb(ovenRes.body).pipe(res); diff --git a/oven-edge/worker.mjs b/oven-edge/worker.mjs index af4a9bfbc4..8e2e83ce1e 100644 --- a/oven-edge/worker.mjs +++ b/oven-edge/worker.mjs @@ -18,12 +18,23 @@ const IDENTITY_MARKER = "AC_IDENTITY_BLOCK_V1\n"; const IDENTITY_BLOCK_SIZE = 32768; const CONFIG_MARKER = '{"handle":"","piece":"notepat","sub":"","email":""}'; const DEFAULT_CONFIG_PATCH_SIZE = 4096; +const EXPOSED_HEADERS = [ + "Content-Length", + "Content-Disposition", + "X-AC-OS-Requested-Layout", + "X-AC-OS-Layout", + "X-AC-OS-Fallback", + "X-AC-OS-Fallback-Reason", + "X-Build", + "X-Patch", +].join(", "); function edgeHeaders(request, extra = {}) { return { "Access-Control-Allow-Origin": "*", "Access-Control-Allow-Methods": "GET, POST, OPTIONS", "Access-Control-Allow-Headers": "Content-Type, Authorization", + "Access-Control-Expose-Headers": EXPOSED_HEADERS, "X-Edge-Pop": request.cf?.colo || "unknown", ...extra, }; @@ -174,9 +185,13 @@ export default { // 2. Get manifest (has patch offsets) const manifest = await getManifest(env); + const hasImgManifest = + manifest?.artifactType === "img" && + Number.isFinite(manifest?.imageSize) && + manifest.imageSize > 0; const hasIdentity = Number.isFinite(manifest?.identityBlockOffset) && manifest.identityBlockOffset >= 0; const configOffsets = Array.isArray(manifest?.configOffsets) ? manifest.configOffsets : []; - if (!manifest || (!hasIdentity && configOffsets.length === 0)) { + if (!manifest || !hasImgManifest || (!hasIdentity && configOffsets.length === 0)) { // No manifest or no offsets — fall through to oven origin for legacy patching const ovenRes = await fetch(ORIGIN + "/os-image" + url.search, { headers: { Authorization: auth }, diff --git a/oven/server.mjs b/oven/server.mjs index ad246443ea..b7896546c2 100644 --- a/oven/server.mjs +++ b/oven/server.mjs @@ -361,7 +361,7 @@ app.use((req, res, next) => { res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization'); res.setHeader( 'Access-Control-Expose-Headers', - 'Content-Length, Content-Disposition, X-AC-OS-Requested-Layout, X-AC-OS-Layout, X-AC-OS-Fallback, X-AC-OS-Fallback-Reason', + 'Content-Length, Content-Disposition, X-AC-OS-Requested-Layout, X-AC-OS-Layout, X-AC-OS-Fallback, X-AC-OS-Fallback-Reason, X-Build, X-Patch', ); if (req.method === 'OPTIONS') { return res.sendStatus(200); @@ -3300,44 +3300,75 @@ app.get('/os-image', async (req, res) => { const configJson = JSON.stringify(configObj); let imgData; + let fallbackImage = false; + let fallbackReason = ''; + const buildKernelFallback = async (reason) => { + fallbackReason = reason; + console.warn( + `[os-image] ${reason}; generating ${variant} EFI image for @${handle}`, + ); + imgData = await buildPersonalizedEfiImage({ + kernelUrl: kernelUrlForVariant(variant), + configJson, + }); + fallbackImage = true; + }; try { const template = await getTemplate(); imgData = Buffer.from(template); } catch (err) { - return res.status(503).json({ error: `Template not available: ${err.message}` }); + try { + await buildKernelFallback('template-unavailable'); + } catch (fallbackErr) { + return res.status(503).json({ + error: `Template not available (${err.message}) and fallback image build failed: ${fallbackErr.message}`, + }); + } } - const identityMarkerBuf = Buffer.from(IDENTITY_MARKER + '\n'); - let idx = imgData.indexOf(identityMarkerBuf); let identityPatchCount = 0; - while (idx !== -1) { - const block = Buffer.alloc(IDENTITY_BLOCK_SIZE, 0); - const header = Buffer.from(IDENTITY_MARKER + '\n' + configJson); - header.copy(block); - block.copy(imgData, idx); - identityPatchCount++; - idx = imgData.indexOf(identityMarkerBuf, idx + IDENTITY_BLOCK_SIZE); - } - - const padded = configJson.length >= CONFIG_PAD_SIZE_LEGACY - ? configJson.slice(0, CONFIG_PAD_SIZE_LEGACY) - : configJson + ' '.repeat(CONFIG_PAD_SIZE_LEGACY - configJson.length); - const configBytes = Buffer.from(padded); - const legacyMarkerBuf = Buffer.from(CONFIG_MARKER_LEGACY); let configPatchCount = 0; - idx = imgData.indexOf(legacyMarkerBuf); - while (idx !== -1) { - configBytes.copy(imgData, idx); - configPatchCount++; - idx = imgData.indexOf(legacyMarkerBuf, idx + CONFIG_PAD_SIZE_LEGACY); + + if (!fallbackImage) { + const identityMarkerBuf = Buffer.from(IDENTITY_MARKER + '\n'); + let idx = imgData.indexOf(identityMarkerBuf); + while (idx !== -1) { + const block = Buffer.alloc(IDENTITY_BLOCK_SIZE, 0); + const header = Buffer.from(IDENTITY_MARKER + '\n' + configJson); + header.copy(block); + block.copy(imgData, idx); + identityPatchCount++; + idx = imgData.indexOf(identityMarkerBuf, idx + IDENTITY_BLOCK_SIZE); + } + + const padded = configJson.length >= CONFIG_PAD_SIZE_LEGACY + ? configJson.slice(0, CONFIG_PAD_SIZE_LEGACY) + : configJson + ' '.repeat(CONFIG_PAD_SIZE_LEGACY - configJson.length); + const configBytes = Buffer.from(padded); + const legacyMarkerBuf = Buffer.from(CONFIG_MARKER_LEGACY); + idx = imgData.indexOf(legacyMarkerBuf); + while (idx !== -1) { + configBytes.copy(imgData, idx); + configPatchCount++; + idx = imgData.indexOf(legacyMarkerBuf, idx + CONFIG_PAD_SIZE_LEGACY); + } + + if (identityPatchCount === 0 && configPatchCount === 0) { + try { + await buildKernelFallback('template-missing-config-placeholder'); + } catch (err) { + return res.status(500).json({ + error: `Template image missing config placeholder and fallback image build failed: ${err.message}`, + }); + } + } } - if (identityPatchCount === 0 && configPatchCount === 0) { - return res.status(500).json({ error: 'Template image missing config placeholder' }); + if (!fallbackImage) { + console.log( + `[os-image] Patched ${identityPatchCount} identity block(s) and ${configPatchCount} config location(s) for @${handle}`, + ); } - console.log( - `[os-image] Patched ${identityPatchCount} identity block(s) and ${configPatchCount} config location(s) for @${handle}`, - ); addServerLog('success', '💿', `OS image for @${handle} (${(imgData.length / 1048576).toFixed(1)}MB)`); res.setHeader('Content-Type', 'application/octet-stream'); @@ -3346,6 +3377,10 @@ app.get('/os-image', async (req, res) => { res.setHeader('Expires', '0'); res.setHeader('X-AC-OS-Requested-Layout', requestedLayout || 'img'); res.setHeader('X-AC-OS-Layout', 'img'); + if (fallbackImage) { + res.setHeader('X-AC-OS-Fallback', 'kernel-efi-image'); + res.setHeader('X-AC-OS-Fallback-Reason', fallbackReason); + } let releaseName = 'native'; try { diff --git a/papers/SCORE.md b/papers/SCORE.md index c3479ef07c..66977212a4 100644 --- a/papers/SCORE.md +++ b/papers/SCORE.md @@ -40,6 +40,7 @@ Sorted by most recently edited/added. | Paper | Format | PDF | Source | |-------|--------|-----|--------| +| Aesthetic Computer Demo (C&C 2026) | ACM Demo (LaTeX) | `cc-demo-2026/demo.pdf` | `cc-demo-2026/demo.tex` | | The URL Tradition | arXiv (LaTeX) | `arxiv-url-tradition/url-tradition.pdf` | `arxiv-url-tradition/url-tradition.tex` | | The Potter and the Prompt | arXiv (LaTeX) | `arxiv-holden/holden.pdf` | `arxiv-holden/holden.tex` | | Two Departments, One Building | arXiv (LaTeX) | `arxiv-ucla-arts/ucla-arts.pdf` | `arxiv-ucla-arts/ucla-arts.tex` | @@ -114,14 +115,17 @@ Upcoming conferences and journals to submit to. | Venue | Type | Deadline | Conference Date | Status | |-------|------|----------|-----------------|--------| -| [ACM C&C 2026](https://cc.acm.org/2026/) | Demos | Apr 16, 2026 | Jul 13–16, London | GO | -| [ICCC 2026](https://computationalcreativity.net/iccc26/) | Short Papers | Apr 24, 2026 | Jun 29–Jul 3, Coimbra | GO | +| [ACM C&C 2026](https://cc.acm.org/2026/demos/) | Demos | Apr 16, 2026 | Jul 13–16, London | DRAFTING (`cc-demo-2026/`) | +| [ICCC 2026](https://computationalcreativity.net/iccc26/) | Short Papers | May 15, 2026 | Jun 29–Jul 3, Coimbra | GO | +| [SIGGRAPH Asia 2026](https://asia.siggraph.org/2026/submissions/) | Art Gallery | Jun 18, 2026 | Dec 1–4, Kuala Lumpur | NEW | +| [SIGGRAPH Asia 2026](https://asia.siggraph.org/2026/submissions/posters/) | Posters | Jul 31, 2026 | Dec 1–4, Kuala Lumpur | NEW | +| [SIGGRAPH Asia 2026](https://asia.siggraph.org/2026/submissions/real-time-live/) | Real-Time Live! | Aug 7, 2026 | Dec 1–4, Kuala Lumpur | NEW | +| [ArtsIT 2026](https://artsit.eai-conferences.org/2026/) | Full Papers | Jun 1, 2026 | Dec 2–4, Bratislava | NEW | | [JOSS](https://joss.theoj.org/) | Software Paper | Rolling | Rolling | Anytime | -| [Scores for Social Software](https://socialsoftware.art/) | Card Deck | Mar 31, 2026 | Apr 2, UCLA | GO | ### Deadlines Passed (Track for Next Year) -NIME, xCoAx, ACM CHI, SIGGRAPH, Prix Ars Electronica, S+T+ARTS — all missed for 2026. Track 2027 calls. +NIME (Feb 12), xCoAx (Feb 15), ACM CHI, SIGGRAPH main, Prix Ars Electronica (Mar 9), S+T+ARTS, ISEA (Nov 2025), Creative Capital (Apr 2), Scores for Social Software (Mar 31) — all missed for 2026. Track 2027 calls. ## Funding Sources diff --git a/papers/cc-demo-2026/demo.pdf b/papers/cc-demo-2026/demo.pdf new file mode 100644 index 0000000000000000000000000000000000000000..aa6ade29e5fabc7b833f81df7e8b44dad81cd24b GIT binary patch literal 85526 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 literal 0 HcmV?d00001 diff --git a/papers/cc-demo-2026/demo.tex b/papers/cc-demo-2026/demo.tex new file mode 100644 index 0000000000..a9a4c85f87 --- /dev/null +++ b/papers/cc-demo-2026/demo.tex @@ -0,0 +1,219 @@ +% !TEX program = xelatex +\documentclass[manuscript,anonymous,review]{acmart} + +% Remove ACM-specific metadata for submission +\settopmatter{printacmref=false} +\renewcommand\footnotetextcopyrightpermission[1]{} +\pagestyle{plain} + +\usepackage{booktabs} +\usepackage{listings} + +% === Code listing styles === +\definecolor{kw}{RGB}{119,51,170} +\definecolor{fn}{RGB}{0,136,170} +\definecolor{str}{RGB}{170,120,0} +\definecolor{num}{RGB}{204,0,102} +\definecolor{cmt}{RGB}{102,102,102} + +\lstdefinelanguage{acjs}{ + morekeywords=[1]{function,export,const,let,return,if,else}, + morekeywords=[2]{wipe,ink,line,box,circle,write,screen,event}, + sensitive=true, + morecomment=[l]{//}, + morestring=[b]", + morestring=[b]', +} + +\lstset{ + language=acjs, + basicstyle=\ttfamily\small, + keywordstyle=[1]\color{kw}\bfseries, + keywordstyle=[2]\color{fn}\bfseries, + commentstyle=\color{cmt}\itshape, + stringstyle=\color{str}, + breaklines=true, + frame=single, + rulecolor=\color{gray!30}, + backgroundcolor=\color{gray!5}, + xleftmargin=0.5em, + xrightmargin=0.5em, + aboveskip=0.5em, + belowskip=0.5em, +} + +\begin{document} + +\title{Aesthetic Computer: A Prompt-Based Runtime for Creative Computing} +\subtitle{Demo at ACM Creativity \& Cognition 2026} + +\author{Anonymous} +\authornote{Submission anonymized for review.} +\affiliation{\institution{Anonymous Institution}} + +\begin{abstract} +We demonstrate Aesthetic Computer, a mobile-first runtime and social network for creative computing that replaces the conventional editor interface with a text prompt. Users type short, memorizable commands to launch interactive programs called \emph{pieces}---drawing tools, sound instruments, games, generative artworks, and social spaces---running entirely in the browser on any device. The demo invites attendees to interact with the system on their own phones: play a musical keyboard, draw collaboratively, write generative art in a minimal Lisp dialect, and experience how prompt-based navigation produces fluency through memorization rather than menu traversal. The system comprises 63,000 lines of open-source runtime code, 354 built-in pieces, 265 user-published works, and 2,800+ registered users. +\end{abstract} + +\keywords{creative computing, creative coding, prompt interface, mobile-first, social computing, live coding, generative art} + +\maketitle + +% ============================================================ +\section{Introduction} + +Creative coding platforms---Processing, p5.js, Scratch, OpenProcessing---share a common assumption: the user interacts with an \emph{editor}. Aesthetic Computer (AC) starts from a different premise. The primary interface is a text prompt into which users type short names to launch interactive programs. There is no file browser, no project panel, no menu bar. The experience is closer to a musical instrument than a development environment: users discover commands through exploration, build muscle memory through repetition, and improvise by recombining pieces fluently. + +This demo lets conference attendees experience that interaction model directly. Visitors will navigate the prompt on their own devices, discover pieces by typing guesses, play instruments, draw, write code, and share their work---all within minutes, with no installation and no prior knowledge. + +% ============================================================ +\section{System Overview} + +AC is a browser-native platform comprising four subsystems: + +\begin{enumerate} + \item \textbf{Boot loader} --- initializes WebSocket connections, service workers, and offline storage in parallel. Subsequent visits load from cache for near-instant startup. + \item \textbf{BIOS} --- the runtime orchestrator (20,935 lines). Manages the 60fps rendering loop, routes input events (keyboard, touch, mouse, gamepad, MIDI), and coordinates piece lifecycle transitions. + \item \textbf{Disk API} --- provides the complete API surface for pieces (15,879 lines). All graphics are immediate-mode: every pixel is drawn every frame, with no retained scene graph. + \item \textbf{Module loader} --- streams JavaScript modules over WebSocket for fast loading, with IndexedDB caching and HTTP fallback. +\end{enumerate} + +The system runs entirely client-side with no installation. Backend services handle authentication, storage, and real-time communication, but the creative runtime is the browser itself. + +% ============================================================ +\section{The Piece Model} + +A piece is a single \texttt{.mjs} (JavaScript) or \texttt{.lisp} (KidLisp) file that exports lifecycle functions: + +\begin{lstlisting} +function boot({ wipe, screen }) { + // Runs once when piece loads +} + +function paint({ wipe, ink, circle, screen }) { + wipe("navy") + ink("pink") + circle(screen.width / 2, + screen.height / 2, 50) +} + +function act({ event: e }) { + if (e.is("touch")) { /* respond */ } +} + +export { boot, paint, act }; +\end{lstlisting} + +The API provides graphics primitives (\texttt{wipe}, \texttt{ink}, \texttt{line}, \texttt{box}, \texttt{circle}, \texttt{poly}), text rendering, audio synthesis, input handling, networking, and UI components---all passed as destructured parameters to each lifecycle function. This follows Processing's sketchbook model---one file per explorable idea---combined with URL-addressability: every piece, parameter combination, and user's work is a shareable URL. + +The system includes 354 built-in pieces and 265 user-published works spanning drawing tools, musical instruments, generative artworks, multiplayer games, and social utilities. + +% ============================================================ +\section{The Prompt as Instrument} + +The prompt is AC's primary navigation interface, implementing over 60 commands. Instead of browsing menus, users type: + +\begin{itemize} + \item \texttt{notepat} --- a musical keyboard with synthesis and sequencing + \item \texttt{wand} --- a freehand drawing tool + \item \texttt{line} --- geometric drawing + \item \texttt{chat} --- live text chat + \item \texttt{mood} --- post a short status update + \item \texttt{@user/piece} --- load someone else's published work +\end{itemize} + +Returning to the prompt is always one gesture away. Users report discovering pieces by typing guesses---\texttt{piano}, \texttt{draw}, \texttt{rain}---and finding what exists. This accidental discovery is a deliberate design outcome of a flat namespace. Over time, users build a personal repertoire of memorized commands, and their navigation becomes improvisational---rapid, fluent transitions between creative contexts without loading screens or navigation hierarchies. + +The metaphor is literal: like learning an instrument, the initial experience is exploration and discovery; the mature experience is fluency and flow. + +% ============================================================ +\section{KidLisp: A Language for Beginners and AI} + +KidLisp is a minimal Lisp dialect designed for generative art, with 118 built-in functions across 12 categories (drawing, color, transformation, math, animation, audio). A complete KidLisp program that draws concentric circles: + +\begin{lstlisting} +(repeat i 12 + (ink (color (* i 20) 100 200)) + (circle:filled (/ width 2) + (/ height 2) + (* i 20))) +\end{lstlisting} + +The language has no file I/O, networking, or string manipulation, which makes user-submitted code safe to execute. Over 16,000 KidLisp programs have been written---many by children and beginners collaborating with language models. The constrained vocabulary means AI-generated code is readable and editable by novices: a human can change a number, see the result, and build intuition for what the code does. + +KidLisp programs are URL-addressable: short codes like \texttt{\$cow} resolve to stored programs and execute immediately. + +% ============================================================ +\section{Social Infrastructure} + +Unlike platforms where social features are external services, AC integrates social infrastructure directly into the runtime: + +\begin{itemize} + \item \textbf{Handles} --- users register names through the prompt (\texttt{@handle}), which serve as namespaces for published work. + \item \textbf{Real-time chat} --- WebSocket-based messaging, with 18,000+ messages exchanged. + \item \textbf{Moods} --- short text posts visible on profiles, dual-written to ATProto for federation with the broader social web. + \item \textbf{Live profiles} --- real-time scorecards showing online status, current piece, and creative activity. + \item \textbf{Multiplayer} --- collaborative drawing, music-making, and shared sessions via WebSocket + UDP channels. +\end{itemize} + +2,800+ users are registered. The social layer drives retention: users check moods, respond in chat, and discover pieces through social activity rather than search. + +% ============================================================ +\section{Distribution: The Pack System} + +The \texttt{pack} command bundles any piece into a single, self-contained HTML file. The output includes the piece code, all runtime dependencies, and embedded fonts---a file that works offline with no server. This enables distribution via email, USB drives, QR codes, or blockchain minting. A packed piece is a permanent artifact that survives platform shutdown. + +% ============================================================ +\section{Demo Experience} + +The demo station provides: + +\begin{enumerate} + \item \textbf{A large display} running AC at full screen, showing a rotating selection of pieces via the merry sequencing system. + \item \textbf{Attendees' own devices.} Visitors navigate to the URL on their phones and interact immediately---no app install, no account required. A printed card lists starting commands. + \item \textbf{Guided activities:} + \begin{itemize} + \item \emph{Play:} Type \texttt{notepat} and perform a melody on the touchscreen keyboard. + \item \emph{Draw:} Type \texttt{wand} or \texttt{line} and create a drawing. + \item \emph{Code:} Enter a KidLisp short code (\texttt{\$cow}) and modify a generative artwork live. + \item \emph{Share:} Type \texttt{chat} and send a message visible to all demo participants. + \item \emph{Pack:} Bundle a piece into an offline HTML file and take it home. + \end{itemize} + \item \textbf{Collaborative moment.} Multiple attendees on the same piece simultaneously, drawing or making music together in real time. +\end{enumerate} + +The demo requires only a browser and an internet connection. No accounts, downloads, or plugins are needed to participate. + +% ============================================================ +\section{Relevance to Creativity for Change} + +AC's design proposes that creative software can be organized around memorization and improvisation rather than navigation and configuration. This produces a qualitatively different relationship between people and computation---one where the barriers to entry are curiosity and a URL, not software literacy and a desktop computer. + +The system is open source (ISC license), runs on any device with a browser, and packs creative work into permanent, self-contained files. KidLisp's role as a bridge between human beginners and AI collaborators demonstrates one model for how creative coding might evolve: not by making tools more complex, but by making languages simple enough that both humans and machines can read them. + +% ============================================================ + +\bibliographystyle{ACM-Reference-Format} +\begin{thebibliography}{9} + +\bibitem{reas2007} +Casey Reas and Ben Fry. 2007. \textit{Processing: A Programming Handbook for Visual Designers and Artists}. MIT Press. + +\bibitem{mccarthy2015} +Lauren McCarthy. 2015. p5.js. \url{https://p5js.org} + +\bibitem{resnick2009} +Mitchel Resnick et al. 2009. Scratch: Programming for All. \textit{Communications of the ACM} 52, 11 (2009), 60--67. + +\bibitem{hydra2019} +Olivia Jack. 2019. Hydra: Live Coding Networked Visuals. In \textit{Proceedings of the International Conference on Live Coding (ICLC)}. + +\bibitem{roos2023} +Felix Roos and Alex McLean. 2023. Strudel: Live Coding Patterns on the Web. In \textit{Proceedings of the International Conference on New Interfaces for Musical Expression (NIME)}. + +\bibitem{nelson1974} +Theodor H. Nelson. 1974. \textit{Computer Lib / Dream Machines}. Self-published. + +\end{thebibliography} + +\end{document} diff --git a/papers/cc-demo-2026/tech-requirements.pdf b/papers/cc-demo-2026/tech-requirements.pdf new file mode 100644 index 0000000000000000000000000000000000000000..042a7c267144c6d11aaff95203247f65767ecc05 GIT binary patch literal 52423 zcmY!laBQSTtLf>-zYHy$JU{pf(vppDH|Ck{ zdcpMjKf9h?*Pk1&<^}R6zR6N8oqW~x+HdVF{r@{xbT6@gC1mn<>U8<~3)|yge*Jy9 zTJ~pu{O$Jt|LT68{(k!W{uSNAnk@A{|Lv%`9QNb1`QnzskDvbjJHL90*Z#l1f8W=u z|64b0!q;D)&SoWsBm||kPBC_R?mcx%tm4zP7mgWeZg)cUYIe66#!=A4fn`6sQmgdb9C|1xcjGrR7Z%^-milS5j~AOUr4 zp8$|RPst&lH@cGTfpITpOt?3xQbM+6o8U{`neB#w8I~(QPpXud-SSC!dW0$eCS8~4P?1~_2$}H?O#1vQYYSv3KU%W;h+LYr6*^;2}q^- z)&ftEWd)}?B4xavJ$%tTS@31+)3YN>2&aUKKW%TIQrjD7X)}3FoP4%^T@-3UceIY3)-rKB8dv4o%`|gH)a;~AP z&a7*FqPt?x8K>)~zOr8IHfz+lXg%@NdGqam{!~pA63u+`z#zVIamnHnQ}mXY>HME; zpPsgRt;t=9XfMk>XRB8ku`yL#+&<+~(C3`R_hNEpCsrEQ-0wNIzAX0E)4Gcrj!n~d zF?$sq@$o>{vW|ofQRj-udh@=Y|G((&pUnKYLzN;kn`Wtn{oOY6^`gU(|KEkOYhQN_ z4cVQ&dd8J}Ul*>9;EPi@-c9hC8tP;2ojE^pvaJ1qbDQ#`FE3Yee%j}g?`2xnowmx! zWPQUj@xz|Jv+p0gQnU1N-k&>B$HQ`UxU2KK56xApSF*{Rmor=EtN(dz{+6XT_7#Y( zmR@DD+3Vu#kDGinWv;}0Hk~Nt*(O*ZH~TVgN_oC?q4fmWqb9@&&_Zv@_&E1q~6)^u+ZNmQb2d}F>TU`+;H!+iaS-_qGxyNc;3*Vm3UBhZ(xq5!h z2cb>!r-V-Dd6!>1b%ot3zK%g>XGW>Sr;IX#X|-NoWBg(+i3K^mof;tasR1zIRT_Tev@4rv34` zS-*QObhGGMfEkMQYL7q>QkbDK=)l_X1zpsD8T;vRu^rgiC#o%+lUTKYESl8C}~d>-%7H z&DAZZLbk1~wDVdUc;|@zgR^g!R$cw_dPUBsbx)IThitkS_}0&x%aSErF8TBF!`xeU zXW2yd>6U%A(!ANYoJapwZTn+`Fl_^-Z!L-;^FFZ)Y2CK2KC_T3n8*K&=k@2&o1a>_ z@%q~z6VW>?ENg%B$V!&qJ##OleDZp?N4cdl^7_?%X7W3ol#(885IJ?~(u}CGt#Ln2 z1XT2}$XCf*{<~3rYSF%{MGu^(Yt%0&w&HmcoAKf8NsE__*H1dQTh!M~E6qL>!6@`} z$?heWbsMkURG%5a%<=r|FZO)TpVQi3%}RTHdq{dTvOnC4mKuWz)zMQ*fA6`b1nL@uMl^^|!*`B4qSJ7R4& zZkB!3?h|d!SkGos)pkhmxo^z;YnM)%f4tjhDO4}3zS+TBuHr#y&ca&lsZ77)R;={@ z!POL<^vmfGpYUd;89ResY4%CK%MV}D^7itvUY1v~m!?S{i;AjpHQeG8yVYlZ)ok6} zHSa&4nXFSe&*zM=(NvC)p`G1or_#&2)R<;oeqeq5;?$&#u9xR$E&SxO;M2P5KC|^& zpHJv);`%bRpf4=5&G6Dz4fdZU7lqbGEwyB{69~M$ZR?L%vv%Era~BU4oKxj^z99PK z_XGDWmEVgB{r0|`mBG2vMQbPvRB|Ho5j=PQXL0+ zrd`)-li9awvitrphGqO|i{-EMYx2)_GJG;|J8wZ{G2`C)gslxJd!LG@y{O$j^OUug zjKu4d9qUh9yV`v(3c8p4XlrZJK8}C~X~DmLMl4bLy&}eB`rlJYrF9}3rXF4pyst2` zbL(%}B?ccDLse>?xBLFgSKV{;j8^a)9r?c#_bz&CT+Wm~cg^n!S)ZMKBV1oum|s|s zcuhvO>+@`eSNk}ull-3QF35ipSd{cX^P%*c=FU8qhwsbpRTR&8v@Fmj_4X@(5v`2QBFAKWnYUb}9Y>Ziy{lieaa{2JER&MSYunIlui zXOr#6Yg^TW{>)BwxNCgiuHAQ&LWakt0n;yTXPa>URjpd~y2o|R-{QZB9TQ}GWxw*a z*#nma#U>UX=iG2-S^tkYR&efvEpVBr|3#tSDSmXb`__^hdQgm6|jkxREZXJC4e>&65nq4>R z4=(>&d3AkLyyKLb`#$Bjxs`9&Tj_8p=9vrHHN1Mykhxpax0HkZUDMACGu~Z&`bDQ7LZ9>ZQ-hN?z^}Z|Yn-rSg^m_tX~;1Dks< z?b6gg6ReuRIYqI&AZZTSm}rHj9w%J1!5d2plfq8qoi*-qx2#IsJQrJ41A#BBRl ze6?+Qi>tnE7XHQ&ZRfRQ%}M*9hWNxDm#jInA3SE*Cd<1cG-1V_`_XPsemS;JH$D4Q zzM(}wkD)z8eC3nkealqPD=~uYE5s_vxKWz9hkEy8iGv-D!_!@_%uav;DL3Z~xB~i+?vg>+d{2 zYyG@m`$P8{N>?0WW16?Xvf$usrc^158`2C zkGj7|eZQqw^pG0`-Tfpy`CjvjKalKr~9(3;7qeOvi(l#}nx_2(k zd(iiG^TK+Tn!D!@2G5`8BpE1GXltj}%KqN&nBVzZwz79bzj3E49N(jPC~wZ~kN{?@ z&s`<8|9t1mJ(7)l^V_5GYN__U;O_5Vw4;8u)^Ye8DRZ<{`{cFTq4l!q&x2+c`;YE< zb6nkhL+FfaC0>WSU#xnDOd@sMudDX+G(n%-F9+%4^=| z+cd{y`_KKX9#YYlXFvV(*Z)8B%g;OZaHZy@K)W=lc`2Yykf9|py&+2jLp!9-(9-E= z`>tB?9RF_P8qXkH|J2#as#`mD!i~nX_K1)(JlbM+zQ@Nb_l^3_AiZX$mhH;Vn;-v} zZ+7}T>-3cR9U`0lZ>jm6xZm!^*T2)tw*UE)c<0ae+MmxeE5FN$w}yGe&5ILPQCNFA z+U>!;&wrjy6H43tx5a$*D^{i<63#GQ@bpYrJZ+@NdIDvKH()(Z2OcgJTGjjigDpv!O?r< zu~O9mp8)OZ7#D#EiB$`ZyNWc1J_u41bW8}=xMicK#OWo;6}PB6qiKVKp1a`n1!^5y zDd*(GFR~Oe=e{Zw^qrsao(I2Xh$CJ7qcs7C0Vo zkrNkW4R4xq5hQ%9fLBk6%QL6;>SLuv0wNhPHtSmVC5UG24k>gIIV8DCE_4r@t76cC zMHMkFB8x=568pP5oQj$cJtFUPFz-S4{qyu<&6 znc)rILg}z=e!Hjcy?ZI$c!U3!*`GH`=dIfnSi0`>d$u`sF6=*+-j+{1^|EYt{PR_^ zVpea>y=3QI_bhpt;g$a3^UC=VR>BkC?>u~aUW2Z;$p-Q3&sEZP?CQJbd!jLOm%WqT z;_y3NYm#kz&l$$KG0lq&DZcuv`OBtI@AdrKrk}fWeX8u*%cmnQ@x9aD^t?9zJnOsQ znXR*LZ8)|2b*IG92f$zJ~q4;*5EA5+>Ho70W78$d6f#2!KdBMNWY*&0e{dj==-k%}#8IXksP zAt^OIGtXA({qFrr3YjUkO5vuy2EGN(sTr9bRYj@6RemAKRoTgwDN6QsTs9R}6}bhu zsU?XD6}dTi#a0!zN{K1?NvT$O#a19;eI+|C1qGX;lr*a#7dNP)qLegSrHqo20xNy} z^73-Ma$~*xqI7*jOG`_A10#JSBi*8uG~MFLypqHU-MnIDuo+NOTvCgZi!uvJGV}8k zK&B=p<(HP&Dk*U(U;_|G6(HG{SF8tipk8u*u6{vEn!cf)u|8hi6}bgLnduoN#c(&H zm{E~fpl_&WpkD-5gWsr>WVjgxrA0YlU#BGNr{<*QrskCt>l^AB;y0imBfliSI3vFR zZVrlD;L>0h5%LvwGhqH9q}$gQzy91@{9Y+8aV;ysZ$vRT5eKCf=a&{Gr@EG<=9MVp zbyh)2S|TXPBBiaw%*2QNkQXeekl;{_v<9ADOiCZ2~aqpH-D9SwxN|H?~atoaE zi&Ejv$}A{JhWM={MITuO*n{9g0lx!5iN&>|BsH%%Gd~Y*EGXD8(o-r-8DSHH!6A*` zI7n;|PUZnc`30#(C6)M1D}bsZY#u19;WrCZfe<#wEi*MI1;0UQASJLuT|vPHC9tg^ z0ZN=?hGuq#MOL(v8m#;FaSXG4QL?Vv>zN(O>eM<}ME z=)!3>ETWME3FLin;031^qKlIngdnq^0SQZaRv?$zg%l+g6r`p=oQx`k;#h13lqKer zf@97uB(u|iU6YMw%FeoAIqW@?H;Nxnj6UUE)pN~%H$C`2;z(iJlE z((;RP!6u+N2-zA8H`(Ze+BG?u=urj{$B0Xa(eRWBDHV|QLiC}U2Tm50KBT=pF^UMRa$&yn?R$LVqq$X#kWhR3P zyu_kBaQQZfBPk4$tSFA7!B|DX3JX}?LCRKxDx(C!aa(xA9DWEqt z5QP_B!w||)igt*Z;Q9kzpu$@PRBbhcWTYzOCg$a(7Aa)rDU@eqCTAcOUkaJU;G!+H z2&2hFR#672+XqRTARx#y*jK>`)E!lTjXXi(8rnL6H0@F28XPB3d1wO~+}lOb2$evI zQe=&wB!u1=0Gk3TpYivZQS3o62d8ZV);37a&n?KwOw3D84JgV_%gjlII3Av&LC!}F zU2N$dkwpe$kp@XbusQ}(xgh+lPyq2bsJ#uzTO}Ep#qidFLSjlrYEdeB2}4%aqFO7V zpfo85+L7=}%pD|g1{$@XT2Cne;X?&b8bnK$0~`E_>FGtO>EMI}8YDn-8_2l>kY#8V z{GdS^G%pTp@F(TxXS+h0@@VcF4nYs~8L0US8Xy397E$ekMBqaP<%z`#;F6#?gF00| z)yk)`{G8HZUo1g9sgPHio0M9FmJkOvgJ5;iaL60TwL)fbacL?v^cBi8OENO^6cQC6 zkus=aqaZOoH7GGJeOOl0iRq~dMIg_C$6Qd0CrF%t#0rWs^Ge`7%KS8i%o1qP1sM$; zRPmKrT%3pIpy7~rJcEP%;E@E5kkk}N^#O^4Ay>(ydX9jIO3g`4E-A{-%S;~9ag|w| zG(7W^6H=Z+>axJcX+Wjl5NNQab=9!4q|Y06A*VJU_6_ zx6&f?*+x?9pU@y5G#?>GXi&zWunp$G2QjJIqYMr5QAjL-j$R@My+U$go1G%~5N;h9&GnvT&$ASXtsI;`wiP*9X#k(rxVlBxh2`BNy) ztV#v70`ikfQcDKefLCJraE=N;a32!X{{%!7_SG)q)E)A*NoefWwz$1wHkqSs*4Mt!9Fx4ES0z=-MOr@+Z(NhgCpPeoAR_ zYLQ(;YDj7XJdGLXS%QEm*a(CoXq^Gp>780xo?nzwYzI*T=fc#aBwIn&sMsYI6u?HQ zK}(@*^bt}>ioxjyF$|MSmh+@l63~hr-^ApM%)Hd1N{GdnPC+se>=X=}LC#4@EJ;Ok z3EB)D%q2z!MrOJOCb|ZeA%;d)2BuafX1WIERt5&R>_;*OY(KJ9Age*czi3t?IT<++ zAag(HD~%xbB548Jf@~_t7RY*ByOPx84BaB62-GV{tpIC)DnLp&pp;OWn2sJUNH!rm zE;SG05W*3FZmvy5Zh@6^Q7ULRKPVdTgfN;)m}5c0zMy4Yl`cdWfTR+|0O-PdqKrUR zi);wk8~H^c`T03^K8c{54;ndBNKDR6EGkhjGB7gIH#E>UGEpcq)U&Wq0L^X`r5o>QCh8kK}7?~xTB=q6gE zfNe8MGE0UTili6SQ21IAJ42XSgb=Dy)Kv&}DXD3Rr8y-qU1+i}t>8InE5vjrbQ;&L zB%>%5G~x(a^o>OtRXeO=18t^2Dq$T{i%T+6OEQxcAmv$Vk;0>fDGH9xz6#E2iMa*V zAnXi^S2J)KY@-ix4a_)Lv0(!dMw>RX%gQf>&KH6mi7t)mM99D{C=elrLHVePAOqhB zMNmGfB2W_x+^n}Vf;ku=1XEg(TM!bEZsiw{n4Ve;Qiv)5Rt70hkamxN{0k8ba&fcc zveAccWdX^6N+Yr{*g~>(D=3WWry%eYM#FD3{fwp`NVg!q6O=w9*qsV zwrRdVUFziQ(|&Qqf2WxrcyoUG;{hi3&Be~C*4*cPv`aI^MX zdvaTg-*X|Kb>|XX&lMzz<+ck)FF3V(hkvB2YJE}jtAYUQzTI7dYdKpxV!A3tiZ!1F z=InHO!XAGQw4&(nmaeB}L^cjBa~$OJ`oBiAh=E@~cCOTMh!@*vo7Q~ce(-5$s1 z#k5x&E}A0nO?#f@!V;H-+f|((S}?A1p0CAv@63c_@)C{05x)=Wdbb>DF*e@#+2q*E ze(mDh5|xH&70!3G@AQ3CY+t)`?Yz9NGg`m%-}<$y3rl2~BKAhR;W_io1SPU2`DQme z2(-Qb*JZhE%A)KmDhf_XQUbS@U3qe8_D$K#tvhzFsXDQL{qE%A7fq)=zpL4EMq=94 zeL+PHA1-IbJ!V)NawuuN`)NVFim6%&h8!o`Xa1R8-phID(_TY)-*$m(_iw-Y`sI(> zRlirWLz2ty?49G!KCSV~Z; zSTtklu0xMvuEni%PtLosP)dQT>(KP%l-}&dy_pub++qz+EPg36L4H{<%ZelWf19Sp zM*X`SAugN0{Dp>>S?l7bw}N*mE!sWh-J~1A$2x=-sRp`D5z6hj<`SZMyTZQs`Iqy@ z51TFil=IZy`<2jSiQu0pV%}UckII(boP51w*3>v3P1~g>L}$we_?ydYzj)l~XU1ET zr2S?4ZOqeGe)yO!ksC9uzK-!y<)SNCBEpQQh(OCVlVY=*4Mf`B{}tW&M#99&(wUd{NODm63sxYkl{=j+SN zC*9~g=Vfh|zI4)Emv7py7nR=mx-Y}NYu1d}>%P78|MhF#7cW!srN4iDep_+lr=a%A zrpFJj2|X50pZ%xo?TT|HS2tLcNfhsI-*Nriof|s3vxWEeZ1WGE6!_~*+VRpn-OBsh z#8-KipDCVnr0sLy%p9*>+geqEUl?0%G@sLQboWCQzL%d~?%&_=CgkM(LlNJ9K6qDY z1H*VpeUe{u1Jny8eh>4iVPrG)P-WS@Sw zG;PMsMGtk&t(-o-Tl>cF(2Cwq5^o-<9%`6uwj^c2mY(BNR?lfwb}bfr7kY-{=<(|_ z_kZ~PL;Bi>g1seAl{I9_kEE7zyqQsXd%fbLGiNgvuHta`IFrTsi}sv(Q)NHo-QHW- z8aJEM@A|Uyv+D}qv8S5|YOH*%6aH@6l2C~`6JE5=oDeeQT0m*6?}Zih^*QN0i~oq( zDMmU4-Lkv7@_o>GjpUi-3TCakuXI<&?D3cTWLvcBY=>Ee^~}wA$xpwtvmP(V!4hal z2dcmhUH}cw7&_xQZPLgT<*>=*l!U~@gp`ygyggsOe))7oZ>7dM9X8GxNB zviobh$zguUWAdAP>{DjecWgdkWMB}&-E_jJP9Rc&L20ey5miODG&eUfLC<8{<_%XC zJv#HphE*Zh{h;ju_9O#lWnp1v`+%2RZ9)^G)S4ak&1bUDTO<58_RroI)gQk2(DL^Zpz>`RDN8-ys+M#lDA3(a{Z=@;<8W zXUY3_>6ZIegxc3m+xU0eoU?kzkFF6p`0UsG_F%n?%un@tI~TNe{oncYjF{=)>B7-h ze#~!Y*HKE}ka4SC?w-7?62syh@v||*)6{^NL}+Y+becuQt=LJv`OOAAZSVhd$yoae z3+#*HR1~#RS(Z1~ZMQYcWmhRht}hqr_a|(()e-XWf3#=)+Z(#8VwXNSbI0GfODgS} z_f^Rm$GQa%L|J%0{V}IB=#2TH{Ss1dcO0!=Y(I-}#_uq(`@jEG>R*l9mXNmc!G!&D z`j*OX=BwhejWaczg)7->#MSNaJ%96(^~$UcW%16O**KorOX636h*ZR5k zT7PwY9WUW<_Du06o~JdZe0yYlb_pg(m9nXSeRC=z>ef`t1-t5>o0;#q_U+MfLy3Kx zAI>}8oug>)&b7^Bj&iGApu>?)r9~4o6uUaNxkxJ&ahz?uWD%cq*X>2`RYrAl_SOpz6Ld7cFX-)xp1N6Tsk&?Jw0}zOEsqWyefjoF#lidEUhB+T zr>h_DkX-+GOSk)t{H+#dr$q`ywv``{VAQa?J~5bw`wic%(jOBxd|zNFVSV6Tl(}SP z+WYzf7wN`Ht4=*Wbvy7>=A1nt5=&$!7 z7nXRjz5jPb=Fl$ldPQrm)4fN3FW&RnbLwOMzHfO-Si;K~5njZX59Y?m!IumxAIeKU zfBEq3!Z&YS{>~3ySvVvA)qS;oJ^jx4)HU`$BzjSpuk zbkv;TS9;Ig;Nhuo@Py)#17}Xmh`jn{Qq+{lX|onh2%9p0wSdsV3Df3>2d$YfWBQ^8 z@5En)O_}wIP2>V&p-9hHo*gxxgN-g5O&0bx`uw@!R9BGboX^}^-A0#TL-`ur{ znZ5H}(f=0$j0~AU(NS0e8L7Po3uI?c7tnzcpt9HiUs-HuU}}ca4m?`TUK4!v_jg{^ zv#Aja482?@8;RajQRrykGTQQHuY2Y#rW5zkm0xfB#z(XJ29W^6bv%HqRyRr_c4+@$9T+r^};9 z4`083xcf%7YsdQi*I8|6Q3;D%%-1FPk#*H_3l&#-B=k6}y8kwT~rQ$W80$;D2Q*7*a=;V%TcTUflozjpp zrM8)W8jH?1soh6T+aEDcx!Q2=)xFxp{}-md^HtfQANSPm;_>U}%?&Qp`s9D_WUQ;R zjrQaC@~K>2^nv^%xmWv-WVikfSuc9J`7ZO8cTqpA6z*KVf4lYym%jdYO~zXjKDcV{ zNwDmo5)a z=*Vx_|6A$5>N{b#gWmNyw=DLTpBB{KBi34>yK#TV{a&t!hi{+$o96G~@nCoDuLnU< zHJ7X-Zr{GIy`=iI=7v?(|M%5iwJp4|p^!nEebYx-Grpw92{OOGrY7&7XYl2}cD`D{ zhj{LFss&$F&$VVB-um=b;kr386>A>EJ&b#Lt2pmYb`1ME;p;PBA1Zyit1!Rl?#}Hy z<6`pH@n4_*`uNx9SLU=yAK-n$Rw!Sjykp`W_d6PSCgyF@r)$sD9;z&OyyN2?mOLf% z&e>;tA1*7pyyN8^o;)@4?%8i^PX4TZ{#sXU%Zxioj;AGc(=8i29`3(*Cqv|0MV|6^ zmrwgtqBeyV`FyI~eAVy0Mda-0C4!gOp5NURx2e5GvwrW<)@hb&?J`OieO)?zU!moV zw2ayDw{~vZ{c4xXy;o1~cC8AJuiCn2@Bi$*R(t+bbzgtJ&+vb5{*-xI`rrTb9k!~w zSLyNm%eqy0U3p9MJ$G$?Tlf7fuWd~=->a`-?;q@o{dM-e_|^9n{~x}ZI_oU6@co-6 zJAD0vl7D}kz;aB_)X#JqJC~J@hxmi~%#$@gd@g^?U-`h#KDB;gTgXZS@qYqs7fq_# zJ*3%eUoY68YA1Vt!izUbSKjP>v}O7-trIniH?-*q9!pV8U$Q(!=dR|K1zt|q58L0G zq*Wf$k<@%rr%2a!&7vPyvP3PPSIGy~w4AqC9hz}<>vn?{j>nY|llb;OVo5o$=(o@d zsYFg$;i)3Rvn7IGxkht%DXnR*ck*`Jc_#YFoGnp-H93KYtFn04ykUF2^-%hvDBtM6 zRqcF=B4Ts>4`;pjQNZcDvT%{+wu@Yjx;)cd-PXiNPZpcJa*=XN;<<~Gg_6(y+>uee zdZ9dJ=Q7_&NzR#pT8S#P_bs(=NeGK>(sO!w>4H~*_9DM>l`mJdmbaIS)-6nA)KcoY zUUDZbux8O?GnHrRPmfL%5PD{t@5a*U)#ux9JF)f;gXQu09IHNs?Ba+t`O$L3Y4h9+ zLEf+@v$j1;QB67M#&~X`pyKL9mlhd^Zt%U5d~)M)zvJID{&Y8O&(+qtwM}=&iTm~z zH{`=K>V8G-IO4P2`r=>z_+TA1rz@K?cXwQItx#QcCoEQPnxaZogEj*36c)swn%Sb?AHFqQm(Ce^37X9m2_bUt8~@*!@c$qC4elat{^; z?&&ppmBKhLj^S957yoOMPhu}sx2PP-vB(qqFr#=qyW4vAY5Yez<6l@ztd^ZwFMRaY z$;DwJ^@l6(>SQrB)vB(%@{RYzf!~va@4Ci{d}-{NBVgIt{#B(%%vVov=d%rKfAEMu z3Yf=h#b;*C`AKyDab3TMv+OG(u694Von!`VXrgjzKXh6zW$UMl>l^u4Rk`?UI= z6I+iyol_FCVZGOi$rBwLKgz2fJ34X0mL1J(6JO`7Z7p07#k>2v;mpLG^;chIf62^T zVxaeS@sz78pKuBJuQ79#cpLVv>JyV}y>Y?pJ7t%iE#^2KA37skspxIN{qQ?yye3VY zGHuGdDRR?2jea~jD;ggz6Lrzq(~fhdVIkB1gYB2z<*%FRtoG?iz$ZRc*@t_Q>xBYO z%0HDmw<|%T)4SKB&nwEd=qp$LA@0RfO$mNq8?I^5 zD`n$&^oXyn^@~|W*I%u7UB{(r7eY;GZjt9AnpR zjZ*Ji#QJl3yV9Snai^E-O@5}DuduUay1mu6vr>*)JHGON2|TNEaki4V%S@%BL!9zr z+lqRhUp*ka8qS`X{y08 zw>I9o##plag;GTC*%bn1oWUtd%h_rls69?vEWpgC+gn&%hvWzN@&EK9{ZHR7TLCT_na${$EzYxewJ=FJuSz(p8>JpvG=@aAY)vjqwy+2dNT({2ZqR{)4 z`6BniZ>ZYFY`7fZSn+ycYtxa9zn?!fDcGFyUi4M%QO_qr3~K%jlXfiLseNI_ox%wV zZf!;WYtr|MM8>I=af{a1xjntU{`_v0 zJ?nUw7S_B@>k~XGon`R*zRjA9TFJz1wb$MhTz9s9lK#@*HXp0(Tbqy>|K=GaZ@Dn} ze2491C0n<4*@f>fJu5NRUmr7BdFuRFS$V1FtX5lZ+?=kGzSii_XBS(~keAP2s2w@O zklu3Ye#4jTEJa73U%Pyhr|(DabnnaM1}Bm#UhVq-WzqTaR7MTHaUH-AexTYGt+fRF(rj*q@};w;a=- z7*!tdVPf@?tF!g$y!<{Mn$XtT^>gv|`(YC&-6_7_|M4p0CH*~J&nH>_nf-qKy#8;( zJ7=;jdZKDtw$WQHVr|KMCz16^C+@la*wb~mxTWQH!k(J%7phIS+7S zv&d7~p6h5(;_?jvg)L=Mmpxl1*?nNo-jjuiD@2+&o_zaW@hrblZkg(%$R~m=hGnPM zo5&c3OpHxgzVA-rM+5PvZ(8zW6X#C|{?7Pe$G!uai5uUpDakEapvP2Vv}a+6l!>3n z`qw)w0{=uExBQS|Y@uAQF$?+-V8 zbUNR!WHvuUcZ+D_lYPy1540XW=gm{*bx!r!(aDZA&fx_!SI>?~6Adt15XYSyZqD-a zoLI@6^_5rDVpU7{EdMmbsDD2ub5Z2;Nuw`Ze*;VJPWUiy#jdRW%LcUz+NaL>wqLPF z-7Y0c$ijNMbKveAb1l`WU$^yp&wX)OO12zH(&79gvOL5_m5;QifG-a~?h$D6q9BG=Zbbe&$iwPfa{ zr-eZ?-`+Ml`8eC`rmecw(^ZGWl(hBDWtY^&b1JvoJ5=*^tYL zkj3kt_bp#H9`p!*kg0le?ic9`_b2w*yM8U%bD{g2(6Uu-lU90qH^j$zF0BjQQl##? z<;T=rcDvl{_10>|#_QF)yPtkx>>6)%tTNy4VEQTUbK)ne&i5{MS!ZfoaOKpr6RXo+ zlt(MPGT)x@sC@0-=~EmheQk5uWM$|k&%-tAq0agXhJRUJ^}pWn-^o`0`?XLhKMAkK zXQ}5tt=+{uU2&7))fw5we2y)BW)1V4YL;ZDeV2Qb&r`d0>mHjJal1q5j|y%~DUaKd zSG%=~?ds`u6Q@j=@-wrrRYli#eg}iBTbklR{$wsqig@{T*;JQx%5!+Wh#x!qO;ncq8yjEUw8>k;cb@-g zsL96nY{Hu-Jt7Qtt4qZh%y(^Tjgmj&V=;@TSxWHiM#))!ik}#?NBlg~l2tPQsJMl@ z1FP^y+m0kf3(>@BoBy0LGWxmy!}dD?$v51;O>Fkfc+BDZ(q<<2TZZ=gn`cXTJLzUgxJls2D8 zYQAnCv|YU7#&*wgLk@)m>X6i+DVJ(fK9;a}YW)+&o>ea#=Emu(5ZQNiY7{awD(o#~g+iLI0G&U9U0tH^!h zyExOa1y^sLo33;!Y|5$dOYhcq+_|oCuy(2i_kt(Mc9rn-o) z_EE?-{}KM_knQb^h0e++tA)I4E;apVV>G%{UwX%VW8d-vpW~vw^sF~xt(yAtc-+^h zzwg{kz2b9KzS{ha33EFmdCFwc+SA-mU#{nUyyR2u&FtdE*M;v*nK^m=Cf8FZ*6!I- z{IYi%cNgzBg|6}oW=D3PY1&_Pu<2*<#!Aj5`tLuftU6S-+$pH?yqVaZ%U74571{Dv zc%fv)(u>SioadUl6&4FwP0e~AzkB^6^VYvyuQW@R=^e@llxbTrr%CE{>jj%LXLZgj zn%intG9&28pS2lNjV~Vl=2*w?vR0x$^1$pDE^Lukq+RoPZk!LjmnyYj;>I31&B-=< z+??NAT=d-L+?D(6)93W_Z5&07vo}7-eaiJ{<{IyZ?3aFa{ZHuoJA>_Za`!o%%~j$? ztB)vQ*+0);#4b{}?`&1n`6R=(HS7;# z@7$J^P2*On?}|!ha=*!}Gxv4p&L;&t+y6B?9d*g&*Ic?YwWNNg_KGR@`9FQn*!Xtm zqbENDG+4GtOMcjv#TWZ@kM8n6+D{j>MX<_h?dDQ1cjf=1eXK*zHA29FAE&s;IT&H6-o0tkNrtme1Z;6U4SQ_dbI!e#x?5h2Iq&&BgN?VU$v1_GDa=k>`7hbS{l|>nJ@flE zSp=`&doo7p$-<7#@_@YLiQML|_a>&p};fMK)nd}`~f9#FRmPz9|HS@3PoJG!i%~&=xxkm22@v>^eE*-wP5epfw zR&3~7U2x=$^Ua6tn+rAd!W(BBsp=+k@Uv=t;9Oz5UZLlCqhVpJq>?Y|6kD#W9HYZO z^nQ8f3EJGUTgSk&QFWe7(!H3llyg4mtVfwSqYV{I<)6h)Qk-WIuj;9}SbKfoc_Z~- z(r%*bHU&poYfq6@ELq2QN_v{FPn%Ejn}0u?f7KqDFlCMUzRsrLKh-Vr4{Ulkbc6Q> z9k{A0SbONt3dvoTk(`#lWP%DR|38a5Bww=b%qOY!Spfzu(x04eZnQtW@LrPLB5CIx z|MV5^2(-V+R@7~3cz(?E*OLXpwfDmoD1@I`IbA04P|OF8bcbYxRK{z%jT&nW%dH=F zy!dvarBz9M@#AR@k5)f^v8Xx3&t3DSmt>B`#ly4MZ{=N_T6R>S=VuYnU|vZ(NL#& zLZL;Wa>GhjX4d;v9L04(t$naw7gc?u5mc5yk-5l8IpUCy*l;P?&--gscB5S-U&C~&otl3c<;!4$J6^< z8ltB~E8bkUVsm`c+zXw&)=T?NJQo*ZR;-s(tdC-hHoP!(QyWKK=lkMZMUzE$U;0*b zufHy~Ve^t@Lds!BKi)l_Bigd`cLHCCTFl|EuWQ2|-`W{CVg7_KZ$cuH=dEShm)XlF z#r;D;(&EBuxogUNb-!Luf7$FI5P9K=VEIAGdrmSbmZ$Vj%+B9p$6$ME1#@xP&8Vrn z!eV|t5t99|)~4m%^4B6x)smeZ-MyXMT%UP48~!LB}b1Yt`O4UvzQJ(x|x`xA*8r=$F2f3Qe2*cIjvDZ7tsW z)-K+6eeR3)kdT~vA(M9Yeo)W0tB5X`XTD(hss5H+9{p#TT|FYVS`Te?kldCQ#JXKz zx9pTZnpTJJOPXI4bv`*W<%?-@_k_aAt( zQ&T$YLLcqAGUG~%jKcYup3;KrS=Zfbsw{2sop)8+Hmmr-jsps9ohwA_A5PCdF#pl} z6&-UO1AoS6uC@;Gjr|pS!6D`gZxe5t$m+jL4%?g;@!gu^r8@Qc%N^2w+x)(AX`GW< z%)5_UtW8hlPy6Hj3w1L#GjH9x>bz%L|3!7x3nH-|KMt+kdAr|d+n0*f$@L2-FR-{j zf7dF%35S20-v6xkck!y^?HAae_Do(EdOb5??jM1_Gq;6Kn97%)c=*7x@Fm|DZVlU= zb90txiqyX2;&Daxcb}3P%N5758NNdg*+8T>7Y3T3ai*nB$GitvcNg z9YQwNPtIS6%Q$w6`^SXi{sG&SRg?v5EZKb(zM1Ox-`KJ6PL0sQb28Jvd1jT^S)RC^ z_IGnc%kV`iFe!26E(x%C8xRu{ec)=3J)^MwfW9x(WEi1X!PX9m4^T=!+ ztuNLhaZ)?y%RJAln`EMHtNZ)ar`t_l${y^TwxKCqnNcglXQr2as4SXT6PEYW#86w$ z^b*7EcP$;!D;7;mom5>K@^!ATY~$aphpadGOg0P-RWMdlJFd<8ZieyOz57>$L^@q_ zpH*WNmbzYBrEL}e5v>@T1-+TVneOl*dZVLT4(Qp+<7?}S%sXY*Wz)s${~t`W`u(X* z`O|T$7iDh(zRcSl^xN-C`0{h2;WB}Bk!JZ5yk;o82}@C5=YNV-;^wR*CDWAcb+>1& zx-h3yr9=MW#ntnJ{)IgMdv2St){AnHeC_8euU-qBxIfX^@!_ejjjI%l(n}}gryRS~ z)OkUqa?NY|3Mcs$=f!{K@;-UWU&?qeTTCeaQLMlQ%cl0$WxCum+{Hf4de5wXk#Eav z(H4)gHM-yQqc%NOZl1PANqbV0@by=VzkFng|NhlNG1b@Bz);bF~9OmTL-opGl(&SjMOJcx{I{!bXFr}8sW6l|F{Y#zsvJ5FungT&gAQ~)2U-J=Ud?xv&~bigc5sv`%iVn$a_`9M*PtF-&Oi^ zmD8t8uczN$&5b@UY{fZCVAHH+#VjvuX1{oD-+jK1xha;7akiW2WycGz9AtOLJui{v zk>i_au(b333ZAD6cxKDAN95QuKVkkF^(Tlv@(b*U}u z<94_G-(`J7BtOBVm~(&TQ%2v3^9?&EFIZmP@{aS?nogbxlY=}O6BjRJ=&9Vj@4&{r z`YOC%SCp@b?zdGrv%F%V?a>$O8I>12`)0IqX04LMFBR$DKWD2lPxgJ{>0W$HWD);` zYGM6FrY#nWrZ47PW5D#&giX)Cpn@eq=F#~imv}Mdbz9W;Jz}2rBT4Tc$NB%pa(^W& z@&b*nXZ=l&f1ni8TJn(d)9<{wmt(E>KR#}LHC_AvB9q6#B@%~ki~Z$4E$8pyt@7Tv z$EJB<>yzVFR;>Rm_u6pi-TT8g@ksHrOO5jjs@*=UD7`bUvhCLGIiW&^ZVl1~hAIx? zSC*(OQ2v-A6#VL-;KyKLsn_Y&lC=rn6RK79Z_Q&?VRH=mtYp9_uux;y!{zIAKD*C! z)N=bVH@f-wiWdIF<{3XSIm^CimKiJ%@p@DCWoBxR-_h2qMoCI)wdWcS|1Mhn;A!u| z51%|**8PyIuiPmUaPZ%!kmINSrf$DBFIf9xc#>Dqk#*%2qD$heO(&`f6@K(|Ffd|y z*YGCkYP^HQ+A_A8DeM0@I5gakJHQ}ZTo+idWX(5j=WmQYitXhy^QN;_Tx?~yCFjFa zuv|rKS@MEkJl6#Sbpi@5<{xZZaqHZodd&qZS~z`K{kW4IJtr5WEpz*;IAc!FnYmMc zn}s#5*6TUJd6LVY@6T@b14^3f0vWUa++|jg;kdc4YO%b6?Y#$$MjDveOC~OQE$QfG?RfKj?X&J*n~M15whGT%p)9vm{hLKq0>`m0NfO?B z+nuibEHJ9|e8FlhbI98CMi5Vn)|_kAirGTRX$x7iZSq>(7F0+mDOh!%3yiV133;Kk zqwbCQ_RadGdrKC7xRyKhbb;ccDSn!pJ->VFT@Sol%9FiL%k2FDt5V&VU6ssc5By~% z6+PI0m$z~Yt?uxDrRA|CV9xhfTcsVW-vpY7aqV*W6{{N& ztT+D#22I|+dR5i`Y5FJ1pM3mnUw*WWVZjrhYl}87-c&J9G~ST`aQjtUyD^fh--*`oNTf?v%h`!{+(->HqAWt;HtokuC0!9SQlExtJt;gRz2hS zS2;teIp?TRu+uiblX)*T>|tE$5XpRTQD?-|2@)sYePlSK+#Hw2$~W)n+KOt&f|uWy zUD)@1x>NKm*R8EL@>kvb{I*QM^&s!k>06?bjX0SD_}RMm|8IT5Xppo-w$wID*Wl5v zy#Kd0u)C`DWOGe<`|!v=d#m!56E#<`YDwOlvsp9U`P(nwrIsp_Q*JRHtJ`o~!EDWA zx5jBo_x`s1I<@YJNUoM1+yA#|aYwUsyF-dkK4Mk$epIq1Z%$*SYp&LuoWPKkzHwSV zA8FtExaczDst}3vm3CeVcs1SXxJmN|`JS1d zJG*KkUX^Fw6utk)VAF&%^MseFM%eD`UQ=`O@T(o0ZeCi%d3VWe>2R6p+k*J_#)v1n zUlIIOJoQP~+{<#e*}F

zByS=bmrbe@AXZ{LcATa@O3MeWWOXHI+UB z51Ai(?F+cLrG3*H@y+wDg`PXZ=&m%U3aCM&$G2B>rchJo^5np``ekTa@>jExUx6>4zqf9^vl%pC+kaAtvT|; zG;o>9vLo7$zh-~UK56tQ_d}_R8@q6^^2vy}8EVSflasEwW=*ejJakrne(J8JOgev- zhx4n(`*M(xv)ev zmty`8md;D=znxo<@Jv4=;BMsSg8aSH{0>i=Kl>-cr?9z)^X!(GPrFs~#e3nM?RPfp z*?8x;3**(>>=_Mf7z4WvrNuLixYL(rW?z0(vwvo+sy$v%YanuDno#`Vu49|_a=(3P@qx)=L+!011s-Mp7W)@shedBj z9WT+iqb$r)wwuZEmEr25-80h<{JZ!y>fs`j+*r35u^Sa`QNODGiLd(aYp~~o4lie~ z+0#qK4jIuq9SyvU5_g0CH zjb24-ZEFv#=&N^su%u7gX6uQm@{xSe>%V$#THjL1xoy|>LsNx*=T&sde4V^$m2tDR znEfHgeQShgZndH0PW|B$Ww{fgeJ|8-^^yRq&{ z0AuHSvD(1k2Y*H5+=c3orp*xEt<=HI&-C-_;-Z{2%I!;heKqDBvN#f7tF(4aTh+Qg z@6@}K)xL5h`fz6?N!4UuRM}9p`SHJ7{2nhv8J72NJkO`oQ^X=G^Lo)&4Gn8eN6d#Ld28s>A=oWJ$fCr{sKTJ)56@=v3=Z3`7HtU4MgwWYx!#-s0ebJcy`B3_%iK>iOPf2a6zx_<>O8)A-a}PA}o(WvUo2|@rjm_j^Z`EV#|M3+( zg{DTHM;;nXI{t8TPJ;S=-*5V1Zbu3|^5v?PY7MUyZ#=t6JfJ-!wMCw@eCzjg-UyGW z_80zc_57_-zGGG5hQ$w7WNKMBZCKd$P40QxDbqKKp#rj74r`m-xt+IDU&P+z+o8oL zL>&X)%gHD3@%@y}QukYS$x5i>N_tD6CTaR%( zR*qFm-9PQ%y^gC{iY*ItJ{&XK<=*vui+eE$Xm-2$;c2D7$DkAe?x>?f7lXF-W zwXWf}y7g)GuKycXo@M_2KRbCh_iiTB312_48%Z6sH#6P#^Vqp<{I4UPv|avT6uzRy zx8jTA+&#CpiQE>uw@EAPZ;!WMz^VPwaxd3^Z=8~M%`p8(W_zD@bG5S7yPi!StGv}$ zd`i7r5P*Ka)^W@;sh zc{43HQ*Hbpmi@ClQTM;!8a2lKo|(Ju-3>`zCfK_sa&xKgN^ON>cdV>lO*bt4#64%N z?w5;;_d3RuzEP9tnDJfY+4B=8W?s3p<l=&LOqr@u-zPblC2#$~7ioSWr_L9g zR-SGg=yTle(#l6cshV>h>K_q-lKHh+ME0B zX3u$zc6!Hl00b`|vvE zU9H5u>}Ota+x{--IJ2>K!fwU(eRD$RMNfLF*-=B_lcikzvb2lBmrh6%B`p)E{3{b4!8&w$*;=XPDw%lKu-dARX87>OEBH5mMI|m~!ESCTN7q}m-XfyCTeuxBmYsJoFg2<$k6T>NCwhpZ%Tu;B!Rz%2ma6>Fc}OuB`Jlk?K7tHQ&O*PE*m&u=LuD zgB9s3E(K+}*7|mJYNYiFMR;ef4V`s`@7vW~wb}ox;_hC!wEyV&)1_-UE{2#eM6LE+ zY`xFXfMd_&+hXgZe{56!73Jdm<;ZjsMaEh8W=)*M@t&=DnY!!IJyy1AhN^a{as3l6 zOqjQ!{*`s(wI3^HJel(2$czIkDjO3EKXQKDoX+0I!O7$87?6-(Pyj=L;7;`80_Nc!PPlhTi{l=XOf&b+%n+B`-}?0w6bUS7{0PtJALd||wA zZtktl5MQ#F<*n`u@1}2pTh=f5JK@_4y^MZ6hgBO_2Kqmkap0gQ=jHnP$p`$CAF+E# zdj?R>08CJ#jpEaJ89QwH}zNf(uYBbb1zuU ze&u#$cKrKE`EGwFwrTQOncldyA%5}2-s+#cxtC7;$hxfOyWV8--|cK`ICk8P$t+xy znzEYd^6iIPVk!$m4j6zhlz6MD7UhwTn`ddv*N%B_lWLA9tO8Geb;v z=CZ8xwk4jH`7imNO})e$5;c3S#o;x#zLYGmt+{BSd3)L7yyx!Kd^c8T9$y(lzy}f40Ykh84X5_3#hVKg9`;9JN&&hA;oyf*}jkSD+>C`sQn~_$2O3W#K zCVC3%Lm5|!YR4}Pe<5~UboSZ{+a`)#a$0^n(!xwzb2IbQUq3IHR-ZD@n;`e!xBSzO zheB1N7J0=HYu(!~%rl-GtQvjo7$dvvuGr<>_7*;kqLuc=J0ml0E&khkGxFJTvxL|` zbx9wsd&IJe&)eww7BAsDarR2C@6#pIz5AZ0WUcYBJXxwZS5~{;Z)T(2o8p9keNV3Z z)|`HAzQ%I%m(7hwS2ea>a{RbI_oSz`NYVoDxbvR3BP945mwLTuwPlWcNJ`Gi+UDh)cdNgbjrRz&v?Zi?9^EK zJ&UxKeSOr-sp_+vYc&k~v}|IO+oKpFRNA=u zQ_f#3tdm{$L;u5scm^krHFNmZKlm!ReW~#C%CP=h`{&=fFmLM4DNURrdgmrDz52Q2 zv{CWfXn}J*hjZq)n^p<@icK!-W&L?KeWs+_v)_+%uU+B!{cY8x^x{j*1rM&LZkqdf z|0A=rj68MsczaBECM*v+_g_hP!SvKkCZ!vvoVR+>wb?JFmS;nZ_M+!S-=2D{me(tN z_2=FGeOtnxu}FExpX@L8Dw~}*b;gmO{(6zM^FOPHe&WgGe%|H7@b_9r9ryNBWA(3V zH)Ma;3Q2TW!MZ{)-LPd5qs^oL&F7<=w|@L>v5H&lgg)22zTLVe7B;VZrQFhUnLc-v zFX1gnd-d(;+!H^-PQ)MbI(0Mpw+VY>vRQ}e^-cDh|GN3zI?T32a*~@z*2xsvseU^x z^$*YWKjosD?|x>6NZcW|*_n)YXT>UPoSP$l=E|aTxwiZ%Sfa4J)ZxUnIjfB} zp8032!69CBSo;shz9R0Y8Y@0rI5){^^3~p&L%ZfbdSZL0W|5E27lY^KACwrE`yQMa zrdFJLmEoVpWXbmhi>9A+)fY(7$h*l~nVJ7}j@_4^U6cJz9=O$<$2rt zMeTB!!2IKk{L@c69>m^T$~5gS%ePzHuR~5QXB9PenAy04ozqEU0=tlg+lmttxcYBN zYnzTG_+2G7d-fL>(~Z@8BPU%synOR4nKj3@hd*Ca^p2@i zRNfxuwO{=^T(n~}vh}C-=h)q64o?kA z{-dI9+MKFiZ(DA$)niqxziy*8CU0&f4P0yP}5u z>u&qS!q)!fI;&a79CJ1_6>d5wnLg#y<5`Q>^oPCtxn=K0>lI1rSqr&r|48)NIqQ8} zv{&BUZ@+_lLE@UnKO3?x95jpfeUQRnx4-L}hTDC`Ee{j2=J*KR6N!Czv+Q%9$@YkJ zNg+G?7Oz!oA~PEvG)~EpTK)AXZ?WoEmv^t#MN^xXZPok9p}zH^Sk%K!Uq4)x3*+$e zlg)Xn^kISa#uaRn8(nYOp0ewI#+iNEZ^ON)wECowLtl1pUt@PhC?<>D)TQ?GR*e!K z^H2YB8}{Tae<_-Jf4}>r$$?5M*duMr{O&Ons$QGryW@<^oCVF_o~3C15zl+}C;1HH zpQsf_pUHZ+2~~CK{%UcpTUL4ER@O}+v!f@r{Bjn_dGuLz(&d$#*B9h8oY<#SU3-q} z#WfZz7VXD{wkIarnNnf0b*v%Dx4wrT09&O)qGWFxhHRoT5b{_n!y;FR8wF-Mi z_9k7ux=oX3)jd9Upvqy&j!m(e7u?zfR4MIk@`WM3=0xPI#9 zm$T#p(x)7iy6H4Q_4!fG{A)f1cJ8<04u4Nf-`F{~hB34K^hQ60=%D7D=~*f7l{R_l zI&90`^(<5A^_tYZ^S8AHRPOZ(OZN*XR{X$r;?)kO=V`mR9{C#THdHJ=x(6f zO)6|s9GfNyXLkx3tiK+4?!Hs&H#hS+oc-s1#U%Z;^Hp2Z7fQVe z`n|qPZqe$8-x*?ay%RPE-TYyBM)B*CRi7h$#8~3?ZTCvEJ-+GNgc(dJ*Q8A>?qv({ z>udbg%bwrBWE^U}=LgSYH_lsAyOyjuw7H_mp>6WAyl!EQHnw_|x;*dRw$|8ij@|!) zPNkmyyrR$au?=5Y?!q=B+vl7oN}Zp?D}PecQ*h%|+_z?-l7RJ*sj;Vm50zfE`s~Kd zvGKt)euEeF%}Y+bT6s}X<(^ih#RZ0&N`Y7T1cX-7+J9-^=N3NJ-k{7@4*Q1xtpRZOeSp1o>NagwRRVl$ny+!-x>#uZNbItza zhW`Ht59hry*S(o~+xMnNRbS={euk{*)z5AHe(lnI>}By^>hT79rBC8MrKJWlr#r>X zbH4h^J1vmY_GAq2s%h1G`u@#7aNuNRz-#^aZBYwObh`0=cU}FqefQDCwXR~0kssb`&y6|}(J5kS*`&n|+Uyk=@k6h%OxhB50>iN8{L2?l{#qON% z`Obgr(4Tc-{uUzK5472y@o$i~Jvis7)R`xfH+b({T$BE1$(eQ6LZyArzDbcgzwB2| z{Pu_3!Tw)OI4*cBvA4e>>-ebsgP@A8;o5r+_hu>2n*VsO*o^4?JX@#mTUzW;sM~v) zw=tLb>jhr39wlK$R+Ftxb3$^yMp#O!*GR7K)i@KtqUn;d`ej6zAU9X{H9xDzFIH_` zwrbylZ6bwna#@VYwoID3JKbvkYc<#WS+w=W#VDTl=`x|`t5SU{$JfKv<#(oS+W9U+%C)_y&iKkFvpsB8lXy}u+@AM8=QDOq}!H2sa$ zRQGn*&q+G#`?Gj+^@X1ak+sHJQ%;qf&DDt4yK_m4-B6P6g7blg{7$-Ax`GW?8d%TN z96i$Z&rZ^JHK(nmQ>J0nS6#ntJ9Q^MFbd=E-f`;HCPTGrFOOCR6#v>T~?=!g~D z)7bD^m(5f`zGF#pfP0v zoOCbMM6bD##*!0!ZyxK)^8JC6mw4qIOtd|FT2FFPqWYXU{o5{zhM#pyvwpDGH+0jN zo#&mW{pmPrn^-J%>)tY>KWZ0S{W#wKSjU`tOO$Kz^o`3koYj;!&Z>XnTbaX}a_K@` z)H+RuX(o4FcW@nBknEbqt}K=Ru+G!smg3~^xhqQ)MU;(?%Ds43BRlD_#!sy&e}wNO zTlcl>G1Sn%r#yMW(_)RvEz%$6vL$(cewnSXvzkYJcEPL`|J%xs-9JoPynX%grFE@U z3k09rcOOmJbga_l$&bY)yf5NPqx&4<<+)_maj(d1TNHTerDXbzyUDYXR@mL%uq?`g z$dXj!F{9gyOs)h+UZi^^8Kt(MsRXJUR%pr^Os^umc%i~cv9FlZ^OtIm^>nVqxYP0@?4)BJh* zOW9wB9psr&%(-XNk!h*L9$9l)VxLdhDEzX(>dl`o+#AB#FaA2H>71Cka?0b!UAIjB zANYLRcGZ)quCrJF&fqNl#9g#td(||(?q!*NyS$CQoYhFbKRx@K@#bk$wHfc7lYO>r zlINpk1)0&`rtNP$uD(WcUzt$o?BK26=C8QbTs2$$5=-hqKCd~Z2`d$%F1;+cB&?u* z_~+CU5n+W5S8l4V*S!1MHb=2E;7dG9-GG&j>ZW)H8=M4n)yb(^*=T~oO;&HTkK@$6-- zk2{~bUHm5hP0nC~Le1TVC7f};l>B;KKC10vn|M~?uEY9!g5_V_kH$G%+kX1UnO7@i zd#_%P=L}V_)6+oHtU7aunJO*olQ^VFzG zu%&pvo9C~^Uu~zI6s;08lhvDiR_T9@7x(mary17tIaFPUNnUN>^LsPnnfU5xPm@)t z6O>zA9+W-W!*OzXfPTU`jna2wYZqJOeR$S)W^$iVRp_s{{o8BmFUo1v?l7(0uv1;f z>3)RO!d;CwV*ez5y}9ChYKD~d^7*e4XL+!z`tVNPR8;i-!hVNZZd1N>vRzgelqEU3 zPKb-~1U}Q8SN&m?mL>C@!>s9Le^&YA%xK?}|M~PHGbfEx53brfPoBS*PJB@I{>H}g{6l>&UbM7GT;7yE$xuf4v5QBK<&Fs9J5dFfBsfJZb}tNN z+_N^K-@Gi^MViG^IMs5w`@XGtry2cf*32_Dx&JJNtL9$=ui1Wf164;$O}Bu1%CjG- zI5OAn*Y)21XRQpkn!2et)5nN~TyJwTR?mOE;0wRijsG$12TiR6^5=Xxr{LVey|+#A zlyb%Dzy5}y|L4!xve+3-v{yX4`!%tcz;m)3Riz{iEBos(m$5RLW}gL2eiar z*A*_wJ$X-{+7jq@7j*d4R-<_oK^q5pnJxlrY*lCmIU(dxZlsZ zdEIw~BMW8tEQGRczF3zoxV7vr!`9iIsRpY*USnIG74|hSfB#Lj=FIhXBMX0SyZIn2 zec8q550Yj#NYm*Pw5%l0}i-6*_$^EQ67m|Y3?`qOV;6^vM-|DxGp zTkrD&QtKDQY!$e3-aska&>+m|K}huFJlPem_!(+@7;ni7+C5!&PVG-s!=J#Cl{Io< z@AQfy*r)GFyl(bV)K>P%RTldn?DOw@mpSom|M!#e_0K0ue=(5iyuEN)N2rSBo;NMK zN?tum;9B)zRgWsqD$#RK9*RWe^4-0)cz@=*h5MKOoBsD~++%+0c$*_ar}i)TUZ#?w zp|+?>!>^g)=9YPRXJWq3+oG3#m_KsouAisHo}6h`s`_-q^0MQUX_D;E?Ng2}?e*Wh zt3LJXpL>?aN{+G4Ev;L6{L*>do6eEJReyqiS$2pCD)6(uUNfoPNwiRS`$2u~7ez@f z<(G1`&8J;BT=IL$A(fYh-+Z0Q@bJymWNx*~awP{$ei_xWdMQo$oqfgB?Easy*5^TA zmQ|X}^7GtqykSaw_Yy95q1kD3ncgjPN|f91OL(1RoM`mAotzcnTFnga+B+1#?fnxi z654Fg*~M>v`{VpnBl!!wTXh;yesWxmZg2@xq>qbH)pzW-c=9eFy6z(Khc!&lcXm5 zufJNA`d4!+|0yzDZJ%Ge=Nd!1=W4}@?)Qda{&FF<3*MZ0y5XgAppUYkykTAGNzIU1 zkDUEG_{Ch4CLN!Ba+2|}^PO=jIW6|9^VaOK{wQtyAzAQ>#-v35V_P|Vw)XCCm|;HQ z=kL9XJ<@wEOKxUc?Y=xQebqmy)}QCAfAqc(Y+hki>)L&Ptyh^ymGJ9E*XawTZ8=YJ zPx$byeBuT1W7WTR{wXXmQdwmG@~_wNLpMWO)1`KJtT<}Yt+wvWPQ|Aoua4M-uloK% zcXH~4e+L2!=VnBtx0TP`bKNyyhQ^(gj+Aie7cz&-`hWC!{eB_7PB>kK`Jb+{^U~J* z>L0UNE^+?1d-%RLQ~2qM!iQR^0S|XgUGwtP-Bwra+AFTCzijUBdRltAwsvN{?X&mM z_P4Kp*k6BsO*`g5xS1g_`I49Yhwp8Ey^miE{n+ z>h1E<-<7sDN6ky#U3fX&Y?oe3#<#79zD_rryI1+ou7jz+h4#x;JnxJ5e{{Dgqr?28 zYU7gTV~aS0pYr$n%}SOQ&GjxhVkySQAtxZibnCgkLFD6SH-cmeJIyZ7X0zpR)3@x0rKYW(;W3eUNtx+as@;DH!a!JEP3_QRdpBy?)Hu{ZYAVKP^5p?|G}t zzt`K&Hf4u(+%LUzq;J*z7tNwpcEbBUJilrEM(V09$Iq>k*F3pX|I)FqoT2-~s`+oi zs+Mlvc{MkCoy?y}rM5?pO=s6jb6pdu=VyJ~^mx0k{7fNXx3wjY#C|oqoL{qge{swz zD{XbzGpiPg206dIcDCAF^^DPl881AO7pYupRzJDE#^z@}_x;J!L|^L3eVemP-ebPc zit3LiInTRGtyo(V6{_;ypr&bR--11Nze;|8v3*O~`-A>V)|SOSxahq2`;&d{<$>R~ zbzKfho2X}dYh#Ao*(IE>A7wAu(QM^-E85nYb>`b`8$P@WjP#X6tW%G@goi*Qk{C>LU&#@~%6)$fV3(~xCGH%D27sspl zq^8^bm|fH8d4H36@073e3l!7bKkZ(>wrk;~$>%>@tC5m_@h~$^NPcs|7dSzzn&0w3|v1|*^x(^H3&S*1K z>R!~5FFkm>>dJC{t;sAet^2U)2m92gjPL%~^4>Pk5|~w{p~EqC z+vcik)AM!jI5Dz$mu;3ZpS|C;c*8{1y5*^jIkRKlmOam3a%t_R<;y>d6(^CnY>U;MMru)sA zKP%wR+jqw8{8wcyw|)EUr1_wIYv!A?wOw=gHfS`eWHHTknfG0T^U)q#Gyjg$Vf+?f zVg)L+?GE0_xHIi%mehf*7F+&3Ppf8Ry6GX*MB1>O?mRy#Q)`4;p&gqy<=3jNZ3hddh#W(>PmA7buuQ~9$b0w z4P#wgnUH3~*Hf#4{bVo6>|Gohb^pEU=Y@C9R6FkE*?;o)rt3XTXIwZYYi78o+lY0! z3U?-mPsn)mT4kp+;}5@0K~<-ha!Xsi`f*w2dWNUX#W0z>~D9)ZDY&vWAbdd$6W(z&TE`8Zuw$|d% zBikAS{%4za)akvybvts)U4v*#&Eu&%Rv4PQhnp-^XyTh(v2GsUY2MTGbe=wc@j~jl z-eJjIM&J3SMueNa3!Zj7?$JS=8U99n3%|`VWH9??^yI%2@9nvKS~t&nN2RtK#mODY zH+%K+XOn){z3HD~b{*a6S=s$EY1W+mI~;y7r>e3>fAY@YTzf|QuzlAO1jjYQRsKmzd?1)(|iVl zCCo}&UDl@R@4g#7!EkB7ip_?d57W5ie`vl}U;Fu=(}eP~&x|)*zWhN{nql@AoWo+X1vmbBc-*#?`;c|#)|TJLN_dsOdd;uWRsP=mWNM8QpZ%nh zXM-5q)K}V(Z@Pxf6d>*c&m=%p)L2e8wGe32o*%eni%l&i51iL%ZQFFiRnswfMANS+l z3BAu+Gku@O-W0A;>3VVWl!ioxhv~6&!3PtwX}H1*ev`@;`rvA_gUAwR<|`waWAy_YudeUS*myW zDdCqL${*F2tg*SfNn*LJHDhbgd7W#Mw(csN=V{QwaDR>K{`rU9_DUxw8bmK!$9>yN z|I*#pcV~NFUvuZdss-{Fe%+j!yfpOZuBW@h-^T3pRh_efdCyYCnQA(|F)}laN^N+T z-d*RjU*ff=omD^IlEcT`U776H#LQk6W4SExrNP7{%*KBt**8wR{^Y*q9hHrJ^Y=RT zvYsy8nYv|B0{5!3XG)(e4SeZX{odr&iSr@N;S*eBcXlsnO11hGsrfoX!{_XKN8<%X z^G;hWyAv|=W!&Ddo87K2h43E5G z_+r^ZwrkJl^ZnhwE8ym`cZHEb1%HKBPx@|F_mBC)%^T*$#tHvtn=pU#e{D9Yy7zs4 z>a35~)&Ean+?N`l$t-hPqo6ys25s( zYH~#Cz8BX$U2?NCGyyIg$WorUnMiy8VNrXqVZL>`4_H*@zC&34Q!-fZjLA-y!!;dH!} zCtsQ*m-O))#Sw3%WRe@1Uvdkrzkax}He-g>^?8T1kLJw#!SP-+i%(nbv22~=*5(PW zR~DK|Jo>!!NYty>eoi7+7L*-da4pwEK8Gc{{h-Oyj};2$^JnPpS2v8FI_-Oe(A~HV z?Rm?~AHQM`kmijxVGB5E?x^9mZ1aNKxzhRHvw8MhT@f>VviZ`mu)JF#ku!H`-kdOJ z)~pHl28Jx{&3k>;a;`5JL-5^KtgaW_el)q=h3Lf!m( z{pbA-tXKVPqTY70 z9i%9Jh-=EILzZK@pn>T8HIxo#uSg&Yivf4k>F;#iDn(^P((^JFOOEYi! zxyQup{@EjrJ=t0pPCAr%-23sbvpL~S`tD;zcNN^jCmT+7)9t^jy)ifL|H_QR7e3fO zZTiiha8A&lq2ROpqPIVim-ISVDJCbR_tt%uuHICBc+RbbffF)vQhuKOHvjm&XK}|e ztaSfQ6=(dJ*dTK^@@%Tcf5kVO?);H=IrBK{dxD@w#S8vd!E1j!&f1z>)&J_Ho#UT5 zDZ)I8ew&z&IWKAa=ArfWMWU@ne=D1enaqF zxrGb<@x1;#b=$XTb3TgS{rDw0KQyr7_=dflR^^vpyiLq*IAfTgJ2AulkXAOg|BkIC z@B4axzYN?}>*u;DWY+$FG9{fyHhHE7zbyDwW5T=8nMJZ`Yq{vopX+DLmVf(=-}rm_ zrI#gMC5J?;n%&-dtYR}(6I=eaai*kM_OU2i(^=BJx1>)MM0UKt$lFwvuaGLt^Ep;z zxt-7bb>7y*iCZ4&CN!A6y1eV^XSq3tmET@0YMPuPZYw+8xJm88 z#ov$kFV&X(UR68Q;PjoNj66LJ7V%Dj_R+R|d!{^fiaGox)6n|6!A;o@kyChDN@r)= z+iGsy7W&J#V7YXZlEJTkuO=_K{Yb0)A@jcHvZY1Sr-{81TV*YDHC{Gk)=S>!ZjX1k zUkI*$qOGs~Q{dgJz+>yR3Ig8!f2S(J_|e$u&Ftd|&It!Y?zHF|9l3tN`du6W%2_~Q?zvgA2_3%sRT{$(1QZM*mD0JA{omTS$Y zIb$AV)>+wYHnaV<5#6rZkfIDEZsYHs-3sJ*#U&EtdC{C^%T zbSEqG!$q<0B6Yg=KYm{MaplL)*(2kT+5dcF?exEI_kN3dUv)iog-3xw;K~r$ zT+fx;mdyP2rDsV<^%>zGFEsx%|9fY0=7qV?e$S`o+dqHj_*Bj%Cm{BOm;2w-6-BQa z*WImK^y*#9idj~NZmjdJD30*oVKATTb?#GtQg>BZYxXPswbnLr z^UW^X+1;BrYvPoNwmMlJQ$$r}%un5?+ftdftuiU;(wilg#b?gD%v4`?cAl+)N?M=o zRhhZdW+l#>FO~0a?!R&Q@-xQEPo_!6El*Wjsy1Ws<+o*@pO{!G8=KwbJAL$K@bjC` zZKXbaahbjI|K)EX)m3kDJ|FpMoUVR!>t5M}b3Ug$T19Op$`(vP|`grn+%A$}}w#g1B zQX;O}lzd1y?I5!@Nk;9M`w@$n9_1qzLdO-Gk6NTC@Hp46pDpoOICJyk|4%g=?PWd8 zFHQcURO?~?NkP&@PR+SvDvz@N1oe}_DKedEk56ts;x2i~O*!hcVE~$A}-`+1XNqUw*)k^24b@j*V zWcyq83)T6=Us-u?!;;VHvHN;uD*ivdD^_MMQM~LD+yAF*qCI=1o233+=gsNa6xF!@ z)vA{TXTu)vjWXO^epEI$a%tGIgS}1b^#V#ycg*i)tADt*Q@2%W?x*t9D}2``mj-P7 zAnd3!<0Wr#>N)#zfphv+9i7XHFP+SO_-D`hiNbr=PAoo}^l%At+|~o!mn851%Iz(& zd-`X;>=V~>-z`skNuBebW&Q{Gf^Axt4*%@`z{%OWrsd`atCx3miWePB=daYVeA)F` z?tpkBV|<6Akh$cWtrzBAx;|%q*#z4;^-mPs=3a7`*~y!xb~W*u`3r-`Y}KV**Q0~~ zUVHas)s7uYo>VN}Wd9?6-ph!d&24)(-It%WGAa6o-r<^Ei)Kt#u!-+Dt6unN(VPP( zCD)4{$)2XEUY|8>s?64)g=Y-*oc4J&RdlK9>=j4UE;^qo*qW}E!ObtA(|m7MLB_|B zXHPHwTw1yHo%g%DCH%HeR+UbjcIog%277WS_de$J_XrO=w&y-!Wdw&M6A^~C5)d`lkqYIsf1*}u#E zQf%?Hqt`Yxm+I`+TdDTQ%6Rj}Gcreiy_8S<`H!FXc6e3IZ@yH13DeqZ!N*R{y78dj z^q21a>;4jAn-8oi={>pnPF~ly`h*M1k7&+P$~x6}_w*+|u{`Ys%1fr%MOi7WP4G&5 zpt;m1_{q{q`_6gyTkr>qc}t(a^!m#m?f2hrsEKBN?ccL~CG_1Ij(#1=X?gcNqxQUjemVhH)ko$U^}ulk^klWl+_U{4$3dJ-I01&@7txHYos-jkF~J=?Za zYiU;daV9g1iqG{*jxAL9x~1BFVV-3}`eD1UxaoIRUD{s${!0DvPczRQI5zi^*~PDs zM=yJSF1v6k=(%5%>-`2_Yvo0pe71!FmM6aLxpdP+e|^EJraS2?zG!UDHd}jp&&eP6 zXPtjBO>(_^u~3`CFV>Ah&#bw&^{#oa#8ys6;@pw?Z3nM9$G!ffZNSN|c~ihUE?cn2 zZ2s;EdO9)hX1S{_bzE%ko2mcZ`yE47pZL1d$1i{VclPC;cfxu4tfss6tTQ?g;5Vuie{ZYQrp?Fxr}lF33LP=|$J=&4bJ^S5{(1G*OD%ZqzaHLm`L-9I82h|qJLj>a z9=~|}ZsEK88ByC$Mox}-ZhtN7%ckvLBi~fbRdm~&aPrq-wfg(_*BD)zsubqfeDS`t zPkjCIgh_VYM!ACOwY9x&1sUD0i`U=3_h!kmO>IW;FXJuucmCpa`}a#dZmVW}Dau9pd(D=!}EPGgTe)hQJ*p5=-KFJ(`KDo>Ex zW_H?q%0t&z2bSlHhpA3IH#Mp)^W}xspO3>>=E)Us`;{q6=xoXD*84-0bnD#@m1EJ~=U$mcPs;j#i4R^qAS1lqbeL z*tk}L$LV>O!_@QX*Alc^09S->yXS`zn_Ul>)x3kU9=W@~PF4dXw z@97+?|JSQSsv|6ZGk0@*>fa-pHDgoN!Cx9%^aMDc%O@o4?wjzFhxt*afr|ahtxF32 z>E4t79&%twveBW3-d`?H*rwoUr5ruqwQ%u=n~oyoLB&kZI>Q3W4mY(tD;F)KwOSwObi(c5cdik`|?+?$sWqNw%oE=Q71eQthBuy-c z$z{-TIdVHLqe!^T$~ex|wW?s(@}Q>rH5~uDf9w#y^;aftrtQ>^469F^IypyT_R}A{ zbLtx%cM6}1>7RI$sj6bW98>FWsq6>Wk`~^-keeJQ{a*8i&*|$PU+y;9YTHdHxzE^Z z@-|TPecERR#mnXFKiN0*vHh>TrJTBTch7p}k5`wjmk##3zWe%=H8-aJ4-dC3weF5F zSsB22N}ku}nzM16mZJ9CqkgYSg2E4enX|Ibe!A$I;B;x-zEkgU-MK?w!HzK=F;!TMOSE{CwVZ>C$Sg z$d-S;>t3~2$-GfuJHca6;XG}NX|?_uvpa0-{C-ufmCi0_vR>TZ@`&YVcI?@oyfL1e zBBniiB9aoAS$8j+-N$v!_E}%$cGW%+o-=&`cb(el$BL(&GFn{2&OKi;|2Xrs10hf9 z=D#oXnXty~#**fvyO>TeZO>@eKOCqg`c9y$;o73?Hl-_74U4@?tv8GAeL0ggtCsEg z(|M;N=j_)#y|Tolw@&+^%w0eG6?MhkPtuZkyux#<(ta( zJF(tt@0e7U7C*VNv0Hw#`0DK`tNb>c%VBY86P{pkN$^}M>$k0}Pg|dES+s{I<6QSpVkrt2aDCuL8W-dki78nNTd+lZOJ1OItF$a`4)`>9K3X;=`Cz)#*4 zvW5xwTz4%<;=AG}f8eKIWZWUkuOWSAj1MN-{B(_ed~1!l%H3wm`5U-PS4Caxb=~yM z@t^y7$!k{Et$PZKg2J?>9`mc|Z{4`yEc<=atCvpwc=Y6vWwi0?l_7tRJ(K-bgchyQ=z7scjGq`j`A61SNE0%Tv~fB zb57{lb=NkoG>tY=&N`SoFJbQ2_XStAUtGCd+sk%A@>u`s7dzc2oYH%El{et3x5+<& z49SUoZ9;Ix?;`>i4VnHqPmRtGjBe;>B#fwwsi?-zdPL8x@Fs& z4a+lq16LL|3s1VS|8Z7U%p>c#8|K_hjiP_@4Y%8Z#Xl+&U;#@w5U660) zSDOP~h5@c?SF9A`4BD^n(6H&9y9fUwYz*Mr`mktg@k@YoW6K}z@%?h+T$_KU>%VMEfjv@+TITaPDqe$lgINJsCf;Ju)$Zns57vf=n1`F6P#X9H})EpEhp zdUs}CN|0OT%MY$Qjo(My)j9ocTWNc8Mk~{%N8ervcZsiEn68i?%kq4G;9lL&?$IpO$auVu^FBN%H|OR4}u_$jFM>2G2(yHU2Cm+#Wv z{omaktqRL0_-!>%{&c-vLhGEux^;?bazzt%ylwis;(?OH_eU`=3VjZpVfgaF_|yg2 zPk$ZQxh4s5=*>}{amXb`sOrOmnuZNOXU=+D}4&{Xt>X&p(Rd3n!=!>RFA1|C_iZ-25>Gbd^=aRc8G#9O5KKpR9|Hqr5bLu=Y zzW+^&yp$U}?b-&<(l@69H~duHP-$ZPT0cIi-h2zs|NX6O*W$D%1-DCl-Y{>iKymt` zz(+?s!@CPDHr-VHa?mj2yuPw_S#xv8D!!#TN9-o@@xNkzvGme&Vd2S*%Jq{{c@G`v zdK*%4vq@g!flGPo!IjpD3U^uACq#=&?dW2;;n`cdK0)2o?_mbliAgGdQ*T_ozGJCa zkm^L%P#E@9ULeZRVgg z*SmQ`b>Xz#NlwdMp1k?CeSPs`-Yb82 zB^K9vbk-xOxZVb@Kit3kZvF!+ zIcJUkC**S@gd8+kq&yO$Ty~$o_F_WN)}MLdofns9`sT)o-VL!iXr#Yw<-w;aPg*Z) zY+RwZZh?Jb^z?W)&1&wgN^eUz3$`izzZmy=8}IEGxAt60P4zCmhKr4@K|Ich3IT(zU;J>0#gb`K=yvxB?=#UU+%&>hn1>I8#%7k8E#D zagKiQT_WzDkKV&2qO0Eyc{3CwlYx#@%LQST9O-FoluDt)&Qm46O+lqLb zrT!mG6zU>(w zH9pmyOnD#mr)FH6J9S0L^q`RAM%Q#c@UIOl6#eq{h9t9InrNa_LCZROfeE}!@duNW zqvyqQZcr=>w4Lg@;e%Vn*KYaE2@_R6NAGA)vet?^_v5tSwx5a@9Ku@sqMl~A%nT3w z(O!6QHpl0JBlje1qylmp%u{l#oZY#T+ zZFx{;lZ>mjjF`V*oBqKB(Jeje^rQ9$?mF?peyWnGz)R8i$5j*VBpoczja_kj%N@?i zMVkcPg*Lk`lJ7hCN-^fMosGnmwe4ZsRDa%7IywL2Y!&%J#($dZBB%S4+~?GH+?fAz zYeJ`D)zy0o3$&*G_#4Q=eB_H)>PP;6Yd>ha?lY2_^sG-qBFu7$vfsawkG zm{=aUA-(!)->pXtGA|X}r8IOnpG;tC3K0)`uJ1LWO1t~YBlW2c4jd7I1x*P8dOF%x zijTzBs-_4ThO(vxifmrpdhFW+e%@)<|83iJHq3Ax%Pbf5oyO7q`^5X!iSA!?Pwm-v zg$kqQB8RV>4s#mjn6n|$rH&z$1*!V}Nm;=qx%z$zriS`%nMK7V3dZIZ_^!V*F)%|Jc#h2W zzjH$9@4o$u_UkU@xbyyaXv>l0or%nz@0{jMv*$5xi;zmYa3kgL{`%TL9+NgSK`#E0YLlB7e~YPyrz!V|ozmWf=xW3+VU!zRyzJ;#_%_Bbz| z`80!PGuLU^&0@hen;i{~&ODr>I>R_arC6>vF-~Kd%x8&!d92*LjJG~=6txP?$~@R& z)|Pp)MKmCHW&z*o2ET+e3rlCT{ccDNIAgiYY2#!cXSw4OCT7e{zR~e0j!}JE!`w*T z$_D?cSc5YTwq;2kx(pK{_}BPIOB|_KrkkgGnejKL0ppVh9*>CQ$x~U&)|eeMp7dxz z<2BYl8w1>CG2YaABmaAw)GOI{z6Ecdo_>;IxPFD;h0{0VPjW81B70-yyNF5h)hSDN zxw{2ixqILLp04=h?mb?U%a5y{O#Qdl%P;@9`Om<+GS|*#ZrlI=w(zfc+RxYQ&|PJ8 z*D}thOn=qKO;T^~Bv$zMYtDjQ2BEQGRfb zC3D+}%=YRdPgXFqema0#8H9Z|4 z_x$?xIogdX2Q1CIircR}y0<9b_pi;p=Q~Qw`;W=IligZlZ`p9B`^o<9)2>B#7E8Gv zub6pW`;-gIC*DKNldhL3YzkZOc^;F(CW&H+4dJ{DH+#CJ8hFoId|mE4+x+!a28*4X z@9rA?cjMf~EXCHaifu*4lox(0bAR`K^+|SQl6c;FY}dlg-(LMRJt@Jkrj6k@--c(* z4W;ZBTKTanUTJGh_qEPEaPin71_@ghwJ!%c7!A@o+?i{#b#Fx&M*Y~e@YsZ{XBZCL za^iKcWVleaF1zyS6|41+jDIpqZISNGW^cHqxWM-HT#?h8vSwDA=|#UddGV3l=^WeF z>-WUm(O0iL>2l`7$)|^7`7WAQYR9imySnF4?o6(`-s|obovbgae4!hER!=%)li&5y zZR?6drp4cI(@x0ryl4GoxY(-X z!;6ZTr`E^+PmGCLXX$t8j>N{(Z{N@PZ?|gko42uc_8l{qTZYaN2^D+%t;X=|bB=lyHY-n&r+0JyG$?18NUWar-SX4*n-z7NC!crkc%Nk> z8=ibcvUJ{3Vfm|iC6~S8o?4y~%MI)N`Iy5yy<6Jq*iDPf-|PAGx{W`WFA;KAjF~xM zrC~_I!nlLphTAN3va;)5O%hmMlC^Tv$9Y_QS5#Nr)L%6|v&hlP$(ZrBOl0mtH!ga;_`Has zh3XNnZd~E&_2XFSkdqqlJSf?+)ag~~i5CGcgOxqL9&>e5IvkO{AytC2bv38eWh2)K z=~9a~{&Q~a`gL^SsuF`BozEAdBs#vOChDj&NpdKJq}62gDmhCg8ov&HoARt8YlpgU z%OjhuJ@U#Bv4Xj0ngPlUtAfQrkrNkCMxU37QXUI0k=%LlAvs+p@I3fg%?;(m|i@! zZP^0n#~D#<+b4QItXfQnOTkRR1n9DwI^O**=ep9{XX@-v zTU357SZUSuH+E%i5u=a%fsiGOc86CMe%?B-_`}<0$%bq92|Zr4!rAJ`8?HWoncZJb z9_L~)*vB$c$I_KgTaEp*^b_}abIu$yS5-d9UvY4c%ca@+r~aslTf|*!_o=$Nw(i^P zwSkZB)#B2vEUo_FKt)9HIa4x z+tgS8HNE9Y(Z{;DgtERV-$a_;zS;4ksNmOeRYpr4u?p)u_xIWU5x?>9`pv|j>o+)S zSbFfkH+z{F>&)M`bsruk@SgZTUn$IPQO7^gt_r&o0?FG9j$G&Y=$NbCA@}51@XzGg53RBywz~0t z=E=$t{1cPb!kczOo>AcM%~C^|+^9>-U;onSw)*+vbw%f+$)}#&5M6fo@BZ`8m)FnR zw_@LP{-?=IJLI3VoSSd4di%TQ+Rs0`*R8HhcrtH7(pRAuGW>sbH`+a|{Iy|y&9&m5 zyd<#~4`6E68LpR%r4?$|&7`Oz!$)!pUK@m-H+`0w;+>$kv=pYh&% z4kteS>lShGf5NOI-Ip&WJTk5M@bpi}qq}(r<0^J;{lImeWBuAi^Q9AN!ilrbL1EkCG1Go;r&-ibb-9 zh`rsxe6c~0TUbc{fb0w2)`btbWSUxTH3vin1|9gFGAn-G{}5%R<&*twG@TfWF0@!} zc_=5hklEj$LC$9N5*Lk&cejVe?cF=ObCPeXK+8dP!Hy>RB!PAY6$MVs9SsT<1 { if (req.method === "OPTIONS") { @@ -11,6 +21,7 @@ export default async (req) => { "Access-Control-Allow-Origin": "*", "Access-Control-Allow-Headers": "Authorization", "Access-Control-Allow-Methods": "GET, OPTIONS", + "Access-Control-Expose-Headers": EXPOSED_HEADERS, }, }); } @@ -47,7 +58,10 @@ export default async (req) => { "X-AC-OS-Fallback": ovenRes.headers.get("x-ac-os-fallback") || "", "X-AC-OS-Fallback-Reason": ovenRes.headers.get("x-ac-os-fallback-reason") || "", + "X-Build": ovenRes.headers.get("x-build") || "", + "X-Patch": ovenRes.headers.get("x-patch") || "", "Access-Control-Allow-Origin": "*", + "Access-Control-Expose-Headers": EXPOSED_HEADERS, }, }); } catch (err) {