From ff881db7a6c940d4f0100147e5446f3cb4e6f553 Mon Sep 17 00:00:00 2001 From: Mitchell Anderson Date: Thu, 17 Aug 2023 11:57:22 +1000 Subject: [PATCH 1/2] Updates as per my local analysis --- cli.py | 218 ++++++++++++++++++++++++++++++++++----- data/data.csv | 19 ++-- data/output.json | 145 ++++++++++++++++++++++++++ requirements.txt | 1 + tools/__init__.py | 2 +- tools/scripts/api.py | 27 +++-- tools/scripts/read.py | 3 +- tools/scripts/value.py | 27 +++++ tools/scripts/weights.py | 9 ++ 9 files changed, 399 insertions(+), 52 deletions(-) create mode 100644 data/output.json create mode 100644 tools/scripts/value.py diff --git a/cli.py b/cli.py index 8f934d0..a53137e 100644 --- a/cli.py +++ b/cli.py @@ -1,6 +1,9 @@ import os -import requests import click +import datetime +from dateutil.relativedelta import relativedelta +import requests +import yfinance as yf from dotenv import load_dotenv load_dotenv() @@ -54,7 +57,24 @@ def get_holdings(portfolio_id): return response.json()["holdings"] else: raise Exception(f"Error fetching holdings: {response.status_code} {response.text}") - + +def get_stock_price(symbol, date): + """Get the stock price for a given symbol and date.""" + formatted_date = date.strftime("%Y-%m-%d") + print(formatted_date) + try: + stock = yf.Ticker(f"{symbol}.AX") + df = stock.history(start=formatted_date, end=formatted_date) + if not df.empty: + print(df) + return df["Close"].values[0] + else: + print(f"No price data found for {symbol} on {formatted_date}.") + return None + except Exception as e: + print(f"Exception while fetching price for {symbol} on {formatted_date}: {e}") + return None + def delete(portfolio_id): """Delete a portfolio with the given ID - uses V2 legacy API endpoint""" global ACCESS_TOKEN @@ -67,9 +87,29 @@ def delete(portfolio_id): else: raise Exception(f"Error deleting portfolio: {response.status_code} {response.text}") +# Define a new function to delete a portfolio with the given portfolio ID +def delete_portfolio_func(portfolio_id): + try: + delete(portfolio_id) + except Exception as e: + click.echo(f"Error deleting portfolio: {e}", err=True) + +# Define a new function to create a portfolio +def create_portfolio_func(name): + global ACCESS_TOKEN + url = f"{API_BASE_URL}/{LEGACY_VERSION}/portfolios" + headers = {"Authorization": f"Bearer {ACCESS_TOKEN}"} + + try: + response = requests.post(url, headers=headers, json={"name": name}) + response.raise_for_status() + click.echo("Portfolio created successfully.") + except requests.exceptions.RequestException as e: + raise Exception(f"Error creating portfolio: {e}") + @click.group() def cli(): - """ShareSight Portfolio Manager CLI""" + """Sharesight CLI""" try: global ACCESS_TOKEN ACCESS_TOKEN = request_access_token() @@ -77,6 +117,21 @@ def cli(): click.echo(f"Error: {e}", err=True) raise click.Abort() + +# Define the CLI command for deleting a portfolio +@cli.command() +@click.argument("portfolio_id", type=int) +def delete_portfolio(portfolio_id): + """Delete a portfolio with the given portfolio ID.""" + delete_portfolio_func(portfolio_id) + +# Define the CLI command for creating a portfolio +@cli.command() +@click.argument("name") +def create_portfolio(name): + """Create a new portfolio.""" + create_portfolio_func(name) + @cli.command() def list_portfolios(): """List all portfolios.""" @@ -100,41 +155,148 @@ def list_holdings(portfolio_id): except Exception as e: click.echo(f"Error fetching holdings: {e}", err=True) -@cli.command() -@click.argument("portfolio_id", type=int) -def delete_portfolio(portfolio_id): - """Delete a portfolio with a given ID.""" +def get_periodic_dates(start_date, end_date, periodic_buy): + dates = [] + current_date = start_date + while current_date <= end_date: + dates.append(current_date) # Append datetime.date object instead of string + if periodic_buy == "weekly": + current_date += datetime.timedelta(weeks=1) + elif periodic_buy == "monthly": + current_date += relativedelta(months=1) + elif periodic_buy == "quarterly": + current_date += relativedelta(months=3) + elif periodic_buy == "semi-annual": + current_date += relativedelta(months=6) + elif periodic_buy == "annual": + current_date += relativedelta(years=1) + return dates + +def push_trade_to_sharesight(trade): + """Push a trade to Sharesight.""" + global ACCESS_TOKEN + url = f"{API_BASE_URL}{LEGACY_VERSION}/trades.json" + headers = {"Authorization": f"Bearer {ACCESS_TOKEN}"} + try: - delete(portfolio_id) - except Exception as e: - click.echo(f"Error deleting portfolio: {e}", err=True) + response = requests.post(url, headers=headers, json={"trade": trade}) + response.raise_for_status() + print(response) + except requests.exceptions.RequestException as e: + raise Exception(f"Error pushing trade to Sharesight: {e}") + +def push_trades(total_capital, start_date, end_date, sorted_rows, weights, portfolio_id, periodic_buy): + + # Convert start_date and end_date to strings + start_date_str = start_date.strftime("%Y-%m-%d") + end_date_str = end_date.strftime("%Y-%m-%d") + num_days = (end_date - start_date).days + if periodic_buy == "weekly": + num_buy_orders = max(num_days // 7, 1) + elif periodic_buy == "monthly": + num_buy_orders = max(num_days // 30, 1) + elif periodic_buy == "quarterly": + num_buy_orders = max(num_days // 90, 1) + elif periodic_buy == "semi-annual": + num_buy_orders = max(num_days // 180, 1) + elif periodic_buy == "annual": + num_buy_orders = max(num_days // 365, 1) + + print(num_buy_orders) + + # Push trades to Sharesight for each buy order + for row, weight in zip(sorted_rows, weights): + # Calculate the capital for this row based on its weight + row_capital = total_capital * weight + + # Calculate the amount of capital for each buy order + capital_per_buy_order = row_capital / num_buy_orders + + for buy_date in get_periodic_dates(start_date, end_date, periodic_buy): + try: + stock_price = get_stock_price(row["ticker"], buy_date) + except Exception as e: + print(f"Error: {e}") + continue # Skip this trade and proceed with the next one + + if stock_price is None: + print(f"Skipping trade for {row['ticker']} on {buy_date}: No price data found.") + continue # Skip this trade and proceed with the next one + + # Continue with the rest of the trade process using the stock_price + # Calculate the number of units to buy, factoring in brokerage fees + units_to_buy = (capital_per_buy_order - 9.95) / stock_price + + # Create a trade for this row with the calculated units to buy + trade = { + "unique_identifier": f"{row['ticker']}-{buy_date}", + "transaction_type": "BUY", + "transaction_date": buy_date.strftime("%Y-%m-%d"), # No need to format here + "portfolio_id": portfolio_id, # Use the user-input portfolio ID here + "symbol": row["ticker"], + "market": "ASX", # Replace with the actual market code + "quantity": units_to_buy, + "price": stock_price, + "exchange_rate": 1.0, # Replace with the actual exchange rate if applicable + } + + # Call the function to push the trade to Sharesight + push_trade_to_sharesight(trade) + + click.echo("Trades were pushed to Sharesight successfully.") + +def get_user_input(): + portfolio_id = click.prompt("Enter portfolio ID:", type=int) + total_capital = click.prompt("Enter total capital:", type=float, default=100000) + start_date = click.prompt("Enter start date (YYYY-MM-DD):", type=click.DateTime(formats=["%Y-%m-%d"])) + end_date = click.prompt("Enter end date (YYYY-MM-DD):", type=click.DateTime(formats=["%Y-%m-%d"])) + periodic_buy = click.prompt("Enter periodic buy (weekly/monthly/quarterly/semi-annual/annual):", + type=click.Choice(["weekly", "monthly", "quarterly", "semi-annual", "annual"])) + return total_capital, start_date, end_date, periodic_buy, portfolio_id @cli.command() @click.argument("file", type=click.Path(exists=True)) -def read_csv(file): - """Generate a list of securities from CSV""" +@click.pass_context +def build_portfolio_from_csv(ctx, file): + """Generate a list of securities from CSV and designs a value weighted portfolio (experimental)""" rows = tools.read.read_data_from_csv(file) + value_scores = [] # Store the value scores for each row + for row in rows: - # Get the ticker from each row - ticker = row["TICKER"] - # Get additional fields using the get_fields function + ticker = row["ticker"] + row["value"] = float(row["value"]) additional_fields = tools.api.get_fields(ticker) - # Add the additional fields to the row row.update(additional_fields) + row["value_score"] = tools.value.calculate_value_score(row) + value_scores.append(row["value_score"]) - # Calculate the percentage difference between the current price and the 'value' field - if "current_price" in row and "VALUE" in row: - current_price = row["current_price"] - value = float(row["VALUE"]) - if value != 0: - percentage_diff = abs((current_price - value) / value) * 100 - else: - percentage_diff = 0.0 - row["percentage_difference"] = percentage_diff - - # Print the updated row - print(row) + # Call the function to assign weights based on value scores + weights = tools.weights.assign_weights(value_scores) + + # Sort the rows by value score (in descending order) + sorted_rows = sorted(rows, key=lambda x: x["value_score"], reverse=True) + + # Print the sorted rows with formatted stability and weight + for row, weight in zip(sorted_rows, weights): + # Convert value to float + # Format stability as float with 2 decimal places + stability = row.get("stability") + if stability is not None: + stability = round(float(stability) * 100, 2) + row["stability"] = stability + + # Format weight as float with 2 decimal places + row["weight"] = round(weight * 100, 2) + + # readable output + print(row) + # Ask the user if they want to push trades to Sharesight + if click.confirm("Do you want to push the trades to Sharesight?", default=False): + total_capital, start_date, end_date, periodic_buy, portfolio_id = get_user_input() + push_trades(total_capital=total_capital, start_date=start_date, end_date=end_date, + sorted_rows=sorted_rows, weights=weights, portfolio_id=portfolio_id, periodic_buy=periodic_buy) + if __name__ == "__main__": cli() \ No newline at end of file diff --git a/data/data.csv b/data/data.csv index 16086a6..b066a0b 100644 --- a/data/data.csv +++ b/data/data.csv @@ -1,17 +1,14 @@ -TICKER,PLVR,VALUE +ticker,PLVR,value NHC,50,9.64 -YAL,40,9.90 -WHC,55,11.42 -RPL,40,3.39 -LYC,55,11.69 -RIO,80,116.91 BHP,80,41.00 FMG,65,17.64 -WDS,75,29.03 -CBA,80,90.98 -TLS,80,6.17 +WHC,55,11.42 +WBC,80,30.56 +RIO,80,116.91 WES,80,48.35 +WDS,75,29.03 STO,70,10.13 +TLS,80,6.17 WOR,55,18.73 -WBC,80, -CSL,80, \ No newline at end of file +LYC,55,11.69 +CSL,80,328.00 \ No newline at end of file diff --git a/data/output.json b/data/output.json new file mode 100644 index 0000000..47f6d15 --- /dev/null +++ b/data/output.json @@ -0,0 +1,145 @@ +[ + { + "ticker": "NHC", + "PLVR": "50", + "value": 9.64, + "yield": 10.5100006, + "stability": 33.99, + "price": 5.775000095367432, + "sector": "Energy", + "value_score": 2.1853390446867893, + "weight": 11.09 + }, + { + "ticker": "BHP", + "PLVR": "80", + "value": 41.0, + "yield": 8.7799996, + "stability": 90.26, + "price": 42.880001068115234, + "sector": "Basic Materials", + "value_score": 1.8056503798965926, + "weight": 10.58 + }, + { + "ticker": "FMG", + "PLVR": "65", + "value": 17.64, + "yield": 9.41, + "stability": 77.12, + "price": 19.8700008392334, + "sector": "Basic Materials", + "value_score": 1.8161396519756032, + "weight": 9.21 + }, + { + "ticker": "WHC", + "PLVR": "55", + "value": 11.42, + "yield": 10.08, + "stability": 13.44, + "price": 7.380000114440918, + "sector": "Energy", + "value_score": 2.084912288165742, + "weight": 9.16 + }, + { + "ticker": "STO", + "PLVR": "70", + "value": 10.13, + "yield": 4.21, + "stability": 25.44, + "price": 7.795000076293945, + "sector": "Energy", + "value_score": 1.3272726281648959, + "weight": 8.91 + }, + { + "ticker": "WDS", + "PLVR": "75", + "value": 29.03, + "yield": 9.7200006, + "stability": 49.06, + "price": 38.04999923706055, + "sector": "Energy", + "value_score": 1.755365828270605, + "weight": 7.99 + }, + { + "ticker": "RIO", + "PLVR": "80", + "value": 116.91, + "yield": 4.9200002, + "stability": 91.53, + "price": 102.66999816894531, + "sector": "Basic Materials", + "value_score": 1.2292359821545762, + "weight": 6.99 + }, + { + "ticker": "WES", + "PLVR": "80", + "value": 48.35, + "yield": 3.47, + "stability": 80.83, + "price": 49.65999984741211, + "sector": "Consumer Cyclical", + "value_score": 1.3008457982807131, + "weight": 6.73 + }, + { + "ticker": "TLS", + "PLVR": "80", + "value": 6.17, + "yield": 3.9899999999999998, + "stability": 84.91, + "price": 4.09499979019165, + "sector": "Communication Services", + "value_score": 1.3783879687039724, + "weight": 6.6 + }, + { + "ticker": "WBC", + "PLVR": "80", + "value": 30.56, + "yield": 6.370000000000001, + "stability": 71.67, + "price": 21.479999542236328, + "sector": "Financial Services", + "value_score": 1.5758700606486111, + "weight": 6.24 + }, + { + "ticker": "WOR", + "PLVR": "55", + "value": 18.73, + "yield": 2.86, + "stability": None, + "price": 17.229999542236328, + "sector": "Energy", + "value_score": 1.0817167915539105, + "weight": 6.18 + }, + { + "ticker": "LYC", + "PLVR": "55", + "value": 11.69, + "yield": None, + "stability": 0.0, + "price": 6.690000057220459, + "sector": "Basic Materials", + "value_score": 1.2183258499265894, + "weight": 5.49 + }, + { + "ticker": "CSL", + "PLVR": "80", + "value": 328.0, + "yield": 1.24, + "stability": 50.65, + "price": 269.55999755859375, + "sector": "Healthcare", + "value_score": 0.952100563515531, + "weight": 4.83 + } +] \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index c1231ca..e7f053a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,6 @@ altair==5.0.1 appdirs==1.4.4 +art==6.0 attrs==23.1.0 beautifulsoup4==4.12.2 blinker==1.6.2 diff --git a/tools/__init__.py b/tools/__init__.py index 9f44b80..8b388f1 100644 --- a/tools/__init__.py +++ b/tools/__init__.py @@ -1 +1 @@ -from .scripts import api, read, weights \ No newline at end of file +from .scripts import api, read, weights, value \ No newline at end of file diff --git a/tools/scripts/api.py b/tools/scripts/api.py index 657ceda..01d6d65 100644 --- a/tools/scripts/api.py +++ b/tools/scripts/api.py @@ -1,18 +1,23 @@ +import requests import yfinance as yf +from bs4 import BeautifulSoup def get_fields(ticker): - """Get additional fields for a given ticker.""" - ticker_data = yf.Ticker(ticker+'.AX') - dividend_yield = ticker_data.info.get("trailingAnnualDividendYield", None) - stability = None # Add code here to fetch historical stability percent from a data source - current_price = ticker_data.info.get("regularMarketPrice", None) - sector_code = ticker_data.info.get("sector", None) - company_name = ticker_data.info.get("longName", None) + + """Get additional fields for a given ticker via yfinance""" + company = yf.Ticker(ticker+'.AX') + dividend_yield = company.info.get("dividendYield", None) + stability = company.info.get("payoutRatio", None) # You can fetch this from a different source if available + current_price = company.history(period="1d")["Close"].iloc[-1] + sector_code = company.info.get("sector", None) + + # Convert dividend_yield to percentage + if dividend_yield is not None: + dividend_yield = dividend_yield * 100 return { - "dividend_yield": dividend_yield, + "yield": dividend_yield, "stability": stability, - "current_price": current_price, - "sector_code": sector_code, - "company_name": company_name, + "price": current_price, + "sector": sector_code, } \ No newline at end of file diff --git a/tools/scripts/read.py b/tools/scripts/read.py index 357b422..bb71258 100644 --- a/tools/scripts/read.py +++ b/tools/scripts/read.py @@ -8,4 +8,5 @@ def read_data_from_csv(file_path): reader = csv.DictReader(csvfile) rows = list(reader) - return rows \ No newline at end of file + return rows + diff --git a/tools/scripts/value.py b/tools/scripts/value.py new file mode 100644 index 0000000..d102399 --- /dev/null +++ b/tools/scripts/value.py @@ -0,0 +1,27 @@ +# tools/value_score.py +def calculate_value_score(row): + # Define weights for each parameter (you can adjust these as needed) + weight_yield = 0.1 + weight_stability = 0.1 + weight_value = 0.8 + + # Handle missing values for yield and stability + yield_percentage = float(row["yield"]) if row["yield"] is not None else 0.0 + stability = float(row["stability"]) if row["stability"] is not None else 0.0 + + # Convert value to float + value = float(row["value"]) + + # Calculate the value score using the weighted sum of each parameter + # Adjust weight_value based on value relative to price + if value > row["price"]: + weight_value *= 0.8 # Reduce weight if value is higher than price + elif value < row["price"]: + weight_value *= 1.2 # Increase weight if value is lower than price + + value_score = ( + weight_yield * yield_percentage + + weight_stability * (1 - stability) + + weight_value * (value / row["price"]) + ) + return value_score diff --git a/tools/scripts/weights.py b/tools/scripts/weights.py index e69de29..f571afd 100644 --- a/tools/scripts/weights.py +++ b/tools/scripts/weights.py @@ -0,0 +1,9 @@ +# tools/weights.py +def assign_weights(value_scores): + # Calculate the sum of all value scores + total_score = sum(value_scores) + + # Calculate weights based on the value score + weights = [score / total_score for score in value_scores] + + return weights From e0f08c26dedb9042472c075964af499667ad094e Mon Sep 17 00:00:00 2001 From: Mitchell Anderson Date: Fri, 13 Oct 2023 14:24:44 +1000 Subject: [PATCH 2/2] Updated scripts for local dev --- README.md | 2 +- data/base-data.csv | 14 ++++ data/data.csv | 14 ---- data/data.numbers | Bin 0 -> 144849 bytes data/output-2308.json | 143 ++++++++++++++++++++++++++++++++++++++++ data/output.json | 145 ----------------------------------------- tools/scripts/value.py | 6 +- 7 files changed, 161 insertions(+), 163 deletions(-) create mode 100644 data/base-data.csv delete mode 100644 data/data.csv create mode 100755 data/data.numbers create mode 100644 data/output-2308.json delete mode 100644 data/output.json diff --git a/README.md b/README.md index f93bbb0..c4c0cc2 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ pip install -r requirements.txt ## List all portfolios: ```python -(env): $ python script.py list-portfolios +(env): $ python cli.py list-portfolios Output: Your Portfolios: - Strategies (ID: 961635) diff --git a/data/base-data.csv b/data/base-data.csv new file mode 100644 index 0000000..5d77494 --- /dev/null +++ b/data/base-data.csv @@ -0,0 +1,14 @@ +ticker,PLVR,value +NHC,50,6.04 +BHP,80,42.57 +FMG,65,18.6 +WHC,55,10.7 +WBC,80,28.47 +RIO,80,123.94 +WES,80,48.95 +WDS,75,29.08 +STO,70,10.09 +TLS,80,6.17 +WOR,55,18.3 +LYC,55,9.08 +CSL,80,192.86 \ No newline at end of file diff --git a/data/data.csv b/data/data.csv deleted file mode 100644 index b066a0b..0000000 --- a/data/data.csv +++ /dev/null @@ -1,14 +0,0 @@ -ticker,PLVR,value -NHC,50,9.64 -BHP,80,41.00 -FMG,65,17.64 -WHC,55,11.42 -WBC,80,30.56 -RIO,80,116.91 -WES,80,48.35 -WDS,75,29.03 -STO,70,10.13 -TLS,80,6.17 -WOR,55,18.73 -LYC,55,11.69 -CSL,80,328.00 \ No newline at end of file diff --git a/data/data.numbers b/data/data.numbers new file mode 100755 index 0000000000000000000000000000000000000000..ef1f2d65aa75c9de216a13ecbf42682a32c583f5 GIT binary patch literal 144849 zcmce<30PA{7dJkW+=QDD!X*O62pEvGNCiU#hEf58LXoOfTv}=CD=KbvD=w{e16=C9 zLlRUFR1~XLt&01uRjby0*DCIIQ|sO~{(lqHO0~Yc-~ai(Jon6;J2UspneE(}bLLK3 zy(JgC3IBaRC-I%Q;T@*c^CN_V4q?sucFp{xLDPO+2KCA8J21TG#~H-rN7i+{Jx>0H zNOcS#r$nJYrwVdcE7Wq4dP#CU2@UwGkU0z4qe6CfMO=0fJ6XtbO4zhQHX@JBDUVYN zB0}IIFh~#)9x8|kw+JEgpX3nwG>6d296~E|2<171x^m!d?;)X&a|r!AhtMZEgg(t7^l1(jIm%#>gMSN1 zWm)84oMS@}F$fW$iLgQ4Epl*dk%L!@9DG{jU@?|I8_S=K<f1GANTRYuKbP;;c2MR39-w+Bvuoc7ArEr7J;$U7YA0VJ76 zWsKqRV-OFdEl1wrNDm;%JSt-fb&nV@(D)I$;=s%-+*$f|edexV*0Xn!1A9D)E2#1u z?w)xLcTb;F_%(XwsS+w{9YGbu0%%ATLgWJK{rByS_{e2cme>T2wdoq_k(k-7Usk5E zNsp|a0|u_4?$*A2`x%?|>(jGu&n;BZwLyypLv~ZQuErKES{R2Mq+(a9HUm3JwMqEZ zH+J>#s$W5sJ!1RxF=kw+Dys5}9WcO{af`b9Xe8s%hg9pYz0q#y(4o098a_rw>ra7S z0KY^=Ut1ufVasGRbB&Cew#eia*-LiIgx4xY6&{qyTV}L8DO1(0U$?F~yl&mP6*76< zB=dEd(iLL5B~x#iqw=qBHb0cft?ioT%0)F5d+TU$u3V*-w`r25lcf#Fm8;eAcUvXv z`|i6s*_Js52$V2uI|v_VVNQ{7cSTN-9dfEM=`4tlTK&l`Wm$%VlBbi~*TCK|~ro4WVWl zM@aU@#w5+#gOEvyKHTx=j){5(ze_vOKDeQy5N;gq3pU9cNQd6}=AbQ$d(&@wlo+>XtYp8N|9{Vb9b6q0L zt!S%Oiy{GM2(yT4rAQ>AC$V0>-e2XhRy4~;FKnSc?x0ZQOeg8-L^xjvq+>cErz-@e)%1s!>Z-(J!IBrIiw0Fe^*85x%MwU1Yw7r443NnzU4dmFZ z$0Zo%)Y5b<sB zx-E}=oyQjDu|;`oaUT07k1fe#OY_*WJoarKTb{>O8V$5!XDHF<1p9$S~k z*5|Ped2C}I+my#P=dmq$Y%6aXHY$&e&SPWp*jT(!^Vr-xR+`7=<+1sBtSpZ$$YbO4 z*n~VbF^^5oV^i~3Ngm59VEF~iR>159%u&D!3fT30Hr&PvZETf|9kj8ZZEU%nowKuX z4z|j{E;`tx0yepTO(|d&rJKlq>Z9HUMPl!az8?l{4{x5P7pZ^F!!Hv|=&K1~gYJKs z5JlBOC#o<6`zzZgnEc>`QAN0cn7_@{C771M30s=0vlvKl^I7ZTO{s9gs5(3njg6lP zQVQv_3`8KrBe(wL;|t?WpFgxFggtr`J%jjtp8IO7X@A3@WDvYCr99F!_`9Fu!&c0X zwag&q`q9&3O=4UD2oi!E%&9#u$D2$OKTinzcyuowkTiCAoaxA%?g?REo_HGpbcfM& z>F{d_VgD)Cf}~&5&Bx=zzFYpiMWE)N&WH&n$DN@GVam=k`NQ9D-5hUf^J<5Lu#{Ij zARzL~@mJzZ=Nu6UVfjAiW5Z*p`Odw$Z^&Jitld z5~Jy)awi!3XojT+iTtjpZ-Qx?q>c~ET@oJ`zMn)kXc?7Ya#yX53rkzI&w|QU^zdt# z;gb;NaU&H^Alt8EN5qG9*ciym(WPzM1XI6nw#9{Q+x3ejmzXC`s+nNQ)xIAWw(8?j zFN3*6xl^O=sCyrSK3JWhPy0+pd;;$V{y`EvUP9WL5q`qOCEqll z^)=Z@=-)gsRMx9GF<-mdBi=N-BnbT3YNj?PiM}$p#LdGlUAc^|M5k)P)~{O^QQ>b- zJWUbhb&0{+{)jO##Jl0QzE)#EcnmROOvmH> z_;sH4xHnm-P?AM}#ei=VN?}Q!wzWi-;%*t>TflO_3Wd@PF@|Y8BpGJzs}Qytum-Re zuuh@WL!u=L;s)Gp1Z)Cq25eC%V<6d51reh1mU0rrh_DtYR>k z1Ai`{6fh4kA5aEZp!kf8hd%)@5il7r6;Pu1Ovo#svq(N}YydmJp-_fE0&Z~&Mi$HM zbUZnSQjK#^4dF~*R463~zbzX2s&GA@))t1_z(pZqc~cOkn$M2qv*Y>fL_Ry2&rapD)A{U7K0BMwe#~d*^4a-(R*}yx z`Fenn$ND~^XZJ~1FRSIO+#z<`VR>~1%M)6wgq{CMWi4z6rd3f=4WVxL) zZ*3_Y$+zxr3Rcnt5qYNzBC_v9dMV;b7HV@SDn6Gg+{hS}oA!5|a5P_c#IrGYE5U39 z{4Ib79<@K}?BH_^?!ep@cwlfhJTQ3>9vD3d56o6*8`lu?*>&w}HRk8DTL?t49>PP> za%Gq$<+CyHP^KyHP_6=a*YceeL{UL}tbauRAS0zoKS-s8%!alTbmyHv$evyuerWa1 zPx_$GjiG1_f@A>R@KD(38?&h<5`Rsl^ zdjLlA*&q4r&wTb*K6B=?92?8Ev0*l*3llpWA%VG>q}?epBk2^G`N1jjGyGowzXE;( z`~-NEbV`q0I?-MN1jFMRw4M@X<|S1+bV>wE)>CBI+)sP1zg|IzPx1cfQ!+9Sj{t;uh0as5rx#)(N7&d` zHa5z}M%&m(o8^@3s>8+#Y;25;jkU3HHa6bICfL|S8=GWflQDE`Y^se-v#~rI%eOI` zjoEE%x{b}Sv6;5mQ!>;-uTwH%q^)?R@D+DPac4AlMsUXgM*{s$vI$5w#x{4QFqS*x zxHFzR6Sy-Cj)*MqL_WW_amS7V3KKati93_IGle@-;gIR5h8cjFS*K(ryy)7wA}{-V zl-&hS%MApanu|c*#!75#wvEj~%B$aE8f9a1Y;3NLmD<=m8=G%qWj40J#=f?(g*LXx z#unSyH#WA!#+KUHG8r{PI8o)%mI&c0i}R> zfcb#MfNuax080VO0A+v$fUf}y0gC`D04o9IPs=#eotLo;8I%>W$*xX+);U>xdc87P zjA^^t#@5={IvZPWV{2^Mu_7tdb#cEDzt_h0+1Lgf+h}8(Y;3cQZLzVfHnz>iw%gba z8~e`2cG}o38{2JT-`m(88~ee=_S@J2^!iZol?fsV7~Gk(JL22TofL+G?wX_{WG!GF zU_D?pU~ke9J+kQ}JlpMEO!#t6xU-?z5wa1m39uQk1+cT(5qe02!M__f-vjmlwgR>R zwgYwmz61OK*bg}H!4X%N*EZ8eACZv-$QmFlD0Ci?J-rZ&Mx*w|4UJ7!~t(e`<) zDCx-6D>io3#*W+A2^%|UW2bEFw2hsyv9mVzqm7-jvGX=oVPh9;?4pfbva!oHcFo4F z+t^RG*dsDmHIP}lPVQ*&BS7BJlEXlb0FDBV0S*DKpfZq6C&jasVLd{MPyi0c0Ve<_ z0jB_`0TqA?Wednf_?G~e0cQYb0Y3uH0nP)i0j>jna#e&dg=)KcdF#efamK5@8m}88 zr^rIT7;R@`>})KS3U)T$&L-H|L_3>gXOr!0ik(fhvphS?w=X9adP-Ogs% z*-Setw6h{Rn`LLkc2;6%v+Zn-oz1ngQahVxXY=i>%+40r+1GZq(9Raw*B?!a(C>t!tO7Eq7uq9)8 zivP;99j?}S_cK-QO+krLpe(3fp+Y?QEZ&{a|PN?d*V^9kjDU zc6Qj#j@a2zJ3D4)$L;Kdot?C^Q+9UR&d%7`Sv&jDRi|J8FLLmJc?;Np3r>OrakV|L zl&mpLcrt|}>ru4I3EcfBlQ*&zVcP)P0XqQS0d@j*0d@nv2kZgt1?&U-0N4*W0Kj~T z90D8$9042!90ME&oB*5zoC2H%oB^B-EN#^K@X%BDzix45;sA54?Qwm^hLw^ZO{JK@ zC892K&f8gqon5fAi*|O&&Mw>86+63XXV>iPx}E)GXTR9luXgsEo!zjrn|5}~&VIME z+je%x&hFaTJv+N^XAkV`p`HCQ5jUtzUUjbYNTmxJO{G_-~eu4ih;5Wbx zz)ip{!0&+DfIEP@fO~-ZfCqqwfIk3#0{#Lx0guqnvmF`RNDgjt0mA^p0V4n-0bc<| z0Wh0x1x{n7RZUjE9hcJlK~Z`g_p^t;WnrblSVu;4vMQN($ng#~!NDd%4d7st9c+q& zO?9wo4wmO&`3`1tFo%N`IM{Rto8e$H9jws7iX3c~gB3eiiG$5{usIGk*TG61Y@UP7 zcd#-CTi{?{JJ>=8TjXGi9qbziTjF3#9c-C{ed}P$9c+bzt#q(*S0#c0bV%@kt_U{Z zf)jMe$>33#;=qiY&+n%J{vO!(`PBaZ_MrafqKB+RkNjzNjW>FaeY@d^QKDyqH=2~9 zN0y@(T;z3`v)aMdIM`YTTjyZw9c+VxZFI0r4z}6Bwm8^U2ixvoI~?pg2ixgjyBut{ zgMIH{dmL=9gY9#$9~^AIgB@_NgAR7c!45mv5eGZ!V8tH`R*f|F~?_d=UcEMGbt1&p%I5yk)AQskfWIeiMSind1CA8;d)2zx- z4E!3ZuyPbD$byTwGL`Q>pZ3$>$E z8XyMU%m^rZ+y$MdPpSqh+6tZAL*vpq=J5;_7+dv8C|~P!1Ot-rIBN=em#BVovlpQ3AAS==y(=n z3&@f!FfI@hO22p?YaWhrty7}fWAC1%ralcDhBr<1_Y+&m(`gR$KmDG}Znz*6QPHYT zo9ATzGjvA2Cq+@cWJk~6zZm)&#Ifq`lm5_ z5mRO6!DC3byHK_vW(CI3N%(mEzQ*FJb@5kvRV6q5;7o z+5w{gR*Rgv+^lk`X4yDDKF7mQka8kBhsU}gRi!RS z^pNCU?nDC(jyph2-J2Sfq3#|EB8LeErgeqITOIC6{B#Nriuy?mhb|^nk#jCBLft^^ zBOaeU=U74RqLO$iZ|d~xODZ00*iUu7;=w-`R~$IHc;YN7-9LI|_58Bg**9o9>D)l= z+n!tc+rLGGUJcej$0+68j_yx|CFRsB9RA5dQ-922YXRpYUn;H}TZyF#>4?+X`i&XDn>L1v}4~$Yh)hQHyLZZ9Bw~#8(oc?KBW$H~bwXb;O?Baz*Wxq{d zO{F~>XUaQB!rDRpSUXqiFfatGJSPP#b%vUP?C4|?9H6f+j!y;zpVW6(5XG+ zhe*HgIsM1-#lK8aA@R9i9{w?Hbm1@`>EaaUoVDjBZFf)vpWiWS*M&pF?u?_-w6)Vu zk2yJGo*cnPoD=^zpTF;-R=U0I%EIx7k5Aml+iddqrRQ#M+I|mQFDm}_deOWwXNq~7 znNf!?jMJsRPf0K9)wGT@owwxXzoLiB$hM>p!-vcI+{P=t7Ld%_n4Q-ocj9l$h40D{ z;Jht=dVO@8cxhXTlFnV6sxQ-gvY4v5h3Df9MRBIdzx){=*5}Hn2~phE(}_yNpQ?;7 z{G4kX25CX{B552)y}gr=v$X|P`?W(l>${|L=VU^9QA4D-a7MhzdHCIgu-ktfj`!$9 zvZ%pa_tcOC)80MJTtTrRxu8oXQ}2a}qF&KDsuyij6LIP9tmP&fh#!(|$b(G=}X z^MzRo~T7{T@xV1i*#{2twOdzN?#L^zJeUyK8#(>zmZKd(Xa^VXvE` z%rVifS9f>-`DH%6QPdsgbf(J?XVt0P7gS^nQmX~EOs3@WEi}bZ#tO<ZB z^fH!P#AcMSVMT0a85>^23d`7tB34w!Mi#MIW$ddWHmZn?E@ESf*w`XAu81uzV&jXL z?ob`|m+G3*(tE$WNN*1;&%32QGaFgur(^osHM?=I9Dn36YtHtB{$A}l)G36`Qg|7->RL%NWn0Yae=IG3iMZjnglZYDYm#0 zBO9zD8I>;3yQy-ba;C~l;IDKh(q9v4W-1w(o=Ba0<@tN%8L8x(rw@++c1xgAJCx$< zz5*4!gT&1>CB10$3f-(Dl&Xm(&6jw`x?Y&NQKIQA8RI-jZk;5GVPqH>`*j#m4I^Wp zV#9&m8b+k{C{A`(E@|CTlo>r*bmeZlt`=V+fmTIfv#v3PRIQQ<6ndDnLWnL*w-Hrl zrtrM8MbssY_QWgD-_zMuF`=vC#yZ0~rP@!drPE8Lf9zeL(BEG>ZcJKlp$BH&B#-t9PT=mv_9+|2^`eb zb!@2i24d3HOh2fW@T^wX*+B(9Y$m!P2kVFUS_Bc211^+xdPomoHigDz$b;%m z$StD5(BEmG@X$bqr-9N#13jJwiVqERc^W7`G|=a1pa9W4QGh&IJl#l!P{E1?a>XbQ zt=wj4KC*AiqJ8^rubWO|Nwf9m{z&SPx!szkvtox}Rz~lh84VJ#SE_SH-^^YlOAsNC zV82qt5-+-E72cimA^hZ!APXoa-&{gnUovdAR^kHc_OX2<6Qm%$65@$iG-_fHRo*0) z#MalPxl6==AwUwBg%e|{Oij{AXKzs}im?-j9vP9L#5XWk&`Cb)f|t-x`SCIa`r6)7 zY(t`vg7tNsn+Y!e&3ZoVL@fOdTWVB%=2>P?>xfdDB8ht9Yfbk*8|;vU%5B49FlE&4 zl-|ETW7RAhmAI5!_jBR4cuA{w3;IH>L7ds5#J~|k{L~uAIF*(t6j~DGp(RTAb>X|g z4~8$oHz~BD)<}T80`NrWtMDcGA@IGZ))^q%5g;?YDI)K{HxZ%|bna1a8i!L+D;f19 z$l^_1ju4~?_omfxiC2yxzLQ+r$1A=_CYtmrXORro2St543HGw^PI9RNm31t$lXjt3 z{AQxBs~3YTYPB}s-4ES}NHVojyTD6hA@JvWDMUdoVKJuB&hbi`E4qgSJELSfqGai9 zgp4WV*hf=@V`bq}8(VN`kCz59Ch}Zd{{u{O* z*Ur+#52d0}uXYZlxNt*!wPtbs!{B8o-jpK7Y5u5-zd-~^GoT@AzYKULPR%HH>_Jf+H_q4D2B)*3|%+7GPli_ZCfqH4{dB$%b z+Ri?S8we4ct&}HQDF*``oqSBDo#_gdJGF|FS_KaslZ>>-U7<2(ns72r=!;NE+uBRe zsR!i=AF46Sz>+9yvYfx0`b_5Tpvibc4Vuii`<0DFOMd4SdP&u)92GweO{svOS|f-LwXahsSdC z&P_s)y4EIC*>0T%DwWv*kEHsc@=eG=5aD`JEM?urIUat3Q|k6zU}Hl=tRln2U~W&B zNfcW=M`$&)f*QJAttm((9CLr601o9CQAH8i7rh9PrSkAEqKM@%@#saAz=)8F2$5q7 z9;@bWbb_{ndKIR^!=~<-G3AF5Uv-ksKA3me zvGU}RB#VzY{n!2Lf4;u3JVTmxbpQDi*#&2|QA29`hT0pAu(;RhX(+UGcQ-m5!+yMk zb@JSYbFV*G`}_A4k4`K(dUfIa?N>gOvI~wbU;S|Z_DK{f`_1TW;%40zcXGz#P~;&$ zwLIg)Or8AWep!ZhR2s#6jUiQ?lKwf-n9+#syOJeX7~eg6ec!4%_vQ?d9CMef8}o4b z{@K*J&G*194f}R@QQa4NQNV;+bh_6^W_owWAXAjKTNTu?Uiy}DV)y|kX9 zAKHAulpCd|uN|6qm`aXQm(CQ<+?w4k@INgHZ8R5I zb{WtcS$ZK$8_jy3rmvyz`-&^iSFG7Rd1UDxD%nTuo%j99_1_<)>dyOQf%Dt1l#Tkg z<-egA1iSU=4uXL)%~Yy>GhL907_uGblXtzvtxGSJu04`_wYfCs#L9yc?%lfWuTJSW zkE&AB=Fv$nRGJvHYN1C)?{1(d1B)cXTkP4rpNHp3Z+VZeuTT4H#MW)I4pC{%rSmyw zXWEKW3?6EE&#cTom@+4A)At_I1rJKsx5-j+j{dOs==hm)n@Qi6uljCR_SQ)wtlIWh zwSy7&0u4vcUP9jtH4ch*)aEuVPpUa9StEn|DyhjQs1wY-0C+JVT&Y?HVA zN-+wJnLA~{@HGpUm$s9>DbJnv{kKKVZ>eDp_L}wYJva*`q3`8x7n*OKGXKGkhvp9Z zg-XYNpT6tl_xCP`q#K37@9~y)7{ zX_vjno6~C0w!Y%VtCuDXJAI(yB9%7fo>@Ju@Xxzf=v(_%%X+*>BV}l>mJeuX*?WpK zJ32(@I&aDG?D0z;ly;Ps%zd~tduh@3x&~;9Czqn@1f#FMr&%tEyt3~s-|CMda z`7-@I+2$jffj#;S3hVGiI!U?v!i#$ToZsxv@Jj22g(Oug2lnjp zVP-~+;&Ep`pe;L+lONF3HLAI*$-ogci1vC7Mf1fg>|Zj*V zL#M7&>Ez8(r*2=KVQ+mhNY?*F+CoFRTKREi&+a{nPmvm9&M2EcudD60M-H~g$CoCF z?s{7BK$TKBa`|7s=WIUQOWJVt>nTfqT0j2vlRM=pFVIoeE7hG6iCC|cG)p(ieIKaP zcPX2{Nbh^LFZ#jrdQudtUvUlMsVY4<*CXZ8v6K5oo!&iLCM~$K>u%YRGqXpXy(Me) zA`RwX?R~wZ>o492_l@y1J7hs_d~c%~lVf}dB8o13wi|TW3a$Gasz9CZ8!C701g%Jd zL~Ym`8miG#5A|p0xuKpH3faX%cA}8w6|sEGQQlV9QM(KjutF)Yqfry=+r+1T?${=J zxk*vO&-D$NK_}{dbl(p>WMeDWLnfH9#*ZOs*a%q2cN&6bC(?s|z5u#-4}o;3AcA_V zkJ$1-ppfX3rmX#bE0Q&gs-YQi6N%4_MKi5HsL!M=P8C_HBBCBkf&*r(qa1o2%7!Vl zM6ZT>k>+RRoUHDcT)Y`xxwmt_vfh`Z{p)$89g3W0T1mVD_mE_TyIxrcwN?>RMUqyv z>XEk*+Y-Zjg7kc>7d-i-N*Q z*)p^z3WxSY`7DBnBF50hB$Y3JF?miSXnz#4GxikYiyrJTg%$ytM0lu%DezDU1@KTK ze5)yHWdS@?$TE1S6tgx)o+xz97?_blThSgQhoXZK>DPvhN4qd+MjLZ7yu#q20y!B} zA}522TtX?|ri%TsyWycu`Lr6|$x81QJk;8KN=C~#VgBPAQc+QSLndxwj8%=chh9*}oi1^H73_LVO1w6Fs zb$HlcdkY@+*FJ=Y{k6FQ1{6}l1CLWGy#jnGQvz6^a?>mm2CLhDE(p30I@Tg$pxP&G zfH6c5vt^rJ4Vq_tzC`Yt!uAt|DHl)fSt{^Lw${z#0uJtK_qdz zj-+ZsJOz?gyfYFljwvC&;gX>3>!nqAOQgS;OSRo}B6fiV=4sCaVLehm&KosTqNthP zt6u+Q$OnCN4Lo$-E%2}*csD$3c9sI~V+j|uAV51fKwI;b)J&`-tbW`)@`w4Fhwz=e z{RMUU0r!rxJT($1YFqhw>tzspK51XM2|?a1wa}EbFY@N7uZjevVQ*Scnx7;f!6P*t znY>Hn=vptN+NdEx>1jynlQvJs-3w~&`bp~_Vi0hreJvQ2b($cu4j--fsXN=Fv_nKvoES!OdZfn4>+4A}7rwg2 z;=%~usp9^Pve1S%F=C3?Z1mhh_B%cmE@bx$*@Hs%u#o*x$Zi+1KMUEMB6hEk-6>>q zi&&}YQwa-Z-51)o63vhZcoHs17!Dk53u2Wb0mL8@Ko26}Zt79x`=HWU5J9?927uxi z6zW0Y_M=AR!H4d{!tE2uAG?kkkrf~OcM7#zqcq4dsD0Z8dQdAZVy(3$YHvQ|4^WjF zA6@KF6LP|*5j^1>jhACWz`tNyg$|RqiGLZm&>K~>C_<-e8hsv0%R=UZ*N*i*S?p0$ zqY0JIi~3v?#Cg_1WS;4-rD}-`hNU<>L_^j(Lp13jn#ht8HoJt)DPi-<*!;5gAsX*{ zd@n%H&=3tbH1`V8_#qx5uB0R&L?g^8(ZZcqX0=N5%UG;;%czE8B1|1$yr#$7Z5~z6 z(Y~S~G!c#%&_J_HMUpc$6B0;rG>O&W6$bvGZll zR88fD5JRfwM&r>X>_izmS;oecu(2gAG#xj@g{EnQ(`C9ejUILLQ0A}hm>aKMrxtSM zL9I2y*)nHq4M(!nY4ae7)6?}tG^)K@{t!X*zAZHxG?#$}r9KeAqkx8Mp$TfCAs_e- z(~7!w>a=WyvyqA@0w-$QM|)S=%`E9HptyTWLwwthZ=_At2tSr}Ox2Lny3b<*Zii~? z*VRsrOYXu2Uyaaa8qG-sh`W1SiO$#J_|iJuE%tFGS^(+Weqdc5(j$O|r#1LOdZ%l@O+G5T@=Br(PivM63q{t-`E@SS4l&0@e$nRfIs5L&&NjTs zB%<$H-uLj9ODet2C*#fN_dSH`W!kuK&Gj-aS3}?TAn$jC^Hayejhy_|D2P9maZ%d- zJr8m&^Li@0^LUw(3Pr7e_dJB!>W*8QKru}&B-SUz1CvvrrSZU+4)5Txe*@&@yb^Y? zj9r2}C}CwKY+(soT*AI7VM|KbQuN*uwycC*E@O*I*w-cON*TLq`UHAp@`a&;2f1|V z61n)-B{J{kB{Cm)8DL@RB{#AR$YKOuzII9YrbLIN3$9%vORim_fvfYo9^{H?X^_@~OT5^3J-8{|N83sR4Q)8$u0?$YDR<496?3hO zK_32rPoVgD5#(=+v#C$bcYY2o!g`M26E3LEFb%4-IJeE{+&gnXgSI_;XS!_7mI#-v zxl}>c45#~Ri>&zEio(iY07R5zNpT`LO^OKD6RWkQp3pbE z^d#2W0ww{ovxV&WtD=Q0ICPatq+q7GFrvMR=1e6*&X*c65v-^|Xi`fR6`D1+rpNmc zeZBW5Zn+bpSNM&e?QAc5{<_>=rU65p!p92M7Lx}Mg*ATjZA^)Xg{pk0(AaDpGNQ;o zn7r?yQBl&!CwTl?(#W}1c>cPzRv@yLYXxhs_#y#m+m0v#10&W7DM<>y=aW~4BqDta zD&&j|w+Wly$^J zFP;loCq#GVFRU;SnB$p3)E-x#Jg6AP3kMszw zepSGTpIU$N;tB>4ux)LD^b;bqLLK)J%RQ(wLi@riHUeffPFb~Pt)MHdDg4>--VdqKl!nIqSx4TdaXv4tW)){$!+T72Ygbc_SR;f7SED79 z^QKZ)f4Ql>W_o!ZYMzHjM>OTUnj_Yd#m=drFTB#HhE_J?yqct^*5j3zQ+4N5wVbMd zp!eQA_%(MPH@)ymKW?fd>>o(V^U5i8`Uk%7ibVnqr|ZcZvtgJN_}INLCwuo2BB5+_Gt!p5$YO)OJ$g8P>Im$8ssfgngCUBG%=+WQ0zxC$dg;V z3Dk`S3h$)QKv=M$Xrb;zMcwsj&E7^7_FwAXNooVk9dS(&r@?;cHf@pE14!HE)R$;^ znzz%C#*?~7Ht)bQk~sAyZJJlDfxF|i?P{as9E^aM)IdX54b+4=s+GjG8+dg-DZju= zRF&`t^}gy>O~R4S5{CYx3Sq1P{wB=d%gc83jOL$;bNDYDN4W?`;vKY2;>wf9g!w** zKs1g5wIY)wi(DKoGe~G5SnI@Wne-Rsn{xinmG_jP3+B|RW^pQapFOT8=zppd2i>45 zVGm1AhiVdL&(;%ELeCUO5H5KI5z9^F-E&tjVzuCF6QGN7&4*xzgWtHPK1m@UjwM1wl zbTyvNOEv$Tm6GRWqq^bcdey5mR%HM~)$vT(1TGS*HuLI_ez;#v!j%K~ace+(Qibqy zBB!`#y*1S&TxE8irZWnkBwS^T zLN!-~@N-h7?`B>7Y7(v-qmR2A6n<3*KPOe_YnF%ABwXdy2{mFB!d0XS?{3?tpV?SV z!c|5dbc$67WBO6GyGtS3|feRXfjVn;VKn?ti0%pvf=M*ry&;oQ>No810A8TL~j}iK%{PwB`WIcz0!qB08aYlC z)?pyvQr4_=DQgyRWz8CwvIdTI3wL&KXE%5Dapxd+j=EGiXJfc!D}~^^Q8J0lC!3sS zWzS#B&dQ9TBl%K9WjL2OQ$d7cFPBQkdS8G}=f_H&&QIZf#CpN+u~w%s)o28nzA=ti z(nD{sDnJpMh~t@3u$1n(OXWAWw~B5KB)%Po6QS)iA2SW6ls2c4IE*ebHU<55^)9oS zG>1)lII)xEWRLSF+4I-3pJZHRWtW97Rah&QLg#Bu&`uSr=!n`|kA?>mD2dEmNu&s- zAsU6Okr_utroiC-fe%#$$0NgomOjM4H?6n#BWneHiw+1MPNF-JVugz6f;U7@)MMVs@o`24ltvbbGEWN9iTQ5LsusZv4{R5rrjFQbi16(m?t zIlQvIs?;V-3*j~6hnk@~aj4{G1&QL-5;@h!obf8JmW;8WK@3in@`V@j;e`*+P(V%h zwhvvOVePUvjI7~WG7`UCWqrsiU@!IZ!SYv0WZSVL(!ci^Rfe+V{Ktj-Ld6UB?hDBy z5T%jx(x^I)Pza=L*@!bL>q?!M2AUg#P7@79`lp-K!oyckjy~xaR3Gg?Igmb-m*e(i zAM*s<1pFKIC;X$}t(Mvq;J?K;+F#vCFUw{{*(L2)B4_{eF{s9h`ie{s@Sf2I+5S)L z3!Hs-&iMrVrf}Ry-#hqu>?o zZ|***V5H#{oHn0WT!Y{X+`YViD0v0Db)4XyUR$RN3xH-dO{dYvsgKR>zus83J~UP1 z>KPq2RrZW9-ZMhRRQ8OZm$HwZJyS8EwhpS-;(1=Q>{2|qPFl1V`)-11jqu)tEGwSi zLzDL^w1vS>Y8?aji~m~VZk%T=Iz_rlsg(i*@5KSp!O_9`?It0lR@wSkKY}qiWmP4| zft=&{!zwxUt_H`T-7{#LNIA#A2c-rR?oZL4HoCaoT-^cqt4g^`W!#~`E+ds8TUI<` zX*=s73jO4w(d3n+uOWfI>u~m!sDN-IvHtW#O&b)T!F{d9Cu*e`@nzx(e=j?IpV~=y zUppbAl1)ml7*d1A;C+?YifDfd)rFYxE{GxTl20ITmyrGBs`Edg&tDt<6G~PE{U@|I z$?CNBT^e>EObo={h%jaA&QuJ?(y&f!b3HZEwp8GE9}TIA&J5*z2sQKjUa_w$5!;-K z0dMQ*x{M%&cK{3Z=tS2=qaho2Zb~x3ElmmaFnp%ZuuxC0PTQNs_>rchHe1# ze$FpLpTAaq8LB}QsS=whwd=jDMMPaZM39jc*IF|bO>Txvt^d)D4TWYHDR6U8___7w z4~dVjuLfr<3O!b+jO!oJ#?-F;J+N~O5sWz)Z*(Ay$r#zP6^`r-$kI5QDPMS5nkkc< z7~)BTt%>2|74d^LtqZJ9S6%Rq$qR3tz;Al@n)!3(%B7`ayUCRif z(;)xf>(-le<8`2DbYQ%HC)5C}X*BqS+5Xy0xvQB5uVr=GbRE&`P11fQS`I`*hg?<` z+C^vWtedWb8u>^Z3IZGc>xq6u$X%{#8;jHpd1vmC?PCsDtg-%(QDl9DccAu`Mwg`_ z-p&KjFTBDJMDzE|(w^Gsp(L3XE%bLUYnKcSf8XA;{tkHp(jNRpi;>B=JjvA>b&uuA zqJRt~Q7ql-(UuOce6wl`G#Ogj(5JEgyZp_%T?M;RqZj6U>p(Pd=Y!Rg57w2zk5$d> z4@B!Wh6?Z3C|iHVYMqV2dUcs=uxjtUo@ORO<1Z>lYe;}a^KS#z^7Q37VP!BWPb!Db z9>_(lU95avUe)eQtduTu^#7A|(STvCEii3_A{9t?(RXqH_QmKl!rhR~?nEeC&nE_- z%&C+v4LXij3Z42_^84z)F$;>k1va22#_{?tyHtFiSF@78+g){zH)SL3Ce%5^VYLMe zvcntRgIBN@Dme6geZU1T>yNq^y->RcLQ%uE&J%L0x-xFSVO?XeRnsVCYxQMc0?b~3$gN_My zZA2ajoxGOT;%1Cs0^`MFGlm3m%{$Qd@O7U1jlW>UfOSO&gND!+TfhyXSOd7M<=cji zqBpR2)7msM8Y82O4U8?UO^nU^_3dsP(63)#+_!0AZIJkOb7MRFi9{C8iO=fSzkg3e z^R49Fdlw2*C)I^A)CI1`%WzkC-gS-RGHLr=a5N_g}MVlWp)}}|ltbuGE( z&g9w`gIP2naVSq5^(3*Y6ubb6&Bj>c+aK09zS*y*YEcY!8`nl+Osv{{{Hc3Ln}!xcV=(~9VpHqVr~on6*sflk;9mH4)Yv(z--nr)nCUHI9VDo) zNED*XX+^|qccc2o2s3CV8XDo-a%zZrmj`-~OBji#GomwtT${e6x|#&TdG!>8|RgL1xCZE=20wZ&2SZ zG{?`7B$|*QLD4k50S$>Yre$Uf=+_sUG<@zGTN}Ie%QANBnH4xJc+e0-J@FN!tULHk zqL}SxXd%9eyEhfD3C8G%5}{2GYu}K8nO%DH?b!t_J;Z-C$@2eF?33{!UDY`AlP>rN z4jeLIXo3YMHN+|2_GuZ|RqQ#SN3EtLwqAyJMrZsTNB!g^oIxwrLyCAsQk1gSROrm= zeH~FM_3VotWmS<-t4grMw1Y8Dd`+bjqF9UCKiaD5+mtrDXp5fL3|XaA02_A0s4Qdh=RNLz4Q6fRZDt8ig5V*goVfZU7ko2 zZVQc!!Nxb2Sji-$^Nox^5!>x_wVz6r#-W~LA2wQQe`DOkMq~bJH1@AXunsEGsIUYC z2_oWLrcntv5&@S>B59&NlJtv9So%fhDSM@h>Srfgu{C6`yGrB$tuyvQ}bA9ALeMUJjoWNbOCQsgR@0#3S9 zoA;+zlQgSJ8apYUDe^xokeu}E1>bk9Ch3@}q_K0e3fEPv1)Q{H^v#@Vl777^Y3vBC zLb{5*fRny+s%~KQNWX5bN*X&&tB|f@G2o;NBINg~Njjn`X>0_oLb{60fcM-Ut^Z7V z551Pd%X{wYmdB*uLC?L>MiQ|v_8HohU6=0)d)iZFQV+{B#z=!FMy&U<{hD`P<-c~` zuP)OS^}!a006>*#%9D+BQ4vo{jHMShSYlt{|6s7>wfjZqxtZ0f-KdBsRq$9YVC&*D zHSiCUB`3YtIBt10Nk5T|k4a-oWEIj?jFy}YGgMBU!Is!94E0ttIe zt8iV#c*(h5y1D)5x#Ou1lpUYL%B>j)khz-M4NLMjqa#`1I z{JPYk5F{M1BCRS=USP&_%~b|Nkw*7RBEAs-^(O|*j~`nO8#dH&Q>D&jz-&16HJ9BI zH!`1Y-TbM+W!aPiH+gwT0(>9%3iuzuSNe4OVw0E0yKX*vKXY&Ln2PArE&V9J(f&Po z;k<9(xZvke;F&{MHF(E_D>^djNpBoZus(+U6JI%ixhIAA`5*RA6)y$1X8xbqKZyr_ zR*RC!K**EdNZc&y#jS7LzAF2>NW7)vQoFxdot8#9{?YaEIYyP1u3{MFq>nxPs>2hr zWwmQ7`blkpUv3)3_Vj03yo%wH=P@lJ@a+Gd$CHvg&I9}3UzUfTZA?=2s)+q#2xIH~ zzgH3ecf{Abzw&0?QWz)!e{TkQ^6!Xk1`fe?^&Xj-16_k)UlhsC7H%~9%bowfq3*7` zI9Xn~Q+>3Z2ED;Ql6B*sR|T2zk6h3HH`BL;3|BHfHAQq#P5d30sECs^{O_0)^4oos zKtdw+ zg!c>21jo7F&mSXRdBQjj$Hr0BIH$VuK7rpfC>lrUPOdAJcPkHYAZJddX z1F>(vd{>19a!>n-*bLFwjm1i%%{ETIs%>43W zmS1>oGmbBQ{;225Q=su@LCXqX@SkbV|JmB}|DrbTMgPFI9skBw$W|2of9!n;SQN(= zZuLx$G{eviEg+6C4(K2vGl5}IQDy)Yl_)WY#*oAaiV9&-#PvplxFPNvDp6dbMvWRp zjceTEo=7wHBa#7v0P&IcrbE>+8spco8nir93el&1Y8t19u8V7E8;2Q=W zXg1Gl0dFku8Uhz3aF+q!9B`cn&v@{j2j_V6=C+tW*LK!jbm7yY6h1uWQcoW6tq0e6 zaGD3Fhmw;$$&DV|TEW#5zPM?;A5G{krgV)*MrjIoCpm>>ow zh|wHkw1OD^`Va#>#J~_SPGlp-Npi$M74af52Exb#XT(4oF>po{ z@xKHAFfdOYeK~lEsBT}ril+$nWHB@D&%1y?167R2<688!fb=TGi^c4+A1^c8D357FB{$vo_nVKU-1_L{HUe*KYG!7QSSJ% z|0|w#&}MBjt+r2U<%_QVS^baP*OauUPJaHR;|u$%o{4*B;lHL^m@0FcEh}XfKG*Nq z89eMP{%v2UU!G>VN-~lNE(*{$1(C|`f zMp~adU0Y`#7~NwIsDwbJU#^jOC8g(O!rwFVAWZO8Hs~`TB{!uHT!R~&lR6F*+Vj6Nsj)g3tFWoqwSoBmioYXM*p1L5h=sd2fqoM7?(m- zf``)8L+6es=HWV3C3q@%Mcn{Y&P?l{mfaV?Je8nRdbxQu8Hi^4=cWuC(2cpJc$u9$ zKiiLRA*eCb?KJaxWIIAam|}ME{M^Qbi6cvfHiqGBlrG9nCtN5pJF)=@L*`3lNVsp> z&?$sO_^zZCVVi?DaD#Q#83jPUq%R5`U80o<8ghfFST$Bp~pY($zUBIWHv@Qu39Q zd@Uv4NXZ2}3QVVc|}M`-c`IZBf|&}1rkOp{{rD@_)YCrCiM-)M4;SZQ*d{7#b_ zaG@2rRvFui((eb6e(ab9f$lC4ID>`-r~?{~MS`nwQZimjCP>LdDJhhaNm5cI(eQ4r zpByy2M^U~{?$hKR`H?1f$xk%-f&5I9JLG}bW6%&DxquHb(d%o*JFJHWWV|ks@rFdk zn-UqnlgN0BlF>xT_^m|7EA-Y-IuK`yj|v4Hr!D{;LqW%B#xNNPrF0Z$&TLX*r{jA- z9dukydoYfypvhE1r#9&LK1~*rRY*WbI)gz+I)gz+I)gC=*GgmXU105A0^*(X&%oIAz^eFeoP+{wxtKzE@nW!9dsCmB>*hW zi`nFmoqTkff_!wEf_!wEf_!wEf_!wEf_$fufP8d*f_!v-f_!v-f_&#B@*S4Q=P*q{ zzS^fL?gRP$DJ2)BGV$oHv4zRx7`9T&+*%Eb;+>U~S6a2UO$ z(-hR(Lz6_Zm(r^{*+-KuWIs*XlTYZ_3!}u_DUH2d^u};XyPIMTv=irYIB0i`(k?s! zW#W98P43%iN2e)hN2e)hN2e)hN2e)hN2jUpVm7}dFr;qW7nFWu00I5z+ywpT+{82< zSAqc$JB45x|CoD{eg?@@iH5&OG<+=fm`>s86c-XsufG$ga0*=cN@VyQbhnf1to(aeX)gwxCh=iREToT2Hy@d_?vJlRd38bY7HhvvlA z_tKo$`aYTyTi;J}v~~8Axx&}3e#?9{qy60bru9o1lF6U+CR3cF^nFba{3t#fQ8zM+ zA!RhpX2>R*=D=qLO$Rb$3rzPE>z4*3eL?Nn;PR&74ED->@ht6B=(pcKhLM7)Z@hzCiYl-8)A=7&0En- zF(sfaw6*XKQ*-)`aQnauJB)%}>0@j}w8QlQozsSlL!r`XI#*F*G^r1O< zv9OLaBr7W=cSJK7^=J7HLR3OiWuxpM(rh?2t;fd)#5N*O9y-X!;Fl1hH0NgDad49kllak$|JpxY^>**h;6k~<>i zZxoW-z&sXZKT9}2kZ^t|;rvL%nfzi#g^+%QGPYn|WT7lBh;%B1%WGs^oAp4^ShE^G zoDG+DxFiiFct5hpmBj-c}_9iJ_Be74fkFpAF(ichqL;UJ0Ll5Elf4WCaWd=5zX9F*`mB;j*dY?0z~!j8}9c6?6K z(r}8;X^Ky7eTomA2pC0l8ekMvNcemu;qx`cC!FH*r5&HMmH3>o;Uf<9AZe&KBmb1} zxhUatNoz`FGr6TQls%;*kNwU?G=ABWX)6)1(9W zmL@NfD+$oU35h#G$YTIpkC0!b4Ln+xHB^#xrjMfUHwT?)Dqf&BAN^Ar}$dJ7@Hn*sE# z?`9z-$YI(cT44T|XxdTOW(o_XuuZgHe+nz7urLZcPGLn9c7wvgDeSsyqvO8N6wUK| zw?3DUlg%f2d0`)3Xsm4L+K3F)j*fJ0q77?Jrh0zlrO<;TYtT*|3$8ki|HzAO)gPSB zqy+|sJIATI4N1+@jB4$Ly?LRD(%U(J1eC7*6r$0RNJVU&k{bOGu3V)TZT}m$h zL2GvYT+beEiV=a20-Z;aB>tf%(dnB(Ct+(tEUAqo@Pt0jNcb#o@-DrKZ$z(ldXa^= zA`#}Vh_Q(9*Xxr-^tweh3io-DQhL#nUL5cui|IuxdQnG9mUw>NMjuN|QD2iz{AzE0 zTN^Uh^OE438mJ0xrr;NG9M%c?H@qNL5Sl9+J2#8{h#_q~*F^!N)g15N#vKJlrN6Tw z@fG5pmaFsE#R-1(`A|GZNcB|&lTe?PUY*nO@S~9?bc*u9282&zRl<<0RM*C2@*A(l z{?534MiLbXWab-dV#^tRrl;a3GTSrI%*^9bbB3EYG}J*_q9cLuP$}&7A}p`4@P`_5 z^IHqTZ8QA=xNcSjs!+JTJ_;LIRDoW&xJWOWS{Og_mrJ)Fu?sRVc7!*hcoPeYinMac* zWIj#mk_AX&9Gg&at>6ykf4C$2&M(=_d<405|F>B ztq+W=M(Y>@V;CNcvuN-g1gAlGejv4U=LZLC9Ak2a@<@I(Q%Itj9&EIpsjH%Puzg!| zJxK)Pq!NO;YX()&WtksL=qhC{&8gvS^$SoyP%7Msk-wR!3zSo-l^I?}_QsTKW?-JX zW%5RbSvdgBN5=%#>zI}~G!2WWl!UY)X@<_}{RiYlrgmonqM5Ex zVX%Z@U<~sh<6BpKgkip67%$aDhWS|`1U+I%K7Jx)%zWAJZcImJiHzAGWA@6(5q!60 z%zc@r-(aTQBN<7};A9%csHY|m0+=YKw^uaICU+%oFfL6p$Urij6v0Un(AH&|Zh?>^p~3YKQ80;nUZ!WxXzAUM6Wv z=c;l^0W-88hO#Nhskk3m-B+~?>u>8DB>oN3WG};<5dF^HIB4lP1M3x;Y=f-fHd#Hq z*o!iz@E*&!37#D}7p~MWO#Qf_(nE-d>=>TSUTCP#b{E#ON~d<37yR2yV3aO#>6w|j zwm4^zmMdJ^M99$?Z4Zviw`ds86>lN+@lCjNl(qQ5$&cCq18e51j~jF#`AmooUrYwZ zSv{3Ziy&PLl!gYzVEo>V5yr#683s(S=1sl;`v3M1UoZz>^) z%+xU1p8VY&0o&d7_;l#oagXy<)p$m!)O*5;EYIC3B(8-VTvkqirNtw$2aksg_k!Jm zaquyxDC9b)^|MYS&J)?sqWaZk3=7#K`y(fk0L@lb>Cz>wZ~Bld=Sj>wRZ`ACoe<=l zs%6xtP9|Dl-rf`{W85M=NlfU3c|av56wi**swOi^wO-q4ms-~mvn_QR@g8t6&*HJU z&G3k61a1sfhJO9}WrWELdeYHXPc}2taGy0yhR`XD=v)g^IvG6~u5-??R1YTQGipfR z^d2L&#P?K{dN3UP{)Twy{5G;mWw)Gud0m=Yv)PJlmITMN##((HxG;iAtBDXSp`X5lVMghPfN#F_Y+GeSY$r=hD*MHRSa}W)J@W z_dPyuZE4}Db5Z%=JKx%wgXdMx44xmwV>_NVJEsWpNdz% zt|V$V;Q@}RtY1fp+j^1^VNeg!-0!>x*-=nW;FLNcb#D*n%@gjqv5LoCl2r!g(K}j; z+PcA`V1q~EP{MEUApLOFZ-WQ7O~wdoJ=BzP-N53TRlMI(&Xuy2MeJ1vMh#ANCqS%YgvUX@gYH03Po8Aw{(6BT!d#~joN`_@5We{*GDKqyh*WalY%Tm zX;c;#reN5k?RO$$0^mKVFw7A?8qE!T)4Ex)aWj^nsHC%2$n3#XA>;S4L>F+{2IgKlu#*vlQ4(y^1qy;M3??xt~LPp+~nr%t%$FqNRmcoT! zoyjVxs1=G>5^FC)#`vov9Uetlhl>>&b#SYwT27sN?Ll>|g%5$NurbRhO}MSKU=iu)=<#QM6t`Yo}m^l=VE zKp*(zOnXVSr!CJCOYF}ksPkV3>}1-|+NTmlEUP?V}Q zTtDyC3iLkyv2za;P86hYVWL15n9j@YXEO1>IQPIf1l=@lQYg~6@gEGeo|APs7ypPB zA}fUp=VbiP!^APY?4fgFU}Jy_&dDgP@7F84Uyrwp5DViUIQPIk?N}*XXvgxCMoJ|= ziw|@xIrR^z z-`q=p%Q0PDH(~ZD{GKg$o$j@)zS2uj_u+*CKByf@^V~7YV^YAcp2`TNPRT>}InX6q zg^UcI-S+ZRW7JsH5DlZ%MMrz!i-qIbd~pg9Dq0c_?q7#K!D8;%6H+!OsQ4uaIy~Qu z@s_V`8mT`S>c@W(LGrcR14(2C_K;#}6i=f>8YR;xl|~sf%B9grL~H?*fuF&mY#-8Y z26Zs6Uc#`e7{vyLY-418q;1#l7ZvWY$Oke&SEHQ1r!bq)KsQV2O+@laV#pERd1? zGIC5tzK{`2y~|*pW$EF;n+gPrz6_CJV}bDUbl%NGqKzSJ@z58@eb=PKCQibMR)=u# z>oG1`$YYZTBTRVL0(^mQ0;YlU*$MFxTFICCoI19T-G#mN%V)sqGP{O{6;2fS?@v@GT())b4mG(-QnW=n{^a1jv_%vT)2xa z%x#yF1r5ynjP_)PFsD6lm^5;;i{@KDw&0$1vx_}U*z6Ma=_mWl`fg2MwHP`!ebubV ziqLF!N%SU;F-h$7Ni~pTv6R>1HXmY-iIcq*$4n7wF|wt7k8M+;DhA83ZTNb*WFxL+)1F_C3jbBI1Yg_I-lD&X$Z%y#`@l3G>wx+Q_XpH}HeJX}j2F$Y>QwPQ+8h4j z7jUil85+M0U7v>@HS7HEQHbx?Sf!VdXiR2_Hi(~18~)c1MtV2a>}g?trO05&=r-NO zV(;!=Pcy$NNZa@InmvCWh$D4`%`U8FNe}PF#Kn5TSTjVNF#flO63`;v+7m|NbM1tY z;`QUvh{_pOfieMQe?YRiTSsC%ImK2ZS#Y1EB#S=h!vj%<14nOb+xb5ag-|E>%xT=W zZ|~kH!|m_CcRN6DYiawARU;r#Cu6>ki>w(U$3^}ZsfYIYagm^$_bZKWM;X5BS=Z{_ z7~!#ZV?SX3%r6ul^ojrUG3sw*%7#Khk5Bws$C0gkzgQNWczJuiV2pLj810lXs+RSl z>k2C;kgS+&ZX`Un8^**N#_%^LxaV77l5dCW8@(>KDK|N>M;QLIiR7*jG_fVN&*#g? zDw!M`1bb!feiO&=qYq5TVf-Jow&pMyISl6+U4MNJQ!X%Mk?=-gR8Fs8S^3LmcWftN zOD7@+CV;ldJon1H!gKiJ2V3PBv&Q*%eUGFFT|e!9$(l9JG4NUA$QEHx(*&d;p1*7i z$0E2&h5yaV30dQK-!q9>{ohQkK01g@!ovHbFDJh@5zhBO4*_Rw3)Q?;zFNtb}Kx=WE3ESHTL^`%HHq8 ze^?*tnW5BHkPOS++*j&!aiWw3N|Td zVMo*~5WRHcsU|GjAnwrvJuBM*MX z)dY)hT}+^BmA%wRFOC5m8^km+(8#t$?69>;p`&Qzu(^s0i@3W=;dFZy+YtE{#|_rs zZGW}wvOe9Grgs}igQ4Q4Yrm?SuJfO<=}PyK*trZ-#x7zQRn3jp@$+pPuh^XscU{Hp z3GOV^<(hNX>I$OMmYvv**1yV$d(msa;)ghnkI?{p2>^BtOkl&gyD@=|ulkJ&a!x9x zdkPpH_7H(FN=GwptiGc_=s*TM9Em-QMniN215URRNOa<6h1&TseoZfZ;ck#WddCvZ zD6yMRG>xM}LfTgNTDn2pR;Xl)!5mZ0_#3IHB@%lWjptsF;H~UHWGMWA37ZT%WSUP^ z{m!U3o#2&>p$O&~8wn#_V?T9eqZw-qFNJ~_o*cvkZ}1pwLFs4imX55B`FFWa3VRJBT1_>%$idK{_S2g>VPTZnd<*Y`-(Uch{vb2vzBLUmmE1ij$B&R&L#E=sY-)-Q8z?7e7{{>S{Iq^T@ z$d@yslunn`V+`PdNaR9TxU``P3T(Z z84P>zD8fviFpBgPS#~0^>{K2zgUV#Mos`?Ejb+zW?m1afVzqkMasJ!+^@SPzCQ4Kyl_}f`q z!}LQBe{VKySrr*sgFZDWRuh7*JrB$NlrkOY)`CQt?<89Nbz})1bo*wQ-t`+#i{Zvs zS&q9Hwb7;mg!#BuRy{ZEarH8DXoJN`TnN8&smtNxrrh(u#Uau!DA zAMAu3Wu!4!Z6^#kJ>}Db|M5z2nEt+OiP`Y|aSzl-cx+?VYmTOr+zTk%LrGSZQ3obL zBX>mVJM`HdWoWYKHS=bd1aG?e_NQWSxd}c*ib1V^#g~Irv~G79lXOg+Z@Jj)TSe}O zTYmT{LstMv7B>xxQPF`^yK%`fDGjjGi$`FG5E-dDh~={iuw-$c7d?=;^574H!&>VH zKWt$(JPJEa2bQ=)RxzNy|7I66I4Z>AC#h_+%PjgyLJ8SQJF!gDGR|G(&Fg7f#(9e; zP;eB;D01o9ttBp9?I76K^z^JCti-P8^deb&nHItmsmz0lh!*A?Wg=^o( zdLLmZb8(m9f9}<;8ru%JKL4;a=f-WD1cDm5SWIxmtc}d3YlDWp@6V1?3vT~lOR7Qvy48@E-9F!5dOt98xjP)7Mk`xC` z1PEBRbm$2+4RS-&HL0SDz+Xz~a*bTl4E{6f_-$J;^X&>q*>2MFbNA?Pt&3scw#{2;Nmy5i(xv{8SZz zT08ucstD>ts(e#T7va)1-w@4*ebs+X89_~z5jy8SRYiDNM)G4qt7;>VBc5M$YPPbv zKEhh&dGrySr%9>-)%6jUYKqUwdFRdrk+NnUe_jzGQWhU6`xssHM-M?w z^$?={A8=K45YjpFNMr3MsTeq_AQ%H(MEwJ(kC+`a4_=lu4^B|c1HC^K4+wd%(M{Al zcyHhz=pDe+q!`xZ9U~ULz*+ z^+B3buNtonviiJc4@RHYP~ncq;XU13n)G_Xq}M6qnDS;>%A4e&DU(^BI2hYYgQB6~r#Ht(W2aCA2PfK?5w zVz{uX0l6n_Ak?NFK<-OrHTN`r6bouq4j?~CH`UM$AU{h5HTN(cNCh=C1EB3Wc|kJX ziV3gj3#8YCi>}0&zNfLy{x2+U}QVI1OY=w=xlQm8QI+56J<9dx?%7@7IcN=Gug)SaWu1_d&(Hs>8 z$0aV-$^c-nZt8?E{de~snhgt=-5$hiN<=pFPsUo*2N^44YqxQ<^~z?X%rTTQvI+x7 z3N(GD(e5s&gOcnLDl`5Lu|zi!Lg{vfn}s_-x5~%tz@;QGmMUZACswx6siab1T;gIx zzm95mhv@@?Ua%P6`L=1`TixuB@k2$4KzOhuEG}^&Hz zo6{(-P&xFBwT_wZC|zD@VXuV@rOVF`SG3k!$}XD?QA@v#3=?^Cyk2~qo;%i}X61Ym zfP`XPxni8P+|Mx_EBBM;6DrfW^Y;uHJRGg_igCfRyLVgbyG?0gF?`laFAbN+Vf9&I zP5c03EraG3CC>O5(8L}naen-Eb(ns3MS#WdZh;RSG=B+wZjCL!HP+sal(Bzrw0}2! zZjI${jSVjC|4o?wkn8IfL)-RU=-?42RR#K2>)`no?=|7%Sp4Lj9P1b;?25$iUCnhY zczkj!4w>`UKYRIt5p_Zx%aG3oY^r`3Zf8RcLiv#H7pqnH-@Kdvw5JJEddAzjv;*k^ z)6l-_x8_#u;(ipAi0cQekd1Bs(c|`Oi96r4hV+&~QAls{9$g`y97_eT4m71LEEktc zkiS|(drRR$Xm7GYglY^n!K=ePCfu`9DkY-a70a(m-OvjVx=PBenp0S>JQYJh=4w-I z)vTl<*RZOxNRlSXID>J%{>ail3OlYyEtQEb@+N#Q2N8b`_YI*iBrIw#f?jAz>Ql#!vT%Il@( zYDi^26yazcssNRI2{I$}1RHt?nsGj!`F8DYKRAFuOxdf^yItPL3Al;u4s6wlG zi?6OyrO#q)?)UFXRBO{{?$NkqHEC+Dx16Jb)C50Pr}Ulm+zQQ*qaG~%i{+?LY=-Ex zZ*|S)eX&P=paW$^jFAH|9#EorJZU@PQB^TMhN(A%FRrCr8eYWAveVr_TSKL zmIS3X-R7r)(%DoxQJbJNEr6SPrJgB3UQ=-Mcc?U9Q9yV=7u0{JN^>l9N|%pqX2Gs@ zXS4rCH^?v$?n5s0Ol?6jhZ3l&lyn(1qd&U;zL}5q(9UjUge=3G{Mp!qyL^ZgOK4P! z_oISMs~NQtDk)Qdyr}GL1B!AR0OLiu%}U(lAh#*UrO3P6DvMGZR0i+vx(cv(QEG#R zW6`7L`@c8aaR9(vDW-wm{B+q_+%<~0j-rC&xs)U|RGGsLFV42;52%%9L%{}fl;&%` z=E!*-i1zt}$Nw!gcu>N7sMg(VFwE{u`3q6U6!9MnnPN(xnnKbS62dKd7w4T(hQw{< zrU-QNKNBAd|D(#xVX0#VSoHs>_#w)WF@+7KJ00RYtH99tW36T~k5aCxtaKXYY+tH) zQXmYBiU-~QW1{^lLFs>GWMPy`qEhd9U$n94$8B6rb>&4mA^wBGH65@0kENuQy3CGJ zQvc6f%Lmnwq@+*!K}ve)g&I;)bN{MRQbKi`{RTj{xuE|ug`_jUG}o@*ylKE6iby}M zA|eg@w?w2(GaN*u4u`b`*;~O?C8XIIkdSV#E+I|M@Kn4`Pr}jT+Qa`?O6uwxx-T1g zA5SHvOD7SF=fhCnZq-Gl9vw(NUz(wNdT#sg6PEHN5&a5@!2_qHO~aYm4{lGuk>A=* zZPyT#);P2Mr=_H89ZqdOOG=t@7*bLwJ(7RxwD$kILejNEYYIs<{f1Yb(|)F$G~QK| zlWGT9gdAt%gKkhwT-Hq#mg3xQ@(bX`Pf2Ap1*WH^g4)#a$r-VX3QVDmUrk_oRxGPUU@9qaR}+}p z6t`>Y;*-OsERi0Sy7=}3!jv~ZPxmUo89+z!(IdxlS(?>HBVC$Nq4&z zF{z}vO$(}R7)Ywy)wd()`2TD-^;(n`pM0n3SGYkYu*i+B^bUJl&*l z6qDK%u*FS^DipFQVAtH9__T6+f*zn=(V#%ulvvTAY()d|nZu@p8^<KtTP-_^dc{$}zNkt_o zDrAw>WTW;*?3rnzJhbA|U9 zcsusIL^y{9o@twc={KSE-+PQU_)JriMc=vmhi1c9(e1!Q@WEZE_}F&_f}igUP%yEE zj&AWh%4+SU3*xHWClUZjd{VmltbSR&-zg8ABSoV(w7JZ|_BTwY?;(ve$$5Nv!`I`>yZa-B*)VU%6UwAl@|%8HLwF78+rJjRNm9$FR*$IZqndI{FjIfSNy@6N zy4HG_@?Xd_r#|B>Wnt}SDdB9bnov{UQ#wm&&SW^8N$r)%u)%>PS+L<(X?xK1p(s@x z4OnI@#9E?RC!3yREi8tlBnc5Bn1;KF5I0t?Q7=G>CTU4N!=#g>DM{CTPo>YJan3Qn z1iZs9zO|clB4be9b_^31ox;RJnDj`iBubsel{y~5l=LHOwd^EmNQzQaYT0QTCxr{J z2Zh;2o3P7JV{xq7hT;Wu>POQwjvmHriBs-;KWHh6HlAu1o{ksQHfy!=Bl6GY+OvzIP%St?fFqL9T3YK=>0~yMGOcwiB9Xh2}=u{C(+pNZvOtTkMYx5^O z_^IxuqvX`4QE8W)-tj58EkZdSMZM(t)Ev|g0S=PW-vj=P!9Y|QH4yc!q_g^r)25=O^$-9Fs2Fsi_l&u}_M%h|X_po;LyYFk&_YK}2+SH`AqDAyR_=PJA&HDFlFEkrAom{3(Zf-}U zcGBFbUEgI4sriO6{g!ejk7kD8Jo(4ptv@Em1ftSl8KrtE9EzIVvp4K z+|a4>J4zox^u9w+a^fM>`;MuEaBTAHn#Jbg`6Ol2gfs2ZwtB&^C&5WseG9A!*D^|t zASfpEm`2#ijCDFmolbHWM6>ye_z@j&Zf`-f$^u*Oirr+pX*VIeeRh+OgwBj=5u@yr z`_B&Lq2b=KYQec9+_=Q_A%pezo4r|n0v>%#Cx~$xb&Ym{6ij0xPQW#fEO$474=3Kz zk=p5$`!$V?=}dN};;Er134ZK_mBO9fcg==x9-Rw(mBaDxGF8#ruzOp`?55^FWqvPo zVs?{V6pxK>bcVkxWM+(3%B^oR$!{|WN;y&RhM_8p8~3s46G%^eK7n7SPl#$MqwH_3 zE03!y@9HkN#^vN@;hbx?0V#cRhWWtKvw7M)hD=QP7DFfS?RGjp;z=D53+gTB!p_28 zI(37*kx@1f+)@SygRD=zDy}=BQo^>r^`s)>qylPv@k^NFBtV(0RTIe!K3|c*=0}e) zkZ8U%+dDc@^r;*HgGEBHU)eBnq+norSIOFappuP+qaDGUx~ecl_y>&8yAuQBO>~+8 z9O)Wp7(s%qiw7c1TRc#e!Lb^vVMM%PL;xe%l;@~}iI5Rq)TX>Aw{~uD5PahpU0x$Juf2FSf+eB*8@70wE? zshh3NhqO-E$lD~iin@??%?m3&ITZ7ft=0xwD;%||9R+%Do=1(Lw+YU!?Vf8itH@w} zor{WkWxAwLa7Gv#Vv@UA*Sf^7b%E$+PcIzJ3b`|mIFE}-o3KZPnYPz-lOrpHo1C6u z4W_v9gp(zY8@<*!;*h*Jz-44(7m_5TDPj4fjvo>=x6jm?AtPJufk(NIV2jqehl$_A zH1SioQVZ>F+lUew{pTY|5U&9fmPi34Sd#yf_Z?GA^;PJPa1q==ldpmtF7Z`FHxsIO z=*lz1PIXGiF6?o#Z{mE`$}8^h3Tt7##KL;~mMO-uPW<*Mst9g#sZr@{9nD0I)~t^) zX1cIlW32byK`268$0NCpM~~5P1cn;DMl+gOEsVJ8jVpVI1>hrF@lXRT9%wH^h8Ay? zisM~#NPhLQZML#aS!71_vh4sQk7g1!kAYTvwI+Ai?i=bv_Es<3X)7DaLX_-qU*u?* zMC1;c68W%u7}p0eu1_;cKS5)D*;TmXVZ4E}-Y_!fcin^JYwk?vdj{rO>heBmq&J_V ziTJevG$F=lJg5SDBDmK8oJ4R=o_EhchzURVZ3A)*GJ0gELJNv5^1<^C8SZ6s}~%vtdHbU zc<@M$Y4pSv?muCO+OZyyRk>oTT&x+3X@4XqGK4841PLD|KMOUwZx;TUusIci7VX z6rVYY>Ue1970?I6;PSiz)TCXW+YxOtuDhgKg!#G)YRh6Ff>j}(bU7Sy_PfO=;w}+Q1zumq6O%jok&te zQZX8=|D-5#nO=8g@Kbav^}LpZBqL%p=e6ob4~NlVtuj1(Fw}Zp`~O^6e_k70Gzl7^ z)ekS8u_2s#&3S1B8eaa3O7hXMdm)v zd%HbB&bpj2E@x;)I`=Ksp>Gr!=}363MbcY$to&?9uO+hb?jH1k&#q%H>Xk(9JYP-g zLb-9F{COU0#RIDbkg(SyrhH~Y`|YTZjXG6{AOU;LQItPoK)oJ1R}4S^ha!(bIL?{g zF502TcXj-{US&}@SXs5D|9|WjlW>%#D@&TasUl`XU+qZ?3z$JqCaS^>Wh!YD(C8ZynGP}Ek9roOQTbccP zZo7Wwj~;ASE|IbL5sp?!RoMb|b+j~vpCV*?3jN7LRd`MKmp^*IXpX{I^Jfogi4yjg zZRvNeN&IcK(9q5FP>tWd?^z;q6%>IO4Osa|RUb zTM*o8|Mf%jlIIJ!wy^n>u>UUGA^UOXMJIfgaQG{U&u~r1qn{@7g$E*QNBNMBqypLe zMDZ&{{Z&{y%Z#06d2ZbHc~qG7qfs)~dpL^jSx`5(X@)R^g6rIk+Bmj}<;A5SBWQ%T zJgfX@Y9H}It3+pT(rVE9vsw!Ge^!G-{x7cn{tJ`-f4qrUe3MSm4`BF6EDL`ADbJ#R z{L2W7;g?6l|Hm=^1N3^G*OvRW(3VB1Ki;*=Y+KOyI*g0AdN()};80%PYo)(1Bf(3)^J_qR?6|^9n7F3i5JKk}|1Xw%D z>>49wPn}tpO^4TCQ+EP}sD2e3}^#FJkZ4!&Cj>ac)=O1IS*>@^&YMl(LoP2K@K_Xvr zA|Zzm-Nk#1+{==XqL-Z1)A!rC@sQRTD7^>LCSH}R8;yU<-U6s`pMr15)$2Q?ID&tq z;9GKal=2lv@J|$cN3O<+P)G0&plf7d9TL*(C8v{x>f7IE(o&V-)^`~mIT^pm$Q@9I zbclH5OhS%7oYXBM-DzZ3CAn?tN$?&ARMoz|pz9@CgoA#1Z51l-t2TLZ{NNS=aEuthvYO=oMg!{>4^xt|_o_>`~p}8CK z^c!R<&E1lx-y+j!?v6bD4w+;l2)!>B_Z6c5;&YBaJci4O_KthsyaAbI*~XAdFA<_u z_siZZC)3e=+-F9`8TQW4w0C}%z4NmxI}dvXw&&x%RNVKjz1IL-eTgip>?bZ0QNG01 z$xzzK<+e_SqL6lSg}sw2?VWtz-pN(=PQGXBB)yMza+wW@P^ptk?VS{c_f*ZD<8C%) zzLt%8tDp97jlF*#*!#EE-oJJB{(V&WXf#Fpx20PDwpQ!k4qN}iX#aNG`WI&F-yVDa z_S*Zm&)&cN_Wpfr>mR+3_HUOBi7=^uJMI1Rw*EHCqF=wxu&k6PpFHi|0ekNb+Ix4% z-n+y0-kqp?u&sBWSL@x$YP~yc>s>hQ-8ozD!fm~y-&Sde(vPV$M8C54?rVGRzNEdI z+=PVpddX?zF>i7fpV7#0ClY@An`21M(B7>h$>B~T*Aem!Ei6KzwV_jNLnrYQXpNAk zM@V14P82F6J|RsWlrF^{ydoPiGG@ z{AHn-%`2%w{ zZEWUj;J%oOnvTdkJB(D32=0IGM% zg5Q3tUhvq2+djRJkKdPGh{}G;C+-pXPVSO~!&=~kkXztHTK-mm4cP*xWaNLf7BF!I zjENQkW(yMv80eTvCF5$8{AMeeP@}|ZD=DmA!p@mzRMx$WA!)J}IoZQC0Om^f*kQ=* z0Jykz@Vwf=^J@pM2e?@QwhyYc`C;wVH`ET^SUb3^cJL8^(PminHjma`{aEebPiqH% zRy+7Iz|9JhQ<{;MB|0zl(Ie1@ux%6ub+oS07p&2X>cgfrdTW4oT7VX#OMJV>ikuQv zPv3h9-uo4M2{KZ+1Mt<_!PjbnuN5%ZFuPXF7ZpQxZ!&m8c0UXrtUZOghJb{WtTdZ! z*fgV2=2uS(bJ#E?pGM#Gh`VQTHLsN;rxhx z0g&`s17rxD0$>+5KolfB*o(}+6OuI!kum9VEZH`AJ-_L`fJqffL! zp4Ka;^}_7+j@#T8}CAP7C=m?eYO5mBCYao!B9nnQ3`KeSL5D5JP7A;Jjw9IX5u8&MA7zM2G8q z4ljCK=dVZVvIzW8BiaDTJsZo^#SnZQ|Kspqf=~5^*jyFAvp=y2o~`XZ*WC*k`Q`j& zyXz3V^l7F`GE!c0N#+%-&EuQaWd*HaT;vs*o6ayf&{&r&u^Q_l6eH%MW^qw5 zmvLi>2_Bs zIe!+BDP%4Q%chy|xqjUQxG&br?IBh#$D(ZpQ-L%zWCjV(hTG`S@EOzea?a`TJDTXV z9Ci47H`ZFLDJa%Js%!G{j@TcwY@ri02lmHcMTaL}Jd4}I&`tzxCoFuf_49ChnDBWx zDYedHd?8d1nMYb=L)ju6*Y>amfW=aU2vlfED@5!-g)fnK9775_>OaYl*T%PLFhGuiRfO(TEAmL{f=JV+$3m3c>3LQRevEfIoEY#0+f2C zq7!st(lBLjD~T!aS679Xp*LPRgI8Yqv#TOt_hVPp@_`?l{U5tpc~Zs`uOf!k$hf)} zoalR;Zu(ueQqB`6e$I>P^z8mZBg5oK8SmPN===w(y8i^>>jkA0zPq3#vP72`u^h$Q zJ6F=lIVeo&)HY=xRn8F_Hyckv%o7+_9ntY?I%oM{zHbcNp(XVq8njn;rdHLhd$m$X z*sCo&r-a46=?uA6GM(Wp%DOQ>yQk&q{B?1{tHW5qzu7!uGS6co14wv@AH!RdbO^JO zbY!sA-_6h8t%a;iVPFgSxPB!Fb#ANaQFR3sKdSckm!2f3apTqwX%nEf|tCRa~C-;bf zgdOgTTRG@Y^^y}bH95W~qe>W(l^WHPghlmqYiRAsNa0vdxa2_HUfroZek>+tn!2#$ zbV(PMi%`0Z(d$5AT_P~^ZGSGdgW%KHP$*=0c)sj~EyDgzlI5D+)N;)PSgx@i2`W7j zgaMkdK^^y+(kpr|cDkeYmgFXy`#bR&9$uc@RtyNW-~1+FS8ZB7n;E6I;O?8krREIR z9`F~sdKr?`JT!WgL-&2b_w+h+*k4!&Bk3;)YdTF=C|RtzLfo;Z0zb>k@LJ|eC4)Vr5+eTy zzy%U;zdL~6T_JEsojXHLN=$gt@`5#W;%3OTb=^7FnyR;)atJmrgx;AuockqC;G`@jO!3iY|SHGxI zGa7GA*?6Xiw~ptBr{Orowwq@9n_L+RQrFE{DBOG*dTSYnx+Cr%7H(+8D&p`R9;ucC?!}7u7SRK<~m)eVXa9^5(2s!N<#GWpW zMeZEEJmVTf&cx9Sz4`)IU*L+H{97BJ4LCrR97JAb$(SKcU_k9Pjmm?Y^0+LHw2$|m zyA>xNXH9W^IbQ9-ZJghF{S*>>>l+R(YJVPSG1N(2r2RdD^WY|%r;r{!7`HEyr$F{$ z_F{&{kwh=1>x**Mol1pB$MpKI%saO)sXp@bKLG!oK!M>e#AIjZSQhUCv2D z*z6z2MKslS?)XK>g?1TcUd=REb#QN=!Yg0K_{o(r`BNl5T^{?&3ZFJ#k~p-Ef5DDK zmByd6CqEow?xyQFnc&S?yGzY4ILJr{DAn-!87M!uHHyQ(5Fj)$g+xRIw`~<;Xw^O@ z+z{3>++>K2Z5wO|35^YI8`H9Fc)QRLFQPGXWy>%ulBncj@C)tG*UngZXuOhAOm3tl zrDnLvWH9;3WrPGW3SC#yyM)DE8&^g{B`yKc2AT_|xeu2`6E>t3&90}wmNYk~6u_`n z=4i%!g90~Bp_N*OCFBz_8(GpS5v2Gt)GJkL%I|Hn>IX47!MXe_3P%A?}FS@R0Zea<4@0 zy~QmAjcfC+R7W+fa_Ghm>4Ryn@$KhLm?>nd0Hj7X9X?4Z=jn8(*UU_4ce} zWwEg`kZZ=u4J1Cxv96t?JPR9WchMNJ^AVfV-M`O`rf+?9=i&6 zdT{Hvtoe5K&-0fbVAP9dP8z@N;D(1yQTYB`#^?1NyH0(7?&zKO@YHwroqjxN)`J^8 z@X(ctp1sfQ-~Qq4uV%hKmQn9Kcz)WF^6w^B&;}#x19QQ<;Z+N0)E=pEBJYRhN%$Su1^~|Mr zX8&?}!nyY7^j5vDw@Tj%n9Un4V}TlZXi^WBT%ZY^2EsMmh;;rC}|&))MUs4-cu>%8pL@{;pA zzI<;Tqu#Xc*5-BJZQOQ~X-$e0t$Qz;``NiC3qM@GnNcr2e&f)kg%96T0m1j?`Znsh zvV6v)sb^=d$W!mUJ?r7a&u@L(1P@%Mc%}2btM~UG*tY!rFBtWP>l2D^AOC6TQDy^~ z4$8m3+nWDt`8O+2G;#F@S9cVi-}4DGgiKNl>GrZ}aPp<5nI=8@g z4q2iY(sRr2cRu`}bm_{0>ar~p_T2mN;@*B}X)#**YIaHCd;grU|A)CZ0c+}7`^9&ZC{A&kqN3Fb zw)AvT(bm~&Rj_Ffc5X#WwYH_!w$`z&J#7^TAU=9!x2qes5o*@hg5W+k| z7{i$R#&dd3zw_LC|L6Js_qorF{*oQmUTd$l-gmvz8gk!_RJ&9a;W5djW6&%`Kw1LP ztau&Di-z(T9>L`++B9)7^ioM3T^y6s-j7K}nAnqqZav#~IfW_w66NTK?Vby|=|=cL z+bHaALb9i^q`bP0|0bFiq>F3lOm&(C7+nLr73eTa*2>h%fd> zmk4fkR+V^Eu#7>&!iWQuP)WBA`aB5we6FB6E<8#kW?@j}=(K8#Gs+W(;W>y$>MV8*(&IC%Akj; z!OI|$W1ufGO-->=Q}dV~t*Rrh`?wWE=MF^k(zwurNt&zza$AZ2EhtioJ?Wy2C=d2Y zDii`=Bu$Oh4tbFkvzW_BI+U0;Pmf;kT@dGB&{zs5njA2go{xD3VL(#eqFlwL6pMk; zRAnrg@3=uC#rzB%_4DVEWf^TV*$bjp;LeQ3ad~By;sQL&9D%8I@$Q<8>!C$)t1ze+ zsi?0bgc>G?hk0NxyJVAEOmU-4+(ZmY%nvCjEKA^IVlG?tLN+&LZpKQ@V1Pgk44N@s zlTr~na1qGd2c7RdtLUs4ZWs6fE$5=g>-$x{*W-}B7r*$39j=b{H;Yf9enj7h+?wIC z*C0zTR^n#VxA?`(FA63xsBZ~}Kbbl(SqXB7JZJ!kEgFp#1F^RV?vN_ z>~6Q{J_dK%*vOl~px&)Iby!Dc(hrBez>_t`0>Dq}1YEn7o0a6YrlXFdqAw#fe z9qK#BDsL!i4N=>lLCPG?xX9>r;@*&Q@f;Ml+^)*4^{5~MK}xaD*oKB@H1kv0_HsK? zRdNZdE4sY^IyMb^*{#2%C$Md?hr_|3l*qVhYEGHwp`mI9pc)dv9xAl=X6ieVIZOe`@n@7z{vCJ?BnKQ(D3%!jM37u zF+S8h8GFf1SYNVG8ob2w0~T!8w?`)^stAya4s13@%UDdR5esU7VRX3-efr*{6xiz! z3B1&mE69{~jPOAe`z19qGiZT)q31~?0vqNUKc@E`pbNRLp-Dly(DIm?#NAMJ8umxG zw0vrr(4^%{KwmJ$<;`AIjqgHIIP_oqm?416P7|#{m2q_~sbpT55%Y=FO2qY8C&@sV zH#;Ovun|q08k{PY<{Cx$1$xL?HXwq3{!O74~{7&bem7EY9<#7~4+Lk$+NyPdMyLxpBJS#SyU zt(uk%C}-8A5X8b?y4(fvP;jXDcQi&v8&oJu^2acjEd1q?5L6b}zmUyI!=UnU#dy7* zC*E>42D0dfRAhBZDEA(kU6|K58N9?T1=(kS6lK$RjwobC=!}M`xrGUB`h1Z+th9Ep za_tKX8VjsV7q3M+@@hMT2)Cr4v$W>N_-xS}JEZ8nGPNAq_D%AA%a_v3K1PmJ+H4YX*d77|RWT z43UY|e*!XfV2`^7x99{xu~N=ylsi}+Hrpfi{sl6%V~-O`@=P`H{YLJyC_SG%moiaP z+l7foG>|8=HDyTblfi!xC6$B(2@@j%*Fv5q$P<^`(izlJ#odfbf_x>$Xw_JhJ#F%N;t>!4o(**0!uIL!AX6J8QAV=ol16JpAo2p@QsNTkvg1F5Bpq~6MQgum zl%y901BD9frrD((X_!7li`~7ek?+NhSgsUudtM>&7{-qAp|_w#t=J^j$l_YXN)k`_ zGb-b+L=W?*j7?Bl3--8MVS8!ga=bt!gQ1rimfcy+SpE=(N~8N#7sg0Oe}X2E$H$<- z3LSGSuDLMx`fo@b43%`M5371QiPw)obJ&B^-5f&!-+nJr1L`wWmtWi*XAt~?`U}m( z=<2TgWALb27%Gv2;c*=jKLL~%)0+^J73!C>8Inq%xd!Q2{}88zcNJy#n&_T$^Wmiy zBd8eriK{%LCw^9h}&#l`kPvAy6YSe0E+lvCQ9t2J1tpDQu0-Y@do`Lmh%^>og$} zItK)QcH9t`#Vc6&9Wp6l9C^q3O1oMOB4;$Wn@z0K7;>?Rhzfh(HD@3yd(3~7>x6Rr zsL0gk_KJ{}0S)Ai2&D`XlU03A$GZdE#Z4L1cEvRc13CA#~gc`}q_N%CS1IU!) zAR%NY`6?=6S%P*9D#*yL4{h}6#`YswU_`_&(d%>C+Ic%snSl~O>06nt#!!(A;30oO zO2n8vVt0_*oWKhm^9Zn+ECNHasir@h#hiGoR;eOw0Q9j zRL;&bcrdhd7f4Bfp*fe*oEkDug*6;OiUl1bG%V{5G&UalvD?yoTw}`8C}$jlCe$_g z=jQvAoPW6pf)p+k*Ggu0MYIcfmr)P0B&%&yTl*Ch z$AjWnno50CS~Y(FgDSGwtVA6*;x6$}BX7&JOSFe6h0FWbPQgkXcMsEGQgpk8qo2K5})`lTBBm)gJv69Ap0wG@h%LBmOf z(G=8^?nQ28UB3Xf=%DLVYo)fj%v<~j&1s*l$t&%N{}hUg0oyURJDoYtDHM2sSxIZ@ ziWksg=^(JB> zl;MV=X%0wUuj~MZa7jt-h9odlT?_mD8>5sSd32uVResEE|)(q#&t_aYiw z;gdMIG}h>gNkRf4g;=SL3>7qs?xTrGdM^)Rq`(WbX#kMWe`qOFW1JS2fq0G4`s)S< zM>j%o{*dHVnK{rEH7ra410f+p5})f=^a>;qK?n1-Eu|GRN zdlOyTWLc4E^NYfl(X8>QhM3Ye#bLEx^Ahd zs$H}K+>}re7o0m7jNh=%s-J;7w()blDnQjx-YT928?k@6W6nd>yBZ1|XW*zCUB;&5 z;`YK65epI}{kle zPMJWzkQE(^J%MyU<8tLydKxcUun*-9w^tYi!iY&&Ry_>Y1 zEG{hsc8a(+Q9*yPC%uIuegMVIWBcvGV~bfW5j`S)zU+mp+T@1zVO!|dVQjxk*2q+i zbYVgS$~;3wjV#V$DS|+hn6Uj$T`6_l^qe;CK5*CS^8)jT62l}ihrQ%PkEeA-*6P7d z&0v-q;#QI)@ceaPzf}-M$FvQL5mlT!sEn3x*6CY)Vu3$ru_xTpiy~9h#AJRs5Ir?$ zs936}{|c2GfFwa=PmO81Ud+Rw=~dl63CjcWPa$arNRc5Y>)Lv~xd9lI)a#$1X-tU3 z%~&J-khH??ndMJ4@b;jd2_woLwV}QO9Dr#^i80TN3X4-Y>(P)njc1^iMf1S)Bc7yK zf_PXEHk*~pJA?*#hR+1&bd_~(W; z`$zl=Df7R~PaPeqNYe&I=Vjy8F&}hmb z+-*6e)YzaE3u7^8VA!;OTdiJx8Hxi&Ap|9t6)p6Yib2Tnbi(Puyv7xW(}=gjX}5^{ zph$Ih5w{N1GLhKW-Xv()2Ib8zZC6uLMn}!FqgP@eXKuM7Y$~mlzR{jLo zPPxL$!RabSzI`q5$&ZAg#ql;x_$=>NG^5)XtPSEQ>p%^7VkHEA_kvEb$l!xZ>b+wN^FgP#Z#T^4&WUdREXJ*$i>Q<94N zv8Rwp>?u34b|TgkQ^?ccqBhygb>+13X?S!qVs^Oh);Z`MJ0{ELEQ0cnAq~~lc0{d* zZZKj~3G%@7WqufocL4PdWALgJ4P7ht*2s$cylY!*Njuq?5|oKMwjP|$yRJF;(bL2{D(^O$TUASmq*jP6v9K|0ukD;BL9XOB z85-@fGWz;U7W#-3dpB@L@4H3zduKQKXYp#l%n$O;o^BYQ+71nxgpst+GSE`ZlX1UA zBe-Oxd2w9O12i&%Y7G;%4f2w-0wT~zm@`gGS<#+=C$)m%G@2e!=|L*uLS#i&(^D!O zDroeuPe=NM!32GH1-mL!C5!^*s$y5nHs?w3JZq%I;ZwI7ZXhwL!cXLhK}Dm!y*bR5 zic?TvFN{on>vE=`qMipXkGM*fpI)*Qgdf>}v|)dC;gl@&@Jb7Lji7gfW{n;}oiaa6 z8pyRY!W=VuTFNLD0YlJQjV)SYemvAd>2Tgv&7UO~=;wJTsw|tY%8?nk1ZZzII00GB zJ>#_@W&B^!uqt)=fKVcA!W>5|Zb(S5dRX0F!Fzy4WOyXSC_Q_h#<_2Tguc>lW8gx% z5aK(DtrHd6_`x>MSHW*M?mAT}>m1^z^Ik)ho|%Kwe&qZ&;W2sG<1V4Y<5~Fy30%!Ced_E@|?v8D0diiY42B2 z3s%NN)j+)p5{sn`WHLbPyqsY{RbpIgZ$k)c{_^+bG$XrrDsl06` zbVR*FnkyyPD`eDL&9OqoVX;e#!40$*Aw`cp=Hykr=QMuMOq!~ z?Zz7EltfM~FAHZ_Z`+rcYsl-Lg}_}2^iXNhj2ClmgdYl?RYDD=om-M42GvuHea5a@ z)Y?}QoX6?Gx$m%vDN`kfr3!-)HFl6NsO%qRjz$SKqX|q!qe;nb@&!!>4yH>*j=Xm? zJWbRLwwiDylRlp{nF+-yu+P{ExZQ&Ch)A4#wVNzXgY9HnUVbMd1LtIG z7ZuQ$ z9Yd$~!P#wx)uFoyeTLaGbB<2 z>aPN;gu&pf>YyroO$P1_R36sVl9z2P8-Vc~3WGC_lUCm9mCA!Sla8)4>u8c6fa)38 zB$tTjit>`_HX+3SsceI`YIGuN9)unb6l&YD(9b_^fwK_}ZJ&(rX`%X`gG^jdS<&Me zy@?H898g)LfTU#!I8v36iGw}ilxh%7(36t5t6+Mf)=TW4tj9TS1JXRx7uWD(C|_ z=_#30wY97F;DR?}sV=q4x(3BUtr+C4x3H+DOqLKi3G51yfL+U#shnj}8Q(s_Hc}vE zwvm1DVH+TPAaT`CC41>7I)$rH&qAUpD7?M?cW6>N44DqKS*NKc^Fly=W*1N-wc|nf z4>u!HXwqy(OP+F3$o~l?Eq3^hircGkLK}z~OI)O^%J%Mp1p(;V#2Wu@&D@ae8qUoY z$T!{7)kGBafIpbl+e#ZJ=G4)E$5SAP!uCyBil%D?Fw6qOBz@W>#cCj*1bf_8F&HPE zFxTR4t#cI3g$9}?LZsiqU`hrR7*!iy*ec8uzkc{W$4;$ixJ8=qU&d50c~wwxTp*ZaFDssAL08Zx_$SyF+qOd2OG!#?e3crbW3ssT47NdMtR`6e1!@SLILR8D3 zd7(6y>xgFP4H+|YIjuD?^A(Iuc4EZn2mIvzpiQ&#O)K81v{D=n2UAtY2|RJKPMTaN zJc=?kbYIpOt+@z7YESfZcRl3y#oG8$CZjPU7u@Avjf6Hyq1)5m#jkWLJ?FXO~nH90&uD z$MZr1JQo6=fg*>X?lMVn2(60AwMT`8#6DvYD^&pAmnC+cL*w>EG){=NpuquEG-KO9 zhXDvR0Q#{YCcVF@qJ^IY)K#=jF`L6;e}LlpArqq^Yaz`qQg{bVnb)RB80w}N80s*m z}lV zq1xu8vR5 zZ6yg0LUI1i_HKy+gVvas&U*{>%a1P$qK7B^3WCFrfh*qP(&tShZX&OSuQ;GwFb24tZgW-bBss_W0DnileK zzwSVMfR9G{Yp9J~B;h1X;|F;6o26A5xY*s`;_N2K!%4xunkpEcVV(hrG4(CwDZpah zQ1u0Jm%b>iQrrVdi{HSIl#+~Bpz1^j0*n1snVHm9(N#2@(%vO(&eT5zRrkV{+Zq>W z`iQs$+Rh!4S2WJ)P!(^xBv@WY~2X|YI)9tMY!_{eg zfrnBs1QKVEo!dUciNasC1`os4Wns{u_14KbB$(oxS{i65)ax6sYY;Q`6oE4k?&Be9 z;Ta$p6Vx>b^L_d5Umz>$>0<0cB>KvjmDXSh2h|C zE~s^}}>JY6sOYk>T#cr=ylrbnM@arOsjBFt(OlxQnfx{xz7t(5D zbBex(ObgJnGc)O`vE^=1?0$ORg+x{T%q`q5JS4D&@|MUWg`(rA4~^&Fmy{AW1k(j3 z5WIoeLH@?sIDtEw?iWu?8c0pP{yfqJSt_FP$0BJhT$p2IGYYCb>r;AgKWwy2IJpJo zbTTzQ8cU>}HIvfO(@mr~K;?RYfab!U;#8j)F%EnMI;Fc{xs+i)f+XPE?Fm`6UXt=S z39kU+DSnl)0ofBh_Is=}EKg5D$6&(*X@x4ZMgt1F^U_k6JSi{)Ga<~n#Al`SiFjO? zm8P@xB@5j-arNW>b6l%74H2Fw)196 zVPbA97+@-JIfod7J;MA(NaP%qcEu|b@EKkmCWa)^S(g?%gTq1BjPOl)ji;A zec@CnswkZ(DuPIUh*&np@CZ;iw_0V>uWxlJ&(Ewb5lTehuJb6B^|6(WL8IVCCqYy$ zG<#82?K3F)5|yPgW$gk=mar6N#as#bu*n2g#tAZ3VIL4^1u;wXgc+d@G$d0|8B(pU!1Zo}`J)Feees$4jC_^=dX=uOXeb$P z^CDe;6}*oJPH9W(`pkSW?-evSBZ;QeRL@@bMY8ZD2iFRHGK)AV6YoU@h32N>(5e~B zlwAq-7(vpZPl#<#UZ8F+6)knmO22X$J!%6Wi~mPM{O3w!8d^wH%tgvP@cGXp?O$QVH;%**+0f@-&b86)?o7iM~Ccze-UYD$N( zBp~yzxTYQ8ReF=^QzOfnyftW2iLf_rqMg1QvNVA<%NvcX;g|EdYf$lcY`I@ooX6`p z&&}AogoFUV-M@uouC( zFC%1xBqZ_py<(WZV(ZKqsR5Z`?(4yCbcLW`H8+Cg1JN0ta7dsPr%6dL9Ew3O4C|(r zTeWexThH!F;`U^c<^m>gKfj1H05_JB$7cMg2~aohcA`*0=f-}3Q*Fg}Y$GIA4wZFt zsJxd^S@z7rAcw+QgX`UdXV?%DTLz=*!}7%6!AdH|n?Ak){5|)KU(J z1wma|YC?TQF}`6B5{k!fb2Wq)=@Z*(!FQ#UrSan?BLqJ|fqB?_u4cYIvBO8g`vg@Q z8zfzG6S6lUr3zAFlOtj>>3zKKVfrOtW!c}O#0mJ6iY*~b(+im%K7FDJ%Ni?hK2zKo zY+nwd^JAx$?%E=wl*s)n>JgbY*frJMgk!EpDjn_-LaXJxh2b`VGny$$Yl>)IDObS^ zdk&Z{=5bA7)4Y=RD#{`!)rS^UaE^gksBkDFC`aRy=39ikVrWrr?JPHpwSRzb*Cz-y*rI%XIDeqCYdm8Bo7Q!FYv&U^ybFtSq%wuxaCdYN9`tz7PsV> z)N&5kU9$FI@l*zT=4=}HQM(B>iQXlx`f!02>XC2EnKD$zB!i8ah#hb$S%^=|D)r&M ziRPLk=F>>wv$*x^teRNd8Cz3tkC9Df;@*70jusTWSeZY=(_pAp3c4Yb5Fz7e3YRE+ zd(@xpovZHjFZBb{bQA`xHY%8*QBCo$qty8bV^S7dh&TQPsl#j55kkERN+K(oL=I@U zhP)sim?qDHC=P^xeO3iqovKob!JdumWyF-p^4d2*&$i$nt#ipCw%Xv;~d>Xke!eK+`3rY3jtcr?H zfmcEuA_&CP(Wz<`7hJP2&&CyL$ykwt=O%=K>)7ZzJDnNGZ(QW;L^-sEnNqdB=LN__ zb~yb;ws3GbF|?L*9U`%Mb-0fb4?p=xb$;H(TS99rD(&RM%CBI3nde+ga#VRrS?1=gh(~}s5<_i4hc5bkg6&7Mnkc=u1aiZ`SG(NJ(OB^<$%r`;A;u4{f zrC1@=cUqPjk)%XX*@$!;zZnmM{gP7>ua4SAlL{W8lER>DNoQS(b0e&CyyQALkTuXI z9S7TrU)U7P%&rt(hiX$CRymDJxTEFc;rwH$JUeWpM!k@FmJTxDW5SS5KE=$)=Wa)R z8tUs}k~mW{xO>*%Foh8M>P)?%EiIfukT$9gS)XrfFFqItj`by{IJ#hZ!k7*0AKo4> zXw9h9;?kc+m<|%B_JJ(VQCg7b0ve|XWMxSh$@nAING7}yvV67j5TY#k0ZQ!ml?2Cx zc3B)p%L<9!E~8o#$4-U`oB(pA#E%+Ke-SFq0vnju` zn4UF+c@mWwez+3r*OZIms0hF8mUECv#}8H{Zx4m&PvF zHVJN`G4rF-eltpLi}lmia)*-ybysv)YFCBiTT~UsiCtK%4j!_vL>La0E(wW@_5hiW zXcYKlzP_y9ybxMt{}X7;9|>)NwE4cS2HvMAGbt>9n?ceOVNifcOQ3m84293J`0t_; zb#jO~h2mM}>5im1SUJU%%%m|WWZo~35*|~o^csgir_lYpYp%x6gP7vQ{R zyB1%7TBkvu`ottKJZegXK_G|xSX}}$u^jjNi{RY%6H*p4B}8QhbdXG?^yp)Cnu(Zu zNUFmXS5s)?GA%&FyN5;;bGK|+>$tM?kdC`+++!+I90L&o1)VrIfv0)Rb^@CoRE%B+X7;3HzClQ zsU#_UVQRoWoSc=}10Wq~j1qOBv(wC&lg)pt+z1%UIQ$Emv3tWfPI@`N6@WUDL<#`-1O2gy4d&&Kb z#xP8um6(23>gE%q^j8x-#Zp*y6`3HY6fKp$1oa@}ciI!WGvs`q`C8s4RN5e{@*6ND z4%@Fr!tu7&Zj+@wB_)kP{L84PRMuP+(mZ<{+EqZi9_iY@QrlF|)QiA{51QmO^^qd> zLxDA5Fvhm^RZsG}U=qMXSLH<>r1XuPt%gWYl8Z<0z(Qfw1Q$HR?4Szouoh;#KlrD7 z2;DGiTTA zIXnkgqD!wSDW2^8E3|bCW}k;ss*=iUI{0s)nZ1G2e);B@YFIy6?=E-K2I*>*b2(gC z&l3_fq$$lFYq|uPg249*%nMy;7laGnMXBBMY;|cxGXCk!u%hmSlZZ;M9MUg{2x!ux zG}Af9onY$Fop{K!p^<}L6Z>g6wk(P5aSS4Gk& zmI)L~#MfK7&>vA5≈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

