From 20a1a1d7ffff09f0a136cfa24f5f80555ad48ccf Mon Sep 17 00:00:00 2001 From: JeanExtreme002 Date: Tue, 26 May 2026 15:14:24 -0300 Subject: [PATCH 1/7] feat: pattern scanning, pointer chains, thread enumeration, partial name match and logger MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Pattern scanning (AOB) with IDA-style "?" wildcards and bytes-regex support, via `process.search_by_pattern(...)` on all three backends. - `resolve_pointer_chain(base, offsets, *, ptr_size=8)` for multi-level pointer walks — the operation Cheat-Engine tables describe. - `get_threads()` / `main_thread` thread enumeration on Windows (Toolhelp32), Linux (`/proc//task/`) and macOS (`task_threads`), with a shared `ThreadInfo` dataclass. - `exact_match=False` flag on `OpenProcess` / process-name lookup for substring matching (e.g. "chrome" -> "chrome.exe" / "Google Chrome"). - Module-level "PyMemoryEditor" logger with NullHandler (silent by default); scanning helpers and macOS write-via-protect now emit at DEBUG/WARNING. - 43 new tests covering the five features. - README sections highlighting pattern scan and pointer chains. --- PyMemoryEditor/__init__.py | 13 ++ PyMemoryEditor/linux/functions.py | 123 ++++++++++++++++++- PyMemoryEditor/linux/process.py | 28 +++++ PyMemoryEditor/macos/functions.py | 105 +++++++++++++++- PyMemoryEditor/macos/libsystem.py | 23 ++++ PyMemoryEditor/macos/process.py | 28 +++++ PyMemoryEditor/process/abstract.py | 131 +++++++++++++++++++- PyMemoryEditor/process/info.py | 10 +- PyMemoryEditor/process/scanning.py | 119 +++++++++++++++++- PyMemoryEditor/process/thread_info.py | 51 ++++++++ PyMemoryEditor/process/util.py | 27 ++++- PyMemoryEditor/util/__init__.py | 1 + PyMemoryEditor/util/pattern.py | 114 ++++++++++++++++++ PyMemoryEditor/win32/functions.py | 122 ++++++++++++++++++- PyMemoryEditor/win32/process.py | 30 +++++ PyMemoryEditor/win32/types.py | 18 +++ README.md | 35 ++++++ tests/test_logger.py | 99 +++++++++++++++ tests/test_partial_name_match.py | 111 +++++++++++++++++ tests/test_pattern_compile.py | 129 ++++++++++++++++++++ tests/test_pattern_scan.py | 118 ++++++++++++++++++ tests/test_pointer_chain.py | 166 ++++++++++++++++++++++++++ tests/test_thread_enumeration.py | 134 +++++++++++++++++++++ 23 files changed, 1720 insertions(+), 15 deletions(-) create mode 100644 PyMemoryEditor/process/thread_info.py create mode 100644 PyMemoryEditor/util/pattern.py create mode 100644 tests/test_logger.py create mode 100644 tests/test_partial_name_match.py create mode 100644 tests/test_pattern_compile.py create mode 100644 tests/test_pattern_scan.py create mode 100644 tests/test_pointer_chain.py create mode 100644 tests/test_thread_enumeration.py diff --git a/PyMemoryEditor/__init__.py b/PyMemoryEditor/__init__.py index ba2f795..05c6cea 100644 --- a/PyMemoryEditor/__init__.py +++ b/PyMemoryEditor/__init__.py @@ -10,6 +10,7 @@ __author__ = "Jean Loui Bernard Silva de Jesus" __version__ = "2.0.0" +import logging import sys from typing import TYPE_CHECKING @@ -22,6 +23,16 @@ ProcessNotFoundError, PyMemoryEditorError, ) +from .process.thread_info import ThreadInfo + + +# Package-wide logger. Silent by default (NullHandler) — embedding apps opt in +# with `logging.basicConfig(level=logging.DEBUG)` or by attaching a handler to +# the "PyMemoryEditor" logger. Backends emit DEBUG for transient skips (pages +# vanished mid-scan) and WARNING for surprising-but-recovered conditions +# (partial reads, mach_vm_protect restore failure). +logger = logging.getLogger("PyMemoryEditor") +logger.addHandler(logging.NullHandler()) if sys.platform == "win32": @@ -75,6 +86,8 @@ "ProcessNotFoundError", "PyMemoryEditorError", "ScanTypesEnum", + "ThreadInfo", "__author__", "__version__", + "logger", ) + _PLATFORM_EXPORTS diff --git a/PyMemoryEditor/linux/functions.py b/PyMemoryEditor/linux/functions.py index 004c8df..149bf69 100644 --- a/PyMemoryEditor/linux/functions.py +++ b/PyMemoryEditor/linux/functions.py @@ -8,22 +8,32 @@ import ctypes import errno as errno_mod +import logging import os from ctypes import addressof, sizeof from typing import Dict, Generator, Optional, Sequence, Tuple, Type, TypeVar, Union from ..enums import ScanTypesEnum from ..process.region import enrich_region -from ..process.scanning import iter_search_results, iter_values_for_addresses +from ..process.scanning import ( + iter_pattern_results, + iter_search_results, + iter_values_for_addresses, +) +from ..process.thread_info import ThreadInfo from ..util import ( _validate_pytype, get_c_type_of, values_to_bytes, ) +from ..util.pattern import PatternLike, compile_pattern from .libc import libc from .types import MEMORY_BASIC_INFORMATION, PATH_SIZE, PRIVILEGES_SIZE, iovec +_logger = logging.getLogger("PyMemoryEditor") + + T = TypeVar("T") @@ -243,6 +253,57 @@ def is_transient(exc: BaseException) -> bool: ) +def search_addresses_by_pattern( + pid: int, + pattern: PatternLike, + *, + byte_length: int = 0, + progress_information: bool = False, + memory_regions: Optional[Sequence[Dict]] = None, +) -> Generator[Union[int, Tuple[int, dict]], None, None]: + """ + AOB scan against every readable, non-shared region of the target. See + :meth:`AbstractProcess.search_by_pattern`. + """ + compiled, length = compile_pattern(pattern, byte_length=byte_length) + + source_regions = ( + memory_regions if memory_regions is not None else get_memory_regions(pid) + ) + + def is_scannable(region) -> bool: + privileges = region["struct"].Privileges + if b"r" not in privileges: + return False + # Mirror search_addresses_by_value: skip shared mappings (libc text + # etc.) — they bloat scans with noise. + if b"s" in privileges: + return False + return True + + filtered_regions = [region for region in source_regions if is_scannable(region)] + filtered_regions.sort(key=lambda region: region["address"]) + + def read_chunk(address: int, size: int): + buffer = (ctypes.c_byte * size)() + _process_vm_readv(pid, addressof(buffer), address, sizeof(buffer)) + return buffer + + def is_transient(exc: BaseException) -> bool: + if isinstance(exc, _LinuxPartialIOError): + return True + return isinstance(exc, OSError) and exc.errno in _PAGE_GONE_ERRNOS + + yield from iter_pattern_results( + filtered_regions, + compiled, + length, + read_chunk, + progress_information=progress_information, + transient_error_check=is_transient, + ) + + def search_values_by_addresses( pid: int, pytype: Type[T], @@ -315,3 +376,63 @@ def write_process_memory( _process_vm_writev(pid, addressof(data), address, sizeof(data)) return value + + +def get_threads(pid: int) -> Generator[ThreadInfo, None, None]: + """ + Yield a :class:`ThreadInfo` for every thread of the target process by + listing ``/proc//task/`` — each subdirectory there is a TID. + + State and priority come from ``/proc//task//stat`` when readable; + silent on permission/race errors (a thread may exit between listing the + directory and reading its stat file) but logged at DEBUG so observers can + see it. + """ + task_dir = "/proc/{}/task".format(pid) + + try: + entries = os.listdir(task_dir) + except OSError as exc: + _logger.debug("get_threads: could not list %s: %s", task_dir, exc) + return + + for entry in entries: + try: + tid = int(entry) + except ValueError: + continue + + state: Optional[str] = None + priority: Optional[int] = None + try: + with open("{}/{}/stat".format(task_dir, entry), "r") as fh: + raw_stat = fh.read() + # /proc//task//stat layout (man 5 proc): + # pid (comm) state ppid pgrp session tty_nr tpgid flags minflt + # cminflt majflt cmajflt utime stime cutime cstime priority ... + # ``comm`` is wrapped in parens and *may itself contain whitespace + # or parentheses*, so the only safe split point is the last ')'. + close_paren = raw_stat.rfind(")") + if close_paren != -1: + rest = raw_stat[close_paren + 1 :].split() + # rest[0] = state, rest[15] = priority (field 18 in the man + # page, with the first two fields already consumed). + if rest: + state = rest[0] + if len(rest) > 15: + try: + priority = int(rest[15]) + except ValueError: + priority = None + except OSError as exc: + _logger.debug( + "get_threads: could not read stat for tid=%s: %s", entry, exc + ) + + yield ThreadInfo( + tid=tid, + start_address=None, + state=state, + priority=priority, + raw=entry, + ) diff --git a/PyMemoryEditor/linux/process.py b/PyMemoryEditor/linux/process.py index 8a87f1c..1ac11cb 100644 --- a/PyMemoryEditor/linux/process.py +++ b/PyMemoryEditor/linux/process.py @@ -7,9 +7,12 @@ from ..process import AbstractProcess from ..process.errors import ClosedProcess from ..util import resolve_bufflength +from ..process.thread_info import ThreadInfo from .functions import ( get_memory_regions, + get_threads, read_process_memory, + search_addresses_by_pattern, search_addresses_by_value, search_values_by_addresses, write_process_memory, @@ -31,6 +34,7 @@ def __init__( pid: Optional[int] = None, permission=None, case_sensitive: bool = True, + exact_match: bool = True, ): """ :param process_name: name of the target process. @@ -41,11 +45,14 @@ def __init__( mask doesn't disappear silently here — pass ``None`` (or omit) on non-Windows platforms. :param case_sensitive: when False, process_name matching ignores case. + :param exact_match: when False, ``process_name`` is matched as a + substring (e.g. ``"chrome"`` finds ``"chromium-browser"``). """ super().__init__( process_name=process_name, pid=pid, case_sensitive=case_sensitive, + exact_match=exact_match, ) self.__closed = False @@ -73,6 +80,10 @@ def get_memory_regions(self) -> Generator[dict, None, None]: self.__require_open() return get_memory_regions(self.pid) + def get_threads(self) -> Generator[ThreadInfo, None, None]: + self.__require_open() + return get_threads(self.pid) + def read_process_memory( self, address: int, @@ -132,6 +143,23 @@ def search_by_value( memory_regions=memory_regions, ) + def search_by_pattern( + self, + pattern, + *, + byte_length: int = 0, + progress_information: bool = False, + memory_regions: Optional[Sequence[Dict]] = None, + ) -> Generator[Union[int, Tuple[int, dict]], None, None]: + self.__require_open() + return search_addresses_by_pattern( + self.pid, + pattern, + byte_length=byte_length, + progress_information=progress_information, + memory_regions=memory_regions, + ) + def search_by_value_between( self, pytype: Type[T], diff --git a/PyMemoryEditor/macos/functions.py b/PyMemoryEditor/macos/functions.py index 0f4b91d..6c5b08f 100644 --- a/PyMemoryEditor/macos/functions.py +++ b/PyMemoryEditor/macos/functions.py @@ -6,18 +6,25 @@ """ import ctypes +import logging import os import warnings from typing import Dict, Generator, Optional, Sequence, Tuple, Type, TypeVar, Union from ..enums import ScanTypesEnum from ..process.region import enrich_region -from ..process.scanning import iter_search_results, iter_values_for_addresses +from ..process.scanning import ( + iter_pattern_results, + iter_search_results, + iter_values_for_addresses, +) +from ..process.thread_info import ThreadInfo from ..util import ( _validate_pytype, get_c_type_of, values_to_bytes, ) +from ..util.pattern import PatternLike, compile_pattern from .libsystem import libsystem, mach_error_message, mach_task_self_ from .types import ( @@ -47,6 +54,9 @@ _WRITE_RETRY_CODES = (KERN_PROTECTION_FAILURE, KERN_INVALID_ADDRESS) +_logger = logging.getLogger("PyMemoryEditor") + + T = TypeVar("T") @@ -251,7 +261,7 @@ def _mach_write(task: int, address: int, local_buffer_address: int, size: int) - task, address, size, 0, original_protection ) if restore_kr != KERN_SUCCESS: - warnings.warn( + message = ( "mach_vm_protect could not restore the original protection " "(0x%x) on the target page at 0x%x after a write-via-protect-flip; " "the page is left more permissive than before (kr=%d, %s)." @@ -260,10 +270,10 @@ def _mach_write(task: int, address: int, local_buffer_address: int, size: int) - address, restore_kr, mach_error_message(restore_kr), - ), - ResourceWarning, - stacklevel=2, + ) ) + _logger.warning(message) + warnings.warn(message, ResourceWarning, stacklevel=2) def _query_region(task: int, address: int): @@ -402,6 +412,91 @@ def is_transient(exc: BaseException) -> bool: ) +def get_threads(task: int) -> Generator[ThreadInfo, None, None]: + """ + Yield a :class:`ThreadInfo` for every thread of the target task using + Mach's ``task_threads``. + + .. note:: + ``tid`` here is the **Mach thread port name**, not the BSD/POSIX + pthread id. Looking up the POSIX tid would require an extra + ``thread_info(THREAD_IDENTIFIER_INFO)`` call per thread; the Mach port + is sufficient for any further Mach-level operation and is what the + kernel hands us cheaply. + """ + thread_list = ctypes.POINTER(ctypes.c_uint)() + count = ctypes.c_uint(0) + + kr = libsystem.task_threads(task, ctypes.byref(thread_list), ctypes.byref(count)) + if kr != KERN_SUCCESS: + raise OSError( + "task_threads failed: %s (kr=%d)" % (mach_error_message(kr), kr) + ) + + try: + for index in range(count.value): + yield ThreadInfo( + tid=int(thread_list[index]), + start_address=None, + state=None, + priority=None, + raw=int(thread_list[index]), + ) + finally: + # The kernel out-allocates ``thread_list`` in the caller's address + # space; freeing it back is the caller's responsibility, otherwise we + # leak VM in *our own* task each enumeration. The deallocation size is + # ``count * sizeof(mach_port_t)``. + if count.value: + libsystem.vm_deallocate( + mach_task_self_.value, + ctypes.cast(thread_list, ctypes.c_void_p), + count.value * ctypes.sizeof(ctypes.c_uint), + ) + + +def search_addresses_by_pattern( + task: int, + pattern: PatternLike, + *, + byte_length: int = 0, + progress_information: bool = False, + memory_regions: Optional[Sequence[Dict]] = None, +) -> Generator[Union[int, Tuple[int, dict]], None, None]: + """ + AOB scan against every readable region of the target task. See + :meth:`AbstractProcess.search_by_pattern`. + """ + compiled, length = compile_pattern(pattern, byte_length=byte_length) + + source_regions = ( + memory_regions if memory_regions is not None else get_memory_regions(task) + ) + + def is_scannable(region) -> bool: + return (region["struct"].Protection & VM_PROT_READ) != 0 + + filtered_regions = [region for region in source_regions if is_scannable(region)] + filtered_regions.sort(key=lambda region: region["address"]) + + def read_chunk(address: int, size: int): + buffer = (ctypes.c_byte * size)() + _mach_read(task, address, ctypes.addressof(buffer), size) + return buffer + + def is_transient(exc: BaseException) -> bool: + return isinstance(exc, MachReadError) and exc.kr in _PAGE_GONE_KRS + + yield from iter_pattern_results( + filtered_regions, + compiled, + length, + read_chunk, + progress_information=progress_information, + transient_error_check=is_transient, + ) + + def search_values_by_addresses( task: int, pytype: Type[T], diff --git a/PyMemoryEditor/macos/libsystem.py b/PyMemoryEditor/macos/libsystem.py index 51d32f4..edafebc 100644 --- a/PyMemoryEditor/macos/libsystem.py +++ b/PyMemoryEditor/macos/libsystem.py @@ -107,6 +107,29 @@ libsystem.mach_port_deallocate.argtypes = (mach_port_t, mach_port_t) libsystem.mach_port_deallocate.restype = kern_return_t +# kern_return_t task_threads( +# task_inspect_t target_task, +# thread_act_array_t *act_list, /* out: kernel-allocated array of thread ports */ +# mach_msg_type_number_t *act_listCnt); +libsystem.task_threads.argtypes = ( + task_t, + POINTER(POINTER(mach_port_t)), + POINTER(mach_msg_type_number_t), +) +libsystem.task_threads.restype = kern_return_t + +# kern_return_t vm_deallocate( +# vm_map_t target_task, +# vm_address_t address, +# vm_size_t size); +# Used to free the thread_act_array_t returned by task_threads. +libsystem.vm_deallocate.argtypes = ( + vm_map_t, + ctypes.c_void_p, + ctypes.c_size_t, +) +libsystem.vm_deallocate.restype = kern_return_t + # struct rusage_info_v0 — first slice of rusage_info_t. ri_phys_footprint is # the number Activity Monitor's "Memory" column shows (anonymous + compressed diff --git a/PyMemoryEditor/macos/process.py b/PyMemoryEditor/macos/process.py index 9a52707..1df0ec6 100644 --- a/PyMemoryEditor/macos/process.py +++ b/PyMemoryEditor/macos/process.py @@ -6,13 +6,16 @@ from ..enums import ScanTypesEnum from ..process import AbstractProcess from ..process.errors import ClosedProcess +from ..process.thread_info import ThreadInfo from ..util import resolve_bufflength from .functions import ( get_memory_regions, get_task_for_pid, + get_threads, read_process_memory, release_task, + search_addresses_by_pattern, search_addresses_by_value, search_values_by_addresses, write_process_memory, @@ -39,6 +42,7 @@ def __init__( pid: Optional[int] = None, permission=None, case_sensitive: bool = True, + exact_match: bool = True, ): """ :param process_name: name of the target process. @@ -49,11 +53,14 @@ def __init__( mask doesn't disappear silently here — pass ``None`` (or omit) on non-Windows platforms. :param case_sensitive: when False, process_name matching ignores case. + :param exact_match: when False, ``process_name`` is matched as a + substring (e.g. ``"chrome"`` finds ``"Google Chrome"``). """ super().__init__( process_name=process_name, pid=pid, case_sensitive=case_sensitive, + exact_match=exact_match, ) # `permission` is accepted for cross-platform parity but has no effect @@ -112,6 +119,10 @@ def get_memory_regions(self) -> Generator[dict, None, None]: self.__require_open() return get_memory_regions(self.__task) + def get_threads(self) -> Generator[ThreadInfo, None, None]: + self.__require_open() + return get_threads(self.__task) + def search_by_addresses( self, pytype: Type[T], @@ -160,6 +171,23 @@ def search_by_value( memory_regions=memory_regions, ) + def search_by_pattern( + self, + pattern, + *, + byte_length: int = 0, + progress_information: bool = False, + memory_regions: Optional[Sequence[Dict]] = None, + ) -> Generator[Union[int, Tuple[int, dict]], None, None]: + self.__require_open() + return search_addresses_by_pattern( + self.__task, + pattern, + byte_length=byte_length, + progress_information=progress_information, + memory_regions=memory_regions, + ) + def search_by_value_between( self, pytype: Type[T], diff --git a/PyMemoryEditor/process/abstract.py b/PyMemoryEditor/process/abstract.py index 5f7d356..d56fb61 100644 --- a/PyMemoryEditor/process/abstract.py +++ b/PyMemoryEditor/process/abstract.py @@ -1,4 +1,5 @@ # -*- coding: utf-8 -*- +import sys from abc import ABC, abstractmethod from typing import ( Dict, @@ -15,6 +16,7 @@ from ..enums import ScanTypesEnum from .info import ProcessInfo from .scanning import _PRESORTED_KEY +from .thread_info import ThreadInfo T = TypeVar("T") @@ -32,12 +34,17 @@ def __init__( process_name: Optional[str] = None, pid: Optional[int] = None, case_sensitive: bool = True, + exact_match: bool = True, ): """ :param process_name: name of the target process. :param pid: process ID. :param case_sensitive: when False, process_name matching ignores case (recommended on Windows where process names are case-insensitive). + :param exact_match: when False, ``process_name`` is matched as a + substring — ``"chrome"`` matches ``"chrome.exe"`` / ``"Google Chrome"``. + If more than one process matches, ``AmbiguousProcessNameError`` is + raised so you can pick a PID from the list. """ self._process_info = ProcessInfo() @@ -46,7 +53,9 @@ def __init__( elif process_name: self._process_info.set_process_name( - process_name, case_sensitive=case_sensitive + process_name, + case_sensitive=case_sensitive, + exact_match=exact_match, ) else: @@ -79,6 +88,36 @@ def get_memory_regions(self) -> Generator[dict, None, None]: """ raise NotImplementedError() + @abstractmethod + def get_threads(self) -> Generator[ThreadInfo, None, None]: + """ + Yield a :class:`~PyMemoryEditor.ThreadInfo` for every thread running + inside the target process. + + The fields that each backend can fill in cheaply vary — see + ``ThreadInfo`` for which attributes may be ``None`` per platform. + The ``tid`` field's *meaning* is platform-specific (POSIX TID on + Linux, DWORD TID on Windows, Mach port name on macOS). + + Use :attr:`main_thread` for the conventional "main thread" shortcut. + """ + raise NotImplementedError() + + @property + def main_thread(self) -> Optional[ThreadInfo]: + """ + The conventional "main thread" of the target — by convention, the + thread with the smallest ``tid``. Returns ``None`` if the target has + no listable threads (rare; typically means the process just exited). + + Useful as a quick hand-off into thread-specific operations, and as a + sanity check ("is anything still running in there?"). + """ + threads = list(self.get_threads()) + if not threads: + return None + return min(threads, key=lambda t: t.tid) + def snapshot_memory_regions(self) -> List[Dict]: """ Return a materialized snapshot of the process memory regions. @@ -149,6 +188,34 @@ def search_by_value( """ raise NotImplementedError() + @abstractmethod + def search_by_pattern( + self, + pattern: Union[str, bytes, "object"], + *, + byte_length: int = 0, + progress_information: bool = False, + memory_regions: Optional[Sequence[Dict]] = None, + ) -> Generator[Union[int, Tuple[int, dict]], None, None]: + """ + Scan the target's memory for a byte pattern (AOB) — the Cheat Engine / + IDA technique for locating code or data that moves between builds. + + :param pattern: one of the forms accepted by + :func:`PyMemoryEditor.util.pattern.compile_pattern` — an IDA-style + hex string with ``?`` wildcards (``"48 8B ? ? 00"``), a raw bytes + regex, or a pre-compiled ``re.Pattern[bytes]``. + :param byte_length: required when ``pattern`` is a regex / pre-compiled + Pattern — the number of bytes one match consumes. Ignored for + IDA-style strings (inferred from the token count). + :param progress_information: if True, yields ``(address, info)`` + tuples (same shape as ``search_by_value``). + :param memory_regions: optional snapshot from + ``snapshot_memory_regions()`` to skip region enumeration on + iterative workflows. + """ + raise NotImplementedError() + @abstractmethod def search_by_value_between( self, @@ -215,3 +282,65 @@ def write_process_memory( :param value: value to be written. """ raise NotImplementedError() + + def resolve_pointer_chain( + self, + base_address: int, + offsets: Sequence[int], + *, + ptr_size: int = 8, + ) -> int: + """ + Walk a multi-level pointer chain — the kind of recipe Cheat Engine + exports for addresses that survive a process restart. + + Reads ``ptr_size`` bytes at ``base_address`` to obtain the first + pointer, then for each offset in ``offsets[:-1]`` adds the offset and + dereferences again. The **last** offset is added *without* + dereferencing — the returned integer is the final address where the + value of interest lives. Read or write it with the regular + ``read_process_memory`` / ``write_process_memory`` calls. + + :param base_address: starting address — typically + ``module_base + static_offset``. + :param offsets: sequence of offsets to walk. Pass ``[]`` to dereference + ``base_address`` once and return that pointer. + :param ptr_size: pointer width — 8 for 64-bit targets (default), 4 for + 32-bit targets. + + Example + ------- + Cheat-Engine cheat table entry:: + + "game.exe" + 0x10F4F4 -> [+0x0] -> [+0x158] ; HP + + Translates to:: + + hp_addr = process.resolve_pointer_chain(0x14010F4F4, [0x0, 0x158]) + hp = process.read_process_memory(hp_addr, int, 4) + """ + if ptr_size not in (4, 8): + raise ValueError( + "ptr_size must be 4 (32-bit target) or 8 (64-bit target)." + ) + + # ``read_process_memory(.., int, ..)`` decodes as a *signed* integer + # (see util.convert.get_c_type_of). Pointers in the upper half of the + # address space would come back negative and the next dereference would + # land at an invalid kernel-side address. Read as raw bytes and + # reinterpret as unsigned so every pointer fits the OS's natural range. + byte_order = sys.byteorder + + def _read_ptr(addr: int) -> int: + raw = self.read_process_memory(addr, bytes, ptr_size) + return int.from_bytes(raw, byte_order, signed=False) + + if not offsets: + return _read_ptr(base_address) + + current = _read_ptr(base_address) + + for offset in offsets[:-1]: + current = _read_ptr(current + offset) + + return current + offsets[-1] diff --git a/PyMemoryEditor/process/info.py b/PyMemoryEditor/process/info.py index 3df0d78..b70cdc9 100644 --- a/PyMemoryEditor/process/info.py +++ b/PyMemoryEditor/process/info.py @@ -39,10 +39,16 @@ def process_name(self, process_name: str) -> None: self.set_process_name(process_name) def set_process_name( - self, process_name: str, *, case_sensitive: bool = True + self, + process_name: str, + *, + case_sensitive: bool = True, + exact_match: bool = True, ) -> None: pid = get_process_id_by_process_name( - process_name, case_sensitive=case_sensitive + process_name, + case_sensitive=case_sensitive, + exact_match=exact_match, ) if pid is None: raise ProcessNotFoundError(process_name) diff --git a/PyMemoryEditor/process/scanning.py b/PyMemoryEditor/process/scanning.py index 470188f..14f07b9 100644 --- a/PyMemoryEditor/process/scanning.py +++ b/PyMemoryEditor/process/scanning.py @@ -22,6 +22,7 @@ """ import ctypes +import logging from typing import ( Any, Callable, @@ -29,6 +30,7 @@ Generator, Iterable, Optional, + Pattern, Sequence, Tuple, Type, @@ -46,6 +48,9 @@ ) +_logger = logging.getLogger("PyMemoryEditor") + + # Shared type for the in-region search callable. ``scan_memory`` accepts a # tuple target (for VALUE_BETWEEN) while ``scan_memory_for_exact_value`` does # not — at runtime we only ever route VALUE_BETWEEN through ``scan_memory``, @@ -176,6 +181,12 @@ def iter_values_for_addresses( transient = transient_error_check(exc) if not transient and raise_error: raise + _logger.debug( + "iter_values_for_addresses: skipping chunk at 0x%X (%d bytes): %s", + chunk_address, + read_size, + exc, + ) while ( address_index < len(sorted_addresses) and sorted_addresses[address_index] < chunk_end @@ -297,6 +308,12 @@ def iter_search_results( chunk_data = read_chunk(chunk_address, read_size) except Exception as exc: # noqa: BLE001 — backend errors vary if transient_error_check(exc): + _logger.debug( + "iter_search_results: skipping chunk at 0x%X (%d bytes): %s", + chunk_address, + read_size, + exc, + ) continue raise @@ -337,4 +354,104 @@ def iter_search_results( checked_memory_size += size -__all__ = ("iter_search_results", "iter_values_for_addresses") +def iter_pattern_results( + memory_regions: Sequence[Dict], + compiled_pattern: "Pattern[bytes]", + pattern_length: int, + read_chunk: Callable[[int, int], Any], + *, + progress_information: bool = False, + transient_error_check: Optional[Callable[[BaseException], bool]] = None, +) -> Generator[Union[int, Tuple[int, dict]], None, None]: + """ + Walk every chunk of every region and yield the addresses where + ``compiled_pattern`` matches. Implements AOB (Array Of Bytes) scanning, + the technique used by Cheat Engine / IDA to locate code or data that + moves between builds. + + Mirrors :func:`iter_search_results` for the regex case: same chunking + strategy, same transient-error classification, same optional + ``progress_information`` shape. ``pattern_length`` is the number of + bytes each match consumes — needed because the regex source length is + not a reliable proxy (an IDA-style ``"48 ? ? 00"`` matches 4 bytes but + its escaped source is longer). The chunk overlap reads + ``pattern_length - 1`` extra bytes from the next chunk so matches + straddling a chunk boundary are still detected; matches that fall in + the overlap region are clamped so each address is attributed to + exactly one chunk. + """ + if transient_error_check is None: + transient_error_check = _always_false + + pattern_length = max(1, pattern_length) + + memory_total = 0 + for region in memory_regions: + memory_total += region["size"] + + if memory_total == 0: + return + + checked_memory_size = 0 + + for region in memory_regions: + address, size = region["address"], region["size"] + + for chunk_offset, chunk_size in iter_region_chunks(size, pattern_length): + chunk_address = address + chunk_offset + + is_last_chunk = chunk_offset + chunk_size >= size + overlap = 0 if is_last_chunk else pattern_length - 1 + read_size = chunk_size + overlap + + try: + chunk_data = read_chunk(chunk_address, read_size) + except Exception as exc: # noqa: BLE001 — backend errors vary + if transient_error_check(exc): + _logger.debug( + "iter_pattern_results: skipping chunk at 0x%X (%d bytes): %s", + chunk_address, + read_size, + exc, + ) + continue + raise + + if chunk_data is None: + continue + + # ``compiled_pattern.finditer`` needs a real bytes object. Convert + # once per chunk; ctypes arrays expose the buffer protocol so this + # is a single memcpy. + data_bytes = bytes(chunk_data) + + for match in compiled_pattern.finditer(data_bytes): + offset = match.start() + # Same clamping rule as iter_search_results: matches in the + # overlap belong to the *next* chunk's emission slot. + if offset >= chunk_size: + continue + found_address = chunk_address + offset + + if progress_information: + yield ( + found_address, + { + "memory_total": memory_total, + "progress": ( + checked_memory_size + chunk_offset + offset + ) + / memory_total, + }, + ) + else: + yield found_address + + checked_memory_size += size + + +__all__ = ( + "iter_pattern_results", + "iter_search_results", + "iter_values_for_addresses", +) diff --git a/PyMemoryEditor/process/thread_info.py b/PyMemoryEditor/process/thread_info.py new file mode 100644 index 0000000..48983da --- /dev/null +++ b/PyMemoryEditor/process/thread_info.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- + +""" +Cross-platform thread descriptor returned by ``AbstractProcess.get_threads()``. + +Each backend fills in what its OS exposes cheaply; fields left ``None`` mean +"this platform does not surface that attribute via the API we use." Callers +that need a platform-specific extra (e.g. the TEB on Windows, the Mach +thread port on macOS) can pull it through ``raw`` — the backend stores the +original platform handle there for round-tripping. + +The meaning of ``tid`` is intentionally not unified across OSes: + +- **Linux**: POSIX TID — same namespace as PID; ``gettid()`` returns this. +- **Windows**: kernel-assigned global thread id (DWORD) from ``THREADENTRY32``. +- **macOS**: Mach thread port name from ``task_threads``. Not the BSD pthread + id; obtain that via ``thread_info(THREAD_IDENTIFIER_INFO)`` if needed. + +Documented this way because pretending otherwise leads to subtle bugs in code +that mixes pids and tids across platforms. +""" + +from dataclasses import dataclass, field +from typing import Any, Optional + + +@dataclass(frozen=True) +class ThreadInfo: + """A single thread inside a target process. + + :param tid: thread identifier (see module docstring — meaning is platform-dependent). + :param start_address: entry point of the thread, when the OS exposes it + cheaply. ``None`` when not available. + :param state: short human-readable state — e.g. ``"R"`` / ``"S"`` on Linux. + ``None`` when not available. + :param priority: scheduling priority value as reported by the OS. The scale + is platform-specific; ``None`` when not available. + :param raw: the underlying platform handle/struct used to look up this + thread (a ``THREADENTRY32`` on Windows, the TID string from + ``/proc//task/`` on Linux, a Mach port int on macOS). Useful for + advanced callers that need to make follow-up OS-specific calls. + """ + + tid: int + start_address: Optional[int] = None + state: Optional[str] = None + priority: Optional[int] = None + raw: Any = field(default=None, compare=False, repr=False) + + +__all__ = ("ThreadInfo",) diff --git a/PyMemoryEditor/process/util.py b/PyMemoryEditor/process/util.py index 440296c..aa4983a 100644 --- a/PyMemoryEditor/process/util.py +++ b/PyMemoryEditor/process/util.py @@ -8,13 +8,20 @@ def get_process_ids_by_process_name( - process_name: str, *, case_sensitive: bool = True + process_name: str, + *, + case_sensitive: bool = True, + exact_match: bool = True, ) -> List[int]: """ Return a list of all process IDs matching the provided name. :param process_name: process name to search. :param case_sensitive: when False, comparison ignores case (useful on Windows). + :param exact_match: when False, returns every process whose name *contains* + ``process_name`` as a substring — handy when you don't know the exact + executable name (``"chrome"`` matches ``"chrome.exe"``, ``"Google Chrome"``, + ``"Chromium"``, ...). Often combined with ``case_sensitive=False``. """ if not case_sensitive: process_name_cmp = process_name.casefold() @@ -29,14 +36,24 @@ def get_process_ids_by_process_name( except (psutil.NoSuchProcess, psutil.AccessDenied): continue - if (name if case_sensitive else name.casefold()) == process_name_cmp: + name_cmp = name if case_sensitive else name.casefold() + + if exact_match: + hit = name_cmp == process_name_cmp + else: + hit = process_name_cmp in name_cmp + + if hit: matches.append(process.info["pid"]) return matches def get_process_id_by_process_name( - process_name: str, *, case_sensitive: bool = True + process_name: str, + *, + case_sensitive: bool = True, + exact_match: bool = True, ) -> Optional[int]: """ Return the PID of the process matching the provided name. @@ -45,7 +62,9 @@ def get_process_id_by_process_name( Returns None when no process matches (callers should handle this). """ matches = get_process_ids_by_process_name( - process_name, case_sensitive=case_sensitive + process_name, + case_sensitive=case_sensitive, + exact_match=exact_match, ) if len(matches) > 1: diff --git a/PyMemoryEditor/util/__init__.py b/PyMemoryEditor/util/__init__.py index 0e9fed8..37cd207 100644 --- a/PyMemoryEditor/util/__init__.py +++ b/PyMemoryEditor/util/__init__.py @@ -8,6 +8,7 @@ value_to_bytes, values_to_bytes, ) +from .pattern import PatternLike, compile_pattern from .scan import ( DEFAULT_MAX_REGION_CHUNK, iter_region_chunks, diff --git a/PyMemoryEditor/util/pattern.py b/PyMemoryEditor/util/pattern.py new file mode 100644 index 0000000..95d9b17 --- /dev/null +++ b/PyMemoryEditor/util/pattern.py @@ -0,0 +1,114 @@ +# -*- coding: utf-8 -*- + +""" +Pattern compilation for "Array Of Bytes" (AOB) scanning — the technique used +by Cheat Engine, IDA, and most game-hacking tools to locate code/data that +shifts between builds. + +Two input shapes are accepted: + +1. **IDA-style** string with ``?`` / ``??`` wildcards:: + + compile_pattern("48 8B ? ? 00 00") + + Every space-separated token must be either two hex digits (``"48"``) or a + single/double ``?`` for a one-byte wildcard. Whitespace between tokens is + free-form. This is the format almost every public AOB recipe online uses. + +2. **Raw regex bytes** — passed through unchanged with ``re.DOTALL`` so that + the regex meta character ``.`` is allowed to match any byte (including + newlines, which is what you want when scanning binary memory):: + + compile_pattern(rb"\\x48\\x8B..\\x00\\x00") + +The function returns a compiled ``re.Pattern[bytes]`` ready to be used with +``finditer`` against memory chunks read from the target. +""" + +import re +from typing import Pattern, Tuple, Union + + +PatternLike = Union[str, bytes, "re.Pattern[bytes]"] + + +def compile_pattern( + pattern: PatternLike, + *, + byte_length: int = 0, +) -> Tuple["Pattern[bytes]", int]: + """Compile ``pattern`` into a bytes ``re.Pattern`` plus the **number of + bytes** each successful match consumes. + + Returns a ``(compiled_regex, byte_length)`` pair. The second value is the + width of one match in the target's memory — the scanner uses it to compute + chunk-overlap so a match straddling a chunk boundary still gets emitted. + + :param pattern: one of: + + * An **IDA-style hex string** with ``?`` / ``??`` wildcards + (``"48 8B ? ? 00"``) — most cheat-table dumps use this format. Each + token is one byte; the returned ``byte_length`` equals the number of + tokens. + * A **raw bytes regex** (``rb"\\x48\\x8B..\\x00"``). Compiled with + ``re.DOTALL`` so ``.`` matches any byte. **You must pass** + ``byte_length=`` for this form — there is no general way to infer + how many bytes a regex consumes. + * An **already-compiled** ``re.Pattern[bytes]``: same rule — you must + pass ``byte_length=``. + + :raises ValueError: malformed IDA-style token, or ``byte_length`` omitted + for a regex / pre-compiled pattern. + """ + if isinstance(pattern, re.Pattern): + if byte_length <= 0: + raise ValueError( + "byte_length= is required when passing a pre-compiled regex " + "(its source length is not the same as the matched length)." + ) + return pattern, byte_length + + if isinstance(pattern, bytes): + if byte_length <= 0: + raise ValueError( + "byte_length= is required when passing a raw bytes regex " + "(its source length is not the same as the matched length)." + ) + return re.compile(pattern, re.DOTALL), byte_length + + if not isinstance(pattern, str): + raise TypeError( + "Pattern must be str (IDA-style), bytes (regex) or a " + "compiled re.Pattern, not %r" % type(pattern).__name__ + ) + + tokens = pattern.split() + if not tokens: + raise ValueError("Empty pattern.") + + parts = [] + for token in tokens: + if token in ("?", "??"): + # Single-byte wildcard. ``.`` together with re.DOTALL matches any + # byte 0x00-0xFF without special-casing 0x0A. + parts.append(b".") + continue + if len(token) != 2: + raise ValueError( + "Pattern token %r is not two hex digits or a '?' wildcard. " + "Example of a valid pattern: '48 8B ? ? 00'." % token + ) + try: + byte = bytes.fromhex(token) + except ValueError as exc: + raise ValueError( + "Pattern token %r is not valid hex: %s" % (token, exc) + ) + # Escape the byte so e.g. 0x5C (backslash) or 0x28 ('(') don't get + # interpreted as regex meta chars. + parts.append(re.escape(byte)) + + return re.compile(b"".join(parts), re.DOTALL), len(tokens) + + +__all__ = ("compile_pattern", "PatternLike") diff --git a/PyMemoryEditor/win32/functions.py b/PyMemoryEditor/win32/functions.py index ea477f4..9bafe96 100644 --- a/PyMemoryEditor/win32/functions.py +++ b/PyMemoryEditor/win32/functions.py @@ -8,16 +8,23 @@ import ctypes import ctypes.wintypes +import logging from typing import Dict, Generator, Optional, Sequence, Tuple, Type, TypeVar, Union from ..enums import ScanTypesEnum from ..process.region import enrich_region -from ..process.scanning import iter_search_results, iter_values_for_addresses +from ..process.scanning import ( + iter_pattern_results, + iter_search_results, + iter_values_for_addresses, +) +from ..process.thread_info import ThreadInfo from ..util import ( _validate_pytype, get_c_type_of, values_to_bytes, ) +from ..util.pattern import PatternLike, compile_pattern from .enums import MemoryAllocationStatesEnum, MemoryProtectionsEnum, MemoryTypesEnum from .types import ( @@ -25,9 +32,14 @@ MEMORY_BASIC_INFORMATION_32, MEMORY_BASIC_INFORMATION_64, SYSTEM_INFO, + TH32CS_SNAPTHREAD, + THREADENTRY32, ) +_logger = logging.getLogger("PyMemoryEditor") + + # Load the libraries with `use_last_error=True` so that `ctypes.get_last_error()` # returns the per-call `GetLastError` set by the Win32 API. The default # `ctypes.windll.kernel32` accessor uses the shared `WinError` state and @@ -89,6 +101,27 @@ ) kernel32.IsWow64Process.restype = ctypes.wintypes.BOOL +# HANDLE CreateToolhelp32Snapshot(DWORD dwFlags, DWORD th32ProcessID); +# Snapshot of system threads (with TH32CS_SNAPTHREAD); per the docs, the +# ProcessID arg is ignored when SNAPTHREAD is set — the snapshot is global. +kernel32.CreateToolhelp32Snapshot.argtypes = ( + ctypes.wintypes.DWORD, + ctypes.wintypes.DWORD, +) +kernel32.CreateToolhelp32Snapshot.restype = ctypes.wintypes.HANDLE + +kernel32.Thread32First.argtypes = ( + ctypes.wintypes.HANDLE, + ctypes.POINTER(THREADENTRY32), +) +kernel32.Thread32First.restype = ctypes.wintypes.BOOL + +kernel32.Thread32Next.argtypes = ( + ctypes.wintypes.HANDLE, + ctypes.POINTER(THREADENTRY32), +) +kernel32.Thread32Next.restype = ctypes.wintypes.BOOL + system_information = SYSTEM_INFO() kernel32.GetSystemInfo(ctypes.byref(system_information)) @@ -332,6 +365,47 @@ def read_chunk(address: int, size: int): ) +def SearchAddressesByPattern( + process_handle: int, + pattern: PatternLike, + *, + byte_length: int = 0, + progress_information: bool = False, + memory_regions: Optional[Sequence[Dict]] = None, +) -> Generator[Union[int, Tuple[int, dict]], None, None]: + """ + AOB scan against every scannable region of the target process. See + :meth:`AbstractProcess.search_by_pattern`. + """ + compiled, length = compile_pattern(pattern, byte_length=byte_length) + + source_regions = ( + memory_regions + if memory_regions is not None + else GetMemoryRegions(process_handle) + ) + filtered_regions = [ + region + for region in source_regions + if _is_region_scannable(region, writeable_only=False) + ] + filtered_regions.sort(key=lambda region: region["address"]) + + def read_chunk(address: int, size: int): + # ``_read_region`` returns None on transient failures (page unmapped / + # made inaccessible mid-scan); the helper accepts None directly and + # skips the chunk — no exception classification needed here. + return _read_region(process_handle, address, size) + + yield from iter_pattern_results( + filtered_regions, + compiled, + length, + read_chunk, + progress_information=progress_information, + ) + + class _Win32ChunkReadError(OSError): """Raised internally when ReadProcessMemory returns 0 during chunked reads.""" @@ -397,6 +471,52 @@ def is_transient(exc: BaseException) -> bool: ) +def GetThreads(pid: int) -> Generator[ThreadInfo, None, None]: + """ + Yield a :class:`ThreadInfo` for every thread of the target process. + + Uses ``CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD)`` followed by + Thread32First/Next; this is the documented user-mode way to enumerate + threads on Windows without an extra dependency. Caller does not need a + process handle (and therefore no PROCESS_* permission) — the snapshot is + system-wide and we filter by ``th32OwnerProcessID``. + """ + snapshot = kernel32.CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0) + # Per the docs the function returns INVALID_HANDLE_VALUE (-1 cast to HANDLE) + # on failure; in ctypes that comes back as a falsy value once we read it. + if not snapshot or snapshot == ctypes.wintypes.HANDLE(-1).value: + _raise_last_error("CreateToolhelp32Snapshot") + + entry = THREADENTRY32() + entry.dwSize = ctypes.sizeof(entry) + + try: + if not kernel32.Thread32First(snapshot, ctypes.byref(entry)): + # Empty snapshot is legal (no threads visible). Log and bail. + _logger.debug( + "GetThreads: Thread32First returned 0 (snapshot empty for pid=%d)", + pid, + ) + return + + while True: + if entry.th32OwnerProcessID == pid: + yield ThreadInfo( + tid=entry.th32ThreadID, + start_address=None, + state=None, + priority=int(entry.tpBasePri), + raw=entry.th32ThreadID, + ) + # THREADENTRY32 is reused across iterations — reset dwSize each + # time per Microsoft's sample code. + entry.dwSize = ctypes.sizeof(entry) + if not kernel32.Thread32Next(snapshot, ctypes.byref(entry)): + break + finally: + kernel32.CloseHandle(snapshot) + + def WriteProcessMemory( process_handle: int, address: int, diff --git a/PyMemoryEditor/win32/process.py b/PyMemoryEditor/win32/process.py index afb680d..f2df290 100644 --- a/PyMemoryEditor/win32/process.py +++ b/PyMemoryEditor/win32/process.py @@ -8,13 +8,16 @@ from ..enums import ScanTypesEnum from ..process import AbstractProcess from ..process.errors import ClosedProcess +from ..process.thread_info import ThreadInfo from .enums import ProcessOperationsEnum from .functions import ( CloseProcessHandle, GetMemoryRegions, GetProcessHandle, + GetThreads, ReadProcessMemory, + SearchAddressesByPattern, SearchAddressesByValue, SearchValuesByAddresses, WriteProcessMemory, @@ -78,6 +81,7 @@ def __init__( pid: Optional[int] = None, permission: Union[ProcessOperationsEnum, int] = DEFAULT_PERMISSION, case_sensitive: bool = False, + exact_match: bool = True, ): """ :param process_name: name of the target process. @@ -90,11 +94,14 @@ def __init__( a read-only handle, or pass PROCESS_ALL_ACCESS for full control. :param case_sensitive: when False (default on Windows), process_name matching ignores case to align with the OS convention. + :param exact_match: when False, ``process_name`` is matched as a + substring (e.g. ``"chrome"`` finds ``"chrome.exe"``). """ super().__init__( process_name=process_name, pid=pid, case_sensitive=case_sensitive, + exact_match=exact_match, ) self.__closed = False @@ -150,6 +157,11 @@ def get_memory_regions(self) -> Generator[dict, None, None]: self.__require_open() return GetMemoryRegions(self.__process_handle) + def get_threads(self) -> Generator[ThreadInfo, None, None]: + self.__require_open() + # Toolhelp32 takes a PID, not a handle — no PROCESS_* right needed. + return GetThreads(self.pid) + def search_by_addresses( self, pytype: Type[T], @@ -200,6 +212,24 @@ def search_by_value( memory_regions=memory_regions, ) + def search_by_pattern( + self, + pattern, + *, + byte_length: int = 0, + progress_information: bool = False, + memory_regions: Optional[Sequence[Dict]] = None, + ) -> Generator[Union[int, Tuple[int, dict]], None, None]: + self.__require_open() + self.__require_read() + return SearchAddressesByPattern( + self.__process_handle, + pattern, + byte_length=byte_length, + progress_information=progress_information, + memory_regions=memory_regions, + ) + def search_by_value_between( self, pytype: Type[T], diff --git a/PyMemoryEditor/win32/types.py b/PyMemoryEditor/win32/types.py index 38886f9..d7c3f94 100644 --- a/PyMemoryEditor/win32/types.py +++ b/PyMemoryEditor/win32/types.py @@ -61,3 +61,21 @@ class SYSTEM_INFO(Structure): if sizeof(c_void_p) == 8 else MEMORY_BASIC_INFORMATION_32 ) + + +# TH32CS_SNAPTHREAD flag for CreateToolhelp32Snapshot — used by get_threads(). +TH32CS_SNAPTHREAD = 0x00000004 + + +class THREADENTRY32(Structure): + """Layout matching the Win32 ``THREADENTRY32`` returned by Thread32First/Next.""" + + _fields_ = [ + ("dwSize", wintypes.DWORD), + ("cntUsage", wintypes.DWORD), + ("th32ThreadID", wintypes.DWORD), + ("th32OwnerProcessID", wintypes.DWORD), + ("tpBasePri", wintypes.LONG), + ("tpDeltaPri", wintypes.LONG), + ("dwFlags", wintypes.DWORD), + ] diff --git a/README.md b/README.md index 67ecf87..f480e3e 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,8 @@ reading, writing and searching values in the process memory.

Quick Start · Usage Guide · + Pattern Scan · + Pointer Chains · Platform Notes · The App · Contributing @@ -41,6 +43,8 @@ reading, writing and searching values in the process memory. | **Read & write memory** | Change live values on the fly — just like Cheat Engine, but in a few lines of Python. | | **Pure-Python via `ctypes`** | No compilation, no native wheels — `pip install` and you're done. | | **Scan modes** | Exact, not-exact, bigger / smaller (±equal), in-range, out-of-range. | +| **Pattern scan (AOB)** | Find code or data by byte signature with `?` wildcards — IDA / Cheat-Engine style. | +| **Pointer chains** | Walk multi-level pointers (`[[base+0x10]+0x20]+0x30`) in one call. | | **Snapshot caching** | The Cheat-Engine "scan → refine → refine" loop, accelerated. | | **Bundled GUI app** | A full memory scanner ships in the box — just type `pymemoryeditor`. | @@ -214,6 +218,37 @@ for region in process.get_memory_regions(): print(hex(region["address"]), region["size"], region["struct"]) ``` +### 🎯 Pattern scan (AOB) — find code or data by signature + +When addresses move between builds, **byte patterns don't**. Drop in an IDA-style +hex string with `?` wildcards and PyMemoryEditor will find every match — the same +trick Cheat Engine, IDA and Ghidra use to anchor onto a moving target. + +```python +for address in process.search_by_pattern("48 8B ? ? 00 00 89 ?"): + print(f"Match at 0x{address:X}") +``` + +Prefer a raw bytes regex? Pass it through — just tell us how many bytes one +match consumes: + +```python +process.search_by_pattern(rb"\x48\x8B..\x00\x00", byte_length=6) +``` + +### 🔗 Pointer chains — survive a process restart + +Cheat Engine cheat tables describe pointers as `module + offset → [+x] → [+y] → …`. +Walk the whole chain in one line, then read or write the final address as usual: + +```python +# "game.exe"+0x10F4F4 -> [+0x0] -> [+0x158] (HP, from a cheat-table dump) +hp_address = process.resolve_pointer_chain(base + 0x10F4F4, [0x0, 0x158]) +hp = process.read_process_memory(hp_address, int, 4) +``` + +`ptr_size=4` for 32-bit targets, `ptr_size=8` (default) for 64-bit. + --- ## Platform Notes diff --git a/tests/test_logger.py b/tests/test_logger.py new file mode 100644 index 0000000..2642177 --- /dev/null +++ b/tests/test_logger.py @@ -0,0 +1,99 @@ +# -*- coding: utf-8 -*- + +""" +Tests for the package-level ``PyMemoryEditor`` logger. + +The logger is silent by default (NullHandler attached at import time) — these +tests attach a memory handler to capture emissions, then trigger code paths +that should log DEBUG events. +""" + +import logging + +import pytest + + +@pytest.fixture +def log_capture(): + """Attach a list-based handler to the PyMemoryEditor logger for the test.""" + records = [] + + class _ListHandler(logging.Handler): + def emit(self, record): + records.append(record) + + logger = logging.getLogger("PyMemoryEditor") + handler = _ListHandler(level=logging.DEBUG) + previous_level = logger.level + logger.addHandler(handler) + logger.setLevel(logging.DEBUG) + try: + yield records + finally: + logger.removeHandler(handler) + logger.setLevel(previous_level) + + +def test_logger_is_silent_by_default(): + """ + A fresh import attaches a NullHandler — calls to ``logger.debug(...)`` + must not surface anywhere unless the consumer adds a handler. + """ + logger = logging.getLogger("PyMemoryEditor") + # At least one handler — the NullHandler installed at import time. + assert logger.handlers, "expected at least one handler (NullHandler) attached" + # NullHandler swallows messages: emitting at DEBUG must not raise. + logger.debug("smoke test message") + + +def test_logger_module_exported(): + """The logger is also exported at the package top level.""" + import PyMemoryEditor + + assert PyMemoryEditor.logger is logging.getLogger("PyMemoryEditor") + + +def test_logger_captures_emit(log_capture): + """Sanity check: when a handler is attached, DEBUG records reach it.""" + logger = logging.getLogger("PyMemoryEditor") + logger.debug("hello %s", "world") + assert len(log_capture) == 1 + record = log_capture[0] + assert record.levelno == logging.DEBUG + assert record.getMessage() == "hello world" + + +def test_logger_emits_during_scanning_skip(log_capture): + """ + Triggering a real scan against the current process — which always has + a few unreadable regions — must log DEBUG entries from the iter_* + helpers when they skip those chunks. + """ + import os + import sys + + if sys.platform not in ("win32", "darwin") and not sys.platform.startswith("linux"): + pytest.skip("Platform not supported by PyMemoryEditor") + + from PyMemoryEditor import OpenProcess + + with OpenProcess(pid=os.getpid()) as p: + # A scan over the whole address space will touch unreadable chunks on + # every supported platform; the logger should record at least one + # skip. We don't iterate fully — just enough to ensure the loop runs. + for _ in p.search_by_value(int, 4, 0xCAFEBABE): + break + + # Some platforms may not log a skip on every run (a self-process scan may + # be entirely successful in a particular environment); when that happens, + # the test is inconclusive rather than failing. The point of this test is + # to confirm the logger is wired in — exercise it where possible without + # being flaky. + if not log_capture: + pytest.skip( + "no scan skips observed in this run — wiring is sound but this " + "environment didn't trip a transient skip" + ) + + debug_messages = [r.getMessage() for r in log_capture if r.levelno == logging.DEBUG] + assert debug_messages, "expected at least one DEBUG message during scanning" diff --git a/tests/test_partial_name_match.py b/tests/test_partial_name_match.py new file mode 100644 index 0000000..b5899d3 --- /dev/null +++ b/tests/test_partial_name_match.py @@ -0,0 +1,111 @@ +# -*- coding: utf-8 -*- + +""" +Tests for the ``exact_match`` flag on process-name lookup. Uses ``psutil`` +directly to derive the current process's real name from the OS, then +verifies that: + +* an exact-name lookup finds it, +* a partial (substring) lookup finds it, +* a substring lookup that cannot match anything returns nothing. + +Avoids relying on a specific executable being installed. +""" + +import os +import sys + +import psutil +import pytest + +from PyMemoryEditor.process.util import ( + get_process_id_by_process_name, + get_process_ids_by_process_name, +) + + +_OWN_PROCESS_NAME = psutil.Process(os.getpid()).name() or "" + + +@pytest.fixture(scope="module") +def own_name(): + """The OS-reported name of the test process (e.g. ``python3.12``).""" + if not _OWN_PROCESS_NAME: + pytest.skip("psutil cannot read this process's name on this platform") + return _OWN_PROCESS_NAME + + +def test_exact_match_finds_self(own_name): + pids = get_process_ids_by_process_name(own_name, exact_match=True) + assert os.getpid() in pids + + +def test_exact_match_does_not_find_substring(own_name): + """Substring of the name must NOT match in exact mode.""" + if len(own_name) <= 2: + pytest.skip("process name too short to test substring rejection") + substring = own_name[: len(own_name) // 2] + if substring == own_name: + pytest.skip("substring equals full name") + pids = get_process_ids_by_process_name(substring, exact_match=True) + assert os.getpid() not in pids + + +def test_partial_match_finds_self_by_substring(own_name): + """A leading substring of the name must match when exact_match=False.""" + if len(own_name) <= 2: + pytest.skip("process name too short to test substring matching") + substring = own_name[: max(2, len(own_name) // 2)] + pids = get_process_ids_by_process_name(substring, exact_match=False) + assert os.getpid() in pids + + +def test_partial_match_case_insensitive(own_name): + """Combined with case_sensitive=False, swapping case still matches.""" + swapped = own_name.swapcase() + if swapped == own_name: + pytest.skip("process name has no alphabetic characters") + pids = get_process_ids_by_process_name( + swapped, exact_match=False, case_sensitive=False + ) + assert os.getpid() in pids + + +def test_partial_match_no_results_for_garbage(): + """An impossible substring returns an empty list, not a false positive.""" + garbage = "definitely_not_a_real_process_name_zzzzzzz_42" + pids = get_process_ids_by_process_name(garbage, exact_match=False) + assert pids == [] + + +def test_get_single_returns_none_for_garbage(): + """The single-result helper returns None when no process matches.""" + garbage = "definitely_not_a_real_process_name_zzzzzzz_42" + assert ( + get_process_id_by_process_name(garbage, exact_match=False) is None + ) + + +@pytest.mark.skipif( + sys.platform not in ("win32", "darwin") and not sys.platform.startswith("linux"), + reason="Platform not supported by PyMemoryEditor", +) +def test_openprocess_accepts_exact_match_kwarg(own_name): + """OpenProcess plumbs exact_match through to the lookup.""" + from PyMemoryEditor import OpenProcess + + # Don't lean on a known unique name — only that the kwarg is accepted + # without raising TypeError and the resulting PID is ours when the name + # is unique enough to match exactly one process. + pids = get_process_ids_by_process_name(own_name, exact_match=True) + if len(pids) != 1: + pytest.skip( + "more than one process shares this name; OpenProcess would raise " + "AmbiguousProcessNameError — not what this test is checking" + ) + + process = OpenProcess(process_name=own_name, exact_match=True) + try: + assert process.pid == os.getpid() + finally: + process.close() diff --git a/tests/test_pattern_compile.py b/tests/test_pattern_compile.py new file mode 100644 index 0000000..b36e306 --- /dev/null +++ b/tests/test_pattern_compile.py @@ -0,0 +1,129 @@ +# -*- coding: utf-8 -*- + +""" +Unit tests for PyMemoryEditor.util.pattern.compile_pattern. + +These tests don't touch process memory — they validate the pattern compiler +in isolation so a regression in pattern parsing fails fast and clearly +instead of as a no-match in the scan loop. +""" + +import re + +import pytest + +from PyMemoryEditor.util.pattern import compile_pattern + + +def test_ida_style_basic(): + """A plain hex string compiles and matches its own bytes.""" + pattern, length = compile_pattern("48 8B 90") + assert length == 3 + assert pattern.search(b"\x48\x8B\x90") is not None + assert pattern.search(b"\x48\x8B\x91") is None + + +def test_ida_style_wildcard_single_question(): + """`?` is a one-byte wildcard.""" + pattern, length = compile_pattern("48 ? 90") + assert length == 3 + assert pattern.search(b"\x48\x00\x90") is not None + assert pattern.search(b"\x48\xFF\x90") is not None + # Wildcard must NOT match more or fewer than one byte. + assert pattern.search(b"\x48\x90") is None + + +def test_ida_style_wildcard_double_question(): + """`??` is the alternate one-byte wildcard syntax — same semantics as `?`.""" + pattern, length = compile_pattern("48 ?? 90") + assert length == 3 + assert pattern.search(b"\x48\xAB\x90") is not None + + +def test_ida_style_multiple_wildcards(): + pattern, length = compile_pattern("DE AD ? ? EF") + assert length == 5 + assert pattern.search(b"\xDE\xAD\xBE\xEF\xEF") is not None + assert pattern.search(b"\xDE\xAD\x00\x00\xEF") is not None + + +def test_ida_style_irregular_whitespace(): + """Multiple spaces/tabs/newlines between tokens are fine.""" + pattern, length = compile_pattern("48 8B\t90\n00") + assert length == 4 + assert pattern.search(b"\x48\x8B\x90\x00") is not None + + +def test_ida_style_lowercase_hex(): + """Lower-case hex digits should be accepted as well as upper-case.""" + pattern, length = compile_pattern("de ad be ef") + assert length == 4 + assert pattern.search(b"\xDE\xAD\xBE\xEF") is not None + + +def test_ida_style_escapes_regex_specials(): + """ + Bytes like 0x5C (``\\``), 0x28 (``(``) or 0x2E (``.``) are regex + meta chars. The compiler must escape them so the pattern still matches + the literal byte and not interpret it as regex syntax. + """ + # 0x5C, 0x28 and 0x2E are all regex specials. + pattern, length = compile_pattern("5C 28 2E") + assert length == 3 + assert pattern.search(b"\x5C\x28\x2E") is not None + # If 0x2E was left as a regex `.`, the next match would falsely succeed: + assert pattern.search(b"\x5C\x28\x00") is None + + +def test_ida_style_rejects_bad_token(): + # Token has the right length but contains non-hex digits — the compiler + # routes this through bytes.fromhex which raises a different message + # than the "wrong length" branch above. Match either of the two ValueError + # phrasings to keep the test resilient to minor message changes. + with pytest.raises(ValueError, match="(not valid hex|not two hex digits)"): + compile_pattern("48 8B Z9") + + +def test_ida_style_rejects_single_digit_token(): + with pytest.raises(ValueError, match="not two hex digits"): + compile_pattern("48 8 90") + + +def test_ida_style_rejects_empty(): + with pytest.raises(ValueError, match="Empty pattern"): + compile_pattern(" ") + + +def test_bytes_regex_requires_explicit_length(): + """Bytes regex without ``byte_length=`` must error — the source length + is not a reliable proxy for the matched length.""" + with pytest.raises(ValueError, match="byte_length"): + compile_pattern(rb"\x48\x8B") + + +def test_bytes_regex_with_explicit_length(): + """Bytes regex compiles with DOTALL — ``.`` matches any byte (incl. 0x0A).""" + pattern, length = compile_pattern(rb"\x48\x8B..", byte_length=4) + assert length == 4 + assert pattern.search(b"\x48\x8B\x0A\x0B") is not None + # The dot must even match newline bytes (DOTALL is the key): + assert pattern.search(b"\x48\x8B\n\n") is not None + + +def test_compiled_pattern_passthrough(): + """Passing an already-compiled re.Pattern returns it unchanged.""" + precompiled = re.compile(rb"\xDE\xAD", re.DOTALL) + pattern, length = compile_pattern(precompiled, byte_length=2) + assert pattern is precompiled + assert length == 2 + + +def test_compiled_pattern_requires_explicit_length(): + precompiled = re.compile(rb"\xDE\xAD", re.DOTALL) + with pytest.raises(ValueError, match="byte_length"): + compile_pattern(precompiled) + + +def test_rejects_unsupported_input_type(): + with pytest.raises(TypeError, match="Pattern must be"): + compile_pattern(12345) # type: ignore[arg-type] diff --git a/tests/test_pattern_scan.py b/tests/test_pattern_scan.py new file mode 100644 index 0000000..4b426db --- /dev/null +++ b/tests/test_pattern_scan.py @@ -0,0 +1,118 @@ +# -*- coding: utf-8 -*- + +""" +Integration tests for ``process.search_by_pattern`` against the current +process. Plants a known marker on the test's own stack, then verifies that +the scanner finds it via: + +* a literal IDA-style pattern, +* an IDA-style pattern with wildcards, +* a raw bytes regex (``re.DOTALL``). + +All tests use ``OpenProcess(pid=os.getpid())`` — no special privilege needed +on any of the three supported platforms. +""" + +import ctypes +import os +import sys + +import pytest + +if sys.platform not in ("win32", "darwin") and not sys.platform.startswith("linux"): + pytest.skip("Platform not supported by PyMemoryEditor", allow_module_level=True) + + +from PyMemoryEditor import OpenProcess # noqa: E402 + + +# A reasonably distinctive marker — eight bytes give us enough entropy that +# random other matches in the test process's address space are unlikely. +_MARKER = b"\x90\x90\xDE\xAD\xBE\xEF\xCA\xFE" + + +@pytest.fixture +def planted_marker(): + """Create a buffer holding the marker; yield (address, marker_bytes).""" + buf = ctypes.create_string_buffer(_MARKER, len(_MARKER)) + yield ctypes.addressof(buf), _MARKER + # `buf` stays alive for the entire test fixture scope — GC collects it + # after the test returns, at which point the address may be reused. + + +def test_pattern_scan_finds_exact_marker(planted_marker): + address, _ = planted_marker + with OpenProcess(pid=os.getpid()) as process: + hits = list(process.search_by_pattern("90 90 DE AD BE EF CA FE")) + assert address in hits, ( + "expected scan to find the planted marker at 0x%X among %d hits" + % (address, len(hits)) + ) + + +def test_pattern_scan_with_wildcards(planted_marker): + """Wildcards on the middle bytes still locate the marker.""" + address, _ = planted_marker + with OpenProcess(pid=os.getpid()) as process: + hits = list(process.search_by_pattern("90 90 ? ? BE EF CA FE")) + assert address in hits + + +def test_pattern_scan_bytes_regex(planted_marker): + """Bytes regex with explicit byte_length.""" + address, _ = planted_marker + with OpenProcess(pid=os.getpid()) as process: + hits = list( + process.search_by_pattern( + rb"\xDE\xAD\xBE\xEF\xCA\xFE", byte_length=6 + ) + ) + # The 6-byte slice starts 2 bytes into the marker. + assert (address + 2) in hits + + +def test_pattern_scan_progress_information(planted_marker): + """``progress_information=True`` yields (address, info) tuples.""" + address, _ = planted_marker + with OpenProcess(pid=os.getpid()) as process: + items = list( + process.search_by_pattern( + "90 90 DE AD BE EF CA FE", progress_information=True + ) + ) + assert items, "expected at least one hit" + + # Validate shape of the first tuple. + addr, info = items[0] + assert isinstance(addr, int) + assert "progress" in info + assert "memory_total" in info + assert 0.0 <= info["progress"] <= 1.0 + + # The planted marker must be one of the addresses. + assert any(item[0] == address for item in items) + + +def test_pattern_scan_no_match(): + """A pattern that cannot exist in our address space yields no hits.""" + # 16 random-looking bytes; the chance of a coincidence is effectively zero. + with OpenProcess(pid=os.getpid()) as process: + hits = list( + process.search_by_pattern( + "DE AD BE EF C0 DE F0 0D FE ED BA BE 13 37 C0 DE" + ) + ) + assert hits == [] + + +def test_pattern_scan_accepts_memory_regions_snapshot(planted_marker): + """Passing a pre-built region snapshot must produce the same matches.""" + address, _ = planted_marker + with OpenProcess(pid=os.getpid()) as process: + snapshot = process.snapshot_memory_regions() + hits_with_snapshot = list( + process.search_by_pattern( + "90 90 DE AD BE EF CA FE", memory_regions=snapshot + ) + ) + assert address in hits_with_snapshot diff --git a/tests/test_pointer_chain.py b/tests/test_pointer_chain.py new file mode 100644 index 0000000..bdc12fe --- /dev/null +++ b/tests/test_pointer_chain.py @@ -0,0 +1,166 @@ +# -*- coding: utf-8 -*- + +""" +Tests for ``AbstractProcess.resolve_pointer_chain``. Builds a chain of +ctypes pointers on the test's own heap and verifies that walking the chain +recovers the final address — the same operation Cheat Engine performs to +locate values that survive a process restart. +""" + +import ctypes +import os +import sys + +import pytest + +if sys.platform not in ("win32", "darwin") and not sys.platform.startswith("linux"): + pytest.skip("Platform not supported by PyMemoryEditor", allow_module_level=True) + + +from PyMemoryEditor import OpenProcess # noqa: E402 + + +@pytest.fixture +def process(): + """Open `OpenProcess` against the current process for the whole module.""" + handle = OpenProcess(pid=os.getpid()) + try: + yield handle + finally: + handle.close() + + +def test_resolve_empty_offsets_dereferences_once(process): + """ + With ``offsets=[]``, resolve_pointer_chain must dereference base once + and return the resulting pointer — no further walking, no offset added. + """ + target = ctypes.c_int(0xCAFEF00D) + pointer_holder = ctypes.c_uint64(ctypes.addressof(target)) + + resolved = process.resolve_pointer_chain(ctypes.addressof(pointer_holder), []) + + assert resolved == ctypes.addressof(target) + + +def test_resolve_two_level_chain(process): + """``[base] → [ptr1+0] → ptr2+0`` resolves to the deepest address.""" + target = ctypes.c_int(0xDEADBEEF) + level1 = ctypes.c_uint64(ctypes.addressof(target)) + level0 = ctypes.c_uint64(ctypes.addressof(level1)) + + # Walk two levels, no extra offset on the last hop. + resolved = process.resolve_pointer_chain( + ctypes.addressof(level0), [0, 0] + ) + + assert resolved == ctypes.addressof(target) + # And reading at the resolved address yields the value we planted. + value = process.read_process_memory(resolved, int, 4) + assert (value & 0xFFFFFFFF) == 0xDEADBEEF + + +def test_resolve_chain_with_offsets(process): + """A chain whose last hop adds a non-zero offset returns base+offset.""" + # Layout: a struct-like buffer with two int fields, plus a pointer to it. + pair = (ctypes.c_int * 2)(0x11111111, 0x22222222) + pointer_holder = ctypes.c_uint64(ctypes.addressof(pair)) + + # offsets[-1] = 4 — points to the second int, *without* extra dereference. + resolved = process.resolve_pointer_chain( + ctypes.addressof(pointer_holder), [4] + ) + + second_int_address = ctypes.addressof(pair) + 4 + assert resolved == second_int_address + + value = process.read_process_memory(resolved, int, 4) + assert (value & 0xFFFFFFFF) == 0x22222222 + + +def test_resolve_four_level_chain_with_large_offsets(process): + """ + Walk a four-level pointer chain whose every offset is greater than 100 — + same shape as the deep cheat-table dumps people share for modern games + (e.g. ``"game.exe"+0x10F4F4 -> [+0x68] -> [+0x90] -> [+0xC8] -> [+0x158]``). + + Each level is a 256-byte buffer holding the pointer to the next level at + a non-trivial offset, so the test exercises pointer arithmetic that has + *nothing* in common with the "all-zeros" happy path. + """ + level_size = 256 + offsets = [104, 128, 152, 200] # all > 100, all distinct, none aligned with each other + target_value = 0xABCD1234 + + # Innermost level holds the value we want to recover, parked at the deep + # offset rather than at the start of the buffer. + level4 = (ctypes.c_uint8 * level_size)() + ctypes.memmove( + ctypes.addressof(level4) + offsets[3], + ctypes.byref(ctypes.c_int32(target_value)), + 4, + ) + + # Each intermediate level stores the *address* of the next level at the + # appropriate offset. memmove of a c_uint64 writes 8 raw bytes in native + # byte order — exactly what the resolver will read back. + level3 = (ctypes.c_uint8 * level_size)() + ctypes.memmove( + ctypes.addressof(level3) + offsets[2], + ctypes.byref(ctypes.c_uint64(ctypes.addressof(level4))), + 8, + ) + + level2 = (ctypes.c_uint8 * level_size)() + ctypes.memmove( + ctypes.addressof(level2) + offsets[1], + ctypes.byref(ctypes.c_uint64(ctypes.addressof(level3))), + 8, + ) + + level1 = (ctypes.c_uint8 * level_size)() + ctypes.memmove( + ctypes.addressof(level1) + offsets[0], + ctypes.byref(ctypes.c_uint64(ctypes.addressof(level2))), + 8, + ) + + # Base just holds a raw pointer to level1 (no offset on the first hop). + base = ctypes.c_uint64(ctypes.addressof(level1)) + + resolved = process.resolve_pointer_chain(ctypes.addressof(base), offsets) + + expected = ctypes.addressof(level4) + offsets[3] + assert resolved == expected, ( + "4-level chain resolved to 0x%X, expected 0x%X" % (resolved, expected) + ) + + # And the value at the final address must be the one we planted. + value = process.read_process_memory(resolved, int, 4) + assert (value & 0xFFFFFFFF) == target_value + + +def test_resolve_rejects_invalid_ptr_size(process): + target = ctypes.c_int(1) + pointer_holder = ctypes.c_uint64(ctypes.addressof(target)) + with pytest.raises(ValueError, match="ptr_size"): + process.resolve_pointer_chain( + ctypes.addressof(pointer_holder), [], ptr_size=5 + ) + + +def test_resolve_unsigned_pointer_decoding(process): + """ + A pointer whose top bit is set must be returned as a positive int, not + sign-extended. We don't always have a pointer in the upper half of the + address space available, but we can fabricate one by writing arbitrary + bytes and checking the decoding directly via ptr_size=4 to keep the + bit-pattern controllable on every platform. + """ + raw = ctypes.c_uint32(0xFFFFFFFF) + resolved = process.resolve_pointer_chain( + ctypes.addressof(raw), [], ptr_size=4 + ) + # If sign-extension leaked through, ``resolved`` would be negative. + assert resolved == 0xFFFFFFFF + assert resolved > 0 diff --git a/tests/test_thread_enumeration.py b/tests/test_thread_enumeration.py new file mode 100644 index 0000000..069c621 --- /dev/null +++ b/tests/test_thread_enumeration.py @@ -0,0 +1,134 @@ +# -*- coding: utf-8 -*- + +""" +Cross-platform tests for ``AbstractProcess.get_threads`` and the +``main_thread`` property. Spawns a few extra Python threads in the test +process so we can verify that the enumeration sees more than just one. +""" + +import os +import sys +import threading +import time + +import pytest + +if sys.platform not in ("win32", "darwin") and not sys.platform.startswith("linux"): + pytest.skip("Platform not supported by PyMemoryEditor", allow_module_level=True) + + +from PyMemoryEditor import OpenProcess, ThreadInfo # noqa: E402 + + +@pytest.fixture +def extra_threads(): + """ + Start a handful of long-running Python threads, yield to the test, then + signal them to exit. Each spinning thread bumps the kernel-visible + thread count for the duration of the test — without that we'd be + racing with the GIL/GC threads to assert ``len(threads) > 1`` and the + test could pass coincidentally. + """ + stop = threading.Event() + + def _spin(): + while not stop.is_set(): + time.sleep(0.05) + + threads = [threading.Thread(target=_spin, daemon=True) for _ in range(3)] + for t in threads: + t.start() + + # Give the OS a moment to actually schedule the new threads — without + # this delay, Toolhelp32 (Windows) and task_threads (macOS) sometimes + # snapshot before the threads have been registered. + time.sleep(0.1) + + try: + yield threads + finally: + stop.set() + for t in threads: + t.join(timeout=2.0) + + +def test_get_threads_returns_thread_infos(extra_threads): + """Each yielded item must be a ``ThreadInfo`` with a non-negative tid.""" + with OpenProcess(pid=os.getpid()) as process: + threads = list(process.get_threads()) + + assert threads, "expected at least one thread" + for info in threads: + assert isinstance(info, ThreadInfo) + assert isinstance(info.tid, int) + assert info.tid >= 0 + + +def test_get_threads_sees_extra_threads(extra_threads): + """The spinning threads from the fixture must show up in the enumeration.""" + with OpenProcess(pid=os.getpid()) as process: + threads = list(process.get_threads()) + + # The exact mapping from Python ``Thread.ident`` to the OS-visible tid is + # platform-specific (and on macOS, Mach port names don't match POSIX + # tids), so we can't compare ident-to-tid directly. Instead we assert + # the *count*: with 3 extra spinning threads, the main thread, plus + # Python's GC / runtime helpers, the count must comfortably exceed 1. + assert len(threads) > 1, ( + "expected get_threads() to see at least the main + 1 spinning thread; " + "got %d" % len(threads) + ) + + +def test_get_threads_yields_unique_tids(extra_threads): + """``tid`` should be unique within the snapshot.""" + with OpenProcess(pid=os.getpid()) as process: + tids = [t.tid for t in process.get_threads()] + + assert len(tids) == len(set(tids)), "duplicate tids in enumeration" + + +def test_main_thread_is_smallest_tid(extra_threads): + """``main_thread`` returns the ThreadInfo with the smallest tid.""" + with OpenProcess(pid=os.getpid()) as process: + all_threads = list(process.get_threads()) + main = process.main_thread + + assert main is not None + assert main.tid == min(t.tid for t in all_threads) + + +def test_thread_info_is_hashable_and_comparable(): + """``ThreadInfo`` is a frozen dataclass — usable as dict keys / set members.""" + info_a = ThreadInfo(tid=42) + info_b = ThreadInfo(tid=42) + info_c = ThreadInfo(tid=43) + + # Frozen dataclasses get __eq__ + __hash__ from the dataclass decorator. + assert info_a == info_b + assert info_a != info_c + # ``raw`` is excluded from equality (compare=False) so two entries from + # different snapshots with the same tid still compare equal. + info_d = ThreadInfo(tid=42, raw="snapshot-1") + info_e = ThreadInfo(tid=42, raw="snapshot-2") + assert info_d == info_e + + # And hashable: + {info_a, info_b, info_c} + + +@pytest.mark.skipif( + not sys.platform.startswith("linux"), + reason="Linux-specific: /proc//task//stat exposes state/priority", +) +def test_linux_threads_populate_state_and_priority(extra_threads): + """Linux backend should fill ``state`` and ``priority`` from /proc/.../stat.""" + with OpenProcess(pid=os.getpid()) as process: + threads = list(process.get_threads()) + + # Not every entry — the file can vanish between listdir and open — but + # at least one should have parsed values. + has_state = any(t.state is not None for t in threads) + has_priority = any(t.priority is not None for t in threads) + assert has_state, "expected at least one thread to have a state field" + assert has_priority, "expected at least one thread to have a priority field" From 93b2eebbfaed2b839bb89531fe366a5266636e78 Mon Sep 17 00:00:00 2001 From: JeanExtreme002 Date: Tue, 26 May 2026 17:00:17 -0300 Subject: [PATCH 2/7] feat(app): expose pattern scan, pointer chain, threads and log console in the Qt app MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ScannerPanel gains an "AOB Pattern (IDA)" value type that routes through search_by_pattern; scan-type/length controls and "Next Scan" are hidden in pattern mode since they don't apply. - New Threads dialog (Tools → Threads, Ctrl+T): sortable TID/state/priority table with optional auto-refresh, backed by get_threads(). - New Resolve Pointer Chain dialog (Tools, toolbar, Ctrl+Shift+P): Cheat- Engine-style chain of "[+ hex ]" offset slots with a "+" to add hops and "×" to remove them; a "Base is a pointer" toggle switches between dereferencing (CE tables) and direct address + struct offsets; resolved addresses can be promoted into the cheat table. - New Log Console dialog (Tools, Ctrl+L): live view of the "PyMemoryEditor" logger via a thread-safe handler. App modules now log captured errors (hex viewer / cheat write / scan worker / pointer chain) through child loggers so they surface in the console. --- PyMemoryEditor/app/cheat_table.py | 12 + PyMemoryEditor/app/log_console_dialog.py | 198 +++++++++ PyMemoryEditor/app/main_window.py | 110 +++++ PyMemoryEditor/app/memory_viewer_dialog.py | 19 + PyMemoryEditor/app/pointer_chain_dialog.py | 445 +++++++++++++++++++++ PyMemoryEditor/app/scan_worker.py | 15 +- PyMemoryEditor/app/scanner_panel.py | 72 +++- PyMemoryEditor/app/threads_dialog.py | 232 +++++++++++ PyMemoryEditor/app/value_types.py | 47 +++ 9 files changed, 1145 insertions(+), 5 deletions(-) create mode 100644 PyMemoryEditor/app/log_console_dialog.py create mode 100644 PyMemoryEditor/app/pointer_chain_dialog.py create mode 100644 PyMemoryEditor/app/threads_dialog.py diff --git a/PyMemoryEditor/app/cheat_table.py b/PyMemoryEditor/app/cheat_table.py index 5b2a4cb..6b821ce 100644 --- a/PyMemoryEditor/app/cheat_table.py +++ b/PyMemoryEditor/app/cheat_table.py @@ -17,6 +17,7 @@ """ import copy import json +import logging from typing import Dict, List, Optional, Tuple from PySide6.QtCore import Qt, QTimer @@ -55,6 +56,9 @@ # poll-interval constant from this module before the split. _TICK_INTERVAL_MS = TICK_INTERVAL_MS +# Child of "PyMemoryEditor" — the Log Console captures these via propagation. +_LOG = logging.getLogger(__name__) + class CheatTable(QWidget): """Bottom pane: saved addresses, freezing, manual edits.""" @@ -286,6 +290,14 @@ def _on_cell_changed(self, row: int, column: int) -> None: QMessageBox.critical( self, "Write Failed", f"{type(exc).__name__}: {exc}" ) + _LOG.warning( + "Cheat-table write failed at 0x%X (%s, %dB): %s: %s", + entry.address, + entry.spec.pytype.__name__, + entry.length, + type(exc).__name__, + exc, + ) return entry.last_value = value diff --git a/PyMemoryEditor/app/log_console_dialog.py b/PyMemoryEditor/app/log_console_dialog.py new file mode 100644 index 0000000..380adc2 --- /dev/null +++ b/PyMemoryEditor/app/log_console_dialog.py @@ -0,0 +1,198 @@ +# -*- coding: utf-8 -*- +""" +Log console — a live view of the ``PyMemoryEditor`` logger. + +The library logs DEBUG events when scanning helpers skip transient pages +(unmapped, no-access, partial reads) and WARNING when something +recovers-but-leaks state (macOS mach_vm_protect couldn't restore). This +dialog attaches a custom :class:`logging.Handler` to the ``PyMemoryEditor`` +logger and streams records into a read-only text view — useful to +understand what the library is doing during a noisy scan without dropping +to the terminal. + +Cross-thread emit safety: the underlying scan workers run on QThreads. The +``Handler.emit`` method runs on whichever thread called the logger, so we +hop to the UI thread via a ``Qt.QueuedConnection`` signal before touching +the widget. +""" +import logging +from typing import Optional + +from PySide6.QtCore import QObject, Qt, Signal +from PySide6.QtGui import QFont +from PySide6.QtWidgets import ( + QCheckBox, + QComboBox, + QDialog, + QHBoxLayout, + QLabel, + QPlainTextEdit, + QPushButton, + QVBoxLayout, +) + + +_LOGGER_NAME = "PyMemoryEditor" + +# Levels offered in the UI, in increasing order of severity. +_LEVELS = ( + ("DEBUG", logging.DEBUG), + ("INFO", logging.INFO), + ("WARNING", logging.WARNING), + ("ERROR", logging.ERROR), +) + + +class _QtLogSignal(QObject): + """Tiny QObject that owns the cross-thread signal. + + A ``logging.Handler`` is not itself a QObject and can't carry signals; + composing one here keeps the handler thread-safe (emit happens via Qt's + queued event loop) without inheriting from two unrelated base classes. + """ + + line_emitted = Signal(str) + + +class _QtLogHandler(logging.Handler): + """``logging.Handler`` that forwards formatted records to a Qt signal.""" + + def __init__(self) -> None: + super().__init__() + self.bridge = _QtLogSignal() + + def emit(self, record: logging.LogRecord) -> None: + try: + line = self.format(record) + except Exception: # noqa: BLE001 — never let logging crash callers + return + # The signal is connected with Qt.QueuedConnection by the dialog so + # the actual widget update happens on the UI thread. + self.bridge.line_emitted.emit(line) + + +class LogConsoleDialog(QDialog): + """Live view of the PyMemoryEditor logger.""" + + # The dialog can be opened/closed repeatedly; we attach the handler on + # open and detach on close so the library doesn't keep growing handler + # lists across sessions. + + def __init__(self, parent=None): + super().__init__(parent) + self._handler: Optional[_QtLogHandler] = None + self._logger = logging.getLogger(_LOGGER_NAME) + # Snapshot the logger's level so we can put it back on close — the + # user opening this dialog should not silently raise the global + # verbosity for code that runs after the dialog is dismissed. + self._previous_level = self._logger.level + + self.setWindowTitle("PyMemoryEditor — Log Console") + self.resize(820, 480) + + self._build_ui() + self._attach_handler(level=logging.DEBUG) + self._apply_level("DEBUG") + + def _build_ui(self) -> None: + layout = QVBoxLayout(self) + layout.setContentsMargins(14, 14, 14, 14) + layout.setSpacing(10) + + header = QLabel( + "Log Console" + "  logger = \"PyMemoryEditor\"" + ) + header.setTextFormat(Qt.RichText) + layout.addWidget(header) + + hint = QLabel( + "Records emitted by the library while this dialog is open. " + "DEBUG-level entries surface transient skips during scans; " + "WARNING entries flag recovered-but-noisy conditions." + ) + hint.setObjectName("hint") + hint.setWordWrap(True) + layout.addWidget(hint) + + bar = QHBoxLayout() + bar.setSpacing(8) + + bar.addWidget(QLabel("Level:")) + self._level_combo = QComboBox() + for label, _ in _LEVELS: + self._level_combo.addItem(label) + self._level_combo.setCurrentText("DEBUG") + self._level_combo.currentTextChanged.connect(self._apply_level) + bar.addWidget(self._level_combo) + + self._autoscroll_check = QCheckBox("Auto-scroll") + self._autoscroll_check.setChecked(True) + bar.addWidget(self._autoscroll_check) + + bar.addStretch(1) + + clear_btn = QPushButton("Clear") + clear_btn.clicked.connect(self._on_clear) + bar.addWidget(clear_btn) + + close_btn = QPushButton("Close") + close_btn.clicked.connect(self.accept) + bar.addWidget(close_btn) + + layout.addLayout(bar) + + self._console = QPlainTextEdit() + self._console.setReadOnly(True) + self._console.setFont(QFont("Menlo, Consolas, Courier New", 10)) + self._console.setLineWrapMode(QPlainTextEdit.NoWrap) + # Cap the buffer so a long-running auto-scan doesn't grow the dialog + # memory unboundedly. ~5000 lines is plenty for live debugging. + self._console.setMaximumBlockCount(5000) + layout.addWidget(self._console, 1) + + def _attach_handler(self, level: int) -> None: + handler = _QtLogHandler() + handler.setLevel(level) + handler.setFormatter( + logging.Formatter("%(asctime)s %(levelname)-7s %(message)s", "%H:%M:%S") + ) + # QueuedConnection ensures the widget update happens on the UI thread + # even when the log record was emitted from a scan worker QThread. + handler.bridge.line_emitted.connect( + self._console_append, Qt.ConnectionType.QueuedConnection + ) + self._logger.addHandler(handler) + if self._logger.level == logging.NOTSET or self._logger.level > level: + self._logger.setLevel(level) + self._handler = handler + + def _apply_level(self, label: str) -> None: + level = dict(_LEVELS).get(label, logging.DEBUG) + if self._handler is not None: + self._handler.setLevel(level) + if self._logger.level == logging.NOTSET or self._logger.level > level: + self._logger.setLevel(level) + + def _console_append(self, line: str) -> None: + self._console.appendPlainText(line) + if self._autoscroll_check.isChecked(): + sb = self._console.verticalScrollBar() + sb.setValue(sb.maximum()) + + def _on_clear(self) -> None: + self._console.clear() + + def closeEvent(self, event): # noqa: N802 — Qt naming + # Detach the handler so the library doesn't keep emitting into a + # dialog the user has dismissed. Don't lower the logger level past + # what the caller had configured before us. + if self._handler is not None: + try: + self._handler.bridge.line_emitted.disconnect() + except (RuntimeError, TypeError): + pass + self._logger.removeHandler(self._handler) + self._handler = None + self._logger.setLevel(self._previous_level) + super().closeEvent(event) diff --git a/PyMemoryEditor/app/main_window.py b/PyMemoryEditor/app/main_window.py index b9f7cf0..154f9c9 100644 --- a/PyMemoryEditor/app/main_window.py +++ b/PyMemoryEditor/app/main_window.py @@ -16,6 +16,7 @@ +------------------------------------------------------------+ """ import json +import logging import sys from typing import List, Optional, Union @@ -46,14 +47,21 @@ from ._icon import app_icon from .application import DEFAULT_THEME_ID, THEMES, apply_theme +from .cheat_entry import CheatEntry from .cheat_table import CheatTable +from .log_console_dialog import LogConsoleDialog from .memory_map_dialog import MemoryMapDialog from .memory_viewer_dialog import MemoryViewerDialog +from .pointer_chain_dialog import PointerChainDialog from .results_view import ResultsModel, ResultsView from .scan_worker import FirstScanWorker, RefineScanWorker, ScanRequest from .scanner_panel import ScannerPanel +from .threads_dialog import ThreadsDialog +# Child of "PyMemoryEditor" — the Log Console captures these via propagation. +_LOG = logging.getLogger(__name__) + # Cadence at which we poll psutil to check the target process is still alive. # 2 s is brisk enough that a dead target's cleanup happens before the user # tries to refine a scan, but slow enough to keep the cost negligible. @@ -80,6 +88,13 @@ def __init__(self, process: AbstractProcess): self.setWindowIcon(app_icon()) self.resize(1280, 780) + # Lazy slots for the new dialogs — instantiated on first open, + # cached so subsequent opens reuse the same window (matches the + # behavior of the existing memory_map dialog). + self._threads_dialog: Optional[ThreadsDialog] = None + self._pointer_chain_dialog: Optional[PointerChainDialog] = None + self._log_console_dialog: Optional[LogConsoleDialog] = None + self._build_ui() # Heartbeat — make sure the target process is still alive. If it @@ -221,6 +236,23 @@ def _build_menu_and_toolbar(self) -> None: hex_viewer_action.triggered.connect(lambda: self._open_hex_viewer(0)) tools_menu.addAction(hex_viewer_action) + threads_action = QAction("Threads…", self) + threads_action.setShortcut(QKeySequence("Ctrl+T")) + threads_action.triggered.connect(self._open_threads_dialog) + tools_menu.addAction(threads_action) + + pointer_chain_action = QAction("Resolve Pointer Chain…", self) + pointer_chain_action.setShortcut(QKeySequence("Ctrl+Shift+P")) + pointer_chain_action.triggered.connect(self._open_pointer_chain_dialog) + tools_menu.addAction(pointer_chain_action) + + tools_menu.addSeparator() + + log_console_action = QAction("Log Console…", self) + log_console_action.setShortcut(QKeySequence("Ctrl+L")) + log_console_action.triggered.connect(self._open_log_console) + tools_menu.addAction(log_console_action) + refresh_snapshot = QAction("Refresh Region Snapshot", self) refresh_snapshot.triggered.connect(self._refresh_region_snapshot) tools_menu.addAction(refresh_snapshot) @@ -234,6 +266,7 @@ def _build_menu_and_toolbar(self) -> None: toolbar.setMovable(False) toolbar.addAction(memory_map_action) toolbar.addAction(hex_viewer_action) + toolbar.addAction(pointer_chain_action) toolbar.addSeparator() toolbar.addAction(export_results) @@ -401,6 +434,14 @@ def _fill_initial_values(self, request: ScanRequest) -> None: # Don't recurse into another scan if the user has already triggered one. if self._worker is not None: return + # AOB pattern matches don't have a "current value" the way a numeric + # scan does — read_process_memory with the spec's (bytes, length=0) + # would error, and even with a non-zero length the bytes are the same + # ones the pattern already located. Skip the auto-refresh and leave + # the value column empty — the user can promote rows to the cheat + # table for a live preview there. + if request.spec.is_pattern: + return self._on_update_values(request) def _on_new_scan(self) -> None: @@ -439,6 +480,7 @@ def _on_refresh_done(self, _kept: int) -> None: self._scanner.set_has_results(self._results_model.count() > 0) def _on_worker_error(self, message: str) -> None: + _LOG.error("Scan worker error: %s", message) QMessageBox.critical(self, "Scan error", message) self._status.showMessage(message) @@ -476,6 +518,63 @@ def _on_memory_map_closed(self, _result: int) -> None: self._region_snapshot = snap self._memory_map = None + def _open_threads_dialog(self) -> None: + if self._threads_dialog is None: + self._threads_dialog = ThreadsDialog(self._process, self) + self._threads_dialog.finished.connect(self._on_threads_dialog_closed) + else: + self._threads_dialog.refresh() + self._threads_dialog.show() + self._threads_dialog.raise_() + self._threads_dialog.activateWindow() + + def _on_threads_dialog_closed(self, _result: int) -> None: + self._threads_dialog = None + + def _open_pointer_chain_dialog(self) -> None: + if self._pointer_chain_dialog is None: + self._pointer_chain_dialog = PointerChainDialog(self._process, self) + self._pointer_chain_dialog.add_to_cheat_table.connect( + self._on_pointer_chain_promote + ) + self._pointer_chain_dialog.finished.connect( + self._on_pointer_chain_dialog_closed + ) + self._pointer_chain_dialog.show() + self._pointer_chain_dialog.raise_() + self._pointer_chain_dialog.activateWindow() + + def _on_pointer_chain_dialog_closed(self, _result: int) -> None: + self._pointer_chain_dialog = None + + def _on_pointer_chain_promote( + self, address: int, spec_label: str, length: int + ) -> None: + """Promote a resolved pointer-chain address into the cheat table.""" + entry = CheatEntry( + description="", + address=int(address), + spec_label=spec_label, + length=int(length), + ) + self._cheat.add_entry(entry) + self._status.showMessage( + f"Added 0x{address:X} to cheat table (from pointer chain)." + ) + + def _open_log_console(self) -> None: + if self._log_console_dialog is None: + self._log_console_dialog = LogConsoleDialog(self) + self._log_console_dialog.finished.connect( + self._on_log_console_closed + ) + self._log_console_dialog.show() + self._log_console_dialog.raise_() + self._log_console_dialog.activateWindow() + + def _on_log_console_closed(self, _result: int) -> None: + self._log_console_dialog = None + def _open_hex_viewer(self, address: int) -> None: self._open_hex_viewer_with_size(address, 256) @@ -603,6 +702,17 @@ def _change_process(self) -> None: self._region_snapshot = None self._results_model.clear() self._scanner.set_has_results(False) + + # Tear down auxiliary dialogs that hold a reference to the old + # process — reopening them rebuilds against the new target. + for dialog_attr in ( + "_threads_dialog", + "_pointer_chain_dialog", + ): + existing = getattr(self, dialog_attr, None) + if existing is not None: + existing.close() + setattr(self, dialog_attr, None) # Replace the cheat table — old entries point at the previous process. # QSplitter has no QLayout, so we use its native replaceWidget(index). old_cheat = self._cheat diff --git a/PyMemoryEditor/app/memory_viewer_dialog.py b/PyMemoryEditor/app/memory_viewer_dialog.py index 9d88aca..466d3ce 100644 --- a/PyMemoryEditor/app/memory_viewer_dialog.py +++ b/PyMemoryEditor/app/memory_viewer_dialog.py @@ -5,6 +5,7 @@ Polls the chosen address range at a configurable interval (Cheat Engine-style "auto-refresh") so the user can watch values change live. """ +import logging from typing import Optional from PySide6.QtCore import QTimer @@ -26,6 +27,10 @@ from ._widgets import parse_hex_address +# Child of the "PyMemoryEditor" logger, so the Log Console (which attaches a +# handler to "PyMemoryEditor") picks these up via propagation. +_LOG = logging.getLogger(__name__) + _BYTES_PER_LINE = 16 @@ -153,6 +158,13 @@ def refresh(self) -> None: except Exception as exc: # noqa: BLE001 — surface every backend error self._dump.setPlainText("") self._status.setText(f"Read failed: {type(exc).__name__}: {exc}") + _LOG.warning( + "Hex viewer read failed at 0x%X (%d bytes): %s: %s", + addr, + size, + type(exc).__name__, + exc, + ) return if not isinstance(data, (bytes, bytearray)): @@ -202,6 +214,13 @@ def _write_bytes(self) -> None: QMessageBox.critical( self, "Memory Viewer", f"Write failed:\n\n{type(exc).__name__}: {exc}" ) + _LOG.warning( + "Hex viewer write failed at 0x%X (%d bytes): %s: %s", + addr, + len(data), + type(exc).__name__, + exc, + ) return self._status.setText(f"Wrote {len(data)} bytes to 0x{addr:X}.") self.refresh() diff --git a/PyMemoryEditor/app/pointer_chain_dialog.py b/PyMemoryEditor/app/pointer_chain_dialog.py new file mode 100644 index 0000000..0a623da --- /dev/null +++ b/PyMemoryEditor/app/pointer_chain_dialog.py @@ -0,0 +1,445 @@ +# -*- coding: utf-8 -*- +""" +Pointer-chain dialog — exposes ``process.resolve_pointer_chain()``. + +The intent is to be a *direct paste path* from a Cheat-Engine cheat table. +Cheat-Engine writes chains like:: + + "game.exe" + 0x10F4F4 -> [+0x0] -> [+0x158] ; HP + +This dialog asks for: + +* a **base address** in hex, +* the **list of offsets** (the bracketed steps, comma-separated, hex), +* the **pointer size** (4 for 32-bit targets, 8 for 64-bit). + +Then it walks the chain, surfaces the final address, reads the value with +the chosen value type, and offers an *"Add to cheat table"* shortcut that +emits a signal the main window picks up — so the resolved address survives +into the regular freeze/refresh loop. + +Same construction shape as the existing Memory Map / Hex Viewer dialogs +(small, self-contained, no background worker because the chain walk is +already fast). +""" +import logging +from typing import List, Optional, Tuple + +from PySide6.QtCore import Qt, Signal +from PySide6.QtGui import QFont, QGuiApplication +from PySide6.QtWidgets import ( + QCheckBox, + QComboBox, + QDialog, + QFormLayout, + QHBoxLayout, + QLabel, + QLineEdit, + QMessageBox, + QPushButton, + QScrollArea, + QSpinBox, + QToolButton, + QVBoxLayout, + QWidget, +) + +from PyMemoryEditor import AbstractProcess + +from ._widgets import parse_hex_address +from .value_types import VALUE_TYPES, ValueTypeSpec, find_spec + + +# Child of "PyMemoryEditor" — surfaced by the Log Console via propagation. +_LOG = logging.getLogger(__name__) + + +class _OffsetField(QWidget): + """One slot in the offsets chain — visually ``[+ ]``. + + Cheat-Engine notation uses ``[+0x10] -> [+0x20]`` to show a pointer + walk; we mirror that with a label-input-label triple per offset so the + "list of offsets" reads as a chain instead of as a free-form text field. + The trailing ``×`` removes this field; the parent dialog hides the + button when only one slot remains. + """ + + removed = Signal(object) # self + + def __init__(self, parent=None) -> None: + super().__init__(parent) + layout = QHBoxLayout(self) + layout.setContentsMargins(0, 0, 0, 0) + layout.setSpacing(2) + + prefix = QLabel("[+") + prefix.setObjectName("hint") + layout.addWidget(prefix) + + self.edit = QLineEdit() + self.edit.setPlaceholderText("0") + self.edit.setFixedWidth(80) + self.edit.setFont(QFont("Menlo, Consolas, Courier New", 10)) + layout.addWidget(self.edit) + + suffix = QLabel("]") + suffix.setObjectName("hint") + layout.addWidget(suffix) + + self.remove_btn = QToolButton(self) + self.remove_btn.setText("×") + self.remove_btn.setToolTip("Remove this offset") + self.remove_btn.setFixedSize(20, 20) + self.remove_btn.clicked.connect(lambda: self.removed.emit(self)) + layout.addWidget(self.remove_btn) + + def text(self) -> str: + return self.edit.text().strip() + + +class PointerChainDialog(QDialog): + """Walk a multi-level pointer chain and surface the final address.""" + + # qulonglong: addresses regularly exceed Qt's signed-32-bit default. + add_to_cheat_table = Signal( + "qulonglong", str, int + ) # (resolved_address, spec_label, length) + + def __init__(self, process: AbstractProcess, parent=None): + super().__init__(parent) + self._process = process + self._resolved_address: Optional[int] = None + + self.setWindowTitle(f"Resolve Pointer Chain — PID {process.pid}") + self.resize(640, 460) + + self._build_ui() + + def _build_ui(self) -> None: + layout = QVBoxLayout(self) + layout.setContentsMargins(14, 14, 14, 14) + layout.setSpacing(10) + + header = QLabel( + "Resolve Pointer Chain" + ) + header.setTextFormat(Qt.RichText) + layout.addWidget(header) + + hint = QLabel( + "Paste a Cheat Engine-style chain. The base address can be a static " + "offset inside the executable (module base + offset) or a known " + "pointer in memory." + ) + hint.setObjectName("hint") + hint.setWordWrap(True) + layout.addWidget(hint) + + form = QFormLayout() + form.setHorizontalSpacing(10) + form.setVerticalSpacing(8) + + self._base_edit = QLineEdit() + self._base_edit.setPlaceholderText("e.g. 0x14010F4F4 (hex)") + form.addRow("Base address:", self._base_edit) + + # Offsets row — Cheat-Engine style chain of "[+ hex ]" slots with a + # trailing "+" button to add another hop. Wrapped in a horizontal + # scroll area so deep chains (10+ levels) don't blow up the dialog + # width. + self._offset_fields: List[_OffsetField] = [] + + offsets_container = QWidget() + self._offsets_row = QHBoxLayout(offsets_container) + self._offsets_row.setContentsMargins(0, 0, 0, 0) + self._offsets_row.setSpacing(4) + + # The "+" button lives in the layout and stays at the right end; we + # insert new fields just *before* it via insertWidget(index-1, …). + self._add_offset_btn = QToolButton() + self._add_offset_btn.setText("+") + self._add_offset_btn.setToolTip("Add another offset (one more hop in the chain)") + self._add_offset_btn.setFixedSize(28, 24) + self._add_offset_btn.clicked.connect(lambda: self._add_offset_field()) + self._offsets_row.addWidget(self._add_offset_btn) + self._offsets_row.addStretch(1) + + offsets_scroll = QScrollArea() + offsets_scroll.setWidget(offsets_container) + offsets_scroll.setWidgetResizable(True) + offsets_scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarAsNeeded) + offsets_scroll.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff) + offsets_scroll.setFrameShape(QScrollArea.NoFrame) + offsets_scroll.setFixedHeight(40) + form.addRow("Offsets:", offsets_scroll) + + # Start with a single empty slot so the dialog isn't blank. + self._add_offset_field() + + self._ptr_size_combo = QComboBox() + self._ptr_size_combo.addItem("8 bytes (64-bit)", 8) + self._ptr_size_combo.addItem("4 bytes (32-bit)", 4) + form.addRow("Pointer size:", self._ptr_size_combo) + + # The CE-style chain assumes ``base`` is a *static slot* in the + # executable that holds a pointer (so we dereference once before + # walking offsets). Users who paste a *direct* address (e.g. from + # the Memory Map or a fresh scan) want ``base`` to be the final + # address itself — offsets in that case are struct-field offsets, + # added without any extra dereference. + self._deref_check = QCheckBox( + "Base is a pointer (dereference it, then walk offsets)" + ) + self._deref_check.setChecked(True) + self._deref_check.setToolTip( + "Checked (Cheat-Engine style): base address holds a pointer; " + "the resolver reads that pointer, then dereferences again on each " + "offset.\n\n" + "Unchecked: base is the final address itself. Offsets are added " + "without dereferencing — useful when you pasted an address from " + "the Memory Map or want a struct field at base+offset." + ) + form.addRow("", self._deref_check) + + self._value_type_combo = QComboBox() + for spec in VALUE_TYPES: + self._value_type_combo.addItem(spec.label) + form.addRow("Read value as:", self._value_type_combo) + + self._length_spin = QSpinBox() + self._length_spin.setRange(1, 1024) + self._length_spin.setValue(4) + self._length_spin.setSuffix(" bytes") + self._value_type_combo.currentTextChanged.connect(self._on_value_type_changed) + form.addRow("Length:", self._length_spin) + + layout.addLayout(form) + + # The primary/secondary/danger QSS rules add `padding: 7px 14px; + # min-height: 20px`, making those buttons taller than a plain + # QPushButton (5px 12px). Apply the same padding to the neutral + # buttons so the whole row lines up at the Resolve button's height. + _equal_height = "padding: 7px 14px; min-height: 20px;" + + button_row = QHBoxLayout() + self._resolve_btn = QPushButton("Resolve") + self._resolve_btn.setObjectName("secondary") + self._resolve_btn.setDefault(True) + self._resolve_btn.clicked.connect(self._on_resolve) + button_row.addWidget(self._resolve_btn) + + self._copy_addr_btn = QPushButton("Copy address") + self._copy_addr_btn.setStyleSheet(_equal_height) + self._copy_addr_btn.clicked.connect(self._on_copy_address) + self._copy_addr_btn.setEnabled(False) + button_row.addWidget(self._copy_addr_btn) + + self._add_to_cheat_btn = QPushButton("Add to cheat table") + self._add_to_cheat_btn.setStyleSheet(_equal_height) + self._add_to_cheat_btn.clicked.connect(self._on_add_to_cheat) + self._add_to_cheat_btn.setEnabled(False) + button_row.addWidget(self._add_to_cheat_btn) + + button_row.addStretch(1) + + close_btn = QPushButton("Close") + close_btn.setStyleSheet(_equal_height) + close_btn.clicked.connect(self.accept) + button_row.addWidget(close_btn) + layout.addLayout(button_row) + + layout.addSpacing(8) + + self._output_label = QLabel("Resolved address: —") + self._output_label.setObjectName("hint") + self._output_label.setFont(QFont("Menlo, Consolas, Courier New", 11)) + self._output_label.setTextInteractionFlags( + Qt.TextInteractionFlag.TextSelectableByMouse + ) + layout.addWidget(self._output_label) + + self._value_label = QLabel("Value: —") + self._value_label.setFont(QFont("Menlo, Consolas, Courier New", 11)) + self._value_label.setTextInteractionFlags( + Qt.TextInteractionFlag.TextSelectableByMouse + ) + layout.addWidget(self._value_label) + + layout.addStretch(1) + + # Sync default spec/length so the spin shows the right value at open. + self._on_value_type_changed(self._value_type_combo.currentText()) + + def _add_offset_field(self) -> _OffsetField: + """Append a fresh offset slot before the ``+`` button.""" + field = _OffsetField(self) + field.removed.connect(self._remove_offset_field) + # Layout order is [field, field, …, "+" btn, stretch]. New entries go + # in position (count - 2) so they land *before* the "+" button. + insert_index = max(0, self._offsets_row.count() - 2) + self._offsets_row.insertWidget(insert_index, field) + self._offset_fields.append(field) + field.edit.setFocus() + self._update_remove_buttons() + return field + + def _remove_offset_field(self, field: _OffsetField) -> None: + """Drop ``field`` from the chain — unless it's the only one left.""" + if field not in self._offset_fields: + return + if len(self._offset_fields) == 1: + # Always keep at least one slot so the user has somewhere to type; + # clearing the input is the closest "remove" we can do here. + field.edit.clear() + return + self._offset_fields.remove(field) + self._offsets_row.removeWidget(field) + field.setParent(None) + field.deleteLater() + self._update_remove_buttons() + + def _update_remove_buttons(self) -> None: + """Hide the ``×`` on the only-remaining field so the chain never collapses.""" + only_one = len(self._offset_fields) <= 1 + for field in self._offset_fields: + field.remove_btn.setVisible(not only_one) + + def _read_offsets(self) -> Optional[List[int]]: + """Collect non-empty offsets in order; return None if any one is invalid.""" + offsets: List[int] = [] + for field in self._offset_fields: + text = field.text() + if not text: + continue + parsed = parse_hex_address(text) + if parsed is None: + # parse_hex_address only handles full hex addresses with or + # without ``0x``; try a plain hex int as a fallback for tokens + # like ``"10"`` that look ambiguous (decimal vs hex). The + # whole dialog treats offsets as hex, matching Cheat Engine. + try: + parsed = int(text, 16) + except ValueError: + return None + offsets.append(parsed) + return offsets + + def _on_value_type_changed(self, label: str) -> None: + spec = find_spec(label) + if spec is None: + return + self._length_spin.setEnabled(spec.accepts_length_override) + if not spec.accepts_length_override: + self._length_spin.setValue(spec.length) + elif spec.pytype is bytes: + self._length_spin.setValue(max(4, self._length_spin.value())) + else: + self._length_spin.setValue(16) + + def _current_spec(self) -> Tuple[ValueTypeSpec, int]: + spec = find_spec(self._value_type_combo.currentText()) or VALUE_TYPES[0] + length = self._length_spin.value() if spec.accepts_length_override else spec.length + return spec, int(length) + + def _on_resolve(self) -> None: + base_text = self._base_edit.text().strip() + if not base_text: + QMessageBox.warning(self, "Resolve", "Enter a base address first.") + return + + base = parse_hex_address(base_text) + if base is None: + QMessageBox.warning( + self, + "Resolve", + "Base address must be hex (e.g. 0x14010F4F4 or 14010F4F4).", + ) + return + + offsets = self._read_offsets() + if offsets is None: + QMessageBox.warning( + self, + "Resolve", + "Every offset must be hex (e.g. 0x10, 158, 0xC8). " + "Leave a slot empty to skip it, or click × to remove it.", + ) + return + + ptr_size = int(self._ptr_size_combo.currentData()) + dereference = self._deref_check.isChecked() + + if dereference: + try: + resolved = self._process.resolve_pointer_chain( + base, offsets, ptr_size=ptr_size + ) + except Exception as exc: # noqa: BLE001 + QMessageBox.critical( + self, + "Resolve", + "Could not walk the chain — typically one of the " + "intermediate pointers is invalid. If the base is already " + "the final address (e.g. from the Memory Map), uncheck " + "\"Base is a pointer\".\n\n" + f"{type(exc).__name__}: {exc}", + ) + _LOG.warning( + "Pointer chain resolve failed (base=0x%X, offsets=%s, " + "ptr_size=%d): %s: %s", + base, + offsets, + ptr_size, + type(exc).__name__, + exc, + ) + self._resolved_address = None + self._output_label.setText("Resolved address: —") + self._value_label.setText("Value: —") + self._copy_addr_btn.setEnabled(False) + self._add_to_cheat_btn.setEnabled(False) + return + hop_summary = f"walked {len(offsets)} hop(s)" + else: + # Raw mode: just add the offsets together. No syscalls — the + # resolver semantics here are "base + sum(offsets)". + resolved = base + sum(offsets) + hop_summary = ( + "direct (no dereference)" if not offsets + else f"base + sum of {len(offsets)} offset(s)" + ) + + self._resolved_address = resolved + self._output_label.setText( + f"Resolved address: 0x{resolved:X} ({hop_summary})" + ) + + spec, length = self._current_spec() + try: + value = self._process.read_process_memory( + resolved, spec.pytype, length + ) + except Exception as exc: # noqa: BLE001 + self._value_label.setText( + f"Value: " + ) + else: + try: + formatted = spec.format(value) + except Exception: # noqa: BLE001 + formatted = repr(value) + self._value_label.setText(f"Value ({spec.label}): {formatted}") + + self._copy_addr_btn.setEnabled(True) + self._add_to_cheat_btn.setEnabled(True) + + def _on_copy_address(self) -> None: + if self._resolved_address is None: + return + QGuiApplication.clipboard().setText(f"{self._resolved_address:X}") + + def _on_add_to_cheat(self) -> None: + if self._resolved_address is None: + return + spec, length = self._current_spec() + self.add_to_cheat_table.emit(self._resolved_address, spec.label, length) diff --git a/PyMemoryEditor/app/scan_worker.py b/PyMemoryEditor/app/scan_worker.py index 029657d..73be44b 100644 --- a/PyMemoryEditor/app/scan_worker.py +++ b/PyMemoryEditor/app/scan_worker.py @@ -84,7 +84,18 @@ def __init__(self, process: AbstractProcess, request: ScanRequest, parent=None): def run(self) -> None: req = self._request try: - if req.scan_type in ( + # AOB pattern path: req.value is the IDA-style pattern string, + # routed through search_by_pattern. writeable_only doesn't apply + # (pattern scan filters by readability internally; restricting to + # writable-only would silently miss code-section signatures, which + # is the most common AOB use case). + if req.spec.is_pattern: + generator = self._process.search_by_pattern( + req.value, + progress_information=True, + memory_regions=req.memory_regions, + ) + elif req.scan_type in ( ScanTypesEnum.VALUE_BETWEEN, ScanTypesEnum.NOT_VALUE_BETWEEN, ): @@ -140,6 +151,7 @@ def run(self) -> None: self.progress.emit(100.0) self.finished_ok.emit(count) except Exception as exc: # noqa: BLE001 — surface every backend error to the UI + _LOG.warning("First scan failed: %s: %s", type(exc).__name__, exc) self.error.emit(f"{type(exc).__name__}: {exc}") @@ -235,4 +247,5 @@ def run(self) -> None: self.progress.emit(100.0) self.finished_ok.emit(kept) except Exception as exc: # noqa: BLE001 — surface every backend error to the UI + _LOG.warning("Refine scan failed: %s: %s", type(exc).__name__, exc) self.error.emit(f"{type(exc).__name__}: {exc}") diff --git a/PyMemoryEditor/app/scanner_panel.py b/PyMemoryEditor/app/scanner_panel.py index b3c6e2b..fd7d0cf 100644 --- a/PyMemoryEditor/app/scanner_panel.py +++ b/PyMemoryEditor/app/scanner_panel.py @@ -187,21 +187,51 @@ def use_snapshot_cache(self) -> bool: def _refresh_buttons(self) -> None: scanning = self._busy + spec = find_spec(self._type_combo.currentText()) + is_pattern = bool(spec and spec.is_pattern) + self._first_scan_btn.setEnabled(not scanning and not self._has_results) - self._next_scan_btn.setEnabled(not scanning and self._has_results) + # "Next Scan" refines by re-checking the value at each address — that + # concept doesn't apply to a pattern (re-scanning the pattern would + # just re-emit the same addresses), so we hide that path in AOB mode. + self._next_scan_btn.setEnabled( + not scanning and self._has_results and not is_pattern + ) self._update_btn.setEnabled(not scanning and self._has_results) self._new_scan_btn.setEnabled(self._has_results and not scanning) self._cancel_btn.setEnabled(scanning) self._type_combo.setEnabled(not scanning and not self._has_results) - self._scan_combo.setEnabled(not scanning) + # Scan-type combo is *always* disabled in pattern mode (forced to EXACT). + self._scan_combo.setEnabled(not scanning and not is_pattern) self._writable_check.setEnabled(not scanning and not self._has_results) def _on_type_changed(self, label: str) -> None: spec = find_spec(label) if spec is None: return - self._length_spin.setEnabled(spec.accepts_length_override) - if spec.accepts_length_override: + + is_pattern = spec.is_pattern + + # AOB pattern mode reuses the "Value" line for the pattern string and + # hides / forces the rest of the value-shape controls (length, + # second value, scan-type combo) because none of them apply to + # pattern matching. + self._length_spin.setEnabled( + spec.accepts_length_override and not is_pattern + ) + + if is_pattern: + self._value_edit.setPlaceholderText( + 'e.g. "48 8B ? ? 00 00" (IDA-style hex with ? wildcards)' + ) + else: + self._value_edit.setPlaceholderText("e.g. 100 or 0x64 or Hello") + + if is_pattern: + # No meaningful length for an AOB pattern; the scanner derives it. + self._length_spin.setValue(1) + self._length_spin.setSuffix(" bytes") + elif spec.accepts_length_override: if spec.pytype is bytes: self._length_spin.setValue(max(4, self._length_spin.value())) self._length_spin.setSuffix(" bytes") @@ -212,6 +242,23 @@ def _on_type_changed(self, label: str) -> None: self._length_spin.setValue(spec.length) self._length_spin.setSuffix(" bytes") + # Force EXACT_VALUE on pattern mode and disable the scan-type combo + # (Bigger Than / Smaller Than / Between are meaningless for patterns). + if is_pattern: + for index, (_, scan_type) in enumerate(SCAN_TYPE_CHOICES): + if scan_type is ScanTypesEnum.EXACT_VALUE: + self._scan_combo.setCurrentIndex(index) + break + # Ranges + pattern don't mix — make sure the "second value" is + # hidden if a range type was selected before switching to pattern. + self._second_value_edit.hide() + self._second_value_label.hide() + self._scan_combo.setEnabled(not is_pattern and not self._busy) + + # The pattern/non-pattern flag also drives Next-Scan availability, so + # let _refresh_buttons re-evaluate now that the type has flipped. + self._refresh_buttons() + def _on_scan_type_changed(self, index: int) -> None: _, scan_type = SCAN_TYPE_CHOICES[index] ranged = scan_type in ( @@ -228,6 +275,23 @@ def _build_request(self, *, with_value: bool = True) -> Optional[ScanRequest]: _, scan_type = SCAN_TYPE_CHOICES[self._scan_combo.currentIndex()] + # AOB pattern path — value is the pattern string, scan_type is always + # EXACT (the combo was forced + disabled by _on_type_changed), and + # length is irrelevant (the scanner derives it from the pattern). + if spec.is_pattern: + try: + value, length = parse_value(spec, self._value_edit.text()) + except ValueError as exc: + QMessageBox.warning(self, "Invalid pattern", str(exc)) + return None + return ScanRequest( + spec=spec, + length=int(length), + scan_type=ScanTypesEnum.EXACT_VALUE, + value=None if not with_value else value, + writeable_only=self._writable_check.isChecked(), + ) + length_override = ( self._length_spin.value() if spec.accepts_length_override else None ) diff --git a/PyMemoryEditor/app/threads_dialog.py b/PyMemoryEditor/app/threads_dialog.py new file mode 100644 index 0000000..0ea0e88 --- /dev/null +++ b/PyMemoryEditor/app/threads_dialog.py @@ -0,0 +1,232 @@ +# -*- coding: utf-8 -*- +""" +Threads dialog — exposes ``process.get_threads()``. + +Shows every thread the target process currently has, in a sortable table, +with optional auto-refresh. The intent mirrors Cheat Engine's "Process → +Threads" window: you don't typically *act* on threads directly, but seeing +them is useful for introspection (how many workers does this game have? +is the main thread alive?). The optional auto-refresh polls at ~1 Hz so +you can watch threads come and go. + +Lives alongside the existing Memory Map dialog — same shape, same patterns +(background worker, toolbar with Refresh, sortable table, Close button). +""" +from typing import List, Optional + +from PySide6.QtCore import Qt, QThread, QTimer, Signal +from PySide6.QtGui import QStandardItem, QStandardItemModel +from PySide6.QtWidgets import ( + QAbstractItemView, + QCheckBox, + QDialog, + QHBoxLayout, + QHeaderView, + QLabel, + QMessageBox, + QPushButton, + QSpinBox, + QTableView, + QVBoxLayout, +) + +from PyMemoryEditor import AbstractProcess, ThreadInfo + +from ._widgets import NumericItem + + +class _ThreadsWorker(QThread): + """Background thread that runs ``process.get_threads()`` off the UI.""" + + threads_ready = Signal(object) # List[ThreadInfo] + threads_failed = Signal(str) + + def __init__(self, process: AbstractProcess, parent=None): + super().__init__(parent) + self._process = process + + def run(self) -> None: + try: + threads = list(self._process.get_threads()) + except Exception as exc: # noqa: BLE001 + self.threads_failed.emit(str(exc)) + return + self.threads_ready.emit(threads) + + +class ThreadsDialog(QDialog): + """Lists the output of ``get_threads()`` in a sortable table.""" + + def __init__(self, process: AbstractProcess, parent=None): + super().__init__(parent) + self._process = process + self._threads: List[ThreadInfo] = [] + self._worker: Optional[_ThreadsWorker] = None + + self.setWindowTitle(f"Threads — PID {process.pid}") + self.resize(640, 520) + + self._build_ui() + + # Auto-refresh timer; off by default. The interval is matched to the + # main window's heartbeat so the user only sees consistent data even + # if both fire on the same tick. + self._timer = QTimer(self) + self._timer.timeout.connect(self.refresh) + + self.refresh() + + def _build_ui(self) -> None: + layout = QVBoxLayout(self) + layout.setContentsMargins(14, 14, 14, 14) + layout.setSpacing(10) + + header = QLabel( + f"Threads" + f"  PID {self._process.pid}" + ) + header.setTextFormat(Qt.RichText) + layout.addWidget(header) + + self._count_label = QLabel("") + self._count_label.setObjectName("hint") + layout.addWidget(self._count_label) + + bar = QHBoxLayout() + bar.setSpacing(8) + + self._refresh_btn = QPushButton("Refresh") + self._refresh_btn.clicked.connect(self.refresh) + bar.addWidget(self._refresh_btn) + + bar.addStretch(1) + + self._auto_check = QCheckBox("Auto-refresh") + self._auto_check.setToolTip( + "Poll get_threads() at the interval below. Threads die and " + "spawn often — leaving this on lets you watch the churn." + ) + self._auto_check.toggled.connect(self._toggle_auto_refresh) + bar.addWidget(self._auto_check) + + bar.addWidget(QLabel("ms:")) + self._interval_spin = QSpinBox() + self._interval_spin.setRange(200, 10000) + self._interval_spin.setSingleStep(100) + self._interval_spin.setValue(1000) + self._interval_spin.valueChanged.connect(self._sync_timer) + bar.addWidget(self._interval_spin) + + close_btn = QPushButton("Close") + close_btn.clicked.connect(self.accept) + bar.addWidget(close_btn) + layout.addLayout(bar) + + self._model = QStandardItemModel(0, 4, self) + self._model.setHorizontalHeaderLabels( + ["TID", "State", "Priority", "Notes"] + ) + + self._table = QTableView() + self._table.setModel(self._model) + self._table.setSelectionBehavior(QAbstractItemView.SelectRows) + self._table.setSelectionMode(QAbstractItemView.SingleSelection) + self._table.setEditTriggers(QAbstractItemView.NoEditTriggers) + self._table.setSortingEnabled(True) + self._table.setAlternatingRowColors(True) + self._table.verticalHeader().setVisible(False) + self._table.horizontalHeader().setStretchLastSection(True) + self._table.horizontalHeader().setSectionResizeMode( + 0, QHeaderView.ResizeToContents + ) + self._table.horizontalHeader().setSectionResizeMode( + 1, QHeaderView.ResizeToContents + ) + self._table.horizontalHeader().setSectionResizeMode( + 2, QHeaderView.ResizeToContents + ) + layout.addWidget(self._table, 1) + + def refresh(self) -> None: + if self._worker is not None and self._worker.isRunning(): + return + + self._set_busy(True) + self._count_label.setText("Enumerating threads…") + + worker = _ThreadsWorker(self._process, self) + worker.threads_ready.connect(self._on_threads_ready) + worker.threads_failed.connect(self._on_threads_failed) + worker.finished.connect(self._on_worker_finished) + self._worker = worker + worker.start() + + def _set_busy(self, busy: bool) -> None: + self._refresh_btn.setEnabled(not busy) + + def _on_threads_ready(self, threads) -> None: + self._threads = list(threads) + self._model.setRowCount(0) + for info in self._threads: + tid_item = NumericItem(str(info.tid)) + tid_item.setData(int(info.tid), Qt.UserRole) + tid_item.setTextAlignment(Qt.AlignRight | Qt.AlignVCenter) + + state_item = QStandardItem(info.state if info.state is not None else "—") + + priority_text = "—" if info.priority is None else str(info.priority) + priority_item = NumericItem(priority_text) + if info.priority is not None: + priority_item.setData(int(info.priority), Qt.UserRole) + priority_item.setTextAlignment(Qt.AlignRight | Qt.AlignVCenter) + + notes_text = "" + if info.start_address is not None: + notes_text = f"start=0x{info.start_address:X}" + notes_item = QStandardItem(notes_text) + + self._model.appendRow( + [tid_item, state_item, priority_item, notes_item] + ) + + main = min((t.tid for t in self._threads), default=None) + main_str = f" · main TID {main}" if main is not None else "" + self._count_label.setText( + f"{len(self._threads):,} thread(s){main_str}" + ) + + def _on_threads_failed(self, message: str) -> None: + self._count_label.setText("Failed to enumerate threads.") + QMessageBox.critical( + self, "Threads", f"Failed to enumerate threads:\n\n{message}" + ) + + def _on_worker_finished(self) -> None: + self._set_busy(False) + worker = self._worker + self._worker = None + if worker is not None: + worker.deleteLater() + + def _toggle_auto_refresh(self, on: bool) -> None: + if on: + self._sync_timer() + else: + self._timer.stop() + + def _sync_timer(self) -> None: + self._timer.setInterval(int(self._interval_spin.value())) + if self._auto_check.isChecked() and not self._timer.isActive(): + self._timer.start() + + def closeEvent(self, event): # noqa: N802 — Qt naming + self._timer.stop() + if self._worker is not None and self._worker.isRunning(): + try: + self._worker.threads_ready.disconnect() + self._worker.threads_failed.disconnect() + self._worker.finished.disconnect() + except (RuntimeError, TypeError): + pass + self._worker.wait(1000) + super().closeEvent(event) diff --git a/PyMemoryEditor/app/value_types.py b/PyMemoryEditor/app/value_types.py index 6bbff22..ca013b7 100644 --- a/PyMemoryEditor/app/value_types.py +++ b/PyMemoryEditor/app/value_types.py @@ -22,6 +22,12 @@ class ValueTypeSpec: format: Callable[[Any], str] hex_capable: bool = False # Can the value be entered in hex? accepts_length_override: bool = False # True only for str/bytes + # When True the scanner panel routes this type through + # ``process.search_by_pattern`` (AOB / IDA-style hex with wildcards) + # instead of ``search_by_value`` — the "Value" input becomes the pattern + # string and the scan-type / length controls are hidden because they + # don't apply. + is_pattern: bool = False def _parse_bool(text: str) -> bool: @@ -73,6 +79,29 @@ def _parse_bytes(text: str) -> bytes: raise ValueError(f"Invalid byte array: {exc}") +def _parse_pattern(text: str) -> str: + """Validate an IDA-style AOB pattern and return it verbatim. + + The scanner passes the string straight to ``process.search_by_pattern``, + so the parse step is just a "does this compile?" gate that surfaces a + clear ValueError early — much friendlier than letting the scan worker + raise mid-iteration with a low-level message. + """ + from PyMemoryEditor.util.pattern import compile_pattern + + stripped = text.strip() + if not stripped: + raise ValueError( + "Empty pattern. Use IDA syntax: hex bytes separated by spaces, " + "with '?' as a one-byte wildcard. Example: '48 8B ? ? 00'." + ) + # Side-effect: raises ValueError on malformed input. We don't keep the + # compiled regex here — the scanner re-compiles on its end so this is + # purely for early validation feedback. + compile_pattern(stripped) + return stripped + + def _fmt_bytes(value: bytes) -> str: if value is None: return "" @@ -159,6 +188,18 @@ def _fmt_int(value): _fmt_bytes, accepts_length_override=True, ), + # AOB pattern scan — the "Value" input becomes an IDA-style hex string + # with '?' wildcards; the scanner panel hides scan-type / length / "Next + # Scan" because they don't apply. + ValueTypeSpec( + "AOB Pattern (IDA)", + bytes, + 0, + _parse_pattern, + lambda v: "" if v is None else (v if isinstance(v, str) else _fmt_bytes(v)), + accepts_length_override=False, + is_pattern=True, + ), ) @@ -178,6 +219,12 @@ def parse_value( """ value = spec.parse(text) length = spec.length + # AOB patterns short-circuit: ``length`` isn't meaningful — the scanner + # derives the byte width from the pattern itself. Return early so the + # bytes/str length-inference rules below don't accidentally trip on the + # pattern string (whose len() counts characters, not target bytes). + if spec.is_pattern: + return value, 0 if spec.accepts_length_override and length_override is not None: length = max(1, int(length_override)) if spec.pytype is bytes and length_override is None: From cfa8a07b112d8f2b1908528f3e211f8c1488e219 Mon Sep 17 00:00:00 2001 From: JeanExtreme002 Date: Tue, 26 May 2026 17:31:54 -0300 Subject: [PATCH 3/7] docs: refresh pattern-scan and pointer-chain sections in the README MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Lead the pattern-scan section with a regex (email-harvesting) example, then the AOB/code example; retitle it "grep for process memory". - Retitle the pointer-chain section to "resolve addresses that change every run" and describe multi-level pointers without framing them as a Cheat-Engine concept. - Add section icons (🔍 search, 🗺️ memory regions) and a one-line primer on what memory regions are. - Fix the nav-bar anchors to match the new section titles. --- README.md | 53 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 30 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index f480e3e..b8b478a 100644 --- a/README.md +++ b/README.md @@ -23,8 +23,8 @@ reading, writing and searching values in the process memory.

Quick Start · Usage Guide · - Pattern Scan · - Pointer Chains · + Pattern Scan · + Pointer Chains · Platform Notes · The App · Contributing @@ -43,7 +43,7 @@ reading, writing and searching values in the process memory. | **Read & write memory** | Change live values on the fly — just like Cheat Engine, but in a few lines of Python. | | **Pure-Python via `ctypes`** | No compilation, no native wheels — `pip install` and you're done. | | **Scan modes** | Exact, not-exact, bigger / smaller (±equal), in-range, out-of-range. | -| **Pattern scan (AOB)** | Find code or data by byte signature with `?` wildcards — IDA / Cheat-Engine style. | +| **Pattern scan** | Byte signatures or regex — `grep` for process memory. | | **Pointer chains** | Walk multi-level pointers (`[[base+0x10]+0x20]+0x30`) in one call. | | **Snapshot caching** | The Cheat-Engine "scan → refine → refine" loop, accelerated. | | **Bundled GUI app** | A full memory scanner ships in the box — just type `pymemoryeditor`. | @@ -76,9 +76,7 @@ plain Python types. Everything fits in a handful of lines: from PyMemoryEditor import OpenProcess with OpenProcess(process_name="example.exe") as process: - # Read a 4-byte int at a known address. - value = process.read_process_memory(0x0005000C, int) - print("Current value:", value) + value = 120 # Scan the whole process for every address holding that value. for address in process.search_by_value(int, 4, value): @@ -120,7 +118,7 @@ with OpenProcess(process_name="notepad.exe") as process: name = process.read_process_memory(address, str, 32) ``` -### Searching for a value +### 🔍 Searching for a value Look up a value anywhere in memory and stream every match: @@ -208,41 +206,50 @@ for address, value in process.search_by_addresses(int, 4, addresses_list): print("Address", hex(address), "holds the value", value) ``` -### Walking the memory map +### 🗺️ Exploring the memory regions -`get_memory_regions()` streams the address, size and metadata of every region the -target owns: +A process's address space is split into regions — contiguous blocks of memory, +each with its own size and permissions. `get_memory_regions()` streams the +address, size and metadata of every region the target owns: ```python for region in process.get_memory_regions(): print(hex(region["address"]), region["size"], region["struct"]) ``` -### 🎯 Pattern scan (AOB) — find code or data by signature +### 🎯 Pattern scan — grep for process memory -When addresses move between builds, **byte patterns don't**. Drop in an IDA-style -hex string with `?` wildcards and PyMemoryEditor will find every match — the same -trick Cheat Engine, IDA and Ghidra use to anchor onto a moving target. +Pass a raw `bytes` regular expression and the scanner applies it directly to +memory, letting you locate *data* by its shape. The example below extracts +every email address held in the target's memory. ```python -for address in process.search_by_pattern("48 8B ? ? 00 00 89 ?"): - print(f"Match at 0x{address:X}") +email = rb"[A-Za-z0-9._%+\-]+@[A-Za-z0-9.\-]+\.[A-Za-z]{2,}" + +# byte_length is the maximum length of a single match (used to span chunk reads). +for address in process.search_by_pattern(email, byte_length=128): + raw = process.read_process_memory(address, bytes, 128) + print(address, raw.split(b"\x00", 1)[0].decode("ascii", "replace")) ``` -Prefer a raw bytes regex? Pass it through — just tell us how many bytes one -match consumes: +Patterns also work the other way — for *code*. Absolute addresses shift between +builds, but **byte signatures remain stable**: provide an IDA-style hex string +with `?` wildcards and `search_by_pattern` returns every match, the same +technique Cheat Engine, IDA and Ghidra use to locate code that has moved. ```python -process.search_by_pattern(rb"\x48\x8B..\x00\x00", byte_length=6) +for address in process.search_by_pattern("48 8B ? ? 00 00 89 ?"): + print(f"Match at 0x{address:X}") ``` -### 🔗 Pointer chains — survive a process restart +### 🔗 Pointer chains — resolve addresses that change every run -Cheat Engine cheat tables describe pointers as `module + offset → [+x] → [+y] → …`. -Walk the whole chain in one line, then read or write the final address as usual: +A multi-level pointer is a static base plus a series of offsets — +`module + offset → [+x] → [+y] → …`. Walk the whole chain in one line, then +read or write the final address as usual: ```python -# "game.exe"+0x10F4F4 -> [+0x0] -> [+0x158] (HP, from a cheat-table dump) +# module + 0x10F4F4 -> [+0x0] -> [+0x158] (a value behind a two-level pointer) hp_address = process.resolve_pointer_chain(base + 0x10F4F4, [0x0, 0x158]) hp = process.read_process_memory(hp_address, int, 4) ``` From dfda7b9df645fc067b4caac8bac90ffb893ca4a0 Mon Sep 17 00:00:00 2001 From: JeanExtreme002 Date: Tue, 26 May 2026 17:36:22 -0300 Subject: [PATCH 4/7] docs: list the new app features in the README's "out of the box" section Add pattern scan, pointer-chain resolution, the threads viewer and the log console to the bundled-app feature list so it reflects this PR. --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index b8b478a..a18a4ff 100644 --- a/README.md +++ b/README.md @@ -333,10 +333,14 @@ The app is a living demo of the library — it exercises every public surface (e - **Process picker** — list all running processes and pick by row, PID or name - **Live scanner** — eight scan modes, value-between ranges, typed inputs +- **Pattern scan** — find code or data by byte signature or regex, right in the scanner - **Refine workflow** — *First Scan → Next Scan → Next Scan…* like Cheat Engine - **Value freezing** — pin a value so the target can't change it back +- **Pointer chains** — resolve multi-level pointers and send the result to the cheat table - **Memory map** — every region of the target, with R/W/X flags +- **Threads** — enumerate the target's threads, with live auto-refresh - **Hex viewer** — auto-refreshing dump, write bytes back +- **Log console** — live view of the library's log output - **Import/export** cheat tables as JSON From a6187456225b35abcff36e9508c8e5df30336928 Mon Sep 17 00:00:00 2001 From: JeanExtreme002 Date: Tue, 26 May 2026 17:41:34 -0300 Subject: [PATCH 5/7] docs: condense the bundled-app feature list Group the related app features into fewer, shorter bullets so the "out of the box" column balances the install column beside it. --- README.md | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index a18a4ff..84ef734 100644 --- a/README.md +++ b/README.md @@ -331,17 +331,12 @@ The app is a living demo of the library — it exercises every public surface (e **✨ What you get out of the box** -- **Process picker** — list all running processes and pick by row, PID or name -- **Live scanner** — eight scan modes, value-between ranges, typed inputs -- **Pattern scan** — find code or data by byte signature or regex, right in the scanner +- **Scanner** — eight scan modes, ranges, byte-signature or regex search - **Refine workflow** — *First Scan → Next Scan → Next Scan…* like Cheat Engine -- **Value freezing** — pin a value so the target can't change it back -- **Pointer chains** — resolve multi-level pointers and send the result to the cheat table -- **Memory map** — every region of the target, with R/W/X flags -- **Threads** — enumerate the target's threads, with live auto-refresh -- **Hex viewer** — auto-refreshing dump, write bytes back -- **Log console** — live view of the library's log output -- **Import/export** cheat tables as JSON +- **Cheat table** — freeze / write values, import/export as JSON +- **Pointer chains** — resolve multi-level pointers +- **Memory map** — regions with R/W/X flags +- **Hex viewer** — live dump with write-back From a65cd790da35eccefd3f3aa926d77c665f9b58a8 Mon Sep 17 00:00:00 2001 From: JeanExtreme002 Date: Tue, 26 May 2026 18:22:34 -0300 Subject: [PATCH 6/7] docs: improve README onboarding for newcomers - Add a hero screenshot and a concrete use-case teaser near the top. - Walk through the scan -> refine -> write loop in Quick Start so the reader understands where addresses come from. - Document get_threads()/main_thread in the Usage Guide. - Add a Troubleshooting section covering the first errors a user hits (PermissionError per OS, ProcessNotFoundError, empty Windows scans), and show how to enable the "PyMemoryEditor" logger. - Make the nav bar list top-level sections only. --- README.md | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 100 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 84ef734..2449bec 100644 --- a/README.md +++ b/README.md @@ -20,16 +20,24 @@ reading, writing and searching values in the process memory. One unified API. Three operating systems. No C compiler. No native build step.

+

+ Tweak a value in a running game · inspect a live program's state · + harvest data straight from RAM — on Windows, Linux and macOS. +

+

Quick Start · Usage Guide · - Pattern Scan · - Pointer Chains · + Troubleshooting · Platform Notes · The App · Contributing

+

+ PyMemoryEditor app attached to a running process +

+

Runs on 🪟 Windows · 🐧 Linux · 🍎 macOS — 32-bit and 64-bit, with the same code on all three.

@@ -90,6 +98,38 @@ OpenProcess(process_name="notepad.exe") # by process name OpenProcess(pid=1234) # by PID ``` +### How it works in practice + +You rarely know the address of a value up front — you **find it by scanning**. +The typical loop is the same one Cheat Engine made famous: + +1. **Scan** for a value you can see (e.g. your health is `100`) — you get back + many candidate addresses. +2. **Let the value change** in the target (you take damage → `95`). +3. **Refine**: keep only the addresses that now hold the new value. Repeat until + one address remains — that's your value. +4. **Read, write or freeze** it. + +```python +with OpenProcess(process_name="game.exe") as process: + # 1. First scan — every address currently holding 100. + candidates = list(process.search_by_value(int, 4, 100)) + + # 3. After the value drops to 95 in-game, keep only the matches that agree. + survivors = [ + address + for address, value in process.search_by_addresses(int, 4, candidates) + if value == 95 + ] + + # 4. Overwrite the survivors back to a high value. + for address in survivors: + process.write_process_memory(address, int, 4, 9999) +``` + +> For big targets, cache the region map once and reuse it across scans — see +> [the refine-scan workflow](#the-refine-scan-workflow-recommended). + --- ## 📚 Usage Guide @@ -217,6 +257,23 @@ for region in process.get_memory_regions(): print(hex(region["address"]), region["size"], region["struct"]) ``` +### 🧵 Listing the process threads + +`get_threads()` yields a `ThreadInfo` for every thread running inside the +target — useful for introspection (how many workers does it spawn? is the +main thread still alive?). `main_thread` is a shortcut to the lowest-id one. + +```python +for thread in process.get_threads(): + print(thread.tid, thread.state, thread.priority) + +print("Main thread:", process.main_thread.tid) +``` + +> `tid` is the OS-native thread id (POSIX TID on Linux, thread id on Windows, +> Mach port on macOS); `state` and `priority` are filled in where the platform +> exposes them and are `None` otherwise. + ### 🎯 Pattern scan — grep for process memory Pass a raw `bytes` regular expression and the scanner applies it directly to @@ -321,10 +378,6 @@ $ pymemoryeditor The app is a living demo of the library — it exercises every public surface (every `ScanTypesEnum` mode, every value type, scanning, refining, freezing values, the hex viewer, the memory map). If you're learning the API, it's the fastest way to see what's possible. -

- PyMemoryEditor app attached to a running process -

-
@@ -371,6 +424,47 @@ Then launch the app by running `pymemoryeditor` from any terminal. The library i --- +## 🛟 Troubleshooting + +`PermissionError` when opening another process — the OS is denying access. +This is the most common first hurdle: +- **Windows:** run your terminal **as Administrator** for protected targets. +- **Linux:** run as root, or relax `ptrace_scope` + (`sudo sysctl kernel.yama.ptrace_scope=0`). Opening your own process always works. +- **macOS:** the Python binary must be signed with the + `com.apple.security.cs.debugger` entitlement (or SIP off + root). Opening the + *current* process always works — great for trying things out. + +`ProcessNotFoundError` — the name didn't match. Names are case-sensitive by +default; try `OpenProcess(process_name="chrome", exact_match=False, case_sensitive=False)` +for a fuzzy match, or pass the `pid=` directly. + +`AmbiguousProcessNameError` — more than one process matches. Pick one from the +listed PIDs and pass `pid=` instead. + +A scan returns nothing on Windows — region enumeration needs +`PROCESS_QUERY_INFORMATION`, which the default permission already includes. If you +passed a custom `permission=` mask, make sure that flag is in it. + +Reading an address gives garbage or raises `OSError` — the page may have been +freed between scan and read (normal during a live scan), or the value type / size +is wrong. Wrap one-off reads in `try/except OSError` and double-check the byte width. + +Need more detail? The library logs to a standard `logging` logger named +`"PyMemoryEditor"` (silent by default). Turn it on to see exactly which pages +the library skips during a scan and why: + +```python +import logging + +logging.basicConfig(level=logging.DEBUG) +logging.getLogger("PyMemoryEditor").setLevel(logging.DEBUG) +``` + +> The bundled app exposes the same stream in its **Log Console** (Tools → Log Console). + +--- + ## 🤝 Contributing Pull requests, bug reports and feature ideas are very welcome. Read From fb810c989f6a9034fa66c6f82bdabab9008d4abd Mon Sep 17 00:00:00 2001 From: JeanExtreme002 Date: Tue, 26 May 2026 18:40:14 -0300 Subject: [PATCH 7/7] chore: add app screenshot generator script Add scripts/generate_app_screenshot.py for regenerating the app screenshot, refresh the screenshot, and exclude scripts/ from the source distribution. --- assets/screenshots/app.png | Bin 270671 -> 280015 bytes pyproject.toml | 5 + scripts/generate_app_screenshot.py | 180 +++++++++++++++++++++++++++++ 3 files changed, 185 insertions(+) create mode 100644 scripts/generate_app_screenshot.py diff --git a/assets/screenshots/app.png b/assets/screenshots/app.png index fba562725d7be970fd23bdb21ba37722f1b05133..ffe9d90de34a5d2c398b2b17d52e5fc73ffaa1fd 100644 GIT binary patch literal 280015 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 @`fqe1JOu^Fp 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 J^X{9y`d@L#%*6lz literal 270671 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�WF)}jZhTiB#)d4jj5A38JXmD?9OE*Kr5k>{oQyTm<>5jmZ zjsmqTgB12(je`EF15*eqy3ItMHb2#5hqM9i4ImqXzUl4N| z4(NR6>S~=g0B-s0^0L}y=u?_uVw%?X;0S6^lS6ypmki(rI=j5)h8e1!Jk=o`Jy;G~Ae2aJORYlB`01-}ISAq5&Gn!>6?1Sm-mLvh6zQ)p`PGRfp4j z-F|&#@%N^GG*+rBM(FZzgDn<9PTAx(Xs369xNN3vngBiib2HUduXA;(y)xwRjt&p8 zK=T{98lZ>{1?l|)vZyCc>=&A2?SxUGp$`aMHiyS%8e~zxUsr$>>Hef;#vU)B$3XjI zP73;qv-NxZsqQDTF^jJmb1va;+vh0g$=Sr@!4%=<=fe!ucC({aaBxg~e6`(4en)rG zbdvx+%sp>_6(htmJS;0G8~m%a%#rkipYmjRfGA;}TJLhECjeXNvh0BDfqqT8^uDml z&mtMdbl-v*FvkyovNzl$p5)6HRbGDH2W6;B$_%;Is5AH zwp<+?12B@uCRHV}h~GZ>ppTVy5YF)7w5};bKnPo=PIfk8#h1U#XR8%U_y|HQ{r1vj zsrp0)=ZMce;39O0D5_<=*P&BJ`m{8P>!#n)^!aXmlM4#oX|_Z+t2rqXjXpX3w!bvZ z1Bm)&`|eoRE)vahltqdX#!@x6#A+1#7RZ?@oTN{E^BJ_Fg)PgU_lvsg_>8cq=Z}VA zXkFL$00ic7lvXuMnfLgYk~4TR-0ZNglk%O;xn7q0gkgU6GO9xA8vH?6G10zc9^H6R z|M^juVhbWR29lOTK@)!NujB?XH=pIVKH3|~xCq@g&&)w7ynP0w$EtWiUkH&vL3*_u ztrX{7#b*G$=mWrO>xp8*C||RJ!53ZtLJG9Yc6N3h%9K@=E!^S(&=S~$66h)>LvSiz zy9j`s^-f?Oo*EdD1wib-6=^;IFdZjuow)*Oc(&vHv;F-=W}O*8*+?%PF@rhL7#J7; zXAXTR*5^)^!=%k#uje$=l}+}~rT~rp4*(h<+klrt;Izf>OJR80Jxz_;(%k)|lBV$z zua(~G3OCe&?I`-X1?85r^IWdH!GcQEVXofR zUKw!n%2m0SIp)LSRA!F5;}Qo*%EU^2P&?!X1ZmF&1vyP4neUEd2VvLa7cI)y6FxLb z448*1%T{M*GM_D+AFWB^>gF@=ZEruEQ`LV@BSAnI{@{{pZ?cO2#r7up5_Hjx7b$l7 zF%sY=l%g<8w6tJdUcEpa-p3mo8_zwf?53!`Y404=7+lRlVJC;sK%ctD^nkezvWkfr zyPpT-1@Jx%?D^Fz;g%f}JUq;kc`+Cp-|H^nn4ncORH)mi|AicBV=Gz>-L0m9cWk0rKuf!by;S1HsR~X!Seq>Gibcr*_PbdzRRx|lDpH7z8x>R_|s4I1;cI7GE&r& zk~|EEI#3->kTb35js)p+R_udb9M?3l3C!r8mrM9VMAuxU2-XjZSor~Wx-aTR^MX#` zL&G|{x&cFW*(?zKjHNGo*#N}2cDtY}%jp1j&O;dMDD{u96(ySLFw*JMS-EaO9qez>1OB-hlZhR=!PMN;kVp- zfA9O=`ww_tJ?oek9CIwzthGLI)p?#5QuX@J@fD>f+}_eLAw5Kgu#aA4!-ODa%S8}L zBFTYwrZqW|F?BH|t(R_)k;EnrtJrVDSKJqy%vf42E;-lLS^vb+=>#Gs_k4bfUY2TZ z9nkT24%5p?+nsy7$+Vxjq_4t!jS8=186ljaO#uJ6cm`V`d`@0`Pk;7XL3nwg9k;o zOfhm&i10&RJ_4KJxf<)KvZqUG)7zUzkue1J44a+SwchSW$LN$Mg3l_hFE2fcCzeM!%^eC{he+HGY98hG$WsRUVgZkcUV*4pZ8E* zLeNpi^%GO>oL>8!ySlb}3kiQ98rt32mAI%rKam1Xh0>|%6J-zix~f}jW2(-C#ik3v zcHMWSP*Z2`_pVbD#Ms%_Kh1VO-oODy>2;{llCOX8=PnM8bI-uw!sb2HM8`{jNYAVI z1jF1E3;h)A0Rw-`Rx8tUwbe`i2G&zV)Ustg^rtE0hcLRh%&e{AlIQ=isCFtUV-=!5 zk}F-XYbuHRCx&e!HTJzyy6``nBz65d(JJSfNv*aAYARX^jlHf-1fH;T1}V?d`T>^RusXUTfiw(>VLP3NV!8B z{$eSY;n520w&C71wr;7cI!M+OX@OW~{eKb9W)z-ysfdT6)??X?U zctv6JBJ%f0-8nsm5!{tMAKfU`)6$D*J>9843(K=hCeN=Z_m6ze6&CI-|6KM(s_MWu zY}?nK>)T1aq!5!gTRLh0?yifoC|!O(UE-F_dV{a+y1dMJPheR{EItXlvbIe8wYjO; zQ`?~BGs6(QEcF*eWT!b)w-%d2+MOv=h(j)0AI%dJXXhW3V74#!miJ29qG|$wqpY&$ zjS67(T08I~o<8-z-8ICc5F+;LgL6AXXHaO#`0CqUF3*)^s6;Ie4Yf_{Sy@x#MhdVI z$SC;J$STNH>6AX-*zmvXq&jFi6bt%78kE9g8LM{H08ph6kr`AzN8iY8{PriO{m^PE zW>Sv`wvEpRHA}QwjRIdkW>CrmD3EJos>Zbe*IQ>8&o)o53_Z{dJ39yUbCLV-fShm; zkM-2vyZ8$8q}ef523?&SY?!;7+rd(urrl~=r{oR57CNQx3Zl^>P0d}q$4oS*`Zm2KRs!hSe{HSgKHwQGR6Bb{=Qi8Gl&}Rim7&{+DeiXaYSt+%mk( z%#?uHHV{s%QA#LcU}$SRxO*r?J__G!9hf_yUB;f}@w&G>q8}W7H>>}8yuz7rwvJFL z$4pHY2B+9v4cIXooShl@PA8H7fw_LzA>D0?cwzp)M7Fo=JMEcjk%I+D$=y$ogksJw zGHiR1rZG4zgwjO=rmL~dR_sC{mWi%29Bks{rl-LWk!PD~%NM3`-dfVxN|VU;*v>QT z-}veI-l9TBSXhW$5fRU%8YE&16o2=+w18}sQZXZ5>HW0S)EAY~&*U_x)x1SS318(! zc9RSabRa_dtZMA$FSU^$od%7=D_+ zHPY7ZgUuhW`5M@py4L6g0x~ucy^$2Utv0i$hd5(n_mc)cbI$t=4to-vWL|fxs^HGp z)!nUs!!jGqtOD4sOse@7Jg=yYwB6>aw^e`1`>q5cqR7SGwvqU`zTCiYu(jQAcx|Is#{6Dr~3l39*CT&VZb}=} zP*;~#9_kC4V@&zN?jN@CJ6JRZ7ksWd_Z4Kg^D=gPsI|WtM(}pU{YfUzv3<(Z> zs>@8ni5+AOZXeiSkw91daA1%?gp*KS<@$3|l8#~_Zrm!5{(<#)HR_YA zW*`IsgaH0f9e^el&lmE3{Gct)lUA?+OdP$G5{Nx%91)hTE*|jj{cy4meT>LR!&DFO zEN07PIQacrel<>9~gzoIO{WDgDm6emE_$-IXu_XU%Q(wnhy`>=d4-N zL)0uimr?IsYqfoG%_rnUzlMMToXPfr|JFqvZXR`AhmGvjLY&bwRT7#1Np*RxusDOj z%T#c@sC7aoe&17T05=3=!#Z~boILS|4 zMTNDOhVpKfh}-N;=V7D0DapVI!zK}|+A{FXH#ji6zQY}5nFm;M&FTQRSI1*=>-`nr z$@1HhdzA*BoIJ6l$zf^Y*YeV&ZEY?I2M-L~cc*0$7WQ!%wZtS@nW->_US5r2RmS!N z1tAx`4_lCnqEdPQ`a1A%;S zlK0G9sxwEv8}Vq)?HZf6IkZebyE5GJPW~APtR>lPH=VGYMUmG z69T;$w8PU&VG11QFc2Ui&tXd!i(Av8wmK|#IsK1KQIiH)c-r2gBmE#p#fpBTXYu!2 ztN!`r+YI=Pl9~E1`u>=Y)K1Tnq(%nU1r|^*or*P;wjaWm?$~UrDqz>TjYQyE1r23< z@W+@KR^*hrS-xPH;uC$Q-xd5N>+%a+#)h}cXes_x@}?*OwcqS$$a`W@6SZ~Df#4g(~#Siu#v$>|EB%Dv`+5-??;%@Of z%RjzJ8$3(jvG6EG=WbsrGbh9`DD7;>+_G@sfux|oT+b5qy|B?tg|y=%mpk!-qc~Wg z^`BSnQ>XIT>U_k|DpX04r>Cy0scDerbZ#LzKR;(rk}IAxGmqj<8-5|@j%^+EWpgM6 zUbFm`+RDbpMSxscSy?+J1qg83p9X0s-Yz1c_Izo!d^d-N-lYHpaR0)BXJ`Jn0XXfM zbd=J!b_=!Q$>t@F48{B~mBM(jETvawb#V8CnF{CL$X>te830-lV$tyfo36W?b+Egq z2VYs*TbScd0xJ5N{~(^SNNva7@09(Dar9KU)^>YsdnGU2 z-DbgS>(3vS&*49hYD`T)1y0eKl&`XF_RC$|?4>TI&RCj5PU_RskG`xqInAv2?z2ER z&?nF0rq>D!%Z3I9WOiix?Ch-ewk+^o@)>W=H)CIcx=zviy8OKS$n#rZL!OX%7)Y74 z+jVT@Sv0r93|-3q#K`-~wtb?*xLZ2!*3mI&zBy#fO;U2UPw`)29RA4Jt*|k)GE}*6 zLNKMBshM!}Dl~HRnuFF7HDwzPxhdbU^+$PkeQB;4R(H}7X2E~@_V$Q!vL1IjhA3T` z%K27ST@guzN1U+v}~T4likr9du?}&8FiHbU3k66hrV$NAgUWR3VpK;3mFyLnsM#(y$(42 zWYMSyO%IO3rpU0-^fDc4q{Hp?D&8SBGv0f;0Mm{^1Zza=xipe{KkF^gVI3`(SK66( zO`fM5j>m>smtj-xi4k4i~Epn0UB=*rq{2!qwC;bl}zKXcc2JUD*M%ribo!|5@|AL6~X87{MFo+hQ zVWp*2pvFw)vz3i?hw#@cYdde=?n%=q(~|+&mX?Yfl03+UKzzn>Wnf&eD3R-}(JUX8 z)+j(aQAzx?S~luiB`cj-35UtgjE>lYi{u?+QFcSX*0fq%HuuoQtRq%khBT zz4->;Wg@!;R0BE2Gsm;7l_@cnG)==N3hNm{rJN!dC7&3pg-YW+2EgIHyI1#H&6O#p z@ZI|>Hx8jUiVmm*)7f$$EbRMTG{F2SmH^7@i*u*lY_?F7#^?7!j}Is_`5?WKQ4=p! z1D@>qA1AqAGP4`>4eUh5BpoCpj=L}=Vr!T9|Br(wn?A_H*)(bX8Drk2CU*P&oi7dw$AOZDbm~q?tKR6xOScn zJHNY@Y-;>Tx5~GLJV!K_a^+=kOZfW9@7n4*^KEb7j|90rY(6DFed26kGVO{AH&*%- zTk+b>W{JxE#`R67Q0+e6>{{`TvY>WCT=qc!kwG)h4~*Yir~INH zfQXb_5_{ZgB)9p92atWQvx84fOql%XjTr1t;rC}BbOO|L)=PtCxM9b3a?U)CJ#qs5+=$II=u_q_BtzI zX9HNucWnWII9iF`N7-0P86ut+^MVh1*>su(czF}R58lr-xsN&|@;LbW?v@&g+=ff# zjP&<=o=xHWqHJjiz+x`uU^&tNQ=MTG zp_CfW@$~YnN-2+gz7Bnol%MIRQ>vkqDRNZ@z1=@1V$f4eYR9kh=qHRc4cYqB{$1tw zRabvpgQq8XuP;LU4iIcb&R?BEUbE^n{|#5kz!)3cYJN^yMP)c`Vg{?E)=NIt&7m7HZt7ZDaK|W(KExf+M zPU{YRlnE+VRSf>ezxY=hQ>xJGzsRk zpS9S3;-JI!ojgAmM>Q;sCAiRrKD|3P8N-QsfWQj2xVjatbr;)q&(OqaUm;Fs4;17H zgxOnKUvJC3IriwCYI$?-v!Q+tLeFzFKNc}0IUQ0p*WvRD8;Dznm73F!&is*6iZj;( zS;Arz*GnGy(n>s{*G3&m{%u>;EoCc5$G;d1=-<;)6M~?5>Isy6>>K<0?Japlbe>n4BMVxXLswbKo5{_=X+YjXr7)e#`BydV z)z&Wb&ev99KbnM_5r}btAHR~OykY9C#Ky)ho-V-_YqUm;xT7zC%3Wj8PSWV@iMf(U z_9sSMDdWE7)m2DD*27nXhRq(wnjE(~E7Fuk+U!h%p0-X=Q&|Z~%uA@ww6Tkx2r?2j zz2x}x5VY%urwTb{mRmic)7* zcX9d2`L!MYQY8lV=XReuj_Zhf_%n~oQ*KUNnhRD)?1u&7s+Sw?lZ7efPk@Djw^g*!9dBmHmtZ%0nisJ2f-r>fGMX8Ffh+ z$jS^@C-*Z=9XQ(eCb4`A#`k$K;9>dQN)$lBqlKVQ{ek08K4eZ#On7XbEvKeqk)cbq zE1WiB^W<(wUq43aFQL4w<-#V78a!4c>F!Kps^@NcVc^WfDEa4eoRQAnv@9=PTIY%BKYGXv=^;E{eybH$`XXsiw0%WQ^OYS{ zMb9!0U85J9pkUhq7D4#t|jc&ary_D3~jiNyA(ZMq}r~M&BvX0?0B%tah8egrd%6aj(jXL?>_dLOi! zZ4>&I7`z&v`E!JTqCBUDw1HJb@Sq*8j;UQlvVVHj0Uz+12h^23TiRWn2LZy4*H$(l z4VRlsn`lb*>Q#wGF=OZws)zqRO~4|KSk~dJc~-;jNK=`1rCJX5gUtUfcXreyjs7sIOm78WnSgQ`8|M57GFuaKQVwzq(oa0F`pynJ5GbS(}l< z2hkrE0$%g*@a)aD+~h=wJ!yRnAlp1w0!i$e&TE%H+j>jinBSq##{K^Vz)@>bcsI0W3-a^Q&1oP1Zr|yX#DZx$K2c;jr21a;k&DTap-BrAwCxw zpH00{4iwb2wH9|n#rqjZM4&cspidU7eBrf-EN?H1s+NmuDhX=;N)o@Tz1q_32=C5O zzwxKjg5=*m=W68NEK^Zg^Q11{%krsQIoI@O5N`&QlL9`ZB_y%?BH&2E7$z~a|J|jA zi>BsRzYxe}U+0~wiW&%1j=HE>MyW;h`rg)9f5(!Rmi9-LD}6`qEw-Gd7@|ZxM#u67 zDSc5P%c4-f?Z8ofTUv-m)fL{|P13jW2r#Ah<@-WqPpI|o@J~C1OW&7Z?*o*SuP+6` za4PT3EW(g{Z@k4|)OB|XA9l)t_PP##*&eJ>uElImhTDTDwo|j&$pT!rFQ)TDYco$c zi;v`rRwUTtjZ-0c2K#_TC_*68RJ&OqQpL zKseB2k`QgwReO!-?J1%nz+d8DGVP#_aR>2ZpslmMC+Py0FG4kc)|czsUzdC5+8XK` zpO+$u2#Pfv=`nLY-?F*2uY_NM)a~5nva-wt6ulU)QImBGhxR+Cqu+5mf3sGEZ;^fD z(HBl?M*e~%+Aw|b2kSvnD{l&0^00tgQ>5d*y@mO55t3p7F z@sDXvC#PpNuOT~mhEylGj@V3~b!SOGaa^jw%9NCpkdP4E!QZ&L2FkFB8G!)h#;z_< zkZFs7y|t$A+MB_F5uJJm0s?K;M7A`3EULGpxaH8}Ae~Y>Tg$7dy4L4ty+8>9dp>SZ zdVsZ+&51tRrAw@CoQN^0`;Y{l4!C^l|Ww+F2W4q;f<=2yYLWs9n_H zMkVk?cz8%e$e1J(ap?8+wOHzy6Kh&}>MHU|SV)*WBNA*JFH1-8&`>Gp3!tCdr_vc5 z@i{eKOp2-u*4fPQL?ddo zN;&SXyL&191NQT%L16LQV+E$`n}@%3Sj(GHV>#ltvl!DC{XtRdN9)lMd!^gD$}reM zlRLY1Wl0p5LAmtu!-(3OFf~lnx5cR`z+E$Gk1uR_N}4d}owvE^~tNE9d>wV8EZf<%LKoqNLNApb=p+HNzeACLK3j_CeYip ze!y-?8%jN@DxQ&n6>48`%;wvj7$isR>l)G8*yD%wgd*dB+ce3M&hS~lYrRH58Zl2U z$rAnRSD*d%8+=p;TitvICoaLZOCwvBed3rdcU9%VT|3@{6)ypWu%F1P^R1u1@rTZj zr6$QjbHYM%Sl6Y2-|*}XE$k01sM-ZR-*44{+&ttpiMx;9oo`9aV_Cf8Duq>APe+0) zu5+ZH;jw8{djcdU=*EWW#s=oCXQTV*fi#up?}f$Drs3Ul)P|Bjij%eFwsNk@d)hck zWa4nnBlE5k2xZYXn!)}(f5SlUl?HP_gLeV0{2t%$W`JemdG@d!)>hJ}=r}U(W|f2E zA5)6aM%wdoO z*kFKB$j|HQ4>LPOWN$;uGI@^|M2oMIh@amg+|g?-?sqS^YL>QLY*2gSO|4hw$R%$E z4``D)KaQrBGY)i#YK(1$LL+r){~22!<%v;PSfn4K)qBYkVJqkCd^rcyC3{B2ZrhRQ z(;R;v&VrhAvrl!u4q4IQ2jASi8?!b}ud+OM5F8>%dDGGIeK5oW(B?h#N45fs%~Qfa zZdyiEboAhvcf_!Qg1g^oB){R^EfB54=X4&vkAAUtdbN>&w|^3pWw)&P?6>~ z4`{itXv0T}OBpqdIM*&2uHmhr@$Qy7o+8EViH|qQB=He5R8SZOXGN|FM5;PG8Ci1+ zHW&2gN+S7ZsF!8GQnqovo9jURO{&)Vx+;|VKT$})&gM)TTlA7S^LP+EuB(kGEvWUs z)VB8xSQ&8KKw`AM8cr7E78e(1V*}XbRk*6kj)ki#-Ti9}kF+pe_JniD;e9Subic#% zBPKMWg#a%!!t1vJ{w07d0X{H&DNw*`AOr#q!&cSsgHlUtYg_B4@Cvs~gl8s${d$gJ z+s4CxZV{utv0gFVHA6u7=-5wAZsXdUW62Anj2cK+0-v0gC#2S8^%xFj8W;Yk-a3Wj z<2C2rDpnGwiQRLblj9&|ZPMkbe_iYEA9^c)&j)aSs6ZTV;p+>-JHq)clGcy)|4Y0G zLsP)5nuPPQF26q-7JNs#um0}A|2-psg&k9XIymPP$XH$VVo`x10&~{iC>^Z-*YA~) zYwBUlm{lcYvbzeAlMhY-L8%5nozgHAa4!Sgz3QY3(_r0yH9|VdqrSckmuN4DhfMR& zS>OAr+*1$_qP@QDOaT!~0y6Oyk{HIrkLh&{9PcfwGAM~0by9_2Fu%S(|1WijuN=?) zze}cMmJEG7PgIY*(82f|&%~_~(zo>ak7#&TCMPie zJ&iG1IS(MJAmW<@^_&)b3{u~*sQcT!9nn{!l+;Fo8+|3%pG%^}h{v!@Oz6oAL;n4^ zpINt22o1sqKpi|slbv$E2BXa))W9_YomfNrIOA?!DBZK!4vV1T$-_Z?$LCh}q;LkA zv;qSf#a`0{jBgo9S+W27TBO_$yn{PzR5nbdIa1b&?T$3mqAo%)J`;n=_2Mtr@j||k zXYKFIS6d6Hh6J=#lIN>clFLztKsY6=AJpqqqz9-ng^-pHZo3LgTj@Ob4_&3#Z{^IGDo`LV3uUzj14j zz!&<3G;xhI=ndiH{jV!>Azxl9X0OJ}QcDp(%x_UAmfq`Z1N=DY|Md{YTD~sxzJ_6~ zZrBwTOplN9fcHS=4o4$>+ZP3?Pb*l9LqgRpU1{EuwM~xfIyF-42XMw3mP!1lEX{TH zkbFd|V}jWfv1Db6@=s5Owi$-&TlAx_rY$vuc-?i;j+Bp|V)iFX2(cCKplo3qh9NbC z@yY!|qzCZ250O!qsK@_Dt}2{>arPg#>c8JPr_}5J)BNiH|K{Jb5d-7@+qc0e<^5m7 z^M@sIts3T)r=tK8tLxqPjUysH7xu4e#a9-R`)z-3Qj;-p%?KA8ckm-#!m9|0yaNks zDcpZAXfJLv%(ft^rQ#H>KrpDT=~y@_hA|RYO~CO;nk)}+gb0I7f!_&kaji~t$qNaM z%!E2%6X-K@aBv9ox0ze=%w7I?pp4I!NMGJNj{FQzX-Uk%p^?X43w*k1<13^G5G>>0 z91a#F>x0JV4r>U+xFqq{8l5DjzsBMZnU~tLw4s2+fSVBX5C1!=C;7waYM(6XYW5c! zCRet|_czWY3)R>R8iDQ)LD!Ar`H^zMAIggQiN$@V^r)Eyy$Wh-Ox33UM|;m9 zp(8Ac@w75`|3ch<;<&tY#h92WB&7U~`sf`o*`a52T@9XtpSo1&TTvOn_DX^NYdw|m z$wmluD7ya0`0lzk>|RilD)xwHV)9_N#`cn-ao(k|U}D0BddJ58kbkkCbLi})^V=$C zfC}7n5dyG3;uvJv)#C%B5CYv3mg5Xc?CZn}Q10m|4H62m&vkIA9lA5yPaF=9*Pv>Z zmAwdsWDrOp;{3Z8MDWe~#-dlH7f-M;SQ3f~$IU8Ptrb5Gy%b+r4_Sp7C>yFVt9yCT z6JR&L#`+38_xQH_$B)2wvVl(H=6B@78~-!jdbcw$AufB{jWez>|3*`1nn)OXCSBB< z_xN+=TO752O-MM8S(`8xgAkyTK6Q4SrAWeys?t-|N^COQ4h3qw-vLLrtLtSrkjLk0 z_{nJ^()n91sWeqbfLq{N4$#JZX1eYBZ3@$P4a##mEb%AUS-L zL6+v6Ta$iHQ!>GdlOT|cmI7gi$N&{OX>Y;5lLy!sE-1Y?UYwSX*OH+knCZ%yM z{#=&X!B{=v4ZFV?9~;hJ|2?tw!KVrD1SJ34IJv--3w!Q&MB@l#BBi``0R_Y|P z!bN?$!1ow%3a@$Vq!qRzZibEk4I7Q>Tv<_3L1|fNWJrqMCjeBi#}mO)fH=%y(jB(x`DOZIcy_G^h-x-WNu<05Y1ZVo3jw?dFdQjW2z7OX zRnI$%^8aC4EnD$g-TSO`Yzb(EcXtyKbXLw?ag%2qVpFzl8&AeHL9h4c{g%TFsDWo_ zOWwSwuk%44!VJ1ezW4VH(NilEBM*Th!q7-2n|_O#?_c;404-g|_^pzcsmCcv>Ab!y zX4zEx%j@=>pMcBDcfLM-{-pBM@ND;M_P}u3$G^^z6f@G7*UHMq!pa8lJi=)+k(!$7 zo8hD5+YpuUv7%yTY43lev^0yAaWKLHmghYgH-AlzeOTzw1~Rq70oz@VnAJ`rG)7a} z46Ov>-gA40zGYEQNs-0fZBpB1DR-d~AJm0ki&_F4!Iz~$U>|kYGT-hPJoV|Oix&^6 zR&lQjYQhp`x6}I>8%5FdVb=aJP3ySX<$pySeFQmijz}yzqLRq7`TU!Oi#m8PP z?Z)xUt`ZW|1T|Wz3zY6hZxVED`4|XeCdbx~J;03YBlyoLI&plA0o@bF<4pjv1qvc< z8V0%^Y&i+iuy+#M^D)p`xeC>F&W_EE&GY=(N^1Z7$I2CCVrln8G3m@xltC$x)vzKF ztTHwh7WPc$hWqW?1m+r^Wl+DeXY=Hkp0WY`Wd88WEdFQ=&R!=+DPz5KCJm}Jw+5XO zfKdMeI?7MY;qZD*Fj7HQmM*BGrbdYT*>@O_sV#z80Iv1MSN=}Uex^dNmiIa1jrs>} zy1Kr;`duiqNLA7ZfLT>CX$9Y>sO7WP)lI`^%I0GhnlpJz7C|q5Xm4$6Yi%1cBZ_oN z7fOd&#E$usz1opjO#hydVyYe2pB|mu<(NJ>XJcu1an(#94b)$N-%(bEvGz8kk4$M4 z=QS{Sd}Ue$x(nthy+1+&z@a=@x=;xK zYov2l5Wl^bvmSueJKx-+uV&>5fR)@QlcN6aR$FN>3!O$IfQ9L>tG9ZKUh55$RiaEn znwXfdHJZI7pb+#~-rJ@W)u^iM88)o{0e(g`?|xvzL@=BIWn>ae0K3`1t4+3xmc^RH zvg)?_+Hnx0k4D=ZLpNBaf93vqcxYp1C*oh5Wq3!+RdIdcCQJa(2wplB#_UxKg;&|`*(j$R4T$V82K_jEHcHxKL#DCknf1F)xZ*BV) z6~)g`rdO2-W=|Kle%qb4Iy~kVM9PF=!;=b3&G9PUw?NmTz4_LLn(kN4+`PQL$74Wy zCn1mg(o$1o*?w)UhG&#SpelOC_Bs|%>-Rc7p}tah)Pb)Pk0>IZ1c)#62gGmE*{0aT+5n3_t32KDZ}$0XY}@VcJmdk zs(t3>uV1~|dGO6#o1K^KJ2>V(92n2P2dCB^Vzln@Ozq1WS?;EHVqF#!soJXR z!I2bLU`DG+>haE{r;+G^nPkRO9K1rD6DhaAosN)SS&LMJw+R+z&yy*evb5+?_`v1b zk_jj%s+@+eqqjH+9G`R#X`i0Zuj4tRfgyevTnPSHs5Wfq5fLxXs$1`2`SEugn2<2` z1&20Qbd{Q>{@>>pzuIb92G?|1@W_x|)E+p!_40jP51;u&^|rODDyJ$Z4(!s%DEVnf zK+i~JV9pv!NC>d86E|MySF!S!_vVr9;gEMc>`#m4koGqf(w_*OoDTZ&S*G!@xNLG8 zvMvhD8O@SbKH5*RAje1JuKe?a&nehMO-MKAcI}>opaJvoJ8;~5IHT_9B%=|p(DLP& zR9KCm$K7XhAa_2n3_KMeKyBZ?T2hj}oWX5AJUq(r82GmsU}e;JwaDhhQo22NFe8kO z-QWt5=~n^7C{!8~6+n)TkG3a(1@D)pgtuE%))lJ0d%~cA z4O~fCLSn4(od5jxUI-ZBsjEvyU|G}X;k*TZ{$Jw-IDi&B++SsgDTJSOEjqTGeXO&n zwe|;0cM5lc@cup z!$~^$c5hoHERRWu*-TH-&dclt!LaV{8Q840CP}KgAY;T+SM!ndO88uO(52w%3&1>3 zo9zG%Sor+upC*f#>Ri;ndsnfydbKm~Bx@-tJ(jQGa}hZ+*(=5DWHIN+>V-cu6uXnX zkM6f+P!Q}axw*M@?VN*hr+aI(*jg0CY8)PQa)Ku2j6^*lxj74VJl#>F8PUn{5?$*G zeNc~;y*~!aoa|r^^j=C&&!al{?9|i%6ETZMX`DoNJxlgeDVq}N1 z>K225iOt{xeAr@q*V z*+yBOUy&V&xWc?~liRn~)zt;O45-%)KWPwe>gsdZya`+nAZqF(F&Qn}PhuWe54L=n zqLMqj;bgaPQkYW}2QEq6>QVI15T`pN#Unh<<&SR_>p>Ga#t^ejz z(zEd(lmQSDFUh_9UA-_d^Vzln@Z&T>!;lJvD*SvC1j-7olPP6IhY?TDnQN>%y81yt zKhU>7FdTHPf1bE~to$c8hdU2Un-&sgU*3p;Gg|7^Gp-^g&rBi&(9L5c>rIs7fxtTu zWP19jG`Q3JDBj?RpNA!u2n?3v48kLQtM2E%(Kv-zj0U2hbwS6e23Pxu8aY6=Af>~C z7gC%B75W=;>!ko2XGr~B*D-Y_Vy%h!5fzIVv!p*Agz;dZX1}(4X_!;K*;30?XEaNg zEwGRlxMjOKxg6MzixAUU-Y4d~Glir<&w6v=v6CTcCW=Q?kb)hL1LZk9nV{CTTz-y7 z%+Bf5+QW%O@_W}3_{O;30#4M*<493OCXM^eQIjw)C-uOKe}jh zV7Y3Az6MHaYSm|Fo0~m=`x+==sVHw(QceTu>Y}A~63nQrrIZ;WIKQbF+lEvNF;zit zwfbY05mOqP2}v1LS;7@dRTGmM(&2|1@%qvC+h7%3w~B;{tsSq}{yW7149y3gztAvX z@AwJ5F|*XIvq(gA2~JLg*w`$WTdMrfq8ws;UKD_x+7U8PqQ)l_8ZpJCtgLe8-c?8+ z8COSS=>7IGnmVu8`^8`pefTN4xU=Akzc!GQ`N6lO`&qv(+w8Sp$f@>`*7YvHV3cIV zQK6Br0$#gOd?+4?7~m_Y=D-NKx_*NKV4rb`RqSk6JjF~Ls`4By?k!_q#pSmVu7CZgBQ6q*_N`#Yt8^+#pY*P>nf3mSU{Q{l7MV+=fCf zlPL0KpkcLncod#kd@Q+EE|XX$7^G}tWg|b>M+=#C-c(8vDy{w1SdpEb-6|z(m&nWe zpv)w_-Q~2@orj+nScbfOQ~bOaTYBDr;UE)?+&cCOK;nJbJPPen4E{c}8?uf32MYiK z%7!%5Ib4~h+SFFI6|yN!1X+|+RE7ppz?Py5*uXAMc_SkgTLpDl&09oHFkXqSKh0oe zA=7rmxobs*S0R7`uG+u3)k2Hg5^>xKKYznhKtYkQX7yk7Au8dE9R zE#jnmIT}o=L>s{i1WTL))wKV;zgw-JdWv5!XB^!IFv?c2G<+@@o_ZlxvS1b#F-fGH z-akP~{EmXyT`R&=kVuozoYOUfz2g-%dx_!fte`W3Ew)xElTpzB!sSR=nOI0@4{)R+ zRV{dQ>V#baf!JzH%0a_Lphl|7;<&QvpJ&su?wFIJER}@ z1cCr`1!Qma*jRGxEqiaFch1g^1)1KRrv-OY$0F_b64eZhkfsR5nd*O`2 z!sd$|bj%4>U)QiYrW2Y<$hBCE{`=iyJm$X!pj@skIigO%^`&ZG~(R`YI24`36<5#<0J|UTMVDtF& z>NxxDT|EE4m)B%9z;8CNr@};`-~IVm_}HcRX%EwVsLUghGzv$jnb-_z&{O zSB^b=D3yRmKk5U5F@omTPDf+FHgxDoq@4&DRN&P#^jE<5ug~tpfUe{N{Tb2e>5xy% zA>c2`@e|d#>+AZ$byI5UvNWR^Or_rv|D3;-Q2|@B*mf}k2ZAeqSnu9C86hc$^2B39A_XdzUQKMwu*kVGzbD$^+#aRg0?XJdS0ACHPu=`Dl>#} zErQBi17(UYJrK*>&U?G#u#pBUp=2Ng1eXaqFo z78m_WF1IRHbAb4lSCmE^+D2?o59!K{Utf=(o7)+5-*Gt6)hrGDH0~|H9c*oh{h;(| z(4RZ#&!4*Vy|p1-*Nt7TGRhDCY%eD9l; znN77K?;G7ksu~-E%g=`mPL|(c1vNP4kEm24<)T{cJkMMQa}r0XmJ9#-A!R~N$;_fO z!t2qq=>?NJ;66L+I46~s#dl=O$ur5(?Z?<34zcI#>SSgi^v2EUpIBD3*hNLHmsPu8 zhO=nsv(T|?s%z}QtGJtQ3cKv^)}}6x+aj{ zZfLPHaS3{?e>PlxY=D1-{*{{>Ouj0>4m2p^gP?o=b49cCn*kTe! zrF7Q7_f2K(SAhljIT7I)9xmIhom{x|tAeD*JqBPhu0FD*uhJOjkTP|@UqP(XVUqXyr>|*M?T}@k&NKR-s-sx+Xcw%!S~+F3&ry;$73Zl z^jlV+u0~#pp!VF$Q4C%+)vCM6H;)XIt>iVOF-C@|UUTXyLE2=AY z^FKrcArORo1GGXAwf%QVYYGcq@%pR0cQ*cDYP!4&^u2QHKT-e2r5__Ah$q0!ov-B$ zQf!hR?IZsvQpg|hy1J&eD~(7X&}ci9H%;soR7NRcz9`YKVFiWc{MCgi2ef+%el=PF z!2*QwjIX}7ao`ZiL@XO2rOR1!q;;%p>93dmhTk4it*@*+1s@OTn^xx%u73f*(N9U( zV&u&6_8&%0Jk0*-ttsFuWgR9N39DqSJ4)REOe4r;)#La$HV5ERvP_pSKx(HF6|!#S z6iE{>;Q%G+NoARibLnh4BLM2g^ai+M3|Vqzdizd79OH%F42=uyz=psqB$cPq|2$jT zX!AFBh*8*NYCN#}GA6MZwrp4V54fAlu2fHy;RVzPV;DquN*L!?+N+tT%rP}@s+*2Hm}L-EKADig1AWKnF zbPymGMfIx&S8*Cod(Z6e5nw1P%4Dd0+H!1ABj*I|dh=loL6-`~5$wOWS+A?i#U*8XGy-Z_c z+%#pLfcJSx0vgjYG}PA4Oi1YD+>3o)Ot!PjssM;mm_?D5Pxs1@6jegP!K{h&i-!o} zC*NV!n{#AE9O^UswKD>~?eW`VYU=91z))LR6mX{jrZ}zXvtzShc0)r5h>Jy-flV|H zaAOOKO6ukF556y$#T~RVEzW;3WY{NDM%D?0>NO4}n+x1B=9hQ#Y zmn7=Cs^!pHGPq%5X&G~oAXZU@~(MI{_pv1F$?4Gf&BdOEW1SFA;Wrgc-tmxd*;!nC*Jp zaqmNB2dZioH8x2c%M-zYNqUIaN zyG06}2tFpdgteLY2_DG7YMEG;`%Pj*e*U8{|6`o%*|OboeMJ2@iIw{6cKx7;)O*2jWX{7`od=Gtb^?`*xzua z7&lZ`hi5j-tpfVHwzYiJCtfYRQ6$6Zyh&iLK*>~F+fs8mC0RIPB;L$4A}S&Rupjmv zxyv;n5RZ~|3r+o{7;#rBE32YdRh2?>3=fdmGxHjr!?_CAtAQHUK`H6pJ_0=%&)KWk z)y_9ch2^C&qXuO0oA6JDqc|eHP9QZyL%44D$r~0iuaC=tA#wDBt|OiX0{$0juC5zE zmUirLd^A%qAvTqnZa}Foi}es$zu-i*)ULvqFvgD|Bs7=D|Mkb3Ktox*;(KL)!D zOxXtNs+$w(9T~ur%v!2JSR7%%diljK2S@JUBYzFc&dWWP@>&s;+-TwHH!k)l5d#OT zTFEHnUp=1{W%X^Uwk7Ywi6IlSF>jjeN00G^Ufc(N)+C;;DQny`!VX$mTHK}4wKeC>bY!Mr+Uu%wFye$kV{THZI-6E-D!8QFoIZBf?Q)SXWeSl2!e_tRTD9Zoh~MkncpX6c;hq+Mv5< zVDzR%9^aNUf4dLsqGxis;brpLNiz%lVcI*QvO$X zFae}Zt=b0Eh*)QLRj)NPuzvdi#g}GS=zKXAaigOH-nM?|B3LyrFicG1R+YZ~vfTBI z7S3Auy=bHsmNz`EqJ7+tH+{N2Tb1{2J1bEMtb->;H3B(9p>ys`H7K#M&|!;0choei zl>hN*P{6VfpnS+y_Rx;1HQGt2ATA#CX?jsd+W!1#frzp<8d1Y=sJ{iH_vJz8etJUVnyF?)UsI)^>V<53f5G@J7 z((%}ApwDpLz&qI3MkI5*-D9Jx4t%b+BALQXB0_akvzsT*B}avI zNR(2*axc072zIX4P#1{n=)|;TyblB+FYf3so2{~!*ZWNDnWZT4EDPs za3IjByqc4;eiMqi1lJ^mOfH@KL9LD0A9D%|5qjybtE}g30V5xTf|-dsHt1yC@a)Uz z9A6Ef1l`;EiUMrf6x`zgMWrUsnd(TVf?3Udhustu9hJ-yzHg)O0pJzq<~E z65f}YVNNn6c+U$Vf37c0MhvzFhRtbOILb6y3!_*5x_19%EL5>?wQXfwwGsThb)D$@ z5aA`CU~JBQl<)WymdH{~O&#XN$DJztU@XD=&+#vgmo~lnXRY|jTXD#~q;FZkBznK7 zrbF0C9~2xBZJ?hCvY`C#6~J1jr5h2vRU3nA59M&&4}fX~E{X+_iSW37B$3x9F54&* zuWBXiR1|VrWgdL}*&a=syE~chE>$2#_r70co%?XJ%rgSzxyA!G{$l6k$C3_E2ygcSRVNo(zLEu2WtnPB-9pN z@^I!ez|k3~%CaCHE82LeWez=3Fo|tmq0Eh~zY=#l=Ki|l)`?=uU`c5y-l2-Om*1xw z04UNYu1|_{y;``T(Usi6)m7cpR7&2~w*MC87iyL z1A6FZzp2X1B=6(X5n)1WBR~L?cQQ~s-?59~Z?MzyVwBERXpb-{?H3;Sgr0rBH_zZ^Tzzfk^j=bUn}PTd`f+F2 zVnAlHJ%7pc8Nm=yo(x-#Ipk&h#w3)cMCvqZs>p1&T*MmG5pqObpZtMeo) zd-9c!6tZh^{LCH=iothjY7gbL{`XU3kXV7MEP;%TYtKnCaM5G=MG&v*oYjAn_{0gs zl)@lv#19$vzlO$))V)2Wm%`y3xcYbGqi@V*b?Y72^&cCF+^hcqDt^BC@SjKhedLSJ zW*K1gf=%=jV7_7ukj~Us4Xn>^`u!XFABNAv>qOV4=0W~@d{ryw%;kgMjz_DXI;u*k zy^jZUM1|0?<=>m9JZ>W!Im3K|{!g}m4hvhm7_8?cb;uA5^x)tv{=v+2^JAB8k?I%F zi#H+OBT!lno?*PhXVl+jYW{SH=d9R;dU5d)e#r5Oi!P{D$Vb|GYEwL??$9bw!}8~O z;?xxGQ^?i+y(b37<)Q(Jw~h*bjo=T&vXCHaWHF@o>PaL8K^^*#bbMKQ`HaTk-);DP z4lgC7x3|J-a`&NUbneGdUBkONvX%BC> z$)HZ$@MHB|mBmf1gEK|7I7%-`z0#QL`euI{_CjBB@eSU;UkWvpi;KrEdP0k!?!)NJ z1HwArTe|n6^(E<4Zx||U)Y<(W%?wu~7yt8a`0p{M%S8XSq=Bt7|I_bAqyL#{x?lHn z>p!04_nw=O{}-?M+Mmw&_oXmsuKdq%@x+W2;C||8vgHfY8uf)q{&Oh!=82Eq`P7jS z;_U0NIpIv3c>n)8Jq&&NPX%p0N5=ROa<&rBeS|lXMQEhD*3ky(FUfiF`>OUJD zM}PwfnJ-|tPfP3LLJbb4$#y*&R)$@%tsA-WTi^5+DA%9?(ZJhY9h){I6d&tuIL{W5 z7WVgZ`o4!rynSB3h3WfQ{m8>IJl?>DduEbxwE5wk{E z$04e+VP^pAf9E6$ys39(fP3dQh_=e{k>lpg#IlWSI^-RXg!$Be?O$anTjB85fmcm? z9A=K1QHJV(rhWb~ky&0YZxb{Y6DtL+^dLK^{`zNtd(K)+eSEol%UAbw_zBt1Bg8f5 zBqcJ+v|jwTQA(U|Laa>Qv8dX3y~uosb_ftnyHos%3yq0@LSqm2%(?Crh7T`#)N^s9h8mRTuA(bU9t8Z?JRWG|Tl{RywR`JUUn3;?!Kc?4 zS3%Z9W+powcK{q9PPy)z8>J7{@^N!(GCt+uikqniEvjq(XyD50`I<%fAqWK1(}|0T znT;0JuM1i8%~Xs5E-*R-(}abxyXN67S1mAVnvwB7a;!LT=dhSIaApt$8=J zJ&xWwIh8f*T324hD+fK{IiGL33^L9g?S=LvQP^(J7<6yoKlBtO>?oLhYdsgLT{$?n z!nIF%?0dmWgO>h)?=7qyG+d1=_l-}xBBPW#r%fG$wBb_Q1E#1io!{NDTr0&naL{$I z6N4A%EL}}aH8nST&v58L?}vwTc^hDT$jiy}gMX2HB^}y96hU+&^)pp#elPnj7%j{l zT--cd+}sY@54x>2?4-@~p$cVM)1#xtW|pSL<_>)Em^x}XEd2C5v>c%ZDk+&M)j7o} z6voX-3i6uGu7YvWV$jE#q{v${WhYJm=oZPugzKQl$)2BoUG$q)-tmr`xU0IWdUmtT z7jq&#-8rr?D_Rp{wY04H)5o>87zZ@3=5Mo17AF3AnCFDi|Z7W3923=LKB?q9RxR#ZfaLu|>( zh=>Rg!5IpV)YW2Q?~{?^R-&X<)~m4g)xjI1`Fzdly_~TfPGj(}>FRs?ksrc9y3CY; z^*d^L zH*b~=3QdT1jI76>oi1$DnXb}t*VGI+0j&4FVK%n(i`U6V-dgX}mE^?!;Lyu(65Lu_ z69sB6z-kIVPg0OHJ|8H;dA#vv5tFvhq;WZp=czFJYMXFXrGv%xZsYCHOishrmKI3w z)TBV_pvWwLyxq3@;i-6^%keu4G#;2_38Z1w@5#xij4WjK`#xgiSEEO`PHe@s1F~&# z{I~LYq9D{G&B8!i*@eJR${a9?cel`2D1s>i+wt({wm{Ck2s!SjmPx=OXq&D!8pdS@ zgjUY`#J-vlcZs(~N?vB)>4|kL896&7PE^UM!OIRHed@7R6ix2f;jcuY-(XQ`|rwUdN!yDx2cj(ZxE zON6BdQasgiDSN+*g*mEC3kuWj6DK^#O{7i+FGxB@kb7p5o%VhRpUqk4X!V!d*VPRS z%2nQ}@-%N#zFOtSD9b5sHsc}et-|uJFo5~O+vE8;O&6jtNu}9J$w7z4F?VW?e`dqU z9(;cpJ2ywz6rKa64`Wqvl6`iBfZOp;sv0F`%Vm+vip%R&tE`F``%3Xn3?}{jWOp}O zHN~(qjxhL=F8Sp1H)rg7)*6Y^&sr{k&iSs529x~bUB)}0Q^ueCRu?_r%onL|Dq-7S zHh4X6`O?-&AT{X2IIgDtt$OKO(~tLOU-%d!)R;?4ONs7o%3rPB5 zWA7gW`H<1ruoNf!S}=OVjK^~7WWObGxTu87KcwHVv)7~%)TN?%KK957pl+t!PTSM& ztUDzz(1QG?K=LO%sRsIfUPF;f+clTE&5qi`3KRsU0Kl;O_7jbQw*0)!sZz!(iD@u# z&6W3Rl9S`$y7L6z?AI1=9HFW#7Q3fQB#7zLzfq!IeXLppy*8r{A){iw=M*GN7rjt$L+gM)rZ#al=mA!-Zs}?)qMul4^LxC ziJRd5uv!GBd5jCWgi4g*k+E&Fu{TI}tvoL^M{`bb`{kgK@C?$c>)DNeI(2r~{AMUx z)m{;7an=Lv_$3l3Tc}3HBF}h>%p9j+q>R@%+DuUq3!IJnjOEW@{OsqwCe!Vksk$$6O_q{LpO7t=*G%&)KJF%3k#4= zh<(q0^gWkLbwgUfx_mz;yp8GRl^{UOjKjJ!s2HL8K%DTcoZRhJo2t6=P1J^v!dqD= zz213=_EShm>n5Ly7X4JDNd%*7!$VrXz(65n2(XQ@Y&$4Wgy^O2t1byWi!jX-_ofy0 zQC%5Z+pu5U?RRf|{9)0BcjwSvPR8xUN0moRPo{R)4QaD7GxuD)+RK5o-~sw;7OrAv zlsiB02!_Xnmedx(;h|yfRM2c*6_&2Jt4&Q!`QI%Ael5wYn`ULhS7z!9_F1bG()$VD znrXOcYtt{4f^HYZy)}d1R6q{d)m*j(|F5effVKP8TIswAXgheazgeU(_vaw)2k(lzGijNlDW;ecGQSArZk* z0AbNT)~BH^@8vdS^+whDnKVYn!rtd^3u7@^;knnWazh9m$~z!oL}X|;LFp0C$p zz_cLg^@623yW_`)SgIq@;L?d*5p=~|oX~bqRUnSbi-hN$_~PExRLl^-+W<7zXzAQ- zez}J{EFMc6{mlh6>xJI@)gVo*Oe42q&4j%@CN8w1wy5nL{3hNpoh}n2F1h);UUncv zqh;vX&!vDD%@t<6TeJ#F@A30{!}-*ZW#WINC?8Ngf}QHT%ka>E4jkTHgxN7+&bxQ{ z%!q`oaRJ$sJ0h;TSau5tcj(e9c1*KhQrPD0`Wrjzjiwx=dV2HUTI_xqF4CL+^oCAUpR0G$;hb4$V6z23i@Xsf#`GR^n>fm+ml3O#0+8WzOPc{ zj0^*QcHZaK8;V;>OM4PKfe=g0>tRRZDY%s>e$#BEetOmrW$z1KJ0qEeK8?C=}@PmG+%0cObyWc!TL@(>1FX zx&*E5p%u7Sc^ryJ1;#2h7aveOG2|3 z({7lYc-mssAIr-j;)=sHK94^JM4eT5R2(zKS1Bk^r7$s9NmYTX71*nryRRZJEwkH$ z+(_K?F}6bp9j4sN5&>j9lbnd?$q>o-IB=vA@my5#aGEL%wE?t>wcL?frkqTB{Os-y z-AgR!z{J2#<-H_z>Nv|b<0Yt*N zR#PxQx``s?-Hrzw;@vT}-gdsNnqX<6eT_h$)e|S{!It%jhp%O2YqB6-B+c-u0wj^7 zpCxMf)1*zO_`$ZdFBYHU!okRP(sEnCb=SmFeDp-MlH4hX>zuVIDLvX5ucDHspy0@v z9kG7?$FjumPJu+HTu@0?#*)jXFh=;cw-*m88p``n@64r5PnAmD9or@-kYAR+5>Yv*g?{=$%VD-~BV7RdfZjP3xe0}FA!oo!=fL?`m z=JM2ehK3Xy9Ke^^A<+>;o1)wF zanQtppB#xe5VnNqcmU^7`W5x`u0=Zvn1}_Uf6-?3uSxfdKCDB&GSmdP=1a^cA9Ck2 zS04D8Ht)NL>j!4#vOz>LJ4}mNyw9}nShLTzCa=Ott(q?DKVddHZ)D83ROUA zAE3E)|KTPAu_hN-K5)J+dJVEUSy)(+Wdk0vy*(4E&v73%S&^Ak1C|}xB)QaY-yk6` zlBj8m`8U3lV>f*}+KL~Kjg6J2*Avyd^de>@N_>$-@?F!5=2cghOuSOIST-H)>aUug zpM0iY4X(P6v#NI*?#g4C*sBb+vDe#885h4XBZoA%(t(nK%=Zd4a--O+ZJwzBv1eU{ zw)9ETs`!QzP0tdCH-?f|fuRs*Z1*z#h`#B4m zI$~q*S1M5+e=jb6$(*6E1`@!wCw7@2pfduy5~znti%zb5j4OTjyKk?1!}Y7T7>EVS zUp&6q;Auzq{I`Dt!#lpH2q)LHzZ|?aq|8U^fguG$L-6(n2Dr*KW*sU)a#nK@3qu&% z4z?)urxByyp3O;}dEnaH*JoC&Rs<}W827PgFx}LiES)rcYs97|p{0$~nV%!{1zPu8 zvRqS>jN#9KF;~7Rcq|6EEGs7gm#2+aD15J5O~ZM|bJ8MANo4=Z^c(Hz^!$429m*`` zo&+`tm(KkvSV?hls;VFfuP}|yZ1TQ2kEyP%A3rm5RPOk=I;WUE1i}!eX)_AuMUKw> z05u9H^WfiV<>zldf7-BPl0!)C>zfhW+(Yg9egj2z*5?M^H0YH8J32{V8coT@3S_`rF$#Gvn4I~2e#{>S*?<#t+>Tx?^Xhi4=u?ed;WzJgn3 zW#`{{f4j^_^iMF(TS;u`RsM_}KQNrGsAV&{mp=^*OHDJte~V1eymRPt91_++B;K)l zooW<2XuR5R@wQK+ER?we@Sp|V=aiLfR#XaCrs9V}4bG*^N@Vjn*dIIZ4Xmb!1rbiC z7mk}RE~Y{kcFX*aPI*2mJyz6fm5B-!5Y_0HfTlK|HxW^?6)^@*@aE^HjiJuvR8^-A zpKH?7us`NBwF?G%dsfzWJN|ghps0+MsIBc}xnF;~2{=5OHN}127tcnk>h<-B!wV%r z;|%t%Kki#UR8k`EKDm8GThaN)akr4gaZJSY_$JS8Qa!#793C$0U%p>zuBccOq<3Aw zvi`SCOpdzDZ9CKVyF_$qo7P11^h}6=6WL@1q;=Um5dr?_oKV!nZjo+a-j~`Xi zIQve5x-=)Rg2o?QzxnZ(JC0$Y@!?Nkr7z0)A>d{ufS$F)Z0dwF1OX?^goV_MEC5{Gk(RHO&&RqW;UE`gHmo8z-B^nAwMXU#cP(!aULqbo>E&&SCX zKV;Bks$kVYKN=Cvt&bn4jlWI+}xoqR{S@Ll>`@ zwJa(nHzo=qnmz43fY@3`6wuMmIR_0h!4XoL(OpY}Ot76;Lnr41OOx-@$n~YOsbqMM|2KTtpIgMH8$QbaG#e-X?z_``N0+--Lm`fR|lyXIYYmW9vP z7XFJQ{=PvzgDxA!VmtfyIxT_j?R}e|?iXzB2OuH+a#H40I4I}7@}?t%teYJ6H~NUa z8Q2aa;0&IP4P3{7?AL3xT+7ocDqJny1O7PY|6CWt(}U#Rtr_F~wCVGiX?O;k2nt1c z+S=P77I^<~K_rnbIVLNsa;r)xDuG+At24ULw{70$0VerFbEgxbV_~bM3BgRU%r|E@ zelQ;giBrW2EgyJd8+FDA8BUaqTa-VhP9Gn3`g^NCA1hQ288@Cm6*M(-u!mRe&j4(i z1P3CH4VdRXXr&LYAIQjz@H_ojkdC?NKBqb}f>l-xV$8g;R(jtm?NnWdnHVG`-XjzPWei=<$VUMk3?byjWnRjm9f^Yutr^)62%8$dS! zrb~_Ly>w*rZzub|Zu+eDjz3Wyw8-#~F+Uhl`nA>b7NIR|N-{hnr`UdbYm&i2KRtBg z7GcwdC2~sW>Ba0?vb)!$o?)Uxj93a?a<}aI`F72dK}7i7JoQ2~=EUliIFHu<$2%C$ zw~TL<$tS%D?C1{k_qQ}L!MWKMyR43^wAfU8j^AXXU}tA&sN^D6A(xc({kx!w$JeAJ zWK<8g$-(V^xsS7Mm> zd4Ba?VJc$z>|BJ>H|X`sMv<0Vy)&jvknj;yUm?6#U&E#SrJRAG;gBevNK91t0@dii zz{!dTB_pc{^`I3w;wh|t<*go%*@?5Z&huZa?j)+E4qd34%d}Rn+R*R;h5R3muV?r- zS^&4aw>QXNS&1SkRx>XhKZoG`>t+7_yyVd+@uW{K)~tNi6H8o%ZMRjlI%f3*Lh%UT zGr)=#1S%Z7L@?iKLlX3!Z0xeuT(Cx{3B5@HJjxyy?dewwKt(fRV$@04Yw?%jQryn_ zOVh5?SBbUUb_;uINr*_f-(2MlDM3{fA8)WiQoo%jt@H34{TQjp%$ECke#A}rUyV64 zC!zCn+@6}88WMv7x>)dsl#!Ek>dK0MhR4SXIsd$i#{N*Tz+j`BrBk-U@rmwx`HdC~ zK;s$kC8Wn~3l5hY)O#&RXXp&T>e_C|(Q(V_(^Df9sCO;}4SD-ENaVCgV@v&|kjcRN z{5tCicxNXjX`NMLftj2f2c%phH}EKM3lr2h(WRl|uBQ6$w{0cp{q~9q{)xS*vcCc9 zWgTO&%h1LsSlOLCv}yz4z~v7H{i*A5)o$Xj$i>WMa&q#=i|Xx~{h_hk4hHEsE^5&j zK?6ypAyD_j(h|0VtOe!X@KRIhvXzhrGwv|%m@m+9!08^%Es29%M1WKtAGn&j+TQ*# zZX1So?2c9Zi%e=zUU=~waS;k5hQzY{A^-~SU!);BLVNaZQW%(-17NxPk&F3D3>GCPBrn%u?GIQ6&|9e3p51Ng@pidsmRyGJAe+hMV#`g2~vvZjYp8%!obkK#1emF*dqWJv#pyGG(2ySBDgbbv$a7v#T9lSD?$ z>UGHazr)wb98(4gRG8L%K?o4V2!nFY?zXUY{RPJc7D&A76c(QF!H@9E;;1Ksii&_2 z!rtEgssIUMyfn-fI7Tner7lrStRl~#=f{XhM8utqFkIVW?i%UM&v9{{X&D(ApT9i> zL&vmql>eOgf9LUr5(b$}%d~@8BA;nVJwCg^&v0i=AIv<}YDvH7+Pc!m2WbIh$jdWR zP_AUIkzKE~dT(s~xiF~JV5q8ue=XB{o;Mx|PcZ?;Dc!?|1ijcjBFb_a1JlEI<+3UX zDr#%jVu+?;Mx~?Q($;fp-?AVG-`XE0{TAPKx8A{J$k%9|-E45j`hH=FmF_MJ+i zx&_2~^@ZQGQBdMDC^t8EDqXW~>I)Vs0Ty*;)OxY#HQPN*BBW8$E!#DxYkSk$ zFQLkswwh(K%2k%yDk>u&NxKbr13|~+UKqdp-T0Yn?=y4Iz4^*lqMLd`neCUA_Mc~} zvwDEc;lH@kdhJKYCXf*J%ki+JlV9tHx$322CX3Dgxmg`Kt4B1ma?-kfa z!tOXF==FkB8U+~pjQVwHD>n9+bm!*$kBC+p4#7Hq*U|L|QR~>#a;G-VdPyU45s7R| z0nTSe7REXKiHWLHKo$oGv>RC0hkfh)?7DSB9Fppy#}h{XcnqTVh}HEn_HOdSzaEE z=cP->XUS#ac*FNu%id%?jqT*G-inIPyVy;ys=}Ht0L3A;CIqc%K-qC}+z81*4DO5NYA*ix5{ZKo5vS@-a97Z+)mf!8!$Du`= z%T1&!%5J}FIl+;p)mqM7!n&7B_^Ef6Uu)kBHIKUmR&NWl-0mRXhToO)C_^%-af}9^d{08^@ zbKo=hUz7IVKT$)e|CRRl_cwgn|KIQ+Gx!UKF6i{GBuW5&dG`K~WB(s%MBbSMJS?i+J$ahg85Rvl?PQKlrRXht)WbJSdRjxxC*?a*{LuMvpYC%nIO;$zU zqTQXtuigZ$*1i&GznM++#=Do!?wXUq8<@FrSp=a3^Yes@HqNIX3eL_d2t~Z>>9OTW zIS9FYLs$yC6nfvAu91v5-Bh%;-i1IwpvVW1qrV9P7B6~x2S*3)oPt^nN&%{A7SgN5 z%D35u3EmP8PO2IiB}4|wQWGEi|o8hQ4NhM1><71q3>#kiNo6V<$*E8BAZ`0x5|$(tEb*^kh1byT5mrP zT&~&&9Jch)U-q3&*7K_S%s8;FHMKHmcr-^CCEDhyrG_$suq%)ZtyCUA@_zg{M*8@E zms(nwaKU7nzlK+<+pZ@&59wEkmP~M;pUWR+4$izQXE2%OUYT&&=a!L)wmyA=!v)OG z45VOBT{=lV(R>6LH9!`{!p!WnA26Jn_@G#__#%vT!B3Aoq|jyYC$MOpe~JGqFZCoC z16KwF=`>OSX&5n)UTGG2yy4V5WvD$P=x!QM9THi3Wn;U!G3`8ME4vsUmp7m2jQSRg z5?m#c6i$@a4$f*P@|oHBP6rWME8>a3apzK_%$zF=%^Ze@!2 zImI6&tjkt9?R<>Z_TeBX%Bp3vdUA^piL7()>JnPMPs}Q;O&+CXNh08&At7NMq%*d& z8;7a#}Wt%{Qfqk`=vf}cHIs;AfhW5Yydzqa!#*5gJY!N+zwoRl?;o8KSH z-ANauC2O_XFz&fvciw99#150Cq7o8zA1v;ELACJa(l}LH&U^!MbGR#CJQby+W zYnj)H9QJF|RAqT{@Ax3rHqLb-974bbx!;ukclN|R15=0oIX<(w3}b+760W>yW3yv6 zn0+%RmVwVB+*bo-b5(pSsn@reQdDk~Uq#VDOPKt%;F^gKIi=uXA zz?U!gu)%WK5=iN=GFfQ^7BGLHiDzYJyO2LKSghZQsC3)}C7a$)&khzLn9HSqBDYwd zXx2J#_w0kvdel=(Oh^DZ_gR{{h5JSb%x=5s9USD{ryW?$CfmA5V}Nz?Vn!4X;1v#e z3EmnGwHYPAB$9Sg7qGFh9WF~mzbA&qX7|2dv^kxGRkO0NY{i#Ot)wQ>+(ii39Q6;I z&e6K~lA>Ch<#<})q@g2E%ckD>V_l_2caA!bga{OqUN(*ynX-JR7dG-o zc+K1e@R2rxYxRcg{F_Q%k`Lq=RU`FC3^Q(ksc$6*EV7Svu5q%66wc3%9`wm{h$lpd zX#TjsSc{WSWhIBLMAIU>2b_h5iDJ-UG16<)9DruXx*c0Vbyy!LFMD~Ux?i= zdT*dEm)5BPN%Z`rxaTeJE9_}Dp`{Ne}C8sijw&0x|Yl7cJ0Z9yub5Ejto`tL8mbuGEj$<*5-bW7khWnXO5mEB5nV7vICvLd#*DkBvJ{qsQ= zjayc5yxP;Vj`Rd)*}SJKhu*$?e6GhE4t$!hO4Jmkz%1|9ryvn2NlE(T!}Xyae}H4Nd6{Ol122mlo4AHogUUDR#!A1Zcr-8IrgMP(8%%R(qJhXu=+= zjT&Y`cGNsIpV(>i+m;oXm!`eX?P7L(ZKvVoGTf`L4*-~2yw~kOy6RMs^(UD0(dS#b zM^AzN(~8=j6-RFSZtN0XIg93VJsQcMZ`u>@m_F_SL_hNK^P8o})5*m|K;!=?+^=~# z0o9yNMTNqqQeh7hgO5(9#T$SWlH-GA9!_3@Yp@z?@%G}cJz$4S7?c2fd8KLIw%W0UAHhzig(zs&Zy&;f#jpci=V zTu}J!$+q1@g|+8WQl%E7Tv79XmnmNBk)%In8xHnuFIr*Y4`6)s1EhB^(viqYXl2Pkua*WpE$nsBzgZ{o^~ny*T+J7O&Pr@zAJSfF1KsUOw_~dygr*WvtNYN@W@T4BBasp0r+6O5=J31V;r|dJ58`ckxoMuOj z&hN?PX%-qTTM9_ir)XJ5v71I}S+Ygr8a*4%(cG`Ktlbr{DXU!NbTcJ~sq9Yn$|eAV zPe#-H3B=iZ5xL;wah9{Of9J_5QFYTwpL;s>)5{W(ukC8nhB>DFsm zSQgGdj4z!QR9Nje1@S%nknv5A%Yf46tEO}y{1|j`Ssx1AlRs-(@UDBkpxH#lg>kM1 z8XSXAT*dt!IskSZy0KlGZU%dICDdTFuv-fX1+c{BVpBk??tEF{&!Po&^TK2U6bk0roznEmmTS=2FmG@@vH>So$-b@okvfPW4T_y|?**hcKwjy_& zIwj80tmb!IW0Ah&kEP(jv6qAk|@UF6Hd3T08&Jk-2iY zL?F_hs=RTQ7q;8rxmf5@JG+)9LIBye86Rh!y!zd~hB=Q#sHVECB5(H-w*`rbmlqbS3K??)iQI`|*E8yjqocUR z477$pm=;VC|0G4z1BpcpPf)3}Wl{>l zCyJ4q)3v~NfV7%VB=L5>XoqDrHh>)a!pr^k)=R?NJ`N?2AOt*fV>O$~ zG*PqC;r0~~gP#LrmS=@xDR+if6Wn)GQxO^~4wb1hg~X>vFs;%SN1mOUhL34!EoEgV zy?QO*($Yb6b6|eoAstw*UH}AwO25f|yV_g+C%kP`CpE!g(4pwOpi0Nu+oMVJW-O1p znDnrS2Ij$aQGEqFb#*+`Cg2uP&~zRw)+OzL{pk_vgTJO26tGs+Nc(C{i;hWK?kJWN zmz)j54rccN8R{1b1V!$?fwZ>kVXC)xW9+L!=Il3*eB1OnrY>5^zNPtnT0FmfTib1s z+uW%Pt(o!&fQ8AUNh%B2z~K=N=m8@*wpu>v4ATB*=x9-1pLo=l-H(~al~o=Iy;U7W zE^9fdQrt6SgMK09Ecx-{nVFoASG>bgw5|vl&v#;`YOU?FV!-LXXF|*G+B;W@+~20Y zp|^ez-$V|9v|E$+P}x73m*_Gmxn+UJgm`=~MtLD&%P`}J_CXcA$TH}a&9UmFck1MiEunC+dVTK zV2sFb92u}{TIvI8?6lkEBKNT7Ybc>Dz3;8bnii>=%cTyK$G&|q>yY7km0NrBy}OSw-3+G$BY-QJBYFd@fx&Y?jyE-^ zViWtSOW)vZ3k-C~r$%%DBC~It5u#rZ#LRb8wQcR?P0ADVVaP*xQi3{o^Po}pV#eWZH*e?N?NC9Y zGnBwabL(FcIBVyaF*Mc;NbKh2DAf2d<4S=-(p_j|6ETBN|iJoFn-cBjS`0Irqe`SL#4u}%| zez?XLn&u$SfG+uMO6#MDpPoaze0;h|OKsPF$mZ29Pu;knnsV>CL}I#B>$Dq4Av8*g zT0dtTK(&$*cRw|4Iw&ih5ai-krnq{F&5s+Y%(%DyYH4nM-5LEb5-)tSXS%W#C9>L3 zNSrA8e0($_J_a_VD((*$Mv%+4tjPUx;>%hH1F>xct2~(iAJbO}ij?6rC}BwT;Kr8S z0W0N;o{V0-rWemWJdTHkBJWurJ4G&njJ!R|zV}77l?|mA$3o1gKU$V2zSkdL3_gS} zzI$njo)&=js}}lFk$_?4*0Q!$h)Qm*@WOP_#+K`Y6k6Z+n`??7(cw_)8cOT6uogTfEV327i!tS%^0h*RzrNic3Y)-?jjVXS;CFXqU96YVE_w0Z> zvB+aG1{7VJj4z#>Lrq5@v>CnQ9a=O%ak~W)9?P*u_Y8aZ+>Moo80!L_PI9=nbOL{2 zmcj?)^DwW|VAdo7WXsC}wg^~%Q*4jkA_u>X$Z}1K=t};mJA-~u+s}=utUGuhyPUAY zVI0x{W39Y!9NV#?Wn^X^IUEmsPD%g!6=Kx=`s;Oa^U$hPV%Bgz6X{sA zp*1lvVP+X)80^vhVP!EThz1&Z%$^!)!48S?kw*gCe!jj$9Y6)-aj?UGdvt>Ctfu@* z+x;a?yIne601V5y^rsR8aj%d`!v}zeOO_aqGE&37%N{s>Wtc5TH#&M*HpWoSlQGaP<%>+M#OPrAUGjXlmDc#nK%ZZ>U(IS&cx|_;uvw~_Y9+`hk;gDW#;|sH+m_Y9 z5cyOQwMKg7#@@8=BHoXSzpCjA;%dpk) zil{}pF2Q?)vx-3^{>Xt=Waup7ulQ0m9-#V~FsriWU-?y{x3 z@M>X7^<`L)NY!l6Q%EnB#mW2%yPn5*etZ>|{n!`2^hB1H4S*h*5~}ol1e{vHl}lR? z)g@4Z8q@OufPYE>mRR_`C&G?{uSKqNUI&H68*E?KUX0bMM$YqYog%a*3yk}7;{^l- z6Jug{Y>(o?!|xhDyn%ZnrwgR)Hp*!LAMzZ^QNFP&PDP*G-^05PR{n>{AngFittQP( z;6qd08Zd^23+c=aDr*c4v-Uo-c2MaMJ~x=4x<}CaS%gJttx;`{X;CLDPQ6EuHxkZI zHjan1G_9SdIry$wxE8aX8|3egXxH!9I$fV|-oK5#N9uhGZ@4RllOcD#bI-EoVq#XX zituDRw~T{XS`_Mqb^4sL`OcrgZpHE94{FHmOG{uYrN_!{dV--U3p@KN@&?tOr6zbC ze%mM}p{iqKt*=0)#Z;N~zSuP52yr58Y4TV^=@F59dRN&@gA{O`KZPE2$D(9kNk<7S z+tL2)h)qO1ovs~k_;_)SbU{#)3l9L7c5?W@0QjTS9!~P}^LXg#yVB7k(iP1G@^MI^ zT&~@#bHNWmAt=`s%VXa~AWD3_?vQyLISC3K9qsp+T9$7*L@wIU%K%6Lo(=K3yO$T9 z&`F(W5He9RQ`;owMzEg|~Ry>m-LJIU{4m^9tmpV@^+?pI_*0 zoJP3MGd$l5m^&3W`vVrohwPmh9m|0gZn*;s`FuPRyO#Bvd2)4owZ!7#&;C>XH~9MCD`V z%wf+uYpLly83itnCr>BKJTBD|mM_;q8#cQh)eKI%%+ zY7MY_60#E3{BiLm-FpQbVeKQ^3=x2NJ}xdUg4=KT^rt8h_u$}FG7%?Wdbymz!94b! z=SQw^NXAi1Dx%$SQ5kNgpKTl~5Fqr1RYU;gdBw~hj1#ARE!^YIT4 zxJ36?>aFZ|pPNZ(#nRitZIoJ~8Dqz!f_7!LO$FniA8YgO-hSBvhiK&u>y~hF%~;C) z88sx#{|VxP4*bF&ptP)h^#|^Fi}{X58j6D;Q3tiO#Swg-80mMl}-0$TwGJy-Q0xzI+=Eh(s45-|K9f;18S_c6?w7wYB`z9 za&kSXMO#H1fr^OD<{TB+WmMNvXQy4OjKjF3y`rMMB2m1VoOPr0utn)QnORg#%S!3s zs-$8?pW)~AuACdC`W(@H{e5FDeK?$PkL??!@fo4^PPLEvNE7MJQ z!_2;F?>!dd{q*Z!ClKhc_jvdil?-6$ucqjiUaS@07c~zU)U9DZwg+RtN(86T%GoUh zxt5jGq6ZGK#r6#P|9w}hYg~U@`sc$l_SwH^{Qv$wLywQ~cgFqw zrR>(Vy1!rlepp<={HJ@-zx{u^45asf!RR&2#z8&rpXl053^j&@yKer%=1YI#+CsOV z@s7oZYT#a9CCGbOIo_df`+FL`nKtE zSdNt?+h-HBj+mxRvjj$fJtiwFJqVFilqL`W(IBOEVI ztYf>@GzcjvlN16#B8o(l@+ zQH!ALY-|h^4OE<*JUQyj*b@bn-30}TP(x5S7U7bv49o^)w24v>_cNh+ij<$xL z(9jl$8cVd7+de*Zc7EFHpd%avTc3f@hTJ$0?pQ3@bh&>U_mk)xT3IJnNW}kf?S!q)!%Lcs;Ocw_Q`)aGK@i zk0=NTX}n(f-L~bs5s36GOoX}5HelNtnwoG0CIklu_v%?FXDY(Xrqc#ZVv+O{7}cTI z+w}KJw3;JceUoFgq@p!hUcdJ5mj}L-VOspe7-=1LoSjP*uBl;BE z8w^%9vHUe%1e@kYd%D`&+l3LK4M%qVucP+onB0(b+rFH3Ikx!-=yfrtfz@mY&}~1tG-p0eML%o`_XmJp7KGCV&ClSw|gj&%%m| zD`p$TW#f4Q8fT&6txXQT0ugSZ@P~4~dQ`T{-SO(EOOwYe2-o$mvu54y7b_yxlLX)7 zR83`AB41s(D!Oo+HFi)-i$}dP@U6B8EW{@Y?st2StYz(aeG)kf$R;v2F{yHM zyNvi?R$Cebd!=#>gt;TvO-v~caT>2-`M5Yc`#0%+(#p%qWn^wE9XG$D+&sTqRqgJ6 zdD*P%tCo|S%bb^$W%7TRd+Vqu+wN`HMo9ssLrE10kxpYoBqgMVkVfflMpQ~l8l+1a zq`Ra+KqQ75Mmh$DoEe6EPj0=R=l!ksTi^QDdjI(@SuDN07-r7c=id7`_OWaJ_X$4t z&IPqZ^sXMaGE{2J3Hbc^9+(*FJ~@zA;pWDuJM8qnO1-!6DK|Gvg;6{wJH@f-9!9qp zRWcw*M*>lQ`7%v4Z`?SERUA@w+52D*6YWkBA@@oW2VSDDH}H<6r1j}ZW8cj2tzt{z z<%w~XS;FgCG!Ff8O=&{5OqENw58vs;V%S z$wp6e%SL%PPr4_sUz{*`Ok7NgWHJMsJH65@OnH4YQ`2CXyF(_^@N_2GU6gt};DdjN ziL&#F@geVJchLcOugMOmCnk^RF;S2grAHnc2{AJb-ImC>NS-X>vd~`IW|b2jj{F%> z-Ln{%L|Qa7vOc*DN|+KH&1Eh2KhI_+lU?J?SnK^HS$~>aoZm18{|kWs8A7|KcEA?* zkLCF!u74?MG8s0|c=2MplZ1ZUrLCx<`J~KG5vHA^%wC{A3R&2gZ$pEQNTOdDb&flz zt(yAy6S;$_xh*DC6*-1^p*}9?iDp;csg>)rt1C&k1IuA%pWo>O=ws8}rC3Rof+(&A ziaHz%OJcvr>(gQxTwj%f8zeyL#YJ7xXez>IPyIv9o*J<9HobJEUheJ&nnBMYqnHKV z?lQIc^m^k;iXf+j@ok<}UUGMjUYSr@-UwMn$q1F?=b?>l?4XecFEjF56gpN;GI4(m zm}5j44Mw9p@70MVD(=5K&yHOfN&0(W$oa)aU_@qym>$J-?8;EEwNt*bBjc}Ms(K#1 za(y=ldHoGV7?>im9TgPxOy7QzH+9$6cGpfwZH76FY|JpgUjXHL>4N>qOe8 zC%d4x(#tECu=ISg#anYbHF|ZOr=I(-3!1^HYS%`CnXJif7AlBH3g zlp^wLZC6tx`nc2^G>&J_DEk%p{`-+QhtmAE8-Id?hzJ|!p_gK4T~^JVTYOr#Zd~^J zD5m6#-HSdvz*9zOK-F~BWlb~-Ms=)7#Pf$o^GB(XTWO#9mG5oiTKF$tAJXNfWq`YcEqCErs>?cdTRR8l1V+Aqb^UiahKBS>KkoZ+WurAX=wu{ zPR@*PTU&(+@V=+?Y`ti?TQ@Kpu0&H(Zm-GchpUPk>s>{Zp?cc(bK?1j-T3l)R;V+Z(Dp*0<&sayx&nhOE8_11tEi z3zybdi@)$YB&5Rk!xc)E!IVbb3$J}2wa9pY+W0HpyDrNnCRwGS1WaB6i+c&>cg-gP zW@ct=2VjT2a5>5BFLeDemNtYKIZ;O4n!F%$eh9106oVZ(Dt`qh%SCIY7J-X9WP`_~UYcg;6$ z?M%0R2)I5}=WGct#@A^NgLh`9Z)2n7CXzY`t#F!{Z99#QiG3k?=H_~PdDAzx8d@v=7L-|#KI;sf@)zuxDb1&9Q&4PkHq-UGI%LN)65b!Z@-|I1a z9}Q7gRe!0XGV?y?_cooVZ`9y?If>;l$iXG7=BY4d=AGPF3CuOKI%Q`msI*DcbbgiH z@dnrrI~rz#)19(kpFZ(tVW9l~asjHk(%`oEH{M!W0bxUW@83V&_mTqbiYOTu&VO*bP>k6TUu7yHVEO`lr`=y5R#R;b^kOByInqE#81mc zk=Mr#uE(vd5P{_m>O%}F?#q`tfWLk@Y>;5ujL|gEyweaE*tN{7U6EG%u!1E*wq59k z{>-rr?X-oW>ZvcpX=x-V_Hqj$udV;=_=eE35^ri~gHfi)M_ELtdYj5e;1C^*orM@`%*(1;#X1u6}`7EetW<1Wp4 zbO&hC8xO(;`uZNwl7tT2zy2wSStB~GG{N3ZwnqNkk45`zio2kdxmfwc4?c#7fWW|z zDJ7?By*~B7GdOKURa|RxnnL9cy1^XeR)L7JXygG%IH?MR0f!Db2?h z*td9tiV6_&CpNGF%nACMvp2kKPB%1p!o^+IH$YX1Oy*-P=0{%?%?d_)7ag2El2K7W zD?Tx%ZFUV60D_FzRAGda52%^Ok{nIDUkwU(K;5ddM%6hDX zM*FP_#6@&UhNrCJthE10xc|FiEK(;`&Ph1WF)H$oy{!Nl$CLbU%>z6aEelV$rmDIL zf1+ORjMwpKUq2sikvf@KM&=m_oy5mL;FtJJRaG{u&uOP6a@-mP2#q)r;IA3WkY;wOYp91X&5G@H04m8YMiVk(cPtz)1G<|Cq^tv> zBdJtdp~QQ=eRSLwV!kg040rVK_*%259yJa!VnVY+N5`^YBBErjf`WTo_j-XBJ|1wT zkw=<$&{W9!_&xAEI24-dZ%GStJyd+9_exjGZT5*7IO_aoiRneFa=)cjWCga($~dpz z*K{KXc@F8+7$t~lHak_YU)Q|*;XcBpD>`X6;q9wRg>>1Knc!qmaq$A}`po|kc23HP z6TXACSXJH7qob{gAAMVoLVMEs-)1R=>`awFo$GX1)~?gykBE3n>pjC6#V1z)%8I2+ zZS2oP(#t>#$gfFWdZMDf; z?ugv^IJm6W-Skpd-Nbg4@jt5bHBM7S-)GT-Cyt)>ChZNHq{KMzC-|c8pXK&@ z$-$AJrRa_@=OGeChTE754`lK@3R(@9)YsK*2Tc9r7^{0${Isq|+n!L~@_wx!W-R=P zIyCA~E2_l)&RILTV8X#9sR`Sb*C3cZPLmWCKio>c7*-yaoIEJEDV)Z0Zs3QkwTW4< zX&1I=`)3FU^2RrLfYn7u>(9>UQx3`6)3eGky0kz}5Ic`p|qkD2vK>t_gy^)a-uV!?8 zQM1(>ZNj;ERQ=j6Z}CgJg`d)!&D9O27}n?EK6|BIB@ORvn@$dJ$g0u}-ew(EweFIa zUOW5S*}>GJO#H+T-|oeGqU#5d2CFM0Z!0}rHb5+6uDLJRbaL^^4qA4V&!tX}hTk6@`IkGdkH0yfR0i@lVp5g>_~r~}HYlBw zELzfmZU4pees?}P=QVWL7dPmG#h+A9KY@V7H_EK20J*uiXxp@{qhTg9Ra6{$Tw}OV zscZ8S)qFC?+SO)IZFS@7GbR=wTnM)iG>h7HpgzD8d<$L6@9j&LD#|Yw`)0e`+Kjam z(e*b}P&$lKkZD5_V2>Q_n$_>I8_|$H2bHmvLKG{Y7Ssy=MiNM__1qLH=zlE`AL38d z1Tud$*A!t6Rhf-vDLgxN>td+a(H#5c*5wP!N(l*H3~J*88*UIjhtj6qxcX63cY{4R;eq2=jkxZnI!laPmva11_ToP1?oy1w z((~wu%+7B_QGE+TLl1z<9tu3H>_I8<NcjeT)zcSRI8@Y(QM7*klF@>=j^;<%`aecv?byejXV?6~_WT+hW;Ev=$3wx} zhKt*7FOF?Yr_768NXtjxR_f@H1-cODjVc}>%|S%qm<|lhNn)1jY6G5Vd`~l5!+Nqt zrC^AdQAk4Swr?Ohp6`Jqw=*bO>Q5e%pKTKwNF7uypc75U?X9Z8RR{A6bG!QnEuGGb zicXM-E2l^dS=g`DI)-5xDLKS`Aw%{;yggl~tg6OqY960C>Rn37InpQlkeDsDZF-*86r$Vdk)_)L(I+xPB0D6NOE z%;cbQY`H*32hPMD5REfKKrJ2B^@aujX`K^zjiKnjd0^(1$m z=b>D-!%$@QI&a{@@*?1WmE@P*6XWn`?~Y&~6~2G}C|h%>Nnja|I9p?W7OA}+Wwh_(^`U+`MMVwcWoh65Rm6^_dUxAgI0?5sP3E(wsP7-K z5cuJ-cGtxg6(;SI+Wh*wXHJOcCd>{w;~mzJ6?8-2xd*wNS}f+BAF+<5Luu0sd7Ywo zn*~a>^fFTpe+6q6le@c3dn3KAJeO0&rQA04u$R`k6Jb){TsKj>OAm=1Q7w-xo3+)n zv{oE8ey2ZmmnhzC;C%Y&wJCk z$((O$;ApmF0Vhr=Rt84U-UfYZu1!+MvK9xM($9H0n$$p6d08_!;(ArF~?9b(jXdZ-Oj`uG%d zbu~-13Wry1T8REeST$5<$j>9z_wS!PdD1qq2M6KZczwC4D+74Iq7IDxKC?0`$YMM& z!peB~t72GGDEO3XyiKp4B7gt>JCqzUj zK>(*8SdH3|_D*Nh`GVmbWl2oCao#drZMbb}lQ#&e$FT>Sr^`uznXRq8nzU?2O?Bfs zxxpzp8twK%s1Jsu3iws2FV#n4!py~ zwOeo7Y$y)0(xY2<3pG&HmQ6m39n`?Lq|{DEWK6MDQQu2uVx)XCAcJi9X`yc)N z%0fe>t?VWkPB*@k+^6Cq_w(}?70XtAqhe@i__$Rx$MLszhu<@+r}u44h{XRGfJdGm zSkuxa#o`>+bmi0rJ;8c=r$K&$;Riam???AfVUc+O{6Y_)Yf`A3g|Vht=0|0wyB~w1 z0xgyb%_F0f$HvAeRJ@*i?*=^dZWAHce(T|S<&6Fe=s>$l?BR_|ku=UQZfIz51fqCR z%HQfW^#rO<#8$st9~2^GI+9DrsDj-q2@)@8`OiBAn^PU57}aq6TR`EdBAw~JFC zi|3qFOwu|(U}x*-s4_560AGu1XNzwI1KHala->TJCm_UWrKJjdk`m|DzxET(eBt%k zUvIGx79+1|>gY_{Ra8_&TYns}%|GC%|qn3;RffcQFb$b&qjF8DgG?Gt}Zh^E8r@AE20C{WhdEXWf`<_T){}ybeGG zSt5G?`u@XIM_T&ynLN@R?3e|Hzc(9%R{Hr`0g|hPCv&{y_Q@!CIRKc0! z_#^Wwdmi@e!om@x!Gvg?qlK21kG_89;M8YzRoCjF{Cv6P9J_}X65?5ZlSkyq$%iKA zTjv(byGtG|a_0t|awz9<8r-^-K^K!hG(1^=YR3=gR6^>W`mWkxn)!87kbcbZEIHKUr8XEczE9e6Z>X3~caNRw|Y!i;xhhMQ{pr}9) zP+$G{ghdseYd)AXOVitAH#Ce5_Z z0y?(}H-*(lD$`vQZ7SJi#pQg`$XcXXIS;gMp}=;mjO^h=iCp*%B_IVfAV~YXJ@tM4x!ld`v>ihJ zB=iGJ4-nDM^4D11rNXHxDAsCn$`VVV){{qs+63&H-PG>xboqijmm^#17-t1*P5)UH ziTygd>NHeTJlC(@B;<|h#k{_l&HveY!QenLlznGQ>zmsPEiDlMglaSi;ckX@Vz~aY z|I!eEd2lu`5XfcB-N0YS=Gk1;yh1K6I}&*Y*UKC%rtef|7Z)7@_imC(DoJWm7s_;X zR@5|I{y|ml*go~LNXEEad*WfXyu3UeRaW-bUl4eV$N-E3bd{3PSV1kveI7qv2%1;a z&g!w!fafmqi;_QcTKQcJj@&m6eI|_2kOlJGnkQ)mMPyEiP_k1+JRWcL9<{lN)H>%i zvH8Y}$#&+bdORF}o!%RO9_d5-moAf*JYRwN2U1GYyL11J37N>oNNxF}TTZm0sL2@X zg=K0HT%Spqd1~tXksY>tP@KBkbmtl+r((QF-q0g;ty4%CWn3Z@mK@I=o3zeQWz9!J zPbJHyT4h*1mQ0A+ELk7pPO&yOHA@opp2SOc`L#U{%i<8XU#FR(;kQ~@eEa^x2jINa z*=?&XpOOnxE82)oZ7Bvi(Nf@h*=|cgOmau!Ekn5r0#3hvKd{xXN7U64yL);PT)IrI z;`|EeZ8%mTI4@#gGH=aQN zTMj)`kn^N?1>SrLHka$hQ51LJ`uKJa?L*M=Q@7W#Jk{R)*M2*sN<~9wvg`oGDT+5S z0cAoM^wgOcv7U@4ZnaH_;qXI1I87^%+}}V}yY^)G@nC#?eJ#g|Su@UGw83|`wWZnq zf-j^$B?us9l!1WIl~cKKH-}kRsL*{sVzto&$C1$plJfYDO5Vwax}v&LGP1st#lUCg zcElZ$LZ8~^DIz-Gh}$}%W}EZUzS&rAR@85v%;PpZa?)@o1WXINZeTBOdd##GP7KcQ z+ub6kCH4ok2kfk@$1+8KvlMBguL-`9Y%;*`~-*F1a>I%xsC?x*y_meVj>MYJI35rV%-iWiQ~Ya zx~j;S#oC4ZM^jH5TyZJ>Fk`-ox^2<~rvp7bhEw4ZVv-9AN0_tTmjdQ`;0P-FwyL0lszRtp8iw?Co#A%CVNwcW)q`-4+Ev@||YJ)G} zzwPby5^J(h=_@5S3T7aXCw>A4zPH1CvE0aMUQwdfG2eS*N3Tyl54 zJP1JvGOltEz4bBV&DtB!@IiC0eT-;=_7zIeF-W=G%K_EC|5Fc|BIrDy3 z;Xj&VC{0iM-h$4 zn3$d_cL{W#5`jGbJ-8ddl-*;?Vy9ls5whSl%iJY>cxc9*ga!El)4$l$mxSHZ{ zsl7*z$c!-~^-(ixF&gjF>nv+KTXyLRy6zkSoK&5X55CMg1j=gaB=4dksNij|s5+TO zYZR{oa}kvU-Nmb&1wfg;i6X;mt)S z!b%JSDN-1e27DLH+CSGM{iPP0Zj;=bpV*mHm4ka;|9ms$ai*_t^NcOlLsk-m7P;1_ z$_l9%ol2A0@9wtEfR=gj;>G2L{m9)FFlRo_e_$W2$w@Q?7{-blHR+;ck6DRG&u=_fZOl1)`8)#Ns@;LmX6j{!NM48pbW$& zAiyS2F$9lEOh&v17?;mvMIO}4D?FtURJP_x*Rur}KM!vbJXNfc^lG=O+Qu0W+>h;a z4cJ6BP(6>a+{tTG6HMi4y)>J zGya*4bYDAo_T*B_pE3V=GJDlR*aTQ24@ST(!B-umaDwRXls`RSWVkObP{AX4^sbN{ z=ku_mhnt~rA|k>h@lcsI+$j{-THnWT-cVirIku_XBN-hPt|@jen2@OX6e(6Exq+@9 z_iuge<~h@#NDupIAuuouwgAYB;3uc!k~jM&raiEMaIRr-gq@}>-}Q*nYno>?A1`Y( zS8CBgyGfl%TlItyem7itCI#m|q3+5iQePPth($N8hq?hB8fA7)N+3d#oRO&~L*j8p zMbrrHS?71!-%6h-Pnl_krH*>M$OR4@c*h{Ggjkf16G5tLl?)%3;W8 zmVu2S+Sye!+r{r{pEBeVt%GuPi=QZxD{W--W61bDc*aBWh<>9=T3-Am?f%#gjvA?_ z_|Nio(3r@2+s>TPH*sE%tJ0XJrxvB8ILh5m5=&02tPA?gIVHI z(M)fx|CLj-lMa~{{`QJPb)SGd0%RgznSHQqpS6?ljy|Kr>K8m18Pnok5}G~(Q-DS~ zjep;KFdM(iW(mS(SUpy7+IJG7c$ybfWVNE>GiS71m{-#~qs9|ARjRi9`SW$qY9>Ybyg!byby+q+sQ%na@kA zZti{oeq0x$>vWRkio{?i4e~B%g_dQ?h#s#8WX3cycPK=kcZ9}PzWbs1LUF(DEg>1K zHp7umvwPW2^vm?l+Fk*qw!bJKQI^X`54is_&zx^uy)3~47@J6YeX&0a?os(Sm}b$P zZmJ-51VtUCioJc0-~cTR%}bs5l5+c8Or!=d0>N#wfo%M~0X0R`z?J%~0ajsp)z^+y zUIg2DzDMO1MlT6|zboPT^NJR>HnHbuaOYg0LWznwDzq3KU)k@JgrW>Q^|#N$(Jy`f z<%!p!dItae6!`v|3DBBF3p(y!N!0$A3y=ZNe=+r+UUGjPeTNDk9{XD(`0o$D8}t3+ zt^a%DT#MqZKY`wV?$}ZO332{&-Vy%)@-o1Um;wq@e6rDJE*MV%I)J^t z@t>jj`$Fiv(H)(FemMvO=|8{VU7rz5%Lr!ok01KaGZxN8vGB=4Dweq&e39U7aPQrr z;s5yz)j4R049ncLXaBFyB!*roo5EipBMpG-IG+8E8cNcDE^1I$EKE;g-T2@3Zg$E= zu9qtM-wLeI_)ADgLM@ff-i+(q>}n5R$WU7OEK|$bjejmX?+P8zx42WM2w^i%B-zgY zj7#Zk(0^ZP=f7;QVpu&DQVG~v|DA`LqA}uk)m?h@nSw zza9T|zQFC`RPbm}w-w(vTm@xdJ4G!un&2$DIJIXWRc65%4I7jXy{kX{&v3Okj~<-2 zE~@*)yLY{B!7H6W`M06aD!0ssQ7e#ZaH%gEO+DjDr!^YVkb;cR4qhTXkoWonV&m#5 zC%VdsG+R{m*-ZU&y-Td;5qIjBY5e+&En3!(rS#Ft?du-8;pS&g)La|iknt`m)tD+) z@`=UY18ndAgSn0JU>ve4*T&FQmTL4-e{y?rJD_jgp{AV=zWPrBYLdJj@wObyEvSSL zqMLlR_unBxZyd~I!p+L*FqJai8_wSU%#20s&ii#hd#kzG{F(IsiLBlA2K8U=|39DM z5$gX3#QQ(P3BLc|@%R64U*=Pl;hKpx`bny4S0{J+gm(0$-Sg4Wt27|XHlqi)Yzj^1{j?n1J z2(_G3_Gl55%;p709Kg8ohj+OO?mhf9yyxK!E&1E?E{*$7HtC&wyYq&S!wrK?UYFRodSG9u@?$p8Hm#&pC!o9k-!ZNWEsWYaMEz z6lo~dc>lPW5&`Pp55_4!Tp=SNy=LeMvb8o!*t$w2dIqz6lgEU{tVeva(`og))X_pF z8R&F5Pl&NDp3gde?O~Urn{Hx9o%POzOgWT9FXi_9*YF_k*CNVnc1~0$&e;7OW=jV- z`hhV35X(P)+#0R`v+Djv4m#7XY6vBAa~^&t*yI-XT>24HqA0t5GWNa0sy;tsCn5k{ z-(>lB;nt}9sS9a&b}a}I*I57L)(sKY-i4hUb7|@u6gxwoa8N!#9S+wmu6g2Hl4=l) zx=Gj(6CBjt*Vi|saplrgzwca%XwM#_6nB?_k1wM1-e#!|21VsKZH#STYI);g1XBdV zXdi~@#p@OahHgZD@hBeRX9~xyCGG|g(=JW-@F_q7y5TcPn*gh~Z^Okw*Y?FZup4mX z_RI8|-ou~%m-y|0B9>qH%IwN4A$|ZLua13XT~Drb)$7uDS!yDS$;Fv;(UGe{)lAc> zfGT{G**oK`=7rV;N}fLiWO=~M#f*JtCvGEV;<>*th zHcti^X!5jeeAP2z@qt!CQ@=Wh7zjj88&fyblErI3!Nz`k0uQASUJ7 zq6{{a2K%9K{J`TzgT`Rc3C%?PjUVBgHoB&f%)X0l6E2fD&v5QzUu$Y6k%tE`Udpy^ zmS{#Bl%pYPHg@y_^oxjTerl>Tc|yonP9{$g&ch2+&Gu~v&*bCS*<8$NmYNQkbQ`vc z{NXMeW7gl>dmttPbR}MFf6Zu1f8bx==pEK*VWkc_YBT+9#=fi+VRLFV+GVvuPeDNe zujC?k4}^F}9bgpK;2^4wd%;F=SG;{G4)E$X+Jx?L^(K~uER7j(wmlCq6Q%}*>>A!> zzwjqrfC_jzRaNx1QZ6%Zm4R_;Yce9Ut1PslLY-wNx+gMe;H?W_+%GO}C_?U<4~ih0 zs;e}Bj5l2sqQExQpE`_2v`!hx#*%-B*8sEK8{5=Q-^%+SQV}K}Zh9o-Y>3YzBC&kp z-@cm-#&T>;8CKUnWMD7EX@1yjCGMcB8jNb?R!k8KwJtn85r2Ll52>u2#KrQydIbpD z`GMV}B)ki|c-{tqxJL6WctJC$xu|_W^cRAxG5mJ%p9K~ecC>V5A%i&0M*?u_dyY~ZC>mLg;@XFDXy@lvz)#VUgaOU)-h{uN`9WZm;gsPbo*CVS3sbg z+$RwC>BJ2kH8cdxcj==iJ<*=G&I&cMzotx8YzMqh`>GHBw+d+5?cd!09e^q!DB@C5 zzQR{^Wt3Ay^r_DU_>-%6=u8eK`XotUlvutTPZM#5F_#pLQm6nV$Lhe6KVb%{9~WLG z?tu|Y)-Tzds8_bKqPDe7OF{X3^zOa);tv2Oj>r8ed>K zM(_9I4!O$)_XSWP+_?m}sQB?@>m$zv=BS|?Q|!g^y1EbuLF3HlB(I~99uus%>eF;X zL)ER*v!L0IElyuwA7Ubu zsOjA#RwbXbTVZONy=wpy6vQMsnuC!e@O|`KZim;<=Ro-h0FP78W z(UPEQMINFPx|Dfy)1Xbh;W6Q+Hb5SsQ1uDBimKcvRA^;L3VCn7qx;!#%`a~b z3aO9gyW8^8NtomsTdY+8wNd>o@3CX8 z%sdxgut)Cn>Gi&sqe~Ne$@t9g%{5_inOoPLi0Az->2MV&B#2ghnJh4HMC|jXa;^W0 z2$aYP;i+5JuKUsB2?lnHnVOEOQ%LR;eJ!im3wsrB?MqX9bfLji0|pqprY;W-YftHN zj5itXr{x;#;RdS3zUgvS%s;aHwB(A#TaFKG#e^2e8B-L@E@ zkZEr$Q@8NQp>}T7obImB7h<4QQ`>L0ySHcJDPdYByu|w&CnLVQjq%1E#|#dpES5!r z+|}X!0maa&S`Pq-Ar#2h%f{xyneqPp`^`1m^1mR>Z=Xr2b4yqDJ*0O(-zuim zM1zi_^om~#bw}4iJEQJe*Hlq$B}wRb9KP0fyE?yD@^LJZ5HTB-|LU|nQ9;;EQdinm z2ox{rze`PX%(_d`ynGf^g>GRm#`O1Iv6dP+dyfIA2DS1-R@tC_sURRndVuf8_l`}s zz>YI!!HjmpPk@qQ^XhX-lr+Huyx|Nd0fW@-oNN+%-AF?+v=i}YJSpIn68AZZ?>E~R%7pK6rbNqT zrSMPekZDYdu9B8dtlwc0tV16yBg9?HLd(sS;$mX~0}Dvy8wj%T^-$;eZ@JHt1{=(iG7YF$Z(N-h!#4|SV(=dQWWrs|)(KigHH*}XbCJ+BU~N9g4UFAF+ku%7)M z0M(6dB${mUqMj7zq6!Oh?a&4|#AMdVMWgz5_c7bOFOrpR#4tCw9*wJXy?p)py0}THmXw<gIh(okoRc3H0!UM67#4a*KVFs_$cKnDvp z&*H;kY1bqXpF(bpf0au@Bux_gik2h3we8igvWu;ItT4u;(GhuCta z7eShLe!CLm47PQK5QBnsYP0!n>At$WqU7Y&5w7bFnJ$S%a~m;b^_>&eW0Oeig!2KF zgdmuLBWghFDvIMG=Cdzi9%CaUG0jX2m>IB~f99M{9=J2ReqC}}-^XOZ{>RrIMe7+2z z3)igXLdU!2)wW0>_ugbk^v}is)^kh(Cb_ae-c#X>_D!m|DYvq1ZNqyQ};$|zFcv1!oegJcWu*r&@zu{b+Gbo~?3T7AMSOUg3 zFc~Yqk z`>1+xl(YVPZ|8;I2LlZf@WgyEG@%0I{Q2|xGc%y$Lfj88{L^r?fw9X4rFwP$0MTaU zj_*c3Yh;#A6s{-yVrTClAyQRSwfKaRlL==+S#)&@l|2DO7qp~@*e1$(WmxzPntpdY zk;E3n9GV6`Xo<-psMqQF>aillf@A^rd}B}|HDi@&s|u?}*zkV=UFq;klgzqNYWKnk z*;rnDc4hUodF`E+s5e;#!lAdL9UDLe1yIuHD(lkHZV3pev)y6iOD-vpimPVpn!s zRM6s>&_%w0?{+L|*_zw+z#Kw4Kg4wc#6DcT)J6{pwwBFuUPM)`&b$;$tMDVme&tt> z^-MERQMvI$#+^%)iQ-D?}%q*zLiw}sg^ zzdF`_Eo3lu_yU^GbbO3>LZ-=5rlD>rycvNdiy{e$-Xmkr?1_fvBHg>A6TA~Vuc11s zL+`GdmUy*PT4UBU@{yV9yCkmu1E=5#vIgM=ADrC z!q!q7XxF^k1c3nsr^2m_is78$;bDf9=&4_Fkiw!5+j{L*LIxr*sVwC?J$6tQ;7ud@F9IuDCE1YE``#OsG}De5kf3SkaN^f}G5(B@E-;L?hOU z6D>~;aC-*b4Ls-eCCBB>bc-TNmdeH!Xo4(kgykYH__jo#06~Lfh|5g zPB&pON-`;SG#5$;Gt@OhK7%X~;SbvG7KJ!mdp&ymu>G+Q#H1*1p0Z`5$<*H-w(%mT z^yzx4oHH_H?WT0ikEW=IzCf@X`#IlroR>leF9&-PY_*nsyu)IoxRgKGRD!Ij#9N*v z01uOBEieqMWN3$Uz( zZ1xd`PFtVTbw41PB@BO=_!|aVfWD#f`mp}nGjRB3S1O!*C{V?CVaIiYvI1}@d=3$0 zHIqa2E@&<6Smcsm##D7Cu5R)KM9dQ;*AORU%DqR{sn6i?HK9K1X1-bwMU-f@Fq21$ z+FedXjwlFAgt#c6NQ!4!J$>4yhnTK$d13#6ymVxYnXsz=x&L3zm~MI9!}C^Bsa!!< zXD7e-g}=Iw|DiLi)uLE^_{|1q7$8p*H14?Sh@CL-TqCf#>0YndaD0aB?;rAr&IeLUyNho!&ey>r0R5X{-w#pMHHF{i*(pk=9+FX57MwbIaw5(W{!U*Qq17|an+hy-xTeF?6H8-j#itRY z0nEv)RKY>HSy>|77y)K!Df{p7rJ${3Vc}jI*$m?Yqml2L)Z{}A_`xI*m%_rr=)g#2 zhLYlZ2Yctxb!I`+wGe6H;$>duhc455wAFSSPYH02q1aB>sV(B?|#&Gp8-z$XROu#iG8p^J6e3wc2{(msi#I@1S6Rr0JMtk$(bEFoaJJ$>5vw z^M^A5sdti-gDg&G8f|%eK$1$R`Dm;4gQMBtTl?gBO3oRdWj)9qyi@w*!0|(m$uD|3 ziVXYhYt=}5O;D@vTA)cqMRh&m<((w=(~GT*9;uRvP1r7fvfRh5jp!zG4)WvUR(J{N_Uc1p5%|E#vIUSHTh7bN({Dz{iEk#nfB^cQ z4jA5O-~pmn|hRIjVkA01vEi$0J{FtMt**N-2Q)I8Qte+ zD@npRR{31tT&5S?+fc-%*G{A(I>ofN*Q}r0Yj+WQ#QH0~iG<8bXnvJg-lvpJ?7i~d zJ&w>~yh~$tuDX;&*rtiI2co!bY)$NqQ%!{dvk?tTBs+xYhLVsq(apBP#aEqb=6*J7 zoy!zg)vFbY-Eb)RnZ8xxvWXh?JFGDl`kt!C-FgR-&xvyezWgc!&-e4%yU$7Ce~x$F zL`zxSEr|ptmW;ncl-qsi%e~ZPE9c3{N*F&y&@MM6-V)`5RDi@D8EM#BneM3;SZ{Lo z5p?8kCbklk1FDQV2Wynv!*{L>?<$kdeAS_Ga&Ov6`qL`L)*o zO|kqrXbJn`g0cpJr0Fk<_YYvmBKB){9NA( z3}g);BbVR41~^_;B4N0dh^IZAVU#K+r*~j57)yRZk)+qkqhLy#smPIP12%HSFJ6>! zK$k&p=Fp;6X4uZGsNc+Ub@W+STiPFzBA8L%6 z7a}HX$1bsa`XZ^F?{ZJR_LfUz$B)JYa>77asII$B+X-pc)9^hY$fs1dYF0Vf(bsoa z&f7dw>MXCJp&={VT|>{|=H^BLcn>;_JM=s?H8r^%Z4E)WO-(=m1m!d-e;oMldUXZs zRTt+OIUIlcNx1){Ziv<$X8uP~Cg%j%AmJ9(=!Z_VraC*qijPAt6k3j`~lpRJ_H@wGH_f-Amczjqbp4vdG-}Od9xeQyl&6-u!CF zFY}qX{HMUGDSE@&cqoV1g(w}ZFm;ouC+hu4ow&dT$t2t6Av~5o2%K3(h&ttJ>(t7I zI>UIw8^QwXbcUcKVw|)Fc?q!*#c}PG*ajov&?+d zcA2;7#|9Kp?}?j1kkr4HKKPA@DS$=GvV)bCqg3x#kaW~sqPf3+K>WKP6ZS6`fL!cE7}*zc@#Eg>ncO z+FJH)Qf9IJwLV_E4RH3_hXQeIt^2W5=2NA{sCnf9%BvrNX9X00K)XuZ8e(d2FqMqv z!CUoU>XU}0uKeC!ERX*E2s_wgNY+q|xIkbxqHWhG$KRHZc(}=7IGJs6S6XnWv0?5> zkl}YU1EtF{jZb&R!*!3he*IRpk!~yQ6_cO{RIh4l@tFfBCmGqGIJyb$Gh!mpc(6k> zy=e{(qO(QS zTl)r#aZnV+0cimp38g_gl@dX^TRMhDxC2aVjDd7j@-bV{k)BLlT1ep6s&zvtTr02tM%hsXBzORdN zW4KmfLPUKOcTnUSYU-!HyDz+SlzJMKw%brghhM#=9#N}*9zDKj;noa(2aHYQaP)Y< zUm|;PoE~e6J|OVv4MAG9LQ~=0jW12b_~9KIpEnqQF_f;>U)A2%a^PdgZ)?K`rJQpM zrP}HZIzHBsbg7XaKLz2U`TcaL6IZ?>KqYp*t!T9gnqq@sD-XPt@asNI|QT>dcY%l5uJ2d_!(s)(fFaS-zg=`j+}lT5W5vCumlt#*gIgQCdhImqCp zAy7`Xv-c^Jeb;Bpj<9=&QaS^R)#X)WK=sTDFk4dcBr!k;#|tpS^&dziOnSbVW(54? zdTh0l$LIO{0C$vIc2#c6Zxc6OX4Z!6WQ_u%0fgtr8*^NMRzoI#c>RHQg4;=6b}<4k zE*Nf#mpwQ@{szVxWzTmi+?-!+7EWpF(JrMivbXa#Y&Gz0VF_@uQUE^-KhOG=9F^RY zv;F;jaFY|Wf_KK5F^+K-cIN*$SC$&O16zEPH8&Hb!yn~Fa>(-Wga?a8-yx8DC7z(( zF=qPpT`~(p*DMzd_}0Z|d(IaZS{3-=p%B{ki#iQQoyCYb%IOXrbD! zvUS`GuAKbRea|ar(iT~~R$lO!JQgY6q>ebrY zv&$A--$s^vmM(*rw8llITKV42QtucXP2M$%4du@qpWsb!4Qnqcin!Lf2C4a%rsaJY zOIA1JHdm>?eNh}DURx|8H?^Rm2fI*}UP;|OKb6ZfYww_sul)vpJnwCy>D=e`fGxM{ zyIt3}khF29dRg_c_WReqH4nbjG~Ri(IJcV+1-qfj)t8~h&jQ-Y4xim$d-Q%7SStZ+ zIIOILxmtaAn2jgr=f|r!fT)H+FQFURxjAu?2i!L=F94&y%_xvqR>#LnS1PCZE&DYz z_z~FN=bQ<=!H=^v-~A=+&AHiWzpM0 zj>ANfS8?#@BicSgt=?#YM3iBb{_{WWS_cjjsO<1%t#6z!lXTFrf%+16pq^Q9P>}t* zH}PGRKWNUUx;5>?J(da-v#(|_E`Q?qE0be92tT+VhDG|+&o9N#2PyVku*vn)dqRBj zTB7xNm3s`KLVCAv4tkYmZbymHk;po~EQ{tUGv<6#7B~G#MV#8iZ9;l~9zD?~CdC47 z`XQwse$vc5ERbm3&T)A)Klkm!dG?8a{;goGi1cL!XXMRP9K`OJs)E_|-k_#(zl9iP zPx}4ASDE)FIodCzIohz3^e|-Tv8IhVoU$$gq)bc4mad^*^{fphrD^G@;Ayv2LW^8l zT;w!m*!p#nr^^=e>Q%RaLHy>{mlC!8SbAj9nZbA(ckJ2b$Epw$jd$E3>ze^Sq?t)c zNponDu79dCtT`xD#8>b4D-)Ia`eN_Cf{a-=hN3LzuZJrpST&LEOiLV>fW98%S!8@eBjEV zZQw=M)>S^YS*hw(7`~GcfmNs$(WAf0z9*Fx;%>VsT%A#!d9|4q@1N@J%4m`yL@@hV z|1Z4e1eHB*hvrwq8@C3(9ueB@0-CKDIif@noq+Q?E<+1h!ywyMPOE^fQ6Qq-ysS%d|6j% zx2XlSklIR2t;jK0;LP6k*aPe~t|iY{oHOa%t(Cy{S}MucDm|tNd)eo=l?K!NDL7pBppp z<}u37V|~IYtP^a#XEZp;&K?xe^cEv_K}auqm?$va+TBD6wRO4*HP(B9{~TlY?Qah1 z-**TQUpBUCH%B5v4Cpc+IT^!6pDZlb>bx6_fW0^D4(%nscOcVUCBa8q#>8>S0~uYj zUHXJwh+v0ce3vB6=T|s9#RAzW6%^xex*;n%Rr>gvZBA1ITu6v~Z=iK98M8&|6>}8Q z-GC#2XaKid4&lh2fM(}x75Jk5ZMAWEYKi(v4p>8Wu5*ZnTJ!50+9yN|VWBq&A5tMt0|zOLGlSjV8yo(DgIJjcr0SPhy)NK7*eBqJ|X@=1R>mlq}$b)l*RhY(6%9`U979 z-AS*~7_-xtj><2K`3&~%hBq1!9{9w-Y~~$1*c7WB%lApxt%Fz?x@{ddG{vnd$yr*ykrdHeatm0_c zeFMpTe^Nc=@@!{R3#M_9NGo!Fwp(^Ba`>!rMBz>vC zyFTlz2Dz~%OSS@#ZnO?p=!~Vrcwmm1m-#ByK#^WcpUznH=Ni@%23PaU@lX`x@Zkpn zZvt;twKbF|b1ct%;Q}FjvjHPpj*y|{im`giRfyn2|MXX14G;@Q2VQ$`nEXR)R^y`I z8#2hdmGrsrb=PSj&P7j?f(Boui#Is4qmP?5&u0!!Uo_zQnb+)2`XDvWTOGxcSm;CE z8;DRp%Pyr$zM%V7w~NPRi5#PI2Kx_O@RP9SR!);?8w1la9y9dWbA<9pl-Ws4QMdvg z|K8WLpWKh~UjhsoL?{F^R9pHCvLsI`B<5=jK+&b=+-@ zXK}k!!rc=aU!k!q1Ak$s?o*fdKkCQounLqCT{q&XjjT`;Ci(S=M-$uM(o&uBRLT&i zC(L!*FrV8VZCv*dUDqUyiM4n$LYXG(2{m>(Pw`Kqm-N-2QcKB@s$a$Fno`XW4XP?; zxjE+N7e|A+3-#*yV-W1zPbtixMvlWP>DvMR0KC(NG{@3_tP=9Tpd9yJsuwqI?OA7ed4MtE>@;i%9!Yo^(sp%s#f~XUGb_= zQF#cb(XZB2Fefr zUb_N~14p{JzL5WDO8F@5KbPtht8`G_V)9p}Uf;Uzx%&Nh-92E8@gZ1VOb9PIv6%9D z^{qHoV2MxMx&8-!KRhI<)^dDr3qT+$ol9NO*QM(p%d>p6R%EeN!9MQ!TN-Ewq7GVb zl~14Ohmy&S;@| zh?|@g{9>G}_8;2|x&BB-YI}x;^Lt#xQ%cv@gSLv?*(pff6;Wd+D@k5Hi zIAW}xdztchkDn+jsVT|J4@|=TB)nEQ$p4<1AHE>#97mtIzOlulMRT``LV zjKLFwb!$t@<-rFA2?k$~t4b?d>Qb{X zUL^eM=1+IhNLK3sBQ1XZJRkkhiHTTNpkHOva-;~5&PxFl7GDknW=P#?b(#RSTGe;k zt~TxA7QZ3$bL=8KSl{F}A*|#mSs;@`M^Wd5H~9-Q#O2u}UizQ~RG$}j^O9i`i3y=D4u{LL6}fJUlJ}`#@v>NcF#RC? zjL)%WM`c=r5ZY z%jN2XXmtau$J8`1&S4JiIX!c2lQ1qGp1F@c3KRPKwGmK|O|Dquo%iy-ksYu~x+TM;hx zl~*P=iv8q)!5j@dF+7D<%oUWw7H99+>}jix)pGtv^^KAej@slS&=6>VtvK}bGzBitA z#P@5U=FXfrDQSGfy>Fr^L40h>X))<#eBJ97w17eRJDe789h87f( zx-c-jZr;2Fj6KJPlrJML^@E*f8u`QkYp(VdtY>WsN^ zb!`g)?626pwa1r+%YkuhF{K*)RTXS{S9Pkp!hV$4bEq3?N4uZ5nm}IHYSf78XA0GJkz%HV`!*3l|n99LqX5A zdhZxat~Iw2ozI=-`3HEba&lM}Zl~@qF_jTs-3q&VqTidR#uFhqQtwBHJ zmEy2G;%Y71u#eacHD5iLjaPfsTwlQfC1TOL`+F^dgU9vS$GNt~8C9k$Zwz(a$tqhH zecf<<9mOx|5{{d%Ud!L78X_u@0~iK zXEs+)@*DdCUt3$dIvRh$G}EbU#dGluNvv@qT?cP6Qb}v!u@hFf~2-7`wh+{xUF!~ z?lJ4_b6i08&~g&E#-IqK8PzRB&$kWg5X^M!_BM?ooAt!=Tu-ogrKVf2)Q^rA+P=4t z#>K^luRQ_;^A#KUy++Dcy*_kX15`QL_a7g!4>LC@;?Kc*%- z@{cYdcHsyT>32Qu!~(p%Z5`+vjwA2z zb1me1R2C- zwE*AO_AiVND*^(+qEI<_imd1BR@XNG?`p}bqcUVrtm-ck`UYmE*i_!KbGScmH=u8z zw-Q6a6CxE`5sCKjX_9|2Ay_2*uFZ5pEXQq*fMcmdl@06PeHB#K)vkZ@vTLkr~5aLJlRNGr9v3H)@T=O+q z7Zt0NEq*kZYYG?u8d>~q8_E)90jjBz1T4zAvcm&IBX76H%gY@VBm23@Kf@LlI7mP6 zocD5?ghj*cHpd)yX08C5)$RZ<-@7JdetBpUW;M?sg*)=ChmJRTl@Y+H`*0Os+~Qq` zHwg|MNP1=W6fDg+poLayrMn-1r~#9gujsOSoIng@L}>P7-$@lupCCb*g?-8aXV~2N znbYq<^nl&QuJ56^ebe)OVn}OTmGd+3ejL!dPn0JAi2W|^F=cJnk6bhT#?eD0!_#jt zptZzGM)&gNEYX$c4Rzf`_UT_uO?PgiR~fTlb;e(|wUCMbnsWrT!2q{v6MacZw&5ka zgJ`<&#RNAz(%xaWv7(|rc6f60W=v>Uu+}uzE@Y z_laL_O%%+%LxAahh(HbHaROc7#&5E-Pw*g2W@r8tCk{|*I=az=ZGIB17rzJXwLOp> zts=s(F2^Q<-c-aI0fPJjHPm|=Rr1DT^B<{J{*))($AX6o_$e8Qn zv#e%;09tn4@!S!EvkqMoR7<=^ClgCF>;(ShosmmB$Ek{$%O#IZS%?rCrF{m)FXM>U zsJXeh5hXjg<`yNq>;VR=)vIpH#R||Qel=F%NrvqwB-P>k73O|<_!Ur9BD?H1b#MFIcyNPo1y4}lbsx=4 zTQGc>v!|Gv7Xem8sric4&_z+#>~yTna#46)<>&J^|FnOA@)TyARGKssCa6*=DVX<^ z?&N}qvtFV8?q?0A+@=gFXp}%|cJ|iS)9PT6}=w#;Yp1~djkW#D^NN< z=4JHLjuiHbXkC=N#yo>wc9QeY+1W9~!#%4Xr`@a1T7w&P3M<^@2RhDC$%>g^5c}+> z;~f8HhSJ^Tc_Z$=Dk&*RM=JbtFyDO3XB$x*^7#j!6|R?tdBNe)fDdhMbrlzn6z>s1WJJvP-2UE{`-h?(-R1WXJ4o*sc82+zYb<6eM?oUjSPGz z+A{LDwU=)wDX?zD$XAzqW0T7y=AxmFemn`(y*qzA6Kr^X#-%mEe7^XV;j5qDDVpc& zr@>;r8NlbrtPI*0#P3Rw;*LA(awdBb7Y1Bc00bCl3nhUsFD@<_=yT%fQ9_e@M~*hf z@chC|*`P&*0TC-7tCaBSBEzHG`DF|YhKkCk0amFpL!+VLxvZR&ji5DE`s{OWoBfT+ zV!w4g6}#ml68i~TdyKM85G_V67cm)YC>CWauakkyEAuV%;+#nK`d1k8t&la-1O_$bx3uzjoLaV zb36Fy{Em0=nC|xiok3xcdnAUw)4MlE&A+~0<$V3V1~?~H)?ro7xN$ET_=8{$PEPD( zhkGU~w5`bE?efu_?Yi0x_iV&GDKItjsRN6CwDI|%u5hIOpaN@ZD#elDa+ki@NWs-q z)GqMAG{w-M1$@&*>Ct%HzuG>UNJu$|xyzN42`54oW&> z*sYx5$+|ixw|81)l2c>}As{-S5Rcg1t#$IT4A`B=sl@K5%QHDxVG81B3WDXIuC^eq zF8bX*c1=`b`+kSJX&uAN%_WJq55`(l%?=$GvotjYGL@IsOf#%6Ff(_IMI|W6q;dNr3o+(kO?S;pJ>jw}NGp4L>4o)sgm{U;w%;Zs`w~J}GGYN@Ox{>g z>eP6JH7H8QU>Mn7eEPzkoDQ1~IHEklPvPWF(LY##>})~Es^VAD^mJBo z#l~}yj~sQk0M(T1*K$rXjkr#OMH4Yl%V)>p2#uF~^+c&*7*I{^?BFS`Y|TPmefV)% zr>P0}5%(GB7akH%)vQiiDCL%r1^939>$Mhmm#&ro)#e!=bWHz6A}{m@&~VnM4%Efv z@?j}|1%0~wAaH^f_~>)VKdv)SUI#=yn&@7$#ZvsM!w7e2>4MNuIc1@f;6|Tn=YPcD z%z#SnN9HYO+3Y5lQPJydTGg+mQ*-#<-hJh8eF91r+V{|4K!SeW+j@0bDWa(vI?t#; zJ$PXlU+R7`aAAnY;1mWBqyxGwK~zZxB_+k6yN)MQ9=b^6(zFPGWsu^g5Z7nb_M&$I z-%&GwkbVh)jpRJYRFsm+&&V*!iwlcN946kFPfjBC1}Idcc(ko?hP^@Id_N%p=vbZE zIPkqb-Yv*S@~;2%QB~isAF1#xv=S;Y8^`m~bRTuDu^U+YZuQ_ea!SEi!maW3Ql9Jy z4Bjd&V>m>_jfZ9V(wF_cboQX_q3ydEHcm{H+@TJC{~td-K=%$0*S(wmWD!0-zMl5$ zwz_p#KM>(~ea8~jw*KxtrLKxfW_o&rU-tTen!!bp9UcF|;-c+*r(A`dn`Y={rBqkU z_S%w|5D3lu0)lL0ssXVu?XEY5S~Wr5mj^zyRm~HQ3md*S zgTKMoHp=$P*hyz(Nu5q0O6*GE`cerzfO=_#kq88ltf~xu+FL=g>pw9^A*@9*&uUrY zI76Pg&V5J_%TE}3ec;dfG5(Er5(y-g5L(pN2h`NN?n*f`XCO-bTbK!S9uit+=mNq+ScvVF;_GFdD1gMZ>u|4`&)I(Q_lo_tT(;R z0Tgi;f1Q7Oq^$PT6ofB^-6=T1?yNQSy-$;V z5$=A}B*pInNb|ih3EKf!&S+B#)`53_*sk9w-eK=$-X+i;ShKA%8!w}jjAUeFlT4K6 z+263aujS$i2PCjvB;0A;6<^>>oeBIOW;~ML20fBNwPslPvRj6g$jM2OaXWqg8!Knr zZ*YK6_8k4WtMPn0y^|y#5dgyctwSdFPA-gb_xI;5jL{9nF5n!$nweduI^ho z*%03h3xp^?KR>|AWpg`~EG`@bZjLuTKf{)p`-}nbQ8>Y>shZ$CG&g@>I5cKjwydST z;y{SZJDJ;G%gO>l1D)h}w$k0<)=p$`5XAR0L(M^mpC1jxw`s0CqE1+-QN%ye5#Wo7U25#YxqJRLF#rA#MMgPIE9NY7TZDMhuO9Kiq1xXN03QP92 zzNKOkxB*!e%PKeAG^qVZ!oJ?$&g< z1^5K@<@5wv)Y`hmFYI@w>K791Qj647`I@Kv7G&GNej%W%P8akL>GGSct@h{FT!gsx z&L1_~T->?|o~kwZpnH_-8yaQO^iZzf*TBF4KdQgYUVM&(*II9PJ>P2c7cq8aGmvhk z3&$(l!S2n|;3kcF_4er_k+&`2AO_^9w?QDjzK*)I^#2hi-xs( zlLVNX6XhjVjy#11R693jc$3-c5~Qhh?TKFQX_a5SA-&~{)A)IUjc1{(Iidj|zueuz za#yp*rW`!*;AnGMKQ=7OV%e&UZ0$X|6*2d)!|8B>ooHWZ?pI zwn<7_FI&6Iw^@iD0DiZ|x7!G0I=Z018R(<~ghc7*7sXO1tqq?(CAeL9!T@c7hI-=% z#+pK-UXVP?%g!!NCkJeTNu2c0b`$P0w0PbY@w`K(R?Jkmm zk3Gu&=+eNC!ni+;9k14eEvkal9L50I94XtBEe1@GspNlCJ0;G}nyK?3i_pCa!_eHY zeMSN16of2h5Aad+a0H;?+G+zuDHk>Pv%OMkY7;rk++Tm3I_DjmRzvNhID z??4}B*ou<|mAmR|JPT@?>E^TXK9ww`RueWAT1r&Ui?tQ1gfe%NIcQ9Eh?M$7Z0RCJ zt`EkS2EIh?tE(&YWSR8-`0kFZ%-q$T&^-e0-NXI+7^}L)s>L=%`}=!b>~-sK;iMlk znr?1x0IHQe7%w5U{T+XS`WtA9)MI8hXaZ29c0KPj;{pIRO0qsqVynp?6WGeM!`R0W zYr2{EgFZcHZ9`wS5};+)MXBoY#{jypv8hSn#UphN_q;~_f3l@sR;YZ{c=tC;De$j^ zqC&#LO-dYqGvg1)s0&$=^xJ|sz|es$J%KlLs_w?WL){5bW9x)KqsvA_j@cDkV|qX{@)6^ACX|BPvc?28+JI_dtr^Z%{j zaXcklnF0THg2aplOeh+fc3o`?nIE3cOpASEVV(Pu_3%}pA@pVxWMzuT~o~f=#L9}V?KxawfW!PIRuT^78jpm zD#|poFE@wD7@XTS?WgkXY$>2#Z@TS^*ueV9N=nKpc*?+j?t-6tWTHdxa|fcU&bozO zE1Ax28CO2-h>)kx&d*2bPD*L)ra*&Vxb-mdBhc{K*}Wmx7_*!gG~BjpLVo#K&675* zJ;7U=nmWOe>r65Jr>Bn2c4n`D4w4mHjQi_v?yo^6%})D`rcw?FNdJAzpb}xw8?iAl z+183onAfDzAVC45V7$iW04e$G0ilm2DF4t9q-neyG!)O$22j6-@Qj)LE?J^lXR*ci_WM*pVTzVX8HTSqw)vPR%{p!l* z4*j;!B{Uh_rqIWOog2k%t+v#$al%P7XK&0G(Q)rBJ_t>(s&*c+7bBM?<9D~vLL~cO zrNnaR@Gs1-vup3k7b@#azYG_326_x@Ye(B!>!o8(dHXhkg zM^XOoeO|wah0S5kgoMliNF-eJ>7zhW?zAQX&)19q>YG=qk4(!hE29~vVqvLJ%7@oo z5_qp}m8##F^TAZg93ZLVVL#_NPJhZjY|6HKDZ^AK!(>Gg(+?KWpv3&@s>DE?yO(Sx zExq<#$ZE-0v0)#V)smvQWy8Wt^&`N=6p!R`-e~odd)WfZ%7VkSBR~Ia1hSx~9}Eo# ze-WqKj7~>qWzE0E+MKMtGE7 z_EJ#h72tJW(bBzKItwD>jO17~;77fN-oso|kdN#>Jimi(;|>E-N2sgPDLrQFUP3Mf zl zBG*W1_4lm1&4I9yt7@}##X8lT=1E@i6e-L651B%CvkhNtRHB51zeKp^73^5zmx|Yx z@zJpkYQNy&0gOe%LxXYeEQ%UspFYBb2Ry*Uw6?Vca;iYBmDg?qG<%y}`X=e3x2DLJ ziZ{9q0hirZ-`44JRgMbxp1z(QIRrQ2@$%9Fhx*FuBJPvN?*Vail!8JSC~yH9103WYfhRLpO%r#$Ty~*_R%a$fzLW+UR zW1$dUab-nD{T22Xfz@^VA0NS51@eEmxC_I>!(|oZsePl9jr|hy=7p*>H0|K|QPqst zf{L+#eV8M`vFuP3Ux_`nxZR}mG48^BVF4*AGASSwr)`pz^;P`dAr}eR>iqg}`-7uZ zoUX(4c*&Qg=fNy$9qF=xHW(kY5X~g@>R1pG&XVqrg#xUQI3y1a?^DI(-A8wC*Iiw4 z;uA?e%*)NCr=i>3Ik4_`coEhGvV~?YFaLXbXJqrjZWlH9vK{MxO}&E&zM?ntNN z#-2F}i%MgbLDoV03Ff$MOpMk2wWKD%fOQlMI&S^6oLPbLf^0WX$(u&)=$^;3N7Qw) zQu>pxp@nVCz3-O3URHR+n)yh7zhV+&;hsxAD`!ZWP-}; z)2CC>n9j1*1Vn`UMPlP>nVEVqm|AW=CLUUy;XIObskoYfT6GepTk{$qm7bAPvT)G0 z(3%k`8Kns1Jah39rGFI((L#a|TJ{e1Gv&W?mcdfjJp38VB{wr~*m&tTtNp z?GNq=3ru^UL7AicLGmW|4i*__cy>pPet&bJFZ(k%2(4b!^B`FCUAXm@vl$jU_g1A2n%Y>LCV3;(9+oN2fyj% z1i-l^ZdxE~4y{lUm9`Wm_5vTHuf;K(y8b8X29v#_KKzTYJ~sDVOl5P0mG47AD-5se z7_YsfwY9B{GKs>1F2)U++bK1;Nj8c~UQ9qP>~*PzHBVl4rdn|8$zBt2or9OKiAe_6 zm+RlYFIqZV29a{=^{o58fF|XqM?|=KDAN*gxp3HD0ylfpXUbvS?0ka(f^qv3u|>S~ zcI~mPX{T;WfYwffc)vl1!?srti+Qy8w0MMEbwx9#KNY}}R5=e1Nzz(9c|<_|_$xf4 zCI^UOVavE_29BCiLb0S6d?cC$5*axn$BmGh6_$C=bSJ)Fj_J(bISwNFa1Ctsh8(Pu zkr4C$%JYe0o`2}G!GKRl%&#{B?~SOvPe$fmDB3Y8?3ZoQ`ye!pOTG_uu0IzEnm5rY z{#EAYl}gbBdYQ-*IOYl@qO@;AE|V(Qv`|s-tErRme1Ng9I#Tm%>SKwwsy^Au%F8Jr zqh^4OC_m{r2zY?jV_U=!i)=HOlf)kdQ}O3fL8?K+?cuv}vO6D!i)&6KVVSQ9y6yC} zD(bOzU(V9SutQ|@^cLzzltF>v2xNkJ-45W=~ zT5WHLnO-+KCgyxRpZ~gF_yxxapjS9NJ_b?6l=|6GO{GnTf%rZQ2q1SjZ$0*FN^rfx zji`;cMb***hXe}s`dMIjoJUM42~CnoZpk}OwIVYyHT@)zNDgxUa$@4q8;9TFO<*fs zcUQAt)B9Roy?lbfj!DSu58rbBplD#Qlqh&-ta_=Sz?%pmkXT?ZDk|K+FfquYGvGik z;mmyMpdjqnLJ7I|#f4sxHuy#CH#mbUEwd?qXWv z0UGimcT7lAGge++7LPl<7uc{}CnhGYi{KmMrM&FNpBhFvS#q{LJTZhG6HRTe%-#}7 zP7G6%%T%uraU9hzLvg*J?%;P_69P)4&7HcfJH3+k{(`(>blU;_A_b~Bxzj&*Jzu~6 zC7L3OC6(WL#dLM!4LAn0?Ab04^oJkyGKg)?i3y?C=4EBIy8%1hn0t^lZVP5!>67?+ zSsfO^e_Mg1h9JfVVBBV~KHy|Z2+cQBbJL;3^`^tXiudJ@clhN(`?PpS z;(S2N?D`cBmp$GXy##4&p%%;!1WU~^=1bW1o2vU=apM-z%o4PCpj4BZLaud6GsKjr z?ds}s3C~DNJNva8h-&g}3b{k(nB<56zEFj`l$$x*bZBsJGlhrqv3UsE)+G0Ln4Uoj zM5eYZ5dPlaRRmdXW@h0uGcoJaKp0qS)(1Uqc^b;!0LN8DVgcMu{brO!A^XAo*E}MK)$p%64joky|#U$0C}-?6|x+ zb_dPKZ^)*;_3CdN!1dy-KU^oGz9Au`Rz_|WP&nVRAJ^!E6(Od7?G?{Pj}bw+TuyrS zyZJ6bAifVW>_dJLfDGtkyOTg8k;zfs*|hs6`#expy(}twrcaEwq&!?6AR8iOX)~te ziRULQ=o9o5)HT3jr1uebJ3k!u8`Zj&BCp!$q)?aTOp!`>n8QiOYP&RP-{H6bk~Y;o z;^TZix3efOE4e(lhw()~ON-xdx!I&!_^-df!9GxOuSEI<=GtHka3_(# z1&fH0TUc8Y5dyz^i$zjE#^qv^Flq{g+S_C0wHUEj2h`VpaARPAkZ@b?YzH7NYj@de zC5O-YcTZ)K-%Nu>rILZrqrphPB3;oifA5RHi^rO0Rd{!Wb$m#R+cp+bj4r8D`y3k< zjMaD7k{T}jU(sD;eb%&i3iXv=lYU1G;G7y+cq~PTe|AJPOO0x8J2V`bqc8VWq6h&z z2#62?e=;pK4ZC*)v^|H0u#Mii|D~Y-w3^nr0-ZV8#E-Jnjg8N_?0L0kAK->q03kVY zmI1dHY;5tc&zd<&6PmP0^U3Is-L=QT8n`Q-g}Y*@A#k8NG|uxfGTN>^F+Hg$sifo= z5;@+FM5-*RE2#}nu_}SQhJu3K1|FAi!%QM`CC;_$B&Yn%{!1~d`7-X^?_FIcrGB8S z_xdR&Mu6q<0bssPsKk5$i3zhZcx`%fRKfG;@IHX>2z|GC=7*dqYZ&YdKqgX$bqU6h z%+cV9!$m3WWvOG=OKpYmw~-3-ZY{jW`1rVZcni3=OW;N6Zi#MGD9*4^t!#-`Q6JPN z{_Kn^N?r073qOCgZOg;$2+>plPw7P2(^K@;1#1hk>6o;sDp<=0Vw@dooAD#9Y}iTc8c_mqRXOjQ>6CwbfY zOEz0)e$F=|uWYO5=cUU?B$Mtk?{8xyDg$zP>XFPe8IAVVO z;QwfuFPILrq#}1iW8)M|O1ap~Td!)lE3P{HKhodmQ1aX&0RLdR$&RYs%DA?XS>Nh8^^052gRcu}JxtlPn%XUYY({sfoSsZEzmaq_dksoDNbAkYLH|$%A9E2r&&c zhN)`hjf%Dt)JXNVN5(n|YbJmE$@&Pf-b?Yc3Vid<;AGRWGuB-7s7!qolV}>cVrH`u zdO75Sj7oNTw$}Kf*_ors?I3pbWl#9sPc8{Th^gbNnyr0D_lkYAgqmp!KLzN8Tfb?$@Fl>nE|1}23S^H15*Uq-CLGVw2S6fK z{`;_KD(F$p%gZz4Akc4Q>DkD6@7PFPhZ)qef4B*tVX^ViV{7}%OG}g#l(#`tqVNNW zY)8j@^8UJbU}a?$u>J)qGcOrjz(*uc{rFhB!z^10@y3+e#LO($4W%JM%k~`V`Fi9P zc`W?vy*)8;aaAkdxuk|y>45>H+`;fzb@hWwg)m%pKffnW;zp=@Y;8*?Yh2*Kc-Z*2 zyKsUZgbswnG>N?3BzeMWBH`$09GBxpWUq5kdNHxF<>slWIY}`zl+!=ZK}$~CH}&%! zLT-C=rC-h!d%{!RWN;M+#l=;nJU(*owgC5?w~d!!zVMd$03z<*sh`2{@ApoBx>k>V z8kd-3U#R=4Hl2rtb{xQWApE~$3ix>$VgZ&3g+@aI)QRA;4`Ob#5Olyvn2OwFR)C;` zYo(){@jF-g6|zSsqiLOVHQ#)FfuOEQDT=NhIloIwf!!EgG9Yhgh!0gon48J!2*9>8 zISZM3Z+N~DV$lr0qrwkjfx^XHtaBK{q^fJ zYfg^Y8P->mqO@s`XF?w@P1M(Ket=e~sLQ+K(hxUZl?;&Ic}oS|+uO~}d11KDKP@V5 z-d5C+O2Mx39Hg9P>L%$3MF6!|)4m~nJijg!uiDuG{SdRb*#0Th5TD%;zkEXNmHhLf zv#{)UBRja&SXIY&86keS_Z;VIok2RscvS*MtOgBH7Td#oXvGnm0nr6PkgsT}Ea^yj zbxlo4R5tv*(6yY*6who*zn<8h$|ZtlfKQa=gg6w8VV|jvf1!f zU@R0Z-tRj*fbL>tC57{gM_+#dM}@iaeRz0C$$7q(P0=frAg^Sb{qi5vk5p;d%MrkK`4Sl$8xK~Dj5P*~e0S7h;OpsVAh^=8u^jXCE z)-1*U>9|Pi?*!!s8$(HPSjrOKQlj>3PK%|WdVpfK{0s0Egg`Y@LsPN&3`DJI@1091 zmJz}6TkGR-a8fsiJ$AJ^gE&e`%KRF({tRZ;RJY89^aMvrUb;=wM#^6(+gcH z>ZmmjVOQWYG{m+|cj{5v-`A(gWPnrX(Clw`ad9i~31^M_cD%t>Qrs`n37V?T??bzx zq}nkJTUYB!(5%cn^GOP@;L+a>N)dJg?RK6N`Bs~vV&HFsg+A)kq@T)8(~k7-`q4We zb=S_y3fb}A&@4_;NzuB$ZB&7rnUK|P4h-C(pTIabM_|Ii-GuI8BbIT*xoq-~e+=X3 z&!6wI2V=RcSSVHz#-nTA>7dn{%^iQwo3OsD%+A>U6t^Oo(&8JuuV3zyV1qBmEgwv7 zY-efh0(EcWwSTYxy%ycyEM0Rn4H#cl+fU!Py20x!nydJB8&zGAQE)1*rYd&(<}*ke z(NH@&*o+(dx(bth&@>)RDfN)<)cx`KD%9eb&=j-eQCH3m4ZnOw1>+>`Pb~efGDMOq zpWw59=y?itGVGlLd&u(gvZJ%(+XrM*4p4(o@WonsIG|1kg;X0PaoBVDDypKOX4|PK z$@cNEeR00!iiDZvD{`^6{GgG>Dgqk^+rdS1pa8P91=yDcO;Ehn6{kpCTwHJ{VfO-{ z)g&mcrlh3QI$yET!hQKz99pFteL7<|!BO#$h=qflJ)(OV$XIu`w@1TMSo=T$C=pke zlzS`jEt&HtIM6B0)2a=LabB*q7*~{#u$7SLZ_AU-1nD5^Fj>UN9!XRr+(#&&kN0x>BiJD*u@i7IH6?)|3yoR_E80uP^pLi72xbr<{? z9&NH+J4nC3R|JqSBOM(r!$HVJY#Bv^Dv{i0NuMs%@7$rHk6`~G{k_&p*GeW)GJSt{ zb#|)L5B`zM%wUN`cCx+wOnI!UZWD!Cw_}ft4|)6qTjZCO?SACZiX0)kEKqkBh6WdB z$7ILcaW+>p@aALQCd4Ksnu;m4<%)BchJ$Bs>DT-BuyOL%$i_xF3jl{2=YKLCzP@;Rm{*I=-SnymW$#7(hL9H7gsMo6`&};nGi6`pdNv>Mk*ZKqi-sio5z08OPy9 zo20}5Wq$RFjMZQR5cCAxoVmZ;t)Qq_@Indb1@XF!3vp6WwE+K>gPetfTz)!p&_t0I zRq&J_fva0)rrZ<(&oMLIc1N37ayq%gHkvO_9r)`Bh)vnox{+-mNIg>t(_F=v_#q** zSgYp&n?^K`zE++8_3`-rhf|}r&bjA>cL0rR_pBuaHjo?^A5qa%v_AWV$cZCxA4FFB z0FC3_ldBs)!Sjq681(K1;pOe=@t5?}vaR}1oWk5%Ae3#^M&CqdUrkI)L*vU^VzIIV zXesLlI&us}D|&G(QYgsy@v_}VI{V*FtDfL?Dp#|l|AVC7v0-B)Ap z-jVV-B+`vmJ3_#+8v18hd31SS=8c`&HuHM;zF>Ox4Dqbj-<;+7(OMYNqBAZmK0IsC zL^((?dlX@@{i%Gph}1PUO*RWuJt2dHw2ax(tr0clI|pr{eMFgc`^^CdP4|}oGK`Qf z4*s2b@LU{kd;B~|oqpIJ;HGIJ=BJ{$&u2U@?Q0?~&yP&cTy&cQh&TEI?z0d9otX(rXz*$WyW_y=J?j|w8aQnw?Ji4ZY9=-)y+#&(o%B-$ zg-3*a`}t|=y`*CE?22nDI_xP*npd!GZL0WXy(_N%E= zHBHIzi5abLBFQi5Djl~vd_g&;@MYKGr3B($x%8xJKjR(Mh?r2@mgRp#+w16-#ERUm z%gh=|a|a)qRin~FX$X53-1@7zSws)8S29Rbk6GS%7nog8NnV|tiwA7ZMOW46L)^$Gp@n=%5 z4xi+y7xzyAe3`mbEK@!_EPM?!xu%-zRRq8T-v+s=+{P&ktgh)*8`AhQf*2nsawm5Y z5gT!)`(L1Ol0YTVUse{%%mj&vj)DzPrvjPSJvK^ah~H=E!yq{gmC+8^a3oL=olPc# zCJiino<}uL71rTKSH8Jkm-v27KvJhB=RIO}x3-|LGy(8W3CXL=gU~zS*i8Tp?fDaW zsr12#$}M_hd9hN})gj(URUplPbT`on3z$Sosbh`Vn>a9jNTV#dQ#T32MGE0^2Ya%j%IT3mrEj3%fwZ=SFwBOQlwk&-&aF@0l3gJ$7cH!+06T@ z>J#Ld@?&}^z+|L+26S;P*A{%a3nQrm78dlxQU{lo!sDmv0FM)Etkbw+G>Ycyn5wav zS^xIz(CXA=5G(dP_wa_zzY#bnncf-pB0=NtIdQql;oJu;Ce^n4dc26sy;o`lL}SDe zNMa6$$mG!Cu+j(Xl}@KgisRwL>t&p!s;*lHzL4aW`(Kh~X5cgt3=^lEagmu(QSQ=r zLH=%OT2yLvW%j@RA+(Q>xQ|$%2lQs5Dd_I&-Lf3+)?XQ)^AzxVhRF2-9GjYb2} zpFe+&&Z5pNp?vmC8&$_!J`Q1{q~v=3N-$TxebKB;ZX3lBC#j|`{~`hzCgx}*qiwCj z)2m_HGVUoE$ASHbV4^qK=vFGbU)Vk2ckirJRNlP}`qvExxAFrBtxRZt7i*eO$uCb~ zKAZ78BJDsCm8#Yn9+Q#qejUoldBJa!Me{yN0*)B#75wkJU-?wrR|oBKF&`+=k&Tz$>0GrjlkHE3M8Zf~*B zs)zzqbH5K_G^ODU*>RD))awf*1sxF=L9#S@oA%bJIg-hW<iHyBHJ9nDJX zg*s*}Y0WnEWpTjYL~{F9Ka%j$qoJLU^-Z~ZlIQ1|5AWM^{Jrh0EzN2}v2hph^_KOh zaoYn)<=@WjIsi^Eb92(0d?*nSr#EhH+?Rj{e?#YGVMkkgNZVqk(pL!y(47_gBrYqJ zl~YB9f`WZqm*<#ldf-=k%VC_%n2fxVdT-fb4}hr&0BJXIUto!b1`{u+sW(<2 zf4=lb#@qEhMwClKb*aFT+{6yKa7cr zf{2QOfYJ?;(kc^B2?@#3-AMQFR!Rh@=xi!YhusK<}3c2SwECKm4#%TfWbb6Gq*;dAnA1Z}qfY4Z$0o-%aj_uFvc zjDV@$-lw4VGt_iP5;wTmlh8iCIQu5#ax%&!24eQ|9R$^=Jq^i0@yP}KKBo9H# zhIe3W2U8mQ6S=sZ59O~Q!|yINzdF_Pem?cWZu%j|tN`M$OtPSQYjmTMv6d0s-vot# zYKBlGq0uxypS#Mx!iO{^qtNVi^ym+}e{&ib#jZat7#teZ;*q6-Y({LkV(Rbv6-A_uW9WyfX45JwE3bvW z6g~%r5>ZrDT55;<7*>ct>^drPaKtDLOth^#-R>-ua0Z4DU0+)!Cd}H)6@AZ>qpFtD zQ^ixe=~^RGf1PKK(LHzeEIS+9)W$o_Tp2*k9EI|$p&J)mWu#@mhy3H8Q-;+*j~6|C z6%>w>uH1Ssvcwv2M72qE+23uECtdi=P5qQT!t}CJHZx8}I_CSgpvE~$eL}2(R#-2M zA^Cp!>ax$$sHj5n#^jLvFt{+<*KbCihMjKrIjgoas;nADdIaoY9u^%qvlAu*ul|{2 z($!$mO7(pm6tcZxN^5emEx)a)Y2J>OGhKGJv}^{jMrK4FqlBHZuJ>7LmGnIuP>pcF zW!A|cA|n~>Kj-FZYm1aT#wK*U+SllbPmBkrfw)9aXD5B6)EvK|L+OKi#9E|`$5=KV zCk~nfN)F`;*%vQUGRpe1QhQ)$_S-v$llTHqTTg*}W*7xut+O}>gEi2O1gZZXZL z5FmzM%^dsKs(6SC6n`~stbu0aChhdf*nukWV5ItEXBI?G zeHsiK8QE9y_1@*hn>Qh>I=_q$QJB$*A%fq2p>9PjDd-Udx3(j|7#`U$?%zB1MfUJ$ zwk(n_Tz8`~+zI(xFI(Qz_t1e_<>3G*3)C>wmI6Z`VO;(*0U$ti;?zc7iYg)E0lU}3n&T{;nOR2qK%o3cBGnSbbTd#Be8K? zJ)=W|^22k>3kWqB)!KO7VqElS;Pzju*qcAp+TP zACr^I_uiK6Y#p6d&}uR}O<0ETD&uvetzkf zFSVh@59csZj7L}PSvfeUV}f%mQN%NJN#QCgN4xY7A*HpoD)htj>`kDWq54$yM9-Y| z+Rb)JFdqT;Rux#i^kGqx`2woXo=M-K=^8Vq-MZ{?1hF6u{o&DDuXJZ6#qV~$!x1% zIAeIxfMFZ^C;}m=fo8NeKxWP-!1@Mjcytb8<)>eMbh&ae#Y_cA6|Qu3MQ| zu5sO!qzsjZU{Q4+n)y0cox2&u15Z;o8>5Jeok`)p##%xc0Ib`wO=+VNnT}hTOckwk zIs_=Q_NArT!Ga-#(cnCdOhdij!6BeZ>bLKYBlRk*WT+!=OHFMSH2tzHbu_5DaB%$d z*gqNSxL^o+&Kdvd+L`|J1*h++9FRcbjvqfyBqg@)i^bOZrM|Xatb0Z9IZ-wY5ok z9ZP^E2@&zzIIe!4WM`iPxqg%JN1t(yMvaq7fNVSaRNKmmg^*tHRKV%eryU&}%7lak zS`B}7bva7Mp3EfRyHW^TVNhUI2jFqQccY@DL`6+4GNLX%A;$E<^6%dt@9)y&nVXyO z8$B?7`I0L}cXu6a%v_S6pD$84u^G(Jw&(#!%IFTRB+?DiSuy+ZRtu30Y z*suxS$XmIN_!?TIXv1t4`EGl=Me)WJnCi^NhLe?5w`{s(8~L9a|M!5Pe_O{-Os-l- z-Mn!_L{?u*OV@Y^fm};17T@2P1n`aiq3(@@WZ~grJ-+LgFkP@v1|Zh@T-z#O(b~~b z1;U+Rw=-;T=JcD(YJNLbTYdXCIoR0fJf|E3{H|UK2DMWl&1}_^?riBe>Ea?yosf_S z218D?`9aXUYfW~`dp3|hd5MTAoD?Ely|?3SK_&6vS4{T6)>w`Ot(X9)vlQOly z@`!})DBkjxX2u`3GR0qFE3hSsa`SV$czJO!dr?KVoLS`rp#WCbd=w%38^OnE?_XZ| zX`nO}*t~j6CUPv6XED}h#DD%g!=gYP1A90}0cLLU(vd~UVmTRF7U{dOw7Isnt0g*it1CIehP#wxWg+{!r&Q6&DY2!5I>#Q=flz3p z9&wAqOjDCNc5pCYd&{-)`(R6D;A&TG?HIN)z-?pg_UnhYuF>H^*!GN78=OV<;tpxD z>!t+h;X1_doU2cyqLZCn%O1Db&!J+cwNPv&*Ntax6wlxEyIKm3R`MAe*1D?~3_>6f zR#fDWgTbiOdeRCD*^7Cu zC*Sh2tuQOmbujx`NnZKw+x2&EAzCkAj?S<2pD&IHh)Y^ZdwWedBTNnQ?h==%hw=6{ zK7M$hH~+@&Z?;J#wE|9os>+i4qM`;n%Pl>!hOn(!pGXB7M#inhHJ`O;!CQ>QM6W4r z*tdV}Ph`?A|MD3mqgMCvA=Ez&{~SJ|Z1xhZr>$={Lh6qmKe}?F6l-Cs2mk1V_m?-F zfl*v{tAS>|fIvVPP~3on;pK0O_sta>l5k}zVE+Lj=);G<2YHeV)Qgki($f=DCcMG= z`e}oA76$Mn)dCh~gmyNzu%IBonmBQ=I=oB!OhrYnE--s!V4%Hy3@tZ}-?d-+Ff!o& z`*-G=bZZoYX}Vg5ar=LHcJB)bWl#fIm4-J2f)6^ceeQ8$|BoO~mT<>ma z5jH77s{$-ZRshWJ9^V;qJ_g{JpCCZqiluVW0a?Xw8UOzbSlE9C%t=+u{(+=~sO-x8 zd?%fcL{(v4!JwV2Q6;X`m}Ehvsj0DtopiH*z1K{eL7n_Q-%?9%&+#b+R~riS(R~d6!uHT?c{%{W+U3TVh$ec zsGMaNyNN%n^IhbxEL2Z_Iq=SRDZfucb1Fm1uL~c!c!i=;_)_rfIKqHkM!Fd^^TPl^ zXPHq}_s_&)g#5=ME%)B2hpPiOnbT5d+x;o6mna@VYQW6b8z0e%PeQvcj`R8|LoROZ z{;+#!Vp6bb@F+*4#OHMt3nH)APSinVIV(yHCdEFj1>RES$%-Z%{AH&%5v7n3*{gbJzWt1KX1pD=87Ek+}= zFt5m}d4J~Lf#9dOKUD|_(v%Ed!*~^R$w0-u;bm@V?7lDX%w#5xk z2rCald$8R=hsyAyJ_6~v+Ya{i%TnZ&jGaVZmizaOvU^|T9-90e_L7lR%l&)$$2`ug z_9+|b?QI)tv07p2hY=1H3HLZSFhHBA%u`i0ai(k$S@FGPC?w1*n+gO*=9ZQ+E}PT6 z=B-bdq`zPCuk(VL4*?Ql7>d|pFFpr?#r{mJz|Bz(yZ4nS|jhLR)DP0BC>nu$DdNM z3zLh~zf>B2>)nZrw2aKPk~ZgxSvoTIUwCi%B!*%ja(`$#EQ(z*#^~Pfu=Zz8^mewgf7bkH5wg>5L%E*CLvWk$d=% z9&t6BU)XTYyMi_|vuqT!0$WZapeObPc<_)jA-svrNuv}2@CAmtFNs{?N*0dPxSuuw zsHWCYul9#S-D9wlK`?~ZZ(gsit?_YR6|)>;A&_4dlE&fQW1vuIxKieeHS`hH>YDUF z5zi?rvXfff!v-|$Xko@SI!r~mv$GR5QR;ZKj|QEKQ)kFm%i7>o&N_Kog^u>t;?`6C zLqvy0Nj*bDW!#VZbBrrDM#nol{eNUNJNKl@L+BzGT^u^g6?18N>#JzrD(=;~Z17SC zpAC(=Bb>i8)PQaO8+vUMF;^4pR0Qq&RqWTS`r{-x>=>0~bT11- z!m`Q1NZ{EqQOth(3=g~o3u?S)CO}aE0!mvWU0@%y%P;7GOZCrRq-uqLIu~^>kQkt1 z7*RVpFRj(!z}V z9oG-auQci|F2C%ZJI&PE+PY=$xGg!MwD*h(cdwOH0qnr=OEYmV+)c`YsUQ^ z=5X!Px2eh7aw4(VpanmOCaTDgDU}kq?(vSb{+2XRCM{Ix%cT(L{1(a z^Y#ALFckBz3sGdSzJc9X`|hap{fU{@Rcn^xLMP8wCZkq|fm| z+uUxMiJV~-ejE$C`R;8@!;z}5H@AU=&v>Fhx?vjm2^^;p42_t>+Zo$p<2pPzoy*5a zdsFq}zAb>SGTE5jcGTYf%jO9%UWXBh_BOh@7FZ-i1gsG;)`lHSH^0w5!w{p4C$Ie- z`;PArhVqi!gF)M=?Liw-qu8+eW#wC5tD>B;Nc-*)ih??Asgqggs z(R~owm@I8MHqX_M3$^g@cz#o0fCH$f+uP?lkB^L$lIfythXtRHw+!u}az_aJ@kh%m zw0;iq^>_R{I4E;l&DCWXBl?&$hTEdMh#CbN=;t!-GULd@vEiz^q-ZK|altLq?Ce~% zjAPH$M1vKB-G6Tk zP)(2$v)^mGEv!q%8`qJ2i@xA%LXWW-JD9B z1!+BjC#eIN-W(6{OhrA;)ZHAK$m?eeSRPD1Au1GW?T%Nk8kqgu9^8>5k=-PFo+BDTizE!Zx6Tf^f?Zs0p4-v|Jq10p$H&9QPVGG% z!qVXydH!BAeLXMl;eyvJ3OP zQBiVi#P6|Oy&x^q0FrSDX(NPIO8m#)?8aAF9>@G1?@-Jh)YjIDkDqWrj&x5=4OfLK zvCi+DlNcSfwdGPtd{rZz`S7mJM63ee4!;MM4jl{l_oSkcIv;h4DIGr36&uTS zOgHVtYJa1bROzNok=3${3XxT^icUQx1 z62=ZrQ1{1|k_Y<6kb}23&rp+{nMe@39CQlzPhWiT(Z!&Wvm)g(G{Vn8-AK|< z>R4~%DL`pdzr&C1e&VHu_&^;Ko@{BTGOkAUPgkm1@j_5$6Izg$W#@4%7+C8|FUsyj}9w{1Wrz9a!|Das%N3aCMzO~{2mF%Wp3JNMt0 z1kwYs!`fcBhu}wJv`2}56u`iDzw_<_9oLqH?J%WmZI3@ss0!G-^$!ZFn)c)x;5}yk zyRieLM1%I4|DS*4pFasMN>+Q}?Dvz;|2z!Oo;LaCJMdKy|LIeL|MQdo|4p=iI%X#q zbf^ATME}plYcGHX*C$(cvyx(GF9Z7Vw28H}HHS!r{$7^TOV`ncWkx zs1>RH86I#A$)xTZWNtMR9B_Z%kzeWnsR?x=tXbq}#AGBA*DIZi3>*4N8sF?~HmaeX z7P59-SIX(jWrE?5k+~{`=<2p{;M#nX?;||^qf1>W8x#NPAWv+V?4fsaazBTG>*DwC zpQZxv*J42J|9?kFurK_yiLmgF*G++qVdo%q)CS($=OKjaC&5#8#yTQN*=X&cnNCrjoWGSbr43aZ zwOBt2I>5riMMfY7admeutt<&&y5Y0+v!+E9$Xl94F1;b&z%GGn|C;J5_`l-D*vR&9 z+g6bv#|EL);N}a^yvbc12J)W(no^~PBAz}43ZJXdt`E{a{1#LbPy^e0XN=I`$>(;)riaU6&Y>6dLmwMs#BverjZQj+^+J_w`VKF)-JZ1Tm`q{c3g z3n^CvrsGs6-^keLq4&|*^XE%Kk+PFVxaH>%@xK0rOHW<^G}Db6vq`rR9l?egS6k@T)>-3Pe0xl8yi3W`8{~;Ioqh6gM;(ub}gs^ zz_GqQ3FNS3|e1j0NA#X^*b`xIwb!l$5tg(MMp%~ zKY8NgYiH-{n*yr1M4oIEVgB>y{QPH)@}P9%FcKbqQFL%HB(xgpu@27y(~v~idM#1130RvZoJB#oFJyv=tr^l8r7k&`@ax|9LH*#pUH*wG!Uk1N(z*BYxbZKy* zMxcUPy+sqoNyLMOHc}ZxLrXb2R;mH>>e)KSpoE3x_aEoHw7a)OusM9DBQD;kn)A43 zreBnNZ=Ed*Xh+Bq2m0~yXU<=t6STQXP1u~Q1nnB%x>Jfw6FsM=0ooT{WQ@?_yb?`G zFYzvN9hVn((iS@x`W9JsAfq#E5R$1~0E)fTG?NoneP_t2jBp!A5L`2c-t%~?ZYJ~V z*BNI%T_p(paPefrsz3m$*f~0TRR_?}HU;GI%6Y%FeO}_#Td7#gTBU@qP7*w0MeBpw(&GFlo zb4hcvs&MJsUdyOFIAv56j}GGgGgvt21tE9$qy*{@N|Dy1?-Js2RfXG6hkvzx(W53F zXv%z3966!bAuFZ~p6XyH>9=9<`q87Ry5RAyi~-wnT7k5<4hzUUmT7w0yF*I;?({y> zgAX7Ao@}G3I;P#3Z_{K-CRUq%c@65i7u zlLBp-NaL;P=?^NYRbf|*UMVW(4%*9!zIzN_*)@LMgN^6KNCk*~dS%-^ThXqrq^_$cIpl zZ?!t(t)D<}R(gxO_ByHcqd+sahb&*`-Zvl-c> z#>ekt4ePqoWS&SGqE4ORP|J7*5zg@8=ioUSDanRdSUG*^>F~oXy=tY+DLY(T?P~Db z2dwS#iZVaT#m-%OZ9t3i*+H8sRyj__CL}+C$h>*O;``)UjB4&UXi9*&HMeyTfZt0M zT30X8UF$^{089nIJ%)jaSnIow%?`9$69$QtsR%hazsXfVNV+nA|id*`7VW%bG={EwHiPO$bP|SbP^3LR!o&65M z5&a@`ijTC+xb9_r%J>25OX!cHxrOy>V+lNpX66D$(#7{by4=3WxY3KCr{=o8&4%Rz zMCZF%O>f_he3Z8r_a74e%8}HODrnkQHIBS5ER6D95TZ_(aMPCy#*Gc~00ch`yR0(g z$34@?Gt-}&-tONN(BPbh#3v=`=;_sX63#PkJB<`n->-oheSjNJT%Ao!NVqvqs+x09 zR(6*slO7NxV-zYU!r-8UbhDPz$0JpN8rQ+wgMoqg8$5C|t~HMyJ<7;15_kGc z)0^GTWZn$MyWeYkMTa%2&iyGuOIC>RikVKv=?+Cuj%Z(*wc7rwcu*K6Q&i15PcJp= zwSvZ0RWYBXR6b+E-i{jN^9xRGUgO%sRYz$?=bue&CB3~MH3htptG%Fm;U(h0;AmwP zxZrw+I$hRdwg3&kqWDMB+ z9-?A=o;>uM-T>O4U>Rs+r2dLp>ZP8ZE%@@e)5@=ykHgkoH!lSf@K;1cMGFcFEKin^ zRpiJ=n?1nM%|p6M0Hv)$y^6oqdD1d6e7BBk&|Yf*79`_)0F-LqNDOc|UMS6FuF6-|~|Li2wKL*23PXocZ zDoj_v)`AW*3rh`@akadngh9-|3HbkUbGM_2t~)V}C5331n!7n^@CgS`_z>8&UyG0923x=N8~(z-DyrG;&6^iSGp5 zpW56EP6me?He#bXe{bbsVI$W~vvWBU+FvpWST75>ffDPPqx~qjV0f5+trzMQiy`M# zP{wD^0>28hLc2DX4N#*(fj?PG@@&1{v>}=5_lxT4>h!bkU(S`fNQiK1>Ksr;tExO5 zB~AhTX$|}!9O;raL&zS~n&z&6Dwpjs z4g_e`&uLlw_7}FiDWgmiVs02Sv>Z|7dAO0mjDg{XJ$*VdV)oyV>c^$f;&b*pt*uQ80EqA#DG z2IUR~4ld4LXd=N&AzhlWI24WoMsE=2`{KglqT<8w%%>o}RFDyma0Yn=sJHMZskslI z0;&}ek&%JhdABXTU2^w^d+q-$; z05U(lbTCHmOn0Nqf8d#!C3gCS>kd1;f~sowBqfpf;7)(j9UJC%sKBnx88ta4thkBE zLz54|Ic%$=xWka2KTl^{gKoJTDd_vByWvgkpt;sLq0F?ua!7u5z<74-Wwtz!_(3}! zeen=CTl)R_3^+6X4rEKnM$mHKPl~ES&J#+{pWo-LEUCCivAVFbXaxvXR^UHV>d`uE zL-daia2R1c5clyFa?)AvytGg$l|9a84}PBPp-$g}|6vnS)q=!R*mA*Aig@7I%7l7V zGZ7RNl-a1L{82Ex2Ln>lVRRY;y&K?u`S~1uo9*m;zu2PyQCDxY>I#T>g5c8v>v$kr z3%y$OHPjq;%7wuF`-GU4s!x&tG>2E#PV)Y%3(HR+va(3LyhA^ly$0YY$g2AR)&ffG z?Mu`G8AEguA7N`4KUn{-E}^-Wu>ZlY8fO7P@hTgl*3{Ib9*gi?%jA`+W}vU#xEQ5~ zdskjrlE*19tVWXYUJ62XYB1~JHev$_;TJ!_`Kt z*F-n2UkWbFe8Cx}l!F&YRDJqXjC*fqM~6EBQ2rJy7aTok(_hzx<|5bU=bQd|8PL=8 zRCBSR;UVeUm)hE_`uf^0E$w3|Dh-1Lh=PieihIn$ZaZS5rd9U=ruu=H)fh{E4Rq?8 zDT^l-Z+{RLb3zOP1xE|f)32vj5oigCL4hYly*2=x0AN1PbNV*Jj2xvHbDp))0S>h* zXwhAbZe5?66p)bM;uFou%RNozu803k`@ciQMn-vs!pp;rC2M5KCP%~6UF6=qnc3hS z0-ow_mXpyG7{ffSHr~#itt~ztKF7sQuz_1d{)aPp(eDpu(lL;wD;D{O4Lns9)15rZ`hZffPVg@f8JWPWbkkkn%17D~AW2T>I>-F-WEE2|Jh zIs-N6lV%nczQ2LHOli7Y483Q(_u~lDldfK{I(&;{v7QS8A^VwN<>oI6GGdjL3Nm?I zAipnylrP35gkRi3)U$z1fxP#>Ce!VSD8`2kK;h`V^@f4lA`;k(d}XJAPEP1$*XE~O zwyIOOLhqz?8^Bdp;ws>UdT3DC$b9(yv<@@gtlv81o-yD;RyLetS-h!IDCdt`GR=AR z1R|f6g>t$K>an46@ZMR?`8@bD)c;oe)1Dyx8vzy1-#wr%&+iQaIljEIr316K*O{GcK1 z*RRd63w~05fE?+diy3lx?D*ov?|9qj%GO95y2?wG6jz-6we(qJycR{M50A*-GYUt6 zx(+l2my%z-U%m5roSJ^)cow5ZM5Whd-^pJY_%pw zYAAmc0fP-Z&_lVngXpG1&S-bdcB<>;Zd72U=`lVCepxE$;UGYEhg)G{(sTIl3MuK;9A z?>^Nnk+06AQwq&^gTTE*T0GS)3-20G%sX5jmV@DUds^Wsy|YsPUAheF&MD(P6|gpf z0`cd5b9^bse)+R&w{D8Psz|!=iNCh_uey8uB0A{v3tC=H;si&uBXKy=-P8Q1P zU=}**rvue(qRTKcN)>|zY|S15t`T6ZEK`_eQC(pa8rU=ywsv!Mox-p0fqtTGg+3J( z6~SQ<<+aYu%WJaEXB<#tMaX52dFrCHl<0^y2Dl<^jKoiZA@azQr zK|zbMK4~8MzcyKTXX)rYx39!pqQ7n0KbKd4Fs$;uK|MM)+LbI0_Xw;sO)o6sXU9)} zd_}eUZVg1ZNR!@K5C-Z_HbxK&Qyp@9;9cME+Jr`*5+b)Hi4B zNx{Qr>i8T;JR5u$O5ZfdW08cB$6bRjUy|=*&6}HpgA0K`8(~l!ZTJ8tCdMu)Rj|A{ zrR0G70n+Zs4g|?B0v3Ho{ni@FZ)T!K$0#8EM3SipT@50?9cG$1B7xi;J2M;`hpyLy z{*6-v;jVKf;hQ~%vIe?{WqM#Xu+-A5!{18q!zm4Xn}PB>FPGj(5-@xpjq1kight<5 z*qC_)(MRmLIP`1w{dfKR)6OdIsc%qrgL0Q2vHMA5BV(Y%_(MK~?#t)SQQ=&jfcnQI zmqvUA*#AH(IpgYcFVpm1CW$YRr=Y-~&MM*YJ&vsZ7b{Z5<7GuoQ)!not0*7h>(>vC z%VUi_AR2=!WFKyYVt3C0#rA^2LKCh+g=`5R3cRlR5(=H4p0+VJ7ye=zV7>^_C-6=` zB?*EeR&!}|Vqp3Ejs?JOt*xFarE~#|JUDER%bw!xW49grLWCpzI_3CG2o=+)1xmZX z^wj2G!PwG;BsE64B6Q(azefRzK(x+Ox&?xw&!M@*o&9c<=kZj58dFJlctXW)V_fb^ zkEY>EORkt(>Hd=`FF}$Ec76bB0}Sj;Q&QJ>B7nt}x&}k71Wbvt(OQ7V!SOs^b(hT17=2LXsS~Y8*Mn)F6h!)aj#A2kSi}Kxd_l&mx2LpKroH1uzz_7p_dSsFc_Qq-=*mw)vsXP zssL!vuyMd)b3cb#yQNUJd=49%9O!PoVZ#m$4z5Uv(sh+m$&CPdVq-TTa!uqsFPr-4 zv)5@mN=gay@7#TBryreCR5#ALDL%(K8DcLbs{8UUF9`n2Vf0C-qrtrMxBd zGFQSowg_5)P65O*0K5X}=Oo`b03MhaEh`L|`6*Eu;TYGQCb_%u^IV9V@}QjuIBYDR z%l)2^tSaH^ zN$Tje^8hM{RS^piW*T~W`k3&qcTo@Xv_$m!L(ZN?KD;~YDp65U5h6e9@_=64ac>{Q zVhc=sGJ$Kx*&OFX-xeLYvrw;39S$!F$Z|0AgeL&D-3wN3Zr%^{Z#^TQ^0HO#d0wii zFH+T3SD&)DGR~np`Yqcr)g1daw*Dp}a-ss?GnMJGquNnA41qJ@e2!(KG7p{*7|c|4#~K-^v;8dbRTdY@_H)|A)HFlX-;c<}0r}#k)?c01g ze8D$4-FuOaTy<}HHQMcNzka*+_QQvUImg!LQ}T^Nj94ZeWDFbCXi1z&Aestx2kz&- zQPa9V^;X)q`@gq*vRh(jg9NT-DwX?oSx!V7uZ=c%bSy?ZIAQVyo!a!4&hGsfAIp3* zB9)HL-p;<>7~6IFR>=Jn<)>dPGGDy#sLU@h{d9$;ThYuc>lq>+k;mXYN5vf5ZjqN~ zd;ZOjDa+yl1j7`OI_d6f<*atWU&^nHQX91=XB`+V?xkf`l8418v8t*(cY9E)i1qo? z{=CI@fz0@BAe_{hEbLiOQP2^%*qIy&cUr*FG%&Bo9H?utPx!lI}SmGsZQZ2OA|Egm$brCQuKr~z=!Er0;J1tek>N`fIO ztc5w|08j5+zc^;!Y<5w{XX*QE9Uym!EOMHrF@)Z>x5i9Xgm9SrB}+=A55!h_hB8?; z{Y)FbROSrrRDwV)=cZ<9V8mZW{nsYPUyL{ER)BjmaH>nE76ijoB!vVoyIS6B(hb|U z&~bERB6!RHAXM&a0pd#W^$51AslcOnF3tYF{@cJO0rZi#w@ZQ2nEU>QVYcTV?Ib3n&w`Srip&$wxhkhTYWn{k$c`JBa9c3kRuJF4%1(-UMkiC^L)~+xYxpWIT#b# zo2#1pvf%u?nw8nP&`BeNHr2$(uvrnhA_parFv#pF#c_MV{RuyG!s^hIa&^w@_Qkb! zv!BD&WQpGP_UMw9go2@OXEX~2Mn@%ps3jr&)#S@nZ2ggwEPTf9z(4SrogMg?nm^_U zB{KYy$9~gPUxROEc`hn;*CZ z29(*(d=8_c!(i+j#~&_IS%~Labrdf z$fgiy!;PalI@dgI24{UT(SP)#yl`y|c1*y&CfnQk*Xjv+&T#ts$=F=YdcnyEo8=P2 z+n4B1!S*Nl>jFl%e;#vbhS`AE0#r7=9MG}@PIDrXl`r)4Oe=7JV%HYO(VZ(((11Wx z7Kznn0Az5Ff)1mUXL(Oc^OGk~AMlGcOU`<>qebcCXI?+t`1~}2R^VRN7ELMgr~yk@ z)KOFP%2Kzt>P%}U=vJFq!cI*~xM8LOu=}H~Dk{6Zz$avFZvcl2j<~sXsI0G#r-I?; zLYeTVhKV8c&huF)zkUC}>FHB%?ro*mqwWFjBlj+in(S@^HV~sh@q+F8`_$b56`=;J zAhDXN8?L?3ov64-zX%Hj$GxgVL5&z)7C0$%T-=zX{F~{Pr{66d)x*nSKUHD(oOpMi$5blPVFR3HjLwudFEOkhJ`28*EU^vMbhxhNb=7QF| z<8vT7^zZZ#lkLkK$JaPA{NMfUGYVR^MMeC~u^kIK#z$8we<(5qerK~_nn00ydSrU$ zwqi9k68Vggj;o2cFf*rr)ms_;XdK==kY;u@sB5c+SqdM?5qf=Dyb98;6#hx zvT?C-qf5md3%>XywL7xcYhh;oblS<)A)Oi+2Okc zhZ({?8lx>ndHxNIv}!#1$yq}~W1|Vm9IM1CY~7V2VLvpGcaA#!*MjTb3vF#NgX}@O z(Z_yRi#p=v3IeBIW#NnLp{p^IPNZ=jflw^0-U~|$cO0{+&|5d$19LV@uC88CB+k+@ z2l82q+qx@*W>T3uu4Gp=bS{TBgDUzelcdY1`oj3ITOn7&0}BbzjNq$jrJQ-gdxME!Z><-^DFl2n*ZW~VF1LP;+=jzeuC0K?Gy#5!vn9Be9SiJU@RRdT|9rF;9Zn&=4P zwU{0ZY+-?R)NA^4{ZozPwd2-5=0bw`AO7uF$ej7xMDQx`rSv0Bdi|st92{~Qtp|1^ z9bufH;?%j^pJ$tg^2ZNLGe(DH_|9%M_@Soh&_2U54*5_ZMJ(sP8OYq%)Las3c6o^s zj9#*sBb~v?LF6cA(9~;9!nL0Kla>3Jm?(SC9+)+1#gkSehvE1^=diCX3;CORW;JQu z;zoWz&0kFHqanXeQ?H5OubX!$$qkgAs+dw>kvo->PE^jvE%qeca_{hm-#>r(Ou4`< z@HPmvR;#+$oE@mn{}mwi;!CLZ7T+O;GP;X8a0&OEK8}Lo;53rEOK@#Zko}NA1Y_SK zX z1GQ{Mq9x#Ow^WwwbEI=|g?D}B5#Vu?yhE)R%_KEML#BE!tF*5)TK0H4e^-YF*oscV zjt@!z@r}71E)*O|^sP7Im(7ptzZTO!<06rMu0I!JfoW>C1=7V)OmcQb#nFsyFUF%| z>$wgcOtDikmvYSTxa7H($cX-xd~P1_9Boa*Nwmz1kvOFWx7Mg^#VB1z?TTkIZbJ?g z&m1fC8Vx{rLPG94!PAw0rF=+8mxnMGS5;SkL?}O{JQoDSWf^;sK#Z^^?>?7=9xanV z%riq(j7yQv^#Ml-{X^oEEDcN|f8fQ#ss$IHrp%2NRYmzaX3;N?JiKDEKaEnQ1EDSCipzzEtUpx1xo5AaNp$B&JV(`A)=9#@E`r-zCP0g;v z(f3BhJ^O2JJ=U1{5U=sEv29$OT4G}2TOBYrZLVGnp1}9S?d)I)!~i-KXwQ$Akb&MQ z;(-7opFqUrhueq83&FvV>zB`aVaJyDkL1u5N9`5%=T2K~mF6(P4oqRz^IP7R8!i9YA2RhzXi z*|EuyOeK}O%$E9(tzQuY#~Mf6K;ZOfylJio&31utDC z3!z?gtGk{2kXgq=Z;XHMgr=hqBVZT#yI7LH4vZ}u7+X!w*^g;=-aYb_-mnhbUzH;* zoC`4>f_gRs^A(CODr%}v?}4h5THq#nzow_u^cKjGHS(BiRg`{{R;o}(ZPASRg@xe2 z9BM$LNE?0|k&HDR3rJ5wZP*jDLGE3{08!7nN$2`KySrCka3(lJ0%-5Nb#zHh?@YPm zWHIdM2rhe^9Tua^_wmc%a@Z0sPty^BfRx)~_IQSi*s^~9e0k<Bf}57D&snQ zgl#y&ij$g&zc4#-%IwVB-VKSW&)uoIR8$=9Nl5JWT_mG=*NWlNoDKhl-K~+V&7yY~ zf16d`t`z_V9IUUQ>Y3P9K6W|F_JJ_@$FEHWS45>}3Cq#23u+6nSz44XtV`6(AFEme zC9WGdQ;@>Ifp!>7ySFwaGuHSA$@u_wGI4jRYnz2?v@&r%P<}-w5-W)H1;xCfleB&p zSd?@7OU^yFw#KPPuw8%kK6?070_cG_6IS79?8OAc98+lSAjq zGlO**C|gle-h|(oZ-9ok^ER-CLq0)h@LYdqEVt9CA`b0YsG+Qo3GK1YQsj?ot47E) zmaOV1`t2B#E_+K~3Kl9fKz1zq6Do9o`q|!r3Mil?bYArN96Q%KNcg3_kw3yGaC-rSu6obq*yoxwE zFcO~;Q)1TK9vlHw>)Qtl?CtVNM?^oUaCX}RTMZ+4LwGQATw4=H*xdQ>->H({-xGKL zP+B!qiCeR!nf%SXC-ZrL)uj#Xk$E>R;+sYZ)9rM2SX#Thppq{d@D`MqURe716+iJJ z?SKp`MVLd1LuWKj=xF=7fY|QmtP=zdZ8$KRsnBDp-e=tSJ({1N)emO-5lNHt1~60v z1SVjp*l5!ON~eggODyYy>z<0ANtE9)JDPVNLS9eTL_fF_)f%|hpCxQvO_PwMbG%rE zifgx^t6=Am!gMD0uieX27K8opuY?Qiy%jq5=ErmqgH&-H(U+MUTCxo!0~&fXnWS9j z(S0!LXxd!$+%I1+DjB>9ZACSE^uku%_1FwQX~wFCf{xXli|0-!NDAFg$=S%mIygsf z`3jt4tP`Hz**W)Ki3MBsx;l4i(28Ec?_ezUS&qXD3X9sW(lN5?;N$B8_3MMz{cRiC zvi99~_{j>@?E?wp)|Y{ukxu}!Z+3QN#V%PnF+DCWKAtt9%?ZrJ1bxDGgaGt?!JiEJ z*6FiBrt>wmj*r9RTj%oJFLv{X7mP3N`y6#@f~VYK%O+f5)!DywnRjq-xa3@e?0x*# zA6N55h6jU($xjol1CLT+^+dJ3R)G8Of;+BE-gW6o_fpEa_B^*DCr9G=1o)}Q6tIa% zMXEsJI51_WCNnEB{>NLP^s;!)mIx03e}}DxEcwFGJzsV_J<{ufD;-CFK7r}6H9tue zhqWwT#i%9!JQqaEug`j-Abi&(1HbEBy?1*~X!PgyLh#zP{@&c8!omy2Dv}&tvjT7; z*s*|AD{AYDa|1BCejS7=`H_~A!hS7WH041An~?griC}4P?G!5eIrKNvQog;W<*i#K zFRtafdyKKr{ff+#Ry9!R06X>Y5D0@^4mKY#=jRt*E~YyFrblLft?%dK%!eORQ+cim z%EIAc8#P#2G5pD?GY}V@l#p1m?jt>QMLcj7ILXiK9O@uY`0qqQYZPP6w9cP?h2UAR znf#(SdwOrrDjdod+y41dj)=p#C!ktUEE(NDvr^fdp^m?yfu<1^S=#MY9Id`UJvgj* zp0>vDb@;CjHou#ipYSqIqO)27bm{t~LMzPTwkE4^3;sdS((Vy&Z+7f#7H!5+2TQc90_0r(mlI2Hh?b5{Qc8*f z#J2%iOy+_D1C-YA;fD{a3OGJV4eV|14opsVoqNUNEt8S|ZhI{a8l#kU z-wEoYClTGs^HD5a20uWf7N3y*cMiXbc4lANwdb!(1FrR{QUA(`$jG3xV9~2nUpRZm zGh%#{E%w(rv-|KKT+Kcx+I-h}EO_hk*<;zN@wpX7KOQ-^&fUeoLo#*?%W#NUbSp!k zyM~dCac6BUe$zMM+3qwI(`s>&7a@N_;vl)@jH8+w% z#{%QM1CT3agL6W{;UE)G6bIR|!@X%LKDR8Ov7y#&-Em{VQZ<*So-lv>JM(7(PtB6L zhDKjn%}y9Nv?v#-6IFO0)RhhDJ}t8dE32MW+_=ih+5G%jm%g^6 zeAJ^wo~NaxecTqE0&&T%lqQP zVwzG+-y0|}g07zJszx#xj#r8Z?p7niLsm8U;$+nFc>_KqPSs5NV|c6_{BOC{d+xG` z0>Ao|m6J|Xosr{!zmlW9HE8#x-Vkm<4E9L|vP_c>J$SW!;Doy)}e1_lp(=T|qt=3)Gl$T1U)abdum&dh}Htkjw zMe{*P17>(@r@ixbkO+x904_|;k%0pwPpibAWpfn$B^St`Pu0%4W6q|ihP1tIsmCUM zIqhx~@mc~hC3`nZkxMI<`JQ`4dLE~PW5arTw+0IrL#CFWQWr@?cqfo%tsxN4 zGK3K3Sp(~N?>HY^l7mgJnDeB2GSpGR7wwrx9>Ne{062W*FRa00m6zPH6X1PD0MY>$ z^<84ts+vU^_9(*nR1v5D6i!(0cR%3hUwwM#c+-7T7mY{+TR~{YKn9HqXs`Ir>k*C!4Q}vdM zUAcpLa?nGOqd)y0vIFpdo?*?KFENDq`n)4RWN9y=G5M?poG9O66~YCkw-)Zi^I8S{ zz6|zDFWH@No~)ZM9}8R>s~CUzRABY@bmJo&`FLUbjT%>Ye5&LF6rXJZ(vBX8=SWji zS5J5y*-ZUd28Mk`i*xvj(``|(3OF5gZl@c_!vS6z{PCwG)oIhkPtPXPpsK1Wpc+iX zq6082BuGu`4>tthcxv(cpjfIpsItcI0TCdRtrGPpF`_MvcfyWIfD;_pFkb7Ku1dFk zvT|Fmi%5`X7v{=}>}@r!N&LJmHWTi>Cq^B|^?cLad7{%Rt*+c@F>GBdF?V;a+(Esj zp7(T2CeUog%FiI``?*TlE4n0yMGMMCdTL2~(|!LNjR-tF1<;170qYOcFK0)0G4)$J z%?dpI14Efo51&^3TUEj}H$wy+0xC?C9&Zc9`@wCM=6IJSZ_A z6V~|cMZ-PR)raV*B=i5B=&{Lu{g3>HD6?9-b&}V~ww`e7BBw;^c5;CCV=sr(1FLu* zub;r0F@O>n%K^45AY!;57Dr*u=SS2pPMnjaxPWi}B>(~U&%KL|0{|oq!D5G;AD$o5FD@#?3;QAgn%;8D zM# zA}U1of6Yz{e7@M-A1b!D1HTbSQi0lIUMVH;_p;5|P9S~FyD=5ZvMT#|J{EGU!Dc^3 z^y3!3!~<>433Rx&l&S7yTBnQ*1Bs-d?n2ovXF(!{VuxS*l+uf(+gMtwmj|af;4mwVO2flTB<8a)${_T_QEbg_i`e_SG%OsC8 zVxru6(U89?gntC}@0wk$D!#=AA2zDXV?)TPUe!c?#l`so>S9Zloy5rU1!oK9EB_ZH zSVs3TmwuKb`aJdfo4g}Cyw;UTES1{%dcqe+r<-+#6=RLnWg0I5Q+j8KM&#~PyHnQs z2yF!Rg2PKplnyJkUCY*UP+pCP3-9#B=z08@wG9|@_pD<e-bhZMX#Qqff$~C8+*Q+MKAHtpR?6jGGf6-n2Fm@QJde}$3T^pJP}tPd z7af80$vEAZvH%#_g*%-TV5Xm@yvI=4oc>%r*PWUSxX?YW_k{S2g>iCMZ@6ZcJhKxU zOfC;73Y~}<+B`fJoZLDAJngeBY&;-D;pc7q?BP~SRFv>}J3XlID0(m%p{R=`Y~YLF zfYd?OWqN+gFL!E`q?))qcTYXM{kQ(Byt&=K-3(clO67$_q^G}wx?LU2B)JBcFoLlc zqsM2V!Rvj4gMv1k{_mOCJE12YNII*!`VE*+9K7Kdq{IN~ZY;m>pF{N_m6E&J zG{atdcW!+s-3v)ednVlI;OrbjL>&J6BQ#0;S(_B*&P`t;8Ttweb8m<3?bz5^af68W zkp7_o)x8q7=O_%&X{@MLZ-6~}gdfo|#-u_QAw9uLOgu}4uUg|{P+4H`bRd^o^G%4x zZ_}fLxWTU8*E3dPR(N_(XPUHFJ$6GL2!&8- zeQN5t!T*`;)PD$`9<9&2BTiGctQ=-ba|D?#o@m5TPHw?0XUNd(#gw}>!7cZFjA?$| zhJ-Lc%Q6&%3pMi~RBYOgXjWk#WI1A#eXD-c)L6j?MkI^URPt!s#KW;}fIz7grKQOr zx6XVtt~cCu^Hfs02YHj$TYz{7ri|tl5&`{(V9&o}djt%ZpoeLy?nrE^x6W=acEP>{ z0>UWRHH64g$K96i&dfy zdlB-4gCkIA#SVR2IHGac=sqGw;Ncy=Sh+W?tAlzKh;zqSg5m&F^m~ntQto?pnU}|>l56S*9A65v5eCBL_t06Rv_gPqbf=yAt-}E0mQT96^ zj+$E7&(_x7z%`li(G!henDf@BrpZfB%i-!F5c+Td~ z&5ezm?+n!-7?gn!VE>0$=$ws1OiWZ*ujYxzW31++l)g;5MdCYtDa)LT{VJ&aQ%_=d z=>IP1xhNJ1YaMuQ_~s0&6gQho%O;JDRo}pra#0 zQ{EN|#;gk2o^5SO-06vnCyS3KV>@7I{?=cL6QLms*7&`lCw8@(T94gU_av8#Y!6(>r%7&ESjUA6F^P!$tn z@UUbjXgnY#}T6!t_f-}-xQ48yDbPle^w66DoIs;0krdmEF8)5)Ee%* z6ad4jqiarMSVJHjaRViyvskPXGq9j129@b`Lh-UeZ(6b`Iye$k#7ABwo0HA z2U>Jd_XxwM$G%4|WJm<0#tVr*`C|>g(^;>Tr^ujs1%o6%HCQx>l|^vTw$9%ZZsel~ z3kxeBj9$3b+`%sE@!_>K`xer)OhZd6E)5MOPyJoA$SH1>bQBnrb-%f(QY4y46TwnRIEitI+WX#7gL{PX(x9tHucIzF^oA8A~}E0Pa>5zCG4R50#So3vE;IqF#LSQpk&6y zbxi91j3X$P0wmquqlz%)*vQWpW^?LRhaRy3E-)<}nd4ozioTK2!QR2qpXJlK z?{y0*^3t3*+(65PQ1tdA1T5-E={q7+7T1I`JX_v9-+PU-O z+Qx#Ybd9F{qN(Ykzup~)qeH3nR8>!pC#yI%!nOG9ntDUVX9Gq}?#8SC)Z0-}W8pjY!l^ds`>v+ySDP?P+PozOYD|qR; zTZVLT<@0|R^5zY^eK6@8naq<%U3!IIJEInF`ucon2~Xnla`>bDu1uoDqEjndMFMJK zKT+O^k`R3G=-}uPG3vpQ2l@+LfI>`awfkaNr&VphBdb5K2!lFIz}_B5h`#2u1!w|6 z+k0m?Z-hHxY2_hWcT}Z~3o@HGcPT`?j`mt-wQ+gPX~i>*?Zhp#++0qZZ|@SLHka5$ ztzXcwXx4p3j%vY#C${R5skiz}Ou{g9DL`+4Fp+=66mPLh*F!5cOoofrHXuR1WwE;4 zaip4vRkN#Entz;$^~}J~Rote29OG;SD>O4dVk;_6flm=v+u7~j%fLLk^HJN=ImWZE zIh^MDnONf3(jgkkOxoMe%@cRyng|N>j5ZU0`?d>KJ)_ntMtALL!`IKB5?)sp=%-Ep z^?`XWgL`_J6C-@lM2Y30WAik@2C`hgU)!kDXv2D!ujiMl9VF5Bv|j&4N5-5z?D{G` zJ_#V{L}z3mttd*0?a^khy-z|l4*S{kis(RyB990l%lm{;$8+H6pM;E{(XJ3;Q9u?(G_|#hQ!DOC zMib@-e&tGj%jJBLvX!Ok)_gS2#1@PM&2u_==cZB1xqD6Gq^cj|R&tVhOe7vlx0AFG zSy<-WejrRs7dL#Q=?=4Wk)aHC9wA(%NvXf8fifR;d=)ai!1Bx)SWKzMT{uY`F1;?)ZKT6zV+^4dk}MZA&4K?io+#w9`;W zLVw-4*=Gvm+q*(9q`H39AeY!6q;hX|iCC96nN92yF{`vGM>lJ=do1zn{HHTBifeCK zTHLcpiIB{=q~?wxR{%GArZ^-kRw_UT3YtUs+^{n z`{CdfYbR@$El3Mrj!$X$b5!(f?k3A8PHlokg&(297_2}t7ydsnllQ@QNE_IJM(uH0 zjYs{I_ulUxNHLnP7ws0`3)(w7X{g0gioTZui!m4Y+m>~wp@G5jvhrt3xIo;TI--~~ zD^MtT#^1lHt_mlbh?tw3yGlE(tL_C>YZ#x1 zW6ugM?zrF}c}6dus$L#U|`G3 z%ilSvkx(1c1qsm!031@JSB3Od4w{pD5$S z9jEk>nghbk&C^`@pr&P(-@``F9hR#W!*059UE;~ZU?5yPym?5)e`IWLp9*D66mm|M zPNz%hFAWLW!KXI3`C(WOG7Yrbq=OW&&n|$VEo~;SVfFZsgap~0sXUc4THAbib|+Kz zO2#%lu&+4wS7Xu`^6;2FBfqv*H8ceD%gkLUW`*UXX%H+CmtSzvg zqw>fY%vN??t$5gopW5(MS(V$51>X}laLQY*8YM%V4`ejoj?joqf=W9fnuiQgjHx{;V+wRrX|2gybFE(_!zms#jgpghTtkHmaS1aC zG-KIVTJ8>ZlB1>U?JUU1cWqu$z$!d`Zk&${j`sEs+Z>PX;|Hqb4w#qSg*!0v^GC@Q zIieHBc)Z*4SH=fNl|0K0fQEsa*vvOmOk3=4qBiN^y75zf7{c7#!pdA1eR7X7ynvTv zAg&Tg7!QNR0kCQA@EG~qq^xSZOVx4^A5wA7*=ULrnB19sxHj6=%+|S3wLt;PR6x-_ zyf;oc(w!HKh;@Rjd zFPvHa*rYWiDACAhxS$$aE9fPP+&(U=}}lZheK{UPgX)Y35?~>FJ3<(**dLR z>sbqQ9k(lv?gHHf9;?aHryf(?_jz)JRU-ooCPqMwU`3dz$`dj)$I4xa{a19N8+B=QuC!ZWuk>LZ}?zUu(_+Mio1BZ%GeXY{-`~m znjAkk7N%P1FCvzQ;y?eFK?%abW?A$$dkAZFr<$r}1pk#VKmC$iMwen=ES}ttH!s!V`Np8mVA2^n-WoL# zrcNEvHXpS04elKWbEExgHysT~m!;daxAkB6&#Y>*>U(%B^^T5Gn-)}8=T=wCuu_@j z>g4ex;dX-H7iS}B&qI?@QR$5cL=q%E9+?=RjgSg-`87*$>%$Lydu3&?*FicHxSj1T z`cJAxGn$*5{a*&8y1#!Kx{`GwsIxzkGh$E79`eM4aLN98pl{x#EEHc;0ju)x!*r(* z2ajCB#)`G}RPT8Ius#q5H$zy=h}uG;nPII&WaJ${@iOE*m`qJ3vt>3g3vO;@VxL{M zeOE=;Ma$w>9$(0*V05Med8YBu?ad`Kyvq%7%-47&x6O8er%a}kA80)v9Kls@or+`Y zV0<5X;#H2bR!?LoWzXMBhceruF}JR^85%PCZ54ms2IBG$QBlTgO0DBc%@T$$s@WXn zIyHH?gtL&`p=do+lSSZBtpG*X)}vt%5m=a?*A?8h*t9%jmm z%bHIpNE`mUGuS*A!y=K;vE9xtEp_mDD+P5u?u(0yyM7ILj?u+jz?1}EEZ2Yc_doft zT!Q>*te;Je8#T($Zv(D?xLZy_65&8Hf3|#zsb6vGreZ z>3{vikM4HLFQ$JsKGpj}YaRXPUNxx&s-H}b`P!eYG}U{-FUj%c#)C#6Dl2^DPn18- zRO=iF%LAT)kPQ}}e6HdB!McSXqnvnJiL5i9+LuGJ0w>d)Hi@g%^3X~InY7e_(3f7K z2S;~De&`n#{qR_s<6ynEeLb8pZfG?-FT0C`Hwku2EBS5lyY|6ollab;W_Y5nm%Mge zYp3_u*R8M*ygA&vJa}|et=R!U`W$+N+>0M?8wOxkF48JJN4=xo2)zdN4);OAqq}c5 zo6i_5Kig4zJmX0@+m{*Gw~td0&LOFH=QJ-u_^$f{+i(l--3CNzZqITYS=WS%_J`;6 z%@uD|#T6cvm_DD~vz@IJE82T?VbUpIh6HM? zf96){&xq<6t)XO8S3AMEm$#{8bt8mSH|SOjf%)-Nut^}|AoYIH8Uj|^* zzTOuDaoq)CbYB+d738{CD-e^zdI`*|@&evJK5Gnao7}zWd3OBsjwr!Wuyko?)2EHy zVU+O3XSAMi!TopCVxH^kdFLz-Ff7SyyMF$RkM7X?+=Bkvla*h)w(p~v7Y&fGo3%bV zZNtkpX=!0s{QsWr?oD2DiMCI=kVR{wMJFj``jx;_yX^n19ITipH{VZ-f{YwP!uvWI zSdVY~Y6bakWUqH10|^cf&tPVzDdVG@yPEuPV^7RrJ+$A92m890FzSuG^gDIhG6yF< ziU=4g4B63f7oH4ql|MeUVH@2_jd$<*x94k5ElT#=+6q#N7zpXI&gRiDrnSv{VEPA~ zNV@#(?l?KwhRCY1-b5fcR=mh7%9r*7p+>UOVRx`v=$C-C_qRoZ`?j_bBc;%^9{+`R z!#|$Yi@a4wk`;%t48lvR36?T>t!;4%JUZ6 zlb`kn(k6?b6BN;-|J~BCV#2N+Ji1B3;q(4-FWV5V`Q*{UT$ma-&3YbdVfeXOd_luh z(&bsh>V7E~H$*Yz`5Oj&Wsy}8yl^Sz={6ixpaOg0{EgH4KQjtYBWdZ40&IWGv&;+$ zm5g-LLcg%EIx#YE`gSUXh7U=yxqwVlg)vGyIb{EZ+iVJgPFZ@+j1>41fE4hxf`K+n zVK)0#$*`1-8IBTZMf@5TT#c!EIYTWon2eo`o4eLjDq;lXJF|VHlr75`RaAX^+t&vm zvp4j-inhPtjohv}auKc%zd5Byq3R8)2vuWJNZ_xTyCeK-CzyRlZjJ?tDmSHCT6|5H z+PBZ5rH#iazzii*yNt;3QN5#MvbEH&Ra}S;g@_vvx=u?w;yRt(BQ3dI>E8G}sx6Bp z*Y$a}kn>LA^@e|HJGk2Y_{N;RW+t~wFH$g)@mV+|*-io1xi#VAO}Nk!V_3A5_&l2d&x=T> zXd}+Y`Es5$tu`+ddGq>ouQ5|2wxDZUf7)C>@@Z3-k#yCDe|$mp^a9hME->qvq2&yrP5UmmO-AwA8;>tyPgDE*3&7Y+AROHzd~C2rs&Q z*hUi6DZ}f{TJQOZ4w#nM0D-FIov7*OzmJtO0Nw+4b-DIucysrukSDNvEJ;m7lKAKY zP;t6`3Sb8I0$C&FGB;Wjr7vkyHb8D@ zp_(l=<}o-l0OiUmD2U~-WQ84IpUHKGF1j|eRwuHU&6KKtuWg3s3&1oHMGibXTxl8U z1U)~S+AX`(M&N^dd8~%oCMZ~_9n^qhEO2NRG$R6=yCs?&%edumanC(hx__{#7ihNM zx#MliUd+rhftoh2Q%+D= z#BkijNnuK#U1OqzHfLydvdFQ|SUo>RDor#QIq^Gs{t#@oZ1Ijl?*VpFpk<%_>PdeS zy|!cLKJLEbFPcz^`0g(WZY#fvwmx=|l$G6Dirz@r8%6wUixzuX_b z&CP8}Q^#O)O@bRs##GYXJwBg4aB$u(Zq-muwL(L*h)JhLxTdbCC*hO+pWWDzU7}|C zC74#+a}rt1Z&~>_G${Z}SJoLY4e)vIJru^Go?orT_$9Du#+XUXyK36occUohZB~BO zN&Ldes6Km^T8pi{s$s&WCqu-#I2HdI0{ngXbi$AiP7Oti%|fvSQ*L_`l8h7Pinwit^vmLog_k^7Ylqk% z<%LM*5d}{m3`^j!__*7lhPXMkwRySi%^Bh=GXxIXcYR(p*sa;v_B;owx356kF>OTX zz8*ou*!;}F=aBA+30es7)Uk7|9* zOk`_5X;Y=}Ibj@)RyK-PIN5 zdwM7z7l}%Ulel4V^;->B0VD|O*yOh+^RhT1TAGS(d%u0&Y5M{M$?I$jY=wa?Rap&5 z=_RQEsJ}0gc@ZQ~g29gqH&<ubqXVf4os87p+O2|E-1 z(BB&F5xc<*2a*U*8^bjgoiF{TK_`)&HeOZ$_fRst}?B;+x-OIFyjcLW}3iV!}H&f0lgd+%Kyxw??einpC#WgIT4e zIyT{O+m2*0FOgfK0YJ*M&b5zz-73%P5}lq@U0nrmV(((G8W+;Sdb3W>RExX(Y30-& z(8hC;;1ptFUOkz6@%xG-20z-W1$n9bBKU9TUV4@?yU`dPuy=;!uGy>Pv2w= zC5?5fO~$nNsH($it#+HY934Ra)L48O;9Vy$i+Ik4n@Syru4@WZxoJmxK!&!_w0U(O z*plgE7RSU=S62PlvFb$%4Nn(7&-6hGzJZPrXi52RE($dW1jJt!@|;hy`@DJ&+iHO4 z2iu}Xy)cw_iWSm_$oUzaaHjW*>Zwmo=TB1d9o|oe{vJQ58YIbJ<>wD=nN`%wmHtmu zI0o5C{>ugU&o{J{Tvl9W|Ku5b>xoDH?(N+?Dc$0Js%{Qg1Wt9qj3r##64Wc@I!G&K z$(xN^#~#L!e~+3Hg{c^WUt}fpgEPWYo9+rEii&#VM+N#j>U!=sXdd!Cp4hBC zFVK*ukCvKyfyONEVqXv2K(KyxPCD`co5aEC4Mcc5r-t^~hfqc>J89qv1jv}ZBilXL zn-7*tmX~AKys`-AX+eb^gm@Ay1r_B$O^zz;V>)n7l#(!9Jv&|7X_~`nq~Tn3}VZ-6K}Ebr#ad-sqAL@WJ^wYIT-i4_fNp zGPttRrYN9Tf7??$ltuR2!IasaxfWFh#V|D?ERa(%hV}yVhqW3+EZ)zwSYXmST#2 zf1Biumv_VFCe1WR4R9U%l*7k_LWZBU&pV;V^QS$X^uePh6-8>}x*|L< zFyP=kGJnt5Vzd(2#zUKPiKx(s^hGb`nZSa@>XY*nwSy~}mxcGJcpnwikIG-Ri%PCu<6b7=TM{NH8TWRtTo^NirWx;KyFtt zlVB)$TxZ9eNU`r&*81EW%4N8aK*|X=F)%$<@RngXt8i))3}Ds{H`b&9*nVENgOddR z*7c_lN5_#|#(=^L&i2hiikC<8pN*M-$8XvjW%(q*m-lG=WUiwy9kCUF;{lM~;W%ab zFx;vxp6<69h_*;`9MsbkU+e<|#DAa9AN&A->9dEAJ;#@kEN_IY;j+H>)LTp9w1$8) z8={b{Vju8$Vglf{LBq9#)Fh!9X=#tj*Y+#Hmd#!BUKxl5DI1EV^l-Uayml22?BnN>*A-mR5wDg&D&*&`rZ9`r)(CA9K!z3kPsc5gr!3;{7H79of_J(6X z$1gI52$mQ9&e`!#yAVJM0+Et65#)bf!PP9mK~DW*Xh8QXr|6T1X6EKj)!LNdx#{WX z?`eDxe0Uvz`k#8uDI7zWT7-U=f3Iw#ChgfezQp#;M%H-98H~yol6I) zP#-VCHt&i5^oh4RUMnF+c}FAF^t_sMoTmhAW&^yp^j(k9P0ung3Hza|`IxTOcVEyz zK)};#JzJUn@}w=8$Fe~D=akDXu*;?x(fJC*AmZ~cC7{M0qCXWVT^&T#cpz3sOO4)V z>rofN7vsU+onRsxnRIlFaoQZ^-%_=45uCL4It)k%Bp9L6bJ-Zlix-&<%da~NLY?g? zmOs9r|Ilf|#>SS%z%+I?l1Z^n!I89@LhikP_WUq^{{GkZn9Ejf1vHD!wB#-P>9o!K z)>`!2ClK4H1)`8DU&&i8JH zU>57oqpijND<0R3b@Tl-eU<*9p}`@Vn|zOHn=)mB6vCy{iDVYR*&vygO9G(p`yLWo zr=Ib`$A1jMXPBNhXM-M_UPZNATmJ{si!IX#jYqoKO1bry4S2Gxt(f!UaIuw8$h}zt z{M%L;!C-zXR3cT)@-~85{Wp5Yk=J9jt9oN$mo(oWvzVEY3EmarIcAF_y_8fne^9)5 zMi){QwW{{I`OaLwWIw<~|)}>L~cZEN^<=*X9BC8C|{me>l!= zVa6kBo{7x(zPZ0Uv)ju%wR8GcbN2Gql4{Q0zakWR4S2TmsX{G31+gT z#DDfptSv%7t-1RABg3P%OmARz1B5Ib>dsLWRcqxx33D@uWNA`z3yvjhdtyPR*fN>i zGCNt}94_^2W!DUBlkWNYDh9SNOG{udib8>u@!fsENv}Ok+ANtrIXStZx3RjmCZ&MU zC^gEKdiH`$&fDVvojarpxpPG0#^*L?gA#IfcD6SL(!Pn_BWh#-mGddk|z8114Nq0 z>G7;v?equSyZ>C4KL-EO_4C09$-VT?NNvPW;uJbBJv|o5<5fJZUhiqLQF9CG&~7y~ zQDg;kkSY_QtXS+pT~uPka2jj2H!DExA7}=qGa!@kpuOUgtY z`SlTw8vpUW^xWjdoW0H)%o>OTsv%)i0%RA@a|d?1eGhTROGJ}BF4EO|dpU=x)_LNU z(#gIFHL|zgSGN(_IhLIc8UX5YgAJxnQ>cW`2(neAp+4_L1jG49OMvO*(MJ-Tz~C6x z>fH@@pdKZfoDj*&Kl6f(LUV{E>9}Oo)q@fO7NS8Ybyeuwr-?51PhqUCmW$IM2nFAe^o>aqgU>Vhjxf^#Y!KrR9K{yZ_t)VHp+we`ymuzq2T=t$ypK1e`=F*->H z>KLYBF@ApZjRebm>*U%A7&DFvD{GL0UoK%+GKmcC0QVuKdHk_MTC^uVn4vqm5BomgkXM zPleG_<0*h`9>vJYK@fOlRUWPGQ6X!8XnvlanOWr5=5AK6^k{x3i~Cdo2c{SoTfq5h zZli$+VI|1O;`}HZ~`F_sb2`HMOmLt%WGykN$)R&uEKvbjrbw)H^z_cF`Mwtqd+}U z^4x=c+y{5pCsXMGv8Q)4n#F6fc5eOPcjH@)Kmb(t(z z%3ZkJTpcRR?|62~l* z+MfEQ;|g@0=oMg8I_V*RomXhKI3Ani&U9{z$i>DWCLrqG{H{UAxJpa0iLP9?1*1IX zxqSOmY8nCix`;xj?XBDPPPU{c7Xd)eMYj&#`g76ht@qBa?QKKJ_2F{yZHvn?Ag6Kl z_Nw;Pb&{)3kjR8YospljEz40bDv_?Ye(0Q^K!T1Uo~o?4oRY(h3&h0-wz{~V<%sb@ z;bWh$POm_zCy#0_rzPR&!FKOJvt9pvrR+%LZ5*;15F!(9d+@2`S%J;k%RYaWFnM{X z!{y{eUuLNS@t|a^M$KZy1blH|r8~Lg)srV+wp+f{sJJgvzK}GdONSb*J<)Ok^yP|! z{ey#p2ES|PV|2h6TzCu60s+2Qlat86=rQbNh3BBr zLXPxOblRc{g5?dyr`BGBl%kU8|4wUKlzCQl;hQhHHGcOmrdoEtJjW&wKes_ z@*k`D2Bse)O@1tbUEQ`H7G^{Cg4lV>pF~Izb)ZT%GDCr5j%h(1U~*a#5p_A?Q#jgV zHuO-=sk*hNT4Tcxd)ALC!LJ=4?aOmlpr?;%+rLZ@AySGwA@j%%%zy zgCT;pYfIs)gDScY81Q3Jf~VnK@fS50EjsmU-6JY~`4g&4oKt=$M!xhv9+;4;ncf zi)g9QDr(WnD*W$tdSsv`hy(QYbM8=Y#aVy#S4I^Za=yUQv?o<^tilSh^e+v+hVc{D zf4FAU)Rvay<)2UmG_|TTPvg?iqZnW_$J>%9bwy^cG0SNFj=v=F6Y`c2O0W z9G~t#wTG82(YYEItE-EPtBdMrUB)P=`FAJWa5IE52b_i4-d=`jHQ_M@6O>fq@TayR z&Fmt8FcT6IuE*WPSCn^hl680lbDcTr={9)>eKb<*K7VuTlk=1zMlmd`%5`p2jJr0K z$kKAP+)Ci_@TDomsrjqx5gh8jX{g`may)m06R>ot8oP$Bby!01tQiTE`xFg@P1~93 zbf}}2%8dR3t$*sV?&@FN`X|(FovQQFBPHf#$PU#g;NBLuFHml6*^^V|J&UEx$ysi) z9v4MQ`jRKYWS^A1`)BWGHl{H&q&Fqz<#h(0j(7?MfqHWI zWOux#YI8Guy~U;O%McdZ`C|x>vJSWJu&C@CYu+kD2JjASL1;QVS&&P=ic)#=^(_B) zqecI{(JB3r0q`GPlXZ5vKo}C{61mfnRCUkKW4eZa%v*Jyj(`CFLilKC7xB)_>}aF= zaM*4j^AfnA&R*2MR4W7a62-T8ox?E_AqMT9Okgof{5DMTEBE-T||BtY>$fXtB&qtXQqRdsCHExP;hG4 zPs5Enq#Go;37u8M!_c}8q!zn%Yn~tU~hB4DN*RNm4!NqNFYs*>68H~FfkhMF5 z(|B~soBx<#B(M7AwZ|kR{W*^0<=WcX9SaD}K{(hd2xNt z$k=(Q`%Ot}Z*LGXBqRj;0i`IkM^W)j;9cAoQvbaA_x>OLJ^Isyq*WQC9zSSl8B$<) zB>fD(bC6C>wH>C6lEaD*gzCv9WgPFc7i4sO6-L`#HaF94*5qnkRHNJG>rb|}RTCdR zCZNzka|K1uu%9IptnY^2ZI-Cu^^V}J{d)K+f(bLg9CGY&9dcf7Nsr&~&nw*0^ZoY~zIpbU zUg5?1+8PTp%PHRDvsJdS0Xg7pUF&ve-2VJ|Yn-~=nO$*u6fGo?&xwnf8rYJjIL7lt zOjH345slo-*J6_#9Ne@i!^2-!)eHJJxXa4Q4BL&<*^G`0e7e8s z1cbql8xQ@{)U-&1Je%Q8zDvIm6TH@EvB*7CCAAVx#u^en2R9_lc2q{wq^Jl(Q_C7uTe*fPbihCaS1>Y9A%xY6b%jE%P@ za5UtVt)fMjZ?d109MMCM@)~@`{t2M%$D!mys{8)_m#0ev_089Sw72r6@cIP z??H01l|h(0L`p`64>@&|QBd&CrulmvU2gq*9f6v{8mIoZ zWFMcRqE@_BUc^}O8!+N$F_Gcfq%@>gZl!E`FYkLEy~j2oOt*HY8rbB`wuCvXUpSQ% z+87#sY3<8UI5GH8wdg$QiTVBeE7HI)<;rRBFc}Or>@|i97nPJOZo3fF$Mx44wgB^) z2LXl_7K6o(meoN7!Ix*A6&gFTbgIu@ppH8Q6FsA&BRwh{ijrpEWOwKYU=2IT+1SCY}n=Wh=e@8 zkejzaPn|0E%n73_=3l1(1?PTBDx$D;`FUTRlcPO7wSfC+;B50lMScD5tfE;JUeBYg zx$RW9x^3dupVbp8S7m3zX#yE+T%41CGccW8oBI82`D@Z+Rxv1Txc%n(WyRq3)`II9 z-|Y4*PNE#}$MN^~2NIl^)2hFFY|ZxHqbBO?tj4v(v`eq_>$}QOGJg3)VdawjqaqsY z%h60Pe%FA;U-3flhaOb}DWVM2~)4O~$TD<<6?=Y4V=Umkn z=`=$LocJq1@Fvf*QcWo{&Q2^p(IVqMe~PhkmAZ1nmadnlDhzXObnn5P6N~pFh)~KF zblj=zB0+0=E$n62o!@?_Xf(8;6>xJ%w1QH|aS$bB@7DSOtORg-iL>d89C-Cptg{h7mVuE)@;!p}H8Jy*>uH%!)j&+N3k z6Yjc%O;zZ(wa__2p_!VBnEXDRtwC=ayHcZT>q!3O%H^`_mu;%^#<0^SLJ6?M;Ci-- zJ)Pu3nQ|9)r-PkwEgL~i1CMWOt7QnhVrCte( zOWWAW8KN1}RY$z+@86k0Rp@i>&6;r7nGoB@eHbi!cKD;CqeUs3Yh~feFsaZ4m+>jJI9i+4lkPQBOk0;n9qaa?eUKg6#M5cb zceYV&Zqmy{bdZ|zLSWeX%bcEz4vO5HcHxdGBZx} zDY49)R+Lt@-rz2g5bw9%j0R5xn9v(u;Hc26a4?@VMej*B)WIx#r~fmXRJRWckb%DaPSpC?+uSOH+OYSHjlof z=jDCQ@tT>az7$qJQ8EOx8fAPGMA#m^Ft<=sdRoU7`j{fqTd4gfs2Ge|1hZIezi;h4^GFm(8g(pwSIG8Sfe{Bydv!i>_n zzmAG>eZRnA<0vX30s_*C(kUrz3?L=l-3`)RDkUP)4bt7s0D~gkF*FQa14B16yf^1~ z&iC`K_rG`je$Sfa!s&UQJFaW*eO;T^`yZ0*pC8y<03vr+no8?2;pbdj&$$k46o%@n z3V_X?#SCF;|GE9p$hTyEOE~BKv6kWCmSIl%-1P>&itl~}8Pn5()pBZb^s!8&&LBJ| z;;~{WgD68J=5fcRjs9= zVZZk~xToj7CKT&<_7h~pD0fZFL8PLnvEF3RL|bgVL6q&}Pj z%zg?q&yTi5JeSObQ%#M{;ZPSCj>x52to~(taCeup6=HHAmcp?dr6EYay-7 zjaxTfzxkCswYv*efBt7h)>a?izS-K^YXtOf}s^P_n;Ycr<7^1Ez(1b{t;537^6I059job=zFzCg>lAo{NkOQYMy8l|AV~-c zqNqN@$Htbj1@6K_?#?FEoFckDM;g6CLzY}_`N=I#J_pQxuh!<**B6nN`ugGFDR!5b z#wDy{C*eD2SSfe%UH1pGqkVnAH@u}qk(!VW;q&A0f9;1y*q-~Q`3XTUTx_*tE+;1^ z$`S>cqPzU}SC?1T-jyW@dS4{FARL^Xc?jaGEZ}FLy&mNG!#jaEmxaJ6nEZh_=Lr~$ z6P($Egu)dxRnWlpO}>3nK7I=o$*dvn0u{iR*X~gyCnXcJYMZcfs9x1N!3$I_ymr`% zItC4ewIfzzD5AU}a6Ep+oK~7Vj z4DJ=M_aJ%_+>UJ`OtL`KIPHcFQYbT(wwW(8FxzdQ7ztV{xp_WTsPP(tLQ!JJGCxZP z{e*mKtb+N+hledkc^xRoNzIR*ga_5wPVG$LGN1)2@nbV-|_eep_gk6w!*2 zDRRFUcN4L?uz*jFpKsIE+Y2mJP+%rA44amc$W?7kRa+tIMbQfV;w4REOgUl=$x-a=r{&0FUM~&x^k<+xqWs4rTeQ_Qz}UF{y7Au8rBw&AH6V*HoLq z^F<3(HU(s4B=l1!o4^b{Mw2>8hov+MU#uBY^SixZ?gov1{_zM{_#Gj-4?o-za3noH zb)}vxH(%`2t*(eZlcn?$lRDg83#JzoG}t(Z&o;?Ui0;Hiv1zfhfi7abl0yFuh~|Nv zZi&dLD&!B6Y`G4fi6(R`#Z+o61boK7M=o}D8rHQ-LJf05m8@l0EYdz?XJ^Ig=`$gr zjTM~a7XS#Dj4Ejhr4X{&T+5}0Z;ZQP6CG}e{Mfsb_!pOY*@nl>w{M+7fv0GCYjjR{@qduI3@D|iLQrlv5xU4^1e zHoUw3w_5_jJfY(KU9ktKDOsivG04-jG+j?_^;7|1LM80Q4L;w<+?>y&uc5WO3EqXl zAH<^a9;woFIg~|{%LJKg7)7_0=A$n zy<6-JA5>yg&{#NNSq2TOhAi^iL271XY1&Ox8FS6TEh0Xzj?Vhkt5@&L=<$Gplwzu8 zw$?eidoj@8|9EQ*(L6BF+Db#uz6Q2jh>@95<%dB9DJG`sNH32|;NY{ov@}%h<>5R$ z1AKYNFD!kQWdcC1Rb#pO&Eps~IVJG*vCt@R8PbmfzA4E99sxLO17(r?Z>xQ_X8{-V zU11_!8QJ7@PH=TLqarSLHYbM9Jnw*xr*pbk2I=X0d;1ZQ+t~iM_lbZrw-W;cgU?0N zIq-BWwy}8&awI_940Tyxezh*PeU0ku3SJx5Z=p`8(L3h@tk$v=aVx&WhYuY;e!gX- zYi8u+;Zd(V(B#2QNJ*)--A;8`ShU{S1W5T1NT5I>t8XwGNvB$(GgvQ2%Y-O*Gjtrm ziI?WlYyJV!?yG6?s~@%tcBZoi4f=1raPRw)46_okU)p}34E5ZZ z7l$~WY`+D0=kxTWP4Zw!(#2d;A~X;R4FuNUQ0$uEykHoNYO1KNW4e1vfI+_M+!2_p z<3&e3LVOE*mQE^@GTA#nDRfrjaby63dthD&#k5o13%LiTB?;e(12Dkydo@s?iU=k1 zPEYXEx8x>e$FfdLOgL}gp8{MjIM=eqMw7>OU{de@M&h*} zsP7=wEN}}^q4MDed^y-N6zSe)W@qOnZn&JX;i;?T#^}w;HkDi|15gNLrNL_pAm5qZ z7tkajpfEPD7^+aEqP}Mvm-0(KW`HB73!cg=pW zPp1fZ*iN2Qm|U)}n=8`!M5m^TL%_~z&Y5jJ-4F^o(!05F-fvlHz`~*Yb^Eg3p&hv9 zjPHda$GWqI{5~O`rgxxb4yCWLX|QkitSfE+NpZCSFm~+i1;(=YiAkVEzq6y#$cB?h zTu6@)u(faW9QRbt=?mXfhB{-?y@|_S3`$4@JFN7XD%vRDxo5Mnv;={Ga0YZmlaY}z z-ahOLui~7_$Xg+FI=%UAtW42AHxrDoI@u5X3gEGm_HM zYNcj(TiCB(ziwlLI!4VDIX6QpJty#;&+Vw|9d~sXKJdE)KToegpt9ayL-H~GHn4No z&@gFDrC3@r%E`&fvvu6sAmnwy4bV^c>$Z0N2^*e&K){RpsuT~2hLQ$v;BMc)&r7Br!XqYh&5IULjGVi z8MxCqcT)3!<$r6^CHL<&&A_0Ch=Y^k0JZ_vDt=Wr0GWL4MZe^-2O35%Wh8Bl&BQO- zNVR+Z3sbEj{NiHx@{X<5L$c?5?oqv%@}XhC?h;&Fkdcv+OiT%6=H%Qx@l@r-rFM^q zuQMJN>$T*)XlN4epA8Tbi{^D6U7v3;>IGXz9@})ou4!*pXBd^~MYZLa=`%6>@UXCc zuug!5cT=PD>(>L8#8i^DtdL7e;4JO1YLx8hsT2$^O5`b<(2aSMrdFvpixN5FxWBl# znB%1E?w-IO(#G$x!j<^0!sSCQMu=br<|9&V&}~3n@4dySNzcmIbh3TR$;-mR!uxd- znAznExVH{`4lES%9Cv@6Zt(TYqIM8i6C%dI4R)07y64fRxzkZ>l|}2`3ZRV>;_GYc zK{A^st)g48umNYX!f@xBEAm_?C!%}}5%m{!J9T4aWu3>vgQ2EhLu43_e412tuWyLB zS@2GRrNX{WiILk-AWJLrKUepII!60!M#lTAKH`La4eHP`vN5zwJY151 zZ&Ra2S&B%hbd?pVrHoW%ZEbtA2L{-y=e8E5NRb8v`1p);i?*$8N~zb1Pdsf@HK6Kp zYTv`d=hxQEEKTV+2nZh$9Ei&KZS;uXP=z7@?76s-tyY)n76SAahjaqdlJ(NqA40lHX5vs&BtM3h1XzyarTC3Lrakk=Tr0!sYhnRmbkM zn2CNx841bc!-NCR0}BRRDwSes8F_0f6l$edmJV0Z$uS}#VuEmhtb zm#?iQ_9oVV-JOGrqr9rBqPpxUu+U}|aoaN*_zqeN*t|1a^Y`iFwI=OpdVOf1`_Gw2 zio-6z0uIwgt)SjRR;c$u;P4FU1iB9Kf|}DqTJ%}sXq}il3Gv`cwE`y zOVG}&#T@_f$aD6!o9Ri@NkGzVji?r7gkygFUy9$1T={g)J2==|4%R7UOG*k! zdq45!5$Z{Kn*`uG8v|-Qq5PLAz?mt}UZn4RAAD9yfz|{&;C4W?2$kQf+KV39OKZ72J5Gp!$MvCWmgd$D$%0+=)! z8U{v2mZ!qE7uL<J0!S0PfUnV6i_MSXtCtJCP5yy72x*9DN& zK^?=xK*vE?<}N8IZG;VsN|OPs>*Z8{n*N!FhsOfiKTqx2DMNts6MeKKV0gxA%hJLD zL!M`1sRn^m9ZO0}S}m=;gV>;K+}tMfgq<6+wOC;;HD`+Ux(`5@nE)+@v3xj|W4UPb zP%RNT+Wm0caIg*2h_WP(asHvj^vbmMVM!0;1!8kp>IAYS|;o{nWL)kQouQvFon3$s-eGX91&S^MGuE;su z^#WkD;2S&<6r^Tm7G&cUZ(aphpk87VpiGiao~D>M2(_jjIv4q!tE2afqIh3qfjDM!HQ zmxN>;@@TNZEizjs_+7GNgXcQ_l^g8g8ay#5Q$a#ny7KG|nyw!^xkck~0Kjm}_4PZK z?StQ?eFqiU>QMLP&vu66*8l)?vM?zBK9BsO{o!rIR*x+;&h1Rf5418j};ECd1rwC%6oAjcLB zQL!9DyY9C+J!o;Q^$6gy%tkaSrOKvyqYVr*`jdrPnz)GL`;)lE2_xg=hHG{{b`ahJ zlZUj0y`m{zzE+bWX*%>^XGu_WvGOE(Y2$)Lo#9e5nRi$Qa1lLpC%AJ1UsjH zhvi3XUKadJOUwDAbJ zIyEY#pFOm%aM&0Uc||eta^1;_?^URt&d(5Ew_E?LXL5?~uC+*|D>1rUo^==6t`t~a zrC3Oi$s|96f?b*}Jt$~p%6sDQc>ZnJFeft$OGAU#ti^DEe(k27_f%D6(31Tri0L&N z4~g((;(5>)bq+v%A~-EH>9UzCT%ocBAUuGOxonLl2ervwq${qnzIZWM%~P#Ek7vb^ zSNdaTE&N&4t;Yn971us9p_~_|GDon?_I@<`{;O-quK?{$X z?KRZ$6)qobxdua+ACbDcx_j4nE}uHADkv%fjPo|GTPzNM2$>ThV_>QxDHd2LTl zc~^E_4clc8_V>d=!W0=FZSgyr%{I{BF+AGy=^H!Q2JRC79r^x$u{Q|fQVBPFz<45g z^3nE4uTwTl%rqaTNw2;`Gni-Fu*)=+SKi*U5u(_(tuqFoH~6`@nOdBmpC4dCOJ==B z^!;!71FX2nQkC^`bf}9_Q1GLE?Q5A&VC61I?2-iWOtl&{-k3oTh^uwjZBd}O_HjTr zs<2?f{c^UEyFhg$U6UHHHB!VZrInRd_>Z5@?LSMX8JO--&r>Sa!dL?Z=tcq#(ua{P z_IQ0bR{Nm@ghTxlu!I|f`gL^m~*IWXq20aR>iI5g5g!L>ZPcl0CX>&o?c#_Uff6k<5E%`ALPz}EA~4x zvptLxT<@TuEp;H_MAZ9RhkmJNh>YGp6{N0rKFnV^Ms+PqZTz)!XiCt`ogm0&^T3jU zm36kv3kk#pZSx;0G17iPl(Zt_P}8uptQ6gGjh?@}fGu&2HuOO#ImInc%#@Hv<4i?t zJ>dDRCK?z-L`p`JZ;oi|A2A(#x^H`p(^BA9!^g9Le*X!lY$2$2Uplfv% zFaxs&z}!XMZ0u$EZ)4*MQ)%5}bV6763n|GjY&x~<7AK|1vEqCtK;e4x*-g)6Lj2$K zjnY5bgW*yn37S)DK4WE4#Ohw&b3^pZLXX3ShVXlBY_(v*0BMyXzEoC?3GNPhm#3ui z{%%Msu)LF_f4-0-6U&MbI8K}ZtOEBl?0eW??L27xYzLA*_!XHd5Cf}o=1}pw zzACg6@PC8nwBHs>&~Ay6?jE(BEcFI$^q+~GA0YEUW2y_QSBMl5bm@B#PL4<%qlAR0YrecFXlEc&b<)_`cb8*a+LTo6#Ztv% z7%eOr%rMn%_%ILNmWozHZY(M`Hua^m<80EzW_63QoNVx|{S}}cl&ILBPD%o?orMr~ zerMr#$tz?ibF@8{OL83QAB3v94J*dPc;@M?|D^`;y8~3W;kT zi^I;xbm@E!MHLLvrB#ZH!Q*uRk}S&*H}~E>y!f>tLSVsl0zM=>)yrKEF*`l26R& z`z-*p$!j-P-&)F>F+&D*FZ1*BMR#{$huj;<;Xr1t5?70f+~78#<=}k5v%FgyMk(Zu zCqUI~DgM7iyqY}LAvP2DylC?umfTkr=Nyqg5k|>=KXx8FDClL9#&MfYCx*?^fy^Tx zCe2js8^8;2lUkSU;+6d2e2M1<=>88ZY;0p9wPN?~VS}3vq@P2*PDMjC#AmS$P@;6{ zHItR+CP!aKq8?=_FwE_H9IlVmTwdc@NoZSGw?IYfz#DZK!0u3Z@$mxO>Zg^`zKggY zyzAFPoBD$RQpZ}|q$J?R)d<#eQPx;X8$F#{fFHR^Gl0yUnVH@bPw4+*+iPZk`_;L# z@2;W#fNj_o>I3MgzP>&(9%~i`2JlC9Rhe=smgjQUav_~8seRD@4Ww(=8b(cL|B-kuUb*;+uu%X=JHWl8G(=zpGe4c zF8@v#LqsdW(A`sla6Jj*e;aU9PuN1<{vl*2o6>s5tG6DP~VMCT4n*3>B(hVs18idG&~{TrKrOltN!ZpjGBA z{r>*`3B;HNyNdX_+%G9oU!;Uj5m*}0Dx;&i-rSwTQ;9(sVb>4H6`6jh=V=!_^yZBq zGfaamhR>yV!zB%Dg)4oUbBo*UONxS(OXYK@pP@~Aa7a@_v4zF&P)ZRr}S5ekTY z3K3^6HeT6&5AK)8v%QI5H~Z#+f8L(qHf!XgC?Njv_k@KBoIkK`=YE*W#K}7SO{WgF zHXqs52O{99`yAblub2N@c;=~mqQDT% zva+0$zvnqvh`h&hWqe2dAAnXzH?`j5>Sja_7nut-NLZY;yn(Q?7E8slnS%Caq56+q zaKnrdMJJ~@RL5KB3Jli0tATax+Q2I?;+P|YaAbN;ZoCa(P@vaY7iGD61m~l^tEb;} zhG>r9+O+oc#Ngmgz{HPl+Iqjnq#(SRSQ$6Q^Bm-cvmqlnwy@6vHL}Tqc|L*o!3Tho zzUArHHwqBRBb{hsqE#c)oXqUC21Wsa5S9jb_0~?mSm|LTBM z&=yFyVROm_3r9g|^27N`FB!iFD+`Nq?5!K~LGsT$4mP!W1quiFI25#Ph(>#U4ZTVA zud4IRF4zq(=PBn-=ksmmp5we?gqsjH-#6u5x&4sxu}>r z48LzR(hB0WFFo)o5gLphFECO+U7c^MiCeu7nYZpd;uS15s%e8IN`)>YEOs? zhBnTRx00cHejU=!IS6juzAYv$Zmy#&r^ar*mznPYG)C%87F8i3Oy}jfxg8@Tm0w(0 zV;>nyMgOY>m}+{9btn}u@4PvF8YTo&^&-AvJ=6Wto`T%MzSpTI+6(4fwSr|}X*rf{ zJq6a5HukTLYi@Oi!;${m^4$phX(B0l1$b=2D5NBnL!HS?%Wsyz1`aq*b2 zZxh)~<_V*F&^`hmt z{rZZ}aS3GAEI*;S|F2mNjowBXn}kG}Lf#xUPH0d58PXe^Y2V8y&o~{L2ITUT-bsET zb7$^{=Y?31AOYbw4!9V=U*jOhDkOBp#ly@!-|c;H4(o(>N#D|<1uw796* z+6XW~<4CUHyTKb(McnvAls}2QF}vb`Be|;B61F>_*L)Bblq=c~6h~G^s?>NT8fBh? zA5Y<5pECnJ_eX$3;7=rgGNXcqk3qSh@4Ei{JR~YIxe-vOmR!GpKKycg{~QF91^$C~yOng$OYdtO+Z5<3EncBH5ras#myn>V)*j@CC!w*4G4THFHca`?6jSABB zWP9MWWvB*mt-93XnDy#=0b4832RbD+RaH)HPNOXU-}8hcXUpV!h5p16Et4gx-@E@c zD7TUwMk#P5&T#c2iH|S1^gHNcy(HW@b#``!D5qe=HxOoGf`HS|^BE&2XtsQDThZzbQRqHSsIiIw#Y= zU$9qGot=TG2CdTnP?|8WZVe=nx%`GV@vfiAVh(pm=y1ZZez zW1=l`lz?j12pa@!kf^xtwLYm9h?y6uVVpcFTS&5zN`^#qbeBJTpd)xjcE>q(mDKYVU7#B(FDJ+)C`C3L=hFYWg zdHO>70;mN@DSr8^&LNgnS&Q5A_q*`;prF1KAw}q|0bnlbwohcm$BI&6ad+iY2%CAy zxo|#}C@aVY#3d%I`JYjdmXrMj&!3fW2?Yk-w-yzAroXi?FY;y;S4wX9N%e=V4dZyF z4FKBJ=w9v;(0+T&moM5Kvw>g*CjlJ3yb@?SGpT#_r*GaqmYdCm1(?;U#3N? z2+BB?nHssS7P=ogA70*XVb>B)rQ@2zz7OIgg*a*zxfs(V8Ft zn)nzQ!l^l4ssFaZL?6VT0Eb9@K-J{FEO|Xu#O4B0?F2%N1kEA~K+kPIP%avpYATAk zDgr!@VF``p#@jjdIzM!AbmaHJSgEVWH#T~~FgGV|`G8GW#O26}#hoam)#LKwZT}o7 z;<|Is(fCEDH5-D#i#6=YYXZMr)^R%AU{rO10o#x9rkol3~ws5d|Qi>e37pB_xFLL0sl z)^kXx%YRccv!do=$G?Mf>rD%>9r4wP;MJbo!W1(I83M?Di3lipm7SOpYPi$ zh-E{5T_4Iy%*aq&J_CdZMD@AA;(|>m$>~HUgQAzG=Y(P)_cO4e*Xg6fqD7p;f8ng<)1!HTOlIq{q>8f#CByLpi`ly-N>=a z@2ROd{n}z*$+-=da=Q-4ignP=>k)fEcG+npRxQx23?9(XQW4*^F%X`~VU8}4Lf8=GZjSaah3556D z)aCs$GvnB}=I;96k8L-uRSM)BzZ$(dWRh80PgOy-0-BsdE;e$!)m2nfte%R&%MdC*~+aQj9ic>kfOajO)Cl?p>75Wa!aNTC@`O^mGz#de-%ouZdc5-%d za;8)qE15Y+TA-cCja^Y)K05K~-ShIw^1fbp*_$Z+T7I?{9QnH@rNDLt1noieymWLt zJOM?5fW?0IjvmhmHI!w4!*y=%DH!`#m&xH`Z7^Y0J|sF?8Cf$)&hPr;8=C8hUp(Hk zIlOSLnm9+}x!-R2%q3|>e-AIYR@{)_PEIT<-A2#TX5I7cnMNcEH4CUbl_F5LG-fjs z85vn{Qt_wVjPF=?h){-V+IOig$>+v2YzKc&Y&jP>wak6g92$nPq@IBBVG52F&cu`aOBwe6pu|&I3WB7Gfm+{74Gmv%RTz+K{ zaf@(UJ=*$sal=%V*vH2wZQzHxT3lGk_DNaB@bGXIKcCk|W?$c;rFVo)4r{p8JP>|v zBpt&pFF2j2|GJ)vC^u#zAc$O8$SF|T+S)>RZ3|HYFt9|uO5u_)kR$J)8RKO&(b16` z4t`ca0jN&_($Lk#cI?j|$9P?6SQr(fx=AQi^@;_qvlZqNn-X8i|FQE=^ySTx-Z~y_ z#%F~Pm6KJht}KD9*P*M@93&4<0L~pWb}aR0ANaA{O8a+iI_DIAMjy>GJ~^ps0|a%- z*;&~ZqfC$XvO%I2Y*{eab&Qy`hgN(CEZE^AT35V6X+FHS(r-37 zSzuP}$@+bDs72OF+4MdCi*xP*Ae{u&grr!1?YK^lx$`<*%^q-Y|C6)(2Cd19nvC_0 zR@)aOCnqy*%IB*@o+;@8a=C`HrgWe#m<#W4Yf9IMmO34P2xBGM1qSRiS*;1!rcBs( zag2d{tXQY%VzGXkJ8@`eC|f4J!Eluo@R!@$wt8mt#qY?*N}7K>Ic)#M{$r##oI7`R_KxO1 zyaZ|{V%7`AV_x`^FOYXK7}RoE zoyuE$Sy4_6OVrahe+|ibpK>3^5-6{2C-Rk7S;Ijk-S7qs;p<16O$&KM?1Ef5L^_dM ztH;N&)OxroUDYg>mB|+w5~)H)*}$S819U!a<8)L)l5m~JLgrmcpl0#CHg%2d%p1sA z>WLI2QyesOuyb-U>;?g-a$D2T7eys0C$tFaK<{#SZzv~>S??`_2le&)1?B@JW$iZ{YeVY4!w;uo)4$U9TNU1MHxP>x{ zZz(xV9D{+D%2hdSw5L8;+;@c>EJ>_voxF7NJbyqjRS5z%AicI!DY1f=!!v=Gp4muT znY=u2MFpsZ&Cbq7W8F9E2F;-g&gJ0hNdQ7b4ssq1{JgnAOQ0CZpa@$5LBw;S5Go<} zOlU|wKm)4M!tn$mx&Q>g57tA*>(h1J0Nsz4T&`kL1>)zdikb%${2)yD9`pbp>nA%; z^B{~ws*yE3TpVXRK2%ph2%x(t37sN~c-gr;FVVQ37Z<=oI&0Qza;zU_TA~9vSf%oy zoQCzQfZF8&1kA20V?;>v?zlMgY7HQWwv^)F18B7;1ddCRSD#t+Bc?sr;fd`^~REg?{}SM2{K;jMql}MQqUfWd74xEGn=l@48O+ zw};sd7h6vkX@W}Pk>8bW-9**Z`5A5i+jvXuMjOewdRo-{AaBM+{}I)qN=c>Q!XF zSbq6nn1TYhE_thDK6uYhX3HHzpWlBx7}{bSl*`4*c3RR6 zk`>LN?3#s=U(MMX1TlneS(_`EJ>g+LH`M8SX60U}(9c1nKLYyA(3szdP) zeCjI+fSL4DQ0$KeJne%A4|IV=&V>8kQgDk8l@jb?p<80Jui#Rrc4ylk+iE!hUf`_( z^J9AmRu&{EK!UQ5X&KFeO@zmH=6)T@NMZeRe|ujXccAtSGIDZ!kRFr#kfV3DnmR-F z=`!kqA_tFTFUCjqLIhU~;?JjPkW3}U{v^I4PBGTlR1uG2)$LixNS##X=+mE74?)+h zzB8Y`KHqH$LU+0i};PG^qBL7#S_=H-bSeyX51O z4!}HG(Jk);A(2S9yjTAl)F@w4#Q;5)ayKjyRIH?hhgXI6`hMa3q|TA&2$ZcL6lJr? z{b%*Q#zyjg#gWV1#HRg8;YXX*o%q47t84-)o=_#=Kbw=Is^s;n^z^)P$pW(`X>)Vc$u-+Ry{IJB2VSEB zvnxtYO|8MJtS#Jh_MA@pgcZYr5%F*#p@Ns){&1p==tZ@KK8Nhgv1YLh-0+VfJv=&^ zothZ7&wC}or0Y$IAocuN6>&`CDs}NHn#0| z?=KI>wWt^NUA_9yM9D|>LLoM8rbyn9Pxv)7NS8j?+2N4PPoyg^FJ)TJIxi8PdV|>@ zTvfZwd#3)!Swlm^`8M=;+qnC|82#Ua)eJj7X#9b-&=v5`^@Kw>@8?Bz4= zFgfO){2roZ<1!hA@8`-YmXDi|~yv8Z&bt4riHr8-0Y-L_+=KkcGOBMPbw`dc}<C0} zGy24fwb68?d7)H^rCtFX`AOUuvUjrbh2?NtHRU_Sx@pu+>ymTarG2;LzPVf9KPkZO ziEkyXWCS+;nAREiYD>n&OL_T$1{_ioRHRqK^WlQpjlci+XRN;Y>wl?=J9z)gl01R@ zFCXIj5O7ETyy)uR|Nme3`RIdV{-DL7SjDKGTmd&@^u~uIfSv!)-Z{VO-nr;lPY%}! z%PIQTnDoi-D*GF1MJi;y^X`gjNM{fu4ZH_E&qKuu?hcdw>H+IUID@L42VDkDJ*lQCk$L*m9Bm>Ty?$>oY54W_^Nn1-gJ^ zj@`Uh$TxK5L$oA~H>{|kM@Jb&a}GWbvwK0U6V|SyY{SGx0MpG<0AI#hi2k2fU3*#p z$8QE+oa(0&D)K1%NsR(ckUtO1*-u(UFH@)U`kPl4HQ@Z&wXV@?0J4QQK~()Tev=Ip z!@SjckT|TuQe~U;=k0#Lt2Az?S%MBA-SRUU6yV%^rd;lg*lYW@ELB6hfCl`&(4Z5+ zl+lfcU|1Z`+r~ukzW?(E0~=Q#0b<492#pyq1wK>%|GxasGJf?6YpJQxD~_T$oQN`U zVD#;)I}1+!Eq-JFbqd6&WAdxX4VbGe?LK- zY}po`LB;uZLi5i{{$CnK|4$9v$!bb)tulw#1)Na%qh{5%oxm-@TIj!)#=bs(fo>ZQ zLhK0M2Zu;K3{Po1^W0x{gdq^4&nCq)2F1kNKZ`@gt>84RqVIDmip2ksXLA3I zgKv+)&(ugoY-_&sQ7I9=dEt#%DGar#DS*rBR#*+O;~tYv)b zONubef?{}vS(U{#GbYApMg|5x8g955`)1!%Bc~~}d*Y0De>D30_s4{URSv5UpkUA# zntN^SeyRM*)AM+u?h_xwq_RE}qIxVwcd~x>q@9EGt2xPfG+{KYPDYk_ySAYGc(T5Zuw@s0aBylI#fVUO5+V~!sX>* zVb|>`+a?PeqTfbb?-Mcp?@KHNtyXMdjYnM})Ex6s5~?zF*}HR7HuZMooI>ZR_4ERbYqmdU59~li77f`jx zl;WBCkd82f&oOGsmU3+;7U*1EQiZAa=Db|k;zYJz>5t8R7#_D<#2wi5r>}@LQv3+I!d0aL(gz=YB%Z0d@{CH6{1~!4IR28dfP3R+v>U8M6LSztD6oe- z9-VgmoF7S-?7nWSYEeZR*6y+H!+P&5(3br%E7YLt$LmkS979)YijuOjOT&BsZj#L9JBMaFWC|ov2uJKsmM?J+<73E8}tHnSzTt72@jXwy-Sgv zVfgDAHN^wqv?gJ0ZfApHg(2vu8Ke0tOl?C|GNdmF!%IuqjZGKwyShNND%Z=nxbfOo zd_LQ#x~h2d*aD+dgcSLM^SQKVQ3;^@>^6;W%dZ}iWT=>^XuPxuFe}i~Qqxk3(=8nX zo>n6AftgEdakaS}^c52d+S}+zlcIuTS2vsBSm7)ezqXau z^y?M_1H-5{Mn*;uh|%ItlMp^R;p2}X#SIo;B1YtM;Tt0d2jJ%S2@Byd22`S`^OC1e zUkvK8a}8C%EpYPrj!qVBp=i`jP(me8<@We}+XD1$1e!2BI45cH-Hn%^1LW?iS=lD< z*U?65Yf&mno=rcWtWdJYxr2|7&NX}`GlZQtmKie6Z&Sp1YHg3tu5)7c9p&EF)a~Ap zASyTcI8YTaWz$qvS~|xr_)jYa4H6Jb1cF5VQ&ha#gPgY#*XSJA*gp)g zXTgo`Ax9f?#1!}4yk6^LPz_pm%7~_$XSk$bmpXPDk$_}A@!9@$S^*$7NB*tv`t6%O zjL}2Z>gJt(_|3N$n~Fk!4bex9igF%$5_P=0T^MK7koA&X2J#ynx6oS%V^{ZT4<-wB zfv>1G{^FT(y1zrCPKm;V&)mc1Nc6@={?1NN6Z**OQ3@kTqsOss z*+t2rr7HIcUW(B?U^!X2E2PD8&V zZ!SN58z|NeiG38y^_YZ$f{EHW(HebLb*PEmieIqqqe5jmm4!oX&6a*2!AKN z-A#A9ypFFz6_n^&N_^?O=zm!xVH;Hb)q8z|s^7C?`>^UIh?{jUue%_QUwL}IdG;bq zh`Y*i3`M=L>q^8LSL1N*Tmk3zJb94^3>T};_6oAC#!GGBU4)V!3=9HuQrvV-6W)P^ zXnzG@$c(7)c)t0iNVtWJhI^aPv54!UlPZ;8&Q-8|t@$Z6*sySnjy4rx_RVuoz0MyL z>atPq-VG+8OWr*s9@ccOFOTq|`k9mC(%Icxl*o8gJJTJ*TI{3L{>{9d9IAW7`$Uj> zAxa|B^y2I-pk0GrBYJP?v$sKkR%`S&uqrS{(>j=#?(*f`fC(Xa=DJ9rjv$- z0)}s2`=FNW)K|xir7xafWXL<+bAtZAlZnSV6L- z#+^xn`3-IeZ}g1`3Q;$=2^Lgki+OPgtSz@9Hokil3Gg(S@4({7wE7^?3$}$ z+4e1Qr_~havWAe5f`)oxLcM0j({Qond&>vWZw)r9-$?C`PZ_HuAxXx{0q>;HkCR(R z_7R5Bd)e#z81FrYtfZO`Tc2f752G0cg`O@(rA>LO4VAloP8sfx^F+(k4B^3Q_ z0~|jilA)HSdekMedTSF~x^x;67c zzf0$z-M&x$Xe4;TN|3!@x}k$IyNPqd7O%3=gzm zvFdu4;4S)1!wxOLFoC#$Rrm<64*r7USUnBr$S&zKz{him_Uc87+}a2k-5THR)|IRq z&TG*m4;vURkfmDon%q!kx^(GmMUHW^r+ROWC-hds&>P*aj#MF=5879&5dDwY%@7pQ z5_dy7rfeIsjeH0}tE%yOr-~pmu7vBKNHNvaS5x+yIH3uMT7!SS6+h_MBve}8bzSMh zuza_$)*8(|1aot5w7B;%C8d7Zh;(rm0(xFT69RcI?z}kz^%xH_j6P$p0DW@NjaI=y znWl~^)z`tGiJlXy)hc$fRAJD(#l%cx*{|aTWJXNXAYul6S!S!PD`rfv{{o{VcW`9- zDOl;fPf(UM-3-(!mM80x{fa~-@1?dYjdrOh!=}hh?lNOFF7^9+IIl7+?-IP<`X0r6 z6)L=VVW-+yC5?UWsPE!XoF;GDXYRW<+EV!AS2Hsr>}%vU?v27P%02~wSkQ+Dy;v^; z%<3^``~5jd?g>G_PN+z`f}dLm9h}z>Ov3Q$E>i@2bZehH^z3!wl@>IP2rATs9@Q6= znC)osC!-cFwbG+RT(^^BaMbvqLF1d%KWGDoNgfT~(5$iYK1n-waNc|@Xr#6n?su4) z<8^|9VZ0Y*H6pYS>9SB}zFj?$aHKi{tQC&z0hW`u@@;{J6}_Mz!2RO#yavfLd*Km6;$d(fha zGR$MK&54ZnwvQY=wPuYG!(BbR7l~viPAuw`?Ce>tGn2|7>QD+W<>4(Aqy^WklYyb@ zYkgs%j1!C?L#@uhO{TugFh9u1dh(!GRW}7J?$q`zGBw3&O%3(+l8`gp$GJv6+N@(0 zvLbFj9Fje|^6uUZrY<)hZlm#`T=Edaib#&m>Je$$Nxy73+r##=ebV~7Ek#XWpG`pE z<*lhlU__QQUHrmDcp>fU9*|mk#3~BhlZiMYp5Zm8G0CMVBfgb`~KeV z+wte#f9yFpJUDO$p67n<`-<~Auk%7)np@?atXSggx@n$00n-Urr%oWJi@2M0i@UJOJnp?K!d{Nq;>kmtO4Yu9`jNl8gvLzoZ8JY|aGvDv)MKuAqWl`(wcQP()Zz<$SQW{7=4n(85s*%&e@pMD{DtPSvpJ(W%+iCJ+@nZbYS%9gJ#5ioM&K z7Ug|!#{1p|c{K5Z{-yHJkb%BILCx{naza8jYTc#|OPq#9J5Ns()y~BwPA8qCkmosJ z+9G&$=(P88o-SuiE^56`Xn86uh-SGjalLT-Ug*zWvE|dKsD~uuWsY4nl?~Om_DX3E5ljbF4;#*re`wf@;_t3$mvf4}5t215YwVMc(sEfe&3b(jxV; zECpB~56;$Stjpa;17;FDk2~reT9Vmg8t61+rID(bV<3_`m|`Z zMblvT=b=@PjR8VE_dQsk6!+>dw=sa#O}Fo+g#w);FYHkUq0m59Mm!1C1EvcNYTrs#P^)uJ3%G8ACJl5% z3HzAx>BEiCU@A-V=GUYaWvlVr7U}RXvdCPmO8wcS2E~B^u#$ITW~iesO?f}xmQM!u z_V??IY}M>61=0L&W9!ZPW*I8x;k>-M&>D{N+KOVY=c>AL5&R;eMTRfs?HBH#DhBdB z_V9gkCpJYzMzRM@xEXB?jsC+=uxdx-Zp?bvuC`6hXqf6h*oUe8g%N~0jed(4rqu2# zy5|4=ruXS4D7bJ7JFZfeUN3HVCjbHx+Td!0ym?N3Z`O1|iNVQC7x^7=V-?VJ8h-rs z5K0n`TF1IfY30d7_uZN#+^K-|@0-T2jk?r|MRxsqvwZF20i?`n=Sy+%;4v7Fz#Cp< zTlA@OBRAJ<3+dirqz*y>X*%ytGIB-`<72Yg=tTR~KL=c2kUT#QRZ<>+h39FxYl+>vgZkJjjm(!4&BZE259NSeYg0oMHXg`Aca?CBwrfdJ@XmIoH*$Y zukJI3Dnb_zD#B?fl!v%4=jEug&r}*{n}JjTAV&*h3)1E9>IwQ8Wn|3l(mFq%N&w|= z79f1KHtKykP&(HZ(7iFhu8Lmn$CTP zdmN`IRb}&ojqbjg>i12@yMx80`}^Ixwcr^6D+_|dIJ=hf-8GCbm&s_rbz!}7Cpr5z zZm-4;UeDg>`|Ymhb?+Ji`DfBm>(aFLaV`3J*%SP-yxZs`PO;dt;~Y-H>qv(V{c4Q0 z(aCR;wg8oT_3YIUOi)halD+$|P@Y)h;Jc6X+3C}|8q=R$or$a$%>dw3&*1sgIzWSM30EPDU?m#$UI)V=+H-Wz^2VRp8P za|c%12f_%~84u2awv^lrbsd$Y#~&qAfuyZBJ5lc2Y$4kzXc~V33Wt3_mosAiJ&kc$ zQB}3lyruZL4b2dxMhzK3kXE&w6N}GRAS99Jhu|Naio=f%V~=Wr#dl|=6TPxTx_dj1 zL8f-c;bv%uLxax)=EYX$bI;{G{<`yn*kkM`o8KV1teWp+mN{B4sB^)GM_#VR0L^NV z^HRDK!Fxm`;{`+N`63n?t&YMFE z3@sohvw0Ss;Bj0DF7x7mR^dluSy)+uR^Wfkk-*h807!$O1*vJyl%Df0i_6Wnq>fcF z@gJ{Ls*+??uYZ_T_6nB~eK-4~z5Pkx(#ILotZLWo_Jy{6I<7JOA`rZ$GysM?%638F zMk)FI`@`f1@vJ54GeF2c`ptVai{_+;rpuMTJN=(kqnGR|FH^mV>4`}FO%^VbHnd83 zhaw?jG)oeBo4}Mx5aHU~{Po*lAR=54I~eGQOOku@Ccu2x4LE=u6ir zaWV03&lfpl%B@)U*=UNqjYQA6%vG8IiAYAs`}a$<(a{o@fWHW7OH?|eS65Y=_F9)a zI`WAA6YlmWa9w#=ulOE_$bR`ojLPJN+#{uOK9f9WXJsA94SdBaYv8{1U%4R%dmQNi%3I}s_W_9YN}fWpliD3E)Cq}Khtss} z?4%dx01SEk4h;!eTs%S%I%Tb{`2N>3m`0jXps?9b)Vd-ld8vL_CioBrx|kMmC#o!} z0Q$du{fqs1%Y8RoPV{t@#kqrl3$!_}d`1;F$6h||x`i%BZOvGg#d%Bg?9bq+;?E|@ z&{e37yEVqxwc|X1Jh>li$O9&J4lk_ANxM4zQ`Af6!Ph50t8>)zawiRWV!}iNPWD%0 z?lfxktVL2o zsMQ}{o7o7%m}-igMYk$MJ*1#eRn**>>=VDn3z87v!uA8?AwT2dl*(V{sm<7*zx;Cj z4hczY-f>y1%~+Y^_kR{Y|Igw#%sJ#9o)pw?`k5nygoM(q51c1Qdn&6BJR4(c&0fB} zLm9aAJiZ#8AB{Xyfx!^oSg#ve!ELqgrZ?)DJ;b(71-Zd|00Dc`uBF_KT&#>MIwo9q zrY_oqGB9F;^W#DLsslOM@9(cv9QJ>g^yN*4MUBl35B0w71lZgfAKIY{Gw^f(^2~iH zptx9xgu->oR$@r^{&JjiU5oks5CDU*=^dcxgGSY=$sIB{;@8Wyaz_sjW8$xE@SV^n z3T?Hn=jWf;k1R%Z$Lz!oYT?Rl8;~4z2gkAb$ejp@FTU3uACiz{ zrKUh1Bi|L2?)#TYf1;?Z<%~@t;vThH6E^y(l@X3d*;`wKb{6d5~g;ZavMsQqYAG7r)*;i19qGz91NOLcdDlH%cYvl zV|URxA>MJL6!2)O8bO|&!XzZ>%6qe;#1hMMOAmv6_Pq4CGOT|(F85l25P2*z~;+E-<=ps+#DhA;c4Dnui znr1tCvgGW?o(U-J(EMqH#d7Y97bpN7oOnXKNPrj})o4L9fPv~iZBArRukz;D= z|F&MiT_KRJuNf~1Z3Y4+LY}q8F3iubA6OFI5nry^3*Ytiy~q~$Oi*lF;^zA|GUCN5twUSPYjJ13rCNFL zF`A$$n6J_2jrIlU=*Gsd5FPA*b zI1}3%NCn{J@MB{b32;3lVHUbBM~K&m%J(E48{=S>*%p`+bpn*%?`4YMYHrcG92UuP zRKHkF?OEi|SSYH7Hs3YEIIbQ(_k=DJ!+NQ+!kkZcoxd;a^zoP+ydhD{QsJMrvp{=` zLF^7HmmM*qFlL+HUgBXruaU6V83`N^`Ha2%No(D5CkzQSC=Y{I-ZzG%OFScMs$J>@ zTGP$5iQcD-na1D=($(Rl7NqarCqF$NDrX7r)GsnG6$(ED(=|LDck3J%H^xAqS`C*; zQTwj7h~=RspLGx*?~Z3kF4o9Zd^#YM*Sm#_j3A4Qj6A{DU7;yH48A6Ne%hpu$R43Y z$f&BRX*tJsd<0@GUZk2gS%MbR#Zq^V1E4CaYw1y=7dd7b93vo%U+($QQCt9#H3}3@tG5V zxq;rDKA*NVa(xq&6rT3)9X-$?BR3`o$5D;*+NX>C=_@%BsnqK_qr64%GX6u(U<;IX23=hz^Sb>i>NSQ{142{2B z>N?j2By36w3eftX1R&dR-sI)pXwk)qb%d4`Djz-Laq@)@dG4exFW**LI*_8!zA~i= z1%{^-H*?EjFqhSCH&wZ>dRq@NSaALkq()E7R)sgKnAkxX;@&+{o2oNPlGUM%tuTuM zb>fckN_%;$kW*qObbJCMQUUB7Se!p4zF$M>yXs5eSx!w{v~a>I4pcYx-3 zr$;04ZeV9*sbm9+b1kl+4V=^Q@K6Jya^i=enDQfr`Ouq9ry|8EG^C_YbgS|ESzef@ z*o>KpycnjtL&7s3hFGh%p_;b;Q-}VTLI_e$X&U5=o~Gu&{)d7-RwAYkR6zyV*_qkq zZs+q@x2~?vn0u=`6*<{aHMf#zSXo&;e}6im^_+i=&;m0FJeJY85vzFKz4An_Q;zNJ z1K};j2!}HR(1%0Lp~8~r?X>1j=aJ060%8ZJiPcc=!!s%pzkmRtyN>_vHZ5tBH^xn9^6kt`Tkk~ibeD%W{%Z+-8 zm(b=dTwgqQPQ$|jl(6^o6nC$PEVMO|NAWd5WO(?rJC5d#$bM#rp?~1_>fgnzpNU=f zf1O00Rz7( zt|`^={6hV|iv-E1wySK;!?|Oqg1wX2wTr>EZGtgRGltJDP$JJwSBXpZ#ywHT!wa8$ z+i3Y&-ttAiA)0>jM(WW&B%1nxU~p0i2nzcWzn@o}1Wh_&CRED@=Nvrt=T4LpUApzE zr@bOM(BFuuI4+XBmInzppa7rq;=y>PdCavuVD+JI`WF3$kwmlBe6jO>AUoq+A!-A) z{y~89hBDcM2Qv=%ks4!v`nkeu z*BrJ6UTWsMVza|Rgh06V!5Z^>_M*rgE_<%yfgVu@b>7{h15eM6@qF=+xj@aSm8CwSeOCz%M-_C>8bZXxA5 z8h!RMbas$wvS%tzPt+^Wo4Inay587DX*#d|#i??^SIXAH2aL`Cgbzz9BtMiTA;+nZ;3;MBJqqsZAM8Qnuh-oZOS;qcOa-ywsXPW7dKS zhc~yhNJ~kY@y6t7mtV!(|GE4mzc8fgcRRqQphU=XLXwpb75s~@7WbmtE1+hzZ&)uj z(8ovFz@dLKHbX;cl4c$MG-nG;lty0V`osPD^Lqea2>!qHq|^U9;^v?K{rVRmas2n| zF64iMopg-O95962Zq`IJCUA#;k^CAcij%pyuqvqN1H0i^*RnXea#6HyMm5_?CfHK<4FYXqwQWO8nnKI2EeM9ga z-nU$$8X<^LbxYB-;L02U*y2c4#>Fy8pL!wtmaziy9MZh3;{T-Z1Oii9f|qi)-9!$u z?XrZZJ;9G>->Q-=mSgYURcbUK{ffG;MODChacT7fQb*d@l?>~3a54Y=(zTrE&Y zt{`y8ym1&5NJso1T_y18+bTag^`YI8kIWccxA@P)w9Si)SM}9S&abHV*nOhNUH-8C zed?gOBaQHikW*oTSlMypwKN;gwVX_IwL5NzY+s2;^ZpR*wGSFusx057j0Q4?h^nYF z+(U;jyGN7%8^MqyB2__GMf(jz=?K%Eow(#?=X8QjP!qXE@I*x@kB_(G+3MBx=!Krp z)~MFolb&;db-U?HAF<{merlm=Y4<`f^3FkB${4Kco#l_0P7TbU-IR{my0P#3(19OAV==vfrh>4#!%yxO#N&DdzJ4(@i&J4rQx&h1?(Mb#zj{cJbCg_0-07Z4>9bOs8W>2Nu;kDfxMX|B68T zZFs>tj7+c;bPa=(iSA}wZO)IbkrPmw#8y|V44|ORcDqktT6W6BMdrg2o|PR4KM$>ZkeXb3ixSFx+A*-!FXIhAGw4+pPE**9$s zQICYP(|#Gu7*a#KL;*D&8JV?#5|fNxzya_yQVs8OFD(eaOPBZqfJ9{8k zhMN|)QCCqJ7Tv};&)f+PFil-v%U+W`x3_(31Y#$E8H`q1s9%sB62&~uYp>9pP2J+e zZj8u6X+3}c0)d;z+c8yjJ?^Du(toIB)ko0K zz~leJ1+Wl$%usu_#@e$cmowDb+)B&CCd4Sk3@Yo;ulx}y_en~|sh=c*D&Tqb#xsPQ z-V0csn)4euOjOK-cYVDtZH3KAnboKCugzC$r~6;^seNb2T#5>LWK(lAy1l&}V=E<1 zw=%{7t6~9!Ou^Muzre?!Kl&%7caZU(SCc84bx>`8E?vSoKGsej`8;qUGj!MU5=)@l z;ljDRP`-NqCmJbZDV$8a^HGlPpN|?69k# zLWy~KagqJR!c5al(_Cw!sEw`wwF=_lM33X>TfKs9%eU$l3v?=z8xpMew3BjCRQYjs zBg_D(1gs-or_;mduKlwTiUW#i3~5ACQj#rjINEr!!uBOz4XG#N|NY7xZM=V}U&W>P zZ(_Rzg@^4@`p-BisM?p7dSE3c1K$dX2hg09c~4h~LY6}Mbc7a8v(AL{rp>KIUMSda z5wO=8{8^y>%~GvDjB*T`!bHAIgB>#OAe0~bEUmEcIn?;{VEs$5$TQ2azep-q=Fhtm z`H`zP?v;08XFYMeW2pnC(_UL&Qd1w3XmZ(jyqlW~#rM`6TY!HAnh$Jf{ish(pm5X|~N*=+=XGSl0I*XML^kn4ZlmSmiO)HOR ztBu-)Bc(0ihKNcIFH;=X0YI27xdd2Pl%RYz;~uzpXCATJg16Owx37DQKD}ZsESsk0 z2QR6axcfezE~VsQHB3N@+2-sNr`qS06NWo2nrp_{+zs!HAy4Fc-yf71iC_ZQb?!iHPC=cLT_9v0cQWI;&d$&h6&Dvb&aDg$kOHNKm%g`Y zCXnYJljOUNO9qGYv~g0syw<0$We)g-S=~E+wy;0M%+kLMZv-?ClJ-UTtI_np5|i$? zouI5{CDAuGHz#v|T6L&7JhfL4Iara9dgfwkXcz`JG%;f31r5|TTuNz5l2Vf2H~4$X zN#u|a>Aa{q3YmlQcP$Z`4@8w~oTTwlsSEDwY*Hk)>VkYVqL1F{71J}BNcA{ihC>Mf zz3k83H95EadCs$@U|3{cKJ}&znRA|^kYT%Rbe?0ymvYS22g}B- zB;<%QxSyn7E3-noVMdg_@Qce|q=Ir_=dQ<0L&e2>ey^l50Eq0IMQ2u|QK}UPC*!BT zGzBtwo;}x^b=`BLxsig&Tb)$53)9j60#g zl=Gj07C{g#z}#fG_-drLzBn-4eDNLN-JYUDHm($eGcoXss@N&?YK@! zz72pHfO-EL!cl(GvYaT~Unw6W@Kj7p0tyt8&$Oyijjl}BR2o-dT$lAU_^n83NV$!> zZy=t=YWLf}e%%pUfOJ}LL~V4MxzNp5v8i?SlRSc^W*3_u6&vlDJO8E;w${PV0xD73 zTOAcL3JS;0)FBS!Zni83ekQ5m3(<9hw;xLK+Z8QP-S_tjJRBEJO7LRmpY$7*E$&ra z^Cr|QSQAYvL$^Tm{e%0zQD~6|{}`SUuAi&^=cs-teSha2c!Y5HW0d^kp1v7nBrlN1 zW=>5VO{JP~Uyhgfavj*+z#zY)nZ-!te&a2-_|0P~Yb7ml;C;Z-^SD6bb-f#Wc!#{j zV@4ZSk&s<5SYzL#s$4fic%d6i%V0*H*VS8>GchtI2p$0mV^cuhw3=+Zc1x?jq-pN( zAhsa(p~vZt!M;#D{PgVPa(P?HyM`Lp{Fr35oVK_R^TIaBMeJs|u#JjJn9@T&{bp~@ zT9tx=j<*TU4L;VvCYu|YoMPv3eap%$vF?&V^6unTBBlWhd5pg-CY6}2rA;t$xh zYC(}!7wLuORfpM5(l|S&*3w zT;N0gI^*;$AcHEITAJ#BT~obs{dPcrKP8XLtNzoa_KB+>kY4yN#{*^vCb_80dn0>& zq6@f_v?KM@co5=@1{Fc(9o?xJRIyjGol%Cad09K)=3}Y6D_R4~MyG_IcWwTOiwH`k z|K0GwiKLKq%E+#lgTc7WK44bp^Tnl&o+0rVryXxj0B!<62HrvTr-VJ8k$Cfs0g*n} z!#?Efi?pfs{TXX?wd4A9o>y(x>P=8GH0)1mD0*5%ba0o1gaj0^l?MN-hz&|PR|1!x z{|pV~c0afm0@x=2nST-vpfC!qcS-O78h(x^mvZ0msO0Jtoer%g0wx2$=p%!vik-GV zN(Km^_Kj8Ax1sbrnc1r#m=H0MH+d+3cuuO!DG?hf=1E@1Zp{26t-HZ@|ChTI{`W4G zw6sEx;Bd>ot;lH=l{Iy0^gjO{QV^#R@^Hb?MyuthX1Ok4Q3so7_oR|Ix8v1LwlO&> z{?l4ZO?$%CgNiGQ7rvu5LD-HM8ciHY=7~;smT~l%mAFb^l(jJq#AluRW8hmFL%QeoFp5E!%vCO*OP5m8|Y; zt*d;-;}O@PkvDs7hqZc{0n^oUfz@U-1T!7k4hJrimP>PwL#LZ zkV%EE#_jbgcLr{qoiw;_;rADC*maCkwbCnDS>(QVB=h1{9exSJKl9f{87MKG);9%% z2`ZX-qX5!fh@i5`oO}tqt+Im1bbD5;e40|cK$$UqnY%Y`D#v;2d1x_fp?rb3_3(HQ3D`SJg9%OO>H0Dm9=y&l$9v`^{9>bxvoym%p}Vf~@1 zXp^?|hTn}(R@Upn3jrM@b0m;r+ot11?{jqfyKE~}qMN@h0S7em!p@HmrrFdSm?!B% zcXxL;s}`J$sLHZPTw7-i~>bMb!+r7h+?U1>e4owsH_1U>a53jZ+tl}CoF?k2w%=z<$%d11I?D& zNJK^EE6s0Od7}=SQ%86E9RD_G3%V1A%GXrJF$uG3XKjt-ID^r0e*>O3iAkK`Q7LyX zP_n`b-#(qdi-kn!h8$$tnfy|MV^GYQ9S^Cj<^4!Vq;1oxC&n)*$4k?fg1-H`xukFZ z!K$7^0dhu8PTt(c1eKDEe|pr-DR#ovANJ$N2LPXk+im8@RY}8~@qr-9ggkTZjRRc} zl2Xthfh90?ptUc7mpk*EyH99R9|3Pa#;&Vz=y}0Y5R)`A647i_&H9MumXYol$6={5 zjxP-^Q#);}i(MRe8|zxfD4Xg9d81D&q-}xcD@}L8I_)_Hkm?1~ke}78&Mmw6rRUOL zrBl-~SQh~q+-&u}S#Y+UdHR~MuHF2>R-~Kd35RAumx7W7uae2A4L~d1fZsRW`>&h3 z_ouJztwBT0k<47p9w*3H?hNbgBD)+wxrvPIx6M?c*jsV8?i+us5CB~{fiDEAYx%

V;;t711e%~r1`yR4MgJ7x)hrPz9nHwRzStFe@0taLH+IvLV zNDYH21P95;(*shy0F!sACq9Kto?4iLYsPu*6kNk#7l-n_<(nxT`{2wyksUTRvI2zS zw`;MEk^ziEMv;0?vE$2(3D21Cj@L>rv6rL0x~$4kJ??U1>l^NywdeEay2%cMOHSu? z(-zKtaQeYP{EWe6>>R}niVPyF~cVYgd zQU)yfkcXWXL*i%c%X>t0VlO&&{o753#2wv5WCVp6mnPP&-*y(%9v7pHW4TQZ#&#A6 zZ&Mrc#oE*@j#h8gJnFyLwp8SR`m~P9)2^InK2>SYQFSEMV=g3WY{B*JixhiM!V~M@tnxc(epT~WF&q!br^$9T<(dV zd{^IjpS82I3-Sm;N=oXETP<K7`URD}`&AKR66KCLKi+4)Pf zr}j$eVbC9V?zubkPq@qrE;zwue}ItI>lHY-EB$j3lhy^3LMFW%dfrFOV2Yi#wQ_`m zF6e!pm;4^q8L8*C(^Eb@u!_AxNF-)7Xa@9OzQCbU&;+m6Xqo5lp8kIM+o{sJW^=-Q z%exRLHb4eJ5^;tn9R5>=Q8?KKesoyeX*hF$=wNlvH8zSMD9CSB9Jt#<{MpgoGVj9$ ztedx9;r8&5JZT6xrmQz+i+78CX=}C;+&8&n-hlAt!8z_{(#r&o`66Tl$Bkj0b$_UI z+Xkz&BzW&iW=v<)m`2*&`=l_OAJ5_u?WOgZL*6Q9t*MXl$x4o5?uN@H($`}|_}bm#^T^vE}EGO!*9hV+&3MZEi&Kv|b5SMs;fF1*L z7jFTqB)uYYz1DoNvKOmXwsxdLA~+JYf54E!9sQ z3N`LM%}e@wX3?oYx7Hk8g^*bU>8tY?hPWD^!zos<`k~|JMy_S#WPD_#^PkcR$3>|+b4bCQL$&XqdRMw^ncYDpV$ZePh)%vP5m3ES(Ut(P(J;VxzC~Ed?->#_-xYSh=jo<3TT;*j%s81h!+$yDauIE{h zAM=+*(%_auW!VOs`|_>jPOOyxA3>gEfg-1<=TF5Pk`T$GYmw|4!|%q5xtTNpF+#JD z={$Sp0o?#SZTF&R6>J!xTn_(BF22BRQBAe4a}qzht4hon`}W_G2SE_^y?Xjrr1vS> zqgtojdlJski{;n)w)>$zg!;p3dvmluS1TF@PPM~?ZzY$P+EXPc~$AGRT_6t7Qs+npDuec%!VIcqh8YQk9hAlx}VnGO*cSiq!+i>o38SYe||CeCn@?Bfv?!!>o%W2is{i5(*!UfK{d-lH?FR8Z9ZeV zTloCAhC837#y(rvWaa=Baia|}KyZngLn?3yYasn_7&D8^m{tri2o1e_$9poIe=af_ zEe2HA=)66R@QjJTykuyxHIdFwng;y)CqH^qM|?b!hSx1VTmIHFeLBzBYLN`-CJh=g zau{xgp3ulEc>VGmm1zAVO(_p#+Fr1z~? z63wXl-Sz4-->-f64p-?rZPL~loF&*76}r~xgA?7-K}ax9M&{b(PDJgm-s+lK<}4Utg!`fyCZp zdU{}ag!j&#b`)CPe0}@#91j0GxEhyGYtPj8?2g^Rlm$E6(=?-K4r59My-K-BVMIh2 z%5pLTzL^vd_)}W?$ADpH=g5|zojq;h?d?SJ#d#6V{Pp!V1zzq1ddm3)QIUGiw|Q!> zA0G*!$9MgE%qSS7QXX;(vNbEGJx;#&#TMVH7it2gkQA_CJek3ShsHV;o5n=U4mS3}S2`}`Y0^2N-=*Fz}<@J?W zF&n9d@3-I!1r!@x73GtsCKS=lWy;)MsdFw$193Rll5jZnH>@f)OU^RN_fEU_ylTP% z{1y4{Wj^ogk3#N}?9}Wy_%{{S#oS1-%uqUjD;~hpf66ZqYZ)UW&c2R)4B1;eov-}f6S>#o1za~6Q#X0 z&WlT!jvl0Ostn}F`tXNt0<9Cipw%h5*nMWE(zUTmy{h#uCL$`qP2YXl)+*>$EV}xd zpwLZBlTVBEt?yqCQfL~Pe0~1H;E#Nm0*O36waR7Pozxr|aZ0i1)7#Gy&L87A5oYE& zZ1SpQ=njwn)pqrmR8h-lq^TO0uBzsT$9?l*+aSpZ?`o#~wNx=>>ZZT-34e6$g$W&J zuxk;_r%VUp`WVtJtLnb`>9-_QS?HU1g@uiLVE!5Gzf1)vqYLlRjTw+md`*^R!d!8N z3Flfcl^=0$6eBMi1)G+;a>Ic{lEV>YQMwxW{FckI)r(2j)|ZHJz2xjf=ZB%3rPhe0 zeYPSDpK}%ZeSKA}be9-R{b04KIDGx6s#rvIMgXOr{*=gyiuKm^!Lj8hwwld2`G_5z zohsOY`fsk%;FHhM*b{~X>#}jZOOHYX6si@-Df_3Wu6$g24;R}+O{)Gf6?)Uim2(}N zlL!XwUhB%Ic=mTMTF#}ioI^eP-S|pXC(K(K5rt<+mYCMnuXaaMvC5@?{rL^Y@`^d< z?xgc|LNqD0sj!woQH|GW*fyAiODtX!LM^0&%hCM64* zle;SGDIz)@-O_Hp-YA!4c7NSF@63~5U7cr%D>e9_=myk~{Ry)k;{qTNt{uz3+sr73ZD~xTO$JW7s|1tr)9ngvQkWA}8P{~r; z$Ba0fPKqu_9iH64n3uTPYaQ=$cQE<;`_P6%i{FpEa|Uxv=htOE`DIGO?40XIr1$*Y z#e`XZ&uKCJsuf4}ckR}vPxO~NfQuAM(&5OrU$~1PlDn94Pf-}d~;o*cY{Gng7)mcCd(-M!%-y9@a z$1O!c2tNh8$iJwBQI<1Xl@9qoTpb^d<;>^M!86w)X^5MSS@ebOk>ofIi`f=D zCHBuky%0D)%Zu%j1FL;7QREkj%yUJ)O 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%0DVl-dh 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 LPeB*(F|9U!fTSh=<;#~@ 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