From 50cee14dbd13dba8e6a1575885b5c30d5cfa1cbb Mon Sep 17 00:00:00 2001 From: Rihan Arfan Date: Sat, 26 Oct 2024 21:00:42 +0100 Subject: [PATCH 01/11] feat: support passing headers to hub proxy --- src/runtime/ai/server/utils/ai.ts | 5 +++-- src/runtime/analytics/server/utils/analytics.ts | 5 +++-- src/runtime/blob/server/utils/blob.ts | 5 +++-- src/runtime/cache/server/utils/cache.ts | 5 +++-- src/runtime/database/server/utils/database.ts | 5 +++-- src/runtime/kv/server/utils/kv.ts | 5 +++-- src/runtime/vectorize/server/utils/vectorize.ts | 5 +++-- 7 files changed, 21 insertions(+), 14 deletions(-) diff --git a/src/runtime/ai/server/utils/ai.ts b/src/runtime/ai/server/utils/ai.ts index 620dc66b..89525ffa 100644 --- a/src/runtime/ai/server/utils/ai.ts +++ b/src/runtime/ai/server/utils/ai.ts @@ -84,14 +84,15 @@ export function hubAI(): Ai { * * @see https://developers.cloudflare.com/workers-ai/configuration/bindings/#methods */ -export function proxyHubAI(projectUrl: string, secretKey?: string): Ai { +export function proxyHubAI(projectUrl: string, secretKey?: string, headers?: HeadersInit): Ai { requireNuxtHubFeature('ai') const aiAPI = ofetch.create({ baseURL: joinURL(projectUrl, '/api/_hub/ai'), method: 'POST', headers: { - Authorization: `Bearer ${secretKey}` + Authorization: `Bearer ${secretKey}`, + ...headers } }) return { diff --git a/src/runtime/analytics/server/utils/analytics.ts b/src/runtime/analytics/server/utils/analytics.ts index 793fae15..4318ab3d 100644 --- a/src/runtime/analytics/server/utils/analytics.ts +++ b/src/runtime/analytics/server/utils/analytics.ts @@ -57,13 +57,14 @@ export function hubAnalytics() { } } -export function proxyHubAnalytics(projectUrl: string, secretKey?: string) { +export function proxyHubAnalytics(projectUrl: string, secretKey?: string, headers?: HeadersInit) { requireNuxtHubFeature('analytics') const analyticsAPI = ofetch.create({ baseURL: joinURL(projectUrl, '/api/_hub/analytics'), headers: { - Authorization: `Bearer ${secretKey}` + Authorization: `Bearer ${secretKey}`, + ...headers } }) diff --git a/src/runtime/blob/server/utils/blob.ts b/src/runtime/blob/server/utils/blob.ts index a781bd10..b69c10ed 100644 --- a/src/runtime/blob/server/utils/blob.ts +++ b/src/runtime/blob/server/utils/blob.ts @@ -328,13 +328,14 @@ export function hubBlob(): HubBlob { * * @see https://hub.nuxt.com/docs/features/blob */ -export function proxyHubBlob(projectUrl: string, secretKey?: string): HubBlob { +export function proxyHubBlob(projectUrl: string, secretKey?: string, headers?: HeadersInit): HubBlob { requireNuxtHubFeature('blob') const blobAPI = ofetch.create({ baseURL: joinURL(projectUrl, '/api/_hub/blob'), headers: { - Authorization: `Bearer ${secretKey}` + Authorization: `Bearer ${secretKey}`, + ...headers } }) diff --git a/src/runtime/cache/server/utils/cache.ts b/src/runtime/cache/server/utils/cache.ts index 3fd31ab7..ac6302a9 100644 --- a/src/runtime/cache/server/utils/cache.ts +++ b/src/runtime/cache/server/utils/cache.ts @@ -14,13 +14,14 @@ import { requireNuxtHubFeature } from '../../../utils/features' * ``` * */ -export function proxyHubCache(projectUrl: string, secretKey?: string) { +export function proxyHubCache(projectUrl: string, secretKey?: string, headers?: HeadersInit) { requireNuxtHubFeature('cache') const cacheAPI = ofetch.create({ baseURL: joinURL(projectUrl, '/api/_hub/cache'), headers: { - Authorization: `Bearer ${secretKey}` + Authorization: `Bearer ${secretKey}`, + ...headers } }) diff --git a/src/runtime/database/server/utils/database.ts b/src/runtime/database/server/utils/database.ts index ff2b634e..de2eb573 100644 --- a/src/runtime/database/server/utils/database.ts +++ b/src/runtime/database/server/utils/database.ts @@ -51,14 +51,15 @@ export function hubDatabase(): D1Database { * * @see https://hub.nuxt.com/docs/features/database */ -export function proxyHubDatabase(projectUrl: string, secretKey?: string): D1Database { +export function proxyHubDatabase(projectUrl: string, secretKey?: string, headers?: HeadersInit): D1Database { requireNuxtHubFeature('database') const d1API = ofetch.create({ baseURL: joinURL(projectUrl, '/api/_hub/database'), method: 'POST', headers: { - Authorization: `Bearer ${secretKey}` + Authorization: `Bearer ${secretKey}`, + ...headers } }) return { diff --git a/src/runtime/kv/server/utils/kv.ts b/src/runtime/kv/server/utils/kv.ts index 88b922bf..1f2486b5 100644 --- a/src/runtime/kv/server/utils/kv.ts +++ b/src/runtime/kv/server/utils/kv.ts @@ -56,14 +56,15 @@ export function hubKV(): HubKV { * * @see https://hub.nuxt.com/docs/features/kv */ -export function proxyHubKV(projectUrl: string, secretKey?: string): HubKV { +export function proxyHubKV(projectUrl: string, secretKey?: string, headers?: HeadersInit): HubKV { requireNuxtHubFeature('kv') const storage = createStorage({ driver: httpDriver({ base: joinURL(projectUrl, '/api/_hub/kv/'), headers: { - Authorization: `Bearer ${secretKey}` + Authorization: `Bearer ${secretKey}`, + ...headers } }) }) diff --git a/src/runtime/vectorize/server/utils/vectorize.ts b/src/runtime/vectorize/server/utils/vectorize.ts index 4a115c78..f600cf2d 100644 --- a/src/runtime/vectorize/server/utils/vectorize.ts +++ b/src/runtime/vectorize/server/utils/vectorize.ts @@ -70,14 +70,15 @@ export function hubVectorize(index: VectorizeIndexes): Vectorize { * * @see https://developers.cloudflare.com/vectorize/reference/client-api/ */ -export function proxyHubVectorize(index: VectorizeIndexes, projectUrl: string, secretKey?: string): Vectorize { +export function proxyHubVectorize(index: VectorizeIndexes, projectUrl: string, secretKey?: string, headers?: HeadersInit): Vectorize { requireNuxtHubFeature('vectorize') const vectorizeAPI = ofetch.create({ baseURL: joinURL(projectUrl, `/api/_hub/vectorize/${index}`), method: 'POST', headers: { - Authorization: `Bearer ${secretKey}` + Authorization: `Bearer ${secretKey}`, + ...headers } }) return { From 3096ac3a83bfdb1917c3ece13e11b9cc428579be Mon Sep 17 00:00:00 2001 From: Rihan Arfan Date: Sat, 26 Oct 2024 23:38:04 +0100 Subject: [PATCH 02/11] feat: support cloudflare access when access remote storage --- src/features.ts | 10 +++++++++- src/module.ts | 5 +++++ src/runtime/ai/server/utils/ai.ts | 4 +++- src/runtime/analytics/server/utils/analytics.ts | 4 +++- src/runtime/blob/server/utils/blob.ts | 4 +++- src/runtime/database/server/utils/database.ts | 4 +++- src/runtime/kv/server/utils/kv.ts | 4 +++- src/runtime/utils/cloudflareAccess.ts | 10 ++++++++++ src/runtime/vectorize/server/utils/vectorize.ts | 4 +++- src/types/module.ts | 16 ++++++++++++++++ 10 files changed, 58 insertions(+), 7 deletions(-) create mode 100644 src/runtime/utils/cloudflareAccess.ts diff --git a/src/features.ts b/src/features.ts index de97bc7f..28b7e679 100644 --- a/src/features.ts +++ b/src/features.ts @@ -19,6 +19,10 @@ export interface HubConfig { userToken?: string env?: string version?: string + cloudflareAccess?: { + clientId: string + clientSecret: string + } ai?: boolean analytics?: boolean @@ -310,7 +314,11 @@ export async function setupRemote(_nuxt: Nuxt, hub: HubConfig) { const remoteManifest = hub.remoteManifest = await $fetch('/api/_hub/manifest', { baseURL: hub.projectUrl as string, headers: { - authorization: `Bearer ${hub.projectSecretKey || hub.userToken}` + authorization: `Bearer ${hub.projectSecretKey || hub.userToken}`, + ...(hub.cloudflareAccess?.clientId && hub.cloudflareAccess?.clientSecret && { + 'CF-Access-Client-Id': hub.cloudflareAccess?.clientId, + 'CF-Access-Client-Secret': hub.cloudflareAccess?.clientSecret + }) } }) .catch(async (err) => { diff --git a/src/module.ts b/src/module.ts index d781c285..6eb43658 100644 --- a/src/module.ts +++ b/src/module.ts @@ -69,6 +69,11 @@ export default defineNuxtModule({ hyperdrive: {}, // @ts-expect-error nitro.cloudflare.wrangler is not yet typed compatibilityFlags: nuxt.options.nitro.cloudflare?.wrangler?.compatibility_flags + }, + // Cloudflare Access + cloudflareAccess: { + clientId: process.env.NUXT_HUB_CLOUDFLARE_ACCESS_CLIENT_ID || null, + clientSecret: process.env.NUXT_HUB_CLOUDFLARE_ACCESS_CLIENT_SECRET || null } }) runtimeConfig.hub = hub diff --git a/src/runtime/ai/server/utils/ai.ts b/src/runtime/ai/server/utils/ai.ts index 89525ffa..c334f1a7 100644 --- a/src/runtime/ai/server/utils/ai.ts +++ b/src/runtime/ai/server/utils/ai.ts @@ -5,6 +5,7 @@ import type { H3Error } from 'h3' import type { Ai } from '@cloudflare/workers-types/experimental' import { requireNuxtHubFeature } from '../../../utils/features' import { useRuntimeConfig } from '#imports' +import { getCloudflareAccessHeaders } from '~/src/runtime/utils/cloudflareAccess' let _ai: Ai @@ -30,7 +31,8 @@ export function hubAI(): Ai { // @ts-expect-error globalThis.__env__ is not defined const binding = process.env.AI || globalThis.__env__?.AI || globalThis.AI if (hub.remote && hub.projectUrl && !binding) { - _ai = proxyHubAI(hub.projectUrl, hub.projectSecretKey || hub.userToken) + const cfAccessHeaders = getCloudflareAccessHeaders(hub.cloudflareAccess) + _ai = proxyHubAI(hub.projectUrl, hub.projectSecretKey || hub.userToken, cfAccessHeaders) return _ai } if (binding) { diff --git a/src/runtime/analytics/server/utils/analytics.ts b/src/runtime/analytics/server/utils/analytics.ts index 4318ab3d..79b4ea79 100644 --- a/src/runtime/analytics/server/utils/analytics.ts +++ b/src/runtime/analytics/server/utils/analytics.ts @@ -4,6 +4,7 @@ import { joinURL } from 'ufo' import { createError } from 'h3' import { requireNuxtHubFeature } from '../../../utils/features' import { useRuntimeConfig } from '#imports' +import { getCloudflareAccessHeaders } from '~/src/runtime/utils/cloudflareAccess' const _datasets: Record = {} @@ -45,7 +46,8 @@ export function hubAnalytics() { const hub = useRuntimeConfig().hub const binding = getAnalyticsBinding() if (hub.remote && hub.projectUrl && !binding) { - return proxyHubAnalytics(hub.projectUrl, hub.projectSecretKey || hub.userToken) + const cfAccessHeaders = getCloudflareAccessHeaders(hub.cloudflareAccess) + return proxyHubAnalytics(hub.projectUrl, hub.projectSecretKey || hub.userToken, cfAccessHeaders) } const dataset = _useDataset() diff --git a/src/runtime/blob/server/utils/blob.ts b/src/runtime/blob/server/utils/blob.ts index b69c10ed..544c23f3 100644 --- a/src/runtime/blob/server/utils/blob.ts +++ b/src/runtime/blob/server/utils/blob.ts @@ -12,6 +12,7 @@ import type { BlobType, FileSizeUnit, BlobUploadedPart, BlobListResult, BlobMult import { streamToArrayBuffer } from '../../../utils/stream' import { requireNuxtHubFeature } from '../../../utils/features' import { useRuntimeConfig } from '#imports' +import { getCloudflareAccessHeaders } from '~/src/runtime/utils/cloudflareAccess' const _r2_buckets: Record = {} @@ -154,7 +155,8 @@ export function hubBlob(): HubBlob { const hub = useRuntimeConfig().hub const binding = getBlobBinding() if (hub.remote && hub.projectUrl && !binding) { - return proxyHubBlob(hub.projectUrl, hub.projectSecretKey || hub.userToken) + const cfAccessHeaders = getCloudflareAccessHeaders(hub.cloudflareAccess) + return proxyHubBlob(hub.projectUrl, hub.projectSecretKey || hub.userToken, cfAccessHeaders) } const bucket = _useBucket() diff --git a/src/runtime/database/server/utils/database.ts b/src/runtime/database/server/utils/database.ts index de2eb573..de1c8b79 100644 --- a/src/runtime/database/server/utils/database.ts +++ b/src/runtime/database/server/utils/database.ts @@ -5,6 +5,7 @@ import type { H3Error } from 'h3' import type { D1Database } from '@nuxthub/core' import { requireNuxtHubFeature } from '../../../utils/features' import { useRuntimeConfig } from '#imports' +import { getCloudflareAccessHeaders } from '~/src/runtime/utils/cloudflareAccess' let _db: D1Database @@ -28,7 +29,8 @@ export function hubDatabase(): D1Database { // @ts-expect-error globalThis.__env__ is not defined const binding = process.env.DB || globalThis.__env__?.DB || globalThis.DB if (hub.remote && hub.projectUrl && !binding) { - _db = proxyHubDatabase(hub.projectUrl, hub.projectSecretKey || hub.userToken) + const cfAccessHeaders = getCloudflareAccessHeaders(hub.cloudflareAccess) + _db = proxyHubDatabase(hub.projectUrl, hub.projectSecretKey || hub.userToken, cfAccessHeaders) return _db } if (binding) { diff --git a/src/runtime/kv/server/utils/kv.ts b/src/runtime/kv/server/utils/kv.ts index 1f2486b5..eeca1167 100644 --- a/src/runtime/kv/server/utils/kv.ts +++ b/src/runtime/kv/server/utils/kv.ts @@ -6,6 +6,7 @@ import { createError } from 'h3' import type { HubKV } from '@nuxthub/core' import { requireNuxtHubFeature } from '../../../utils/features' import { useRuntimeConfig } from '#imports' +import { getCloudflareAccessHeaders } from '~/src/runtime/utils/cloudflareAccess' let _kv: HubKV @@ -29,7 +30,8 @@ export function hubKV(): HubKV { // @ts-expect-error globalThis.__env__ is not defined const binding = process.env.KV || globalThis.__env__?.KV || globalThis.KV if (hub.remote && hub.projectUrl && !binding) { - return proxyHubKV(hub.projectUrl, hub.projectSecretKey || hub.userToken) + const cfAccessHeaders = getCloudflareAccessHeaders(hub.cloudflareAccess) + return proxyHubKV(hub.projectUrl, hub.projectSecretKey || hub.userToken, cfAccessHeaders) } if (binding) { const storage = createStorage({ diff --git a/src/runtime/utils/cloudflareAccess.ts b/src/runtime/utils/cloudflareAccess.ts new file mode 100644 index 00000000..d75a9c91 --- /dev/null +++ b/src/runtime/utils/cloudflareAccess.ts @@ -0,0 +1,10 @@ +import type { HubConfig } from '~/src/features' + +export function getCloudflareAccessHeaders(access: HubConfig['cloudflareAccess']): Record { + const isCloudflareAccessEnabled = !!(access?.clientId && access?.clientSecret) + if (!isCloudflareAccessEnabled) return {} + return { + 'CF-Access-Client-Id': access?.clientId, + 'CF-Access-Client-Secret': access?.clientSecret + } +} diff --git a/src/runtime/vectorize/server/utils/vectorize.ts b/src/runtime/vectorize/server/utils/vectorize.ts index f600cf2d..be702057 100644 --- a/src/runtime/vectorize/server/utils/vectorize.ts +++ b/src/runtime/vectorize/server/utils/vectorize.ts @@ -6,6 +6,7 @@ import type { RuntimeConfig } from 'nuxt/schema' import type { Vectorize } from '../../../../types/vectorize' import { requireNuxtHubFeature } from '../../../utils/features' import { useRuntimeConfig } from '#imports' +import { getCloudflareAccessHeaders } from '~/src/runtime/utils/cloudflareAccess' const _vectorize: Record = {} @@ -42,7 +43,8 @@ export function hubVectorize(index: VectorizeIndexes): Vectorize { // @ts-expect-error globalThis.__env__ is not defined const binding = process.env[bindingName] || globalThis.__env__?.[bindingName] || globalThis[bindingName] if (hub.remote && hub.projectUrl && !binding) { - _vectorize[index] = proxyHubVectorize(index, hub.projectUrl, hub.projectSecretKey || hub.userToken) + const cfAccessHeaders = getCloudflareAccessHeaders(hub.cloudflareAccess) + _vectorize[index] = proxyHubVectorize(index, hub.projectUrl, hub.projectSecretKey || hub.userToken, cfAccessHeaders) return _vectorize[index] } if (binding) { diff --git a/src/types/module.ts b/src/types/module.ts index e07c5ec3..44e40893 100644 --- a/src/types/module.ts +++ b/src/types/module.ts @@ -155,4 +155,20 @@ export interface ModuleOptions { [key: string]: string } } + /** + * Cloudflare Access authentication for remote storage. + * @see https://hub.nuxt.com/recipes/cloudflare-access + */ + cloudflareAccess?: { + /** + * The client ID for Cloudflare Access. + * @default process.env.NUXT_HUB_CLOUDFLARE_ACCESS_CLIENT_ID + */ + clientId?: string + /** + * The client secret for Cloudflare Access. + * @default process.env.NUXT_HUB_CLOUDFLARE_ACCESS_CLIENT_SECRET + */ + clientSecret?: string + } } From 9855c04ee317030e7930faa9e2102d40bad3842c Mon Sep 17 00:00:00 2001 From: Rihan Arfan Date: Mon, 28 Oct 2024 04:29:49 +0000 Subject: [PATCH 03/11] docs: add jsdocs for headers param --- src/runtime/ai/server/utils/ai.ts | 1 + src/runtime/blob/server/utils/blob.ts | 1 + src/runtime/cache/server/utils/cache.ts | 1 + src/runtime/database/server/utils/database.ts | 1 + src/runtime/kv/server/utils/kv.ts | 3 ++- src/runtime/vectorize/server/utils/vectorize.ts | 1 + 6 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/runtime/ai/server/utils/ai.ts b/src/runtime/ai/server/utils/ai.ts index 651b615a..161d97d2 100644 --- a/src/runtime/ai/server/utils/ai.ts +++ b/src/runtime/ai/server/utils/ai.ts @@ -109,6 +109,7 @@ export function hubAI(): Ai { * * @param projectUrl The project URL (e.g. https://my-deployed-project.nuxt.dev) * @param secretKey The secret key to authenticate to the remote endpoint + * @param headers The headers to send with the request to the remote endpoint * * @example ```ts * const ai = proxyHubAI('https://my-deployed-project.nuxt.dev', 'my-secret-key') diff --git a/src/runtime/blob/server/utils/blob.ts b/src/runtime/blob/server/utils/blob.ts index 9996e64b..21fe1a91 100644 --- a/src/runtime/blob/server/utils/blob.ts +++ b/src/runtime/blob/server/utils/blob.ts @@ -352,6 +352,7 @@ export function hubBlob(): HubBlob { * * @param projectUrl The project URL (e.g. https://my-deployed-project.nuxt.dev) * @param secretKey The secret key to authenticate to the remote endpoint + * @param headers The headers to send with the request to the remote endpoint * * @example ```ts * const blob = proxyHubBlob('https://my-deployed-project.nuxt.dev', 'my-secret-key') diff --git a/src/runtime/cache/server/utils/cache.ts b/src/runtime/cache/server/utils/cache.ts index e0e0c5f4..658fd3c8 100644 --- a/src/runtime/cache/server/utils/cache.ts +++ b/src/runtime/cache/server/utils/cache.ts @@ -17,6 +17,7 @@ export function hubCacheBinding(name: string = 'CACHE'): KVNamespace { * * @param projectUrl The project URL (e.g. https://my-deployed-project.nuxt.dev) * @param secretKey The secret key to authenticate to the remote endpoint + * @param headers The headers to send with the request to the remote endpoint * * @example ```ts * const cache = proxyHubCache('https://my-deployed-project.nuxt.dev', 'my-secret-key') diff --git a/src/runtime/database/server/utils/database.ts b/src/runtime/database/server/utils/database.ts index de1c8b79..8b4fdda8 100644 --- a/src/runtime/database/server/utils/database.ts +++ b/src/runtime/database/server/utils/database.ts @@ -45,6 +45,7 @@ export function hubDatabase(): D1Database { * * @param projectUrl The project URL (e.g. https://my-deployed-project.nuxt.dev) * @param secretKey The secret key to authenticate to the remote endpoint + * @param headers The headers to send with the request to the remote endpoint * * @example ```ts * const db = proxyHubDatabase('https://my-deployed-project.nuxt.dev', 'my-secret-key') diff --git a/src/runtime/kv/server/utils/kv.ts b/src/runtime/kv/server/utils/kv.ts index eeca1167..4377c7c2 100644 --- a/src/runtime/kv/server/utils/kv.ts +++ b/src/runtime/kv/server/utils/kv.ts @@ -50,6 +50,7 @@ export function hubKV(): HubKV { * * @param projectUrl The project URL (e.g. https://my-deployed-project.nuxt.dev) * @param secretKey The secret key to authenticate to the remote endpoint + * @param headers The headers to send with the request to the remote endpoint * * @example ```ts * const kv = proxyHubKV('https://my-deployed-project.nuxt.dev', 'my-secret-key') @@ -58,7 +59,7 @@ export function hubKV(): HubKV { * * @see https://hub.nuxt.com/docs/features/kv */ -export function proxyHubKV(projectUrl: string, secretKey?: string, headers?: HeadersInit): HubKV { +export function proxyHubKV(projectUrl: string, secretKey?: string, headers?: Record): HubKV { requireNuxtHubFeature('kv') const storage = createStorage({ diff --git a/src/runtime/vectorize/server/utils/vectorize.ts b/src/runtime/vectorize/server/utils/vectorize.ts index be702057..c7f97bcb 100644 --- a/src/runtime/vectorize/server/utils/vectorize.ts +++ b/src/runtime/vectorize/server/utils/vectorize.ts @@ -60,6 +60,7 @@ export function hubVectorize(index: VectorizeIndexes): Vectorize { * @param index The Vectorize index to access * @param projectUrl The project URL (e.g. https://my-deployed-project.nuxt.dev) * @param secretKey The secret key to authenticate to the remote endpoint + * @param headers The headers to send with the request to the remote endpoint * * @example ```ts * const db = proxyHubVectorize('https://my-deployed-project.nuxt.dev', 'my-secret-key') From d2a748ebddbfc0811668122de421f4602bf1ece8 Mon Sep 17 00:00:00 2001 From: Rihan Arfan Date: Mon, 28 Oct 2024 04:41:28 +0000 Subject: [PATCH 04/11] fix: use relative imports --- src/runtime/ai/server/utils/ai.ts | 2 +- src/runtime/analytics/server/utils/analytics.ts | 2 +- src/runtime/blob/server/utils/blob.ts | 2 +- src/runtime/database/server/utils/database.ts | 2 +- src/runtime/kv/server/utils/kv.ts | 2 +- src/runtime/vectorize/server/utils/vectorize.ts | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/runtime/ai/server/utils/ai.ts b/src/runtime/ai/server/utils/ai.ts index 161d97d2..5cd3cbcc 100644 --- a/src/runtime/ai/server/utils/ai.ts +++ b/src/runtime/ai/server/utils/ai.ts @@ -4,8 +4,8 @@ import { createError } from 'h3' import type { H3Error } from 'h3' import type { Ai } from '@cloudflare/workers-types/experimental' import { requireNuxtHubFeature } from '../../../utils/features' +import { getCloudflareAccessHeaders } from '../../../utils/cloudflareAccess' import { useRuntimeConfig } from '#imports' -import { getCloudflareAccessHeaders } from '~/src/runtime/utils/cloudflareAccess' let _ai: Ai diff --git a/src/runtime/analytics/server/utils/analytics.ts b/src/runtime/analytics/server/utils/analytics.ts index 79b4ea79..351dcf14 100644 --- a/src/runtime/analytics/server/utils/analytics.ts +++ b/src/runtime/analytics/server/utils/analytics.ts @@ -3,8 +3,8 @@ import { ofetch } from 'ofetch' import { joinURL } from 'ufo' import { createError } from 'h3' import { requireNuxtHubFeature } from '../../../utils/features' +import { getCloudflareAccessHeaders } from '../../../utils/cloudflareAccess' import { useRuntimeConfig } from '#imports' -import { getCloudflareAccessHeaders } from '~/src/runtime/utils/cloudflareAccess' const _datasets: Record = {} diff --git a/src/runtime/blob/server/utils/blob.ts b/src/runtime/blob/server/utils/blob.ts index 21fe1a91..65bfc8d5 100644 --- a/src/runtime/blob/server/utils/blob.ts +++ b/src/runtime/blob/server/utils/blob.ts @@ -11,8 +11,8 @@ import { joinURL } from 'ufo' import type { BlobType, FileSizeUnit, BlobUploadedPart, BlobListResult, BlobMultipartUpload, HandleMPUResponse, BlobMultipartOptions, BlobUploadOptions, BlobPutOptions, BlobEnsureOptions, BlobObject, BlobListOptions, BlobCredentialsOptions, BlobCredentials } from '@nuxthub/core' import { streamToArrayBuffer } from '../../../utils/stream' import { requireNuxtHubFeature } from '../../../utils/features' +import { getCloudflareAccessHeaders } from '../../../utils/cloudflareAccess' import { useRuntimeConfig } from '#imports' -import { getCloudflareAccessHeaders } from '~/src/runtime/utils/cloudflareAccess' const _r2_buckets: Record = {} diff --git a/src/runtime/database/server/utils/database.ts b/src/runtime/database/server/utils/database.ts index 8b4fdda8..d115bd45 100644 --- a/src/runtime/database/server/utils/database.ts +++ b/src/runtime/database/server/utils/database.ts @@ -4,8 +4,8 @@ import { createError } from 'h3' import type { H3Error } from 'h3' import type { D1Database } from '@nuxthub/core' import { requireNuxtHubFeature } from '../../../utils/features' +import { getCloudflareAccessHeaders } from '../../../utils/cloudflareAccess' import { useRuntimeConfig } from '#imports' -import { getCloudflareAccessHeaders } from '~/src/runtime/utils/cloudflareAccess' let _db: D1Database diff --git a/src/runtime/kv/server/utils/kv.ts b/src/runtime/kv/server/utils/kv.ts index 4377c7c2..6b69a11c 100644 --- a/src/runtime/kv/server/utils/kv.ts +++ b/src/runtime/kv/server/utils/kv.ts @@ -5,8 +5,8 @@ import { joinURL } from 'ufo' import { createError } from 'h3' import type { HubKV } from '@nuxthub/core' import { requireNuxtHubFeature } from '../../../utils/features' +import { getCloudflareAccessHeaders } from '../../../utils/cloudflareAccess' import { useRuntimeConfig } from '#imports' -import { getCloudflareAccessHeaders } from '~/src/runtime/utils/cloudflareAccess' let _kv: HubKV diff --git a/src/runtime/vectorize/server/utils/vectorize.ts b/src/runtime/vectorize/server/utils/vectorize.ts index c7f97bcb..fa568557 100644 --- a/src/runtime/vectorize/server/utils/vectorize.ts +++ b/src/runtime/vectorize/server/utils/vectorize.ts @@ -5,8 +5,8 @@ import type { H3Error } from 'h3' import type { RuntimeConfig } from 'nuxt/schema' import type { Vectorize } from '../../../../types/vectorize' import { requireNuxtHubFeature } from '../../../utils/features' +import { getCloudflareAccessHeaders } from '../../../utils/cloudflareAccess' import { useRuntimeConfig } from '#imports' -import { getCloudflareAccessHeaders } from '~/src/runtime/utils/cloudflareAccess' const _vectorize: Record = {} From abdfe8e66f6c3e4f8100e702c62b535aa0977ace Mon Sep 17 00:00:00 2001 From: Rihan Arfan Date: Mon, 28 Oct 2024 12:13:32 +0000 Subject: [PATCH 05/11] fix: reset file to main and reapply changes --- src/runtime/ai/server/utils/ai.ts | 37 +------------------------------ 1 file changed, 1 insertion(+), 36 deletions(-) diff --git a/src/runtime/ai/server/utils/ai.ts b/src/runtime/ai/server/utils/ai.ts index 5cd3cbcc..c97ca25b 100644 --- a/src/runtime/ai/server/utils/ai.ts +++ b/src/runtime/ai/server/utils/ai.ts @@ -31,6 +31,7 @@ export function hubAI(): Ai { // @ts-expect-error globalThis.__env__ is not defined const binding = process.env.AI || globalThis.__env__?.AI || globalThis.AI if (hub.remote && hub.projectUrl && !binding) { + const cfAccessHeaders = getCloudflareAccessHeaders(hub.cloudflareAccess) _ai = proxyHubAI(hub.projectUrl, hub.projectSecretKey || hub.userToken) } else if (import.meta.dev) { // Mock _ai to call NuxtHub Admin API to proxy CF account & API token @@ -64,42 +65,6 @@ export function hubAI(): Ai { } if (!_ai) { throw createError('Missing Cloudflare AI binding (AI)') - const cfAccessHeaders = getCloudflareAccessHeaders(hub.cloudflareAccess) - _ai = proxyHubAI(hub.projectUrl, hub.projectSecretKey || hub.userToken, cfAccessHeaders) - return _ai - } - if (binding) { - if (import.meta.dev) { - // Mock _ai to call NuxtHub Admin API to proxy CF account & API token - _ai = { - async run(model: string, params?: Record) { - if (!hub.projectKey) { - throw createError({ - statusCode: 500, - message: 'Missing hub.projectKey variable to use hubAI()' - }) - } - if (!hub.userToken) { - throw createError({ - statusCode: 500, - message: 'Missing hub.userToken variable to use hubAI()' - }) - } - return $fetch(`/api/projects/${hub.projectKey}/ai/run`, { - baseURL: hub.url, - method: 'POST', - headers: { - authorization: `Bearer ${hub.userToken}` - }, - body: { model, params }, - responseType: params?.stream ? 'stream' : undefined - }).catch(handleProxyError) - } - } as Ai - } else { - _ai = binding as Ai - } - return _ai } return _ai } From e259098acae1737a6b16f801f30dfb2e907e9bdb Mon Sep 17 00:00:00 2001 From: Rihan Arfan Date: Mon, 28 Oct 2024 12:25:47 +0000 Subject: [PATCH 06/11] refactor: use util to format headers --- src/features.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/features.ts b/src/features.ts index 12f952c8..3c5de9b7 100644 --- a/src/features.ts +++ b/src/features.ts @@ -8,6 +8,7 @@ import { joinURL } from 'ufo' import { defu } from 'defu' import { $fetch } from 'ofetch' import { addDevToolsCustomTabs } from './utils/devtools' +import { getCloudflareAccessHeaders } from './runtime/utils/cloudflareAccess' const log = logger.withTag('nuxt:hub') const { resolve, resolvePath } = createResolver(import.meta.url) @@ -337,10 +338,7 @@ export async function setupRemote(_nuxt: Nuxt, hub: HubConfig) { baseURL: hub.projectUrl as string, headers: { authorization: `Bearer ${hub.projectSecretKey || hub.userToken}`, - ...(hub.cloudflareAccess?.clientId && hub.cloudflareAccess?.clientSecret && { - 'CF-Access-Client-Id': hub.cloudflareAccess?.clientId, - 'CF-Access-Client-Secret': hub.cloudflareAccess?.clientSecret - }) + ...getCloudflareAccessHeaders(hub.cloudflareAccess) } }) .catch(async (err) => { From ce9707da4ac2aaa3026eee690856cc0b8237b645 Mon Sep 17 00:00:00 2001 From: Rihan Arfan Date: Tue, 29 Oct 2024 03:55:49 +0000 Subject: [PATCH 07/11] fix: pass access headers to ai proxy --- src/runtime/ai/server/utils/ai.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime/ai/server/utils/ai.ts b/src/runtime/ai/server/utils/ai.ts index c97ca25b..9cca0d9e 100644 --- a/src/runtime/ai/server/utils/ai.ts +++ b/src/runtime/ai/server/utils/ai.ts @@ -32,7 +32,7 @@ export function hubAI(): Ai { const binding = process.env.AI || globalThis.__env__?.AI || globalThis.AI if (hub.remote && hub.projectUrl && !binding) { const cfAccessHeaders = getCloudflareAccessHeaders(hub.cloudflareAccess) - _ai = proxyHubAI(hub.projectUrl, hub.projectSecretKey || hub.userToken) + _ai = proxyHubAI(hub.projectUrl, hub.projectSecretKey || hub.userToken, cfAccessHeaders) } else if (import.meta.dev) { // Mock _ai to call NuxtHub Admin API to proxy CF account & API token _ai = { From 30b38cb0ddcac661cc62e7012017f8713cf1c641 Mon Sep 17 00:00:00 2001 From: Rihan Arfan Date: Tue, 29 Oct 2024 04:31:06 +0000 Subject: [PATCH 08/11] docs: wip outline of access docs --- .../1.docs/3.recipes/6.cloudflare-access.md | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 docs/content/1.docs/3.recipes/6.cloudflare-access.md diff --git a/docs/content/1.docs/3.recipes/6.cloudflare-access.md b/docs/content/1.docs/3.recipes/6.cloudflare-access.md new file mode 100644 index 00000000..93e5851a --- /dev/null +++ b/docs/content/1.docs/3.recipes/6.cloudflare-access.md @@ -0,0 +1,43 @@ +--- +title: Cloudflare Access +navigation.title: Cloudflare Access +description: Learn how to use Cloudflare Access to protect your Nuxt application deployed on Cloudflare Pages. +--- + +explain what cloudflare access is + +nuxthub compatible and integration makes dashboard & remote storage work with access. + +## Setup Cloudflare Access + +setting up nuxthub on a deployed project + +important: nuxt.dev domain no work with integration due to cf limitation. if nuxt.dev domain is default, on enable default becomes pages.dev. + +- create service token in cf zero trust dash + - name can be nuxthub project name +- paste the tokens into nuxthub -> settings -> general -> cloudflare access +- cf dash -> pages -> -> settings -> general -> access policy -> enable + - it'll make an access application with the preview domain by default, and add all members of the pages project via email auth +- edit access application + - add new policy "service auth", drag it to be first, edit it then select the created service token + - image + - optionally add other domains to access project, like main domain or custom domains to protect them too. + - default is just preview pages.dev domains + - configure your access policies + - link to cf access docs for making policies + +### Importing Pages projects + +- currently create access app with bypass policy for /api/_hub for everyone +- planned to support importing existing pages projects with access in the future + +## Remote development + +in .env set NUXT_HUB_CLOUDFLARE_ACCESS_CLIENT_ID and NUXT_HUB_CLOUDFLARE_ACCESS_CLIENT_SECRET to a service token added to access policy + +tip: service token doesn't need to match dev/can be different/just needs to be assigned to access policy + +## CLI + +set env var NUXT_HUB_CLOUDFLARE_ACCESS_CLIENT_ID and NUXT_HUB_CLOUDFLARE_ACCESS_CLIENT_SECRET From 4465410de180c52f607fdd689aa1ed45e802587c Mon Sep 17 00:00:00 2001 From: Rihan Arfan Date: Tue, 29 Oct 2024 17:25:26 +0000 Subject: [PATCH 09/11] docs: cloudflare access docs --- .../1.docs/3.recipes/6.cloudflare-access.md | 117 ++++++++++++++---- 1 file changed, 95 insertions(+), 22 deletions(-) diff --git a/docs/content/1.docs/3.recipes/6.cloudflare-access.md b/docs/content/1.docs/3.recipes/6.cloudflare-access.md index 93e5851a..5cd334ad 100644 --- a/docs/content/1.docs/3.recipes/6.cloudflare-access.md +++ b/docs/content/1.docs/3.recipes/6.cloudflare-access.md @@ -4,40 +4,113 @@ navigation.title: Cloudflare Access description: Learn how to use Cloudflare Access to protect your Nuxt application deployed on Cloudflare Pages. --- -explain what cloudflare access is +Cloudflare Access allows you to secure your web applications by restricting who can reach your application by applying configured identity-aware Access policies. Cloudflare Access is part of Cloudflare's Zero Trust offerings. -nuxthub compatible and integration makes dashboard & remote storage work with access. +NuxtHub fully supports Cloudflare Access across the admin, module and CLI. ## Setup Cloudflare Access -setting up nuxthub on a deployed project +These steps covers setting up Cloudflare Access for a deployed NuxtHub project. -important: nuxt.dev domain no work with integration due to cf limitation. if nuxt.dev domain is default, on enable default becomes pages.dev. +::important{to="#nuxtdev-subdomain-with-cloudflare-access"} +When using Cloudflare Access with NuxtHub, the nuxt.dev subdomain is unavailable due to a Cloudflare limitation. [Learn more](#nuxtdev-subdomain-with-cloudflare-access). +:: -- create service token in cf zero trust dash - - name can be nuxthub project name -- paste the tokens into nuxthub -> settings -> general -> cloudflare access -- cf dash -> pages -> -> settings -> general -> access policy -> enable - - it'll make an access application with the preview domain by default, and add all members of the pages project via email auth -- edit access application - - add new policy "service auth", drag it to be first, edit it then select the created service token - - image - - optionally add other domains to access project, like main domain or custom domains to protect them too. - - default is just preview pages.dev domains - - configure your access policies - - link to cf access docs for making policies +1. Create a Cloudflare Access [service token](https://developers.cloudflare.com/cloudflare-one/identity/service-tokens/) in the [Cloudflare Zero Trust dashboard](https://one.dash.cloudflare.com/) + 1. In [Zero Trust](https://one.dash.cloudflare.com/), go to Access → Service Auth → Service Tokens + 2. Select Create Service Token + 3. Name the service token. For example, the NuxtHub project's name + - The name allows you to easily identify events related to the token in the logs + 4. Choose a Service Token Duration. This sets the expiration date for the token + 5. Select Generate token. You will see the generated Client ID and Client Secret for the service token + ::warning + This is the only time Cloudflare Access will display the Client Secret. If you lose the Client Secret, you will need to rotate the service token + :: +2. Configure the Cloudflare Access integration within [NuxtHub admin](https://admin.hub.nuxt.com/) + 1. In the [NuxtHub admin](https://admin.hub.nuxt.com/), go to Projects → Settings → General → Cloudflare Access + 2. Provide the Client ID and Client Secret generated in the previous step +3. Enable Cloudflare Access on the Pages project + 1. On the [Cloudflare dashboard](https://dash.cloudflare.com/login?to=/:account/workers-and-pages) → Workers & Pages → Your Pages project + 2. Go to Settings → General → Access Policy + 3. Select Enable to create a Cloudflare Access application. + ::note + The default policy covers the preview environments on the `pages.dev` subdomain, adds an allow policy with all members of the account, and uses the email one-time-pin IdP. + :: +4. Add an Access policy to permit the service token + 1. In [Zero Trust](https://one.dash.cloudflare.com/), go to Access → Applications and select the application + 2. Create a new policy with the name "NuxtHub" and the action Service Auth + 3. Enable the 401 Response boolean + 4. Within Configure rules, set Selector to Service Token and the value to the service token created earlier + 5. Save the policy +5. Optionally edit your Allow Access policy + ::callout{to="https://developers.cloudflare.com/cloudflare-one/policies/access/#allow"} + Learn more about Cloudflare Access policies on Cloudflare's documentation. + :: +6. Optionally add additional domains to your Access application + 1. In [Zero Trust](https://one.dash.cloudflare.com/), go to Access → Applications and select the application + 2. From the header, select Overview + 3. Add additional application domains, such as the production domain, or any custom domains assigned to the project ### Importing Pages projects -- currently create access app with bypass policy for /api/_hub for everyone -- planned to support importing existing pages projects with access in the future +We plan to directly support importing existing Pages projects that are protected with Cloudflare Access enabled in the future. -## Remote development +Currently, you will need to temporarily create an Access application which sets a Bypass policy for Everyone on the project's default pages.dev domain and the path `/api/_hub/manifest`. -in .env set NUXT_HUB_CLOUDFLARE_ACCESS_CLIENT_ID and NUXT_HUB_CLOUDFLARE_ACCESS_CLIENT_SECRET to a service token added to access policy +## Service token expiry and rotation -tip: service token doesn't need to match dev/can be different/just needs to be assigned to access policy +### Service token expiry + +When a service token is expired, it can be rotated from the Cloudflare dashboard. + +1. In [Zero Trust](https://one.dash.cloudflare.com/), go to Access → Service Auth → Service Tokens +2. Click `...` on the expired token +3. Select Rotate + +::tip +The duration of active service tokens can be extended by refreshing it from the Zero Trust dashboard +:: + +### Service token rotation + +If a service token is rotated, the new Client Secret needs to be provided on [NuxtHub admin](https://admin.hub.nuxt.com/). +1. In the [NuxtHub admin](https://admin.hub.nuxt.com/), go to Projects → Settings → General → Cloudflare Access +2. Click Disable integration +3. Provide the Client ID and Client Secret generated in the previous step +4. Click Enable integration + +## Remote storage + +These steps will cover using [remote storage](/docs/getting-started/remote-storage) with an environment protected by Cloudflare Access. + +1. Open `.env` +2. Set the following variables with your service token's Client ID and Client Secret + - `NUXT_HUB_CLOUDFLARE_ACCESS_CLIENT_ID` + - `NUXT_HUB_CLOUDFLARE_ACCESS_CLIENT_SECRET` + +::note +A separate service token can optionally be created only for local development +:: + + +::tip +No configuration is required if using [Cloudflare WARP](https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/warp/) with Cloudflare Zero Trust, as WARP handles authenticating with Cloudflare Access +:: ## CLI -set env var NUXT_HUB_CLOUDFLARE_ACCESS_CLIENT_ID and NUXT_HUB_CLOUDFLARE_ACCESS_CLIENT_SECRET +The following environment variables can be passed to the CLI + - `NUXT_HUB_CLOUDFLARE_ACCESS_CLIENT_ID` + - `NUXT_HUB_CLOUDFLARE_ACCESS_CLIENT_SECRET` + +```bash [Terminal] +export NUXT_HUB_CLOUDFLARE_ACCESS_CLIENT_ID="" +export NUXT_HUB_CLOUDFLARE_ACCESS_CLIENT_SECRET="" +npx nuxthub database migrations list --preview +``` + +## `nuxt.dev` subdomain with Cloudflare Access + +Due to a technical Cloudflare limitation, when using Cloudflare Access with NuxtHub, the nuxt.dev subdomain is unavailable. + +If the nuxt.dev subdomain is the primary domain, enabling the Cloudflare Access integration will set the primary domain to the pages.dev subdomain. From 7f87b9b459dc5a5d5aefc18502ff515f74a91b21 Mon Sep 17 00:00:00 2001 From: Rihan Arfan Date: Tue, 29 Oct 2024 18:14:34 +0000 Subject: [PATCH 10/11] docs: cloudflare access changelog --- .../1.docs/3.recipes/6.cloudflare-access.md | 2 +- docs/content/4.changelog/cloudflare-access.md | 28 ++++++++++++++++++ .../images/changelog/cloudflare-access.png | Bin 0 -> 182785 bytes 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 docs/content/4.changelog/cloudflare-access.md create mode 100644 docs/public/images/changelog/cloudflare-access.png diff --git a/docs/content/1.docs/3.recipes/6.cloudflare-access.md b/docs/content/1.docs/3.recipes/6.cloudflare-access.md index 5cd334ad..9029b6a2 100644 --- a/docs/content/1.docs/3.recipes/6.cloudflare-access.md +++ b/docs/content/1.docs/3.recipes/6.cloudflare-access.md @@ -6,7 +6,7 @@ description: Learn how to use Cloudflare Access to protect your Nuxt application Cloudflare Access allows you to secure your web applications by restricting who can reach your application by applying configured identity-aware Access policies. Cloudflare Access is part of Cloudflare's Zero Trust offerings. -NuxtHub fully supports Cloudflare Access across the admin, module and CLI. +NuxtHub fully supports Cloudflare Access across the NuxtHub admin, module and CLI. ## Setup Cloudflare Access diff --git a/docs/content/4.changelog/cloudflare-access.md b/docs/content/4.changelog/cloudflare-access.md new file mode 100644 index 00000000..d12fdee8 --- /dev/null +++ b/docs/content/4.changelog/cloudflare-access.md @@ -0,0 +1,28 @@ +--- +title: Cloudflare Access integration +description: "We now support Cloudflare Access within NuxtHub admin, module and CLI" +date: 2024-10-29 +image: '/images/changelog/cloudflare-access.png' +authors: + - name: Rihan Arfan + avatar: + src: https://avatars.githubusercontent.com/u/20425781?v=4 + to: https://x.com/RihanArfan + username: RihanArfan +--- + +::tip +This feature is available on all [NuxtHub plans](/pricing) and comes with the [v0.0.0](https://github.com/nuxt-hub/core/releases/tag/v0.0.0) release of `@nuxthub/core`. +:: + +We now fully support Cloudflare Access across admin, module and CLI. + +This enables you to create secure internal web applications on NuxtHub, without compromising on features like NuxtHub admin for management and remote storage during development. + +::callout{to="/docs/recipes/cloudflare-access" icon="i-ph-book-open-duotone"} +Learn more about Cloudflare Access with NuxtHub +:: + +## What is Cloudflare Access + +Cloudflare Access allows you to secure your web applications by restricting who can reach your application by applying configured identity-aware Access policies. Cloudflare Access is part of Cloudflare's Zero Trust offerings. diff --git a/docs/public/images/changelog/cloudflare-access.png b/docs/public/images/changelog/cloudflare-access.png new file mode 100644 index 0000000000000000000000000000000000000000..60c430cf5c5f0f85d3a9b8b66e85a50caab39440 GIT binary patch literal 182785 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%0AGQ*L&a>ESFHcJFw7#>R3kR?)OsoA03vB*y#FC| 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

$E)MmC881Um4t>l~yq(;ls#c}0 z#yN-hj0SC^~i5jE~C~geQ`9r zyM<4UX})wBy9G|Dzos6UsXL8^@@Vc8!r7^+#Q}a*7*wxi!$bw5HqX?M$k@$(5EU=q zN7q>b?TQwvz-Cd@-_M@^Uf2SD!uzPVb%p2tnmR+Bv&MxDVjKLk@^b7w8ZG5R-YKdX zo8UMoV$j(d_%RkK&l)B3nUy*_-*0NZ7kP|YJSq-Ks-K>o=I@4Z+MhA0Z)AQ>Nx10P zG9$2}a#Q0pg?2t9ud^qgWseL`klu{h6?oe*BD{rK3FJAXV6e z#Pm2&WoES;^TV(RC3&h>y6KJy+K&jv>ZIv&5(;E)u4qCsH!Vt}CC9-gU!cTf_?}Bu)32Z3XVUV#lRO*n=P&OD+q2T*)^#5GN^!6tB@7)*dU{+?pBHOV{ z>PebJ89wh7+kg3y;UVyIUECB%EM(P^!LYSH9Opd)h5cYUALtxYABzGnVhc2uMo9~& zrlv;|f6g@in%hi#%X-}zC{{dlLr(2

TkDVWng^x_j)7=GuIF@F{lnb5Q&*1YaU zqn*Z5If6BQC(8pTDXMOs%#Ah6zSXu=xIn&gs}Rnnkt=+_7lz)zxp>$-*{LTZy>2Dy zIbs{*0#WmTeoCY)09Z^@y2B=43p4`KWR!0}_!`eApAM}Nxl3PNb}D9Na8^60_RD+O zfWkG4BLCT1hX08lGjSJmcclGg!T%K%9Pgz2WJjCnX>e6CYmXllg;OA}gov86m5Yq) ze*q0Ren!e35VFyyYO9pg{az@I&Fivw6mqoS?tsl!eo)!^B}@K`od^d-U@4mYUc8>$ zK(l6-z5l-}8_Y3^`V&O5f5gisJj=l_KKy@p`s#qFy60~c1eFp|x&%c+T0&ZoPU(=4 zZUlB|c0mM0O1eS1yK_;H?uMnLmReSFfo0iud47K1{qNqr=QDH8nLB4@&bc#>!ljGO8)PBQJH1UA0e3jR22By7==x}lQ%C>&;&n6-K80k1v6>H{O z8-sQKB%gjt>YpU4eM|3N`{S5T;@o*Z+cc&uPM1VqrpV%bonR|}4#TU*u5G1cg(W4V zLA+k>pEB9$d1ym@$#zxcm2p|3pGoqVB0pF4)~ZQwf9=Wzy`9Ze99#6G%N__Fq^HhZ z4gy&99P`7-5Io|p-(FhP)iUjaKhXYpLKaQ*BaAk^?@zu-;7sfYOx_GB z8H4B_Sd`B{%TPRhCA!-A^&~F#qLO-fI4KT#)1P|!o}|`My0<1Rr3pjv)uJmO{I$!r zBkXREUyYs5LO9_T$Gvp{3WH4+DYcA|gh{4jQFZHndZssjvTMd7m+;SDatH~$F*JD~ zWIS8btWXDSF@2gY(ol84)V*VW=g}y>@91XNcVgz)k$k-sP%dssxfxh2psM0sxO3m% z!jVCu@1a)ZT-pU`se>k{H2Te*Vq8>!pU z09d637_Vb^+V-@1%hiGE-0)A3rR2cPuhJ3Xkk*a8FlXQ2$7$4wK1|-!Wk9pCHqYS# z?~XXzh$LHDUAFOpIgzW6CSl<}iLq(xNG8Un<(S(>mzmZt`AZ^u z^Uqxk7M@Kjok#lL_%Nzmy#vZFo@Smgq5={!m=-a%|37x{_R%)|dD>lc;oZh--Td^V z{d;$WL;JnEd(dMdm{DI2|0hqEYg_k!WzbRGAK(obsFt{2w{QCWXC^U6@385nM0vEY zW?56Tf46PX9cPE|(6{g-QP0DrElEWCN%G(9o2d@z8e4NngX5nV43umHmbPwc+$_WQ z#BsJfdhRqDn?H{@9EJNa_&K+rRv_Ct3;A1tqp5?VccIG1)l6ARb|a@`=On#Mp!wIy z14=60zru02tonb+{siK(h=przi31DktHPd)g$$<-TgiQY$I<%<^y$;{0RhXg-@o7G z7HNJ(7Q1|1+w!H6pZ@lijI)gly2uEuI)v z+r>}~_?jXIR(qh{qOTZKIgGTZ_`qdOl-HPIB36Vwr#%(ym2*)YFcR}2mS3%7qg-p z&&LR{=}DHyUeug$2cGRC!vxFpgR$ zLLyB4nv2~lDtwW-c#5=B$v)J)zwiahRr?PVT+XLeMVZBR35%p(6uUf{G(|s4I4<&w zWg@+2MU(HXLva(%UxBtA9US}W@J{H_u}?3|zDglqK~E!8OpgQTxVeV&J7DFpVkO{V zGc44Zze|FOxf7NBzL>y)$N#tDNkDY=3Dc;m;%P&bE#9kq-^k{SR~_>!>{I%7j?&XX z-qHSq6~$uJRNph{pP{0L*(*3o1jocBKLyld>iBQNV&8s;L@Pag_`5vEa+2?-kD((t zU8zvmob~>Xc!J6;V&Hy0S5f#G|24y_&Px_GsgzkHZ}NKjfh)y#jj$vp6~{KxDIfcH zk|}7lkUPFJ$Mg!PDWaw9E74%|>Reahh#7hB`l8^~XMJxvB!&(b)3}?xOrfn0{&V-D zDGIYr_xOu``}LEHnlarpx=EtH^_j|Crr%>V$YL6EF!g2%PRfv%oa8wi*vjtu%KUTtk8RWQ@>zcK;?ywh zg^a4k7?4uea1I&Q(MKh?#;H+GHEm~_xGN~=aWlSr-v{aijZ4ADy1yl689ra$NPXnf z;q%6SD0enz9@Dpy*|i*(5P}BpEg=t)qwcoWp+G7jLu<3A@(CtSB17fwoFwDregFOL zYj`*fE{&wp^M?=Q@7!_2m0Q3!#83UGU_SrRCNOA$()_Tqz38T>wXL4Y1J z{OvXRW_d<;CSV1*Sd?|5)1rN}8FOP^W&A+}-O+@);UIfzptD3h-v}IAJ~@^&3z1}a z61=pIm)>)kIf6gB?3?lJa;lk%MA&0A>a2_ zEwB2lRFVf@|3QHBAz<_H3)P3_ul!k~@>NJ@XmgvpB{=?y^D-RVOzR6V>n?R)Qe*4V z=GpJ0F}CqM@!J`%O5Dl_NkDL$V*@X7 zF=M|I0xIWT?!yty29+J>SA*w%OK6#votl`34A|88ozI%l&q#d(#V_6>tDG27*Jh`` zVE3B9f8&NWInCN~Ydgj+W47dYt_^))ZBk5-i#W4*v6VmmJ}3L8FEo56<&KNMH^RpU z*_YwZHIJrk#m%_U{V(Iutn){?l#=?UM}zt=`?7ua*dwI-<&HBbuWS8p2+a~DN2L%S zE{}>NpEV;!B9L2+(hhdnNK9^@q_5kO2`99wsmeRig^a989_Py_&o^hM0Rs?(g{SPq^xa?wi~;-z?@xQE>v4@ zB;$K|%>o6o8M9BWDTk1*ZCtA^oztFuVj0Q)h2jg-Cbp9C$Eko3T~`Ipy+(bNFTHj{ zKEp0;1Md%WI4T>=PYg3F(8sPX_B*MjN@(dHqL6>c%!YR@^!#(v6xpsO`_W7}%23hl z*7GZKsRGY8jm+PfD{1$30Ee>0X|Vebmao?~ZD#va~oP=HkbQNG;Ph&p5vcGPy)d*Yihu&P6c6)No;^(e98{N1|D^anpWAerMpqD+;mXSMxb$4Ad*1m_m@5S?D0 zI8tCj-6OA_Rq)F4C>R4ns9=cEqa((62Auw^%PHLGotK-P$QFg;0-+)Qi4p&!5&vCc z1ANJN`AKIK(2p9NvDj8c(pc01+j^-5DIlyeQwmYOij*bY4||=_bd2581WMLbiX!Wd z=n*TPeUdw~5^(h7W4k6tRBOTE;JGG7vo9ZByF>Qs#F^To`!d(;V!_IRO~83N0O2ua zmHptu5^@EpTKK(IigoQzrQgT9lz2Sq4BM;G*vfkkt0^RJ&YTA}I$R)Wqz@^AD@19# zI1l?y6k-Q)n%_&V_~`upVPRD1FHq1P1ajN!C-?;P!D)Z}m!qLc)W>Y<=eV>XZ0Q0li1im+5f0yse23dY^A|OJasIB|F`gLS#aZ)WDDhl4^2C_XjM0O_2luQ zlo^?@NN(m;qR3qHv82kb1Yx2F6yUdGhP?L3aUW}GmXw4LW4xvUVw`w?A33Gj@;aLpR1wNXw|GOu09T# zZ>$OIHUl>F;OJ>avPdr-PtQDBq&K>j5OwBSNeR#NI%(L~7~#2uiDE>A+B*-(KjR@( z^GfFuzqQgMD5h_0AJB8_&-ttUX<3y*P6eI(d}if>N`!#7PKGEIP9=XXte+fE`S}|; zWd-eWg_&0ayl=xvA()EGC-1jIN0tDE3lzHm zEqyS|$Y=Bf{3ca&(8+7+Go1K`5~GlCIjivoi1d&EomUZ;E``8%Vpl^x^GQsj7X_@7_x3W3py6v%@eRBzohi#waKCnm`i$9NWO}cz_ z^-cfg?eWrqz}w&=$&GuLAg}aGCwtTME7Kce2uC*Nm%g$!mq0+`W5d!{Su3kD6~-&Jdz63?jYgi+g}h_qy}9K& zl^cr8Fp0@Ir8Xn^0I4A2QIJaS649b-N=mvYd42V6rz;3uMj`x_N9{BDw*1&qf{~{Q zk=RVao11O~rcCRK7w6T`D%i#E_~HUZAFJ&-dIDF&WJBPdjrP1+1kr8;#QV{@QAi7p z`LOlqLMnf!&b$(km_+@mbDsKcI{JKPu&EumaU|E`U@W@cEL0Hrjb!Whu6EJ+-LuUq zWBgNe)lke5e^5au44w^c2ryaHpIiO(VshToGDph?mGd^F%H#RX%|5ctxtRfs z$s5=})q=I}{2&yj?Z%^7dPPKTz#Bv)Aa`UBTk#`%;w@KO;aC{_Kr1B>Tk{s}#eo{W zit=2Rp9;N{F*!~>%a-h5JL!p_K)0(M0+0&NQLC4S$d}o{@JQUo$Om!r{Mndw{mq%G zEBM<5maf((Kq*5hlJaF$f+o9Rk-v6#(b|VGud@ACN`04m7-bpRSl7t=AW4Tp_InOH z^a!6V^#0VwC;Q!GmlA2x16kAejywA_nha57X2DIZBdF_6Lf@k5^uLIWQ$- zKzm)C^`g2yuE)!Re(>b*3;Hs`=!7DXhtpu=cm2TAT z1xlKpgtQS%@sZu}3mV*tzsea{(x*+knSdJMuVf0d5`TNu4r)zIA zK1jFG*l#sg?>7j()TF;%IW~9?@)nVxE7%8vw-Ja2xFgH7w&aX&xRT=jnpgQTxMVv) z&s&?%*b&!gdElBz6Ho3CFkx|K3z^H$3(tbojddh>YA$dgfHl7RMPc!S7Ck9!2=%wRO`|6Zx2$Ul?@v(j#8V6eU+?u}Hc z?Z>5~^WDWKH@@M!^}k_ClsC3o$q$m|%OAGs<%y+BFCX1%N0qJ0n{zK^)X1CE&NONK z>JmKH%0X1ay_Y#Irc;*mKwW`;pJ|J2GJ)3(-SU zH_V=wo!B&imznDzs>I%m;EJ#07#kNzpTdmd&}v=5;~Y8f5b3va_clbK(xV9it-bdZ zyjWKmB*Ckt*GtUb|ExHcjXSH@JzApgdcwYJY6t$bu)uxeNp>V~|JXP_?X5<^-QZs? zZ(MPtb|GF>TUlXXvF$@IT$}>ANXJD0)V)e}H+?Gz`pdtqvc;wKLn9!n!6QpcyfuI{ zfOh~@Tow#DY^YlxI$Wy-Lrt&HpA^1zcn(HU_Q4P#P%l@%Ezeay1bQrT5kew5KG#~i zg2)1QENwK*wI8Djh7eU;2c{6M7N>OM823fbvAN~sImB5RAnJD;zA5Aal{^aplV1yB zJk!9kBai|d-Y)~5yxKyB`rwzurp?+y)Hc2)h*iB;>!7`oBE563qg*p@m&slK^GOYd=UvEy93kd#_>co4A?kUjr1!3B~fG5rx2xqz_1`Swcy`Rklk zkK}TmMsPsi1+WJM$LG7s0$g-d*iYCmU?#AK&YivXWaE==8qVH|o|+1GI*Alt#}5w_ zw$9<<;0QH>v$^)r>n|C$v6>Fh(WrKo9z2Srz-hR-K^AtSr>XWvkieLFpFHM$}xjP788p1%|D1t-Ata z*f5D%Pg$>NrYp6ZMN7Dk{SK&-;{fxxwD{vJv+rXn9WkQbcjB(o!V@YZP?BNlF%Yo* zH41`e_C6ZY5KTGoooVwV#EBfiyB}AQ2l`_h&lLQCIi-PXI6=ck?O}JhnA@t~s%+MA zKBJOp`fgEcW%9?=@`un+#%kV$CpI0?uX)|F+OLo|##*eI_?*_~sg@D^TMaBhYO-Nj zzQWmwY$3K?RP`jC<75i=KnKK{eUj5cWO)Ga)6UrGn~@KItynmxmuLyr)-E`l`W+Zg zbL6{Yj=AO^jn}F^b)vM+YWR5sda3VuGZiGEN+Tjdi_*@&BH?RFD!;qKq)|>rIN~9+wA3?r^dZ_ys8-VZgpT( zse8KK;$aN#Tym3Ge2I+X;Tzf*_>9I@L&ZMgeUVmcRlTss4UlljKYF24_CMphK2JL& zv2#zFZ`o91bvZ}U4wE8HTHn-E5Icw%_@L}{d_x?tYX|GLSxMlYOBbJu1OH`jENP!! zI-FbguVat$ZhuM^#0I@$cj6YyTBmJqzQ;y!hjzk7FQ?A0N<2y@luUIk@L z<^kKvnVv3A#Y@XuR~seFr*~LHesY5z60J})X(=C=ggq`1H%g>+-ilFAx;#t9hj3aC z;_l8!&L(r7tv1F!eTdIq`_ebdl+G}Np-WGt7GU_CrDre*`HJ5*a^!~O2@*5-W@8%?vgommfSe*-3uAoG2q7<} zK4E>N*IF8Wm(=dioWfNGoR@huQkH4uVXcDHQLSfGZN+8XRyrvGHfiioQpm8_%DJyC zAL3Igm4D@L-}6{7$3lH6hsL_#By1Pmw4A-dSTcz{`(nBTYi&32+4>DN71vMvoMs?Zu9@zzV9j9~0}k|)D5qnFu6&LC=6QTY060_q2vy8%!= zEfu?XBUn#6B~wyz{3j~pWFIyfprrWWFqQj7i|(gG4P~>aegYEUh;VM1*;R2{S-)%e0XTsJY%g2V9_b$Hw7hFA=iso`*~Y98Y3WX$$7d69kp8&Bwy7*DL0El%2Fa`5!-?AR&dXw~-B zF~k7u+jy!p!oPGr$#0izX(~}JZTjodq2&M>z9X;7Gb~)dCo#pP7buS=RDkXR zLfWlkSwOE~-xj>8JMsoLc8MCp+^FGfV1?g>q04&|BbteWA6Q^#9AD!s(M!b#oCgtc z;W`sGHamaBr!@IIZsK76(^tL(y&Q+XT#KMzg8!*{LXFISS$8--o z`(Jm$vuFvd;qM!z_QRbMN84<|^dtIO^aQ<<4vBNP4^JB4`bTgN)#2?&jCufu2e#QCXTnU50Z0F>GsJ{G;96xwF zL8Cp!tE)rk<^C#$kikpy=DeV3@G=5S3pve9yk1qt!TI#q&Gp(5{0%)?p@pKVPYNo9 z7YTbF=JnqvmP4|>7ez{Ata3pOJq(k(`4)?jhsl)->;CI@Qu*~&FN|OKM?&7-)wOf2 zaw*k7g@t=~Ataw7?9XT&7XzjXK6@IK`GbWTf+~8{UkWy%>OOmlmiS!l$}n7}>l0QR z!dL3_r=3{m{7=$r$ud1|E(bPZyTkBsdd&-ye2=tAo;zAm+59-vMJ%znqMFJ7j=26l zjDY0+&zyAukl-^HJZ4J4hKI!_8~ZCkCDNh z(k%t#*=RhgXLx(nZdYVCX3BtAY6pcNBRnc1LgDp#hdG|V*mY6Q1_R7qEa{avfwV3I z>$DE#&i2XNxW6R0B+W`Wpuo5V?1MYpJE0`JyyhAKZadjwZJ&HR^JN$ zNPvKiwy1ePX5Uu1FlnL?-owUrsTJT~kS%bwu-Vyx9mCKJnOi};^Q8vxaT&r9VHr=r z7(cJkts(}HK~~fK?X<4SkF#CgGi~SJgYNv8ut}+%|CY)y$c<;3%>FoHH@`Y7bvJ+5 z`PVDn%!C%N6zefv&nioZ&7VpI)>2=;vZdrwf7;@^Ti*f(ISp2lR?h9&iNE+IPA~75 z^gBm|0H*ki79HpSMYq{{a}gIWo;`a``?Vgo+`?6^ z_RiV5eJ=?&MZt5<5@lTEf_Z>Ye=4|1d|$(jGoJ&v9o)v8n~7o&<9bg9U?WXg?2>m= z6_R#}A$JWFMM+y!g-^D=R&*LGX*~~ZQ-c9*i;^YvOP`QduU<516K-j9h5I?`pYl|Q zxmJrzP4>45v%T7CQard~G|Cqrcd058p$Ci_zOjuX%~AnzMHs`^wKW-ZCgp6uNk^d` zObF$F3p&5f0CpZKx;xDZX9gs$5|gksWu5*?;8t3EX$vQZ3D2lAzR)^MYesZ5LNMyt zb?1|-_Ov12{ktSOJURRz*O0JvEtM4(I3DjeNQi|=xcjOKguEagh|A;x7VcZcu(zGA zueOo9SDk3|cOyWm3}8s!!1{9NCGv0;a`fc#VtrK#Mz(l@3%kE}=S3WPgZ8m; zo_M#bWCev%WM$&Ir7+L>%>F&?LcPuxq@C8B4FMBePn)y?NE~=1FBUHms%wLQYczvg zi3C#Cw40~WHg);lY+TmZmS5A#t0K6VcB2cFwJ8AM=YFyF*05^$ir(gmlN_+n8K5xf zg_H8j82h>BrO!4C$q?4BH2|%h_ia&=N@ZMQ*San|XElnn%ce&-t-RUL?Xt4F<^thV z1eH*6&n_m##J=F@Ys+7OEKJ+cpYD3;j1DbCLC%C_b#2wl@k^(@P*R3=8h!C8N+gX4nP1+49QtZF12BF>0AHxy-= zu>M44wEYt_#;I0xPoL7~o5R8wdgtR8$ETId%p6mwCE6=3KYu2D1+V^ggJZM-M{XK07vM{T&Uii3Ea*91B^IN z2^C<-@T!2Siszjb0PL9s^m-2r`pT0HtyN$x5Wt#S*8_^FanBn$_NgGOH>rVgMg@E? ztfM}b$FEGDJc6m?;9?2k;F$B)9pVk&j0vJh{*aGUGW zbW@93%+w;1PDTlV9I^X+M@V0LDZTc&9DaJE*+f{dO%4s9LT98gjVQ8!;GR>@h+(yQ zyJQ2MI@3QADN&7w>qh1k3QppOuWv+CQa;8pCAgGWyz-pnX~#hO<&m!1=PMGdQ0>ljlgFHUS#wB zOThYwD1MhhIVJNBoXqG|4%d^-&$1giM<*{DS6R+^_dD@JXx*qD1=vOS11lG7MCL(q zr(;>DcaZw6&9BlB9g)X7=k4`1p2k*8SZDaZpE~Q|g=>#!Pw>l!52Lc%9G~$h@sWS` zhB44cW!rhb;m6mcfsHaoz&O!)Oy@o^M3E`ZnR4&GU-xUkJdm9Gzl?L__JiOtfLH(U zoPX=NvrLF^zy(H^dUkT@nS zEH}%!k26bMJ`lDXH7BVP4?JYQr>65mlaUxr+{j6`Zb8Zk&!l;SYbpH{{X#)FY=fA<5`{~+Jcw;Ad;C7TwnE0j5;rqnFd^t!58{+&7UkeF#& z_KSg(rNKsQSn5BlW|LVw3n6(Q`_++e1);Up%1%!inZh>zW1#1ML*|w+>!8>d6i;TZ zYeLxq{a)qb{nYIpKRzO6i|0=|8h(kN^)bNsLDN!2-0XUujm7Ky48V{Kb$+o>y0A*g zF%8v(w&Jd7oAN!t+{QmloVT9$TTfeU=tLga;6;a*x9USUVu_IN-^r&>m6j}XhyG^J zlTZJ_$=o~MGCCh{ZasFPA{?X`i$vv!RRsMpE5EP=mOK=L88(UjLp0ZR>nmQS&IZr~ zvnAS>cS(-v^sWQJWV7G%cR z15SH)mPed6M^M(gABrkxp=Zgjq_|J%{-LWg^9|8?4;dEEepY)M9Dc8FO?H8}`%2%B zUR3{$)@p6HO)#u~PaLC53kJPv0>`3LWUTqHWv>JZ{2GmK8pcP#c_qgaGq8VfpB{%( zA4d1Hvh_NKMdK2bA+x7BqkalUWox|VUh+Zj$6h5hG(1*~2!|_RmWi2jU+1XNSIVib z(hS+Xh?>Y#CkFKQuw~|DU*=>aTUq=A6;Wcx>~BbL^2L2Spy?0br*A#$QNPh%O&D~D z9CF_Q(&OWS2LmF+71JV+X5^OjuM$%p0-Bvs{@m!aDDItmzE1TjUShk=YiX4ll5UnS zJ={K18_9dK{BM9a_9fiSkXt~Lauqs}T*DYmbve7>LF^^|@Fv6TSx z?jIm|E7Pwh{C`p8h0yebzXW#Gq!(E;qCfthZxDr^$ zdo3?eDrOwa`15FWqW0k;u+)gS;)lP1`8Al;1ek>>jS}Op>To88lQd4@|^1 z#;LbXtK7%&&^xbAoiT;xGHPvPHDTvW@+y%zZRNJ2{2aM^UQuPu7K^TawdZ@LZw{^~ zl?nKh0VDq#$&96gudZl4v6E=`*|*%u59avzU5SY*bQ}GVk7u|Dv?e~L<)jEL_t9`h zIm=Z^y_cvrU7|Df#U@3nHv4%`+elQ%2BI=2$+~Yr{pamJF6WEeUE#L46Dkk%rXN(Y zSATIu`Wh zD;Kl!{(oqyGO1LLQ$rpZI_nqkT{M$CACYS`G%lZdr5f~A!HnLLl=Ek&YVHf%JOs~x z9r|pWj@HLHy0}|bZI2tlmij*}q^Yr`qN&p4IG)drn|rn- zOBNHoF(DCFsqcW|e|`K!H>k3)?aQmw+&fPXWo74H!jqt#hY7w~2jenyxc@kNOw58D z7413e13IyWx(l!`Uh!(BGt>92Su!)w6Xg2!GUzD>923(Jxel~bHB?Au+=PG(S>YP0 zfc&l2nX@X#Q{sO}LR_vHq8i=bw_=pSLVd+XdIV%p6MMZ#zecDB+S#&TvWOw^i{Lvs znKt<$obadpUEe=CD{#qImPI89ZM8A4OlTHPO$PsO{HrBXfnQW)S2>m!t@*+`yOD_- z${XWGzZ{=w*lFU2`kD8Y@$stH@gLAMRE%kA&mN?yKpYe{KJdXSM)=-TRhZ+eztgcD zfNcEZt~zI@O9VJVbshL2I7#wL<0T8~{PHVqXUzlL0&;{%_vCla{pgeO$mD{_99tLL zt1L}hE=P}YU1_ESpZ7|;#Xf5PtTh}Q@zEb1t8P1dEHpx>JiZf)&v*9Jk784ZBBSBa zPy7t15v}j!?XbnNYd41pp*Cs|nch9Kos2ds(_25o}~H;OMW@>OoeFw3D8>>5<%;u!#z4`FZOD0NE;}5@K|bh+=>JWUqw3 zw=cVV!K9z2U_7xcY*Y?sBZo9OQ*06^^0K<2wpMUK{?;;Gv)Yctr44#Jv(xiMQUDd! z8_bzX5)1EZq;wE=Ad-A?v_s`%=g_nt==tM1FouJ^N>yjtmM93sE`^)t%Ju{H;5qCN z;+W$V_vjv$UXsGroydaa@)&G5nBlrQY#=&QDEQq=GySQEY%WgD8xfoRK(b`D2spDDs~977rM+;?ekPT$TqPz7E4&_QZm2?bRoR4E!^o zc4i+UYg1Lg*m9hirjX3`?;q!udz=b#zIc3l%z}cVHUoeH&arDEA|=MTbpgX&qp(Uc zG6HP#a{Bb}kA(?Zw9i97-lZb-?eDhgi_XL*0*Lp?sf*k{PWBs~*5Zt)B~9$WgNsGreT#Rav4U>f za)}sP7WM7lj|F&_giC7i<-5=JmZGEgZ`IJaa>0~h$wa59AT@cH_gXL`Gt}!q5to9H zH4vM~A0$J#zh&3k#|DZJ}?4!8Em4r{8q z^3$08L}K$41?Y%nUo_9>r;N#HlxsXdro>0GBjJJhymV;CdyT>*=KrXU0=%_1MgBgQ zZ8E*iF)Rk-E~+t{^=}|XEO*G>M)vRYe4S%fXZma|FNHP|VyOYF zlY4kE#zhep`FA1-hN55Lc3;y;fj-E>q}^Id1XXo5+jv`OveB&oS@yCrAM+P*T$4_#|=8L~~) zFzVc;rg9G0@d*Oj1%m@lV1gbIf-`eX+A3|^SYGCx64EN5Jik+LdPyaBehx6NoEOev z_fkIP-Zxjo_8YA2|D4c@?v49%9?QZc{8xgY6i!-T@PEa!t!f@@}19n)M={O!x* zJh!_+*zq4Qne^-6LUgcTGyD-n0*E8Q*QZ6Bf#hA)PSh39yVUmbSoXgD->X}O5OF@G zp<>y8jlViw6^-6!%q}7GfCCE9h97RNj-~S@=lJ`loGCthx-S7|_9e^b!x2iVz9U#^ zsV-qpEZ@zvvMd+Cel;E(hZDLP;mue@Y`z(Bv-@|X=7Cj;<%u9ag%qc;UYvCA;A{of z{|Z#I8RnZBZ1&r{@W~chTy)_`r*+HlJ-twc%y*Z2YK-ml04(>quLS9lxKoOV;^=ve zzqf81?h8ixTIpWjp})&m!8=OT0E^OfRjV47*jN~_e*d_qINRTU(_}3aKcy~af_*;F zd*3d@D9kjH!DmN~!0fEeQ~gn%C7%7MPMlEC{mHLCxn=uYUS*>2Vuhd9fO}4E71_Y6 zj+PIuQ%V7-y|VbOo+I*?6hFf>27++U?hwK8c>(CKA1n$KL6KlpT|Oy^~+SI>7Vd*pYg%P0+OP6_R{;sY)JY~dvW;1P?TGg}L$Fkd9S z>|qdiP-#O%HFg}$ag}O$b@(r;rmr4ad^kF*8u022Xvh$$X}x%}qGdE^V}7B^v|-8E z@+!4-uZLOM0)!=7O}%imbr|+Sq1Ez_auZ3*cEy>Kkb&XGg;%j=u`0x~Pb6wvac|L4-sxxlLcBn<2mT$0!J3vA_TL}jhk5XxPt3lplpS~@0e5P_z(Z$F7WW*tuOt{I`OYeYt0pXQ2M}7blD^}c zQ69`^i5H;5&zq1i^@3THGV|x-uhI*!C^tF?FP6lkx7NtU{ny{gSUPk`mWyr|tWDj~ z7i^G+PN#i2@dptvVwze{kF{|ODrRxAut zG)HHC-2{Zdk^(6NeYrl0Z~B-eQPoiO);hq6&G=)s$YplWFIe;&o@Rjb4r?~pUn6e%GA7DYI zl|NI~S*b-viJwiKh zS;}=5Bl$Oj-@e-pX{+*BmPqKVo_V}L^St^{!DKePQcOsv*@qm9^vD7tWyN4iyz07m zAF%40gYApC$1#F<*-iV!iYTR8a6QY4`E1lO2Sjrs`x7ak!P~ekp2$amLHyHj>qY(~ z`xXCY6fMt*%-rnq``slLejeYlfwY|`J~S^>Z;dFcR4RH1euL?*)0KYbGumqFwjDV>DgN6HdI+-@#jisg&i zlcS2NTQT!gVzR{L`Nn6q)Lo>loceU;Q~?aG*QpAt*Cf|Ay>ZHj#)cazPx3)sqHWZX7kqnngB zRw&FbRsYH?_#G3M?{uo)y$umcSMnb~1x}cAi(Nz;wOM7LBA*oUbPAZ8W)2v}ZPx4x8<}#hfSWLXZ*ilKo`d{48J!> z7h0qH-YY$aHSZyT5Rz~2yH||cUTj#sz7@Y|bIB7$_eSE9P6S^A^&|3twTTtWT^}pf z(CA`DEa*-bs7YZzDl_~eSr_(FI`{Q!dgX}feHN8>tnx7lU)7rmTs}UvgIMb3Xu}Jh z1sCjof1sKY{wE}Tsd&yPK$>IZX9IpJ$n~+ATuVZ0x_MT_+*$5c6xza?1soq+8&y@|I@NLOERDC?o&MoQp zo2_*G)Z-N4P~9EqHT;Z)ijO>x_2gGf=c^MBIrfFzXX~?oYbv-Gw|F&}7IX5S(qJ;g z^NT#&o6R_R7JR#qFQ~xBtvpu8-H9HS}bPrN(@^ve~4x-5|K%7@A(ZkD^51RLz{-E~BAV{CqZb zhDou{Xp=5Qzh~_OMABOCyLLbX0M85fqdcS&!pCcewaCAINYMJw0NxGQFm;k zbWeVRo7HY-#Y(gy=;KaG@Omj7Al`V6XBqxo$!BiBJ z^qq8j1h8z4_Z3njyj;Ex+{%qK6%@r)VCh+9SyYf}WS6*( zBcHNqa!^ik%HzqBMKaV=qs8Dc3v5Fw!?=K)11l|BvD}=xu?Mt%&ZOA8<>8|nU7%K( zzTpVX#Ddnaos^&)t8mLPv;}F9Dv|52iiXjyeyCX+5s`Ct-xG$7&u90Ou-(N8XbzvF zO>8l1dP`IR!>&R&fJu9UCY!&WUBnFx!2UK_>(cE@t9Hj^@p|F*$@aS!k0Cc^$vzW8 zP4n{s#eNmghZ;+uB2h&swyAX6bAoP=-Ta!PMZOYri2%Dcbd?S`{0+-QH?SFz+ObnW z8zfP^rB3$o^n$+`miR|(e(r=py!-jf^M)gui;atZEicC8(C!)R(PI7iKw_1rQ#{Up z2l6v`P9F7R2?XY(2`Bej=)RL+iPqML^O^Yg$*1QT{5&)R|2FDIBfy*FgJDeE)pSbV zRMC46l$T$*suz=|xc6T;@N3dNUU@_5PtFB~R3@D_SV0LKQ7bxmU9z{Wbspj_JUeaK z7kpxYJ1cV@mgGmebxu_@JJf0!oq{frZL&>d>z~Z!%~C$K|EwCu9borrlak@tagtP( zlG~oiGc0qORR;I{@>XRR1^F&yZl@$NNtGxZ%^c$aDet8tNDA_e)UE>J%a5Jw53&=J zul{YS>`&urtm=*vXkI`HFtVhF$5$ zVb0UQWw2)rggRdy#yo#S!~rLyAbEO_DwI>uVS)h`6DEEZtqzO%frZ?Wv2GfqMGo;A zeZ$U<^6l(=b`aon=nak^k?0K)V^y1;v!-m_ss7PRCEMLFH^B3QRygsTc-rG0gn^Nm zBPh29MlnUd=)(UtrBq{6DaMc*3!$lNN^1H4*!s$Vs-EX>6hx60r9)}ykWT6DM!LH@ zE+K++cXxL;(%qfXU6;PZbFSat|J`%m5j%VK?Cj)cW?|nlrXJ)bsz9Cm?^MS9?*N5z z&;;K%#YCUlr}P=tK!|!uG7uF$j#8@r5W>U+&netW{tkcYg8yNyhllz8C`SEN4?VUPXIXtgzMqF>mIEIB~AAFIUp zy@RuEJx^h_61t=y17?O9_>Kq~qyKGYWZ{=tggJpz4N)_}K)b`=flJ-UMMKkJQNPiL zT1}A!rEB3ul!a5MxQMsLPMQWF> zU`tIPaIRN|pj@*WOc+sK)XGRA^cHoHtz}%ag91fq;oI~S-0e0GGb66jYevbD)^o@P z-@3r`MD)-BuRT%7Btz@FXVpJ%N#umD_Ig|sMO|Vy z074>3aLDEk|U z0nbYVnoySdQY+%1)hFonDNl2Bu+NtSvU8Tc&B|VT6F_5CxX$8@mSdmx^ls{>N#5ZD zn&!fRPDc5h(yVM?$9vuqV6~ZVS^6G3j`%q-ESa*DILn}_D)Q)?=}MUdPRCbDNyDQWY!=0^=koTMke={$Ze+AsUq=Wiy1) z&;aX}m$rP)!bqj)L~Dl}DyNwC9`#tY;KqQ; z;xM6{uk;iR7@8TNP-93{6vlhUCz~J3gn;7!yey0Y2~v7-{CperF+*YN&#W7B1E~F> zIA{DK6$(WDwH4q+D$FVNRViU}>TF$G2%~>bUO=gRZa`>9ih-kxjvz@sy8(XD$@piZ zhzmuV?Qyl~524j9duvKE3&Wh>eB5&qcAU>75R1%}RRm%y*e4Mx;*W#-6MunG{G#H| z0aV_sthDawbmvfp&i!-Sn0AVNQmd4M?B;?!qrx&yfsS3^T#%-<+yAD5`XUKCYb0cD zVmgTEv!$|iOc;700D;b_JHWttV`YTds^&Scc>}dC{inzU zwkEuo7%lI4xAr6lI}366DtcgwWhoRfJc7o1)Q(0%#zub6w4^pUqi$*N#K_Nj_@z%C*i!CdD%9wKGH;P3EAGS^34 z1$+m#f!x1|W6DQ`(v!-_zdaAq<8~%F&CDWDp*GTfx3|Q?#%;_lqKNvr{+4VA)K>Ug z?W^qK$#NN~ODJ<IbP%34ZdA zw1=)DT5CU1UKKyUdf?gy+rk8zE<3F(WbgrOSSjTEkQW9*6i0(Pg*?}|fj39{ zQA1TTDd(M;;CF%tZQuF`i)}<4$VI^LN!$Jcd)E|?4Abwtf~{N1qMI>(t2wn76&6=y z|AT}~d`8u^jHW>X4@5)vU98rK;^!QR_8cy@ATvEDf{`wg6+6{+&i(l=a-P-occd3& zd@i|(xpJ?yrP$&{*35{U$Jh7hIagt`(w_oR5GH9yKm0TObGd!0d_`Yk&Ms(pgYq(Z zgY*IF{7W{7Z`W8=0x!6bEc?S@BZwywi&IpJEz)@60!Pwzu>TNf6fM$85+Ov$Tm>O0 zUaP?xoNs_e;EY)u(%(2EC%-_QzMx1rhUgc?l+So1_Z7g;Fu(H+U!5Eu+vEKxuIXmC z9p1H@E%lOD_ty_)<@{K&j5ZmkFC9AMs5k^kQgdV;1shyjb6vHnk`Yja&<>eE9Rn#L z+AVF6Ijc`rz?*j98&8yG-ssQy7o z{kF9zyl^Nv{8N4q!2F$4c}dvj7%LWs#I9XlP+N3q`$$!+A=fYWI2H$+fEnNX=$x%= zQuE0qGfmxlO5LQ)w zA7b`iGSfF3djSMsNEB}Te-7zbin)F0`(bls3Z*JC-AE}?Rl#x(xPGH){hd#+d4dWe zqqx}8y#<&W0Kn!rOAW&yDG4iUuk5Ys6W&zsT#%|InYWRF@Cq>8$4D;Qm?}iiavN`E zQxF{os;|YuoIuMC_zQfwHZ_xP=D+U-D77f8PP7S9x6Rq_3wlI6gEwADnD1d8E%#2! zNQ+vREb=rGSrEuT4Ox){Q0T(MtI${kZA-stfLf=ixdKi$GyWqiXL&%W;R1tI0pM6T zx7=ibuP?%pRah-`J?BVRvNOge3*z6+PrRE0veE?8RKJAQ{Nk<`p%zoF)cK#sTp|+I zb4P_m&@_(8{XfGIY1YiagNLBsS8yEi4NrLj$iT3BuiY+8-FXaSgL32YjC5z(=uY+- z8q}mzQ(p75?UEe1PUI%2yd_*NhsI9iCfw?qmKGMV)i(sj_XIehVne}M+Moy}#aSDc z#D0ZkM&#JGEaR1Y3VPO2#2KeI;dDe|HD@IN0h*AmC-3XQ!8S0|zOq`bu$MD}Wuhl< z=_%fYM#4?wD*~#-^JDCZ0ABDB+S8l%^&gTPZasf!!0hgh3yneOyCWOyNgQy$JFZmm z!Zs>ELw^fzkZPpb=ITEoT8!2vfhQmFB4%tp&dO@2z#} zn7WPpVWB7cD>cd%Ng{WL^{0X0$9FTi9qckMBX3#T-Jr@rP5eV2jYqTZd{3gqKQ9<< z&O-f_>}uI%V#7q)H2WL)r36ltle##*L;dunuYGq$BT}LHy246)qVLqDFUc2U%!7uI zcyGT{cM7jPGl4XLSE`IEqH(PHdq!A;Dm!S!_|I#wb$YJ$(oN;8)fS%q5>t8PL22?7 za{M#iNwLD>LD`Mat12fHtLMC+F?gsI`~EQ8JxqW)dVYJ`5g`5O6YL5ig@XphWsDm- zx(T*R0hsZb_ifANsEub%)A=TBWLrxp4y0pPi!O3nhEKY@`l3cVaU(#wbHW{J zAF&U<`6Wj^p2Efo?$4q?k8!KouG*MlvBLXFRAIy8kIiYWSc5M53_jX15=ENI(&213 z^)zxyT~}JIpW=c}P0r?}qUvzp;bBE~af{j`~PJv*^etRH}*NlyN17WC>!NJ~2 z5vQkW{dx+P74hJMrQ93b&`C_U&<(u_SyG9brq81=g)$`G?1ix0mo^q9@yfq+E^Q?% zJAN&!`0^`4tkT_%6&~vpKpLyJMzuaPVTLDmEI)ecp6w4X%vK?!ne3|HmkaRrl70X3 zP?>PM()RhrK`?Oni1Yx6{`lu#?OHE(wYOpo#|qK( zvDvexcAo)amYx(csbb9Zsmlv3KWx7neC~!LRpPC%o<*g3jomQ(8oU0Ht-M(w9G`>c zNEo+sBOj`Ek_!LsPOw*UA{ixfnp*CEHQ6JRD@`+gm$WjgVG=hm;^_VH>8js!#@@%t}w^l2$Y9R`K zqUYwbCBo=ruc$pK7AD9KyC!>b>{e0$CKp@Cn(a$#HrDCm^ESgl^W`;Nb$jO#sUX## z(nqz^q-Rt-cF1B+o1>xkJ$&&U_4eI6L(^Vy}f zPS3}slyPI%`C)>UkUMIMM#|moq~siY_gN&c>e+TUZ7<_cxwVdZ$qRk4g5@{z zg7Ti#Oc)GccEL0^9S%`P_akC!=~BvjRzL+Y3jhTE{rb(MPPx2qmRa4(#`kF{c@372>6u17cX$GU;RuDdawO zYxfNan|%(ja11@8-}Zh%)lmC@o%u`4saA>{`mzMqW4*E)a%k3xi#%?;w!g<=Jhwjp z?}pdu4v+FR8go){Kc!9lvj?>at{i7SnW6nL)XP;AqfK8wv9{m5yRf{l ziSjZ@{p+bBaVA*NYX9_>A=Ho{v=qF;3Vhv68vE2GotJD$xlBcvFAU!0vz7E!x5&D1 z^n)Lm=#z_4EG={vTEOlEOKvl3^(Z1b^tmP-kLyK)a1VKo9nSaLP*xgORu>6KE1TiA zTx~8(l&3PNVICn~W4)_FCv};YVSw&DW#12yKL5Z_L6_z?vkC_Z?+t%CmQ_bgVYl*m zpK1fQWB60Pq_H^!K znoxcC>CIhvBO>DR$A?dDi^%@};_Ho<*S{>_TSIV^0@sC{M|&oG!wWBm#osIkVe=8? ztcFwbV9x?y5nE_H{wVauxc7%4fwf1pPGa+Z5V(0b)udUED+6jK$aTX}NNsHTwP+>2 zVOW6}lc{<>S>Q4GWP!oJUtwx7I?)hN62sk&7F?-uu?w^}L#4mxu?tTp9EhH(jW2Wq zm~Xe#wyGWUxlU~52yf|!;Z4=kR)gmLW~@BLNtR`(mMo?&ztd=5xD9Z@xNTpAqi6jA z(>+w3%rY$w{I%1V>)RWu6{*l7h(3{~KRgCvA51)&JPx);qFV*m$kXgMQI&BdB)(Gy zu?TPB3<#R<(XMFbAxhC|e)2F>v8Hox{gL@n=W1PVB_tY7IG#bo=_v*L-nM$$ZmU(R z-_Ikgt$C|+Y(_pNLhx-Y0DSJdr7&+WIo8Vqb-)9r1vjFya^SmY!h&S>tRr&uo?(%{ z)q7d>c=`WwJIxH=LoC|CRvdPlKcScl)?$Nx*@4mZRr+0WH{J}W3o()W8@-#z|3o=s zsOFdETc_2kb;fVuU2H}lL%*GKD;(?f5=q)vR~Zpj)k`>9@rg9jNk0Wouw_maajaHy zL`rVG?G`eZi7|!p*aL^>U8N;F`2OcQ6mQqL`;lu$$?|^VyMi`i)7S8#a+_?Z@7oJa#YXDGpKwn!oCbQ%=QFXVoE<+7el2y}uKI5e@hAF3YMg_gcP`-4)>G}HelxYpS)w}fkoMyaXqGk?z} zWlYiU#ziOk=)He-!#^4dG4KqyO!Tpu#=6&9K&b`~Geh>0^52BN*g}FNcJn6WWd!mc z8XqnMYPiGV-Tpq;UVWK~5NDqs8e`6%{jdy`aL`AJ3lk5UuVJgRZHZt(opz1AkuO0x zw=lc8{Y0jQx3`y20~&l6zA^d6!z7eV!ta~U`Kdglm6p-y-G2mN;9xX33Uqbha}?!f_3dw+r{bHx+sWIX@`7<6Bg&SaoDoq%kpWqG?4h&8V zDebljLGl1OF3XUG;b0GIL-e=Th5tuyVdC*(iq{v(h`Jc(?by6P{Ei&$Q*om0afi#U zaBH0TFf29UQ`jLI$NLiv4H2;$Pg<-KawvM>-(w^Qi!|6+!-f&jVtZ5F@#C~UFFw-k z3$n6oq}yLjoTpro78U7F`@8j`!>`R0z~Qr`CN%$rlcB@qScekLx-|xdRe1ld3~V#`c&jZ@UaHgIlS5@E)l(z;=>+I#;Mp*o{URa{ zvb{;H;EED=F6+`5Xkx*BOX!3gdJ6b(2g+EdiO+?LZ>=54Yfpd9zr8h4@bxx>P)eG1 zkiiNEmgD_L2Ig}*8@X0;m}oqNz#fFed#}F9ZhMB!-?QKy=xnl6MiA;<=64pPj4E1A|&T)T;kc(6zgJh`lW1%7pcmVZJ$7P(L`lW=TTvT2GPb-#@h2fm6zV4nUr@%JJs>IH(@dLHr*n zm<6Pjk&sXY3%-?NM?oU;;~z(I4#%#Jw=4{g{ED7vIbRX862j$^3dx;3VkWgzcg&x3 z;)_6Tf?jptidoG65rGj?91^xo(1ImdUc}~36f4xxc=Mh%XSLp60BmvnnB8W53eXaC zqld5PEGKDrvotRq;MhR!AJFRFH}LwPn6Y`+$xjUsX=-l)oLk_4)~TcDVvCDxyVc7x z>}7sKD~sCm|G&fFxVv$Y_mN`8bE@a%bVivao6#ua7aLH2ul-5gylVaW)+yGIaD;N-)rYmX4!Gm ze6(`{aoi zld>h0Trr@i$I8BN0vxF+w2$?qVtmxkvYEKWT{tVWM$+DSi4vdh zd{>W0{q0sUu#TQHbx3OIK~Ce|^PP(!?-hnAUu@KrshFt6LtX4ZiYn+UxEnd$&}*vM zonzJgohiUUEVlQ19i*ZWgcvaUTgm*!K!CIJuGM$e5PymHjH7bNg`1Tfe*K$wdB4T7 zO@osuPwmZj+eprGt&XSsO>hWETlD&?zKJ87Q=?-$2l0E1^6VxZCuZHa28*w>scHR) z!ED)=)Hx+#%4_wd-3|@X1;lAAv8-ia@Nmee)p9;c9c6aN)~?y;>5XW|CMR$-)aseX z7AP84>`P$yvBb&yyrFJtCp(>2--V+(VqUb(#h$@#v6y`#t@hp4ZC-zF>3eeFg@in$ zS0)+JQ=nW0sRFOBqxyM|@I$aWP6kgyM~XsTL!QQi(R8h*lEmPl7Vn1 z%gL{FS#mU51$S{P4=+lsGyaatcfV1D6jq*qBgW7a$i4q;Ki;CFmMjnq1MkDT0@HVM zvK$T4A$$r71acRhu8td%cnMnZ3giNszXU^g4Z6~pzHnaUNkRyKqNcd^pP^G7@l7pP zN+Iq5>N|9BN&r257dSlEkiiL#029PxdVssX2l48R&vx7&xF1KXe1U?Kf_=ZXH zJs<$zW4{-rU{@e#x0td8sVi%5g3>$CZY>dJB=gG|Iuijrkietz!m&c?Fc??r(aU+4 zn)%{Ul0fjTa*~B?G>OW|LD>xgP>Jsx?fmTXN*9T3-O~c-jkp3b0FLYfVp!6H|6j?? zihyG}3pw1HQ-(1-hxb`$!wo76j;ovszT}*02sdUkBO&n;3B0F(jW*b%I^U_543vKS z@5u9`9_hBSu*2&l;4poE;Z)|>WWN?m@XXWvNG{T!PJ7}~_ytz5>^n@iRR>d;azxPo zNzhK_hlbl0@VvmBQ;E6kOoxoYIY~K$0Wf@w9*?Fz6q(^>WL&un40qZ>>Qo%k>x}h* z2}^b6wO!g^Iv4I500$y;9A${^D@IOLQS${jYWb{&p3(NSAU*J#_tYcs0dc+V5i#664vQifpxGcS|>p3XnpzRR3E5TzOVt-f?aNXteg-M6iUcPIlGwX z_7|5Ua`Gz*W0%^MX$^her_$~5x3`6PCI%I4=w6q;9KCZ?B62Bij3P?^XD6T$dX#-- z3Rtq!ZE@JN+t9Yqz2a$yWig~P#VL{MTo(%= z7l46!0nq1{IS}p-kz&C=3Wue30g82W3>tKXiTH^A`T@ngZ2e5~sbH_a$VU&XQ~?6B$4=<1~z&mV(TY1WkUV zH6Q52hO|vO;k{nO^qTL)UfP?2RHW$!qc!|D9>zy}VbZAxr53U^YXHxj4g8CG0lU!h z5NwJWXw_2orJeM}szRe~b#RNjKzRbSA-UKQgbMHG-UQjF0JcKa$7{2Y=$( zGBc)@2J&Ln*q3!2 z|F`DO!JZ7cLe!T9IbET77WU0dtHPmuegXF3EHEy1jOppJghRxVOt#t6@5b&2#4Gv? z2dU)OY|~%UAf1T({QpzPFwG@+M5p)zg&dtaK&|5)y3>%)K6^XSthdVE#+_6{J5c4z zDPr90=o$+XJIx0fo-#YFK!3BG#;}QL4nW*k(5<)I?Oj4{btr?=oN1OY{g;C&U5jikly=)k!+j`e81s z)RTV?otqe%;=l$r1wF;iIDHRnclkyG@3j>N{Bjn5F#sjv>K9hWax~Om30cVfOh}mvg&` z$)K>Ofs_-SN?X*r4hN|1-?_Bd0q_jDn%#q0!BDtxr2ch}d9?Z$i9t*BQnf|i7=qpV z?9jn#20qT!H1UqQ{OV97Fkf9`M*7jWOuIjZMl{~_mW#xD>2CR@W75C+{*ns%`}FPh zcF+PYMWu|Qh!ev#yKQ0Hm~wdSO>gc+QhZ_1t$ki=f#5i~r_CS0?zytB`M@cHJ@u&c|x@T+LQ{;iMb7ejllxWG}RGXymdk z_lRqHL+*(g7;EIij%#|QX#EH^F(WjMtF0h6q=kB~Nx{Ng#uCLmEzW~g!nRv;XI>Gy zedIm=-j9LHm`6NM^3fSofD*%u z76qs67b6rn5zI&G#|({(BtKlS+dcLWXWIQ3YxB#KW-6v7M(XNW_#Gh^3htE@IF9Fb+}c=l*R^ zIxStc6eMb&nfpER8@9f7a%q^=a>L-9FasGvHjN*aNxE}0J}*$)4|zI+svm}63G)6A z9johRNZx+lVT1(-I35FVOpNAK>Lp!vEzLl4Hv8eB&O)`#RFl&q319vO;9^aH6NI?x zZ4v;WlX5sdPrTGgtwFzYlGS1~JcX2RZw>X$=Q$r>C=%d|y zGZQg@B!YPQ0U80|I(U%`uSs_x?Rb#OIVQ-`rRJ41@ALl3U=dLxfmoYljCRi1beTxO zibn_U|8vRVj;SO|3 zShj+SuB&-He0Flmsa$f{FEqwJ?OS)Y1tSsIJj)dsGR1i&k|WXLi^5N_7?o=Fy8$Ir zYeMJ^0Pebk@DdBU&Ri+}PB^lWvZg_Ixeyq^XsfKLYnteT9L(EvaxTGftNNeOv$K{D z6mjrhqc;M^@>7{!B%@i5V-=}Jrv^&to(rNsi!nth)py*fMc0;8b4q0z#-B2Fg{HMQ z4^8Iu8_thui6?0$X+yyxZB7HW*qrz!Ei-HayTY0f|2jkM#uO5L)RQD^4CBGrSwmgJ z^=b|GbAgo`<~W+bD8*lgOQ$m@^u@n9{=j z0I^y$-ze6z41{6)H6B&c;bG5jW%b2sVw1CF3br-(5?zD8>wtSyS-)auZZsW~=7k)1 zl{X|^e@kzy*?%KC$(Z>8$3v|sHqo>`*I5Q$#6pz(!>9X$PwJ)#-tHwg1+v09PgB6T z+AuT#0`6Q#QXIA$m6pr#fz!LO34(`sGzmboH_kgu`3+i#5lgJu~;o!f41#LQWf)e70O~mMdH}3WDbNSP5FB0e zo@$XOXY68TUQrq&&{oj*b1+cqi9(yvS|8qD}NmIQW7n+ z6?l0m)_!6b1LyI2%cxm{68kY6lOg1W6&he-_Q6?{yrq#4d6AoC2wIs@YV&aAIVmH| z?351@N<2_Kps|$bB@O>;wE=Sx&LZi}=1msurOFW61v6BF_?*hDdj#XN+sdh=Ueiyp zP)?PGBx&6WRKo?SSAA~y?Ua}sM!@AVB#gzQLU>COLHmZT9h_#deH5bGGs?C~)!==r z!r?h!sDm$#xykzdEx6HU{lLDVMXT|hcPc#u@YGPf67St?KTNpJbJ54kdLGAwh*W?6 zg-HR7$PaDDwKFm;n~>50(E^yPQ=Enh!(h|*FVyZg_6_AkRMavQ zm~U8SzNwt5$RTO{t-*owrhe=<$&WZ**N8kXk`Y?W<@WcMB|Gg~oRtK?+V*#AfpX7* zs2p*4kq@Ma7AYH%M!bd=YLt5@S3-`7mqHX!ukgyZbsP}0ncMxuMYrl*tfguUnEn(aYZ;AYyy3&Q&a z;>0MroTwWij%kfW-sA_V2_q+TEk+z%P0a5|ZORl$WGz^}@&19RP|YNxAPt9ngwGE5yi6*kObS_dR$ct=(T+2?JNw&}KnAcf4eJ8lty0?(C+-Z2X}?)fQ8U(86PE>sP*yRobz?xn4c<&fX)H;%|dP8UDhxF{P5-o?%@ZO44a=Kx#~yY`~%uhoLwZz?t!V=E%c7m-9;qLPj(4ds3E z$6j`}1v8+4RaT7aPq!1fVzgm}Q(dbaVihZbEpRZG{xP5X#<{vrksXhIeYuGEHM)pn z4rD@9&~nPR)HA>DtzS)Pd-=9sBj^WVgjTW~W!t!QI4$Y31V!bKCHP~{LyLAMc1x#a zVqo8*3=hpY=BsmUWYFc8fl+PU#(HSlURLV>1n(0?I(fuPRY>%S&ePERwiD=z!hV>x z;bUA1YWQNC#icJJs#@-CncK#nG$WP8-d1H^rf^536pK;o5y4rM%j0TG zbnn24$uI8AD5D@#3Nd{G9(SdBn{~SRHCKP&RdgN9k@UBdTC8C@M^WkcFu#Xx=GVEP zkxYnGwWU`5aQR`|Le>8BV~$b+o^FtNgXU+!ov?2cVQ*6oa+`ngC7YkvN)=E&)Xpnt zJ*V%=2k&0~#hNOyS@LisA&Rrl8W z^ZTG6?Rn@)%9u%3MK(23@%A+C>}(y%#q5KmY`>P8m~r%>R%E^*Zt)(L9s2bPpj~y7p$^buhZY>uSZqnfbA9U}sEspeb1=Ve zJPm2<5oMVMDP8Jsa=BvET3xd`M(^Ihy}3q|dI#~~!vIr;RoU6yvdf?epGQ;cK9&w8 z*3*E2(cW0v<*)g+uO&I`s1Bt`tgI=iEXd`C1R7dt!>1=)hA&ea%6Rx?N~CMB&6CJlW>_(U_bx|Qydz_ogSQtdEbzJ2|-J8&mH#U?Jrrrk|` z&t>YSdh5!(nZbqiR;hXwPQ3hiZuWBM<(Y3s^?9`;UX=S%PaGotnFKMckmj8}1^fgR za&93_upW~v3K0iYL56+s%4ORb^n|f8gGRpL)zBH~(`2a=P))@Dov>?lnK|1Fq$>F> z5xQhO8!Xj_*ihK{n-;*x3d~B)e{*X2fNn?aWg|^~28BV$PyuDK+dY#8gEKPZt-5^> zFbipPQQq!Oi)@_C_*FFMDZ~uM0A1+L=H=Q2D%th-{D;nTYbeC|g-l+B(cJ0IP2SBW zJS{JIuX=)M2bXX`FKf4h0K2ArOCe6eqZ;m>aHzWNV_S8tX}xrLDR^84y;N*RMYuQO z^E!$>Khgr%kjr4<;G5a@sy9y3Y&WuxmxUbZ68@`5SQsIHuh8>tnG@xhSA<|@ZC6aW z%xG6Q@8P~hXTpK0qP`4yTKIsjZZ3BAg2nXYv<$HE8!KI!a)b8G%YUK}+Du`*rOUvsQ3Xs&d5@GWnxyuF4-BJ=imkCN`e|2)yK?$UsZr?a(qn%y+I z&@>~eLUkiX%a-%M1xYPxJ$F(2Ykkecm(6tol#H}oYa(e;ZST3`GDTs-re>3T^%X^ z<(|#Gq#MxIm|l2G{iWu4Bv$K@%j=tk!AQMzlxD|^SJy+=KR>q6QSa=E(B8OXBzlEU zqTR>2dc(!J;wYjEtD%NUC#tgzt4@|0(Zd3L??#cdk*0pkoX$j_lFwLI(mboY#r4-h$)G&OZgij(Hf<%yZxzl@NE)PF^A zljw?V1CTDrrPFdxFi0kqQefoR!#b5*+2?Lw>^lG`@9P^b{+DhI%MFzA7z$r z%Sx-PpfdF^@_@J7^~Soe$O^d%cfoRx3fAWcJ}?oD5f5Q}kYlZf{KbB^<|5 zDf3P=>a)M+IV{l-ER3_cqGI1&RzI)A^Js@hRcaHZ1s~CpRK!)myTn}JKAM6f8$;jU zG>LlJp#5mn;bG8`OAJgv5!k5XhC0MMH42{3k_UV>9gQIKII6jx4##uqR^dUaj(_lg zvxK0LTTw^%mUX0Vp~0-tz969N9mU~xUv)ncAq=hO{0|+c zPOIM3zNCk$rAlA)pYLuhA5av4*fty@OT(ucCa}dE7*dvA1zuP1*JbF1{n~tkifP zo!BYt-nyJl_eOrIu5oXW*TKQ#>6&c-^fa0<+|8`ZBUviocxcSuvG&AmZ z#R=b(nBjXWneC9Q6nW@j?O1A-0F@BlntK7Nx_@p~i9kBG-JPbI%d7y2&oy4lH@&(q zzMi;+hVJ<^BwgP8Vi^U?FN1v2SZeLtutd>#n6CnAE$@wQj~&M1LHENi#BR?CpbJ*F zd9JmX(}@F6@I&4^eA5QnvQkfN@U zlh^&QPF#g2$LLDqeA}tKd5dYsyOl%-#xBH~zW%QsYS1zbU2x^rGzM~_^N>)YZmRnX zQc(W)lXyY$1lB17JsW!57*8kh)}RnNthD6tRd)M8fjw<5zGT`Tia`5(317yxRtsS3 zBHbWdbeNVjV2qM%O#d5aT|RX=&13$Kwklcs!|p4eMH-$tc${aj z&Ewm}I*)|Mo$OEq{RJA-JY#V;qr(wi?j`3l&poceQ=XQXr$AJKcpI-HO?C1<8dOWt z5StJLrrbrGm%Z5+*;Cg7uA#J3Pf@o%SspL+1y_fuc}LI%POqU=;@7kXsNVdsDit2=kGe&X~0oG_fvypwVzu$$YfooB8FPlo$M5xc{7YMWTzoV^xhZL_WKiGn&weg6rE3& z$ljt7%FK1DJ(|diE}c2bpJjVF@M@ay@Z#!y_$Qa)@g9)l>RA|mg~Fm9$SOgq;>10T z>bA}dz%t)Lc&-vKH5%KBZr=YBLOQr3G@5dgn>Q>%My1rkB9-FnZSRo$jyG7^bQ zswsmXu80%uV_G3;2Mt#l7m9pe%;tjV>WrAUp8rNm#_UCSkK{~k)m*b43vAtRgTEG$ zrVW`Ny@#fmeWdmF)y!5&`3yo~Zzs+0n~S2u>^-u46_$BC}kaB!$vD(3T)JZMop?gV2@ zbngCO)%b!MLN$)*nOJzAt7PNzEvlusUM_p-C74)8nlaAY`&)L>&Riq#HMnJm3)DZ8 zr)*_BUdfVw56|%Eaxk1fO}kVDUCb*O{{Bd0EQPiuF6-v^IDyKiv3B>sHk>6q@#j

Zi$0FLPS5b7vbHTXOYi#4@BG9dkHaY0R#3s)FElPYf z#Yj$4`QdEGi-z0I+2gn&Rbj@%feGofOx}=FvhF}2-M#JQVW9UNqZ`jI_py@7`orAp z;8xnHWB)dzR;Q;nr_JyU5TR&YsIOLrt~ayKP8YJkX^OwDvN~~D7N<2TF!2uoWRFl=l?)g^F*!oBPYb4rjIwr^@1lH- z$ZKL&6W`<(}_Z zfg5sbUlZSukFe-r;3Z z9WRW|&Y+G4Rygm`D%lhydVG7oiPfGu^CB4G6`C93No_Jz=qQc6CF9Z_!-gEcy=QmL zHqGSH4kiG%n~+_CXU9hCk~A!4)iq%)0{=L|HLNZFYL}C`Fv7z1aX-l4TR!hziZ= zBZofrhxPpQ=A7ZGrI!zY|2Zu1oe88fasg~Ae;Bj0f&ojKRQIxG_ z)BL$iX!Bq{9mYmcF>ddNecwd;>@qFg`}{4&Af3p@pIvx^ghyiZt`CZT5!aizGt)&< zyTyN7UZO(UPIba}z#yaLBIaR0fE>cZ{yo$w)$Q+CK%ELfFi;p$Z0n(%wfCiY#})e0 zq(p_XHAKO>0#yvo9B8@?i%ib)wkapND~WF?kC9E$GZ&IhI>dtmYFAkpYFjTsPvMV% zTjD-v%`u>RL&WaNfZzz2($q)(&P;T*_}q?^C4t)Ji zSV{X=qL&2p63 zHGA+ya!AG704D1cCvAE{MuwNv4Q+JZ;N(unUv8gK#Zwh^t|2VtpKrj!RZXXf{L8Yy z2xW~{LMnn%kiB=Ln51rZ55eJ;aRBE^4aizKZ91S8+BDYZLrdm0P1C%rHAfwt^t7Rk z5ZDtztJFy^X_H)#xNLHCqjH*ebbG@W_A*-MA&z@N*ALIk3rurFJRHyN`dPC=z@!UK z8G$o*5ubCJ*P)s+_QX(IbcqkNM5CoKvm9Twh*ck928}SY7sVRGygxy-!Uh^~#Uh0h zJ{1%AX9Umd_5%qJjt6-IoLg`j6TQf(+;s1h*86$FnYDJvf<|T8JEBft*;l;4g|`T- zC^ZXp_wqHC8p#+#De<6@#<#DRJZ9f zZ~`kEe#kLE;Jz?+HVU3w>1$@BacGdD3-0+qLDCc_b|?q9lsVX8-ugUyfL(n4b&}C? z$t%24L4z~^f?`Ea$K_5nj2i_XSL5{4NafRUv)e!E;{e@{`$M))Qw!kG7tFh{9m*jJ*5;wIa7HvMs+?A%~It{iG*BxNQlx~+aGImBK050;!N~cUS8cw-sm{(uvOFi zA|C!jH8(DHrY^lJnEtlfl^qc9(R*wwwt|HG;`x3GW;`Zoaqt{cFn{0)qaTDWEs?oa zm71+ZtI`9tz?-EtmY=ufmSoesU75rwfoqI!5`jBn2dlRFp<x?AsanMD z&RQ=Ub`JRNzf}>jO~C{p<9~Ge;k45bJQCJx=d5?Ky6C8^s&y|dUXb~LLN43LgjIP4 zFc3x7oReAfkEpEEZAS7_rm`g$341vT6m_hUtfGLMrT?XqK7=vD1-!pD)um;oe-tFo z$pyN>{=5O2InZqlL%gpdbuaYAFBJwTIXV92H z>(TnfEJn4{QE(zcCTYsyAUx)jv;)UZY@4`ox5qm8)?T-RIW8vcz4=84WQ`Bm{zv;e z`;QPZ%}mX~C(Q4WkkuF7!J7`Z<#ln~pNVnRgvWn2=5;{+HT(73A-+1c^IQ}aHZ(@& zxm|&VLj}EzJYUqf zb=HC;5-LO>#6-4;OqVZK{8aadF{m>xR9c8lAwT&d(D zJA)|kFTxDnqvw=|bPskam_6*S`?}7lGUGBK7?uBztM3eJa(UiHQBgq0Sy^HkTAv6J{_bPA@=^do^-aAMq^w0wY2q7eSpLovy{5F# zmtcnY`ShOi^Xtzh^K6G9TQA}oub#gH(@nmUum&hh>#M<-WlGtB^%#aJ9JF1#GG@Qk zHgyUDWU<4(&{3|mIHN}QiYVOOrYSxkk3~mLD;m>flHkRm_X1p`RW8jLG0=xUW;N(N zenpo?Ajz?cJw~$LDgLXnoQLYM)&4xyj;9szc%Tm1Dsh50h`U0V`!YSsZ@plv)@rV- z@#hP?2p5Q&18C3^T*^0*zJx^U4(as`cjrs1 zYmkl5#uzIGtt+p_#0FBY){J9k#3=9Gi?$K8tm=+a_ml_@XdmCoCP_IlsA~csN+}Q& zfOXtQKHoXCN+MpuQfMK=(@2srwR@O_ftHlS-4r>aLiQ%2nptW+xl4O3YPeWMg+hB~ zl+kM6DECXT&}RaC?m!xlJ$=^pm^b!*8(^3cCApLz2r8O@{ zKog0W=O1?L4S`wGt+&U>^y2AEFW=s(qu3Cy3Lo~`N4Py~qqkXrW49dNt83e-E(+fF zx^~foUBu$S)~B*mx9o*P=2-V z^{N7Hv4COmuWdpgGhy0wfB-ur3N~@xDdbO$xj$eFmy{RyJcA^{p>aI`+oL0r*8VhgqrIZ=VkT=V>|8ZYP#e}AuuTG#y zw+0#N=n9Sa4Pyn2?%VNkH!R4~#?W(rA&=YA&yk2WQ{c%TdPyF5n$L8Hb(Y>*JF}>A>71CrXRyd9Bzd_0JGr_@Q-hy^KCw5%OfN9@E3tN z$Kr zUytDtv;|56?Y6~K1JWYYG&)=l){I(x4;|1&IaxpTCdI#GU>I~>SN$ZtYa8nHy>27N zVL4oxa!-|YtTBJ7!9Y_uph9yPAK`hOZ-yo(9a1-)mqsEu-e#?sPA! zui|mK8{f}``4F9FP*qe+g&x$TCi6B1?u?l%2KisxPkCR(euBj)2=N(>rlUkk+8Gs~eWv`SDl>z0#c)S)5=u!`NdG zF1TZrV_`Ubq>$ZZ$~BBOsNjee8;bp57iJh`Q(r7q&f9GW1MX^LB;yBrAC6F`kl*Gd zTMClo)8a8YqHt{`qXD~3HQ%mdS~6jeK_r>s`=-z9)(0gAJ@eaIDMy)_gy+=x`6X*A z30g_@)B3Uu*R_Gu>$KFJe*XCaWuc3{*4o9dcjf+&5R9XCxhn-Iv3iqLFmkyWz!??H zZpP)S_v>Lg=hpaeXF{fB`#)Zn>mzGJE^V=hp}M2x!envFOhb+;Rg6&%fMDzW#gjw} zhfI0Iv`EnQ*iJ2u^t#jH9|X~PQ3@VeM{>6)`0b{)OXE_Uo*g{{Q912{cld=oFB0`J zE5G%}Z{SGqn7%nY|CI(cXIz*N=>prx^qrvdtUTGIvxkBE(lo=DI7~rM7gz8Rvl2^mjvoxty`u1)x~fD$HhDVr)0UU zn`H;Ac~xoLT$z2uIE#p}hmD72k z#w(G?L!DA|1a4EYoOi}iCFGT)-h28b849l5HYi(?d*1_xKGvKbhjg^!S{kwey#i}9 z#yy+T=GMb(Q`+|uiE}`k_BDlE6U}}Ad{l6M8=u?0boB0=vag}%yi#p-Bu@5y)9t;N zp?#Gn71x=CGlwn_0uiR=C8iAX(m1!Ax>uNxT#o!)>)%MqKZWdf6Tekl7oN9WV2rf8 zcwIiIL)1Q)_OzU9%t~NW-=Frh$pwe?@8wtVK1r~N*(q*p1q)P~!uO30Z27__ZcRZS znw1(_TPV_7ElK?7$(O0%9P|44@<0zWnb4zn(V?=2k9>TiE?W6=pD1ROz_gI(P5li|HhokSUgHv`o** z3MnjFQl7XQmo3!&8~b%fuCD2lzTwCE)5rHb4=P3AlY+bPDk3N}6u@(kDK! z4)s!z{Isf$TaaCwP*IGczG&m_2Q)Om97T}QpCxYhxHgL4#b<*Qgo8A*?Gu~64K`ER z!(J$_SI71(EXSpw?nmd$*4x}-C}`khd!Os3Qm69_UNR;*^Tj93+?7(|nah*X)-5IH z0}j`}&?>a45u_@P)aJ}==!fS%HDa+tUb}so-vzDqTyS)Nd?9cbs&jueB#P4(GJ&Uw zd@#7naN(F{rd+7{2xSD?dtVkFAiDSqwqHHZO@q>)+jx#fj0A}(L5^6`*}O5QF1?(B z&}7e%2?c`8*ra_(u6Dy&rZ^;KejiY8a?(+bcrPIHq>E=Y!qzp&ZV3o@rKWKlvY9sd z`RGL9yCK;msj5GXn``gFZFezV)hS2<;k8qnj{M+0Mun%R^9d+ofG<8VX&SreSg)ME zduRpf)ErDO#e@>@vX+zzOzGUc#xeg_AjA8oX>;fOn5WrgY<)=tfxS&N$K?@O=pScY z+P^A~YdCt2G9$bTzu9#)t=+Y5T3162m~tnuh#nsP{icAQS;LkONLO31j~FrNdy`+L zK5R*8$Cm)04r;f0HjgeORRT=5%gM|$6+uLfyU;JHlj_-7AVQ|{rvML2slw^SxwKrY z62SAQ)ADjB$?}sbK5GG~zAL1CB{4W*4O&SmsVE)g1YhO(ZwY)tukn?3deocFPb?4j z3(F0=o(4sGpZdXiDsWqTCd2zWh9Qs*zI4TM&;S`gUm#=J?$=0Z#b%(eFqvh92dd_t34{yva9oWVP9`Opq&hO~D#MtOz=yJ59 z4wn_|OfJ(zKqlJPBXp4;YtQGVjA!n>Z91wfVL=a~0Mbj3sUGC0>5zT0F>1>=wKcN7 z78p8V-ThW7Sajg+XcoP4$)Ge3mhGK=Z~a5lawL zcX)8&Qz7(xMKo)6RdL~3(p{6u`!n`kQfJIHb+=vPz+RIX5<#hKu?=SlKr%pD88?~h z-Akc@y(WN5aaJ8&8^ldgr1jfZAJ6u@u%Mn^N$Yh5KtY^;(9nW()3SRB(@SA{_p6u?d;mUDH_23YP%&m(cqF(rbE8Woj8n5?TuA9Xbos z^ELyj^(>?y2mQgtbyg|6^JO~6 zj7o;QqTxHLQ50siWP0bL#^MM>WPWDy*Du?SW?H>6IkOqO&6}~K zTy)BKxRpdD-pN=E!S-q47*Vi7)QlywR&`;|A;(Br-F4gPt&AhB_1gHEzIfxXTa_lv zEE@&(hEA#*A?Kv&eTbf}vZAz0LK6a(&%rB@5PYh`H8?@JQ%^$=Zx^+xSPN{g-- z^v>S%KK#{84)kXE3V<$1sghJ3GbnVLu-haJTT5xM>c2B!d=LI=KuSBgK?C-&u1IN7 zbMljL;a_6!knM2-R?HN5n~ufs6-K#hovlnk>(h)p1`xHl_{q+k+kCg;y!gi@QX~2G z?KU@~)@UeNJ{kV%I9nBL(17e7M#SXc&SEOe3WCX`+z2GzZ2iK7yFAxRJK-CSbZLfp z$vpuCcBuwXMOrz|ktPR#DV3(&On4V3FRNPnI>TZL+GqSIX=t)b?)|Tf{IW3*ku zv|`L`Rl`U|s)Afp0I=phG3|O6lXE7+X$wb)VUO^{l;vhjJ@P%VQ1u|0XA2Ok6lPJ} zsGxg7R6>bo!aI2tbU~v3E23Xk2!Vo)@0dvvVT-7&;Q^KHV3#tM&EVu_gd1VOq_64X zK4}GaB~`hHlXm)ixo|^$7MDx28?WM>aY;wlYb-fMN*6|HqHo4G7TOnTeVnk^x#`bd zhNlBo3!3FNDO+oH*8RoiZpZ94c=XyO;{(L7xAUEz8WfO+wC9bsu07v|_f$7K$lG&6 zfar!bdY5`7dQ4AHujsyAHGmz3I|bt;07owV&Y1qj<#itQ7~J~!>A>UrhQslpGQUhJ z<|+y=i4T95vE*^ue7n@%^bK|2>VDR{Wuv%y$x6kaDwb?y!gD4(b!*^UQt*4ZjKHlQ z*VYY;iAs8=g|BdKlhI83j{ZthdPW`||5Wa{mMp_UK>pW5pu18o%;661{URm}$$k0W za6JCDxzeAQmkB}XHOI34R?V4H1K%!$UUtz6YS-G?VFD5oPdx_=PPl*?JYV(}b~ zu(dg{`s>>N>dX?X6cP!19Cap!#=}Oupm~9}S#90c!E&Lq8J-L8O&Uh|K;Qi-K`(>D z?c(0Wc^UCqKZ$z8QT>Uh9K<}A=*2ZDz+!P9&q102er2<&tM~B9(JYO+d{>+vI8QkR zP3(UuR1&n*v}cx50g8RiruTlhOrCe{hrQ�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 z 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 a2mk;800000(o>TF0000 Date: Tue, 29 Oct 2024 20:22:49 +0100 Subject: [PATCH 11/11] chore: update --- docs/content/0.index.yml | 4 ++-- .../1.docs/3.recipes/6.cloudflare-access.md | 4 ++-- docs/content/4.changelog/cloudflare-access.md | 16 ++++++++++------ 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/docs/content/0.index.yml b/docs/content/0.index.yml index df309efb..49d2b071 100644 --- a/docs/content/0.index.yml +++ b/docs/content/0.index.yml @@ -10,8 +10,8 @@ hero: light: '/images/landing/hero-light.svg' dark: '/images/landing/hero-dark.svg' headline: - label: "Automatic Database Migrations" - to: /changelog/database-migrations + label: "Cloudflare Access integration" + to: /changelog/cloudflare-access icon: i-ph-arrow-right features: - name: Cloud Hosting diff --git a/docs/content/1.docs/3.recipes/6.cloudflare-access.md b/docs/content/1.docs/3.recipes/6.cloudflare-access.md index 9029b6a2..c70be68f 100644 --- a/docs/content/1.docs/3.recipes/6.cloudflare-access.md +++ b/docs/content/1.docs/3.recipes/6.cloudflare-access.md @@ -1,10 +1,10 @@ --- -title: Cloudflare Access +title: Cloudflare Access Integration navigation.title: Cloudflare Access description: Learn how to use Cloudflare Access to protect your Nuxt application deployed on Cloudflare Pages. --- -Cloudflare Access allows you to secure your web applications by restricting who can reach your application by applying configured identity-aware Access policies. Cloudflare Access is part of Cloudflare's Zero Trust offerings. +[Cloudflare Access](https://www.cloudflare.com/zero-trust/products/access/) allows you to secure your web applications by restricting who can reach your application by applying configured identity-aware Access policies. Cloudflare Access is part of [Cloudflare's Zero Trust](https://www.cloudflare.com/plans/zero-trust-services/) offerings. NuxtHub fully supports Cloudflare Access across the NuxtHub admin, module and CLI. diff --git a/docs/content/4.changelog/cloudflare-access.md b/docs/content/4.changelog/cloudflare-access.md index d12fdee8..def0659e 100644 --- a/docs/content/4.changelog/cloudflare-access.md +++ b/docs/content/4.changelog/cloudflare-access.md @@ -12,17 +12,21 @@ authors: --- ::tip -This feature is available on all [NuxtHub plans](/pricing) and comes with the [v0.0.0](https://github.com/nuxt-hub/core/releases/tag/v0.0.0) release of `@nuxthub/core`. +This feature is available on all [NuxtHub plans](/pricing) and comes with the [v0.8.4](https://github.com/nuxt-hub/core/releases/tag/v0.8.4) release of `@nuxthub/core`. :: We now fully support Cloudflare Access across admin, module and CLI. +## What is Cloudflare Access + +:nuxt-img{src="/images/changelog/cloudflare-access.png" alt="Cloudflare Access" width="915" height="515"} + +[Cloudflare Access](https://www.cloudflare.com/zero-trust/products/access/) allows you to secure your web applications by restricting who can reach your application by applying configured identity-aware Access policies. Cloudflare Access is part of [Cloudflare's Zero Trust](https://www.cloudflare.com/plans/zero-trust-services/) offerings. + +## What does this mean for NuxtHub + This enables you to create secure internal web applications on NuxtHub, without compromising on features like NuxtHub admin for management and remote storage during development. ::callout{to="/docs/recipes/cloudflare-access" icon="i-ph-book-open-duotone"} -Learn more about Cloudflare Access with NuxtHub +Learn more about enabling Cloudflare Access with NuxtHub. :: - -## What is Cloudflare Access - -Cloudflare Access allows you to secure your web applications by restricting who can reach your application by applying configured identity-aware Access policies. Cloudflare Access is part of Cloudflare's Zero Trust offerings.