6Gn>-0Sr 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

fp`5+YLeUjAxJ{%Or<6y#Sad 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

>YAOrNJ;S0&zG>8qFTnr~1f4dLKG6yRXf(yT+au z%?AM%B?K{;0EiL(+Fspv5Y+wF256*f!+TbMNg;;PYQfT30;KvtkqjTH1F7kY>d7bW z=6>T7gZOkjeDt3ovOzsiM)m`7A_G1ijLu9!L{^(=dvTCtDraNUV45x^v!zp`9Gk`dl z8zK<>N1FaTXk_@;^@-ht#$^np`E9yWxSZjXSiRpbUjIpwKIn_Gp{sSr)1IE|6@Mem;9`(SsT|D*Es=s%$S4<0ks`d7c8f30i=!ZViT3I=Oyr&Rde z#*E8x>b{xL5=l}Q4;a)2nvIQ}J02W!G>YOejB|s=S)o_bxWU3Dud|~ok!$NMsS5d_ zC6`ZD$4p%&4qci@6?ZXe`xmYsaM^PI4W8j-YM^7?onAATlp?a!jR7-6sH@)_AZ*&a z9^+UrRBL!P=|nAO+HmOSn2DG>`Y|3K8R*}VwpTBZp~UQV^!P-x|H0wh>RJ%zWVDN@ z9K}z3KBeEEOqddLy90HqNtbRj#Ua&h+qGa1p^T_Fni5K61f~q=5oII2(z#bx-+z(& zX?#&)vo$L4!??oUHW&-=XH zJr@?MZM!|B-@NS>y~wOT^B_=A0Rw&7m@x|vK)d$^A(%WXf~I+Zn*~~)-4n~nqwAZi znzT0eS8vN?h9Hat8ANsiIATXO;*1&&@(@M zj%1rFoM^SIsv6h#?SkgdQ$a1zyOd8RDY0Mc7A}ub6LAi>2!DQR4#kw*d4t4O2&S{M zEwg9by)=TA zaf0)%q7Kf2bk*Wr-!hoV;fdwzU25|5pVF=0@#nqsij#aj(fy2Wr(`*O$9(G<;5ug# zHGKxWr7~5MJ@eovGyFP4I8U!bn3BGdqgYl4|H*_AgSqtW?t`Lw%~ui5KeV8yk;`*4 zoqeIO17ONoAIMrAsp(??T06JZMqZUKLrL)kIU@pou@#x__VrIJf4HH>SLaf@_ev25 zlONBx(|T>CU@CwsZ=^XU@H0)c;w=MlwjuxU~q@9SK=XV+y zSfS(Ago?OE0hlOqj>wqcO7Ocx)Qc|H(1V7px}9vWk>$YzO=%BacwxKb!JOi8)PAy+ z^~yuKpUS_-n}0JC(EV8Nw7E1FG739FLNuQWHq2;Cf7$P1d%B@oAVh#Y!^Q1~QqXvo za-uH?CD=Eva(aWM2Be1I&L(lT9Mxn@OWI}=OB+^V0PGloKuek{e9MD>;?PEB&QICu zd1em2qdra20{yC*?GN{Ry5OuQ_c7kv6$Q&L9_s5 zYwogizkfeZoN>Woh^^x0cHK5eWNfMjZjT651PGer-;?_62V<~7Q8I7rQ^jM6o11zMLWaBu_V$Ba*l&Lpm(jc%VICnT*% zpdmK_uqk?|yZMSAtztrM*S$TQB2p6`>Q0fChk@_UZamW3hmgJW$2mR^v&0N_;a~`F zVniQH?s9x;rkTnflN4oJHw4=_B2;**+;8K%$v=^p={wW!CEi?bJnWPTcb#+{$ez9UVTpFg;h8oDG37Vgs zCIj}up$;Xgvx_G>lZ}jo9qg1n5}y`kEGfg6CcVS8rHO6cw$zz1_-Q<76z9|9W4dAYA$3ZKgCe8{+A&k0X65LA6x zntFy02$wG1pSUn)9ypPJ1`-7*FM{9mh|~b(mgM04_3F z$}^Gga;INd9kDk{`&zILxjHy*han+)AY}bcg8c)Z%UzCBD|usa$7`5)Itm ziXIT(Y#fKEswOyUC*x5jN8^h(4rRGE^5yrMO--noU%9raO==-vN(uk$0!$N2 zyr`gqnur8wV;!@D{FWg%)13Vf6|D@$xaC&!#Slnta2qq>K6ghO3D)n1Gy^|@#=a^XGtYX4&cDN!rQK{Q_j;K;_=NZ$O z2gI*~#bZ_Cp`euPtbyw+dRiNZ($EsPyOp| zgkkE9SPPT{PzT$tcmY#A_Fnka=!uj=tv7^Qox8Zshuav{2XQ2p(-Q4-w-Q-jsGf?n zJADG9$L#1(m|9``dun9^;&U9N_Z6C6AiEL1lU^gtRs$Z9ZcRfxVdrhm$2SV@nE?s` zqthPGZzfrMyrp1O!2d=P2-Lnppht|VlEHEe?mk! zxj@n^4m0Is-fhM?@g6xK)uB>~VC?dhE<{D{*p4BD^j07u_n^Dp|L#sTn@AtY-DyqbQkV}aEiD%Yb#ejfdKE;%nkYPI3jhGBhZD!Qk@ zadOqfnx^OBNTLiu@b^h$(c?wfR*3HC5=2+bF1f~?aX^v%cQ8s_S=7)S z)-2-NkQ2MbVs;BtIiIk^wnr|F)7Cc{YLFTxIJOTgaz0T`C!xFwUjo{Gx9j-1D7~p; z^VP-?h{xL#w(8olrE6j5*V=BdBHF=VIc|J>(1Iymem^++W)%!oA?tWpzae=aZf`AbE111`1Q=m-ek62*> zpx+4_gisY)Cxo@z_jR#@taZ48gmwbA^usNqMDXwc;{%*~QN$b9V-D!YfCN6?kF2|w z6czv5FTIRZc~mlk5r}4$#oM`Bldh+m$Ff&xk}yhG;db2tX@bZ;x6;oK{}sJt2!AwU zeFO{kHz~Egv06Wjg?mDBbB9g2@xhVYf#Nrqg6SGSFBg}kj^@0N{b9Cmut9d{vi(D^ ziEPY+*S5&mvZu%sD~FU3SgW1YfpCL*5Sq(-esK?c@99E>(&6nLr2}Ep zK!q_>{Jo;QpFIv z7*B)E=`dY=g+_VGZOiIBX0iETVuc0kX`sB~w-)SD2Q*b$7sT3-UG$mqRFpN%IA^2v z3tc)a&?J<7rw*S>{YL><8;AC@;sP7+VU zP8^r|7vkoH&{lxPVTVR9S+$iashdEmv#2^`pIc}&Dq1v(n-}$Fl%5x0kh&+c#d^(k z5()Yp$zlaD&_Ov4iHs&v3)Vnyh zRdTT|n%f8K!baDWb)~B|hr3(ug&oTaOu*M;=4Ebv zd!`H~xek5$AwgcVz;vAjQvEdbNd$>0ah@6x_NXT7Cg|(V&%WK?CI1Ec&%{oQ(O=qh zKvn?y^C7@bgYY)J&dajq%U=t$4-?suH;^YQxz3J+93pwzpq zn4x1`zF9$v+$S;4^FezcNtBWy=v))KN!= zvmKy_4Z-l=K<`A9o=9Q6-Im{0-=+D0Y%88|e9$KoYhm29$<<$1ZqCom%$>djx6eZ2 zb!M?vTd}O0?gDvgHW*`pO75T=U%q1za?XjsWCw!E97u~v3F)T=4OTB$cL?HS9IKq@ zPbiX}y=%UJjefayY@>sodtLKX8NV#2;7Hmq4hL0Zeml0dS(7AMtK4$?I(sdM-&mD)6ulH)O`==w#{nWtU$FaDh@U zgGn7yNF7E6hOKq!E(L87;=V4?`H7aMgyQ_3T&rEcastV<9tS*^-&?pJ{6csG{NMr1 zV`a?%(e~nlae5n|3~`$2v*5e5)W)f6A9}@8I0agHg5HZIJ)tc9O)~rl>H39b21t)M zsd!diAhMQC2FKa z02?AwDmkyyYD12-wu5H8n3_jc{5!?rKtWar z$7t`oX-V6NeZEA83hJl9Z8zCyN~RIPE!J|PEHEo<8-C__wW=*-b4$(4_boLZX%mA+>2GMQT`V{n=F-Ar3mn(+r~c4 z_Nn9wZ^M7#Yrg>A-vq3y0Zh={!<=!uDZq4-gj$P|%)&vMm1X73tG+r)cTTO9c;4Ck zjB}f$B1W6W`fhjltvCU^xkjU7ZKzS(JQF(Nu@syX+lDxC^>(*^4Sht;peeP_o2#!Q zme}*q<8BnglNVV}iaq3gBRb%ZsZTV~$Jk(i2^P|EGgTCF2=JDN@+>o=N>_=@6YoQ& z4L@mcR|gnF@k~bH4q(b)BPA9^VQ@1mhA$oFP8i`?dR{$8CTgp+Y_!#q_gIieLaM~! z<_-MB;&-iq+W!8>%-Gp34xX`Q9;m(%Ms+A&QU@RUe)l@Sy^V4ic=W-E;i4=4Al+DJ zQK~qyU$AqmfEBGEfVZLbN1+{1i9fv4k`tYm;J!pjx8db0o%(>jOthNx@iycYSsPui zP)R{xB>^)xPtf>emmS!bB4P<50-^0p_slEKH{aSX*?peNEN)hwY>u>Pf~cS9TBNFCZviP))oi;C zp|i40-VIF@a(-y=o(k`?($bgiEJ7H=sK=m6C&o!OY^Nb0-7-Gs)1)iB$jPXzlt0bSeH>xUy6;IqVVIs)tEO_51V{DdpgFmzTF7yCayrvu{qxmaA4Ez)Pk6vwbx;^d+y;;Yfl1(Iv9B7$f7`IQ6lOiqpEIE5_)BQAGKkIfy z_@vqT-uCJTd5uzuorL#mLXQUAdxs>J5P;c1-n~?PNr?r@+EKq#%rPwL$u5H2SPW&l zGpfldLBNhjL+G^qt9JTDjlCp0^=l0v#Augg*)72-)@7TT6C}M^U^0i7&3o)6Rh%Cw zSL6_75R$yZ!FyF$Jw$+&>qN#Smq3%Qk4b?~N!;CETUeQNxGRKyEEG4>EAxpmRa0zmgkp%#c7CINeF zX0l!Oy0lgWvg3Ab+~gzyPeyqMP0{&Yeh>v%=4Wv1ubPzf=e2XMUx#R28!*UE4;5}{ zOK3k-D-GZjmHKqm&FyVO-{ssV`8*(#%J1>3Uo{(EN%q@6gy4ckMgd+(6E5p4g!E?l z*sJlK9Vyc3ZQ-0C5rinKe^+N4{f(qsJsyeDCPPA+Wuk2h_|4=e@{?ta>WiGXSoePP`8%iq1I|3pZhV;^c83iZyUfJdZS5(A-d z2A|B8Dz(wl+v)ZR1F@nrjR^h$`})3Fct z8)FDLJ=pB|nfV%!|Lq?B@80SkjbcBqOnaOmSyeJ2KC{K~76E2$aiRS?^=0^s z8`^ObefY|AdGPiQtKV@DS)%gr?8}5}8?O_>{ja^Gtdr+Fwmo6O#J6+Oo!AHaor-Fr zoh!{Y8DyVQw-wF~amd%jkO~(1%miPTLA}`Kp=!0={06F7Yo{cI38GuNbf{)FCv~yo zEhpSaS`)Re^Vw0T8wqATa^2jJzP_PL;fCgq`Y6|0dUk_2h%ph{rHeY`P zsM*f1a~Yvw5YhBD5fQTJ@<3~kC}T1FoW32|K!yIp*hV0NvM~F6aR_i;aki&>cl5hb z=)5wqWP%S@&0QCR7AN1iVQsiX#ztPePr=Ot^0!9I95!I>F=L(e5kVfC?5^$eLSq+> zZy^~Yox5T;ukEdBOxPxvsC|CNqe$Vkz1p0Q2m@H*K=vNqm4&Py>VT6sirFk}+ut0v zOWEz2RFlz`{os?cRV)xwRWQg^W~lt^>9U-*|Hz-Ke8k1(AK!qQp^Ty>5x5^daqwdl zn~K+`WUCB07)P@VG6h*R?+0t-zPt3Li~5pXK%XxnFJ6T2D9|E*9t<;iJFhVEb+Jq0isY!GK>7G=w0 zECF+})NQw#qU%59)x?(gFKzpwk+ z&x&fHZ)8N#jL7hsLL6*;Fo*o_RU>*`01OlscFI5NBxPRNuqNmpSV@G4Oa zNnvUO9V~>lREdTtihzBGLY=GT{5ll*hcDFDHxI*f@)e&Ilx9q#$Vb(>Mvd8%Q+?$i z*5M=?{ffe8BOIhy)v{0Xl#OFjyR_IW%iyKG{%h#&^sjl@&ZRda%QB?|%3EXl8Zx?9 zuPAr2!K~5IR+z)L#~#>_o(0?!4X6xvFkO>YmQ2MqjS;Ieye| zabbO=R^HB7z#E?(&w*v>KRhVM#2z-~krQ?;oO>DFk>1u2I&CGDS1Hvs;58-JSV$ah zY$s>Dqs;p9CFO&L)3P)2E_CrVY<0d);l`vT|9DHeWGuhVSl)B9`iTyWL}TGNh8uN} zuaX8RtM7_<-z!w;X&Z`bCIf=CrJUrm8|j9{sN#`)urFVO?N_hDeDiu@8a6kRL#_ux&C9b^Tgv@=Jc&L)zHb)lcdIE$d5m2O{BELT@dCYYRDl=*&jWwagPG@R`t&c}ig64Ur8MQnM099m?yaX5f`57Bz+u4TFg-D{xs+ zVmma-rzGFL6Q6OC9+{hctN+CGqQR3VKKOA!aOE{5{LQMJwd+{pC8IdwBb7N!=jDs_!D`CweO9FU(ocrr?mgH##0= z)Wr#8RonZ}ULi}B`Q>1hQpcJvtGLs`E6YU4(JP3M z6MK{}rTK7)mw%G>xa6kab1nEqFa9L5$GsdAM@9}zY!rgI=-u!}ITSg|R7WQ5Xi1d? zU$2*$vEw8LiEPbHs=0FC;080#BF^9g;D!AW+4j!wLvofTjxU|^yM1%HJJZuV$0R4k zA8*OLaYQKVk>`C78C9cWEAQoY0DSyE;bwuj=-|Wwgu9c)t~(lGJnLlYzr?g7EP6q6 zdsSt^Hct6n|JF77XkhXArvzGM<^V>l4!WUDk-hml;pf6D2VaIfUPh!#M&2xPW{x9ns@HH6h#*~YEQrgXu!_4ud&`5mh>vc>+mu_pWG2u1+MXh1}p|$Pk%aYM{ z^05?*8zYC6=?RdoshqU7GmAF!0~fE>2*2l-elt)mb1R3cmC7w7{VQGvpr}#IqbH3n z$K=f)4u(?d1_SQE+Y}?(`GB?;vb)RYN1k_Ep%XR$ARasHx=UF3jdy7}DSNl_U~44} zZEJKmU*(ou;{h3Z0lhl4G~co`s7Oh)fG?f?!ey+-W2k``_d0^70#^D|RYbZ*8R^ys zlQ=Db+wVqC%65GTgqaawhlN(grI>hX-`2bh9;L3=Y>Zrr)8y8j$T0*xk$pnB8XtX- zH50K!*t!s2FVm((YXy_mU5@ULCxEx>+I#xv&u_f(&#>1t861DuYL~)=5SyvfAh|4} z_SEtcW+*&B4jbPJuhI#DiOO_ZxT5A8PBWG%Ne3k#fUgLN7VEj5z1M<{9K`VLh=KATPk(7sZR=jrp0HY{Zh*| zDcWWcmO=&7#~5UWxfPZqnwrV>D-4vYoK@(O*J}wxDn(s?#rT$fYvSlN#t{HmL?5CO zIcFx}l>H4T1CE9tB45Jezw2iQ$Ywjsf{`Jz0$Q{a+a)f3F50%SOc{835{ zEkS1#Xpwk~XeWpG7=VF%d{ZRBpDujG^V}1fVh9^4Po*?YU$&Szd+WU^dw@*^bPyH9 zS^~ut6rK&*aMgPIIJpM(57`=VQ?cWLBkv-@)k!+)5bro=7>`LfBU>u7LPbkiCK|b4 zo@kHS#4Xvr4Qtc~7q&}jmgH(I#pWb%7(M2q6k(W2s!BSn-6|5k4^$RwnK@iDQqg(L zFvQXk&*P-$C~dFXePy2vyDzu1ISBH%`!!i{cPD{clN1Z`hBfJPV;mXf;6qG^T-Da0=Mx;DlT@jEk9UPdlbNUHk@@%Q9>jyfCXCCZ{p9a zyNklra@@{&LX+4iLrj;=4@ypQ>F&XwS{({$B$5Z*zxc!G%!KUuPw8L>4#6zF@=6TB zmKTd*_E-DpvUzrCzsR^QM%5d-JMSDx@TRzP#u4&17>UCU<7P3aqEdLebUqr~iG0uk zIjw~F6vWc+SeuCKxRgX+!{^duhD0VjyLt1Y$n`+VdKkg6{@D~l9S+qHqd>a@005w^ugD$-7zxGfGbI!+<^BL=dNUv95X z9n1BqaG#dRg+*ySq+%F|$^j(|kHbmf4pzYnEIY1SfC8)O=wvj#FH~!YX4Fh%rl7HA zD~cO_i?X|;+aQMMhQ}c=a_xh_MPf$_t@ZF{B~ECuA=bWVW6D=wi!xjUb|rPw&JiL{ zK|WZ+e?67YB-io&6UYUl)#LrPR8AU2_JGMu2DDXIhDt|(%(%SS;-K-m?_p{-Iiudl z(ineDiXY?Mx;h%ieaWa1#tWf^aXsfbo&F_u-G6rh+xPJ}f24)|tXq%9mW;McfLahU z%&kmGOiS=$-J}bX)Wl%v#6(a%cVjOLF)@tU z3K>d~NJO_v1P#%H&**y|1At38z|J4st8^qCsOXH*+1f?x1IvapQ1KkmZVEf28^b*f zxgBXb2VqtLp*2Z)%HMvN%`lg6fpmUci^YPE+0Wj$5bGNNK_>oo-C3Q|X&@Ogr{n4A z`RLG_w8mHuP}X4V;h&?f%IrvOTU04nXQ=m~@7ccul- z(GledZSmoi+GqUHsI#fqkis+MBn9*BYpciX;O(dl;EZSv;LbvT8UvvufO-KWO2gci zl)h2`We62IXWB0*^nRbx_JX5-d7dH46Dgn-mArNlwyejZ!mr7)LuYJF)1#M6i{ZKO zhjKbnXbE%rq4LLae1cXc-av)KsE_}YvkKVP8u^zHTN7y4WyMy?$7KqedaaulHalBCd@nr*@JM({|Mj< zV)(hWdvcrVOXz!H(=}rY`&$wgX0x-h86uD%;Y@oy!r98i2hMwHpjNgu_213s$|gK; zfoS`TZV;_?~OA)&n$M)xr{@ z;FQqf4q5vMzQn0+q|d153_{96?eOdF?MoxkRy7|iG(G7^;tXt}?%q*2Lfrquw^hIO z8>oV_H9mr6HFZgpaNTzRmTbV>8Ysh#a?k}!Jh()T&S4KMWr5v&3Si-uuqTd&bT zsYxs20-4AOKV381xYXMdP2oyQOJ35kBofo?yeW_KeSH34Za?j8?p)i2`PNw zAO9nic$hF5YIbOfrA1MaV4t_u!^4&v$4(wZb3QgRtbaS<@>x|?Ab54-(4>q_jd-so z4d4DL(xdzkgSL~1XL+#aHG5((&6YmGT^JkC!EB61f7xZ5-{+}K5|JEM>UHKhf z`44V*-)8P;;o;MPzHht`Mk7bI&qpwP5a|1j8bk+r_{h%7(au{K;%M{8RmAC`Jr0QK zw+Fu;@O`K6+qda&iy*3-YMN>w92^ix1NZ~_h5{+8LLDD~K-$`%OTbP=C|B9Ij5A|4JG2$vcMj~eG&Cx{bxW&)hww%-l| z?r?DN@CnWl5)qS-0y|VwfpBr~@Nn_*2nfDE4URwXI0&DbfaZeOwR5z()`VPcbmBn? zuZXy>m$%XDji7lX?mr49CShP?VrJpx;}^JiNm5E$=E_xBl^d#R>Kd9i_3s)O8X23I z+SuAXuy=5Da`*7`@`n2OhJ=QNM?8*IM_<3s3kQVvw`l?Qf1BAa z^P&dkg^Q1mhfnx@UO2ek-zQFuPjEr(9L+UdLTfi#F7Y5Dy6XwA%G-#!CG^nr_aBXr zFz`sCcro9n_S?+27&5)uBk z5&hdn^4muGeIx(-_6-;W2N(l5_#E(;oS2aK?~nbh$m^Q*fSxu*>PvXd_4`wiVu&2v{MU^r0mRG@ApUm|S z74JT1R-V$m;7GKKcL{D_zqzq0nJCaT;x(QYZoJFnlxVlQbUUndr z2VE6V|MA=9{eO7G|2FAgmap^K5tk@fL7?w9${&_5Z@c^dzIc6q===8X|NgfuUZp=Q zUa0S*|NkytC{XGDEndGZ%Kx``{r@grq`xd)Cw~_M*|hC;Q2Z#{Sc5rnnM*a-0R)5B z3l6N})6aIE6rtj8-f=&zas9=*F#+uX)u zqUWV~9QWoEyd`~8k$RKH)^2QrbV(g_W-;IpSuqfWKPAejd)sI!a3Tk+prw+knT{{$ z=ED{)8xyVucu<8YK{ zP48Cd+15@QiNQ0HkQYWKi&;pyb|tEl+w-*On&P4l^TIjvM=?BR?lhP6@L%<%^ltay z+jG+q3{5x*_BT^~FgM4l54=rYg;(E_(de4RW3x>Jk2^2{O>F-&$12YEGD^gg04YvV z$L5Rv>Rka`)gu=gJi@0fh0JWzNe$~BhO6|Kh`qzIZR@G}`&;qApjeZ|g=lYgEWC%s z85x$`7;YRYaYU9l_yE#hEGS5LBRT5wiWwQuTY71VWuaZp7-g2l?nsn+3;(7~;O;(8 zy3it=@)>?x8k$6UNp`C26Tp=MkUiB65H1VT8&M7}7B#asuEyIl@x-wA$Qz{?pA9UK z9Klk0h3hDgt%fL*z9IyIsNfhme}E zp0ex*j(h`+i5k%n#Q57R=7%4cvBtv9FvQi>Wi6==;U4!QDK77AFN_e~e={M`mDS9o zO4fHnJ8e6A*5(4M9X}pXSGd9>imUVoO3{+6oGj3Q-45Bq4EY+PAo(szstehkDbmc3 z#LJ>usqQZ0Qzuwjz|o|wELDQwV#oUGxhg~58CB8^UIwW!27!9{=wQ0|Ui6y%aWy@=(O%A@Vo`XaIUf;q-GiKwk&(OVB5G>EdQ!O+s>_%Z67dc>Ti zPIvxMjW6N%U=Sh#?xci^U0A|DthWzryw%LyR57l%vE*7kD;|?g?s1H5#I9q77XbP3`a5qy{{2+H%os)Z{bejDu1G!mcW*6#%s9;fw-1Zv0946 z4?z#kQ&B!UfCpL8$45)X8g(wv@8*pjoK|YN+Pm{Sk}Utw*iRFm%)%AJ{owh)qqmmI zdWs*=)t?iw&2970r~c{t#RY6fmYl zYP~*VySM}5B_f|gTZ~W=ZC9Ez zBr?BfEU84@cNJcarbaJ`ioF?7{v6NY^mQttk+W#il65S+un=jMT2s|=IbrYI%{+_X zVB?~bPF%)B!S`pZ*oE!@@d#ax%fn`B(v^;-kmn}b9g)x13?)w2=~LZ^NQz`}x4MD@ z`MX>xp+jBz>tk5aE@@NGrd;ofZq}0fv%F(Nv}$Ev7%EBv)if^P?hg%65UuQP z6l}VUeD71T_*A;rK9-bACWZ9L0H{6YtI>Pk_-@Wr;O*5JTyt0NEUn+@vJjceM}tCXA+aj_M!5xrEd zwpb{p_Rzn}@gGK53BN}H5edx-Fg>(UyV=@Qqo<#{jg6l>d#+vwYhUxjS{nQdJ_O0e zh_bPDEAy$rEV>gp)B^1$Ba3&G$F>~6fP%W*kGNytVKPefYQmWMt--W?8PnHc!of+a zYSFfBy&ZB}AivPJ5Q-VrGuC{qfu@DROo5()a0~Tz!WGuMgoiHJ2hj zeT}WE6(pYv>%{B|(*^Mu8=q6dNq*y_|4yC-b37Cdz?2X|JYxuXB~(vU^&JE=by%SI zY_}}V$_nJ(9q5%v&?mv^6MBcQ-j5HSlS?Bf=jSK8SDDVoi*>Q-J~q&$HzFx|2?Dj! z;cN!*w2Ykyzg&Pu-_1NguA?RQ9?NK5G+?J@OtBfpnXdyDVCY)=nNl1ECgM9wyEVGMh|lGF`l#n^a}P?w$}= z-M?m5ymLef%xXn01clUI*%eYA?0&yv9VBSS~qTEjpI z(R6vNZ8YgV<8?Z=GJpO%_9;j+VQrxpMykGw9?5)gS1k=L$zFrb;4ESK$EmhV>d`X( z3AKbAWUsfRjCh~fy+mUkO)mFj(9>jt@k4kTtTPd3)-m$UT-loILdY`;v$UK|)8uD) z&$Q;5gCivN-z2tdEbl0n%Kk%J_4jZtB3j829xBV(9nQfv2{fJ%GG1u&O=TduRiZdx z;}F@6tB5vZTOshzw_*qwJccdA*ojzmU+Lm_X$$4HI<(%{OB(Kz!L0zzZG*Stv3>{^_Mj0K` zJs-QQZ+&R(Y;;O>KGeT>JKOmvG^_H6sb^PkQ~cFx zZK!?v>ZpR@%r?@tCOPWdAu=~)81-~H=VBWN7(Ilte1=Y+ToqKfzNu@5*gEzUH?9() zL3$^Nix-MFuRk+*o*b!rb++y+A|8$s1TvvAM!+2>=WO>xSCFC=Ek^{+lDPUEwlMx+ z<<-U^6#PU)0s?UUNo{e?pS|C6JG2sd&j&a@4qekO#P^Eue$-xdKAj&^Cc~DapWnuo zdPAhPPih{{nrgcg)H^3?*gi#{JxcpX!uaSZJ}%P}l~9jf*C1c^g+pJbuiZHX*X*** zpgyJc<%TsW?el&nQCkkrl2^>!*9PSq#6kdlc|}s!B(SXKA<=tE zo5@hR78XU~bM-zjn^%lg4wJA@5!Q=uD4#wfNmbc%nSHC-dVZ=2tD&P5b+CS~Ua!K` zqQ3s+y}o%(eD`jAC7g>nT6E*EFwh|3ik#C)XPwdBXRhQq{o3>5{Zwze{N zWW-b-ML)YsMn$*g=5ifjbd`koU5U1S4*R-O9wM%c`m+MBZZg zd9=S=TL6IHnxEcCnW}jAMSoVPocFCo{2@G3m8`9?F>mRL=Xn;;J}Uy?nhMW_rkmG$ zl?anvB)dbd8DrS@208mSj5(^fpZx`{+P%)FWJE6Db-?OyVeCXb*TfXrcfY2*E?i1n zu;$$)y?JG`@giBGrowITM+=F?p4ciYT1VNqjAeC*;*>%9p~H?8M9n_x!-k&uA)*joP{a$S_mCE7{;X(?A6E0xUx*%R?2{S8B_3S5~HG+ zKsX6+ugV8y6utDw-$PBE$aaIr=Ivt;J0rm9|J1Bh zAHLSffQ%;fb1cmX7kr#TzhD0By4XEFbMgwxG_ttRkWMgXWo<{(qdszpJ7ZEZmDSa? zm9;g;PDf(uPQ`3ycis}D@EEt<)3`&_0qQ8jCcWIqyl8e6Cbfh=HjlhI3WnGAL&%Xg zZ4}L_2p^>o-MNVaotVy-H;TbNM@4jHxFCs2V1BMPZs(H0c88(kJ3Y_ki3&#Lop4{& zN$d`#jaoB3eXp!oHd>)Lo+lmc+;;sfS*wt4P$KaV$5E-%yHN`Z7q0>S&Z0ck^Wj_o zV9l+!)b}5sQvpvXBB@!{DN}CLlhvn@fZ%o4V0UHS%)Ibi?$mubxdgUH1KGr{1V4r} zJ&QD_aGPu{Mn6F$a@0+hVY zc%U0>+gH`y&>iQhQY%%>&u?FkR+HMlnFtl{m9(^b7sngKP9vq%WN*K5j-|NcDPLz^G~TwZ)8L7zsA1MLWF~y#fHx!WR|2+VN4p?O zv5z{AweD6{`v?oeYLf<^`VZ?VWdv?q-w*2Y$pWk@Y}hZ|HB*q~c*+d&?QfvU3~uRK zhT{h*_B87C0enY#S5?#lqXlA{J$b%HM2a2&Cr<~Nd9Lx*W6Ld3DF5BA08o%qyk|4O?!_~O6-@QQVa?oHFOR5sb8r{Uz zcc(T*hNq)w$eoU+P11U4mJBSihngf$OcJye^=>DvJv zf~juQ29;;Y+q01!=}v~(IXV@%v^U5;Ya{zue!h!&18n#Y=?+TYLt2PuK>w68`pM5` z(Mrr_jz(T$gX{yk8%41!gXHCWsx(v$iCiBO`tp{bgZ>g$0f7BNe%jK%(Vz(Bd|X8to&6RqV=x8iTp6=*?eAq^t@Z z3%xGJW?dVws7lorQ*eVY%-oMLNOB}+6RDV#(*d@(x3hM0h2ZNZM={-}D&i8jLQ({v zTIu&wgW&cH=T2lNsvznev!NnrAZSxvC3C^BTEzODdbe*w`!zAGJ z?Xw$~C22S-k3z^d%1GXPCM+l;ZC#)^7z!U*sLApvS^yeQXy3CtHotdrxEpc-SzK=- zWBp>!Ko=gtgEuavXLPGxcD&}|J!`i|F4v47h&k{RWr038?vM%Io0pqV=8NK9y@9Fk zWi3;a5iH*=w?xd9dL~@OaCFI zpYyk1TfCBk8Rg^pur1va*|&+zHcdt?amWo))@S#QSs#bGf4JtxQe>W%dB=u#*$_|3 zv$>;4-!UCB5Dt#k;C-?zgeey5xven>3V^^A$AC9dn6YQ?19ZuD5+>&6UT|L5-vNO; zBt-5i5NmUNH?)v8f` z2<4T9ao4G7;G`F2*ikzhG=63mHj-~*H2|Fy81ByFCaHhx+*j7;^~7uzSfnHujy{K+ zog%P$?4sHVkn>81gYfo1ML*18EauZ@r3F^dKw^E+-~E!AWX&6Kq*TTmjbtQ4+y0~* zt88!e3ppAPUNS~4;#lWHEQ1p1M*F-Vgip|4GhZ5bZ!%W$6F~Q~wV&(B*HAD&OUlgx zE-D^4w(M^bo*rAFbB-mnfesbMO1ntF=LfQfdIPJbb$4mycI$PK#+zx9_R1$D9&q{gV&%=k(M+%DVsi@BgeD>Cd`_{;ZqlH#Yzd zt|E{)`@Z$(UN=$*HFcc)y zNDBCi{9ef~W;qO2gFTn!!3z$z^zSE*Xaxa+C{SGO1v0PFQ|A-gaw;WXgk&D; zyBnvC@@W>924nWw*HW&X=z^fNJ?!Lav$8Z8x4k1LQgLnFd|J$W0_{Q5em72==F@DL zw#lj6Jvhx)%B|Fn(XM?rp`z^_KFxvAbjQ~Ihim(lOEViV+AA+_&cSH~+jy0lW4r(z z@>JJfiFk($@oA_RPF)_&%Ot%9L3=c%jM292Q5))mB=bxLUS&H=qC9Gg@d5PO+180U zoOX>*Lw#^u$~cG9GM;6sq_v?wNOEiM;IudRG}H$@za@?1v`Ib<^}%c~ryHkPp5s=E z`ryOY=Uq6hpG&i&KKSVHg+81%!>7gg06N4!_DCj9+fvS})QgEC|;(iHkQvqY)j#H@o!v zS_ut;22b2G7#+=$xq^7S{)5jmij{sd8qv|rOz6_ACK4fNnLn{KwfgaeKw#pB9vocg zVq~g?~ceofV@r@#1ABDoOs3ehX7U|=0)v757E`eYCBu%US833;4o zUNU)`Rdrowv0Gw!P-fweqT>ak4T9!1@p;x*9_Z6u>6pUx#e2E>a&g`+*Na0qua?iV z;XKFSm0Fy4md~@}Jk!D1{W$N@MsB?hoOgRNeLc<#aCr^`&Koqw|BLg!<@1cOJm{Ck zin~SCq*oy5e%U};T)qDsrdS^IOYe;4b9psI9-;jT}|sdgYypXc`DwuS>u+UE$FeE=JOEmLcPbd*($y4XyVqZ;@v;LEO{HR_XwY- z;@$3a-#0k#4?a)DyQjxm7I2=^$E{bzyXU@lrs2F{K2OEF$sez5!+An8PoGJ}yZiFZ z!#J;+&r|V-`|g=UoHxqnA^w2Rg6;iZIrkFBLg*FFC5JQoOufirfW2D+@zVK`TW=8( zL>5K7dJjZ$Yx+q+fS@0S*O4W17{nR1AY)YNzCG)ts>zdt~>;>b=~emK+^kXP-nU^3Xz$Jnqg zRZ~W25Rp?oGWy0cRn}J~hCB^qFN{?Obq=r1yDmIKa!JrTjWv(U>UjC%M?X2xsUbU! zBO0;Vx~xppZqaz!N#WaCrX zEr~%TsFZ+Ktw?E|BiRu2t>~f>R1lVY4LihO8yWIqq9+jSh!qA~EcRioef@ia0I?#f zihP$`r;*QT!665w5J;qtbSX3a3(JYo172)8eWXH}o|O)Hw3f|JQVS$^ZZW literal 0 HcmV?d00001 diff --git a/data/output-2308.json b/data/output-2308.json new file mode 100644 index 0000000..633f14e --- /dev/null +++ b/data/output-2308.json @@ -0,0 +1,143 @@ +{ + "ticker": "NHC", + "PLVR": "50", + "value": 8.85, + "yield": 10.5299994, + "stability": 33.99, + "price": 5.78000020980835, + "sector": "Energy", + "value_score": 4.312249491621285, + "weight": 13.01 +} +{ + "ticker": "WHC", + "PLVR": "55", + "value": 5.93, + "yield": 9.9300005, + "stability": 13.44, + "price": 7.34499979019165, + "sector": "Energy", + "value_score": 4.074267999525998, + "weight": 10.79 +} +{ + "ticker": "WDS", + "PLVR": "75", + "value": 18.47, + "yield": 9.86, + "stability": 49.06, + "price": 37.84000015258789, + "sector": "Energy", + "value_score": 3.8088252785855885, + "weight": 11.43 +} +{ + "ticker": "FMG", + "PLVR": "65", + "value": 18.78, + "yield": 9.56, + "stability": 77.12, + "price": 21.084999084472656, + "sector": "Basic Materials", + "value_score": 3.7887258592594657, + "weight": 12.29 +} +{ + "ticker": "BHP", + "PLVR": "80", + "value": 42.96, + "yield": 8.959999999999999, + "stability": 90.26, + "price": 44.11000061035156, + "sector": "Basic Materials", + "value_score": 3.5742700813576427, + "weight": 8.37 +} +{ + "ticker": "WBC", + "PLVR": "80", + "value": 17.31, + "yield": 6.7, + "stability": 71.67, + "price": 21.18000030517578, + "sector": "Financial Services", + "value_score": 2.773247797422381, + "weight": 6.25 +} +{ + "ticker": "STO", + "PLVR": "70", + "value": 10.13, + "yield": 4.2600001999999995, + "stability": 25.44, + "price": 7.695000171661377, + "sector": "Energy", + "value_score": 2.0832830507310076, + "weight": 5.25 +} +{ + "ticker": "RIO", + "PLVR": "80", + "value": 116.91, + "yield": 4.9799999999999995, + "stability": 91.53, + "price": 107.75499725341797, + "sector": "Basic Materials", + "value_score": 2.0721991590588074, + "weight": 11.49 +} +{ + "ticker": "TLS", + "PLVR": "80", + "value": 5.1, + "yield": 4.1500002, + "stability": 95.81, + "price": 4.065000057220459, + "sector": "Communication Services", + "value_score": 1.8163615899702186, + "weight": 6.29 +} +{ + "ticker": "WES", + "PLVR": "80", + "value": 48.35, + "yield": 3.63, + "stability": 80.83, + "price": 49.4900016784668, + "sector": "Consumer Cyclical", + "value_score": 1.7383353043298162, + "weight": 5.48 +} +{ + "ticker": "WOR", + "PLVR": "55", + "value": 12.3, + "yield": 2.9000001, + "stability": None, + "price": 17.90999984741211, + "sector": "Energy", + "value_score": 1.6034422485127184, + "weight": 4.84 +} +{ + "ticker": "CSL", + "PLVR": "80", + "value": 155.0, + "yield": 1.35, + "stability": 50.65, + "price": 263.1600036621094, + "sector": "Healthcare", + "value_score": 0.8679280175333433, + "weight": 1.89 +} +{ + "ticker": "LYC", + "PLVR": "55", + "value": 5.56, + "yield": None, + "stability": 0.0, + "price": 7.159999847412109, + "sector": "Basic Materials", + "value_score": 0.6261452583471812, + "weight": 2.62 +} \ No newline at end of file diff --git a/data/output.json b/data/output.json deleted file mode 100644 index 47f6d15..0000000 --- a/data/output.json +++ /dev/null @@ -1,145 +0,0 @@ -[ - { - "ticker": "NHC", - "PLVR": "50", - "value": 9.64, - "yield": 10.5100006, - "stability": 33.99, - "price": 5.775000095367432, - "sector": "Energy", - "value_score": 2.1853390446867893, - "weight": 11.09 - }, - { - "ticker": "BHP", - "PLVR": "80", - "value": 41.0, - "yield": 8.7799996, - "stability": 90.26, - "price": 42.880001068115234, - "sector": "Basic Materials", - "value_score": 1.8056503798965926, - "weight": 10.58 - }, - { - "ticker": "FMG", - "PLVR": "65", - "value": 17.64, - "yield": 9.41, - "stability": 77.12, - "price": 19.8700008392334, - "sector": "Basic Materials", - "value_score": 1.8161396519756032, - "weight": 9.21 - }, - { - "ticker": "WHC", - "PLVR": "55", - "value": 11.42, - "yield": 10.08, - "stability": 13.44, - "price": 7.380000114440918, - "sector": "Energy", - "value_score": 2.084912288165742, - "weight": 9.16 - }, - { - "ticker": "STO", - "PLVR": "70", - "value": 10.13, - "yield": 4.21, - "stability": 25.44, - "price": 7.795000076293945, - "sector": "Energy", - "value_score": 1.3272726281648959, - "weight": 8.91 - }, - { - "ticker": "WDS", - "PLVR": "75", - "value": 29.03, - "yield": 9.7200006, - "stability": 49.06, - "price": 38.04999923706055, - "sector": "Energy", - "value_score": 1.755365828270605, - "weight": 7.99 - }, - { - "ticker": "RIO", - "PLVR": "80", - "value": 116.91, - "yield": 4.9200002, - "stability": 91.53, - "price": 102.66999816894531, - "sector": "Basic Materials", - "value_score": 1.2292359821545762, - "weight": 6.99 - }, - { - "ticker": "WES", - "PLVR": "80", - "value": 48.35, - "yield": 3.47, - "stability": 80.83, - "price": 49.65999984741211, - "sector": "Consumer Cyclical", - "value_score": 1.3008457982807131, - "weight": 6.73 - }, - { - "ticker": "TLS", - "PLVR": "80", - "value": 6.17, - "yield": 3.9899999999999998, - "stability": 84.91, - "price": 4.09499979019165, - "sector": "Communication Services", - "value_score": 1.3783879687039724, - "weight": 6.6 - }, - { - "ticker": "WBC", - "PLVR": "80", - "value": 30.56, - "yield": 6.370000000000001, - "stability": 71.67, - "price": 21.479999542236328, - "sector": "Financial Services", - "value_score": 1.5758700606486111, - "weight": 6.24 - }, - { - "ticker": "WOR", - "PLVR": "55", - "value": 18.73, - "yield": 2.86, - "stability": None, - "price": 17.229999542236328, - "sector": "Energy", - "value_score": 1.0817167915539105, - "weight": 6.18 - }, - { - "ticker": "LYC", - "PLVR": "55", - "value": 11.69, - "yield": None, - "stability": 0.0, - "price": 6.690000057220459, - "sector": "Basic Materials", - "value_score": 1.2183258499265894, - "weight": 5.49 - }, - { - "ticker": "CSL", - "PLVR": "80", - "value": 328.0, - "yield": 1.24, - "stability": 50.65, - "price": 269.55999755859375, - "sector": "Healthcare", - "value_score": 0.952100563515531, - "weight": 4.83 - } -] \ No newline at end of file diff --git a/tools/scripts/value.py b/tools/scripts/value.py index d102399..c73416f 100644 --- a/tools/scripts/value.py +++ b/tools/scripts/value.py @@ -1,9 +1,9 @@ # tools/value_score.py def calculate_value_score(row): # Define weights for each parameter (you can adjust these as needed) - weight_yield = 0.1 - weight_stability = 0.1 - weight_value = 0.8 + weight_yield = 0.35 + weight_stability = 0.3 + weight_value = 0.35 # Handle missing values for yield and stability yield_percentage = float(row["yield"]) if row["yield"] is not None else 0.0