From ea885900ebff31d210aa8859ef3572aee8e39b23 Mon Sep 17 00:00:00 2001 From: balestek <157660869+balestek@users.noreply.github.com> Date: Fri, 26 Apr 2024 06:13:06 +0200 Subject: [PATCH] logo + fix --- README.md | 10 ++++- hashtray/__about__.py | 2 +- hashtray/cli.py | 24 +++++----- hashtray/data/email_services_full.json | 2 +- hashtray/email_enum.py | 58 +++++++++++++------------ hashtray/gravatar.py | 11 ++--- media/hashtray-account.png | Bin 0 -> 115837 bytes media/hashtray-email.png | Bin 0 -> 126999 bytes media/hashtray-logo.png | Bin 0 -> 78904 bytes media/hashtray.png | Bin 8573 -> 0 bytes 10 files changed, 60 insertions(+), 47 deletions(-) create mode 100644 media/hashtray-account.png create mode 100644 media/hashtray-email.png create mode 100644 media/hashtray-logo.png delete mode 100644 media/hashtray.png diff --git a/README.md b/README.md index 4519881..0ae0d20 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # hashtray
- +
[![PyPI version](https://badge.fury.io/py/hashtray.svg)](https://badge.fury.io/py/hashtray) @@ -67,6 +67,10 @@ pip install hashtray ### Find Gravatar account with an email ++ +
+ Pretty straightforward. The command is `email` . It converts the email address into its MD5 hash. _hashtray_ then checks if a public profile associated with the hash exists on Gravatar. If found, it displays the profile information. @@ -81,6 +85,10 @@ In such cases, _hashtray_ alerts you. You can then attempt to find the primary e ### Find an email from a Gravatar username or hash ++ +
+ To find an email address associated with a Gravatar username or hash, use the account command. hashtray creates a list of possible email addresses using data from the Gravatar profile. diff --git a/hashtray/__about__.py b/hashtray/__about__.py index f00c740..f102a9c 100644 --- a/hashtray/__about__.py +++ b/hashtray/__about__.py @@ -1 +1 @@ -__version__ = "0.0.1b4" +__version__ = "0.0.1" diff --git a/hashtray/cli.py b/hashtray/cli.py index 182a998..7b726da 100644 --- a/hashtray/cli.py +++ b/hashtray/cli.py @@ -3,6 +3,7 @@ from rich.console import Console +from hashtray.__about__ import __version__ as version from hashtray.email_enum import EmailEnum from hashtray.gravatar import Gravatar @@ -61,20 +62,19 @@ def parse_app_args(arguments=None): def main() -> None: c.print( - r""" -██╗░░██╗░█████╗░░██████╗██╗░░██╗████████╗██████╗░░█████╗░██╗░░░██╗ -██║░░██║██╔══██╗██╔════╝██║░░██║╚══██╔══╝██╔══██╗██╔══██╗╚██╗░██╔╝ -███████║███████║╚█████╗░███████║░░░██║░░░██████╔╝███████║░╚████╔╝░ -██╔══██║██╔══██║░╚═══██╗██╔══██║░░░██║░░░██╔══██╗██╔══██║░░╚██╔╝░░ -██║░░██║██║░░██║██████╔╝██║░░██║░░░██║░░░██║░░██║██║░░██║░░░██║░░░ -╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░╚═╝░░╚═╝░░░╚═╝░░░╚═╝░░╚═╝╚═╝░░╚═╝░░░╚═╝░░░ - [white]j m . b a l e s t e k[/white] + f"""[bold] +[turquoise2]⠀⠀⣠⣴⣶⠿⠿⣷⣶⣄⠀⠀⠀[/turquoise2]⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +[turquoise2]⠀⢾⠟⠉⠀⠀⠀⠀⠈⠁⠀⠀⠀⠀[/turquoise2]⣤⡄⠀⣤⠀⠀⣤⣄⠀⢀⣤⠤⠤⠀⣤⠀⢠⡄⠤⢤⣤⠤⢠⣤⠤⣤⠀⠀⣠⣤⠀⠠⣤⠀⢠⡄ +[turquoise2]⠀⠀⠀⠀⠀⠀⣶⣶⣶⣶⣶⣶⠂⠀[/turquoise2]⣿⣇⣀⣿⠀⢰⡟⢿⡀⠸⣧⣀⠀⠀⣿⣀⣸⡇⠀⢸⡇⠀⢸⡇⠀⣹⡇⢀⣿⢻⡇⠀⢹⣦⡿⠁ +[turquoise2]⣀⣀⠀⠀⠀⠀⠋⠃⠀⠀⢸⣿⠀⠀[/turquoise2]⣿⡏⠉⣿⠀⣾⠧⢾⣇⠀⠈⠙⣿⠀⣿⠉⢹⡇⠀⢸⡇⠀⢸⡿⢺⣟⠀⣸⡷⠼⣿⠀⠀⣿⠃⠀ +[turquoise2]⠘⢿⣦⣀⠀⠀⠀⠀⢀⣴⣿⠋⠀⠀[/turquoise2]⠛⠃⠀⠛⠐⠛⠀⠀⠛⠐⠶⠶⠛⠀⠛⠀⠘⠃⠀⠘⠃⠀⠘⠓⠀⠛⠂⠛⠀⠀⠙⠃⠀⠛⠀⠀ +[turquoise2]⠀⠀⠙⠻⠿⣶⣶⡿⠿⠋⠁ [/turquoise2][/bold]jm balestek⠀v{version}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀ """, - style="#1e8cbe", ) c.print( "[bold turquoise2]Gravatar Account and Email Finder[/bold turquoise2]\n" - "Find a Gravatar account from an email address or find an email address from a Gravatar account or hash.\n" + "Find a Gravatar account from an email address or\n" + "find an email address from a Gravatar account or hash.\n" "\n" ":arrow_forward: [bold turquoise2]Find a gravatar account from en email:[/bold turquoise2]\n" " [bright_white]Usage:[/bright_white] [gold1]hashtray[/gold1] [orange_red1]email[/orange_red1] email@example.com\n" @@ -85,9 +85,9 @@ def main() -> None: " [bright_white]Options:[/bright_white]\n" " [orange3]--domain_list, -l[/orange3] [tan]common|long|full[/tan]\n" " Domain list to use for email enumeration. Default: common\n" - " [orange3]--elements, -e[/orange3] [tan]element1 element2,...[/tan]\n" + " [orange3]--elements, -e[/orange3] [tan]element1 element2 ...[/tan]\n" " Generate combinations with your elements/strings instead\n" - " [orange3]--domains, -d[/orange3] [tan]domain1.com domain2.com,...[/tan]\n" + " [orange3]--domains, -d[/orange3] [tan]domain1.com domain2.com ...[/tan]\n" " Use your custom email domains for emails generation\n" " [orange3]--crazy, -c[/orange3] Go crazy and try EVERY SINGLE combination\n" " (with any special character at any place in the combinations)\n" diff --git a/hashtray/data/email_services_full.json b/hashtray/data/email_services_full.json index c446949..3ff265d 100644 --- a/hashtray/data/email_services_full.json +++ b/hashtray/data/email_services_full.json @@ -453,7 +453,7 @@ "vnn.vn", "aver.com", "bestweb.net", - "chickenkiller.com" + "chickenkiller.com", "keemail.com", "posteo.us", "posteo.uk", diff --git a/hashtray/email_enum.py b/hashtray/email_enum.py index 96b345c..c12f975 100644 --- a/hashtray/email_enum.py +++ b/hashtray/email_enum.py @@ -22,7 +22,8 @@ def __init__( custom_domains: list = None, crazy: bool = False, ): - self.account_hash = self.hashed = account_hash + self.account_hash = account_hash + self.hashed = None self.separators = ["", ".", "_", "-"] self.name_pattern = "[-_ ./]" self.emails = [] @@ -42,7 +43,7 @@ def __init__( self.n_combs = 0 self.c = c(highlight=False) - def load_domains(self): + def load_domains(self) -> json: # Load domains from json files domain_files = {None: "", "common": "", "long": "_long", "full": "_full"} domain_file = domain_files[self.domain_list] @@ -65,13 +66,14 @@ def create_elements(self) -> list: ) sys.exit(1) # Get elements with custom arguments or from the Gravatar profile + self.hashed = self.g.info()["hash"] if self.elements: elements = self.get_custom_elements() else: elements = self.get_elements_from_gravatar() return elements - def get_custom_elements(self): + def get_custom_elements(self) -> list: # Get elements from custom arguments self.elements = [ unidecode(element.lower()) @@ -85,19 +87,18 @@ def get_custom_elements(self): ) return elements - def get_elements_from_gravatar(self): + def get_elements_from_gravatar(self) -> list: # Get elements from the Gravatar profile elements = [] infos = self.g.info() self.get_public_emails(infos) - self.hashed = infos["hash"] gob = self.process_gravatar_info(infos) for element in gob: deco = unidecode(element.lower()) elements.append(deco) if deco not in elements else None return elements - def get_public_emails(self, infos): + def get_public_emails(self, infos: dict) -> None: # Get emails from the Gravatar json emails if infos["emails"]: self.public_emails.extend( @@ -110,7 +111,7 @@ def get_public_emails(self, infos): find = re.findall(pattern, infos["aboutMe"]) if infos["aboutMe"] else None self.public_emails.extend(find) if find else None - def process_gravatar_info(self, infos): + def process_gravatar_info(self, infos: dict) -> list: # Process Gravatar infos to get additional chunks gob = [] self.add_preferred_username(infos, gob) @@ -122,15 +123,15 @@ def process_gravatar_info(self, infos): self.add_elements(gob) return gob - def add_preferred_username(self, infos, gob): + def add_preferred_username(self, infos: dict, gob: list) -> None: if infos["preferredUsername"]: gob.append(infos["preferredUsername"]) - def add_profile_url(self, infos, gob): + def add_profile_url(self, infos: dict, gob: list) -> None: if infos["profileUrl"]: gob.append(self.last_url_chunk(infos["profileUrl"])) - def add_chunks(self, string, gob): + def add_chunks(self, string: str, gob: list) -> None: if string: names = re.split(self.name_pattern, unidecode(string)) chunks = [name for name in names if name] @@ -138,28 +139,28 @@ def add_chunks(self, string, gob): chunks.extend(name[:1] for name in names if len(name) > 1) gob.extend(chunks) - def add_display_name(self, infos, gob): + def add_display_name(self, infos: dict, gob: list) -> None: names = re.split(self.name_pattern, unidecode(infos["displayName"])) gob.extend(name for name in names if name) - def add_given_name(self, infos, gob): + def add_given_name(self, infos: dict, gob: list) -> None: # Add given name and first letter chunks if infos["name"] and infos["name"]["givenName"]: self.add_chunks(infos["name"]["givenName"], gob) - def add_family_name(self, infos, gob): + def add_family_name(self, infos: dict, gob: list) -> None: # Add family name and first letter chunks if infos["name"] and infos["name"]["familyName"]: self.add_chunks(infos["name"]["familyName"], gob) - def add_accounts(self, infos, gob): + def add_accounts(self, infos: dict, gob: list) -> None: # Add account chunks for verified accounts if infos["accounts"]: for account in infos["accounts"]: account_url = infos["accounts"][account].rstrip("/") self.process_account(account, account_url, gob) - def process_account(self, account, account_url, gob): + def process_account(self, account: str, account_url: str, gob: list) -> None: # Verified accounts username chunks if account in ["Mastodon", "Fediverse"]: gob.append(self.last_url_chunk(account_url).replace("@", "")) @@ -200,7 +201,7 @@ def process_account(self, account, account_url, gob): chunk = self.last_url_chunk(account_url) gob.append(chunk) - def add_elements(self, gob): + def add_elements(self, gob: list) -> None: # Building final list of chunks, deduped , lowercase and unidecoded if it hasn't been yet self.elements = [] self.elements = [ @@ -209,15 +210,15 @@ def add_elements(self, gob): if unidecode(element.lower()) not in self.elements ] - def hash_email(self, email): + def hash_email(self, email: str) -> str: # MD5 hashing of a string email return hashlib.md5(email.lower().encode()).hexdigest() - def check_mailhash(self, s: str): + def check_mailhash(self, s: str) -> bool: # Check if a string is a valid MD5 hash return re.fullmatch(r"[a-fA-F0-9]{32}", s) is not None - def check_email(self, email): + def check_email(self, email: str) -> bool: # Check if a string is a valid email return ( True @@ -225,11 +226,11 @@ def check_email(self, email): else False ) - def last_url_chunk(self, s: str): + def last_url_chunk(self, s: str) -> str: # Get the last chunk of an URL return s.split("/")[-1] - def is_combination(self, s, chunks): + def is_combination(self, s: str, chunks: list) -> bool: # Logic to check if a string is a combination of other strings if s in chunks: chunks.remove(s) @@ -244,18 +245,18 @@ def is_combination(self, s, chunks): return True return False - def dedup_chunks(self, chunks): + def dedup_chunks(self, chunks: list) -> list: # Remove chunks from a list of chunks if it's made with other strings of the list return [s for s in chunks if not self.is_combination(s, chunks.copy())] - def show_chunks(self, elements): + def show_chunks(self, elements: list) -> str: # Show chunks as a string em = "" for element in elements: em += element + ", " return em.rstrip(", ") - def get_combination_count(self, n): + def get_combination_count(self, n: int) -> int: # Calculate the total number of combinations for tdqm bar progress total = 0 for r in range(1, n + 1): @@ -279,7 +280,7 @@ def get_combination_count(self, n): # Multiply by the number of domains return total * len(self.domains) - def combinator(self): + def combinator(self) -> str: # Generate all possible email combinations for unique elements # Get chunks and dedup them if made with other chunks elements = self.dedup_chunks(self.create_elements()) @@ -323,7 +324,7 @@ def combinator(self): email_local_part = separator.join(permutation) yield f"{email_local_part}@{domain}" - def hashes(self): + def hashes(self) -> str: # Calculate emails hash for email in self.combinator(): hashd = self.hash_email(email) @@ -337,7 +338,7 @@ def hashes(self): return email self.bar.close() - def find(self): + def find(self) -> None: # Print process and results self.c.print( f"[turquoise2]Finding email for [bold]{self.account_hash}[/bold][/turquoise2]\n" @@ -382,5 +383,8 @@ def find(self): "\n[light_pink1]:question_mark: Do you want to display the profile info? (y/n):[/light_pink1]" ) if show_profile.lower() == "y": + print( + f"------------------------------------------------------------------------------------\n" + ) self.g.print_info() exit(0) diff --git a/hashtray/gravatar.py b/hashtray/gravatar.py index 61262cb..ea9742d 100644 --- a/hashtray/gravatar.py +++ b/hashtray/gravatar.py @@ -74,7 +74,7 @@ def __init__(self, email=None, ghash: str = None, account: str = None): highlight=False, theme=Theme({"repr.url": "not underline bold white"}) ) - def check_email(self): + def check_email(self) -> bool: # Check if email is valid if re.match(r"(^[a-zA-Z0-9_.%+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)", self.email): return True @@ -82,7 +82,7 @@ def check_email(self): self.c.print(f"[red]Invalid email address: {self.email}.[/red]") exit(0) - def get_json(self): + def get_json(self) -> dict: # Get Gravatar json data try: res = httpx.get(self.account_url + ".json") @@ -91,7 +91,7 @@ def get_json(self): except Exception as e: print(e) - def process_list(self, info, data): + def process_list(self, info: list, data: dict) -> dict: # Build a dictionary with the json data info_dict = {} for i, item in enumerate(data[info]): @@ -113,7 +113,7 @@ def process_list(self, info, data): info_dict[key] = item[key] return info_dict - def info(self): + def info(self) -> dict: # Get the Gravatar info if it's a list or not try: data = self.get_json()["entry"][0] @@ -134,11 +134,12 @@ def info(self): self.infos[info] = data[info] return self.infos - def print_info(self): + def print_info(self) -> None: # Print the Gravatar profile infos data = self.info() if self.email: self.c.print( + f"------------------------------------------------------------------------------------\n" f"Gravatar info for [bold white]{self.email}[/bold white]:\n" ) for info in data: diff --git a/media/hashtray-account.png b/media/hashtray-account.png new file mode 100644 index 0000000000000000000000000000000000000000..525bfce9eb7aa6aeb7cb71337d3bccf177a42f58 GIT binary patch literal 115837 zcmdSBbwE^W_XY|`r*t<;Nr!ZU2uO%@4c#R$ba#W&NF$+iNOyO`&>h0i-FH0a=%?p? z-|z2x|5Ik>-S1xSisyOO+B;NH{uLTB5i%4M6xwTPiMLQtPk>NRFeQlakiYELM7cvj zQ9!+x5Pj#O3tn{gP@d|5KcdZHe4{0kHL5B#+m%sa#2~9{L@%yUT@n1v4>h(Tu>zCM zI20@>5$lIs(H8gu8X9^wj=la;`oxRR=lR9bLO|}D`TWQ0y36!q!R>B=PaoZlt5sAS zSIFV$M4*usePD1hq5k?OjwbYMkwzr}79&pxVCJjpDsr%0xz)rz z(n<+9{rrh4ORg@5C~6LtM&pY-{XWCSc9KCiWaTnKa0Kx&>R)$3=LOkLm+j!JAu(1j zI*`4V8|=TL;d$(a%WKeaxO#LI{q#KrdNztZmRM4s4wq`)0F}YvtnoLVyS AAKVi%C0PB_jC8Sw2*42o>>$FIYlMH9Oz{qu035cQRN2E# z6N3xZZUC%aZ-Guv>`0_pv+U8W*={d58;KbGWswN89~S~xZkRjC71*C-k)#W51HK2i z*{Sl1I$H{h!OL|urzU^3LXO*KMgEvy?O&>iPWa(?Ufo;no*S93oPEkxzyDDAD9;(G zcRf2M3EhmjR6;Say7qHyTh6&+1e#5_g)s@G8iTJeex^dk;nPBFoA3n|L}Km+1E9YK zPX>BxIq&m~@1Ya6u=)yd>Sefl Y&&IA1cdOAZISqP@>
%8E3_r#KTu(i%n qwLfEXo_|YvjDTPJCr8) cFNkDT#?UX^Q@9=&`(TtMW;s&jany~a{a88 zn!^;lQX_J87t2q=;KS-O3 qQRT_utF SinmmV;Xp-dTJuM^SNx5%&keCE6(?bkiVdmW)ZV48$Msk zc+bZ8N#=e)XRBilVuCvf*c#2KBDj8SZ;dvkl_c?7UeI}){TU*nxOQH~muGqD2SFbr zg}X5-nA;hF$!*Lt;#N54{^izdI Qr!Wl`1no}`h>i`O&@Q)s@JCk$Y99f~gZ^1|w_((`xMM2I^)K?*{% zhHE(~i81cYYHomeuvT49$BS{F6iY1c82eg@abS(n)lTScCrIhu#q2CS#-jWp*QgY< zNeb?q&%Rn#EYeHzv$t+(` Gs_ErveW% K z66&*CugL1sqSl6tbP1^~CmCT_($t8~C1`c>StJznYkeL6?>v^ZxDynhK1+E0#XFn` z>kR85fax`HRNL@L-iz435-)NKl)ug@x%frqQ 1oL)r$m#9+ZV#nyA%#@z1XWz^9Xp5@Y8Y8@P4tRhq2sD z81W>Ub5u)GjQ*YH5FBQ{EtM{Hu+}Xhh`@#H37>U0HGc;#zyB01Pv-ZN`yHo3@*w7V zq~r!h$FXwhK)bS!?%`F>zIwCQI$dK~=FJ2i1Ou+3Z>Voyx>0#&8#7n{S|3VBk5(k) zv|L~=v5XYsfq@6FIX}d=_q^3kF 3%4hTO=TKWzTh| zdeI$6x;n~*+C5!fbF9DhP0g@Pel((OctI<+ZCIOE_tjrzLQ(@#Cg`G>Z%s~NQrZ1= z3h@ZaU8&|&>;vS#ijP-|tMeMbUubhLNSlq4#sZubwozL|KRzXye438#qna-{UVe>; zJm*i_uQq0SYXv*WghZ21aek}^60(5dejrOce j0cbj< ^9^dUEv zXx&YxxXdO{?U2N64#L33M-%%P#x6mk6Fn ByEcIpgtgR|u)NI2L!P 4H*d%Km6}Z)Z%=dTQ?T6G|Nms|&m#O%pw|={GNToa_UWUVD z^D#b4`0s*=T)qYq(Z2lTSML0AUJ+lnfPQzlvdmnS+RT=;a}C3EZN(bts}sw+oPE7P z2pEX?A4OvY{~a+ADzQ1Tf7-F{il^ak*Nd4_Rbe}+C|V0{CsY0p68f 6_D)7^jp8)Hh-yqjPLY|UbggfIG^!ob~ zf70#0k=U=reZ`nt0cyPnF+=%(e$oo);r$c6DQ3p}C=4giMyK?DegfGp`mYuLMtpSt zpV%(Qq>NDoV{GWFXpSf9`3QcN`7}%)11Weou#Kr(VXoX0VKph2aigPS>tAQX$_)6} zCa>m9#msUT$+=H|b*3IMS*p7J+8pgui&Z3p+Knv#g)WrL@(dCF%HPQAKPEx0^Rb3+ zm}|Q-Re~C?GF@GC=Y1=lKw04k|4E!Ld%RkAJnH&Vyb$5Xd3se`|8aOeu)cRFK=zlp zlU{`1fqZl}8NLi-#Gzigqf}&3_y;2EYCb(=c`})6^nd&e3eHNI;?XZn$8Z5f%km~c z#-YX_#ZG5x=+fH35ybE>m%)Ny#AYirczz^~!2CZCj++s%3fP8vll*p+4oX7~7R*^9 zed-v9POm5=9grup2`)}rO {rn~#{Ow&wly0QoV>Sx_>XTkLo2}a3K_2Xc~-%&(?$62PAjR}TG1w-C#87~ zv+&kDbU#h4w1c_0H|iz7)SuKs)E6Hei07JI+lKvO$TKOFsrobGFfK6k_r-9^l%V1H zJBpL=kdwLjmaOppASjBkaJoF8wx;K6yJ~*$N{VT<$Zzh0q@5<)4*K;A);)&!f&8-q z7FrhJu7WEn|1!TEp35=7^nHBepSKMmBroV8clY{Dg5)3jRm_BfmBRp@uuEIbWBqc; zKV4O9u6*w`-00#bhOV2kLkg0Qj&L*F({g{V(<%Wy;hz?$D`s=>k>w3oZz(_g-1o4& z5|Irh>yL;&QD{8_ naR=@wtLUe#HKDhwXgYXs< z$A-^^SOWh_P9l`JkmQ{Eq{rl6vFO4;K@Sq$^#9%Cc- = 1TLHB&Su&nD1!9-2%@g1y%uIS3{;T=-o5p?ierej=5{ zz!TpxA1VFA9>*m!+yB^t3o %@@;0lo;m0{)>AJw7<4X%jt<@6 z&iO=pj bLM{e8#jX~_E2(W`5Ufj%f=~o%P9k$e^ZPf)h``p+)u}b*gw(zv@bCsjb~aN ziE$K{AN!l|?(3AYFdEnSG$e6jOb*MU1@(?DF=Nfn!G(BzhwWsf^VjL7(*(}gTg(cd ze;&j?R^R|_qJ{*v2i0|0#>N;#vRqBul`AIWv2jqEX&CP1OWpt??O!@mo&F6hAki5X z>GQo!{=hdkFEVDgz<)8mLvdN2nOpsOOi80K#cVnoi^NH(w&IZC-4JnhqfGFQL-4U_ z)#0h3@O{{P=(r}0>Q B*r^|PpkZ{7!hi65P$ymHpKumA#$go%;VRHxr2LVxGJS@A958saO#fd2 zl?$OTuO0epDmRSxvaEwG6wS%kOVjXI$FtxVc=wJrYFJ64&%{&ndw?Vm5}TF_42^d^ zJEW0jlx$(>+vnWz-?-T@R;+n7fPc_HlPMry5t7Vx1L!c8Nyo-ZX>hv~hhAo!-f5_F zNSyhZ%oPRT2*6fW3)e?+pP=bi5EMaRan7PugDmz__X8QPd|jc&(=j4Xh@(CK6aUbAT~Q0YNIuXkB^ zI7KJfYm8vO;Oo@k_h&p_8i~HQhsLBIe_kw?J2-Gj^AZ&|6|qXPC=I^n#oG)d&&20v z%auhoCN|_oHtp+*umd>62u-(bVwYh{a;$B0RHt1Fef__7lqs^MylDCLOVTO!SD228 zskD%R0e9**?#M!dc+}@#r(E7@KG|l`%IS}P_~r_3f{JTqvDO(R(yA|NE*@Rk9K~~O zNecXikixH2Y-7@XA<`rSiHV?rI1k~Fp*D}QZ@nID&J`!Wyqc~Rkf`7r(}up-$jQS| z&jrs^$6~#g&($7;RMRNgT%eVM(N!b|&yW3_=|3T)j)GH<%U|FTqg}{ZCGB%xjkx2% zXlmPq+Jf3+q%hBmmlGhhk4VZ+5gi?@J?BSiWI_J!k`awx2d14xsx?c>*afr~<8sSx z^V|)Rl~?(wJ|AS`(4Tg9IGVrokwZJw6tk`iq@m>^!4Z)%Ai;{)_46!~_QXFF)#}E! zcouVWB}CR`o_pRFP}$ktM&-$>e|MI`#D_k _|ctZ|CF`Ktd=THkCEW$l_Hh z4P;C5kFGY>^B7KL6?SF#Rm@p&=p5Th%B;GI>aUwMD&L$S2O`Z6oVcI&?Vb}_HGFJD zHfs-2Z^C#Uk)c~zXOMWgYwOjZZg^Xcbow#>?XLn3-{5g$P3Es->tZgipI%2P2M({V zgQT%XNRo-rgGNy7TZdHkcJNl=&%nfy^cAZyP&4~xASJV~X2$vzd0SQPp2 wM}S(RpKYAX6N8LowS$q_Fxz^>I(%^e4P3 ztAgl^@wy)Y=fz3S@4E9v^n?LfEDNYW-kRn>foBK=*f0efYzAeOXWKjjKWmx~OyHp) z(5^JJ_9i}46z3gniI{Q= b5|RdDHoP1n)v6R?bHV&|s=au0j*LJOo_}FkoKZ-6 zSTf`TYrI6?@^3_5Kg+e|Y^j_OApV^$t*!TMsnuaaawU(^T#zBo+sMBmE-!*)yUA zs2d;~j90Kx)bVk--A-T}!}^5>cxU-_OfC(Jf4!jQ)?xxFf<2RHCXPcX_5?QL1T05+ zvz8}G=iuOe14N!an&jZnCqZ^h4~2Mj!@HADtj;8IW+=Zx&Icw4CXgBQ+KXY!9h%Nl z&vF*C#xlZP-|{%O3Vv9MtiC-se`9p}vO`GDr62+nKJ-i&u`}T2jLg8WUHtXgb9-p_ z-Q?t3SlRN1@r4JC947evI04#0Qmp|m&2rA4h6+m-Sw#U>`yY>FL*<%}v^QM7&kcGZ zZuA|MC)iQqvt?5{`RQTsTZ|VZ;5alp@18J-EzD#$NmotYJTqPgSUoaB8FQIpj(hO- z?`sD+H?iB 8AZ`z^04X+vy*;XVd 9bQmykk27Z)jj) zT|EtO5X+FoL0o1(G1eyEf9-;>0IMmZX0x5t?Cw3Ods2h`IAdbnb+#%g3(wA){p|?9 zUC}9fKWOi%^FC@xr@OH5MGu@rt~8@s5hRTV%$wV24K~SZ+D3eO<{;kn9L5Abed|I8 z%-1v>THO_J%s9&4wUvp~^TOacw-+9fbNQ@F=II>OON3u&8X}M4G~+hZW81sB+UA-o zwDkZQJ}+?(WjEta1nlb?X!X9RARWtOf~z+k64N>v Jd^;oNhi_ @x9wl~~e|5h6JKnvEFaZ1HvsSwa3Vz0wil+2gWhOn(~@*gttxa=x~%mT62h*hU;H zQ(Mm`7KKXFwX3*`oAt0L_F>}GURpZ#OjcfGaIlPtjlm^BNj#LZQ%E{!egMXrtx?`+ zIDCj>?3S)ZR!(4?2B>z^xRv}fH!6x~XCA>d_>m};fU^FE) 6yOKFyG28`w=J6Y;Ae|l%^?kn z=x}P_^kUF!-E&sw)QrIAA$9ZHgH0v9#h}pQMh!Eo;$uau@Cb4>@C!%$3WA?8eIgFo zI*u_s#7ow`;eKp8n57NiYR{%87ZynTb;S@Qf#tC8y4d#TjH3Q@1@hW~d0yhVe7gYW zP1Z^K=Jp;NT6}W-I)o1?+!bHKi{8EAv{XWhs;ASQb;kX&g{GwYS^TW7 )Pdjtx_M zT!v^FN6$?-SUmE>6F)4o9DVC Dz1UycX4L3-kqhbY{T z7irMjF;NAM#rO{zI6j>F8ZMW*QIj#oBT*_#n7X;pPSyT!w>D__|95K6AhTS+m_IOk zHX9z#Yb41NAj5XaH^#C+_2aN|qqgin)OoUA@-;mNakUmGGwQnBA <#QLhgtZN(|Ag(Qv%mq_BNG?i5NLejdIbULHZArhI_4(7dY6tRU%n*s!vk1B#(VS z{af8Yh0}FmG>K=t|Cy4v|3=WbeI~)}0oDc6JMO+VT~(tf`I2gHmy$vjh0lT#w{W(& z)FY6EONMV3U7lA-+FGWGCL8p0>Q>mq?)ysWGv Dd4L%Nwtpm=1bKqbq z;-A8ki2hSR83)NT_y$wafd$1*Kq56DOC)PMdD)m9B)D!`#)$eTYe@VL80%6KS#d&; zG1HkGWq{InPlAKYLZilj#)Jj%W`f~c?w_6K>|p6&o8_1(caL#(5zB$v7`xO@%%mr& zKtK3Rf(ui8M7<&V4T>*dg~!X#{>-y9;;Uc&Ny}nE;w6U1(jPT5)RXD!P?XvW0~9^s zt;ZUM1N6BonGB`Y&wtJWg!Z!+ysgFoJ0gYD-XUJ7cq)zS2In@Y+4I-Mt(0qx$>=MT z3rXALn?>Lrb3$ 1B)C4*Tql>c8$|*u 3qG!8iCNx#dmu0ZdcyM}AYB=yYK|_>sO7 z!m2SKvQmkVV UIfu3|6Rl2q8DA%rMCc>1k^y^Ul~y`a|JdR zu3=%H<8qbiPv*6|bqhDMmpvNnH(@yRNBZ%Jgb;1dSt7SmCRW5ugC1ngPjes%1BX9` z8+`q+A@sdZFlMp}^FLU*bE*^;EjyFX9yjF%?K5dZnzmgNGqNWgkKnJWvuuh8XVV zYu);ZVE>Vm=?);Wf0r9PPixZ${&8C=3Q;v_%8h4AO@SCx(b}!pg@@;i?{t`84Br(r z&Z_^isv-}Zt^g?hOYqLtROXma(9L%ED5s^bQ9L?uyL|<3-E;{eEpC}><}lUW{v|D* zP(#xz8cyQ9u<}L}U)GGWB;2wmXzI^mGSRd0ElccKkw_V<%t*^DzztC0chCCNPl#lB zyV7KDs$clLpLEJ@@;Sw83wM$^gXy}LN1nw zbk^isbRJ8AxK1MLG0W{A=vP=cArPkkbSW!mb4~pGayf{fi1AG*J}TOj(h@lfLR(`74Mf;(a%p%X~DVlB~PSNAuH+V7*9L?=n!p7H<7pfef0Ay zqZv*f1)JdS!S8h^DC{G^mKQxAJe%x?9v@k^13nvki{By*|0yCt_E=Wi8jkRPN%tnC zUmK|xilTOlM)8{dmPoHL!GpWa-|=6gqKUz2QG>1zHT QR}|Y(rV(kbt{0tR9zild7&Ohf4db ziEYDY?!IcjTmsUpIcjf{FMa&K`U8kjX)RC fN+N5z@UdPxoTS=hMC;YjsTXS6hZ>w8E|6qGUp_O_cAUj=PJB;!5A478{Elrk86B zq29(3m={5ocGADHAE{pJ7Ly&oaIxq?W*y*{rW_eXz;`Il`Sk#OVJUjFO%JdfIjBMd z*AFBJ?3 ZE?;;J_rKWV)0_WPT5Jzh*YQsreMDWG%L{Yc{{?=^KNbsg0+`gudvrCGkBmX z+o@I;SzxpFF#sZ$wnyqp_|%UCLBTo*1{0BvB85S7l$c1Nye(RB?$jf={N?QX@4XDw z+~L#DlEdluhYj3HRcehk%vn$RpOjlT^S=1XPe`i_U8nbSy41e)>?Pic+bPRa?p+4> zDCf@F+0SL=Bd(3^6=)Y~ 5y$kk|K6;XU;3 zOQm* 14mN4wZz)Kdv6RJRjvx&cjv)`*cjKJ?A+5(=J6m6M-=@cMQW4pXi z`d}}bODmc@rCzcn;ZXQ-^XOM%>dG?ry%QTd)m~Sl4CG)t;yJN^Wq%GX|N5=OJ>m z+ZTkJ<-d@FS06zdrJLqyXX{RfHw^OMQ&5{ZK?O?nN7(q!*5qZ{)WfTpVsx6yGMm~K zbKd0lB0HQ4n6!Goe*xpA2{qLVUcN9cZuA7=dd`==k}%OrTkdZ3rYQj>+o!#TjMNYm zJ0o_g86Hqy`9mhTDj|b3d|LwlDXTa-&?pG}m~_NTc^Xcqp7X@|zJM7^RT7Ju_iZh= zHd)8;D5W6Yn$9YY!}YU0|MK|~1Uzz^(40fBptQub%mNM=OVe%x$J_0;;X*As?kTO{ z14DU1_eEdvhFQ>@vG5YP$J0KlFYl{amOg!h>d?W<* gws4=#nO!B5Me z`_W^bloE`f%Wevf`i=g|{cM9LjF B*kZ1MLh9xDFbOlM zLCWSnYu*`vj+ysz*7Z*x1@0r$2BDdsZAeGRcTadDK#=lBzr{*6 WwXA&7K?t2xR6IrGx=ar^>9{YGsv{LU8=AmPG*h zkuGbyFdB|8-s)%q*2)!P_`WN@SaQb>wG%^9BQ?lYhI0Myqb H?4cS`$sN?jP`F;KrWZm<4f%j_W3X^>Wa=w>bOD*~Iej@lTI|Sf@DjZ< z2A6lHS5GW@aZk}(OD|$RC2U6grNL;L!h1nn<)}m<&0y;ZS%Bf!VRaxgZ9t0qVkJEC zUAH_S;>>yAeb=xX`NtQ@zYrLxS>yqZKbgpU3dOGBGiZ9G_mgwb?6?cPCDjf{UE&h# z&*YpgEbuw;nSYv&AnFna%A#exc%iJ=)#`Z?zX9&B$wQRf)_)&uQAjKxu~@ku8h8qt z#C`2u+!+EKu%j1;-<}g>b9)FjyB2ot{gAP;mMG3@G-hlD)|1TGuf$ZWp^5qAH`(K@ ze_MbAx^gE;e|SIiun9E?;(>Y7XdEI~iQ2KO5$fI9&*>7KmVI)ojx!D4!++5;z1O`I zNb4`#<9cONj^$v9(bKHmlA)~XM%?z*e=M&a2J;rrP;7Kd`>_0Dj^ibqy6`;d-uzid z!q<^KwnIKR2H4`(3e2f21|{T+K82?a%-f-v?_=4 *W?dQZ%6sOnQtbY=va$f3}Emoga!m{=~R$}b1UkQ^(5^CAB!_Qz_zmBy2y;Uqyj$hUXK)6f^`KpIRBq8dw#=v<_ zOf{v1(7+g+6?Ga91YecfJ#}|`RZi{(^9!8(#bqTWTe UC#v5?u#?(bPSNC& zkOh4?_4XA@)bNMt^VP5AD`Q}PR0evZeQD%>GMvzx?mBHMR%+EY7_fEnAI2x*+s( z0IF*V>Y*0uSU2H{EeY{o|8Bc-?uw{QU46YQKJ(boWV{}0$3QTJ|0!T_m&s0QFe0b+ zJOO$5R4WHUz*I}eijYqhpXJAgsT~34(FJ7gu()o*5%_hwFzl`8>1gOPE*0_0$>RAv z(a%v}nRTYJYU}Ok-YUokESFiA4WuNz&z;$eD&WJ70Tq(3Iqf||XlR@Z1*H{CnxJY= z_(Ftj{Yg1ij;wdTi3fBdz5;L+{%M|Q0@~%I7#4YL$Cv(gQI1j;Q|fUKb^;4nC?X|Q z!Vimrg!IejqC>pi>cSvi&aTC>_>dR${&zJ ?N+Xq1)68=i_Jr7uKXBiP3quYfs7mUC9)K)QOfjGK_&*zAp_zfx$eqXLG0!s^h zyGS~0lGa!=3Gn CvE9>Nv$aio2?Ax@UWzYqs4BWR)*?b+?5?T1pxobrMr5%gtj?GQm zw$*p+Sh`J7$os+B5@NvpdUo5DF $L?`yYzPN6%2~I|X4)Ey`2CXBN=^<^K#Jp~4^7#dOL&(i(Gph1wnjV_nRnZ- zT;8Mye0a&V#+*MM*rTrc7F1NF=xOd#1dDYu($<7QM9H*?gu~22xxQS7r3RJ~srkb3 zrMUJ3V;p15U7K3%VuR4zwDr}qOX}QP6+f^CoyV&ZKjjof{_|~#^m!&d3ee`PeEEKw zNorrL(j)Z(@${49W}6tj<=~2m{PuN=aY%dFtMO;+`$xK>P!>_uQV~zQ`VOsqNakN5 zxGbKW3NM`b_G)cxm;9-&AYRlqOS@1P8Bxsu9ly(S?YH|eS8ezqCmt|?yDAbbi%(M= zlvnYq2rDiI?9Jcn#1TxPZbs)(+g~ZvE>Xh>>A2;*3lLkWXNs9}!%%voNmZf1Xmr;^ zn*Qn#x?ZB-!a68?#VHj)i*10x-r1xZsz-Yl~kO_SFjSy{Uyz$oDOIQ0Uc1fO`{x zvo}HOhryZ68OV{RPI2k==nS8a*zyx^R+b~zV+g$ApUHPq*Qq$ p{g(?^GruK;tJ~oc<-Ac$!2fdS-n%E?8E;H3a(W0I zSGyJwP?JKjUk@2BT0F+|s97A0=#F_6+`%jwbQMZ#m$Rg27wtkgR&B6yVfX@T$qVTj z%reBSjMp5pfs! `dNZ!gU?;pW;NGX%q494wi?CuRoHdR;v@!=wk z^(dX}VAIs>Mda4T7wigSFcd>36UYsI6-fwt@5O_RTTV@Oy}8AGshRPr4*kgrCY%u` zX{bA?&I-{Dugnrl1}>PawnQ@CrV@@!j`9hPO-PC}iL)hGVlzrP6L{IvviwF$M%{bz zQ=(6Z_53lN3AzQUCR(s5FHQ6wJAOul4e#K3{U?^5wf#Xu(58?} W z3(aMxeNFa-<(A()UMX`hU+Yb!>djfV^q>{45rl1DW81o*TBBqrn@fA!qA^D^__C8b zO3iwIUNF4t&HiW1=7);oQzkMUrqjM7es$UO>S%ZRNxHM6w7WMpGsdOJ_lNxzPmK-P zd_yjY$n>CKCS9qNuUMmWnc?$M{rj}7lFIP0S;Fh-BY5x9KlnB<-n80y5x<*tBY)Z; z{{j@MV`@|8upf}>zD;r5ss2tQ);CyhNOI8MwP4Kq8IEmf=Q8$Q>-~fjoi`^_Vm2ya zT0qn+rPqSe-R&?}<77FDjNr8Bya^KXuo-%y{khWd!&69>A@3jkR!~7ts_@>rYZ3*h zCoJLEi?ncj%RI0Ac4f#gQ*v;!&Oc4pQ#p&+9p>enPTzs} &5Jt@iO30pM140Zr1rLEdM=_!R8J *jq|Y5;Ws^l-;5IE`$H@eqe}9j|-dtbJXyZX&zaKO1kd@$> z?y$f#A<(iudv`n>BEHPcm?Dut{B#B4r)4NIo|EuGrkv6bcK9XecK)wcQjbE(BED(~ z`2xd*Enc{pX_jHzVWzGan6$Uqu;cg&ugxJ`(4CKI9bJE|?`u0~Y0;^4#{=I9wFGs} z0ToG|UtNvNwv{vjzx8VOYiltF_C9-MKXXa^?mG|R?t(C5TzvOO<5za2Vq`tAc4w+f zXI>~t4!$CuZZqHE_}MC_M$eagy C871mpiFh8df}7?j>Q(*5aQXLBQI0Ob+=_SKFv;?%V&_cgvIU$4_4MEG z`Dit4QFr4iKAa)lJqHiCJtmFqftOns1;0KmY>dDX&hT%{CH~Y*1{a;Ug*0QTTBc0# zeZ8r6x(EFko)=QhD-pL-OhntSQhoYNiU)&?h|9HP(fza#ECCrPQwW&mA}m4Kf>cYL zHba|XPdm?b0vcgn=*voWnkv^P<`~UV@ji8S2{oN*ivyUSYXh(lN+_FLU(py_^}D%* zK{gJZIIb3`_kz}hi3I#yMCV@luJS}YH;`Pi58GaP_lo<2t!asojO(Ir+r;x~Haqlr zq{UY~6{=th^jT!%t?_tItpz@I7DkYY^u3q|vuJ41vfqVc&_r9t3eA&G_zI$Z4auH0 z;_XS|wGZhWpQ0Y1RO<1DW%IX425ui%iNLVC4r-_#%{tQn6_vrkhwq2X6D94NR~jJ8 z#h8RE>i&^OBpKHWTd>@c)SXz35X*0Ho=yg4WXUkUc!3Z@=pJ#bnnA=L7PQC{QL)~g zZB*N (f(VAi0g>Ysv4Tq$~Go!!m)8 zLx~wT$FspOkHk?U+`!yk-egkg70_)TsP&_3CzpPS}{Aq<`~fNK03XjdJC^(gvJ8)wF!} zIWN^`Pu2r8FND{|q?F;_u)*REEBv?lpPYL`;hx`Lf W7`Hl0X zcuSoc#a)r8K4BMQN0~m5Q>wX%40Dc(hHf19pJy^Ry=q*Kck0bphMbh%nfb@c2Im;# z;#P%X9Gw>UBJ#$GC{aTD-l{4wB7Oy4i1EgAU`=1Nxvvk4ZPa}+xei-A>^iP&eIcRy zv*8K_C-<}$2^i&Kx&B(t9548468yD#%$@CfWbzdUM;x8Um{W%UrvNK*+gIE6PudAA zdRsW@X6$b4K^G-Y6yot>X%h^zGlptyzS|bR_1Rq7A^Zk=U|4T33+Iqs7AJ$e%4^cV zliBwnWAt#B0u`w)>Ye+`+SwjTZpza@m%9Pw)?UxO1w*9iDb3Jy$nzT_zd%gpD2f0E zkk|{-o3l089hsh`GrtFzVzk(6vDN4jNMWc4%i1%%D^P(~+J2Dq5cRlBbnoyU!HPpP zDVu1J9dwF~mzvS}x++-AftO~Y_^p!`!$0jAjt2a%V=P01&S{fBwxCe8!VuxDM)@#v zIko)F_>u@d*wgp&VH+u408K&OrVHFgd3CR3^5H{UwUW0SDxr@QZhS}`E{e(-JZ#m= zZ@9|nBk2xhj$(p5Uq59wRFhLa$urO!4ljV4U6|9K&RDejvMJ)>ux$562|jvSoQ=Dd z=}WwQfOaA5gSL;5XR~;&e1Q;?z)flUbe`5&;j$Nvv1(CKpuTs6xYfvI`9+F+ZQ5=P z>*giB%R~e0hP{%s90F&e8dbr7=E8W$xk6Ez0k+hF+`$yArzz^I{H=J!aZ&%BoKwt6 zOX34_s8vJu+Q~!zV@m(APPL#AYD+fDUgS@qlcHM>%y=YUe5=t+R oV(%ObxLx_5U6U2xoexzZ)jRhTULE{X zJ0V%8LK2m`2d(?}h@^LL7mK| RBp>#oLy%CS|R7aL+A1lm}6d+4H!DbZyj`U z>C@=V7Q9B%-L{7JZ0GZII}*{Mk^V;>eRl%b52)pl7!Kcl$`rn9OaM-h;AY>cY^J!@ zAm1{U`yTAN%NPD#1-)qddiouq3r==zEx`D(eh4`?B4y7 !j=?A774AialCe zb|_v(SF!WYDr6xl4Fmcbi+w!F$i4S|WnPg_@> 1{!sN!C>G)s;MVQ!e$IYJUUY)lrBI)1NlXR;L@$uX71 zXh5?lBcVmr00%YjhVkhAZRsj+Aqrl`P?G_z)pKlchl0pqX<4oq;*E_(L@6+?y?v%; zWlD!qG1_fpXIi7}7`u*KVx~>!zqe7+dUu{J$s1mVsk?9pf{;e8-^JeEXK8{fMT~|~ z>OK5>!s-dGdsqd)d{0wta-Ya>O`?ZNOHV=rsd^-As8+8}sI#56mQ%ZKz1hHmKf~$z zS>`2iL!Ye#B{y%S1)2@ZEh0Hf{RQ~a(XZ`bf%vL<8ul&$o^BVxaK5tv5nM%BZf# _HGom36b{3X8QF^0H-s-1&mHFtH4{Th!A zjgdD!aRxh @uu1%@;nKqw^(h)0mg2=gwS?-PPuSz$ zafL6vfKoTitY+w>TL86Ez0rwB_f8Wc-s<*k)8)1?H)^|jOJLc@@!`e;Tv>#M1)W}< z<&QN1hnIA*hM1bGyewdL5`?!5RDeSnPF`;8(*%;XA&|Dd9_4$vjc&};Q+LCS55nRn zdmX9gKWmDJ?*a@ a(CZpI|k7vadj0gp)&?hAO5E`IX6qYPYyTcB8v5#8*iWs#>b+|vD- z(FHbkycZ%LH(_YglQN+SY&?>aj(YeB`)NDIJkc_DA=>xdEX#gr>f}PL2Q!H>=yGq1 z4+&u#9?t|vM#u;u$x;e*wi^=adUN#-j)de<%50s2#F`pU1Xt=1cL1J0%k??1#a1M2 z$JAG`4BG*zvjmZJgRFYg7;Ja83-))P7caN#Cet2qO^O1QH$LK12yM^kAo!C$F8{3N zK5tN@(ScEmc=`jDdt*#jlc%q8Ol<@QI6%cxCYd0?BbvL01BogmMj(4>y1Ga0v#91< zLZEJ#fA%n9Q5s?R*nXFPT2beGl0yZxJm>Ax 9fR-4zdG1m8r0 z`-&^onj>@&l4 #v A~IGD=vrwKkub6rKIl>=y349=L@oV%DugkV<_qh@^z zXNq_xZ8rV9FBiqu(Yn>Z5 V+3l1VXCcdHJ^FqAPU*4^TT`a7N+* zRYxAj030m)n(ZKz!U&W)R7(G6ego1?Muyn5Kks9ig9lHLlV&7>g<5ZpLClMbXS!3c zhEWQBZU?M`OAi ApnU>u5Xn}w46BY )F+$w;GXp^kC+bI$t#MXcU1WZ%ZU*Tdc%&2ia$w}`aelwUXIpHywTsu zPK~K+5W^=8cN}|2#s^ExXBYTF-?oT#_+ztKuOcnT#)zuS;nvfRNvk50%i5bqh4x5M z8Ou@Nk;!*_%@Jp-n|pq?--HlbadNfNGj*gjORNkG5T9Ws(CS(04%YcbHLea}gMF?8 zK}SOXsj`oC$mjYjRlF_bdtCd6pRB7Hs^*OZK%ttcgkYl*Ce~vRt#sNMJ>Fqcs02?| zz*ls(vBD959kTsT&N-=L?$1VUxwmUR1Bdbf+dIUNw27&ptwRwWB^lO>Z6tXMIf!sC zJj4-K{X`rQU1SwK2hq;&sUb7HtJ7Za-0 *0cdLOtwKqj#TX-4$}4`A*k zOgDc5EgUWAzBcrWsZq~+ERTipCxzanogp;|Yqo($VLDsiUgtkLbrl4PkJcw3;Lyj` zmY+MIl6tc4y>#~TW;eY;O9@!X3_5azs^Vk%5H<8lag tx@G>c-{=~3UoC4;kDWg 2%lSr#byth#OzQ~iyX%PlU2?0m*x>tu2=n+ZWVUMN!(|p3qGpds@!R#3^ADzh^ zvwdHmy#yLeo4_{=0{LbRLdQ;pB?cbr#1rmd@momzD8oxy&%cN1=t7_2BdlM_=w9wC zTS6X|_C95Y<#v)B*JEVMUS!wCB1WJ-l>>X>3q9xF4%B8AH+*EcvC4?_sek6Xfs-rr zfHME;O>6h^dL}mi^BW}=?(Lz*m*M-5njrh1{g@Li3R=*nb9GTPL|OVxWP&_4`3&-K z1^w%UKO}Hu#Y~?cgat8u>feMV4nkNy(`caoEX{u}=L>_?+XBdcms3 4``E^eU)n3cVfhq!g({FXB_cf{t7)%Q`LpCk=x2f%Q;rg1cVmC96o%jC zs|Xr>mx#`B6WFc0x`-$TiHz|Q?2Y+<3N24@T*$yipU0eLEL;@!A|&&f9^uNR;rXet z!`qlKC>TdL_Llc9j)-e;9rgnC&wQL}aq`6iHI1J-9q6IhRC8qEzqh^mYfuUm=w|V4 z%^>orNhJH5r1t{xKRsa{2lA4gpCsTb?8fmA5-{$S9(EuqOuauPQUoINd2fMFQ+oKd zrFit _`74_3#ojjp(hLaL}w*=|0PABiw7-~}eh z$}2;j>ZS6;KgX#|_#ZFAc@m%v^*_d=cGzO=pC+63J+;h7Wj? )J=r9S9yEL4t<_4eqYNf_rec#v6AD9y|p1kf6cc-L-=^?%uf5K%aiUy|c65 zeSY7mI(6$--9K*CDryyLvF2pXHRl-5c%Cs9E>UY+*BA6RyUj&xZSyMV7=|l>n(iT@ zLi?>HrFMaKanG0GbJ^vqgn#N&__A8#zhDtSi~Wz(6$T{zwoX$?{iu6W!dGr&pA>i| zp5zf*he=RT?f)SVXWF-2vMPvcUocWj)JIMdkgGyYagp+}wvV|pH^OGT0H!1gJUzvQ zW2STYO$zf3M=;y1u&{kQ)*9><1^varNckzk{}b+#I0_qaiztyt1L>c-rI}l3B0gM~ zi*AU=v-%E}H<0B83@xDzj-&mIAe}^uIgI^8_XY<72@&zG62=(Os>IC#h*0PN^0h5c zo59E^#8F)!$1+P+8$_vsDDl|vooc^gMqVkC>y$Y5=%qkG#lJ#6qT_h*RCo6yOdmrV z1V1^%e-zsR!;9E>caZPSJ?QqBJ<1;^8iQE{h$&aN>r4u;OaCGGs<(;MMz|Du>A9XE z9>xcrJ|MWbfW4|r-T7~bz`9GOLw0_p+53Yg$HVH7xuvQ^XglL4Y&^k0*QsqPGK9xD zQ2%Ior|fu8w<}A9qMxE>&QQ9)Agbr9r2B;*Io *k!RuBZ|3l)=cmN_!Z#Y? zUfbGfCH-$;O!X?+KZh?4pOG4w@ZnJgSfF104=9!zdEjMN#^5vZ&cXI~^&&+$9{nbF z 2ncK`nG_Hb&B#zi{hdA8?&Uk;BJIVJQ-#Qfy zI8YC^3yf@`T++L>2 ?1kLrM3W8CF*;xQ^fe zW9PCIt}i>xWcRo*jIP+5et~;_Q5o=;!0a9Gyc8qh+u#M0L?hZMcQz2F^o!b;cQ`ED zIG^-i@DB)C=M00_cBki1uIs`~)}n+OvTj*3M+D(m?c$1+4?L(`bv&yD9YSw`?hQf; zBIzHVyV$bhc>8}`Dre#10Edro#Fcgp(QKTK<~F0+w!gw=2dSy|uXf|cftz`_m%fDi z+!7Qk#o=#ndyagBZE8KeuleIgoRU8WAU8AciByYlP6f;3IL*IGDB+p>r-Tw1jBMm< zM$5>%8Rm+azfl60AqE*;XM+&pgEBpIXY|7)12bE;`?W+w&`jscJB3Pb!05}S$eoJq zBj3(NXs?2Q*`mp(R44-d_K_7^wU@guefDp^Lt*Dg8&(y%(IYHg%_v#H{ ~4V&H&5WjYk7xmLI7a|@cJF2E|V&jG6g$(mvZ&1u+$;pG6%qi||pYFFaAj01D^ z4kLLAm^vJidw2P6{&1?&ck96AO9E&rV7ZCT$jX-E?w&p#W#Bi%g_ljVid<-2EM(O| zo(3C$hV`^&p>OB%RNz6`mS{d&fpv*$>{DNf?VhBUkf`Zv*ncVm;!Q92pMoIy*HSpr zf4q2(U?8fZqW)Z&jzY3%A~#--U%DJ!`j4U~3Crmey;5r7tESz7ffF{;$E}A)=ks_} zDXExj4s`7g@pF96W6%tu?Q~}g4b3eD4IlM@EnghMx{jWy icqHDX?*%n-YD;Aa$t0hO$(WX5j0l7}a zUde;ALha<>s?^G6wvPtq;|()QtjI9O7;Wq3#<&QkF?;?A9Cq2umm9iJphO!J0>$h9 zIUIOU6L`VeLLwoVxZOlEZkR6=nRnN52Y)toI#>=gP^vkk2}G@u6$}<~d{N*qA+k57 z%P$kt6vLX@*~mBL!?XK3V7M;FWePB0x<-g^Cz72>Pzm;Ni{peiI GfkQKv8C6<%oS}5BpvMTk% zEkF8##?SIYWKDh(L?FYq>tM$fsSwaUS%3KQ+c?-_ubx%*1q3g-PyW$@Ds=-v`^J^q zwU5zwpEBLEdIvy=kyUx1A`i1d5>T)i %h^XxL`&aSTJb5->UUw($tcZxlig
O8XUsvHLUdTE=z z*OzZ`sP(8j*S>XQe*==+|8vsdKb6(L_H<&Uzu&Dfri0n7%ghXZi1P3xqP>*Nc5d|K zOL+KBM%e1W$})W^kxkSeVt34HHj?ZKS}gLzdyjCZWNfR9*kadd$^PYW)F&`dn0jU% zGg_wzJ?65B)#6b!O>jTv%ZuUgYh(_OQ#w6#03-qfd1d~`Y~IOsJ8yE=`*T~Hv%aLQ zr^3f#cc&ksEE_XKYW)u6iw~uKo~f_oa|wLkJ|jR*=f9YLAz$Aw^qMlhBxM6aC={-+ zLTfrPZ?X4`L9&9Q{jj(39gv3QNU1vvk3yX1Iq8M4NN*ZvP@_ggcVMjrhb{et?Y_$+ zw9o(Kr+K`~Htx17+O~8?Ur9{w1|4sGYJb^thV2=WvB#Uh_?~q?BeiCdYVPQ-#z-N# zhDjXv(;qUpEi>NdJ#$MMx!B6y8l9uuJ2Cl?ktn|&TW;P}OzuEIFjZf4Y4?b>eWJy( zY=GZ0={G}I{iU(Wl{jDnJKls1T-0FsIP+CQUzTS$T&e q?qn4{j+mr+jz *FhbaBFcUuobTuVp0i&k*jXQ+Hlvh-@_PSTgugCa zr@}8lOT_c|{&nI1{}=ziHdY-%FCg+78gCmLu?>!;BPB(jO8oQq`V^s_2Yg$zHnC4< z<|h=jf8H($q< 1j%lm_<_rV+wKTL(A6K!mYuI3p@w~m?EBYwBITK4=#6P_jWQ*_Lp zT%l!P|fyjo^t>8R)@%+ytK!D=wlry aa12lMawdu6i*r|`|aZi zGFt?#OIc_01-tsEK}NJL#vV7bvTZ#36i;6}b|IIwYK7~0Q)&RP);OHm4GK6IMRnpI zx|GW>ZI!Ie-R1Yj!4DTt5^3zZ$983{>%%4LtfWJ;36OPv_WFkVgWh;ZG#8PAB6{4h zor}g<)UAd7h<%FNSFo~HPHk72J{R@F`x!mdoIrcut#zXBZ3{yBDy+KN3yK%*C1rJy zhr|&Na+bg*6I W+~>I9+Oc3e~IRz@kAI(lpvk%Go*_w0Anwg zX9Y7Y;nV9c)mOfxlRu}o&9h!`cW}}q!9})9Hszy#&~ 3WPB>mf%N|zT_a(_I zta+0hbwuvaxD#*2mv7|Ho|f@3OvTSoEHSRQ5;Q?<&F_>=Dgmw-%T;%jbhj62<0#nh zq#>&rLm3?}*04x&6RMsbOZ;Y90p3bV>l_QH>A=*3Y<^rwIJzMZZ>J<+ Eo~C z4?S$R@`jY11$jaoMd!C>Xbj0@RfH%1sUz6^PJPag4d}10`gCRx*@@gc^TrE1ZoZ9$ z4o|->v3*6lO362LLDKMxj!?kqfbP?%<)EX}!3>>cvhG{)hD;}_%dJqeY=(Cg-Dx#P z9G|XZB#)KDf@d&U@3}KSejQDd6II|scD6WtUR6fcVdGDjdgvAZ&2|i%B%fZQ{5Io+ zSO)yyhmbB$@~q5%O<+|&qk1Z)9w~1cde3+1xG2T*P1O?1s{7ip%$dsX(0d)fNV8~1 zBcZ7rcclW&u{ABu+X-bk$Jj`=+ZgsT $XMYFs7Ww%fU<=|Sws&;=t ki(YI2sa%9O%XzDQEiqT&arVgDM)GWosV2j}!3c2fdj4e?RTawUg zm!_z#6|oOcIE86%1XQ2tH&od17oojBL5-&VZZ0qpuc^{{AP9Mw0--RJ?x=nk)(bYy z&=A5uWGi%9-j1d!H7Y2UxcK24JUeaN+=k0V0AuDDJ8O^nHIpAv7vBV=2kNh>C=jkI zIkHj(Ck|sfzB5NY&IW;rDs(UTxstL++H=$z(HPk$>-pnTrVXF3RmNGDBYl7BH#YaG z(c{`u{MNZv_B1LJ!Ao;}hiuJyG*jJ<1CzE^h73*~t@Q3aDtchr#;lw=Ndn@~1NDQ4 z`G2@R)9_T0VC#229=g?68@$iOuHDYVY4k-I4|gt{^T({4b^atP#Kg?UXdz uL{U?9U>U!Mqp%3GlRzeumNo^mC@XI zkXzb$D?Faa5s+`sE69zaBkCM!Iv1U6admup?7HSPlpbUGO4Vs^j)xW*<3w#l@IhCh zpY!o8flgLe`)ImHuZYf>5#Sp2)O49 cb385CmJ1fmX#AzXS!}+U4!n=#`c2hFsont1q}=GES>8byyy1&KnizY@0!JOV>9y z`yI$HITOXIfxKvVP76Qms%gx{-tHI*rLXw2(L{|VJDF&hX3z=_iq9fDTPu*4B-MPK z-zGHyYDH*Mf$@oOksjRp12Z*9h}SQtI`2C!#?>;?_M-e3Vr7;&2qpzE3(q9ehI+dq zYE)48u0#EoNvO;HM}}>K(pCv3caDuT^%f$TJ`|6@XXmumOQ`*7Qdm=#403c}lgFv} z+khWgKRGl43{g?Ipx9XWb!5RJx3_(AAEWf&rQ@@#CxtrI4!u{m;kdjT(T;nFSR7E4 zB)>rdG%u`j?V8`m%)WK3;NZkw+l&HKuJC4^y~mL`Xb=3f@6Gg7AY_r7;l_Dr5^P5* z)(a~Al#VZ!AwHg$(mNV#MXvOw;1K;WO$#$@ F&RGx6<0*@+TiylTrNNltfE6H9xkZ7dZip;RPbRNsY;4Wr4&GIT5;9*4Zb&M zGi-g*_e-f5k_7GD`zf deU`0g7=X2#jsX{m^YISvnv%BkbENa0^;wyt=6yS)^a>Z6=+%& zY}lDW)i-B&rjtk+&+KC!n-x4>MN$^uK3{Kj*F|;v*o`Yuq9v*RapN+dE{-HZ&{R{e zqS`}nR gKgHvegWLuxx=UrYR@@$==IyOY(IG=^-BvN z_^?w{U!KsZSj~J#i@H)1uq(R<_JwgN&Q7p4nXOhCG20i#7TY_!LV6n&HU>TkML^5Z zi$=341x%=?n?`$8W`h~LS7;4jwDw_RUnUzc_Zn~C%&$jfM#wdC%!}B29CTvICwdpx zynzu3I9C*Nd60O5+UIIkC)PY)T0ln3UkcVI`y%g9wwsu`PzxMl(2uT!wVh!OE6WL* z!sjB{OkTAduvJ3zax8Hjq#IjoVPm7(@7vorOIC^fKpI9$88e(8U#|ein#BiI36#Iw zwATprjLMwwN;~0#CRi>EU}sKMuAlg?dYvi|eRQ951L#k=GRO5FkXOdVPdJNE1a?RT z*ma|+Z99r{q4PPp5~k2;(jQNcCm+cK(|`2DX3CgV!#;0(6_<(Z-QM(~$J7l8$|L8l zzoM#EWO9nC%Z<_&i@KEk;hq(XNDL~|7R(Z&+qibl@qM{<*De;afpiL9_nR@R%N*V6 zWQp7R_BHaJ>^QvjgilSo)mP_oiWukRzR8)5)YM65kI;u8Qg6z;Lh@5Gc&YRq%tByL z#!i@{s}?|YSl8IsiKVSN(6K$i>hS@+$}p{G>qU9ok$LnN7tH2kO;xLTEL#R0bRK$U z+8X~i&7AP^(xCMPqu1t6dx2!T1EnirCmmx{C^x3B(H4F-s;9Q#l0@2R9!S)(Uw;vL z_dUz-PDfZXf)Ciryqzsg(>@bCnk6cR$&+yMJ%OC)(=5_CH;O8(Ib1Fi;+VdO2?K7H zrqugLCXxN#tiL88+;$$Vi|v!I45n$5SL}S+64e|sT}o_DwZ2$$g8k4kjFLR{jk(#b zRk^yNHR_9_7{)#x8j{QV{fs~HM#sIfyikEu{zqE*3>aJ2`m?2nw-!D=tOWh8G)pTO zriyr1EB0N$F>6xX+GP%Z5n1W vB` z7I8xX5*66EtGX%x!l03xFt@mM`1U;O6+qSVzwZoKc>B6@j3#l8yr8 )?aA__~S!t4SZvTN=0%GJGyUK3@Xb&h2$s>b$hR`XcFcwW)BZDaDppz%Rc6@ zyEeLLzYKu-_$Otn*f-uZ`=L;$V=29#d_5FaNl?;w3;03CAX&A%6wM4fFe)e)3yVIt zbg<+!oz=Ss2nn#5`!0QOY2*XXeOOE6t46biKA&N0uQct^(jb@Fv?o1{v9@bCK#5aV z{@p=|RgI@qU~P2c`fu7d`f}#`PJ2y^2=!1dur_P6O<-o8*GrNJ+d?i+f#aKU6L1A6 zyy%_=gXe>Z-NxR1ia}bZllL{e Pt!nVbkaD_|`T#mwk;mfUc-?WpcLuL{N7WO-+^xz}-GtLHAyU zE5LV@`&lZ_XDP15wX-Kl&r&)cF+wozTs&O8Vxy0}D%vE;>oRLEhBrSd(07KJ6vm^E zjeU0L3L(N3ynXYgJ+ehtveMRwCgw^?el|mkb1w41__o@%E!s4dpDK|aYg^~w#y)_2 z5__M`Dsk`gP)#Wt=OyMj8F{wr 0>?8erl(#Vk>zmIM9sc z8W1dXpW0^FP&HH&w5QYAPNv?e;E1@hfC^;h#YdN^L*B$v{~VY@wTfZ99gKW{2fErS zOG>jN^vk&XY3S8Y2i^$G$FsHbzA!G6%X^zNJ=QZm^oedXTvBBFxWHY`sJD81D@lr- z8NYq8inCL(bcM_?Yh<39#Uz=uFS{L}oYyICMxF&q$;rkwRwoDC@duQE$D<<@$INU! zs^J)@H X?g$$20HOkV@Zar*#wm&eca}dbhi(H1^E6c$_qfbM0(m zp@h^grqXWKnNG7cEA4P{wg6UeJkeN3TPKUGiCt=X^lAE@7 {96Qw?RpukU zoWYe*7fs&RJtHc%>l5f@OFQy)_1=tyhM8Ejn;tzbY?jUY1l=#3BWLNo`*5D}{+r)+ z;JU8k5W}q~mhCLeSi*I;e;b3(Xe&70j=0F`mM4>+mezJsZIG2;+2%}Y8_JZk^tIcp zk<;QVPQ@&mY#`7#PKzsRWcvkRch--@Q4z#;x+~!l4`qkO^U_}!^nB3>+g;eBG&!4r z?ww#Sc3h>}+uF}0nYSmgf)8ajlmX;e`9vPpJzRZe-jkk{`pX=e{3w)lsr>9wQr1WY zrfu~ohxr0utP%$Y>>MSc3p=)p(RZVH=XRw>-=anmn}1_7y>?h(&EIR;tDm6p_blcU zf4NvtJR_Oi`?HiSH}(=RE%|dc!t~%R*>{u%XUWJ8`pj^azHiX)2-W3#MJEnaa`e0t z*SZ8w #-G^A`X`Pt>+`H*dWJ}B7p51Y~! zowr}{m+kq$e8rbgMJI2cj)|d259f0ZpOYK{jO-=Z%%w;N;s^d=7;9ln^}*$o)( q#*Vy6Q=>(&~bBl(d$c>|NTVIe;5bHrfY3*2_1cXzu1jJJK#OQ&+FXFvJ9F6U5$ zYN5N!ZNajKzm34^(eno1PUc4TC1G93Zs4-{@ in zlE;_xo2-&4ZmNXr0>oiC%(K84jO)qSDARLPAxgw0R86PdI>C(4{+5*b-nhsjo&@_M zd5lhblO*g1o`>_f8j=IUTxKcUT4Y0Wb(7nchavaoJ|7;IWv#pGNVy1`X1kELZX%na z$uMUcpovm;p8%68>eBHr2>(1tAH< O6 zPa*0$b!(9XWAU^X%7aMMnqiaE_%3#BF%Ul+Z53BEvc6Zt&3g|5V7ston;SC=OdQ +X&{9+@|s*(n5M2#B%4wx;}UrU8$>fq(I3yG@Pg0^P~Drb zSb>O{x-^H-{>ks!SjJF6t%j~t=k1*m&S6d^P@#w^0PevGgRN#I4TZ8WH}GhlIpmCG z*i0?z#Wl8Dwx{%-uQ>=8#gDowI)irYw4EvhbGB;XMYGOg0bok2r@VwJ@-!I}OM716 z=n8ghH}ovusXL)hKeu&q-j%bD&1_y~-#Qm}j )-ANpv?&6hqE@Wn(X^$W{r)7SQ<5%GMe z_SMOn--%NgHWEH~IaItP(k{%AZs?B`%cEI!B*NffHx+wpJWc=cD=`1dOtpY_wmwZ~ z8Rsm`-22~Nf&IHxLnMKNzRBC0_V)48N#-x3C|sbg4>M`qmr^I@YeF{5?A7#~zTQu| zGsSn=SD#z8>7(8@q2-jf_Ku0fkBe{zx*pT8k1 zK0H|_JfY^nGpuR+izSrhF$G|`9rW)LiVQ^CWDN$F$Wgi!Vhex{exmeL+6QN`dFC7+ zckh!{S@Bavti`-?N!^$J;X0nJ+)z2v@{pj%A1bkmyRI}~DA}E?Q=vAbT^Pw6#ym`M zYH%PG5|;{rsKjKWpO+7PtY9J^t&50hIsLvNBDhq%iPHSaf4^|Ybkir73nZ8+V#>qA z74kXXD)`l@F`x?TJZh<_$*V8;kqiQ%m#mszijL`Rxt(ZJrAl8~+EwqWH<_ 9$1 zbmeZs_hgU=o0W`o00ctJwzXq_e|P^{n9gIYtbx1Gd->;`$r$BByeat9fF8)D-50WM z0r4WuJ16nRuz(mC&4cuLXIMW07dFF=O%@y`OZJ)cnm3F8$^P&xw@o`2Y77-ID+}u4 z`s7m53LsUj1qVa`nT@o=fO{(z94|an9?$?3{%z6`@4{?~wQbSwGu!OypC2qFenz~! zZP?Sok|g;#jc)RAFW* zd$wm%lRW_fxL+qa!uNlY$myB#~EDMuHgi$=f zM4YxE3BR9A!$WM~j<8T8(7nTQqn;lUtLW}IS7Vvn@IeZ-t$OFkW+Xckk5q^xkXbLK zk1m#f5UEl^mK4560&E(q1^G)UZG6`%;Aqq))%L%^!Le5$mRc;q$En6ILutkh8Rm _pLmKlnnJ&RM&BJ$27di;rTi|V~8C)v&;s0 zR`KS9MAM`c^X=SSy2VHPp?zlShpfNo>EoY#Kb@TYD$?C^zVGugJaf|kDH-qdIE2>f ziwDPJG~GzBqmQA&*C3d08zI1s=f%N#)R)f^SKSX<)$RNT%^~Cd0Yb-ZHK?(@D3({_ za`F##Id?Zxi96Gy44!_PhJC&%?}9=EZh#kW??wb=?2&5E*Fudn<)I^;%s2AxitWM~ z3jNMSY%VXVi6J>k$*~w&d?D-epFhl>4>ZyEV*7{&vCy7hb$t)cqvuU!-$M&387X z@#pw5;uyeq&!5h3n#6h;H`+3H&Jl$K0$;u@!^DAXictN=0dH{w{QpDKqwg(vaZUni z^3uZa=Lp)(Za-Q _^G#@_KF3L&3TxWyhZK}| z$Go`3pxoJe%cf~|(IhdA7BYctuj;)9=Ht>7YvW2*Ww5#&JS{{JvsHoWVQ=i@wYwt8 zR1jGN{9OWI+l{ceg!i%LQA8>xK(0?om*NS}wGb5a;IGSN2JhDJDo0%d-WV7k7qZ=x zf?7!24c;g6I7ny#5KWp2qVjLc+pcA!xy-qE@dv{02nS@HOnYWuWiT%0gVv(~6ljcq z*Fxi&FT$2?)y_c})(?K@$z4Rv>tfyYb;KJb4(LZO`0ccY{L?+YxH{oe8W{8qcJ1*k zq_tF<^96vKKl}OMQ|d79C{1=>2-n2v46hgk&9X{e6vn72@_L6pt-NheG55*ps+?xj zxVjI|0s6=%yudr2dFnrxbgYAAHp}Im=;arhV?<|BnKM8NVUGH4U4!WN$p7sT$l;94 zv<;)MzX_6Zv>RZ0@XTd_F#^Y4$%GLUua}tN`1>&78a#Z&ZA2f#^y2Vz^d}b1eNNOA zu=@4-mTo4Os14|cRV80$t@;mUM(`s7j2*m$#l~O@kv9Vni#q1^?P90w6UxV0`QruG zFF1}szst||Z+MiabHy(^y*b-9L~0jF^B|}Z>)guQv(;10id`lJ%^YvA?sr m9!zb3I zOs(3IJ668mV>JA;RhAEtLDgK7cdn {ZKF`?)R>XBlAR+5N`^3%n9mWT zxtSNynTP*PHFXFvIb0((d#9< jsIyf{&ViI0}szEc{=lb`*-^Z zMer`OZzXj7D-0yDI)))#(R{w`B=PU|->Sj8Y(7L6@_QWr9GH$wg3m_oJEL2l{@uQE zKD^6A32NxL{~j0tme-v}W9h>$euIoZBUxYN;ayIoE5M`q_rSOttY)FQ(J(M1EG`O^ zQ~u9j2Q;g~GiYSr4RR$IAKJf9HP;fNll^;m)K;&M1+uyIbc8}i%EMHAAM1A&>cJ#; z);)|%(z%DkulDM37OGmp8hd{X%mUwi1^dm$zqmmI+ FgcRlay3QM;m<%v`wef%5R> zpEDBxOZ=z`%8M@gpe#97A~MjJt1D*^!h^`yZr^#XW$TAJc#lzEYDh3rrX8=w^oQvb znys3BDMauy3L7}_VCc40ZE$fqQpee^fi{TD@}jv6fsLG$Vi7P2?-*=3 T41-!9LumLH
+jZsG4;GFaT>3rO2$aL0NZ9QiU6%$Ynv)V!lBxLLzz-Y44n{hbGGo; ziCjA{k-p3!ciaFs=HSVBmk~x&1Iy_#-_ux2p2Q99xSJzmX0E#s*;16%IHRtc3xWIE zTqZY;bQRawcjoO73OW38&3VEQO(WcUe>V+a_BR#K+tRkFIOyi &?_r`26|J+FKKqn!^ U9uGw4=qp_ N+n%j7Cu7;A4;MvP3-><)V`>+=zx%WFfKDRF*mGNzSGq)rA z98y733VpWTYC0}3^(My^@mae9?Q6^GZ5(B_=*|pnf#4Dwl#_XKDU0Ui+_&lHKz@Y} zpA63V*0{b@Kp&oRr*aeO!MfZ#nt1_5WIznr;_F-I{f&lbdx^ZCq!XdX8+tp^_w(01 z465a-pwhRlhO}+Qxa(eAl-HYBE#loB38CGOOuWTM^+Yz3#aYCZWj+MVw&{x2T`vU1 zOb0FJVlFm6s2?|>b~k+2EA%J59+;<^Qs}viq*B#|ZoCBJ!LsoWxeG764HV!}q`k9# z)&Gsn9~i7B*x^xl&9p_Z=qLZ?yS8Z+g{Dd=R4mH0X1?HZHT!?2|I#s^2x6P=d^_1o zMNQgwUR %Z}aJCC9<~n?=Ru_{B4{sGRSpgy(4chj95qYm+OS1eZBAPXjH;N|evP z_s}P+I}lKDK0UtPwGM2C_!||){AF_zayk^?U!XC=4ZTq#eTHVdbtbN-oZ1Q9;c!ES zXtXLuZ_%E^CN&$wS^nQ@0j5b 2 8~~x-+v!mnomr_@PB~jt7iK<--GH1u1Yx!0+>#qe92Kyn)xPIFhL#v zQ3o_UJ)Gp9G|Nc5=;eVcWKOx5eT37e7#2>k4MG=AQC&P)v?qwO4^M;)W%5>lUdW{b zms@?wmy3)39Bk17KiFxAS9e- MRTDz%t8lu8eGMbm9oynJv$ zaF2YaGL*}Ncy6P{6hqOGT6bC{6s9So^7n@O@~L{@QuLE!7A!`Cj)~r|Mz=|v+Afl) z#qw>{wPBl&FCIdU9os%<7>ddSE)BiKc}cb<+rj*!E-l9DUWK_vFvLHd=QP5 D;ib?*g&aeh*6twdN z*=egrJ^gWvgWJ)fx xkD81dejzjXGPDKWbCG ze78#m{3Puu^1or<2UaiHoe*EJ`}Nzv#o9z^VGd4x)nFj0(k*3p?xo>7iObfPfth0V z>G=12TUHQmteo{7jh<2TH)A=wsw3+bT{W= 4=;k7WAh&!S-Oi5H28kk`hfo1ahNT zFU`r#E&uAZBf0DKBN{XbHrrz9WI9?@Z*P vZmf%sxR$rd`fCKWG^U89M?sV=*OgHq HloiZ~%RHXgW%_ zr^v95TEF-aU=|j(?#P*X!CgAoAP8C?R*O;~aA0rXyF2Dy^JI)E*%tqFy=?aeoVtQ` z^7I9R#tZyak5*sV%}@#u7~lQe^3 lddPNz5<`4uW6N!Y*3HDDbY2pGd z3G7k)#dp>s9)`v}?m%il!=ga46!dJ^pm5N6oM9zf)0fOEq{MB1nZDe6bE{fpVE2&E ziuGimT-eSQQuB~D2cs6;nS7-=DmPOiLw1e7W8mH+eBn&$6vfM&uK37(2`WVqaE5w0 z+fVYco5Zd^7K>S*?+nCf$<*54g1|+!N(^9ah)6AsV8_NYD2?76RQU8x#8JQ{DWlI$ z8pL$75w4`fJZ2MmbdwFv6^NhtfoN5 PjzTi2)Vs z(>`Lk^+w-@JwiUiS}Yu0$8UTUFWGLcIo#^&f}3g%(}Sz)Lu>PlXhGnmJy`md$6uS6 z!!Uv*{F5~C1C-mM^?^d~DL){>1!#;Y0v+{8#?JXThLc1~)4&rlp{Gjm@C=}_O3LbK ztuEvi*`{(bSy|3H!_ges6XC;^&gvrBdvK}*Hx!!>i$9@8%T}?hV4~s!uhyNhvyBq_ z!4yTmrQA>ob&pp0NOPr&=)?Al$o^_t^Lsz$8qhaAm}a3v%j;LVi=ecTy6Q&38)|la zJeRok4WUW`VE}z`y;5;jnz-0|`v>7*6gL{a4st{paOhax&}OTd(oa-jxU8U#Ie!JN zDsT@TEax(=rv0qkjY)m~cI!Rzx@!(3h-`Pz(~l7D!_m~X;Lp%ruM02`Udth?(j+s3 zwU68}Pf*-4_6Gf|aFXA*NHryM$xd)V+TixXN}%H0Zm`d=$4c7%4Oly1TB1ce$_h9mum;@C zlfUiXUneI(IQ9NOA~dJ@yYasuJ^~#4rks@6zJ^BN)0uO-dkPG-U`R!(zx(eySIh7| z8v){nAhDBklgsJHL;GPKa?1H*GoLb5-g{}2otKdsnCsGIE`Q3DdEay&tTERmYxU1= zT(@+zqq}jJxAkYuWdC$qUAreJ*O~=P#Uk=9xIFj99kRVUxS~jY9lYd(#F$t#oHtyB zy0` PNCmXsY@VloWR-3Q(@}rnNMEr4Cw$LM>u9qe2^}Gk{!V=4 zaQlZG@`w>EWHAtHa&3A~h`a5e^X{cD*llKlB_5Hx=qY(bjv_s;fOr=gfrb3ZW?1k& zMeF}TH^3qF|83oX>0Gla-mo=b-O{`#VY}xWc`G <*1 N`6s R?lz66Ib)5Y|<05l47N5e&Ny+Ek}&o9Ramry!k =U+UWXK8`)J5M z>_M~SmwoS&6(F$-sIMwM9e*E9R3|@=VNtR;{6bJEhqVD(;V7I~eN%-E0*w3wg|q4q zpJR{I$`b!A<%h58uWuZnf%^NVQTN7#Dr9$+w_;dYd~0UuQr0?;nGIuuXbTtW>`_=# zX)STLesY#PyR6#G(WyRWc-p2YRYrzX8qu`Xo;^f&wJTB?lg{#j{4bU^+eRL#V$fR& zDs!jb+_~L-N@>|CbGbpWH-gIZaP!y W?SgoL(3Euupgi*wIl2$(l z3Ka(Mo?7Y>MJDLV+quVRb&!8e{wrx_%tG8Xp$VM@gfl2}dSicMQrjkD&(mYXEq{-8 z{CG)C5;{ nmdNhb*?jV*ROo#f9*&n1n?(i&^_1Q+xIIDGbw;?)O!F&>RYuX(B zvUD^4zf<-;ld7pN1DARj$?t$wGbR3UO@s CSJpb;~?!`N=P9PcOmPZPiSnqj%M z3-xC;#osWKTqwnuLpO`z35a4NqoK3?_sHyCa27I4&YJaD)K!B=FA&zWbPw=kc-c5s zCAcj&-+3nVkKic0*52w0QuEAlWx*(I4Vm)ISpqHLgQ@=*UW=gQj&}0ZM%d){Ombs^ zqzZ?bf((xGf}SMV!!UMRX$}PX#;=?E4oyvgWuvokOF$-uAIv%3VAB*${Kr-wdw~ms zZdwkT&nYQ9$>z%urAsnNg17@m1FCH$TlvrPi-|#@mHd5}PLv~--zFkYpB*GgiF#5- zbOx&h3+SVy)CY_)#a}&a?2R*qRrtPQ)LR>AytpT7CRwS`u8}{VioWA;gXfd32W7hH zUrcYzu__vO{Xwul(kL}Lik}LN%u9|+DcmFnRlJ`-bzuFLBF~%GJb76`GTx@*bM=|B z+;1n?lWQ}YJpF8cLGVX#^%(pce}1)~1Ca#AK!d0^hu;3&W?LxDmnbbam)m(MJaDE@ zPVj(ymQ8qy3AhK?gNu!|U{msb5B;k0Z~c4%0pz8Q`3#N~lfOyI6cxLXa%u%GaBJ88 zdyRyLly)EsVB#O4aSsQi#}5_N_JWzQFeu3q|KU(}Cfnb N$2|=^^klZi&29! zsy;F)#b`ao8$+Hq7q#`^TLAlAzf{H15>;P~j<`u!9>n^A?$FCGz!T@FZ|9q;?td}k z*Lb=aOD?(83HE*PAmU8yG@IXNl3BrcH0@-mU1f5&tl1pwPo_(#LZ)Y8E0~AQ1NnQO z--Zf!{WSkUSu_KC<`!bUeORzL!A6CU{oG&dk)F71Dlk)ZOibT}4=yqczt-WQj~X!p z#5&!pr}%&9t2fD(m!9Mli@mAf&<^wLv)9)bG8J3; 1nm5w?JyGPg)}o9b;6CYgr02a~ksNt2Jf8MZ&u-R^`^Z zxB-z;8Mco$-z~XaEA!wv0N+X(p9;teid?b_jcFPU(2(E}Am*D1X@7*r9XxHO@?M)Y zwGsBt8>gnUo#r3tLGO3kIfeP5RAL4Ln;Yf6ya{NM7J~_lcWuw%Uy}qb3m=MVG4q0n zS t*K%`ZJfxcKX7J0mxszb?a2-`Wz#HNaSLX?(b z3r|XCB#ge{%?!L0Hv;$5=IR_zU|rU&dnfaV8P!+uXQs^-t9IXwIN#l|VFxZd(r9GM zl;4iK6q|o!3@Pyta2vU_m~_-%)@1`4L};7!jkV}h>)=!eZdmQwQS2$XhoUq(&wqUd zQRduN<@L5S^~;gt45h=@cKJqCts{l-qmQ-D3wfEJ`q;Dbf)G0}h7Z@quWkHZW2DK^ z xwZV9&%mRYzX+K5gcEkNL8%MX&F_*tb +5DEg9q=Y&f>ej;6@~8=q@` v&h+>BrY+kN1Dr~2 z&sYX+ms)2Piz@%Iz~RpnJw (9?+~L8c0SX z$UrjCW+Ew@T6)z&X1?qj^xoQq0imuz1fn?BD}ClSbo%ZQ?ndf%hBh#qZVC=y)#n|$ zdu1%`Z7jXyq*MP3TpeM+Tj6Q#tdjSteQLgM8x1CM%^l9P3m tFwKKot(0$_;$(HVjT0n%bH$ z*M53*{-EtAW#FPpVMv|K98KXMas)c-S+L7rov$Fr1+?~28eFAxVO2H2Y}?wbZ+AFK zva&~(W9Pprjlq1wGQK $DX95o%N;h-eXqA;T?r@%(lTw zp#}|j!eLL?D|-*LD!DUI<=8t-lS&n-7EQfSE?uG4;%PC$DRp5Ziquc~O>FjL>|^46 zQi4cn(Y`k8ftA`8l9wW>Xz|ViYW7M{4!PbSbPnr~+j6%0hP}2=Vz4h#M >E*UN~)CG5{N zh&}!f0JL7<1;jSnWCZ)W3}iYIzaLZZVkI$Hurigo_5Y<OMFyvNnF((&BE#i>A1{ zwMZ%6;% W(Q{TXJFKBfpaQSeY=Q^xTO_!^-FtL!EPKHA->>xN6)92iVp}sC- z2+_;i#JI;QK-28*N&Cm|b4nx=gVyV4hMGI?iT>gduaMtEtE6eKKA<@%wa*gaDAcn7 z{Q#mg8<@|I)IKtiB!}j-V2^VH2;?t}d^8>+KHIEo {Ww@n~3}v`S4OgwuYJ@t`sA6J{N%Cey8hU;_hO1Q1pWyAftAP z-*tzQvOn(2kuDOanT^B6dt;+}31WfNkO*hs1-pxP--|A~l;`qQnl9hMmm|Jhh5#+B zES^T!V-*Y-zsWJxa~bM-`!OWaf%Xc3**e0t++M(OkoPimj%0LmPny$@ayIe{wY5&= z&*s$st#<#ze7>xqb=Z&90{T#>d6)XEaqpQ%%j@va(rH|4mE{qgeBd^g$X9Z)aw6UU zM$Y`}7guY1MLIQE@I0tu*#@Y$V$>S>nm8RVxWBp55jnDTXJCemJsDa6N&{&;V#!=L zWd59JOe#YZToiB7yq1 -XgUTk%Fx=cs6Z)7otHKL#KQ*X#Nh$9a~`cmQeA5nU+DTZ zIuwcb;5d5;(?GupU3?2Y_anMXz2_&|XCUaKU&E$AbJL*VZ0-%8zznd_@sp%iLDl1$ z{M-3MyLY51@6C^fON2gaui1fGjTTL t2ij(YGV}~q zVdxCMKqSE>niYs3o|l{2m9r#}x+&k(#L4+kr-q ;sj^tE;9|lH&5pcy4H+| -QmB` RNxK@2~<@ZfqU>21AESWinmb*Orq z;p_^L=earq7dJ`uO`&Rmnw+UHr<>Xkrb0RUYA1r@!+mlC;N^(Ospibyt9t?OZryPT zq^PJF2}vx7u_Eo``5 VK>kCDzj+=*uw_&?yEx4Dl z=Q1?Psf+6c<>8h3qrEdJ0lKHJoxOJ3FAHazOI6XXNF7$Kc>*D=H?Mg{!aGMih=_2> zv_|BH_$Nq4_M#b2=k2I#_LfY%2Sz>Jgt28emA2-m>ea2^PxC)a+&+-G%kfL;bkkZm zqo;T_q89A64jm%;<{KP*44ej!tPZs; ob0+7DtHfbl=g-Y~KZesT72AeKiNEu|Oj%u2wn88Q2e4H-$xQKG z=P BnLoTQcPdT9DhvBW3aM>?I1jUZrq~_xXLm)CJv(m9Q SopZeW%-8 0{)3WA?hj!KV=~DT; z9&Vh$GpxIK^Hu?@6PEIJW;b12LtD3}KBuftR fi%Iy}3(49pEQA#4PT8>)9+!&l1tzVe57GQSxyCRIVbSF1o(F&Z%MoNA zt?e-A_*x1T*PzJ_o{k4I7 KVN#pPbyM|CsJrPsLuvAxO-mU>jQ8J4SfSC-|T& z07p~bM`17zUbH#xFute)!FMq9Wgk%*LcB;LgBL*c{(=wyKb9eW`ykmznE7`5WxlW$ zYe0+|*q)!(w~pYslIur1g8PfFS4z0fGL)!Zqg~@}eau2?O>6udK?lMp$5nyAbNnU` zCUerh(e=PtZ^dAGU|qNDNODdYLgVwQ16r~p@AdA@2qHn3b8sI~lhTFb4GS}nuxkUf zdS?%P?GdL`Y46c?wjyB^B-F;GSMC%yN!d6yv z+B9B-Pi}WSXqmBM;=$|wj=3jyHwOG$ZGjLoqc+bY2c}~71pT!)`X;aU)pwGWY$!iI zQ?D?3&z=ob-m7I*LYt4NvV={>ZHg8Yc9k%9O&H~~z`oHSxm-SmvXIr{n$rQn+Fon} zA}oDDJnMX}%3cSy?ipYibc6FKDyFXwA^`b_bhyD4>{k`^zl=(qVgQNH?DiK;Ut7ta zCtsB%&Q;mz>=qmb*E}z%$Xk5Uh#?f;?8AO9ML(A!8BAhVecxo+=8AbQORd34oz7l5 z769?{7>U+Y_ChBM^0{QIO8aPP62i$nrN! _ns0v!+8mwTY=n})9faI<)Wgyd_9 zgJoDi39}|Z1CNHibUvdWY>z>E8Y$7Qrm!|8$#@9xlf4(T+_4mIYiC(t*T8aqS;)If zEc|d{-21`;Z(Abb@+>+3!$RO+T7WG@^A3gWtkEQu&%0wAJjKCX20~kJlV+WF6OU7( zF(A5p;l$n0bz4J>?r+qZ9JGnv=+E3XYY~+nq1*4C&dk#oMNHzBD*F%s@dMjj*x140 zC!=J6MfgusHa5hLDAJMC)^?Xx= g$atvXvnIAa}omz)OV(L*)meq0r8Kd0?tlu}M7g3LVjo0xd5~ z VAUxcuW%ews|@C&*{gg+JB6 zy*3${c6zL7TF=i(lKv>6b8@^cwCZ@H1~ZYp+ns W0ccN4^OJ7s$gvB0cLh_l<{}Ow`jbJz+iyQ zfsR57rXc6KZ4jpvK6*x@{h4TU#5SR0`(qWG%oPi;oiTH)>hb}PJp tcNcBH@_esVT@B zWQQ35!LK1C|FV8*Mbyw&O~HN+#Bnya%l}$6l~8Nop9od980lz#H+we}YxK*0{;|lQ zJi&G*?l=r$4-F$bT$`pP# +5VIm(y7b*AloQ8nINqa?tF6{|pTDxe8P-i~qHr}2*^Yg1XDDs5j|it`DGfub zEn!>bsOwJrhOpO1m&N1zE@WjKX&V9jamHi}$u&DMN}9ohW2r?xo7EI$U$#4o0HvNM z){AzOD}*lI3aSPd)`oJW`2EEf?_zPz@4QN}M8F3PHXmnvYh?MxErLJv48M2%O7cCr z@i;iJFQ?U1*L{RkI+%`iCASmH-kEz{|MBJc6TiI?SRvbr*IjU%U(=J=!-v7{RovOT zf%^^QYIA;|ra(!Cc;-!)ZEYy^&mFog4DF8S{M(%pb2i%}IRQ2M?* w5xwPbFU5G0a!>IR_$t@P*ptUJ4%6`U#R}%jJ;iF=|n`l zo0Mv>_W2Wa@M-_Otx{Y#&EiA4UF4QMowR>}*|g!Nf}F+;PfgfP=*=?u) lD=%@eU{v*_8_CpuQM8U!91dy2;+otY4pH@((^ZD=k DC}~{NrC^3n8?4a>>n;m2p7JV2|u@XK5PBn{rMx!{d#Y9 z-*Y}kPR`lJf^W9$Z~rpNzdW4rQz{q@*1tU7zrv#H^iN1lo`-LCTmSjVf3=9c34nC| z G{r8>~p&QITqzt%NjdVwCJZidvZ(_0<&|Lgxhp^QOA zuzwB1)7eMw^id-$!W(mVT)^0Bsrq#El#{Z{F~f1G>SbL8nZ}Jp_k51*xZypi9zP#( zn_?La#dlVUe|6EnW*Zip;wz~R1^SuT-QdP!b$tpoh)j0Gk<_4tdx-BrU5qm%p1~CY z(7j;ko*apQ;@Tkp`#1dckT?0r8*gUl@pfv`oyx5@ e|C5Broo9QS#ev<=e3#U(P)Q-RD5la0~)JA&Amq~G$ zt8=20du~c6ZzXLeMTRo!DO!dKze0jWpATIC#W{W8hUl=wYBY)YaX_M*eLQ3{{J#wX z$+wv{=9wY*%iQ37^QjBP3+8KpQ$sG9{1kcaYVEsb7brXD2)B_wx2VF)a3%1XST}*b z_>ms`N-s7hV;HFbGpKZ0MxX%KIn2R}j+Er>#LinLp~Qgc`Yt)9njk%|wpSC4k}@8w z*LFfvk*VWT>`QzpQR@mgHmZ=%q8RJW!4H gr+Ew`xk;GiX~(A{_~~oE`ENU9<9(R5V%_XPck^Y2E+s%?*BE zQY67=lOWhSgv5)eT7wptq&KrW!1=THw)1koV^0*fiV}vm;8AWc6h2@kx>pdtnGzIs zMV=;MJYrqavUG-RSWvt%Fz3b|VR4Sk8~aB6Te$Oj(0Gm&yS1fuuhjUZJv|jOFljqI z?|+zO26nG6RN40En4Ls#elX1+1J`OVTa`P=M>OLni>}7~WsVr?{EeK@Y~=X)5=b!w z8xM17t|qo4Zmyzta7=2xjsSYS>D0V=Ip8ns3=b>G0Xq{;F6P~3lyQpATS)>Uut;|< zAUr+K!=B(z%s-yMBs#1P8GeR&@@Af%hp%BT1T7H$yT_g$dz5UB;UXEcmNE>uMo7 zqB#7%e2-YMmPFH!srilcsGMlVnv=Iw3+pG?<-yf~k7StcgZGYSep_XDE5yZ?_xj-} z$sV)do9J+_mz66hVQHM*KWvSZhqxxvdM}W9iKe!2pOQgF0|T(vC;oT@Qil@lf0qhg z|0)2YjO(|`bs1?vNV}NH8^98wg1vq}n*^zMIzhR_b*isU9e$DNaAr{zD%j^W`tk0d zrq2V$<6393OEe2i0*uln{FU?nBie)eA^?It4eU*Op0&^2_Qe-1>}Qw5p4~#r*Xi{s zNIc9)^+Jh+hcn70^-=T7R>o8F(Mxt<-3F3z-iR+z1!7l)d1yXfv_83HzGk{nQTqg^ z3OP?Z^)&iIK(h5QUsld!DDDW+z9`TKYD-OHuQWwu`p3r3E8{x{6`joyys6te#3B=i zEmm2Q+>?`d*I%xv42qG78tZ-{*-yPRtTHS7>iM6Y{%g`)2fV=ugajoJ1*nOvQZC{> z{hP@O!ae*6WFYtZf43m{N+EARptxgyYj{HWQv*&xJeZR6u>a;^-z;JG!V|kBi6;Q+ z)zuqBb*c?AhC vQEZ zjv{(B04<(7^@~kxo Y2z`rt`zBz~XCqjLP*Ub8b0gv!O~+w{ zE0;c!U{@3!Q0v3aIK;BmQgbj55dd!p_{>H1?`h|&LmhJz01*#mdr^(DDXCshk^h}% zE)aQNInij25H-iAn5}ss0zuc# JNO3uC_R{S!0|EFeg*mM9+`bd9r3<9Oxu{z@n|; z5Q~d< sw5k@WbrJ*RXnZJcGiJ3PDH&=6LAOS?r2e3Zyu>tg z8Ar5HWGtUU!8 ftP=oc#K#o+GJ;_XvxqHOa?Y!ucZ)5H4KF853*Lfx6#j;m=&G zUiA)ziclkiHUp|lkIG$}Kq}TH!;&Os<*6ndBQnW0@Aghl)p%xg{QgNy<1fXGxGn;I z>aT#hiz$vQsmKtVnd-5?N?mKiN7epHNr)4U+OdF9q_oiTPl|T}O`P_1&+H2II2aAk zu+h8#Ve7I&e30b#CP!&!d05{1^Ps&~gv=j}FH%H;4xjlW!%zMtq(s??h4Su%$m| zkId{YnsHVTsruX}s_HM%uu&mvBR;G6eEjktZ2ah+xU=Lom6 `?unZKZn}b5vnL3Y+m3t)%W{ylzgq;RN7d!o zCncV33f}Q7d9Tcupa@D%zBstRIgnvn@lOiX_W2YE&i <0f9Y1#+BX~l6?GdcQc=p@)}<*?R@Jw}mX-v+bVa+_Vh zOu_w}&tIZSV{^N(es_|cUK~ROyYq=Kktla{F0;+CZQ75&ZlJL!7jC4GSEotd9XcD- zJ?dYaXn+<$Pb1fQjWCB(D#^S2kWEbuZs-WbI4ky;2Ral86$cJ^j~lgO&P4@&Dq05p z(YxKDaCtW{xPw39M-RRRh$oIV!Z%t>J|ebV`{Z3s }KeDOY7E z-&w-{e>O374UQby>^A*oALLk9M{u{CZlHR>Loo#f-l>5PH3w%T z*?R%$;f!JSwVq*6kE8milM#U3dMv)`vRvOxDQZKse&%}xYnH*RCV?|a|CBM6kvqqy zLyi5+AlF8Ytv8Lu$a1pm<6v0jYnWxxf|1t8>5aTJA{zkPyq -_l213@K?)A9IelZ;WA07#!oxAl(_6dh8Zkg7tWrc06N zoV)O;1wLGb$*gD)?BRaUvzsMv*q?MHxndw2T2**3RK3l*Qpc_u@^p*CImPVA+sbBZ zs(!FHP(5Ur)-YI}K4_SsuVS=^57$PIDYc4ns6cC^a?j=ZKQgp8hrb*W#=hyzSzGvh zC{>AwjlAV&gM7FBlom>p=*3TPcjT=bFRzZ*-%8N??J0}g+-d;3Q}m*T)YxH`Y_@eU zoHL7TkbAcnU4fhoy(17HM85exhb#`n8tfi%jBlqxUyr&Qo%7>52PwIvD37G>lIS8; zNe8?XwksqOt2+4nzRyS+VX>Nu0hx4Qan(PSM{aRL?7cldHEWAq c0HP!f# z(Ce 4TYq@ZAvVbE0)p95F ?#3S zhAhoiB8kIvlO4a6O-jQ>{7bzf$KXUsT*|kUEMtk~Z6^kgPGn|_)h9?`+hDBb^au%r zMs^Q>l4+%V71ATl{!1QKJ?4lJ9zeD|wP&?u@4I_}I-};%(iieYjYj1(wnux<35J9Q z@+6+$RwfYrsAJG0$MRgIvQSIk?C`R+PPTWIQ43t0TaI9GB5r2@cVIBOXkpmM1fxuK z>f9zYj1SvtPQH*m*tIQJgS-`H_|QJ|{wD;1)L)U^e)tjIB`G4Bi$E{~P`i;sL}b!+ zR5zHNGV0s L+wT^PK5OgpQ^gS=+x49qirVP8+rGsUf$)}q^sbtOU>fI~W z$IZS4&LEv8(|e-tSKo9>g`FD)B!Uz0J9_}WMqLgzTqZF?Bh7UOhtDWPT3a{DOqA08 zhCU1P01%)|}GLd43HC%l+Tw{tAY)07+Lb&ki?dpPfFzWFf;8Y#Xf zU$ROnzW4TH^sqFN(NC_sBN>CnkVDurzAUp;IuA**&{ANgp14_hx%u5w>i!<}RVl!u zzAEx3Ms2^p!Jol=#xLk{B*y+1i1^FEe8CWS3t0GRr}uAb!JmBbL>L~wUM~e2y{Sch z$-utylVR`RP&{+C?QvhEy=1ER^2B8Ff;=AT^2$h_b&1sHX7oOu-&7I2A7Z71@X?HL z3|#3j%be7=M=>ycHo^_wh+XAk04gdOztWFB9J#ZhBA1 }F%aHtfnIWK}nGbq-l)=GV-D_hu9G`6}sYLJIv2#KS z(%nn|X#aPNvoR-~g#jU`nzEpUaH2H9Y70(tPcypeBM-if>2vCV%iq#9ZJr=FJ2Tc~ z4X?58o^Jo~Vx&!?qz08`>Jmw@X`ixbQe@bk;I53AHM%PLQBqs$IAyUScEEW9))LQK zQB2IL*yTE6f+*wkE6?!-NBru^!Bxeg1~qvwv}xaP?(CXaeD@ui27AUf@0n3&s*k|SZmz=@kzjp zNd^2UeT#7X?Il9{Grj(tnMoYyYwzamjQw1?U!(SoQyM<-oVyo*k)2@Nug{XzNcI@7 zE1e_B#`gy|jr{zShxFu *=xjMv&28`4_z8*>tEv>e+rd2x9CiMQC*pgf#< zr+^s&Eqw&jg+tHKFe9fSGzsLfLqF!u6_;O|Tb+XuXxd6K9Y`-I#wNf6Ji&}JgYAYL z>LGnTj=7qb@tiMRElM07Whxj}X5_%DyYRe{e?B#lI-KJAqfIDi2=}48;GV!Ql9=ZY zXZ$6D-t@N 3de71Ma-%g 78c7&_giQ8aaM ul?(>hF)1L 4HpC14(4sWC71?jws zv3nXgInaDt#j2iq3G{Fj{+~1~AcLans^R) RiC5Wa+mlqPEv4D= B<{nb7lr6g9mVrmB6m?WX>l+}hQF(!6=j4KX%b5$HBP}l2>t)nN65M` z?4gX?O`{0W)dEL%gX2D0k(>#Mf*9k@k4AmEkNSMzmv<&QHkgan#r>ehTw`kLPzWzb zaEH--ML8{{F^kM8uHn8b7}9dM(+sh207{M@P4Sb|rC>YnF3V<0PEJNyB+PKv @uA!AzS_Lj(C`)c@tIi&Hf*C3tLgEc=b{r*^H7`=-#dSY)#|d zQJ&CGD>}W+6Z~J(=S?d$d@z<9V7suNZ2^!hDiJ9F_GB@McK;Ck{P}<2zWlxhFY5es z&+trh%&jJ#fmi^FFkvEi*tfEzs48a7!ue!vOl?r$*!10d{eMaZ&b6%bQBbPH254Zz z|6qzD7-!t~GkZQ{nLKIr7Sg0&?{mtyL#LCn=UWpd_<8*K!=r6!g}%4#HZc8SjY_N6 z7`Gi0=o5I(0!}2BS|di_Xq(*y6T;Q}y@O`A$FqIXQucKJ&jf3lCiW#({w$g^@*zZh zpPu`G-RaBSMWt*j#lxTjlY9gD(D99wFXT;c%gl+UgFA-Py-s!WEv{JMX=l)RTem(> z03?4oCvDqw0VFe%=fj$inMF2D+`;0dz1x7$Xll~sKn0WYv7T9j $c6u#!^l$ni(5utLx?yq#NQkNgAx6Vt(aMPZ&=LJf`iU`QR)Ym=%tpe#>}S;g^> z=&*O9Ui@=9` p&tG&P6>mJ{#=-A+B_X={$EyYqH)<$fC!p{oW6akgPL21eF6lBSgns}QDI zu|hnYqVmjy&c%ZSnX^y7`O_EpF_1UcSkMLngd0gmja0tI%RbaCGAUAAn3r}{+q4fV zqtEVhC*oERUCs!@ `Kfg)Oa@uPkAEyWS8gv=m+59vUuT+B zDRpHJ9(Y%i`AH2nS9E=p1?2=Udlr}xKPZpP&`SzhM2n)@Sy`8uc3a0cewDwaM(lb4 zP$&DGl`^1Z)|!;65n@qe(y67R;&t|6rm#Ca?^1%mYI+(j32MM@o;O8K8Zv=Z-YIy$ zh7ES7&;tv2@;TS%OIo!zZvX7*f*ANhUht#vdNlV8_jOpSOga9MvX`RI()AVbyX_ZO z6eQAv@GId3NTnv(QBzc`sare_J)pc_dnQl|FMrIA+XKU(@Pkj73CO;-M|FFXHphkV z`+~mmem=mp<|r8gAP5NLpdwSxRcBH!Dh _MYJ?gJP<){Q8FnCku3wj$UismKWa(gJX$ zYlKJf=(8v!Z0j9-mvp4vedq$H=*-6TWiEAIg;8jC>jFPCF(X*a*iKhaKJ*0P2-@L= zU+7Ze2 Gx7?<2fk!|XYSm4I;F)ZpijN8pHB zsQ8f2ZUBVn7L@5B|J`S=#3@6UDMIw1o`+Y>D4pxh+HPU*^~1&7h8KvWdA{;2V)L0q z^|CC%nij1ycf;44oh+zwG$C__W*u2E%9-F#_Hxn_@SYR^eqN%1elHR5!|OfoAMOBn zkqES2Qr7R`&Du`jWpQlsTK`Y5{*Rg@uC@0`B-aFaU(h+3Eg&=?M%J@wO`M=qD6JAO z;E1!t==D>d?UO(ro;8`S)Tbj3ZwwA|g?g};g?QH!+~ZTP=a?k#Iq0yREXiA2J& TZSl zMcc_GB#QFlP_s7DI~rYd!NYbb*lE*RZkf$bAOmH!Ad%zlJmJo8^@B7n|LNw0tCm0? z0!)9eYa*ewS!*yXcgEwc#f?K`J<4`jX5hv1U~>o&rwvwQQGJ#KqMi4l!3)-_p_9Cy zMFX?&Y$^lF*_Cqb{Sf7#)jd2Iz%_4|xFrgoGlGuXu3Ei3X_w0%(F%hLl5hQur$Qyr zAI+d@q)btwL%)Va4zQ8xMMz^7KDY5>>f_h-;1X0@pzf)N<-<7KZ=LClMOf6#)O?e4 zipVR~nhGIwf)CE3gq(ggOA9zES3Hi;R>=s7zbW+?eh`YA>My@v69}Ont~{CtJn|~I zzy8IMT}gk{iZS}fg8n-X5qpIRUke7r>y>K$*0f@W1+PW(y_O~UTiL)@hz7nwW3I|f z{=KQ^7wTUB!esSt<=tN&I*IwFObv6C6ic4qPw$v|m#yf*abux9065&F)KH!j5XYH% zN5-CrsXwruv2nELlvl)V=17Y&uYv7#h5F8>@pSoisvpGyD8!z^m%;%!%QTsH=#cOK zt+=zIN&RyIsfnv+R<)sPBD*Z&zB~{T`{wk}myhE0a6w%Hn7QnvQ?E%tK3Qvz6!>Ui zSim>tna(>*;(WThYzB@I<^rZBW9;`fbLd`=G9gljkQ+9Ww)8v zJ9v$DXF$) 5lgdIKR~sl%-!SBMYYaUG6SW#qT|jdo}3G+=P1K)%!gnS*u&2G+j646 N)RM(O*1; zc({LD94GKAt2CL#^z^ySV)}sVY`zI=Hs@^6m$uBNuJ>dnAE{*N)aUEFQ%zF#ES}0} zMLOu2>}tvtu9cxOOnNXFs#Lx+Z)9G);D0gnRh*euJAUV7Htwt4Oozc_C*L&b7c!Gf zp{pY#czd%^{lTI`)zE>*+JehQKiM3R9D{d|%k=WYNYW69mpm{1H*-G0^}VBomE`P9 ziy|%ZW|TaLD`q8Guc{CG(rZJI<#mru)Mm`$WzSHIONs^Kh9x<(l%J-lHGZfaV1~6Z z3>RdL?j7t>zr0bv>q&C86=46|zr?#MOL^B?OY1hD0Pk)J@k`%!1e@~>)VNoZw1zf6 zuoytH9&zNe-bEf4dq>hcJbLbEJIJ!D4%|m~zK|!< z-l2($^58IxCrhKdQpAS-)wLgr0kQ*bkd zeM;2C6^A}SegfJGTvRq`qQ9^zyjQR&daO^P746xYr6ABmWxKBZtuHdHpI*z%XeKoc zHJe{V+)soe#l=*Gbxv=K0Fv-mdsGaK6=uv5ZcCNIpr?=QiP$Y`vke`Q9S3E~Tidag zwGBB-dP)f5UO9Y~GyV>tUl h) zqLQoaR`d=Ah-nA<$~LSOc;ef5+r3|L(`EnAP0>PdtRFf1w5;Tn*3@yhTd5me-~tR% zZRuaQeq4_#`98StN6hbHk5|D64}yl^5QCq+^Als@9SLF)GkXzcdD ~)@}gJAaGn1b2kQM>SUh Mn;;`DBzu1}6A}iN}ci zIEgqf9|@ebHZkmqv~ckaFZl(-c~os!Pa32Gb&t*Eb|K%g&9;@j($YE(%_?=Je6`Bi z^PRZh_lU3Z^7GLWb_c0Y{#F_s#QsIcw{9+b>q-We4Bycrb|2ZlVIDP6-Xs_gYouch zm5W2t+Jxgrq^8TL{nwA4IJ_*HAJ2y-A|U6w=ND*+fx6>mzV$xJ>7~9~id_?$Js+!% zts3X*Ij!rSxv^soqg7efQ%#3!w5engmFt+?RklrfY0sybjp%=~SuYK4Rb?(%Szx0D zUM_9h#ruq=l7Kr31-RhH3E!r=d#Dj{I6vYzUvQmUMBPq7EL)5YCwkxtQBN()I`0Qs zIy8GDpKr+CXnjUS3Zp=qaxC1GpGV)-DsP#lb5t09D{+5|lYOO+EZ9XC_T=6#^fn(! z`>~oTl_uR1?@&q jVU=;c{Z2Ug~^P;~v9bV6E#7WCg zxH{^3)lleH(ibU`ApR0jmoUbe1O~ ooOvhb;T8SUQdxn}zH z#}P7ZM8T4^>;@n1gHAbS8AacN8znT|xle>S>mjm}Cfz?DD{RMD?>;9As7roXQ7fQ4 za;Y;py4626F}ShRch1~YP?2H&D*}NBL%pmBClKfWtAWFqVi!Y3kPX7g3H-(uVPK5M zH~Xi`zef{)Qp8X2 jh>S=XgZ@-NTgozyDx`n6>txnc zP+8Ja3(K~Z(t{y-GoV3)_;+$FT2IKP>}267oghnIlQjPDP~05oomw-J|NJl6)q`|o zFzKf;kLyZv4@{XEL9B{=LK}GK`d#+D{RcaYur13w`g$k*{vz|@U7?#E$LaX5F0Zu@ zgr(UtrM&tGlH_i5AJ^EX5Cb?)9;fUW!>5fvmB`nrzpQtq5RQ2c3mwcvc-|kqg|NrH z96O~Ig2f?;R0JHi@YwCPWk`Y~ihhH{%o&@H%Y2=&(D9`F?>GF-_O@K!nL2%tIQ5$P z4M`8Tw`#?i<`=@79W3Zo;ssqL=UUR+k6JUEj(7BB)pPX;NouX_)iy@VQXie?Jz|YS zSZ`u=SrS75KH>qobZ`GD2j7M3Vd89E#gH_V?d}Lb(=*?by)7DCM>4jXQE=_I$^kZR zX~S_W9)# U5LE2PdexNb% zI!A)s0oyQ1wBwCCJsc6oNy5YAxXoyA9WM)W%Jr%C-Pl*r%=^ RG*aSfmSjw zU8}+nFB 7g+~i8$mpyW%#hcr%cgY^>X-rjlG{cLgBPW zli%8xFxDrZ4Ic3ZmY31^{Y}4E+F7?qTt;VJQ*fa5|6o%T1#S;^!-qF}@oM!>#^{`g ztlKJ3>|oGCiQWvtya#W+D@*EFc|6r&uTVGIqT&}-)Td<;d1p=*VIl>9onYp{W6f`M zzM(tCH&9P)UKu_C?3S|29NB#?H&FBdobDcES!dSToa31Zr%EepE6sfj7UNou-tUMf zqx@>)Q1#to$a~M)vU{R@-1%UKp4*)|N9+aXT2kGWMr3&6GCEwa#gkC9ilR`4k|k=h z;lD(242-!564aH{pR%#1`!XdroYDxK|0G=?;BdmNe-ZR$&!wwWn8I7xm%Aq4fsXu) zHQMkrpzYYKEzlrGO~<0=%Z-LKeL-S{GGhTzrZh27k`aDZq5hUp$7*DQrRP0rBL?65 zu(I*j1+y6f`%uCv!EQWKi;E7Q_BVTpcAc(|1U}a3{m@WA2ped)H9~Lr!F7a%u=Mgv zw;;mvZS~tV(Kd?mL=G%xZqnNy=Z+S%vh10Qp}ra{aQdnCD QG;_Z1fy!@R}=V_qeVb z3q%P@H>)+!2#-Y1_8Z@OoMj$+^ox)@A5-xi9>q@kij*A(E8J+yaO)x%yEuUBURw(; z6l*{p#4{xfKQ6!7oBMEnHVbcC*LqKNVeKpt{La9!Y$O0k9YQP|64(>_lejK9G;iuh z@ln!`Qy_sTZ{`w-#p!Xu^XspNprXU{==B|5%^R@tQx>P~OWqe%50*Ha@0g6Iiko)l z%>-SPu2Ugj(<&9sh2- cq zNNvbqXJ6ml@KNwM%FbdCZ_AWWiH<6{6UO#B|7e+kKfJTW*l_q|>yj180batHvnwSI zObOAg(oq?(0%Qfh^VBPaw6K?QKXBmVI!`>h5;C`W#@S^qE4CXJrkjKMIrdAUDiD4V zC<@7v z+9xO?Z0r&Ip;~Qfj$v!*BB^R_JO*%}Sv2%hnQw@~3(U|KG&?keU z G`>6S2~JQwO@Zy-Gaod ZY0Wb(C#)oDA}RNK|zqQ1Tp7(9@X<(-h@(JNt?Ei*haoDmyKMTx`Rx zK0 cM60n{xkt4*D+`njf*|2R)ff|@}UGGgZ%z@nmx-ZbOMgR!rA_+Pi z^DmpY*LFMFqZJ`Dd(jznl!-hnw{?v~2A!Cg7CA5_RK0>#FHvfe0WY fX7Ce z))ENe_j ~Bf3*G}%myN+J%6r&j~O0h@S922SXT4#53@Fsgv zz5RZ)s6n_8gxOZuJEt|ycVC{DJd5p|629o;Fv_q!FuG;#BUBAiZP=WBIj*(N`n)nP z8EVZJSSkYE8NWU?K90E f5~XfEnxk8J6`5z#}qEFdgm5r%!7)K7%*A=n4}Q zon_kjZ5HDJx{4yjeE!S_7(bj=D6=_hODQD|c`!e)2HzlP{6G87lmLlgh&BgW(yP)3 z8jd%H`MvphY94z(&bWJ^R@MkdJX#$l4u98Tw|d^b>+fvn8T3#&bzUnkFH`bpk?H Z_R}n1m9WMXawJZ zfe_u0xx!yXJijl$x~=hJ17|)xrGU6{+JXsS#HsKAuh72YtgyJ8662ZDknO3U&!* zZO)O=H3@Q&{?gk}aCquJuV8Ul2%l?KIN2!b9X0_?&9*LS@r-(o& zjlu25x};j+w)c7sF&}4yv9dKo+)9s=W@m;_2un4_-0POi$iE#vh>qrccb4l@fk)3j z#TixMu yEFY{n;J?o)X3JoMH_RMiu02%v{KG*_52cI9Us?l8OmUN8;UkYo?X$*>t*b( z-F6F1Dh$h{Wax~hi`tEAqZ=X=)6fz41+xNzaQAZwPAf12At_hsUWYZ7k-K E)fCf?eJdErx=rjBY`iNV~)yjn#`m!Lbxs{~+ke?aMGH$Z&RT&+d{l zYP$>%P^5-a^B{baJ@NeV%U085D+VxHvD5B??P=}(TgS=ImRGMrR_&u9c}XEce U1_^tL)8t6Vfl2t*blGYUqgCyz;qBmv=w?uTI2*8Y<|mCv=)Rz)_L9FPt?4^ zi^C0=40Go%l}=fE^FM11x?2B3 5#=Nq{h4fpi`k5$Byya3|yVwM9hLR8Z+r0X6A|6a`~XMtJ2tQw%5bawbZ+TJ>< zt^Hg3-Bldg;$EP*yF-Bj#f!VUyIXOW;sJt`0>udu+^x7nAUMT?yT9p{-|2hKK6l)4 z$GHEs870kNWqsFtp81*2+%K9>{YE=)k5@clt^LPhag&$}D#(4b%J$6L=4v&ow 5m5(yI2SBsb+6@gh;U#vmuho3L31=Q0q$58yb-y0~ zy36Rl)a&Sfgrf5!)>SPi4A;r3-6lk^rfgj1gt(XJCZk6`Sg^>oAm_v(ZJwlD;