From d353fa19986ac26c83169b6fdfa079789dcd2e2f Mon Sep 17 00:00:00 2001 From: Christian Schwarz Date: Wed, 22 Nov 2023 11:58:27 +0100 Subject: [PATCH 01/38] refer to our rust-postgres.git fork by branch name (#5894) This way, `cargo update -p tokio-postgres` just works. The `Cargo.toml` communicates more clearly that we're referring to the `main` branch. And the git revision is still pinned in `Cargo.lock`. --- Cargo.lock | 10 +++++----- Cargo.toml | 12 ++++++------ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f08ed2d744..57c57182e1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3221,7 +3221,7 @@ dependencies = [ [[package]] name = "postgres" version = "0.19.4" -source = "git+https://github.com/neondatabase/rust-postgres.git?rev=6ce32f791526e27533cab0232a6bb243b2c32584#6ce32f791526e27533cab0232a6bb243b2c32584" +source = "git+https://github.com/neondatabase/rust-postgres.git?branch=neon#988d0ddb4184c408fa7fc1bd0ecca7993c02978f" dependencies = [ "bytes", "fallible-iterator", @@ -3234,7 +3234,7 @@ dependencies = [ [[package]] name = "postgres-native-tls" version = "0.5.0" -source = "git+https://github.com/neondatabase/rust-postgres.git?rev=6ce32f791526e27533cab0232a6bb243b2c32584#6ce32f791526e27533cab0232a6bb243b2c32584" +source = "git+https://github.com/neondatabase/rust-postgres.git?branch=neon#988d0ddb4184c408fa7fc1bd0ecca7993c02978f" dependencies = [ "native-tls", "tokio", @@ -3245,7 +3245,7 @@ dependencies = [ [[package]] name = "postgres-protocol" version = "0.6.4" -source = "git+https://github.com/neondatabase/rust-postgres.git?rev=6ce32f791526e27533cab0232a6bb243b2c32584#6ce32f791526e27533cab0232a6bb243b2c32584" +source = "git+https://github.com/neondatabase/rust-postgres.git?branch=neon#988d0ddb4184c408fa7fc1bd0ecca7993c02978f" dependencies = [ "base64 0.20.0", "byteorder", @@ -3263,7 +3263,7 @@ dependencies = [ [[package]] name = "postgres-types" version = "0.2.4" -source = "git+https://github.com/neondatabase/rust-postgres.git?rev=6ce32f791526e27533cab0232a6bb243b2c32584#6ce32f791526e27533cab0232a6bb243b2c32584" +source = "git+https://github.com/neondatabase/rust-postgres.git?branch=neon#988d0ddb4184c408fa7fc1bd0ecca7993c02978f" dependencies = [ "bytes", "fallible-iterator", @@ -4933,7 +4933,7 @@ dependencies = [ [[package]] name = "tokio-postgres" version = "0.7.7" -source = "git+https://github.com/neondatabase/rust-postgres.git?rev=6ce32f791526e27533cab0232a6bb243b2c32584#6ce32f791526e27533cab0232a6bb243b2c32584" +source = "git+https://github.com/neondatabase/rust-postgres.git?branch=neon#988d0ddb4184c408fa7fc1bd0ecca7993c02978f" dependencies = [ "async-trait", "byteorder", diff --git a/Cargo.toml b/Cargo.toml index 7d7d74993e..d186970194 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -165,11 +165,11 @@ env_logger = "0.10" log = "0.4" ## Libraries from neondatabase/ git forks, ideally with changes to be upstreamed -postgres = { git = "https://github.com/neondatabase/rust-postgres.git", rev="6ce32f791526e27533cab0232a6bb243b2c32584" } -postgres-native-tls = { git = "https://github.com/neondatabase/rust-postgres.git", rev="6ce32f791526e27533cab0232a6bb243b2c32584" } -postgres-protocol = { git = "https://github.com/neondatabase/rust-postgres.git", rev="6ce32f791526e27533cab0232a6bb243b2c32584" } -postgres-types = { git = "https://github.com/neondatabase/rust-postgres.git", rev="6ce32f791526e27533cab0232a6bb243b2c32584" } -tokio-postgres = { git = "https://github.com/neondatabase/rust-postgres.git", rev="6ce32f791526e27533cab0232a6bb243b2c32584" } +postgres = { git = "https://github.com/neondatabase/rust-postgres.git", branch="neon" } +postgres-native-tls = { git = "https://github.com/neondatabase/rust-postgres.git", branch="neon" } +postgres-protocol = { git = "https://github.com/neondatabase/rust-postgres.git", branch="neon" } +postgres-types = { git = "https://github.com/neondatabase/rust-postgres.git", branch="neon" } +tokio-postgres = { git = "https://github.com/neondatabase/rust-postgres.git", branch="neon" } ## Other git libraries heapless = { default-features=false, features=[], git = "https://github.com/japaric/heapless.git", rev = "644653bf3b831c6bb4963be2de24804acf5e5001" } # upstream release pending @@ -206,7 +206,7 @@ tonic-build = "0.9" # This is only needed for proxy's tests. # TODO: we should probably fork `tokio-postgres-rustls` instead. -tokio-postgres = { git = "https://github.com/neondatabase/rust-postgres.git", rev="6ce32f791526e27533cab0232a6bb243b2c32584" } +tokio-postgres = { git = "https://github.com/neondatabase/rust-postgres.git", branch="neon" } ################# Binary contents sections From 9e3c07611cc1becb6e69a07009f8b7957076285b Mon Sep 17 00:00:00 2001 From: Christian Schwarz Date: Wed, 22 Nov 2023 12:08:35 +0100 Subject: [PATCH 02/38] logging: support output to stderr (#5896) (part of the getpage benchmarking epic #5771) The plan is to make the benchmarking tool log on stderr and emit results as JSON on stdout. That way, the test suite can simply take captures stdout and json.loads() it, while interactive users of the benchmarking tool have a reasonable experience as well. Existing logging users continue to print to stdout, so, this change should be a no-op functionally and performance-wise. --- control_plane/src/bin/attachment_service.rs | 1 + libs/remote_storage/tests/test_real_azure.rs | 1 + libs/remote_storage/tests/test_real_s3.rs | 1 + libs/utils/src/logging.rs | 15 ++++++++++++++- pageserver/src/bin/pageserver.rs | 6 +++++- pageserver/src/tenant.rs | 1 + safekeeper/src/bin/safekeeper.rs | 1 + storage_broker/src/bin/storage_broker.rs | 1 + 8 files changed, 25 insertions(+), 2 deletions(-) diff --git a/control_plane/src/bin/attachment_service.rs b/control_plane/src/bin/attachment_service.rs index ddd50ff51d..16577e27d6 100644 --- a/control_plane/src/bin/attachment_service.rs +++ b/control_plane/src/bin/attachment_service.rs @@ -286,6 +286,7 @@ async fn main() -> anyhow::Result<()> { logging::init( LogFormat::Plain, logging::TracingErrorLayerEnablement::Disabled, + logging::Output::Stdout, )?; let args = Cli::parse(); diff --git a/libs/remote_storage/tests/test_real_azure.rs b/libs/remote_storage/tests/test_real_azure.rs index 59b92b48fb..b631079bc5 100644 --- a/libs/remote_storage/tests/test_real_azure.rs +++ b/libs/remote_storage/tests/test_real_azure.rs @@ -281,6 +281,7 @@ fn ensure_logging_ready() { utils::logging::init( utils::logging::LogFormat::Test, utils::logging::TracingErrorLayerEnablement::Disabled, + utils::logging::Output::Stdout, ) .expect("logging init failed"); }); diff --git a/libs/remote_storage/tests/test_real_s3.rs b/libs/remote_storage/tests/test_real_s3.rs index e2360b7533..48f00e0106 100644 --- a/libs/remote_storage/tests/test_real_s3.rs +++ b/libs/remote_storage/tests/test_real_s3.rs @@ -210,6 +210,7 @@ fn ensure_logging_ready() { utils::logging::init( utils::logging::LogFormat::Test, utils::logging::TracingErrorLayerEnablement::Disabled, + utils::logging::Output::Stdout, ) .expect("logging init failed"); }); diff --git a/libs/utils/src/logging.rs b/libs/utils/src/logging.rs index 502e02dc71..2f09c2f3ea 100644 --- a/libs/utils/src/logging.rs +++ b/libs/utils/src/logging.rs @@ -66,9 +66,17 @@ pub enum TracingErrorLayerEnablement { EnableWithRustLogFilter, } +/// Where the logging should output to. +#[derive(Clone, Copy)] +pub enum Output { + Stdout, + Stderr, +} + pub fn init( log_format: LogFormat, tracing_error_layer_enablement: TracingErrorLayerEnablement, + output: Output, ) -> anyhow::Result<()> { // We fall back to printing all spans at info-level or above if // the RUST_LOG environment variable is not set. @@ -85,7 +93,12 @@ pub fn init( let log_layer = tracing_subscriber::fmt::layer() .with_target(false) .with_ansi(false) - .with_writer(std::io::stdout); + .with_writer(move || -> Box { + match output { + Output::Stdout => Box::new(std::io::stdout()), + Output::Stderr => Box::new(std::io::stderr()), + } + }); let log_layer = match log_format { LogFormat::Json => log_layer.json().boxed(), LogFormat::Plain => log_layer.boxed(), diff --git a/pageserver/src/bin/pageserver.rs b/pageserver/src/bin/pageserver.rs index 5b0c140d00..f971b0a88d 100644 --- a/pageserver/src/bin/pageserver.rs +++ b/pageserver/src/bin/pageserver.rs @@ -103,7 +103,11 @@ fn main() -> anyhow::Result<()> { } else { TracingErrorLayerEnablement::Disabled }; - logging::init(conf.log_format, tracing_error_layer_enablement)?; + logging::init( + conf.log_format, + tracing_error_layer_enablement, + logging::Output::Stdout, + )?; // mind the order required here: 1. logging, 2. panic_hook, 3. sentry. // disarming this hook on pageserver, because we never tear down tracing. diff --git a/pageserver/src/tenant.rs b/pageserver/src/tenant.rs index 04fe9db76a..507c017532 100644 --- a/pageserver/src/tenant.rs +++ b/pageserver/src/tenant.rs @@ -3504,6 +3504,7 @@ pub(crate) mod harness { // enable it in case the tests exercise code paths that use // debug_assert_current_span_has_tenant_and_timeline_id logging::TracingErrorLayerEnablement::EnableWithRustLogFilter, + logging::Output::Stdout, ) .expect("Failed to init test logging") }); diff --git a/safekeeper/src/bin/safekeeper.rs b/safekeeper/src/bin/safekeeper.rs index 2e54380471..0b5bb22c8b 100644 --- a/safekeeper/src/bin/safekeeper.rs +++ b/safekeeper/src/bin/safekeeper.rs @@ -202,6 +202,7 @@ async fn main() -> anyhow::Result<()> { logging::init( LogFormat::from_config(&args.log_format)?, logging::TracingErrorLayerEnablement::Disabled, + logging::Output::Stdout, )?; logging::replace_panic_hook_with_tracing_panic_hook().forget(); info!("version: {GIT_VERSION}"); diff --git a/storage_broker/src/bin/storage_broker.rs b/storage_broker/src/bin/storage_broker.rs index 5ce24a6a42..9f81ac6cac 100644 --- a/storage_broker/src/bin/storage_broker.rs +++ b/storage_broker/src/bin/storage_broker.rs @@ -434,6 +434,7 @@ async fn main() -> Result<(), Box> { logging::init( LogFormat::from_config(&args.log_format)?, logging::TracingErrorLayerEnablement::Disabled, + logging::Output::Stdout, )?; logging::replace_panic_hook_with_tracing_panic_hook().forget(); // initialize sentry if SENTRY_DSN is provided From 2a12e9c46bda11c564d15374a5d4ac27e64a337a Mon Sep 17 00:00:00 2001 From: Anastasia Lubennikova Date: Wed, 22 Nov 2023 12:04:36 +0000 Subject: [PATCH 03/38] Add documentation for our sample pre-commit hook (#5868) --- CONTRIBUTING.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5de7842f1a..2692684006 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,6 +9,24 @@ refactoring, additional comments, and so forth. Let's try to raise the bar, and clean things up as we go. Try to leave code in a better shape than it was before. +## Pre-commit hook + +We have a sample pre-commit hook in `pre-commit.py`. +To set it up, run: + +```bash +ln -s ../../pre-commit.py .git/hooks/pre-commit +``` + +This will run following checks on staged files before each commit: +- `rustfmt` +- checks for python files, see [obligatory checks](/docs/sourcetree.md#obligatory-checks). + +There is also a separate script `./run_clippy.sh` that runs `cargo clippy` on the whole project +and `./scripts/reformat` that runs all formatting tools to ensure the project is up to date. + +If you want to skip the hook, run `git commit` with `--no-verify` option. + ## Submitting changes 1. Get at least one +1 on your PR before you push. From 6afbadc90e8b97bce72cddd362ecf7500e263752 Mon Sep 17 00:00:00 2001 From: Konstantin Knizhnik Date: Thu, 23 Nov 2023 08:59:19 +0200 Subject: [PATCH 04/38] LFC fixes + statistics (#5727) ## Problem ## Summary of changes See #5500 ## Checklist before requesting a review - [ ] I have performed a self-review of my code. - [ ] If it is a core feature, I have added thorough tests. - [ ] Do we need to implement analytics? if so did you add the relevant metrics to the dashboard? - [ ] If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section. ## Checklist before merging - [ ] Do not forget to reformat commit message to not include the above checklist --------- Co-authored-by: Konstantin Knizhnik --- pgxn/neon/Makefile | 2 +- pgxn/neon/file_cache.c | 383 ++++++++++++++----- pgxn/neon/neon--1.0--1.1.sql | 10 + pgxn/neon/neon.control | 2 +- test_runner/regress/test_local_file_cache.py | 74 ++++ 5 files changed, 373 insertions(+), 98 deletions(-) create mode 100644 pgxn/neon/neon--1.0--1.1.sql create mode 100644 test_runner/regress/test_local_file_cache.py diff --git a/pgxn/neon/Makefile b/pgxn/neon/Makefile index 84835843bc..7fc99523db 100644 --- a/pgxn/neon/Makefile +++ b/pgxn/neon/Makefile @@ -20,7 +20,7 @@ SHLIB_LINK_INTERNAL = $(libpq) SHLIB_LINK = -lcurl EXTENSION = neon -DATA = neon--1.0.sql +DATA = neon--1.0.sql neon--1.0--1.1.sql PGFILEDESC = "neon - cloud storage for PostgreSQL" EXTRA_CLEAN = \ diff --git a/pgxn/neon/file_cache.c b/pgxn/neon/file_cache.c index 22f20a4c0b..b28b95e42f 100644 --- a/pgxn/neon/file_cache.c +++ b/pgxn/neon/file_cache.c @@ -32,11 +32,13 @@ #include "storage/latch.h" #include "storage/ipc.h" #include "storage/lwlock.h" +#include "utils/builtins.h" #include "utils/dynahash.h" #include "utils/guc.h" #include "storage/fd.h" #include "storage/pg_shmem.h" #include "storage/buf_internals.h" +#include "pgstat.h" /* * Local file cache is used to temporary store relations pages in local file system. @@ -65,6 +67,7 @@ typedef struct FileCacheEntry { BufferTag key; + uint32 hash; uint32 offset; uint32 access_count; uint32 bitmap[BLOCKS_PER_CHUNK/32]; @@ -76,6 +79,10 @@ typedef struct FileCacheControl uint64 generation; /* generation is needed to handle correct hash reenabling */ uint32 size; /* size of cache file in chunks */ uint32 used; /* number of used chunks */ + uint32 limit; /* shared copy of lfc_size_limit */ + uint64 hits; + uint64 misses; + uint64 writes; dlist_head lru; /* double linked list for LRU replacement algorithm */ } FileCacheControl; @@ -91,10 +98,12 @@ static shmem_startup_hook_type prev_shmem_startup_hook; static shmem_request_hook_type prev_shmem_request_hook; #endif -void FileCacheMonitorMain(Datum main_arg); +#define LFC_ENABLED() (lfc_ctl->limit != 0) + +void PGDLLEXPORT FileCacheMonitorMain(Datum main_arg); /* - * Local file cache is mandatory and Neon can work without it. + * Local file cache is optional and Neon can work without it. * In case of any any errors with this cache, we should disable it but to not throw error. * Also we should allow re-enable it if source of failure (lack of disk space, permissions,...) is fixed. * All cache content should be invalidated to avoid reading of stale or corrupted data @@ -102,49 +111,77 @@ void FileCacheMonitorMain(Datum main_arg); static void lfc_disable(char const* op) { - HASH_SEQ_STATUS status; - FileCacheEntry* entry; - + int fd; elog(WARNING, "Failed to %s local file cache at %s: %m, disabling local file cache", op, lfc_path); + /* Invalidate hash */ + LWLockAcquire(lfc_lock, LW_EXCLUSIVE); + + if (LFC_ENABLED()) + { + HASH_SEQ_STATUS status; + FileCacheEntry* entry; + + hash_seq_init(&status, lfc_hash); + while ((entry = hash_seq_search(&status)) != NULL) + { + hash_search_with_hash_value(lfc_hash, &entry->key, entry->hash, HASH_REMOVE, NULL); + } + lfc_ctl->generation += 1; + lfc_ctl->size = 0; + lfc_ctl->used = 0; + lfc_ctl->limit = 0; + dlist_init(&lfc_ctl->lru); + + if (lfc_desc > 0) + { + /* If the reason of error is ENOSPC, then truncation of file may help to reclaim some space */ + int rc = ftruncate(lfc_desc, 0); + if (rc < 0) + elog(WARNING, "Failed to truncate local file cache %s: %m", lfc_path); + } + } + /* We need to use unlink to to avoid races in LFC write, because it is not protectedby */ + unlink(lfc_path); + + fd = BasicOpenFile(lfc_path, O_RDWR|O_CREAT|O_TRUNC); + if (fd < 0) + elog(WARNING, "Failed to recreate local file cache %s: %m", lfc_path); + else + close(fd); + + LWLockRelease(lfc_lock); + if (lfc_desc > 0) close(lfc_desc); lfc_desc = -1; - lfc_size_limit = 0; +} - /* Invalidate hash */ - LWLockAcquire(lfc_lock, LW_EXCLUSIVE); - - hash_seq_init(&status, lfc_hash); - while ((entry = hash_seq_search(&status)) != NULL) - { - hash_search(lfc_hash, &entry->key, HASH_REMOVE, NULL); - memset(entry->bitmap, 0, sizeof entry->bitmap); - } - hash_seq_term(&status); - lfc_ctl->generation += 1; - lfc_ctl->size = 0; - lfc_ctl->used = 0; - dlist_init(&lfc_ctl->lru); - - LWLockRelease(lfc_lock); +/* + * This check is done without obtaining lfc_lock, so it is unreliable + */ +static bool +lfc_maybe_disabled(void) +{ + return !lfc_ctl || !LFC_ENABLED(); } static bool lfc_ensure_opened(void) { + bool enabled = !lfc_maybe_disabled(); /* Open cache file if not done yet */ - if (lfc_desc <= 0) + if (lfc_desc <= 0 && enabled) { - lfc_desc = BasicOpenFile(lfc_path, O_RDWR|O_CREAT); + lfc_desc = BasicOpenFile(lfc_path, O_RDWR); if (lfc_desc < 0) { lfc_disable("open"); return false; } } - return true; + return enabled; } static void @@ -163,6 +200,7 @@ lfc_shmem_startup(void) lfc_ctl = (FileCacheControl*)ShmemInitStruct("lfc", sizeof(FileCacheControl), &found); if (!found) { + int fd; uint32 lfc_size = SIZE_MB_TO_CHUNKS(lfc_max_size); lfc_lock = (LWLockId)GetNamedLWLockTranche("lfc_lock"); info.keysize = sizeof(BufferTag); @@ -175,10 +213,23 @@ lfc_shmem_startup(void) lfc_ctl->generation = 0; lfc_ctl->size = 0; lfc_ctl->used = 0; + lfc_ctl->hits = 0; + lfc_ctl->misses = 0; + lfc_ctl->writes = 0; dlist_init(&lfc_ctl->lru); - /* Remove file cache on restart */ - (void)unlink(lfc_path); + /* Recreate file cache on restart */ + fd = BasicOpenFile(lfc_path, O_RDWR|O_CREAT|O_TRUNC); + if (fd < 0) + { + elog(WARNING, "Failed to create local file cache %s: %m", lfc_path); + lfc_ctl->limit = 0; + } + else + { + close(fd); + lfc_ctl->limit = SIZE_MB_TO_CHUNKS(lfc_size_limit); + } } LWLockRelease(AddinShmemInitLock); } @@ -195,6 +246,17 @@ lfc_shmem_request(void) RequestNamedLWLockTranche("lfc_lock", 1); } +static bool +is_normal_backend(void) +{ + /* + * Stats collector detach shared memory, so we should not try to access shared memory here. + * Parallel workers first assign default value (0), so not perform truncation in parallel workers. + * The Postmaster can handle SIGHUP and it has access to shared memory (UsedShmemSegAddr != NULL), but has no PGPROC. + */ + return lfc_ctl && MyProc && UsedShmemSegAddr && !IsParallelWorker(); +} + static bool lfc_check_limit_hook(int *newval, void **extra, GucSource source) { @@ -210,25 +272,15 @@ static void lfc_change_limit_hook(int newval, void *extra) { uint32 new_size = SIZE_MB_TO_CHUNKS(newval); - /* - * Stats collector detach shared memory, so we should not try to access shared memory here. - * Parallel workers first assign default value (0), so not perform truncation in parallel workers. - * The Postmaster can handle SIGHUP and it has access to shared memory (UsedShmemSegAddr != NULL), but has no PGPROC. - */ - if (!lfc_ctl || !MyProc || !UsedShmemSegAddr || IsParallelWorker()) + + if (!is_normal_backend()) + return; + + if (!lfc_ensure_opened()) return; - /* Open cache file if not done yet */ - if (lfc_desc <= 0) - { - lfc_desc = BasicOpenFile(lfc_path, O_RDWR|O_CREAT); - if (lfc_desc < 0) { - elog(WARNING, "Failed to open file cache %s: %m, disabling file cache", lfc_path); - lfc_size_limit = 0; /* disable file cache */ - return; - } - } LWLockAcquire(lfc_lock, LW_EXCLUSIVE); + while (new_size < lfc_ctl->used && !dlist_is_empty(&lfc_ctl->lru)) { /* Shrink cache by throwing away least recently accessed chunks and returning their space to file system */ @@ -238,10 +290,12 @@ lfc_change_limit_hook(int newval, void *extra) if (fallocate(lfc_desc, FALLOC_FL_PUNCH_HOLE|FALLOC_FL_KEEP_SIZE, (off_t)victim->offset*BLOCKS_PER_CHUNK*BLCKSZ, BLOCKS_PER_CHUNK*BLCKSZ) < 0) elog(LOG, "Failed to punch hole in file: %m"); #endif - hash_search(lfc_hash, &victim->key, HASH_REMOVE, NULL); + hash_search_with_hash_value(lfc_hash, &victim->key, victim->hash, HASH_REMOVE, NULL); lfc_ctl->used -= 1; } + lfc_ctl->limit = new_size; elog(DEBUG1, "set local file cache limit to %d", new_size); + LWLockRelease(lfc_lock); } @@ -255,6 +309,7 @@ lfc_init(void) if (!process_shared_preload_libraries_in_progress) elog(ERROR, "Neon module should be loaded via shared_preload_libraries"); + DefineCustomIntVariable("neon.max_file_cache_size", "Maximal size of Neon local file cache", NULL, @@ -315,10 +370,10 @@ lfc_cache_contains(NRelFileInfo rinfo, ForkNumber forkNum, BlockNumber blkno) BufferTag tag; FileCacheEntry* entry; int chunk_offs = blkno & (BLOCKS_PER_CHUNK-1); - bool found; + bool found = false; uint32 hash; - if (lfc_size_limit == 0) /* fast exit if file cache is disabled */ + if (lfc_maybe_disabled()) /* fast exit if file cache is disabled */ return false; CopyNRelFileInfoToBufTag(tag, rinfo); @@ -327,8 +382,11 @@ lfc_cache_contains(NRelFileInfo rinfo, ForkNumber forkNum, BlockNumber blkno) hash = get_hash_value(lfc_hash, &tag); LWLockAcquire(lfc_lock, LW_SHARED); - entry = hash_search_with_hash_value(lfc_hash, &tag, hash, HASH_FIND, NULL); - found = entry != NULL && (entry->bitmap[chunk_offs >> 5] & (1 << (chunk_offs & 31))) != 0; + if (LFC_ENABLED()) + { + entry = hash_search_with_hash_value(lfc_hash, &tag, hash, HASH_FIND, NULL); + found = entry != NULL && (entry->bitmap[chunk_offs >> 5] & (1 << (chunk_offs & 31))) != 0; + } LWLockRelease(lfc_lock); return found; } @@ -345,7 +403,7 @@ lfc_evict(NRelFileInfo rinfo, ForkNumber forkNum, BlockNumber blkno) int chunk_offs = blkno & (BLOCKS_PER_CHUNK-1); uint32 hash; - if (lfc_size_limit == 0) /* fast exit if file cache is disabled */ + if (lfc_maybe_disabled()) /* fast exit if file cache is disabled */ return; CopyNRelFileInfoToBufTag(tag, rinfo); @@ -355,6 +413,13 @@ lfc_evict(NRelFileInfo rinfo, ForkNumber forkNum, BlockNumber blkno) hash = get_hash_value(lfc_hash, &tag); LWLockAcquire(lfc_lock, LW_EXCLUSIVE); + + if (!LFC_ENABLED()) + { + LWLockRelease(lfc_lock); + return; + } + entry = hash_search_with_hash_value(lfc_hash, &tag, hash, HASH_FIND, &found); if (!found) @@ -405,7 +470,7 @@ lfc_evict(NRelFileInfo rinfo, ForkNumber forkNum, BlockNumber blkno) /* * Try to read page from local cache. * Returns true if page is found in local cache. - * In case of error lfc_size_limit is set to zero to disable any further opera-tins with cache. + * In case of error local file cache is disabled (lfc->limit is set to zero). */ bool lfc_read(NRelFileInfo rinfo, ForkNumber forkNum, BlockNumber blkno, @@ -420,7 +485,7 @@ lfc_read(NRelFileInfo rinfo, ForkNumber forkNum, BlockNumber blkno, uint64 generation; uint32 entry_offset; - if (lfc_size_limit == 0) /* fast exit if file cache is disabled */ + if (lfc_maybe_disabled()) /* fast exit if file cache is disabled */ return false; if (!lfc_ensure_opened()) @@ -432,10 +497,18 @@ lfc_read(NRelFileInfo rinfo, ForkNumber forkNum, BlockNumber blkno, hash = get_hash_value(lfc_hash, &tag); LWLockAcquire(lfc_lock, LW_EXCLUSIVE); + + if (!LFC_ENABLED()) + { + LWLockRelease(lfc_lock); + return false; + } + entry = hash_search_with_hash_value(lfc_hash, &tag, hash, HASH_FIND, NULL); if (entry == NULL || (entry->bitmap[chunk_offs >> 5] & (1 << (chunk_offs & 31))) == 0) { /* Page is not cached */ + lfc_ctl->misses += 1; LWLockRelease(lfc_lock); return false; } @@ -456,8 +529,11 @@ lfc_read(NRelFileInfo rinfo, ForkNumber forkNum, BlockNumber blkno, /* Place entry to the head of LRU list */ LWLockAcquire(lfc_lock, LW_EXCLUSIVE); + if (lfc_ctl->generation == generation) { + Assert(LFC_ENABLED()); + lfc_ctl->hits += 1; Assert(entry->access_count > 0); if (--entry->access_count == 0) dlist_push_tail(&lfc_ctl->lru, &entry->lru_node); @@ -488,8 +564,10 @@ lfc_write(NRelFileInfo rinfo, ForkNumber forkNum, BlockNumber blkno, bool found; int chunk_offs = blkno & (BLOCKS_PER_CHUNK-1); uint32 hash; + uint64 generation; + uint32 entry_offset; - if (lfc_size_limit == 0) /* fast exit if file cache is disabled */ + if (lfc_maybe_disabled()) /* fast exit if file cache is disabled */ return; if (!lfc_ensure_opened()) @@ -497,12 +575,17 @@ lfc_write(NRelFileInfo rinfo, ForkNumber forkNum, BlockNumber blkno, tag.forkNum = forkNum; tag.blockNum = blkno & ~(BLOCKS_PER_CHUNK-1); - CopyNRelFileInfoToBufTag(tag, rinfo); - hash = get_hash_value(lfc_hash, &tag); LWLockAcquire(lfc_lock, LW_EXCLUSIVE); + + if (!LFC_ENABLED()) + { + LWLockRelease(lfc_lock); + return; + } + entry = hash_search_with_hash_value(lfc_hash, &tag, hash, HASH_ENTER, &found); if (found) @@ -521,13 +604,13 @@ lfc_write(NRelFileInfo rinfo, ForkNumber forkNum, BlockNumber blkno, * there are should be very large number of concurrent IO operations and them are limited by max_connections, * we prefer not to complicate code and use second approach. */ - if (lfc_ctl->used >= SIZE_MB_TO_CHUNKS(lfc_size_limit) && !dlist_is_empty(&lfc_ctl->lru)) + if (lfc_ctl->used >= lfc_ctl->limit && !dlist_is_empty(&lfc_ctl->lru)) { /* Cache overflow: evict least recently used chunk */ FileCacheEntry* victim = dlist_container(FileCacheEntry, lru_node, dlist_pop_head_node(&lfc_ctl->lru)); Assert(victim->access_count == 0); entry->offset = victim->offset; /* grab victim's chunk */ - hash_search(lfc_hash, &victim->key, HASH_REMOVE, NULL); + hash_search_with_hash_value(lfc_hash, &victim->key, victim->hash, HASH_REMOVE, NULL); elog(DEBUG2, "Swap file cache page"); } else @@ -536,27 +619,140 @@ lfc_write(NRelFileInfo rinfo, ForkNumber forkNum, BlockNumber blkno, entry->offset = lfc_ctl->size++; /* allocate new chunk at end of file */ } entry->access_count = 1; + entry->hash = hash; memset(entry->bitmap, 0, sizeof entry->bitmap); } - rc = pwrite(lfc_desc, buffer, BLCKSZ, ((off_t)entry->offset*BLOCKS_PER_CHUNK + chunk_offs)*BLCKSZ); + generation = lfc_ctl->generation; + entry_offset = entry->offset; + lfc_ctl->writes += 1; + LWLockRelease(lfc_lock); + + rc = pwrite(lfc_desc, buffer, BLCKSZ, ((off_t)entry_offset*BLOCKS_PER_CHUNK + chunk_offs)*BLCKSZ); if (rc != BLCKSZ) { - LWLockRelease(lfc_lock); lfc_disable("write"); } else { - /* Place entry to the head of LRU list */ - Assert(entry->access_count > 0); - if (--entry->access_count == 0) - dlist_push_tail(&lfc_ctl->lru, &entry->lru_node); + LWLockAcquire(lfc_lock, LW_EXCLUSIVE); + + if (lfc_ctl->generation == generation) + { + Assert(LFC_ENABLED()); + /* Place entry to the head of LRU list */ + Assert(entry->access_count > 0); + if (--entry->access_count == 0) + dlist_push_tail(&lfc_ctl->lru, &entry->lru_node); + + entry->bitmap[chunk_offs >> 5] |= (1 << (chunk_offs & 31)); + } - entry->bitmap[chunk_offs >> 5] |= (1 << (chunk_offs & 31)); LWLockRelease(lfc_lock); } } +typedef struct +{ + TupleDesc tupdesc; +} NeonGetStatsCtx; + +#define NUM_NEON_GET_STATS_COLS 2 +#define NUM_NEON_GET_STATS_ROWS 3 + +PG_FUNCTION_INFO_V1(neon_get_lfc_stats); +Datum +neon_get_lfc_stats(PG_FUNCTION_ARGS) +{ + FuncCallContext *funcctx; + NeonGetStatsCtx* fctx; + MemoryContext oldcontext; + TupleDesc tupledesc; + Datum result; + HeapTuple tuple; + char const* key; + uint64 value; + Datum values[NUM_NEON_GET_STATS_COLS]; + bool nulls[NUM_NEON_GET_STATS_COLS]; + + if (SRF_IS_FIRSTCALL()) + { + funcctx = SRF_FIRSTCALL_INIT(); + + /* Switch context when allocating stuff to be used in later calls */ + oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); + + /* Create a user function context for cross-call persistence */ + fctx = (NeonGetStatsCtx*) palloc(sizeof(NeonGetStatsCtx)); + + /* Construct a tuple descriptor for the result rows. */ + tupledesc = CreateTemplateTupleDesc(NUM_NEON_GET_STATS_COLS); + + TupleDescInitEntry(tupledesc, (AttrNumber) 1, "lfc_key", + TEXTOID, -1, 0); + TupleDescInitEntry(tupledesc, (AttrNumber) 2, "lfc_value", + INT8OID, -1, 0); + + fctx->tupdesc = BlessTupleDesc(tupledesc); + funcctx->max_calls = NUM_NEON_GET_STATS_ROWS; + funcctx->user_fctx = fctx; + + /* Return to original context when allocating transient memory */ + MemoryContextSwitchTo(oldcontext); + } + + funcctx = SRF_PERCALL_SETUP(); + + /* Get the saved state */ + fctx = (NeonGetStatsCtx*) funcctx->user_fctx; + + switch (funcctx->call_cntr) + { + case 0: + key = "file_cache_misses"; + if (lfc_ctl) + value = lfc_ctl->misses; + break; + case 1: + key = "file_cache_hits"; + if (lfc_ctl) + value = lfc_ctl->hits; + break; + case 2: + key = "file_cache_used"; + if (lfc_ctl) + value = lfc_ctl->used; + break; + case 3: + key = "file_cache_writes"; + if (lfc_ctl) + value = lfc_ctl->writes; + break; + default: + SRF_RETURN_DONE(funcctx); + } + values[0] = PointerGetDatum(cstring_to_text(key)); + nulls[0] = false; + if (lfc_ctl) + { + nulls[1] = false; + values[1] = Int64GetDatum(value); + } + else + nulls[1] = true; + + tuple = heap_form_tuple(fctx->tupdesc, values, nulls); + result = HeapTupleGetDatum(tuple); + SRF_RETURN_NEXT(funcctx, result); +} + + +/* + * Function returning data from the local file cache + * relation node/tablespace/database/blocknum and access_counter + */ +PG_FUNCTION_INFO_V1(local_cache_pages); + /* * Record structure holding the to be exposed cache data. */ @@ -580,11 +776,6 @@ typedef struct LocalCachePagesRec *record; } LocalCachePagesContext; -/* - * Function returning data from the local file cache - * relation node/tablespace/database/blocknum and access_counter - */ -PG_FUNCTION_INFO_V1(local_cache_pages); #define NUM_LOCALCACHE_PAGES_ELEM 7 @@ -653,13 +844,15 @@ local_cache_pages(PG_FUNCTION_ARGS) LWLockAcquire(lfc_lock, LW_SHARED); - hash_seq_init(&status, lfc_hash); - while ((entry = hash_seq_search(&status)) != NULL) + if (LFC_ENABLED()) { - for (int i = 0; i < BLOCKS_PER_CHUNK; i++) - n_pages += (entry->bitmap[i >> 5] & (1 << (i & 31))) != 0; + hash_seq_init(&status, lfc_hash); + while ((entry = hash_seq_search(&status)) != NULL) + { + for (int i = 0; i < BLOCKS_PER_CHUNK/32; i++) + n_pages += pg_popcount32(entry->bitmap[i]); + } } - hash_seq_term(&status); fctx->record = (LocalCachePagesRec *) MemoryContextAllocHuge(CurrentMemoryContext, sizeof(LocalCachePagesRec) * n_pages); @@ -671,35 +864,33 @@ local_cache_pages(PG_FUNCTION_ARGS) /* Return to original context when allocating transient memory */ MemoryContextSwitchTo(oldcontext); - /* - * Scan through all the buffers, saving the relevant fields in the - * fctx->record structure. - * - * We don't hold the partition locks, so we don't get a consistent - * snapshot across all buffers, but we do grab the buffer header - * locks, so the information of each buffer is self-consistent. - */ - n_pages = 0; - hash_seq_init(&status, lfc_hash); - while ((entry = hash_seq_search(&status)) != NULL) + if (n_pages != 0) { - for (int i = 0; i < BLOCKS_PER_CHUNK; i++) + /* + * Scan through all the cache entries, saving the relevant fields in the + * fctx->record structure. + */ + uint32 n = 0; + hash_seq_init(&status, lfc_hash); + while ((entry = hash_seq_search(&status)) != NULL) { - if (entry->bitmap[i >> 5] & (1 << (i & 31))) + for (int i = 0; i < BLOCKS_PER_CHUNK; i++) { - fctx->record[n_pages].pageoffs = entry->offset*BLOCKS_PER_CHUNK + i; - fctx->record[n_pages].relfilenode = NInfoGetRelNumber(BufTagGetNRelFileInfo(entry->key)); - fctx->record[n_pages].reltablespace = NInfoGetSpcOid(BufTagGetNRelFileInfo(entry->key)); - fctx->record[n_pages].reldatabase = NInfoGetDbOid(BufTagGetNRelFileInfo(entry->key)); - fctx->record[n_pages].forknum = entry->key.forkNum; - fctx->record[n_pages].blocknum = entry->key.blockNum + i; - fctx->record[n_pages].accesscount = entry->access_count; - n_pages += 1; + if (entry->bitmap[i >> 5] & (1 << (i & 31))) + { + fctx->record[n].pageoffs = entry->offset*BLOCKS_PER_CHUNK + i; + fctx->record[n].relfilenode = NInfoGetRelNumber(BufTagGetNRelFileInfo(entry->key)); + fctx->record[n].reltablespace = NInfoGetSpcOid(BufTagGetNRelFileInfo(entry->key)); + fctx->record[n].reldatabase = NInfoGetDbOid(BufTagGetNRelFileInfo(entry->key)); + fctx->record[n].forknum = entry->key.forkNum; + fctx->record[n].blocknum = entry->key.blockNum + i; + fctx->record[n].accesscount = entry->access_count; + n += 1; + } } } + Assert(n_pages == n); } - hash_seq_term(&status); - Assert(n_pages == funcctx->max_calls); LWLockRelease(lfc_lock); } diff --git a/pgxn/neon/neon--1.0--1.1.sql b/pgxn/neon/neon--1.0--1.1.sql new file mode 100644 index 0000000000..d1760f7299 --- /dev/null +++ b/pgxn/neon/neon--1.0--1.1.sql @@ -0,0 +1,10 @@ +\echo Use "ALTER EXTENSION neon UPDATE TO '1.1'" to load this file. \quit + +CREATE FUNCTION neon_get_lfc_stats() +RETURNS SETOF RECORD +AS 'MODULE_PATHNAME', 'neon_get_lfc_stats' +LANGUAGE C PARALLEL SAFE; + +-- Create a view for convenient access. +CREATE VIEW neon_lfc_stats AS + SELECT P.* FROM neon_get_lfc_stats() AS P (lfc_key text, lfc_value bigint); diff --git a/pgxn/neon/neon.control b/pgxn/neon/neon.control index 84f79881c1..c110437c3e 100644 --- a/pgxn/neon/neon.control +++ b/pgxn/neon/neon.control @@ -1,4 +1,4 @@ # neon extension comment = 'cloud storage for PostgreSQL' -default_version = '1.0' +default_version = '1.1' module_pathname = '$libdir/neon' diff --git a/test_runner/regress/test_local_file_cache.py b/test_runner/regress/test_local_file_cache.py new file mode 100644 index 0000000000..38f2034c18 --- /dev/null +++ b/test_runner/regress/test_local_file_cache.py @@ -0,0 +1,74 @@ +import os +import random +import threading +import time +from typing import List + +from fixtures.neon_fixtures import NeonEnv +from fixtures.utils import query_scalar + + +def test_local_file_cache_unlink(neon_simple_env: NeonEnv): + env = neon_simple_env + + cache_dir = os.path.join(env.repo_dir, "file_cache") + os.mkdir(cache_dir) + + env.neon_cli.create_branch("test_local_file_cache_unlink", "empty") + + endpoint = env.endpoints.create_start( + "test_local_file_cache_unlink", + config_lines=[ + "shared_buffers='1MB'", + f"neon.file_cache_path='{cache_dir}/file.cache'", + "neon.max_file_cache_size='64MB'", + "neon.file_cache_size_limit='10MB'", + ], + ) + + cur = endpoint.connect().cursor() + + n_rows = 100000 + n_threads = 20 + n_updates_per_thread = 10000 + n_updates_per_connection = 1000 + n_total_updates = n_threads * n_updates_per_thread + + cur.execute("CREATE TABLE lfctest (id int4 PRIMARY KEY, n int) WITH (fillfactor=10)") + cur.execute(f"INSERT INTO lfctest SELECT g, 1 FROM generate_series(1, {n_rows}) g") + + # Start threads that will perform random UPDATEs. Each UPDATE + # increments the counter on the row, so that we can check at the + # end that the sum of all the counters match the number of updates + # performed (plus the initial 1 on each row). + # + # Furthermore, each thread will reconnect between every 1000 updates. + def run_updates(): + n_updates_performed = 0 + conn = endpoint.connect() + cur = conn.cursor() + for _ in range(n_updates_per_thread): + id = random.randint(1, n_rows) + cur.execute(f"UPDATE lfctest SET n = n + 1 WHERE id = {id}") + n_updates_performed += 1 + if n_updates_performed % n_updates_per_connection == 0: + cur.close() + conn.close() + conn = endpoint.connect() + cur = conn.cursor() + + threads: List[threading.Thread] = [] + for _i in range(n_threads): + thread = threading.Thread(target=run_updates, args=(), daemon=True) + thread.start() + threads.append(thread) + + time.sleep(5) + + new_cache_dir = os.path.join(env.repo_dir, "file_cache_new") + os.rename(cache_dir, new_cache_dir) + + for thread in threads: + thread.join() + + assert query_scalar(cur, "SELECT SUM(n) FROM lfctest") == n_total_updates + n_rows From a0e61145c8f7b50fefc89b68c54f5012a4313170 Mon Sep 17 00:00:00 2001 From: Christian Schwarz Date: Thu, 23 Nov 2023 14:33:41 +0100 Subject: [PATCH 05/38] fix: cleanup of layers from the future can race with their re-creation (#5890) fixes https://github.com/neondatabase/neon/issues/5878 obsoletes https://github.com/neondatabase/neon/issues/5879 Before this PR, it could happen that `load_layer_map` schedules removal of the future image layer. Then a later compaction run could re-create the same image layer, scheduling a PUT. Due to lack of an upload queue barrier, the PUT and DELETE could be re-ordered. The result was IndexPart referencing a non-existent object. ## Summary of changes * Add support to `pagectl` / Python tests to decode `IndexPart` * Rust * new `pagectl` Subcommand * `IndexPart::{from,to}_s3_bytes()` methods to internalize knowledge about encoding of `IndexPart` * Python * new `NeonCli` subclass * Add regression test * Rust * Ability to force repartitioning; required to ensure image layer creation at last_record_lsn * Python * The regression test. * Fix the issue * Insert an `UploadOp::Barrier` after scheduling the deletions. --- Cargo.lock | 2 + pageserver/ctl/Cargo.toml | 2 + pageserver/ctl/src/index_part.rs | 38 +++ pageserver/ctl/src/main.rs | 7 + pageserver/src/deletion_queue.rs | 1 + pageserver/src/http/routes.rs | 15 +- pageserver/src/tenant.rs | 31 ++- .../src/tenant/remote_timeline_client.rs | 33 ++- .../tenant/remote_timeline_client/index.rs | 18 +- .../tenant/remote_timeline_client/upload.rs | 5 +- pageserver/src/tenant/timeline.rs | 45 +++- test_runner/fixtures/neon_fixtures.py | 16 ++ test_runner/fixtures/pageserver/http.py | 20 +- test_runner/fixtures/pageserver/types.py | 146 ++++++++++++ test_runner/fixtures/remote_storage.py | 6 + test_runner/fixtures/types.py | 29 +++ test_runner/fixtures/utils.py | 35 ++- .../regress/test_layers_from_future.py | 222 ++++++++++++++++++ 18 files changed, 615 insertions(+), 56 deletions(-) create mode 100644 pageserver/ctl/src/index_part.rs create mode 100644 test_runner/fixtures/pageserver/types.py create mode 100644 test_runner/regress/test_layers_from_future.py diff --git a/Cargo.lock b/Cargo.lock index 57c57182e1..62da3cf070 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2905,6 +2905,8 @@ dependencies = [ "git-version", "pageserver", "postgres_ffi", + "serde", + "serde_json", "svg_fmt", "tokio", "utils", diff --git a/pageserver/ctl/Cargo.toml b/pageserver/ctl/Cargo.toml index ff0c530125..c5cd451e8d 100644 --- a/pageserver/ctl/Cargo.toml +++ b/pageserver/ctl/Cargo.toml @@ -18,3 +18,5 @@ tokio.workspace = true utils.workspace = true svg_fmt.workspace = true workspace_hack.workspace = true +serde.workspace = true +serde_json.workspace = true diff --git a/pageserver/ctl/src/index_part.rs b/pageserver/ctl/src/index_part.rs new file mode 100644 index 0000000000..20e5572914 --- /dev/null +++ b/pageserver/ctl/src/index_part.rs @@ -0,0 +1,38 @@ +use std::collections::HashMap; + +use anyhow::Context; +use camino::Utf8PathBuf; +use pageserver::tenant::remote_timeline_client::index::IndexLayerMetadata; +use pageserver::tenant::storage_layer::LayerFileName; +use pageserver::tenant::{metadata::TimelineMetadata, IndexPart}; +use utils::lsn::Lsn; + +#[derive(clap::Subcommand)] +pub(crate) enum IndexPartCmd { + Dump { path: Utf8PathBuf }, +} + +pub(crate) async fn main(cmd: &IndexPartCmd) -> anyhow::Result<()> { + match cmd { + IndexPartCmd::Dump { path } => { + let bytes = tokio::fs::read(path).await.context("read file")?; + let des: IndexPart = IndexPart::from_s3_bytes(&bytes).context("deserialize")?; + #[derive(serde::Serialize)] + struct Output<'a> { + layer_metadata: &'a HashMap, + disk_consistent_lsn: Lsn, + timeline_metadata: &'a TimelineMetadata, + } + + let output = Output { + layer_metadata: &des.layer_metadata, + disk_consistent_lsn: des.get_disk_consistent_lsn(), + timeline_metadata: &des.metadata, + }; + + let output = serde_json::to_string_pretty(&output).context("serialize output")?; + println!("{output}"); + Ok(()) + } + } +} diff --git a/pageserver/ctl/src/main.rs b/pageserver/ctl/src/main.rs index c4d6e8d883..fb42d6d2f1 100644 --- a/pageserver/ctl/src/main.rs +++ b/pageserver/ctl/src/main.rs @@ -5,11 +5,13 @@ //! Separate, `metadata` subcommand allows to print and update pageserver's metadata file. mod draw_timeline_dir; +mod index_part; mod layer_map_analyzer; mod layers; use camino::{Utf8Path, Utf8PathBuf}; use clap::{Parser, Subcommand}; +use index_part::IndexPartCmd; use layers::LayerCmd; use pageserver::{ context::{DownloadBehavior, RequestContext}, @@ -38,6 +40,8 @@ struct CliOpts { #[derive(Subcommand)] enum Commands { Metadata(MetadataCmd), + #[command(subcommand)] + IndexPart(IndexPartCmd), PrintLayerFile(PrintLayerFileCmd), DrawTimeline {}, AnalyzeLayerMap(AnalyzeLayerMapCmd), @@ -83,6 +87,9 @@ async fn main() -> anyhow::Result<()> { Commands::Metadata(cmd) => { handle_metadata(&cmd)?; } + Commands::IndexPart(cmd) => { + index_part::main(&cmd).await?; + } Commands::DrawTimeline {} => { draw_timeline_dir::main()?; } diff --git a/pageserver/src/deletion_queue.rs b/pageserver/src/deletion_queue.rs index 6a732d1029..86be1b7094 100644 --- a/pageserver/src/deletion_queue.rs +++ b/pageserver/src/deletion_queue.rs @@ -513,6 +513,7 @@ impl DeletionQueueClient { ) -> Result<(), DeletionQueueError> { if current_generation.is_none() { debug!("Enqueuing deletions in legacy mode, skipping queue"); + let mut layer_paths = Vec::new(); for (layer, generation) in layers { layer_paths.push(remote_layer_path( diff --git a/pageserver/src/http/routes.rs b/pageserver/src/http/routes.rs index aa2b017471..21fd4d786a 100644 --- a/pageserver/src/http/routes.rs +++ b/pageserver/src/http/routes.rs @@ -6,6 +6,7 @@ use std::str::FromStr; use std::sync::Arc; use anyhow::{anyhow, Context, Result}; +use enumset::EnumSet; use futures::TryFutureExt; use humantime::format_rfc3339; use hyper::header; @@ -42,6 +43,7 @@ use crate::tenant::mgr::{ }; use crate::tenant::size::ModelInputs; use crate::tenant::storage_layer::LayerAccessStatsReset; +use crate::tenant::timeline::CompactFlags; use crate::tenant::timeline::Timeline; use crate::tenant::{LogicalSizeCalculationCause, PageReconstructError, TenantSharedResources}; use crate::{config::PageServerConf, tenant::mgr}; @@ -1268,11 +1270,15 @@ async fn timeline_compact_handler( let timeline_id: TimelineId = parse_request_param(&request, "timeline_id")?; check_permission(&request, Some(tenant_id))?; + let mut flags = EnumSet::empty(); + if Some(true) == parse_query_param::<_, bool>(&request, "force_repartition")? { + flags |= CompactFlags::ForceRepartition; + } async { let ctx = RequestContext::new(TaskKind::MgmtRequest, DownloadBehavior::Download); let timeline = active_timeline_of_active_tenant(tenant_id, timeline_id).await?; timeline - .compact(&cancel, &ctx) + .compact(&cancel, flags, &ctx) .await .map_err(|e| ApiError::InternalServerError(e.into()))?; json_response(StatusCode::OK, ()) @@ -1289,6 +1295,11 @@ async fn timeline_checkpoint_handler( let tenant_id: TenantId = parse_request_param(&request, "tenant_id")?; let timeline_id: TimelineId = parse_request_param(&request, "timeline_id")?; check_permission(&request, Some(tenant_id))?; + + let mut flags = EnumSet::empty(); + if Some(true) == parse_query_param::<_, bool>(&request, "force_repartition")? { + flags |= CompactFlags::ForceRepartition; + } async { let ctx = RequestContext::new(TaskKind::MgmtRequest, DownloadBehavior::Download); let timeline = active_timeline_of_active_tenant(tenant_id, timeline_id).await?; @@ -1297,7 +1308,7 @@ async fn timeline_checkpoint_handler( .await .map_err(ApiError::InternalServerError)?; timeline - .compact(&cancel, &ctx) + .compact(&cancel, flags, &ctx) .await .map_err(|e| ApiError::InternalServerError(e.into()))?; diff --git a/pageserver/src/tenant.rs b/pageserver/src/tenant.rs index 507c017532..7ec1395e05 100644 --- a/pageserver/src/tenant.rs +++ b/pageserver/src/tenant.rs @@ -13,6 +13,7 @@ use anyhow::{bail, Context}; use camino::{Utf8Path, Utf8PathBuf}; +use enumset::EnumSet; use futures::FutureExt; use pageserver_api::models::TimelineState; use remote_storage::DownloadError; @@ -1699,7 +1700,7 @@ impl Tenant { for (timeline_id, timeline) in &timelines_to_compact { timeline - .compact(cancel, ctx) + .compact(cancel, EnumSet::empty(), ctx) .instrument(info_span!("compact_timeline", %timeline_id)) .await?; } @@ -4299,7 +4300,9 @@ mod tests { drop(writer); tline.freeze_and_flush().await?; - tline.compact(&CancellationToken::new(), &ctx).await?; + tline + .compact(&CancellationToken::new(), EnumSet::empty(), &ctx) + .await?; let writer = tline.writer().await; writer @@ -4314,7 +4317,9 @@ mod tests { drop(writer); tline.freeze_and_flush().await?; - tline.compact(&CancellationToken::new(), &ctx).await?; + tline + .compact(&CancellationToken::new(), EnumSet::empty(), &ctx) + .await?; let writer = tline.writer().await; writer @@ -4329,7 +4334,9 @@ mod tests { drop(writer); tline.freeze_and_flush().await?; - tline.compact(&CancellationToken::new(), &ctx).await?; + tline + .compact(&CancellationToken::new(), EnumSet::empty(), &ctx) + .await?; let writer = tline.writer().await; writer @@ -4344,7 +4351,9 @@ mod tests { drop(writer); tline.freeze_and_flush().await?; - tline.compact(&CancellationToken::new(), &ctx).await?; + tline + .compact(&CancellationToken::new(), EnumSet::empty(), &ctx) + .await?; assert_eq!( tline.get(*TEST_KEY, Lsn(0x10), &ctx).await?, @@ -4415,7 +4424,9 @@ mod tests { .update_gc_info(Vec::new(), cutoff, Duration::ZERO, &ctx) .await?; tline.freeze_and_flush().await?; - tline.compact(&CancellationToken::new(), &ctx).await?; + tline + .compact(&CancellationToken::new(), EnumSet::empty(), &ctx) + .await?; tline.gc().await?; } @@ -4495,7 +4506,9 @@ mod tests { .update_gc_info(Vec::new(), cutoff, Duration::ZERO, &ctx) .await?; tline.freeze_and_flush().await?; - tline.compact(&CancellationToken::new(), &ctx).await?; + tline + .compact(&CancellationToken::new(), EnumSet::empty(), &ctx) + .await?; tline.gc().await?; } @@ -4585,7 +4598,9 @@ mod tests { .update_gc_info(Vec::new(), cutoff, Duration::ZERO, &ctx) .await?; tline.freeze_and_flush().await?; - tline.compact(&CancellationToken::new(), &ctx).await?; + tline + .compact(&CancellationToken::new(), EnumSet::empty(), &ctx) + .await?; tline.gc().await?; } diff --git a/pageserver/src/tenant/remote_timeline_client.rs b/pageserver/src/tenant/remote_timeline_client.rs index bbf6a0c5c5..8ec26f0b0b 100644 --- a/pageserver/src/tenant/remote_timeline_client.rs +++ b/pageserver/src/tenant/remote_timeline_client.rs @@ -816,7 +816,7 @@ impl RemoteTimelineClient { let mut receiver = { let mut guard = self.upload_queue.lock().unwrap(); let upload_queue = guard.initialized_mut()?; - self.schedule_barrier(upload_queue) + self.schedule_barrier0(upload_queue) }; if receiver.changed().await.is_err() { @@ -825,7 +825,14 @@ impl RemoteTimelineClient { Ok(()) } - fn schedule_barrier( + pub(crate) fn schedule_barrier(self: &Arc) -> anyhow::Result<()> { + let mut guard = self.upload_queue.lock().unwrap(); + let upload_queue = guard.initialized_mut()?; + self.schedule_barrier0(upload_queue); + Ok(()) + } + + fn schedule_barrier0( self: &Arc, upload_queue: &mut UploadQueueInitialized, ) -> tokio::sync::watch::Receiver<()> { @@ -1229,16 +1236,18 @@ impl RemoteTimelineClient { } res } - UploadOp::Delete(delete) => self - .deletion_queue_client - .push_layers( - self.tenant_id, - self.timeline_id, - self.generation, - delete.layers.clone(), - ) - .await - .map_err(|e| anyhow::anyhow!(e)), + UploadOp::Delete(delete) => { + pausable_failpoint!("before-delete-layer-pausable"); + self.deletion_queue_client + .push_layers( + self.tenant_id, + self.timeline_id, + self.generation, + delete.layers.clone(), + ) + .await + .map_err(|e| anyhow::anyhow!(e)) + } UploadOp::Barrier(_) => { // unreachable. Barrier operations are handled synchronously in // launch_queued_tasks diff --git a/pageserver/src/tenant/remote_timeline_client/index.rs b/pageserver/src/tenant/remote_timeline_client/index.rs index fa0679c7a2..0d0b34365c 100644 --- a/pageserver/src/tenant/remote_timeline_client/index.rs +++ b/pageserver/src/tenant/remote_timeline_client/index.rs @@ -128,6 +128,14 @@ impl IndexPart { pub fn get_disk_consistent_lsn(&self) -> Lsn { self.disk_consistent_lsn } + + pub fn from_s3_bytes(bytes: &[u8]) -> Result { + serde_json::from_slice::(bytes) + } + + pub fn to_s3_bytes(&self) -> serde_json::Result> { + serde_json::to_vec(self) + } } impl TryFrom<&UploadQueueInitialized> for IndexPart { @@ -201,7 +209,7 @@ mod tests { deleted_at: None, }; - let part = serde_json::from_str::(example).unwrap(); + let part = IndexPart::from_s3_bytes(example.as_bytes()).unwrap(); assert_eq!(part, expected); } @@ -239,7 +247,7 @@ mod tests { deleted_at: None, }; - let part = serde_json::from_str::(example).unwrap(); + let part = IndexPart::from_s3_bytes(example.as_bytes()).unwrap(); assert_eq!(part, expected); } @@ -279,7 +287,7 @@ mod tests { "2023-07-31T09:00:00.123000000", "%Y-%m-%dT%H:%M:%S.%f").unwrap()) }; - let part = serde_json::from_str::(example).unwrap(); + let part = IndexPart::from_s3_bytes(example.as_bytes()).unwrap(); assert_eq!(part, expected); } @@ -323,7 +331,7 @@ mod tests { deleted_at: None, }; - let empty_layers_parsed = serde_json::from_str::(empty_layers_json).unwrap(); + let empty_layers_parsed = IndexPart::from_s3_bytes(empty_layers_json.as_bytes()).unwrap(); assert_eq!(empty_layers_parsed, expected); } @@ -361,7 +369,7 @@ mod tests { "2023-07-31T09:00:00.123000000", "%Y-%m-%dT%H:%M:%S.%f").unwrap()) }; - let part = serde_json::from_str::(example).unwrap(); + let part = IndexPart::from_s3_bytes(example.as_bytes()).unwrap(); assert_eq!(part, expected); } } diff --git a/pageserver/src/tenant/remote_timeline_client/upload.rs b/pageserver/src/tenant/remote_timeline_client/upload.rs index 0a37a8f283..01237653ca 100644 --- a/pageserver/src/tenant/remote_timeline_client/upload.rs +++ b/pageserver/src/tenant/remote_timeline_client/upload.rs @@ -33,8 +33,9 @@ pub(super) async fn upload_index_part<'a>( }); pausable_failpoint!("before-upload-index-pausable"); - let index_part_bytes = - serde_json::to_vec(&index_part).context("serialize index part file into bytes")?; + let index_part_bytes = index_part + .to_s3_bytes() + .context("serialize index part file into bytes")?; let index_part_size = index_part_bytes.len(); let index_part_bytes = tokio::io::BufReader::new(std::io::Cursor::new(index_part_bytes)); diff --git a/pageserver/src/tenant/timeline.rs b/pageserver/src/tenant/timeline.rs index 7ae7b7e7e4..763b18ccc3 100644 --- a/pageserver/src/tenant/timeline.rs +++ b/pageserver/src/tenant/timeline.rs @@ -10,6 +10,7 @@ mod walreceiver; use anyhow::{anyhow, bail, ensure, Context, Result}; use bytes::Bytes; use camino::{Utf8Path, Utf8PathBuf}; +use enumset::EnumSet; use fail::fail_point; use itertools::Itertools; use pageserver_api::models::{ @@ -437,6 +438,11 @@ pub enum LogicalSizeCalculationCause { TenantSizeHandler, } +#[derive(enumset::EnumSetType)] +pub(crate) enum CompactFlags { + ForceRepartition, +} + /// Public interface functions impl Timeline { /// Get the LSN where this branch was created @@ -694,6 +700,7 @@ impl Timeline { pub(crate) async fn compact( self: &Arc, cancel: &CancellationToken, + flags: EnumSet, ctx: &RequestContext, ) -> Result<(), CompactionError> { // this wait probably never needs any "long time spent" logging, because we already nag if @@ -766,6 +773,7 @@ impl Timeline { .repartition( self.get_last_record_lsn(), self.get_compaction_target_size(), + flags, ctx, ) .await @@ -1711,6 +1719,30 @@ impl Timeline { if let Some(rtc) = self.remote_client.as_ref() { rtc.schedule_layer_file_deletion(&needs_cleanup)?; rtc.schedule_index_upload_for_file_changes()?; + // This barrier orders above DELETEs before any later operations. + // This is critical because code executing after the barrier might + // create again objects with the same key that we just scheduled for deletion. + // For example, if we just scheduled deletion of an image layer "from the future", + // later compaction might run again and re-create the same image layer. + // "from the future" here means an image layer whose LSN is > IndexPart::disk_consistent_lsn. + // "same" here means same key range and LSN. + // + // Without a barrier between above DELETEs and the re-creation's PUTs, + // the upload queue may execute the PUT first, then the DELETE. + // In our example, we will end up with an IndexPart referencing a non-existent object. + // + // 1. a future image layer is created and uploaded + // 2. ps restart + // 3. the future layer from (1) is deleted during load layer map + // 4. image layer is re-created and uploaded + // 5. deletion queue would like to delete (1) but actually deletes (4) + // 6. delete by name works as expected, but it now deletes the wrong (later) version + // + // See https://github.com/neondatabase/neon/issues/5878 + // + // NB: generation numbers naturally protect against this because they disambiguate + // (1) and (4) + rtc.schedule_barrier()?; // Tenant::create_timeline will wait for these uploads to happen before returning, or // on retry. } @@ -2525,7 +2557,12 @@ impl Timeline { // Note: The 'ctx' in use here has DownloadBehavior::Error. We should not // require downloading anything during initial import. let (partitioning, _lsn) = self - .repartition(self.initdb_lsn, self.get_compaction_target_size(), ctx) + .repartition( + self.initdb_lsn, + self.get_compaction_target_size(), + EnumSet::empty(), + ctx, + ) .await?; if self.cancel.is_cancelled() { @@ -2744,12 +2781,16 @@ impl Timeline { &self, lsn: Lsn, partition_size: u64, + flags: EnumSet, ctx: &RequestContext, ) -> anyhow::Result<(KeyPartitioning, Lsn)> { { let partitioning_guard = self.partitioning.lock().unwrap(); let distance = lsn.0 - partitioning_guard.1 .0; - if partitioning_guard.1 != Lsn(0) && distance <= self.repartition_threshold { + if partitioning_guard.1 != Lsn(0) + && distance <= self.repartition_threshold + && !flags.contains(CompactFlags::ForceRepartition) + { debug!( distance, threshold = self.repartition_threshold, diff --git a/test_runner/fixtures/neon_fixtures.py b/test_runner/fixtures/neon_fixtures.py index 4776fbc511..def42e94b1 100644 --- a/test_runner/fixtures/neon_fixtures.py +++ b/test_runner/fixtures/neon_fixtures.py @@ -42,6 +42,7 @@ from urllib3.util.retry import Retry from fixtures.broker import NeonBroker from fixtures.log_helper import log from fixtures.pageserver.http import PageserverHttpClient +from fixtures.pageserver.types import IndexPartDump from fixtures.pageserver.utils import wait_for_last_record_lsn, wait_for_upload from fixtures.pg_version import PgVersion from fixtures.port_distributor import PortDistributor @@ -702,6 +703,7 @@ class NeonEnv: self.port_distributor = config.port_distributor self.s3_mock_server = config.mock_s3_server self.neon_cli = NeonCli(env=self) + self.pagectl = Pagectl(env=self) self.endpoints = EndpointFactory(self) self.safekeepers: List[Safekeeper] = [] self.pageservers: List[NeonPageserver] = [] @@ -1558,6 +1560,20 @@ class ComputeCtl(AbstractNeonCli): COMMAND = "compute_ctl" +class Pagectl(AbstractNeonCli): + """ + A typed wrapper around the `pagectl` utility CLI tool. + """ + + COMMAND = "pagectl" + + def dump_index_part(self, path: Path) -> IndexPartDump: + res = self.raw_cli(["index-part", "dump", str(path)]) + res.check_returncode() + parsed = json.loads(res.stdout) + return IndexPartDump.from_json(parsed) + + class NeonAttachmentService: def __init__(self, env: NeonEnv): self.env = env diff --git a/test_runner/fixtures/pageserver/http.py b/test_runner/fixtures/pageserver/http.py index aff7959aa7..2f1d68b92c 100644 --- a/test_runner/fixtures/pageserver/http.py +++ b/test_runner/fixtures/pageserver/http.py @@ -432,12 +432,18 @@ class PageserverHttpClient(requests.Session): assert isinstance(res_json, dict) return res_json - def timeline_compact(self, tenant_id: TenantId, timeline_id: TimelineId): + def timeline_compact( + self, tenant_id: TenantId, timeline_id: TimelineId, force_repartition=False + ): self.is_testing_enabled_or_skip() + query = {} + if force_repartition: + query["force_repartition"] = "true" log.info(f"Requesting compact: tenant {tenant_id}, timeline {timeline_id}") res = self.put( - f"http://localhost:{self.port}/v1/tenant/{tenant_id}/timeline/{timeline_id}/compact" + f"http://localhost:{self.port}/v1/tenant/{tenant_id}/timeline/{timeline_id}/compact", + params=query, ) log.info(f"Got compact request response code: {res.status_code}") self.verbose_error(res) @@ -466,12 +472,18 @@ class PageserverHttpClient(requests.Session): res_json = res.json() return res_json - def timeline_checkpoint(self, tenant_id: TenantId, timeline_id: TimelineId): + def timeline_checkpoint( + self, tenant_id: TenantId, timeline_id: TimelineId, force_repartition=False + ): self.is_testing_enabled_or_skip() + query = {} + if force_repartition: + query["force_repartition"] = "true" log.info(f"Requesting checkpoint: tenant {tenant_id}, timeline {timeline_id}") res = self.put( - f"http://localhost:{self.port}/v1/tenant/{tenant_id}/timeline/{timeline_id}/checkpoint" + f"http://localhost:{self.port}/v1/tenant/{tenant_id}/timeline/{timeline_id}/checkpoint", + params=query, ) log.info(f"Got checkpoint request response code: {res.status_code}") self.verbose_error(res) diff --git a/test_runner/fixtures/pageserver/types.py b/test_runner/fixtures/pageserver/types.py new file mode 100644 index 0000000000..30e3f527bf --- /dev/null +++ b/test_runner/fixtures/pageserver/types.py @@ -0,0 +1,146 @@ +from dataclasses import dataclass +from typing import Any, Dict, Tuple, Union + +from fixtures.types import KEY_MAX, KEY_MIN, Key, Lsn + + +@dataclass +class IndexLayerMetadata: + @classmethod + def from_json(cls, d: Dict[str, Any]): + return {} + + +@dataclass(frozen=True) +class ImageLayerFileName: + lsn: Lsn + key_start: Key + key_end: Key + + def to_str(self): + ret = ( + f"{self.key_start.as_int():036X}-{self.key_end.as_int():036X}__{self.lsn.as_int():016X}" + ) + assert self == parse_layer_file_name(ret) + return ret + + +@dataclass(frozen=True) +class DeltaLayerFileName: + lsn_start: Lsn + lsn_end: Lsn + key_start: Key + key_end: Key + + def is_l0(self): + return self.key_start == KEY_MIN and self.key_end == KEY_MAX + + def to_str(self): + ret = f"{self.key_start.as_int():036X}-{self.key_end.as_int():036X}__{self.lsn_start.as_int():016X}-{self.lsn_end.as_int():016X}" + assert self == parse_layer_file_name(ret) + return ret + + +LayerFileName = Union[ImageLayerFileName, DeltaLayerFileName] + + +class InvalidFileName(Exception): + pass + + +def parse_image_layer(f_name: str) -> Tuple[int, int, int]: + """Parse an image layer file name. Return key start, key end, and snapshot lsn""" + parts = f_name.split("__") + if len(parts) != 2: + raise InvalidFileName(f"expecting two parts separated by '__', got: {parts}") + key_parts = parts[0].split("-") + if len(key_parts) != 2: + raise InvalidFileName( + f"expecting two key parts separated by '--' in parts[0], got: {key_parts}" + ) + try: + return int(key_parts[0], 16), int(key_parts[1], 16), int(parts[1], 16) + except ValueError as e: + raise InvalidFileName(f"conversion error: {f_name}") from e + + +def parse_delta_layer(f_name: str) -> Tuple[int, int, int, int]: + """Parse a delta layer file name. Return key start, key end, lsn start, and lsn end""" + parts = f_name.split("__") + if len(parts) != 2: + raise InvalidFileName(f"expecting two parts separated by '__', got: {parts}") + key_parts = parts[0].split("-") + if len(key_parts) != 2: + raise InvalidFileName( + f"expecting two key parts separated by '--' in parts[0], got: {key_parts}" + ) + lsn_parts = parts[1].split("-") + if len(lsn_parts) != 2: + raise InvalidFileName( + f"expecting two lsn parts separated by '--' in parts[1], got: {lsn_parts}" + ) + try: + return ( + int(key_parts[0], 16), + int(key_parts[1], 16), + int(lsn_parts[0], 16), + int(lsn_parts[1], 16), + ) + except ValueError as e: + raise InvalidFileName(f"conversion error: {f_name}") from e + + +def parse_layer_file_name(file_name: str) -> LayerFileName: + try: + key_start, key_end, lsn = parse_image_layer(file_name) + return ImageLayerFileName(lsn=Lsn(lsn), key_start=Key(key_start), key_end=Key(key_end)) + except InvalidFileName: + pass + + try: + key_start, key_end, lsn_start, lsn_end = parse_delta_layer(file_name) + return DeltaLayerFileName( + lsn_start=Lsn(lsn_start), + lsn_end=Lsn(lsn_end), + key_start=Key(key_start), + key_end=Key(key_end), + ) + except InvalidFileName: + pass + + raise ValueError() + + +def is_future_layer(layer_file_name: LayerFileName, disk_consistent_lsn: Lsn): + """ + Determines if this layer file is considered to be in future meaning we will discard these + layers during timeline initialization from the given disk_consistent_lsn. + """ + if ( + isinstance(layer_file_name, ImageLayerFileName) + and layer_file_name.lsn > disk_consistent_lsn + ): + return True + elif ( + isinstance(layer_file_name, DeltaLayerFileName) + and layer_file_name.lsn_end > disk_consistent_lsn + 1 + ): + return True + else: + return False + + +@dataclass +class IndexPartDump: + layer_metadata: Dict[LayerFileName, IndexLayerMetadata] + disk_consistent_lsn: Lsn + + @classmethod + def from_json(cls, d: Dict[str, Any]) -> "IndexPartDump": + return IndexPartDump( + layer_metadata={ + parse_layer_file_name(n): IndexLayerMetadata.from_json(v) + for n, v in d["layer_metadata"].items() + }, + disk_consistent_lsn=Lsn(d["disk_consistent_lsn"]), + ) diff --git a/test_runner/fixtures/remote_storage.py b/test_runner/fixtures/remote_storage.py index 535f8c2fe7..954c3142a3 100644 --- a/test_runner/fixtures/remote_storage.py +++ b/test_runner/fixtures/remote_storage.py @@ -12,6 +12,7 @@ import boto3 from mypy_boto3_s3 import S3Client from fixtures.log_helper import log +from fixtures.pageserver.types import LayerFileName from fixtures.types import TenantId, TimelineId TIMELINE_INDEX_PART_FILE_NAME = "index_part.json" @@ -87,6 +88,11 @@ class LocalFsStorage: def timeline_path(self, tenant_id: TenantId, timeline_id: TimelineId) -> Path: return self.tenant_path(tenant_id) / "timelines" / str(timeline_id) + def layer_path( + self, tenant_id: TenantId, timeline_id: TimelineId, layer_file_name: LayerFileName + ): + return self.timeline_path(tenant_id, timeline_id) / layer_file_name.to_str() + def index_path(self, tenant_id: TenantId, timeline_id: TimelineId) -> Path: return self.timeline_path(tenant_id, timeline_id) / TIMELINE_INDEX_PART_FILE_NAME diff --git a/test_runner/fixtures/types.py b/test_runner/fixtures/types.py index ef88e09de4..d95368f990 100644 --- a/test_runner/fixtures/types.py +++ b/test_runner/fixtures/types.py @@ -1,4 +1,5 @@ import random +from dataclasses import dataclass from functools import total_ordering from typing import Any, Type, TypeVar, Union @@ -36,6 +37,11 @@ class Lsn: return NotImplemented return self.lsn_int < other.lsn_int + def __gt__(self, other: Any) -> bool: + if not isinstance(other, Lsn): + raise NotImplementedError + return self.lsn_int > other.lsn_int + def __eq__(self, other: Any) -> bool: if not isinstance(other, Lsn): return NotImplemented @@ -47,9 +53,32 @@ class Lsn: return NotImplemented return self.lsn_int - other.lsn_int + def __add__(self, other: Union[int, "Lsn"]) -> "Lsn": + if isinstance(other, int): + return Lsn(self.lsn_int + other) + elif isinstance(other, Lsn): + return Lsn(self.lsn_int + other.lsn_int) + else: + raise NotImplementedError + def __hash__(self) -> int: return hash(self.lsn_int) + def as_int(self) -> int: + return self.lsn_int + + +@dataclass(frozen=True) +class Key: + key_int: int + + def as_int(self) -> int: + return self.key_int + + +KEY_MAX = Key(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) +KEY_MIN = Key(0) + @total_ordering class Id: diff --git a/test_runner/fixtures/utils.py b/test_runner/fixtures/utils.py index ba8d70d5a9..6e857766e5 100644 --- a/test_runner/fixtures/utils.py +++ b/test_runner/fixtures/utils.py @@ -6,7 +6,16 @@ import subprocess import threading import time from pathlib import Path -from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional, Tuple, TypeVar +from typing import ( + TYPE_CHECKING, + Any, + Callable, + Dict, + List, + Optional, + Tuple, + TypeVar, +) from urllib.parse import urlencode import allure @@ -14,6 +23,10 @@ import zstandard from psycopg2.extensions import cursor from fixtures.log_helper import log +from fixtures.pageserver.types import ( + parse_delta_layer, + parse_image_layer, +) if TYPE_CHECKING: from fixtures.neon_fixtures import PgBin @@ -193,26 +206,6 @@ def get_timeline_dir_size(path: Path) -> int: return sz -def parse_image_layer(f_name: str) -> Tuple[int, int, int]: - """Parse an image layer file name. Return key start, key end, and snapshot lsn""" - parts = f_name.split("__") - key_parts = parts[0].split("-") - return int(key_parts[0], 16), int(key_parts[1], 16), int(parts[1], 16) - - -def parse_delta_layer(f_name: str) -> Tuple[int, int, int, int]: - """Parse a delta layer file name. Return key start, key end, lsn start, and lsn end""" - parts = f_name.split("__") - key_parts = parts[0].split("-") - lsn_parts = parts[1].split("-") - return ( - int(key_parts[0], 16), - int(key_parts[1], 16), - int(lsn_parts[0], 16), - int(lsn_parts[1], 16), - ) - - def get_scale_for_db(size_mb: int) -> int: """Returns pgbench scale factor for given target db size in MB. diff --git a/test_runner/regress/test_layers_from_future.py b/test_runner/regress/test_layers_from_future.py new file mode 100644 index 0000000000..b36c927628 --- /dev/null +++ b/test_runner/regress/test_layers_from_future.py @@ -0,0 +1,222 @@ +import time + +from fixtures.log_helper import log +from fixtures.neon_fixtures import NeonEnvBuilder +from fixtures.pageserver.types import ( + DeltaLayerFileName, + ImageLayerFileName, + is_future_layer, +) +from fixtures.pageserver.utils import ( + wait_for_last_record_lsn, + wait_for_upload_queue_empty, + wait_until_tenant_active, +) +from fixtures.remote_storage import LocalFsStorage, RemoteStorageKind +from fixtures.types import Lsn +from fixtures.utils import query_scalar, wait_until + + +def test_issue_5878(neon_env_builder: NeonEnvBuilder): + """ + Regression test for issue https://github.com/neondatabase/neon/issues/5878 . + + Create a situation where IndexPart contains an image layer from a future + (i.e., image layer > IndexPart::disk_consistent_lsn). + Detach. + Attach. + Wait for tenant to finish load_layer_map (by waiting for it to become active). + Wait for any remote timeline client ops to finish that the attach started. + Integrity-check the index part. + + Before fixing the issue, load_layer_map would schedule removal of the future + image layer. A compaction run could later re-create the image layer with + the same file name, scheduling a PUT. + Due to lack of an upload queue barrier, the PUT and DELETE could be re-ordered. + The result was IndexPart referencing a non-existent object. + """ + neon_env_builder.enable_pageserver_remote_storage(RemoteStorageKind.LOCAL_FS) + + env = neon_env_builder.init_start() + + ps_http = env.pageserver.http_client() + + l0_l1_threshold = 3 + image_creation_threshold = 1 + + tenant_config = { + "gc_period": "0s", # disable GC (shouldn't matter for this test but still) + "compaction_period": "0s", # we want to control when compaction runs + "checkpoint_timeout": "24h", # something we won't reach + "checkpoint_distance": f"{50 * (1024**2)}", # something we won't reach, we checkpoint manually + "image_creation_threshold": f"{image_creation_threshold}", + "compaction_threshold": f"{l0_l1_threshold}", + "compaction_target_size": f"{128 * (1024**3)}", # make it so that we only have 1 partition => image coverage for delta layers => enables gc of delta layers + } + + tenant_id, timeline_id = env.neon_cli.create_tenant(conf=tenant_config) + + endpoint = env.endpoints.create_start("main", tenant_id=tenant_id) + + def get_index_part(): + assert isinstance(env.pageserver_remote_storage, LocalFsStorage) + ip_path = env.pageserver_remote_storage.index_path(tenant_id, timeline_id) + return env.pagectl.dump_index_part(ip_path) + + def get_future_layers(): + ip = get_index_part() + future_layers = [ + layer_file_name + for layer_file_name in ip.layer_metadata.keys() + if is_future_layer(layer_file_name, ip.disk_consistent_lsn) + ] + return future_layers + + assert len(get_future_layers()) == 0 + + current = get_index_part() + assert len(set(current.layer_metadata.keys())) == 1 + layer_file_name = list(current.layer_metadata.keys())[0] + assert isinstance(layer_file_name, DeltaLayerFileName) + assert layer_file_name.is_l0(), f"{layer_file_name}" + + log.info("force image layer creation in the future by writing some data into in-memory layer") + + # Create a number of layers in the tenant + with endpoint.cursor() as cur: + cur.execute("CREATE TABLE foo (t text)") + iters = l0_l1_threshold * image_creation_threshold + for i in range(0, iters): + cur.execute( + f""" + INSERT INTO foo + SELECT '{i}' || g + FROM generate_series(1, 10000) g + """ + ) + last_record_lsn = Lsn(query_scalar(cur, "SELECT pg_current_wal_flush_lsn()")) + wait_for_last_record_lsn(ps_http, tenant_id, timeline_id, last_record_lsn) + # 0..iters-1: create a stack of delta layers + # iters: leave a non-empty in-memory layer which we'll use for image layer generation + if i < iters - 1: + ps_http.timeline_checkpoint(tenant_id, timeline_id, force_repartition=True) + assert ( + len( + [ + layer + for layer in ps_http.layer_map_info( + tenant_id, timeline_id + ).historic_layers + if layer.kind == "Image" + ] + ) + == 0 + ) + + endpoint.stop() + + wait_for_upload_queue_empty(ps_http, tenant_id, timeline_id) + + ip = get_index_part() + assert len(ip.layer_metadata.keys()) + assert ( + ip.disk_consistent_lsn < last_record_lsn + ), "sanity check for what above loop is supposed to do" + + # create the image layer from the future + ps_http.timeline_compact(tenant_id, timeline_id, force_repartition=True) + assert ( + len( + [ + layer + for layer in ps_http.layer_map_info(tenant_id, timeline_id).historic_layers + if layer.kind == "Image" + ] + ) + == 1 + ) + wait_for_upload_queue_empty(ps_http, tenant_id, timeline_id) + future_layers = get_future_layers() + assert len(future_layers) == 1 + future_layer = future_layers[0] + assert isinstance(future_layer, ImageLayerFileName) + assert future_layer.lsn == last_record_lsn + log.info( + f"got layer from the future: lsn={future_layer.lsn} disk_consistent_lsn={ip.disk_consistent_lsn} last_record_lsn={last_record_lsn}" + ) + assert isinstance(env.pageserver_remote_storage, LocalFsStorage) + future_layer_path = env.pageserver_remote_storage.layer_path( + tenant_id, timeline_id, future_layer + ) + log.info(f"future layer path: {future_layer_path}") + pre_stat = future_layer_path.stat() + time.sleep(1.1) # so that we can use change in pre_stat.st_mtime to detect overwrites + + # force removal of layers from the future + tenant_conf = ps_http.tenant_config(tenant_id) + ps_http.tenant_detach(tenant_id) + failpoint_name = "before-delete-layer-pausable" + ps_http.configure_failpoints((failpoint_name, "pause")) + ps_http.tenant_attach(tenant_id, tenant_conf.tenant_specific_overrides) + wait_until_tenant_active(ps_http, tenant_id) + + # Ensure the IndexPart upload that unlinks the layer file finishes, i.e., doesn't clog the queue. + def future_layer_is_gone_from_index_part(): + future_layers = set(get_future_layers()) + assert future_layer not in future_layers + + wait_until(10, 0.5, future_layer_is_gone_from_index_part) + + # NB: the layer file is unlinked index part now, but, because we made the delete + # operation stuck, the layer file itself is still in the remote_storage + def delete_at_pause_point(): + assert env.pageserver.log_contains(f".*{tenant_id}.*at failpoint.*{failpoint_name}") + + wait_until(10, 0.5, delete_at_pause_point) + assert future_layer_path.exists() + + # wait for re-ingestion of the WAL from safekeepers into the in-memory layer + # (this happens in parallel to the above) + wait_for_last_record_lsn(ps_http, tenant_id, timeline_id, last_record_lsn) + + # re-do image layer generation + # This will produce the same image layer and queue an upload. + # However, we still have the deletion for the layer queued, stuck on the failpoint. + # An incorrect implementation would let the PUT execute before the DELETE. + # The later code in this test asserts that this doesn't happen. + ps_http.timeline_compact(tenant_id, timeline_id, force_repartition=True) + + # Let things sit for some time; a good implementation makes no progress because + # we can't execute the PUT before the DELETE. A bad implementation would do that. + max_race_opportunity_window = 4 + start = time.monotonic() + while True: + post_stat = future_layer_path.stat() + assert ( + pre_stat.st_mtime == post_stat.st_mtime + ), "observed PUT overtake the stucked DELETE => bug isn't fixed yet" + if time.monotonic() - start > max_race_opportunity_window: + log.info( + "a correct implementation would never let the later PUT overtake the earlier DELETE" + ) + break + time.sleep(1) + + # Window has passed, unstuck the delete, let upload queue drain. + log.info("unstuck the DELETE") + ps_http.configure_failpoints(("before-delete-layer-pausable", "off")) + + wait_for_upload_queue_empty(ps_http, tenant_id, timeline_id) + + # Examine the resulting S3 state. + log.info("integrity-check the remote storage") + ip = get_index_part() + for layer_file_name in ip.layer_metadata.keys(): + layer_path = env.pageserver_remote_storage.layer_path( + tenant_id, timeline_id, layer_file_name + ) + assert layer_path.exists(), f"{layer_file_name.to_str()}" + + log.info("assert that the overwritten layer won") + final_stat = future_layer_path.stat() + assert final_stat.st_mtime != pre_stat.st_mtime From b7a988ba460c5de91f9f357b31c2a1abc00c9f35 Mon Sep 17 00:00:00 2001 From: Shany Pozin Date: Thu, 23 Nov 2023 17:08:32 +0200 Subject: [PATCH 06/38] Support cancellation for find_lsn_for_timestamp API (#5904) ## Problem #5900 ## Summary of changes Added cancellation token as param in all relevant code paths and actually used it in the find_lsn_for_timestamp main loop --- pageserver/src/bin/pageserver.rs | 1 + pageserver/src/consumption_metrics.rs | 23 ++++- pageserver/src/http/routes.rs | 13 ++- pageserver/src/pgdatadir_mapping.rs | 5 + pageserver/src/tenant.rs | 94 ++++++++++++++++--- pageserver/src/tenant/mgr.rs | 3 +- pageserver/src/tenant/size.rs | 4 +- pageserver/src/tenant/tasks.rs | 2 +- pageserver/src/tenant/timeline.rs | 6 +- .../src/tenant/timeline/eviction_task.rs | 5 +- 10 files changed, 125 insertions(+), 31 deletions(-) diff --git a/pageserver/src/bin/pageserver.rs b/pageserver/src/bin/pageserver.rs index f971b0a88d..542c1b7b30 100644 --- a/pageserver/src/bin/pageserver.rs +++ b/pageserver/src/bin/pageserver.rs @@ -625,6 +625,7 @@ fn start_pageserver( conf.synthetic_size_calculation_interval, conf.id, local_disk_storage, + cancel, metrics_ctx, ) .instrument(info_span!("metrics_collection")) diff --git a/pageserver/src/consumption_metrics.rs b/pageserver/src/consumption_metrics.rs index 9e8377c1f1..7ad6a0f890 100644 --- a/pageserver/src/consumption_metrics.rs +++ b/pageserver/src/consumption_metrics.rs @@ -3,7 +3,7 @@ use crate::context::{DownloadBehavior, RequestContext}; use crate::task_mgr::{self, TaskKind, BACKGROUND_RUNTIME}; use crate::tenant::tasks::BackgroundLoopKind; -use crate::tenant::{mgr, LogicalSizeCalculationCause}; +use crate::tenant::{mgr, LogicalSizeCalculationCause, PageReconstructError}; use camino::Utf8PathBuf; use consumption_metrics::EventType; use pageserver_api::models::TenantState; @@ -12,6 +12,7 @@ use std::collections::HashMap; use std::sync::Arc; use std::time::{Duration, SystemTime}; use tokio::time::Instant; +use tokio_util::sync::CancellationToken; use tracing::*; use utils::id::NodeId; @@ -37,6 +38,7 @@ type RawMetric = (MetricsKey, (EventType, u64)); type Cache = HashMap; /// Main thread that serves metrics collection +#[allow(clippy::too_many_arguments)] pub async fn collect_metrics( metric_collection_endpoint: &Url, metric_collection_interval: Duration, @@ -44,6 +46,7 @@ pub async fn collect_metrics( synthetic_size_calculation_interval: Duration, node_id: NodeId, local_disk_storage: Utf8PathBuf, + cancel: CancellationToken, ctx: RequestContext, ) -> anyhow::Result<()> { if _cached_metric_collection_interval != Duration::ZERO { @@ -63,9 +66,13 @@ pub async fn collect_metrics( "synthetic size calculation", false, async move { - calculate_synthetic_size_worker(synthetic_size_calculation_interval, &worker_ctx) - .instrument(info_span!("synthetic_size_worker")) - .await?; + calculate_synthetic_size_worker( + synthetic_size_calculation_interval, + &cancel, + &worker_ctx, + ) + .instrument(info_span!("synthetic_size_worker")) + .await?; Ok(()) }, ); @@ -241,6 +248,7 @@ async fn reschedule( /// Caclculate synthetic size for each active tenant async fn calculate_synthetic_size_worker( synthetic_size_calculation_interval: Duration, + cancel: &CancellationToken, ctx: &RequestContext, ) -> anyhow::Result<()> { info!("starting calculate_synthetic_size_worker"); @@ -272,7 +280,12 @@ async fn calculate_synthetic_size_worker( // Same for the loop that fetches computed metrics. // By using the same limiter, we centralize metrics collection for "start" and "finished" counters, // which turns out is really handy to understand the system. - if let Err(e) = tenant.calculate_synthetic_size(cause, ctx).await { + if let Err(e) = tenant.calculate_synthetic_size(cause, cancel, ctx).await { + if let Some(PageReconstructError::Cancelled) = + e.downcast_ref::() + { + return Ok(()); + } error!("failed to calculate synthetic size for tenant {tenant_id}: {e:#}"); } } diff --git a/pageserver/src/http/routes.rs b/pageserver/src/http/routes.rs index 21fd4d786a..8bc652acef 100644 --- a/pageserver/src/http/routes.rs +++ b/pageserver/src/http/routes.rs @@ -550,7 +550,7 @@ async fn timeline_detail_handler( async fn get_lsn_by_timestamp_handler( request: Request, - _cancel: CancellationToken, + cancel: CancellationToken, ) -> Result, ApiError> { let tenant_id: TenantId = parse_request_param(&request, "tenant_id")?; check_permission(&request, Some(tenant_id))?; @@ -566,7 +566,9 @@ async fn get_lsn_by_timestamp_handler( let ctx = RequestContext::new(TaskKind::MgmtRequest, DownloadBehavior::Download); let timeline = active_timeline_of_active_tenant(tenant_id, timeline_id).await?; - let result = timeline.find_lsn_for_timestamp(timestamp_pg, &ctx).await?; + let result = timeline + .find_lsn_for_timestamp(timestamp_pg, &cancel, &ctx) + .await?; if version.unwrap_or(0) > 1 { #[derive(serde::Serialize)] @@ -842,7 +844,7 @@ async fn tenant_delete_handler( /// without modifying anything anyway. async fn tenant_size_handler( request: Request, - _cancel: CancellationToken, + cancel: CancellationToken, ) -> Result, ApiError> { let tenant_id: TenantId = parse_request_param(&request, "tenant_id")?; check_permission(&request, Some(tenant_id))?; @@ -858,6 +860,7 @@ async fn tenant_size_handler( .gather_size_inputs( retention_period, LogicalSizeCalculationCause::TenantSizeHandler, + &cancel, &ctx, ) .await @@ -1242,7 +1245,7 @@ async fn failpoints_handler( // Run GC immediately on given timeline. async fn timeline_gc_handler( mut request: Request, - _cancel: CancellationToken, + cancel: CancellationToken, ) -> Result, ApiError> { let tenant_id: TenantId = parse_request_param(&request, "tenant_id")?; let timeline_id: TimelineId = parse_request_param(&request, "timeline_id")?; @@ -1251,7 +1254,7 @@ async fn timeline_gc_handler( let gc_req: TimelineGcRequest = json_request(&mut request).await?; let ctx = RequestContext::new(TaskKind::MgmtRequest, DownloadBehavior::Download); - let wait_task_done = mgr::immediate_gc(tenant_id, timeline_id, gc_req, &ctx).await?; + let wait_task_done = mgr::immediate_gc(tenant_id, timeline_id, gc_req, cancel, &ctx).await?; let gc_result = wait_task_done .await .context("wait for gc task") diff --git a/pageserver/src/pgdatadir_mapping.rs b/pageserver/src/pgdatadir_mapping.rs index 827278af72..15d5609ceb 100644 --- a/pageserver/src/pgdatadir_mapping.rs +++ b/pageserver/src/pgdatadir_mapping.rs @@ -21,6 +21,7 @@ use serde::{Deserialize, Serialize}; use std::collections::{hash_map, HashMap, HashSet}; use std::ops::ControlFlow; use std::ops::Range; +use tokio_util::sync::CancellationToken; use tracing::{debug, trace, warn}; use utils::bin_ser::DeserializeError; use utils::{bin_ser::BeSer, lsn::Lsn}; @@ -365,6 +366,7 @@ impl Timeline { pub async fn find_lsn_for_timestamp( &self, search_timestamp: TimestampTz, + cancel: &CancellationToken, ctx: &RequestContext, ) -> Result { let gc_cutoff_lsn_guard = self.get_latest_gc_cutoff_lsn(); @@ -383,6 +385,9 @@ impl Timeline { let mut found_smaller = false; let mut found_larger = false; while low < high { + if cancel.is_cancelled() { + return Err(PageReconstructError::Cancelled); + } // cannot overflow, high and low are both smaller than u64::MAX / 2 let mid = (high + low) / 2; diff --git a/pageserver/src/tenant.rs b/pageserver/src/tenant.rs index 7ec1395e05..780652f51e 100644 --- a/pageserver/src/tenant.rs +++ b/pageserver/src/tenant.rs @@ -1630,6 +1630,7 @@ impl Tenant { target_timeline_id: Option, horizon: u64, pitr: Duration, + cancel: &CancellationToken, ctx: &RequestContext, ) -> anyhow::Result { // Don't start doing work during shutdown @@ -1652,7 +1653,7 @@ impl Tenant { } } - self.gc_iteration_internal(target_timeline_id, horizon, pitr, ctx) + self.gc_iteration_internal(target_timeline_id, horizon, pitr, cancel, ctx) .await } @@ -2569,14 +2570,30 @@ impl Tenant { target_timeline_id: Option, horizon: u64, pitr: Duration, + cancel: &CancellationToken, ctx: &RequestContext, ) -> anyhow::Result { let mut totals: GcResult = Default::default(); let now = Instant::now(); - let gc_timelines = self - .refresh_gc_info_internal(target_timeline_id, horizon, pitr, ctx) - .await?; + let gc_timelines = match self + .refresh_gc_info_internal(target_timeline_id, horizon, pitr, cancel, ctx) + .await + { + Ok(result) => result, + Err(e) => { + if let Some(PageReconstructError::Cancelled) = + e.downcast_ref::() + { + // Handle cancellation + totals.elapsed = now.elapsed(); + return Ok(totals); + } else { + // Propagate other errors + return Err(e); + } + } + }; crate::failpoint_support::sleep_millis_async!( "gc_iteration_internal_after_getting_gc_timelines" @@ -2600,7 +2617,7 @@ impl Tenant { // See comments in [`Tenant::branch_timeline`] for more information // about why branch creation task can run concurrently with timeline's GC iteration. for timeline in gc_timelines { - if task_mgr::is_shutdown_requested() { + if task_mgr::is_shutdown_requested() || cancel.is_cancelled() { // We were requested to shut down. Stop and return with the progress we // made. break; @@ -2620,6 +2637,7 @@ impl Tenant { /// This is usually executed as part of periodic gc, but can now be triggered more often. pub async fn refresh_gc_info( &self, + cancel: &CancellationToken, ctx: &RequestContext, ) -> anyhow::Result>> { // since this method can now be called at different rates than the configured gc loop, it @@ -2631,7 +2649,7 @@ impl Tenant { // refresh all timelines let target_timeline_id = None; - self.refresh_gc_info_internal(target_timeline_id, horizon, pitr, ctx) + self.refresh_gc_info_internal(target_timeline_id, horizon, pitr, cancel, ctx) .await } @@ -2640,6 +2658,7 @@ impl Tenant { target_timeline_id: Option, horizon: u64, pitr: Duration, + cancel: &CancellationToken, ctx: &RequestContext, ) -> anyhow::Result>> { // grab mutex to prevent new timelines from being created here. @@ -2713,7 +2732,7 @@ impl Tenant { .map(|&x| x.1) .collect(); timeline - .update_gc_info(branchpoints, cutoff, pitr, ctx) + .update_gc_info(branchpoints, cutoff, pitr, cancel, ctx) .await?; gc_timelines.push(timeline); @@ -3126,6 +3145,7 @@ impl Tenant { // (only if it is shorter than the real cutoff). max_retention_period: Option, cause: LogicalSizeCalculationCause, + cancel: &CancellationToken, ctx: &RequestContext, ) -> anyhow::Result { let logical_sizes_at_once = self @@ -3148,6 +3168,7 @@ impl Tenant { max_retention_period, &mut shared_cache, cause, + cancel, ctx, ) .await @@ -3160,9 +3181,10 @@ impl Tenant { pub async fn calculate_synthetic_size( &self, cause: LogicalSizeCalculationCause, + cancel: &CancellationToken, ctx: &RequestContext, ) -> anyhow::Result { - let inputs = self.gather_size_inputs(None, cause, ctx).await?; + let inputs = self.gather_size_inputs(None, cause, cancel, ctx).await?; let size = inputs.calculate()?; @@ -3934,7 +3956,13 @@ mod tests { // and compaction works. But it does set the 'cutoff' point so that the cross check // below should fail. tenant - .gc_iteration(Some(TIMELINE_ID), 0x10, Duration::ZERO, &ctx) + .gc_iteration( + Some(TIMELINE_ID), + 0x10, + Duration::ZERO, + &CancellationToken::new(), + &ctx, + ) .await?; // try to branch at lsn 25, should fail because we already garbage collected the data @@ -4037,7 +4065,13 @@ mod tests { tline.set_broken("test".to_owned()); tenant - .gc_iteration(Some(TIMELINE_ID), 0x10, Duration::ZERO, &ctx) + .gc_iteration( + Some(TIMELINE_ID), + 0x10, + Duration::ZERO, + &CancellationToken::new(), + &ctx, + ) .await?; // The branchpoints should contain all timelines, even ones marked @@ -4083,7 +4117,13 @@ mod tests { .expect("Should have a local timeline"); // this removes layers before lsn 40 (50 minus 10), so there are two remaining layers, image and delta for 31-50 tenant - .gc_iteration(Some(TIMELINE_ID), 0x10, Duration::ZERO, &ctx) + .gc_iteration( + Some(TIMELINE_ID), + 0x10, + Duration::ZERO, + &CancellationToken::new(), + &ctx, + ) .await?; assert!(newtline.get(*TEST_KEY, Lsn(0x25), &ctx).await.is_ok()); @@ -4111,7 +4151,13 @@ mod tests { // run gc on parent tenant - .gc_iteration(Some(TIMELINE_ID), 0x10, Duration::ZERO, &ctx) + .gc_iteration( + Some(TIMELINE_ID), + 0x10, + Duration::ZERO, + &CancellationToken::new(), + &ctx, + ) .await?; // Check that the data is still accessible on the branch. @@ -4421,7 +4467,13 @@ mod tests { let cutoff = tline.get_last_record_lsn(); tline - .update_gc_info(Vec::new(), cutoff, Duration::ZERO, &ctx) + .update_gc_info( + Vec::new(), + cutoff, + Duration::ZERO, + &CancellationToken::new(), + &ctx, + ) .await?; tline.freeze_and_flush().await?; tline @@ -4503,7 +4555,13 @@ mod tests { // Perform a cycle of flush, compact, and GC let cutoff = tline.get_last_record_lsn(); tline - .update_gc_info(Vec::new(), cutoff, Duration::ZERO, &ctx) + .update_gc_info( + Vec::new(), + cutoff, + Duration::ZERO, + &CancellationToken::new(), + &ctx, + ) .await?; tline.freeze_and_flush().await?; tline @@ -4595,7 +4653,13 @@ mod tests { // Perform a cycle of flush, compact, and GC let cutoff = tline.get_last_record_lsn(); tline - .update_gc_info(Vec::new(), cutoff, Duration::ZERO, &ctx) + .update_gc_info( + Vec::new(), + cutoff, + Duration::ZERO, + &CancellationToken::new(), + &ctx, + ) .await?; tline.freeze_and_flush().await?; tline diff --git a/pageserver/src/tenant/mgr.rs b/pageserver/src/tenant/mgr.rs index a766cca0c5..3ff7425bc2 100644 --- a/pageserver/src/tenant/mgr.rs +++ b/pageserver/src/tenant/mgr.rs @@ -1944,6 +1944,7 @@ pub(crate) async fn immediate_gc( tenant_id: TenantId, timeline_id: TimelineId, gc_req: TimelineGcRequest, + cancel: CancellationToken, ctx: &RequestContext, ) -> Result>, ApiError> { let guard = TENANTS.read().unwrap(); @@ -1970,7 +1971,7 @@ pub(crate) async fn immediate_gc( async move { fail::fail_point!("immediate_gc_task_pre"); let result = tenant - .gc_iteration(Some(timeline_id), gc_horizon, pitr, &ctx) + .gc_iteration(Some(timeline_id), gc_horizon, pitr, &cancel, &ctx) .instrument(info_span!("manual_gc", %tenant_id, %timeline_id)) .await; // FIXME: `gc_iteration` can return an error for multiple reasons; we should handle it diff --git a/pageserver/src/tenant/size.rs b/pageserver/src/tenant/size.rs index a85dc9231c..e0b1652d98 100644 --- a/pageserver/src/tenant/size.rs +++ b/pageserver/src/tenant/size.rs @@ -6,6 +6,7 @@ use std::sync::Arc; use anyhow::{bail, Context}; use tokio::sync::oneshot::error::RecvError; use tokio::sync::Semaphore; +use tokio_util::sync::CancellationToken; use crate::context::RequestContext; use crate::pgdatadir_mapping::CalculateLogicalSizeError; @@ -113,11 +114,12 @@ pub(super) async fn gather_inputs( max_retention_period: Option, logical_size_cache: &mut HashMap<(TimelineId, Lsn), u64>, cause: LogicalSizeCalculationCause, + cancel: &CancellationToken, ctx: &RequestContext, ) -> anyhow::Result { // refresh is needed to update gc related pitr_cutoff and horizon_cutoff tenant - .refresh_gc_info(ctx) + .refresh_gc_info(cancel, ctx) .await .context("Failed to refresh gc_info before gathering inputs")?; diff --git a/pageserver/src/tenant/tasks.rs b/pageserver/src/tenant/tasks.rs index 27dff9f54a..860bb255ca 100644 --- a/pageserver/src/tenant/tasks.rs +++ b/pageserver/src/tenant/tasks.rs @@ -261,7 +261,7 @@ async fn gc_loop(tenant: Arc, cancel: CancellationToken) { } else { // Run gc let res = tenant - .gc_iteration(None, gc_horizon, tenant.get_pitr_interval(), &ctx) + .gc_iteration(None, gc_horizon, tenant.get_pitr_interval(), &cancel, &ctx) .await; if let Err(e) = res { let wait_duration = backoff::exponential_backoff_duration_seconds( diff --git a/pageserver/src/tenant/timeline.rs b/pageserver/src/tenant/timeline.rs index 763b18ccc3..38b8832281 100644 --- a/pageserver/src/tenant/timeline.rs +++ b/pageserver/src/tenant/timeline.rs @@ -3726,6 +3726,7 @@ impl Timeline { retain_lsns: Vec, cutoff_horizon: Lsn, pitr: Duration, + cancel: &CancellationToken, ctx: &RequestContext, ) -> anyhow::Result<()> { // First, calculate pitr_cutoff_timestamp and then convert it to LSN. @@ -3739,7 +3740,10 @@ impl Timeline { if let Some(pitr_cutoff_timestamp) = now.checked_sub(pitr) { let pitr_timestamp = to_pg_timestamp(pitr_cutoff_timestamp); - match self.find_lsn_for_timestamp(pitr_timestamp, ctx).await? { + match self + .find_lsn_for_timestamp(pitr_timestamp, cancel, ctx) + .await? + { LsnForTimestamp::Present(lsn) => lsn, LsnForTimestamp::Future(lsn) => { // The timestamp is in the future. That sounds impossible, diff --git a/pageserver/src/tenant/timeline/eviction_task.rs b/pageserver/src/tenant/timeline/eviction_task.rs index 79bc434a2a..f4a4c26c06 100644 --- a/pageserver/src/tenant/timeline/eviction_task.rs +++ b/pageserver/src/tenant/timeline/eviction_task.rs @@ -351,7 +351,7 @@ impl Timeline { match state.last_layer_access_imitation { Some(ts) if ts.elapsed() < inter_imitate_period => { /* no need to run */ } _ => { - self.imitate_synthetic_size_calculation_worker(&tenant, ctx, cancel) + self.imitate_synthetic_size_calculation_worker(&tenant, cancel, ctx) .await; state.last_layer_access_imitation = Some(tokio::time::Instant::now()); } @@ -417,8 +417,8 @@ impl Timeline { async fn imitate_synthetic_size_calculation_worker( &self, tenant: &Arc, - ctx: &RequestContext, cancel: &CancellationToken, + ctx: &RequestContext, ) { if self.conf.metric_collection_endpoint.is_none() { // We don't start the consumption metrics task if this is not set in the config. @@ -457,6 +457,7 @@ impl Timeline { None, &mut throwaway_cache, LogicalSizeCalculationCause::EvictionTaskImitation, + cancel, ctx, ) .instrument(info_span!("gather_inputs")); From 35f243e78758de83ee92c47458e1fd78a04a508a Mon Sep 17 00:00:00 2001 From: Shany Pozin Date: Thu, 23 Nov 2023 19:09:34 +0200 Subject: [PATCH 07/38] Move weekly release PR trigger to Monday morning (#5908) --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3d6fc75e08..ba37c5827a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,7 +2,7 @@ name: Create Release Branch on: schedule: - - cron: '0 7 * * 5' + - cron: '0 6 * * 1' workflow_dispatch: jobs: From 54327bbeec0f9b28982eff570fd64d82390dfe0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arpad=20M=C3=BCller?= Date: Thu, 23 Nov 2023 19:11:52 +0100 Subject: [PATCH 08/38] Upload initdb results to S3 (#5390) ## Problem See #2592 ## Summary of changes Compresses the results of initdb into a .tar.zst file and uploads them to S3, to enable usage in recovery from lsn. Generations should not be involved I think because we do this only once at the very beginning of a timeline. --------- Co-authored-by: Joonas Koivunen --- Cargo.lock | 5 + Cargo.toml | 2 +- control_plane/src/bin/neon_local.rs | 12 +- libs/utils/scripts/restore_from_wal_initdb.sh | 21 ++++ pageserver/src/import_datadir.rs | 118 +++++++++++++++++- pageserver/src/tenant.rs | 28 ++++- .../src/tenant/remote_timeline_client.rs | 10 ++ .../tenant/remote_timeline_client/upload.rs | 24 +++- test_runner/fixtures/neon_fixtures.py | 4 + test_runner/regress/test_broken_timeline.py | 53 ++++++++ test_runner/regress/test_wal_restore.py | 74 ++++++++++- workspace_hack/Cargo.toml | 3 + 12 files changed, 346 insertions(+), 8 deletions(-) create mode 100755 libs/utils/scripts/restore_from_wal_initdb.sh diff --git a/Cargo.lock b/Cargo.lock index 62da3cf070..a75209b8db 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -193,6 +193,8 @@ dependencies = [ "memchr", "pin-project-lite", "tokio", + "zstd", + "zstd-safe", ] [[package]] @@ -6033,6 +6035,9 @@ dependencies = [ "tungstenite", "url", "uuid", + "zstd", + "zstd-safe", + "zstd-sys", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index d186970194..c50fb7be42 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -37,7 +37,7 @@ license = "Apache-2.0" [workspace.dependencies] anyhow = { version = "1.0", features = ["backtrace"] } arc-swap = "1.6" -async-compression = { version = "0.4.0", features = ["tokio", "gzip"] } +async-compression = { version = "0.4.0", features = ["tokio", "gzip", "zstd"] } azure_core = "0.16" azure_identity = "0.16" azure_storage = "0.16" diff --git a/control_plane/src/bin/neon_local.rs b/control_plane/src/bin/neon_local.rs index 87ea519a9e..384c4ee56d 100644 --- a/control_plane/src/bin/neon_local.rs +++ b/control_plane/src/bin/neon_local.rs @@ -487,8 +487,15 @@ fn handle_timeline(timeline_match: &ArgMatches, env: &mut local_env::LocalEnv) - .copied() .context("Failed to parse postgres version from the argument string")?; - let timeline_info = - pageserver.timeline_create(tenant_id, None, None, None, Some(pg_version))?; + let new_timeline_id_opt = parse_timeline_id(create_match)?; + + let timeline_info = pageserver.timeline_create( + tenant_id, + new_timeline_id_opt, + None, + None, + Some(pg_version), + )?; let new_timeline_id = timeline_info.timeline_id; let last_record_lsn = timeline_info.last_record_lsn; @@ -1308,6 +1315,7 @@ fn cli() -> Command { .subcommand(Command::new("create") .about("Create a new blank timeline") .arg(tenant_id_arg.clone()) + .arg(timeline_id_arg.clone()) .arg(branch_name_arg.clone()) .arg(pg_version_arg.clone()) ) diff --git a/libs/utils/scripts/restore_from_wal_initdb.sh b/libs/utils/scripts/restore_from_wal_initdb.sh new file mode 100755 index 0000000000..c6277ebc60 --- /dev/null +++ b/libs/utils/scripts/restore_from_wal_initdb.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +# like restore_from_wal.sh, but takes existing initdb.tar.zst + +set -euxo pipefail + +PG_BIN=$1 +WAL_PATH=$2 +DATA_DIR=$3 +PORT=$4 +echo "port=$PORT" >> "$DATA_DIR"/postgresql.conf +echo "shared_preload_libraries='\$libdir/neon_rmgr.so'" >> "$DATA_DIR"/postgresql.conf +REDO_POS=0x$("$PG_BIN"/pg_controldata -D "$DATA_DIR" | grep -F "REDO location"| cut -c 42-) +declare -i WAL_SIZE=$REDO_POS+114 +"$PG_BIN"/pg_ctl -D "$DATA_DIR" -l "$DATA_DIR/logfile.log" start +"$PG_BIN"/pg_ctl -D "$DATA_DIR" -l "$DATA_DIR/logfile.log" stop -m immediate +cp "$DATA_DIR"/pg_wal/000000010000000000000001 . +cp "$WAL_PATH"/* "$DATA_DIR"/pg_wal/ +for partial in "$DATA_DIR"/pg_wal/*.partial ; do mv "$partial" "${partial%.partial}" ; done +dd if=000000010000000000000001 of="$DATA_DIR"/pg_wal/000000010000000000000001 bs=$WAL_SIZE count=1 conv=notrunc +rm -f 000000010000000000000001 diff --git a/pageserver/src/import_datadir.rs b/pageserver/src/import_datadir.rs index 30975c1fc9..770458e02e 100644 --- a/pageserver/src/import_datadir.rs +++ b/pageserver/src/import_datadir.rs @@ -3,18 +3,25 @@ //! a neon Timeline. //! use std::path::{Path, PathBuf}; +use std::pin::Pin; +use std::task::{self, Poll}; use anyhow::{bail, ensure, Context, Result}; +use async_compression::{tokio::write::ZstdEncoder, zstd::CParameter, Level}; use bytes::Bytes; use camino::Utf8Path; use futures::StreamExt; -use tokio::io::{AsyncRead, AsyncReadExt}; +use nix::NixPath; +use tokio::io::{AsyncRead, AsyncReadExt, AsyncWrite, AsyncWriteExt}; use tokio_tar::Archive; +use tokio_tar::Builder; +use tokio_tar::HeaderMode; use tracing::*; use walkdir::WalkDir; use crate::context::RequestContext; use crate::pgdatadir_mapping::*; +use crate::tenant::remote_timeline_client::INITDB_PATH; use crate::tenant::Timeline; use crate::walingest::WalIngest; use crate::walrecord::DecodedWALRecord; @@ -33,7 +40,9 @@ use utils::lsn::Lsn; pub fn get_lsn_from_controlfile(path: &Utf8Path) -> Result { // Read control file to extract the LSN let controlfile_path = path.join("global").join("pg_control"); - let controlfile = ControlFileData::decode(&std::fs::read(controlfile_path)?)?; + let controlfile_buf = std::fs::read(&controlfile_path) + .with_context(|| format!("reading controlfile: {controlfile_path}"))?; + let controlfile = ControlFileData::decode(&controlfile_buf)?; let lsn = controlfile.checkPoint; Ok(Lsn(lsn)) @@ -618,3 +627,108 @@ async fn read_all_bytes(reader: &mut (impl AsyncRead + Unpin)) -> Result reader.read_to_end(&mut buf).await?; Ok(Bytes::from(buf)) } + +/// An in-memory buffer implementing `AsyncWrite`, inserting yields every now and then +/// +/// The number of yields is bounded by above by the number of times poll_write is called, +/// so calling it with 8 KB chunks and 8 MB chunks gives the same number of yields in total. +/// This is an explicit choice as the `YieldingVec` is meant to give the async executor +/// breathing room between units of CPU intensive preparation of buffers to be written. +/// Once a write call is issued, the whole buffer has been prepared already, so there is no +/// gain in splitting up the memcopy further. +struct YieldingVec { + yield_budget: usize, + // the buffer written into + buf: Vec, +} + +impl YieldingVec { + fn new() -> Self { + Self { + yield_budget: 0, + buf: Vec::new(), + } + } + // Whether we should yield for a read operation of given size + fn should_yield(&mut self, add_buf_len: usize) -> bool { + // Set this limit to a small value so that we are a + // good async citizen and yield repeatedly (but not + // too often for many small writes to cause many yields) + const YIELD_DIST: usize = 1024; + + let target_buf_len = self.buf.len() + add_buf_len; + let ret = self.yield_budget / YIELD_DIST < target_buf_len / YIELD_DIST; + if self.yield_budget < target_buf_len { + self.yield_budget += add_buf_len; + } + ret + } +} + +impl AsyncWrite for YieldingVec { + fn poll_write( + mut self: Pin<&mut Self>, + cx: &mut task::Context<'_>, + buf: &[u8], + ) -> Poll> { + if self.should_yield(buf.len()) { + cx.waker().wake_by_ref(); + return Poll::Pending; + } + self.get_mut().buf.extend_from_slice(buf); + Poll::Ready(Ok(buf.len())) + } + + fn poll_flush(self: Pin<&mut Self>, _cx: &mut task::Context<'_>) -> Poll> { + Poll::Ready(Ok(())) + } + + fn poll_shutdown( + self: Pin<&mut Self>, + _cx: &mut task::Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } +} + +pub async fn create_tar_zst(pgdata_path: &Utf8Path) -> Result> { + let mut paths = Vec::new(); + for entry in WalkDir::new(pgdata_path) { + let entry = entry?; + let metadata = entry.metadata().expect("error getting dir entry metadata"); + // Also allow directories so that we also get empty directories + if !(metadata.is_file() || metadata.is_dir()) { + continue; + } + let path = entry.into_path(); + paths.push(path); + } + // Do a sort to get a more consistent listing + paths.sort_unstable(); + let zstd = ZstdEncoder::with_quality_and_params( + YieldingVec::new(), + Level::Default, + &[CParameter::enable_long_distance_matching(true)], + ); + let mut builder = Builder::new(zstd); + // Use reproducible header mode + builder.mode(HeaderMode::Deterministic); + for path in paths { + let rel_path = path.strip_prefix(pgdata_path)?; + if rel_path.is_empty() { + // The top directory should not be compressed, + // the tar crate doesn't like that + continue; + } + builder.append_path_with_name(&path, rel_path).await?; + } + let mut zstd = builder.into_inner().await?; + zstd.shutdown().await?; + let compressed = zstd.into_inner(); + let compressed_len = compressed.buf.len(); + const INITDB_TAR_ZST_WARN_LIMIT: usize = 2_000_000; + if compressed_len > INITDB_TAR_ZST_WARN_LIMIT { + warn!("compressed {INITDB_PATH} size of {compressed_len} is above limit {INITDB_TAR_ZST_WARN_LIMIT}."); + } + Ok(compressed.buf) +} diff --git a/pageserver/src/tenant.rs b/pageserver/src/tenant.rs index 780652f51e..ef14f75a47 100644 --- a/pageserver/src/tenant.rs +++ b/pageserver/src/tenant.rs @@ -12,6 +12,7 @@ //! use anyhow::{bail, Context}; +use bytes::Bytes; use camino::{Utf8Path, Utf8PathBuf}; use enumset::EnumSet; use futures::FutureExt; @@ -24,6 +25,7 @@ use tokio::sync::watch; use tokio::task::JoinSet; use tokio_util::sync::CancellationToken; use tracing::*; +use utils::backoff; use utils::completion; use utils::crashsafe::path_with_suffix_extension; use utils::fs_ext; @@ -2895,7 +2897,7 @@ impl Tenant { } /// - run initdb to init temporary instance and get bootstrap data - /// - after initialization complete, remove the temp dir. + /// - after initialization completes, tar up the temp dir and upload it to S3. /// /// The caller is responsible for activating the returned timeline. async fn bootstrap_timeline( @@ -2936,6 +2938,30 @@ impl Tenant { let pgdata_path = &initdb_path; let pgdata_lsn = import_datadir::get_lsn_from_controlfile(pgdata_path)?.align(); + // Upload the created data dir to S3 + if let Some(storage) = &self.remote_storage { + let pgdata_zstd = import_datadir::create_tar_zst(pgdata_path).await?; + let pgdata_zstd = Bytes::from(pgdata_zstd); + backoff::retry( + || async { + self::remote_timeline_client::upload_initdb_dir( + storage, + &self.tenant_id, + &timeline_id, + pgdata_zstd.clone(), + ) + .await + }, + |_| false, + 3, + u32::MAX, + "persist_initdb_tar_zst", + // TODO: use a cancellation token (https://github.com/neondatabase/neon/issues/5066) + backoff::Cancel::new(CancellationToken::new(), || unreachable!()), + ) + .await?; + } + // Import the contents of the data directory at the initial checkpoint // LSN, and any WAL after that. // Initdb lsn will be equal to last_record_lsn which will be set after import. diff --git a/pageserver/src/tenant/remote_timeline_client.rs b/pageserver/src/tenant/remote_timeline_client.rs index 8ec26f0b0b..99d9783f73 100644 --- a/pageserver/src/tenant/remote_timeline_client.rs +++ b/pageserver/src/tenant/remote_timeline_client.rs @@ -190,6 +190,7 @@ use chrono::{NaiveDateTime, Utc}; use scopeguard::ScopeGuard; use tokio_util::sync::CancellationToken; +pub(crate) use upload::upload_initdb_dir; use utils::backoff::{ self, exponential_backoff, DEFAULT_BASE_BACKOFF_SECONDS, DEFAULT_MAX_BACKOFF_SECONDS, }; @@ -249,6 +250,8 @@ pub(crate) const FAILED_REMOTE_OP_RETRIES: u32 = 10; // retries. Uploads and deletions are retried forever, though. pub(crate) const FAILED_UPLOAD_WARN_THRESHOLD: u32 = 3; +pub(crate) const INITDB_PATH: &str = "initdb.tar.zst"; + pub enum MaybeDeletedIndexPart { IndexPart(IndexPart), Deleted(IndexPart), @@ -1537,6 +1540,13 @@ pub fn remote_layer_path( RemotePath::from_string(&path).expect("Failed to construct path") } +pub fn remote_initdb_archive_path(tenant_id: &TenantId, timeline_id: &TimelineId) -> RemotePath { + RemotePath::from_string(&format!( + "tenants/{tenant_id}/{TIMELINES_SEGMENT_NAME}/{timeline_id}/{INITDB_PATH}" + )) + .expect("Failed to construct path") +} + pub fn remote_index_path( tenant_id: &TenantId, timeline_id: &TimelineId, diff --git a/pageserver/src/tenant/remote_timeline_client/upload.rs b/pageserver/src/tenant/remote_timeline_client/upload.rs index 01237653ca..4d3e1731dc 100644 --- a/pageserver/src/tenant/remote_timeline_client/upload.rs +++ b/pageserver/src/tenant/remote_timeline_client/upload.rs @@ -1,6 +1,7 @@ //! Helper functions to upload files to remote storage with a RemoteStorage use anyhow::{bail, Context}; +use bytes::Bytes; use camino::Utf8Path; use fail::fail_point; use std::io::ErrorKind; @@ -9,7 +10,9 @@ use tokio::fs; use super::Generation; use crate::{ config::PageServerConf, - tenant::remote_timeline_client::{index::IndexPart, remote_index_path, remote_path}, + tenant::remote_timeline_client::{ + index::IndexPart, remote_index_path, remote_initdb_archive_path, remote_path, + }, }; use remote_storage::GenericRemoteStorage; use utils::id::{TenantId, TimelineId}; @@ -104,3 +107,22 @@ pub(super) async fn upload_timeline_layer<'a>( Ok(()) } + +/// Uploads the given `initdb` data to the remote storage. +pub(crate) async fn upload_initdb_dir( + storage: &GenericRemoteStorage, + tenant_id: &TenantId, + timeline_id: &TimelineId, + initdb_dir: Bytes, +) -> anyhow::Result<()> { + tracing::trace!("uploading initdb dir"); + + let size = initdb_dir.len(); + let bytes = tokio::io::BufReader::new(std::io::Cursor::new(initdb_dir)); + + let remote_path = remote_initdb_archive_path(tenant_id, timeline_id); + storage + .upload_storage_object(bytes, size, &remote_path) + .await + .with_context(|| format!("upload initdb dir for '{tenant_id} / {timeline_id}'")) +} diff --git a/test_runner/fixtures/neon_fixtures.py b/test_runner/fixtures/neon_fixtures.py index def42e94b1..2db34d19c2 100644 --- a/test_runner/fixtures/neon_fixtures.py +++ b/test_runner/fixtures/neon_fixtures.py @@ -1224,6 +1224,7 @@ class NeonCli(AbstractNeonCli): self, new_branch_name: str, tenant_id: Optional[TenantId] = None, + timeline_id: Optional[TimelineId] = None, ) -> TimelineId: cmd = [ "timeline", @@ -1236,6 +1237,9 @@ class NeonCli(AbstractNeonCli): self.env.pg_version, ] + if timeline_id is not None: + cmd.extend(["--timeline-id", str(timeline_id)]) + res = self.raw_cli(cmd) res.check_returncode() diff --git a/test_runner/regress/test_broken_timeline.py b/test_runner/regress/test_broken_timeline.py index 23839a4dd1..4911fc09d6 100644 --- a/test_runner/regress/test_broken_timeline.py +++ b/test_runner/regress/test_broken_timeline.py @@ -114,6 +114,7 @@ def test_timeline_init_break_before_checkpoint(neon_env_builder: NeonEnvBuilder) [ ".*Failed to process timeline dir contents.*Timeline has no ancestor and no layer files.*", ".*Timeline got dropped without initializing, cleaning its files.*", + ".*Failed to load index_part from remote storage, failed creation?.*", ] ) @@ -143,6 +144,58 @@ def test_timeline_init_break_before_checkpoint(neon_env_builder: NeonEnvBuilder) ), "pageserver should clean its temp timeline files on timeline creation failure" +def test_timeline_init_break_before_checkpoint_recreate(neon_env_builder: NeonEnvBuilder): + env = neon_env_builder.init_start() + pageserver_http = env.pageserver.http_client() + + env.pageserver.allowed_errors.extend( + [ + ".*Failed to process timeline dir contents.*Timeline has no ancestor and no layer files.*", + ".*Timeline got dropped without initializing, cleaning its files.*", + ".*Failed to load index_part from remote storage, failed creation?.*", + ] + ) + + tenant_id = env.initial_tenant + + timelines_dir = env.pageserver.timeline_dir(tenant_id) + old_tenant_timelines = env.neon_cli.list_timelines(tenant_id) + initial_timeline_dirs = [d for d in timelines_dir.iterdir()] + + # Some fixed timeline ID (like control plane does) + timeline_id = TimelineId("1080243c1f76fe3c5147266663c9860b") + + # Introduce failpoint during timeline init (some intermediate files are on disk), before it's checkpointed. + pageserver_http.configure_failpoints(("before-checkpoint-new-timeline", "return")) + with pytest.raises(Exception, match="before-checkpoint-new-timeline"): + _ = env.neon_cli.create_timeline( + "test_timeline_init_break_before_checkpoint", tenant_id, timeline_id + ) + + # Restart the page server + env.pageserver.restart(immediate=True) + + # Creating the timeline didn't finish. The other timelines on tenant should still be present and work normally. + new_tenant_timelines = env.neon_cli.list_timelines(tenant_id) + assert ( + new_tenant_timelines == old_tenant_timelines + ), f"Pageserver after restart should ignore non-initialized timelines for tenant {tenant_id}" + + timeline_dirs = [d for d in timelines_dir.iterdir()] + assert ( + timeline_dirs == initial_timeline_dirs + ), "pageserver should clean its temp timeline files on timeline creation failure" + + # Disable the failpoint again + pageserver_http.configure_failpoints(("before-checkpoint-new-timeline", "off")) + # creating the branch should have worked now + new_timeline_id = env.neon_cli.create_timeline( + "test_timeline_init_break_before_checkpoint", tenant_id, timeline_id + ) + + assert timeline_id == new_timeline_id + + def test_timeline_create_break_after_uninit_mark(neon_env_builder: NeonEnvBuilder): env = neon_env_builder.init_start() pageserver_http = env.pageserver.http_client() diff --git a/test_runner/regress/test_wal_restore.py b/test_runner/regress/test_wal_restore.py index a4f03be7a0..b039b36255 100644 --- a/test_runner/regress/test_wal_restore.py +++ b/test_runner/regress/test_wal_restore.py @@ -1,14 +1,19 @@ import sys +import tarfile +import tempfile from pathlib import Path import pytest +import zstandard +from fixtures.log_helper import log from fixtures.neon_fixtures import ( NeonEnvBuilder, PgBin, VanillaPostgres, ) from fixtures.port_distributor import PortDistributor -from fixtures.types import TenantId, TimelineId +from fixtures.remote_storage import LocalFsStorage +from fixtures.types import Lsn, TenantId, TimelineId @pytest.mark.skipif( @@ -53,3 +58,70 @@ def test_wal_restore( ) restored.start() assert restored.safe_psql("select count(*) from t", user="cloud_admin") == [(300000,)] + + +def decompress_zstd( + input_file_name: Path, + output_dir: Path, +): + log.info(f"decompressing zstd to: {output_dir}") + output_dir.mkdir(mode=0o750, parents=True, exist_ok=True) + with tempfile.TemporaryFile(suffix=".tar") as temp: + decompressor = zstandard.ZstdDecompressor() + with open(input_file_name, "rb") as input_file: + decompressor.copy_stream(input_file, temp) + temp.seek(0) + with tarfile.open(fileobj=temp) as tfile: + tfile.extractall(path=output_dir) + + +def test_wal_restore_initdb( + neon_env_builder: NeonEnvBuilder, + pg_bin: PgBin, + test_output_dir: Path, + port_distributor: PortDistributor, + base_dir: Path, + pg_distrib_dir: Path, +): + env = neon_env_builder.init_start() + endpoint = env.endpoints.create_start("main") + endpoint.safe_psql("create table t as select generate_series(1,300000)") + tenant_id = env.initial_tenant + timeline_id = env.initial_timeline + original_lsn = Lsn(endpoint.safe_psql("SELECT pg_current_wal_flush_lsn()")[0][0]) + env.pageserver.stop() + port = port_distributor.get_port() + data_dir = test_output_dir / "pgsql.restored" + + assert isinstance(env.pageserver_remote_storage, LocalFsStorage) + + initdb_zst_path = ( + env.pageserver_remote_storage.timeline_path(tenant_id, timeline_id) / "initdb.tar.zst" + ) + + decompress_zstd(initdb_zst_path, data_dir) + with VanillaPostgres( + data_dir, PgBin(test_output_dir, env.pg_distrib_dir, env.pg_version), port, init=False + ) as restored: + pg_bin.run_capture( + [ + str(base_dir / "libs" / "utils" / "scripts" / "restore_from_wal_initdb.sh"), + str(pg_distrib_dir / f"v{env.pg_version}/bin"), + str( + test_output_dir + / "repo" + / "safekeepers" + / "sk1" + / str(tenant_id) + / str(timeline_id) + ), + str(data_dir), + str(port), + ] + ) + restored.start() + restored_lsn = Lsn( + restored.safe_psql("SELECT pg_current_wal_flush_lsn()", user="cloud_admin")[0][0] + ) + log.info(f"original lsn: {original_lsn}, restored lsn: {restored_lsn}") + assert restored.safe_psql("select count(*) from t", user="cloud_admin") == [(300000,)] diff --git a/workspace_hack/Cargo.toml b/workspace_hack/Cargo.toml index 3535c2cf94..66828fb53d 100644 --- a/workspace_hack/Cargo.toml +++ b/workspace_hack/Cargo.toml @@ -68,6 +68,9 @@ tracing-core = { version = "0.1" } tungstenite = { version = "0.20" } url = { version = "2", features = ["serde"] } uuid = { version = "1", features = ["serde", "v4"] } +zstd = { version = "0.12" } +zstd-safe = { version = "6", default-features = false, features = ["arrays", "legacy", "std", "zdict_builder"] } +zstd-sys = { version = "2", default-features = false, features = ["legacy", "std", "zdict_builder"] } [build-dependencies] anyhow = { version = "1", features = ["backtrace"] } From 04e6c09f145d13e38e72280422a59a3c3fc9cf15 Mon Sep 17 00:00:00 2001 From: Anastasia Lubennikova Date: Tue, 31 Oct 2023 13:29:25 +0000 Subject: [PATCH 09/38] Add pgxn/neon/README.md --- pgxn/neon/README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 pgxn/neon/README.md diff --git a/pgxn/neon/README.md b/pgxn/neon/README.md new file mode 100644 index 0000000000..39311aba82 --- /dev/null +++ b/pgxn/neon/README.md @@ -0,0 +1,20 @@ +neon extension consists of several parts: + +### shared preload library `neon.so` + +- implements storage manager API and network communications with remote page server. + +- walproposer: implements broadcast protocol between postgres and WAL safekeepers. + +- control plane connector: Captures updates to roles/databases using ProcessUtility_hook and sends them to the control ProcessUtility_hook. + +- remote extension server: Request compute_ctl to download extension files. + +- file_cache: Local file cache is used to temporary store relations pages in local file system for better performance. + +- relsize_cache: Relation size cache for better neon performance. + +### SQL functions in `neon--*.sql` + +Utility functions to expose neon specific information to user and metrics collection. +This extension is created in all databases in the cluster by default. From f8d9bd8d140d71e58ce8e4746a139df129635d7c Mon Sep 17 00:00:00 2001 From: Anastasia Lubennikova Date: Tue, 31 Oct 2023 13:28:59 +0000 Subject: [PATCH 10/38] Add extension neon to all databases. - Run CREATE EXTENSION neon for template1, so that it was created in all databases. - Run ALTER EXTENSION neon in all databases, to always have the newest version of the extension in computes. - Add test_neon_extension test --- compute_tools/src/compute.rs | 4 ++ compute_tools/src/spec.rs | 69 ++++++++++++++++++++++ test_runner/regress/test_backpressure.py | 8 ++- test_runner/regress/test_neon_extension.py | 38 ++++++++++++ test_runner/regress/test_timeline_size.py | 9 ++- 5 files changed, 122 insertions(+), 6 deletions(-) create mode 100644 test_runner/regress/test_neon_extension.py diff --git a/compute_tools/src/compute.rs b/compute_tools/src/compute.rs index 373f05ab2f..0a77c3922a 100644 --- a/compute_tools/src/compute.rs +++ b/compute_tools/src/compute.rs @@ -693,11 +693,13 @@ impl ComputeNode { let spec = &compute_state.pspec.as_ref().expect("spec must be set").spec; create_neon_superuser(spec, &mut client)?; cleanup_instance(&mut client)?; + handle_extension_neon(self.connstr.as_str())?; handle_roles(spec, &mut client)?; handle_databases(spec, &mut client)?; handle_role_deletions(spec, self.connstr.as_str(), &mut client)?; handle_grants(spec, &mut client, self.connstr.as_str())?; handle_extensions(spec, &mut client)?; + handle_alter_extension_neon(spec, &mut client, self.connstr.as_str())?; create_availability_check_data(&mut client)?; // 'Close' connection @@ -737,11 +739,13 @@ impl ComputeNode { if spec.mode == ComputeMode::Primary { client.simple_query("SET neon.forward_ddl = false")?; cleanup_instance(&mut client)?; + handle_extension_neon(self.connstr.as_str())?; handle_roles(&spec, &mut client)?; handle_databases(&spec, &mut client)?; handle_role_deletions(&spec, self.connstr.as_str(), &mut client)?; handle_grants(&spec, &mut client, self.connstr.as_str())?; handle_extensions(&spec, &mut client)?; + handle_alter_extension_neon(&spec, &mut client, self.connstr.as_str())?; } // 'Close' connection diff --git a/compute_tools/src/spec.rs b/compute_tools/src/spec.rs index a85d6287b1..8a94950829 100644 --- a/compute_tools/src/spec.rs +++ b/compute_tools/src/spec.rs @@ -674,3 +674,72 @@ pub fn handle_extensions(spec: &ComputeSpec, client: &mut Client) -> Result<()> Ok(()) } + +/// connect to template1 and postgres to create neon extension +/// that will be available in all databases +pub fn handle_extension_neon(connstr: &str) -> Result<()> { + for dbname in ["template1", "postgres"].iter() { + let mut conf = Config::from_str(connstr)?; + conf.dbname(dbname); + let mut template1_client = conf.connect(NoTls)?; + + let create_extension_neon_query = "CREATE EXTENSION IF NOT EXISTS neon"; + info!( + "creating neon extension with query: {} in db {}", + create_extension_neon_query, dbname + ); + template1_client.simple_query(create_extension_neon_query)?; + } + + Ok(()) +} + +/// Run ALTER EXTENSION neon UPDATE for each valid database +#[instrument(skip_all)] +pub fn handle_alter_extension_neon( + spec: &ComputeSpec, + client: &mut Client, + connstr: &str, +) -> Result<()> { + info!("modifying database permissions"); + let existing_dbs = get_existing_dbs(client)?; + + // We'd better do this at db creation time, but we don't always know when it happens. + for db in &spec.cluster.databases { + match existing_dbs.get(&db.name) { + Some(pg_db) => { + if pg_db.restrict_conn || pg_db.invalid { + info!( + "skipping grants for db {} (invalid: {}, connections not allowed: {})", + db.name, pg_db.invalid, pg_db.restrict_conn + ); + continue; + } + } + None => { + bail!( + "database {} doesn't exist in Postgres after handle_databases()", + db.name + ); + } + } + + let mut conf = Config::from_str(connstr)?; + conf.dbname(&db.name); + + let mut db_client = conf.connect(NoTls)?; + + // this will be a no-op if extension is already up to date, + // which may happen in two cases: + // - extension was just installed + // - extension was already installed and is up to date + let alter_extension_neon_query = "ALTER EXTENSION neon UPDATE"; + info!( + "alter extension neon query for db {} : {}", + &db.name, &alter_extension_neon_query + ); + db_client.simple_query(alter_extension_neon_query)?; + } + + Ok(()) +} diff --git a/test_runner/regress/test_backpressure.py b/test_runner/regress/test_backpressure.py index b14974279e..bc3faf9271 100644 --- a/test_runner/regress/test_backpressure.py +++ b/test_runner/regress/test_backpressure.py @@ -24,8 +24,6 @@ def check_backpressure(endpoint: Endpoint, stop_event: threading.Event, polling_ log.info("checks started") with pg_cur(endpoint) as cur: - cur.execute("CREATE EXTENSION neon") # TODO move it to neon_fixtures? - cur.execute("select pg_size_bytes(current_setting('max_replication_write_lag'))") res = cur.fetchone() max_replication_write_lag_bytes = res[0] @@ -102,9 +100,13 @@ def test_backpressure_received_lsn_lag(neon_env_builder: NeonEnvBuilder): # Create a branch for us env.neon_cli.create_branch("test_backpressure") - endpoint = env.endpoints.create_start( + endpoint = env.endpoints.create( "test_backpressure", config_lines=["max_replication_write_lag=30MB"] ) + # don't skip pg_catalog updates - it runs CREATE EXTENSION neon + # which is needed for backpressure_lsns() to work + endpoint.respec(skip_pg_catalog_updates=False) + endpoint.start() log.info("postgres is running on 'test_backpressure' branch") # setup check thread diff --git a/test_runner/regress/test_neon_extension.py b/test_runner/regress/test_neon_extension.py new file mode 100644 index 0000000000..21d01464bf --- /dev/null +++ b/test_runner/regress/test_neon_extension.py @@ -0,0 +1,38 @@ +from contextlib import closing + +from fixtures.log_helper import log +from fixtures.neon_fixtures import NeonEnvBuilder + + +# Verify that the neon extension is installed and has the correct version. +def test_neon_extension(neon_env_builder: NeonEnvBuilder): + env = neon_env_builder.init_start() + env.neon_cli.create_branch("test_create_extension_neon") + + endpoint_main = env.endpoints.create("test_create_extension_neon") + # don't skip pg_catalog updates - it runs CREATE EXTENSION neon + endpoint_main.respec(skip_pg_catalog_updates=False) + endpoint_main.start() + + log.info("postgres is running on 'test_create_extension_neon' branch") + + with closing(endpoint_main.connect()) as conn: + with conn.cursor() as cur: + cur.execute("SELECT extversion from pg_extension where extname='neon'") + # If this fails, it means the extension is either not installed + # or was updated and the version is different. + # + # IMPORTANT: + # If the version has changed, the test should be updated. + # Ensure that the default version is also updated in the neon.control file + assert cur.fetchone() == ("1.0",) + + # create test database + cur.execute("CREATE DATABASE foodb") + + # connect to test database + # test that neon extension is installed and has the correct version + with closing(endpoint_main.connect(dbname="foodb")) as conn: + with conn.cursor() as cur: + cur.execute("SELECT extversion from pg_extension where extname='neon'") + assert cur.fetchone() == ("1.0",) diff --git a/test_runner/regress/test_timeline_size.py b/test_runner/regress/test_timeline_size.py index c2e93c48c7..1146ca4b82 100644 --- a/test_runner/regress/test_timeline_size.py +++ b/test_runner/regress/test_timeline_size.py @@ -152,17 +152,20 @@ def test_timeline_size_quota(neon_env_builder: NeonEnvBuilder): wait_for_timeline_size_init(client, tenant=env.initial_tenant, timeline=new_timeline_id) - endpoint_main = env.endpoints.create_start( + endpoint_main = env.endpoints.create( "test_timeline_size_quota", # Set small limit for the test config_lines=["neon.max_cluster_size=30MB"], ) + # don't skip pg_catalog updates - it runs CREATE EXTENSION neon + # which is needed for pg_cluster_size() to work + endpoint_main.respec(skip_pg_catalog_updates=False) + endpoint_main.start() + log.info("postgres is running on 'test_timeline_size_quota' branch") with closing(endpoint_main.connect()) as conn: with conn.cursor() as cur: - cur.execute("CREATE EXTENSION neon") # TODO move it to neon_fixtures? - cur.execute("CREATE TABLE foo (t text)") wait_for_pageserver_catchup(endpoint_main) From f5dfa6f140bbe3f712da76b0d078c3e0fbba1447 Mon Sep 17 00:00:00 2001 From: Anastasia Lubennikova Date: Thu, 23 Nov 2023 09:36:51 +0000 Subject: [PATCH 11/38] Create extension neon in existing databases too --- compute_tools/src/spec.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/compute_tools/src/spec.rs b/compute_tools/src/spec.rs index 8a94950829..ae705702c5 100644 --- a/compute_tools/src/spec.rs +++ b/compute_tools/src/spec.rs @@ -733,6 +733,13 @@ pub fn handle_alter_extension_neon( // which may happen in two cases: // - extension was just installed // - extension was already installed and is up to date + let create_extension_neon_query = "CREATE EXTENSION IF NOT EXISTS neon"; + info!( + "create extension neon query for db {} : {}", + &db.name, &create_extension_neon_query + ); + db_client.simple_query(create_extension_neon_query)?; + let alter_extension_neon_query = "ALTER EXTENSION neon UPDATE"; info!( "alter extension neon query for db {} : {}", From 582a42762bb3c9cce081b28679a22423120fd04f Mon Sep 17 00:00:00 2001 From: Anastasia Lubennikova Date: Thu, 23 Nov 2023 10:05:16 +0000 Subject: [PATCH 12/38] update extension version in test_neon_extension --- test_runner/regress/test_neon_extension.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test_runner/regress/test_neon_extension.py b/test_runner/regress/test_neon_extension.py index 21d01464bf..1cd1c1a3d4 100644 --- a/test_runner/regress/test_neon_extension.py +++ b/test_runner/regress/test_neon_extension.py @@ -25,7 +25,7 @@ def test_neon_extension(neon_env_builder: NeonEnvBuilder): # IMPORTANT: # If the version has changed, the test should be updated. # Ensure that the default version is also updated in the neon.control file - assert cur.fetchone() == ("1.0",) + assert cur.fetchone() == ("1.1",) # create test database cur.execute("CREATE DATABASE foodb") @@ -35,4 +35,4 @@ def test_neon_extension(neon_env_builder: NeonEnvBuilder): with closing(endpoint_main.connect(dbname="foodb")) as conn: with conn.cursor() as cur: cur.execute("SELECT extversion from pg_extension where extname='neon'") - assert cur.fetchone() == ("1.0",) + assert cur.fetchone() == ("1.1",) From a56fd45f5668d41643539fc1400c53554cef3616 Mon Sep 17 00:00:00 2001 From: Conrad Ludgate Date: Thu, 23 Nov 2023 19:11:24 +0000 Subject: [PATCH 13/38] proxy: fix memory leak again (#5909) ## Problem The connections.join_next helped but it wasn't enough... The way I implemented the improvement before was still faulty but it mostly worked so it looked like it was working correctly. From [`tokio::select` docs](https://docs.rs/tokio/latest/tokio/macro.select.html): > 4. Once an returns a value, attempt to apply the value to the provided , if the pattern matches, evaluate and return. If the pattern does not match, disable the current branch and for the remainder of the current call to select!. Continue from step 3. The `connections.join_next()` future would complete and `Some(Err(e))` branch would be evaluated but not match (as the future would complete without panicking, we would hope). Since the branch doesn't match, it's disabled. The select continues but never attempts to call `join_next` again. Getting unlucky, more TCP connections are created than we attempt to join_next. ## Summary of changes Replace the `Some(Err(e))` pattern with `Some(e)`. Because of the auto-disabling feature, we don't need the `if !connections.is_empty()` step as the `None` pattern will disable it for us. --- proxy/src/bin/pg_sni_router.rs | 15 ++++++++++++--- proxy/src/proxy.rs | 15 ++++++++++++--- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/proxy/src/bin/pg_sni_router.rs b/proxy/src/bin/pg_sni_router.rs index 6574500c97..42aecdb6fe 100644 --- a/proxy/src/bin/pg_sni_router.rs +++ b/proxy/src/bin/pg_sni_router.rs @@ -168,9 +168,18 @@ async fn task_main( .instrument(tracing::info_span!("handle_client", ?session_id)) ); } - Some(Err(e)) = connections.join_next(), if !connections.is_empty() => { - if !e.is_panic() && !e.is_cancelled() { - warn!("unexpected error from joined connection task: {e:?}"); + // Don't modify this unless you read https://docs.rs/tokio/latest/tokio/macro.select.html carefully. + // If this future completes and the pattern doesn't match, this branch is disabled for this call to `select!`. + // This only counts for this loop and it will be enabled again on next `select!`. + // + // Prior code had this as `Some(Err(e))` which _looks_ equivalent to the current setup, but it's not. + // When `connections.join_next()` returned `Some(Ok(()))` (which we expect), it would disable the join_next and it would + // not get called again, even if there are more connections to remove. + Some(res) = connections.join_next() => { + if let Err(e) = res { + if !e.is_panic() && !e.is_cancelled() { + warn!("unexpected error from joined connection task: {e:?}"); + } } } _ = cancellation_token.cancelled() => { diff --git a/proxy/src/proxy.rs b/proxy/src/proxy.rs index b05b902303..adcb1bffaf 100644 --- a/proxy/src/proxy.rs +++ b/proxy/src/proxy.rs @@ -294,9 +294,18 @@ pub async fn task_main( }), ); } - Some(Err(e)) = connections.join_next(), if !connections.is_empty() => { - if !e.is_panic() && !e.is_cancelled() { - warn!("unexpected error from joined connection task: {e:?}"); + // Don't modify this unless you read https://docs.rs/tokio/latest/tokio/macro.select.html carefully. + // If this future completes and the pattern doesn't match, this branch is disabled for this call to `select!`. + // This only counts for this loop and it will be enabled again on next `select!`. + // + // Prior code had this as `Some(Err(e))` which _looks_ equivalent to the current setup, but it's not. + // When `connections.join_next()` returned `Some(Ok(()))` (which we expect), it would disable the join_next and it would + // not get called again, even if there are more connections to remove. + Some(res) = connections.join_next() => { + if let Err(e) = res { + if !e.is_panic() && !e.is_cancelled() { + warn!("unexpected error from joined connection task: {e:?}"); + } } } _ = cancellation_token.cancelled() => { From ea63b43009f2ccac30e447de1095159365d27ad8 Mon Sep 17 00:00:00 2001 From: Konstantin Knizhnik Date: Fri, 24 Nov 2023 08:23:00 +0200 Subject: [PATCH 14/38] Check if LFC was intialized in local_cache_pages function (#5911) ## Problem There is not check that LFC is initialised (`lfc_max_size != 0`) in `local_cache_pages` function ## Summary of changes Add proper check. ## Checklist before requesting a review - [ ] I have performed a self-review of my code. - [ ] If it is a core feature, I have added thorough tests. - [ ] Do we need to implement analytics? if so did you add the relevant metrics to the dashboard? - [ ] If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section. ## Checklist before merging - [ ] Do not forget to reformat commit message to not include the above checklist Co-authored-by: Konstantin Knizhnik --- pgxn/neon/file_cache.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/pgxn/neon/file_cache.c b/pgxn/neon/file_cache.c index b28b95e42f..e70f0163c0 100644 --- a/pgxn/neon/file_cache.c +++ b/pgxn/neon/file_cache.c @@ -842,15 +842,18 @@ local_cache_pages(PG_FUNCTION_ARGS) fctx->tupdesc = BlessTupleDesc(tupledesc); - LWLockAcquire(lfc_lock, LW_SHARED); - - if (LFC_ENABLED()) + if (lfc_ctl) { - hash_seq_init(&status, lfc_hash); - while ((entry = hash_seq_search(&status)) != NULL) + LWLockAcquire(lfc_lock, LW_SHARED); + + if (LFC_ENABLED()) { - for (int i = 0; i < BLOCKS_PER_CHUNK/32; i++) - n_pages += pg_popcount32(entry->bitmap[i]); + hash_seq_init(&status, lfc_hash); + while ((entry = hash_seq_search(&status)) != NULL) + { + for (int i = 0; i < BLOCKS_PER_CHUNK/32; i++) + n_pages += pg_popcount32(entry->bitmap[i]); + } } } fctx->record = (LocalCachePagesRec *) @@ -891,7 +894,8 @@ local_cache_pages(PG_FUNCTION_ARGS) } Assert(n_pages == n); } - LWLockRelease(lfc_lock); + if (lfc_ctl) + LWLockRelease(lfc_lock); } funcctx = SRF_PERCALL_SETUP(); From 044375732a197ee944942a63e7d0a16ae32f253f Mon Sep 17 00:00:00 2001 From: Joonas Koivunen Date: Fri, 24 Nov 2023 14:43:25 +0200 Subject: [PATCH 15/38] test: support validating allowed_errors against a logfile (#5905) this will make it easier to test if an added allowed_error does in fact match for example against a log file from an allure report. ``` $ python3 test_runner/fixtures/pageserver/allowed_errors.py --help usage: allowed_errors.py [-h] [-i INPUT] check input against pageserver global allowed_errors optional arguments: -h, --help show this help message and exit -i INPUT, --input INPUT Pageserver logs file. Reads from stdin if no file is provided. ``` Co-authored-by: Alexander Bayandin --- test_runner/fixtures/neon_fixtures.py | 78 ++---------- .../fixtures/pageserver/allowed_errors.py | 117 ++++++++++++++++++ 2 files changed, 124 insertions(+), 71 deletions(-) create mode 100755 test_runner/fixtures/pageserver/allowed_errors.py diff --git a/test_runner/fixtures/neon_fixtures.py b/test_runner/fixtures/neon_fixtures.py index 2db34d19c2..6b5fa631a4 100644 --- a/test_runner/fixtures/neon_fixtures.py +++ b/test_runner/fixtures/neon_fixtures.py @@ -41,6 +41,10 @@ from urllib3.util.retry import Retry from fixtures.broker import NeonBroker from fixtures.log_helper import log +from fixtures.pageserver.allowed_errors import ( + DEFAULT_PAGESERVER_ALLOWED_ERRORS, + scan_pageserver_log_for_errors, +) from fixtures.pageserver.http import PageserverHttpClient from fixtures.pageserver.types import IndexPartDump from fixtures.pageserver.utils import wait_for_last_record_lsn, wait_for_upload @@ -1642,57 +1646,7 @@ class NeonPageserver(PgProtocol): # env.pageserver.allowed_errors.append(".*could not open garage door.*") # # The entries in the list are regular experessions. - self.allowed_errors = [ - # All tests print these, when starting up or shutting down - ".*wal receiver task finished with an error: walreceiver connection handling failure.*", - ".*Shutdown task error: walreceiver connection handling failure.*", - ".*wal_connection_manager.*tcp connect error: Connection refused.*", - ".*query handler for .* failed: Socket IO error: Connection reset by peer.*", - ".*serving compute connection task.*exited with error: Postgres connection error.*", - ".*serving compute connection task.*exited with error: Connection reset by peer.*", - ".*serving compute connection task.*exited with error: Postgres query error.*", - ".*Connection aborted: error communicating with the server: Transport endpoint is not connected.*", - # FIXME: replication patch for tokio_postgres regards any but CopyDone/CopyData message in CopyBoth stream as unexpected - ".*Connection aborted: unexpected message from server*", - ".*kill_and_wait_impl.*: wait successful.*", - ".*query handler for 'pagestream.*failed: Broken pipe.*", # pageserver notices compute shut down - ".*query handler for 'pagestream.*failed: Connection reset by peer.*", # pageserver notices compute shut down - # safekeeper connection can fail with this, in the window between timeline creation - # and streaming start - ".*Failed to process query for timeline .*: state uninitialized, no data to read.*", - # Tests related to authentication and authorization print these - ".*Error processing HTTP request: Forbidden", - # intentional failpoints - ".*failpoint ", - # FIXME: These need investigation - ".*manual_gc.*is_shutdown_requested\\(\\) called in an unexpected task or thread.*", - ".*tenant_list: timeline is not found in remote index while it is present in the tenants registry.*", - ".*Removing intermediate uninit mark file.*", - # Tenant::delete_timeline() can cause any of the four following errors. - # FIXME: we shouldn't be considering it an error: https://github.com/neondatabase/neon/issues/2946 - ".*could not flush frozen layer.*queue is in state Stopped", # when schedule layer upload fails because queued got closed before compaction got killed - ".*wait for layer upload ops to complete.*", # .*Caused by:.*wait_completion aborted because upload queue was stopped - ".*gc_loop.*Gc failed, retrying in.*timeline is Stopping", # When gc checks timeline state after acquiring layer_removal_cs - ".*gc_loop.*Gc failed, retrying in.*: Cannot run GC iteration on inactive tenant", # Tenant::gc precondition - ".*compaction_loop.*Compaction failed.*, retrying in.*timeline or pageserver is shutting down", # When compaction checks timeline state after acquiring layer_removal_cs - ".*query handler for 'pagestream.*failed: Timeline .* was not found", # postgres reconnects while timeline_delete doesn't hold the tenant's timelines.lock() - ".*query handler for 'pagestream.*failed: Timeline .* is not active", # timeline delete in progress - ".*task iteration took longer than the configured period.*", - # this is until #3501 - ".*Compaction failed.*, retrying in [^:]+: Cannot run compaction iteration on inactive tenant", - # these can happen anytime we do compactions from background task and shutdown pageserver - r".*ERROR.*ancestor timeline \S+ is being stopped", - # this is expected given our collaborative shutdown approach for the UploadQueue - ".*Compaction failed.*, retrying in .*: Other\\(queue is in state Stopped.*", - # Pageserver timeline deletion should be polled until it gets 404, so ignore it globally - ".*Error processing HTTP request: NotFound: Timeline .* was not found", - ".*took more than expected to complete.*", - # these can happen during shutdown, but it should not be a reason to fail a test - ".*completed, took longer than expected.*", - # AWS S3 may emit 500 errors for keys in a DeleteObjects response: we retry these - # and it is not a failure of our code when it happens. - ".*DeleteObjects.*We encountered an internal error. Please try again.*", - ] + self.allowed_errors = list(DEFAULT_PAGESERVER_ALLOWED_ERRORS) def timeline_dir(self, tenant_id: TenantId, timeline_id: Optional[TimelineId] = None) -> Path: """Get a timeline directory's path based on the repo directory of the test environment""" @@ -1802,27 +1756,9 @@ class NeonPageserver(PgProtocol): def assert_no_errors(self): logfile = open(os.path.join(self.workdir, "pageserver.log"), "r") - error_or_warn = re.compile(r"\s(ERROR|WARN)") - errors = [] - while True: - line = logfile.readline() - if not line: - break + errors = scan_pageserver_log_for_errors(logfile, self.allowed_errors) - if error_or_warn.search(line): - # Is this a torn log line? This happens when force-killing a process and restarting - # Example: "2023-10-25T09:38:31.752314Z WARN deletion executo2023-10-25T09:38:31.875947Z INFO version: git-env:0f9452f76e8ccdfc88291bccb3f53e3016f40192" - if re.match("\\d{4}-\\d{2}-\\d{2}T.+\\d{4}-\\d{2}-\\d{2}T.+INFO version.+", line): - continue - - # It's an ERROR or WARN. Is it in the allow-list? - for a in self.allowed_errors: - if re.match(a, line): - break - else: - errors.append(line) - - for error in errors: + for _lineno, error in errors: log.info(f"not allowed error: {error.strip()}") assert not errors diff --git a/test_runner/fixtures/pageserver/allowed_errors.py b/test_runner/fixtures/pageserver/allowed_errors.py new file mode 100755 index 0000000000..6160a1b5b8 --- /dev/null +++ b/test_runner/fixtures/pageserver/allowed_errors.py @@ -0,0 +1,117 @@ +#! /usr/bin/env python3 + +import argparse +import re +import sys +from typing import Iterable, List, Tuple + + +def scan_pageserver_log_for_errors( + input: Iterable[str], allowed_errors: List[str] +) -> List[Tuple[int, str]]: + error_or_warn = re.compile(r"\s(ERROR|WARN)") + errors = [] + for lineno, line in enumerate(input, start=1): + if len(line) == 0: + continue + + if error_or_warn.search(line): + # Is this a torn log line? This happens when force-killing a process and restarting + # Example: "2023-10-25T09:38:31.752314Z WARN deletion executo2023-10-25T09:38:31.875947Z INFO version: git-env:0f9452f76e8ccdfc88291bccb3f53e3016f40192" + if re.match("\\d{4}-\\d{2}-\\d{2}T.+\\d{4}-\\d{2}-\\d{2}T.+INFO version.+", line): + continue + + # It's an ERROR or WARN. Is it in the allow-list? + for a in allowed_errors: + if re.match(a, line): + break + else: + errors.append((lineno, line)) + return errors + + +DEFAULT_PAGESERVER_ALLOWED_ERRORS = ( + # All tests print these, when starting up or shutting down + ".*wal receiver task finished with an error: walreceiver connection handling failure.*", + ".*Shutdown task error: walreceiver connection handling failure.*", + ".*wal_connection_manager.*tcp connect error: Connection refused.*", + ".*query handler for .* failed: Socket IO error: Connection reset by peer.*", + ".*serving compute connection task.*exited with error: Postgres connection error.*", + ".*serving compute connection task.*exited with error: Connection reset by peer.*", + ".*serving compute connection task.*exited with error: Postgres query error.*", + ".*Connection aborted: error communicating with the server: Transport endpoint is not connected.*", + # FIXME: replication patch for tokio_postgres regards any but CopyDone/CopyData message in CopyBoth stream as unexpected + ".*Connection aborted: unexpected message from server*", + ".*kill_and_wait_impl.*: wait successful.*", + ".*query handler for 'pagestream.*failed: Broken pipe.*", # pageserver notices compute shut down + ".*query handler for 'pagestream.*failed: Connection reset by peer.*", # pageserver notices compute shut down + # safekeeper connection can fail with this, in the window between timeline creation + # and streaming start + ".*Failed to process query for timeline .*: state uninitialized, no data to read.*", + # Tests related to authentication and authorization print these + ".*Error processing HTTP request: Forbidden", + # intentional failpoints + ".*failpoint ", + # FIXME: These need investigation + ".*manual_gc.*is_shutdown_requested\\(\\) called in an unexpected task or thread.*", + ".*tenant_list: timeline is not found in remote index while it is present in the tenants registry.*", + ".*Removing intermediate uninit mark file.*", + # Tenant::delete_timeline() can cause any of the four following errors. + # FIXME: we shouldn't be considering it an error: https://github.com/neondatabase/neon/issues/2946 + ".*could not flush frozen layer.*queue is in state Stopped", # when schedule layer upload fails because queued got closed before compaction got killed + ".*wait for layer upload ops to complete.*", # .*Caused by:.*wait_completion aborted because upload queue was stopped + ".*gc_loop.*Gc failed, retrying in.*timeline is Stopping", # When gc checks timeline state after acquiring layer_removal_cs + ".*gc_loop.*Gc failed, retrying in.*: Cannot run GC iteration on inactive tenant", # Tenant::gc precondition + ".*compaction_loop.*Compaction failed.*, retrying in.*timeline or pageserver is shutting down", # When compaction checks timeline state after acquiring layer_removal_cs + ".*query handler for 'pagestream.*failed: Timeline .* was not found", # postgres reconnects while timeline_delete doesn't hold the tenant's timelines.lock() + ".*query handler for 'pagestream.*failed: Timeline .* is not active", # timeline delete in progress + ".*task iteration took longer than the configured period.*", + # this is until #3501 + ".*Compaction failed.*, retrying in [^:]+: Cannot run compaction iteration on inactive tenant", + # these can happen anytime we do compactions from background task and shutdown pageserver + r".*ERROR.*ancestor timeline \S+ is being stopped", + # this is expected given our collaborative shutdown approach for the UploadQueue + ".*Compaction failed.*, retrying in .*: Other\\(queue is in state Stopped.*", + # Pageserver timeline deletion should be polled until it gets 404, so ignore it globally + ".*Error processing HTTP request: NotFound: Timeline .* was not found", + ".*took more than expected to complete.*", + # these can happen during shutdown, but it should not be a reason to fail a test + ".*completed, took longer than expected.*", + # AWS S3 may emit 500 errors for keys in a DeleteObjects response: we retry these + # and it is not a failure of our code when it happens. + ".*DeleteObjects.*We encountered an internal error. Please try again.*", +) + + +def _check_allowed_errors(input): + allowed_errors: List[str] = list(DEFAULT_PAGESERVER_ALLOWED_ERRORS) + + # add any test specifics here; cli parsing is not provided for the + # difficulty of copypasting regexes as arguments without any quoting + # errors. + + errors = scan_pageserver_log_for_errors(input, allowed_errors) + + for lineno, error in errors: + print(f"-:{lineno}: {error.strip()}", file=sys.stderr) + + print(f"\n{len(errors)} not allowed errors", file=sys.stderr) + + return errors + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + description="check input against pageserver global allowed_errors" + ) + parser.add_argument( + "-i", + "--input", + type=argparse.FileType("r"), + default=sys.stdin, + help="Pageserver logs file. Reads from stdin if no file is provided.", + ) + args = parser.parse_args() + errors = _check_allowed_errors(args.input) + + sys.exit(len(errors) > 0) From 53851ea8ec1f04cdcc77b2c2a4cae3280fb3de5d Mon Sep 17 00:00:00 2001 From: Joonas Koivunen Date: Fri, 24 Nov 2023 15:54:06 +0200 Subject: [PATCH 16/38] fix: log cancelled request handler errors (#5915) noticed during [investigation] with @problame a major point of lost error logging which would had sped up the investigation. Cc: #5815 [investigation]: https://neondb.slack.com/archives/C066ZFAJU85/p1700751858049319 --- pageserver/src/http/routes.rs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/pageserver/src/http/routes.rs b/pageserver/src/http/routes.rs index 8bc652acef..5ce09500ee 100644 --- a/pageserver/src/http/routes.rs +++ b/pageserver/src/http/routes.rs @@ -1689,8 +1689,24 @@ where let token_cloned = token.clone(); let result = handler(r, token).await; if token_cloned.is_cancelled() { - info!("Cancelled request finished"); + // dropguard has executed: we will never turn this result into response. + // + // at least temporarily do {:?} logging; these failures are rare enough but + // could hide difficult errors. + match &result { + Ok(response) => { + let status = response.status(); + info!(%status, "Cancelled request finished successfully") + } + Err(e) => error!("Cancelled request finished with an error: {e:?}"), + } } + // only logging for cancelled panicked request handlers is the tracing_panic_hook, + // which should suffice. + // + // there is still a chance to lose the result due to race between + // returning from here and the actual connection closing happening + // before outer task gets to execute. leaving that up for #5815. result } .in_current_span(), From 831fad46d587b0efb7c196432dd6b69d7344c06e Mon Sep 17 00:00:00 2001 From: Joonas Koivunen Date: Fri, 24 Nov 2023 18:14:32 +0200 Subject: [PATCH 17/38] tests: fix allowed_error for compaction detecting a shutdown (#5919) This has been causing flaky tests, [example evidence]. Follow-up to #5883 where I forgot to fix this. [example evidence]: https://neon-github-public-dev.s3.amazonaws.com/reports/pr-5917/6981540065/index.html#suites/9d2450a537238135fd4007859e09aca7/6fd3556a879fa3d1 --- test_runner/fixtures/pageserver/allowed_errors.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test_runner/fixtures/pageserver/allowed_errors.py b/test_runner/fixtures/pageserver/allowed_errors.py index 6160a1b5b8..5c3ae3ce4b 100755 --- a/test_runner/fixtures/pageserver/allowed_errors.py +++ b/test_runner/fixtures/pageserver/allowed_errors.py @@ -66,12 +66,11 @@ DEFAULT_PAGESERVER_ALLOWED_ERRORS = ( ".*query handler for 'pagestream.*failed: Timeline .* was not found", # postgres reconnects while timeline_delete doesn't hold the tenant's timelines.lock() ".*query handler for 'pagestream.*failed: Timeline .* is not active", # timeline delete in progress ".*task iteration took longer than the configured period.*", - # this is until #3501 - ".*Compaction failed.*, retrying in [^:]+: Cannot run compaction iteration on inactive tenant", # these can happen anytime we do compactions from background task and shutdown pageserver r".*ERROR.*ancestor timeline \S+ is being stopped", # this is expected given our collaborative shutdown approach for the UploadQueue ".*Compaction failed.*, retrying in .*: Other\\(queue is in state Stopped.*", + ".*Compaction failed.*, retrying in .*: ShuttingDown", # Pageserver timeline deletion should be polled until it gets 404, so ignore it globally ".*Error processing HTTP request: NotFound: Timeline .* was not found", ".*took more than expected to complete.*", From 6b1c4cc9833b24e4bd7e9ca0fc1ee12c6912ed4f Mon Sep 17 00:00:00 2001 From: Joonas Koivunen Date: Fri, 24 Nov 2023 18:17:56 +0200 Subject: [PATCH 18/38] fix: long timeline create cancelled by tenant delete (#5917) Fix the fallible vs. infallible check order with `UninitTimeline::finish_creation` so that the incomplete timeline can be removed. Currently the order of drop guard unwrapping causes uninit files to be left on pageserver, blocking the tenant deletion. Cc: #5914 Cc: #investigation-2023-11-23-stuck-tenant-deletion --- pageserver/src/tenant.rs | 1 + pageserver/src/tenant/timeline.rs | 2 + pageserver/src/tenant/timeline/uninit.rs | 27 ++++++-- test_runner/fixtures/neon_fixtures.py | 2 +- test_runner/regress/test_tenant_delete.py | 77 ++++++++++++++++++++++- 5 files changed, 101 insertions(+), 8 deletions(-) diff --git a/pageserver/src/tenant.rs b/pageserver/src/tenant.rs index ef14f75a47..249a9a80c5 100644 --- a/pageserver/src/tenant.rs +++ b/pageserver/src/tenant.rs @@ -1858,6 +1858,7 @@ impl Tenant { }); }) }; + // test_long_timeline_create_then_tenant_delete is leaning on this message tracing::info!("Waiting for timelines..."); while let Some(res) = js.join_next().await { match res { diff --git a/pageserver/src/tenant/timeline.rs b/pageserver/src/tenant/timeline.rs index 38b8832281..9493ed1c9a 100644 --- a/pageserver/src/tenant/timeline.rs +++ b/pageserver/src/tenant/timeline.rs @@ -2600,6 +2600,8 @@ impl Timeline { ) }; + pausable_failpoint!("flush-layer-cancel-after-writing-layer-out-pausable"); + if self.cancel.is_cancelled() { return Err(FlushLayerError::Cancelled); } diff --git a/pageserver/src/tenant/timeline/uninit.rs b/pageserver/src/tenant/timeline/uninit.rs index 6b68fdeb84..f9bb6ca419 100644 --- a/pageserver/src/tenant/timeline/uninit.rs +++ b/pageserver/src/tenant/timeline/uninit.rs @@ -45,12 +45,20 @@ impl<'t> UninitializedTimeline<'t> { let timeline_id = self.timeline_id; let tenant_id = self.owning_tenant.tenant_id; - let (new_timeline, uninit_mark) = self.raw_timeline.take().with_context(|| { - format!("No timeline for initalization found for {tenant_id}/{timeline_id}") - })?; + if self.raw_timeline.is_none() { + return Err(anyhow::anyhow!( + "No timeline for initialization found for {tenant_id}/{timeline_id}" + )); + } // Check that the caller initialized disk_consistent_lsn - let new_disk_consistent_lsn = new_timeline.get_disk_consistent_lsn(); + let new_disk_consistent_lsn = self + .raw_timeline + .as_ref() + .expect("checked above") + .0 + .get_disk_consistent_lsn(); + anyhow::ensure!( new_disk_consistent_lsn.is_valid(), "new timeline {tenant_id}/{timeline_id} has invalid disk_consistent_lsn" @@ -62,6 +70,13 @@ impl<'t> UninitializedTimeline<'t> { "Found freshly initialized timeline {tenant_id}/{timeline_id} in the tenant map" ), Entry::Vacant(v) => { + // after taking here should be no fallible operations, because the drop guard will not + // cleanup after and would block for example the tenant deletion + let (new_timeline, uninit_mark) = + self.raw_timeline.take().expect("already checked"); + + // this is the mutual exclusion between different retries to create the timeline; + // this should be an assertion. uninit_mark.remove_uninit_mark().with_context(|| { format!( "Failed to remove uninit mark file for timeline {tenant_id}/{timeline_id}" @@ -70,10 +85,10 @@ impl<'t> UninitializedTimeline<'t> { v.insert(Arc::clone(&new_timeline)); new_timeline.maybe_spawn_flush_loop(); + + Ok(new_timeline) } } - - Ok(new_timeline) } /// Prepares timeline data by loading it from the basebackup archive. diff --git a/test_runner/fixtures/neon_fixtures.py b/test_runner/fixtures/neon_fixtures.py index 6b5fa631a4..fc7e834bd2 100644 --- a/test_runner/fixtures/neon_fixtures.py +++ b/test_runner/fixtures/neon_fixtures.py @@ -1646,7 +1646,7 @@ class NeonPageserver(PgProtocol): # env.pageserver.allowed_errors.append(".*could not open garage door.*") # # The entries in the list are regular experessions. - self.allowed_errors = list(DEFAULT_PAGESERVER_ALLOWED_ERRORS) + self.allowed_errors: List[str] = list(DEFAULT_PAGESERVER_ALLOWED_ERRORS) def timeline_dir(self, tenant_id: TenantId, timeline_id: Optional[TimelineId] = None) -> Path: """Get a timeline directory's path based on the repo directory of the test environment""" diff --git a/test_runner/regress/test_tenant_delete.py b/test_runner/regress/test_tenant_delete.py index 6e35890922..0dd1f9a295 100644 --- a/test_runner/regress/test_tenant_delete.py +++ b/test_runner/regress/test_tenant_delete.py @@ -1,6 +1,7 @@ import enum import os import shutil +from threading import Thread import pytest from fixtures.log_helper import log @@ -27,7 +28,7 @@ from fixtures.remote_storage import ( available_s3_storages, ) from fixtures.types import TenantId -from fixtures.utils import run_pg_bench_small +from fixtures.utils import run_pg_bench_small, wait_until @pytest.mark.parametrize("remote_storage_kind", available_remote_storages()) @@ -399,4 +400,78 @@ def test_tenant_delete_is_resumed_on_attach( ) +def test_long_timeline_create_cancelled_by_tenant_delete(neon_env_builder: NeonEnvBuilder): + """Reproduction of 2023-11-23 stuck tenants investigation""" + + # do not use default tenant/timeline creation because it would output the failpoint log message too early + env = neon_env_builder.init_configs() + env.start() + pageserver_http = env.pageserver.http_client() + + # happens with the cancellation bailing flushing loop earlier, leaving disk_consistent_lsn at zero + env.pageserver.allowed_errors.append( + ".*Timeline got dropped without initializing, cleaning its files" + ) + # the response hit_pausable_failpoint_and_later_fail + env.pageserver.allowed_errors.append( + f".*Error processing HTTP request: InternalServerError\\(new timeline {env.initial_tenant}/{env.initial_timeline} has invalid disk_consistent_lsn" + ) + + pageserver_http.tenant_create(env.initial_tenant) + + failpoint = "flush-layer-cancel-after-writing-layer-out-pausable" + pageserver_http.configure_failpoints((failpoint, "pause")) + + def hit_pausable_failpoint_and_later_fail(): + with pytest.raises( + PageserverApiException, match="new timeline \\S+ has invalid disk_consistent_lsn" + ): + pageserver_http.timeline_create( + env.pg_version, env.initial_tenant, env.initial_timeline + ) + + def start_deletion(): + pageserver_http.tenant_delete(env.initial_tenant) + + def has_hit_failpoint(): + assert env.pageserver.log_contains(f"at failpoint {failpoint}") is not None + + def deletion_has_started_waiting_for_timelines(): + assert env.pageserver.log_contains("Waiting for timelines...") is not None + + def tenant_is_deleted(): + try: + pageserver_http.tenant_status(env.initial_tenant) + except PageserverApiException as e: + assert e.status_code == 404 + else: + raise RuntimeError("tenant was still accessible") + + creation = Thread(target=hit_pausable_failpoint_and_later_fail) + creation.start() + + deletion = None + + try: + wait_until(10, 1, has_hit_failpoint) + + # it should start ok, sync up with the stuck creation, then fail because disk_consistent_lsn was not updated + # then deletion should fail and set the tenant broken + deletion = Thread(target=start_deletion) + deletion.start() + + wait_until(10, 1, deletion_has_started_waiting_for_timelines) + + pageserver_http.configure_failpoints((failpoint, "off")) + + creation.join() + deletion.join() + + wait_until(10, 1, tenant_is_deleted) + finally: + creation.join() + if deletion is not None: + deletion.join() + + # TODO test concurrent deletions with "hang" failpoint From 87b8ac3ec38a3d275001d8471403567f0ee7a9cf Mon Sep 17 00:00:00 2001 From: Anastasia Lubennikova Date: Sun, 26 Nov 2023 08:37:01 +0000 Subject: [PATCH 19/38] Only create neon extension in postgres database; (#5918) Create neon extension in neon schema. --- compute_tools/src/compute.rs | 6 +- compute_tools/src/spec.rs | 85 +++++----------------- test_runner/regress/test_neon_extension.py | 10 --- test_runner/regress/test_timeline_size.py | 9 ++- 4 files changed, 25 insertions(+), 85 deletions(-) diff --git a/compute_tools/src/compute.rs b/compute_tools/src/compute.rs index 0a77c3922a..5ace8ca1d2 100644 --- a/compute_tools/src/compute.rs +++ b/compute_tools/src/compute.rs @@ -693,13 +693,12 @@ impl ComputeNode { let spec = &compute_state.pspec.as_ref().expect("spec must be set").spec; create_neon_superuser(spec, &mut client)?; cleanup_instance(&mut client)?; - handle_extension_neon(self.connstr.as_str())?; handle_roles(spec, &mut client)?; handle_databases(spec, &mut client)?; handle_role_deletions(spec, self.connstr.as_str(), &mut client)?; handle_grants(spec, &mut client, self.connstr.as_str())?; handle_extensions(spec, &mut client)?; - handle_alter_extension_neon(spec, &mut client, self.connstr.as_str())?; + handle_extension_neon(&mut client)?; create_availability_check_data(&mut client)?; // 'Close' connection @@ -739,13 +738,12 @@ impl ComputeNode { if spec.mode == ComputeMode::Primary { client.simple_query("SET neon.forward_ddl = false")?; cleanup_instance(&mut client)?; - handle_extension_neon(self.connstr.as_str())?; handle_roles(&spec, &mut client)?; handle_databases(&spec, &mut client)?; handle_role_deletions(&spec, self.connstr.as_str(), &mut client)?; handle_grants(&spec, &mut client, self.connstr.as_str())?; handle_extensions(&spec, &mut client)?; - handle_alter_extension_neon(&spec, &mut client, self.connstr.as_str())?; + handle_extension_neon(&mut client)?; } // 'Close' connection diff --git a/compute_tools/src/spec.rs b/compute_tools/src/spec.rs index ae705702c5..97aa144c79 100644 --- a/compute_tools/src/spec.rs +++ b/compute_tools/src/spec.rs @@ -675,78 +675,29 @@ pub fn handle_extensions(spec: &ComputeSpec, client: &mut Client) -> Result<()> Ok(()) } -/// connect to template1 and postgres to create neon extension -/// that will be available in all databases -pub fn handle_extension_neon(connstr: &str) -> Result<()> { - for dbname in ["template1", "postgres"].iter() { - let mut conf = Config::from_str(connstr)?; - conf.dbname(dbname); - let mut template1_client = conf.connect(NoTls)?; - - let create_extension_neon_query = "CREATE EXTENSION IF NOT EXISTS neon"; - info!( - "creating neon extension with query: {} in db {}", - create_extension_neon_query, dbname - ); - template1_client.simple_query(create_extension_neon_query)?; - } - - Ok(()) -} - -/// Run ALTER EXTENSION neon UPDATE for each valid database +/// Run CREATE and ALTER EXTENSION neon UPDATE for postgres database #[instrument(skip_all)] -pub fn handle_alter_extension_neon( - spec: &ComputeSpec, - client: &mut Client, - connstr: &str, -) -> Result<()> { - info!("modifying database permissions"); - let existing_dbs = get_existing_dbs(client)?; +pub fn handle_extension_neon(client: &mut Client) -> Result<()> { + info!("handle extension neon"); - // We'd better do this at db creation time, but we don't always know when it happens. - for db in &spec.cluster.databases { - match existing_dbs.get(&db.name) { - Some(pg_db) => { - if pg_db.restrict_conn || pg_db.invalid { - info!( - "skipping grants for db {} (invalid: {}, connections not allowed: {})", - db.name, pg_db.invalid, pg_db.restrict_conn - ); - continue; - } - } - None => { - bail!( - "database {} doesn't exist in Postgres after handle_databases()", - db.name - ); - } - } + let mut query = "CREATE SCHEMA IF NOT EXISTS neon"; + client.simple_query(query)?; - let mut conf = Config::from_str(connstr)?; - conf.dbname(&db.name); + query = "CREATE EXTENSION IF NOT EXISTS neon WITH SCHEMA neon"; + info!("create neon extension with query: {}", query); + client.simple_query(query)?; - let mut db_client = conf.connect(NoTls)?; + query = "ALTER EXTENSION neon SET SCHEMA neon"; + info!("alter neon extension schema with query: {}", query); + client.simple_query(query)?; - // this will be a no-op if extension is already up to date, - // which may happen in two cases: - // - extension was just installed - // - extension was already installed and is up to date - let create_extension_neon_query = "CREATE EXTENSION IF NOT EXISTS neon"; - info!( - "create extension neon query for db {} : {}", - &db.name, &create_extension_neon_query - ); - db_client.simple_query(create_extension_neon_query)?; - - let alter_extension_neon_query = "ALTER EXTENSION neon UPDATE"; - info!( - "alter extension neon query for db {} : {}", - &db.name, &alter_extension_neon_query - ); - db_client.simple_query(alter_extension_neon_query)?; - } + // this will be a no-op if extension is already up to date, + // which may happen in two cases: + // - extension was just installed + // - extension was already installed and is up to date + let query = "ALTER EXTENSION neon UPDATE"; + info!("update neon extension schema with query: {}", query); + client.simple_query(query)?; Ok(()) } diff --git a/test_runner/regress/test_neon_extension.py b/test_runner/regress/test_neon_extension.py index 1cd1c1a3d4..998f84f968 100644 --- a/test_runner/regress/test_neon_extension.py +++ b/test_runner/regress/test_neon_extension.py @@ -26,13 +26,3 @@ def test_neon_extension(neon_env_builder: NeonEnvBuilder): # If the version has changed, the test should be updated. # Ensure that the default version is also updated in the neon.control file assert cur.fetchone() == ("1.1",) - - # create test database - cur.execute("CREATE DATABASE foodb") - - # connect to test database - # test that neon extension is installed and has the correct version - with closing(endpoint_main.connect(dbname="foodb")) as conn: - with conn.cursor() as cur: - cur.execute("SELECT extversion from pg_extension where extname='neon'") - assert cur.fetchone() == ("1.1",) diff --git a/test_runner/regress/test_timeline_size.py b/test_runner/regress/test_timeline_size.py index 1146ca4b82..eb98348823 100644 --- a/test_runner/regress/test_timeline_size.py +++ b/test_runner/regress/test_timeline_size.py @@ -134,10 +134,11 @@ def wait_for_pageserver_catchup(endpoint_main: Endpoint, polling_interval=1, tim res = endpoint_main.safe_psql( """ SELECT - pg_size_pretty(pg_cluster_size()), + pg_size_pretty(neon.pg_cluster_size()), pg_wal_lsn_diff(pg_current_wal_flush_lsn(), received_lsn) as received_lsn_lag - FROM backpressure_lsns(); - """ + FROM neon.backpressure_lsns(); + """, + dbname="postgres", )[0] log.info(f"pg_cluster_size = {res[0]}, received_lsn_lag = {res[1]}") received_lsn_lag = res[1] @@ -214,7 +215,7 @@ def test_timeline_size_quota(neon_env_builder: NeonEnvBuilder): wait_for_pageserver_catchup(endpoint_main) - cur.execute("SELECT * from pg_size_pretty(pg_cluster_size())") + cur.execute("SELECT * from pg_size_pretty(neon.pg_cluster_size())") pg_cluster_size = cur.fetchone() log.info(f"pg_cluster_size = {pg_cluster_size}") From b80b9e1c4c483c62e80d103618ab4d07b56e0586 Mon Sep 17 00:00:00 2001 From: John Spray Date: Mon, 27 Nov 2023 09:31:20 +0000 Subject: [PATCH 20/38] pageserver: remove defunct local timeline delete markers (#5699) ## Problem Historically, we treated the presence of a timeline on local disk as evidence that it logically exists. Since #5580 that is no longer the case, so we can always rely on remote storage. If we restart and the timeline is gone in remote storage, we will also purge it from local disk: no need for a marker. Reference on why this PR is for timeline markers and not tenant markers: https://github.com/neondatabase/neon/issues/5080#issuecomment-1783187807 ## Summary of changes Remove code paths that read + write deletion marker for timelines. Leave code path that deletes these markers, just in case we deploy while there are some in existence. This can be cleaned up later. (https://github.com/neondatabase/neon/issues/5718) --- pageserver/src/tenant/timeline/delete.rs | 37 ++---------------------- 1 file changed, 2 insertions(+), 35 deletions(-) diff --git a/pageserver/src/tenant/timeline/delete.rs b/pageserver/src/tenant/timeline/delete.rs index 56a99a25cf..429b3347eb 100644 --- a/pageserver/src/tenant/timeline/delete.rs +++ b/pageserver/src/tenant/timeline/delete.rs @@ -110,35 +110,6 @@ async fn set_deleted_in_remote_index(timeline: &Timeline) -> Result<(), DeleteTi Ok(()) } -// We delete local files first, so if pageserver restarts after local files deletion then remote deletion is not continued. -// This can be solved with inversion of these steps. But even if these steps are inverted then, when index_part.json -// gets deleted there is no way to distinguish between "this timeline is good, we just didnt upload it to remote" -// and "this timeline is deleted we should continue with removal of local state". So to avoid the ambiguity we use a mark file. -// After index part is deleted presence of this mark file indentifies that it was a deletion intention. -// So we can just remove the mark file. -async fn create_delete_mark( - conf: &PageServerConf, - tenant_id: TenantId, - timeline_id: TimelineId, -) -> Result<(), DeleteTimelineError> { - fail::fail_point!("timeline-delete-before-delete-mark", |_| { - Err(anyhow::anyhow!( - "failpoint: timeline-delete-before-delete-mark" - ))? - }); - let marker_path = conf.timeline_delete_mark_file_path(tenant_id, timeline_id); - - // Note: we're ok to replace existing file. - let _ = std::fs::OpenOptions::new() - .write(true) - .create(true) - .open(&marker_path) - .with_context(|| format!("could not create delete marker file {marker_path:?}"))?; - - crashsafe::fsync_file_and_parent(&marker_path).context("sync_mark")?; - Ok(()) -} - /// Grab the layer_removal_cs lock, and actually perform the deletion. /// /// This lock prevents prevents GC or compaction from running at the same time. @@ -311,6 +282,8 @@ async fn cleanup_remaining_timeline_fs_traces( .context("fsync_pre_mark_remove")?; // Remove delete mark + // TODO: once we are confident that no more exist in the field, remove this + // line. It cleans up a legacy marker file that might in rare cases be present. tokio::fs::remove_file(conf.timeline_delete_mark_file_path(tenant_id, timeline_id)) .await .or_else(fs_ext::ignore_not_found) @@ -391,8 +364,6 @@ impl DeleteTimelineFlow { set_deleted_in_remote_index(&timeline).await?; - create_delete_mark(tenant.conf, timeline.tenant_id, timeline.timeline_id).await?; - fail::fail_point!("timeline-delete-before-schedule", |_| { Err(anyhow::anyhow!( "failpoint: timeline-delete-before-schedule" @@ -464,10 +435,6 @@ impl DeleteTimelineFlow { guard.mark_in_progress()?; - // Note that delete mark can be missing on resume - // because we create delete mark after we set deleted_at in the index part. - create_delete_mark(tenant.conf, tenant.tenant_id, timeline_id).await?; - Self::schedule_background(guard, tenant.conf, tenant, timeline); Ok(()) From 92bc2bb132985962c6be132f95aad9a1067b938e Mon Sep 17 00:00:00 2001 From: Anastasia Lubennikova Date: Mon, 27 Nov 2023 12:10:23 +0000 Subject: [PATCH 21/38] Refactor remote extensions feature to request extensions from proxy (#5836) instead of direct S3 request. Pros: - simplify code a lot (no need to provide AWS credentials and paths); - reduce latency of downloading extension data as proxy resides near computes; -reduce AWS costs as proxy has cache and 1000 computes asking the same extension will not generate 1000 downloads from S3. - we can use only one S3 bucket to store extensions (and rid of regional buckets which were introduced to reduce latency); Changes: - deprecate remote-ext-config compute_ctl parameter, use http://pg-ext-s3-gateway if any old format remote-ext-cofig is provided; - refactor tests to use mock http server; --- Cargo.lock | 1 + compute_tools/Cargo.toml | 1 + compute_tools/src/bin/compute_ctl.rs | 24 +- compute_tools/src/compute.rs | 20 +- compute_tools/src/extension_server.rs | 85 ++-- compute_tools/src/http/api.rs | 2 +- control_plane/src/bin/neon_local.rs | 2 +- control_plane/src/endpoint.rs | 15 +- test_runner/fixtures/neon_fixtures.py | 42 +- test_runner/regress/test_compatibility.py | 1 - .../regress/test_download_extensions.py | 407 ++++++------------ 11 files changed, 232 insertions(+), 368 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a75209b8db..d605169986 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1126,6 +1126,7 @@ version = "0.1.0" dependencies = [ "anyhow", "async-compression", + "bytes", "cfg-if", "chrono", "clap", diff --git a/compute_tools/Cargo.toml b/compute_tools/Cargo.toml index 6c93befaa3..47378f1910 100644 --- a/compute_tools/Cargo.toml +++ b/compute_tools/Cargo.toml @@ -38,3 +38,4 @@ toml_edit.workspace = true remote_storage = { version = "0.1", path = "../libs/remote_storage/" } vm_monitor = { version = "0.1", path = "../libs/vm_monitor/" } zstd = "0.12.4" +bytes = "1.0" diff --git a/compute_tools/src/bin/compute_ctl.rs b/compute_tools/src/bin/compute_ctl.rs index 7f22bda13e..36e9ca0731 100644 --- a/compute_tools/src/bin/compute_ctl.rs +++ b/compute_tools/src/bin/compute_ctl.rs @@ -31,7 +31,7 @@ //! -C 'postgresql://cloud_admin@localhost/postgres' \ //! -S /var/db/postgres/specs/current.json \ //! -b /usr/local/bin/postgres \ -//! -r {"bucket": "neon-dev-extensions-eu-central-1", "region": "eu-central-1"} +//! -r http://pg-ext-s3-gateway //! ``` //! use std::collections::HashMap; @@ -51,7 +51,7 @@ use compute_api::responses::ComputeStatus; use compute_tools::compute::{ComputeNode, ComputeState, ParsedSpec}; use compute_tools::configurator::launch_configurator; -use compute_tools::extension_server::{get_pg_version, init_remote_storage}; +use compute_tools::extension_server::get_pg_version; use compute_tools::http::api::launch_http_server; use compute_tools::logger::*; use compute_tools::monitor::launch_monitor; @@ -60,7 +60,7 @@ use compute_tools::spec::*; // this is an arbitrary build tag. Fine as a default / for testing purposes // in-case of not-set environment var -const BUILD_TAG_DEFAULT: &str = "5670669815"; +const BUILD_TAG_DEFAULT: &str = "latest"; fn main() -> Result<()> { init_tracing_and_logging(DEFAULT_LOG_LEVEL)?; @@ -74,10 +74,18 @@ fn main() -> Result<()> { let pgbin_default = String::from("postgres"); let pgbin = matches.get_one::("pgbin").unwrap_or(&pgbin_default); - let remote_ext_config = matches.get_one::("remote-ext-config"); - let ext_remote_storage = remote_ext_config.map(|x| { - init_remote_storage(x).expect("cannot initialize remote extension storage from config") - }); + let ext_remote_storage = matches + .get_one::("remote-ext-config") + // Compatibility hack: if the control plane specified any remote-ext-config + // use the default value for extension storage proxy gateway. + // Remove this once the control plane is updated to pass the gateway URL + .map(|conf| { + if conf.starts_with("http") { + conf.trim_end_matches('/') + } else { + "http://pg-ext-s3-gateway" + } + }); let http_port = *matches .get_one::("http-port") @@ -198,7 +206,7 @@ fn main() -> Result<()> { live_config_allowed, state: Mutex::new(new_state), state_changed: Condvar::new(), - ext_remote_storage, + ext_remote_storage: ext_remote_storage.map(|s| s.to_string()), ext_download_progress: RwLock::new(HashMap::new()), build_tag, }; diff --git a/compute_tools/src/compute.rs b/compute_tools/src/compute.rs index 5ace8ca1d2..0dfacb615c 100644 --- a/compute_tools/src/compute.rs +++ b/compute_tools/src/compute.rs @@ -25,7 +25,7 @@ use compute_api::responses::{ComputeMetrics, ComputeStatus}; use compute_api::spec::{ComputeMode, ComputeSpec}; use utils::measured_stream::MeasuredReader; -use remote_storage::{DownloadError, GenericRemoteStorage, RemotePath}; +use remote_storage::{DownloadError, RemotePath}; use crate::checker::create_availability_check_data; use crate::pg_helpers::*; @@ -59,8 +59,8 @@ pub struct ComputeNode { pub state: Mutex, /// `Condvar` to allow notifying waiters about state changes. pub state_changed: Condvar, - /// the S3 bucket that we search for extensions in - pub ext_remote_storage: Option, + /// the address of extension storage proxy gateway + pub ext_remote_storage: Option, // key: ext_archive_name, value: started download time, download_completed? pub ext_download_progress: RwLock, bool)>>, pub build_tag: String, @@ -957,12 +957,12 @@ LIMIT 100", real_ext_name: String, ext_path: RemotePath, ) -> Result { - let remote_storage = self - .ext_remote_storage - .as_ref() - .ok_or(DownloadError::BadInput(anyhow::anyhow!( - "Remote extensions storage is not configured", - )))?; + let ext_remote_storage = + self.ext_remote_storage + .as_ref() + .ok_or(DownloadError::BadInput(anyhow::anyhow!( + "Remote extensions storage is not configured", + )))?; let ext_archive_name = ext_path.object_name().expect("bad path"); @@ -1018,7 +1018,7 @@ LIMIT 100", let download_size = extension_server::download_extension( &real_ext_name, &ext_path, - remote_storage, + ext_remote_storage, &self.pgbin, ) .await diff --git a/compute_tools/src/extension_server.rs b/compute_tools/src/extension_server.rs index 9732d8adea..2cec12119f 100644 --- a/compute_tools/src/extension_server.rs +++ b/compute_tools/src/extension_server.rs @@ -71,18 +71,16 @@ More specifically, here is an example ext_index.json } } */ -use anyhow::Context; use anyhow::{self, Result}; +use anyhow::{bail, Context}; +use bytes::Bytes; use compute_api::spec::RemoteExtSpec; use regex::Regex; use remote_storage::*; -use serde_json; -use std::io::Read; -use std::num::NonZeroUsize; +use reqwest::StatusCode; use std::path::Path; use std::str; use tar::Archive; -use tokio::io::AsyncReadExt; use tracing::info; use tracing::log::warn; use zstd::stream::read::Decoder; @@ -138,23 +136,31 @@ fn parse_pg_version(human_version: &str) -> &str { pub async fn download_extension( ext_name: &str, ext_path: &RemotePath, - remote_storage: &GenericRemoteStorage, + ext_remote_storage: &str, pgbin: &str, ) -> Result { info!("Download extension {:?} from {:?}", ext_name, ext_path); - let mut download = remote_storage.download(ext_path).await?; - let mut download_buffer = Vec::new(); - download - .download_stream - .read_to_end(&mut download_buffer) - .await?; + + // TODO add retry logic + let download_buffer = + match download_extension_tar(ext_remote_storage, &ext_path.to_string()).await { + Ok(buffer) => buffer, + Err(error_message) => { + return Err(anyhow::anyhow!( + "error downloading extension {:?}: {:?}", + ext_name, + error_message + )); + } + }; + let download_size = download_buffer.len() as u64; + info!("Download size {:?}", download_size); // it's unclear whether it is more performant to decompress into memory or not // TODO: decompressing into memory can be avoided - let mut decoder = Decoder::new(download_buffer.as_slice())?; - let mut decompress_buffer = Vec::new(); - decoder.read_to_end(&mut decompress_buffer)?; - let mut archive = Archive::new(decompress_buffer.as_slice()); + let decoder = Decoder::new(download_buffer.as_ref())?; + let mut archive = Archive::new(decoder); + let unzip_dest = pgbin .strip_suffix("/bin/postgres") .expect("bad pgbin") @@ -222,29 +228,32 @@ pub fn create_control_files(remote_extensions: &RemoteExtSpec, pgbin: &str) { } } -// This function initializes the necessary structs to use remote storage -pub fn init_remote_storage(remote_ext_config: &str) -> anyhow::Result { - #[derive(Debug, serde::Deserialize)] - struct RemoteExtJson { - bucket: String, - region: String, - endpoint: Option, - prefix: Option, - } - let remote_ext_json = serde_json::from_str::(remote_ext_config)?; +// Do request to extension storage proxy, i.e. +// curl http://pg-ext-s3-gateway/latest/v15/extensions/anon.tar.zst +// using HHTP GET +// and return the response body as bytes +// +async fn download_extension_tar(ext_remote_storage: &str, ext_path: &str) -> Result { + let uri = format!("{}/{}", ext_remote_storage, ext_path); - let config = S3Config { - bucket_name: remote_ext_json.bucket, - bucket_region: remote_ext_json.region, - prefix_in_bucket: remote_ext_json.prefix, - endpoint: remote_ext_json.endpoint, - concurrency_limit: NonZeroUsize::new(100).expect("100 != 0"), - max_keys_per_list_response: None, - }; - let config = RemoteStorageConfig { - storage: RemoteStorageKind::AwsS3(config), - }; - GenericRemoteStorage::from_config(&config) + info!("Download extension {:?} from uri {:?}", ext_path, uri); + + let resp = reqwest::get(uri).await?; + + match resp.status() { + StatusCode::OK => match resp.bytes().await { + Ok(resp) => { + info!("Download extension {:?} completed successfully", ext_path); + Ok(resp) + } + Err(e) => bail!("could not deserialize remote extension response: {}", e), + }, + StatusCode::SERVICE_UNAVAILABLE => bail!("remote extension is temporarily unavailable"), + _ => bail!( + "unexpected remote extension response status code: {}", + resp.status() + ), + } } #[cfg(test)] diff --git a/compute_tools/src/http/api.rs b/compute_tools/src/http/api.rs index 8851be1ec1..ef6ca6eee3 100644 --- a/compute_tools/src/http/api.rs +++ b/compute_tools/src/http/api.rs @@ -123,7 +123,7 @@ async fn routes(req: Request, compute: &Arc) -> Response { info!("serving {:?} POST request", route); info!("req.uri {:?}", req.uri()); diff --git a/control_plane/src/bin/neon_local.rs b/control_plane/src/bin/neon_local.rs index 384c4ee56d..3053122f6a 100644 --- a/control_plane/src/bin/neon_local.rs +++ b/control_plane/src/bin/neon_local.rs @@ -1252,7 +1252,7 @@ fn cli() -> Command { let remote_ext_config_args = Arg::new("remote-ext-config") .long("remote-ext-config") .num_args(1) - .help("Configure the S3 bucket that we search for extensions in.") + .help("Configure the remote extensions storage proxy gateway to request for extensions.") .required(false); let lsn_arg = Arg::new("lsn") diff --git a/control_plane/src/endpoint.rs b/control_plane/src/endpoint.rs index 4443fd8704..ae45746925 100644 --- a/control_plane/src/endpoint.rs +++ b/control_plane/src/endpoint.rs @@ -45,6 +45,7 @@ use std::sync::Arc; use std::time::Duration; use anyhow::{anyhow, bail, Context, Result}; +use compute_api::spec::RemoteExtSpec; use serde::{Deserialize, Serialize}; use utils::id::{NodeId, TenantId, TimelineId}; @@ -476,6 +477,18 @@ impl Endpoint { } } + // check for file remote_extensions_spec.json + // if it is present, read it and pass to compute_ctl + let remote_extensions_spec_path = self.endpoint_path().join("remote_extensions_spec.json"); + let remote_extensions_spec = std::fs::File::open(remote_extensions_spec_path); + let remote_extensions: Option; + + if let Ok(spec_file) = remote_extensions_spec { + remote_extensions = serde_json::from_reader(spec_file).ok(); + } else { + remote_extensions = None; + }; + // Create spec file let spec = ComputeSpec { skip_pg_catalog_updates: self.skip_pg_catalog_updates, @@ -497,7 +510,7 @@ impl Endpoint { pageserver_connstring: Some(pageserver_connstring), safekeeper_connstrings, storage_auth_token: auth_token.clone(), - remote_extensions: None, + remote_extensions, }; let spec_path = self.endpoint_path().join("spec.json"); std::fs::write(spec_path, serde_json::to_string_pretty(&spec)?)?; diff --git a/test_runner/fixtures/neon_fixtures.py b/test_runner/fixtures/neon_fixtures.py index fc7e834bd2..08e1c5eacb 100644 --- a/test_runner/fixtures/neon_fixtures.py +++ b/test_runner/fixtures/neon_fixtures.py @@ -434,8 +434,6 @@ class NeonEnvBuilder: # Pageserver remote storage self.pageserver_remote_storage = pageserver_remote_storage - # Extensions remote storage - self.ext_remote_storage: Optional[S3Storage] = None # Safekeepers remote storage self.sk_remote_storage: Optional[RemoteStorage] = None @@ -534,24 +532,6 @@ class NeonEnvBuilder: ) self.pageserver_remote_storage = ret - def enable_extensions_remote_storage(self, kind: RemoteStorageKind): - assert self.ext_remote_storage is None, "already configured extensions remote storage" - - # there is an assumption that REAL_S3 for extensions is never - # cleaned up these are also special in that they have a hardcoded - # bucket and region, which is most likely the same as our normal - ext = self._configure_and_create_remote_storage( - kind, - RemoteStorageUser.EXTENSIONS, - bucket_name="neon-dev-extensions-eu-central-1", - bucket_region="eu-central-1", - ) - assert isinstance( - ext, S3Storage - ), "unsure why, but only MOCK_S3 and REAL_S3 are currently supported for extensions" - ext.cleanup = False - self.ext_remote_storage = ext - def enable_safekeeper_remote_storage(self, kind: RemoteStorageKind): assert self.sk_remote_storage is None, "sk_remote_storage already configured" @@ -608,8 +588,7 @@ class NeonEnvBuilder: directory_to_clean.rmdir() def cleanup_remote_storage(self): - # extensions are currently not cleaned up, disabled when creating - for x in [self.pageserver_remote_storage, self.ext_remote_storage, self.sk_remote_storage]: + for x in [self.pageserver_remote_storage, self.sk_remote_storage]: if isinstance(x, S3Storage): x.do_cleanup() @@ -713,7 +692,6 @@ class NeonEnv: self.pageservers: List[NeonPageserver] = [] self.broker = config.broker self.pageserver_remote_storage = config.pageserver_remote_storage - self.ext_remote_storage = config.ext_remote_storage self.safekeepers_remote_storage = config.sk_remote_storage self.pg_version = config.pg_version # Binary path for pageserver, safekeeper, etc @@ -1469,12 +1447,7 @@ class NeonCli(AbstractNeonCli): if pageserver_id is not None: args.extend(["--pageserver-id", str(pageserver_id)]) - storage = self.env.ext_remote_storage - s3_env_vars = None - if isinstance(storage, S3Storage): - s3_env_vars = storage.access_env_vars() - - res = self.raw_cli(args, extra_env_vars=s3_env_vars) + res = self.raw_cli(args) res.check_returncode() return res @@ -2582,6 +2555,17 @@ class Endpoint(PgProtocol): with open(config_path, "w") as file: json.dump(dict(data_dict, **kwargs), file, indent=4) + # Mock the extension part of spec passed from control plane for local testing + # endpooint.rs adds content of this file as a part of the spec.json + def create_remote_extension_spec(self, spec: dict[str, Any]): + """Create a remote extension spec file for the endpoint.""" + remote_extensions_spec_path = os.path.join( + self.endpoint_path(), "remote_extensions_spec.json" + ) + + with open(remote_extensions_spec_path, "w") as file: + json.dump(spec, file, indent=4) + def stop(self) -> "Endpoint": """ Stop the Postgres instance if it's running. diff --git a/test_runner/regress/test_compatibility.py b/test_runner/regress/test_compatibility.py index 98f6677c00..9a2980280c 100644 --- a/test_runner/regress/test_compatibility.py +++ b/test_runner/regress/test_compatibility.py @@ -411,7 +411,6 @@ def check_neon_works( config.initial_tenant = snapshot_config["default_tenant_id"] config.pg_distrib_dir = pg_distrib_dir config.remote_storage = None - config.ext_remote_storage = None config.sk_remote_storage = None # Use the "target" binaries to launch the storage nodes diff --git a/test_runner/regress/test_download_extensions.py b/test_runner/regress/test_download_extensions.py index 775ad10241..a975947704 100644 --- a/test_runner/regress/test_download_extensions.py +++ b/test_runner/regress/test_download_extensions.py @@ -1,316 +1,165 @@ import os -import shutil -import threading from contextlib import closing from pathlib import Path +from typing import Any, Dict, List import pytest from fixtures.log_helper import log from fixtures.neon_fixtures import ( NeonEnvBuilder, ) -from fixtures.pg_version import PgVersion, skip_on_postgres -from fixtures.remote_storage import ( - RemoteStorageKind, - S3Storage, - available_s3_storages, -) +from fixtures.pg_version import PgVersion +from pytest_httpserver import HTTPServer +from werkzeug.wrappers.request import Request +from werkzeug.wrappers.response import Response -# Cleaning up downloaded files is important for local tests -# or else one test could reuse the files from another test or another test run -def cleanup(pg_version): - PGDIR = Path(f"pg_install/v{pg_version}") +# Check that the extension is not already in the share_dir_path_ext +# if it is, skip the test +# +# After the test is done, cleanup the control file and the extension directory +@pytest.fixture(scope="function") +def ext_file_cleanup(pg_bin): + out = pg_bin.run_capture("pg_config --sharedir".split()) + share_dir_path = Path(f"{out}.stdout").read_text().strip() + log.info(f"share_dir_path: {share_dir_path}") + share_dir_path_ext = os.path.join(share_dir_path, "extension") - LIB_DIR = PGDIR / Path("lib/postgresql") - cleanup_lib_globs = ["anon*", "postgis*", "pg_buffercache*"] - cleanup_lib_glob_paths = [LIB_DIR.glob(x) for x in cleanup_lib_globs] + log.info(f"share_dir_path_ext: {share_dir_path_ext}") - SHARE_DIR = PGDIR / Path("share/postgresql/extension") - cleanup_ext_globs = [ - "anon*", - "address_standardizer*", - "postgis*", - "pageinspect*", - "pg_buffercache*", - "pgrouting*", - ] - cleanup_ext_glob_paths = [SHARE_DIR.glob(x) for x in cleanup_ext_globs] + # if file is already in the share_dir_path_ext, skip the test + if os.path.isfile(os.path.join(share_dir_path_ext, "anon.control")): + log.info("anon.control is already in the share_dir_path_ext, skipping the test") + yield False + return + else: + yield True - all_glob_paths = cleanup_lib_glob_paths + cleanup_ext_glob_paths - all_cleanup_files = [] - for file_glob in all_glob_paths: - for file in file_glob: - all_cleanup_files.append(file) + # cleanup the control file + if os.path.isfile(os.path.join(share_dir_path_ext, "anon.control")): + os.unlink(os.path.join(share_dir_path_ext, "anon.control")) + log.info("anon.control was removed from the share_dir_path_ext") - for file in all_cleanup_files: - try: - os.remove(file) - log.info(f"removed file {file}") - except Exception as err: - log.info( - f"skipping remove of file {file} because it doesn't exist.\ - this may be expected or unexpected depending on the test {err}" - ) + # remove the extension directory recursively + if os.path.isdir(os.path.join(share_dir_path_ext, "anon")): + directories_to_clean: List[Path] = [] + for f in Path(os.path.join(share_dir_path_ext, "anon")).iterdir(): + if f.is_file(): + log.info(f"Removing file {f}") + f.unlink() + elif f.is_dir(): + directories_to_clean.append(f) - cleanup_folders = [SHARE_DIR / Path("anon"), PGDIR / Path("download_extensions")] - for folder in cleanup_folders: - try: - shutil.rmtree(folder) - log.info(f"removed folder {folder}") - except Exception as err: - log.info( - f"skipping remove of folder {folder} because it doesn't exist.\ - this may be expected or unexpected depending on the test {err}" - ) + for directory_to_clean in reversed(directories_to_clean): + if not os.listdir(directory_to_clean): + log.info(f"Removing empty directory {directory_to_clean}") + directory_to_clean.rmdir() + + os.rmdir(os.path.join(share_dir_path_ext, "anon")) + log.info("anon directory was removed from the share_dir_path_ext") -def upload_files(env): - log.info("Uploading test files to mock bucket") - os.chdir("test_runner/regress/data/extension_test") - for path in os.walk("."): - prefix, _, files = path - for file in files: - # the [2:] is to remove the leading "./" - full_path = os.path.join(prefix, file)[2:] - - with open(full_path, "rb") as f: - log.info(f"UPLOAD {full_path} to ext/{full_path}") - assert isinstance(env.pageserver_remote_storage, S3Storage) - env.pageserver_remote_storage.client.upload_fileobj( - f, - env.ext_remote_storage.bucket_name, - f"ext/{full_path}", - ) - os.chdir("../../../..") - - -# Test downloading remote extension. -@skip_on_postgres(PgVersion.V16, reason="TODO: PG16 extension building") -@pytest.mark.parametrize("remote_storage_kind", available_s3_storages()) -@pytest.mark.skip(reason="https://github.com/neondatabase/neon/issues/4949") def test_remote_extensions( + httpserver: HTTPServer, neon_env_builder: NeonEnvBuilder, - remote_storage_kind: RemoteStorageKind, - pg_version: PgVersion, + httpserver_listen_address, + pg_version, + ext_file_cleanup, ): - neon_env_builder.enable_extensions_remote_storage(remote_storage_kind) + if ext_file_cleanup is False: + log.info("test_remote_extensions skipped") + return + + if pg_version == PgVersion.V16: + pytest.skip("TODO: PG16 extension building") + + # setup mock http server + # that expects request for anon.tar.zst + # and returns the requested file + (host, port) = httpserver_listen_address + extensions_endpoint = f"http://{host}:{port}/pg-ext-s3-gateway" + + archive_path = f"latest/v{pg_version}/extensions/anon.tar.zst" + + def endpoint_handler_build_tag(request: Request) -> Response: + log.info(f"request: {request}") + + file_name = "anon.tar.zst" + file_path = f"test_runner/regress/data/extension_test/5670669815/v{pg_version}/extensions/anon.tar.zst" + file_size = os.path.getsize(file_path) + fh = open(file_path, "rb") + return Response( + fh, + mimetype="application/octet-stream", + headers=[ + ("Content-Length", str(file_size)), + ("Content-Disposition", 'attachment; filename="%s"' % file_name), + ], + direct_passthrough=True, + ) + + httpserver.expect_request( + f"/pg-ext-s3-gateway/{archive_path}", method="GET" + ).respond_with_handler(endpoint_handler_build_tag) + + # Start a compute node with remote_extension spec + # and check that it can download the extensions and use them to CREATE EXTENSION. env = neon_env_builder.init_start() tenant_id, _ = env.neon_cli.create_tenant() env.neon_cli.create_timeline("test_remote_extensions", tenant_id=tenant_id) - - assert env.ext_remote_storage is not None # satisfy mypy - - # For MOCK_S3 we upload test files. - # For REAL_S3 we use the files already in the bucket - if remote_storage_kind == RemoteStorageKind.MOCK_S3: - upload_files(env) - - # Start a compute node and check that it can download the extensions - # and use them to CREATE EXTENSION and LOAD - endpoint = env.endpoints.create_start( + endpoint = env.endpoints.create( "test_remote_extensions", tenant_id=tenant_id, - remote_ext_config=env.ext_remote_storage.to_string(), - # config_lines=["log_min_messages=debug3"], + config_lines=["log_min_messages=debug3"], ) + + # mock remote_extensions spec + spec: Dict[str, Any] = { + "library_index": { + "anon": "anon", + }, + "extension_data": { + "anon": { + "archive_path": "", + "control_data": { + "anon.control": "# PostgreSQL Anonymizer (anon) extension\ncomment = 'Data anonymization tools'\ndefault_version = '1.1.0'\ndirectory='extension/anon'\nrelocatable = false\nrequires = 'pgcrypto'\nsuperuser = false\nmodule_pathname = '$libdir/anon'\ntrusted = true\n" + }, + }, + }, + } + spec["extension_data"]["anon"]["archive_path"] = archive_path + + endpoint.create_remote_extension_spec(spec) + + endpoint.start( + remote_ext_config=extensions_endpoint, + ) + + # this is expected to fail if there's no pgcrypto extension, that's ok + # we just want to check that the extension was downloaded try: with closing(endpoint.connect()) as conn: with conn.cursor() as cur: - # Check that appropriate control files were downloaded - cur.execute("SELECT * FROM pg_available_extensions") - all_extensions = [x[0] for x in cur.fetchall()] - log.info(all_extensions) - assert "anon" in all_extensions + # Check that appropriate files were downloaded + cur.execute("CREATE EXTENSION anon") + res = [x[0] for x in cur.fetchall()] + log.info(res) + except Exception as err: + assert "pgcrypto" in str(err), f"unexpected error creating anon extension {err}" - # postgis is on real s3 but not mock s3. - # it's kind of a big file, would rather not upload to github - if remote_storage_kind == RemoteStorageKind.REAL_S3: - assert "postgis" in all_extensions - # this may fail locally if dependency is missing - # we don't really care about the error, - # we just want to make sure it downloaded - try: - cur.execute("CREATE EXTENSION postgis") - except Exception as err: - log.info(f"(expected) error creating postgis extension: {err}") - # we do not check the error, so this is basically a NO-OP - # however checking the log you can make sure that it worked - # and also get valuable information about how long loading the extension took - - # this is expected to fail on my computer because I don't have the pgcrypto extension - try: - cur.execute("CREATE EXTENSION anon") - except Exception as err: - log.info("error creating anon extension") - assert "pgcrypto" in str(err), "unexpected error creating anon extension" - finally: - cleanup(pg_version) + httpserver.check() -# Test downloading remote library. -@skip_on_postgres(PgVersion.V16, reason="TODO: PG16 extension building") -@pytest.mark.parametrize("remote_storage_kind", available_s3_storages()) -@pytest.mark.skip(reason="https://github.com/neondatabase/neon/issues/4949") -def test_remote_library( - neon_env_builder: NeonEnvBuilder, - remote_storage_kind: RemoteStorageKind, - pg_version: PgVersion, -): - neon_env_builder.enable_extensions_remote_storage(remote_storage_kind) - env = neon_env_builder.init_start() - tenant_id, _ = env.neon_cli.create_tenant() - env.neon_cli.create_timeline("test_remote_library", tenant_id=tenant_id) - - assert env.ext_remote_storage is not None # satisfy mypy - - # For MOCK_S3 we upload test files. - # For REAL_S3 we use the files already in the bucket - if remote_storage_kind == RemoteStorageKind.MOCK_S3: - upload_files(env) - - # and use them to run LOAD library - endpoint = env.endpoints.create_start( - "test_remote_library", - tenant_id=tenant_id, - remote_ext_config=env.ext_remote_storage.to_string(), - # config_lines=["log_min_messages=debug3"], - ) - try: - with closing(endpoint.connect()) as conn: - with conn.cursor() as cur: - # try to load library - try: - cur.execute("LOAD 'anon'") - except Exception as err: - log.info(f"error loading anon library: {err}") - raise AssertionError("unexpected error loading anon library") from err - - # test library which name is different from extension name - # this may fail locally if dependency is missing - # however, it does successfully download the postgis archive - if remote_storage_kind == RemoteStorageKind.REAL_S3: - try: - cur.execute("LOAD 'postgis_topology-3'") - except Exception as err: - log.info("error loading postgis_topology-3") - assert "No such file or directory" in str( - err - ), "unexpected error loading postgis_topology-3" - finally: - cleanup(pg_version) - - -# Here we test a complex extension -# which has multiple extensions in one archive -# using postgis as an example -# @pytest.mark.skipif( -# RemoteStorageKind.REAL_S3 not in available_s3_storages(), -# reason="skipping test because real s3 not enabled", -# ) -@skip_on_postgres(PgVersion.V16, reason="TODO: PG16 extension building") -@pytest.mark.skip(reason="https://github.com/neondatabase/neon/issues/4949") -def test_multiple_extensions_one_archive( - neon_env_builder: NeonEnvBuilder, - pg_version: PgVersion, -): - neon_env_builder.enable_extensions_remote_storage(RemoteStorageKind.REAL_S3) - env = neon_env_builder.init_start() - tenant_id, _ = env.neon_cli.create_tenant() - env.neon_cli.create_timeline("test_multiple_extensions_one_archive", tenant_id=tenant_id) - - assert env.ext_remote_storage is not None # satisfy mypy - - endpoint = env.endpoints.create_start( - "test_multiple_extensions_one_archive", - tenant_id=tenant_id, - remote_ext_config=env.ext_remote_storage.to_string(), - ) - with closing(endpoint.connect()) as conn: - with conn.cursor() as cur: - cur.execute("CREATE EXTENSION address_standardizer;") - cur.execute("CREATE EXTENSION address_standardizer_data_us;") - # execute query to ensure that it works - cur.execute( - "SELECT house_num, name, suftype, city, country, state, unit \ - FROM standardize_address('us_lex', 'us_gaz', 'us_rules', \ - 'One Rust Place, Boston, MA 02109');" - ) - res = cur.fetchall() - log.info(res) - assert len(res) > 0 - - cleanup(pg_version) - - -# Test that extension is downloaded after endpoint restart, -# when the library is used in the query. +# TODO +# 1. Test downloading remote library. # +# 2. Test a complex extension, which has multiple extensions in one archive +# using postgis as an example +# +# 3.Test that extension is downloaded after endpoint restart, +# when the library is used in the query. # Run the test with mutliple simultaneous connections to an endpoint. # to ensure that the extension is downloaded only once. # -@pytest.mark.skip(reason="https://github.com/neondatabase/neon/issues/4949") -def test_extension_download_after_restart( - neon_env_builder: NeonEnvBuilder, - pg_version: PgVersion, -): - # TODO: PG15 + PG16 extension building - if "v14" not in pg_version: # test set only has extension built for v14 - return None - - neon_env_builder.enable_extensions_remote_storage(RemoteStorageKind.MOCK_S3) - env = neon_env_builder.init_start() - tenant_id, _ = env.neon_cli.create_tenant() - env.neon_cli.create_timeline("test_extension_download_after_restart", tenant_id=tenant_id) - - assert env.ext_remote_storage is not None # satisfy mypy - - # For MOCK_S3 we upload test files. - upload_files(env) - - endpoint = env.endpoints.create_start( - "test_extension_download_after_restart", - tenant_id=tenant_id, - remote_ext_config=env.ext_remote_storage.to_string(), - config_lines=["log_min_messages=debug3"], - ) - with closing(endpoint.connect()) as conn: - with conn.cursor() as cur: - cur.execute("CREATE extension pg_buffercache;") - cur.execute("SELECT * from pg_buffercache;") - res = cur.fetchall() - assert len(res) > 0 - log.info(res) - - # shutdown compute node - endpoint.stop() - # remove extension files locally - cleanup(pg_version) - - # spin up compute node again (there are no extension files available, because compute is stateless) - endpoint = env.endpoints.create_start( - "test_extension_download_after_restart", - tenant_id=tenant_id, - remote_ext_config=env.ext_remote_storage.to_string(), - config_lines=["log_min_messages=debug3"], - ) - - # connect to compute node and run the query - # that will trigger the download of the extension - def run_query(endpoint, thread_id: int): - log.info("thread_id {%d} starting", thread_id) - with closing(endpoint.connect()) as conn: - with conn.cursor() as cur: - cur.execute("SELECT * from pg_buffercache;") - res = cur.fetchall() - assert len(res) > 0 - log.info("thread_id {%d}, res = %s", thread_id, res) - - threads = [threading.Thread(target=run_query, args=(endpoint, i)) for i in range(2)] - - for thread in threads: - thread.start() - for thread in threads: - thread.join() - - cleanup(pg_version) +# 4. Test that private extensions are only downloaded when they are present in the spec. +# From a76a503b8b1ee792bfc5d036ab94b45d93c63b2d Mon Sep 17 00:00:00 2001 From: Christian Schwarz Date: Mon, 27 Nov 2023 13:50:19 +0100 Subject: [PATCH 22/38] remove confusing no-op .take() of init_tenant_load_remote (#5923) The `Tenant::spawn()` method already `.take()`s it. I think this was an oversight in https://github.com/neondatabase/neon/pull/5580 . --- pageserver/src/tenant.rs | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/pageserver/src/tenant.rs b/pageserver/src/tenant.rs index 249a9a80c5..82afeca338 100644 --- a/pageserver/src/tenant.rs +++ b/pageserver/src/tenant.rs @@ -733,7 +733,7 @@ impl Tenant { /// async fn attach( self: &Arc, - mut init_order: Option, + init_order: Option, preload: Option, ctx: &RequestContext, ) -> anyhow::Result<()> { @@ -750,11 +750,6 @@ impl Tenant { } }; - // Signal that we have completed remote phase - init_order - .as_mut() - .and_then(|x| x.initial_tenant_load_remote.take()); - let mut timelines_to_resume_deletions = vec![]; let mut remote_index_and_client = HashMap::new(); From 683ec2417cbd9113b4c5b5efacf72664f2569d3d Mon Sep 17 00:00:00 2001 From: Joonas Koivunen Date: Mon, 27 Nov 2023 15:20:54 +0200 Subject: [PATCH 23/38] deflake: test_live_reconfig_get_evictions_low_residence_... (#5926) - disable extra tenant - disable compaction which could try to repartition while we assert Split from #5108. --- test_runner/regress/test_tenant_conf.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/test_runner/regress/test_tenant_conf.py b/test_runner/regress/test_tenant_conf.py index 2fdcfca671..fcc3243e81 100644 --- a/test_runner/regress/test_tenant_conf.py +++ b/test_runner/regress/test_tenant_conf.py @@ -336,10 +336,15 @@ def test_live_reconfig_get_evictions_low_residence_duration_metric_threshold( ): neon_env_builder.enable_pageserver_remote_storage(RemoteStorageKind.LOCAL_FS) - env = neon_env_builder.init_start() + env = neon_env_builder.init_start( + initial_tenant_conf={ + # disable compaction so that it will not download the layer for repartitioning + "compaction_period": "0s" + } + ) assert isinstance(env.pageserver_remote_storage, LocalFsStorage) - (tenant_id, timeline_id) = env.neon_cli.create_tenant() + (tenant_id, timeline_id) = env.initial_tenant, env.initial_timeline ps_http = env.pageserver.http_client() def get_metric(): From 5289f341ceb3c605b91d9bc8607329dc1a22f45c Mon Sep 17 00:00:00 2001 From: Anastasia Lubennikova Date: Mon, 27 Nov 2023 18:57:58 +0000 Subject: [PATCH 24/38] Use test specific directory in test_remote_extensions (#5938) --- .github/workflows/build_and_test.yml | 3 +- .../regress/test_download_extensions.py | 76 ++++++------------- 2 files changed, 26 insertions(+), 53 deletions(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index caa7ebee05..820848b4fb 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -404,7 +404,7 @@ jobs: uses: ./.github/actions/save-coverage-data regress-tests: - needs: [ check-permissions, build-neon ] + needs: [ check-permissions, build-neon, tag ] runs-on: [ self-hosted, gen3, large ] container: image: 369495373322.dkr.ecr.eu-central-1.amazonaws.com/rust:pinned @@ -436,6 +436,7 @@ jobs: env: TEST_RESULT_CONNSTR: ${{ secrets.REGRESS_TEST_RESULT_CONNSTR_NEW }} CHECK_ONDISK_DATA_COMPATIBILITY: nonempty + BUILD_TAG: ${{ needs.tag.outputs.build-tag }} - name: Merge and upload coverage data if: matrix.build_type == 'debug' && matrix.pg_version == 'v14' diff --git a/test_runner/regress/test_download_extensions.py b/test_runner/regress/test_download_extensions.py index a975947704..27eb05ac09 100644 --- a/test_runner/regress/test_download_extensions.py +++ b/test_runner/regress/test_download_extensions.py @@ -1,7 +1,8 @@ import os +import shutil from contextlib import closing from pathlib import Path -from typing import Any, Dict, List +from typing import Any, Dict import pytest from fixtures.log_helper import log @@ -14,62 +15,33 @@ from werkzeug.wrappers.request import Request from werkzeug.wrappers.response import Response -# Check that the extension is not already in the share_dir_path_ext -# if it is, skip the test -# -# After the test is done, cleanup the control file and the extension directory +# use neon_env_builder_local fixture to override the default neon_env_builder fixture +# and use a test-specific pg_install instead of shared one @pytest.fixture(scope="function") -def ext_file_cleanup(pg_bin): - out = pg_bin.run_capture("pg_config --sharedir".split()) - share_dir_path = Path(f"{out}.stdout").read_text().strip() - log.info(f"share_dir_path: {share_dir_path}") - share_dir_path_ext = os.path.join(share_dir_path, "extension") +def neon_env_builder_local( + neon_env_builder: NeonEnvBuilder, + test_output_dir: Path, + pg_distrib_dir: Path, + pg_version: PgVersion, +) -> NeonEnvBuilder: + test_local_pginstall = test_output_dir / "pg_install" + log.info(f"copy {pg_distrib_dir} to {test_local_pginstall}") + shutil.copytree( + pg_distrib_dir / pg_version.v_prefixed, test_local_pginstall / pg_version.v_prefixed + ) - log.info(f"share_dir_path_ext: {share_dir_path_ext}") + neon_env_builder.pg_distrib_dir = test_local_pginstall + log.info(f"local neon_env_builder.pg_distrib_dir: {neon_env_builder.pg_distrib_dir}") - # if file is already in the share_dir_path_ext, skip the test - if os.path.isfile(os.path.join(share_dir_path_ext, "anon.control")): - log.info("anon.control is already in the share_dir_path_ext, skipping the test") - yield False - return - else: - yield True - - # cleanup the control file - if os.path.isfile(os.path.join(share_dir_path_ext, "anon.control")): - os.unlink(os.path.join(share_dir_path_ext, "anon.control")) - log.info("anon.control was removed from the share_dir_path_ext") - - # remove the extension directory recursively - if os.path.isdir(os.path.join(share_dir_path_ext, "anon")): - directories_to_clean: List[Path] = [] - for f in Path(os.path.join(share_dir_path_ext, "anon")).iterdir(): - if f.is_file(): - log.info(f"Removing file {f}") - f.unlink() - elif f.is_dir(): - directories_to_clean.append(f) - - for directory_to_clean in reversed(directories_to_clean): - if not os.listdir(directory_to_clean): - log.info(f"Removing empty directory {directory_to_clean}") - directory_to_clean.rmdir() - - os.rmdir(os.path.join(share_dir_path_ext, "anon")) - log.info("anon directory was removed from the share_dir_path_ext") + return neon_env_builder def test_remote_extensions( httpserver: HTTPServer, - neon_env_builder: NeonEnvBuilder, + neon_env_builder_local: NeonEnvBuilder, httpserver_listen_address, pg_version, - ext_file_cleanup, ): - if ext_file_cleanup is False: - log.info("test_remote_extensions skipped") - return - if pg_version == PgVersion.V16: pytest.skip("TODO: PG16 extension building") @@ -79,7 +51,8 @@ def test_remote_extensions( (host, port) = httpserver_listen_address extensions_endpoint = f"http://{host}:{port}/pg-ext-s3-gateway" - archive_path = f"latest/v{pg_version}/extensions/anon.tar.zst" + build_tag = os.environ.get("BUILD_TAG", "latest") + archive_path = f"{build_tag}/v{pg_version}/extensions/anon.tar.zst" def endpoint_handler_build_tag(request: Request) -> Response: log.info(f"request: {request}") @@ -88,6 +61,7 @@ def test_remote_extensions( file_path = f"test_runner/regress/data/extension_test/5670669815/v{pg_version}/extensions/anon.tar.zst" file_size = os.path.getsize(file_path) fh = open(file_path, "rb") + return Response( fh, mimetype="application/octet-stream", @@ -104,12 +78,10 @@ def test_remote_extensions( # Start a compute node with remote_extension spec # and check that it can download the extensions and use them to CREATE EXTENSION. - env = neon_env_builder.init_start() - tenant_id, _ = env.neon_cli.create_tenant() - env.neon_cli.create_timeline("test_remote_extensions", tenant_id=tenant_id) + env = neon_env_builder_local.init_start() + env.neon_cli.create_branch("test_remote_extensions") endpoint = env.endpoints.create( "test_remote_extensions", - tenant_id=tenant_id, config_lines=["log_min_messages=debug3"], ) From e09bb9974cc134fd7b67b1166e97ec9a7b990bdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arpad=20M=C3=BCller?= Date: Mon, 27 Nov 2023 21:14:39 +0100 Subject: [PATCH 25/38] bootstrap_timeline: rename initdb_path to pgdata_path (#5931) This is a rename without functional changes, in preparation for #5912. Split off from #5912 as per review request. --- pageserver/src/tenant.rs | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/pageserver/src/tenant.rs b/pageserver/src/tenant.rs index 82afeca338..7fbf538e2f 100644 --- a/pageserver/src/tenant.rs +++ b/pageserver/src/tenant.rs @@ -2908,7 +2908,7 @@ impl Tenant { }; // create a `tenant/{tenant_id}/timelines/basebackup-{timeline_id}.{TEMP_FILE_SUFFIX}/` // temporary directory for basebackup files for the given timeline. - let initdb_path = path_with_suffix_extension( + let pgdata_path = path_with_suffix_extension( self.conf .timelines_path(&self.tenant_id) .join(format!("basebackup-{timeline_id}")), @@ -2917,26 +2917,25 @@ impl Tenant { // an uninit mark was placed before, nothing else can access this timeline files // current initdb was not run yet, so remove whatever was left from the previous runs - if initdb_path.exists() { - fs::remove_dir_all(&initdb_path).with_context(|| { - format!("Failed to remove already existing initdb directory: {initdb_path}") + if pgdata_path.exists() { + fs::remove_dir_all(&pgdata_path).with_context(|| { + format!("Failed to remove already existing initdb directory: {pgdata_path}") })?; } - // Init temporarily repo to get bootstrap data, this creates a directory in the `initdb_path` path - run_initdb(self.conf, &initdb_path, pg_version)?; + // Init temporarily repo to get bootstrap data, this creates a directory in the `pgdata_path` path + run_initdb(self.conf, &pgdata_path, pg_version)?; // this new directory is very temporary, set to remove it immediately after bootstrap, we don't need it scopeguard::defer! { - if let Err(e) = fs::remove_dir_all(&initdb_path) { + if let Err(e) = fs::remove_dir_all(&pgdata_path) { // this is unlikely, but we will remove the directory on pageserver restart or another bootstrap call - error!("Failed to remove temporary initdb directory '{initdb_path}': {e}"); + error!("Failed to remove temporary initdb directory '{pgdata_path}': {e}"); } } - let pgdata_path = &initdb_path; - let pgdata_lsn = import_datadir::get_lsn_from_controlfile(pgdata_path)?.align(); + let pgdata_lsn = import_datadir::get_lsn_from_controlfile(&pgdata_path)?.align(); // Upload the created data dir to S3 if let Some(storage) = &self.remote_storage { - let pgdata_zstd = import_datadir::create_tar_zst(pgdata_path).await?; + let pgdata_zstd = import_datadir::create_tar_zst(&pgdata_path).await?; let pgdata_zstd = Bytes::from(pgdata_zstd); backoff::retry( || async { @@ -2986,7 +2985,7 @@ impl Tenant { import_datadir::import_timeline_from_postgres_datadir( unfinished_timeline, - pgdata_path, + &pgdata_path, pgdata_lsn, ctx, ) From 316309c85bef1f0a68fb1ddbb8b9f5862c95c7f2 Mon Sep 17 00:00:00 2001 From: Conrad Ludgate Date: Mon, 27 Nov 2023 21:45:15 +0000 Subject: [PATCH 26/38] channel binding (#5683) ## Problem channel binding protects scram from sophisticated MITM attacks where the attacker is able to produce 'valid' TLS certificates. ## Summary of changes get the tls-server-end-point channel binding, and verify it is correct for the SCRAM-SHA-256-PLUS authentication flow --- Cargo.lock | 1 + proxy/Cargo.toml | 1 + proxy/src/auth/backend.rs | 7 +- proxy/src/auth/backend/classic.rs | 4 +- proxy/src/auth/backend/hacks.rs | 6 +- proxy/src/auth/flow.rs | 48 ++++-- proxy/src/bin/pg_sni_router.rs | 30 +++- proxy/src/config.rs | 169 +++++++++++++++----- proxy/src/proxy.rs | 16 +- proxy/src/proxy/tests.rs | 62 ++++++- proxy/src/proxy/tests/mitm.rs | 257 ++++++++++++++++++++++++++++++ proxy/src/sasl/channel_binding.rs | 17 +- proxy/src/scram.rs | 13 +- proxy/src/scram/exchange.rs | 25 ++- proxy/src/stream.rs | 82 +++++----- 15 files changed, 601 insertions(+), 137 deletions(-) create mode 100644 proxy/src/proxy/tests/mitm.rs diff --git a/Cargo.lock b/Cargo.lock index d605169986..16fcd0c4c9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3505,6 +3505,7 @@ dependencies = [ "pbkdf2", "pin-project-lite", "postgres-native-tls", + "postgres-protocol", "postgres_backend", "pq_proto", "prometheus", diff --git a/proxy/Cargo.toml b/proxy/Cargo.toml index 0ec7efd316..39a9c3ddb0 100644 --- a/proxy/Cargo.toml +++ b/proxy/Cargo.toml @@ -76,3 +76,4 @@ tokio-util.workspace = true rcgen.workspace = true rstest.workspace = true tokio-postgres-rustls.workspace = true +postgres-protocol.workspace = true diff --git a/proxy/src/auth/backend.rs b/proxy/src/auth/backend.rs index 9cf45c0eec..f0197cc31b 100644 --- a/proxy/src/auth/backend.rs +++ b/proxy/src/auth/backend.rs @@ -6,6 +6,7 @@ pub use link::LinkAuthError; use tokio_postgres::config::AuthKeys; use crate::proxy::{handle_try_wake, retry_after, LatencyTimer}; +use crate::stream::Stream; use crate::{ auth::{self, ClientCredentials}, config::AuthenticationConfig, @@ -131,7 +132,7 @@ async fn auth_quirks_creds( api: &impl console::Api, extra: &ConsoleReqExtra<'_>, creds: &mut ClientCredentials<'_>, - client: &mut stream::PqStream, + client: &mut stream::PqStream>, allow_cleartext: bool, config: &'static AuthenticationConfig, latency_timer: &mut LatencyTimer, @@ -165,7 +166,7 @@ async fn auth_quirks( api: &impl console::Api, extra: &ConsoleReqExtra<'_>, creds: &mut ClientCredentials<'_>, - client: &mut stream::PqStream, + client: &mut stream::PqStream>, allow_cleartext: bool, config: &'static AuthenticationConfig, latency_timer: &mut LatencyTimer, @@ -241,7 +242,7 @@ impl BackendType<'_, ClientCredentials<'_>> { pub async fn authenticate( &mut self, extra: &ConsoleReqExtra<'_>, - client: &mut stream::PqStream, + client: &mut stream::PqStream>, allow_cleartext: bool, config: &'static AuthenticationConfig, latency_timer: &mut LatencyTimer, diff --git a/proxy/src/auth/backend/classic.rs b/proxy/src/auth/backend/classic.rs index aee0057606..ac0d490db1 100644 --- a/proxy/src/auth/backend/classic.rs +++ b/proxy/src/auth/backend/classic.rs @@ -6,7 +6,7 @@ use crate::{ console::{self, AuthInfo, ConsoleReqExtra}, proxy::LatencyTimer, sasl, scram, - stream::PqStream, + stream::{PqStream, Stream}, }; use tokio::io::{AsyncRead, AsyncWrite}; use tracing::{info, warn}; @@ -15,7 +15,7 @@ pub(super) async fn authenticate( api: &impl console::Api, extra: &ConsoleReqExtra<'_>, creds: &ClientCredentials<'_>, - client: &mut PqStream, + client: &mut PqStream>, config: &'static AuthenticationConfig, latency_timer: &mut LatencyTimer, ) -> auth::Result> { diff --git a/proxy/src/auth/backend/hacks.rs b/proxy/src/auth/backend/hacks.rs index 895683af1b..4448dbc56a 100644 --- a/proxy/src/auth/backend/hacks.rs +++ b/proxy/src/auth/backend/hacks.rs @@ -2,7 +2,7 @@ use super::{AuthSuccess, ComputeCredentials}; use crate::{ auth::{self, AuthFlow, ClientCredentials}, proxy::LatencyTimer, - stream, + stream::{self, Stream}, }; use tokio::io::{AsyncRead, AsyncWrite}; use tracing::{info, warn}; @@ -12,7 +12,7 @@ use tracing::{info, warn}; /// These properties are benefical for serverless JS workers, so we /// use this mechanism for websocket connections. pub async fn cleartext_hack( - client: &mut stream::PqStream, + client: &mut stream::PqStream>, latency_timer: &mut LatencyTimer, ) -> auth::Result> { warn!("cleartext auth flow override is enabled, proceeding"); @@ -37,7 +37,7 @@ pub async fn cleartext_hack( /// Very similar to [`cleartext_hack`], but there's a specific password format. pub async fn password_hack( creds: &mut ClientCredentials<'_>, - client: &mut stream::PqStream, + client: &mut stream::PqStream>, latency_timer: &mut LatencyTimer, ) -> auth::Result> { warn!("project not specified, resorting to the password hack auth flow"); diff --git a/proxy/src/auth/flow.rs b/proxy/src/auth/flow.rs index 190abc9b2e..efb90733d6 100644 --- a/proxy/src/auth/flow.rs +++ b/proxy/src/auth/flow.rs @@ -1,16 +1,21 @@ //! Main authentication flow. use super::{AuthErrorImpl, PasswordHackPayload}; -use crate::{sasl, scram, stream::PqStream}; +use crate::{ + config::TlsServerEndPoint, + sasl, scram, + stream::{PqStream, Stream}, +}; use pq_proto::{BeAuthenticationSaslMessage, BeMessage, BeMessage as Be}; use std::io; use tokio::io::{AsyncRead, AsyncWrite}; +use tracing::info; /// Every authentication selector is supposed to implement this trait. pub trait AuthMethod { /// Any authentication selector should provide initial backend message /// containing auth method name and parameters, e.g. md5 salt. - fn first_message(&self) -> BeMessage<'_>; + fn first_message(&self, channel_binding: bool) -> BeMessage<'_>; } /// Initial state of [`AuthFlow`]. @@ -21,8 +26,14 @@ pub struct Scram<'a>(pub &'a scram::ServerSecret); impl AuthMethod for Scram<'_> { #[inline(always)] - fn first_message(&self) -> BeMessage<'_> { - Be::AuthenticationSasl(BeAuthenticationSaslMessage::Methods(scram::METHODS)) + fn first_message(&self, channel_binding: bool) -> BeMessage<'_> { + if channel_binding { + Be::AuthenticationSasl(BeAuthenticationSaslMessage::Methods(scram::METHODS)) + } else { + Be::AuthenticationSasl(BeAuthenticationSaslMessage::Methods( + scram::METHODS_WITHOUT_PLUS, + )) + } } } @@ -32,7 +43,7 @@ pub struct PasswordHack; impl AuthMethod for PasswordHack { #[inline(always)] - fn first_message(&self) -> BeMessage<'_> { + fn first_message(&self, _channel_binding: bool) -> BeMessage<'_> { Be::AuthenticationCleartextPassword } } @@ -43,37 +54,44 @@ pub struct CleartextPassword; impl AuthMethod for CleartextPassword { #[inline(always)] - fn first_message(&self) -> BeMessage<'_> { + fn first_message(&self, _channel_binding: bool) -> BeMessage<'_> { Be::AuthenticationCleartextPassword } } /// This wrapper for [`PqStream`] performs client authentication. #[must_use] -pub struct AuthFlow<'a, Stream, State> { +pub struct AuthFlow<'a, S, State> { /// The underlying stream which implements libpq's protocol. - stream: &'a mut PqStream, + stream: &'a mut PqStream>, /// State might contain ancillary data (see [`Self::begin`]). state: State, + tls_server_end_point: TlsServerEndPoint, } /// Initial state of the stream wrapper. -impl<'a, S: AsyncWrite + Unpin> AuthFlow<'a, S, Begin> { +impl<'a, S: AsyncRead + AsyncWrite + Unpin> AuthFlow<'a, S, Begin> { /// Create a new wrapper for client authentication. - pub fn new(stream: &'a mut PqStream) -> Self { + pub fn new(stream: &'a mut PqStream>) -> Self { + let tls_server_end_point = stream.get_ref().tls_server_end_point(); + Self { stream, state: Begin, + tls_server_end_point, } } /// Move to the next step by sending auth method's name & params to client. pub async fn begin(self, method: M) -> io::Result> { - self.stream.write_message(&method.first_message()).await?; + self.stream + .write_message(&method.first_message(self.tls_server_end_point.supported())) + .await?; Ok(AuthFlow { stream: self.stream, state: method, + tls_server_end_point: self.tls_server_end_point, }) } } @@ -123,9 +141,15 @@ impl AuthFlow<'_, S, Scram<'_>> { return Err(super::AuthError::bad_auth_method(sasl.method)); } + info!("client chooses {}", sasl.method); + let secret = self.state.0; let outcome = sasl::SaslStream::new(self.stream, sasl.message) - .authenticate(scram::Exchange::new(secret, rand::random, None)) + .authenticate(scram::Exchange::new( + secret, + rand::random, + self.tls_server_end_point, + )) .await?; Ok(outcome) diff --git a/proxy/src/bin/pg_sni_router.rs b/proxy/src/bin/pg_sni_router.rs index 42aecdb6fe..2b859fc2db 100644 --- a/proxy/src/bin/pg_sni_router.rs +++ b/proxy/src/bin/pg_sni_router.rs @@ -6,6 +6,8 @@ use std::{net::SocketAddr, sync::Arc}; use futures::future::Either; +use itertools::Itertools; +use proxy::config::TlsServerEndPoint; use tokio::net::TcpListener; use anyhow::{anyhow, bail, ensure, Context}; @@ -65,7 +67,7 @@ async fn main() -> anyhow::Result<()> { let destination: String = args.get_one::("dest").unwrap().parse()?; // Configure TLS - let tls_config: Arc = match ( + let (tls_config, tls_server_end_point): (Arc, TlsServerEndPoint) = match ( args.get_one::("tls-key"), args.get_one::("tls-cert"), ) { @@ -89,16 +91,22 @@ async fn main() -> anyhow::Result<()> { ))? .into_iter() .map(rustls::Certificate) - .collect() + .collect_vec() }; - rustls::ServerConfig::builder() + // needed for channel bindings + let first_cert = cert_chain.first().context("missing certificate")?; + let tls_server_end_point = TlsServerEndPoint::new(first_cert)?; + + let tls_config = rustls::ServerConfig::builder() .with_safe_default_cipher_suites() .with_safe_default_kx_groups() .with_protocol_versions(&[&rustls::version::TLS13, &rustls::version::TLS12])? .with_no_client_auth() .with_single_cert(cert_chain, key)? - .into() + .into(); + + (tls_config, tls_server_end_point) } _ => bail!("tls-key and tls-cert must be specified"), }; @@ -113,6 +121,7 @@ async fn main() -> anyhow::Result<()> { let main = tokio::spawn(task_main( Arc::new(destination), tls_config, + tls_server_end_point, proxy_listener, cancellation_token.clone(), )); @@ -134,6 +143,7 @@ async fn main() -> anyhow::Result<()> { async fn task_main( dest_suffix: Arc, tls_config: Arc, + tls_server_end_point: TlsServerEndPoint, listener: tokio::net::TcpListener, cancellation_token: CancellationToken, ) -> anyhow::Result<()> { @@ -159,7 +169,7 @@ async fn task_main( .context("failed to set socket option")?; info!(%peer_addr, "serving"); - handle_client(dest_suffix, tls_config, socket).await + handle_client(dest_suffix, tls_config, tls_server_end_point, socket).await } .unwrap_or_else(|e| { // Acknowledge that the task has finished with an error. @@ -207,6 +217,7 @@ const ERR_INSECURE_CONNECTION: &str = "connection is insecure (try using `sslmod async fn ssl_handshake( raw_stream: S, tls_config: Arc, + tls_server_end_point: TlsServerEndPoint, ) -> anyhow::Result> { let mut stream = PqStream::new(Stream::from_raw(raw_stream)); @@ -231,7 +242,11 @@ async fn ssl_handshake( if !read_buf.is_empty() { bail!("data is sent before server replied with EncryptionResponse"); } - Ok(raw.upgrade(tls_config).await?) + + Ok(Stream::Tls { + tls: Box::new(raw.upgrade(tls_config).await?), + tls_server_end_point, + }) } unexpected => { info!( @@ -246,9 +261,10 @@ async fn ssl_handshake( async fn handle_client( dest_suffix: Arc, tls_config: Arc, + tls_server_end_point: TlsServerEndPoint, stream: impl AsyncRead + AsyncWrite + Unpin, ) -> anyhow::Result<()> { - let tls_stream = ssl_handshake(stream, tls_config).await?; + let tls_stream = ssl_handshake(stream, tls_config, tls_server_end_point).await?; // Cut off first part of the SNI domain // We receive required destination details in the format of diff --git a/proxy/src/config.rs b/proxy/src/config.rs index bd00123905..0c094ff4aa 100644 --- a/proxy/src/config.rs +++ b/proxy/src/config.rs @@ -1,12 +1,15 @@ use crate::auth; use anyhow::{bail, ensure, Context, Ok}; -use rustls::sign; +use rustls::{sign, Certificate, PrivateKey}; +use sha2::{Digest, Sha256}; use std::{ collections::{HashMap, HashSet}, str::FromStr, sync::Arc, time::Duration, }; +use tracing::{error, info}; +use x509_parser::oid_registry; pub struct ProxyConfig { pub tls_config: Option, @@ -27,6 +30,7 @@ pub struct MetricCollectionConfig { pub struct TlsConfig { pub config: Arc, pub common_names: Option>, + pub cert_resolver: Arc, } pub struct HttpConfig { @@ -52,7 +56,7 @@ pub fn configure_tls( let mut cert_resolver = CertResolver::new(); // add default certificate - cert_resolver.add_cert(key_path, cert_path, true)?; + cert_resolver.add_cert_path(key_path, cert_path, true)?; // add extra certificates if let Some(certs_dir) = certs_dir { @@ -64,7 +68,7 @@ pub fn configure_tls( let key_path = path.join("tls.key"); let cert_path = path.join("tls.crt"); if key_path.exists() && cert_path.exists() { - cert_resolver.add_cert( + cert_resolver.add_cert_path( &key_path.to_string_lossy(), &cert_path.to_string_lossy(), false, @@ -76,35 +80,97 @@ pub fn configure_tls( let common_names = cert_resolver.get_common_names(); + let cert_resolver = Arc::new(cert_resolver); + let config = rustls::ServerConfig::builder() .with_safe_default_cipher_suites() .with_safe_default_kx_groups() // allow TLS 1.2 to be compatible with older client libraries .with_protocol_versions(&[&rustls::version::TLS13, &rustls::version::TLS12])? .with_no_client_auth() - .with_cert_resolver(Arc::new(cert_resolver)) + .with_cert_resolver(cert_resolver.clone()) .into(); Ok(TlsConfig { config, common_names: Some(common_names), + cert_resolver, }) } -struct CertResolver { - certs: HashMap>, - default: Option>, +/// Channel binding parameter +/// +/// +/// Description: The hash of the TLS server's certificate as it +/// appears, octet for octet, in the server's Certificate message. Note +/// that the Certificate message contains a certificate_list, in which +/// the first element is the server's certificate. +/// +/// The hash function is to be selected as follows: +/// +/// * if the certificate's signatureAlgorithm uses a single hash +/// function, and that hash function is either MD5 or SHA-1, then use SHA-256; +/// +/// * if the certificate's signatureAlgorithm uses a single hash +/// function and that hash function neither MD5 nor SHA-1, then use +/// the hash function associated with the certificate's +/// signatureAlgorithm; +/// +/// * if the certificate's signatureAlgorithm uses no hash functions or +/// uses multiple hash functions, then this channel binding type's +/// channel bindings are undefined at this time (updates to is channel +/// binding type may occur to address this issue if it ever arises). +#[derive(Debug, Clone, Copy)] +pub enum TlsServerEndPoint { + Sha256([u8; 32]), + Undefined, } -impl CertResolver { - fn new() -> Self { - Self { - certs: HashMap::new(), - default: None, +impl TlsServerEndPoint { + pub fn new(cert: &Certificate) -> anyhow::Result { + let sha256_oids = [ + // I'm explicitly not adding MD5 or SHA1 here... They're bad. + oid_registry::OID_SIG_ECDSA_WITH_SHA256, + oid_registry::OID_PKCS1_SHA256WITHRSA, + ]; + + let pem = x509_parser::parse_x509_certificate(&cert.0) + .context("Failed to parse PEM object from cerficiate")? + .1; + + info!(subject = %pem.subject, "parsing TLS certificate"); + + let reg = oid_registry::OidRegistry::default().with_all_crypto(); + let oid = pem.signature_algorithm.oid(); + let alg = reg.get(oid); + if sha256_oids.contains(oid) { + let tls_server_end_point: [u8; 32] = + Sha256::new().chain_update(&cert.0).finalize().into(); + info!(subject = %pem.subject, signature_algorithm = alg.map(|a| a.description()), tls_server_end_point = %base64::encode(tls_server_end_point), "determined channel binding"); + Ok(Self::Sha256(tls_server_end_point)) + } else { + error!(subject = %pem.subject, signature_algorithm = alg.map(|a| a.description()), "unknown channel binding"); + Ok(Self::Undefined) } } - fn add_cert( + pub fn supported(&self) -> bool { + !matches!(self, TlsServerEndPoint::Undefined) + } +} + +#[derive(Default)] +pub struct CertResolver { + certs: HashMap, TlsServerEndPoint)>, + default: Option<(Arc, TlsServerEndPoint)>, +} + +impl CertResolver { + pub fn new() -> Self { + Self::default() + } + + fn add_cert_path( &mut self, key_path: &str, cert_path: &str, @@ -120,57 +186,65 @@ impl CertResolver { keys.pop().map(rustls::PrivateKey).unwrap() }; - let key = sign::any_supported_type(&priv_key).context("invalid private key")?; - let cert_chain_bytes = std::fs::read(cert_path) .context(format!("Failed to read TLS cert file at '{cert_path}.'"))?; let cert_chain = { rustls_pemfile::certs(&mut &cert_chain_bytes[..]) - .context(format!( + .with_context(|| { + format!( "Failed to read TLS certificate chain from bytes from file at '{cert_path}'." - ))? + ) + })? .into_iter() .map(rustls::Certificate) .collect() }; - let common_name = { - let pem = x509_parser::pem::parse_x509_pem(&cert_chain_bytes) - .context(format!( - "Failed to parse PEM object from bytes from file at '{cert_path}'." - ))? - .1; - let common_name = pem.parse_x509()?.subject().to_string(); + self.add_cert(priv_key, cert_chain, is_default) + } - // We only use non-wildcard certificates in link proxy so it seems okay to treat them the same as - // wildcard ones as we don't use SNI there. That treatment only affects certificate selection, so - // verify-full will still check wildcard match. Old coding here just ignored non-wildcard common names - // and passed None instead, which blows up number of cases downstream code should handle. Proper coding - // here should better avoid Option for common_names, and do wildcard-based certificate selection instead - // of cutting off '*.' parts. - if common_name.starts_with("CN=*.") { - common_name.strip_prefix("CN=*.").map(|s| s.to_string()) - } else { - common_name.strip_prefix("CN=").map(|s| s.to_string()) - } + pub fn add_cert( + &mut self, + priv_key: PrivateKey, + cert_chain: Vec, + is_default: bool, + ) -> anyhow::Result<()> { + let key = sign::any_supported_type(&priv_key).context("invalid private key")?; + + let first_cert = &cert_chain[0]; + let tls_server_end_point = TlsServerEndPoint::new(first_cert)?; + let pem = x509_parser::parse_x509_certificate(&first_cert.0) + .context("Failed to parse PEM object from cerficiate")? + .1; + + let common_name = pem.subject().to_string(); + + // We only use non-wildcard certificates in link proxy so it seems okay to treat them the same as + // wildcard ones as we don't use SNI there. That treatment only affects certificate selection, so + // verify-full will still check wildcard match. Old coding here just ignored non-wildcard common names + // and passed None instead, which blows up number of cases downstream code should handle. Proper coding + // here should better avoid Option for common_names, and do wildcard-based certificate selection instead + // of cutting off '*.' parts. + let common_name = if common_name.starts_with("CN=*.") { + common_name.strip_prefix("CN=*.").map(|s| s.to_string()) + } else { + common_name.strip_prefix("CN=").map(|s| s.to_string()) } - .context(format!( - "Failed to parse common name from certificate at '{cert_path}'." - ))?; + .context("Failed to parse common name from certificate")?; let cert = Arc::new(rustls::sign::CertifiedKey::new(cert_chain, key)); if is_default { - self.default = Some(cert.clone()); + self.default = Some((cert.clone(), tls_server_end_point)); } - self.certs.insert(common_name, cert); + self.certs.insert(common_name, (cert, tls_server_end_point)); Ok(()) } - fn get_common_names(&self) -> HashSet { + pub fn get_common_names(&self) -> HashSet { self.certs.keys().map(|s| s.to_string()).collect() } } @@ -178,15 +252,24 @@ impl CertResolver { impl rustls::server::ResolvesServerCert for CertResolver { fn resolve( &self, - _client_hello: rustls::server::ClientHello, + client_hello: rustls::server::ClientHello, ) -> Option> { + self.resolve(client_hello.server_name()).map(|x| x.0) + } +} + +impl CertResolver { + pub fn resolve( + &self, + server_name: Option<&str>, + ) -> Option<(Arc, TlsServerEndPoint)> { // loop here and cut off more and more subdomains until we find // a match to get a proper wildcard support. OTOH, we now do not // use nested domains, so keep this simple for now. // // With the current coding foo.com will match *.foo.com and that // repeats behavior of the old code. - if let Some(mut sni_name) = _client_hello.server_name() { + if let Some(mut sni_name) = server_name { loop { if let Some(cert) = self.certs.get(sni_name) { return Some(cert.clone()); diff --git a/proxy/src/proxy.rs b/proxy/src/proxy.rs index adcb1bffaf..9560c8546a 100644 --- a/proxy/src/proxy.rs +++ b/proxy/src/proxy.rs @@ -470,7 +470,17 @@ async fn handshake( if !read_buf.is_empty() { bail!("data is sent before server replied with EncryptionResponse"); } - stream = PqStream::new(raw.upgrade(tls.to_server_config()).await?); + let tls_stream = raw.upgrade(tls.to_server_config()).await?; + + let (_, tls_server_end_point) = tls + .cert_resolver + .resolve(tls_stream.get_ref().1.server_name()) + .context("missing certificate")?; + + stream = PqStream::new(Stream::Tls { + tls: Box::new(tls_stream), + tls_server_end_point, + }); } } _ => bail!(ERR_PROTO_VIOLATION), @@ -875,7 +885,7 @@ pub async fn proxy_pass( /// Thin connection context. struct Client<'a, S> { /// The underlying libpq protocol stream. - stream: PqStream, + stream: PqStream>, /// Client credentials that we care about. creds: auth::BackendType<'a, auth::ClientCredentials<'a>>, /// KV-dictionary with PostgreSQL connection params. @@ -889,7 +899,7 @@ struct Client<'a, S> { impl<'a, S> Client<'a, S> { /// Construct a new connection context. fn new( - stream: PqStream, + stream: PqStream>, creds: auth::BackendType<'a, auth::ClientCredentials<'a>>, params: &'a StartupMessageParams, session_id: uuid::Uuid, diff --git a/proxy/src/proxy/tests.rs b/proxy/src/proxy/tests.rs index 3ae4df46ef..de9cc0800b 100644 --- a/proxy/src/proxy/tests.rs +++ b/proxy/src/proxy/tests.rs @@ -1,19 +1,23 @@ //! A group of high-level tests for connection establishing logic and auth. -//! + +mod mitm; + use super::*; use crate::auth::backend::TestBackend; use crate::auth::ClientCredentials; +use crate::config::CertResolver; use crate::console::{CachedNodeInfo, NodeInfo}; use crate::{auth, http, sasl, scram}; use async_trait::async_trait; use rstest::rstest; use tokio_postgres::config::SslMode; use tokio_postgres::tls::{MakeTlsConnect, NoTls}; -use tokio_postgres_rustls::MakeRustlsConnect; +use tokio_postgres_rustls::{MakeRustlsConnect, RustlsStream}; /// Generate a set of TLS certificates: CA + server. fn generate_certs( hostname: &str, + common_name: &str, ) -> anyhow::Result<(rustls::Certificate, rustls::Certificate, rustls::PrivateKey)> { let ca = rcgen::Certificate::from_params({ let mut params = rcgen::CertificateParams::default(); @@ -21,7 +25,15 @@ fn generate_certs( params })?; - let cert = rcgen::generate_simple_self_signed(vec![hostname.into()])?; + let cert = rcgen::Certificate::from_params({ + let mut params = rcgen::CertificateParams::new(vec![hostname.into()]); + params.distinguished_name = rcgen::DistinguishedName::new(); + params + .distinguished_name + .push(rcgen::DnType::CommonName, common_name); + params + })?; + Ok(( rustls::Certificate(ca.serialize_der()?), rustls::Certificate(cert.serialize_der_with_signer(&ca)?), @@ -37,7 +49,14 @@ struct ClientConfig<'a> { impl ClientConfig<'_> { fn make_tls_connect( self, - ) -> anyhow::Result> { + ) -> anyhow::Result< + impl tokio_postgres::tls::TlsConnect< + S, + Error = impl std::fmt::Debug, + Future = impl Send, + Stream = RustlsStream, + >, + > { let mut mk = MakeRustlsConnect::new(self.config); let tls = MakeTlsConnect::::make_tls_connect(&mut mk, self.hostname)?; Ok(tls) @@ -49,20 +68,24 @@ fn generate_tls_config<'a>( hostname: &'a str, common_name: &'a str, ) -> anyhow::Result<(ClientConfig<'a>, TlsConfig)> { - let (ca, cert, key) = generate_certs(hostname)?; + let (ca, cert, key) = generate_certs(hostname, common_name)?; let tls_config = { let config = rustls::ServerConfig::builder() .with_safe_defaults() .with_no_client_auth() - .with_single_cert(vec![cert], key)? + .with_single_cert(vec![cert.clone()], key.clone())? .into(); - let common_names = Some([common_name.to_owned()].iter().cloned().collect()); + let mut cert_resolver = CertResolver::new(); + cert_resolver.add_cert(key, vec![cert], true)?; + + let common_names = Some(cert_resolver.get_common_names()); TlsConfig { config, common_names, + cert_resolver: Arc::new(cert_resolver), } }; @@ -253,6 +276,7 @@ async fn scram_auth_good(#[case] password: &str) -> anyhow::Result<()> { )); let (_client, _conn) = tokio_postgres::Config::new() + .channel_binding(tokio_postgres::config::ChannelBinding::Require) .user("user") .dbname("db") .password(password) @@ -263,6 +287,30 @@ async fn scram_auth_good(#[case] password: &str) -> anyhow::Result<()> { proxy.await? } +#[tokio::test] +async fn scram_auth_disable_channel_binding() -> anyhow::Result<()> { + let (client, server) = tokio::io::duplex(1024); + + let (client_config, server_config) = + generate_tls_config("generic-project-name.localhost", "localhost")?; + let proxy = tokio::spawn(dummy_proxy( + client, + Some(server_config), + Scram::new("password")?, + )); + + let (_client, _conn) = tokio_postgres::Config::new() + .channel_binding(tokio_postgres::config::ChannelBinding::Disable) + .user("user") + .dbname("db") + .password("password") + .ssl_mode(SslMode::Require) + .connect_raw(server, client_config.make_tls_connect()?) + .await?; + + proxy.await? +} + #[tokio::test] async fn scram_auth_mock() -> anyhow::Result<()> { let (client, server) = tokio::io::duplex(1024); diff --git a/proxy/src/proxy/tests/mitm.rs b/proxy/src/proxy/tests/mitm.rs new file mode 100644 index 0000000000..50b3034936 --- /dev/null +++ b/proxy/src/proxy/tests/mitm.rs @@ -0,0 +1,257 @@ +//! Man-in-the-middle tests +//! +//! Channel binding should prevent a proxy server +//! - that has access to create valid certificates - +//! from controlling the TLS connection. + +use std::fmt::Debug; + +use super::*; +use bytes::{Bytes, BytesMut}; +use futures::{SinkExt, StreamExt}; +use postgres_protocol::message::frontend; +use tokio::io::{AsyncReadExt, DuplexStream}; +use tokio_postgres::config::SslMode; +use tokio_postgres::tls::TlsConnect; +use tokio_util::codec::{Decoder, Encoder}; + +enum Intercept { + None, + Methods, + SASLResponse, +} + +async fn proxy_mitm( + intercept: Intercept, +) -> (DuplexStream, DuplexStream, ClientConfig<'static>, TlsConfig) { + let (end_server1, client1) = tokio::io::duplex(1024); + let (server2, end_client2) = tokio::io::duplex(1024); + + let (client_config1, server_config1) = + generate_tls_config("generic-project-name.localhost", "localhost").unwrap(); + let (client_config2, server_config2) = + generate_tls_config("generic-project-name.localhost", "localhost").unwrap(); + + tokio::spawn(async move { + // begin handshake with end_server + let end_server = connect_tls(server2, client_config2.make_tls_connect().unwrap()).await; + // process handshake with end_client + let (end_client, startup) = + handshake(client1, Some(&server_config1), &CancelMap::default()) + .await + .unwrap() + .unwrap(); + + let mut end_server = tokio_util::codec::Framed::new(end_server, PgFrame); + let (end_client, buf) = end_client.framed.into_inner(); + assert!(buf.is_empty()); + let mut end_client = tokio_util::codec::Framed::new(end_client, PgFrame); + + // give the end_server the startup parameters + let mut buf = BytesMut::new(); + frontend::startup_message(startup.iter(), &mut buf).unwrap(); + end_server.send(buf.freeze()).await.unwrap(); + + // proxy messages between end_client and end_server + loop { + tokio::select! { + message = end_server.next() => { + match message { + Some(Ok(message)) => { + // intercept SASL and return only SCRAM-SHA-256 ;) + if matches!(intercept, Intercept::Methods) && message.starts_with(b"R") && message[5..].starts_with(&[0,0,0,10]) { + end_client.send(Bytes::from_static(b"R\0\0\0\x17\0\0\0\x0aSCRAM-SHA-256\0\0")).await.unwrap(); + continue; + } + end_client.send(message).await.unwrap() + } + _ => break, + } + } + message = end_client.next() => { + match message { + Some(Ok(message)) => { + // intercept SASL response and return SCRAM-SHA-256 with no channel binding ;) + if matches!(intercept, Intercept::SASLResponse) && message.starts_with(b"p") && message[5..].starts_with(b"SCRAM-SHA-256-PLUS\0") { + let sasl_message = &message[1+4+19+4..]; + let mut new_message = b"n,,".to_vec(); + new_message.extend_from_slice(sasl_message.strip_prefix(b"p=tls-server-end-point,,").unwrap()); + + let mut buf = BytesMut::new(); + frontend::sasl_initial_response("SCRAM-SHA-256", &new_message, &mut buf).unwrap(); + + end_server.send(buf.freeze()).await.unwrap(); + continue; + } + end_server.send(message).await.unwrap() + } + _ => break, + } + } + else => { break } + } + } + }); + + (end_server1, end_client2, client_config1, server_config2) +} + +/// taken from tokio-postgres +pub async fn connect_tls(mut stream: S, tls: T) -> T::Stream +where + S: AsyncRead + AsyncWrite + Unpin, + T: TlsConnect, + T::Error: Debug, +{ + let mut buf = BytesMut::new(); + frontend::ssl_request(&mut buf); + stream.write_all(&buf).await.unwrap(); + + let mut buf = [0]; + stream.read_exact(&mut buf).await.unwrap(); + + if buf[0] != b'S' { + panic!("ssl not supported by server"); + } + + tls.connect(stream).await.unwrap() +} + +struct PgFrame; +impl Decoder for PgFrame { + type Item = Bytes; + type Error = io::Error; + + fn decode(&mut self, src: &mut BytesMut) -> Result, Self::Error> { + if src.len() < 5 { + src.reserve(5 - src.len()); + return Ok(None); + } + let len = u32::from_be_bytes(src[1..5].try_into().unwrap()) as usize + 1; + if src.len() < len { + src.reserve(len - src.len()); + return Ok(None); + } + Ok(Some(src.split_to(len).freeze())) + } +} +impl Encoder for PgFrame { + type Error = io::Error; + + fn encode(&mut self, item: Bytes, dst: &mut BytesMut) -> Result<(), Self::Error> { + dst.extend_from_slice(&item); + Ok(()) + } +} + +/// If the client doesn't support channel bindings, it can be exploited. +#[tokio::test] +async fn scram_auth_disable_channel_binding() -> anyhow::Result<()> { + let (server, client, client_config, server_config) = proxy_mitm(Intercept::None).await; + let proxy = tokio::spawn(dummy_proxy( + client, + Some(server_config), + Scram::new("password")?, + )); + + let _client_err = tokio_postgres::Config::new() + .channel_binding(tokio_postgres::config::ChannelBinding::Disable) + .user("user") + .dbname("db") + .password("password") + .ssl_mode(SslMode::Require) + .connect_raw(server, client_config.make_tls_connect()?) + .await?; + + proxy.await? +} + +/// If the client chooses SCRAM-PLUS, it will fail +#[tokio::test] +async fn scram_auth_prefer_channel_binding() -> anyhow::Result<()> { + connect_failure( + Intercept::None, + tokio_postgres::config::ChannelBinding::Prefer, + ) + .await +} + +/// If the MITM pretends like SCRAM-PLUS isn't available, but the client supports it, it will fail +#[tokio::test] +async fn scram_auth_prefer_channel_binding_intercept() -> anyhow::Result<()> { + connect_failure( + Intercept::Methods, + tokio_postgres::config::ChannelBinding::Prefer, + ) + .await +} + +/// If the MITM pretends like the client doesn't support channel bindings, it will fail +#[tokio::test] +async fn scram_auth_prefer_channel_binding_intercept_response() -> anyhow::Result<()> { + connect_failure( + Intercept::SASLResponse, + tokio_postgres::config::ChannelBinding::Prefer, + ) + .await +} + +/// If the client chooses SCRAM-PLUS, it will fail +#[tokio::test] +async fn scram_auth_require_channel_binding() -> anyhow::Result<()> { + connect_failure( + Intercept::None, + tokio_postgres::config::ChannelBinding::Require, + ) + .await +} + +/// If the client requires SCRAM-PLUS, and it is spoofed to remove SCRAM-PLUS, it will fail +#[tokio::test] +async fn scram_auth_require_channel_binding_intercept() -> anyhow::Result<()> { + connect_failure( + Intercept::Methods, + tokio_postgres::config::ChannelBinding::Require, + ) + .await +} + +/// If the client requires SCRAM-PLUS, and it is spoofed to remove SCRAM-PLUS, it will fail +#[tokio::test] +async fn scram_auth_require_channel_binding_intercept_response() -> anyhow::Result<()> { + connect_failure( + Intercept::SASLResponse, + tokio_postgres::config::ChannelBinding::Require, + ) + .await +} + +async fn connect_failure( + intercept: Intercept, + channel_binding: tokio_postgres::config::ChannelBinding, +) -> anyhow::Result<()> { + let (server, client, client_config, server_config) = proxy_mitm(intercept).await; + let proxy = tokio::spawn(dummy_proxy( + client, + Some(server_config), + Scram::new("password")?, + )); + + let _client_err = tokio_postgres::Config::new() + .channel_binding(channel_binding) + .user("user") + .dbname("db") + .password("password") + .ssl_mode(SslMode::Require) + .connect_raw(server, client_config.make_tls_connect()?) + .await + .err() + .context("client shouldn't be able to connect")?; + + let _server_err = proxy + .await? + .err() + .context("server shouldn't accept client")?; + + Ok(()) +} diff --git a/proxy/src/sasl/channel_binding.rs b/proxy/src/sasl/channel_binding.rs index 776adabe55..13d681de6d 100644 --- a/proxy/src/sasl/channel_binding.rs +++ b/proxy/src/sasl/channel_binding.rs @@ -36,9 +36,9 @@ impl<'a> ChannelBinding<&'a str> { impl ChannelBinding { /// Encode channel binding data as base64 for subsequent checks. - pub fn encode( + pub fn encode<'a, E>( &self, - get_cbind_data: impl FnOnce(&T) -> Result, + get_cbind_data: impl FnOnce(&T) -> Result<&'a [u8], E>, ) -> Result, E> { use ChannelBinding::*; Ok(match self { @@ -51,12 +51,11 @@ impl ChannelBinding { "eSws".into() } Required(mode) => { - let msg = format!( - "p={mode},,{data}", - mode = mode, - data = get_cbind_data(mode)? - ); - base64::encode(msg).into() + use std::io::Write; + let mut cbind_input = vec![]; + write!(&mut cbind_input, "p={mode},,",).unwrap(); + cbind_input.extend_from_slice(get_cbind_data(mode)?); + base64::encode(&cbind_input).into() } }) } @@ -77,7 +76,7 @@ mod tests { ]; for (cb, input) in cases { - assert_eq!(cb.encode(|_| anyhow::Ok("bar".to_owned()))?, input); + assert_eq!(cb.encode(|_| anyhow::Ok(b"bar"))?, input); } Ok(()) diff --git a/proxy/src/scram.rs b/proxy/src/scram.rs index 2de26af96b..63271309e1 100644 --- a/proxy/src/scram.rs +++ b/proxy/src/scram.rs @@ -22,9 +22,12 @@ pub use secret::ServerSecret; use hmac::{Hmac, Mac}; use sha2::{Digest, Sha256}; -// TODO: add SCRAM-SHA-256-PLUS +const SCRAM_SHA_256: &str = "SCRAM-SHA-256"; +const SCRAM_SHA_256_PLUS: &str = "SCRAM-SHA-256-PLUS"; + /// A list of supported SCRAM methods. -pub const METHODS: &[&str] = &["SCRAM-SHA-256"]; +pub const METHODS: &[&str] = &[SCRAM_SHA_256_PLUS, SCRAM_SHA_256]; +pub const METHODS_WITHOUT_PLUS: &[&str] = &[SCRAM_SHA_256]; /// Decode base64 into array without any heap allocations fn base64_decode_array(input: impl AsRef<[u8]>) -> Option<[u8; N]> { @@ -80,7 +83,11 @@ mod tests { const NONCE: [u8; 18] = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, ]; - let mut exchange = Exchange::new(&secret, || NONCE, None); + let mut exchange = Exchange::new( + &secret, + || NONCE, + crate::config::TlsServerEndPoint::Undefined, + ); let client_first = "n,,n=user,r=rOprNGfwEbeRWgbNEkqO"; let client_final = "c=biws,r=rOprNGfwEbeRWgbNEkqOAQIDBAUGBwgJCgsMDQ4PEBES,p=rw1r5Kph5ThxmaUBC2GAQ6MfXbPnNkFiTIvdb/Rear0="; diff --git a/proxy/src/scram/exchange.rs b/proxy/src/scram/exchange.rs index 882769a70d..319d9b1014 100644 --- a/proxy/src/scram/exchange.rs +++ b/proxy/src/scram/exchange.rs @@ -5,9 +5,11 @@ use super::messages::{ }; use super::secret::ServerSecret; use super::signature::SignatureBuilder; +use crate::config; use crate::sasl::{self, ChannelBinding, Error as SaslError}; /// The only channel binding mode we currently support. +#[derive(Debug)] struct TlsServerEndPoint; impl std::fmt::Display for TlsServerEndPoint { @@ -43,20 +45,20 @@ pub struct Exchange<'a> { state: ExchangeState, secret: &'a ServerSecret, nonce: fn() -> [u8; SCRAM_RAW_NONCE_LEN], - cert_digest: Option<&'a [u8]>, + tls_server_end_point: config::TlsServerEndPoint, } impl<'a> Exchange<'a> { pub fn new( secret: &'a ServerSecret, nonce: fn() -> [u8; SCRAM_RAW_NONCE_LEN], - cert_digest: Option<&'a [u8]>, + tls_server_end_point: config::TlsServerEndPoint, ) -> Self { Self { state: ExchangeState::Initial, secret, nonce, - cert_digest, + tls_server_end_point, } } } @@ -71,6 +73,14 @@ impl sasl::Mechanism for Exchange<'_> { let client_first_message = ClientFirstMessage::parse(input) .ok_or(SaslError::BadClientMessage("invalid client-first-message"))?; + // If the flag is set to "y" and the server supports channel + // binding, the server MUST fail authentication + if client_first_message.cbind_flag == ChannelBinding::NotSupportedServer + && self.tls_server_end_point.supported() + { + return Err(SaslError::ChannelBindingFailed("SCRAM-PLUS not used")); + } + let server_first_message = client_first_message.build_server_first_message( &(self.nonce)(), &self.secret.salt_base64, @@ -94,10 +104,11 @@ impl sasl::Mechanism for Exchange<'_> { let client_final_message = ClientFinalMessage::parse(input) .ok_or(SaslError::BadClientMessage("invalid client-final-message"))?; - let channel_binding = cbind_flag.encode(|_| { - self.cert_digest - .map(base64::encode) - .ok_or(SaslError::ChannelBindingFailed("no cert digest provided")) + let channel_binding = cbind_flag.encode(|_| match &self.tls_server_end_point { + config::TlsServerEndPoint::Sha256(x) => Ok(x), + config::TlsServerEndPoint::Undefined => { + Err(SaslError::ChannelBindingFailed("no cert digest provided")) + } })?; // This might've been caused by a MITM attack diff --git a/proxy/src/stream.rs b/proxy/src/stream.rs index 6210601a80..f48b3fe39f 100644 --- a/proxy/src/stream.rs +++ b/proxy/src/stream.rs @@ -1,7 +1,8 @@ +use crate::config::TlsServerEndPoint; use crate::error::UserFacingError; use anyhow::bail; use bytes::BytesMut; -use pin_project_lite::pin_project; + use pq_proto::framed::{ConnectionError, Framed}; use pq_proto::{BeMessage, FeMessage, FeStartupPacket, ProtocolError}; use rustls::ServerConfig; @@ -17,7 +18,7 @@ use tokio_rustls::server::TlsStream; /// or [`AsyncWrite`] to prevent subtle errors (e.g. trying /// to pass random malformed bytes through the connection). pub struct PqStream { - framed: Framed, + pub(crate) framed: Framed, } impl PqStream { @@ -118,19 +119,21 @@ impl PqStream { } } -pin_project! { - /// Wrapper for upgrading raw streams into secure streams. - /// NOTE: it should be possible to decompose this object as necessary. - #[project = StreamProj] - pub enum Stream { - /// We always begin with a raw stream, - /// which may then be upgraded into a secure stream. - Raw { #[pin] raw: S }, +/// Wrapper for upgrading raw streams into secure streams. +pub enum Stream { + /// We always begin with a raw stream, + /// which may then be upgraded into a secure stream. + Raw { raw: S }, + Tls { /// We box [`TlsStream`] since it can be quite large. - Tls { #[pin] tls: Box> }, - } + tls: Box>, + /// Channel binding parameter + tls_server_end_point: TlsServerEndPoint, + }, } +impl Unpin for Stream {} + impl Stream { /// Construct a new instance from a raw stream. pub fn from_raw(raw: S) -> Self { @@ -141,7 +144,17 @@ impl Stream { pub fn sni_hostname(&self) -> Option<&str> { match self { Stream::Raw { .. } => None, - Stream::Tls { tls } => tls.get_ref().1.server_name(), + Stream::Tls { tls, .. } => tls.get_ref().1.server_name(), + } + } + + pub fn tls_server_end_point(&self) -> TlsServerEndPoint { + match self { + Stream::Raw { .. } => TlsServerEndPoint::Undefined, + Stream::Tls { + tls_server_end_point, + .. + } => *tls_server_end_point, } } } @@ -158,12 +171,9 @@ pub enum StreamUpgradeError { impl Stream { /// If possible, upgrade raw stream into a secure TLS-based stream. - pub async fn upgrade(self, cfg: Arc) -> Result { + pub async fn upgrade(self, cfg: Arc) -> Result, StreamUpgradeError> { match self { - Stream::Raw { raw } => { - let tls = Box::new(tokio_rustls::TlsAcceptor::from(cfg).accept(raw).await?); - Ok(Stream::Tls { tls }) - } + Stream::Raw { raw } => Ok(tokio_rustls::TlsAcceptor::from(cfg).accept(raw).await?), Stream::Tls { .. } => Err(StreamUpgradeError::AlreadyTls), } } @@ -171,50 +181,46 @@ impl Stream { impl AsyncRead for Stream { fn poll_read( - self: Pin<&mut Self>, + mut self: Pin<&mut Self>, context: &mut task::Context<'_>, buf: &mut ReadBuf<'_>, ) -> task::Poll> { - use StreamProj::*; - match self.project() { - Raw { raw } => raw.poll_read(context, buf), - Tls { tls } => tls.poll_read(context, buf), + match &mut *self { + Self::Raw { raw } => Pin::new(raw).poll_read(context, buf), + Self::Tls { tls, .. } => Pin::new(tls).poll_read(context, buf), } } } impl AsyncWrite for Stream { fn poll_write( - self: Pin<&mut Self>, + mut self: Pin<&mut Self>, context: &mut task::Context<'_>, buf: &[u8], ) -> task::Poll> { - use StreamProj::*; - match self.project() { - Raw { raw } => raw.poll_write(context, buf), - Tls { tls } => tls.poll_write(context, buf), + match &mut *self { + Self::Raw { raw } => Pin::new(raw).poll_write(context, buf), + Self::Tls { tls, .. } => Pin::new(tls).poll_write(context, buf), } } fn poll_flush( - self: Pin<&mut Self>, + mut self: Pin<&mut Self>, context: &mut task::Context<'_>, ) -> task::Poll> { - use StreamProj::*; - match self.project() { - Raw { raw } => raw.poll_flush(context), - Tls { tls } => tls.poll_flush(context), + match &mut *self { + Self::Raw { raw } => Pin::new(raw).poll_flush(context), + Self::Tls { tls, .. } => Pin::new(tls).poll_flush(context), } } fn poll_shutdown( - self: Pin<&mut Self>, + mut self: Pin<&mut Self>, context: &mut task::Context<'_>, ) -> task::Poll> { - use StreamProj::*; - match self.project() { - Raw { raw } => raw.poll_shutdown(context), - Tls { tls } => tls.poll_shutdown(context), + match &mut *self { + Self::Raw { raw } => Pin::new(raw).poll_shutdown(context), + Self::Tls { tls, .. } => Pin::new(tls).poll_shutdown(context), } } } From 3c56a4dd18bbdfcf68f05c73247a29b3bbb90574 Mon Sep 17 00:00:00 2001 From: Anastasia Lubennikova Date: Mon, 27 Nov 2023 21:45:41 +0000 Subject: [PATCH 27/38] Make neon extension relocatable to allow SET SCHEMA (#5942) --- pgxn/neon/neon.control | 1 + 1 file changed, 1 insertion(+) diff --git a/pgxn/neon/neon.control b/pgxn/neon/neon.control index c110437c3e..4e4cb9f372 100644 --- a/pgxn/neon/neon.control +++ b/pgxn/neon/neon.control @@ -2,3 +2,4 @@ comment = 'cloud storage for PostgreSQL' default_version = '1.1' module_pathname = '$libdir/neon' +relocatable = true From 4c29e0594e8e84de79abc48542a3bc9be6371782 Mon Sep 17 00:00:00 2001 From: Anastasia Lubennikova Date: Mon, 27 Nov 2023 23:29:24 +0000 Subject: [PATCH 28/38] Update neon extension relocatable for existing installations (#5943) --- compute_tools/src/spec.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/compute_tools/src/spec.rs b/compute_tools/src/spec.rs index 97aa144c79..8c44c6d519 100644 --- a/compute_tools/src/spec.rs +++ b/compute_tools/src/spec.rs @@ -687,6 +687,9 @@ pub fn handle_extension_neon(client: &mut Client) -> Result<()> { info!("create neon extension with query: {}", query); client.simple_query(query)?; + query = "UPDATE pg_extension SET extrelocatable = true WHERE extname = 'neon'"; + client.simple_query(query)?; + query = "ALTER EXTENSION neon SET SCHEMA neon"; info!("alter neon extension schema with query: {}", query); client.simple_query(query)?; From 4cd18fcebd0a43737852f8c2cda1cd1ec303fd03 Mon Sep 17 00:00:00 2001 From: Sasha Krassovsky Date: Mon, 27 Nov 2023 18:17:26 -0800 Subject: [PATCH 29/38] Compile wal2json (#5893) Add wal2json extension --- Dockerfile.compute-node | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Dockerfile.compute-node b/Dockerfile.compute-node index 36c3f874d4..8109091e76 100644 --- a/Dockerfile.compute-node +++ b/Dockerfile.compute-node @@ -714,6 +714,24 @@ RUN wget https://github.com/pksunkara/pgx_ulid/archive/refs/tags/v0.1.3.tar.gz - cargo pgrx install --release && \ echo "trusted = true" >> /usr/local/pgsql/share/extension/ulid.control +######################################################################################### +# +# Layer "wal2json-build" +# Compile "wal2json" extension +# +######################################################################################### + +FROM build-deps AS wal2json-pg-build +COPY --from=pg-build /usr/local/pgsql/ /usr/local/pgsql/ + +ENV PATH "/usr/local/pgsql/bin/:$PATH" +RUN wget https://github.com/eulerto/wal2json/archive/refs/tags/wal2json_2_5.tar.gz && \ + echo "b516653575541cf221b99cf3f8be9b6821f6dbcfc125675c85f35090f824f00e wal2json_2_5.tar.gz" | sha256sum --check && \ + mkdir wal2json-src && cd wal2json-src && tar xvzf ../wal2json_2_5.tar.gz --strip-components=1 -C . && \ + make -j $(getconf _NPROCESSORS_ONLN) && \ + make -j $(getconf _NPROCESSORS_ONLN) install && \ + echo 'trusted = true' >> /usr/local/pgsql/share/extension/wal2json.control + ######################################################################################### # # Layer "neon-pg-ext-build" @@ -750,6 +768,7 @@ COPY --from=rdkit-pg-build /usr/local/pgsql/ /usr/local/pgsql/ COPY --from=pg-uuidv7-pg-build /usr/local/pgsql/ /usr/local/pgsql/ COPY --from=pg-roaringbitmap-pg-build /usr/local/pgsql/ /usr/local/pgsql/ COPY --from=pg-embedding-pg-build /usr/local/pgsql/ /usr/local/pgsql/ +COPY --from=wal2json-pg-build /usr/local/pgsql /usr/local/pgsql COPY pgxn/ pgxn/ RUN make -j $(getconf _NPROCESSORS_ONLN) \ From f290b27378503392f1d22730717428f4fc9cfa90 Mon Sep 17 00:00:00 2001 From: Sasha Krassovsky Date: Mon, 27 Nov 2023 19:14:42 -0800 Subject: [PATCH 30/38] Fix check for if shmem is valid to take into account detached shmem (#5937) ## Problem We can segfault if we update connstr inside of a process that has detached from shmem (e.g. inside stats collector) ## Summary of changes Add a check to make sure we're not detached --- pgxn/neon/libpagestore.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pgxn/neon/libpagestore.c b/pgxn/neon/libpagestore.c index cc09fb849d..8eb9ebb915 100644 --- a/pgxn/neon/libpagestore.c +++ b/pgxn/neon/libpagestore.c @@ -21,6 +21,7 @@ #include "storage/buf_internals.h" #include "storage/lwlock.h" #include "storage/ipc.h" +#include "storage/pg_shmem.h" #include "c.h" #include "postmaster/interrupt.h" @@ -87,6 +88,12 @@ bool (*old_redo_read_buffer_filter) (XLogReaderState *record, uint8 block_id) = static bool pageserver_flush(void); static void pageserver_disconnect(void); +static bool +PagestoreShmemIsValid() +{ + return pagestore_shared && UsedShmemSegAddr; +} + static bool CheckPageserverConnstring(char **newval, void **extra, GucSource source) { @@ -96,7 +103,7 @@ CheckPageserverConnstring(char **newval, void **extra, GucSource source) static void AssignPageserverConnstring(const char *newval, void *extra) { - if(!pagestore_shared) + if(!PagestoreShmemIsValid()) return; LWLockAcquire(pagestore_shared->lock, LW_EXCLUSIVE); strlcpy(pagestore_shared->pageserver_connstring, newval, MAX_PAGESERVER_CONNSTRING_SIZE); @@ -107,7 +114,7 @@ AssignPageserverConnstring(const char *newval, void *extra) static bool CheckConnstringUpdated() { - if(!pagestore_shared) + if(!PagestoreShmemIsValid()) return false; return pagestore_local_counter < pg_atomic_read_u64(&pagestore_shared->update_counter); } @@ -115,7 +122,7 @@ CheckConnstringUpdated() static void ReloadConnstring() { - if(!pagestore_shared) + if(!PagestoreShmemIsValid()) return; LWLockAcquire(pagestore_shared->lock, LW_SHARED); strlcpy(local_pageserver_connstring, pagestore_shared->pageserver_connstring, sizeof(local_pageserver_connstring)); From 286f34dfceb7ee2546cc319f1706111e8ebaa669 Mon Sep 17 00:00:00 2001 From: Christian Schwarz Date: Tue, 28 Nov 2023 10:51:37 +0100 Subject: [PATCH 31/38] test suite: add method for generation-aware detachment of a tenant (#5939) Part of getpage@lsn benchmark epic: https://github.com/neondatabase/neon/issues/5771 --- test_runner/fixtures/neon_fixtures.py | 18 ++++++++++++++++-- .../regress/test_pageserver_generations.py | 4 ++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/test_runner/fixtures/neon_fixtures.py b/test_runner/fixtures/neon_fixtures.py index 08e1c5eacb..f060a63344 100644 --- a/test_runner/fixtures/neon_fixtures.py +++ b/test_runner/fixtures/neon_fixtures.py @@ -1572,7 +1572,7 @@ class NeonAttachmentService: self.running = False return self - def attach_hook(self, tenant_id: TenantId, pageserver_id: int) -> int: + def attach_hook_issue(self, tenant_id: TenantId, pageserver_id: int) -> int: response = requests.post( f"{self.env.control_plane_api}/attach-hook", json={"tenant_id": str(tenant_id), "node_id": pageserver_id}, @@ -1582,6 +1582,13 @@ class NeonAttachmentService: assert isinstance(gen, int) return gen + def attach_hook_drop(self, tenant_id: TenantId): + response = requests.post( + f"{self.env.control_plane_api}/attach-hook", + json={"tenant_id": str(tenant_id), "node_id": None}, + ) + response.raise_for_status() + def __enter__(self) -> "NeonAttachmentService": return self @@ -1781,13 +1788,20 @@ class NeonPageserver(PgProtocol): to call into the pageserver HTTP client. """ if self.env.attachment_service is not None: - generation = self.env.attachment_service.attach_hook(tenant_id, self.id) + generation = self.env.attachment_service.attach_hook_issue(tenant_id, self.id) else: generation = None client = self.http_client() return client.tenant_attach(tenant_id, config, config_null, generation=generation) + def tenant_detach(self, tenant_id: TenantId): + if self.env.attachment_service is not None: + self.env.attachment_service.attach_hook_drop(tenant_id) + + client = self.http_client() + return client.tenant_detach(tenant_id) + def append_pageserver_param_overrides( params_to_update: List[str], diff --git a/test_runner/regress/test_pageserver_generations.py b/test_runner/regress/test_pageserver_generations.py index c3f4ad476f..66cc286aba 100644 --- a/test_runner/regress/test_pageserver_generations.py +++ b/test_runner/regress/test_pageserver_generations.py @@ -282,7 +282,7 @@ def test_deferred_deletion(neon_env_builder: NeonEnvBuilder): # Now advance the generation in the control plane: subsequent validations # from the running pageserver will fail. No more deletions should happen. - env.attachment_service.attach_hook(env.initial_tenant, some_other_pageserver) + env.attachment_service.attach_hook_issue(env.initial_tenant, some_other_pageserver) generate_uploads_and_deletions(env, init=False) assert_deletion_queue(ps_http, lambda n: n > 0) @@ -397,7 +397,7 @@ def test_deletion_queue_recovery( if keep_attachment == KeepAttachment.LOSE: some_other_pageserver = 101010 assert env.attachment_service is not None - env.attachment_service.attach_hook(env.initial_tenant, some_other_pageserver) + env.attachment_service.attach_hook_issue(env.initial_tenant, some_other_pageserver) env.pageserver.start() From ca469be1cf2d96953a0f74306fd24c8ec85de90b Mon Sep 17 00:00:00 2001 From: John Spray Date: Tue, 28 Nov 2023 11:47:25 +0000 Subject: [PATCH 32/38] pageserver: add shard indices to layer metadata (#5928) ## Problem For sharded tenants, the layer keys must include the shard number and shard count, to disambiguate keys written by different shards in the same tenant (shard number), and disambiguate layers written before and after splits (shard count). Closes: https://github.com/neondatabase/neon/issues/5924 ## Summary of changes There are no functional changes in this PR: everything behaves the same for the default ShardIndex::unsharded() value. Actual construct of sharded tenants will come next. - Add a ShardIndex type: this is just a wrapper for a ShardCount and ShardNumber. This is a subset of ShardIdentity: whereas ShardIdentity contains enough information to filter page keys, ShardIndex contains just enough information to construct a remote key. ShardIndex has a compact encoding, the same as the shard part of TenantShardId. - Store the ShardIndex as part of IndexLayerMetadata, if it is set to a different value than ShardIndex::unsharded. - Update RemoteTimelineClient and DeletionQueue to construct paths using the layer metadata. Deletion code paths that previously just passed a `Generation` now pass a full `LayerFileMetadata` to capture the shard as well. Notes to reviewers: - In deletion code paths, I could have used a (Generation, ShardIndex) instead of the full LayerFileMetadata. I opted for the full object partly for brevity, and partly because in future when we add checksums the deletion code really will care about the full metadata in order to validate that it is deleting what was intended. - While ShardIdentity and TenantShardId could both use a ShardIndex, I find that they read more cleanly as "flat" structs that spell out the shard count and number field separately. Serialization code would need writing out by hand anyway, because TenantShardId's serialized form is not a serde struct-style serialization. - ShardIndex doesn't _have_ to exist (we could use ShardIdentity everywhere), but it is a worthwhile optimization, as we will have many copies of this as part of layer metadata. In future the size difference betweedn ShardIndex and ShardIdentity may become larger if we implement more sophisticated key distribution mechanisms (i.e. new values of ShardIdentity::layout). --------- Co-authored-by: Christian Schwarz --- libs/pageserver_api/src/shard.rs | 185 ++++++++++++++++++ pageserver/src/deletion_queue.rs | 32 +-- pageserver/src/deletion_queue/list_writer.rs | 8 +- pageserver/src/tenant.rs | 3 + .../src/tenant/remote_timeline_client.rs | 119 ++++++++--- .../tenant/remote_timeline_client/download.rs | 37 +++- .../tenant/remote_timeline_client/index.rs | 38 +++- .../tenant/remote_timeline_client/upload.rs | 4 +- pageserver/src/tenant/storage_layer/layer.rs | 21 +- pageserver/src/tenant/timeline.rs | 8 + pageserver/src/tenant/timeline/init.rs | 9 +- pageserver/src/tenant/upload_queue.rs | 6 +- 12 files changed, 398 insertions(+), 72 deletions(-) diff --git a/libs/pageserver_api/src/shard.rs b/libs/pageserver_api/src/shard.rs index 32a834a26a..16f2d13770 100644 --- a/libs/pageserver_api/src/shard.rs +++ b/libs/pageserver_api/src/shard.rs @@ -139,6 +139,89 @@ impl From<[u8; 18]> for TenantShardId { } } +/// For use within the context of a particular tenant, when we need to know which +/// shard we're dealing with, but do not need to know the full ShardIdentity (because +/// we won't be doing any page->shard mapping), and do not need to know the fully qualified +/// TenantShardId. +#[derive(Eq, PartialEq, PartialOrd, Ord, Clone, Copy)] +pub struct ShardIndex { + pub shard_number: ShardNumber, + pub shard_count: ShardCount, +} + +impl ShardIndex { + pub fn new(number: ShardNumber, count: ShardCount) -> Self { + Self { + shard_number: number, + shard_count: count, + } + } + pub fn unsharded() -> Self { + Self { + shard_number: ShardNumber(0), + shard_count: ShardCount(0), + } + } + + pub fn is_unsharded(&self) -> bool { + self.shard_number == ShardNumber(0) && self.shard_count == ShardCount(0) + } + + /// For use in constructing remote storage paths: concatenate this with a TenantId + /// to get a fully qualified TenantShardId. + /// + /// Backward compat: this function returns an empty string if Self::is_unsharded, such + /// that the legacy pre-sharding remote key format is preserved. + pub fn get_suffix(&self) -> String { + if self.is_unsharded() { + "".to_string() + } else { + format!("-{:02x}{:02x}", self.shard_number.0, self.shard_count.0) + } + } +} + +impl std::fmt::Display for ShardIndex { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:02x}{:02x}", self.shard_number.0, self.shard_count.0) + } +} + +impl std::fmt::Debug for ShardIndex { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + // Debug is the same as Display: the compact hex representation + write!(f, "{}", self) + } +} + +impl std::str::FromStr for ShardIndex { + type Err = hex::FromHexError; + + fn from_str(s: &str) -> Result { + // Expect format: 1 byte shard number, 1 byte shard count + if s.len() == 4 { + let bytes = s.as_bytes(); + let mut shard_parts: [u8; 2] = [0u8; 2]; + hex::decode_to_slice(bytes, &mut shard_parts)?; + Ok(Self { + shard_number: ShardNumber(shard_parts[0]), + shard_count: ShardCount(shard_parts[1]), + }) + } else { + Err(hex::FromHexError::InvalidStringLength) + } + } +} + +impl From<[u8; 2]> for ShardIndex { + fn from(b: [u8; 2]) -> Self { + Self { + shard_number: ShardNumber(b[0]), + shard_count: ShardCount(b[1]), + } + } +} + impl Serialize for TenantShardId { fn serialize(&self, serializer: S) -> Result where @@ -209,6 +292,77 @@ impl<'de> Deserialize<'de> for TenantShardId { } } +impl Serialize for ShardIndex { + fn serialize(&self, serializer: S) -> Result + where + S: serde::Serializer, + { + if serializer.is_human_readable() { + serializer.collect_str(self) + } else { + // Binary encoding is not used in index_part.json, but is included in anticipation of + // switching various structures (e.g. inter-process communication, remote metadata) to more + // compact binary encodings in future. + let mut packed: [u8; 2] = [0; 2]; + packed[0] = self.shard_number.0; + packed[1] = self.shard_count.0; + packed.serialize(serializer) + } + } +} + +impl<'de> Deserialize<'de> for ShardIndex { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + struct IdVisitor { + is_human_readable_deserializer: bool, + } + + impl<'de> serde::de::Visitor<'de> for IdVisitor { + type Value = ShardIndex; + + fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result { + if self.is_human_readable_deserializer { + formatter.write_str("value in form of hex string") + } else { + formatter.write_str("value in form of integer array([u8; 2])") + } + } + + fn visit_seq(self, seq: A) -> Result + where + A: serde::de::SeqAccess<'de>, + { + let s = serde::de::value::SeqAccessDeserializer::new(seq); + let id: [u8; 2] = Deserialize::deserialize(s)?; + Ok(ShardIndex::from(id)) + } + + fn visit_str(self, v: &str) -> Result + where + E: serde::de::Error, + { + ShardIndex::from_str(v).map_err(E::custom) + } + } + + if deserializer.is_human_readable() { + deserializer.deserialize_str(IdVisitor { + is_human_readable_deserializer: true, + }) + } else { + deserializer.deserialize_tuple( + 2, + IdVisitor { + is_human_readable_deserializer: false, + }, + ) + } + } +} + #[cfg(test)] mod tests { use std::str::FromStr; @@ -318,4 +472,35 @@ mod tests { Ok(()) } + + #[test] + fn shard_index_human_encoding() -> Result<(), hex::FromHexError> { + let example = ShardIndex { + shard_number: ShardNumber(13), + shard_count: ShardCount(17), + }; + let expected: String = "0d11".to_string(); + let encoded = format!("{example}"); + assert_eq!(&encoded, &expected); + + let decoded = ShardIndex::from_str(&encoded)?; + assert_eq!(example, decoded); + Ok(()) + } + + #[test] + fn shard_index_binary_encoding() -> Result<(), hex::FromHexError> { + let example = ShardIndex { + shard_number: ShardNumber(13), + shard_count: ShardCount(17), + }; + let expected: [u8; 2] = [0x0d, 0x11]; + + let encoded = bincode::serialize(&example).unwrap(); + assert_eq!(Hex(&encoded), Hex(&expected)); + let decoded = bincode::deserialize(&encoded).unwrap(); + assert_eq!(example, decoded); + + Ok(()) + } } diff --git a/pageserver/src/deletion_queue.rs b/pageserver/src/deletion_queue.rs index 86be1b7094..ad95254a65 100644 --- a/pageserver/src/deletion_queue.rs +++ b/pageserver/src/deletion_queue.rs @@ -10,6 +10,7 @@ use crate::control_plane_client::ControlPlaneGenerationsApi; use crate::metrics; use crate::tenant::remote_timeline_client::remote_layer_path; use crate::tenant::remote_timeline_client::remote_timeline_path; +use crate::tenant::remote_timeline_client::LayerFileMetadata; use crate::virtual_file::MaybeFatalIo; use crate::virtual_file::VirtualFile; use anyhow::Context; @@ -509,18 +510,19 @@ impl DeletionQueueClient { tenant_id: TenantId, timeline_id: TimelineId, current_generation: Generation, - layers: Vec<(LayerFileName, Generation)>, + layers: Vec<(LayerFileName, LayerFileMetadata)>, ) -> Result<(), DeletionQueueError> { if current_generation.is_none() { debug!("Enqueuing deletions in legacy mode, skipping queue"); let mut layer_paths = Vec::new(); - for (layer, generation) in layers { + for (layer, meta) in layers { layer_paths.push(remote_layer_path( &tenant_id, &timeline_id, + meta.shard, &layer, - generation, + meta.generation, )); } self.push_immediate(layer_paths).await?; @@ -540,7 +542,7 @@ impl DeletionQueueClient { tenant_id: TenantId, timeline_id: TimelineId, current_generation: Generation, - layers: Vec<(LayerFileName, Generation)>, + layers: Vec<(LayerFileName, LayerFileMetadata)>, ) -> Result<(), DeletionQueueError> { metrics::DELETION_QUEUE .keys_submitted @@ -751,6 +753,7 @@ impl DeletionQueue { mod test { use camino::Utf8Path; use hex_literal::hex; + use pageserver_api::shard::ShardIndex; use std::{io::ErrorKind, time::Duration}; use tracing::info; @@ -990,6 +993,8 @@ mod test { // we delete, and the generation of the running Tenant. let layer_generation = Generation::new(0xdeadbeef); let now_generation = Generation::new(0xfeedbeef); + let layer_metadata = + LayerFileMetadata::new(0xf00, layer_generation, ShardIndex::unsharded()); let remote_layer_file_name_1 = format!("{}{}", layer_file_name_1, layer_generation.get_suffix()); @@ -1013,7 +1018,7 @@ mod test { tenant_id, TIMELINE_ID, now_generation, - [(layer_file_name_1.clone(), layer_generation)].to_vec(), + [(layer_file_name_1.clone(), layer_metadata)].to_vec(), ) .await?; assert_remote_files(&[&remote_layer_file_name_1], &remote_timeline_path); @@ -1052,6 +1057,8 @@ mod test { let stale_generation = latest_generation.previous(); // Generation that our example layer file was written with let layer_generation = stale_generation.previous(); + let layer_metadata = + LayerFileMetadata::new(0xf00, layer_generation, ShardIndex::unsharded()); ctx.set_latest_generation(latest_generation); @@ -1069,7 +1076,7 @@ mod test { tenant_id, TIMELINE_ID, stale_generation, - [(EXAMPLE_LAYER_NAME.clone(), layer_generation)].to_vec(), + [(EXAMPLE_LAYER_NAME.clone(), layer_metadata.clone())].to_vec(), ) .await?; @@ -1084,7 +1091,7 @@ mod test { tenant_id, TIMELINE_ID, latest_generation, - [(EXAMPLE_LAYER_NAME.clone(), layer_generation)].to_vec(), + [(EXAMPLE_LAYER_NAME.clone(), layer_metadata.clone())].to_vec(), ) .await?; @@ -1111,6 +1118,8 @@ mod test { let layer_generation = Generation::new(0xdeadbeef); let now_generation = Generation::new(0xfeedbeef); + let layer_metadata = + LayerFileMetadata::new(0xf00, layer_generation, ShardIndex::unsharded()); // Inject a deletion in the generation before generation_now: after restart, // this deletion should _not_ get executed (only the immediately previous @@ -1122,7 +1131,7 @@ mod test { tenant_id, TIMELINE_ID, now_generation.previous(), - [(EXAMPLE_LAYER_NAME.clone(), layer_generation)].to_vec(), + [(EXAMPLE_LAYER_NAME.clone(), layer_metadata.clone())].to_vec(), ) .await?; @@ -1136,7 +1145,7 @@ mod test { tenant_id, TIMELINE_ID, now_generation, - [(EXAMPLE_LAYER_NAME_ALT.clone(), layer_generation)].to_vec(), + [(EXAMPLE_LAYER_NAME_ALT.clone(), layer_metadata.clone())].to_vec(), ) .await?; @@ -1226,12 +1235,13 @@ pub(crate) mod mock { match msg { ListWriterQueueMessage::Delete(op) => { let mut objects = op.objects; - for (layer, generation) in op.layers { + for (layer, meta) in op.layers { objects.push(remote_layer_path( &op.tenant_id, &op.timeline_id, + meta.shard, &layer, - generation, + meta.generation, )); } diff --git a/pageserver/src/deletion_queue/list_writer.rs b/pageserver/src/deletion_queue/list_writer.rs index 28daae2da5..5d52b680e4 100644 --- a/pageserver/src/deletion_queue/list_writer.rs +++ b/pageserver/src/deletion_queue/list_writer.rs @@ -33,6 +33,7 @@ use crate::config::PageServerConf; use crate::deletion_queue::TEMP_SUFFIX; use crate::metrics; use crate::tenant::remote_timeline_client::remote_layer_path; +use crate::tenant::remote_timeline_client::LayerFileMetadata; use crate::tenant::storage_layer::LayerFileName; use crate::virtual_file::on_fatal_io_error; use crate::virtual_file::MaybeFatalIo; @@ -58,7 +59,7 @@ pub(super) struct DeletionOp { // `layers` and `objects` are both just lists of objects. `layers` is used if you do not // have a config object handy to project it to a remote key, and need the consuming worker // to do it for you. - pub(super) layers: Vec<(LayerFileName, Generation)>, + pub(super) layers: Vec<(LayerFileName, LayerFileMetadata)>, pub(super) objects: Vec, /// The _current_ generation of the Tenant attachment in which we are enqueuing @@ -387,12 +388,13 @@ impl ListWriter { ); let mut layer_paths = Vec::new(); - for (layer, generation) in op.layers { + for (layer, meta) in op.layers { layer_paths.push(remote_layer_path( &op.tenant_id, &op.timeline_id, + meta.shard, &layer, - generation, + meta.generation, )); } layer_paths.extend(op.objects); diff --git a/pageserver/src/tenant.rs b/pageserver/src/tenant.rs index 7fbf538e2f..a4d61f0951 100644 --- a/pageserver/src/tenant.rs +++ b/pageserver/src/tenant.rs @@ -3468,6 +3468,7 @@ pub async fn dump_layerfile_from_path( pub(crate) mod harness { use bytes::{Bytes, BytesMut}; use once_cell::sync::OnceCell; + use pageserver_api::shard::ShardIndex; use std::fs; use std::sync::Arc; use utils::logging; @@ -3534,6 +3535,7 @@ pub(crate) mod harness { pub tenant_conf: TenantConf, pub tenant_id: TenantId, pub generation: Generation, + pub shard: ShardIndex, pub remote_storage: GenericRemoteStorage, pub remote_fs_dir: Utf8PathBuf, pub deletion_queue: MockDeletionQueue, @@ -3593,6 +3595,7 @@ pub(crate) mod harness { tenant_conf, tenant_id, generation: Generation::new(0xdeadbeef), + shard: ShardIndex::unsharded(), remote_storage, remote_fs_dir, deletion_queue, diff --git a/pageserver/src/tenant/remote_timeline_client.rs b/pageserver/src/tenant/remote_timeline_client.rs index 99d9783f73..962a0fa795 100644 --- a/pageserver/src/tenant/remote_timeline_client.rs +++ b/pageserver/src/tenant/remote_timeline_client.rs @@ -188,6 +188,7 @@ use anyhow::Context; use camino::Utf8Path; use chrono::{NaiveDateTime, Utc}; +use pageserver_api::shard::ShardIndex; use scopeguard::ScopeGuard; use tokio_util::sync::CancellationToken; pub(crate) use upload::upload_initdb_dir; @@ -402,6 +403,11 @@ impl RemoteTimelineClient { Ok(()) } + pub(crate) fn get_shard_index(&self) -> ShardIndex { + // TODO: carry this on the struct + ShardIndex::unsharded() + } + pub fn remote_consistent_lsn_projected(&self) -> Option { match &mut *self.upload_queue.lock().unwrap() { UploadQueue::Uninitialized => None, @@ -465,6 +471,7 @@ impl RemoteTimelineClient { &self.storage_impl, &self.tenant_id, &self.timeline_id, + self.get_shard_index(), self.generation, cancel, ) @@ -657,10 +664,10 @@ impl RemoteTimelineClient { let mut guard = self.upload_queue.lock().unwrap(); let upload_queue = guard.initialized_mut()?; - let with_generations = + let with_metadata = self.schedule_unlinking_of_layers_from_index_part0(upload_queue, names.iter().cloned()); - self.schedule_deletion_of_unlinked0(upload_queue, with_generations); + self.schedule_deletion_of_unlinked0(upload_queue, with_metadata); // Launch the tasks immediately, if possible self.launch_queued_tasks(upload_queue); @@ -695,7 +702,7 @@ impl RemoteTimelineClient { self: &Arc, upload_queue: &mut UploadQueueInitialized, names: I, - ) -> Vec<(LayerFileName, Generation)> + ) -> Vec<(LayerFileName, LayerFileMetadata)> where I: IntoIterator, { @@ -703,16 +710,17 @@ impl RemoteTimelineClient { // so we don't need update it. Just serialize it. let metadata = upload_queue.latest_metadata.clone(); - // Decorate our list of names with each name's generation, dropping - // names that are unexpectedly missing from our metadata. - let with_generations: Vec<_> = names + // Decorate our list of names with each name's metadata, dropping + // names that are unexpectedly missing from our metadata. This metadata + // is later used when physically deleting layers, to construct key paths. + let with_metadata: Vec<_> = names .into_iter() .filter_map(|name| { let meta = upload_queue.latest_files.remove(&name); if let Some(meta) = meta { upload_queue.latest_files_changes_since_metadata_upload_scheduled += 1; - Some((name, meta.generation)) + Some((name, meta)) } else { // This can only happen if we forgot to to schedule the file upload // before scheduling the delete. Log it because it is a rare/strange @@ -725,9 +733,10 @@ impl RemoteTimelineClient { .collect(); #[cfg(feature = "testing")] - for (name, gen) in &with_generations { - if let Some(unexpected) = upload_queue.dangling_files.insert(name.to_owned(), *gen) { - if &unexpected == gen { + for (name, metadata) in &with_metadata { + let gen = metadata.generation; + if let Some(unexpected) = upload_queue.dangling_files.insert(name.to_owned(), gen) { + if unexpected == gen { tracing::error!("{name} was unlinked twice with same generation"); } else { tracing::error!("{name} was unlinked twice with different generations {gen:?} and {unexpected:?}"); @@ -742,14 +751,14 @@ impl RemoteTimelineClient { self.schedule_index_upload(upload_queue, metadata); } - with_generations + with_metadata } /// Schedules deletion for layer files which have previously been unlinked from the /// `index_part.json` with [`Self::schedule_gc_update`] or [`Self::schedule_compaction_update`]. pub(crate) fn schedule_deletion_of_unlinked( self: &Arc, - layers: Vec<(LayerFileName, Generation)>, + layers: Vec<(LayerFileName, LayerFileMetadata)>, ) -> anyhow::Result<()> { let mut guard = self.upload_queue.lock().unwrap(); let upload_queue = guard.initialized_mut()?; @@ -762,16 +771,22 @@ impl RemoteTimelineClient { fn schedule_deletion_of_unlinked0( self: &Arc, upload_queue: &mut UploadQueueInitialized, - with_generations: Vec<(LayerFileName, Generation)>, + with_metadata: Vec<(LayerFileName, LayerFileMetadata)>, ) { - for (name, gen) in &with_generations { - info!("scheduling deletion of layer {}{}", name, gen.get_suffix()); + for (name, meta) in &with_metadata { + info!( + "scheduling deletion of layer {}{} (shard {})", + name, + meta.generation.get_suffix(), + meta.shard + ); } #[cfg(feature = "testing")] - for (name, gen) in &with_generations { + for (name, meta) in &with_metadata { + let gen = meta.generation; match upload_queue.dangling_files.remove(name) { - Some(same) if &same == gen => { /* expected */ } + Some(same) if same == gen => { /* expected */ } Some(other) => { tracing::error!("{name} was unlinked with {other:?} but deleted with {gen:?}"); } @@ -783,7 +798,7 @@ impl RemoteTimelineClient { // schedule the actual deletions let op = UploadOp::Delete(Delete { - layers: with_generations, + layers: with_metadata, }); self.calls_unfinished_metric_begin(&op); upload_queue.queued_operations.push_back(op); @@ -904,6 +919,7 @@ impl RemoteTimelineClient { &self.storage_impl, &self.tenant_id, &self.timeline_id, + self.get_shard_index(), self.generation, &index_part_with_deleted_at, ) @@ -962,6 +978,7 @@ impl RemoteTimelineClient { remote_layer_path( &self.tenant_id, &self.timeline_id, + meta.shard, &file_name, meta.generation, ) @@ -1010,7 +1027,12 @@ impl RemoteTimelineClient { .unwrap_or( // No generation-suffixed indices, assume we are dealing with // a legacy index. - remote_index_path(&self.tenant_id, &self.timeline_id, Generation::none()), + remote_index_path( + &self.tenant_id, + &self.timeline_id, + self.get_shard_index(), + Generation::none(), + ), ); let remaining_layers: Vec = remaining @@ -1219,6 +1241,7 @@ impl RemoteTimelineClient { &self.storage_impl, &self.tenant_id, &self.timeline_id, + self.get_shard_index(), self.generation, index_part, ) @@ -1527,12 +1550,14 @@ pub fn remote_timeline_path(tenant_id: &TenantId, timeline_id: &TimelineId) -> R pub fn remote_layer_path( tenant_id: &TenantId, timeline_id: &TimelineId, + shard: ShardIndex, layer_file_name: &LayerFileName, generation: Generation, ) -> RemotePath { // Generation-aware key format let path = format!( - "tenants/{tenant_id}/{TIMELINES_SEGMENT_NAME}/{timeline_id}/{0}{1}", + "tenants/{tenant_id}{0}/{TIMELINES_SEGMENT_NAME}/{timeline_id}/{1}{2}", + shard.get_suffix(), layer_file_name.file_name(), generation.get_suffix() ); @@ -1550,10 +1575,12 @@ pub fn remote_initdb_archive_path(tenant_id: &TenantId, timeline_id: &TimelineId pub fn remote_index_path( tenant_id: &TenantId, timeline_id: &TimelineId, + shard: ShardIndex, generation: Generation, ) -> RemotePath { RemotePath::from_string(&format!( - "tenants/{tenant_id}/{TIMELINES_SEGMENT_NAME}/{timeline_id}/{0}{1}", + "tenants/{tenant_id}{0}/{TIMELINES_SEGMENT_NAME}/{timeline_id}/{1}{2}", + shard.get_suffix(), IndexPart::FILE_NAME, generation.get_suffix() )) @@ -1778,6 +1805,7 @@ mod tests { println!("remote_timeline_dir: {remote_timeline_dir}"); let generation = harness.generation; + let shard = harness.shard; // Create a couple of dummy files, schedule upload for them @@ -1794,7 +1822,7 @@ mod tests { harness.conf, &timeline, name, - LayerFileMetadata::new(contents.len() as u64, generation), + LayerFileMetadata::new(contents.len() as u64, generation, shard), ) }).collect::>(); @@ -1943,7 +1971,7 @@ mod tests { harness.conf, &timeline, layer_file_name_1.clone(), - LayerFileMetadata::new(content_1.len() as u64, harness.generation), + LayerFileMetadata::new(content_1.len() as u64, harness.generation, harness.shard), ); #[derive(Debug, PartialEq, Clone, Copy)] @@ -2008,7 +2036,11 @@ mod tests { assert_eq!(actual_c, expected_c); } - async fn inject_index_part(test_state: &TestSetup, generation: Generation) -> IndexPart { + async fn inject_index_part( + test_state: &TestSetup, + generation: Generation, + shard: ShardIndex, + ) -> IndexPart { // An empty IndexPart, just sufficient to ensure deserialization will succeed let example_metadata = TimelineMetadata::example(); let example_index_part = IndexPart::new( @@ -2029,7 +2061,13 @@ mod tests { std::fs::create_dir_all(remote_timeline_dir).expect("creating test dir should work"); let index_path = test_state.harness.remote_fs_dir.join( - remote_index_path(&test_state.harness.tenant_id, &TIMELINE_ID, generation).get_path(), + remote_index_path( + &test_state.harness.tenant_id, + &TIMELINE_ID, + shard, + generation, + ) + .get_path(), ); eprintln!("Writing {index_path}"); std::fs::write(&index_path, index_part_bytes).unwrap(); @@ -2066,7 +2104,12 @@ mod tests { // Simple case: we are in generation N, load the index from generation N - 1 let generation_n = 5; - let injected = inject_index_part(&test_state, Generation::new(generation_n - 1)).await; + let injected = inject_index_part( + &test_state, + Generation::new(generation_n - 1), + ShardIndex::unsharded(), + ) + .await; assert_got_index_part(&test_state, Generation::new(generation_n), &injected).await; @@ -2084,22 +2127,34 @@ mod tests { // A generation-less IndexPart exists in the bucket, we should find it let generation_n = 5; - let injected_none = inject_index_part(&test_state, Generation::none()).await; + let injected_none = + inject_index_part(&test_state, Generation::none(), ShardIndex::unsharded()).await; assert_got_index_part(&test_state, Generation::new(generation_n), &injected_none).await; // If a more recent-than-none generation exists, we should prefer to load that - let injected_1 = inject_index_part(&test_state, Generation::new(1)).await; + let injected_1 = + inject_index_part(&test_state, Generation::new(1), ShardIndex::unsharded()).await; assert_got_index_part(&test_state, Generation::new(generation_n), &injected_1).await; // If a more-recent-than-me generation exists, we should ignore it. - let _injected_10 = inject_index_part(&test_state, Generation::new(10)).await; + let _injected_10 = + inject_index_part(&test_state, Generation::new(10), ShardIndex::unsharded()).await; assert_got_index_part(&test_state, Generation::new(generation_n), &injected_1).await; // If a directly previous generation exists, _and_ an index exists in my own // generation, I should prefer my own generation. - let _injected_prev = - inject_index_part(&test_state, Generation::new(generation_n - 1)).await; - let injected_current = inject_index_part(&test_state, Generation::new(generation_n)).await; + let _injected_prev = inject_index_part( + &test_state, + Generation::new(generation_n - 1), + ShardIndex::unsharded(), + ) + .await; + let injected_current = inject_index_part( + &test_state, + Generation::new(generation_n), + ShardIndex::unsharded(), + ) + .await; assert_got_index_part( &test_state, Generation::new(generation_n), diff --git a/pageserver/src/tenant/remote_timeline_client/download.rs b/pageserver/src/tenant/remote_timeline_client/download.rs index 6039b01ab8..3b2cb5b599 100644 --- a/pageserver/src/tenant/remote_timeline_client/download.rs +++ b/pageserver/src/tenant/remote_timeline_client/download.rs @@ -9,6 +9,7 @@ use std::time::Duration; use anyhow::{anyhow, Context}; use camino::Utf8Path; +use pageserver_api::shard::ShardIndex; use tokio::fs; use tokio::io::AsyncWriteExt; use tokio_util::sync::CancellationToken; @@ -53,6 +54,7 @@ pub async fn download_layer_file<'a>( let remote_path = remote_layer_path( &tenant_id, &timeline_id, + layer_metadata.shard, layer_file_name, layer_metadata.generation, ); @@ -213,10 +215,11 @@ async fn do_download_index_part( storage: &GenericRemoteStorage, tenant_id: &TenantId, timeline_id: &TimelineId, + shard: ShardIndex, index_generation: Generation, cancel: CancellationToken, ) -> Result { - let remote_path = remote_index_path(tenant_id, timeline_id, index_generation); + let remote_path = remote_index_path(tenant_id, timeline_id, shard, index_generation); let index_part_bytes = download_retry_forever( || async { @@ -254,6 +257,7 @@ pub(super) async fn download_index_part( storage: &GenericRemoteStorage, tenant_id: &TenantId, timeline_id: &TimelineId, + shard: ShardIndex, my_generation: Generation, cancel: CancellationToken, ) -> Result { @@ -261,8 +265,15 @@ pub(super) async fn download_index_part( if my_generation.is_none() { // Operating without generations: just fetch the generation-less path - return do_download_index_part(storage, tenant_id, timeline_id, my_generation, cancel) - .await; + return do_download_index_part( + storage, + tenant_id, + timeline_id, + shard, + my_generation, + cancel, + ) + .await; } // Stale case: If we were intentionally attached in a stale generation, there may already be a remote @@ -273,6 +284,7 @@ pub(super) async fn download_index_part( storage, tenant_id, timeline_id, + shard, my_generation, cancel.clone(), ) @@ -300,6 +312,7 @@ pub(super) async fn download_index_part( storage, tenant_id, timeline_id, + shard, my_generation.previous(), cancel.clone(), ) @@ -320,8 +333,9 @@ pub(super) async fn download_index_part( } // General case/fallback: if there is no index at my_generation or prev_generation, then list all index_part.json - // objects, and select the highest one with a generation <= my_generation. - let index_prefix = remote_index_path(tenant_id, timeline_id, Generation::none()); + // objects, and select the highest one with a generation <= my_generation. Constructing the prefix is equivalent + // to constructing a full index path with no generation, because the generation is a suffix. + let index_prefix = remote_index_path(tenant_id, timeline_id, shard, Generation::none()); let indices = backoff::retry( || async { storage.list_files(Some(&index_prefix)).await }, |_| false, @@ -347,14 +361,21 @@ pub(super) async fn download_index_part( match max_previous_generation { Some(g) => { tracing::debug!("Found index_part in generation {g:?}"); - do_download_index_part(storage, tenant_id, timeline_id, g, cancel).await + do_download_index_part(storage, tenant_id, timeline_id, shard, g, cancel).await } None => { // Migration from legacy pre-generation state: we have a generation but no prior // attached pageservers did. Try to load from a no-generation path. tracing::info!("No index_part.json* found"); - do_download_index_part(storage, tenant_id, timeline_id, Generation::none(), cancel) - .await + do_download_index_part( + storage, + tenant_id, + timeline_id, + shard, + Generation::none(), + cancel, + ) + .await } } } diff --git a/pageserver/src/tenant/remote_timeline_client/index.rs b/pageserver/src/tenant/remote_timeline_client/index.rs index 0d0b34365c..0abfdeef02 100644 --- a/pageserver/src/tenant/remote_timeline_client/index.rs +++ b/pageserver/src/tenant/remote_timeline_client/index.rs @@ -12,6 +12,7 @@ use crate::tenant::metadata::TimelineMetadata; use crate::tenant::storage_layer::LayerFileName; use crate::tenant::upload_queue::UploadQueueInitialized; use crate::tenant::Generation; +use pageserver_api::shard::ShardIndex; use utils::lsn::Lsn; @@ -25,6 +26,8 @@ pub struct LayerFileMetadata { file_size: u64, pub(crate) generation: Generation, + + pub(crate) shard: ShardIndex, } impl From<&'_ IndexLayerMetadata> for LayerFileMetadata { @@ -32,15 +35,17 @@ impl From<&'_ IndexLayerMetadata> for LayerFileMetadata { LayerFileMetadata { file_size: other.file_size, generation: other.generation, + shard: other.shard, } } } impl LayerFileMetadata { - pub fn new(file_size: u64, generation: Generation) -> Self { + pub fn new(file_size: u64, generation: Generation, shard: ShardIndex) -> Self { LayerFileMetadata { file_size, generation, + shard, } } @@ -161,6 +166,10 @@ pub struct IndexLayerMetadata { #[serde(default = "Generation::none")] #[serde(skip_serializing_if = "Generation::is_none")] pub generation: Generation, + + #[serde(default = "ShardIndex::unsharded")] + #[serde(skip_serializing_if = "ShardIndex::is_unsharded")] + pub shard: ShardIndex, } impl From for IndexLayerMetadata { @@ -168,6 +177,7 @@ impl From for IndexLayerMetadata { IndexLayerMetadata { file_size: other.file_size, generation: other.generation, + shard: other.shard, } } } @@ -195,13 +205,15 @@ mod tests { layer_metadata: HashMap::from([ ("000000000000000000000000000000000000-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF__0000000001696070-00000000016960E9".parse().unwrap(), IndexLayerMetadata { file_size: 25600000, - generation: Generation::none() + generation: Generation::none(), + shard: ShardIndex::unsharded() }), ("000000000000000000000000000000000000-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF__00000000016B59D8-00000000016B5A51".parse().unwrap(), IndexLayerMetadata { // serde_json should always parse this but this might be a double with jq for // example. file_size: 9007199254741001, - generation: Generation::none() + generation: Generation::none(), + shard: ShardIndex::unsharded() }) ]), disk_consistent_lsn: "0/16960E8".parse::().unwrap(), @@ -233,13 +245,15 @@ mod tests { layer_metadata: HashMap::from([ ("000000000000000000000000000000000000-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF__0000000001696070-00000000016960E9".parse().unwrap(), IndexLayerMetadata { file_size: 25600000, - generation: Generation::none() + generation: Generation::none(), + shard: ShardIndex::unsharded() }), ("000000000000000000000000000000000000-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF__00000000016B59D8-00000000016B5A51".parse().unwrap(), IndexLayerMetadata { // serde_json should always parse this but this might be a double with jq for // example. file_size: 9007199254741001, - generation: Generation::none() + generation: Generation::none(), + shard: ShardIndex::unsharded() }) ]), disk_consistent_lsn: "0/16960E8".parse::().unwrap(), @@ -272,13 +286,15 @@ mod tests { layer_metadata: HashMap::from([ ("000000000000000000000000000000000000-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF__0000000001696070-00000000016960E9".parse().unwrap(), IndexLayerMetadata { file_size: 25600000, - generation: Generation::none() + generation: Generation::none(), + shard: ShardIndex::unsharded() }), ("000000000000000000000000000000000000-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF__00000000016B59D8-00000000016B5A51".parse().unwrap(), IndexLayerMetadata { // serde_json should always parse this but this might be a double with jq for // example. file_size: 9007199254741001, - generation: Generation::none() + generation: Generation::none(), + shard: ShardIndex::unsharded() }) ]), disk_consistent_lsn: "0/16960E8".parse::().unwrap(), @@ -354,19 +370,21 @@ mod tests { layer_metadata: HashMap::from([ ("000000000000000000000000000000000000-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF__0000000001696070-00000000016960E9".parse().unwrap(), IndexLayerMetadata { file_size: 25600000, - generation: Generation::none() + generation: Generation::none(), + shard: ShardIndex::unsharded() }), ("000000000000000000000000000000000000-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF__00000000016B59D8-00000000016B5A51".parse().unwrap(), IndexLayerMetadata { // serde_json should always parse this but this might be a double with jq for // example. file_size: 9007199254741001, - generation: Generation::none() + generation: Generation::none(), + shard: ShardIndex::unsharded() }) ]), disk_consistent_lsn: "0/16960E8".parse::().unwrap(), metadata: TimelineMetadata::from_bytes(&[113,11,159,210,0,54,0,4,0,0,0,0,1,105,96,232,1,0,0,0,0,1,105,96,112,0,0,0,0,0,0,0,0,0,0,0,0,0,1,105,96,112,0,0,0,0,1,105,96,112,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]).unwrap(), deleted_at: Some(chrono::NaiveDateTime::parse_from_str( - "2023-07-31T09:00:00.123000000", "%Y-%m-%dT%H:%M:%S.%f").unwrap()) + "2023-07-31T09:00:00.123000000", "%Y-%m-%dT%H:%M:%S.%f").unwrap()), }; let part = IndexPart::from_s3_bytes(example.as_bytes()).unwrap(); diff --git a/pageserver/src/tenant/remote_timeline_client/upload.rs b/pageserver/src/tenant/remote_timeline_client/upload.rs index 4d3e1731dc..789a10cf54 100644 --- a/pageserver/src/tenant/remote_timeline_client/upload.rs +++ b/pageserver/src/tenant/remote_timeline_client/upload.rs @@ -4,6 +4,7 @@ use anyhow::{bail, Context}; use bytes::Bytes; use camino::Utf8Path; use fail::fail_point; +use pageserver_api::shard::ShardIndex; use std::io::ErrorKind; use tokio::fs; @@ -26,6 +27,7 @@ pub(super) async fn upload_index_part<'a>( storage: &'a GenericRemoteStorage, tenant_id: &TenantId, timeline_id: &TimelineId, + shard: ShardIndex, generation: Generation, index_part: &'a IndexPart, ) -> anyhow::Result<()> { @@ -42,7 +44,7 @@ pub(super) async fn upload_index_part<'a>( let index_part_size = index_part_bytes.len(); let index_part_bytes = tokio::io::BufReader::new(std::io::Cursor::new(index_part_bytes)); - let remote_path = remote_index_path(tenant_id, timeline_id, generation); + let remote_path = remote_index_path(tenant_id, timeline_id, shard, generation); storage .upload_storage_object(Box::new(index_part_bytes), index_part_size, &remote_path) .await diff --git a/pageserver/src/tenant/storage_layer/layer.rs b/pageserver/src/tenant/storage_layer/layer.rs index f28f1c9444..703fb7db24 100644 --- a/pageserver/src/tenant/storage_layer/layer.rs +++ b/pageserver/src/tenant/storage_layer/layer.rs @@ -3,6 +3,7 @@ use camino::{Utf8Path, Utf8PathBuf}; use pageserver_api::models::{ HistoricLayerInfo, LayerAccessKind, LayerResidenceEventReason, LayerResidenceStatus, }; +use pageserver_api::shard::ShardIndex; use std::ops::Range; use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering}; use std::sync::{Arc, Weak}; @@ -96,6 +97,7 @@ impl Layer { desc, None, metadata.generation, + metadata.shard, ))); debug_assert!(owner.0.needs_download_blocking().unwrap().is_some()); @@ -136,6 +138,7 @@ impl Layer { desc, Some(inner), metadata.generation, + metadata.shard, ) })); @@ -179,6 +182,7 @@ impl Layer { desc, Some(inner), timeline.generation, + timeline.get_shard_index(), ) })); @@ -426,6 +430,15 @@ struct LayerInner { /// For loaded layers (resident or evicted) this comes from [`LayerFileMetadata::generation`], /// for created layers from [`Timeline::generation`]. generation: Generation, + + /// The shard of this Layer. + /// + /// For layers created in this process, this will always be the [`ShardIndex`] of the + /// current `ShardIdentity`` (TODO: add link once it's introduced). + /// + /// For loaded layers, this may be some other value if the tenant has undergone + /// a shard split since the layer was originally written. + shard: ShardIndex, } impl std::fmt::Display for LayerInner { @@ -459,9 +472,9 @@ impl Drop for LayerInner { let path = std::mem::take(&mut self.path); let file_name = self.layer_desc().filename(); - let gen = self.generation; let file_size = self.layer_desc().file_size; let timeline = self.timeline.clone(); + let meta = self.metadata(); crate::task_mgr::BACKGROUND_RUNTIME.spawn_blocking(move || { let _g = span.entered(); @@ -489,7 +502,7 @@ impl Drop for LayerInner { timeline.metrics.resident_physical_size_sub(file_size); } if let Some(remote_client) = timeline.remote_client.as_ref() { - let res = remote_client.schedule_deletion_of_unlinked(vec![(file_name, gen)]); + let res = remote_client.schedule_deletion_of_unlinked(vec![(file_name, meta)]); if let Err(e) = res { // test_timeline_deletion_with_files_stuck_in_upload_queue is good at @@ -523,6 +536,7 @@ impl LayerInner { desc: PersistentLayerDesc, downloaded: Option>, generation: Generation, + shard: ShardIndex, ) -> Self { let path = conf .timeline_path(&timeline.tenant_id, &timeline.timeline_id) @@ -550,6 +564,7 @@ impl LayerInner { status: tokio::sync::broadcast::channel(1).0, consecutive_failures: AtomicUsize::new(0), generation, + shard, } } @@ -1077,7 +1092,7 @@ impl LayerInner { } fn metadata(&self) -> LayerFileMetadata { - LayerFileMetadata::new(self.desc.file_size, self.generation) + LayerFileMetadata::new(self.desc.file_size, self.generation, self.shard) } } diff --git a/pageserver/src/tenant/timeline.rs b/pageserver/src/tenant/timeline.rs index 9493ed1c9a..9e204e1258 100644 --- a/pageserver/src/tenant/timeline.rs +++ b/pageserver/src/tenant/timeline.rs @@ -62,6 +62,7 @@ use crate::pgdatadir_mapping::{is_rel_fsm_block_key, is_rel_vm_block_key}; use crate::pgdatadir_mapping::{BlockNumber, CalculateLogicalSizeError}; use crate::tenant::config::{EvictionPolicy, TenantConfOpt}; use pageserver_api::reltag::RelTag; +use pageserver_api::shard::ShardIndex; use postgres_connection::PgConnectionConfig; use postgres_ffi::to_pg_timestamp; @@ -1597,6 +1598,7 @@ impl Timeline { // Copy to move into the task we're about to spawn let generation = self.generation; + let shard = self.get_shard_index(); let this = self.myself.upgrade().expect("&self method holds the arc"); let (loaded_layers, needs_cleanup, total_physical_size) = tokio::task::spawn_blocking({ @@ -1645,6 +1647,7 @@ impl Timeline { index_part.as_ref(), disk_consistent_lsn, generation, + shard, ); let mut loaded_layers = Vec::new(); @@ -4364,6 +4367,11 @@ impl Timeline { resident_layers, } } + + pub(crate) fn get_shard_index(&self) -> ShardIndex { + // TODO: carry this on the struct + ShardIndex::unsharded() + } } type TraversalPathItem = ( diff --git a/pageserver/src/tenant/timeline/init.rs b/pageserver/src/tenant/timeline/init.rs index 96bf847fbb..916ebfc6d9 100644 --- a/pageserver/src/tenant/timeline/init.rs +++ b/pageserver/src/tenant/timeline/init.rs @@ -13,6 +13,7 @@ use crate::{ }; use anyhow::Context; use camino::Utf8Path; +use pageserver_api::shard::ShardIndex; use std::{collections::HashMap, str::FromStr}; use utils::lsn::Lsn; @@ -107,6 +108,7 @@ pub(super) fn reconcile( index_part: Option<&IndexPart>, disk_consistent_lsn: Lsn, generation: Generation, + shard: ShardIndex, ) -> Vec<(LayerFileName, Result)> { use Decision::*; @@ -118,10 +120,13 @@ pub(super) fn reconcile( .map(|(name, file_size)| { ( name, - // The generation here will be corrected to match IndexPart in the merge below, unless + // The generation and shard here will be corrected to match IndexPart in the merge below, unless // it is not in IndexPart, in which case using our current generation makes sense // because it will be uploaded in this generation. - (Some(LayerFileMetadata::new(file_size, generation)), None), + ( + Some(LayerFileMetadata::new(file_size, generation, shard)), + None, + ), ) }) .collect::(); diff --git a/pageserver/src/tenant/upload_queue.rs b/pageserver/src/tenant/upload_queue.rs index b47878aacc..5eaed1d5ca 100644 --- a/pageserver/src/tenant/upload_queue.rs +++ b/pageserver/src/tenant/upload_queue.rs @@ -1,6 +1,5 @@ use super::storage_layer::LayerFileName; use super::storage_layer::ResidentLayer; -use super::Generation; use crate::tenant::metadata::TimelineMetadata; use crate::tenant::remote_timeline_client::index::IndexPart; use crate::tenant::remote_timeline_client::index::LayerFileMetadata; @@ -15,6 +14,9 @@ use utils::lsn::AtomicLsn; use std::sync::atomic::AtomicU32; use utils::lsn::Lsn; +#[cfg(feature = "testing")] +use utils::generation::Generation; + // clippy warns that Uninitialized is much smaller than Initialized, which wastes // memory for Uninitialized variants. Doesn't matter in practice, there are not // that many upload queues in a running pageserver, and most of them are initialized @@ -232,7 +234,7 @@ pub(crate) struct UploadTask { /// for timeline deletion, which skips this queue and goes directly to DeletionQueue. #[derive(Debug)] pub(crate) struct Delete { - pub(crate) layers: Vec<(LayerFileName, Generation)>, + pub(crate) layers: Vec<(LayerFileName, LayerFileMetadata)>, } #[derive(Debug)] From 1ab0cfc8cb4800e30024a2e271f90f08823d0507 Mon Sep 17 00:00:00 2001 From: John Spray Date: Tue, 28 Nov 2023 13:14:51 +0000 Subject: [PATCH 33/38] pageserver: add sharding metadata to `LocationConf` (#5932) ## Problem The TenantShardId in API URLs is sufficient to uniquely identify a tenant shard, but not for it to function: it also needs to know its full sharding configuration (stripe size, layout version) in order to map keys to shards. ## Summary of changes - Introduce ShardIdentity: this is the superset of ShardIndex (#5924 ) that is required for translating keys to shard numbers. - Include ShardIdentity as an optional attribute of LocationConf - Extend the public `LocationConfig` API structure with a flat representation of shard attributes. The net result is that at the point we construct a `Tenant`, we have a `ShardIdentity` (inside LocationConf). This enables the next steps to actually use the ShardIdentity to split WAL and validate that page service requires are reaching the correct shard. --- Cargo.lock | 1 + control_plane/src/tenant_migration.rs | 57 +++++++------- libs/pageserver_api/Cargo.toml | 1 + libs/pageserver_api/src/models.rs | 12 ++- libs/pageserver_api/src/shard.rs | 106 ++++++++++++++++++++++++++ pageserver/src/tenant/config.rs | 29 ++++++- 6 files changed, 172 insertions(+), 34 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 16fcd0c4c9..551866e34a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3011,6 +3011,7 @@ dependencies = [ "serde_with", "strum", "strum_macros", + "thiserror", "utils", "workspace_hack", ] diff --git a/control_plane/src/tenant_migration.rs b/control_plane/src/tenant_migration.rs index d28d1f9fe8..42780db85c 100644 --- a/control_plane/src/tenant_migration.rs +++ b/control_plane/src/tenant_migration.rs @@ -14,7 +14,6 @@ use pageserver_api::models::{ use std::collections::HashMap; use std::time::Duration; use utils::{ - generation::Generation, id::{TenantId, TimelineId}, lsn::Lsn, }; @@ -93,6 +92,22 @@ pub fn migrate_tenant( // Get a new generation let attachment_service = AttachmentService::from_env(env); + fn build_location_config( + mode: LocationConfigMode, + generation: Option, + secondary_conf: Option, + ) -> LocationConfig { + LocationConfig { + mode, + generation, + secondary_conf, + tenant_conf: TenantConfig::default(), + shard_number: 0, + shard_count: 0, + shard_stripe_size: 0, + } + } + let previous = attachment_service.inspect(tenant_id)?; let mut baseline_lsns = None; if let Some((generation, origin_ps_id)) = &previous { @@ -101,12 +116,7 @@ pub fn migrate_tenant( if origin_ps_id == &dest_ps.conf.id { println!("🔁 Already attached to {origin_ps_id}, freshening..."); let gen = attachment_service.attach_hook(tenant_id, dest_ps.conf.id)?; - let dest_conf = LocationConfig { - mode: LocationConfigMode::AttachedSingle, - generation: gen.map(Generation::new), - secondary_conf: None, - tenant_conf: TenantConfig::default(), - }; + let dest_conf = build_location_config(LocationConfigMode::AttachedSingle, gen, None); dest_ps.location_config(tenant_id, dest_conf)?; println!("✅ Migration complete"); return Ok(()); @@ -114,24 +124,15 @@ pub fn migrate_tenant( println!("🔁 Switching origin pageserver {origin_ps_id} to stale mode"); - let stale_conf = LocationConfig { - mode: LocationConfigMode::AttachedStale, - generation: Some(Generation::new(*generation)), - secondary_conf: None, - tenant_conf: TenantConfig::default(), - }; + let stale_conf = + build_location_config(LocationConfigMode::AttachedStale, Some(*generation), None); origin_ps.location_config(tenant_id, stale_conf)?; baseline_lsns = Some(get_lsns(tenant_id, &origin_ps)?); } let gen = attachment_service.attach_hook(tenant_id, dest_ps.conf.id)?; - let dest_conf = LocationConfig { - mode: LocationConfigMode::AttachedMulti, - generation: gen.map(Generation::new), - secondary_conf: None, - tenant_conf: TenantConfig::default(), - }; + let dest_conf = build_location_config(LocationConfigMode::AttachedMulti, gen, None); println!("🔁 Attaching to pageserver {}", dest_ps.conf.id); dest_ps.location_config(tenant_id, dest_conf)?; @@ -170,12 +171,11 @@ pub fn migrate_tenant( } // Downgrade to a secondary location - let secondary_conf = LocationConfig { - mode: LocationConfigMode::Secondary, - generation: None, - secondary_conf: Some(LocationConfigSecondary { warm: true }), - tenant_conf: TenantConfig::default(), - }; + let secondary_conf = build_location_config( + LocationConfigMode::Secondary, + None, + Some(LocationConfigSecondary { warm: true }), + ); println!( "💤 Switching to secondary mode on pageserver {}", @@ -188,12 +188,7 @@ pub fn migrate_tenant( "🔁 Switching to AttachedSingle mode on pageserver {}", dest_ps.conf.id ); - let dest_conf = LocationConfig { - mode: LocationConfigMode::AttachedSingle, - generation: gen.map(Generation::new), - secondary_conf: None, - tenant_conf: TenantConfig::default(), - }; + let dest_conf = build_location_config(LocationConfigMode::AttachedSingle, gen, None); dest_ps.location_config(tenant_id, dest_conf)?; println!("✅ Migration complete"); diff --git a/libs/pageserver_api/Cargo.toml b/libs/pageserver_api/Cargo.toml index df9796b039..4d08d78e87 100644 --- a/libs/pageserver_api/Cargo.toml +++ b/libs/pageserver_api/Cargo.toml @@ -18,6 +18,7 @@ enum-map.workspace = true strum.workspace = true strum_macros.workspace = true hex.workspace = true +thiserror.workspace = true workspace_hack.workspace = true diff --git a/libs/pageserver_api/src/models.rs b/libs/pageserver_api/src/models.rs index 71e32e479f..c792a5eff7 100644 --- a/libs/pageserver_api/src/models.rs +++ b/libs/pageserver_api/src/models.rs @@ -10,7 +10,6 @@ use serde_with::serde_as; use strum_macros; use utils::{ completion, - generation::Generation, history_buffer::HistoryBufferWithDropCounter, id::{NodeId, TenantId, TimelineId}, lsn::Lsn, @@ -262,10 +261,19 @@ pub struct LocationConfig { pub mode: LocationConfigMode, /// If attaching, in what generation? #[serde(default)] - pub generation: Option, + pub generation: Option, #[serde(default)] pub secondary_conf: Option, + // Shard parameters: if shard_count is nonzero, then other shard_* fields + // must be set accurately. + #[serde(default)] + pub shard_number: u8, + #[serde(default)] + pub shard_count: u8, + #[serde(default)] + pub shard_stripe_size: u32, + // If requesting mode `Secondary`, configuration for that. // Custom storage configuration for the tenant, if any pub tenant_conf: TenantConfig, diff --git a/libs/pageserver_api/src/shard.rs b/libs/pageserver_api/src/shard.rs index 16f2d13770..688b911425 100644 --- a/libs/pageserver_api/src/shard.rs +++ b/libs/pageserver_api/src/shard.rs @@ -2,6 +2,7 @@ use std::{ops::RangeInclusive, str::FromStr}; use hex::FromHex; use serde::{Deserialize, Serialize}; +use thiserror; use utils::id::TenantId; #[derive(Ord, PartialOrd, Eq, PartialEq, Clone, Copy, Serialize, Deserialize, Debug)] @@ -292,6 +293,80 @@ impl<'de> Deserialize<'de> for TenantShardId { } } +/// Stripe size in number of pages +#[derive(Clone, Copy, Serialize, Deserialize, Eq, PartialEq, Debug)] +pub struct ShardStripeSize(pub u32); + +/// Layout version: for future upgrades where we might change how the key->shard mapping works +#[derive(Clone, Copy, Serialize, Deserialize, Eq, PartialEq, Debug)] +pub struct ShardLayout(u8); + +const LAYOUT_V1: ShardLayout = ShardLayout(1); + +/// Default stripe size in pages: 256MiB divided by 8kiB page size. +const DEFAULT_STRIPE_SIZE: ShardStripeSize = ShardStripeSize(256 * 1024 / 8); + +/// The ShardIdentity contains the information needed for one member of map +/// to resolve a key to a shard, and then check whether that shard is ==self. +#[derive(Clone, Copy, Serialize, Deserialize, Eq, PartialEq, Debug)] +pub struct ShardIdentity { + pub layout: ShardLayout, + pub number: ShardNumber, + pub count: ShardCount, + pub stripe_size: ShardStripeSize, +} + +#[derive(thiserror::Error, Debug, PartialEq, Eq)] +pub enum ShardConfigError { + #[error("Invalid shard count")] + InvalidCount, + #[error("Invalid shard number")] + InvalidNumber, + #[error("Invalid stripe size")] + InvalidStripeSize, +} + +impl ShardIdentity { + /// An identity with number=0 count=0 is a "none" identity, which represents legacy + /// tenants. Modern single-shard tenants should not use this: they should + /// have number=0 count=1. + pub fn unsharded() -> Self { + Self { + number: ShardNumber(0), + count: ShardCount(0), + layout: LAYOUT_V1, + stripe_size: DEFAULT_STRIPE_SIZE, + } + } + + pub fn is_unsharded(&self) -> bool { + self.number == ShardNumber(0) && self.count == ShardCount(0) + } + + /// Count must be nonzero, and number must be < count. To construct + /// the legacy case (count==0), use Self::unsharded instead. + pub fn new( + number: ShardNumber, + count: ShardCount, + stripe_size: ShardStripeSize, + ) -> Result { + if count.0 == 0 { + Err(ShardConfigError::InvalidCount) + } else if number.0 > count.0 - 1 { + Err(ShardConfigError::InvalidNumber) + } else if stripe_size.0 == 0 { + Err(ShardConfigError::InvalidStripeSize) + } else { + Ok(Self { + number, + count, + layout: LAYOUT_V1, + stripe_size, + }) + } + } +} + impl Serialize for ShardIndex { fn serialize(&self, serializer: S) -> Result where @@ -473,6 +548,37 @@ mod tests { Ok(()) } + #[test] + fn shard_identity_validation() -> Result<(), ShardConfigError> { + // Happy cases + ShardIdentity::new(ShardNumber(0), ShardCount(1), DEFAULT_STRIPE_SIZE)?; + ShardIdentity::new(ShardNumber(0), ShardCount(1), ShardStripeSize(1))?; + ShardIdentity::new(ShardNumber(254), ShardCount(255), ShardStripeSize(1))?; + + assert_eq!( + ShardIdentity::new(ShardNumber(0), ShardCount(0), DEFAULT_STRIPE_SIZE), + Err(ShardConfigError::InvalidCount) + ); + assert_eq!( + ShardIdentity::new(ShardNumber(10), ShardCount(10), DEFAULT_STRIPE_SIZE), + Err(ShardConfigError::InvalidNumber) + ); + assert_eq!( + ShardIdentity::new(ShardNumber(11), ShardCount(10), DEFAULT_STRIPE_SIZE), + Err(ShardConfigError::InvalidNumber) + ); + assert_eq!( + ShardIdentity::new(ShardNumber(255), ShardCount(255), DEFAULT_STRIPE_SIZE), + Err(ShardConfigError::InvalidNumber) + ); + assert_eq!( + ShardIdentity::new(ShardNumber(0), ShardCount(1), ShardStripeSize(0)), + Err(ShardConfigError::InvalidStripeSize) + ); + + Ok(()) + } + #[test] fn shard_index_human_encoding() -> Result<(), hex::FromHexError> { let example = ShardIndex { diff --git a/pageserver/src/tenant/config.rs b/pageserver/src/tenant/config.rs index 5f8c7f6c59..4ad6a71f67 100644 --- a/pageserver/src/tenant/config.rs +++ b/pageserver/src/tenant/config.rs @@ -10,6 +10,7 @@ //! use anyhow::Context; use pageserver_api::models; +use pageserver_api::shard::{ShardCount, ShardIdentity, ShardNumber, ShardStripeSize}; use serde::{Deserialize, Serialize}; use std::num::NonZeroU64; use std::time::Duration; @@ -88,6 +89,14 @@ pub(crate) struct LocationConf { /// The location-specific part of the configuration, describes the operating /// mode of this pageserver for this tenant. pub(crate) mode: LocationMode, + + /// The detailed shard identity. This structure is already scoped within + /// a TenantShardId, but we need the full ShardIdentity to enable calculating + /// key->shard mappings. + #[serde(default = "ShardIdentity::unsharded")] + #[serde(skip_serializing_if = "ShardIdentity::is_unsharded")] + pub(crate) shard: ShardIdentity, + /// The pan-cluster tenant configuration, the same on all locations pub(crate) tenant_conf: TenantConfOpt, } @@ -160,6 +169,8 @@ impl LocationConf { generation, attach_mode: AttachmentMode::Single, }), + // Legacy configuration loads are always from tenants created before sharding existed. + shard: ShardIdentity::unsharded(), tenant_conf, } } @@ -187,6 +198,7 @@ impl LocationConf { fn get_generation(conf: &'_ models::LocationConfig) -> Result { conf.generation + .map(Generation::new) .ok_or_else(|| anyhow::anyhow!("Generation must be set when attaching")) } @@ -226,7 +238,21 @@ impl LocationConf { } }; - Ok(Self { mode, tenant_conf }) + let shard = if conf.shard_count == 0 { + ShardIdentity::unsharded() + } else { + ShardIdentity::new( + ShardNumber(conf.shard_number), + ShardCount(conf.shard_count), + ShardStripeSize(conf.shard_stripe_size), + )? + }; + + Ok(Self { + shard, + mode, + tenant_conf, + }) } } @@ -241,6 +267,7 @@ impl Default for LocationConf { attach_mode: AttachmentMode::Single, }), tenant_conf: TenantConfOpt::default(), + shard: ShardIdentity::unsharded(), } } } From 8625466144f0fa3e08d52e675f66ed9ad0c37274 Mon Sep 17 00:00:00 2001 From: Shany Pozin Date: Tue, 28 Nov 2023 16:49:31 +0200 Subject: [PATCH 34/38] Move run_initdb to be async and guarded by max of 8 running tasks. Fixes #5895. Use tenant.cancel for cancellation (#5921) ## Problem https://github.com/neondatabase/neon/issues/5895 --- pageserver/src/tenant.rs | 128 ++++++++++++++++++++++++++------------- 1 file changed, 86 insertions(+), 42 deletions(-) diff --git a/pageserver/src/tenant.rs b/pageserver/src/tenant.rs index a4d61f0951..0260905bd2 100644 --- a/pageserver/src/tenant.rs +++ b/pageserver/src/tenant.rs @@ -19,6 +19,7 @@ use futures::FutureExt; use pageserver_api::models::TimelineState; use remote_storage::DownloadError; use remote_storage::GenericRemoteStorage; +use std::fmt; use storage_broker::BrokerClientChannel; use tokio::runtime::Handle; use tokio::sync::watch; @@ -31,26 +32,6 @@ use utils::crashsafe::path_with_suffix_extension; use utils::fs_ext; use utils::sync::gate::Gate; -use std::cmp::min; -use std::collections::hash_map::Entry; -use std::collections::BTreeSet; -use std::collections::HashMap; -use std::collections::HashSet; -use std::fmt::Debug; -use std::fmt::Display; -use std::fs; -use std::fs::File; -use std::io; -use std::ops::Bound::Included; -use std::process::Command; -use std::process::Stdio; -use std::sync::atomic::AtomicU64; -use std::sync::atomic::Ordering; -use std::sync::Arc; -use std::sync::MutexGuard; -use std::sync::{Mutex, RwLock}; -use std::time::{Duration, Instant}; - use self::config::AttachedLocationConfig; use self::config::AttachmentMode; use self::config::LocationConf; @@ -84,14 +65,35 @@ use crate::tenant::remote_timeline_client::MaybeDeletedIndexPart; use crate::tenant::storage_layer::DeltaLayer; use crate::tenant::storage_layer::ImageLayer; use crate::InitializationOrder; +use std::cmp::min; +use std::collections::hash_map::Entry; +use std::collections::BTreeSet; +use std::collections::HashMap; +use std::collections::HashSet; +use std::fmt::Debug; +use std::fmt::Display; +use std::fs; +use std::fs::File; +use std::io; +use std::ops::Bound::Included; +use std::process::Stdio; +use std::sync::atomic::AtomicU64; +use std::sync::atomic::Ordering; +use std::sync::Arc; +use std::sync::MutexGuard; +use std::sync::{Mutex, RwLock}; +use std::time::{Duration, Instant}; use crate::tenant::timeline::delete::DeleteTimelineFlow; use crate::tenant::timeline::uninit::cleanup_timeline_directory; use crate::virtual_file::VirtualFile; use crate::walredo::PostgresRedoManager; use crate::TEMP_FILE_SUFFIX; +use once_cell::sync::Lazy; pub use pageserver_api::models::TenantState; +use tokio::sync::Semaphore; +static INIT_DB_SEMAPHORE: Lazy = Lazy::new(|| Semaphore::new(8)); use toml_edit; use utils::{ crashsafe, @@ -403,6 +405,36 @@ pub enum CreateTimelineError { Other(#[from] anyhow::Error), } +#[derive(thiserror::Error, Debug)] +enum InitdbError { + Other(anyhow::Error), + Cancelled, + Spawn(std::io::Result<()>), + Failed(std::process::ExitStatus, Vec), +} + +impl fmt::Display for InitdbError { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + match self { + InitdbError::Cancelled => write!(f, "Operation was cancelled"), + InitdbError::Spawn(e) => write!(f, "Spawn error: {:?}", e), + InitdbError::Failed(status, stderr) => write!( + f, + "Command failed with status {:?}: {}", + status, + String::from_utf8_lossy(stderr) + ), + InitdbError::Other(e) => write!(f, "Error: {:?}", e), + } + } +} + +impl From for InitdbError { + fn from(error: std::io::Error) -> Self { + InitdbError::Spawn(Err(error)) + } +} + struct TenantDirectoryScan { sorted_timelines_to_load: Vec<(TimelineId, TimelineMetadata)>, timelines_to_resume_deletion: Vec<(TimelineId, Option)>, @@ -2922,8 +2954,8 @@ impl Tenant { format!("Failed to remove already existing initdb directory: {pgdata_path}") })?; } - // Init temporarily repo to get bootstrap data, this creates a directory in the `pgdata_path` path - run_initdb(self.conf, &pgdata_path, pg_version)?; + // Init temporarily repo to get bootstrap data, this creates a directory in the `initdb_path` path + run_initdb(self.conf, &pgdata_path, pg_version, &self.cancel).await?; // this new directory is very temporary, set to remove it immediately after bootstrap, we don't need it scopeguard::defer! { if let Err(e) = fs::remove_dir_all(&pgdata_path) { @@ -3387,42 +3419,54 @@ fn rebase_directory( /// Create the cluster temporarily in 'initdbpath' directory inside the repository /// to get bootstrap data for timeline initialization. -fn run_initdb( +async fn run_initdb( conf: &'static PageServerConf, initdb_target_dir: &Utf8Path, pg_version: u32, -) -> anyhow::Result<()> { - let initdb_bin_path = conf.pg_bin_dir(pg_version)?.join("initdb"); - let initdb_lib_dir = conf.pg_lib_dir(pg_version)?; + cancel: &CancellationToken, +) -> Result<(), InitdbError> { + let initdb_bin_path = conf + .pg_bin_dir(pg_version) + .map_err(InitdbError::Other)? + .join("initdb"); + let initdb_lib_dir = conf.pg_lib_dir(pg_version).map_err(InitdbError::Other)?; info!( "running {} in {}, libdir: {}", initdb_bin_path, initdb_target_dir, initdb_lib_dir, ); - let initdb_output = Command::new(&initdb_bin_path) + let _permit = INIT_DB_SEMAPHORE.acquire().await; + + let initdb_command = tokio::process::Command::new(&initdb_bin_path) .args(["-D", initdb_target_dir.as_ref()]) .args(["-U", &conf.superuser]) .args(["-E", "utf8"]) .arg("--no-instructions") - // This is only used for a temporary installation that is deleted shortly after, - // so no need to fsync it .arg("--no-sync") .env_clear() .env("LD_LIBRARY_PATH", &initdb_lib_dir) .env("DYLD_LIBRARY_PATH", &initdb_lib_dir) - .stdout(Stdio::null()) - .output() - .with_context(|| { - format!( - "failed to execute {} at target dir {}", - initdb_bin_path, initdb_target_dir, - ) - })?; - if !initdb_output.status.success() { - bail!( - "initdb failed: '{}'", - String::from_utf8_lossy(&initdb_output.stderr) - ); + .stdout(Stdio::piped()) + .stderr(Stdio::piped()) + // If the `select!` below doesn't finish the `wait_with_output`, + // let the task get `wait()`ed for asynchronously by tokio. + // This means there is a slim chance we can go over the INIT_DB_SEMAPHORE. + // TODO: fix for this is non-trivial, see + // https://github.com/neondatabase/neon/pull/5921#pullrequestreview-1750858021 + // + .kill_on_drop(true) + .spawn()?; + + tokio::select! { + initdb_output = initdb_command.wait_with_output() => { + let initdb_output = initdb_output?; + if !initdb_output.status.success() { + return Err(InitdbError::Failed(initdb_output.status, initdb_output.stderr)); + } + } + _ = cancel.cancelled() => { + return Err(InitdbError::Cancelled); + } } Ok(()) From 105edc265cedd5e795a5e5b4c9280a404fb844ee Mon Sep 17 00:00:00 2001 From: Joonas Koivunen Date: Tue, 28 Nov 2023 19:15:21 +0200 Subject: [PATCH 35/38] fix: remove layer_removal_cs (#5108) Quest: https://github.com/neondatabase/neon/issues/4745. Follow-up to #4938. - add in locks for compaction and gc, so we don't have multiple executions at the same time in tests - remove layer_removal_cs - remove waiting for uploads in eviction/gc/compaction - #4938 will keep the file resident until upload completes Co-authored-by: Christian Schwarz --- pageserver/src/deletion_queue/validator.rs | 9 +- pageserver/src/repository.rs | 14 ++ pageserver/src/tenant.rs | 12 +- pageserver/src/tenant/mgr.rs | 33 ++++- .../src/tenant/remote_timeline_client.rs | 82 ++++++++++-- pageserver/src/tenant/storage_layer/layer.rs | 23 ++++ pageserver/src/tenant/timeline.rs | 126 ++++++------------ pageserver/src/tenant/timeline/delete.rs | 29 ++-- .../src/tenant/timeline/eviction_task.rs | 1 - .../src/tenant/timeline/layer_manager.rs | 19 +-- pageserver/src/tenant/upload_queue.rs | 25 +++- s3_scrubber/src/checks.rs | 15 +-- test_runner/fixtures/pageserver/http.py | 15 ++- test_runner/regress/test_remote_storage.py | 124 ++++++++--------- 14 files changed, 321 insertions(+), 206 deletions(-) diff --git a/pageserver/src/deletion_queue/validator.rs b/pageserver/src/deletion_queue/validator.rs index 72bdbdefd6..bf06c78e67 100644 --- a/pageserver/src/deletion_queue/validator.rs +++ b/pageserver/src/deletion_queue/validator.rs @@ -178,7 +178,14 @@ where .unwrap_or(false); if valid && *validated_generation == tenant_lsn_state.generation { - for (_timeline_id, pending_lsn) in tenant_lsn_state.timelines { + for (timeline_id, pending_lsn) in tenant_lsn_state.timelines { + tracing::debug!( + %tenant_id, + %timeline_id, + current = %pending_lsn.result_slot.load(), + projected = %pending_lsn.projected, + "advancing validated remote_consistent_lsn", + ); pending_lsn.result_slot.store(pending_lsn.projected); } } else { diff --git a/pageserver/src/repository.rs b/pageserver/src/repository.rs index 24f47df92e..97d731bf49 100644 --- a/pageserver/src/repository.rs +++ b/pageserver/src/repository.rs @@ -138,6 +138,14 @@ pub struct GcResult { #[serde(serialize_with = "serialize_duration_as_millis")] pub elapsed: Duration, + + /// The layers which were garbage collected. + /// + /// Used in `/v1/tenant/:tenant_id/timeline/:timeline_id/do_gc` to wait for the layers to be + /// dropped in tests. + #[cfg(feature = "testing")] + #[serde(skip)] + pub(crate) doomed_layers: Vec, } // helper function for `GcResult`, serializing a `Duration` as an integer number of milliseconds @@ -158,5 +166,11 @@ impl AddAssign for GcResult { self.layers_removed += other.layers_removed; self.elapsed += other.elapsed; + + #[cfg(feature = "testing")] + { + let mut other = other; + self.doomed_layers.append(&mut other.doomed_layers); + } } } diff --git a/pageserver/src/tenant.rs b/pageserver/src/tenant.rs index 0260905bd2..d75f61d8b3 100644 --- a/pageserver/src/tenant.rs +++ b/pageserver/src/tenant.rs @@ -2638,14 +2638,12 @@ impl Tenant { // Perform GC for each timeline. // - // Note that we don't hold the GC lock here because we don't want - // to delay the branch creation task, which requires the GC lock. - // A timeline GC iteration can be slow because it may need to wait for - // compaction (both require `layer_removal_cs` lock), - // but the GC iteration can run concurrently with branch creation. + // Note that we don't hold the `Tenant::gc_cs` lock here because we don't want to delay the + // branch creation task, which requires the GC lock. A GC iteration can run concurrently + // with branch creation. // - // See comments in [`Tenant::branch_timeline`] for more information - // about why branch creation task can run concurrently with timeline's GC iteration. + // See comments in [`Tenant::branch_timeline`] for more information about why branch + // creation task can run concurrently with timeline's GC iteration. for timeline in gc_timelines { if task_mgr::is_shutdown_requested() || cancel.is_cancelled() { // We were requested to shut down. Stop and return with the progress we diff --git a/pageserver/src/tenant/mgr.rs b/pageserver/src/tenant/mgr.rs index 3ff7425bc2..5988dcd45f 100644 --- a/pageserver/src/tenant/mgr.rs +++ b/pageserver/src/tenant/mgr.rs @@ -792,8 +792,6 @@ pub(crate) async fn set_new_tenant_config( impl TenantManager { /// Gets the attached tenant from the in-memory data, erroring if it's absent, in secondary mode, or is not fitting to the query. /// `active_only = true` allows to query only tenants that are ready for operations, erroring on other kinds of tenants. - /// - /// This method is cancel-safe. pub(crate) fn get_attached_tenant_shard( &self, tenant_shard_id: TenantShardId, @@ -1961,6 +1959,7 @@ pub(crate) async fn immediate_gc( // Run in task_mgr to avoid race with tenant_detach operation let ctx = ctx.detached_child(TaskKind::GarbageCollector, DownloadBehavior::Download); let (task_done, wait_task_done) = tokio::sync::oneshot::channel(); + // TODO: spawning is redundant now, need to hold the gate task_mgr::spawn( &tokio::runtime::Handle::current(), TaskKind::GarbageCollector, @@ -1970,12 +1969,40 @@ pub(crate) async fn immediate_gc( false, async move { fail::fail_point!("immediate_gc_task_pre"); - let result = tenant + + #[allow(unused_mut)] + let mut result = tenant .gc_iteration(Some(timeline_id), gc_horizon, pitr, &cancel, &ctx) .instrument(info_span!("manual_gc", %tenant_id, %timeline_id)) .await; // FIXME: `gc_iteration` can return an error for multiple reasons; we should handle it // better once the types support it. + + #[cfg(feature = "testing")] + { + if let Ok(result) = result.as_mut() { + // why not futures unordered? it seems it needs very much the same task structure + // but would only run on single task. + let mut js = tokio::task::JoinSet::new(); + for layer in std::mem::take(&mut result.doomed_layers) { + js.spawn(layer.wait_drop()); + } + tracing::info!(total = js.len(), "starting to wait for the gc'd layers to be dropped"); + while let Some(res) = js.join_next().await { + res.expect("wait_drop should not panic"); + } + } + + let timeline = tenant.get_timeline(timeline_id, false).ok(); + let rtc = timeline.as_ref().and_then(|x| x.remote_client.as_ref()); + + if let Some(rtc) = rtc { + // layer drops schedule actions on remote timeline client to actually do the + // deletions; don't care just exit fast about the shutdown error + drop(rtc.wait_completion().await); + } + } + match task_done.send(result) { Ok(_) => (), Err(result) => error!("failed to send gc result: {result:?}"), diff --git a/pageserver/src/tenant/remote_timeline_client.rs b/pageserver/src/tenant/remote_timeline_client.rs index 962a0fa795..01c60ca8f8 100644 --- a/pageserver/src/tenant/remote_timeline_client.rs +++ b/pageserver/src/tenant/remote_timeline_client.rs @@ -827,10 +827,8 @@ impl RemoteTimelineClient { Ok(()) } - /// /// Wait for all previously scheduled uploads/deletions to complete - /// - pub async fn wait_completion(self: &Arc) -> anyhow::Result<()> { + pub(crate) async fn wait_completion(self: &Arc) -> anyhow::Result<()> { let mut receiver = { let mut guard = self.upload_queue.lock().unwrap(); let upload_queue = guard.initialized_mut()?; @@ -840,6 +838,7 @@ impl RemoteTimelineClient { if receiver.changed().await.is_err() { anyhow::bail!("wait_completion aborted because upload queue was stopped"); } + Ok(()) } @@ -866,6 +865,56 @@ impl RemoteTimelineClient { receiver } + /// Wait for all previously scheduled operations to complete, and then stop. + /// + /// Not cancellation safe + pub(crate) async fn shutdown(self: &Arc) -> Result<(), StopError> { + // On cancellation the queue is left in ackward state of refusing new operations but + // proper stop is yet to be called. On cancel the original or some later task must call + // `stop` or `shutdown`. + let sg = scopeguard::guard((), |_| { + tracing::error!("RemoteTimelineClient::shutdown was cancelled; this should not happen, do not make this into an allowed_error") + }); + + let fut = { + let mut guard = self.upload_queue.lock().unwrap(); + let upload_queue = match &mut *guard { + UploadQueue::Stopped(_) => return Ok(()), + UploadQueue::Uninitialized => return Err(StopError::QueueUninitialized), + UploadQueue::Initialized(ref mut init) => init, + }; + + // if the queue is already stuck due to a shutdown operation which was cancelled, then + // just don't add more of these as they would never complete. + // + // TODO: if launch_queued_tasks were to be refactored to accept a &mut UploadQueue + // in every place we would not have to jump through this hoop, and this method could be + // made cancellable. + if !upload_queue.shutting_down { + upload_queue.shutting_down = true; + upload_queue.queued_operations.push_back(UploadOp::Shutdown); + // this operation is not counted similar to Barrier + + self.launch_queued_tasks(upload_queue); + } + + upload_queue.shutdown_ready.clone().acquire_owned() + }; + + let res = fut.await; + + scopeguard::ScopeGuard::into_inner(sg); + + match res { + Ok(_permit) => unreachable!("shutdown_ready should not have been added permits"), + Err(_closed) => { + // expected + } + } + + self.stop() + } + /// Set the deleted_at field in the remote index file. /// /// This fails if the upload queue has not been `stop()`ed. @@ -1103,7 +1152,9 @@ impl RemoteTimelineClient { upload_queue.num_inprogress_deletions == upload_queue.inprogress_tasks.len() } - UploadOp::Barrier(_) => upload_queue.inprogress_tasks.is_empty(), + UploadOp::Barrier(_) | UploadOp::Shutdown => { + upload_queue.inprogress_tasks.is_empty() + } }; // If we cannot launch this task, don't look any further. @@ -1116,6 +1167,13 @@ impl RemoteTimelineClient { break; } + if let UploadOp::Shutdown = next_op { + // leave the op in the queue but do not start more tasks; it will be dropped when + // the stop is called. + upload_queue.shutdown_ready.close(); + break; + } + // We can launch this task. Remove it from the queue first. let next_op = upload_queue.queued_operations.pop_front().unwrap(); @@ -1136,6 +1194,7 @@ impl RemoteTimelineClient { sender.send_replace(()); continue; } + UploadOp::Shutdown => unreachable!("shutdown is intentionally never popped off"), }; // Assign unique ID to this task @@ -1274,10 +1333,10 @@ impl RemoteTimelineClient { .await .map_err(|e| anyhow::anyhow!(e)) } - UploadOp::Barrier(_) => { + unexpected @ UploadOp::Barrier(_) | unexpected @ UploadOp::Shutdown => { // unreachable. Barrier operations are handled synchronously in // launch_queued_tasks - warn!("unexpected Barrier operation in perform_upload_task"); + warn!("unexpected {unexpected:?} operation in perform_upload_task"); break; } }; @@ -1371,7 +1430,7 @@ impl RemoteTimelineClient { upload_queue.num_inprogress_deletions -= 1; None } - UploadOp::Barrier(_) => unreachable!(), + UploadOp::Barrier(..) | UploadOp::Shutdown => unreachable!(), }; // Launch any queued tasks that were unblocked by this one. @@ -1426,7 +1485,7 @@ impl RemoteTimelineClient { reason: "should we track deletes? positive or negative sign?", }, ), - UploadOp::Barrier(_) => { + UploadOp::Barrier(..) | UploadOp::Shutdown => { // we do not account these return None; } @@ -1452,10 +1511,13 @@ impl RemoteTimelineClient { } /// Close the upload queue for new operations and cancel queued operations. + /// + /// Use [`RemoteTimelineClient::shutdown`] for graceful stop. + /// /// In-progress operations will still be running after this function returns. /// Use `task_mgr::shutdown_tasks(None, Some(self.tenant_id), Some(timeline_id))` /// to wait for them to complete, after calling this function. - pub fn stop(&self) -> Result<(), StopError> { + pub(crate) fn stop(&self) -> Result<(), StopError> { // Whichever *task* for this RemoteTimelineClient grabs the mutex first will transition the queue // into stopped state, thereby dropping all off the queued *ops* which haven't become *tasks* yet. // The other *tasks* will come here and observe an already shut down queue and hence simply wrap up their business. @@ -1493,6 +1555,8 @@ impl RemoteTimelineClient { queued_operations: VecDeque::default(), #[cfg(feature = "testing")] dangling_files: HashMap::default(), + shutting_down: false, + shutdown_ready: Arc::new(tokio::sync::Semaphore::new(0)), }; let upload_queue = std::mem::replace( diff --git a/pageserver/src/tenant/storage_layer/layer.rs b/pageserver/src/tenant/storage_layer/layer.rs index 703fb7db24..c27c3e69ed 100644 --- a/pageserver/src/tenant/storage_layer/layer.rs +++ b/pageserver/src/tenant/storage_layer/layer.rs @@ -326,6 +326,24 @@ impl Layer { Ok(()) } + + /// Waits until this layer has been dropped (and if needed, local garbage collection and remote + /// deletion scheduling has completed). + /// + /// Does not start garbage collection, use [`Self::garbage_collect_on_drop`] for that + /// separatedly. + #[cfg(feature = "testing")] + pub(crate) fn wait_drop(&self) -> impl std::future::Future + 'static { + let mut rx = self.0.status.subscribe(); + + async move { + loop { + if let Err(tokio::sync::broadcast::error::RecvError::Closed) = rx.recv().await { + break; + } + } + } + } } /// The download-ness ([`DownloadedLayer`]) can be either resident or wanted evicted. @@ -475,10 +493,14 @@ impl Drop for LayerInner { let file_size = self.layer_desc().file_size; let timeline = self.timeline.clone(); let meta = self.metadata(); + let status = self.status.clone(); crate::task_mgr::BACKGROUND_RUNTIME.spawn_blocking(move || { let _g = span.entered(); + // carry this until we are finished for [`Layer::wait_drop`] support + let _status = status; + let removed = match std::fs::remove_file(path) { Ok(()) => true, Err(e) if e.kind() == std::io::ErrorKind::NotFound => { @@ -1416,6 +1438,7 @@ impl Default for LayerImplMetrics { ) .unwrap(); + // reminder: this will be pageserver_layer_gcs_count_total with "_total" suffix let gcs = metrics::register_int_counter_vec!( "pageserver_layer_gcs_count", "Garbage collections started and completed in the Layer implementation", diff --git a/pageserver/src/tenant/timeline.rs b/pageserver/src/tenant/timeline.rs index 9e204e1258..a7cf427de5 100644 --- a/pageserver/src/tenant/timeline.rs +++ b/pageserver/src/tenant/timeline.rs @@ -251,14 +251,6 @@ pub struct Timeline { /// to be notified when layer flushing has finished, subscribe to the layer_flush_done channel layer_flush_done_tx: tokio::sync::watch::Sender<(u64, Result<(), FlushLayerError>)>, - /// Layer removal lock. - /// A lock to ensure that no layer of the timeline is removed concurrently by other tasks. - /// This lock is acquired in [`Timeline::gc`] and [`Timeline::compact`]. - /// This is an `Arc` lock because we need an owned - /// lock guard in functions that will be spawned to tokio I/O pool (which requires `'static`). - /// Note that [`DeleteTimelineFlow`] uses `delete_progress` field. - pub(super) layer_removal_cs: Arc>, - // Needed to ensure that we can't create a branch at a point that was already garbage collected pub latest_gc_cutoff_lsn: Rcu, @@ -319,6 +311,24 @@ pub struct Timeline { /// Cancellation token scoped to this timeline: anything doing long-running work relating /// to the timeline should drop out when this token fires. pub(crate) cancel: CancellationToken, + + /// Make sure we only have one running compaction at a time in tests. + /// + /// Must only be taken in two places: + /// - [`Timeline::compact`] (this file) + /// - [`delete::delete_local_layer_files`] + /// + /// Timeline deletion will acquire both compaction and gc locks in whatever order. + compaction_lock: tokio::sync::Mutex<()>, + + /// Make sure we only have one running gc at a time. + /// + /// Must only be taken in two places: + /// - [`Timeline::gc`] (this file) + /// - [`delete::delete_local_layer_files`] + /// + /// Timeline deletion will acquire both compaction and gc locks in whatever order. + gc_lock: tokio::sync::Mutex<()>, } pub struct WalReceiverInfo { @@ -704,6 +714,8 @@ impl Timeline { flags: EnumSet, ctx: &RequestContext, ) -> Result<(), CompactionError> { + let _g = self.compaction_lock.lock().await; + // this wait probably never needs any "long time spent" logging, because we already nag if // compaction task goes over it's period (20s) which is quite often in production. let _permit = match super::tasks::concurrent_background_tasks_rate_limit( @@ -758,7 +770,7 @@ impl Timeline { // Below are functions compact_level0() and create_image_layers() // but they are a bit ad hoc and don't quite work like it's explained // above. Rewrite it. - let layer_removal_cs = Arc::new(self.layer_removal_cs.clone().lock_owned().await); + // Is the timeline being deleted? if self.is_stopping() { trace!("Dropping out of compaction on timeline shutdown"); @@ -799,8 +811,7 @@ impl Timeline { // 3. Compact let timer = self.metrics.compact_time_histo.start_timer(); - self.compact_level0(layer_removal_cs.clone(), target_file_size, ctx) - .await?; + self.compact_level0(target_file_size, ctx).await?; timer.stop_and_record(); if let Some(remote_client) = &self.remote_client { @@ -946,7 +957,7 @@ impl Timeline { // what is problematic is the shutting down of RemoteTimelineClient, because // obviously it does not make sense to stop while we wait for it, but what // about corner cases like s3 suddenly hanging up? - if let Err(e) = client.wait_completion().await { + if let Err(e) = client.shutdown().await { // Non-fatal. Shutdown is infallible. Failures to flush just mean that // we have some extra WAL replay to do next time the timeline starts. warn!("failed to flush to remote storage: {e:#}"); @@ -1201,16 +1212,6 @@ impl Timeline { remote_client: &Arc, layers_to_evict: &[Layer], ) -> anyhow::Result>>> { - // ensure that the layers have finished uploading - // (don't hold the layer_removal_cs while we do it, we're not removing anything yet) - remote_client - .wait_completion() - .await - .context("wait for layer upload ops to complete")?; - - // now lock out layer removal (compaction, gc, timeline deletion) - let _layer_removal_guard = self.layer_removal_cs.lock().await; - { // to avoid racing with detach and delete_timeline let state = self.current_state(); @@ -1421,7 +1422,6 @@ impl Timeline { layer_flush_done_tx, write_lock: tokio::sync::Mutex::new(()), - layer_removal_cs: Default::default(), gc_info: std::sync::RwLock::new(GcInfo { retain_lsns: Vec::new(), @@ -1460,6 +1460,9 @@ impl Timeline { initial_logical_size_attempt: Mutex::new(initial_logical_size_attempt), cancel, gate: Gate::new(format!("Timeline<{tenant_id}/{timeline_id}>")), + + compaction_lock: tokio::sync::Mutex::default(), + gc_lock: tokio::sync::Mutex::default(), }; result.repartition_threshold = result.get_checkpoint_distance() / REPARTITION_FREQ_IN_CHECKPOINT_DISTANCE; @@ -3150,13 +3153,8 @@ impl TryFrom for CompactLevel0Phase1Stats { impl Timeline { /// Level0 files first phase of compaction, explained in the [`Self::compact`] comment. - /// - /// This method takes the `_layer_removal_cs` guard to highlight it required downloads are - /// returned as an error. If the `layer_removal_cs` boundary is changed not to be taken in the - /// start of level0 files compaction, the on-demand download should be revisited as well. async fn compact_level0_phase1( self: &Arc, - _layer_removal_cs: Arc>, guard: tokio::sync::OwnedRwLockReadGuard, mut stats: CompactLevel0Phase1StatsBuilder, target_file_size: u64, @@ -3243,8 +3241,6 @@ impl Timeline { let mut prev_lsn_end = first_level0_delta.layer_desc().lsn_range.end; let mut deltas_to_compact = Vec::with_capacity(level0_deltas.len()); - // FIXME: downloading while holding layer_removal_cs is not great, but we will remove that - // soon deltas_to_compact.push(first_level0_delta.download_and_keep_resident().await?); for l in level0_deltas_iter { let lsn_range = &l.layer_desc().lsn_range; @@ -3594,7 +3590,6 @@ impl Timeline { /// async fn compact_level0( self: &Arc, - layer_removal_cs: Arc>, target_file_size: u64, ctx: &RequestContext, ) -> Result<(), CompactionError> { @@ -3616,16 +3611,9 @@ impl Timeline { let now = tokio::time::Instant::now(); stats.read_lock_acquisition_micros = DurationRecorder::Recorded(RecordedDuration(now - begin), now); - let layer_removal_cs = layer_removal_cs.clone(); - self.compact_level0_phase1( - layer_removal_cs, - phase1_layers_locked, - stats, - target_file_size, - &ctx, - ) - .instrument(phase1_span) - .await? + self.compact_level0_phase1(phase1_layers_locked, stats, target_file_size, &ctx) + .instrument(phase1_span) + .await? }; if new_layers.is_empty() && deltas_to_compact.is_empty() { @@ -3633,17 +3621,6 @@ impl Timeline { return Ok(()); } - // Before deleting any layers, we need to wait for their upload ops to finish. - // See remote_timeline_client module level comment on consistency. - // Do it here because we don't want to hold self.layers.write() while waiting. - if let Some(remote_client) = &self.remote_client { - debug!("waiting for upload ops to complete"); - remote_client - .wait_completion() - .await - .context("wait for layer upload ops to complete")?; - } - let mut guard = self.layers.write().await; let mut duplicated_layers = HashSet::new(); @@ -3675,12 +3652,7 @@ impl Timeline { }; // deletion will happen later, the layer file manager calls garbage_collect_on_drop - guard.finish_compact_l0( - &layer_removal_cs, - &remove_layers, - &insert_layers, - &self.metrics, - ); + guard.finish_compact_l0(&remove_layers, &insert_layers, &self.metrics); if let Some(remote_client) = self.remote_client.as_ref() { remote_client.schedule_compaction_update(&remove_layers, &new_layers)?; @@ -3791,19 +3763,17 @@ impl Timeline { Ok(()) } - /// /// Garbage collect layer files on a timeline that are no longer needed. /// /// Currently, we don't make any attempt at removing unneeded page versions /// within a layer file. We can only remove the whole file if it's fully /// obsolete. - /// pub(super) async fn gc(&self) -> anyhow::Result { + let _g = self.gc_lock.lock().await; let timer = self.metrics.garbage_collect_histo.start_timer(); fail_point!("before-timeline-gc"); - let layer_removal_cs = Arc::new(self.layer_removal_cs.clone().lock_owned().await); // Is the timeline being deleted? if self.is_stopping() { anyhow::bail!("timeline is Stopping"); @@ -3821,13 +3791,7 @@ impl Timeline { let new_gc_cutoff = Lsn::min(horizon_cutoff, pitr_cutoff); let res = self - .gc_timeline( - layer_removal_cs.clone(), - horizon_cutoff, - pitr_cutoff, - retain_lsns, - new_gc_cutoff, - ) + .gc_timeline(horizon_cutoff, pitr_cutoff, retain_lsns, new_gc_cutoff) .instrument( info_span!("gc_timeline", timeline_id = %self.timeline_id, cutoff = %new_gc_cutoff), ) @@ -3841,7 +3805,6 @@ impl Timeline { async fn gc_timeline( &self, - layer_removal_cs: Arc>, horizon_cutoff: Lsn, pitr_cutoff: Lsn, retain_lsns: Vec, @@ -3879,17 +3842,6 @@ impl Timeline { debug!("retain_lsns: {:?}", retain_lsns); - // Before deleting any layers, we need to wait for their upload ops to finish. - // See storage_sync module level comment on consistency. - // Do it here because we don't want to hold self.layers.write() while waiting. - if let Some(remote_client) = &self.remote_client { - debug!("waiting for upload ops to complete"); - remote_client - .wait_completion() - .await - .context("wait for layer upload ops to complete")?; - } - let mut layers_to_remove = Vec::new(); let mut wanted_image_layers = KeySpaceRandomAccum::default(); @@ -4005,6 +3957,11 @@ impl Timeline { // // This does not in fact have any effect as we no longer consider local metadata unless // running without remote storage. + // + // This unconditionally schedules also an index_part.json update, even though, we will + // be doing one a bit later with the unlinked gc'd layers. + // + // TODO: remove when implementing . self.update_metadata_file(self.disk_consistent_lsn.load(), None) .await?; @@ -4019,11 +3976,16 @@ impl Timeline { remote_client.schedule_gc_update(&gc_layers)?; } - guard.finish_gc_timeline(&layer_removal_cs, gc_layers); + guard.finish_gc_timeline(&gc_layers); if result.layers_removed != 0 { fail_point!("after-timeline-gc-removed-layers"); } + + #[cfg(feature = "testing")] + { + result.doomed_layers = gc_layers; + } } info!( @@ -4035,9 +3997,7 @@ impl Timeline { Ok(result) } - /// /// Reconstruct a value, using the given base image and WAL records in 'data'. - /// async fn reconstruct_value( &self, key: Key, diff --git a/pageserver/src/tenant/timeline/delete.rs b/pageserver/src/tenant/timeline/delete.rs index 429b3347eb..fefeafb7d3 100644 --- a/pageserver/src/tenant/timeline/delete.rs +++ b/pageserver/src/tenant/timeline/delete.rs @@ -110,11 +110,11 @@ async fn set_deleted_in_remote_index(timeline: &Timeline) -> Result<(), DeleteTi Ok(()) } -/// Grab the layer_removal_cs lock, and actually perform the deletion. +/// Grab the compaction and gc locks, and actually perform the deletion. /// -/// This lock prevents prevents GC or compaction from running at the same time. -/// The GC task doesn't register itself with the timeline it's operating on, -/// so it might still be running even though we called `shutdown_tasks`. +/// The locks prevent GC or compaction from running at the same time. The background tasks do not +/// register themselves with the timeline it's operating on, so it might still be running even +/// though we called `shutdown_tasks`. /// /// Note that there are still other race conditions between /// GC, compaction and timeline deletion. See @@ -122,14 +122,19 @@ async fn set_deleted_in_remote_index(timeline: &Timeline) -> Result<(), DeleteTi /// /// No timeout here, GC & Compaction should be responsive to the /// `TimelineState::Stopping` change. -async fn delete_local_layer_files( +// pub(super): documentation link +pub(super) async fn delete_local_layer_files( conf: &PageServerConf, tenant_id: TenantId, timeline: &Timeline, ) -> anyhow::Result<()> { - info!("waiting for layer_removal_cs.lock()"); - let layer_removal_guard = timeline.layer_removal_cs.lock().await; - info!("got layer_removal_cs.lock(), deleting layer files"); + let guards = async { tokio::join!(timeline.gc_lock.lock(), timeline.compaction_lock.lock()) }; + let guards = crate::timed( + guards, + "acquire gc and compaction locks", + std::time::Duration::from_secs(5), + ) + .await; // NB: storage_sync upload tasks that reference these layers have been cancelled // by the caller. @@ -150,8 +155,8 @@ async fn delete_local_layer_files( // because of a previous failure/cancellation at/after // failpoint timeline-delete-after-rm. // - // It can also happen if we race with tenant detach, because, - // it doesn't grab the layer_removal_cs lock. + // ErrorKind::NotFound can also happen if we race with tenant detach, because, + // no locks are shared. // // For now, log and continue. // warn! level is technically not appropriate for the @@ -219,8 +224,8 @@ async fn delete_local_layer_files( .with_context(|| format!("Failed to remove: {}", entry.path().display()))?; } - info!("finished deleting layer files, releasing layer_removal_cs.lock()"); - drop(layer_removal_guard); + info!("finished deleting layer files, releasing locks"); + drop(guards); fail::fail_point!("timeline-delete-after-rm", |_| { Err(anyhow::anyhow!("failpoint: timeline-delete-after-rm"))? diff --git a/pageserver/src/tenant/timeline/eviction_task.rs b/pageserver/src/tenant/timeline/eviction_task.rs index f4a4c26c06..2d0f1c609b 100644 --- a/pageserver/src/tenant/timeline/eviction_task.rs +++ b/pageserver/src/tenant/timeline/eviction_task.rs @@ -296,7 +296,6 @@ impl Timeline { stats.evicted += 1; } Some(Err(EvictionError::NotFound | EvictionError::Downloaded)) => { - // compaction/gc removed the file while we were waiting on layer_removal_cs stats.not_evictable += 1; } } diff --git a/pageserver/src/tenant/timeline/layer_manager.rs b/pageserver/src/tenant/timeline/layer_manager.rs index e4991e0865..7e1aa279d3 100644 --- a/pageserver/src/tenant/timeline/layer_manager.rs +++ b/pageserver/src/tenant/timeline/layer_manager.rs @@ -190,7 +190,6 @@ impl LayerManager { /// Called when compaction is completed. pub(crate) fn finish_compact_l0( &mut self, - layer_removal_cs: &Arc>, compact_from: &[Layer], compact_to: &[ResidentLayer], metrics: &TimelineMetrics, @@ -201,25 +200,16 @@ impl LayerManager { metrics.record_new_file_metrics(l.layer_desc().file_size); } for l in compact_from { - Self::delete_historic_layer(layer_removal_cs, l, &mut updates, &mut self.layer_fmgr); + Self::delete_historic_layer(l, &mut updates, &mut self.layer_fmgr); } updates.flush(); } - /// Called when garbage collect the timeline. Returns a guard that will apply the updates to the layer map. - pub(crate) fn finish_gc_timeline( - &mut self, - layer_removal_cs: &Arc>, - gc_layers: Vec, - ) { + /// Called when garbage collect has selected the layers to be removed. + pub(crate) fn finish_gc_timeline(&mut self, gc_layers: &[Layer]) { let mut updates = self.layer_map.batch_update(); for doomed_layer in gc_layers { - Self::delete_historic_layer( - layer_removal_cs, - &doomed_layer, - &mut updates, - &mut self.layer_fmgr, - ); + Self::delete_historic_layer(doomed_layer, &mut updates, &mut self.layer_fmgr); } updates.flush() } @@ -238,7 +228,6 @@ impl LayerManager { /// Remote storage is not affected by this operation. fn delete_historic_layer( // we cannot remove layers otherwise, since gc and compaction will race - _layer_removal_cs: &Arc>, layer: &Layer, updates: &mut BatchedUpdates<'_>, mapping: &mut LayerFileManager, diff --git a/pageserver/src/tenant/upload_queue.rs b/pageserver/src/tenant/upload_queue.rs index 5eaed1d5ca..32f14f40c5 100644 --- a/pageserver/src/tenant/upload_queue.rs +++ b/pageserver/src/tenant/upload_queue.rs @@ -90,6 +90,14 @@ pub(crate) struct UploadQueueInitialized { /// bug causing leaks, then it's better to not leave this enabled for production builds. #[cfg(feature = "testing")] pub(crate) dangling_files: HashMap, + + /// Set to true when we have inserted the `UploadOp::Shutdown` into the `inprogress_tasks`. + pub(crate) shutting_down: bool, + + /// Permitless semaphore on which any number of `RemoteTimelineClient::shutdown` futures can + /// wait on until one of them stops the queue. The semaphore is closed when + /// `RemoteTimelineClient::launch_queued_tasks` encounters `UploadOp::Shutdown`. + pub(crate) shutdown_ready: Arc, } impl UploadQueueInitialized { @@ -148,6 +156,8 @@ impl UploadQueue { queued_operations: VecDeque::new(), #[cfg(feature = "testing")] dangling_files: HashMap::new(), + shutting_down: false, + shutdown_ready: Arc::new(tokio::sync::Semaphore::new(0)), }; *self = UploadQueue::Initialized(state); @@ -195,6 +205,8 @@ impl UploadQueue { queued_operations: VecDeque::new(), #[cfg(feature = "testing")] dangling_files: HashMap::new(), + shutting_down: false, + shutdown_ready: Arc::new(tokio::sync::Semaphore::new(0)), }; *self = UploadQueue::Initialized(state); @@ -206,7 +218,13 @@ impl UploadQueue { UploadQueue::Uninitialized | UploadQueue::Stopped(_) => { anyhow::bail!("queue is in state {}", self.as_str()) } - UploadQueue::Initialized(x) => Ok(x), + UploadQueue::Initialized(x) => { + if !x.shutting_down { + Ok(x) + } else { + anyhow::bail!("queue is shutting down") + } + } } } @@ -250,6 +268,10 @@ pub(crate) enum UploadOp { /// Barrier. When the barrier operation is reached, Barrier(tokio::sync::watch::Sender<()>), + + /// Shutdown; upon encountering this operation no new operations will be spawned, otherwise + /// this is the same as a Barrier. + Shutdown, } impl std::fmt::Display for UploadOp { @@ -271,6 +293,7 @@ impl std::fmt::Display for UploadOp { write!(f, "Delete({} layers)", delete.layers.len()) } UploadOp::Barrier(_) => write!(f, "Barrier"), + UploadOp::Shutdown => write!(f, "Shutdown"), } } } diff --git a/s3_scrubber/src/checks.rs b/s3_scrubber/src/checks.rs index 64702fca3d..0686225d1b 100644 --- a/s3_scrubber/src/checks.rs +++ b/s3_scrubber/src/checks.rs @@ -94,11 +94,10 @@ pub(crate) async fn branch_cleanup_and_check_errors( != index_part.get_disk_consistent_lsn() { result.errors.push(format!( - "Mismatching disk_consistent_lsn in TimelineMetadata ({}) and in the index_part ({})", - index_part.metadata.disk_consistent_lsn(), - index_part.get_disk_consistent_lsn(), - - )) + "Mismatching disk_consistent_lsn in TimelineMetadata ({}) and in the index_part ({})", + index_part.metadata.disk_consistent_lsn(), + index_part.get_disk_consistent_lsn(), + )) } if index_part.layer_metadata.is_empty() { @@ -109,8 +108,8 @@ pub(crate) async fn branch_cleanup_and_check_errors( for (layer, metadata) in index_part.layer_metadata { if metadata.file_size == 0 { result.errors.push(format!( - "index_part.json contains a layer {} that has 0 size in its layer metadata", layer.file_name(), - )) + "index_part.json contains a layer {} that has 0 size in its layer metadata", layer.file_name(), + )) } let layer_map_key = (layer, metadata.generation); @@ -136,7 +135,7 @@ pub(crate) async fn branch_cleanup_and_check_errors( // a new generation that didn't upload an index yet. // // Even so, a layer that is not referenced by the index could just - // be something enqueued for deletion, so while this check is valid + // be something enqueued for deletion, so while this check is valid // for indicating that a layer is garbage, it is not an indicator // of a problem. gen < &index_part_generation) diff --git a/test_runner/fixtures/pageserver/http.py b/test_runner/fixtures/pageserver/http.py index 2f1d68b92c..76edf45496 100644 --- a/test_runner/fixtures/pageserver/http.py +++ b/test_runner/fixtures/pageserver/http.py @@ -4,7 +4,7 @@ import json import time from collections import defaultdict from dataclasses import dataclass -from typing import Any, Dict, List, Optional, Tuple +from typing import Any, Dict, List, Optional, Set, Tuple import requests from requests.adapters import HTTPAdapter @@ -100,6 +100,15 @@ class LayerMapInfo: counts[hist_layer.kind] += 1 return counts + def delta_layers(self) -> List[HistoricLayerInfo]: + return [x for x in self.historic_layers if x.kind == "Delta"] + + def image_layers(self) -> List[HistoricLayerInfo]: + return [x for x in self.historic_layers if x.kind == "Image"] + + def historic_by_name(self) -> Set[str]: + return set(x.layer_file_name for x in self.historic_layers) + @dataclass class TenantConfig: @@ -416,6 +425,10 @@ class PageserverHttpClient(requests.Session): def timeline_gc( self, tenant_id: TenantId, timeline_id: TimelineId, gc_horizon: Optional[int] ) -> dict[str, Any]: + """ + Unlike most handlers, this will wait for the layers to be actually + complete registering themselves to the deletion queue. + """ self.is_testing_enabled_or_skip() log.info( diff --git a/test_runner/regress/test_remote_storage.py b/test_runner/regress/test_remote_storage.py index 31bc97703e..4da8dd957d 100644 --- a/test_runner/regress/test_remote_storage.py +++ b/test_runner/regress/test_remote_storage.py @@ -763,9 +763,7 @@ def test_compaction_waits_for_upload( neon_env_builder: NeonEnvBuilder, ): """ - Compaction waits for outstanding uploads to complete, so that it avoids deleting layers - files that have not yet been uploaded. This test forces a race between upload and - compaction. + This test forces a race between upload and compaction. """ neon_env_builder.enable_pageserver_remote_storage(RemoteStorageKind.LOCAL_FS) @@ -784,6 +782,16 @@ def test_compaction_waits_for_upload( timeline_id = env.initial_timeline client = env.pageserver.http_client() + layers_at_creation = client.layer_map_info(tenant_id, timeline_id) + deltas_at_creation = len(layers_at_creation.delta_layers()) + assert ( + deltas_at_creation == 1 + ), "are you fixing #5863? make sure we end up with 2 deltas at the end of endpoint lifecycle" + + # Make new layer uploads get stuck. + # Note that timeline creation waits for the initial layers to reach remote storage. + # So at this point, the `layers_at_creation` are in remote storage. + client.configure_failpoints(("before-upload-layer-pausable", "pause")) with env.endpoints.create_start("main", tenant_id=tenant_id) as endpoint: # Build two tables with some data inside @@ -791,85 +799,71 @@ def test_compaction_waits_for_upload( wait_for_last_flush_lsn(env, endpoint, tenant_id, timeline_id) client.timeline_checkpoint(tenant_id, timeline_id) + deltas_at_first = len(client.layer_map_info(tenant_id, timeline_id).delta_layers()) + assert ( + deltas_at_first == 2 + ), "are you fixing #5863? just add one more checkpoint after 'CREATE TABLE bar ...' statement." endpoint.safe_psql("CREATE TABLE bar AS SELECT x FROM generate_series(1, 10000) g(x)") - wait_for_last_flush_lsn(env, endpoint, tenant_id, timeline_id) - - # Now make the flushing hang and update one small piece of data - client.configure_failpoints(("before-upload-layer-pausable", "pause")) - endpoint.safe_psql("UPDATE foo SET x = 0 WHERE x = 1") - wait_for_last_flush_lsn(env, endpoint, tenant_id, timeline_id) - checkpoint_result: queue.Queue[Optional[PageserverApiException]] = queue.Queue() - compact_result: queue.Queue[Optional[PageserverApiException]] = queue.Queue() - compact_barrier = threading.Barrier(2) + layers_before_last_checkpoint = client.layer_map_info(tenant_id, timeline_id).historic_by_name() + upload_stuck_layers = layers_before_last_checkpoint - layers_at_creation.historic_by_name() - def checkpoint_in_background(): - try: - log.info("Checkpoint starting") - client.timeline_checkpoint(tenant_id, timeline_id) - log.info("Checkpoint complete") - checkpoint_result.put(None) - except PageserverApiException as e: - log.info("Checkpoint errored: {e}") - checkpoint_result.put(e) + assert len(upload_stuck_layers) > 0 - def compact_in_background(): - compact_barrier.wait() - try: - log.info("Compaction starting") - client.timeline_compact(tenant_id, timeline_id) - log.info("Compaction complete") - compact_result.put(None) - except PageserverApiException as e: - log.info("Compaction errored: {e}") - compact_result.put(e) + for name in upload_stuck_layers: + path = env.pageserver.timeline_dir(tenant_id, timeline_id) / name + assert path.exists(), "while uploads are stuck the layers should be present on disk" - checkpoint_thread = threading.Thread(target=checkpoint_in_background) - checkpoint_thread.start() + # now this will do the L0 => L1 compaction and want to remove + # upload_stuck_layers and the original initdb L0 + client.timeline_checkpoint(tenant_id, timeline_id) - compact_thread = threading.Thread(target=compact_in_background) - compact_thread.start() + # as uploads are paused, the the upload_stuck_layers should still be with us + for name in upload_stuck_layers: + path = env.pageserver.timeline_dir(tenant_id, timeline_id) / name + assert path.exists(), "uploads are stuck still over compaction" - try: - # Start the checkpoint, see that it blocks - log.info("Waiting to see checkpoint hang...") - time.sleep(5) - assert checkpoint_result.empty() + compacted_layers = client.layer_map_info(tenant_id, timeline_id).historic_by_name() + overlap = compacted_layers.intersection(upload_stuck_layers) + assert len(overlap) == 0, "none of the L0's should remain after L0 => L1 compaction" + assert ( + len(compacted_layers) == 1 + ), "there should be one L1 after L0 => L1 compaction (without #5863 being fixed)" - # Start the compaction, see that it finds work to do but blocks - compact_barrier.wait() - log.info("Waiting to see compaction hang...") - time.sleep(5) - assert compact_result.empty() + def layer_deletes_completed(): + m = client.get_metric_value("pageserver_layer_gcs_count_total", {"state": "completed"}) + if m is None: + return 0 + return int(m) - # This is logged once compaction is started, but before we wait for operations to complete - assert env.pageserver.log_contains("compact_level0_phase1 stats available.") + # if initdb created an initial delta layer, it might already be gc'd + # because it was uploaded before the failpoint was enabled. however, the + # deletion is not guaranteed to be complete. + assert layer_deletes_completed() <= 1 - # Once we unblock uploads the compaction should complete successfully - log.info("Disabling failpoint") - client.configure_failpoints(("before-upload-layer-pausable", "off")) - log.info("Awaiting compaction result") - assert compact_result.get(timeout=10) is None - log.info("Awaiting checkpoint result") - assert checkpoint_result.get(timeout=10) is None - - except Exception: - # Log the actual failure's backtrace here, before we proceed to join threads - log.exception("Failure, cleaning up...") - raise - finally: - compact_barrier.abort() - - checkpoint_thread.join() - compact_thread.join() + client.configure_failpoints(("before-upload-layer-pausable", "off")) # Ensure that this actually terminates wait_upload_queue_empty(client, tenant_id, timeline_id) - # We should not have hit the error handling path in uploads where the remote file is gone + def until_layer_deletes_completed(): + deletes = layer_deletes_completed() + log.info(f"layer_deletes: {deletes}") + # ensure that initdb delta layer AND the previously stuck are now deleted + assert deletes >= len(upload_stuck_layers) + 1 + + wait_until(10, 1, until_layer_deletes_completed) + + for name in upload_stuck_layers: + path = env.pageserver.timeline_dir(tenant_id, timeline_id) / name + assert ( + not path.exists() + ), "l0 should now be removed because of L0 => L1 compaction and completed uploads" + + # We should not have hit the error handling path in uploads where a uploaded file is gone assert not env.pageserver.log_contains( "File to upload doesn't exist. Likely the file has been deleted and an upload is not required any more." ) From 5345c1c21b2e3f2f9151097d36ff785b9c2d1e3b Mon Sep 17 00:00:00 2001 From: bojanserafimov Date: Tue, 28 Nov 2023 12:31:42 -0500 Subject: [PATCH 36/38] perf readme fix (#5956) --- test_runner/performance/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_runner/performance/README.md b/test_runner/performance/README.md index d113e9e637..7ad65821d4 100644 --- a/test_runner/performance/README.md +++ b/test_runner/performance/README.md @@ -14,7 +14,7 @@ Some handy pytest flags for local development: - `-s` shows test output - `-k` selects a test to run - `--timeout=0` disables our default timeout of 300s (see `setup.cfg`) -- `--cleanup-test-ouput` cleans up after each test +- `--preserve-database-files` to skip cleanup # What performance tests do we have and how we run them From 12dd6b61dfe8fc51206ee2d3515fed37395d25be Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Nov 2023 17:47:15 +0000 Subject: [PATCH 37/38] build(deps): bump aiohttp from 3.8.6 to 3.9.0 (#5946) --- poetry.lock | 174 +++++++++++++++++++++++-------------------------- pyproject.toml | 2 +- 2 files changed, 82 insertions(+), 94 deletions(-) diff --git a/poetry.lock b/poetry.lock index 58ab4e70f2..f8838b92df 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2,111 +2,99 @@ [[package]] name = "aiohttp" -version = "3.8.6" +version = "3.9.0" description = "Async http client/server framework (asyncio)" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "aiohttp-3.8.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:41d55fc043954cddbbd82503d9cc3f4814a40bcef30b3569bc7b5e34130718c1"}, - {file = "aiohttp-3.8.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1d84166673694841d8953f0a8d0c90e1087739d24632fe86b1a08819168b4566"}, - {file = "aiohttp-3.8.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:253bf92b744b3170eb4c4ca2fa58f9c4b87aeb1df42f71d4e78815e6e8b73c9e"}, - {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3fd194939b1f764d6bb05490987bfe104287bbf51b8d862261ccf66f48fb4096"}, - {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c5f938d199a6fdbdc10bbb9447496561c3a9a565b43be564648d81e1102ac22"}, - {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2817b2f66ca82ee699acd90e05c95e79bbf1dc986abb62b61ec8aaf851e81c93"}, - {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fa375b3d34e71ccccf172cab401cd94a72de7a8cc01847a7b3386204093bb47"}, - {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9de50a199b7710fa2904be5a4a9b51af587ab24c8e540a7243ab737b45844543"}, - {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e1d8cb0b56b3587c5c01de3bf2f600f186da7e7b5f7353d1bf26a8ddca57f965"}, - {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8e31e9db1bee8b4f407b77fd2507337a0a80665ad7b6c749d08df595d88f1cf5"}, - {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:7bc88fc494b1f0311d67f29fee6fd636606f4697e8cc793a2d912ac5b19aa38d"}, - {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ec00c3305788e04bf6d29d42e504560e159ccaf0be30c09203b468a6c1ccd3b2"}, - {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ad1407db8f2f49329729564f71685557157bfa42b48f4b93e53721a16eb813ed"}, - {file = "aiohttp-3.8.6-cp310-cp310-win32.whl", hash = "sha256:ccc360e87341ad47c777f5723f68adbb52b37ab450c8bc3ca9ca1f3e849e5fe2"}, - {file = "aiohttp-3.8.6-cp310-cp310-win_amd64.whl", hash = "sha256:93c15c8e48e5e7b89d5cb4613479d144fda8344e2d886cf694fd36db4cc86865"}, - {file = "aiohttp-3.8.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6e2f9cc8e5328f829f6e1fb74a0a3a939b14e67e80832975e01929e320386b34"}, - {file = "aiohttp-3.8.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e6a00ffcc173e765e200ceefb06399ba09c06db97f401f920513a10c803604ca"}, - {file = "aiohttp-3.8.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:41bdc2ba359032e36c0e9de5a3bd00d6fb7ea558a6ce6b70acedf0da86458321"}, - {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14cd52ccf40006c7a6cd34a0f8663734e5363fd981807173faf3a017e202fec9"}, - {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2d5b785c792802e7b275c420d84f3397668e9d49ab1cb52bd916b3b3ffcf09ad"}, - {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1bed815f3dc3d915c5c1e556c397c8667826fbc1b935d95b0ad680787896a358"}, - {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96603a562b546632441926cd1293cfcb5b69f0b4159e6077f7c7dbdfb686af4d"}, - {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d76e8b13161a202d14c9584590c4df4d068c9567c99506497bdd67eaedf36403"}, - {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e3f1e3f1a1751bb62b4a1b7f4e435afcdade6c17a4fd9b9d43607cebd242924a"}, - {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:76b36b3124f0223903609944a3c8bf28a599b2cc0ce0be60b45211c8e9be97f8"}, - {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:a2ece4af1f3c967a4390c284797ab595a9f1bc1130ef8b01828915a05a6ae684"}, - {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:16d330b3b9db87c3883e565340d292638a878236418b23cc8b9b11a054aaa887"}, - {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:42c89579f82e49db436b69c938ab3e1559e5a4409eb8639eb4143989bc390f2f"}, - {file = "aiohttp-3.8.6-cp311-cp311-win32.whl", hash = "sha256:efd2fcf7e7b9d7ab16e6b7d54205beded0a9c8566cb30f09c1abe42b4e22bdcb"}, - {file = "aiohttp-3.8.6-cp311-cp311-win_amd64.whl", hash = "sha256:3b2ab182fc28e7a81f6c70bfbd829045d9480063f5ab06f6e601a3eddbbd49a0"}, - {file = "aiohttp-3.8.6-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:fdee8405931b0615220e5ddf8cd7edd8592c606a8e4ca2a00704883c396e4479"}, - {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d25036d161c4fe2225d1abff2bd52c34ed0b1099f02c208cd34d8c05729882f0"}, - {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d791245a894be071d5ab04bbb4850534261a7d4fd363b094a7b9963e8cdbd31"}, - {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0cccd1de239afa866e4ce5c789b3032442f19c261c7d8a01183fd956b1935349"}, - {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f13f60d78224f0dace220d8ab4ef1dbc37115eeeab8c06804fec11bec2bbd07"}, - {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a9b5a0606faca4f6cc0d338359d6fa137104c337f489cd135bb7fbdbccb1e39"}, - {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:13da35c9ceb847732bf5c6c5781dcf4780e14392e5d3b3c689f6d22f8e15ae31"}, - {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:4d4cbe4ffa9d05f46a28252efc5941e0462792930caa370a6efaf491f412bc66"}, - {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:229852e147f44da0241954fc6cb910ba074e597f06789c867cb7fb0621e0ba7a"}, - {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:713103a8bdde61d13490adf47171a1039fd880113981e55401a0f7b42c37d071"}, - {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:45ad816b2c8e3b60b510f30dbd37fe74fd4a772248a52bb021f6fd65dff809b6"}, - {file = "aiohttp-3.8.6-cp36-cp36m-win32.whl", hash = "sha256:2b8d4e166e600dcfbff51919c7a3789ff6ca8b3ecce16e1d9c96d95dd569eb4c"}, - {file = "aiohttp-3.8.6-cp36-cp36m-win_amd64.whl", hash = "sha256:0912ed87fee967940aacc5306d3aa8ba3a459fcd12add0b407081fbefc931e53"}, - {file = "aiohttp-3.8.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e2a988a0c673c2e12084f5e6ba3392d76c75ddb8ebc6c7e9ead68248101cd446"}, - {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebf3fd9f141700b510d4b190094db0ce37ac6361a6806c153c161dc6c041ccda"}, - {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3161ce82ab85acd267c8f4b14aa226047a6bee1e4e6adb74b798bd42c6ae1f80"}, - {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d95fc1bf33a9a81469aa760617b5971331cdd74370d1214f0b3109272c0e1e3c"}, - {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c43ecfef7deaf0617cee936836518e7424ee12cb709883f2c9a1adda63cc460"}, - {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca80e1b90a05a4f476547f904992ae81eda5c2c85c66ee4195bb8f9c5fb47f28"}, - {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:90c72ebb7cb3a08a7f40061079817133f502a160561d0675b0a6adf231382c92"}, - {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:bb54c54510e47a8c7c8e63454a6acc817519337b2b78606c4e840871a3e15349"}, - {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:de6a1c9f6803b90e20869e6b99c2c18cef5cc691363954c93cb9adeb26d9f3ae"}, - {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:a3628b6c7b880b181a3ae0a0683698513874df63783fd89de99b7b7539e3e8a8"}, - {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:fc37e9aef10a696a5a4474802930079ccfc14d9f9c10b4662169671ff034b7df"}, - {file = "aiohttp-3.8.6-cp37-cp37m-win32.whl", hash = "sha256:f8ef51e459eb2ad8e7a66c1d6440c808485840ad55ecc3cafefadea47d1b1ba2"}, - {file = "aiohttp-3.8.6-cp37-cp37m-win_amd64.whl", hash = "sha256:b2fe42e523be344124c6c8ef32a011444e869dc5f883c591ed87f84339de5976"}, - {file = "aiohttp-3.8.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:9e2ee0ac5a1f5c7dd3197de309adfb99ac4617ff02b0603fd1e65b07dc772e4b"}, - {file = "aiohttp-3.8.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:01770d8c04bd8db568abb636c1fdd4f7140b284b8b3e0b4584f070180c1e5c62"}, - {file = "aiohttp-3.8.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3c68330a59506254b556b99a91857428cab98b2f84061260a67865f7f52899f5"}, - {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89341b2c19fb5eac30c341133ae2cc3544d40d9b1892749cdd25892bbc6ac951"}, - {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71783b0b6455ac8f34b5ec99d83e686892c50498d5d00b8e56d47f41b38fbe04"}, - {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f628dbf3c91e12f4d6c8b3f092069567d8eb17814aebba3d7d60c149391aee3a"}, - {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b04691bc6601ef47c88f0255043df6f570ada1a9ebef99c34bd0b72866c217ae"}, - {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ee912f7e78287516df155f69da575a0ba33b02dd7c1d6614dbc9463f43066e3"}, - {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9c19b26acdd08dd239e0d3669a3dddafd600902e37881f13fbd8a53943079dbc"}, - {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:99c5ac4ad492b4a19fc132306cd57075c28446ec2ed970973bbf036bcda1bcc6"}, - {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:f0f03211fd14a6a0aed2997d4b1c013d49fb7b50eeb9ffdf5e51f23cfe2c77fa"}, - {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:8d399dade330c53b4106160f75f55407e9ae7505263ea86f2ccca6bfcbdb4921"}, - {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ec4fd86658c6a8964d75426517dc01cbf840bbf32d055ce64a9e63a40fd7b771"}, - {file = "aiohttp-3.8.6-cp38-cp38-win32.whl", hash = "sha256:33164093be11fcef3ce2571a0dccd9041c9a93fa3bde86569d7b03120d276c6f"}, - {file = "aiohttp-3.8.6-cp38-cp38-win_amd64.whl", hash = "sha256:bdf70bfe5a1414ba9afb9d49f0c912dc524cf60141102f3a11143ba3d291870f"}, - {file = "aiohttp-3.8.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d52d5dc7c6682b720280f9d9db41d36ebe4791622c842e258c9206232251ab2b"}, - {file = "aiohttp-3.8.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4ac39027011414dbd3d87f7edb31680e1f430834c8cef029f11c66dad0670aa5"}, - {file = "aiohttp-3.8.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3f5c7ce535a1d2429a634310e308fb7d718905487257060e5d4598e29dc17f0b"}, - {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b30e963f9e0d52c28f284d554a9469af073030030cef8693106d918b2ca92f54"}, - {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:918810ef188f84152af6b938254911055a72e0f935b5fbc4c1a4ed0b0584aed1"}, - {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:002f23e6ea8d3dd8d149e569fd580c999232b5fbc601c48d55398fbc2e582e8c"}, - {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4fcf3eabd3fd1a5e6092d1242295fa37d0354b2eb2077e6eb670accad78e40e1"}, - {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:255ba9d6d5ff1a382bb9a578cd563605aa69bec845680e21c44afc2670607a95"}, - {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d67f8baed00870aa390ea2590798766256f31dc5ed3ecc737debb6e97e2ede78"}, - {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:86f20cee0f0a317c76573b627b954c412ea766d6ada1a9fcf1b805763ae7feeb"}, - {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:39a312d0e991690ccc1a61f1e9e42daa519dcc34ad03eb6f826d94c1190190dd"}, - {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e827d48cf802de06d9c935088c2924e3c7e7533377d66b6f31ed175c1620e05e"}, - {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bd111d7fc5591ddf377a408ed9067045259ff2770f37e2d94e6478d0f3fc0c17"}, - {file = "aiohttp-3.8.6-cp39-cp39-win32.whl", hash = "sha256:caf486ac1e689dda3502567eb89ffe02876546599bbf915ec94b1fa424eeffd4"}, - {file = "aiohttp-3.8.6-cp39-cp39-win_amd64.whl", hash = "sha256:3f0e27e5b733803333bb2371249f41cf42bae8884863e8e8965ec69bebe53132"}, - {file = "aiohttp-3.8.6.tar.gz", hash = "sha256:b0cf2a4501bff9330a8a5248b4ce951851e415bdcce9dc158e76cfd55e15085c"}, + {file = "aiohttp-3.9.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6896b8416be9ada4d22cd359d7cb98955576ce863eadad5596b7cdfbf3e17c6c"}, + {file = "aiohttp-3.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1736d87dad8ef46a8ec9cddd349fa9f7bd3a064c47dd6469c0d6763d3d49a4fc"}, + {file = "aiohttp-3.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8c9e5f4d7208cda1a2bb600e29069eecf857e6980d0ccc922ccf9d1372c16f4b"}, + {file = "aiohttp-3.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8488519aa05e636c5997719fe543c8daf19f538f4fa044f3ce94bee608817cff"}, + {file = "aiohttp-3.9.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ab16c254e2312efeb799bc3c06897f65a133b38b69682bf75d1f1ee1a9c43a9"}, + {file = "aiohttp-3.9.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7a94bde005a8f926d0fa38b88092a03dea4b4875a61fbcd9ac6f4351df1b57cd"}, + {file = "aiohttp-3.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b777c9286b6c6a94f50ddb3a6e730deec327e9e2256cb08b5530db0f7d40fd8"}, + {file = "aiohttp-3.9.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:571760ad7736b34d05597a1fd38cbc7d47f7b65deb722cb8e86fd827404d1f6b"}, + {file = "aiohttp-3.9.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:deac0a32aec29608eb25d730f4bc5a261a65b6c48ded1ed861d2a1852577c932"}, + {file = "aiohttp-3.9.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:4ee1b4152bc3190cc40ddd6a14715e3004944263ea208229ab4c297712aa3075"}, + {file = "aiohttp-3.9.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:3607375053df58ed6f23903aa10cf3112b1240e8c799d243bbad0f7be0666986"}, + {file = "aiohttp-3.9.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:65b0a70a25456d329a5e1426702dde67be0fb7a4ead718005ba2ca582d023a94"}, + {file = "aiohttp-3.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5a2eb5311a37fe105aa35f62f75a078537e1a9e4e1d78c86ec9893a3c97d7a30"}, + {file = "aiohttp-3.9.0-cp310-cp310-win32.whl", hash = "sha256:2cbc14a13fb6b42d344e4f27746a4b03a2cb0c1c3c5b932b0d6ad8881aa390e3"}, + {file = "aiohttp-3.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:ac9669990e2016d644ba8ae4758688534aabde8dbbc81f9af129c3f5f01ca9cd"}, + {file = "aiohttp-3.9.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f8e05f5163528962ce1d1806fce763ab893b1c5b7ace0a3538cd81a90622f844"}, + {file = "aiohttp-3.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4afa8f71dba3a5a2e1e1282a51cba7341ae76585345c43d8f0e624882b622218"}, + {file = "aiohttp-3.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f929f4c9b9a00f3e6cc0587abb95ab9c05681f8b14e0fe1daecfa83ea90f8318"}, + {file = "aiohttp-3.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28185e36a78d247c55e9fbea2332d16aefa14c5276a582ce7a896231c6b1c208"}, + {file = "aiohttp-3.9.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a486ddf57ab98b6d19ad36458b9f09e6022de0381674fe00228ca7b741aacb2f"}, + {file = "aiohttp-3.9.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:70e851f596c00f40a2f00a46126c95c2e04e146015af05a9da3e4867cfc55911"}, + {file = "aiohttp-3.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5b7bf8fe4d39886adc34311a233a2e01bc10eb4e842220235ed1de57541a896"}, + {file = "aiohttp-3.9.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c67a51ea415192c2e53e4e048c78bab82d21955b4281d297f517707dc836bf3d"}, + {file = "aiohttp-3.9.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:694df243f394629bcae2d8ed94c589a181e8ba8604159e6e45e7b22e58291113"}, + {file = "aiohttp-3.9.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3dd8119752dd30dd7bca7d4bc2a92a59be6a003e4e5c2cf7e248b89751b8f4b7"}, + {file = "aiohttp-3.9.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:eb6dfd52063186ac97b4caa25764cdbcdb4b10d97f5c5f66b0fa95052e744eb7"}, + {file = "aiohttp-3.9.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:d97c3e286d0ac9af6223bc132dc4bad6540b37c8d6c0a15fe1e70fb34f9ec411"}, + {file = "aiohttp-3.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:816f4db40555026e4cdda604a1088577c1fb957d02f3f1292e0221353403f192"}, + {file = "aiohttp-3.9.0-cp311-cp311-win32.whl", hash = "sha256:3abf0551874fecf95f93b58f25ef4fc9a250669a2257753f38f8f592db85ddea"}, + {file = "aiohttp-3.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:e18d92c3e9e22553a73e33784fcb0ed484c9874e9a3e96c16a8d6a1e74a0217b"}, + {file = "aiohttp-3.9.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:99ae01fb13a618b9942376df77a1f50c20a281390dad3c56a6ec2942e266220d"}, + {file = "aiohttp-3.9.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:05857848da443c8c12110d99285d499b4e84d59918a21132e45c3f0804876994"}, + {file = "aiohttp-3.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:317719d7f824eba55857fe0729363af58e27c066c731bc62cd97bc9c3d9c7ea4"}, + {file = "aiohttp-3.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1e3b3c107ccb0e537f309f719994a55621acd2c8fdf6d5ce5152aed788fb940"}, + {file = "aiohttp-3.9.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:45820ddbb276113ead8d4907a7802adb77548087ff5465d5c554f9aa3928ae7d"}, + {file = "aiohttp-3.9.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:05a183f1978802588711aed0dea31e697d760ce9055292db9dc1604daa9a8ded"}, + {file = "aiohttp-3.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51a4cd44788ea0b5e6bb8fa704597af3a30be75503a7ed1098bc5b8ffdf6c982"}, + {file = "aiohttp-3.9.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:673343fbc0c1ac44d0d2640addc56e97a052504beacd7ade0dc5e76d3a4c16e8"}, + {file = "aiohttp-3.9.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7e8a3b79b6d186a9c99761fd4a5e8dd575a48d96021f220ac5b5fa856e5dd029"}, + {file = "aiohttp-3.9.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6777a390e41e78e7c45dab43a4a0196c55c3b8c30eebe017b152939372a83253"}, + {file = "aiohttp-3.9.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7ae5f99a32c53731c93ac3075abd3e1e5cfbe72fc3eaac4c27c9dd64ba3b19fe"}, + {file = "aiohttp-3.9.0-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:f1e4f254e9c35d8965d377e065c4a8a55d396fe87c8e7e8429bcfdeeb229bfb3"}, + {file = "aiohttp-3.9.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:11ca808f9a6b63485059f5f6e164ef7ec826483c1212a44f268b3653c91237d8"}, + {file = "aiohttp-3.9.0-cp312-cp312-win32.whl", hash = "sha256:de3cc86f4ea8b4c34a6e43a7306c40c1275e52bfa9748d869c6b7d54aa6dad80"}, + {file = "aiohttp-3.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:ca4fddf84ac7d8a7d0866664936f93318ff01ee33e32381a115b19fb5a4d1202"}, + {file = "aiohttp-3.9.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f09960b5bb1017d16c0f9e9f7fc42160a5a49fa1e87a175fd4a2b1a1833ea0af"}, + {file = "aiohttp-3.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8303531e2c17b1a494ffaeba48f2da655fe932c4e9a2626c8718403c83e5dd2b"}, + {file = "aiohttp-3.9.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4790e44f46a4aa07b64504089def5744d3b6780468c4ec3a1a36eb7f2cae9814"}, + {file = "aiohttp-3.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1d7edf74a36de0e5ca50787e83a77cf352f5504eb0ffa3f07000a911ba353fb"}, + {file = "aiohttp-3.9.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:94697c7293199c2a2551e3e3e18438b4cba293e79c6bc2319f5fd652fccb7456"}, + {file = "aiohttp-3.9.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a1b66dbb8a7d5f50e9e2ea3804b01e766308331d0cac76eb30c563ac89c95985"}, + {file = "aiohttp-3.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9623cfd9e85b76b83ef88519d98326d4731f8d71869867e47a0b979ffec61c73"}, + {file = "aiohttp-3.9.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f32c86dc967ab8c719fd229ce71917caad13cc1e8356ee997bf02c5b368799bf"}, + {file = "aiohttp-3.9.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f50b4663c3e0262c3a361faf440761fbef60ccdde5fe8545689a4b3a3c149fb4"}, + {file = "aiohttp-3.9.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:dcf71c55ec853826cd70eadb2b6ac62ec577416442ca1e0a97ad875a1b3a0305"}, + {file = "aiohttp-3.9.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:42fe4fd9f0dfcc7be4248c162d8056f1d51a04c60e53366b0098d1267c4c9da8"}, + {file = "aiohttp-3.9.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:76a86a9989ebf82ee61e06e2bab408aec4ea367dc6da35145c3352b60a112d11"}, + {file = "aiohttp-3.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f9e09a1c83521d770d170b3801eea19b89f41ccaa61d53026ed111cb6f088887"}, + {file = "aiohttp-3.9.0-cp38-cp38-win32.whl", hash = "sha256:a00ce44c21612d185c5275c5cba4bab8d7c1590f248638b667ed8a782fa8cd6f"}, + {file = "aiohttp-3.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:d5b9345ab92ebe6003ae11d8092ce822a0242146e6fa270889b9ba965457ca40"}, + {file = "aiohttp-3.9.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:98d21092bf2637c5fa724a428a69e8f5955f2182bff61f8036827cf6ce1157bf"}, + {file = "aiohttp-3.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:35a68cd63ca6aaef5707888f17a70c36efe62b099a4e853d33dc2e9872125be8"}, + {file = "aiohttp-3.9.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3d7f6235c7475658acfc1769d968e07ab585c79f6ca438ddfecaa9a08006aee2"}, + {file = "aiohttp-3.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db04d1de548f7a62d1dd7e7cdf7c22893ee168e22701895067a28a8ed51b3735"}, + {file = "aiohttp-3.9.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:536b01513d67d10baf6f71c72decdf492fb7433c5f2f133e9a9087379d4b6f31"}, + {file = "aiohttp-3.9.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c8b0a6487e8109427ccf638580865b54e2e3db4a6e0e11c02639231b41fc0f"}, + {file = "aiohttp-3.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7276fe0017664414fdc3618fca411630405f1aaf0cc3be69def650eb50441787"}, + {file = "aiohttp-3.9.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:23170247ef89ffa842a02bbfdc425028574d9e010611659abeb24d890bc53bb8"}, + {file = "aiohttp-3.9.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b1a2ea8252cacc7fd51df5a56d7a2bb1986ed39be9397b51a08015727dfb69bd"}, + {file = "aiohttp-3.9.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2d71abc15ff7047412ef26bf812dfc8d0d1020d664617f4913df2df469f26b76"}, + {file = "aiohttp-3.9.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:2d820162c8c2bdbe97d328cd4f417c955ca370027dce593345e437b2e9ffdc4d"}, + {file = "aiohttp-3.9.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:2779f5e7c70f7b421915fd47db332c81de365678180a9f3ab404088f87ba5ff9"}, + {file = "aiohttp-3.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:366bc870d7ac61726f32a489fbe3d1d8876e87506870be66b01aeb84389e967e"}, + {file = "aiohttp-3.9.0-cp39-cp39-win32.whl", hash = "sha256:1df43596b826022b14998f0460926ce261544fedefe0d2f653e1b20f49e96454"}, + {file = "aiohttp-3.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:9c196b30f1b1aa3363a69dd69079ae9bec96c2965c4707eaa6914ba099fb7d4f"}, + {file = "aiohttp-3.9.0.tar.gz", hash = "sha256:09f23292d29135025e19e8ff4f0a68df078fe4ee013bca0105b2e803989de92d"}, ] [package.dependencies] aiosignal = ">=1.1.2" -async-timeout = ">=4.0.0a3,<5.0" +async-timeout = {version = ">=4.0,<5.0", markers = "python_version < \"3.11\""} attrs = ">=17.3.0" -charset-normalizer = ">=2.0,<4.0" frozenlist = ">=1.1.1" multidict = ">=4.5,<7.0" yarl = ">=1.0,<2.0" [package.extras] -speedups = ["Brotli", "aiodns", "cchardet"] +speedups = ["Brotli", "aiodns", "brotlicffi"] [[package]] name = "aiopg" @@ -2719,4 +2707,4 @@ cffi = ["cffi (>=1.11)"] [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "0834e5cb69e5457741d4f476c3e49a4dc83598b5730685c8755da651b96ad3ec" +content-hash = "25ffa9ed98d890a3b85e6036792296a60bb705e8f9eaa1f07336501116a58756" diff --git a/pyproject.toml b/pyproject.toml index 396edabe10..60cf0e5c96 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,7 +33,7 @@ psutil = "^5.9.4" types-psutil = "^5.9.5.12" types-toml = "^0.10.8.6" pytest-httpserver = "^1.0.8" -aiohttp = "3.8.6" +aiohttp = "3.9.0" pytest-rerunfailures = "^11.1.2" types-pytest-lazy-fixture = "^0.6.3.3" pytest-split = "^0.8.1" From 65160650da9d486f716f8bf50000974915655fe8 Mon Sep 17 00:00:00 2001 From: bojanserafimov Date: Tue, 28 Nov 2023 12:50:53 -0500 Subject: [PATCH 38/38] Add walingest test (#5892) --- pageserver/src/tenant.rs | 2 +- pageserver/src/walingest.rs | 84 ++++++++++++++++++ pageserver/src/walredo.rs | 2 +- .../short_v14_redo.page | Bin .../000000010000000000000001.zst | Bin 0 -> 911651 bytes .../initdb.tar.zst | Bin 0 -> 1485986 bytes 6 files changed, 86 insertions(+), 2 deletions(-) rename pageserver/{fixtures => test_data}/short_v14_redo.page (100%) create mode 100644 pageserver/test_data/sk_wal_segment_from_pgbench/000000010000000000000001.zst create mode 100644 pageserver/test_data/sk_wal_segment_from_pgbench/initdb.tar.zst diff --git a/pageserver/src/tenant.rs b/pageserver/src/tenant.rs index d75f61d8b3..bc8779b26f 100644 --- a/pageserver/src/tenant.rs +++ b/pageserver/src/tenant.rs @@ -2926,7 +2926,7 @@ impl Tenant { /// - after initialization completes, tar up the temp dir and upload it to S3. /// /// The caller is responsible for activating the returned timeline. - async fn bootstrap_timeline( + pub(crate) async fn bootstrap_timeline( &self, timeline_id: TimelineId, pg_version: u32, diff --git a/pageserver/src/walingest.rs b/pageserver/src/walingest.rs index 23367928d3..a9173b41e9 100644 --- a/pageserver/src/walingest.rs +++ b/pageserver/src/walingest.rs @@ -2079,4 +2079,88 @@ mod tests { Ok(()) } + + /// Replay a wal segment file taken directly from safekeepers. + /// + /// This test is useful for benchmarking since it allows us to profile only + /// the walingest code in a single-threaded executor, and iterate more quickly + /// without waiting for unrelated steps. + #[tokio::test] + async fn test_ingest_real_wal() { + use crate::tenant::harness::*; + use postgres_ffi::waldecoder::WalStreamDecoder; + use postgres_ffi::WAL_SEGMENT_SIZE; + + // Define test data path and constants. + // + // Steps to reconstruct the data, if needed: + // 1. Run the pgbench python test + // 2. Take the first wal segment file from safekeeper + // 3. Compress it using `zstd --long input_file` + // 4. Copy initdb.tar.zst from local_fs_remote_storage + // 5. Grep sk logs for "restart decoder" to get startpoint + // 6. Run just the decoder from this test to get the endpoint. + // It's the last LSN the decoder will output. + let pg_version = 15; // The test data was generated by pg15 + let path = "test_data/sk_wal_segment_from_pgbench"; + let wal_segment_path = format!("{path}/000000010000000000000001.zst"); + let startpoint = Lsn::from_hex("14AEC08").unwrap(); + let endpoint = Lsn::from_hex("1FFFF98").unwrap(); + + // Bootstrap a real timeline. We can't use create_test_timeline because + // it doesn't create a real checkpoint, and Walingest::new tries to parse + // the garbage data. + // + // TODO use the initdb.tar.zst file stored with the test data to avoid + // problems with inconsistent initdb results after pg minor version bumps. + let (tenant, ctx) = TenantHarness::create("test_ingest_real_wal") + .unwrap() + .load() + .await; + let tline = tenant + .bootstrap_timeline(TIMELINE_ID, pg_version, &ctx) + .await + .unwrap(); + + // We fully read and decompress this into memory before decoding + // to get a more accurate perf profile of the decoder. + let bytes = { + use async_compression::tokio::bufread::ZstdDecoder; + let file = tokio::fs::File::open(wal_segment_path).await.unwrap(); + let reader = tokio::io::BufReader::new(file); + let decoder = ZstdDecoder::new(reader); + let mut reader = tokio::io::BufReader::new(decoder); + let mut buffer = Vec::new(); + tokio::io::copy_buf(&mut reader, &mut buffer).await.unwrap(); + buffer + }; + + // TODO start a profiler too + let started_at = std::time::Instant::now(); + + // Initialize walingest + let xlogoff: usize = startpoint.segment_offset(WAL_SEGMENT_SIZE); + let mut decoder = WalStreamDecoder::new(startpoint, pg_version); + let mut walingest = WalIngest::new(tline.as_ref(), startpoint, &ctx) + .await + .unwrap(); + let mut modification = tline.begin_modification(endpoint); + let mut decoded = DecodedWALRecord::default(); + println!("decoding {} bytes", bytes.len() - xlogoff); + + // Decode and ingest wal. We process the wal in chunks because + // that's what happens when we get bytes from safekeepers. + for chunk in bytes[xlogoff..].chunks(50) { + decoder.feed_bytes(chunk); + while let Some((lsn, recdata)) = decoder.poll_decode().unwrap() { + walingest + .ingest_record(recdata, lsn, &mut modification, &mut decoded, &ctx) + .await + .unwrap(); + } + } + + let duration = started_at.elapsed(); + println!("done in {:?}", duration); + } } diff --git a/pageserver/src/walredo.rs b/pageserver/src/walredo.rs index 5d8cc0e181..4e684dec2d 100644 --- a/pageserver/src/walredo.rs +++ b/pageserver/src/walredo.rs @@ -1182,7 +1182,7 @@ mod tests { #[tokio::test] async fn short_v14_redo() { - let expected = std::fs::read("fixtures/short_v14_redo.page").unwrap(); + let expected = std::fs::read("test_data/short_v14_redo.page").unwrap(); let h = RedoHarness::new().unwrap(); diff --git a/pageserver/fixtures/short_v14_redo.page b/pageserver/test_data/short_v14_redo.page similarity index 100% rename from pageserver/fixtures/short_v14_redo.page rename to pageserver/test_data/short_v14_redo.page diff --git a/pageserver/test_data/sk_wal_segment_from_pgbench/000000010000000000000001.zst b/pageserver/test_data/sk_wal_segment_from_pgbench/000000010000000000000001.zst new file mode 100644 index 0000000000000000000000000000000000000000..3c478e78272c7a6f8dc4c7d3ec6f50cf5176bb33 GIT binary patch literal 911651 zcmbSxWl)?!(;)7_-7UBV_u#=LxI=&iLV&;qS=>Vi4gms-Td?515H#p64vQ@A5Zvu} z-@3cHU-#pCdS-gMd!DYDs;QZt?&fIZe=I^mLP9n`LLz)YNcYbYe^5|f`v23a^dD_V zkI!Scg#S|&|M~C#qvpXE1qZlMXG~~faGurtgnTd+#8(;#>d-yk+^xz;3jfNwa3 z@-h!bHI$h**fD2w>RkA?J$Mm$C-BGp!iyQ}?d8L-qF*Wtjc(&NTDx-YgMQpTJuD_B zqvq-8`{Ov_dg8JhsH>-qjG4%?b&`paw=RuFCd9aJ{i2KC;$)LsB3}9}8Y{R_l72o@ zGvf*|aZ~AwD|Ktk)rzV58!Na6|8eNjL?2%Yl-@c&{d4LlYaN$R8YJB~avLJ;aCcX+ z=BW;BHyho~nsDr*(rPPrX`^}FwSZT~*S+ilfqy$7(o;0wa#U)lw&M;{b1TWJ6%`X} zgeQ|*`#0qtvl;s%H%#n$2rjxi9?aOBxJ8tWIf<@(pS9~*oUxP5tun4ZI5kK&6l|mzP8#1DE>nhFGMH#0R{obxnZ_m}uvz=Na`hNKk#0{;R84VBTb8P;JE-?cb^})=Nw8vf2thU-I(Y26uo{#E*+kj?iunlwQj2T+DrbGYA$BdUArqqy-T9Qy7Rx-_T&6h%PCO;1aP*$~1a-f()P*&Xv8?+t!Vv+Xl6FnqL zqf7hhda{lTG_{_Y(7Nz$+D-IFpxO#f<@^Wh8rqhtbtJRCv1*xXmptX$Zvv}#^3 zxwt-Q&OE+ocTknIf&)NMySv9JxJN6yuLZ}wagV*OBHWqdc;H1K&ahVSLyz+heabG3 z$}TkQUns;CmgTI_d6R13B1ypFl)Ha?Q1o?`z^<{=1-I)Xj%`q!YFGa%f9(pic!m9b zw&mjf@VY*b-SW8bkODhE&b>=@^*-iYg&C4^{b;X z88Vt-qsK|RM|!tcYmg)j_rS0&Sp|27!e*Vx`<*VisuhNemE6p0f|EFd&fth+mdVB3 zycLGRG?CY_5p2ce#K=e<7hzl>f<{Floy2*acKaG7oi6*aDuFX)zq9U$6#}=W=d=S) zr{{D6m&^Fs_A9V1`;jgqBko*6?(`J`CGtDNT%hnQAe5dgCs0!QKIQaKFCLJfp95)= zzE9nO|CR;hdj5g`rcVT^F<$eSq>S9Yg>3t0F79cM$1B(5qrA=64XyL{J*z zC9^t2KM~Z*cw1CPt(6&K|zuK8D78801VgBn@`0eXWP zIs*X)gBmI_LcnuHCF`!9xQ%hOen@#q!7sOR>a;kn(*0jixY+j7P{cTf=TEZD3@F$lMvIMglmMHY6t90ySZlHs~Z~-J&&Np*HCE ze{fX7$XwC5O>m3^NGol4O}b5L!pN#@1WdYJYQiRL&_}v)qQc2WF}Y0$j0Bh}ZRAb5 z^Gv!EjcQmbZS*T`3@UBZOuB#8gbCWBSJ^H?Xn@marM@=8;5W@08HU8y!qzy6`uv* zxnS$i*h1W&QURLNzjbIX0AMH_gpYh(I|TgkxDs|0zo))F{50)xCFUgV-?Vo4c`!Q= zpB8HM7YP~^jSqkoA^}!5kO0TMFZFKiF!;vfink9+KWKWWcg1$ae#Ple>Q8#bd1!d` ztHNRm{@eH#rm$wp0VGEON2&mrCQQqKzAdtwQz;?`}3VamEo-%(iESe%K2VIyB5Nd6fsccVlSdSS9{n%Zd{<~ z8GJq`?%H(|99LJb=PSCN9j5?b8HYOoMTx<2>HwC>+rgX!Ifnay>9rhU42oDF%m~ z!jphL35H0hYTo(8ZUCz!LmE`INGMr`C0ON(Y6xKOuYwRt_E8yzzFVV;@lwG7C%pv} zO;D);Rk*-O?{--IwV$#Ny^>)=SJ@pqtjF1@;FKOO;+3DaLdBW7^=q2KL!9ZW-(fARb* zC%xlb-`ffYrjdQFzuSQ($sY&RC^*;O>rj#uf(xAk9CI@R9Gd{!GD3cUlEYEboJ?^* z$#^C<(2*LPsRSsQ%!~oL)$MG<#$?5Amt0|E{%&VbEqE)ZwAg2;R=yX>?vk*iSPWFF z*o$QE&>jZO1qXVc!QnaJ>%&bjxUT-aulIU3SOLI34tEB66NAC(0QSk-p`2Vfx%-FB z^LiP%<6BNCIlmot=q;zTTqsm0|2$>)L0D2Q393_E4}-}b!lPlbfmf}7+^a(tsrwVC ztT=#S4UV~c$O61#lDww`2PQ&g)pv4pgXhl)a)a+4ykK%ix2oPxYv5oHs9euE!T7D} z?t>!mNl@~caaq?clKr)CRPjVg<4)10f=UFF_}8xC!TwX#u7QxZnGNt`eIbdDO|+k` zV)tA;nh@I9N1FzA_m(dDxj(6`G_i+OzcPAqNaVUj-=BI5GU*3d`0}-{IA9sR<`lVq zU$-(HvC@Z@&h+#n{#j_;hVNg+#F}qMrdB23e7P@(A_qrC?h9E8YKZW2ZuukU!f%B& z9D$oY=QQQaL={fY>(f69FyG_p&frtSwiv);PM>bZxLgib1AJze&sVwV-^ zNUP;;VCNQubmy)QJzYH8-ULr4grVKD4xuXA^tjti^h~j9i0XFVbfx7zi9Qv)&Ujk+ z{XFw5ES$p;8k3I*rUIdo^`v9=h^6d~NrQya5L%bZn?58evmKVR23E5?ZI!LS%&9M# zUfV}_o#40bJL8Ma7v5};++aELV}SKlYU|<4wHc1kDQJcj&Xz7l&ndeHCi30u@!y9g zJz`baX!ck;9%V)dIC`&!(tjWI08&b6O&{v~vbicL)GnRc>ywgO8^2YHJ}IS>kvnC4 zn*MN;GIBGOu&(p=ryRQN(`L_kDfy0$KwhpzP!LEhwn)WFI*=)iNy~YD&H0t2bR!dl zX^iP>DcT>IWu`|Nt#wZ5)CC9WHyND2dS#_Lc{#G7pim`Zac%+XKLtu3W7smjcJqls zM0&BQyQ#JQZA!={%H4`TO_zHA(TQt{!HOMJS5meo6Jm9IjiG|4p~=mr^8I@Tm7uV` z98U=b&j1F`_P~C0zraCs|7uA8rpalq9k51@#}PA@fxNe{pCEQ`Z9TgG#`lG9!7azL zjrpB{dODLuy?YzeE-3yVAkpbk&|^z|uU=lD&+&1XK;uuYe&{~-=V?L?<`7k0ThD1C z4i;UtG7nu{T}N>or1-F&@Uvb$-5(t4q`5OGmq>K@^YX|{B$Q#H)O>_UOmGZG#=*cp zQD`dPSHG4P{fP*Bj~ikmU&(=qnnf)ff}w6PCXa(}z|gQ8ipw;O750iFfUz~+M(GbRi=#_-ixUJ&IACE*^Bx6ikoWx#a zLYok@hrDxJ3T_lEmd^4_r&4Nib+b)3tZv0W7C{0_eIB!xKN^BIE1!9VKW}SoLSnkb zh<3GTK_qdAz9OH~W4i;(Lm$0u%T!40A0NFNJ`6~#(((F4d)b9(xjRc&oPhg>dr<^J zCA(SgRul&kr|kY>)QWsO_p0p8CC-h` z5W}nH*cV3lkTex{he`k2>$*#;D}T;&t6_x3sy}A{e>g&;;QFjAQ^4Kv-VuS&%oclp z>m9ax)Hkt+T`cy#>{A}t6Kk|pk*HSCkJd!#fjHF%tNhu?I}I4bq^93O#@&-c;2 z#b<_uD<88RO0`_Ld9G+#9J6)!q-6S#}rMt_$oqj(MGS|x+pz9NajLlFHZN&sWhQfl{|e5q?sO&F5F%>mA_X=J&ftJRqs0yP?k9>g)5) zT%lw3<43&C+_%R&Yj;N20+`Bf4mFvOi^2wh{o*{yHS}OcvUtMk@w!V77_CPagT)Gh(|aEijJ4Y+Cmn5 zr-b(dT@uOiqe?9Ds>Q<|iKta&p7^ed03NLekEEI4I4w}ZcW@9{Y(pp4W1=kod?M@> zO2d-VKtAr-oiU5VI7-Xz{AXH%R7|F4mm*98xsy|d_$MIFT<}dOGb5G)(i_}2G$=%7 zE>^r$ZYcK3ByD2FdjD>sHa^*e!5EP+D#%KrXqqugdUNih*6F>bvJ<=&g&`Y`!-9=LsBINW>z8LaTK2jQyEu|lLHqF;nD<4My8~_ zw95E+w36b!(GF28f4iDaY7Tdu*SvQLn?QIURzW9>11G1292?Oi92>rypVb(G)gy`1 z@((6@x~NSH-h>G_qajZg)sj1ZUeA#|b@hAv7_0LtogsTEr(=$?-SFDCl$Qv&K>V&$a6&RJ=1Q0? ztW;1QNKK+qDl$!}1J8$Zzxa1i2l`y-#win8dFng4?m%?5{-a$j&VME?oL*9h5 z*7VfRrKz7tIv<&VW+_Ee*(c80j@n+#Kz*PY)K+_BZ3_+jBYav?t8@lCr$n)+9=M>L z+vK%~Ect2Yt4y3K#*T0f6MgX%$f9lvlq#cAiaq21laPZ{QY)jc^c5hgXDUj$l!(BK zI!P5zGVbfNWYs)|4mUAby0*~OkuXc*>23oHx7PyEjyP~ZZ|DoPzKSB3jv_U97Ab!! zdEa@+-;CJTOn-rcH1Yp5&((Aa(s0>UxVWK>w`IlzklyGJhAK8obk#(B~}gQEu{3Fw#EA2 zK-BX_ncFP)`p$iRyY*O8-*tOc{e!m{gL}z&zmvzGm952bqS`6!{PxzW;~RH3w*&6y zHK&6Kc-3qcZ);Un{N$>)hT8#$*u-i`y39dzemAoFflv_5szcY=v5C^5lcU(mx6%vO zP8teXn(C;LBVTSYnIDuonWtIs=|A}!oYFay8_1t(8OF)ai^tu3ITfb8B^Y&njfHT< zRf%oDK^-E1!ZA;gth;-7fQG9K^(Tyt@-fGfSU9kq`DJm|2kjPapo$5)s(AT5samI;%5fy$-q~az`fz?N*XZ$tCZQ0jnz3hoKS9~S4M9A`%PIzZ&RMMdjhqv~+;3ULuglFL zFx~v_G>t0_%^N)yTiCJB7iFbPFp^HvqrswkD;$#=ZIB=}s5Ot88Ev44l&KD-7gz92 zHJ;#7-irwN&JuRd_IzrBS;`5361d&CY8M)`U5|!{JcG1;Zo`Y ze`fk6#9T#nc?Cof zerS74{PVgAevGp`P8We`|yTNmCv!MmVoX2^`b?;0@(7r?wn;Xm0^h z)tj?Tm^1o~h$0Cw zw)*0Ob;E~bsT@5l!a-8^N2z{N4({wHN2HzL7gJ47Zss~=MJMCB{)k;$E^=YV8@3`- z<)hQ(Z;z0v^C37{E}T{f!d+}8+~GCojC}FEPWlgaMynj#PG;S(;jHxKiJk6h8GtBe ze3II~p7W7I0>jFZ3C8_>S9&u?zM1S3F-Mf8t-^w$na4+0jUSPR(?~jQ*-dz5(OoD- zf@fmhQeCi94QJ12iYyFCXn=)My`t8$i^T!uUOzmcPDVT5RknnAk({C&w~A~foDH&t zxwD0YD^t*`BNK3QDP*~2Wdb~^D9gT2eNT=0XVhEzcPt9_Dx2{8y1P;gL_f-YxSF6-lzVkD+T8x=bZZ?96kJ)o*`_1UXpBP<27i zE}Q6>4>oVz?F8r~;Pxh-z3Q)575cjHk^h+fLerh~i0a2{+gJ(t9{JBi9+fE%3ndJz zw;(aQkybnJZ!#ke*GD=ToYz0X>V9VY<^0lU$4(MIh3$0Tui2HcM=CX8L!|M+nJ2Ee zmPX@4DZ*9lkW>o!L&-cR0QEcARnDSXwB5}cUMiMv(c#qEnOwLQB$P8&J)k5eBsejq zsR8VOGph_oflf)~bWD)~aSrQM!L!>e1~Z z(PfGtyxTnwj&B5;9HTnXieE~WT-9J#Q){}`gr$4los7E6P>Q}!kSMk2k>%OX)AIqX zi=bBwGSoj!KRJ4tyLXo?!k1?KM}f_k7k@8Z%L@Y-M8(<`CF2X*N34{?7ay;(0*yW# z%uMIStNV!7o4n$0%q%vxE8Kew5~4hYJBf;B%^&#)wLiM)3Z_;_EV&M8Ho}iQ8z@CZ z#X3#!#Oo*4Twk_V zN>R|OmkY1B{$*TQF0`qSykadsKys15Nl{)tX68iKSFGLYRqRjU{_EaLS1~%i{+G3j z)MrsI^H5Z*6(4^0es9=BtF5LPH*;c;cU1Zk^U?%K(PU|TR{@X|h!(=jQw*w^JrkWYH-b|!}Jhv-VbWB{xqAl>{5&CMQ+^M;<8mv*?dVQVjzAa32ez6 zi{Ea7Zg5eX$BRzE`BpG1m0!_P0PIK)J-KFa=1lwC4)}~r?6~Iu(_fco-B-s? zXNLb0%!R)2OGuS1jk$P&Vi)gl=~Ea+yl;8ZQI0#Q4(VSIi^Za7RpCv*OyZ$F3II6LDmhQhu{i;mXa=&KE3v-@3 zUN%dX(cho9sYBm<(35gqp}(yw9F@TdPEeqLLs%|U5YTtov3Lr6uPui%S6GjIN_WAe zRE1Q_Q%3%*7AYs~_yXem_rw{HIswDSoSNLo7fqzR;=5#lntCz-}}9o^cs4ng=OJ)Y%!F{0U~mC-zw*{qel;yCVJzq_oNjD34#53X)L?*t1Sv#EAzr3Qg( zULtZwo6C${uMpPkRTIY(i@z@J4US(tVoH0T;_sk)*CaRhq@B46u!3uny+;es&fvrL z>cch?#Oo_ULe#8mtlmtQ>8s_PFHvkk!8_%oZwkmd%1M$T$Zl_Y2s_}!9&S0Hp0<(_kKO^C_MQp{Os?>~oJlgv z39_oScX$fAvtKOd{-5IPB4lk`$!Eq>Ig3yC#^s_yHJ&>>mVg$+BaQ1Fq2Ygl44=5R z!lsNg(9aaoQE6pW!>w!8VjHd;H8uP$@gnlK(VM}VWZRjZ1lo6YHfBg-^NfngtlX$4 zA&QFu3-TpjE24&Dkk#TFHbX)crjRixT=Ej9Q+JtWq8u79N)Bapze1!rq+)~K@oRZGbu(d5ZjLQTBEjwaqYncV|Qg0&@R z?QWcL++-n<5gO>px!R=!tL*fIZ+pYzFkf5G1f*?V877krb2$`O8wpjg8sV7ab5HFz zs2dBtcWHte2vtzcejgtFM)d=I#FS4hnbo$H^%qg!t67+5ZLNhX4~4nL0lzZz&KBxf z+n>E<_n~#(DugMDr879~Y}P?{MJb5H7SVU5)nTd9=SLEW=qnH-+S9TCQNVpBE@z!r zB%7P@q2{W$h|dr|GxwZApM-JqL4VvhL~kL9{%PkI8-%3BG2Io!Yeh=UJ*Ug>4kC0u zO9VPTK}aeegICR8tPs=-1QqC*65d(ePBntKuF|U_qB2Jj0<`UNVL*%{-nd-p!30w=wJf#W81FiH)AX> z7RyVlbqqCtAo7^yB#^YzFCv{ToKK40GRk0OFpZ3Alm_0Zj6mR9MhUm^-1^k5sAc-- zUumQ8YvAx}5I5=va^F@(v}(ewO8QzgIf0qPdv&k<;b&G&o0pTj5KWNKvttutG)TyS z@53+!GHX~QwPd!|5qh9!WN9uODOeP{bbQ1&sa_yoZbnH1>`_map0kx+KT!rP zl+Ts+J5zdGYwmt@H4?^L*PSGXZF#6ajf922Nex%$5bKtQW5?E!Fs6D@Z_zTRelbh^ zlBkPV%OCYh^^4%R78sUM;K1b{R$xhuev=xl&O!27m#>b4B2-sYbXbKsHGy|nl{Ga< zIyFUAf>X(Kh=V&)*UBn2U4=u)fkPRhKV}he+VGUhcII)3v-6s?k z?H9<&FtqQ}vS}U`d-kdwGCHP_sHd*F9df@Oxx%__smcI_qw`!Lq#l@_?@>5mLDmy$T!q90@Hh5e)#ipeYppl%eKyN{JGaWoZs{|b#%^ht zSIsS6#UozDyE=o;o`zFy7FupX#YHY;z^j{vYk-bwSesW)Uj8k#Tsp5@*2Ap0jQjF0 zS6a16nIUc)DBlSCZB-PoQYFMJ38_D<+fKeVBHKh!Tgd<^J4Yd`F25!dD>0;yl*BP%I; zh;2_N3%=rJP`G}N5wQbx_x0G=eRvCJ;owFcwn|mDvvU@x6?w2h9Y^5~p{)FlH;X~y zA0E@+-M4MyxrWw1iTb0E6qnHCYlxj6N`F{{T_{RFG5R-U9D{?XU;QQI1SLO^HF?pC z%--hNJ>!vb{dX(jB+&+hqmSsncbhMh{}A<^l9!y4n_rj0Le_gX?{mtK{hLfpu}sYp z26RkSuiQsHZlcuGwEngbqVRz@T4@85c~xA#vUzI8$LIh1!6ZR>1|BUT8TJZW5}3XS z>>Que9dO<`blk6Wx5EpFP?J370sBo0=^Tu1NS^=6j#l1ToAAp3(({31_A}=tNh|@( zqnR9DY|!kOW+5V9HVl~3RwgBo4Idn%3|ODY%mA|Sfn)bu=OrmDcbG?8IlTCw*|E)D zM813&Fy*aQN+2ITI97RQeWEo3$j1kc+lS9f(pUmmM&TS@qR{NP=6WJuQ4E;M7Mv0& ziVu!c25d~gGk~Ie;Dr6#c}WJ#9hT8s4lh|~c0%(xk*_QUOm*v)5-5ugPEg+2n7GXV z%JPAe_Nm~KES3P)Q7TR^6=-%+vk1sjG)5k5Fg8L%~Bnh7-G1E=r%!6o@EcV3VBae7%nv(uZ;iG8gwU>aL~ zR6r|yaJur&)`VXs(25V7xt|G_6tV=cjb?IsIYP5Dn}tYx9Wh{U#W9 zQ`PNCA+On1@Ru+E-Kr`3ZsmL6tX|HSc&Mb}4&7yC3J~E8_OaLjFZ#V~yHJS(9A2&VrbN^z^N*MMO&j;d%k_dYz}dZ?rMOfcOY%FdK1qJEVdKhsiq$N+uhM%v5g5m-_@`Vt5kxXy(_s{V0^T|bZ^tI&u zx9KC@%V7Q#7TRrMV^c#;luoH+VNXbO7XFox@_Qn!0439IBIV0_TTnq$kk9Emu6mzR z-^JM*v_Lgg`^!4W~h-{+|=a8$8o zEJBshsPlT!cu5*~f=(EYI6IU1cW`&fLXFX_sC+-Kl7&%VTXDSet6e?R`CX7o@k;-@ zzLk{tecBuWlz!kN765h@wti^-n4;YM=reAh&@YSzmf;CV5ZI&yx*_Q-M8U z_&X+q2jX8z>IYqMFdP~)AHrD7#znulzRQx!N=3A&>31d*nF)m{um~#~l4&Cw*ha zRl9r^p`fDqy2(68cd+bNpZ5p}4wXdOyqmd_6R9v|ei7@p>G<40a>hTX3|;$*oD7;A z$u#A&!4&W8Jtz)vWi3psoo*+l6PRy}g|(KIQ0cCHRf9!`p2>t8z8YD4Va<{D>v^j! zF8=hUSeQdSAsr?A`M}}N=cyIsTylpe;E3Egn&h4FtGwfoC{_z8ar7VLWf#%M`x<$Q zgQHkTSTAYHNF>xqc*M=W0AJvAkXzffDgmWsXt#nZ=@M_R@axZ_mC>rpfxZ%bX@A#kSvV=~)FM ziZ3@4Q3WY~>DkXw37?WyStsaBNihEtaF`>26zM!^I`vQ#J#v(6K3Wr`+YP+x{FTI( zqjV+y_A~Xq#GiFxUKxC+Heu7rWkQ-xYU-$&7BY}_e5m3!V2!XMfSgZoIN0U4esAIA zi5P_zIhQ!%)FIG`S&0W5Er{LW=%mkeKubX=k|7LhHxjERo*}_4U-D#yneHa5Qro5B zXqI0oPfxongoDAzOK#NgM30YwwPnPPFMEGq%xBniw2SW2h2D}`ZQ^w@+6$_o0qAZQ z7W1@w{9~SFnJ;36WPZZVx{r&BrxPt~rx(wif3KTVR*xyhrm?TNpqY52C{SF2_zgw2 zH8q^=aVsM9&_UCXf<5Bl45TKN7z6jx@P6JgB7eaK`Fj+iHTYVP)!>jPCu`Z2m90*_ z3Lki$SQO~vdRTjJF*QPmi9)qoqaI0wB=n~A#0IS)MbIFe{xLG|lz#FjTd~+-dv*6P z9=qb8V!?>W5w-N6>qblkQmtTeG{OU&S=FvxX{H*cc-G7Mf8q5aX7^CN;gn%{1{8C- z;kanZ5I7I6s=7y(hb`fE(d9|B56SqSa^Cy^24<7_4t}I=p(hRJ+(-&@{+%1gNTu~t zrQ}bRjjY43u@>r8JkR+k-ZX(9Ko^p9PW&HAf%9ZYENHc&`A9Zcdh?FIe+Za zRi5U^hekB*eZA|Is7co5Rn17iSDrvW{i=bR|M0ylU3|<$`uo?rcR|V7Ad)3}f+oyH zT=q~w$;!{-XzwONxlTRv@}ryC6|#c9yVn4!L&Z_B+#SV3iI;9Zx1WQ2mkKoWHf=2g z@;1^=krC?aNa0N5e2x=kac4AxwpS-A9m66`U>#{v4AiMKd`vuKdnJJ-LL!p*PJ63Y zWDi7TG?~T&iP`uDwgOa)b?&sw*0^3mB05YQAhu5RMUA;G@NQHR$=$o zv^kn)NHus)D7guMJBB?=|P zw2FzjHkAZlb;KIE@k2GL>rC|>r`W(DCq18&Vod%J-DIa1HyomW`Sa#YuKvoS=E!}e zcWRLOUeoV@B^s6-hNveu0fW)p!`uCqNLkl5E|7rR?Fe!rkyz|4T-=Lpu5{($ zAvf6g{JQmag)ae?C%&i0!X#9eItKUGtQpFF`|Br;8!zJ8f8ktUr#LO< zw!?&T0jX&h21XOO~408gfYGFnEahl5Zc*7EH>f;}(Gn5cp+6HVE@CxRFiZq^l@as%lRM-WD{V>i{NfY0VQ_1?RnNu4KW`fN0?c+n z4EcJ>N21csUY0-VGp@fcrgR3Sl5FT@Gqs;Ov$nSR9jGY(O2M+b^O=#K7)9^6=%RE- zy~O8Yut1^hGqr6g%~LkvK1PyYKo@f`Wf%eaQPstbipe^Obucm{qpfV^+$n;L(%g!@ z!+l*i@U&3kUtm&P4HCO-X|0j~w*8~EFR(p6aG_LH4Ol!r0xBfck=}n|=qIB-j4Mqa zIgNkkv|{OM%xCy$ZSf@qzw5N%@p;he{xMDU+MgX#BSVJ!yA*;{XtmJw93-=0S=)Ig z>Ha47WHI7?VC{TKqI*j$l<+$ky=86y^k#hI<|`}rvFOLA;4JUobMnEPu4^FtyT=5b zIi**a(7VU&bX?U^cW!8qT)1`$&6Zx=aT>+qmmkA%m(^e3*ux)VAvl6HB?A*y)>C9hQ4nAg>tC zxgv;-&kM<<3-zWIMbDFOR?x+}kwq5R-9nK$DG8OkSqP;+!4Es*w=Mchh~G|q&_p6| z(iI^uUEIliN17aHHKu&YdpJ|^&#NaZA5y`OVc^sIyRxTipyY%3JpPbjGW}*}CeDK95?Q2or5^?JaJxBC8VwVr5 z4buE5IR3~xnbq%9{9C2CjW)mjlA~shm8g}2?2~QXH|on^2ba!Xy@}IbJgBLUg4Mh% z22+CZPq79QBH9}5bBD@&)b;ZU6s-rSa3P5y39}Cg+9I#7!z8+zBm$XT?&f|z%1G{r zTC$&@JNPu{R(b8hw^4fLrT>~*d(Fygd6dv{lP_JLdUL&B{7XjR&d@%(q%9IVI#Ab~ z{6zn8xj{j#Msj@u3jP=m_{}F@T{?AoFiqMk?2eC~_u-4Pn|u9P8jtD%c>3q5MUx=T z!_qq42Q6gAP>Pd)K?nKyUwS=}HlucLN;UBhPs@#&+Q>KOxK&mUefF5CE${Q>x{JD6 z^EV$q2$>5NdrJ&lVzfDu7U*9`4J^{Z&uFq;?}rmQRdtBy9$UDowuEH)zyBilxTms` z5kWnZ7;raM1eAqB_=I347=RVBn`jr_w;+vsZA+|FoZ7OGZ)Ff68cw{{Rnc$STSm^@ zNFSfPvZ|LrL%a@m#yVd>s@-Je@NlsPR+rAvO?zoo5cxZ=33% z)mRL%DuDnl%%23?CPhhB_Wiiv6Ll8Q34G|PsSY}NSex?clYLjF=??qI-7u)R9_H3` zop$L6059_#ZwLuJRPT@hxH`UP(zP89vg+L0FZs5TptbeOg@}`xBbRTar%eYUayPTr zMmemz_IF~hBm|NK;seo@oSBy^;OxKUJx#t%>=YnRa1cL|`J4ElU6zOHq``Vp?6x9j zWpWm7H5WEys&W1M&2z4Bx~9H4R1+nymtjVPpi>EO*Hu!bHSYHFf2?&J<8ZGnm2BR9 zWjo@Szo^wt^tll8?x!A1xSs;=5NYqot?lxRw6vn*J?&K~S=Je|;AWCoGYyBUD2^#p z3wi;!04*s^E`+%S7;RYPc&vEA6L{_}!sDqLwg_8!u-iB$6PGfHIFRPC|Ch#w75sbN zEr5IW=K7n92wH(L0$K5&PvhO}Um@s<%pc%EuzKh+Q+Rv-G1(Iastx66jNITDoiWent- zOf$@j1ao{@%ZhSh)@Faa8fZN?VUDw^I)+$vo9`Za)>j{H__T{SP_`~;@+*6|i*kI} z+b&+gefFiqSPsYpNjNfM>T=C$-PO9YK$^bW_SA_w(-XCBZg1=r#ahLL{SnX=s)$I;FWhb(<ZG`IZ!?V#CL^x&ZzmE zXhd(LtS7UmqZ`XIR9;Ukog~5>?#{+3@2JIgh(Xrkz>GvGsHkZL% z0QDM6OP?C0j30?87PQnljN*1|yK^OJxPPnutEs6(yW)NMp9rFc%1>NT(ruutaBnPn z0@?@%e=7Q`N_7jB`WasHRZ4=1@8?pS-goD&Un2clrs{@`QUsS53pvcIwk@(~b0y}m zN_ekKuU);oMjCL@et(972DDtg7W(_8tjFrJ2O0uIwx5ky`5Ow4bH%->Og<)`=giO4 z&1O+_I8*nT!E|1&eQk7;K_T(GO|e8RSNz^cPaEV;yiN@(`W3Jq&=+qXWb^f)S#L2G zVz#A;3C@}pfyIq7@{(Db?H}>-B{&st^m^W|?zI5_f^=(Rp~zDl5-8rceh-GWYyU$3 zlJL&I{kTS8Yteg3t|b-tx3cxy@;582uR}A|va=3v44fBTBw*;|WE*F--Osd1#_5ku zoZd5mXpIWZ@-#-6gJ%@{$L+%d>ojt0cf;+AX${t2_=j}y#lx->=WlW|4?~GFyi*Cceg@n1y^(jLZpF!GF z^0gz_7Af@dcKlwWSl@XnjdAKz>x$vBuNuwg_siDFa0eG_$OVTw5wJq51(Fzuf48<{Xd0hNL!+19UIj9PMU#!D<}0-^IP3 zXNErys#P3J6+eVG@s$mov7>a?q<^mM6ew@Vql!O2R?XVPhsLlXD0CXU{@(Y*PAWUQ2@$$nhO?I#a~MjmqR ztt`N?Bd$yLNgaIESEmbLbe|6zvCB&p!)h9_rQ0~IRTp?|c%uuEk0hpX=oMS2WSSxj|hkD!1}lD z{`AB_J0m|Cm5UYWg&eSL3LhyB$Ku;8{a&XyNsAnGvwb-Hg7VJ;K09Q4A7g=_9yX9Z znhakL(pDw=BIDZH9b|FMI7AmU!jjp27XGpKSATMCUd8LtnQ5{9AsDk5#q;_ZqEY5z z%640)sjsJc4nvKt-Qt78`kQ>MRebmzSsdz)>~uXRQY!zud8F||s_ge{alLh7H`jsW zhPQ=*Wi}$Xs@A&QugM=m7-CV#qjr;U1*FF}*%#$PonoiRFt=~;Z!*ny8g7#mI7*WSD$`k&ORmf--){o6f zX&bk`Q5CD9FR)~#li~0MZV+KN6U;N$jZ>P)^*rdPO zxewm8&7z~)5sivd+pDKR#->1?@~hR2zpkyDdRvvgB;6R)mq^?L$5rdgRdI1%H5mll z-i4#;01Q5+E;3l-bM5|*waxkRSlQ#v^63R=e)bhNMZyu=uqmo4$oEFm+dcbaEYz`a zto));K`i>aHb&=h*|9?zPKT{@hxf|(kHXAtdcg2*QY>IMP?~mL*{dY7k;>j0+zMRG{uA#6w|j5 zs`W>gf!|LKc)|J3cfz{zbCNY91kz^9%u`3p-fj6UA>*u9zy;g?TJp>RszEQ;<^sw7 zt*>>40dcK3o)Iz5yBY4MZ%#jzu!9Hq0;7My62IlJ0Hn=*x5e^RO@plrbG4UpDjoN) z?SqkRaJ|xCUvbBCVV%kK2+TqL?3Gz?ZGd%|&s3<*p>5b|yaY8Bb(I32HNrVpuI%rw zycbHdZxsPTwu7u$dJkegBvUDncVm|22ibXUS!`Z!_0-{dob6`d&x~Aoyn48?Vl6Us zsayf^))CI}11b^9u>>+=L&cGhGrZh%y1%T@tNoOdM$68i$6O+jJU-)cR%ZEtWYVBApSRr<6feCx+&vgM7QVS_@?pQ@)z+RNk41hFJbG)xkmH zf*l!Oceo3iuzu_YMUkJ^6><~1sFPYjjs^2(B7>s2@YAkqDdYL=^K*2&mncjRSu8lt z&Fl$IKLj2O%B;}S21`dO{kJT}nFi->&d;Qw{V5skC=p`ID_F-6JAA{(>T6CYOF|m3 zQhTl4c8=RdnLNRjnt|t#t8@TV?^z8;ZYbqba0>~3!LQMVY3K5V%zo3tW~!T(saZS8 z5;~PJc=q&pVm{6KbvMp?tW*JN(9>5%Q;j8nT15?jy?X0+Sbi6L4I(SD4& zT_pwX*_23)M&@BYwK@Z2*bktB2jUPZJpki#cR(!7(NmhCZeiZ#Df#4#X-yT*H|Upszf;ulbWlc7WPwGk=>+Gs|&L(Rr$)7CYBIbXEKDd0ka=g#X?;S2#zacj>++v{) zJ>gn!eI=sjCj}4x$t5_YPua9J&2rxzIPq6bMNQs4w}8uHijV9TU__@{-p#7Nl+wv| zrR&co(#mq+Ap$O0m>WmoZfl`SXggP%^dGm`S4+YKT2N&(c5rHgZ|m;}#!Zn7*Z5zHxbi^=c2j37ICHL zrPgRex>nxmLbz(MjK^>qL5TO=dq5NCUQdf^XZdyPh4rN>9Xc@*; zn}@}y8MBa|K1EhDeG%}mcEguL^*qx&l?P{}Kn4!^dT$-dq=(pxvpxezk49p-R%rCt z@T@&>#0fD$M|uY-oNh)Vpy0FCaN+IuO3%)p1iToYz2QAT;tes)Jl3$~05UT}WwQMKmBWU`3dK zLLe$>O{Kx^0S0<&&6>T82Z-~#yy*Cskpfh4_lUI3(3;2(*~3{vJ2st1_rFgAzJrDG z`~W-rtchMi=OVyb4Er$g+_P31T?#^AffQJc_+$MbTS2gMzvw}@JW9I12O;taUMwlR z@7_Sdy8@)GeYo-(N-Ho?Hce7itIE}=(OT@g@^7nC^G^&xC!&a77qxG&!wtW#j_Us~ z%eU(G4JDAR&ir;pjI<73A2b#k;a%y3h%lF`%iuZkPc9v zzUXdaOHn;qaYgMzEE)al?*?MLg@+-M6A(Ghi_3bM%&?`4n0xHOyYskilr%5X| za3s0aQBPSa42$(I$=$P!DY4}?Spx4B)Fq)gNEPv8dxsyu`9WX&PrKgY) z{@#^k6dX1Jjg|1j^ttS+pNuvN(Nl19n3k29`1w5Chv<9YlP75+3!f*PIQHu`>KzQy zy6KTS0tdC!Iu&giA++ZK;z``N=u~?TmsWTcjygbuKN6O0&IHf13}+I}i*MepSEd@r zxA~ff=Z6TmFKIW|gAYpg9ton5u(RtX8F;;&L==R23z&k;#T~jY@1NlpK{WYflATnF z4dvT^UYrmB2^2!z{pQ)7Y&dR}fx3&780d%mjqub#SfZ{tt-wRp7je5I( z1UB$(QO;*F&r0}qfr(G+mllr4DaqR-o+LWSZ5hkVFP7<*a?=S$x#?`1V^@GL4J}Q6 z6vvrf??Q~3s;-q(dW(EHPQO%^x;$F*D^_kO`g+Ax?E9j@<1qPpuKQ3tc&q7A8v&*B zksxo9w7H+m;VJR!A#H90+dx!XPw@$Ay`2DeFV~wog5{*WP}Mt$x7`S=iPz_vp+dmI zd3-8<_e{<^2SMaWK3|OL99zX~7#k%6r&@+AR7<7@-{iigW4UY-xehy{K~V4kVi5J^ z!MpV@G>LaYEYO~PUge$S#TI3{@9iRBk)bePlA50>`WDsvynrifiMj5@>s&rImf#Ds zA!=-s;HhB`Vh~qau+GYHv#;MClWtX6vgqK|aA#9ePSj9+KG1TB3xNp6UQ4C+zW|0@K|GYPS1%Z@8`+?lRvErez^d81Zo$Ae7=&iQb zTXjsj?(Sl%Slh~Lw4+`Sr#K{E4R>`^ru5fCuB9I7jNYc-dq%x!l(Dh4kOFL}R1xSP zL}2eZsUMO({(U3NQ1zkliz|#;vUgP@ErwNvoBoriz%+xXS|x_Gi9bD4k~xvg=>`~g zZiZY`I2;0>76WvH(`gRoJoodQN;lW5G~lO~w~LB@h(X10_e|>Z?Nic&q@jEgnT4za zzUYDH(ka0f@$JQGSfF&EG|T3UGA`jqAcr{A14t%ea230|VpFrdP5QyLDm(+t3Md;< zp|X0RSaQ-^i=W4YZK<@`%_&1H21k}XzuDo$Yl^E_*BKTlUJ2j**oH$8;W)7-70r^+ z$P1eEQJd`IaErjBgc*p+Lo(U zK)9~)5nKNV&IRJG-U2zZ;Gv+*JL!|fBxsBvKacO1y~wt(ahnV22?li0a3v;GZ)J$n z>V1?fX2SBSv0#*%toMGmdqF3bFJ;g=V!Jh-6|I+m`4y8Jiabc&>g2VW=%Tc6OTSD= zL>5{_b0b1cGAS-`mjZ~P8p>wU0P`b;!9ntM0{S>^t2Tra z$`Z$>B+ug0z;sn7m0#Z4s+xAA-1mq#>!NA-9a<|WEtLG_=g0AKRyB#lXFM$|;yKs* zx_MyMS9HaDK3tv-h5>{Hm3J_&WRkj%!aiwqFMBEEi30>S#o99&8Fuaen0rR zAm3I;z9p7!MyVgp<8gfx=V1p?8GYrhzitzMnydV8jl4%wSLs}95D%?{%NEyHZ8KIp z4$}|~5MkS;EMCna>Tqg^CmD`q2a=)k5|4Py$!v&(#X|o6K5cn%Ja%P5Cz8Mg5^dW> zR4&bNsPIa&ClQJ&2Wi3bYOf^7C{FNtG)s_iFfckW!CdaA$Fnvlhe3*+F-ql9h|`8e zL?)C#DPXtsCseNB=S<;BM2te|4VfV{5*b-y7GW@8NI@ixSYF4YG1UJtNm|54BhtO& zNn%|=>Be)tCg$*r!c*E4ke-cG)<~B0@2JsLN2Wtsq+i75C?52ME8+qPNhwu7#n5Ge z#6~Q7Ij)JKq{#G}c=Ea7>Bs8KH;f37UIR&qr3@Qdo>wtASG~Y-@x-v-%ctMcSnCYL z@zy9&tsNSxX^z_z-lf+o?MN{)CLMsjL0bq@H*aN(*mhjF4(PiJytrC|OqzO{WW4Bi z{Rk=7r;z-WYTRo&fYqc^)1Ng=r4?QNxk)KNUB|SsXLd08R8M%v`F)_Cf*sR|cHH=( z1$CpssbY4cxlpj4PJqOVHHFizbK^`~iJi)dn*`V9zda(6SBh&CS^fILNWs-yu=g)6XvEU$h)r9oqw0={Ywu+>(MgD4VFj5VBsek4o_9NIU$&`xB($u}7A#TJ~) zFf=fMQQ>5N;3Kpb5fl8}O-`+Yk`hMJ+c@1=e#PbVE=lGAXG2Lc3%EJN4Fo=wA`WiRS= zFRGtEB^p3}^_8dK@Frw&2lj~&v*Sx|?A4q2@FrA+zXA5Tlgho{-nZZss^|=3JM*K0 z3FmDrp1E9Ke;6y)ZyGDwZf~SInr3BIHWW;ym*CUY$(l-EftyOy5wNhra(}@8+Isi6 z;sj8zeaN|`1SXNdp&bEu3zOoLB?07Xmk9nq2fUuQQ5iRb47+B{%EJRm)yM3Yp z+edUi{X0YM#|&$&K0kHDO-2RPGPg1fri+V4}QdWRL(uqE~cOr)skk&|9F0Xpygp`WJEQLo1-})8Bt>mJ=@E4XBLIRx&vM z$`zn50HTEEQd$}|`&{~5>mO&3!-Q-Mhj*5(s8vpqj8;cyC3zEpLr0nO56IJHSOCEilwkL&*QjS+4Ym2SZ+ z1D1PD&f1sR&t(9~xIO-r5w^27!=yC3FJu1(HRAQ_f6Ijxeih|wHmRAun_(3yz2;Qb$!hUm&A*WB zt!?!>{i~Fo8>QDI2JRG;|NX6fT$}YVgFdOkFqxQesAY#Z|&gVY5&F6 z+3H`Fq~}X@L_$E$F6Mh-UeK^+qxRfr>*(nGX5O4vA^_+_abEi#v z0|-24p4eErT6q3m&&0=Rx?-T8-C15g@3L^T^aQM0=brGn+j#H`cxJiVO`#=MT|J@~iqwD@1DjrxySQ%b~GSAL8hzxn&Qr#;6_Kky0&7xMd+9OSY2mdvI} z)+yyh2&p{fG`L)7RPPwj&bGRI78LUP|DCNAc=C+sXyR^eZS$|v_}1%qs?Ad%{P5Jv z!GHS8U;ED6>i6CL?EHDAEnC~8`=ulGbyRaOYh$(ZKD*NM9Q5qYaJrOsFYA3>e)AA4 zfTU6D7q9pfR=!AipML{YCLf-WfgbUS5VkDD%l4^AkEd*@Y-h-jsRyB`>qSZbW?^T2#kc$B!(0FLg@2@V zX@TvOa#(%pNgoYns?Dd22;KDz?_T~#=^^+n0>81DfA`sxcyW$Q!xdZ?BO%UEo zK(!5u-%I-%H=F*=F!rJ=bm0y@8WhL+`iLD_JKOh!9m5UZ)B5kWM_wf1raD-!8{+3v zc(7v4*&}bfVy*dvv#?_A@gj6_VR(MQK2;mm+8fqe8|9Dq>zg2T(Z6o~s@jLAVE^XN z<_`1=Oqu@J>+pS9~WS$G0EVTjw`V;l@SyE`I$dPvP5(=;zZ= z?F#Cap2DGV)dxv9;IH}%w63FI0EPKx+ZWQ;+%e<$>d6D_($-eVk|!W+V9xNI$t|5H z+6g<<68Ei#@6pGPgsZ)sot>9~|A*5I=UCuGyk8hF3G%+S9oZAcp`0*OEdw@QTtMO9-gV}w@zX>7XzClx~BJ=QW#2F2^o&9wujZ@)k-lpte9 zv%cXyC~cXG-uzeGyKNY{H#O6OVp?-b0x*NT0q*!KV5~)9px~_l_na}Xg`iCq2=4D4 zcFjfxx=KnWxRx#yNUGZlKusENYXUh&e&F=kgQ%iU7RWtYhB_jX)|b@%9FpO|jlvzE z<}E$RlUe-J6>!5{|2CXFwDS7WY{Q?V7||cCuOnM-0^|+2>A+5PiokNOdjix@ruV4I zEAx;CfB3H`AEVgY+0s{Yt%6Hr!kq(jWvqWR^9n!){Ne#Wgs;&+=8L3c>jwoM`5GbH zhj*;K)uuEGiE%*b0YGj;bijjJ#Zk-cAtlufBVErb%Lnu?8mEfU z?|a(~{)2TU2Ly{Ro|lH|Qd1#OVaOA*In6zgOD!&-z8LUyb^HuC6&a<{LZ;HmR5XK2 zlr9I!NZ%X4O(h0Z1fnuq?Hjlxc1+81ltxNxs|3(f^^|V^ey$#+UIMU4g7_^V?_a!*4jJK!~g$h>%dIzoN1*P-ozwmSUmeq3-Jm z1uXF6w*bJ}_PWE+!re_NW}Rvk@Dmz~ncxJzs;z2E3=cM2$|!rmm2wECACWl96TT|b1KrxUM3k#tJL zD7MbGf;9)5?!=0|choP~g|{}hv~j}QuKhFSTc?M<$v$|&{m)6T*8vas(?QOriiCY6 z$ohPaLE;)&Fx7%k zmKwVOS+Pm`ueD65+*}I)`*q$gDy$I78vpVQfSiPVCp|;WmHb-YQo4)ClT5NY_s3~J zh*PxncdsQ62#b~hz!mWTWf(wvLAYK3wX6KOvN#TbP*?PQ)(y9N$;YShw@>KJo?ju? z?VfOO8?ewJ3TlRsq!;o&%H#+R&ZuCfXdtRfIjUByg^~`@1{p#u**2w74ZQ?! zmFn1FoyM^hNekNmVOV;*mWoIkh74{aXo$H9>K7m-25;;mh>}_zP|IuRHh9t7Ln#uC zjc}{r&bXWRNT0cAw%Y-C`OTMd1b7322@wXw{t+%vq(b|-{C|wseu1I|+q=678%_*^ z`}WP1gwIDy$qZYDa=cP`GAIC%EyYTu2?!yU4R|4OvHjddgpaFQ(CNdNemhaYliWA&IOM9CVMlS z6WPJuj##h>xDZMZF#wf9+DGbeZ)@IR(A^@luJlYapD-_%I?ja>X1ISiZ;_ZlMp}yV zUxLy+2%(aq0s;0ToRbp$gE05#l#qLaKEsi zkXVnF2MTE;&CzG{2w{z=8a};LfxtrNa(U=dzPsGP&Q7m(_74@pyif2C^jQKastP8^ zm`%TojIN)WroOcFF``Ae0YCNGCVPqWh$FuQBU_iGFU&5rV-*3ut=4?;y@knRU-c-( zZ&fx)EOSHsy4{H4l@vxfaG2D18#qHU5}ZW$vZoSdcehi62P1qOC*mS`(0E~CZMJe+ z-60`>kis{_S(~8X1ltmmZmEF4V?0ffI3Xd0wMEUdmse@-GR^Ong}+FgUTtKEv#K$e z)l?~=R0)An?&c@5LF5DUix!XJifC-6r=&oL*}L8ZLIRp|g*^3Q7G6`+J+x};%t?}l z@UA-i!!4rZ0kk_Lua&zV{)Ydg01Ka!$h* z8_1zmHa)H}{^|H4Hh@`)K54)L#}nX&;;Y5?`HVjyRHPGdvW@U$Ue7jmMNF!ku54`&C5M;`28&E2)ee~X#g~F2_ zvt?$vzVzxzH=fgcNzG>eBO9+y*sMa{SdYZ%b+zrEP>3C2w7e<~22z=lU%x12tT2Yj zc(1)-`rD^~D(iUAx2PP^$W-!f>V-`d_)B?6wxnAG)2})p@t^5G(?pYuH(PK}c_K~#x{yXmh<6G{t3-vpXGr2U7w1OjEZQU%smFmWGFNfif9t?Z z!B33F4j@Tmaxb-T)?5-b5pi&z3Tjz04%m4C@U$&_l#M5`(6LoVA2G;xPWy#Spo{}H z-1yIx&oObM!;9{DPDF=ZFlsp*&n7HpX;K=HJRXv;mL1>TiCan7&P}{ZBIImP zWsX>bgh4jYOT6QVL?vQQT=k!!PiI8bPF$7G-Y7&hEsy`%sYb<7LL%cpJ#kBj262$Q z6gWv8h%8`}yrh_+hh;n(C4J6w_7)5A^cphT-@N|pl5!5Xdiakjt4m9Q3fk+#dM*KeHc}q$04PPo52%DfCQ&7Se=JZG;f(M<^a7&TEQqJjEeX45!Yp>&$PXmgA@bQ^5u)2yg}N7mrOwFga*de= zv~~+g9Tko6P@DwLZLDtt6*k#YE^3`bi2w^eCnLj+cL}zT<{QgyzFK?|zu|TM3%Gj& z<%RGKN*6Nszcd#2U=q3yUK8ohHUa^~0@!E8g7U`0yq*T~vs&bNyeVE5bQHzEoqq4M zz?P-M6_l|PE&?`MfYC)j3`UHA4*?q(&J2mbN@%y}JPWKzn2KM$S8ZqE)jjZFg5NtF zIcEwxtNC|eKhcEuyGu)Z^?1qBU!gR$@TxPV@7}Aw)h;cT$$Z}70Q-$Mqi9Ju#9?lH z#r&U^wH-jG-m*q!xfge8tgKWIQMhuLX*e9U=#eE@gkTa({4E%DXN^aKA$Iaqort}X z`5QKDlXoPakcm+Ro!BTkW@tjx~Nfj&}P?DfxWU#by=};^r5qhj> z7W(?(%=XM5&WT&{J4MnmzA`1^f&*CbRgdVm@?bmcQ9x;ujrd z1F$ec*D&k3sWnL0K|&cG$ZyF2Qr^)B2w7O**sbwab`r=~>Kuw)f@ZHG$9k^*0k(u% z1k?Z`CJ_5m@#S=_XfliTyCfO$N^Td9u|v~hLZxE&LlWBJ_l@X!1D#gJVX|L(SW7!La<&Ih2sA|+-jJS3WX zC0D&&zsGEj+f#_+PBJThn_G+4oRR}vgFOoq7Rns5L(g}(Lcr~D`0M%hCksoauEtUBO z{P$WSNl-R3Fk0q6oUx4OHub;O`yS{eoEC}!D#!igXvIjeu0J}0_@>AKu2@{r(mtda zq!*z;(Z6_N`A|gvIX;Eb2Y|tB%I4U-YUaqb+;K#tNsr}Dz@ZQuFdvas%Z77ZvtuCz zq#@K}*qA1$vZ&qzAuuCeN`=TIA&SO03Nx!(9rdAEDuU|b!rOEi(y^I{Bpl&*@N6bY z(#EhccnQM?m?swqN@Q55Xpi8S3bl?*fW#S`0_k1@sl?8ryT{SzN~4&x(6B&3H<$$00Vz&I zXrM8b1qhGIWq@q*k(fZdvV=zOLr-RhGcN)WVHvq&JS;gMda+`TAO~<;kICbjc^8h% zX%r3toDpSL!QeCY>+z<^EjqZR&d0v~S?6m8_z)-M7o~Q2`W76|Q(f0NG3xWaPl4kn zFvPmEE#xF3>bAH&CWNzFwf(s`wT>t9j>?EtA5vGc-SawQ5fV~wia$B!6qdB1SLMp`qFY<5P=XA%`;i>L_#h%@{~Jf;M@@w z*%9N5WDt&)Bu-2qo(Wo_Zst#B zph=c{z@r6=BWJPapoREwH?I1v241ki+Mk{hDJ=u`2E@#S!DBvdOeTBpb-H}mtyy1#`WK%9QqsAH+`53H&Kh#*%hqoXyfuYL7plvDw>x%Oo$kPguSjfMod zOq4ESjjA2}3faYxosC7LGoYY{7EP9l5oGA-Fh{6?qL3fH{D>Z(JkBoMwpCiJzgwrx zklE#FsthR}g0UpIkB^jr|56;HY5cupItB&3_f4{_JERe7zG7tnP5!At;{Y1)>uv#W zim@KRy*A7K5@IfZT3~816Qv%2H*y)P;jo@b0xJRDs?Cna%n9qa0{KIn4A(~CH$d|q z@IGyBZ0*1>sPtQBaPN4^SVNBfB)2=FxU>Y^;gnDL+O5AXCB8o_w58F7Whvl$FF2}_ z#M}(kmG=|5;A}OuZECv@6LAW8n!TPq5Rf>rmlGAQA-Yh&FGJW!>b0=3Hhs~w3 zD_PJl6i#9Z$!rXZiH(^Tervi~j78DbOywsxq}e#UOqgKCMxBrbnSg|W|APZcp(14h z!UBOi2>|L7@vx~vcl^<_=A(B;f!VT%JDMHQ7DE;_S<|$(JZp4(xnrD6k7>T8nEo#Q zvQz5&m$J58vG~MbbLx(_FBEg>o08XIQ}xu1ROXR4hFw0<@~hat404z8U;c~Q^Hvj& zopIaJ`P(_en&u>+o`5e;G@U*P_*t9d0@|0bEAE5SC+?kNHE?Tt!g#CcbUXDJxI1-O zRoAq29TFfPHduRL9a;Dqt&0|yh)SG6u%8&Xw zKEc6ZqF)9{gt%{TL-V~={2|W@vZ`0PN~HOMgxu$%X^Hb#@eB6(*b3pM8vpK3R#kiF zMOg*`5PT!fKMpTF?|<^6L>5;SCjM&YUYHz@JP3FB;?F%3J8~Ttyr5bUNOtvS)HnF3 zc&H+lg^VQsX4DZPK$cAdcNeCG0~tGPj*y`EXQ$N>0{d2eHc_|!v*DwQ0mZ*XhxXb* zhvw6vMRn_{MfEEBONR>#L_ZBYNZ}VOcn~ zh5SH6{y)%Or&FPWx;=OWH}MTtw~@%kOE~wFOE`{`HSE)wHEf$1k}W%2zZ`_n?ZT;0 zgzk#hGWWWd7Sn+RPfh#q1hBRdyrKTy7(eBB!}~KHtxBn7J18{#kq3TR3gBVfPet zIEUvq&arGrUy!q)hxDfzrH6ySMDMuMs0p7cKm%eT(x+{}2G{hz{bKcqK*cvoKbavn zKvj)3Wo27LL7P+9G23L%o_)zL)$}3ebgsCzvnIGoTR&K?NUDz(ct!xZqFK<*}*R)3cZw?|G zZ3{Tt84amNmTXypw)@ezZtWBg54PG)^(K!3wo}amyHlmT2KawuWB3vCihN_L1zT(G zJ$})7)tWX6)*hks>B*S$)hi^8DiMa=DD6P-)NSZ^R%KyqZT#cSU->7M-)h>PI=3?K zy%`qx(uP=sf0-)Bv0R;X-RuLhX+KW3YMmit|I$B32DXdgwYyWR&$>CE=P<0^D>sLD zQMprgKs^d7*hH)Hoya-BodZIrVs7le9^e?;S=Ry?&`!Hms;@{@mib%@N-m$*uXG}D zNR!lgb@fX2Y^LAzUB8&7~)ZbRj-*;~t-Po_Bp4^d{Y&1Bdq#{fz5TO)YVOT9_z#J4tH?SUes zjPpOA(h#@BtWFb|p|cLP&kPwukQ-dN$O{J^kEgOt6jv8U*GX#eZ5JbSE^Q6$B(*~e z-4d8C-VI7tpv`NEM8ka=-RjM3V`6w`JB%@-s9X^(IOnJjG1`?r^IaW;Qv&sie7v?t zH|Az@-yXz?$~P?;Bs}jU}@RsXTzkl9Raxoak#c41Wr%bis)8DE!t%5J(iz8< zvMV`5)83XAsc3S@2&I{ziG1dh@$%4=y(u@Xw<`>2M7gBZ@gZgBic=k?jB&U7>D^5r zWoo`oKB4R2{deOGszp;F;XwbC=`O7ud6f@)xZEWcH`P%c^b(46mEw8tCVHwr%lh!U zCjb0;2sfqpcX{N(c+an^{2Uq}#0(5Lo8b7qOOQCKm-^Btsh9g!)zJ(pCy=7Kqa`kO z&K>!V&Yof><{E-&*@pYpDk?a~2qgD5h!Z-8NIpaTN+DHy)trZ;-->U>K63A@Q=y2o z6{Znt^?2Tb>l%Io%5BM+nRTk8&WL+pd#Ww9o~=kCyrx#N9Xg*yA-ZCftx zYYB+JF61N1w$=H#aC`BNaWZS&>2H(!bkWrf=nnS(RQZUvxTxm`OGrSPp`nab<|M~= zeMEW~*WN4&>OWNY6eitN3g&vMbuGO06D`PJ)WbqRVc6n^cvGj+!sdPj!M|$~Qt+79 zr(uo3P&fFC+-J>iBbP81n^adRfdz^jm_pbm-Lwz6xRCL4EWs(sx|eUZkTU zx+&rncrtCyo(=O$+*IzrtV=*Pk0K~G-{lIbUmCq6B#9Sk5(!OaC%D{3UB20 z%9n)0tN&Dg>`>$n$q~oiza8}H;npCUSB8d>*uFPxsqid?CVqu)weTz!7LC$wc}&)-q8eHynMoI@mXyzyzI%;Xi(Vk`N;fr*8>*OFW28PrGS3RuG{*f3r@*m z(W>^TSOtE8sAP-QSOMjby#|hhATQ3?f{?MPmh3YuJIZl>MK@;%XVo<{!iZe z6g|2k%NE2N*8&fyFM{W((P$xfOP)-Pp#oMx%)(6-nOS7$mmMPbKx1eL{3X8Wia*=i z!O$_)_q!>ck37UpQgkCI5M8SWW9fNiGAw6Wa2b?U;1f&5AF~kA<-EY5f5LCwXLSah zF#6u^?^+oohrQfU3e%yvDN;jweSVhqRr-;_nTt5evm)K3>Q;WJ0VXwtr%+`6{LTB3 zny*{d0-@AJ{J}02v^>g6kX!ghIhiJR&4TP9ZxFp(ExNRb`nTh!ty6!xb!SNyc1{AP zu;g|bAUBp!R*mT~K22RA0YTJYF zHRAS!8c6pz*7l(wx4AQ{aN2sTsQa3{!X<98{Apl;Tgv zJ^s<_dHL%t`;9>0$UfF?&JTfKgrnRz!Gq?4tCsZUL@G5pW5aj|-8Pw3J=yh=YqmAESF zLa;6S2{MX*)RP&g@Ch=D3`T5iCbGck)YXN5XX_C6pjK(l^x)kX^}>(o;PDWhu8Ul5 z>o1f6Qs;;fYL$Rn-t4EbrB5?1bbj*1tT0G~@z;;8n^N_=bPaE2ISZV8!nG5dvhk)5 zrIk6X@xjLkfjd|A2#hud-H0UpfP!h|pDrENAY|g1g$@Xv{3^NRvO8+UhkVv`Uy?T5 zoUX5zmp`BZ_MV^)W^57tl&=_U)q{C2;M9)E%}+y$eQ@0mN!2-h!J34YC}{gk2Yj>> z>C@&G?sA114ov3Hj(t$z4r}oO!12En45uqTDG!fgflB{A`U$wF;z`#afxeJFyoR5# z`ToR<YbFd^8qa&`@dA;J*U*&?2`FQYaAUw(slaQrqbDJ5&yCU#AJXFn54Z4DOo z5Cn1Lxz~TMGCD0lomrne<5YabF|lRpdbXX zZS4Z>ck4U_xAX5H8#28!GoA3$=p39Yd?JQlZ7O(k!XXG?iHI)<&FA23)z8Twg2L+R zkFvysrm~j*?9%wa?i=tW>ipl7$o5ZCP2MW`WK% zr12yvPZyQAK*yFwB1Zrbb9&_UVh=Ty6q^qiYvedQ`VG^fwODpL_GzJ~q%(@;c6em{ z^G-ej`dQ|rFF7<(vIiNapmX)VRhX_TW4;oVVbt(P=T!xSVZ!i zuUL>3O2Enm-LjkOk_>zsex{1#Q5{3U(%z z!$E+y2~W^AN*RD)`X5syZN#&)p?gYL&cdub{HqwH*81Sn7ikHf2eWL}uUBy_vLM5- zJP!6CBT78V>8;w8E}V*PpJ7N^);>NJu)1NN-C2*phdnodtXrpSsH(FE2_&+{`jadkTCj_B2f3Cx-*~ z3t(6GUXK%aeC3EfE%8wb!VcS$+Gj!C{L zWHB+wi8uZ?cC-TZwCjV}q@`w*S4eb@->McoNC|UdZAWZ#DCP9)Dk$aHmDD@d#^gu1 zwpFEV*04aEa)yQR zU{gM|qc1OpYk{tk=eVQkj@a3~XcKJ>wX_50vy2@4%O4-tDk+1;t?XkSAc z?>=(tI#if87b%ATVwd5ZzIGG!+xz8|_ertLrop#whxrWpL4~JLZ|L1BzXgg- z(!9ph>0tdK0G=AF&Ty|E5qcprH+=qwAI1CqD<^aWo;?MBpNB=2GM=ql9`G)gsBv$` zw{F0nw5ebPWqLWIIIf?rM=);JkkI2Nd*+?-@K$+0aHtAvHhI83Fc<-l9xd9h;-Gy) zwi(agdB!Dt6bslrP_LXxEuv|?(348bcjN){G5s#HArp5X0Uz72RbOx1WuNb(s4Qy? zo!DoS)kpM@IZ%3gWlKil4n#UX2eyt)J|1GUM|{ zuzoY3dK2u}g^Ka(V`WQ}9;?}XpzqJn{O)+W@Z}4X>)99X%!go%Hn<+)XQ*9_0{a@C zXc%{9kcMNwaVcK+tPtPQ3!$2KGwqh#3L1ndb_Cw3`UURooAw@>K*7hSR zg>cgl50||cbp<-rxn-X5rZ)G*#w^f#yNUZa?i%Vnu~{MW#swz9kL5JW>wgImpxyWI zAMTG@jH@f)xrCY?y-`WO{*E`mV#2|Z{=?LM!go-4~hfF$+$E$Ptt%f-GEB4Kk^ z!ip$C6QgQ5BnyR2RGdaYO5b2IQ6*{q4vl?U(W*9edzD9+l`7P&?YGg@3sMIHDEQ*X zA-LMdTVW3d(ebJ-nQG$fKDDPUY}yu7!!1X543Q(emvyb7kO-c-^jG_G39T0d@FR~! zFiGd1i@-F)TU(0AbM;+&n(#?Z-5{U*3{J~QHcQ_kQM5z_4*MlhiT$zXzMKo%v}z1z z(6ybKwauj5(_hn1eF{X65_75-%cciMN6|fRqqPs9z6YbVbAhyE&Oh@4U40p}e4>M= zx1ez~6m{B4hVDSET(&6pM2A6{*m1iFQ;rDdS7N~ zg>MDbwnPk4RvU`ZhVvPUFl)isbHWa>;_A_oU*K9&-kPKg-*;tG$gtnHkv4982VuP%mDZ1@U7ta)q6w)~KW}1B1 zpUkGtb4m0!#8LMSg=hI*xXoLQgAE!2WY9`DD9AMswx(^B{4 zG>dP0Z!#fYvpeC@Wesc-+m39!zv>$AUjB=!YmaC8`~P#BxotDd<~sMe&wcKbM18Og zF+|Hfw}>K_%q6+xR$?d#Arz9DuB4b-?zM8i%dN?6BK`XQ`8(&2^T+%A^L{@c&-Xd6 z%j5a9)?EK(?k9IDd?F#@_d#0DvF}y7Me=&`+WQM7I>Xi~npOUihPd0nT9pD7z*n!p z$)g`V#1`U%SxL|r*wzu&TU6bM!UGyUvea~1F5d~wn*P}tbcIq~ohCWIpXP`a{f)+) zQs26M`$G+?SxdEi@hK6VVrJbGHSp?4tZv4X_^|FQXbINaYSV&>+U|}@cnlf&RWkNg zH{|vl-;l+?F>KneWna@JLbUKt@sH=D$;HW|29N&03u8GRtc#WB)Dwq$&|mu{9DLLY zk+TKed9NhGFbT_YS4D1JibCr3WfiXdddBmeu?)~Ow!@d2*G*gLo5hok`Q*6QrLL;L zo-`VQ`MBNUf|_HBNVa~J%HkufIV-lA`scrXKj(Jl3`fYC-PxU>i#qjK3wPR`E!>3T zpx4PE`S9TC69W^nF5TsgcQ_{Z8C{);Q^Xa+^A)>?_Y%&$FS#*$k2ZU9{#EboLh;SW zcqM1V2!ngi@+DAmYjtJyn5`_aDcwdWmEf9fdRh-sIlnaDJN!a6Hzn~ZrPjz&z%Ma9 zXj@r+{PGpr)InUCOtIFvg@;`|O@TqUsO_*O!IT?<@uuZl#WpV-9^+M;;=J7)=-Zz0 zUmq+ZQiuNvmDm)tnQCs^fd9O5hn;#RXR#ZRzZG%w%H`U{?Af0d&*%gDQ5OfFl)DvGq4%t~UFMoCqUNm(N;ffEY7!r=7L>)@*8HsbpYw#Peo88FQ@wJ0 zzRZU|My%T^vU|Hhl%nA)c+O@k;sw>t;)6N#21j2@YpGajCaquk>>0@D!m*Fo{HD2N z=8VFLhIcI9hl`tgpF3jBcuW#neRb>bmuAfxTdFp8y|%cI`QPWi46!tpjhfJ0 zKuD*1X}r7VuPgRZ99G?dB) zCo1=C9eAi_I}bI3-&u1CLB)SLORa3}+6|Ry zntd0dso`anl82`2yecqbg`*bB>oAG_2THwyEcOOi!ml%dBuT*Qa77b{G{x)=YBjFYhTB=IiIxm+v(DvpMneXT8 zB)Lm6hGsVGJWGNt5%3 z_e^|lH}W^CxpnknHd*7f#oQZ6`L%oa+cP7#{{k)@woevuhis8NR({@nlioY<&}A_j z!@lF09>frA8vlwt-#r&3;Biq=wW6xBFAO>y1Hf9zqty)9Y!lgDnhsKU0f4sTU_TC8 z8oSZTZ;n*bc`ldXJH<%Ig4jd%*rV<2N7<`|z@Yi*IWz5=EHrY&h-z3a0zK zUlH+H%4uBdi1DE24mOk*&r)zIwJNN^*{f?>Z9|b@ld;hq^PvDyCr~V>3 zAvQehX5B4aE2~9u;q)|K`xTc~P&b;-9+~(bu!oLvk!17+@Z0m(z#jC01nlGgGWz># z?55nEKHGrpMdBC*11pomL%S1;Olp z1`qX()lAztoc$tgBP7ra4gZQ-SrmTM!jMT5W?M-p{w9kSVVY&-f0v_ouZ*7=mk)q* zDD=8dD1bySUuNT(RIEASn3OxEWP`v|p=zelE2o1iBxll)_E_VK_*t}={j13Qz&Uzy z`G@E80pj*Xdz0A!D=&T_nXf+M3{oOPgd_`$waaxSs$y`)Kvl5N4T# z`Y6{HPTpP@lLz}XW06X(*`_Git6eTI-$5z<56EfH-EAYdQ1*PI*&s=<)9v<=26NFntjCi22(bmqQzvGa*ibZb7ThVvs( zdhx>zz5>WLz3>RN2(TDg|LdP>TZlNoAjknrf=U=9JnJ79l*D1zR0K0&QZv}UJqsWq zX^P>uml3_fD3p;QYez(;%_xEzI|r8~8&~E0-4m4qm^37H+9KplUVG^bAQfr>7}=cTKcX^sYK&Mhf36?RS_0qVkspk zHJSzZcQ`^uophp6@76O}4OZpYH7z+!s->DnajZNBdouVo7^a}bI7!yY;#Aa*wrY{* zfhy@BPPvI|9-(z8D zSx?F|jH1tkawtB~G)DY4T;H0BF`@m}X=@A8GPV65y5C^uZgFX|u} z=XE)-_VY;hMLkZ2{R2`0LZ2%dZ`5#Z*#L+j?5hpj#d6aKM9SS9LlALYzirWohn1#( zJIk1t>QLYwq-DZ~b(9rblQ89HIC{Dd%$f;AJB4x|d7Fa~XY&;J>TwX-S#re>62zQ`+p6D4Q%genZ;Xg6zxnfR*ySCz34-KnFG&>1~hXZG#mAz!NXG-9c zJiHX*yz3qPHw3a1?L6>zc@Pm5Mh45eW;n<|FC<*K!*G;ssIKP=vjHD z*BiWZwzER6cR%9Zgo`4^Cw$)K7fET*r$n>mmMc2UH}JqZ$xYcWz#!?+U8ND4zwUfa zmEgb9(ktzu#`I_8+oXD`=LRqZ>bcHqU@qEVJeA0rgBN$-BPB0j!UCh13s^6$AYipd zptpA8bxvHDj}9SNC_8G~SC<(q*RbQKmmA{1GQ;}oV?se%ySM;@!O*!sAhV0uuuDR! zzcGP^VGfY&%^;&jmHHXWU}Hk~a8?&@hzT=%uKwhmP}AJY|AY67?I|wcB{oci`|$f? zU>N&g1c$>05*W@A774t@=Lo#ad4>D4-zqSIs}YjbP#*~-TwU}|-oL`lyy_2b*uM(O zjq+>#U?0VUiT3NtQHtgrj5f2LY`ex6cI|1G>V6D=%*2n=zOe$0qqP*dI4~jBZnDBL z9>R>JZtIC&hvvrd|FjuN5X8iX|3Z&bV1x0>mt#y4g~G1)1SO-AgcEuvHj9!ewv7oL z50s{XDewRa$9UM|8=|1Z{MnCpQV}(Y6gDmBO{7iIlFjesG_jSWUo{Y)bn&$07irMr z3<-3~o^DEErX)S(ndoZEEvbMT{(#VjS<;}?7(em&Y*bBZXzJ#1j*QJs_w)C*a%ER; z;@@AqoF|u-=0GGF-j+wF-#j&;en%m_!}l2^UojxVcg+xUR|%B)YbcAi09}*0q!pcB zsBCk~?@T?Ks{sY30ZMnDc5MhSag6O_AU zRM=CBsmWdZ?sfWsmQCIT|J;Q#?UlSMH+}sd>ZIL1VRq$9xi0!nq4L&;3cWicyboq7 z^#k(nyx>cJWB|I$dFy?16}ILsH24gr+R&!pszPE{jnPVh*QdynkB!p`6&Hi1YE978 zT9bD1I#cTZkbeBe!-Bh>Eue@M?4a?49aQ`@`Bc?Yj+)|ey_XUVoHiw;{9dd^u9cGC z{FvM(VA{PiL&o;cxY763GoT&KAmr(9yw7<8N(Yp7r&@SH4_1kr@h{3w);xHyEZxQZ zlAm0LZyk=M2>>3NZ6cIg!DSD@10{{GAh>cijdK0h(3$dUS$!pM1Su7u@4)W2FjQr5 z^}?%nLT#02!=L%Q7bZWtzFiM&69H7knO;n2hnH2^N~|t@5XDvdEBQe>5Hr=%DWLL? z$QlF5b(v3MsK=eXQktFOZIAy-+H7@6kZT`}Ca2RS0d=Fvr^mac%IX%%drtI7Sgy;0?7*j&BEF%?vE_o=S6FRE?L%-lS^uWIDywn0|n z40S+@sY%Z1ZyIGS0+RfL-!*YB*pKv_$1yW6V$QoCPH4U41LZxQ)JD-NpmtZMblPae zo#Hjqy5v^b!yg$ldjAqCdTQIV`em=6!VQ6Q2DsP8nsUkW*qPUsx9l_)4Bu3T6|yZF zq24-I`9hYA+umLZ(-~SeA-~gWWj$Uo1-$SPy6u$Pf^aRsYEy-SGnPSCFJEUeMmHY!v4x* z78KDvd4PZ(2-3RmV@_*U!aDELad%pxtJ$M!qnbN`J%#qMEYWR9Bv)M8FJ}> zpueKg{q7Gl#R2RH#AoH4AL(rDNZRL%_Wg(KVx$44;bta>IBVcXUy3xR1a*)Ba#7)u z#16Tdu@3;H7(;CD2xxBU=waybZ%z;jF(P=n@GXxFZG@QCJiseU8uf6ZeBhH~jh=kC z>dY@s9kYVp{3)P-{qnMPQU*rxT(S{nbg$VH%1?F!;|3z7%Aq+2-qgf|0)2 zkIlndgjjv>I2mE;cl&o(sb&%ExV<^}KW8|@KO5O38a-ie7Q;A!U`I^aoAQMw?x05l9BKMwR_%Q3tQomy@{=r+*CpfeP!ZwuA7mjqm&`kp?Doz*D*jXDb zrN>VA87rY4sn7f=Es-E$kjor?upWxVZ23(ETN(~-i9N7+XB76UZ_6jpm>s(Pkn8pz zlg4fC$Mj`W!j9(iET$QA=fCIERP)^3=LKjN9A+=VzM5z;xCenG*PjU6uVs}vT0&W+ zAEHH0HnQ65)<0Mg4&o$RYfdo_5Rz+c*15k6BD+OwFo&{wr?IC84?QD8KAj0W3PpQb z{|EiUF;O#U%l;_rSC8GXebD)uOnc@reD2@jstcca2sU2^e9rI?SC%%HM;y}F z@P)1FiH>M?yho&It`mLcFsAlw00&-BJ+0Ci#EIV>a>#V4k-WN$C)se}7hT$buDUB@ zS1lj7>7@a`(o&b)(cJjZ^`eP$^c0j&xkms9uZE??dxCiI9+&<#f!D}C+A1d7@ZuXJ zzp*Z?JTP&);FZRQXIQyR@Oq>9@nP{JGd^_mpG0oo00BHLJ__Rp0^@reMauna9E7>E z0&F1oUT^t77gtV$L4j#de00w^JqRs`Z@TV{45t4$);bOefZ=(U>2skVAv_=9k^7~Z zW+}GnFdJd~`w!Z+;VXgbm7AB-MDRiG-7XPmIDY8r^(T?^^gXpRR{})w$gAJuuYwSG z3rLYjRLwV=OrvNUBpzp8bLQI02ZxlHG%R5#s^5?<-J!c zuY)A<3ZpkA6Kaag3X&)`Quv6$SKks>K+z=OB$RxbG|zzElVlkj%J53cofO#_l=|Ip z=nXlF%*B?_j8u7)?11rN%T0wgS#b%%ahf7o?la%$YPu3YzOOj!Nd~%1o)L3HBNL~9 z_jp=da%<+a{Ut;eMG=2}KjCpUN(o;#bNDu=?fhq!LM|DN9}#t!$pa|kg+kAj-Y(J6YC;;6*ygtcBoph+kFcUUWYfo0Rx_Y92lwdJ|Z$C~E(LK&kv;(sUf%YDH*;XyfjBVQTyHVYAq=(Bj9_g%NX zA)N8&2_u}}X(~&y@5V_k`03%|nF*FlX>OV=|0I><_fy}Be+ui`%z8%TpJuo&bKY*{ zpNV#}$Uvs@&m!D~B_4g|pQE`0jtF-A^Q3dbnlAhN3#@aU1LcwYi&T$0u2LraOIT06 zuXj24ml>YSQ_02rD`es5^9n@nZ2lh@@~6ilcKoY@rk&N>4)eqB8LqzF zf%@b3vu|?lHonAHT-_rC;G_1Qe%)stb4#nRaxdclHeSASfCiHlb#xZyuJSF5QAWq>AOL&>V?;{|=fu>}W1m^@KIp~yM zNIhu*DUN_dmreMLfHVgv$!3-PqyUPeCTa5&$x}dv!zS60DWEGL%dwJdz&w9WK#n6V zWuT$;g@8N<`bO-gVTphO2mJ5)x>uyVxmmzn zd{=Tvn>nZe{~z|QJg#OVf56PbrVvk%Ep|GwQm89SH?d5k0ua!cljx%7uDLE&^ddUq zdF`oyVyUat>(-!>`P3GQO-%{x;@PRwHusDoq1|Uz?s-O@c=%u1eI3ekeOq+t4#^l} zM=wo7O848B{Szuw-!#z{z@y5nuJPmx5ZcNbT6R_ih~$T!-oOO`2SE9`Cmr_%9Lvh( z!A}I7a1|4p8P^2P&Qz>}d1eHhDV1gu!YHr{>d~G5+(BSc+oRrIo}XY>aus@*xeay$ zR4e=5KLd6ztCmr8;s>9@)yzI{eFFBFsqy}GDit4&OV z3W6_?>jc@B6v1AA`WuoZb71eX`Yca}O0W;^iLi3`DA;%ANjvv)F4&Lqv|0HEJJ=u9 zuv)bA3LMbZ@C^Cf1ALL(2wOc`0tW(`ggo-jgM-SN#HC0`a4_!K7Blh$IArEo#C_5U za44nuvWngz_!8=QDVDhb4r_bfNh{|Chm%{Ju}-Go%YYa1aQy~wMA-|qvwwepBXKWV zWG9NiS7u&*&MaS&o2t5w7siT^JIb(p+jxt z_qz2pT}f()wwcoRPmh=m)IPKW|I4rDh<(@v zr!hLd7U#mi>CqpDo34_;8Hi6KK=D~{ChgO>)o?ZV7O7LK?)V6t#p-PC96kbPQ@fsp zzqbPCVClDkC;x(T8T6i1I0Bp(-R%aP(FET{^q|p6Z^3tHJ^u98WJo@#Hzryz4RV*& zd&c#)Af$lW_g-ji9rDlDt-w z*v$>8ppE)ItFDDqlE!W+$Z0_yvButTmeoM2s9zf5IyoTK*srN->;y;+NKPWv!U}(y&uv$ zxWQdfEdc2Y+Z^i8{08ZV{@i(;8w2^=_%l)9LK|d&z}&Ist$_?OdA{UKV|c;;(w@o5 zfd4nMVroX^-Gx&jY!#9KR1Lp&N-;nfzzzU{I5BEP08rZ_Iu8KE4}g+z5a>Un$^Uss z(u@HDFD|4d9&VBY{(>#9urPYNoXZ!&q^nf$pUsb0v4fEF5zULo3714B_6N2!4#o%g zF|fjNIm5-zNy0$~9i8y2GuUxoEEPoM55sCj*BR9hkZ8QnZ2d@x4- za+_V)54U-tLeTYEe5v2typIGJ>3@DkRn>3I8u(b|EmBdVDOBP~NWGUsf_LyKramjW zHq+$sD%-&aNDJ=A5uVw;M9mcU@hRwFcM){_ebsrgR@+<3 zhr`iPtBQLu7w}9weC5-dlTzc(E5SVwgux?kdJ1GxD>K0GELL6IV7d=U;0n&uindMV zD@W#yMm1Y0)+$N_=M9B>EA}c#GGx6s*@IEW-|9qt=z0U}g;3Ss#<4HxHdLW~mxnvL z-p|J+_q@&RCQl1*fQFWv9?e>nKa-2#i_$Fdwp}xFk7qlzzK5KV^$N-U{BcNRdkzpR zc;T6{G>?5)1JwXkZjTz7-M8VemYo>gfM{Ac6-U( zyk^OcN|?+G@9)|7(??X7KC!LK{u4MbBeyDN%P5ka`!4+}fO>`U(}C^Wv0I$CJZ6xX z-&|3Bvae2_z1~sf?&6nSlW13ze(XakUgdLiEYL5}RvcnADo4bOGrC1nf_pFqEhBkwfseC}8K7c{>A9IzpU94R(BGQou=x8|`=DiXuLs~riB>_PYT zVm=rxYy#>96|5zuvZ76cFN}=oPtHy1}2H z1u78>hCR%?ko6A3Q1=caqYl+{^#Zq*^h@NPJOU)`>Xcd&@ zZGzR6d)=vZm@m?-rF9GUQZM_lTUwS{s~y9jcGAP*Ep6!&QgTfA$P4IpNChw7q6y4e z#{>vk*^KlSt&r!@w@w7F^bjIAg0j(jLDD1OpPQG$#(q4I zGs)dMNLMYGWM&PN5mVLic(MCIaMP|WF6>3~k&Vv+LsR!3LB-XU*hxf^*07&#*7}1YFa#e)ENB>2prb;se5MqRj~Kj*@IN#sy=%_r@8yxmV!$o=g;`_NQ{MALY?Cd z)y_j)p0MYjf8#Z2Ei`sFKWAX`Sk-~*>Lim`z&bzLTy{W#bX+yWKu7&gK zolU7&yBTR+5eu@7+FXA(^gSf#_V^{9Zuh$ILhS2B8`3rLavzI0y;?C7^L6P>gyb@ zDG3=0`onaond*y$#&wum79#R_i~W=z4jWWIgVF>a2MGs+JJl-|>0p z(^sfo#cMziX#=nk+2#7-m8|P)DLa;j!P!MM5>1LF-n6<8Lwg^i?>#d- zrR%%@#B!~^;>r6~T7`>2mNeHOiB~SfE3=O-ihdUle-hfTEV&h$x=@#JzP{{!>SI0G zai&#AWpEym#rLPA>o~5v%1Kz#Rm<+}mS1RwEu+b594M;*1v38|UnM2E zxd%Bpo&R+s)1%Qfs8LeqZGdpgXVr_Wc;8FUYoE{)==T$xb;pUDHuD7!@4X3$=a4pX z{*Ni>IXPK5vmZXWa@$jAEziiz6%hQFmM1*!k4)lHv=9_X)bbJ?*Xn=6#2vzJB?Yd6 z1$|z4e^!czFtWqvvm{n8dRReTcpDj4cGVFK@E5<^2N`{TZA~{=wl`0{(X2djZ2Y}d z`e68k!OF)(_i?|EjZfc3Q-TJf)wT_NGrp6?(p!G&y)E0k1Yn$a4Q=~$_14VQ-W}l7 zka~{5!mr=|z4&3^c#&fIC-T($oIi3rKCuhT@kss8m%7v1_dZFUj$eKGt+YSu%g5JS z7u620yW1D0|FKB)K8(qIseozl-=K6Z~C#|Gg<%C$F&th^B{ogY2A~Di)B+a+6Q=#ef z6jzZhMLGFVX%K=N$4fBFDh;fYzIoD8^_Fb#X0MjeQ{U5@D^7mNzFBGdF+yQqnRoP0 zc6~$$Ts(8GDL{z(R;YN8>+OTo?<9%)7vvAqpC0BP{jT|NwRquW*~;$h$>6gOgUOFB z&fQq&nG50c3X~Q5zBbp#Zx5W_VVkmiCvhv*Xi>g?Pub%RO%0{DW>k~?D?&^*o6^Grc{2P8YxFLx4a zMQYw~%m-3vl=0BoODXw>#ddj8?f)` zj>O8J#|)3_qB=xwR#u$Hb|wZ!39k_ z8v_cYq{87Ztzjt~!^wyVwp~^n;{xP@uHKKKqW1)d)4umpDew1P1jvKT^p!k*C5zp% z2ck6CoHzkayYs4wn>yXi`i?v-e3-8g6I)K%WJnL8OF@s~?OesiaT-8louVc1~upD>ic+HCuoxjh@Ji%ioMlGw={K7o4-%iOzuu_vFpRz``VwEZuAEDNUX z+mz{zj&pbE@7dcwta|(7q>Ix}=?vp>_v4@{6JOnca6m7>COo98mAiOA_feNkn10<& z9o)&)JP8IRb`Wbqky;jxAGQq5u-mJ#MZe_!eqXz~YfxQlv}5B%`5ry<3C^_U2a1q$ zKGA%{GCTKHY~;Brq-pN+5|wf9GU9^jk6w1ud@N)o@9QJQ*xaWXE?TBjN-H%tMaYbn z2YHnWeAs2hh2Md$L^PY0Ppb{T?uQnQh!0^6Mq?Ld5StsBZzXHStkfwO9k&pBI_d94Of5G)zmZ%0z^5 zn0n=(*~eKK*#6MkE8*V_%XmsRz3icngUm??49}Zi&W@o!iEoyQM=tK-y5<#Q_&Xmd znjUpp??@fo6|LuvSLa;Y!uI;drp@)7%P9?HEAW-$2^3weEpDh;wEGyh^;C1{jUBvd zv&drK;QE!#PIcbP-Xk*;@uHlTH{=;wK?*u1L)o(Cp^WwX3xUron=W3lwQ~Cx+4jJG(&a|#`<#u8FA$0;scqrDdf_DIS_{zx-#tvlL;PQ%_>EX-!t0c z0&MUYz)sZFe=&HlVR1n&D*FL(+fTQAucc4hfouF8JGSOHz3%#Do5{T>$(wO*&^bGw zx$jX5ZmUhYSJI!8Cy65)Jiq?8n?A`AE2lW=Tff+np#mC}ld7L>S<`0dNqDUra;Uwq?-I=`O{31w>=UlqI18Xhd*YEg8MRIF{&{-dSCID^Uk z;kop??M6vGK%dn%|2ZJr8#^`tpj|L`>whKL$TQg{&>;@C89~CsBFZjwn4JP60RBA~ zc{w-2ffC|tIq(_fY!hIyY0z^(pCzpTaE)$X1Df-I*;oy5>EtTJR zX5cTz^S*rNrHH-^KDso{heGI=b-$h9Z$pHlO57#|$jG1Y&+n(e0I~bndi7~YnHbw2 zBdZylIDwjh)SI1Q{AX%CN0A`dy5N%MQIdrGv+k6Iw!SeQ|3$JC!7Rq{@e)9qVBT*A zT}FxeD$3ifAW(5GBlmwGO$zpZu8L7*Ol69l*Tk{11+TKNuS+mK8*NBN%i;Oc<2I!b z^5f7Q+D~a3$)Mnni6SYq<61JeWLSxbc?Z8_sfybT+d*};y_NY(t1i7+0^lTR63l*7uCcMMqbWt~R15*X?pV)()glyb z+B9(LG6q7$Y`FBIwN2Y`sX$JI4#DKAx;Zz^@4kT-h?AsC2(*CmaI#b=C`n$b9zoT> zu96R{PoUJh-s0zEFx2>h1fmTHQmyrSf?!SrmhgewXAwfoXIjgceFq;@omug=52H_|u&Pl*E`IhYpN^ml9xC~sKpd@Fmh3}D|6es3H^X;e!L21sx z6RB870YMaJn5Fi$5tN_|C-h`eCF597mb3BXQe{Sgpd2T`iXfD$O&65sWVVZ94C5^Km;cCo(D}yd#}HhYi&ou9oCTC*Cls!IqLHL5 zBg^6vv<*Y&|TeWq1z_x9RIt>qSH_hW%?zf zGmTrz&17?Oq7=dNe_S=Dnw7%-<1D*=#w;=$X3L37IPG#wf!T3#B$*9*!t6OYDM!4; zBQQJ{Ht|L?o(3ZT|Eaa;NS=ogxswPR82miUffJNWSidRj26N=(S@`J0OG;TmoaJM+ zUOM08%ul^RV`zh11hA>Mw>(QoU`9_kf1E2M`sP&4T7w%REp-Uy&PhwlzI`DPc8-)T zx_Dv>=D|uob^8+$=1I-aeN){5JCDsgy6}q^MrLGI&X#S!E=1qD{4Wa!^Fm}r_*34& zylGjn@~2raA5wN+k8cIcmzCZ2c8&w)N6l&H&3Og$$L7{_J7mKG7`e>TfQzt;(Ru%R zt#x35h}&4~)KX%!pcO_w&NYEWlBmz2_wU25u&9gvVz8^!qJ_bz z6j&6t`166dC@h*$TyX6)6Lu}SB&qDF94rQL5B_Fk85T>sC-qnCAuNt`|7M!u5G-!mhtr5!Lpme%>fjERRIZ<76`l5zHx47E6dYtF1rWgJrnj@#3(G#ciaEWa;szSC24#w71}OE8v|`HOpjpcE64cPe zz>@5HZ9^8kp-K12!yQ(4s!IVQVeg1HAC!&oL=J10;YP36oEm*NGir75lU+GwOd+kl zzXJ8;r`4N@%C;|E3a1Ajk-zG1zn-cBFcdh7=BmpW{grBpHMno`IyG+}&wLYxsmj+< zzHJ@c?sd$(68oPMe&(g6uq|cyg9KGu^w0R z*{X}SzU!Jmqmwp*HO|qySsQ9UqhIwL?b+@j0oJ>?@Ylm&>h}9y3HA{PcIT=wkUGlP(Rl5YFc!Vr zki}N~1+h0-;SKsq+jDXl-er*X`xUlsd}HlrEsX7dr?STG7d#lp9!%X(G?`!=q;f@$ zPe%Watkn>iLL6R^w5*?|9fl-+M9q+nE_m##&$5nW?v0$Eqy9muzFV5d9zVP^P_e)` zKKOb6vnT_h^$V;{2qpv=xK9jVt=sY+YKvL7$4F8GaK;$%1_MR ze&X}Hu~>+-d`J)=P6pvoN6hZbR~3J9!Ni{_JZ;Aq2+`8U z<02?bgeZSh62Jq66E6$p% zvmy{K@L(@g@ir6^CYF{*3lrpmiW8qKSB$_KyO+0K3lSv#Ii$H#g_#qdYh*=oC5Z<# z5jYn{im3VJ!C4VeuE9*ftX%|(KTMjqex@o~1j&U)UCJ;zEk?Iq9k3D)kRcww8%&S@ z$r3j@UyMrDOfKu$N!iE|b;FvzNUzwv()LFEi{Nf+YHZ7(6^Pyk6Mtl7=>HWdZ^_99 zC?+}?&dAGwlxAB9WCi(}q5P2pMFku5h5l>JN{TD#fqhYEr8H%uJg|#08m&T`+PpA&o>T*=5hu#Xt?D)FiSsB88+9TV-2b)aNMkuWzGGZ0j67HsD%8U$|g|P17Nk z6jz8Da-nsJf0r#T8gbFT-hA$B9H2)G9jQBS0@5eO*Y)q1*67=1*oT(x?wO2tO>UaF#0mqItD)pGXCl{8Vt9pF+K}{pW?DH zaUJQs0JmN-Y0v*=54TA(ZIgSx4?m4IlQXhggP)tZMYt>!#8kyvW2ujLJb@bIMJSEYXv8iofr#g?SvC?mONQ2ci|2*mXaZoaJVDo zrr4iIy{iWILE#JY1hH`6HoWV-;&X66GT{xY>?7PC zK-5}M8G;9t5fwnw4)BXOhm7z<6?ou`Lup>*V|Wn7G5LnV7(5u|)M4241|HJp6h*lQ z4<(qIGBTr|_hgM&mM z=>i22EsHG@P zfaV&syp;|n`4ygg+n51i`PF%BW>Wq6&evVLg$>yEt8&R=1Y{~D)n-RuH1}h_nS%(- z0~X}c0(XHQf8>#ZY#Q^DZ;P@vC3=hQAgIA`OZA9+BsQe^Ir!FHF~-2IN_c^IbSOyu zQB;?nM9S~^vdmN)r*wn&N;CV|l6E|z9lhCdoCK~cjsZa7-slfhnQttH&KFUv@& zbq_6-i;lpojaxpDM?`i{4mOo3(4I^teS4@#x&jUQ+FY*0deN2jxB^YRT2mV-Qi+Wc z@Niju#E1%)h!Cxcj=pzia;+M1?SeN`q=t6QyFC6eDW=z!Wm3zEF{(g#)lp+zTsC*> zv2p%Z^71w%BNNhZKP}{;xq%b6OUgRd-DT|@L#3a9BzU!q8Ci8MRAzH&y!W)CnAzndm zgmJSiB3?J%xcDn59Px&bnk-?hf_TeJ?U?i?A>QTQ{16D9MZCwPu?Ob$BH9Mi+*Ui( z5ba^<;}Zqlh!4<=$G>*m5gm;gjohUJh>wI!<*>K!5uccu7n_Ru5uLfW{ybUWL3ClV zw0`N`M9>GbE?)L0Bf7(~OD0X9B6^@X#eoD-L~mnG@<}L?0nnrKCCm(a+2cbW0XM ze9p}a+Sq)K7{J`FxL}fs7#zHPI2(EaF%)(u=BsfEVi=mg*?S6y7-`JkH&Yu$j1umK zo`zH+#+Y|C(p0}7zT_61t2%uW@fA~OmauM#UvtjrD zYufmMn1hxYKFEnh%r};z0vCTG76=c@Zb^1NKrC{pKRB3}+dwRFY1EW?PJ%iS%Uqf^ z52xm?t07ia9`>+jHXweam9Gn6`w*+>3PZ6s48$6}A~+`;jaUz;RMT0sKx}{>U3=up zgV?Nj6k=7Mf%s`t_2cok2?TSc>d$G!R$6tviS<{Xl>QfHMuMM55=)$clur6PZ$pAahct|1TU zPkhM8Bd&m_#ISO4IPwn{sDXHP6wrb^=Bm*eb(sA7&qC{F1rh*U`6W{7$ClPa{OWz< z6Fd4Dkxk&SAO~IVGnv5|&`jj|vL(m`1U+xz`#k`xc|OEfQ_XGD^4z#L7qrsSo@J!M zllG#}OQW0@{Zjj`fCnFt4s`yQ&mTY|VmsRD0-#o+WXty;aLu)rG!BT(D#mDP3sXzaiHQ%`!+0T3Mm0pqI}Q^!;c{) zfoN36hpM;ZNGV`j$7-j|SEMwM{IQErn}$RI0iUXyIzUJnVA-d_TwESf7O0Nv6e#VL zLCOI&W;(B!KDvdJ2WnEf@@`D7AQgZpy5W5`1EeCbjV}0S#~7&uBzI$b6AfQKe z%((-p3@qyr-x+g5ssM4lzr2a8sC0ssmB|9;c+uks83Z{ws>B zI!H|*`7>mxkcz|r0Rxw~j}b^MVA;TV#rQ;|HV`-1xK6nyrURTAv`zDE5Yq)xhV0Bi za4|g~YWS(*7O$8-ux)s+s$xUT07xEbfVZ6$!vX=L#=LLy#0-IDqpkjVd16LD+!zY_ zY*x$|I5UQJjI9Q zQTFYm%@9uP1n&FOsz2glmNVb07Ii(uPEy9J9b6a0tWXo>*WN!BJJmMv`(Wd=m^FE_ z;&k?wm~z_bBX66x*cse(PyD>lOx%CSnduK^DrarQs56#1cWmv%v9lu( z-&lJI#%yMe!9BcW^ju=Y#sonMF;78Ie2LPu`NKx98V3|5>*lpZI{yzYKK!3j&?XiAV2w}MGWKh6N zVp#5uzU&uc`0j@NB~fIU?}tiA=w&$YC%FJqX4vq5Ia0J|c=0BQF$`!J@>Hi&o@u!9 z*2;gLYFP76yeEInE6plE3CL1bp|;4QORUcof~!r*dwT{<9B%b zQ408Iuy`2!QSJn?pLw|6B{2qiSp88Z1Qt(w_+F=Y;(VC?QCw-gn|(O{QLVpEm5cDG z)P>jCWDfvy9ze{2004|Q0TciL015~cumA-jpbIU!0U;nD03fh{4iE$YK>z>%%RLAH zMI`h#8pLh5cOwA$6gj{(qA(*H8W)5owKTV+@A3Rbd!<ROEGr5KKSVFDf6hV zl$zV0Su!F-@&?o$!*&eDwz+m1knC}H_-w~WnbcxCX7MVd+jfkz9RpIy+N+JrjpWAJ zwB>*Lg#Eqs0g>vht$v(L7%o| zAO9Hh$N;$fOeTLL8xm1sJ4UCFjA2{G<%euONhVt-##}SQc8v2Avsn;~XcZYjXqn0l z0WW*tq1{ieUsPYJuUHXbTw2L$Apv{Mym93lsWm11mAJm^EksL}u=3h5G^V-SPH340 zNM1Wero`jgF`Ncz=z!%*T~5^6G1NY_0?U8h#c9dXX%QIqWxs`J?U=PZ1Khc3iT#jz z~Pb7V+=I<{R~m3t&^+u5smdphx`K8R>^ zuGgO2qPubvry1%mqG*#w8R+){wO(C%WbGJrqqJ|h??wRhx6+t3S}~T_i-txqWuK&* zXC`Y>Tf8(gS?kW8aa#$lUG{zbMuuZa!I+UunA%jpl+ zbc}gCk=|}x{L4U$2EZlG@?ncXd&}fR2(VSz?UYQETNyJpEcFQ%ZgaMqd6wKi_C5#G zEoMd(3={uCHVKl+Ap;{!mKFOUyT^k`6~PGY=kFL%tBK6l9@(&L9#!lED@@`k7939| zLl=e-t(FbTQGaClGqG94v7r7lcPW`{EivY8n7b3RSrANU6&XRWjLHqzG?Gk|j*MA0 zOtyou8?zxe8Y{09YJ0$8^!)>lI;q zvk%_ub>?)Nkx_QC;+SlX0Wp?rj%G!D@px3)hmhXrxJx=i3%wV}Nn~>ju5Q)Io8Y_1 zl5MpS_2%$R`t9Fq$Gq46Sj;=4N7P_DUYo<4^jrPWUQH71ULeU{ zF5OT6t~>Kx_Q!G6%#$1uh&KjYxzT_<;2kt9OJ1z1cL1~yQ!$xnJu~KQn5+MUY>v4N zgQ?VkajL|y9b^5WnC+OiIGHGoN48^_Gs9$0U}JJ-+Eg-%+hX?r4Q$7}BMCE&uUK+8 zm~Pn_Bw$$di)_pgFxxRR)L}u@XJa`s-EuIZVHmL=v%4gjY@HZ$ZJ7Is*;o)vw2BNt zuuSC&*fdHeijIsq8z%P1aL42#Wx}O;%BD=v`%J=-EC~#zrZ0?%8m9V5nN69znb|1r zvU1(sDf5a6g$4j;^uDp)fit;480Zw43E?j9imyB#*F zMP1YX)!(37%WAEoCg^=@RudPo>8eW8dOw10w}tdMnK|vYmCMz^bB%=D^zr3uK_IDi!XxC=8clL;! z%|B!EP4M~uvdwIwZANWpo7sWm*zJClkD$div!HGe+4@^szxUuWlCx(u6TLN0c4S{i zGzxXLnSDA|ZtF(bs9U?6*HqWHf~Xx6XEcb06Gyxb^sQpp*eoDKqcjbZ$D+CtXQN!b zFXP6#Tv@SO2wkJh4Bk}vf6Ca@X#13*JpVJ_04NCKJ(z1{4{$%QRqT@iZPy??Zxey! zR>CalI-LAYGD6V1>i&)Jjmef~qj;mcFKD*$2Xi)(g{HAd=l2r2oos1FxedCtSl)Vc z#9qtV-8o}fjW3$9SuY-q_n2MOF@8upP=nSNsVJLWIj;fSGMf^lpm(CdM9S2gpouLT zn*~stZAT-jKC@eojm@-f%VJ}*!AD9fn;*``W`W4ky@a)*QBAxXXZo*~B3s+G-X>Gy;7L_eqVlpWN8AMb&-d z+o$S;0(^fKQfhqVd=t1SJEK5h-$)v_DL}?vqEPiN3iMVXD{EZ#>YlK%>qSM3OeG zU~HSc2f^x=Mq=A6%Da>q#_$aQ6pUFmu1u!(MK%&5qa_Ao*lU9gv$i*|=P5HSSu#Rx zGRxg&vDt2zm4Ak8(YQ~(Okt7;*}yLfWU=(0Y@A8hq~cjnf7yK;OsWV*Qrpb#MRq+W zrdvQySumnunAjh)yVNYV$L~=j(F9vG^t$t1 zM`q|=Yn3Jrt9?=4r0JONNUuU{>u1@6Fgju6e||I+&h`>l*l4?mob5E)qQ8$`CU)>x zmxRc61~So(0bn2lZ~%~6MOi+exs(9qVK&3lz+|v^(n1c%`1c3ANmp_Jw96LFT&`-F zK+?H9G3W_5|J;!4i{QUe%kVH;E#4WL!P$;M*gJ0n2Gm~W>X+>pl|3G|V;;PsyPCvU zwqrfI2+TU=xubXbGM=B>XUh@a zIwZ#*%^P3td*1$|#eLYY^ZL0A>>3K0BWu-MQ=+Xsyn%dH>QyZwPhSc3v(96|*=7Ic zI8=*k%4iq##dgRQu9-V!URZV@VF0v?Tab>BHw*1KZ+VQ3hV-Xnx9g=cf@=t5Mm98D z2v2Hh-ICuU`Hep7M`y?DYj=(GXnUJw3;NCWdl!%ql&%%2B>!%|XWN&pWn~&cgS8?h z^M&u$xff8^id1jfM>;l~bc%SbNKt%_?JnKZ{uGwgOT8VvRpU2$){mN14A+oURq@f_ z{=%Sf`<-mm8`q3c3mX!#nO%2h?DoWeqjs~UTv(dAsf%d3ip6PdkEq+5TKdXP>5Le1 zLydT84y@AO`p0{7X|(r(O-D`b=8E`9FFuXtU$E_Z3L9NCwm_9d%$>wfy{+P&`D z^v`ME`QgnLV```fp!dsat$_J#r3TRL)Hbd0bX#8s=sE_rwF&5}*Z4U^GPXAX*reM& z!wy+PQXkeKlc8FDQy%{fMZhn==$+5zKOLaga{v?+O%yyP0lahp08(^*57-be2(N#T zoqTPk8-OqYQaFoFSsQ`SM9ONUf^Y&-gA(PUgAfB!?&cFUgs_U{L0yGV1X7~=1WJbR z1Xo^AhmZwQ`KNQPh%g3HFUeneiO^Gsdxwf}2U6$B`>Kl&2vXDYBkYW@xASp?jZg_v z3PmLDj__41usM&A3R3$_BtMWa3sPRY2f&fgBKjjek|S^o0}!)qlOzxgZsbM!lqIkV zniL z`Y4>RxPGWWolp}}1<3s>p78W19dw_N6jBWl7KWfO6;i0?HF=@X)Ta@IqHq>c6Mvq9 zqYxKTev4=oq_7%`I(?;37*hW8LB^)=SYI35r;r&^rLQ(3s4yB*bHN(+sn8FAJ`1XF z8&bQ$z9y>>98yD`Sj?=j0^CYq9Ia3tQai1bajx($O=0q{kRDRtd-2V%FdtGiY<1Zn zY_SEtBR)*Y*S7`> zsJFd%D!2?tB)eftC%Fyi`=D=Cx(-#I9Tz(^@lMotU%!RQ8$FNDH~DpGWzO%}r_D^h>C{k6o%CpoWD#b_*2 zGockp8p-Gp%|55fh%ZtQdQ%?DC@@me)RX+o$cj|W zA!soRVwC>QA_y{hO!jQgBdE}{@j}ofNHa;p(Iw~!0`@@CCWthh9*cz2Cnz9uI${%LgM@j-Do>f!_=wn-UvKWSIE>V->6SiQ>NfZJyO;qaMt1Imf}>T;)p&{ zYzh5H9@!?>p(9tPbrn!9rBG9e?cf;H#^SR`q~NQvF1l-u56%QdqOO zA@{)ibgO~*U`$e3$0{}X08LVSu`!nVpct`Z{`){qQl1>ti~Qj0swFY~fKO7++&+^2 zAW%|USfk@48$`AuL3ZSkKQC|x{SW*J&#~lm@ zBj9&jHfjwdfLT&1Ey)fgAX(EtQxqLIk&_cSYlEWlmM|D_+}#U3muqaQbSbgs2(_EQgaB|Djx^fMxy=uAb4d` zA^FyJAqN;{Qg;@@{vrps6Bdw`BUoor<{~J_B>0n**>WWZm}pY(EbIU#IB8OR^#~9i zCkNPRT=gC(2LgC%Qu=!yDF+y9QodUSZXPNJxT?D=1z2pl#Q!BM2KcTd3Z^Xwm~A;8 zzML)yIBuViHKQ*H*lWHvJ1`1(Z@#IrFEI-kaLW1_)jhj zj5QCKa{SH>*)|6_b5beUiOo0I{r)%-cyzr&sP8!w7F6=-%cphTVj*{YtpB`gyj~w;FHXmdV zkg4{Xcpqi3keSyR;U8vDkzw{es2^wWk%>`@Y#(Tll8c{C6(4CZlX^+K8y{-WlaPf$ zWglyBl)QRQA|GrJmCY@La35{3mHi9{=^t)TmUgr+iyv?BmcAM+oF8zIm(NY+&L43w zm}gZw5g&5UnA+NXD<5-knPZM(5g&9AnqfevXdiX3no(gS@gH_jo2ftpxF2`$n?dKc zd>?p_oTVFVQy+OSom9=9T_1YToxTBMBOiNko^;G}G9P>pp9Pz_U>|*;Ot7Cdx;ptE zerTX;Et(=9e+Z$naI|b6fT*F?aOMObfk>hlU%W*hg6N`0HYk!GgNUOl!rlcRgeasM zp6!Ppg~+64-^qF(hG?bIo=I09hX|%z_iKV5h^VGG_c`hxiAbk~L2Q5@is+{!?KYYp zi-@Qf*Y4aOj3}wHARmnf$f?d@>E0iXXsQXhX4oH(2&>dU{q-M^sH?C*ubm%}E=a6W zm|g0MACd3T~Xufc!Ag>1qzerI1Lm;rgL;wH)00000s9dlJz_DP!aSQsn zvH-zSaJ-iQAhQRcX-WN*v_QgAgQwBYwcx{M^}V)$!@|*+1h*i>%x2@WxWL4e=CM?{ zV8s>C$Sds$p6Hs-M=8opU>Cpz`)7J zPlXJ@V9GV%-@?KG%QRQAd&8j1Euz@(#3Vq>A%5%P#UT%b?JC3V3VGK+)iRTN};b(V)D4Y0fTy($bP0 z`_C^R(>}y{rqICCW<)4K(O}ea*=^a<0M&DD0ASOg)oPn+^wdDsfOST%)!^2^v|`=X zfY-qTAlC;V*aOi@e<0Yv*jrH;m>}6;+1h7KeIVKZ+Nen{?;zWt+OfPvdm!9E+bGLs z3n1O#+b^lG0U_Ri+&^+gz9HWr-G@)KoFU-A-I*cb2VmYj)*ojf;sD=Gfz>r32|0yt|9Zd=?)8B10nQS>Q<@V!6Ehd>Sl;tSRwY9>lfdb z3L*D6?5iY0Bq8|N?2_^o`XTvv?PDb8^db5f?qTX7`vY_U^;Api*2@l|I9Um*bqc=FdM_bD z-rQV;Ap{6m^k7WD5g`Q#`1DY1Lx>>;2$=ODI*HmL2M9R!d-Fn~AqWWA_Ch5Td?5)4 zc=xmO=5iql2pIUAY69^g3kbOQ5R0>Ar}ZxV=UY$As7ho7Md-S83>R8Q#0%~Fd8rdQ`4;73nCi` z&;nzqpSdC&a064ezZkvC?ZoXDXDi($abmwkWXkMQx6a>`%nlZQ=1G^KT)U|VSiFcB~ySFTu)O7 z=!jL72~>zCQ~G=Nn^h<$Q)>GGtX9Y;GJ8`?S7<18rtDfHSO_Wb)(V(es42kri2+(j zDoanHV_WDdGwjdKT! zu2W)2FTVMS8e`}$##-mMWQZ__ev@fsC^2@ZVP|H@G0P_=U1w-Ak?!p!Xb3alxhHpN zs58)*BWegpG`$j&+9PY|G{v#~cOz_wHMHh8B_nMpHa4ls03&Y5Hr!=5ej{&aH`P2v z{v&V*IQ^xeeIs$GIL(A2>LYjvJz%?WxFdO}Jy4qRAtQQ7KHDPNLnC|WKBIxO?jw9aB#1xK z)+2ogKtPX;D=s5`;6N!MaWo@;fI;wlBY+@6QzjB4fe64_Q&&@hU_(>x64!o%07O$3 zO)->&pmI%P{DnY8Q_uT0mWJRy6xPUxfJRfWee@lOAV*Ubir3lu=yN~KuS|XpQBxl;N>&YQ>vYUL7hNU@?c=Sp5RpGfR#RfLdoSA48}h zTe3KtSE;~TzL^+7s$g9HC5$Mm09_%S)h4Wty7 zBmK9SB(OMOcI@XYB(d0FdQD_HB(iv6uUgWB(+#$BM5)Q zB)0ftH|UB-B)6DkKIOChB)B+b>+(10B)QmS=To%*B)WKJLES&VB)b@Ao@HjvB)qt1 ziiML+B)wQ@Qyv{p9VEW^3jMmCznE!Ll!-}bz&L7CG6%v}!Pq{gK|#WJYg6m7#Z|)? zY*Y5(He$rM;sL|q#aL}qFIO>O#`rt8#N)@9Zd25V;t$9;Z&LxEW*f=a4L;=!%6M>7 z=vv>E%NTJ}H{yny%(x>0a~RE7a-GeNvd;K&i7k6E&zN&Hg5)L8ICOPBa7@wIbUr)* zA|=vzb#LqrP16{5ae?>o)VOv8HwH`9Sa-RBQz6#)cin*jN!OTodA|Z?*f@C}5)g|~)jks|ZJSF+?jfhZ{ zr6u~1j#G-BP~0W^FppC+%1`Dc{Ll&<894oLkWJ15Snp3(XgU=2S zn^XN-j&dds39y^7GX@?e5Kx>`z3(*>5%BDova=G9om1^E-wG2jo>Nx>Xz&yU&<}z- z7ZsokaGy*VXMiRa2`HfJ8I7wZ7YWFqKR!6%CKw55q3S8T^d=bz2%_DPtVJdo38A$iaqMIVV@($SEQ3 z{U=y}$yjzJuP0d`%Gx>DiYHpY%4fEpuqRt!%iiLEiYHtE%sL)gr6*mW%nCo*JSSd2 z&GH`pbthlo&5P81z$ajU&WRehxhG*D&v?vAwJTfe(dl>ACuiW&IZnb7Cuo4vNErw~CutzmEMzBY3Bc4pZP|b)Yhcxe zImWstYyj4T_XEQxZJ^e))___kZa~*e_oovlZ{XL2S)>FfaDdpXz(9v5aUj`U7P5&a za=_WQ+E4c;<*|!g@HKZNX)>Cg4pAt06q1Cc;t@%GO~mi<^QPo;Dxy5&xw0^ zhFIoAF;g3d_~xvZ=HG~z=To}~H6Q?uY^X%0msO`91cM$x08s)6tA+p+000063=sH0 zgaRM{2C_XsAs_$%2rOU&1Ofp7004r|?*LgBh~OC7>c2+*ksj1%xK;an0Wq*NlwsKf z;hSWO3>1y6oA%r{#+q2R$e4K(Vv9_6n#2|p(PWE^ZYH44dh2NhD2Z;$d32;WU1SA} z)HVNi%q6eHt_AE(lGW@C00IKYKz2C@o1aY9DIQBn3&SuCoi9?!Bu)lcwqqa>!hn;` zOoqfTX<-t~!VZSd(hO!T+hVwuWdHa)Icdd=86b^8MI|E#jcL!4;o!<-I6=OB6v?v) z1eubCF>ZVxwqq2C!PE@S%7$h*HevqJ$oe{U*^UvxE5md>mWB~i=@Y|`2NS9TlbMNC zUz<{s7i!zRd83h$XspVe&YF5;I|d1B%sQ0wQHthK zX-@-UJWAhk-CpZiKBDh+yCVy`*2;s2)^EEble-18(f>`}%}IMuGCJ1|gqSh1b{bLx6XVb6;_hz91NK?vqogpi+A(Q1W&Ge^?C!GnJhq#i(Cxer zgSY)o(!3umjhl_qwApBG`;7x>vuN&Hiv<}x2}z6U{moWoN21b>Byx6=0$6O0A+vL& z5F3^cKc27Ujib+or zJDr(UL33$CxdSjC4R&DWd^RkHf-0kWh{2YTnM#G3oPcE!l41CsWg^6g^NewFhbhaz zWZ8s8=3=O?lrJ(=Ja-xZbD{7$h!(F8=<;)rh9?8j(6u^jjyW6xX%VpDJqWMq{bT37 zXqeP6C0ejKX1h4FI}n2V6RfN&@x7adUZtx^CRz=|LaRx|^q$p3qpEK7o`s6Ws_t~E z358yw*l45+S)$Etzi}31bIil2fUcMoY`mjl*^ZI1M;W%rtZf@b*ZN%-#}*k~V@Fvw zWaT#-QE)50Y{!Ug-&;toLr1U078$slNB1|`?k3xd(&%_?%Sm(#>CCca-y0pt&3@!0 z&uh%GMP`~Hnc8^;BgLH=%L-@3f<}7SaI9QGNEEj<)+c6xTW4jP!>V7PFIIs+RK(yKm2E~m= zU<=zZ+xp2J1tZWG0YzPjNYgCIRLzu7(xyNv+LTDvZkbA&lCq|68HhBcvaTx~Q1l_9 zOcOegg(`ORjH@EsF()I&*U{FO*kiIrEwL7v;WZPpDf2$nWdwlsncEMWGFgLV>%DYG z;CjY7^}8}8ZsU<`iAri_+HADsulTsceVsB!C^(q%IUGs@RJC~0ZX z%CEN5i_v_r9TT_qdjI#9uGi%rMe9G7^0nlcN7pU2R%Ja1CUkoN9CfQjs)TB$8zFTp zO`|L{b(z}++i@hE_PKt(&$@`-TXl`tw|O(|I<%0U&B@7#FxQSrCnZ~3WE{EKN<=tp zQbvhen9QRPnxne#){e2#Zr!t;8{Lox+Sh2j_vAg_%%~*0l^#eZ>tprYKd-Y8jp#Xn zqxPa*Bl5jtPWz4#ovTs*;6tTFNFA%)onhHEWuOL*ybBu3-@kcsDK8D)I%Pz~0I)9F zm3X3i4FDLpAZi}n){ZF>&nkFF(b_R^_`8ngzmodN3SavIX$or>5yQ1(vgDz-;{six z+x{haMhgsluH$;H=`LTPQ`OgwfqT_!E*`8bb*{*?xR3^Kb_|yidqZelu%Mxzjh179 zdc@LZWv~a~7*k)~j`<2B5*ucVli@)sD>M~zoR38@5i1#BXTvhqP}v_gSYLHnHZK{3 z?^z}q5gV4p^^9@y!xYQFWNpGy=3=N6}FeQ z!@XWKBA8rQ(mL1~;4*=ptlSkawkpT%jbZG<_D5u3t8$i}4qKHY(&{q5&e^1b#5}et z=g(35+(|$mhn;p75xem;tF?IDQMM{8E9o|vxYSltqv>6{$%atu=ouGRjajA3hUG1% z=$plM+=P6pZHS?@MJC3Zbhq4700?^lK)F*8X`2c$yA=^sTM0mCD-qIr8KY{WDD3tc z18PH2?01SG%w9lP!WNk}Rz@~-fV$`nSk_2dp9e3o!@wXTTczA#!d7HQ)ZlZ^#|#sL z20#kn#o_VyUS9LR!boDn+Tvt5NXiOL#g6A=QA}bbM`u`rvUk{Eed;pVykrQUXPF2w zaXw?5JU(oWQInwO;;#IkR2-!VlO^yW|)S&nclHWdt#cUS@jM!CxjFF%=32qu2Xta8B3l)0e8 zD4_w6qHcX#u&iO3$|k{#ghGn$E17Ac;=HC^kjN&6R{oBwknIgOSZ#Lma86% z#w*6~9m@s*6Xgkmi4QYYla;qAiw?ztUX=ZW6YI*yVkCu8n89Z|rUgKz#UsWpr6=1l zX8nz9$H>^3r7o+n9Rtl)?1#^r)hT+s=0^9RSW)Mu?KVxaZEVL-7SK8mZ=-;XL^_}o z>|t%0e2xqjAuQRh1)DNM_F*A5vEpkpXj?M70GLze4)gE%$>!4lFt53ttvg$2Dh-WP z^zia`lt2zOKFeKM*p`DKdCLOH_t8aZuF=_pH8nc(l>23z(?nD z&HPI3x%-l_+gx@mbu*+Xb-q7VKM8xQ;d_qqcMEbMzt+kxP?FtB4zwrbvwQln+YELr zbTbqaccwmcpR8Q&Rvywm3r@)9{GaK5&uaMM z94Z%3A}sA^I*YBDAC!V4*IHbWl=c%~M0Bs2A9tGFTQfh``Qmi;%+YyTGr!hjl=p^# zmb=RHkvZLwM`BY1G;+OFs2935^F!pj>|;uVpte&ghHTgXNMZT#wi!(RU-mlpx{)Pa zeN26aDL*=kYvz}f#@g3SKt1U$znMrLt&tC5;*C8K-o$CH*8*Pdb~kbY!YY#-CLctZCTS*Lk0 zANkX=^CdI|K_kDni{7}feGHPrc^!ZJsH6^1y?i5FA+@P=8*$#zYg_bSEhEI9W7O*) zgYDXs2lN&&J@VWgcx%&$YiViPzD7v8dd-r(rbG=5hE(KhOKZw%HY|HTGOiSDSfvW6CW)Iwv|o6`VAjKx;v?!T06>L%Wq_Sik!`Pfn4 z@ak9P%$;?X-`I$h-4X}2k7UMC%$+c@=!#WlYhdfFY;s>CKwT*X571j!^vH8}@TN^8 zuBFmwNQLDhK1F!VR^~hDE{W={C)pu8)dJ>U$5&m?v?l2yQ7(~VR;+gyCnnb zo53%&Ez*QLqur6^XZA59-_g!>&)$Q7erMov?uch!Z>X?;gVlTzOSj&XY{xJedmI3B zrR*ebnaRi9e%Z)7t?Sm%xpY{A$Zvjy0A9RS|Q=Wb9p1~$iF5pIjkG0!0# z+1r(wf?;#aP>3Th+q;N^P0A>7hrv7=LUUBV-3Uegh0QTt`$z4&Hxe$J@Rt!%_pmuf z4_mjgy*rJLYgJKvqdJ#$X-j?Sa((@5AhoS7({~vL=ORMUI749X$Uyz zfC>Nr_!1zaD2a#&RO?)*3@C~y2~<8yEEp(@$ZOu==!|FzRLxLo*Nq4ZRG7xrpN^=E zCLd)==vDEpOJ_SRIiQz*ODj>R0#l!=#$7?l|~qpXb)70g2D`y2oO~4 zXTZposQ8C9OP5FyRCu^Up_u4wShgaWh!RvvR|P?uC=*nlK!H`8$ja4BrJQIKRElZX z%$*1oRNwz(gr2C&ACU*2NETH7mt^yx=<0WoaG{77RKMXZIHD*RR5Lh-{iDcctx64~ zXc<(qy3QG;2pUwCwS9V~sDV|8`KL%5RIlucnyBcz41XD^h#XXVG1DxnC>>O;CRaGC z$osRJ$gF4{R9!t0_pJyYR0ylBzpfxA97|X{uO}d0P>jm3C?Ql|=izfGv7jF&#R0NF zB2@Lr=~}bk>^+0dw16X2?TYSqwIC!^`4_A2w!op6`3SdQB~)$5D7XM7R3GL_6ezi% zUng#6x$ zwTiHT!Jzd^l=H$sEL8cIr~bp>;9|{c#DFbS;nkqi#UL(JRM`k+DaODqh@R2;DaT+h zRH4ols>lE^RPkKGrpcheeL+9UKrvJ(>cynX;801c3Cst8GLS1~0?h~@GhzLd49*F_ zNu6N;&kA5P)o%m+&be+{8 zI4h#4Le{`I1HxTS*I+p+l9?UY06ID9|F+qnItj~sFWNvm;9U5$+u)f0mKofDJXF4~ zL`2;nJycJ5wo2Z>XBk6A-(Wseti8TZ-~c~V%v{&c;Xpi~Km2`ERw?3GK)`RR9x3Da zK)B4rvnk}5LGtp*UMb}`LU6q`dnxAFLRj6vcPZz1Lvf7+Bq`_^M1;qE*(vF`M6~Aq zKq=~2MO|@v+bQe#MJ3V{b}8(bM&+>CeJSlYM-*l&Del-uJODerhlY>|R4DexFc z3~=kNDe<^TJW*&jDe_oKreEWSDf9SB-u#U!DfF02Iz;tODfKu^R9-n3Jt_9sc3I*v z_jpZIUkN5+_!v%9OmRTT`M7*g!%+HIPgIr1N6Y*8PwiwWX8f2?ZtPXc{WwvdI;X_` z*ipAyQpo>!QVyqi3Og86ZblG_0SdTNUT2dN0$5ZOb-)@b0}A+5=n*B%1ejInrYZ#r zI93Y3v1uv>3fNXsKjV%n2MTys3y**{DhLV~SX1`HUMdL+xLDDf?_Mej3Rqc4?947I z3kvvIK(7U8DhvvkS~7uW`YH_yI9s9tkV;84A#1x$X6EDjEuKV{H0yWGWj95M<;YKtni1u7>BkZT4y zJP;}<3NUO&hNyWeDGJbRh>If~Dk=(aZC#wF2`VcJ5NkZxJ`BGDm)6Xc&x2}YAQVnPR#PigXo&Xdii|5(2#G}!NUSSYsEMt$ z{b(y#NQyVRcGxRf=!yrL^+79Ih>K@?oWUzwD2z*llZGo?$c$s;W{N9aXpNFGl!Pl@ z2#%|jmqIIFsE*QK6!$A&NRK%-*#Q7^@D3RhX+rukl$dSrV zF3&4vXp%?()9Nc`2$TE!5y~rPsFM?1qz)@+NR)42Fz733=#*bUvvDhGh?PH}+VLxE zD3B^b_ku-e>03Lcc`5`*oH_ecu1b7 z)(!Y8dFY;(_l{vJdY~kTpZ6B$;VXMUptnr%G%I}Ip!N>qm@IvOp;y0iKrDVBqVX~K ze=L8%q7V)3RxE&Eqs1C&LM(v*qy;C%cPxUSq!Gt3^elrwrB=TuGc1JQr9xlQuq=gu zresiI(=3J{r?E%n$1I1yr*ziyUMz@UsQ3?An=FX{sjZpi(=3XhskwO&P%Mi;s@mJK z_$-Xzs?Iw{dn}EBtDCL+Gc1lEtlJT9S}c#itUig)5G;^jt?Qmk1T2vNuFaA7XDpJS zuGw)7f}T8b>O7{VRW>FF%8xWWlC z9BM4HSi??AEVTH;TB`moEVY=#nwL@=EVeksPk`1BEVtOjiV?t;EVy{aET2oMEV&rR zKB@(oExNeJu8n(PExTCA0(b51Exh>1cflM~Exnk@w+HtvzBtN+*()P0zu3wm%;T~x zzJ`mtS!>G)-XXl#4XcU*Tr>& znl04$*RaENAT8CH*vxxCQZ3dv*=dYptu5Es+09FF4K3Js+8|7uW-Zwm+XXs+#Vy*n z+hID=tu5PF+ySL}jxF5y+;kI*G%ekj-BD$bmo45n-iHgkLoMIf-m;;Xk}cri6nNj& z`m-M`;V|Gu;s!S@;?Ur2g7Z5q<8a~B*6aZ-%ec z=kVk9zc_3y=#b=xtS#v<<#u|adoAkFaqg4E(Z(n_j2_R zmM#bjkoYQ$Q~oXq3o!Y*45i5~3JcKr;*9q$E(;5A`dFbr)GiDQ5c^pcEp09h3$Xj! zdjV}O4hvBH*QYXIE)NUv{BP-&oGuUxko|66`z0~2vwP)L4YFYjY6~oBZvuAkXGe?Bq$11HrQ@JCCIOqUtlH+XbV+(f!lN^2n+^~S?YNEcNtS}!^a=!^D#MLUQXRlm%p13V}h zRT?{m{5{BKdZ7V6Xc|?aqAmwN2pd&ifZ51Es5*d)pg~9+RT7=fw?gRSaxUpZh#ggq zhS+{YC>~W<==7>Z$Rw%IS4JQNXdhLO=umnuM++bz*mlzoNWkzGCId-eAyomu)D21i zB2~en83s$BxdC^pOh6-5P?qyBP2ga+P8)zEmHi1+PaGg6oTPiyP#wUu#E#fe9$+Rm zi&7r|Cw#Sk5K|za1Qrp!R3Shpv`@SDRU+VoZa8jMBY-L7k5?ohD!xXVmRKdgmL_kS zStejBXYierS|la6z%*ccT_b5=HIc0xop(6f-}}a+6eWo9(V#}HqG-fQNQkYql_X|kQ!8p#YgFy6 zHKJ6hT`P9XruHmq1s$m>s;F93il6T<`73|C$8|l=bxzKG?(@3qWbOl$%qASgJqwj2 zy?{wxC}r|VJjk1>yt8=AhdB~9d|*hqV2tRokS0@InGmh~}NetB^n{;y~`q1rijA+>eC>GYhF*qy2+~gpk#=pO!8{9-=JO zE&H2y)FGkFOczUR_P903BW7k2?KKrY|Nn zaWH+$AQq;Uc#3Qa)+{09wq;!hOH(5Fj^(E;U-2YTAMSEPGSs6R8M0x%~O)ukmh_QpBbHX!Wun8{e3go#6>0z)_Nv0^)bkhF} zndg@RONQy$4e=1Z?o zKGw3Sf@=Em$a3GKPq=`9j@2t8zJg(v0yRtuDVV1RoE1eOSQ{4i{MTSB>-NiH#Uv{& z6W{t0taW9P)<)@(^$(mIp^RX&KF@T$9A>+U^UJQF*mhGz{3=82)aQaS-+=9nj=1Qn zNcI*i;m@jZnb>>dp?1qP$fJAz6E{Y{N$Ya8%tYKVeQ%LmovDN6TXi`i^Ug@Z+IfAt zqh-G9UT_1%$r7G18Q(a`V$P${gm<<)e=S_!405qtoPo==FcZ6HJVRSeT`eoZ7+gs^ zpGFTqwxzpS9(8R+v_sr2>7uD-9g`3}NkS*y!xC_hWYz_`k0w?xbQAAGiD&h1O+78m z^;*e0oHyKAO(lNN z6mLm$ye2=i6JW@lFr4mZX{N#=HNp>h5NC1yY*b*fF=t(QOc3ucbA=^%TnH5Ka)!S0 z{dMBs8H;xl!lr?pTTjF$MRta5@UNys(}P|$IbZ!C1_@Tt(p#SvpJa_py*_gT9|HL= zDQs2(^zc8Y^v`p|hki~yE%TmCC_AAXkMDsN(jO@^X*VuH9y6eW<(4KN%V%{T zeZ+^+rreVI1PZrwRBiiA43~5CnEGNG5t;ly0A#;9LXOHTzY{@B7?=5~P!Tyc_Bwu9 zQU8gUjX3AG^(S^max2X7Q7>P_G|PRLc-n<Z+p1`^blN|l-a)k{X?qdoSr{~9%1VeOZH=-e~;?!B|7#% zj|oH{+_N)||TiidImcgRflvzej)0n^_Z-$}@Taswef>wTAMp;v*EJ&13u-=Sb2zW2wz z{BI}^5Y*QxF0%{e1rqxz1}J_|KA>s8498#}^crxdAHECKgYpB@2Urb+51|4;$l#J~ z*)miRI5}9rEk=P}pah3FCerw!*MXqnm;g8Z0VHpYygoIN zmjvRr^|t``<)wgtUlKr%4f&hE!e6F!40`g?K-5lx0n$`n21wm$yWc%5FAI$P&6M%@ zhx{#|&@SGLMpGUFB=2J7_KoG`fVjQNHF}gh6bRV2t%>N8mj@Q^i?XtVtH9Z3>5mKHC)On4+E0_cvhNTl7|CvN4@pQpX615fWO72 z-|gg8frWpU_L6qw5kSf8$E@-wAo-t#Py2?v z2JWyZ%bLh*6`s9!LM_W{qt0*a_dQHnt#DqMFNhWdI9(uWXaJ03;&lIy zr~xoq5O)C}au07l`65c{;!DTKSV2bzpozTrVZa86&fOPys-Dx&Hz3Y6LpmHAZ*&-> z&JlmyfV8-KNjH^gcBO_AwLPmZS=4@I{n4zjcRbGYyCc1fc-UwURJXn#TD>7Y%Cya# zonr|qQ0!mfoea4GcKT1hKHFM)Ue9d`yDzumOvFhLs6|~X_#9^ge!yjxr@zJ$Bc8tc z+>$0F%HEZe_AZ`n9-Zt~TkhnXbH41A=AQ$sxD?)65?16t>8EfEu6Eudt$%qd(PzVINqPfj zM*2dF+na8pG2O9Bwjabvo2^K{k*+q%Huy_xkoU{7ehE70Qq*ex`=K=V!%_pU)ELab z9aUEu3;Z}uvjCm_C7Dn4bFbN($ijm0G8ZevBZ%4T7+50K{+DBKwNUrwWvL*voc!m} zC_jgZ=CL<&+NMUUlM6Dtg|(B0Te&W`==0Og6n1?5qAt0l=iI zG#D2_OYwd6mgeZwnsVWJ*JE0>$9wd@1641g;1>WW=`rVu-j7W7rt%uYk-~0Xrm`T@O@h94tZcR(@oSQt={HLa^o!b%TSBV`HTDe2a#!ujo(w$ z2>m5N(OXJB3*w@VLv;=QS^rgI`8wrZI3{6EgF^u*zC0)0{0)cA+en!3wOzSxN{&l{TWSHUOr4WA=ll`p^!+s|>Uu_bWd zto0+_?00>ug!$mI=D(GR+}LpnE{fqjC;~Gv`H%8Mot3ZEDEOFi!uiKeipXi;sS>f46mM_JP8sBF7ddir2KF!^^(a5rZEt zebfAFtcI#dO}w6$JzJa<+%tZ91{ilKefJ!SKjyWJ=;$}ds+=f@RC)Qe-Z;hBV_LCl ziF#Ahrm7@M5SG`ms8MR?mpn67;T4u~IL`FJTcloTnNM@`AqQX9B91Ml&B_w#s^lU& zt~i2c*uM5j(Pu6lnEliVGQbe|)zu+&a>iIf539!pc5iXgZhqY7D-Ys&oL6!>bjybD zD*j;O3B%|6_DaI7*O@P$mwCWOUwlYmClIQwMn47_|FFXA-Ez;p@@rlqQGemR#1x~^ zmhLWIQDxxmT^Dup&SrGWuG5%m>wt)J%YgzLt|luf$!4t?E&C~P>W25H8}NIc-$zA# zy{g_QTqLGSNIiV1|8lC_h$5ID*nC}g@x|YSB`@v#GEw0$zGOLeMHXl(?tamIn$A51 zB~4cYlMTSUb=!JJU53-KZ|2dj!`Z=YUe|OHqbB31P0C)2zyT$&o;zagZdm+jJUPRb zv0&l+tu%At_SU-w(D5!mpszDh&hoEkyFdTCM=|M*STZr_wlw`!=J_#`7r!iIV%KQYBZN&KBjoLaqKO2ASVXXBmxXfM(ZO#fo1YRi9Avah@g+-4YCkhc0%UX$*;X zfA(Zv(GJf*0GJ$W&UysC&K;}KAA#al}aqgLf zyDXKe>QI+d zHXG-5PuG?qtU{?JF}hJF3Si^RSpDu!HLm#C*i2CNz*6wYkU*d_AS7{y^|@E-!`PhC z-xH<}h^JA-vl8J)@=|nc(++DbIyg`s@(!*D7<|pz)i1cgK z+U)xh9OQ)-;*-amZ;cMc$jnQ6W%vbV zw+$g2`O`1P_}4lIo9W~WL+JOClr8Y>t&2mc>`QWMF}ZHt(rrnp<~v1LuQzj- zdxDZ_Pv;(L4;qU?di||9I9)3<|Ek57T7_N=98p7ujxOSYJVt8L9o+u({p6_u;O~0Q zk_9Y-VE`+0Pc(8L+A)uXMDSb|Kg>~(KN}MDhj|S))pn2JtZ+>-{Z!F*WPmmFudkt! z%O#8IQJL(NKL!%&%pBsLdEYs9ewz!eVx7aUOgr%cz{?von~JQ=W2yC2=fh%15gU}j zuDTuWKmOnXb+?ow#yIh!$FLT@8hI8nE=M7ug;Us+0`R2 z%C-MJ=ZS$NX}-2G;E*ZztU-zAn6ZrhRA^i!lzf+t=b8^M%>GKXOia$IA9^tA^5l0r z*R<7Ky?vaD^)ejo!o89@9B3JQW>jlCkH>lhp`U@~T!nLvNK-GMtPPlI;Zdf{%XNY- zBksgK^aenJ(x+Q@gPf)~sGs4cF-7!wZ5yR-U;9`(p>|Y7lDYej3+Sz4oFfvAlk|FY z+0P-DqJz$}EN^NBqJ`zUZ!Z_t@jpd=>e%$d$*vg|*Vw6}98~G2m!57B3b;aFChWVY z4rE_**}C^rF!%Gpyy#j1{g74Ydj6C=JfkR9<~uoGZhC<7T2t5EgnLz#Zw5DaL#f5- zb!2#6%&3cGJ-cdbL+7VGzXcmCcb1@5%De5$4w_fxjN7q}{;uzno>Z0RLwRRf3#ZDet5gjKU=dW>pXbKv|01W0w%ItAC^G;=UDvDZ`!0V@x>oV_~3lFlF{y^ z7ANrT=t(Ts!w%8GnMZ5>`-?MmQ_F9c_D5!1kMB=GudJnXBuq^oOHRJs$A8mhYci6k zZKa7%Xpqg4(t1`pP-)v*bF@S0D{=Tcb;Vj+<)`;hY;ycFBSTl0o?s=p3j|%Q_no7R z<@$sKIBMbxSeqflEj%Dvw=Cv;$G^yth4L*yv*gVTQbWRR?`zw;HqYLcSqHCV&mFS6 zJgOo-_Z7Rv^Yv4_&ZTh9Ce^4^??$yc|LdPWdpERjDTbUZnGzovLtALbD_5@27E;~X zQ4YcTHXlxnUS({kp5Adh+(d0H-i;STQk13@&SFiS`x0yN3>A+9$$DG4YbgR=xwmuQ zN^-q_@bbqLqw)Cd2P=wSgLStSAO@rJ`GHMEIxSgPf$wg#AkHq`M|iRk#!%$a0wmAQ zYUB`+qW9SAjd|}|zia&XyVZVNiAwDPt2Lp74Br^xl=THdLW2F>TGdcX=0D6ka|+~< z7V`|1$qCx-H(+!o^2VO_MHc-1Q9CGRHRtw)95iso+;FmlDQBrwby^^6AmTu{} z*rbv8(a(mm+s44lXzXog4-0yr=M&{ z2{)hPZLzFqPBAdq?ns0#&&r;_hE6}XdUy{8LWAr7o5xWgQ`9Ag5O(xC298-rFbDcW zL_oL`>CH#pX=g0w|CW5NS3WDa06+Xva0POqb@wjjXgA=0Xx0NyvVuDh9SFbS!Hq6i zboz1sD!SC0)zs5B%8L;Tu2b#l_r7xU>v*-*hl#+mZIs07%M9Z^SlZ3U11U8&g^&DL zLinV;4+_yU3q2_m z5W+<%=%rJB_+PqExGML4DC9c2O8Ob~(WFfAKJhVL7@Z^&kroCLL4WS(9SkRq*eGd7 zn2Mq!R5jxwcRZI`>7JyEq1B9-4Wl69XhLtK|I^8}1c~iv{0%g;p!zrlB!N~NP;-hU zN{NqB<4h&dvZ(6q_#Kr(EANDKDfG3v4c0`+P4qCyhc^jmqRe zp=%@Md|rZ-(I?y~;swNChash}Okrpdc?Raf9p&lW_@Z?9|Eedp+DW<~qN<=7>N@`w zPs)1*Dwg0?(Qz^d;8G9*t-NzKP)5AFQ(aqbibN}sCvq!x(!H{tR;H_=2cAA*egjcQ zI|aPnM|o8-O{!yBJ&}sl%<(9vo3=GT2@S>O1@l^#Ar1anY5O`>cTKnd%npcbj9O1? zBs1zO8k65JHt1`kCx~j>jq9zPrdmz$I_UXbcyF_WF50rIZ?$D8?33I^tGgcBBITfs z#Hf$%Ch_RERix&=m}=L*jdr^rhIFh8*5KDVv)qPV5(el~+7-?2p;;$(W@JVq^z{JF&UY2;mg!=vQon>L+Pu?LWnd`u zW2w@hyBYd!vV+SIqdEHdcD2v2L`Ct$tv@6BchPsSRbHd((3AdmWAPT~!TL_bxP&EI z$;}x0en^0!Lv6wxjdmU!$eLutpd%x?e@|5q?UC*u^s#6FLyqwDdPvFNw3&D-G*~B{ zZC1h>{esC`YHq0EK0$om-3FbfVjD@OzRQd`eI|NoO`6w;p z9H+%h&6K_YoZidP$SAE8IxSA^*D8HSIin&4gp^jP&K9_z#Y$_DE(>^v7NvC{laMPq z;%p;9=?9RR?D%8EXak6IYd!nP0&w3GmD}HBEnMsC3*KTwdAtpaCT~-#UixYMioA~w zF=YHY7<=pxK$_E{w0_)Nm7} zyeuIxKZ6bG`HQq%|OrY zka=W}3U%d*ZxNoMS;b3BA+YD@s;O9OITp%%`s;FNNG4hgmy3}HXQ3}l9%KcQbSAPw z5u1%(?r{5|bd-Q z%*t%1-0Yqh**v|XN!e~&{&`#@X46#ZGql{%S zt-kl0!U?n5ss4F&@;A&ny=J4ZOCM$fsnt-e#KCMQYk4|O;$U|8IzmdVBg`H|th^nD zf!!k#C(ItfaHjPqqzB9}hn@P4hva<+ z56gkMf|_m5EoEVD#AeKaGR)nyrK4@Z3+A!YauRYX0K1>wdOVR{4)cVN9?_Nt!n`I) zB2WK3gL&iIUN^rEhWUWnC-cZKUlwBfn};wwi)n{Es|g>>Z>Ph5!qWrxAiZ;Kn!5(( z59v~$VyT4%Om?}MUF6vY;=8lXF2})wKyNc|yQ{&1$%e$Y%5I&tun>2$omh)H>>=Yj z#zv-KSZKw&Yj@B0VUP5CPAUvZu*d5?zx3NwVPWyT?Vm6E!@?!{jvX_2VG%4t+P9uZ z_M`dlR>eJG98k3duS8W0-0IwNd#XR!@!1Rzy*^l{R`N6^eyG@0i8oeaILNPoHEw8F zxvkkh-hCuPSFLG zJda1((0jlx$J2E8iP`VjIT?(TL_p@;ekY6Ffa~Wrwbj~^9FDhmyb!r~L^YrJ?>%6S+{PnpV zZ4?*$W&Hds)TR|)AVHC2hQDGNqFgJwpg$D4FH}%>UEoEGi)U=BTkzKvi!a!kV&KL4 zOTMbWC3wmDQo+n-47@b{qwJM68+e(-r=+vK5_tL0r(5tjI(UWq=k>2vm*AC*U&eFb zZ&;|>6<;cI;8i&4k8%2I@M^$UYo$H}yr%H${i}MV@LJUJ4$s(s@H*-;taaiNoEZ5H zi-y;;2(2J)YX62ekXN`2>QCW~xbHQBwS({`z-lI`h6dhTxLT4cOMtha){I!+(861( zYo(QN5=-QIek?W{-X`?J+w=_q-cJ6Z1G$$8@4#)OotnhJI{`lt^eLtAuEL);SP}4U z)Fz(q#UlJIb@PSK!7VsBa_cxPzYhLRXgh>_0cPtVZ<`io#=?7Xzkci|b;A1qJ4kgS z3wVFw4vWD1argl0_e#PYG<=Zy8z_7J3_cXOD~Qg8!-s|Twj({2;Una|0cwFNd=$68 zA(-(PJ_b0jTDfZrA1^%c=!d^Y9qx_V1i~k%hpH}ENBCsqADd{oW%!iP(O&)*68?dF zwDsZ3XO(H(-$@OFS1L1rNx++V!vq4(xPL+><^MNMi%POA$7)0TDPA{=k;MYWyqg5~d?VOL3Xw67c2+i~;lIjvaD?5;wxO_%nnNbCsC8xCy?3;bz!(+9K)U z{d>2uOqiO2dxT#{|4p7a?+}3IAc#zSE1-z_>A1rQ4q`u~KNnI^nb- zS205wbnA3rFeZInFY+?!-7B&XJ(dT9UH@jva73>A9l^*-;KejNdA@Z8#)tXM_db+~ zl~S3P|B{(C?zV2!a?z zWlcp@c2-j%lm?`?!R0RVa#6dGnxM;)1q1?x$z>H^@W#qS3#nf z$f&~4VB$*DZVQj87{*GW{3GvpZsZ6K@q@9V4~8l zk_A~ol9+7{potJMk>fgtsgyR7&Q+LmM=t5$qX<{}P1^`s1JVB=(q1BvVKLT8kRz9Z zI9>)53|DWv0g}c1HRbn`Aigv;p_4Sdg%Mii^^w}KH2pbqGaZ6qoG+e`hR9)Rgd!m_ zlT!{QGmLXb))>_oy1`>(FJpy+jzT>k#q25eVaW-5z_EErf}L-W#(= z76{WJz1=Cv#tT=uzLcbS9KxLO_RRuyHN@SD+h6_8m=G5FcbH#&Fhf|b-!ZU16hWZl z4etENdx5}680Kgjq#&?Eh7)}}_Yqd^M#j5_X$WgZW5h>UeuPbhaS`6q8)2(&0%Hi` zN7${KgbbMbBJAT$Z(n+1jkqUamhKU(fxr!!4gC-+LpZpbtLR3!BODp;s{ZDfLO502 z{Vg#49pS8RaoR&&N4Tt8bkX*`K)A+Rb~aUtAlxL-aW`EZ5$;3iFI5UL2oHCR{YwWN z;yxpmenprO;aP!Id@u7G;iYd?-NyO^;k|CP86vfZ@QJrBK&XR@R^B7};I@cP(^co^w$v8A<-2o-Wn4){5Wctm!zBPoADJjOZ2*ENnJ!T`?t z&jim9;f2n&4>rOO5h$0(ZK=J8NUDpw)gu(*Nu;YWdPoEjCFGW;VW^CFN_OLaFXe`a z#<^!)jeL!W0eJL1L2Mvm3q2+shCL8*sQcvwMTUrY>ix!WiwQ(Rq-T)RD2$jb$C zc?+3D_A=WW6GbNDyuUXXUO`^qH^Z{y|Cu1m3d1T}Yi}USQQ>a|dQ_1W)NpDrdJ|b0c`Y)cpT@}K&2?C$VBqcODq%|G z&6Y@`YLSp9um04Cf}@7PTdI>`GnQ2d911!d- z{Oi3&N{p|wM0Qh1Y(-~zdNVjKWu#NSg%tN=WZR|{8$YX1+(kNy7hTf&)<#IE!J^t> ziSxYynH`kGZ-6el&X6RG1`^)|PF~Abs_iBvKh1X@c#BP02}hDyk5V*0#4RG<5mLF3 z&&`oNu(bLSVhysFk`{C2p);~CB%MZ8uOHbD&JZ=Sbwv)4GJ>3jzp4#lpRKUS#;Oe+ zJ=@t@x~w)#c-}PL_eyO9mbvd|dZ;!^$t0Sq&8UrqWVz_Hlhww-*-ut!rqte(va{&- z&DAEbIfY+h?bIfZa+=irKdVg<2$fTsS!y3(xsL}1o~TVza$(;qiq&R9UKDtW37baBDYmE2I(WkFOL~%sevS~4< zbjFtD+fGeRmcdGT2?n0Dp7tG5ig`NoXm)jS$wCskhA+eX4$~=G2bE)XMkK&Lh(%p> zqz%&wj04?ko}W7&dY<<-(leQ2;mGvd4ybx-u9o9B zvAVNJvSHV>Mr@9$XK$xQCaX7kKfU%|M-le{q|U%mxBqamj&qqy_z#{KdVQGt2vq+l zyQJM)YKLQf0><(4opn0EF?UWPC;?sSNFz64%L?-~gxnqXmq zbnC0yZm=>>`fV{Ou#tiIw;@d-P3j;v3G(q=9)mhN+YmW6=k2jN2b=r5mNZ#;bxt$rSE&y5;N2SL6FIUTxQ!z!LqKVPkaz9=4%oHog{K z_W?}NxH^cBaS$^GAC9|LQ322U#jihvG1Q=12&}{Zux|^-4`VFvGdT!Jj9{M9i8o&# zI@h_RFYG>waadYo6k#00X=j6q`tz8t@TwZ6^~^Nu ztIF{d45Z!)29sF8Wa)+u!r6v?Fxac8xG!Q(`$O|p*%+5F>2k@;2)2rSxzA2W{g0TB z(s==D>yYjqG~Wx()iFaIaXNoXH`m~(;QCSPdF{SQzsxPwX*%9Rapxa6~Y8Rb@Z_#|c>i*iT( zx!81(KzUIAVC8>VqwYr@0q#_zJca&J^jqanUgW=#L*M66-niojZg0UTAHa$K#5S#AJQ_5H!xDkv&XU8<|GtD}-`b7* zy8k5Qy%e*EYgvqmc&?xq|J`hcmFgRd_#n%@UVZo8CZG8eZkq0&x^&jwnpO3|e8s9q z7FU+!Ao{wz(@mtfeCBqu7_#NlpGWKJ=qp}>(f8$d*R?#9FC1Wam5-m;L#}eq+!ahg zO-k|TQBNMfu0lJ(6I)nHN;bkgb(O3y2pikSk40qM4wf571pwsaJTm!;Y>lxe zZ;O+=1OGv@=g_^5ci$?+YNjqXK~6nVWP#wAsY^d~ue+wmj#U~^8r~*MPF9f9>so{f`vvC#RW&mb4#JddMid+s~V9n(G%+j}DT(#O%O_Z@LZy531an z*qhlTi$_nmie_UwU%ru>0ej1N)^y%5&{2Nk+o61{Yq({lBf8~w?0(DhquRSgI|=$4 zmuqOW`@YOKAA&?xgbL4qzt9+-4TMfILsv}RVtQBv23HEBtw0a5d z;iYCn+NA~$ZWJ+U8YIc6wv@?|}a$Y#%c~2J9=x=TNJQ6zh<;-$BF*n#$@2~Jt z;+;>>d(_~tP#qGjT?f~lzMMwqGi_L``fu& zy}Nm*rr+eyP}j&uy%J)k4VJlKWrS~kbM2NlO*pO4XaYhQa^;`%n;GIP+$99$^zFld zF?}y!f0TNg?06pii(va|3G(bXg8N!ND_{2DfjrF6*{Z^1fhe8q4&}>krh4MLWSaFe zY>F3%`7f?6u)G}fraf)RMVsZ-3Ek`97en%8vzzLw{GPJD3j6FS&ij6@B=h6mtobLe zy%-s&?axpZdlnI92ipF8<7eITQ5Id#F50DWXG-pBM1P ztZP@E!b=3db#}Cb)J4MiUzxW7CI z$4IY?;jiZ6CC-Oe3cMI^Uo1>fdDKf)MCylsqZo($Nw@v?>17R@d~2L zmQG^xvOXNUsEEnRCh(~huj~RA3Gvv6rmZwwWp{x@x`jR%jrH%1bXi+SeW$0L{mmS$ zKfHNGZ2=^URl8=~;-sQI5o-Ht7+4VYJN@$a%Sk!UXEkK^2-ZsM?gI>s(s|08u%Or{ zN5Hgb>G;ND{<|xjeB$PVZZwV4^^%Pr)tGy5+2U-XdC>ZHK}u$Z(XBoGk6QK}{vPyVlGU#=g%l zlN&i%c@-MniWQdFCI5WJAe-ykucd5T^CSKwzFY6%Hs5ytA{N+&xg)~ZybAUKwEsOI!>RqH~Q25!?`wAiyoYC}=_ggtL&?OSSL-s8gB7w%$jbSvSPzN~TDHS>;| zHF*n(S^lz-ZKlV8DO;f48@?at}p*Of9Qj zuDl~}|G7ECNAE^+&{#WE+|GS+J%narDDcZvU(+kYH10o=C6+IKKe%w(+|CW6^Z6or zXUo_DeNc9mQ5mMi{@|RTqOvW?_{J-$zk;uPl@Zw~$Umq?k!iT@J9D2-L2o}S;#pO# z7(8)_{$fn;Qq)yaxfs)HXA5-S3i_mPfybXc+5!boyo+YSz8ovP_;|zbruWcIGv4Jb z31_d2hd11spK6)R<~`CaXzp40*E(Ui|02U-Az?9i3m7?dCs!}KO^ZAFYPRt+Lj~nA zKa~a5GB8_@mEG&c!ATz74LQUmTCc&rBQegZs87i^F6K8T#}^{w8X}a`gx)moF|om* zu?HtSj2E43D`mEfepTw0*l(HF7wf_j4z3()NR#+qPa`jSy3OH<3-zL>iKE^*>qQ<$tXtfNwiN;_aci36QOG`Ou8|yRtZsc%0n9P)S9bU!3$p zzsC||o>P0YPCM$G=@R+<;3`=0?hUWhzZ2N0Ml1S8xVWu(k==BOaz@`h8{}N8`+g_d z4wNnf^_h2VzaKl*j*M7h4)p1`f^W{DnE#TQ8Rh0dOsW|D@QP->h^K0jZa_W4EjK}G zPH=fsF0_F0(47pizz>GG5`kgdf`B($y3o-EE$$I!?t8{%Pi^N!n!SWqn9rV>B++E7 zHi8=Vid5gTEXf6Z7=M4ge|0iJaXG!GP?;(j3M9U{G@TmWO zh}bZ(*l^o|6O|hGz3Qzu9U1TrenZYOq7$O;Cvcy4n&h4@fR^O;zn)uPQY+8hs8X?gQ7mm`WQa#KPcC4AY z+1m~!sxX+9MUJJ_w_DP0mTU|mTONR!;!$EKW_C{ZL}jtzk;?FTR~cS4`IvptN61RI z4$4pC+r!ni>RynRc`J$OP*=&4`JrDMMh@jj zc;(Evm3uz@j#Knb4Z8W4SFWgr|7E43V?$l??fDS6aI9w^oxtUCI}4VjVu_&QEmh&a ztPGJ-KY;)0%7RO;^PldyM61^Rh(HNLAI($O9SkH%O}-qXULEBkeSAHdb7jTx(D|q< zEzg%+kDj&MT}yq_`$MNiy}RqS)5nD7DIdL~KQ#eaZSo%%y9y(m-@L-OE~b^}C7p1U zNR5X)oY!sV*ZI==%)1`DByQZWGcjP)FYYLeqySai9%zALnN58_V^AzyPI<$L=k+ro>#@CSC|S zcoz(9L~R+^7U*e9Eae=fKA~hsTBK|l;Jf*5AL11_TM`^e{K3JQog$1g6eU9u+srKk zuW~uB1fifs!{zv>>?TmvC%>ZmJ5)U^uMeH^yF;Z!yh=P>Se|h7JajXKdT4y< z#wVa`V12^viTaEm0wxR|uY_cq|I+JCwQ|vP8fp4Q-)$Mn=bhLtgo62-W4H7jAp8qm zPq#_S5s>2*|9{?&AH&p#O$TXF2dNAN*}CI1!`IV3G^LE0hBE%Dc-$Iq^XYeU`s8SA zF~gGcxJ%DqXsQDR^lBwL>OL2g&($X8I&t)h-cGC8vKZ0fu+DhRi;(g@NVFl1Gx0e~ zV;aleCiOsM#ZF&8<@0xiOD*i&E%((zQ|cX*)H*VT1dQb!Y|NsU{I*huR4+Z@ebnng z_sGe<_u|U<3SAY2PsMOI+PCLTv`SlP&7ljwh63-^^;N6iP80v5FJZ*{?R`Z`kZR&v z-_ok4fp;B;56*`+x(%*WMkMgEY>6?xRCtcGO352%^!X)fQQ+OknnnJR);ar}3+K!i(u`v5{{Rlw^v+ylAL+(^ zd(X`>``x`O{#w`G*K1k9(X=W{BR%>~KR@^8Rx=OtdgoLXn>Ol*@Oe2K)XPVEQCquT zEynlwsJe5!ZR6r!thuW#h*Up*l48vWMc#KfZ4_Z`xugCUsk)xq{E#hj@_Us|e(+}i zcsx)tK$*rXg9d;-$2c6;#G!)z2bYa6(?taLatyx*lEPFftj$A&sk_S;z%$B(qKH68B6}} zRcZq8Xh-4N)kGEokZWiFmc$BUsmWisl*~o}aTdT*LRhiSY@PU1!ED%X%o=HIq?@I0 zu<2M3_S+wMjf|t|IU?ON0z3BglTh??7zftf@V;IqB`Pupo)yB0^+&rXXM?%0Id3#_ zND(Yd9|_q1uyN8dS-D58EVaNF1a53|uV-K$>?#(R6JU~05iHRA_c8>GZH>(nDFE|e z2d2#YUXkANedsI1@?sT=kIRaV=%OB~zb5cu17|gg*M5PqyC zq|v$zEPzFwX_S*Hta{ffgs_=dLDP_x+DhpoL7bJF@*5eVPzjE9yGqvdx|v1wt)1(I z9X2)T!q`I#6W3aZ2=;EVS8m zH*YeJC}?(GBuD&IZ`JHdm)^!fOf|b9GOEE%+L~`CWwxT0)HKO>Sp%RcjpjSht&d78 zs+v8-TSIf~B+Xt^NSL2yAKMPZBSYtsW`DYzOuaQha{vNOQlBc<9GryS13PbO4&mh! z*{DaF!ytt(pUzG+M~I_H=8#cSMXd1;uJN%Q>nmT4$J3Rt-o)SM?;*-qQhDIdiAlqR zApc1`3`;isI0b@ZG56h*KM=JNU$RY`s$iQ3Q!-|Dif)8(%%-bizcaYS&p{B_(vH2a z^OJu0x^F0WB(@}}r+WdUhHcwwbzCIYuxNf=GF8W-k{9eOG(WNl@2Df-74x4&Do{z% z1=XKL^))zbx;|=tVG~>D^UIB*ipOhu+&ck%y&<6`)n693EHU&zXCL>?T^lQFZ9BHY zsDr(=B^UU;BK$?m?5e&lHZ$Nw>e@O`KE7x@UJuI>{T=*6LLZBIF3r0!qz~o{KmF-` zd#ZdudXw=^aY9M=R>hs&GZBGpeFM(~fX}aWgXzJNXFKtRdP@uF-x5Z28qx1|hm36B z&57^18?SCUeB5U=S+fDU98{RJNGJ6l>YEBmaKrzso07*4eYB3^&2&0J)qf?-2luuT zj)%<8#5yo1?sxV4O1%FuS`?>*Yo1nEJg+`oI@7l#&Adt}>>%8F~$O5Xcw;0{o zWYxbHvGe#cE}9Lz-fABK;wi-WyYY>(^P(KyPZ<|+@KGH)+}`qWUW;@rWzsF@;umrP zoVsBD6CgW1?$jvd7Q{IRCo~bR3ISXaAA+wJx@q=o9UH4A}ZvKmCI{X6eAlg<_wABe6XxGSEO!$0KR)w zqB9bOzByGvosuX#ug^32!`MX;7MNa(?gW=pY_42b-og7%rcmMjS8 zKY?wV*181(1jI2xpK3usg#q7~a6h%=K&U|bPQ@o$P!KinCR3lPmOLmjNYM=$r=Iz#A_p5;{8rIc0^vg5rP!QnD}w+J?QTARX~RH;4{wjgb!fvusL(%jq3qf! zAZqBhm9%Hts-Vb62-~@QZ3IZ@@nfpyfi@CEevH?6_f1<3gbOQ0>-^DH2LZzMJKChQ zQJ}(bTN}elZ4D4AB7>z{BJ#1eCMz`}X3L;TTZ@el`5-H8R$CkPq&$lGowg3;NtH#Ur?i=%l#CZhqQ%(55@yS=K#Z0e}2!E`~%=obhmPJ)J%mt1#H0(?63K9~z zN(U^2U`g*9G_jV~DdU{)(83|fDRq`NFe2a-_A8I6SW(jD9|=xYV%XFU@ql4#@uRwd zCwFXa5Yq7B6m44xSb7%k@<%&LdTxiqhoA6~l$mqL2$}4a zWH(A0EsO|Jj0h3NzGN8@V=J-^qA5$GY$Z#CulMKrUBC0k<2wJG`?}7#?(071+^^^B z`Fwh6Iq<6|^QnQ&>c-WO)ED#+h8H}IH~VpF{jZGIgVHz5(#(QemUqfpyP$Gvwp0<6hhekdHRIvH1dq za=w2vJ&RxIl|hhxcAbZk7&YkD0cN`r$IoDH3Kb&dsdbwNnRDDa$1UVwe;dhJHk3E; z<%N$qXTlCabCKyj#Be?u%7FWQ#9?fnQn}WzNd6U3N;xs=2<4SWXZV?D0c5^JZsl*1 zV1I$?A4W`I!KE#pjyur8DEDt>cWH$@^hdGS*SlYfbMCFY{y<0Q$5D!U1r{&dM;6as zJ`N-I7YjZyi-*Dk-{5?f^<>Q+K*gaYIElJ{7_)~^3ECCON0Qjm`P_y(kEK?|?wpoP zkfxLs4zF4!${=Y;d*{t4vi*0~`PY-=0?YUJv^Sp|gH~K$GKfi*ryasvR83L9R{rw6 z;rUc?r4{q*U#b$NN~!$hV45W?vdwbFFC!~t%WPib~`PjxdZK(^e{w%0PF`xc(+Z^_;(vwlsc zTQmVy{FHemqay)%>YsTPu@h9OWSdv>GM)||=Q6J;WW;EH zCYjfwx>Ba$&gOOOE)v(`7xQ{@cWuLtzj*_q=SoRvnE6{qk8;9MoOz=FvG=OhT}|^Q zLEgT6^kZA|=EA;;;*ehR7Sx9k_ zTM99J(6->Nd5<(>*u=Lh$GlgDI5PXqybsDdihC%nf6e>@v@m<8@5e_J6Sw*!NvEIv zozJ6oK!H4#dm>!zlOkfAJ8uOxsKmH%KMOgeOq@ueNGJ}g@P1C^Xm%e#6yEuYW{sjI z(=-#$GTD=N2f|v$$Wv8BZ-H^d7q{po36{r%8sm$SGfDrmI*FBZ&xCJML+*u}@zFkd!^O*&i_R?te{Hjfz*28_%F`79Ody6rx%bL;ZY)qIT&1we@oSK!J z~0bex;7He`VrKaxREY|5OX-{;|T5J%0HNX26V6h4L-N>&aX7Lv)Kz*cE zo46%tw7POJMt+;MN?u=1{73rZ%co1-kz0H5xwCYazLv*lu?Hord(9newtxshHpI&N z7A!b~s2j=@n_Cu~LPnd8o(mWYE+N*YYR4Ux#Q`DGUza3Qg$1{e+}4+=>NE=;A^O%F z@3f`GK_SBSN1Td;1+Ng~-^sikU5i6P)PIuqqTX2W2^sBlg`Xu`92R2jlr!y>Eck^; zyO90Ahf1+Diz7nva(l*fPkRdiAqd`CfxZ_mCa4%vSc_bRD#1DMW2~(lA?3RH)=+(z z3XZefeQQe?vDrmWaS{FIeYe~Y6y3)FI)}I^Wo*sJL2kf zyLX9_5*oOJceXFrND6Ik;gFJ2>Ad()twZV3`iJleN0n1$m=djlDA^D`{D9}<3v%$o zc&e6#@G+q}ig5b_c^p4p{Vq;ML1^=moL;4(Q2G(P%I$w&mGlMhuk<MsI26ADd3^wNT&NCeGM6)lI)M|yk0;$pJ-OND!RAy=hvCbu9#GWuh4ILU zFSpd0#D9;UXoQI1&5e!Lk#JGG#hRL}X5B%ZLxx&7G5q4V(pBxvKN_~bb<&UG*V5(D zy83Xu8UY`z$GpWloPH`q9ADouE~YO8m%#TV)y1B!dx(9$eg-FrhpDv08EhW@Gz>eN zE``tjP&i_!FO8Sk+|fSAG!H2oIv*l~f1@FEzz8mj-;a1{x*+FRw}{7mG!B$&H5%42 zfgZ#6eN)LmnF`UyI6sM-Vde2&eHxYKD>v1~krosM{CmgL3=~oke~-<%YS|xe88d4Y zsDyXE%>4@uRmLlLZU$M?PTf1Qfx)Waw+8ouZB~}F`POVH2s{%7rC^cA@kd-ycKydW zc2V|1fhP(ApO>HGD)b5Sk>k$imY>Z763NvT-cN2<3v+yq z80AXQVyGBKqXlYub6^ro|JMw}?jk=aO#8`oS_p2xTl2+;Pz| zlx?i;WY%jLMmBMUBxYHLBTVr(_ef)w5sYWrkp+=NGdyuN@pTlhIo|uEReyA0{;_{~ zB$NgIGGt;ghV6e07j%b=!kgDMZrnv!;`bJE`(hajvy`ZNL@T_1kslbxi^j|DSl$;Z z+yG#GWCfIUM!(YEctv*6uYAG-B{F6r-&gCQGQvj4Cqm(o3S+w<#^o`BXv=r~rb7ZR z7Jbn&QK%4mcl$twB?V;{KCUomnZ&k3Z(BYQBHLT)dTLuHBOF%T!VX!cFdQ&ThT4`- ziH^sUzZhAj@?ONXi^43^3NO;!sUw!@s7nSD`RBY4y##ake$LxTB9v95x9&~ zD=C)G8MwghBR?!(5b-f;doz|H!WY1 zomtxueXCrA%Oo)+)GCkRa*y4SW%Y`9`RcFpcdYVxUA@fh4Xg?XriHG199D%w1i~P^ zZ`tZK#LZMbbl9qh>V|#y=#o{j(Uttf=M1YitSc1(*U(laB=>dO-~p>rIggsvZ*^8> zbPwanuX0v2f@fN{r;b&*Aml1u@q~w)RR#4bvODRURi%+vwM>GORTaxCXVwVLK~-Z<+VK0_jGQ`Cfg8qTEeWyYP}uB|0Ve!`%K)OHh9|kl3XHxn;4kRNalB zIzT1$dW?c!xg0L+Wd)Zv?Vju--Co=G2>2iu5^9PL`bZCX?2TIJCxqf6dp8FlVK4eh zK2gK=BK6e=jl#oTt7Hzb!u>5j!G}o^E$=4xM&u&Bhw(p0>5!i zoc{eBKlFFzeeNPOTPTG5HyJ%I1dsnbdtwCrqb~ln!-OyTC+>m9uCF+HVeui_HV z21Lc7|7<4W0#ujKYv~k>cYG^)T|eoB=1Xhz1~VyPowk7940(b}f3A=I3r~(*LT?Gx zCG+BfkD<45Da6hxPV~Rc6#mXf-sqk5r^n0Fy3o7&`)x0gFVTC<)VpShb!Z4IBu%;E z4VnW6PY3v(>7qGdb?F+7#6&a~47Z;w-#>sp0NZ@lOukc(=7yzbu)WYcF#XKLvrUcY zgD__1$?Y;JG%qaVxn#lfEc785{KdI}`-W&fSltV>SMYuGVHhr}uerCIA>@mmwG0ef z)RnsGXDtg`DH`Al`f4o)qZIcyiQ}w~!H{p-<(%o(^059l|`)(Wt|lC-+!SZhTX zv~)K0vzWCKj8^)}Y16}68HO!8D>orxtpZyqs~+&4w?@Dyv{=#l&(_Cb$Z~E4>l3j4 za+loZDeIFk!N3aq4Y#*2YgHJu^5%%O8jMz{ef0O3wK@!2b-t%{$XWxoQkAORv1N^f zQL58oi%qOGVaOWKlfNEYYr*bK8(^}og3S0eHw;*+xK+fxb+!W|J$dc)&{V^#^3IXlh$Wp z(5BTPl83b+jMh{snkQy`4u);UZ<8_B=V2?&pP17z)5`1 z)QR^)`sj6IT;YdDr>yZX)JL9ovHBQ*{V{cRi;e-w{XJJICNR#3foKJ-b&LyRfa{9b zVa#RXr(ymxUoft`gY`+ruoyz&psZoI6~+xUbV}}=3+4)Y$U)9m7voMIJ~x!{661jw z`O7bwhw)^L+{0+%F;|JBat*M2j2AC6HdZJeLo8(8^7%E2xrQ2JOy)IVyxC)KCfA2C zKIHKVn&35zFJgk{SE4D#k1-KOE3U`*6F*xmq#IxYcqh|Dxx_Gmg_D}~cz(=v)YM)o z7Y1{KJ(Zbir-Zr5QY3#_zfw?v34$51-m0kwVs61$tcUz1^O#^5>FXBg^%ip*Ciji{ znVB7k355}+jWK>vm@pV*CcnJa4igTe&P>6^{$V0uMzhM=yVaOT7;9Dx z7O9Gff|2G#K4YR`a^J;|Mb}_RF#7k^#XAg442-}A*DfE$+=0xWc$s2`xl5h5=h$Ln zVvT-`)qi?`xySl3pKd3Ni6i|?|Co6Jb6;*jQO7m_Lx#~8p1tM0h>0gG68*M7%mc`h zckX$4%tPuD3}Tmvd1SQw<5+M9<}qt|9J1z$Ng%CcD#pZM66Jn9iCpEtQ0Tux$_1h^ zNrc~9yQ=`^31s!*>(jiLWa{cFpVKQ$iqW4e5+Moml=Y`HXPOt2N?My|E>+v4$*rFn zDXp_TG`e$eJjIgmc!gtjs1F~6AW+`BkN!=`4AfarY8~xSG%+D!m?{fM>6A^dYF<^N#w60&12?snTIm%0N0g_<^bM!U4C zSZ|wGtXQi<=Q1^dK%h7X z4=*R_zxUa(4K5v=_UeQ5q#SqeJ}oK{f3$FH!!UnT)g|Oc@tx;ediL z%beEy`+{HR+#B()?}B@K&zmo*#wGZTKr$kCKDIAvd9>1qa?Aw->veT59)TWu_fl5d z%<`2&dIgWOlU^R9m7XhI<6e4HEX*jP!jen=szJvOFOCV#DytrsRi@;Grq|7g9sf5u zO}||wBQIXQ51k7hmWZrz-({vp zeR<0rR~i?8O#BvLe#w>L@?=y>!StJ1=u!hK+ET-h`$#de2!l}-D5d$xDxez6V*IvU zuEqRSij8y5k5cOP6<77hF~+^_1T9|TDjhDb?UluMl%>>^N;e+e`ZiqM#wi^z)BbEz25~+6GjhwMf-Ep}5a&JpQJ-oS6-OA zpZ0_yn%q4gRpBk8zyPkKc3pKRKm$u3_qpgVcWZJ}Lz7Q$QOAV4xW7j?BaORsS^{eB zHFNr_$vvYIg(Pu~LyxvJ^*$vYKO%ARyA%AnZDJC){zFBwxC|-B;mXN-yS|-`jCWD_ z9>?O;ge?4xh(qL7P3+fb~3^#pLezY&hv7E9=?aZ{3`ZgxN zTJ$~pymwN$i}qQ_xVXT>jZ1#>eaABBbMUk!rLCicQENFXz$?TmTu6dQ9scCo8KKNa z+`+&2a_Fnor2BWbT(n&S;u}GuwA$mQwSLCB%%y#8`sC#38cTMqU1&^MW?hvU_SN}n-^}H9jCHBj{lF8My98EWL#iEeW;Wu|Om3?$ zE;aDvYI>}tS?Sm{v-|f#K1Rh6@-G3eW-$U@%@+l8LG!qxu_Iifryy{$E z8QA@7IEFtQ_et+%U4?^rNA)6H8nVbZexR+mz2V7KxP)8F@n^2c=c=H z{W5Y4_r3;|r}LZceg>Z1R6JgV5Li)O^-goC@0k*RdY`6q<$nV|-5(hIUd8H+(xya}*{8VBYr!U#mS^_I^5N<#O+G)$joe`zsN3{=w5koPZ=$_8$DSJBI=K(*@X)zOg ze%7juE2M=*($uuxnVY!L{RpiC70~T{3Gm4}akdsMumYE47kun!n>Wa+S+&p?>+mq> zxbm$h)AY^dQx7y=Vva8H4h74+Wa!C`=OQQSEZv#1&zdIhNlJz0)XUF=j8>98Bbl$0 zuJ=L2?{Cd0Tlgf+AeO|t*q5r_zG*fnerP=~ets~3%?*cyiFie2zHnRDt&Dw?;${$s z?;T-ED0TYYY?JA_Qv6)1ZR+#wl=mYyep})vG=Izr2Xrdm6shduw``n*X2#W4ObR*w z(J*}+Fj8%Cfq1-tK@FgNwNBFuY;Vsuj{RD?^X>k2zoNxxrhJ9WQl{(q6m_o`-xub} zFSd@bjV<=uGi%HlNZ)C8X^2mdo9Qbd9enO#rQFwrxAF}#+I)h(ehMwGp5|bDvU1mb zFrcb{aJ6WE^|EB@15u!?x3%`(auvmgA{2)N%$XJ&9+a+V$-a@|GlpvB?@{}zEm4W_by>*Gg{8*136syu zj#77@9$7bQi7HX_x@PIgZ4>@9yy?=NW~^_6*ze0-r9dvdsPvia%(>DPqDb8IP|c|Y zpTyhTKl%9XA2B?_Q<9{<{@;IRbJ@du)D?^Bzu z9;JR6=&EZ;e}KV5mbRw=U=6Vzb@?&k@MQ zD!8-}eCfgBVuN*dOi8!)>F~85@uLmelQO4Qd~JCgqWjDvS&9lnJDvHh8>5s*?C$xt zk}#TVAG~C+Ilp*Y-mbc3EbncAVMTGdB(WLZa<#3e;5mJvVuo`+|L;-YRcOC5-#y>O z%3{JKR=DOAk8u1MLYtOyL%m=3)he4#U7fB@hUwdi{Wwu22{=R7*FHL5;>^jUI8g~t z1qW^4GnI2y`*VGrbAPV4c|5eHSK;X1@64urP5Vl+)U*UUR_LQ{4|};z4OHJA&v>45 z3JFnk&$#HD(Au5!I?NNN;}))&&fwL}1bqEIt%mD$@*h7i@ow{#GKYeX?Ba!{CnLiy zPfm^(XlQ1-ljo;i*i;QYzK~by;506v9(1t4!9a7daw3~iYV(4467fSu)#6rIbFprU z!P}0V@hq!Rxm>Ap8T`x0WWv9yD!J>+H1)Q~-BavCJfH`AO#50Xyji9;dg#55P|lX@ zffltZ$z$@<+wr$8CMI7bX8G$bwwLy2RY~tpJl}%b=PnP26(zsD^MWn*8Fhb@-0gYG z^Y)rV11AruR5~+A&wIMyfm`5l1H?nH#yy2l{HN0tCmEZ2#ehf5OT5NC)-fsUIZbdv zbG&5r33t=F$fS=?PQA;#grTsWP- zTat_s4?Npq_>5yzJF0U8>05V13i2es?(AX%C4k8U-0dhGR*?gy*RUsG|(_+p=nJVM0gOS8sjopLna15aHqfaD+P`giJY z>YTatxM)AFx-I31ZsXq!_w;b3XLCS!%AA<)8vhoLq*p@_mxZ#Pnkjs#C`MYhKF+hl z{Qn+B@}p&Ih^CVz*QaFJsxfyvx5m3OytNc~a>j@n=S8Jp5(; zuRq)&h*7&X{UW9gwJ^e~qmgyV|2yySWxy_oJ|9p@7vl!jxk5$`TG-&4HvVq1o1q^ z0LnXl|E^7^c^mzOD0e_-(F3<{xtpgDOBYpT z`3#43T&^v0WB=5K;9hz0=xUWHA{N)UTDsM z8S{eL#6;=+4J64IQ|Dyf^7-9hyR1HXN6cCMkmIUND>xiLP&BKwA?26q(2_*@64l?1 zCExUey0mYoSXvM_to&vfbLrI0AJ>A|l9mJ1y18)?uQ16bo?L;y*FURajY;bU(2?+R z>Ews6ToTQ64gHIjUvFDZ)Q5)cbap9x2$Nnt=46W07QOydx2(n@)FXSsx%Sce4ZZBP ztS>xw6CzrbEh2`F3IHPq^>rmi`6<7A@07u-sj23R`^K!Y$scQt3L#%yFin0<4UP-Ay=zkf+gwXlD@{KDxFup& z%k;ScxZb^V8q=s|G`c*52gof`cdvjS1YW{T#w+WJzz5H(aJ+!`H=F8BAuG?7n)E{e zbcffnR-X?zGvqN|$GqaGXILL{82CLz=W9@e^Iv5&eR!)>=l?K>+^CE@vhmMpvq@$1 zR#JE~B3dAVdQ2h2Jmx1eXN-%6^Cq*2&ur zAZ&+lQb3X8wades8Ml6Pj-*QiTPb%fM)hR?stf8olSwvg(jJo&36TXtf7%+_j>C|0 z(NPMi6aDC>AFiJRj{!?oUDQdaJW%&)5-~;V6IOll1*-s@wh0|#t+?2nZ2U@51QwI! zu6)~%r=EORUOe4Dj|#am6Q~TFS9YwKg{lA&SX@}gaDdygVJoNLImhNH z#{rnX?GG681iG>8}b@d6FC2%_T)Ov>a2Ovh9XwW z`RR$rn@TJCPeW$^DpRzjr`^rBRFFE$!nm4kME^v8QuMz-T_8%Og0utG0}zaS-d&nY zlvBkX_7srgb4?o}yz<`10OU}o=+_Sl9Ou+Po{sO~67Fx}y>$FQ;2FT@YS<1p)Bv!7 zx?Sd>8RS!D4r0#&J%-bzyenmfOT-wtJ~ofWblt3KK5?^Ve_8LwSvXyr(lISRvs;W9ZEVTPzG^0>mHqcwU%I z`Sq$;glq~NSY!r>BFun$6OSK=F($z;en*MsfbP`WM{r&XK5S#IvP+$uR9kf*>+W?X0JtvhAw!ptbNPT5tMqd1tFDgVVAUIe148dy$2-uCw z9WS(@?Ao6|*#mh|pAMa5H$AL-p-OfD8qW?Zsv#VK97>})W98U8P=k08sQ5LIh~&Kl z(7#klYZj7Z(gL(lPJsBeDp_qdnS1tTpQVi z=<|XA(Ji_Dv~VGUTHA95}X(Cb;RYnqsgfkSkV{-jIjurJ9az$PM1*opAh}Kkyz8QQ083@A%bF9NUSEtE?gLX&$<4Urd>qc zy^>320d|qNIQLLlb-Sp|xPze>bGzvD`%{W`Bw>BBwq1-clWhBA{*c|BkoX_c-RpLD z;Sc@_K)fk^BYLWS^Lx7}Gu@B)y8SQQAHe{_M5PqMQBmx@S$h z@Nf1na2c@s<{9=`n;AS_mE!i<>6sD|f|2%A{pUb_rigtG^La`!G|>KK$cz2m84vqh zc$S7{x3+y=U6#Rs{VQQ=3NHJ*rvG%l)MobTKqjF;nnvv@E0n?J*fXCeyp~@S&F8p>%3EZt9eYifp;@faB$XrYxo zA0|uCu{7NQ(Ye+YT5Y5KJ4$)YVMkZ{He?0A^7JeF_WlaT{BmRa_koq|$`-fmJD^qA zGiS=}J84ykQ{!_E3~coi{~L=AT`ScuZGQzhbW>`|Po;fv=t0)o6=F*aY-;9a?l45r#H{?5LLxqqOEq+n%cqOl%AN5z}Ez7`D>l{kPX+ zT)2?_SM3q^gb1pYUt9-t_$(~SCW>Fxo+Q6Jw|?X86rv4Zg4g@PX!AW7`JF{Uf|hd}v0Ry`*=+ZB~Zd*<%E}o0CN__@PM--{lyEqjy)? z$B11=BTljhE54*o-q26_kJg}7U^541! z;!}y_S(y#Sr$e9Bn>UGrZ%!V$@RxT;YMm#0t8nO=(T37CYWR7OZTLU-@Me&-@D6#T zH1kmAE@HHcE-$vn7!4CD5`~BmnQ@2$0}kG?+{=yWoP}c}Y>YgY2x=T_w&iqyJuY;R zz3s>?LY|=2gedSJKCkdCSRG`1*3H}+LZh)N`IxlaqG3>|pS%p+^Uui# z3bKTy85;0WQ4X>^d+=1S(lP3*4&ejJ@VGqNl7jJDc?98Za`wlMcN zMIH4;NZZz00dE{ni^%=Mm7UOWJR?H?2hj)_bTkkl>>NJD2y{Fv0@)1}FZ$+aNZmcn zOrSWPGuoq;m9QXS#CZeO-pNNs>H9B_m9}xm3nGU49N>Rus(P0qFB*$5e+cFIn1pbG za-XZhOyOLhk>TW)SzVyiWp{Jj0gzv=`<}(-%>C#KsB~`7DWb{EQlAGL);2P=V(vIp zqtGD-LDPdpH>}~jU?gHu0aJ%L5H7#!>03r+d^5PcKU}wzE0oU z_DuPLXW?{BAeh}vx{lX} zf|mn&R{>_Q;ORXuLSVZC>ug$u|GkwH# zaqw`^=HfMd2{7J(o8isO0ax06LL@=B;PS37Tnbz?OXc#boAeOP@W)AmI;%+>0h|9^ zo`?me%YZ%+v-s=!vS3EhQ75^e8=B0D?r-2tEsC5sw!tDu8+mL>=#2L*o&J|tnY3Wt zK>46^S|+!l3Sj&P*`^Sh#uc-IP^=<&Fd9M&TXB!JXNFUhK!JyOwh>5Wu*>13Wn_Of zOt2~{Pz6-(`I&bq8j1krvk68dnqKtNwixVj@JDt#<<81(w5IS~$_bG2JHRv+c@i|6 z{fWKT|By}4iQ^4a?Q#6$a{mxi&D=B!MdqW~=RNF+Ka5r1nH;Wsz`rtYD2IG_grf21 z_;u??0!X9~20ipxu%FBo_9r1w6Lb;TWhFwjz`H4ZM<}$kApL|StTu>Fxip zVe*_cxW2*6!_hCkUO2WTBaQL466?Y$KVfS ztXy$>b3c=E8jQYm>A48<3^=wO+jK0DkXC#4 zPa%VS%3t_3(HK0eo+entYXb5;+o~xp?qihLj=9 z!Ty$GMl=Tb{LO-Lq6G+VxkstsMS(^g9h;SfsC$CVRVYhv;J50BYPLf*q=sw-9xK1% zT#G=1Asietbqu)}2d;XeHKT=^d}VlV&^Asjbjn<4IAIQ#;C` zgIitM={?(FUD2sSgzU)WKV%>*Vp8;Ox{> zD8(o6s~3d>-#FyG?PEW`p(6i*j0gWE+r0dU0Khm0?L+;HQtb}z0U`*x&gvZg#On-( zR?l4;EaVU)Zx5kdKz0m2VVKRNCjK2EUj}=a^Y)_%SMVEIjf3F9ly>cAGmnhPkO;tv zpVGLjoLjp;*>ggU?zU2L;mzk`ge%Hzej$_c5O=QX;E5>(s(UckeYY=)Mjl7k-T^En zmdDLCiq=8(jli z(BF31tO+zNb)Mu6KF-UN`61^6HZ|&w{-no8FK7~c>lHpeU(|y5J-;|~eo31;Kdp3c zS;xr#i^-nViZ1J|Ns0U~QUI8xTNCqJE)eXJRv@j?ccy+={vlikamTxA)*v@PfsV;@ z>(uZ-)z}TAo1l!5ZRIBGX6U#B3ip>3grN^E;+@4X0q1tyH97L2Aa=Z^#i{lU_g+_p-dpJ%}xv=qJ9G56P zEYXOK#2pYNgab~#ia2gjNJNG=9mgX|jYxQ)`viAT)F@J*+9U+WE6S3%ShIbI6a}6I zxYPOMqQQAg%%j63XJLADBhxy9UnGPiX1(luL=+xlGVUNEAX?{iCO=IOcLy9C8El1a zcIqh`3#H!$pHMUSVEVD(Cn*7UVdnk#wqy~hkbCx77WYM^;c-Dpe`dsF>Im04ypGD^ z?%Oc94#4F$0mS-!@nh-aOMxCT67u@-cfDAAk_ya`-)dV@iXjgIBl6!%E5RQs{g8Mp zqg#1RF?3r+1D6!EA}E9q-6TMdYo1%H#Oj4ez;-t z`0T-utZ|z6Nkd+E_Fl(z@;RzwU3O-N0t~d(rQ?S;5{2d*FLqhPUl66`h(DML z!W)ZXU*3(q*p4?5U3s~!VsH&_DoV+f%{DoLH$&!yf6Ix&oA>8A+;O~tw+MU{_K9)~ zkAmi3D_Vbmw-lx2;~(A<##@PE3uscm$awTh0iz{b32#j)lz(t@2#-O&9(0Zw$J_M3 z-aZ>Ng0~GUiurda5|4!zf0ZWe;O%I|181i_@b=g@C6L>9@D3|)hI7R=@Q##{>=&Z% z@E4J#(x2Gh@t68bbt|NQ;++D^_6y{7cpQ{w9Vk$R$J1yLc8}HY0Ji*T$DtZLxKh68 z=_QGGrc|gMEP~=)kd>bY@R$25|CE=&@UDSXV=A^7JONr=-=W-xccWFue}CnOzk;n1 zo>!m2yRX#vSQ%O3Jt(z_zxCDdp2#|tA2Yx4SNrP(AK<-21M8K?hfDB8XoK#{N*??* zS_Ai8WH#O#`*uO3>Hywn%NZzdM;WUglu|No-ea_(HX&{u*j?go80m6vycaG65fpFfAfb>dAhxi_S?YHma1Yfh>Qp%m#IbuhYRw72eRAKUg5FyI8S&x7aSJOTp7CKu5qKa< z{HUpoIs-i9?U!;a=ms7Y_VZTRKSm7K%yx5lZ?*$Ab^4x>`}Nt0FoGk z|9&3m0-g|u8l5OqAenbK$E5W$kWx5YovY&tJVlL2jC-p9sq7JfGue4S8hP~Y3DNzI zSOimWwIv96#$dMY>Og@E;+V)hkjXn9=CR}eJTDygkCp5PUZ5r_Jgn{lS?r1Y*cJ$o zP5!K5FDwpF5&PejX-9w@#-#hesV^hjM{Jqi-W$l{SIbtZ$Bw4s8NOr0I(W9v6UOxtT+Xy^Fvb z`ixy(79UVTm~B-g8Um$|xk^61GN6n)XZ_vzBuF#*Zs!D+i?Y7E1>dd*D@be{9;_6V zoBw)5;}cj#pYQS;p8~51KhW|j+h7gk=jPb#1XxS`35~+af^~KPuwImp&s8LFM(aG^)HoiAHiB^YO1AFP4w+l}ef_;R)aZzLW;0MT7 z%h)&p{7BupeS7RS*l)C*#d28y2Uy#sty8zaPo#g~!vZomD7W+NOI-yxMBnLd!8C)z zgk97MEfXAp>}?+gM@1j67pA;tirwF@zRMU{-+{;#-f91zii{u1##FF3fTMF>sCGk@q@RytOS3vkH+f`o* z@K-((-{;Nv|LFA}Rj-P>)wn}%LAN7SkPof1bu{jnw#@G?m8o86DhNHF>HeHDvwksR zBfYaxL#|y9kDTAh8Stz;ad&)D;?wQRwl8Dch#x#06FgOyui#rYa3wCmg<|?X_10-! zzrwur4v1T8GAEp)YZ#xU?#47Gw@Te5IPlCpRt7x?39Uv`0TpIEb8!Bd7yNT@)tQ~4 zf9C zzd+{CG38H+`;R&Q&>z0o3yXdV}lzf=c*be59rXLuZ0%j z14Ch4;th}1Ti{!osvB>`e@4UqKZp0vw|ATJA6@U&hdACAJQrs|UWmJxy_kLw-dIxn zCTS5K3o9pQ#Q1i~r9e%FD903qOosH`Z?inWxC{BOtYR0_rEY2&K0zXGYDuRMBto^M z3kedZ_n!rEj_l_kqjd~Z{_KL*&PzgJsMaKkkP)F(V)-8%_Sxw1A2A=uOhz^}4b0Nn+gu})dd0iB-@_cAQ_dV{5g5C~!>_;N zLV9u2ud}hE-fZlej`6F(#^*V&0$Z_V1NVloF7`R87CG<66XKn^Y7#8770i1qzI*$1 znr1|6w{3FPJci(94;IC6@n4TT;y2#bM|-TW`F!t>?7hpQY~vUY=4J1irJD7c&HJMP zmwg6qZaud7shRYN4GD73^EsFQ)?i#E->s{YnXnXa+BdQAdVm|r?^n%oI5E`LHDS@t z>t|nuZ%>&6INLwvXoY#$X5c-Fi}*G~35=flUY__nvupH`@}E$v!*nda~fYZzm9yu(s)X=T}{n zxr8Wy60PAZB3?*EnheFbscY`@tLlGj-Dkv_G}o2Ax#EkyvclP;NlWWkb=GeAaw#pc zH#|Y%WVst2-b2RFSPC?^`g_q6<1egESzKQe>mO=ND2pQ751Q_4PIx6#zfX#fyexS( zd;wt*vi9qI08l8R;2*g($eg53M*8ADc%>$Xo$WqylhKjp>U6i~Z8){tvM%#Q6R6+1 zaXlbZP^EQgMR%F|K=~1YD-EZt`jG;X5J`tW~ zs9nXmL5^yhAxX^!NuRFKxuDiz%Wd=0wF8kQ`}&#N)^FZ=P9})1mAFx)WCb9@P@Ra| zStqO|kM0ulWxizJ`uO(L?^ns*f-V2uU}$9Sxx3z`y3xRjx~|Nj!1& z&bIs+91(PL-r~j=3Ov%^q4z{~pXP;u13tE&EuzO+k}6v|@dK4L!EE;2r$jBi&e*}^ zp!170@6Z2hEvuDQH?*)%9q?zf_+v0V6bafu|NFm9NUW+=`2LA3uL#4 z)1u?)bJ@diZ8d0?vrp2oEQyC_WshowX%IZ{j8(rFhtHSy#bLfZz6ULlZ&_bcbF>?N z`+m$)mC9C<{jNDP_m!b>RZx4w@55vy|Fgf4{_%i&XYAc8LzfePcM`MLqqo~N-ezn$ zU-%txq+IHK^@+Vc+n=AG@~a(8%GT}tTmmB$YYkPuO{GW2mUL^F9ay{bd)L44c#Upo zO7r^P$(<9iwA1-VezB#A*fX{=l?wH&+mI(l6BcH}K3UhtXx1UYlZjnn$tMkgs0Y5T z$-x0!-qnBJFRzZ!vP#Vi)($q$=LHCV(fvQ3&MT;it^vc5-lT{?AoPy(-W8Q50s;y~ zNP|#9LJ2)oqtbg(2p|}WfPxee2!a?ydPkJdi_%oOKxq2&-TZs;%wFxx&h9yL=Ip!g zb9guN{ryWR#GZ=QsT|DB(6x_yPv{qODScSQHKRpj8THbQX>BSSnYPyA!Z%p|j-2&1fFx#F z8hZw;TEn76zR98tjc^A|k{?2t6M{op4^%IWq0<_zOwo>~agDv^R=;+R5UdiXs58k~ z@8kEOExikS0MV%6eu{yCWU}0^{^0yHPs}iH;V~&QxFh!LKQjFLkL>?3?&3LL{70?A|ETmIa}@t$x0}BEj=}Hqi|t%KPr)T!3!6-R zV8Ee&nsVMyxU^oo`0t8zBd@xhTw;HwASgMxhoBu<`>`{sv1dHHby~GoYDbF#N-Ix8 zsBJlVhz))_tUmk1+M;hLtmU>uZ}x!!6*yScw_r0t4*wmJfZc!S7otmxPxr|UJ+7yF zs<3CrF&)&DBd<19%EG~B$wN{6H&FA8|C<6Zm5cwgCjZX@;BPVDX6}OlL*Qn!TO$&? z*^V6^K%DbVuJbwbE#37Q0yuaNe`kE$Slt$l1BW;0qpK&5H`zsg|6QL46)RY@^u1`v zX*v!rrT1wIKU6GIES)@_Yk*VLh5-SGVt2cPEmL1A{(1JnEsyu-Xft?Ebvr(S^7N=q zrbBg`T*j7Y$e+puOg^Wo%75%&^6EqU4k}P5~=8nV&v_H_+mt@4wF?5PgE@NfFAV>dRK{Co2GVCFnp)>Jq6!fc9mWGokN%Kj;N zW9$x9`lib6M~-;!wtqp7W)qIhA~#&$f8XbMrswJ;tB2T^5egn^XxSE6U4fU3GCi|i z#2GvMv>4W(L~>OxT)-L|J6}$Om9T#MUC`ZSGZ{PJuY6v1T*e>~GIdvVCoBQ?goR99OOi6_YHviK0PVe7ffIh9vkius_rKHP5x~Z@1h2b6 zO-&*FGSsVse7-kE%Wf|l{+vc!lbGW?db3sHSh5f5;jl)JDu>S<+^HB*v2dQPyx4*Tdz3g1-BSxjxUs4I{|nNPCH$?QfnU?&@lGm z#hz81O5a3u;CcN}<-j*4U`jeVxuwUoL+yL5mQZp`We8555{5sYLCo*GsJ#B6H7)D| z*7b+Q?U6>G;msJd%#XC>%|!lKhg*vWk0wjnQf7S-7v<9YB8|ewYZ6X6Dr|ogR1FW- zrTV+PHkhBhUe|mcti3ccy2}$WZ`u*|vnk`+-xHyOdGFZMU)|EbwE$~&A3Jk@8PEcl z?+=zrT~P450Dzp^fw-%>A39OMg4!aLPLosx-sfslgbNVM!~M6@Iy8`2z2%Y_O0^?r z%`A=<0#9Blngh~7lwKr~=1KSMnJ+GY=^<^OQnDARso&W-mIw@xf_zlzcO6EEk&@TXtIKq1t~I!~Z0(LNuk!0l#$E zApBEiX1^(ysk>>A4ctYD^LoT97YKw9^4;eDk#=Dk1OP9XAA*tN zTf0D&UsKPc;Ux$_9(36<(dvL8c5{oBbQBg?y(K+P5F*@hFwOuJf`|m>doz-0gks=;gVW|sfdKoCQrI{*kPuZ^hIkj^8vZE>YRnv3aTkPwoe1-ptkWK`=o zh+{;f+VL7ERsyovJSWe^DG3pa_7}cXtLYk7z-=Q1@fS>Yyu9sx>Nd&4n=TD8+WYpN zS49T$?1x=7--u0+u{IDZ3z@0f+~wz#gCywLy%(r0m@3x=*<6AA#nER7@^1em2&tya ze`L3G6joDF`1h8gE}}kCX-%CL)xau7J%|_<(>!ljb{MV_=dHDD)KiwQQHHP%DXvNK zZi^^UFjBnfDv+@LsTye&RY=VYtVL!7ZDlSl%ZpWm40Ln|$#JSf<_=O6p;vfo)vZVO zzCz_~G$2aWP6rCxPSn?yis_n=sMNYGB^515#X^C;@`!?xuDJ?U8*)47Ql~1X4n%uU zrb&&t_U>TNygG}GZrRb`BMsK=FLw;|HQCbjVu-T!S{GIH&$V~#Bhl&nzjZjU24WHf zur4pBA%xEU$%$Sq!hSSM-{vZ0h3dXyu$^UX_@5uBQ3raJ*W9QoPb>y{ZOzDZ%Nh$c ziod>pIoSq!UG_$ZlV1?@M$Zknesn1GChF#jZ~jfFF_SU3)KVMNq{3K&&RGU(YHre( zwcH9dTQd>Yu)#si<4r+XciW)1WX*n>6xBj4ddxma-D`#3MwyF$bh{6=WV&?&#x?=9 zs<`F+REvlnVBYkBxU<~`J|$8uhGtPy$_W##TY zm<+wgWF5o6bIdu(ro zQdpr*D7z=`dIX>lrn}$mi}Ik*^LR&~I4u-rey_&7aTy9{ zSPILCF8@~*T;T0i^X=Z$g6-9Xe5$AaoCkF6gsf-sV3g33S zoFHN3`>9gHEKzdd+wJzxNm6+1iGq?wvb3n5lKyMa6dCe@mY8v>EW+QE^g28Z5b&!g z`$IZ0;NNxR)eNJ+Miz0-%!R<>pA%VG_@Iw}W4E4)2J>Stjyxj=?in8}m)9ut)*)#dmbVZJ<+BQa<>SND^SC8p&qc#mQgT#a1>|s9Jgg8A zfij3UguMVn242^A03#A35k>7&up*CxFT*|Zm@%n_mjfTKH+Y1@D@c!18sM*Z!B13Z5uxzc)F;_BdPsOBA=+nq zCIMch6VuNKf5S_OX)>Kof>+~Wv4!_i;5ERwHy*=8cr7We*Q1~ZUI&g>6j=#?zoo{{ zY%?gr>j?>UbldOY?{pG9&@(>p21+7Go|*-3#3j|Bac%G>U~;#ri6NXsN-k05vxhf> zQ-tGgT!X)-rjX=;Qt%c+YMJR`F1%GIjkfNSJNyGB?cw%HKD-T=e)5T;2mc7npj%Mh zhm%Peh=s@kcsn?=dRS%#{)w8oQ&!Ik?;vD7w=;PT|E%-0ial5u-br~na>wpFybJft zm3?do-VMzD>9Gxh_mHwvJ&FV1z2F@6(L;WCA2sJ$tW7Gwe+(8;B%b$}02 za&bHUX7C|g-bcB!>+oSbR!M_j+-hT6# zf{*JIx{_|Q!@p7rfk(c3@NfUQfvQMbbMOfj;ty%BN;qYNIAEGv4xhvp8Kz@i!KXNj z&vwg-;nTInF}6J%@EMyDuP)1{@Y(GW$m;M#_*{DFt2d3?@OhP&T)r`k&| z8}&lal=AYGg(w|6$yIzGp4h->$tuCrP|kY0^$FWi-2c)?~yWy|5y5qk~ZfKR2Z_oW>+8I?the zJD+(0a=!5nAk(Jyq_E%?99|G~S%HfXM?-WDf{l-4J^SMFMeq`2`;to=JN3tIjv)u( zJ7k8Ae~^<;=Lh6DDW#N)lFrZm_7ZLxV#1zS#tmG7=xK&XTqY@feN5y5uR^{*!HV(n zQ4f(Z#e9S{$Rd~AWgwr$s`2Dj&t( zV!K5RcLdq~@Woi24|ojO9JxZ(Ael#Cmo&jAko`WXcr9v1U&w+s;S_R|VS&`qIfGb@ z^jYgtR5Lc~^>BY7tN%WE=mY;j5?M924Me`W5M>NS#wRZ5 z?sU~i!iFYiE&y^}a=ZNBcIOSLblPtfdO0_xRp^fIYmON6apw0_n_%goi&lC>Q$9`x z==Uf8Ce3PDB`t)^Z5W|@^xpSwZFfj+4qBu$L4SQcU zopi6?UlFqVqkz5sKn| zn?05TDtE$I>%hqgMa>8J+^@ysx?Y2AxS+TPi{Bq?pZ}#0=9qp78bLt(c5zbShF)j= z^9C})pHyZ6#a@OA5{&>bP9CTbpJFq-_Oc=KD#C^r`uB@etMhh58?#F~A2gELl^&@A zgl+`5xblrO>=BpTu>4S|0Ee&coC47MP!|ur+F=1{6v_q!b?~MKdTu|tnFT?o3qtwe zn*@xC5OnUB!!56oSPWgYH&z(x=709qhf@UV+L_MkD{5IglcaHoMTvg5Nayim5`zX} zC6!(LD-h|URRQMW(CpcEwZOH=SxIPY(Z?GhJ$A7y%s7-3G%h1m zC{%<=I`8nLJxsJBm5=>KxR|*NYe$6mnux@Yz(|RBS(?GG*PAi>rsz&vM5MLX+XPH=l*0cX+mvhT{0_7471F&>al5Go~~(?r-#`*i`V{M>(-Yo zs{{4*9OlUB(K+3SH$W0lx^E2Q?jm!U^iIaIrjdCSda151&d7Xo{cs!PbG|iw5u5n? z$bxu-nv^FA$U<4eo^KU&$QM0^XA#L?kwny0`AftL$Reg|?5-`v$YLYoifiFx7C>YP z!pMhpw+&eexGnx*_`f@gA~#p+{d^y8?d`+U#}a_Da+kI?E-( z`AOVvhZ#%9k?Y8K3r*I)du#haI6!+q;S zZ`qe6IKL&|^1{x4tVdXseHgBO2e>`)lm4`Uczd-!)~(UVl2|xy(6nG_uIo%C;jMIi zkj;Fe)-7TVX~_3v>&J%xTVxC3j(&*<2H6U*35&xtAU_aoEXvjtkZne`&IPWW$d3!Q zNo%YsNHX3oL3-#GvR(8pZri{N`H6h@x->c$*@3v{J?S=w{0y)cOsz>qb`tFsY7}^o zT}BQP);w9r?gfYbb>e+w5B~o9HZ(o5R}_4ytZ@q2M+VDd7wC}vhzFUH|E?kj0FLQD z^~{iiL}GvQ+>ntIG-+E?dwAg{OiOeG4=FGH%`qwpbqEx`Fh+*@7Mst1LBOCdeZfQH z0626fYz*xB6=86J2se2?b*|r_0V5zAifGpfS}H>Dc@Bk+;0ztF+);9!5ICt+uqG(6h+WCe_dN?l8*tWv9n#H7{; z80ec&%jfGlUeM+r%yd5~UW=|y-+$q}e@6T=`VI6U*d>f@kbEdvZ-|><-|Ih8N4BWG zYk~=Xw+YxuievwdjvsiFLur@d2k?RR?&16&T~SE>0}Q|yT-V$u1&|?bW(VNF0lb67 zAvMs%&y~tY2r}+UWOqH%32yWpA-f(^f;ZP6%ebE4LY8;bqFqmcxDWAuzg^ErxU*aK zg|2_Wp{`ehH(mcxLoYpl_1KjVhIrf0>3RXE6TTQ-xbI2>q=Yxq4P0`i1>z#Gf4;@L zo*Q~2{cg6Xy3zwlk*beh+;n9Cf}^Ir>Vd9|Kx&j-0nM^26A-UKczE}UFT|A@XoDZm zA%AjZ0dA8+G_SL!KZ1%3d);9Jsyv1^Uth&u1dcpzSa5Y`$38(EF8FhBM&H`=1#tpv zq1<@{E}IzW#7dsC+a=(3j9I%IH;^Vh7W$w{NXqRpkX9uQy0KBfTg8MO%m{NA2oMn4B2UCJpMy&3aRO`zrSXd5QFNDDo+n zilj;gbmD7j8dy8_&P zif%coagzt8KV!Ue?rK*6s$`RM@K@awfg{bXg5vZNd92yX{ehP z5c~X$I(*`$4dg5UFfGx$=>TgB%1TKhZn{95LR8Wc%uNrtUC5SHtL3H-Br04^h&z$T#*H=cy;bg{pn_D{`zZ7Q@oqi+Uw;~4K6q9_{!p0-75DxvQ_WbMy|Nq z^i(aO9uK%xB_zPN*X>Lf5~8txBJZ^{1djzFgR_Rg{lcc+T_-dNuWcZm7BPDjX;J9OaCg1AQ! zdkgF#^X?Cg`sVAN65R0%ef_r1AooZ3{xrX+NA8bB2ZjfKuDL$}k_VDDqx;;W5reQJ zz?^#wVCcPL%dmSaaj5#ewWWKU(QpgeJs!9)T$A{a+dTn4GCk>@C_2hM|3p z-F4d|88N2J*u~+I0{Ft>H(TYAO8oM$TY=Xj&1k&Fem%`2ePO)czGc-T1OIhXf@tiK zDf;brF?z`(i~Ma!+)Cc#DPjWi)o0w}8Gyp)?NsKGO{BO?zZUe!F`8uj)hq8oSeQiq z^2i0^r!?u(`aSYQr|AWSX*}}D)2j0m{T|N|GZ&tC6aWFUlKcODdK408ZEt$K028QiVR7SdUG%FPO}nWlSird|1)lX$>K#yC-C6i%Ov_P(m^}7M>qJeRDwU=qlbFf(M%tJ>LpP1yIR6f zeL6>*qt|>;{gk5?07Iz*HS<^?oHoQtruP9`ctHzw}TgsS)HC;>l-9HEF0ii3Y=3j z-}K#lvsMizYN~SAtk{iC9omOSQka6Z6!LRAhLmRB6^OsHwi?e*{QU}gWMHV2qweHt zQHvi^*lg@=ag^Z=31=JdDrb6e)_`n4Grs9H=h(QkwO&cR56W5^H_gOrFa4|P&r-Q1O^W6YHP=wxytp`fI?mq2IEXep$SG1E$kCOA23L%j8Z5*x^ z;KauMK36If$ZY&uiq=waB6d*qp8TB0gB9R`8ffeK&K2cxA+OX7IfKC!!smgvS6+za zBk|w9JJNi4W0oMsqVAvd5*lw+{0EU_*{sNV<*o9qC0HPUeYV^9dgOW|yrGM}wRwQ` ztsM8*dDwXvIJO$U!_M=n>2$2gETS~HbmCwptXUzSe`*51$Y3uuIe3Wp%PtJa8Hr3` zqZWJ7-^qR`evr$?>ysDLE1hM|futu#c_^IAzMhGg7VE{<34+qNC8A^xZWOxeOQ&4) zl1TNUpc!IX@_dur+?w)!A5`VmX~Yt%o*m7F{C%ld2TxLa;-g^9pWAwcpHTi=(^BCf zvzPAktPO&3xf)a0<-fqB+}8?j=V3PWj=o?v^Sd{`GYAa^4-5)5dMDbv_gQ$@pO=R! zX2z;VzQ$YS+7rxH>@pVKT$*Xdgz*)?#ZY)E7cmGg$Jtb8gqa%oObVC)BCIM5`v!($&=R#cYk!^7SvS z?~;O}Jx*TzePjRPpk>JQT?}wEHnBAiTmFTX*3>(9{_`EasI~sgWbEqm1%L>)LDiO zM)J!XrTw>&3YgmpIqS1u9G~qexki?ryDj=}m;~3~WqepxJ{P0-I*aQ=rc326%SEk! zbivHYRS3Q(kCZyKKN;ATR)d?~4{uEiZ4@YO)+W#v{Gls-9d$z;b4Tet6lC$HJ4Q%@ zE&gS-7JfdlTrZq}Q_DvRl1eK1d+IznanYS zq3OJ=WaAYidrFMc=UVxW>?ggKpl+NfG)3@xCR<0UX!tVi-5Y#JRPy!d?ot^hWB}V_ z(QjII-ic^0eyi-y+8tKP?t=r}3KH;cey$JSE$$o}*?Zki{X8xawg(-Lm@o?})(@*7 zGPLW@J|W&clck+0dm)a{cQ^TVYcNJf{vCD8*4!{DDNieJf#S&IR1!QXUJ|VoI|_W# zD02G_P$EF(s#~#*Gr<#(?v=u;6=dD$WG}rd)qjmE+?1hf=Jp3idKXL02nOu!;0kZ) z&@-WcsBq3PX0OzuKMEr>c7GWS!epHU_Sxrxt; zxJsEpX#*a&Up$^q9n%U+^r4wnrG*{mF;Ag6Xkbn2m(LfLtFxVte~`8W@$2U;KXhE0 z75y)huIU;Av^Ms-P){n~Iksiav&5hT#Uj47;B0I9r3Vhuu9;YAcUSmJM929LHl<*N zk|&s~_e!3|!&t^E2#EcM33>ayPKL<4U6zYbOgWplK3hEpATx`%Dk>x*Wa~gq|5Axr z(dEdKzr3N1NV;snSK|xHmGe9M$z#L9^f<=`>saZ;?>jziZclG_6)Y#4x4iO++9;c2 z<*hQc{j=WuWc|*clB}t(CKB&LAELCYbtUq&3f(gJ3(Oiuhtos{gOlfCkJfmIrra9N zEidYY_Ml15^+Mc}N9JX%`ahm$Y2C}%Ao#s$om4`Yovjr~-ko0ZHT#%nekFI~B~{8* z-@Tws;&kH<^xUy`7Nha{c(hcjKas}?G9kOvHrwIx;HI5~j0L=35Ib)7HfZU?g)r_~ z`dQJD$++V!hnCg&2W_CNZtkIu-T8z%PT~5+Db?!?jO1OqD<9u&>H?(in?sy9NS z*{z0{!jxct+*-yfD<=}i$C76g;-Q#u^sMzgnU6tB-{+VEhl7U>*IFL7@O0>lbNHJxa;2ft+LF(GrDRzWY6N{PgstL;}bF_qXv-z9*ti+zdi4w z(z&_QmeyIVRN|us@)*apn$U~4f(mc9Gw6nlf2t9Cm9H7@sl=B;Tu1Kg`utH4pT+Q) zrZqXr_zyLZchwuMHkOvS8b4@6!BSY}%&Wzd*Onqbee>Gyi@R&|`-Y#EKxPn!MSv*Kjlw@iir8vFzx6?_i1=FW?tqkM@nS4T3lGgjbe%fKpiqop) z+5a?)lSQ_?w{!nxYBe4uX|NoW-16?@k#8&<25T1MB!)pXibs0j8rwGWr!BYhbsJA( zP426I(sW&^^aWTmB>k0Z*rM6Aq9s3;q)F2L!dz?3ezH8T-xzp!bc76lbggi{Vdpw< zv+~8Cha~~KMvZ3DF21$Sx)d#je17SI=<|)93iHQa;HyQCzFJf`cc_KbE38B*Tyz|f z`+o5%PzRvYE@Y*O6(szOhI!e$YYrhO-AiLnA1U`aEVv%YxD5TMUEWMrEbmPubrIv8-()#2U`@Qh z2SWhvG^UVlF!1JTe>32LK{7C1iXw%hcXHjmh`9EpC-KxpcFjeJ;EdIYpS=EjqGfDo z?Dc1_H=hRN_ukgbd>bfAUak>8nTgS?*mNuR-|VsWQ@GO`o}nsjLcD;L>-}}TPM6_I zOqEUpn~C!CK~+-uAw@8&;g{Rwma|II)}$b9vtd?}I_+`qK-W9iscUWVNhD-_MRJ>)(l*z;|zTyH37;>5IsUVvyJF`&s?KCS`EwRD)G< zT&b_h)*zZ&)24T}xHUCXU%3ltmSNp<&5o& zWGM|e_f3B$r;aBtMdBmHvv{a3&SSl$cl!}4Z|CJ)ekQAWbt9CA5K1|nBa(GO9f2C> zjZeOpA8ZZ*rd72UKC`5{j8Ij+^tfoyO>!GBHX=*M+$KfFf1k!Cbm=?q4fs7(ZI0-R zcsf!4+1tZn+9kU}jgl(YlvpHwdoK;SIbO#6JKV;-&WWKyrm|9o_L!*=@OW7>11gD_ zRBb+&%s#5WS9Zk6+eCXJ$iV6Y>Tr)uu+AuO@`qa}jt#+@^_DUp zMcyfb)`3d?2az6BrzviFbA_;e&oFK--oNIXnfu_4&v7fykiNrZo86a42dW{v$vsU+ z_v%KbH*f6-WZQ2GbB#8n-6}g!om~tHEUbzgFpp?1avXDNt(aJrcAft8;aCmQ%Er@O za`2$zEwe#_=T1|}11koefrCo}SWUJ6#%A^T*!;w&x;fP?n1G2c1Ib$=Dvt$Y#yNMn zS~KPyJ|fS6?b8RcUq;<$2vs{TK~NuLj>OP0owwFVF2$f6FfMohK+l4MM__FGQ=uvOQrCYyR^dHPM5RFQj zDX(Xai6NKfi20Y$$Fglc_Gwq4^r7!S)zpi|>eC_jQr^!{9meN{=4WT4dQv~HiOHGF zzeSlLHM#OCwz?_e`OeN=4@-zGr=4VE$6L=fnD%~>1lB+F2CGYHzmSvbxFfLOe3tlN zY5C^GEm|H>wmxUFftOAl#7CsNpxF(Z2KZ@f;5J9iG5g%ko11kMcE0-Y);<QwPoz4z3bQ50PP~m{J-n~t;Ir8HR|MC`=6Xx3xhTZ1mg89&(cFt=P)mwJ2 z*j)OoD6+68zdcI{3jCvx&OPG`9Nbq_x!ki0wLefAN%!Y?d#H@%fhf)yP&s*FO0=jW zV6D$5!pyM^AMCK9rRrpR(`Z!ZR3jbOsGDhXrm4cO&C%WPcf>dCncY9E08Ci93I*Wj z1i?fI?X9Q_{I&20%R@9ag0QG;!yV7I$RH|bS`VSoEW!JZ8KBf{dz zo{apWY*-N(>x^rTClkM{=wMP}40BIiUp0;eB?h}}m=edzBo1S-3Djq+s5(^=yJ#)} z1dp#)I!u$iRV91uT~ z0!(t;AyTm7F^1x0gh*drNFCH^(-Wf?nKPi6ji9cNBY6@FRW zueKgzo~ryky018IDtoH&qx2p|`JQ;H^E2sRO3d~0)Znks|Lzv5=BdeVZUF1Y8Ay3* z@vqh3e5|z3GaGjCH|up|ufm?$3^eHWtaGiI>lx9Zu34`1H+kywiyF26Go*ML@RN*zE=js(}Hh^WOyDNHU_7(abKlx6K+|*;VJ;Fw6DpMEj0I-$x{)b23C)&1N*{DH- zjqDsgxBo#uSg;#^webh-h`;+)812L_dN1LE>>?UMzBl?Pi~$Wr*k8Yptcr#K9MqLJ zOVDtlgC2d~85&`9zr=q%1?{|WpEAX2gm%G$@g?T6Xr$U>4 zH`R#-?GA9-)75H0dk~#4QIb#5C?kkRF<&m)a{;nEte=ZU71!>@22q~QB;iuUDKB-OkIZ()_d&RVnKFZ`6L-}g4A{Ru7^ zvuU>ibdX?AZ9*Ug30QY~7=&}B|MWyN80bb9w3!^DNqVk!T7m<+2hWU9L#gh6>Q1R) z1dn|Nbhr-6ErRhnI)Z{SJhd-FN8&u+M3iKpqk!mnyLMXiLlRmNB>n?~2V-B=5tw)| z)|>VU29rR=Ld9S0ViE~{h8<*oOp=cOA^QjtlT7iS_mT3&q~HRSNE6PORA3;y@*@tD zMheWKZ}r8bgM*?nb^c&7s6p2CE#8<+LNK&{whNP`6Y}H5r&G*RO31)J?QP669L{z1 zmog?B7&;*+$AQTqg|5luB(s5}&O4_fk6jaiA6{q)bNT3AcCFak=cslcv`d*yy-}x0F|$F~#^- z;je3BCbYoql{T@q`CIR*wqrH(F>m-AGzY>vnp6j9-n{hx80Rjl~eJHkHih z@6qO7A4f8sj>;Ci$k?pZP4Pco?VL}ozofQ%eX4!xs2+a9tHb7*&~2|6ug}}hm@9J` zygJjfl}oRd3~{YK}yaMXo;TIlyFZ;f&^+>1Xa3e&+utRlYhmS3!*M&b_hoVasU}6>`aYsBvUW%9mzH^c-Q-QANMp(T|w`j(4a_q zwNCt}v`puD5w+Yix(YP54)B-W{QY*6UhO}IwUZ6sA%Fm5e2Y2no6QSMvaJf3I|Ve% zJ#?(^GiX^*A3nh8See?YWjX-#Y!!tJM!5_Z%|C`@e5N5sGqSI}(DL(U65t?`^O4Ms z-pm3;j0-r9Tjj z-W&pe&QPI~d~Z$xV&{Ba(IfA3!EP5<;R)IMlE6Y&P~oczZ*Bp6HxLcK=6zW}v}bvz z!<$Ed+>=oH^{O|o0HRmn?m@dZp8%k*SkD_MKs>u^)WL7m4>MX8Sdd&cYX{*6U^DNF ztcs%M0MY4SY@h?5!XmI)Qu2w(hMcK%SucDtp;mNdQ5i{+817Ru%wEO7XPud8-Hz zC!aL`xah4aU^Hcw-Dc^nCa^Fim;GDPTU`J@ZR{dY@2w#qI^!0f_}yDmfIP$BTP^IZ zC4iVsDM)T%vX4r)YA3eHx2<+{ik3KzNq1{qj z*~frEXYsOAy}pkjBV}>QK?m-0l?k^*sYhI627ccYFk&HnUp?mSzRn8%QC;VALx7F? z-nRJWMZ$8q$sVsUyUxmmew>^M2Za!Gi`f*nYLz)CWCmQzwe*}cC#|JaJ$JkXUbnRz zWVWELn^fr}-X{E%7jvJr)cN&SYpK_Y@=HbE^Nls`H#Y9<^Bv&EY+*Z%4QZn{O5>3& zc+;H`ePl=7^k01uc9*c_yEnvePiH$Z=TD(MW%~oXPTK*ugEH5YxDVXTZm$&rlXf4A znG`+%@4?!A90jO*7Gge50)#(>#5+C^oqfIpNhcpDWq&fd=9&)-ckqx!65s;|9wI{s zu09CTVMvbms*f|6y4!ro&BujGU3sv&;)5g{ome&I`MByFLpuy#`nXY!Kc}$8__*Uv zxbosNd^~`s%wm_0d{CrQq4w11(+kC)CrAE(@P z06frJoAQt7a4E$n-P$j3!N*tS0$jVND9Hyq;%mO=<%gw#C)=`M{W)pjDJvem0kxkP zAcwwzHgs?cp&yTew!;iOfWhhXaDiENLI|A-gVE*A1swedDp2KjCuNc*O#@W7L< z-rGtaDS;Jz&%pA+#ke3{nVfuZjIxb3OeW^cJpOxm2%nP&uxU@-Ry~<3$_oHnW2U0 z!tfvWeGgu!h`=FeUr{fj;)qBf3yM;t6fb(%_h-FWSypV!O|+zEkE?3E6eSLqdWbiC z$s_>>Fy|MRRRn!ROO~5U!eb=)eJa)#C11r$!9UyCynHPy4IfDlq^<1varZ-C6-owv zy|hsC4U;U~P_WXhy2AXm<5`Wl9QiDzWuF z@`2o7C+s_vf=11N8n%H+(ODN8hHb1+44RBN!Zw*JjT)FnU`cCAoio^Gfq3O~3yvo2 zds&qrB~4{)OOJ|Z3w0jbic;OLis;9FU{d>1GF*Xet5EB{sV9&9Xs&KjosA{0*;*q5 z+T%6g83DtlpJX-R#;&*RI(oQvK3_&@H9fpo(824VxRn zJFCdoM%G3xHCspHufh*+#?Ft)UW1F@qvh;;mc zw}5Zm66skMy$$zyXrZ`5*7^tRTSZvHb_?mza=>%`EjR~mmBS;MnN7&d+_ zBuaUO{>I;dCuLqBZ;0B!BLjh>ew$>QBK3AFzb%9ZgkN7~w*5=?j5&q= zLpZ@Fx7|np5C8&KcrR#jfhd^&Vur>D3g2e~nbCq4Qfh*J(&1rnt3lEty(k>s3bNQ@ zKtTA(@TcJ)zcUKp5Qd61oJ=5~GjyOUomr6N?7d;a%pwGKIs87<%qmQENi!l|W)mSG zJEN+OE{f{77SUQKvWrn%6Ob*j9O5`Pyk0K@rv%VF>qgBRE=iJm2~t7hk`&m(;!i~l zw=~s5?fzvM0*d0oBdg;n_l|PL3!->l7+2ik!=aso&U^KN82!^UeiDXtmMvWX>=m*| z2nJETIBpzF3lhA49jAU20_pg`JsSe@gelj*#%7D)eBnoHf$v0tSoo{35|S7x*GW`N zTodev9VmS-0iyab`S$Ti68w8EG73t8bONULFG+(aTrB`$8C)RzjnTM@EHDT@SmY-M zA_bk{ugdvd0fB>UiT=U<@*ryPo6k8!e+3XBq$=Q;-(L}=gL5+!|L3m+qTmcaV1fS1 zpmVV#-OB)f6%a5?>q_^czbc3n_Rj3rqQ4pl9ImL+li{xpqJ~QaT$u3J01+bUd?UF1 zH9Gr8`s3&P(cJ&g0$17Y#^ZmNFr z*9UPvx^*AX=5GM1eFSZKX6SEd^LTft-~a0N;}xZ=UH;e7pLqWES@JhhiI%fDPV&D# z61@ub+w#AGjZw4MKk>iG&lwBpuB`rYD4^y zoOyuZO;LZ>+Purkpb~#KoBW<(fA{VD8Rd@w{vPSipJ-1Y15hdjW2+Rl0MC(v>ax?F z05rDHGb-RP0K@r$E-?lX;6=2oeSt`vU<&XCp@`v$^xFYGAf}=ozwQ8EP(=}7{&RN# z7Gz$WH+m-|zz?)m{CayJz#kM}(#Q2OAOIv=y0ZCNE+7!pQ#zCimkJ01pGp~!+E^|*1UnB8K{Y#XHe_QEu z^InpqZ2cuYh)=RqkDlWzmlSE#JDALEu2dPOhK-p7)il`(DgQ+2bo0iK5f`#E)*92G zk2x~qo3>hirDe&IIHaHUkYr4iQO{7#-_mE@vzgvsugj@;|B6>+gJ9lb^e8_#cdZ3W z1a9TUx5oT*zLYQf!JsWl_Ib~T%X3MR1*o>{jNl7}OdqAt@5Ek^jsN@2;ryuh2q9`e z4Im=O_EYtT0Y!jzY*od*fMQ}hy}*ObfD)rmPntIK14@fkZz` zP^qzj<>b#Ro|__p6^KstC^T!}D?k^IU*KyHvFk#H!mq$eqi)l6eTBfPg>F0Mp_;%q z_#T)oL@Tgbv^U9=A|6;n?)90&p#p0WeLXgN_XFzy{RLfjL;~Lu`xB(!KM$-o8enT= zbP0U7FaUJeT?}l%4_c7}8$qH&zpOj61DnW0O7npv5MubG=RPQ~88A|)Xg?qLo;Z>? zNQ4Bo7>y1#H01}jE{smv-v9=Fz>ocN{2y8871UJs#_Ld}3sMXv5PFaz9R$%R3P=%< zjv`4YhF$}ame4~7K@1=oI!X(@iG&_HNDCbcMWm^8P!HdK&c&HI`)beZHS1>WdDrZ{ ze(&@A4EFyBp15X&^73!LpbD}z_xY1xlNB|xmHr)osbjIUHUCb+)K<5nlYbXqd`}dJ3QcJoM{$$wfdB1-@KVWXI*SpYvfG{^A z5iRLI2%V36>OaK4GN1eLnS=i@cEK)k(9(Ydyok#%zUx0qTJ&J?ALEBD4MsSs`HusZ z-*8bd{-0KE5|-olWzYR5tXKH@&6oWrk5|~F@}Brl;Xgla2XXmNtAF{UkSXmyL;0dk zz}EOv&|kM3X^Z`5f!}1~OVj=5n!ep|wPW|6w_XjqqCexmaJ=gJtKHmx5x-{mhegeQ zNqs$Q6DR7wOj+kC9rRy8Z`>KBX7m3H{BCw?cnkHV>3i3rVlV2e_2zx==vvgb<4yTq ze@4_Q{s%YF>pf~seM@}n2?VuH*$S6_h(m3lx7WO#=uqE*JH)p>NvO@HoyoVNtEeB= zyTWBTt*EWzU2~8t6>1y5cLz8shuTs9`E7S=9JNdN2@}@KNA011i4vxvsGq>!^wYy% zQNNmgBc|UbpnhBLQ$J8EMeQH&2mb55f;zw-Jc?VaMjfgjMy>yJLLE^K!QihwsAKez zZZKI7bpkxr?E0gDI&C_(@2WzbS)aT=y2^q&KR#K$v(|w6gFlU{{B;ZUSN%-JX1oLS zk8<`FXVZxS2%yh1+E7#iz(3W4jZaY20!@FW23M6)Gy>Lt&72?ILD32v|CJakI7871 zB+XvP_yWq+=_eQ`6 z9WxxixXBleJNkko8m|4QcsZxQv-NG!K)?3SSLCutQnR z!*e%Jrf-gePDJT=1v;`wElylRU(9P`=**(`*O08w!+#|ba-H)7=a0@I zk?B6Ms(#liaG=xCY%+&n#A@=w>eY|BcK7c{htw#suiive}6SRLy6@$01U4OJbkOHq;SP+ zci@6{1g?GQ$O`i_&oZ&#c5ktMcv7Sk& zIEgqc58QRYJ5v%Y^10k>;Zc$1PI5;+ro1gBvv<@fc9Qk8-$!MgzI2-M^c;;O4WpmkGlLRxE09P+nC&piZ>B z8LzstX3UZI^zJ{mxuL5zp4a&sE3Fb8$7S=tassoDw`?Vpj^(zm@N|BuH^8JR6s!+^ zr6F-jd%?c2)(TuK2deyHIV9Q>w}FsL^ZKh|gK=@fF9&Kt1;0%$;%j_{yb>M37iYip zzECYW=QDuB^9Ppc4BBG1*WH{ICA?HGsAg0&8J^f%3vXWvoKa~bgfeW${C;u|-<}ko zS18Z%T31PpnN&N~e9uoDdAy6LbnPpACi~Gz(`o(t2f(M#2gM&>;pX@*)in|*F$@n& z+_r72s9WpPvXtjX0cCwrDe9Dr2RV3Q^H>W8i)f2q-&#Tg#k0U4i&>_Q=Q>QUzLxT% z@?JPdKZ>LwG2bHVi@rt$FTa#crMvK)7_N(Z4e~JX@szP-?(oU@s>&#-$Sz7$iBW8? zpq^;l2Tdo#v0ju8(ciOmSWLt78jTCPo~DGYM6LTazGTmH8(=g!ryw}?JF`QprIaxn zW2TvBIT9+8oEBkZNMZ>X?pv^Gc6(qFaB3r_>o*7wY_aDbbZon|_Q*3rQKSMiQSBQ* zy*{J?4W)d@8_Iq=eO=Z*qQUk4MD=K0b<0qgANN^Roh2ZP4Pu3UInyS!l zvH|-=gHs6yI?rxj!L&1L8B`g4$Xon6$suUBB+GpOZIlb-NfDiIy)*M{LxmxE&Z(@X z@U9Cb;L+`nHX}O}Ow7X1+zKm48%-D7Lsbw!d0%eK{@k+>@?%ALKKNBpR5w<4aA*p) zslO7k$tmGuqR@H?rf=pvn*sFxg8%li{GkYoX_)0PD8O*PING{^B2s`!Go6lsRpTCu z*O9t;cy}L&mJ;vBXe&7?6DAB^$}0Yh`{u2)vH}UDDXgTHZ5Z4j77Gu4+s<#vIE`-- zy-N{Ek4ml_F>TWXXzehVF24!?c1i;5JyCisQOQfPg>b&`Og&7@RE^8}+_eTwZ@ z_JYNceug0TWVlmvcFEMHy1c`3B-Ue?zoos!Rniz-5gfeVM>DpQu6w+1{#=u$^YZ3D)36FIIy6zL;8WMN)_29@T>@i_J;f}zbHXo7ukmb#&(Um< z)DC~@heZd#ULAN|fnyJD`Kb1gWb*>VTLPW^bU9)hX!x#XNokf3lQoyhTO6>p8=9#_ z9136&c2~?vEiV^L+&ZsN($ins0;sH%99!?bygM^(`Z8$o;kS_ocU-E1C|XnQ6-h&} zhuSGUw>Z!gH-u;oFSt$frQCPM+suCy_%66)rFpI%!uDZqg@yjcAWB=(rl5#~aXYUcsQEAh+mUee_ zzwD}6{44oe@E1}pDyO{E^X;YduW0L21E0uxUzl5UNR0{mGpW};+jQ(U2`sP^%ln#D zucLx*nl6_SIqRNqp`!ETTMrd#Q|>8zggDB6w-_5x2{=^{>%D}ndY;h0wEaZA!NW=s z-xt&}k)9R$^hzUKFskifPS#GOzH`~^A4|lcj=&s*b+(q|8+i9JcH1F8A;GJ)_rag> zuPl#Wt|l{$9x8Obf2QJlNrCcy>+$MbW=VZn-k;rsO*_^tO`>sVQ7!z&lOk)(gxYS@ zDC*SQ^%*C#M-E;6$}OFim>T$Ve@fp!;mH)9D$8gJItI$3~kUE91G6 zqiolEjiKSKX{V4jx3<#Wm>-cNXO$r92-TQR&9{x)WPRk2YDw^aRAqi6CGC!Tc~mRB z^481h^9ty#;X-{UX+rg$pW?uMO2q_S!!;U({-B|bU)!|}{kK?wn zB7htRsF+}GQiVD9@8S_b={~L`QVqKk1LC=R8b_E!nbE#Oi&oJwvxM{d+;TeM`zvw$GnzNsW!=3$D z&@lW5!{QKT9TpayVvz|OdYY6>UMmGNC3=O+bvHV9+m+Qh+@0s{<>m-`dW-bc7V)!y zMT($_D_OMGiZypv+|$Mf`u3yy)phS)NPT@r*R~TbFhvgc4+>fTKDwZNQPLLALo!daeP88DH>IxKlt0zqk0&AySfVF0E4y@aDlcZ#)^G zGOuu-=;WeZgUcq)X!1Jem-h51V)1*XcGT(jb*q?UHigc2&{W4S* zZ&`HE;VUwLMIBR;O|vC`40VI8M!6~}>RMQqri7J4);D+E`?^Ex>Mavo=`#j(%7A~? zZ4c}32R-W_u#rEKWu1<2EzkAyajRGW@hUB$LfTZ?N}b)%8H2Z_Tn0Z-P5Ou?>@a;8 zhMPHW-j9JY<%Gue7aP)j+=aYoVN`Xx=7!k*dsr!zE_R3>_>dm1atn|c{_eKMB-i>^ z@7v}IpTc0z#43@$OkdZ7elyh?a8er#iX{wt&zuK~Dh+NHt30t*_(h&c?%<=`sL$!1 zeo+h({}lhvp@x@cZzLd0h5Do5OSPCk*IZ>6drQVIYk?)B>g4l8{S_)-3J1^oKfS3q zIrdm0&>g9rq?ouAKcaogIuv_#~eG<|<(12!% zRr?R^5nZn6CB8|b-cokTjdfoxj2EY6rd)KXee0hL4u4QjZQ4n|XMcyTv4FMtal`q| zqg#B}`$W51u$osl?7~V*V}+6?KT#SBh$b=tB1a0JCDauGTVvM(MzZW&$u=T0PdBey zNk`2D7+T)aZEYc*rg?I0CE9-BvqLL9p0=M?&@wxc%@0kJOAa?RsP-|8Jze%Jk1rt>N`*_H2)#wgZmI6 z4%lk!yf(M!c4UCg6;~7ZgV~D8rOD+c{?(bTPOd^`n0H1+?GI=%TTSMKUH2YCphLN@ zdv4D2J8I``qHnW5f5<$zgeutIw@EGY|BhSyv~8RM9*S}5)8?5AeY)%2-l)XqH5x5| zk{rD>Yu<^@WR$0dY38A8nFPi-JCfR&y=h?YU%rTD zVW)-JFaJQZ621N+KeL(8!D3vtf-dhp?A!HVPo;;=uHi*E1mrKlAo8v$Ak%Xjdm1qRba2PAgCCa$_(?dZi?X*kY|B$i`yRX z35;pouR7uPW`#v@5W57}*u91g%N)L4b(BSctkyrKtB6STFaIxfnYqtS`TITby`*^sR&m7wiFN`HJM; zxcSFXNGdmM?CV5;lspei>GYcGwK2CKbdt39RapKA>4^+G5O&%asVqypp2h7gCt$)0 zYuHf*T;F3Oyf~Ln<%5MJ?|CZ7^TW2-=xr3o>XOYrDtQaQHqy?oC=0NIVBaOu%2bGM z25qV)g0S$Sv^}*w-Y=2M>R_2vAsEnN$2s7JfF2k@qh6x15%6_bOcN&zb31x%eG?)A z8-9NEnHKr9`q9WOq$uoq@$}qn1~Hh*Xl5j|RQS3B;EtX+?9Zs8+1-ur*R{oQ60!MN zvG*h(l8@>^>GvhcubVQDbRb9wJN%}iE`wCAPlKdhsZ?B=cHslPYZ4ov1^ta{iVPd} z1~}>K0?nd^5E(CmtiBOh=5R;A^&wJL^aLMf%pmvYd0DzisoeLhr|hPB*HxZh)_$~c zT{!EMWQLPx`O7VD4pEr>o+f5NR=E0&4{C{2taeSqSTQKw4B~gSE>(hL?|iq>Q-+UM z_1SJHqZDlKJ;teAk2!$`K7pvRj-JrkkyU+?7f+rd)p|zlChZy2_g*98VWsLBuQk5F z^=?RA^THuEZluJhyl}v2r2QC@bA)Ir3+#?Nku~+~24$R)H(eSZhdg7@%FqpnK$dFl z>56T-=-s-73@dZpxHTI4=D-aqhPw^R_d_BA-36e~GR7?`kChyV7v2+l2X@v^5A*`x zg@rQ)*LsuQxg@vyz_hK~L#llN_ri87xBLkA=nYAC{Gs=E=kLv-_*Rxr`?Lf2u{uK$ zc^iQOVBOVEPOWGVX}Bh}@wp&O&*{A(GDryU;Cco$Iv7l_Qj>#(2t)OUZxrD}MOOX* zC8)wgu?D#(#^D$-upwO)UI;5rk{$Kn43~fzE%3etMMwf33IspmiG&awDK}fApvFnY zP2lJi<2Fyt<`}HW_W4$QEZDTW9I}QZnQjd&ZpOhLc}9Xq;{j&zn$~3r1hZdwRr*Az zd2(U?O45q?$7tc_$ykdeN4=92uw`MP%A-`0Wnwq!X&THb^opX%3xM@2$)&t>g7t0` zktG9aL(i%F>g9@!s$wHsCe~J5f4t}w_%RC~_aUD2SaPM(1)T+Z(r4QT&j#4_ZojAG z5bTzLB*WLxrz(eAS94dMqSVMvZ(ssgdw*=v0{X2w?C+6GADTdc6$gfa(RpaN=WyCtr#dt?5c^f)(iMrFU7cK!^N^yF* zJLismhjxAj#pa{m1D`n`ZS$kcnx0{(V^h%O*2wnOcsX>%G4fwfa1=oX-lwk)?ey0yv2mU3a${b21& zR5jZ~w;lWL9R=diAMt)ap?t#Vc6I+h;;kiU62-r$=sOhMfkug?e<(tC0s}1DmekN) zO##Mwbp_~d>%i&TuO`qv$AOuDYxB^(c=Sl@UO&1|{WSQkyEJh!#>BcS`yL8V7h zp6CH!@H^)=iRR2=sj$dr3AtN1@+SlP{lqJ=l~_dCx{-`Z1RBW|*;S%R9Ay^>ybq zd)iidEPRKUhD)Df+~qTQ@lokQQP00O82vZor$B1@&hORbUm*F6rK)MW--2VC?m`*+ zLf$X^f1OSqfY~!eKs!$kg^4<#56VX(Ca*+gmuZeg_bhYdnoq=1@z+H82T#T2vr;D2 zmCq!`TCe{6b1vzfT{SiJ_z#3VC%$0h_%AVMr{Hz!Ka(7=nz1)3-fc))0*m)sI;2eAb2<=&5K~G_r6*UC@4vo;%!9?^!$%ny@?jY( z>yC`2g&mH6nDh!@MwTni%%F_|m4oC#7F;1`(UVM85TxjfUnQOmL>}OLoN*ah3?oiR z+-7GefsH8|w{w6>OIA3CB(CU{Iy>e?262KmO0xm?EVyv*avG(!xFPS+m1BE6S7nqd+~o!fHcu;Emu>&O;ge0g-x+cBp59?!tOaVR0Kl+JHVoe@aHsJwl&#hV0d#`%v;? z%cGY;IxFOU+Y+82U2Ok7eOa0yJ@CMn?&6z44@d(t{j%0U`mn*1rFVuw27nVBjY6Kv8)})27$JQFo~Ik53`_m0`y}MAPr?VengCP9a@b_3eQd z_BX>R+YJ-J9TDgqALjkONZ_u(KWdYxrd{+u6ZL58y#tNbrI_PAv&_%kvG|{r&O;hF z^1%S^}%^zp~V;wvHPz!SLBKY@&<6I3+Q+n3g-gZf7* zna8Kg@2MMJ;m@>Lq4>4GRIA}Z1kTw`X;^{;9p@!^WfJ_e^sLLj&lL< z4C{Z#pUj@WxpMq(OR@O$Eho{X1|LEIahXuTUkRpdgyey^_hy#sv-4A_;YB}Z7z*TR z;FaH>l@*R1x~LcydDFtb?0ZiZv(v%9YJ)sVh^{r|siguY^w=lZ!FQlNQf^`Md%@I8 z9oPB+WkT`{t~avU%fVxc&4bnz!rqLvDR0^;McA1-^3JbUi4u`EXH-Nn6Xu_C6rXDG zz3Sa_ni`2z7V+QVeYKMEta3jT9P1!s0d5YF_1)QvaS_+&|XPfmD9@@Conepu7P5Gd&M(XpAxjwH)>a!KLVH ztVh@d;nL(l;ZfpOXMfc(6CpS_(e8LTbR5L6Cv+SVtn-Pn6ns5bHD-cIPk8QKG9`2p z#Jo`@gh5QP;6zUL+%~6KA)-$%>2c4nk&j8X^_0sKUXS1_hMjP zPXeA@D&D@Zu`4)9w}_L34gDV=(KKW8= zX`G<^RZkjT5Uk|-ZDV@4b8J-rC*#cC&$b4F$abx7{#+L%KLa0|ZU`ae;w7(Wdp*(9_45#pPx=~|C9HNM8%GueKAhQJA&fSwl zD!IvWvHyfHD9`T+jr=NY-!m%yt)~Ll?>;!*-?;5dd-njR3U|q6A2@`l!G~OxRF25V z3gMT>NOd?>@SCI)h8u7()@ZrYQYh<;&Y7MDyq5q|I^U?}NsIe~(}ZWj;;;RM+=Lh3 zY%cvr{yb_>0}w=N!DBLDx2XgfZo$Wb{TrzTOY4FqmTB~E!|xcs35Q0}YHlc>cxloJ z5}-d3{-N}OTF^W2|G1TM^J-jSmjqYt+-+qn3uD0Eh0DKmyTJ(7h7-7R*_cSjFGs&K z!|uTg>S zw01o{(lp0*6+i4D-2JAlg@7Qy819jvwgn>WuJH>(P2f6TV%UXNjLG>A!B|uHL(J%r zF!)i0v+55K0n)*mBa0{qW_I(@!lIZUz`XQf9ptflZ#?sdX zSEP=A%*bOO!y(2oo(kY6a9Kx~m?8=FO|eS}W(WUZ5`RS*@Dv`lfmI>!n}l_%3PSDS z5t4Rwun;wc6?;CIagMqo9+oqH7;!^M9nNeDsMk=Yz|F=VJ0v! za2#4qt`dc}tR0e(Wkh{=8)Dg z255IG$58^t5a{8pME470)Z_uZ661z>Xze-pzLF7ReC$a>TOo)s!F&0dJu}3Zs(aTS zN{?V3QM}onyYFMn&_0c_ej^xjpl|)xhDMAU!&_s-lItuHV5`nR$pj`8P&oPhD0R%6^Hs%R1a9q8#9b?xN_?cH)0`t@w4Lub3 zh_OFL-?*8_jDg{w>$$nvVBqRO17evW7z8C~R<>vq2m) z!mrvGXX{YI=x!#=v*XZ05uXtZ5+7E)Ro94dQO8(m=rm*fT_q`Phpl~XkW_5;cXnfU z`S9CDVvW;6t@ExukT*ex5Ry2ztreB zH1(Ljf_#iUj~p#ZaZJ>T=_EkOJN6Y%{A8dqJ5C7_cZOCWT0!R1pPR&OzDYg_+KV$( zoctP`8vn>%);>f&;i#025IUBS@ckMlOi3lN#Vp-eAK` zlF#Fk3b7G;$r~p6XvB}<< zqmPT_u_^4Yjw&D|?1dcntI?u1Hq8VdI7P*YeX)mkP}xt#rl)3ky`sN`&5+OT=S`x* zz8uT$X=1yI&GgP;uZpL^zG8np&;;bg;)$=9thckVSthxhY(o6l?7iGeJDYfHPU;)< z)Kw7nwfx(P&U8jB!95rBHqU`w=#3zbK#w?8ek%mYJD7I4O8}GeDl9dN@`RE3_9t++ zd=Z9%rw>^^6^ND==(alR6pHB;8a%TwC=%Z&WG?o(Q7lo!#36t!ku3g_frghtid(p@ z#k@n7Xo_GQ-ZPXsJif_XR$3ZVY5BHX@7>o~)NaMby8@tTZYA#hxT@0SDoB|Y%={6N zT;{YwUtg_I?h~plTccRvJs_7+t5o4~`yQZ9xia#?CtI&l*~M-s)qtz&ED=s^gb-cG z`_oNiqJmzrLNl_O81{Rzg`uX?B&}7mv}V5O?9&Im+Pj}9`E47u_laz!;U95z7H-E^ z!`mVCVc*wK;Usds?rmaOcn7kf$J;15ypy4^PBL~OysNZvDC)aUc(-2DM<0U+;XNBo z$tL8n@LpW=zf05+;eC*nqLKd7a5A~&HSn!ict5h$W5nZH_yEI)IK@V~@WIj#KhtJQ z!-w?RlD_ZKg%5AEwUOOlhmYVsw$r~`4IhQHH`vcRg_9h|ILYlPaY?P?Tv(F+mCTh- z+~AJg)q0@`QpdbR$n+$vbM%|F_Y@G&wfRDOVw#uGmHdLEb%qbx9ma_GN#S4VW^PY6 zm=(bG$o1nk=0M=yGE z6l(dtBD&H)_|CxWvlw-wN=j!Y(~D9(JMzFXvc4 z@S$0G!bnB(zC>c{>gAso__ zWBKhXN;2q^)zeH#S>Wj>?U+otrqkX6Kkn<+XTO7}_~eC-&(^c|vlQ^>tIQ@#ibCpt zvxY$;_qZ#WR^bZvh4W3!a&9{|{lt0xV@0 zrv?L9q;3Jg-dGZ~&RsBo_9E43j=9EvwV@@tP&M^Q!NTfXa>eYP_V)T~ zUR;xNyNaLkkR_}fcWQowt+OtEdcF<(viv7GPJJeza!x{})$_#a2faDF=WQY6w7^Br z^g%r5r0s{HrRQ%R^S_$q$3JqbHCt5UnRY#DnTJiux%dYP$#|%+zT0W+dBJB?8@FB@ z(7W-k*ELfQGxx8??u|l?Uio75E!vkz{0H4u+rW0!))VfU$6q@{UmNio);<4`YQkG)g=Q3|~6_ws)f; zg56t}w__gKH7@8X+QpSlX{L1qB)a=%?g_`LwX|U%R=XJukO-E>@*`hg-a5J%VO~6L!NR>n#)glc{$K zOLj;KS|c;c;}xgn?$-3{$EcZvF?Itya`z^4tN&8zFA^o7RRQccm^f;Mrlax!Ta^?d1);#pOPcO!2_-oS;Zj9yd531 zXM}tZX6T9Q;`1d>vqUw~5N7wZW~DIBZNhx{r!v(BZpsbze*Ka;hcPcZ&I0(WQq@og z+iaRm-=_R5t+8p^WiluIb#FkbOs&FqG3ScQh`-5B^BZtBl9ML&2t}Yk65NnP8xYs$ z&U!z9kA$UU9`*Mz=YUD)aH3l^rV5l+TVI4><^wrb|zr3xks?!L_Hb-T%!Qc#U z2WH`c0pu~fTnxMq8Gt%K-fK}nM|R*t7G4H+1qc^VjzJO01-!;0U&=0z1k1BCC|!_e zf!5LPeNb(DUUyo!4z7bbJe(e%7q8wOz@i$#5s{VCeHS$4KTBThvy;N_^acp)~8W#VktbK{p2wK_<@EJ#^c;mF8TEwKl3$@ z+aqWf&k0@Jcgyd0RbVpL>n;zQdWKcJtk?`JOKmG}as2FJ-7(+Hfr&kAeV`Ik@!bqJ zrL)o&O#5?Az0NA7`i|`Cyt_@x(@$g8!y2EIpXvTn8QD(VZ{GZ13ef2OU0Mat(#=fe zf1aDx1mdH5<`JmZ8~S|^89Z}#Sn~J`pJSj455&i(+h(Rd%wF2s2ux}Qy}0$^q8bpM zXFvn}UbJv)&GPq9Ru`r=HGIr==35hsA1~`pojLB*=3K+GD98+&htf&^+;zHn$R#}K?vZcju7B^R`G5+^f-{hnHaT>t zGOhl?2~|#L%@3cj&M}=)KId~YRi1n7)BZ41XGLjiP%^(nbAjiDp>q782dAfvK^Fbn zk!%eCSkl&r-pQJIL%{lzGFR;-l%q!jIYjnx>y0vtdSP#nhv!MV)ozc8Zf1as9lK+f zFQIQ7kLmc^Y|bA!Gd_XUOMo?;^*axLXKD(f8?en;r;C zJ2@g_XYdx1hrEoFwC68o`ZbxEavT`kBW}6hJ=`01u^E`|P16dFIr#*s(=ndxm35qV zm7;%lALaJDwmn-_+V$m&@2R8YcEzTT2_hRk2YvFwBy}Q}~*xs5yu?=ymkUTRA@DfX^l76;i!J zDFU3?>67%0c^8ByPNmrk!XL$pFoKM|x{thk^hEY0N4iLksYwA^x?KDMwtejmS$ z&$p>ewrb`J^{`MsxJDe98k@1~@Y$>9Knx_YaXZnZ-Y)4Wh<4tu^8L|aerkNR`7#syTv6%p=G&=@9xez`L`~k zzuYZ>7L^uu2MMvHw4Jnb9UGSbNxS>5+8=`JDj(2ZUbO8vy&}SVh2F|gK#l?!+qzrY ze8+NkxHZ-F4PaD)*WPn^w8&C(eOt9>&$+Yf?2fC`VC!lNP+WF))%^O*pY{Nj?mE%B z(}V)mNiWe2kKw+M@k>rdyoqbp1s6#>qpYcV2bGgAI;I+hP_>q_^XaD|6B`R_HL73u zrb7%h0#Xx(rhj~SBOL<8XOB&mSE#ksr@^Rkprb1p{!1-S0?kF}^Nb^nE9c2a# zlicn}?^dF{`P{xOs?gaNpxBd6u5K-_*Ht6u-@rd8^T}{(_$a5H5=~_c_mjW_GlL(pY@J7!U6?)_u@oQ055=qg zPT2MBd_;4HrnR&4jOzVGbYB(W&oxyrl+yb$>myb6iNgKcmskKV_EtpiHeBnXPQ9b8 z=v=1wP=FU11%$8zkyzgM3<~ar|2<3sbOBO3sMsUvu^mYO?Kp)<`uk){rwn#^2#caQ zK)zHSHU^Mqhd2Y}<$*xQF?MG>+L6G4FagUGsGO}i5Y-$)yTDhpKSF1{X(Ge#)3d^3 z;@)1Q>52c(m{JZ$qA49kB$5V7PXngs2hj6V#YptB@ZF8MLd(LW9dix9a;>{VDt&KQT);!Z8(nf%EL?pFEG2Ukoeo#8y?_rT1h4=v#d!{#boWWJ`OgCgRBK zp4=>&(|9Fx%BjABnW?_jPBn0t)c8}iN=|A;dD?kWg|)rcmMiIy$FnNEhyy);i-dP& zbAEsc8P%ZO3LU&z;$-IRTs8jX@Sx)0FWzmt_~uq=Ya}^&T0EYQhKIMf+dh&8`>pVm z;(XDyjAUA&jYOSaPxUNO!Y$sMG^KTT=Fr>fiKynCI!5Zxf3UW-tBbyNF^?AR`8bvk z_m}QH&DjP9|7~JRGd(Jfz3JY!h3kZA#)ur(T)w}i zJ=1_nB=wKzwa}Z^T9nunxo9sr)wLab^eDdl(|%FxGXMQ;hUW#<-2@NP{g`)KWqDN4 zE6k%BLFH!5r1zW=2PxDGE^nkfDhA4Z5epPl;{L9+la)*5=_^$|`+~g1zg=(tW}hrR z;k!TaZps7s7-8#%sMQ@+snWrnb!lCni(E6MZkftOR^XhLA=+0_gqE@{hUSzd728Uc z0na}yJ)Ua6r6ZXPb|v&fug!4Gv^a+;#p_I!O6y)g%#&mq>QkPZo@qW&YDY6nG1|`6eXks&&f=-hoFBWwLKfjE@{sjfAsCK0_d*4rxTN- z3W=lwAj~g5p8mU<{zdrAk3^^mc}H;;%SNgTu~Q+a9H6_AH-v}^ce?^KOsEkpr$4wf z_d0E&n{TGlAZpo+e`v|mB4+$5@VCaa+D+DOd($C!v>rx5+368nzZ3r4A&PxsaJ*}B z39<0|x~%qIp~)TWy;KH7Vt*0MeR)PisE`$_&KN0`T}{`U36X6xZ>-18jQGLE0eV23 zzy2ah--HFxP*g-T*c+iA1R18XBHB%XBk#APrZVW?PPdpA5C0Cv-wKOOtUaB|Jw zn-`(4!ps0;=R@e7jrhQc=sBYegb6^N1-87O1=4FQP0Uzx1R|sMg<|SWqp6o z8WqeStz-I|CMu*<`cXAKHY!w4hRN_-NL1K{j9@v(zbFh&wzxzS7lnn$0i=kHQQ>4c z7MxOER0Q(+?Aylrs7MBR_|;9nsHjrZk60 zWV*C4#gVhgHw5C5%5(k|s00QTx}p8x#8MRw8LHzXJ=F{5-J|3U)m9qD@f4ierSi<4 zRET;4>LwtKtR6er&hr9!<58C;bvlE_CCP%#j8YBGK1-LEdYVgVg&Ub0ngc$jZm)1R zyFxA)=@2a*x2>KmvKHTf*F-k*)`xrFwsIJ5JDj(DdHtV-CQv{R9+eA&+Lp8c-vI6) z9<$Hny(MTTn#dBMcMp`;?%eZ=u2 zh#ZEIXlM+ zm_9-jb?JR2zyKlA>B?C}NYL=mB0>#g*PhB(uNY#Za2nAySR=Z9&*NI~!_gaI-|I*Z z4|gGI^)Ta0H|B0M08Dg1mFtZJlgbu;(I%*Aboi@*<`vU=0+(3}_EDqf__bEB8Jork z`v;Pl+7^DK4Q6hZ7S#3;U?I{=+-)aVkZYIuNKnhZM{BP;R*w9f=sK}hh#0Xdt1hrL z!ujKy58WhtBpJ~Ivq4mT)NteJ zc$+*3wxf2!)(w&DG;60_hha~f&!vq=0QTgv&!AD*O@cju?h8}&m^JLtAOGa&@naZb z;pl4gCp?@pLF<0>ggRnYN7g)gl7d)C4UUhVLOXEi#6?9<104@q%*vu?njAr(HLqxj zwUerZYfSX)u@n8J??TaYcxMD{zl?MAy!talTdvZR=mkoYfm6gH8i|lGYqnbgx*+Um z{Vp#ziH+>FtXR7uq_6ki{Cv#MreE|0?}l)-!5)28cSqwZG<`i098^f7jTekzaU}n>;!2w|c-h2$Qr=35d&; zbv-}_4qWp7a|lGg2vd4_)P%kv+;VLFJpCc{z{&CR&KuFLr}!Y^)%D{u_2B0P_EP7R zU|~_#kw54Vg6S#jFEA95xAtoGUsHqUr+xs~It=jy`}YOaG3(KDMe6_DGAvN8gcusI z3APJkDI7x!-owtkEy$0d1E+>Vi>~5h=)v+4YtpYvVlIKlA{1GqVi>^Qk?Z^w$1#jx z_9)fVe4!X7FfmHR+v;@;GuR}$q)<;Ph6TJAU3;(XeGDr&HKtO891z0>mX8fqF+{{% z29L$2@Ef1Tu!FsEG@YxrV>rOZ(o6 z7;bQCg2cNHfFb$8T0(-c8enpMZ;iEBtR@&)fWWNj3dY_9GZZ3n z_;M9uwZNrinu4Xb^okH>d^bMd-e~r+uZoUvJ@&@ zad?m6okGB~!uzG~sI0ze>FB+W-yO2o-FT1Cd!D0*E8`TZ?SB9%4@8)@=#$GG-4Kih z$cn|=p-P4fmCHYy^o>d@cgHj*9_m$H{V9-byiv7mFO+10BfbfCGc$!$dsSpzSYWH8 z;f|ta$Qt8ve?@bK+FNHIVHTyeY;#&CmU?v#CQQRt8+8ds?TpsA`cnexu??gFy^9O8 zB{%fIM(;gFHijsVg*{dLQ{B8ZoiYHa`9mr*4f!{wI&Y zZo~xPT%aTyf9rId>k7#zqk?}TO5kiS2g(0 z5ElR=i(ava!vzBRHMc$9#TSw+;iwaTBlPaE@)*SS|k;K3&sw{VG)(M5b#j{ z&BH!iC~2rC7d4IxgAKFC|LnnG03!_4m>W1OVMO3ddU-uU_xmw=se%;B)dC4#3rxwB!oqzi*g9d7_G88*XTkc+^j04TDQ*h{!n0_BFf zZxk*KI=kzOoRtfUOu4L#G48ec%E`@;Gh8lZo-;~3{S=Qv7~5pobtgk$fSaZpAgWRn>_Uhm(&m&^A*c+SWD@qFHI_v=+iNhjf* z^`eD;S7$>0(V}LS{F8(N%&)23VRXWK)g^``i|B+8Ka>5Vz~f$4VECbm-s2@ z&p^aghQtbb;JS01G~#(8LEsv3J11hflEHezNcwh4730w@>7ZZLOqfj-%_!^7%&J>7 z)-0F5+qOcu6ydc&+nc#1H|u~qte&w8MBo-QxW_+==x^yZ!rNeu)j3y?21* zrNpnQ`{vsO_QXc={+-IKmBgl?ze(D4oQciA1L`y5y+ji6;DtexUSf;&;o#XH;l$RX z!;fcQ3=-QgM{l~E7!%u7j{!EZMu{Ed<4|B8A+a;)&dG!FN*o}cd)QWHCJq9?m)v6K!SW1v z;*fyszxFGr#9@KqjvE#RBR&*h#rDD{qbygz%JkrS-w01j7}Lj0D8ce0>i5RCuWS=P zOdzSi%M8v*ld@OAL(dDR$ioLo+cZ-?)L{P(MxkjI8t~POE}t1fm|V$^?A`Uv&EoUJUrDRS3qIGtMjSkcKUo;SZ`-L=k`@UJ;Jn3! zq+ceC;FC#G`qFl3o{royk_kM85H0vE%M6Zupv|)~Om1TPx9Y$N>XYw6RneG^Ww-FMILf4AvN*Fq1FK(N_p$)PM4_?mNX+0n51&tpy>Ztz0y z;R%q1$Jw&z=_wb%o!yJ}AGZmwOOO54GoEdgrs)soyhuJ}x;owqK3V>_tMPXMg8aij z;>Knv{=*i7U8i+oldcF#2#{vVD=52TkJ?hHV1i)NEgkGtS|PBDrIiGAv0rU|DUGf$ z*ww`)kap!oeC9q~f(Y1`Q>B_-LiAF#SY32YuzOzkM;rr846I#lSUadZB~bGyUYIO+ zU}u_urGyAf2`q6}U{aJ;85};L=qOf94)%H?uB!rW)MxaQSeepy&#@CgsBq*RM%0`V>CJm8Kf2x2Uf|nCC zDpdiGz`wLly6@(VxxO-0)6@b>X*&Sb=Pj0GYwkrp1{1i}aQ6kCfFBM4vmTJlIwi$5 zK-ysXA8KBj03C2h()PWFc?P8~K0MOY1+P60zOOZ(@tY0#I8qP1NSJMXBA^d;x)A=Y zO-fdn#p-|z!1-YAUR{8p_FK}DUY=nOkw@Y4~t0iM-4C1 zo(Wipb*BHbBw6&+!=tT0&z5Y9N2~#szq34xZSpK9Yc}Og7$yO51lj&b8<7P8?7pjhO?1k$!yjW#oi(2$MN1FB^UrO2 z-CH4%_I6=3Ay5H_l2Q8_7m~w{8MB!y2(M^oKP0vJ*XO zH2eLmU83yZ*)NV<3_h0^_+wo4DM{QfRbd&Y4Ke{_SZ~N`PhgN+bl9zeAfWrUxq;j( zqI-t7R@+80aKW&C-aiWpK!9L74$AcM39%R)!(y7pts&U z=5Z9!n@;ena4?8-U7*F7)O0s_0ey-7)eDu=B>~U2JCO|S&OdwS?@T2~V4g@)Hw^vXoEhwn% z+ADn|@Kx(qw!L)XtLQMMpARG97WWnv4^JODG8Ceae|Afxl|@m z3jT?2u5Le85L8n_#Jy`K)9(;dV$}@kgJ;w3IBXQkJCj z1FUsU-Zh+PUr z)hub_3LUba32Aw8ib*vlNNLSEc*C|H zRv%1rXHiHS%jFi{biJK`EsD*v>@dN(m7Z{RZsQnBizB*_Iooz|QQflmXDd`nJ;V50 zB?8^OKDj9llq!8JZ!#24lKTm7e#c#t8~6_@47hx(Z513+2L+Y3-#$=aP#7xCdlJf$ zGOYW~O9u}fS$XH+a`WG4LjLpO>9}ta1xx=rnp4NR3%=jZbV?nEy(e1v-bkIG{cs@@ zT7j4>{*d|f5etH>Tlgx^%K$O8QYbOG`Uf$cP;?6vYlfJSDE`8I!wm7gyLbVoS%dfi zE6E4&2_a@_KMu=85D;_4AF1p%5%apGnlFOhAQo0isV*KMekPQ~0i#b4ixTCAWonX$ zU)|+wQm}r+6716pc%&j?nYO}jW+N5xySQQvf02(^(IseMoE;FWD})W=0 zl^Ve>iy>~<%lN<4KHCWvxrlPueSo-{1E@Tzxp1kqY!7XMtM({D~NO2 zCQU6WB;umDNnQ5fDgq#++nld6{*n|+A-S?AYlgTYB$Y?{??&Bl*FaDTNo%%bHwg$L zsDxzZTVfo>^AT5t?nJiAHjN!3sD%XDmP$+(5i~-iHaP@>RtVJYEAQKapc4XgDBbX~ zL(mK5bqMa}kP+8}G&?7oleG~HLi25o;T?>TU0@4n?*)^PKsT8D6{N;2MCz8x0OzxS zdXD3M*Iozo4&FPYxgnG{{ryTTt7abWgACNam*94*-3V^z9j^hS~ygQyq!0tW9NpG)SPZPnB9_^ zpZ;)=@>)7_CNeTxL`LBIJ9irYJEZTT?+a*TK|dnRBah?&vlCyleB|?H6UPBX3Yv4F z3&i93P({J{IpD%tx{?rPzA;@iLs?jLfo}Livx*3Lp`5esrmASr&yZI+eRsuxiw?|@ zFg0=F;!(l0pSpzgFU&nZ(|bZk|LzIgy^mP}PwA`U9;hyZ`7=J_HOR!*p^TbAzrlPy zj=K+mD`2N?_sB;?qRX+0Z(JBQiXyplJ&FWv8wvg(d#m0T3G#&CEo#5q- zG~J-}K(TS}G(F&knaN;(nm%!3|6kTbnt}DEpQ&&`n&HtVhpBI0nh|D8K|JlLkm`0F zyG2i$F?m~ICe1`BXlIH#G6-o3+`T4qGZ|?{+`T!tMvFAJ-b*gC^hR17?Y%WDSVum? z>^u50Pa!Q;|0cO443->25Cz?3}N2~AnmM=YQMPD zBA*`}<=bQ`A?-28heLP5kPfORrVrmgLOPO9qJE*CB0)i?7JJuikxsyWS%Zz%2{}3glu^(kp_p^Af+`QBi|WPRXXOZlWpS+dGt2m!fNK6^0P-W{ z|CnF^0LR)nn(|nUun&_u8|EOg7n9^KL-LhNA{6nxMNr6=<#8R6wQzCe< z=wnB>psrgj_}5MAbrtv2OO-PPHhkgIS6Kwj=bx<1?S*FT^9ujM%q8nrq>t&#C zMNB^|bD}nkOzRun?BAB{FdJ&0zuuFd-9IlkaC^Di2hj4dkmMuxq|)h&vPe87%NWnM z7`S!7#`ew zKclYLI`D)L-ckQ?(PukM>eJ^$<#PXnOWUC?B1&s-TI^dk6=D^r8{HmyYcSSxz0~Ki z@~w;_1r<1_?-KyNN?=h=q& zJvd^ajjv@HD4SpvQP>K7afut6?v%~>A@qGC_ZN7^io+`MF7R+{AWi;5QPk{TT=E!h|?}u80j0)=S*SE>=7-zS_8`l4-;> zu^e;owE`ZglB$`-Hm)g<4Pm@77P{jYv$ z^UKEQvtF{NMUq>Ze6(JuN-B!$`iz_ioej_7(#uW}^%=Qoxw*?FgZ^r*^l8rJOAaYu z|*IuYynF!f^4=;PA<7{ite7%7X?ahN)ky*%qK{* zv~|CkJ)x~h1n0Pak4XLZ*{*A@K;!wI+~+0JB16QnaSSD(>OORMI_-FRSy%U2`E ztG4Q$MdX6HMqbVw%XiPdO+?%b8~Jr#s^OHwG^hQ~3PI+S8GgmR@!Sb)_T7=na9C{*Jlx3JpsUl?6Wmg{!{O1TYgKDr5w9FQkr%V~=UuW+Zm^@qyTsNtHX@yIt8<9>n zlylnv!ea?H!?HEQuSMTF>Sj1q!e` zQdnQZrF0Eu{F-BH(zuoP?`mUs$)zM1_NVj2#kb(CmwuJQP|aoZEDmV@E&FY8O@f{_ z?BumbrkL?%_L3gFUq9*WH0Mn9a(Z{Gpq%?Nt2U>7pcdC3;qm%o?^l;rH!j~)OT`HU zi+XUwFqvT3Rv=tDg^*JoDEXV?Hl|(MO-r~sbNg0k?S`X{FgJ|(*C$)439(&ycSmI@ zS02SR9vYsF6%M_Z8=*P>%0pXM?EdulUZ`(Ogg)9+?7t&%)EG=ddW(N_CtmeRynkTf znrZxuFNYb;0rU03FuHie^+GsxJpV0A|0nSXm?hMen#s-5i<+7hX6dXQPstly-uvtY zh=^$kH!SBuv~RYnX|>%H+>q3}40D(Ys~^$~ZCSQ2S(Rqq{gb{S{8sPWc&^^@jEItA z5M=GqAYE;v(CYoC(XGAL`cH;5E7!XIfHY{lg`bS_1HVTyp72OttP64Fqvo)r9`t%C|_+$W3jBg zs>MlX`G8d`S=X{wUMq$MHz4Pvpb&}yr3)+YCP3JQWuHsjfOi!SCN5AUl`}-OP~uXV zdWLti*MU+WZyG0}u7msY&)v>AISt{;>^@E=oXr$wtLx zF?UX}c~Fon-9lFr;4CCQBbP-DCh$=rjg;}Hf$%PP8d^-lcBQnvfrExVcPHXY;!aJM~brnp1rVQ`Vb zZWGr(SeZ2~@oK{4S~>Qn$bLEDn#~BNe%O-e2MVUhb$cT({3Jq_8vy+IzC2a7AseIZ z$p9``J|ADSiO@E2U))OD{d1~Tvwm;Hz2Lq#@+FFCnar!eYlE+`lu6K&;7cmb24s<6rES zcs1u?804{>-TJf!{n{7exb-S|d|H_=YSp*Of}8mV95;|+`p4D-N}ww%!B$y|6CR89 zM$fEdJn89>UsMt)5QVe6=XVSr$menfl5+u-UN6QOv`R-IrWI?ephjv0~7twnskiPvuKwa=^3g{AX*$ z=_7T(7V;%+to+RM%_Yk9h2;Lk)P91nvQ)B!>zHS(-TMy;-SZ9bRdt|>{AYx zs=H#9RhHnM?4q}GvL9Eg8~%FyVH&f=d@Dd#Kbxw5zuNdFUJUHTDEeg9oB!DB75l;M zrMic7q{g+iRak*$gxu*s3TX4i;Kd*>Uod|S=FPX6Tay!0h*kDgTKEMgZ1h)8Qo6MK z%je2fIB9uKSIUDy2AFFygNnY6=?|8|nojF&SRL#2lF1jIV;)9g+8ccwSQ$J0Mkp^z z`FybW6Z5BuPf!)^<1NQwgAO{(j)6PY^D&2tmhI| zTb`w#>}y#koiq5O{yL6+QmubR&L7R{I&{0TZ2NxL7<|*D?SaAMeHy z;1bVF$8i@DPpM}qM;(8S&T{EDpLsRsr<2c0Qpx(NYd+#YClB?%ZkN%tyKdCgx2oCa zVTP`mMI7*6U^Fo7{ZT~k#2H63(?h?ok2AG}(~lj-0~K)cECFA?`2a{J^G0;{)teWl z5D)2ISkxW{u+}Z9M|oe@OC#+w-5N=)-bzog9O;mTcd_j>yUjE5ZmjuN9tRu0y;mOI zx>EDzeBe{ZWB2yiX2^3Thom0d+4_iMFyHG}4Fy8gOeDLSsb&ZBf#!SA}E5N*a2 z5iw?ba}qXN#hbD|7nt^ZM#L{YwPi?Gr*vJ_`L)%z$pT&;rN1*z`%av<3%)#>hj6-3 z+nl*NS9`UwQUs@8A8%IxoJ$2T;O|h}OQZlm{9QT87fTv2AW~(Wl;g%FO982!Muod` z4^wQ~c40kue6Boc`Bn+%Wubf=&_wIWN1&vt!v%Zsn^4hulmvR;+@?x4>{Ij+KweEc zEll+ll%)=`_^0J3G)yfp_UZi#VIP{KiJBsR5f<9Kii4q-q6FG`uhGT;F%!C1Tss4S z;@fn>yMK^D5=eT}?}=Al$zFpDuYLa=JbX!M0fhK4Kswsu!b2}5Fzx;;U15aSn*N$_ z6DEk49Wp{_TgO35ClbjF(O#7~kCJ799F`%Yg@!AnvVCHFu0sN4QeMQe+<;sKY%atR zp0xC4#+$H0zSpiUzTS?v-)l-hvO#V~xCmZ)t@gud?neDAKSW;mH=9BOSlX98Hx^Rmr#QoG*$iR z=vGU*Knrxj)FF3hYv#IW??H6T6P|Y$%P+lJ?$N!UW-gV|yK?_W*q3V=eF+bACj0vP zB{VWf#$-*%0A;tvq&IKIAXTJhYQ~VzRe^^PPQ^*(jA0>alJV!bkr5iuqlmgm&rw={ zRyd%3>>FKPfYytQF?!9%!EZI+j$fOXTfAfS_-%tW$2$l9G^ z2I&~yc_BCr(1oyB%IeMJ@vv3aggQKbeYkv1i)(3vt@rT&uUqQwrXF~S}gl2>)(0n z!1?IvgGieIt1bFN0o&){G1yDQ1J(IR_%X z9M9(M9|wtDoJTq+TR!%@5O6$b3kCy(LC^n-j*>oUNyJhFfjsBlRbLSXI>BN6^pwIx zh~!m6Dr;v5qT?3l)uXwpPj%G781U@XHYOTX$g{>r)tR)ym*SU`OgiBpXpoefU?%;g z_{GD5IVtm+Fwuqe&`CU#LD<^$1hn)ulTrA{wfCWmXeN^|1}5O2$t-;7e~~`2$Yc?| z6u=lUT4!Dt4swsVvK^LrLm23>xQIQ=WECcQh}TEii~L&3F~?7~b(llJp> zIG8b>3QL^As$OnV<_bWv*F(cX4Xz+>0?tB?8|X7n8*`tB=z}TUK=NAq`rdQ9#wUFA zkZ&!6AL9p!iV(-%RDA)t`)IsDfP7s@piVHzAM(<%wOt7K62jh8`dFCg$=9(eVjTcE zWPNHQdekL9KoY|QLQ)x8q{UT(AZHnp6%yp}-PwX$L9ZYpB2wkIfx!@!=lax=MB@vQ zQYq^YNFgjwR{997CtMygiyOr4SmuMqXTS>Sdf=9 zu5X?ake4&Ae8wi}`70(QlkN0c+7DW$$P6S6hk%)E<`b3-Mf2gztnW_+EPS%YK+}59 zSWr<1E)^ydK-N}$0TBd%r1DFWh;xhqYW&{vKz*f^n@R0J@>(e z&Yo;!*|XqmNAwU`4g}m&xvz{_jwU%XY8!r8pzWNYY2Z$l6B5t-`*VAivuy74w(M{g zcsTb%J;o>t;`4@5k<~8?%JSASzd|j`_yWO=OQM=kM3Wx*2)BF$c?W_e1y&l*zB%kt`e-){`j$?}GMc&~Zm zJj;i+aKg(6p5UqGAQC~FDqoFtitJDS5|03`KJlf z@T@S2PtRXnBV>hlf1*0JvC4{oRlv+}sacV<1RJy-F)ON=;IRL;3Kgwesr6Xp3o2%% zQvJ6L8!9%TO5&|XGb&D^dP;Ag5*6QFy>m;o5%n7O*=Te<6O}+)bAC&v8kJaFGe}#0 z8*e8(u1MC0MW)*%Yr-8fgyeTvG4 zHN`wW$3Ln>eGCG%Fuu;sv>g0RN0abMGzRgQP+Kesw541 z9jsqLRe^^3D2C2Z)qr7i{H5^ybKdZxY`}9=jpm3$ys$E=c78-H-q!(D7diTQ%RCuH z6!`Y-a}YJ^3+Y?M-{+^OdeGS067N^22Eh2PJ$4iIHE;a&AD9KIQFB7CU7j7)G(W+! zR+NEmzLdW(&xoN(m-3eh-$ir_iM-QdDvoXiO^Hm5E1=r|)B1MF5OjOqv_nJqZ*+&| zjOoKzHgxCw%#(M%+32oI{R{V>3v~CT{)N%|54wl+1I2B82i*&rRmf^*LH7aXWFk>; zbpL<;7c~%Q3q4>x|8s8t2t9Z-f1p7Tf*!i`zlhy$L=Rv3Uy5s^(Ie!a&1h}(Xwafk zG5VV@@K+4-k`~s_LmpMN$4r^ z?^sB}Q}lGu3T>lMGI|EM%3ku~5dEFFN}(6;kN#o37Q5Bxgq}TGLo)0BM9*RVr1myT|l0Snss0Q0L7J-}YS~%D*;%0cklJ%Ca4GOq?v<3YF%K44iCQn;j zSyA0#92n+6uab9Irng7YYeBoU79ktxKft|G&D-hdb>d!g-rNoJhV{N*RT>$+d9?3h z7Ho&!!u;(s(9T6~s~&iE4CJGC$Ok^78!qVGpu-Ox=sjWJ(ZWrRIrKj9=ez^eOPH)%Bzz z`ycVlOf%Lh`^@?r?>)O%=dVIQ(lvrs`n-&9v=2nqhF(zGU5p-zi*wRGF2 ztx0$2k<`%6#WT<~5m_2&MBPtYhGDBoPD@4~TIj`4Um_C=9rUeCJ{>c`D)JpaiwQk+ z0CD@%b&>6}iV~F@$ZOE27TK&KvJ6n?Qiw@5o5-+!U;1-)A4X^cAJ~k8g$Y^=y?V?^ z&}=2#2bwTLOP(nfa&2S%>omBLEYQWfR~>j{uS0D;xgos6evDf%KA#)V?MF9^_*qz? z$byi8n}k)jqaXnjHYn;D{EguD2mdV^AtXDLBTZUdSe66&{n3485s~42p>8!%A5Q4i zeKkcf79jNAOc+$0Fc#YVPQru>djF51+O2KI-l2lqNNymM3x6C+*~vvHGFN( zY+Blf7wVl)D3M{|gKACPx*A;~}iaR#kTPf-KsCqv^44T%>W%ocr9BMn4Ypl`zH2y?K6D9#|bu@{7NP7#K z-Lu~Ns5s^pm!6jHZ75{)lxFzKDH z{XsoinaOUQa{XeNHi;@31Km4T`b>I;D|fU$p7t6g$ch;sGd-1%+p`YiHtv?|m=4%B zfysj{&W22B6_i^azBVgX5EA-KWv;6z{0GQyv7)GQZ6o(tf|7Ht>A0nYay#qvnpL;5 zqhi8Wi=FOWKjcB+^Od_UK9u|R32K@Vglq>1brei7 z#<5%d2BNtS1iNP@FPZN|d!Ocg_L_6?eb&d$ZeZO9`^_Vwkd+7Xjv|Fn%}aQ1O%G-h zMb-m}GcX+F8=yLlVqJ^v)`R`q*~Po(xC&4@C_S3oB~4&x_6(vhj0P{h0d z=~jd-E@S)wdY^g`j+mEudL_ly&#(cS`dv{MFR_91`gg?iE3rY52F6{&a@bb_hLZIy zkFdccL&|Bzr`QmXQ9VM^9~%mI8oa(7fep)hsy_f-#)fMe7uYU@VI$^^y-lp>u#u4_ z8m*DoC;`(!Hot4wXp-r&KQ=}LWG3|`n*$pQFz=?=^25gEnI8$j|6t=aEn<0(7_qPC zE#M7CJ=lcEXAHI?de}q(O9cBA9GgV4EPN>i!X|^PZVD>cVp9Otf7#|rv8j319ZJvT zu?S5YseEz?Hf`SK7sE^w78z-K=-dqX z*H*D5s_xFPgMREsvb#PlB?(&^*0+UdDy3RP`3Cci_ZUk-b&-;rqDiARi?*?Yp?oKwrfI$w*uc(HA;~s}-^K zOH+#s!POo4afW4B;E0$P9K9E~FCwb`q|+)ITs_$z6EZ)KYY2L2I%F+}`w9#YUQjE* zH4+2-(2bP1ChNdI3vXWFnvVi~{VhFlBuvmPM)s??7S&hx$95-ht>jlwi#$18TTt-a zE6zS#J1}H+FxU^*K@3UzayE+Vv<{7d4$k4ajzW2azHj5YF=5=ONXQa#VD!40uQFNc4!#tjpqci-5} z;6_YhsNQ)m;YPP(SRUeBaNm%znDZG|+?Z^f(W>JM-1u;u$$3N_Zo()2z-K=JH_7rk z1Qec&BNJYGM<(;*rc4sB&3QOLf&00gn)XgL8n=iyWR+?w(GhFjatxUc@&1osD- zDR5^(3b!ts1K&6=yD^a9b>BIf6JKXPbb2mu+*DvtyFYE69+M zv%8(`mVG9Xvxmgkmy3Gk?8{=0Y^l?8{tjbfd4%9O2R=CD6m@UTAxnl`Xk-2yf8 zY+KG%(G~h*dt2&+_fV;lG#VO-50|CXz=F108rx(|2P=eDOlXDC(-uL8RBoSLE3V6W zY{H;h45b;^AvH4T?ke>`<|!khA?fJwk=cZEU8VG9?Gki^iS z#Z6newlUhqQ(T$x^s5)IZWXPj$}HbXm8#Qc9sY#s?^FH4H!s=0JH|4h0^Ogd?#%cI z!fGUrZ-ood)~ZJtj|&&qY6%GjiRjjStog7gD!NjK%MuF~Q%NBDyz5OC7nS&8v%^G| z5bgfrn|?ZW3s%23OTBZOwjoo)+gDPwxZw|;;=7dY*Q%f6=Xhz+m9NxPKX_#l8fmHt zAMQvr@rw4S$aXh9{*W^)N4muSc4Q7J;pIgINFqH2{&)pZ5-DH1Lj7eJG1p z5(TuHI_#R`l|}PfpES`7<5fg8+a8iZvv^g}`L<`OD0}=}(a3hx)w?jfny5gB=8eWs zyt*iQpgVv%=pO1#~%gTHeGz5Y6if5G%mrHAFSLZ#|dw!)uDpci;co zv4ejo8rcK8{pt(;kwEX@``viF7O7WP68~5f)R%jYr4|1K&~H!i^$@R}*RQvr=a1LX z958w<6O7lLAFy$qImYWnUNZV%IJ~~V(8q{%1m1u&G_LfR6>kU{mNgAe#v1`fpk1wP z_@{XzzTzsHcw@~`v60nUyvh8iyd19*-Zb)?Yf)Yp-b`RjoJWxjZ%!I}mu2=CZvh(j zkC`yRKLbpdr9c(%mU$D}a3le5r8)VC{;&yeJwIu=cI7_aCX#Ghg?x{<6_`rc{5+q=}qvCn%}?38JOWg^WV!ynnv(Wkw1=f zu3+)b0<#W1iG_GDX_lP~bedg_0icLY(gxJV?a5S}%0#q`$_) zjuyTb;oU?rKO3)!-pqAZU0k2J?UU<4UL*q-zvRM$ejV?=Sk3hWE`5)M>F0V8iLq)z z-qy=dgvk7c&yhqz{h=@BHB3bXE7EZGyRy3y)Ls~ke!IKa1Dga&QOJ$`x|2Hawk ze`Xs_-13p9k&m$6ruaT}H}Yt^$R|cP3bPYUjfsp_-L-&ywum9`f=a`3V}tg_*3JlV zz&QIh(MgMDZ+$xE^q2AoSBC1pG54Q2ndE=-C6Z=Y zL1z{#r4cCL`4yVxLp1T+g=XVzcIv<4SW)0~J9Fm$_+6UMX#bZHqXiV3bO;K>)o5r6 z3IG7KQjs?RR1}&30l=dTn$aJ~J?)^b%?7K|0~e4|i~(2 zPU*A$S>8qHLv;gWdBd~p)06DFtxsyxIhf(!O|5*~G82M0gR{B%nXTFz8x|2O5p!8n zysXL_8~Cc`*;jsRUW8Xgv(U|kQtlbK)z=EaALuse-RyRhqCfWu;Y{Yj0-hbFz4`_I z9UE?2aiKmuz}qPiQV>-A)@yx`)|O_EvZ{y%{Z2vhM&_AbZy8u4w1)(iUKh|y9j(S%GU~cF{tV` zjt{PB(d3G-fZLguEpLGz4E_KyYktW)Z|~n~<5mQ*0a?Q(ta0+->e|g*d-!V3rcN+ZNF8RgMnYK=ZNw8JxK4eQ-6k+D}?O;iH2Di!{Yg z>BE5Xs6nZigh}^=NqfLV9)jbPl+61&=oDynsMSdwxpUMItX^sB-b)jG-t1u{a#5r2 zJ5zJp@#x-ubG1`;N(dpqP)BU6=5_(Y`@po~$cnK3_@ubmy6@gg4gr%4HA+PaHassa zY+o?6bd(7;&0Sg{V_llq_Q{PPtIqq1ZOw&BT^9F(PWm_p(Y4=azi=p?UgR4b+URb< zDYlwU<$lNbdr+NN%7{ldoo#Jy(k>?Gb{c96P^eZ77`oY)^XT6~Q%R8|3h!0&MN(*#gNnYrp$?HmbLcs+z&6? zm<+ui`P1D8gn7{E<_f==$zkzu>qnhU>FJ`w5cSLS$KE}R(s2v_ldb339xBQURFdXx zopi>Pe8P;UFEWZ7D(S?nvE0f}CBztW5}ln7zseHdaRp0J7x>51M~=TAdVC7isZwyF zV0S?k$Iqo_IY7`uG>l9DyD#CkS>sQ8*VJ`E0xf#Aw+p;mf`weM^pz%!aP8~;+!Gy^ zP!&i(nH6<*P83rIzyM4Vls5{%7-+yXPsJ)0pYqWmqm-B-2F?72T8048Gyh95L;b7a zRz;zu3P(J5bziY-a?0g5Bm?#0UeX83-d2qBmHUL0Px5wl%*H~%i{NjNt$t>GNKzqPlfR34t6A*L;!5u zt(ysj+sO7s*&uHQ^zbONJ*ei}JL7Ml=Yv!_%DR3#joQFy>H%xP0ZQ(HDJ!`(4?Z5K zR^EzvAdwlI;0Ym7E6U%dlvjHxl_NhEBVS=;oi2Bl<@VyVqZ>eoYXi~ExKEUYbOagY zuicoDbHaXPx(9Om8G+m+_3f|NX3ie}TX}2cEGewK-`wC^)H%{H_|g1=XLWzdqbe?& zCb-|DB&22ehx@aVxh9Q`IlkNtV6jtG>bC*aI-s_p2uk*(g zOE&B|N7FAqmRC^0iuvh3QjwC~A!TmTwys6O+J`4th5f0QatBbbjB0a}YoKG~@_el}% zhjaJfY%Y?2jFvdqmxCjEx{9w>)a-@^PJYjaj?MLC0>8{24j`u5`1r7+?MId0zx97B zP*Ru6cb`jrTU}(&?&PSVoZ-UbQEv9f+xUwT;g*RQa)e3S*;fSJC^9Q2&9p|LRNLTsvW?2uiJ8|I+pX|rjfb&w<^Uo zL%6&lgi82zFQ`-=Zz{!Y!qE|TYr}vn_k_56FdL+-vY;2&1N+6xgMRt)ulkMJsm}Eo zhOQB@d;dJVCthY##l2)1X4rkPym-%?Eh-lPTBLLaU+1d03XEfp7m}>z&XTt4Lwu+< zW@1s6ia@-@GGg%4t5lM9v{Mi58SZL{ne<(X_)gE)izUXgRzL1>v{8Tz9LTb){p)hY z3^q#1+(@_GHrr%Zt!bbrBbiO}K;w!Xn;e*lL|%dB9cRLySq}7H$#H7SczMY|Gf1EM z_-~T$pf&K)od=j?;LCN`ZK)Myo!L zVK1+CJFWKX=oW>fClt^UqU;BLYj{i9b0#}U#p?Kudco@IO)KRt5_BL^OOEtYS-Feq zwQ|*6?MyzGspQL=7#ZNAry1}XdB)WJMiGQ@}| z-X3^2z?c5EH-#wtbr7)4h8u3~csxyeVgFg>*r~Z8vEJx=d5Dtu;S_t(&_%1j9Hae* z!OM+-`skxWmzlsGxl1_Gir@Ye;#C)Gty;jQsok%=<4BL2dv{8plc!aKp}DB=7HMeI z@0yAy)HeCEIN&n9!NDk%3m3r*FaK!3I|M?EVgkfwM0mJe3hLr4YnL%Pt#afS%S*!m zPTAhdf$7X@CDpq($`2VF3npc>P3D-Cd#j&$iuxtrIJ3UM2gZh${#T?u;UfK(6Lw1+ zxBLH|Z+6k1dp?zEcQ`0r{V~-^JN>m5{J@qWBzvw{A^y@K?)klBXT`pnKVSpsTNd={ zW9A!l^#<+a68%uoo4xlMe$_8O!;cjs_4km#}lx|>uUbhk-+y2x?54odUxYOdNiF-Wp5KQ8qvge zzq!I$ow_V_YEb>?^A?Zv4-aJMZ(hjhspj~P8r^R;uk>qVeiwoBLeQQ@+|YNzg$F0O z=KejQ|DW}ECBop!ntEdDbbI`g;mQZ4BrxUoWT{m6M%Mkq@mLkv)|qEya};Bro3$bC zeVwNHmaqpe+p_kz+Ps=e*#LDv`Fu9IAP&`<`h`@`|MTtJBeAz>v2M?{6+l1P&KW$i zsRHAEG?vIPenV13!kf3&4CR&Y*>*|QIH_x|{47wkbCVRTlNcepmdfY5;x>RBa`9hX zjfyVgnkJ<@Una9ePRj1g$<@15?&KE0OneDW@(%~?qP`w)2SYDzRb;@=_d4~|S! zw8QCC%_c=>_u$jStevoy!IcSZU)QJ7B8E`h%i9I>jc=wW)vJK-DxbK}eit^Z=My79d-ywCho$PtanL=IU#4_)#&Qwj@_ah&4SvLi`wTMH3Aeg5%3oU{FZ>mu!ivUv6tc$X@N zm=ZOoS%IIYo6*$pCO7Te-K#gx&RV~X;P$PWD-R-?! zT9shl_aQaA*4m4=PAjz;LsS1C=GTV97`UA`ZURJ-$<*z#6rs@+0GCU#3Z)9>&e6p# z+3NsHh-rRsBNt~v;o>e)pO~AoeIt47|5!Trc&5MjkB^Ee*Qn+`xoik?%S0L#5~6a+ ztqHqCEX1NjqD7>XhA{VSF5BF;=&}fNiBU1PEK!qda;N(F{(ir|KYyL`_?&az=bYDh zJ~dus2&064*F4ID?LsYTA`?o<8}$#VV$Y)Qw8{5Mkqq&Ul{1H{L}3ysVRH4=KyLqn?RlCQPLkLAVn2PawA2v( zR|R7qogfvpuSVQOT5aFVTCK#Qw*6s7on(d#^xrvPy%cQ!xwqwu4ctQ~Rt_<7vMA?A zSu~ck9BMdoCio>ibuy%@(d7VYf9AQSrbPvA@}E~32T_>6lVPu6hfunKFW292BPM55 z-{L^1>-M+o*wXSS+&`JW@91iTEWc(K1ymQRaZk%)i)O^h_Zf<)op&~ytuQ6j94c?D zja&b{_gFhl88z!(d6y%tg38C|cWBakrOwbhT~txv|9!vdj=!4UrK!27>Ss}$+^t0h zZyY;Q^#Nk9w#u&c%kR;I3MRm|W4(mKC`-}}7#FIJnr8me=;JJt`uP1A4OE@d=?5Qy znkWiTZsimCwcu;iXL~JF7N`2>PQ(}LjU6OFP*U)|TRbQfmH0LGo|4Ypu2 zK+Q7zv#$P<`})P zANCwZo?;n}y%A9doaS-stVA_PuxO!8peDkWdNajAOpBl6DfV$MB;HQDxa;>mDA>Nk zd=n(D#r}FpN=^cK1||LIkAft?0kvx_mmx*!x@n@T--rMs;ob9!$-w2imcs1(RW08*F9L#nsc8^Jw5SL7kRrct>a6d zZAW<#Z-0KaGk$Rc*!-p5+VLk}(#m7Fb#N`$Gfo>&4Cm+7dy0!j#&vT^bZNQ7e zU;Ni^!(JEKT_MI9MFd&}!0)6&Vt2Z#udlIz(y_M7*PYEhFjpd|*nb3@mvj z-rg^4KR3*IRu3nOyFVfo0=O|$c*Y2_gY_Q$%UtGz2i-&#zMBOj&T z&UobgMNc*kmeJ!yN8aIPIKv9#agR5ztNA8KKdH<&{d|}Hgp-ecowy@Qp^ksMx0snL zlC+VO@l?3YYa`Fpg1}@jAUCHUO^ozR+hcchgUwl_My_LBm zN74UN`gAd`{%-l(XBqk5uGN}l!3u11GB~7==f}7O6TWvbL<<5*V{b@IHni~bXntf4 zr?Bfu<@2IkOi>ci>`&1PVDUWzucAD1@n_Gm$)bGwlA(L^(?tb>5^i-Tvxr0}?UOH; zEEI*7eN|YgDFSj{=9Ie?i($%f`l|Oz_5#UJ51-l6edL?q5yvuddkWuU-LhOlfS3L$ zOO_;1_gWDWC{oZ0l^ebUmh8Z~1E`j>uO_)) z@TMIQfIw^IbOKGDmZQRe(y!Xy+*8A$8@1_9)M6N0;hDyDz?ug>zY6QgH9XxYp$7X} zYah4kOhN6CqMaX$Q0F9iEaxS(e$A7@ZsgR{cw3MrOv8Z{$FWyHrkssh;A=ATv}xJ< zH}{u3j{VtE$)SuPEK~>-d-dPwyyOZ_=Vu9J)%}G@p%``z2$z#51D_cN?ZmHFBB(utgweO zCrYWS$PtNKh@WeK(ICie>^f;w2x1_#ff#%BI3{?LKh^lvzD&7xSpS^`u8!wiH5a(p_2JMUGAn^GKMw4gB0SIqi!A$N; z$w3Hyp%A)db)PXZE46d>!rs*6_uilW3N;k(6} zN9s16(EhqP}Zho`#HL{=T^((*M>Tf z^{v6{_BFc1?Yt{O?~cI#*xyL{tjGIv>XS%|KK}27SK77#=%3%pegO=CzR3FLaNtL9 zi6I1s`KV%5Vg!*ELSq9X?w1%t=w8mZ;!IqG(R7lFrs?9Mf27CJj9uto1M>4`u-)h* zu^k(5Zsb<3iaBl%dgVjU)-f$)5W+_pOQ z+crZ2{pW#)gB?r~-FA?;&z_r~)j4|xCxuoe6^J=VOQZDz9WBq&CsWgajxI9j+uPN6 zr^VyPQ}#M%>_?xI6%fzCWYG|%d^H#DofqA0t~fdLk)l|w((}>>(3JkX$qV$p>%Y%j zbUBFj>KM^=Tf8dptZ~mcgjRf8>H&d)(7|f>E2W;?gt;W8OE`Hn&LVohm$U*pe5KSI zLf`8?+UDb;h+c{=^@S`pyWpftS6sk-n0U9`AD)x{m^ME5bRY9Z6 z+SYY20oo>Leh{t()ecaNILz@Fg}#kc$LM72E`NDL1E^ac{z@TAliU|RA0Dk`e?)CM z4~~Zj?w@Wyd=pC0D>5EUh=J;(BYhX$VmXL>^B1=;2I%GSmyFv$82an5QhppcY1n!7 zj=drJy`6r%z?9r$kU%g(2iOgl--Q~Z+vppfiJYYf*yDQ`6ZFSy(z_&}DSCCG=}I#B z$-?yB`}RlC_iU365(I~Tj*CAan4v{qyr-o=;pnZ>j)YWBFA8A)5Mz#xg~SJ?0gs{e zI8W!&$;a+|7rI*Z$ll@&=<-TghQNZlPK_#iOt6fND1BV^1bVzWP%Wt}lXLv1-MR9z zrx+{8j`zf}XTTF9zi~xnS^pt>du5Z<%AO+;$MmiDlo0{e7THH$m1UExug+H}mE|C8 z;sN*V%5wQOgpDCRygfR+x8Pza_zc?6t*i{f#(vJwC`US=Pi}8B$$+zH zo3oE4DI{6TgVj_egrh3ILYaT4cy_8%CEn?vT!K%PD%g3vUsr0A-^* z&+wVZi)iY}W11|08@gh->?MS>naH(lM7X1+uWh57_#pjP`tcs}*{==2o)^;}=e%Ky zOSas8i@b#P2#Hx{1H90hHXzhHQlx1?TQkBNJ!kW(p@lysbYt;-ybt=iGSH+I?29(K z?^fK#zA7qusvYTvM(76*asZdn*4ZMV9sj|5rRNiR$~rxfVg*quUF%5OJ5J#8ZlZsS zRK-O32ly519hPu;5AO;-3m{+Kix0To8=hUx1qD7cCO4G#u>wo?>l&2zdj_Rzm$#LF zTwhJ;2>wJwp_fmI@Ba)(qxU@dt2Dr~JVkCE#ADEo!!`&W2#Y?RM%X{ZlBnF5I_!BB zE$n0@F|r;r??W0T2BY`A%vu_QhoHmWM<#sXx$i%Gc^rQYJ#WCh%?E{|XTKiU{gpM! z&dQtc3`4JNDMWr-f8-fCG)csvdu{7Qv8mU4?$;7?W0NUyBO<1^s(!=?%uvueZ}7p`!d=ML|{d-e2w%&YSRTe0Q~8u;k1 zMPe@(H9`0ts^_s^TC5F)(BdVC=goe#35Va%b?V)RKbDCxXtLv({1tdC`ch6)#wri# zIOn{Ezl9!Unj_aix6xJn-$om(ymz>YP0u*=6Yv?mt@WRYkofKY2)?)PxFjQJ1B9DC5}* z77`5x!Lly=sI*s;=U%oo@H?!4d!FK2;h?T4O&mWSZK|O}?;5+?psDPVEs}~e(^6U7 zADmPNQO(F1Ol>oT?tprQU)ZQ=t8pcdzcbT0jCui5n z3sYPLby3{rT*`Suz36>l2jv2^;e!K+N4dypz_nhUptxa}39?nQ6n7wtl5!@D;z4Fv z>upz1Jndh;6d#$OToSx|pywG&@gg*)e#;Z4cte|vn0Mh6A5If5_Kq#Z7xU_sNS-Oh z5BU0ns|T8Lnf$sg_ftOwY5(Sg`Zk^7FL)y*Ot}L6kJ%gNRv$|VK(K=!N{mqg`D~M^ z?7ftr_;)gycPSJUxVimL^=%58-5hZ2)ffeXY#EHTq+kK>(Pd`(l&hroyUK!WDZz-= z)hA;hN(jHz#p=E=H`3;)u#0rHHF0MD}ueGrXq$eMj41xAM%F~S;LR0 zY4O9+2Ax*abnr+K+*ybEh&|$d(5Z%+fgC+Z9U7rN28<1S94w_iA&oT~AJ(E~BEFc! z8L_BO`Cq{K?H1H$|M7YQ-|z~lS#Z7~jc|baoX4Lc9QUIV@n2yDFCD1apoveG!rs&z z)&zTWjYrM({B{~BxJG@k{>@dOJWtIdPR0l97o+CGr`#g5l&J;0DQT+%5Go1(y@8$& zq85UF@Xk#xP>WbUx@j^Y)M8J8bUheIEm;@rcKe)4EhSDPZgk2}%iur1Z&~Y8%XvSI zMwf%AWc;%9{Pvs8&y{@SKYbwE|Ep*XNMwU5V5x;=G61h!M3K zzHk?OS&K^JEksHByrI(ZiW6Qm z))Rk!jYIoT8{o@@&A&~lOy2U1Dcd+I3%^2IYQ9Q+30ghndNY>V$Xaz_JY1(Xd9Hm9 z%5T3>sYgzBNbCa#YLdn8fcz&FHheSA!P%iAF8IA>O{@tchS&Vv>2KwAX|+#)NQ zSzAAgOL{6=JhxLU#pf#CuW!#=`XyDg6905LoYtyngZ~{T_{UeY^Zv%3ivU+}(nZM^ zZ9V1MF9Q-)5RSq?fScI=MzO@D`LNyU;D=NTAvG8PffOo3?!>SF0RHAKABvFs5Ydq> zl8yfh`rw|utmt3Nhc)i?AA+!Z++Nk1C+9Mc=qMOoxF+48^9XY>$U=mWWc=>R;}AEi zv3)0BUU7dV8$yMO4**1Djh_Y2Ow)Mj*)x(NEAXtB*Fw^i#lu3f^^A$G2Ma>l`KPj; z6|TMxNQtZ3m}2hr{Lu#MP(<3i>t!kUhgTEw-X~5~J}dPRKC0>6cIDE+dnt~A>O+AB z;wyWMi*0L%_Gk|sPJFF~s>}$nG5d7*W7VHUA%K>trqIBoe(_B)aBjfv{$AvfCubH2 z=8gu%U-rnF0vfbJ9==vS@U>$UG9 z-&UyeYN3!c7mzz$x839TwuZ9pFTz2 zOPf6H)#8ZuVPEho=AO;l-P#eS)@wQdq~lU5kMnFBqv9vO;70SWw`N|gU_&iF7)Dp@ zVSP}5UR$1R*nhV8S;mD6q2pVjf3feQT$o7{$3sI+ffpM0UpBV=F`2W`ks?L$UrNt6 z%P}m8e#O|+7&1k`ndw`~cm@Z}onxGy#H58pnb{eCj)dBm*Ek$QL|hw=CDSJUwKbS7 zy($fNB@t0=JKJVEM+deZS8b$kkS#pq{%XG_tgVNNS&r$Tm7ac^zN^ zs8c`gm3aL6Zp#oi$=%_B*Bf-q7;i=jtdGlhKhyk~E^K;bsQKuxDfl_?O=DP-D4U4^LC$gElGLDtabj?}%AD|_P2#Rm1gxWjVH(Ok8bO|R6Er@q*C+9MC^}iM?<>D zbtyksoUD~fTF)we0_aDTI=(v*K6F^tHDI!`)Yz9XGM?@};@|T$hj~D!>I&?bVFPFK z>b(vhnb`eOZI?W9X54 zJoxK}g9CG*qiN$pGCZZ)LrJ45DzIi6#LRgI{q|z0>)8iGD_OhFKNC6A$cTrfTfo4N z!G~g+-klxa-(y?9`s0b21aM7x$IDmtmmJj8T+6sEbw|-3lhbyA84g_WZk{HG-|@lv zgrxr(QFoFd%xX|ezrhE!l=7E{#>48q(j{R{qN1F$PPkhO6`|!9e!`s2Tv?-74r-Vu ze8C?pe(Tj+xU_ZlOaB`}*r%E?*JF83@+V`9Go4l=HSf&{k1fg7T$@^e6OF=WVuoM< zOu3$KSN_EN=%I9>y@o}@>xV1)x@t}Z=cKAnZKzVRRbqao{b@1Y)H%DUuy!=YWaxtR zcfpYj^a_UKxlcRo$qsm|>zh|F)-phU z#PIDy+ls1PJA-rF>Zkj4*j;A%G1}}KpRlOAfBL3*>DFUvb;1RWVz=!wH$s`eKBT`0 zey*eyW%hYs4ZJ0T`iOnzKBEfqPqqF1+9vLO?_05rdi3~-An2oiap%IVX+n$8jY+*H z-t)3i^%5TwUj@v!N}!%!3U0rseDtT&CHy1Nv0x*&Lfg`{FjbospNMYn%Bv~Or-D77 z<~bNLKLdupAH;bdYsk&vU{A}HF%%DkdTmD1A6{>1&Q7a1R8VO+$ifB8EJ?3NN^}j* z-ux=^-K|UGTYZ4Lck8Qz@+^+mF<|obxd7YR0h_m6EqK5h&@96aocL38*Ydq7wC~Er z7wIR;>pA4xwn00mr}8h@=d2X?{<}@<<$d-ID;YoA@(M)6ks9{WN3II*9&TvEhsVMI zb(+29SHJO6w0w1^o8^O?j@eypHoI{fpEw{MZJPJ$eq~o!YR;{4YW6rV2X5z9(3at~ z5$B}Xo0M7AsW;bklt3PKOMN<)P8lB9SppotKAi)ZgRGpf~U9?Q3v(XI{NNpWlKdw0@(RJNhU?ck;@kqi{`4(!>P6$^m6p|YLHQ@+Y2 zA)Ra!LljkW#}_Cg5d=Qiv-{8!r?qAmFGJY{nRjK~MlB|I0OIVodYjdSC^bnF^_GXp zSUIk2lC-k4=e;>%tln&1H0bBz*@3EmHawnuS*+RJ(T#{uZ;RhG*Di-D-YNHA2(66z ze(&bDJPoteq>V4HNM?D8BW(+$FB{LlwY^m{&kazJj?UGk56?6Ds8FYhY*v+EyW>)Z zo{`fErNiI;^`PwLYzbF5X5c%sG)HFbXv(Sj3)YX@Ocm@pO_q^axh-r|#U{h$<5&m+ zm329}>G_vSTT{HJ)(ib=;^kVQD9P{>4{`evI~FzoT>bgVfCxv)%CeoBfnF4Ha`IV7 z`bGnIfZo!PcH4j4%s}82@v-5Tg=}DiqlSk4;K}pR5xh>Va_zY**-OrPcA-lqh@Aps znMq3hsk6CkclPpxOQYW%yWA!Hx>~+gqHWKU0aYM!tUdd)FY)ADkYUBm7k7v4)TxU5 z-<#U)uViRXuC(m&iNIL;TWHN)tvz%7q1N>ET)Evdc581L>32o}yr+Hbn+mHDN zqCXG)?)JB68;f=i`}RQLwX$nSJK=JrzlF&DU9p3{Ye)-`*C)Iynr%aIeHT3(D8b$E z-zeGh%~22QpSSnu5SFJQGhdXg=eP4}tMYD!jOcM|lx5}2G$b}p#Jn;W&8!Z#_lh12 zn74(RIK>X=>5${}n3nxxD!Lm(7`l2Q)BH_BQ+C|S>*dh*j14pY&o=DokHWp`eYcU* zm(%W8EWQ4~i0mEgev}`G)dZGKy*!_GphIoD7`)JQo2E*?y6@lQf zQ#*=F=)VRt+Vv+c;$q!P+k=&l4u*}Fq}f^wyE@xTyu7pQ`wgg3wbi3DYHDEnB0T1n z;SWcVVXyCkn%l6U#EC5Yb)p0ee(YaWUlQS4Co@LkU~bY^!7Xp&w}Vg5b_PejBZ$;L z&{t3G%X#EF!K|YR6zfBxpDL`xuiVbzUylsg$GJ+N)f>TS!HSSJ&N{03t^aen;rN;nrY!Oa+Q76yVpH@`w zNuGLt@rGhCMBO>Cr6xB$bfPLSm4QlgMzw^8F%nGtn#kVg*ud>Kym3Zq`^Ol{`Eqa$V(UPnwSp1!Q{e|c!~F@FQ0`0qx@$930h=hn6W zUG6uWmNh;sC(E$`0NMOiuV40y>k&FckNHQzk0fDeNQbI?=2uG1n5@n{j;?CP-wUnqjthI0 z=Df2V@O(f%GcXf(apbClBvbp$C##V)#ejsc#cLNX#M&S4aSpbc8@jt|q3>j(`r-&@ zzML|M$_Ag*q(v!$EmTRh0N9(R8AQYeuDHl=)sJ#Gk+!aHlAjJpi!xtm`+TO~ ze@$&2Z~>4xJY0y?mYPTqRb2LG=7F8M)rLE@>iG?X5wDR<^*@-{5K7p^!XdPPbM{` zWz-M5vZu7@vb*{(eTTU0KU?UU`vbaIEHZgnkRgldch#4ehRIi}dHK?8OWahA6rJ!2Fv3+Epc5W z8!~_66fik0Wp|gQ6)`hUL%1vSk@|%*t1e2IAkB!ewZ*i%ZSw0G%9!oX;%7HtDww#O zU!j{^JI8YR)_;N)%wG^IrD7W@-c+An`G*5uKCS?){EJb;sOjV@{R1Axc)+G?0ovq~ zTXd4jTUliAd>R=v-oC}uVB$apHmc-~{ zT#DOuo=n|18~X*u$>i$;ku2kiAo!ffIF+5)}03DX2wfr? zyBmRJ2Qe@W89%E-KtmQYdILl@tn|1WBX7Tx@VUcP5EzNzQ!XeHjKO=9GnAkv$d?Z` zlsP6LpuGz!7}J+h>07G6qwT)=C@}fx$JfDAYW8L-GueTM1!jBqh5S$_z#raLglj;} zFI_D-qN&Ys>ry(Vg*k@#efs$x2+#r(_U%nGlpMS3thKhiB}V-(<+YB$OvT4amv9{O zcIs{95pAdyMn2f&tRCk;C(~E|KQ#+`%=k>Dfi@WNqM)+05~j^YyjT5eQ)#G;v_7p} zQC?}J4Y0wOiFTM)8f%mO2!KK++K7{wzyjS$Q*FM6pVY3S@ux6!oA7os@M+BYshTRd zHkPVFXNM0*z$XYK%SH9z4Te3s;D{Q}(Ph&bP=0W5LipWob* zdfYkwLh5jn&b>f#j~cvx^diC|eU)^_ zjqmYhQ2o1myl0kkdyohC(p!~XM?Kk>Di6VuE+M`2JwK4V0N$6SM3=lt-jGV{Wgmo( zgO*>gFW)CdbZp5l-glqNA<|{AAA9*H1LI&Zghs{&Za z^GeT>s{%d!smE)2tAf`3bCe9-t5C!%#QtT2Dl|NRaTj*03d0K!mx#8l!r}ulxM!wS zS3yDYkjv<*V3z+q!_E*-6y~R;Jo(!CuyT%JC=rdRaBv9-gJZVF#Eoz~jEu}L$Ln}3 zzkQcYIOytxSer!z>uL^_oE7OAd?oeK_>J}8^Hg!$C}K!FUM9IZ8h%Z0!LJ(6yLKZ? z{LD>!XjasUTMQ`d`8(olEGw+wt}FGHC+=u+xBKmNT-^-cJ&t(2-Y0G04m`YxH_;u> z3;*Ux*G<4jMDT2t?t&tJytm*bvLYAmFXi9!yb-n7H=neAqxg#*HJKRIx2Orf5054w zY~u;MXf9h0{Q!@bPw!4h0o??d7s69nH>G1RaSuIXHlLo-Ok0n^Z(uajiLp1G_q=!n zzxB+Aosz-3^h4Orr}Be`L@n%qQfsTHReTDW`I zT7Qi^h;-852cK2)q4cDmSa4o}OR}=lm?CL0S*!|5EX=s?lx8Me1S7n=nAcv+B_u`v zo~kavJ#axr|EeyPPWcueRZ?9>Pgz4ILaNJMQYYwkTh-*n)K!-nd^IKGA!OurK{XYY zw$yE&T3x|SYgq80R9E8CrTs^Wj5s*RMT8CvSeH|v?lKJ-|G4Hv{yKyltLzo_F6hyCxp;S zdqdB@Jbd#G?X64B*}~rQH1=YSL1Er8+PjS0y@Scwv}V`~TA-*Nt%ds{x4dVP_8ymK z? z2@1RY?RL?+2}M0L+6QRyiJQ1cS`VjKgtl|g+>0s6@jc~1;{r=(_NMQl^^r?QbR}NU z`t8eN91)qckAgDc1$`^pCqj7yYchoP8A=`@!E0#)9P&g|=r!6PhSH@)wW9HW)DA(I z9c_qA-RPM8LL0WP=wCvb(MALnR9DFy+9;vYx$09rZ46rVHdd>N_JvcGT!jmwjbo~v z#L_}&d?3xz&(4bWl}r=A^S+!mVNXXyIwsS;3Fz>_!@9Id0^>});3jPfTGQ2gz=!so zQ?n$0@-FQMrgr4a{XUuiSa+h{_b+XlTqpJP3!3)RzFvcNKAkorsP_@KRHw}n8vL3! zyl8V!CQWYNMcO=vnbqu@LR-MF+T4UjXp6v?>ri4H{TKPAV^4-VeaXJD3{3y6EoglE zc_5pt`^%!Qa$YUnsk}^I!@R}@v_GS-1K%h*m5S0g$ZxzKCfuNJ z+P`hyD%!)ox3y0&B1zxY7ALWfT`cAPkwCm#6ZUZZE6M*hQPlrWD!w_Gegg^60k>e@ zl>dqpV%La-UlB&W$1F8|-?vK^(E1l7SGrq{^mF~I)}8~1wu@#;4@GqNZHU2XDbe_L zso-D?5X?!ec~>RI<~)+MY1)hI@Y>x*+Xv{>JYk_DPUT4-S>V3$eAJ9Q?ug^`^&=2bH zxj_;#hV(-^@qIdsOm{j+2i*Vg1PDu)*I~!!=iX63e#E#vPz_cDe8P0c|6wVScu1gy zGU7Alz|qY{6~54bl(}mBz|JHpi2&<>2Qm7cDHqk)hl9mz4kLM(>YC#F>VP3kk+iF} z2B~4OgsO=c#sE)T0%+;*hn2=FcdnvGE(GXLLUq8S7}@d0G;JNWYMgnl4ss0BiGBS@ z7w`pBe;%>-hz_Z+rvAZ>iwUD^SC8Z0V(1I;$D5E{1creyk^jBm-W~>Q7yRq_FT0@( z!`-~E`UT+645K~xiT_+X>%YVq#yTRPZ_oB@W-&~3L|NaADWr!CQyrk^q+;DvF5{?< z*!tw1I_7VNna*C~)ZJ4#5)8P`KKS<+2lg?{b;Nn*V}`58B=A38=vYXC1Z3&XbCy!9 zOaF9aj(bi|p1BiiwLTqxhH*lN_)~o8^BMyIpJCOy4Ku8HGw+wKLl`#r+2v}RQpQQp zT((!85#tnV?!@XmlyTZ~{?||)mSMX-|7_^H5W|kRfYI*y$FPSl&ML0>G0yN7GranW z84mbgrd3NmjI*F6UG_dc!;!TVNhvU6IC=i=Q0??(IIsV%QYD%)&JmZVoMeL-F7Ops z@l1P$D{n>5iE&;Bzq+NK>(96VTFV-|w#vB3T7$(h+;lwGKkah#V7RZZ(|4(yV0aKW zoPHa>V|cXoGcNHqSFaL}F}(0w7xJ1~8Q!4nie_H}h7W7oOYik{hOg(JAGrcW zhTr<1#N5UR#%1E)7X{UW3?%#?^o#x`02}FV!n;_oSM-W$MyF?2LI6w%8zKIwDUh4Z z)@}{L31bx>ed42}cVVycRBF)lyLT$0FfO~X3o9>du#4lLR7b96?7Wog%#WX|7LXB<3wD<&_AZ(*F_hnQd+}-8GE0X zlv5+bVEg=}BlmJeGMrxA*oPC})l@MMB`z%?EZ!CtEkVyY`w4-UbdkiBt}EV@S}aWs zy&RJvg)On%^*t6QjrHBy({ziwC)UH~HckfnY^yLhPI^D~$LE%fJ9O_8{it{sS!}a? zO@huMLUZhHh8*^jIjKJpb^xoK2HJIxds@O_G6{DOTP9b#o-BO`TVDLd`ab={WOpdR z1%&yxF;=L7h;gk${Y?6(0Dog=;B5cF@As4++QI>{N#IA+;K2Dcb!UjZu-5$|L zj^CqXxF}<79Lk3tFR~%2Pcl@nHDc3eGhwRO*w?N(;E<;}TvhesyKXmuZ_(Gx2%*1 z9Ct{S6!uND(v-V zx6AV@1^R^TmDMVOK~>7UTQwB6SrmJb#(~9!j6>)c!;#!=9s_8U7AbJ4AsekX%m1vk zHLU^|#|LQIvT7LOp7 zK5gtc47SEbpz1o++14(lu&Z4fNShoCIJR38aB}9vPwfv{q?02mSb7fxaVjW%MWYwW zKUD?h#-GNHMqB##fo-vV@OP*Bb=kJ)`R6$wk09;7G!jUk^Z@p&>LKc%^-1<^!V8T9 z28c6_F++z2`RB(%KJwxnur9I`>Ja!Wwy@Q^WSC8qm53QJK|0pWj+z3TTAMgwW2BXw zv#Vba&e$qA$7G!E{AuZI0zdv-X=%d8uRGLWzz5d}wu|pT?xSx=*U7v0>L&r`TO@^m zbyKAC(E_ob-w_w)3v_aR@Gqc4bJ2qMi@(Fa7f*xT!cW!O{$#u9y#HD_gLFTC+E05H z;BjHeIAf0FA!~eSVjki7F-76z0^c(xT)A#hC;n1wYuzs$u-AjDItq15Y_Gnb_&;^O zk=|*HaD}>MfRB8Y)R(#ylFy|O-O9REgfCkWI9j*H_dWCTrCQy3yr0GUk=nWq@a4v( zboaVVT!n(Y`f|Rqgx?Q^Xplcqc@9K7gK`7Om9vAkgu`aVj z4tt{8dR<&a)z{BieXRs)5HW}Bir$N9!m(M`*VOiE@p^uhw(W!9uQuQmoW-G_U}k&t znuIQEP2@t7q-O|rYZyt8T0egnT_#PuhQ07?ud2)rFu3rTOW%IpMx*diS$r6_^eeDW zP8Wp3KGhtVJiz)i`7i6B=XI=8=IHlB>+i2zQv{h1!y6o>9>|-*Bg|sFLKJj)VVl5I zMSLXo*BP>#k}l}R;@{R;WnI<{`iZakDxOhZeIHs?*Q0El9L|7siP0xFA&Y8o{AgkI ztNO#bJUrlgG*}&f^JNW2K?4*+?UZC_vSM;((x6(Nu@Se#Y9Z^fxg)Qlp~PFSQ$uyM z;kO-qUufv?ZU-L6LUr+R)r&XHkAUv<$Vk7``;Qs?7nTXG*Vo0x`#L(5)EnqZC&btH zJ*bE2(i5(G)f?)%+*2ceWE2RzTyL)Ha(|@yMt=P<-NpNFt0AlP7P=XP z)TjUG^_IG@2PZz?$*VuE%YAV2sW-CTN*9;%Y%{v9{)Db{>Q!DnLYJOu%8;w9w+6dB zRIYSwvQb;SS-I=u$-^0Ga-J)vPN~DvKgP${oYvsd-ubYUAZQr7H{j%2yvJ^?~JCiVFVta`O((QsM1z}|=1i~Nrt?DNXTvB4ih()#%{t>Fr=5aPRG(hxu{G*D>>)U_{aT~yL; z2oe<8<-xQYP=sPz9p8)wG_)keP~WWq!zt-!+^T87VoGfcQ<564iUZ5AFjc{!hG1O@ zGTcYaHAK?ByiiwI?V6Mza?jJCPy+eLtwD(}D8;Q+7=`0dBu={|T*px7eJFY1z>0;L z_Zku8iXUW&E0Ok>xCDYpBoa%^|f)C4fpID_&fIah9p756<8dnA(_AoxG#IX;XafVu;JH0(B-f! zZi@eFcz}6Xv9Xx~Y#bUSdZm&Z`<}WgJ+yDK{}vvSCTPn0FbPd3yb|lno_z#;jl($J z&)~d<3RIAfF>ktl{kZi6__otFr8V0^i ztJO3-M>PA1HxPCC%?`7wZ4KG+Et1^;pN1Up`<})M-f0mS#(aTnRRW6wn0bIU zhhA9%GoRFU;^u@AvjEZFrNNA3lKAa3jVUE&VLa#K3vMX02;5QEzV(e+%d=T;^q{sYsl2gRg4YLZs#jUC4F{?@3J=XIOCJoVtz%%K({5}mlwt~rs?+<@| zTb)@0{&=9pUL76 z7$3tEm@nf84>|_uG8@6XJ|%J^vx&`{8uyQ2zCsQmpf(SguK~jc+ue6F-;jm_u9v@I zzD11e&QxJB+58b?rX!d6E`F5jY$wTV29Gfhgd{Rs*kg$Ur4G#Z$S-cJ2l>oaz&Nhw z$#G`ee|X?M_<;M&c2EA!@+ZyYtn=?VC*zqN#IJ>LW~VNEV&dg4b7mKBVj!k-k=c#^ z7LmsMpbMI8ahd32_OK=!zRLzPdp)OqkGDNya@VJxk3apv>?3}E2a6A5_QQXa1v5YL zemo&x(Pe(Z3ql`GyC1Xo>kH1m zf9+>|B`)e7{5`;$fdBd{6y41F#`{(Aw9$w)iC>aXFqB|Tfqr{FWPR6V{dNpt{m}JX zzO=65$`Y(EJAr2US<}Q7P`XDB>nD8m4PdmCHN#t-c_!n=n#HeK-F;@wnggvH4U6(v z^Q?8PV@uww1<#GXa|A8c;`&A_?RF{a7jg3&si%##1m8N!bm(XO=4}NWzJHjtjNewz zmp#i`0sV;r(sr>{S%0nwyy97Fo_|kpJUFcN^}o8%qO+`xbX~Fr>iJN~x&H!X-9mtP z9l(EqGN8CL5izAkBES&;&-UUA?-sV+`O>2bT4;vqb(GN2g_(iIBSWquMsih0^p9Uk zac|i263LS7ai8+MX;kQRNk?yJK1#&B=7`ovmwQm*Sxw7l=J$n`eGGY7QoG=QmT!`^ z0Yx7LV^F^Q6IShF0Rkcq*E{yJKSXI$6R3^$as zD1o+`zR#muE?;g>4q9n3^&(HrF2dg>2l-@PX;vhbonZu4EAHTWwC;<^``v~gJyNlb zf$zeC?i?~~B4taAci;@#^^BsQ{*_b#X#U1u6$!BQuc&e7Gx&P5xz}eG&5~202S=nv zPRot_ZA0!$KONj+BGLN9-2YCyAvce4ltDzE^E~7lGGdmjw>$lVVc+IeafA^nU$ff^ zd*$REn5P}={>tv7?HK%%dYR_GZ-WFUPewgFTNopHz)$30*ui6(xr{vJu`KJp&WWEL zMVO$bK_g^#t*5#Cf1S3X=^YpqjYei3wG7lU+uuq-r#gn*y4=9oo(0yBn;&{LnN5pXU-c`l^+wbx6BRb#~zBs=L~MTM>xs62u(7LbHVeXjUd0R zzgQ?%dEEbC=)s|DeKX{~^30Sp9PuqQ?5W6&?EFw;otvnT>O1^mR4whR5|%e`{db6p znf`C`)uh*9UG8K{?_K7)Eni9b3Gq+NpB^|f5_YO`SD>`pZDyJg-5XK z-beGV)Z{-M7^h2P1K*F{u1yGV>F=>&(hv017LS7@zia=q7z!SObRNXh&q4l&r1Oqv z>uuw3R1vMc8haBh5_=QXk`_gc#%OEL*rhftN~=~WDXK=zQbDaGh*hyFc5JO8Eo!eC zee?Ug`Sbj7K2OeblIK3p`QFzhM`$0B+WV%JN};l} z`13UUSx{Ma#py*lnsTbJ&^i;*{>_5m5(i1v89EOAwH!kp9v~4{V6S1$_xK1H+KkFJ z_P$0!1i%xCpR%-TMR*bH$II&B59amh%q5pYk>snUdW7Z()c!Q!U zhZY5wr?hLeN)gM?_rQkDzEGDd)lqgjCs%j?Gq(>KQfW_Qww`VwOOmuBI=yWdqXtkb z4GW$%v#$@UdxIB$l+}YnO9bE?-qrmpbR3MVp?~N$I41eVnz-z%`?>J>(+zl?I-=L= zwdLf-J31Dv)IH>(s15FA?Xwa0(TgwhUQ=kCH)D{^gM8LeW0b5izwE|5qbVVM>Ctxu znW4xraPJg4V&eCVd4icCgZFIa)h7^{k|R^w8s>!&6*}R@gY?&sRz*)ctuV;weTCeH zh2jR%8fS!O=~rsoW?A!`?4FqcyhnyYfs|9E95X-+vDB6K)v@ASE}~Ozh>uk2przak z-0GScbV6$lg}`MbD%1Y<1#c$K#(3)-;B}m-yMFLUg;mnWoR+$2_!7G+9@XtDFKQT- zp=9=VM;WeLPBOo%p+qYb6ugNYroJ~HIB1j(I|3*vteb+xUP~Hm@r(n_Zb%+Di{MAB z-v~>Vz`Tc&D%S|0rGN5cVRFDQ*So01KTKG2UV+5sbIo&Y!54tVSozww)l%1=*f$c0 zMh|im-K}St-E?*vKsXXG?H|Clc^0^v+RnMf*x_>^Yetx4tcMo|e};T`8^nEPd8!;o_cN zuBoFTci{K~KX$Tsw5mk0Yp7Bc%Z)~-dvSH@#&@fj6Hgan+O|5nTOQp!I@Alk2Z0{# z%LgqAzBy`rsX3J}J*SS-bLm9 zCY1ssr0s9og|vzvT#mGQ@U#qoJ{=1N$`7idU6gmF+pqY{8?-ye2uMuti25#d!#M6s zo|fghS*(@s?AQyb2idhM#p=b^PCJS-|L!jrn}p50U@)#NX0&ntJHmVVD-a$j^xbCO ziW_I9xgn|^d_O-^WSVc;#4XO1`B**dK{{*xMR~}Riqu97EKt>TKC86d+g@->4s&kV+lJFxu;L~x6zg8 zn8~HzlC3~nx)!9OLauxY)#q`OYl81QK-Hp}x$+4_=1aNq6OJGnMI{Z9-qJy%Hx>Ve z;E}T$p1v6>jv8?c2cfihh37O$8A>vp`qIBB@Fkqaa%oQTRCbX0(1x!YiGBD-T>~Zd z)@b+h@lZpOy2-|lA?@sF()*@?yjoJN#diI_8}FX#G1RWV&Xvl_e>geBae9>J07e)170&V4YbEwrgU0KL zu7Xq5Y@MU6MrrfF{;6+w@sQT1WSX3=_l!+wY;nfW{Wi;$ zDliT%3V&~Hz)n7-m3pEmSu;Yzin8gyYRALW$`SQJWV|?s5pF{GBDIex|3BIE}F#Phl)6 zX>s6jm_WJfQ#S5#h36yOYBgcg<1?aDsrLPU8pGd$PbO6~&L2jZJRGBVsBg^oTZMJy zN4cps+lQXlaoC|3eXk!S#^ee@QT!hU{p>pV4r!+=t2Egrhr~|>YicdI_av+vuTRB0 zm(lfuRuH~-LgtA_Q8)f?vr44Q$Hb~(92a-F$#J{I-ots1#b zXt$1fH3_>%rJ)8C5|js~?%z6h$Tw@O=3)w~EPs5-!Hi3i5s%EqQ6R1C*i7n!ywboK zkMoAe)At1w>EN(@OM^l_zm=OeN(bRxu&*y>uXJHr-cvNUB2zw_%=)-Ul6DHVr5!py3BEtO*3A(BN6Mk^LPGrU!$NrX{ODGI@wKlXi za=+ItzI&Q}5Wk5ElE`%B)c74M#?t7tIUQ@~&K_B9(sgp;xa+wC)N!5TS zH)u}N_+&bzuktRLu`GU}QTo(yx$Y^q?B6d~nprvZYoK2q*R94DgOy(q_0R&A?t8Wx zBko)&ijBN&_dU9SuSkIpQ?ENS)rPJ)m@CY8bNn0`d(5lk*{;#^ai`L!(3exL-eO+pfzQV`C%?_UaN0U`~W%}QlJo9}5^pL5F%7Gzz zs4kwQpem`?%PC#jKE%Poua5QDV529RITCYz`+A-ZH++mnT~Q8k&I$!jZcT}dc?<{Z zr}(xi1s$1sz1RL%t3-*|Kvo28w9k^<0iWf)Mv3}u2Nh>0M{5QK89R`qD=IzVn zcK>T~MvJ%07N^?KrOHdA0(eqPE>Ud))XjfQ>q)_i&8ORyGJFMRX;hw{a{Rf^p_e?Z zm2OO35UCnMq5u4-J(JrLtpU<3mp!?Q58hKrqpclBwl0~{c;Y#CKTvN^FI|>Sqy6;l z?>ib9DBbnrnh081VnE1wE*-=Vxc2K(H&B{|-gEVlZzMgs^n)Su71Jx8M*eOVSGO(W z81W2>X;&>2>_ZuqpbW6j;@_F1i6Gghw9I~tp2Zr?EYd7Yo+F%ucl zPhjzID*HC8RS7SLbQ+7N(3@sXX(+4bD&0tZ3zsyJRUHO|v|RIJ^R$22^#H`e?g?A^h}Up73YU?dD1v;00f9Km$(@O{jPbw)mfJn zVgY$pu~bD1qx0k-t0Jb{o!t#pN@W0^8`9gxmwlR~|FgMxUi_=dZjq6O3$6T% z@|7h&`zK8YNfh?9qiwnl1&es*E~rY&5!OENjmW!;dfs%`kyQYSd16$iyA{h<9vQPM z!NolhWKgIwS(AL1RV7ivv+kLDw<=iDlNL|@rA7#QHprpw4)%P}+@Y=kl=56RYSEM~ zH(v5?(t=<2j2%`v)FxkF8+OUpNxT8td}9U!ORLdcqS7Tu-_~!rDeW$^R7*qMq6d_{ zm^*84xm7O9tiboZG8PG-4;`@GK!(b zsKtz+{L?t8w&lLN%F|5WLX0_3wbw&44`WfTI`*{?s+hL%25R#!Fw! zBeFKbK*R>-@qd;VmPULc#vTUqkX{C09F}0XOF_3VjxoBe4WM(3lh92%R1F=*8GrLJ z=zIy|Vy`!hx;lk%1>CZY3uec-72N9Ta@NGS!*1JrF)+e-EZrtedl_LoWArPJ=oc_v zLIzHHwageK-aw;knT+wahwmn9FkyTEclOk+nlQcvcMPBG8e;rlcMEeCSTO!ecW2}^ z=P>~>hO_Zz&X_A$-phl#+O32^gHVj}JDp96mMW1;}&XHBVr znCJp?*u(q{ObpDz=vno5%(EqncQqO%nCCH;D3BE&CRWHwMCtn~CJt{E)=*D{iMN07 zTj{nk<^=#zXGHr5lTd)TewD)?lL)h}k5Hk)yj-%DW96m7yo#~W(+SPMBnjERO2WLB z#@miw%_zYn+uKbE1z}PE4=1xhR+!X+hf-npMzLwIM+WA#eil09vqRwVXqh{Ms-;XrH_$Wev!QV2G?*>SP135P`?oRq~CB(d*~ zooFwk+psw(=e>JypxfDK;PEb~(9J5&NOpEz&^z z8MXl7J|vJjfGs?BKi6Tnk1axZykBq`#TKi2K41^(!hR%qMhC_WV@pE3Qc40ku%#em z`9VP*wyYTmyU&ThmLt3?deXbF702H1ezMtMD^WhL@}BHqKdJgE5WEJkRU}{D^88+G zb%@^#XWvr zdNb@7(vz$~{fF3wkRUgnFXq@rP;gmDC<5Em9Bi^Un1^jfJS~O8>98%wPqRD*^063H zNR9sMVJucPl#30ElO}~~2e_VKTSLNdTDf!BHc&Vsez_Uj-W?%40iGk@*a}b=WS|D2t9C#n^6AR7Bym8f;GthjK`C^3#>VuPV@(CvIW+y~G$| zfx9-r?^)0T!;U_d=c3Jz@ARXeTQPm!8!(M6R_Ch54sOT(2)Rs!8%m3tbd39m`v#4t z4g#QY!^HU2O&n3$?*+^WHzLiFz(tU7yTYCbJRV7%qa0yK4?ORHd!nEFA7AHL+57G^6+{LYdN8OlZdK&NZS`0y^9 zzF{5=KKi-+hF2Q5BAu3T52K@rTZLva(SEYTtr0T^vRemnWWTopF=`~-FP1FT)K^&C zZ*-QlZ?r0I-8B2nXsJAIV>|nWym>8dGY$31vjdF#1AX^6^0p>!i}((+vJ#Bj_RHb( z^0|ZCVadI7K1zk#Mdv=`mwb-fGtEo=CZvkn-_FaG#T`)mxI<{ZyE5)bnwVc* zwr`0${!i`_g7(wJoq!9H(hPHPe+dO+EZh;eQ}@DDL-t(U8L;Tw#h)H`US8Dt(J~x& z0WTIC!~K&c7c0``z;FPW#E%8MYjHR#C2)zbOr66eWkN}4_0kJ!757pq>Bmf$Re@!I zT=^y%wem8U4Ob7XI=nn)nb(<4gG|p>`3|U=SOF~Q6{6PySH@6cIjt4GS*=&72$c?h z8n3ioz2yFhgsFhGGEf7nWVVSzt&Eq;tN2IEEn1mqs`vG$hFh6wDeKlaiG?ol^Vuuz zF;*bBhS6?)o{gSRBd#eh!hXdaUB%n(#&H!`JNS2Ujgz6g_H5QNii@$%bz1Xz_2a~aEeb}YN-o< zE$E5D^_Xr|ct$=2ve@&Qp1od48sD=GSGlJw^HoBEH%CPl&^tS+?5qkY=)JBssjdcv z5x(hGKU0@mB2?=B`=uct)7RTTAEl`v)DQ61QpER1NEgLxD-BG~J`2-P1`O8UcO}47 z3I;hZG)Hw+VMFC`kLH_dOGATj4WgcU%(qeTPUI~Opbj zG!@QG7__ofkW}F=(!8<{i@NS1ideN(6T0sycD!mbJu%`Xj#|4v6jzOuP$e&L$hvz= zlE^IFB@8~`Up-91AYUoaZ{8HP1HbFdznOj3g8gqG*2hvB#RH^|*L!{RN&{t38zv){ z%AUxoZsvS_Q6B^$ZBi#TWduY2l+bEcQMh4SV6MiN5c%dU%|ku)PzA&`(Irgrc)L5^ z+BIAWwKJU#W$h}A+J{x{Xt^W>fOI4aenGsd<2_V`PrqZp$ur}h`r$KGAuAKDWx zgHF;EU=E2i%_sW`FKH2f)hQT}S9HgJ^Uz5^)alNxpOl+d^{fLlWsrP@bk=IUhe^45 zP7eyqPGtaHl!dINr!h8PbcHmWq%#4$D4^n~Z%Y|(n2-OZ3Im2RSkR2O&r>p4O{u(o zj)ro+W!oO#`};bJJ?)ZLZ&IFQHV2gY&n)5zijzqFm9nC~xCjg zmMcYdHlSi5^pzP_#fFcp=gfx;1{32$eD6JX}_e@AivFdEB{$lqXO51 z)it^%Md-DtMp27qCE_)!$w@?uvLEQ;+m!^23JbTf5}^#Misn|zD!qbJGv%p4$zWR5 zw|PFad=_of;Qfc_EpFF@^6C2b;qY2SzW-+TJr$Q5zJtn-pUmRRhVQ(@B9Noa7=!Pk zMhnCaxN+dSFPjSfA7RXcyM^ze*%q{kwCBQqr7agak9ehp@1=taUkB)C5P)Q1?WKB_ zKKeuv&=w%D{|Z=i=s3=8;3`2B<$Wi6kilJyG%|lN#0V5mHgIVC#w7l(EOVF{E^!w~ zS#?>+5|79utcj9Wqu4e^*}&k0vSz6@*K4^NJ!(EC_e1a2rUHJOV&y!r&mHL}x zrmn$n{Adi1C4tB{4y~rS6Qz~CM3iQDz%t7brNXnk1ewNPUL$jS?y@Xy^ZY=_?H#+) z1p$Z|YlZltARM~TD2iPYB18MFCRM)+C(3=md;0wl0n4l1`);xE0ybrUY9l6M>VIU_dTK^mwjgkIE`Y$NZ75m&($YG3M=nw0LGT0nU3swP zwf-*pJq3d1&Bsh9`-<*b+3;7J2TDNgS_8F|LuE?#caZT&1+Eh?3n+%g9jlUcTs01a zPSgruW3W4Ef7M~ScU3%>PBoTv%{u{4&NO3g3U4^Bo@)u|{Wr~Pp*`Up7gTsX4Q;-) zj(?ZzZ#nOP0|BzsfZLZ@boZz(7bwbIqJimu*10o7O}jLicbP86z{PFl0S!Y5(^8ZO-53LNj1jY( zZ$G1~kg?ar+WT%M{A7YVf!Y3^SCs*$6AQq^Yp}F~Rkq+P;a?aV%+yQVsmGgLcIhGh z6P_c+%W1%o-_ny|7wS*A|tEn;1w<@q9#i+H<(g_ggAOh zB~<1^K~7$GT)PD1nnMj>3GxVMukdjP1=(ZgND^jH5#{ntG^9gGR@K$Z2pQkkp)5;s zX7KA#332l>w)>K$3Uc>)61dl^Cfj`LzTYEtgojt|y2ABN4cTK4x75kAPEC}j7iZxY zpH3}VRWGl2;hWZ-+OnkiLY6k25TqBodnZg5 zAjtpc7RuKvu-xy#ZB;+7FgBuXC5Xh`_hi8Hpxk`kb}Jb5HWS_n*7cr2b4lepqqVlM%G z_Hg${t%D>n z`pTxgf|=VkboxP)-ria)?DQul+1|0}=?w6D&3k~a>I`H_rv08y?0kYwW}|X8?+h|c zX$|QN-cG4Nbv~6%OQnQidb&cOX_pddCAvb1X;FP5vt40+>HUdChh5<;Z^l<_?{-C? z-=J6MMY%o_yquo=u4L2ql7R!>T`Ak|pDm_8?Mh9{hqTl9 zccno;yn;)lbQK`ed59kl=`RJo;Y}=nKH6}|-~$)Fys~GT$xkRO^rU_8R=~YTRQxm` zOAuJ>!J92qUi=Jq(-tKR|9BoV+4@d|{BfwzQY=R_v7{QN`7u`vTOuoMEUK0GZeuNJUdYA=U>j=S&0TtWW)C6Js|nOHOa<{1}d zxqjFnR8U1g2Te>=RlC>5QA-wm2G-qj=>FsE2>Gb)n()E(mY&u3B=vW#}JVS6$+l z0)=edu6l3-w_9R(*B3$q$8D|p?gsZpwjsmK?nYn}dzgepcT;&&PEvM7cQd@%Mm`7F z-9m2W*=q~y#w51z-Wu!b#)2_UJxIfD908+oTf3^e)g6lo^t#jC2E@twawT`Sm*Yx| zB6Yj*@K#NYM{?aARlgr&CB!cQ3x9X4hwt2zK8HaEu=ytCPP5fn|w(MTRPw0H$9PB3B zPrhT#-|PMbm>NtF!FK;Hm?F7Nsdlf!NMA?($aZfmkw)cstGhR2rW4A_R=WQP%?L|L z&vb9$XS!=&r*&`J&$5;R}VH9Zr-}ob4(Yqq%4Sq^qc@e-#vQ%%F;JK_1OJ+dIj-g zr~7vL+12B?fG;=B8BoiGmunI)7*&6!Bl52NVKqdKe(Q#~bW3k-#2C2p?)wxytoZ z4-X86OJ7#>2>bVAyAnn=pr}cm!k|Fz_ z)jtt>xFKNBL6T7qr1@aW=m&KVF9dPu@!c}GhYxam$oJsmU=Ke8b)+WT?%N{(Q9bSf z)#>&?WJ%j~S!qI$kQ00*owYCo^f&7^`-n*M-`(4~Eux51I{%Y3vE$Q#Uf@G<)LADF zb*zNyx!a~tgd~J?-gRAm4jghZMds>}qJWZj^BJdmu0xV1%WuWb@x=-P#`pmaDY{&+ zTdEuYDgXlmiz2y*g~cdiT!;#I8Awr4F40`R1f#^&U+9tG92DO^ zo^$fH>2gK8+2#}}_b})#2ghut9PqreCu&O7HT$`Z*ss7Ncyj*V*!}BSN=Lu{?Xn;L^}p*+J3qzK4wblB09zCC3TF3Kv`cSCP8J zBDS-?;p0%YNwjo^l##0GVczw|q{4mr`7x>ZF?;V+`{jA3*9XgwJqPqodM6i9Yswif zZ5u~$mfw1*V0Dux?@T_TqB7sr1WeDZ%9#`2Rm=+5zKs=08ad8hDbpBOMcw2ULt5Tj zR^LM~by=;b5u6;&TrzqU5Z<+Ui?V#G{R}*nu^m<`g^?SQzYz*@?SwpIPM1dz^WpKA zaxRqQ(Z_m+mPhnHj|&E64Z}99#9uLXjC$KX$_?;6duQ{x8}$^(->V`Orj4r!fc7w5`+0Rrp1 zFa0L8`3`?C*jrLEe0Lb;ovtj6^x4mUl+tl`>r$+5n<~5e`zJ|$pW1$cBvPL&oXok+ z_z^o)H)?F#YCQ9XOX+JAZ$#`=B>QWx$u3l26T9QbGE=}g@QHV!_4}01GAciOs25w_ zihV@_@Xdja`2#NDgT1#x%cl7h#&DlsFJI-->>O0AGU6Y6$3-tQE4O#hYxL_;|Gv}9 zP;mC!%W|;$W9$19)1;yG4^p>Zc}GPpc`ny|yM2$o(Mb#v zE*=pk_li=NVdRj#itwkd8WKbEs759x${Tc&!4IZMZ>PreuLiHN;hu}@Ee2&2qtdpO zyw%M{CyVDr+EnwhTW4>?b28%oK9YUdLakrXtOK`qGS_dp&ufC2s4khvAWnw~IH2D| zZ823>F82WNnFsuHR93yK$zwj=Gh{1pMx!Z>>I}OQZEJn#;~M?jU%I&CiOi--`+siQ zCSNj`ll71SG&Ff~;QTlkGcy@6_*PvqIao3?aFOg|&~!`z*ahrPVOO2xRS}XnZ==P&H#JHw zhosfTr!!9E2!KNLc@K0B5Qy3S;@6lqWFU4{bB%;2ZZbq^jfAgJu_Ogwc|qq_fAPOqE0WZ z4hwqIg0z?#Pn#0Z7Vbxhe^Scn?sry`ocJ=dc!hYmD-tr=J?2IGJh0(uh`u5LLBy;w zjEnX*bEIO<7Aw>(K_GGG;e%9RBQD<<2EG!3e7&(b(Tc^*-@4A=PvLg;637@M){j~i zzZD7%v>6+nu9larKO5)yv=6djX9^3s@8gtu%dvJmmZ7Wax4&zjj#gY&Nu5FMFh{-0 z&45c@TdaU*T9Z(XPd_2lF_|Amx~?9U7a8bZwRT{>5^}Fv>%zKt1EkO1snz}4qQW4+ zc0hpqYz5nkj*_iRV1Gf_O#kvhBFxmv-5@oZ<6>PHrt?JWN73zh>iCzRHsrnqGld^( z)Se4?q`6o!7u8hHEY}qdYdJqMY%*ASUandagxkzS)AET{&QZKu?k5GcN z$b;i}Lc75IZ>0?ep^vLMrPQn{=!zbk|B?HdOmnpDz^|sowpDPOSsgg@XNUcU%%{5n zrVh+nmoB!_f1w;6S@L&l5y5ogTC{OX_nD(F&CiM&Hr+ZZ$Z?vcz$YE=F>gkWlSf3u zYid+(+LFt+M#9B%@|9Y(7QRvAD=vr{-$Q2iCAh}!x%3I>FaVNuQv<;t=kz4agTgGL z*4LjAPonohCd@y=RK=K11n$5;Gd(JI9oK?q%^^~G0h@Ykac}Q4pI`cY1nl^?twjv- zNc$~!D?Pp`q5jrj;OlbNdV|qj0kUq**Up1xD*a6X$Hy8IqGo6hW)6y#F4X~TJ<&B* z{PX}`;oPC+F50x^>ul?ms`F}MT^L+bujN=_djuPyd433TJEPG$%XT+ORg7Vsh=td< z9ECirzoVsiWZGn4U+cp>K6CaowL?jyG(jQg?yq#SZmw{mmwj|`$GUpMG{S$HcVGlACpuO4s##q8 z79Iz`*D5+qKZKPvuZJ@TeEJ-wdeFHbaA(G5CiW)1)&8*_zFpwb%AF}uWeI=}m6mBG zMeX5}nl4`gqb^A(Hlo?y|CJ6mXMjeAv*c7zGu3F_Q&EBimL#OrW>e+phuun71WYaD zc)STO$ggS$W1v*MT6R`-Ee1?p)tkEZG&jP|T=5T>)e=XK%0t*AnJ;hJ7WaloHdTK# z$@=p>)7ypO01Nu01y`0NXAcgTXilq@j+vS{m>{(4Y2LmiK#mL`k6LFyTY%~UMD zdGb)zuzyS7rbfxEXx)2wSaDScPiwCeG18arcw;eg@HBt)6aaf^@a+nx4JkG%x$3A{ zm$axAr=74$IqS#)%xg0!jA4|Qa#nhKx6}xZ>e*Pl_GEZo^6xEyOH^XXKiw*>ACNCE z;OHFJfknN*OIG{aCcWocY*{r3W=DTvY%hD+>LH7@S!MVWk%>v_+OViiImc%rhuhiD z&IIT`H?`8qeIZRO&#^~`0V_Oz3(QX-V9ebeLUvkTSrM!Ue(TX8o9W$A+oQ33dW};f z0n(oqmbv7k4_N-%@q|CQ%rf6qgX%vZINDW*n;tl43oO3A_$53L!J~z#rMPJ!S0sbK zt%{|&eMnI#@~%fBUg-Pk?=bV4FiZ;FbVju8Zcb6bp4h{meE?$5IX&x=+jfwa`cp;o z95Q$gv0?ci_WKJ1cG5kiD}+pu9%Y?jG^ywQzmBhR13a(0JE6%QeHlYKS}=aJ%XCWbH>+JdxA~2Or;_=m{OIzaP*E^WOd`J&NjF~ z9xffJ&-3l$Hot3?>*UJ&M*(r}n736II_OBF(4fk(w3z`h`a{x59$@eMqsh%~%h|ugg_FJ3 z<~7#~X1^Dpc1E4Ldk&&pB8luQ{@x1+@oWlZv%?01m8@Kg2rLZ;ls;pedru>mQJ zliFf0BLov|NqTo~x@hR@Lw#?a#)jS!Z41ji0KbLrEKr%gpI>^xb1-M{#4&bANz*{L z>{X=LpafgH!bHTF{wT>z88*!itT=9_O5!=F@Fk}yH#9`Xbx3f9Q?786pqUpR)@umO z;P#YDf)?;v(RI;1krH{9QWB=lP1s1+%z0y%Vx>@=8L~zAD(c%r%Mfw=d4$IAOGe_5 z@+3Tu@y2Ig41GZ|xwxJLZwVUzNcN|e-7ok5_q=!zIe7?9)iB>kSI%YS`(QCWSI?<%pe`diR*C;FO zeUl74;=$wO>*YAEz037{d=gEKw;K5{s6Z7FO9en$P@aVU`!xT{%70wja|7as{??Jy zBMo7pLJ}e6S9@e2=q08bZ)8m`A&q3+hQ2}|+m`?aTZLbtY1Bxn?dPDcauDcc zGS&>@bfHYhKaENSH;IkPZU%aO%*g2Hi&?i=SdjPh8H#VC2X6@Jo3bJ;?Wn&RK(>c? zSbD^srfJuZmqa*2%%C9T0CFh*J~3nCL#VkQH_`?nS#H6?g9HcPR<}e~@_JaA z@*)+GUmt9Lx`A*(r12qjRKyFdq5R02rm-v=;*rWTe_KBRq%n_jk{yd6(x}>2{vky* z^e%QN_>sF%=}nK!$3S5uMrUH%zWno|g92QHsx<1VqavA8KPk~kDNz)7e`enqEQW;t zx%b|M@M5{=#MNCKX}+(!=>`ExAgd$0$K1y;~<4zANT91YFvje@WyQm$qm2q8^RVrasF^=`a95!0J3z=is#F~ zM43+3Jb@=*S&nFQe-J^|T{}}H*c~z#&B5~&2xUD>a1SYm2Axd+Lg8|RyD^?&WI44G zd&TfXd88!aU19`S0r^}9^E8rh5taWc%3Tq;n8`E~4OBwX_6cRilsoo4gDWGeR>7^$ z$ye?Ml*J~hAl=&HpmAVTWNyMsfq25&*XrdL?rKQ$1etFMKy~E&A7ak6Yz6EJr2=)3_9q^UY5&=U zE}v+)^rqXxtc!e(dfxzae_K~g^=1_4zWLi3)|&~ti3IN7>F<5Jq&m@Wo)x2qL?{-I zWeeRx{v3XKj=~R8WX137ZzHur{r=?u^pTYaI&^Nq=&1*P9?Sr#f!uuYe(9>Qk6?Zb z94YT8)%yV=bO-tB@hq~p0AHjdYhP%87b)a7cDo2*h|EZ0btx`b2S*b=!i=&xdP^Wn zMrBIwO}(Wt#=YZID!pYw_uljOmP7FO8rS@ZgbI6;u0vo6p%P%aD?gh?_*7uJ-dlT_ zPz5s!K)-oHs9rLY_iv;ne2%#fdpw>=s1Y(hy-S}=K;zAe`)xf5we}WG4+M4zbpXr8 zr9eYMeSu{SC-)-Z3(V^FsZt!FVabX{o%N8=81vwAa)b$?NeGe77t2Cu#`ooo9JSb6 zBjJ^CY#4wIQax@p23sKN|C$2_vqfTPYn)q`{`MwuwZ+&WeP$0w+l3w?k2npa@c5dy zoE_Zuj~=R<06KX9kL{90TDtyI4c(@6h7r0E_IC8`=Y*bPdp-i;D+J}hAAP7y=v8%O z(6Qqo5J-*|?M&x{z7VI0mxO)@$XWNT#2jIu*%@JP1Sbq4Tsp4#suG68kDpB%-u)(l za@{+YA`MHby1_U1JBVNsi+8ESNQgU<@OGYU6y$;I6CsR2nu$|0I^&cME_Jm-=ZWL6 z<58|jlovAGq`hWJ6^RtVM%j@_VH(od=@4(^DP!oP8ITY1r6}*5*YWNnlY(VDJnH*?g*=^W&u#7d4GP(ph}P~~ zZw`4K&zjM4=U`f*=$bVmTGt&u!5&=n-pHM@UOdXCnTby zn7^rS7Zi!!pIYhLYmOv5Xo2_bBcgg6W4`qr93N#_U7*Xi|M8f{ z{{Z=p0HD0v*`M>hsQA)ebm+cXzQhkraBi&NqZS~V2H8(s7W7NZ7XL&e#PYJv9KA*> zjGi?AkxD0G`U?LyB?BnB-C#s7mX?&JenlMmy1?}T@Tvqcvn0QRLDDaI@1nto5zLZO z!dlqP1VwkS?o~0HrXu6O5^$F7o&2d?*0eO_&)k4{HfTCh7ilKKE=vrmL9KH@{N5wbg^izaM=QYzzWI~r_B4~RzXh@zr?JaVOdNQ2{nuVnD{(GAjO3YIF ztnix8FZ=!hh>9P|ffkaw_g@YDEd03%-Iit zx)-zf0`f8aa?tXR7k0plet9Uo1nG9;MoPZ|l} z>S2a@zjb-5CA3|=-v-{+zR+(=ZfkmPBiV2FpKXYuJIL>U2*baUbXDqqw1m&^&1md@ z9MjRmJzqIsFVwkaI^Y1scjmI5un#!ecR@@;2b=)iQ_LU62b>GK>zRje11_*0rWVxX zfGgcnIcMjf8!+apM8p!eJH1eEY*N>%#})j){xx3DtM&x8+jrKyC=HjgoHm!k(f-wvRW;qZE8-G(qb8{eSX?*Bg`rCo%m8AEDvJZL0Frj^*1LhY0+LN{>&`$tY%*^nY zG>d^mp;=G8`cDHd@v~f)vaJSQ+0Utv>1YR%0P{9{JLvD_j@J|IT|6W5?Oe+T+o`Kqw;oM z^V$_5F}uO{2(ssg@x1(Fa#Xai;0M&Nz%SYr1**R%)Elx2Nx!Fam1BxR))`*cWfs$c zHuOK7u6+bH-;ZW;E}=(kevmp_DZO%>)JN}Hb`|x<`4IA|oI!P~_WP&&3Pw^Z44hcW z6tayF`@{^|AujINR5kB(>s+3$M(l=dp9FqB-t}Q&*sekCjkag}M62$&kFIxqywQX@-l{CtYF0f_ZpO6JM#})TQ8bl zuvm{^O6?uz9;48=-Cglfw?FN&w`s$4`~Z~3o8ixx;~>$(=UM!aAFX$3$E@Ku7CP^; z;KtoyG*e3L9MKf${Y?cIIkKH{h+-a1qxVkLJ!l+*UhzJ{-_;%`*1$m16Mk2{WrK}1 zC)HUPFrLukDGjtj?lT&aDWiAgMp4l8c6G{=p_w!$Z(FzbS+h`P?;i@!tLBKaE8_w4 zek|TRFx2(}3#+%+wfjYjXtw#0YfE&dY=>lxZY&vVx>}*@i>|NPSm!1N>*&d`yRdivvC0Wh#5?cW z(BJ>@bl%}?{r~@tJ!+N`t2J7URUu-OYO0E&EmazH#8zaWcC}HX_8vhIw1iTzSF1+V zCNUF1LR&?x+I0AOf3Dy4`!j!>T<1FD^}NnGkH>w32?wIyw!cl}ki2qz9DkMqGya~B zKHqBsar$=wbOHHE;PtV5uf@a1u>iG;?(&8OA<9f3&WjGqh$Ln;0^73s4;B*;vP|fW zJL}TSTkBD_Xa(fq*lllikRnp`qvKnS-nd{+Rd=OU$N51nHBM#ZsZT4Xxe4e`O~I#3 zRFFAwfb%>{8&`hi^G07nHjjQ6;RC56B`*{dCL`a0eqty7qGg)i~9VEA^|| zr_~6F^=%eHmrc|;fm|1ab(ccl9~7KXi-sWKl&^XsAPwZBa#71+QMF!;=jDm9!$5Z^ z^4&-7d@)W<)(*QQdsH^8q=vZmBhw&oSXm8V zfXrx;UKv(V!;4PvT!LLkCKjpYs4_HH<6Oa5LuAqBUXhyg4Wv3|SY55%WAm;L1Yv|E z&3=#802m|59?@!0e0itGA5EAE(j&y}p%!CH&(B92dlR`GH>{&3ZHg2~ou3-Mtk!OF zx)!X9FhhowoSN4Im?O`$_+Pk!&ziE+huuQ*;e)KNGH#_qtIc58+lvxo)N9gr{Btj? z8?@iKBoV-M9bqvw<9*K%U^(e2xpo6@$#NsM%m{XO`CZADG2^cHYTc{})(T@!b-pQm z&kr+fs@8r_WfR#qY=*G@W;g*HHV4>bdNjrk-@@AnbL7Sj--g{!z%(5V-(lQ`>PxZ@ zTVUZx8vkw^wnEs!``YwI?g8v)o8kXPtnv11xDgvQ*aPh8 zRjZNvj0f)Zwpk-^>_f4IwC)jG=|{PhD8`6g`y+3M5qmWR@-ea(8vkbGfg0CI&{4-Z zb>yKMcN5nQ!I4L&;10i>HKQK$97Mmbhah-yjzqBi*#>5#K;m{9ZVIbh00DNA%VWPb|JPS&wx+MxR(7#LYtmugFH4yp2PhdxNeQS zP&@FeWcfXU#rana>AxEZ(++qfG5B`mB_-f%dR)Oscwit4U(3^x2w;$pEk=GMvMIL6Ig4J9@bjSH~=zcCw$(SD|J%Sd}9mhx;atkq~FE-=(>;?1*> zc;Isv2?w^3gr?`#mls}-B>o4Tu9WDWNIH1oQvanhnTQpXW3C~kScHM@&J>eUH^cO5 z6r@RM$uF&diaQlUkhCDuWZRJ3^mk)B$d9FLrN;(zT8I04D^e9QVRiH+`ky#$k3YQvt>FsfnM>VgpPt0n%!pEXPh z{m9+Wr9!BH_aNy@bdj;X&?8b0sCY&;FrC!fTO3iO=u7Hzf0KNb)UU?*HYJ+*E@^=9 zHagV(3u(}##4*hi#!FY93Rr;AyaxQ*CY_5 zWUBjn^u4@&@-%1FS(f{6$uvThD_)0_JYzysd{?bNo?Rk}$Ep*_bJ5kFvj+=gI;aL8 z#P*ZS=&i}FvVxN5-D};03U$c~oOSV$A;RRZgt{I1GtK00CiQfwYzy-DrTPs$@jmim zbi>*fok;!xYW!S8UQ+9A{QLCQ74ousleJgM0(phA`Mj<@k^Ga;`~U})BCndX{5=jl zOL#L*C+STd7x1Aa4`e zQbis}lXpx$HLH;N+9P&BOEElFd-!%>L-x@=tRpn)Xy|~^!3jPUaER@EL_c?YB;EBJ zME@!13ZG?e@o(0%6;dXD@L->r1%N(1>A_GPZNT7V2tXMB0b1}i5s zsbhN*eeJo(%<9s;KBhJo$t>#ay+$zw>tt4SM4!xPofDZ&9ng;qxPt#lW>?1xUD*of zxC|Tc=S`{O)Mc==BKWw}v4hB3S5FeR^bk_|Q&RirDfRZDYzBO#q0Bc=ox0iQDN336b`j7S;OX-?@;qf_OULR{_4pwGU-+=#KM zt1!1SrvT&Zb$75LJowZ1T3AGRVG|q?&re8A3?b*Z2V(r#Nqj^sm$UxnF4F1@KBSB&mX>}0^^7b~dWQOw zvtCZDJ+Id_>%2H()`Y$genA2-_ri5cU0xFJ8O2e3Q3^(XZqtQiJOiDjdo*aSE1bhI zBJSXt6{WT3E#Z=tN-~uBGa)`n%CdnAwY!Hz6*=J7{fR}zOXr)ueuWB^sa}A8yKd}F z1Ir(LyI&dsSG)MVJrC@t4q9{-YJCV%r!2~XCthd-{@A}b3RMR#t@I(JM>W-(mi{SZ z6pw1D!U3JRr(47Lkz*S_P zH*N0?UnJ@-PqFvwiK;b_=-wY-Q}Wdei>2(byez_`#RzUiC4HgM*^#9J?_~+~KR9u*0#t z+DEW+e8*!}l%uCJJ(^?p0)La0zV(e+1OGVeZHSK9H2p~y7sdQBJMClNSLL;d0K(1%plIniR;RPM007=JoasL_96Kj~f%z6 zl9fI|#VIr7{$JK^hrgiZiW0l=x#IjQ+p(;_^X<}k*c&k?c1+J- zy3cL3zG}%2IDEMR_xhw_;5wbE;5{Jhs$mt5JPtd>u4}vQ0s?sTzFT~Y)bpGSdtvbv|Eu-(GvIBnW4Q&l zgiD*^r#`WLOVsn+GqK*NRu0irb0}s>kpA9mPgA=gS?AhI*<-}K$-etkx5)|3K5NL* zTc&YIjKXhIEk&mhkfLqUty4Sk575t&Bi0JcJyBKZSL$rpQx*Kr=v@DmlT+m_dP>!I{h*C=ZPSZu zulOAszL2BpUU%yQSEGGjpV5_BCRz{aZTG`po0GW#t$&VuzcAs~%+D4KHmI84*EBcz zysGgbzEa;`pO0torSjYN%1)-{{oKlXo18`!-wM0(U2^=L8`T|VUJv4aDiW=m5n?=x zDe=X7%G!oLJsP@iImc2M?NKf(Jm71NjtZ+a%Ws@>`dnGFoaG$i`yzIoshfR!<$68_ zZ^X^?CRYVdyLQ{gHwV}%s49cHd4HS+ZN%QNdKO+h=_5fgY(UL9F69Oe8+F8-%=G^?x`;_`-Z=l_|3B zxo9v&vfN}SMU=use)-U)`V(9H@JChGRtNPD4UpUMbJqjCGJQ@wvSDNH>EEIdpW8w$ z)5#Z`5?IymrB*AHTQ~GdJ36aI^G&@~FY){yR69gdzrY0a(x0`L*(itl05LF$3qC^}Jf(1g^)PhE-9YPiqsJkJ?}WHgT!RUZ;&zGY?G#+@D^Vf*l1$GcuDjW}^4O`RCVDZWQC{2?^JSCO z4!s}8C760c?u&!(;A=(oThFr-m8yAd;4AEqZx5Ysgn~7)5QI@kq=U=Jrdz>IrovBG z1$5oQDC-T&>^=U_G_v2>`?;t85k$F~PVA5PiIw?}*I(TH`!w(;sYh41!Nt&4(}gcc z@A7j&sO#+AaA#kr)*z|MHK7;!!%d$m5|(rH-lJ{B$nnfEK>E%e+)gn{LyRM&G838% z%pFnn71eifLl-o)F)9B5$E#<+#g9+okOPFz=d&GH*Az}jWf>1U{dwH@AdBLhUOmE~ z@D4pw=L}0~v7Xiz^eza zTIXWLF)wy)S)kn#dOf5f0DM_4_(`os+VA*7#q@`k8#VlLJ0aDwJ|Sm=SYvMUflcE& zO&{}vr8;na4*vILHMs*=3P*#5+j}=lxXfDf4TjHoD+zCv!@IWZeU#5EJZN-p!Y7@( zE!O|rvXn`>No+i&OtYrk3HQb3Qf1#1)cGO0bR)R+HSoVBXD(Hv zvpARKVf~qc1dCPwz>>PtBI~=NBWG70*%&bIMHyb7p6=1e7uxF!8}klG!n^VgT$1*B z>3MGZ^W6rid;8JR@3RZe)W6uPaK~$H(gfe3_&{sy&pZw5X&q^=JkQncnT*~}3v6#6 zOk7_I!9+ER#q|bM%m^;bUH~yrV}f=YP|aFg?XIcJMY&4 zf>DBcYjEDfD?|YokA>ysV+k%KtL^y{CTO02<@%dliK}g!wKv!gzX-|@9fA}kjvB1T z&=leyV36?5i~J^bqWZvjI>&e7&sTmk8xD8mPE|YT_z~Ry^7Z7XD0_YDa2?hvjyo+b zMPaR7A74m`?~D3Ar)?ZH|6Ka;cpP}8j6crY@<{bJM|)b}qw8+8(hSc4*?><;PrNES zGoIHzq~ze!8v4>_)Y%|86A0RId(pHOPgBQro`!yW;~8H&ttw7`N}|rFvxi~b=fq^g zrT4M>YYyV$q24}39apsM%w+}dL(}wYc7c^tlY~VT7&hlxtda4ZZ?4jEG_qi=ygL93WwcRu?sUqbfB1cnbtRInm^O;u6puE1vA2t9)F1J98D_pAC_mwoKj2gD zSI;h5znJS(;~KX{==dg|$wg0@U5K^(Z22UFy_Lv&lbKx8GfMwGga5 z`#`?x;od8j@L=YC{GFgmWn-2Gr=p4swYxVTDE)l65omP$*F0x8>j+7iU~t3dp(o)Iev)O<9x4X3gtUIj2^OxywS9)BJ@6O(L%Jv zCtVlU4xyON*=V{D)YD}Y?%xr+pP-841+4YjWcB#-fE(vbpJYhU)C%jI(@HK-68jnq zGed6=!(P`N`5fOH!=0OtpeUurM6!|x6zEJ<9-f64WKuz>M zj?4`R)L#1_?;id=Of&q`=(p&)_X$=y()_QtP$T`b4`hf4qcIioH=WKX)tx$Lpi%b+FT6}cjZgiA#2o;#kp?Cfpt zRlKlu{_$C>$bBi_iz;8r$xE6WyGj2-9W=%Q9QsGQ690D)AAoJyS=cz=!VUxtW1|D$mJR78UZ!9xIj#b6i`Nt*yOhp}W zAPpBjSFZ4lDhpnfnyc0tTd(c-`~aeqOBxtH9PhiVX;76VjF{s8*+lQc8L33CIjOf5 zJc-HVx{3SvE&SxW((UZk#f`iCk-;1aATKHrIAr3Y0~b+jMAht)bzS zun4lBHdUg@6TJo;O@nLBQ_9Re5&qH!kyoT&e$?;4sYfb@`T+scLK}_loUMz)7gW4n zIVQ&XIeco_BWS^@t!?-Jri3EZK6XkS>Z*VEg-H3hQN3RHJu$wb$Hs-yRXg|t5>)Lb z%T%j%=-jYE3E))U5dw?F60ug!3XmFnk3+1V^M8ls`^jP14&-!&gHO4?98$ZJUZdo{ z?1lFj)9{*h(OraXy0>|ya7lvx@|i4nHuSD0X!%ff+AFo6Ss>t~`0%+b4eqC}5@p}V zNf`@#77>$ubq}4kB%;9^PM!~aw8TDSK4noEq1Oo?y>X`IhN}aO=geySqPdvo@t{JQ z>yXte7Fg?H->9djhu?}EQjWKY+_h1-hzoX0Ft@ueBN;X|!d*?T9gsWUDnzoiJO9Wh zgfEEo#>JCCe5&JQ5X(q)EE&x&nUvo~rh9k>?ayhtJiVTz@39wC(Nn_XQ(JF&Nha?M zCz3rzLooM}RFGHrqoqA6naoqI;LA?58dh*}EzmkqkMGf9&rc;P{#ebLNo4h>ZD-hb z-O*Vy9Z!LJ^%y?gBwk<3REZElM+BF$uzZw(8@4$uB}O-1x>oHs=sMrvMYojo+Ns#L zi-I@i@k3i?4g~WkJmPsM%W~sl``oIK-;eHH;=P?9c<**Ac35}Od5JCIgB)s>FFD?; zM>*N)&Zh>woY{4mODmyB*hX)Qu~%!LyGD(aT=745qolBP0==f^LwJW+;qpQ!b_2*x zM(cbi?xZZAtkcQ;%f++*`!DI0A%tK9-wiiIW#lEluv70ne*!kcpJtipzr3U$=sf@M zH?FLi-VgTpcx+y0W+dKO^Xj{~ULbpWn(QKzFqBCzmI;7*YA;MNHgpPpa3(

RdUo{z=)4KAh~Fn>Bl?YLtet<7(-L?I9|aLbe4a3w%L5L9nB}V&?dMn zpaAH&m+0>Qypw~Vx{xiTRM(}eo_JqGh2~Dx|5HpIqG#BV{;lLLhyEN^NvQN*o2_F2 zO__xOyeXco9AKF0`O5BBj-lzimOE1Yb^eu`LIwJD>il+2Wyl*34!MLXj<Xuz%k7cZktU7QJvI#|OIC zq>4>#9{?X@qna&@_hWk_S^y>w-B}A;b4+eXJWbowP04uPK4?dqJ|dZl>j*KE9i;o$ z$zdLwP4%bC!i2xg-1c?1fR6>kmua>hpe4-qFRONMeLT2N7-U5<7_!+faw@w?1RfAY zSU+p-=NuH1|7icD$96~@H97prWZ1_B#>2e)#}jA^H}6gXonYlw%hR6q8r`V~6v!DStoOZi z=9Jl$Q+5{N0yAL{iCmeJcZJ<&ty`H#z0AatEcm#=W?AW^7J=@tt(i8mrTUdaG%3i# zKeShHne6mzV{3&R;Th8#)woI_4}Jocbi~|2F&$dRVJUqe?5MEbH7X#K%?-CsT^}xR zZh*TB@^bE(y0dZbv;n8CyNU3wHy1tGlJ^ndZ9LgV`MBqA(Cqm5qIuc*@j$c-1+xa*q78&MNm|CPtYa=3n0TC{QO3U z!1@ue?Q$DGV({LnE{SkrBsM3vl2k+@N}`UpfJ}50lbE?UP~FgjC6ZxDO_5s+qsfHwBdAp% z*gd7^>FB^JBbX+2Rd&!}l?jYYg?&++SY-z5!)V0f3RYRbdoYOD(w|jUa3b6Q)aA0u z29`j$4Yy0KvV%tvAMCK`RSvLw+D&2)`zj}xCcP+l9KOm0MyB6FJVjTz!TK43R~g_{ z9`Ig<&Q(A2Dla(k+Z9Jg_bMM)B6C>&HPtFVc+}zMajAfN7OXYN#Yd1P8t%?fx zzx7p3T!oRuWA0V0$V%hu&=0FG1geS!yxy$7?5j$?=7?T>WnbM&AU?dRO`ySF5&Q65F+^hpTnjY z?dlsa`EMFUWirg$!rwpUWw4lcT8%0t45^s+xW?)a1@;(FWD|!5#t1CXoa-L{0`sA- z`D|~#9Aj+X^2x)R4`V{!8q#w&8)Mq`tgy9>OlSvV2DWHx$fU5rn1ccB)$iyhFc#pP z_MF;PeT*eoy@SmcV+BTc+)3N=#aM$wIzL;HOJhEAbagC#`+%`&>-rPSu8py^=w`Oh z0AcI^J^$V}S7YqKIX&n)tw$IKuzIiP^6y%VBf3|CKu;Fq6w=q~jd2EZ^gCK$TyEt; zw(S^Ku*E=|UiCD_4KNsh7VgBj=M35dFdks_A&D!DCm21%!`iQg0f!6|T9{p8ARK>w z;3qpV(6&E?dhaGNUKS&Ppz(H$H(+!u?s+uECug+V1xbPNRUac)dJ>88Lyxh{)lp*n zL&lNk%VL-SjtQF`OkmrDgZ7#TCdlHi;GXAmOfXjB$3CWoZV=k+}d{UoM`m4{3 z`HY?tm&r$9zJyHw9MKrZgmR#S>9-j$VQnb>IyVALxW&vt&elUr1Ynjmd-x0!nKMff zEboVjQlIM*9Js(lqvuBZF(LEmvtE>#SdIm~;RAL|T-(A^XAcTYyu~7Rf5%}{!161BZ=WV%Q&B4f z5A2+=FrU>Qt5`S~h#9K)rNJWVF^&(o?_kqF*y-%|mQ; zntSkKf5>mI)L`?$sO_wO-I3S=pB*KlHE--sAil=2>pQlv9#7YUEdqmf%iXcX;M3g! z_q5;G62u<-WGok3D!YqL+zWNKs~VKJ_k{0M)}xZz{58d9g$dM{UIgAJ9BIW z=pXk3IxTGF=|9Z}k2$bah$A6%T^+Vs{&+`Tz5-i=I!^Ls(Z<&LoXEthRblIZr-?}A zZ`k_!Q#lsfaBKtUET&j`8~gk8Y`54l6x)b6-|xjXf#olrhXWsCn^6}Ey~;Rji_axR z#yv-DEAZ;L;WQuHR)0nI4%-g8?)SxZfKRW>d}+q9ol-Zjwz#$D*edfF_VNo|uLL1{=!=$9-zcA6&BK0oBKUNgCi4IdF6mNS_2= zwf=W>c<)Qk`xk!_N#S*TZ{%CfAPkJ~*Ep|A%je8_%Tx*G{xJaLv>2 zPH~r}XTp)3^?@pS=OO}JY=^b(7ovS1Mp1^BV)on#y(Su0;^aKD51%~0F8p&;*K?!A z3m=l+XaGQPs0kKDf=E92t|L_pp#VQzF)%Wls4vKDt(h2NF91J?(DorA7lhk1pFSal z6ndCax06A%gy0MhdgRD)ME|5~C?bX7ntw&a??41Z;AHmo8kBt^#5f+7bt;Ix=v#SV z@H#bwT#RU1?PC2dq)^Pu^3UV-dk`&gX%KV%It>IT{vPyVc%2p!De=T~du9DTL_m_4 zbe#^;CrR6Vw_yDN#9pemgv)dNA%t9dWkF$VogPvs4R`8uT4#W0$=K~Ra;^g*I2oe7 zjTh^TkVx5E>i6b46GTAHhRm6Kof*<+(3RiLV*d#KPdZ$cm0TVk8B?XrR(PfI8JdF0rpjRO&D7A;jaF4ANHR-7N#n+rkpTcWf18$Hmv5JX*FlR9)=7=l)Rh_M!27lDL4{#aGy zzb*>lc(Qi+#%x^-()MIYXk8p)@pKC84p^6f0G=fji?2&Ua-I>E3)ZenLDZiMrskWk zOG5jgjThgnt*i43lfiI4w4QWT6G$vQ?jv2fTo%OGd{i>JN2*E*!OT zvG6!Y7uV_Y?1{Qw=jp$)r)a%Kkhi~y6reaAj(1w6){Qvb zws$llk|sDki}xi8+s|?O0MMcOFHxL94yfu=j5*Fw-AL%TP#pLARsleSdjkpi@K`iQ z5cihDxQ+Q}2=}hd7?JT)828@7q}|OHg#!Uh+fbC2IHMfX5Jqu2+y`|t#}gtgoH5!A zOo%gq{D*e-tRc3+naW#$!@@XjH?|hSB-6b(b014iNOSsaE=fzkiD)l?J3R)a%%s+-`^SM3_&=&3!YbC*aGns5%N=|JHx7L2LdQH&hl3zo zEoCcsaZq_TG!do^=Y?{s|5D43^Y(Fn_G^Y0=L7V34y^u$^R4$FnMuUs{6L<&kD6+5 z{->VD9k>7p0(=6+1w!N@tGH_bE(ir_v@c!91^YmWXK*1vFRv5ar+P0rxzB;P&miw# zk8`PUUrxPit8t+SAN+9SJ}yk&R{$jLyb+G_{l|X1w-MpvS3ac@xe*EU|MO@g3R3TX zO}`Nh0R?;(dg{Fqa~g0SB|5tiiwJz-xqH45Cm%GZa(`(f9u>4|x<0Xy@E_-SlQ{MD zMj}Kar0s6*&_)tuG^9x{OmgEZ#QhUveZilNWC+b?vPpB#jT8v-^RZ&9$VRIEmshcy z8XK^^FXFNFVjJ+pP|fMEvJHep*ddH0WFu`fEMb~6a3kG4+^B)NXd{CrLPqC8b>kZ{ z;_GrQ&qk(xq*vNT7Gy8-ep=+oMs{LU5OK24Mvg>u!#qpSM(${Icc%Q8jqmO;7LFTv z5H^}vI70Rcw($ePj_fsYc%09nALqBJEL_03$F}ME^e0zheBzfvZixh*j-kdPo>9;j zoJKLPd*Uz|RJMeVCMoCe%lA@#B&qpKeVKs%*FN_zXXSfeOWntkekCS*L~S4;5-IxD zv)daLqbVX>*R&gz?x|6e3;2yH8W_Bu$8e(>3A26QMYU0*51(63vfZfNgSResZqy|r zn3vi(H|izQer2gsZ8VIgO)P!f-}vpGPEw)8yU|FKVgJ0Pa-#{E@n-{5xY4ZtZS7xf z>qg7ox6l6$r#D&?GXtlHfg5cSS-bTi$pF2+X&~&qh{Ckdy_sC{%;dgmI8}w$MR$eZ(M&f2aE|1${a{vqd_Ju!tIc8if^Gxipv^zzKfBf(dN)T3e+Co|D{YQy6*kdsjzMsR z4r=cfH^(E3>?4)zHYWs%$Ma(|H~;n(NAoWFZBE*kFy#yAY)+Av#y7l;+MF&drN7oJ z*hFcSB}9Fk+ML0aQDZh|A(7?5147R>=LCM$25rtm`hMZB+dMZH?2)?Ek^P&CKngCyu@H=}+I;B874c#ET2FZIMCS283`5 zEnDPJi@^kTrpH?pP{5E{2W|G&9ca$bO9+~GixR3n+^P=p-=cz|hv(Gq&}~seL;l45 z+PVwn7-_CcFxajDRV4R)5ntQ_fbfjy<#bG@R|# z77G;Z_v)t^YX}NXdbq^~<(PpZT)dsP*r9D@y|0@&EN0>UMZpf7fH}C?(iRsqN7y0N zom+h#{_0reH4j?+*iDHyWC4EXmRZZku?S~-qOZ!|_B-rJmH-qDUxKrHT3T)iLWORF z%)bfCw}ha=_2`jmbJUhFR0OoF7_uI|B?1*aT{a7;!EcE|#SkmxZn?HwVo-7URe5iT zUt8i(R8vFByo3)19*dO(V&O%}O;=L&^SnBm(x5f?hsbj&nN!tBStw$i`FcwZDv#rJ z+Ij><;XalAAlZ_K`fR{?j3dss6rjLOxMy{;=awS0o{Z3{PYDXzI*^-%DW7gtLHZQ8 zRS??|u3Fiu@;ipULosToom52tx4I8rx;lpCF>u$G>(QGh^}C)O9n()idnEl%-=3ZB z(F$gcA%CzUS!Az?I^fS~-PiItJg8H`z5xD{iiVHAtpCU7X!ZIP=t$0B zWK{d~h^t~-2Z}f*Zi$lE)|EdQE85nBqE2Ka%UrkheNO9fWF^}Mz_Xp8#?@`Z`m?hv zU5oA4p!4D2cd^@VPS0nu^X_fGMO?&EuxoC=lfN9Qi4og=kGiDb$*kK3`CQFQGv;j@ z0k6-Mi`%w8)L-N0&7W=?$1N6yVnA&9?8IO;e-6UJ`#niYpLsj$*m7gxjoFqSjaZ?iIvGP&3 z&!JLbVdh;qQT*S_2O~J2T5DJB@r#Q)MiXMxGr(#MW2bZ53(Imx(*2Z$#n__8`RH2F zjKS+$rv&fJYsmf*l5Okx&RTCq>sRi-}}CWy{sGWhn^F)n?Z790MV}%tVG`@aLrRk~@JgfriW2o^3n*Nf6l`MP8ML*BZIF`zOq z_Ur0jBqy#H+{KuukCg(J#jO5uWRtQ1-$jsZCu^EQP;&LKCTY5QO zTj&C$1zsSrT~sl9ymBH5bkd%sf1Y}C#+D6#dFyBQeqx9z%Wfh7NxJwxpy9H35>h4i zm$Bp9c1aMa26e`H)-w5h=AT~~VPN=e9OmPEVS2>(U);v23T{Xv4XJBpGUL<~22unu{%XsMxyDS7f+{PRu(%(PT@GBKIQ$N-<%U)UE}GqCTWEp z;w|el{Q51`!~VNecxLQ%oIpaTu>?`?&~x*(_x^qKX)-^6nAGiFA1V`3`h&ZjG?%x$ zK8a`aQx9O0Z46#t%O!tM=97n6HY{CcRS;NEYI=roHrvX_cGYfK=Qsu&n=JeWy6VP` zjRw@rR6bg%wD+chr)(?mbgcn#ER2J@$)9ebY<|gAD3ESoWsctLpjfKxqbe?|B%TCX z$n}z|2uTr^ZGW~;vB>s0Ruvh#U0tqCSubvz)>>auS~OVLktwZ;5hpYh;4Glwd&g+Go*c~yq*jEk&qC)h@?7ZoO-D`(y{Ue zyOZ>{gzB$2sRh|w&C*~n>v&Bl1HGJEK?iKol+^Y$={iY_e|O-(WpU9y0Ga=yUZ$l2 z0(u}ubvyb_9eBt>y?rgb&)BW^ICB(m8|5rrySE?Y&;_8V>{MTL4B*( zbaIx>5b02=4db1XQ@nL^Dlv!*%QGk0wR>rgbw|zYh|a_}c&+Aogx<#d9#^}2%>`Ke z+<<@6xLGbhnk9arByYBE5K@?+}xAvz<9tCWv6ee?B zHO6ous#AJa=Q1acT^BAi`Hf1XWn;k6IM75}|@$w=>i5F?XGW$ofP+h7j= z6bjF?c_$JI@2HuY34{yPz~XZ7z}c(E;)mWl)}ep>I?M=8?4O@}ir6cAUZ8O`*6`s1 z_@4GpZG+@P@bD2lSS4V{ZG?`C9Pa%(3%n8(J;mVu#rVA zj&N&NFH~@I!S{B={)6ntad%W$8oj31rXF;KXGtpqoUs8;M!n_z0qkliqS$?=s7rcYZ|!wQ9&?CiLfI1l1e zHgan5owW@SB6Ub=kWLH>IT`#9$#8D}-xSpUhWwUC~9@>SE}bTAchlTEp@RFyU=B z_Rm2eXyl`wujLUC@!W0ZEFeslWW58<$GDUKWmwWO)K@cov0 zgAj1ve4own1Cz@S8|0Y^sYq6C!hB92ZV5`feMQrT)IAIB_yNXsJ9__nJ^Q?as$a(Z zsn=8M+pjT64M#S|0`;f&4~ib_%R7O33qH2birSUyiAwD&b`ph@DVy17yGn)%M>)qg zq%PQisiJ?Qg4%wjFf$_+NTph|>6kQH!Qs9ngHm7j8})CaY5(7gsO8&Uxc%1)8aX=W zUK*DM4b|D14>F(>$?XUIr7lvnpZJ~Z;>v9Mt$ccGK~}TjDNPge|0rj&F1cqu9QnlN z%UjP)+)+5%##AKdqSO|hw_X|Tw{EL;Rke?Y;GBCo5>{r5t#cWk=D*bcvu!Qy@5p`2 z+=3}m8p*OVVh5w{#EZw83->dnSzr^x>AU?urMR3-aOCE<40ezV_<=Y?vG z)Z&JiYOBh8Dj)C*%RLXeq^-ZrAUiycBQR=j8QGqRClEWdRO0JaCROT=+Cdm_QH3Qs zQ_&JB@%j@2zv$XpDcPowcXIMDKgD!aDCl9wTQ+Sz=dHne@pinQD_JMz1pX@jymuBB z@w4AMym4+r_sWa}e}CT_Tof1@T9PzGArJ_iNLip%gf6@Qfb+ zU>dB=5SloBpK=$dsx-JXL zkqF*49iP3niybmn)sR~XoH3X@(?HZvC?#%AFvZulF`0%4@_WlDG(ThxOHcUXXq{1Z z$ZN}~C=73^%WYa079;ZRcc*gx?2Xpn*qO%fk&#b2Vh;4ZyaLBz-=asyo#P09rtmmGw zA8DJP1~cV~$%zPSr2GqgRf?4!;VWpwf9Y@}6AslOVbb_jBfJxlOg-4^>6>t`%|BF+ z_7Unj=cCr$yMU~7X;B=*b+Ha@?D&Fflvn1U$6;04=<4YGS}9<;4p#B>|~i|rGjm7bQ3SV zm5!B_jJioJfiOl?^4)Zon$2O_+#(V1MXeilY#sTdl>U$Ko$RX!VSzfP8%@x81b5

rgWmPsBRbA6m1p*hgtzw{A<~bPb~InR(q%Q7KUP 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%0Abx=B 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ðW49 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
w}V~ za(Y8)8FWjb@}!~I*p;}jxZ(Kp(U@?-k(iD_%Lv5Cg#%JUBy_Z+0~!|vKvom-w4+Or zD8iV{Grh4V{>8d6r1`!<(bzatf!gu)I6<^70!Mw0Kr7-q2blN_v67>c! z!xy*xHKlas5|mpzRd04smD-y|n#IiV>88ic36N50G6d(52bVZ95%WWKuW8>xv3Jr1 zhq3^;{*Zx`>{8rZwkm6m9vuzpn&tfA-`8`zFIEVEmQmE5p$~#x%UIyW+aHA>D{+4)pDKk9SF$;-XjX~j{s6XW z{i_yLUv1QZ_t%JFSIY~PW@^R5DPeCq5p@zE>aTwYfqKa<>JL7Z!Uo8iq}ecEDz#(5W=T==HXdj({xJZS5?-&9;%*VcZD1Z_Lyr-=c+ zrsMFZbA`NgXYMxQBK=mE`i_{J_R~+;9Vx_D_wMjtf9JKrdO*J|_xUrN_e(Ed|z7RmDlV5=)ibB_SfuS z*MXv2n%V3($l)BR($w=GbV-xJrr6dAI`2+hD9E9XUOd zg@W7p3Qvu}XIvzYQ;cN@V0tp0w7t#(M&~ch@?szZ86~~DwZsM_ue4r&eD1l9$R?01 zFOlyh&7F~VVk>REzGqw}KZ9imEQ1-zgWBn0E0}-lxRW1&Oys=xTFI+y%w#I!7oGwK zcpLIlEm_ErZ^H{~JFpeQ+v^#uWUkh<>lyG}M8bAEpSFY{ZoKC}c)=b8B)?JReV{65a$BEQ|fPVXotA>(mp8%?OTUX|ljedl;wW z4KgxoI{Nwuf18&Y2qr^*0Q~)c3n)wGmfRZTu4Wkl8S|LPkq;AqI9}?e=RZfjWO;IY zeo_O!B$(`d+N&ZkBHX6SDhN{`A5?Vn2muwz2=3Zi;p&-VS1Az_C9;*AUZE)U_ISI1 zSh6zN*p(e3E~!F(Ym#Fwu|8rHAjlvIQzetgb?Q<;HS&kPwsPrexX>-38z$;xKdr#q zGSqNF!jNpT2Dz*JO_$udq$ZhP29P8_vVMV901VS2-{eSQQ~+v|e-zO<$8SQC*k3>3CZ0tmmP&K9YvxyRNPorx)-d&`v{3@YWe^ zqMPRWIiUK*OrjQ4-;p_!ZeDvGU_g8pHl$N(ulNn;Mw12%0Hf?74e~6_NJ(?|D1CdHK^_usPuFw6Mm*yQO!RX}eD>^ekXK zZ}aYvEJ`^t(=6leP3k)>SP5FPQLaC@kFY$xu`Xy0wK9nP!)*h&f2$enZd-c)Nk;3j zou2ip=ImB`lC>MBP#7f6CSm;q;vi@nqJ7EE5n=1CqWQxKYS(Zmz2^+DUuYs#x|G^) zrn%pIpa;3@=2PWLf+*LmU4h0q-2N+~=O*Yl+`8oX5aB2rE5hRrb;`b>E#v`k4xC?Q z@ho-L+xL9$rRUN$ufOC?al zgTp=Dy;nHrLqJ|`H9`UNPrJOVlFRq!Lm}QZH3?tm!w$V~v4ErI!*gLi%=y092=zw- zyvzL9NbDoy!sa7vRJhM3!^cT%G{|=gJ_5r&>+)@QvdN8&f%ug*5U*on5B-Q6L&w;- zT>m9!?DKW?$1=OWQnB&a$05Pk7wh2x^-sDUVPAp*i`spiu?by)iy`;qu!)c-hO~YU zut|qcOzTj_*yP+Gt%Sx|>?`%)?$#49_BA&6yHd?O_Dy(5Q+|03HU;#wQFek2o7(mC z=jO(_sQ?m6cVSoqn|>G?L-Os!X5@y&+S9XOGu6YZnx1K5-(thhX{9vdT-? zY*3^vt(`eGrz?`9KS&q*4ic5pZe@Xee;6fSkg$Z!&5iC!I^@RYsXxN1jDYPWdm!LO2gAF(!IUcKa9=V}amE&SF^ zyov42T?yN_aQGXC;ZpWy%M=<-{jHXr6b^jnm2o{8Z}CW(%&-b{vz zy_l>%jL6}a!0cZsY>{8ta#$KE?Fe{I6o`|x&+=Wnnz=>)&bvu9e(`~f_n!x-&4b|F zSq}S}Zc%4qZVFh2J5p-L zO;?wdIl6#wGbZH#9k%PZS!y|$H!BS{mt1kn%wYjHFZtmgJoPsYJMv-Biy(u;!9J?M zrG#;KV5M5jrW1}(U3qUYejm4BQsuGAB7j?@R@n@vCgPTotD_%0x`-o6)(pBANZ?2# zHUHYtM>sO9Huf02fcp-tV`(@}!!1|Wg|cLe;8x^K>Pr?|c7IUooBk^JtR^=s)t#tQ zBpY8o1nW^p8hhKkiq~LG<`1(o)`4(lBa+2NHT>z1wB=2c<_Aj`E^kqrAD=zX`kCC~ zr(n3gE!pY`Q}x*yX?6YrZTkglQy+*Q{tax8?M{!x?^d_JSn{dI@0oNw0vjFR|4=*B zjr;8J`^lXeJM};D2a;VHY2+mQ;YgPoODpsU_DMMV=fN?s+p;^w^Q5{Pa&%kduSri| znwRxIYEQ-ydG|E=Gu@9uwKK`y!N772z{W^#;m*zy%?9kt2^=JTVFUQ}nBi#&?FQl; zHvQZ1GY(I;0Y$u7DzU;}+yL}VoW_me={HLI2>ee?@C+Mz{k`^IzT$x!r2d*tGj05( zjkp2b)H8bgIP!e4C-=#zqSEIZvC7a z!ExuO0&B=Wf@L2Cp1 zUGI}gJwbaTeEElkuQfpjv|^hDO(p1dt$c`%n-j!KiDEg)P#EU<_FYed2T^m>jN0 ze=<}gnC5OcOt@we?x=5ui%s+q%&?p0tMovEdHB{EyVwEYF6igiQ-xT9Mb}T#`;XOx zdywsqje+I_%fs!yMqyEcRqoDA9pV0l`Y-4@gE+w&`^!dZe4Ahs{yX0IyB5I~v|FWc zluNMd+NCL~h$q-X_I}Z0MhK9@y&U@ZQi4P7A9!FMEx}QJKdhSbBEbo}Z{SNr5uC#h zRtx_s5nMor`J$t@2oJgreaEB(2(FN$l6TP#1nA+>$vZg(f?Mu!Lxkoh!b9~FF7@tg zf;;v^_9WPa;1T|puS$(k$?+dD?mSkB0SHRL9>ZtFH%88^M)R?mFj#0^W1#sL#6I`OhZaolgwRjrf;y z?g~Ahc({x@pEyr3pFZ&WHH@@JU-9;tb{{lC6ly|~VSP3leU0bAKTm}2)(feJiB``T z>hLd~;pwdhnFm6dW^Y1jbd<*$Xx!KKKxOPoHA|&@t&nT>r|JDte#k+g7yi2J!3@vE z<}qdoA#>l;o$j->C`SgF;=bJFGPHjHUoCmRQo#ewE>gl z(e(>Ux#Vw-Rmnp#K;=m!3gQSX!S!J zz3a19-Tf`l9X&}@^9MGUi8;u8g-;&0#30=nqTmSorqjNLVY?sr;*g1-?+NxkqE0zg zjr4H0qX62COEv&3yk6<5nk8%9zs=nu-lAUkw<~HMyYrA z{i(2l-LUHbErRQ9*;I$kgc=>8CUyS`q0%XCD|a-$-5+Xqcb)Drcs!=cH6c~Aj>aj6 z$XOACjoKJ}@!4fHzq^IM!v*J=6{6(yaua{K-a1SCIp4yIi>^7Tb@FfC-{eu1VEhvG z=ic9NzqFeD4^eY53t#R_oX6+ZLjg`6F+7ladIIMWmi)Y~=X;i0-X+_k)Mzzdp&pKh zNwSLR!S&4khisX>p5;M9<+&5ekq7`1*~aw-F12iU&s<%9b?Q1Ws{l6$`?AU=WJLzNyo57CbQVU{UriB>`FNclz-wlHSGP6dZbJD;9ITU$qDpv!849tVYgeIc(-OgI6ST! zw`u2TV|+^*_nnCo=D2!GmUe-}T}!S*GxuB?AZbJ%afUw_=?76;%G(F7|gduTlrTg{Ju2>-O#(-nx;eIyo0whk39FWMC#JaQrdtnc;7` z=^&-~DI|5=G`Euvdi3uN$0V-BsX*P^EX$ZFY%;!nQoV;SLQ^$+p-wjIp_}w{fsII` zFS1P;zQ>=*-$?uCo#ow4$1j{*3t37e0A_>ix0QRzmx)}(Xv>Rsn?p6F)cjh#@E2CG zcA8(h7QDR|lAIE#+M=NE7;NrurowzOIf)$q?&ENyN#lb42|#l_Bq745@sn}z8n;V^ zrCv~&>HS_~q5ye&^iFzMHq!V<{sO&8gsVS+_>nkbMUgVz+0KY(bv;!Qon!^UcsDt@Q6GFXKp*ARn5l) zx@Nvt5pZul?H>IO@~mZg8aA%LT%x@5w$g89Pre3ev2XF{ciM8HW}CCYjk8T?=4SKiklMI=5wUeRs%cIr6|(%8hUX{lcGj;TemK^oUGO#-*r5L(fbX< z!;Do%GjaLal(XQkzJsk)ucWkhkMEyN<6A9At!`YLO_@l$uX?1$M;iJ~N;U#ZVl6Ui zcHPG8cU3v1T?)0T$h-=UEt5qO0k^@a(8uR`gI?oT<#Fvyy($$v9X0cV32T(x`gv3Xw~SK&A90dgk|3GPNGl14^2DOdzES zTK8jL+)}MeSlHo-b@}I`8p+v0mTAGbv^;vI=y2pYpwUv+<1u~g(ek@xwI}-=%*RmX z8^E_o@N-CQKvughV{1S69MG=e4x+kn@C64j^;(bpc3_>X`#Rw=(Yj7r5E_h{E&m!@ zkslh`ewMXOBAXJpSsOabbZcXyUp3zrSGD)_j_OqXGwhbs9UA&B$(OLB99pS1RT;gv zFW-b5-+%1Co;0uu#FZYM70pKU_ncd*s2lf6XXx+!sXP*$xIl}@vwxt4*TLVu`t#(P zoL|~2dl!}N{?5hS$1Xr+RWnI@Us1bejYP}$4OQ~ToF`^`V=)VV#3qdvNB!)TdlD)v z?&kjp-7>fBaT_kM`W%o644yu%%~$VEF?l}EzmtIDy{e|My{y~abb7@-*xWvcrNBMz z+RezCqs9+d;Q>J^-ihH^fs0tEXY6{%YZ&cX;X^H>%T@nh)%wDj+jipS=f}WLi@Gs$ z@dllKNFdvtt&r`X;<4JB(D|jtv5F4D5~u(D=ALa0f0j6!)|2^0?lvevF0f-xkNLl^ zjBLv&r%f@&#pEFNdw=VrjKIbKFH869|{(E9HFFpS-eO!QGRCk4- zpm4+Bj6CPmdxePnlH#Ak7Nxt<;9vB2Zr{hJKolMe+>jkx38-+jt}q+a86NYw+1PAb zH~0=I1J&|+{Lq&G@NGTd^VUiXAgK`)Ft=J#zyHxL-J2I{5M$@ zv$mHk54p4m_Jx}_d$W9D=ST_Wj|i;&U4o)z28>g-IaFG=0t5VglLKg)?B;5jurmRF z=^MW4m!luDZNrUX?PGJewO1coeKLu1qiA(&2B6gkS9@)o!hbiuT6{J=1XdyXx4Fda zGGl*sik+7GrbTGLOpS{}vgc;m57vVWquRZ2BKPnMv(JOK+&`O%_%dNrj`#dexfd&w zCy_%xwIi0LdGX)xb0<7fsJ$J=gTyxk?T;+0hWKm8k5BXgm>JuYZ=p;u=sUcErd6knYaO5Shf~Bfh&@ zd|}^o^9_hixA8tO<9@pJZS)`Clog}J}i2Y)}VGk$AX~Q~?wb9LV%t1xISg&nH)oNQ*HpLGjrx@pR$)H6sn%NfBFbhfE1-F2>GVhKrXR6EmS`#wto)Y|(+DuGz~P8zZ%<0vIp6p# zB5c-*nYFV&Z9<3Rd}{e8N9{a)7Sh)D130-|Y_;E>izm-kGG}qM3uG5kWB7@)pKa)J zL^ig1cwmY~EY0sv$KaRa7?ZC?rf1a&xLT(AzfXq=%~nB8kMoi{*jA$}>UQUt%z)>t z-5Z4b?(bc+x3n}XPBY}zDf>4)em`T$#`B%*ZGHh5-{c-&eqNxq8)}9;OzymtuSi@9 z63FXVkGc}FSCe|m@`@cf=UNG^0?wSDMB=XTq%LT)(m&=t77{qC{mYW?Oni~yu zdeE1<((A6@QT5sou0d}n%o24(u`)DH?_}^xn>4UcQ5|NgiO#M^-#3*laF@XgxXsrg zOG068Z}S7jtq_%07Ws&fnhHx^=Rg;Ii3tSg5&}RMZ%Di?SpUH}O@!6+Gc6kvmTY_IW zO_h~T!Im_Q*bCMtOdd=rGkZWDcdIA^3e{OvG%M92%ZEczkXsS^f{Dfvy(LY9kCi1dOwpRMU_J^o&!KS%>8s1DOOJV z+IVEbeoXr@Wi*wK`J*{V7K-I@GXWZ$q#NZ^Q-OmL=aVi6A-G7<3I}lrQEt+TVJtKl z_vzq+R)`G`N$Yu>aVQ^??P(ew#*gNG0aKwoJfgvO^l1o3xWJ&@0cauOD1zTuZ{R*s zQ1pmNOflt=5RMC)nEhDTMqsJpQ-7ogGmLZa`xEq0(!<*C+)-j0f-Ye8+o#6{FJQ|e zqmLtmZgcq*qQpgoRaB2^$DF`<(bbKf*@%!1as@SGnL1(pJaK4I5)V#RBVI#{6qjH* zmM}QOE2));I7V80Jsz4QdYrVN*4XnLSGty8|H4L`RHj{Co6LMIS!|VpK0(4%3~Z%p zoFw^jWErFlYQ_ATNk>SK?xo>8(4s&R=gx*u2F_S-B0AGXk~D3!De{sjR-tQfl3R$w3lcEWZZO&u8eFh5C-BtPQcUI3OS#ob^0TiBKK*L}IjTY+?c zg>X>JuSk+$e@uOk%8#~dBALyx9TE{FtZ`0vnL%x6c@KccI0Fe)V`?I*fZ>x!TKrnbhCZ zHPVNz7r5Zl54%DNS8@Xn(2gl-LVy2P0Qx;s7BD*qg>nlhKbajOKy}WQP-llxMkLcG zL0@M_K*pr>%IMPB(Uv-|GsrQx3CX;2I(!^(l~jD4v+CB)99bwSkaL&Hk^h7ia;aalEbQ@CZ`HyX1g0>9H+jj`MY zIFMfUOe^e&6&y|N7GxiT-p$-ye)8uyp*=NVW>*|_ud-OgdhZ0t5h?LC|8EN@=P(ig zcOq?N1SRy=XmHy7auO=GjqIjpsTd%)y6qKdcA9`uYJ}WKi$DiO6DPD?g*XjX6d_r zbxweeai0%QN6j6jLp)Bl>D$f;((xYF#vXNZLUg3(QzLzWIbk}`D|-80^_&R3zO(+| zhNy!#iH~DrRg7&P9%g+E<3qaBD!FqU;!9%CD}==Hwf=vXPpBjP3Tve=oTLN&bw7IU zOVs;+UJV-tIt1vvzEdR04)9nV>NCeJt$gxArB<~i=(=nmu6*@o#NSM>Hz`l7!IzH_7R~sed z!{Auc!=XjE>z=}vN`3eXr)*8ILxfxJv9dGl2)pGB?XwtU!+ccRImjbGvMc*M{t8Z93#BJT}@& z2mcgCegW0}ulduUi?p8CqidjE8d@EWYv_Y0eYSJ(JcN#j$rOo7o4-I8eMaga`0&nO zq~lzzv`-n>#FBE5$;OwM8_3DCm(g(~lak@hD;n{n9m>r~!$Dit8yFOkKuXN7dut?` zNGe+TY-o(zM_r(q*d&o`AAj+>%G76SQ%u+Otmc}^Ib=$S?{DrXt zZtui{!Pi26<~!hsH~XI=!U!&+xlU4x<*v9~*zPfPH=DN>+ReJ|%(wSPEbBbb@Ayr3 z4m>sTDte!^dJX2)LtEM2{}p}$?wHaEKH!492!b!YtKiqpd4ivJq3o9aFu|X{$bb4a zln{U|IxiKhMF@ly*9P1)CIr!nF@0B)2#BQjf`bj*Vm}xryL~2v!?6Ff0tE>XG;GOam@NUB^znV5B#rP0TxQ>DqD*+) zRVHjC)=G%<{xohP&_;N|UvB&$f|n45E$7U$3nM&*ea>A%a1)|wpHKOIP$Zy|Dgv+m ztRuvLzpRCz?Fi4hzIVV=AS8R&8aO=CCZzD!S%ga$5>l~sN4^@4 z5Yk{@(JiNn3F)-2-(3WJ2YjAU@zfdRPO;__d`U4Ol z_rKQ9#_ClC!dpv7n%Bv?_{N2yLHt zU6dde5!xGFYom$9s1B3McCU!b3O=3By2g}JAA%1S@88zuvBUZqBgKL(D zh+hDG7ZzM%h`542D;u-{u@c(PTKH*8tRnQkTFALTtVRtaCkMt8Ye2v0gQon%+Lqtw z43{lp9ej}I#NPzsSHKXPI)o(F7YwD^frt&zVUs71V~O7g!zxd}E5t_B$hD-oC&VVu zsL}UxM#S$eqnH1RG!dKOW0<4oO^81L
7R55$&&aTi`C8DcARVg`qZAhr=E>T&X? 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�cPq5CJN|8;?;*7r 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%0AszYccSaCztzQ<`M_;GXfJzi=jm~yk1 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 literal 0 HcmV?d00001 diff --git a/pageserver/test_data/sk_wal_segment_from_pgbench/initdb.tar.zst b/pageserver/test_data/sk_wal_segment_from_pgbench/initdb.tar.zst new file mode 100644 index 0000000000000000000000000000000000000000..17e9c7ea084996d2d2f49d9077975e8a4281c63d GIT binary patch literal 1485986 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

7Hv=rrFxAH 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

    WT>tlra3^Ur8z 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�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≧~b(g(()UL5oi@nd|SB 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%0A~HczkR%<^1w>E;jVOjxLE92Q!J#0= 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%0A`HJKOu-*t`{R?DrpV^D|je8Z9 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₟AdAA*8JoV{XBQ z$b%W<05v~>#YStV5&RS6cw@Ni&%UM}wkvHDYL4reCbG3HSJ7Wzg;c7m+~yz zbk|b+2Py=%vju-J|Foi;;!Y(yeOk`WX(L%SEn=NBOT^{MzroIgeopCX1{iI(T`Y!8 z@{O|BXjFOWOS+7gL45MI%~tAZt*ynkdu~F}shayW0G0bay?vJsc@PjxEBeAOftKf{c0Xa7oV6~go!WQ2 zgtK@?>+PjwC)PNrp!N;XEw$ztcP3*_N5|&VVU=hX%xAcAVeKl|u~G~dkk6<4jyM@= zl!b}^a``Rz=+A?jmsGfFG&oDFDlm*N|z{>?-W2(<+a2wC+w24Q!kEda(KdP$&G zQe(ic@Go@uKq|3Tc*cLhe+?8D@Xfh3e@K&7`G&f5AefDW?{Q|gaYKCSIzkTndRT8$ z=Z0#N+Ek2zN!YBzAdy=(*)j!V0Brzb05?b4#CP{#UTy`vT`(p=&3U!ZC%l>!-Vl=b zj-bT1&Jy1fnD{1w`5xXoVZJ4Z(R6mKtXD`0M1phM=ze#N%gim@1<%@fgH+TAO)ACK z!i8@g9=EGRiJYm|StNJMgfDD6PAi!A$^}yi>*i)b9ewz*oDI^j8b?+)T@5CJr8*o#$FypAhFWa!w8tlk|hDVWZ=9)bHNQ(((C?q`6@UL6$`v$bmW zu=N7@x^rmLePeODaW-U3y{hPubV^UF2DM~rq1}-2J>=5o`{-A#?qan9)~i~h+OPXI z6^Fj9lkq;0M;>eT)cb>&jtSjBx1HMuH@tri^xPD#kBT}WvL=!5Af9UCrVXEve9wHM z?f^vO4FD?1LOpS#LsGX21{47)d^dK7VRsktSisyy zK~KqBzz@}31G;TOrSAc@B@7EC%9QUSD&HAyqhy@{tCE)P91bIH1|3Mm@E`++tZPPz zU!7%@H=BwnEisuc)@Tz10fI`X(py`GI-(2Y2ofSN$e_Z&8UqqQFjuEq?JgBeu2niO-$peCnAuszyp7wod-u$8j&`j*LD*U-V%b2xPXAh;nZt8< z`8oF<*~dbR=W42Nw_PHvVMn+GN|?`w>8alDbE1(Ac5x0|uBH}FpYLWTxyBbH_#S*2 zm|x5C_0RnovrC@e3$v8B4pRYp`xi6YyR3ETA6tm|^3;R1+Pq*`8{I?a{_okD1BiV^ z#F}Nz%-3YX!tN@yX67DuaGCMsH|jFIrRs>V9Ne!Dz~W~AhBKM=+1m(b^-t?I&R|GIx5WIXMj<8|Y!o<*L9@9%-pCLLbnRJz zHD>2A4&csk#14QZ!yRg{D>-jOLuJ7zU_GXy^VKoDa3gUeeA&Gp?eAGzw_eLr*LmNv zFfV@>WRn?jOVJkYB`%l8VlE7GYYpwi@Jx1W-?fm9q!GVf2g-PEAVbr z^QIE2o7aBoxxtHRJMRWARSMWnIZ2ClbH_6xW>c$aweSr#J|CR}(B75Ms~E3dy)9^f zwji$uEw6U@Ub-#lI;*~SOKE>@d|PSv9i7_Urea}FrbUyB!KVOtrVV zZ>$;D=#dS_fvRh?tgG-s#ZZuKx}9D9(+FEb_jpgTh*p}_h_Pd_61n%jxNd8$F1x(# z-)th~u#S2Cm)4N3n~<+f*PFeNU5S5Evb`1aRlgy=8Nt_jAANOOP;E|aeP_VbT#Ekv z*0wh@gnOAbOfFzWH@G(T2C+4O<4f737`SojOUt;`#?7FsMZ|hX|A&jc9sBNLirwo5 zw``rFc4LEP8mw7m*89`z`4~ytzfMO7p0E03+46Bgu{}$}H^)}MrsC#ryn7Q0+{-<#z9}F)lmqN~742<%7Cgrd`=Y-u?8J)P1>XQ-$7rj?>6$0a-NeXN?^hvF~cW@$45$=LRlM{VJR!0=}YENLdYinVt_9PH?6!E!j#`9-wSLOP&K*qmmp~4HU;sxhs0~jAdgIqoT{mG)- zEpqgSU6z^M-rZg;bHCZsUz>Qhrfr}~6s z?p3g%nYð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

f)Uwm&;#Yv7b21w$ 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