解锁并提取Linux客户端微信数据库 (vibe coded)

+ # Extract SQLCipher raw keys from a running WeChat process by scanning /proc/ <pid>
WMRSBVOWTTGD5C4Z53A5JAQ4E6YUBWXMCUWS4AKRLWN7AVK5ZYIQC

Dependencies

Change contents

message = 'init'
timestamp = '2026-03-17T09:16:51.422621363Z'
[[authors]]
key = '51vRw7nuTkQZMxpJ8CtV1bmLNFyPngpPee8WQt1bZnJM'
# Dependencies
[2] FEFEIQQWHGNHLBZQ3XP2NMADVHMM4M2MQA5LWMV5E55VAU2ZHAFQC #
# Hunks
1. File addition: "wxdump_linux" in "" +dx "binary"
up 2.1, new 0:23
2. File addition: "wx_core" in "wxdump_linux" +dx "binary"
up 0.24, new 26:44
3. File addition: "wx_info_linux.py" in "wxdump_linux/wx_core" "UTF-8"
up 0.45, new 47:87
+
# -*- coding: utf-8 -*-#
+
# Linux-specific wx_info implementation for native WeChat (AppImage) builds.
+
+
import json
+
import os
+
import re
+
from typing import List, Union, Optional, Dict, Tuple
+
+
from .utils import verify_raw_key, wx_core_error, wx_core_loger, CORE_DB_TYPE
+
from ..linux import find_wechat_files_path
+
from ..linux.memscan import find_wechat_pids, extract_all_keys
+
+
+
@wx_core_error
+
def get_wx_dir_by_linux(wxid: str = "all") -> Optional[str]:
+
base = find_wechat_files_path()
+
if not base:
+
return None
+
+
if wxid and wxid != "all":
+
# if base already is wxid dir, accept it
+
if os.path.basename(base).startswith("wxid_") and os.path.exists(base):
+
return base
+
candidate = os.path.join(base, wxid)
+
return candidate if os.path.exists(candidate) else None
+
return base
+
+
+
@wx_core_error
+
def get_wx_raw_keys(wx_dir: str = "") -> Dict[str, Tuple[str, str]]:
+
"""
+
从运行中的微信进程内存中提取所有数据库的 raw key。
+
返回 {db_path: (enc_key_hex, salt_hex)}。
+
"""
+
if not wx_dir:
+
wx_dir = get_wx_dir_by_linux("all")
+
if not wx_dir:
+
wx_core_loger.error("未找到微信数据目录")
+
return {}
+
try:
+
return extract_all_keys(wx_dir)
+
except RuntimeError as e:
+
wx_core_loger.error(str(e))
+
return {}
+
+
+
@wx_core_error
+
def get_wx_info(WX_OFFS: dict = None, is_print: bool = False, save_path: str = None):
+
"""
+
Linux: return minimal info (wx_dir + raw keys from process memory).
+
"""
+
if WX_OFFS is None:
+
WX_OFFS = {}
+
+
wx_dir = get_wx_dir_by_linux("all")
+
raw_keys = get_wx_raw_keys(wx_dir or "")
+
+
# Pick any key for backward compat
+
key = None
+
if raw_keys:
+
key, _ = next(iter(raw_keys.values()))
+
+
pids = find_wechat_pids()
+
+
result = [{
+
"pid": pids[0] if pids else None,
+
"version": "linux",
+
"account": None,
+
"mobile": None,
+
"nickname": None,
+
"mail": None,
+
"wxid": None,
+
"key": key,
+
"wx_dir": wx_dir,
+
}]
+
+
if is_print:
+
print("=" * 32)
+
for rlt in result:
+
for k, v in rlt.items():
+
print(f"[+] {k:>8}: {v if v else 'None'}")
+
print("=" * 32)
+
+
if save_path:
+
try:
+
infos = json.load(open(save_path, "r", encoding="utf-8")) if os.path.exists(save_path) else []
+
except Exception:
+
infos = []
+
with open(save_path, "w", encoding="utf-8") as f:
+
infos += result
+
json.dump(infos, f, ensure_ascii=False, indent=4)
+
return result
+
+
+
@wx_core_error
+
def get_wx_db(msg_dir: str = None,
+
db_types: Union[List[str], str] = None,
+
wxids: Union[List[str], str] = None) -> List[dict]:
+
r"""
+
Linux: 获取微信数据库路径
+
"""
+
result = []
+
+
if not msg_dir or not os.path.exists(msg_dir):
+
wx_core_loger.warning(f"[-] 微信文件目录不存在: {msg_dir}, 将使用默认路径")
+
msg_dir = get_wx_dir_by_linux("all")
+
+
if not msg_dir or not os.path.exists(msg_dir):
+
wx_core_loger.error(f"[-] 目录不存在: {msg_dir}", exc_info=True)
+
return result
+
+
wxids = wxids.split(";") if isinstance(wxids, str) else wxids
+
if not isinstance(wxids, list) or len(wxids) <= 0:
+
wxids = None
+
db_types = db_types.split(";") if isinstance(db_types, str) and db_types else db_types
+
if not isinstance(db_types, list) or len(db_types) <= 0:
+
db_types = None
+
+
wxid_dirs = {}
+
if wxids or "all_users" in os.listdir(msg_dir) or "wmpf" in os.listdir(msg_dir) or "applet" in os.listdir(msg_dir):
+
for sub_dir in os.listdir(msg_dir):
+
if os.path.isdir(os.path.join(msg_dir, sub_dir)) and sub_dir.lower() not in ["all users", "all_users", "applet", "wmpf"]:
+
wxid_dirs[os.path.basename(sub_dir)] = os.path.join(msg_dir, sub_dir)
+
else:
+
wxid_dirs[os.path.basename(msg_dir)] = msg_dir
+
+
for wxid, wxid_dir in wxid_dirs.items():
+
if wxids and wxid not in wxids:
+
continue
+
for root, _, files in os.walk(wxid_dir):
+
for file_name in files:
+
if not file_name.endswith(".db"):
+
continue
+
db_type = re.sub(r"\d*\.db$", "", file_name)
+
if db_types and db_type not in db_types:
+
continue
+
db_path = os.path.join(root, file_name)
+
result.append({"wxid": wxid, "db_type": db_type, "db_path": db_path, "wxid_dir": wxid_dir})
+
return result
+
+
+
@wx_core_error
+
def get_core_db(wx_path: str, db_types: list = None):
+
if not os.path.exists(wx_path):
+
return False, f"[-] 目录不存在: {wx_path}"
+
+
if not db_types:
+
db_types = CORE_DB_TYPE
+
db_types = [dt for dt in db_types if dt in CORE_DB_TYPE]
+
msg_dir = os.path.dirname(wx_path)
+
my_wxid = os.path.basename(wx_path)
+
wxdbpaths = get_wx_db(msg_dir=msg_dir, db_types=db_types, wxids=my_wxid)
+
+
if len(wxdbpaths) == 0:
+
wx_core_loger.error(f"[-] get_core_db 未获取到数据库路径")
+
return False, "未获取到数据库路径"
+
return True, wxdbpaths
4. File addition: "utils" in "wxdump_linux/wx_core" +dx "binary"
up 0.45, new 5317:5333
5. File addition: "common_utils.py" in "wxdump_linux/wx_core/utils" "UTF-8"
up 0.5334, new 5336:5375
+
# -*- coding: utf-8 -*-#
+
import hmac
+
import hashlib
+
from ._loger import wx_core_loger
+
+
+
def wx_core_error(func):
+
def wrapper(*args, **kwargs):
+
try:
+
return func(*args, **kwargs)
+
except Exception as e:
+
wx_core_loger.error(f"wx_core_error: {e}", exc_info=True)
+
return None
+
return wrapper
+
+
+
def verify_raw_key(enc_key_hex: str, wx_db_path: str) -> bool:
+
"""
+
验证从进程内存提取的 raw key (已派生,无需 PBKDF2)。
+
SQLCipher 4: AES-256-CBC, HMAC-SHA512, page=4096, reserve=80 (16 IV + 64 HMAC)
+
"""
+
KEY_SIZE = 32
+
DEFAULT_PAGESIZE = 4096
+
HMAC_SIZE = 64
+
try:
+
enc_key = bytes.fromhex(enc_key_hex)
+
with open(wx_db_path, "rb") as file:
+
blist = file.read(DEFAULT_PAGESIZE + 100)
+
salt = blist[:16]
+
first = blist[16:DEFAULT_PAGESIZE]
+
mac_salt = bytes([(salt[i] ^ 58) for i in range(16)])
+
mac_key = hashlib.pbkdf2_hmac("sha512", enc_key, mac_salt, 2, KEY_SIZE)
+
hash_mac = hmac.new(mac_key, first[:-HMAC_SIZE], hashlib.sha512)
+
hash_mac.update(b'\x01\x00\x00\x00')
+
return hash_mac.digest() == first[-HMAC_SIZE:]
+
except Exception:
+
return False
6. File addition: "_loger.py" in "wxdump_linux/wx_core/utils" "UTF-8"
up 0.5334, new 6606:6639
+
# -*- coding: utf-8 -*-#
+
# Re-export from centralized logging module
+
from wxdump_linux._logging import wx_core_loger
7. File addition: "__init__.py" in "wxdump_linux/wx_core/utils" "UTF-8"
up 0.5334, new 6759:6794
+
# -*- coding: utf-8 -*-#
+
from .common_utils import verify_raw_key, wx_core_error
+
from ._loger import wx_core_loger
+
+
CORE_DB_TYPE = ["MicroMsg", "MSG", "MediaMSG", "OpenIMContact", "OpenIMMsg", "PublicMsg", "OpenIMMedia",
+
"Favorite", "Sns"]
8. File addition: "merge_db.py" in "wxdump_linux/wx_core" "UTF-8"
up 0.45, new 7053:7088
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: merge_db.py
+
# Description:
+
# Author: xaoyaoo
+
# Date: 2023/12/03
+
# -------------------------------------------------------------------------------
+
import os
+
import shutil
+
import sqlite3
+
import time
+
from typing import List
+
+
from .decryption import batch_decrypt
+
from .utils import wx_core_loger, wx_core_error
+
+
+
@wx_core_error
+
def execute_sql(connection, sql, params=None):
+
"""
+
执行给定的SQL语句,返回结果。
+
参数:
+
- connection: SQLite连接
+
- sql:要执行的SQL语句
+
- params:SQL语句中的参数
+
"""
+
try:
+
# connection.text_factory = bytes
+
cursor = connection.cursor()
+
if params:
+
cursor.execute(sql, params)
+
else:
+
cursor.execute(sql)
+
return cursor.fetchall()
+
except Exception as e:
+
try:
+
connection.text_factory = bytes
+
cursor = connection.cursor()
+
if params:
+
cursor.execute(sql, params)
+
else:
+
cursor.execute(sql)
+
rdata = cursor.fetchall()
+
connection.text_factory = str
+
return rdata
+
except Exception as e:
+
wx_core_loger.error(f"**********\nSQL: {sql}\nparams: {params}\n{e}\n**********", exc_info=True)
+
return None
+
+
+
@wx_core_error
+
def check_create_sync_log(connection):
+
"""
+
检查是否存在表 sync_log,用于记录同步记录,包括微信数据库路径,表名,记录数,同步时间
+
:param connection: SQLite连接
+
:return: True or False
+
"""
+
+
out_cursor = connection.cursor()
+
# 检查是否存在表 sync_log,用于记录同步记录,包括微信数据库路径,表名,记录数,同步时间
+
sync_log_status = execute_sql(connection, "SELECT name FROM sqlite_master WHERE type='table' AND name='sync_log'")
+
if len(sync_log_status) < 1:
+
# db_path 微信数据库路径,tbl_name 表名,src_count 源数据库记录数,current_count 当前合并后的数据库对应表记录数
+
sync_record_create_sql = ("CREATE TABLE sync_log ("
+
"id INTEGER PRIMARY KEY AUTOINCREMENT,"
+
"db_path TEXT NOT NULL,"
+
"tbl_name TEXT NOT NULL,"
+
"src_count INT,"
+
"current_count INT,"
+
"createTime INT DEFAULT (strftime('%s', 'now')), "
+
"updateTime INT DEFAULT (strftime('%s', 'now'))"
+
");")
+
out_cursor.execute(sync_record_create_sql)
+
# 创建索引
+
out_cursor.execute("CREATE INDEX idx_sync_log_db_path ON sync_log (db_path);")
+
out_cursor.execute("CREATE INDEX idx_sync_log_tbl_name ON sync_log (tbl_name);")
+
# 创建联合索引,防止重复
+
out_cursor.execute("CREATE UNIQUE INDEX idx_sync_log_db_tbl ON sync_log (db_path, tbl_name);")
+
connection.commit()
+
out_cursor.close()
+
return True
+
+
+
@wx_core_error
+
def check_create_file_md5(connection):
+
"""
+
检查是否存在表 file_md5,用于记录文件信息,后续用于去重等操作,暂时闲置
+
"""
+
pass
+
+
+
@wx_core_error
+
def merge_db(db_paths: List[dict], save_path: str = "merge.db", is_merge_data: bool = True,
+
startCreateTime: int = 0, endCreateTime: int = 0):
+
"""
+
合并数据库 会忽略主键以及重复的行。
+
:param db_paths: [{"db_path": "xxx", "de_path": "xxx"},...]
+
db_path表示初始路径,de_path表示解密后的路径;初始路径用于保存合并的日志情况,解密后的路径用于读取数据
+
:param save_path: str 输出文件路径
+
:param is_merge_data: bool 是否合并数据(如果为False,则只解密,并创建表,不插入数据)
+
:param startCreateTime: 开始时间戳 主要用于MSG数据库的合并
+
:param endCreateTime: 结束时间戳 主要用于MSG数据库的合并
+
:return:
+
"""
+
if os.path.isdir(save_path):
+
save_path = os.path.join(save_path, f"merge_{int(time.time())}.db")
+
+
if isinstance(db_paths, list):
+
# alias, file_path
+
databases = {f"dbi_{i}": (db['db_path'],
+
db.get('de_path', db['db_path'])
+
) for i, db in enumerate(db_paths)
+
}
+
else:
+
raise TypeError("db_paths 类型错误")
+
outdb = sqlite3.connect(save_path)
+
+
is_sync_log = check_create_sync_log(outdb)
+
if not is_sync_log:
+
wx_core_loger.warning("创建同步记录表失败")
+
+
out_cursor = outdb.cursor()
+
+
# 将MSG_db_paths中的数据合并到out_db_path中
+
for alias, db in databases.items():
+
db_path = db[0]
+
de_path = db[1]
+
+
# 附加数据库
+
sql_attach = f"ATTACH DATABASE '{de_path}' AS {alias}"
+
out_cursor.execute(sql_attach)
+
outdb.commit()
+
sql_query_tbl_name = f"SELECT tbl_name, sql FROM {alias}.sqlite_master WHERE type='table' ORDER BY tbl_name;"
+
tables = execute_sql(outdb, sql_query_tbl_name)
+
for table in tables:
+
table, init_create_sql = table[0], table[1]
+
table = table if isinstance(table, str) else table.decode()
+
init_create_sql = init_create_sql if isinstance(init_create_sql, str) else init_create_sql.decode()
+
if table == "sqlite_sequence":
+
continue
+
if "CREATE TABLE".lower() not in str(init_create_sql).lower():
+
continue
+
# 获取表中的字段名
+
sql_query_columns = f"PRAGMA table_info({table})"
+
columns = execute_sql(outdb, sql_query_columns)
+
if table == "ChatInfo" and len(columns) > 12: # bizChat中的ChatInfo表与MicroMsg中的ChatInfo表字段不同
+
continue
+
col_type = {
+
(i[1] if isinstance(i[1], str) else i[1].decode(),
+
i[2] if isinstance(i[2], str) else i[2].decode())
+
for i in columns}
+
columns = [i[0] for i in col_type]
+
if not columns or len(columns) < 1:
+
continue
+
# 创建表table
+
sql_create_tbl = f"CREATE TABLE IF NOT EXISTS {table} AS SELECT * FROM {alias}.{table} WHERE 0 = 1;"
+
out_cursor.execute(sql_create_tbl)
+
# 创建包含 NULL 值比较的 UNIQUE 索引
+
index_name = f"{table}_unique_index"
+
coalesce_columns = ','.join(f"COALESCE({column}, '')" for column in columns)
+
sql = f"CREATE UNIQUE INDEX IF NOT EXISTS {index_name} ON {table} ({coalesce_columns})"
+
out_cursor.execute(sql)
+
+
# 插入sync_log
+
sql_query_sync_log = f"SELECT src_count FROM sync_log WHERE db_path=? AND tbl_name=?"
+
sync_log = execute_sql(outdb, sql_query_sync_log, (db_path, table))
+
if not sync_log or len(sync_log) < 1:
+
sql_insert_sync_log = "INSERT INTO sync_log (db_path, tbl_name, src_count, current_count) VALUES (?, ?, ?, ?)"
+
out_cursor.execute(sql_insert_sync_log, (db_path, table, 0, 0))
+
outdb.commit()
+
+
if is_merge_data:
+
# 比较源数据库和合并后的数据库记录数
+
log_src_count = execute_sql(outdb, sql_query_sync_log, (db_path, table))[0][0]
+
src_count = execute_sql(outdb, f"SELECT COUNT(*) FROM {alias}.{table}")[0][0]
+
if src_count <= log_src_count:
+
wx_core_loger.info(f"忽略 {db_path} {de_path} {table} {src_count} {log_src_count}")
+
continue
+
+
# 构建数据查询sql
+
sql_base = f"SELECT {','.join([i for i in columns])} FROM {alias}.{table} "
+
where_clauses, params = [], []
+
if "CreateTime" in columns:
+
if startCreateTime > 0:
+
where_clauses.append("CreateTime > ?")
+
params.append(startCreateTime)
+
if endCreateTime > 0:
+
where_clauses.append("CreateTime < ?")
+
params.append(endCreateTime)
+
# 如果有WHERE子句,将其添加到SQL语句中,并添加ORDER BY子句
+
sql = f"{sql_base} WHERE {' AND '.join(where_clauses)} ORDER BY CreateTime" if where_clauses else sql_base
+
src_data = execute_sql(outdb, sql, tuple(params))
+
if not src_data or len(src_data) < 1:
+
continue
+
# 插入数据
+
sql = f"INSERT OR IGNORE INTO {table} ({','.join([i for i in columns])}) VALUES ({','.join(['?'] * len(columns))})"
+
try:
+
out_cursor.executemany(sql, src_data)
+
+
# update sync_log
+
sql_update_sync_log = ("UPDATE sync_log "
+
"SET src_count = ? ,"
+
f"current_count=(SELECT COUNT(*) FROM {table}) "
+
"WHERE db_path=? AND tbl_name=?")
+
out_cursor.execute(sql_update_sync_log, (src_count, db_path, table))
+
+
except Exception as e:
+
wx_core_loger.error(
+
f"error: {db_path}\n{de_path}\n{table}\n{sql}\n{src_data}\n{len(src_data)}\n{e}\n",
+
exc_info=True)
+
# 分离数据库
+
sql_detach = f"DETACH DATABASE {alias}"
+
out_cursor.execute(sql_detach)
+
outdb.commit()
+
out_cursor.close()
+
outdb.close()
+
return save_path
+
+
+
@wx_core_error
+
def decrypt_merge(wx_path: str, outpath: str = "",
+
merge_save_path: str = None,
+
is_merge_data=True, is_del_decrypted: bool = True,
+
startCreateTime: int = 0, endCreateTime: int = 0,
+
db_type=None) -> (bool, str):
+
"""
+
解密合并数据库(Linux 版)。自动从进程内存提取密钥,解密后合并。
+
:param wx_path: 微信数据目录
+
:param outpath: 输出路径
+
:param merge_save_path: 合并后的数据库路径
+
:param is_merge_data: 是否合并数据(如果为False,则只解密,并创建表,不插入数据)
+
:param is_del_decrypted: 是否删除解密后的数据库(除了合并后的数据库)
+
:param startCreateTime: 开始时间戳 主要用于MSG数据库的合并
+
:param endCreateTime: 结束时间戳 主要用于MSG数据库的合并
+
:param db_type: 数据库类型,从核心数据库中选择
+
:return: (true,合并后的数据库路径) or (false,错误信息)
+
"""
+
from ..linux.memscan import extract_all_keys
+
+
if db_type is None:
+
db_type = []
+
+
outpath = outpath if outpath else "decrypt_merge_tmp"
+
merge_save_path = os.path.join(outpath,
+
f"merge_{int(time.time())}.db") if merge_save_path is None else merge_save_path
+
decrypted_path = os.path.join(outpath, "decrypted")
+
+
if not wx_path or not os.path.exists(wx_path):
+
wx_core_loger.error("参数错误: wx_path 不存在", exc_info=True)
+
return False, "参数错误: wx_path 不存在"
+
+
# 从进程内存提取密钥
+
try:
+
db_keys = extract_all_keys(wx_path)
+
except RuntimeError as e:
+
wx_core_loger.error(f"提取密钥失败: {e}", exc_info=True)
+
return False, f"提取密钥失败: {e}"
+
+
if not db_keys:
+
wx_core_loger.error("未提取到任何数据库密钥")
+
return False, "未提取到任何数据库密钥"
+
+
# 判断out_path是否为空目录
+
if os.path.exists(decrypted_path) and os.listdir(decrypted_path):
+
for root, dirs, files in os.walk(decrypted_path, topdown=False):
+
for name in files:
+
os.remove(os.path.join(root, name))
+
for name in dirs:
+
os.rmdir(os.path.join(root, name))
+
+
if not os.path.exists(decrypted_path):
+
os.makedirs(decrypted_path)
+
+
# 解密
+
code, ret = batch_decrypt(db_keys, decrypted_path)
+
if not code:
+
wx_core_loger.error(f"解密失败{ret}", exc_info=True)
+
return False, ret
+
+
out_dbs = []
+
for code1, ret1 in ret:
+
if code1:
+
out_dbs.append(ret1)
+
+
parpare_merge_db_path = []
+
for db_path, out_path, _ in out_dbs:
+
parpare_merge_db_path.append({"db_path": db_path, "de_path": out_path})
+
merge_save_path = merge_db(parpare_merge_db_path, merge_save_path, is_merge_data=is_merge_data,
+
startCreateTime=startCreateTime, endCreateTime=endCreateTime)
+
if is_del_decrypted:
+
shutil.rmtree(decrypted_path, True)
+
if isinstance(merge_save_path, str):
+
return True, merge_save_path
+
else:
+
return False, "未知错误"
9. File addition: "decryption.py" in "wxdump_linux/wx_core" "UTF-8"
up 0.45, new 20181:20218
+
# -*- coding: utf-8 -*-#
+
# WeChat 4.x (Linux) database decryption.
+
#
+
# SQLCipher 4: AES-256-CBC, HMAC-SHA512, page=4096, reserve=80 (16 IV + 64 HMAC).
+
# Keys are extracted as raw derived keys from process memory (no PBKDF2 needed).
+
import hmac
+
import hashlib
+
import os
+
from typing import Dict, Tuple
+
from Cryptodome.Cipher import AES
+
+
from .utils import wx_core_error, wx_core_loger
+
+
SQLITE_FILE_HEADER = "SQLite format 3\x00"
+
+
KEY_SIZE = 32
+
DEFAULT_PAGESIZE = 4096
+
HMAC_SIZE = 64 # SHA-512 digest
+
RESERVE = 80 # 16 IV + 64 HMAC-SHA512
+
+
+
@wx_core_error
+
def decrypt(enc_key_hex: str, db_path: str, out_path: str):
+
"""
+
使用从进程内存提取的 raw key 解密 SQLCipher 4 数据库。
+
:param enc_key_hex: 64 位十六进制字符串 (32 bytes, 已派生的 AES 密钥)
+
:param db_path: 待解密的数据库路径
+
:param out_path: 解密后的数据库输出路径
+
"""
+
if not os.path.exists(db_path) or not os.path.isfile(db_path):
+
return False, f"[-] db_path:'{db_path}' File not found!"
+
if not os.path.exists(os.path.dirname(out_path)):
+
return False, f"[-] out_path:'{out_path}' File not found!"
+
if len(enc_key_hex) != 64:
+
return False, f"[-] enc_key_hex:'{enc_key_hex}' Len Error!"
+
+
enc_key = bytes.fromhex(enc_key_hex.strip())
+
+
try:
+
with open(db_path, "rb") as file:
+
blist = file.read()
+
except Exception as e:
+
return False, f"[-] db_path:'{db_path}' {e}!"
+
+
if len(blist) < DEFAULT_PAGESIZE:
+
return False, f"[-] db_path:'{db_path}' File too small!"
+
+
salt = blist[:16]
+
if len(salt) != 16:
+
return False, f"[-] db_path:'{db_path}' File Error!"
+
+
# Verify HMAC before decryption
+
# Page layout: [encrypted_data][IV 16 bytes][HMAC-SHA512 64 bytes]
+
# HMAC covers encrypted_data + IV (everything except the HMAC itself)
+
mac_salt = bytes([(salt[i] ^ 58) for i in range(16)])
+
mac_key = hashlib.pbkdf2_hmac("sha512", enc_key, mac_salt, 2, KEY_SIZE)
+
+
first_page_data = blist[16:DEFAULT_PAGESIZE]
+
h = hmac.new(mac_key, first_page_data[:-HMAC_SIZE], hashlib.sha512)
+
h.update(b'\x01\x00\x00\x00')
+
if h.digest() != first_page_data[-HMAC_SIZE:]:
+
return False, f"[-] Key Error! (key:'{enc_key_hex}'; db_path:'{db_path}')"
+
+
with open(out_path, "wb") as deFile:
+
deFile.write(SQLITE_FILE_HEADER.encode())
+
for i in range(0, len(blist), DEFAULT_PAGESIZE):
+
if i == 0:
+
page = blist[16:DEFAULT_PAGESIZE]
+
else:
+
page = blist[i:i + DEFAULT_PAGESIZE]
+
if len(page) < RESERVE:
+
deFile.write(page)
+
continue
+
# [encrypted_data][IV 16][HMAC 64]
+
iv = page[-(HMAC_SIZE + 16):-HMAC_SIZE]
+
encrypted = page[:-(HMAC_SIZE + 16)]
+
decrypted = AES.new(enc_key, AES.MODE_CBC, iv).decrypt(encrypted)
+
deFile.write(decrypted)
+
deFile.write(page[-(HMAC_SIZE + 16):])
+
+
return True, [db_path, out_path, enc_key_hex]
+
+
+
@wx_core_error
+
def batch_decrypt(db_keys: Dict[str, Tuple[str, str]], out_path: str, is_print: bool = False):
+
"""
+
批量解密 SQLCipher 4 数据库。
+
:param db_keys: {db_path: (enc_key_hex, salt_hex)} 从 memscan.extract_all_keys() 获取
+
:param out_path: 输出目录
+
:param is_print: 是否打印日志
+
"""
+
if not os.path.exists(out_path):
+
os.makedirs(out_path)
+
+
all_paths = list(db_keys.keys())
+
rt_path = os.path.commonprefix(all_paths)
+
if not os.path.isdir(rt_path):
+
rt_path = os.path.dirname(rt_path)
+
+
result = []
+
for db_path, (enc_key_hex, _salt_hex) in db_keys.items():
+
rel = os.path.relpath(os.path.dirname(db_path), rt_path)
+
outpath = os.path.join(out_path, rel, 'de_' + os.path.basename(db_path))
+
if not os.path.exists(os.path.dirname(outpath)):
+
os.makedirs(os.path.dirname(outpath))
+
result.append(decrypt(enc_key_hex, db_path, outpath))
+
+
# Clean empty dirs
+
for root, dirs, files in os.walk(out_path, topdown=False):
+
for d in dirs:
+
dirpath = os.path.join(root, d)
+
if not os.listdir(dirpath):
+
os.rmdir(dirpath)
+
+
if is_print:
+
print("=" * 32)
+
success_count = 0
+
fail_count = 0
+
for code, ret in result:
+
if not code:
+
print(ret)
+
fail_count += 1
+
else:
+
print(f'[+] "{ret[0]}" -> "{ret[1]}"')
+
success_count += 1
+
print("-" * 32)
+
print(f"[+] 共 {len(result)} 个文件, 成功 {success_count} 个, 失败 {fail_count} 个")
+
print("=" * 32)
+
return True, result
10. File addition: "__init__.py" in "wxdump_linux/wx_core" "UTF-8"
up 0.45, new 24939:24974
+
# -*- coding: utf-8 -*-#
+
from .wx_info_linux import get_wx_info, get_wx_db, get_core_db, get_wx_raw_keys
+
from .decryption import batch_decrypt, decrypt
+
from .merge_db import merge_db, decrypt_merge
11. File addition: "linux" in "wxdump_linux" +dx "binary"
up 0.24, new 25175:25191
12. File addition: "paths.py" in "wxdump_linux/linux" "UTF-8"
up 0.25192, new 25194:25226
+
import os
+
import subprocess
+
from pathlib import Path
+
from typing import Optional
+
+
+
def _extract_wechat_files_path_from_cmdline(cmdline):
+
if not cmdline:
+
return None
+
for i, arg in enumerate(cmdline):
+
if arg.startswith("--wechat-files-path="):
+
return arg.split("=", 1)[1]
+
if arg == "--wechat-files-path" and i + 1 < len(cmdline):
+
return cmdline[i + 1]
+
return None
+
+
+
def find_wechat_files_path() -> Optional[str]:
+
# 1) env override
+
for env_key in ("WECHAT_FILES_PATH", "WX_FILES_PATH", "XWECHAT_FILES_PATH"):
+
val = os.environ.get(env_key)
+
if val and os.path.exists(val):
+
return val
+
+
# 2) parse running WeChat cmdline via /proc to avoid psutil dependency
+
try:
+
pgrep = subprocess.run(["pgrep", "-f", "WeChat"], capture_output=True, text=True, check=False)
+
if pgrep.returncode == 0:
+
for line in pgrep.stdout.splitlines():
+
pid = line.strip()
+
if not pid.isdigit():
+
continue
+
try:
+
with open(f"/proc/{pid}/cmdline", "rb") as f:
+
cmdline = f.read().split(b"\x00")
+
cmdline = [c.decode(errors="ignore") for c in cmdline if c]
+
except Exception:
+
cmdline = []
+
path = _extract_wechat_files_path_from_cmdline(cmdline)
+
if path and os.path.exists(path):
+
return path
+
except Exception:
+
pass
+
+
# 3) common locations for Linux WeChat AppImage
+
home = Path.home()
+
candidates = [
+
home / "文档" / "xwechat_files",
+
home / "Documents" / "xwechat_files",
+
home / "xwechat_files",
+
home / ".xwechat" / "xwechat_files",
+
home / ".local" / "share" / "wechat" / "xwechat_files",
+
home / ".local" / "share" / "WeChat Files",
+
]
+
for p in candidates:
+
if p.exists():
+
return str(p)
+
+
# 4) shallow search (one level) for xwechat_files
+
for p in (home / "文档", home / "Documents", home):
+
if p.exists():
+
target = p / "xwechat_files"
+
if target.exists():
+
return str(target)
+
return None
13. File addition: "memscan.py" in "wxdump_linux/linux" "UTF-8"
up 0.25192, new 27477:27511
+
# Extract SQLCipher raw keys from a running WeChat process by scanning /proc/<pid>/mem.
+
#
+
# WeChat 4.x (Linux) uses SQLCipher 4 (AES-256-CBC, HMAC-SHA512, 256K PBKDF2 iterations).
+
# WCDB caches the derived raw key in process memory as an ASCII string:
+
# x'<64 hex enc_key><32 hex salt>'
+
# where the 32-hex salt matches the first 16 bytes of the corresponding .db file.
+
#
+
# This module reads /proc/<pid>/maps + /proc/<pid>/mem to find these patterns,
+
# then returns a mapping of {db_path: (raw_key_hex, salt_hex)}.
+
+
import glob
+
import os
+
import re
+
import subprocess
+
from typing import Dict, List, Optional, Tuple
+
+
+
def find_wechat_pids() -> List[int]:
+
"""Return PIDs of running WeChat main processes."""
+
pids = []
+
try:
+
result = subprocess.run(
+
["pgrep", "-f", r"/wechat\b"],
+
capture_output=True, text=True, check=False,
+
)
+
if result.returncode == 0:
+
for line in result.stdout.splitlines():
+
pid = line.strip()
+
if pid.isdigit():
+
pids.append(int(pid))
+
except Exception:
+
pass
+
+
if not pids:
+
# fallback: scan /proc manually
+
for entry in os.listdir("/proc"):
+
if not entry.isdigit():
+
continue
+
try:
+
exe = os.readlink(f"/proc/{entry}/exe")
+
if "wechat" in exe.lower() and "crashpad" not in exe.lower():
+
pids.append(int(entry))
+
except Exception:
+
continue
+
return pids
+
+
+
def _read_process_memory(pid: int, max_region_bytes: int = 200 * 1024 * 1024) -> List[bytes]:
+
"""Read all readable memory regions of a process via /proc."""
+
chunks = []
+
try:
+
with open(f"/proc/{pid}/maps", "r") as f:
+
maps = f.readlines()
+
except Exception:
+
return chunks
+
+
with open(f"/proc/{pid}/mem", "rb") as mem:
+
for line in maps:
+
parts = line.split()
+
if len(parts) < 2 or "r" not in parts[1]:
+
continue
+
addr_range = parts[0].split("-")
+
start = int(addr_range[0], 16)
+
end = int(addr_range[1], 16)
+
if end - start > max_region_bytes:
+
continue
+
try:
+
mem.seek(start)
+
chunks.append(mem.read(end - start))
+
except (OSError, ValueError):
+
continue
+
return chunks
+
+
+
def _collect_db_salts(wx_dir: str) -> Dict[str, str]:
+
"""Walk wx_dir and return {db_path: salt_hex} for every .db file."""
+
salts = {}
+
for root, _dirs, files in os.walk(wx_dir):
+
for name in files:
+
if not name.endswith(".db"):
+
continue
+
path = os.path.join(root, name)
+
try:
+
with open(path, "rb") as f:
+
header = f.read(16)
+
if len(header) == 16 and header != b"SQLite format 3\x00":
+
salts[path] = header.hex()
+
except Exception:
+
continue
+
return salts
+
+
+
_HEX_SET = set("0123456789abcdef")
+
+
+
def scan_memory_for_raw_keys(
+
pid: int,
+
wx_dir: str,
+
) -> Dict[str, Tuple[str, str]]:
+
"""
+
Scan process memory for SQLCipher raw keys matching database salts.
+
+
Returns {db_path: (enc_key_hex, salt_hex)} for each database whose salt
+
was found in the WCDB raw-key cache pattern x'<64hex><32hex>'.
+
"""
+
db_salts = _collect_db_salts(wx_dir)
+
if not db_salts:
+
return {}
+
+
memory = _read_process_memory(pid)
+
if not memory:
+
return {}
+
+
results: Dict[str, Tuple[str, str]] = {}
+
+
for db_path, salt_hex in db_salts.items():
+
if db_path in results:
+
continue
+
salt_bytes = salt_hex.encode("ascii")
+
found = False
+
for chunk in memory:
+
if found:
+
break
+
pos = 0
+
while True:
+
idx = chunk.find(salt_bytes, pos)
+
if idx == -1:
+
break
+
# Check for x'<64hex_key><32hex_salt>' pattern
+
if idx >= 66:
+
candidate = chunk[idx - 66 : idx + 32 + 1]
+
try:
+
s = candidate.decode("ascii")
+
except (UnicodeDecodeError, ValueError):
+
pos = idx + 1
+
continue
+
if (
+
len(s) == 99
+
and s.startswith("x'")
+
and s.endswith("'")
+
and all(c in _HEX_SET for c in s[2:66])
+
):
+
enc_key = s[2:66]
+
results[db_path] = (enc_key, salt_hex)
+
found = True
+
break
+
pos = idx + 1
+
+
return results
+
+
+
def extract_all_keys(wx_dir: str) -> Dict[str, Tuple[str, str]]:
+
"""
+
High-level: find WeChat PID, scan memory, return raw keys for all databases.
+
+
Returns {db_path: (enc_key_hex, salt_hex)}.
+
Raises RuntimeError if WeChat is not running.
+
"""
+
pids = find_wechat_pids()
+
if not pids:
+
raise RuntimeError("WeChat 进程未运行,无法提取密钥")
+
+
for pid in pids:
+
results = scan_memory_for_raw_keys(pid, wx_dir)
+
if results:
+
return results
+
+
raise RuntimeError("未能从 WeChat 进程内存中提取到密钥")
+
+
+
def _find_v2_sample(wx_dir: str) -> Optional[str]:
+
"""Find a V2-encrypted .dat file in wx_dir to use as a test sample."""
+
from .decode_image import V2_MAGIC
+
+
# Search Sns/Img and msg/attach for V2 .dat files
+
search_patterns = [
+
os.path.join(wx_dir, "cache", "*", "Sns", "Img", "*", "*"),
+
os.path.join(wx_dir, "msg", "attach", "*", "*", "Img", "*.dat"),
+
]
+
for pattern in search_patterns:
+
for path in glob.iglob(pattern):
+
if not os.path.isfile(path):
+
continue
+
try:
+
with open(path, "rb") as f:
+
magic = f.read(6)
+
if magic == V2_MAGIC:
+
return path
+
except OSError:
+
continue
+
return None
+
+
+
def scan_memory_for_image_key(pid: int, wx_dir: str) -> Optional[str]:
+
"""Scan process memory for the 16-byte AES key used to decrypt V2 images.
+
+
Strategy: find a V2 .dat sample file, then scan memory for 16-byte
+
candidate keys (32 hex char sequences). For each candidate, try
+
decrypting the first AES block of the sample and check if the result
+
starts with valid image magic bytes.
+
+
Returns hex string (32 chars) or None.
+
"""
+
from .decode_image import decrypt_image_header, is_valid_image_header
+
+
sample_path = _find_v2_sample(wx_dir)
+
if not sample_path:
+
return None
+
+
with open(sample_path, "rb") as f:
+
sample_data = f.read(64) # Only need header + first AES block
+
+
memory = _read_process_memory(pid)
+
if not memory:
+
return None
+
+
hex_chars = set(b'0123456789abcdef')
+
+
for chunk in memory:
+
i = 0
+
while i <= len(chunk) - 32:
+
if chunk[i] not in hex_chars:
+
i += 1
+
continue
+
candidate = chunk[i:i + 32]
+
if not all(b in hex_chars for b in candidate):
+
i += 1
+
continue
+
+
# We have a 32-hex-char candidate
+
try:
+
key_hex = candidate.decode('ascii')
+
key_bytes = bytes.fromhex(key_hex)
+
except (UnicodeDecodeError, ValueError):
+
i += 1
+
continue
+
+
dec_header = decrypt_image_header(sample_data, key_bytes)
+
if dec_header and is_valid_image_header(dec_header):
+
return key_hex
+
+
i += 32 # Skip past this candidate
+
+
return None
+
+
+
def extract_image_key(wx_dir: str) -> Optional[str]:
+
"""High-level: find WeChat PID and extract the image AES key.
+
+
Returns 32-char hex string or None.
+
"""
+
pids = find_wechat_pids()
+
if not pids:
+
return None
+
+
for pid in pids:
+
key = scan_memory_for_image_key(pid, wx_dir)
+
if key:
+
return key
+
return None
14. File addition: "decode_image.py" in "wxdump_linux/linux" "UTF-8"
up 0.25192, new 35739:35778
+
r"""WeChat .dat image file decryption module.
+
+
Supports three encryption formats:
+
- V1: AES-128-ECB with fixed key cfcd208495d565ef + XOR(0x88)
+
- V2: AES-128-ECB with per-install key from process memory + XOR(0x88)
+
- Legacy XOR: single-byte XOR, key auto-detected from image magic bytes
+
+
V1/V2 file structure:
+
[6B signature] [4B aes_size LE] [4B xor_size LE] [1B padding]
+
[aligned_aes_data] [raw_data] [xor_data]
+
+
Reference: github.com/ylytdeng/wechat-decrypt
+
"""
+
+
import os
+
import struct
+
import sys
+
+
V1_MAGIC = b'\x07\x08V1\x08\x07'
+
V2_MAGIC = b'\x07\x08V2\x08\x07'
+
V1_KEY = b'cfcd208495d565ef' # md5("0")[:16]
+
+
# Known image magic bytes (longer signatures first to avoid false positives)
+
IMAGE_MAGIC = {
+
'png': bytes([0x89, 0x50, 0x4E, 0x47]),
+
'gif': bytes([0x47, 0x49, 0x46, 0x38]),
+
'tif': bytes([0x49, 0x49, 0x2A, 0x00]),
+
'webp': bytes([0x52, 0x49, 0x46, 0x46]),
+
'jpg': bytes([0xFF, 0xD8, 0xFF]),
+
'bmp': bytes([0x42, 0x4D]),
+
}
+
+
+
def is_v1v2(data: bytes) -> bool:
+
"""Check if data starts with V1 or V2 magic."""
+
return len(data) >= 6 and data[:6] in (V1_MAGIC, V2_MAGIC)
+
+
+
def detect_image_format(header: bytes) -> str:
+
"""Detect image format from decrypted header bytes."""
+
if len(header) < 2:
+
return 'bin'
+
if header[:3] == bytes([0xFF, 0xD8, 0xFF]):
+
return 'jpg'
+
if header[:4] == bytes([0x89, 0x50, 0x4E, 0x47]):
+
return 'png'
+
if header[:3] == b'GIF':
+
return 'gif'
+
if header[:2] == b'BM':
+
return 'bmp'
+
if header[:4] == b'RIFF' and len(header) >= 12 and header[8:12] == b'WEBP':
+
return 'webp'
+
if header[:4] == bytes([0x49, 0x49, 0x2A, 0x00]):
+
return 'tif'
+
if header[:4] == b'wxgf':
+
return 'hevc'
+
return 'bin'
+
+
+
def _detect_xor_key(data: bytes) -> int | None:
+
"""Auto-detect single-byte XOR key from legacy format."""
+
if len(data) < 4:
+
return None
+
# Try longer magic signatures first
+
for fmt, magic in IMAGE_MAGIC.items():
+
if fmt == 'bmp':
+
continue # handle separately
+
key = data[0] ^ magic[0]
+
match = all(
+
(data[i] ^ key) == magic[i]
+
for i in range(1, min(len(magic), len(data)))
+
)
+
if match:
+
return key
+
# BMP: 2-byte magic, needs extra validation
+
bmp_key = data[0] ^ 0x42
+
if len(data) >= 2 and (data[1] ^ bmp_key) == 0x4D:
+
if len(data) >= 14:
+
dec = bytes(b ^ bmp_key for b in data[:14])
+
bmp_size = struct.unpack_from('<I', dec, 2)[0]
+
bmp_offset = struct.unpack_from('<I', dec, 10)[0]
+
if 14 <= bmp_offset <= 1078 and bmp_size < len(data) * 2:
+
return bmp_key
+
return None
+
+
+
def decrypt_image(data: bytes, aes_key: bytes = None) -> tuple[bytes, str] | None:
+
"""Decrypt a WeChat .dat image.
+
+
Args:
+
data: Raw .dat file contents.
+
aes_key: 16-byte AES key for V2 format. Ignored for V1/legacy.
+
+
Returns:
+
(decrypted_bytes, format_string) or None on failure.
+
"""
+
if len(data) < 6:
+
return None
+
+
sig = data[:6]
+
+
# V1 / V2 format
+
if sig in (V1_MAGIC, V2_MAGIC):
+
return _decrypt_v1v2(data, sig, aes_key)
+
+
# Legacy XOR format
+
xor_key = _detect_xor_key(data)
+
if xor_key is None:
+
return None
+
decrypted = bytes(b ^ xor_key for b in data)
+
fmt = detect_image_format(decrypted[:16])
+
return (decrypted, fmt)
+
+
+
def _decrypt_v1v2(data: bytes, sig: bytes, aes_key: bytes = None) -> tuple[bytes, str] | None:
+
"""Decrypt V1/V2 format: AES-ECB + raw + XOR(0x88)."""
+
from Cryptodome.Cipher import AES
+
+
if sig == V1_MAGIC:
+
key = V1_KEY
+
else:
+
if aes_key is None:
+
return None
+
key = aes_key if isinstance(aes_key, bytes) else aes_key.encode('ascii')
+
key = key[:16]
+
if len(key) < 16:
+
return None
+
+
if len(data) < 15:
+
return None
+
+
aes_size, xor_size = struct.unpack_from('<II', data, 6)
+
+
# aes_size is already 16-byte aligned (the encrypted data size)
+
offset = 15 # 6 sig + 4 aes_size + 4 xor_size + 1 pad
+
if offset + aes_size > len(data):
+
return None
+
+
# AES-ECB decrypt (no PKCS7 padding — aes_size is the exact encrypted size)
+
aes_data = data[offset:offset + aes_size]
+
try:
+
cipher = AES.new(key, AES.MODE_ECB)
+
dec_aes = cipher.decrypt(aes_data)
+
except (ValueError, KeyError):
+
return None
+
offset += aes_size
+
+
# Raw data (unencrypted)
+
raw_end = len(data) - xor_size
+
raw_data = data[offset:raw_end] if offset < raw_end else b''
+
+
# XOR(0x88) section
+
xor_data = data[raw_end:]
+
dec_xor = bytes(b ^ 0x88 for b in xor_data)
+
+
decrypted = dec_aes + raw_data + dec_xor
+
fmt = detect_image_format(decrypted[:16])
+
return (decrypted, fmt)
+
+
+
def decrypt_image_header(data: bytes, aes_key: bytes) -> bytes | None:
+
"""Decrypt only the first AES block (16 bytes) for validation.
+
+
Used by memscan to test candidate keys quickly without decrypting
+
the entire file.
+
"""
+
from Cryptodome.Cipher import AES
+
+
if len(data) < 15 + 16:
+
return None
+
+
sig = data[:6]
+
if sig not in (V1_MAGIC, V2_MAGIC):
+
return None
+
+
key = aes_key if isinstance(aes_key, bytes) else aes_key.encode('ascii')
+
key = key[:16]
+
if len(key) < 16:
+
return None
+
+
offset = 15
+
aes_block = data[offset:offset + 16]
+
try:
+
cipher = AES.new(key, AES.MODE_ECB)
+
dec = cipher.decrypt(aes_block)
+
return dec
+
except Exception:
+
return None
+
+
+
# Valid image magic bytes for header validation
+
_VALID_HEADERS = [
+
bytes([0xFF, 0xD8, 0xFF]),
+
bytes([0x89, 0x50, 0x4E, 0x47]),
+
b'GIF',
+
b'BM',
+
b'RIFF',
+
bytes([0x49, 0x49, 0x2A, 0x00]),
+
b'wxgf',
+
]
+
+
+
def is_valid_image_header(header: bytes) -> bool:
+
"""Check if decrypted header starts with a known image magic."""
+
return any(header[:len(m)] == m for m in _VALID_HEADERS)
+
+
+
# --- CLI ---
+
+
if __name__ == "__main__":
+
if len(sys.argv) < 2:
+
print("Usage: python -m wxdump_linux.linux.decode_image <dat_file> [aes_key_hex] [output_file]")
+
sys.exit(1)
+
+
dat_file = sys.argv[1]
+
key_hex = sys.argv[2] if len(sys.argv) > 2 else None
+
out_file = sys.argv[3] if len(sys.argv) > 3 else None
+
+
if not os.path.exists(dat_file):
+
print(f"File not found: {dat_file}")
+
sys.exit(1)
+
+
with open(dat_file, 'rb') as f:
+
data = f.read()
+
+
aes_key = bytes.fromhex(key_hex) if key_hex else None
+
result = decrypt_image(data, aes_key)
+
+
if result is None:
+
print("Decryption failed. For V2 files, provide AES key as second argument.")
+
sys.exit(1)
+
+
img_bytes, fmt = result
+
if out_file is None:
+
base = os.path.splitext(dat_file)[0]
+
for suffix in ('_t', '_h'):
+
if base.endswith(suffix):
+
base = base[:-len(suffix)]
+
break
+
out_file = f"{base}.{fmt}"
+
+
with open(out_file, 'wb') as f:
+
f.write(img_bytes)
+
+
print(f"OK: {out_file} ({fmt}, {len(img_bytes):,} bytes)")
15. File addition: "__init__.py" in "wxdump_linux/linux" "UTF-8"
up 0.25192, new 42921:42956
+
# Linux-specific helpers for key extraction on native WeChat (AppImage) builds.
+
+
from .paths import find_wechat_files_path
+
from .memscan import find_wechat_pids, scan_memory_for_raw_keys, extract_all_keys, extract_image_key
+
+
__all__ = [
+
"find_wechat_files_path",
+
"find_wechat_pids",
+
"scan_memory_for_raw_keys",
+
"extract_all_keys",
+
"extract_image_key",
+
]
16. File addition: "db" in "wxdump_linux" +dx "binary"
up 0.24, new 43333:43346
17. File addition: "utils" in "wxdump_linux/db" +dx "binary"
up 0.43347, new 43349:43365
18. File addition: "common_utils.py" in "wxdump_linux/db/utils" "UTF-8"
up 0.43366, new 43368:43407
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: common_utils.py
+
# Description:
+
# Author: xaoyaoo
+
# Date: 2024/04/15
+
# -------------------------------------------------------------------------------
+
import hashlib
+
import os
+
import re
+
import time
+
import wave
+
+
import requests
+
from io import BytesIO
+
import pysilk
+
import lxml.etree as ET # 这个模块更健壮些,微信XML格式有时有非标格式,会导致xml.etree.ElementTree处理失败
+
from collections import defaultdict
+
+
from ._loger import db_loger
+
+
+
def db_error(func):
+
"""
+
错误处理装饰器
+
:param func:
+
:return:
+
"""
+
+
def wrapper(*args, **kwargs):
+
try:
+
return func(*args, **kwargs)
+
except Exception as e:
+
db_loger.error(f"db_error: {e}", exc_info=True)
+
return None
+
+
return wrapper
+
+
+
def type_converter(type_id_or_name: [str, tuple]):
+
"""
+
消息类型ID与名称转换
+
名称(str)=>ID(tuple)
+
ID(tuple)=>名称(str)
+
:param type_id_or_name: 消息类型ID或名称
+
:return: 消息类型ID或名称
+
"""
+
type_name_dict = defaultdict(lambda: "未知", {
+
(1, 0): "文本",
+
(3, 0): "图片",
+
(34, 0): "语音",
+
(37, 0): "添加好友",
+
(42, 0): "推荐公众号",
+
(43, 0): "视频",
+
(47, 0): "动画表情",
+
(48, 0): "位置",
+
+
(49, 0): "文件",
+
(49, 1): "粘贴的文本",
+
(49, 3): "(分享)音乐",
+
(49, 4): "(分享)卡片式链接",
+
(49, 5): "(分享)卡片式链接",
+
(49, 6): "文件",
+
(49, 7): "游戏相关",
+
(49, 8): "用户上传的GIF表情",
+
(49, 15): "未知-49,15",
+
(49, 17): "位置共享",
+
(49, 19): "合并转发的聊天记录",
+
(49, 24): "(分享)笔记",
+
(49, 33): "(分享)小程序",
+
(49, 36): "(分享)小程序",
+
(49, 40): "(分享)收藏夹",
+
(49, 44): "(分享)小说(猜)",
+
(49, 50): "(分享)视频号名片",
+
(49, 51): "(分享)视频号视频",
+
(49, 53): "接龙",
+
(49, 57): "引用回复",
+
(49, 63): "视频号直播或直播回放",
+
(49, 74): "文件(猜)",
+
(49, 87): "群公告",
+
(49, 88): "视频号直播或直播回放等",
+
(49, 2000): "转账",
+
(49, 2003): "赠送红包封面",
+
+
(50, 0): "语音通话",
+
(65, 0): "企业微信打招呼(猜)",
+
(66, 0): "企业微信添加好友(猜)",
+
+
(10000, 0): "系统通知",
+
(10000, 1): "消息撤回1",
+
(10000, 4): "拍一拍",
+
(10000, 5): "消息撤回5",
+
(10000, 6): "消息撤回6",
+
(10000, 33): "消息撤回33",
+
(10000, 36): "消息撤回36",
+
(10000, 57): "消息撤回57",
+
(10000, 8000): "邀请加群",
+
(11000, 0): "未知-11000,0"
+
})
+
+
if isinstance(type_id_or_name, tuple):
+
return type_name_dict[type_id_or_name]
+
elif isinstance(type_id_or_name, str):
+
return next((k for k, v in type_name_dict.items() if v == type_id_or_name), (0, 0))
+
else:
+
raise ValueError("Invalid input type")
+
+
+
def typeid2name(type_id: tuple):
+
"""
+
获取消息类型名称
+
:param type_id: 消息类型ID 元组 eg: (1, 0)
+
:return:
+
"""
+
return type_converter(type_id)
+
+
+
def name2typeid(type_name: str):
+
"""
+
获取消息类型ID
+
:param type_name: 消息类型名称
+
:return:
+
"""
+
return type_converter(type_name)
+
+
+
def get_md5(data):
+
md5 = hashlib.md5()
+
md5.update(data)
+
return md5.hexdigest()
+
+
+
def timestamp2str(timestamp):
+
"""
+
时间戳转换为时间字符串
+
:param timestamp: 时间戳
+
:return: 时间字符串
+
"""
+
if isinstance(timestamp, str) and timestamp.isdigit():
+
timestamp = int(timestamp)
+
elif isinstance(timestamp, int) or isinstance(timestamp, float):
+
pass
+
else:
+
return timestamp
+
+
if len(str(timestamp)) == 13:
+
timestamp = timestamp / 1000
+
elif len(str(timestamp)) == 10:
+
pass
+
else:
+
return timestamp
+
+
return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp))
+
+
+
def dat2img(input_data):
+
"""
+
读取图片文件dat格式
+
:param input_data: 图片文件路径或者图片文件数据
+
:return: 图片格式,图片md5,图片数据
+
"""
+
# 常见图片格式的文件头
+
img_head = {
+
b"\xFF\xD8\xFF": ".jpg",
+
b"\x89\x50\x4E\x47": ".png",
+
b"\x47\x49\x46\x38": ".gif",
+
b"\x42\x4D": ".BMP",
+
b"\x49\x49": ".TIFF",
+
b"\x4D\x4D": ".TIFF",
+
b"\x00\x00\x01\x00": ".ICO",
+
b"\x52\x49\x46\x46": ".WebP",
+
b"\x00\x00\x00\x18\x66\x74\x79\x70\x68\x65\x69\x63": ".HEIC",
+
}
+
+
if isinstance(input_data, str):
+
with open(input_data, "rb") as f:
+
input_bytes = f.read()
+
else:
+
input_bytes = input_data
+
+
try:
+
import numpy as np
+
input_bytes = np.frombuffer(input_bytes, dtype=np.uint8)
+
for hcode in img_head: # 遍历文件头
+
t = input_bytes[0] ^ hcode[0] # 异或解密
+
if np.all(t == np.bitwise_xor(np.frombuffer(input_bytes[:len(hcode)], dtype=np.uint8),
+
np.frombuffer(hcode, dtype=np.uint8))): # 使用NumPy进行向量化的异或解密操作,并进行类型转换
+
fomt = img_head[hcode] # 获取文件格式
+
+
out_bytes = np.bitwise_xor(input_bytes, t) # 使用NumPy进行向量化的异或解密操作
+
md5 = get_md5(out_bytes)
+
return True, fomt, md5, out_bytes
+
return False, False, False, False
+
except ImportError:
+
pass
+
+
for hcode in img_head:
+
t = input_bytes[0] ^ hcode[0]
+
for i in range(1, len(hcode)):
+
if t == input_bytes[i] ^ hcode[i]:
+
fomt = img_head[hcode]
+
out_bytes = bytearray()
+
for nowByte in input_bytes: # 读取文件
+
newByte = nowByte ^ t # 异或解密
+
out_bytes.append(newByte)
+
md5 = get_md5(out_bytes)
+
return True, fomt, md5, out_bytes
+
return False, False, False, False
+
+
+
def xml2dict(xml_string):
+
"""
+
解析 XML 字符串
+
:param xml_string: 要解析的 XML 字符串
+
:return: 解析结果,以字典形式返回
+
"""
+
+
def parse_xml(element):
+
"""
+
递归解析 XML 元素
+
:param element: 要解析的 XML 元素
+
:return: 解析结果,以字典形式返回
+
"""
+
result = {}
+
# 解析当前元素的属性
+
if element is None or element.attrib is None: # 有时可能会遇到没有属性,要处理下
+
return result
+
for key, value in element.attrib.items():
+
result[key] = value
+
# 解析当前元素的子元素
+
for child in element:
+
child_result = parse_xml(child)
+
# 如果子元素的标签已经在结果中存在,则将其转换为列表
+
if child.tag in result:
+
if not isinstance(result[child.tag], list):
+
result[child.tag] = [result[child.tag]]
+
result[child.tag].append(child_result)
+
else:
+
result[child.tag] = child_result
+
# 如果当前元素没有子元素,则将其文本内容作为值保存
+
if not result and element.text:
+
result = element.text
+
return result
+
+
if xml_string is None or not isinstance(xml_string, str):
+
return None
+
try:
+
parser = ET.XMLParser(recover=True) # 有时微信的聊天记录里面,会冒出来xml格式不对的情况,这里把parser设置成忽略错误
+
root = ET.fromstring(xml_string, parser)
+
except Exception as e:
+
return xml_string
+
return parse_xml(root)
+
+
+
def download_file(url, save_path=None, proxies=None):
+
"""
+
下载文件
+
:param url: 文件下载地址
+
:param save_path: 保存路径
+
:param proxies: requests 代理
+
:return: 保存路径
+
"""
+
headers = {
+
"User-Agent": "Mozilla/5.0 (Linux; Android 10; Redmi K40 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Mobile Safari/537.36"
+
+
}
+
r = requests.get(url, headers=headers, proxies=proxies)
+
if r.status_code != 200:
+
return None
+
data = r.content
+
if save_path and isinstance(save_path, str):
+
# 创建文件夹
+
if not os.path.exists(os.path.dirname(save_path)):
+
os.makedirs(os.path.dirname(save_path))
+
with open(save_path, "wb") as f:
+
f.write(data)
+
return data
+
+
+
def bytes2str(d):
+
"""
+
遍历字典并将bytes转换为字符串
+
:param d:
+
:return:
+
"""
+
for k, v in d.items():
+
if isinstance(v, dict):
+
bytes2str(v)
+
elif isinstance(v, list):
+
for item in v:
+
if isinstance(item, dict):
+
bytes2str(item)
+
elif isinstance(item, bytes):
+
item = item.decode('utf-8') # 将bytes转换为字符串
+
elif isinstance(v, bytes):
+
d[k] = v.decode('utf-8')
+
+
+
def read_dict_all_values(data):
+
"""
+
读取字典中所有的值(单层)
+
:param dict_data: 字典
+
:return: 所有值的list
+
"""
+
result = []
+
if isinstance(data, list):
+
for item in data:
+
result.extend(read_dict_all_values(item))
+
elif isinstance(data, dict):
+
for key, value in data.items():
+
result.extend(read_dict_all_values(value))
+
else:
+
if isinstance(data, bytes):
+
tmp = data.decode("utf-8")
+
else:
+
tmp = str(data) if isinstance(data, int) else data
+
result.append(tmp)
+
+
for i in range(len(result)):
+
if isinstance(result[i], bytes):
+
result[i] = result[i].decode("utf-8")
+
return result
+
+
+
def match_BytesExtra(BytesExtra, pattern=r"FileStorage(.*?)'"):
+
"""
+
匹配 BytesExtra
+
:param BytesExtra: BytesExtra
+
:param pattern: 匹配模式
+
:return:
+
"""
+
if not BytesExtra:
+
return False
+
BytesExtra = read_dict_all_values(BytesExtra)
+
BytesExtra = "'" + "'".join(BytesExtra) + "'"
+
# print(BytesExtra)
+
+
match = re.search(pattern, BytesExtra)
+
if match:
+
video_path = match.group(0).replace("'", "")
+
return video_path
+
else:
+
return ""
+
+
+
def silk2audio(buf_data, is_play=False, is_wave=False, save_path=None, rate=24000):
+
silk_file = BytesIO(buf_data) # 读取silk文件
+
pcm_file = BytesIO() # 创建pcm文件
+
+
pysilk.decode(silk_file, pcm_file, rate) # 解码silk文件->pcm文件
+
pcm_data = pcm_file.getvalue() # 获取pcm文件数据
+
+
silk_file.close() # 关闭silk文件
+
pcm_file.close() # 关闭pcm文件
+
if is_play: # 播放音频
+
def play_audio(pcm_data, rate):
+
try:
+
import pyaudio
+
except ImportError:
+
raise ImportError("请先安装pyaudio库[ pip install pyaudio ]")
+
+
p = pyaudio.PyAudio() # 实例化pyaudio
+
stream = p.open(format=pyaudio.paInt16, channels=1, rate=rate, output=True) # 创建音频流对象
+
stream.write(pcm_data) # 写入音频流
+
stream.stop_stream() # 停止音频流
+
stream.close() # 关闭音频流
+
p.terminate() # 关闭pyaudio
+
+
play_audio(pcm_data, rate)
+
+
# print(is_play, is_wave, save_path)
+
+
if is_wave: # 转换为wav文件
+
wave_file = BytesIO() # 创建wav文件
+
with wave.open(wave_file, 'wb') as wf:
+
wf.setparams((1, 2, rate, 0, 'NONE', 'NONE')) # 设置wav文件参数
+
wf.writeframes(pcm_data) # 写入wav文件
+
rdata = wave_file.getvalue() # 获取wav文件数据
+
wave_file.close() # 关闭wav文件
+
if save_path and isinstance(save_path, str):
+
with open(save_path, "wb") as f:
+
f.write(rdata)
+
print('saved wav file')
+
return rdata
+
+
return pcm_data
19. File addition: "_loger.py" in "wxdump_linux/db/utils" "UTF-8"
up 0.43366, new 55693:55726
+
# -*- coding: utf-8 -*-#
+
# Re-export from centralized logging module
+
from wxdump_linux._logging import db_loger
20. File addition: "__init__.py" in "wxdump_linux/db/utils" "UTF-8"
up 0.43366, new 55841:55876
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: __init__.py.py
+
# Description: db.utils
+
# Author: xaoyaoo
+
# Date: 2024/07/23
+
# -------------------------------------------------------------------------------
+
from ._loger import db_loger
+
from .common_utils import timestamp2str, xml2dict, silk2audio, bytes2str, get_md5, name2typeid, typeid2name, \
+
type_converter, match_BytesExtra, db_error, download_file, dat2img
+
+
__all__ = ["db_loger", "timestamp2str", "xml2dict", "silk2audio", "bytes2str", "get_md5", "name2typeid", "typeid2name",
+
"type_converter", "match_BytesExtra", "db_error", "download_file", "dat2img"]
21. File addition: "db_sns.py" in "wxdump_linux/db" "UTF-8"
up 0.43347, new 56596:56629
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: Sns.py
+
# Description: 负责处理朋友圈相关数据 软件只能看到在电脑微信浏览过的朋友圈记录
+
# Author: xaoyaoo
+
# Date: 2024/04/15
+
# -------------------------------------------------------------------------------
+
import json
+
+
from .db_base import DatabaseBase
+
from .utils import silk2audio, xml2dict, timestamp2str
+
+
+
# FeedsV20:朋友圈的XML数据
+
# CommentV20:朋友圈点赞或评论记录
+
# NotificationV7:朋友圈通知
+
# SnsConfigV20:一些配置信息,能读懂的是其中有你的朋友圈背景图
+
# SnsGroupInfoV5:猜测是旧版微信朋友圈可见范围的可见或不可见名单
+
+
class SnsHandler(DatabaseBase):
+
_class_name = "Sns"
+
Media_required_tables = ["AdFeedsV8", "FeedsV20", "CommentV20", "NotificationV7", "SnsConfigV20", "SnsFailureV5",
+
"SnsGroupInfoV5", "SnsNoNotifyV5"]
+
+
def get_sns_feed(self):
+
"""
+
获取朋友圈数据
+
http://shmmsns.qpic.cn/mmsns/uGxMq1C4wvppcjBbyweK796GtT1hH3LGISYajZ2v7C11XhHk5icyDUXcWNSPk2MooeIa8Es5hXP0/0?idx=1&token=WSEN6qDsKwV8A02w3onOGQYfxnkibdqSOkmHhZGNB4DFumlE9p1vp0e0xjHoXlbbXRzwnQia6X5t3Annc4oqTuDg
+
"""
+
sql = (
+
"SELECT FeedId, CreateTime, FaultId, Type, UserName, Status, ExtFlag, PrivFlag, StringId, Content "
+
"FROM FeedsV20 "
+
"ORDER BY CreateTime DESC")
+
FeedsV20 = self.execute(sql)
+
for row in FeedsV20[2:]:
+
(FeedId, CreateTime, FaultId, Type, UserName, Status, ExtFlag, PrivFlag, StringId, Content) = row
+
+
Content = xml2dict(Content) if Content and Content.startswith("<") else Content
+
CreateTime = timestamp2str(CreateTime)
+
print(
+
f"{FeedId=}\n"
+
f"{CreateTime=}\n"
+
f"{FaultId=}\n"
+
f"{Type=}\n"
+
f"{UserName=}\n"
+
f"{Status=}\n"
+
f"{ExtFlag=}\n"
+
f"{PrivFlag=}\n"
+
f"{StringId=}\n\n"
+
f"{json.dumps(Content, indent=4, ensure_ascii=False)}\n\n"
+
)
+
return FeedId, CreateTime, FaultId, Type, UserName, Status, ExtFlag, PrivFlag, StringId, Content
+
+
def get_sns_comment(self):
+
pass
22. File addition: "db_public_msg.py" in "wxdump_linux/db" "UTF-8"
up 0.43347, new 59015:59055
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: PublicMsg.py
+
# Description: 负责处理公众号数据库信息
+
# Author: xaoyaoo
+
# Date: 2024/07/03
+
# -------------------------------------------------------------------------------
+
from .db_msg import MsgHandler
+
from .utils import db_error
+
+
+
class PublicMsgHandler(MsgHandler):
+
_class_name = "PublicMSG"
+
PublicMSG_required_tables = ["PublicMsg"]
+
+
def PublicMsg_add_index(self):
+
"""
+
添加索引,加快查询速度
+
"""
+
# 检查是否存在索引
+
if not self.tables_exist("PublicMsg"):
+
return
+
sql = "CREATE INDEX IF NOT EXISTS idx_PublicMsg_StrTalker ON PublicMsg(StrTalker);"
+
self.execute(sql)
+
sql = "CREATE INDEX IF NOT EXISTS idx_PublicMsg_CreateTime ON PublicMsg(CreateTime);"
+
self.execute(sql)
+
sql = "CREATE INDEX IF NOT EXISTS idx_PublicMsg_StrTalker_CreateTime ON PublicMsg(StrTalker, CreateTime);"
+
self.execute(sql)
+
+
@db_error
+
def get_plc_msg_count(self, wxids: list = ""):
+
"""
+
获取聊天记录数量,根据wxid获取单个联系人的聊天记录数量,不传wxid则获取所有联系人的聊天记录数量
+
:param wxids: wxid list
+
:return: 聊天记录数量列表 {wxid: chat_count}
+
"""
+
if not self.tables_exist("PublicMsg"):
+
return {}
+
if isinstance(wxids, str) and wxids:
+
wxids = [wxids]
+
if wxids:
+
wxids = "('" + "','".join(wxids) + "')"
+
sql = f"SELECT StrTalker, COUNT(*) FROM PublicMsg WHERE StrTalker IN {wxids} GROUP BY StrTalker ORDER BY COUNT(*) DESC;"
+
else:
+
sql = f"SELECT StrTalker, COUNT(*) FROM PublicMsg GROUP BY StrTalker ORDER BY COUNT(*) DESC;"
+
sql_total = f"SELECT COUNT(*) FROM MSG;"
+
+
result = self.execute(sql)
+
total_ret = self.execute(sql_total)
+
+
if not result:
+
return {}
+
total = 0
+
if total_ret and len(total_ret) > 0:
+
total = total_ret[0][0]
+
+
msg_count = {"total": total}
+
msg_count.update({row[0]: row[1] for row in result})
+
return msg_count
+
+
@db_error
+
def get_plc_msg_list(self, wxids: list or str = "", start_index=0, page_size=500, msg_type: str = "",
+
msg_sub_type: str = "", start_createtime=None, end_createtime=None, my_talker="我"):
+
"""
+
获取聊天记录列表
+
:param wxids: [wxid]
+
:param start_index: 起始索引
+
:param page_size: 页大小
+
:param msg_type: 消息类型
+
:param msg_sub_type: 消息子类型
+
:param start_createtime: 开始时间
+
:param end_createtime: 结束时间
+
:return: 聊天记录列表 {"id": _id, "MsgSvrID": str(MsgSvrID), "type_name": type_name, "is_sender": IsSender,
+
"talker": talker, "room_name": StrTalker, "msg": msg, "src": src, "extra": {},
+
"CreateTime": CreateTime, }
+
"""
+
if not self.tables_exist("PublicMsg"):
+
return [], []
+
+
if isinstance(wxids, str) and wxids:
+
wxids = [wxids]
+
param = ()
+
sql_wxid, param = (f"AND StrTalker in ({', '.join('?' for _ in wxids)}) ",
+
param + tuple(wxids)) if wxids else ("", param)
+
sql_type, param = ("AND Type=? ", param + (msg_type,)) if msg_type else ("", param)
+
sql_sub_type, param = ("AND SubType=? ", param + (msg_sub_type,)) if msg_type and msg_sub_type else ("", param)
+
sql_start_createtime, param = ("AND CreateTime>=? ", param + (start_createtime,)) if start_createtime else (
+
"", param)
+
sql_end_createtime, param = ("AND CreateTime<=? ", param + (end_createtime,)) if end_createtime else ("", param)
+
+
sql = (
+
"SELECT localId,TalkerId,MsgSvrID,Type,SubType,CreateTime,IsSender,Sequence,StatusEx,FlagEx,Status,"
+
"MsgSequence,StrContent,MsgServerSeq,StrTalker,DisplayContent,Reserved0,Reserved1,Reserved3,"
+
"Reserved4,Reserved5,Reserved6,CompressContent,BytesExtra,BytesTrans,Reserved2,"
+
"ROW_NUMBER() OVER (ORDER BY CreateTime ASC) AS id "
+
"FROM PublicMsg WHERE 1=1 "
+
f"{sql_wxid}"
+
f"{sql_type}"
+
f"{sql_sub_type}"
+
f"{sql_start_createtime}"
+
f"{sql_end_createtime}"
+
f"ORDER BY CreateTime ASC LIMIT ?,?"
+
)
+
param = param + (start_index, page_size)
+
result = self.execute(sql, param)
+
if not result:
+
return [], []
+
+
result_data = (self.get_msg_detail(row, my_talker=my_talker) for row in result)
+
rdata = list(result_data) # 转为列表
+
wxid_list = {d['talker'] for d in rdata} # 创建一个无重复的 wxid 列表
+
+
return rdata, list(wxid_list)
23. File addition: "db_open_im_media.py" in "wxdump_linux/db" "UTF-8"
up 0.43347, new 64013:64056
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: OpenIMMedia.py
+
# Description: 负责处理语音数据库
+
# Author: xaoyaoo
+
# Date: 2024/04/15
+
# -------------------------------------------------------------------------------
+
from .db_base import DatabaseBase
+
from .utils import silk2audio, db_loger
+
+
+
class OpenIMMediaHandler(DatabaseBase):
+
_class_name = "OpenIMMedia"
+
OpenIMMedia_required_tables = ["OpenIMMedia"]
+
+
def get_im_audio(self, MsgSvrID, is_play=False, is_wave=False, save_path=None, rate=24000):
+
if not self.tables_exist("OpenIMMedia"):
+
return False
+
sql = "select Buf from OpenIMMedia where Reserved0=? "
+
DBdata = self.execute(sql, (MsgSvrID,))
+
if not DBdata:
+
return False
+
if len(DBdata) == 0:
+
return False
+
data = DBdata[0][0] # [1:] + b'\xFF\xFF'
+
try:
+
pcm_data = silk2audio(buf_data=data, is_play=is_play, is_wave=is_wave, save_path=save_path, rate=rate)
+
return pcm_data
+
except Exception as e:
+
db_loger.warning(e, exc_info=True)
+
return False
24. File addition: "db_open_im_contact.py" in "wxdump_linux/db" "UTF-8"
up 0.43347, new 65265:65310
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: OpenIMContact.py
+
# Description:
+
# Author: xaoyaoo
+
# Date: 2024/04/16
+
# -------------------------------------------------------------------------------
+
from .db_base import DatabaseBase
+
from .utils import db_error
+
+
+
class OpenIMContactHandler(DatabaseBase):
+
_class_name = "OpenIMContact"
+
OpenIMContact_required_tables = ["OpenIMContact"]
+
+
def get_im_user_list(self, word=None, wxids=None):
+
"""
+
获取联系人列表
+
[ 注意:如果修改这个函数,要同时修改dbMicro.py中的get_user_list函数 ]
+
:param word: 查询关键字,可以是用户名、昵称、备注、描述,允许拼音
+
:param wxids: 微信id列表
+
:return: 联系人字典
+
"""
+
if not self.tables_exist("OpenIMContact"):
+
return []
+
if not wxids:
+
wxids = {}
+
if isinstance(wxids, str):
+
wxids = [wxids]
+
sql = ("SELECT UserName,NickName,Type,Remark,BigHeadImgUrl,CustomInfoDetail,CustomInfoDetailVisible,"
+
"AntiSpamTicket,AppId,Sex,DescWordingId,ExtraBuf "
+
"FROM OpenIMContact WHERE 1==1 ;")
+
if word:
+
sql = sql.replace(";",
+
f"AND (UserName LIKE '%{word}%' "
+
f"OR NickName LIKE '%{word}%' "
+
f"OR Remark LIKE '%{word}%' "
+
f"OR LOWER(NickNamePYInit) LIKE LOWER('%{word}%') "
+
f"OR LOWER(NickNameQuanPin) LIKE LOWER('%{word}%') "
+
f"OR LOWER(RemarkPYInit) LIKE LOWER('%{word}%') "
+
f"OR LOWER(RemarkQuanPin) LIKE LOWER('%{word}%') "
+
") ;")
+
if wxids:
+
sql = sql.replace(";", f"AND UserName IN ('" + "','".join(wxids) + "') ;")
+
+
result = self.execute(sql)
+
if not result:
+
return {}
+
+
users = {}
+
for row in result:
+
# 获取用户名、昵称、备注和聊天记录数量
+
(UserName, NickName, Type, Remark, BigHeadImgUrl, CustomInfoDetail, CustomInfoDetailVisible,
+
AntiSpamTicket, AppId, Sex, DescWordingId, ExtraBuf) = row
+
+
users[UserName] = {
+
"wxid": UserName, "nickname": NickName, "remark": Remark, "account": UserName,
+
"describe": '', "headImgUrl": BigHeadImgUrl if BigHeadImgUrl else "",
+
"ExtraBuf": None, "LabelIDList": tuple(), "extra": None}
+
return users
+
+
+
@db_error
+
def get_ExtraBuf(ExtraBuf: bytes):
+
"""
+
读取ExtraBuf(联系人表)
+
:param ExtraBuf:
+
:return:
+
"""
+
if not ExtraBuf:
+
return None
+
buf_dict = {
+
'74752C06': '性别[1男2女]', '46CF10C4': '个性签名', 'A4D9024A': '国', 'E2EAA8D1': '省', '1D025BBF': '市',
+
'F917BCC0': '公司名称', '759378AD': '手机号', '4EB96D85': '企微属性', '81AE19B4': '朋友圈背景',
+
'0E719F13': '备注图片', '945f3190': '备注图片2',
+
'DDF32683': '0', '88E28FCE': '1', '761A1D2D': '2', '0263A0CB': '3', '0451FF12': '4', '228C66A8': '5',
+
'4D6C4570': '6', '4335DFDD': '7', 'DE4CDAEB': '8', 'A72BC20A': '9', '069FED52': '10', '9B0F4299': '11',
+
'3D641E22': '12', '1249822C': '13', 'B4F73ACB': '14', '0959EB92': '15', '3CF4A315': '16',
+
'C9477AC60201E44CD0E8': '17', 'B7ACF0F5': '18', '57A7B5A8': '19', '695F3170': '20', 'FB083DD9': '21',
+
'0240E37F': '22', '315D02A3': '23', '7DEC0BC3': '24', '16791C90': '25'
+
}
+
rdata = {}
+
for buf_name in buf_dict:
+
rdata_name = buf_dict[buf_name]
+
buf_name = bytes.fromhex(buf_name)
+
offset = ExtraBuf.find(buf_name)
+
if offset == -1:
+
rdata[rdata_name] = ""
+
continue
+
offset += len(buf_name)
+
type_id = ExtraBuf[offset: offset + 1]
+
offset += 1
+
+
if type_id == b"\x04":
+
rdata[rdata_name] = int.from_bytes(ExtraBuf[offset: offset + 4], "little")
+
+
elif type_id == b"\x18":
+
length = int.from_bytes(ExtraBuf[offset: offset + 4], "little")
+
rdata[rdata_name] = ExtraBuf[offset + 4: offset + 4 + length].decode("utf-16").rstrip("\x00")
+
+
elif type_id == b"\x17":
+
length = int.from_bytes(ExtraBuf[offset: offset + 4], "little")
+
rdata[rdata_name] = ExtraBuf[offset + 4: offset + 4 + length].decode("utf-8", errors="ignore").rstrip(
+
"\x00")
+
elif type_id == b"\x05":
+
rdata[rdata_name] = f"0x{ExtraBuf[offset: offset + 8].hex()}"
+
return rdata
25. File addition: "db_msg.py" in "wxdump_linux/db" "UTF-8"
up 0.43347, new 70045:70078
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: MSG.py
+
# Description: 负责处理消息数据库数据
+
# Author: xaoyaoo
+
# Date: 2024/04/15
+
# -------------------------------------------------------------------------------
+
import json
+
import os
+
import re
+
import lz4.block
+
import blackboxprotobuf
+
+
from .db_base import DatabaseBase
+
from .utils import db_error, timestamp2str, xml2dict, match_BytesExtra, type_converter
+
+
+
class MsgHandler(DatabaseBase):
+
_class_name = "MSG"
+
MSG_required_tables = ["MSG"]
+
+
def Msg_add_index(self):
+
"""
+
添加索引,加快查询速度
+
"""
+
# 检查是否存在索引
+
if not self.tables_exist("MSG"):
+
return
+
self.execute("CREATE INDEX IF NOT EXISTS idx_MSG_StrTalker ON MSG(StrTalker);")
+
self.execute("CREATE INDEX IF NOT EXISTS idx_MSG_CreateTime ON MSG(CreateTime);")
+
self.execute("CREATE INDEX IF NOT EXISTS idx_MSG_StrTalker_CreateTime ON MSG(StrTalker, CreateTime);")
+
+
@db_error
+
def get_m_msg_count(self, wxids: list = ""):
+
"""
+
获取聊天记录数量,根据wxid获取单个联系人的聊天记录数量,不传wxid则获取所有联系人的聊天记录数量
+
:param wxids: wxid list
+
:return: 聊天记录数量列表 {wxid: chat_count, total: total_count}
+
"""
+
if isinstance(wxids, str) and wxids:
+
wxids = [wxids]
+
if wxids:
+
wxids = "('" + "','".join(wxids) + "')"
+
sql = f"SELECT StrTalker, COUNT(*) FROM MSG WHERE StrTalker IN {wxids} GROUP BY StrTalker ORDER BY COUNT(*) DESC;"
+
else:
+
sql = f"SELECT StrTalker, COUNT(*) FROM MSG GROUP BY StrTalker ORDER BY COUNT(*) DESC;"
+
sql_total = f"SELECT COUNT(*) FROM MSG;"
+
+
if not self.tables_exist("MSG"):
+
return {}
+
result = self.execute(sql)
+
total_ret = self.execute(sql_total)
+
+
if not result:
+
return {}
+
total = 0
+
if total_ret and len(total_ret) > 0:
+
total = total_ret[0][0]
+
+
msg_count = {"total": total}
+
msg_count.update({row[0]: row[1] for row in result})
+
return msg_count
+
+
@db_error
+
def get_msg_list(self, wxids: list or str = "", start_index=0, page_size=500, msg_type: str = "",
+
msg_sub_type: str = "", start_createtime=None, end_createtime=None, my_talker="我"):
+
"""
+
获取聊天记录列表
+
:param wxids: [wxid]
+
:param start_index: 起始索引
+
:param page_size: 页大小
+
:param msg_type: 消息类型
+
:param msg_sub_type: 消息子类型
+
:param start_createtime: 开始时间
+
:param end_createtime: 结束时间
+
:param my_talker: 我
+
:return: 聊天记录列表 {"id": _id, "MsgSvrID": str(MsgSvrID), "type_name": type_name, "is_sender": IsSender,
+
"talker": talker, "room_name": StrTalker, "msg": msg, "src": src, "extra": {},
+
"CreateTime": CreateTime, }
+
"""
+
if not self.tables_exist("MSG"):
+
return [], []
+
+
if isinstance(wxids, str) and wxids:
+
wxids = [wxids]
+
param = ()
+
sql_wxid, param = (f"AND StrTalker in ({', '.join('?' for _ in wxids)}) ",
+
param + tuple(wxids)) if wxids else ("", param)
+
sql_type, param = ("AND Type=? ", param + (msg_type,)) if msg_type else ("", param)
+
sql_sub_type, param = ("AND SubType=? ", param + (msg_sub_type,)) if msg_type and msg_sub_type else ("", param)
+
sql_start_createtime, param = ("AND CreateTime>=? ", param + (start_createtime,)) if start_createtime else (
+
"", param)
+
sql_end_createtime, param = ("AND CreateTime<=? ", param + (end_createtime,)) if end_createtime else ("", param)
+
+
sql = (
+
"SELECT localId,TalkerId,MsgSvrID,Type,SubType,CreateTime,IsSender,Sequence,StatusEx,FlagEx,Status,"
+
"MsgSequence,StrContent,MsgServerSeq,StrTalker,DisplayContent,Reserved0,Reserved1,Reserved3,"
+
"Reserved4,Reserved5,Reserved6,CompressContent,BytesExtra,BytesTrans,Reserved2,"
+
"ROW_NUMBER() OVER (ORDER BY CreateTime ASC) AS id "
+
"FROM MSG WHERE 1=1 "
+
f"{sql_wxid}"
+
f"{sql_type}"
+
f"{sql_sub_type}"
+
f"{sql_start_createtime}"
+
f"{sql_end_createtime}"
+
f"ORDER BY CreateTime ASC LIMIT ?,?"
+
)
+
param = param + (start_index, page_size)
+
result = self.execute(sql, param)
+
if not result:
+
return [], []
+
+
result_data = (self.get_msg_detail(row, my_talker=my_talker) for row in result)
+
rdata = list(result_data) # 转为列表
+
wxid_list = {d['talker'] for d in rdata} # 创建一个无重复的 wxid 列表
+
return rdata, list(wxid_list)
+
+
@db_error
+
def get_date_count(self, wxid='', start_time: int = 0, end_time: int = 0, time_format='%Y-%m-%d'):
+
"""
+
获取每日聊天记录数量,包括发送者数量、接收者数量和总数。
+
"""
+
if not self.tables_exist("MSG"):
+
return {}
+
if isinstance(start_time, str) and start_time.isdigit():
+
start_time = int(start_time)
+
if isinstance(end_time, str) and end_time.isdigit():
+
end_time = int(end_time)
+
+
# if start_time or end_time is not an integer and not a float, set both to 0
+
if not (isinstance(start_time, (int, float)) and isinstance(end_time, (int, float))):
+
start_time = 0
+
end_time = 0
+
params = ()
+
+
sql_wxid = "AND StrTalker = ? " if wxid else ""
+
params = params + (wxid,) if wxid else params
+
+
sql_time = "AND CreateTime BETWEEN ? AND ? " if start_time and end_time else ""
+
params = params + (start_time, end_time) if start_time and end_time else params
+
+
sql = (f"SELECT strftime('{time_format}', CreateTime, 'unixepoch', 'localtime') AS date, "
+
" COUNT(*) AS total_count ,"
+
" SUM(CASE WHEN IsSender = 1 THEN 1 ELSE 0 END) AS sender_count, "
+
" SUM(CASE WHEN IsSender = 0 THEN 1 ELSE 0 END) AS receiver_count "
+
"FROM MSG "
+
"WHERE StrTalker NOT LIKE '%chatroom%' "
+
f"{sql_wxid} {sql_time} "
+
f"GROUP BY date ORDER BY date ASC;")
+
result = self.execute(sql, params)
+
+
if not result:
+
return {}
+
# 将查询结果转换为字典
+
result_dict = {}
+
for row in result:
+
date, total_count, sender_count, receiver_count = row
+
result_dict[date] = {
+
"sender_count": sender_count,
+
"receiver_count": receiver_count,
+
"total_count": total_count
+
}
+
return result_dict
+
+
@db_error
+
def get_top_talker_count(self, top: int = 10, start_time: int = 0, end_time: int = 0):
+
"""
+
获取聊天记录数量最多的联系人,他们聊天记录数量
+
"""
+
if not self.tables_exist("MSG"):
+
return {}
+
if isinstance(start_time, str) and start_time.isdigit():
+
start_time = int(start_time)
+
if isinstance(end_time, str) and end_time.isdigit():
+
end_time = int(end_time)
+
+
# if start_time or end_time is not an integer and not a float, set both to 0
+
if not (isinstance(start_time, (int, float)) and isinstance(end_time, (int, float))):
+
start_time = 0
+
end_time = 0
+
+
sql_time = f"AND CreateTime BETWEEN {start_time} AND {end_time} " if start_time and end_time else ""
+
sql = (
+
"SELECT StrTalker, COUNT(*) AS count,"
+
"SUM(CASE WHEN IsSender = 1 THEN 1 ELSE 0 END) AS sender_count, "
+
"SUM(CASE WHEN IsSender = 0 THEN 1 ELSE 0 END) AS receiver_count "
+
"FROM MSG "
+
"WHERE StrTalker NOT LIKE '%chatroom%' "
+
f"{sql_time} "
+
"GROUP BY StrTalker ORDER BY count DESC "
+
f"LIMIT {top};"
+
)
+
result = self.execute(sql)
+
if not result:
+
return {}
+
# 将查询结果转换为字典
+
result_dict = {row[0]: {"total_count": row[1], "sender_count": row[2], "receiver_count": row[3]} for row in
+
result}
+
return result_dict
+
+
# 单条消息处理
+
@db_error
+
def get_msg_detail(self, row, my_talker="我"):
+
"""
+
获取单条消息详情,格式化输出
+
"""
+
(localId, TalkerId, MsgSvrID, Type, SubType, CreateTime, IsSender, Sequence, StatusEx, FlagEx, Status,
+
MsgSequence, StrContent, MsgServerSeq, StrTalker, DisplayContent, Reserved0, Reserved1, Reserved3,
+
Reserved4, Reserved5, Reserved6, CompressContent, BytesExtra, BytesTrans, Reserved2, _id) = row
+
+
CreateTime = timestamp2str(CreateTime)
+
+
type_id = (Type, SubType)
+
type_name = type_converter(type_id)
+
+
msg = StrContent
+
src = ""
+
extra = {}
+
+
if type_id == (1, 0): # 文本
+
msg = StrContent
+
+
elif type_id == (3, 0): # 图片
+
DictExtra = get_BytesExtra(BytesExtra)
+
DictExtra_str = str(DictExtra)
+
img_paths = [i for i in re.findall(r"(FileStorage.*?)'", DictExtra_str)]
+
img_paths = sorted(img_paths, key=lambda p: "Image" in p, reverse=True)
+
if img_paths:
+
img_path = img_paths[0].replace("'", "")
+
img_path = [i for i in img_path.split("\\") if i]
+
img_path = os.path.join(*img_path)
+
src = img_path
+
else:
+
src = ""
+
msg = "图片"
+
elif type_id == (34, 0): # 语音
+
tmp_c = xml2dict(StrContent)
+
voicelength = tmp_c.get("voicemsg", {}).get("voicelength", "")
+
transtext = tmp_c.get("voicetrans", {}).get("transtext", "")
+
if voicelength.isdigit():
+
voicelength = int(voicelength) / 1000
+
voicelength = f"{voicelength:.2f}"
+
msg = f"语音时长:{voicelength}秒\n翻译结果:{transtext}" if transtext else f"语音时长:{voicelength}秒"
+
src = os.path.join(f"{StrTalker}",
+
f"{CreateTime.replace(':', '-').replace(' ', '_')}_{IsSender}_{MsgSvrID}.wav")
+
elif type_id == (43, 0): # 视频
+
DictExtra = get_BytesExtra(BytesExtra)
+
DictExtra = str(DictExtra)
+
+
DictExtra_str = str(DictExtra)
+
video_paths = [i for i in re.findall(r"(FileStorage.*?)'", DictExtra_str)]
+
video_paths = sorted(video_paths, key=lambda p: "mp4" in p, reverse=True)
+
if video_paths:
+
video_path = video_paths[0].replace("'", "")
+
video_path = [i for i in video_path.split("\\") if i]
+
video_path = os.path.join(*video_path)
+
src = video_path
+
else:
+
src = ""
+
msg = "视频"
+
+
elif type_id == (47, 0): # 动画表情
+
content_tmp = xml2dict(StrContent)
+
cdnurl = content_tmp.get("emoji", {}).get("cdnurl", "")
+
if not cdnurl:
+
DictExtra = get_BytesExtra(BytesExtra)
+
cdnurl = match_BytesExtra(DictExtra)
+
if cdnurl:
+
msg, src = "表情", cdnurl
+
+
elif type_id == (48, 0): # 地图信息
+
content_tmp = xml2dict(StrContent)
+
location = content_tmp.get("location", {})
+
msg = (f"纬度:【{location.pop('x')}】 经度:【{location.pop('y')}】\n"
+
f"位置:{location.pop('label')} {location.pop('poiname')}\n"
+
f"其他信息:{json.dumps(location, ensure_ascii=False, indent=4)}"
+
)
+
src = ""
+
elif type_id == (49, 0): # 文件
+
DictExtra = get_BytesExtra(BytesExtra)
+
url = match_BytesExtra(DictExtra)
+
src = url
+
file_name = os.path.basename(url)
+
msg = file_name
+
+
elif type_id == (49, 5): # (分享)卡片式链接
+
CompressContent = decompress_CompressContent(CompressContent)
+
CompressContent_tmp = xml2dict(CompressContent)
+
appmsg = CompressContent_tmp.get("appmsg", {})
+
title = appmsg.get("title", "")
+
des = appmsg.get("des", "")
+
url = appmsg.get("url", "")
+
msg = f'{title}\n{des}\n\n<a href="{url}" target="_blank">点击查看详情</a>'
+
src = url
+
extra = appmsg
+
+
elif type_id == (49, 19): # 合并转发的聊天记录
+
CompressContent = decompress_CompressContent(CompressContent)
+
content_tmp = xml2dict(CompressContent)
+
title = content_tmp.get("appmsg", {}).get("title", "")
+
des = content_tmp.get("appmsg", {}).get("des", "")
+
recorditem = content_tmp.get("appmsg", {}).get("recorditem", "")
+
recorditem = xml2dict(recorditem)
+
msg = f"{title}\n{des}"
+
src = recorditem
+
+
elif type_id == (49, 57): # 带有引用的文本消息
+
CompressContent = decompress_CompressContent(CompressContent)
+
content_tmp = xml2dict(CompressContent)
+
appmsg = content_tmp.get("appmsg", {})
+
+
title = appmsg.get("title", "")
+
refermsg = appmsg.get("refermsg", {})
+
+
type_id = appmsg.get("type", "1")
+
+
displayname = refermsg.get("displayname", "")
+
display_content = refermsg.get("content", "")
+
display_createtime = refermsg.get("createtime", "")
+
+
display_createtime = timestamp2str(
+
int(display_createtime)) if display_createtime.isdigit() else display_createtime
+
+
if display_content and display_content.startswith("<?xml"):
+
display_content = xml2dict(display_content)
+
if "img" in display_content:
+
display_content = "图片"
+
else:
+
appmsg1 = display_content.get("appmsg", {})
+
title1 = appmsg1.get("title", "")
+
display_content = title1 if title1 else display_content
+
msg = f"{title}\n\n[引用]({display_createtime}){displayname}:{display_content}"
+
src = ""
+
+
elif type_id == (49, 2000): # 转账消息
+
CompressContent = decompress_CompressContent(CompressContent)
+
content_tmp = xml2dict(CompressContent)
+
wcpayinfo = content_tmp.get("appmsg", {}).get("wcpayinfo", {})
+
paysubtype = wcpayinfo.get("paysubtype", "") # 转账类型
+
feedesc = wcpayinfo.get("feedesc", "") # 转账金额
+
pay_memo = wcpayinfo.get("pay_memo", "") # 转账备注
+
begintransfertime = wcpayinfo.get("begintransfertime", "") # 转账开始时间
+
msg = (f"{'已收款' if paysubtype == '3' else '转账'}:{feedesc}\n"
+
f"转账说明:{pay_memo if pay_memo else ''}\n"
+
f"转账时间:{timestamp2str(begintransfertime)}\n"
+
)
+
src = ""
+
+
elif type_id[0] == 49 and type_id[1] != 0:
+
DictExtra = get_BytesExtra(BytesExtra)
+
url = match_BytesExtra(DictExtra)
+
src = url
+
msg = type_name
+
+
elif type_id == (50, 0): # 语音通话
+
msg = "语音/视频通话[%s]" % DisplayContent
+
+
# elif type_id == (10000, 0):
+
# msg = StrContent
+
# elif type_id == (10000, 4):
+
# msg = StrContent
+
# elif type_id == (10000, 8000):
+
# msg = StrContent
+
+
talker = "未知"
+
if IsSender == 1:
+
talker = my_talker
+
else:
+
if StrTalker.endswith("@chatroom"):
+
bytes_extra = get_BytesExtra(BytesExtra)
+
if bytes_extra:
+
try:
+
talker = bytes_extra['3'][0]['2']
+
if "publisher-id" in talker:
+
talker = "系统"
+
except:
+
pass
+
else:
+
talker = StrTalker
+
+
row_data = {"id": _id, "MsgSvrID": str(MsgSvrID), "type_name": type_name, "is_sender": IsSender,
+
"talker": talker, "room_name": StrTalker, "msg": msg, "src": src, "extra": extra,
+
"CreateTime": CreateTime, }
+
return row_data
+
+
+
@db_error
+
def decompress_CompressContent(data):
+
"""
+
解压缩Msg:CompressContent内容
+
:param data: CompressContent内容 bytes
+
:return:
+
"""
+
if data is None or not isinstance(data, bytes):
+
return None
+
try:
+
dst = lz4.block.decompress(data, uncompressed_size=len(data) << 8)
+
dst = dst.replace(b'\x00', b'') # 已经解码完成后,还含有0x00的部分,要删掉,要不后面ET识别的时候会报错
+
uncompressed_data = dst.decode('utf-8', errors='ignore')
+
return uncompressed_data
+
except Exception as e:
+
return data.decode('utf-8', errors='ignore')
+
+
+
@db_error
+
def get_BytesExtra(BytesExtra):
+
BytesExtra_message_type = {
+
"1": {
+
"type": "message",
+
"message_typedef": {
+
"1": {
+
"type": "int",
+
"name": ""
+
},
+
"2": {
+
"type": "int",
+
"name": ""
+
}
+
},
+
"name": "1"
+
},
+
"3": {
+
"type": "message",
+
"message_typedef": {
+
"1": {
+
"type": "int",
+
"name": ""
+
},
+
"2": {
+
"type": "str",
+
"name": ""
+
}
+
},
+
"name": "3",
+
"alt_typedefs": {
+
"1": {
+
"1": {
+
"type": "int",
+
"name": ""
+
},
+
"2": {
+
"type": "message",
+
"message_typedef": {},
+
"name": ""
+
}
+
},
+
"2": {
+
"1": {
+
"type": "int",
+
"name": ""
+
},
+
"2": {
+
"type": "message",
+
"message_typedef": {
+
"13": {
+
"type": "fixed32",
+
"name": ""
+
},
+
"12": {
+
"type": "fixed32",
+
"name": ""
+
}
+
},
+
"name": ""
+
}
+
},
+
"3": {
+
"1": {
+
"type": "int",
+
"name": ""
+
},
+
"2": {
+
"type": "message",
+
"message_typedef": {
+
"15": {
+
"type": "fixed64",
+
"name": ""
+
}
+
},
+
"name": ""
+
}
+
},
+
"4": {
+
"1": {
+
"type": "int",
+
"name": ""
+
},
+
"2": {
+
"type": "message",
+
"message_typedef": {
+
"15": {
+
"type": "int",
+
"name": ""
+
},
+
"14": {
+
"type": "fixed32",
+
"name": ""
+
}
+
},
+
"name": ""
+
}
+
},
+
"5": {
+
"1": {
+
"type": "int",
+
"name": ""
+
},
+
"2": {
+
"type": "message",
+
"message_typedef": {
+
"12": {
+
"type": "fixed32",
+
"name": ""
+
},
+
"7": {
+
"type": "fixed64",
+
"name": ""
+
},
+
"6": {
+
"type": "fixed64",
+
"name": ""
+
}
+
},
+
"name": ""
+
}
+
},
+
"6": {
+
"1": {
+
"type": "int",
+
"name": ""
+
},
+
"2": {
+
"type": "message",
+
"message_typedef": {
+
"7": {
+
"type": "fixed64",
+
"name": ""
+
},
+
"6": {
+
"type": "fixed32",
+
"name": ""
+
}
+
},
+
"name": ""
+
}
+
},
+
"7": {
+
"1": {
+
"type": "int",
+
"name": ""
+
},
+
"2": {
+
"type": "message",
+
"message_typedef": {
+
"12": {
+
"type": "fixed64",
+
"name": ""
+
}
+
},
+
"name": ""
+
}
+
},
+
"8": {
+
"1": {
+
"type": "int",
+
"name": ""
+
},
+
"2": {
+
"type": "message",
+
"message_typedef": {
+
"6": {
+
"type": "fixed64",
+
"name": ""
+
},
+
"12": {
+
"type": "fixed32",
+
"name": ""
+
}
+
},
+
"name": ""
+
}
+
},
+
"9": {
+
"1": {
+
"type": "int",
+
"name": ""
+
},
+
"2": {
+
"type": "message",
+
"message_typedef": {
+
"15": {
+
"type": "int",
+
"name": ""
+
},
+
"12": {
+
"type": "fixed64",
+
"name": ""
+
},
+
"6": {
+
"type": "int",
+
"name": ""
+
}
+
},
+
"name": ""
+
}
+
},
+
"10": {
+
"1": {
+
"type": "int",
+
"name": ""
+
},
+
"2": {
+
"type": "message",
+
"message_typedef": {
+
"6": {
+
"type": "fixed32",
+
"name": ""
+
},
+
"12": {
+
"type": "fixed64",
+
"name": ""
+
}
+
},
+
"name": ""
+
}
+
},
+
}
+
}
+
}
+
if BytesExtra is None or not isinstance(BytesExtra, bytes):
+
return None
+
try:
+
deserialize_data, message_type = blackboxprotobuf.decode_message(BytesExtra, BytesExtra_message_type)
+
return deserialize_data
+
except Exception as e:
+
return None
26. File addition: "db_micro.py" in "wxdump_linux/db" "UTF-8"
up 0.43347, new 95021:95056
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: MicroMsg.py
+
# Description: 负责处理联系人数据库
+
# Author: xaoyaoo
+
# Date: 2024/04/15
+
# -------------------------------------------------------------------------------
+
import logging
+
+
from .db_base import DatabaseBase
+
from .utils import timestamp2str, bytes2str, db_loger, db_error
+
+
import blackboxprotobuf
+
+
+
class MicroHandler(DatabaseBase):
+
_class_name = "MicroMsg"
+
Micro_required_tables = ["ContactLabel", "Contact", "ContactHeadImgUrl", "Session", "ChatInfo", "ChatRoom",
+
"ChatRoomInfo"]
+
+
def Micro_add_index(self):
+
"""
+
添加索引, 加快查询速度
+
"""
+
# 为 Session 表添加索引
+
if self.tables_exist("Session"):
+
self.execute("CREATE INDEX IF NOT EXISTS idx_Session_strUsrName_nTime ON Session(strUsrName, nTime);")
+
self.execute("CREATE INDEX IF NOT EXISTS idx_Session_nOrder ON Session(nOrder);")
+
self.execute("CREATE INDEX IF NOT EXISTS idx_Session_nTime ON Session(nTime);")
+
+
# 为 Contact 表添加索引
+
+
if self.tables_exist("Contact"):
+
self.execute("CREATE INDEX IF NOT EXISTS idx_Contact_UserName ON Contact(UserName);")
+
+
# 为 ContactHeadImgUrl 表添加索引
+
if self.tables_exist('ContactHeadImgUrl'):
+
self.execute("CREATE INDEX IF NOT EXISTS idx_ContactHeadImgUrl_usrName ON ContactHeadImgUrl(usrName);")
+
+
# 为 ChatInfo 表添加索引
+
if self.tables_exist('ChatInfo'):
+
self.execute("CREATE INDEX IF NOT EXISTS idx_ChatInfo_Username_LastReadedCreateTime "
+
"ON ChatInfo(Username, LastReadedCreateTime);")
+
self.execute(
+
"CREATE INDEX IF NOT EXISTS idx_ChatInfo_LastReadedCreateTime ON ChatInfo(LastReadedCreateTime);")
+
+
# 为 Contact 表添加复合索引
+
if self.tables_exist('Contact'):
+
self.execute("CREATE INDEX IF NOT EXISTS idx_Contact_search "
+
"ON Contact(UserName, NickName, Remark, Alias, QuanPin, PYInitial, RemarkQuanPin, RemarkPYInitial);")
+
+
# 为 ChatRoom 和 ChatRoomInfo 表添加索引
+
if self.tables_exist(['ChatRoomInfo', "ChatRoom"]):
+
self.execute("CREATE INDEX IF NOT EXISTS idx_ChatRoom_ChatRoomName ON ChatRoom(ChatRoomName);")
+
self.execute("CREATE INDEX IF NOT EXISTS idx_ChatRoomInfo_ChatRoomName ON ChatRoomInfo(ChatRoomName);")
+
+
@db_error
+
def get_labels(self, id_is_key=True):
+
"""
+
读取标签列表
+
:param id_is_key: id_is_key: True: id作为key,False: name作为key
+
:return:
+
"""
+
labels = {}
+
if not self.tables_exist("ContactLabel"):
+
return labels
+
sql = "SELECT LabelId, LabelName FROM ContactLabel ORDER BY LabelName ASC;"
+
result = self.execute(sql)
+
if not result:
+
return labels
+
if id_is_key:
+
labels = {row[0]: row[1] for row in result}
+
else:
+
labels = {row[1]: row[0] for row in result}
+
return labels
+
+
@db_error
+
def get_session_list(self):
+
"""
+
获取会话列表
+
:return: 会话列表
+
"""
+
sessions = {}
+
if not self.tables_exist(["Session", "Contact", "ContactHeadImgUrl"]):
+
return sessions
+
sql = (
+
"SELECT S.strUsrName,S.nOrder,S.nUnReadCount, S.strNickName, S.nStatus, S.nIsSend, S.strContent, "
+
"S.nMsgLocalID, S.nMsgStatus, S.nTime, S.nMsgType, S.Reserved2 AS nMsgSubType, C.UserName, C.Alias, "
+
"C.DelFlag, C.Type, C.VerifyFlag, C.Reserved1, C.Reserved2, C.Remark, C.NickName, C.LabelIDList, "
+
"C.ChatRoomType, C.ChatRoomNotify, C.Reserved5, C.Reserved6 as describe, C.ExtraBuf, H.bigHeadImgUrl "
+
"FROM (SELECT strUsrName, MAX(nTime) AS MaxnTime FROM Session GROUP BY strUsrName) AS SubQuery "
+
"JOIN Session S ON S.strUsrName = SubQuery.strUsrName AND S.nTime = SubQuery.MaxnTime "
+
"left join Contact C ON C.UserName = S.strUsrName "
+
"LEFT JOIN ContactHeadImgUrl H ON C.UserName = H.usrName "
+
"WHERE S.strUsrName!='@publicUser' "
+
"ORDER BY S.nTime DESC;"
+
)
+
+
db_loger.info(f"get_session_list sql: {sql}")
+
ret = self.execute(sql)
+
if not ret:
+
return sessions
+
+
id2label = self.get_labels()
+
for row in ret:
+
(strUsrName, nOrder, nUnReadCount, strNickName, nStatus, nIsSend, strContent,
+
nMsgLocalID, nMsgStatus, nTime, nMsgType, nMsgSubType,
+
UserName, Alias, DelFlag, Type, VerifyFlag, Reserved1, Reserved2, Remark, NickName, LabelIDList,
+
ChatRoomType, ChatRoomNotify, Reserved5, describe, ExtraBuf, bigHeadImgUrl) = row
+
+
ExtraBuf = get_ExtraBuf(ExtraBuf)
+
LabelIDList = LabelIDList.split(",") if LabelIDList else []
+
LabelIDList = [id2label.get(int(label_id), label_id) for label_id in LabelIDList if label_id]
+
nTime = timestamp2str(nTime) if nTime else None
+
+
sessions[strUsrName] = {
+
"wxid": strUsrName, "nOrder": nOrder, "nUnReadCount": nUnReadCount, "strNickName": strNickName,
+
"nStatus": nStatus, "nIsSend": nIsSend, "strContent": strContent, "nMsgLocalID": nMsgLocalID,
+
"nMsgStatus": nMsgStatus, "nTime": nTime, "nMsgType": nMsgType, "nMsgSubType": nMsgSubType,
+
"LastReadedCreateTime": nTime,
+
"nickname": NickName, "remark": Remark, "account": Alias,
+
"describe": describe, "headImgUrl": bigHeadImgUrl if bigHeadImgUrl else "",
+
"ExtraBuf": ExtraBuf, "LabelIDList": tuple(LabelIDList)
+
}
+
return sessions
+
+
@db_error
+
def get_recent_chat_wxid(self):
+
"""
+
获取最近聊天的联系人
+
:return: 最近聊天的联系人
+
"""
+
users = []
+
if not self.tables_exist(["ChatInfo"]):
+
return users
+
sql = (
+
"SELECT A.Username, LastReadedCreateTime, LastReadedSvrId "
+
"FROM ( SELECT Username, MAX(LastReadedCreateTime) AS MaxLastReadedCreateTime FROM ChatInfo "
+
"WHERE LastReadedCreateTime IS NOT NULL AND LastReadedCreateTime > 1007911408000 GROUP BY Username "
+
") AS SubQuery JOIN ChatInfo A "
+
"ON A.Username = SubQuery.Username AND LastReadedCreateTime = SubQuery.MaxLastReadedCreateTime "
+
"ORDER BY A.LastReadedCreateTime DESC;"
+
)
+
+
db_loger.info(f"get_recent_chat_wxid sql: {sql}")
+
result = self.execute(sql)
+
if not result:
+
return []
+
for row in result:
+
# 获取用户名、昵称、备注和聊天记录数量
+
username, LastReadedCreateTime, LastReadedSvrId = row
+
LastReadedCreateTime = timestamp2str(LastReadedCreateTime) if LastReadedCreateTime else None
+
users.append(
+
{"wxid": username, "LastReadedCreateTime": LastReadedCreateTime, "LastReadedSvrId": LastReadedSvrId})
+
return users
+
+
@db_error
+
def get_user_list(self, word: str = None, wxids: list = None, label_ids: list = None):
+
"""
+
获取联系人列表
+
[ 注意:如果修改这个函数,要同时修改dbOpenIMContact.py中的get_im_user_list函数 ]
+
:param word: 查询关键字,可以是wxid,用户名、昵称、备注、描述,允许拼音
+
:param wxids: wxid列表
+
:param label_ids: 标签id
+
:return: 联系人字典
+
"""
+
if isinstance(wxids, str):
+
wxids = [wxids]
+
if isinstance(label_ids, str):
+
label_ids = [label_ids]
+
+
users = {}
+
if not self.tables_exist(["Contact", "ContactHeadImgUrl"]):
+
return users
+
sql = (
+
"SELECT A.UserName, A.Alias, A.DelFlag, A.Type, A.VerifyFlag, A.Reserved1, A.Reserved2,"
+
"A.Remark, A.NickName, A.LabelIDList, A.ChatRoomType, A.ChatRoomNotify, A.Reserved5,"
+
"A.Reserved6 as describe, A.ExtraBuf, B.bigHeadImgUrl "
+
"FROM Contact A LEFT JOIN ContactHeadImgUrl B ON A.UserName = B.usrName WHERE 1==1 ;"
+
)
+
if word:
+
sql = sql.replace(";",
+
f"AND ( A.UserName LIKE '%{word}%' "
+
f"OR A.NickName LIKE '%{word}%' "
+
f"OR A.Remark LIKE '%{word}%' "
+
f"OR A.Alias LIKE '%{word}%' "
+
f"OR LOWER(A.QuanPin) LIKE LOWER('%{word}%') "
+
f"OR LOWER(A.PYInitial) LIKE LOWER('%{word}%') "
+
f"OR LOWER(A.RemarkQuanPin) LIKE LOWER('%{word}%') "
+
f"OR LOWER(A.RemarkPYInitial) LIKE LOWER('%{word}%') "
+
f") "
+
";")
+
if wxids:
+
sql = sql.replace(";", f"AND A.UserName IN ('" + "','".join(wxids) + "') ;")
+
+
if label_ids:
+
sql_label = [f"A.LabelIDList LIKE '%{i}%' " for i in label_ids]
+
sql_label = " OR ".join(sql_label)
+
sql = sql.replace(";", f"AND ({sql_label}) ;")
+
+
db_loger.info(f"get_user_list sql: {sql}")
+
result = self.execute(sql)
+
if not result:
+
return users
+
id2label = self.get_labels()
+
for row in result:
+
# 获取wxid,昵称,备注,描述,头像,标签
+
(UserName, Alias, DelFlag, Type, VerifyFlag, Reserved1, Reserved2, Remark, NickName, LabelIDList,
+
ChatRoomType, ChatRoomNotify, Reserved5, describe, ExtraBuf, bigHeadImgUrl) = row
+
+
ExtraBuf = get_ExtraBuf(ExtraBuf)
+
LabelIDList = LabelIDList.split(",") if LabelIDList else []
+
LabelIDList = [id2label.get(int(label_id), label_id) for label_id in LabelIDList if label_id]
+
+
# print(f"{UserName=}\n{Alias=}\n{DelFlag=}\n{Type=}\n{VerifyFlag=}\n{Reserved1=}\n{Reserved2=}\n"
+
# f"{Remark=}\n{NickName=}\n{LabelIDList=}\n{ChatRoomType=}\n{ChatRoomNotify=}\n{Reserved5=}\n"
+
# f"{describe=}\n{ExtraBuf=}\n{bigHeadImgUrl=}")
+
users[UserName] = {
+
"wxid": UserName, "nickname": NickName, "remark": Remark, "account": Alias,
+
"describe": describe, "headImgUrl": bigHeadImgUrl if bigHeadImgUrl else "",
+
"ExtraBuf": ExtraBuf, "LabelIDList": tuple(LabelIDList),
+
"extra": None}
+
extras = self.get_room_list(roomwxids=filter(lambda x: "@" in x, users.keys()))
+
for UserName in users:
+
users[UserName]["extra"] = extras.get(UserName, None)
+
return users
+
+
@db_error
+
def get_room_list(self, word=None, roomwxids: list = None):
+
"""
+
获取群聊列表
+
:param word: 群聊搜索词
+
:param roomwxids: 群聊wxid列表
+
:return: 群聊字典
+
"""
+
# 连接 MicroMsg.db 数据库,并执行查询
+
if isinstance(roomwxids, str):
+
roomwxids = [roomwxids]
+
+
rooms = {}
+
if not self.tables_exist(["ChatRoom", "ChatRoomInfo"]):
+
return rooms
+
sql = (
+
"SELECT A.ChatRoomName,A.UserNameList,A.DisplayNameList,A.ChatRoomFlag,A.IsShowName,"
+
"A.SelfDisplayName,A.Reserved2,A.RoomData, "
+
"B.Announcement,B.AnnouncementEditor,B.AnnouncementPublishTime "
+
"FROM ChatRoom A LEFT JOIN ChatRoomInfo B ON A.ChatRoomName==B.ChatRoomName "
+
"WHERE 1==1 ;")
+
if word:
+
sql = sql.replace(";",
+
f"AND A.ChatRoomName LIKE '%{word}%' ;")
+
if roomwxids:
+
sql = sql.replace(";", f"AND A.ChatRoomName IN ('" + "','".join(roomwxids) + "') ;")
+
+
db_loger.info(f"get_room_list sql: {sql}")
+
result = self.execute(sql)
+
if not result:
+
return rooms
+
+
for row in result:
+
# 获取用户名、昵称、备注和聊天记录数量
+
(ChatRoomName, UserNameList, DisplayNameList, ChatRoomFlag, IsShowName, SelfDisplayName,
+
Reserved2, RoomData,
+
Announcement, AnnouncementEditor, AnnouncementPublishTime) = row
+
+
UserNameList = UserNameList.split("^G")
+
DisplayNameList = DisplayNameList.split("^G")
+
+
RoomData = ChatRoom_RoomData(RoomData)
+
wxid2roomNickname = {}
+
if RoomData:
+
rd = []
+
for k, v in RoomData.items():
+
if isinstance(v, list):
+
rd += v
+
for i in rd:
+
try:
+
if isinstance(i, dict) and isinstance(i.get('1'), str) and i.get('2'):
+
wxid2roomNickname[i['1']] = i["2"]
+
except Exception as e:
+
db_loger.error(f"wxid2remark: ChatRoomName:{ChatRoomName}, {i} error:{e}", exc_info=True)
+
+
wxid2userinfo = self.get_user_list(wxids=UserNameList)
+
for i in wxid2userinfo:
+
wxid2userinfo[i]["roomNickname"] = wxid2roomNickname.get(i, "")
+
+
owner = wxid2userinfo.get(Reserved2, Reserved2)
+
+
rooms[ChatRoomName] = {
+
"wxid": ChatRoomName, "roomWxids": UserNameList, "IsShowName": IsShowName,
+
"ChatRoomFlag": ChatRoomFlag, "SelfDisplayName": SelfDisplayName,
+
"owner": owner, "wxid2userinfo": wxid2userinfo,
+
"Announcement": Announcement, "AnnouncementEditor": AnnouncementEditor,
+
"AnnouncementPublishTime": AnnouncementPublishTime}
+
return rooms
+
+
+
@db_error
+
def ChatRoom_RoomData(RoomData):
+
# 读取群聊数据,主要为 wxid,以及对应昵称
+
if RoomData is None or not isinstance(RoomData, bytes):
+
return None
+
data = get_BytesExtra(RoomData)
+
bytes2str(data) if data else None
+
return data
+
+
+
@db_error
+
def get_BytesExtra(BytesExtra):
+
if BytesExtra is None or not isinstance(BytesExtra, bytes):
+
return None
+
try:
+
deserialize_data, message_type = blackboxprotobuf.decode_message(BytesExtra)
+
return deserialize_data
+
except Exception as e:
+
db_loger.warning(f"\nget_BytesExtra: {e}\n{BytesExtra}", exc_info=True)
+
return None
+
+
+
@db_error
+
def get_ExtraBuf(ExtraBuf: bytes):
+
"""
+
读取ExtraBuf(联系人表)
+
:param ExtraBuf:
+
:return:
+
"""
+
if not ExtraBuf:
+
return None
+
buf_dict = {
+
'74752C06': '性别[1男2女]', '46CF10C4': '个性签名', 'A4D9024A': '国', 'E2EAA8D1': '省', '1D025BBF': '市',
+
'F917BCC0': '公司名称', '759378AD': '手机号', '4EB96D85': '企微属性', '81AE19B4': '朋友圈背景',
+
'0E719F13': '备注图片', '945f3190': '备注图片2',
+
'DDF32683': '0', '88E28FCE': '1', '761A1D2D': '2', '0263A0CB': '3', '0451FF12': '4', '228C66A8': '5',
+
'4D6C4570': '6', '4335DFDD': '7', 'DE4CDAEB': '8', 'A72BC20A': '9', '069FED52': '10', '9B0F4299': '11',
+
'3D641E22': '12', '1249822C': '13', 'B4F73ACB': '14', '0959EB92': '15', '3CF4A315': '16',
+
'C9477AC60201E44CD0E8': '17', 'B7ACF0F5': '18', '57A7B5A8': '19', '695F3170': '20', 'FB083DD9': '21',
+
'0240E37F': '22', '315D02A3': '23', '7DEC0BC3': '24', '16791C90': '25'
+
}
+
+
rdata = {}
+
for buf_name in buf_dict:
+
rdata_name = buf_dict[buf_name]
+
buf_name = bytes.fromhex(buf_name)
+
offset = ExtraBuf.find(buf_name)
+
if offset == -1:
+
rdata[rdata_name] = ""
+
continue
+
offset += len(buf_name)
+
type_id = ExtraBuf[offset: offset + 1]
+
offset += 1
+
+
if type_id == b"\x04":
+
rdata[rdata_name] = int.from_bytes(ExtraBuf[offset: offset + 4], "little")
+
+
elif type_id == b"\x18":
+
length = int.from_bytes(ExtraBuf[offset: offset + 4], "little")
+
rdata[rdata_name] = ExtraBuf[offset + 4: offset + 4 + length].decode("utf-16").rstrip("\x00")
+
+
elif type_id == b"\x17":
+
length = int.from_bytes(ExtraBuf[offset: offset + 4], "little")
+
rdata[rdata_name] = ExtraBuf[offset + 4: offset + 4 + length].decode("utf-8", errors="ignore").rstrip(
+
"\x00")
+
elif type_id == b"\x05":
+
rdata[rdata_name] = f"0x{ExtraBuf[offset: offset + 8].hex()}"
+
return rdata
27. File addition: "db_media.py" in "wxdump_linux/db" "UTF-8"
up 0.43347, new 111658:111693
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: MediaMSG.py
+
# Description: 负责处理语音数据库
+
# Author: xaoyaoo
+
# Date: 2024/04/15
+
# -------------------------------------------------------------------------------
+
from .db_base import DatabaseBase
+
from .utils import silk2audio
+
+
+
class MediaHandler(DatabaseBase):
+
_class_name = "MediaMSG"
+
Media_required_tables = ["Media"]
+
+
def Media_add_index(self):
+
"""
+
添加索引, 加快查询速度
+
"""
+
if self.tables_exist("Media"):
+
self.execute("CREATE INDEX IF NOT EXISTS MsgSvrID ON Media(Reserved0)")
+
+
def get_audio(self, MsgSvrID, is_play=False, is_wave=False, save_path=None, rate=24000):
+
if not self.tables_exist("Media"):
+
return False
+
+
sql = "select Buf from Media where Reserved0=? "
+
DBdata = self.execute(sql, (MsgSvrID,))
+
if not DBdata:
+
return False
+
if len(DBdata) == 0:
+
return False
+
data = DBdata[0][0] # [1:] + b'\xFF\xFF'
+
try:
+
pcm_data = silk2audio(buf_data=data, is_play=is_play, is_wave=is_wave, save_path=save_path, rate=rate)
+
return pcm_data
+
except Exception as e:
+
return False
28. File addition: "db_favorite.py" in "wxdump_linux/db" "UTF-8"
up 0.43347, new 113027:113065
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: Favorite.py
+
# Description: 负责处理wx收藏数据库
+
# Author: xaoyaoo
+
# Date: 2024/05/18
+
# -------------------------------------------------------------------------------
+
from collections import defaultdict
+
+
from .db_base import DatabaseBase
+
from .utils import timestamp2str, xml2dict
+
+
+
# * FavItems:收藏的消息条目列表
+
# * FavDataItem:收藏的具体数据。大概可以确定以下两点
+
# * 即使只是简单收藏一篇公众号文章也会在 FavDataItem 中有一个对应的记录
+
# * 对于收藏的合并转发类型的消息,合并转发中的每一条消息在 FavDataItem 中都是一个独立的记录
+
# * FavTags:为收藏内容添加的标签
+
+
+
class FavoriteHandler(DatabaseBase):
+
_class_name = "Favorite"
+
Favorite_required_tables = ["FavItems", "FavDataItem", "FavTagDatas", "FavBindTagDatas"]
+
+
def get_tags(self, LocalID):
+
"""
+
return: {LocalID: TagName}
+
"""
+
if not self.tables_exist("FavTagDatas"):
+
return {}
+
if LocalID is None:
+
sql = "select LocalID, TagName from FavTagDatas order by ServerSeq"
+
else:
+
sql = "select LocalID, TagName from FavTagDatas where LocalID = '%s' order by ServerSeq " % LocalID
+
tags = self.execute(sql) # [(1, 797940830, '程序语言类'), (2, 806153863, '账单')]
+
# 转换为字典
+
tags = {tag[0]: tag[1] for tag in tags}
+
return tags
+
+
def get_FavBindTags(self):
+
"""
+
return: [(FavLocalID, TagName)]
+
"""
+
sql = ("select DISTINCT A.FavLocalID, B.TagName "
+
"from FavBindTagDatas A, FavTagDatas B where A.TagLocalID = B.LocalID")
+
FavBindTags = self.execute(sql)
+
return FavBindTags
+
+
def get_favorite(self):
+
"""
+
return: [{FavItemsFields}, {FavItemsFields}]
+
"""
+
FavItemsFields = {
+
"FavLocalID": "本地收藏ID",
+
"SvrFavId": "服务器收藏ID",
+
"SourceId": "源ID",
+
"Type": "类型",
+
"SourceType": "源类型",
+
"LocalStatus": "本地状态",
+
"Flag": "标记",
+
"Status": "状态",
+
"FromUser": "源用户",
+
"RealChatName": "实际聊天名称",
+
"SearchKey": "搜索关键字",
+
"UpdateTime": "更新时间",
+
"reseverd0": "预留字段0",
+
"XmlBuf": "XML缓冲区"
+
}
+
FavDataItemFields = {
+
"FavLocalID": "本地收藏ID",
+
"Type": "类型",
+
"DataId": "数据ID",
+
"HtmlId": "HTML ID",
+
"Datasourceid": "数据源ID",
+
"Datastatus": "数据状态",
+
"Datafmt": "数据格式",
+
"Datatitle": "数据标题",
+
"Datadesc": "数据描述",
+
"Thumbfullmd5": "缩略图全MD5",
+
"Thumbhead256md5": "缩略图头256MD5",
+
"Thumbfullsize": "缩略图全尺寸",
+
"fullmd5": "全MD5",
+
"head256md5": "头256MD5",
+
"fullsize": "全尺寸",
+
"cdn_thumburl": "CDN缩略图URL",
+
"cdn_thumbkey": "CDN缩略图KEY",
+
"thumb_width": "缩略图宽度",
+
"thumb_height": "缩略图高度",
+
"cdn_dataurl": "CDN数据URL",
+
"cdn_datakey": "CDN数据KEY",
+
"cdn_encryver": "CDN加密版本",
+
"duration": "时长",
+
"stream_weburl": "流媒体WEB URL",
+
"stream_dataurl": "流媒体数据URL",
+
"stream_lowbandurl": "流媒体低带宽URL",
+
"sourcethumbpath": "源缩略图路径",
+
"sourcedatapath": "源数据路径",
+
"stream_videoid": "流媒体视频ID",
+
"Rerserved1": "保留字段1",
+
"Rerserved2": "保留字段2",
+
"Rerserved3": "保留字段3",
+
"Rerserved4": "保留字段4",
+
"Rerserved5": "保留字段5",
+
"Rerserved6": "保留字段6",
+
"Rerserved7": "保留字段7"
+
}
+
+
if not self.tables_exist(["FavItems", "FavDataItem"]):
+
return False
+
+
sql1 = "select " + ",".join(FavItemsFields.keys()) + " from FavItems order by UpdateTime desc"
+
sql2 = "select " + ",".join(FavDataItemFields.keys()) + " from FavDataItem B order by B.RecId asc"
+
+
FavItemsList = self.execute(sql1)
+
FavDataItemList = self.execute(sql2)
+
if FavItemsList is None or len(FavItemsList) == 0:
+
return False
+
+
FavDataDict = {}
+
if FavDataItemList and len(FavDataItemList) >= 0:
+
for item in FavDataItemList:
+
data_dict = {}
+
for i, key in enumerate(FavDataItemFields.keys()):
+
data_dict[key] = item[i]
+
FavDataDict[item[0]] = FavDataDict.get(item[0], []) + [data_dict]
+
# 获取标签
+
FavTags = self.get_FavBindTags()
+
FavTagsDict = {}
+
for FavLocalID, TagName in FavTags:
+
FavTagsDict[FavLocalID] = FavTagsDict.get(FavLocalID, []) + [TagName]
+
+
rdata = []
+
for item in FavItemsList:
+
processed_item = {
+
key: item[i] for i, key in enumerate(FavItemsFields.keys())
+
}
+
processed_item['UpdateTime'] = timestamp2str(processed_item['UpdateTime'])
+
processed_item['XmlBuf'] = xml2dict(processed_item['XmlBuf'])
+
processed_item['TypeName'] = Favorite_type_converter(processed_item['Type'])
+
processed_item['FavData'] = FavDataDict.get(processed_item['FavLocalID'], [])
+
processed_item['Tags'] = FavTagsDict.get(processed_item['FavLocalID'], [])
+
rdata.append(processed_item)
+
try:
+
import pandas as pd
+
except ImportError:
+
return False
+
pf = pd.DataFrame(FavItemsList)
+
pf.columns = FavItemsFields.keys() # set column names
+
pf["UpdateTime"] = pf["UpdateTime"].apply(timestamp2str) # 处理时间
+
pf["XmlBuf"] = pf["XmlBuf"].apply(xml2dict) # 处理xml
+
pf["TypeName"] = pf["Type"].apply(Favorite_type_converter) # 添加类型名称列
+
pf["FavData"] = pf["FavLocalID"].apply(lambda x: FavDataDict.get(x, [])) # 添加数据列
+
pf["Tags"] = pf["FavLocalID"].apply(lambda x: FavTagsDict.get(x, [])) # 添加标签列
+
pf = pf.fillna("") # 去掉Nan
+
rdata = pf.to_dict(orient="records")
+
return rdata
+
+
+
def Favorite_type_converter(type_id_or_name: [str, int]):
+
"""
+
收藏类型ID与名称转换
+
名称(str)=>ID(int)
+
ID(int)=>名称(str)
+
:param type_id_or_name: 消息类型ID或名称
+
:return: 消息类型名称或ID
+
"""
+
type_name_dict = defaultdict(lambda: "未知", {
+
1: "文本", # 文本 已测试
+
2: "图片", # 图片 已测试
+
3: "语音", # 语音
+
4: "视频", # 视频 已测试
+
5: "链接", # 链接 已测试
+
6: "位置", # 位置
+
7: "小程序", # 小程序
+
8: "文件", # 文件 已测试
+
14: "聊天记录", # 聊天记录 已测试
+
16: "群聊视频", # 群聊中的视频 可能
+
18: "笔记" # 笔记 已测试
+
})
+
+
if isinstance(type_id_or_name, int):
+
return type_name_dict[type_id_or_name]
+
elif isinstance(type_id_or_name, str):
+
return next((k for k, v in type_name_dict.items() if v == type_id_or_name), (0, 0))
+
else:
+
raise ValueError("Invalid input type")
29. File addition: "db_base.py" in "wxdump_linux/db" "UTF-8"
up 0.43347, new 120726:120760
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: dbbase.py
+
# Description:
+
# Author: xaoyaoo
+
# Date: 2024/04/15
+
# -------------------------------------------------------------------------------
+
import importlib
+
import os
+
import sqlite3
+
import time
+
+
from .utils import db_loger
+
from dbutils.pooled_db import PooledDB
+
+
+
# import logging
+
#
+
# db_loger = logging.getLogger("db_prepare")
+
+
+
class DatabaseSingletonBase:
+
# _singleton_instances = {} # 使用字典存储不同db_path对应的单例实例
+
_class_name = "DatabaseSingletonBase"
+
_db_pool = {} # 使用字典存储不同db_path对应的连接池
+
+
# def __new__(cls, *args, **kwargs):
+
# if cls._class_name not in cls._singleton_instances:
+
# cls._singleton_instances[cls._class_name] = super().__new__(cls)
+
# return cls._singleton_instances[cls._class_name]
+
+
@classmethod
+
def connect(cls, db_config):
+
"""
+
连接数据库,如果增加其他数据库连接,则重写该方法
+
:param db_config: 数据库配置
+
:return: 连接池
+
"""
+
if not db_config:
+
raise ValueError("db_config 不能为空")
+
db_key = db_config.get("key", "xaoyaoo_741852963")
+
db_type = db_config.get("type", "sqlite")
+
if db_key in cls._db_pool and cls._db_pool[db_key] is not None:
+
return cls._db_pool[db_key]
+
+
if db_type == "sqlite":
+
db_path = db_config.get("path", "")
+
if not os.path.exists(db_path):
+
raise FileNotFoundError(f"文件不存在: {db_path}")
+
pool = PooledDB(
+
creator=sqlite3, # 使用 sqlite3 作为连接创建者
+
maxconnections=0, # 连接池最大连接数
+
mincached=4, # 初始化时,链接池中至少创建的空闲的链接,0表示不创建
+
maxusage=1, # 一个链接最多被重复使用的次数,None表示无限制
+
blocking=True, # 连接池中如果没有可用连接后,是否阻塞等待。True,等待;False,不等待然后报错
+
ping=0, # ping 数据库判断是否服务正常
+
database=db_path
+
)
+
elif db_type == "mysql":
+
mysql_config = {
+
'user': db_config['user'],
+
'host': db_config['host'],
+
'password': db_config['password'],
+
'database': db_config['database'],
+
'port': db_config['port']
+
}
+
pool = PooledDB(
+
creator=importlib.import_module('pymysql'), # 使用 mysql 作为连接创建者
+
ping=1, # ping 数据库判断是否服务正常
+
**mysql_config
+
)
+
else:
+
raise ValueError(f"不支持的数据库类型: {db_type}")
+
+
db_loger.info(f"{pool} 连接句柄创建 {db_config}")
+
cls._db_pool[db_key] = pool
+
return pool
+
+
+
class DatabaseBase(DatabaseSingletonBase):
+
_class_name = "DatabaseBase"
+
existed_tables = []
+
+
def __init__(self, db_config):
+
"""
+
db_config = {
+
"key": "test1",
+
"type": "sqlite",
+
"path": r"C:\***\wxdump_work\merge_all.db"
+
}
+
"""
+
self.config = db_config
+
self.pool = self.connect(self.config)
+
self.__get_existed_tables()
+
+
def __get_existed_tables(self):
+
sql = "SELECT tbl_name FROM sqlite_master WHERE type = 'table' and tbl_name!='sqlite_sequence';"
+
existing_tables = self.execute(sql)
+
if existing_tables:
+
self.existed_tables = [row[0].lower() for row in existing_tables]
+
return self.existed_tables
+
else:
+
return None
+
+
def tables_exist(self, required_tables: str or list):
+
"""
+
判断该类所需要的表是否存在
+
Check if all required tables exist in the database.
+
Args:
+
required_tables (list or str): A list of table names or a single table name string.
+
Returns:
+
bool: True if all required tables exist, False otherwise.
+
"""
+
if isinstance(required_tables, str):
+
required_tables = [required_tables]
+
rbool = all(table.lower() in self.existed_tables for table in (required_tables or []))
+
if not rbool: db_loger.warning(f"{required_tables=}\n{self.existed_tables=}\n{rbool=}")
+
return rbool
+
+
def execute(self, sql, params=None):
+
"""
+
执行SQL语句
+
:param sql: SQL语句 (str)
+
:param params: 参数 (tuple)
+
:return: 查询结果 (list)
+
"""
+
connection = self.pool.connection()
+
try:
+
# connection.text_factory = bytes
+
cursor = connection.cursor()
+
if params:
+
cursor.execute(sql, params)
+
else:
+
cursor.execute(sql)
+
return cursor.fetchall()
+
except Exception as e1:
+
try:
+
connection.text_factory = bytes
+
cursor = connection.cursor()
+
if params:
+
cursor.execute(sql, params)
+
else:
+
cursor.execute(sql)
+
rdata = cursor.fetchall()
+
connection.text_factory = str
+
return rdata
+
except Exception as e2:
+
db_loger.error(f"{sql=}\n{params=}\n{e1=}\n{e2=}\n", exc_info=True)
+
return None
+
finally:
+
connection.close()
+
+
def close(self):
+
self.pool.close()
+
db_loger.info(f"关闭数据库 - {self.config}")
+
+
def __del__(self):
+
self.close()
+
+
# class MsgDb(DatabaseBase):
+
#
+
# def p(self, *args, **kwargs):
+
# sel = "select tbl_name from sqlite_master where type='table'"
+
# data = self.execute(sel)
+
# # print([i[0] for i in data])
+
# return data
+
#
+
#
+
# class MsgDb1(DatabaseBase):
+
# _class_name = "MsgDb1"
+
#
+
# def p(self, *args, **kwargs):
+
# sel = "select tbl_name from sqlite_master where type='table'"
+
# data = self.execute(sel)
+
# # print([i[0] for i in data])
+
# return data
+
#
+
#
+
# if __name__ == '__main__':
+
# logging.basicConfig(level=logging.INFO,
+
# style='{',
+
# datefmt='%Y-%m-%d %H:%M:%S',
+
# format='[{levelname[0]}] {asctime} [{name}:{levelno}] {pathname}:{lineno} {message}'
+
# )
+
#
+
# config1 = {
+
# "key": "test1",
+
# "type": "sqlite",
+
# "path": r"D:\e_all.db"
+
# }
+
# config2 = {
+
# "key": "test2",
+
# "type": "sqlite",
+
# "path": r"D:\_call.db"
+
# }
+
#
+
# t1 = MsgDb(config1)
+
# t1.p()
+
# t2 = MsgDb(config2)
+
# t2.p()
+
# t3 = MsgDb1(config1)
+
# t3.p()
+
# t4 = MsgDb1(config2)
+
# t4.p()
+
#
+
# print(t4._db_pool)
+
# # 销毁t1
+
# del t1
+
# # 销毁t2
+
# del t2
+
# del t3
+
#
+
# # 销毁t4
+
# del t4
+
# import time
+
# time.sleep(1)
+
#
+
# t1 = MsgDb(config1)
+
# t1.p()
+
# t2 = MsgDb(config2)
+
# t2.p()
+
#
+
#
+
# print(t2._db_pool)
30. File addition: "__init__.py" in "wxdump_linux/db" "UTF-8"
up 0.43347, new 128020:128055
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: __init__.py
+
# Description: db
+
# Author: xaoyaoo
+
# Date: 2024/04/15
+
# -------------------------------------------------------------------------------
+
from .utils import download_file, dat2img
+
+
from .db_favorite import FavoriteHandler
+
from .db_msg import MsgHandler
+
from .db_micro import MicroHandler
+
from .db_media import MediaHandler
+
from .db_open_im_contact import OpenIMContactHandler
+
from .db_public_msg import PublicMsgHandler
+
from .db_open_im_media import OpenIMMediaHandler
+
from .db_sns import SnsHandler
+
+
+
class DBHandler(MicroHandler, MediaHandler, OpenIMContactHandler, PublicMsgHandler, OpenIMMediaHandler,
+
FavoriteHandler, SnsHandler):
+
_class_name = "DBHandler"
+
+
def __init__(self, db_config, my_wxid, *args, **kwargs):
+
self.config = db_config
+
self.my_wxid = my_wxid
+
+
super().__init__(self.config)
+
# 加速查询索引
+
self.Micro_add_index()
+
self.Msg_add_index()
+
self.PublicMsg_add_index()
+
self.Media_add_index()
+
+
def get_user(self, word=None, wxids=None, labels=None):
+
"""
+
获取联系人列表
+
:param word: 搜索关键字
+
:param wxids: wxid列表
+
:param labels: 标签列表
+
:return: 联系人dict {wxid: {}}
+
"""
+
users = self.get_user_list(word=word, wxids=wxids, label_ids=labels)
+
users.update(self.get_im_user_list(word=word, wxids=wxids))
+
return users
+
+
def get_msgs(self, wxids: list or str = "", start_index=0, page_size=500, msg_type: str = "",
+
msg_sub_type: str = "", start_createtime=None, end_createtime=None):
+
"""
+
获取聊天记录列表
+
:param wxids:[ wxid]
+
:param start_index: 起始索引
+
:param page_size: 页大小
+
:param msg_type: 消息类型
+
:param msg_sub_type: 消息子类型
+
:param start_createtime: 开始时间
+
:param end_createtime: 结束时间
+
:return: 聊天记录列表 {"id": _id, "MsgSvrID": str(MsgSvrID), "type_name": type_name, "is_sender": IsSender,
+
"talker": talker, "room_name": StrTalker, "msg": msg, "src": src, "extra": {},
+
"CreateTime": CreateTime, }
+
"""
+
msgs0, wxid_list0 = self.get_msg_list(wxids=wxids, start_index=start_index, page_size=page_size,
+
msg_type=msg_type,
+
msg_sub_type=msg_sub_type, start_createtime=start_createtime,
+
end_createtime=end_createtime, my_talker=self.my_wxid)
+
msgs1, wxid_list1 = self.get_plc_msg_list(wxids=wxids, start_index=start_index, page_size=page_size,
+
msg_type=msg_type,
+
msg_sub_type=msg_sub_type, start_createtime=start_createtime,
+
end_createtime=end_createtime, my_talker=self.my_wxid)
+
msgs = msgs0 + msgs1
+
wxid_list = wxid_list0 + wxid_list1
+
+
users = self.get_user(wxids=wxid_list)
+
return msgs, users
+
+
def get_msgs_count(self, wxids: list = ""):
+
chat_count = self.get_m_msg_count(wxids)
+
chat_count1 = self.get_plc_msg_count(wxids)
+
# 合并两个字典,相同key,则将value相加
+
count = {k: chat_count.get(k, 0) + chat_count1.get(k, 0) for k in
+
list(set(list(chat_count.keys()) + list(chat_count1.keys())))}
+
return count
+
+
+
__all__ = ["DBHandler", "FavoriteHandler", "MsgHandler", "MicroHandler", "MediaHandler",
+
"OpenIMContactHandler", "PublicMsgHandler", "OpenIMMediaHandler", "SnsHandler"]
31. File addition: "cli.py" in "wxdump_linux" "UTF-8"
up 0.24, new 131917:131947
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: main.py.py
+
# Description:
+
# Author: xaoyaoo
+
# Date: 2023/10/14
+
# -------------------------------------------------------------------------------
+
import argparse
+
import os
+
import sys
+
+
from wxdump_linux import *
+
import wxdump_linux
+
from wxdump_linux.linux import find_wechat_files_path, extract_all_keys, extract_image_key
+
+
wxdump_ascii = r"""
+
██╗ ██╗██╗ ██╗██████╗ ██╗ ██╗███╗ ███╗██████╗ ██╗ ██╗███╗ ██╗██╗ ██╗██╗ ██╗
+
██║ ██║╚██╗██╔╝██╔══██╗██║ ██║████╗ ████║██╔══██╗ ██║ ██║████╗ ██║██║ ██║╚██╗██╔╝
+
██║ █╗ ██║ ╚███╔╝ ██║ ██║██║ ██║██╔████╔██║██████╔╝█████╗██║ ██║██╔██╗ ██║██║ ██║ ╚███╔╝
+
██║███╗██║ ██╔██╗ ██║ ██║██║ ██║██║╚██╔╝██║██╔═══╝ ╚════╝██║ ██║██║╚██╗██║██║ ██║ ██╔██╗
+
╚███╔███╔╝██╔╝ ██╗██████╔╝╚██████╔╝██║ ╚═╝ ██║██║ ███████╗██║██║ ╚████║╚██████╔╝██╔╝ ██╗
+
╚══╝╚══╝ ╚═╝ ╚═╝╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝
+
"""
+
WXDUMP_VERSION = wxdump_linux.__version__
+
+
models = {}
+
+
+
def create_parser():
+
class CustomArgumentParser(argparse.ArgumentParser):
+
def format_help(self):
+
# 首先显示软件简介
+
# 定义软件简介文本并进行格式化
+
line_len = 70
+
WXDUMP_VERSION = wxdump_linux.__version__
+
wxdump_line = '\n'.join([f'\033[36m{line:^{line_len}}\033[0m' for line in wxdump_ascii.split('\n') if line])
+
first_line = f'\033[36m{" wxdump-linux v" + WXDUMP_VERSION + " ":=^{line_len}}\033[0m'
+
brief = 'wxdump-linux: Linux 版微信数据库解密工具(密钥提取、解密、合并、Web 查看)'
+
other = '基于 PyWxDump,感谢原作者 xaoyaoo'
+
+
separator = f'\033[36m{" options ":-^{line_len}}\033[0m'
+
+
# 获取帮助信息并添加到软件简介下方
+
help_text = super().format_help().strip()
+
+
return f'\n{wxdump_line}\n\n{first_line}\n{brief}\n{separator}\n{help_text}\n{separator}\n{other}\n{first_line}\n'
+
+
# 创建命令行参数解析器
+
parser = CustomArgumentParser(formatter_class=argparse.RawTextHelpFormatter)
+
parser.add_argument('-V', '--version', action='version', version=f"wxdump-linux v{WXDUMP_VERSION}")
+
+
# 添加子命令解析器
+
subparsers = parser.add_subparsers(dest="mode", help="""运行模式:""", required=True, metavar="mode")
+
+
return parser, subparsers
+
+
+
main_parser, sub_parsers = create_parser()
+
+
+
class SubMainMetaclass(type):
+
+
def is_implemented_method(cls, name: str, method: str):
+
if not hasattr(cls, method) or not callable(getattr(cls, method)):
+
raise NotImplementedError("{} NotImplemented [{}]".format(name, method))
+
+
def __init__(cls, name, bases, kwargs):
+
super(SubMainMetaclass, cls).__init__(name, bases, kwargs)
+
+
if name in ["BaseSubMainClass"]:
+
return
+
+
mode = getattr(cls, "mode")
+
if mode in models:
+
raise TypeError("mode[{}] is used...".format(mode))
+
+
cls.is_implemented_method(name, "init_parses")
+
cls.is_implemented_method(name, "run")
+
+
c = cls()
+
models[mode] = c
+
c.init_parses(sub_parsers.add_parser(mode, **getattr(c, "parser_kwargs")))
+
+
+
class BaseSubMainClass(metaclass=SubMainMetaclass):
+
parser_kwargs = {}
+
+
@property
+
def mode(self) -> str:
+
raise NotImplementedError()
+
+
def init_parses(self, parser):
+
raise NotImplementedError()
+
+
def run(self, args: argparse.Namespace):
+
raise NotImplementedError()
+
+
+
class MainWxInfo(BaseSubMainClass):
+
mode = "info"
+
parser_kwargs = {"help": "获取微信信息(Linux 版:从进程内存提取)"}
+
+
def init_parses(self, parser):
+
parser.add_argument("-s", '--save_path', metavar="", type=str, help="(可选)保存路径【json文件】")
+
return parser
+
+
def run(self, args):
+
print(f"[*] wxdump-linux v{wxdump_linux.__version__}")
+
save_path = args.save_path
+
result = get_wx_info(is_print=True, save_path=save_path)
+
return result
+
+
+
class MainWxDbPath(BaseSubMainClass):
+
mode = "wx_path"
+
parser_kwargs = {"help": "获取微信文件夹路径"}
+
+
def init_parses(self, parser):
+
# 添加 'wx_db_path' 子命令解析器
+
parser.add_argument("-r", "--db_types", type=str,
+
help="(可选)需要的数据库名称(eg: -r MediaMSG;MicroMsg;FTSMSG;MSG;Sns;Emotion )",
+
default=None, metavar="")
+
parser.add_argument("-wf", "--wx_files", type=str, help="(可选)'WeChat Files'路径", default=None,
+
metavar="")
+
parser.add_argument("-id", "--wxid", type=str, help="(可选)wxid_,用于确认用户文件夹",
+
default=None, metavar="")
+
return parser
+
+
def run(self, args):
+
print(f"[*] wxdump-linux v{wxdump_linux.__version__}")
+
# 从命令行参数获取值
+
db_types = args.db_types
+
msg_dir = args.wx_files
+
wxid = args.wxid
+
ret = get_wx_db(msg_dir=msg_dir, db_types=db_types, wxids=wxid)
+
for i in ret: print(i)
+
return ret
+
+
+
class MainLinuxKey(BaseSubMainClass):
+
mode = "linux_key"
+
parser_kwargs = {"help": "Linux 版微信: 从进程内存提取数据库密钥"}
+
+
def init_parses(self, parser):
+
parser.add_argument("--wx-dir", type=str, default=None, metavar="",
+
help="(可选)微信数据目录,默认自动检测")
+
return parser
+
+
def run(self, args):
+
print(f"[*] wxdump-linux v{wxdump_linux.__version__}")
+
wx_dir = args.wx_dir or find_wechat_files_path()
+
print(f"[+] wx_dir: {wx_dir if wx_dir else 'None'}")
+
if not wx_dir:
+
print("[-] 未找到微信数据目录")
+
return None
+
try:
+
db_keys = extract_all_keys(wx_dir)
+
except RuntimeError as e:
+
print(f"[-] {e}")
+
return None
+
print(f"[+] 从进程内存提取到 {len(db_keys)} 个数据库密钥:")
+
for db_path, (key, salt) in sorted(db_keys.items()):
+
rel = os.path.relpath(db_path, wx_dir)
+
print(f" {rel}: key={key}")
+
# Extract image AES key
+
image_key = extract_image_key(wx_dir)
+
if image_key:
+
print(f"[+] 图片 AES key: {image_key}")
+
else:
+
print("[-] 未找到图片 AES key(可能没有 V2 格式图片)")
+
return {"wx_dir": wx_dir, "db_keys": db_keys, "image_key": image_key}
+
+
+
class MainDecrypt(BaseSubMainClass):
+
mode = "decrypt"
+
parser_kwargs = {"help": "解密微信数据库"}
+
+
def init_parses(self, parser):
+
parser.add_argument("-i", "--db_path", type=str, help="数据库路径(目录)", required=False, metavar="")
+
parser.add_argument("-o", "--out_path", type=str, default=os.path.join(os.getcwd(), "decrypted"),
+
help="输出路径(目录)[默认为当前路径下decrypted文件夹]", required=False,
+
metavar="")
+
return parser
+
+
def run(self, args):
+
print(f"[*] wxdump-linux v{wxdump_linux.__version__}")
+
db_path = args.db_path or find_wechat_files_path()
+
out_path = args.out_path
+
+
if not os.path.exists(out_path):
+
os.makedirs(out_path)
+
print(f"[+] 创建输出文件夹:{out_path}")
+
+
if not db_path or not os.path.exists(db_path):
+
print(f"[-] 数据库路径不存在:{db_path}")
+
return
+
+
try:
+
print("[*] 从进程内存提取密钥...")
+
db_keys = extract_all_keys(db_path)
+
print(f"[+] 提取到 {len(db_keys)} 个数据库密钥,开始解密...")
+
result = batch_decrypt(db_keys, out_path, True)
+
return result
+
except RuntimeError as e:
+
print(f"[-] {e}")
+
return
+
+
+
class MainMerge(BaseSubMainClass):
+
mode = "merge"
+
parser_kwargs = {"help": "[测试功能]合并微信数据库(MSG.db or MediaMSG.db)"}
+
+
def init_parses(self, parser):
+
# 添加 'merge' 子命令解析器
+
parser.add_argument("-i", "--db_path", type=str, help="数据库路径(文件路径,使用英文[,]分割)", required=True,
+
metavar="")
+
parser.add_argument("-o", "--out_path", type=str, default=os.path.join(os.getcwd(), "decrypted"),
+
help="输出路径(目录或文件名)[默认为当前路径下decrypted文件夹下merge_***.db]",
+
required=False,
+
metavar="")
+
return parser
+
+
def run(self, args):
+
print(f"[*] wxdump-linux v{wxdump_linux.__version__}")
+
# 从命令行参数获取值
+
db_path = args.db_path
+
out_path = args.out_path
+
+
db_path = db_path.split(",")
+
db_path = [i.strip() for i in db_path]
+
dbpaths = []
+
for i in db_path:
+
if not os.path.exists(i): # 判断路径是否存在
+
print(f"[-] 数据库路径不存在:{i}")
+
return
+
if os.path.isdir(i): # 如果是文件夹,则获取文件夹下所有的db文件
+
dbpaths += [os.path.join(i, j) for j in os.listdir(i) if j.endswith(".db")]
+
else: # 如果是文件,则直接添加
+
dbpaths.append(i)
+
+
if (not out_path.endswith(".db")) and (not os.path.exists(out_path)):
+
os.makedirs(out_path)
+
print(f"[+] 创建输出文件夹:{out_path}")
+
+
print(f"[*] 合并中...(用时较久,耐心等待)")
+
dbpaths = [{"db_path": i} for i in dbpaths if os.path.exists(i)] # 去除不存在的路径
+
result = merge_db(dbpaths, out_path)
+
+
print(f"[+] 合并完成:{result}")
+
return result
+
+
+
class MainShowChatRecords(BaseSubMainClass):
+
mode = "dbshow"
+
parser_kwargs = {"help": "聊天记录查看"}
+
+
def init_parses(self, parser):
+
# 添加 'dbshow' 子命令解析器
+
parser.add_argument("-merge", "--merge_path", type=str, help="解密并合并后的 merge_all.db 的路径",
+
required=False, metavar="")
+
parser.add_argument("-wid", "--wx_path", type=str,
+
help="(可选)微信文件夹的路径(用于显示图片)", required=False,
+
metavar="")
+
parser.add_argument("-myid", "--my_wxid", type=str, help="(可选)微信账号(本人微信id)", required=False,
+
default="", metavar="")
+
parser.add_argument("--online", action='store_true', help="(可选)是否在线查看(局域网查看)", required=False,
+
default=False)
+
# parser.add_argument("-k", "--key", type=str, help="(可选)密钥", required=False, metavar="")
+
return parser
+
+
def run(self, args):
+
print(f"[*] wxdump-linux v{wxdump_linux.__version__}")
+
# (merge)和(msg_path,micro_path,media_path) 二选一
+
# if not args.merge_path and not (args.msg_path and args.micro_path and args.media_path):
+
# print("[-] 请输入数据库路径([merge_path] or [msg_path, micro_path, media_path])")
+
# return
+
+
# 目前仅能支持merge database
+
if not args.merge_path:
+
print("[-] 请输入数据库路径([merge_path])")
+
return
+
+
# 从命令行参数获取值
+
merge_path = args.merge_path
+
+
online = args.online
+
+
if not os.path.exists(merge_path):
+
print("[-] 输入数据库路径不存在")
+
return
+
+
start_server(merge_path=merge_path, wx_path=args.wx_path, my_wxid=args.my_wxid, online=online)
+
+
+
class MainExportChatRecords(BaseSubMainClass):
+
mode = "export"
+
parser_kwargs = {"help": "[已废弃]聊天记录导出为html"}
+
+
def init_parses(self, parser):
+
# 添加 'export' 子命令解析器
+
return parser
+
+
def run(self, args):
+
print(f"[*] wxdump-linux v{wxdump_linux.__version__}")
+
print("[+] export命令已废弃,请使用ui命令[wxdump ui]或api命令[wxdump api]启动服务")
+
+
+
class MainAll(BaseSubMainClass):
+
mode = "all"
+
parser_kwargs = {"help": "[已废弃]获取微信信息,解密微信数据库,查看聊天记录"}
+
+
def init_parses(self, parser):
+
# 添加 'all' 子命令解析器
+
return parser
+
+
def run(self, args):
+
print(f"[*] wxdump-linux v{wxdump_linux.__version__}")
+
print("[+] all命令已废弃,请使用ui命令[wxdump ui]或api命令[wxdump api]启动服务")
+
+
+
class MainUi(BaseSubMainClass):
+
mode = "ui"
+
parser_kwargs = {"help": "启动UI界面"}
+
+
def init_parses(self, parser):
+
# 添加 'ui' 子命令解析器
+
parser.add_argument("-p", '--port', metavar="", type=int, help="(可选)端口号", default=5000)
+
parser.add_argument("--online", help="(可选)是否在线查看(局域网查看)", default=False, action='store_true')
+
parser.add_argument("--debug", help="(可选)是否开启debug模式", default=False, action='store_true')
+
parser.add_argument("--noOpenBrowser", dest='isOpenBrowser', default=True, action='store_false',
+
help="(可选)用于禁用自动打开浏览器")
+
return parser
+
+
def run(self, args):
+
print(f"[*] wxdump-linux v{wxdump_linux.__version__}")
+
# 从命令行参数获取值
+
online = args.online
+
port = args.port
+
debug = args.debug
+
isopenBrowser = args.isOpenBrowser
+
+
start_server(port=port, online=online, debug=debug, isopenBrowser=isopenBrowser)
+
+
+
class MainApi(BaseSubMainClass):
+
mode = "api"
+
parser_kwargs = {"help": "启动api,不打开浏览器"}
+
+
def init_parses(self, parser):
+
# 添加 'api' 子命令解析器
+
parser.add_argument("-p", '--port', metavar="", type=int, help="(可选)端口号", default=5000)
+
parser.add_argument("--online", help="(可选)是否在线查看(局域网查看)", default=False, action='store_true')
+
parser.add_argument("--debug", action='store_true', help="(可选)是否开启debug模式", default=False)
+
return parser
+
+
def run(self, args):
+
print(f"[*] wxdump-linux v{wxdump_linux.__version__}")
+
# 从命令行参数获取值
+
online = args.online
+
port = args.port
+
debug = args.debug
+
+
start_server(port=port, online=online, debug=debug, isopenBrowser=False)
+
+
+
def console_run():
+
# 检查是否需要显示帮助信息
+
if len(sys.argv) == 1:
+
sys.argv.append(MainUi.mode)
+
elif len(sys.argv) == 2 and sys.argv[1] not in models.keys():
+
sys.argv.append('-h')
+
main_parser.print_help()
+
return
+
+
args = main_parser.parse_args() # 解析命令行参数
+
+
if not any(vars(args).values()):
+
main_parser.print_help()
+
return
+
+
# 根据不同的 'mode' 参数,执行不同的操作
+
models[args.mode].run(args)
+
+
+
if __name__ == '__main__':
+
console_run()
32. File addition: "api" in "wxdump_linux" +dx "binary"
up 0.24, new 148180:148194
33. File addition: "utils.py" in "wxdump_linux/api" "UTF-8"
up 0.148195, new 148197:148229
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: utils.py
+
# Description: Re-exports from split modules for backward compatibility
+
# Author: xaoyaoo
+
# Date: 2024/01/16
+
# -------------------------------------------------------------------------------
+
from .config import ConfData, gc, get_conf_local_wxid, get_conf, get_conf_wxids, set_conf
+
from .decorators import error9999, asyncError9999
+
from .helpers import is_port_in_use, validate_title, gen_base64, random_str
+
from wxdump_linux._logging import server_loger, rs_loger, ls_loger
34. File addition: "routes" in "wxdump_linux/api" +dx "binary"
up 0.148195, new 148853:148870
35. File addition: "meta.py" in "wxdump_linux/api/routes" "UTF-8"
up 0.148871, new 148873:148904
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: meta.py
+
# Description: 版本、更新检查
+
# -------------------------------------------------------------------------------
+
from fastapi import APIRouter
+
+
import wxdump_linux
+
from ..response import ReJson
+
from ..decorators import error9999
+
+
meta_router = APIRouter()
+
+
+
@meta_router.api_route('/check_update', methods=["GET", 'POST'])
+
@error9999
+
def check_update():
+
"""
+
检查更新
+
:return:
+
"""
+
url = "https://api.github.com/repos/xaoyaoo/PyWxDump/tags"
+
try:
+
import requests
+
res = requests.get(url)
+
if res.status_code == 200:
+
data = res.json()
+
NEW_VERSION = data[0].get("name")
+
if NEW_VERSION[1:] != wxdump_linux.__version__:
+
msg = "有新版本"
+
else:
+
msg = "已经是最新版本"
+
return ReJson(0, body={"msg": msg, "latest_version": NEW_VERSION,
+
"latest_url": "https://github.com/xaoyaoo/PyWxDump/releases/tag/" + NEW_VERSION})
+
else:
+
return ReJson(2001, body="status_code is not 200")
+
except Exception as e:
+
return ReJson(9999, msg=str(e))
+
+
+
@meta_router.api_route('/version', methods=["GET", "POST"])
+
@error9999
+
def version():
+
"""
+
版本
+
:return:
+
"""
+
return ReJson(0, wxdump_linux.__version__)
+
+
+
@meta_router.api_route('/get_readme', methods=["GET", 'POST'])
+
@error9999
+
def get_readme():
+
"""
+
获取README
+
:return:
+
"""
+
url = "https://raw.githubusercontent.com/xaoyaoo/PyWxDump/master/doc/README_CN.md"
+
import requests
+
res = requests.get(url)
+
if res.status_code == 200:
+
data = res.text
+
data = data.replace("# <center>PyWxDump</center>", "")
+
return ReJson(0, body=data)
+
else:
+
return ReJson(2001, body="status_code is not 200")
36. File addition: "messages.py" in "wxdump_linux/api/routes" "UTF-8"
up 0.148871, new 150857:150892
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: messages.py
+
# Description: 消息查询与媒体服务
+
# -------------------------------------------------------------------------------
+
import os
+
import shutil
+
from urllib.parse import quote, unquote
+
from typing import List, Optional
+
+
from fastapi import APIRouter, Response, Body, Request
+
from starlette.responses import StreamingResponse, FileResponse
+
+
from wxdump_linux.db import DBHandler
+
from wxdump_linux.db.utils import download_file, dat2img
+
from ..response import ReJson
+
from ..decorators import error9999, asyncError9999
+
from ..config import gc
+
+
messages_router = APIRouter()
+
+
+
@messages_router.post('/msg_count')
+
@error9999
+
def msg_count(wxids: Optional[List[str]] = Body(..., embed=True)):
+
"""
+
获取联系人的聊天记录数量
+
:return:
+
"""
+
my_wxid = gc.get_conf(gc.at, "last")
+
if not my_wxid: return ReJson(1001, body="my_wxid is required")
+
db_config = gc.get_db_config()
+
db = DBHandler(db_config, my_wxid=my_wxid)
+
count = db.get_msgs_count(wxids)
+
return ReJson(0, count)
+
+
+
@messages_router.api_route('/msg_list', methods=["GET", 'POST'])
+
@error9999
+
def get_msgs(wxid: str = Body(...), start: int = Body(...), limit: int = Body(...)):
+
"""
+
获取联系人的聊天记录
+
:return:
+
"""
+
my_wxid = gc.get_conf(gc.at, "last")
+
if not my_wxid: return ReJson(1001, body="my_wxid is required")
+
db_config = gc.get_conf(my_wxid, "db_config")
+
+
db = DBHandler(db_config, my_wxid=my_wxid)
+
msgs, users = db.get_msgs(wxids=wxid, start_index=start, page_size=limit)
+
return ReJson(0, {"msg_list": msgs, "user_list": users})
+
+
+
@messages_router.get('/imgsrc')
+
@asyncError9999
+
async def get_imgsrc(request: Request):
+
"""
+
获取图片,
+
1. 从网络获取图片,主要功能只是下载图片,缓存到本地
+
2. 读取本地图片
+
:return:
+
"""
+
imgsrc = unquote(str(request.query_params).replace("src=", "", 1))
+
if not imgsrc:
+
return ReJson(1002)
+
if imgsrc.startswith("FileStorage"): # 如果是本地图片文件则调用get_img
+
my_wxid = gc.get_conf(gc.at, "last")
+
if not my_wxid: return ReJson(1001, body="my_wxid is required")
+
wx_path = gc.get_conf(my_wxid, "wx_path")
+
+
img_path = imgsrc.replace("\\\\", "\\")
+
+
img_tmp_path = os.path.join(gc.work_path, my_wxid, "img")
+
original_img_path = os.path.join(wx_path, img_path)
+
if os.path.exists(original_img_path):
+
rc, fomt, md5, out_bytes = dat2img(original_img_path)
+
if not rc:
+
return ReJson(1001, body=original_img_path)
+
imgsavepath = os.path.join(str(img_tmp_path), img_path + "_" + "".join([md5, fomt]))
+
if os.path.exists(imgsavepath):
+
return FileResponse(imgsavepath)
+
if not os.path.exists(os.path.dirname(imgsavepath)):
+
os.makedirs(os.path.dirname(imgsavepath))
+
with open(imgsavepath, "wb") as f:
+
f.write(out_bytes)
+
return Response(content=out_bytes, media_type="image/jpeg")
+
else:
+
return ReJson(1001, body=f"{original_img_path} not exists")
+
elif imgsrc.startswith("http://") or imgsrc.startswith("https://"):
+
my_wxid = gc.get_conf(gc.at, "last")
+
if not my_wxid: return ReJson(1001, body="my_wxid is required")
+
+
img_tmp_path = os.path.join(gc.work_path, my_wxid, "imgsrc")
+
if not os.path.exists(img_tmp_path):
+
os.makedirs(img_tmp_path)
+
file_name = imgsrc.replace("http://", "").replace("https://", "").replace("/", "_").replace("?", "_")
+
file_name = file_name + ".jpg"
+
if len(file_name) > 255:
+
file_name = file_name[:255] + "/" + file_name[255:]
+
+
img_path_all = os.path.join(str(img_tmp_path), file_name)
+
if os.path.exists(img_path_all):
+
return FileResponse(img_path_all)
+
else:
+
proxies = None
+
download_file(imgsrc, img_path_all, proxies=proxies)
+
if os.path.exists(img_path_all):
+
return FileResponse(img_path_all)
+
else:
+
return ReJson(4004, body=imgsrc)
+
else:
+
return ReJson(1002, body=imgsrc)
+
+
+
@messages_router.api_route('/video', methods=["GET", 'POST'])
+
def get_video(request: Request):
+
"""
+
获取视频
+
:return:
+
"""
+
videoPath = unquote(str(request.query_params).replace("src=", "", 1))
+
if not videoPath:
+
return ReJson(1002)
+
my_wxid = gc.get_conf(gc.at, "last")
+
if not my_wxid: return ReJson(1001, body="my_wxid is required")
+
wx_path = gc.get_conf(my_wxid, "wx_path")
+
+
videoPath = videoPath.replace("\\\\", "\\")
+
+
video_tmp_path = os.path.join(gc.work_path, my_wxid, "video")
+
original_img_path = os.path.join(wx_path, videoPath)
+
if not os.path.exists(original_img_path):
+
return ReJson(5002)
+
assert isinstance(video_tmp_path, str)
+
video_save_path = os.path.join(video_tmp_path, videoPath)
+
if not os.path.exists(os.path.dirname(video_save_path)):
+
os.makedirs(os.path.dirname(video_save_path))
+
if os.path.exists(video_save_path):
+
return FileResponse(path=video_save_path)
+
shutil.copy(original_img_path, video_save_path)
+
return FileResponse(path=video_save_path)
+
+
+
@messages_router.api_route('/audio', methods=["GET", 'POST'])
+
def get_audio(request: Request):
+
"""
+
获取语音
+
:return:
+
"""
+
savePath = unquote(str(request.query_params).replace("src=", "", 1)).replace("audio\\", "", 1)
+
if not savePath:
+
return ReJson(1002)
+
my_wxid = gc.get_conf(gc.at, "last")
+
if not my_wxid: return ReJson(1001, body="my_wxid is required")
+
db_config = gc.get_conf(my_wxid, "db_config")
+
+
savePath = os.path.join(gc.work_path, my_wxid, "audio", savePath)
+
if os.path.exists(savePath):
+
assert isinstance(savePath, str)
+
return FileResponse(path=savePath, media_type='audio/mpeg')
+
+
MsgSvrID = savePath.split("_")[-1].replace(".wav", "")
+
if not savePath:
+
return ReJson(1002)
+
+
if not os.path.exists(os.path.dirname(savePath)):
+
os.makedirs(os.path.dirname(savePath))
+
+
db = DBHandler(db_config, my_wxid=my_wxid)
+
wave_data = db.get_audio(MsgSvrID, is_play=False, is_wave=True, save_path=savePath, rate=24000)
+
if not wave_data:
+
return ReJson(1001, body="wave_data is required")
+
+
if os.path.exists(savePath):
+
assert isinstance(savePath, str)
+
return FileResponse(path=savePath, media_type='audio/mpeg')
+
else:
+
return ReJson(4004, body=savePath)
+
+
+
@messages_router.api_route('/file_info', methods=["GET", 'POST'])
+
def get_file_info(file_path: str = Body(..., embed=True)):
+
if not file_path:
+
return ReJson(1002)
+
+
my_wxid = gc.get_conf(gc.at, "last")
+
if not my_wxid: return ReJson(1001, body="my_wxid is required")
+
wx_path = gc.get_conf(my_wxid, "wx_path")
+
+
all_file_path = os.path.join(wx_path, file_path)
+
if not os.path.exists(all_file_path):
+
return ReJson(5002)
+
file_name = os.path.basename(all_file_path)
+
file_size = os.path.getsize(all_file_path)
+
return ReJson(0, {"file_name": file_name, "file_size": str(file_size)})
+
+
+
@messages_router.get('/file')
+
def get_file(request: Request):
+
"""
+
获取文件
+
:return:
+
"""
+
file_path = unquote(str(request.query_params).replace("src=", "", 1))
+
if not file_path:
+
return ReJson(1002)
+
my_wxid = gc.get_conf(gc.at, "last")
+
if not my_wxid: return ReJson(1001, body="my_wxid is required")
+
wx_path = gc.get_conf(my_wxid, "wx_path")
+
+
all_file_path = os.path.join(wx_path, file_path)
+
if not os.path.exists(all_file_path):
+
return ReJson(5002)
+
+
def file_iterator(file_path, chunk_size=8192):
+
with open(file_path, "rb") as f:
+
while True:
+
chunk = f.read(chunk_size)
+
if not chunk:
+
break
+
yield chunk
+
+
headers = {
+
"Content-Disposition": f'attachment; filename*=UTF-8\'\'{quote(os.path.basename(all_file_path))}',
+
}
+
return StreamingResponse(file_iterator(all_file_path), media_type="application/octet-stream", headers=headers)
37. File addition: "export.py" in "wxdump_linux/api/routes" "UTF-8"
up 0.148871, new 159227:159260
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: export.py
+
# Description: 导出接口
+
# -------------------------------------------------------------------------------
+
import os
+
import time
+
import shutil
+
+
from pydantic import BaseModel
+
from fastapi import APIRouter, Body
+
+
from wxdump_linux import decrypt_merge, get_core_db
+
from ..export import export_csv, export_json, export_html
+
from ..response import ReJson
+
from ..decorators import error9999
+
from ..config import gc
+
+
export_router = APIRouter()
+
+
+
class ExportEndbRequest(BaseModel):
+
wx_path: str = ""
+
outpath: str = ""
+
key: str = ""
+
+
+
@export_router.api_route('/export_endb', methods=["GET", 'POST'])
+
def get_export_endb(request: ExportEndbRequest):
+
"""
+
导出加密数据库
+
:return:
+
"""
+
my_wxid = gc.get_conf(gc.at, "last")
+
if not my_wxid: return ReJson(1001, body="my_wxid is required")
+
+
wx_path = request.wx_path
+
if not wx_path:
+
wx_path = gc.get_conf(my_wxid, "wx_path")
+
if not os.path.exists(wx_path if wx_path else ""):
+
return ReJson(1002, body=f"wx_path is required: {wx_path}")
+
+
code, wxdbpaths = get_core_db(wx_path)
+
if not code:
+
return ReJson(2001, body=wxdbpaths)
+
+
outpath = os.path.join(gc.work_path, "export", my_wxid, "endb")
+
if not os.path.exists(outpath):
+
os.makedirs(outpath)
+
+
for wxdb in wxdbpaths:
+
assert isinstance(outpath, str)
+
wxdb_path = wxdb.get("db_path")
+
shutil.copy(wxdb_path, os.path.join(outpath, os.path.basename(wxdb_path)))
+
return ReJson(0, body=outpath)
+
+
+
class ExportDedbRequest(BaseModel):
+
wx_path: str = ""
+
outpath: str = ""
+
key: str = ""
+
+
+
@export_router.api_route('/export_dedb', methods=["GET", "POST"])
+
def get_export_dedb(request: ExportDedbRequest):
+
"""
+
导出解密数据库
+
:return:
+
"""
+
key = request.key
+
wx_path = request.wx_path
+
+
my_wxid = gc.get_conf(gc.at, "last")
+
if not my_wxid: return ReJson(1001, body="my_wxid is required")
+
+
if not key:
+
key = gc.get_conf(my_wxid, "key")
+
if not wx_path:
+
wx_path = gc.get_conf(my_wxid, "wx_path")
+
+
if not key:
+
return ReJson(1002, body=f"key is required: {key}")
+
if not wx_path:
+
return ReJson(1002, body=f"wx_path is required: {wx_path}")
+
if not os.path.exists(wx_path):
+
return ReJson(1001, body=f"wx_path not exists: {wx_path}")
+
+
outpath = os.path.join(gc.work_path, "export", my_wxid, "dedb")
+
if not os.path.exists(outpath):
+
os.makedirs(outpath)
+
assert isinstance(outpath, str)
+
code, merge_save_path = decrypt_merge(wx_path=wx_path, key=key, outpath=outpath)
+
time.sleep(1)
+
if code:
+
return ReJson(0, body=merge_save_path)
+
else:
+
return ReJson(2001, body=merge_save_path)
+
+
+
@export_router.api_route('/export_csv', methods=["GET", 'POST'])
+
def get_export_csv(wxid: str = Body(..., embed=True)):
+
"""
+
导出csv
+
:return:
+
"""
+
my_wxid = gc.get_conf(gc.at, "last")
+
if not my_wxid: return ReJson(1001, body="my_wxid is required")
+
db_config = gc.get_conf(my_wxid, "db_config")
+
+
if not wxid:
+
return ReJson(1002, body=f"username is required: {wxid}")
+
+
outpath = os.path.join(gc.work_path, "export", my_wxid, "csv", wxid)
+
if not os.path.exists(outpath):
+
os.makedirs(outpath)
+
+
code, ret = export_csv(wxid, outpath, db_config, my_wxid=my_wxid)
+
if code:
+
return ReJson(0, ret)
+
else:
+
return ReJson(2001, body=ret)
+
+
+
@export_router.api_route('/export_json', methods=["GET", 'POST'])
+
def get_export_json(wxid: str = Body(..., embed=True)):
+
"""
+
导出json
+
:return:
+
"""
+
my_wxid = gc.get_conf(gc.at, "last")
+
if not my_wxid: return ReJson(1001, body="my_wxid is required")
+
db_config = gc.get_conf(my_wxid, "db_config")
+
+
if not wxid:
+
return ReJson(1002, body=f"username is required: {wxid}")
+
+
outpath = os.path.join(gc.work_path, "export", my_wxid, "json", wxid)
+
if not os.path.exists(outpath):
+
os.makedirs(outpath)
+
+
code, ret = export_json(wxid, outpath, db_config, my_wxid=my_wxid)
+
if code:
+
return ReJson(0, ret)
+
else:
+
return ReJson(2001, body=ret)
+
+
+
class ExportHtmlRequest(BaseModel):
+
wxid: str
+
+
+
@export_router.api_route('/export_html', methods=["GET", 'POST'])
+
def get_export_html(wxid: str = Body(..., embed=True)):
+
"""
+
导出html
+
:return:
+
"""
+
my_wxid = gc.get_conf(gc.at, "last")
+
if not my_wxid: return ReJson(1001, body="my_wxid is required")
+
db_config = gc.get_conf(my_wxid, "db_config")
+
+
if not wxid:
+
return ReJson(1002, body=f"username is required: {wxid}")
+
+
html_outpath = os.path.join(gc.work_path, "export", my_wxid, "html")
+
if not os.path.exists(html_outpath):
+
os.makedirs(html_outpath)
+
assert isinstance(html_outpath, str)
+
outpath = os.path.join(html_outpath, wxid)
+
if os.path.exists(outpath):
+
shutil.rmtree(outpath, ignore_errors=True)
+
web_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "ui", "web")
+
shutil.copytree(web_path, outpath)
+
+
code, ret = export_html(wxid, outpath, db_config, my_wxid=my_wxid)
+
+
if code:
+
return ReJson(0, ret)
+
else:
+
return ReJson(2001, body=ret)
38. File addition: "contacts.py" in "wxdump_linux/api/routes" "UTF-8"
up 0.148871, new 164645:164680
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: contacts.py
+
# Description: 联系人相关接口
+
# -------------------------------------------------------------------------------
+
from typing import List
+
+
from fastapi import APIRouter, Body
+
+
from wxdump_linux.db import DBHandler
+
from ..response import ReJson
+
from ..decorators import error9999
+
from ..config import gc
+
+
contacts_router = APIRouter()
+
+
+
@contacts_router.api_route('/is_init', methods=["GET", 'POST'])
+
@error9999
+
def is_init():
+
"""
+
是否初始化
+
:return:
+
"""
+
local_wxids = gc.get_local_wxids()
+
if len(local_wxids) > 1:
+
return ReJson(0, True)
+
return ReJson(0, False)
+
+
+
@contacts_router.api_route('/mywxid', methods=["GET", 'POST'])
+
@error9999
+
def mywxid():
+
"""
+
获取我的微信id
+
:return:
+
"""
+
my_wxid = gc.get_conf(gc.at, "last")
+
if not my_wxid: return ReJson(1001, body="my_wxid is required")
+
return ReJson(0, {"my_wxid": my_wxid})
+
+
+
@contacts_router.api_route('/user_session_list', methods=["GET", 'POST'])
+
@error9999
+
def user_session_list():
+
"""
+
获取联系人列表
+
:return:
+
"""
+
my_wxid = gc.get_conf(gc.at, "last")
+
if not my_wxid: return ReJson(1001, body="my_wxid is required")
+
db_config = gc.get_conf(my_wxid, "db_config")
+
db = DBHandler(db_config, my_wxid=my_wxid)
+
ret = db.get_session_list()
+
return ReJson(0, list(ret.values()))
+
+
+
@contacts_router.api_route('/user_labels_dict', methods=["GET", 'POST'])
+
@error9999
+
def user_labels_dict():
+
"""
+
获取标签字典
+
:return:
+
"""
+
my_wxid = gc.get_conf(gc.at, "last")
+
if not my_wxid: return ReJson(1001, body="my_wxid is required")
+
db_config = gc.get_conf(my_wxid, "db_config")
+
db = DBHandler(db_config, my_wxid=my_wxid)
+
user_labels_dict = db.get_labels()
+
return ReJson(0, user_labels_dict)
+
+
+
@contacts_router.post('/user_list')
+
@error9999
+
def user_list(word: str = Body("", embed=True), wxids: List[str] = Body(None), labels: List[str] = Body(None)):
+
"""
+
获取联系人列表,可用于搜索
+
:return:
+
"""
+
if isinstance(wxids, str) and wxids == '' or wxids is None: wxids = []
+
if isinstance(labels, str) and labels == '' or labels is None: labels = []
+
+
my_wxid = gc.get_conf(gc.at, "last")
+
if not my_wxid: return ReJson(1001, body="my_wxid is required")
+
db_config = gc.get_conf(my_wxid, "db_config")
+
db = DBHandler(db_config, my_wxid=my_wxid)
+
users = db.get_user(word=word, wxids=wxids, labels=labels)
+
return ReJson(0, users)
39. File addition: "analytics.py" in "wxdump_linux/api/routes" "UTF-8"
up 0.148871, new 167300:167336
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: analytics.py
+
# Description: 统计分析(wordcloud 等)
+
# -------------------------------------------------------------------------------
+
from collections import Counter
+
+
from pydantic import BaseModel
+
from fastapi import APIRouter
+
+
from wxdump_linux.db import DBHandler
+
from ..response import ReJson
+
from ..decorators import error9999
+
from ..config import gc
+
+
analytics_router = APIRouter()
+
+
+
class DateCountRequest(BaseModel):
+
wxid: str = ""
+
start_time: int = 0
+
end_time: int = 0
+
time_format: str = "%Y-%m-%d"
+
+
+
@analytics_router.api_route('/date_count', methods=["GET", 'POST'])
+
def get_date_count(request: DateCountRequest):
+
"""
+
获取日期统计
+
:return:
+
"""
+
wxid = request.wxid
+
start_time = request.start_time
+
end_time = request.end_time
+
time_format = request.time_format
+
+
my_wxid = gc.get_conf(gc.at, "last")
+
if not my_wxid: return ReJson(1001, body="my_wxid is required")
+
db_config = gc.get_conf(my_wxid, "db_config")
+
db = DBHandler(db_config, my_wxid=my_wxid)
+
date_count = db.get_date_count(wxid=wxid, start_time=start_time, end_time=end_time, time_format=time_format)
+
return ReJson(0, date_count)
+
+
+
class TopTalkerCountRequest(BaseModel):
+
top: int = 10
+
start_time: int = 0
+
end_time: int = 0
+
+
+
@analytics_router.api_route('/top_talker_count', methods=["GET", 'POST'])
+
def get_top_talker_count(request: TopTalkerCountRequest):
+
"""
+
获取最多聊天的人
+
:return:
+
"""
+
top = request.top
+
start_time = request.start_time
+
end_time = request.end_time
+
+
my_wxid = gc.get_conf(gc.at, "last")
+
if not my_wxid: return ReJson(1001, body="my_wxid is required")
+
db_config = gc.get_conf(my_wxid, "db_config")
+
date_count = DBHandler(db_config, my_wxid=my_wxid).get_top_talker_count(top=top, start_time=start_time,
+
end_time=end_time)
+
return ReJson(0, date_count)
+
+
+
class WordCloudRequest(BaseModel):
+
target: str = "signature"
+
+
+
@analytics_router.api_route('/wordcloud', methods=["GET", 'POST'])
+
@error9999
+
def get_wordcloud(request: WordCloudRequest):
+
try:
+
import jieba
+
except ImportError:
+
return ReJson(9999, body="jieba is required")
+
+
target = request.target
+
if not target:
+
return ReJson(1002, body="target is required")
+
+
my_wxid = gc.get_conf(gc.at, "last")
+
if not my_wxid: return ReJson(1001, body="my_wxid is required")
+
db_config = gc.get_conf(my_wxid, "db_config")
+
db = DBHandler(db_config, my_wxid=my_wxid)
+
+
if target == "signature":
+
users = db.get_user()
+
signature_list = []
+
for wxid, user in users.items():
+
ExtraBuf = user.get("ExtraBuf", {})
+
signature = ExtraBuf.get("个性签名", "") if ExtraBuf else ""
+
if signature:
+
signature_list.append(signature)
+
signature_str = " ".join(signature_list)
+
words = jieba.lcut(signature_str)
+
words = [word for word in words if len(word) > 1]
+
count_dict = dict(Counter(words))
+
return ReJson(0, count_dict)
+
elif target == "nickname":
+
users = db.get_user()
+
nickname_list = []
+
for wxid, user in users.items():
+
nickname = user.get("nickname", "")
+
if nickname:
+
nickname_list.append(nickname)
+
nickname_str = " ".join(nickname_list)
+
words = jieba.lcut(nickname_str)
+
words = [word for word in words if len(word) > 1]
+
count_dict = dict(Counter(words))
+
return ReJson(0, count_dict)
+
+
return ReJson(1002, body="target is required")
40. File addition: "__init__.py" in "wxdump_linux/api/routes" "UTF-8"
up 0.148871, new 171126:171161
+
# -*- coding: utf-8 -*-#
+
from .contacts import contacts_router
+
from .messages import messages_router
+
from .export import export_router
+
from .analytics import analytics_router
+
from .meta import meta_router
41. File addition: "response.py" in "wxdump_linux/api" "UTF-8"
up 0.148195, new 171369:171404
+
import logging
+
import os
+
import traceback
+
+
loger_rjson = logging.getLogger("rjson")
+
+
+
def ReJson(code: int, body: [dict, list] = None, msg: str = None, error: str = None, extra: dict = None) -> dict:
+
"""
+
返回格式化的json数据
+
:param code: 状态码 int
+
:param body: 返回的主体内容,一般为具体的数据
+
:param msg: 返回状态码相关的调试信息
+
:param error: 出现错误时候,这个参数可以把错误写入日志
+
:param extra: # 全局附加数据,字段、内容不定(如等级,经验的变化,可以作为全局的数据存在,区别于某次请求的具体data)
+
:return: json格式的返回值
+
"""
+
if extra is None:
+
extra = {}
+
situation = {
+
0: {'code': 0, 'body': body, 'msg': "success", "extra": extra},
+
# 100 开头代表 请求数据有问题
+
# 4*** 表示数据库查询结果存在异常
+
1001: {'code': 1001, 'body': body, 'msg': "请求数据格式存在错误!", "extra": extra}, # 请求数据格式存在错误,一般是数据类型错误
+
1002: {'code': 1002, 'body': body, 'msg': "请求参数存在错误!", "extra": extra}, # 请求参数存在错误,一般是缺少参数
+
2001: {'code': 2001, 'body': body, 'msg': "操作失败!", "extra": extra}, # 请求未能正确执行
+
4001: {'code': 4001, 'body': body, 'msg': "账号或密码错误!", "extra": extra}, # 表示用户没有权限(令牌、用户名、密码错误)
+
4003: {'code': 4003, 'body': body, 'msg': "禁止访问!", "extra": extra},
+
4004: {'code': 4004, 'body': body, 'msg': "数据不存在!", "extra": extra},
+
4005: {'code': 4005, 'body': body, 'msg': "数据库异常!", "extra": extra},
+
4006: {'code': 4006, 'body': body, 'msg': "数据已存在!", "extra": extra},
+
4007: {'code': 4007, 'body': body, 'msg': "数据库解密异常!", "extra": extra},
+
5002: {'code': 5002, 'body': body, 'msg': "服务器错误!", "extra": extra},
+
9999: {'code': 9999, 'body': body, 'msg': "未知错误!", "extra": extra},
+
}
+
rjson = situation.get(code, {'code': 9999, 'body': None, 'msg': "code错误", "extra": {}})
+
if body:
+
rjson['body'] = body
+
if msg:
+
rjson['msg'] = msg
+
if code != 0:
+
stack = traceback.extract_stack()
+
project_stack = [frame for frame in stack]
+
# 格式化调用栈信息
+
formatted_stack = ''.join(traceback.format_list(project_stack))
+
# stack_trace = ''.join(traceback.format_stack())
+
loger_rjson.warning(f"\n{code=}\n{rjson['body']=}\n{rjson['msg']=}\n{rjson['extra']=}\n{formatted_stack}")
+
if error:
+
loger_rjson.error(error, exc_info=True)
+
return rjson
+
+
+
def RqJson(rqData):
+
"""
+
进行请求数据验证数据合法性,确实用户以及资格
+
主要根路径下的数据
+
:param rqData: 请求的数据
+
:return: body的值
+
"""
+
userid = rqData.get("userid", "") # 用户id
+
version = rqData.get("version", "v1.0") # api版本
+
uidid = rqData.get("uidid", "qweqrew") # 唯一设备标识符
+
token = rqData.get("token", "") # token
+
"""验证数据合法性"""
+
""""""
+
body = rqData.get("body", None)
+
return body
+
+
+
if __name__ == '__main__':
+
print(ReJson(0, "asdf", "asdf"))
42. File addition: "remote_server.py" in "wxdump_linux/api" "UTF-8"
up 0.148195, new 174777:174817
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: remote_server.py
+
# Description: Aggregated remote API router
+
# Author: xaoyaoo
+
# Date: 2024/01/02
+
# -------------------------------------------------------------------------------
+
from fastapi import APIRouter
+
+
from .routes import contacts_router, messages_router, export_router, analytics_router, meta_router
+
+
rs_api = APIRouter()
+
+
rs_api.include_router(contacts_router)
+
rs_api.include_router(messages_router)
+
rs_api.include_router(export_router)
+
rs_api.include_router(analytics_router)
+
rs_api.include_router(meta_router)
43. File addition: "local_server.py" in "wxdump_linux/api" "UTF-8"
up 0.148195, new 175481:175520
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: local_server.py
+
# Description:
+
# Author: xaoyaoo
+
# Date: 2024/08/01
+
# -------------------------------------------------------------------------------
+
import os
+
import time
+
import shutil
+
from pydantic import BaseModel
+
from fastapi import APIRouter, Body
+
+
from wxdump_linux import get_wx_db
+
from wxdump_linux import get_wx_info, batch_decrypt, merge_db, decrypt_merge
+
+
from .response import ReJson, RqJson
+
from .utils import error9999, ls_loger, random_str, gc
+
+
ls_api = APIRouter()
+
+
+
# 以下为初始化相关 *******************************************************************************************************
+
+
@ls_api.post('/init_last_local_wxid')
+
@error9999
+
def init_last_local_wxid():
+
"""
+
初始化,包括key
+
:return:
+
"""
+
local_wxid = gc.get_local_wxids()
+
local_wxid.remove(gc.at)
+
if local_wxid:
+
return ReJson(0, {"local_wxids": local_wxid})
+
return ReJson(0, {"local_wxids": []})
+
+
+
@ls_api.post('/init_last')
+
@error9999
+
def init_last(my_wxid: str = Body(..., embed=True)):
+
"""
+
是否初始化
+
:return:
+
"""
+
my_wxid = my_wxid.strip().strip("'").strip('"') if isinstance(my_wxid, str) else ""
+
ls_loger.info(f"[+] init_last: {my_wxid}")
+
if not my_wxid:
+
my_wxid = gc.get_conf(gc.at, "last")
+
if not my_wxid: return ReJson(1001, body="my_wxid is required")
+
if my_wxid:
+
gc.set_conf(gc.at, "last", my_wxid)
+
merge_path = gc.get_conf(my_wxid, "merge_path")
+
wx_path = gc.get_conf(my_wxid, "wx_path")
+
key = gc.get_conf(my_wxid, "key")
+
rdata = {
+
"merge_path": merge_path,
+
"wx_path": wx_path,
+
"key": key,
+
"my_wxid": my_wxid,
+
"is_init": True,
+
}
+
if merge_path and wx_path:
+
return ReJson(0, rdata)
+
return ReJson(0, {"is_init": False, "my_wxid": ""})
+
+
+
class InitKeyRequest(BaseModel):
+
wx_path: str
+
my_wxid: str
+
+
+
@ls_api.post('/init_key')
+
@error9999
+
def init_key(request: InitKeyRequest):
+
"""
+
初始化:从进程内存提取密钥,解密并合并数据库
+
:param request:
+
:return:
+
"""
+
wx_path = request.wx_path.strip().strip("'").strip('"')
+
my_wxid = request.my_wxid.strip().strip("'").strip('"')
+
if not wx_path:
+
return ReJson(1002, body=f"wx_path is required: {wx_path}")
+
if not os.path.exists(wx_path):
+
return ReJson(1001, body=f"wx_path not exists: {wx_path}")
+
if not my_wxid:
+
return ReJson(1002, body=f"my_wxid is required: {my_wxid}")
+
+
out_path = os.path.join(gc.work_path, "decrypted", my_wxid) if my_wxid else os.path.join(gc.work_path, "decrypted")
+
# 检查文件夹中文件是否被占用
+
if os.path.exists(out_path):
+
try:
+
shutil.rmtree(out_path)
+
except PermissionError as e:
+
ls_loger.error(f"{e}", exc_info=True)
+
return ReJson(2001, body=str(e))
+
+
code, merge_save_path = decrypt_merge(wx_path=wx_path, outpath=str(out_path))
+
time.sleep(1)
+
if code:
+
# 移动merge_save_path到g.work_path/my_wxid
+
if not os.path.exists(os.path.join(gc.work_path, my_wxid)):
+
os.makedirs(os.path.join(gc.work_path, my_wxid))
+
merge_save_path_new = os.path.join(gc.work_path, my_wxid, "merge_all.db")
+
shutil.move(merge_save_path, str(merge_save_path_new))
+
+
# 删除out_path
+
if os.path.exists(out_path):
+
try:
+
shutil.rmtree(out_path)
+
except PermissionError as e:
+
ls_loger.error(f"{e}", exc_info=True)
+
db_config = {
+
"key": random_str(16),
+
"type": "sqlite",
+
"path": merge_save_path_new
+
}
+
gc.set_conf(my_wxid, "db_config", db_config)
+
gc.set_conf(my_wxid, "merge_path", merge_save_path_new)
+
gc.set_conf(my_wxid, "wx_path", wx_path)
+
gc.set_conf(my_wxid, "my_wxid", my_wxid)
+
gc.set_conf(gc.at, "last", my_wxid)
+
rdata = {
+
"merge_path": merge_save_path_new,
+
"wx_path": wx_path,
+
"my_wxid": my_wxid,
+
"is_init": True,
+
}
+
return ReJson(0, rdata)
+
else:
+
return ReJson(2001, body=merge_save_path)
+
+
+
class InitNoKeyRequest(BaseModel):
+
merge_path: str
+
wx_path: str
+
my_wxid: str
+
+
+
@ls_api.post('/init_nokey')
+
@error9999
+
def init_nokey(request: InitNoKeyRequest):
+
"""
+
初始化,包括key
+
:return:
+
"""
+
merge_path = request.merge_path.strip().strip("'").strip('"')
+
wx_path = request.wx_path.strip().strip("'").strip('"')
+
my_wxid = request.my_wxid.strip().strip("'").strip('"')
+
+
if not wx_path:
+
return ReJson(1002, body=f"wx_path is required: {wx_path}")
+
if not os.path.exists(wx_path):
+
return ReJson(1001, body=f"wx_path not exists: {wx_path}")
+
if not merge_path:
+
return ReJson(1002, body=f"merge_path is required: {merge_path}")
+
if not my_wxid:
+
return ReJson(1002, body=f"my_wxid is required: {my_wxid}")
+
+
key = gc.get_conf(my_wxid, "key")
+
db_config = {
+
"key": random_str(16),
+
"type": "sqlite",
+
"path": merge_path
+
}
+
gc.set_conf(my_wxid, "db_config", db_config)
+
gc.set_conf(my_wxid, "merge_path", merge_path)
+
gc.set_conf(my_wxid, "wx_path", wx_path)
+
gc.set_conf(my_wxid, "key", key)
+
gc.set_conf(my_wxid, "my_wxid", my_wxid)
+
gc.set_conf(gc.at, "last", my_wxid)
+
rdata = {
+
"merge_path": merge_path,
+
"wx_path": wx_path,
+
"key": "",
+
"my_wxid": my_wxid,
+
"is_init": True,
+
}
+
return ReJson(0, rdata)
+
+
+
# END 以上为初始化相关 ***************************************************************************************************
+
+
+
# start 这部分为专业工具的api *********************************************************************************************
+
+
@ls_api.api_route('/wxinfo', methods=["GET", 'POST'])
+
@error9999
+
def get_wxinfo():
+
"""
+
获取微信信息(Linux 版:从进程内存提取)
+
:return:
+
"""
+
wxinfos = get_wx_info()
+
return ReJson(0, wxinfos)
+
+
+
@ls_api.api_route('/decrypt', methods=["GET", 'POST'])
+
@error9999
+
def get_decrypt(wxdbPath: str, outPath: str = ""):
+
"""
+
解密(Linux 版:自动从进程内存提取密钥)
+
:return:
+
"""
+
from wxdump_linux.linux.memscan import extract_all_keys
+
if not outPath:
+
outPath = gc.work_path
+
db_keys = extract_all_keys(wxdbPath)
+
wxinfos = batch_decrypt(db_keys, outPath)
+
return ReJson(0, str(wxinfos))
+
+
+
class MergeRequest(BaseModel):
+
dbPath: str
+
outPath: str
+
+
+
@ls_api.post('/merge')
+
@error9999
+
def get_merge(request: MergeRequest):
+
"""
+
合并
+
:return:
+
"""
+
wxdb_path = request.dbPath
+
out_path = request.outPath
+
db_path = get_wx_db(wxdb_path)
+
# for i in db_path:print(i)
+
rdata = merge_db(db_path, out_path)
+
return ReJson(0, str(rdata))
+
+
# END 这部分为专业工具的api ***********************************************************************************************
44. File addition: "helpers.py" in "wxdump_linux/api" "UTF-8"
up 0.148195, new 182732:182766
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: helpers.py
+
# Description: Miscellaneous helper utilities
+
# Author: xaoyaoo
+
# Date: 2024/01/16
+
# -------------------------------------------------------------------------------
+
import base64
+
import os
+
import random
+
import re
+
import string
+
+
+
def is_port_in_use(_host, _port):
+
import socket
+
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
+
try:
+
s.bind((_host, _port))
+
except socket.error:
+
return True
+
return False
+
+
+
def validate_title(title):
+
"""
+
校验文件名是否合法
+
"""
+
rstr = r"[\/\\\:\*\?\"\<\>\|\.]" # '/ \ : * ? " < > |'
+
new_title = re.sub(rstr, "_", title) # 替换为下划线
+
return new_title
+
+
+
def gen_base64(path):
+
# 获取文件名后缀
+
extension = os.path.splitext(path)[1]
+
if extension == '.js':
+
start_str = 'data:text/javascript;base64,'
+
elif extension == '.css':
+
start_str = 'data:text/css;base64,'
+
elif extension == '.html':
+
start_str = 'data:text/html;base64,'
+
elif extension == '.json':
+
start_str = 'data:application/json;base64,'
+
else:
+
start_str = 'data:text/plain;base64,'
+
+
with open(path, 'rb') as file:
+
js_code = file.read()
+
+
base64_encoded_js = base64.b64encode(js_code).decode('utf-8')
+
return start_str + base64_encoded_js
+
+
+
def random_str(num=16):
+
return ''.join(random.sample(string.ascii_letters + string.digits, num))
45. File addition: "export" in "wxdump_linux/api" +dx "binary"
up 0.148195, new 184341:184358
46. File addition: "export_json.py" in "wxdump_linux/api/export" "UTF-8"
up 0.184359, new 184361:184399
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: exportCSV.py
+
# Description:
+
# Author: xaoyaoo
+
# Date: 2024/04/20
+
# -------------------------------------------------------------------------------
+
import json
+
import os
+
from wxdump_linux.db import DBHandler
+
+
+
def export_json(wxid, outpath, db_config, my_wxid="我", indent=4):
+
if not os.path.exists(outpath):
+
outpath = os.path.join(os.getcwd(), "export" + os.sep + wxid)
+
if not os.path.exists(outpath):
+
os.makedirs(outpath)
+
+
db = DBHandler(db_config, my_wxid)
+
+
count = db.get_msgs_count(wxid)
+
chatCount = count.get(wxid, 0)
+
if chatCount == 0:
+
return False, "没有聊天记录"
+
users = {}
+
page_size = chatCount + 1
+
for i in range(0, chatCount, page_size):
+
start_index = i
+
data, users_t = db.get_msgs(wxid, start_index, page_size)
+
users.update(users_t)
+
if len(data) == 0:
+
return False, "没有聊天记录"
+
+
save_path = os.path.join(outpath, f"{wxid}_{i}_{i + page_size}.json")
+
with open(save_path, "w", encoding="utf-8") as f:
+
json.dump(data, f, ensure_ascii=False, indent=indent)
+
with open(os.path.join(outpath, "users.json"), "w", encoding="utf-8") as f:
+
json.dump(users, f, ensure_ascii=False, indent=indent)
+
return True, f"导出成功: {outpath}"
+
+
+
if __name__ == '__main__':
+
pass
47. File addition: "export_html.py" in "wxdump_linux/api/export" "UTF-8"
up 0.184359, new 185887:185925
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: exportCSV.py
+
# Description:
+
# Author: xaoyaoo
+
# Date: 2024/04/20
+
# -------------------------------------------------------------------------------
+
import json
+
import os
+
from wxdump_linux.db import DBHandler
+
+
+
def export_html(wxid, outpath, db_config, my_wxid="我"):
+
if not os.path.exists(outpath):
+
outpath = os.path.join(os.getcwd(), "export" + os.sep + wxid)
+
if not os.path.exists(outpath):
+
os.makedirs(outpath)
+
+
db = DBHandler(db_config, my_wxid)
+
+
count = db.get_msgs_count(wxid)
+
chatCount = count.get(wxid, 0)
+
if chatCount == 0:
+
return False, "没有聊天记录"
+
+
msgs, users = db.get_msgs(wxid, 0, chatCount + 1)
+
if len(msgs) == 0:
+
return False, "没有聊天记录"
+
+
data_js = (
+
"localStorage.setItem('isUseLocalData', 't') // 't' : 'f' \n"
+
f"const local_msg_count = {chatCount}\n"
+
f"const local_mywxid = '{my_wxid}' \n"
+
f"const local_user_list = {json.dumps(users, ensure_ascii=False, indent=None )} \n"
+
f"const local_msg_list = {json.dumps(msgs, ensure_ascii=False, indent=None )} \n"
+
)
+
+
save_path = os.path.join(outpath, f"data.js")
+
with open(save_path, "w", encoding="utf-8") as f:
+
f.write(data_js)
+
+
return True, f"导出成功: {outpath}"
+
+
+
if __name__ == '__main__':
+
pass
48. File addition: "export_csv.py" in "wxdump_linux/api/export" "UTF-8"
up 0.184359, new 187398:187435
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: exportCSV.py
+
# Description:
+
# Author: xaoyaoo
+
# Date: 2024/04/20
+
# -------------------------------------------------------------------------------
+
import csv
+
import json
+
import os
+
from wxdump_linux.db import DBHandler
+
+
+
def export_csv(wxid, outpath, db_config, my_wxid="我", page_size=5000):
+
if not os.path.exists(outpath):
+
outpath = os.path.join(os.getcwd(), "export" + os.sep + wxid)
+
if not os.path.exists(outpath):
+
os.makedirs(outpath)
+
+
db = DBHandler(db_config, my_wxid)
+
+
count = db.get_msgs_count(wxid)
+
chatCount = count.get(wxid, 0)
+
if chatCount == 0:
+
return False, "没有聊天记录"
+
+
if page_size > chatCount:
+
page_size = chatCount + 1
+
+
users = {}
+
for i in range(0, chatCount, page_size):
+
start_index = i
+
data, users_t = db.get_msgs(wxid, start_index, page_size)
+
print(users, users_t)
+
users.update(users_t)
+
+
if len(data) == 0:
+
return False, "没有聊天记录"
+
+
save_path = os.path.join(outpath, f"{wxid}_{i}_{i + page_size}.csv")
+
+
with open(save_path, "w", encoding="utf-8", newline='') as f:
+
csv_writer = csv.writer(f, quoting=csv.QUOTE_MINIMAL)
+
+
csv_writer.writerow(["id", "MsgSvrID", "type_name", "is_sender", "talker", "room_name", "msg", "src",
+
"CreateTime"])
+
for row in data:
+
id = row.get("id", "")
+
MsgSvrID = row.get("MsgSvrID", "")
+
type_name = row.get("type_name", "")
+
is_sender = row.get("is_sender", "")
+
talker = row.get("talker", "")
+
room_name = row.get("room_name", "")
+
msg = row.get("msg", "")
+
src = row.get("src", "")
+
CreateTime = row.get("CreateTime", "")
+
csv_writer.writerow([id, MsgSvrID, type_name, is_sender, talker, room_name, msg, src, CreateTime])
+
with open(os.path.join(outpath, "users.json"), "w", encoding="utf-8") as f:
+
json.dump(users, f, ensure_ascii=False, indent=4)
+
return True, f"导出成功: {outpath}"
+
+
+
if __name__ == '__main__':
+
pass
49. File addition: "__init__.py" in "wxdump_linux/api/export" "UTF-8"
up 0.184359, new 189753:189788
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: __init__.py
+
# Description:
+
# Author: xaoyaoo
+
# Date: 2024/04/20
+
# -------------------------------------------------------------------------------
+
from .export_csv import export_csv
+
from .export_json import export_json
+
from .export_html import export_html
50. File addition: "decorators.py" in "wxdump_linux/api" "UTF-8"
up 0.148195, new 190185:190222
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: decorators.py
+
# Description: Error handling decorators for API endpoints
+
# Author: xaoyaoo
+
# Date: 2024/01/16
+
# -------------------------------------------------------------------------------
+
import traceback
+
from functools import wraps
+
+
from .response import ReJson
+
+
+
def error9999(func):
+
@wraps(func)
+
def wrapper(*args, **kwargs):
+
try:
+
return func(*args, **kwargs)
+
except Exception as e:
+
traceback_data = traceback.format_exc()
+
rdata = f"{traceback_data}"
+
return ReJson(9999, body=f"{str(e)}\n{rdata}", error=str(e))
+
+
return wrapper
+
+
+
def asyncError9999(func):
+
@wraps(func)
+
async def wrapper(*args, **kwargs):
+
try:
+
return await func(*args, **kwargs)
+
except Exception as e:
+
traceback_data = traceback.format_exc()
+
rdata = f"{traceback_data}"
+
return ReJson(9999, body=f"{str(e)}\n{rdata}", error=str(e))
+
+
return wrapper
51. File addition: "config.py" in "wxdump_linux/api" "UTF-8"
up 0.148195, new 191335:191368
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: config.py
+
# Description: Configuration data management
+
# Author: xaoyaoo
+
# Date: 2024/01/16
+
# -------------------------------------------------------------------------------
+
import json
+
import os
+
import logging
+
+
+
class ConfData(object):
+
_instances = None
+
+
def __new__(cls, *args, **kwargs):
+
if cls._instances:
+
return cls._instances
+
cls._instances = object.__new__(cls)
+
return cls._instances
+
+
def __init__(self):
+
self._work_path = None
+
self.conf_file = None
+
self.auto_setting = None
+
+
self.is_init = False
+
+
self.conf = {}
+
+
self.init()
+
+
@property
+
def cf(self):
+
if not self.is_init:
+
self.init()
+
return self.conf_file
+
+
@property
+
def work_path(self):
+
if not self.is_init:
+
self.init()
+
return self._work_path
+
+
@property
+
def at(self):
+
if not self.is_init:
+
self.init()
+
return self.auto_setting
+
+
def init(self):
+
self.is_init = False
+
+
work_path = os.getenv("WXDUMP_WORK_PATH")
+
conf_file = os.getenv("WXDUMP_CONF_FILE")
+
auto_setting = os.getenv("WXDUMP_AUTO_SETTING")
+
+
if work_path is None or conf_file is None or auto_setting is None:
+
return False
+
+
self._work_path = work_path
+
self.conf_file = conf_file
+
self.auto_setting = auto_setting
+
self.is_init = True
+
+
if not os.path.exists(self.conf_file):
+
self.set_conf(self.auto_setting, "last", "")
+
self.read_conf()
+
return True
+
+
def read_conf(self):
+
if not os.path.exists(self.conf_file):
+
return False
+
try:
+
with open(self.conf_file, 'r') as f:
+
conf = json.load(f)
+
self.conf = conf
+
return True
+
except FileNotFoundError:
+
logging.error(f"Session file not found: {self.conf_file}")
+
return False
+
except json.JSONDecodeError as e:
+
logging.error(f"Error decoding JSON file: {e}")
+
return False
+
+
def write_conf(self):
+
if not self.is_init:
+
self.init()
+
try:
+
with open(self.conf_file, 'w') as f:
+
json.dump(self.conf, f, indent=4, ensure_ascii=False)
+
return True
+
except Exception as e:
+
logging.error(f"Error writing to file: {e}")
+
return False
+
+
def set_conf(self, wxid, arg, value):
+
if not self.is_init:
+
self.init()
+
if wxid not in self.conf:
+
self.conf[wxid] = {}
+
if not isinstance(self.conf[wxid], dict):
+
self.conf[wxid] = {}
+
self.conf[wxid][arg] = value
+
self.write_conf()
+
+
def get_conf(self, wxid, arg):
+
if not self.is_init:
+
self.init()
+
return self.conf.get(wxid, {}).get(arg, None)
+
+
def get_local_wxids(self):
+
if not self.is_init:
+
self.init()
+
return list(self.conf.keys())
+
+
def get_db_config(self):
+
if not self.is_init:
+
self.init()
+
my_wxid = self.get_conf(self.at, "last")
+
return self.get_conf(my_wxid, "db_config")
+
+
+
gc: ConfData = ConfData()
+
+
+
def get_conf_local_wxid(conf_file):
+
try:
+
with open(conf_file, 'r') as f:
+
conf = json.load(f)
+
except FileNotFoundError:
+
logging.error(f"Session file not found: {conf_file}")
+
return None
+
except json.JSONDecodeError as e:
+
logging.error(f"Error decoding JSON file: {e}")
+
return None
+
return list(conf.keys())
+
+
+
def get_conf(conf_file, wxid, arg):
+
try:
+
with open(conf_file, 'r') as f:
+
conf = json.load(f)
+
except FileNotFoundError:
+
logging.error(f"Session file not found: {conf_file}")
+
return None
+
except json.JSONDecodeError as e:
+
logging.error(f"Error decoding JSON file: {e}")
+
return None
+
return conf.get(wxid, {}).get(arg, None)
+
+
+
def get_conf_wxids(conf_file):
+
try:
+
with open(conf_file, 'r') as f:
+
conf = json.load(f)
+
except FileNotFoundError:
+
logging.error(f"Session file not found: {conf_file}")
+
return None
+
except json.JSONDecodeError as e:
+
logging.error(f"Error decoding JSON file: {e}")
+
return None
+
return list(conf.keys())
+
+
+
def set_conf(conf_file, wxid, arg, value):
+
try:
+
with open(conf_file, 'r') as f:
+
conf = json.load(f)
+
except FileNotFoundError:
+
conf = {}
+
except json.JSONDecodeError as e:
+
logging.error(f"Error decoding JSON file: {e}")
+
return False
+
+
if wxid not in conf:
+
conf[wxid] = {}
+
if not isinstance(conf[wxid], dict):
+
conf[wxid] = {}
+
conf[wxid][arg] = value
+
try:
+
with open(conf_file, 'w') as f:
+
json.dump(conf, f, indent=4, ensure_ascii=False)
+
except Exception as e:
+
logging.error(f"Error writing to file: {e}")
+
return False
+
return True
52. File addition: "__init__.py" in "wxdump_linux/api" "UTF-8"
up 0.148195, new 196541:196576
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: __init__.py
+
# Description:
+
# Author: xaoyaoo
+
# Date: 2023/12/14
+
# -------------------------------------------------------------------------------
+
import os
+
import subprocess
+
import sys
+
import time
+
import uvicorn
+
import mimetypes
+
import logging
+
from logging.handlers import RotatingFileHandler
+
+
from uvicorn.config import LOGGING_CONFIG
+
from fastapi import FastAPI, Request, Path, Query
+
from fastapi.staticfiles import StaticFiles
+
from fastapi.exceptions import RequestValidationError
+
from starlette.middleware.cors import CORSMiddleware
+
from starlette.responses import RedirectResponse, FileResponse
+
+
from .config import gc
+
from .helpers import is_port_in_use
+
from wxdump_linux._logging import server_loger
+
from .response import ReJson
+
from .remote_server import rs_api
+
from .local_server import ls_api
+
+
from wxdump_linux import __version__
+
+
+
def gen_fastapi_app(handler):
+
app = FastAPI(title="wxdump-linux", description="Linux 版微信数据库解密工具", version=__version__,
+
contact={"name": "wxdump-linux"},
+
license_info={"name": "MIT License"})
+
+
web_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "ui", "web") # web文件夹路径
+
+
# 跨域
+
origins = [
+
"http://localhost:5000",
+
"http://127.0.0.1:5000",
+
"http://localhost:8080", # 开发环境的客户端地址"
+
# "http://0.0.0.0:5000",
+
# "*"
+
]
+
app.add_middleware(
+
CORSMiddleware,
+
allow_origins=origins, # 允许所有源
+
allow_credentials=True,
+
allow_methods=["*"], # 允许所有方法
+
allow_headers=["*"], # 允许所有头
+
)
+
+
@app.on_event("startup")
+
async def startup_event():
+
logger = logging.getLogger("uvicorn")
+
logger.addHandler(handler)
+
+
# 错误处理
+
@app.exception_handler(RequestValidationError)
+
async def request_validation_exception_handler(request: Request, exc: RequestValidationError):
+
# print(request.body)
+
return ReJson(1002, {"detail": exc.errors()})
+
+
# 首页
+
@app.get("/")
+
@app.get("/index.html")
+
async def index():
+
response = RedirectResponse(url="/s/index.html", status_code=307)
+
return response
+
+
# 路由挂载
+
app.include_router(rs_api, prefix='/api/rs', tags=['远程api'])
+
app.include_router(ls_api, prefix='/api/ls', tags=['本地api'])
+
+
# 根据文件类型,设置mime_type,返回文件
+
@app.get("/s/{filename:path}")
+
async def serve_file(filename: str):
+
# 构建完整的文件路径
+
file_path = os.path.join(web_path, filename)
+
file_path = os.path.abspath(file_path)
+
+
# 检查文件是否存在
+
if os.path.isfile(file_path):
+
# 获取文件 MIME 类型
+
mime_type, _ = mimetypes.guess_type(file_path)
+
# 如果 MIME 类型为空,则默认为 application/octet-stream
+
if mime_type is None:
+
mime_type = "application/octet-stream"
+
server_loger.warning(f"[+] 无法获取文件 MIME 类型,使用默认值:{mime_type}")
+
if file_path.endswith(".js"):
+
mime_type = "text/javascript"
+
server_loger.info(f"[+] 文件 {file_path} MIME 类型:{mime_type}")
+
# 返回文件
+
return FileResponse(file_path, media_type=mime_type)
+
+
# 如果文件不存在,返回 404
+
return {"detail": "Not Found"}, 404
+
+
# 静态文件挂载
+
# if os.path.exists(os.path.join(web_path, "index.html")):
+
# app.mount("/s", StaticFiles(directory=web_path), name="static")
+
+
return app
+
+
+
def start_server(port=5000, online=False, debug=False, isopenBrowser=True,
+
merge_path="", wx_path="", my_wxid="", ):
+
"""
+
启动flask
+
:param port: 端口号
+
:param online: 是否在线查看(局域网查看)
+
:param debug: 是否开启debug模式
+
:param isopenBrowser: 是否自动打开浏览器
+
:return:
+
"""
+
work_path = os.path.join(os.getcwd(), "wxdump_work") # 临时文件夹,用于存放图片等 # 全局变量
+
if not os.path.exists(work_path):
+
os.makedirs(work_path, exist_ok=True)
+
server_loger.info(f"[+] 创建临时文件夹:{work_path}")
+
print(f"[+] 创建临时文件夹:{work_path}")
+
+
# 日志处理,写入到文件
+
log_format = '[{levelname[0]}] {asctime} [{name}:{levelno}] {pathname}:{lineno} {message}'
+
log_datefmt = '%Y-%m-%d %H:%M:%S'
+
log_file_path = os.path.join(work_path, "wxdump.log")
+
file_handler = RotatingFileHandler(log_file_path, mode="a", maxBytes=10 * 1024 * 1024, backupCount=3)
+
formatter = logging.Formatter(fmt=log_format, datefmt=log_datefmt, style='{')
+
file_handler.setFormatter(formatter)
+
+
wx_core_logger = logging.getLogger("wx_core")
+
db_prepare = logging.getLogger("db_prepare")
+
+
# 这几个日志处理器为本项目的日志处理器
+
server_loger.addHandler(file_handler)
+
wx_core_logger.addHandler(file_handler)
+
db_prepare.addHandler(file_handler)
+
+
conf_file = os.path.join(work_path, "conf_auto.json") # 用于存放各种基础信息
+
auto_setting = "auto_setting"
+
env_file = os.path.join(work_path, ".env") # 用于存放环境变量
+
# set 环境变量
+
os.environ["WXDUMP_WORK_PATH"] = work_path
+
os.environ["WXDUMP_CONF_FILE"] = conf_file
+
os.environ["WXDUMP_AUTO_SETTING"] = auto_setting
+
+
with open(env_file, "w", encoding="utf-8") as f:
+
f.write(f"WXDUMP_WORK_PATH = '{work_path}'\n")
+
f.write(f"WXDUMP_CONF_FILE = '{conf_file}'\n")
+
f.write(f"WXDUMP_AUTO_SETTING = '{auto_setting}'\n")
+
+
if merge_path and os.path.exists(merge_path):
+
my_wxid = my_wxid if my_wxid else "wxid_dbshow"
+
gc.set_conf(my_wxid, "wxid", my_wxid) # 初始化wxid
+
gc.set_conf(my_wxid, "merge_path", merge_path) # 初始化merge_path
+
gc.set_conf(my_wxid, "wx_path", wx_path) # 初始化wx_path
+
db_config = {"key": my_wxid, "type": "sqlite", "path": merge_path}
+
gc.set_conf(my_wxid, "db_config", db_config) # 初始化db_config
+
gc.set_conf(auto_setting, "last", my_wxid) # 初始化last
+
+
# 检查端口是否被占用
+
if online:
+
host = '0.0.0.0'
+
else:
+
host = "127.0.0.1"
+
+
if is_port_in_use(host, port):
+
server_loger.error(f"Port {port} is already in use. Choose a different port.")
+
print(f"Port {port} is already in use. Choose a different port.")
+
input("Press Enter to exit...")
+
return # 退出程序
+
if isopenBrowser:
+
try:
+
# 自动打开浏览器
+
url = f"http://127.0.0.1:{port}/"
+
# 根据操作系统使用不同的命令打开默认浏览器
+
if sys.platform.startswith('darwin'): # macOS
+
subprocess.call(['open', url])
+
elif sys.platform.startswith('win'): # Windows
+
subprocess.call(['start', url], shell=True)
+
elif sys.platform.startswith('linux'): # Linux
+
subprocess.call(['xdg-open', url])
+
else:
+
server_loger.error(f"Unsupported platform, can't open browser automatically.", exc_info=True)
+
print("Unsupported platform, can't open browser automatically.")
+
except Exception as e:
+
server_loger.error(f"自动打开浏览器失败:{e}", exc_info=True)
+
+
time.sleep(1)
+
server_loger.info(f"启动flask服务,host:port:{host}:{port}")
+
print("[+] 请使用浏览器访问 http://127.0.0.1:5000/ 查看聊天记录")
+
global app
+
print("[+] 如需查看api文档,请访问 http://127.0.0.1:5000/docs ")
+
app = gen_fastapi_app(file_handler)
+
+
LOGGING_CONFIG["formatters"]["default"]["fmt"] = "[%(asctime)s] %(levelprefix)s %(message)s"
+
LOGGING_CONFIG["formatters"]["access"][
+
"fmt"] = '[%(asctime)s] %(levelprefix)s %(client_addr)s - "%(request_line)s" %(status_code)s'
+
+
uvicorn.run(app=app, host=host, port=port, reload=debug, log_level="info", workers=1, env_file=env_file)
+
+
+
app = None
+
+
__all__ = ["start_server", "gen_fastapi_app"]
53. File addition: "analyzer" in "wxdump_linux" +dx "binary"
up 0.24, new 204885:204904
54. File addition: "img.png" in "wxdump_linux/analyzer" "windows-1252"
up 0.204905, new 204907:204945
+
‰PNG
+

+
��� IHDR�����G���'…¸Ž��€�IDATx^콉ŸWu/þþ‚÷ù¼ß'‰±,iÖž™ž}$y#ށ@B6bL [0;<0I€„ð’G!!÷Há%&Äc[›%yÑj-³ô¾wWïë,Ú÷]ÖÒ¿{ïé:}êÜê™–lÛªïç¸\uÕ=Ý]uÎ÷|Ͻ·ný·º8pàÀnü7ÞàÀ8pàÀƒ7.œÀ8pàÀƒ[NàÀÁ¸FÀÿ́8pààõ§�ppK€Šx
+
þ:ô5W®(ð×Ý(àoê ŸKÁßïÀ8pp£p
+
�·¸Ð6Á…¶ |è~Ë
+
üu7
+
øk�üòÕ,àï7Á§8pàÀÁRp
+
�¯Kp¼¨È¦à¯3A_2ý%þºÅ%ø›¶•�ÿ‚ŸG8pàÀÁ­§�pðº¶K êö€Ò”º�ōââÅ‹×[Ø‚ÿÎ¥ÀÏ£8pààÖƒS�8xUÁ§°´«J¾_5§ÁÀáõü˨ö›þy&Xy€‚žüĶ`ûGù;xø…tàÀƒëå
+
äþºWÀr°O?×Ê‚MXßÝÿ&®9Ìéà5 §�p𪂒l;¸ª8d+P-^/¸ 6Á¸‰‹×‰ × þ~ü{X_›ÿ¼ëžÌ®µNx�|‚_W8XŠá‘sÚg¢›üÄûžÖ_Ù{?Yü\á�^aX ƒpf[¸¢ä>H^$ëPÀ\J›àÜÄùà¯3Á_·øû—‚mñÀ ÿýzÎ[­Þů« î 8xý€Ç³ ++4¡¿‘¿Â
+
¤ÂO?À×Xò{’ŸÒô÷’“jr)8¸ép
+
�7œØLPBl—­�rÁ»ˆ–¶€
+
k
+
.ؗ¹ë¿ þ=LÐwÑvþ{Lðßo‚%¼+d\Åøzö~]—÷¼ö€ÊµM`€c R„-(ŸPàØæÏ øMålÁÏR “¶j´€_n&œÀÁM%;
+
äÙ6q¥EÀïR ¢™Â*¿—†UÆ¿òàŸg‚ýë’ߟÿ~×›óØkøåÔÀš î8xíÇ³ ++4ÁþéÂúî&(ÿ´ށq3Ÿˆ?áºÀ§ rª,#�ÖW5aeÍ&øuràà•€S�8x%„E‰‚gÀ4@‰†o V™}ã8{“Á?Ï
+
Ô÷ø»ˆæ·€üt °`i¯è…€+‰ÊzU›°¦³&¸£8pààç¢--àqk‚ǹH¶¼AAú", ”cÝ+V”ˆû üû™à¿Ó
+
8KíœOú
+
~ý8x%à�^XÚà|¦çR�ŽEKY› Þ¥À¥´ .ÀMœù9+ðkóŸwX¤°^–ÒtœÕ¸?9pààæƒÇ¡ ¢Z- ”lûWNpÚ2Õ«�üÐK­;˜ÈW³€ÿNìDqºlü:™à×ՁƒëS�8xY�zÒó¶0à ÚÄy¥ÝAû‚x…C‹žm\J›àÜÄéà¯3qê:Áßßðkßp%ÀÞµdbC°”Ư« ž –÷'Ü|XåeD»¶ÊÕÐtA4s[ õs�~ ¤;þ
+
ä+·9_jMž—[Wœ7MðëêÀÁõÀ)�,Û¡a $ ,Âÿ ë1ð×™@ÆDª©J¸Ôö²sf_¾úçΝ;{ö´nB«ƒ>}R—Ø&¸`oâ„°“'ƒ8q Ú_¾ñ‚Ã~1V�è? ΀8`.œCà „ó©·0`jäWÔ
+
¼ ,¥Ñ}êKè`¶àîèÀ;ðÈ1AcF"mÁÆ%ÑÍÃ^’ÉËvy´‰&Áµþy&8ý™ÐßKÿU'Ila°%É+d„|ñvúOW£òËß6…Âaí¿ÝÁëNàÀÊ4I ÅÀ!ÒÉmÒ(ëâ €×X@S÷£Ö§ºŸhn{œl‰†ô§êÿøñ£¸ß¦Ñ¿C ZIÀ ˜^ @=@N”%ÑSâ¢ê £‡�~ñ¬@ ¹Šî/ž±¸ƒ:pp ƒ‡ÇRhÅÛpÈÛám$¤…ëÒ’C“°Úÿ»7
+
þ=Lè/à¿ÐäI8]üßL0"eyS§PÛFÛ J/·Î±ÜŸLÀËx«ƒ7:œÀ”>®Øñ mDJҁy‚¡ úO„o[ÎÝ ïc9UùV¡ß4«|¿>0ÝvìØ‘ë5½$XüûW€}ZŽè¿ Ï€åhVxšô”‰çœ\–æµ€C~95°”F]÷©/¿ÙbɤåÀÁ­€k¤/ƒ‚Á:MÐX£ÁÈ—¬¸œ@I£M4¹Û
+
¤#Bìm¿)ð÷›à¯3A¿3ü"vNð,b{+ÐS0"mÅ«¶xõÁ¸ßXÁ=ÏÁNà€÷úë yönç3œÿL o^°&NÀV�Y“™2§™ÊG½N÷Q¸+ínÜv ï•RþèÑÃÂt‰¿¸Ñ¿c5{°/FJ½„hü^½Pe�Ïp4¥aVÃ+bÛxÁ.cQ°tÅ@=ª¨ˆq’“ƒ[×Ô¢j54.(xüX±8oC¨Bäb¤3è̼8È[-@þi”Ûoø�« ’dl ÿLòÓm¦é`oÇvºoåT WY \htî4ÜçÜp
+
€[Lô_]jª@çV@c DIq¡Evá Á„NâtŠê`M^7…û1¥Ý‰æoÍ÷‚9rH˜.ño̬²¿ üx8Dù¯ÿ:02§ˆÕ�MÐdÖ*½Ñ¼@ç—Jo,]Q  1×bГ–S8¸5 lŒqÁÀãÇŠExÅ%D.q
+
ö¯H× ÊÛVù}ã ££í€ô¤X@ù‚‘çY“uF49ÑŠsvêÿ‚õüc#^[^]œQÁ=E[ûœƒ[Np‹#Ÿ¥ÚHy„¥L­@‰Œ‚’£-XRy¢0¡3¾IÝÍ^p*÷uéoöÜÛãhKXtÿáÃÁ°ýešUö7_ [à×êÒŒÐÑ€S6wXÎ3¶à…@à5â•�“¦«‹*cÑý%“K`´p¥àþíÀÁ×ÈÀ,¥°$oC¨ÚÆ/¾€±t+j± )Õ­ šÜ“Õ_m 2À·ÅCü]ìÏž·VÀ3 —ƒ²+9ýൃkº$2
+
µ)ìstð…S�¼ÁÁݐM*ŒASbn€83г�E$KȰÖ4Ñ„ž$LYÌûþ/�¸¼7q¤%¤î§ÒÿСÂð°MÿÌ ¬ Ð¥?û¥¬À ‡gžO<½xþYJÃëů«pê*¸Ž„>f tEtTîÄÜï8xÙU­›F‚Åyvñ¸FE‹,Íø™„i‡šÈWm‚¿ÿFÁÿ.~gþÛLڤ灞7
+
v¶õˁpÉl(©2‚å™WÔ­&ܼá�opXTK'È�=gè-:aQ RlȘÀ¡H©$GØ�I™÷õ�pyoâp PõÒÿÆL/ L³~1Z¨J€K0³œhüLüáä6©O,ž’Ëx ` ê4W±¼…îďý3S+p¿wààõ îßKÍão…V¼ hŸ«)9S~nBÒméèeù­Mð÷›à¯3qœ&ýþøÃñ±3ÆÀ¸”Ò&�¯\5ýŸh;{1cZ<d�I€|{Õ¸5à�o`_Š{�ÚÓÿF«B¦�ZAÆ� ‘|a"mÁFÆ•4‹uÚPùHͰ“ø–{fDó[Àxü/€éìàÁý×eüÓ–>D�à �œ%<¥˜Àô¸xuXƲm¤`éʶñ‚uV+:!ú!q[›AЈI þ
+
ñk¸8pðª=vPâ¥û— ?c 6"3#9ëü À裑ˆ ±lÛxÖŽ¨‘¥¨X9¹£GÒv
+
|M›°ŒŠð×½ÒàßÛ
+
Eá\á©Ãó‰g˜ý+^&ýøOç5:EFPçÑ[(»R0"uHõ§�xƒ�ãÂ"ƒi¨ã>Ò¥¤=©èÔƒ‡HO�¤-Æ€xh+úi" Ã"sâoÂ^ôëÒÜ쉷ÇÁ–à’ý•µC× }5½ ¹ÌR Øf¯“­{¶x‰ñŠãÕ'nb™`€ŽtAËX¶®hë´Ìáøüe5´ àãÀÁM�úxé"¸^~†Ã%)Ú¶#c–CCž5‰-iú±€³ø‚ÿ]¼ƒÇÿRÀµn€Em—ƒ]#J¤x•Ñ”ZÑgЋÐÍ�”TÁ-q™ú9�¯+8À“4zilS
+
°m¼¤åN3Zç}þþëÙÖ÷ò"'êÉ�ÄÍ‘ˆ¹`o¢ø‰°æÒß|=ö·Ä¼­8°ð
+
™=¸ðo‚ÿ"4<´`™¯™!í&4‡æñ×‘æ*¸Ü¸Î`õ K®¢ ‚e)ÛÆËʍ/[G  ƒâš“«Ü| ÷¶ æ±Ô™qŸò3‚²4F„Þ"ÿtNcé3dî>£eÛÆŠp „’ ½_>ˆ†o <K˜àw)4é²ðW³s‚-'¬Dʀ矲«NªìRâ!»Öxˆ @/ï ËQŸD€»"—Ò}^?p
+
€708­ †=¶�509o¥Ø?G2{þÐÊDä5JvHˆ@ŽH”H¦H¸È¿K:Qö é¯)l‹qyob¾%fmmaaÎÖôRa)³/Lèc¬àae�œ%<Í̦Àr½pˆ—Œ%*ÌUtä¬Ê[è*èc 49µJT¬Ý@3´°¼ÅƁƒW”{ÛõUtr
+
txˆ�Ä Ôù=ýç[ÐÚ²´€ÎÌ4ðñÑm&a/C†Aæa°²ø+Þmb‚¿n)àYôÌè-�<à pþ[±+r)½Ž¸O.{óBÃ!úÆ….Ôå(—2^åî«àPëëNð:J™VÀ°¤ À§‘I“þÊ&t@Éö1£`RkJ~»Ô䨷ÓÒ'c;´*�4Ý°…ಿ .ý7½$XÜø§™à ]úßXÀñ àÒ°D ¹Ê6o1ïý� /QC¯£Þ¨'ªK-¯1E1°,uÍITn&[ÀýÒÄâÌ Ðù£cн_@_ƒ,-€zº=–� KP¢À`½`eë&¸0_
+
|Äv)ð÷ß(èo¡€_ûøÃx–ðLâf ŒJ‰€tJ/%/ôyëó[ @œh‰J€zæ"«¬-xœ8xmÀ)�^gÀx[™´ l uŒð°™FPt’¤¼lÓ li:¡Ìˆ‡HÈ­4I,Jè\úƒú×¥¶iö༠.ñÁææj¯ˆñO3Á¿Ÿ ]úÛVdfT³Ó ³×Q2¥Šå0vŽ/zÏ�½è,±¼…Ž„�#žØ:j«,u™<¿13µJQ<®8x%@}Œ•Ñ2uuÜçñ`7å²Õ?]/KÓ} ùã3Sê -ŒF𐓴.Ø— ]
+
üý7
+
þ½­`?ÏO+µ^¼F§Í‘<Dà•eÔÊÏ-:“‚,:-Um–<N¼6à�¯3@¼-ŒLº,»PдAy[¡œµ¦$©SÖ\[�É#ö�f=‘¶ê~'ø&,ýý¤gKv³‡Þs-Á%û+k\ø/}Lƒœ kIÐ�KZtÿ°–ÀŽÚb#hêš±Ni•€ž±hŠÒ’{­ÍUèüpˆ™  ç'laàñæÀ¸ß,…&k�7¦üLž±±-9#l) ³4‚²4Ý?ní£P–¦@ê@b0ÆÆC+‡/ >j‚ó¸ þþûuø°§âpý)­�¹±…òªNª�t æ0xî@—C‡¤Î ¾JÕîë4«ƒÇƒ×œàu¢j8hpbja‰ä‚™<h#ÒrP Ë(¶éŠò2ŸÞ°M!H©°OS'~ºâ7…5—þ‹�³‹¡ªoÍÚ@någš[õ‚ë0ñÅ[™ü¶jÛŽáy`Å�œ%ÌgxVñ<2˜%½k]Y�¼”x¹)h¢BØf,t6î…
+
4?Ñl�·G‡‡Œ¥''§�pðŠ€û $aR­€žLöõX 8”œ)?#KëŒM®+Wl¡äÀxûF×ÈØxø2Ñd|+8/þw—þ®VÀ3€éŒr©~>Ø¿²ë W¯8cÔV¤ª7¢G]°«(h @÷/k4«ƒÇƒ×œà5
+
T* 4¨ ä0¦ø·L'ÅÀÆP'œ`éãG‚ÀF+H44Ó°ì‚…ñšÂÒËtB_µ9GBçwÚ Nø\hÞy°Ùù9aµ¹†foöà+Y®”yMZ Ô˜V¥V­J4·µÊl­R­”„•a[+6·Õr…@½½Z©YL`¾Z[¨ÔÄVYíàüÜþ…l©écÌ´’@ϧ5»5ÒÉãM°d†—SËU–Ÿ<yìÔ©ÂNŸëä™3§ˆ5½‹ú@OQ–«è>†ÀKÖÙ«zìÐF_n<,Üb@÷`@Áô¨+v}1ºÇ¢3£{#-Ÿ³Ž¾ž?ß0¡ùÁΞ=-ŒÆDD†¡íCéSS¨Q–fŒMèÚŒX”·)€—`ŸRµõUí€w…,núgÑo¢£ê-”KõJ�[°Ñ¤Sûç·Ø6
+
ƒü �R¨pLÓŒ]ёл¨0A“rÁcÑŸÑÃÑ™Ù?Ñ}.öS1y°9xÕá�¯E\k}Ӎ¨+/CýÖ?Òå�ëa²ÕýTúãF%)ír‰Íô}ưÀ¿ Ö):” A÷ƒôV5•<¼Ä}Sýs›ƒ­x½÷ «£í`ª�˜UÒ¿*D?3½�€ Ö(,s•ê|Yn••ÑjâË•ÑfçJs³¥Ù¹²®øÁpHUxÌ4†gÀº²éÓÂËJ¯5¦(ÌR(>X` è™ ÀÝGǦN>ß*?±ðÁCÌI¶<>Ü2@g`�ÇÀCp'$d‡Y‹­ëR'gÌL¢c1ÑO¥?;]ý“ƒ4Õ?¬ŒÒŸõÑ茭ˆÚ(ˆ(ÿè@§ô~àL¸”5€; ý¶ð‹à÷â!¶P0RÕ 8íxEØ5²+øŒ š¦uvÕ[×r²½ -ðˆc#Óá[äU‡Zîp
+
€× 0X8!0Ó\iÑÏ„‘‰yÀR ;D
+
`L<B¿.úÛÓýŠël²56‰9”åÂø X{ð± _õ« nmGÁ=[ªÍ™6+EµÜV˵JIhúÙ2±RYš”îV/V.VЪ…¦©a†ÕLû³åŠ­A9!¾5YFTJ S·l~€>‰¬V«€±J@Ïd˜·�,cÙf/–´¬•€ž¢²ÍZ 4ÀÒÒY­Šæ'poÜǸdNÒc '$ÚNÿ‰G©ƒ[Vi=[£ê>‰ŽÊ˜2‚1ó"Ýü(úY¬Qݦë~”ûLú#KÛ2¶Ò½ö`¬‚ ZÚxìsf¿>èqkBÿ&vh °9–z ̺¤À“€¤ªWpªÁðZà5be€¢Ù&hFÆz€²+&t<D²¥.®ÎÉÑ]èÒMýÑß:¼úځS�¼¶pÍìUÂ(b€@‚}u$¿Øt)]д>mÄs®õ\R*úuÒÁCTÿ¨ð¢6Y ©“i”š)qÙßúRë[ópÊREׄåk`Õ‚´r±a%bÅ’09©§T)—ÍmYBm¥ô/Ñ­øËbK¡þ©a¬0À­úkðg-Wª‰åaGÔ¶Öª� ç Τ%GiýXt+L]¬8"‹æZ ´* ÐÁÐåXf:KƵÑWÑ™©‡#hr¢1B#¨UBÒ[xˆ:¸•€þÀ@½É| ýr2@§eº´îíçH¿ ëæg¢ŸI|nL÷£¸dZñÞ½†±õòõÙ‰Òøõ Á{m|
+
£Dú544‹Z è-f»üMz~£šÉ±™õ2� �ëP�ϼ�:, ³+ãØEHµÕ?Q¯¦‹ûpÈøöŠå:ûs„S�¼†pÍÔ,f(0Ó�h.®ûÏ[çúÓl<k® ¬$@¢¡\sô¨‚Ä€ðÏ1ҥрÉuÑŠŸê~:G“Q3ݧ©öñ?ÕýJLK“ºP®ä›&ÁŠùR¡À-/¶¥b®œÇ­j“Û¢„e[*È­xY¶,·‹˜x;lÅŸu_⦣�[QyØš5É5 �z–Ù‰œO�œpZt±ª�S^\¼Ü4iÑb Ua@}ŒæªVYŠîSßF çÓ2àR‹¡jˆ)ÌINZºeA¯{;@*¾l'z𐑳--#tÇC ‡V€.ñ™RÄ*úu­O÷i×ŒÎØ&WÛƒrKû`ì­xà]!‹~~4û& ’QÕÜK9ýr¾‚ÆZæªÒÌ{ ð´`:kͨ¯L�yù„¶ [+^¥@‡¼ 
+
�zˆhÅ«­Ú(c(å"ëò˜tpóá�¯\SêU>†
+
Æ„ŠþE 6Æ<„=î“ì"¥?R’ˆÎ2ÖY¼ñˆà*«îGš³Í"L÷c‹’­M˜,ÁZ€û…¸§iä>»Ò‹å˜Ü ”a+T»*�Š‚b¾aùb.[Êá–Z¡`±¢ÚfŠÙ´eJ90£ÜØÂŽúJe0Y‡˜[:z@MU6&Ê’äšÅ�œ=íÍÚuƒÑºk©¼…h™½h£ Ì6W±.+â¹MÐŒE÷i®ÂÐ`i a›™Pçñ(uð^q‹N!�·A/ÒuãgÆÌ¶®Ëý[[qAKèþgB_—Œ‹ë~Ô÷¶½3j$¶U=(±P ó´”ÎÞmÜ*Ù®Ià‡ê_CC¹Z+ÖÔTQ¬„±–F%`ޏâiÁ�Á‡Y‘2F%•€ 0_ëìÚŠWÙ!õÏVŒ
+
`nߪ}ÉàªÃº?8À«îì&à_1Ó\!K¶ÀÔb›].hCÉçÈØë”Ay€Cµ>Nò±ëïçËÀ1ÝO;û©î'ÖL”†±Eз”õ
+
R;›‡¦ÊÆtÎ4Ú‹¯Ä·Ù‹¯<í¯Ïç³¹B·h øÙ»Ä6WHgŠK—¤¥Ê Kš[¹SÊŠ.æK`å\sK‡)š&Êù…m +Ðf»ZëJ U£IKå-„}öZ¤�@Ð\¥×�gT~¢û4Q-’´XN‚´„ûpØ~–b°F¹ƒ×+øu5A¨×ôô"t³‹šÜWÄ}[§eüŒÎšÇòÛyÙœV� 1éB“ÉýV½3:c›\mÊ-¦L_ ”Ãq¿mð±Ðō~„íw`€åÞàÆ¯ÆúÊXËœZPB.B¡@•A«WŠ1z™Xm�Fæ^6:ãX¦fìjz‘Íì €-ÁR7Ö€žQ@ –Æ¥VÆ´N ð*Ã)�^%4SŠâŸÀã¯ZÕ?&=ß`^°Ë1�–]Îhº Š0$[ZÁ •ܧ‡&µIè¹u?Sÿf§µVJЀ2ý¢ì°Ï+(ù.¡zë ¹BLWÿÙbA˜ÒýMkjèBFX9ß´ŠÚŠ?O·¢±klKjl�·ù\&—7À²¦¥ Vh¢ H³jÀÁ¦�(e‹heÜæÔO\ÔXI€§Ž•R�Ìߘ±(hÆ¢×ÔZð,բ㪡Wl³Ô‰Ö7±QÐE÷ÏiKÏIØ‚4¾`¿™²Ì' ëàqîàõ ~]M˜¼kݝý‚[ž%7Y²¢ûÔ·‘–‘™œ[)~vÈj�*ýiÀzú©1–nÅØ× .¨í�½9¬C§mp‰¿¸ àÇÑ¿‚ P�` €¢±
+
�øÕ­x•Õ�
+
ÓŽ®‘m£0È¿‡ÍeِN!;3v¥@¦µ­Ð©—ž#¼
+
íú?µâÛ—Zt¯à>^u¦½ºp
+
€WXàb‚AïÇðàIÆL34¢`¿)üµ‘eŒÏ³­{•h^APŽ�ú8¦ä>ݰ¾ìþoÈ@ 6 ;]ëÓ *jŽJcâ
+
í±^„—©â/HÍÛPüÌ„—;BK—K �È5ª†|6›z]4Ënu³�(åÒÅ\
+
¬IeÓ™\&+¤~>›[q˜Ne2ÉT:nˆm.•Ú¾ Ô~*M¤3ñdÎHåÓ†°B&-,§>H˜YNБ ñ•r9ñªL6+‹
+
ñëćªÏšº_4–Õ¬$:Aå>=´N Z ¶%KW:àúšÅ€MO•¨K˜4¡®…ŽGò„]¯&ªÓf®bySQ«vM4ÖhŠÂ ¥qŠ-Ë�ê^«ÀKF/.îÃᓐé>#gpdc�ºÙùEçôSZPf 4Ì`£þ1¦X7?„Ê}”þ((©¬eßj<Ö¶Q±wz7Í"¼Í€4Î�|¨ƒ¿® >JùÐÎìÁÿª ºx5}­g0”þ�zºjv÷bÑK@‹Tü»6€Yh @ÙÀ¨•Ršçd>Œ Œ
+
@çLj Œ %ˆ,ÊÀøO—U‡‹C­¯œàæAs º>†
+
€åk–þ~Øls K0,òO˜ÒwŽÛõ÷·ý�½×ßìÕ ·ðÚvó[Ô?£‰)„fÊÈHÙ åué–Ée¡€aÕ3/$¦ &õmÍBË‹­h–JÆSÉ(˜‘B‹I9.uYͱ¯APµP‘]ò99Q–’ósr²Û¾($»¼@šhTÙTRX&™H'â`У/K’l:N¥ey‘QÅI9…FᢊZ� èg‡¤ °œaZ�0ua‚2¯csÞ2mé£ÂtE§Q[<W¡s¢»žÔ:«N·î¯B´JKµ�â’‰BÚÈâšG¾ƒ×$è%£W–]hê¸Ï8¹3SZf°eæ3ÚÃUNµ.�ÈЙEýÓ˜¢Ýü°¥
+
z÷õ>þÅ �ÊÕÖûh›`¢$#è÷Æ_6t‰¿˜ÑTÒô»°Àtéß0 ¶5�ì¬öäV °€ƒö+1´Z£Ùt*¤YdZôCtQt]æÒŒWÑù±iÖ–cm•³<ž¼<8ÀÍK6¶ †b<´Ê14À YX¶™` Î!æI~±�™BÐ2 Õú»©>éò‘¥k.iJ2Jk£ûå7¤?@“þ€Œhh±#ĵ!LÁìèË–1Òê…FE®¾S,ÈIù™tA¨õd"K¥ãáh$Çb‰x<™H¤KFñX$.,M$# ±“Çec"IÄc¦É·*È2Ò…LVT•\¡š/Ö
+
¥Z©˜Ë¦²¹T&—Jgå°‚Y€CCX&—&‡òi9”PȈÚŶh=2`f*¶­rMZs–Á%3–åLT˜«Xr:®uVÀ±@ ÏC `°`ŠÂP°¢±Ö*ÑŒå«Ö2€¿ƒ×ðbá¤W€@A§åK&3£k!E#-Sf¦NËhY�¹Wïõ×gø`ÕM?ã‚Z³#Ô¶�ÐÕ?cf6¢È„>pîSÞÆ}†Mk`4…à¯k‚©2nÔìú V‰°1}L� Ï2ªm=€ÔŠ'+½6£ìJæ^¶U Ð}Z Í2¦E¥¤
+
@ßFoG‡‡}2G,¬ðPA8ÄhåñìàåÁ)�n: ß0Ï¿ ¾Ž‹$=ØhLžm;Á0éO‰€"S ¹ØŠ~&÷D÷7Ðbž}v)©¥4@Á@óÈÈHü¬�ýý&òY5&É ý,„tJNבóvÉR&'¬˜)-® tuZhõD<œLD’)i)#j¤ci#ý÷ål¾œÍª÷fŠél1.Ù²Á·rž?‰&÷Ë€d2›Häbñl4–GŒPØE‰‘I…Å¡e3‰\>•É&ÁÒÒä›Sò—¢�@£Ù汝„‡gR$-Ì[´ y /t«DE2V£0;,yŠ¢i騢ÝT'íFN[k� ý4¦ …æ'�Í@¤,!PVòàwðš^£k­Õ?ãa
+
ÆÉÌ‹˜›Á>*¤sæóU�訌–©‡ÓÀ¸8*œýÌ~ýT÷£â§ñjR—þÔô^ÆÌd\‘K|F#ØÈx›i¼M4ɝ£É‡¶Ü¨öàŸgB—þ`ú˜�XÁ<P ‘2^%Ôª?¹E2*ݧWò/äbLÍ‹�:Ù"Í"Ó¶"X¤Vx8óyZ/Ê,À¨•F"bÀò¨vðòà�¯Чl½YšÁøp¢…-­ †.�5„7F;K34ß Y´*�l»ù¦èo‚ê~z3–UôÓI,œ‘æ[µ#äl9wFŠ~a#“O¥‹Ét!aãF!–B+&’¢¥”L•SF9•T–('ã¦E…UR1aµd,ôÂb[òÊ9¬•`HnýÁJÀÛj@´„²:ÈM4ΩÙT¬–LTq°|4XˆJ‰ˆ°B"œ‡òÉp!)¦âyCZ.Ï UÄ…e2ÞÆ� ±¥ý„-4oѬy ç³òu�“¤' š¢�­ò¦";µ'\B£mŠÂðÄPÕÓÒU§x ƒ‰~�^D¼¬—ÕU P0N #ÙÊ ôC¤eÆÌàÉ”“Ñ珙T Ña*:›y>(ú™îÇÐÓ �ª)i¯³>ÏǶk¦Ù©¡I|Ê!´‘ñ3y«üu&`,×MÞÓ9P7þy&øç™(ó•B»V2G\õ�IyÕ¤S›€šÆ®8ðIY� �$XêK:Á"áXðXJ³ŒiÁáÑù140XÇ^Òh£ë°ëÍ€S�¼J�oÖ3 =¤Á kÇj•`h�·“f�Ȩûué@uÿ³Î~즺Ţ"º¦î·K'ÍÉëf'…‘‘æ[µ €î‡ù<Ù”‘KRô'ÓBåK‹¥ÊÑT%fTãéj<UFÊÁp%©†£µpDØl84
+
ÍüÂöü ~Ï‚wFؼgzÁ3}Øç9ì9âó;îóž øO‡‚g¡SÁ€Ø?éó¡òûEã¯÷°O˜ÿˆßwÄ8ôÅö€_˜WüýA߁``!ä[æC¾¹Hp>Xˆ…çb¡Z$Pù„Áj<RQVJÄŠñhAY65€a$…Á êžYà« ð¼1`†ƒCÌߐà!X1€®uëDՐ#X€k±\…гæ'LQ¥ÐùO[k� œsÖ„Ä1¬ Ea–Â8`ü.’¢œDõ^ ¼@¼vxAñÃu§n€ûè$ZÄâÎY»ÁX–Ñ™ÑÃÑç‘–­TÜ–îÇèS ÝÐúÐB+¹¯+~zh¥ëli[(?ÛßÈ &d^¤×¦ñïa‚ÿUô>®%­ÏÊÈþDòÔÚá*àu¡µ­
+
ðúbþe•ÀÁöf!»²C²6SƒN-: pvÑà‚Æ±”iu‚…€%ÌjüÚƒS�Ü€S¶™r4÷ЃátV[NCŽåŒU�Æ0F5 {äd ]îƒâ�Ý`ß¿^�hº¿%u?J³“¦E¨9mÂ0 >Ï'žÌÅ’¹HBvöG“¥ˆ´r8Ys±ôB̘Fàóy}G¦gŽNNŸó.ù‚/ùüW|º/X÷ùë~±#ÌW÷zê3Óõ©Ia×&÷ÁÎÕ½{®ìÙ}õůìÚ%Lì\Û½»¾{o}ïŒ2_}Ê[ŸÔ=þº7$ÿŽ?t5à¿,>Åï½èóóÍœõxNù<g¦dô Éjᐲƒ¡àph$´ÎE¢D©)+FÂéD4™Œ K¥`¬Ð*{ày†´yÁ*š´�f`I]XÐ2€õ.ð7p¿V‰
+
a›œP`Ñüd›–ÉRz~¢Aª§¨+f–ºêŒ¼f€‚Ñ/=ÄKyY±1^nt�ê àè*�t!ô±ED?€q2uiJÅôÔ¿ÉÇ–y>(ý1 P¢R¤ŠN.Üi¹óª•âg´Ì›ÐuTîS ÃpÖ¶9œAÞ©eþº&š¼G XQ7þnüû™PDårpÌJ¹´nP�P ‹RX+æ¨8\z±ôª�Ò.+h% ³«^ �t¦Eµ “-ãX½ ÐÙÀ8Á˜“En+ðøwМà¸#z-ú1mÇÆË¤ `é†åºVË7,Ç`š`$cv R0ÓŒ9Åÿ H2û…Íï_�›khþÆ´o‘qdÒѦû3õ/ R‘OáUDgUÿäáYr)}SýgójˆV-|);õ­)DPzÚH*•ŸÈ&¤åbqaÅdª˜Jñb,VŠFKáH5®Bóð‚/pÀ8ä ñùƒ§ásÁð•PèZÐW÷{•¬Ÿ:þêÎ]×¶m»ô̦Kë֝ùÉOÿð‡ûÿé{Õ¿ÿVá¯ÿ:ûµ¯%ÿüOãö¥ÐŸ|ÁûùÏN}æ“{>ñѽ{xÏG?²ë?´óÃÜù¡ìøàû…‰]þàžÈûðÇ}ý¤ÿcŸòâ3þO}ÖÿÙÏù?÷yï#Äþü+ñ¿ø_éo|½ø¿Ÿû—:üÿvòñŸ|ò± Ïn:¿ý…Ë»w^›Ú#¾OÝ7Súë‘ÀïÌïô)ßô ïÌq_câ€ß[ û‹‘ 05w(’ErñH>Í¥âÒŒDÎHÁêF Sc#rxÄ
+
•¬a|@=Ó�¡–•ýX`æUSÑ2 .qY^m»'ÏÉeç]Vè*s*uÙ&-ÛΪ£v£ÔÃOh·èÉI¦s×S`äbŒ Àà5[õ— ÷) 3ú½h*~ºNržÐò¹¥æùPoDçDwOF÷f>œŒ=2¦ŒUñÒìøWÜ<»À&ô ™X3W©7;û+Uù¤pªûAúˍç¢àsÍq®¼©û%#È °a(�ä;sòñ‡`Ù¬\ÎŒsAGF2e¤‚ÌÛ´l*™KÚðžfÙd,cg°šÈ)`Y6Ø@®úœRmnͪuÞ ¶% =K^¥’,òÍ[Šá†™q·R^\Žb9«Ëá%kPk¥:[­ c\Št
+
û:»b~§bÅ�ú!¥ÙcÚ¼ ­ŸÓ‚±€ÑA£ GÎ·‹P.íÁ)�n˜ì!Í@j¡û�Ì1�–fà—Ôœ!ç5é€0k•f0>1bÉá�Ì7HRôcÿýsö׿«ósÕ…šÐsµ¹ruV¦“¹JU<�±R© +—«Âä‚i¦ 2ƒgXeÔ¹
+
j™ý¼œ8ªžq•Ë
+
®,F)“©äÔÓvs##³Ø³¹‚‘ËÊœ”ýb'•H%ãù´!8=‰æ‚Á¢?X †kÁÈl(R Êi3•o6à9ð øÎ|—„¾G¤’žž¬ïÙ]ß±íâæ ÇúØÁGÿeÿ?þ}ù›™øÓG<ŸyxÏþþö‡~góoüꆷ޻Ά6Þ»jýcV ­sos?3êÞ<2ðÜØàscº=?îÖí…1÷æÁ^´MCÒžV6Ö·q¬ï™ñþ«žYíÞtא°÷Œn~ë=[~ý¾~÷×vÿþïNìý¡/|*ùÕ?1¾þÕÿö½Ãÿõ¯'Ö=~þ… —÷l­{v×C3õXà‚oò\`úLÈ{:ì=ö
+
ùæ3eÿt9èͼ†×“ôûÒáˆ,Œ´‘kf’â&âñx2)ûÀdG\ÿ4¥VF•Ï.yNìˬ´¼×®‹z¶q¦\ÊUÊðœÈUòiÊEóQÅ%¹"H±\- G"]¥*Ýf¶Vžž3[›U¥€´b‹"º3±ƒç:“'XV>ÁµP`ID|@>$ž™Ú*Eéù‰‰<8ÄäÄÒæ$vˆQ$€Á¹ÃÁMãa¼@¶ä|Y10r2^zêpx^zÕ8ù$Ú©SB'�?DÿÄUüMæl < ú ¥³GFaaÿAÙ³p@n³sûMS U³Ék•…Jí@¹&¶óUYTk"6 åZ¾¡,Ŷ”5E¿|0b¶œOB‘:?/U¾|êHQNhϦ5‹ÿiç¥."6-8†g’¹Ÿ6òÉTVX6WÊd‹‚r CöîËNÕû4R‚È ÙKCJ.‚,´{9šÍf„US©R\ÞUI%
+
±P>[¹•ÝÐßQŠÊ
+
!)(Mݚ嫆àŽ,iå4ñ‚†‰×G‚¥h¨Tò¶®ª‡åX¸ªy•±l,’І’‘ ¨ d% †O'
+
ßZ˜àÌT*‘ËÈ5„p—}Uâ—‰—²6ãϹŒ¬ˆ
+
²ÓJ´À#eÄË2Y™ÎÄ_ûòTÊÇDÊsìY*”%V)›+g³•l®*-_ÉŠK&®”þÕ²¸¶ó•¹ùÊÂBuž6&+Ú,Øü\ ­Q*ºß?' ¼
+
�ªûq@C“c)Í‚Wƒ‡SŸ§dKcÀ(W�©•²+F( X8Ä0whöÆà�7Lí×ìú™®hº€¾ŽÉö/h“’؈!t]êÃØ æf¦Aů§%ÉšÀìþ,�*"H+—çJ¤ÂSê¿!ý+5¥ÿ$ToF£{C&¥øs…F÷R® t}6_HŠª›D®´iÈ5sä¢:B§&… ÍæRr
+
PRNß/¥2ÕL¶&É0]JЬ©ÄÂsÑÈáXôd"q.?ŸöùONOÕSñz*ZODêaÿÕ©=¶={jíÏN>þãìßþUâ«_ò}öã{>ô¾mþÖ¦w¾íéûïzò®Ñu«׎ö®ê^?ܳi¼ë*÷öÕƒ»V ì[34¹Ê=9Ö¿o¤gr¨{ÒÝ5=Øíqwû‡{lÍ7ÔmkÑUn´ðê¦M u
+
›î63Ò=3Ú#lz¼wjõà¾Õnñ¶ŽönîY7Ôýôˆë‰Ñ¾ÇÆ»kô‰ûï\û›oÝüÐïìxø¦?÷qß—>ê¿þãäÿuzÝžÛxåÅmuÏd=?ÿJ,|)=ŸJžJÆEc•€?35ݳ§Ö’ɹLf.—§Tœv‘z3É„ ‹œWÌÕb®R«&%±h8R02rQ£,<Û8[ȧKÅl¹$w„™Ï!.ˆ@ö–`8»PªˆŠ Q€ WQ&k€YQˆ<5·0§†“pövg
+
ùάÐK‚¥j�  œÓmÜ'pÞÚS¥g)à,-]q
+
€Ÿ7'㢠œŒ„ lŒrßVýŸÓÆ`ѯ@Qé/L¸b õß(�@~é´Œýµ Û$9ϼ,Lª9e2’ææD ëÚ¬0õ�Znòžœòì|yvN>V.å)Ô¡š/T¥Ä„çŠä
+
h2ŠÕâiY(ôAý+-Ú(�`ì¹–U¿\:¹`ääíU©ú3r8VN?L æĐ+G‰DBbA&ÅÙbqV¨^#™“·-Å„I¡¶…å£á|(˜úŒ}{³S{K3SUïÔ¬gfÖ3%ï¹òMÏy&ç<{<ûø¦f=ÇB²§ãt4x*8œùÏý§>a§ü^Ø-`â_… û<Gƒž#™ƒþiñ§„í÷N.ø&çgÄvú€ß{0ä‡i–óÑМ(6|žlÀ› sâÆ¢ò›Ç"é¸ìIÉÄãéẌF¥ÅcÂD#
+
!ÙK¬O%’é”<'¢ˆÇ"ÉD$“Nˆt&×wÎ&åTLQ¨ç96žì®j€b¾" �9SVùb&+j¨Š´\9S¬dŋ传rQ=a@sÂDò5ç^6Àæ^â”0“c%h�@Ç;Ìoæ4 †=,X˜Å€ Á¶âX .� -Ó^VìJ÷)Ó"¾½.8Àu“:�=fô]ªpŸäšÆ\Ì(,BàŸ�ð’išÒ_Wÿ­t?¦ûì²ÿÁý‡d?ìœÌ40È,
+
Ù«07[6/8§"¬4[+Ê~‰Z¡VËËÇa•ó¥U/¥¯æ¥aÿ±RF./Ø0.­–É ²L¤3‰\6%h)kÒ‰L"’ŽúS!Qpk,š Éåt
+
~Ùï«ù¦kœÜs|rϹ齗={ëÓ»¯íÙviÛ–‹›×Íþãw*÷õÄW¾8ý釷>ôÀºw¼å‰{VÿtbxË=«ŸY5¼~ȵÑݽe¸gûø€Ù{'ÜÁ{&BkÆüþ1·g¤ß3Ôçêó»Â£¡QWx¸7<ØrwF¥Åܝ‰¡[‹vÛZØÝÉ,¤LüÙ† wëõ÷uú»CîÞР+02¯ ݽÚ{×Äԝ»WnÞ22°ixà™Q÷†ñáÇ܏=}ß½ÏýöoL}øýÑ?þ|þ¯þ²üwò±]ûäå­/Ô'÷Ô½ž«!ßåˆÿ¥xxaj߼dzà Ìą̈J0\
+
GJ¢*0 QY‰Ä–ŠETB.¢Z**U‘­òr­Q9x­4@Ú,Û aX ©©A¦aW9W«Áfk¥ùji¡V&”
+
vS±DÅZÕzrb5�ÆF
+
+ Q±b@ÏO43A83°ÌÄÒ5''½º@BFNÀŲ¥b�^qJÂ�JÅè6g¬=2Tô뺟©åÃMNFݯ“sC·-ìÂÿ€9ëRÐ20³29ÔÿBú7øY¨DYÏ*³"–s•J®RR+Ôä`’eâ¥z69ôX]Ãm¬ò™ç¹L¡$˃´šÎ“—eB¡V(U‹%Ù…Ÿ‘Cˆj’‹ZmYÝ|¥$~¢–¢‘r$R„ª¡`5è+{&«ÞÉ9ïô~¿ÐâžÃþé#¾éc¾É+ÉèÕD¨¬ÇÂõh°ö×3õÀtÝ7U÷NÖ=ûêÓ{ê“/Ö÷îªïÙyu×¶+;·^Û±õêö®n}þÊ Ï]~þYa/=·v.o}NØKÛŸ—¶ó…k{v«ïÛ%ÿ‚ø;⯉¿éŸª½õ¿ô‰+~ÏEïÔϾ“3{Nù¦Og޽¢l8ðΜ©çP*y ™XHÆç±Z<.pK¥ªiCŽEÇâ¢"’£¬â ¥s†ÅNÊ^ý’8êîF'³ÐX¤&¸ª ByyIòEQŽÍg½7*0ÙœÁ:MÍj º
+
ƒ‰µ0ýRÎÀ¬ÉaPâÔ á0û礵�ú«Úìm!Å€ µžiãIíøOÐΘ–†0œ;#^Î ¬p
+
€ë¦s�zú¸&ÊôcË44�0ØêD�ä‹.ýõ^&úYŽ¡ÙŒ$‚ý‡„ú?0»ÿ€\@BRƼš´-oê•“IMÝ_+ +Ô*B÷gkÔ’«rå,ô-U
+
Êò™ZNZ5›®f²å\º˜Kd³‘L&œÎD3ÙX&›êßHÇE6â…d¼˜ˆÍ&cŒøa#v̈ÏE‚ áàÁPðh8x6~)TSöEbðÖ÷l¿´ö‰ÿüÔ_|iò“ÞòÐom|çýÏÜwç–»Ç7®Ü0Ú¿y´oÛÄÐÞ;G½÷Œ{× ûW¹ý}ñÞð„+<Öî ¸;üÝ˃ÝÑžŽXogÜÕ•ìïÉ »òc)w—iÒWîéÁ•F¿½¥:t3ºRý©þ.jÉiÆ`XÊݝpwǺâª=åê̸Ķ;ÑÓéZê¸#رÂß¹Âßµ2àƒ+:Üv‡„ùFÜÓã£{ÇÇvny~lxËøè¦Õë׬~áoßõîßõ~ô#Ñ/>’ùÆÿžýþwOüôÇç6=]÷Mׁz0|5½Ÿò…ŽøüÁñøB4^ÅJñx>•2’©h,
+
GdZÝ<œËÀ}Æ\MHš·»•óB4dDžCõ/û ¥Éñn±-Àæ*E°…ª¬`º‚¾ºÀû…Ù–˜ŸX òS´À,E�‰¤�Œ\Ñì,3±TtÍÉF7„˜ùsWl9/(¯µ•†—˜öƒœ|J.ëÙÔýTôSéN{DŽh-­û÷›s2C ´Ðy²_fnúe`´ ù¹X­(f®¤+eaÙr9S’ó|”ú—ÓT@åƒÁÓÊc ––9Q-òéÊDÉ¥R©D"MF#Ép؆’ ì/ˆÇ2ÉDÞHÈ” !÷Ë¡ÀD|(¸ßçYðLôLõÏœøÎgêñ@=*4··îŸ¬Oᄎoû•_¸²ëÙ³Ï<ujíOÿäGÇþë‡Gþã_þë÷gÿù;Õï|Óø_jüùŸ$¿ü…È}6ð¹Oú>ýÑéxêczñCï{ñïÝõþ‡^üýßÛõ¾÷ì|ïƒ;z·°í¿÷À¶÷¾{ûûÜñûïÙù¿·ó ÛñÁ÷îyø{?þ¡©O}ÄóُùTè‹ÿ3þåGâö'Ù¯ÿeþo¿Qû?ÿpðß;ñã?÷äO.m|ú¥g7\ÙºåòŽç®¼¸íš¨föIÚ zDMrlßî£Ó“Ç=ÓÇ}Þ#~ï~ïÌÜÌTyzJüÞƒ)ã@&»?“ŸËä*©l!aäã‰dП
+
’‘`*‚¾Q$ JlÞ…•Ë
+
3„
+
é¼Ôù¥Lcxn±h”°ˆ3ÜQPl\3uýŠùr ¬P)£AYØ(�få­z Ï1K€Æ,_àoè~萭–­h,PvE^eÔ
+
ÑÄþ鼚t±u‡ cZ
+
ƺœ#Xá�×Ì.èdW5éO÷©Ë²”ƒ™†:=Í=4ß ˆ9ÙÞ²žXÊë9æ ] Ç—çö«{Éà¾2±ßR†;zÕí¼ÐûP,T%ûHé_*
+
2”Ôè«(¦Ë…t)oÈ\’KWÒe9±Íg¹t4kD²F nQ•·^%âµB¡š6JápÙï[ Ã3sÚ3sÖ;}5¼ò]õL]Úµýôúµý×â7¿‘þÊ—Ö¿ãmïóº»ÆÖN¸×Žömé}f¸{Ëp׎áî=ÃÝ“£rRw¬×3Üé\éX6Õõ ÞÞ_ ÷ßž^nŒudÆW£Ë¡åµQ÷üð`mh <àÊ÷vfºVdºïÈö,Ïô®Èö-—6pZ®ÿŽ\¯½å]Ëm­Ø×ï·±Ü€´l—°L_gÚÕ!Ìè])¾@®§£Ø×Sè­¸]ÕÁ¾¹÷ÜøPa §<ÔWVt‰÷ŠwýáÞQú».ŸÛåpMº{w»]›;WlîëÙ2ìÞ41´á®ñÍo½gÛ»Þþâ¼;ñ•/æþæûð/çž|òêóÛê{'ë^=9;=}|zæ gfÎï«…CU‘ȍtI¤¦D:—©_Îà5ŒŒ´L:•7 ËþÂF&R@! @QÍÿ*6 SÌWÔà5˜ð aB±Èù¬-
+
�:@‹: €e� É‰©–œ0?5•]6Âh`c~Â¥g&šœ„ôŠOì5»©˜x9(Z2^ttƒsÚ„Ÿ3šôGNfÒûM™ôG¿¥œŒlŒ„ â̼ŸSö㘛ƒx™oLˤý2å”å䌽¢ÐýÒÈÃÑ夽|AÞž¥&£ ““׳™RF>Q„=<0%’ál&Y+f–‹‡‹…ÃÙìÃØŸIÍ&c’1‚¾…ïpXη9öñì»àÙwÕ³¯îÙ[ŸÙ[ŸÜYßõµm›N=öo'ÿã{‡¿ÿíÚ·¿žýÚŸÆ¿üùà#Ÿôæ#»~ÿmþÆó¿õ«[~íþÍ¿zïÆ_¹síÝãOM¸×¹7Œöoî[?äZ7Ø»~ g]÷Ú¾.±³a g}÷†¾îõ®®u½k{:žîmØZWç:ñšþnù2w¯xã“}Ot=åîþÙ`÷Óƒ=OönX=ºvÍøº;'ÖݳzÝ›ïZß=ëî¿÷é·¾yïûÚ÷‡àýÔÑ?ùŸé¿üråï¾¶ðÝoíÿþÿ­?¿¥¾}kýÅõ©}uï´\="à» œØ·ïÈÔÔþÉÉÚ¾ÉÊ>Qxk¾à\8:íO¥f³û ¹¹\¶œN‰sičŽU—J"›Žç3±|.)ŸY©j�©þá+Õ’—Ã0ê¶5&cNÊ•e1 çk©1Z ”ge‡š$o X¨Í¨ÉûCn �`}ÿ̱Y€À˜¶»²Ãóv}.:;¤1mS9Òÿzà�í‚¥€žiè!I7/a¦±M6´âÁ6ßœÔfû` OõÀHÖs €ÑÁÜü~™Ujsj²¶¼•¨¡þåzqøxsËRqŠƒ$%åd†´\^ΑSD2©b:-'÷§Œr2SN%#QHÆ
+
ꦫJ<^Å+ÑX5-Ìx«ïÑ€ÿB$Têž©úŽ—7o<ðè*ßývòk_õ|ö;z÷3¿ú–§&FžìïÝ}÷š}«Ç¦Æ†fFû=#.ïˆKι숎tÇGº’#]©Ñnc¤;3Ò™é6¼<;t‡°ÌàíÆÀm©_Hõÿ’áú¥ÔŠÛÒ+–eVÞ.­óMÂrÝË”¬_V蓺?Û÷&a9×mž;J.+ö.³³åÙ®;²]+t+¸ºÀDÕ!¿°l÷JabG´@£xoºãvc囄%—ÿ‚°”i™Ž_,ôÜ^ê[™ïïÌ»{òîÂH_~¤?3ìJ ôÆzƒý±áÁðè gd`çPÏÖÁ®ç‡»7O <îîúÉøÐ†_ùåíïúmßG?–ùÊŸ/|ç;‡ý7q¶ë{÷Ô=Ó—ý¾³Aÿ±`àP8t ŸÄª±d5.—–§²‰ÌbÍe¤2nB˜ $g‘õñ&²Ò…Ðÿ%¡ÿÕ}"²žd ÛéSWY€“‚ؼ Ú«J“Ë k €uº½�¡Ú*9Q�8iéæa*F ã5‚ë¥s2^et�t ÆÃ¨oÀ©ÐÇh°ˆô'ËùÛöÂH îǹBÌퟭ ›7Wö4o­©”«%ì—Q÷áÈUedý]Ì€É{®äd ¥!Abʶ¢Zf-—M ˧‚aäS)0XBG0vшæã¡\ÈSðM—föÕ¦öÍíÛ;¿oÏ ¿ç„wæ¬o楀çZÐ[÷O×§„ÖîÊæuŸ~üø£ÿ\ûûo¤¾òÇ3Ÿzxû<øÜï|ö÷>û¶»6ß·jýÝ#O¯v?9Úóäå[Æ\[Fz7uoqw=?Ðñ‚»ó…þŽí}¾‰ÁÀаàªáÐÄpxÕHdõ¨°ÄãÒVÅW‚ÅVK‹¯ƒ$ïš–¸{•xKhõˆø#þUCþñAï¸Û;: rÇ.w÷wïÎA×Îá¾]£ƒ»&†w®Ýyר“=+ŸèëxÂÝõÔHߺUƒïÛ|ßêMo¹w㯽móo¿sÛCï™üøG_þbõï¿yôÑœ|üÇõž¯¿¸«>3S÷ûëàµ@èj0t9=<5}`Æ3ïñÌzf*^oÉï«„ÃÕX¬“·@d ¹¦E:™H¢ H¨ešZW*/ó«¸Rp™T©–U 0È^6s^ UÈÙA¢�P3‚·TªóÕÚ¼ºW&5êI‚ýÚ‚¡P裬À«Ô·i`K¶À·(fÍÚR+îÃ!€ÒìK¤¸lÞÜp˜¶}8@[°UÿW­óþè ¦0°$tkÌ4èúpHÓ M6Z¦±tü3õÿÌ,ÍÐàÇ4£”çKssÅj­T“‰Ed¹æXI—«E9éSX¥P¬@·®\4"SʤþË99ÅßÈæ3Xx>#ï…‚GðÊ§íÆ“µdRÐßl$ºŠÆŽ"'|Á“_=¿ô]Ù÷âÅg7ž~ìGóÿðÍÔ!ø‘myû}›~y•ìæê}fÐ%8Ú'èþ®UW°¯7Úדèë6ºÓîžtwª¯#ïîÊô-OõÜžèü¥xÇ/·e{Þ$D¼òy¥à³½¿dôübÚõ‹¹þÛ îEw·ì¤ïíZ¼4ÐU‡ý¹ÞЩ_è[!Þ oÏõÞ.þÔõ�¥¾N[+º:„zWRŸ+‡º²ƒÒrÙþñs²ý+Ê#=¥áîÒP‡øÎ¢ É,/®¬Œt½ËR}+„©iH]ò½jT!ëêÌöu‹sb¸]‰!WlHÞÏé Ü9:¹zhûPÿ¦¾žu®Þ #Ã[î¹ûÙ·½uçï
+
|êÕoýÍ™Çÿó¥gŸ¹¼sûK{wŸŸž:åÅ@èh(z ™ Gk‘D1–*$ŒB"“—wµeåòÙU¨Ì·ngSªü“ã°D œ«LމìT¬)"}J/
+
•€m€sô@
+
PÉIëäEò€%'ÌO‹ä*=3½d-iØ‚3Žƒö€ºy˜ž[ñ0ÝÇKÎ:Ýß–5N¶°öú7æ¥ë~ädªûtUxs)ÏÆÂ  û%T¬É…e
+
ùr!].¤„I–Î¥Õ<9ï&õ5L„°²tÊ€''æã‰B<¡VR–Ó÷gÁÃñð‘HàH`æ„oê¢oZÎà êá@}ßîúÖç.­{òø­~ç›±?ûÂޏ¼ï…~ý¹_»oÓýk6¬~zÄ%¨{ýë™ÑgGûŸìØê^±Ý½rçPçžáîéñ>ÿ*whÛ;Ò#Ø)4Úé‰ ÷$F]™ñüê!˜ëïí눸VÆ”…»ïí^ëYѰ®å3Ûã½+ã}ÂÄI¨¿Û˜» oÍ
+
ŠOw…Çú"É{'¢÷Œîö¬Ú71°g¬o÷xß®±¾mcîçFúE&Zëîyz°÷©Q÷S«Fvת§î»÷ÙwýæÌÇÎ|õ+ ßùöé>zågOÔ7?SFëÑX=¹ä÷Ÿöx{<Çüþ£¡ð~p6ªFäýWX ÈG¤ãrNl&%,%ÇÇ3òžµ ¶,�2ÂÔ-i†L¾&Ç⢢Ê ä`°D˜y£°„œdW �ÌbÀžf™úÇ@çX[šÅ˜jÅ«¬Ö1-†9å$U]°!8Üªp
+
€¶`[� ÃÑdJ“ ó`æß4�Î)õ©cí2ÍÒÓ~°� Ò€¢Ÿæ˜ÚܬTÿ³³ùjUÔ�e`Rµ\¬€ô—7~å‹`êF±Œ¤!eÅ,ôúËû3"¿(È5ã’Éb"Y‰Ëž~¡ûEc‚þNøüg=¾ËÓÞúÔL}ï¾úî]ÇþóG¥osúsßòîw®ý•»ž^3´~¤o£»{çD¿ ß}£½ž±¾ÐØ€ 蘻'îêÊõåú{2½´×\Îáé\–ï¹£ÜßQuwU:K®¹®ÛÓ+Al =·\Ë
+
¦”—Û¾eBa½+“wÝ+r¢~èïÌô®HvŠZžë_Qì_Yè(ö/—5@ïí9QK¨¿ ”=ÛŠRµuëZQè]žwIq[4(�˜ú:’ÝË’®åpSA¦oeÚ%J‚;„%ºnUøJBú‹­øæ×íé¾ÛEy þU–=·½ræ’ø#åþ®RoG¡{E¶cYºãöl—¨gVdz;DìYì_ê ÆgFöìqoì{f|pýcëï»gËï¼Óû™-üŸ¿»ðÔOê{_”9›™¾äõœñúŽùƒ‡Ñýáx5/Eâ…˜kxr¼T:™IÇséh>“ƒ?YCŽY7 WcÙ¸8lc æ2ät•ka­F�èý�íLÂÂ#ŶÀˆ[¼�ÀÃóÖÌ„!Ï2“ž“Z3Žƒö 30SpˆÈ–~Ï©'¬ë×¯þ€^تaT`¶Ì,ÉYtóË1X¹¨2YHVó‡@Þ{ŸÏUò©J!!¶Š¥Ójf¿,�`Ie¹XM2%—ÕWÏQÉÇ¢Bô—#ò™è󡐩ýÞc^Ï)þBô{§åÀì䮫Ïm<öãG‹ßúfâ+_žzøƒ;üío»ïgwŽ<¹Ê½qõÐskÜÛWìœè¼=5æòŽ÷&Ü¡‰áàø ðؘ+6Ú²»#Ò¿RXl@(òɾínrÝ‘êZ–ìº-Û³\°±àä\ŸêÎP&H ؾàê*öu—„õ÷Tz…Éý¾î²«»èØ%¶Ek5Œ»ŠwIëï,õ;s+Ù
+
þÜ›è[.¾O¼oe´eXfÿŠà@Gx°+:ÜuEGû„EÆÜÁ w`bÈ318µzh÷êáí«†ŸŸúä°ëgÃýëïœØþö·¼øàïîùÄÇ}_ù³Ê?~÷ôSOʹC“{ë3ÓW½Þ³ÓÓ§f<Ç<ÞCþÀ`@>Û1-ǹD( F8eD“FL0jJ®•*ï5@ÖeV3µ²j†m>꿜/4:æ”3H(UÀD P2­¢�«A 0§Ê�Üa%½ ‹Ž¾¶Pÿ²�°eW�JŒ&ŒµsVjÅ}8lÅ´,ÌaYwâå<r«Â)�Ú‚®þ©Ûу`ŠŸÜœ �õæH94ÓœXª�Xd€åL6`ª³µ‚|âH5_6óŒ\·_rÊ\¥:[®È•|ÔÜP)ì2él*)u¿}jÕd¹¶s&«îÍÊ ”/”RFIðZÀ?ëó
+
øN×â¡zÈ'qµ{G}ú#ÿô£ŸÿôŽ÷üæÏî}zÍà†Õ}[V¹v¬êÛ3ášíö w†Dªj¬Àww&:Sýrî{¦OšÊ
+
+M“‡Tg{Lë]Û‚2˜Süï£ÁßÉ7L¾^Fß®}[[ø ܾBÖøË`{LË«¯-¾m¹gy¥l%lå”$Q9ô/3ú—§VŠ“){×Ü=áAWp¸Ï;:096°C=Ö`ÓÄàÆ;GÖÞ;±ïƒï ñ‘ÃÿüÝkϬ«ïÝ]÷̈ì%*“þЂ×_ôø
+
ÁP)™*˲ÏH%åÝ9#dÄÙd¸Z’÷þÊq¡lltVÁԝn c¨ôÇJÀv4�K––˜ú× �V`~‚l„ÑiIFš¢x<kT˜™hBºJz I€[8ã8PÀž�ž4ÛSJÏù’<Œò¢)@LPúEÉ$Œ<lÊý&›^ÖœAçü€—bíŠ÷´ £¹ûxê_ð3Üs·Ù””àƒu¶DH‰ˆjOÞ “ÉAǍÐ÷0<[Ì¥äÚÊ©¸`ì|Z.ã£æï©Å—qèæŸW«*ÏNOš™9 Öãñz<% ع㥍ÿ臵øÛÈ}n×ûÜøö_yâ®±ÇÇŸëªwÇ„{ç¸{÷xßä˜Ë3ÖëíŽHÒFÆV¤ÝXAQw“r¬+Yˤ\×2I³°U½'¶féLé±²}ÏÊ2Ùâ¿Ò·4Mu萏³0*|CºØƒÙ"ӐäO¹@\Wx°'0ÜãqyF\3£®©Ñþɱþ½ãý;W >wïš'ÖŒ?¶fìÉûß¼åßÚ÷‰dþê/ü¿ï{ü?/l~FNŠFê‘ðEŸçŒ×s,à™ MçCSiÿ¾Tp:²ÉJ¹(.=¬©j$Ó©¨|Š‹°œ‘®”ï¦á±Œê.²ïë€n91H=Q ¬DžÞH ïa °x‡ nU%A”xh€êÿ´6âÊ¢Yðê|Ëêä„÷¶p
+
�ئœ«v™¦•ú¿´TâÁdiæŒ6íç4éjÒSfŒ4TülÒ?*~ýT÷£ôhÌÆ0Ç ýæîh0”OÕbV‡;5A,ÙŒ¨éõ/ø¨œÍ—³Å|<Fý/î1&§gã±ÈÅX䥀çÒôÞK»¶^ØüôÁûÇð—¿°í½lzÛ›…ÊÜ8êÚ<°r÷*מñî}#3#þ‘ÎðH—ý+R²of¹Õ,ùƒµ@:Q:^&EëÍ-¤x ¼_Oß…Úº™Š–JH­Œ©sè‹X3!Y3hzšä°¶¡©‹~sk ­Ü³¬Øû¦|ß›ä„(×2øÉ˜ÏRnq낃Óƒ“CÝûFû^\í~¼û¶'†:7Þ;¾ýw~-ð鏖ÿö¯Oÿä?/?ÿ¼H]WýÁó¡ð±`hÖç/ù}¥H°’Š•¡¹|²šKæ¡d$2éÔü\-g.'"W±P· åVÞ3� ‡ࡤtRP›5�&'ëŒ ÌC5D´ `™‰Õ�°¯TBºbæ$'!-ùyThÅÉŒ‡QRPÆ«  œ Ž<L{a£ƒQéO§ýP!…ê_k59™É}ää*yžºZlM®², {|s…Š*�±d>_¬Vg…ÆSk|æEL&³raNy¿©\±>ÍÄ㥔QËdsáp!,—æœ}'ÞÆcÑúôÔÙMÏø÷/|ë[‘/~iê#Ùýžw?u÷ê§W o|aõÐŽ5C»V 잘žp{†{ýCÝ‚4ƒ’±ãî•©Á遒Z›\§È:àÊ»ÁZÜ4ê3ÙŒ39l�—ÜÂ+m·êƒãº6FØÕò U‹Y$È[ÕŸ²RüüØàJX3Z”@á.Q ¼8Þ/j¤­«ÜÏŒ»ŸîýÑ`ÏG^x×oîþàûôùìß|}þß;óÔõ];ê!ï•ðÌù¸ïL"x<\ˆørÞ©ÈÞ=»vÉl"• G“‘„šù_L%Œx<™J'LB\eÑ$—ç(ËGxB>eŒŒ»‚ú—·_)´ª°òÄ€Ž�P¦mÕá‚Ëâh––�Œµ3m“í‡o_98@,ÍèɆ&
+
šil³Î…Ö‰½Ÿ*~ÛLCó -8¨ø±³úû©âGÑO3 &É¥rÍ4˜óÓ(�Ô2êY2¥´OÅÂ9#‘O'“‰X(i¦˜ÍUÒ¹b,U EgÉñäÅlኑ®Ç"×¼“/mÝ|ü±GKßþ†ñç¼ñ÷ozÛ]›îxnÍÐΉþ©1W`´[ÈýøHWb¸3>Ô‘ì0»…¥äò81­Ôª"\b²?[´§„-[hÏô/“‚u ï‚ר,µL¥¶5 ä²)š1“µeÖ€iôfR!ùO~i*3½ ï(ò]zk¿¾êÚ—íòòí eßüþ˜Ìš?Gýõšæ7Ád&2Y¢Et #2Ôëß=ä_íÚ5Ò±Ù½bí`Ǻ5ÃßþË›øÍü7¾vðÑ\yá¹zÀ_Ïx§Lî*íÞ)ÊÉxÅHÍd‰˜Œ'à&LN>�T>Y@ZJš* ° €ÛÊ…ÙŽ°[„i `›¥D%€cbX@ø°°Âp;e7QõŒÝ
+
¡€V9‰òÍItŸò '#VÐs¥ŸI™çaÊÀºè×u¿ÎÉÈÃÛßì«é~iʇù0,p2H4�ˆ¶¢zä6<VCN¢Ë—¤ôÏÕCúäÔKyÓ¨ÐýÅl:/Ÿ´(ç‚WÊI#%BNìÏ–+óùB-™,BÏÌ¡pèD8x>+î<õ½».mÙxîggÿê/âôùɼÿùwþúÆ{îY7:¼¾Ïµ¾k¥÷®‰™q÷Ìp¯o¸Ó?ÔáXæë»=؇šÀÓ‘ì—=5ª\rˆZ5°wc„–˜…|а¯þHCˆÛm¥¾W·ZÑ­þJIƒ-¶­ 8oå*¨þ`iýkã†L¤r´¤{y´yl¸39Ñ]ÝZãÜ=â½wlß=ãOõ,ÿYç“Ãýk׌oùÕû÷¾÷è§>–úÓ?:òÃÿwì©Ç.n}V®=ò]‰…Ï'ã§ÓF%௄"…P´7æäójÙLÑHgK•¢ø&—ʩdzH^•×_Þ€³ƒäÍW8÷RÕ�Xè�νd•�ëjA·§qAÁ˜c
+
¢L§ÜVK÷mù¨€1ìSáür«Â)�,¸€ešE²Îy3ñ`Ö9«Tf H<ihÌÐȱ& :Õ‡J�“þ ûi¦Aõ/¡fùÏåÕ\u³¯z.Œ\-¢\*òél*žIÆ
+
éd5›.§SùD¬VÌÉ•þ“ÉJ0Tò˜òžóë‘h=xiûÖC?~4ó¿ðæ£Ûüõ÷Mül¤ûùU;&äðę̀˯†‰ wGÞÝQì̬ÌõÃDüî\_wÖÕ•ëé,ôvª®if `R­øÊ¤²ï—ŠVl•ú—FÿI7üWäz‹JV&ïP‹ÿËôKS¢ùú
+
�š'¨àkè~kí¿ L/¬€´Z÷2aPÀ÷W_Ûbø“ÕY‚_ÿÔüùž;dÂSw<7Rš»3;ܝè{SÌ}{txEh¬Ó3Þ½wUß¶5›ïýɸûÉûïÙú¾w¿üÈì÷¿{qó:ùTlòB4z4©M{ŠSžZ$6—RË¿ŠÔdÈïàæ¶tVd.ù¤çÆÃžÕ“qPú«u-ä3/ét¥ \/oÀü¤—82†ñáƒJŽB*?LKXÌÒ2 UNj•™�,'óp>r`‚2;™Œ‹ððyŠáZÃuoJ~º·€¬aT|D²±ÍDa(úA÷ 3«Ùf %dý û¥ô7!¥^~JÙb5STk+Ë{C«åJ&cÄb‘x"œLD’ÑP2&¬žJ¢ñr0<çôùOx}g=žz8peß‹g6­=øï?(~óëÏ}zëƒïZÿ–7¯Z?Ô·¡¿wKïÎÁ~ÏèPd|$51œéZ?Ú»,Ñ'™$í¾½0´¼2Ö™qÝÑ\1¹•5gi6çXÂp+¼�4•ÑPK0~fÆ]°¥ñōò$m·~J³�€ï¬-6| )IxÉ}‡Øuþž•ÿÃïº=8Ôá\»K>—fïˆk›»ëف®Mîžg†{׎ôozë}[øï'?–þß_ûçïž|ú‰k»wÕCAqÉNå弚ñfýrâåZ-òǾD4`$©XX\÷œ‘š«”afzÿÜ^DË�\b5�ÊìjaLÛjÐõ Uÿ ASŒl‘om B÷ßêLK‰Âá[[8€ ô2à*©ÀŸh²¡™†îƒ¿Úæ¬t±�'åzÒM@¨�Ì4Ó�›ðór
+
�IÅR5ŸŸÍÉÇ÷Âà ÍçD¦3鄏äRñýÅüb¾—ÂáÙX,;5YœÜwØã¹OÔ3Ùz$V~ëÙÿúqð™zøƒÛ~û›~yÕæUîçÇú¶ uïêïœêñö†ÜÝ‘þŽ˜K._Sì™í/÷w©Uq: =]ù^a=¹žîl·¼y«ØÓ¨™ƒsn³¿\ªg+›+ohh0ÚÅŽòšýHäC£iÇh/WKѯR ˜ø¶¢Ì0nƒªÃ¬=¤±äd 4“KiøåEE”tË-¤%3ébJ^žë–7O‹@škE¡oE¾¿³àîȹn˸ä71ÜwćV„G:|£Ý“ã=Sw o]å^7æzr|à™·Þ»÷ýïIé‘òß}ãÒ³ÏÖg¼õPôJP®ïT›š)ÌxkjQ¹ôµ¼[ØP÷‡§2ʰ�À�öKæR³PàŒ Vó‚Z�z@cŠÆj>–™0`1„!rY–Âð E`rbùÉIKí�ؘ100Bgc�ãa
+
¸‚@¿p­ñêS÷ ‚"†IBÈMݏ®( G±ÌRÖÂÆØÓ²�P2𸨲‘*_W&˧“s…ìÁRáp>,—=Ïç'÷V§§Žx½Cáz0('ïÚQnSáoþ*ö¥ÏïýÀ{Ÿýõ·l¼{bÃè€\5¿kùäH¿g¸70䊻’Ã}™aWf°G=´¤X·à¾£(h¤çËÿ{üŽÿN™ È$#—2[¡MÔl Þ¢h†}[ݏýèbË´x;¦«üEŒ~ªécãF¡Í±èæï²5qºŒÿ£Ô÷¦êà
+
QäÅv¼»0Öc v#݉¡îØpOl¤7:Ñ]åŒ÷M lìZ¶±¿çÙ±¡çî]³õoÙûЃO,úg_¼ðÔOë;¶Õý¾z<öR,.nq÷îÜžÝâ*Φå3ó™¹lº”ŒçâÑL"ZÌÊe9àánr:œ+'É…_  �ce�ø¤Y™òu™¡ ¾M+äXVè…”­úG]À€¥Ìø–1-¥ÜwøV‡S�Ø�ܲ‚¥=ßPÔ³“þÌãaŸ&!¦Kfš±è~]ú›ãw fs鯫‰B±Ñs`>^®é©v”7û‰J*1ŸJUCáâ”gÎ:›2®¥Óõd¢
+
мrúÇ?Î~õ+{zÏ–ûÞ¼åîñçW níÛ5âòŒ D&Sƒ™ñAC¤“á¾ÒØ€°âP,¹“\y›Pÿùž¹î•ùžQËõtf»UIÐÐÓË­zZ1¸¥\‰xÙ®øÚ…ÃĬ—èM2I€˜–ïm´4ÞkN¡Z²¹š8”1o±…ï³ä–fšN˜i@Ãh€CXÛ€µÊyf»<Q2É™Ÿàí<G{æzdPrÝQî[Þ\¼H”gÿ?{ïáf×Uÿßó=_ˆ-iúÛÛTUÛ˜nBHH!8bBH(!À� È/ „ЃqS³ºeY}êíåô~n¢fË–,É’|¿½÷ºwÏžsîÈ2$ r׳žñÑXš¹gï÷]ïÚk¯F?U—X-º¤P7’Åh_6Ú?ê™ö¦ÖÅ&7ÄŸ ïF¾nhç+×O|àwÅÏîé|¯±o_#‘¸šJ>33{"•®æ²6ix§ò<r|‘´¹Ãý[U@ÔiQ½@ÜgÀOŽCNØ2�™s_cc¾¶2€nXºÙ=îF�xM±â’‹ŸÜœtµEK·935~qåɾì{ë~çÝ8üü
+
õ?ì¥F׆#Žq„þ ·¹éK`xYÜO;Þ²¡ÿ2(&Ñÿ2 à±†¤áÐ&«¢!p
+
_0 >뙤zü¸vèPýÈñ3SÓ Eh3©‰Ë»?õÝoK󩣿óž]¯½w˺á-Ãáí1ßž˜ïèH4½nDØ´VÛ´Vˆ丗tãé|]‚g5?°Šï»Ó÷5û ‡û¬vÔV†¼¤rÇ4ý·�nÕк5ÛŠ‰qöÁ÷;>¥î8€/ùñå:ô¯$�Xwœf45O.•Q‡_Qõw™Án+ҏÞ=É»š¼3ßÿŠLϯ=«
+
Ä‹þ.Üó-6(ŽX ‡p¶áÐD<p êÝîïÜ8¾íÞ»þöoæ?ý‰ùÿúö‹O>•�â\ž?55];>­>ª9jÎ&ËÅ¢ÅqR.£K¼†]Ôe zÁI3a ©X�J€ž”±h?¡…= `•�Ý'ˆ û…5·�p¬fÝbàùº]Zޱ¼½¶u@Ó–¨f…«fìz¢Ä‹2ÃX¾š£kRŽƒuÄÛø¦E3θŸFüõîøÍPcù†åúeU@.)¼DÆ@*2's9½˜×Ói}z¶25s*™=—å.§r—>·ùã¿zìïßöÊMÅÃûâ‘©ñØôP(9äÏò12—*èå½ÎÓ«ú=²¯—ótúW·à¯O‹zä`¯èQü}ªÄÄ$]>a·§õ;°‚Û)(“oÆiœÝDp’ÿ¦ñ7Ý5£_úÛ–ÿ$/ù{[Ri/�–—¥²¹üåN “Zú„8üµFëîoÙ‹_ÀÝ0ð_ŽeISµ{™�Às‹ñ �~ç}øY ·c^3âÑ"xfBl@‹ô!%Ày× §&á<V 0äOļQïñ¡àñuÑíၝ㑽¯Ú0õ¾w›_þܳ?û዇4¸Ü3‰™Åt²šKW
+
»ˆ•ÉãQв,*DP‡;môX�4�È€•ê‚äDî–™€œ(?Q6£{îÍ•(Š2KH£Á’S[Nëp’‡Y(¦oÚύÃmA˜šÛFÿTLÒ¥E�¹M­?rºPièßj{Ս©5ãþ–¡Í¡I².ʦ ›œdòÚD&_Ô
+
¹ŠPœ
+
‹ÙÔÙTúJ:×HäÇ'ü_ö?}qöûŸxÛß4¾s(¼+äÙè;óO2ÃáâH˜
+
q!_~°7×»ý¢ ŠV‘#0Dá¾󔇼åÑ Bi.Ð]ð­AÛŸ÷u¡@!ƒì·M @�îÑ)=Ð¥ ‚`€¬ÖáªÍX cÒဟ×þxÎb/œ*·Üùº)€·þ/ցnX=�ŽðG3æ×¸UŒ{:ã†ÎFl½™å!?†ÖnC¤x±6WñÞUjd@ ÷#tűÂÉPÿTxàXÔ÷dÔ»3øY4ðÓñáïxóÌŸÿ™ù8õàO“éFVj¤ç’YDʧ8¾Îór&¥óx‚ΰˆx ›.ŠxÁ¸MÕ�T £J�$Qíg5²k{¹ÀxëFZ�[V�¸a¬-Ø^oÛb,k¼mkÐ4ÙÐåF—¬0j× X£/I<t?°»‚ÚiÂ:@6„bæççÀ[ÑÿâÜÜB}n¡Z¯!¯Ôð0/’nªà¾•žY.!‡Àl£œðo]`‚Ä�нý“¸_Bq¿ÄibÑòV>s‚+œÊ¦ÏLM¿˜Ê4òÅ‹ûZÿþí£ô{ßòºGÆc[‡‚G×çî^—Îú{Ф¸¦
+
z$?nÕoý¥p@óöéþ^|fÜkĽ@*¹ÁU±�Àówqý0Fq0»CÄÜlbf9¸ŒnA9džXL_ÁU=€øË~’k»ƒ?¨»þ¡¥KfÔ[ß Ã›EJ´X~#ø{Hô?@ÝöáŽx ˆ7«Z›ï‰K�hþ^ÄIH§IÞÄ^’¿G”;sããü>“à@òv=«x_õ!%PŒù]%ド±à¡!ïöpß–ñÐîßxÕÌ÷ëßüjãøÁËSGÏÍN=“JžÈ¤ær¹z¾X⊈¨$±¨È¸] ¸LFÈáfAšbè0Þ¾Y Ôt›\.áNA,3•«ØaýW[e¬ÀF @ øéÑ�,!±œÄ¾¦(ì% éÊrNrâÔ­nð[;ИšÙ÷¶í›ïÀá¥cy¾ßñEúuŠÌ×ý#ƒºËú|­6W¯Ö+È›«-×2¹ÂY2ÈGè{ÛDf
+
È­B¸¥Ð‡k¤?Dÿ8÷Ï %Ž+‹Õ|®–OÕ3³§3³gS'Ž5¹°u»üw_Ýÿ¾ßÝöڍ;6ÆwŒöƽdžƒÉÑpn8ˆ¶ª0ä—â~´sñ¤?Ah}刟lí.3Üc„ºaò Úõr°[ðw£ _õkC~s( FñÔžv‚€ÙÌ×4ç Äh6hn✵.µpã9¸Y½¶/ÍÛûò‚Öj¾ °ü'dø¥éDùZ؇Þ(ýQ<ØQð÷¢7ÇBo»›×ýÝôhšœ¾öX¡>3H¤"ÁH?NE¹˜7ȍÇFŽEwD·ŒF¶nÝyßë~àCö7¾Õس¿qäø¥ã’ɧ³éJb¶œÏżA�Vçx EãÔ$2 !-¾)®!Ç€vgÖšuAËNJY·vµ…´XUM9Õ�P€àÖ�m£7äÒÝG÷ãuâ- � Ì(>Pëàm[»}�<oJ6ŽOéâpð ]amÙ….Mú)=âÿY¦õú"3AcÙ�ùö³$OÍWNU‘×ñ–«×çëèUm¡\_(ÏÏc¯×£­iWkzµŽÜ(׌JÅ(Ùºm‘V`ªaÊÈMCÖqÇ�b/l!De9›IÉ<W2ôŠa”$ÑÈåôdÒžž:™˜¹‚G?f‡žúî·3ýÈÞ·½y÷+7=9<>ìòÎàî¸ý
+
ý¡#I[¸ÞêÓ| Xwãïÿžÿ’ÿ¹ëqú¶\Ÿãx½íï0=Upë
+
öüâŽÿéVE¬ˆ{cÃ`ÿì°b4xp]xïÆØö»Fö¿ý¾Â§>öÜC?ÁÝ-régS©ùäl)›Ô2I¹’¹’’÷ƒq’
+
Ñž!-‰¶®áVB\­Òz½ª›ŠnɤŠb[Z×e<³Î°Ë–Uµ1SUñú¯’ì½:‡÷±æ˜Ö„Ë•Èi%¢¢{–î\0ºÁ@™ÉMN`fØa±È X·¨9€—š©ý‚8ŒùsϝöÙg¨Ÿ=‹âˆœv@ñü¶n÷²w—WüãÅV›«#¶ëU«V2ê%³fZU³T1Qè_CŸÙzÕÒ+¦Z6µ’[7â\ ¾§©€ÃHuI&saEm
+
ÌØ%QáHü[yÁÎ䪩ìB*u6¸˜žipéÆá}§ü]ùó¤Èç•›¶Æ÷ E&GƒÉa/LSi5æÇ=+¡8btˆ}Û%8–os—“ÿˍ'I;âé6ç­ëÍw•~¤Zˆ¢4¸–Ù³èÖ»ªj"ô¼˜±èú“CþÉ‘ð¾±ø–ÑØŽ{7%îÿÀ¿~ýÊ®­‰Ã/$§žË¦êÉmzBK¥J‚PU“ÄLƒqçP^´Òl¢9ÙVU[“ñœ|èŠûMApÛ,•M«bÙU»T+a�©–RÝ/Ï•WëM§gŽ»ô¢0Ó0"'Ò:9EZ�^º£Ï_ón�E]jàe¡æ¶Â[‡u@›Bå¸YçR‹xÜÜC_œ_^c
+
€U·djý³¬Ã6“^<9W9U.Ÿ,Í-Í]›¯Uqôo׿KssˆrJ5œû/UÊV¥ªUjjµ¦VÊz¹­— $�t<}IÖ �ËT0'Um$ +€^œ®Õ+’$%üñãÆÔÔ‰Læb‘kp\#™xnócò—þöøï¿oïëîÝ1ÛñíôebžB¤—â–gÈ…HŸéWð¨Ú6!éÿ`ÜÙñÒIÞ+ˆ'þ hÅ(ø˜ñî l‹l½wÁ÷ÿŽðµ¿{fÇöF:ÙФ…ô¬š6S3f>ƒ[K)ŠX,¤Iœé”ñ§H‹Vqt•¢‰Š)«–‚–1Ò�H�T,i�ô§xpE¹d–+hå—+s•ò\­¼P«àL,-c5�=� ÀRS@9é S«
+
ÆÒÝætã¸9 ‹!¬�¸¼r}ª¹n-sà0}Xà¥ïËëô½n^ñCÐq?x[(fÛz²a ¼^V÷Û'ÎWë5Åv½Œ4€‰–oÕÄGUlmƒDÿZ¢,�tËTQÜoè“ñd Ò$·Š¾-xYTEÁ”e´5lž·ryuz¶’Ìœ)pxñr¾pqbâì®O?ô“Ä'>zìý¿½÷ ¯Üµaß¼
+
LÆ(Läq¬¿¬¶žž:‚ÑŽßî”+$ˈ*èC7;ä›  îŒû ný=3ü‘öÍxáÀž“Ó ¡xž/%0egÓsЬæ2†€O\y±P‹HhnАÖRñx¦ àc(܏ÕíŠaa·ðZÆ'WeÛFj f¡H@©ã–0«˜+ÂÍž¡@a¢8
+
¸ØÒ­Mw=k�,J8 ÷‚º·'Þ:ì6�Ö¹Jˆ‡21Ã8Ëìú釲›2¤ÇÊ`gšÕ¥ÍL¿3ÙOƒ~–iks‹äósµ…Z}¡:_¯.Tªó¥ZÝ®VÐn¤¥¥Nù—´R BÿVôO–¡±
+
‘4IärÙb!'ðEž/Š"oª’šN›ÉT-•~¶¿ÂñWggŸÝ½óäÿhâ?Ýûη>²näшo_,89ɎŹÑó±~1ÚòVEŠ[�°pÖñ[ס
+
g‹Ñ\l�â¤Æ"G‡‚{bm£ñ½¯]â>dþý—æ¿÷ÝFbêj6}!—9•J–ff­Tº&I'˝ãQÜ£ —KsÅ,¾Œ®‰9>+ŠB&¤4É4 r7X[6Ú�•R¹�Ë€Z³V[ @Ï©A kæ£\´D_°8 ÌÁLì§ 7=Ï’_Zb€2%'�+'ŠÝüæÆaSæf—¢î…å—}/\³A?÷»“/î, ›ìw„þÍh€e\ü︂…×%> ²L´\Ëx’o³ÚǶԒ©Xd(Žþ IÓq!\*•à¹
+
Ë*ŠZ*Ѿ(%󳉫"ßÈg/ONœß·çäO~¢ýýßÍüÑ~ÇÛž¸ç®}cñ'£þ‰x 5ÊÅ}¹ð@>Ðl]Àý+…þ|¾üÚ\éÖ�y_/óŠã‘ÂÚ(zô{Ã;Gc»ï½kß;ß2ý±—¾óoçöí¼43q>5u&=½˜IÌeÒålNÍf¥b_µB¢S– ¹¼¡Èš*¢µ§é裈Ö!Z“>ÀÕA6Rd.DjÖð•Â
+
ÂÚ2®º¬TjU„¶hÑãúƒ•4�È��Ì9ÀÒ²ÑÀ,‹´`°Ýèʾfàa)áâÀXöõ탷n»€›uèãwÐk¢æ º:)åе‹Ö1]ßý“€c)ô§Ó4È]ßeçËKL3¢ÿ
+
Dÿó\ajWkV­y¦RÙÀ䮤i[(Dj–ý4£ÿf9MÁ:ŸäRqÓϺ©WuE/æÅ™É“ùÜ…BRþçvîP¿ñ‡þðý[_ïÖõ#»Æ#‡Ç¢éõÃÂÚa.ÌùûÒkä蠐"xú#¾Jî9!ï€Ûց™ ‘_óh(2 ôrÃaaÃhb,¾/ìßöïX?ºë¾×?ó©Ê·ÿN&/§Ó'§¦KSÚÔŒ–JYgI‚ÂD¡`˜J¹ŠNxÈ )]E Ù0ðpKÊLD”KX�àÛ�H”[@P€“´+_Vs �Ø­ð '–“žuÉ�j,-QÜpÐØmEHmq؁À”¿ÁXÈ£ïçuâpÛè9^wôÏæþi¦ŸûI5fóBä|µB¼6‡~âr rï—úƒLE+–Ü·ÄVŽµLÕ6DSîk$SEE‘H¨ëƼ¬,ä9÷Ÿž™½L72©Æ±Cç6ÿÌøúWfø“ƒïzÇî{îÞ oíï=ðN†¼…xP¨#œˆ ’&®¬G�ÜÈ~m®t�ü#äzFñ*áâP( ‹w†½[F#Û^sÏÁüÿ•/œ|ôÇ—îo¤§/ÌΞM¥³™J.Û0Ȳ!)2/貤*γèx>£®ó¦Æ“5©´¦‰a @† ãëpyš‹ u^«TÑ‚GËž
+
�z-Ø¡™Y p²58ŒÂì’ æg™òiÆRƒíOñB °an+¼mk·�p°ûì©­DB,Ù°<DYç<sÙ÷¹åÍ=Ÿ#æžaN7 Ž—…þŽÄ¿[�šÁÍ5L18ú7ê½fëuÓª¥²^.é gFqC ýãš豈ƒ&U1ÙP‘ Ú¼U]4Ë$½”\(äN …§3‰†,]=|¸ò_ߝþäÇ÷½çÛ_½éñµ±½±Á£qïL¤?êçÂýRУúÍÐ`e8¤†qÁb—fèè¿~Pëø-ãͼTkò�;© ­ 1ÐÇ
+
áÁlÌŸˆŽE}OD}Ç‚¿úžÙûÿ`ùâîݍ™Ù+©ô™Äìé|~çæ$©ªÊ–*ÉÇq…W”UEV4EÅ#ntR;mkr_]!G�$;UÆ—à[Ío2 F.¯$�…@ÀO”¥€–@�À¦†×¬ xnåËj\}€œTDcâ[•Š®ÃfAø’«Ý'}c¯‡áÀ]ùãˆû马;úgî;6ã~ZüÐló_Ã×%‘×J6dýK6›0 ãáŠTa"G:¯` ·l×eÜj¿x“çÄéùødebò|:ƒÓ1éô‹û÷ðlj|èè{Þ¶ó•ë·  /ä?d†câðöóÁÑ×+øº¸Á;‹žWˆ¡UÆP?¹nûAŸo¿öSp �)ԍ=Ð%ûÖý«øUJpÀ £ÑäXì©áÐæ˜ÿgcÑ]o}]æã¶¿ñ•Ë;·7&&Åâ¥|¡>;«NÏh©´ÁñÐ6wüS±«
+
Bä:iÆ�EA­f –iãh.‚�í¼VHÿSÍL5@«h i©  æÈHKe�«XÔuÀ,ÀËm…·+Ùm*�Ú²5º>Xâ¡´Ý–o¨Q¾a(§ilôÿ498…{J´ïý{jsuÜð§6WªÕ­ZM¯•µº­Ö $�ÌŠŽ�¾iÂ^%©&]Æ…}¸©?2]Å“âu$ìK²QäR*k?~zv¦Áå™ä¥ûåúêìÇØñ–7þlíЖxàÀh01âÖ†Ìu!-Ö¯ø»ßÕÛ ®ùpÓ< ’8z | ¥ŒÔ® m¿œþÙaÌ(
+
)y0î5„øIèc!a8ˆy¦Ç¢û‡‚ÛâÁ­w­;ò»ï5¿ö•öìjä²Ï?¶pìXyr²œI×È%¶’†óý¸K ÈA�Š ,•è&)TÅ©V\‡O¨íÖô‹%�J m!5ZDÅ€ƒ[Œnüç®)�.´Ó�·!]‡)üR£oÔ%¿Lný»�ÍËP(¦L“ýË‚þVÿRÅ,UrÅ$'±8ƒ›/4Fr_]‡;XšŽ0ZƦŠÇx¡ðË8KàJ\±RÈÕ³é³ùÂå|¡‘J7<ó“?ó‰½ï|ËCFp:&î"ì=ò&c!a(ªÅ#F48?³Â Îþ.#Ò£Fº�‚wvÀÍå×~
+
Žè_õ«ÅH—54Pñ–£ý¦áí2ƒ½ù¾U|ÈÍF£Ñ'¢ƒÛƒ[GÏ߽6÷§÷k_øüé~ïòþ'ÉÙŠùSÙ´53U-æ->oEMæì<>Pðt
+
�7ªBJÖÆ€Ê€2@Õ9(€ýô@À¥–!-›sqÈ�x)Ì:”�Ýþ(V\¼½.+Ùm'�蓾Ú"X
+
¬½$å�ëÐÕF5¨›u¨r…ˆŸ]ܧ›->ÛgýÙ¦&åÌá"»V‹‰ŠQ¯èßҐ�¨èVIÇ}Q ÕÖ5´Ou0U#ƒ•T´…ñÀ%QÕÜ=ÚÈd«ÉÔÙtªÁ¹LcßnûŸÿ)ñÀo¾gÝŽõÃ{Ç£G×FSëbÅñ`1Ü“÷üš4x‡äy…æ_U‰ ÔG¥¸O H^,�¨r]¿:~k;pÿ€Ó;!ùþ;xïŠ|°§è*„ºóáy<(¬ ‘¹/ây(8ðȆÑýï}×Ô_~ô…Û_<~¬‘ÍœÏæÓÙj¶PÊ‹FA0xI%$p/kM…fvÈÐ"·4÷²Ð±úµl|4€œÎZrh�PJ� n³z�ø‰%$0ÊI`,3=ëêD ‰ˆƒ–h¤ tË3ÃN¦oE[¾¸rÜ}8¼tÙ×Ý}æb܉6úwÇý­F´–YÑõªb”5³„£}¤MqOOUWLU6I2­[EÑe<ž ;/™EÞÎçky´Ô“g³ç¦&3SH Ïûß²ûð“oyýöõñÝ£ÁÃc¡Ù±pv4ďE屘:CÞâ@w¶ëâ`w±ï®ÿ×QďÂAc¨_
+
­á|wn›Ííé÷ÝîÞÔ¿Ñœ�ú¨— ue<¯(zîý«´Àšæ¤Ë`BZ!äác~´ZŠë‡sFFõvm‹|ë}Ü_>pê{ÿÑxjß‹³çf'ΤgçsÉJ!Cd�Ï‚1–tb€³)|C�Æ5šx=k¾ˆ…^
+
<L»l@Â…öen;•…=€ÍÅd]–¥]J€j�ØÎ,Ò²€âíKBî톷+Ùí+�è#oË:ìZa?¥‹ÉM9`mY‰õ›F7úbÛèyÛ<.jhö—À=æôš­UqôoT ÃR¡€ÈÄoœï‡¦^pÞ,‘É‘œP.çóÙSÙÔ¹ädcf¢ñÄNû¾¼÷o~p4¶m8¼(81N¯ÇBÅè èV«P—ì²kÌ`·ÆA¿àíüýj×i~úëdznðOÜ [¿h d@Ëñ`3æ×£5܏'ÝÄ<J¼_Œö
+
áîÜÀÿLJºäq?¿!:»>v`]dǺø#›Æ¶üÆë”/éÒÆÄäsǧžžÉœÎðsY¾\ä,Ž3xwET$IS%¢d•Œ¶QTœRE,…ï¸àfAT�84�û)UÈà@�ÎX@÷,ݹ`ìg™‰‚ƒ™Ú²k· 3­„Ãì[á€\0GÐvý8ÌýŽ‹¿lôO#~ö ÀŠÑ?¾n¢Ð_«ÈzI5lܯV3dRw‰BâÎûkè¿’dób™ËE¡’/ÖÒ¹Ådê™ÄÌ…©ãWnÜÇ}þ3‡ßÿÞG7Žý,ìÙ÷ά‹¦Çƒ™˜'àQTò!ÜqwXyÌР4ÂÈõP¯âï’¼«QXв{Óî»Ý½£;~£9{ …ºåpí7ã3‚èeßôèa€£À…—~.ˆ–Í`!ê͍ë#ÇC[â¾G6 ýàoÏýÇ7÷^:üüìñgR³‹ÙT•LiÄC !-ÒºÄ# Á Frv%«’¢5'¸¦‚g³@à 2¢q¥Iíô€
+
�šp¡`눑N/×�f)Ò‚9`ö¼«AêÞ&x»’Ýú�žß‹/ÕgÚÁ:â¡”C9†®3÷PÖa‰çiRñÏÆ T °A?ël¶‰¥™Vª©„Ô6î}^ÂúÛ²ðÅ_SÅ]}«6z‰iIRxNÖD½ªÙsš1Çñs©äÉÄÌóÉ©F!y~Ç£…ÏýÕŽ7¿æ±ñèþµÑ©õC‰Ñp&îÏż¸—˜Ì1 ’¶Ä8©@&¹ÉV$ÂÃMßÑGÜàå~ónðêø-ì:3i˜|¥9§å0. ) ðù@OÒÈHc>Ú—Ì{'Gƒ‡ÖF6Ǽ[6í~Û›RŸü«gÛÜH¤¯&r§'gR™r6gç ¶(˜†‚¢+N‘²|‘S\\OTÛ¶Ñ×E!Ál m`5g-9”�= ç�¬ 2�øéS´ÊžЍ–‘”“„D þ”ÂN[Z¢ÌDáË s7°¹˜ýE8Lq ;Þ.
+
¼ŽO);à—DÿëÓ¸Ÿfaސ™ÃR(¦ÍR^¦%�×æÊ*‰û‘ø$“ÔEœû· ý ªˆ–eÅÒ+Š\ĹWMfægS‹Ó³¸ÚG3g~òýÔ_üÙöû^½yýðîµÑÃcáé‘`vØÄÇ<��€�IDAT[ˆ ‘íìÅ-üC¸»<AE‡ÒAààma¹ƒÒ7¬³Á½ûONð?n䔂[¨»Ìa, Ñ^.Þ›öLz­ îÙßþªñGî»ÛøÚ^ر¹‘K6òéÓ3³öÄ”ÎÎ+:BÚ9E©iºÊóø®°Ž/^ñ¢€]É12¨wdnzkL;Õ�t˰¥A´ˆÞÅ¢HKC#ˆ”X˜¥æÆ[ºý) 0‹Ær,̶EZ0Þ‚Q(sbÜMk·�¸N¾¹èºdÜC9†%ˆûÁ¬Óªhü8¢´ÜiÄÏÖüÐM²N3ú'3ù`ƒ!Á•7©1Õe÷ê²ÊФæ³IñmH»4_™Ó91t‚?pmìF!ߘ:~qÇc‡þ샻ßýÆÍwïõ[J³QOz° Åý$²‡è¿ ˜˜žtÂ×µN¹1«ã·°ë˜zlúØZt@&�K@Æ$#œ›S‘ (D3qïÌhàÐhpÛphËÝëüî{
+
ŸÿÜ3=ÔHg®æ‹ç‹ÅÓÅB9›‘3)±˜CAU©Vu]+•4 w¿-Õêå
+
â,S”$�L<ÏfÉJ%Ü·®­�@T(9±Ñ?0“#/åæ$*�¨p’Ã(ì8˜ÉAH”“n¢ðëF`0¯ÅôrGü׃Ê!ëï�î‚ ;r1lÜO¦ùâ¸9/rHyâZˆjI1UÕ4ŒJIµÍ¢ÄùœÄçälZžž,ÏΜLgžIঠé©gߪ|ýkûßÿ[ß³vËxtÏHðÈHpzØ—y¹˜GŠô«á^œ àä.-ëgö]+ú'Ã-?þ SÀÛÂr¢oXYÀh}lj S8ÛB¼9Œ™|3†Y2Œy^#FºòÑÞD¼obdðÐúÿ{Ä¿ýͯžýø‡Oýô‡xܧ$?=“25'g¬Tº\älQ2$\{)H"/HPxÙlDî—MrÝÅ2¨`Ç´S%@‹‚`gÞÌ:(Ò^�˜»¶pÀì%Ò‚Q€Ô¢¨ 愹›Önqààž«×ì3}ÉýÓåBˆešg—4Ãê¤A?5GôOC
+
Ê7ŽpßÁ:K|wËHèdpÅ¿·¢,«ªf¦M6'bIç‹™cÇêEîMoHRcvæâ–ǤÏ}zÿÛï;pß=»×÷Fz§FùuAeÄ‹"0„8‚^ìAo†n�(xVy ç¹I¥Ã1·§£UaºlúH`82Rt-±YLøK@g*Ãþâh`jØ·Ô¿e,øÐ†¡ï}»ôÅÏ?·ãñ珽’É\(æs)=“T
+
9EyQ(Ê2'kEIEŽÛ•k²‚;™­Éö`нn%�B€e&–“Új�–™žu ¯¡Àâ0Š<Û]V[‰“n|6r#0ü
+
+á0û>Ð7‡R8¥vJö+á0‹Æ` �N0iÍO[¦ ìHö7S0¤¯'níÙêëß¼”b™‚"g¸B­LCÍ YE_àJ2W²'óé BáE.ufÅ[ÚßýŸ‰û߿덯|t$¸#:09*¬ c^1êQ#¸°UûÑnÒÝ$úï"•ýÒ_Ž·T wã³{Û¦»Î ³ãÿ«Î
+
€k?ü ‘�ð÷”}=+ €Ìv¡ \ ®F.׈Á®b°;LŒøŽ¬î <2Þ÷ÖûŠŸþË…ï}§qè`Ã4/¹ùtÊLÌšÙ¬!piÑ
+
Gˏ«À¯0Àâ£�whÀEȸMPS€�à¸�ÛŠÈ€&ð²‡�lÝÙ–•ð–¦�X°¥Æ
+
�0i)
+
½ðRx{õ–Ó�·²�hË=+Ë=t•<ßÊÌÑO)÷¬Ä:ËÉf)ô§¢–®ïVåÛR½)å´[ÜÄ{ Çý6î{‚›{âÉ‘²‰KLÄD'ˆ²T­×Hи¼žKT²‰SùtCâùÌÙ­›…Ïîà{Þ¹sÃØÖ`ßÄúÈ̈79Ô_ˆõC«xïF¨«>êÃÁ€ W µœ bn I8ÎÉ^êu@Ç—œÈB|WÄÀ�k�P4–ب h¾FtåE¤…œ0 ÕUìý5!°Fä7ÅwÇ÷ {· l}娑û?ÿÒÏ>úR³ ;WÌ—3ÅɉNH¡­Q6JUNR9QӍ2¾Œ'ZbjB¡?|¼ö!�4‚П%§•8‰5-¹5�²•¨ˆ}}ñåœÜàTäF`°•pØ¿`@á”Îé›É¦ü8ìý[yÜí‡Öü€��^ ‡)Ó¯ÐТúãû‘ºZ®VPT$+
+
d]Óq§Ï‚”OÚ…ä1wQÌ_É'/ªôÐSû×HÖn¿kä¡Hߎhÿ±qqCDõ罫pŸ‰<ØOBr˜æïU}þÇUsÈ—�Ñ�®ýˆgÝîø¶ë 7;þËñ—%�tRrIÒpM"†ãÖV¶ó5žî’#kš\ƒ×O°G t‹þ5EW.Ô›‰ô!Í™Ý;:z<ì}8züu÷>þçÏüä‡WŽ9?;{.—=ÏÚÙ¤”I‰BA7ñ+ÜŒ­ÕŠ 5 w
+
�€–ÑŠ ØS- €Í¡2Àscñ@À!ιN(¶8–˜o¯¸Ò.78ð^§Ý²€>$ñ€9è]î¡_¤  ‹å –x(ë £ úD+ôo-÷æ¹3džh’ÉúÃFB[‹\ÃWðõ225ÆPdä¸=¢(ºjk²‘KÛ驳…dƒË4øôÓ›:ûÉ?ßþ¯x$²50x$ê/®‹MzV"½ÊˆGŒus¾;x߯+¾;eÿ*(î‡,B+ôožbèi
+
�ìnFqû5è§ã·–7kú饿êuJlP�k�=0H2—8­eùº-ôÍþ®B`uqØ›óNxŽ n}õ݉ýAýÿxuÇÖÆÌ䋹̳…|9““I•çÑF1M[5QP^!ä„T(ú§J€Ž°¡Gô0+(9±´Äj�ÖÚÒÒ3ÌÄ� %7±°s frpÒÍÂ@”5Ø»Ó÷Þ"ÊßÔhè¶ÓÇAP+³TðÃú·�¯´ ýW�H^Š¢(Ë2Zcè4‰×ù‚•OâsÏåf.%Ž?ÿÔÎù§ðÅOíxß;þsÄÿÄ]CO ö$Ç|™hO!´ú{W›Á^;ЋöŠûu_¿êëCŽ»è.�àø4�}„zKÃ7Z%víQ×eBaç5ÂÍŽÿrüz�K¦ô¹7}Y™.DÿD�´- %ܯ†ûõP?nÛíï÷„C}Ó=¿ÆÇ}âx$3ž‰<9Ý1}tӺُ=PþÏÿxñèSLâ™ôt55­gfÅ\-l|@º±©*VM!@vÈ�z€|%@»/°À!®oaãPpxށÜó®¾@¤uÈ�ÞR4£á¥ïn6»Å€ƒ{¨¹‰–Ë=ìZy~ù�–xXÖa‰çÌò�÷ÓпeKÕÿô踇 ýéY34•Ó ´å$D/xvŒ$Y¢¤sbIV*Š\)äN2 …k$¦ž~ä'üÿùā÷¾ù‘õ±cá©õC™ÑH!<ÈûÔÈ€=ê3‡((‘nkhÀŒö
+
ž; p´Âýf:a¦45�S÷ïF¨•�ëz¾¹ã7µC”ÏÔ'@rNŒãï„ëØIú¿uÐÔ�õèàâp ìûïýk„HO.¼&é9Üõn
+
í{Í+3ú¡Åoýߟ|¢ÁåϦS¥Ä ?9ɧ“¦,ë²"s’"á¾@¸V•1öJ�gIOè�ˆxíÎNQ@­--µÕ�¬ �x„¡¯)39QŒ¢œ„ìf¡Ÿ¶Ñÿåë��¼ÔÑÿ5px)RX~ËüÐäË<3¯Ô}óŠaŠÃô�ˆ{[š*󸋢! r6­¦fçr©ç ËÜåCû¿ÿùO~tïÛß°åž‘Ç7ÄöŽù§Güéx??æÕÇ}ŠÕàšR¬¿6ä³ðEš>Ó׋g­è_ àˆ�MoEÿK¡?3ƒl4÷&mýw4Àà/W� GæxîÄÉèv·û¥ˆG ÈÉ@O9€›Ɂ~{(ˆ¾^ðõò1?·n81C2`ópüÀ;ÞZøÄ_T¿ý¯Ï?µ»!æ/)Åjf¦TÌX|7Eá¬J;2/ ce�= ºº•â\J¾Ð£W94�k¼¥Ûÿìò¡,Þž¿ °ÞR»róœ¾^Ý²�K?ôYÒÌ>uJ<”{芡ÜÃRK6@ö`mYç$9if£Xè8õ´¼Ô‡Fÿl h¦•j"�‘¦XªT’Ä’ Uyìµ·˜çžÉd^˜š¸´gWùëÿxì÷Þ»}S|çÈà“CžÔÚ°¼.¦ ù1‘øzÌpŸX]ôÞ™óÞÁ×h±~sxФ‰ášéÛ&dž ‰%P¸Ä°YËq}€å¦¢ŽßrÞ¼Þ’ˆp<Mî,+·.,’o€!ìK`Pî[cö•{ËÁ¾ZtÐBËÏ{§ìRÇùQÿñ°gO oçhìð;ÞRü̧Ìÿü÷Fj¦aj§…‚’œ±®,KZ‘³E•!á†Ôh9[Dϐp �Z äDiÉÁLtï³2�€ƒ–€™(!QÌ¡ä`&7'Qp»Áy¨-ƒµÅaø­PŒ ˆœ�׃ÃôÑPf�ôSw�²;PÌb2„þ8îÑ$[ðòÃYÿL5—>'r ¾peâHå»ÿžÿä_zÇ›v­o\½{àζwÅòá¾Ìàyߝrp >€õÞ©ùºdϪæz?Îý+~ÜyÙöá>æ$m)ëO£ÿVÐß¼ eµ;¡m÷·€½=€wü—æð\V’,““]zŽl²?²¦•òo. ü—Ò b°—ǽ˜}Zا“ÚK%èUC^i°Ï xL_¿:Ð-{ûùà@.ì)ŒD½"Á½cC‡ÞöFî³uæá_8vàÙääÉ V¶Õ|®Ä-ÇÃìäBŸP<oh™ [”3­BîȹP˜¤¥` ›6r[¼pƒ- ‡X iÁÜx Æ
+
�0'ÞÝlvë �xf”~ØÇì 0J9tÅœ_ýÃ
+
£LCÉžRC6M[)úGÜS­Ùâåj©\­€#kå(§Ì¤˜½&¥>(Ê©Šâ'œ(ð§2ÅS“³/$ҍ㓋ßùÎÑßÿ½­›6m‹{gGQÌÄÅ<b Gó÷šÁ^+„ LqdéCq¿î/xVqÞ5zÔƒùƒd•%Ë5@³LˆöpCëp;ùRSB8#j+�àžbK�Àk^ � P‹GIÝwžîjxÀô®Ö<««q/?p‡6äµ7pãÑ'ƒ›ý›7Žoû›r_úüåCû¯dµã‡òéy‘׳!fÂCƒuíp´ƒÐ®B[
+
7¯0Lôš= `+‚¡×@K¬ �Zr0“›“@�<ÝÒ�4`… @ PÈMKB¢°FîÆTn¾LB†—á0ýÅ€ìˆþ©�¸ScyñäÂübóЕ�µ9ô¤KÕzsè
+
uXK‰K…ûWða2.ÅÔMLJ±¶,XÅô¼;QÌ,&&Ï'&³“'~úƒcö';ã Å‚[}}ÓcQõ®1c}\Ž{x_—íG¸jE¬XŸ4¸JôÜi‡û+q?
+
÷Ñ6!Yœø×CýV¤}à°[�ÐPFÿÐŒË ¹¨!ФÁÛxÇiî S«º@³ÇZóÙa à®Êôc+úµ€¿Ÿÿ‡<Œ�D�A.�%¿§ö×cAÅÛ›ë_ÅĈOЦFcOÄCÅýÛÞøjþ‹sq϶ËSGŸ›:“J-äò5޳y—!ÈŠGŽ6Ï]›µ@¤G¥É¶® ǯ‰°J6rǹ+Øú2 @³-tŸl‡·T�84ÀÏ'�.¹ð̍ºN¼»Ùì�@„mY‡5ú¤áñ/1ðòZöS6íKÍM?ìXZlêÈ6-%™ê¥Ú¼UY0Jó¶5_1çêVuÎ*Ï•ÊuˬԫsˆyE‘Üß*ÐWT<OF.)R‰ãj…â‰\öôôL#“oLL=û½Ìþá‡vßµéɵ£Ó›Ö¥×çb^!2@ïïRi‹8­/BFÖY³±ì›[W9éu¼ãoGWmþˆ]`´#‘Ì·1âý)ŸÅˆ7óÏ ŽEö¯Ù²~l÷Ûß\ù×o6’ÓWò™ÚôD9—ª©rMQ ^à¸BA,òª,!mëZYQ+šR1 ܽºá U<͉tÚ­’áöXÔ±×æê5¬p÷º…ùúâÂòxkãûÁ,9Aô–Ü€¥¥ç]€KKÈT Çšÿ— þQÊ‹ôÇc…bü^lW~Éâ0¼iô}{Žtú?ÓÊü³¡?ûú$„þ‹‹ 'ë'æÏ-Þµ:rœé¯W*óåÊ| A/–µfß´ j•:ZøÈÈ6HÕ¶TËDx,(*/«BQÊùœiÈó¦^ó'äB=uü¹ôd#—¸´åáÄGîß~ïÆ]†® ÎŒøSCÞBta2Ÿ2+Ÿ–Æ-Û)×ö— Ýÿ ûÿ²—S@Ço2o=Çfª®õÑù=ÌSfÛ¯-ÛÒe£`Q‘Vˆz CþôPhr$rpíÐîMk»÷nëkwi÷ÎF¾ð|._I¤•DZÍq¶¤Û‚V’’n†…6 Ò�¸K¡Èc(F®)eC…èß,W£x¦V-ÏÕ«TççjÈëøcÓA¥Ÿ˜Gޤ;rV À6Œ¥Ñ¿iWÂ[j,êºõ�Å[Š]�eèÀ~U¨û‹Û­#�Vb –uÜÄCü…•sÿmCÿgÚEÿ„r– —qDÿl)&žš]«£Hß°çl£^Ñ«è“9»T/ÙõZe*˜IQPQQɲuUËå2ŠPœ·ÍÓ¦¹P(œÉ¤/e3ÄÌÙ‡–>ó7O½éMû׍‰OEƒÓ¡Á,©ÕqƒEÇ;~“ºAZÝ)X  (ª94`8x Ø n»÷®É?ýãڏ¾×HÍ\â²Æ±CõlÖÈdPœ†¢7ÄEœ"‰²„³PŠ‚@Y×KøL@#å@%<%Ì.¡ y1€�p’£Â�ùÉùÚ"Þ×8GÅ
+
�DKgp"`Yk73Aû%9ÉAH”“(¬]^ÎI¿**bá—b¯~Y£¿àµq¸ÿ7¹Ù3ä Å-^2úÃéëü"Žþk‹U Åè9ÖêóXâU*µ2
+
ýKu«T·ËU G&(ú'sTjvµd•M\Ä€[/˜–bâÞkR™È€rÅ(•]Èè¹D5=[Ÿ9~‘K6
+
Ógxúãyôž [âÁ'ã¾caŠû³ñ\l ÅëÃ2i{å^áïø âHHÁ^|àõ`õ&c$žZ7úèøè±|@ÿæ7žÙ½§Á W {¾((ÓÉQ· ²TDQVTÝ´­ª]š3­ªŒs1UC.d[ ¤«íªmc¤EáÒ�óÕ
+
øB­Š>Å…y u´s›2 ÝÍ`ÀXj°½6ÞR´¹N¼¥ÈFCÍ_!êþâvÓ �–x®º2OnúY‰lVâGèÏ®30úƒ¹GÊÓÐß‘þoVüW-ä¥J©aL7VµlT*z¥nWMYEщmi\1/ò(d1$i±V.I¢•IÕ“‰³Éä•™©çv<nÿË7÷¼ûm­yÔ;p8̍Ƴ_>< ;IŽßJN.\æ#(®ä7 ¥ïßý(äÛùÖ7©_ýÒÕ½7²ÉséäB&ig“:_Ðt m'Õ4D_ €¸®Ôëºj긕u‰™bÓº\Ç" F:„’œ1މXÄ[{‰“À€– �rb5�e&à$È/œ_>ÖŠ%'JHnN¢Æ’¥¢_21l¸¬âŸþð“;~ú)ä•p˜¾uÏ’Q_T��2S>Eš.€5Cb~ç* ¥Å¹òB­¼XÅ1¹ˆX&˜‡q¹?R€8Ai¢ÀߪXf‰ô6Qu ·[6›½×J†*³r.YæÒ'¹ôóBºÁg™©KÛ’¾ðéíoz̓ñà£ñ̦qnÝp1æC«Tˆé×KÍypܵ“ôïø¯Ö¥�® ‚º_!äɇ<™h`f8²/ܵ~íž7Þ7ýÑjßÿÞ…ƒO]˜>—ËÎ'²µ¼PWõ:Žg*²b¼" ²©¶ª[HD놉ë.Kp!=Ù¬jŸàCWò避ÇÖä`;-`w×^ÒЋ‚-à-ØJxËE› ® o)ÆÌ‚± ÷+AÝ_Üne@KB¾aŸ=ý”]4ú?ëêò F_+ç´,÷φþŽè¿Ùê‡\>´1óTÐ~@±’ÆeÝ6$q¢"D6²Ä•Mm¡dΚ]ÈÎç³çùb£˜o=|êÇߟüðý?‰>å6Œr¤ÏèüÝh÷º·tÇ;~ózë„zY4
+
ªýwã‘üƱÃcÑí#áG6 û½÷ÌÿÛ×/ØûB6q^È—“Ób*¡Ë
+
úEU ]± ÕÆ³ô@�غ†B=\çmÓa–Ð §ˆA ½‹œÕ�´I(ÄšÀL{¦üÄr X)'QZ¢ÆÒàR[N¢ÆÒÒ¯ŠÜ{Áè/B)¯Ã€À”чá+–)³Ñ?�rƒEö✹P/!ÇÑ?9_­` .Cô=} ׆¡õP±të놌�®¼4p“\)‰F6UJÏœ-¤…Dcöðù­V¿þå#ïzó–áðf_ßäÚáâÆñd` =ØmŒÙ›š”{2îÞñŽß8®ø»T<~Žðý.ìÉEýâÆµ#±ÍþÁãá]o{Sæ¯?~ö‘ÿnp™³““ÏŠ'%±&I(âÇ…@²)Jºª HÆÂƒY°°L¼Ãl|½ÑÔmÚ$´U{‰veÓÙ±ÁD�Àvvh�ÖJàÚxKá�ç%ñ–ÂÚR”麅õËDÝ_Ünz�ï;}W[)Ñ æ 7åÐ%â8 dCã~&ôÇæŽþÙÐßý“¾#8û„£ÿ2Ä6>3Ì’a*²ˆö† ñ‚T¬Ï•«%]Ê'ÔŒ=qäb&ÙÈgŸß¶¹ðÉ¿zâ-÷íZ?²3ì™ ‹ëcÊp0?°šë¿Ó X‘~aà÷–îxÇo^o•±BôïºA3D9؝÷®žê¿3ódîyrÄ¿=6¸ï wË_üìéÇ~ÖHϾÈåçR³J"¡Šš¦Éº!Z¦d[H(&�%×§¢M§ÙM†²pH¥„bC2þÅGÍs€æñ4s-˜2Ó)€º5€C¸9ÉÁF”.¸8‰%¤®®PuÉ‚0‹Ãô×aá—š‡!å!ñçðÞº ¸Í @}ΪÏõ¹R­nãÊŸj EV¥ Ž@Y³á©[¦ZÂ×M‘�Puý›ªRE-‘8],4T±‘M\zü±ú7ÿ~æ÷óÑaßNo÷ôP@Ø0*Ç‹!On°›óâD ¬ÛÖ]Û¥&ËîÞñŽß8¨Ð#„ú…È�ñâÁéXð@Ì÷øHpÛ=£x§þÕÏ7Žío3çsIk⨚L–dÍÐlY1EÅT[Ô,™šYÒŒ’¦‘û�¦]n¾‘>¡#A™4=€û��¶ @­¥–Ž®·r)ê^o) ]^ŽºW~u™—_Ðnqà`j,÷€±dK„†þ¬� |CɆò Û[š­ùYªû_Ö[º„)ˆDÿh8ZË!¾ád|ÏÌÔÄbbR˜>vN.6 ñҏË_ýâþß|ûƒñàöÀ@b<¦Ý=Z õ þnÅ·FóuYþžr¨¿´#ƒî-ÝñŽß¤Î„P8™
+
#îµÐ=¸famÐŒöæ^‘ñ­âÆ‚ùuáÙ±à‘ ñݯ¹ëÀûßk|ý+/>µ¿ÁÏ
+
ÕlÞæÉM• M6qK],�4­‚›m©¸—;i]Ï©‘ÀQa³u5Õ�­¾uÍAÀI”™´¯U¥2€å¤gI·
+
Q£E9 ÙKRÑÕå7ƒˆù?mô_§?•ƒ/PÌ"0ûË®„Ã�¿�¼ðÒ7¾H¡ÞvýS�'�µùRuÎ&ÿ¶U+™UÛ¬–ñIk¥ŠS0‡›Ý~dËFE$�4U }~Äš ,‹g³ÙF>ߘ8¶ðÝÿ˜þÐï>ñڍû×…†û¥u1m4ÌòÞ.s(pâîñêx8ßGK�àПtQƒÆ ÍÑŠïøéŠ¿ !ÈB½D�ôŠal¨Ã~um´°6||Ø»#ص%Þ÷ø«Ç¦>ö¡}¿‘<~%;{&“ªdrJ¦ sn ^1í%weS5[U‘S€÷yA�h€fú¿¥ áBs.c©Ñ¨Œ…\7Þ¶Õ�€½mñöR; p¹]òå—ƒ·ÿSvÓ �6îg}Z/¸ÊOéf‰ÇôÃA3˜#ôwGÿ å,Õý³5?lôÏ´ùÇ¢Eø@ÌÒuS¿Š‰ýð²„öCÕ6ôlª–Ï\6Ô†Ì=ýðÓñÇÛ^µ~ûHøØX„Š1_®ï×µ@·ìž‹yNŒ«4°Zè2ÂÐñ[Ç[)À›�N�r]ÿì_U VÆÃ|´/êIÅŽFúwEízÝ«òõ±gz°15})›[LgK¹œÎñ0Kb*ûuø! ãRoüyó€L°©”êÈ›GÓøJ��¸5P­BÉ FÌB"�½€A§N8}ú$ñ6­€('9©-'¦­DHÉ€þ,ü¾àŠûY¾°üôõ8ü49wj§q¿#ô‡ˆŸÆýLè[8¡çU®×Js5s®ªÏUpß…ZÙ¨”°�Àç¯øa›­Qëº!ë†dà¢QU‹¦T¨Åy.ÿt6ó|"ÑH§Î<ô3îsýÔ»ÞòØP`ûàšé¸WÝ—â^.Ôú…P?ìË ®)vIÁ~fv
+
n ,G˸#�:~û€æ÷hÜ'TŠxpâ?Ü‹ï±DûA=Ù`OnÈ›öN »+ö/ýÿïžßzƒþµÏžÛú`cvòb&½J-JŠÁK’¤Š*ª¦ªeœî´t7 j¾À€Í!�W„ñ-arâJ]Ý€Fe€ `/‰·,ä^Þ¾°B{PŠºWožö 7½�€·ž¥†w°9¸0K9°Ü|’ÑúS²¡/ØèÙJ ¨¨e‡|áøW¡åo`Ö!•¦ª†öˆˆ”±PÈ×umžçÊG4d¡‘œùܧ{æGFwDfÖFŠC!ŽLõ²½Õp_)Э{îTûïԻ̀ǎ¬¨tøroìŽwüæsœFŹ(<²§ÐðNvÕFü¢çNÅ·ÆŒô þnÄRÚh0÷Îûg6Ž<189øžwùÏï4Ž¿šJ.ÎLUÓI«G2@UVpÓjÃ’u io\d€/¬•ðÍ»F4�9 w‚›íAIŽŠ�hûS@5�4�œÄ&¥€“ÀÌDÁÊAHÔÌDÁð�+ýÔh¼Ÿe�<d
+
ÂŽ¸YèOŒ\-œ3ëóÆ\]¯×Hôo™ Å8éo˜0n‰@­…ÃX¨‚)ä«\úd.õ\jæêÌdãø¡ê¿ýó¾÷¼ãÿŽx(¹q”[B?ŠøóÞÕR´WJ‘~º¤ ùK£a%ˆ®ƒƒ Þ�¿‘}�e zO {!ó‚¶@‹\ŒôW£/ǽH÷fƒ}“ážéW ?6:ðÝp÷÷½ýÂC?lÌ¿03q:¬òFZN&9¬�Ôæ¬�¢·É¦3ðk«d’됸(¨YDò.H`%Ð2z�`¥è̍·4ÑÐV�¸ñ–†‘�kèÀ¨Û�ÿ‹F) ÞhúÖÓ‡A¹Œ>9xô?¿\�€Aæ‰%4Ûtº]²Vep3ô§A¿;úÇ· -[—4S1П â)rš*ÖË–)òUY.gss3³/¸F.wòßò÷Þ÷ðÆÑ}bGǃ(¬ÉżˆHôÀ€åÈÉÄ%蔂Û̵Züº7vÇ;~“:Û»ºy'˜.ûV 8³&}B#žÂp(1™zrýØÖ{6&øÓÆÞÔÌå|f1Ô“³&/Xª)+/kEQ0mÄF²Œ/á`34é ƒkàJ�¾\ÃwHAÛÃAж¿n@4@“I©³¿”~ÕnsÂëK‹½W¯£ékôg†ŸŸ"0Ec@`0‡  Y‡¹A˜ ýiôÆp¿ÏÊœ]™7+u\ùS±¬n³VFa‡¢à†°šÑ
+
MÐkô„ÆZ!§ÏLžJÏ4¸lcúèÂwþõèß÷І‘ëâ‡Æc3£‘l,È…å€G#•(0‚†?­,8è×ý^;žr ³,`~“kyw¼ã7Ž€WlsÑêÒ -ð¢éÁܐm­ÿÐpßÁuÁ-#¾ŸnˆK_øtãøÁ«3ÇÏe ™„‘šÑ‹ù
+
I¬ˆd¼QSÀØ`r��ª€šéÿ*� äIùe³ˆ†^mÅ�  ›mY o©* Ðtm¼¥èG!‘¨`N�½Áì–�Ö¡ÄyÁ•s£Ü‹¢å°€åžñ,EÿlÍu�ÐfIJ¬ŠY¯,hŠ®HòB­:¾Èq§¹45ÙP”ϟݼEøÜg½ëí{֏ì‹ù'Gƒ0JF ãmiø‘�ÀU¡3ËZLt¢ÿŽßšN—: ý Ð\ü˜“|]JÌËG¼éˆz8²+xl<þÄ»ßvâ»ßºrp_£˜}¶«ç‹HH‚*ˆ²¢H†©(2/ðyû£Œ6«*kø u�� íŠ À^V£�º0àçœ@Q«-!QN¢0èf¦¶æ„×—²¶Ø{…ßˢþœø…ì¯v¾Õs™¾ð怽L^ýƒ� Í~°�Àc+UƒDÿèÙ–-µbªeCÅ#ál<TUu¾(H®$ÉJ"qšç–Ñ(dO?ôãܧ?öÄ[_ûPÌóähpb$pq¿ö)A<KÕ!� cŠoú’(Êò Ú¾A‹ 6·ÔñŽßÈX
+
SÛÉÒeó,ÍП~'z ¯ÉÄz§âýS룇î}p,´ëÝo™ÿ¯o½8ñÔ‹ùäy!‚ËÙÅ‚Ë ‚T*WuUÓ5Åh§¬îÔ¼zU-Ïa¸-ááI- �À¡� X Àâ­rÝx ¯áS7Ø^tá-‹€Š4@sè f7™� o+%0ýÀSyáçê÷ÏÒÏ3+Ìù¢æ V�к¶âŸ¹øÛœ*O®üšù_¯°ÌJ>[0yAÓêÙìÜÄD£kÌLúÑ÷&îÿýíÇv†=ÇÞ\Ü—áyBØ‹)ÇOX‡Ló&EÍÝØÊ‰öèËf¬v¼ã7½ÓîŸtL5#z—Ix-ûÖ”‡¼jÈ“÷õrÃá̺áCã±]Gö½õõê—?Kf¤ž/äKé”’ËÛº†ë=}T„¢&ñ¸3]©,)²àZ0´mM Xº¬Æj�*7('¤PBrp%!ÖX[‰“˜8üº4€a_ÊØÿׁ½`áGr 0ý].0}à+‚¡ï†~!îà¥|Ï‚0ýÓô?ôú„®k(ì0+–^ÑÌ’lÙ²eI%SÒeA8Q–tÜš¡‚ï�sR=ϝÍ.ÌÎ^|òÉÊ·þåÐïýÖæõñ]ÃÞã#ä°·óÊq¯Ôƒ^|ÜðÆ@ 7ûý·�ý¶¯9ÕâÉÖˇ¬w¼ã7 CˆZ½e_r»µ†á–3„ú
+
þUú¨?è õe6m ö}Ï׳ÿÝoQ¾ò…ӏýôêÌñK…Ì©BÞÈdå¢h›%CQMY¶Ü%Ôhi�z�—‘±Œ8ô/á&¡djÖ�ì!�+è!�h�ú‚¢. ÊJxK_´EÚ•ðÖ ³Œ¸¡5ÀÍ$�èJße±ÜÊA?ðDÝlt¾]¿–xÀhôjyŸéVè¬Ó¦ÛSôߌþ[Ý~Œzm±tÕ:S_(¹òlâ…B±Á(_þÂão|Íc£¡C£ÁÔˆOŠ{K£Ar{Ì+cÊi:z 头¢¢#Ð…i¦“gêø­â¤ë8éºBÁ:g4�l-Ð]ö™á>®ÿ΢¿¯ó%Gƒ“âE<;^½1ñ‘ûOýä{™‰s™T-•¬
+
E‹Ï›B¾f¨ÈU­Z¦ŽÍ4 Ë4LÜ"Þ¶qH ÷¬€?V8d�{@ ‰Õ�Àæ¥ØùüÿÂ9€d_ÊèÿèÀ^0ÁÜL‘óL¾í\«ür¥è^Sì¥À 2€þ!2päþA°!ÃÁ}É6ʺVVµ’¤[¼iò¶!Ú(�QeYUdYÖ9¾&ˆ§yá¹t¦Qäô£‰|xûë^ýh,°;<8;Ö†…¨G á+„ó£šß£ú=RÐ�‚!šQ
+
µš-d&—×; ã7°+ f#8á‚b Ü]�Ð�]á{ˆÜ…!wZÔƒ…"Y_O:â-Þ3>uÏØC‘ÁŸmžø“Ô¿ýo—žÜÛÈåÏq|)““R[”,Q²%É�OgÁ€Ü¿ZÒ�0š�(y‡pÈ�ö€+¥]Úâ­cWÂ[
+
}maöÆ×�7�pDÿ”ØÜC ûðÀX:Ï\�€ÐßýÊaã~j+;ú§q?“øo6úDŽD°.+5Õ¬¸ÒÄÄÕb¡‘ËœäÁé?ùà¶W®{4Üwt<XØÍG{yÿj+Úl%¡qârÿô>/ßJÿÓt@Ço%G<$Fº„èô‘h�Ò^½ÙOíªŽ¯ƒKƒ«ŒP¯êÁZx€ö¥½ÉøàìúØÎ˜÷g1߁÷¼mî[ÿ|åྠ‰‰3Ù™¹bÆ,¤ªŠ°XÒKŠ(qyU‘ÐþÕ ÒˆÈ�<¬Ã2ðÕ`2†yWkv­^ªÏ•Áçæ+ÈçªÈk‹'ê'NâËÁm 8‰ÒÒJœDCgJN\œDCðk35'ήl~WÂ^0ö‚9àøSñŽ´a�øsh�úúÉêQ쥶„›ÆFÿ Ø~#UÿšZR”’¨X‚nº&*2¯©²®IZ!g§fÏs¹F!ÓxêIõK_<òžwoÝ MŽE‹k‡ø¡@Ú³
+
§ECýf°Eöš·OñöJþ>Ò퇭vžV±Þú#ç"ïxÇo D»¨€Ð‚œ�4OY›ßéá£ÈûŒ®•õUÆãéÁ®d°/·>vhÈÿ˜¯{÷¦Ñc¿õNío?{qÛ¶Fbö\&³ÎÖŠ¼Í‹– "�@Ó\ÄÔa˜mÀ¹«C8dÀB»î@ÂQ$[ o)ÒR€½Þ:Ö¶4puâéa7™�€÷”¾ÑW–wþ¡ÜCÍñð.¬ÜïŸrÐŒ;⇕t²UùCYÇA<ìeßååþK¡?Dÿx¡kŠ”Ëœ¶­’l;rvr²qü¨ýÜö†×l ï‰ Nùáb¼?ç½C\¥úzZNÓÑë¥–ÒøÊ[ ÝL‹v¼ã·†ƒ� Ñ?ùâÒ^hÝx!VEÿx>€îS|k”ÁÕ•ð@}8XŠû´¨Wöç‡ü¹ ÃOÅýv¾ñUò?sqïæ†:™K”r)+Ÿ©Èüœ¥ª ‰EÄF0g¨04´‘a”e©l”+&rª2€Õ�Ø_æ|�ÊI”–Xr£œ´DcqÊLÈXNb͉³.c÷êÏýƒÁJ�À/ýá5üî�Â`ô9Ã`2€0›¡ Lãþ֭ߥè·ùD@Œ“ЦbiŠ­(¦¤¢¦Š¦"ê¢(fÓz!sJ(\•òìôÙ”üðý›×ŽìˆÆÂé±!a(ª…ôX�!­è‡ÚhÝß«ö*Ì´/ÇŠu¹ó{:ÞñÓqyOŸ�àC­ækœRlg¹5@èü½Zx°ÇÛ$7¸&‹4Àˆ/¿!ŽdÀ¶ gÏ«îæÿò/Îü䍉£ SŸËJEÁâÐ�e‘Çö[…@È!Û`yùåÒ}�*X °HF²°€Â,}áÆ[
+
¹,Ì®„·¤e"Óöׂðú«¶›F�ÐwóêòÓg7ýÐgCeçWî÷O‰‡’ ÷g묜ûîYÖéŸFÿ­šŸ¥è_UeD<êåZbjqfª!óW˜üøŸ?´iíîñøäX$3â—Æb´wÚ
+
õ™1¿âo9R¨"Å»´E*ø²v|?jR;÷€;~+9M©bòX>|·’6Wa¶F—A@uاù{ÅþUJÿjÍÓ¥z»e_·àíÉzVkã1~ýȁç‘ g×ëïÎÿõGýAíè>WΧÕÌLݐˆ y͐%]u:„Â.&“bu$�@°ç�¬ � €@SÀj�–œ€Üy)V�š¹9 0B"e&?¯ÇÚýÔè_Ë /6wôï@`úóŸk¥ü)õÛ@A˜ ú);Ø•‚YŠþA�Ðèß²JníSBa…fèîH.Û’\¤§íJ5_8UÈ^Ì'ÏíÝZþÆ—ýæ›~Ôók£‘ÜhT[7¬E¸¾n¾¯ ½†}rÀƒ{ûu_¿æëQý¤¤'øŒïMÒü Dü´Hî“þ ø¹­î\äïø å°€Iž/à֝p,è÷äýÝڐ‰a~`U)ê­ ä`7ì±Ö‡s±ÁƒÞî=ïþWÝ5ñ÷™ÿ÷«<u"“)x»À# `
+
¢!! •PhÄö…„ œÀ9žã€• �h´F./‰·`uY°m‹·ú($²8ÉÂiG�üBæf#÷Pú¡Ïìùåí>é3†G¬C£�@9`P¼K{/±%Ê=´ò7!¬CæÊ[%»™)l–ýÀšÖ%’vjbáDzæìÔ‘FnöÙÍ?ÛýÛïüéXìЦ±É‘pq,T õI¡n=Ô«zíÚK!’vÂ!)ïÁ%þô4YƒâF�(ÁŽ�èø­ç­èºR�€F] �È @?p”ö`ô£V؃6Ty(Èy»Óƒ]Âx,w÷Ú½qïc#Þ-o}õü#ÿÝr繜>q¸ZÌ–^,æ ËuEîêä„qÑ�ôn\ô§w‚—µZ¨Î-TçkÈIoÐkq›”:û?ׯšâçË2iÁ_¡ðëFà‹$ú§ðK R0,ïžmuúƒwâþ“¤æÇÀ-ÆãVhú¿ÒŠÿIxÐ<†%sFñå <o‘$£ÈBÃÕ
+
¯Ì…ÅTþ™™D#Ÿ~aÏöé>øàXpgl µE-^!Œ#~©{JaŸ p}]ÐÑ‹?R˜“#=vœà3œ Õ‹–j€f¹ZK�´Z‚ºyÇowø`¦†/.ÿzó›ÝÃuzú–/9ö_aÿôú½õ5+C¡úÚ‚`ôá�>ðu™ÚB߯‹ž;­è€8¸Jò†Šëã{Ã?ò®Ùyß]…/|ò…©‰S©ô|6W+Ëœˆ4��Šdè¤O•U8@`‹â¨¦ -™Q¨U&7‚±ÀB›óˆ�˜CÀ°¸0ßB‹• ׍·‘®­(ÄQôs $5�ÒŽ�xÙFß2–Š®¸¸§-ë�ñP»6ý°Ñ¿C� Þ9qjùâɹ…MY‰V¾{6banq®VÇŽûÔ–ku<»Î®Î•+s(¨ÛöœeÔM­bâ>Óˆ€Iä Y­¢BÐå\KŸH»œ>Þ˜9¬þýç¾gl×xhbmx"Ú›,Äð­¼£hI„>AÈžlS?ÚBGQDÇ;~«9]êÔ—CS/ÿæeHb2\>ÇG ÑÁLÜ{d<¼íµ û×/Þß(¦çf§J™tMQ,QR ÅŠaTmÃ4Ó€Ԫêx @yî�7CÏf Š)©^­á®`óµêB¥|ûü✛NµúU!QZ‚ø˜e£kÅC-­ÄRfÛšC €9þN„ÁX(v`/Õ3Í4L+ñO±I�ð3gIŸ„Þ©‡›YŒ¼tÎ:òT[¡È¿‚⁚]­a®@þÎX%]/iª­#¹†½(Hœ¨«åjÅÔ-µÀW²Ü™tþÒôl#“šûæ?lyÕÆã‘黇¦G½¹Ÿ¡%—°ØúÚU±K®¹Þ–¯Ææzk½Æÿc»EÛñÝÝH†Ún‡î|øî&­ p] Û$ª•Ń2›æÿìUü=ÈU¾ab=ÈõÐ’«øc?ý›™@ðï6ïæÂ¿¢·ú"´]™×éðƒÁkö} ïFëWv~|оŽ³ ]=483â=6îß½1öäçÔÖGùÜ©T²^ä˲¢
+
E[“M‘+)¢% ¦,ãFÌØd´ñK¶Žá0Ò�µé„›„ÚóÕò…Z™h€Zma¾rr¡vk€æ±à¹ìd#´yæ™3gÏ>Müºð–B.=
+
†€9¯¶¢g€{cØ-+�.´;w>¿r¿Ê@4ÿ‰'ýÏŸªS@’þ‹s¤¿ß\m<v¬>K•*]a–k&T5Íš¡Uuµ¤+¶® à_Rð%^)r¹é—¸"ç…ä‹O>>ñg¸õ•cGîžLøîä"Ýb¬[ ­$ZRÚGÞíâþŽw¼ã¿¸#°7<pè­¯Í}â£O?ö`CäÎæ³ÆÔÔ)U7r¹²,™Š¨Èž‹óRZ¹\µlì%»†g„‘“eÜl¾V­Ì×*ód‚ î Ì
+
�ÈHA5 ›‘j«VÊH±Æ2…Á‹®r JN—]i*·µÅÞ+ËOX¦ÿ¨~ééÐ�lôÜúÝ—¢�ÐA•
+
�vÎ:�\mEº¢·Ý¬V±—K(úÇÀÖì’@5 äY>¯Ø
+
zPBädªVà®hzCûö¦øðž{7Û4:5˜‰ôç†<¹P7f:Þq ŽÙ_¦�€»y¦+!|I “"Pt¡9ù«pô\ ã˜\ àÃÅ߇Ü%;YñÙ¬† ~$‡�К
+
á�×ãð[Ãk·<€fAÅh_!Ö—‹÷MŽz÷Ý»nß{ßYùö¿7ɳ©ì\¶°¨ªŸ¯*B]WQøTùÿÙ{ï0¹ÎòlüÏß_Šmiëìô>³EÍ–ccSc ¦8@BIH€/ ||ä"p¨!$ÕY½Z²$KZ­¶Mo§·i[TVÒö¾ç÷–™Wïž™• j˜ó^7Ël±vöÌœç¹ï§Ê*`ø…BØ[–Íiªˆ5�¸»qW�,¼,ªÃE¨F±�fáìPáÔ�ÈÞÖÝÇrE`PÕ�õí-!“KKø'±´Ä<›yE
+
¼Šž«|nQ``ÿË5ÉhâÒÖr?ø×Œø!šýÓÁ'â(öºœóØýƒwP“ã«ÖËã\3t=%µPTÔ<ì ”´<œN•û(’œ—%UäÔl|4ÏD—OŸ˜|æ‰#ùÀ£®Ö=ÎÖä¦PÒÙÄ:F6¸_3®êÁ‰6S�˜0qÀx,gͧ:{6‡_þøG&žFO&&"‘RßP6[€�9^ȉ2 G‰¼�<,&ÁÅ@°#¦¨«+  ¨$†JCà�†G‡HVúê�u5�æÐ4Ÿ&.
+
{)Úú«HœS­"Ÿ峌¶ƒ&¿Ô`o郟m] Ll/fÿ$üOØ?‰ý“ð?ºZ*B ÚK@¤rA,j jy ²UÐàHT²…j0eU%VʦåXì|"µœÍÍŸ<1üóŸûØGuÙvÚZâÃQo[Æß–ßèÍ¢«Ú÷‰‰ßYHí+׃¡Ø< óãžZ"�p€ŒÁò0w‹ìjU\Ͳ•áœÐ�œkgk͈p_ÉÔ`Uú W�X–d}  ZOo<çvlûÃ?T¾ó]½¯º°púÔE!§¥¢b:ÆfÒàd³Œ,Ë0À³°—RƒóT`w%Ú �ô<Þ6R*Ž–aÐ'�½­»¥¢è$�B}{‹-�ð!–¶±ä`S‰í'>F¦{³Ï­(�~söO^¤ZoD"O߃Ýaÿ8>wÊÆ‘*ûìhw›•*%§•Séú@Ô$�\îÏ++ÃB6pÊj¾À0¥dâr:¡ç’+'Jßýö‹¾ï1kSÏÆ sggÎgã썀勎;8Ûíø^ÅÖ¡²ë—J1›0aâšÆêüÎLÈs2èÚpúÀûÎýêgúàÀdß…T¼Ir™Ëe€û‡“ŠJÁ=;ƒyUÄ/(€}ÊÅŠ(¢Î Š@ ½Ckåh�c·DÇ¥èójœ퟈!­¥õä¬e{ñ1Xàù`°ºÓ5�l~‰¦þðU±Ò‚E–+Óì`¨³ÐÔµR^)ib îõ•Š’ŠØ^áó0î/Ê’�— ñ|9¯qɘ280‘MëéÔÌ¡©¯ÿËÎwÞÿ„ËzjSGfKW6èd¼6ÞÓšs®ÏØá¸ÏÚ÷‰‰ßY¼& U»ò°§@5ü»˜ª={P�(®VÍÙ P‘îfSçU�
+
�ü]Ì­1ð§•'Y‚KŒpTñºb-@k� ~ªÀÒçhaî¹s0ðX ú¿ÿ´òâáåþÞ©DtŒMØŒ&ñ‚$¦ÒY†a ¨—!³‚ü
+
• ŠRT1Pò–U:^yKE Ð�É€úö–Ø1ƒ™%äÓ`cñÁÖ’°ÿ%S�¼â1°rá ¾‡8òÜ>µîSû'î‡fÿtÏŽý”ËÃÀ™—JCyôºXq
+
Þw0©¢
+
@§À)RN‘Yv›©ÉÌh"9‹-é™Ýµ]xøk‡ßó®g¶¾ AáÎpÊÕœn¹m8hÕ\ ©¦ßÓ­XÖÓ¥¢¸F°ö–3aÂÄ5ðRp£ÙsgOسÍcÛû®·åðzÏô@ïhlPˆ0©8Ü]/J@�ä%XœÊÉ<Ì ¨¼¨ rA’K2Ð�€Œ �‹Ña—�Ô�#¨�Ò׫Ϋ¦eÀŒˆWò�µ>‰¸%ÚâÑn‰IúОÉàœèsÛ»–&F˜¶ÃÄðN­.þ©eÿÕ¿ÝÈþéºÂþI›50¼h(E ”$±�0*ø‡F%Šá5–+0Œd’Ë"¯ÇGûeïç?wà÷ìØû6‡ø­)o[ÚÚPhw±Î†HÓïkívS�˜X ‚» ûF1þRèü8¬ÆQ-¨‰þ ,rÃú"ÍÑ”G�Ë�¬Dg£àlä\4 À¿B¤›tÑ;Oê¬.Ÿ®ðï€ZP[1…ó�@�ˆ¾¶”£%ò½ÜÚÞÑ~úÏ?9ùìSzlàâ`O!Ö¯qŒ¦i‚(s§p‚Ìs’$57…I¨ºO*(�ÀØbS�»¯JåÑr §F(@k�:@4�’kÚ[B&ëÛ¹Õ¡ƒu%ñ#ß½Ùç�ö¿TuBß3¿zÒ?yafª‹fhǃ}OÝÈö=ö©?dÿ¨©|¾• õ(–µòp¡„º~à;8{˜–Ra§™Š¶üò²ÄÃasb‘eÏÆz&§G§Ÿ{:ñ…¿ÝµeÓN—½'ìO† çúdë[xû%_KÞ׬øšÔ ìBåƒhЊ `Ãa:$&®àš›¶;òÎÆœ½!° n
+
ì :vß¿•{øŸ—Žž‹ö¥ùtBÉ1"ˉŒ�”>,ñC›k$…—Áçš5@AÂq)µ¤ €6ƒ!úzÕyÕD 6¼jVñIàÔuH3È'Õ:$ÃÁVÔà¢Ö:øÇˆí5X`ò»È1˜bÚöbó‹v´´®þíÆ®_ø7°<p ^Üò«�!àŠ_ Ä´UT‚ì_D—óLv8“>—ˆ/ç2ú`ñgÿóâG>°mƒÿP»óLÈžÚ’®†Œug_/¹š�Áb¼ r{›ioM¬…®_°RypìÄI)nÛÅósD´Ì'뵦}–œ»•uµâl�€ài•ÜÕB 
+
ûgÝàN/` €�îZBÂÞR°AÀIÕŸ©ý+®-ê
+
�¢Ð¹¢�Ÿ)‡±õ¿·6*÷ÞyfSçcöÖC>pñ±_̝8zq 7‹
+
é¤Ä±"/H £ò<²·"hN(Œ¹ ¹¾2.¼Ä-XÐØ–Š•~€êvvZ¶`,V÷¯ioëšÜµ4€ÁºšàÕr¥–WgŸkÝíoh¯ƒ_!ƒã!¾‡fÿØýÐìÿ|3pæO¥è €ü–R ÚVVÔ� õAÀis*¬…<ÊSÁ: /0ÌX:¥§Rz÷©Ë?ÿiâsyäž;÷¹m'mL‡?æl̸ò¶BÈÂØÞÊ;ïཌྷñÖ7£öŠ�@âž,å6Þr&L˜¸&€sÇúR -c½=Úv·É;¸É·Ûg}nSHüú?_~áÙ¥hÿåt²œJË™¬˜ãeŽ“TE &`—)œW €ª æ± Q‰*,ÄãjPOpyÕ8î`HÔj�lÄ&êåhÏdpKä`ËIÛRÂï ç*졦ör®†÷“çC“~l{ëZ`b{ uÿtÙ]ùCÖ­äQšØà’*Qُ Â„ ¾'q9M—³±±Ä žL\Ú±=ó¯}èÁ݇ýց`[Òל´ß.y‡;ª·5Õüæœs=hhý=ÓÞš QKpiš[Kvñœ1:6ËrªÅ9ÞXûC¶¾°íLÐÖ° ìƒkÜoKùliŸ•ñÚªë>QOu9Ðx'é"À€GÅEdR'—\Ùt5@íõ1\úÇÀó7üþ…­a)dïn|s¢ÃÓ·9¼§Ã¿ç÷Žýò§z_Ïb6]ŠsÙ‚À ¹4`S2/@1 ÀîJ òQØVi…¼–/ªÅ!X'±ð\ <‹h�Ò@4�@¨ooI4¹®¥¥­ÁÆÒætÉ,zÅc`ÿÄ |q?ä0øï§Ý|ªeÿD�àžùƒ�®ùì�±Gûä¼çLò/Ë€h’Xà¥"'8¾œËö?‰èýgÆþ“c>ð”½ùhÀÅÞÕ%„|1Ëz!Ô–rÝž²¾Eð4J¾fÆqð=JÐ^PMR‡¦C2aâúArƒ{p½àiæ½ÍqÛmosdƒ÷èFߣkêïÿn~ÏÎÅÞÞ±ÁÁb"©æMT^@Så+2�ÓòÐ�@� �X+œVÝYC'À!À p€œ8$Ú'áC+WôOÄxsºÖ¡m¯A�,06Â4é'OfªZrI^b~±& ú·_mæaÿ•më%$�òjY“‡©¨ˆ°â_?á!Îj•y°ÿ¡Lt,Ù»0Э>ûâß=³±cgÈÝÛåÏt¹ù Eô6•ÃVØØ¶Ûxë:ðý>ÐÊù¯°&Äz·.ÍÅ૵.UúŽ:}M‡1}ÖXu æñ.Ï‘Þƒ›ý»7úvoòïÝè?°Á{¤Ëw¼Ë{ªÃÓö „Ýѐ3°'¶´ß–À>uÆ×F WÚˆÉ3Ä�±´xî&
+
�ƒ4Â?,,iÛ팳‰÷·%=-@ö€»ò@Wð!ñ?¿¯Ÿ|ù‰çãÑ&Ë'b"“�j�´�Va*pE€¢(°8_T
+
eµ뱁}Àsà€`²¥š¨Õ�Ô\ úö–´«XÚÆâCÌ&6¤F¾{³Ï-$�®ÞøK.(íu°ã¡y¿Áýà �í„Ör<Dœ3Tÿ‚wòÚEÔ�P( C �Ø¿RºΙ†+fàÑdYJ(T9Í3Ìh&w)•XŒöá¿øtg`oÈÙÒ~ÆÝš :DU°Wº‚³§{|+…ƒhЕàÐÄcÂÄï,Ã®FÚ Þ†û–þíÌ–ð¶°ïÐþøâ“ëé̹¾>¶ûÔ¨,çYŽI¦3RÕ<Ëò€pjŠÆ °µXÑ�ZA…Éé"Ü[‰Ù?™$>Òµ@X�TãW€!(5¾Æ¼j␈O¢Í&±¢Ÿ¯ˆ™5ú_£>ØÛK‰Å@Ёð‡Çlü¯%�x‘+´ÑR\.(÷sŠ’ÊqàÛåROFÔþîù\Tœšxö±çïÝzpˆc]A@ª�‘â=­pi´ýÕÙ�‡­!¦bÚ[õ°Á•Í�b¸O—s5GZßCõ€ÝÚ"­ëÒî6&ìMvø:½GÂŽ|–§ƒÖg6ûžÛÆçÞy÷ÓïºgûÇ>°íãÜñ§Üñ'ïÛö¾w<{ߝOn
+
=rìÝÚvï÷X{ÚºýŽÁfS˜ÛïaÀ›Ó®FÎgÑÂÎ|ØäkÖr±‹ê³
+
žÖœ­‰s‚÷¹³µÞx`ô±½Zg6À…JûZbÛévÏá á'Ú‘/}A?}JOFՓǵØÀYUrižcŠ%U.HÉ\‚•Àü†æ–`á`Ô|¥•ŠêPM*ÃÊK`UÖ®ÿ1Z]"j-ažøHÛIÚÒb»t‹­¾U�¹4ûÿ �ñ=„ýc`ÿ¤?®PtаÿáêŠX÷ŸÒ0û— "`ÿ*Üò«(’¬HpÍd6Ç‚Çe†/E≄žŠMîÝ.ëëÏl<k]ÝJ„}–ÛÀÛ]°­×à¯+ë?Ðm³ŠúãUÛÈ-Á"æ &®x—…qÛ�p, míi`¼ )K¿ßvÈkÛ³±½çSŸ8ÿØcz:¥sœÒsz„ãÅt&L{¿TD5—a IÑ0€¼ ÃÂth(òy¨Jhw=®¢³ØæZ ºÀ”Â�[9ZÔú$|ˆå¬uNµ‡ü°áÐÿ m{ɧØÓ¼ß@ý±˜Á‡¦þUS\§å—]ÿ¨y¸ÄqŒÄf˲XD³•BQдᑳàUÉô÷œÏÄu1«Ÿ9¦ýðÛÇzïáÍݝ¾Á +…¸l²t¬Wlëhö…¬ NÍÚ÷‰‰ßYÔ\"� Ô€u5oöeÝ ƒ–ÛÁû-Ûìz9mÛ]Ö§üöm÷m9þédþý«£OþdþÐN½û˜>Ø«§ãz6®§cz¢_ï;¹xüÐìíó;Ÿ‰|ùó=ŸûÔѽoß}[wv…¶\/8¬ÛÛú678#AkÄݳޞ´ÜÎXï ЧEñ¶€79ãhÌZw[©ÃWû][Ô^ƒ� 5�ì[p]±·€  E``CðgÛö-]±/}~|ûs:›Ñe^êë@–Ø “Èi® 0Ç|±\æ–`ä RAô%� �A0‘ž`R„pÅêb“‹­.�ÄØëGmf‰%f–�¢é]¹yàÖ�k±"�jý¾ôÄùÕeÿ´û!ìŸxx#Èû«!º!E*ðý¾ªZR`u¯&B(Z.¯¢¡ÿ‚“ÎåTz"Õ#sûvDÿÏçŸÚx±Ë¼3”¿wCÊÙÀº‡;\¼å­ÀåTî™+»!a¶� €Ê’í8ÆË„‰ßaXD§�݆T§‹5@²§6øO´ûž ¸÷¿ÿ½…ÿù‘Þ}rj 7ß×[dÙ‚"ó¢åø/ñ¼KTEí æe MR´$@EkCàaƒ� µ@$ `Ð�˜1 @d�‰Ka·DÔº(b3‰«IX“Cÿ }è6¹ä+Äüb—Iž­!øR×£SgØ?vá¤÷S� ©Ô¼Âól^KŠÂ¤3©TŠ…4“ƒCâ‘1D§^Ü%=ü•ãï¹o»³¹§Ã Ú’¾Ö¬§YD˜’£Q´7`¢«)PüåFO1ñ[Z‚[Cjáà&W€xë›/O‡œÙ­]g6wíiî½÷žãÿØù_ýdòÀv=Ù¯)ú؈~ñ¼~é²>1¥_×Ç/é“—õÉ‹úÄýÒ¨~¾¤jzIÔÙ„Þ}ôÒsO
+
ßýö©¿þ̶Þóø¦ö'–]áÖ—7:c›½Ì¯rÀÀ¿£E±7æ½ÕÝ”€ê³d-wÄÞÄ#¾qÃ@ €5`‘XêÜ‚H4¶°ºÓ;ÐéÝï³mÛìýߟžÜö´ÞwúB·9­HIYËe•LZÎeUžSP÷ $£-LŠ3ÀN‘ #ÀªŒÂšîJ6€VH ¬Ú̈I#8u-9ØúKl,¶¥t`…�´0âun!°ûÇŽöIä*Ó~hz5û'‘'Âþ©À“±ó œUQÿjvºgr"�îú-ÂôœD‹VËÀ Ó",ÖXAá8Ed”Td<Óã‘Ém¿>ó×ñÜ–àsîÆäÝí™GÚÕkúƒ¼¿m¤ÝÁ·¼¥èÓÁ0ûG�¶é`ò‡U
+
j�¨Nù­½ÓL˜0q-`‘í�Õn«Êïœȸ֧mý~Ç!¯m[È»ë÷+ü›žI^ê;=œˆ ‰¼Äåb‰8Ð�ÀFð,ûÕ$ �Ô–*h*\_|R%€óŠD�àcÈ%@k�ƒ  CS´sÂæ‘IòØà¥êò3†Cý“«�ýØy¡Í/áý„ýÓ�Ùà:HÙaÿ€úhš’c³à+C…|YŹX |ªð9öÌ©.£ËÌÔîçNö“;6œ}Ag,hMúš3€g¸Dg£„-±Nl]aµXY¿h
+
�uPW�À®ê¸O+ïie½­Œ¯5çoeÃŽdØyYgÛ3ÚO~ê“çõK=:¨ý°>sYŸXš¸<sñÂÜØøÒøìüʼn¹Kó—Çç''ç§'ÀwgÇWf/é ú,Pcúùa]æWúÏŒíÝ3ôø/÷~üw¿wë¶;ý;Ãö£Ç@À™öÚ§%Óº<+¦ívÖzG)ìÐümŒõŽ\APC÷€7šÝ¡Ù°G¹*��ÕÉy[âö¶Ëépï÷Zvn
+
üäGÏýꧺ˜=9)'ºU1)hL‚OeŽ/¨©\V’ƒ³Aaý%�@þa J`ÞOÄ€¡+€¶·´À–Ö ˆÝ#Ö•ØIbH €ð[ƒ0âun ðŠìJIüyˆïÁ¿Zö?†æjÓ®ˆ¸Xâ€iöÜ3#÷}¡Œ39§òpò”‚–¡Àx}–ËçØb.«%ú'Ò=zfú¹'úÿêãOl»<ÍÙ·uö»š[ßl`ÿ@”‹öÞòÖ’·mµƒ©(ü)Έ¡½!•F"2IÀ„ ×ÚË£Ù­YßÜRÚv{ÖÓ<hoŒµ»c÷lÙô¸ïî‘ï?¢÷vOôõäÏœRѼ,�?Äæ8Iáày‰W•Š�Pp�W­P¨h�¢p¾‘È�Z@k�Ú-4�íh‡Dì¤áëÄ®ùµù´ùŘfÿø#1Âke�ˆ¨eÿ„÷Ӂ@ý߇ÙT\·\*ÍesÃÅ‚&rJ.™ö­p)½÷䥧~6øÙïÜà?ànݹ€3åmN{ÖeÝ ¬³ïQb]­Y±±Ðê"V“0?`
+
�j@…Ë"€Ù?¦þk"h“Þ¾õå®À¯ƒî]ï}ÿÝïè}}úð°~ ðøsKÏÏN\œœº453=³°9 øßrè³E}iA_ZÔf&ggƧ.ê�“—ôñ1ýÂ9}¸¬gc—w?ÝûÕ/>ÿÀýOvúwøÇü®Á 'ås(>ÞÓ–l½ <Õ|À®ú,… ­ö/º¶ ¯Iíw � `µÀAFK ¥8Ø"miŸ¥Ïo9vîÙìû‹?ê—:¿œêåûŽg“}ú
+
ŸáY¸ˆ ªÔeÀUÁ°âF4h7°À–„."€4×µ·W¸L+±®Ä–’´êBÍP " ”ø†[H�¨?ÍþIøßà{fV»Âþ'ר4 ^TüŠ’O‰û!ìŸ�ž+ †Ê߃GÎÉy8íüÁ•?¼˜G+fйÜH&9•è±î‹OüüÔŸ}ø…ãhÐßàɶ;€Qà\ÍÃíž¡°›·5ŠN˜¡íëè‰`Ô=ï¼20ëÃkÃû·Â© ×¹‰Ç„‰ßYHÕí9›�ÏבÏ9ï(mp‚;1êjÌm
+
¹^°·ìùÃ-0Ðz!> ¼üÐÿyQd´�Ø)Ï2ª*L Í€€²‡…åóXàƒ�.
+
2h�|ˆ  ãRÏ„Ý8u]ÑlU�Ô~ýuòO Œ /fÿÄö’ÄcÞO¶À$€½²¡àÇ@ý1ûÇå—‚$‚뙌'$ŽW8.ròe­¿g>Õ3Ñáÿþþñ½gÏßѐ#Úéa‚®”½1çid\ëxGƒèh†î68’ÅÝŠ�­s>xL;6Ë&L¬%�ð·0y­®¹…ö9Zvܽ%ò¥/,ܯŸ=«ÏÌé—'&FÏ"Š¿¼¢//éË‹º¾ ë3‹+“³€ ./-,ƒó K³‹KÓ‹ó�‹s‹è'W°8Xš×çf–&Æ—.\Ðg'ôóC:“¼tp7ÿƒGºÿê“ûï¿{oÐsÄk†=¹ã·g¡Êm¾1å¯I�HpYYZ(¹q¥fÿŠ·UõÃ.¬œ¿9Öá8°íìôí}ß;J¿ø±ÎÄíï= Õ¾¦¦39˜üƒu@0ã
+
Û®T8’!¯”‹Ú0°Àn` @”�62˜ý×
+
€ºÆv­€ËkÕ�„Ü4€‘ߨsó€!ü_—ýÏS«æ‰ï!އâ&Voš¬u<XäaÇCÿ` @e� û/—ÔBQA±»¼š×d®¢†¡'ð6%8ñ“åK SÊæ.¤â³½Ç‡~þ£ûà6Ÿý%g+·1 v8¢Í�Þî€÷³m¹ÖõÉ–;Ok)d—ëegq9¤âŸñÂ!$˜ýê/9l2œäe
+
�&®ÀÝ·^v­WM° φ‹8Ü-ÉÖ·H¾fÑÛ·¾5êhH†Þ;ý;ü_ß×»Ÿ?y\é9Ï¤ Ÿçx•aó<«Šœ¬p¢Ìɲ(«¦äáGMÃ�Ë�XgXTÛ@4�—2x&ì“°["ÆÐàÈ!V{&ã·_õ1˜_šýc€]f­Æm±®šß+uÿ4û'5?„ýÃŒ¿,÷/Â2Lù\yXÉfÔÁ>]“õxþ{ÿ~ú¡÷î ;mŽx¨-å…‘~ø«kkRm­y‡-ï´Ë.؃ˆ‡>ñžõ¢{=| ƒl
+
�¬%�pãoÎÝœõ4§¼ÍI_sÜßÜÝnß÷ö»S_ÿ—•ž“úùs:¸;.]†,_×§¦!¥Y\˜[^š[Zž›_�· -gçgæç––VV–®$–Wf¦¦g§gææ¡
+
XA_\Ñ—ÁÝ01vN_œÓç¦ô¢táÀÎø7ÿùħþdÏÖÎîÖã>[zƒ?rfü6>äb½×}±DuDà¯à+Vbecq®´Äì ²¤šÞ$ZoÓ\ëdoc6ØÒ´ ;wl o{Ïýgÿ…žIŒE#r,®Âm`r.“•yF–XYa$•ƒ5Ù²ªÉC@�›‘‡WÐŒ`”«›ê–�@Œ-6_um­½%&×`f‰ üvquC°‘ߨs« �¢œÈ½º¢�q?4ûÇ­hÈ4íuàŽÕ Z4VÒPÐ_„ƒ½aÒR¸¤€(ðÂÜËdàÄÏH_ñ¾wì¡w?ën=°g;<iGSÖr[!`.§ànS]VÍkÜmé¶;8{#üúÚ 2!·ÃÆ�Úåa
+
�&®šªü „Á«sÐ&>5hM¶¾Iò4;쬻‘ñ[Ù.ï eo»ïñ !áÛ_×Ó‘éØ@q°÷/ȉ„–e€€«+E^D€ C40L…á)"�òD�àX� ktvÀ °£5�—‡˜AƒgZË-sú*ÏZVw²Þ¬ÏKõ†.`Òo þ$õz…ýà Þp¤7λ^aÿhôbÿšV€{2L9Lj§OÍfb:›Œýë—ŸÛÚ±Ëo}Ù×–êp&ü–¨c]ÚÕ(øà@ÅÞ¨Úš5»¥à´\Õe—Ümè¥oÀ¯¾äj@0€ #0s­ò~ا‡¿ˆ·ó�tfÌßëÉûžÍíÇ?XèÕ'.ë3ðf™ZZ™Õõ‰¥•ùe°¾•åE �Vf—gW–çu}qqy|“TXYX\¼1~ðÍùY@‹�k„B� ð£sà?[^Ògõ¹qýBYÒzÿ á{ßÜùÞûŸk÷ÛÜÞt÷º­© #åj½z!ñ«Þ¯Zá¯Ôò~Z�Tî2Ôg…�~†šÏ’w7•¼š·q­Kx[úCŽc¾=wv={ÿÛÔÿHO%†ûúåHdTV¹DRær²“dVTX¸DR± É%m©�’
+
@]ñT÷úûXh@k�lÓHàu€j÷"f¼Xiñ:7M�àÖLý û'ÀþŸ¯™<mpHØ'ÑNˆfÿØ¡×xž¡sç‡Ï_Á#ŸÐ—΃׽ŒÞÕ!}¥á‘"ÜÛ9\€ÿš€*¨
+
§ûï#«Vä<xGñ‰¸z¦GY=-ÿ÷vß<Ñåèm·E‚p³7xCã»BuT€õ1uÏÔ-Zuç OɾU?c„‰k
+
$®:xº' ‰sœë·¤|¶Þ°çè¦ð¾·ßÿÊ–ŽXJõõ %ÓZ2#§9•ópYH^D™çà°
+
¸RXU•ó°OMA³Å [‚ùFà’ÊÀ'–FFKgÏ�%@²´s2ø$ì–.Ãqu““@ ŒOMMLOOÌÌLaÌÎÖI\ýÐö–�ØðbÛ‹~>äéaSL”�6�3Ú·XÊ—‡´Ò°ZV
+
e¥�e�¸JZ^â…¬ 2¢Ä2\†çY‘J¼\N¥Ç1K/¿|0úÕ/þú®à¡MþÓí®XÀ–õB#Œê*/ÅQ FµòUÔ¾7Lü®»c²` ²Dìšÿ—Úiãü-Io[tsû.¿}ï;·ýô¿ôÑa}|\ŸžÖ áYÑVôùeºë“TýÓ N5Þ_ÁêïÀò!H£‘�˜Òg.ÁFáËçõr~öåcéo}c߃l yºÚâ·º)œ :ãîÖ”³)goଠ²»ï À<¤2©³ºW÷ÄßTìj­6ª9¯%pœ ûvw¶¿ãÞòOþSÏ&Æ£…þ¾!†QsY…ã`…¥*s¯j…ba˜ayVl qíЫh'c^+ç Ce€âðHyhdxèÜÈðù³ÃcgG. ›T»ìÊ¢€K—Æ._¾�8&�¶~D`#¹û'‡ð["0¾ñÝÀ·„� ìß �èKF €Z‡D\ñ@u½NU� �÷MÂ(Þõ‹@µ-¯XÊ—ÊZ±¤5o˜G�Í›‚+?ðöʦsB*}QàW˜ôÂËG¸o?¼÷þ;Ov:"¡–x�–�f}°"¾•Ñ}E �Ìõ«äÞ„ ¿}€ è8éµíò[=pò½oèÝGôt|,¹ÄŠ… 4� ©\†Ž©TÌsØ?�€Îæ‹
+
Ü_YR‰�€iô,�LÔ T—ºT™W½¦ e�Ñ�´-}5‡æý„ô«‹I?ÍûñÁv˜
+
ÄT€!ï:„¶­c •Ê€ýCÂ ÇBê?4œ)ã üºÀ³%AJg.ģ˱¹;S_ùâÞû7ïowaöŸöYI¼“ŽJš0ñú@�œ@ €œóØY°ÅÚÝ{Îm÷lIÿû×ôTDŸ¸x  48Ê‹9à9F>ôº�+�H�ÌA 0?£ÏMë³ÓðÓÑ‘©¾¾òãfÿï?t¿ï=}ΝwüA|c0Ñáb°ˆ±¬ƒËˆ|ÕW!úx.|à0Gí¸‰�ö6tvwúön vü¡ÒOþkåÌ)]ä±ÐXa'Ç2‚$j…<œÉ®V&¶ãM,h_°@¾\Ê 0\>;4|~døÂèÐZ�Ö„ `�ãõ2άÝ€)�tû'€¦þøà‹ESZ�ÔÆ¢h?„½�Øë @uÏ<œKUüù8/_,©ùôÐEU*(²V©:Å“à†Ÿ‚¤0ƒƒùe6­ŸyYýþ7üñ;v…¬½í6ÌþÓ>8VßBX�˜®È„‰7�x—Eº“AOO‡o_W`÷»ïÉ|ý+³/î_ŒŽEcZ4Vâ„’–gÁá9I‘ŽåQ·Ô�𬿔RK0.ˁ�ûÅI€òÜAŽé½˜O@¨6ðI P«h @¬è«<uƒýãÕ€ >ÄðŽ­1u G^ðE±XxY,�
+
¥"ø¿|\¼"\ð ç.ÈœÀw®äl6N'aa“Q¢ƒã™äJ"2¹û…Ø—>ÿlWh»£5±¥#îwd½VÔ=EÒ87,œiâ ˜Â~O ÃÞ¼´Å¬ë�==ÙøõÆPß—ÿN÷‰=³ÓK«k<° ¨Ðë?8€°²´4ÆâÒ2ó�úâ‚>7§OŒë¥‚Þ}\ýÏï½ø‘Ÿ ¹wùN‡é/p²¶&Á²^r4ó¶Fï‡SFð ÈþaWÌ­•ƒýú>[¢Ýw<äy!ìÙ÷àÿú©žIõ÷f3r. fD6ÃeÁG8T‚Ó*ÑMV&]á4
+
€r €‘òÐYœ�@6©Î‚°Ú$��—W%Ù�BVëj�BqkÀ Ö�7_�ÐìŸ�4û§@-û§cÿ$E;!ºüþ¡¼C§á<XÜì œPú¼ó«:iNì�ðÈü%Eo'^Îs¢šHNñœÎf—^>"?ò¯ßµuWÀÒ¿É Y0ûÇáS�˜0ñÆ…%gkI;-©°¯»Ó÷‚ß±óþ»ÅG¾©÷žíïì/$ãEEö$˱©\ªDí¬A¡)¸Ç
+
ð[]¬Š@Œ”Ê£å!TGb @'pVÓ À©Æ¥®(ZÐJ š xm‡Žý×�´áÅO ? ð9déØ%3TÆQ¨`·j†5p™€vÊa�.L.#q쐦 1Ì…è=Õ7¹ûùž¿ýË6´ð:¢aö1عQ-c05€‰k…J]JU ¬¾ÃR ¹.Ëqm׆ðñÏ|jöÄa}öÒÊ䘾¼``>אäe a– ­,ëK@,Àf‚åËS0­ÏÍB\Õ“‘¡žâ¿÷ïÛß¶eO‡ç%¿}��Ÿ]õÙ·…±4�ÞÏÁnx  `ÉÜ-¸xÜÎlÀ4Àѐû¹ ïÈG~ôW‹ý“q5c3I–Ïr2Ë+œ$s‚ÈàN!@ä4ŽoÄÛ¡ (á¢àòP[`¼eø¸Ð«Á° S†$€A�`ö?…#^EÔ
+
�L†o¼¸™ Zõcdÿä2Ø% ýJìßà‡è°8Ä!Tí9ÊãÇxîp=ù|: �$\÷/Jš$È+ g™Ro¯Îåôž“ò#¿ôÀ½»<-Çíë2°îR<Rš¼EžšÀ„‰77 ˜%lÍ1Ÿ½¯3°?ì;ò¾wªßù¦>pz%ÏŸ9•î9UP`>:Ãrr¾ÀÂ5ÁXÈŠ
+
«ÀÒÀ a¨Õµˆæa P,Ÿ-A¿„ÛÔè$�Ö�µ2�왨 õ•„�-¨„Àk;ØÞÖÊ�"�ˆí¥e�ÍþqñOö_*¡®_¸lý—DUpö€œÀ‡‡€ˆÊår#…B™‹Él±§[Ïô_ÞöËÓÿû¿»ö»,ܦ.­#l¸½ºK3TÙ¿ÙCeâ7bÿpd )š‡#,VÑëô{¶9­»ß÷î³ÛŸ…UøóÓãcÆ‚þk~0WÄíˆ@â¡¢ó+úìâÊüü¢¾¸³3ãúhQ²ñï|ã¥O<ôüæðnŸ½Çoç;½ù.Ÿâwà €è´ m¤(¹q‹uÂ�Ö¤¸šg#çw¤»‚'ÚH|dø‰Ç£ƒRq%“àØ´ ÃY@’ȈBnc”EMó²TP€IÑ�ð2˜f,ÁjCÔ 0SÃp*(=”®Â ¦ÀÈþ15%dµ®XK�Üx pÓÀ5aÿà'DØÿÕ}I@#÷SƝ¾Ã#àÕ‡uÿ¸UüŠ�•¼(àºÌþË9f,™Ô³Ù¥c‡¥o}ãà»îÝã³F:Ür‡›u65˜ý›À„‰70À<vr™r´0þ>ûvOÛž·ß=ôãïéý§–™¸Ö×-§“ª(°œ (y^A‚“+Q�Ð~€)›¢4��@`@4�fÏD�Ð2�+à™0 2`íœÀë?Øöbó»ûÇOŒ¶ÀXÉà?ÊP~Y„Å—(’—Qí¥ *p°7# j¹˜Ê¤ež¹§ïü@l)2xáéŸuÿ凞épì÷µE.Æm“ì­[e/fÿæ¿!ã¯�¸/5”« ÍIû˜Ï·í΍ño|MÏ‹úܸ]»×á,£@e£�\°‚ZÁ׿—õ™…å…ôu  ¦õ‰ózQzá©£Ÿÿ̶û·n؏zZãA;€×`Cêg§Úëp³�®ÞÛ"Øî`më¯ÝØy,ä{.zé6±oÏxïésé¸œŽŠLRâÓ²Ñ`•…C‚%i�h��(�à~�t`�j�(FJC#Æý�X`@4�±±¯(�fVk€µÀRÍnà#n²�0°"� ìŸ�ûÇ�¿k±â~°ïÄ3ª¾§2êgx¤P*«Å’’/ÀÑö¯æIï�à¿U®ûÎå�ûŸ‹DôD¤ð½G޼ïÝ{ƒžcÎÖLÀQºX Ü¿]ûÆ5¾M`ÂÄÑÆß½Ùcaìͬז ØOœ6øüѽÚþMèÖ™dip@ŒÅDFàX‰‡A%�¹Ú — —$ëSÌ+¥R*T¡cBƒA �k�| €8'¢ 2 &ðÚ!ý´á­-¹¤~†4û'±ÿjf…ý꟮ùÇÍWýKŠÈ«b’gø¬ê=¯ig“©Kýý:Ãë/8öÑ÷ïètî÷¶&6˜3ÑøVÁrÇùv7 j€Ÿ‘p G7✀ñ4aâUP<´ͬ„c+a€ÏiÍz=>ÏîÎP÷ß|vîÄQ}ââò$ …SצÕ÷*Eýõ%€%XkT”‹ó ss s‹K ‹+ ó‹³Sp‘ðÂŒ^Ò.;œýáüèûŸïtí÷6Ÿö5§}ð6Azî?A+P`*૚k’½M¬ý6 ÁG#p¦6„_ ¸ŸßØÞû…¿)>õØTÿ™sñÁB""%À$U�\Tā1ÃIÂh'#šÅ\
+
”*䇋…a8´î~�C€²±ð` °– $œ«€ºÀøŠ_ëó[/�h'„�aÿØÑîçì•™?°îN„Ê£±…Bø_ û×DÄþUEÑ`Ë/’@�8v8—KÆç¢ú™SÅÿüîÞw½m›Ç6°)œi÷¦­MÀ»”=6Râ~ÿŠ?`„‰[Àý«aãjà썂³Yp¶ŠAW:ì:êiÛÝî>ôÞûF~òC=Ú7>ÐWŒ”y™Ë°'B $�ÝœF€X�Ω€Ö �¬è* Z�4�ÉP4ÀZEA4¡5Û[Úäâc ûØä’ç†c€‹û'�ÇãðÂ/ �4µûìŸÕäŒÄ³¢ 0Ùó,3Ö}Jè×_<øìÛïÙÕé{)`ìt3^ÎgU=myW Ûòf<=' v³ ¯ˆ¯�HaZc~Ïáÿù»ï”~ú_ú¹’>yq~z
+
°óK'¼çÚØ°¬/-ÂÝÀ�ËsW4ÀâàýW�ÁâÌÂüôÅsgõ© }vFWDî'?ÜñÐÏo ¼´ÁÓ†ÕË•Û 8’°è–�ðŽv5d·ntKîæXÓ›æw…Žt~æq¤¾úååÇ#}cÑÁBlPNDE&€(Š@ ªKx°�€@=Á°ìpH( ç‰� €�Ò °ÚÆÂCË�(¡�­®.�ˆxã�ò—qCþT| €¦û4ãÇgªfÜg-õ'®ˆ8$ì{ªîk€áʺ4ë³8ù±ø>‘e•x–e‹²\H§ÕS'–’=60ýä/žÝÚu`càd»;ê·gÝmÀ÷Kö6ÅÞŠ}Ò2 úÞ­_Tû.7aÂÄox4€ šä]–¬× Øú6‡ž÷¶mÛ]+;ž×cÑâ±ãj^βš$ã¡@9–ÿ‡çR�%�(à�ó-hr¶Kpr(¦Èµ2€V„ý_€U@«¦VÓÙj¢h@ý«<Þ_­÷©“wŇPÂþqBƒd�û‡9àˆ‡J’È•dIÈäÒj± 5\9+ªJ1èñèåÇ~ñÒ‡ÿx{»÷T‡w0èˆûmà²snHVªkU*ãÃ!`¤¶² öE4aâU¾ìMšÏاèm‘|mgsÂe‰t…¶…}ýÿð·‹Ñn}~\_˜‚sx–õÙñéR°¸‚° × @ á@ôbÊ¸ `Æ`fFÓËÅ¥î—O鯿g¹}ØÝà7z%¿•s¶ŠNðÑšµ6ßb�vWÂáŠp<¼ÍÁݝòYûB®Ã]îì:ñé?׏¼¨ üPÏi->8šWDáø¬ ñ —c8VÑT­b�§pO0ZÆ¢PËþ1jgƒ"ëZ_�Щ�ZÐ¶A >Lxòï´�XK`@Ç¢ˆ7ˆö=êÕžR`¶ü–ÐË_�dÝ/ ÿpN‡¬
+
+
|\â„ ™´Î±z| ô£ïìxÇÖ›|'۝Q¿5ãi…7Œ€V,� €¼wM`ÂÄ P� 3`44í³žv6F¶vÚÜþâÞ»´{§žË /U &Ï1)N`EU®ˆã&Ë–Ôb^‚©�Ϫ(ÂÙ Å‚R*ªx5!Ö�X�4�¶oDÔeÿW©ZÅî_Å©Ëþ õ§-ðZ±Z�Ðá\x©È"Ëdž®4TÖ†J±L*Çs@ð㉘<÷³ÿ~éÁ?ÚrŸ»#WÊØ¿ñ\ùO/óB†
+
€[sª‰‰ß28š7�­€º[Á».îwï >±1\|ô'úYmibtbrlieQ_^Yš™»Þ�uÿVÊÿQ:�É€ê€Ð+@ª`qö ,,®LÏÀõd#×_z‘}ä߶ݳé`§ç„§%H¶ÏÆùìœÛÊ:n­ÁY€îg½�4\±¢óùMø¡8Ò8pß=Â×þeþÀÅDtœÏ1‘>‘I«Š/È…ì°–$Ëä€á­äµ¤/+€‡ ðTCÀZ�€C"� àê€h�šÿ �û_º2�+*:ü?¾ºùŒ¸ì‰¢ØÅU}OE�ÀÒû‡£?áÈ8£ÏýLå8ŽáK©Ì|&«Ç¢çþ“c~ÿ¶ ýd§+´faÖ OX=¬F�˜0aâ ˜aào…Ñš„»5Ñé}9ì}Òeíûì_.Ü?Ùsr8Ò7Ì3y…Og)& œ`ü‡¶Ãà*‚Æ¥Êyn&Äëɯ$h@’�ØèÑ€fÿu¯íÐöÖ@ýióK‰ýcóKÿø`@Ø¿†æ!þj`„yQÈrl:V¶”NÏä2z"6þä£Ý}pWÈy*äÈm𥽎œÇƸm€¯àÅ¥X‰ 'š£šS˜øM�W8›eW«`kì-bÀ yw=>ú!}ð´>?~áBñÒÌÅ90™}e醀Ê0PÄñW`Ã/ì XX­ÀwçuÄ»fç íÔçôsô—ûö·^þ“¾àw°6Dýv!ì¼VXÓXsn"€¥Íz­†\®ôKx,íž}^ûÞ{¶2_ÿÚJÏɉãΜÓ1‰Ï¦S±t&.)"'ó@@c-°'ŽËË0
+
\V€�€}¡” Û�°¨Ù PÙÁr™�DÐI�ƒ�0h�Lƒi€ñõ¾Öçf
+
€Zö?_SýO�aÿD�Љ¸"ÚýÔŸV³ÿžùKN °Åþ+ ¿$rYÍäÆÓ9={ô‡ÞÿGÏúl[Ѱ-ão<ÍŠ«Qs5*®fÙ í‚Á÷˜À„‰70ðˆI¼-…m¦0êìoKù¬=î¶S›:~Ý8öéOè='VÒÑ‘Ä`Y`Øl,™‰fùŒ”—K…¢ãó¢
+
By8«N)krYUá\âÊzò+À è<ÀZ�²ª‘¯íÔFý+ÿÕÔ?ŸshÚr-ûÇ9 :üÙ¿ªª’ÈÃý¾¥xœJ¥dI8_ȏd3£ƒz*~îW?=ôà{v…]'¶˜¿ Ø8Z`T÷‰£0š½2HF�ÆÛ�`
+
�¯Hð[r¶&P{okæƒÞîïévé'ÿ¥k¢>7~qüܬ¾�01u ÑîëÎá°À2€0}$ j4��sÓ+ó3ó‹ ‹ ãó‹Ó3 ËãÓúÙ‹º¨Œþò—G>üà aÏÑ€#Ñá@òÚj/ÂM¸Á5W|Àîä*¿‚ e_Ïuxzüön iʏ¾?ÓsršMä£š¨
+
ŒÀdx!'Ê‚œ×r,#˪"©•¹@Õ* � �0êæêM…çÒê* ƒ0$h@4�!à `|±¯õ¹iÀÀþÉ… ÔŸfÿuÃÿD�‡D<q?µ©g\úV~]™÷Ø?<8öX?€(òŠÀs¹KéìJ42õÜ3±Ï}úÀÆÐÑ =ÖáHZy/ ýýkÎæŠ�p7Óå=µ¨¼«BIQ &~;‡Kâ¹ht Mû:ëX§mðDÍ‘ï‘ÎÀÓíÞÜWÿAï>:rôðp¤¿Ì¤ÊšÎÄ©(°B\6§
+
�ÀUáâT �†d`¥ð„Zd�­VG§*2�€c·Z¼¶Cx?¡þ„ô×Ú^ƒù5PCñOÕüŠ‚À1L(’¦ŽHÒÙtúlw7Ü÷ùè/Ž?ôÝí¾îNoÔoZ× žÖÊîÒʸÈ °Óìx”¡ˆ@Î×�`
+
�¯°ÝÝš±5j^x§sζDÐs ìÛö®·é=úÙ}vzzaf^_žÑ&ç&ù¾îîŠX¿m£ò¨h°4?5?75»47 Ÿ¤> Øô¼~yFŸ^Ðyiôé§Oö¯vßÕuÐgô;À±ö[Õ}ÀOQã¸C µ p:àÜÓá?øàҏ¿¯‹YõäQ560ÄåΗò|.LÆÕ¼–erp
+
³¨h’ 4�ÂPóE 2æª`õ†à+»Ø±�0h�: p @’�D``|­¯õ¹ÉÀÀþÁ1ð~r°œª ÿÓá(썮â~ðÎ/�¼ð‹8ì{ªì†ýE‰DFãr…3z:¹üâÁÁ¿þìóAWÏ¿tOWÜÕ€:ÿèâúmZKýM`ÂÄx¸$ þZE�@Ÿ{Ô¼MûmjØq4E:}Ç6Ÿëô
+
ÿúU}`p&-ôžS8‰OÇ’ª" ò2Ð�À'ÁÐÊOe¹¤(d^5Ñ�@k€³pÏɕՕ4Ý' F¼¶Cx¿úÞOÛÞºìSÿ5Ø?ÌÁw›ËeD–¹P,h‘Á¡'õlfá…m=ÿØžöà™ áTg�P-ìæMdñ±•lLUá]`pZ Õ®mÂÄë��^Kʾ�ÉÝÆù€nnß<ó«Ëœ>qY_^ž_^™˜››†Í¶óK+ó×_� _Dý!Pä�ðJ\I,--,./Ì-ÏÏ­,Ìë‹óː‰-ÏÎÏŽž×gtÀc÷ï9þ™¿x¶+´×eéõXr¸ø–ºÙáÎ2eÿOÅÞòžõr°-võÛŸ ¹^þäG¦wo›ìSΜJŸ8
+
4€Âç’‰05œÀãM,•Á *,�Ñ
+
²R”á&’"šÀFi��ºhu�ž‹«“�µ�“ص4À×
+
O­0¾Ú×úÜ4€ÿ`Z�à Aó~,žpàŸ°"�pDŠvK´+¢=•z†Û¾ÐÈ8þéʼք(ò€ý™ä\:²tìðð¿ì¼«k{ëígÜÍLÀ’u¬ã\‚Îþ°XpBp®fšÖ_]�Ð{‚M˜0ñÛˆ+ÀfSípr6ç¶�¢™ï´¬ÿÿÊaënŒ:›S›Ãû=Ö}÷Þ5óÔ3z_tääÉÂ`oYbY&Û^sŒÂË�h\µ*)° º%U®Î«^• e�Ö�ØÖ…y�˜¤&©jZ ÔÍ�T‚ù¯úØ?Íû±Õ¥Ùÿ(µð �ÌûÉÁ€°prlVRx†É‚…lfx``)2¨Ÿ<qäO>¼£=tØíè÷:Ú€³·¾L+Ü»I¿³RŒ>Åz�®4™(ÉÐ, ÊàöšÑ„‰Wðæa|­iW£ì±°®æ\‡û ¿íùû7ßö„^VálÍe}aQŸ™]œŸ[\š½Þ%@˜Ü£™?U °Z�T 0û‡Ïdí[ZYœ›Ÿš›»¼¼0¹²�ó—ǁz-Âg‡ÏîÞÞÿ¥¿ÛwßÖý®–”ïÖªªÞãP�p.GÎãÈz­98‘©™wÞ&»€½M„\ÇžÝ[:{þæ3z4¢«Šz¦G‹GÏjŠd€$s—»Š2ZÆ‹På¥� …´ ý�X�Õ`ÔTPx0 ¥“�DÐà*€aƒ0¾ä×úÜ|@bÿøB¬Eý‰�À—�Ä3Ñ>‰°ÿÕñ'8÷þ„s6´ŽþC€gþ@Y( ’È*|Fc“c©=~FøÆWowïp·J÷oá‚öÁõ¿_ ÚDg£è€“¿Gçh5„ö¯"�Ì € ¿íÀt.ÎDá8>Ï #R¬s]1Ü&Ú×ÁQ>[Òc‰†]Ç»ÚßxçÒ®ýzoÿÐéSùŸ |N8˜tĐðŽ`(TUÆÃ1‰À±sZÐI�¤êÌ­«MÒ +Ôþ՝µØ?¡þ4ûéóaˆ¡êÔå"
+
ü—Šœp-0Œ½©0‡7õ€ï&1‰aÎ+²ÚÛ­g’zωòÁÚƒ/‡ýƒ~wÆçd<Ö´¥1ÓÖTº ]­ìg%�¾(83@zª{ÙÍú¯0l°eÐ8) Ò›|;Ö_¿÷íz²_;»< ¨ÞÌÜ<äâ€ÑMMŽß�°¤/.A €~K5��úŒê€ß�_™ž‡¤<X˜Ÿ^œ¹¬/NCQ°<¾857;9qYŸŸ×/_œ}ùX÷ÿùûgïÜpºÝ‹¦lY,¶©Üeh¾¼ •Æø˜þúõCõ6‡Û—9—-çÏ �ÞÝ�Ø¿ânȶ½Eêðrwur[·u…ÿýçõDt&ÓzN ³¬Kó,Iž �c Ǽ $�°´rAÁã×° “��tCðÕ€A`@4�)où]�ø4�84ûŸ£Z~ñGœ €þ1é'ÔÿBuñ ÉqƒW»=ð:á ¼r8‰ƒ_ÈbÅœò
+
y½q�¼ Ade±XÖ¸TD85'fô“ËOü¿_ûÛö¬Ù{·ôÙš³.‹ê±ñÖ†j›/q3ÜRc³L˜0qP:#kPö•IÕ"éôZƒž]¡ðá>4öÄ:Ú*Èǁ�Èä’<—Ù¬ÌÁÈ·"°°^—R EÆûVG§è�ñOt¤Š–kg�®4Ó0|—üçä‹ÄØâßBÿj\5 MîH¹0RÊJ…âpb¨�,Üñ+”U®(
+
yAV…¼,$©À yN”ùl~HM¥J‘>ÏÌÚÙóWö\ÀqªÃ 8Ò>HD ÄrCæq…|¬9k¡òf¨ÅÄoð~K9Z¤vW¼ùM…ÍÁž ëç¶Væ;è²¢ÏM/£êÀ¦—Và GÈ·a/îõ=Ur_ÿà* 5®ª�¨@7WÐѱKú¹ Ó‰ô¡/ÿÓö­w¾p÷év'çi »èil·Khç â lÉ…w™êl�¸ ŠŠ¨ÿ%ö¶ Û´×vºÝóë;;RßúšïÕù4súŸJ
+
…d:Åó¼(p*Ïk‚�CŠ"iE�Í"ÆÆ–NN�ƒ ”@Ål’¹ †+SSÓÓW„á³h5¸òóÕy „úcžLèÆWïë.�hҏÿ°%Ô�P+�ˆ6zM€8'ƒ7"NSì/ÑĹÜ¡©bj>à_U¨þäL–áe‰YÏ–2‘©Ì í½øøÏžڏÛRwuœ²7ö5ßžy{‹b¯Lû©¾ «ìÿ–[m„‰[À'½ôº{kê _˜Þ±}6Ò_Šö‹éœÊfD.£²YË©@�HÀ/ɪLö‰ø¤º€îT£•€A²W‡÷Ó®?¨Ký† €á"�£ü˜/jBQáÊ[¹‚ )<�E‘/òB‘óYYg/d²:—>´sàï?wðލ=›ƒ±€-ëµàµ¾öoÂčxËe\!èJ¶½UÞì?r=ÝÕQxô }xTŸ›ƒìÆÏ灀Y�y¿Õ¥ ªMÕ/¬ÀXA41£Ï.éóú2+Äÿõk‡Þuÿΐs`S ×iOµ½‰kýƒ¢æÜ�ÕaÜp/Š{ÞxðÊHøm‡º¼/ÿ郣¿ü±>xúb2¦ÄãbŽ8@âX…C@ÑV€"� C¢-um¬!¹J,ê«�4Åû|3á7 � ¤ó~Bý‰� Ãÿô¥!�³pHÙ>8M¼‰ú×RÜٍg¾Xóš˜WsUÔ‚��€�IDATEVQRQÎñðL,“ãýSÙ˜ž¼øäã§þô#ûCÎôÖv3ÖõBÐ=ÔJ7Ý^ò»ª±ÿ+ÀIçÚw¡ &L�ä<Ö¨ÏùRÀ³oëæÔ?~qæÐ¾¹dt(Õr9—s9‰ad–…öH”pK’ŠfÓI�’¡6T©b»G`Ð�¯C ÷Fþúß©ËûiÛ P.P.‚'<T�B �>‚ç/¨ò¯ë+*²˜Å<Çn(Ãú#S±ØüÉcÉo|å…{7î ´õw¸R0ö_é›2‹'MÜ�/Ïzmœß‘²¯ÏuyßÿÀüKGõKúüÜœ±À"Ãs]yÛë?5�WU>‡`eñòÔôÙ1}|F??¦Ç"‰‡¿úÔvm Ûúºœ|—Sö6ñ–·Â¢»J�´ôDÓPn­eÛiŸµ·Ë¿£Ã{òãžxþ)=“<‰ŠýÑ"'I 'q<�Š�ŒL +«‚ƒ­¡4Ú®Öj�’8%»Vh099ÀLµø‡°\œ €h�ƒ�¸N拏)�jÃÿtr¤6üOÆþà@|qBØ5bPeÿ�
+
Î� ö/)2ð¶/*øœ‘³±=10¿ãùÁÏ}æ¯;{ߝ§mëûÚÖ'-’ß™÷»9kS1àªö–U’ÑbuEí»Ð„ &D´É2í¶ ìû¼Ö}÷m•¿óïzÏ\&͝îVÒi �†8Qäáú8H„ƒ*�ˆ ¨› €À  JÀ ꢖôëj þø»4õÇÏÚÞáR±*�JU€'¯æ‚áeI”%Y‚åNyÎ\.G¢óéô©©o}}û;¶îêtõt¸ÜÍxý'ÅþWÕ"›0q�#}~ñoó`ȶ3èèÿ›ÏꙬ>9¥/Íc° /¡U\ׇ¯ýæ§ž�@mÁ°Žhi.0†}3ócãúØEýò…¥þ“ÿÓcww<çmJm î
+
3Ö;VÓ}(�è.Ç[9¯%Ùé>ànݱ1˜ùòXŒFGâÅdVÍr"#,’D`‡Mó²·P–¶ÖÆb+Đb@k�¼sPü€©© ƒ�À½³¨`­$ÀuÍ\w@þƒ  Ù?­‡û§Ãÿ¤ñ7[àSíE{å �Ñ�…@®ÙDs'pï/�à]�—Ï'㣩˜žMè‡÷±_þû[6ñ¹Î8šûšoNÉkË´®“=VÍëdÚš1õÇ©8u Þ�&L˜¸•ÐÄ8Ös!k»}oÈqäCï=û«Ÿ­DFûµdŠÏ1,˳òJ‚ ¢"ð@àYt ¶€pnZ ÐQyû¯%úЂ¬ÔR #õ¯îÓ) ÿ+ÀÖ:`wÀ“G[85AQ9 Æ_`Û³Àj\n(“˜ŒGôhÿè/~ràÁw?ç±÷µ%CvÆ×ŠØ?¡û˜ý7� ÚßÚëlÂĵ�’ß™qY2AëqoËóîÛëż>>À<œ¡³„�é¾5ò¡›~Ö�hАˆÙÌÔ4l�O|vș٠£úÜ„žKô?üOOl >ïlê9´~‘„ü«mN·`^\|–°s_À¾ç¾»øo=¬÷œ^Êäòý5Ãr 4¶ŒÀó"°Cœ*ry‰ƒ“˜_µ� Í)À�P,�¦©­ÀD�Ì B ¬è$À Ð�7S�࿹–ýãëb`ÿ¸�þë
+
�ƒ£ª›�À»æaß·¬ä% ¼ÖÀûˆ¼ ç2ÅdTç³zï©â#ß<tï{l­Ùá´Û¢…CÍk—]m�œ­5gƒu¨€ý#°*"ej�&L¬&ѹNô73Ü/‡à°êcŸüÓóÏ?£çråXLJg†Ér<Ës<ÏÊ<»Q.€h€µÊ0Û®+°Ç¢É:í´è¯×quDHЀÀ@ýq…\¸§ýd NüQ€�àe“T^$‘×8¦”K%¢z.9òËÿyñCìèðöoô§Â¶¤ývލ‰~…ëöo
+
�7Ám˸Ú2®ƒÞæí÷n}âçúùѕ˗Vô…*û_ÂC7—àˆžß037‹5�¤¤“SúâÒüôÌÜÌìä4Ð6súÔ¥•Xoâá¯>¹Ñ¿­m}fS0뵈•%HðˆTèÕ\´›ðdÒÖuL§«;ì|ÖÝ
+
¬Êؿңƒç#ùTšÏAc›V„[_5‘Pdž¸Ôµ±$¶‚ƒ Äœ’$�iÀÔŸ¤€��´–h�Â{‰� �“äµ4À5”×]�x?©ÿ!0}!°¢Ãÿ„ý“ú,�pýøIUÝÀ%öçiÃÈ8°²VPÔêêME5–+3™K©¸(ý¿~ï;ö§<mlØ%ù­¼}}ªéM\Ûú¼Ç.Ø[˜¶f5àæÜpÅj€}’éL˜0QM’§Qðµä‚¶þc×þüæ®ÁüÒÌKG.ôâ1>›€å^Èɇë^M€F­ WµDÿ* 5�ýxͨ•ý£çV„V7¯HÀÚDEƒ,¼TòœœgD�…ƒæ÷|267pfrÛÓ'þìC»ZŽíâ!%deí· Ž;D¤p–Åû¯ƒÚëlÂÄõ€…³µfm™¾½þ¶}x÷Ìá½úÄ¥¥‰ËX�,¾yeþæo‘�ŸžšœÁßYF=Ì�K+Ëóè[ —Æt€Ø@êk_Ù±µë€ß>t� À»ánC¸‹×Û4À-%��8WcÖ×ëpÙŸïòuöSžz>68‹K™,ñ@�0/œ*°#: P@jó�$°B�­H�““Êf‹+Þ1ïÅpA�\E\yA³sÝ€÷ãÊ:üO�æýu�ž®ŠÉÁ Ö­Eý±ãD{¾D†žàêÍ/8~8—;‹Ìõ÷,îßyêS{ÒÖ0¸9¨þagÊÙÀ;ׁ·x)`+áôO �
+
ë°`€FRàÜ´™’6aÂÄ+@ö´(¶´£)ê± v÷}ßóNé;,î¾0Ø_HÆ¥lŠc3<—•ø,�j¨ôT“�*Ü�m¤~E @+šÊ×]Tû]lo±±5üêÕì®/€c54�%h?üCDàf•<+©P�ð|Í¥3‘A½ç䱏?´£Ëw4äHmôÆmwdZþ ´”CmU®¶. Ùÿˆv˜öÖč„…mk鬙;û;œ‡>õÐrßI}vrqfr±ƒ�@¸n±³†��¸<5¹°W˜MÍLƒï’613;½¬OÍ/ÍMMê³ÓúøÅÙ£‡Nüõ§Ÿ»uyCp0$?n¨8OÃ-¸h¯vÄ[ßœ Û3wwlw7=Ùéå¾ù/z¤÷ò@_)™²Y–ç8(�„<ÇÈ”±­�D[J �C� �,��´–ð~Âþñ!€h�@ÿí�ô“èÀ¿ô€�Ö�àÆ_š÷ƒƒÐêKÐÆ쥈KÞ û!ì0õWѦ€Ë€o ð°9‰á4†“$Àþ—b‘Å÷ùÜ_lß8Ùå‹„í)KÊqô1îõ˜ÙS-/WÐâð?º L‡d„‰µP)–E#´Ó^GÐ{¤«ý…»¶\~ô—z:u¾÷ŒÐwºÀ1\6%q,ËdÃ ­ÁØ9öoÈPÓŽŠ–†Oiöš@þò»°™¥ó�ûGSõ�UAV8� .à‘ BÒT>›Êôé,³xì¥È?~ñ….?`ÿ½[Ò×
+
¹…s�#‡Û—Z°íEv|
+
9‡¹ÛËÄ Ÿ©õ·—6¶ŸðXžöYÿ“žëãc+ óhÍV˜Oã5½«ùÑ­u €þÀÌìâÜüòÒ²¾¼¨OŒëcçô3'üùÇžl÷¼´ç6ägºå-¢s}9l˶½å–â?0aèhìMj‡'´õuy÷í;îÝ2ùø/ôhÿd<–Gy�™“„/e¸"´¯pKn¥5�m<GQud¹@†V`2t’Ú F¨? Áôc̍± 0�¢Œ¯åë=×Q�,£º:@?�Dö€aì�tø¿®�À ÿ�ݧª¨yã8ð|j"q1“žê?£Ÿ<.~ã_÷ݽåh§/ÒᎹ›¸@+ë^Ï{Ö°šÜW&~™�´� ªTM˜0a¢Øb R‹è´f=޾÷ð†öÁO}b~ûszt Ô}r(›.Kr:™EY€²ÿ+³P £¶ˆÐñZ °û¿
+
ÈOÖ �èßEžv™Èöj*<²�/ÉP�ÏŠð£ÄåÊ™Ä|:©÷œR¾ó{ï»÷¥o¿ß–òYYo«änÆœk=ÿ_±½àSOÓ-q4ñ¸m³Më ÃG=mOµ;3ßý†.æô©ñ•e¼ñ·̪QðõÝüž«�¬ÈANþž¹i}aFŸº¸ÜýÒ¡O<´}Sð§5°Ã[ÕÕTðµÜR%ÐàõRÁÒ¨úìqÛúdÈž¸»sw»{×;ïÕ÷îX<Ó=2ЧFãEA•9…Kqª ‰<ì0h�li‹Õµ�ؐbê9g­� ;VË�x° ÀŒ—ÊT
+
ê
+
�¢ni@?E,�ð!I�ÂûÉ¡�¸(ø�Ýû‹ãEôhñü•êü¼6t*ëþ+ì_RD9¯±¢Ä|± )LV‹ôÏ$bzO÷ùÿùÑáw¿}‡½%Úåî'i[§µÛãáQ¢¹
+
¸¼ö}†Q&L˜0Q˜¶¢ÂYØ?§:À-)Ÿ£'ìÝ݈þsú±Ã³ý½åH´$ˆñXZTŠh Ð*@4�£"a*,0j•À«dÿÃ(‰ZWÑ�´ÉÅ^Sƒ‹Ì ý‡Ï5…vü·�%Àf´Tt&›Ô#gÊÿýŸ‡xÏ .[؝öÛX¿UðZdh�p¹p¥%½�˜»%›M¼±%giV»Â/zÚž½«]þُõ!MŸA„l•�@ 7ߊ€ø¯pæ'§¦çaÀvyip·éËúÌ„~¶xá…§ŽÿùGŸr[€â;}¢×"Y×—‘¨½n7 °\Ða--CAOÊrû`ëmÌ&ßÉv÷¶Køçœß¿{>6X萒Y‘W˜œÈrK2®ØÆb3KÇYˆ €h�R D%å@¸¦k€Z@'°�  ª9�x /èë>×R�`Ò@’�ö�ÎŒÐìŸ4þÒ‡”�U5� ÿcÞO\W nü%!(þÇŽÔàÎ/˜ƒVENŠGà܉H¯¾{ûÉÿŸ½÷ðoëºï¿ÿ€çyýž8¶,qc/‚K”dűãŒ&ygµÉ/é“ñK³Û&éNm“f4iÓ&mÒäפMÇS¶lmkp$¸¸{arI%’âÄâ}ι<º(×V$Eôëž×Ç0IpAÞûy×ùÝ÷j·9M\¯‹050æ†é. c؃k{j� fèg5³¯_téÒuá¸58ŸÈ–}3À�èk£ífÏ~ç‹:²ßû¶2齘”C*Érb†n¸ aÐÂ�SÕÀ�&»ÂQ|lôk¢ûXõÖ¿�´î¿æ|‹b.0ì‚æ-K2pÿp×/—yN晜ÀfˆÐb<¤D'—žúùàï¼ï»Å×íNvXxWpÿÐRØÚ€àîKÖ<sYõýxK`ý”«ë®J0µò]®Ó¶æc¿õæÙžR®^R
+
›7�vϯ�€Ûš•*…B©¸¥e½´±¾|E™Ÿä3óËŸyü]ÇÜÖ`‹q[yssÆÒrMAl•­FÁÐ2Õnæ ñæ7ÆmMA·!üÖC'90óÃï)‘Àb4Ìù&Ù$#ˆ™$SÀ¦-¹¬g�|FE§Ð“�¯�p-P  �@ €� žnü<o}Ý�@ ù~t‹�@[öƒnqø‹šÆ_ìþqø¿Æý£&àšËŠE¡ !ºUÃÿLîð<üF¡ˆø\"¢pdñì á¯þôtkØi$»b§…15Á䑽M4Á+ôö°Ûª¶1àzÁύû×ÿêÒ¥Kt«pV†Cí^U�œ[D¸cekô€ó¤Ópþ=o_~æ•p`zr2Kó4Épp1àšTƒõEAø*…1@›Ц^ÑeÕDýÑù=5>ßn ."œ»â„Çez†J,%Ø<v$ò™Oï°8ÌÜÁnÆeœÍ‚½žK-Á܆„£þ´:l¤þ×Ï·ºî®À"Ñn=fm>ów-_8­¬.+ëª!Sµ}3*¡Q”¢ªÛæÕnËÚÙå¿ÂRÿR±X^Y] ÞWas]Ù\U�Ð éß¾æ=ï<Ùa÷w8ØGÊ7H­?h¿A ¶6ÎÔÄör¦½SfÎÕìm¹Ïßi>bmÿ؇V^zN!ã³á‹‹04,i.Z÷îhc+SjK�f€šN�Ü
+
|£û¿^„Ãÿ8Žîk“�;2�€ڏéV×í�dú1¦h­?vÿØôã;�ÐAÁî�*ú׺dýÑBáÿš‹“6¥uÿ"/dÄt†Ò4“ކ7J‰åï~ëø›öèºŒàJÌZ›$g[ÊÖʶìËÛMSkÆÔœ6_Ç€›�€³AÝk¿�ºtéºG¤©\‡gTn—4=>Ü~ÄÙ6ùùOl œÛ.%6åi
+
ei- ÝŒv$ìÔµ$ µò5ª7ýøïão…颯ýãS®úÚàÝ´JA÷/ɬ˜fø<IÎÇ#åD¸rá4ûÕ?~ù¡î‘NÙÛ·µ°Î&ØÝkmbÍ­¼©M0¶IF“d‚çU„O´*pGýë'[]wUàBuš^´5÷샅‰ecekmXÕJWÃÿê&�Êë�ÖW×J…"0þ++k€
+
Å20lJq£´0§¬-)LŒúîß½ôèá“NKÀ €³ÝC¿’àA›öÉíFÞ¼j»oªÃëh‹öDmÃÖ£=íá?û’26ºÅ²¹HL (YJ¶c �PH�f�<»ÿ›�ÿk�3�
+
”×i ösºÕuÛ�@[óƒ�[ìþñ»Å�  ÿk@þGK;ü,µà
+
ÿ£+¾>åÐè¹í rÿàC•yaZÈä>Ÿ .Eã›áðÜS¿:ÿÇ:M±C]a[3éh"­{y{KÚib[óKÞК76çŒUPàz9Pµò€Õ¤_“téÒõß©:ÍF†mj¢M÷±œ}.ÉÃ]â·¿Vî[‡²ÁI!™ ic�"›@  Ó`f{G¾ÒÂÀŽÂ§FZӏ³¬X;��(!÷ŸbSiZNSÜL’¼–ˆmŽ ÈßýÖÙ·?rÎi‰p³]öhëýœ}kÛËX�F#pÿƒ5k2Éf¸ñíÜG©� ª5¾uV—®;%p­¦ Ëø¢Ë8ú¹+Ñ ²¹^^Y…Ùm�€1r•¶îU�ÀC~jÿ`'2ØÜ,nlªÅM…
+
øÇk°hs劲~UY½¬øGBúG/=´ÿB»-Ün§í†úãö›R�Üm™öÁ¼‡m»O4=˜s™Ò=®xû¤Ý|êoÍüè‡J(¼‰‰¾@ž¦zŽÕ2�Æ€ú @M��¶
+
èÆVàj Æ�äûñ-�€…,t=ÜðÙý뎀¶ìGË:5á-�ÔTÿk@­ù¹8§.•æfæª]¿ÓšKÿ§5á�¸-e#äå8¹möþÉ—žq;|u‡Æ˜i_ªÛÄÚ’ÆÒíÉl[[rÆV œÐVÕ��o5‚[�téÒu3áù?@’Å�|-šjŸr´DŒ$:Oµ·ùí·^{ú %à]ùSñK&h*©2�ÃÂE!÷/Hp¦¾”ªÚn¸Ãùv0Æ€šT€öö
+
ÒƒV7ú~¸Òhe3éìõê-�H"ŸàÖ++§h!OR ñ¨‹\;ò¤çÃïÞÜ4î¶’]6ÂÒ(8›�°�šc›l2çÌּł�€qì �û(t�Ðuw¯õ.cÀe<ÚaøÒg2®6‹««åÊuÓ\Þ®ýWg€Þs=�u§?Ðü1øÿÂÂÕâZ¡²Q*¬l(…ÒæêZic³RX_˜J+ËóʵK—^|êÌG?pêà~ïþŽ¸Ë¨Ö¥·ê/)j›ÄMw§g2ÕÞF´¾µîÉ»[9ù–ûÒ¶f²m_Ìfðw»Nu¹½ŸüxñäéR ’õN¤DR¬&㊃,ðtšMer×OžÓ7¶Ti«€jºoÌ,"‹0�™^d€ �À °k��¬š€’fòÆ�D5îDE•À‘‡ !:ŽHhè':аøçâÌÔÅééÙ©™éü¬ýÏårðú”“³)›IåR2¸Á,4\¼(p³Ù,ç÷/‡
+
¿ý7Gvö8}.å0¨sý¡­‡iz𣩽Bßø³»“´?ñºtéÒU+5äÛŠ`A‹0€J-n¡Ìp½)|¸ýùvóù~@ñô-ùG3Á‰4•¨d<ƒýK‚”H$€ß†—(\ $$pjV;#ÁlÐÔØz .]*�S"<+ذú¯^j«/8½B߯"�Üãn󛆛ªƒ§„³~d E[‘âiId9Žãy¼™¤¦Ã¡J,¤ ù=o;Ùi?Ôáµ6„-û8§–þß0i nûµ-øˆ6òRxu麣?u ã¾`—ý¹.õÝo*¯\»<òÚúæu´b¯~±ËW•à»–®\.–*…âÖfYY-*kÊúª²xI¹œ¿öò‹/¿ÿ½Gm¯ÛL8 ”ºerÚaɶ[8K[²u¯:§5m†·êÙ6ô£”êó퓺] ½:Ì]ݪž[€»KÚšcnӐ¥¥ÿ¡ýÓ÷ Å3Q ™t4*„@'Á)‹å)†#Si!–a?@:Ϥé�§À©|v*ŸFAçééé™™™ÙÙYt‹bÓóóó5“ë‘õ¿� ?ŒÝ � ߏ|5±ƒVí§õÚ×í�ôBÁí �8÷Ý¿�0hÝ?�Ôy=37ŸËMÏææ¦¦çrSÓ™©¸0Áëø¤Ä¬,eáð %ƒÓ´yVæh‰"h¢49±øäz?ú¾³ÖèA7ÀVÆŽ~¯À6ÅÖÿTéÒ¥K×k*úW‰8gfð‚d|cþ 5nz ÒÞæ9ÐñÒ›zÉoþo%06睥bŠâIx~ŠfÕ<�Lp«ºÿ�p¢ËHpÎf½û×2�Æ€* d²¯^êh… TþkðÍR©Œ¬
+
��|2À��È��D†¢àKð¼<IʱðR8 ŒG¿ô¹¾GŒ÷Ø¢ÝfÂm÷[Áqˆ5Þ_ÐtéºGai tÛŸÝï¢þé;JZF�°ºYÀ^ì†�úmph¿áU}•-¥¬ÚÿR¡T(*ee¥XYÚP€¯[¾¬,Î(i&õÃïŸ~Ç[_vÃ]üèv›`7àM­¢Ý$9Œ�´�Po«ªû…#¡¦M^FXöq]Âm²›xÿÊ¿*G£¹ÀdžˆKÉM%x‘ÉOgÀ¹a(Xr™’… �@Éç2`½I~G�¸téb�¼ì�`a�À €Ü22Ï8P7~\¯yÝf�À%@�næþÁBî¿�ÔúØ-“�8 uÿxð?�€Ülvj&;›ŸšÍæ§Õ!Ôà×£êØiu\ž HÇ‹,“¢’¬oB‘…Ísg¼ŸûýcÝÎ!·…:Ô˜U1#Lœ˜Â €ªû‘Ò¥K—®[‘�pÝ L<röFÒtÿT™1‰ƒÝ'ì–ãïxìêÓ¿Øx¯$ãb0˜aX`öãq‚’N�€=Á�xƒ¥7�кÿ@õ.ÿ–œN¡Éžh¼L®Ê;àã2œöƒj~à˜5µS™å"•y.ÍÒB(t%[÷Žå~ò¯Ïê>Øè²x®V¹ÛÂXàÈŽúƒ¦K×="9ö÷؏p ?üg%—QV �¬KØ÷ß��¯ƒ…ÞL¹¬” åÊf±¼Q,n–7 ÊZyõÒbºÕÅõ…)ecQ‰‡¹o~íÄá®·9ÚåºÛ)c ÕÒ�ܦì=Œw§ø©.gXeÆÒȵùnû¨µíD»3þå?¼vþåÕx$ g*ljŸàYŒãÀyOJ‰BZ”Ó@�¹©ln*�/�ˆмJ´�\½z3€¶�,d†k’�;a�öØ÷.� …Ãÿõî¿&ü�`»ý÷:�h PeÕ î±›ÍMÏdçrS37��ìÛ€�‚�À‰"ËÉ49•LLû'”p0û/ß?þÈçmæP§3á6ÇmMp®Ð·—‡��kLu�Ð¥K×mÓ6�ÀXÔvïŒ;€³`o Md]mŒ©‰tكݧ;Ý£ÿHq°=凇ÒñDV”#‘°Ô0öÏ‘OÁ‘‚Äñ2��p’å´,J;f�piP dRé×$àò%ÕüKêEö!ˆpܧ:ë\%4ì_PgV¡iR$ 189
+
($1ä©S|Ï©ýnÿþöÃ6í%M„ioÒ°oî@GýAÓ¥ë�g«·ÛöÂá®ÌÏþM™B�°Q*k­Y[´Û×﨔‹Jy³T^ß(¯m׊… ¥PYš¹´ymµ´±zu>§,Î)—¦¿'ð…O=ÜÝç0%ºÝ¬ÓʘZ;ÜÒ@}GÛw¼Š²êÛ üŒ¸3A »´JÎ6Ò¸—²·ÄÜ–³óé·>"ýË÷šHä(‚£‰d4’ˆS çÉ€Ó§$¨£ øtFD-U�€�LMMi`vvöÕ�@ à€x ¼� ¨ý¼^ãºm�€ëÐKÄõ?5î§9ûÇáÿm÷¿„Ü}�²þµî:?3››É]ÌO_ÊN�P“Ô)Öþ£F4�"/È,›£àì¹­xøòÓ¿ò|ôÃ'œö`—‹írÆL´–F#ºUé� K—®Û,��iscÚ‚JQѵàоOv·Ä›ÿÇ´Û$™Z£AêÝ?â°ßßÅýãwJ~ï¿?;Ȳ\2AP �€fÈ�°Sg9 îa)¤1 ¼¸$V;0¤`$ŒÊã?ºŽrê5 µöšJð„Hj¤øþŒ ¤y>Åq2ËKp;¸…A’¡yŽ‘ã1àþˉh¡ÿ\øOþè¿ì†±^wÄi¡Æl—]h7m{(ãÞ´ó!¢KW€¤Ú cÝÖÞÜ3ýÄ(—ç¶V–ùÙ,Wwÿ­€_×Ý k«¢TŠJiS)­•Ê«••õÒjasUY/®,–V*×ç¯Îe”…åb~ýÄó£ŸøÐ³6ÐÝLv89§ Zp3ÜPë Ë²C_®@»ó�°]kÄÙ`ºu»óÊ ÙÚsixs[‚=Ž—ÚMžO~¸ÜjÁëÉDƒEds2Í2D’�@$b’ÈJ2›’¹T2@:›§ò@Ù|�À´f¡* T„|?ºE%@5I�Ì�¨XË�õ¯wÿ·‹n3� B%´À+¾™û » �ˆŠvl�PgÿTëþñÜÏêèÏ™ìÌt¸ÿ‹™üT¶§Ijí¿�·„2ÀÕ
+
n=CQ3DâZ8¨Œ ÇþôKÇ»;û-&¦Û-º­qÃ^¹Ó¬ºÿj º['üÒ@—.]·Gp{A3d�¼± ª9;Z뾸Pµ6È“谍·6Œ=Ôsôo]8ò¬B}>9𤓠š éd�†â–aÀ ÌqBQà€jì>€Z<`äþÕ ~+éºûçEØì+
+
ŒÌsªõg$†`Ÿ'𙘎†+4¡LŒÐßüëc<é4„ºìÀýƒËsÆeWb œÛLµî©?hºtÝ#‚�à6tY>zðÒsO(W.W®-ó³ Ùë�Ê× rm³´´^¾¶YX)-_S6+ÊÊFyeµ°vmuñraaV™I+S©ÜO~püw˜';ìL‡…w4‰¶}’n}¨�àþï�T÷hB=W�CC¾Ý,˜÷Q¦}d—킳íÌ£Ýä×þL!ã—"!Ú?‘O‰à\‰Æ%I‚9L‘$J–iÀ�锐ʤ…|N„E'° H �¨
+
èf=�h²e}!òÃõ €Ý=� ;÷� À?^(üs�Ð;¼IøI[ú¯müÕº<ø6aL¥ó¹ÔL&7¥Î¡–Ó)>-BɼªÕÿišš&—£áÒäDöÿxö폜u˜£.;k7Évð“Ñ,»ÛPÔ÷‹èƒ&téÒu{¥�d€ê@aõTƒ.Ь«™wXK#¸2¥l&ÆÔ65„v>Óaóýᔁ¾uŸ?íógY&‘HÄÉdœJ$)à�GÑ œ\ÇÓŒó�</ð," ;f�`ÉÐkÜZE!qH°Ù^9àû™mëρ—DÓ,E1àôK'ÂA%<9÷Ÿ?~ùñ·uü]„Û$¹L\Û^ àûKÓL·•3í­?hºtÝ#Î•ì´ v˜_xìЋO+‹WJËK[7�@h�àýZŸ´ÛÜüw Öÿ(ÅÕRi¹PZÚ(.6WŠW¯*…²²´R¹º ``Š¥«kÙ
+
ò3÷7gÞúð`—#Úi¦ÍiW³d…CxªI€j@ …Ü �À�äþ!�°m SnK|¦†=ŒË0é6œï±œúíG×Ï/qÉëá¢ap
+
Ä¢pÀZZDZIÄ�U�ÈM Û}�( €nq�NàT�rÿ˜´I�ä‡ë`ãÆMÁµFîÿ¶$î�`¦Á�PWý—¶ì»�híûR'~¦€ûÏ©ûψ²ÀÊ<”8Àå\–rÉä¥Xx%àS<ƒ£ýÝ­†`—SîuÃéT¶¦´ÛÀXáeX?׈PUg�]ºtÝ^©c@qÜ 3�¼"’Ž&ÚÙFZš8K gjí©Û6fÙ7r¸ëÙ—òCÅ;>ïóN“d<!Y.–$2ISI–¢Ø$CS< «î9žc´°£û¿�H«‚Õÿj„��¯,0´*øGÖŸ"9† %’âÇFW}¥s'#_ùüÑö¾.#ñ“°5¤-LËýàœo7ó�Š€-0ï«?hºtÝ#bì­É.K_‡éùÇ]=vDYºRX^|}@EÙªTJ0PX¯WŠÅk›�åkKʵ•Êü‚ruimöÒÕ|^Y^*Ï_,æÓÊ•K›/ŸùÄG^>Ø5Ñe8›EW‹lÙ‡J!¨Eù’ºzýA¾íB=ǰ@Ý}�lmA±ÁÑJtš'ºÍ/ö:'¾òJ4¼–ˆŠï”$0 C³@/Ѽ -щO¥Rb&/ew€YuáÍjÑÂ…@¯ � Ðf~Ã�€q&Ø}t¿¤Vþ [�¸»ô>w*þkÇð?î�®É�Àžß<Ü›&ŸÎäRi@�RJäR›‚ùp8(ƒcr› ŠT\™œõO_Üïv["#mƒ3§9ë^Ö¶—R/ÃâöŒŽm@HPûó¤K—.]·&4Õ^½_­ÕÒÚÑJ9 LHÂ5ÎÖJ;šcí­#ζ“íæÑ½oãùg”h(ç÷ ‚HRD’I’Àÿ“L’à’I €4Úņ¡8–æÔ³ÖŽ�ëyqG _/‰ãÓ°Ní�È0ÆRý# †á�—Ãq`�‰d¦Äe¿Oñ{“ûOïw޼¹#tØî·îað‹g"¡rw .]·&��AGóè!×ӏì/W.*`ÍŠ…ë5?� ^�°7ÿ-—À»)””Mec­²¹
+
Üis¥²v ö?,/+KKÊ"Тrõ*PñâE8in¦ròÅo丳~¤'jÜ ~µ¹¦7J†½¹vXsA›$g{ýwÿΩZi‰¼œzúE�ۍT³ã¼Igk¨ÃØßë:úÖG3ÿþc…"–’qÊëå(xý8• p:K
+
"™™4ð˜’,§rR¸O¸ï,p¢p0¾ƒ·Ày�´-�f�„¨xe{o`lýqøg�¶£ÿ×ý:p‹� ¨ €ž¿šz�Ào��Žý#�@ÅO�ûG� Í�`÷’�xë5��h»ÊLxÿ4Úù�€( Õ64^ídšœc¨åD¬ð.<ùósï{W_·+à2'ÞÞ"Ø8Ç^¸»¤½Aýi¨&èáuH€íN�]ºtéúõUBÁù?jv†ÁÔ$8°þ´ÝÀØŒ�€;¸,5“=vO—íTo»ðצŒ ^Ÿà¼~â’C&Y*I³!$@™�—+†&` @ªÏTUgý‘àÿ:ÁaCœ”‚…F"ÇÃ]¾Xvúò,P$‹ƒÁé˜å‚ �ä’dzxH!¢ Oü¼ïƒŸêuzz-ác¼}ã@[óT/ÀêÑÐ@×=-@égËð¡ö§Þr°<r@¸³R±êþ«�€àõ�[ÅRüOY/*ë[ëpì�€âÚrie©rmikiq Xÿ+W€¶Š@3ÓÊTN‰RßýƉG÷¿ìhev€Ú|‡}ÖeŒ{sem¤mM’Ëp‡‹,`0ÅsÕ>x²E�P¤îÂ.ªhsǺ/õvÑõ—Å g7#Á\`’ÇxŽ!9Š)F¤x’D&#rIV·@T �8P�Úžàz��kG�� ÇÐkJ€PÌý7 �Ê6h�¥'ÐÂ�€K€°û ¹ÿ��¹ÿ�Àó´í¿yˆ^éêΔpúÜð§X(žÎK],z)ßJFWO½”øã?xÁmõu9’.ÜuÒÙ,8Ùíå¦Í­S�¶§sè$]ºtÝ.Á!tÀâoï:R-
+
·èq4ªBM@B� tZ¨ƒ®£­÷Ÿ}Çá«¿øiÁ3šóŠ¡g¨$Ë�â@€Xµ.€´Ù€:ê\>R}ø¿æg8uc_ayŠãÁ-ÃT)#‘H‚çß7‹ÑH–f/EãׯG”á ÞÏ|âhO»ç`û„«%ÖÝ–t7��€;tnè¾Ã>@—®Û ��¡ö¶¡‡ÚŸzìЖ§_¹rI)€?F� ®ªïW­ VÐìòÞ] ÀZAY[/o¬×W6V¡®-®-/—®Ì—¯Ì—._.\¹RžŸ/J‚’•7ô¥Ï>eo‹î‰[Ài-o7¤Áoº£•s¶’–&J­Ï©?ηO�`¬í Cþ…QO¶xbØ!tnûi§uìƒïÍýË÷Šž¡Õd"1±ˆ(ò”À�q-
+
Lšç3‚�‡"¤àžè`!À��&-�à¶` �˜Æ�°c��Æ�ìþ“�€¬E¤�lýkêpñvÿ�PiT}€vú§¶ú?—˨›þ¢)!�ÀùtÀú«MiÌsL&º )þñìþqð·ÞzÞa$:¼Ë,8ZEG#ïÜÇ:`û¯µI6Ò&`�x1Þvÿz .]ºnŸª��œÚz€ “�Õ}Á`q*< U÷Ë${¥^ǰµñ{sô Ÿ.9Y EÅ‘ )Jq1†IP|‚à‰8OÄT�ˆ3I‚"«Ú‘pN 
+
u.ÿ•ÅÓ ïC²\’a)6û‚g€ý¾¢'“áh( ŠDü"I_Wbù›}ô`w_·+Ôí;Z¨î¶°ù>Æg!�À£Áë—.]÷À¯m¤Ã�àé·>¤Œ* óJ¹X©@§¿½*HÛ� ù“ݹ€ûoqk³¬¬• �¬nVV×J��V–®3ÀÒåÂÕyÀ�Å…Ë—/—VEAy%ŸZñفß}ü¸Ãïqû¼5îË»À}ñ®6ÖÑFîðoýu��·2e:Ùj£0èÜËØŒq§uÔi>{ sò³Ÿ\;þ¼B£!&0™x†cIØc£'�2’:F9F  Mà…`G�¨a� �5 €ü3€@®Ùot¿öÃ{ëÖ�gÐÓ—oÜú· 6�à7  ÿc�À½¿Øýƒƒ¢ý©uÿ(üÝ?
+
ÿ«{~¥Sð°X‚íhŒÄÑ2G‰‰ØL’XˆÇ7ƒ“kÇŽ†>óIÀv±Në4Ã;[œ¿áØKÛ÷÷/XZ û7$5;ö@]u?RºtéÒukº�@œzñC� AÓ$›ÀsWGÛZèŽ~Wë‰Ã]Óÿü]erò’Ç› ÆùÉE 6ç1†ˆB‘12™@Ú´0P%†ÝQ°™x'Á1¤4I1ðû4îQ°‰ …"²,ÇÑÉ
+
T>¹nŒ{”—ž½ðî·œrY';›ï0³®Ö˜ig�¸Ãn@—®_K�ºÌ¹žyÛaebH¹| m>ŒÀ"�@Öÿõ�ÀÕ+@Àý·V6”•ÊÊjie¹°º´¹²T\ºZ\¼R¸ºPº²PœŸ/]ºTš)H‚"p
+
Ÿýñ¿9Ô|øPÄeb\Ò¸—´4ˆn#kmI·[êòí,ç®�¸/˜& x«‘¶›‰Nç§éÂ;þÑ?)ÿZ"š
+
Ò0êÁ‘êy‘ãÔqË<Ÿ9Yâ€ïD  -BkÇ$�ªªé µà$ÀÍ�ÅÖQ¨½�n! p‹� ýc)noý‹üïþÇî�¢"ìþ1�à ¸ò§Zýë~Ò2¬ÄÊ€OA%XôÏ3Àý§i2‹ÍÅâEŠÞ‘þñ;}o{ô\ó^Îm•¬F5ÔÀ[dl{X˃‚¥I2µ¥MFÙ ÇÄÂn<'øU‡W&½&U—.]·Uê@ÜžV¡î?ˆÜ?<eÛ-Ѧû¤^Gì ã¨­ÁóÑ÷/=óT9žö…¤`” Ç™hŒŠGÈD˜""I"Š�3��¬š„�«Fô_­Šfà“H0ð ÔFd–!Xð„¢(†Â~†Œä™Xj|dÙïS&½þÏ~ìT¯Ó¿¿=`i‹·5æ»´¹ApV·]×@×.€þCÎgÞö°âUæ/*°X)£Øëë�Š›@ÅÂFy³°µ�  ,¯U–WÊ×–KËK¥å�@¹reszFY\Úš]" %%*ž‘È—¿ð¬¥5t ƒ=àoø¿¿Êî·Ç›ȹ­õù2�€´eš=ªNY¸�jÒUÝ( Ë1Ñn:}¨=ô¥O¯ž:Zކ/†£éx’§L8ä Ž;V·^g$‘%F–ÅT
+
Ñz@I�-� Y@5 € †ê ¯Æ%6Èuãàû]€šÀ?b„#�Ð Eõ?Z÷�½ÉÃÿZ�¨ÿãÆ_$��`÷/Éê®ö‚(óœÌÑ)†ÌQÄ ‘¸ •‰dþ™gÎäç»;¦VÙj„Ÿ´¹I4íÌòÐý7€G2fcÆh–MfÆfL: „«™rÂð¿Z1Vÿó¤K—.]·"p¶aŽQsù©6ÂVËáƒ(Q`5¥Ûm”¡wˆnÓP—é䛺ü_þƒÊ˜ç¢Ç›ò¹`„
+
G’ÑP2Nā®@Màf��-ýN¢Õ™B5¢¨$Å÷O°7��`xV�ß-ô²‰€0éÉ{6|ãs?ÿé‘Cíƒûm‰n ÞN[KÚjl-‚½ Y4 �,ÉÕ7^Ôu À…ö*�\œUŠÐâ—Ê[Û]À5î·@¥T\*6
+
›¥µ€¥Meq]¹zM¹º´uu±|õ*PéÊ•âÂBåòee~¡43§,\)_¼´*ËJ6­DùÅ#/?vø\»1¼ß²7ަt·•lyP4·Üi…Â
+
¼Ú Ýÿ�ШNiE àÌßo{¹Û|âÝoæ¾ÿÝâÄøjŒÈãÁ3¤ÀÐ2ˈꞋŒ ’"Ü@”e1��-h«€0�ԏE~1€6 € &  �‚¿� M: ÷¸ß¿�àú �5Õÿ�ê«ÿqý�Xÿ“–aݏ
+
�²(a�HÓT.™¼š¤.{½ï8ùo<Ù Ó:r—3kU«ü1�˜ac8¸&嬿´É(™*�´&:�èÒ¥ë6 Vü«õýÚ4T·#�ÐÆæL§ƒv4-ûÈG:Ïí·{ÇÃGŸ[ʍû„É0Š&"Ñx,‹‡^û5�@%ɾ!CLœ`�`�€ÏOÄT"š¦biïp!:¹5Òwôñß:Ók÷w˜b––ÙÞ®´ÕÄ4î™ëvP­{0�¨ï]Í�¨=õM—®{D�Î÷Ú`€wX™›QŠ›ŠÚ)[uÿ[5îÿVʲ¾#`÷
+
ëå͵ba­°¹^\߀%@Kë�–•+‹ÊÂÕòÂBé2Ðåâüåòü|yö¢2“�+™låÒEenNá%Zý鏞u[†»¬Ü›;½Mo`,ùv+olRÇò\ßxÛ¯×yñ†ʯAhÞ<Õ¨C‡ÕÁÿðéÔ30<í¨6„y€xóù®ӝ†É¯|¾Ð®ONOÆ¥8ǐ��†y–x¸/�`Eo–ر
+
¨�–4{¼2�`¨€ÊkoxÍ�€VM�çÐë«™üs³ØMñJ‹hÝ?Þö Åþpû¯þ—ÀÑçEN”áØjpq€–æE™b§úR ¨d¤éŸþðÄ;÷°‡: Û‰fí\µ¼Gýòz×Ýv8ªúGõ?RºtéÒukB§”¯s7>ÏE@´¹Et[i§1ælárž3¼ñiã©¿úŠ2Ô7Õ×/zCT(é›Äb Ž%CA/�#D ,*J&’H¢Eª«Öâoë†ÀÿöƒàßnOJT<I™H&!kqŠ!Àé—ONx.ú=¥‰ÀŸéH¯Óßi¥`¤ ž]ÕÓlíÁï½þA]ºî)�» ÇÝO=v6/^VŠÀö”¡'ÒÆþ«­À»�´¯VÕVy«RPJÅ­âxÊëë•Õµ­k×”åå­%8�´²xukq¡råJùÊü–šغ 8;S˜Í—§ó[ùŒ’J)<·Õü꟞负oÝ#vÙg{’­…5Š|(5,¢º¯ªC¡PO¸3ê53À¶Ð ÐÎÀÚÇ3æ@Û>wëðÃîgî ÿá
+
çG|R„¡€ÁäSIV�'<`;å/J,ÚT1+K™4Ü‘6—Mçs )`VU¿
+
¼+0±(Š­F´kG‚"�À PS¤­B €0�›~äûo!öÖ­�€¶
+
½Ž�ÇþÑÛÀ €�½m�Èýk�Õýc�@”@áVý rZ`y*Áá–8ž%H)ÎLG’ׂáÊp?ñç_xù°s¬£…pÁíè}§I]ºtíA°»°¶„M{Å6îáö>GãñC®Åÿú?‹}9°ÿ±d”ŠEâᐟ¡�¶�šþ�¹ÿW��m�h(ø ÉdŒHF ~Op“Œ’t„àCќ߷æóÌ=ñïCzÏù.[Üe¬_ºtíFmOr=ù–ƒÊXŸru˜ãBiíûûú€JQ)°ûÚ*¬W6×¶ÖWË«×Ê×– –*Àý]½ � rùÐÖÅË�fòÅ™le: �`+Q$Y!bÓ?ûÉÈûß}ÁiJ8 ²ËÀZé�p`ÎﯖÂ?Bs �xUJ9Ú潑ö–ñæ£û-“_þledd)ËÇ96É'š`Y`ù9gC8H€2d€W��`e_�´ ðš��1�€[c€× �è™j��¹�Úð?^èà`°Ð®�pP´½¿�Àq¦ ÿÀ¡Ÿ"x€S'['!NÎ2Ò•©„c©ýàÂão;ßcñºš“öÆT»‘3è� K—®]#ÉÇeæ¸eoØp?»ßÜo9boòñS«gO] „‰¡1>B’Ñøä„\£ÔN�("!±$ðæZÕ�ørGÝ,@Àß0xŠD<šŒÅÉ(Aâ¼?ÂyVƒâùÓ“_üô™ýî‰v å€;nêÒõ:P�:õHoeô<Üà�À °û ´¹¥þ‘û*o¬VÖVv�€«—·æ�TæÔ ÀL¾4•áÿ\¦’� )ÙÔÖHŸô·1üè¡1ssÜØ¸½ 0 ó£è;§î|‚;£Ð6½Ô\¨ç#ßq�à͍‚£5ánñvNvϼçmÙŸþDIS“‘t’‡gPŠ–Ó)–g(2.qtJà1�쐸�T€ 1ÀŽ�€’�¸èf�PÔl
+
†àà ¾ øfá-�à$��mý*Â;áÉ?�pé?Úô …ÿ%”ɤ`Éj<Æ“tžå¯2ÂÂĤ2áõýáçŽ÷ºÆ{­g3ii€ÐÙ¶·þ#×¥K—®{S’­‰1ìIw¥NC¤õ aÓžø~ëØa÷³‡;§~öo›~Ÿ88B{|l4Â!_<BB=Á@À¬c�€Ò¬zë¯�­õ'Õ¾P"ß? ÑŽ1¾pn2254\óÌýè§y¨ßnŠ¨Ã¶ëß”.]»Q°C´ÓàM]¥¡—•˳Ja£T*¼Þ� \¨€Êæš�JU÷¯Öÿ¨�Puÿ—.�(ÍÌ•§óå)èþ·²éJ&W–SJZRxrýù'#ŸøÐ€Ëäm{µ¶LuZQ/ªë� ÂÙh¨^²¬Õ©Þñ“ °ˆi·‰vµÝ-]¦#½Nß—ÿ@ñúòCcS-PŒ: `*“�`H§j�U­ß �ê“�õU@¯��ˆ´U@w �p0vÿÈúׄÿñëFw´î¼Iäþqø¹pPpï¯6ü_7ýSmÿ…í"K3sSÓ EK)›Ë“Ô\ ¼<â¹úä/Îýö;N:Z½v8ÖÓ´O¶xsíç­K—.]÷ªEË^Öp?e¼?ÝÙ6Õcæ\Í g‹¯Ûò¬«mü³_>öâúä$70Äøý<ELxG£± V,ŠÇ£q• ÄHU¸¹°é‡¾ûÁD’‘  8Cß5Sáëõ/„#×<£+GL~êc/ÙÛbÒÒ¢÷õêzÝ�@¢Ã4|Àñ˃îbß)e~F)®Ý�Ð\ ]°v��äþ+jìHÙ¨Öÿ”V–±û‡R‹�”ç/"�¨LÏ•ó9��Àý•ÒÙb:µ&°
+
@‚àxæ¾>ñŽG†ÍM KËT³72Ž}¼ NVïÃ)àP§ÍÍ‘\ÿqÜ q†Æl» ¼’„³)|ÀvÂe8ûÞw/=óÔºÏ?Œr‘˜Àñ‰DŒ â3¹¬@Qpð Ï!HÉ"�€`‡$@íž�(®e� �8P�5 €<ùÝ��ìþ1�hÝ?ÿ£­?vÿ¸�» �h§´ëÐqD›¡ö_,àûs©t"ÏHòÅtFôM.‚J$2ù‡Ÿ;q }ÐÖLº àGJ°Àݾd›IÝj§öS×¥K—®{O¢éÁ¼»•6¼1Ùv_ÚÕ,Ø›({S¨Ý0xÀùÂá.îïÿN™ô^õÐÃÃ\" ù‘ÉH4€†‘ €Ûh8³%F‚!Ǐ¿D9–ˆ“PàŽJ±h<¾?
+
>ïµ`híüYö{âáÞsöV±×ÅY›êÞ‘.]»UŒ½9Ùaí±ÿ¢×U8wB¹8µ#�l¡€w)�l•1�”7×põÿvøy»øçjùê\ýÜ?€òì%�¥<tÿ•LªÉ®§Ó‹¢ Lç‘Ù<yDøòçG{Ý^Cƒè6ÓÎ}Œc¯
+
�ûð4Q€œ@Z ÚÞ5�À3ÚÛÀ‰—²7Ðû­ƒnÃɇºˆ¯þ¹Ì{}ñQðú`“ðýT"÷àXÄ�pc`5 �„� —Ëh@e�¸Ü �´I€W��Ä�Ú$@å.LºYø½²�ÀÖ»íðŸúð?Xxô'�ûÇáû‡í¿j +§$VŒEâ)Nb±Œw¢ ޽ðâ[ï²DÝpç9ÑҐqhc³ì´è� K—®]¢FѼg®Ç,X÷Rm÷Ñ­÷‘Í÷IÎ6¦Ó:ä~Þeù½®yzsbLŒNŒS��+ …£¡H,ŒîGàX$
+
DDcPuÖ_ëø0Йü°ÂñD|Ãû‘X0ߟ Nf}ãׯGfþë§}¿óÞ—:-Þ.sÒÙ,»êß‘.]»UÀ›Ò–ÑnÛ/º›gŽ)³y¥°V)Ã)@Û��Uuþ»�¶ë��TT!�¨¬T ´Ý �@÷q�@yj¶45UÊe+¹t9›ÚLgV3é•Lv-%)2«Äüë?ÿIàýï´¶nålä{ÕÍz«I€m�h͘ Òpã4± ®ýPn·ZEsKÊÖÊZö1í­ãË–óï}Wáä±R$"Œ³±8°Ÿñxœ&)&IŠ,ƒ�MB ���êÆ* �¨OÔ��.z�¨IÔ~¶ÿݺ�Іÿk�@[ÿ£ ü׸ÿ«ÿë fë_<üGy Ô ‹)x—§¥´,FÊo|ðÓ®Ý8è÷Û‰¦7Hæ†)·%ÙÚ 8LzJZ—.]»D¢åA ÒðÆl§aªÃ Z²N#ai wšº¬g;È}ýWF†.úú¢Àî‡ü¡°¿Ê�á �¨p~
+
ÃT HDàÚl€VZߏ„þUàÜo h|§`>#ퟘŸ[;Vüæ×Ÿëqw›’¾Æÿ ¼f<mY—®Ý.X¤Þaï´<Ñi-œ~Q™É+›U�ÐzèëÎ7�œûY�¥eØþ‹�¸ÿ뀋s•‹s[3�óùb>[ʧ‹¹ÔFÀÆÔÌ%ŠYe(%-(gã_øä¹.G¨ÇF¸š9;tÿš™?ÐîËfhýÑl~q�îüɤU²YccÆaàŒRæ“Æ§á¥Þvþ[_W8æ*85z<ÃRò¬Àñ�€´��T�š$@íž�5I€[�Ä�µŸí·n�nÆ�´ÀÐ;Á£?q²£Æýƒƒ¢Òl•¨©ÿA™p‹�� ��Ï‹T’žÍOI‰dÚçWrö‰ÿxýpö¿“B­$ìH3è� K—®]"uLŽÃü8eÍÙZCÖ¦øÃݧ»í¿ûøÚKGÖ}Þhß…d(žô†‚> àË�Àð Øÿ�PH]á TTö÷5Â� E'ÃÄdœ ‰`"Šøýþ¨o"å[¸p®|ôùS=zÜnŠtû{Ò=FÁúà¿fëÒu—½©Ûäu›Ÿëm—þíûʼ²º¼¹±V‚N'�Øë�ت”p�js 5�À kË��€ûG�P¹rUÿoÍÃö_�¥ü �€Í©l!—ÚÌÊ›Ù,`€µL~ELme󛉘ÂÓÊñ#'90Ðm :šewÛ¥^ÙøÁ¸'ßiˆ6ÿ?é³dÖiûøß �à,m@¢¹E47 –ÒÞâï0]èmù؇ gÏT†õH —JeP>Ÿç9'$ñ:d3)(•0�¨Úa_°úV`„`!@€|5
+
²ÔI È‡£…�?õ Á·�´î�rÿ�p �û¿�`÷@*“Iáá?h(X Eg91‹] Ëã#ôßýÕ ]žs¬Â%¸‚ªÃ¤t�Ð¥K×.„‡Úãð¶5àBEX›ˆŽóí†3ôÊßùæJß…ÜÄéóÆü^À�‘�b€�N„"A °ºP ¦
+
Åõ_¥âáHb2ÂF¨˜72陌D�D’žüð244ù™Ïœîî˜ìuG\†¤½1Óe`M÷ßùk¶.]wI0í2úÝ–çz\â¿~O™ŸUÖ®•6ÖÕzìþw3�À-Àn��àþq0�Øþ{å:�ÀÞßm�¨ÖÿLM�ØÈg€6³iÀ�•©ÙV,ɹ-ŽW¢e|(ý­¿~ÆiõØ(;Ü,coIÃéŸû$g e~p{ß@<ùŽU³µÊm0‡¬µ H°´¨]£M´­)ÒÞ6Òm;óö7ÏþôÇJ,œŸô‹DRS±X‚a–f†F
+
×@ �À»¢i–7�°jª€´�€ó�5�€cÿÚa w�v,ª€ú�\üƒn‘õß.þ£v ÿãñÿØ÷ Çó,ÇqÃJ±Øl8¤Äc—Ÿùeßß}¢Ãàï2$](»¤¦–`Ø î(q·ºItéÒ¥ë×oƒî_�pW]ÚÖB¸Mãæ–½ÿÒ“¿\ L&ãcQßDØ?0 <é'C¡€Fµ�õB§Fàï'ƒ12LýÞ ¸Æ‚~fdhqtpåÉ'žp;ÚíÉAã>©ËÌÚörÖ½:�èzÝü
+
C¸Ãö\—ƒþ‡oÁ€õ•òæ�Ôþûº€òvøkÖÿT–—ËKKÕöß+WÊ �`õ?€éi •rˆ��2i%7µÁÉ@J*[ŽF•DTé?}êÝop›É{´iOÖiÎ9ÛXÞ©k¼õ>5P‹Õ|×�€³TU"gk&œo—õh‡5ú•/†–ãQ~rR žb±CÑ<M!ø*�¡Y@™LJ[¤2�\ˆv�Ì�5�€�€–0 s~Ç >ü_ãþ� ­�mé?¸sãðŸK�næþQû¯�T÷Dz¦V†–Ca%àg¾þWGº¬C]¦¨»ö—Ø«#fÑ”YÝýëÒ¥kw œµ� ö8lmI[k²×Ñßiy¾·“ûæ×6F†èÓ§ÉQOd|,âùÆÃ>_Èï ü€ÿ¶��ŽzG'þ`2I…ÁÉ¡y°¿8Ø?ù™ßÑe öº#޶°ioªÛ®â™}`]¯+ß»X—íY·%öõ¿V²)e}µRØ®Y �eEQ»v˪�m0tÿ�(-Vçÿ�÷„Çÿ÷_š›-ÏÍ–fg��T¦¦Ëù©b>[ÈeйT)#EiKÊXY‘³
+
Ë)dB™þÁ?m·&÷$lFÆÔ"[[ãÞŒ«³6@Ïv#�¨û‚íC[†Ý!Á'µ·±Ž6p >kpK;۝¦Ó.ã…Çß±ðô/".xÆè`8—JñG‘;@u& °]t�ê«€ê“�5Í�Ú$Àæö†�ÚlÀ�­ûGÏ­uÿ8ü_ïþµáðn�`÷8"ภ÷„ÝF)íü„�’D<KÓ³¡H)ªœ8îý臟7î‹õÚ ¼j¢¦rlýïèO.]ºtÝ^¡x?ì>TÏfè ”Ø47н®`ãˆ­ÍûÉß[zþÙ¹¾óÌÐp|l,:60 81ôy'ýPÁà¤*¸€qŠ ÕYÿW�ðGÃC‘H„&)ßð 92xy¨oîç?=ö𡱃±n{ÌÞ”t63Î&ʸ'ÛnªGºtí^ –&²Çù¬Ë4ù¢ˆœ²±¢”��Tgÿß��¯Ê€Ý ë÷_)1�”7ªîÎÿYZ�PmÿÝ�Ôþ ¥@q&_žÎoå¦*Ù|)—/f3…¬\ÊHI,²|ELoP\…Ž/Œ)£ƒãþÀ¹{¸ÃA;,tÛ>Xdk’]0�¯z¶»
+
�@‚½…··�À�î$ڍž.ˉíâ·¿¦Dý^ÆëDà>ûG� -ºÞ ¼L×À¼º+ðŽ�h‚NM�-�xÝ=�(©ëfî�vÿZ�@”ƒÞ*�äþQ�84Èýk§þƒƒˆ„��1@�Xš&Y‚XŠÆ+ž±Ìw¿sîá‡ímL•V¯—ŒnÞhü�¡nàúO]—.]ºî5“•l6�»˜j2õÃv#cjâڍ‘Ë[Ûù·?šú‡oF†…Áø¨'æñ�O�x'ü¾‰ÉIŸ*¸~¨’
+
¯^Á€bÜ“ˆ„Ãc¾sçæƒ“ËgNy>ý©³:}]ŽIË^¾ÇÈw¶Å÷÷Ïêß”.]»W¼¹‘9à~ÖaýÒç†T6W•r¡T)j��ºÿÝ�[e-� @�ª@· te¡tù2€íðÿTa:S‚[€å·Ò¹J&Wʤ73b1Ã+™Ô*A(röZ‚ZŠJ:£$IeÒ¿ö³{®Ý<à0󻓆ƌ³5ãl–ì ¨l[�°
+
êŽû7xšŽ‘¶Ã]ÌQ-åh u™O¹MþÏ~¬ráåb<’öyS‰8“H ÷¿#�@m3�ndVb€z�À �eno
+
¦e�TZÿ›�äþk��¹ÿ›…ÿ�hÃÿè}¢ú �jø€¶øG»ï/òý( ËÒ Mʝ‰D7b‰Í—Ïy>ú{Çìfò`'0N»ýAÂÞߌ¹1c®6ëÒ¥K×=.pµK› ÛƒðÀ ¶3!�€ à4ÑÆÆ¸½Í¿¿ýdOûÈ'>²tüÅÔÀPrt,á‹�ONŒû¼ã>ß„*¸ü^¨�’
+
¯R!¿/ä'‚“qŸ7xáÛ?xml<ýýð¦ÃCÝí¡vSÈø€ÐÙ¹›HÓžŒÃĵ6Üù ¶.]wO€iùƒÏXÛú?û¿" R,—1�@Û¿« \* ðic�@e †ÿ1�¯^…î�ðøÿ’Zü�`s* ·�Kç9_IeK©T!%ÒLEæJ<»Ér›Œ°'ËŒ¨ˆ)e«ŒôùïwN;Í‘N'ç4¥ìÍ��„ë½C�ªåw�ÁSsÖ½´­ xHÚÖÆZa70ø2Þiêï4Ÿþ­‡³?þ¾ Í…BÀÏqž$q¶1�p­Ú$��ê«€j��,TT�`¡ T†ƒðäÈýß �@O‰�@ëþw€úú �Èýk�¸-�¤2Pr:%Š"8¬àø
+
ªxžeŠI3’œñO*¡PñùçO>t¬y_î-…›ïG'L«¾Ô@—.]»H�ÔaØêeMÁ«€`hšír2††¤­•{ôàI»ñ¥‡öçôÏÓ}瘑rÔ‡U@ñq À�U ˜ð‚n&UÝ�ê}  š5é«*èóG'¼L(óxâ.\òŒ-¼t,ôùÏkw ›¸n;ÓÞnûŒ£Qt4C÷oj¹Ãl]ºîª8Ã>ñPÇsæ–þOýJ< ‡ä�Ó¼ �Š�vͪ©ÿ©@Y�Tÿƒ� ´¸X\TÃÿ*�T€¶Û1�läSÅ\
+
XEΖåLQ–7e~3Å®1evz1URi%•›÷NnÑ,°mÊØàêüèäÁŽÓ-ʽnÉÖ"ZöJö†ê†�VX»’��ê?‘Ûªë�@ÛZ€ûç¬p(kmJvýûÏuZBòEe|x)ü>‰JrÉ$K&µ PÅ�´K•šÈfRhO€\˜Û©›�îÀU@�p'�®B�PØÞ�­;Û¼µ=`èfÀ7c€¥¥«@‹‹à]÷vhaa˜ ùù‹jñuòl���ÏÂ]”³ét6#e²B&#¤ÒàH¦E)%�`xæ8†cX €?´šdÿDì~ÿ¤Óê²Çl²ús?Q„’𪩗�éÒ¥k÷¨Zí šW„_‚ÇycmldÛÍD—}ÈÞ2´ßáû½÷¯œ;–:¿p.::âñŒz¢ÁÀð… ¡qOplÔ7晟˜ðy½ÐЇü“È÷ÃnU/Lxý*1@>€ByŸo201998*Fâ/Ÿå†+¿ðÝo_xäM£í–˜ËH9Z‘`É¥ ¾ø;ÁÖ¥ëî þH›87l }þoÙòM(+׊K˪EB6Z5K÷0� –ºÔW^*÷¿µ¹‰7ÿ‚ãÿW–·V–+×àþ_pú'�zõ²²xE¹rí�P¹8Sž›.O«›Må€*¹l9›)§Ó¥Lº”’Ji±(ñe‘/ |‘ç
+
³IÓE’ÜJÆ•x@é;NåsϘ&,MÙýN¢é ¬åAÚÑH9›ÕÚ ˜•«'“;{>ÁãÔ¨1z°Q´í–qW[ß~çÀûÞ±òÜ
+
H ÷÷OÇã,Ar-�;ʰÇK üÃ{)NN 锐•¥\J΂•Ïåóy��ê´¸ð, ta�"Ä�5�€ 6rÿ�´Å?èK” x5 p+�P_´#�  �rÿ�ûW‹ÿ/"÷÷ýEí¿°Ub�älFÌf…t�@üÇ‹)Ž“8šã)–¥yš‘6&*·ôô/ûÞýH¿«•êµv��mœÍ ªÔˆL?ºé$]ºtía�« �…� c3¦íFÖÜJZ[“– Û0Ñn¸ðHWþgÿ<Õw’¼�àñŒ}~ÏÀ@È3
+
ä_{ÆÆÇ½ªÏÖåP¢�å
+
¼Þñ ßø˜
+
ÜÚNø'ÇýÞ #ÌD060856ºxòøägÿWO{¬Ë¦ú~X,K9ðv+w|lŸ.]wSà÷1ejàݦ>—áèÛ.Ž *KK¥åkªCR`«
+
�ªù‚9{g!ӏ^[=��÷¯ �TG"©î��zõ2€+° š˜›.͹Ÿ�àm.[Ìf€û/¦S�RRQ€JWà˜Ko2T"Kd\!"ÊÄ@yòM]Ö&¾ÛÎXY[pÿI'¬ßæ­FÙlÕ¨ÚUû¡ÜFA�°7Ó82†0¶÷a�@wX|.ÃH§­ÿ±C³ÿò%4.ñ ‚ÅùɓЎ
+
'Ò<pþ°@]â¸4'¥x��9IÊË*�äàv¶8  í@·¸�ª-B�€\w €ug�»ÿ�¨Ö�íÔ€Ü �¨µ?sZ÷¯íý…Rë¤LZÈ€C˜–ätŠ—3¬ ³¬ÈRtÿ”˜¤Ó1j6H(±dòo¾z¤Ë:Öi¤zl��h+æ*jêÆP@�]ºtíá �»1uɲí&ÙiJZ›޶x§Éël9îj™ø£ß¿xâÈÌè@ìüùÉᑱÑñ±Q×3ƒòA�›ðŒMŒOŒ·ï‡B†Ì;16…w¼ªÔ¿�596òÄúGØá‘ùÑþ_ÿéô;ës“VpÕT¯ðš ν:�èzý ¹Öeì0yäÐò™SÀ—¯­¨I©É�¨ûž€í¥v/ õ�PY[Aî¿�ÊWàøÿÒ¥jåOef
+
[$-�e¸ÿ‚ÈyV �ÅdB!¢JÈW~ñéȧþç9—!ìl:Ì‚£��…N&V£d©B¸;��„ŠÆ1�Àq2– Ëèq[Nu;c_úLaàôåhXŒF9�—¤8Š·ˆxŽáEŽ“Y9Ågåm�Hà ˜Èç @…@`Õ´£&`í0P �ˆàT�¶å·�°û¯ ÿ#�кÿšð?xÝZ÷��ÿ�믍ý_/ýŸG¨Úþ‹�@HÉpñÐýK,%0°ÜŠ'I)AåÂÄÕÉøÚù #ŸøÈ‰.sp¿%lk$ím ¼a†»�ô ]ºtí
+
½�$ö½A¶·f;lŒ½5fmŽ:Zƒ®¶þNó‹oÓôÏÿÏÒPuætxpÄ;:124:éóÃèþø(°øã*xÆUyÔŠ  qÒ¸FàK� ~Ð8R`t<1æŸëK LŸxÉû¥/?Øái7&œ-êU\ƒY{˜©Ð@×ëK0`mÆÔÓcöp÷Ô3¿Ræf•�êJ€îA�Pþ;�€õ?�ªí¿Ûîm� €^™‡š¿¸]÷?³5; TžÎÃúŸm÷_ÈÀú��ÐýË"pÿZ�Ø I��…db‹ ”pPñ \úÞ7ÞÔ=`j Üf®ÝC 0©£ �¶Ërî”ÐS ÞñF�`¦˜ËìwYOڍïוg~¹IÄ¥@PŠÅ" |?� ‚Õé<Ï
+
›’ùŒÄ��–&^;�`Ð�Æ€šTÀ�ìþqø_ký×o ÿ£æeäþqø—þ#÷¯Nþ¼¾íý Ü?€¬,f$)¥ÎþçX™£�p z*JÎãJ˜HýèG'ßöðð¡öX%Ðö�ßn¡mm:�èÒ¥kWK�¨m�@ÛBÑmp¦½¢£Ut¶‘¶æ˜µ1ælóïw<ã6 _ÿêò±¥§Ã~whhd2Rù£Þ‰Qdîûó�WÓc7ÊëõBMŽ@áû ÏÝ70ÛßÏÿøG/?þ®—;láNi«n¹ϺÀý«l�t½þ”v´$mÍÞƒÎ'{ì¿¯äÒÊÚÚVu�W¡&à{�°¶W�*…M�×ÝÿÊ5äþ·–ªáÿÒ•þßš¿„gÿ#�¨ÌLAPÝ?�àþ )ºÿjøî¿HÃðÿ&™,$“e"Y
+
”àÄÖ ¿
+
~ä½'- ~{3ç6¡Ù-j.žOà, u;”úOäöªºolµØRm<°íƒç[[é´ÄÚm}ÓÉ7¿÷÷åH ãHÅb"‡ªQi�€Èr°Îâ��dE�@&•†E@¹j�.BÕÿ�jf¡Ù9;&´©�màN€¶÷¹ �Z÷ÃÿÈýƒ…Ý?�Tý¯Í�\ý‰ÂÿÛ� §%!-в ɰôˆç(Ž%Љd.š¼2Q‚Qÿ¿xÄmñö:ânc¼Wî´2¼é/rÿð³”è� K—®Ý -� y�¦:ÍŒaO²m`�Þe¤ì- {sÐm8å4x?ò™Ÿüpúø êB`xlxxtÌç÷xFÆÆ‡ÇÇ €¿î À¨þß3¢>ÿ¦gdöø‡¯ |99<ºÐŸYxùÌäŸýñ‹û݃.c²ÃÈ·7ñêe^8¡û¯€ç–Ö¾)]ºv¯ÒÎÖ¨¥!x¸ã‰Sä[«H�€J©\�*ì��îjc�tÿ+×€ûÇí¿hÿ/´û¯ry^mÿ…  Í�`÷ P­þ‡�PTÃÿ�6 b3NÃa%èSFÎM}ã/Ï?Ô>lm¦Üf´wS½ê?‘Û-Xe¤y®*�0–VÖi&Û­þljnWð?»180ëÏDÂ��8Š`XÜ¿L±2Ë£Y@�€^�p7pM0Îh`ÇB äÌo?�¼Êð?zY5��ÀeÇðÿŽí¿€�drÀýgÒi�€”â¡û—ÁѤžæZmÿ¥d‚œŽ$Ö|ÁÍ£/žÿßyÂa õØjZtY3�\1¦€.]ºv™ÐYK€ê PÕgCMw›ãýtÛ’³0�k…êCÖ&_ýTo;ýÕ?[8ö"sæl hdÄ302Ú?<44Ò?2:àõ Žx�Œ  çï A*�Ž O û† &F‘&‡"gÏN÷äþë?Ïàñ“NC¸ÓD9åm�€mÊÈý#bÑ@×ëK—1bÞ{SÇöß_~Ea’ÊÚj©¸©Zÿ6Ûî¾·Ö+��¬þ_ߨZ[Ç£?µ� Ýý€ºùì@±húU�Ø.þ‘¡T�€î_�Àýo$‰ "¹%Š-ýJ`´räþÿùž>—!3�0ê/ªe9UÝ�@m¢UÞP»PN€³´p3e3½g\–s¿sñÈs×|¾\`’EØdœ¦’4 @¤!�ˆ,ƒ� -rAÈHb: ÇZ"Ж�¡>àš}Áê@[„�@ëþï*�hÃÿ5� ­ÿAýËõÕÿ�0`��B�€v�ƒûA�`E‰`5͈,Ë3C§ âR$VœðgÿþïÏêë¶“ûm¤ Ο¦ œµIý8µ� ï¬K—®Ý¤í°EuvÿP–iÃ%[SÆÕÆ™hx°9ikfw<ÛøÆè§?¾rôˆpâxàüùñ‘Ñsýçúûû††ûF†ûFG†‡‡Ô¥z~� Cƒžª���Ž©PÕ¸@_87wæóÍo=Ø=ì4Jí”å~Ѷ@5üs°w|j‡.]wY©vcØ´—|¸ãIó^ï—?«qemºg¥RÞf� �åZ3õ›_;ÀV¥Zý¿�\¯þ×���
+
Üqfµÿ÷¿‘’o¬þß�PøÀj$¡Èép@‰ø”‘³äW>{~¿cÒm¡!�4ã´'¬Ë¯n \û‰Ü^a�@5ä�À#‚ÃDš[¹]çm†c‡{þãß+~_Þ;·t"B‘qŠ$˜@Y•®�X¸ �-Ô€›оX¨�uìX„Ý¿6üüùm�´€…Ý?®ÿÁ±�Øý£¦š@xöÿÍz�ÐÖ¿ÐýK², ¢Äë/ˆ$+ŒŽ.Їói‰ó{‚AÅç~êÇ­mcŽ–ôaw¼å~ªõþ™n'cØ«~œÕˏ
+
Ž:�èÒ¥k7é•�@ ±«Û#Ë$»ßqÁÖrö-1ßúÚÅó/'û. Ÿ=761>4lþàðHÿd�p;824 ä`04Ð?2Ð?<48<è`btd¨ïÂÄøˆÏëè?7Ø÷òØP_¸ÿ}ü¥¥SÇN¾÷·¹,£=”½Ap<(;öª¯§�xñœ5Ô¾)]ºv±ì†„¥1ÖkÿÿÙ{?ÇÎúìû?xŸ7ÁöNõ>m‹6Ž„��!yá%œ5LH0`Àܰ½^oߝÞ5¦k$ͨë4õÑìlï;M½œç.Ò™³ÒîâÝÙuæÜŸ }4³FíŒÎ¹¾¿ûWô;彟ø kŸc×ר|øþ,´þY¼ ÀíÜkë:ë_`aõš�À¦a 6 7Ø8šÿµ¶–_]eWW
+
+× û¿zN�¸r¥pV�ãüŸÂÙ³ù3gò§NæNÂò_àþs¥ðz1š]D €
+
�Ò?T©ÿª�&Ò™!˜¸Û“ô¸²Ž9v~jýõßÏ|à]cŠ²ÑÜš¢6¢¬¦%÷…Uu§šåIuùá¸ýÚ�\ ÏcŠº%ÜU}ߢNáoRM©%½­š©¿ÿk³œ›‰y]!Âãó:áhZ†"ÜžƒÔ¸ € E—`3PœT6 »ÿ²‰`×ÐðÜÀš €1�/>äÐX�|{k ¸S�Prÿå�Pûççÿp�°‹žˆ..�GÀg‡bÿ$$èí Ñ 1Ñy3 Æxû‘±'ß=¡“95¢ N|P\½¤‘¥Øúã[T—V�a° A‚Þ6B%Lø>ŽEÝ��Š­àPç׊gTõ#69þù+§ †ÌCCÓã0ÞošŸ7�Ç?e¾hÖ86��ü+�°��LŒMMCf0é§Mzó˜~¡¿ëÌP_ðWÏô½ûá±f%Ó¦¤e÷Ç4Õx�½Úâ˜p_;�ô¿F0¬lôÉë½mr}³¤÷ƒïagÇÙµ6›®€ë£ì÷ʺ!�à |�€áÿÕÕ›�vÿo�R°ý¿?åßl�Š+€1$½¾4áM:,¬Ã\8îùòß kDD+ìoæ—¡&<r_ˆ*jC’-0o(áºÿ �ˆª%Þº•”ÑHmj‰¾I9ñ‰åû®šg—ó~÷ásÒŒ2�Ai¶ªúC¡�`�ˆ%�À;�ü^@¸  �Àº�൥�€Ý?xÄ[��~Yׇÿ!�à2�~øOÿ­€å奥X¸�a8ý7
+
‡ÂL LQA’Zd\ÂK{"¤û¼ÓÊÚ-̏¿ß©’¸wiéf )Þ–ÖFåõImDGЗ¼~�"ò*� ô¶—‹à:(�® ä5Xß,5~ìÉÀs¿85Ô뜜3šLFÓ¸aÜd˜2NŽ™¦Œ¦™QãÔ˜üÓØ¸qt € ,€ÆÑ‘©)@ †‘Ñ¡©qƒy|Ä22àî:~­¯côsÕÛ¦¶ïT»å5´ä¾XS}@ñ�Îöá��]DQC=�ýoly=¥-²QmCÇã»ÒC=p&n*Q`³�°÷0�\·®�4 Å¢ >�§ÿ^¹Â"•¦ÿn�çþ9�€µ¿°ÿO1��tÿ “e`@†ÄáXœt{ânwÊçY™ŸÍ;ÍìüÔ™g~4ô ÎµKK¨Hù¿üþ¦ÎnxÇdp3þ‘ûÇe�Å}�E%ªgcRVëÖIÆtRý»=ûÂóiÛÜIÛ3o¡ E{iš ú~’
+
0þ@  B‘"�DÃ��bhñp1�®À�p# ¼0Ü5�à—Ü�ÊòÐK¿Uþ7�»ÿ2��Ô†‚!� 8i‚ö×üºkž5~ê#=ÒZ²Mh‘¢û€ûò‹k¢òÆâÖ9ŸÉ�’��‚ z{ˆWŽÆÇ€›€¤ŠÞ©4i»vkœß~ê|çÑÐðÐloßÔˆalÔh4Œcú1£~|Ô0a0MF'#càßL£ àý¡ =��½aÐ0:8;a˜3 8‡û{;ϼò|ûÃ-Æf±Kål|G@¾#¬Â¯§î²‡ÃW.�€ ÿeßDØ F+¥šÄãêºÃ;•Wîe/žc�°PÅæ?·r^÷Âæ0·9¬þ߀Ü
+
ÿc�È]¾ ÝÿåË�äÎ!÷út�›ÿ”��7�î÷ÿÁ��[�ù|q§kÍ>¿ár\³™×m3¬Ç–<øêÜ'?<Ñ$wh(u !{‡_ ÏuTíŸÅåãPn»¸Œ`¹/8ÁÆ’ò†¬–ï [ÓZqo«ÆóÍb­–sÖ¹ Í¦Üé!I_4¢¼>?Íøƒ�€ð&@4^\Œp�ÀOâ� ²˜�e›�[�|÷ŸáU�—�~MüüŸÒ‹ßìĹÿæÿ,£é¿1`ü#à&Z‚M@ƒ‘`ÐïÂÞª@š û©åKÞaK~³ë¡ÖÙ6•KÓHâ‚3imXZ’6‚ÛM�ÁV²Á"�ì�@ Ao •Å¢Ð/‹éþØú1�ý× 0²šÈníœVÔ­j˜ýÜ'μöâÉþ>gwÏìЈÉ0:::b0Ž€[ã(üq|dtrtt¢�F��V˜˜0 ÷MŒ¬£³=ôÀÀž^÷?µ·YnÛ©"›e^É}QM¥¨
+
©pÛl8³¬Ô´t‹ºv´eÏ´´>¨•‘šF³Vt@ÝûÍÏÙÓ'Ùø‹� ÀÀ­L×=³ò…|6‡çA÷Ï�Êþî@áêU\þ Ýÿå˰ùOi��p쿘ÿ‰�eÂPÙ*�`˜]l�ʹÿ¤×›†±ëª}~ͱ°b™eíVßwâGßéÓJgÕ T«Ø+¿T>ÑÖùE÷ŸP‰¶ �JÝÌŠ›�~y}D#
+
ɪ)ñýá¹M'PKÇ?ù—ìØØ5«-f³,’V¸�n€@È7 ®��«€Qøÿfý@9À�€÷Ê��3À�ßýß�*Ãÿ�*Ãÿ¨ëÑé뀢ð?�€ÅX|L”�„a�� >J8�Œ¦¢$‹›Züñ÷À¥ˆ|g«]ºÃ+~
+
O}P\‘‹ƒâÚbû<i �àP0àþw”
+
 $èž�<‡g¦o�u!Ec¸Eén‘ԍÆ' >ýoçÚÛéž^ËÀIo0ôÃFýÈ(¸§ÓÁo& †ñQ½Ñh¶ßX`|Þ*ê5OçÃ–Žc‘þ3oî7¼ÿ S«‚Ø¥¢T Œ¼*ªk$¤U5Ö•Š–$u@űeèÄ»; Úq�@(ê­²ƒ²:ß¿Í.†Ù �Ù"��ÜÊwÝ åÿä6“Šáÿ8�Øk×pø?{éÒÍ��‡ÿ±û/æÿð��†ÿ~àþ¸ò_ìþS^w$Ö k vð›•[Â:ËÎŽç¾>úØž1µˆh“ûÔÕ^ù‘fQHR³e�€›àýLôKx��+d„šÄž&é˜NÞÿøcWŽ[æÏÌ[c^W€ôø\ö(€ß b€`; Å�ø5�\@Y ¼0Ü�àÂÿ|÷C�À/« �Ћ¿n¿ü·,ÿ¸>�D‚Ká��€h&SAœxEQTØå¼b1³c#ÓŸüˆ±EîÝ£vÊ«}x(&¸äHÃ2qHRŠEñ� ¬ØQÜ/�€ A‚Þg-àþ¥ˆ�\ÚTœ±µY €ö?Ñ™-ªÑŠFºU1×"ïoUÎéoϼ±7ÚÝ7ß741 �À0<jà�`lÄ`2 G‡ Æa=øÁ8
+
–id n CÃ}æÉQË`¯³³c¹«ßõï?îÛÝÙ§“ЊZ¿¢:0@Ý^aD*ŽIDËâºeI©Ùš¬8³ò} ôvT�4RŸ¬ŠzHsXZ3÷ÔWØ�Í&Ö1� ðÿÛ�ðËC��Ü?ž�P �Ùk0üÏ€ü¥K°û'rÿÙ³8üê†�
+
‡ûO‡Âe�PœÿG€A�Èù¼Iku~!Mk.çÊÜ k5³Ã}Ì—¿`ÐIìMbª©Ñ£ÜÒ5DU1ùÖ@T*B²˜ÐT6‚s]œñä;ÊpœkUw´¶?}&1m9;oØçC„Çë\Q å…ý@1��…‚t4ÈÀ�ÀÔ.nÖ�`à·â�.à@YÐÖ�?ùç-�þWÀ­ó`
+
Ðbh1ކág.†aàþAŠ ÐN§Ýïó-Z­³Sì`oïÃ-³»ÔM¡¬¡¥Õ~YMT!—œ€¸¾Ho¼��0H��A‚½-T¹° �ˆx•Á›�àm¨
+
µ©¼;Õ½²º©}àÌ ¿[îìrõôO 遭/€܇.txÔ8l€îßh5!éõCÆ1ý°¾Î4bén÷wuž?ÞaúüôMJ§Fä“¡R9y5#« ëä Ü+‡×K¸ �@ÐÿZù¥ !•È'Ù|´å˜¤jêKŸG£�Vq
+
€ [@ p/#@ �pþÏõ��€âð¾�ÀýA÷Ï�Ôÿç:�€½ÿ‹ÓK�€ ��$)Þ�à�¤\Np{ÍjKx<.×Uó,kcú«?ÿÁ6ÕŒºi““ªÚºŽj¸?,­¯<"·[ð,
+
ÇF!÷C62Œ�À§KÁ³.%}€ÒŠ<mš•Ìò_OŽO^´Ì-s!¯Çã°I2@Š øià]a/  ?,Ž[,Uðð4�>�€…�ïÜ�ÀÁ-Ì�à[nñ �Àºa
+
PÙ�`àþñØ/`ýñ��pôoML€Ý?—BÁÅ`0 ƒÿØ” {}„Ý¿`“>Ö<Cï_{wk§š¥>µˆWjí>¯}þ=>´‚û$HÐÛF0!õ¦¥´78›ETbJÞl’;Ôb“F2þžwºþ埮tvyÛ;æ‡õ&½¾o Wok°�ûŽ Ž ú £~dlxȨ‡µ¿}ƒ]ãcW»íèáËúáÀ/ÑóØÃÖf%�îõÀ×VÌõ/žry'^|*.…‚½Mþ°©ÚwœÒÉ<¢Ä.Õ€VÒõÁwg¦Çصkùt
+
˜TH³¹[È�Ûþw+óuwœûËr…|M�H±™$T*Á&ãl"^ØX+¬¯æ×Pöÿʵü��°�@îâÅÜù @h�p�ò'Næ––1�äbÑìb$ ¥ÂAØþM�H2Xšðߟp;.wÜéÚpÚ×  Ö„Íœ™›a§ÆØ®cÖO~¤·ñ~ªMV7Ò ïXn‘Ó’­˜,ΝÄJu¤ð—Üyo0Ê:J%2·(ûßÿÄZoGÂaLO/Â9UÝ¢‰�íõ3Ü„ÂÁH,´x"=F� ÁQWK‹'NÄ€ïÅøÌÀ�§p%�׈ß/®Ç�Ü*c�
+
h•ÿ”ÖŸ�ø)ñ��•5�œûçÚÿWöþÇ;�àCY„‘ÿ(�€p8
+
E‚Á ðÿL B^��1µÏ¥\öüP¿û«_êiUXvÊ µp$H x}�à“T3*±G#žÓÈŒ;[ÌŸûÌÅýû™cǬ½½¦þ¡¡��z½~xphԠ׏ èõC#ÃúÑa½qhÈ8<0ªï6ôô‡MG}íÇ.twýë7úw7¹´ÒÊç$h;zÁÆNëdà+FìÒ kDïyhm°›½z©�À¢€$›ß` ©Ü ¸ PÈ•� UÀøú-��º�ùs ûç@6v‡ÿË��M�`* åó”@Ün‹/Ì%mæ´e†g‡û©§¾2¢“¹u’ˆF?Ñ6ÐÒꛄBn›øQ ~™�Euv´÷Ñ]ö¾’²šggBnof·ºÊÃÐ^†a��„ÑÅ`l)A;�A�Ká¥�€Ê�€ËâúÞ+�€ó¸§Ä�€_P%� -Œòæ?Øýó Øÿ@(>©H@(�€ñH:à!ƒšX8å±§íóWßÜ;õWíÕˆœ»Õl@Q~ $h» €º‘=@ÊjIØÙ¬VIßûøÒo~>zÔÚÞnìí6Œ öè‡†‡†×w Cãƒ@ƒ£Cýúá¾Á¡ãذi¨òØ‘hWçÒK/}ê/tJÀ•Ï+HÐv°ƒ‹òÚ“Z)#«£wiG´â#7/ï{…½xè °Õ°Pš-ÄY6U@ù@7u^wk!÷_�…4rÿ�À5�å� {†ÿ1�äNŸ�]>É ÿÂ�‰†ù�òÓ�Š3€ "CÀæ?I«�.GÂ1wXŠ�07ËNO²ã£×~õÌì{žVÖšDAE )ßÁÀŽÃååöªÒúóUÆ�´½YüéSSç¬f~ÞOR~Òːn šòÒ4jä‡ã€Ñ<`ˆ@˜ø��üp%�`Àí€8��û^�¼¸ä�8÷ÿG�7ÿ©��àýÑe Äøý Áø}í ø®’žŒÅ¼ôóg†d@QçÛ­¢�$H t}‚ÛåÒjJ¼0�Õ¢W‰»ÛtöoüÓòÑ#Žöc¦®®±‘¡¾ÞÞîQƒ~p gxýá¾!@C#ƒ@}@ÃC}=½“cSO÷Ü‘£g:;éÿ¨çªå>µ��‚¶©€)\RÖ/*üòzºM5Þ$=¼Sé~æiöô›ØÈò��ò<�ÈÝ«��Ü>ó
+
Èý—�pÿ¹Uäþ¯€â€bþÏÙó@¥ §ø�€¦ÿF���÷Ü?€M¦ý¨(žþëó`�€ÖßíÄ�°[’óE�ÈÏL³SFöøâoþrD^C4‰ƒºä¾ ¶þž�·FÜ¡/|íK‰‘áU»žc¼ÞCû¼N’p“”‡¤)8˜ ƒa88âç�? [b~%�€‹¥~ ”•pk‹�€_û‹o9�¸Qø¿X�€óÊR€ÀÛï|
+
X°ùO4 bÁ`4Š‚&¦ýAš)ás†< ð/ibœüÖ7ûÚšÆ T‹œQ
+
� H AE�©‚Ò*_ßug³r°I5òñ-¿ñ:Ñq|²³ct¨¿¯¯§««Ã8:<Ðß=0Ô 48Ø?4د�êìêÿìÚÞé:zììþC _ùJNmiRP*Qåó
+
´MSÕûÅU°4¿YanQoQNþËWÙˆŸ¯å
+
Ù›E�Dé?÷žûg!��÷�¸ÿ<rÿùvÿ,
+
ÿ³«Åðîj1üÏÏþÇ @¡û/@1üÆ~áüŸbì?Hýp€&³ ꊀ¦Qþ€”Ë™t.$œV�Ö¤Õ’ž›ËḬ́ãFÖпüí¯ë›¥v��­R·ô¾n³úèéfÖ« �<ñ°J<ù‰¬µÍ8þ3ãr¿êõ¸ÂKP>’b&Èøƒh€ñGèHn”�ЩSË�”mpuÀ˜¸, » �¸ó^àu¬•�¥ðÿ[€X,
+
Ãÿ�C~ h0€ BB�x‹.+ø»Yíîœûüg‡´J«VÌh`påq$H í&xYRÖ‡ÔЦPõ×úwª'Zï¤þŸ¡Ž£³íÇGz»ú¡¿5�èìììèàþÀ@_ww·i`púX‡ÿh{ô×ύäCzµÌ×+€+ŸW m¢¨²Žh¼–Úk¤öVUO«ªÿ3Ÿ`Ýóìúµ\>•ƒ½€Ò° à^�Îýs�°éþy�P ÿ_Ýìÿƒ {î<×�4{
+
ºÿ̉bù/�бX�àO1�¸ÿ�ûO¹ìI—€��³5;cN ì¤qí7ÏL¼çÁˆÞ)'”5àÌvO�¡Í6+‡{ðÂË/äl–Øìœßå¦}X>’ (��EûaP(ÈD!�„£Ž*�.À•àu÷ Qjý‰Žýs�Àÿ£S€pþOY
+
��ÎýW@ØÓA��AÒ$ɰÏsbÁ’´™Ï¾úÒè_¼× S­JZQ{§ÿ  $èm!p2§DZ¶ã¤N–<À4Þj–ÙZ]MÊé¯|)zðÀÜÑÃÃííúáÁÞÞîý@_oGß@7Pÿ� ‚.$øcß@ï@_ÿHg·õXÇÒÑãžo§owÛ”Zêo–�Ú¾Šj��Ä´2R)òµiõ-ª£O>–žeW¯°Y �ØÀ=¸0�°Ù l�z]òO�¸ìþG�Ptÿ�Îe‘û‡î@q�0�8ü � Ø?�Œ� Ax07ÿ 7�…™?îù¸Ë¶á´Æ–”Íš²Ø��¤gÍñ1#;=ÆyÃù™iÅD›Ü¯i`¤;*ÈÖ‹�J%rµéz´Šèü{vjü´u.ìrÁ)`þ AÒ@��`p�Žf¢´‘á�¿n†Y9àB©(^�pÀ=�•ù?ÈþÃ�nò¶þ�0�@ߣ"�ˆ…"a8D‡àž � DA�ô ’8=?—œ[úåÏl3É÷è°3kùá$H m(pM"eÕÞ†ûδÈNªêèšÿ' ¨s6I†tÒ¡~`éõW4=jÒëúôÃý=��úzúú»úûºàn@_'¸ß ~Ýßc9vÜu¬ãÌ‘£Ö/ý}§\<¯‡š¤BÀEжøã_l‘âËÍJJÖH·iÆ›•jŽt²×.ÃjZ˜ë¬†À÷â*eÿß��à�^ù/pÿù+WpïÿRùïu��ûÿ”� ½Ãÿ•�òÃÚßJ�Hz\›�à¶–�`ž€Ä„‰1±Ã=Ô×¾8¬‘¸ZA„jxGåAÙzq�@+EôΦvQ óͧ²Æ¡Ë6kÔåò9\áp»šöûiXÙP˜ D��¡ˆÿ­���×o5�J#À¸•A @ñ“aëϵþ¼� ìŸbæÏ ‡áM�àþ£Ñ0ø\À'\0èøé rÿ‚ {©¨Ã‘ ¼Y“aæK_èÓÈí-JFÝxB+$¤
+
$HT5§ŠÈêbÒ ðKŸZ4ݦì|t—ýß¿jï0<2ÜÙeЏ´?ÚßßÛ×ÛÝ×Û9ÐÓ wz;zû:{úº{{{‡zzFŠôöÓ¿þÕðþÂÔ¦vkÄ~¹°ã*hû
+
Ú>U-ø~E•"¢±6Ø¢™ÔHìÔ„÷+öì©ÜêµBšëDr-‰ûTnªîUjÿ_�œÿSH@÷Ÿ_‡ù?¸ü—Ëþ/\¾˜¿t¡p±èþ3gÏdΜ̝>™;¹ „ ‹â8Ê”j�ð0ØýÓO'‰Òð/7í†îgÿ¯;,k®¹UÇ܆}.iµ%ç¬�6&ÆÙÙ ÖdȾüÛ¹w?ª¯ùóh‹*¦¾ã~3÷oåDÇ(œ
+
‘©I1úÑ÷§ú;ՐS“'Cá…‡ ��Pt¦~Ò"é 3��€û‡Bïë§Àu-þ4�.ˆ«X+eÅQ-.pÿx8/^˜8 �«üï ´þ�€ÿ'~ �àqo�«hýQ�ÀîŸ�® �Ñ0�8A  €§�øÜ|Ì¢‡ˆÙ2„;Þs|òÓR‹=MrZQSmÁd8A‚ zˆ�p?
+
�Þ¡T Öfiïn­ùk_îÛg=rÔp¼}¤°» †ÿzºûÇ�ÐÛ×Ñ ·¯§×ØÓ7{ôxèÐá…ï~{ðM6É�HDÔÂùVÐö�FV³¨Ó⺠V>§‘u´©}O]Ž®]ö¶ÿÏ¥³Ùô-®ws!÷3�àúÿ”@þÂy.üÝ?€ìò �°û‡�וÿ2x CS›ÓK�t:ø�°f·&l8üo;�3S™éqÖ4’ßÿšç¯>b”Ötòè/@úo@@ÑàSЦu²¡'½zèõ´ÝꟚˆÑŒÛé�� @‘!Š
+
1d HùƒT�Þà�ÞÀ�PÖ è†5�Ü)�`³Ðzë�À¹ �8ûŸþ瀖@$
+
ý@þ Ãh˜?EÑ!µèöš·±ǹW¯òcj±O'¡àX¸ÌÂ$H í©âÕ«4šü†VÕÙ›DÃÍrÃÇ>@=÷kúx‡éÐÑáήáþ¾žž®þn  ÞžöžÞŽn¨žþîž±ãžöæåM_ølÿ.íœNJ*ë£Êò”rëì��€�IDAT§$hû�%Þ±¤’% ŒR´ •õïRùó°ÐÕK( ˆ…‰@ùL¾÷çþK��Ýb†ÿ×ÖpÿŸÂÕbûT�p€Ü¹ÓÙ³§€ûÏž‚î@,w¢8ü+� ¾.ù‡¦“Êü!aó �I·§þ‡�wX֝�V,q+ ÿggÌÙÙ™´e&>>
+
�€ín_~ê«Ó­:—R¼H|�¸5€³+8Í2*±¥IÖóPsì7?ËÚÌљɰË|ÿ&�D˜ Ã��ü��àf ��Ì«†)@ee�7¬à��o$Ѻ³��ëÖ�Pþç�àfù?�8÷Ï�
+
µÿ¤I*è%—\ž ��l–àÓÿÖ¿»É¬•PZ%} (ÝŠÑЂ ô6RP. �.`ŒªÆ­m˜l‘ö=ÒêùÑ–Ú;¦ö:|dtp°«³½¯«³¯ ܶ÷t·wõ�uvwwvtÞ<ho'Ÿù¯¡=9Ú¦r6ËIYmPrOá t·R֍÷ŸPK£r¸ ài’îÖÿà{XÒ Ë�R ìûÓÙT®¿7�»ÿ|:Ü?�X�°¶ �œû/�àþ3gû/�pÿÙ¥RþO4|3�ØÌþ/�rÿÅöÿv��V �)3tÿ™™©ŒuvÕ4’e CW~úôÜcÏÉ)
+
m””Û¨ÿ�„ah¡YÑÕ¢ô~ÿ¹Ùñ³ÖÚb£�À" ŠôùI"LúB4ðÃÄ–`ˆÞœ€Ê_¹2�4  �`;wî†5�x�f€›eÝ�¸aðÍ�`­2�@ €ŠÍ¸üþôß²ð8 ‚ð9h2@•�ÀwÂáZYX(˜Fíÿÿß 4ÉÁÕˆQ7úÕyuå$H m(pMŠÊj¢04%
+
(€�ª|ššù6I›|ák_:u`ÿÂþƒúý}½ÇŽövêî:ÞÕ}¼³»£³»«»³gèxÇľ‘Cíßúç¾GvN5Ë}:©_Z‘ÖÞ¢Gž Aÿë�€n|`I%‰Ê)Q5Ñ,7íV¿ñ Ž5O²+WÙDØ$àû“éš vÏu-ÆþS) œüS,ÿ][˯®ò§ÿ÷Ÿ¹X–ÿS€ÌÉÙ“±Ìò"ÿãØ?,�ÂÔÿbö?�—ÿ÷åö$\°ÿ�»jÞ_€îܱÎ�€îf*i™¹:>šš2±ã#ñßýfþÃï7É­ª;½ ðV�€?)Ì/ot5Ë{šdsÿðŬIH†žžŠðÿ^ÂG^†ð@� ¨�ãg0º.ÕÓËea�À �—„ê`à�€c��8¸ �€Ãÿø!ðâZ�ýQ�àÜ?€Êð?ž�À�þð‡÷K ��„
+
y}'ŽÄÂB¼»Ãô±êµRªUIʪƒšÆ€òŽ†$H ·…"òš%i¬ý•‰…˜QŠe]@YE©«<m¢ÑñÔ§>}þ9âÀÁÑ7÷ë;:ºŽã»ÿöî. �#Ç:æ
+
¾úÊäçÿº§IaV‹Ie#p<§Õ�mk©ê’‹²Æˆ¬! ©%›e“{Ô¯µÊ/tf/]��JÀìÿ8��¶ÎçîY�È'“8ùºÿuàþù�ÀþîŸ�éÓ0ü�`Óý—��—ÿfCÁ›@ÂãÁ�€bÿÐý§íö”Íš°YÖçmk6k|Μœî?5;±17µ2mŠÏ˜
+
ã#¹{™¿ÿ˜NîÛ©¾ÓsHþÛ� m š•ƒ:ùا?ºÚs,é²1“ãaŸ×çóx Aº)Ò ½Šd`F;�® �W½r�€²€Nq�€³€p)0ÞÀ €ë€o½ p��·�ÂM…ðJ•f�ß �*Ãÿ`÷_ �8ü_–ÿÌ?� ðI~’¤áJÐã=ewdŽ o¼Þû؃ã:™§ÚÕðŽH“įºã£¡ $èm¡¨¬fYRµT�Ø¥øÕZ}¿¯©fºU4øî=ž~?tèàÄþý‡÷ßÕy¬³ ª£«üÐÑÙÝÓÞ=zä˜ûÐaâ—¿ÐèÉ!Ô®•P’šE™ø´Z&�€ í¬¨².¢¨HêÃ⺰´–n’MíVïkSº~õ3öä2»Oo¤€}Jå²Y6ÏÂ’€{jáä�òqèþù�€Ë±û߀ g2ç`ø��tÿ<�à’2‘ P±÷?.ÿåÕ��÷ Å€ÔÂBÊbZŸ_àÀDrflÝ<¾j6­ÍN$M#l_×ùûîØî&«NÎi•å6*ˆš(Ü 8ë¿É�2ݤ44É{ß÷Ø™½/g¶ðÔxÈãòyÝnÒã#Ý$åö“^†&QG@�°%hM�¦�¯h�N£‰`�¸, �¸ €«à�X· �pø?Í[œûë�pŽ�¸�nÿSÜ`‚�–(�Cø"n×Ù[Án=õûç:Ú´³ÍŠÐNµ£úÿ,¶È‚J� $**«[–Ô,IPutÿ Œª&¨ÜÁ¨vxÔ̵ˆ{ÚÔóOýÃò¡æoöØ7ÐÓ‰ £ëØñîc�º:û·:êÞûºóß0ôîG§Z”t«’UdzŸåO*HÐöQLQ·¤¬‰«¢ª²žl–ÍìTÙ¥ÿÖSlÈÏ®odÐôç6R÷�äQ6Rþ:�ˆ'0�Àþ?««¹••üµ�� ÿŸ?Í€fÿc�ÀÖ?ÉÐ šî?A’IÂĹ�ÀýY-�¬óëV����É™q �ë–‰Õ™‰±ÖdÜøÍ³ãîžT4jÑ -’¿ÅoÞŠ*­ÿ­ *o èä&­´ë‘¶èoŸÍ.X¢SA·“ô8½„ËG¸(ÒCS –Ÿ!áP`�8 ˆ�¸øZ�pY@�€Å€ÕÒ@€Û�y´0àð?ÞH&ÓàYøîuõÚÊÊÕk×®�]�—ÁKÇ)@Ü�`.» ÍìÿP�Ü ‚ EÃqÊ>íuÅ\ŽK fÖ:åüÆW»šÖ6%¥•â1ˆ–<Py $h*"kX’ˆbjOQPV÷Vì€Y@Mb[‹ld®ç}ð¼cÿÇôtëíì8vôpg÷ñc]G;ÐÓ}|¤ëøÄÞ×ß|sä³mxp—E+wJj£jÉ’F’ ƒm_ÃwB\“T‡dÕ´¢–TÕ:µ³Í²=MÇ?ö>Öçd¯^L¬]nk%‘Èæn5€éN®ü TȰ¹,rÿ™|2]€xa#ž_ß(¬mÀM��WóW.^Î^€�P°Ðf �7�6þ†¹ t˜Û “ •¤I Øvòàá_@i'TV�ÛRósI«X¬ÄÜLbv,>cÜ0_]Ÿœ\ӏ°#»ïMïÇ>b”ÖMÒ€8òFºÃ/ V ”§¨´œ�qçƒ0Úúà­ 2€´Ö¯›Õâá‡ÛßþFÞ6·8=vÙ)ƒòºü>ŸŸ¤hN£ý° h0DÃ, P�8^®€ë„;d¢v@'Ïž= l3¿(·PYŒÝ?tçh᜝» �(ü ÀùÊ �®+ÿE��í€a(? &ÒG¼îe—}e~–™ýûO÷5Kím
+
BÝ�Ž}LS’ ]) $
+
\ÿbqT
+
ƒdŒª* Ú� "¯×KZ'¶hD»´Ýíažù©ïͽÃûßèi?
+
tüØ¡ãGŽt>tü@WûAñýsû^ ¿ô;ÃÇ?2¶³Ù¡Uú¤uu#0y]ÐvVÀ ñ��”²Ú ÞÒ$1ìÒyÏ£ìô{ñlrí*p[ë©,œvwFUºÿ,›�î¿�i �Àý—�`€Üå+%�@Y@%�àõÿ¹�¤B0õm AA÷Ÿ&ˆt �’Npÿ)‡@r~.nå� n™Ù0­Ïâ3¦k&C|r&i0±†1öȱð¿`RмM¿¦. „�ÀȪª�T÷ (‡À ¸ÿ˜t � :¤ÙÔ¢‘=:Ë׿’™81;r.0n € L±¡Ÿð‡H>��ß[�xØ�°nV€Wå&@ùßHiÝN�¸znOðò �œƒ«�À[Åo»�‚þHÀbh���›‚ û¼gÜöø‚9=Ð9ð¡÷è[ž6•°².¢¬Žª„9�‚ ®ÀýGd"Üü‡€°¼& ÏIªÌ»´mÚ…oþSà½#¯¿6pìH÷‘ƒ]Ǐ=vðèqˆí‡÷éìuØëû¯Ÿ ½ï=¦ ¹'��Š�ª|RA‚¶‰€á[*Ø®aT5´ªÎ§i°ë¤ã;5oìÔ]m?Äž]έ­¤ó¹x!Ÿ/°wiðÍ Ãÿ�r‰tÿ›�°†S€€ûg/_-\º’»p @îü¹<ì
+
G€•�pÿ”ÿÃ@1ûÿz�€�¼n��¸û'�ñ+€9`ý7Ìèvnš€•1Crb*36ÉŽÙîžËßþæx³ÒÝ$f´ AU­_VÎH·�€;½�’V5âyx¸UeúÂgã#Ãgæfƒvã´c�`|4Eø�0��D Hñ€ÛÀe�|��†�¿�7«ÀÉù80À–î��ó}À%þß�þ�>�`÷?XÿK‡(¸��ÀORQŸïœÇ‘š7_=ðÚчZÇÛ”d›Ò#ºQUï—Ü'�€ A‚aÁœTt—@§�)ª��Dä5h®ñþù]êNtüsŸ ÿᕱW^>z¨ëàþÞ®c‡ì�ÐÙu¬ýÍ7Œû^£öïûÆ×Þ¹{²IN6ÃR«ˆ¢–‘î�×ÚÊ'$h›|¿åµ@àë�<(ø^0êF¯F6۪ݧ•Gž{–=aãk©L2Ųé|!›½+P�%÷� …Ãÿ�rÈýçÖ`p��Jþî@æ|±
+
ÿo@æÄ�€Ll‘�ÅÀÅ�*Áåÿà`<��î(a·�HØÌ��€ûZŸ‚�°1=š˜6­�ÈO̰Ã#ì@úÙg&ö´,èD´¦|òy5�!Y5—„�œô¶���{u»V4¨“|øýW:_²ZBóV��”×Eû˜É€¢�°(�0`�à�f`›ù�Àßà×ó€»ì:ðíÀÀ‹T´Û�(ü_�\þ{þüE �•áðV+Ãÿðs 0Àýó âó\p-d¬ÓK¿þÙÑÕL«ŠiS÷/*ë¨Æ?R€ $ �*M (k�À˜=Ž„ÅÔ ŽÆûÝ­ÊA­dð}O0¿þåÌË/:Ð{`_×ÑC‡ßlo?ÖÕÙÞµïé7ß _ù½ñsŸêߥ¶6IM¢²:¢¬�@ ¨¢6‚ª)iµd¾Y}T#_øÖ?³ŠM®–fÙD&›JgË}ÕV¬›@!“Ì'¡ŠÉ?�û_gQ�Nþ)\¾œGEÀ��pø@±(°þ8ü[LGBiÔý7�Åù?I†N¡ð?pÿIº8ÀãJ¸aþOÂa‡áØÈ–œ·&�Ì™ù�°>k�œKMŒ'L¦üäTvp��ûêK³O¼sN+"5õ5LôGs`kÀC¯Ï{°� �ðŸäw<@×´b—VlÐÊÚßù𙽯®Xæ"6�¤ÇIú‚ HØÑ’dh_À�Žã•ð§à, Ì�¥, Íi�ü‰`\3вM�.‡ÿoíþÙÛ �W®À×ÇõÿÁ�p®M�ÀáðV1÷p�€©@„)@€™ü$õ¸/.Ør³ãÎoýSw«zN'5+’j@áŒøa2¥ A‚•ƒ^rhýQ0�Tõ”¤Ê£Mµ*ºÞåøÁwæ_~ibÿ¾ý{:>ôfgg{ç±£}ûö-xÓõóÿøÀ{GZd®f˜q”=UÕÀx›ªö†-8 Ú&*%ÂÁo2 ŒBl×)û›Õ#Ÿù$ë\`kñÕ«Àø¯'ÉìMS/îäº�àð?€\"€sÿ��÷Ï@öÂ…ì9.ûÿLæÌé2�H/Fù�€{ÿ÷U
+
ÿÃ@x�Øü5�Å�°Y°��Àú¬y}nvÍ<�`}ʰa2äf¦WGF²ã©¡!¶¿‡=vÀý™OiD>MCP#)ë�„dÕE+�ž~¸5�DOD«ÝñD“üh[sì×Ï‚÷³Ì1��Ÿ�å# �AÆ\ñ� , ˆ€“p(X�Êzñ�,>�€…,:¬À��nÁ�· �€û¯�þ/�?üÏ�.ü?—� h °��0„/êv\²šs“Óg?©ßÕd–‹‚颢^ç0¬ò¨$Hж0%0ç§�Ånu1Ø%£*¢¬vJp<¨éhQL~ù‹Þ—^œzãõ7_í=zàÐÁýݝ]íû ½¾<x`î»ßêydçD³Œn•ù;ñŸ/ªkáäu^G<A‚¶›À?ø�ÁvXÒÚE 5:Õ2c›öÈã§'FÙõkëW/æØüj|#{w_ïþ 9.üÜ?�\òOneæÿ@�€ @óH¹ó2g¡û¯€ôR �DqçŸ\¸8ÿ î�Ð4lÿ²ÿqP�â®bûnð&�̘�¬™g �ÌL¬OWFYóì•þôØXÆ0’èf»¿ñFÈ­u �á›�æ´Êƒx@-"•õÈÚ
+
w‚?y:9=sÒb Øm„Ûáóy|$á#(��~Ò‹À療×å�f� �X�PÀ&�ð7®¡U–„�{u®x‹j�Ê��e. 2ÿ@Yþ� ESppAûÜQ‡í’yª06Ôÿþ'&ö´Ì6Ö•âe�À ­( ¯®<*‚ ´ …¢’��v€‹7%@D|LSçhø©Guš†ÑÏü%ýÒo§_{ihïºí;r`og×±×ßym_äÐÁé¯~¹§M=Û$µÉéýT㟁ÿ/Ì»�@Ð6�"�¤µY½K-™Ü©}½Y•ìa¯ž_<]`³ëñµ»bÿß
+
�på¿��€û¯�8àF�^.†ÿ³‹‹7€$U,ÿ-�X�À¹ÿ
+
�@ 0³nžZ›�p¹¿‡5›/ôt§ŒÆ¬É˜ìeƒgÿãûz­Ø¡t²J1¬�¸ ­€ Fì“×êçNM‡RúÁ÷³“Sg-sÁë€ ˆ�Ð�øe��à, >�ð§Ü�¸M�n�3�×´üo¤´Ê P(`ߏ­ÍÃÖ`�ÀRpù�Nª�ðVñÛ.�ðÑ€»€–œ^8H9â'ÃÖ™´kþܾ?ÝÝ:½»É§•û¥uQy}…ÿ…®‚ „…
+
+£`¢2ë °<NV³(¯fÄîWW{Ú$:QÏû›{ú{ o¼2²ïÕîƒûŽ<Ø×ÑÕóÆ¡é}™—^úÄÇ »´6ˆTÕä;ªýòZ¿\¼(hû
+
§|ÀSTlƒkLÁnxn·n“|þÇßgýìÆ•Tr ˜o`ÈÊüÕ–¬ë� Ï“Ò 6f›3€óë°ùOÍÿÊ_)&ÿ.^ÂÍp�°þ™“'ÓËË8ù'‡��
+
5ÿÁî?ã÷§ßâé¿XÀý'xÓ Éùù„ æÿÀþ?°9a¶��X›™^™X2­O™cÆäèhÂ`H]éíN ÷²†µ—Ÿ3>¨v´Êè&™»î¾˜ZUÁ~0âJ�°yŒ¶àLž‚×RªF#rè¤jùèÇ?ÂNÏœ™šÍ[�„× ¥õ�Ð^?Cq�Àßàš–F{Ý,OÀ8�Øà À�€=ücà�rÿ lý‘û_åÜÿ w�ÎÀu�¸á�³ÿÝ„ÏíuEi"fÉ;l§^z®cgóÜ.-©•úe5¸��å$H m®"�ÀÄHý‚m1०ÃVÑÒw0ª*wSãˆVÔ÷îÝ3ßúšçõ ¯¿Ô³ÿŽ{ï{}¿eï~êWÏö¿ÿ‰ñ6¥SÛH)�Tsî_��AÛY•��û*ëÜZÑÂíØòÍd}vvåb.¹ÎòÀ;•ù«-Y×…ÿË �¸>� òßM�@½ÿ‹�;wö­��œÿ|%�ø|)O�ð��ŒÀRd€9s|v.1m^Ÿ™^›žZ‡�`ÖÀèÚp_\ßÇšôÉ7_™xÏns³„h’yÅ51µ„í8¡áTp®á ÌoÉi
+
< ¤¬÷«ê=:ñ¨F:ö¡°£Æ Ó3a›•tÛ�À��(ßÿ�¸N w�âñäúz[°V`ý/Žýƒw(JáÿóçÎ]@áÿM�àÜ?€Ê"`ð¹Ð4Í0/EºÝÎ0á:e3³6sø?Ôݦ³µi(­�ìJR]·æH $HÐ=.äKPó;T�‡Ü?�`SBò~Ù´r‡K]3Þ$î}Hkü»¿&^ùñÕûöííÚ°{߁Á?¼±ðê^÷Ðûèž™V¥G#¢UØñàÌZ8`¸òI Ú&â�ÜX‹ }6FUãÑ4¸÷hÚ• ã÷ÙÔ„ž½|–��\Wþ®$Ý�r©8›J°É8¶þ…5¤•bø?wùr �PëÏ�äN—�—€–’8�HÑ4€4 éö��À#ÀJý �¤l0hÃbJÎÎ&ffâÓE�X›@�01¾62”3¤Æ ‰‘ÁÌÈ�ÛqÈñWïS7¸uZ)ЍÄtãË:1JG•Ù¥M€­±…AØm¹×#JêD“Mò‘'ޝêêº6 Ñ.;Ixõ'áúàf)@÷"�\º7)JîÿÜÙ³8ÿçLeøéFc€1�$�ÚÏxŽ¨Ûq�ÀÌ„ûOõ·jì­F��V³ � H Ae*Åûáµ÷Ưˆp,€_±Ã¥¨²6Kv*?úùÜM¼òûþ7öö8Øõêë†?¼î|éeó×¾ÒÓ¦±µ(m#£n *ý*qP))ÄEcå3
+
´MÄ�;…¼&î·ëÓÔyZå½²º¡üÅ…£o²çO²©uhµÿ¿ P�œûÏ#�($68�@íÿ!��÷ŸÃî¿�Y”ýŸ?s&{êpÿ�à 0ü‰ò³ÿû‡ÖÝn†ÿ�ĝÅÀ�@Ù¬Éyëšµ�É陸äÔúä$pÿ@ñ1cjÜ´ªÜÕç¦M‰Ñ¡õÞ^¶¿7ðŸPTÛÔ"¿VR4’õ÷�(¥ûÓ·°
+
Êüj �yµ_×8׬|ôÁKoì]Ÿ›[œ3ãQ�p€ ��Дv¸ÿï�X|��ë®�NÂù?ü ›Ài¸Ê�»�ø)@A�ðûý¤ÝsدX̬Qoþüg‡›Õ®£Û=›�°U¨'H Aoá !ÊR€?‚“dH]TÕ‚[Ÿ¢ÚÙ,7¶ÈûÞµË÷“ï˜_ùýÐÞ×ôõ¼ô‡©W_ó<ÿüè§?Þߢp4Kh5�¿ª�Q9PãV^_ º§tc�PWšF4*«ï}ìÁðo~ÁžŒ²éxnm•Íçî&� ÷ŸÏe8�È%7 –Ä7€û‡Z[ºv•�rKá�\ø�Có¿¢Àýo�JûÁý²4“&©ë&� �àR€Ò@óÀýw�Ö,`—ûOMN''¦6&��L¬™ÆÖÇF¬Œ ®²Scñ‘ákÝìÐà¹üsŸªÎ¬Q��b��18à:�(í|BUÄÛ( �¤¬6$ßÁ¨kZ”½»šc¿}.>gY�àX ½.’p#𒔇¢ÿ�ào\B뀦�ñ€sÿ@ü"`®ˆ$i8Œf§ã¤cauvº0Ð7úátjw³ÊÏ�¿Lÿ $HЦ‚¨F¸Øü§�0P¢i¤•Õ‹Z1%¯óꤳ͊¾ÝjËS_Zxå…áWÿ`8x¸ÿÅ—ç^}Íõ‹gºŸ|ÔÐ*wè`þ­j`”"F!ÊEÀôÄà¬Íòg$h›¨,þ¨¬bTU€He½E-ëiÓÙÿõ›¬Ÿd“ëé«—ï&�r|�€î@2Ž�ð pÿ¹Õk��²W`óÔÿ§�8ü†â�ÎþOG"ÀýgÂ~ù/�pÿ � —��®�.Åþç“V[Ò
+
�Váð/�éÉéÔÄTÜ4±>ŽÀ¸6:¼6:¸2ÒŸ4ÄõC×Ú»ØÁ¡õ_>=Ô*1«Å^•(¤‚5�x{“›Ì€·=· �h¥ˆVÔGÕàìjo‘w·ªéŸþ$a†�°/0n'ís“ÿ�8sæÌ ³€î�à œÿÃOºY0°ÿ•á ð¶¹äìþÁGEùÁg è ËuÎéXšÌut ¼ëñ1­ÒÛ¬�@ A‚n(ÔO„›ÿĤ5@á�ø$;bZ#«ó)E -êÁfÙØg?îzåÅÁoÜ`à÷/Ì¿ò²ý'?<²[;½GåÒÔSÊjJYO)i¹( k\”ÔÇİÝ^åó
+
´ü£,€¢ T›®K-3~þo
+
v+_M^¾Èòw�rÙ4ÿg“�е¿%�È]½Â�pÿ\þtÿgÏ”²ÿû?™G�‰FSá0pÿ•�¤¨ Ec�HøP÷O�gܾ€ûÿ@Ym ‹vÿ´˜9��î?9>™0÷?¾:>àÚÈ`b|dÕзªïOŒ ¯uõ±ýùŸ5½Sgi’9eu‹:EHVËH«Ñ„òë��k �€§\µ(¦ª¥¤÷9[¤]Í
+
Ï¿ý 1m^šÅ��³€|��>ÒMPž?�0ð�¬»�¸ÿðýøéÁ¾ÿÒ¥ 7j
+
× `q1Þ9?õ»š¦o€ ¢Ï§smb"}äpÏ#š´ro³Ì¯i���GÓ+jƒèÚ&H A‚ÂÅ%��xÙã
+
‚ñïÃj±§þþeÜ/mðÊê]-ªQXÿÁw‘/=¯þ·ãoìzþyÇË/Îÿà[4bÛƒZ¯ºÞ/¯¥���€û�@Ðv
+
6Ca‰ëj‚ÊAEUD%Ž<¸³G.øðûÒSFvõJòÒ¥»áþÙ²üŸ�pÿ•�À/ÿ}K�Àk�ZœÿU� ¬�N8œÀýÇ‘û‡ @¡û· À³ës³ë³3‰)˜ÿ� >n��ÜÿƤ �@fzlÝ0xm ;=¢÷²}}ì뿟~ò!K›r^Z³Ø¢XT5Ò’ª°ª¸ pýÀ¯€;�Òú¨ZrBSï•Üçh–tëäîï|;59}rf64?ïwÀG¸ˆÿ�ðË�¶�0à)`�lÀ �«@xþÎÿá¥�—HåÜùóàÃ׍ßÀ©S§N¢ ¥¥¥X,¶ˆV4D� „C¡P0  E“T€¢ý>òIž¶Ì³gägÿÙóàÎÙ6•G'¦5µA>��p€\(J$H ¢Jö')5Ý쏁&eŠ•Ø¥•εÈj^øξü‚ñå—'_zÙú«g‡¾ð龝š…V9¥‚=ÀÌ(‹D“Ö,I¹Ç$h;
+
[Ì€0ìTPí�pb§Ú©t’»Ôäsϰ—ϱÙl¾P€fh“peðmªÎ²ypû ]Wû Ÿ3—ͧSÙ$œü…•M¬ç6ÖòëÀý¯dW¯eW®å®^‚ºr1éBáâ”ý:{öTæÌI öÜ™Üé“™K©Ø"Ìþ‡å¿‘ êþY�&À�e(M‘P¨ÿOÂ㊻qÌþ�€v�`áoÒjIXæ€à€9sÜ<ŸžŒON@M¯›VM£ññ± ãèºa8>2×%‡‡C¹žnöà^ÏgÿrDYOíT‘²Ú¨²�À¢¶žî¸ý18L8ðO}åGðö
+
XИ²1$­:±[3)­Þ©[øú×âÃú‹æ¹Åy{Àé¤}°ö—¢a
+
À�Š"»Â¾—!`�pÂÀW ì1`�`–O^*; ì40ÕÀZƒ l6θÆ8pàÃ×ÖV€€-Çó€1¤KÀ1�c_àýâu+�À€�Ú�̱rk�@îÿ4êtš�7sÿ~¿nÀ~I�€˜—<5gcÁ‡øô{ö´Ìµ*<ºFFÍ€F¡(M A‚x‚—= �¨IÚfv,:U60Ê�âù&éÈÝÜ·ž²¿ø;Óó¿›}á…ù_<Ó÷WnV:tRF!ËD¹�€
+
œP$œom[áÂú˜´.&%1E�@)@AØ£O5K¶ÈOÿ+»b×6òYhüï(��›_�(ù‡€\*™OBa�@É?+�d®]î?õRá2€â��
+
gá�`�PÐ"�¤ÃÁl(€ í‡îŸ�(üïJ¸aóŸ�lÿ?gN™g’³�6¦&6à `ÓúÄ€1#��àþ7ûG�0éébð|á3#ªFb�€ê¨²Ž‘Vc� ÖAÁäpŒåñ6
+
ÿ=œPÁyd±6ÍŒ¢Aߪûû/¦‡/ÏÌÆ¬ ~‡ƒòz€ ]��`; »ò�íÜc�p÷_ ÿ—�¯ è^øÿ:�X^^†UÀ(üK€Ñ*sÿà£�À>ÆK,º}gÌ6vÎJ~÷»}»š-­
+
¯¶Ñ¯® )�$H (Â�n€ËŽÈ`GJ%vkÄvtt·fôo?ëûÝo§ž}vþ¹ç?ùIç“ï64) °þ��f�Tô �ÚÖ*~•¤¢ˆL†n0 6%©¢tÒ…6Åqhêk_dv5Φ‹�Pi¼n×Âî3ö=�°ét!•â��%ÿ”�ÿW@úôrîôÉìò‰ôR,…ÝÿR,‹�î¿�24U†ûÿ”� á€ó¿0�Àù_¥ð?€ÄÌ�ÖÆ•�,À‘CÌ—¿hP‹|;•�à`( LǺ+�‘Ö� ëï4+ç5Òáf¥ñ“O \™ž]²Ú»ô¸iŸ›"=��¼>§Ïç¡(˜„ f€ûGípî1�È …€sÿe�pý àÊüŸÓh\�¸üŸ[��@x�Dœ®³fKajÚñ_hmšoV>�Àü!H A‚8á!�”Ü î��®©D�ã;5½~ŸÿÙg­?û¹÷W¿q|÷;ÇÞ3Ѥt)Åe�@TôÈåÏ(HÐvî5‰�MàþÑÁ&¹§UÙ£lÐêÃkÃ}ìÕu6‘eó(ü_a¼n×*OþA��‡]�@��òñ"��÷Ÿ)æÿ\î¿ �8÷Ÿ=;ÿ`÷�Žæ�pÿi”ÿ��¸ n�€bþ�TP�ìþãæÙäì4��èþ§&`øÀʘ�Àú¨¸�âýý�ŽY|êF›¤Þ6!‡��½¾
+
uUTáS>.[��@!IÍ µ˜¬}GP'q6+‡š=ï"Õ×{ez:f±Ò „ÛE¡f > �Àëu“$É0T À@÷ñG"¡ÅÅÈÛ �nþççÿ€×�çÿ`�ÀîçÿðS€0�€û%A�ðFí΋湂iÜü…¿jÖ8š´º1¨‚3€�$H J•Jߊ©ÿ7�Z)ò©E.­xªMÕûø;™ýˆúÙ/üÏ<»ðÕ¯u´¶˜›”>¥$(‹”ÃüØùDÉ=`ù3
+
´„¾S��¤a �FZÖI}:©AÙ8ðäc§^ÿ{áJa-ÁBÓuà:러Xû ;"�À‚ Oä6`óàþs(üËûÏ^†îŸk�Š�fþœ„ÿù�À¥�!÷È¢ð?Žýãð?ÎþG�ž*�€îßaî?+€aëÏ"�˜g1�àðÿú$
+
ÿOŽa�€��Ö‡aø@º»“í8~ö{ßk¬%'äІ•¢²Ûý»�Kh  ¹›Uú&å±Ç]oo_™™Y²Úhû¼Ïe'=N8 € àzÛ�ÀÍR€ð3q�pëð?�¸�Îý—�f�89™ðú}¾è‚ý²Ù’1˜>ñ‰aÚ­UøU8ùu� $¨Le�€Ý?�(q¶ö'ÀåJ#6·(ûÚåùÚ?.ÿüÙØülæÓŸîoÑÍ7«)47�ÀÞç¥r‚Êg$hÛæ™À/�ð&�ø×ªT6Zšd}µxžþ!»x‚]Ù`sw �²™Bf3üË�6âûç—ÿ¢þ?—/�A÷Ï�þç@»ÿ¥çþ¡Jå¿E÷_€bÿŸ�Äí0ü¿a³a�Àýø��Ý �VM£kF�k†�âƒ}}�º;®üä¦6¥»E† ¢ä° h �ê¶�ÂÒÚ˜²1 ª�àÐI-ê£ï|èêÁý«³³Ë[À¾@ð��2€Ï÷öHºp�Àÿ—U �h\e�Øú—…ÿi´Hš¢2ä#¢¶…³¥0¤7~ðcZµG«*¡ï�@ A‚þ˜p:rÿå�@©D>µØÖ¤4ìiµ|úS×~ùì©þÈøÄ£­MNŠV�^JÑÕ¹ÿòÇ$h›i�Â2ðòP³,øO~Y_^KíÑõ4)Æÿ¿/²É®n°ÙJÒ)p%¿üàÛQ \žÿ¬?vÿùtÑý³IþÏ®­§õ_…­?qö?tÿ•�pö Îÿî¿�¥ìÿœ&ƒ~�¸ä �8üÏÀ†¹ûrÿpø,�(…ÿ7f‹�Àý¯MÀò_¨±ÑÕÑ �Àý—@oׯ3?Ø¥u6w�5R?lvŒwfða*ž²PU@åA¼Í¦4¤•,(Ç[՝=tîµ—×ggNÚ¬��H·ƒòº(ÒCRHpÒíÛ¡˜Ï�ü6 7Ìÿ©€Rø�Îÿá��Çþ±õç»
+
/†Æ�³.l˜­ìÀàè“Oš´JB# )aëOÔ�T��A‚ º…xîÿ:�(D´6µëäã»[gÞÿdú—¿<ÿÝïŽìÙ9ݪóh´¢q�Jƒ6+_ m¦r�(f)êòjFt@^»øHk·¼®ÿ£(جìê:›¹ �€Ý?×ÿ‡M ðÿêZúÚÕÜÊ
+
ÿß��`ù/lÿÏ€ì2d��à€P `€ûOŠå¿7€¸Ë�V�#�Àå¿�€û¯€µq#€õQÃ:€aèþñÞ¾TWÛ×ögã{t��N�Üñ³ÌA’×,©¢Z±MZ3Õ¦é}ü‘S/þ¼ÁÓ6[Ènç�€¢½E@‡{϶­ ÿcëx\4l3¨ �À‹ã�€—ŽT,æÊ�p)0—TÆ�Ÿ7
+
3N×òüBÞî<ùÂïMñĤZN¨¤à¸â n4àm+F= $HÐÛJð܈Þ��%d�—V:®S˜ßûØÆ¿}ÿÔW¿``V§°Ë낼�ôP�ç[AÛY×�¿8¦ßGµt“L¯u=ñHhï+ìê
+
»±‘Ogr©t> ‡1‹•Ée Ë!Ý ¨�€\v3û?™î¨O6а¸¿vˆ«Àå¿PˆògNÁæ?((wr9¿|fþÀ �P™H(›ÿR~&ÅP@E�(eÿ÷ŸòÀÀüþ?)Ì��’X³³‰™Üþc¶ÿç��†ÿQ
+
€x?��¸ÐÙÁ¾úÂô#­ö9­n„-€ÔX€ŽÎ&�lÕ¾%�¿¬�@XÕàÕJ¬{šµjNþî7ÉÙé³Ó~›öº·ËçuS(¹$Iàri•)œT¶Pvrñä©vÑ` Ì6vݘ€†;ó 4 ,‰¥J³À¸€~%Üq�À)@œû¡M€²}€2�,rØOÍÛ
+
Ë¿ýñ½O©å0-Í·�@ A‚n¢[�>s¢Ì~È�xF+³>öàú¿<uú‹ŸŸiÓÚt27�¼�åÁäZtqη‚¶¹j`~ùõ��­¿ºΣ•VꓦñøƒÚ…ÿúwöì2»¶VHe d²Àæ•ÎfOß:�€îÿ&�»|™ëÿÃ�ìþ³Ë'
+
×@&-€$M–•ÿÂþ?n8�ø†�Ÿ3'Ñ&@%��÷��ƒ�G�€ù?=½éîn¶ À£m�DTbFR‹M�Jµ[�à GÕ๼ªFÛ.ÝÁ&Õâ³?OÍÜ��ÛÀÀg€»��Øú—õ�åÊ�8�àR€<^"èÐ ��òVKìW¿}üÑ)µT��A‚ ºµà•¯È�ÅýR\\šPüoPi/̲jŶ›.ýÝg—>ñak³Ò¥•’ŠºJ*>Ì#ªη‚a¡Ôÿâ!¤‚˜NTŠ:k›ü°ºAÿ¥Ï±~‚½v•Mg ™,�©L:SÈc�àcÀŸºøî?_lþ“ÍàÎ?Å€¢û¿�°ûç@îü¹<ªÀáàþ1�äP
+
�ép�@:àO3 NûÉRT†,ÿJy Ê��5��€Gÿr�ŸžÆîÀ†©èþ1�¬è�¬Áðÿ&�t¶³¯½l~|÷|‹ O+)Ä~)<(¥ E�[�à)ü²ªôpëU6ØÚ4‡µræéff¦NÎLm¿§�Iúˆ; �kkk˜ø‰@w�ÊÂÿe�€‡�`��Ÿ��?͐6Ûi›%k™ ÿ×O†Ù=­‘a�À—4|y‹¢qÜ¥MA‚ ÚÖ‚ÙÐÙ  �¸S%†��à
+
êÔˆì-ò“ù‹ÈÙµB#f” 0±µ�ÀúÇd;b�ð/+ŸW m"l?ÀwþX»×žlU„dµ€ŸÉ‡uòÚŽ¼«0;Á^¾Â¦sl6« l®�w�î�pî?›)–ÿ¢ü �ùõ 8Õ�p�½t 7�-�ƒ5��dN,å—O��È 1À0ü��fÿû7�¸ .ù‡�®ÿ€¤Õ–@�PÔÌ ��Îýs��³ÿQÀ†^Ïåÿ`�Huu±]íì°>ñ°µIN_a¥( k –BEsÈf îLwNà|RÃM€€ø¾ °_Ã|«ú¨FîùÞ¿ò�À¹•��,:—„×]ÞàóS€p <ŒËÿŸŽ×KÀçc³ž™·¦Í“ôÓßï°yF+#Š�€¢PpÎâ�@ A‚°J��¯<�@±ÿÒ/¸3Žsda; B-r©E‘Gw†lñ*iUjª’À# ð¿��‚aáo£€ò‚p<6Ú“W$ÕK:yHVOÊjÏ´ +êŽ=ØtíèöÜy6“‡þ<—gQ%p6Lz! îÜ!�ÈÀð?Œýsù?(ü {­þ‡Ùÿ�¸þ?�ògÎäNÝ?�Ôûºÿl$š G²!�Àý§hÏýÅá�°û;]� þ?¶„ÅŠËSæRþO �âÐýÃþ?�¬è9�Àî?ÞÝ� ÐyœÝ÷ªýýïšÓI}ªÆ°ZL‹áŽ%>×áÜ�ÅþÅ•Gð6
+
&ƒiꃪZ��e5¥¬_hQv4)ìßøzvæÿ²÷&Þqeå½ö¿ð­õ-Ú¶Æ*Õ¬É’Ý àa .sšá!ÂG’KÈMHBB0\ Ûí¶-[Ö<Y’åASi®y8uj®ÒhY¶fÕ<×ùÞ½÷©£#•ívw{dŸõ,EíNwÛuÜôïÙûFo=  Çÿ Q€püä@Ü�@Ò?Ã0v»Ãí`A�îæÒ£¶ï|«ëTõT@¸ÚF·oT�(
+
E�TÜ_¸à€‘òe±�ÀÿüGË®(u×)}õ*•´âkø «�¾òÿÃK€ò߈({8URPe
+
¤úÑc·ô¸[V†@Zê;¥¯–´ÕÊÿðny™KfPÌÇó@ó¸RýÑc€Lš�rö_�œþ£Ùp(·»‹ÎþÉ€ÍÍôÆÆ¾�ô¿ºZ,�äìŸ�™ÿC€ìý…ôO nµBú? �…â"�…Ùÿ€èø89û |§\ÿŒ \‰^Aí¿‚�äÚ[¸ógŒúÝÉj)@°Fæ¨,ñ«PÃ’ �^Ïúd�Ò¿¿ºÔ[õ¦…ê2‡²L_¯ìªWë¿ñÕ¬`ô©@<'éŸÀSn.NÿÅ �b`–ÀºQ`þ›?ïhPM7(í$ÜT�(
+
åžÀÿBBú €¿°¬X�HÄwËKœ²¨žA#óÉK}RÈú%Y)�
+
¥"�R'Ú¤Á À¢ 8Úì(ƒ¯RVRêÔHMõŠ+ÙõÏ|Š ó±$—ÉçRé\&û¸à`õ¿ �Bû/Nÿ€ì.þ9(�™u´ÿ«X�R‹ |@0˜
+
Púǐt»@�,{@�ðÙ?!‰êL¤úŸ �ˆMψ�ÿc é_�”þ¯ …® @¢£#ÛÑÂ]xÙò‘÷Nh$6UÅBÂ^~< –�\£õ$€UðÉžY®©`¥³5²ž†ê¹¯¥X�\H�PÊ}¬@š€Ib'@&>5XÂÏ=Óÿá` �|@†qÏÍmõ™‰aÓ_ýYG½r¶QÅhø{mò_&ü¯"�
+
…Bá!%@.•Ѐ~�åyH�Ð_"+ñTpËÊ‚* ä~¯ä™€ì„ ��
+
*ŽÁWüWQ ü·†/RU8ÕeÕqr�°R#cÊÞ´¨Q¸ªÊí²2öTõdÁw¿s²ÜnˆKeS b¹ ŠêY ;YðŸW€\¡þ 
+
í§ÿ‚�@ú'Çÿb ÇÿŐòù_U�pû¯ùa��Ú?þG �D�ð€ÁèÀ ªÿ¹‚�"]Ý@¬³ @ÓYÛG߯UW°•  ñû%@dÊúßÀÇ/�Žª7ù4e �K5»¼dZ#ík¨Öõó㣷µB°ß�8A� åî €ÇE¶€Ý[�–_»� ‡\¼Ñ&àtÑ`øû‚�À?‰¤²Œü<67×ï'�ðË€_ ^¿<øEúƒ€_3üÊ}¯Çåv±.§Ãí`ð¤$³›1Í› kÓZnv|ökÔ®‘Xž­%ÛéyÀï^6�
+
…Bà#þëú/_¡ŽöЏómŽø{šþ)ÿ­)ܤŽû•¨�·”øä¥~•Ä­®´*ˍšÊéIKuÕÒ™¹»ë\4¥Âél$‹Žþ#ámŽKc2…ÿ:ïòäÉerY´ÿ AÚ“q.ãâhòO>FÑo/¿Ç�Íílf·7„`¨øÎjf Mÿ@�,ϧ–‚ûÃ(ý'½¾”ÇM�•�1€@Êf‡ôŸqØ“6~þO€Hêç�2�4>=œˆiÇ¢ãüð,�7¶ÿd@|  @w¤§+ÜÝïjO¶\äÎÿšùøï)Ëí*‰SVîWË=r²–o&3š
+
LJßà£Å§*wÉNxe%ðÕ]-1ÔÊn<{rú?›º~cM;åÓé³Áa51v+ð�€ÓÁºX§Ûé‚äëu{ û½¾ ?�@@†˜¼8¿�©XYF»À„u`­ïÞ…˜ˆÜ${ï ]`È÷Bø!MÀÂ$PRažü69ü»çˆ€×ÉzX$�.>&ƒÇ®çîNi¹©Ñ™¯~¡CSa9­qªdhì.r�òŸ·Ò\ôŸ+
+
…B¡P(”G –aœûð– "�'ÐP\šb©‘j$=ÕÇ÷þž ¹p<MFó\,ŸCÝ�‰Ç% €oÞ°��dðˆE€ôO »³-�IÿD�Ò·ñðŸƒÀ/ÿ*@ÂãEãÿï/�)»5aåÛÉ€„n6>7C€,�>(�(ý €ÿcCƒd@á`_�Ò-MÜ9$�ãª
+
F-å�Od€4?IðÉË]U¥H�jªnœ®úÜ ©ë7‘�Ìé“ ÀŽÀŽÀùÚ�Ý<„�Dpþ¿·�äðSì�GT�†Ùõé nbxâ˟묮45ª¨�P(
+
…ByJà«0œûñJ`DAJ¼²ãD�ìêJk­ÔTWÕ_+»úù8‹™ E#¡8„ýÇe3 .OŽÿ 7�X�P�§±‡|ˆ7ä³D�öK€ ý �?ý³ �€ò@¶ÿ¢€‚�à¤ÿ‹�•�¡ôïHÛ€”�¥­–¤Ùé?ªGÓ?q ÐLl§ÿ" £?‹€ÿ @¬³-Óz‘{åWö}@«®d«e.y�Ú\ŽßÎax]¡¯ u… �.M¥¾Z:ԠѾð©£&�¤þ§ØŽœ�Øíz�¿~ ?v}ô ÐU#16(©�P(
+
…Byz Ê1‚�ødÇÊrŸZâPU2u2ûIÅõzù¹w¼5rý:·N‡âYùcÑðþÙ¿PÁnÞ°�ˆ{�D@êö·ÿøøŸ��šY»�éŸ,�&^ÇÿbH¸œh¨ƒ…ôŸÄé?e³HYÌ “MÿÄ7�D�¢38ý�Òdlö?Iÿdþÿ?pH�Húuu€�ä[/q/ÿÒþ‘÷�8känE%€O]E^M! ¢³ÿ'&�ny‰ �sêÊÁzÕØ§?qàžpÀË|ºéÍÙ©ìÈЍÏ}¢§®
+
­}¦@¡P(
+
å)Q¨þ/ñ¨€à—Ÿ À*+ÙZ™ã¤r¬^ùbCÍÊùsܝu.œ€¤Þ á5�¢ñD�^OüÇé?—n�òi”þñ`”þ¹:þçÐñ?�tö¿�êHpíÿº•ZEÇÿ‚�dƒ �äøŸ´ÿ&¼î¸‡Oÿi @Òn ý“úŸ¸Ù4›Ð`£!aÔÅ sû05ŸiÇÈö_Hÿa4ü‡ßþKªÿÃC(ýGpúÇ#€z"}üñ¸«#ÚÑʵ5s/ýÂúá÷L¨*]µ
+
$�|æøíð«Nž¼�À?Ñ-+#0P§ýÔÇ©�¼N`ƒŸ5�lëf2ÃW‡^øè•…¾^N€B¡P(ÊÓ¢ýy ¨,å@UÎ*Êœµ2W½r¢Nq¾NeùÞ?p Mqé<dõx4Frÿ~Ñ?JÿD ^ûq.›š€s©Â`Hÿ"Èö¡ô¿µ%´ÿ’ @úö
+
€Ôò"™
+
š÷‹ÛA�Pý“�Ô�€— @Âd’&=�’þÅ@Žÿ×€ô¸"€PW@¼ý2€_ÿÌüwi•î:¥K^áSW�ð™ð‰ �¼n€€²Ò#/wWKtÉ`½êh
+
@qú玠�8Æ€Ó °k˜KßüôGN©¨�P(
+
…ByŠàR#àøH#óª2€ mÑvÊJ]ÕW|ª¦ª£A}㋟ÏÍ\4‘Ú‹¡K€t†l–�àõ8�¤ÿ\íÿ"í¿¹?ýS�\ý¿'ìÿ ½‰Ó¿H�P�žþ™Å@éð{“>´ÿ‹@‚eÉ`A�’V)þáçÿu@Ê CÀ3ӑɉؔ�ªÿÃ#7�þøÿÆÕðu”þEÐ (Ôÿ„:[yøå ï}›VQê¨*÷ª¤^U%z 佦ý1ǏA�oÔVjª†4G°èžéŸ;štY@�öŒ:€OýþÕg5T�(
+
…B¡<E �@*‚Ôåhkž �šJg­lZSyµQÓýÁ÷¦ÆÆ¸p,¶¾MJö3™Ì} #Îcó@ú£ gÿþ²üë`ûïÈln�´`õ°�¤Å@ê€ô@ú€Ÿÿc˜ÐôϹ™èÔdx¥ÿè$:þ �j� Å?÷�HÿBûï¾�´6åþ#Ã{Þ:./!Pù§²’!­OdþA,�¾:™±Vv­±zü>yÔ€ ‹:ü»ç
+
�Iÿwﮁ�ôëÖ2p?ðyÝ(úã%�…ôo'àe ÃlȤ tk¿ôÙvu¹ù”š
+
�…B¡P(”§…íÚã @�ן4YÐ¥ª`ÕÆZép£æòïœ^»t‘ÛÚÍnïAÞß\ßàpÒ'Ào\�¸LVØ�ð� Õÿü×Bû/®þ¿¾½J€ŠóDПø€ý� ¤,ýi·&m–´u¿ôŸœýCúéÑôO4ÿgf":­MÌLƧ'â“c±‰Ñ¸3Š:€cÃ×7†¢×¯ò%@Wûø³ÿ¾îh_g¸§=ÜÕ鯣%ÖÖ̵^Ìþäco©ŸÓHìŠr|ÿ€ïÇ8 �äBà1â¬:ŽÚ�¤%µÔ©®°œTöUË&>óéÜÈØ­Q­gfÎiµ¢=�ŒÍåò@ò'»Àˆ�À �«·—Vo£=�ÀÚ¤kˆÙëè¹K�ïÛÁ‡Ã¼ 8^x’x0IõÅ—�GQ�ÈÐ=£.Üß5þGŸiS•Q P(
+
…òñí!ÀW÷�ˆƒæéøIUës'W^z‘»»ÁmïBÞßÙÚæî+�¯¹ˆ»� ô/ ÜS�Hû/�¼ÿk_�”�áôŸa €¸øG€è̤"�¨
+
hb1>‚À� ÀâŸ¾îHo‡X�âX�R?úþøsuºj)#GàQJ Àþ&ÄÇ.�.Ù‰€¦’�«*7×+z5U �ÙáQ"�¬Å‚6Û­N§›
+
À« �ÃÜ6_?³k˜ ]éhU–Ò=�
+
…B¡Pž*|wé½€ß\æR•¡óàjéÔIUÇ©Z÷À­¬r»{\.‡8ÜL"?�ì�èÇ¥�p‘GF�í@úß!Ñ?!€JÿqúGæÿàê^�Ò…ãÿŒÏ›özÒWÊíDgÿ¬#Ã2)Æé¿X�HýOT7›Œâã 65ŽŽÿÇG¢cÃñQ¤ÿð ”þ£7‡@�Ðøÿ¡+äøq¥!€p{K¬õ×ÒýþߏÖèk%ü.ÜŠrŸºPÄW¡7ɰÐðAõ?X�ü*‰CYfª“÷¨¥Ú>°22îžžu˜Ív³Áf³°¬ËΰT�J�H0ÀØ_� {�(
+
…B¡<UøîRä�¯&�ÖjÉl½¢ó¤Zÿ¿¿ÍÜ^ ›L@Ö¬À¢ ‡ ·¹)Ìÿ €þ‰� ôP� ý'](ýi‡@Âj&ÿÄ sÂñÿ˜ÄébÒ?¹ Dn^]$@Žÿ÷÷ˆ€ÿ‡Ú.Ç[.rÍç¶¿û×#*c­À§¬tU•€Ÿ £(5ÖÊî)�V«ÙápÚì*�T�(
+
…B¡ü†AR‡ÿ¡`®NÑS¯þêW8—“ ‡¸LŠË¥ó¹?ø“„1ôU4ô5=X�
+
Ë¿È�P$�þ‹ ³¹™Ã€Ì­[¤ø‡�~û¯?…Ò¿7ãó¤½î>þ't0 �I\ÿƒÀ˜4ïŸýÇ 3 Ýt|nŠTÿCú @dÒÿõèðµÈÍ!�|ü?½>¹Öé?<ˆÒ?€püé¼îhµ_Š]nâ.½²ö­?®“›êªXU¹_]á”–ø5•h«êØ“�¢4X-ÀT'J€°™ô � ÃRxX %@
+
…B¡PŽ6‚²
+
€¯õǁˆ� @r/Ð!Põ~ö8ÆÎííåba.ŸÎ¤ã÷�~(ÐkzB�púßFÃ
+
À~ú¿u‹Ìÿ)´ÿ’í¿¾:û÷ˆ áDÇÿ �èøßn…ô·˜ ý@uÿ†™˜§ÿÙÉ��¾>(¤ÿ0>þ�Ò¤·#ÒÍ �¤A�¾þå5UÖ:™KUáÛQyœ€G}P�ø×qø%>Z €¹^q¥F>ýùÏäGÇ…�r@à¡€6S(
+
…B9R ��‚�”Y«+æj«úêÕ-ûg3q»Ûɽm€T2‚Öwqh/^ˆý© ¯é¹¿�ˆÚ‘�èÓÿÆÁö߀‹ÐößCÄÇÿ �I‡  iF0é‰�@ú/€±ÈÄhbjœ´ÿâ€èàæPäÆUHÿEÐÂÇÿD�Põ?>þßk»ˆàâYïÿ¯ëj‰­^îVWÎ×H™ŠcjÉS�q€µA5X¯šûÂç¹1ííñI﬎4ÛlZôpÀ˜½Œ `׬vk¿ôêRJ €ZpÐ¥›œÜÇ~%
+
…B¡P(Càçà€†„ªÊM…¾V2pRuùÃïã,nw3º}‡ãÒ‰d$Çñ€âŽd¯ù€Ô ½€èOH¯¬@úOíWÿ‹ÀKŽÿEÀð`ã§â�A�™@ÔŒ 6ŒÆÿˆ]ë' �»=¡®½~¡þ§#ҁÚÃm—"-“Íç¹ /{¿øÂuU¥½@ºX-³—?¬–ð=�ü+ oGüýã£8Д»¥Ç}j «*·6ª‡jô_þ7®½¥ôèôN«•±˜íVË8!ý;ìÌk�Ì�’þá§ÿ×!�$ý/¯i!é?PXv°;‹Ý¤ó›ô†™äèÀø—?}¥Afl àUTxö�QüV(
+
…B¡P!9Èå�™z½QùòÛO%dž¸»Ë\:šãRÉ|Z8ï?Ä=ò'P‡0"ŸÍøèÀß,•É'Ó š EPúßÝÍï ¸­>ýï�½Å/�^A �ø ˆ óp@.àHº]dXÊåÊ8]i'‹V€Y¬)‹5a2' ¦¸^Óá ¹<þµÿŠK€¢Ú_„€¢Þ_Ä`äZìê |­7t­wg¨wg°g§§#„Òg´½=Ö†æÿ$/_Ê^|…{ùãï~~º^mSWyR¤äV½ªð±ưŠv5àj‘ÇG‰KúÿÕ%.Ù±…:«¬4Ö)¯ª3}íóã£+Z·^ÇÚ¬ŒÙî°0n»ÓecxËé€ÜK€ ì÷yȱø|п0X\./-�…E`Hn¯-C´†€M’vA�¶¶·· °"›ÀD»ÀH†‡0ÿ›&�fÃýtr|püO^�0ƒ�¨$ �‚�xT¼�½
+
…B¡P(”§‰KUa®•ÜlTœ{[Cfl€»³ÈeÂi.•à2‘�¸ïS$�èò@�ý\"U� ýgvCٝ ·ÙØÂéÿ€�¤Vqú¿—�à`_ÖH{}þãN�H³Î´ƒMZ € €N'�2�´X�Pú/@äÆ@xèJt° õì õl^íÙìÞííuuE;»°�´%Z›SÍ—¸‹g¹_ýhü§gkUŒZPËÝ•'–j䞪…ã`4£I¸·�xdoš×”¸åÏ,ÔKªJ}zðTù’ÕŽ.kÇXýœÝj`Í¬×æt[ìT�^E�X‡ `1Þž›LM M~ýó½ Uè€�4ù•€·ä½
+
…B¡P(”§ €©¦rø”òÂ[2#ýÜÝ%.Îä’ .÷¨€D O梱l$š‹D³áHvo/½³“AË¿¶ó›ˆìúff}=·Žêr �k·³«èø?³Ì�E, ôŸ úÉþ¯¬•�¥<nHÿ@‚E¤lŠq�€�mÿ-�.â 2^˜zóFôêˆâ>àÐU´ü 5þ¢³ÿ­Þ­þ€HW7@¬£#ÞÞo+ÀÏþmìù“S¹C£\¨Q�Ì«¥h/þÀŸü €Oq À«<>_'!ÐßPcÿóodÆG'ÆsH�ì&›ÃäðXY§•
+
ÀC €>hµ¬ÌNf¦nêþ⏻¤û%@¢ð=�
+
…B¡P(G "�£ÏªA�ÒÃW¸õe.KgSi./.z•öß×.�ÈööÐñÿV±�Ü…ôŸÅ �‚�@§rücþ“ýíLÂf¿Ÿ�àô?ÒA�"c!ý rã*P€+D�vz¶z·¯ô„{{@�b@A�Ò—›A�2ÿñ½Ñ7×L©ªµÀ%9PK=ŠRô ÀcNÿe¨Ç@y<¨>à«­°©*tõꞺjöÛ™^ÐŽ‚�Ø,V›Ñn71.ËZlT�J�vëÒ´63;bþÛ¯w6Hõ 2§Š
+
�…B¡P(”ß��¨+ÇŸ­¾ð|cæÀ*—Ž¥ÓIññ¿X�îí�¯"�I€Tÿçcñ®ÿɇ£\($´ÿrÛÛdÿWn}Ò?wçN~m-wûvv¥ÿÂÙÿ§ÿ\Àé?ëõ¤ú¢ÜáH9ˆ�ØãVk±�$tºDA�Hõ?JÿX�bÚ1a*þ¹q}_�® …‡¢ƒý±þ+ð5<p%Ôß·××îîuöÆ:P PTtý‡¿ÏsV-³Ë%Â-- ÖÈüšJÒtA>vú/#�x'Üêr«¢b£Víýîw’ã£óZt@ൠ€“µ1fC±'Ʋ:­ýÿ|«½¡J× `Õ"À 8¨�P(
+
…B9‚€�UÚçj@�Ò×û¸Û �©TâPûï�.…� �韋���€Oÿ««‡ 3?O€œý� Í:‘<P�¢3SÀ¾�ô?>½¹ßþ éÿ:¾>ˆઠ�ø* /ÜÛîì‰vôDÛ;#mm�j¾t‘»ðò?ûжAm®VÙd•>•ÌUU:_[å«‘‰Ÿ˜ÀIÿedАOq À©,µ(+fªÛêªçÿõŸâ“có“㌎/bÌv'€Íî`lT�^]�æ& Í§ÙþÛ–“ÒÙF$� P*�
+
…B¡PŽ,X�$ÏÕ_xþtêÚnã.—J@¦ü¼AÈ%€Ðþ›‹D… ¸mÿŽÿ³w׳wÖŠ€,ÿ*€ŒÇ“r¹Hï/q9Ѱ`NÅ ´ÿ‚�@ú€oÿ%pm ] ] _é"ú€H_o¸»;ÒÞmï·w„ÚZí­Ñ–‹©‹MÜ+gÜŸþ¨¶ZÆÔkì²r¯Jê’—êª\ê¡æGà‰ ‰) (KA�|ªR�›Z¢®¾­¡ööOþ36¥ LN8ô:Òì°0.»“¡ð0`7‚Æ;>–5ͱßÿîåÙL£ŠPÜ%héþ�P P(
+
…r„�Ы*'Þrò<€­u�xÄL¸x}ÇCí¿¤ ³½ÞØHó“PúO¯¡ê±�ÕÿD�Hû/�Hÿb@@]δsÿ e±¦Í÷�Òþ[,�‘›¸þ§ �{W÷B}W"ˆ^”þ{{B]]á¶®H¤ÿv€PksärSêÂyîå—Œï{׸¢ÒÕPËÈ+°�”øj+ù3‡ÀO–6<v( ªÊ@�üjô®mÕrý[Nµžn¸óËŸE¦µéIÖ`D¡ �Ë8væ7F�žÒ"0^�ãŠÑž_}ñ§Mõ²©S÷�/úC*�
+
…B¡PŽh@½bô¹“¯üÎéÜè5n{ƒË¢•L‰dç-þËC €�h€Ð�Î úŸx‚KÄr±H.ΆCD�r»;ùTü“ßÚÊol¨ýwýnfí6Ùÿ•Z½%Þ�^à Í/ÿò¤<î¤Û•r;ÈýèìßÁ${ÂfIXÍY;�_ü“ÔϺÙÄìL|†ï 2†€
+
Õÿ1 ¤ÿðÐ�€ÁHÿ��Šþ=húg ÿé
+
µ´Åºº÷Z[¶.žO¶]Î7_â~þӉ笍Վ#/wHO€�xªË*´Ž¤ÍŠ >pKŸ™×”.ÔJÌ’gìuÊÑ:U×[ß¼þò¯7Ɔý³SŒÞ`5Ûˆ�€ ØíV/s² q�’! ¿€à½Sx@� ý“-`Bú‡èNÒ?YVœþ¹£,�‹FÃÞôøí³¿¸tJU�ô‰�\TôV(
+
…B¡Pž �Æ:åçêνý¹ÜøungƒË¡(–LepÞ*ä®7 �|õ<*€<€Æÿóí¿8ýo €x�Z�¼°/�$ýßC�l6Hÿ@ƆêÄ�é-˜™.€èèH|”€Èõkþ£ø€@è*�Rüî&Ó?»PåOgÇ^kóNÓ+é¶fîÂùì8ÑXg«S³Õ
+
VQÁV•¸¥n ‚ìc~âP敟W—Ï×HmU¥ÌÉêáZu×;Þ¶ÙtöÎø°ovf_�¬ÿ­T�J�‹‘1™æ Ɲ)ízÓ™Ö·ÔNœRÚ5R|³ƒF®�-¦@¡P(
+
åH0W+¿úlÍ…w½5?=†n�òÈí‰ Îa…ÈßèOžCé¿ �èø�ÿs±h>)TÿïævQú �žþ¹Ž÷áô/@j§,�©ù @ÊïMú< ï¾�$],ªüq0I»•ÿï €Q7ðÇÿÉ9þø1=›Ò’ö_Hÿ�iÿE•?"]íã€èÀ`¸¿/t¥7ÜÛîîŒuuÆ::@�"í¡¶Ë �ÙË—¸³¯Dþî;Ú•¥ZæÔT9••.9.ûQ—B $ý¸O^�ÊÒ ª, ©d••lcíµ:U÷{Þ Ò²¦öÎ�cvPxUpXM¬Å0¶¦µÛmºÞyz¬
+
�…B¡P(”ß Xµdººªï´æÒkÓOrÛë �éLu£¼µüç2ñs0ý£�áø?• �¤Rü#�iÿ%�éÒ¿ �©Å…ÌâºÓ�rp¡ã�rü/@ÜbJ[-I³I,�BúMOAúNŽßO�¢˜ðÐ��ø&‚æÿô†®tïõ!ˆtwFÛÛ#í-þCí—ö.¾’»ÜÄýú׫_ýS­JnVIA�\ª
+
·¢σ9îQ (JÈž‚� Pª¨p©«˜SõýÕÊ+¿÷¾HoÇmí¨[7c3ì €¡ðpÀÚÌN«Ý¯×oNMD{ÚÞÿöá…µš�¿ò8v�*�
+
…B¡PŽ" �µUݧ«Û?þ!Îjà¶7¹|.‘É&s…ÄÿðPHÿD�Èñ?ß�@Ò$œ ïeCèø?»ƒÒvk+¿µ‘ÛäÓ?Ùÿ…zWW3· ý¯³Ô  fH�HýÐû›v¢ãÿBý%ŽÓ?²&=�Dÿ”ÿ“èǀȪÿ‰ÜDõ?ákCøø(zå~^®„zöú»w¯t„zÛÃ]mÑŽV`·åR¤½9|é,wé÷‹Ÿ»?þ ­RjUI!mƒ�ãHƒ^ù3Ay à/�We[�|ò€«ª~J¶†Ú>µ|ðcŽöÜšu €ÅAàÕ€uXŒÍmwøtº©‰ÔÕžyύz�
+
…B¡P(¿0ÉD¬ë¹šÞÏ~‚sÙ¸Mòñt&• �þîp.? WHÿ¹Tm‹ÅŐÙCÇÿ �þ³èø]�”þï¬AôçYF@Ò?jÿ…ôïöß´û€�ˆÛHš I“>eÐi½Ž@tjR,�¤ýÒ¿ �hêÿµ¡�åþ«ý{ƒ(ýïôwo÷wìôµïõ´íuµ†Û[¢]-[-"í—¢ÏrÀ¬{ç;§T2›ZâÝ�ˆ�â¾X�žÀ˜xOÕ1¥Ni «–šê5½jÅÈg>™¸6°2IÀDÀnµYT�Z�< ëÕ­ONæo^ûć®×�í];&€WÁ¢P(
+
…B9" hPu½¹nèËŸãNno ‚|4N‰¿ �z
+
@Žÿ‰�@ú?$�¨ý7´ €Ò¿X�
+
Å?‚�dWPúÏ-­@³ÁyHÿY�ÏþϺܧ‹¬ý‚ôÀ–`Pý€˜™?þ @lf"25ŽÓÿ¤xþ �áèøŸ¤ÞûKVÿ¢ô¥këJûf_ÛvwëngK¸£9ÖݺÑ|.Úy1zñ ×ô2÷£46ê4J¶Zæ©–ð*ñ.^ù±Y @�þðdöD¡)@êr·¬ ÀP«ê«QM}éó©á¡¥ÉQV/€Õn³@ú7³T�î%�ðY O¥;ù€ÜÖ=§»;5™½6ö¹Z/³TK=ä@¶€¡Ûªô¢@¡P(
+
å‰AúMÉ÷âSèÇ É`¦QÕý–ºk_û·èãöv�$!¹¿zìßî-�Iä� 4ÿ‡ÿ À¡êÿC]\.�~üÚí†ôP�"�1|üŸ0ÑøÿC0=™œ¸§�„‡ �ÅÐß·w¥wÒ_'¤ÿ­žÖ®–½Ž–p{K¼«u«ù\¼ãbªé%îüîßÿõºFe©Qzj徚*H€.9šüƒ2¡üDñ À“�Vzl¾C;UH�®œ¬žùÓ/'Ç®/N³ú9�²ß�˜ú �'r€4~ˆáþÖ¯]�–—ð0?? øñx½Çív»\.'<Öë2[l~·Çg0ܝN ±õõM™©NêU—”åðY»å§²Ò£8á•?SüJ(
+
…B¡P-¸Ó”Ì"GÀ7ð#=çåAE¹OYéURÀ§¬rhª Ï©^V[úõO8¿“‹ÅH”Ïá)@yÑàý�Vüˆ|ýeéTD>™Ì&¢ �\,’†s‘P¡`+»³™ßÅ �xøOîîm ³v+}{%w›ÿŸYFäàëb03Hã ¯;åá‡ÿ�Y’ãH1 ´ÛkÒlIÑ
+
°”ÁÔë³sñ€p€èäIÿH�´#‘ñáèØ0Y»y#vc(zýjlh4�D®D¯ôDúºA�vú:Ip´³#ÞÞžêêÚxå•TW[ôâÙÜ…¹¦3K_úüxÜ®‘¢_ÑÂ/þ½r0ÑŸz|À?%P-qTŸ—C•Îiä­™ý￟Y˜Ò²:ƒÓ?�»Ýΰv–q@Ðu±N·Óåu{ü^~1îAð//W–ç!H¨×ÖV!Z‹Ó?°½½ !Ò8dòpx éqú'pO8BÀ²,Ã:—ÀÃ:½zýÙip)çw¾ÙV[n¬¯tkJÑy¿\êRÊœ
+
‰Gq̧xß ~1
+
…B¡P("�ý]j|C`Q^>_�·ª
+
ð*å\wZq¾ºtõü/¹%?—H 0OÆøàK€ &~§¯‚¼š�$©8�¤±�à€ÍÜÎ&·½I�·ÿòZ]&é?µ¼˜\ZH/¡@é…@2èH¡@ž¤ @² �ä ig6{ÂfKZmþãF�3�Z�ü@€ô¹‰Ò¿H�Èñ¿ �ýw{;ý]‘îÎD{W¼µ#ÙÞµsþB²½-rþ wá wæÁ>6¡©bÕ’â—ò´ÀPÅJN€�¸å’¼½NÉüów#ScÁ©IVg�°››ÅÀƒÎ·©�<Œ�8íŒG§[›™NkG|ßûÛöz©þ¤Ô©F—k �…Ì­¨¤@¡P(
+
åÉð`�¦Z>Õ »|Z±Ûu‰»³ÍæQúÏ¢1@$ë㸏 øìÿ�ä²i±�ä’1"�þ,>þ¿Ÿ�dï¬ é?±8$©y"àEé @ÚëNn�NJÿŒÒÜjKX¬“9fÀ%@äø_$�QTüà @X;ŠÒ¿H�ðà¡È5þø_,�þP�ë芵v�¡ææX[s蕹‹¯p?ý¡ýƒï™PU:UGK�ü)[UTT:’™EשjßüKhj409`7ší&›ÕlC`³1 CàA€ Éé¶Xl¬Åæž›»53•™Ô.ÿðŸzžÕÌž”²"�BêQJ|T�(
+
…B¡<R�\jp�¹­Z>VWÕýŽÆÌÈ�·}—K'Óˆñ4ÒÇ0"�|ôºD�ò9ôWBúÏ¥’(ý§âbÈEBD�ЀÍìö@nsTÿHß^ ¹´�Z\ �žŠ@Hÿ�HÿbÀÇÿD�øã^�pú'õ?Q´ÿëªX�Âý}áþrün�ø �‘¶Žpk;ZÐr1|î×\ó+™ùîÜÛžQIŽš�Àëv¡Ò£
+
V)™ªSö=jùÿ àŸšpÌé©�¼€OÊa6{tº•éÉôìäú/ÒÿöSSõ»º”€W!E3@Ñê²îð‹¡P(
+
…By„÷�øï#�.µÜR£¼Q/üð;8Ã$Ùå2Éd…+!Úþ/z„~�Qô'Ͼ�àÞßd>'õ?™8üŸÇõ?ü�Ðí €l�@«Qïï*bu•þ“ ÅôB€¤ÿ”ß+n�€ôg´Àá@¥ÿ¸þ‡4�č&Hÿq½ >7WXþ5 ðÅ?¸ýW¨þG@ú/€(ý£í¿{}=;=@¨«#ÜÕ¹?ÜÚjkww„Z›Mg¸¦·¾õõɆ£Zæ:b€F‘¢~ƒ
+
»J¢=©xçóëç_ڙĠ?pÀØì;€W�øpÀ“œV«Ï`XššHÍMï5¹þ·kªlšr·¢Íþ—Ká+2oå *�
+
…B¡P7÷�øAHÿbpjª¹±N9Ô¨þÌG8—•KDò§rù}’þ&‹ûÄPxxÈfÐñ6‰ªÿ‰�ä·ÿ€ìªÿ!Y+ôþ�< �¤±�ãÿ¤ƒÉ°€„N'€èä9ûççÿŒÞ àô�O${ŰÛÛ é¯›€p{¤ÿ¶–hg[¤µ)Û|–{ñ§ó_øô¸Ff«–ãùž‡_ÊÓ €¼Ä§FCŸljÉx£zðýïÜm¿´51æ›™f FÆda̸ÀʐôOàU€aXø€Üv»ßlZ˜šŒÏÍÄ;šG>ö{c Jsu¥S¹/�Ae)�
+
…B¡P(O�A�ˆ €OYéR£ù?Lµ|î¤zà͵£_þ,7ïã’1Hð)ˆøyÜò+>êÇ‘ Ò?ú³¢?yp@†¯ÿ!@ê²8ý“ã±�d¶Ö‰�àô@�ø \ýŸ&ýIœþ‰�ö_’þHÿ)†ô·¢úŸ¸Ù’0c=9þOÎÍ&fg �|õÿZý‹ �ÙL@\ÿƒŽÿ °ÛÕên u¶îu´í¶·nµ\Ümm
+
7¿ÂµžËþç÷í~︬ÂY#Çó=¿”§Ú9 ;¨–@.5©¥£§k†~ÿý±Îõ©1ÿìŒÓhb-6‡…±[mŒŸÿCàUÀnw ÆáZ-þ©‰ˆn.ÖÛ9úéÿy½Qi¨‘°ªrŸ9@P!Eƒ·”¥{Õ3…B¡P(
+
�ñ%�ùC"�Až�XkäÓ ê¾·6Ž|폸•y.•Èd2IÜÏË‘çr#�þHÿ÷€Ìö�~™ýé �D¾x>¤0þ>¤ÿ$|-Ìÿ@Hÿ1‹Ò 5�èc:Jÿ(Ìþß�”þ €Ò?€èõkÂ�Аpüß׳Ó۽׍ Ü%À卖¦‹g×Îr-ç“ßÿ®ñÏk%%žZ^°pø¥<-@�œUÇ}K••ºjٍçê?ö¡øõ+w§´þ¹Y—É À¢Å¶|ñäþ#-�Bú‡'…’þÅ‹À"‘ù' �? �~Nä'?Kø¹À¬Þ°ˆÐ�p�á � €ÅbƒO‡1™¼“{rbgn.?62ùåÿ5xZ=­)wj*4UnI™¯ªbY#õJOP P(
+
…ò¸y€�d¥D�ŠJ¦ºÊZ§¸Y+û¥º"Üv‘[^äÂ!HýáL¾æQÚ¯}Ò
+
jdùW.³?�4™Ì%(úãú€ôþòË¿Ûèì?¿±Ž@K�îä×Vs·oeWWÐ%ÀÒ"™þ‰«ÿçA�
+
@½i¯‡ÌÿI;Ñþ/¼üËÎÿØ,dÿW܈*pñÏ,ÒÿÌ4�˜Ô1-j�ˆFG‘��Ã7c7®ˆ]ˆö£`}={ø ÜÛêé,@ ÀÚ…³Éž¶øÅ—óg~¾÷7ßœ{ËÉÙªR_ü¨ €KvÌ©,µ«+ͧk:êöo}cg°çîì´O§s ‹Õnµ��®û—�‘è,-Γèke¸Ÿ�Ô ñB8Dq’É!œ?2 Çÿðˆ�;Àã�»y’ÃlöÛ,î™™uÝ\z|Ìø­ov7j¦ê«œµR¿ºÂ[UK•R¿¬´ø­P(
+
…B¡<Z¸àG¨" >`EyP^6¯”UV)qÔÈ,'•×êd/>Wìá6îrÑ($¯X&)+›I‰s—¸èµ
+
�9ûÒn{›ÿÀ9¼�x?ý¯, �é�Féÿþ°š‹ >7#@lj’�_4:B@Ôþ‹×�öQ¼L€Ý¾Hÿ¨ þwÚš7.ž·5e.žá~õ“µ¯þáÌIµYQîSKžÌ†¯‡ €ºÌ®‘Ì5V·Õ+÷×»Cý«³S‚�ذ� ¾Öß,Èd2â â�ð<n€¯èšÄj
+
:ìîÖì,ü®òýà_ZÕÓ§ÕÎ%ê¹–KT²€¼þ}+~%
+
…B¡P(– À‚‚�{­ÌØ 8©¸øw䦵\4Â%’¼âÙ,„út*â–÷ €—‚í‡1"�\6ƒH¥�"�ù8Z�,�žýϧÄæ:�Ù�€ën“ôŸYæÓ?Áé? "Š@Hÿ›%i³�Ã\LÒ?€€‰ØJÿñ‰qRüƒÒÿÈ0©þ'í¿á¡«¡«ƒ¡þ> Âo�@°Û×'”� é·åÒîå á g¸‹g¹ÿúwçÿ|ŸVYᮑµô¸åÇ=5•ðºµ'•­Õ¾ýÞÞÈõåéI/�hÝfa´Ûê7L�ÄÇÏ�øÆÁØ‹1ÀÚ]FýüôThR»~öÅ˧k&Ÿ­vžR9e'üŠŠEµÜ#)YPI‹_ …B¡P(Ê£E�± >`y™¿ªd^^À%@Öš*}ƒ¢»AÞûùOr3—Læ“iH^É,*èO%£î…?äyF
+
Ë¿¶3Û[þ³[[D�ÈüHÿéÛ«ÂÙ?:õÇ_H… ž”‡ß� >þOŠ�Ò?j�ÐÏ(¤ÿ)"�þ€ô¾)Tÿþ÷ @¤¯w·§w§§k·«s·£m§¥ÿíÖK;-âm—Âgþ/×t6÷ýœ}¾qLrlá”Ú£8rÅ o­Ä^'©•·¾¥~åÿšYœžpëuv£Ñn懀:¨�<¼�ØíV«ÅàqX]&£ofzkBîjkÿύœV1
+
FvÜ-+›WK•Çákñ+¡P(
+
…By´¸Ç, Y©OzbAVW0ò
+
Kµt¶^ÖÑ ÿö7¸€‡K$Ò±$¯L}ɤã¤è_¼LØ€£šüY,�\"ÉÅ �éýEí¿[˜»™uœþùãÿUrö¿?÷s¿ú �™ÿƒÒÿAªÿIú™q£.V8þ'Å?‰™IHÿäì@ �¤ø§H�È �ÙþèbýÈvº{ØnGé«åÂîå ÙŽ–ÄK¿ä^~)ü×ßÕTMIO,=[ i»ø<]ÐïZ‰­^~½NÖõ®ç·.œÙ L‚�èãài•�p2f—Å䛝»£Õ¦†®~äýWëeæú*VQâ”–¥­
+
…B¡P~[ €Ð
+
\,�æéLƒ¼õ”‚ýé¸ÛË\$‹@èçÒ™—Kg3‰,�â�äyÝ@ŽÿÓ[›‡�Wÿ#È®ì÷þògÿ|õ é÷ �_ÿc³‘êÿ G½¿¨þgfWÿO�é_€â Ü�0HÎþ‰��€½î®½Nþ�`·µ)tù|¾õrþå—¸Ÿý×òç?3\UnP–Ï7*Ž �øÕe.M¹¹^vã¤bðÃïŽt6ïLi½ã÷�×oŠ�ôÿ䛀Y—uÛL›Ñe·øÆÕ‰‰ÌÈÍ™/¾ÐWSiª“zj*YÉ �·Ý~
+
…B¡P(šû @OZ”W¨ÈR[5Û¨h}NµÞÑÄílf÷ÂÑp @:›O'ˆ�¤pׯ0(ÿ�Ò? ÔÿÈln‚�¤ï®‘€üÚ€ý€Âø±�à î¤Û%®ÿ @ÒŒêÄÕÿ‚�Å?D�bcü 6²ß,@¸¿¢?îí õt‡zzA�B]]B @äò…ÌÅ&îÜ+ÜþÍþþ÷ŒÊÊíµ2¦â
+
@@SîP–˜êªnž®ùÔGRÝ[c0ó`7ýæ �IÿOr (|.¤-K`,6«Ñã°Í[,«S“é±QËÿ÷'‰®Nê?©pH‘�xäåAMUñ+¡P(
+
…ByԐèF@Š{�æÕ(ú/*¥¨6A%±œ”O?§i~KMxä*¦÷BÑp b}2™Î$â™t\,�$‘å…ôOþà!€‹DÈò/Hÿ�¤"�™;k¹»wð�Pt »µÀ;€þy@éŸ@ÊåÏÿÁãÿùãÿâö_²ý·X�âãû�€¸y#~óFl�"³ÿ#}½þ!÷ïtv€�€„;»Bí{à�mÍ{­Í �És/sM¯¤¿÷Ý™ßyvBVæ9©d«Ž{eÇ‹^ÇSfA#±ËKtuŠ›o®ýü§Ò×ûïNŒ»&´N½ €7ƒ�XœvÛQ/âD@J€à)*Š„qü‡g?ÛðÙÜÜÚÚÚÄûÀîž5ø)ãôÏÊÊ
+
q€d�ó@Ðøü€Ïã…Âãr{.øPàÓX‡}d6³×hXŽþéïÛOªfULµ”‘<³T/·IêäG°1œB¡P(Êo7<Ê2—ª€ïr|' /ó**<òr¿¬|¹Va­:nV=XW5ôÂG¹[˹PˆKeù€O&{æQ+�©ù*�Nbðÿ™ËdóéL.•&í¿þsÑX.͆#Ù½= ·»‹Àí¿ØÈ­o`… [�q€ÌbH/RóhpÂçIxÝ ¯+ábÉñ?‚±%íV ÇÿÇ-†„I0êÀ’ú™„n:17…˜™’ÓÚÄÔxbb ˆŽ ï/ÿ„¯†‡bCƒh(ºè‰^é‰ôu“ÑŸ»½Ý{‘¶ŽXk|ˆ�¤.¼È]<3ÿ¥ÏŽ7ªÍõ
+
FYá—•.)Ð^üRž"‹J™¹ò„ét}G½Šýî·cÃ×V'µÞ™9VofL6�4Èn†4Ë:¬k].Öív
+
@ö…<? @8^X^\YY"‹tHÿ¦!ô @ж€ ‹À@�H³®þI+ïýÒ?÷`¸g�† �Ä@�¶ðóºÀïöø°� p°n^�l,€[³Ó‘ñá[ÿõíÏÕO6ª™:™Uò¦`m¥µêO”
+
�…B¡P(”Ç Úý¤*cÕ§ºÂ¯¨ÊË‚r$�.L@YÐT:Tåæg5u²Ù¿ü:·¶šŠÄ¸ô¾�Fþ¨ØÄI¬X�ò±x±�dwv éŸ@fí¶ �™eþ@€dÐW�Z�\$�þ±� �Jÿºéøì$‚ �OŽÅµ£€ �á×øàkû�éÿž�é?ÖÒo銶´‡Z›£ÍòM/q¿üOç§>8Z+µÖÉàÓ†zùˆ @@^±¤’Û«¤s§êÛO×zÿí{T—&µî9Ã`µ›lŒÙŽÀ
+
à`­À£€C7�^�È#8@?ð·&
+
…žŒ�¸M†•¹éÐøH¨é•¾wýÎèI%S¯°HßäÓ”1²ãð¯"�
+
…B¡P(ràTI\ªÃÀ¢‚*øÆY'Ÿ=¥¾PWµò«Ÿpw×ÒÑ8—á�ezx¸‡�HÿYœþ‰€|4–‡s¡¤ÿ Jÿü�<�´püwÒ¿H�P�)Ú?þ @’ôþîÏÿáÿ‰�$ÍH�â8ý ›™@Li£“㱉QÄø½ �é(´ÿ†®öG¯]é†ôO�ÍþGû¿Ú£­­±–Öxk|i¹»ô2wñ¥È?ÿï¹ß}~DUn¯“{«+ás>j@æÑ;4ʉƚÎß9½ú«ŸE'Çæµcƒá»y`H�X§€Çã"<¼�âRÿsH�„ôÿ(@\$\ÀC:€g~M�\&ânz{b$××uã#¸V§0×Ël²Å ·¢ÔƒêðŠß
+
…B¡P(Ê£—þ—¹T ü!�?Žn�T’¥T™ìlTߨ—½ò¬*s£ÛXÏÄ‚�öª@bØ!àâ  €þ ÇÿD� ý €f€Þºu° 8p@�¼ntü áDÇÿD�HúÇí¿üñ?�<h:>7õ0P�:@ Œëˆ�„{»Š�¾F[/¡€‹/�¬}ó+c§5ãòª@µdAV²(;~Ô  –9k57ë5}ï~Z^65îsêõv“Íb°Úl6†±‘ô8p�±�øýÞ`Ð?X]]-€Ôÿ<  m�¡ÂC€\<Z€O±›fCÐ0»19Æ Mÿág®Ô)æj«ªr´B]8üJ(
+
…B¡P=ȯ¢"(C€'•øÔU˵
+
såqÛ)MWMÅåÿŽÑ¡@ñ$—Í×ÿÜþÁ­à«ÿÉñ. ½ƒw�ã韤þ'³¾.^F€¤ÿ,¿�¥ÿt5�$q�Jÿn'¤ °ÿ �î�Ò ÿã&à)®ÿIN¡ ‰ ¾þ•�áÑŸþCׇPú¿6$�Hÿ�¤$�]{í{]­áö–hëåèåføimŠ^>—½ð"÷òÏýŸûøxlNQê©­
+
VWÌËŽGJ�à÷€WYÅÔÕ Öªo|ôƒ‰HªNí(£7XÍ‹ÕéßnGQÖá°£ôï²³,C�¢?àóy@�„K€bÚ!P Çÿþ‹  ?2 Oq Ð €Pô¨�BŸš1;,ŸqvmZ›×3ßþfO£F«®tÕÉÉN¸Ueñ[¡P(
+
…By<àúŸ‚�ຠ
+
¿F¶ ©²U•êÕk*GÿüKÜ¢“ÛÝÉ%RbŽÿï ÿ`àÿ…â‘�Žÿw„ô/�Yéï�¾%@a€T�ÿ ÀÇÿq–)Ìÿ±ù?D�ÐÙaXT7/´ÿŠ@p�"�þ”þ±�ì ^Aõ?X�öúpúïéØíh u"ˆ´4¡Ö‹Ñ–¦Ä¥³ùs¿ä~øO¶÷¿cR-±VK\šòyuyP~ü
+
€[UeªU÷×i¦¾ø¹ÌèõÕñ×ô¤U¯·Z­›)�ƒ¢,äþC�ÑŸð@¸§�éÿQ
+
�ù+‹›€ �<V�È ^�ìVÆbt›t+³“éé‰Åÿ çùÆ«Šr÷)[V摟W”©ß
+
…B¡P~+ÁC?ËP퇜�¼   I@-õË%¬Z:Ù¨>RxñÇܝ.¼ !Íô|5g°BûoŠÿ‹ ’ Õÿ;bH£ôGØLŽÿIñO¶pü ˆŽÿˆ{Ðü�Ò?�¼�˜�4§ÿBû/Þ\8þGí¿d°–¯ÿ‰Ž¡å_äø_€ÐÕ~^�úûHñO¤§+Üݹ×ÙN Ôv9ÔÚŒ8Ÿjz‰;û‹¿ú³©Ó5sø´—U”Ue Ê’yʼn#•÷�hs5ªÞÆ:Ë_~#75>?rÓgÔY sV+š�
+
`w0èør¿Ó8ð rö/�p?€-�ˆÕ²ïwüÿˆàžc@ã…>`Á@�HÀ#�cµYN³aß:­ýU÷;Ÿï‘—¹Ÿ«sÊÊ¥oòW¡þ›âC¡P(
+
…òÁƒÿÑø—€\"€·BªÄ#-wÖ©ÆNÕ¼ò\íÎÕnk•‹†@éÿu @6ŽÒ?žÿ>(�ûÓ?Å€f€Šªÿï'� ¯[,�$ý €€òPhÿÅK�ðüŸèä8ªþ'Ë¿HôŽŒ¢Í_ŸÅ@Š Ànûå=œþC­M±–WpýÏÏV¿ôÙQ•Ä ,÷×ËÙªãe邺|Qu´|=Ê
+
OjºFÝóæSŽï~'3;í¹´Zˆ�Xíc'àdëð°v2 ô1 @,y£ <Â%€ø€¤ÒL†’ô/ÀÆÆq€;wî¬áG,�KKKà�‹óÈæAp�¿>o à�õH=� �ð ÂçȘ ~ýÌÖ´6ÔÛ>öÂ'ºke¦z«¬„ dG­+œB¡P(Êo!bÀ_ËÈj°•ÔòÌÿ³\¯ <º]VvãsŸHÏj¹d”ËàôOn�ðó€èþl.ä²i€@>Ï%cùx”‹E¹H$s¡½üÞ.Y–ßÙÉílæ6׳wsëˆìÕôíîÎíÜmTü“B¹þÌ.3óˆþˆBý)J¹i'[8þ·%q@ÌlŒšPpr�r�²€´ÿFÇG#c|ú'ÑŸÿÛ#¨þçjaþO¹@`ˆtw†»:¶ÛZ’ý} �{-M»—ÏÇ›Ïr­¸ŸýÇØ³õ†z£FæÑH|¨Û³,¨*›W~O�¶V9R­zï»nÿòç±é)ÏØ¨C7k3émV£B=�hù/�wa ¨¸� ÑiiAHÿdÿ)š€…@â>`p€W½8ø»lÿyC ÿàöíÛä@p€¥ä�‡�8 �`M¸>D»Ùä1ÌݝŽ\ëŸüÊvÔ+u Wuüë·(?ZFH¡P(
+
å·"�¸ @áÇK–42Gé±ù•¥¡¦­F6÷_Ë3f.CóÞ˜�@úç1”þE@Ò?€Ý-±�dïÞ!_[ÍÜZN/-&Ñê_4ùÒ¿pö/@ÒíJ�� �>þ7$
+
õ?Å%@D��¡øgÿ—H� ýßS� ý‡ù6€öíæ¦pÛ¥pË…Ô¥3Ü…ÓÿüwÚ†jsµ‚UK]ª
+
½J6.¿‘§ˆK%aê5W5òúàú¹s{3³Ní8kЁ�0#8€ÍÅà`Å@š€F�„ô/^†ã6/�äàUo�þ.Û^³��A�„K�A�È%ÀüÜÓ–—�R�½>"�^'“*�»Í†v)»Œú[³ÓÉÉqËß|«ýtíDƒÊU¯ôÊÊU•T�(
+
…B¡<n°�” &`¹·“Gà“U:5UÃŠŠŽ7Ÿôÿäß¹åE.} €ÿ€�—Aé?ŸŠ(ýcÈG#¨ (¼üO ¿µÁ ÀÆZvývfí@vu%½²”Z
+
¢–_©ûÇHyxHºØŒËI�HÙ­à�I³)a2’èÓÏâù?3±Y~��j�‹&ÆF€ØÈMˆþшÂüŸ«÷�’þ÷ c£ùâæÅóñöËhþÏ¥—¹_þxíOÿh²ViVIŠ
+
¼`¡„UwËKÜxâêÑÁ©’X«»”҉ϼîìÚš™e''F�«�-°Ù§ �|üH�‚Aÿý€”ýè/ �ÝÝÝ~Ê ô÷W=@�>¿ �~7|8H�XϲÛà³³ÙlV«Õe2.ÌL§ô3ý ómÏ×ÉÙ•SZ²€fñ~+
+
…B¡P(r€L-¬!* È+æk•¤Kz¬÷ïØloâöv¸hœËâôŸ;”ó$�¹lZ�rüOê@�ò‘ÐØÚâ¶7A� ý#ÖoH­.ƒ�½¿äø ÿ �9þ'@V€H1¨
+
H,�$úGu3�¤ÿèÌTtZ›Ò’ù?÷�~ü?€ÐU¼�m�€ôßíå „Ó¨³}§½}ýRÓ^Ë¥Xë¥XÓY®ù•ôü³õƒïž­VØ”•x¿2Jÿ€ëè �«–5—•¦¯-yíúíÉifrŠ5¬FÃb@Xy`!Ô²¨Ã•Ôÿ�Hú€�€C;€!÷‹÷��HÿOH�Ä—�d€C³€È%Àmü€�ˆK€�Ò@ú€ƒØpÂGä`]¨w‚±áÇa6ûggb†¹õóg®|àw¯TKí§TöªA%J¡P(
+
…ò8) `ˆ� P~i‰³òxð¤z¦ZrYYró‹ŸŠkop‰—Ì‘ô/4_> úódøô/®þGDÃ,�Bú'@Žÿ3ëwPú¿»
+
¹µœ[]ʬ,d—æIõ?@fÿ“³¡þ'áâW€ 7�)›=mµ�bàÏþ§§S¼� ù?ˆÒÿƒ�@ú�}½Qõ?¤`«õòVKs¬³-ré|ü܋ܥ—Ã÷—ãÏV›ª«Xe¥GQêQœpª€cn%ZÿZôFž& �³ªæê*Ïÿùûôøø¼vÒ6=m×ÏY sN³�@{�N¤�.§ @ññ#O��€�IDATñ¿Ðþ[,�Â%€Ð@Îþ­.ÿG»�(® €ø€¤ÿbÚ�@�æ±€�x\n—Ë#€ÏE›Ô,VïÜÜÖÌTâJ÷øg?Þ­ª°6ªíH–R(
+
…Bùí¢P~¯þE@ÊÓ‰�ØËŸñ6¨F«ËÛŸU˜ÿñ[œÃÈ¡ñÿ—ÃCý±�Jÿ÷�tö_¨þÏ&púǐÃé?Ú?þ€ÌÿA7�wVÑÙÿ­åì­E"�@nq ð%pôµÿ" +ÀP�Ã$­6�ÒÊbFõ?FƒX�â3ذ� þ££|ú盀ÉÙ?�œþPúÇîíªÿIúGÕÿm-{­ÍÉÎÖè…—Óç~ͽøÓ¥¯|î¦Fb­–‚_á‚«ã.5£"ÅW‡_ÊS„ÑH&ÏÖÜþÙOR“Sž± F§7ÍMÛŒsN‹ € Õ±³N»ÓŸœ¬Ë!,�&@Žÿ,�Å›€Å{�Öÿ<  €½ƒû€ Ã@…* q ™$€€ÇK�ð°N±�8¬6¯^[;ÊM ›þìÛÕ•¦Ój­>Z¿!(
+
…B¡üö° ?ä¼�¸Tx1°²„­*qÔËûÕÇûÞ{êÖùÿânù¹Xú×(�$ýçÓ‰>þ'‹EPú?Tÿ³½‘ÙZç�ðÙ?JÿX�Ò+èø?½ŒŽÿ…ù?É€'îs €€:àG�Y¬@Òl ýGõ¨ý€�Š€l�€ô:€GG"#|úÞ¸Îoþº6Thÿå��í)€=<t»¹ íÿj:Ã5‰ÿû?š>ü®ñj‰]#Af¥<îUs©`G-ïÁORÛ¨|÷[C—ÎǦg\£.³M?3m·è‘�Xt‚�Ø\.»Ûɸn//�âãÿ�™*ÿ“€Cc@ ;€£OT�Äm�‚�ÀsH�„n`Án-Ã/pY,�?à$àp{ €ÝŠJ€¬¿Ñ¸0r“ÓÏ1û­Ëš*ýsuÎZi¡%ŸB¡P(
+
åqqH�<JTDº<Ê2S]U»òø•½kçj;·{‡‹ÅQ Gp8ð �Jÿ@é @>€f¶·î)�™µ[ûí¿K|�™ÿ“ð»cnV8þ �©þOØlq³à‹ z"�ûóf‘€� ÐŽ¡ #Ãáa”þIñ*û!€¦"ˆôD¯ôD�„ö_’þXoçzÓË»ç_Î4å.ÛþÎ_L¼¥n®¶ŠU£ã$�Êã �r€Ã/å1#t}øq¼û¹ÌR-9¥¾ùûˆwwìÍÌ2ãn;7; ¹_\tè ¸þçp¨ ˜ÿCô?$�…ãÿG'�dÙFøÛ x˜ qú‡èO¶>`2”_@º€}¯ÏéE—#ü}¬ÓÿÇëpzXë°ØìFÆ<çÑÏÞžžJNLnŸ93ô¾ßí••ùž«ñ©J±óo…Ôçªô¿6<µWhÛ§P(
+
…ByHJ‚JÔyTHŠ*�¾™W”ÂÚ«ŽÙß\{NY1þç¹.â²Y`‡s•ðÎàbP@R¸À=�  �;ù½mn¯0ýsg“ÿ¦®ån£ôO–司';Èýi2þßëKx¼|ô'°lÂ^Ø�`µá�KÂÄ—�¥-Æ”AŸ›ŠÎLD§µ‘)´ÿ+21›Eà ±‘›ˆák�ß�€zãˆX__´·7ÒÓ„»»C]]dØN{ëv{óf녝–ó[g~ŵ_æ^ü•ý£ÕHÍ5R§º ×ü – ÐÇ/�$:¢ön2â YÇ1€Täüâ)—ªÌ^]6W/»ÖX«ÿ£/r£c ã¶Ù£ÙÍbu˜­N«ÝÅ8È�ÀítyÝTäe!îúü.±@$ư´¼¼ 9yuu•tÏB~&YB5DkØ$i“cwˆßÂ!Š [zIú‡â:„v’þ»�ÀsH�õ‹W @� €ßŸ|.n¯« �^,�v,�z»eÆ¥›YžžŒÏ̆ZÚF>ù‰µŒ=¥†ß"…±üË£@¡P(
+
åQSP(K
+
iP.Ê‘�,Ê‘�°ªÒÙÍùÆZã÷¿Ç­,q‰8—Çk‹rØ_ýYܐ8XábRýé?'Dÿí €,ÿ s ¥ÿb€ôŸñy”Ï€†ÿ`R.WÊÁ&¤ÿ{
+
@ÆdHêçb³“‘im”P€¨vD€èð A�B¸ø'ŠÓ¢0ÞÛë9,�(ý·µ h;¿Ó|.|îe®¥9ÿƒ·¼çw'Õ¨þ×VñA¼0méI
+
€@?‚àM€ÝE” üÄRS1uRq¥¡Îõ­¿ÎŒMøGGmFÞlBƒ+ÍÆlwZ.tòow;ÀǺünTå"�á@�T#S$�§_“�ãÿÇ%�‚—�÷�ú±�,/£mÀ‚�à 7ºð¡þhHÀÁ�;Ÿ©Î¡›Ÿž
+
ÏéƒƯýIïIµ®NʨJp#?ë^°¯T�(
+
…B¡¼.J|ª>U©OIn�¤AEå¢âX³VzC#íxÏ;V.5q;[\
+
7�Üóy �€C†!ýgöv ýgqôÏl­éM~ù@fí6iÿ »´)ÿó@¦� éßåJ³NA�„�’þ”A—ÐÍFg&@�È�~°v„@|t8>|3v @ôæ �‘þtüß? Ü�@úö:;ùã,�[-öšÏe/]äΟßü‹oμùÔœFÂhHwµ �hâ*²/Åc�@ÿÄû ÀDƒ¢ûÔÉ»?þIrLëuXŒ:³Þåb-&³ �¬ã°�¬ ¡W\T¨ÿY �$g’¢ �„íû �9þ?$�÷Qü¼!_}ÀÄÄp÷“A@ÄPðÒê� � àq¹=>8’Ãí³³†aV;|–6£Ã¨÷ÎLoÎÌ&GGÜÿðw}Ï7ŒWWØ4åN5�¡Ÿ
+
�…B¡P(”G d Tu¬.õª¤È”•Aeé¼)½^Ö¥(»ñù?HNŽsñ(—J½€ôŸåëø ÷€ÜæzaûïšX�Òý±�ö_A�Ò^xXÚí @ÜŠÒÿ‰�$ Hÿxüÿ=€¤ÿØÈM"�þ~�èÀ�€Ò?€ƒÇÿ"h½¼Ýz)té<×ÖÂýß_x>ýIm­ÂT-qiÊIɍ �hõò“�?ÚôÌ €Wõ&܇À'Iø¹a@À=o>Ýz94þÿ³÷nrfÕ¹ï_pϹfÔ¹«+WG…™aŒÛøálÌÛ`›kÛØø€#¾çØÆcæ�&]ÀöD…ÎÝê ,uΕãW¹ª“ZY*Çî﮽WÕZ1GÒèŽ÷~Þ©©Ñ�Óúªæáý­ý®µÆ½c£‚Íl0éÁâ[0­‚ÍE³?$T�¤ü/�0Ã`‰¥�€åÿ�`îÿ€¹ÿ‡ �¦€àà>à/X02� Q�` À�Àï÷úý¤8èt#�Àƒ#“€œ—ÍêÑ/¬Ì)T+?üöù½çrc¥¹NÐÖI§q1à�ÀÅÅÅÅÅÅõPD ÖOTßÒT†Õ^]õB³¼§Yiù»¿^1¿”Ï߃�Þ�vè`tÿ; Rþ߉E��¤ `€Bû/¸ÿ"�€ûÏ^%îDÜ�0ýî„ ½ ãÿ]NpÿD´ ˜¹ÿ¤Á\˜+,ÿB÷?7î?19Žá�âþ/_"åÿˤ x›Nÿ¤�0 Âòdà4hûtïV1ÿCÜG´»#yê„ØÑ‘øÆ?>ø¾)M½«YˆU4âÔýӥˏ�H¿®y&�@þ¡¤€L"ªðhq)y�°4ËÆŽj/}â#â¥ó·ÇÇÜ“N‹ÑhÔûÝN�.—›ü!€€Ÿ¤]�˜ûG�X]]–6�àüÌËÿ`¶ï�å嶆¢ü¼�` P�p¤�P¾ àT
+
�¡°1�iöú��‚v!à ŽìsÚ—Ãm2z§§"ó3ëí¯Ž}úcç[å¦Ö‡Næ& À:8�pqqqqqq=L Þ«�¨E��¹kÇåC¿ð܍㯈·oЉx6·“ÍìærU^ï �düÿ^ûï¾ ÷€uÿÙë×J� ·¼„ó¤�@.|^lÿM»‰��RN€„Ù‚áâþ)�`E÷O–�LŽÇƉûßkÿ¥��î¹p ræLìì048HjÿÄý÷÷ß·WþßêìˆwudN_}寗þhêˆnŒ\S­dâg �¼Ü£€RVÔ…•ðE�¨’€ «15+.k6}éw¦Æ¯MŒ{g¦mÆ³É ØÌ“Éiµ9íÄü;—@.ì�<��…òØW�%ùpÎè¢� Ç¾�¤éa�€åÿG�ÒK€-zJR@x�ð �`@9��ù<A§+èpÒK�xzä€<K›M˜žÞ6铆æÿøwÎÓ.´*l�ìàÀN€Ò™‹‹‹‹‹‹‹ëE�@Mjÿ�´Õ´ Ò¯­´¶4œi’}æ“»3Ób4’ŒFò¢H²<郦�Ý�vÓ…ÀÒ  Üö&(_lÿÅüY� î¿ �2`ýQû�¬?†’n„�ˆûwü�Z¨ýK� 9? î?9KÊÿàþ#£W�à�¢KçA�‘3C 2þÿÌPlhkÿDtþÏVO×fwçVç©­Ž“‰Žöìñ×ó?øW÷§>>ª©µêjáyú•OŠýJ™_ÕPì¨y ^®0ÿg� ¤ �èXÒ*§®Nߢ:ûlÛâw¾™œ\žšð ýœÃb¶ëç½6‹ËB�ÀY�Á€¯�À Óòÿ� û—€´üÿ � -ÿ?L�`;î�ÒK�ì>�@%�yI—´Ë(€Û%¸èñ8Ž™éM»%?=jù«/}wÛT‹ÊÚØ hë8�pqqqqqq=
+
Ô 4ÿS‹��nÕ£«Ö·É{[ÕÓúbÐ/¦ÓÑíHެôß�`ù¿�²[lù¶ÿâöß�Ȭ’ò9�¤…Ú?nÿM.PRp‚°üéÿ�HèI0Y6?MD :6² ¦|$6FÊÿå�Ù�ÑA’ÿ)€­Î�€HûÉÔÉ»¯¾’þ—¯›?ôó#²w¹šªýšC¾†w"�`3.@1ã]ú‰<Daù?�? ¾ß£!£?�€l²ÙVíÀ»Ý:þÒÆÜThv:`µšf»Å<;�ïÿ`�€¸�Xù <ÿs�(Ïÿ¼�Àÿb�n@ Þ�0€ƒÖŸø‰1ý_b=�8ö/¤�à ¸¼>—ßM�Ü¿×áv“ø‘ÕhòY-á©ñôìøæ+?½ð&ÚtÆ&¹S'óèêÉ%€ª: ¬‘a½äµ,Äa€‹‹‹‹‹‹ëÍÈ+«YlT ºj¹©Ö×Xåh¬›>¢þwm}¤ë¤xýj~{ìSŽÞ�ÜŒ�PÄ€ÝüŽ˜Ëƒv³9ÒL@Lò?yÚ�À�ãø ÿxÀ¦�a(¿.‹�y‰|žŒ—„è`‘Ýš²‘ÑŸ ´Ù�Âù?©yºÿ«�‰™ÉÔ4Y¼oþqÿcÏE/œ…×Èù3ѳÃ�´üßÖ³¯ÞÄ{·{;·»Ú#Tñö™ã¯‹§Ž‡ï³Wš†Æ:_SíbsÍ¢¦'~G���+¼N�˜FŸ¦Ê¥¬\=¦õ©*CMu6ùÓÖ6å•fÕè'>š¼pfyâŠwfÚ>?g1ÌÛLzÁl [Àl6]§�àr9��‚noÈçõûˆËE�À&`€Œ�1@ë8ZtæÒÀ73ôg�v€~Pø¡qˆé=�R�/ú =��—Ïë¦�àA��yn»Ù°ÛÓ“¤!½»}ò×õB“ÖФ$m�º��¯ª€�×ÃU@YRד÷Úš°¶JÐT›d#Ï6Ÿúà{ψwó±8û4Xz€r¸�Ôý�ØI¥¤�°‹îR��÷/�ÈÞ¸.�I ¼ ãó¤½î´‡äÀý§œŽXêþ–ÂèÏ”IO$ÝþK#@8ÿÜrbœ¸ÿ{�ºÿøð�€býсž­žŽ­Ž“ÑŽS qÿ'Äþ«ðë›hj°hkÜšC‹:Òw‹V­8ˆHºñéi�T¤_Ü�Ô5NEU°¹! ¬ èjìšãõp³vîÿþÝÈ¥ á©qavÖ¾ ·ì½Ûª÷XMR� “@íÏ�÷¿�J"@÷�vð �€¾ý1@¤¸˜‘�üÄ,TÞ€ À��/ö€[ð¹¼àû<vÁëp V{åÌôÝ™‰ÝË…ÿþ¥>­z¾Y�àÖ–�@áDD/n
+
*ÿÔ¹¸¸¸¸¸¸¸î¯°Fæ“WېÌF%xÁ©fùég[Æÿô »Vƒ˜ŠçÓ©Ý]1Éå2ùû@1ö#�ÒL€Lÿ$@ �÷_�\V��º Ü9�dÑý—�é(ºþ±%Ö$X«9i5ÇÍÆ„q!É„éÿ¹ÙÄì ÖþIárÜb|L
+
�Ôý_�÷ŠŸ?;wÜdx06t=Ý·Ý×ìõEû»·:OmŸ:=u2vêdúõ×ÄöwÿúË ï{v®¹Á¡­vÉß †- "� õú~êþ�°VRêþi™üŠ[Q-ȉ±ôiªͲù£]Í:Ï?üýúÈ•àÌ”s~Þf0ØLz‡Õà±¼v£`ß�>Á�€MÀ$ÿ³H¶€!�G�Ý3TÞp�ÈÐ#-ÿ?�€€Ý�°6€’�²  �Ët#�/(xý‚×ëöº=��^z à±;©ì~Á!ÌM_›žæ×¾ý¿:[šgZ4¶ÆWcƒ[#óªj9�pqqqqqq=t-jë½ Äʁ#´7+.·¨_?Ö²ôÊOŵE1›Êf��ÈüŸ|vg'wñÚ_þ'ÿ
+
�;™,�]þU(ÿK ¿¹ÀXþ—�¸ÿÌ5²˜M’�›ý/� 0÷Ü�ÀýÇg¦±öî?>1î?>VØ�P�Z�pÿ�Î3�ˆöïÀ@o¬·‹”ÿO‘ÞßtGÇÎñ×Ä×^ò|æWGšå–V… «qÉÞAªìÊÊ=#®"ë·àÍc�_áÁúH I$GíÓKÚZ²ÊuX5vT{âØáëÿþï·Ç'³ó®pÿf«Åä´Áýû&·Ã.8]‚àÁ-8}‚ �
+
+ÀŠ�À–�P÷¿RRþ¿W�Kÿ—�sÿ �pPé—°x�à �Zÿb0Þ�`3�c��{—�K¼A�ðáF0¯×# �¸üvRþ÷8n‡Õ±0š™È[ ['O~àý“m�´÷�&�\\\\\\\?³Âš:°§`…º§œŠçÑÖ³Gš_ùùçóóSbtCÌÆÓédÁBíì¦Óé}¦
+
$ý�PtÿÙ|:•O& îŸ@>Z�J:€iðîúÝ;÷Ÿ¿uÜæú5�pÿÒ&àìÒ"qÿ´üÏ–‘èÿ^È €ùŸŒÕ”2R&=XÿŒQŸ6,`ˆºÿi2ügj�Ü?H:��kÿ‰óÉ3…Úl ŸÄ~ú{#}=ÑþnP¤»c»óT¼ód¦§3ßÕ)žxMüî7çßÿ܈¢\µOWçmxŸ3Íá÷VV„•$¼M 0èå‰�Iüc\3ä˜
+
ë”Bm媮Á­¨tÕ\8¬ëþ¥nõößœœ
+
Ìë]z³ÍhµYÍv›ÑíÐ{œpªR� M­¾=� îÑ¿(Ù î¿�À9cù_šÿ‘¶ÿÞ�Xùÿ1�Þ� õǃ7�p° €1��@i
+
h)°—
+
…•ÀpàÏ.¯Ï)øí—Åâu9­6£ÓbðÏOn�4g?ÿ;ã‡u��N �Àyo�xä‹$¸¸¸¸¸¸¸Þ~
+
µPW/ëêuïrk,G={ôÜï~N\ Š™h6MeâàîQ©T¢ÔW‰�`îŸ@>!ñ¡D�òqâþ‰è
+
0Rþߨ†p¸¢kk �ÀýgÐýK� å/ �Åö_�¬ý—���;€É%@�Ø @9�Ðòÿypÿ äÙ!€è uÿ§û��¶{»·{;£=‘®öhÇ©TW{¾§k§³C|õå›ö…‰ÃêiU¥§MAV+(«Iþ^]��ÖIY¢£x9�P»_¬SëÈ�`Y§ö7Ô^ÕÈÜŠjÛíÐaÝÈç;zþəÀœÑ¥·ZLVø�@pèÝNƒà²ï�ðnŸ@í��¡ ¿° ÜÿR@:T
+
�Ìý#�”—ÿï�èÒKÊÿ»a
+
¼Ÿ‰Ý�0¦€�H��d�)�€pXáÀãó�§`µúÝN£yApY}¦¹Õ™ñÄèÈÒ׿6zXg-€[½�aò¥á�ÀÅÅÅÅÅÅõ0¤­±¨­d•ÝtScÿ Ï/ÿäGâí51O¦"™\’ ÚÉÂk&wÏ��ù½ò�°ü�‹Ðò?Þ�¬¯3�(,�–�@zí*qÿe�¦å��Üþ Ö”èþ±üŸ´šÓc’–ÿ†ùbù&A&ÿÌ€Xˆhœ¤€ö€ò?{�ˆ’ò| ?vº/Ò×…î ÞÑžélÏuv¤OÏýôG–ýÒ¨¦ÚÔXçm®÷*«µõtö?Ýü¥¬뿬8‚7�4‡¤Ž‘äŽTu‹eH)[VÖ�˜kOitýýß%F&Ö&gý³ç‚…€Án×»ì À��`_�üÞ �Ìÿ0�äVKÊÿpîÒS�zî�èØ�ÐÉ—~ ‹ç¡@‚.Æ;t�à”��i(�¿Ÿ\� �x]t€Íð¸F½Ïëò[Þñ+[ÓÓ·^úé¹gZŒÍ
+
{“\z"�@.è=À!²Ì™R�qqqqqqq½ …tà1*54~¬íŒZÑþþ÷å'ÇÄ»7Ål<•‰çws»àës²KIÌ༊�€åÿ"�¤�vR)–ÿ)�qÿ¤ýwã��ÈݼÁÊÿå�Y$åÿ�Àå_þÁöß„ÅDçÿèÆ…¸~Dÿ“€éøì$�ÖÌ�@2ÿ§��ѳÃñs�¢ƒ±ª"�Àk¬·+ÒÝëlOwœÊ<‘üË}÷ÅÉg›¦äO - ^m­[^±¤“�ø”õ�PT-+€*ÀË‹¹ G)v m�)UА¼Ö¡ª;ÒØýLÛê~›œ^žš÷Ì™z‹Ùh?lVƒÃaF�.Ü)�ˆËÅðÏ�8ç�`åÿ7�–ÿyó�ÀÜ–nc†ðM Dé:°íb0» �7‰í¿v•MÝÛ°ZZ.lC ÁBê xÉÀ$Ïíöº]"» Øh'€Ùâ7ççWg¦’W.O|òcç”5®#:®Þ^ûΕ&™WQÔÈ觪%%°ãS!õSHrž ¹¸¸¸¸¸¸Þ†rÉž^kUyªÞéSË,GÛµ cÿýÄ [̦ic/±÷u±€@�ÙVPZÌdpþ˜ˆíÇÿ£ûÇÀâÆ]ñ.i�ؽ}cçÖõüÍk¹kDk«é•¥ÔòbL?Iÿ‡³K!Éü2û?ƒƒÿ©H°Ãž°�HÙ­Ò �Ø@Æÿ³ �³dpá`j,6A�ÇÆ®Ä®ì-ÿJ\8Whÿ=w&v~ væltøL|p8Ö:FR@Ý›½§nwô$úº#¯¿,vÏÿø¡ßýMC“\ÐÔâüÆ€U §¢sxX3îcQ1üS�€*²�Ü¿Rî©­ jÕ‘æ^eýÈ'?žèïÙ˜œ Ì/؍f»Ùb³XíV›Ãnu:l.²ÌŽ�àu{È<7àó“ € q¹`v—–––——Á¯®®®ÑS�‚Sb¹�È�hѱd<ü›�d€�d€ý�p‡„€îÞ ƒ@ ãØ, Â�«a`�쀏ÆôÀ��.Èå àµ:¼&��cpAž›Û5þé 7k ­joSƒKö®E-¹£ñk€ ÃÊrD H� Ž�À#‡H......®·›<ŠÊ%,ÐPéÕÉÇ[”Ýï=bÿÁ·Ä«b>[0NeÊ�»ùݝXÿÝlÜÿn6µ›I’ �‰˜�rÛ÷/�æþw® �Åô¿/ îŸÍþ¿�à��Ü��ÂÚ?6ƒûŽ_‰Ž^.Ùþ‹�€î?zn9s&2t&Ú?íˆõöDúº"§;×{Û×»:ÖO¾ž9y\ì:™øæ×L¿ü^»VVôýûTþä—hðÞôH€�KJ•WVïkÒ™¶t6*¦~ïséógnNŽ{,&³µ�N»Ãåp¢��ÐýK DÏ�ºÿ{�:�ðàá�^`sñƒ��^Û�îq ë@3„p°2�i^[]½ºH€�<rEò�øý^Úà'—�‚Ÿ�YF�Àbõ›L½>´0gbüê÷þ×ð GF4õB›Ê£¬‚¯��Ð9ÝåVG;H…q¬lqÅCÙGÎÅÅÅÅÅÅÅu?Ñ‘ð•!]½³EÙ¯ª¹ôéE¯ “ù?ù\™…*%)�€ûßÉ÷¿“!ÿ\²àþwIþ‡”ÿ¥�°»~�€t�KÊÿùkW³WW�ŠáŸPf‘FÿIø§Pûg£?³n!ír"�°`… e�œ›-Xÿ©ñÈÄ(¸ÿÈØåÈÈ¥BùŸ@ìâ¾òôÌ@døtdx020éˆôöE{HðfoGät÷ÝŽS믾²Û~B|ýåë_ú£‘¥S'+Èo¡
+
· �H‰€JáUÔ{Zµ³‡u=Çšûùéñ¥±^îDÊÿ6;�ÁéB��‹�‚R�`î�Ó1Òòyˆõ�0�–ÿ�X�ž7Ù,R(OÝ �btPY
+
¨p��@UDA§��$Dó?pÀ÷#�>Ö �@�€
+
ÀæðX¬^“Éo0ô7¦Æãý?úKÊ{«Ú§“y*<Ê��ÛRÊ–$FF›ª¨õç‹‹‹‹‹ëgÉkk,uï ¶©ZT¯+ªù'â¢GLn‹»�$6¿`¢Ê„��î?Ÿ#î?Ÿ&î?ŸNäSq�;±�.ÿÊoÜA�( �-@öúU€Ìê20@ �Ðå_¥�Èà�`;€± €,�¦�€ €�½ î vé"�âþAg�âñ¡ÁèéÓѾ~2�´§�€äN÷mwu&NžOL¿øÏ¯~dLCV¸†Ôµå*øG{�Pœÿƒ °RîUÊ-êÑVÕÐ/¾wéßÉ|£#.€Bþ§�d�¨Ó…ùtÿ~¯@yùŸÀ½ò?�Òàû”ÿY�¾¾y�‹ À�€Ý�Œ�Ðm`ðû¸.½Àâ?ÀÊjxi™lC��×ï
+
†¼ð–^ø<äN�—Ë àv8Ý6›Çlò˜ >½þêìTzôâÌþnN>߬ô7)�êz¿¦Á§j*Š:d�‚
+
²Þ¹ü#çââââââ⺏�ŒõïkÀ¾~¬)ðãïŠ[·ÅØ6�Ðlªè €‚=� ƒÿÓdõï€l‚Ôþ‰hþ—û/Œÿ/�º°þ éò/Ü�@� ÈRå¤ ë#Êí¿Î”Ó��B�ÀÀÄý 8ÿkÿ¸Xº Óÿ$ÿ3rÜ?ÑÅslûoìì0�@âÌ`b¸?>xG�ÅûzIþ§¯k£»s³»sëäÉÝ®Nñøñ»þ%ý{Ž-èd]}¹û«€¸ÿbf„dIÈ`"yGÛ`li8צÿÍ_#<cÔ;ÆÆ]FSIþÝ?�sÿ ’n IÒ½ �®^-ôÇJó?Ò �%åìý-)ÿ£-G�À`<÷qÿâ€ôàA�@r p÷Ν[�ìà„³€°€L]$7#¤EšPÒ�.(�ÁóµÛ<+2ÀiTŸð|ëûŸ?2¦“ûš•>yuHÛ€�àW5ÐK€ºey Å�ÚSB·Êqqqqqqqq=°È A«ªÂxD=tX3ü™Ol_ã[©èf�ÕKeµ<÷€<uÿûÛ÷�`oþÏ=� ·º’‡×Ń À�E÷�@YL £Ü?ˆµÿÜÿ} zñ@ŒÎÿ¡�0œ&� �è�è¦�ГºsâäÿxYloòã¥Ï~z¶YeÕÕ{4OTM¶0:’@ ¸ÿ�¨ê<òjw³b¦±~ø¨Úþ—9?´6=eŸžv˜L–ÿ±˜¹l�IùŸ�sÿ�åå88J‡�–ÿÙðVþGOŽ�À
+
ÿ�¤ÝÀ%�p`
+
hs“Lºs÷ÆíÛ7p)˜ô�{�ŠÁ–p™
+
OËOž<A2 Ôãs¹—Ëå„ã°¹lV—Õ$˜!ÃÜÝ…©¾ŽKŸøð9mƒ»EåWÔ,j¼Š�€â%�8�pqqqqqq½9Uy•ž¶†é#ÚÞçÚ¬_ÿŸbÐ#Æ·“‰vúR�ÈQí€ý‡6çsØ�@z�2I��ÝþÁò¿�rë·‰ûÇ`�@÷ÛÁýïP�ÀÙÿI¨¸öˉájý‰Xû¯�Xø€¹ÿØø(¸Œ�E/÷�€å€è™¡ÄY荝î÷ë%3@7{ºƒw^=úêkâk¯'ÿþX>øžiE•§QæÝþó$43� c^%� È«|‡5cµƒÏ7¯|÷›ÉÉ1÷¥+‚Ñä°XË�Ü?k�`�@Êÿ�ÊËÿph[l)�`ù¿$ÿƒÝ¶h¼K�@šÿAß~ÿüø†� Vý��N �¬¯ß¹»~0€ŠÌÅ� ºvmùêZa 2À��dmò~�pp9àØ­N«Éi1úŒ ×f³ScŸÿ­ÒÙª!+ÔuÞ†
+
ŸZ†�€—�àþÃÊÇ9LŠ‹‹‹‹‹‹ëí#âPðù–±cºŽ÷=·üúËbdk7Mg3�p¼�1Éæÿ”X*�1GÆÿ3� ÷�e�ÛXg�@çÿ��Óÿ÷�œýî?ULÿ§œIøg�Ä zpÿ }aû/€$�ÀĺÿèØ¸ÿÈqÿ‘Kèþ/°öß(uÿDt0¸ÿhw¬¯c»·ÜÿFwçFg×ö‰“bg—øÊK׿ðùñFùtí;C-rÉôÏ'�èæ(� t– �—²Òû\㥦º÷½óÊOR 3Æs|6g �°ò?�ºÿ7�Zß�÷Ïÿ0�æ0žƒ�°#9ÿ»� R(¶ï¶Æ�XþG돇v�ÜF� A Ûä7†MÀ”H
+
`užé‰^Z
+
ã²4pÿ(¿Ïãv»Á÷ 72�¹pÐy«V‹×l ÍL$g'¯~ç[CÏ´M(ê­wíSKšz:ô³�pØ À€‹‹‹‹‹‹ëMȯ®q5rÕ´+k/|îS»Æy1Ûû•ÏÝ�0T<…üÞ€Lf7ÆÐn2ÊG·ÁýïnÓößâ �¦ÿ�ì\/”ÿ �£ÿÅå_áâ�PÖïÃÁÿ9ÎÿÉ8i‡ÜÒfKÒ-`I“ñÀ�\†Ë¿’ãñ±½�\� *l�8w&^èf�;ÝíïŒ�ôõl÷vg‡‡nýä'bG{î;ß2|ð½Óº:wcm@óVý{‰ÍÿÁöß�À{›¼Âù¬®WUiùÂçv/ ݹ♞uší6“™�c�¶€µÿ�‚¡EzÊ@:ÿ‡Ý�ò9}-™ÿÃjîì€]°@ohýñ¼y�(¹@Àˆ^`�´q ׁÝ�h
+
ˆ��ö�„‚~TÀOº(A� @p¸�ØíV»Íâ1›ü³S›3“7_úé•ÿö¡ÌݤôÉ+ƒÊJ\ Â…�áâF‰²œ‹‹‹‹‹‹‹ë~;áÖ5Ì·ªºŽ5ÿç߈Ú“Ídvò{� ÷�@Ervi§@�È€"�äSÄý“5À��÷¿³±ÁÚ�ò7oÜ�° 8�Àý� ½D�³ößiÛþ‹� Ù�@�3�@÷�ì¡7�Ôý÷¶ƒûtwE;N%_}E|ýåÛþŹg[ õÞÆ:ŒÚ?I*�âþCJ2>Þ®©3Q÷¶(„¿üRöÊ…µñ1÷œÞa¶[(� û—�ÿ�@÷ �°üOyû/�ºî’€Ç�ì�ï ð爷D÷f†A� —�·qÐ ²
+
`­�–—ÉD E8�-x àžóOÚ€ —�v;yÜn³Å;7sszbk°ÏüÅ?8Û¤2jeA]ƒWö”_]UXýKwJãJ¹'ï ÇÅÅÅÅÅÅõ¤Ë£©si<§m8÷ñßí9%^_ãÑݝ\~w�#�`—2À>#…�°“'ùŸ qÿ�bªPþ' þ)Ü�llä××¥óhþ§��ù««¹Õbû/uÿÙp˜¨�ŸW
+
�8�T
+
�àþãfêþ†øÂBTLþ€õOOˆû/@b´��tþ‰�I qf8><èÛèŽöw£ûßê9µÕÓéjß|ù?Ä®vñ‡ßq|üCãºzG«Â§{€nÿ%�Ä ��|j™³Uu¥Q>ðžcË/þszblqb̽°à°XqZ�Ê�€¹€%z¤å�èþ¥��î_šüa�À΁=��¤�,„ç@� —��`—�t1ðÚµë+À�å�€åÿÅ€?ì'�àõ^Ê�‚ÀR@äÀe±øôú婉ØÄHðÅzöðp[›Æ]ÿ.lØ÷!ÉQ(û°¹¸¸¸¸¸¸¸ÞX‚Vf9ÒÜ®–ÍþÙŠN³ÛÊÅ"ĉ»Xï/a�*  �€û/�)ÿ§R�;d@ Üaü�öÚ%�[[e�@·ÿ� 
+
eYþ‡@Ú#`ùŸ@Áý[­ �HÀü<ÑìLœþÁúǦ&AR� îP÷_�l�@��÷Ú>Ý»ÝOæ~¢ûßîj÷k?•zõ%±»=ú·_;ª™RWy+=šÒÇûh�„2�€G#³mPË.}âÃw_{)2=˜œpêJV€±&à{å�”ç¤@Y0öþ2÷ášXqÿsÿ�X—|�P~ À¦�I#@D›´€¤€
+
�@€ìC�¸zu…2�i/…Ba_0à…ýžÏô�€Þ¸à)“gmu
+
V»×d
+
LOn-Ì\?ñÒ¹üò­L8¬sË‹“\‹�@€c�×Ï,‡®a¼U{âX³ûûßׯ‹™x*%¦~7µ}É=À~�Àô?ùÚ‹µÿ´˜Ljÿ¤8ÊÊÿ$ý¿¾.€ü­›´àúÎZ¡üOTtÿ4ýO� 8ÿ‡��Nÿ÷O� ˜þ'²Ú’kÊL÷Ñö_pÿñ¹9�æþ£“’üÏè�ì�Ž^8å¬ýƒbCƒ$ñßO&ÿ€ûtw€ûvœJ<!¶Ÿ_úQè·>vY}ÈÒ\h“»hN»ü!¿¥ª
+
ª©ªÀ+Òá1Ä7
+
ÚÓ±æî&ÅÂÿÁöPÿ­™iÏì´Õ¸`²�˜û± å�°
+
cù_šÿa�ØüÖ�€í¿xÀxll@ã]âþ9�H€]Ày�€ß•ä€�Àõ«R�XYYZ\‡ýàþ~7¸€€Ç]`���0!-›‹�€Åꟛ¿¡Ÿ[¿0<ÿ¥?<ÚhjQÓá²$Î…�¸ÊosÊ>r.......®ûÉÖØ0Ô¤>ókÿmãlŸ˜Ü3±t6A|ý1ú8ö'_4M¢˜¥ÝÀe�@ÛÁý�H¦�äÉ€hn›Öþ‹�»{ÜþN¡ü¿{ã†�öÂ?…ô( 2�H{ @ï�Òô¿ô�Ã?´ü? î_
+
�ÑˤüOf€÷Û�Àý�€tývn÷¶#�ÄÛOeOÛ_í¯~¾mRý´÷°ÜÛXãTTyUµO�©@UaeͲ¼��NmÃìaÝÀs‡ýÿüõØØ•åéIÁ°`2Ïm«ÕÌV€± å €Ñý#�”—ÿY�Z<˜ÿ)Y�)Þ�0÷Ï��mùã�€\q)ð‡À2€4DR@e���€0ÀUr °¶Ê�`ie1¼½xP¼0äq¸Ýv�À 2Û¼ÃÒÂLlajéû/^øÀ Sš¯NŽ$�ÐR‘ ô6 üƒçâââââââ:X–&EO‹Úô7_½1µ™InåIÐ?›Ë&±ë7Ç�€ìË1� î¿�vIVþg�@Ü�ÀýÑò?�–þG÷_�é�-ÿS�È�à��Ý?iÿµXfˁ�€í¿��É©))�DG®H7�0�`á€Ho´¿7ÖÛíéŒvuÅ»ºRíí»'Nˆ?ùAè󟾬«6ê*}-uÅSMWUO¥Ïù­Suÿ‡ÂÊŠ%EÕj0@ ��Þü\üÐ×_}�É?5!ØLë‚Éi�`�îŸÿA� A÷R�`@�°€’ÖþÑoXþ¬�Pr À€]Ú�6o“‰ ÷�z °
+
��$°´ ‡|À�‹"Ä���¿› �À,¼°;&›Çlñ/Ì¥ì֍®S>ö+çÔõÎ…Oƒ7�dŸ3)ÿ+8�pqqqqqq½ÈxIqÞƒaoU:ÚüÑwōk��±øzNÌåwÁ¥ð�C?Ôv½1�ôÿ~�؍FYùŸl�(�–ÿ�HÛ÷Ü�ˆûG�Èx<Ä÷3Ý�°�`ÿüŸ)2¨Xþ—�MÿŸíOÿƒûžŽ� Û‘ÙS'Å×_MÿË×­~ÿźŸ³7×
+
šJKõÏ…•O �à ��âþ—¤ØÔ¬8ßÖxå×?Ø^Ð “—ÕhÓ[3�ºÿ7€¥0v/�–ÿa �%�€#€Ðúcôœ6|áJÊÿ�p0þÏÁ)·þÈ"xt>›J×lZ —�d!�
+
ÄC–æR 7�Ká%xT¡À¾I ^·ßçWr PØP@.›Ñpx„Ù…¥±ñüĤõ/¿òrý!û{ۺʐ®ÚUûŽEuÝj£ÚW_VÊŠz�\\\\\\\´3PÚ%XøK².ܤéê=²CyµGWoml¸r´¹ë#fqãînä®(fÁ¹gD²`‡Öüñ€^°…�ØÌšƒ � ÙÔn&Y˜ÿ§åÿâüœý¿'ZþÏß¼bó\]åW��B™Å (&¢7�dXÖçÁößœà̺§”²Y’V3‰þ›Œ)#QÚ°P2û?5= Ö?59‘œOOM&&Ší¿Tñ+â—Î'.œ‹Q÷=3ˆ Ž ôEú{·zNźoµ¿9Ý™8ݵñúK¹¯ˆ¯þÇí?û£žÊŸ›UU->ÛèWú”µ^E <ØòOä-U•«î¿^m­_ÑÖ*Ãàþ•õv­l·­Ññ7ž¸tyÃh´Ž/ÌLÚœ&“D€v+ØQð¥L`SÁ¯‚À»d­-ÚÅpœ-X\,sƒÝÝ_þ¿–×gmЃ;µØ †ì „¤^}Ÿ¿Çy3�€ p�À��d€û�`uei@)DÁƒƒ'Ϩ^�ÀIÀËnu¸m.aΞœMÏ-„¾ûî÷¹|X®×ò5’>`²¸¾Ú+«½ÞÖR5p�àââââââÂQû€t
+
òš`³Â£¨ô©ªÝŠj«ºÎüLSG£jæ«ÿ\··v¢›»b6¾›¤Ib·vi0�iF�(ذ¢û/n�Àí¿÷€Üúmxeí¿àþs7Ö¤@K� W€ù²þÂüŸbø‡Xÿ´Ãzp��÷JMK€n�8»x�Üÿ>�8M¦&‡{6{O�ÄúÚ㯉'_Ùùþ‹ó¿øžQu½÷X£[#³Ö¼k±QPׇ´ åŸÈ[ª*Ÿúé°–,’
+
)ªá› (ëÍ:åÔ³­ÝϹñãÄÆÇWfæ„ùyƒ~Þæ0[l4ô��€îŸ�ÀjÄ��Ý?€Ûw®ß¹{ã>� ÿS�èÌ!�àÿ.�Æ�ìG)�š*��^��0@�(Ì¥�@žËêòÊò">,<8x|¸ @z �O¼À�.—Ãb –ÀìBtA=Ý7÷û¿Õ®:¤okpè*}šªEm½»¾Â×P{­µ‘,æ�ÀÅÅÅÅÅÅEí>Qöß�Ô„›¼ ä@Û° ­Ÿ{wëk‡u[ƒâ;b|{7Ù3ɝ$ØýT&öž¬ùÚ‹�=�ˆ‰8IþD"l�(Éÿ¬ßí®� wó¸ÿr�È®.æ–Ã��àþ¥�ñÚ‹£?m)»”´Y��
+
Ê�P²ý—�Å`�p�(¸ÿÈðipÿ�[§»¶û;âC=àþ·{Û£ÇÅž“âË?½ö•/ªj mš¥w·YêžrÕW\mQ{ªVš”¥Ç[¬ªÅ¦Z·ì¾†§ÉêX��µÌФ¼òLË™|H<&2=íðYmf£Éî´��Øl§Ã&�0¨˜X÷’–ÿ�V¯.‚Ñ][[eåšÿ!*�¶ Ž´üŸ@�Äý € �å—�ìMÙ8 Í{¥€��
+
³€p)m¾�à%@i
+
Èiw»ÝV³…ŒZÐ_›™Ý›YýÎ?o‘ë_h27ÕÚäOµuˍ ~rßDnÊ>r......®ÿ„"«Bɸp:úïÁ÷µ5‹šš€¦ÖÛ¦žmV Ñ^ø_½‚‹ŠÉ˜˜OävÒÉ\|V*‘ÄÊ?¹Àò�vJ�€Ì Â�æþã±{��ÍߺÉ���z�VK��w�“òÿ=� ²˜�F¸ÿ¤ÁÀ�€­�Ãí¿àþãcÉɱøxa�(�¸ÿè…³��QšÿA� €�ú{6ú:¶úÚ‰:^'åÿÞSÉocîÃkQ™šžF¹ «\ÒÉWt
+
{Å;ÂYÙÇñÖŠ�€«îÿ$7�ÊŸ¼Ú¥“Ï6«NÖê¿øûâÂÌíé×Ä”ßîÒëõ´òlpØ­�àHA–ÿ�,/ÑòÿÕEZþß�:�t�¨û¿Ë�$ÿƒž£ÿ�Ä"äóù{5³Û€²Ð&c��È�¤[) �`­¿4„*I N«Õ*8]‚Ñ䟂/w´·ýìÇéÜ¥ñˆÒ®«äKÍò°¦Î^óÔÖqÂÅÅÅÅÅÅõÖ­¿�ðýRsWþ®µ¦zgû\G4£G4¯µª–~ômñ檘سqQLgrÉT&Nü~&[ˆþM�E� °�vó�Èf‰û/€ÜvqúçúíìÝ[8�”@öúU�ì�ίÜ?i�ÒAqX�¤ `€ŒÃÆ��·ÿ& D s‰ù‚û—¦ÿqþOj¼°�€Ì�½p6rþ �¸¸�ý½�� ;Ý'7»OÆ:ŽïvO½vã/þôl³ÂöîV£ªÆ¥¬©k—4õaU­»öPPQ[þ‰¼¥ª
+
h*ݲw¬êêò*`W‹f´YÙ}´éê÷þWnvfijÆg°º¬ÎÙÙy·Ûe1ëÁý“24uÿ�`P™_•æÀÖ‚Hù¿�Ìý#�€%&åÿõ› �Xù_šÿ)wÿ�¬÷÷q��c�2”ZFR�€#�é%�Û�f=��H/œN»Íau¸œ.›Ý69sSoHŽ^rýÝ_¿®«Ÿ{®Ñ÷î&›üi·¼/–ÈxÐòO‹‹‹‹‹‹ë?‘Ðëû
+
¹¿º*¬­ôÔÿÜŠ®ÚR÷N}«zøHcǯü‚87&®_Ï&7òùø.¸ø|ŠÌÿ!Áÿbö‡Ø.É>` �HÝÿ~� î{»°€nÿ÷b@³7®ƒû÷_�pÿ �Èð:þ íu—ô�H�Ëÿqƒž� ÿ°ô?ºr06‚��J\¹Œ�°}n˜ä(�lQ÷O;€7ûºáWîtµowŸÌt;ïüðÛÂÿõñsÊK«Êªª 5ÊÀý{ëHÀfµQùîeò©*}Ч®5Ëý •€+Ö6õ¹å™_ù…d×­‘ßô¬×ê2›­ó ðý6«^Yù�<*ZÖòò?ÀÕµ%Zþ¿*� Å0� ôß üÞ[êþ-� û/¹À‚v À� Ù*�’�¶`@:0rØÍ‡Íl· ‚Çn4ûgæ¶gf¶»Ú‡~åg[”Öc:wsƒ£î]‹šäÎòœ‹‹‹‹‹‹ë?•Ðëƒöÿ
+
¨" |gXó´¿án]ýD«ªó™fãßU\ ‰±õ\.–ÛMew’ùÝÌñôybõqÝ L›€Å�`á�{í¿�p�(�@îî])�änÞ@�`éÿ<)ÿ� ·Âò?�Rþ÷ºSn(írÒý_$î¯À¸0̧ )ý|jž,�NÌL‚öÀÄh||Ïý3�ˆœ?³uvˆ6� aø'6Ð=Ý·Ý×��¿x·»#Þuj·ó¤øúKwþêKSïn›mVUÕ.uÕ’®n ˆ«þ)�€«Mªº¾üCykRW{ž^ÕÕûä•Þ¦†…VÅéÃjßþ~nìRøÊ%ï‚Þb²M›ÃnµÜë½��UšÿY&î¿�è�Ð�¬oÜ¢åÿulÿÅ } �0÷ŸÞ�`Î�ài
+
ˆƒR@�è^àû�`MÂ�ì*€µèHÐ�p:í&‹Ùë ¸]ÇÔìíyýîô”㯾üª¢ú²ªvñ…6²Ê/?´¨ªô )K?r......®ÿlB�‘ŽO¢â¯Tøï¸~¸ÞQó_‚Ï·\:ª{åù£ë=âæmþÉ�ðµø»ÙÝ@�r¤É÷~�@€Þ�ò›@îÆuiúÿA� )8iúWÿ’ö_2üÇZl�0̃ˆûß�¬ý—Œÿ¹�DÎ Å)�`ø‡ÀVo÷öÐÀÝÎöDÇIñäkâO¿üܯŸST9žÑ:´µ^u¥Wþ®EMÕÕFYHUÛÿäõd¢xdOÁ¦Ñ{T;Ö*ïz¦1ô­LÏŽûÇ®x-Ö¹¹“ÙL ³>·ÝãÜsÿ �XÍš�ºÙr�(æˆ&@×oÞ�ÊËÿ �Й?*�`‡@ù%�Zv�
+
Ë€7î–ä𠦀X70y.k«%�€) Ä�é%�F€<N’Ár8È:6›Õå6ZWfõ[£ã›¯½:ð÷žÕ)\Ï6»µu!u튪Î_Ë€‹‹‹‹‹‹‹Øý ª*¬$b�TW8«ÿgíY{NklS½ÜP1õ¥/ˆ‚]Œo‹;Yºì ü->õZùâߐìf"ùpÿ;²ÿ‹¬�+Îÿ‰¨e�ºükç.$Þ½³{çvþæìu²�� ³¼”¦›¿rËKù%âþqò¦ÿÓ_Š6�d¼î”Ó‘tН_6šü¡å�€´Å˜6@)“>mX ÒÏ‚RsÓ�¦ÇS¤ñ711š#½¿Ñôì"Y�ŒáŸ�E�ˆö÷ä.¿ñêK;=bwûÒÿÞØ±¦Ùf…YWçÖ,ì5Y¹UöY< r×½ój‹Ü-ÚÛ\o>¢êSWMüÆ'6:^»5~)07m3ÌV‹ÕjµÙ,.›Ùe7 vâ?ñ@:HšþG÷¿º¼vˆºÿ5IùŸ˜aR_¿¹±y›ºÿ Lÿoçÿ°Ã.X�ë�†#õêr9�”ô� 0`�€#AIcĵ«k´€p)˜�X+0<w¯ÃávUÌv
+
�‚Éš3ÝžœÍœ»0ñùß:Ú<Ѥ°keA,(¯ZVÖr�àââââââb�°¤ ¯Ô˜’;wÝÏyTcšÑÅñgš­ßúº¸²(&“tÛ¯$âOD}õýª`'OÊÿ�b2îkÿ ‘
+
o��€�ÈÜO �d|Þ,€´Ë €«3’�´þ ¤‘ä’ s©…™äüt9�Hkÿ �"çρû/€Ho¤¯íïÞ:ñªØyBüñ÷}Ÿùµ±f¥^W'4É<šâÕ
+
0À ��'ˍõ.e¥½©~¬¹¡ïˆÚüW’¸rfujÔ³0k3-“Õj¶ÛL�lfEÃÜÉü�…ò� ûg�@Êÿ÷��ÌÔ”§€Jz�öœúƒ‡ �ØÌü¬Ø b�H8�Å–‚Ý€Wz °*Y
+
†×(÷�¯Ãå&ÍÀ»Õá4Û} –«3úüœ>ôo_þð/(ëŒÍŠ@³ÊUýÔŠF΀‹‹‹‹‹‹ œ(x¾%e(¬,xS°ªÅ!‹ÂÐ*ïk¬øÔGoôŠ[›b2!îKþÅÂÿî~÷¿�ðo“.aÚ�Éì¦ÓàþwÉÝx,%ÉÐ.™þ¹±�°s÷nþîŸl£�¿v5{u��Ý?Q±üOgÿcû/€ í�Æ R�ÈÚ¬«1”\˜IÌOƒûOÌM¥@3`ýA鉽á?‰+Äýƒ¢´ü/€è™!�´ü�ëíÚ<ñj¾ã„øÚÜýêWŒxϤºÎ¢­ó7Ë|òTAìÍ“‰aM_S+hëô- ÃͲ ùÀÊ¿}/­Ÿ ÏNºôó��V‹ÉV�§ÃÂ’?èþÑú£¤ãÿIûïÊÀµë+ÄèÞ¸ÆÊÿp0_�,ÿ§‡À}z�Ø÷îÏC�¼Øß@� œ�p(Ïåækx pU²�Ÿ£t+0�Ó�ì—Íî²Ø<Fëâœakf>64lþ“?êÐÉg[5þ#:sÅ;êz�\\\\\\\¥�@JÔU>u[]ë9ª»Ü(;Ù¦šûÛ¯ˆ.«˜IïÄSûÜÿ~�æŠ“º �`ùÿ^��î·�„
+
;€ �€éÿ‚û—��¦ÿ±üÏ� ë°�Ä�€Œ�ÂÉ?”�$g§Ò³“�‰‰Qpÿ8ü'vå�þ#€È™!ZþŠò?�èéŒIì9µóý=ŸùÕ©ÃZ½ºÎ¥© êê™ûG=±�PV ªG«b²M9ô\‹å+¼uvàÖ̤nÖaX°v³Ái%îßá´86)�à�PiúŸ¹�°µ�´ü¿�`…¥�@Ýÿ&º)�à)/ÿK{�¤^ýAÎC�|ƒ=
+
x�€õ—Îb7�ðÆÞgd��ì�ïð@
+
�È�¤ Àòxn��·Í&X­��‚Éê7˜Ãc“¹ùùåï§û=ÇÎ7)Gu–úJ¾˜‹‹‹‹‹‹‹Š��Xÿ°êPHuÀ£ÛZo9ÚØ×ØÐùKï ¿öoâb6—ŽÝ�˜öÿM,ÿï��í¿i’ÿ!î?‘d ��1! °IF�!�änß÷O íš´ýwgy9¿D�€ÕþÁý#�¤½4ÿC€�ÀfÏÙ åÿ”ÙDó?óiÑ~6µ0“š#ù�€äôx�®$Ç.ÇG.Æ®\(,ÿ¢��îûÜYpÿ´öO…�@Ýÿvow¢»]ì8.ž|yã«_žÿsSšzg£< •ù÷ïÑÔ€èÜUòØi3@ù'òVʧ¬´2 þyîÃXûÉ÷sS¾Ñ÷qÿ“Éi1º¬&‡Ýlw‚ã´»Š òÀÒéŸ+Ë‹�¤ü_�æþ�ÈøÿÍÛ›[w�à MVøÇW�v�K½úƒœG�Òa R÷/í�±Y@l)<—’�)�HÇ1�\>·ËGîìv
+
�‡Åê6ZÝSÃÂv×èg?Õ×$ŸoU¹tð]”sàââââââ*�¿º|ª[[g×ʧZÔ=Gt£_ø\lú²˜Ø“©L*[b‡Ðèï+ùKþ9�tþ€8é�.é@�76��²·n€r`ýoÞØ¹~$€Ý•`€�H‘ñÿ"ºŒŽÿw‚û1÷Ÿ¤éÿ€”ÿ§Çqô'¸€èåó{î¿Pþ?K†ÿP�ˆ ²ö_€$�@÷Éü÷¾øì§&Ú4zu] Yµ¤“ûdô^…€[K��û•È ‹bu
+
w‹f®E=ئÿÂïĆû6 zçä¤Ó`´™Ì.£I0�‹Åå h%=�å�€î¯€Àõ«´ü]
+
�ØË�€Úæ=�FëÁZKÝ?�œÿ³ÿ;øÆç¡�¼OS@Òa  �¤7�¬X
+
�Ø �lÆÚ?b@)�¸|€Ãê¶“Öl»Õ à5Âã£ÙÉÑ¥¿6ôBÛX³Â}¤Q {¿Ë?x......®ÿl*8QRþ§� ®´2[“ú¢NÞÿ ïö}çâ²_LE2ۑݝÊü{Öÿ_Þ’òÿ�ä“ÄýƒXhgkk—¾â
+
0�€ü;8ûŸLÿ,@qûïòÎê
+
@6Lö±ò?@ÊCÊÿ�d¨Õ"½¿tÿWÜ0Oó?s)ýl¬?mÿMÎN&1ÿ#€Äè¥ÄÈÅØåó¤÷woþO�"ÃÄý—@ç)ñÔk·þâOÞÿ¸¶Á¢ª5Ê—µ2¿,ñý@V �Òxýä€GÝàlÕM´ª¯|àùkß}1?5¹89í6˜l$üo�p[LIÿÛÌnär“‘ôR÷/m�@ëC{mmÜ9�ܽ[Cò?Ûwiù Ý?æ¤�pŸòÿ�ì �H�J@
+
�¸€ÜŒìo>�@ �·ÿ@�ðYm¦á39³19Ð}ác¿r¾Më|¦ÅT¯ŸöçÏÈð²î‰ú.rqqqqqq=:‘ñÿä�Óÿ>MØS‡Nfjk<­Uœþè‡ntcëb*ÛÚÞ=(çs€ûßûÕ}�°“J1�(4�lnîi}={ç€Ìõk9Ê�o�°üO:€­¶¤…DÿSfSÂhˆéçhû/qÿ ÚûKD6�L��$¦
+
Ë¿h@9�œÅ �¸ÿ Ä���¢= \ûqñåŸ,}îSã­êU]YRׯheaê¬HgÅ�ÔHG¯>:á²áâ~7"ú‹{k˜èNè:«¼Úجº|¬uê7>•ìϘÍÖó—üv—Åd¶š-N³™�€ÕJ–Ϻ Á³7ú“ ÿ¿Z�ØL�àúZ±€�@1ÿCÌpqü?æÞ�JÒÿ �pÅ�ü“¤€îŸ�+ÿ㏿‡­­­MÉÙ(žõõuøÍ  €mC­®./,…Aáp0�@ø|À�^·× ßçw¹}N§Çéì6Áî¬vŸÙ.LN/Oˆú…à¿|£ëXët«ÆÕ$4Õð/9üÛVW”Õy­WVVÈÂ
+
d�Ö¥^úáââââââzþÿ=Ðph¥±>¤®ö©*ÃÍõU…¥þçlÍõÓÇt/)«-÷·¢Û)®ßóYðô‰TRâí¥®¨Øì[®<Ù¶“É‚vÓi"Ú‰Åw£ñbú ´³Qè À·nÒü0À›ÿCG�…ˆ$³ÿsá ¼Éâø*r@�Û‰èôÏŒÕBÀ,NÿĠɹÙÄìL’n“®�KŽ‘&àäÈPüÒEPôÒ¹ÈÅáí C‘ ‰³§“gNgÎî\<»Ýßꋝî¹süe’ÿé:±ûµ¿™l–ÏheB›Ú­’-i•¾ºÊ œ¸)ê°±à11Àýƒ¯ƒWzùPòi0zTå—=”W••!b+}ªj¯ªÖ­‘YÕµ“ÍÊá÷¿°ö“f úàĸ0KÛMz‡Åè´Z\6«Ãf'{§ÜV‡Çæñ:}~Áp‚0¥`MÁ¦..†@`YÁ¼®¬€‰]G»¶¶Öö:=û7� �–ì1¸e„ùýÇW�æþ�~¦å_Òó��Vd�ì†ß .6ÃÀ�<�¸�„ °²²Ä� 
+
”�€ßí!"� °q@��n£Ý3g
+
LÎlÏÍ_ýÕ+ŸúÄ¥V­¥Ua×U{´!M%��ük$mõ~yý~� •�ú*ýJqqqqqqqýÿ]ðÿïËšú ¢Ú-¯ðkj[dm•]õ´åpù6Eï/¾°òêKâÕ«âö¶˜#óUr;MYA&(·þû Ÿ–4Çàþw"1�Ôý �¹µU�€ìÊr† ÿ #�Q��Àí¿¸�˜ �-�l� =�zT �L'&ljÆÇâÄý&FGWÈ ÐäÅ‹±‹çŠ�0=w:q¶/y¦/Òו>½ÙÛo"=§â'ľñ•_þôGg5ÕÎV•·Iᨯ «ê²êU­5à}´ÐŽ ð¨1 �d  «r눯#CŸUàþCŠJ¼ùA�€É©“™ek&~ç7nvwÞZ˜wLM9æl ³³Þi3:6§ÝAä´ n›àµz¼¯Ï%�ð¨èþï�÷rÿR�(ï�–€´üÿ¤��ËI A/,h(ʦÜ0(�z
+
ã€P€««ËÈ�ðX¥�à÷{�/�¯ÏéA�€‡Œ5ZüF‹ov~ml<5r)üOîù#S-
+
Kc-|šÊEMUXCƾÔõ!U|K0D»U
+
�ÀÅÅÅÅÅÅõ¶Ô²Væ­¯ô*jÂM ~mµCù´£±ÆðŒº]W7ÿÅßç§Å­|4’ÉäòtÀçþ�Ë�€û—ÀN,ÎÚ¥�Pzû¸ÿr�È’ a":� òºS4úåÿ¤ƒ¸ÿ4þ™²aùŸ@±ü_�âþg¦ãcDÔú'G®°ñÿ‰ θ0)�ÀéÄpÿFwgl «·{£ëÔö©×žn±óäö?þ™cM ªjÿKU笫\Öʃ 5+ZÙ~� ƒ€hôºüy¨G'ƒW¼ðhIÊ‹Fj€úHÿ·¦À«¬r«km Ó-ŠK¿ðløÅol\ON;ææìúyóÂŒÃj ›¿œv—ÃérXMÜ?¼"�ù½àKÁ£†ÃA)�0÷ç@÷NkâÒò?�®ƒçÉ�d�i
+
‘¥�¤q üK€5à^0Œa€1�<nŸÏãóx‚€�‘ÙêµXƒ&³÷òåôüLv {ì“jl˜oªwi+IÂG]RW“K�,¨‘é%HW’  ¶
+
ãb\\\\\\\o?ùäÕYår³j¥Må¨ÊÜð.K›lü˜úÕùâ÷_×VÄD<O$2ÙL6°½z`�(, ù�lÿE�ȯ“ò?.ÿ*6¯e¯_% €W—‹=�‹ �0üƒépÿDn‘Ó‘°Û�Òvë>�(nÿ%æ©û/@l|ݼèþYú ~þlìüPìü@ììéø™þÄ]�Lw�oužJ�èÉý¿?p|úצ›UmÐ$·Éù”µ×ZTÞúC `1TpÿÄ\=� ˜áS� ËHù?LÓÿ䇡ë|ªC~E…[Q)hjMÍŠs-ʹÏ}:>л>5éŸðX¬fý‚Å0ï° �÷ïtÛIØÄã�p"�`
+
¨�À²–”ÿáèþ7é\üó?8H
+
�éý �O
+
�”0�þ¬È�t@�à÷†¾ÿ^—��B�¦€0@è‹€×E> 4§Ãf·Ú€BN—}täöô¤8?eÿêŸ÷kžjQØ´5ž€êiP׃Ø×‘ «"°H�€3�×ÛRàþ½Šš«-Êp£Ì^÷.ðú#ŠÞ¦Ú¾ýbäl¿ÝSÄý'vÄlî=–÷�Òû›!…ÿ|2Y\V��\Ææÿà���Ìÿ0� �«¤üOf€.÷Ÿ_ ¢ÿ$ýOÆÿƒûOR÷Ÿœ�Äý€ºcaX±öåÿ8qÿ¤�Ült€¹ÿèÅ ± ãçÏ�ÄÏ %$î?qþì6y3ëéÜíhO¿û75úÌaÓa­S'#åYÅr£b­Y îß/'F‹-“6ã–"Q{]ÔëcúŸv$×¹ÕÕnM¥W]éQ=í–?íRVÚ4u³­šÁŽþévfCc#¦‰ ŸÇkÐÏ[-›Õh·™»ƒ¸›^éìÿ�à �8R�àWËàúuÒøË�€™~tÂ%ùtÿ˜ÿÁª:Ö�ðÄ@¶b—�ɽu`…ƒ��¿sv �zön�J�€µ �|¾�P�¡/
+
�‚ËA��dwØÍŸÓ阙fó×_ù+ŸúÄȍ±IæT×x•@~€äëXtÿÈ…�ENåââââââz») ®÷)kÉ,E%˜Báˆzú˜æÕÆzû?~•lÿMljŸÅuøû«��pÿ \¶KF�Åp0qÿE��÷OD·ÿ‚ûÏ\¿FÜ?Àþí¿èþq@ �°�pÿ)êþ“V,ÿ—@ÑýOcû/��»`Ë¿œ'@ãçÎ$Ï%ϐðþ349sæno_¤¿?ÓÛ#vuˆ?üWßg>9¢SZnmWUëSU‡5uaUmPY¹ÚÜ€ƒU�‹£xÊ?‘‡(?uÿ´˜K¦>’Á£
+
Ò�~OÐÔ
+
šjªÂ­<Chn‘=×4õÙOßé<7ëm#WLss‚Çm2™l6Ë�༛€IÀþ&`)�HÛ¥��¾—ùþ{•ÿ1ÿ#�VþÏ>™�P~ € €'J'á €ô€�[Àz�°Û�àá¢�H���e�¿àó•!�¸¬ðÆ›Éì1›ü³37§§"—.,}ëçŸ?¼Ð¦¶êd|?�.¤Ê�àÑ_Qqqqqqqq=~…´ e­§îioC…¯©ÞÒª¸tLÓõg’çúÄÛkb:Éf’¢§ë¼vê¾?�ˆ™ÂôO�;±ha(�Òø î¿�r7®g¯_Ë_#ùŸÜ*€ìÒ"‘dþNÿÌütp¡� é°ƒûgóÒ&SÊH� a ùŸÄ|¡üŸ˜™ŒOÓá?{�p…ˆF€€—.F.� qf09ÔŠ Ž ® ÞìîŽöõïöt‹Ç_½û6ý\›¾EeS÷ÖÈBêZŸ¬" ¨XÔÖ‚p°Êã�ü'⺷%E�|j�nmW]éSUÒô¿LLs鎭|ïÅ­‘‹Wç§ís3&ƒQo6ٝ«Õ îßa' ÓE“ÿnàö’”$ü yAX˜–¸ÿ¥òù?ºE€²»(�¤‰�€¦ZšÿÉ>á� e�vàw…—�%� IV—4³>`)�ø^Ú|±�nÁél�@ó³s>§3h2ûFG¢sséÁ÷½0ùL‹©EíÐÖ{UÕ�M-€}U�¸¸¸¸¸¸Þ¾ò5< À×,UVž>ª¹øÛŸ³˜Š$SÑÍl:&Š›Ét6KÒü4¿Y� éÿ�€t�—@f1LÖ¿èþIôßï�Èú÷š€�Ò.² ½�’Ã}�@2ÿg€ˆ2��@äü9 �ØÏöðàÝÁ;=½©þ~�àßþÍO]¬¯ÚÔ é¥ «jò*¡ö`»—ë­Õÿ«`Ÿùã€ÂHwÒû[î?¬¨ *e>µÌ­‘y4uXü´2K›zê=mƒ¿òÞô¹Á;3SÂĨ×f6™L3ӏ`µv“Óa!K]‚×%ø\`þ=4Bjÿ¡°H’þ?�°XÚ@gÿì�°òB2úó‰��vJà^îQo�X+0K1€Ã¶3 `#A ƒ~�Á /à#�Üv`�òQ9ì8Ôk²„ ×§gSWF®~ý4]TÉ‚/±É+œõO­V¸dï*ÿÒðü×ÛU>ye@Q±ÒX¿ÜªtVŸW× ð¹µûWñú’[ÏŠ¹¤(&ÄÝ$˜,pÿùÝ{€”pùÙÿ•� J'ÅTb7ßIÄ��HðÖ&+ÿ£õ'Ó?ï÷Ÿ/�qÿ�@;ðº?„ែ¼Åý_t(ë¤ @Ûñ�ÛsSdû/j–n›‹OŽ&&¨ûÇÑŸW.‚—/éŸ—.DÈ`�é3CÉáÁø0Ù¼54°ÞÕ‘íí;Û¯~ñ¦Ž5;6{´ ~2x§&LE7¬óMËÿXT•�Ù¾Zþ‰<lÑq/*�´ý·Î¯ë/s*j–[Õ®Ú§ÝŠÚÅ珞•Wõ=ÓxýûߌŒ\Z™žtÏÏX ó&“Ád1[-&›Õèt˜A.'©,û7XM¯×ëñ¹I*Š7�l Àêê2bµÜúØP�ì�ý3K!�ÀaÖÿM˜~éyh�À0 „Xí_Ú À�@z € €[¥÷��x€�R�p…ü®Ð�x·� ಁû';l.Áêô˜lA½yuF¿96;u|ⓟÒ© ‡›ìZ™½áic}¨‰° ôKþ¦\\\\\\\o?­6É| O“E`Ír}cÃ@£lô³ŸL_ﮉÉ�@Z“ân6ŸsYqç Q å7�Ìý—�º
+
�ùÍ �ù;wÀý“üuÿ �²W‰ûg�€�J� íõ0� �ˆÀý'­fý7IþÇ`�� “èö_�ñéÂàÔø½�àÜÖ…3ѳñ³ƒàþA±¡ÁèàÀVOêtïnçɝ~7ðé_›ÐÉ…f¥_S¿çþ)�àV¥·�°ñÝ?n®ó©euƒ¿QjTze5.U½¹U7ܤýÌǶzOÞ»œ™r.ÌX óf“Ál6ÚÍ&²ÌaA�p vŸàb�°çþÃ>tÿx€�p`í@:èþîŸ@šž'�ð @9”w—��x À‚@R�`;üAŸöÀ‡�à9œn›Ãms¹,·Ñî[°„gõ7'§Ä©)ÿ×þaø=ÏŸ×)Gš\ eÅò5Ë¥á÷†ªüûÄÅÅÅÅÅÅõvеV…«ö~mµ­¹á¢ºvàù6ç×¾*.ùÄí;»™DNã¿“ÁêÀŸóðç7€]iùŸÀn& ��î7NËÿÑm¸ �Ü.¸šþ/€â %´þù Mþx2ªý�v8SÜlL $üCÅn��Ì¥f&’ÓãÉÉ�ðÏÈE@üÒy�€í‹g7ÏoŠžŠEû£§û¢=âÙÓâË?½þå/šÞ÷ܤ¼Ú©® kHùO�ØSñ±Ó™+ÅÁëNű?ÔýSGG§‚’€`³Ê¥¬õéäÎfõE•üÂûßëÿ—HL\Z÷ÎÍØçg-Æ9«qÁf2
+
&³Óbìpÿ$Zâ¶{Ü.G�÷ïõë_pÿ‹~æþWV–p‰mùò/Vþ—�:ár÷æ£4Òòÿ“�¬üÏn�ðçÆƒ� e€mz�¤ pç™ZžÂq@ðd1_… Á�ÀòùÉV€��¯  M�‚Ep™]‚Éî6XüóÆåéÙØüüv_ÏÌo¶G«2?Óâ=Öh’ò7Ë|ûS8�pqqqqq½E–:êÞáomXh–õij/ýúGnv¼*FèN>¦Ü=éÿÝ¥oʏ�Àý��Ý.[��Zþg�l!�€ûÏ‘ü�pÿ �Àýg®í­�÷¿³¼œ[\d�PŒþ��Óÿ�àþAèþz=ˆ¸£1m K�Ê�Ü||¤þ¹¿rËÿ��±‹ç¶.mœØ<CrÿZþ ôEû»³½âPOúÅ´ì—gš” òJ·‚ŒýÁË
+
©ûÝ�<b ×�Š(‚ƒAë<¤@f–UøÛ´æÃMýÅüç?·qºëÖôHpfÂ57mÑ�Àa6¸Mf·ÙâvÙ’ �|¤àA ÄýKà>µ4ýÌý3�@§ýÄ�C©ûOÐ ¦RÀæLI�[¡�H»á kf� ¼‹^�€€ÏO¦0¹É%€ŽK��ð؝n«Ài¶»ŒAoô/,„'Ær†yÿ7þ©ëØáÑVð\‹UWïPU“Žú]d�°ŸY¹¸¸¸¸¸¸Þ6ªòɹT‡<ÇÔµ5'ÛT¦¿ùrfaFLÅÄl:¿›Û%srânŽZÿƒ­�´þ ‚õ'ûY²ýW’ÿ‰äÑýS�Èm¬ç7î€ûÇÚ?Žÿ/¶ÿ^Ë­­±Úny �gÿƒû/ÿ¡îßMÊÿ…ö_'qÿi›½0ú“Öþ3Fc¦�ñÙI2øŸ¦ÿ�0ÿCàrbô¸¸¢ ç¢ÎnÜ<7°1<°54°=8ˆžî‹÷vˆ}âë?½õg¿?óLオVÐÊþ?öÞ;>²´ºóþ÷ýë]ÃÌt«+'ÅVwOOOO¿¯ll/lãeƒñ¼„Ål0°`Òäé,µ²J9U·Â­$uŽŠ•KºïyžSõèªJêéÁ3=¸÷ó³\­éZ·®Z¿ïy~ç²M™�@ÉG¡ÛfŠ”ª«4öC­H-©ß\�ˆÐC�‡0�hôjêmÊZO‡n´U{úÈ¡ÐW¿÷$82䟛v›g‰û·Í¹mfŸÍÎÛ\'~ÒK.Ìe€÷�ÉE§Š"@¬˜ºÿ…Šò?sÿâ�,ÿcg,�sÿb�`åÿ=
+
�ì ¢ ˜½À…_pÅ!�\b�ˆw �o!�¢|,ŽÂá'³€ü~xƒütZ“—wû|.¯ÇÁq'g³ù¬fçÄøçºñÒ #¿ùîf•¥CííԸɦèm�Puh%I’$I’$IúåQ@UhirÒœT8ñäC~òa>!d2àèÉÄRø§��0 Eêö+/�€ûG� îŸ�€ÉŠÚ·�€¸þa�@Üÿ•Ëy2þŸºÿ2�à�’ÿ¡�‹÷_ÿï'îßïÇ �¥ò¿ËM„Û·�‰�M�@‘òÿä(¸€uZþ_êc�°Þß½Üwf©÷ôòù3��+]Ý��kgNe�^þéÊ?|Áÿ§'´õ.MC¼ERÖ&´M!
+
�Ôgo-ý•sA÷�ÐÅmÍu¤£�|ºFW‹|ºYq¾M3úáÿzíç?[¶XÜc#óœË:g·Í9ì´üowÞ ™)ãózý^¿ ÌûC2†>V��2�¦Ö�ìXþg�€åñ €Ø<ãU]þß[�P¤¾fG0 >`�PqpãÆµj��a?��2�Üèh<ŒÂÑ@<NÀ»À‡�@dT“Çǰ¹}n·W9p«ÓjŠ™g3Æá _ûŠñøá]#wXçÐ5��F$�$I’$I’~ÙvЯÚïkm²tªN¶Ê'>þÑÍ©QaéÖf*M+ÿÂæFA(愍<��ü2ww�Pvÿ�Ò™j�(,ßf�°þÙ�ùÅEpÿb�ÈÇbÛ��kÿTâðO5�dI€957³>;Mº~‰û‡4ÿC`mt˜”ÿ)�¬� ίõu­õ]í=�@"@]Ýk]Ý©Ó'
+
'^ØüÑ¿†þðÃ3GôsêA½,išöÏëÉ ðQe‰€Xÿ˜R%î_
+
©”À�o*�)¯u¢ëÀðóäÏÆé€ú† ýšÿêß§úû“SS^“Ém3;ìf»Ãät˜½N[Àé
+
»üawÐç x¼`*y¿ßòó²*"‘‹�±üˆÀŽå�èþñBK,Ž�1@/�ÀÜÿÞ�ü%ÛÀΪ� ��@Õ�€) vPn ¬x0˜àCQšây’"£šèÄV/çá8Îívº]6²ÍsY†€†…žsS~ÿm£©SgÑÕ²ƒª
+
~­~°$I’$I’$I{L¥^Ozž_ªèa„|~ÛtòŸ“Ýç24ŽÖž~üûk/Ä‚ø”•ÕMýÙ(æ �Ðü_–T^e�@÷_€ù˜Ín€Õ-ÿ“@¥ô?þ¹�húG�ˆàöß
+
�ÈøJí¿�¶YSfóºÉ”6™Rssk3S«Ó“kÓãë3Äý#�¬Oü€µ¡>°þ¨T/�ÀzßéµÞS+=g �œ?¿~î\îôIáåçŠßúší=ÇG55võ¨AS7øêï_0¨*�@tà �PÑèÿ=9@#G–kÉ‹H¹É^[T5¶ g[Æß|oîô«™¹Y÷À0ïpºlV��‡ÓâtY½.'ïö„9>ä �ø(�„ù��2ú3N¶ÿ2÷jl[Ý-ÿÃ�Ä�€ ÀR@⠐8ÿ³W�@  öýbë/>¨vÿx±N�v€mÀÕ‡�XþG÷‚[Œ�@F‚Â{
+
R‘íÀA>€!-ÞOì?Y ̹8·Óå´»lf·Í䟛NŒ»%þOßxåXçäÃí3úNs ihŠkÈ3J&Å*›x­ ÐVÚ&I’$I’$íyÕFÕ5$Ù¯‘Ëþ²ÜZ#Š‚Ð4ˆšØÐ°²&xÄðSå¾3¿óþ¬yRXº±¹¼\êëÅö_Lÿo(”S@b•~ ÉРB´™Ï€û'�É’ý_멍µuPiðm�€­ �×®¯^!�”öÑ �´ ^HÆp�=æC\°4ù”ö‘è?Mÿ»@—#í$å"›9m%Ñ¢¹Ù´i:eš\ŸKÍŽ¥fFÉ :´n­ ® €VÈàT_÷Ú™WRçNÜ8õJzxàêé~úc¡û¬ðóÇ>ö[FCÓœú@òˆ. 9àk| ¡W`w/šþí¬%‚Sõox#þÍUwT'ŸoVÅTõ‘¦}ÆwÆ;ö¶&c§æÔ£Æÿå›Ùɉðà€ojÊk³¸í6bvpŒàýœ›÷xA¤­ÔO¶ÿ’@´ 8‚óŒDˆûÇã z%“I\þU±ú—YÿÝ�� âèþÙ!�öÐ2÷/>@׍|»+}×�È�Õ »�Ê�בî��¢‘¼ `2B��H+�Ù À!À;Jæ¹:,‡50>z€ø|×øÿÁ«-*ó]ð :ªo+êý Üõ5a­2Ò¬q6ÕH� I’$I’$íym�™õ®–GU UM¢ �! ©B  ¬µµ)^}¨uö+Ÿ/†}dø˜õL®<ó§{ƒ_ñ_Å�Õ�@Ü?(—¦ó¶ÀÆÊÚÆÒR�n‰ p…n»X �Äý'c¸  í�iÎMÜ¿ÛÉ�€l�(@Ú4 �1M¯ÏM¬ÍŽ®ÏŒ®O°`¤   �«CÔý—� 'söÔúé—WÏŸN œ¿vâ¥õ“¯¯¾¼úå/M=Ô1ª:à24ÎÖ��ø5qÜÌêwä­–VÖÈãZe é@BY¿¨mä›ÞÉ7×ۏh_ÔÖM}âc7OŸ\MN†lV·yÀír �€oDɳÞ_*0™à9ã±H4÷Ÿ,_óódùWõôÏêðÏŽé±õg tühªst�h‘®þÝ‹�À²TG€�0Ø�ð�� z+0Û G“‰y"!T„à›„�ÀD—5è´f§cÆá¹ÙËßÿÎéG whÌúF‡lPìb³Ö/oà•M!½Š'§�H’$I’$I{]8îÍ}D%)“ÊÚ¤’ ‚ Ñ4ˆ_‡™F¿VîÓÉyƒbXS?ô¡÷Þ8ó¢peAH¯ ùt¦�°¸¢ü/�Ú0P€ êþ� ûß\ÅÀÛ�€¬�+•ÿ·��­€B8˜¹ ÿ€û@ÊAG�U@znjufŒhjtº6�´Tþ/ÀJ@êܩۯ¾˜ëïY=wúÖ+/=ç2ßù–óCiјô2N×àQÖxšîƒ{¾`PÅ5²êwä­UXÓÕÉcßX“Ð4&u2NvŸ¿S=vPõêÑ–‹ßùVfl4:<µZ½æ9ÃÊ9Hù¿�À=¢ûo‰Âò?©>Çb‰Db¾|1eî¿�vtÿbëî_œüa�Àb?èû÷�0 §€*àînì–b#AÙN�’»JÄØ!�*
+
 ûçIÓö�Ðn�—Ãnæìf¿Å¿16‘ïëáÿçg^Ô6™,ò!­üb›a±EP6rM’m¥a’$I’$I’¤=¯Æ2�ÈÊ�@¶Àâø�¿®Ü¿K¯tvèÏè›,Ÿý”à6 ·®×W�6ódÐë�pÿ�Êù�€l
+
$¤3�ÅÕ5pÿÅåe�€Ùÿu«p£¼¸äþ¯._¢@Iù G�bùD)ÿCÜ(°�÷O�3��÷Ÿ²ü�@zv´6=¾6=¶NÛÅ�¶Ü�Vúz×z{S]g�²=Ý7_~ž ÿ9{"úç2ÐÙfîlñuh=ê:GÝ;BÊšùfYBÛVT¿o±‚ª®a_L+‹¨›xEˆåXÛËšîÓŸ\?{úªÑ˜œ3…l6óÄXÀëÆü�sÿ Œý€õ{Iz)�Äc‘»�æþw�6ü§�Ð6ƒ…FG-ýï]�¨>@0 ¨��Ê�70�w³ÝÀ˜šOÆñ€t”³@˜bù–�°ÙMÎa› š-ñ±É•aãús?;ûè1Û“Çí:·²É]¿Þ ™oV9kï‹”Տ”$I’$I’$iŠô¡’�yT%K �(ÈÒÚG6@5â9€G/³¶(GÚÔ§n}÷…K aõv.µ¦¾ˆ�°Å�;@ùÚ�¤ý—Öþ·�€äV‹«+�ÅÛ·�
+
7n¨û/\+—ÿ/Ñ-`d�h)üƒ��îŸ4�”6�l�6ûÜÊMÊÿišÿ)�™ÿC�æJî?53]Ú09ž™OeÆFÓ£# •á!ÐêÐàÊàÀJ?Qo€¾žµ³§Ó]§—Ÿÿ‰púåÍïgúÝO èTÖµ¿Y¤Û/u¨šeÆ}¾úû«ßŽ·Vamƒ³î ½,¡Wødz…½U5Ô¦z±Ó°úÓ®‡Cƒ³Õ5g²™æ°S´ºü¥d°” �Hûo$D<g,† Æ�¬`Çò?^Õ Àj⌰ �Ð÷ï9�`/ć�p!�0ÀxSì�âC�1 `
+
ha>‡�À�ˆØ €'�b�€wÔív:]Ö`Ø?16pºîù¡Ôùþ õªA3ÓÞ}°ÓÕTTÔ]hÑø›j๩~¤$I’$I’$I{Mtþv�“üOBY��#*òIÒL§Ó��pzÙ\›ú•f¥ñcYêV¯ b³²é\!W|½�°QÌ“‘Ae�@÷_̬ ´�Üae™¸
+
�y:(ý:�¸ÿüå+e� µ�êþãàþ+�€¹�àþAÄýS�`+À¶Ú©û'šžÈLM€ûeE�°<4b�°Ü×�°ÚÓ“Èôv§O¿’{éçÂÏ~té³f<Ô:Ûª±©›|𦰦‰xkmS@ö��@R·çüRÒ «ê
+
Ó>—lì¡vË¡–çTõSôÑT×Ùk“üÄ”mrÊ<3 øgg§Áý‹€•ÿÁ@V��øLÂ�»�Àez1�`åÿ;T�ž�0�ÈӁûè´÷�àk�q¨�ÄY ªC€›Õ�€bY ¶€¬\^HÎ'ã��Œ0„A –b�Ày>ž›5͹ΨÛ›¾50œyùÕ“ÇêÖ«£‹4¸ë€g:ªªßƒ´$I’$I’$©Z¥ETtÂOLUŸ î¿–ŒQÑ–_5ë*€|¢C÷óÃ-Áoÿ!Ê Ë7pÛ×ÒÒ
+
57“ü‹Û?]þ‡ Rø'Ç��Ü?€õÍõ5�Ò�p+³äþKóè`ÜL’?e�(” <ÿ'$nÿÍù¼[ù¸2ÿ‡H´Xþ÷ŸMNf&&Óã™Ññìèhfd$5b­2÷O�€äÀýƒÖûúÖºÎdN¼$¼úÜò?ü¯¹g™n׺ZÕ¼AP7DԍaE­·î>_ýýqmýŶ=—˜€?ÕB³ >ºêß fï‘–Á6]×ãǯüà߯vŸ_œ5ñ&ëÜÔ´Ýn¯8;3Å�@\þg'�Xøg") :ÿÃ?x]¸pËÿùVû¯vÿâüºÌÿ0ë_ŠÿÓëm��»u°c€Ý�€ì¸#�\ºtA �x€ €) êf�:Èîñ:ÍÖYøµÕj7OÍ$lޛӦüñÊ׿ñŠA7¢UzZ4ÖºwÆ5óºÆˆ¢†î“$I’$I’$íi•€Œ˜Œ©Ðýc@©+�çTúuNƒr¸³å§O¿ÑwVX¹™º~y“Îú¼qs™š›J�ظ;�ØÈe�l¦ �`þG �þaí¿�¸ €m���(·ÿî��döÿî�2›w�€ñ tÿ鑱´ÑZ7ƒ¶�€¶ÿ®õ–�`©ëì­W^ʾøœðÊóñOü^ºÞÑ®ñèe=™ùÓÊZ90@BÛ4ohò7’nལ¨º6Øtß¼®>(ßÇ)öÇŽuŒèd?W58ÿüO7Ã±žÞ¸Ùæ6Y6'Ï󦹇ݺcþ…“0jŽŠ“ñÿ‰dyô'›ÿSQþ�æ\Ðý¿¦õÏmŸùƒ¾Û�ö�ˆ/fýÙ �2€�î|€PB@‰Wƒ±‰@àþ�`HÜ€ÑÖÉáóº<œÃÍٝn‡.» øo~rnyx<ûʉÙßúH›ÁÚ®u’ ᵋYX¾_�I’$I’$iïK<~>¦ªa�­ZOSU)?àoÚíÐY[Ô'šÕ³ó¹Uû¬_йü&ôN|~Ù飽¢¿Ú(Ò8Èôaqû¯Ëmf³˜ÿ÷Oö­­•ÚoݺÚ¤K�6¯_#[À(�Ðù?Yôó?¹8™ÿ“+¹ÿ XP'Êû}àþs¢,ÇeÜnñ�ÐêP0€@vl";:žÙ�kÃKý½K½=D=ç×ûzÒý½«çÎÞ<ñ²pþ¬pîäí/qê±ÃƒÊ]c¸YÆÖ{‰fù—¶­í‘‘P²ûãj²âÉ£©7µ(úÚÔýïyúú¾w{`0>6î›™uX¬v«Ín·;62&žs1÷/ý‰™Öû› ó'AûA�¨žþ —xø+ÿÃu7#€²åö_ñ!�zlñcøŸ¹ÞH�—ÿÙÅ�à5S@xݾ}“¥€ª1� �’ ó‰
+
ÀN�`�b/È$P`�·Óår9íÅž¶\›Ú‹|éKýÇÒ˹v5™ {`±E^ýTI’$I’$I’öšD�@vDÕûCš2ø_¯àUq,дŸWÕú;´ÍÚÓ?x³ë”põ¢°æ$µ–-¤7…ln#—Ã)@[Ç�›dü?€í¦g�læs �°ü�ÀÚÉàÛÄý3�ظF×�ß�r¥ôÿ]ÀÖüŸ*��÷Ÿ&�@Ã?%�H ÷¿nºÞ}.=j̍®ö“ªÿêù®õî®t×ÙÔ©—¸E?üNè{´]=««4Ëš"»¿§�Ü?<ñV™]ß8¬—õ;8÷©§{º.GBÓî9�€Ã†îß.�4�PŠýì�âðOõôO�Õí¿‡�h˜ß®� f��v°[
+
ˆ1ÀÒÒ-€p"ø€Íº°8bÀ:@ì�…~Îés;87éõv9œœÍÁ›ìÉɹì¬%sú´ùÿT³ÊrØàïÐ8�I’$I’$ém 1�D45Íþ ¶†×Ö{”µ½<¦nàeûƒ-
+
s«º·½yô£¿+„üBfM(æ–ÖV�ò ú”}>©÷3í�4T�돢ÛËåÿÔZquyƒª¸²Ä�€î�¾FtíêÆ�ÐñÿÛÂ?1¢2�䂤ý—�F€ÐýƒH
+
H<�”Œ�²dMÄýgÊå�€ÔØh†Šôþ–�€l�¸Öu¶05–ŸYíé^ï=Ÿ9ßµvæTöì)¡ë¤ðÒO¯üÕgÆj7*k=­ÊH‹Ü'¿Ü[j÷÷øœô„®Á¯ØlW™Ú”]-Б߸õø¿þsÑ4›ç§gÝ&³ÓjqÙ¬n;�ÓQþaãÿ±ü_�$~RNÿ‹Ëÿpaù¿zü¿8Ä�€¹ÿ
+
�ȉ†ÿˆÝÿÞ€jÀ/ "Ä@|€ °�T¬`‡�)TŸ°n`ñR0vœÀë"ï7çpz­ŽÐœualB0›®|÷_{Ÿy´§Eé>ÒìoUYë޹ǟoI’$I’$IRd{LjHSC¶ÿjëÝòšD³*¬¨ ¨jýÚ^MùGŽÇþå[Â⢰¶šÍ¤VÓ™]ô»ÁÿT�a€í¦§�Hù?“A��÷OTvÿ…e’ÿ��÷�°yýÚ&�l�(ÿ/Íþ/@.-§ÿƒ�YÞ‡å1�dÜ´ `Û�PKÆlf�@Â?3Ó™©)�pÿ©’ÿI ãþ¯þÕ¡¾ìØðRO×­s'7‡6úÖOÜ8sBè>‘ý—ÿmûÀ3½êº9Um�@WRíÃ{ҐõjÕïÂÞQTÓàlÚçl•OÔžä÷ùÏÂ×xcf&<9ã™›ãÌàþÍn»…sX½B°ˆb�@÷X�[î¿ �»å�*Ü?€»éØÑýogô¹Þ0�7‹1€@Å!€˜ð�­µûgA q
+
ˆ0€è b(�.Æ~�À;íòp<çôS ‹ß(ø&¦à±ÈöºþòÓ/#mªÐñΙºw5Ò&`I’$I’$i¯« �øSìimPK�À¯¬‹7ËCŠýÁæ&û!݋ڦ¾þnqjF¸vMH­ƒEÉI@¾ dÓ¹b6Ç� ¸ �˜Ý¡Ú�´öŸ%ƒÿË¾Šî€´ÿÞºY¼uÝ?+ÿo\ºÀ¶ÿ2÷OÓÿ�Àý3�Àå_àþ �”kÿD.wÆéÚžþ7‰Òÿ©é)€u2÷³bû/qÿ«ƒç¯Ÿ~eéÜ a¸¿ØÓ•9ùªÐ}Fxñ‡ ú±á͸º!Цëò} C=uÿ[�U5¢ªß‘·PäϦ—ÛUucš†žN½ñ#ï¿øãï§M³Þ¡aßÜœËbqYMœÝìqX¼N›×åæ\%÷/n�`««Ëÿà9±ü/Îÿ\¡×Žåœs³[ù]ñÝ?3Ø"ëýŸºÞ`�¨f€ªÏ*�@Ü
+
\ �Û¶G€`+0�2@éÀë<® Ûás‘ Ãév:ݼÃÍ ®LŽÞüùºŸ}ôŒ¾Éõp‡COö†T?X’$I’$I’¤½#0|A*œ„ŸdŸ‰iCÊš`»b²CýÊÑç׿!\¹*,¯’Ôÿéý÷ŸÏÉà °ú…M¡€¦_ �›%»S �àþ �¤3 �ˆû_[eî`[øG�lûo©ö_JÿG³‘€l€Çñÿ�@ÒÿNWÚá¬�€´ÉÄÒÿàþ�Àý¯“òÿp�Híu¸g}¸w©÷ôòùSÙþ®\Ϲԩ—ó§_ºN¥¾úEû»TÕºZ•‰-¹ò}ÉæÚYA�€ôZ”Ýÿž�xZ5®VõyEm÷ñN÷>{«çÜ «Å24 îßn³¸mf��¿Ã
+
VÐãæ<n¯—##ã+ò?lú'�,ÿ#�T—ÿqú§�Xá/�¬üÏÜ?�´Í;ºÿ½ �Œ�  �Tć�ËË·Y
+
+
¼c
+
ˆèââE3�€ Wƒ÷ï”�€³ùÝvÎí´»9«Ëãóñ£ñÒÄxÁ8þâ_ö>|ÐØªâ:õ~ÝÞz¦%I’$I’$I� ‹~途¦‚R$¨jê|íʾ6ÅÀG>ps`@H焵´É©íÏe76ÀöÓ½^¿0�l¦Ò¥ðÿƒ�PþÀ¥Âå­ò?uÿ� Óò?€œ��YàñëÚ�)êþ+��Üzr’�À˜qmtxu„¸�+Ý��ÙážÂP÷úé—ógNçNú}ýàx§rZW÷¯n Ë÷'t !Õ¾
+
�ˆ)A2ø¸§¦&5>ƒÒÙÙÚ¥SLäKÏÿôÖˆ149阙µÙÈä·Ãìs˜Ê�àõp¼ÏC;EË�À61�ØVþŸOˆ§Vlÿ­Èÿ0÷�p7åÿ<]ûÅ.ôÕè±·»ï_üzÃ�@Øå@ �»ˆ`eîÎmÄ�ñi�;¨�€ËTˆçñ]·ß0|Ï0D†ñ�ðú¯Çïqø80ÿvç²x8«Óå0™bÓ3鹩µ~6ù‘žP7˜Ú5£ÝƒnØùÎÚá%Z$I’$I’N�¶� ¬ª#é ™õ ê•ÍÄ_ü©
+
Ù‚Î ù"ªBa£�ōB&î~W� v§�Hú'�¨Nÿ#�Ðù?Å�@ö1÷_�pÿ�9žÇå_%í�)+)ÿ3�À ��tØ8Mÿ#�¬Kéÿ5¢žåÞs9cÿ¼6ï��€�IDATon {íÔKBÿy¡ûÌò׿<q¬mB}ÀÛ¦Š¶ª\~-¢¨½Ü¡æêÿ_þ!АüO=�¢7�XüEÉ §R#2[þ€Œþ¶Z¿®Ñ¬¨·9xîp»ç¯þB0Ï\œžšp;]6ø;g·øìV¿Ãæw¹�x|^šÿa �b�Ø!ÿS�wÎÿ0÷¿cþG\þ¯�fª÷(�ìèþÅ�Àv�Æ�ˆ”JÛÁ–hp
+
nåuzÁÅ ¼×À�d(Xÿ…$h~>‘LÆãñh,‰FÑH(†B`ü@ÀŒxa`�/\>çu:½;gƒ7|fjš7Yc£ÙÑÑùo~ãÅÍÜCíVƒÊ¯—‡ ò˜ì“ É„”õqƒŸ°ˆ† #ãÆÈ®AYH-—@’$I’$IºçªÅl:q‡$ŽBL!Öïæ M>EMèHËùfÅ O>|ýì !•Êß^%õþ
+
7…~¿òeéuYtùØÿÍ¢�Ègˆ²i!“Âí¿k+Årû/¦ÿÙüŸâuRþ �%�€Û7J) Ö�î?Cöò@ÁÏç}þ¼× * �u;qú'�€XM) Ùÿ•š›YŸžZ'០Pzr<56š5Ž€ÖFŒ«cÃ+£„ևזÎ÷ÆÇ€®¾ú")ÿ÷wgÿåŸ\E 6šª”m7ÞçŠ;Oo8û§o–ð„�/Jw<'•5 ²ç¡>ãU5ÄÚ´e#×PCHÀÐÀp­®ƒº—8>õ‰µ®sFÇø¹9¯ƒL';¿ì6ŸÍÍÛ¸€Ýpr~Î †Ðçwûy®$¿L#Hp’¨X,æ2™L²á?Ó?qþZÿŠÆ_ôýx1÷_}PÁ�;ºÿ·�ì˜B¨��±ûG�ÀÛwƒ^Õ�€#A�PÀ���‰¼SÆ� �ø �òú‚^¯ßãã��\›“³:Ý«Ùâsz<£S×F'ÒÝÝ–?úØIÂÜÙìjV85uÝÅV5#v nPÃ_+A-�À~�È%�$I’$I’Þ
+
Õ†´ûá‡rLU#f´äþA Í20²ÖNýÙÃ-}ŸøXjvRHe7SÙJ÷ÿZ�º H´A›€·�ÿ¿¼�®]!îw�À��èþs<Ï��Ý?�ÿ¹�ÈŒæ‡Çò�£Æ� ¦—»Ï¯õ¬ö÷¥ÎŸz»„—~~é|zª³Í£ÛC«�Àû›TÖ.(j€"�<ª^§i­"¢—û´uíý–æÚa½lðчbßøúÍá¡ÐÄ´Ól¶YÍ6›…Lþ±Ù|Voõì¾€ÓK†Cz�|ÀCÄûÄ�@-e,‘Hˆ€­þ×þѬ²è?^`e™û¯(ÿï�‷1�0�c�ñ!��¼Mb÷‹f€*ðŽ“3�ñ^°Åù;ø@Èïø<ðèž`§›³¹Ü6‡Ãævºün7eŠŽŒ VëҏtâøƒCíZk»Ú¡®çûzYR' )ë£:%�ò7K 6Lgâªd¸i¼úÁ•$I’$I’$½™*Ÿ�¨K�€Ñ0Žñf¹·MelUu=u<öïß’qa-µ=ÓsWW�Ì®Îg6si��²€”ÿ·�`cé6¸2ÿ§ª�€R�Ý�P¤K�ÀýgcQ2ˆ@6À“üO�&à2�¬Û­¥€2�¬ÏNS÷?•™š�¥&ÆØ @
+
�€ô�”Êÿ遁•¾ÞÛçέôœ†{…³'V¾öeû¯?;ØTëÛc�€¢å" †Ly
+
èš8E¸ÿd‹6¬“y´µv݁ٶ¦“šzîÏ>¾zúäÕѱÀô ˜~³iÖfãì¯Õæ·ºy›7èð]>Ÿ×åõm@ HÊÿ`�°  ¶€•ÿYò«Ò,÷ÏÒÿìbÑÿj�@Œ�°cèí �È�âPˆ˜û¯��¸›;TN½°€A �€]�¸�óò/9÷!³€l>·ËËyœvXÐ;>yeb27:ÂýõçN´j&;´îCZ—¦ÎYLÝp¡ERÒQméoQ@åS+I’$I’$IzS֐þD®e‰ ¥�øµ2ûAý™¥ñw³81*¬­
+
Ë©ò?¯uUž�°À�¸ŒÀÊÒæò–ÿ�¯_E�(P÷�Ä�€ùŸ�„#8ÿ�ÜÎëC�(�r9��ÀýƒJ+À¬¦u3)ÿ§hô}jÜ?ÉÿP� û¿†A©á!æþSýý©¡Á¥®³�€®â¾Ãÿþ‡Ç;ZfT2¸oÕ÷ù­æÔýGè”'�€X³Ü#«‰ieQÜ«jð¶ÈìmMc‡Uç;tñ_¿™5ÆGŒ‹ÅërZçfÝàþmŸÍNó?>��Þí#å`Ÿ‹¹ÿ`ÈvL#¸Ç²ûŠËÿÑÿ×�âüØýW”ÿ UóÞ~�À^°C€
+
À/ž1@Å �c€›ôª8 é �$1c��€-ðó¯Å{8bý]NŸÓ ¿´˜€“Í=0|{Ö´|êÔÀÿ÷lW‹b¦CãëÔYëÞ”Õ\iÓó5!5™
+
O¯# €‡�Ø’"I’$I’$Iº—"�@ÁÎT*xÔ4ZUºSÇÙþö B<,€ÍZNmn ö¿Û �Óÿàþ7ŠÄýoä²àþ�P÷¿"žÿ“¿yT¸A�¿zÜ?�z©xñbq±”ÿÉ%%� µ�ŠóÀýgý¥ý_èþsn:þŸ6�”¬¿Í Âòz–�ÀúÔ8Ü?h}|tmldmt852˜2¤†ú3ƒý遾TïÚ@ïjOº÷¬Ðß%œxîê_ÿÅÔ#G&4ò`‡a¯íA¢á.r¼COxJîŸ�€AÆËö'u2^QçTÔríê©Ö¦®ÃjÇÿü“Û]'.OÝÆAÞnó8Ö™âþí¿ÍÊÛ\¤€�-ÿƒû…ý 4�ÔýǪÝõøl�ÀÐ-Ú€�`ÔEìþÑúW”ÿ18óË��øZ|PÍ�x‚‡�Iâs�¸�à”%€Š�–Âf�xçØ!�(n`?™òSð»\œÍôù­V;Çy½N{ræ‚Évkx$þµ¯œ9ÚvZÓÀëðèÉC¶¨UDšj1_ˆžІàšêGV’$I’$I’ô¦Š�ù¹¡NëÄ��~­lV+ëëhîÿ­ß¸zò%áúU!“.¤ó¹ìëž§^�ÅqÿÅ,)ÿodË €·@áÖM1�®‘ÚQ�ÌýomÛ>�4ÃûÁýƒØü\þbÛÉü��«)cžKÍ‘á?¤`j|mrl �ƍk£ƒëàþb÷ºuîd¡ïœÐu"ýí¯~û7&ZÔ€L‰=f¨öˆ(Ôaí¿¾lÀhCSVÊ÷]hVúåµNà½]osS×ÓGo¼üã›SÆÀؐc|Äc·;,fûÜœË4ë£ó��x‡'èäœßà'Ñp�€p„DIí„ùêþIû¯Øýß�˜ïgî<-sÿ �Äÿ_*�` €�À@ �ì ¢�.LU��\8”¹Œ�%ÉŠfÂ�âC�Ò  ¢A>àƒžçý<™ ê÷yüœ›w»áùp:l.—Ëiwy­ŽˆÙ¹8<Vìéšýo¿÷J»v¢SïëÐU 1yí¼²a€êȺÁr3@åS+I’$I’$IzS…�€ž•ö‰îÇ)1½lªM{úÈAëÿú¼ð
+
K7Ó+·ÁÈg²¯ÿ tÑ€b��Ü?Ü?@9ÿC��€’üύùë×7Hùÿ:†Êí¿ .T�éý giù��ÐÀ[ÿ·:€­&Pš
+
 5;¹>3Á�€äÆIùud�� =<”ÄðÏê`ïj÷ʹBïá'?H|òcsv˜uŠ€^Ö4Ußä·P� xï2¯•QÑ EŠšˆìþEƒÌ§®w´©Á­¨ÝûùϬŽôÍÏŒ¹&ŒœÅä´Z,³3¼Ãé6Ï�x6xíwq¼ÛG:BË� ù��¢1ñðŸ”YùÝ?XÖÌ"@âÚ?ú~æþïPþgñêòÿ/�T0�Àk2�æ¨*R@b�`MÀb�¨ìކ± ’ù®d"Pä÷“nàD8`ò8mÎ577ç°X½sŽÄĬ`šK|ëϾëÉWurK«.hP�\Ö6‘Òi9*@aô°z<–$I’$I’$é¨<lbMRõ@Bµ^; òÑ#í/<rÔÿýÒ+…eð×ÁCes…Js·W �
+
yRþ/dHù_4�tµ°²mþÏ]@>/&�€û¯�²L”þß �pþ�¸qÿÛ 54�°>8°6п2гÞ®ÐsZè9•ûæÿ¶<y|¨¡Æ£“Ï·jøÆ}Õwø-íí&D‡¤ç×ÊýZYPCº’ªºpÓ}q]ƒ[[o9ÒÚ÷P[ßûžÎœ}éòØ gÜh›÷sn›É � ý›Ça³G²ßî-�ðû½ p…‘h€�6�ˆ€EÿñºRÞû{M´ù‹…þÙ%vÿ»�ºbqú_ì¢7ö2�ìv1ë�\¬üÏN�Ø}Ù�voÞ¶˜‘�¶ ïgïb$DÂþHÈ
+
ó7$ÍÀä­÷ðœÓï¶{Ý·Ëêt‘±^³=<m¹h&'í_øÜÏZõÓ‡ZýZOݯ]64á ZAE� ÜŸ^ýÔîY…á{FURÖ‚àE„,Jl�Á뀼> ¯cÚFüLõ¿.I’$I’$íE5M ½,¤x ¢|`^³?(¿Ï­ÜojU¿Ô¬4~ü„°_H-¯/Ý(
+
k©õÙôõ ]å�ìr9âþ�¬¬——ÁýÑÞßrúÿzáÚ5qûo~q��Âô>ÉEÃhý3¡@:îß—ñ{ <i�È{¹œÇã\8þÜÆn‘è?þC�¦A��é™ÉÌôxzj,=1
+
��­‡Ò£ÆåÞžìˆqmpàÊ™ëƒ=ÅÁî‰ç„çÿÃöÞgÆõj¾ÕàSÔ/´(½õ慨Ão©jIÊZSv˯Û€¨ªþJ‹ÒW÷¯ê€ÿÁæÊÚ“¹ôoÿ¸2ÐpMN8L&§Õæ²ÙÝV«×
+
îßÊ9¬n—s;=nÎOÀï%>Ìþ§ Š�Œ�aù/¬ý³Â¿8úÏN�Ø!�ž�¬Ð�v,ÿï�o ïg×[ �È�¬ü¿�Àµ#�À�€ P�Ø €åìáÀ¡H˜( à �ÈÑ�gv»çœ.‹�Ñb˜¬aãÄÚœùòsÏ ÿö‡ÏµêÌmšp³Ìßð_Øñ"Â( ¢Ýaað2�sÿ`÷Ññã?E`¿”$I’$I’ö®”uqM#ØÄ°òˆúþ€f¿ËÐ8Ñ©îH»çŸ¾&\YÖn¥3«��+kË¿�&ê�&î_�dp�H0ü#�âþï�²>K€¸ÿ]� ÔûK`Ý< î? 03™šž`�€ît»¯§89±ÒßÊŽŽVàîÜ™—„S/\þËO›µV­*lÐdõÚÔ1mÕí}‹E‚Ö!M ¯%�àÓ‘!E!5Y?W×Å žæ¦©6ÕÉNƒñ~çêË?¿4<À¹fç\ ¸Îæ ³ÿmv�n»›³sœËëqóoÀÃ}þ�ïãy_(ì÷‹o ÿÁ`ð“ �Øøtÿ �Ðýߤ�°y­?öµ2÷g�@«üK�Å*Ø­€‘��c�¼› �0�¨h�bÝÀ¥#`(Òv`ž,}ö{¼§ßã��à8“‹# @ž³•Ÿž]œžËÍÌÄþåŸO;Ò×,mád�ö� Í($‹÷TÇÌ]Jìþãº&TB/ƒb¨þ%I’$I’¤½£°‚Ds†ú fŸOñN_K½¥CÝsÈpæ7=3>(¬ÞέÞÜòô`µXÌWú•׺J ñ�Ð\n3›�E�Àù? �òèþE�@Ã?àþ7æÙ`1�ä‚|6@Â?�<D�ÐýgvºÿL©ýw¦äþç¦RÓã 
+
� µÿ¾Þ©ÉՁ~x‘7æ‡{‹½g„Ó/ßÿ¶ùéÇÆÁfâþùÆ0�Aõ^;ù'ÓV‚ÚZ¿®ÞGN�ˆïÂÙëþ¦}óGšÍ­ò³º¦¾¾;ð­o\ýS3œÉ ^Îc�°y­�¼X·ÇÅyÝ>Ÿ¬Èχyp„tð„÷O„™õ/çhýñªÿˆËÿâªEøÝª �b÷¿cþ§HàÍpÿÂ=�€ª`È�â€jÀÛ$f�� pýúÕS@ð‚5c70‰�÷´K±@ D×Pî#m�¼Çå÷Ø<3�kµlïèøm“yåüùÉ?þƒSõ3UÁƒÊ gþ”��õö€êò?|ÏÃǤA>߬�€Ïc@¨úß•$I’$I’öްI4¬Ü3Ôóê}nåîvåX‡æ¥CÍîÿý%a1.d–Ó©åMa#SÌæ‹™âFV »�^ÇUŠ`Óò?�¸"pÿ"�(,•€²ò?@þêUtÿåôÿb~~aƒ–ÿ_�r>êþËå
+
�¥ÑŸ¸ü �Ü?�pÿ©ÉRþg}Ì�I‘ñÿéó™îSB÷ áÔóá?ú‘•ÿ !ѪåÜQÖTµÙ¾=j )ëZ^W�I^`ôšSìÖ÷k^îÐXÿê3×ÏŸº85ᛘôÍš½fbý�ÀΉ�Ü¿ÇÇ!�„}<˜A0„¡°? ˆ€5”‚™dîŸõþŠÝ?�6�”“ÿ•½¿îŸ�sÿ �°êÏ^¼€}%w`�Ö,Žá]CX­À[Œ ��À@<T¼  J·Ä"ñD$: %ƒ¤˜N
+
úÉZ�ïuz½67gq¹IJ —Åâ™™‰MNÜ5.þðûƒÿõ}'õö#ZÎ@‡ÿ”掽-ÝEúkÿ� -JøŸ„ßTz�$I’$IÒ^�À¼®1¤x ª¯ójjºzs‡úl›úŧާ=ÂÊÍ͵¥|ž˜þt6%à³2¯�°ûwÛ€lv#“Á Ø�°IÊÿdÿé�Þ–þ¿V¸r•ÔþË��îTíÿ�ÈGC¹H0ˆ€¸
+
�9ΕwÙsN¸Ò�@Üÿ,(e!î?…îvÜÿúÔ@j|x}l(=:”,LŒß>ß î?7Ô·væ„ÐN8óRêk_<¨–Õ$5Ç´²@ã¾ -*^y ¢oÚ³��*Í_!ý�õ\‹lR߸Ц®çýOÏÿèßoMŽñccî™9·Éê¶�àìÕ쵘Ë�À¹=œÇãñy¼!¯7ìó Èøì�Æ�ZþŸGëÀ8ùÝ?+ÿ£5ç*€¹qù0�+ÿ3ç¼ñ¦¹á^ÀÆvØ!�»Ä À� ‚ª â�'á›ï"ž�Äb±x4–ŒçC|,è }r…x_(àáÉN�ÃÃÙ97Ù2MO…=nÿôd’Òsà¾tê¡¶]µUæÑ“ ÀÛËýGDå–ÿz˜~ø8߬��ÀC�ì�–�@’$I’$íeEÕµ ú¦ üþî€[[ëlW޶«Oj™üóO‰°°¶”¥¹¸2™_�ˆûoVnÿ��÷��îs•”ÿ�°ù?åôÿÕüå+ �HÀüB.IÊÿ¬ °;�ä½\žÀ–û·[˜ûg�@Üÿì$¸ÿutÿe� û¿FÓÆáÛ½]yãÐúùÓ¹Ó¯
+
#ýßû¶å}ÏL´kf夹6¤ØŸÔ6,4˸¦­Ê=�Â�dä:Z¸pb\§¦[µÿìñî‹ÿãæùÓ—¦'mƧÙî°XV‹Ëfy¬&ŸÕâ·;ÈÞ'®äþ^Ÿ�p�é�(�ØHøI6ü‡•ÿ™ûg�€)•×€kÿårÔTžüSù ¾A×›�¥3�àÅ� â@Ì�âC�¼•È�âC€7®U�æà c‚÷Ä#‘D>&¢DØ {Ã!0 ð‘ ¼ô„‚_€ãüœÓë²ûœn¯Ãe7Ͻ.i64>–š›¹õÊs³ø‘S-²™v¹³™´¡ÐôiôØÛh0kðÅäÆ~À÷3-¶ª@ðIø§Õÿº$I’$I’´wDÒÿšz�€€¾Î¡«wÒ÷¶ªÎ<y|ý•„«…õÕB&ÍçŠy²À«¸‘ÝØÌýÂ�€+À�`ùŸ@ñ6ÿë&¸ÿj�È_¢å�’‰B<ž‹†w�OÆ¿UþϺ;Àº™º� -� áŸ!�«C}kC}9cÿúÙW…óg…WŸ}òzZU®›½†&¿b_D±/®%Íý
+
Ê{ �"å}ϸɯ«õék]Íõ–NåC½íãY~á‡7‡û£ãö‰»Õe·:v«Óaq:ÌœÝìwØ‚.7Ø<ŸÇï%3?}4ÿã‹âLørûo<A“âtøMþ, –—Ü?¶ÿ¢û¯.ÿÃ%¶þèþYþý-€¸öîŸ@)lV¾*Ä7躧� f€j�@ǁÄ�°"Z \ � j�@±8
+
”„·4NDâ±P<ÂÇÂ~€` ò…ƒÞ
+
�àö¹]��§‹÷{mÖ9ÇìtpfúÊìôÊ`ðkö‰cÇ ¦6%§——�`Û÷ À�éLKüøî…o*Öï3Â²U¹Ð®^ìÐÀÇù6U²E /.ÔÂgâÍò°¶¡â]ýuÝY¯÷÷K’$I’$IbÝùG')À)ö…„õõN}“íhëÉ6Í©þºô
+
—/Ù´°QS±Q(
+
´ xCxÝS€ˆû/”V€1�ÒâþË�@ËÿÛ� Üþ �@‡ÿ”�Ü?.ÿº3�`ù¿�Êéÿ:ÿgšŒÿ/��X£åÿõ Rþ§�0 J‡3ÆÁÌ@w¡û”Ðwfùë׬}¬UaÕ7›¢Ú1M ���’ªºÉo­Ð‡� ÛW�<úzk«ÌØ¡>yؐøúßmŽ ^öOŒsf›Ýî´Ûí‡Íá´¸œÎaõ»A'ÌÀúûý~Ü?ïò$ Žð¡O¢ÿ‰0›“LÆçq¢ �º¶ô·¢üÏ�@Üþ+Žþï�h†�ÐW�@åSøÆ]÷�6«úà9c�¸Ðú³[&áme@/¸ï7°f�ñb`Ö@ZQr@Ɓò pì?WÀO„ßçñzÜÎŹn·Ûd³Ú—Ås¹‚·-æÍééÑO}òìѣÍUÓÐ5?EôʈVQÉ¢T1e#‘ª>¡$Iôp€, ƒ§Á:ªHxóƒCªQz4A$ªú—þÌZYX'‹êäQƒkSƒ¢mÚX‡†)Þ®ñ(kx™yJþ ðŸRˆ+ÄJžž�O„n`©P™…è­ ’@’$I’$ݍÄ?%ÑùÁÏP&ºy“ì…-ÿX©½Ø&³ïÿÂÚ‘‡Z»4õ§ž:6ÿÓï —âBv](d…bNØÌoÒ)@9A(€?©4,¯qáðŸRûo®´ÿ‹å„Õ•Íå¥ÍÛ·7n•æÿlÞ¼Ú¸q­x´ÿæ¯\È_Z$Zœ'šOææc…d,Ÿˆ’ô,’£û¿ò¡�  �ˆûß�ÒŒ �Y‹ ”2›×ͳkssk3Sdÿ×ôhuʸ29¼21DÀ˜6SÃÙaãZïùna°+÷½²}ø=CmJk‡ltPKFìQ£ro*•ÕERüßÝMYM¬MéQíã”÷ÅZB-\‹l üY]èo>Ÿî9q` 6>±Ùœ–¹Ù™)»ÝêtÚ].úév‚¯óy9âñ¼dò @º@A¡ ±‚4"Ž£?Á.‚iL²Õ¿,ýÏÜ?¶ÿîþÙ �˜û¯€RwìöÀ•Ïß}Ýk�` À §àí�ì(€5T��°s�Ö À:’t70[ñ�oy(  @FÀÒmäá M✠€óónŸß4=ã·Y}3³¾aã­™¹['N÷¾ïƒ;MÍšP«Ú§¨ñ+j��‚*YD%�¸ÿ¤€ì¯&[ô{�":*=±þ±fe¼EmUõwèA±ƒúx§!Þ©%éACc@×¢GQ²¯¾¨¤ª~ Û�€6Eì�� �$I’$IÒ]‹ý”DÿG¦nП¡»@\_Ë5ý—pK£ó úD‹¢ÿcº6xNX¾.ä©û'�Ûò
+
�¹×�èþ+�@H­ k�V–+��¬Éý_»R¸z wq¡� q��âþE� ™ûÏòdüÎç­�€ŒÝ†Ó?³ ˆ�€É�°2;µ>=µ6=Î�`™��”M GÇ2½ÝB·pâ¹…¿üÔȱ–1}ï Š×‘ ›�e¾ºG�€eÄ»€°Næ×Ôùõ5>Ý>^½Ï««³6ËFµv¿û™Ø·¿}sÈ1ŽðS3¼Õ겚,æ;É�Ù�z®LÇCF–v~ѹŸ(��ºó‹\�Ìý3�`éñò/lFE�@_Š�€~�­ìŽ�Páþ� [®|üÞèëÞ@°¯VŒp!�ˆo€ø€�½n!� Xhdž`vÀö‚1Ðú?�žÊ�œÝáâ!óÌ,ï´'¼^çðPbtdÓdæÿözÊØ¬öÔûõM^ùþZR4FT8˜¶\ö¦'�ì@ü(ߣHÌn� •éåàþÁúÇÛ5‰-(ÙÙ JjNnÍi?Ò Jtêà·�€d”uðuûG�` p�`‡�÷âK–$I’$Iom€*ë*9HòÛ|òûúþ6Ő®áÄC­ÜWÿVpBzU(€ûÛŸ''�›ðj³ �Ð/�Äý—`3½N�¯®V�ÿsÝþ*)ÿg/-€ûÏ^ î?·�($c…xÉýƒpÿ×öö_oÖëÁ ��8��#@$d6¯™·Àú�pÿä€�Í f‡R}=¤üþÔòÿù‡éw=Ö§©·šøV½±dÇÞáÊ÷âÍPõ ÀÏ@¼Eá–ï‹´7zµû\Šû}íÊéfUÏ‘öÀ¿pù•—®ŒóccÞé9ŸÕæ´Zvk�€�€Ùcî ÝE�àå�ñðtÿ��•¬Å�€†ànÊÿ¿ �€×Ž €—઀TU3Àv �póæu�×®]A�` p�ÀÑ@x€ À(p&“%ŽÚÍ�ÊdçͳüØÈÅ¡Á\W·í?ת›jQ7 2¿¼6¦n">¸ÌÍH·eíÐ"|7ýV;@D×Ö41�ˆµ©‰õ?¨›ïÔ#�”­ëƒm ¶,m½øP0@þ²P‘Á È�”Ýï�Ø_å’$I’$IÒkªüÃe�lsÿÛ€“½#tPnm•¿ª8ÐõgoŸ}UXºN*ôÅ¢°±)l�6„Mò«×mÿ � û'éVþß�Ìý]»‚î?wåRîòbæâ<¸ÿÌb’¸ÒûKò?�dü4 î?M݆ºÿ´Ïî?ã©Ü�€�¢î´n)�‰�•�`|ubdyˆ�1æ‡óƒ+g^»7~ò}Ïïd¨U3׬ä[U^Ձ· �„unÅý±…Kõ�§kðmhU÷=óÄíç~rm¨/19ÉMNyæÈèO2ÿÇaÛ퀕ÿÁûÊåÿÃ?èÚ/qù_Üû[‘ÿÁVU±ûG�»ÿÝÊÿîÿ—�„*`_jqûi�K±  ‚XC0�ÀíÛð\g À� ú€ªO�va�2*
+
x˜ÌÓËg7­¦q(?=uõ{ß}ß{Îheæm°CPÕÆÉêlV¢Øz¾lÖñ/²Ê§ü –²në{Œºý§�Ö1�ÐÆÛuɃPt¨tx°5y´mþ¡vÐ¥‡;Ž4G[U`îÊú²>¬ ª€já?-«êO(I’$I’$í m� vÿ1S©¿Í¯ÚèÔ MÏ·(f>÷ߏCÈ¥ÓËËXþMÒË�@@@¥KyÍ«Tû§Ë¿0ýOÜÿÖü²ÿ `£4þŸ¸ÿ•˹K³—��˜ûG�Ø
+
ÿP� îŸ÷Ÿö{�Àýƒˆû/�uÿÖRíŸjÝ2·fž]3Í �€û_›#�06¼:Fz3ÆáÂàP¡·OèN>?ÿ—Ÿ{èМAlQÔ AÅ~´þåxÕVN¡êíx%†¿'¬­ó¨ö›Üú®]=Öª>w¸ÿâçVzæÇG}SSÎY³ÛêtZ6‹Ýiw€ûw:íhýQ˜þ›G¦þSëé°‚tï/qÿpUGÿïþaåô¥,ýÏÊÿbë_QþßÍú£[®|þÞèëÞ€°=´£û¯��¼YérK�2€ø€^¥6�Æ�l$(2À#@ì ‚ðˆ<+^Þíty.ŸÛeµÍ™-Ó^§5f1_6#Éøò™£ÝšzçAu¤ERnµÑˆÍ=>¾¢Ó�ú™·�¨ûÇ�€D‡Ü?¦ÿ�âG¶À±¶Å£­ó‡ ±6uHÛ„ �’�@’$I’$½9¢?YJ~´�Ìý'”D �àgMÀÐèêPu57}ÏcóÏÿ‡pý’Í./¯–²>b�(ÒÐëº6·� 4ûÛéþ/1�nÜ`�@tårþò%�€ì’ü!J&èüŸ� û' ��°��êþÓN,ÿWÀºy657î?E�`�`e�Àˆ�.ô÷ =ÝÂHß­oüÝÔ3éÕþf]HÑè«¿?©o¤îÿm��ñæ&Ÿ¦†ÓðwjÍúW•£ú`ñü™«cƒüä˜}f
+
|¿Ûƹ¬n»Õ�àtnþAàè0üƒå´þ(ú‰îËÿ,÷¿[ô­EùÝ)sÿ �Äÿ™ûÝÑýoþ’€ b€Ýž6TÀ��X
+
�Û�PÕç�Ø̆aC0¼ýð( ˆ@ðð��„}|4ðø\f‡Éb›ãíÖðÈØúätêäIÛŸ|üL‡n¬U<¨ö)÷ûª÷GÕð±h¾ÂDPu(è�|]�þ!¾Ÿ¤ÿ5ÌýÇ)�Ä;›A±C-ñíÉÛ“uÌ#Jm»p¼óÊ#‡/<ØÿVP#ãÉ_¸¥†±ª`; Tý %I’$I’¤*m7£[ÉŸ²û§ýu¥î2š>mQÌ´6:¨›ú̝f!³ž–+’ê?1 ›€â™ôzÇ�!�Ðò¿xûï6�ØJÿ“ñÿ¥ö_
+
�¬ý—�kÿE÷O €X”õҐÛÉæÿdm¶Œ•�@Ê2·}€�&�VF‡ÒÆáÜÐÀf_/üÿÓï9ûý#mZg³. l
+
5ÔÀmŒÓü�†È ¿'?¯Å˜!öú•ÕÒ²úư¾Þ®¬qiîÐu=rtñ[ßÌOŽF'Fœ³V‹Énw:ln��2û‡^XõG1÷åæþËå�Ñæþ�T¸�qù_ �åÿò°›m�Àªáîó—�˜õgîÏDî�Ê ° �Èj`
+
�ÕÛÁØB�Æ�ˆÈ�xÄ&1�ðz½@!¿Ïa·º=§×1g39­–¤Ý™4¦‡®ýà»ï}ª«Uæ<¤0�ˆ©JÂéï/jŽñÉ.×-Þ� Ó?)�$ZÕ °þèþKá
+
�èþã¶%޶'>˜<Ny°å⣇¯?uìê£Gà·ñ:¹_ÓÒÊ«
+
ü•Ž_�I’$I’ô ¨�¶»ÿ-�ÀSh^ÛèmS 77½|¬Ýõͯå_…˜1Q¿o �6È4Ï7 �6ÖJû¿¶·ÿ–�€è*e�Ñü�¹x9ÿ³�X0í�öd·@Úb@ÆLÖ�§g·�`ub|e|Œœ�Œ eŒƒÅ>¡·K8w2ñ™OnžkÑĶºkîËjou꽍¿îŸ×mKÿ—zùÞäC€×�ñ'AaeM¼]eÕ4L6œîЛ?õGÂôh¸ûŒzÜfš±ÙlN§Ûiq¹¬N·ÛÃqœ¸ëWý7þ¢péï<½�¼Þò¿�Äåÿ
+
�ç*Üÿ½,ÿ ÷�Ø%þú‘0üƒ7ˆ1�³þØÌ0€1ÀÊÊV°8ÄN�v�ñr�Œ‰G‚Šƒ@~¿þïá|^Žóº'é-7[noxtrñ|߯ðPðK}òhëøa­IGšTÂòýQÙþ¸â@DQKÖë¶«] ÷±¥z�ÄË*¿%ÞX•º~©5/ÕþõdÞ¼E“hÕbùkÿ‰ƒÍÉΖ$Xÿí‰#Äý'êˆë�ˆ?|pþÑÃt鱯<vôÒÇ¢m:²Þ¯¬ƒÿ,¯¨ ÀW¤WødÜõ$šUbӏ•”÷%Wþ %I’$I’¤j¡%­ÿ€õŸW×'•µQف¬&$¯ *êüÊNÝà9dx¾î#ý`Ö–r©õLa3S,�íû-l㿁¿¾›k“6.‹V(nähú?M—±€ÕUâþ)�€„[·6É�Ò°q­ìþ·Ÿ�ŠóI2ö}?U6ijþDÊ{Ü �rvÂ�Y‹)cž+oÿ­ÏL¬OcùÿöèÈ-ãðÊøÈÚpÿZÏ9a¤_è=—ûî?÷i™C¢W52¬EFÕ¤öï×—� RžM‚Ûvï=�”|¿²)+¬*Éßx_¬CcéP¿¬®ŸþÝÝüù®ôu_¶Îqs36«Ùjµ:lNÎæâìn—‹sºK¹þaéÿ
+
� í¿�Äé<`î_ �whÿEWÊ,+�d�qù_ �bë_ùü½™×[�Xûǯœ1�;¨Æ�v1�(3À¶ ØN�†âõÀ;àGwã9�9ðû¼^/¸ 9b²Ù¸9kpfn~trÙh\yåùÉ?ü­ô¶ã­œ® Ó¤¶é‚NÏqH~€WÕ’-ZZò…O92�£ÛêïŠ7PåÉ?MQêþqçW¬Y‰î¿�‡�€ûÇò?¸ÿ8uÿ‰ã�� Y¤ pùñ£—9;Ôæǯn ¨|ŠZ�øïà Ò! €$I’$IúO¨Âýƒ°ö¿@ &¯(jêøáÂkeNb¦M{æP³ëo?'ÜBz5—Ëä7��tû �J @ôÚ×� äþw�âþoÜ�÷_ �ùùäæ/�¤ü¿�ÒsSé2�¤¦ �€ûݼ=2´b\íï&s?û»–þ퟿û›:§Aé×’ìny49±þ��~²
+
€Üsô$àXÞZ�[ÿ š( ® ëú¦Ñvõù'ô|éóË½çæƒ¾ÉQ—iÜ¿ÝjsÙì��»“¦p˜{ �˜ûgù´þÌýSOH�€¹�æþ+ÚáBëÏÒÿløØ²2÷_�Ìÿ*€øÈCÌ�âD2@ˆ€2À�,-ÝbC��*º‘p=ðn‡�¬�à‰�ðøÈ@ "’#ó8ݤµÜ:3ç›5Ï›¬ ÃÛÓS—ÿï¿=ÿHçà±ÖYƒÌKkíq,©‘‡äu>9´‚ï.ºkã^@L+aíÜ9xôx‹ÄÜŒ�@©ü�0¤M\þ§îÿpü‘ÃÉÇœü(há±£?vùñc‹ðiš¼ª:^KºŠCÚ&Bô`·8PõŸP’$I’$IªÖöÉ?¤³.¡""� ¢Ebø=Ú¦€^Á”ö6í9­|ì#ï»uò9áÚ¢]Ïsà§ryÒ@ó?%÷_f�Ā׸�ó�›©4¦ÿ+�`£\þß¼~„�P¼r¹pùRáBÉýƒ6æ É„�p�¸ÿ¿�à
+
0Ìÿ”d1¥M³éÙ™ÌìLzÝÿhm’hit$31ž2äÀýö ¯>Ïúãg[UÖ5¸ÿòâmîüI¤ìÂ#ô€ÅÞ<í
+
�"w¢ ¿®1v¸yTY×}Ø0óÉß»üâWÍS±É ëˆÑi6Û,V'�+¸¯ÃÁ‰æ~V—ÿʏAZž¯ü/Þû[�·nÝWýÑú³è¿Øý‹àùŸ_!�¨pÿ�Ìýï�È�â\ØP�·nÝÀ­À €C*:ª»�|b� ^x¤Èƒå°»çLa«-42vsr¢8a´ñ³?éÐLtêí…W+ó6ÕÅ5ФNPÕ&*ùj�(%+¿%ÞX!�àÚ/�€¸Ôþ“m:‘ûדÚ�Hã/íý-•ÿéL<z$öQâ �@ž8~å©Ç.?ùèÅG[Tn偀AmUy”µ>E-��ýûE�I’$I’ô‹«�bÔýƒæUu %YIIN˜õ
+
‹Ò×¢šëÐÿLÛÄýÍgÎ*¤–„Ìza£fìÖûÅ'�¤à® dÓ(�ldhùŸÀÆqÿØ�°±TZ†åpÿ×®cù¿@ÊÿÅ�P$3@ �ä¢á<Îÿ¡åpÿ»@Îé(Õþi0�uÿÓ �Ö&GÁý¯¦&&r㙁>aà¼Ð}rék_š~÷ãýšFNm{¥{‹Ñ€ v� í~K�€|T—v…µ dý¨®×7xš›¸C†nmSß{Ÿ ýóWoû/šf³³Žé°þv«4jÚm»Ýë"Ã[vsÿÕ�€åZ&ùŸŠá?î_Ü€�ÀÊÿ�PáþábîŸ€Ø ÿj€Ø÷³ ­?sÿâ;ˆ/Ø!�2�sü d�q¨‚@â,;@ À
+
€¤€‚% ) €,ó8<œÃã´9gç¼ÓÓ‘ÑÑ5ÓÌr×és~ßùÛ&;´îƒSÞÀ+Z¹¯ñøNãÉ7™ Tb\âþq„Nå·Ä+2€2nP#�`ûo¼Ã .ÿ'·Îí��$híÜ?(þøƒ±GÆŸ8–xüØücÇŸxôÊÓO^{öé«O?~ñ‘CœºÎ­ª µ(��<²šÒŽáíÁ"Uþ %I’$I’¤jQ�( ×�m±« )kƒšF¿^îmV¸[”úçŽJþÇ¿ ׄÜZ!½Žb³¸‘ÏæD�€/� ît±ò?±k��e÷¿±žbí¿DKKDÔý 7HùÜ?€+—±ü/�:�4‘OÄqú'@.Èðþ çæ
+
n�èþsV+ˆäL³ÔýO¯ÏLàö_��pÿ ôèHz` ß{^8¶øïß²}ð=½š{)ÿ³ŸÂ�ˆHu²QÿŒÞj~óT �%  �€î¬¿ßÐà548[åÀ0ÝÇ™?ûg×Ν¸2;雘tM›<§‹ný"Sÿ]V·ËƹíÎå-»6ü£ÿ,ÿS}Àzqð?æÀ÷£û¯è�ç*@l\ñb៊òÿ¯.�°ï+ÆC»�˜~¼‰ �ˆO�X€x/ØŽý�ÕÛÁć�(xJ��!Þà}>ž€Ÿ�€×Éc:Ì|À3;3ÅÙ-a³966ä}ñGß;õø‘îV¥íh‡Ó öC�Y i ¾»´dÑF¤4À¸ �o>`Ý`G�(õþÒöß�;HÝgò‘#ÉÇ÷âhô±£‰'žòxò‰‡/<ùØ•gŸºþ®g®½ëÉå÷>>¨±+k�üºÆ€® 7…Uù~ �$I’$IÒÝ �J�€³õ�bò
+
�õ~ XC¹«Enk‘tjF?ùûKc}ÂÚ-!³’Ï¥ˆÃÊæ6r¥�a«ï—Œ*¾N�(äòdøO*��JÝ?À­rûoÙýW�Àö ñ\<&€l€Oû}�óxÀýƒò.ÚLkÿ9Rþ·Ðà™¸ÿé)�pÿ«#¤ü?6š) ½=ÂKÏ]þìj×ÖÞîЋÊÿ¥Ó•²ègD?£ï͘òÝ��ÿ&|úz¾ž3Ô›[寪êg~ÿ·“?üîÒìxÂj±ŒMÙ§¬.3™ûé€Ëe·s67gç<pÿ¤u³<ü��Ý?F<v;Àò?sÿXþGë_Qþg½¿w�€
+
÷zÝŠò?>c¿Z� ”OÖJ•ÿòí`<€ €À.Æ �ÖÖJƒ€Äùðýâµ�bÀ ø b;v…ã!�¸ÿp€‘÷_�·×jsšÜ^»ÅIM{-æÀøø•±ñͱa÷çþôÌÑÖÑCÍ–V§lš×«#ʺyCý+Œì@� ᕬ<G¿ò»â TPÕ€¢«Qƒ*Þ¢A� ³ÿ·zQ �H>|˜¸
+
�‰ÇÅŸ8�úøÂ3Ï?ýØÂS]|öÉ«ïzúê³OÜx÷£×Ÿy(zH�à^7ÈI?–¢í>® / «þJ’$I’$IUÚ�¢ÊÕø¹Æk=¹£EfnnêîÔ\øÑ¿ Q¿]Χ–ÐÜçRëB>϶þn€ì]�Ú�€bš¸ÿ
+
�(./Iø§�ŠW¯1÷Ÿ»xaG�Èï�yxáó÷/�¶� m"›¿ÖfÈößµ™‰ÕéñÕ©ÑÕÉáõ‰‘ô¨17:" …3g¯~å˦w==¦S¹Ôd� û̲U"£_Nê–ÆÒIåorân�€¿~ ˜Š:NWçÖ×9 uÓmŠžã‡ÿñ«K]‹3ã~“É6gç,>Û¬ËióØdý—Åkszœ× îŸ'3\*'ÿˆÝ?¦?˜û§ ¢¥òÅàÿËÿp‰­?º,O‹€¹�bÇ‹¦ÿW�qº®|/ðõn �d€TªÄ�ËË·«w0÷ïxÀR@�QÚL²b1�Æ yy�Ø=^ǬyÒæ-6ëÌÄxÄሎOÞ†»ûã]gÆ[u•<Ѭ ÉD•ÄúÓCLúý†�pO qˆÎ䁿(É9@�­lùüŸÀÁÿtö?¸ÿ…‡;�揙”4þ2�H<óÈâ³O À‹KïzêⳏÇéLø½·ý ø[Ø©¨%‡�jºj€.=¨rÿoú×+I’$I’~ DjÀ4£Âò?Tt¨¦´ßæÿgï=ÜÜ(ó|ßàÞÝÙ°ÝI9vn°1`À€18çŒÆ Ø&‡I{fï=÷ìž ³svÂî$â`œC礫¤RVwKƒSGµ¤îºï[?éí²Ô6˜Û õ>ßÑ£[­.©¾Ÿ_ôhÄÎb™¡D^[*ÿð¢xC%;8ÀÆGFG®qÕ>ìØÐ ‹;2>”�Ás“ƒÍ²j‰qþ�`÷Ÿ€$×þ‹Ü?iÿM¹ÿtûo�Ä®wÿ�Fég˜„@œÆ�wR \ÿÃe�,äþ3��‡ÿpø� ®j¸¦r¬úBìÌIöì©ä¯~i]»æ¸$_¯–·U»Å³Òo,¿³ Iþ�¾2� Í�NM¥H¬/ŸŸ£®Ý¶aèóÏ®4ÖQçÏYê(+í§ÃfqZm³ÓjrY¬´Ýîr¸(qtc� áˆý#ã!`$ä¹!1�Àý�€ïÏÿ�à·ÿ‚)%Õÿ$lMÜFõÿ÷�àG%?9Á�xƒÀú“Z ��pÿ��p€¸Và©{Ðï£�ï ’ã¦9MÕeO…$�ª€`hÔÔv`<÷�8ì¸ÚÌf³X,&‹Ùh3ºæP}ÝPõÅ«ÿùë“O-üD)qÎ)fÔôU…#dóaa¦Á·ŸeK9oÜ,¥’´¸ 8R^*U·@ûïœâà}ŁJðÈÿ‡f‡çÍnypvÿá @Ë#÷·>2¯õ±ù­ BB €ÔŠ�‘À¢Ç‘Ú—<ÙþÌã}Ëžˆ,˜KÊüÅʶ2µ[<×ðÉñ&ô¤U#Af—$‡+ $H A‚¾Dȉº5"FËQpì­ÇÅ*^•ˆ.˜-’û
+
fà‰s÷—S‰>*V`{:’Ãl‚WÛsÃyÿÐ@&„’ÿŠ…RšÄ+Ãâ“ñ1<ÿg|”ÂôO\ý�píJòò¥‰KXéöß^ÿ;€»:':Û“Q¬h$iK¶…‘á V(ú~oÜç‰{™q;îrÓÈý»âNšóýŽ„Í·ÚcfkÜdëӐÆtú1]s¨C¦ÿò…sI}ópmuï铉æ:¶þ"{òSöóݛ֞çÛJ5ÞRµK%vËóH¸ýK•¦‚oWd‹3'î/嘄)øQg‰2ª–9rî Î.q<Pú‰|æ§ ç^þô“¶Ó畵¾ºFWS³C§wèMv£Õd0#fqرû§)$<»ÅíB¾ïþ!öÏ/þH‡ÿ#0$‘�ò‡È(öövC Ô“CL™´›"Ý�ø�°²Äý“ �Á€Ìkóv»�� 0m€�€kÜV`x¼�ôq+‚3š� ‹����€yW�1^n`Ü0ˆÛ à´ã6s‡ÍÎ-°ràÖë:j«FΝ¤Þ8òñý¥µejW™Ê^ð£t¸\86ºÊgrúv€à¹B ¼»7T¤„ ÖŠÂÖÙ8öº¿$8·4ô`yøa �©ð?�Hm D�ÐöÄÃH­O=Ò¶hAÛӏ#E/l{fadÙ¢¶ÅO è[úb�»RdÏh-‘#ÇPà>-ô8µX+Í~…‚ $HP†Ò� BwI\ù#Çinä¿(¨‘¶jd�ÐMÍQ^ø™Btâ©GÛ~ýKöR?r _ÝQ!ÇŸÞ6�L$Ù$€�äþ³€«þ¿œ�Èý��ëí¿ÈýÇñðŸV
+
�ü��ãœûÇ¢]|�@îÂêHZìØý-�û5ëcºæÑ¦:Ö¬­¯««­¯ªª¯­Œú”=ýYßÛ¯VÏ)jVKüåZJ™G!p*’~u�¸
+
r͐<�à€€ˆV”çµ"Ç¢”RÅ… _Ì/·½ùrÇ™3¾ªz_]“¯QçnÖQ:Ó`´›ñ�«Ýæ€Î_D»��2ø?� ø‡��qÿHÈ"N �àþù�À/þ!¾4�2Ü?�p¿™×åí:w�2�Þ>�Àá�ŸЛÎ�\ tå
+
dg� ôsY�7/‚V`T8 � €.6tÉ!ì p™ þÆêþú‹#'>©Ù±á³2µaŽV/›…¾Å` I±á”6~û�Râ‚�9Nø52Ä�-åÚ¶ÙEmsJ`ðh^�@˃s0�<òÀ”<ØöøCѧ !÷yúQdý£Ï<µôI�H­‹ï_õÌÕÕϸ+4zѽ¡r•W™‡|X%
+
Èó¼²ô#‡
+
%ÁBIö+$H A‚2äÃ= øÖ‰€Ûÿ…wkrA´h‰Ê/ËõI󂥚ú"Å5RÝó»XK3;x ù‡L·qãó%€ë`"6��î€�H^¿ý7•h€ûçUÿ‘û‡�ûO¤Ãÿ�Æ)šd�âV;¿ø‡�ÀXsÓÕÊ “F}¬±~¸¶6V_¯­™¨¾Àžúlü_þWãӏÍp•ký¥*«è^dB|Å’»
+
�œ?Á£P¸i(Ø«à‰�ºÊ•öœø”’Ö9e ù§*ióÖ5±Ï?ŠVVzš}ÍzÞà2˜(£Éa€l6‹Ýiƒ¨?zDr¹\n7W¾Á«þ÷
+
2z3Ü?2‡��Äý“Ø? ÿCÍ9¸ÿ � 6õ+†ÿ¿��'›È”Á���Ù �U@`ýù��y�Ø×�§›åÄï&�@�:�  øø�@ò�pEÃ @Y´¡Á}ñDL_×ñoÿëä¢gÊ4ºR¥U#v«%èk‹_Ÿ®ÃËüH|³"�àç�€Q¤�� r_i„ü��6þ¶<”ªþ,˜ =�­Í,|��¹ÿèâÇ��Ú—<‰� ºüéö•Ï„?YòÄåµËú—?黿ء¡¯›€VÚZ(EÀHfâ„�¢ %ÞÛ"H A‚Ý\Ð!ŠƒGŠ�@Q
+
ú'atKÏÀ;gî/>¥•~øàlÿ?þ=ÛÕÆŽŽÞ’ú*�ÀÕÿ`÷`l�€´ÿ"�H\@î?™Þþ �€ù?7€D( àð?€ƒÝŒ¢�ÄœT ¹ÿë€þ“®ÿiÒ!�©«­¯56"­®Š]8Çž=Á~ø{ó¦5*ŠÕ²@E¡K)¢$3¼EbW@•ý>ßAq!QnŠB’�œ‰ 9ãÖJ™ÊÏhUgÌoùùûõU-u5îfc@î߀ܿÝ<åþ´��k§§� £÷—ìýå‡ÿ§uÿþ'ÿl÷Ì&ßý�ðÝÿÂÿîÿ–®ØoöÜa�`³€$�ð ø@Ú� ©�˜Í„0€�ÐÑ ¿x`€ìµ�èrág�¦uÿP ”Nmæ&{Ý…Hõ¹ñʳž·}z_ùÅR­±HAiðt‰“Àøêÿö?©ÌšJÌ�nö(ňð0ЊÂÈ}%ѹemsÉÒ_�8÷}t^Û‚#âÑŸ�"O>‚3�O=Å?�ãG�ÐþìâÖeOµ-_Ô²ô‰èòEƒ›V ¬Xì,S£Ÿ—Vb@ßÔ^Y.yÒ0ò™Ù¯P A‚ šV\@*üOªÒ}Ò·lV¨\e,WþQ#9½iÕå³ÇÙÁKìxlòVÚ(¯·þpÒîÂÿq6þOŽ c�àê0� ^…��ô&ûÒá� þªÿÓ�BÉ–P‡ÿS�@Ü?Ò¨kjù€1›}ÜfYm£fÓˆÉ8ÊÀ˜.µ�ùþI‹y°®6nÐ'š‡.œa/žÿýo¯<UQÔ\¦eÊ ý™K’ãWxµ"Z9ó6Xޝ.hçà„ $Çî ýÆ]ªY6uŽ¥DVU¬8>§ÔqðÀàguWž÷668 \ُÑh3-f£Õj¶ÚS��ÖÖ¶ºiãšÞýCéFñXÿ›¸RùÖÿùÖŸ¸�€Yp¿SWßí=w�XLò¦�e0��@6Œ¤Û�È�@¤
+
ˆÔq£œ¦¯BÐ
+
" Á%@�Ù�`45\6û©ã×ê«'>¯Ù°æóòâú²B[¡œQcÆ…K<t»� /��HW¥� X¨@ €“�”ÂìÿV<øNëÃ÷ƒû<6¹ÿ§Ü?¯úÜÛÒ'£+?]½¤ký³áåOu®^ryÃÊöEÒe‹,Ï¥…´2¿"/¨Ê À&„ÌW(H A‚e Ü?™H35%F>˧.p—«Îª þsv‘í'ï°~†Äå:·b§n�Èýó��Âÿ�Fp�rÿ‰kœûç� >ПèÇ"�
+
ÿwuf�@©%�ñ ®ÿ!í¿�Æ(瘻ÿ1Îý#!÷e0Œ¤€‹ú7Æšõ×jkº¦ÑêÊÄù3lå¹Þ¿ÿàäüûj+
+
­%jVæÏBoWk¡Ø£˜å×ÞËñ•Å€€b
+
�I Ô³èûUµÅâÏŠd•«–wÿò_bõuž3§éæ&«Qg5Ì&ƒÉd0››Ùæ°"�pPvŠ;Èý»(Ú‹Ü?ãñ§ÿóÝFï/qÿ°+*D¾Ôý#§‰DÜ?�¾û'ábh§uÿ·tÅ~³ç®��–Ç�„2€��a��Ð@T� ‡��0��H€ìƒ~�<(èr…@|@š¶ÉlÑ{i»«¶¦½ª*YWÛý¿ÿ©nõŠ3åEºR5lឪeLíÝÈüT|³ò˸ïM• WO*
+
p7‚wc(×B 2¿¢íá9‘GÒáÿÇAø¹ÿöEGŸ^˜ªþ_Š‹Ú—âêûvQtÍòöõ+ÚÖ,k]ýLçºåkWD.p¨”B*Rz•y>ù¬°6/¨Æ©€ì)H A‚ñ…›D±õOþäO‰ñÉfú
+
ÅÖRå_´ÒÏŸ]Ü÷Å'ìðµäð`21>q+×[8éâŸTýÏ8 ÿó�àj‚sÿ‰«¸�À@/rÿÐþ;‘šþÙŽu]û/ÿÕÿ0ýóºù?ÜìäþGh'€Q«mÔfAJ€Q7lÀîŸ�ÀµšºÁºÚѺêÑó§Øs§â¿ý¥iýŠ“…
+
ëœÜëe3Ãêü¶Âìž€&ó¾³â��+]!j•a�ð©r­Ú\ÛüÂŧŸ˜þÙ{C§Nô64Ú/TÚ››LF=¸ �VrÿNځÜ?—pâÕ¿ ZÀãE® GoyáRú£?�²Ý? ÿóË~®¯üAÖÿ§éÃÿĬÞ$üOLï¤��䍸�* �À�7�h¸�ðÛ���@S ÁˆÓ€.&Ä�ünàÌ$€ï¢knªk£)MuçÙ³lcCðƒwÿPQT5»ÐP"wiDdò.$è·'�\�€Ÿc�äþý £ÀkZK5��ÑùчæDpÕÿÍë÷þ.|(ò$žüÓ¾wýBÝû²§¢Ëáê®þ§wÓªÈêe¾å‹Ú7¯îÚ²a@×êg¯­_ÍT”9Õ²`‰Ê£Èu‰~äWÎô)f� H A‚¾Téð? ËNÝ8 àßã*’4—«>»¯¸ê…}“v3_»rYd¾º£º�pá>�LŽb�àê®�ˆý�${ºù�€Kÿ¯_þ…Ü?Ù�@� Ƹ2�`Ôéµ§�`ÄjFîØh@�0ªŸªÿÁÒ5Ç›ã5•ìù“ì©¿_:ðg…H7»Ð^¤°Šîm-‘GŠ$ÅL�~ù ŸìÞì7ùÎ
+
z<\­r« +¤ÈwkòuÚÜÆÕ.7>·>qⳡú:oeµµ¾Ñ¢Ó�˜ÍFÿ;vÚMq �œûÇ[]^ƃÜ8‚ð?ï/Ôxß<ü�=ó‡¸>�dTÿó€_ÿ“áþï†ð?{÷��9ÙÖŸx7 � �é†~�8Ð �@†¡Ã�ø•CáWF7ðT€c�pÿ h å@02�V«Ùâ´š,F«¡¹Õf VWŽêØÚ‹g·¬ùxNá…R¹µTæ+•úÔAUA@-ñ*
+
²?ß’HC€‡Ÿ›
+
Œ0 \¦éœWѵàþÎ÷#�€¹Ÿ�" �h{bAˤúÿ‰È3OF—<Y† ºb1b€ö•Ï´­ZÚ²fY˺HmëV¶¯]Ù³rùÀ³Ký÷•S*q¸LÅÈsœùÓY!�@ A‚}©p3¨2/¬Ì ªòð iþIH•gÏÿ¡÷¾¢sŲO<ùÍ¿³ý}l"9:6žé'nép‹&'xöªø'ÎŽ§� Ýþ{ ‹«þŸ¸rër?Òä@€Éþîdog²»YÿÔ�ÐH*ü�€
+
pó ¿/áó Mx± NŒ¹1Œ:m#ë¨ ¹ÿ!³q ©.á°&ì–¾Ê Èô³&Ó•óçX³)¡k®¼ÀVŸg+ÏFÞxõÄœ’úr­LåÒHpd==l¬Q#Mw‰ɽ-Z<*0 Ëm×È[bdŠ\ÅrÓ\Í*î9¿òñ+¿ýçáó§ZΝsÕ7Úuf»Ñl3™íf r[¸æÂnÅÓØväû‘R�à¦aî'òýÓÎýD"cÀõ¡'È
+
"[ˆ¬ z„Ø?Ÿ,‰ýóÃÿÃÃÓ´ÿò€Ï�p2/¹;}î:��6ºyà&�@�&e�Ìsàc�¹ÈZ€´†„‚~¿�ò�©$€ÃfvX”Ýb6œguõÅçCõÕW?ýÃé5O¿¿°¶TN—+)ež[šÖH¹Òü̏ķ¡)÷Ÿ�$F–ç–Š•msŠÛç•w<<§ã1<ù'5öç‰G`ö?rÿ-O=ŠÜëâÇÛ?Ѻäɶ¥O!÷y@çÊ%«–D×,¬]Þº~eÛ†Umë×t¬_Û»nÍ঵‹£‹”N%ú[äM¾SôÃì×&H A‚e¹U�°û÷qBOðRUK]`ž­þ¼B{vãªK§O²—/OÆâc‰ÿ^4•�Èýß��’ƒW �à <�˜èëú*�Àµÿúã>Üþ‹”ô`A �F¸ð?€1»y ¾æjSý¨¾yÂlJ6뮜=«­¾x–m¬fϝ¼öOÿ [ºè¤Jl-Ó¸‹åŒ»N)� ‹²ßç;'\ ѪÍG¿SŸ4' Í÷ÉD.•Ä\¢8^XðÅã³é·^>ùñ¥š‹Ášg³Ñ¬Ã;¿8L‡ÅJÙ°ûGÖ Û°´`ö?�Hõ?™üC��\ þC±ÿË—ø“²�¹N×­þå›~âû‰‰MÜÊ€ÚÛsî:� i‘  �@ �2€��a���à9>@Ò‡Ô‘$�0@$Í�üZ Ä��®ÛF9,63år66Ö»Ö0úGU¢u“ºZï?¼ÿÅÓ¦™*T´VÆHrÂ
+
qT-»=Èë�€âl�ò<±¿XªÐFçWô<þ`ë �Èý㡟O>á–þr½¿ Û¸ð?rÿxö?çþ1�¬^ŠÔ¾öÙöõ+¢VG6¬n\×¾q]÷Ƶ—7¯¿¶quË£ÚT"O‘<Tª´äþ�ò}‚ $HÐMÄ�tŸòh0‘YT0ê‹EÒOæWØß‹uQìàðøÐØËý³)�À±¤xÊýcÅFÁý#ûOÀ@’sÿÉKÈýwcõuMôL�žÊ@’k�H„ÃXéðÿ¸×½¿ûGî?FSã.çesؐû³[Gm–a‹aȬO:mýuÕ#F]Âd®­­­™lld†ñs'؆‹ãÿñ¯†õÏWŠ«åy¾
+
rÿ^5vÿ螐E
+
·Ço|E¡WÕ¦…•9a„+ò\·x£’:Š•uêßI/l¿òáo¯UŸ‰VWyêz“ÙhA�€Ü¿Ól¥,6Új§í—ïþB6 ;1N©ÑŸÆô@øŸŒþ÷O��æ~Â��þ‡Ê~ïoFõ?�@FÔZßOL,:™—ܝ>w)�2)òÆ%nœ˜6�Í�ÙI€›��¹øy€ �€r ��èN]yéÙ ‹ hsSƒÙdhõû[°±6|æx¢ê”þŽVhªŠîŠBŸZŠÚ5òÛóÌ�ŸR”ž
+
ZàV‰}EŠèܲޅó۝‹Ÿ|¤}Ñ£QdýÓs?‘û'ápÿí+ŸABî¿cí²Ž5Ïv¬[ѱ~5²þ�6­o[·2ºîÙ«Û0„¾ÏªS*‘¯·Ag¿<A‚ $ˆ¯4�à-ò�üê<waãþ¢5Ÿ,}¢ûã?²W.±#£#W‡³Ëùoíd��çþ'c1äþ �÷Ÿ¸z��¹�€I¤^ �ÈýÇ;9÷ë�£1§Š ýÀ I7j6Ä,ƤÕ<ÜØpíâV×ÌMlm [u–ýð·Ìó»¾(Õ\”åÑ¥Êp™Ê«Ìñ©f!�@ =r—€"?ªùD? !�PÐJ‘»Lk¬(<=»øÌЧÛþåÿ¬:Ózá4}á<ÕÔd3 ouûwÙn»Óít  ƒØ?Œþ�Às\xáÒûKJÿ‰ öOzI€ïþ3Âÿ##CÄ‚f�a�žÿ�àËδ֟œŒ$ÀM€4gt€õÏpÿ¤`¸A�Ü�àž`»%èõ *µŒ†¦fkscÀh ÕTÆt ¿ÿMÓÖ Ÿ«tÅj‰Ö'ƒ%Ø™ŸŠoZøóŸÎN�  , yn¨e޶û±¹m l]øHäÉGÛ=ÁÔÿgž„ðÛòEÑg—´¯X]µ ©}ÍR¤�¬[Å1Àšè¦5a®¨{óšk»6]Y¿Ò}™Q^à/U � H A‚¾TèæØª( �€«€4yHT‘¸iŽæ%гûvŒ››q„°ÁÑL3ñÕôó�bÿc1Ni÷?2ĹÿKH‰«Øý'RîWÿ“ðÿDg$ÙÑ–hoG[ûŸ¸�@ b€¤‡A p¹Æ)jœrÄ6ˆýǬ¦1‹Yÿa£nĨ›pÚFu Wk*YƒžµX’Õ5×>ú=þaÛуçæÏ>‹îãešP9vÿ! ®üá”ê¸ãæ)MmQ¸K„^O»FLsuL¡ÄY,·Ì.<W¦ýlþ¾Ÿ¾×â/5Uö3§uõ.³Íj°õ&‡Åê´Ú¸Ø?rÿC9±Ü4tfâ1-~·?À‚$<Çåúâ~ï/týB84þ�ð«ÿ¡þ'»ú¹NøÜ„20 ó»Óçn�¾û‡ �µV7b�tøC��€ˆûÏ��ÒÌg�<è�~�¿
+
Èï¦h›)CÑÆfb�Õ4èÃçϰúÆKÿúOçžXpZ)µ–¨ŒÏÊþT|Óº!�À\ ¯JÄ(òiU~ TÑ:¯¬õ‘y-?œ�xøÏ’§Àýãð�ÚW/"�à2�kWt®_ݹa €¶Mk¢ÛÖwîÜÔ¶yUǦÕû6÷¯\êž]fSà¿.ë
+
$H A×éz�àÚ�4ymž­D|¾LþÙóÿø÷l4Ä&âãc±ÄxÛ÷¯wn�£cÄýOr³ÿ±û��÷Õÿ|�@î�`â Î�Äþ�FLz��Öii®5Ö#�ˆW×$+«Ùšª¾Ÿ¿[ÿô‚“êC¡<<»0¨* óÿ¶­XH»ÿ`zsBöÛ{Ç�àÊû;Fï,YJdµeêÏÊ‹*ׯ½òÉG}ÕÕ¾Ú:km­Ûbgœn‹ÉªÓìV’ÃfwÚ4vÿ´‡¦��+CÞ,ÀÖŸ�À´î ¢þ¤4�à �2ü‡çþo�d^xwúÜu�Ñ
+
àÀM`(½Œ�Ü`ÐTswF+0(¿ =hE—QK‚ÉP R D�ÀçrÚŒ:Ä©^—›¦Ýx>-º^uÍîªóךë’g¿½}äüÃ÷WÊÐånSæz¿õšøé�ý+¿"¦‚z”¸/Y#bJ•-Ï ?†'ÿ@ý�ODÓ“pøÅâÈJâþñø¤Îõ+»Ö­ì^¿ª{ãêŽ-ë"[×EŸÛÔ¶kc뎵ˆ¶mˆíÜÒ¿ìW‘¯üÈ|…‚ $HÐuB±M.nUpKl¸&`äþmž¹TúE™¬vçÚ«•'Øá+‰ÑÁ±ñrð2ýÄW<Ó�Wü“�ÎýO@FñOªúŸ�®ú?þ¿ � ÷?îõÀôÏ”h:ætŽ;í�bV˘ŌÜ?�À¡Wÿ[L£º† ƒn¼¦fèì9¶¶ž=sZ·~ùé2yc‘Œ*Qx•yÙ ä‡!MþÃMÉ¡Ð@äã&îg¿ÉwPèåETbF4ÃS(±hEúRùù
+
ÍÙ…ôýÓ?^;{6RWïjÒ[õf‡Ù}Êf±›L&›Ía·;‡Óé¤(¼ð 6þ"�@N,èuüL(è%"ƒÿ�ðÝ?��1ýà¡ýw€›þIž ÷Ö?�FG‡ùÖ܆éߟLOÿ̼ðîô¹ë�€ø0@�� # @€�À�ü* . *íâw ñkH�‹Ç�€À� Á$ à°½å£i»Ùb2Y¬V«Åbq9¬­N}úÄ•ê ãÇ?ÑïØøi‘¬¾Dî,•#۝®Š¹Î©§>!é¥ÜÿqÊü}™¦�ìþå¹^\A� ÏuÊr(•¨uþ}m lœ›Äý™êý]þLôÙ%�Ú×>Û±a%R×lý{6­éÞ¼¦sëúè¶õ�¼W Çî=›£V_Û¹%¶s[dá—FŠ·“(ñ÷Qúå¥^*NéŸ=ëÇ$H Aýâ2�â0�0Ô£)  ÅMŠïÓ^?Äzílbèê•þ‘8®ÿÊô_ý|�À#€põÿÀõ�Ð �ÀŸÿ“ªÿ¹q vÿfÌM»Ò¢¨1‡1@ÌîÀÛÍæ�³��ñÀ密êÊ„®‰mld›&O×ïß}nnéEe3[‹<´#÷oÛ4ù­Ú<—øïàÆÊ�r{½£ÂN½$,yžGšë)U6Jêçžz°¢fËFÖ¨o?©kpÌFƒµ©AoÐ6;åpÚíöP�¸\|�€ð?gÏ|0¶ñFáÿŽôÜOâ�A¤ý—Ìÿ¹ví
+
2ýüÙÿéêäþ‡Á|f[¶ßO¬læUw§ÏÝ�Ù¦Ÿ¼¡��ü$@�€Y@„À, ®x ½¬¯···‡;ÝÝÝ]]]íííÑhf¡kö‚…Bè+G
+
|>äþ½ ’1�—ÀåhÈíDW©Õn3ÙÌ:»¾™ij
+
×Ս45^ýÃïÎ/[ôQÁ˜¹Åvµ˜ÑHƒÚ‚€j¦KöCZþC¦0'X*ÎýOïJoA— }-ø獬9­(ˆ<PÚÿäÃÝ‹Dž|Wÿ/[„‹–-Fî¿}År¤ÈJN«Ÿ®]Ù¶îÙÈúW!µoÄõ?í›×¶o]ß¾}Ö΍;7uíÚÚ³kKÿs[xçÝçÔÊя.V`2‘ÝRåá îë‰Q‹àK
+
7-q?»À�‚ ô½”(¨”úåbŸÀO2Ë-Ïs–hΗþûƒ£•'ØKíìÈ�›Dwÿaä­’“·a…Ðÿ$,ÿMr €ÇG‘ ý¶ÿN’ �ÉË—ð�ÐKxèä@_²ïÿJtwÁþ/˜ÿ“ŒâàñÖ–7ýs<Š…‚±@`<à‹ù½©&`†AÂõ?Œ7Sôå±S1‹=a±$-$Ä�Cfã“áÁÕæ¦ÁÊ‹lc {òSæès‹õ¥x»(ºo‚³OoL›*ýç×ÿÜ÷Í}ÚQ¤^ ¹‰s±NQ€s2!¹4$—„U‘ÌU®mœ]ø'­¬zÓÚ¡¿|ÜWS鯫·7ëL£É„{í&›ÓluZ-»Õá°QTzéozê?Ìý„_�6iá0òl©ÓÚŠ\\[$içrwÈæus¹>dÿÀ"CæúE¯pûdÑAîÌ$ô—Žðj~à1›H!z�yåÝçn�8 À‡i€0��`€ �àÂ�@€`�Ÿðz°ôN€ @��„�àË‘Ï�N›Ë�Àhµèm&£Ó`t64Gšš®?çÿñ»U <«Ì7)j‰[1³µ(¿ó>Y h–MöwnuNjtg‚9@(ÿm�_ôU[¢èzhNߢGºžy,²ø±–g¶.Ã�}vqÿm«–GÖà_�¢V¶o\Ý„„Û;¶¬C�б @ÇŽÍ;·t=·­{÷öž=;vo‹íÜâ,Õ6Ìd´bôÒäFK%n^£Æ��Œ�$H ï·D>¥Ô'ûe8˜Ý"Ï÷©¥Æí_*Šoߐ´4³×z'Ç® �Á�i"¾ü�˜b��‰x6�ðW€MÀ¥K��Èý§ ó«��d�bn÷˜+µ8FS£çÅŒØ]�âf3rÿ ³�`Èb½Ü¬»\]“¨­bÏïûÅ» Ë;©Îujï¶’Z�”©@0��0 �@î_&G ÀÈò(­D_¬¨ž[~nÉÓÌÏ~<TS嫼@55™õ£ÑŒË(Ì6<õßbArØÍNÊJ»ìX�ÀäŸôà|‚ÜA�Ðʝ6îD£Q°þÜ™ÖýO �à³€ï<Ǧ�xžä’��| @0€0���a�‚é�>�d�@'€À�è@+0`�a�‚ˆ8  KЍ'9=´ÃãL1��tÉZ1˜ð¾`£™®¯ïoj;w‚yýåK”ºÙ…t©’’Ïb¤?Šçµæ0ò{ƒÚ\½‡¿òR>8¤ÈE_·ajW™çRæË5ÝOÌXúDû3xÿÿ´­X]õld5Vz\³"²~UdýŠÈÆ•í›WsZÙ¼6Š��‡ÿ7µsî¿s×V�{¶wíÝÑ¿g{bÿ‹Ü³K±S‘Ë(gµy-Å" �Ì�°¿²é%ð™/R A‚ýµ ùE‰O&òËrƒòœµØ[¬¬+RÿiN‰ÿŸþmó±#—ÙØ ;ÅF¿)�À‹Àâxù��î�Æáÿ)�€ý_�&ú{ � ÷O��€ò`<8�¸þ‡qÒ47ý“£œ#vǰ“±S#ë˜Å<n5Ä,úQ³aÐd1‡“uµluåø¯þÙ¸~ÙÉi½VäÒ|»Á[W
+
�¦­8J/!•�R·ªÀ¬W‹ªŸxˆ~ýÕ+Ç?½fÔ;Οw4é,z³ÙÈ…ÿÍxí—Ój¡lf§Ã�àr; ü��"°\ø?åþC¡þ#ÜỈýƒõ÷Þo€;�øá>�ðÃÿ|÷O�€©á9�@æewל»�XŽ� 7÷æ p£$@º 3@*‚²ò�×mã§ 
+
]v€Päa(Ì�N,†rÒ”Ãé°ÙltœÜ±45øêª†ô ½øMós›ÎÏ.2•©]E2Jzÿ7AåÌH±´E+A^¿ 3�XáÛ°È}\ýêZ‘ãÖJ[ç•õ<õpÏ’Ç;—<Õ± Oþ‰¬\ŠÝÿšÈý·®Åá¼ùkãʶͫûn]ƒÜ?nÿݶ¾}çFâþ;v§Ü÷¾}{wvo\˾xàòšg­Er^è˜çÝã×âÅ%X©o àý…Ù/R A‚}$ò«¤¹( ÏóÉf†
+
%ÎÅ©"埝Ÿ¨>Ë^îfÇ'£,òì‰q°ò·z²�×ÿp�@¶ÿrî?Uÿ3y5µ�8qi�¹ÿäÀ�€8çþãü �7€1— �„ÿ1�8ì8 €0Àj±šG¬Æ«~Ĥ1ê®!ëßÜÄÖ×$ÿ;ßþ]gg^Pæ¹g«õÝ�
+
}¯*• ÿ–��')ƒ~¹¥ÊzMÁÉR…nû†îßýêJ]UkS£½¶ÎÑl¶,6#.þ!îÂÿmCîßÍ8ÉÚ/Â"Ö¨ÿ²�Äý£Ãüó­ÿ´ád § ÿƒíä»>�÷׆ÿÙ»�Øë ; Í�€7ï� y�~*�]ÄýC€¿��a�¨¡‹’�/�Ï¥Âãiin;0B�;‚�“ÙjEׯÕl©¯ 7×÷WïþÍ¿Ÿy⑳±©X˜­vËf Ë-–zD38÷O`7|"âø³ªyµ"·Zâ)’·Î+ï_üøÀŠ%]ÜÒßÈê%‘µËÛÖ¥Ü?ÿo\ݺquÛõG¾?åþ¹ÒäþÛŸÛŠÔ±w{羝]ûwu?ÿ\Ïþçz¶oI¾x`hç&ߣsíåJºTF©s-¢ÀÂBPªŠ‘Ûažý" $HÐ÷@¢ FîU„”Œ<Ç[$Õ+þRQxnÇFÖK³Ã—ñ€É$Ûc“51që9€�p©ÿ™!÷Äkÿ„`��Èý#!÷…Üo7¸ÿdGWüƒçzãS�à|ü 17=ÕÌ5Úí#6Û°Õ<d1 ÛŒÃȹ9fh­:ÏÖU³ÿÉûÂÞ ÷•]T‰¬Z‰§Pr[ÊúoAAd�°Å÷ª$©¼ºe\ı£–P©¥Dq¾Pr~ñ#Á_|p¥úB¸®Æpñ"m²Ûô6»ÁŽ÷þšíN«Ía·:‡3þÇîŸ�ÿ“ê°þp ü à—ýðÿ|÷��Ã$ùî�€ØÎoô'¸ð¨w¿ûg¿C�Àg�’¸Q���Â�d$h à�?�Ó&@ðù1à‰@  ´Ng0X¬vš²˜tsS¤©ièâÿ;GÏ<4û´ª€º_ë)’2ò™a•( ËÅ� “¤>NØãpøm��¿º X(ñhÄNy>S¬ì||ÞÀò§{Ÿ}¦1Àš¥Qäþ×#­DŠnXÝ„GþƒïE¶ãðÇ®MàþÛ÷lC��î¿ëÀîž»¯|¾këæÑç÷ ïÙêœW¢Sç¹ÊäNU üO‰d–ý" $HÐ÷AA@X#f¹Ž"ie±ìóÇÄõ?­ìð56ÁÍýä\<2ññäx¦{ø²C��3�zäê’±1äþ“céå_CƒÉA®ø‡�ÿÇú �àà4�$ÚÛ‰ûÿ�0f³ZmÃÈýs €ÍMulC5ûÙ‡o­~lÞ)yžµT®PSâ{³ß±;+˜íÃ%R jüMý[üȹ‘K#±IÉœ?ÛùÚÁË_|xÉj°××Õœ¯¢ìŒÝà@�ààÂÿœû·9v$þg<©êpÿ\ø7þÂá‡ÿù�p£ @F쟄ÿÁ7�€ŸÌvÿ±ë‹ÒµêwéÜÏŒs·�ñý„��Ü(‘ ¿Èl€ßý¥t*€Ï�èð€¸(Iø ãÅ»9÷WàG§‹¡h‹Él4›ð+»Ýi0ú›ô½u ±“ŸÓ¯¼p|nÙ9­Ä\,¥TùŒ<§½H€ —MÕñjlˆ¹’˜oÑãº=eòâ°Ø¥‡æw?ùÈÀŠÅÝ+Ÿi_³$²ayÖŠ–©Ò(û™?ÑXí;6§bÿ»‘ûßѹogÇþ]�ô¾°§ÿÀþÎ];†_<0ñêAôZæhl%R_¹ýŒ2ö”€t6 óE
+
$H ï…ÔF–×Z(ukD¦bù‰ù©uËY}=Û߃¬9®ØŸ`“ñ—HÆã_s��&Æc‰±Qäþ� ü�¼–ªÿA¾?Ñß?‰ëú'z¹�®ø‡��¸�ÇÃ>�Ä<îã‚ên0sÚÇìÖq›5f6š-£fäþMã&CR×ÈÖ×°O·ðVÃ’…•j]‘”)“‡K$>ÙÌÌ·ëN+=thªÔºð?Ç}}øÎŽ †K#²Jt¥òS³µú/ÿùw—ª¼Íõƒ¾¹Éh³Ò�(ƒƒ?ùÿãÆ_·¹\j1Õû‹#°ÈŒõGz£ÜÉ®þŸ¶�L ¸ÿ �@’”ù��¶ü'©ùá»ÿ»<üÏÞå�Àüó�àK€t*   I�r�Ð׺PÈB�~øU@��ÐÌ€×ド ØýÓ”�Àër{]´Íf1™ f³Ñf2»šMm ú¡úš?þ¦jóš?Êêgk¨
+
¥MzoXÕÿø“¸ÌùãÛ1ߣÈuÉf1Š|ŸZìV‰ÝZidþì«+žîYñtÇÚ¥íë—�ˆnÂ¥ÿ¸ëÊ~Ò��Å?Øýó��¹¤îöuìß;|䕎ÝÛ{vogß>2°iU½*ߢ.ÀûTø»Ï<�@ A‚¾÷B>Ò%Éi)R¸ŠdM¥ê+´göngû;Ù+—ã£cÈ$$““±Ñq6Gö}<>’é!¾Ú!�0‘Äõ?��¼ö_ �Ü
+
°t@?vÿ7€ñÖ–i îó"÷?êÂuÿHxö¿Ó9j·ŽÚ,�ÆLÈý›& :¶±ž­¹Èþá7ú5Ë>Uæ7•)]*dÜâ{"EwÛ þÔÑT3�¸t[¡;;ìý5•H«gkN/z”ùÙ“†ÆHcMí™S›ÕIyŒ›Ãè Œ§ÙŒ�Àn·rí“4E¹�@ø� Ýû›�pÿ��ø‡Y޽¿}Üâ'>6�âþ �€{$îŸ��±Ù��–U�€oò÷”0?M�à@ :7Ê�ÀÀA8é<�®"Ë#2H�’� 2Ÿ›Á½�.ËÅ À%@èʶšlVƒÅª·ÚŒ‹™6X¼Mºö†ºK•çZÿõ?záÇZ‰õÁ2w¹Â£Ì + Zððc‘_%öjqMÞÛ%ùÖkâaßJJ*±¿H,×úî/í\úø•-«¶¯m]·´eÝòŽ-ktnߨµcSçÎ-xâ'×øÛ½{{ïޝ{v`¥«ÿ¹ ½H½/ìx~_ï¡çî»|à¹ø‹{z×-mR滋å¾B©[<Ã]po«FÒZ(õ*óî¶GA‚ tÛÔ9Gk˜ñ7¸bdvárþîø¢G.}þ'¶+ÊÆc8ö?Áb‹•DZx™¾á«<ü¹ÿdb�^ãf€ŽŽ`œ¸–�þ�äþ“}}Éžn$äþ¹ößv�©å_­!ìþÓÖËËŒ1.(þ‰Ñ,§}Ìa³[‘úëÑ#ëvŌơšÖ``uìgŸX·­ÿ¼DQ¥‘xæ•ØUyö‚µhE-š‚ìwìN [ü)H-ü³L’{"ZqPUàÒˆ ZÑ9yι‡æ8޽«ºÐ×Xיּˆì¾Ñd1m“Ýi0SF“Ãbč¿N;^ùEû—Ïívãâåõ¹xƒÿ!ü$±~Ù�H€ø‡à/?ðO¬?)ýç�0�â?ÁŽȼ¾îÖóÝ�Â��¿¾àF�0m`Z��L„ÝÀ|�€Z h†EÓ×Â3nßÅ @e/b�Š¢ÜNí0;›]o³í6“Ãd¡õF{åÅŽ¦ÚÑêJûÛ¯4ÎÉbyS‘ˆ)‘ Ï ·ÿ �@æ×ÈüŠŸ4'ëóö Vx '~EþÕb±ÒW¡íYòhÿÚg¢+žjYõtïŽu[׆×.CÛ6 H¹ÿ›;¹©ÿ=œûïB@Úq`o×Á}]‡öGŸßÝóҁ— Ü;vø…¡=[ƒO>dÕÊ(•(X( ©EÐßÞR,ûͳ^¡ A‚ ú>¨­TaÝë-VJUÿ)Ï»¸cC¬©†½:ÀÆI�“i�øº%×Pü“Œãù?1�À
+
°4�à`nô'��vÿ7�Îýg�WýC�ÀI�»uØj1ÇtÍ,RsÓäŸþØvä•êGæ^ÐJíåê¶yenUºE†Õù~ù·¼E¥š÷H!)þÁ+}¤÷9”<×Q,o(U©P7n^Õÿç?^Ñ7»+/.^°š-xP
+
7õŸ6™]e7áÆ_ÚAÓn7`h?�€ÇKó€«þÇÃÙoTü“]ÿîŸ�@ªîçÊ0‡7�âþ�¸}‡_oq6$�:„Õ2€Tñ“� þ�¸•�Ð �‚n`2ˆ”„ÁÏßÂøÂn&àñz<ã¦ÝxGí²9)“2Z(ƒÍi²YÍv£‘6˜úšA½®ÿӏ›ìùËüò3…bK‰”AoE²à8 ¯‘Ô²°B”áý�YŸºoRÈyã'ò<œpåx˜)Q„çWô<ûdÇò'[W,êß¾®sË*�ÝÛ×sK7ûr³ÿ;wmëލÝ?çþ;ŸßƒÜ÷ û� ë=¸·ç•ƒ—^{©ïÅýƒ¯нrpp÷6fþýzy¾[+m)ǽM.éÌÖ¹��‚ ô½•O‰GÒ1å…´òßÏ.rþô]¶%€­y�î±Ä<1|}÷Ϧ��ïÿâ�`blìºÀ�Àüpÿ�½½�¸ù?ÈýG“Sáÿ–dK("Å?Þ˜ßó¸9�p"!÷?N]� ŸûŠI¹¡vBßÄõìé“‘7Žžu™ÆT¬tËE¾Kt/ºAG´R</$뻣âªvÓ�jæZûBª„+Œ<Ç¡ë+
+
ÏTh+—.ìøÇÿçj]UKcƒ¹²Ò®Ó3Ü¿Õh²ètŒÍâvX(§…¢m”‹vÑ^†"�`ÐI�qÿ��ȃe„ÿaôgFø*Àýg��?üO�€oýá€õ‡@ó´î?)�À7~��²€¼õ 0výN�Â�¤€Ï�p��ȁn`n((N 돐È��(�û-Œ'̸Ü¥îö0N· ï v;œ.³•6"™xÅ…ÙhòºhsuU ²j¨®¡û·ÿQ³uÝ_f«f+¬‘K™‹>í^†—•ÒV¹”k ÎþÔ}ÂO¯_†�}bq¼A+¶¨ Úλ²niﺥík–tlx¶kËÚ®më¢Û6�àÞ_N�:÷ìèÞ·+íþqñrÿ=÷wÚéȡΗö!�8úr÷áCý‡¿öÒØáC—¶n0•jųlxµ·<:’³_ž A‚ ú>ˆÍ –ksJ?UJ>ZôX燿g¯]fÇÇ&¹BëIœÀµûÿ-÷Ϧ��¹<�tl,�pøÿ*Þÿ…�ÒîŸ��,�†ê�àþã-áD8ˆ��¹,äþ9�Åáç¸Ë‰Ü�Œº—ô £Mõ¬±™=öÊ?üܰ|ñŠc©ÊU,wÊrì9?ðIs¢…²6a@ö;vg{�¸†Ü|?M>£œÅJìšóå…Ç™k?úòDíÅpÕEKU•µ±Áe³9­6³Þ`7›œf³ÛauSV–þÒ�Ü”ÏMs³Ö!üïwÃälºpõ?.Ä áRüÓžû‡á?|÷��n0Ãýg�ßý�d»ÿ‰»~ø9ß�`³€`@�¤S4SÝÀ7a�’
+
à@ª]7]À�„²€d�Ðÿ~oÈë3t�]©ÚÅÐ�ð–`Úé -VÊlqšÌ“ÅbA�`Öë(ƒÞSSßÛ¨¬¬rýüǧ–.<uŸ¦©XŠ<·C‘K+ò<Jq@!i‘IZ¤ßz ¤ÄC—‘Ð_ä“çz¹nU£ÛÐwq‰¢wéÂá-kºV-éX·üÒÎM[ÖD¶nˆ"�ع%º i+RûsÛÚ÷lëObÿÈú#õ¼¸ïÒ‘ƒí/înio×k/u½v¸û•—^}ùêác¯l[¹X_¢Ô¡¹PŒÓòo½ÞI A‚ݝBÞÑ–v±®¼ðZÅٝۆjÙ±áÄÈH
+
�&ÆÙÉø$‡,À×é¸ä*ˆHý�@r”·xpÅáÿô`�ÒÕÿ½X�¤‹¢ñ¶��LÿD�0òłޱ�vÿc>g�ðèÏ)�wZc˘݌4h2Œt¬IÏÖU ÿïÿi\µô|©ª¹HŽÌ�(›Tæv—©Û‹äqŽ+Fö›vgÅ€T°W•ÏhriÕ,º°À9[]SªúhvQþ]}Ÿüq ©ÎÓPkª«uè ®©®€Ûé`Ü4å´bÑ6$ �”ÛCyÝ4ãó2)÷` üÕÿ`à üϯüëŸáþIõ? ÿg»ÿìð?±”Äý#Ÿ™áþ‰5ͼÌîÖó]�öV€ü¶Æ¦c�À�`�‚¤
+
ˆÔqWK$ˆ %`Ú @ ä÷…ýþ 'ès½ö Çéå¦ÕÒ�<.Šv:ív§Éæ0Û,V›É¬k¨õSº±É[Y{Uo<{Æù櫺¿°ªB¥+Âqw§2Ï…>EŠ‚° )ï[€ îÖÏ+ Â*QP…ŒRSA52¥Nt¯»BsuͲ«›VwoXÑ»u^�¼mcd'žûÙ±{²þÑÝØýG÷ŸP÷ÏYÿç±^ÞßuxOÛ¡-‡ž‹¾r°ûØ«ÝGô9‚àÚ«‡¯¾]ýL“¶ÀÀí|ñßuKÎ $HÐm²vIŽ»¢°²Hýɼûì?û1ëq³È !�ÀE;1vr<Áâ9  hδ _v¸
+
"�x��Èý³#ÃìP
+
�&®dÎÿ�Ht÷`÷ßÕ‰Ü<� î?Þ�@î�`ÜËĸ€i`ÜfÑ5±&#[_;úë_Q;7Ÿ(Rœ—ÌôÎÑ"Tç„Õ¹mA«Vä•ÌbD¹!5 ÙÌ|ßî 8�HÿpÛ�Ü‘K›o’ßKUÈõeŠ/Š'—.jÿ?¿ŒYŒæSÇiƒÎ¢o¢,«^Ü?öH›Ùl´;mÊê ìåpÑN7ç(2\
+
åþ‘ËJ»ÿ––lhvç©ûëŸáþ �ܼø‡˜I¾û'�áþ'�øöNÀ[ŸÍ�ðKâ�2ò�À���ä��pi�œ "-d5 ÂSA[‚Þ¶ ·ÅÐa¿=ìw}”×ãÆãªh^]ç¤(§D[.³Íi1º,F[C“»®¹­A?ª×_ýäuÛם}°¤a¶ÂX,±«E´ºÀ«…p+=™±õ­€4ý-ae^P•%}��^­„R‰¬Êßk–_ݶ¾kÓjœ@�ðÜXøÕ±wG„sÿHÈýw¾°º~‘º‘ûé@×Ëû;^ÚÙùÊsÑÃ{£¯h?öZçëÇzÞx½ïõ#—^{)ñö«c/>X4߈°GS*’
+
S€ $èû)nŽÄQ¢9¥Qž[¾¤ÿӏٞ®Éá!tÇî?9ÎNŒN²cqv|œeǹ@_�`þ�äþù�ÀUÿ_E�€Ãÿi�H·ÿb�€`Èýg�@"އ¸ „‹Æ| rÿ�P£.Ç´�·™ãMlSóðï~kÙ½óÜÜŠ‹*‘݈KÄ‘q/šPÌt‰~DKfÔ²ÖbåÝ�X�H�xU—Fä,D?EŽe¶â¼V\ùÄC¡Ÿ¾{õÜ™N“¾ñÂ9«¡Ée·8Ì8öÌ’Þhh6¬´ÓF۝4årQÈ÷ûÜ”ÏëÂòã]«��Äý�pNl*üÅ?|÷Obÿ7
+
ÿ�ðÃÿÄ7NëþÑ!þ3É›ý?y×Oÿ$ç{�|àç��H-´d�× <�0”Ô! ƒAí¡@[È×ê †Üá�¸Bèbõyµ"�ðP^`�D´ˆt‡Ëe£h»­¹¾†1Û;˜€áôY÷©““&ݵ?üú/Ï­œ[ÒT®2KÐçYð ª�ùòPªº.óƒ÷—þKs Ï€��ªða=°aÆßt?8›)”×åÞ}jAlׯÞM+»¶®ÆãÿŸÛÔ¹wkç¾Hàþ£ûwrîO'�àþ�º_Ù;ðƁÞ7_l?r0räåŽ× �èóÁwÞè?|`øÈË{69æ•{ËÐß ®)œæ§ÿ¹°1@ A‚¾+J}c“ïðìox/ºõ«Œ%š
+
U•;¶Æ›Ùá¡äÐ0¶�LNÄ&Yœ�÷ÿõ2�¸š(=��`rdôúößi�€kÿÅ �|�@îjùW·ÿ^�>WÌKó�€æ¶€!�°ÇíäþY³‘­©fϝi÷íã÷U|.ÉqThBjF~oH“ã‘þÀ'»'¨œåWäµ)ZŠT΂Yw'�ÀüØb„�ÀV$2”Éjg+ÿ¤9žßÅž?ÓuñœñÜ9—Ãî´š¬Frÿú†Z‹Ao³šu½'àG�`§)šÆ;U<®€ŸAš
+
ÿ‡¼Ù�0møº~ùî� »úÿF�@läM��ì¨��·ûLëþáÀoˆ`��¦­‚V`R‡„ÿ¡ø‡„ÿ¡Ü?�@ª çp3@À ø~/ÞàÁ À¸<´“rÚpð›Óbµ[­v<Ôhrëõ¾¦Æh]Íà…s—~õoŸyêD¡¹ag©Ô&½}®ZÔbØâ¾(Ó«²R“w¹oO®í†Sö‡ó«ˆ| ãOrêÏÁjQË=’ü`¡‚R‰›¥³:Ÿy$ùüÖŽõKzv¬ëÙ½9ºc]Ç® =v¶ïßѶgkßËû#ûv´¿ð¸ÿÞ—põ?~D�ðêÎ×t}©óØËÝÇ^í=z´ÿèÑËo½ÕõÚáËo¾ïX÷öµºR¹^<£µB…¤E+jÓH™0ù3=b<)¨I%Èzôµ(,$H »[dÉ#ÞjÛa[äùmò‚V…8¬‡”xT<·ˆ&Ï£) Õ’ÚBÕŸçÍqüâgl¤…ÇYXý›ü?‰…�à@'�_×®âJÜÿH$“±ñÄ·ÿ‹+B�09<214Œ�€kÿEîÿrâÒ¥Ä%h�èEJôv#÷ïnwF‘í¬H[<N´†°Â\ýOÐ zGý̘Ï5� ÷?ä´Oƒv{_SsÌî`i:©×³ u¬¹1pôàɹ³/–jM…*·V,‘µy>õÌ€j&ºÍ…³¸ .°Áúº7ú¯(0ô|[å=DS–þµ„‘çUø®YEÃ‰š5yõýN#ª^¿êÚ~7RU­ªftzìøMF Þ‹Še6ðs›#švâ_\ø€ÏËø}¿Ï Ö)Üâçº~Ãéâ\ˆ�=ö*àë?mñ8CRÿC Ã÷“Iœ'0ÀwËý³Ý�ç`Z��ÈÈ��À•A�z�ø­ÀD¤€d� æán`î�� G†aÑRéãt:NÚâ mv'e±Ñf<Ô­×›š:kj'ªª¯þb^ùÅb™¹TJió¼�¯æfá=®ÏQß��¾nñL:“¢ˆô&?QX!õI Ð7Ž¿HAi%Ž2ytññ}›º¶®êß»ùҁm]{6´îXß±wk÷Áݝ/<Ý¿��Çþ_ޏÜ?Öáç{^;ÔõÚ¡Îc»^?ÔýÆË=¯¿2pìÈÀ±c—ßz»ëØ‘î×_»öÞëCGFÖ.qT¨t?ôŠ¢{ò¼Î%€•(¤–PbŒCL�ÀR‚ t·*åþ½jüu¾·[ä¹­òÜ6¹©•�>M£-p«Îk•Ÿ>óDè÷¿f»;رQdû'1�°0úsòúù?ÿM�ÀóF§� =ÿg
+
�&9�Höõ`�èéà@<Ú–ˆ¶��@õ?�À˜ß;æK@ÜKÅÝ�è!‡c˜¦ÆwŒ¢G ¦xs3«Ó³µýÿðnÅSçJ”†b5­UxU’ VìQå ·Ë«™‰'lbdJ€Oy;�À{S��€Û1 Ñ öÉño6RTÀÈï5+fØ,ù¨HzfÅÓ¡ÿï#Î÷T×jêÜFlú­’ ÿ4£'v›Å‰Ü?ÔÌÀÌî��€�IDATý»($ãâ€'ûûø�vÿxþOöÚ/RúŸ�ð��ø€ï0ùî� ㊻ËÏ_ �܈øI�øEà@6@Ð�nî…* >€È8 ë‚[1„B„ðf0¯Ýn¼�À€“r!pÙln«�‘qK}cÂ`úóŸÍ»·ÿ¥\UU,¢*äŒVì•å„ä"$øÈy9Á•ã¼ð-»a’„åþü)�ÊÄa•Œ硯$©ªY2ÃR"=·öÒ®µ½»7 �èÝ¿9²kcç¾m=‡öD÷îèØ0`/nÿMÿè>üBÏ+û¼Ôwô¥îc/a÷ÿæá¾7_»ôúс7ÞèóÍþ·ßì~çØÀ»Gâ?~#~ì…Ö¥×üÈ],ç¶ çû¤9a•¨U‹¿_ü<[À‡k S €¾n�$HÐ]-��ºÂ_תY\ YÿŒ ��·VL—WË+wnk¬f/õ !×Îe�X�Ù¦ÿ«Àdrýi��0�¹ÿ ìþ±®€ø�nÿÍ€ñìþ�’mádK*üK€‚~Xþ5î¡“W‚¡�Œ¹iäþ/YÌ#.:I»bxáW3[UÿÍT?ýØ™Re­Jê,R»•¯ —àâš,HøC¤݈‘¾vªÿ+Š„ÿ³� ³p‹{ÌÅ<µ’ Îí �ùÔFM~Ã}…ºOëzçµ±s'ꪽç/PuuÈý pÿ»D9íÈú#ÓîŸqÓ��)÷ïDZ�YÔÿ÷O�€órS«Áýg��Tþd»tÒ¡ÿ)� †üçwÑý³�p£6�B�2�~Óü$�¿ˆ—èCšH�U@°8‡¸ƒ‹ü~ŸoF�À0Œ;}RÙ�”Ãc·2³Óbt˜L½ÁÓ¤ œ»0ÙÜ4øŸ¿®[»ìx©´©LN•Èii$þú§"ô7€Tf û#}sñK€�ÈÅÑ"5�GþL±Ò¡›5á'æ^Ûµ¾÷†®ëz÷nºrhOí{¶wìßÕùüžîöõz¾—sÿ‡t¿z°çµC��=¯c÷ÔûÖ+oCêyãØ•Ÿ¼?ðÓ÷»ß9rõ½#‰÷^޻Żð¡ɬ–ûK½Z™iÆßúä³ÂšbV¤BÁÝ?R/˜��Ö­ÿÈ‚ $è¶è:�à’�8‚ƒGÏe�€º€.”šË
+
?*T8ß}m °ƒ—¯]a¹¨Üü¿)�˜#¸�¤Ý?ÿõ?��Èýwa÷�ˆ´!÷Ÿh �¤�¾¸Ï;îq'wҍw»FiYÿ+6ËU³iÔ¤gͶ¹qèWÿnذîL‰¶F%¶j­’ç3¼Ç­Îqkr�»´G3ꯟêÿŠº�ðÜ?TpÕ\H>¼œ8ݦÜ:è+W›Ê5ªE†};ºÿ®ÔWz/œuTUR½ÙlÔ –4�86<…Â3@‘ãç»ÿc÷ð!ëŸ
+
ÿ·ÝºÞýGnTýO*º�2Ü?��¿ô?Ãý#ëx÷ÿýÃùk��8 �'# Q �‘Èb€~$‚ �{ÁøSAS>ˆ €�€ÇãÁ«ì8 @�àtâB7š²�@Xl2Y¬z£éìù~¢±¶õþìÌâ‡OKtER‡ZĨ¤Èýú“}Âå|�@žÛâ[4Ä7�ô‡·¨¥~¹˜‘ ;î+QRèÛY+n]úøµ=›voêØ¾æê‹{íŽîÞÖwpoï¼ù«ïѽ/ìzù`×áCG^ê9z¸ïµ—ûî>v¸ûWºÞÂ�ÐûæÑ¾·Žu¿õú¥¿7ðóºÞ£ïÝcƒyó•¡öÔkä¶B%¥‘2Zq¸HŒn´ìGnŽÜWaºŒü°�$HÐÝ«)�H‡c㈀c��Ä>5^ã(’U©>Ÿçoþ½ÚË_¾–Äý¾`¶  �Étð-�lÿÅãÿÇc°@rh¹ÿä vÿ ®ý7q »ÿx_¸ÿdOª���Ü/�æ�Òî?ô'ü¾¸Ç3Î0 7“ä4Nc�¸æ°º¨1‹‘56±ú†Éÿúuëæã…šæ"•S+÷*j¹W’ï—åû5¢4�à‰|)� wço�ˆÁHû
+
¾Àôã×™€oÁÙ=¡b±O“G«rÝE
+
½Zz¡DsvÑ£Wþëו§C5¬5‹Éít˜­;z4�R£)”ýLïþƒ~dýSî¿-˜nüÅÖŸsÿÑ ÷ßÇír…À?9üâþ¿‘û'¦‘Xÿ¿&÷Ïþ5ÀÍ�J¸ø ÀO“Á�Wð\ �À���„È^0À€ôHÐIÀ$�Ÿ�\..¢�ð4\³Å`±šÌvÊâpÕÕ÷56ù‚zóåSÝ±Xn,’a+¬&¹¿Ìj<ޏ'W^ù5�€LÂÐÏuñi„ÔF4+¬–w”¢¿V¸Õ‹Z¤+’_Ùºvì…][WwíÚˆ� ÷…Ýý‡öõ½°¿÷Ðó�:_}±ë(®øGî¿ïÈaô¤À›¯v¿õZÏÛGzÞ>Öûî[]ï¾Ùùþ[=?ywàçï]ýù»ƒ?~;ööÑÞ-jâFI^ø·&¹ÿ@Q®Cô7ü–_�_ãç$H A·KØñ� ^@‰Ý¿Ÿ�F+¶”(Nh•õ›Ö&*ϰCÉ‘+#‰±�œáJ�›�úµ€G ��€Ý?�âxøOOÿì¹�:pï/®ÿikåæÿ¤Úqì?èÇ�àõ"�@î?îr'ÜÞ¸Ë3æbF(êšÙ2á¦Y§•54°þ—mç–Ï‹Õ5Z¥M#óh¤a$•½è¶‹3!ŠìþyIï�¯:?ëþf5-�pÅiî¿…{tËî‰< ´«rôŠê¾’Ò‚Ïç”wÿâgCçNFj/8ë.Xô eG¦_¯×;Üõk5Cø��ªÿÁýCñqÿ��)÷ ÷AXΉáâþÜORÿÝPÿÖ?#ünpZ÷Î´îï\×oÆùÎ�üø�@N6�dÔñ“�ül���0À2�0”?ª€0´µA'�`�$H�`�ú(mw9œ4�Õâ¶Xñ6l;eDб6éÝuµõ5W?û“ëÕƒ<PY$7Ë] b�Üm£Àã€Râ:ƒ§Òs_·$æ:�Hµ`�@ßËŒ$§E-í(ÓøåbZœëQŠ™By³<yø¾K›W_ݽ¹cûº¾ý;®>Ðùüsœû?€� ç¥ƒ]/½Øù*7ðç#ýG_8v=AÖ¿û#H½ïEêÿà­ÎwÞèx÷žŸ¼wéüäòÿøÉÀOß¿öÞÛìOß÷.~²±Ha.–Z3)Å=¡¢<¿rFê;ˆ{Í�$HÐwA)�À ncC7š *½ž�d‚éB©¡TóQ±ÚûÎ묗f¯öŽ _g'°&’ß�L…ÿãã��#C‰!ìþ¹ ÜôO®ø¹>�Ä»:ùÕÿ�â-SáÿdÀ?áñ&OÌíc<cn–‹sRã6+ë°°úúñÿËspïéûJÎÊò¨r ­—Æ/D¼ 4ûçê]S÷è�Ç�Yoï7¬ìØ"ôpƒ»àî¹3CœZ  žÁ”æ› s‹Eu³‹NÏ›cÙ»{òô‰ös'=µ•Öæ£©™~“ÁhÖë¬FÜ`·YÀú!�÷OÂÿ)÷
+
÷O� Ëý·“ð?±þð-p2�€þGœ!�À7Nëþ“�d\bß­óW�Ó2��@F€�`ýÉ~�…ÿ�ø³AӁ¢P�ÐÂ5#÷Oz‚ x<Úí²2´ÃídŸÝáµÙ]6‡ÝAYœ®Ú&ƒÃAÙšƒuÕfýµ?ý®nãšO
+
åMeJ[^®AVƒ¥…›ƒ9 HUæ}=�à—��@òÈóCj“ðIóü2QP) ©d^•„)ÕœŸõCߣsÙC{.ïÙÜýܦ«¯<Ý·½ïÅý½/è{é€î—_�è{óè¥×ö¿ÁÕü¼s¬ë½£Ýïë}ïXÿ{¯üømÄ�ݼÝõÁ;?y·ûgïwÿôÇ—~ü^üƒw'Þx~êá Òt¹2P.uˆ�ÃRÕ‡Sˆ�$HÐݬi��ÏûWãE7��>µ”ÑÈE²†
+
íï+J:~ùÏl_;Ð54|yœeG“ñ±Dœçþ'Àæ½ i�Ü?×þ‹·ÿf�@j�h�Œ·¶Ü�ûI+FÑ ‡“¥¬IÇžþKë[¯žy°â¼Fâ,S»Õ’€VÐäûä³¼²™~EžG‘Ë(rý\êäÝî1ðB`ßžx��ÿ$Õ¹‘€™� (P˜× ú¿Í³õó
+
ÿT$kܲ~øÿuíüYßÅs.]£ÝfÒuúfe³"ÏcÕëV<ö¢þ.\= �¤ŠB�€Tø?¾�ð—þf�¿øç&��FñK ãúúΝï<�“‘ ¿*øÍ C~¯ä7 IŸiÃÿP„tùò�!$²€Á…
+
H3�i&y�¨ry=V/f�†¢ý'’Çf·[mf‹Mg²šÌV«Ñ2›ƒÎÅj«Ÿ~ô‡¹gJeõš\Ïl£yÄ3ÛÕ¢ xF@t/|)¥¿nù Ìtú;zê :–¸¾ÜH!±‹s½å…ŽRUøÉ‡'ï»úÂŽà–ÕƒÇ^ê?Œ‡ÿ ¼úrû¡ç{^=ÜûÚ+¡û.¿ýFÏQœè~ë(€Ž·v¾s¬çÝ×{ß{ãÒocøÉ{ý?ý ÿç?îýùOûþþï/ýügã¿øYìÝc±£/:Ÿ{¾àGû4Ñ
+
µmæÿå†¤¹è1 Ï «óqבj–W~ï×ø‘ $HÐmQêÆDn.Œî/ÿ?{ïáÞÆuçýþ÷Þwߍe‰è ÕÜâ8‰'ÙÄ)›²É&»I6›âuŠ;q·šÕ{µzï½K)ŠˆÞ+I°‰ Do$ˆ2÷àpPrY;–í9Ï×| ²0à`æûùµSÔ%„×Á+5ñË´ü2M…àöüŠÃ_ú"ÕXG¹Ó~w*¤&O%§¬Vé÷ �ˆÒÉÜÿ+‘Äî?5JÇ"Àý§#aØ�ô�€òBH{`@jt—�%†à R”��€Š’ݝ‰l@Üh‚Eÿ6K¼Ó±š=UD©¢Lzª½™jkº»äÍ+Ïm\ ÖÎê8Å}sùd@*R¦ì¹Ýëá”�¹¸xð݇¹¿PÑË
+
Ð3ÙÀ¢�îK@ËÀø®ET¤u|Ir¦Š}úëOôm[¿S;PWkn®WÉZäŠ6…
+
Žþ4¨T•Ú¢Qµ°ø‡ ýÄÅ?À÷ã¯N‡ 0�tÿݝ™Øÿ€ ˆ”�á}™€ÈðÒþK¢þ¸ôŸø'ÖŸ¸�ÄúcÓˆ=äŒ s~}êÖç�&³ @�€0��z`:@�À @¯ÊÙ Œt  EÏä3��4@àd7í:È�v­Î¨VkTj…Be0˜4*-xÆTWg¿re¼ö¶÷Ž[Ï<vU4»½’e°Mì9½ü²>~I/¯˜h)Âw è\�@ �/8Õ€‹ŽºÄ¼Î*‘VX®¨àô~ïëãúMìåç}}nì¥çGþú?î¿¿0ðÂݯü-´è-˜xååÑ×þ>ò,ú�0ˆ4´øu÷Ò7�x—/‚}À+–ŽA÷¿Ò½z­gÕêÀÊwÂËÞ¤V/þí/d +Ú…ez~©KÌéqÁ±wóK�˜ËgJþÙÁŸsw./ïp1bĈу tsyiøG|!�ààB�”›åÚ
+
žr®ä꼊¿üJ­¢|c©8÷Xr–ú|��ÝÿL�€çÿä�žÿ“�´ù?3��œÿc4Q]]a³Ñ­VFíæ´Ý’TÉ)Y3ÕpÛ³ú†o~ù¦„«YXaŸ'´saô €hœú•¹ ;‘wÑ�€éòÞáXÓ€¸ÿi�-4€)“¨L=w¹²üÈc"ÃÒWÆë®÷ߺj©­Ö¶7É;ZÛ•2��µÒ V˜ÕJ �ô©ÿ¸÷Xzì ¸ÿÞžn:�àá?8üÜn�‰ýÓ€þsbÿ÷€)ï��‰é _t/ Èùò�(g[�Â�ƒƒƒwïÞ% @ú0ä$,6«Þaׁ“ÝdµLN½&´j£F©S(l&³¬¹]¯T;Õjíš¡Ûu©ÚjÛë¼ò„芠P1—o‘pº„,àƒû…e8*0•üð5‚™ü,M÷Oþoø¢é:”›¹ÅFa¹JT®Y(öþêÇÔkýãoÜ/>w÷…?Œ½ö×Á¿Á`ßÛ¯y^{åîË/޼þwþû  ÁEPÃKÞYŠÜ�<+Wx�Œ­Yã[³<°j1µe-µrQßÏØ(á5•ô/¬êä±ÀaöŠXýRv—°ÄÈšeb?ìå#FŒ1z„<+�4d‚�€•=»[PÖ)bë…,í\qÛ|ÉÉ*‘eýªÇE…éH˜‚±ÿLÅo>�d‹{Þ �èá�éx ¸ÿä8rÿ�‚@S��Ü¿× D��¸ÿ�€¡Áä]´pß�à⟀I›eÜlŒZM1›9bÐÄmT{Õ|Ç»fy󷟾.bˤ<5¿DÇ.è‚sŠÙØ?¹ó:3£®¡ÈͲS¦…:ÿMþh…gRÛLÝ?öýøuÂW‚@Î$biDœæ*á¥'ª~ÿ ߥÁö;†—,²fþ—ÉTr�Ò¤î_eÒe&ÿ�ëE¦þO«üAו)þp ܝê�Æîd3î×ÿà®_ �9•?$öO��;@�ï'üÏ�Àƒµò»ó�@>Ü�0Ы€àÁÙ~�: ¢Eg�°H€Î�V»Íl·™lV«Ùf3ZíF³Í`°é4€Œuòö.“YÞÚÖÑ*wÌö…óNCÏ¥s‰«':þçßÏÎãß®ä™TÚ%\ «°KP܉¦)cøß�@žû�pðŠu¥ÙÄ,ç±JÂ2=¹ÀûëŸÅ^úŸ±¿ünð/¿ó¼þ¢ûõ—ú^üãÝ—ÿ2òê߆_y‡ÿG½‰ôÖÐbàþ.[‹–/ò-_ê]¹Ì³ò歹ÞÕkÆÖ¬
+
oZX·,¶aµyÍÄÛ¯Z¿û­f× X¸pw0'¯°[TÚ'e»¤,¿P_ü…ü#bĈ#F€2�(Ãñ0Ã,,rŠJ,ì‡\¢R‡ˆ¥±óDuUüc ¥‘ëW)ω¤"Qp‹OⱟÈî#}H�Àî?™@Eÿ(ü  A÷
+
`÷Ÿöe� áÉŒÿÇ�„áÿ)�@@{&]Ýt�À;�$ìÖ€R¾RN{DÞBu´PM·£ïnªûÆS7¥™”c©â«JgJê–;90”žïþ �àÇÐýÿã`ªÑÖýã)#Ðý#ëo•÷¯s•ó¥D¼¦ÿü‰ûèž±º«–š+†8÷SÑÑÖ¡”ËÕJµB«Q@�Щ úÌÎ_Äýãð?�ìþs��»ÿ»ƒ™éŸ8ülŠÉfÜ?žøyŸðÿŒî@~øÈ|÷@ôÓ½>S�@½ I�Â�ðyçþÁã§3ÀŒ=Áô큇‡‡1Ðó�`¹Ð" €g¡¡@6˜ð2A�°˜àxƒÖ¢×èÚÛºŒ‹Î –«�èeò^µ¦¿©!Þ~Û{|OÃþô\¥¸¥R¬¯ê¹%fÚ#‡òÂÏ*ݲ¿OÑâ
+
èJ-BW%: ¤%.qüaa©UÂRqŠ[9EÎgžJ¿üüøßþ<ò†þú?co¼<ôê_û^úÓð+p (þóš{ñ[P‹Þ]¼xdÉ÷;K �¬\êY±Ø³j™wõ;¾Õ+¼kVùÖ® nYܲҳfixýJjãºÀK/˜¿ñL mð춉;[]ôÿY³z«8}R®•‰-1bĈ£LÓ��v‘e S\jã> î&a™FÂn­^©àœ}æ+”VCC��Ñqdßg°ûÙ…áà¾�@ ÿà €hó/äþ±p*JF ûO…`û/”o ¸\ýOæÿ¤²�0}�¨ �@¼Ó§f�lÖ¸nþ•0êãŠvJÝATÉý;o}ýK5sùM¢Rµ È,(vKû$—°ÜXüŽÜÑE‹¾Ã‚| &u¹yïðG®)�ÈÌû§�øÅáÀ¿AÌÒ‹Ùr©°f~Õŧ¿lZ±(Úp«§á–¡©Ö¦îµ4*àܹ¸M‡N«ÔëTÀýã–_RùC6ýu:l÷Ê�ôõwc÷…º.qø?;še†Øÿ½ªÿ‰å»—ûÇ�@ $^Äúã•s~}êÖg�îÃ�`áßk>÷Ÿ�˜èI�z70a€,@�€óA§@Z˜H�œè.‡µËf��Ð×d¶,Vø<´6Ê —YÔ:›ÁÒ!S(ZÛ­J¥£­ÙQs5ÕÑ4°}óo}óºX(«š+ùz^fcÅÎÌPÞ �Ø>à@väð4�Àß͈6ØÊ+è­b9„Åfn¡MÂÕ
+
˵sÅ?ø—øKÏ^~¾÷O¿zíÏþe¯»ß~eô¿�€Sÿ¿:¶äͱŋÆ/]ºÔ½ü±ËÜ+—Ž­^âYµ��œºv%{íÒÐöÕcëWxÖ­Œn\7¹r¥ç¹?h¾øx»€e©äÙ*J ì/Ê‚y� ÏÉ-Í?(FŒ1bô�h
+
�`H›ËÂI�;ê�Ï�0p ´•ü;Rî¹
+
NËï~Eu9€û§b““Ñ85I›õC¥’PÙ?Áõ��Œ ÿC÷Ÿ�àþ1�L¹�IŸÀ”ûw÷?9x7�âÝ]t�€ �6ë¤ÙDÙ­“%¥ì 4Šè¾ ßÿ— B–b¾@/)3ðfÛøsz+XÝ‚2;»Ø%dwòà{BÓ�ä…á2yþYÙ×��¹ 4óÜÃ,*3ˆØZ1W#á¶TIŽHDÆ7^÷]½0ÜrÛÒR§“5›´ªy»RÙ¡Pu¨ÔrVAܿɨϙúOJÿï•ÀáÿÁ¡>¨Ìäþ‡�@2�ôâþÇî¬Ý?)þÁ�ðžîŸ€na�¸`�Èg�zf€,d� ? Ÿ@ 0C�Wå7tÙm}6K¯Åä0YLF›ÎlÓXlàa4i;Mzm[«^ÞaƒÓ±L:•ZÝÒÚq»Vs»Ú#k _½Ö³tYó×¾^'äH â23tí™–|< ¦ç„¬I\V,S[ŽÃ+N6ð0Cì]¸KàPNI1`À�óÄ© ƒ[.—
+
~ö¯±×^~ñ}/?xç ï’WŒ¼ù·‘Es/~Í»øMïâEÞE��–¹—-�0²jÙȪ¥£k–xÖ,ö®]†À³nÅèšE¾ÍËÝ›Vy·nð¬_Y»–Z±Âý›_wÌ뫸–ª2‡´¼�ð
+
ᦉœÜ#bĈ#F†pn¹ 3¬‚ËÂI�ø$·À%* fÍ2,”ÔUrÏÏå¬_Nõõ@�HR‰x:9ž‚£þ¡’ÀË'àž�ðOY¸�`W�‰É‰d,ܶý7�°ÀçÍ€Ä(tÿù�€€fÀiŸÄ_�$­–˜FEiU”JáÛ¿ûú³ß:)`ÉVè*9Vqq·¸¸G\ìàÏ1–β±K*ÅNÛÉcÙùpŸ|‡Åï[6ïËБ»¸°-øãf�B�\Ù ¿°+@áÿ2½˜ Ü¿Z¿3_ZûÓŸ/^´7ZjôŠV¹¬¸ƒ^«Rv¨T
+
ºC«Qµ³^g1M@¨þ‡¸<ù§«ÓÃÿp쏫 »ÿþ^þîhxª÷[/„Ó�ÀÊÎrœ�3VþàEl!�ˆÄ {ËÌõ)_Ÿ5� ²u‚høwöž�€�c�=�9ÝÀôÝÁFàÖ`pÝ �ð`P�Ý;�€³Ñn4›L�V‹°�øTè5ƒÎ¦Õi•*­Z§×êt
+
…E¥t€?ܼᮩ¥ªkÏÿéœHÔº R=W —�ïû‡2ãðQz:u|™¶ß´7 '`‘ |ÅÉVþe@@æo¡Ë“C\dæÏ2³¾�~Ø%æ˜XÅ*V!¸(­J½ò—Øë/Þ}ñ÷î×_~㯣oýX¸íüÿ¦g)Ê�,]ê^¶Ì½r9vÿ@îµK�Œ­]>¶~%wãŠáuK7¬ìÞ1ºaƒwÝ:jçÎÄ’·œßÿ–j¡¨7[/.tHËÀýÃÁ.ìrБ`Ï´PÊýœ#FŒ}|‚·ts!þo\¾eeÏvIJ:Åʲ/˜ŸÞªâ~\=u˜ºÛŸ‡Å?ÉOÂ$@<•œˆc�À85ú3�öhØLÕÿ$â‰ød*ž€lûoWÿ�Hz<� ûGáÿôP�âwâ}0üGõ?“]¹�0i³PvSTÖDéµÔå ·~ôý³UbÅ“ äb¸“…;§[Xdcφ{ ˆ9úÒàþï�øîð©‡ó��òOC3�±-ÛjˆÀŽÇþTpÛ«„ó$—_:q"ØÚª¿qU~û†Ù¤Uªíí­*…�€�04�ÌF®ÿ!ívÿÀú÷ý�Èö[âÑŸ°þ‡�@N�qÿ�îUúO�l1�Lóþ´ð?�ôÊ€$mc`Ò @'lýñÂ'a�pÒà/?ܦ–pŽ œd˜8qú)g�ܪÒÛëæùÿή.gg§Ãé´Ã$—Ãî²Û»p/€Ía¶Zà2™m&£ÕhÀ”lÔ„†$ –ÉŒ
+
‡\n¹Yí©­I]½.ÿÃï
+
9íOÌ5>"6KŠ-¼Y]¢Âni‰‰;KÇ™å”r-B–Ï¶ ळ}x5Á<ØÓãT£ó½Z‡éßEm ’Ý– Õt² "¶f®@÷Ô‚Ø ¿K-~eô¥ço½Xúvß+�0²øÕá%oŒ,}{tÙ¢‘e‹GßY2²–þ£âŸ¥ž5K±ûwoX3ºqÍè–Õî­kƶoÛ¾Ù½u‹ËÖè–MéÍë©U‹MÏ>}­ìÿjæ±;çóôe_èå— ˆÊqö½¸MÁ”Ðᣌ|j#úÜdĈ#F¹ìèv®Æhª=b�tßq‰YÀý÷U–+Yÿ¬~LtRX|íGϦšê¨PøuÚ}}ÊÔçÄøñÂÏàÒ ¬h[¥“éT"•œ¤™¿ ]ÄÆ©h,‰¦Â84¤‚Á´ÏŸöù(¯7íñ¤Ýc@©Qwzĝ¾; ”‚îÿîÀÄ@¼¯/ÙÓ—îíw8ÂÓ„Óžp9£vsØlH:,cMµTŸ}üÌÑëßûfõãó”OÎWUrÌU3Üʾ䶛 Øe[ìòß=ºðßú¸O„ä÷…dçðŠzX³ûÁ”ó°EÂÒ<Vy­Rpë[O÷¬_3x󦵾É C¦QÈ”Ê%Šý«ÕJF¥Óª±2³ÿÍF«ÕŒF Xìv+ð@Ð÷ßåÄr¹º€eêëëÁÓ~ˆ§Ä{~ṟxëß«ÿq ®èÆ ×ÿÐc¾ôEü! ÓÌ®ûg�àÁ]äW•šž ¿àÉé;“3`F  Ÿ@€ȹ•�¤�ã)mƒ°^p£^€npZc €Ê°��»|ÀÇ�€c˜ £€F¥Ö(”--…Â)“÷µ4…†ìmúŸ°Zç Ô’R“°Ð"xJT`•”XÄåÐýóÙ8¢àÌ ›š"L�üݼKÀ{§t ��\ÝôRNGÇõƒoFþü»èkõ¿úÒð+/GV.]ôúè’×�� /{søEÀú®@¥ÿ+!�x×,÷¬[9º~åè†uÃ�ÖŒn] �À½}󨶭žm[ƒÛ·NlÛHíØ0úÂïÚ¿4¯EZ¦;Deƒ•\Kñ?‘MI²�ÀÎ
+
Õ›2�Àˆ#FŸ„ì°d�ÕÅe��Â�Ð-*‡ídÒ25ç!åc¢ã’ò›¿ù¬œ ‡“´a‹ïi¹f�Ì�)*‰�¹ÿq
+
+6žŽÆ¦� ¦²�òN�pÿY�JÞ…áàþ'ûû'{!�LººS}½éþždoW¼Ë³è£FmÒ ¢ìºÀ©ƒ¿ú·³U‚Q¹BT¦á¡7Ž@ïC'¼5?÷# �0ç�Ü?ö�àtqv‹u•œ›RΙÇçÊ_|>x㪣®NÛÒ¦—ɵE®üÁî_«Uëu,Ø�`2�£C€÷<pJ½½pÃ/�ÜÅS1�`÷?::JBþ9uÿØýg
+
ÿсÿ
+
�Ÿ1ßOÖg�ðï‰�ù@’�ñ{o†I�çðWp>³Š��a� �¤ˆ`�Ù# g� àl�8¹�� ��„�X ü@§ÑЩÔf•Ú¦Rê»o×L¶6¸÷í¸þí§¯TrëÅ¥ú*¶¥¢DÃ~È,*rV±Œ¼B`ýÑUFPåe‘‹ Õ…ƒýhs¶¬?“^|ÿ‚ZÉÐT0CPf”°[9s…=?üöä«/N¼ýêðK‰¬XêYôÆ(
+
ÿ¼³�ÀÐ
+
èþ õ_½Ô·f9�φUc׏lZëÞºÖ½m��ÏŽ-îí[=Û·ùvl¾»™Ú½…Úºfô¹_Ê«h`=l­`/ë‹þ‰¶/É �e€)å#FŒ1úÈ5•@�€ª€2· ¸ÿ{N·¨TÃ/èxL|b._öÚ_©îÎ|�¸¿ý"i@�HÁ ¢¹�ŽÇ€û'�eÃÿ�pÿù��÷ÿB»ÿ¢ ‰¾~`ý¡ûïí :lãý=®H·-f3R°ø‡Ò(Ò—Ï�÷ª’_¿ B·@l­â;«861¼í܃�húž×„éxûà"ºù…6~¡¡’]_É9=_X÷ËŸ Ú“µYt­í��t
+
…V©P“Ø?ðýz8òÈ�¾õÀýc»“þÖ»`“€Y"óþñ>K9á\öCúÓk~ÀWRöƒW”VðCw}xÍèþÁúìY¼>ã�Îc�ò«Ía�œ˜¸GK@>�Ѐž¸� �§2 Ú©Š TDO�å��A>A°rN݁>Z-MšÛÕc²¦‰ºê»›V_~úñ+œ¶JŽù‘NX¢çØ$%ôÁÙñ6"÷�]y3…†$4ž ¸0�Цeò’ày«¨\Í+–‰Ê•I=¿ý9µâ­ð/üý/¾Åoº—¾ ‹û^¹ddÕR÷Jø÷­Y惽¿+¼ëWy7®�0¶iƒ{ËzÏ6àþ7yßÝ:¶c oç–ÐÎÍá­ë©Û©õï¸~þýæJn;Î rŠP?Yæ(ò�€6`áA»Î2bĈÑg[ð~‘™MK€ð–5øy�¬ÂNA±^TÚ¼Pxü±mãjt˜ŠFè�€£°´û|îº�L¯ÿAî? �8ü�¸�i¸p¦þ'92
+
� >Ô ”èIö÷¥{ûS��\½ñžÞ°«3ÜëôwY|mܦ¥ºm”V•ºtîÖ¿sº‚{SÄÖ=Zi”°Í‚âN Ëĝ=�d$rß´OZðv }Øà–£€
+
ÀK’}¡ŠsëÇÏöíÚ¨¿í¸UmljÒ¶µëh� �À»²c€­æXlwîïþéáÔõ ÝýãÀ+�þÿ�€íߌîŸû¿ÿé÷©[ŸY� ò€`@äc�ý´�§ ñýø+Î+ 'À" é9áâþq-ÐT S 4­ˆ$è…@€”*¹\¡TC¤Ö*Ú­­ƒ µ‘›—ô¯½x嫏_”vÌç
+
ô|8—·[A¡lžÀÙÉ —þo€VD„å³Lü“”'³Œ_}|üÅçÒK^ ½þR`ñž¥o-]4º¸ÿ¥Ã«—®†]¿Àúù×­ômXí۴Ƴi�€±­¼Û7ùvlö¾»Ù³Ê·{k`÷6ïŽ ñÝ›©=›ËÞpüðÛõ‚ò¦ÒÙ]óŤ¢ _^³WØœf�|Q{ïRKFŒ1bôQ ÝeJHX
+
G‹à3B–™ ¿¥³êªx'Ÿ\0|üåóP±XŠ6lßÇi7ùÜE€¬2Õÿ©T�pÿ)äþSQìþÓØ Ü»¿îÿåñ`�Àî?5<šš�Ð��ü¸ú¨î¾dw?�€ÄÐ��€`·y¢Ë@Ùõ”ºÝhŸú÷ÿ}©RØR)0ΛÅlMÉŒ¥_ÈÔ Ò��wBã[pþ;ö
+
5"ãºèþ{8%=0t_¿^RÒVźTÁ>ÿÌ“æUËÂwj[[ä×oèš›�hÛe¸ë—œ��úi6€€­Õÿv‹Ý í0=@ÄýãÊ`°ûŸþÀÖ?ÇýÓër€”�‘..¢�v}Øæ¸ºu$i,𩇁Ï2�Pðy@�œ¸�Àç�z+0©ÿ™�hïÁ��´
+
^oTju2µZ¡Uªå­–úÚÑ;·"ÏÊŸÿíéy’›®f¡Ø$åZxE83S O”ñèx'¯Ì~^™Nÿì&íïS�p÷À•½O̶°æ8+1«YXnû—¯Dÿò[jݲÐâ×üKßö,[ì^±Žþ\óÐ(êúõ¬[á]Üÿ*ÿÆ5¾ë¼›7z€Pøßÿ. üywmñìÞêÛ»=vxÏØ¶uñ][©Ý[ÇßzE÷/W³‹4RžIÄBEM™Ë+�:Џ=ÿ 1bĈÑÇ#\,Jî;8'Pæ°­\xÑÖUÀšòsßüòD}-Pã3�À}ŒWžûÏ��pÿPÉI�ÀýSãQäþ£Ðýg�º¿ÎÿÁî? �É¡��ãC=ƒ.�©î~��“Ý=1WWÀfœt™¨^3ÕÑ>²¸ÿ“"žòѹöG*R¾_Ü%(î䨸…]lt‡ÊÕ NèÌ-8÷íú$~pˆˆ�Þ1]Ü’>N��ð"Mây%ûF÷üS ;^þ“ûâ¹áÆFcC£AÞAwÿJ�\ÿs/�Àî‡ÿIà7þæ»4ógªî[âþï�dÍ�Øý“ðŽû'¾‘<É�À§få0�ùEæ0@Žû'I¢Ú$˜žB @0€�`ÑG‚Ò[ïU�€0�� ð0€ŽÉš�“NoÕ›-z³FklS*[`ɍòöžæÆHsÃ衽­¿ùËH›ç‹ óa�ؤ‹fõ e¢õ¨'…aÐÕ'»ð�xÀ µ´ý0�tó‹íìÂNq¹QP"ç+æò»¾óUê­¿/z5°ôMß;‹<+–b�^»rxír÷†U@ލ«û_ïÛ²ilë&ÏŽ-0ê¿s‹øºÉ·{³wÏ6ï¾íÑcFßÝܵ-½gµkkð•Û¿òDSO+æšÑ5 ^^³H³ûS ”DŒ1bÄèãBe‚/Ù¢ 2äþáu[[Á»Z%¸ò£ïR&= Sãt›Eìí?må¹ÿ\�€›¡ð?pÿ�Â8üŸ A÷��îŒÃÿ™êÿìî¿@ƒ}ñ»pü?j�H¸ú]}‰îž¨ÕÔ*)³šR4¹wmTüúçuO>z“]
+
GÏ+Ò—?lçÀÍÎøEFö{6jž�x2GÞÛõIÊŽöùrÂÁ£°r¸u0+¥ìºù‚ËOÎoûŸßŒž8ì­¯·ÖÖ©›?ÑË•zyi�Ш•Ðýõ÷�zñ½îŸ¸ �ØJÑÝÿ½bÿØý“‘-$ðŸþe·ý"î,â“Ó½>~LþxŸ3ðÓµ�˜�zàŸ~Šà6�²H�3�½
+
È“�ù[ƒM JO@  �= �ƒ¯ô$��“R§–) z‹ÉæTèt�± *•­½µûv %kܹùêwž¾2O(›+ЋÊÂR”p$î?³w7ª“áìÜgàù‚û
+
^¶²×q\߉»¬Ù=ÂRðÀ�®}•|}%OYÉþ÷$Þz%²ä­à²·|+­Z6ºvùк•@£Wm\íÙ´¸Ï–õÞ-›ÜÛ6—ïFe?��  �ðíßéÞ¿klß®ÐÁ}þw·P‡÷Q{·[õÓºG¥
+
)ß b›…pòéáL«wÊTþ0�Àˆ#FÿH‘,4þ£-Ó\fâ”àqÕ*©àò<ñÿü)5ÐOSñ8Ýlá;xêÞU@yî
+
�’™ðWÿ�Àá:�¤}Óªÿé��{àüŸñ¾ ‰�é®nª³‹� l£ÎŸPüò§§¹e5ÜrëÂ*û”tW°{$åVv•Wä—›ø%8²ŽÓÑ8�‡wïy ��)"�¿,„Ý8_xqäò÷¾åÚº1ÙÖ:Ðܤ»Ó ‘+Ú[ez¥Z¯TêÕ*­
+
Nü4è€Ý§ïû‹Àb3��v‡�8*
+
|žžþÇ�?ì,zû/¶þ$äFuÿdÅаÿ�À&Äþ‰û§;~¼rO¸Oùúì@ΚÑýOfÛ�rò�H�@xúÎ�y �·ÃI�Úî`3ÌÂI.�´‚ îœ¡@x(x€60Û´ “Ö¨Ó4Z£Z­Õ©Ô&¹¼»£ÝuëZ¼¡Æ½{ l–©T–Ïq�|•ع6Î�VA!ø Û¥¬Ì²l3Ö‡€ìPÑ)�Èä²]è[ef!K/fÉ+ùÁ?ýžZµ$öÎ[£oý=¼qóÚþUËF6­\¿
+
hhÃêэkÜ×»·ltoÙ<ºmËð»›GwAÓܳ(°{‹f�Þ =0¸kû؁=Ǐø·o¢Žì£î”ï²ùM¥ÖJ³R`e Hy=ÂrsɬlÓs¦äW+=PW[FŒ1úl ߦ� *sйfN™CÂ×/”â›–½EõõB�HßÓëϸè.-�iØþ ÷K'a P|"3�4ŽÀ$@¦ý×Ãÿ^o
+
ÿA��ñÖ¿É»w¡úýƒÑ¾þPoo¸¯/Ö?0îpŒët”AOéTÁ];n?û­«Ra[¥ÀXÁwˆ8¨Œ>rñ@}zކ¢pýíƒ�vQ1o6ÜjST¦³%Ük ¥»ç‰£'ŽDkkºnÜèíè0´·«J¹\®Qth•
+
J‰Ý?þD6ü‚•Í�j·ØVàuèî×ýã✠€€þ±û'z�3Œ$nK�Ì�$öO��3ÀŒ0ý,ûì,�Þ�0ÐÏÌ�$Á„€Æ�S{“<@N?��Ì�Ó;¦ò�x.™
+
Š�À®3Ú5³ÖhÔÀ‡ ~Ä”ZBaVÈÍwjFkýWNk_ùóͧ¯Ÿ'î¨à…åðÄ-‚5ˆ‚b`ÐÍ‚b³¨ ^v§��2�ýÒü~„ª}2.'p.ÊLuÀï¢jB„«úÒBÿŸŸ£Ö¯L®Y6¶ì-8týÊÑÍë7®Ú´þß¼ºÿm›Æ¶mÙ±upçæaõìÅ�°Í¿{‡wß.`ý½‡÷ŽŠž::²cóØÖ Ô©CÔÞ­æï~³YÄQ‰y&)Ï,(í”:ØsºùÅy�]šPŒ1bÄèã�t5†å£™Á b®Sj“ð4 +ŽË­k–Qwû¡Aÿ€!×û@*‘žŒ''2ó¨ ˜ ·ÿÂÊ´ûoXÿLûïH�P#q×@¸§/Ø×ìï w:àv¿&=¥VŽmÝÔò£ïWÏ—6
+
9z1·[¨àæVŸfvù͸\‰
+
oCÙývK‚wI—´ ¸#{޵Šß.å]–òÎ>õ¸eùÏå —/YjkL­­íÐëuµˆîþ3C?ÍF«Å„·ûµ!ÁúŸÎ©Áÿô±?}hòOŽõÇ•ù�@Ü׌I€÷�ÄNÞ»`úYöÙYŸS�Èg�‚9 €„~ Î'�y 0P©Êߌ0���Â��€p6€4c��`ÕØ´€ôFµÖ B� Rk•r£¼ÕÞ\ën¬öŸ?¦}ùWŸz´ºB ‘ðBn·€ãâ–usŠ»ùÀ›ys°S§�±Èï_x´(Ú^ͳcžQ�>C¾èÿ\f±›ø,Ó·¾:þ·?Sk–…ÞyÛ»r‰oÓš»k``xóÚ‘-F·ntoÝ÷üھݽsûЮ-Ã{·xö�ØÜØó®oÿ;C'ŽŒÚë9z |â°gïŽðÔÉá×^2<óÕz§]ĶTòìÂR+ëá
+
6ÉTL5.gG—2bĈ£€¦ßÐ<Ä�ž[b‘póDG¥Üží©Ñ!§ÿ_�@ö�Ùð?��Üþ Ý,’ R¡@2èO ûOx¡ûŸt»Sc£P£#¸ø�œýïêKö ŇC½.ŸÃ±è)ƒŠR¶¹·l¬ýö7ÎrY­}ß",s Ë»9…pn&ÎÐÄ")²HyPuî �¸9ƒ_l³µó%×%¼s_\Øð‡ÿŽÜ¸Öwóšáæ §R©“·775Lú¥\£QeöüÊZ\÷o3íf�ŽìØg—£Ë•Ù•Tÿ“ð?i›ÄÖWS£ êTé?‰ú“Eÿ“–ß|÷ñ{qZý±þxaëŸF}–Öç�R÷n 'ò ŠZð镟ðù2U@D$ @ïÀ �…ª€èI� ð|¥o€Ë¬@z#”FoQëÌ*­¶F¥RXŒ][ƒµîF¸¥ÎêHÓï~}²JÒ>Oj’»$‚nÛYZØÅ.ê–8„0@�ìþ?0�ð¡ûBI€i�8ÊŽ�—<›€e¨¶Jùöï|-ñÚ_©5KÃ+{V¿ãÞ°Š�Èýoó¼»�ÀÈžm£{·z÷m÷íÝ�¸ÿ¾Ýþ{��„O9¸gøÀ®Øù“ãçNŒîÝîÞº–:°Çý›Ÿ|¤VP¦ªäؤpñê•”÷Ÿy‘�ð7÷ 1bĈÑÇ!:�dÂF(ã³õè2Û«ø'ˆF£©xì£�<��ŒýOÄ€û‡áÿ{@Ú=šF��ÜÿäàÝÄ@�€ñîÞÔÀP¼¯/ê°¦º,”Ь½:²eÝõ¯?uY¿#d›æ‰­bŽ™Sà丸Eh·c– ‰`@¶!­$‹@Øý?ˆ)+ëa{8"ÓITp¦J\ÿëÿ¸{è@ïõ+Ά:k[‹M§Q´·µ··ͺ¦–zµºzìÿX†i�Ðiïìvvövåôþ’É?t÷�TÏþǍ¿9mç»àâftÿt� »�>;‹ätfd�‚tˆeK€ðÙEƒAñ @ò�he’�Àúƒ¯8p/€ša4h7Ù €É`Ì`€^oÓꬭE­1ªµ:V¥‚{mh”íêúš–úHs}ç®m5¿øé…U-bžQ"ìóì2��=ÂRÀ�ørƒjxJ\Ó÷xÿBæ¾�vR4_hz=´þ¨ö<™Dl¥¥}t®ûW?£–¼{v¿»Å½a `€ÑÍ`ýÌ�lól0ÀØž­ž½Û€û÷ïÛéÛ›qÿþCû=÷øž:â=v`ìȾÐÉÑÓG'O¥N§ÞÝæüݯn?*½#*S‰Ë¬–Í1pfw=Ã�M¹æ#FŒ1úx„¢BY�èägFS �(4U°š¤¬SI§Q>wr"úA�ý§?A�Ø<ÏTÿÇРp3@Êïƒ�à±àþIø?58€ÂÿpøOzhhÒÕ=n·P6ªÛN5ßî^úzõמ¼*âÈæŠtR¾QXnʲ±gÎº¸%€²[hAefþL%@àá?€ÖËÂ)Ö²‹ UÂæ*áIçÆžíÞ¾É{»ÚR}Ý®éeí²–æ–æF¹¼Ø¥Z��H£Skõ°"ˆd�0�8­¹�0£û'“ò3�ùÕÿtëÿžîÇp1�Ë—ãþ‰EüÌ»êó �©é @ΆÉé p/�À�„h�NJf�B¤8¿ o2ÐT�·cám �X,f³|œ�ص:d�`���rœ¹kTÊ-Mõƒ- c57ïî}÷æ·¿v£RÀZUáñzxå��œ¼B|!Ʊù �(ÀÜÿ×AOÂÿ�²­N0õib‚Kd‡°\÷ä#?þŽZ»"¾nU`ÝJïÆÕîMkÑÖ¿ǶÀúÞ;ü{¶ùömõïہ�`—oßßÁ}þ#¢gŽÝݽÅwbìÂqÏÑý@á“GS—ÎE¢ÎžˆmZcùåOîÌå×±6HØ61 wbÑÚ°01�Àˆ#Fÿ0M�}/ÅÂR=¯È2—[_Qvæ iäÒ ��ñ‰¸cçÞÂï¿Þ �¨xœšœ¸� éŸ¨þ¸� ð?€H—}Üi¥z;©.uó²õï/ÜzêÑ«¼RU•ÐR%�‡`âõ/à;„Ŧ²‡*9èöŠvÞÄ›oâd8zpÙO�`˜ Ý…óß±OL°sOÄÖVðdUâKbÞ¹/?a}gQ úš£úеµ8 YKc[k³N«V«òvXРɏA �À`š*rX̝6+°2Î,�8{¦ þŸÑý�À&
+
»þÏF]§Õýc{v÷1{Ÿg÷O}�ÿRé�$=„1�3�90à3,?øp€ˆôçç î ��DÆ‘˜,üÏd´ v­Æ®V[ÕÀ�Z¥JÙ¡Òjµ&ÆØÒbo¨nnŠÕÝê\ñæg¿zSÊSΕ8¤‚nË%(±±gá™h¸o&D*?0�€ÿ �¦zž2©€lÿ¼ÆñK­Ü«°YXnùö×b¯¿œZ¿ÊýÎbÿF8ýÓ»e“gÛfï¶í¾í;ü;vùw¼ܳ=´w[ÀnïÞÝÞ{½‡÷û Ÿ9Ö·{³çØÞàéCáSG�xís>à9ytüÜ êØþ䦕¶§^\ª­àXÅ<u!+üÂ�`Ĉ£œH¡ �”=†�`åëy¶ùü:qÉ™'$ãWORÞ¡‰ñðG�ÉDí�0 «€€ûO† õÂópûoÒ=”€ÁÄÐTø²ßå³Ýʬ _8¥þãï/ͯ¼Å)ÓWðí®_láÎé’”�è®d™9¦²‡1ðdU’yÉ=Íý»8¬·¸Œ²Ë Rbž¤ºBpý©'L¯¼ä?wr¤î¦¹®Ú(oVu´ÐjTv³Å¨ÖªÑ PNCwÿ&‹·ÿ:­àþ»öN'�2÷�qÿ3ÿÀŽJìþs� ÇýÓcÿعÑýìÎèþ“Ÿ›Ê²>×�@g�:�Ð`’¶E@NN€0�I ˜�’
+
�@€ôÓ€ž ÝÀàNÀ¡@6èþáÂEuz-`�”ÐT£ÎRÉ;tí2s[›½©iðÎmªé–â…ßž~¤²f®X%� wŠÊ�� È=ý‰�€žȽ
+
8QaOþ“H™áet� OÜ'�€�^æevv¡³Š§®`Ws
+
tßy:±ä jÓÚèÆuÁM›|[·z·oCîÿÝл;Ã;w†÷ì��Ú· �€oßρý¾#ǹî<¿pbdÿðxüÂéà©ãÁs§¢W/;?u„ºzηèoÍO-T,¨Ðˆ8›ì
+
œ}a¸Èԁg1&÷`g|’#FŒ½OM/=Å»OÂgÌÜB=¿Ø±Px[TxúqñäµS”gp2†·ìœ;xV3> <[ŽmC7üdbrb2>;€ãi´ p2JáàÿD�îü…«ÿõOŒá“#C“Ù€¾þt¯‹êwRv]àìñ¦ÿþϳs%5BŽ¡JØ-Ø8…nAo¸¹iŠÿ ÜVz«xÆÒYøxéº�¸>~�È¿‹eîÑÙ |²åI0On³TUÂ;sE§*M¿ú9¸ÉúïÔ¯_q锚Ž6EG›F£R*äŠvhý-:Ø ¨˨ƒÅ?ftÿ“þt:lÀ÷÷t:ae3ýéêìîÉ„ÿ1�±?@¤æ[ÜN‰jª3îŸ��½ò‡„ÿsbÿÄý3�³>×�@~ëd‘‚�^8@Ü?€{1�€iûƒ…»×GGGGFF†ÑBënv ô÷÷÷¡Õ >huwwÃ6§ÓápØÑ²‚Ï“Ùh0è z­Ñ ³ô@f½Î¨ÕhÔJ•B >¹\ß!3Èe­ÍÞúºÈås/<|´¶Jhx¤ÂTÁê—öJʻ؝¬Â>^Y/¿ì®˜Ó#,W>ôÿÐ/äҐmê"šK&±©oÑÿ8ý[eNvI¿ÜÊ/6T”*¤¥·¦ï|…Z·<µn]|ÛöÀ¶Ã›¶ŒlÞÞ½'¶k·wóF8÷sÏ6\ý8°Ïh¿ÿð!ÿ‘@£BÇ…ŽöŸ8ì;qÔsú˜÷ì©À¹3±Ë§Ž{í¥ÎYüú…UŠùUz!¯›Ï…-YåE=¼RðšÁk°KÊñ†h8-€%“®¥½øHsždĈ#FP™±ÙÙÓð¦€Ê2Y:^‰e.·AZzú aôü!Ê=8òƒ[v2kîST(A%'Ó)üd枎~&~"…þB:‰w�·ô8Ðd"ŸŒˆOÄ&cÑT$šEҁ@ÒçôŒMŽÁØ?ìýŽ öO¸‡Ϥ,><s¹âÎÊá¤æÁík~ôìÕÇæÞ©ä+*Xf)ÛQÁ·HöB9ptט~g¤¿ ¨+ód6sžÿÙòïbøæn–8Ä%UÜ^n©³èánV‰ƒ[®”©ªøêÇçŸrÿãÇÞ½ 5ÎúZsK‹¦µMÝ¡P);Th»_¸í—V«Óé ÿ7M&“-X­`³ßâ@«ÓÜ'°4ÀØ�{ÓÓãdÞ?V~øÇþ1ëŸãþqà»:�äøþ‰¼ÑŸ9 0å?ës
+
�÷b€�Ÿ1ùî/�yÍ�Ó6ÃÍ+˜è0ˆ�Â�t��ŸüùA$D�3ø”éMhS=¼Á€½2€ZwáÆ2Êd] ¡–¦‘cG~ÿËsJ¯‰JÛÅ¥f1Ú$˜Uà(›ã,/‚_9E•œáBš³Ï\ ð5‚6Û's)¡ÿØû¼�qË\B¶…[¨ãÏ6T•**ËTW¸~ò=jåòÔÆÍþ[Ü[·‡öîïÝܱ-´s+vÿ¾½»ü`õ¿ï0�Ä�¡£‡ÂÇ�?
+
�À{ú$�€á#‡BçÏÆ®\òŸ9‘¾r:~Ôø_¿¬–JŒóªº$‚·_Pêâ¢QH¢2¸
+
g¦@þX¤üK'#FŒ1ú ƒ¡ ò�€eã³µÜb��MUåÇáNí¥¼#“¡�5�)ØÁ‡��(�Ù\@š�8 �îý… I�àþã±D�ŒPþ �ÄÇÜq7 ÿà €×ìëí
+
ôRîjÔMÙœT‹Ìúö[Í?üލywÄœa©QTlÛE…p–¸3¢ sfïùûÀ'£ÎìÛNndöìän§ÀΙÓÏ)ð<»€£®à¶Ì^²ëžýFç†åÞš+ 5šÆƒL©‘«Ôr�äþÕZ½�qÿ�°{Ëé„�@Ü?XôÒ’Èý9•È�lºè÷¿>w�@å1@ ä0�Ýýc�À'= @� ”Ý!» �¤j-FÐ"�Ã�ು��N€…X�2€Í‚B `A»m�ŸF½
+
�€¾C¦mhèkm޶7Þ]ûó=;gW7Ÿo“rº$¬«GX.æÒ‡õe³:Åå3�a€ü$@þUæ>‚…SÚ_Á·ñ‹5ì‡ÌÒrã<®LÌj”ò=Ïý!±bå$pÿÛw„÷î îÝíywkp/œüãÝ·Ë·Vÿû�Ößwä€ÿèA à±C‘ãG€ÂǏ…Nœœ::s6|öLðÜ™øõ«¾³''P7®¤·o1ýä‡ÍRQ·Ü*b»Ä,;»ÐÁ+‡7fϼ¶LÍ�<«aÚûSÇɈ#FŒ>¨à%VŸfã)]¨Úg�4œ"s§m÷PeéèÁ­”,Ñj}€£O¤©I €™§3FŸF©•ž„J%!,$2ÃRñ <4‹ÁØ$L…Ô?Hùý��&¼c1;:s»S~tpÐßeŸtuRƒ”Í<ѺhÑå/~ñ¦DØ$ähD³�f’»…îl|k@îŸ�ðþøq �¬û;¶ÌT pO·~p[ì)/éc—urXV1_5¯¢zžðÌãómKވݾ6ÒZ§½S£jmÖ*4*™Z¥�‚ÑFºC§Uêô*A d0pø»«ÕJÂÿØýOÿâgÒø‹•ïþ1�à™Š�èá �ùî?š€÷O� Çý3�ðùZ90#Ѐþ'ñ9G`Æðÿ}��åçÀg3�I`@A™R œ
+
€ÃA :<%Ô ®1hÔ�Ôr­B¦ª¿ÝÛÜi¬íÛ±®ñß¿ñ„´¡Š«—…¥p>&·¸¿‚Û[Á�`æd.Íù �Nà*þ¹Nq©žû°IXlª`©Å¬v _ùä=úõîŽôž]pèέþ»Æöl‡îßÿþ½0üè ïÈ!`ý}ǏŸ89y4|üDøäÉÈÉ3‘3ç’×®�˜¸v%ré‚ûÈAêÂêü)jóúö¯<Y'`Éø¥–Jž[dbÏé– È0Å—ï �Sã²�@«àÌ="FŒ1bôþD¿ØBá±lŽÐ©d+—tm^NùƨHVód<~‚¢&)�iø�5gkƒ¦0 §Òñ àá?(ŠO¦'&Sãq*§¢1* ‹¨Pˆòx �ø<Ñ€7â÷ļ¾q¯/<p752L Ý¥º”¼=pô`Û~wzþÜ;UÒ‰ÐZ)êªàƒG¯ ¨ORge�g�>îbž'T|•ۍžÉ„½€z$ì«“Ul))´ò8º
+
qC¥èü#RõË;wÂ/o45Ö(ë•
+
…\ÙÞځ6üUÿ€û×ëTzƒÚ`@¥ÿ¨þ[°pý­|÷}ê?™ü“Óø›ýã©*3„ÿC÷Þñ÷¹ÿÔgwÇß{­Ï5�à5#“ƒ��a�B–tÀ(:� [ÿ÷«€p?�=�îÈg��po0”0õÀ÷[ÌFRdÔj0�(rƒÉ¨’ËtõuÃÍ uÕ=ëWÜúî×Îð‹[ªxq¹MÌÒý³={ ’cçt
+
Šï�3*ÿóž�Ù‰ m�i–šDlóÜŠfÇðÌ×â‹Þ ö¾ë۴ƽccèØþá]Û‘ûß8pÀè ¬ü9z8pì,ú?~0pòpðÔÑÐécAàþOŠž: � tætèüÙ‰k×R·nŽ_¹?w
+
2À™ãÁE¯ª¾ýtm»½¢¸‰_ÒÅ/íä¢fhØÇ<LØŒö `�€#FŒ>´HZd]rŠÙfQ™A\f|ªê¨Dûöß©»ýT$
+
‹}ÒI:� H Áq?S‚l�§Ò¸i 1I¥&Òéñ4MPáI*<N…PñO0”vQcî„×3ðFƒ¾XÈS~ÿ¸«¢z\ԝھµ+Û~ñ“+ +Ï—ÌVKøF!Ë)dÁÞeÖ¬QÑ@e¹S„¶3ÇB4‡Cfy‡ÿɪ¨“?Ç)˜“í=ÈÌæ,¬9‚R«È!äÚίp.J… ?ÿÉØ™c#u¶¦Û²ú`'T* pÿ*™Z§Ôê՝V Ü¿A¯65FàCLzþÇÖ/T¶�WZ´Ø?\8üOf¢àð?±þ9îßçóÐÝ?�xÑýƒ•ãþ±õÏwÿÄþ‘³és²�È,r¤¦3�>]ßO¯"I�°0’æçˆûÏ�‚ô<�X¤3�þð ÏÜ���d�Tüƒ À “N @§‚=Á2¥Êh4kÛZMµ5Ö¦ØµËúW_ºú•Çkˆ›E¬®G¥À…ë˾Ð-*µ²gãö¬�p~¤ Ð%(ÿ™3Û)*é®`Ûe&N‰IÀÒWŠlÛŸM®Z<±m}`צÐáÝî};ûö÷�
+
:<r8xôHwýž<8}Äæ˜ÿ̉àéSÁÓg"g.DÎ^ôŸ<¿~5réRäÊåÉ×W/QW.RgSçOõ½ôüõÇ+®ŠÛ+ØÖ*¾KÈîá•¢pÈ<Ë(û"q×T-UG7ä#FŒ1z‚îŸTž`÷ä•Ù%l-·Ðú•…'ÅåÏý†Òë¨P„J �€ €‹ü3€4üìÆÂ0L—Æ?ŠüP�@,EEST$ 4ŽÜ„
+
ÓOÒã™ô{ã~/`�ðü‘¥ú(‹%qãšsé[5ÿòµó‚ò[œb„m²,ÜB;·ÀÁmçÌêvKK,üÙ¨’2eUžÉv?8*² ç�Ñ;Êlüb#»PÃ*4H²ù•çœÛ?ønàðþ±ÛÕŽ¦;ІÛmÍ:�@G«Ü¨Ö÷ û74F“¶#Z2áâþqøŸ¸þÇîW:л~é#ÿ§×ýcëïA›,Mý™)¼…ˆõ§»þÏqÿ�rÜŠ€Ïí¢çði1#T��Â�$ ¢uϘ
+
 ·ÓSô<�é¦'@� r8lpw�T„�Èj4dæ©Ômm2FgPi´ ]wêÃMS'o¿~íKž.›­}Dâ|Dd¸¤e]‚Â~IšÍ<•Ÿ%׺é§÷ç]bÞC‚bgŽ…;Ç!,uÊa"·ÄÌ-uÎÉø¥ÍU‚Οÿ ¶ò­Ä®¡}[ûw…÷ï î?:p8tð�€Ð±£¡ã‡C'Nö9â?wÜwþ¤ïÜiÿÙ³Á³Âç/E/^¾ßwæŒÿü9À�±+—¨êë“OS×ÎÇ÷oÓÿþçW×WòtU‡€Ý/dÑ s€èæ„3¹h#÷’žLÝ$Êä#FŒ1z?Â÷\ö“½‰Àü*0 ÝlEñœO-¼(á\ÿñ÷b·oS?5™ÌŽö'…@8ü¾‘H@¥2í¿HÐñg“¸'8™ ÒñKPÑ8š Â1þQÁ PÊïO|@“þ±„g89ÜOõ¹`ÙO[ëèþ½ÊçÿPûÌWoJw8Ej~IW×))µð ì¢BgE‘U8Û $.Ðór��€©1Ó„àû,,°ˆ€¦µ,ƒouK9~‘R\ÞTÉ¿(Ö|ï;ý[6¤[š»oטš5í­J…\­T©•C‡Æ¬ÒÕ0Ȉݿɨ5™u°ÙŠv)Eá8²Ð«ÿQÙ”û'áäþÑ^¨ƒxæV¾ûÇ��Ü?RfÑ�ø®Ýÿ8Úñ—¬|ëv}ØæúÂÏúb� ³f,"ë^ @�Â�fd�Œ÷ʐ$�X¤¥@fŒn,‚<0À»Ùd31赆¶–v=Ü,L£¾}»§¾!ÞÚ:qá‚æÏÏ•òëˆÔeÜY&Ál û ="8˜™�3�øà)Î"N§°°S\jåKgÛ8Å="NoÏþ­…’&^Áí*öÈ_~K½»n|çÆñ};#ûöÁðÿƒ¡C‡BG„`Ý?��ÿÙ£¾óÇ=çOzΟöœ?8)táRìÒåÐù³€Rµ5Ñ×Àó“Õ×#—ύ_:MµÕMÚÑþ³ïÖ>RÑ*áé8pQv'cX”=4xùÆG·¬]�WO>`}]Œ1bôiº~¢±?Ø(C‹ ƒ/6ΜÞ
+
Ž|Öÿ×ýÅy×EìKÏ|9xî 54B'2Ö>³½¦1@&‚?ˆ�‚C
+
N‚›ÅÆ©h”
+
G¨P @*L‡B©P€
+
x©±!j°rÙ(«žÒÊû6®¹óÓá³.±Jt *z¯ê­âu Kœ¢wðÐi‰Q8[ÏŸešÅxœ´•ÓÀÌ‚Mþ;ð
+
¼*`ýÍPð6^'.sÏë…’2Ý—çU?Vqâñ¶åKÓÍM]×®[êë2™A­ËÚd-­•ƦÖkÛÚá~£4��®wýb�Àî�)ý§@6ü€þs� ÛõKwÿ� ×ÿ`Ç•�$D›ãþó€X>�>× ÿú óƒœ7äLš1 €1�,z€‘…+Øè@Ÿ
+
Jo¦�)Bµ@YߏÃÿ6‹Ýf±¡½6¬Æ�¼3€I§Åµ@µR¡Pttt¨e¦Ö6À�c5·¼Ç´ýÏoN="©žÇÓ>!ÖŠgkËÿO7°æSúæ&ð$ò¯2÷Ufã0\ƒˆcíø[.)GÃ~ØXÅ‘Ïåܪâ þñ¿¨Ã»ïn‰Úïß»Ç{`oðØ¡¬úìŸ:<sÔ{g¼Ïû.\
+
\¸½x)zéBôòåèÕ+‘k×ÃׯGn\‹Ü¼2^s5qëU}~|çzՏŸ­•òÕa§Tˆ
+
Ÿ
+
º…]‚bð2,ÜB8L ¬MÂ×Ç�Œ1bôÝSf�€Á¹<§¨·‚§á•ÖK¸×¾ô¨ìŨž~ÊíOG'SIÜô‹MDüáIàæ“q 4øF:4I%’i é%é$œ”œ ’1*5A‡“¾±Èè иw (:æ¦À|h(Òå¤z:©eQîQ>ÿ_Ÿ˜_³PÚZ%RKø¾”àf0ؽ&Ê
+
ÕùàªQ\2Š«F3…£yïÀ'(pÏ5q
+
zæ œR®Wê²»yåv¡™[(ç¾:Xä`¿sÅÒxMuß­šÎæsK‹^Ö®QÈ´J¹N¡0*”•ÚªV™´*Rÿü†Õh²˜Ì¸ö[z×/XØÆÐcÿÈý£½PQ ½þhÆú |ëO¯þ'fŒØ³ߟûÇ‹�få�a�rMÒ:è�0NËD§×Ý‹èå@ôZ z�Br�¬îîN¸-0b���° è�`Ö© ¥R­)
+
•F¡´¶¶÷64N¶µ ÜÝöܯÏ,_à>¤šWæZÈ1³þ9gDC¾ß¥3€ý£��üÿqIY~YRª›Ëm¬`+¾òxàå?QûwÆvo ìß8 äÔ14ýóàÄÙQØþ{Ôe��ø/^^„%@±Ë �„nÞÞ¼ª¾®¹€ºx½ôÍæ¯?UËçªÄ&üª¸Åà:¾:Ñþç61 |E…@ðjŽvJ~/èŒ1bô)J/O�Œ‘Íä z„¥¶ò9=¶UÄVÌ^q¯÷Yª¹™êJ�Ç™˜œ„£?¢áXÀã…ÍÁÀܧãi*Žº~'Óéd¶
+
 ¢`0„àûQ*Žú†Ã?&âðïÆ'Ò¡PÀå‚ÿ¡5Ð3yý¢cék ?þö¥y¼ÆùBy%W/f[„™-bÈ! à¬ðA5?™8‘+S/:U2ú`ŒºÄðšue³Mes`xKÀî±­U\å^õîÙ/V¶<ÿ_c'»oß6ÖÔ[eºÖV¼]­’éUFe‡E¥´¢Þ_ÿ1t6ƒÉn4ÛMЃ`�ÈúIwÿÙØ?\ùÖ?oîç´ �.¬ »ì»è�@÷fÄ¼Ý �èÏï"g@z:à“†�ù@¸c�)¢  �XôB Ò 0”Ý!x& �§.Â�°Àas �`5f’�ÀýÛtj“V©Ñ*Ze‡NîÒË•ö–öþºύë};¶ÜüɳDžÅí ½OJœ‡ómýŒ$ð¿€üV0‡°¸KZn%å* «–S¬{úIjù¢ÉǏìÛ8¾?|î¸ÿš¼x6zêXôôñЙ“ó§Î.œ^¸ŒK€��Ä®\‰\¿¾~5„ÜðVu úF¬îV¢æU{ƒ:ºï¥¿Ô<öÈOWÁ± ËáÔ66Ü£ [ÀrˆXfAi6´œÌýàÇˈ#FŒ2‚a8ú“mã³á´pEE�à`ϱ³fwóKm¼RC•ð¿üô<©sÕrªÇEE"é¼¥N¤ÓqTåGQ}€ø4�€ws¸X*9‘JŽ'±dümÏÄD >ŽÇ‚á@<è÷úâC#”ÛMõöRZ ¸­´ý÷ž}DrQXr‡_¤©`™EÐôã”*[Âùj¨l¡?ø+E9,âþq¨éAìësÍeEVvQ—å”¯àf§¨`ÝžÇ=±ßðÛ;y0P»ëv®±EÛÞ¡–ÉTJ™J-Siåµ\¯é�v„¬¿þNÃi0w-N³Õa±Â˜d�ˆûÇ�€{éîp03ï?¿ñ—ˆ�€ý“À?Ý}á…]vh÷rÿÄã¥>ÇîŸb� gå3�9ur�Ÿ^÷b�’
+
È/¢Wá$@>ÐShA.À�0e€N§ˆä�ØL°è5v½Æ¬SiuJ¥N¥ÐiTj­V¡1·+mõMÀëÎõ+ê~ø­Kìzn¡^T#ßÓÍýý³ù—˜û
+
Í€ƒWüÌ$8Ô ­¶‘5«§’m¸–J^‡°¼­‚oþî3k–R‡wMÝí9´=xMþ9zpü̉Øéã@á³§‚çÏ/^�
+
_¼ ¬ìʥص«��"7®…«¯‡oU‡jnªoÆëëcÕÕñkW¨º[Ô©ãÖ?>we~øWt"–CÈír»¸,��N!KÏ™ƒ÷GĈüC÷=3bĈ#'E?3�p!¸¸%ÆÒÙFa¹j¾øºTpá›O§›¨Ñ!*½c~_(1™À!~柚 „§‚fƒ¦¨4€É$Úýÿäd,<î÷$¼Ê ¼ØcÐÕå;sJöò‹W¾ó sÅÕb–b.×6Ÿ.þॢm³¦e-`•?ú~ìþhç/þÇ•?Ù]eˆr߁OPàwñYÖÒ‚ ·G¶q`½«ZTÞTÉ=&.»öoßîÙµ)ÜPÓWwÛx§Á(W©dJ¥B®TÉTšµ®C£íÐiFÒhÐèPF£˜ àþ»LÖN‹ÍiµÁÂdZø»ÿ¸ãï´Ø?ö6�òÿt÷�¸ œÀ?±ûÄ}ÑÝ?€û¸ÿÏ­ï'‹€Ü•Ã�$ @€`@ÐÏœ<@>ä4c È©"-ÓS=˜H «Óä°[IÀn6�@  µèÕ€×�h ÔF§ÐÚN¹ª¿]1t§~ìÒùîÕK¯~ýKg9%†ÇçÄ,ÒàKìo¾ò/.ïOd+xTQ“5Öx+r‡°þ‘_ì”r­U|¥˜}GÈêþõOãë—RGwFŽì ßë?uÐwü`äÔ±ñÓ§bgNEΝÅ�ºt1ré
+
¶þá—#7¯„«¯Fn݈ܪŽÔÔDkëÆëêc5µ¡+W©›7¨¦úø‘ÊÿúÅÍyÂa™FijW<6œ‰&(7s
+
²32q;|‘e˜ŽòŠ#FŒ½§àÅVҍ�ÔaHÈ%.³”Ïêæ;8EFv¡u¨}žø¸ˆ­xå¯áÚ›””F‚OÀŽÇ³ûµB� Í6ÎÿI¦‰ÔädܬÃá`,ä‡ý¾á
+
R£nÊl§š,Ëßþ·=³ êŠT(›_ayDj©äiÊg+?€’,�ŽµL6€–Èîƒ:ðŒ<fçA»Y€£è±låsºEåúò‡ÅÿW+aµUòjž˜{þ;O×-÷ÖÝèk¸­»uKßÔjèP)Û*…R¥R¨µ*à€‹Ði•°îü7š f30Àý›»Í–Nt pǯ¬û¿G×oÆýc{“³é/=@ŸÿƒÝ0èωý»Oã?â~ï9þ9‹€a�°ðyóA€d�è�€€ž çîÅ�t�€„A�@“¦€Óa#µ@x
+
f�³¶êkèaÑžN«Ö)T:™JÛª�rK}ýpc}àêÓ[¯ÜüÆWnÏk$lüÆ×/ |÷ÿ¿Á�¼!ِܙ�§¸ÜÄžcçõHØA¹QP¢•ËĬúy®ßü,¹u%ulWøø߉ý¡ÓG£çNŽŸ==w:|á\ðâ¹À勁+——¯D®dÿ¡Œû¿­¹­¹|ÿäæpu]üNs¼¾1zó&ÕPGÝ©ž8¼»ñûÏTÏã7Y:‰ÀÂe;80+
+
_•6{eˆ%ó:áEÿA»¦3bĈѧD¨”_Kh �° �ôHʍ¥_p J+¹vn_¨ªäÔTñϭоù%k¦‚cT"–wÕ(ðuh¼?§¨Éõ‰•Ù 7KÇSÉñL�DÇ£Þ±tÀK…|ÔØ(e³$®^±,]rçç?;ÿØÜ+•üú*‘z¾Ô\É·¡yC9,…ufë?éã �ÀH€6÷5p Àý›ÅdÌ:ºü7á€2{–SR¬åÌÒ‰K5 …×ÄìóO-´®Y6|íÂÝ–&ý:]s³^&W´¶+erM‡• €¥æÁ¨ÕÀöB#tÿ&‹Ùj¶8,Vàþ»lf§Ãâì�`Ïwÿ}pÃ/¸èîW:÷Ÿ?ü''üÜ?�’À^‹X/¼èîŸ�@ŽûO}þæýßk1�0óÊ€|À§W>úþÇÖŸ�@N€ž
+
µ@`}  �®"�à°À$�œj2�R×™µZ“Ho„0 WkÀ§|œ;drƒZÑ­’ß­¯9{LýÊKÇ*òJ.¸xå�¾}h@�€S«0¾Ò™Ý
+
Þ.,·pŠ|8šÓÁ+6°f„E¦ù‚fayË£U=Ïý*µ{Ãäñ½¡“ûÇÏžŒ?={6rîlèÂàþ}W/y¯]
+
^½ „ÜÿµÐ­«ášk@��bµ55µ·êÃ7îÄêš­²ñƆÈíêÉÆZª¥Ö³q‰üGß¼UÅk—ðõ<–…S
+
� SPŠoKÙjN|ÑÇñªÜ#bĈ#FïCx;Åi�€B aŠ;ù.A‘KTlæÍÑ Õ D9åµÏ|ÍøÆëàJN QÑh2ŒL !ÿiô‡ †Jƒ»6•Æ?‡s?Ç'©ÈD:£Q*¤"aÊ=L™4¡kgû×½£ûÝ/j¿üèyNAÝÿÏÞ{GÇuçÞÿ~k}¹÷:±$t`zE¥H+–K·Ø–k¢8¶ãø:ŽmžŸ}ã•æ8¹‰í›8®q»Å½ÓgN¯ÓgPX�¢u3(çÛûìÁÆá HQ2IKÊy×ãñ¤¤1sÎó{÷[·Qîp$ܱ±*ÚT“uš2Í–Òy¯šïß¿ý•î\(ou]‰¬š'‚ß…ãÀý£AÒÚîá߸à™øË7ß“jmàÝuâöÀƒî³GÝ¡O}|­ûÜåñÑ3òxèH˜% *¤CX/@ð<Å +ÒÀJp2ËG¸îWŠÊ19šŒB÷ŸNH±ŒËF“郹ŸØý#�Àuÿ÷?WYüƒ¬ÿ¡é-�Ê�eîöo;ÿµ§ýÜ(t�8<~}�(ËýW€–´ý�Z�@¸¬m@éÿ�¶@’Q`ŸŽÌ Ë p}7`úh4î8ŽÉ0Ó×u-ì[é½ÐÿÑ Üßi63.¸˜ºÕ¯# e.w¢ÏýRþ!-� @�À5Ü—q™3cÌP*¹mÕQ·1û`Goí½¾×ÍýŸ¿V~õƒâñŸmŸynýÄ3¹S§ÖOŸ�p®�Àrw'ÐJ÷yàþ×ûº×ú»×z6{7‡ú��ä¯]èÙ]ÞÛ sžÑåÁnÅ7¤†’õÉž×µ¶ÛÃ.#gm�(’°ÔàÜ?rÿ)µîS�]ºtéz©‚.Y�ðŠŠæåSµÿ}ö˜3a®&ïý.º›fZ ¬ù^Þeè貘žju?ûéâЀ2=‡ö,¯*¹‚²¥ý킲LÿviéW1§6”MuÞ?øc KÊܼrùŠ"rùîèÿý§®÷¾í™ãis•×Õ$±¶ZÎZSó\Ysý%§iÒeæ Õ�Ô"ŸJ�( #íßá·†&„ÂÜYi•$,ªøKø HÅH_G•dþmÁ]ã³WO±u=ÐÚ÷þw)C= cÃQÏå÷ƒÁP(ÄФ̲A!�hþ��xÚ
+
5�¤bR*)dz€Êô?ìþ1� J‡²šœò¯¬þG�°V1ÿGË�7�œû×@:�¼@à÷M ”ÕaÈWl¨äÄ�ûCì‚�ú0 FGch5Æ•+p\î¥K3hmx„¥@pG0Ä�´�/FŠÇ£€��€]àQ�'°,KC© @‘Èú¡€èóE=©ÑÑž¾¡'>x¾Í5î²%Ž4ǁMoº÷н!m¸û`´;PívªJÚªP‰ü‹>=À—ÑCëjâê´5ÁjŒi0×?è.üß/)Oo=û“çŸ*tžY;uzùy8ügýB°þK]`ú¿·g½¯h£¯_­þÜ\ØÞœÉ{Ç€ûÊOŒîŽ ‚kŸröÙÌ?sËVñÆÛÍ’¥*ë4HMÕR#,WÛ ‡ <
+
M/»©ºtéÒõÊÑÁü·dDZŸ®—œÓ@v8Ç:\'[í§ßü(û×_Üíï…0{EY\€ÕüùM¥°¥òðInMÉ_S6—”¥9¸Õk2¥ðt¡óÜ¥ocðƒï?ñÐÑgl†¾k Ãt5ÒΦÌ>ëNîߘàËÛ?ýÆí=KëþË^9þÕ_Âê Š?s›…þ&UŽB_A]vµY{SÆÖ˜²5%Õ¶:´o!n¯JØ~GvÞ›|Èé=bÚnü£?œú™5¿_ <£a¿'
+
‘z@AÑ Ç°@+ЦQ ®ý F£¬8ˆGI9‘î? p&SSY`Q€ff¦€°{AC?5¥ÿWQáð@‹(ŠÒ£ GZQÿ¯ªÓ?±ïÇÖ» �Ø’®/Òb@¹Ïû¯:�¼@àwÌî>”�f� �˜ð;uS]¦­ €0·�®^-•Ça�@Ö_ �×uìO…sÔàénç��Ï��`��PKl$Â…Âl ÈúŒ×ŸùÉOÇþðý§6¯Ëšh¶ÆMUIÃ=3tÕkL™@��à5ÚV.(/�n]àº&™ScÐÑ4Úb
+
¾íu+ÿüEåô/¶Nürãä³ë§Ï»zóç{–NžZ9.7Ø·ÒÛ ç~öölööåúú7û‡6†��¬ ®®oúFrþÑMïÀ€­‰ñ‰qetHÜüÙ÷Ãû`÷CÎ~g]ÄY—h}²¡&fiÊ4Û$[k¬…»ŠðzªK—.]ºî´`ÈÝ$¸MD³yÜeîr[Ïm;ÿ¶ßïýðKOÿòZçÙ-߸"sÊtF™Qæf”ËYe:¦ÈäæxïÔ¯~ú»/t~ð]ϼîè3Ͷ¾#-cmÎP«ƒowˆÍfÞVÏ›«£ÖºCsO¯(•ú’Ëh*mGÍl1K�€¨­P8ªdÛkÅÖ:»áŒÃ<üþ÷]ùÉÏ–GFÙ 8¯‡xÂ! D˜!"E›�KÿYšãžga>Qä±ûG��ˆaãÜ?�äþ]AÖ�.ýGݏ¨YœEÜ?Jž®k6þn^Ÿûך~l̐UÃ� õrå>ï¿jè�ðŒ´�P‰Ú7Ÿ�´  í ¾¾¨�˜0� Ð` �Ÿ(X ¤©ª$x•ÐÖ‰<ø ƒO2:`h’£HŽ øp„ †$Æ'Š~ïäw¾ÑóηŸn¶Z­¬»‰³T'šá°N˜QO�PbC݉X}G/ ju6ÔŠm¶`«ùŒ¥šxßc;?üWåܳ°èäñ­®®Boßâ©ÓËgOçû{×û.löö÷�`sp874´><´1>¼áÍùÆs‰Mÿ8x’÷{Š~qÜ£¤â_ùá·"z¼³Å0n Gq—Q4Ô$, Y·¼ Áp_ÔR›uÂþ`]ºtéÒu4å6›.Úš„V+ÕærZ.¸lGÛž;Úúü¾ðž·}쉉OlüÉ?ùÔG†ÿü‰ï|Ãóo}øäcyãÑ“G]Ç]}ívú Ç਷6›ÜjÖŸ5‚‹¹Z‰dªªü/¾â¤žÌ—„'ÅíMà1ªîU�w.ðý&,51{-m­µ»šÍ½=šþÚWóÃÃs/=8ÀýTXÿ E†h*LSpÿÀ& ·€�@ëþµ@î?'ÿ@÷¼‡Öý#��^Hëþµk¿´Ö¹dPh­?®û׺ �Øôc߯uk(‹ÓK€´¡À z»T2�†Ë2@oÇJ@o_\ ¤9XºÑ!�>À  =
+
À‡�ˆ®Û °�àó‰�|záô.• ¨Mýe õú¦‡‡ò£ÃSßþ÷ o{ó)—ÑÛf¥;,[•èD‹±Ô�3¼Öܝ¹øQs}Ìi’]&®Íè°ößoc>òøÞϾ­\8‘?õìòóÏlœ?›ïë¹vîÌâ™S›½Ý¹¾>UýùþÜ�pÿ#@°øg|��°þûšÈù}[ÁІ/¸&ŠTÆ—¾ñUÿãoéo1û]†X«7׊Æ*x~j­K:S¶:Ùpoå+Ô¥K—.]wBàe5²©.n7FÝÖe£Zœäý­}¶Æn—éB³¹³Ír¶Õz¢Ùðœ³á¸­¦¯ÝÒënìs5Œ4=-FŸÛ@¶˜¤ëh’]péÛx`¸/m¯ÏØë£¯üëy©?aÿ¦œ´À²Ý Ù ¢½��¸BYjÁ]L°7QG\]Nóù×?ûÒ_¯^èœìëáú ÅD‚tº� ah0�r 8ý¯Mü—¹`?€P¢Öý£â¼ñ»äp0�àôÿ ZÿJ÷+� uÿ:�àÐà…£Œ0”1@QÅ�m!Ѝ0@Ë�hÅ]e'@Y-úä�•à© �õGB� ÝŒ�b�Àz–æéàBa1`{û–­á!áÿþô_®­ãfŸ½šsÁÑ@j§\{.7¥LÃ�p±N¹L‚±F°7$l²Õžo5F?ù¡ÝŸ}O¹p<wú¹å“Ïî ônötÍŸ:‘ïïßèïÛìØìî??8–Ú€± ßøºªµ€w=èÛG6)nÞØôùšP†z¯üË?L¼õÑsÆjªÍÁ; ¢úÃ=iW#SÿšÊW¨K—.]ºî„øú×ÂcX§)m7$ÌM ›1j1pæ†d‡+zÄ)¶ÛùvÛáàŽØ…£Nù¨+ÚjM´Zbn£ìlŠ7›RmÖ¨£‰m¼O2×IÆZ`…Sã¤:m"n®— 5•ÿÅW–ö‡jÀûrÚlHZŒ²Í(: Àë�-ªû²6‰¶&Êeõ;zúÁ=Ÿüó¥“ÇüHht˜!BpÝ/Lÿ«¢Ã4£�M"· -þÁ‰\ùƒÜ?ªþGÖ¿ÌýÇ‚ ŒÖý«>§T¤=�¡uÿe¦¶Xeuÿ•€m›îþ+C€[Š[g�ôv<”r‡-C�€�µÃ£¾xŒ7êÀ €û´�€Zñv°2ÀÀ½†ØH„…“[=ŽùâçO?úà¹v‹çˆ…hi”ÔN�p­™4!�€ëÐoÐÈuÛ³Ö¥œM K\Îål"ÝMÃnCÏ®ÄgÿL9þS¥çÌÊó¿Úì<[èÛèéÉ ë?°1PÊýç‡Æ¡FÆ6GÇr›Þq�«~€Pp=BäØœ?8?áQRaIåü©Äÿ÷™®ZÇÚì€à‘±µŽ®ÿÙR ^x •¯P—.]ºtÝ ñUi§i¦Å–¶6%õ“6ãE—uÊiëï«„¦jÁX̽hm7fiîEÛ»¢÷¥­ à”«ÁcÜXX¸¸ê±©:fl�ÿÚÊÿâ+Kh6Ѥ €€èhíuà¶@²5qv Ü{Ë©#Gƒñäâñã‹ã#Üp^ßë?��:Ý?KÀÊ`nÙýßzÝÿ¾õG&ç��´=�Èýc�К¨\…û¿ �èîÿæ¡À­Fࣥ2ÀïÈ­ë‚ñÄ�¸`ee¹�°*{‚q!bkÄ�HàˆK€0 ��HÅà¬.À�°_�¤R9:0�ê N2‚0êMŒ¬M¬ž:Aá³Ý=2pÌík33.˜õO« p×� é¨Ï8& sµl¨Šºìýö·qøML}ñI噟*'6OŸÈ÷õF†×úúÐÌàþ7‡FrÃÀýOäÆ<¹±ñ-¯7çóæü¾ ¿wÍï_`úŸ¤r ³F‘ëd$G„*¬D|;Ïþ*ýù'96ÞمV+k©gÕà{Ï8ô&`]ºt麂u\Ƅ۔p4J¦j¡á¹ñ¾¤¹.ko‚Sn@ƔØ´›â6SÜjŒY Y»yÊnœ�?øS.д۞07Eµqs}ÌT'j�\nwVþG_Y:�ìÉѧ‘ÚaÙOÔÚ�Ü?á¶ûÛ[{<6ö'ýå3Åp$=1âî F¼$GµÕÿÀýs4Ë3<¬‚€¬�ìþË*näþñØ ­ûG�°orÊÛQ ÐÍO�ÊÜ?ˆ2ߏí™îþo:�ÜjÜ"�à* ­ëðí!�4㶬
+
¨’pOpe'�øøá© ¸¸� ùºC�Ì�h*(C«�@þ±‰$Ã%&ü“ÃJ( ¼µçúìýîÁûÁV3BC%@•—¤Û+ɤÖkZë’&¸–+j©eMÌîn—að^ûÊ—”Þs{§7Ν�°ÔÝÜ?Ð&¬ûݝ؝Øó�|¾¢ß¿ðØî?ÌdŽ¢}žmQbòJÄ¿ìUDbÀ©ãƒïzǹw¿ËLßï–;‚µÜ9&z°.]ºtÝ ÅÕ%ñœ¥Z²ÕeZ wSÜ\7Ý›±×&,5qsmÌT#k%c}ÔÜ� a3£ü½ØPwJ:Màš~c€hSÔ�‹þgZ,@à‰ØøÊï€%@ÈýÃ!Ýj�tÿê¾8¢C´5÷?ÑÑÒ÷À±ã¾~íø©õqObhÀß{ž¢¤@x‚a"Ä!–DîŸdD–•8¸ê ¸þÃÒÿ@(Ɉ ²ëWëþ� s½ûŸ/kÿEuÑÈýßè�Û*l´
+
7÷‰B€…�/1´¦ù~|…­?Æ�üÞE,‹�ÄÚÚ
+
lØ/B$�>•]µÝÀZ��ÏÑ!�êÅA‚]ù©d&OÇc�P9
+
„¦‚¢
+
?t��Îÿ�=>ž ]Ý+C…®s'Þý–玹ºšá6»Ônã͵¼á¾„£1Ûb®¼$Ý^•&4ïï#à!Û—Ñã0LkzÃCW¿ü7Êp¿2<°Úsa¹¿gct(7>²9:²>:¼éõ\žïØö‡òÏ–× ”÷ûò`>ÚG6¡"Þ"ƒ›Ld“#r½Å’
+
I(¡€ræÔè{ßý”©~¤ÅÊ´Û{CÆÖ˜Uá§òEêÒ¥K—®Û+u¦>š5×ÎìKݺo©³(ÐÆ.¸ZÚ_8ÚΨ@ÿ’R›li%“_Uù}ei5Áþ õo üåL:ëRöÉ\#µ9ƒÇڏ;íÝð޹ÿh¡»'38(N ÑÁ±0ÿ¤Ÿ Õöß x ÃùàC‹<#ð‚ºG ÿA½¿ˆPýrÿxè'pÿÚt¤�€iAî¿ �T{³X6ú�6HØ2a…¢ *‹”û6=®�^b”�à7_Q… �è@{p£Ñ@x"PÙ!��Ô‹ƒ§‚�È&��à¶•ÝÑ~�´  �(2B@ˆA_†e≾žÝP`û¹Á}àìCmmvòˆ‹°Õ‹À7›DãÏ h�-Ž« b(GS¤Ý1Ðbc?øžüw¿©œ;­ ÷­õw¯ ô­ ö-öt/ôv_ÙðzÖ=jñºÿ‚Ï�`Ë &ráðv$¼M†rtd£VvCà
+
,§Ð´â¸øõ¯yÞû®îvLjµ^j5M7›…Ú×è� K—.]wKp­ª÷VД�@e�4¢Z­J­/íâµÁmb‹ç-Õ@i˾ï/ý;«ïè›» ýû²þ%÷þ~dãï$œõ¤¹¶ßPÓÙîêüÑ¯}uÛ3198 1¾Q"4Žx"„¸>âBaØ
+
l€À3’ÀÀJµ\@„éBíØäþpñ®ÿ)sÿ¸ú€¶úå7µÃð!ÀÍ ÌúkÝ¿Öú£(÷mz\:�¼ÄÀ§K•$€«€Ð™€�r °¾¾
+
ÔB \¤�Ì��Ê6àN��hÂ��Sé�€T2žLÄ’hC0�€ýí`CÔÁ 4EPt˜ã)Ïè¸($)’ìîN÷ô¬\ùñ÷ÿð½ÏºÍ£íNñ6ÁÞ$4U§­ •—¤Û«�¨y5‘£V©·XƬMCnæ‰\ûÖ¿*ýÝÊHÿÖ@_n¸}dpmdhel4ô"¡Õñ1��y?,Ú
+
ø €­±CÛ$™c˜už»&
+
+’¸)JEއç�Þñ¥ïüÛà[_Ö\Mµš2í&±á5¯ô†.]ºt½R´Ÿá†9 ”¼GÆ}¿Ä¥V5ú0^šƒ ×ñB[þdZ5ýÐýï �¨§
+
%Ýé)vw^0ñFr«ß\÷«ÒQm¢ÃjµsšÎ¿õ÷øþòìÙ3—FF¢cÐý“¡±Hdœ ¼4�7z‹)04,ù—dF’XQÕB² '‰£²`ý‘ûGÖ<"ë4£®ûEV§ÿüƒÝ¿êp–pÝ?®þGe?‡ºlú±¿Bî_ëû5µ?ú¯�^bàwØ ÀÖõÝÀ �;WW¯a¡C�ôXy€ši*'Ç‹û›ðr�øé$€ýÑ@Ѹ,Çö@Û¬n#"Q 'Ƈ#ïdLN‘djl"s¡«02|ù»ßî~Ç[Ž;́c-\‹nªžtÝ¥ äÁI.¼À«¼¹6î2rnë¸ËÜÛÑÌ~ô‰ÂO¾¯ õm÷œßÜ™ß ù×<£+cE"¼êÏ<�� û
+
¡ðV8œ@;$S¤˜<Ë��îÿš]“c9€¡•‘¾Ä_nð Gœu„£0À+ÿ†¡K—.]¯ i¶\ál·zýW­ÿ¾û‡C)`|‰`Ž? óýØú—2GÉÒrÉFÙÞ;eíw|Œõüd{½ä¨•¡ªÀs¡Ùàu4ö´Ùzßö¦ÈßüÕÕ³gæ½^¶·‡÷÷O†=ªû÷1d#¡ûiZâ`ُ ÊÀýó°þ€ˆÿhò²þ¨þ»”þÇÖ»lWÊrÿÈÛ¨‚éTú�näþQÖ_ëûqâ¿ÌúëEÿ·:�¼ÄÀ¾_kýÑ{1� �Z ÀoîÍÍut�¬?xD§Ú~€²N�Ü \Æ��P>jÇAý�†¥â±D�@‰Ô†`0€:D‚QeI‚¿_ …¦ifÆë»Ò×§ŒÌ~û›çÞü†çÍMÁw´£…5ÔÁ³×òKҝ’&T¶ÕÉæšT›Uèp8 v¤>óñ½ŸÿH9v·¿7×׳ëólxÆG
+
‘ÀfÀ“ zóAïVÈ·¥@!É“P‘a·.Çr¿. ë²¼•7£Ò:Ç(­ÝsÏ'ÿ÷g:ï·w6Ý#s‚{Få Ó¥K—.]·[pÖPRmo…RÞñƒŠøgÔô¿!k2 ÀåþÈô«:X‘‹÷d!ÝÍû×�ÑY |?xõŒË@Ýï>g7žüÝc/üeú©ŸÏ d<ÜØôE""â'‰�E:ÌÓOSâv_È�€8>*ˆ1Qˆª�€Ü¿�pú÷þbë_æþ‘c©tÿû&¦ÿQË/rÿÀiÜQÉýcû„m¶[(°õÇî¿Ü±éqXè�ðãV��}¥ YŒâzXߨXC €I ¬'€¶¨Œ*{‚qC0:
+
@’é�€x À�€@d™˜È1p&@0€wlÔ;2ÂúÂÈXr ¶¿wg ÷Ò¿ÿßóoxäœÓBi!¬MàbZyIºCÒO9êņ×ÀCÏ6KØmt™Æ}(ùä'”3§•ÑÑ­®®âèÐvл2>œ‹øWýãùh+ì*DB[±IR›4 ÜÿÇçy.'òyIÈË"pÿ›1Y™ž\eˆ*¬ðÄ‚ýàé6ëˆÓÈ;ïÞ÷«K—.]ÿeßoðU{|5î_#� ��Ta�(YÿÒ¿§dýK¹pÏBº ‹,ï‚â6lýkyg=ç4Dš­ýÍö <èùôŸO=ó‹Ù‰ai¸Ÿìà}>*ˆ~4òÏûga”&þÃêàþ9.. YŠíwý¢"îýEÕÿes?‘)sÿȱà®_ìþ÷ žK]¿h*ºvîg¥ûÏW��f€=ýÿ’B€—༮
+
<V�®ZÓÀ~l C�,Ô|£ý�e PÙ€„ú2êÒ¹ ��€�IDATjnðYMe’H€���÷á!€«€�È<'q,€~2¤REð{pYE2~_*â{Î_ìÝîžþÊ?ô¼éuš­D‡[¼ã“1Õ^.M%h©¾ÓZ7Ý·ÜÇ™ïå[Ì‘6ë Ó8ö¦G¦¾üJ_/ÐÎð ô¯{Gó„ÿšt3ì0'[d8OÀýo04pÿ[WàÙ¢ÀEf[ä Q)“÷f&WÕçJBVüã?û1û??vÞmc\ÆŠW¨K—.]ºn³`n[­lQ‹õá•¿¢ -¢ÁeB¥J¡Rµ®õWsä¨J~¿p%’^ ]ðÛA�€Ü?í2ûZ]ÏÛmÁlòg?¼4Ü{‰ FC~Þ㍠d$#pÝ/KQ0ùÏQ‚@óà^/Ë\4ÊIqVHòB**¦ã2œ²?ó Uþ Gìþ.«ë~o¥î»ÕêÀ®_4îöý8kÂ&jë°* ìÁtxQ¡À¯èMV/�×3À�à£�mC°¶
+
HÛ  =�ÂÍ�Hà‰�z:›Â�€ª€Ð9€�Ð!�ËP²$�D8 QžpTD$#Ó,)ôÌtŸÝí;ýÛ/?Ö6Øî¢\V ¥R4g©ø|vÿ”J›’y1º�à¿Î…_3ínȺê#5¿%9ÇÜsíP‹íÙ#¹ÿPé:¿×ß½ç_Ÿ)’X$��y2œ£á€Ã�(ð@ì¶ÀìˆìŽÌ¢B.&­H|.S¦'weY¡…¦—òãӏ>âkuðN¸i™+HìW—î'¥~«âÛÑ¥K—.]/,4TvÀ‰Ÿ¨µW#ôgJ� a�Mâ_Óì»ßò«Î*µ—æJWþwƒÂ|Rù[ImKôÁˆ^†��Ý?Ñlö¶9z¶ ¾ç] ?ÿéºwLìë"†øPói/œõ Ý?EÐ4©�FA’9)ÆË NL‹R&.O¦âÉ„Œº~‘ïGÆ�´c)Kÿ#Ç‚Ý?�Ôñ¨íú=�°eÒøe €�3À®ŠåŽMëC€_+0hj`g¿(×a$Ào_ü¶Æà‹ÊàP%ÜíÚµååe´([Ýšw8 C�\„‚§Õ˜ššB=ét:¥FBx<‹ÅÐdP8ñK­âZàiŽ%– x±�bˆ陈†ü©ñá‹ÝÅ¾îé¯}õ§v»çHkÈa›m²Ã”u[2Ž&ªê·¢Ö:µ- ž·"6Híc¾M܃;b ÔÔE¹Í=nëÀï¿ñò?IéUžkC}Ë£ƒùOá˜å±!…%·ÈðÜÈp‘a1ž'Ø-†Í³ôÇl lQâûÏÇå\BVf²;Ùt1•(F£J4¦¤3J„Xúùφ{c¯©n¤ñÞX›eÊmˆîI›î›v6%á)³A¶cp5F‘¶Vé  K—.]/Mšfß—r!=,…þ=¥¤Rå?ò íüJ'áYØjÌ4‰Æª©V ¸É²–zùˆ{¼Í~ªÍqþ]o½öì//ž;•ìï•ÆÇ8Ÿö‡èI‡)"!‰0­2�ÃP¨ÜûeQŠJrB†kCS±(Ü”Œ&SÑT:”É&PÙîúUëþâòe`ýaÌ©qõ*ð'0Ô@+—þbÿSÖø[éûµv¿X1ñ³Ü™éqk¡À¯¿>� ·;z÷c^W+ �Ð0ÀႵ…@¸@mÐ9��xn§�€d2©�Y–Ë�Fâ)žƒ �—ƒÐ$E‘€N x偞¹¾¹§Ÿf>÷¿Îkï±6‘íÍ|³…‹Ökc¦ª”³a�`ù&JÏhG1Ü!‰C°Å:pÄùÃÇ—¿ýoJß%èSBÁMŸWáØuŸ§@…Š YäÙAÜQy‚Þ‚‡�Lžgò—ò[±�,óôFLÜͦw’‰‚,+©4T0À}þ³ƒo|¨ÓZçw5F››’6XŒ”QÇÉ!�€ �KKkS¶{^Ú}K—.]ºtý—ÒÍ l¨j‡H» \Sgª‹w¸Ãm®³NKï»ßÿ÷¯^ê<™èë’GG¯ó‡Ù tÿÀóƒû8EFÀÿ14É2àÏ� <‹ŽýaËoTŠÇd44T ‰k�5þª‰ÿƒ¸rå
+
rÿWÕ@Ö›~­ûǃÿ1�`ÿ£À]�~Ý(c�ôv¬d�ôö=”ò‡MÕž\Ï�×5#�@ ÁHˆfff �@‡�7a�)
+
ë‚¢/Ãm€4Ç£ D€H(LDBtØÏyFÒムƒù³§BÿÐÙ#®Ñá¦Ìõq{Ó”Û”¶«5)·Ô&-8¦ \¹î(�À‡û]CÖÆóÍöð¿oùßV<c
+
E<€‘àjØ¿òl ì®,ç(ZI$ ƒÒÿ�d±“�l%¢ùdtg2¥\šQ&³yYÚ’¤½dR‘¥\çIæóŸ>õº¶³Îsc´Ýh®—Í÷Âk÷AË,*m¯Ô@—.]ºt½` —*•¾XjS.�pEÍi·‘1Tñ#ÓÑÜë²w½áuñúRn°g²¯+66$y½| À…ÂL˜`I
+
¦òö­?ÇÒÈú‹'‰¼Öý'âQäþ¡Ôô?€²±?jÝÿA���î¿,돲–ÀºhŸc÷ªÿ+Ýÿæ>�”¹ �eî_€—:�܆¸- ¿~:PY9†®›
+
ªe�T„µ_t1�>¸ ÀZ rL”�HËsðJÄÒ Eþ /öñT0öeÇG® äNüÂÿ§<}´y¸ÝIµ9RíŽL³)jÄ+Öá‚Æý) hWKùUï6
+
\+³ívÂÞØg®ï9ÖJüÃë?ù¡22¨|[Þ‰=-ÊìbÄ·D7r€ÆýoÉüVT��Ü!ŽS‰ÝlHɤ (ðItùÔSŸúèɇ[/47GLr[g~­ÖëÃN€ƒKyù‹Ô¥K—.]º*¥)U*õ6 ¯  ýufðwÑ<SÞZk·3®›éüÃÇâûōsg憒cÂo‚ ú™H ‡é¬ùÖ¹”ûÇî¸múXÿt*•‰—Òÿ“I4ö»µÖ�ú~ô8;;‹Ë~pú›þ²Ü?26 *Ý?rA/Êýïê ¿^jè�p{¢Œ^T-Ð~ö_»�ö¯«Ús�Y|“�ð‡2�
+
€Z�!©æ®Q‡‰,#04OSEs Š„}/ÅD8:ÌNŒÆ{vC£s?ýîØG>pöÖÑVÛj“]&É`¿È-h„$ ^ÑÊ/y·WqsuºÕ̷۝Æî£­ÔŸ~xó'?RÞÂèȆߛãÉbBÚ™uŽ*òìZ$„sÿÈýãÐýSñ½©l!•È'b;Àô_šQ¦'w2©ÝlJ™É*1~áø/G?öĉ#¶GMØ]uÕ'm°âÒ Oªhtðj3§K—.]ºî‚ÐÉ9vÿ•�€úèÀŸî_t [=w¿k´ÕqþX;÷¹'ógÏ\g»»xŸ—
+
ù©p€$‚D>ÒTý–þÖ§ÿ‘ûϤ“PÙDÉýOÁ"Øý£±?È÷—ÿh«ÿµ PæþQŠóP÷ŸÓlüÕZÿJ÷íV¹!ÓãÖB€Ûe�°{=àwpñz(sÿˆ7öûÊÚ‚Q}Ù!�î®<@õy˜&ÕÈîG9$âB4�¦x�d€0åÀ�ÁpÈ…‰ôÉÞ±ìà…mïàÅ~køƒï9×ápèf‹ä„uð×]×ö'1ßQC .‘bÝÿ˜i5Ls‡œ†óÆšîÚ“Ÿ{Ryþ9%X¼:1RŒ‰[2¿NJTØ–T÷åQñpÿÛ èþ¶3)À�P3“ÊÅ©B&™KÆ
+
S镸¤\½¤ÄÄ™}·ÿ}o;îj°ÕÈ÷[böꬥjÚ\5mªž4Ãktéû½óÌ£K—.]º^*Í‘Ól=S¿~]0Jÿ÷O»ÌávëP‹åÂm̧>±qòøúÄxlx(2:B‘`„�� È E‡áÔ5ý��ÿ�ë¯-þA�Í¤ÜÿtZ›ûGSÿQ×/
+
äûo�¸ë»do°õ׺œþ/sÿEÍÔ­ûßÕॆ�·9´€Þ¦•€ÞÖ(Ê�`óÆ P�e‡� ê’`Ô ¬í ¾|ù2b�í!�Ä�µ@É„Kб¸ @Wxàh‰¥¢-“”HÃeÁ¡P(³à—¡Ûß½˜Xëï¾øßò<ñsmNO‡“i·óNƒ¬v€‹WÌ^«®*¬—ø|ó©6i©J;jãŽ:ÞÝrÜ–Ñ7?ÂæÏ•þn%ìË&6ÈÐY
+
ù SàÙ-¸ùKÌÅ$Tú¯ºÿÄv:¹*òÅt²˜MmM¦vf¦¡.Í(‹W×'³ÊåKÊÌ” ^þ¯¾û±s­F⨍wü¨�0c �/ÓhéŒ�ºtéÒ¥ëV¤Àuk“¸À‚—aúŸw˜C-Öá#Žî×ßOÿÅÇWŸþÅúèpjx„'¡ñˆ`�$©ÍRœÀrû]¿‡–þkÓÿÀýCM&1�hÝ?Z÷‹þà±?Àñk­ÿ¡]¿Z÷¿qXî•Ck=R¥õG\r\å>L[ �ns”à7kÙ9�~sÚ�€3�>�Q �ˆÐóÊž`Ô ƒn�¸��€”LЉìEpuD8(Ê3pÁðùP8
+
®"4GQp>é dhFìï›RÂá™o~ýô›í~°m¢ÃI4›y'ê…U`K9ŸÇT{õ˜]6ßKTÿVÔÑ0ùP[Øm:kª;Õá$?ó e°[!ƒù g›¥ö¢’’JíÅcêêß� âàþõß›Ê*³—ŠÓ™õT¬83U¼<³9•ÙœžRVW׳™­D ü®B™/}þøï¶u±[à»K[ Lšáé�ÜÙïW—.]ºt½Jt��‡¹ÿlélºÊeow=ÓjúðVžùùŽwLîî
+
 píG��É´þD¦ÿ’NæyÕúýŸë£ôÿd6}þŸÉ”€šj<äûµí¿ØúkÝ?�do°ÛѺ-�`ËT�Øbé�ðë„�·9ÐÛ3À À~©[ù’à�ÜdCpY9Ðþ‚0èþg4'iÝ?Z S¯ð’ Ë�dQ’9AdžŠ±Tœ¡c4%‘°�Nް|ˆ¥ÆƒS4/öög:/(ÏÔ7ÿíù7>|¶Ãé?Ú̶ZD{CÌZ“r6Ä5¢£*æn¸£†8¾¿9Ž°Á; ¡óð×É£-±¿ù‚26 ÈœÂd$/Š[Qy]âQî0@.�ÿ���Û“éÂd¸ÿ¥镙âìÅÂìåÝ¥¥ù¹àþ/N*Ó)… òÿò×ß°Uwµ›‰#Öx³!ëh˜rÔG ÷²M¿“pîè÷«K—.]º^5*•�iöš© ˪/:šä†×Ê ÷&lF¹Ùδ¹ƒ­î íîçßöæÎËý]r癘Ïëóü!’Аp{GExš`‚áhZ„Þ_.åõ`Ý?êýÕZT÷rÿS“™™éIàû¡õ¿˜½xi[”þW F©ô%þA Ä?€C+ʬ?vÿ·�e¾_·þ¿fè�p›£ �*  Ê��3�ú`”1€Š‚oÄ��ö�B�ª:´H{€›? Äà4 QŽò"��™áDJR ÊP"C²´º?„àØ0Gy À�q_xÊë¿:<ºÚӝø×¯œ{ëO»,#vƒà6§\¦¸¹:n¹/ᬕ­ÕwÔC�°7¢Ò#Ô5žpN¸à¼Û4üŽ7gþéo•žN…
+
i"DZ[‰XNûßNÄ�äãQXÿ“I2°ø§0•.LOn]œÚº  0{±8wewája~¨8;­ÌN)Óñ¹®ããŸÿó§tõ´[Ž&Ö\“°7\j³dÜMLãoßÑïW—.]ºt½j¤qÿêýêÿ¤©zÊiŒÛœÝD¶:‡œ¶Þ¶æ‘Çß¹yæø¦\î:'Ž ÇX:ô“4tÿ$fɰ@Gx&6øŸ(²pŸšÚÛŸúgþ€Çt*Q*ûQsÿÓSY�Àýc�¸Þý—N��àÜÿM*0�hÝÿfEú?¯@™õßVÓÿ:�ÜÞÐà6~_î]Ï�‡’� �• €0� Ïº=û€p-v9€–Àç1�| P9¤âñ8ܘáX�)Ês1–‘i^"E‘àv0ŠáhŠ¡iЧINb£‘ñP4Â`.t_ ÷<ÑùÇsoúÝN—Õk7%ÛI»!i©ÉØáˆžÊKÞmš ®ƒ‰43!f«g\†@‡0@Ïï=`d@‘ø=Yî¿ ËÛ‰ø^2 l«¹��…ÉìÖT�vÿ@0ý??WX˜ËÏ_*Ì_T–.+“ÑßP矼÷ôëŽt;Œ—%ê4¥íàûßuå‹Ô¥K—.]ºn¤’û߀¤µ6a©ãLu¬ÍÈÝß:ÖÞzÜfyç;æÿã;ó½ø®Nÿ…³2 lpxb„9†¡"ÂS‰Šˆ §xó+JœT�íÄOTðƒÒÿÈúMMf��\œ™:pÿ—§pé?�ä.´-¿¸ø§ÿËÜ�`Ÿƒ™ä…´ 'ÝýßöÐàŽD%”ñ�&C p @€Ž�� •T¶ï/€�€‡õ–UaP‡‚"HÀ*Àh4#É�ä˜ÄÇy:Æp2#È/ÑœHÑÌ? 9€8™‹pB˜ã|52]Ÿ( F¿ô÷ÃoûýóVCÄeËq'lM1SͤZó;)X@©®kL[êU�¨NÚª%Gmü··ÕtÎizûïÍ~ëëJÀ`“"veYI$•Tj7‘ØIÂô1›Êg“ÀúçgÒÿŹKÀýo_Ý[˜Ý]˜Ý^¼š_œË-Ìî,Í)ËsÊÜÌüÉgFþìÃO¹lÃͶØÑ6®©†©ú—šMwtï.]ºtéz• »ÿ$<Ć9,ÉÖ@Zê‰ÇxGËÉwϼmæëÿº;2$wžãGG€ûÇDÐ3â$ž"#æ¡û'EŽüç`Û¯|KRYîù~Tú�����Ö¿äþ/O]Ÿû‡éÅÌý£²…²ô?€›¸�‡ú~ô¨»ÿÛ:�Ü©(c€²_â77®u+c�ü1€æ`¨’ t“€Ã2Ip!˜ŒÆ&%€ñD,.Ä%&Îñ@Q1�#Ò´À0,ϲ|8bIŠ#‰Œ�€íêY÷lœïLÿŸ/÷¿éõ]vÕæœÎX?Ùl½Ã«�S¥½c�Ôô \dzWËÎ:¹Ãêq:&ßû¿úo(Ã
+
Ï*‚¤ÄJ*½—L;Ùôöd6ŸIg¦`îUÿ_¹¼={egnv÷êÜÎü��{‹ó°`yikþêÎüœ²pU¹zù곿<ñ–ßû…ɾ¿Mjvrµ÷¥L :�èÒ¥K—®[.ýG7Ž8Ü._/9#¦Úø#øŽ¶ÿÒdè|û[§¿ûõþ¾©þÞ´ß›â& =¾°7L‡8%"!Ž"yº´í‹çYðEQeYÖ–þk[~oT„¬?tÿW¦µî¥qî_›ø/sÿÚÜ?Nÿcӏ­¿Öý;Tæþ±}ÂQî·ôxI¡ÀŒò÷ìa‡�¨ Œ¶®ï Öž�¬¯¯•1�n ®\p£€‹j À�É¤2“p1ÀT,9MOFá"p) $!ÆI1ØÀ‹Œ:PŒž&¨p€Ž„Y\†h.D‰¾`|hdu|"×y6þ·_ì}ô¡~§Õï´ÐKÌe¹£c1aË”ºoX]9Œ×ñVÇíULÃK77E[­>‡yàh›çÏ}ç[
+
Ç* §DãJ2�`/�°35™ŸÌäþg/b÷¿7�v–æ÷•k×”µõí¥¥ÜÜÜ.€Ye25ýÃïãïž¶[‰öÖ¸Ë7áAκtéÒ¥K×ÍT�ÖFàþ9§ÑomŠë8ë´žyôõ¿ýÍÜÈPz°_bÇÇé€obdpt|(D„?p� h’eiNàáZ`8ö‡‹KÐýË’‹Jhâ'Þø[YÜÿÅ™’õ‡îvF“øŸÝ>~HÙOe×/múû~Øù /T�e Pî´ôx©¡À ü–­´þ¨¾ w—1@™ûÇ�°±±¦e�Ü  t=@Ðìë(õ£Çò%ÁS™ÔT:MMÇS3rz:šÍƲ±xRŒE£q1ã£2¸Ž°êlPNâx‰cSQN`TÈôú‚žGò1F}þìøèâ`ßæ©gSó…×?0Øj'4G,p2fåUïv)Ë~  û‡ý�àêY/9«cŽªhÓoÏ8ê§œÆX³5Ðâ¸p¤Ùÿ'O,ÿü'J„Tµ
+
(`w2Sœš„Õÿ—¦!�\¾T˜½ŒÜ¿2v�/Ìm¯,ï,.îÎ/*+ë»Ë«¹Å¥íÕ••™IeeQIdzßþú™7¼î¼ÓÊu´Æ›wxtéÒ¥K׫F°xUÍ^© ¿E‡.üjs^°}ýåùçÝÁ‹Ãƒ$��"Ly=<Ì÷Gޤ
+
�€?胓ºY†æ9ZI`%N”ظÈ&e0€vݯÖý£¬?JüÃÜÿÅéË—fÜÿšû‰sÿ%�84÷ëþ±ïÇO´éÿ¹7ªþ/7Xzüz¡À2�(sÿ�0àOvÿÚôÿ\ UvPÉ�š¹@p7êÖGàŠ¦Õ˜œžJOg��L%ÓÓñÌtl2ÏÆãÉh<‹É±8�!*ó² ÷$Б¨H1d0ò,G„É ' ‘”ìñòçòÞ±íó§<}â܃mÞ‡;F-õ¼. ®°Åð+xÚþadå%ò&ÚšŸc�P§‚VglÕS¶ÚTÓ}1Sã´ö™ë;Ýö¡÷¾Kñz†U¢Q%‘ØIgv¦&‹3S¹i�ÅË3ÛûÅ?;ó0Í¿½xµxmIÙX�°uåÊöÂBai)¿|mwkSÉo^›J)KsJ”}á³Oµ»[d«}zy¥Ëz\ýJ܆¾AÔæ¥¾f}d.]ºt½Z„K@ñ5_äq§¯öÏ«Ç×°„ç°—1Øbõ<Ðq¢£%ûw§ ¦Ïœ¢º.ÈåñŽR!?éó„C¾`ÈŠø‘æE€„
+
�#I�� ƒsþý¦aÅ/,úÅEÿª€û¿rù⬺K¸Üõ‹· ¡ô"€J÷�§/µéÿ[€J(7Xzüz¡À]
+
Œ°e €ßñ…}÷>èC¢ ôuíiÀÚuûVÐéø‚$êȁªôæÕÝø( ²ø h*“ͦá¥!•N'S©ÜœHÄâñh ®E‘G‚½D’,²°ˆeiš%(&BR!’3á0ˆLR\lpøb÷…\çiúsŸ:Þá?æ¦Zì¢Ã(XdStÃæàÈeSCÌjD‚kP Àò} —À�Ú«j¹Õ¶ Q¡Þi Üæ±Çèޝ{þ%Sdy]Ž­¥³SÓ…K·§§vf¦w/^Ú½4[¼2»57—_œ+,Ïï,/)Ë‹ÊÊ‚²``y/¿º—[Ï--+ðë«‹ŠDO<ù‰ZütLØ«¢mMLÃk¥†ªi«yÒf™rÙ$sÀ’˜½:i«JY«Ò–j4±£‚.]ºtézE •¤¢bTÙŽvÔTÇì°¯WÍU•´_îït‹)c4Lšà~‘t4¦Úm>[Ãø­?±[&¿ú•|o_¦§+>1ƽ¾‰á€‚ށ(2DSau;+8†‡¥ÿ¼ à†ã’Ü2·vXî«jr2Sûª\÷«êÊìþÈíÔÿ[<�R™ef[lp>TkúwõÆß;:�Ü¥ÀoåÝ}ÀŒ[v€Bãü¯ûÌTž ÚÆ €>‡˜P•�m9b�û  �. Ðþ'ãp?˜zÕ�ˆ$I�‚+EdYbežŽ&9‚`Ã$‚£H˜ \ˆ¢F'bC#¾ñõSφÿâc'Úl£-Ö°½)ÜT-Ùš.µ9¦z¾þÞ¬Û¶�æ¸Õ{ym�¸ ¸mÊm<×n¡ŸüxáôóŠ,*/me'WÓ©­‹3Èýï]šÝ¹rµ8»¿z5¿8�`{iiwi�Öæw7ö6W��(àg¶¾¹6?§,Ï++s;}ãŸüèÌÕ¾×¹ä‡]¢£1anÊ YcÓŒÓ&«PsBÒ¿G �ºû×¥K—®W‡®�G­T�xSS‡ÔAa�PÕ˜46Ekk¦œÖ´Ó$» ÜÛ`³éÙëôWþq½óÜ¥áÁp÷ùðØöEÂ>Ž%HîúE�À2ÇÒ<pÿƒÖýм ¢ §ÿÈ@19
+
g|«�€„�`j* T �@¨R�¹�Z÷ë'�Z�Àî¿ �°*ê�p·B€»èí«�m”‘�퇅 @-öe € \ �e €kp � �¥#�Õú£çˆ¢àZ¢î †S…9 \gXž¡x’ä"¦è0Ed„ D(ÙçËæ<ÃËÏý"ôɏœr›&Z¬ìg´Å57ƍuY«!k7&-p|g|ÿ@MÀ)þš‹ã-©ÒúkUÆ�œ«q¨µéäýVÿÿüPþÌq%!+“éíÉtq&[¼<³sengn~{n±0·\¸ºXœ_ØY\DR–ö®Í«�°´·±¶ �`O)ä·ÀO$ °ÁUåÚìfï™®'ÞÕù°{¸Ív5¥Zl)C]¦¾êŠÍ˜6Â{�Jù¼àkÖ¥K—.]¯D¡«:Ì7ÁŒºæ£Ý^¥yû]¿%]qÛ2–&ÁXûŒìƒ®s¶ÚçÚ¬ò_}¶Ðyfa¨/1<H’Ao$쇼à‹Ý?CG0�À™Ÿþì»pÓ†î?
+
OòÁ ÜÊ+�1��Ì�Èýãô¿Öúc÷�àFí¿È¨hÝ ò3e¹ �È !_¤À�îRàwð¡ P �Úr -�àçeGèS‡0àVÎ�TNB‚J@Ï+ÏÀ%FäØu—4KÀƒHŠæY!$š—’êï™X÷ ­Ÿx:ð‘÷õ<àë°óGÝ”±6ai¸Üb•êïAÅñHèR¨=½uÝÜL—€è¬=ÚzÒøÛÏ´™¨Ï}bóÜ %.)W¦rÉèö•‹ÛW¯n/,VŠWWw®^Û»º¬,,A�Xšß]†�°³º°»qmgcu{sSÙV67ó…Ý=ð£Û\¾¢¬^U.eŠýçßóØsÍÆ~gSì¨;m7dÖOª²fèþ5‹ß¯;Ö¥K—.]¯
+
•ÆùãŽ/õö„nsphµ�f›­i{#ël¶»ÛLÏs>õ1eàÂÔÙSR×yÉ;e(àøƒ!o00á÷iÜ?\ø…Ü?Úõ‹Ý?´þѬä}‘'�e¹­õ/sÿ·’û/sÿZ�к�îZè�p÷¢Œ”Y ÃÐb�úühyè9@%à£�|€û*O�ÐU�3�ºL „> Ð6 àd––hÀ� G³ ÅÒ KsA$ s%ˆTØ?í¿Ú×U<óôèïü¹½a ÕÂqF¦¸¹6ÚxLö_weÄÓ<+¯§7Ӎ¬?R�ÀBüöF¯ýÞnwCÏ›¤¾ð靁Ne2¾›”v/M�ØZ\.,®o/®ïί(sËÊU�–€öV–vÖ—ûßÝ\�°“ß^[ÛX/¶ÁÐÀNNYYVf&/ýòÇ=øîGÞ#NÙe˜´Ö\6WÍ4Ü3mªv?n…{‹ÕÕÅx^ô‰‡.]ºtézyJíúÕX5÷npI‹A+D1ã}Œé>þ!×ÐQÇÏÛLÔŸÜéžì<â&&D2ÂÐd à ‡|¦"~äþ8–Ĺ ÒºßýÄ?°þàÖ ïÞ‰º›£�p‹ÇÖ¿²�¨Òýk­¥ûG>çþ+­¥ûÇæ§Ìýë�pB€»• p#�ÀÏË�@û\{€¢ŒnRt£�p �B €ûG��G£p¥ Lþ〨ÈG9Væ‘eyŽcXæÉ € ¨P þ0€ìñ¦û7Ç{õ½±|àÙVËh«n6±æšl³UÃï3�ºD ⋝£ÿ¢��\šÉúÿ0�û óœ«áøƒÍüßþ/e¼0€2•Ú¾r±�çü¬n/®î-¬÷¯Ì/í./l¯,í®­ÀÜn}'—ÛÉmímíìw7 Åõ•öv”õMeéš2{9úݯŸy÷[N´YƵñæÆ[íŒá>��Yó�ÄÕC�ôíW¾l]ºtéÒõÊ\â‹ÑìWþÀ“ÞRÙOÉ÷Ò׃ÇFÖxßfêqԝxÐüÜ'æO?½è¦ÎŸ•‚:
+
‡Ãþ` ôs,XŽT€–ÒÿäAåÈÇ¢²þÈýƒ»7”êþᜏlõû{=0ýÚÊÜû;;{wýb÷¯µþØýkÿÈúkÝ?¶þùãþu�¸ ¡ÀÝŽ2Àïõ2@¡e�üYÒº �øIe?À¡ç�˜p @×í!�.þA €0�’c¹¨�/?¼(2‚ÄtˆŒr‚Ì D0÷P^Ÿ§CÁxoçVptùÄ/ÆÿìOq 6›èK´Õ(;pGl)G¯×M½mÒ�SÿßSmFù~ې£î¸­îì›”¿üÅâÐ%))3ٝ¹Ùí¥% Å%eaIYTÝÿÚÒÎÚÊîúLüçr»ù’+*»ð‡»YØZ?#ð•®’ÛQ6óy"$}÷ßN½óÍ'[›Âí&ÉQ›µTO›j'MðÛŒ«ÃžáhTØüâ:žuéÒ¥K×ËSe� ~ñ Ú§t V‚ë?šMÇ´š"·žl³ø>þÇëçOL÷'ÎwŠ¡PÀ3á÷û}0dJd£ �Èýó…�Îü‰ÉpÞ¿Æý§“)¨Š²p»Ç?(돇~ªs?êþµ5?Z÷óÜÿMÜ?€CÝÿŽ�w>t�¸ÛQ�8ð›0h�»mú î(Á€ö Œð!�>
+
(u¨��ìÐ�@F„с�š …� �€Û$NàD‰áâ¬À‚l$"³,xäB„¦¯o’
+
3N/ô.=ÿËž÷¿óx»Íû{Â^ùà„À�i d�5^¹.àöH{³ÖÖ*Ö^/=à¦n;åj:ùèÑÈŸTDJIG•ËÓ{ ³»��–—Àãîµeàþ‹k×vÖVwÖ7vr[;[…ÝBqo«¨l
+
+«à9øoíìnï(ÊŽ²»V,^½¦ä¶”TÔûå/>õ†£ÝÇì{h¯��ý×Qšª€.]ºt½/ìû½¿j~çº>7Ü Ü¿d7pNC¤Ù<ÞaÖÕü³?Þ»pr®¿‹ï¾aÙ ×
+
…Š ø~š"üþˆg\¦Iž&´�€Òÿ�ñh¹ûO–—ý Ä?òýÚÄ¿fáWÉýc�кœþGîû �Ø÷ë�ðò �~á}»k}?þH _"(hƃ"О O`YýzDu{(æÕ6�ôˆ›д/Ú9�0àB í9�À€hT$‘ã¡J��žÑ4¸<I!’ áˆ$ø@|Eú„îó =ùsÏ|è=?4ÜãÿÝVÀ�Œ½
+
Øñ”¹*cªIšjãæƒ)·.­¹¯üÝÊ?µÖI6èÈΦñfS×ûÓ¶ÄþùW™)¤ã¹KS»ë«ÅM8ígkei{õÚÞÚš²™ÛÎoòÅ¢Ê�ÊVA)ä•bqw§¸½»7–l+
+
À‚¢ä
+
JnSáißßýïï6›ž3UˏtH¶¦XSUÖT¾Y¹ép‡H»¢©úV^¶.]ºtézùKs'B›.ÑŒ»Æ)‡!ÙT=ç¶NÚÀe¿Vj±„› #mÖÿ4ÕŠ_øËçŸš»p&3<(û|a¯7jD˜
+
€˜HPˆà&+q´(0@²ëþaُšûG�PªûלÜhàύ� ì@{�¬J5¢Àî;ìU°õ/óýØç` „¹OÒã΄�¿áÐhX ¼"rJgišB è(�Ÿ�àô?>@Zt€>Òˆpú€vf�T,ˆ{‚qW�ì(J‹‹,ÇDQĘ(À'€D–Rdž
+
£ÃJ>æB„Ï㥂AÉ띙[îŸüþ·þèÝϵYGŽXé‹`«MXj®´Z²¶z©é¾”³©ò’zs½X�í²½”ƒ@¹š<­–ž£îo|0ö•/)¡qevZY¾ºryúêÜ%¸·mõÚîÚ
+
¬ïÏå�€ÊvqK)¨�°½µ»³µ³·½³·»·`{KÙÞØVŠ»Êµkóƒ½#ŸòÌ›9ï¶l†¨µaÊÑxÅÕ4ílHX«€ûÕm�•¯S—.]ºt½â¤iiÛïúU�¸ÿdC[ý;p3æ±æ‘VS×힏xúGß_ìíJõv c£l0†"Ü?EF"„Ä‘aÕý³�$‘Õ�ÌýÇáÆ_T÷0�<ɤ`î»ÿÊ–ßë‹ÐÆßRîYmî_›øGî»Øý—�v5Å ýÜÕàn…�/‹¨,
+
Ÿlýññ
+
- ¨<
+
@Q| €¢¬� À§@ˆðˆ�\t0!4Ï&S™X")'¢RL–@’…‚x–ã)Ž%X&ÂÑapÁ ÀF"d„¢B¤Šˆ£ã©¾ñáË?ùA÷ûþàÌý.ÏýN¶ÙÌ›kc¦ši—)ëläê^SyI½¹´�ps @í¶q{CÂސ¶Õ Åœl‹Éßá|ÎÖtö±Gã_ý…ò+ —ó—§æçÀÏe{}UY_S6òJÖÿÀŸ øAß_TÝ~gw«¨À/v•xb¹«6ŠÊÖ.d€ù…偾ѿüô6ÛG¸ÙV›l©M«¦õ“Îzðè&/X—.]ºt½R[~K ¿Óf8ç@ÆÚpÙeN›‰ºû·u¨År²Í2øGï¾ü«ŸÎ ÌŒrôÏKFpϤ(<aˆG©7S
+
ÎüA³>Qú@™ûO§à.nÔ°ø'•7ðCÇ}jsÿ8ý???¤µþÈ? Ü"ˆ5Í¢ßuuׯ6#‰ 2*ØÆ›÷¯�½Ôçn†�/‹xA�À¾Š´€I  h�U•ú�*–£ �Pª�—!a�˜L¤²ñd:šLÂ+O**'%9&H¢ZÄpÍr$f�–$À%‹ L˜`'|TßÀeïÄêð`ö{ßøàã§Û£-V¡ÍA4Ü5×Ï´Û¸Æ{*¯ª7׋€ý‘;µiKõ¤µz
+
0€£6æ6²­–ЃmÏ;Œ§ÞüpâßþI!ƒÊÒ<ðý« »��6Ö•\NÙ*ìmmP~»¸µ³ g�íl÷¿³WP�øý]^ÈŠ[»ò;ÊÖŽreöʙӣŸùäÉ‡Ž ¶Y)§!j­‹ïƒ3"œM:�èÒ¥K׫C�&MY“¡Ä�j€ØX•vš’nå´Œ´Ø;¶LüÉû¯üôWúz2ž Ù3A{'€ã'I2&(Š""!�ðfÊ’O•Fð‰ì~úNþ9Èý'ã� ûÏ–¬?vÿ8Ù‡¬™û_X¸ZVóƒ¬?*1¸ �”¹-�hÝ¿�´î_€»:�ü†£ÌúãÏáõ?Z�@¿¬Ä�- 8ô�E%ÜÈýk�·ƒ M6™ÈÄbéh<ˆÉqIŠ
+
¢ÌI"œG
+
<Ïò•ÔÔ¸ŠÁ!eŠ‚aiÂ356º8Øwå§?îzüÏ» ó;šICµ`©»xÄñb ñ­�Àþ±¬*s]Ê\“1We-Pi[MÂÑ(ºM\›½Ï\ÊÞÔÿÎÇ2ßüšÂSÊÂՍ©Ieíš²¹kú·òJv�äw··övÔºÿm ½íme§ÝqO ¯nÛJqs*l+Wæ
+
ã£'?ðøSíŽáVkòá6ÉÑÈ4¼6f­ª|µºtéҥ땨}hD Rg}ÊöFÚXÅ9T‹}´ÙÞy¬}üÃ4ýÃﮎ Èý½ôØ0é'ƒ>ŠŒÀ…ЦÂ�àÄOŽdYÜU“à¶/nßý—‘ûGØýƒ›6�€éÉÒ­üFuÿØý돤=Ð2Àµý ä1Ö_hê¡¢î»l~t÷÷C€ßpÜ�pT’À¡î?Ø~€� ¬/c�àB€�÷£ëªBU@ˆP@:•€É†x,K¤ã°H–c��x9Îː<+²”Ȑ¡B~^Å�*a † FxwÚ;±>:<óýïô=þŽSnkèh ðß„±6á6êào¢�p÷–±6cªËšª�$-U Kz6MÕ\‹-Øfël6u½ãMÉÿŠBE”•eu~7·¢äÖ”­ÜÞvn{'_Ø+õúµ£@Ÿ¦²�Vÿ(Ûë›+€
+
”=ø[ð °£ä Ê•Ks§ŸýÀ;fmï°K.À�p¨�ºtéÒõê��(�ÀužwØÑnr›Ïßß2üÁ÷NýÇwV‡…óìèpÄ3ñ{ˆ /
+
„Ap£”ŽŽ,I�ëÏq '°üÁÄOìþEmî—�{5rÿSÙÉ™)x/sÿ8ñ_æþçUr �Z�À†»Ýý¿<C€—K”‘Àîa0€àP÷Ÿ?ì�<A €Oî,¶�!�<¸ׂa¡‹b�<´´ O¥ÁµL&ÀÓ<ã¬JÊB"
+
®Nœ¥¹ME)"ÊF$6Â’á ˆIÀú ZòÒCƒ¹‘¡+ßýÆÐ<Öå¶n¡Å©¿÷ÅN—æi– ýîu¹�&M07 i©þ;jmˆZ›dK£hªÏ´9ä6󍽿t‹±óí¯ÿû¿(QVY¾´µ¹¸—¿¦Ö�•ímuñû£Nÿ„ÎþD!�v6·w·à/w•Üfq+WØÎçöç”kó—ŸûÙÙw<öœ­)ÜáJÞïŽ9 ‡âŠ.]ºtézÅ)Ž–ÍÛê÷‡~Â�Én ÝŸ»q¸ÍÔÙnþÉ/}ï;×z{æ‚!nlŒ øÈ —€È@€
+
…%S,GP|?/H¢ "/D(.ñ�°ûGʤ“È÷ÃÊŸÉ)àþá¡þõuÿÚ²Ÿë+æ—–€pâ¹lúq r‡¦ÿ±KÙÚ€2÷@wÿ¿©Ðàee$P†Ú6ýè#‡žhÓÿëjeb�e  =PcìŸà#B„3šaè …ʤãSéP6™JÄ’²”ˆ÷/%e1Ž� ÆðQš‰2”LL$ q´,ËaŠ t„ ÂãÂèHº§Kñ­üçœ~ÝÑSæáᣬË.—pI–îɺN¥-ÚMapÙJù{A�°4e¬ à—1 pÿ ÀýGÍj™¦±Šj|-ßf
+
<àxÆZuö÷È|çkÊ\zoeVÙXTòkÛEhî��Ï_�$økUÊîž²½YÜÈå6àUOí €_ÞÎï]½¤,]¹ü³<óèç[¬‘ve©K8àñ!/»´!Xß K—.]¿A•î8èâ|ãÍ-¥›‘l¯÷/ðà‘ÿœÓl5O<àî{ý‘îw<vå{ßV‚DWwàB—DRdÐG†}L$È!&æB">LŠ4+q¼$Iྠ%AŒñ|\ÔÉ?(ý/i�¸ÿl&…¬?vÿà–®ÍèUÎüÁî@¥õG¾=Aÿ(€÷�ž»-�àú�^n¡ÀË4n�ø(­¬Yè�a�úÐâÜ?¶þ�Ê� s�„Øý㢠Ä�H]jOpnƒUC†Ë‚áÕJ€� œ J³@,ÍÐ4MÒAEH"̆‚ß—òy�¬öuåŸþåÀ¼åç÷½V|øAÒf⬍ ·%å2‰¦ê¨µ.ÓlɶXc6�¥ êpȸàÚà±å’KU@ÿ?{ïùUßýÿù;ç9¿'Ƀ½»ª£éUu«m0Øð$BB3%‡„PBBBxR!tB‰ 6.k{»´’V]šúímú¨lï«UŸÑhFßç–™»_}GZÖ`¯÷~ÎûŒg¥ÅÖ ó½÷ýº÷S6RAeP‹»,ßqw£ìmdÛ,‘NÛh—ãÀ=Ä7ÿYO+úò|áò�V«ºž×K+¥<á/•*�P†6¿ þ´VÆŽß(ëe}eIŸ¿¦O'§ùÞ¡ß{cO—OÛé—íèsYTgcÊg™ns$;â–»Nùšáp4ütx¦ Ú~ð I󇢢¢¢¢zù#YðÜF<å·:è× êf4íuf¶¯ý¤Ï–²ïPÝ b»}¨ÝùSGcìcºôø£ŽÍ?.Á¼>âca– LDd£ÇÊ<§¼*
+
@Š$«•Q;ØUÓñîû™LÆS©D&“‚òhX'îܽYËç΁ý<ný‡kÿLýþ±1À™?³›Ý�a�ìþ¾¶+ĺ1`£ë¡ñ›
+
�¯Ð �@À�ōé@øñ«Å�Âë& $Ps �/1��Ÿª�Â�š¡ª�<!,I`aªØ°h¥ 0€$ÇEU� HÀÿsBŒã£p±c"Ìøh<NÇÎŽ Îu9ùõ¯ ¿ým/¸ì‘ö€ÔêQ¼Ž„×–õÁQY’å¹X[+��¼»ëE@vãÀpƒÿ�ÕÛ(û›¤Öf!Ð4Üe?øÖ7d¾ÿM=×ó+zym!¿x}y~MNöü/–àð/�ÀäÃvÆÈò¯Wn�TnŠ+ËëK úò¬žÕ¯ÿãS÷vv6'övª>»ìhÒ<ͪ³^nÙ6é·œi³j¿$×U �†Û****ª—U��Mù­C €÷M� c·díVͲCµíÈv:ԝα6GÏžÖÐÞ—ýÆ¿Ÿ?rdjpHîŸ q± pÿ@Ṩ(p’ÈË’�¶L �`k‚{,rÿx"'�°�0¶ýÁ�p€Z÷O�àÆ1a5ûŸ4¿ �÷O�ÀèXŒÖ‡Ù÷ÐøÍ€WhÈÓRÚˆ„°W Âò53 `ÀAÀx €â’‘pŽ N22�î%LêpI�ì „nÅ�`ýJH`���¢Èó"à Q¸Ò±Q™eåX$$†úOvZíï¹øÝow¿õÍ=þH‡WÙÙªqwó™v×¹NOÊZ½/´þP¨½f€çþ‰Œ�Pa�ttÁ!ÁНI 4‹¦‰vë“ë¡ß0ûÝï@X\X½º¼pm]_ƒ @KÅRi½´Ïþaþ?ü-Þ��ìþ �è0h©¼tM_¹¦Çñ«Ÿßÿ®ž/¿ÓÏ9TwS&`…}ì;ržúŒkGö*ÅÂאR´f€ŠŠŠê7'’Ú€��_ÉÂ}Çx–„v"¨¯ýL›Os5I¾fe·Ï×ü|À>üîw\ÿéO®>tfp05:ª†‚B8ȇ&D&"0ìþ>†ÝÅú+ì¥Q=þÇîî±›¹°“³ÿš–ÿ7Ü?�ÜüÃäþkÏþÉñ?>RÜÔý€8£õÇÆx¸i°<4þ‚À+4HVœ‰C›€<x›b€ñ*��~¤M €0 ÒÿËt€³MíA @.nÂ�qMIÊ*XË$™dFcp¥ãbª(0Á  Éã#Zﱫ£K}=§¾ýõþßøœ³ù„Ï&túËvà‰/t¹“–»«Gõ0 ÷W®L[4¯×·$�@¹šÁ×�Äݍš¯Iõ7Ëþ&&Ð2¶ËÿtÀ}è¡·æ¾õ°/Ðõ«z~1¿0«¯Qó}u]_E#�ÐE�ž`pÿ7¾¢¯•‹ósWÖç/éùkzZþõïÛÛv¼Õη»í®l»N°nÓlÛN¶[Á^64S
+
ü´ðÊP'@EEEEõ6ýF�Øàþ+ãeÐß´ÕgÜ-ªßÆïtìö=Ûî8ñî·_þñ÷{_L K££r$ ��(γ" OĐûg±û¯XU†mªîl­`ƒ…B[­Éýƒ[ÿ÷æ<
+
£ûßêìßhýoÑýç7Nü%za­?±7LßxP�x冉˜ nÜäóØý›n�ðó\Ë�`P-àD [g�,°6 W“ª¤ª2œ¦r¢‡›(< NDƒ!‰cS’O$†úO öÏ÷u_þÁ7ûÞöæ§½öðÞNm§Ÿ·lÓ,w ´à”˜ê‰¸_à9‹µëõ/•qí6�ê Ô˜ð4%|Í�$_³ØæôÚuøN¼ëÓßù=®è‹×ËW.�ó³U¬u`îKziÁ ��Õ ¯×ÊK…Õ|©/,À’âå«+ÜD쟾ô̾ցN¿Ó ö ©iÛ”§éL»#nߎ½>ø¤¨£�OCÂK‡QQQQýÆ„«{+î@eeÆ­~È9þ:ênbÖÁvçÁ}mýü®Éocehàdrd„a‚A>eC!~"çx‰‹ÁfÿÐýsØýW¬?:>»(>øÖì®PhŸ5fþóþ‰û'çwØú׺|üGÎþMÖŸ¸ì%jÝ?ñµÖ{âaÊtÖï+)(�¼¢ãE1À¦—�ø)%�@À˜ª�kÿM €û[‘š`S.®@ë–‰ ´8_¨)pN°ÆË
+
§Âù�,XA„©A,#Ç"âØ¨2tâÜèPq°çâ¿Õûη=Ûêâ^»+¹Ë/Ù¶ŸlµLºv@!À�uÚ`MðK�à}Æ ‡sóô6 Ð<\Ë6­ÓÝÝz Í}ø¡7O~ëßuE„£Á
+
Ëú:pý�Š@¥5XP†¨��–#�¨0�øâåÙëËàW¨—ó+óÅùË:PFÿî/Þî8ਗ÷¶ó-u ëŽ3]ÙòÔM¢ þ¢$%I?5****ª—AØý×÷ w�€Ó„ÀŠ÷6Mvy¤6ûP«ãàNï{~ÿä÷¿=×ß—íî‘N ÇÏ„#±XŒcÀöÔÍúÅîŸÇî5ûGgg ÍèþÁî
+
…öY£û'ÿ&÷ð°õ'î«´£õ7¹býkݾ
+
�&÷¿†’L�@à•�^éab� �µ `rÿäV‡ `0Þ ¸jd€[¯0^a ¹@P°à�UNHJ\�� Éœ&rIYY.
+
3Á  káPzl$wìÐBOú?þõ¹·>ðB‡'¼Ç/¶ÛYËïdÝ�À+W8aц*ƒ_�T jñ"~�pcЬ£0�øVÆS- plŸêrÉ®nGÃS^ë¡ß”ýæ×õ„ª_¾¤/-__iZ.•KEÔÏ���/à7á 0x)0¿°4¿¼¾ ~{Å•E}5¯ççt!8ú>üäÞÖ‘}]B»W´5$ Oc Ïû 9?pBÅgæODEEEEõ2ŸýC�€ 2:”Áݨ+ç2Õê,xZ䵈~kÌß2°wïný£wOç?–N\ Eã#ãÌècb ‰2��„(#£ñ«
+
Äý Äýëþ€]”¸°»B¡}–äý­ÿÆÌÒòß\õ»ÕÙ?±þØýc� ¦ßØr`ûa�bQÖhßÏWjP�x¥Ç­�¡pãÃiD‚K†É�ä Ê�W1/€ŒMÈ%ÀY4€$m�Æz€T" ^4°ªÅá%€¢ò��◐.c°@âX…ã4ŽFG²c§‡N¬…ÆÏýøÏ>pïÓ¾öµmB[KÜWWa�x �–]Kµ1èK�ð_ëh‚_w㌠ú™¶°0¶»¹6{hwëÓ^û¡‡Þ<ó½oéS9È�ù¼ŽV7�¨Â ÿW�Õ�`�(/ÍÍã{€¹ùÅ¥•eø .®ê ×õÅ+ºüäG~àlÞHß×%¡t�`ïÙØhÂü‰¨¨¨¨¨^m�7ºG€÷à늸K´Í6Ôá>¶¯³ÿoŸùæ×Ë£c'ûODÕb|$ŽñBˆeÇáì÷ÏkQ.Κ `ƒûOƍÇÿ`w…›­!ïS�0œýW�ÀXõ‹Ý?ˆêñß& 0�³£»X©éú¿Õñ¿1°“Á`¶;4~³Aà6‹›0@5ûΜ DžUü�cÀÖû~¨�àÆñ¿é v8€)ˆ`�X•L%¸\ ��XÐØT”UAÕDMâ
+
@C¹@2ƒ…P±0 á  «C#é£Çæz{®?þȱ·ÿî#–»ùû;"îºT yÊט¶Þ±í˜r[r~{ÚÓòbSbj`C"PUø‹àïT–~oXâù€c¬Ó{lOÇ/^{Oæß¿®§SúÒÒÚ…óËׯ£z€ò|>Ïü‹ëe8/ pAym½\í„î*ß¯¯é+óúÒ¬ ?÷韵{y¬òN_2`Ëù­)ûØÈÝ ‚=õ“îú´}[í'¢¢¢¢¢z9TÉþG ð„J¼Yœ8³-ÛsŽúS®t»-âÜö5…ïiÄea>ñðìãÍ=2s¼/18"‡†¦?ÌĶ:Žcd^ÐX!Ήª¸�È @&2žýƒÝhµà«MþÙììá‘�÷O��[|\hÌüÙÔ÷cë÷o4ý8Œ®†ÆWP�¸Í?E&�XÛÈ�ä™,ld�ò ƒ 5ÁøiÇ—�€À‹ñ€Ü�ØôÀTl�ã=@6“šÿŒˆÃy暢ť  ðšÄ++ð1žC ‹ŠŒ F¹ÜDøÜàÐ¥/d¾öOýïzð)¯eb—Kî´+®zà†Ïu8'=`@«óe�rºƒãá6ànŠ{-‚ß1ÑáíÙÝuøÁß=õýo몬Ï^ÕW–
+
KóKÅÂ*NùG½?Këe �0/
+
ÞTj‚ñb_ËK³³úò‚~åÒõþî‘?ÿȳ{Û{N¡ÃÍYv$¬;ε»Oû­bÝÿLØî:Ý‘ öQQQQQ½<Âmð®Fü:a[6àþ'muÓ>KÜÝqÖ3]ÎÈÞÀ3~ëȇ?øÖ·/>tºÿDjxL 2Á0pÿ1Zÿ˜À0"Ë‹œ(òª(¡®ÿ�0æÿ@÷6PÃÙ?tÿ“0ívf³–ÿÆÔâþÑ&n¶þµÙÿÆã
+
�¯î �p›…�Œ `�#`S `nn`�&‚›lU€ÓŒ}0ä²éél2�®
+
Ž«ñ„\a�<!L…eÁ¢Ûƒr|”ãŽø›Ž
+
S#Á3ÇûŠýø½C>ptO`¤ÝÁúZTwSÒÙ€çv)Öí¿�`1À¹jóMÜ”3 o{´ûÖÒtäÁ7Oëßõ¸ŒOñ—áœ`àþס°ß‡Z,�kpA0ž\íªë…¥åÕësz± /Ï- öŒ|æcÏßÛÕínÑ:q[SÆÚxÚc™?ƒm{±÷Ÿ¦¢¢¢¢ú (‡V~|„«~q_æTÓ]§VÕ¶ƒq5
+
{=~ë6gìƒï;ûøOOuwÏ &GF”` G£ápÿ,ÏÄ„(#ÆX‰áNPEìúÿÅJá/Jþî?“2ÿC÷? ­¿éø_ÈÝ?�|„‡«~7íø‰Ý?9þ'yÿµîŸ�€Éý�0¹�Ôý¿Ò‚Àm„¤M @ÈÛÄ�„Ôk`ÉP °PÍ/„~iAð…­çàš`Læ23¹ìT&K¥€u-æÀ\ 8ª ÖxØTa‰åE†X^BQ)Ä&&"ÉÞ×ǃ…ÁÓßûÖà{«ó„Ï&wxËvÉV7Õê”,w¿Ü��§À¸,¨%?øJÂcü®ñ6ß3Û‘ßxê{ßÐã¼¾2§ç—ÁÿW륲ŽÖ=üëCÇý•™�¸1(™�¿½4;·2{U_[Ñg—†{ƒŸþØc~WdOgzW`€DÓŽ³­Î)o³Ô|W•&×~(****ª—\xcuk¨��ØPªUp7G;œÃûÚŸjs ¾ûùgž¼2xbj|LåÇÆ„h4‰‚$žb@¬ãd†S!�Ȫ¢h2êúÝ¿ŒÝ:•�Ê¡ã3£û,iúIÜ?>Û˜÷Ý?Þ¾kÛþ­?uÿwZP�¸Í?B/ Üü`ÓD Úaµõ�˜ðÉ„©5`€©I°%s©d6™À÷�ªªJŠÖ>)«$…—dx%*œ�B9NA‰°òàXüøÀفÁüðà™~ïØ;3¸»ïðÆlõгy¦Ýýrâ<�½A÷﬛FMHÄ=¶ôžÎa¯ý€ÏvümošüÖ×ô¤¬//®]»ªó°ìŠ~}Hkz ÷½A±û/URÊåÕÂòü\þúU}uEŸ¿zíØ¡þþÙ£^GhïÎÌÞ.ÙÞÈ׿&ãižnsið>ÚüÓRQQQQ½2�üzÊgîŸßíëíô<Öê >ügKO?q­ûhnh@çÆG™ðÇÆ¢Qx Ë`{‹A‰ '³¼"ˆš„�åýKÈý+ØýãìÿIt|fvÿÓ•i_&÷öû¯œÐmtÿæÖŸ›fþë_ëþ‰‘0¹b<LîŸêþ_™Aà6 ò ™€<x& ª‰¶ºÀ�P{°Õ€0’dª Æ'f˜Jg§’ÙXÔâ€ð=@B‹+Š¢Æ5xþ¡Ê°<X†$AŠ€÷`µT£‚4:!÷ œ¾Þü쏿wâÝ¿ÿ´×>±Ó/wx‡%îny±]€nEnà‘e�ì@Š®ƒÁT´Ök­îp«ó ß~ô¡7M}÷pFØÊPi- «K_ÕzƒbU.殡AkKs×._Ô +ú…s‹ý=ÝòǏzmý>[foßR§ÚêOíò«ÎF
+
�TTTT¿5ä\`ͯC}Ø*·Á°*ÌcauüNwo«ýéNOðã¼úäÏ®÷õg»{ä¡A14ÁECŽ?‹D"! øü‚Ý
+
‡úaH¸(ÎàþUìþaæO6= ÏβÄýƒ­ºÿxÙþKóþ±õB;xÅý�À7�µîŸXÿZ÷Ÿß¬é'ŽMÝ™ÿz¥€Û,�0�a�� 3f�üÀ“šà……9 œD*¶Ê2•ëH1À†\ éLz:žšÒ�Le’ÓéôT
+
×ÃJ§8UK(jRV*
+
äptBaÆd4ÊH‚
+
VKa"›îïËŸ¸ðŸßøý·kss»ÛÔ´iÛ¯�8È(ãw¡û‡õ^–{��äþ+;ÒpwÎkK´9'|¶Ã¾Ã¿÷–ø×¿®ÇãúÒìjq©\* Â_XP*ë«à—†zƒšVD�� ËWËúd�À ó‹z¾�ë®]* ?ú¾w>ám‰îkOì (Îæ„Çú+t=¢¢¢¢¢ú•Ti¾Œ{áQ_š×"û-1¿%´ÛwlokìÃï_Üÿ‹k}}òÁ£É‰0:"ÇÂ"fbAž‹� �0 óŒ"ð²$H’€¬¿¬¡zß”¦Ü¥ð÷†ûŸÌn8ûîZÓÙ?¾“7º �ÕS¼Í“ð! Éü!¦ßµÖß�Fëo�jý_ÉAàö �Ô2�Áq|_©Î0R>f€ÅÅy Z ¨mzó¾@�T�`* ”›LNM¦grÙ™Ln2•ÃÃà�-žR@I9` •ÖD…2‘p4±,, ”pÎë9¬G–þ_GÞxß~‡E¼wÒîÓ¼¶”žÊ g\m™_µéÆ¥5sØðõ[€i�äß ¾u¾Ý=éjV¬u‰./ðè?w4?ÿÆ×ç¾û-ýêy}ù<È/­‚_Ùš®Ö×óåµêX€jV|)\›;w}ö2,Æ…Á«E}eA_¾¾Ô¨ûþà1gÓh‡Gn÷ öÆÉ€ ¶¢3üœ›þä[}"***ª;Y›­Š•#¤êšYÙAP×�xpÂÛ ùšd“°FÚìý»w42 |è¹Ó/ìOuwŸ$vdŒŸ—éG˜Xü³Q��š$*²3þ‘ûO&´t\Ë$âÀý�» �ÓS9rüÝ?�|åntÿ�ð½Ñý_6VýÓ~�³ÿMÝ-�³a�bN(�¼’ƒÀíF Ïž‰ȳj$üT÷Orþ–ª#Èêp ÃÇ×Ь€+W®à9‚¨¥ØæóðªD–'\€� —£aæ°Ah&ç'ø@SÀÂ(É¢—YƒÁ<ËsŒÀÄÄH(e'&’GÎö+<û‹¡÷¼óÑúzn߮խìqsÜSŸtnOÚïJ9¶M¢Æh¡‡‹;z_—ònKy_\#Ì�•‚`”üC”q6¦\qw£ìmf-¡6ûH§óÀ¾¶Ä7þEOkúòÒÂùó×òº¾¬ë׊óE}u]/ÂÔ RN
+
€­Aa¹0ú­V{ƒb•ËziM_ZÔ/[zøCOvøÇv¶ËmޤϞish®¦”³yÊkËz¬¯5émÁ©AxcKWZVWT³ÛQQQQ݉"kcuš/–¼¯|ËÇ~Í"ç Ÿu9_3S÷[ WÝ©ÝNÅSqîˆt¸û:ý?vÛ¥ÏîêþçfNöt+CƒâȈ °™u˜cackgE“DxößT�)Ž0�˜þt: [fgÓ•ÎÕò9üÞ4óËxðO’þ‰û7�:Å»qüOª~M @î@˜|?±þ&ßO¬¿É÷Sëÿ
+

+
�·w€0�y&×¶Nº �€‡/
+
F�ÀA�ÀÀ�[Þ`ë'ÀR…{ƒN¡˜D‘Ëå²Ù,´ÿpBX*‰ €¦iªªÂÂ�Y‰Kš*J¢ÈÓ1Æ Q‰€U•ŸˆG"©àÄ™±‘ù¾ã'¿óÍ‘w¿ë…€7²·kwE;¦óûÜS¾ÕòÛÓ~lú+Y›èø¿.íÙ´ÙåÀÍ´¡ Ú@€êm”|‚¿‘÷7ŽtÚŸ¾·@âõùY}}m±”¿º:·¤��”��ߏ†ƒ•àÅ�^0+ËæA¥Å%}n^?wöÂóÏŽ}ì#GîÝÕmoæÆÕ$9N¶¹�Ķý–b­›éò¦|VbôñN†‡V¢¦TTTTT7� ‹zzëe€l�€Ôæ»O¶;ÓÞF¦åw¤6 Óåì 8žÛÕ‘üòß]xòé³}éÁÑd($Ç™‘!!8Ü?ËD�0ÄýÃääþ5Výâ_•ž?Èý�Àî
+
Õ™B‰õ7¦ýÔæýÝ?�|‡Ý?�âþ�[‚Mþ �^]AàöŽMÀÈ�F�02�~¼k`Ù0#Œ\0^TÀÜ”Ü U(f€Š,
+
À�étc�¾
+
� )jÝÀ¾i2+ȐD2€È2Ã$ØX|thºïXaøÄ•G~<ôžw¸ÇN±Ó•èp$}i”²™rlã»ðìFxس±œëÅÊ�˜²Õí$îmRÐÕ°h
+
wØ~æØñüC÷§�h¼ž_XÏϯäç×ôµ¢^*Âj`tP‚Gü¥âüâßlu>@句riaV_8›?r üñ=Ýî=ähRv·IÎ&µ¥l`{Cº#åjœôÃ= •©Aѳ***ªBé=ºú e³šÿƒS€À~1é„}ŸÍwMû,²}GÌY'ìñžètw¿n¯ð©O¾Òw"Ý?¨ŒŒÅc1>4’Øت°ûx»ÔéŠ ú%ýþaÃûÇ�€­?i÷iª÷5ºÒó‡¸rüÝ?*ç»áþ1�àƒâV6šþMÝ?�“û'�@Ýÿí�nï0@-R71@~‹É�ø•ÜbÀ)ƒF `¬ & `¬ &�€/�Ô2�|@�æU�€( ¼ç@ `1©²‹†a:Pp\êë¾Yºø_ÿ9ümuMtxÔ=­Œm{ܹãT‡C³ÜU=챦]ÐÃÎÕ†n5[Â/— � \Í9wsÚÓœô6Çýͪ¿Y 4sí-ÜëZŸkoyá-÷&¾þU]ˆèK³zieyáZ€^ÀÀË€*�fà~Að‹ËK «³Wõ¥yýòùµž#£øq@;]m§_²7)–çÚ½3^«Òtú «;YUøÇ®ý,TTTTw¤°³‡Ýœ1�TMnMU � K}ÂQ/ûáÙ_—»ûû´Ïfå…ýçÊï“N òA1‹LŒ‡ÇGT‘ÖßäþIÎ��2èÖ�¤pÚW6mrÿ¸…†©×'ñýXF÷·cÓÙ?îä„÷q£ûÇ ?µÖŸøòžºÿW_P�¸½ƒ<l8nÈ£nb�üž$bÀë¹
+
÷�6Ÿ€�ßQbU+*A�c€ �n\�P$AyTNR9Yâ�p F9ÔKAŽ„Ô±¡éñáëCýK?ûÉȾíiwËh§WÛÓš Ø€)ÏTsâû‡��ïyá rxÿbU=12`�€Œ§Â� _r÷yG}uϺvzó½‰ýŠ.±úüµÒå‹zi­¸®çÀiÀ먠X�Ûý2™† _.ƒ¿Ьxý𾲍_¹xíÈÁ‘?ü¨­)¼3ÚÓ)9›ÅÆ»'=–Skʶìgè#£áe¿ê‡¥¢¢¢zõ©r®�ÍT1ªÚã_WS’ަL——Ûå=h9üÀõo?;ûÜS—ú{Ý=Ú蘉ò1D4fÂ!‰óþ±ûÇ9?&�À-ÿaÏdýMîffÊØîÓÈ�äÄÍèþɦltÿ¸™Ùʍî«´Ÿ|û'FÂäþ‰ñ VÄìTh¼"ƒÀí7¼5L @Tr#ä«íAIàK�œ DÀ€›Ï�o. 9Á&8‰¢–Œ‰@�0(š*j’¤¸ �ɐÀª(
+
/Hp¬:Gù‘ÁéсÂðñÙG0üÇï~¶Õ5Þå“;<¢£±Ú.ðT=«gäæ]áVT �Ä^㫆„ÉÛ ¹·%:›'Z-Ï8êŸ{ã=©ûª.qúò"ðòëŵÕõ
+
��‹!À�è;8séÒ*ú3 3t° _8¿:tbð}ô„ÛÖçuj{»¢–ŠuûٝîŒniè§‚'>Q� ¢¢¢"ª tGã\€Ñ7tJ¨¤ý`á,ʄǪy­œÇmwöÛ½aoü>?{ðÙ³}=©}Úø¸‰‚(‚Ã~áKŽ PëþqÚ©úÅîçÿ`� yÿØúã’_ìþ ��cÞ¿ñÔŸTý÷_ð³ÉÀ¯êéß  °©û/VÀäþË´çÏí�nïØàý«±)�À3~°�@û•ê˜0üŠ/j�ÀVóÀ°*� •Á§P` ¹@$ÈT �B‹'Õ¸&Åe1!Ê QMˆš*hŸPà9
+
XgÃáp(ŠEÃ|4¤G’ýG–ƒ—ŸxdèOþ÷óÞ¡V§ØêÑЀ°Ê©¿cCnLí®psU‡ 6�€£1‹”qB¥\XõIûÝ3V­Ã1èi~Îk?ø¦×¥þ嫺Ìë—/é såÕ,À¦—£lŸJùo…`·Ð˳×Á»
+
,-¬^Ÿ…#®\Ö‡{ß÷ÞŸù<c÷îv·²°–8“{m �@µŸ…ŠŠŠê޾À qk,CÕ/ löï³2­ŽñvρVDZ·¼>ñÕ¿=zàÌPŸ:Ð/LŒñ‘H4;Q0ŒE¢2/h‚$1î÷orÿpø%©úM%ðÀ¯JÇOƒû' €ˆï'ÖËèþIÆ¿¡ç�âþçç7 ü2žý›� z6˜ÇnÁ�Fëo�ì=Lþ„Æ+<(�ÜÞAL¿ñ=Áq|7€‘
+
¨>ظ"`�02�¹@°ù|€_
+
�„0�˜0 `@�€–�k'`�K¨BBæE&Â…Ã`mÕ4…eYŽ‰ÇGƒI>È{avôÄüþ'{ßõŽçZÝì½»…€;î±eV<Ǽf«GõÄÍߢn�„�eõqûvÅÕ˜Ý×Îïë|¬iûc;[Å/A?5¥_:¯/^׋yàû×Ðx` *�èÕ@kp À:d€•âÚÅÙÙ5ô–—`_ €‹ó«ý½=ïßc­Þ¡}ÌNOȾMóÔg« €fZLEEEe>ã7�vÿÓN(°~‚e¸!`¶ÙF»<GvµíÃk3ÿòÅÁÞ\÷Qi /Á1#Ã0ë'å8°g9>ƨ¼œ”ãª(À˜ôONý±€ûŸž‚ ²IÃâþŒ¦Ÿì§@¤êw+÷O��¹�¤ÀÏèþ‰XÙì쟸ÿZ� fƒø·QP�x•ÇV €?ÛøQǁ—�².0`�0$áæbæK�\ @Ö)ìþÑ & ðΈ H1�¾À÷� ðj ƒÆEUˆ+<�€„Àj"§¸&˜å¹(ÇFX& h|$ÞßsæØÁ•ýO±èi¿#¸»ku Ö†¯3gmL6Þ=ímN;ê’ðìǼ%Ü\µ�`Ä�"’o“tÀ&ýIWsì">ëx›£»ÓýÄÞV拟ÑŘ¾|½téܵËÀú¯Vk‚«‚Ë0#¨¸º^(�éåX^ñ]Ì‚ß_‡ýƒVVôk×ôñ‰±O~üGë‰Ýø;Ç-¿=ÙÚ’¶oKµÜ5åišñÛR®Æ„½1ãn©ýDTTTTw²ªyÿ&±õo¾ë¬·yÚÝwÔ«íNaw¤Óy°ËóÔëï;ýýï]>x`êè‘ôØ3:M0\,‹�±Lö¥`9‰ãeNRx8ʦöø¿ÒðÇ0è÷Ƭ_ÃÁ?)üýúý›n�È%�ÙÐ7µþ+5uÀÄ* A¬?qÿÔ÷ß¾AàU[�!{býW7€šK�xÆ@�€0�¾ %J†z�µ€ÀÄ�™T:‡ÂC‚㨠¡ˆ��⧉¬*Ušq|”å" ‰ð1Aàä‰Ñ™áÁüØðõ' }øOžmó÷v°OÒçHÙOùlçÚ)ÛÝS¾ÆÚÍàæºE�À …#º`öüËîÆ¤·Yô[ÆÛlÝ»¼€’ÿüeê³õ"øùÊâòÜZ™�@…Ê%ð+„³ÀÊpT˜±)î´´°¬/åõK—ó}}£ÿÈ#û~w½xŸsÕÃi5+��¹ñ5I4+àWHy¢¢¢¢º3T© žqÔÍv¸²-Û¹úßVý-Ò¾Öþ€í`‡íøÛ8ÿ£†G/ŒNŽŽg8ŽDC¡P8a˜(Ë„Qj4ð‹$AFÝ>·�|ð âþ7æý É©ÿ-öûßXø[9þ_X˜» �˜¬ÿS�xu€WygÕÄ�›º�µ @:+T�ÀÄ�ø¯SX˜Ο?Æ€ÓÕ )@FȦ3S©Ðd2›'Óñ\C`€ªð¨˜%8€£¬‰ QØr™aŸ ‡N ,Ž \ýÅc±O=|ø¾]]ewGÜg·ÔM»›NyápÇYk�,#˜`�¼ÇMx&ݍÓî†)O}Æ× ZBÎýÞæƒoºGüÊôè˜>]_Y™_.ÌõÊd�”÷SZGk+N*ñ¸& ~~ Ё¾\Ð/_) žýÄGëòis°;=²Ïšp6Lz,“~8,ƒ§×|"***ª;S×mX<ƒ4e¯Ï85/Ìû?°íowŒ½÷¡Sßø¿sǺOöˆ‡º…ƒR(†´ç@ëÏE$>*
+
Œ(ò¢,I²
+
%m�F÷�ºÿ©œÑý“¾Ÿ@F÷Ozþ÷OŽÿkOý±ïZ\œÚÊý'PØ:íÇäþK�¨û¿­ƒÀ«<À#JW#lêþ_, € Mí=�©ÀK•�0«� �¸ —`€‘ÉNgsÓéìL2—Kd2Z"¥ÅQ5AÕDU•—Ѐ0^Š1b”Ù—bh"¬pBŠaÄÞÞÉ}ócƒ Ÿ‰}æãÏîmïióÈ{Û9{£ÚOdzö—�€íκ,S®úWÝI÷ŽIo}*Ð,u8”×ï~Þßòä}ìß}.?6¬Ï^®?¿\„Ó�Àoª\*–Ö°Ö˨x½T€
+
 ¾¡ë¸‰¾¸¬_¹¦_º¤GÃÌÿê?}¶ã>ùÞN5àÐ<ͧwRî&®î 8k?՝)�`�K7»ãw¦wµ¦îÛuÌc}2àû“÷\þÁ7ÖúëTýÃj0†"¡‰ ǰ°Ò—‹É\Tb’ÈʲˆÚ|Æ5.Ëð-îùCÜ?°þ&÷?3=9ƒýšÜ?NþyñýþoþÜ?œø[ëþóèÔSß¿©ûǦ‚ÿ¿
+
‚À«<ðSJ0€<Ìäiß”ò[çÕ4‚« f�r@ênñ€ô"eÁ$#®™ôT*“K¤2Z*­ÆŠ
+
[)k`u• ,µ‚ہ²¬Äð"¾ Fù`,ÎÉX,1>–ê?Ù}hu {ðãüy¬”•ö¶‹ž ¦å4×n ¿¾Œ›JÖÑœu4N9vL;wLºvä<õ¯E Øã»|C¾–¼–ØûÒgWGõ+Wô¹y½P€Ó�JåÒz�º(Ud�TvµT,”Ëúò²>;«Ï]/GG>û©·º÷í÷uò>+çhP\)·eÒg¯ýi©¨¨¨îLáF@•ŽŸÕ>Î %Þæa»½mžý;Û‡þô/ü×—û»Ïöõä†GåáÑd”³ rшıb,¦ðŒ"°²ÄÉ
+
/«`cRU-¡i UVLgÿ¸ç¶þf÷úý׺ÿs/¾ßmòf�“û'Û½ÉýŸ@‚XcP÷»€WyW#Ê7b€‰L °l¸
+
�# ¸•�R €`³ö ¹Üd*›KN¦S“Éô¤– R“qUƒ#*Ä�MTI–EQDv`PyQŽòBˆÑX!cå±±Ô`ÿ•±|ÿaö³þÌž¶ÞNO¸ÕɁUÞósjw…_S.ìͰ;½.kßžvnO¹êaKi¯-Ö¼=±Ó'ÝÓv8ÐòԽѿùLi|PŸ›Õ—õÕnû³O÷a, Xo` @U°� Aauqañü‹åraaa}nN¿zI—øÑOòÑ€ç9k·Óó4 ®†©.OÒÕL{QQQQa‘fÿ¨ì ÷ZD¿MÚÛyÀÑüLgkìã=÷ȏ/;zz` 58 ŒD‡‡„p0:1™UEAá8>Qy^x %þ«Àük ܾnUÈýëOzþ¼lý¡û¿µ¼ã©?©ú5üoz@�Àäþó5�`b€­Ü?€Û=(�¼Ê?¥ø‰Å±Ö6–0€10\ „ð€¡ö€0�f€ (6MÚ„f&SÓÉôT’0ÀT<spY0\¬¨�HÓ$Q$>Â2 fT†Íq{èy]åWŽ=ý‹¾¯ëx«3Öåç}ö„çW€jïˆ2~çÍ8[¦–¬£1íhH8T—Es[ã‡ê°Lwù³;=Á€å` ùÙû;Ø/}º0Ú {ƒÎÏë…<*÷… €«~Q�\no”F€mV–/ò €
+
Vu}1_ÐWWõüŠ äƒOzc»üÒ¾V©Í®ú[Ôš’ŠŠŠêN°þ°égÖ]—v7$<•ŽŸ‘vG»óè=Ü'?rý‰Ç®ïI=* ©1&!°•%6à¹ˆ¦Š|,
+
¬?tÿ‚(I`’5%žTY% ”Ž'Œÿ$óÇèþ+gÿÀýW~ÏþqòÑý“ŒâþIÞ?1ýäà»ÿ¥¥…ååE ãnŽwyröWØ, È茾Ÿ„Ùpи­‚À«<ðSJ¨Ýø<—j0�„�j€Ü��ë a�r @®È%ɺtéÒEF �±é=��€ôL:=“ÊN¢#“L#¥€� k�xÓ*É@¹T¬È"Ë%ä¸Ì)\„¢7>‘Å„C/\ì;¦—>ûçOuù‡ïÛÝý6°îWܘý^cècá+ú¥��tÊm›vYÁ›¤³As5a�H¸mg»Z㶦víþöýÎmµZF>þ=ÔÏœÕgç�¬—`ú?Lü¯��¹@ °Ž­-à ù…Åå…ÔH4¿ZЗ—ôËWôhˆýÔÇ÷YûºÜܾ@ÌÛ$ÁùÄp €ñGÝêç§¢¢¢ºÝ„ƽW–5ØÝ7÷$aC~¦ výJyêâÞÙßĶZƒŽþÝÞý{[cŸøÐÂS?/Œ O÷õ }ìh84
+
GÀ¦M|TÙX(6èþ� j�â™DÒxö¿¡ã'®ú5¸ �dÚqÿ�jÛ}Ööü1æüÔXÿ%¤J-Þ�… VXêþ_MAà­� XsP@<`�’ ´t³ù�•¸zõ*à€Ë(€ûljŒxQ«6=MºàY§NÍœ<9=335==™›Êæ¦Ò°8›†—§iÔ4•Fc‚o€¢Àf °ß‚(�I"/ò‚ÀñÃÊQ^sòx,áRƒçúVûÅÿá‹ÏÞ·ç`«{¬Í!wÚ_“æØ>配zÒÎí9_3š o˜ì®K{¶¥=;L psmÜlОTË›tÁÿ`„¯Yö[¸@K0`9ÚåíýÀŸ];Ö¯_Ó—ó…¥ÅÙ¥…ë…ü*À€Ò*,^_-­­×VJëkÕf ¸O(jŠ¯ÖŠúì5}áºÎE£óWOîkëÞå… à®·à?@ÎkJ9›³¾–Ó]ôy T&ã ½Óü¡¨¨¨¨^‘² ®k0±MõªKyw€×´Îú͹2 
+
-˲å5_S*Ð,z˜6ëh—«{oÿý»BùÉ壇ÎëÎõ˜3ÜÀ˜dÄÏE#ÿÀ“g`ÿžWúVÒýµx"®¦ã xü„"NþvÙ,no155533ƒ[`ã�;J‰…[!ñýFë_ �ÈýÃ�.Øyq[œ˜K6h²eoåûv¿XSòkú#!³Ÿ q{€;4n�Ś€Â- # PPÁ� �€õ�8ˆ`�†�@x4:f�`ÿ!¤“©TÂ�ð
+
�1�Ìÿ‘DY`/6YF‰ JDŒ3Š晁aéxϥ၅îCÚWþöÈ[îïÙíí´óÀ�ªý®Io=À�¶î��›
+
tðð¦xЋ�´ål`€lõÄ= «r›’Þf,xûìi OuvÅ>÷Åâа~é¢^X^Y^\̯¬ß×úº X+—
+
¥rüq¼[]ƒ‰@ðV�ù~HEø¦\*//Š‚+ç×BÑÏ}ê§]žç< ü=­1o“�̽ߖñZ3Îæ3íž“íN¶þ·7@�**ªÛM›�@Ú³�ü.�€œÓŠ^᪾8é³k.¸$òíŽÑç m¶£o}]ô¯?5wô@YR}Ìñ>y<JŽ Fùñ1`ú±À#‰<ÜwT‹ÔûâÌ`ýS(ˆûǽ-¦§§1�àoðŠÀ8틤þ›Ü?©úÅ�€·Z �x#;òK�äàŸœý›Û9(�Ü¡A€~SÀ‹‚‘ðòQË�µ½Akï62@eT0© 6b��r �„ç¢ß"¨Š”PT ðF’Ø‘gd–Už°\˜‰s¼2>ïíYŒóýÝ€<°÷ùVxð#íò0¶»ãžú3]Ž” žÁ±ðÈÁO;,3ö¦ìG|ü-êæ�ö4g¼–”
+
`€Ðj?à²=µowðSŸXì=ª_<«çuôÿ=\‹Q@¶…¹ÿ�À:^½ŒÅ=‚Š@0S¥ç®ë‹³úÒ5}¼?ø—{æµ]Ûì±Ý^)`“]IGÓ¤«yÒÙ”±7dœäj3�b\gþDTTTT¯Lá;[r“‰Sü«ëXåF·ºÖÁ#ž¤«%és~Ǩßq¬Í}ì÷Ê_ø«•£Î?zf|,z´›Vbœc“²ÊEc,å9û~ Yp‹OlýM½>Ó©žgOÜÿÔÔ.o}? äþÏ⎟¤çöý¦ìCæÏ ÷�Émêþ �˜Ü?�“ûaö 4^]Aà²¡àV ÿ¢çlÀ�Â�¤2˜�ÀM�FÂ�€`@-€—”šL* X¬
+
xR˜*°
+
Ù†À_HHR´¯/=tâzpböЁÔ?}¹ï¿{hW`x—/ⷞƔ¿)áÞ†/ŽQ“¸¦»å”
+
¼yÉ�ÀÙ€€Ü�P[­©×ï}ÆV÷Ó€cü/>:{ô€~á´þ¿ti,Î¥õÂúz¾ G‚á…üÊÖaw X€T\ÓK�ÖPÀZ±°¾´ /ÍêWÎéÌ„ô_üI—·»Ã¡ÜÛ.ì‚mÇIŸ#g­O4Üu±ËG��_z Q/x¨¨¨¨þ»D’6É
+
F†²ã%.၊{+’]–dW[¨ÕsÐm|èÍ'ÿù+ /<77<?rD8Á i,'1\4’8>24�pÿŠ,bÓODJ~qÞ¿ñà»|ð_qå��¨ÿãKrRø‹7MãÙ?)´Ãû¬Ñýãíø%qÿ4ÕçU�îÐ ÷z&ÀQ‹Õ›Ã-‹˜0Àx�Âèþ7�µ €1€äÀ‚%Œ �^ÒZ
+
6_‹ÇMTT^QMdTEŠF£Áp(‹ QF …Ò#ã§NœÈõÆÿõ+/<ô¦§ÛÝ#]^¡Ó#{çÝ0Ýß s~Ðh`ý­36Û´Ý–s¾¸®Aµ�E �À û é@ _óù×uD¼M‡œõÏî ~ä×ì×ÏžÑçôUàõõU]_*—
+
ëødüòŠed÷‘ï'‚i@s+0q–,Ìé ³úⵕàhäË_x¤Ý9´7Ýåc=–´§ål«ó¤«)Õ² üT›À†›ŠŠŠê•¬j3˜ä3é°L;šÀk�PÍUÜ }jH²Ï&µyƒíþž6ÿÐCùú¿é'NÌ ¥Ca1†ý=E‰ ‡&ÆGq«Ÿ­�€äü˜Ú}âŒâþqº?Iû!°ññ?jŠÿÉ 9>ø¿Z¯iêø‰ª~+qs÷O¶o“û'=Ùú‰õÇAÓ~^ÝAà ò„—oÈ
+
’¯a€åÍçÜÈ2¦a�ØôÀÄ�Xø€Ôc €ó W„‰î
+
��Ž ‹ ŠÊj2£J¬ÀÇ$I˜ˆDÇ'B¢(«¼,ކC£3'z/;¨þÛ?û÷ÙÓ9Øêd[m¹]î”§®
+
�uÐ
+
;¬9‡#ç°á·®M�(L¿«1�c�lFäiþÿ©N{æµÇ¶GýöÿÉR÷QýÂy}qžïëz¾¼¶¼¶ººV(­åK…å*��ÀâZyü%¼|òp¼ÀÅóº*2Ÿÿ?Oíi}Îgeö¶s øOŸiub�H£;ñ”ÏF@•ÔýSQQÝ>2�^ÇÀêŠ�XÅgîŸ ¸z]ö£m¡÷¾çÊw¿S>1p±o@íéU'Âr”…ÂÑ`H`b"ËÈ<—Pä¸,áª_âþqá/nóO¬?vÿ¸ãgíÙ?N÷'U¿¸ 6x=wî�âûIÒ¿±ç©ß?¶þÄý㍘ìË&÷Ÿ¯€Éý«�`rÿeCϳ ñª
+
�whà§Ú�µ`�¼pÀ˜H.é*`ã=À9Á䜨–°H.‘€ŒU$(™Lb�Ðq9!IqAÖxEæ��°‘  «,˃œ‹ðüx4a”¡Á‹Ñ‰•±‘S?úÁн÷ùÿ ŸMèpj¾†”^@¹àõ±Ë„ï—o][@ÖkÉxš{�TƒÛÀÝõÿÍšOïk‹µ;¹š÷ïé }êgñ„>5©_»¢¯æ×ËÀý¯Ö–ÖŠËkÅ �¸<�eÿÀ2Êš_Y+@h€ëøòŠ´8 ú7õô÷ô¾v×h«=dÝžô6Ÿn³W‹›o¤É’Ët***ªÛB�ði ŠÛ}¦a»Ï��Àý‹>ï÷L´·ÜÕüÓ÷]øÁ÷ŠWÇÆùcÝáƒi-ÅDYŽáù#ÆbIALœ
+
3Á "Tòþm’ íFÎOÕý㎟[�~Åcpp€-ÍȁU¿ä˜ ÿßoÌûߨïÿ†û7žýwçZëo�£õÇa²þ8̂ƫ"(�Ü¡Ÿê*çoÎ�äxÀ�µ @î�€\ €«X-ÀÈ�x0J-˜Ê‚1�
+
0�€"ÅE�¼*r)Må°¦³ª¬É¢Â„bìxD3Z4í>vzd¤
+
Î|çÛï}wϾ®>_ ÛjUü o¥‘:=‚É£†>9·¤­�`ÒoÍùZ0@ @�ñ4ži³gubÓkT¿M½§³·ÍõdWàù?|»×'“úüUØøm¹\$P(¯¯"�@}€*¿ÒPª¶ Ê—ô¹%°ô|Ž[^ÔSZôïÿæÇ»Ûímåïí`<Mª³°¬ú…?'Ü5I²ì‹ý¼TTTTÿ]"�Pšî‚{¸eÝ;ÞÅgáŽH›w¢½ýø®]á~èÂc†gz{äþ~5ư1nph,‰m"ÎñBpBcbIžS6¥(°Ë\µÞרógS÷s� ÿ&� ÿF�تß?vÿäøßtö¿R“ücrÿµ�@,õýwBP� ±!nÂ�jI€¬;ø
+
réfó*k�’dj
+
D²€H=�i ´é @* ¯�%š–PÈ*œÍ®È°1¨,J’ ʼ q¼Äpr4&E¢@Âø¸688Ób¶÷ø•Ǎ~øOŸôÙFº<üN·ÖÖ¢ºë2¾†©@sÚ[wî¨Ýrn®­�€¨²c„¿,¸â³FÛƒ;½/ÜÛþ³·¼îì?ÑÏÍè×/®Ï_ÁóÁæ–á(à"œ PZ/ƒ_Äz©¼^\«Î
+
†/•q:š þ°¸çkŠðµ¯îëý»<c]!`ɵٓÖm9ëŽiGSÂR§Ù~»êi¦�@EEu»(z÷ÿœiuåüöÉ€c2`ÓlÛ¦< §üM“®iç6°˜‹íö‰6ÏŸ«ÿu¯ãþØÂçÏtÎõ÷Ƈø‰ñh8‰2¡KذþñËh‚ IreÚ êücløSÉø7 úÅs¾pÃlý‰û'gÿ8íùþ x>æyCëύí>7=þ¿Žþ±ûǁ7b“ï'Ößäû‰õ7ù~jý�@cC¼ä�Ps PL
+
›ŒU¤0À„�Œ `ì D.Ò©D6™È$âIT¬ÆE“eNgÇ4ЬßâX‘ŠLHc5Ê)Á`zlììØØÕÞž“?ü¾öן>zßξ6Ç„¿Ei³%|ªõ5 Ûk&Ýõ¿þ€Zݵ · wâ×|ML›up—ëÙ=þž÷¿sæ§ÿ©ŸÌêùÅ<Ø®^~þ:Xù kÅu}1_(#«¿Þ¬ PYËѻŅ|y)¯ÏÏ骨|í«O¼nçSÞ&îÞV)`K¹›¦Ý–Ó뤫E±Öñ¶zý<µ?0Õ+P§;¼@`ùRm;âÎbÓoeÛsÎíYçöÉV°˜;F|öCmž£o¼_ú«ÏÌ>õ‹ÓǏ¥ûÕ‘aabŒ ‡"±h˜–a¸AhL4ÁB÷çxU”à°™jÞ¿�ླ�˜¬?®ú%îŸ��vÿ—.]"�¦’ßMÿѬ_³õ_FÇÿ�hÜJP� ±!ðrPË�xù¨e€êM£™ð±¹0ÜT–37ÆÛ� sŒ­0À%8•Ì%ÄU|S«*pF�¼‰D†¢< GY-ÆËè 91~:8vu°oá…gƒÿà¡×î>ìµGÚ\’·ž$9¶ŸrÕ¿ØÖø·�Diا6¨ÎÂö£uÓÎYwæC#*÷x÷µ<õà§û‰~îœ>¿P˜½^*­
+
ÀüÃTŸkà+¥5𾸚G•ÀpBXU(Ð’¾º®/,æõ•‚¾²¤+‚üÏÿpø¡7݈ìò%º¼0óÇR—uY2^«â¶P� ¢¢º”q£Ã‹Æÿ•ö4ç|Í`ý<°LzrK¼Í ÜÿÁvO÷;d¾ôùóÏ<•çbé¡AylLœ˜à"A&a˜(ËÆ8ž )��¸XœgTVý‚íl%ÊfîÿFÏŸ�À=þI£OâûîÀ%¤Û1éŸÈxüÜ?Ùv—·Nû!îŸ�€Éý� îÿN
+
�46Dyëù�¿> €ÍËjÆA¤`Ó{�Ì�7��,¾éD.Ï&p
+
c<@K€,ÛR\5W8Afx)ƉQ‰á�–�Sƒ#S#ƒûº¯<õóØ_|òÈ^ÛÓæq5kûÙvǤ}ûË�p2�€ÇŽ*4‰;Ýû|Ïtøž{ÛCS?þ±~ò´ž/gçô"Jú×õåÕÂBa%¿VDÉÿF÷_�T°t}QŸ…%ÙÔ©ÿüöá·½é`—o¬Ó£´{â«foÊú¹vJ뀩¨¨nÅm š½.ç·žìtd½°ó°þ²«Qíp÷ÿ|ÀÕóöS_ÿ—ËÝGÎŽ &G†¤ñ1n"ÈCl$ÌÇ¢Àúó\Td£•¹°þªÈÁôQYUì#pÚÌ-»#�Ôü›Ü?š’yÃ÷›TmúyÃý/.Îmåû©û§q+A€Æ† W›2�Á� 01�Æ�c.^Â0{�ãU€éÀXld€­� ›Kfs‰lödÀÝAµD,ؐPY0`�Aå9`ù%FÀ?y•%‘ç…džÅèx||8w¢oqlôÂOÈ_üÂñ·¼ùy—5èw¦;¼ª­¾v˹ua`Seaê?Ü´À4Âb�@ðEÑQ?óú½âý÷<ã÷>ýæ7iÿþ ]ô¥e}aaùêµâÊò:,X]*Jº^(æ‘é_[G2@~ Î(•ÖÁÿJ_XÒ——tY:ù_?|êÍ÷?pŒïôOÞ¿Oó;dGsÊ[(�PQQÝ.ÊÀƒÿ–©V{ÂU'X_£ùšÔvg¤ÕÞë³ÝÛqâ=ïL|ퟮï¹ÊÃ'‚'ú€ûg‚A6âÂa!™°Ä›a‰‹á^ŸÀúC©’W´„
+
§ÍlÌü!¾ »ÿ™éI “3S[Ý�`ëorÿW®TvCã �Vµéç÷¿´´`rÿd_&a´þµîŸl÷Ôýß™A€Æ† +By#¤¸YcÐM€`€‘Àúed�‚[Ý� 02�±)Ѝ, ÉTz
+
( 1 ƒë’‰D"žÔ”¤
+
‡hp5—Q”%/ðc£ a…ˆÈEÔh8;1‘ëé[ .<,|áó‡ßpÿá€{Üçd]- ϯnˆk-�¤Ý ÕºÛJ»
+
Ø3^{ª£5ÒÕà‘½»¹¯~YO%ô•À�«ó×Ë¥b¡¸ºR*– Ë/ÂN@µ��—÷2n
+
߃¿5¿¤_¼¬Ÿ<9õ£ï?÷¶ß}ÂÝÜݪínW}ö„מpÒ�**ªÛFhÀb]Ò]Ü¿âkŠïôL¬ýžý»ZÇ>ø¾“ßÿî|_ï…±q¾¯7<ЯŠ1ápÿ|4$ECr �pÿ°TL’dUÿª¢ªr¼:íËäþ¾[èûONW´Å €1ï[äþ¯n•ÿ³1ïZ ååE�ä72€ÉýY¿³ ñj
+
�46^Œ�P‹xY©Å�²‘À @rÀU¬öÀx`,6^ëŒ}ä¦ÒÉ“@�äRI\œÂ£‚“
+
LÒÀj®Ê²*KqIÔXž‹pÑ0Šp!†óLH‰„Ò¡°ÜÝi":72~îO%¿ò÷ðöC¾ñvâ³Öî:·¨ZÇ_«,® vYñØ4yÀšsZO¹mÉúmjãŽT»/¼3ð´ÏvàÁûÙÿûwEE‚]}óóóàW¬?îþYÒËD•u�À€B¹¸ëÐÖV×õ¥¢¾¼¬Ÿš:÷Ó}Çï>°Gwâ]þ¸Ç–ó:^ìà3***ªÿ.Mû,9_cÚ[¯zë3{|±NÇsÖí‡ïëŠ|âùï}ûZ_ߥ‰`jx,ÚÓË ¦%‰2у%¿
+
QÙ¨Â3’È
+
’((ª i"*KÉ2q%›Pñn‚3HÂЍ#äûOŸš9súäxY}£ðטùctÿÕ³7~ml÷yÃýc��î Ùp ÷èZ돃Z�hl#�Àt@#�Ô2�¹ ��–0Â�ä€È„@Æö äÀØ!§U`f2=��¬€5Á•z�<*8®V@Ö)€“yVa9•TŽ™X4ÈMåñP&¦F&´îÞ+ÃÃŁ~ùþöé7¼öØžŽH›KñYâ^\ª{õGhMsõ»[ª�п
+
ÜÒñ˜��€�IDAT@À� Û\Îe=éhIÙšã>þžöã»Ü?êpåKúô¤¾0¯_¿®ëåÕrin8ú +:>úG_)/Í_Ö×a‚ÐÂâòÜra }}un^¿xV¿váÒÏŒzƒúÆÚܬ½åTG�÷Ò6«2*˜þØø[µŠŠŠêWYUàò;úCÝø–a½Åëç”§)媗u1w=Oëñ.ד]¾Øg>~õÙ'/õvO ô‹½½Òè˜eÄP8<:ÎÆ`Ã4îZ’ôûF+*pÿr<ì?€\R�@òþ��¬?vÿÄúŸ=s
+
ªzêo²þØý“ãÿªû‡�`tÿÄñ“ªßî¿�µ `rÿµ�@¶x
+
�wrP� ±!¶ºÀ# Ü
+
�`ÀQ½¨p ¯`5k"^É* Þ€¥¯¡ø
+
õ,š â4ª‚[­� ›Êf'Ñ–,T6I§Ó)IÀqXÉ¥ªª¢hŠ¢ð
+
ÇÉLL‚#9åy@‚åNˆŽ%¢‘ÉÐØTïÑëǏf¿óÍ'¸ïÈnïX—CÞéNµÚÓŽ†ÓËi¿UkºÛdÙ‘?†;Öäg_㤠ŽÙø×jpþÛð¿
+
¼Ox,š×*ú­£]žŸtzÂ÷ù2ѯ_[_^YXÉ/<CƒÁ`פµÕâêZaU_+èÀñ—ðØà5}pB½®¯—Ê‹óúÜýLîò¡gºßÿîGí -ͧvíœló&œMš«)émQÝ ©@K¶Õ¡Ú³NÛ¤Ã6c³ÍØ­“ qoe�**ª—DéJW4èï' 3Ž: \¥Z·ƒu)çwf}°öNºZ¦œ-ikÝ”«YµÕK­ŽðNÿ³ÇÓ¯ßÇ|éó—îŸî>˜èÕÆ†Äà(gÃl$ˆz~FX6Æs ‘(p¢È«*ìù¬¿–€‡G)ܯLž.år™Iàþ§rS°Ý'ìJ‡+ÓNš9 �]S€$ý“}Í�x»!ÞqÌ£Q_d59~²ó⍸P“öC¶ló^No�hP� a
+
¼lÅ�µ�@N6%›��a€ê|€M0ÀH„�`ÀõU„fff¦Q]0 @°fW�–Ü`�IR9QÁ¬Äñ¢ ’ÀÉ`#e9 Á’�f">Üw)4²<6tù‰G{ÿð-ÏwÚz¼ên_*`“_“lÙq¶Ã 6!àþnGÊå�æ8ç´bËn�ìøa™oUFØ�·$À�‡|ÖçÞtoäo?·0>¬ÏÍéÅ"Ü Š«ÅÂêz¡›þõÕÕµ•â*pÿ€àü0X�k� ‘ €®®èKsÅ”’yì‡#~ÿà¾=ƒ¶ÆiMŠÛ’ð[‹æiÔ<ÍÙVüŒÇ´€b‰·!A€ŠŠê%R-�LC÷_—u5L·9âîfÙÞ˜pZ2n[Îk›òÂWÍea\Mã­®¾½ÇÞþÖÈßüõéýO]ÒzÅÑ!4ÊGƒ\,ÈÄB@,†îŸgdúñ«„
+
ᱦ�%�8g0@�°û¯�ìþ�€7,SæÑýc�¸V �xs¯/�Ý?€;6(�Ð0‡‰L$PË�8L$€—§Z¨í j<íÀ<°)`�0Þ�×Záy+˜ðôuðŠ ‚0€†®òª¨Èœ„F«"zËŠà},aذÀ¹‘^©÷ðTÿ±k½‡OýàßN¼÷¡'}Öã›ÐéQý6ÅÑw4¢Óz+PÕý[qn ÞÏ^Z�мawëÓ®¦uø‡ÿòS‹Áq}y^_ÍÏ_»¼VÊK°_JåB1¿ºVÖ¿:!�ýŠÑU�x-׊KKp8À¬žÓ.?ÿÄøÃü¹Û1Ñî—Z]¼«™·ÕƒüÌ gCÒÛ’rÃx×Qù¼0¨ö'¤¢¢¢ú5T¹ÿ¬&ÿ4¤< OS&`×ÀhoJ{lÙVWÜkõ¬»Aìòöûl‡;}Cø{éýǹîCW&†´¾nàþ¹à°þÐô3áJ¿6‚¦¿Òê vúGÖvüŒ«�ˆû'gÿäøzzˆœý“㜤jtÿ�ŒîŸÿë^±ï'öÊÅê´/“û'�`rÿ�jÝ¿qO'½Ùиc‚�-Ä7g��K€[a�F�¸9\@ÈU€ñ€�� r �ÂÈ�è@IirBTEPd1.Kš$k‚¢ð<ìQ&Ä aU ‹ã'¤þc3ÇVGzOÿà›ƒïÏ“Þn¿]º§#Þå6ݝðÀt`‚'PÈ ohã“}��Úñ6g´Ý}Àëxtg{ß§?17|B¿zA_º¶¾ºX(./¬WPïÈ�( ÙÇÙAð�ý~QàÕ|qyn ¬,êËsúTêä/üÈŽìio÷pí>ÑçPè§õZ4{ø¼`ÓMx¬€²Në¤Ã:m·NÃnþ!©¨¨¨~ÁKÔÊr
+
ÿˆOàþ4{CÆÝ2é±fÁä³ÊÞfÆ×é´÷vºîmþ£wÎ|ãŸç¼:>ê ö‰G£‘‰ÖŸ¸žg±û¦Ÿû~£ûÇÇÿäà¿ÖýÏÀvŸÐú׸ÿ3$õŸ¸¼aëOÜ¿ñü:Jû!AŽÿ_B÷O}? �hü’ØÈâBÕš, ›2�Æ�S.vÿ¦�„H.©€0À¦7� ²Ù¬‰ÀúžŽ+IwJ(Pq0�º
+
E��ÁÈ(`�A‹ÑÑlt|f g~¨ÿüÏ}øƒOïn?èµ…:¼É=Í óà'MÓœöC2øoìgØîeÚí^¼{n`·ý\‡#ñÚ]G[]tøz?ú§×{èsôÅ«åââÜÊÒÕ•ü
+
î Ó}ÊØîã�#�ÀïæË¥üšž/À\ Â’~rr¡ïèáw½íÙ6o›WÝ·KöØã¶†¿mìÁ(ã_ó5 €9¸ëŒŠÞPQQ½$ëáŒj-ŒÄýƒ7gãÙVç´Û¢6o— r»ƒÝí{]ÇÓ{Û†>òþs?ùîòÀ±³Ã½\Ï¡Ð`$2¡H0 E™H c8ŽxÒ³)�ÜÄý“Ìlý±Œ™?Øúc‘+£û'›šÑýW¯Àáñ?I”ÅÇÿd÷\þU3¨õ§±iP� qKAVòFø¥�¯a€åÍæ˜n�0�Ø”0à €�Àt@0ÀÈ�0Pk 5‚#H
+
��‰©Š$Hl(2>Ä‚‘踓ûÏŒÌ œÿùãŸxøñï~W³òúÝ‚ß÷Â]
+
ð[W­ËÉ�^‹ÛîN´¼&°)ûÚzÚ]?ïð |ô}ç÷?¦ŸŸÒ‹‹z¹0·´¸\\‡ã�Šú:ê Š�`þa½T†�ptpqu½ŒZ• ¥òÒ2‚âŠ~éÌÂáçúÞÿžG|®cOÌï‰{l“>;�€”§.á­ �öctõa¶Û¦)�PQQ½DÊ¡ó ¼œVoáûœ£ñœß^åæí¢ßítïp<·¯5öÙOžzüG‹C}Àý+=‘á^°n³2?‹„bÑ(cº†8΁©�¬úE¯Æ³œüss÷“jÝ?a‰­?qÿÄ÷ã0ºr N|?Iþ!û¦Éýç«�`rÿ�Lî„y_§qg�·Æ{�¼¬à0.:& 0€—-c` ¹@[a� Ì�øø'PšÀT0cÌ�ä*Àx�" @U㊢Éàl�À÷k’ÈE#Ï›MeARàø0ð•x,–šŸ¸r¢ÿò/ž`>ó©ÃÜ{l§/ØáVÀ�i7LTÂ#½¶’iŸ#ªÝoª† ö¤õ5JË]ÉvÇÿcï½Ãä:Ë»ÿÿßë}SlKÛg§÷­*®ØÓ¡—„À›R€˜’@Ú/@„š76Á&ØÆ²%Y]ÛûôÓçL/[Ô»´}úìù=ϹgÙ–±ˆ ç¾nƳ£•=Ë\ûÜßÏs7a‡mÄm|i·sÿ;;ÿÜI©ˆ´¾¼±¶Z.Và/É€ä­` þ”d�À °V(æ ¥jy@am½šÏã¡AËW¥ÕË‹Çý£=Õãêr
+
½î¸Ý€ß¿µ9UsùÇ´è2f\ ¤í Ð\sÍ_-‡ÒYýc�{‚Ûñéªß>oÕ¥Ía›žêw õ;޽þÞé?ùðÕ—ö\911Äa½“¼@ù™à˜o&@SøÒé~Ùyš8i~Aà@÷Wªrý¯,ûQVþºÿzË/©ü9ëk”ê�@©þ�ˆú‡ˆ!2‚ÝO¬Qúƒ5J0ˆÚÚÝ¿f¦€f/Ë”� b€J= „%�42�É�P’@#À‰I’�ªZ ’�#Í�Ê–€9Ù(@ŒÇÂq¼�Q< \6“âi
+
χæ
+
C3ë÷ûC>œ¢b“Óé¡ÁuÏLáèaæs?³³kh§ÓÓcaÝú¨£=iC«IdÔÒÿÕ€hçoŸí3!ë~‹ÖýV¬ß¸×ñ¼K¿÷­œùÉ¥lRºto ®bõ_@��U �ˆ €r¥âj…ô1VK…bÅ‘R!·|ué䬔[^zñïÙ³sÇDOÀaLuYÐψ~À¬¥6”#…Ësq?€ªêIsÍ5×ü•¹|TÖº~ë� wOÙZ“–¶¤C/ØõþnÛðΞ}¯ÛÍ|æSÒÔð©ÃéñáðØ 3=α¡�œø,MÑ,‹D?ň!üf9tÌGňrà8Qÿ�gþõß�Š»ÿ�@ÀÚJý� W`äâS� !U�$òª�€„l �4k4 �4{Y¦:Gˆ©¤¿â>R$@ršª–�� ƒƒ’0�`��I€)ó�û”ý�$ €,žLDã1^^ùÎË Ž ‘˜ †ù¨ÀGxAäxæY|mÄb†Bè÷gƒ¡ÄñcçŽçŽŠño_zt÷KnÈCî·&ܝQÃÝÉ볦¦´­-eë�OËžµb‡§”þ¯��àb ®Äd-Þ”´5óN·Çt ÏöÜûãßúš4Ÿ•V–ª‹‹e¤ê‘Þ¯àØ€‡~–ñ|PôX­–ÔwÀ¾0ü(Y-ת+פ‹ç+žiÿgþê'Ý΃6Còu»â]æY[ûi{çi[{J¿=ahŽYÛ"æ6Ûh®¹æš¿2ÇEÿ޶¸ ·E,MQK¢ŽvÖÚ*îrøv»íp ½çw³ßùúÕÃN ‹
+
#œg’ö{‚A¿Ÿ
+
x¦h¤ûc£™(�€ÕÿªÊ<õ_÷Ù8ñDðUÙÒýç`™=¨� ¦ºþGF" ‘›ê~¥ôÛ
+
�@¼V…uÍ~ÍM�Í^–Ý(ûkVm ¤"[�`€›Ô)�RJ�8‡ŽÞº5î€~�`�%� '‰f�¼í=‰$Ñc8—ÓÁ¸(Œ€ ó¬À2ašá8׍Š¥Bôðpfl$ô_}iOøï?7öî·è¶ ÙÚ¹.ÃÂÛ)·!ÞñÛéºú¿-�€—‚é‘gpïAó‚©i¶Î�Žý=¶w½-ûß®0AiuYª”–¯âOMB\—ü—Áñ‡UWüµÁ+(JRNBŒW”J%éâ…«‡yþê/<úà»Éë4rÆÖ”¡eÞÔº`nC?ìÉ>sÚ¥×�@sÍ5U€«=¨ÿ°iÛ|—iÖew êh{³Ã~ÌÕùb¿}üÞ3ûÝï\8zbbŒ:ÎM3Þi¼ä+R¡¾úg8†Eê?BÑq†1l„eÑ®,þQ©ÿ›ÌûWªÕÀRùÛë•� ¬þWªÕõÿÊ/<ïÿºê¯›êÚN×5ûõ6 �4»5#ÒÔ?<i$úÅ„šà8û¹ �—"��` p±^¦ªRí ý�ˆH�ÙBvv.É&IùèO¤âñd a@$&§ƒÅ0̼žæ…IÏL
+
Bx’thz’9åóœ9ž>6÷­¯Ž½ÿ/õÚ­‘ëB·5ÑÙ„t¾ �4JÿW�)³ yÖ¬ÃBÜÔ4oÞ–µ4Åì­bŸe¬Ëô3‡áùÇà¿öE‰§¤Å+ÒÒÕJ9_¨s¥b¾X¨”ʸ¸T)çJø“­_ÿã¡:�ªR¡(wJÒùsËCžÏ>þÔŽž±v†úœI·eÖ¦O¢S¿=km“ûÔoRsÍ5×ü8.,t¶ó†»Ñó§!®o ­‘.½Ã}¬Ë|øÁþ©?þÐüþýòðñÓ3SÑ™Æ;Cù=xÉí§¬þqé&Ãð#2L„£ãØÏ„E6àßJú«Ô?Ôýo1ì_UöƒÕÿ¥Kƒú'×ÿJéOÔ?��$À7Uÿ�Tê¿(—l*u? ÇJÓÔ¿f[™�šÝ²�¨Nr‘TÀ+`�À€Mó�J �€$�Yªú�ó�*Ȧ3'çæ̧RsÉ$€t*�  ÇÃàdÃ<�g>DY‘ó½OGDŽxãÞ™ÌøèjзxôÐü¿Ëó‘ßÛ×e;bham†l·-aï¼}�€;nÍ&ä³&�8 €„xØÚÛíšì5?kïØó¦‡B_üüêä°´|EZ[.×s…Õ¥õåõüžTEJ÷Èíu‡$@iCÊåËŵú‡”/J/^¤þñoŸy`ׁn»¿Ëžês¥lQݶ´¹å„ ç"4×\sÍ_GGÙœ«˜HýÇM—9ƒ}î—îßÉ<þñKÏ=Ôzh€
+
y<øR†ò…dõO³XýãE¿ Ås”ÈÑQ…¹h„Ç[_DYýDZôW–ý('ý“®_Òò{ÓqŸXú«ÔÿåË껥ôW©¸ÿº%õßxñ]õ˦é~Ínn�hv˦Ì�(H¥mÊ�Èa¶)4b�2e!!X°Õ~�’
+
µ@æç²s³� ‰$0�T5��‡ëFÃ,Œ‰ðøfüAË…‚ÞiÞçI|ñ‘áÓccK#ƒ§Ÿüþä‡?øRŸ{Äiå{§!î¨%�ÌZ:fÍx¸5ø/�Y“9^—ƒÇ6#‡}™CÓÜkl§}¼«ó….ýs¯ë üõ§òãƒÒÕ RqEÚÈçK««…•R¥ˆ·”ÊJ鏑@NÔ*‚6¤r’rE<KèÚµ*CýÄŸ=óè{&o¯#ÞïJ9åÑ@¦¶†w¨¹æškþ
+
=aØ>ï6Fõ-‚¾-³«ÙÑ}ÐiÝÿàýÑ¿ÿ»ÓOÿøòÈðìè?2ÌzfBAÿ´g*X�<ñ‡1�ÐÑ-²‘( ‘(/_üÇä9ÐêIÿpå¿i¿ïMÇ}^¯üé_wµúWJÿŸ«þI¸T©UUa�2MúkörL�Í^‰Áù‚Lyèl
+
�¥€œhù€<W2�2rP.):ƒ¯Õw@vLÙи@Ù|ÌeС?—N!8‘Äy€d<bC<EB?A�ÀÇÂ\XdY‘A ø"<GSA–¥Y&蝧ýžpÀOG''.ü+Sã§žø^èÏ>:ôàýGŒí¼Ë�€��«ÿW �Ð_Á£÷ñß•u¿ìøõ9[{ÊÔ1n»;ý;¬{]/>¸süã“‚^éì‚T^•¤µBy%W^+•sÅBvƒ)1�þYªàaô‰—ËÕõµ"Π®]•DŽýÚ—ž{x÷³VݸM/v™öN±'ë5×\sÍqOYۅλ2nCÌÑÉØ nLJùðc&¿ôO«ÇŽJ  œ×Ã}!Êy�ð–ߺ#õÏ tXdĉó‘^õFAùË£à®Ïú$º_yñ¯*ûQ©rñ¯Rÿ(:ÉŽM©þI8#uÿ ýo¢þó[Ïûk�uÀÖL³ÍL�Í~!S&Ééç8¶1�Ž9rØÁ`�e?@c*��’�ÄHK€’H?€²+€0Àìü\r.˜ÃƒÞæ3é…ty6™J$(,à-0±h2–Wsá(+Dð¹”IŠ"B…TqãyÊ–õú¢^ï¿wqtðÂÓOòñ‰¡ûúé.óm€ºãµx:ɏ‘àŒÃ˜î¸+Ñú³öÖdŸi¦Ëp¸Ëòâ};CŸyüÌ ÏJ'RþR¹r-_].WÖŠ¥5¤ëeÇ‹Âd¨õ¯VÖŠ«èEô|½P]͡ϴ‚çŠæ×Š¡þË_ØÿØ}ûl¾.sfG= ~ošk®¹æ·ìè4,Ûwßo™ê1걿ãMéýòÊб³S“щ)vÚÆ‚4ôù§Á!B@3Ž …Y*Ì2"ÇŠaVŒp:ºc\8. Ç×ÿ‘h:šÌà5_›�©ùQ¶ü6Öý+Ë~”•?Hú_½z¹²îŸ¨ÔïþU1Q%ýÁ”¢_©û•±X§5Ól3Ó�@³WÁ  <€”� d�U@uØånL #gårC9:U•�pI J q?�0À I€…ù�̦çf3'fç²³Ùt&”¥™D< ˆEy|åç’é¦g<ŒßOû=|( “ãÃú½>ߨ876vff*?3uî§? ?þ©‘]¡n3ç6Š.Ü ¶µÍZ±×¿¼æF¾¼¯©ÿM�|sßÊ{¸jŽ'd[u��',ºÓæÖsÖ¶KsÌÜÄ;õì×Ô}ýÿÖÞ<õç]9(KIkç¥ò¢$å+Å
+
–øØë�€a "•ó•õåÜb¡Z„–€¤6¤Òå ¸£ ÂD¿ö{Þ…è‚êuò¶Î˜]‡Þ8îQ®/=€“¬I–ß¹z‚æškþ«î׳”àd5Šò4Àí¿Öö˜½=Òk˜´6»;î´ ½û-Wžúô&ä‡GC“SŸ_îô )€`pŠ¢ý�p×/ÇFx.*ðx™c<ÌEX!ÆË�€¯ÿ.�õß8ñó&3ˆú'�@Ô?�ΠŽiå ˆù� !"¬2æBVÇfÍ4ÛÚ4�Ðì¶Ø¦©�0 �À©GÎA`�À�8(�”�`�¨� µ@ʶ`0%([fç³Èщë>³é¬<ü! �E†x2!o
+
FáB®Dðž�y.l àÂ,ƒ¯ ~ž¦Šƒ¡¨ßŸ˜öd&¦æGǯþo†ßððA{§¯ËëÖ'ÌÛ3æ¦Îçì)ksÖÑ6ël›šÒæ¶.³\Ï£ËXjê9#KçYsó¼©u—ø-¨ƒ¨2”Â.Þ,Î-Èj»¶GSµëi·!øÈŽÿîÖ?÷–Nýä»ÒÅRn©¸|­\­ e_ÜÀÃ~°m”%¤ø‹+ÅârUÊ—kËÂЫ˜pˆA˜P,JËKÒâe)Íþàßö¾ùÑ—lF~Wcïlº°¥#bëŒÛ 1kGÌÔ’‘„SóI#vô³ w{=5Ð\ó×®7f/•‚¾Áñö@y`ýÀ‚o
+
ðQ`nÅÓ Û#w%MI[kÔÑé6²½¦ãö¶ƒ÷¹¹OÿÙÅŸ=}æØ¡Øá£‘‘‰ð´—ñxƒ_0èÊ·þ àiœ `Šã8ãñà6^E¼ß=`×;îïB�‹%bñdéþtF¶l6 ãÁ`h2&P¼€"R> â_5ì_žösÃõ¿�Pœ‚«+rýOj~¥¿J÷éO¢' ©ä⟘†šÝªi� Ùm18’6€RCg0²›�€²hS µ@JP¦nÒ …ž��0ùÀ!��HàŽ€H4Š£î�ŽŠQyE�r1̇ŽciÄ��DPôøÃ3>¢²c“WN|ñÿ|Û£/9;&,M©>Ãlkû?¸:ßpOÜ´-iÝŽ"âI·á„ËéØ.×ôã}ºŠës¼ä«Þã[ËÔr ›{Ì®£ûLýú{ÌÇÞóÖù'¾+%cHÇ—ÖÖPÄÈ•7r¥ªüÁ¬IRI’
+
++—6ð„ NïH8;�-Âè…²´º.åÖ¥õe)!¤ÿóߎ½íÍ?mo¢vvÅv¸x‡I´ã!Hs›Ðq÷‚³ýó2 G?EF�Í5íû­�0€âøÒÉyËvQ¿ýD·ñT—1mnIXÚ"ÎN®Ëè5´¶N¾õ¡Äß=~iÏÓW=ãóž©ðÄ”à rž�ã÷×gþh6(0!¡9†Åê¿náp@T¶z×o"C‘§Rý�˜—M©þ�àþhÓ–_UÝ?Òý×®]A{,á⟘²èÿU�¥ú×�@³—i�hv[ŒL›2�jJ€ãïç2�œ¡JP&”@’�å@JXX˜S2�Á�˜ � ÁrëX͐‹¢¼!�…†B À‡BB Èûü¼Ç'L{Ó×<3×íËþë—ÆÞõØ>{똭%ÒoŽwéSn}ÒÖzª×x¦Û6lCšxÁnLëwÿòÅ„Æzàl'·þòí~û¼ û-1�ú·1¦æÈN‡§ß±ÇaÚ÷æ7Š_ÿ×"ÃHùõÜÚòêR}JRe½”+–s’T. õ_« Â��P‘p¾ _ªàf€uD
+
Òl,ûÃ?öÞ·tZ|.«à¶‰ÖΨ¾mΪ[pè’¦mµ"%èR°Ê do|“šk®ùkÅUê?³5�ÀÁ™¦ü‹äFcÎÖž1·$-mñ.3Ýeuvì6 ½ãÑØ—?yÿ3çFÄǨñÁÀä8å÷1Á�¨ÿ ëGÇ.-PÏâ[ÿºè'‰ £;Šq¤øåݏ5#º¤¿Rý/,,€ú'×ÿ8PÙtØ¿Jú#ݏ|iér¨ü!e?Ë7ÝöE�@¥þ �4ªÿZõ¦þ5{E¦€f·Åª[÷oÊ�yE?@#¬m6H@É�* x9y�¨ò €êOÀ�Ȩ�\ �„ä¡@G…¸`÷8ŸŸóúÄOtdøÌØÐêС3ßûúø{ßô¢³}ÄÕ)ÞëâÝÆpOOílζe:·g:[ϺrÏõ F‡Ø‰�`ÁxË�€þ:ú/&]†h¯Ã×ëÞëv>óÀƒô—¿$ExiùÊÆúµB~%_É•pé¡X.É3@eõ_‘G)�`£PÁ¯«kK‹¥å+Òê)) 8ö¶7î³èÇíæXŸ[Ð5§ -g»L1ý]HúÇìíQG{ÔŽ/þÑ(.½µ÷¯¹æšßáÞxd‘ƒ+%×"⼟|ÄÉ#jËOÙÛӦ樾%â4P=¶A‡þèîî±÷½íü“ß½6ðÒÅ™‘ØØñ RÿÞÉPÐ˰AšòS´bý!.€�€å™ZÁ€Îäš) ‘H ÑWþðHt?©ü!Ò¿ñî²Mþ(»~�@ý//ã[ª%¹ì‚\ÿCh{Õ¿¦û5{e¦€f·ÅÈÙ¤b�°F ©O€52�Á�%¨0@Å�£äž`<ß­H9a€DÏEŽ�  ¨9z"ˆ<Š@Ç�°¡ Äj„b0 NŒŸ™Y=vößñôƒ‡ïíÞ«ßÎív…»M1k[´ã®³NÃÅn[¼uÛœ¹S9KdÙ¯wȁ})oþºe�ÈXZO¸ubçÝLÇ=a—%ÐݵÏnÝ÷†G<ó‰J+—¤õ+ËWÎU+\”/–kã¤kÁèŸà Š«yüâ†T*së«ÕÜ’´|Y:;¿´÷¹¡÷¿óg.“ww¼×É·Ýé¸kÁՁ—;ÚýèÐ'­øG8ihG>{kï_sÍ5¿³\)ñoîèøŠÛô1>�� µIînjžw]V¿ËtÔe9üàNêÏ?zþG?8üÈìÄhxb$45ŠD?ÃÑ!Ê xXÊGÓšñÒ\€åBÏFX>Š|a�@g´
+
�àú¿�6•þ›ª¸BjTÿõqŸêâ`�¸þÝߨò»þJ+4é¯Ù«b�hv[ŒœPÕ—Ç�äÌ¿¼ý�Êl€²€`€’nRÃÝÀðeW€Š @ºÊ�ðaŽXÂ� ¢)Ü‘&åõF§Ç/x¦ÖF/ÿäÉÐÇÿø¹^DZ.3·»ëÔÃ;£–Ö´¹í|-ÑÑŒ��F倸_0êÏc­��3ï/Ï[SæíY[K\¿MÐ5‹+Ýßs¬¿ëéÝÇÿü#ëSÒòyi颔_Ù¨–ó…Rd¿ � ýki€J)—GßQ.V ú ïßÈ­J×.JçO^;øü‘ß{×3N£¯Ïv›Xýö”³3êh:¤þ£vÜá€bÿ)C+r �4×üµëª;þ›;�@¼�ṕ3�è\JÛu‰«Ça:`Õìño>}ñ'?^Ž R#£3Ã#ÓSèH „‚33Sþ™I.äã)/Ëú86(/úe㬐à"�ÄzÑ?ä”õ?*� ÒÔ¿Jú«Ô?„å´ŸÇ}n’½VôO ‚Ú¦ê?¿õ¼š*õ_ÕÆ}jö‹™�šÝƒ› %�4b€�ààS�9á 0�œ¡JPæ”  tÓ<�îF0àç2@Vî†<@$†]ˆ…ù¨ÀExäJ WQÒ~Š…B‚ß—˜™>=1¾8<pî©E¿ðÙgûÏé·S»\¬³ÓÛüqskÒÒvªËLšä�Œ7`@HèÝdÐM}¿h¸ëDŸþdWg\ß3µÅ»­AD#½ÖïY[Gÿüëû¤³óÒÒ•òò"úP ðG�HýWªx(P©º>³\nm½T(ÖÚ‚K)¿*å—¤Ë'Ï¿ô³£~ïþîÀ½=‘.ÆÜ†t ÿ\¿ü[0µ"¿u†Ñ\sÍïO]ïSºáõM¯'äo–×K3rcRÔ®ã{-]æƒ]¶ÁßycüËÿtåÅÎ fGF3HctÀ¤ñÕ
+
̓1–©@„
+
lPä©ÏÄx>É‹I<ó_ùÇêý¾PôOt¿òú_©þ•ÒÔ?��Qÿ(‚\”Ï#»\ßï{µ>åóšbË/ÜúC„ZQýÃõcŒSI%�(¥?DUíî_³_Ü4�Ð춘�¶b�r½¡�åùH¾T&€ôPRõÀ½ŽŒ§Z ä¤3X �ÈçÑ+ˆê]J@©�ž' À°œ¢:d¦f£ã'ÆÇ¯ŽŽ¬ìß»ðÕ/ý—Ëx¤Û,<Ôrêâ=¦¸£#biŠÛ›‘ËÊ‹cRê_†ZÙ n¨µAsðËuô¯ëÒ¥ì- ã=YKóœ½C45ÓÖvþ^wð±{`i9úûïÚ;ŠW_¹°‘[E÷�Ôš€åT€²„Ø  O
+
ªnTª¥õbam7—åׯHk— ãÇ÷¾ë-ϸ-þ‡vúÝVÎiB �7òÏu}‚æškþZtÐý/�d¯0ÆÅ¢‹Ùô¼Óì2ôXö÷ÚÞù–ùo}upàÌàpäè@|Æ™æ‚ äüÞ�¤šçC´¢¢ %²!‘£Ã#†ù¸N„#I1Ž��®üaàõ£,û!êŸLû!� ”þªëDý�ØJúCœZ¾qè'2jª�—o��U�@Bª�šý⦀f¿T»  P’�¤JÉé §ª’”�°s×ê€Æ~€Æý�°ÒÖ» @®Rÿè±6(•@žª·Dã˜ÄhIe!P­ˆÅcép& Ä0Zð…PH›??p¼pì`æŸÿñ¥Gw?cjšÙaK¿®7Úk Œw±–»£Žæ¨£5jkI¹:ÇL-bç6Òø[ëýµÈun�jg°£')ksÌÞÊ;u¡nãXŸuÿ.ׁw½åÌ3?’ϐV¯läAåWP*–З/ær…Õ
+
f€|O…$nÀÅAR5WFÁmYZ¹&]:[9>ø‡ðc—mlwŸ¯Ëq™²Nã¼­3mlÛ;lÚ–íÖßúû×\sÍïß�Hu"�øSùZSú{N::æíQckÔªÜ6—}tG×掙}äÂÓO^<z({ìX|x4:ée§}œb‚!$ýñJá•§<o¦86Äó,:r ‡ù¨‰Gñt2å“\üƒúo¬ûG¶é¨ý`äâîþo"ýÁHÅ¿J÷C #e?[€J÷+¥?1 �4{µL�Í~©GØË�rPnJ��ª$À¦ °i@¶3„”µ@x@¨\Dƒfå=‘³©d6‰�v„Õ†ÅjmÁ€x0(ŠLÈ9F`B(VÉË*Y*ÈòþPtÚ“»<:¸rhïì×¾8öî·î·:;|®ŽhŸ1Þ­Kvé’Ð5kiLÛbööù^
+
ŸYyô'f�.‚©š·* ÉÐ=PÿI;Î9 ÿ–`k 9;‡úgìú—Þùfö_º:3(¥õōâz>‡/®à³+×
+
å5¤þKR±Œ>O\�$€\ ”/—r¹µòê²”[•Ξ¾p`ïÀÇþðé~÷`Ÿ“éuŝ¦”©}Ϊ;ÑmLwu†ÍÛoõýk®¹æwŽß*�ÌZšâ¿-tܝp™’»ú=ÝÎ#]®> þõgžüÏËÃÇONŽGÇÆøÉn:HÏØ@ˆ è…œ¡h–fð¤<ìŸÁÒ_äkóDÄè<VÞý+Õ¶näîªÿoÒïKÔ?�€êîŸ0�¹{j�%¨�@¥ûë÷þê‹ÿF�Pª �4ûM�Í~©F2°‘ÀI@É�pø�€ÝœH3�,vQ%`ñ;ž*ב٠xQ|: ’÷“ñ d?€¨Ø˜0B @Ó(~qØC4çóG¦§S#C«Þ©Ò౓ßüÚôÞñR¯uÀ¥v9ð]c®’wêÓ6\¢u´fz q;Vüx]€\:/@-ô6Få­¼VS„÷p!xÀµF1rÌ�ˆ%Ò]†D¿cÜfØë4¿ô¦‡Ã_þ[)’®ž–Ê«ÕJ>_ÌUð?úQtÊ•q RÂ�@L$IèÓÌ­¬¯á‹W¯Ÿxü“?ÝÑ=Ôëd»1›!ajO›ÛR¶ì·òþ5×\ó;Ê¥?L0S@}¥Ië:glmHý‡û\ÝÎí¶Ãox,ôøg÷î¿08pbr"6=ÅMM±3~ÞO#ç‚A6ägèr<g¹¦þ9<ì?‰à­¾¸Ù_ÿÇ"‰8÷©ºþWÞýõOJÿ•êŸTüõßX÷ùòUð+WPˆAáf ùââ2øÒ
+
F($­!_]]G¾©úG¶•îkTÿµºMýköªš�šýR­ªè¸%h�°­ò�J @77€7öãÑÎ*@N`�€äf³éùLa€²0€0�ÙX‘§0 EÑláÑ# q^81ž¹4:ºvìÈÅÿü÷ÐÿÁ‘ûzŽY;§5nÔeÍúy›iÞfÈ::“Îö°y»¬Ñqs0œ‡ YCòMüF�háZ#Ì�è_ž0Þ×oËÚ ¢ÝäuY÷Ø=´kú“Í'¤Ë§¥JNÚ(–K8C])ñÇ(UÊØ7�Y¹\Å—aW/ᮀå+%ÿÔÀŸýáG<î´Qn[Äjä;š"†–y·±ñMj®¹æ¯ÿ¹��ê?n«¹hj–÷|YÆý=]Ç÷í©¯|­24zöØ`jpˆcf¦9ŸŸ „úY>â¨�Oѹɱ4Ωâä*_ïá²ŸH4.F�žÔp£ú‡‹(û!êŸÔýoÕï ÒŸ¨>ˆú'� Tÿ�@ý�4ªÿüÖÿ7Wÿšî×ìÕ5 �4û¥9Ë6e€RC-94s7Jås4b�2’P1À… ç@Õ°°0Gúæf3Ègë½µý�ÉØ ;Âd�»‚ÙhE,\»Êp,v†aCA6è‹ÂÄDbdìÂäTndøÂýÐó§ÙÛïöwǜάÑ1êSí­óý —1bÜ�€sèxpô¿’Mºrßm­|(f¯9z>oïHvnKé›E]KØfdºÇLm?ë²Lî'¼ _J«R)_Ê­—××¥2^,7Ëáz�`ÐÆF¹Z‘_¨.¯^+æ–¥âªtélÉ;üÂçöÜ¿ûˆËìvÄ»í)‡9aR¿=Í5×ü5çJé?oR�Òý1;vÑ¡‹öÚ<.ó>SÇþ]}3ûèìÿû^:¸8㛝ŒŒO±Ó¤øyš¢~Ú”@1E…i:Ì2"G <îú \+þh*Cž£È�ð°†õ?;;Kj~@ý“ʐþ*õ_ 7¨ÿz.¹&ý•ꤿJý¯­å«Ô¿òJ«©Ô¿&ý5»­¦€f¿T#'ZõFPÜ€ÜÀ�[�yEÉ�È��”�$@*‚” ÛyØíB€ôr e`¾¾-˜ô'Ó‰Dª6¨– F ÀFDVÓ¼@ã¢UÜ@óT€ ùÙ@@ Q¢?(ŽMž]=ÿÓ§øOr·}Ün\΄ÝïhË;O8 QÃ6¤þ�p?®ºŒYŸ²èåÍ�êx¼µãÒ¨þG � 7´žrN::ϸÍic{ÂÒ™ésrnótŸãGvãø'ÿä¡¥…´TXÃU?ùœ”/H™ê�€Õ9Òý«ë+ëùµ ü¼\*¯W +ÒÚ¢”[^™¡þîóGßüFÄ�.;b�^ßô
+
FsÍ5¿£\�„2ò”O�x¸£sé½n˧õàƒ»©¿üø…gž¾tühæè1ñøp|Úž 0þ ¢¨P à÷2¯,ýY‘D†96Â3òÌ9:c �`ˆâެD"ÒŸ¨Rö£”þª?£~ê¡AÝõ+›Zú#ÑN*dÝŸGžËn¢þo�*õ_Õæýkv{L�Í~©7J�hÄ�偨<.•$@¾Pö4¦€ôÀbU�9) =Á×ǃÎe2³éT&‰1@<‰ó�PG$ãb8á#Q.Œ"O£�cØMEBpÈ øh<×:œñs#c§g¦—§Ç—öÿlúO?tìõ»‡û\L¯;j1§Mú9«>aØ��ƒÿåE`úŒÙ€ýÖtkÊÖ”±6e-ÍòžZ2…ꤾ9il9é6ÅÍ­acKÌmàz®×v¤£åø½»F?ö‡‰§XJÇ0äók«Rµ´!·ÈMÀ þ R¡*•r…Õ¥ÅKù5˜ T’ªˆJR)/]</QÁÌ·¿~è±G:Œ¾.#kÇsÁÞ¤æškþÚðFéß�1;Vÿ¢£ê2ì3´½é±è>{á™_>13œˆxÔÄ 5í ùü>©e
+
3B˜E6æåÆ*ô,ʆ#\$Ê£c6‹§ã‰d<û±2©xÈ7tý‚úGFj~¶šùCîþ•ê�€¨9—|ƒôÑßp돥>_čS
+
SŠ~¥îW^~)c"DIíî_³Ûg�höK5%�(@•P �681•0�F�€0��@!* 3@m¹#I�€ú€/Éš0œ ˜¯@:›" €]®ÂwQ2 GJŒpaß`ÅX@”
+
ò”³¯Ç¤>Êzôðpztøâø§¿ð©½íèëò:-‚Րq[fzùª·êÊ·pýooÕQVâ*ýÆ
+
]Yjã @Ó¬¹Yî%€h÷ ,Øõq}SÚ&O55']Q».Þm™»oçˆÉø¤Q÷ÒÞyæÅŸJ'2Òå —ÏK<´$m%I^€�9
+
yòÚ°€J:6ªe¼%�ùÚºD‡‚_øÜÞ‡wÛa÷õšfÄmx"8ï\vœ¦¸ÕÅgšk®ù-¹|¹ drÛO×CUÖ•`W´¤dõvèi·>Ðm뷏üΛf¿ú•õC.O‰ScÔÔ¤orÒ7=ƒÔ(¤B† <Ís Á/²yΧ€þ‡ÏÒ'FùhL@§+’ýPôŸL§³™Ôü,�e×o½ò@£ú'•?äú¿Qý�€¢ªõo”þDý
+
%ä*õŸo÷Yªý+”?6"5�Ðìö™�šÝ¶�(Ÿ“»“¼¼�t?‘þÄ6Ý LÀQ$p±a0(Ü A@… ˆJ†ŠRWfåµ2¸?@¶T*…‚QA@LžOEÇ-ä¤1 ÌR<Ú`U0¢Ø@€ó{Þ™äÔÄÙñÑ+‡Í}ç›Ãï~Ç—ÃßëLìpr†¦„µ%íhOÙې@OX:æÜÖY§5j”ÇkÈe<d$h=B×+|jJÅf=
+
ÏðGÊp®
+
ê'ä«;]Ôm 8ÌþÝ݇v8~¼ËÁ~ñsR‚•/T–¯â‘ÿ’^,¤Êº$•6ðÆ0¹ïÀeB8=€
+
R¾"­å¥•).F¿ñ•=ozho¯…{°›µ·ÏvÛfmúTGó¬¡=ÑÙ4ç2±! ?`b)Ɂh®¹æ¯ºË:z`�¹qÅ œ0ÄWrRmŽ0tÍ9M1C{Òб`7ŸpXÐãœUŸ6¶ží1§LÍ¢~{¼ÇÄîpµë^êµ¼ëmW_xþä‘#󃃙ñÑèÔ$癦ýžPÐ ú)˜ö/;GÑrñAºŸÐ!*ÊGh4®ÍZ…XT.úO%2édZöT&‰Nâ¹¹¬rt|If»‘›¸ëiTÿ*éOÔ¿ò" ž/ÉC?—oÜõ 5?ʲ¶”A>�*ݯIÍn«i� ÙaäæCE`*�(lÖ°i-ª
+
HQÊy½Î}%(I€��0��¸X"�‘—M�ˆÇãÀ�¸'Xᘎç�ÈY†Â/ ~Êïã¼žØøø™ñ‰å¡ÁSßÿ÷©¾÷@·}ÜaºÍtç¶”³s¾Ë„<ã6ñúF×”râñ 5�¨«"èI‰¿üG¸jˆ„ö—éI«Ž7µ3V=e×3;]Söìy {æ³.ñAi}Yª`¹¿’/­ŠxØF±œ_Cr� Tc�œ@^.IÕŠTÉ—¥õuimIhæ«_|î îï2ŒÛu±>gÌ¢Ot¶œs!¡‹·× p÷-Øš°Ñ–k®ùíq��\^(ç!ë�0_ËÊ�€—�čmó]¶9›)¦kw¶Çè•´]çoþ_écz—Ããì<`Óyø^áñOœ}ê‡sGGG†£“Ñ™™°ÇÃû¼LÐGSþå Ñ~X÷ÅP4O3a*aÃQ¡>S!FŠ—VÊ™Uú™JÆ‘úÏfRÄAñ/,Ì‘ŠMôÛ�H^�@Yù£”þ›Ýýß` þá²iuëyÿʘըþK�hö?j�hvG9ø6%rw¢<O‰‘r d*PVè' @j.7`€2 L Û
+
�¶b�å„ÐÚ˜ :� `CA`�Îï½žÄøØ…éÉÕ‘“ßý–÷#¸¿oÀª£]–D—5f팙ڐîX[Y㶤«S±…G‘ˆ¿ž‚¯'p*¹ÿóý­´Ýx²¿+bé¤Ì:¦ßù¢©õGnËøÇ?¶:|\Êfñþj.¿¼Z.â…Áårä>Š[øú_Â}r»ðÆâêZ®R)ll ïCÎþ×Ï?|ïÁ»w‡+Üc‹ÛôYk³NY|Ô‘¦^ªDćæšk~[ýÊ#ìÇ#;í­q; ÔMr†ò·a<ÀßlmõÛ3CÚÜ‘2µŸîuêsÄ1w'mmåû-Ó]¦Nýà[þýg¯<÷ôÒØPzh 21›žŠx<aŸøðé‡}ùi&�Ë~YšV¤E�q1ÒŸˆþd"†6²cÅ/f¾î³$úOœ˜é¯îL®ÿ¡éKyñŠ„2R€ú‡P¶©ôoTÿJ� !ì&êŸ�€¦þ5ûå˜�šÝvs�(50€òyAÑ@ÎâÆ<�d�T��¯Ü” €ìĉJ€)` f�%� x&†ygñ@k™xºÆ�¸æ•
+
2ÓãâøÐ‰ÉÅá#×~öcññO¼´«k¬×pYy«I0¶‹&¼´+ÝÕ)˜¶‘
+
�ó²ÈA—5”Ô¿L×¥Œº¸±#¡ïàt-¬¥SØÝ;yÿS.Ëá~`þÉ'¥ì¬´’“–VŠKË…R^ž$×�m`õ{‘WñÌв´‘Ã=R^ª.-^ÞX¼"]»&Ífç¾÷oÇßóö=nÛdŸ]쵆ÍÍãÝsÝÐð€ÞîO0êN°£ŸK�Í5¿M…uõ�F„ej©E¸AÀŽ[�캨¡)®oš³wfFÁÔÐßã17‡p¸ôÏÙ:†ßñ¦“ßüÚÊ¡½gŽŽ?§&Ä™Áçü�8
+
oøbè�Ñúç8¼ë—g9ÜîËGБ٨þSÉxí¾_¥þ��ÛÜAý+ç;ߨþÏmUë1B¥þIÁRúƒâßTý“ú¼®kMýkv˜�šÝFÁʍÒÿæ ”þpæ’㸑ȱNŽx% �ÜœA'�`�é †0@É�²á ¡��5—‡„Ê{‚9`�<”¦P ¤©`0àC±0Ìøc‰ÏèâôðÅ=?IüãŽ<üàa«9àr¤ûºÃ¦ö¨¥5Û­ãô¿%—ÊÀB�\ä#×ùÔ0€äHí+`€¤¹ƒÚþ›³þL·3bhí†È½ý#ÝŽgœÖñßÿàÙ'žVºtYÊ­‹ùÕbÇ-Âê�P­yU*]Y_ZÜȯKÕœT¹‚|A:A:{vöɼð¶7=Ûeq˜îΈ«ÑýŸ¸
+
~0�Ìõ ²£'·šÄÐ\sÍ_¾×ŠÚÅ?¾û—¥ÿ,fo¹:Héݬ­=ej>éÒϹ:ƒ-¿áÓÝÅõ™÷:º;=Ð7õ¡÷Ï}ç‹ÇŸ òÓÈ9Ï$ïó çü^Üþ$€¼ç+×"Ç#Ç¿áh#� õä¾
+
ð†–­€Tþ€ô¯¥€ª}”ωôW©¥ÜW©•¥?Ñý`J鯩Í~ɦ€fw„Ý�È—%E?€JúÃ)Lž(�0�ò�Ä”×<À���J ›öl€” ´ת€p Î�xªÌ�a¶Æ�8Ž€òÑ\€£½ÌÌplbàÌØÀʱƒé/}ñ裏´Zƒ].Öf‘”w¶EŒw�(à†‰Šy|¯dоtèöάÝ0g7¤Lí¢¾™3w„\æ™~÷Á¾®oz£ð¥/–ý~ieIª”×ÖVdõ_a¸¸�°´xyqíÚJu}E*­I%yv„wŠ­¯I§Ož~ö'ßÿ»?±´té£÷Ú}ÿ;æ ‹ÏÚk‰&hŽÆ÷©¹æš¿^Û"×ýã²ù·¬þÕ €Ç‘µÌZ[N¸uq{+civÛ™×õè1¼x/ý©?»üô–ŸãF†}““x쁆 L3ð2~?Ä�€N?¤þyŽ‚k<ð‡äv_œhTÿxäύ�€¤ÿü\váÆ¢%�4ªþFÔ?�Têâ¨�ÊÐÓ¨þóu� Á‹„30•ú'� ŽŽšiv{L�ÍîS‚* ¦€M€< ý�„ȁ®Ì 4f�6ͨʁÈh U]©Jã‰Ô˜ �¶À„P%ˆÜu@_z½33ÞI„ÿthf,65zf|4?2šþ—¯ýÎÛŽv»}n[ØmÂÓ3­­8_o«õË*/øå@µ±ÜpŸ×òoæè_Ëî‰wéSÝò›i[Ç©^kÆaÛ;#;]£NãóãÞG_Gýãß/#/-/ãÁ?µ)@r)Šeôukýò†TZ-­\Í/^-¬,•ó…ÊòÒ5©T’P`ÞóìÐï¿wïÇ̽Î`·.ìÄЀˆ›,º¸M\[¦¹æ·Í1�ÀÌŸÚÆqYýé/{í–¡VdnYpvІ{‚†»™~ód¿åWç3»ÝñøüÅÿ~jixèÔØxd|’žñÌø3AÜìKS>6äGŽÔ?
+
¢s@ôˆÎCìB»ˆÇ¨%bq"ý¡î?“N"‡uìäâIÿ“'æOÕoý¡â¿qæ©üAÒÿÒ¥ È·Ê�€‘xAt?a�U@i’ B)@ËHŒ«ÜXù£Ž‹šiv;M�Íî ƒCPäÐ$÷(�1€<Q&ÈÙ­¼ËAOåTï¦×ÿ*PÎÚ4 �e?Àìlo – ðŠ�¹†9žgW¯"�€=Á“°ŠØ¤B¸L629±0<"ùg¾ÿ½Áw¼mhwŸ§Ë4µ&]†˜]Ãë´j�@*þ32ÌËôÊ<@CÈ¿™ã‚`GGØÚµµe».ejM›Û0˜Ú;ÜÔÎîmƧvöM=þ©ÕÁéüy©PÄŠfÉc@qÁO¥Tʯä +„ÕõË…å<bI*¬­K—/I/\Ùûܾw¿å…]αݶ@f€”,GÐÛFï$j×#ׇi®ùms�5õ/K||ÙKÇeÑ_k€~€¨¡i¾ßÎØÚ|îÎÐÃ}Ï» {ßpÿµ}oýЁ«£# ÃcÜÐ3ã¡(j†F ²{¡4D§:ñ"<0늑°‰à)j©DR)ýIÁÞÈ>›õæôɳr³/È}R÷¯˜øY»þ‡»�€M�õß�„6Uÿy�°uõ_Õ�@³ÿ Ó�@³;Ú€ÀT$�—+JPªr4“T�Ñý¤ôÊ<�!e-É G’�#y��7b@ª6£o¬ÁkÂ��q\Û
+
±GB&$0!¼(€
+
Ñ!ÄA:d½¾¸×›º4tüÚs?>ñ'‡úÝÃ6ctg7kéˆ;:Óv]ÒÒ† fì¸Î'njÊÔæç\ï ~í³@5ºKŒˆ§Í³Ý¶DÃã0ûyhÏŽÞ§| xè ”LIË«R©RZ/®ʹ ©TÅÓ@e ¨J•¢T-nT %©˜—Êy©š¯V‹Åòb€¥%éìéÂØàÌ_ýÉw-Íž×us;Í¢m{¸ó7“¦ms]ºt—A´´½‚6Í5×üåùõêù¸Ð!ÝŸ´âÌ[ÂÒ‘utÎÙ;g­mckÊЂ¾aÖez¿­½¯{ú¡Þ=;cðž ?úÞÚÐѹC‡âƒ‘ñ)nÆOùÈ|¡ Ÿ?Ô?‡›}Y–å8N.÷Ç RbáÚ¬Ot4â‹ÿ®žDÏñ’ßú¬O¸þGO æÊ~N,Ì!��WNûQúfwÿ‘“cS鯼0SÝú¹O?ˆ~åÅÿ¦ê_ç4ÓìÂ4�ÐìŽ6’P@y³r b[€2�¹]8èI�ìÊ•+HúCN�`€`�É(�¶C!t~���Ü�‘£Ã\Hd)¢øÍ*HSÁð³3SóžÉkS#ž~R|ü“ƒ<¸§£‰ëÍlgsTßrÒmȘ›„¶ÿ“0o‡ˆ~}(PmØ-{mé|í§¬ý=á0°M¿•²x‹~ÆjœîïÞç´=ûÀ½ ?z¢*ÒÚŠT(”ó…\©¼^ª®a؆T.b¯ —ðº€rµ„h¡PÆ©ƒ|NZÈž|ñÿ_âéã1WGÈÝ‘pã‰@1ã= k˜ۨ€æšß&¯§!OëÆ±úÛti».¬»+ÞyÏ‚­ã„]ÒiœuYC Ýkë¶è¶ìy Ûó‰?*Þ+Ñþ䡱¡a|’ñÓ~* BØú‚ „¸ Ë3È9Ù�ˆ>ý�Àz/%�$㛏û$êŸ�À©“ È•Ó~+�€úG'=ÑýDúo¥þ!|(#˦ê¿ðòæý«ãœfšýO˜�šÝѦ�%À©JîZ”ço^ÞL.i��àQ•
+
�ƒT�1þT½ˆTµ@…@`õ$@¹’ mS� Œ ²B˜F¥™Xˆ>Äâå˜,ã÷{ÏDÖ3qebè꾟‰ÿùCoxä°Å°[bnGÜjˆë[Ò¦æ9G›œÀº÷ •¯jx9.çZð ¨@‚À€<iÕglúÐÝÿëT=ã¶øÚî‰ïîïßyÀaÞÿÆGb_û²òIW/H¥\µ˜[-æ×7ª¸ëw£*•+¸â¿\–ê¹îb9b€
+
Âôb¹$ž¯ø'|øÝ‡^¿s¸ÛÄô“]ú¸©)ÖyOÆÜÒø&5×\óWÅ7�ôËŽg  ?260·Í[mÛg­Æ¹nGÐnô¾nçSNýž×ß;û­/†>~PDêj’Ÿòо�¾¼ Š¢h*ÈQžÒlâiNà±óaä‚ ˆÈê‹~U�€ŽLrß?D÷ƒôWªÿÓrË/)ûQü(Õ?��Rÿ�”ÒL©þÉå2Vr7Öú#!é&ê_�ÍîÓ�@³;ÚH‰¤ŠÈÙÚÈ�ùz0Ð9y;¼ÒˆÈ �aàZ}<(<çªö�ÒL&„’žà
+
«3�žLwÈõ¬Ð
+
ˆˆ�baÜÀEXÄ�ž‰1lœb¢AFÄË1iš|”ßë›
+
N¥'F.O^<¸oî;ßxýë[­ÁžîÔ5nn?»ÃF:äVàë�P_ðr�Rÿ'­ F\M�€IæO:ôQcó‰nsÊ¢ãÚïŒm¼­3|oßSÛ¾‡w†>ýñÂÀéêy©´Z)®­—rx&¨Ü܁ "· ¹<_’ŠèÓ¬äË•¢ü#l®œ_:ÌýÝg_zpÇA{G¨Ûœì±¢wëØÖø&5×\óWË�êUþPýŽ¸¾é´ËpÖ¡Oul´7G­FÖiïr<i3ŒüÑïÍ~ï›—¿xaj$>2<Îzfè@0Âs͐ãý¾t@ ƒÂ{¾xÉ~삈<G"xI:�¤þ“ñD2‰{§Ð‘I†üŠÐý¤ò§&ýOŸ<scׯò¾_Y÷êÿêÕËÈɽ
+
�TÒ¢‰#¿ úÇÇ fšÝ¦€fw´©Ú‚. k�¤û•Ï �,×» @CQÿÊ �$H?�0�Rÿ€ CBåB ,8`@¦^É
+
I�`€d4‚1�
+
\„GŽH ²1š‰R´@ÉãAñ¦œ Ã…8Ú/xÆSS£''G/;tù‰'†ÞñŽçŽ™}âΤÂskÄÜ£È`Ð ^ð‰×ëÞ*�4d�ô�¢vCÒmŽXÛ£ÆÖ¸±mÞeNÙ:C­w£ÿ:¿ÓyÔÞñœÓ0õ‡X=ð¼t*--]¬¬^Aú¿²Q–?C<
+
*–%ùå|µŒXa½ŒHnMZ]’— z>ûW{}àp—Åã2FݦY—á–Þ¿æšk~‹Žg…‘ÑŸÈaðnRß¼àÐ¥:Ñï{ÇÜÎ>¿Ó~Ф?úÐúÑK/<³21$î{Ž>z0I¢ 埙¦‚!
+
ÂNûiÊÏË�ÀqŒ pášEdñ›}Ñ?ðП¨GÑјJ$åjÿ:2�T-¿Òÿ,ÒýŠ¿P4ûÖüFõ/zT � Qú“â%Jõ¯Œ>ºŒH0uœÓL³ÿ Ó�@³;Ú��€¬ PPÌ*Ô[àK�ƒÆ®�rñ �êÓ �<BO0é Fê_9ˆ€œ˜›—§S€ñÕi¹šÒñX*E Ås�žƒÁs"Äiy?�¤Y*Hù�<Ŧù™±„wâÔôäÊøø¹§~<ö¡ß¡§{º¿›ê±-­‰nC̎ǃ*��«ÿ[�äò<ë�1c�ˆÙ 1yìH›;ÎtÙÎõ8p£p·1ºÃ6ŒÀ¡;òî·¤¿ÿmI¤¤Â²”[ªs•J f] õ_)UËÅ
+
Nà­ax_@a£”+çs…u<3´T–.]ÎÏÌÿü¥ýoxèyc넵mv·S¦Í5×ü6¹ �µ òÔyéoÚÖ‘²u„;[D§™ÙÑ»Ïj<ðÐ}©ú‡òðÑóƒGbGöGdžĀofbt|tŒã¸PP®ý§ýà4àXö|…Ã<®ùÁ•g}Æc1¼*ŒJCêòI™AG¦RýÏÏeO,Ì‘‚Pÿ ýϝ=}n³…_ª®_Pÿ²ô¿‚Nz•î[^^&º_)ý_-õ_Õ�@³;Ã4�ÐìŽ6�„T�PÞ¬@yFçå–��ª �zI�UK�„„kõŠ ’
+
¸,§“¡!¬±ˆ���8a€9y‚5É Ï$°# HFc 1‘p1@¯Ä¤Yžb…'Ð(ˆ2t€ ùiÏ”àó$©@:臯yf.=÷ŒÿO>:pßΙ~'·Ãé5‰ŽvÄ�rPm(žçsë�€ç€ ¨„²à¨<˜ÞeM:èßþDkóY»5«o‹vÜ5ÛkŽ÷;­ºŸZt/¼ùÑð7ÿ¥Hû¤‹g7–®nsøæú(ÑgWÅë‚ÑcIN”«E)ñ�Q ¿¶´^¥©ø¿þóÑ·<r¤Çê5Fí¯°›YsÍ5ÿ¹^/‚YŸ2ðÛt1».Ù¥;u¼Ëèí¶ÛÙ5ðηľúOËNÚ7;x,2:ÈNNP~_(„/þ:ļlÐËÊSÿqò’¡xéþ¨¼áK”×!Æ"è rÁ2–ˆÇ“xFB*•Õf>=·E§&©ø‡êÜé{ú¤Rýƒô?C¿ï¦ê��©ääØ'¡Ê‹þDý�ØTýµyÿš½ÖL�ÍîtS@#{8…�n8ÁU×ÿð\¡ÿk ÂH6 .¡x¢0 ºÕxÐ'æ‘�À®`�è¨M¹NÄS(FÉH*‰G"8À‡ä\˜âx*,0q‘YŠõy„ ?
+
PS q\ñl?6ó?¼¿Ï=µ»{ÌÖA» ¢oÎÈ•<Ú�Ô§zË. ý—…áÂ!ù›± ¸>\¾ŒÛ3CÚj˜³êOÚ- æÎyòŽ“ŽÎ¸~›`j‰ípùvõüÌa~ö‘ûÇ?ýIi6!?!­\‘ªyYëãaå
+
ސ¯– ¥õr%Y�¯ ®µ×JÒZNZ]•8:öµ/ù‡v‚]ˆm{à7&¿+œ �÷o¼Qßh®ù¯™+j¿àõ¹^Äkß�mBè”  Hý‡úp¯yÆÙ9Þo?´»ûø;çþS
+
NgíÍŒOLŽÇ~6èCqÉ¿©Ÿôq!GûY&ÈqL8‰FãrÝ�ùˆ‹¡W�Ä)¤þ)<#!NÖ.þ³øÈ$åþÈ¡øé~|Ó/—ý��õA®ùQê~Uå¹þõœˆJÑOL¥þ·�†n¢þ5�ÐìŽ2 �4{MÁ€J ™Óy9 °é™NNrD0 QýË�pQÖÿø† \Vþ§åL@mû ä OŸ>)ç�®«’h\€–ã•Á¸·Åá,�]dq6€c8Wá•axHhcÀ´75å™›:{|èÚ¾ýg¾óí©÷½ç'-Þ^ã4&Ýæ¬Ó˜0µglzôD04#é u;Ð\_Ü:onžµ4e±ã)à0&~‚�­@„´ŸÖA?¦­ skÔÒŽDç6ûzìƒ}Îv¹¾ÿíçŸÿ‘ta^Z½\\º\)‘ÄÏå+ùò†|ù¿Qªñ‹å²TªVóåj¡‚ „6ªR1']>'%"™ï~û‰Ý=Gv¹|ýÆ¡õÍ æ¶óÖŽ“ÆæÙŽmxß™QŸ5RfSRîTNZµµÁšÿš{-_'ÿ¶âÿ+þŸ57ã_yü‹3‚ñ~_@…ˆ¹#ll‰™Z’–¶„¹9ailís óàŽì†ÿÞÑË}þ¯ G- Í<<ΏRS“”o_ÿý¡P€¡CpLAÑ?ÏQWüâóLq¿oÊý£rÍ:ý°¥d«oOÏd³èœÄ—&èä„<*:NOÊë~UÓ~È­ÿùóçÑé µš—åanPßOpxÎv¨öYn¸þ_­OûiTüÊ/¯kYý7êþªVê£Ùm�höš´MSå­÷£<_O€)³J �ˆ„äEa˜ˆ �€ba�BÐ ¬Þ “�’ÿ2ˆÈPìDŽ��ÅQYq)­¼3…X.¼þ¨7›ö¤Ç'ÏŒŽŸÛ·/ù/ÿâÿȇŽïès™h·)ê6±†V·-fíL9 �ðõ¹¬ï�ŒxÔϼ¹ €Ì��äôÚúÏUñsKK[ÜÑwÃnå¶Œ÷X÷ôš‡>ôŽù§þCгÒÕ‹×®UWrRU*P䬫•B}bùRo«ài@•RQA)¿"-_‘–¯Ja~îÉï?ûúûö÷Y'œÆH·eÁi˜7¶,è›O™ÚN4�Ð\s•×~‹�ä-¿øwý²ãæ~y´ú­�HÉ÷ýÈg»-·A4oLÛÂÎv¶Û4Õgû±®yä=ïL~ã«g_|áôÀ@fp094šòø¨™©€ß[«øÕ–û¢3
+
yŽÁEÿBmÅ/öÍÔ?�@£úG¦’þèDENFý(ký¡æ²²��Dî� _‚ú�hTÿk Ó~ò[ˆ~Õ•?Qÿ�hv‡›�š½&M �JØ*  |E‰ö%°†`J€ˆȍÁg! @R0’ò�ÄðtPœ s€ðŠ€T"ÆkY€@à@y˜ÅŽ€
+
±!Š W˜™žõy.y¦¯>pù¿~8þ¾wÝÕsÔ®ó»Íá.3ÒâI‡>ãèÄ)þZ$ê�S묹¹¼ O n±g mkƒ2â”­ï'vè#cÈeë¶<cïüÙc…¿þåRÐ+=-]¹*-­HÅ’T.mà>àr¹Z(×7
+
 
+
Â�P,—Ör«9¤þKkR~UšO‹ßøÊñ÷¼}¯kºÇî²Çmú´¹-¥o–ŠZP½þGSÿšk^ûE¨×Ë5Ï×®ÿIg¿ü+۾ѯ­yû¬³=fkâmMá^½¯×8Øm<r_ÏØï¿wá?¾³2<xzl,6<$Œ‹31¢ü>Ðý ‚G$ýk¹J8¬êêvž4ªÿ¤lêN6r废lùUªå¼Ô×ÿ*�€3üæêŸ„U¢˜`�ýD÷« I�hvç›�š½& Ž×F §³ŠÈ‹��¹ú¶`0¬*ºTy��€+W.AQ©� 
+
b0�
+
W$@ü& €ʁnÀ�9pÀ ‘ÃŽ�ÅZ†¢)Š
+
óLñ>ÏœæÂÔØâñÃkÏýwä/?~øþG\ÆPŸ3ÞïˆÚu\û]rÀõN€ZqÝ¡È'…Õ?î!†6âIq3�Hã]­³–ŽY9Û±é;{&»­ÏYõÏ<°Ëÿ7ŸÉ—æ3Ò¹3Rn]Ê­UKëx7ðF1_\+r8P®”
+
ÅÊFñA®°Z*®I…UéÊé̉ùÿüîÑwþîþ¾Þa‡EèïJõ9˜Ž»H?@V˜[}Ûškþ+ìP¿7‹§úÖ¼Þ6ƒÿôºú·6§Œ÷dmÍaë6ÊÝæÙa:Üm8òÈ®Ð_|¬pàÅkCÇ熅¡nj’öùB>?¢ˆúÇgž÷_�ÕÝ? øÇ.KPÿH÷Cå2þ þÑáHö©7ª"ýU꿞’ŦRÿ‹ò`7ò¤?9ðUÒŸØ-� F$<©ã–fšÝI¦€f¯IÛ´-˜ÄäŒ&�ÏUêM± ¾$Fò�*Ø*€! @\žŠÇQ€ÚÖF�€Z ( ûÂH *ðxH(‡+‚X/ F±7òÎ7•˜]‚þ«Ï>Í}êGyà¨Ë2ã4„ݦL·Y¾þ¨‘@]"ÔîAÄí­1GsÜÞ|ëJº5miJ›š‘gM-X‘›Ú2¦Ž¸Y—ês1ý]즟ö9ÇþøCWž{JŠ0ÒµËÒâÕêʵR~e½„W†Ë%üä+åŠT-KÕ¢T,Tó•üªTX“Ñ…'žüàï=×åîv±»Ü´œ²€ ά¥·;ƒ¦Ñ’�šÿZ»Üõ‹+nè㇮_¢ûë—ø;çìM Ý:ÞÕ>bk>Üo=öæGÂûÙ‘WFÆGÅñ1Ö3Í#É ú~Žã¶�tL©Ô?:Çp›SÝ@ý“‹Róê–©£ƒr+� ǬRýË2–þ*õONïÆº噯Tüä‰Rý+3É›b€Rúk;šÝù¦€f¯Iƒãµ‘à8Þ” ��@D?9åÉ+@p-¤b�9lž¸,/›„RTpþÐ�ikph C�j(wÄÂÂu`xŽÃk5¡pô²ÞÉèäXôðÁ屑ÂÁý³_ú‡ñ·¿é°Ë<a7Äv8ðD?yÐñZB€ Ï‘eAÒÖœ´7¡G, ÔªâæÞš1·¤ MÈ3Ææ9c xJßœ2µg{ÑÝ}‡mO[Ž¼ë™ï|EJF¥s§¥•kR~µXXËW
+
• \�´Q©–rå*Näeߐʹŋ˜.ž?÷ÓŸyß{žëuu›|.SÔ®Ïà­×�
+
šo`4×üWƱ¦ÏX›ð#f€ërªC�æƒáíHý9ڏí°{>ô¾“ßùúâÁ—. EŠNMrÞ¿o:D‘ÌGÂ?„¼^÷Oîþ¡séúr_ùK&bPð·þ¤æüÀ­]úc#Eÿ7©û¯K˜òY3¥ú'¦TÿäâŸûÊXk¨þ»9�¨Ô¿�šÝᦀf¯I#'ìFT�@@©þœòpèoÅ�¤@žŠ€80�<À#$¶�²@¹# 90�é F �Ë” ÃÀ�¸ˆÂ(à" ´À„h?b�>à ;
+
TXº8pôÔ·þuê}ïÞ×c?jѱ.b�¼&́¿YöÅ,÷ "WL}Y>gÕÍšÛ3ÆVäYS‹<]‹ò“ŽÎ¤a{ÚÜ1×ïd{¬‡M-{œºýÝûÚ—¯;"˜—V¥üz¥R›ÊxE�2œ(¬æ
+
«ë¥µ\9_Ü(\[¾$mäp?@6yñgÿ=þÇyag×P·•vYâ6Ì�ÈIÃ+èaÐ\ó_!oÅ¿Â2�ÈT\û¥ˆÛð¯Ü^ÿݯÿú‹vƒße8j׍<z_ä/?~î‰ï¯ _žš¦öïONŠÁ@Ð;=>9âz˜0K³T €�jcêe?×û}o¼ûGç^{R7¥úŸÅ;5»Qýã6*Rô¯ø£ºû‡)Ÿ û·Rÿ¤î+õOÂA~³YŸDô«t?1•úßÐ�@³;Û4�Ðìµjä%÷.p
+
«� ¤H4åÊ_É�V%äøQc�âÀ�(ö��W�‰d��àd@I({‚kå@u��@Ž��y- ÀàÕÀ42–ò3A/íõÓ>š D8š™g:;2\šE±|üÿ~èÀ»¦z´ÛĹô¢a��\øk% �ÕóÐ,Cn �æms–Ž9cǬA^fmKې·¤ÌÛOw鈝ÛxkGâ¾.úÁ®=¦ioùÄŸG¤S ÒÒ©—î/Ñÿí¥R¡ºQÄ«Á6Š¥J¾PÊ—*ŲTÎåWϝ–.I‹/¿øì¡÷¿ë¥ûûÑÏÅ:-1›0¦ÂÍ5ÿuu �2`�Àº\þÅÇÅ~vèÐó“¿Ë~¬ßýü}}ÜçþªtøÀ•ÁÁġÉñ©˜ÏOMÏ„‚þ@Ð㣼A6€™ å ‹,Ôÿ(+þñ‹�¸Aý×@¥þ �¨Ô?²­š}É¥úWÀVêŸ�@cُ2l%ýUº_zÈsMýköZ1 �4û•2r4WúÀÈ™G<ýÒ*D‰úW€¼@ë~��("ý�$>‘*Up2`�Ô?H�P‚À);@""B�y„.Ìplˆ£‚|Ð/½œa�úÒçá}ž´o—MçFÿÑGÜ»cÈmñôØø~+f�3³Ö–¬­%[ëmèÉœ¥mÁÒ‚üV >\­m®`Ì€£H‚ ÿ4íÖ{zM»Ü{îí}ñío¿ñ)–ÖW¥µµÅóg7ªÅ ©\Ü(¬ä—s…u¬þKxXP¹Š¨  UrRy]ºrV:w¢21xèƒïÞÓëïv
+
½nÑnâ:›ÓÖΓNsR߬Ü] ¹æ¿VŽâõ÷,È¿Ñ�².]ÜÒ,vޝ±·Æ w'Œ÷DŒÛ¢v]´×貍:ÌGvöxç[O>ù½¥#s‡d'&¢33ޑѐÏDê?„Üë§½Ə Ȇh—�± žô¯¼òG®ªþ'��ÒŸLûÊŸ9<í§fõ‹lgÎà3SÙò«ÔýÄIý)�PŠ~bpªC�™�r e?/�ÔqH3Í^ ¦€f¿RÖ˜�»N� EAäÐW°À– Â3�¤€´ N�@É�[% ���{‚·�Q ‚ÀòŒ¼ ï pãóR~?`*Á³üøhlxh™¡ ãcô§ÿrä­o8Øcí2ÓnSÌÑ™utüÿì½wt\Y™îýï·Öýîºm+WÎ*%ÇN„š0Üf˜iÒ�wz¸ßr¸„!͐¸Cj:·C[¶¬œUùäP¹J%ÉIÎAÁÊ’Ï·÷y«¶ŽNInºiÚ>Ïz)J²[./Wíýüö~Ø»˜¨S¬Tg…›êܪVLJa�°áuà䥄ãJÈE†ÃHÄ�œßi´wùmšÝÇ~(þͯNw·+ÇÇðð¯•yEY^^›Ÿ_™[UÖVÑ«+‹¸›ÓâòÊüÒ"n´<{Y™¿ªL_\ìùÄÇžmn<h©“ö4îö‹¦éšmgëm·üú0âv ôæ?Óè³UÉ5¯Nš·! P?Ú•'ýæqOMÁgÊ6Øã-Þ@‹÷H½«í¾½ïß…gŸ ž»Û¥`€Ža†cU÷‰ÑaÕýS((·`Ôã8ø‡�ǯKþ);Ïeˆû'��gÿZ÷��óÔ7Mú×€Öý��í‘¿ÖôÃÏÍß�h÷-�fÍ��C¯L�`è6”.5I{@Îuˆt$° N&›ÄF@Ûʸ WêÆƒë¶Â�í%�0�É ‚7È ‚î@Úö ˆЮ¹�àS7uR�'ó¬Ä àDŠå)í×LŒáè‘à0ME¥<ÖNmŸš9vTþêçÛÞñ–çw6ôû]r“/çw&Í;p¾¾½*瀨!Qî*n0xhÔn·A`(5*Ò�œxP›ðÖfÍr“mÀS»ßYóô=}ûÁÓÏ<¦Ï*Sç•Å« W§ç§ÖVåÚêõy\ €þu•ë«kèÿV禕¥Yåâ™Õ¾Àßâ7~ϱ—´¯ 9›¼yG¾æ5ˆaÊ_¤FÜ �à¤Û‚H8S»ý„×zªÞ:pÔ EÚ\‘öÚX¯£Ëm=Ðäkû³‡_úÜÌ‘§ºÚ’ÝíLçÑh7 „##ápeq»Ot 9~Üî‡ãi^b9çq·8ì×�Iûß?šÏFs|´±žö³EÕ¯Öýã5S—ÿ£õýeîÿ¢Öý�€û×9~í©?Q¹õ•[-�Ù>†^¹2�ÀÐm¨­�`+(�ØÈnAö�„‚�Ú{à áòŒ Ý=�É‚Ú�r!PÞhT `��€L" €·ÛdR- EYeN”XmÍ‹†yž …Ñp$›L¥8‘îàŽu^ _l;<úã }ð‘ûšûü¡©÷éwÖ!»Ÿqê£ÜUÜ8 ÇȨæ@5j*Äc÷Ÿqc�H¹ñµ@ÁSur§=»ÓôÔvV=»ÛÛý¡÷HÿþMeTV¦Ï++×”•¹ååŹ••ùëÊŠ¢¬-^¿¾´¶´°¼„3|0?­Ì\V._PB#ìçÿ¿ßîô=ç¨NÜÛtj§‡ßþߌ�#îØ@oþTÝölÝŽ“>ÛÙ&÷˜³.k­Âß´ÕdüN±Ùßíu>ë÷v¾û]Éï}ë|ëÁK#ƒ™Þn®§[ $E–e"¡ðp$@Ö_=ôñ4î;ÌqËI/£EÜ—Œ¸’÷_LøÙèþÇðÑFÑúƒûë_~ö?YI¡ÜÔýßOB—ñOþoÉýk@ëþµ� uÿ�z…Ê��C·•tÖ_s^³yq°ÎúëöxN¶ ¤ÙÙi¸ ¡™¹H ½ W€Ú{�ˆÉÍæî@ä*�öN|{N®’EÀ¡Î
+
@’eï¾¢ày™e¹XX晄ȱ±('Y.ÊÙHŒ9vôt`p!8ýÛ_|øÃ‡öíëii¤[9¯-î6']uˆ´që]tà˜PÇ ›&l8Ô1½øWu�²Þ]ðÕN4Ù2M6®ÑÖç·Ùãi}ûks?ø?s}Ç”3Çñü¯¥ùù™é©ksËhŸ]ñ´°:=3¿ˆž(ÊÒÚªr}eåüYÜGH ‚ŸÿÇ_ïõô™é&g¶Áž¹å×o„·OälµÛÉzgÆV#TÝ·VeëB½#ès£þÑ×½6øñŸúí¯§û
+
½áCÏ¥ƒ¡x0”b™8O‡‚ƒáАÀFE&&Å(™¢EšAàdã$I(¦þƒûG7�ó£�Ì�›YÿMÝÿUÚÌŸX’ ÖS÷¿Å_çþÉ6¡sÿds1Ü¿¡Wº �0t[é�°ºÜ �Ìo¸
+
ÀY@ÓÓWI€éÐ@9h1�þI@
+
©Xo TÈ㓳ÑÚGòéT.•D€I Ä=7T%äd\’¼ç¸L\¤#Á¸€/Â#ƒ±P …ùP8 ‹}ÝLJgF†Ï=ù$õè£í>xØë4xéz›ä¶hÀŒàÖfiik Ôá£E(Eß/ºO±é´%IÚv¤]U¹3__;è­ioqüÒgþ_¾|ði%—Rf¦”ùÙ¥¹k K‹¸@ÍZœ_Z˜_Y]S—VпøâÌŒ2;¥\9»&DÅï|é±{ž²ìàÕ¹e/Ò#î”È8Ìã îœË,švHŽê„ßÎ4¸†<Ï8mmoz#÷ÏÿtáÙg®f{»™îöx8ëéõǁPp�ÃFdf¢!‘¦q‚!vÿ"žñ…ÏýeY”H±/ÉÿI§äìî0�Àú—wûÑTýÝÿYUåîSëOÎ_Àú÷OL¿áþ *—�†nOmE: W½:XØÌýÏ©��—�ÈúÃ#±þå�@Ϋ6½Ø4¨¼=èøØèøF (d3£™"äRxT0¾ˆ'åxZ’S’ymÃáÈ/PR‚““|*-±L”… É8;8ÈvvŸ
+
gC¡‹Jÿú¯]o{k÷®¦`“‡S'jái�8“×ïBúþMƨ³zÜQ1îØ>ê¬P»‹âéBŤµ'Iéø_<„ Ùàëm‚­2nÙ6ê®Ê8+ÇvÊo~®î®#÷µ ì…ŸÿDYåÚ”²²¨\_™ž¹23‹ïV¯+ «Êª²¶¸Š¿¼®,ÏÏ-Í\R®]RRŒðo_<ðÆ{ùí‚ÏZþ:0âNôé“p¶#îªݵ¹}~f§»Ëoë}ݾЇIû?ah0ÝÓ3ÒÚìêÊŠ¢<Ì—¡YJ”9>ÎRt¯$#p<Ï£¥ED<P’IæHÒ?D&DŽ–)äø…Öýk­ÿƼâþ‹)”$ó§ÜúotÿW´î�@çøç7š~òDëþ �èÜ?�Ãýº=d�€¡Û\°Ro�D:Ðn%ëgH³��$´�P^ «€-R�´½AËGL”�0€\”@�¸@½›ÇÛsZŒÒÁà%: plld _ŠQi†‘Ó]Ý—‡‡çÚ;ÎÿçOŸ»ÿÞö½;ÍõLƒ+îµ¥=ÖœË<ê2� O¢Üg_*8ª'ì�pëñâlwñ*@V€Ò÷ñd"ÖQË{- ü§TŸôÔœ)ǶT£)÷Ú–žzÛ/MUO¿î¾ì÷ÿMá¢Ê¹ åêYÄ�»”¥eyõúÜ"€Õ´=__YÅ»1¢€åé Ê•IE¦™o~å‰ûv 7{ ªI¹×ÿ"Äiœ z¡üog„jqãÏ# Ø w]¶ÙM;k"Þ:öžÆ6¿ýé_ð£¸ð»_Mwwžàۏ CC9Qf¨¯Ÿ2ÍG£Ñp4Dñ±0ŠÄ‚ñ¸Äó,ý¿€BÀ�‚çQhK~¡ÛZ£ŽOŒiM?^@@Ú�­õ×ÿŸSE�@wö¿©û� =´GþZÓ¯5ú�º“e�€¡;Bd_½¹ù�`÷‰ÈFK³eíA¡ø zP\¾|ù’ª‹/’'H4‚í ºÐ†‡¶½Ò&¸¡Ièú=ÀÅÁˆо‹o«Â( áb�€Èóh3/>Öc(xrg,&…é@0?0pª»çʱcW<ôñíß³³½ÑK5y~GÎc*8ë&<¶´¹*cªµÕ©Ã}kð¨/¹t9€«{ÕþbÛPÜ9´ÔKTç°!à›ðýlid/ú!ãv|{€È!婐}•¢¿Ž÷ÛèæúMÏîii}ß;'ýV™?‡ýçæqÀÊî´º¸ˆà[ÿ5EYAx ,Ïáë‚éË‹qyü±ÇþÓïîÜé‹í¬ç<¦”½ê¤ÛtÜcÊX*ñt‚âà3õuâ^¥J¯°<à¯p“öË#^ô€7a^jK£6ðwRöбzó„ÏœµU¤-Ûq_Ÿ%ï5³uwe[<™ûZúO{mGßú¦ÄW¿tùÀþÉöc…žžôА42Ât(‹DéÁÐ1høÃ²4Ç1<ÇH8ï‡ÇÇ
+
jêO¼Ôï=I!÷ü«CKJ½Œ¡Š ­Zø C­n‚Ó h}k¶9ryÓOX9aE‚6ÿH°ÞB½¯Öôé–nrš³ À.@¿îK²wè÷C†^É2�ÀС뛥­n=`ýü_�²¯lŠPVNå pþüyÂ���%X�´S’šàr�€&¡Ð æ“€|\`�˜Ð‰žE{9ÃÑ4‹7x.¡D 8ÞÓ;30pâ—¿¢ýLçC¶ùŸ5ÞèHû,Y·5粞ð¹Nùœ�rÖªQW]Þ£ºä�€ü­Î ®¹™ �•�� oeª¾6‰,»Ç!ø<½>ׁ¾#ï}ÛÐ?£Hœræ p}qnqúÒü•™•ùe  ^ž_[š_™Ÿ¹~mFY^R¦§—â ñ»ß:öçoÆg 4ºJÚ*¦í>k±ü ”Œ¤þu¬jÜ,�द[ùËaÄZ��÷Ÿ-Ù¨jÿGÒrׄ·vÂkBïðB½UFoÚOÐYÛj­<º§1ô¡Gò?øÎ…ÖÃWCÁlOobhP øP¹*¢¢1ŠÂ+ ÷åX|d€3xLùÕŽ÷*F2žN'q·bu9‚ÀÇ›¹��´²� ŽëvŸ›¸hôIÜ¿.çç–|?ˆlÄñë¬?Ù;ôûŠ!C¯d�`èÜÛ’Õ|í&æÀ¶¡Ã�BÚ'‚Z(g�ÐyUºK�UÅÃ02€0À¦�PPe3)<@T2N0�öl|!À³,ÚÒÕñ=À�b¨È�ã=Ý3}óGe¾ü¹ö7¿¶µÑÜéåwyy-áAfÂ9æ±âƒs[EÁ]›qViÎoÈÿ¹eC UC�P™òT&½•_mÖ]WpÙò—èó„ýÞÞ½­Þ'}íKŽR&rxØÂôòÂÌÒÊâòõ5‹«+–¯-ÏÍ(‹óÊò2. >YHýä»O¼ù§›œ¡]¾D³;íµåpvÿI/æ <¡ÌY }KG/œdÜ�ñrE)Q ¶þ.ÄÉèm\9ÖlAoãq_í¸×„W4툻ʹËkö¶ûÇîÙ%|òã~ó_S]'ûzâ=ÝÒÐ�¯º.fÂa:¦©(^TßO¬¿(pp‚Pîþ!é¹ÿl6 ŽŸD±}ÙF÷í ´î��¬¿¶ØW›ð£sÿp°RÞéŸ,Â7éû‰ã×>/÷ýÄú9?†nK�`èÒV�°RÆ�äK`�âþÉÖ¢Å�­�S+BÚ«�¨Z/Ö2ÀV—�P ›Û3¾ WóA ]\8|Às,«ó¡Š÷�ñ`n;2Ö×s-44wìùü7¿<ò×ÞqÿÎ#^ ³Ë/úÝI¯-å0¥­•cîZd2RÖ»¡Æ·ýùÃÜ0¨ÆC»på�€¸³"çÅ óvsÂlíVÎçÙå|—¿ïž|ü—ŠH)—&•åyeey~níÌËו%em}½´°2?«Ì_Sæg”ÙKÊxºðÛŸ=óÎ7ÿÎg îñçöíDõz@Ò»=ã©@hWZ°�`ÄŸr”Ü¿:`[}ãÏ‹`}uÎW•÷TÇmÛE{•à³Ò~ûH³çi»©ë-oÎés³ûŸ™ìè‘ú{˜áA&8‚|?Ž‘(‰ u�­89°tä¯õýÚV?°¶ãHþѹX¦`ÉëOJ› ã™ÖýéÿÖžEi­ùÙ?Y~o�ˆtÖŸl†ï7tË��Cw„tÖŸð¬nV ;lZ�@ ÙZà;: �÷¯½ ûV9”3€ª ‚t÷�ä*�Øðv«Þ�h�¬ÿV�À‹jð,0�Nö¥pw ™Žrƒ=éÞÎóC=óÝGÏÿê?Gþöƒ¿©wïÙkôJ ž”ÏžqÔ\5õîQg…Úñ“�@Ñ—”ù•]ô Mzªóÿ@æf¬×älµ9›)m71®ºVGÕá{Þ÷pêÛ_^èRÎN*ósʵkÊÚõÅÕµùÕUÄ�+Ê*‚‚Õ…YeynêìqeeV¹r:÷øÏŸyçC58û¼RKƒìµl��W%�­¿ß4ÊÿFñGˆQ|Q†ûêªïRüYS«ê+ÑX¶¼¹ÁôÎZ‘¹·‘ÞÝÐæ1ÙÛ8üG²ßù·ÙcG§‡‡²}=ToAË@,e¢ˆÿ)1J#àc1žÆîŽü‰û‡¥C›ó£-ùÅkN6M�€dþhs~ÀýëþuîŸÿ—×û’õóŠÆúoêþµK±æonÊ/qÿ«*�À–a¸C·± �0tGè�°º€û'� S¹û¿Vvü?¥fÊ1€\hëtMBaãÔ¶"ÅÛ€RS ÈJªÝ¸! ˆD±$@ JÔ²`Љ!À­ƒ˜?< ÷´Ÿêëšè™|ü×Ôg>uhÏ®ÎzOÀïünÙaÊØªÆ]Õ'ÜÕgœ´yÿ¤m¨ÞµÜ8�à(–ã>¡ˆR¾ª$n Z5æ©;é·žò˜³îºÔo¯öwÍ¡7ìeþå³SmÏ+cy �ËËÊÊÊÂÒâÜÊÒª²¶z}eye^¹¾¼²<77uA™½ \˜8sè©ÃïýóÇ}®ÁFçs&<&ü§x*R|›Q(•T¾`”ÿ-Œ0â��êX=|i†?/®J5*Æý¦±f﬎úL¡Ýþƒõ¶ý÷4Пúø¥gžºÐÑ1Ù?êí¡úz£Á@8…c1š2R ‚(œô¯Ëù!î?¡÷%ÿ`ý‹£¾Jÿ�ТD~ÊK~µyÿZë¯�Â�Ä÷ë‚s­û‡e™|y“�@Vþ•²´ƒ Ýö2�ÀН¥­H€lZ�Ð
+
6ØN6uÿ d�À€MïTh/`Õ^;h JšACnR�¥’�E\`ežYíú4ËÄX&HE—D–:ÚOôOÍ9ÂüÃß÷¿õ­-MC >Úm“œuyOíq_-��\äÕlþŒË„”µý¹qâZ­½FvüÄnW¦¾N°mcͯ¬wÇmw§mÛÖ»'v:XOUuÇaùð»>úÁ‰ÿúÙb$¨\<¯ÌÍ( sK‹×V”Õ%ee~u=Q”•é+ç§ÎŸÀ÷�WÏœoÝ?ðÑÚÝ<Òä€R`<–X~ }%¥Ä¤byƒ�´eÁFñÇ Í{šnU¢@ vUIž:ªÑ1°Óóüž†öw¾%õ>7uô¹ãm‰Îv¶«3ÚßË„Ã,ËR4
+
StŒãcl\ � îöƒ§|m�ë9?÷[þ—ÒýIÒÿD©ÕO¹ûë¯;ûß¿U
+
ÎýúJÎþIÞ?qùZß_Ìþ)Y²’“Sžå-Îþµ2ÀÐm,� Ý¡‚e}+�Љü*±þÄýÃ>¤ûÎ 2���a�R¬›@��vPÂ�È|�x‚�šARÙ¶É…�€8ÏÈ,‹�yœü+îÿ'óœ
+
&úûÇú.öö)@ö«_9òÐCm{vv51͹ÞWÛüç]8sÎì¡Qíª©·,/Úÿl7~t›2îê´§.ë7!Hy*GÝU<2Ö»Gëk {}ÜNÏKå/ÌU‡ÿì!þ«_P$F™œP¦/(óSj9ÀÚ<î ª\»6ƒÛƒâd  ÊÜeêÒùýÏzøè¯ {-I|P‹a@V\f�€ÂQl³KnÌÐ[W¬7»köÖ·¿nÏ‘¿xû菿¿8Ø™=r 5ÔÃŽ pá�OSÑpdpp80aûG9âdŠE!Ò4�žg_�tîÉõ'yÿèc÷OŽÿË­¿Öý«mþ7qÿHÄý�ÐÚ}bú‰ï/_Ìu˾Îýk¿$ ``€¡ÛL�º£ =vã‡/ÉéÙ]à‰À€îKØ™t@²€ˆû'—�¥«�¼€\ r »À11†|?ÉÒ€ ÷���ñ„ ǹ„Ä&3�Gã{�|ú'Ò<²<Ã0b4‡Ó#ÁÑÁÁÓý½3=]§~ù‹¾ýõ“M¾Ž&Ol—7ä¬Êît¤}µ¿9箑LwáDKÜZq랸hbÔ’bl¯µIÐêDý™ØîÀy稳‘2îŒZæØ±ÇÿÜý-}ûëñ_ýHÉK¸;ÐüÌâì>üÇÿÂh_Z^]ƒ®¯)óóÊè¨ õ}à‘Ç]ö#¦šÔÞæT£“6ß%8¶#ÒH;krŽbäí8FÕÐb�¼r�Œø#z¿!öÎøjs~\Â.;+âžÑ[ñÖÑ÷6ª·<¹×Oö“Ó­Ï^ê-tµK=\ ?¤"#t$Œ}FcjŸO†GušiVb‰+Vý¢ÐfüãåBý’ÖÓ~Ô€¿å•¾p`gÚ… ¾„�J=ôƒ~aåÔ�$ÿV·ëÜ9�…]»æ“/ �è÷ C†nG�`èŽÖõÍҁ´Ù9`#!ûÊâÆ¡[€ö*€Ü��(g��„�h/œ8>>1^Ð%•÷‚ÞDB–�$ù¸Ì%Eõ@�žcp‹P|&ÈÓ,C:„ʁ@bxèDpxjdàìSG?ówmo~m×¾Æàn_ÐSK;kÓ¶´£út“+eÙÎUü¿Çë-å®åÆ¡Ã)ø¤¯(�@‘ÔbGr£`Ú@7@4ñõ–P“½g·ûà½õmï~+ÿÍÏ_ìR®œÃƒ—.ž¿°¶ºŒ`iíúÔµ…¹ùe<.laQ9=9{¤5öɏhò·9êB^sªÅ™n2³–W¥]UgM¦„�ñ§èý†1€`Û&º«%¿…m°ÅšÝ#ûžôšúßóŽìw¿vñùg&û:âm\Ow’ŽÑÑáXl˜Š™hˆE9Šfi‡oþ6ôúŒ <
+
pÿ°\¼8ø'ç 0âWÛ哸­ã×¥ýh}¿îÔ¿Üýk@ëþ_D��ÁúoœôºÓd�€!Cú€5M{Е2 Ò’ÀV �Û•î`S(‘�ÞÉ%€ö`Ó, Sè¹Ê�D2‚àB�ÎêÖ1 •R"ŠxBˆË|\dd–8r<¾àpo Zm „ ¢ û #ƒWC“O<F}öÓ­½þŸ­Ëo“ö6&Üqk͸ÛzÒm™pÔœöÛˆ?¾™PÏûñ±Qõ ”A„}yhx Ø6tTm$ùjc–Žúš§¼µO>ÐøÇ_i{^99¡LO­^º4?sõº²¶ª(ËkÊÕ™¥Ù™ÅÕùEevF¹09Ûq8ò©O¼§ý]Ľžt‹‰³¾ªT°nîµé@�ñ2zïoqçm•¢iG¢Þ&íò 5ºZëíO·øF>öþÂO¿wµ§mr¤'Ñßëí¢††EšfbA–
+
°Tˆ£"<ÅŸo<È,-áó¢Ä&D!%Š)QNÉ�ÀôÃ#dûÇOÎ íPëþI΄6×ÿ¬Úèó€^lö¯Kõ)·þW¯^F¾_çþµÉ?Z÷O�@çþ—Œn?† m&� Ú�`{¸1÷Ú” WUÇ�WÕaD1à|9@M°6ˆÜ� �@®6`@&%§ã(âÉ"H"#
+
8póo•Xh D‡QĨËsT8$OŒ ]îŸ>ú|öÛ_ëýˇŸßÙÐáu0~oÜå`*îÎ[kÏú™Ú»o�0ÀU¬"(öÒ¸µ××8È])ûªÙFóp³­­Åqè]ø«Ô¿¯0QenzíâÙ…™«+ ‹k+ÊòŠ2¿°º¸¸¬,-(S”³s½mì?ÿÑ×î:ì¬
+
z«ÆîóÆ}u)o®=p×åÜu£.g�F¼ìß{uYsuÊcã=ƒžöݍ}¿ qìÕýO^èiË÷‹¶÷w1эEBa6FÂÈý LŒccOÑÅÆY5>ÎÊq>% Y1ž“Z� ÿZÇO–ør«n?¤-öEkrüäùù c��€�IDAT��€}âûÉwPLM]ÑZXKIöÿ‹âþA�º3e�€¡;Z:ëOö"ljýµº˜ºÑ|�|! ËÒÕsmÑÖ«V€R`íYÁ€lë©wE@{¿$³’ˆCæaJ¾`Ø(ÍDbt8
+
q¤¨t`db°&2²Ð×yåw¿
+
ý͇žðzZ-æÄžÝ©úzÙ\“sÔål8ÿæCs²MÍ‹ �ð:{¿ã4¥Ü–ŒËBF@'DÄ�‚£"Ñâöù{šÜOù‡ßö†ÄW?7}ô rùœrõâõK—–._½¾¸ª\Çÿâsצg/++×”‹§/u¶úãíôv×&_×,øÍˆ’*h�¬¿�F¼ŒÞ{Sͨ×)7ùúꝛ|Ýþ? ßùÖbGû©c­cÝÒ`ot°' D©Xý/C�ÀSõø7úTÿ)È÷£œçûÏÄżœDq“�P<þWK~ËÝ?Z£�hë}ѲFž”*}1�h}? õ/æý”¹²üêÜ?9¸Ñ¹²àke`€¡;M�º£µ�hŸ“͉¸ÿ­�`a3� �� (vÚd>�Î…Ý”t%Åš`�H� û4�@±J8›Ëdrét6•PKâb€„È¡ˆ ¼Ì3Gsl”a#ð}@4&D¢B(À÷u¥ûº&‡z§û:¯>ý„üvÝÿÚ¾Æng3ïs
+
NS¡Ñy래L+Î�c­àD*�� È:0G8+ÓžºD½-æ³öx­ÇvùºÞrû#ïší8¬Œe•¹YevvõÊ•µ……ëË 3³W––箯ÌãAÂÎÌöv2Ÿûß­¯¿g¿­*Ö`•|µ²·6áÅMH.�F¼ì‘q™F›½´ÏÑáµ½wWøo?4ñ“ÿ¸Ðzx²»;ÕÕ!pÁš
+
3‰E¡ �<훊ñŤ–ÃÕ>,/Ðè# d.ç±ûKy9žK¤ða)é� Xò«É3DK ^s6ù"éþ[¥�‘ì’¤=õ'¾zú*„Îú“E¤sÿ 7×ùgÝòoìºsd�€!CX:�•3�l'Ú{�­´� Å�Ý=À¦ PÂ�œ @rt%Úz€ÓÐî[
+
ÄÀ�ÚËz-�Œ¦ ùÔ(Úف¤”('y|
+
çS—’ø„Ú!Tâ)ž‹¡ÏfeŠe#™£:‡ãÞü@ÇÔ`ïìg _ü\ï›<âuõ×Û#NÆgJ¹oaXÖiJº-ÉÒ¡>Ü”œãž?¸B@}Tk…1  Ÿ—� „~‚: v¢Á^@¿d«‰;MB½-ÒâìÙåØ¿ÛýüŸ¿MøÎ7W¢Aåì åÊùµ™KÊÒ5EAŽ`~náÚšr]Y]Q.]P"áä×¾üt‹?Ðdã}5¢·FòÔ$Ü5IW± Ø��#^ö½¦AŸ¥µÙqô-÷2ÿô÷gŸûíL¨ÿÔÈ€ÐÑž
+
…ÄH4 ƒ#C£ˆ„ÂÑp~–å9NÀÁ‹‚ ˆ‡>ãiÍ
+
\Nàò"Ÿ—0�dãñlr=韤‚õGäÔ¬?Zm&K“
+
µgÿpêÖŸ¬]ä@Wï«)öÕ[ÿ™™)78õ'*·þZ�ÐZ¬íÄîé·C†nw�`ÈÐÁf c��DZX*K
+
"›Ù´È%@y=ÀF(�a�í&ª»À;.zT1`²ôœÔko�`GW �íìÚK€x‚OÇÅ”,¤e!‰ïXY ž’éPl0ÂQ1gi&Bã|â ì/ öœ<ÖºÚÕqég?î|û[4{ìŠíö >+òè뵊ÝÊK‡úx`0!\õ›ðXP�Wú“‚ 8˜ A^­@?¿8tÌi'ødÔU7î6÷Zǽ–”×Ìyj#~Ó`‹ãéçoîÝ=ø™ÿµÐß®\<­\=«\>£,ͬ¬.,^_]R”kósË.*—/¯G¢~ªmOC Ñõ[Øú:Ä�Iw•Ú¨
+
^³†pÏ¢­�`«ïqÛ‡¶PäïMC ™¥‚?/ˆe¯EðY‚MÎgw:;ùŸùs¶÷ðÙ@—ÐÙÊôt$b±@O/‰Ñ1*
+
áÌ$†ÂÝ~TëÏó"/H¢(‹¢˜…¤ dxìþs<Ÿ�Ù„”Iàž?¤Þ—¬`ýáçü?©–¡Õæì™Óºž?ÄýCÒ¿öNýµ¹þågÿ:÷â&Ý9�Àú\�da7L¿!C�2´‰È±ˆt@H�6¡rÐb�ˆ€¶0€Ôª�µ/´-N
+
;{öìU“E雄BJ®v:Oíߣ¹<ÚÎóÙl:ƒ"•DT{ƒ&’"iû-KÈ)ðOsø€iNbð©"M…ÙhH ÅááT_¡·ûjo÷å§ â£û÷4÷în
+
Ö;¤WÊcM;ªÇ]µ'=ÈUfl%ã‡÷&œÞãªÌºpGÁ µ¿¤üWÛÿGwèN‚L ÐÙ¬,þ³Ô&¡>k ÅÛ¿oçs;돾ãMgù#%')W&•é ósS×Ö–<+×_¹ œžPF3ü¿üÓ3»›Ÿ³Uq÷øÒ»l¢ã®¤c{¿ÔÚ 9àÀ³WóžÚ¼¯|›îå‘òÂ4–ΈÛ6пï kí„ ßbá®Vnj&.s/úâ£8Ì+i«óÙG]欵fÂm>á2¬•ŽšÓ„Ã¯©¦ÔÞæ¡FçAOÍá÷têcÇ<y®¿3qô`f¤/ D‡úÙH„Q8k/Š>¦¸Œûwûá8÷÷åx¾xÂîù#K™¸˜Çs‰²þÚ³ÿœh­@‹™ï ëIyËÿÓªÐ2„V¤³ª`ž9¬W XÁ Åi}†Ö7´ÐÁñYý`=œÖ4üÑ™~²®.”¥ûkMÿòÖIÿdaׯø† Ýy2�À¡M¤�¼X�PÎ�ä6€��a€M1`ÓÊ`´7£}š0���ìî˜2)Ä�€„âqI–EIDd=Ȭˆy\>ÈDy:ÊÇbxRÍÁ ?8˜è»ÐÛyá©ß‰Ÿýô‘îíÙÕjtKMî´×¯»K¬øoiËÝÇë-� o»�°RÝ¿jr¿ǨÃR°ãÅÏ1l¼=¸©Àw»ä}M=ËsŽÚö·¼^üâ?ÍöUÔD Õ¥kKK kk+xdðÚ²ríŠræ¤BÅßøÚ¡7Ý÷Œ³²ÛújÙ_Uh2Ç-w¡Ÿ†'€û·íÈ;*‡Ë¹kò%s"�])³�wB��Ô¶¶Èú§<•(´�@2Ö� Pœhræ=¦„©"Y»­`­³Õ �sÖ¡/û\£~wÌiéôX4»Û~0úùOŸíl½DGƃLw›èH4`(šŠÒt �Û��|©Í?Xí|_èñO¢8çk3÷?¦i÷©ë÷îŸ��qÿdɺP²þåî�@kýɪHRÿµ� 1ÿëîq³Œÿe� º �`ÈÐ&"ûÄõ›c�r
+
E¶%-�”3�I" �"AÚK�Ø; �€Hw í%�
+
´OÞM€`�\ �@�P¼ P1�H�=$p€z%€QiZŠQL8 øPPÈõ´Ï‡†—ۏŒ}ã+=o}ð¨ßÝãÆm
+
qn³fÂg>é·ªIÛÖ&].%ölÒô÷�ôûNS®Ñ-û]Ã.Ë!‡é‰f_ïGÞòw¿TÆsÊùIefZ™Ÿ¿>my~vueAY]V®)2ÿÞןypç3ö»£ u£-Žœy²ÜuÔ^…Üξ#k¯T'…­w*þ‰šK�-�ä7r‚·eŒª,КYÿ¤‡êõkáv °ZÄ‚_ (øLIz;UŸðÙNÕÛÑã ¿}¼Á.ÚjÄz[Äç<æ¶ÚÛøÈûNÿâû ƒÇÆ;ˆíG"GÅzÚ…X€‰á@4-���‘<XâûaÊ/Lû"óÂ×SÿÕÅ¡üìÓ^ŸjÚϺû�€C
+
é‡Õ 4x¢sÿZÓONIˆõ•[ÿÅ›;þ_-Ëû×/÷† Ý‘2�À¡-UÎ�Z øC€ìv³šÂ€éóÂÈ–I� e€M+ƒQœ(
+
& �±h€r qAD!
+
œ 2O‰�2Ëó4#óœ‹ð}]ùÞŽKýÝ×ڝûÑ÷ÂïûË£{š{½1¿;ÓìÉ5ØÙªW•ìQm)«§èé5î¿È�$¨œÔ뮇TsWÊV3êsäwÕó;Ž:-¿ó8ž|ðþ¿?ÛÛ©œ9­ ëåò¥s“Ós×®+kKW¯(sÓŠLËßûÊ‘·ß¸¾.â1ßå/¸Mã®Ú‚«
+
'ÿ¸û¯ÊÛëòv3þëlÆ�å�`ÄØýC_Z�€”g}¼únÇ=¬€ÔoVgliëŽã>ó‰zKÊR!™·KΚ˜³ZÞ×0Øàèhñö¾í Ìg?9ù»ÿ;Õß~z¨3Þ}”ê<Âõ¦Ð'‘‰F#°*äþQð1V a9–Æcý8FwêO¬?¸Òêg}Яº>h­?œ#lÚêG ,­û‡Jëûá°D¾÷O>´¦¤qþX†û7dèE—�† ÝH›2ÀZYq0Ù~6e�‚Z�•c@9�”ß�¨›î&݁N—ºs�«�å�� ��PÎ�’ ¢p†pk ‰a�ð1š¡ØH$Â2TVâã¡©£íDç1%0pú?ýøG½þÃû×&5¹yµÞÙµ¢·fúæ8áÒ!ÖC$€ …Ë,× DÁU“³W&Í;¶êt½Cð»ê]G›¼‡^woìÑON·îWÆóÊìUeaîÚÒÜÕÅ…¹ÙkÊÒ’2}i‰ÇÿýëÞúÀ¯…jñ$üöl}]ÆWóUe=Ux>€Ã2j³l�›FùË3âö
+
œØ–wUd݈P”ZÙªïÞâW®Ã]Ö¨³:gß1殞ðš²öJÞ¼MôÖ ;]FG{ƒíðîúÁ÷>\øÎ×/·>wi¸7;Ø5Üú\*Ã# .*±±ph8â±4®øEž_ 8‘fEVè!Ð(Ê�Ü?Éùn?뵿¥œ’î¡ëóCš{‚õ×¹´Lé¬?\l’üF­û‡u,Œs~È“…Í’þµÖŸ,Å ­õ_3Ü¿!C›É��C†^@dó¸¾ÙU�ì7dZÞÈ�d÷Z(c�P9«�²_��R  nº›7‚{�RL0€äé�* @‹’*Aâ�¨—�´ÄRqš‰ ÐWápt$D>ÁÒÂÈðXx¤ÐqìrWûÅgŸ¿ð/o}ck“w¸Ù#ïkp‡PìÔ~>ø h‰°3.VLë&5 �W%(”¹®dYŒ¹Lik5Š¬ÏžhôÐ;ëú¬Ïïkì~ä/FúEb•ùemñÚì´r]Yž¾¶63¥,Í*ùDüGÿ¶ÿ¡×ÿÊ´#Ôìá¬qmº¾:ã«ÍºëJ…
+
z�PÿÐ-£üqE�Ô¨„ëøZ�õŽË¥¾gœÕYË6�£.µál³}R»}Çvùžíя¼wü'ß›ê<|~¤/9ÐCô³T( ‡‚ÁäþyAŠÅhŽÁ†}$%Ž—yœô/J,Štÿ¤ÕOqz æàc±ï†.ŸgÕy^ê²³!ýh€¸"­û‡u¬‡°Hj}?èqÿkFÏC†6“�† ½°´ p½„°Í”c€v‹Òb�ÙÛ@:� Øô�@‡%ØdJÀ¦}à$¤éJÈUÀ†î@¸�÷’â"çÕRÄy&Éri^Êá9‰H$  ó‘P–¡ÙžŽ3td&ºØz¨ðƒï ?òžç÷4t69"v¾Þ”ô`G>Š1 ” TôL¸ ¸T¼ÞA…¤OÀê­�úoE{E¦Þ|¼É=áwŽ»­<CÀÄ9jøg··î¯ùà›ï‰~þÑ mû•Ѥ2uIY\^¾2µ2?«\_TV®­æeéGß{üMÙÝ0Ôèdü–¸¯.í­Á/Ìi‚��[1�Ip2�àvœ4ê¬P+q\ü®XO`ƒœ7õ]?�lã^SÜQÃºëØ¾NŸý)ŸõðCä¾ñ…‹Ï=6Õß~j¨+Ñßìé@ÎÐ1‘Å3}†eI”â4Í¢Ï ~™Pàq~òù~bý¡ØW;â—ôø_ô[ÊùÑûÞ��´î�`Óäû� îÿÚÆ _d…¼±û_ÚØé_kýA†õ7dèÆ2�À¡ÖFÿ¿IY°�´  €›a���Â�°eÂJH€`���a�]Mp9hӁ´�$@ªJWÉrù‰”œˆ‹I a€$ã))žÍËq*æi‘ǰ EKËÅÂq†Š‡̱։îÎÕàȉ_ü¤ý=ï<ts÷ÏH‹i0É^œó£¦Õª]ÿÁ3ÎM×�|ó��£Mθ»N²U¥ÑŸå4Ÿð؏{­9w]ÂY-øÍÁzË~Gåolïÿ‹ËOÿV91ªLžRf¦”µåù¹éÙ©‹ÊʼRȤ~òÃ_ß³«u§o¤ÁÉùÌ )íIJvìð´�°i"€Œ�·yhßÌÅ ÖÄúß ¥þ?p?÷šÇZÜŒÛ4âµ ík9°»¡ëÝ_úÍÏÏxr:80>ØEµ·ân?< ‡†CÁhçF8ûŽå)ЉÅ脜”9ôÑ”âjÂvÿ²ˆ‡|'„déÈŸÌ÷…ñ^püýþ! Í?qÿ�H›��’D��.$µîŸ�@9÷O�€,}×J ]!o��d±½û7�À¡È��C†nY[‘�ÙŠÈæ´�hŸk1@w @ŽÍ@å��Ã5ÉÀíU�!’$��@îÈñ? „À�ñx<•Ê$“i`� �’€� !°KáJ�šBÁ±4Ï1C3tŒçÙÀÈ@‚Že‚Ãñç-pw þ½ÿÐöh°v××r»ì‰†º¸íî‚mÇ)7€^sÖ²ã¤Ï2Ù`ÍY·#ó”u쀫��˜Š5�·�u&�©*.ÍSÇ û-ÈÊG=uô};÷{m¿ipå¿ýU…+“eiß�(+Êò‚rõŠròDá'?<üк¬âÞæL³G°T$m;H{Çr� /@‡å/ÒˆÛ(ªÕ÷-ÜbÁ¿8ôü1QÕ¯m´ä}u¢ùÕè7 ÷^ÆY%Û«~Uï·øŽúÝOïnþ÷§¯|îü±Ã]ÇÒ}]Âpˆ…‡#Ñ@4ŽÄ¢ˆ´!Ý_­òEŸ6Ü­WbÅ8¯ô“qà^ )ž”“iŒñ›�8~Ý´/<竬ÕÏÆ’ߢõ'³½tgÿÄ÷÷_núAäìSëOLï×™þr»¯_© 2´µ �0dè–uó�@¶. €t�€û"�@9h/ÀþÃÀ`23˜ÔÜ�Hk À�m=�<W{ƒ&¡C úÿD"…sÔ1a’È" 8äû)<ËãI4ÃPxVp$,
+
\’¡¹î®|wç\pXì¦þéÓ]ïzóó»]]&Ä�ãûÜ'-iÓ]y{ 2ÍÉÚmˆòæΪ³MöŒu[qLdý¾��žLkÓÕ1Ãj-²£rÔŽ°p¦íÉ¿·é°­æñfçÈ?ÿ]êé_¬¦yeú’²8§Ì]»>uU¹pV‘ùÔw¾yôÍrÛìu©ÇD£#eÙÊV�/«({yFÜ>M¿¦–½Ôñg¾Mìt0u¯J:¶Oîrf=5¢i[Â]'ø¬Ì.ÿ![í¡foìƒï-|ëëŸ{ú|OGª½->ØÇŽ­?vÿ±  Q±�âþqÆ?NÊ+€,‚û#÷BJa�Hi¬?ÉûGcÂɰp2å—¤ýlÖðgýàÜ¿E÷O�€¬Qäà_wäO|¿vÝéÜÿÂF� ‹êòF� ‹ðš�† ÝŠ �0dè÷‘ŽÈYT9€6%râE¶@¸ �‡gä\�¨º�  ½€šÀ�) @¡e�¸Ðæà\ T:—Ìæ’ùl"ƒŒö²(Ê
+
9qU�/áÚC,¼ E1t 1@(Ä„Ãb(m;Ê:py°w±÷ØñŸ~7ø±÷¶Þ×Ðê­ûM‰z“lÝ–B¦Ùclöžkñæm•Ùºm§êÍy®¡,€[MR‹ *‘×GŽ_Í5*Ž_E1æ®Í;ªNù9—9á²LÜ·;yïîN¿íGöûßõÆÌ÷¿±6ҏ›„.Ì+ s* Ì*i)õÃï|óë8-T£k¬ÅsàA`:[¿) �p'��´þT‡Z¬wý?Þl[îÊØ*rµ*î¶dš}ÑÏQ¿çÐýû‚ýÀéŸÿx¦»ýL_wª·KfCØ÷c¡ŒR!г±0OExšá)ê}eÕúCÞ?Îü¥�à’‰dwøÕZÜèS“ñs~Ô8>1vòÄÄéÒ=¡®çqÿäøVuÙÙ¼ðWëþ�àà_ëûÉê§S¹õÁBªµþ Xa5Ö/Ó† ÚZ�2ô{ê–€lcº«�²í��éî´0@@ÕE:Ð芃O©SHŒ àz€t&ŸÊ¡@ 2@j‚…„(¦d!%p Ž“¬ÄÐã¨!Š“”C¹¤œåY¡·'ÙÙ~qxàjב3¿ýóèߺ¿é «j1À.7e­ârԍ×;Æ\¦TÝÝNúÍP�ÙÒªo&5�z×uƒ@޹ÿ {zD$�?,ÚX½9í¨ÆC—¼6¦ênÖT™hô»}=MæÃ;íÇÞtÿè§fìWriåÒYåÊÙåó'”…)%ŸLÿè{ÇÞþÐónKÐQ3ÚäÄM]6šûß”¿H#n›ÐÞ�¨ÔŠ+Îá6@6ß=Ñ`Eo9Þ¼#Ýäå}ýNG×Îæö·>”üò/=óÄ…ö£ã=B×±h¯Èâ,ÿ0 Ñ‘0zÊFáP0,´ã’Y>®&ýCÞ?�Ûÿ.ޏÇqñN@¶tä¿Þçgã©?²þ(N?uòødéžPëþÉu¢öìnÕПýko,µî¿üì_ãù×¥uÿZ�к-�hÝ¿�† Ý’ �0dè÷—ސŠl`K­ÿÍ`€–ˆ�\¹r©œté@Z÷äœª ;iº�Ù4z@‘Ogr¸?P±@HÆù´Ì¥&ɱq#©S‚9ЦcPƒH3:”9:'p*&u´Ÿèï› N·î—¿ø¿Ûßñ†ÖžvdŒîiN¶øb–ÊXõ݈N5:�LxMZ�Èñâ1½ëºAÀ �.-p©ã™<Õ ouÊ]+[*ÅÚí9—µàu ìµ¼«îø}~Æoi³Vò;ßó®ãÿñ…V.Ÿž?žR.+‹ÓJRLÿàß¼á¾ýÖªÞ&{ÕQP« ú{-�lEFÜ®AÞ±jkQ$m•9)î4%›¼ò½{[¶§=žÀ#ïû÷Ì;zy°7ÝyTê£ô©A¢³é"ØýÇh¶˜õÀ@àx™çõOˆÆq£OµêWB¦G"‘L&S© ùoèó£ü“¤pÿ�ÀúëÜ?¬$:÷wp IÎþ‰é'*wÿD: ‹¡Îý“3û'K®áþ úýd�€!Ct�°¶‘n �äË… ‚t @TÎ�W¯b� ÐՐ�R  ½ A*ƒI=�ÉÂ%£êc6­6Ê"W‘H¦¥dŠO'¸”Ä$Vu"œ„g°<ž<JÅBc¹èÐpßðP ±‘ MLJ† CCW‚ÃWŽÌ|çë}õðS~G_ƒ#~Osv_ç¬Ëxm§š½y;ÝE:AÁÇ‡ß"�äÁŽ«ýµóYÈöʉFWÖf*8­çZN5x õöQŸ%nzuÖS•hq Õ[ºÍ­o¼'õÕ™ïz^¹tZ¹zNY˜Á8*ñ­¯µ½åu‡œµ\½±
+
�€,ôwß"Ê_ž·Y”�”¡g¼&Ùeâ}ö€ßuØë>üÚØÏ<:ùË_OutœèOuwR]ÇøHåb1*„�€¢¢(ÐäþŽf8–S%¨qîõ þ¡ê7‘Š'ÓèŠþ—ʤÒj1}ŽËÝ?
+
ôôùþ“'& �œÞ˜÷¯=õ‡Ðº8w Ö_ëþa‚Å
+
Ü?qüëöc.YÉÂh¸C†^j�`ÈЋ -À"ØrY‘�ÈØ,á䌡À.[ºf¿  ½Ð¥éà€Üõ“&¡Úz€bUÀX>;–ɰ•(Þ¤ò©dNN¥Å”z<%@FD”⢈[F#X4 J”(ááÁÈÓD#!I#ÁPwo¼¯ïÌ`ÿTgÛäý4ýÙØï1©ÝÆ´xåfc®HÚqV}ÁUS�¶ß�p†p u¸´�ýêÅݍ§ÜÎ1‹iÔT¬Ú–³VemÛ“–W5Öœ¸¿>qŸoÀWwÀYÙzOc×»^<|p.PNŸTæ®)Ï*\4÷ïß:úæ{"ö¤g�P«×Ã`€;!´)@¤PÂc’½&Þ[Ç79x
+
uÇ;Þšüæ×/i½<<<ÖÙ•îéãû{©‘Ápd$¨Vý"~æba!娘:ã—eXžÆÕ6‚ ‰‚Ä£ÔNÿqÜúGˆ'EÜ­7›Lf3él&ƒ=WÈŒŽ!÷¿�@ÉoÑô£¥�-ês­û'ÿÄý�÷¯.;ú³ÿâM¥Æý�»ODV¼­Ü?�û_52 z1d�€!C/‚´� c€Õ²)�:�XÐ̽×]‘{�� 5Á›Þ €ãm©”À#i
+
=‚
+
ã£�PäF³X�²�’© b�)™ÕrCH7F²œx6‰X@d¢±@$:£‚1*Ä0LŒbx,r##ñžîÓCýWú{®>óäùo|å@£»Ýï’^»7æ´ˆŽº\½MÍ¥Q„éo�ÀC¯×òªßÙhÅ û‡•��üÌb vDÖÚlMůóœa@õ)5kÙv¦Ù·¾&TõÿPÎm‰½néžú¡f×!Ÿã™öU…b”“§”ÉÓÊÔÅU&þ×OwìñÇì‚Ïšðà?E÷2Š$°Ù´`#^¡Žñ"ÿvø£©K©…Þ²ð{à÷�Pï…Të_o¡¬Ã –¾ÝÞg›]ýõ®©'›èM;šìë•{úå¡)¡©p8ˆÑa†Rဠ£àc1žÞ��œ
+
�¢, ÜÆõ8ØýËÅŽŸ¹rþ(²¸±g~,[ϏnšÿCÜÿäõ‘ã?}0��@Ûð§Üý�€‹G8û'�@|?<’ãé' n $_�`ÈÐA�2ôJ �:�‘­Žl~ ؐ`7…çm„®hF]Tgä˜Ù‰tæÌ™ÉÉÉÓ§OOª"}ÔÖ@XãããcccU£¸`0§²ét²q­a eYR%
+
b�§EAžà!aT”£hžfŠ£19’‡‡åþÑÎŽÙööÓ?ü¾w½ëi·sÈçÉîÝ•mv'ÍòÔä¼ÈKU&m;rŽšãõ¶ã^{Úª^ ¸p ÒØ`¨ åÂØ™©y–ŒÓŠ‘ûߨ8hˆ±ÓžÐÃó¬jà{|Æo 5ºv5ÚÝÜõžwŸùÕ¯”\V™º¢œ9©Äùȧ?y ÉßåpdwïB° ât“#ï«KzªñØcÕ ŽÛ,·~waÄËêà ðL¬+Ý UB™ï¨Ã¢þü{àßwÌc.ø,c~[ÂUI›ïâ|uÜnwo“£ó]¿ÚÓûÜgg»ÚÆÛZmãÑ0ÝÛKRÃ#T·øÄ ?tLm£NúçYü™Q•¬
+
Š}q›Þd<¥*“ÁgÿÈû£Oh^U!?Š‚dô
+
yöc$PÛêG=õÇÒ ÷…2_ù“´âþ �eJ�ÄúiM?Yu^_ûœøþ5£Ý§!C/† �0dè%Ô Àr‰nàþ‘t—�„ÀN¬c�ؼJþÿÂÙ³çÁúk�²€Ž«*1À„˜ÀR€Ã€9aHªÁ� €1@ÍN†ˆ ¸T™ž¦õÇñ“H” …™@P:O÷öþÙÏ©~¬ëÞ}m6Ó ½&¹ÓÍÚw¤}µ9¿i¬ÞŒÜ?²þríÝ9w öún�%÷C�ÀÇÿúSù�\jŒÛ ©?Ä”ô˜‹à³RõŽ·í€Ïq药£>÷Ïӝʉ åê%ed@~ôï[ëƒ×xKÄÇ&›ïfêþ{Â[ðâ$¼Ãb�À+4Šð†ÿùÖ åA‹È7€‚Û’²Õp¦íqŸyôÞFªÅuÌSwh§·ë=ïýáw/wµîÍùþÞXoÆBÁhDmðO«Ù>jàz��(œô_R©Ò ¹zC‡�0ª
+
}ráB¬ÿ„fįÖýks~Àý�xA÷_nýÉJ¥Mô'ŽŸ,hZ÷¿xs�@Ü¿�† ½(2�À¡—P°u•3€ö9¹@*·þäö6TmR`€–`{&[50�œäÁ=Àùó�À%@é*`½&øäÉ“'Nœ(aÀ p�~”Wgà#™ rZ P¯$Ü“DP$%Ü¥�YˆpnC8"ƒTWÇÄÈàÌ@ߥ'‹ö3¯¿§Õki°³Möx£JµVLx,£Îê¤y�@ÆM|Éñ¯—]BÔÝñÿ D �ð±}©‚SÅ�·%Yïˆï®·øž÷ZŸÚ]?ô‘¿¾üØÿUè%Ã.=õ‹Áw<ø¼¹’÷Ùó~{ÜQ5ÞR, (yDü3óFÐWZ��LàÀégy5ÃîvRnüÆ )@yµüýjÎeoòÉ+]o£w7´78ïm¤?þÁ‰}W‰Œ\ DžN
+
H±`°§‹‰œü÷ç{±øÆ Xâþá…>Y`ý‰ûO«BŸD°þÄýÃõúä¬0ý$ñ¸ÿͺý¬»�€[r!IûÁô“勈¬lDÄý/mê£X#çǐ¡K�2ôjm‹ù�ÚçZ »#ìšÄýë¾$0@6`Ý=€¨pñܹ gT={Ve�< ŠƒOŸ>¾� 8q⊭�@ÍÂ"P¼À]È%-�Ä^âØr�£1!‡ùáÂ`ߥþîéƒÏŽ~ãË=?ô¤ÛÜÛä ×Û9Y¶ãŠã^|²o/æX«E·­Ì »µ©aj"Pñ¿%…Èê¥=æ¤×*7»˜]žŸù9o]ûƒ{é¿ý+åÈJ°]ùÑ7Ø÷FÕœegº{´º¿Ãð2|ŸPòˆú?Έ?åU+O��T„+^
+
¡ ��¿À á­mµÙæ†h½»ÍVÛÖ\?ôð[ó_úœÒvx®¯ëÜ`·p¬uèÈAj¸Od¢l4 hþµ�€|?éö �¶‰ûGCrAîLúð‚õ÷¯5ý›vûQ“þ±´î_çû‰õ'ÿÄý�À¥]Ä´ÒZ²è-©�@–D­ã×>'îß��C†^�`ÈÐK(Ø·ÈN¦ÝäÈs`�À€ÅÍòt*Á�$]:a�"Â�% ¸¤^¬ 9�äJ­BqmÀ)U'OžF±�€Û� ·˜’q�Å&å¥D ¸€\ |ÃsÃrœ‰F¨Þ®TwçÅ‘¾¹žö‰Ÿ~?øñØÛtØcev6ä÷5ó¶jѺ#ßPwn‡ì‹bß}G/Æ–Hp³‘-5õ×v÷GQð›9ók¨ÚWËõu©=nªÙ6è­io4ïßçûÌß,þó' o{à³ N˜ðYO6ØÔŸ†ÿKóËàµé‹•øS��6üï¨ö²àë vÿ¥÷¾†Âe}Õ|½Ilð »Ç<®Žûö…?øÈñ|w¦õðՁÞBW'×qT
+
&л?ŒEƒ"KqT„¸œÒë¡5
+
Àìòƒøl’ƒô±…zž­� Üý—Š}‹*wÿZ߯•–Êo�´‹’Îú“¥O»0»Ë&yn¸C†^\�`ÈÐK(²{­md�°x)®JKZ�Ðn«Ú\ Â�Då pñâeõ`]д4. X¬"À$�\\ª †G`�xÜ„R dS �€0€Ä±Sd€�Ðáp”ŠÒ\4Ê &ú»Ï„§†º/ïBü×϶>øÀ±Fµ»9ê1ÇìUɆº„;-mÏM5Å�¬ÿÒ­3�þÏÕ9Á€ë¤áªÍ¹qQrÖS•tWeý¦±]®\‹ƒm°¬»»³ÞÝéì²£.e¯ÊX*“µÛ ¹FÍEéYdÄ+& + þ)�Ô(üªî½O$_-ç7Eš¬} ®C^wßÛÞšÿÒ.þö·—ÛÚN"ëÿüa¶»Kކ%žBoùBl,\ìò¹ÑýCæÖúƒûGhBkýÁýÃÇPkýÁýC"¸ÿr�жú÷_š!¸ž÷ë« Éþ'7�:‘…KgýÉÒ¹­ ÷oÈЋ.� z ›ìa°½éD6?Â�dÔ‘@¹ûŸSs6­ O��€T ¸¬^àš`xë¿�@:œ&‚ÆÕ¡Á[@6“B �•�)Y‚HJø9©š§)5*D ´˜‰§ãèc{;³=ãG¦Ú¦¿ùµ®‡ÿ¬mwóP‹jró ָߔðÖ"w®æÿý4_‚ã‡ö‹š¡[3ÜØÌ©“€´÷�‚é5y_ÝD“ ýX¾ö.¾v[ÜZ•p™s;ý‚ÛJÕí­Õã^Û¸Û\pÔžðZµ…*¥”æ‘•ý¡Fü)Ô™¨ÏqBî}ø½!{M¸UT“½w—çÙßÀ{ÿ2ÿío\=ðÜՁþ“CCé¡!)£1À¡P ¿¿=b¯²‘ú,À‘?
+
žcD# ?:÷>V(àƒ¦uÿpöOr~ˆûW³øðgWÛó—ükóþ7vù\wÿ��[Y0ýàûµÖ_·FÍ—/`)#Ö_ëþuK¢Öñîߐ¡—N�2ôJ»mÊ�å��Òa�qÿds%e�À�ÚK�"ؼÉ%€ª+��D%ë¡�x^2Xp'�î¿�ò9ôIHJÇeÙd=j@ 6Î'àK��Ñ0H‘@r¸o¬³}-0rò'?ìzç;ºØ7´§iÐcåí’Ï”,�òÓÈ„©íY°E#�P´ïj»Æ[ºPë8q›—òƒñFk¾C²Üu×¼¶”­.m©s;ⵕ'êÝè;è÷¯·åí5ñš»Ç]ÅJb¨€×P|©F/ WNÀûA}jâÓ‚:Bí „/  í·7{ºwûÞÛþ»\}úw =Çۏfzº¤ÁH Ó1jhh€¢¢’$Ä¢a:sÍ>µ ð½Y\BŸMÝ?�@¹û�ØÌýã_Ú†?Zë¯;þ‡ÿàþÉñéè_?䋸Xʽ¾ö;:ߺ±û'¦_ûÜ��C†^\�`ÈÐË ²ÿ­”¬?qüZß¿¨ImŠp�ÒÂÀÆ{€+(.nè Zœ¬’�V‰&QhJÖ!Á‰£6)` —MfÒùt
+
"dY u´’D¾4+€åYNý<Åñ8‚¡:&E#é¡¡BGǵ¾Þë­‡“Ÿ}ôÙæÆN+÷Àn¡Ážô›“½bÌ]}Â]3n«³W o­fc« �9<ØÇß�€çƒ»˜ Pj�_œ�UÌÂý…¬y‡}Ôn‡$Ÿ"x¨ì¡ý �¨ÙäÕ( �x~'øjdë]£îªõ–¬eǘ­æŒ×~ÂeÎÛªõIn Óà
+
ìm9Ðè=ò¦7¤¿ò…™#&;ŽŒ÷¶§{¥‘6@î?‰R±îô¯6ü»/æQ À¦Ý~Ö“þU÷>J(²™dü÷O2@å °•û×Nø‚Ù^0Þ«tLPd�À�$býa=Ahµ%Œ>H»R‘Œ¬i7�«%0¿!C/µ �0dèe9è"Ûž–ˆhwÖr�¸1��”à*
+
Øà`Tp  /öý§OŸQ£x pRa�°�²�À���pœ©Ã�È�!1«�eXÄ�l,š¤¨äÀÀxO÷ÅÎö©gŸ9õÝïþêÝO8,Á^y—'Ó⌻ª“–»
+
Ί“®ê1ëvì­K� ëTnìnðû‰ûWÏzÉ%C‘�àP õOzj¡DjÈOÓü@ãà˜=U)Ƕ”ù® w͹ǘ­*YuWÊR‘ñZx¯¥ßVû¼½®õž½á|øÔO´ÜÛ}ª«-××ìFép  £@Ö½¥9œôAÜ?ǰ#"ç/òB¹õ‡K�½õϦqláþ!=>›êÁÿIàvHú/o÷©uÿd¸¯ë‚EîÈ©?,)è±�´kY¸K�°îýUm�Z÷o�€!C/© �0dèåÙê`ç#û"l“äðL‹ä¼í1@w  2��²Ç« €ÿ€Ô’€"LNžE�P‚m{PÌ�P @€`ÀX.‹�0�¹°/ä ‘ãqIF ‹Â�IÀG Èÿ#CIJ ÃÐH1Š©ƒÃ‚Ai ?ÕÝy®¿g¾¯wâç?üðŸó9:œu±FW¢Å%#‹� ¾î„®«—�$i›õ[¯€ŒÈÚ‡<o�dö0ܘJ%¡øÔ_uÿ˜pïÿ²Ü$µÁ¨þO4âO;ªÓŽ£îª1gMÞV™7W&ë¶'lÕéFg| ÁÙ¾»±ûÏ¢ýÌÙÇ›éëïlÏöõćû‘ûgC#t$HÅBL4„¬¿‹ è(OGñ›güÈŒ€>¸eÖz—ÏR±/ñý`ýó¹Ìh>‹0[ëþác¦|ÿéҐoôAÞ´Ý'qÿäøÜÿ•+—´¦Ÿdþ€ãם,��h×¢rë¿xÓÇÿ¥óÃý2ôÇ“�† ½Ì"Ùµ°¬é´h1€€Ž HsÌw6~¸(•c8sæ
+
p¥¤ ý=�`�œA‚#Ïç� ã*ƒ‘­I–1€(0O£ÀE4ÅQ1>F#�ài†Ž„™Hº:rݝ“ÝÝ3­‡Åøû®öñ;»¼l“]òáóþDÝ«q‰­¦X=w¿å®;p–-ށJWª•w\ üÛŠ™?¥–A8ÛGuÿð£c�#^q‘µWæU^SÎVÍUÝ•òX³{CîýöÚƒ{xßñÿþtÛ‘©‘¡ñ~æØÑøÈÁî?@p·žŠHTT¦c"£ŽøåY½ï%‰•e�åîþËÝat½Ý§6á©tޏÖÿLqÐG±¼Gwð¯;ûW­?­ï£O¤=\˜-Uý’UèEqÿ†ï7dè)� zÙD|?Ùɦ¸º±>˜\,n6(�¤#r@�ÐæøÂá¸Ma�€ó03¸t! g€M1`b40�ºJ%’@Šc�Hˆ\\`ež‘8Ù#ŽŠQÜ!Tâøh8¥" CÑáv°/5Ø?ÙÛ§ôõ%¿ø…Ö·¼iK}»Ïmr$›²³ŠœÜÿ!]w}לåk1`½'¹[À)F�¥¡c„°ûwT¢(8*Ék /̈WP¤Õ(âæÊ¤Ë<ºÛ/ïnèöÙŸòXŸ¼wWøÓŸûÅOÏi=34”ìéfzºÒ,-ƒ|(ÈFCÈýStˆ¡Ã<Eïê8CÅiô&gãE¿ãGþ“ãÿ��Éùë@¤r�(ÍùتØWïþ¯^½ŒBgýÉ©¿Öô“SXvÈrTîûµÖŸ¬f Ãú2ô²Ë��C†^ÝØú¯–u‚Ý´œˆn€äÖmíº ��ÈBQª
+
� ¸€¢4,l”c�C"Sr¼0Š�Xæ‹€�@Ç��dÜ*THI|Bbã"#s”ÄÆd:&Å(\:‹Ñ<Gq,EE$£ÑDWÏ™ž¾ËGŽŽÿø‡}xß3»¼G¼&Ì�»=’×’ÀóYqö"�80”[ºDVÛŸèãÖïy‡uÔn- ô…4Bµ`ý öR”® F•š¨†&’ø§ ðÊ ôï›°U7»%{-ﲤîßÕæ2ÿÊ^Óÿ×™üöׯ;r®¿G>Ò*öõ²ƒÁ¾.æÃ6¡©0ÍDh&̰‰‰4ç¸8§fü‹"ø„È'y1)È›¹›»ÿÑœöàÿx©Ò26�]›RïKª~‰ûŸšº¢Æ:�hÝÿŒÚðG·Â¼XîI¿>2d襗�† ½<º’ì dOÕ1€öùBèîT˜AýjI@ñ�BSŒà"Œ Ó2�8 pZ pb¬€�, Ø—L&…"Nb H'©x<)'°é‘Òqd€xIf%‰’xÌ�ÈîÇBA–¡[¢i: I1f”‘²{¬ëÍ/…Bg~óKþÓŸ8öÚ]­®ê¿…ñ[ŸEöX“À�Pz{‹�€m½{;œêƒ‹}U÷o/Øœã6û¸Í:n³ �£_JèÇξ`W¿‰[bŠP§‰Uf<yW�\€O“5�à¸Ë§ËœmòÄÜT½c ÉstOcðo9÷럟=zøÌÐÀÿÏÞ›¸ÇyžõþÿÁÓ4±eYi4#Í¢Õvœ¤iJÚ¡ …–R(P–ÃV ô´Ð”S(¥=íJ)-J)º¤ib'Þµ/³¿û¾Ì.Éò’ÍNl'qöÐßó¼÷Ì­G+míäù^÷¥¼Rœ\‰æ}g¾Ÿû¹—Êâ‚43cäóž¦(B¡˜]VEqÿ�­¤èaXSUÃttêö øZŽm»†ãÓð\s˘ÿvâ°yÓ÷7ëk« k¸â·Õì BëîÎñ¶+÷gëþÑý_º.þé�x“ �¾)1柪Óýã[Ü m�€÷Àð›#×÷_�¸¸~˜
+
a�ûa²þ ü¬ }ô†�³tx� @>ÇI$€ãA7àÑöÎà�ÎãÎàÐ!�‹m�X *ÖÖך$³B\ 2@­V©VË$ø0� ê{(¸ža¹a�Ӑ ˜ªäª"Ó¹ †¦ë²b
+
²SŒå‚'in¶è?qaiþ{‹ÓÕ¿øãCwÞ<sËèÊž„0ÓFcVjÐKÒ¹œÝÚ�¶ÔÕۍ¹L{n/±ìõ‘›h¹+m�k�e�ôúÁ?Å?p>@ÿµ­¶`zŒ@›†Y�€À+ì+Ø~[ØØæ»ùg°W„Þí¯ì?ë'úè™ÒÄÈbߎÒT:sû¾{öOÙûð?òÐÑCks³ÆÌŒ•Ïûš. +Ë‹…üŠ$ˆû'÷­LBM¤ãmƒÿ�ZÛ½l×q×3É=O‚0cý¡^®ÓúÃcur}Ûi?hýÑý㞏N÷Á¦ÿ‰ûG�èÊ�äÞpðMæÊ�€É |Cëtÿ�¸¸~ˆâ�ÀÅu ‰ýŒd…Ÿ¦! }{ �! ���´¨ =�0€Òÿ¬ §F‹À„ÁÓ§7N^ÛØX'A€”µVW�tÁøBXVäS¹~Ù&fÈq ÛÒ,“6Iå?¢¦Ò•a¦,›‚h”KTÄå•r¡ÔȬԏ¾4;ýÈ¿}uîý?sϾô]ƒ7®¤+o·GŒ¡•T¤’èm¦‰±ë]K ®§c•ø@=kŽ[»€`VO}°¸·Í ˆ ­€­öšl^¿í,[ûêAwrØKÀã• ò[e*¯676@Û¡ÑNiÖàèÇŶڸýDÄ 66”£½•A
+
~v¬WŒíÔ'ãÖ-s©Ø]£±¥_|ßÿú•GŽn>²º°bÍ.jKËj.OkÕ„"Ýa'ˆ²(µÒ;tÖýjèªeêtЧi9–MËßZ5?&¡ßrÙƒ `\¥S>+$êtÚOµA ~k�N¶ž2Üì‹C~B+~±ò7ûnmûi ¦ý°Ží>œâû¾“tµþÛ™~|ûB»~¿ãââúá‰�×5¤MË¿Uì™�b�|ââ5‹/ �ì!À�ú˜ÎàÛ+Ã6àô™u�”N­Bnò”,ÀøBÚ$ày¾$D[áØ:Ë�A C5I´‰«*”lQòÁ™_z°Px¦”¿xðnûã]ú©·™ŠÍ¥v—R}þžáÆÔÁ�/¾Ó¤ƒÛ‰·3ûvý;ýÅ�âöê�´Çõ �„]&k9`5oW�ÀËýCùV{T¸ÿ`+�'Þ¿:_MÄ*Ñþòð€™,nMßë]ü‰;åÿvíÿ™Õ•%sfÞ^ÉkKpÿ5þ‚ ‰’¤(1ÿÁ<« ëcþIàŒœôOsÿWtÿÄôc°î€õý]§ýtuÿð°ÃS�€îŸõýøî
+
¹ÿ�à»Ós[�Ý?�.®kJ�¸¸®!±–¬X `I�ÔÉ�øQÞð¡Î¶@æ=@ @Ó�b7#��Ð4äÙ“› ÐÑ CK�ÍÁÕ@´"(hv]¾Â¾0XËÂl†©*†BO”bQEG’•Œ9;ÛœŸ}xîøã‡ï]ÿÛOç~ñ§Ýœ˜IF”ñ¸?1â&ú£‘ÕÑþµTdc,¶16\‰÷;Ñݵd«O€¦ƒm_PÓß‘×çq­¸ü­?ÜR÷g/Ö‚ ×X†G:äyÑ^?ÞçÇ#•t¼2•LJO¤ì™þé·U?÷ÉG}÷ìܱÚò¼¾²(¯,Å‚–Ï©Bjý•îø•dU– ž*ôÌ
+
\Á.ù‚å¾­%_Ao ëþtÖgËý•u­�ÓϺÿÎý¾Ý6|µ„ÖŸ›þ‡Ô@×d?«®ÖïE¬õg€—úpq]kâ�ÀÅu i«í ?S‘ðÓ­?~BãgöK2Àv€ÉB`��4-8{€b@»-1�†–te�"� ��òÓÔ©AÃÒTÂ�ª"Ñ2k¡ähZݲ=A°–ëËóg—f.Í}ð_þ^ùÝ_›»ó–c‰Áåxĝ±FvùÉ7zS9ÚCàäèa€ÚÈ@ÛBæ˜Àuàþ[¥>›Ð€våUëõÌÃ>rAx`}ˆý9ùǍ¡c8bO¦…‰Ô±Tìèí{ég׿ò¥GçŽ=RZv—fJ 3ÅÌ¢TÈêR‰¸U*(jIÔ�й?�”`£1ý�®-|múÄ9?¸ê‹öû1¬õo6ë$ˆû___…”?&þ¡Ü.äþ··þ0çgóAFӏbÝgýÝ·ü2æ?ÜïÛÕýs�à⺦Ä€‹ëÒVÃßE!ÀãgÚÖ?ô ߆�0€­êŠ1p€=�Äpl2ÀÀ�˜AÀ�€xÐ�”�<F°'€|…Ea$èr¡éº¦?RiÕu>GÀÕu[’˪l.͝*¬<º4ûÀ7¿æÿÉ,¾ý-GÇ+£1s2VÛ÷}úî×yý75†{WG"«É0‹lM»z$ì2y\³½•D«Ú~ˆ¾KÛÙhõ?­õ„ô?±þQ�jã1s,&ŒÅçÓñûÇÓÿý-þŸþ¯GïþÖ©écÍì²›ËH+K¥bV’|”R^ º”W”¼¬%¹(I’"éAꟚ~ÈúÃW¬üÁÿ[Z~™šâûÙŠÿ®�€q÷#>ƒ6ßM±¦ÕéþQ,lçûÑúwº|ËâëÚ�.®kHøaR�ð³>ƒC Rˆº2ÀÅ6� `úŸÙF­?qÐhHàÁS„�ØQ¡ìQ�[ *Ø”K�×…Ã¢ÓJ𦨮¡ëj!ŸÍe²…\ž¨˜§ÓWÔå%~æá¥Ù'Ž8ù7ŸÉ¾ÿgß<–Ù“0÷%·Ž×'‡ýØ®Z¬g-ÙßÙݶ†-�¼#´í†]&k9ÚÍÖ›?a³þ`ýq-y‰qaž�4c ´ÑèÊhôÈhüÀ¾ñ•ŸÿÙ3ÿ…§yx~Ö[XTV²¥L†Üc%QEQhúß(�hr^‘)�(’lÈ„LmSßôýèþqÐ'ø~tÿtÖ'“øÇ¢ÿu:ígŠþ‰ïïÚõ‹åþû}Ùi?èû»Ztÿèø7í�. ²þhúQÜýsq]wâ�ÀÅu ‰ñü[„ÖŸuÿø¹‹Ãø Íò���+ø¤ÇZ Ä�$4 x��õà9Zç�F€q„€À�€Ø€å@¶ZÍÁímA5M ‚`�qW¢,¨ºBW‰¯%Ó5ÁªªÓ/š•]ÉHKKÍ|îáìÒ…™Ãk_ý¢ðáß¼ïÖ‰ƒC½+©!ï–q'1PŽ÷žLÐ5½›½¿4ˆq¤›}ƒ\r§Ëäqͦöil…:tÿô`g¤§Nw;ô°ÍÁA9Р—ˆj£±ÅñØ¡½Éão³ô?÷ÔWÿééåÅsù¬|ø¾’“ ¢P ff³y¡XÒEÑK–P´¤’®”T¥¤¨‚¦¨¶f¹†CnQôý¬ûÇšâû·løj×ü`ÖÝ?˜~ 0ý¬ûgsÿ۝�„Ü?>æ 6÷vïðÒiýÙw|GÂ÷(îþ¹¸®}q�à⺆´iù·*äþñc¸ë±ÀóíÒ Ð!�
+
>àB�pi+` 1CÔ^ ç  ��0�L"G�` ³+�„­cº0€b�0�‰r^p àúޤˆš¦P„’$ˆ�DI+ˆJIP讥RI=~ødfî’°üÈ¡»ªŸú߇ï|ãñDé¶=¥dTê]Òs€��°ý·ä’9�\_dúä ÀÕlAw“þo@+‚s�/q“ƒF*&%Vö¤ï¿uüð;ßjúO¿ÿÑ¥9÷èauvÆ(2ó‹Å|I–UAJÁRMW7õbÉ’C.iª¨j¢¢Éº®Û¦S¶}Ë ‰vÚôûBúÆüã°:é¿íþ�Ø–_°ûhúɳÆvý†Ü×C€+»Lÿ‡LÿS[§|bîßvð}&ô-¾Mq�àâºöÅ€‹ë:| v*dýñú¹ŽÓ�àtÿ��(–Ø�òøk  Öˆn9xø 2@Ð$f�$h `à eýkÁh r…´úL‹¸?¨ 2 C75ÎW‘ƒÙ ²*+Š¢)²!Kº,jjI4
+
93;ï¬L7Ž>³<¿ñå/ͼïgîÚ3¶¸wLß7j&ìÁg'ãëñÝÍh/‰Zdg€A²Ÿ—�]_Ñ ­½›'9uf½—ÙûºÆH?ùauh'}U¢;Ã=ëÉÞÚðNcèFe¤W›ÎŽLO¤½ñ–¹¼ïáoüË…¹ã•#«Kóv.—[^EQD.$I †üh†B›Ñ ]Õ òªZšfë:­Q#„jwNûÜ?š~\òµJ|³NH·^¯’ç€Íý“ÀÄhÔ[󃎟»Û«s³/ �ð˜ãƒßiýQ,à› ¾½à{L?·û\\ב8�pq]
+
ÿ¶®��ϵ��€=À,—€ €×��AW�Ñ€GÎÐh- Û\Ì�°GX „�P«´j<Ç%Ö‚\›Tºa*4t9XF|‘NÌ™"©ª ¨¥’VÌi…%'·P>qüYQ¸pðÀÒoþÚ·÷ŽçÆcÚhT¸Éí:=6rfŒ@ÿê05‹^ÿM.“Ç5Á @+ê­éþ­8³7¹1#\Wî¢7¶›\pãÚD´²?)í™:4™šÇÛ”~øâÁ»Ÿ.fÏä–µÙf.«‹+ù‚ i%±(ˆyQ,Ñ6_E!÷™H×uÖý“°Ó¦ý@¿/FÙw7+þ·ºÿUº£åþ¡ÓëþY÷¿]ͺ6åÏ@]ÜÿÕ�@è�ßRÐî³ï<àþ_ � üÎÅÅÅu­Š�×u ­¶S¡Oâ`Þn“�Ú
+
‘� €i@�`g‰��À9� Šç �Ð^Öb�l†¯P„å@ãA Ô«5âþ5bjpPq=¨"A{+mÓ²5ÓRuK&¡²n¹YEÕeŐ] Ö E³T´K%}nvuzúÉÙ™/~þпó»cqýÇÞ îIYc±Jj¨2´ÛëßÙŒEN&†ªƒ=í2×GàëEL¿Ÿ"IK¹êɈ7°£2Ø»>mÔcýáh#³†viÉÈJ:rt<zôŽýÙ_ú¹õÏÿÕ sÓg§ú3ǥ飥ÅyâþK…b¦P,J²($1/KEE.›}Áúëºi0,Ó´-Ë2lêû l¿/vý‚õ¹ÿµÕÆZÛúc¾Ÿ­û¿Â´¶ÚgëÐÏ�0‡�›B÷e?]Ý?¼-„Ü?y ù~|ÿÁ¾ÈÝ?×õ&�\\ׁ6-‡ðSùê�?ãY��…ÎX�`O�ˆÏ pîüƒ$€…Á€ì9�ù
+
‡�(<€N�d�býI4ë d€ªç—[ç�´¢šØ,Ç5,G7mM³ƒ„¥ªšH7°Ê�Kl¹¦‰ÛbÑ[É>”Í>µ0ÿÐ×¾Røܽ|áÖÉåñ¸”ŠY‰A'º»:9™ÞHÇ;-&k;èHŸÊHÝ?�@9ÚCâd*¶žvv[‘^/³“1{2½2»75xè­·iûÐÿú•‹Ç\,dËs3ÊÜŒZÈÚº¢Ib!—/…’(ë¯JM.jªH÷R몈3@Q‡§Y¾m”]¡f_pÿ´Ù7°þàþ©ï_kB°ã}:­hÚ 6ëÏZÿíN�X넺²ûGߏÚ�ðš».®ëN�¸¸®á'îv
+
1�¨:­?ú€ËÝÆƒÂ”ˆÃ nƒ˜ŒMxô!`�êd�rs "¨]Dëž×Öš«« hˆŸD‚x&bžhñ´ïUÜÀý[fŵ|Ïr=ÓÀpuÝÑ (mÇ4ѐ$K”lA!aHZ&›w]×W5éȑʑ£—ó™Gîþvþ£¿wם·~w*¹°'å¼a_yϨ“¬â …´Óeò¸F¶z±�tr÷Tc=‘þfjÈŠÈý»ôdÜÛ;©ì<ž>qûþ¥÷¿Ûý?Ÿ¸xôÀS¥ì©¥yýÄ·”W…<mêU„BfIÈçLU±4U—J†,˜Šh©’¥É¦A»Ïé OèK1í²åTl»êZU׬x&;âGý`Áºÿ“ë«$6Ú;àþaË/Zÿû‡Ä?ú~6ë¿]�‰õGÎÇGþÊÖ3‘ÞU¸ûç⺮Å€‹ë:ÐV·ß]WÃ�!�ù€€u�ÀÓ�°þPf€�€ ðH „Ú‚‘‚f`Úò ��> ’¦­Ú‰²_õܲcû¶Qõ-b³Ú `YŽI‚��qjª!j:e�j× �@”Íf…lÞd?“ó§gÎÎÏ=Ÿ[^ýÒç~ù}÷ìK‹ “Ik2ጛC»ƒéa—ÉãZH=>X$�@Kÿé W:ë³>ÒãÜHþ€ïÓãýú舲g,;–<6–:pË-âoÿÆ©þò£3‡),­æ–­åy-·\È.frK4²‹ÅÌ’- eM±„½‘$Ù‘[“m¸Õ¶4ØìëÛΦû÷lzg–mè÷ÅšŸz0êg³à'Èú·¬ÿÆ: ¦æ'ÿÐÝ]¿l¹ÿvÖÜàû/’xâ‰K!ëÏ;ûÔã{ÂÓã>Co#pÍ�ïúåâº~Å€‹ë:PØì·ÀpÍ~0ã'7~xÃçúvU@x �¦XÿËA0À�ˆ8 tÿ'�°2 �ûà+´€Ú³A×7N­žÜh®Ÿl¬­×i¬ÖH4êeÍñO•ÕZ¹Qñj¾Ø,£âé„h-, ³mÓ6 KÕl…v’®Ñé@†DK€lU5e¹¬[¾bè¹’½’¯fòks³ßÓ¤Ó_ûù_ÿ¥£wì›.M¥ô©„§[¢:\&k6(�Ðha÷ ;¿ý''â~zȍkû'fÓ±ƒ‰¡o¹£ùqþ[ß¼¸<*·`,žÈÌ^YœÄ\Q.ºPR
+
Š\,jU—bNÉ,Û’j)†­êަ÷oÙšíèŽK‹Ðè|OÇ®¸NÙ·ËÇ­Ú$ÊÛ��Öü°îÿtòG�€£�زªûßÎýÃ3HbkÖŸZÿ'Ÿ|œÄ²þ(xÀÜ?¼]°îÞOð½%ôþ~«âââºNÄ€‹ë:û¡ËŠ€·a�üDÇôÞ`���à)¦?Ì| Çf@0¨½,lË!�b�X<
+
@�``}2�¸ÿÕf‚ò@Å«V\âþ}¿�~�h¦k®n:*m 0]Sè¸FYÖ‹%­P´Í”u)/èEÙ+IÖÂ’uÿÁÇg_˜9´öÙ?›ý‰=41¼2™’&F¬Ô Ÿ %%õöNYl3ÝfE@°gŠFøo±¾½ŠÓÅK ñÄoñ%ئ9{�`ê3ÞÓÞI�ÀÚQ‰#‘åtléÖ½÷의{÷O^øçºtøÈC ÕÅYuá¸RX–•¢ òb./ç)�ˆyQÈÙšd–
+
ZnÙ•Ezç(†¥é¶®ÑÊG·]r³®gºô$*õS¶}�u—Ä• äþ� èŸyD ÎÝ?@gÙ>ƒ$Ðú£û'äNâ*Ý?@W÷ßiú¹ïçâzˆ�×u/øHî$N@…0€e�ØLüCK�T±ÂÎàŽ…Á”BÀÖ`ï#qB0[ ˜F­R«û•2ñ[VÙ·=Ÿ6 À öÐ :$Ô&5*ª¦Ê¦J`@RƒQ¡ŠB7%É)íeZþÑœ>ôð‘ï^üæ×Š¿ú‹w%G§Æóq}<Z‹×FV‡v?Š=0/ì„“PqÞ6O}?ä›a½T°ev3‚btØ,iÆףѵ¡AÎ�WúKníc†ßmkÃWkÏW›²àU€ö_µ÷†Õ±¡FjÀ¼~ux×ÙQºæ¹ë!gŒÆ‹Sc÷¥îºývýþäÒ½÷Ÿž+ÏÌjKKjvEÉgÄBV(傟‚,‹
+
"+«Š Ë‚”þŠH+þƒÝ^´ì'¸Ù\×&áy ß§Ž¿RñiÔÊ$à^…ý¾´ž-XïZñ ƒ>Û?­8%#O
+
<5¬àH +ò|ÁJ>hÊ¿°uÉ>­ˆë¬ûglxÊ'“h ß(X `a€c�×õ.�\\×½þ �ðÜÖ¢ �d�0 è$:I�`�� `�v[0Å�d�P¨+ = ¨5ÿ,2@« À�b§ª5¯RuI”+Ô~£ƒ[0àá�º2Œî S5]RuEÒebîdYÖ$YEO“1gefk‹GÏ/}ô®·>ò?ÝyÇÑ=É™dŸ<6\ß“®ÅüÞ××¢»NÆ¿¹g
+
� ÓýW=ôk��øàÚ€(€+ò¨‰nö @û€º�€Ó{“zÿó‡{¸9YOöY‘ÊûÝdDŸ9Û}ÿÔXá¿Pÿüß<xðþ³³ îÌ‚¼¼\ÈgKżP*…¢,
+
qÿt‡œ¬kôìˆ\ wŽih„'IÀ OàL��rïA��T«eµZîU€+»�Àý#�€ég­?¸œÇÖ}ÿvî¿Óô?Íø~´þá·†n¾ĺ�\\×µ8�pq½b�üÀ1�{Ù¾°¦á2³0˜…€à‹($è!�2�®CbÛ‚‘(4Ê$juŸ]l #¶Ìu]`�ñmÄÃ醬Kƒƒaô 0|¥B~Y“2va¡ºpä1ûŸ ³«ý¹ù÷þäý7JDÅÉtuÏhmt¨žŒ4}4ÇOëË[”µª-ÇÏl¡‚46 JG„›Õê<ºf÷ë­º©-U@íØ¬§z`ψ7t#€Êh¿ߥ¥̽©•‰á#£ñÃwì/üÆNåK/Ν^^°æfŒlFÌgˆû'¾_KäfPI î# F°þ–©;ÁÒv��7¸býI`îÝ?ú~Öý·k~Z¹Lÿwš~Ìú±ÖŸµû!÷Ï,š~ôýìSÿlG³/(d÷CâëÕ!�\\¯] °×,`F°“�@h,Àmtž€AéÄ�$�`�œx:�çÄŽm%VW«f…Å€Z2¯Ä„!�� ˆ3 E75Â�jÝ¥¥AŠJ\]Qȶb%aöHyñÄ…BöÑ£Gù·¯ÚûÈìÛ~ìðTz1Õ&bÞXTx]5è.¥%æñ“gZAmëOBÈ€TA!wÿ/íšþ)µb;� ×þÀ §&½Ä.ih‡¹/!ì=6;rëäÑ·¿µòúèÝßxdúðê möXaaZ“JB©@L¿, àþÉ}'�­¬Ûý{.eHÖý{žÓ*ûi»¬üc+tÿèû!Xë·=<îŸõýð4áó…5?¬Ý‡ Öúû�Àão¡÷
+
üv«óçe?\\¯*q�àâzõ(Ä�/vÔ±×hº2ÀÓà‹—Û¥AÀ�x€î1�€uÿì �Œ;ìd€W�\ÛqMƒ„4ÐÃ�M§mª¦«Z©T(HyÝT,]Òó+æÂ¬üØ¥LöÁïÜmÿå'gÞó®o¥¢£;„‰heÿˆ—$>¾�ÍÀ†¶ú¶IY§™~jO›´‚%0¬A9{‡ÙåÑ‘F,J¢Â|O<�ë¿ù+¥ Fiª¹¡>Òcï²ö&´7í?0ÿÉÑ•_ûÀê?ÿøñC2‹ÕÙcÎòœQÊK‚|bàþ!åî*¶�Lüƒû‡ºXóJü³5?lÊk~ÀúÃmŒúÙ¬üaÿ!ë
+
� Ä�!ë¿…à;êÐúÃ{ª+¼ÀÇ}rq½Å€‹ëU¥�„€½~þ*�„6àIfT([„B����è<€i'! ѹ µ&¬�h÷P!�ðMÛ7MפÕ@ Íp„˜+hŠ*HbNÈ6°4UËçü|±º¸\?vüԁ{Wÿáï
+
¿ñCwì91ÏMjc7EùPyh(C§ ~†�lÆ"k±ÈúPßZŒö°r ¸r��Ä�Óýé€ÿ��6Ý?�@½uC^ˆûWÓƒ+Ã÷ŽÜ÷æ7©øýû×/LŸx`a¾<;­Î0
+
]) á½¢dý¡Ê+ î+ �¸í”?Z,ûa­?Vü“`­?¦üÑú£ûg†ü„Ýgî¿Óý_Üz��€Ï&cû7…Ï2@WØ�Âï2\\\׿8�pq½
+
Åb�ûAŽÂÏ~�º2�zt—·Ž
+
eÏÐý_Øz�‚B ì´…° Ô ¾ŠÄê=� ö |ž”Ë„|`�*�Á¶&ÏtmÓ"�àꦯ$<Y_õ*že ÅR©Pò¹ –UÓ+I~&w:—½°4ÿÈ·¿îýùǦßùæ¯GoZÙ“ÇcV*ê'¨E3Z§ý�Lp;cݤî?²%Ñ·1Ô»N€¶tX^l´� : Ü��AC0!(ÂQ€Ruêþû¼dÄJGôtTÙ›XÙ“¼*=ý®wT>ó©ÇÝieyuzÆ:>m,,š¹œœY²Y¨üÁ¬�0ëO¶ ûã1)œö7Öü ûRek~Ø‚¬ùa×{#>©€Áýƒõg€e�Lüƒûg}?(d÷QðPãcO}'°¾ŸM"„ß_¸¸¸®q�àâzªk!««�tÿ�Xf€ €‡�ˆèþ�Øë­@mPè�ÜÂ�’�‰µõ:a�À€F{4a×ÈU¥B0€a�êâdzíøe�‡øÀ\Q)
+
ŽNK<èôQ5C.”ÌR±œÏÕç^8qùÄ¡ÕÏfú=o?tëžù½c…‰¤6óƒuÊ�`F· ÿ~€*-YÙd€à`Ë KÛm•n§ÿ[ݬû'Aëþ}v*¢$ËìM-¼aßÝû&ÞÿÞKßú÷§æçjú3'Œù9y~Á, ¶$÷¯%KÓ æ…��‡ÿ@¾Ÿn—s,øm×fßÎÜ?¸�€+»€‡~0ˆ�„rÿ¨tZöÙ„ë«ñýì·øV@Äx~^ñÏÅõ*�.®×ðÓ=DhB�úa�Ü?��0�h; �óhÀ�,�<òÈCà„B]È�à«ÖO6`_e�¦7 }P�ð[ªøåºëU-¯bxø;êíLÃÕénWSU '˜„"É’ Ê%A)åbÞÍ-×—ç×gŽ=|øþ'î½[üðï}ç¶ý÷¦F„[÷¨ãq+Þ»žŠœLöÕ†w6Ó}ÞЍÞà 䢒è1¢¯¯¤ZýÁP D«VÚœÐayy„{ûÚ«�zÖc=§b»7†ûN&½Ønip§:>¤ïOÏMß{ÛÞ¹ýïSþ½…éŽjLېEiaVXYò9:åS”H¨¢D�O“¶dýqà ðýèþé–_ß­UËp€‰ÿZ0è“8~ÖúÃ×õõU¶Ù€Mü‡6û’™~´û›§i[güãsŽ?�øíSm ÀçºÓë?ß-Ù~¿àââzõŠ�×kHøIÿâÖÞ€Pj}�Àm„0€= @��ߏÎ�0 jƒ��¶c�ö�� Å�[—…©Ù0�`@¹\õüšíÕÌ��Lß§y]‡6ØVЬÓÉ@ª¬Ð¡¤ŠEM,˜¥‚SÈ–W–šssgŸxâè±Úç>·ð¾÷¹eÏÂx\´½FäuÑˆÛ¹šÚýÀÔÐjb—;ðß¼øM•4ÍRÓuÂA?� ¬l¯¸ê´¼<¶D«ÅÖúÆ{Ö(�ô®F{jÑ]Nt·;wo_™>–8òƽ…}pí«_=wøÐÆÑÍùY'³(­,Ib¡PÌ…‚(KÝý º Ö|µÖÁûÇ~_ôœÈµ}ÏÁ‹JÙ«×È]ä±s~H€ï ÀÄ(÷rÿgé´Ÿí6û¶b€®îÿ% äþ�ðéÞêÿ»lù ¿_pqq½zÅ€‹ë5¤ízа" í¸Üm<(Ød�¼‰x –°� Ttr£I¢Å�3‚ˆ/«×ë€ ÔðÀt=Ë£�`¸¦i¶kØŽnZªa*¦Aì`°Jt©HC)ѐJV±èç
+
¥ÜÙÜÅéÙú¿˜ù¿<ÿãošß—,ŒEý}ÉòhÔê© ÜD|êÆð®Docx§}=q�x¹¾?°þ;÷ß³ë­ õ­ïI;ã q"™Ý?qpløðí{̏ünå+ÿøœ¬=’/È:+Ëz!·¼4§€“ò%¥(«’¢ÉÁê"âþé(Öú·Vü)bú˾K¾ÂEµâÓåÓAÊŸ½ÇÀ÷`k
+
¤ÿáíÌý³uÿ˜þ�2�<àûCî*:Ý?+|Há™ÝÎý³Ï>¼ð‚.®×š8�pq½†ó]�Äb�’@'€Ðv #aϐBî~Àžl×¼qj‚b�3#¢1€È§‡�ש¸®ïx.Mðº�ò0€mi$,Sµ4ÙÔDC.r¸•†¤Ë’)È^Qtæ—Ïdó——ÎÝýM÷ÿáÌ;ß|x*±25"$¢µ©ñúNï kC;Ϧú›Ã;k±Ð��$èØÐ`=0€+,ýëOæ®’_¯5ñöŽgÇ’G¢‡n»yùçfíÓŸxñø‘SGOTç­™ymaÁ(!ÈýËA-‰š@Ü¿ª�hŠl¨ªn&¤üÁúCÍfý‰ïÇ��ÀR@Møn9˜öƒ¾¿ë´Ÿmrÿ±Åý‡��}?ª«û=•ø´vuÿ¡çuÿ�¸¸^Sâ�ÀÅõÚRˆ:1�½ÀÕ3À“ÛŒBgƒ��ÔÉ�ìi�2�Å€3ë§N¯‘  ÀLjWb¬­®®�´j¼Šïze u]×rl&{:ßÝ6=KwMÍ5T[“LEЕqÿŠZ’éÂ`Q“dKT¬¢ ÍͯeWsçï¿»ñ·ŸÍÿú/Ý{óøüä˜8‘ªï\ŸH–#;*ý¯[KìZOµ¦…®Ã@ׂ6�hî°¼<Øh�Dc¸‡üÆüDÄHGÕ½é™Ñø=ãɃoýч>xòŸ¿üø±#çæç6rEùøŒ²°ì˪!Itԏ,–JúÚµV?K­úÅÔ4Ã6-Ìú·Ú|ƒ”?¹�¨”é­A¾�¨UË!�€`k~ 2­³æ'”õ‡ÀÜ?¹ç}ô\›bŸ‹õǶûgŸDÖ÷£®àþññçëµ)�\\¯9]X÷B3㙎r ô%—»MÂs€ …@`ƒB €mÁØ€ý�gΞ$�%׸1 À�
+
�,T Ô€�Ê5¿L¾ú>=
+
ð+eZíáÎ϶|Â�†êè
+
=P�rJ‹DU²s3òÊB­´rfyî©ÌÂ…{îR?ö‘ì{~ú›ý»f†"7Üì÷•£;NOFËC7ÒÖ��Ö‡ZS€ˆ­ôðU�W ÚõK~Qôwð’—¤ƒ>KÃÇÇãß™JÌüìOWþïg¸û®gŽ­ÍÍ*‡î7—í’h
+
²\D¢(I‚Úñi(².+ÁÈMS-ðè$¨÷_¦\H»~Áô“¯p:€€~_tÿPœ†î ~Àý³ý¾lînûÇ;<Ì!ëÏ>_—·wÿ!ßÏZÿ绵ü¾ÈÝ?×kX�¸¸^‹
+
1ÀvîÔÉ�hýY÷N�€e€Nh;Ÿó,`?�2�{@きMh¢ÍÁÝ� Þ¬UÖ*îªï׃VN•*¥¿âVª¶_¶€È_,Ó1t[§µ@¦¡hº¤¨‚"—4©ªHx@ÕUÈšK3k™¥óKKç¬~îÓ3ï~çÉäÒäˆ6«LUÇ"Fôu>ÝLK€‚�:3”ÀUD°+m„&þ+ âþûŒô`i"¶¸7y`ÿØÊ¯¼¯þwõÈ‘ûÌ,׳3“Õ Å̬. Š"eó™\©H^3ISig7-úQMU3èˆ'ÝÐLÓpé4Øm��Ü£^m6jä+½nýãYø~¬ùâ´®5?lÊ¿3÷¸ÿó¬é‡t…¬?êê­ÿóÜýsqquˆ�×kQ!�`½kúÑO„��]:þY€JbhBHÀ`�µA¡C€N`çm2�;”€ÍN€f­º^õÖÊå†_­·¶·Vè>§r����•e[¦n±†–eè†L?�¹HÜ?±˜ÄýKJ©(µdI%i~Æš™½P>tà…Ã÷Êú­ÿžÝ›ÊND—__Ù?b§è  `°=­ÿI �í]­Øb7 §a^DZõ°½.mkÀσ?ÐÚ«@¬¿•Ž(cÑüdböæ±oØãýñGŸ¼÷Û—¦+G: sz>›_YÎçó²,æòË¢,h†Z’%ÅÐMÛÊ *¡�U³4„A¾¶C÷D—-« �€ŠÿÕf}ØýÕ¹€klöÅ _ä®#7!`�V¦�lçþÙ��h»ÿGYë ¨óbœ?U×Ü?>­ìã êtÿ/r�àâzm‹�×¶‹ÃÀ=„0�…<€vÜ ‹ $pÿ¨­§­¥D°×+ÃZkƒÙAÐvI›ƒ·–ag0a�µFk_, &4Û°* ƒ8B
+
#bÈW]£»¢$‘ÖÉA* < ‰E½w–—N/.ž?1ýìÜÌéøâÁ·¿õkÉÈ쾄r˘’ðÓCµä`ehWe°·ëo÷VfÛ÷­ÅúÖ‡ZíðóêHpDЂ„HuxÄuÍ�ö¾d`€ê0]@¸ˆD5¹Ûí¨§ûk©>+rC%Ñ{jj¤–Øí ÞX°ÇcòÞÔÒþÉ»'GÿÔOžúâ.:|öø±æü¬¿¼hæ²r1'
+
yA(J’ “*þiåO0éSÛ:å“ý[6 ¢Í×:ðK¾�aÜ'Žýë5?˜øeýÛ½+-á†/ÛìÛYðÓÎûw÷ùäVù~´þ¨0n‹ÂÏ?×kO�¸¸¸6õ²Hàå@'°�°Ùù裰,¬“BAÈ�x€��Ó� Àù Hû‚=‡øBÇ6í`K�±tE@»×H‘¯„
+
´|®–-¬-,­˜~èØ‘þã_‹¿ÿÛ÷¼aゥAiÿ¸:7“åô`-I7Ú�XOEÀâ«m[-ÂÍXké@°0øÕ
+
�tS2±ûÑH-±«ßÑL÷Ú;\O ˜ÑÎHŸ1²KI÷-%#‡ÓÑcwÞ.üÎoŸùêWŸ[Éžš™­Í/â2²µÐrÿ‚ÔjÒÀý¾°Ò!4ãŸøÓÕý#�„Ü?@Èý³ý¾;›¦6]€X÷�ÀZ|:Z…ÿO<ÁšþPÊ€ïÇÇ–ñü[~칸¸^{â�ÀÅÅÕEW&Ì8†�ýJˆ°�„¹�ηׄkc�Ã�]¦!�0=Á[´—…Q À bþ€�‚eÁ­°pMì#±’ìÊ0]&ª¥’šÉÔDÑ_^¬œ8v1³xùè!ïÏ>~â?vÿTúDz°0ó÷§ªS1gèõ^ä¿­&vU’;+ ZãXdZäClq»Z`éù�ü­NW}}E#N‹ ¶–3ÑvˆæÈ.õøÎj¬ÇêÑ"7™C»Ë{St¿ïDôÄþ±•wÿ„óǹp×7Ÿ\˜o=V]XpV2F6«æ r©(Š%AEY�ë߹ܭxÜgð*³î€–|±îGýl—û¥ÿ¡b-äøÁôÃ- !÷Ïš~¤åNßzÊð[| ¯Ò÷£ÂO;×kO�¸¸¸ºèÊ�€‡�WÉ�èrž`ˆºÖÿ€aêÄ�¢v¡EÇt ­GàÛH`-2�Z=<@�pÛ»`C"‰ƒìd�b:iñI©¨ ‚/Ëúüœ~ðÀãÙÌ÷–—NñoÞ÷žwÞvlrxe2ªMÚé?~c5þz?¹ÓKõøIÚä
+
ép?!A‡Ñ¦á­)óëi@chÿw½kÁrßµøÎÊà „üØN©ï=ÞïO¥¥ÉÔ}‰ÈÛÆóxý?O=p9»traV>|ÈÉfµ|N.¨óD:ð3ØñKçûJü£õ—ûg>¬õ„c"ÖúC±RWëßuÚOW÷‚›Ü?0kúAøø€à™BÓßÕý_}â~Ú¹¸¸^{â�ÀÅŵE¬õGKñBG¨+ ° �
+
a�”�±…@, „0€;ƒC ÀVáQ�Óܹ3ø%� •0‚\O �€u&�dQ7L&C~X·LcaÉ=>s~qåəًßúVõ:óŽ·Þ368“ìÕ§¢õÉH-Õë'{¼$ùJà ÂMõyIŠ•pÉØpÝG•ýÿ:z×c=±§FzëC;ì×—ÓƒÍÛ&­}+#Ñ#©áïÞ¾Oúèïœýê—ιç¡Åigú°4sÌWšõ¦|Š¢,QëO~d(Ц«Z(ñ¿õomøj×ü€õG Äšœò ªùß…i?x£† ÓýÃýÈå­Ã=ÙŸtb�ºÿÐÀ¶'ð3ÏÅÅõÚ�..®-zY�ðÜV@§òt€B�f¨Ý°¹.��1�H�g± €Áž�°mÁ,€í UùÁ(Èú³U@Ðôo�­R$A*IŠ(E]–*šååJî‰ùÙÅËËÙ'ÚøÂ_åçÞ:v"Ý_LGìñ¨Š€ã§î?ÕãÒh1�@k:Ж‰@×eT7Ï7hý¤ÿ �¬Çv÷¿1Ó‡zädľã–#ÃߊôŠ?ÿÞò§ÿüñc÷>¾<[?~Ÿ·8#/Î-Ïψb©(‰EI²þª,ét­¯bª*ðªùa­?¸°þä•¥Á$þá ¨3ñ5?‰6åÏÖý㨟`’U÷Ow5ëþáþÇç"äõC?Çgê
+
îÿ9�\\\/G�¸¸¸º‹-z±£
+
a�ìH' §¡§aO ŠA¡Ó�†6焲ý�xªêì †D/°´¼Va€m Àf�&äb)k;šª™•%Mªº])*ÎìRmzþ‘¥•§æÏ}ã_­?üý¹·ÝybßøÊĈ2:l¥¢n2B³þÉ?¹“ž ¤‚c-˜Ùd€  ÓU_Gœ�Й?•v‡®øuc;üɘ4Ÿºo<ñÝ[ö>ð üÓ?œ?|à‘å¹ÆÂ´>}ÔrŽ­ мR̺˜&þ鰍 ¼¦N_”Îf_Öýƒõ‡õ^XóÃVü7ƒå¾pXÄVüŸ
+
}²åþXÆºðŒøÜÞÃèþ�Ðý?¹uÃ>)øì„|?ZkúYßÏ>³Û)ü¨sqq½öÄ€‹‹ë%êx±½7�ShJX�¸J�…0�ÍÓc[�w°‡�l„�� “°(ÍF­V-ÃjX¶�fƒ¢ã4 ÅuôR1c™*ùG
+
¹|1SpÓ,ˆÕ’ìÌÍ×fN\XY¸|ôPã¯?;÷¾÷Ø7¹´gBOh£1+M —öC$z* º;¬].O ÓR_wô7ÓÑþ¸å 5æ":?´sùÖ±£·ïýú-{Œ?ù£ïÍ?wèþ‡³KöôQm~Ú,æKÅl¶X(h²h™�$EV$ºÙ×6|Ñâu›Q?Áë…•?èþé&¸¶ûG�� D÷���ªøÓ÷\°îŸÞ´¬éGÁ½ �€À“m `Ÿ”íL?
+
=xÙgžVxrÙŸ³Úú|sqq½Å€‹‹k[mWÂì#Ú:•í�LO�Ð3]zصÁx@Ì ç�lg0vtí§9câ¡%�1�ǃÚÁ„PC—-]2tI×h^Z YjM’¥ìŠ/«Ù¥ÊÑC-Ν;pOöC¿wèGï86‘^–&âV²¿<²³‘èiŽô¬§v׆éHœµÔà©ñ‘Õd´2´ÛØÑi©¯¯8™¨ílŽìn&úÜèMådujXLE”[Çgö¥þcbäð{Þ¹ö¥/\8vôìñk³sååy3»¨æ2R1W‹Y$QT‚²YTE„&‰º,Aé?Xôýûo•û3¹ÿZp¶C£mýÑýÝÐiýáþa‹þYÓÊýÃmD+÷ϦüYÁMŽ·}Èúãc²þá§+>}äI ?·\\\\/%�\\\Û
+
�`;¸�<×f€�<½µ7 ó�àR{a0{ÚŒG];ƒÁÃm‡lW�ž�€M$~‘Å� ·Ý �_á4ÀÒdĉjš¢ÒMTЬh‚"KšZ
+
š*bN™;q2Ÿ}RQ/ÍÎhö§ËïÿÙ#oØ73>œO¨'ûêñ•èAì(G{üÁ]þÐîÚÈÀj:Öi©¯£ ÃLw4ã½ë©H5Ñoô9“#Ú¾Ñù±Ø7‡vxÛ›ÅÿNãË_|tvúìò²3=k,,j¹Œ’§î_ŠE™–þ—d©¤´îG%¾_Е’¡ˆ½LC±L^ö¸†¼RlÍZÿñý[­?¸�B<)ê¬ûg‹Ð÷£û-÷÷�ÐÕôo—ûgŸ�ØgŠ5ý žÑçââú¯‰�וb€ „€½Æüe0ßI„N¨+°‡�À��À�€pê
+
Àâ „ì †æ`<
+
�� hƒ8EÄ� œu&È�¶n04HÓ4Â�ô@¥õ*�$¥DþZXš)œ8jÍÍ­-Î_.f×þõŸJþàìÛßr|,¹2<`&*#}‘Ý£ƒ§Æ¢k©Áfb¸ÿj"Zî¿®'Ò*¦õ¡/ÚkD¬ÉDq2u|läÞÉôñw½­üŸxô»ßytaöL6ë--IóKZ¡H­)'ˆyA*‘eARèfÝ ”E[ C0 Ù´ÛÑlGgGý`Ñ«Ú'°þðj’—u•˜þ¶ïG돉¬ûǁ?¬ûÇô?úþûG�`Ý?��ÜÏ!ÇÏfýQÖÄ>Y!ߏÏfø¡åâââz)q�àââº*…0 +°×,€­éd�<`1�I Û9�ÖZl1aàÌB €ÁVÏ  /l^l’€i¹ºMÂÑmS·(…éš*‹B‘®ªóš.9¦¢ä3Âܬ¹¸pJÈŸš?~æ;ߨ|æSùŸ{ïümû
+
S)e,¦Æw;#}~¼Ï‹í®ŒDš£±JjÈÚu]�‰jtW=1襆Ìñd~ÏØTüžý{W~ùÏþã—/=üØÒbcvVŸ›•—3r¡D~uðKÅ’$ Ä÷“ Åÿª`˜r¢iI–-÷︺ã¶êþ±â€Íú£û_cRþ¡f_8#B÷²þèþÁôc°¹ÿ  bÛ~ß«wÿ,�°îÿù�@?«\\\\/%�\\\/C]1€5(x Þ1 Ä�WÀ�$`�<¸@ǃnñý” 1@¨ˆuÿ,°]�€ �…@”,Û7]O÷ˆ% `놥©¶ªºªLÂѹ” Yráëª-Ò}a¥ÙîÊüùbþñ¹™Sÿðeùw~ëÄ[îøn¼¯¸\™ÑÒj¬ÇŒíò’‘Êh´6:t]�ù7wÕ¦RöÍ㙩ô‘}“ï|Sá÷~÷ü·¾ýðáC--6—–‰û×3[RuI &ýSëOVüK¾DUuCÒ-Ù°%Ó‘-[%ÈåYºo·d®�¨û_m�õu-÷gÿèû;Ý?{×aîŸÜ˜/>DKîÔÉ�ø8„Ü?>>W'„ŸR...®—�..®—-t/ne�öúù—Ã�OuÌb�1 ]h®ÂZ d�ìÀ�ì@ç Àb�¤Š;�0�»KaL±žeËñ-ϱlÛ¤3‚C%vßÓG«–ak²Ï´¨½ h² ç³ÕlöÁlî±¹¹‡¾õ óŸù™w¿ãæå[Ǥ›“ÖTÜJGÌx¯“词Ǯk�¨ŒDô‘ˆ<6<“ˆH'~ú]Õ¿üÔ¹ïÞóØÒrõÄ qÉÎd´lÖ( ¦J|¾”Ïæ$‰®W#î_—%S–M:í_1tY3d�š­˜¸Ó7ƒ°©ûg_¬ûïtÿëÛ7û²Ö ~0: ~Ðú³îÿÒ¥ð¤4ý¯ˆûgŸ,øŸÁðóÉÅÅÅõRâ�ÀÅÅõ²Åž€ 
+
�]�ô’ ÐN¬^lÖcÄua7ðvç�¡r ¶ˆ­B °Ö³À’�¶C@EçšŽkØ®a¸ºik¦¥8¦âŠ)–\U†u0¸^3 CSTKÑäåŒ8»àÌ/Ì.ÅK ³}ëk'~á§Ž¼ùæcÑÜø€>Õ»­‘]åtäº�/Ñ&“s©Ø‰}ÂÏ¿ïäÿýÜ“G_Èd*³sn.§å J±HÐH¤¥ÿ%µ$*EA‘dUV I1eÕ‘5—üÆ4ºo��ùÝéŽF~Õä×^±ÝºáÔ §êµ¦|¡õ‡­?yM©õ__¥± �lWîÏÖý³)ÿÎÜ?Ü™¬û�9þéÇ Öý#�„ì>
+
}?<†¼ˆ‹‹ë¿ �\\\/[] X½\�xz{ÀC�¢'ž ñøãô0à
+
€=Á]Oº0@`Á2²ÀŽ‚¯­C�Ït|ÃôHè”Õ2UÇPeB´ˆE×UHMEY-ÉŽ¨WÛ-ÊúÂ’·´treéôÌ‘–޹Ÿú£Ã?~û‘½#ù½ ebHO x$’‘`‹V°8ˆzk¸þf´ 7²Ïþ±Ž {ð V ´þ@ÇÌþÖ?ˆÿNØMF£õï§+ ªAà®Òå_òŸm§å±ØÜžÑûn²~ï·^øî]ÏÍÏž>~¼<7çdr¦ —
+
E"‘¨D¾ˆé·U]—Äý�ŸØ:öo˜Ša©–£»Äý»NÕñê¦K� ^¦¯ @¦üáXë¿qrí1ýmÌë
+
�î£³â��Ü?¹-Áýcúof¼ÉCFŸý!ûóí�€›~..®WJ�¸¸¸^1u"‹]I�Ä2�b�0�á˜Eô€‚.aº.àܹsBÀv¥A¨õõõµµµÕ@Íf³ÞV­V«V«•@å²W©øžoÙ®eښ嘴Ø6Û„UÁš¦ãAeÚɪHtE€hè‚a–t«¤z%É-½lÆ_š«N½˜Y¸xïwJ¿û›wïIO§cÆž´‘Ž*#}v*âFnªöï8Œ®DÊÑžÕ±!b²ÛÑ2îõºaw-ÖK¢É0@{£0qötטŸì ˆ"ÒŒ ® Ñ ÔÇãNÿ.ù3=äOÿ¶–ÝoÆ[±ï)÷ýÈFb÷©Dd-]O {Ñ>3ÒSKÕFȘÝ{£=ØãŽÅ•ñøÒXìÄþ‰»ßüÆ“ÿ·O;|æè¡•¥j6+Ï/˜E‰€,Òñþù6RuCÖMU“E‰P“©*–FsÿÄýàO:v‰|mOú§ à¹UÏ/{>y!ÈëÒ¯¹€޼‚äu„t#8~ÉÞlñX>ËÞuìý¢"¼cÑú‡°7<>!¯Ïþ¥ø¼..®WN�¸¸¸^1!� €‰A£ó\G?� � py+€ÙêX1��`€6´
+
9B: @��›ˆ�€ €þ�� Z- p]›zS׆ צ©C#B‘TâlUɤÓ,%Å–d[ôR^Ëgå…YoqöR©øÜülã/?yâÇî<œŒ/¤‡Ä©akôúwÖz±ÝµøîZ‚Ž…Ô{;©ÏÀæAA+ß�âï½d¯Ÿ IúFœZÿf,J.È¿‡üü-/EÿL�ô!�<8¥°ûÆrO=>XŽ‘ppm*UKÖÇb͉De*-L&¥bGo›Zü…÷žÿöןÊ-ŸË¯”f¼RÞ,…lÖ ¿ �‘Jˆˆú•NP%Ädiº¦Ò¥
+
¸ß—¶UcþqÉvú¶¶4”Ëäµ / 4xà^;�xYOjUÁëªû¥ÿ!ë�€ Àš~O=þrÆ}>$þñ¡�+| xÖŸ‹‹ë�..®WLlikbX ÀC€° Е.wë �a‚„¦­ks0ÛÀ6pŠe�Ä�ô—À�ˆµ¡�ß÷]Sß… `�§Õl� m�ºØ]E×$S b„å¢$æ«®©­,:3Ó//½¸¼xù®o¿ÿÁ»ö-Åܽé“ûÆk#Qpg5FÝ|àÈû0ÓÏöÐÚbèñˆ (ԁúêï]½^’2@€ƒäÜ?ù[m�•�E°
+
h#=äGvø‘žµDt5%ÿ†rr 26¤ ít&âúTbq4vÿXâď¿¹üñÿõô}ß=7w¢9?mÎU—f ¡ŒEÊë²¢I2ùªÊôx„ºbÿ5fý™Í¾øïòÃ.ù"¿}òZ€éGaîÝÿ©@§OÓך=ÿA�`ÿ8ê'¨.£»½X��±¦+þŸØ~Ü'kúŸ¹ºRÖ÷sëÏÅÅõŠ‹�×+&0+ €§“žíÖâ$äÀ�d�ti!£¶]spW0€
+
0�kÖéx V-0�b@½^…C� d€À�Ýl¨š.iº¨ë%ŠZ’d:üÞÖdO¬™Ùõé™çŠù'Žª~îS‹ïyûá©ÔÂè°së^o*á&«éFªŸ®× ’ýM
+
�­Bü ŸFàéin¾2BË{ÀÁO_IP ™þà`3à'Iâþ¡`³Ä?^¤×ؽ‘9;‘¬Åû½h¯Ÿê7IìVnIÏŒß=–˜yÏ»ªŸýÌã‡î¦”_]šÕ揹E[£ãü‹BAKŠ$kó£ÓÉ"ùm{¾hâ{…²þ˜òÇN_òÛ‡šxiÐýÃk‡î^Ö3T›åþlÙÏvµþ]ï« .°¾³þWpÿ¬ï‡G�ue÷ÿ"�..®ï8�pqq½’
+
1À‹m 1ÀsÛ �°ß² Ðéþ/^¼È5Ö®u=�χ×l-PàÏtb�œtÃ�ZT©øÐ��ÀÖ…�€2€�€* �ÈJ)ŸÏŠ%Á7íªfØ‹Ëîôô™•åg
+
™ó_ÿªò[¿vôö›§cÓÃ}òX¬²/UNSCOÜÿúPd-©ÓêõI Äú{ ú•�-õ¡,@êï „¢:”ý´|ÉŸ'шBÔƒhý›‡"ÄÈÆh²61{_ïõxcQil`e2zloâþ;nÎþæ¯>øõ{6—`%£=V•C(èÄýkb¦˜Í‹Â?º¦èRɐKºR"¿ÊBe�ÓP à&,±��)ÿΟƒµ�@ä"À†5?íÄ?y‰A4åÏ äþá& ¹ºvb›êÿõGӏBë
+
Y|P!ëß ¸¸¸^Yq�àââz…uõ ðÜömÁèþY��¿ö ²°À�èÒBê:ë=:�L"b�8Hb%Ùr `�À��ò.X��` ,òC#XSE]£A.E"ÿL–h%gªZYÓ}Qô ¹æòÂS™¥Ë¾³þÙO-¼ûß‹‹–öÈ£Ôß·Sûm÷?Òÿƒ^²}]šñN��*ÚIDATÔú¯µ�úh¦¿eýƒŠZåëkýÉX÷Oþm~,ºšJ6†‡¼H/åñ˜2øF¼ç¾·Üª~ìÏÝs÷³¢t*_°³¶ (Å¢(Kb1W*f…¢¬kä— ‰SHX*E âþ S6-Å´Tö�w{uº:©ÞJÿã �¤ÿYëîÿ–¶,ù"×XöÃVþ€ûÇ;˜¢¸ßX�{ÿ÷ÿôV�Øtým…¼>>/�¸¸¸¾â�ÀÅÅõÊ+Ä�hhÐô\™Ð9¡õk…î?$.¶{‚/´7w±AlA˜DÄ�d�¶ˆe€z½J‚`�^й@žÁ2@€–ãxä BÁ¤ ZúB‚VÃËŠ¡¨Š Jù¼% eMñ ™æÂÜSBþÅ•ùþåÿiýÙw½õè­có“qylØJE½š~ôèPÐñ’ô«Ÿ uA„à ÚÑt÷Rß_ÙI¾6ã´{x}¨u¤�£Z�Оõt ºÑf2áEûÝøÀÚþ koj~4:ûÆ=ù¼·ú¹O]8|ÿãÅâZ6_<1›_ÊzN…üÏ‘ÿo“ž}–c“߀ªHr)ok’£‹$,K²lÕr5ËÑÉ/Æ
+
�°Ù—Vüw�(øAAîpBîÿÁ–6Ëý�:O�:Û|»ÿ„¬?n`¸ŸY�xŽa�|.^h{}ö©á¾Ÿ‹‹ëû'�\\\¯¼^�<×1¨«û'
+
/Ö~Á5À�`@@tW@P̽‰, ´+ÂDÀZ "¶%�� ]To4j$È\CK�6oí ¶=·êØÓp Ã2ŒàL€zcZû®I¢&Étï•"ë²@B+æ¼R¾¼<rnæ©Bæ?W¦ýÏýùw¼ùž[Ææ÷Ž&’Zš`@ÌNFýuÿAõ?-臚þ úèœÐÀÄCaOPÛÓ>Ø’þß’û§‰ÿVÝ?ýÇÛM‘j*ÞOªƒ»Ä¡>sÿøÜèÐ}{Ò¥ÿñ ¿ùoÏ,ÏŸËåíÙ9#“/[ž¡;Ù\©T4EW$UE•`Ž$(r©Qu]CòLÙµdÇÖWw<Óòm×÷��p¹/qÿ`ú·�xQð¥÷O^¾mÜ��÷ßµ€DÈú#p¢B7aÈý‡� “Bî?(üPqqqq½râ�ÀÅÅõ}zš®<Â�$tQ¬¯Âk¤b¿05 î�À2��@¨.( ªNÀZ ö Z8€ÀÆ�À€ö!€m;–Mwè¶E§]š ˜ ¤©²¦Šª"`hRIά4Da£˜]Ÿ9òtvþñûî*|è·¾ñÖC“©å‰´¶oÂOZ‰ÁJ¼¿ÝÕHõûÉžrjW}¼¿6Ñï§w¹‰]ˆwÆþЉŸ0<4¨þ§3‚Áÿ´ñ—-(ª%«Á°ÑÊð.o¨Ç‰îtFzýô ØwCãæÑµ7ßšŸLÜë›~óšŸüøs‡\˜Ÿ=É4J¢#Ɇ¢ÒÿÍ04SSϨ¦J«žH´=$ÇQhØšëèô—ã:¦ëÙŽçºt½Z¨ë—š~X䫭P³/œá õè!òBƒèˍY¬ù@ßß®ÿy”uÿ3�°Ý!ÇâýŒ
+
�+–ÂÏ×+-�\\\ßw…� “žï†Ïv�(�—Û' €N.Ä�ì9�b@@!`3��@'�¸JÎש8vÙvÊ�š­–N÷`‘Ф�DBjš¡‹¢è©ZE–Ü•ù‡¥Â‹†ôÌìñʧ>¹òsï½oïžÃÉá•Ѹ1™ªŽÆžòðngè&#ò#æà8±¼Äåt_›ZMP)ÔþlÞl&&RîùÿªÉÝÕXyýÆXììÍi?5 í°öŽ,ï¼'òúû¦FŠïÏÉ¿úô‡î}ZÈod²•RÉ”ƒUª®h´Ó—Ø}Æ÷a*$tK¶=ÝqUÇÕ=×t©|Ç­¸^Õ÷ý® ߏ�€+~Y÷��¯ ëþÙÅp¡|? ¼O‚²ŸÇp¹oW÷Ê÷‡nÎN÷·t§õÇG�„ÆòÜ?×÷_�¸¸¸¾ïB�1@Wx¾ °$€™×�€X N.Ä�úÅŠ ¦(èá‡!¼Ô9@“Dˆ0°"ˆ˜Ü²ãضiÚ �àŒƒ]5ʰ=L3ÈO%Y%×61ÖÙu~º¶¼ððòÒ÷²Ùó_û7ó>2ÿŽ·>:Ô'&‡ü±áj:ÖL®&ûW½kI•‘vô†`Ü'@«U�Š…��hµÏæ4¡ÈÚØP3Ñ·žè?hÄ#Î@¯ë“G‡ä7NžŠÞ{[ZúàÎÿû?>½0ýÐÒ¼??çKº¬ˆ)bÑUE£0cè’Nì~¦¥’0,Uw4ÝQMO·|ÃõLôã•}¯î{5BLÛUûëîŸZÿõՍ“´ßþt-ûaÝ?Å>fϺr?l5ýüb;¶¸,øÁ;ð©­µþ(´þ!Óÿ|·²Ÿy­?×\�¸¸¸~@êd€ \�:�YÀØA„0�OHIb*d��€é 0`•‹Ð�Á2�²W¥M�‰²CÇ\:AspkL­µ&&ü•„ªY2qÓ²J~â¹¶! ÚÊr-³òX®øôÒʳGùû/d~ñ}÷ß25?•–&ÓÅhŸ5©&‚ea=k‰]Í‘žJì&ZðCÓü­^á ¬Ÿ¶3@{q PÀ�´@èÌäˆÓ÷º“Ã}O$œ¾=Ú_¾yOqßÄwF¿ëMþ'ÿðÉû¾ñlq霐­g3f.GÜ¿¢ê‚i”L#˜ðO™†Lì¾æǯ™6´ùꆫ¾A‚0€C�Àµ �”½
+
€²_'¿ª®îÊ~ÐýëOâÔ-úgsÿ�l��À�Xü °]­ÿ6îÿ"ÞNxƒ±¹ÿN÷·k§õïôýø8„Ÿ...®ï¿8�pqqýàb€Ð·h’ÐH=»Õú¿\ @W·„Hà\ À�<
+
è< �ÓyŠNZƒ� `+‚؁V]ñµ¾Óôœ†C1 b»$|ÛñíÖÖ[€‚$ݦa¹–åH‚,K´‡Øq‰£nèz#_:›+<Q*=›Y>ÿí¯»Ÿø£¹Ÿ|û·cƒ™É u<m§ãv¬Ï¸±½i=Ù{jŒò�Mó?ðú°˜n Àíö_­Æßè.:” ÂPÄŽ™{¦
+
ûöޝNÎþÜ»œÏþé¥c÷>YZÞÈ/{¹eO’*¶­)*ýȦJà¹ÃRU_'a¸¦íÒ6hù¿õMÝÓMÏp‚?ôTÄ«÷�@~K�°Yó¸býOŸ:I¢Óý#³�t„Ý?[öƒ€�€wÔ“ÛX¼'Áý£ïG돷4ˆ[..®kD�¸¸¸~ B÷ƒWtõ�€ß>Í0ÀSð$mn9¹N 耀¨€¶Ã�<
+
HàäÍC¯#„*‚Ø¢ Â�õ²KÃój®O¢ê”+¶_n5´¶†Ñ°ˆg¶HغAþ.ù*–Q”ƒÓ�Y¥U×óKB-—;+ž,fŸœ>²þ·Súµ_™¿óG3û÷&’z:æ%#åxO5¾£‘ØUi@0ܳµ8ÊŒÿ¦¶†~í:;•¨ÄŒ¡ˆ¶gòÐPôÛ£iñ7ýâwþ㉅ãÅÜF)g²ºTÒ$‘ü·YÝã E>ª¥Ðl]wMÅ×µ²AÜ¿ëX­Ú'×u<Ûô¬Vúßsj¾GÏHªuÕj5äþ¡ò‡µþàþÏœÞ ¯ëþá•Bë*®_tÿìQç �ú~Öú?µû�èLù³Â[îüð³ÁÅÅÅõƒ�..®´®`ýÁ<±™Ô  :à©­£ž¤G—B �Ðyж†T!ÀŠ œ¡ÍÁ'!�:k(�4ª•Z™ÝP¥#.ÝZÅ©ún™Øâ’‰-6\Z'å@ Evu½æºÄ%†NËÑtºOXD¹˜3‹Ùf1û¸"}O(}ozºðÁ_Ÿ}ۏžJ-ŽÅ•±¨1²ËŒÝäŽìði3�-€F°˜�êþã´€ƒïqýòPo1ÏÜvó±·¼Iù臿·8ûLnå\!·.äiS²iÿ$S§}Êž¦Ttµb)ž­ÿxÝ1t×Ö|GõLƒx}Ç)[NÍòI”í Âs|ÚìëªU=‚F•f•øýúÖ¢,ûÁštÿgÏœ"q…ºðýp¤C^Ðö+»Y÷Ïöû25?— <’¹ôý ¼ñ ¹¼½CH€??\\\\?(q�àââúA+�hŒBþ ®C0€§€¯!¸L›ƒ©™ëd€Îô? � °ý9À �d�Öý³�Ô¹Ð2—J¥V!W^–¿·À žÀÖlKkV+–¦;Mü?¬ÓÒmKPdIÓ5Ët}Ç2U½«³g ùGæf¿g¨gÿá ï{÷‘7îß—\Ò»­‰;E÷‚sß.÷�  @1 ÞG—Óº :ìßNEÌñAal°´ìèTúÀ¾ñÌ>ÿ=Eº°¼ô`1¿Z*÷k‚$šNþ#}]­ZÕVË6-]¢ÿ#ž£—]Ý5 Õ¸tì�—D™&ýÝ2ùߦµþ^½æ7êåæjµ¾Þ Ñè:ê§#÷�x¥B¾Ÿ�»ŽMÿÃýÀšþÀ÷?ÑŽmÝÿÓÛ@Èå¿Ø�ü[øwÃ×J�¸¸¸~hêŠ`ðÍSˆ@0Àb�6à8—öt –pgðc¶€st€Lë�,&`��¶œ
+
úƒqHh0'”î n´µÙÐ
+
“B«Á_pf¨çÚ­h Ù6m° ؝ DˆÀÔm]qt¹¬Êëbé|!wyeñ™ã‡NþÝ_Mÿì;¿5;:>(î1&†œD?õë¯ õ­%¢'S1hw5mŒÇëÉH5ÖÛÙÝÙí÷š£ÆmééȿÆs¿ñ«OÞsϳ+Ù‡³ˆZYE2U‰Ž*24ÚªœT8´¨GwlÝuhe?­ø§cýiJñƒ­^°Ù—ü/¶Z¢+>ùв((‘jÖHÀo‰îXn6Wƒ-¿ðËÄBÿ6wÇ_Ñúw&þAø²âë~±½ßo Ü0p‚„·ÓSÝ6û>Û.úÝ¢p½y7¿ðBø¾çâââúa‹�×M۰ߢ»Bƒê
+
�È���AÐËc�À���d�¸�ëÏÀÁ€ h ÆA0œ1`5˜Z(ni¿Œ·¯U[S/!`þ=xe�€`F¾Û²ÿ�lN
+
‚2�LØ4O“ë¥â™|îR)ÿÄÒìé¯ÿ“öG:ñö;¾=¼ke*®NÆê{S͉ag Ç@31(õ¾ÎO Ô’ƒöàw¨ÇOõÛã1e_ò‘×;ýMÖÇ?úÈw¾ñ¬(<"ÉÕL¡®Z¶ *m[êþƒÿh` áÒÿf¸™|ÅÕÈ”‚Ü?±þ��pN4NPßÏZøe’_,fú1ëÖÝ?¼XðzuºòÊnçþñ&ybëÀŸ®î�oE¼?ñÆ{øE>ן‹‹ëš�..®¦B À
+
½ƒ�T,�tb�š6"4s]�1 ë9�Ë�烡p€G`@Á’B~�$€§PÔ¾Jœn€, � ° @ke¶� ˜
+
àjYSk¢xZ–7Õç•ÒSÓ‡ý—Kïÿ©ÿ¿½sûäÊëøŸÀ3$›Íe&™Ñ
+
žB„"xB¼°OˆËÓJˆ‡€ÄÃ
+
!Ä#¬ hYÄ&°$»IØÙÉÜÇv»ïW·Ç3¾Œ'ž‹'ã¹xÆcNõ×õõ¯~§Ún'3žîö÷£#«ººúvê¸ûó=çTÕ~ùÅÿx቏=1õÊ×+/?Ó<üÔÌ᯵_x¢uø©æ‘¯×?]yñéêë‡Î½~èÓWŸÿàÍÃÿûÎÛ³ßy÷þß_?s|eòlëä‰é“§j¥òö©Š²…ÞOõç¥ ý,´Œ„ÀþqÌôL¨œôþܳ|2�p4¦_Ç?íŸÑŽû}5kÿVúcïÐþ¶õ¢Uûæ.„Á€b(ȍf�Ê™Ë�°1€I€.ÈŽa˜°@ÑDöÏ¡�(© ÀÇП=ÛíôË�.ÔzÓf,i
+
HÎÄ÷Ä¿{g ÅqÃA¹«…bcb¢súÔÒé“w'ÎÜÿÙ§7¾ÿÏåoÿñ‡ï¼ýƒ#OôÒS¯=W{í¹ê¡''Ÿø¹ö‹O—Ÿ²ðÜ“…Wž;õÚ¡÷ÿâ¿¿þâ¿õ͵ï}÷Á§Þ9óÙÅã?mž<V<›Ìó©”ùº™s™��ûg�€ýÃøs¦ý¤öÓ§v»ÛëÛ?–sÕŸýýNý±g­ú³1¬÷[éÖûAlÿh¥¶é*�!†�!Ämra€1À&JXn¸Ý?0 ¸À$€ �ƒdGò
+
®–¼sii !¦€£ÀŽ $1 O�À–9/¨žÌœI¨ôHƒÀv_;J©<J’J…s…ér¥Ö¬7ê“SµÏN,ž9·6U¸sâøæÑO/þÝ_ÿÖï|ôÖ7~tä™OŸýùs‡¾V?òLñÙ_¨y¶ðÊ ?{ùù^=ô÷~õìþÁåúîæñ£7OŸ˜?y¼yêDkzª^+•*E{:ÿ�ìý}æü ã¿ƒƒ§ã�€(jr1íƒzF÷?ö…µ?úcÏ:õg{pê϶bïÎþ-ŠBˆ!G@1t<ô À€$@ü"šd3ÀÕ4„Ž� 0 Žp@Àf�œÙ&Î�Xæá
+
¨Ò0°¥×Tír¥€ìüôĹÉb©ZkT§+ÅÓ“­3…ù©ââÉ3wÏMÞùäãµïÿK÷Ý?ûä7í½žþøð3So¾\xí¥éo¼òÉ/=ÿÞËÏôÎo´þòÏoðŸ›ÓS—›?uf®P˜)—•òôôÔDqrºZ´À†ØûQlŸ9?É•‚ú§çPÊ·;áõl'ýÛ¾çýTÀïg“°À˜¿W6< ›¥m¥
+
�Bˆ!G@1t0�0P­�õË€Ü �â �vÍ�ÔJ À5?O¯Ì$@Ó9*¹�ç³??;Ã$€ ]±øC„S’KÔë½ °u² –Jý^A˜˜:W(?Ÿ,6§«ÝbcvbzálዉÂfajó'-þíßœýýo}øö[ï9üã7_}ÿµ—þí#ÿóÛï4¿óW7ôÃ'Ž]:sjö̹n¡Ô-×›åjr¦ÿÉÉb±P©%S€hüÖõybw€oøËþþÜ9?´\O •Äi?ŒRìò· ŒÉpöϪlÿ �·û\Ü׿]4~ ïB 9
+
�BˆaÄ€v �·³€x³à �„€0�`ÒÐS�x$@àâ…ó8Ÿ½‹ñ˜ÀVH1I ‘ìL ¨™šíÚt)‘õ䣥Pb£6Yš)V럝8ìØúÔäf©´ùñOjñî¿~ó×ÿþWþáWÞøïßûÝåïýãfiâöô¹¹S'/”J­éb­TO™œæ§Xo ¸»íì‡ú»#zÝäþP섬ßÑþgÙåõ·Ó~–z®´ØýÏ `rí?ÀÛ?`kA+ʵÛüpSÞ/„9�„#C¨b 7Ø�`¡Ò ãq�€�¿´I�¡Z1…°2 ls1É�ˆÈ�(ý¦µRLØê_g@�À, JX®ÁÑ{“ƒ’3 UËÉ)…ʵééæÔÄì¹³—Μº~òÔ­ÏŽ­ýéýɽÿí?½úñ‡wŠg»Çþïbq²]žÞ:ûP¥†R©U{%¹Åa{VŸPœ÷s’-Öû1áê *ÇêÏŠ¨mz?÷È•¨ï`µwÈïÓ~nE3ØxlCŠ“�€ýËû…#‡€bd`�`pBFQƒ·Ñêr3@¿�g�P79�\€¼¢ë:3)èâÜ®€Ç$1 Å$­¾vÆ�tõ‡”z%)AÐ{—KލT‚ÿ÷N,Zª” õRa¶8}±0µ81¹|öô­rqþØÑõnëJ«R={²Ýè'4«ÉåzkÕäyÃ뵤4*¡Ô9ó|âŽ�H¿ëò…]þTÿP.†ÊÉ›óú]Ξé?ÐÏþ±×v°ÿµÝæý³±E±±Õ±ï_ö/„9�„#ƒÄA�hl¹À%ê 1ž  •¹1�&й@ \@ØÎ�óBq€ ðÀ€$¤˜$°}@íVhV¶J£Vë,rA«VoVk¡4*ÕàðITh”ƒÏ×k¥v­Ü­UfËå¹b±;1Q:z´35Y:}râô‰po±<ÝhÕ$³ãy ÚªUZµð7Ü»>§÷ÄÀJ¿íõ·Òßóþ (Öþ�¬÷³ª9Ã=r5kÿ܉P£ý[°¸�€6Cï·íŠ-´=Þ”ý !F�!ÄÈ€�›îG0�r3�z‹×ÓKØp5{ªPÀåÞŃ�æçç.†bc� ``@$�4[ÕV»–”d} ™=Ô®7:µPj=o/·šÕf£2@È ­f}¦Ù˜©×ý ÙÅ™îµÅ¥ NXî*LMpx!)­:J½ÓÅJ¿íãÕÅNòqýôþ…P!iÁ€‰µ¨?kx%{e_@ï'®ËßíkÞdcȵ�¶.49?oÊþ…#Š€b”p`£ÏP�ìlàP€V.ã$àbÀŠ9M�ì?°´¸UìŒ 7)3‚,ƒ�Lši›ouÍDÚë•N½<Óªvš•v=)Aô»ÖL½By²Ø(”ZÅJùìdsºØªTjÅ© Ýv§Q ™¡ÝJŸÖx¿³|�+ývõ~H®ú/†
+
騿³tùÇÞ5RŽØp‡Òõƒ¨lÿ®íÉþ…£‹€bĈ3À†‰Ì�è·£ �\  Yº`€Í�0×x
+
Ðò¥ÅKK ¡00ØÆ€n·;“’D²9å&)°ÿž©wZíns&üMO%<¾J�Õ`ÿ!„l¶ !¡So/œŸ¿Ðé&cåÊ|»³Ð™™©–[ÕÒL³¶eÿíZ¢ûíäI{Ï›�âYþ(¹]þfÂOÆþ�8ïŸs~¬ý_Évü;õçÌŸ¬í{¸ëaÿ �ÎþïE`Ãd€²!Ä(£� „=(a&äd�»L½»»ãف\@ °Ól ȵ�d�Ä€-¯½´ˆÂ Àà&mÍJÁ%rl:wPðvùN²¾uèp§Þl×’)>í
+
J{¦—’!‚VOÚÏwšçÛÍn«Ñ¬÷¦÷Ïušó³‹ÝvPÿâôDظ÷ F2”ÿÖa ‘÷;édΏ �6Xûgß?q @õ·ööW¿}Š›Îþ]�`ƒ!¹1À·H!„)�„£Gn�ØH3€S7Þd°` @¹t€öÏ�`Ø‚a –Ba�Ø5àÛ×››ãq´î$ t“I?ˆvòwËþgjÕN¥5ÛlÏ´0‰¨ÓéÎtæ:í¹vk6Ül¶ª³ÝÎÅÙN39Ü·^4<[³ÌøG±Ày¿;À7ö~�vÍ�°vÿ[û_É›”kÿ6�pW‚[{ìþ·Ë6øæ(„£†€bä±a€®F¨q.�ìý�qXmµI`9ØÿòÒ¥�.-.… H0œØÎ•· ·¶ö�`ǶoÎfJ§ÛæT¢³(霢N"÷íä/Ö$3Žº[¥Ûã¹ÝÿÝì\§ûq7oªÏ*!Ô
+
¼Ø:D­²’Yí.�pÊöZìúö&¼ŸöŸëú¾ !ĸ � „yÜ€À¶û÷ˆ�€üÑYí߆f¹C°ÀŽ ¬˜ @Óu€–Ì®ñÜÀ.v7`’@>Yûßfë°‚ÜË‡Û Hn¶Jìý¹üPÿ\û¿|ùR(±ý³Ë?×þ­ôs¸&Àç2€“~ÀæÐfÔÓ/„o�„ã€Ë�. PïœóÑ!…ôE‡dÀ‹”TNVa €×Çu�…~ìb€ v@`ç<à
+
»ê÷Zœë»I>6¥äz¿µ;âaíêo€UàìŸÕΝb'ùÜêºOîîõìy~ØØ`�„㍀b¬p1€JGÉ£üñ&Ø!�X­\‹Ž p1àúNWÞ–ÝÜ¡�—ú ôK¶WÞ–8 Rvõ~÷Æâ�àÔßuüï_FqêÏjdŲªQó¹öo÷Ôž�›
+
o[B1.(�!Ɛܰmý)TÿG�€“Ë�‡l Xíå`šnn °a€IÀåkØq0˜»0óPÊù¹N(X¾p±»]�6ºìEý/‡«?jÒÖ-jÛMûáá>‚µ;(7XõGûñ­J!Æ�!ÄØBŸÛ,Øã,6�À/m�°1�I�ÝÕ.\MN47˜l°sfâ$à"Á–…ÏÏæ–ŒÄP¬÷óIæ2Çøòuôó­ZïwêOï7êÿy(¶®ÜœV¯­ó\ûÖûÉ΀Mö¯� „c�„c‹`//U7¬,Zrí-:0€’Ê)+°XÆ€à¸.¸›lˆ“@<0x±oKn7?_‚7]O¿s}~Þtÿ¬
+
Ø?�+ÕèìŸÕn„?cüÖûcéwÞOœý+�!Æ�!ÄØb€5~ž»k[ù³XÑtêOlà €Í�×’ƒƒ͍3€K4f«Ñv@ ß@¬òVÜãoé¶çûZqg®ß‡b?…½—5µÿ[W¬À~Ó~®›Ÿ®ïnöó~»÷¹Ì¶á“BŒ
+
�Bˆ}ÿ¦w8Áz$kÆa€ËAO¡þŒ6 \OÂÀ•P‚é†Bñe$ˆ\p1 .{e¾‹}ˆ_Ñ–xÀ†\é‡÷÷Ô?©[WvÆ?A` °û"7 `oº½Œe¶€oB1î(�!ìò¿¿Ûف\p�öÏ•È�VX]€æÆÀ Ø ›bùFñ¾>¤øíRâW´êŸÛÙïìߪ¿³�œýÛ^ºˆµ�ìA»[ógºü}ûBˆqG@qà ü¹ `‘+\ ôÓ>qzjc�\6MW]`p€ÞÌeØ×îÊÃb©ñ+Rýs¥ßÚìý‘ý_µuÅ
+
ü"½²¯«m·/vµÿ�÷û†Îó#„8Ø(�!¹�8hÿ�ÄÆ�ۍ5XæL&�–Ü¡�&¨sîøÀçÙ¹õ¶\Ú#^ðSüv)ñ+¢Xé·ºïÔßz?ÕßÖ‰U[‡±úÛ½`½Äö}jü_@q Q�BP\ ØÈP"-TLH'úû Ã�ç«PaÓp %7Ø$�u¶+éÖ¡Äs„88ðPJüÌ;ûÞ¬ëÇêÏþ~«þ¬§þ¹Ó~bõw;ËÙ¿…{\1@q0Q�Bh €H÷ûìVÒ8o§Ó~œ§2D1à:Jn ˆrSÁ%Vó {î,ñ+º¿SÛßOõgµ8õg5F,�§þÜM+ý
+
�B�„›¨‰N"¹ÌT�õÄD”ØP¹.›Æ€U—\€÷ïÉþCù|eiOeåÊ¥½•èãg€¸Ë?ÛëOû_¥ú[û·•i퀻#wgÅÆäýBˆŽ€Blg��M¤>j%¥+9@=íŸV÷š\�@O¼]oKrïJoFþ`“ç„Öò7:‡Oæuóöå'²öÏOÙÿj®ý; þ˜ü“kÿvOᦼ_!
+
�B± ìß$“�WÒ;×££0 `—äsÜ{à˜à-rW^.$Ü»–ð®|þÈþöe¥–ùV×ÓzòÐ^ûIy“3hù �€Õx;{¶î»¿bã—ô !„C@!2_„GB%y37�¬G×
+
tVz­
+
H0J¼Eœ@œrÉjùÃÇ¿^¾I¾íØþéúÀuù³¢nåì{gàã}�„bg�„Âó 7@}dÈÍ�´ÒÔß .û¶™\ 7s91^É6þõRú¹¾]c½ŸŸb«‹ÒÏŠ%N÷ÝMî&Ù¿B쌀BìÂFŸ+jn� ïºõ¼Ëʱv W®æ �/æÿz)ÎûÝgáÍÜþ~ÖÉíôXj¬D�pÕË
+
ç.àîý !Äà(�!Ä.¤3JüÁ�€Vjc�¥Öº~¼ÐŒ:Û•4ìÙQ‹ó‡½¼=~
+
ÂȏLX¡f¸n2 Võ‹÷4óG!öˆ€BôI³Ü,@XMýìß.Óøéͼi3ÀPáÀ4¤ÚŸ€ˆÏž»’u‚e�x?+37�8ûßÐÙ~„b7�„¢/° ›q °€ V^™âÀ…µìh�þÆöÏ•»Í£À¿^J¬þÀZ>>&è·žuåÈõþ{ÙKüJý…bp�„b‹Øaü6�ôË�ÔS«ªq �.�
+
±Í�zŽvnà°Û?
+
üë¥8õçz~¢µìT·’¹(®7°ÞGú w€B Â(�|¹ûµBñ˜°jc�mÕél?Ñç¥ÙÁî3þý}YìgúÛtd½ t¡>‘ô[0* ’1Bs=›ÙpØÿ;?!¾#�ðn׸o!„Øgð-¬”¸�À `»ÿoG#�ƒã…úqãßßÀÄö'šð³n�¸¯�0"Xõ¬÷ò›ýá~Ð;Ç®yD>ÜÁ4<-×ûÇ 1L˜&œÁo÷eñÏ›â·K™�¾8ô¥/„Bð%›ªê½§Qy½ï†ð¿ÝÃÆ¿^Šßn7¬ý£N*
+
u¸‘ÍWp>¿ĐAÿàÿ—ífÏààâ9°C†iÂüv_ûañÛ¥ŒL�ÀoÀƒô€<·B<&ð%n¿pá©qˆ#°Blñâ¼þñ/þ)þ}¤øÇgÉõ~`«ëžöAR·Éü_ð.îʝw"ŸÄ¡6 F‘l+ÞÆo÷e±ÿk¿]ÊÈ€ÜÏ~<ü*!„Ø/ðõÍïYë©€
+
K£íÿntˆ0ñʼ^À÷ ÿ>Rüçɏoë„˱ýo˜î^à÷‡2°›øö&÷ZXÆî¾¿÷)@Ào-Äpã[pŠßn¿™�×QøýX^^v+…bßÀ×w�ì2Eö^žý{)þjxÜø÷—âÔ?®®±Ujï§Ø©ç<{6÷.·R±ŒL�Øì ¬­­Ý¸q#ü*lö¾8®_¿î7Bˆ}Ã$àò�uPséÁ{Å õ~áßGŠÿ¿!×õã5D` XO/ê|¿¯¿b¥�~Nfgg¯^½êïBˆ!À%�ÜMJ°·ãnàðÛíþ}¤dcÂ6þñ)| «™Ü•À�Tµ½)†Ÿ[·n-//w»Ý¹¹¹k×®ÝïØã^¯GO±Ï ]�À½]~nÞ¼¾&ÖÖÖ®ôIÀn „C€Ã­…B|�±ºï¼ŸõæëW!ÄWcè€%ü¬®®.,,t:Í^6¸Ý›TªŽ!Ä0cœ?ÕÖá¥xܱÒP?v¥­7_¿B!¾C�œÜÝ_YY™ŸŸ·+‰~„C&ÅX©µÐƒå1ƒŸõc>ºN÷)„¡ �ømp+7òD?~­B<nh´|k ŽçqÁYþF*ú¹öÿ@@!6C�6û˜½]£Ÿ!Ä(Bß
+
ñ˜Ñ/ØeÙ¿B<:†1�lö¦ûãç?�QBˆ‘ƒRë õÜP€¿[ö/„˜! �ø ðk…b”1ρ}á¿Ý¸€Oë¾ì_!ö‡a �øÈýö·+ô~E̝B1ÔPmë7øíÆ…~–¯� „ûÃ0€‡Â=sm‘Š
+
B!„b¼ˆ{L6ÌñT;ô¤Œm��q½!„Bqç�¼ów!„B1. ×ð.ïq�wïÞ][[S�B!„ã
+
º¼ƒ÷Þ»woÀ 0¶àfPö`�!„B!FLqÇ\ÿÀúúúžŽwÛ�°ººº¶¶&ûB!„ãn¥úã¬q¼|–@Æ6�ܽ{wOIH!„BˆáÇe�&^f‘WZôLÛ� „B!ĸÂÑ�ÛñÏ`°óh€€B!„�!„B!
+
�B!„B �„B!„8@(�!„Bq€P�B!„â�¡� „B!Äâÿˆodç7Ò����IEND®B`‚
\
55. File addition: "chat_analysis.py" in "wxdump_linux/analyzer" "UTF-8"
up 0.204905, new 543775:543815
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: analyser.py
+
# Description:
+
# Author: xaoyaoo
+
# Date: 2023/12/01
+
# -------------------------------------------------------------------------------
+
import sqlite3
+
import time
+
from collections import Counter
+
+
from wxdump_linux.db.utils import xml2dict
+
from wxdump_linux.db import db_msg
+
+
def date_chat_count(chat_data, interval="W"):
+
"""
+
获取每个时间段的聊天数量
+
:param chat_data: 聊天数据 json {"CreateTime":时间,"Type":消息类型,"SubType":消息子类型,"StrContent":消息内容,"StrTalker":聊天对象,"IsSender":是否发送者}
+
:param interval: 时间间隔 可选值:day、month、year、week
+
"""
+
import pandas as pd
+
chat_data = pd.DataFrame(chat_data)
+
chat_data["CreateTime"] = pd.to_datetime(chat_data["CreateTime"])
+
chat_data["AdjustedTime"] = pd.to_datetime(chat_data["CreateTime"]) - pd.Timedelta(hours=4)
+
chat_data["AdjustedTime"] = chat_data["AdjustedTime"].dt.strftime("%Y-%m-%d %H:%M:%S")
+
chat_data["CreateTime"] = chat_data["CreateTime"].dt.strftime("%Y-%m-%d %H:%M:%S")
+
+
interval_dict = {"day": "%Y-%m-%d", "month": "%Y-%m", "year": "%Y", "week": "%Y-%W",
+
"d": "%Y-%m-%d", "m": "%Y-%m", "y": "%Y", "W": "%Y-%W"
+
}
+
if interval not in interval_dict:
+
raise ValueError("interval参数错误,可选值为day、month、year、week")
+
chat_data["interval"] = chat_data["AdjustedTime"].dt.strftime(interval_dict[interval])
+
+
# 根据chat_data["interval"]最大值和最小值,生成一个时间间隔列表
+
interval_list = pd.date_range(chat_data["AdjustedTime"].min(), chat_data["AdjustedTime"].max(), freq=interval)
+
interval_list = interval_list.append(pd.Index([interval_list[-1] + pd.Timedelta(days=1)])) # 最后一天加一天
+
+
# 构建数据集
+
# interval type_name1 type_name2 type_name3
+
# 2021-01 文本数量 其他类型数量 其他类型数量
+
# 2021-02 文本数量 其他类型数量 其他类型数量
+
type_data = pd.DataFrame(columns=["interval"] + list(chat_data["type_name"].unique()))
+
type_data["interval"] = interval_list.strftime(interval_dict[interval])
+
type_data = type_data.set_index("interval")
+
for type_name in chat_data["type_name"].unique():
+
type_data[type_name] = chat_data[chat_data["type_name"] == type_name].groupby("interval").size()
+
type_data["全部类型"] = type_data.sum(axis=1)
+
type_data["发送"] = chat_data[chat_data["IsSender"] == 1].groupby("interval").size()
+
type_data["接收"] = chat_data[chat_data["IsSender"] == 0].groupby("interval").size()
+
+
return type_data
+
+
+
+
def read_msgs(MSG_path, selected_talker=None, start_time=time.time() * 3600 * 24 * 365, end_time=time.time()):
+
"""
+
读取消息内容-MSG.db 包含IsSender,StrContent,StrTalker,ype,SubType,CreateTime,MsgSvrID
+
:param MSG_path: MSG.db 路径
+
:param selected_talker: 选中的聊天对象
+
:param start_time: 开始时间 时间戳10位
+
:param end_time: 结束时间 时间戳10位
+
:return:
+
"""
+
type_name_dict = {
+
1: {0: "文本"},
+
3: {0: "图片"},
+
34: {0: "语音"},
+
43: {0: "视频"},
+
47: {0: "动画表情"},
+
49: {0: "文本", 1: "类文本消息", 5: "卡片式链接", 6: "文件", 8: "上传的GIF表情",
+
19: "合并转发聊天记录", 33: "分享的小程序", 36: "分享的小程序", 57: "带有引用的文本",
+
63: "视频号直播或回放等",
+
87: "群公告", 88: "视频号直播或回放等", 2000: "转账消息", 2003: "红包封面"},
+
50: {0: "语音通话"},
+
10000: {0: "系统通知", 4: "拍一拍", 8000: "系统通知"}
+
}
+
+
# 连接 MSG_ALL.db 数据库,并执行查询
+
db1 = sqlite3.connect(MSG_path)
+
cursor1 = db1.cursor()
+
+
if isinstance(start_time, str):
+
start_time = time.mktime(time.strptime(start_time, "%Y-%m-%d %H:%M:%S"))
+
if isinstance(end_time, str):
+
end_time = time.mktime(time.strptime(end_time, "%Y-%m-%d %H:%M:%S"))
+
+
if selected_talker is None or selected_talker == "": # 如果 selected_talker 为 None,则查询全部对话
+
cursor1.execute(
+
"SELECT MsgSvrID,IsSender, StrContent, StrTalker, Type, SubType,CreateTime FROM MSG WHERE CreateTime>=? AND CreateTime<=? ORDER BY CreateTime ASC",
+
(start_time, end_time))
+
else:
+
cursor1.execute(
+
"SELECT MsgSvrID,IsSender, StrContent, StrTalker, Type, SubType,CreateTime FROM MSG WHERE StrTalker=? AND CreateTime>=? AND CreateTime<=? ORDER BY CreateTime ASC",
+
(selected_talker, start_time, end_time))
+
result1 = cursor1.fetchall()
+
cursor1.close()
+
db1.close()
+
+
def get_emoji_cdnurl(row):
+
if row["type_name"] == "动画表情":
+
parsed_content = xml2dict(row["StrContent"])
+
if isinstance(parsed_content, dict) and "emoji" in parsed_content:
+
return parsed_content["emoji"].get("cdnurl", "")
+
return row["content"]
+
+
init_data = pd.DataFrame(result1, columns=["MsgSvrID", "IsSender", "StrContent", "StrTalker", "Type", "SubType",
+
"CreateTime"])
+
init_data["CreateTime"] = pd.to_datetime(init_data["CreateTime"], unit="s")
+
init_data["AdjustedTime"] = init_data["CreateTime"] - pd.Timedelta(hours=4)
+
init_data["AdjustedTime"] = init_data["AdjustedTime"].dt.strftime("%Y-%m-%d %H:%M:%S")
+
init_data["CreateTime"] = init_data["CreateTime"].dt.strftime("%Y-%m-%d %H:%M:%S")
+
init_data["type_name"] = init_data.apply(lambda x: type_name_dict.get(x["Type"], {}).get(x["SubType"], "未知"),
+
axis=1)
+
init_data["content"] = init_data.apply(lambda x: x["StrContent"] if x["type_name"] == "文本" else "", axis=1)
+
init_data["content"] = init_data.apply(get_emoji_cdnurl, axis=1)
+
+
init_data["content_len"] = init_data.apply(lambda x: len(x["content"]) if x["type_name"] == "文本" else 0, axis=1)
+
+
chat_data = init_data[
+
["MsgSvrID", "IsSender", "StrTalker", "type_name", "content", "content_len", "CreateTime", "AdjustedTime"]]
+
+
return True, chat_data
+
+
+
# 绘制直方图
+
def draw_hist_all_count(chat_data, out_path="", is_show=False):
+
try:
+
import matplotlib.pyplot as plt
+
except ImportError as e:
+
print("error", e)
+
raise ImportError("请安装matplotlib库")
+
plt.rcParams['font.sans-serif'] = ['SimHei']
+
plt.rcParams['axes.unicode_minus'] = False
+
+
type_count = Counter(chat_data["type_name"])
+
+
# 对type_count按值进行排序,并返回排序后的结果
+
sorted_type_count = dict(sorted(type_count.items(), key=lambda item: item[1], reverse=True))
+
+
plt.figure(figsize=(12, 8))
+
plt.bar(range(len(sorted_type_count)), list(sorted_type_count.values()), tick_label=list(sorted_type_count.keys()))
+
plt.title("消息类型分布图")
+
plt.xlabel("消息类型")
+
plt.ylabel("数量")
+
+
# 设置x轴标签的旋转角度为45度
+
plt.xticks(rotation=-45)
+
+
# 在每个柱上添加数字标签
+
for i, v in enumerate(list(sorted_type_count.values())):
+
plt.text(i, v, str(v), ha='center', va='bottom')
+
+
if out_path != "":
+
plt.savefig(out_path)
+
if is_show:
+
plt.show()
+
plt.close()
+
+
+
# 按照interval绘制折线图
+
def draw_line_type_name(chat_data, interval="W", type_name_list=None, out_path="", is_show=False):
+
"""
+
绘制折线图,横轴为时间,纵轴为消息数量,不同类型的消息用不同的颜色表示
+
:param chat_data:
+
:param interval:
+
:param type_name_list: 消息类型列表,按照列表中的顺序绘制折线图 可选:全部类型、发送、接收、总字数、发送字数、接收字数、其他类型
+
:param out_path:
+
:param is_show:
+
:return:
+
"""
+
if type_name_list is None:
+
type_name_list = ["全部类型", "发送", "接收"] + ["总字数", "发送字数", "接收字数"]
+
# type_name_list = ["总字数", "发送字数", "接收字数"]
+
+
try:
+
import matplotlib.pyplot as plt
+
import pandas as pd
+
except ImportError as e:
+
print("error", e)
+
raise ImportError("请安装matplotlib库")
+
plt.rcParams['font.sans-serif'] = ['SimHei']
+
plt.rcParams['axes.unicode_minus'] = False
+
+
chat_data["CreateTime"] = pd.to_datetime(chat_data["CreateTime"])
+
chat_data["AdjustedTime"] = pd.to_datetime(chat_data["AdjustedTime"])
+
+
# interval = interval.lower()
+
interval_dict = {"day": "%Y-%m-%d", "month": "%Y-%m", "year": "%Y", "week": "%Y-%W",
+
"d": "%Y-%m-%d", "m": "%Y-%m", "y": "%Y", "W": "%Y-%W"
+
}
+
if interval not in interval_dict:
+
raise ValueError("interval参数错误,可选值为day、month、year、week")
+
chat_data["interval"] = chat_data["AdjustedTime"].dt.strftime(interval_dict[interval])
+
+
# 根据chat_data["interval"]最大值和最小值,生成一个时间间隔列表
+
interval_list = pd.date_range(chat_data["AdjustedTime"].min(), chat_data["AdjustedTime"].max(), freq=interval)
+
interval_list = interval_list.append(pd.Index([interval_list[-1] + pd.Timedelta(days=1)])) # 最后一天加一天
+
+
# 构建数据集
+
# interval type_name1 type_name2 type_name3
+
# 2021-01 文本数量 其他类型数量 其他类型数量
+
# 2021-02 文本数量 其他类型数量 其他类型数量
+
type_data = pd.DataFrame(columns=["interval"] + list(chat_data["type_name"].unique()))
+
type_data["interval"] = interval_list.strftime(interval_dict[interval])
+
type_data = type_data.set_index("interval")
+
for type_name in chat_data["type_name"].unique():
+
type_data[type_name] = chat_data[chat_data["type_name"] == type_name].groupby("interval").size()
+
type_data["全部类型"] = type_data.sum(axis=1)
+
type_data["发送"] = chat_data[chat_data["IsSender"] == 1].groupby("interval").size()
+
type_data["接收"] = chat_data[chat_data["IsSender"] == 0].groupby("interval").size()
+
+
type_data["总字数"] = chat_data.groupby("interval")["content_len"].sum()
+
type_data["发送字数"] = chat_data[chat_data["IsSender"] == 1].groupby("interval")["content_len"].sum()
+
type_data["接收字数"] = chat_data[chat_data["IsSender"] == 0].groupby("interval")["content_len"].sum()
+
+
type_data = type_data.fillna(0)
+
# 调整typename顺序,使其按照总数量排序,只要最大的5个
+
type_data = type_data.reindex(type_data.sum().sort_values(ascending=False).index, axis=1)
+
if type_name_list is not None:
+
type_data = type_data[type_name_list]
+
else:
+
type_data = type_data.iloc[:, :5]
+
+
# if interval == "W" or interval == "week": # 改为当前周的周一的日期
+
# #
+
+
plt.figure(figsize=(12, 8))
+
+
# 绘制折线图
+
for type_name in type_data.columns:
+
plt.plot(type_data.index, type_data[type_name], label=type_name)
+
+
# 设置x轴标签的旋转角度为45度
+
plt.xticks(rotation=-45)
+
# 设置标题、坐标轴标签、图例等信息
+
plt.title("消息类型分布图")
+
plt.xlabel("时间")
+
plt.ylabel("数量")
+
+
plt.legend(loc="upper right") # 设置图例位置
+
+
# 显示图形
+
if out_path != "":
+
plt.savefig(out_path)
+
if is_show:
+
plt.tight_layout()
+
plt.show()
+
plt.close()
+
+
+
+
def wordcloud_generator(chat_data, interval="m", stopwords=None, out_path="", is_show=False, bg_img=None,
+
font="C:\Windows\Fonts\simhei.ttf"):
+
"""
+
词云
+
:param is_show: 是否显示
+
:param img_path: 背景图片路径
+
:param text: 文本
+
:param font: 字体路径
+
:return:
+
"""
+
try:
+
from wordcloud import WordCloud, ImageColorGenerator
+
import wordcloud
+
import jieba
+
import numpy as np
+
import matplotlib.pyplot as plt
+
from matplotlib.font_manager import fontManager
+
import pandas as pd
+
import codecs
+
import re
+
from imageio import imread
+
except ImportError as e:
+
print("error", e)
+
raise ImportError("请安装wordcloud,jieba,numpy,matplotlib,pillow库")
+
+
plt.rcParams['font.sans-serif'] = ['SimHei']
+
plt.rcParams['axes.unicode_minus'] = False
+
+
chat_data["CreateTime"] = pd.to_datetime(chat_data["CreateTime"])
+
chat_data["AdjustedTime"] = pd.to_datetime(chat_data["AdjustedTime"])
+
+
# interval = interval.lower()
+
interval_dict = {"day": "%Y-%m-%d", "month": "%Y-%m", "year": "%Y", "week": "%Y-%W",
+
"d": "%Y-%m-%d", "m": "%Y-%m", "y": "%Y", "W": "%Y-%W"
+
}
+
if interval not in interval_dict:
+
raise ValueError("interval参数错误,可选值为day、month、year、week")
+
chat_data["interval"] = chat_data["AdjustedTime"].dt.strftime(interval_dict[interval])
+
+
# 根据chat_data["interval"]最大值和最小值,生成一个时间间隔列表
+
interval_list = pd.date_range(chat_data["AdjustedTime"].min(), chat_data["AdjustedTime"].max(), freq=interval)
+
interval_list = interval_list.append(pd.Index([interval_list[-1] + pd.Timedelta(days=1)])) # 最后一天加一天
+
+
# 构建数据集
+
# interval text_all text_sender text_receiver
+
# 2021-01 文本\n合并 聊天记录\n文本\n合并 聊天记录\n文本\n合并 聊天记录\n
+
def merage_text(x):
+
pattern = re.compile("(\[.+?\])") # 匹配表情
+
rt = "\n".join(x)
+
rt = pattern.sub('', rt).replace("\n", " ")
+
return rt
+
+
chat_data["content"] = chat_data.apply(lambda x: x["content"] if x["type_name"] == "文本" else "", axis=1)
+
+
text_data = pd.DataFrame(columns=["interval", "text_all", "text_sender", "text_receiver"])
+
text_data["interval"] = interval_list.strftime(interval_dict[interval])
+
text_data = text_data.set_index("interval")
+
# 使用“\n”合并
+
text_data["text_all"] = chat_data.groupby("interval")["content"].apply(merage_text)
+
text_data["text_sender"] = chat_data[chat_data["IsSender"] == 1].groupby("interval")["content"].apply(merage_text)
+
text_data["text_receiver"] = chat_data[chat_data["IsSender"] == 0].groupby("interval")["content"].apply(merage_text)
+
+
def gen_img(texts,out_path,is_show,bg_img,title=""):
+
words = jieba.lcut(texts)
+
res = [word for word in words if word not in stopwords and word.replace(" ", "") != "" and len(word) > 1]
+
count_dict = dict(Counter(res))
+
+
if bg_img:
+
bgimg = imread(open(bg_img, 'rb'))
+
# 获得词云对象,设定词云背景颜色及其图片和字体
+
wc = WordCloud(background_color='white', mask=bgimg, font_path='simhei.ttf', mode='RGBA', include_numbers=False,
+
random_state=0)
+
else:
+
# 如果你的背景色是透明的,请用这两条语句替换上面两条
+
bgimg = None
+
wc = WordCloud(background_color='white', mode='RGBA', font_path='simhei.ttf', include_numbers=False,
+
random_state=0,width=500, height=500) # 如果不指定中文字体路径,词云会乱码
+
wc = wc.fit_words(count_dict)
+
+
fig = plt.figure(figsize=(8, 8))
+
fig.suptitle(title, fontsize=26)
+
ax = fig.subplots()
+
+
ax.imshow(wc)
+
ax.axis('off')
+
+
if out_path != "":
+
plt.savefig(out_path)
+
if is_show:
+
plt.show()
+
plt.close()
+
+
for i in text_data.index:
+
out_path = f"out/img_{i}.png"
+
gen_img(text_data["text_all"][i], out_path=out_path, is_show=False, bg_img=bg_img, title=f"全部({i})")
+
# gen_img(text_data["text_sender"][i], out_path="", is_show=is_show, bg_img=bg_img, title=f"发送_{i}")
+
# gen_img(text_data["text_receiver"][i], out_path="", is_show=is_show, bg_img=bg_img, title=f"接收_{i}")
+
# time.sleep(1)
+
+
# 情感分析
+
def sentiment_analysis(chat_data, stopwords="", out_path="", is_show=False, bg_img=None):
+
try:
+
from snownlp import SnowNLP
+
import pandas as pd
+
import matplotlib.pyplot as plt
+
import seaborn as sns
+
+
except ImportError as e:
+
print("error", e)
+
raise ImportError("请安装snownlp,pandas,matplotlib,seaborn库")
+
+
sns.set_style('white', {'font.sans-serif': ['simhei', 'FangSong']})
+
+
chats = []
+
for row in chat_data:
+
if row["type_name"] != "文本" or row["content"] == "":
+
continue
+
chats.append(row)
+
+
scores = []
+
for row in chats:
+
s = SnowNLP(row["content"])
+
scores.append(s.sentiments)
+
+
def draw(data):
+
df = pd.DataFrame({'Sentiment Score': data})
+
plt.figure(figsize=(8, 6))
+
sns.histplot(data=df, x='Sentiment Score', kde=True)
+
plt.title("Sentiment Analysis")
+
plt.xlabel("Sentiment Score")
+
plt.ylabel("Frequency")
+
+
if out_path != "":
+
plt.savefig(out_path)
+
if is_show:
+
plt.show()
+
plt.close()
+
+
draw(scores)
+
+
+
if __name__ == '__main__':
+
MSG_PATH = r""
+
selected_talker = "wxid_"
+
start_time = time.time() - 3600 * 24 * 50000
+
end_time = time.time()
+
code, chat_data = read_msgs(MSG_PATH, selected_talker, start_time, end_time)
+
# print(chat_data)
+
# code, data, classify_count, all_type_count = merge_chat_data(chat_data, interval="month")
+
# draw_hist_all_count(chat_data, is_show=True) # 绘制直方图 消息类型分布图
+
# draw_line_type_name(chat_data, is_show=True) # 绘制折线图 消息类型分布图
+
+
# bg_img = 'img.png'
+
stopwords = ['的', '了', '是', '在', '我', '有', '和', '就', '不', '人', '都', '一', '一个', '上', '也', '很', '到',
+
'说', '要',
+
'去', '你', '会', '着', '没有', '看', '好', '自己', '这']
+
wordcloud_generator(chat_data, stopwords=stopwords, out_path="", is_show=True)
+
# sentiment_analysis(chat_data)
56. File addition: "__init__.py" in "wxdump_linux/analyzer" "UTF-8"
up 0.204905, new 562033:562068
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: __init__.py.py
+
# Description:
+
# Author: xaoyaoo
+
# Date: 2023/09/27
+
# -------------------------------------------------------------------------------
57. File addition: "_logging.py" in "wxdump_linux" "UTF-8"
up 0.24, new 562357:562392
+
# -*- coding: utf-8 -*-#
+
# -------------------------------------------------------------------------------
+
# Name: _logging.py
+
# Description: Centralized logger definitions for all modules
+
# Author: xaoyaoo
+
# Date: 2024/07/23
+
# -------------------------------------------------------------------------------
+
import logging
+
+
db_loger = logging.getLogger("db_prepare")
+
wx_core_loger = logging.getLogger("wx_core")
+
server_loger = logging.getLogger("server")
+
rs_loger = server_loger
+
ls_loger = server_loger
58. File addition: "__init__.py" in "wxdump_linux" "UTF-8"
up 0.24, new 562921:562956
+
# -*- coding: utf-8 -*-#
+
__version__ = "0.1.0"
+
+
from .wx_core import get_wx_info, get_wx_db, get_wx_raw_keys, batch_decrypt, decrypt, get_core_db
+
from .wx_core import merge_db, decrypt_merge
+
from .db import DBHandler, MsgHandler, MicroHandler, MediaHandler, OpenIMContactHandler, FavoriteHandler, \
+
PublicMsgHandler
+
from .api import start_server, gen_fastapi_app
+
from .api.export import export_html, export_csv, export_json
+
+
__all__ = ["get_wx_info", "get_wx_db", "get_wx_raw_keys", "batch_decrypt", "decrypt", "get_core_db",
+
"merge_db", "decrypt_merge",
+
"DBHandler", "MsgHandler", "MicroHandler", "MediaHandler", "OpenIMContactHandler", "FavoriteHandler",
+
"PublicMsgHandler",
+
"start_server", "__version__"]
59. File addition: "pyproject.toml" in "" "UTF-8"
up 2.1, new 563715:563753
+
[build-system]
+
requires = ["setuptools>=68.0", "wheel"]
+
build-backend = "setuptools.build_meta"
+
+
[project]
+
name = "wxdump-linux"
+
version = "0.1.0"
+
description = "Linux 版微信数据库解密工具"
+
readme = "README.md"
+
license = "MIT"
+
requires-python = ">=3.8, <4"
+
authors = [
+
{ name = "xaoyaoo", email = "xaoyaoo@gmail.com" },
+
]
+
classifiers = [
+
"Programming Language :: Python :: 3",
+
"Operating System :: POSIX :: Linux",
+
]
+
dependencies = [
+
"psutil",
+
"pycryptodomex",
+
"silk-python",
+
"pyaudio",
+
"requests",
+
"pyahocorasick",
+
"lz4",
+
"blackboxprotobuf",
+
"lxml",
+
"protobuf",
+
"dbutils",
+
"pydantic",
+
"fastapi",
+
"uvicorn",
+
"python-dotenv",
+
]
+
+
[project.scripts]
+
wxdump = "wxdump_linux.cli:console_run"
+
+
[tool.setuptools.packages.find]
+
include = [
+
"wxdump_linux",
+
"wxdump_linux.*",
+
]
60. File addition: "flake.nix" in "" "UTF-8"
up 2.1, new 564613:564646
+
{
+
description = "wxdump-linux: Linux 版微信数据库解密工具";
+
+
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
+
+
outputs = { self, nixpkgs }:
+
let
+
system = "x86_64-linux";
+
+
# python package overlays (adds missing PyPI deps + local wxdump-linux)
+
pyOverlay = selfP: superP: {
+
blackboxprotobuf = superP.buildPythonPackage {
+
pname = "blackboxprotobuf";
+
version = "1.0.1";
+
src = superP.fetchPypi {
+
pname = "blackboxprotobuf";
+
version = "1.0.1";
+
sha256 = "1shw3rmbhnmcjyvw20gc9xz1gy8a48m4cwdq40f9vki4di772fr3";
+
};
+
doCheck = false;
+
};
+
+
silk_python = superP.buildPythonPackage {
+
pname = "silk_python";
+
version = "0.2.8";
+
format = "wheel";
+
src = builtins.fetchurl {
+
url = "https://files.pythonhosted.org/packages/fc/0b/898bccc48a88bd2e29e782a7a89ed5334464c3dea24a5c1a56e9d9891889/silk_python-0.2.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl";
+
sha256 = "1gvw5a8s0xzq553lkha106lyxshdj85r511k1fw8m15mwrxyiqk2";
+
};
+
doCheck = false;
+
};
+
+
"silk-python" = selfP.silk_python; # alias for dash style name
+
+
wxdump-linux = superP.buildPythonPackage {
+
pname = "wxdump-linux";
+
version = "0.1.0";
+
src = ./.;
+
pyproject = true;
+
build-system = [ superP.setuptools superP.wheel ];
+
dependencies = with selfP; [
+
psutil
+
pycryptodomex
+
requests
+
fastapi
+
uvicorn
+
python-dotenv
+
lz4
+
lxml
+
protobuf
+
pyahocorasick
+
pyaudio
+
blackboxprotobuf
+
silk_python
+
dbutils
+
pydantic
+
zstandard
+
];
+
doCheck = false;
+
};
+
};
+
+
pkgs = import nixpkgs {
+
inherit system;
+
overlays = [
+
(final: prev: {
+
python3 = prev.python3.override {
+
packageOverrides = pyOverlay;
+
};
+
python3Packages = prev.python3Packages.overrideScope pyOverlay;
+
})
+
];
+
};
+
in {
+
packages.${system}.default = pkgs.python3Packages.wxdump-linux;
+
+
devShells.${system}.default = pkgs.mkShell {
+
packages = [
+
(pkgs.python3.withPackages (ps: with ps; [
+
psutil
+
pycryptodomex
+
requests
+
fastapi
+
uvicorn
+
python-dotenv
+
lz4
+
lxml
+
protobuf
+
pyahocorasick
+
pyaudio
+
blackboxprotobuf
+
silk_python
+
dbutils
+
pydantic
+
zstandard
+
]))
+
pkgs.portaudio # for pyaudio
+
pkgs.ffmpeg # media helpers
+
pkgs.tesseract4 # optional OCR helper
+
pkgs.lz4
+
pkgs.openssl
+
pkgs.libxml2
+
pkgs.libxslt
+
pkgs.zlib
+
];
+
shellHook = ''
+
export PYTHONPATH="$PWD:$PYTHONPATH"
+
'';
+
};
+
};
+
}
61. File addition: "flake.lock" in "" "UTF-8"
up 2.1, new 567839:567873
+
{
+
"nodes": {
+
"nixpkgs": {
+
"locked": {
+
"lastModified": 1751274312,
+
"narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=",
+
"owner": "NixOS",
+
"repo": "nixpkgs",
+
"rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674",
+
"type": "github"
+
},
+
"original": {
+
"owner": "NixOS",
+
"ref": "nixos-24.11",
+
"repo": "nixpkgs",
+
"type": "github"
+
}
+
},
+
"root": {
+
"inputs": {
+
"nixpkgs": "nixpkgs"
+
}
+
}
+
},
+
"root": "root",
+
"version": 7
+
}
62. File addition: "doc" in "" +dx "binary"
up 2.1, new 568440:568454
63. File addition: "wx数据库简述.md" in "doc" "UTF-8"
up 0.568455, new 568457:568501
+
# 微信PC端各个数据库简述
+
+
* 说明:针对 .../WeChat Files/wxid_xxxxxxxx/Msg下的各个文件解密后的内容进行概述
+
* 未作特别说明的情况下,“聊天记录数据”指代的数据结构上都和Multi文件夹中的完整聊天记录数据相同或类似。
+
* 本文档仅供学习交流使用,严禁用于商业用途及非法用途,否则后果自负
+
+
## 一、微信小程序相关
+
+
微信小程序的相关数据,包括但不限于:
+
+
* 你使用过的小程序 RecentWxApp
+
* 星标的小程序 StarWxApp
+
* 各个小程序的基本信息 WAContact
+
+
用处不大,不过可以看到你使用过的小程序的名称和图标,以及小程序的AppID
+
+
## 二、企业微信相关
+
+
### BizChat
+
+
企业微信联系人数据,包括但不限于:
+
+
* 在微信中可以访问的企业微信会话ChatInfo
+
* 一部分会话的信息ChatSession(未确认与ChatInfo的关系;这其中的Content字段是最近一条消息,疑似用于缓存展示的内容)
+
* 包括群聊在内的聊天涉及的所有企业微信用户身份信息UsrInfo
+
* 该微信账号绑定的企业微信身份MyUsrInfo
+
* 特别说明:未经详细查证,这其中的聊天是否包含使用普通微信身份与企业微信用户发起的聊天,还是只包含使用绑定到普通微信的企业微信身份与其它企业微信身份发起的聊天。
+
+
### BizChatMsg
+
+
* 企业微信聊天记录数据,包括所有和企业微信聊天的数据。
+
* 与BizChat一样,未确定涉及的范围究竟是只有企业微信-企业微信还是同时包含普通微信-企业微信。
+
* 另外,此处的消息与Multi文件夹中真正的微信消息不同的是在于没有拆分数据库。
+
+
### OpenIM 前缀
+
+
* 这个也是企业微信的数据,包括联系人、企业信息、与企业微信联系人的消息等。
+
* 这个是普通微信-企业微信的数据,上面biz前缀的是企业微信-企业微信
+
* 这个不常用,而且也没有全新的数据结构,不再详细说了。
+
+
### PublicMsg
+
+
* 看起来像是企业微信的通知消息,可以理解为企业微信的企业应用消息
+
+
## 三、微信功能相关
+
+
### Emotion
+
+
顾名思义表情包相关,包括但不限于以下内容:
+
+
* CustomEmotion:顾名思义用户手动上传的GIF表情,包含下载链接,不过看起来似乎有加密(内有aesKey字段但我没测试)
+
* EmotionDes1 和 EmotionItem 应该也是类似的内容,没仔细研究
+
* EmotionPackageItem:账号添加的表情包的集合列表(从商店下载的那种)
+
+
ps:用处不大,微信的MSG文件夹有表情包的url链接,可以直接网络获取聊天记录中的表情包。
+
+
### Favorite
+
+
* FavItems:收藏的消息条目列表
+
* FavDataItem:收藏的具体数据。大概可以确定以下两点
+
* 即使只是简单收藏一篇公众号文章也会在 FavDataItem 中有一个对应的记录
+
* 对于收藏的合并转发类型的消息,合并转发中的每一条消息在 FavDataItem 中都是一个独立的记录
+
* FavTags:为收藏内容添加的标签
+
+
### Misc
+
+
* 有BizContactHeadImg和ContactHeadImg1两张表,应该是二进制格式的各个头像
+
+
### Sns
+
+
微信朋友圈的相关数据:
+
+
* FeedsV20:朋友圈的XML数据
+
* CommentV20:朋友圈点赞或评论记录
+
* NotificationV7:朋友圈通知
+
* SnsConfigV20:一些配置信息,能读懂的是其中有你的朋友圈背景图
+
* SnsGroupInfoV5:猜测是旧版微信朋友圈可见范围的可见或不可见名单
+
+
### FTS(搜索)
+
+
* 前缀为 FTS 的数据库可能都和全文搜索(Full-Text Search)相关(就是微信那个搜索框)
+
+
### FTSContact
+
+
有一堆表
+
+
* FTSChatroom15_content 和 FTSContact15_content
+
分别对应的是微信“聊天”界面会展示的消息会话(包括公众号等)和“联系人”界面会出现的所有人(有的时候并不是所有联系人都会出现在“聊天”中),信息包含昵称、备注名和微信号,也和微信支持搜索的字段相匹配。
+
+
### FTSFavorite
+
+
搜索收藏内容的索引
+
+
* 命名方式类似上面一条
+
+
ps:对于收藏内容通过文字搜索,电脑版是把所有东西拼接成一个超长字符串来实现的。这对于文本、链接等没啥问题,但是对于合并转发消息,就会出现搜索\[图片]
+
这一关键词。
+
+
### MultiSearchChatMsg
+
+
* 这个数据库前缀不一样,但是看内容和结构应该还是一个搜索相关,搜索的是聊天记录中的文件
+
* 存储了文件名和其所在的聊天
+
* 不过FTSMsgSearch18_content和SessionAttachInfo两张表记录数量有显著差异,不确定是哪个少了或是怎样。
+
+
### HardLink(文件在磁盘存储的位置)
+
+
* 将文件/图片/视频的文件名指向保存它们的文件夹名称(例如2023-04),有用但不多。
+
+
### Media
+
+
* ChatCRVoice和MediaInfo 可能为语音信息
+
+
## 三、MicroMsg (联系人核心)
+
+
一个数据库,不应该和分类平级,但是我认为这是分析到目前以来最核心的,因此单独来说了。
+
+
### AppInfo(表)
+
+
一些软件的介绍,猜测可能是关于某些直接从手机APP跳转到微信的转发会带有的转发来源小尾巴的信息
+
+
### Biz 前缀
+
+
与公众号相关的内容,应该主要是账号本身相关。
+
+
能确定的是 BizSessionNewFeeds 这张表保存的是订阅号大分类底下的会话信息,包括头像、最近一条推送等。
+
+
### ChatInfo
+
+
保存“聊天”列表中每个会话最后一次标记已读的时间
+
+
### ChatRoom 和 ChatRoomInfo
+
+
存储群聊相关信息
+
+
* ChatRoom:存储每个群聊的用户列表(包括微信号列表和群昵称列表)和个人群昵称等信息
+
* ChatRoomInfo:群聊相关信息,主要是群公告内容,与成员无关
+
顺便再吐槽一下,微信这个位置有一个命名出现异常的,别的表前缀都是ChatRoom,而突然出现一个ChatroomTool
+
+
### Contact
+
+
顾名思义,联系人。不过这里的联系人并不是指你的好友,而是所有你可能看见的人,除好友外还有所有群聊中的所有陌生人。
+
+
* Contact:这张表存储的是用户基本信息,包括但不限于微信号(没有好友的陌生人也能看!)、昵称、备注名、设置的标签等等,甚至还有生成的各种字段的拼音,可能是用于方便搜索的吧
+
* ContactHeadImgUrl:头像地址
+
* ContactLabel:好友标签 ID 与名称对照
+
* ExtraBuf: 存储位置信息、手机号、邮箱等信息
+
+
### PatInfo
+
+
存了一部分好友的拍一拍后缀,但是只有几个,我记得我电脑上显示过的拍一拍似乎没有这么少?
+
+
### Session
+
+
真正的“聊天”栏目显示的会话列表,一个不多一个不少,包括“折叠的群聊”这样子的特殊会话;信息包括名称、未读消息数、最近一条消息等
+
+
### TicketInfo
+
+
这张表在我这里有百余条数据,但是我实在没搞明白它是什么
+
+
## 四、FTSMSG
+
+
FTS 这一前缀了——这代表的是搜索时所需的索引。
+
+
其内主要的内容是这样的两张表:
+
+
* FTSChatMsg2_content:内有三个字段
+
* docid:从1开始递增的数字,相当于当前条目的 ID
+
* c0content:搜索关键字(在微信搜索框输入的关键字被这个字段包含的内容可以被搜索到)
+
* c1entityId:尚不明确用途,可能是校验相关
+
* FTSChatMsg2_MetaData
+
* docid:与FTSChatMsg2_content表中的 docid 对应
+
* msgId:与MSG数据库中的内容对应
+
* entityId:与FTSChatMsg2_content表中的 c1entityId 对应
+
* type:可能是该消息的类型
+
* 其余字段尚不明确
+
+
特别地,表名中的这个数字2,个人猜测可能是当前数据库格式的版本号。
+
+
## 五、MediaMSG (语音消息)
+
+
这里存储了所有的语音消息。数据库中有且仅有Media一张表,内含三个有效字段:
+
+
* Key
+
* Reserved0 与MSG数据库中消息的MsgSvrID一一对应
+
* Buf silk格式的语音数据
+
+
## 六、MSG(聊天记录核心数据库)
+
+
内部主要的两个表是`MSG`和`Name2ID`
+
+
### Name2ID
+
+
* `Name2ID`这张表只有一列,内容格式是微信号或群聊ID@chatroom
+
* 作用是使MSG中的某些字段与之对应。虽然表中没有 ID 这一列,但事实上微信默认了第几行 ID 就是几(从1开始编号)。
+
+
### MSG
+
+
* localId:字面意思消息在本地的 ID,暂未发现其功用
+
* TalkerId:消息所在房间的 ID(该信息为猜测,猜测原因见 StrTalker 字段),与Name2ID对应。
+
* MsgSvrID:猜测 Srv 可能是 Server 的缩写,代指服务器端存储的消息 ID
+
* Type:消息类型,具体对照见表1
+
* SubType:消息类型子分类,暂时未见其实际用途
+
* IsSender:是否是自己发出的消息,也就是标记消息展示在对话页左边还是右边,取值0或1
+
* CreateTime:消息创建时间的秒级时间戳。此处需要进一步实验来确认该时间具体标记的是哪个时间节点,个人猜测的规则如下:
+
* 从这台电脑上发出的消息:标记代表的是每个消息点下发送按钮的那一刻
+
* 从其它设备上发出的/收到的来自其它用户的消息:标记的是本地从服务器接收到这一消息的时间
+
* Sequence:次序,虽然看起来像一个毫秒级时间戳但其实不是。这是`CreateTime`
+
字段末尾接上三位数字组成的,通常情况下为000,如果在出现两条`CreateTime`
+
相同的消息则最后三位依次递增。需要进一步确认不重复范围是在一个会话内还是所有会话。`CreateTime`
+
相同的消息则最后三位依次递增。需要进一步确认不重复范围是在一个会话内还是所有会话。
+
* StatusEx、FlagEx、Status、MsgServerSeq、MsgSequence:这五个字段个人暂时没有分析出有效信息
+
* StrTalker:消息发送者的微信号。特别说明,从这里来看的话,上面的`TalkerId`
+
字段大概率是指的消息所在的房间ID,而非发送者ID,当然也可能和`TalkerId`属于重复内容,这一点待确认。
+
* StrContent:字符串格式的数据。特别说明的是,除了文本类型的消息外,别的大多类型这一字段都会是一段 XML
+
数据标记一些相关信息。通过解析xml可以得到更多的信息,例如图片的宽高、语音的时长等等。
+
* DisplayContent:对于拍一拍,保存拍者和被拍者账号信息
+
* Reserved0~6:这些字段也还没有分析出有效信息,也有的字段恒为空
+
* CompressContent:字面意思是压缩的数据,实际上也就是微信任性不想存在 StrContent
+
里的数据在这里(例如带有引用的文本消息等;采用lz4压缩算法压缩)
+
* BytesExtra:额外的二进制格式数据
+
* BytesTrans:目前看这是一个恒为空的字段
+
+
表1:MSG.Type字段数值与含义对照表(可能可以扩展到其它数据库中同样标记消息类型这一信息的字段)
+
+
| 分类`Type` | 子分类`SubType` | 对应类型 |
+
|----------|--------------|-------------------------------------------------------------|
+
| 1 | 0 | 文本 |
+
| 3 | 0 | 图片 |
+
| 34 | 0 | 语音 |
+
| 43 | 0 | 视频 |
+
| 47 | 0 | 动画表情(第三方开发的表情包) |
+
| 49 | 1 | 类似文字消息而不一样的消息,目前只见到一个阿里云盘的邀请注册是这样的。估计和57子类的情况一样 |
+
| 49 | 5 | 卡片式链接,CompressContent 中有标题、简介等,BytesExtra 中有本地缓存的封面路径 |
+
| 49 | 6 | 文件,CompressContent 中有文件名和下载链接(但不会读),BytesExtra 中有本地保存的路径 |
+
| 49 | 8 | 用户上传的 GIF 表情,CompressContent 中有CDN链接,不过似乎不能直接访问下载 |
+
| 49 | 19 | 合并转发的聊天记录,CompressContent 中有详细聊天记录,BytesExtra 中有图片视频等的缓存 |
+
| 49 | 33/36 | 分享的小程序,CompressContent 中有卡片信息,BytesExtra 中有封面缓存位置 |
+
| 49 | 57 | 带有引用的文本消息(这种类型下 StrContent 为空,发送和引用的内容均在 CompressContent 中) |
+
| 49 | 63 | 视频号直播或直播回放等 |
+
| 49 | 87 | 群公告 |
+
| 49 | 88 | 视频号直播或直播回放等 |
+
| 49 | 2000 | 转账消息(包括发出、接收、主动退还) |
+
| 49 | 2003 | 赠送红包封面 |
+
| 10000 | 0 | 系统通知(居中出现的那种灰色文字) |
+
| 10000 | 4 | 拍一拍 |
+
| 10000 | 8000 | 系统通知(特别包含你邀请别人加入群聊) |
+
+
## 更多内容查看:
+
https://blog.csdn.net/weixin_44495599/article/details/130030359
\
64. File addition: "UserGuide.md" in "doc" "UTF-8"
up 0.568455, new 582235:582271
+
# 用户指南
+
+
## 1. 安装
+
+
### Nix Flake(推荐)
+
+
```bash
+
# 进入开发环境(自动安装所有依赖)
+
nix develop
+
+
# 或直接运行
+
nix run .
+
```
+
+
## 2. 前置条件
+
+
- Linux 系统
+
- 微信 4.x Linux 版(AppImage)正在运行
+
- 需要有权限读取微信进程的内存(通常需要同用户或 root)
+
+
## 3. CLI 命令
+
+
```bash
+
wxdump -h # 查看所有命令帮助
+
wxdump -V # 查看版本
+
```
+
+
### 3.1 info — 获取微信信息
+
+
从运行中的微信进程内存提取基本信息(pid、wx_dir、密钥等)。
+
+
```bash
+
wxdump info
+
wxdump info -s /tmp/wxinfo.json # 保存到文件
+
```
+
+
### 3.2 linux_key — 提取数据库密钥
+
+
扫描微信进程内存,提取所有数据库的 SQLCipher 4 raw key。
+
+
```bash
+
wxdump linux_key
+
wxdump linux_key --wx-dir /path/to/wechat/data # 指定数据目录
+
```
+
+
### 3.3 decrypt — 解密数据库
+
+
自动从进程内存提取密钥,解密所有 SQLCipher 4 数据库。
+
+
```bash
+
wxdump decrypt # 自动检测路径,输出到 ./decrypted
+
wxdump decrypt -i /path/to/wx/data # 指定微信数据目录
+
wxdump decrypt -o /path/to/output # 指定输出目录
+
```
+
+
### 3.4 merge — 合并数据库
+
+
将已解密的多个数据库合并为单一文件。
+
+
```bash
+
wxdump merge -i ./decrypted -o ./merged/merge.db
+
wxdump merge -i file1.db,file2.db -o merge.db
+
```
+
+
### 3.5 ui — 启动 Web 界面
+
+
启动图形界面,在浏览器中查看聊天记录。
+
+
```bash
+
wxdump ui # 默认端口 5000
+
wxdump ui -p 8080 # 指定端口
+
wxdump ui --online # 允许局域网访问
+
wxdump ui --noOpenBrowser # 不自动打开浏览器
+
```
+
+
### 3.6 api — 启动 API 服务
+
+
启动 API 服务,不打开浏览器。
+
+
```bash
+
wxdump api
+
wxdump api -p 8080 --online
+
```
+
+
### 3.7 dbshow — 查看已合并的数据库
+
+
直接查看已解密合并的数据库。
+
+
```bash
+
wxdump dbshow -merge ./merge_all.db -wid /path/to/wx/data
+
```
+
+
## 4. Python API
+
+
```python
+
from wxdump_linux import get_wx_info, batch_decrypt, merge_db, decrypt_merge
+
from wxdump_linux.linux import find_wechat_files_path, extract_all_keys
+
+
# 获取微信信息
+
info = get_wx_info(is_print=True)
+
+
# 提取密钥
+
wx_dir = find_wechat_files_path()
+
db_keys = extract_all_keys(wx_dir)
+
# db_keys = {db_path: (enc_key_hex, salt_hex), ...}
+
+
# 解密
+
code, results = batch_decrypt(db_keys, "./decrypted", is_print=True)
+
+
# 一键解密+合并
+
code, merge_path = decrypt_merge(wx_path=wx_dir, outpath="./output")
+
```
+
+
## 5. FAQ
+
+
详见 [FAQ](./FAQ.md)
+
+
## 6. 更新日志
+
+
详见 [CHANGELOG](./CHANGELOG.md)
65. File addition: "README.md" in "" "UTF-8"
up 2.1, new 584921:584954
+
# wxdump-linux
+
+
Linux 版微信(WeChat 4.x AppImage)数据库解密与查看工具。
+
+
## 核心功能
+
+
1. **提取密钥** — 从运行中的微信进程内存中扫描 SQLCipher 4 raw key
+
2. **解密数据库** — 使用提取的密钥解密 SQLCipher 4 数据库(AES-256-CBC + HMAC-SHA512)
+
3. **合并数据库** — 将多个解密后的数据库合并为单一文件
+
4. **Web 查看** — 通过浏览器查看聊天记录、导出为 HTML/CSV
+
+
## 安装
+
+
### Nix Flake(推荐)
+
+
```bash
+
# 进入开发环境
+
nix develop
+
+
# 或直接运行
+
nix run .
+
```
+
+
### 从源码
+
+
```bash
+
git clone https://github.com/user/wxdump-linux.git
+
cd wxdump-linux
+
nix develop
+
```
+
+
## 快速使用
+
+
```bash
+
# 查看帮助
+
wxdump -h
+
+
# 获取微信信息(自动从进程内存提取密钥)
+
wxdump info
+
+
# 从进程内存提取所有数据库密钥
+
wxdump linux_key
+
+
# 解密数据库(自动提取密钥)
+
wxdump decrypt -o ./decrypted
+
+
# 合并已解密的数据库
+
wxdump merge -i ./decrypted -o ./merged/merge.db
+
+
# 启动 Web 查看界面
+
wxdump ui
+
+
# 启动 API 服务(不打开浏览器)
+
wxdump api
+
```
+
+
## 详细文档
+
+
- [用户指南](doc/UserGuide.md)
+
+
+
## 致谢
+
+
本项目基于 [PyWxDump](https://github.com/xaoyaoo/PyWxDump)([xaoyaoo](https://github.com/xaoyaoo))重构,原项目基于 [SharpWxDump](https://github.com/AdminTest0/SharpWxDump)。
+
+
感谢所有原项目贡献者:
+
+
[![PyWxDump 贡献者](https://contrib.rocks/image?repo=xaoyaoo/PyWxDump)](https://github.com/xaoyaoo/PyWxDump/graphs/contributors)
66. File addition: "LICENSE" in "" "UTF-8"
up 2.1, new 586498:586529
+
MIT License
+
+
Copyright (c) 2023 xaoyaoo
+
+
Permission is hereby granted, free of charge, to any person obtaining a copy
+
of this software and associated documentation files (the "Software"), to deal
+
in the Software without restriction, including without limitation the rights
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+
copies of the Software, and to permit persons to whom the Software is
+
furnished to do so, subject to the following conditions:
+
+
The above copyright notice and this permission notice shall be included in all
+
copies or substantial portions of the Software.
+
+
Based on PyWxDump (https://github.com/xaoyaoo/PyWxDump)
+
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+
SOFTWARE.
67. File addition: ".ignore" in "" "UTF-8"
up 2.1, new 587653:587684
+
__pycache__/
+
*.pyc
+
*.pyo
+
+
wxdump_work/
+
*.log
+
*.env
+
+
result
68. File addition: ".claude" in "" +dx "binary"
up 2.1, new 587746:587764
69. File addition: "settings.local.json" in ".claude" "UTF-8"
up 0.587765, new 587767:587810
+
{
+
"permissions": {
+
"allow": [
+
"Bash(python:*)",
+
"Bash(git mv:*)",
+
"Bash(git rm:*)",
+
"Bash(python3:*)",
+
"Bash(test:*)",
+
"Bash(nix develop:*)",
+
"Bash(git:*)",
+
"Bash(ss:*)",
+
"Bash(strace:*)",
+
"Bash(top:*)",
+
"Bash(kill 644939:*)",
+
"Bash(kill 645201:*)",
+
"Bash(kill 656552:*)",
+
"mcp__blueprint__enable",
+
"WebFetch(domain:ryan.freumh.org)",
+
"Bash(find:*)",
+
"Bash(ls:*)",
+
"Bash(file:*)",
+
"Bash(xxd:*)",
+
"WebSearch",
+
"WebFetch(domain:github.com)",
+
"WebFetch(domain:raw.githubusercontent.com)",
+
"Bash(curl:*)",
+
"Bash(kill 265138:*)",
+
"WebFetch(domain:zhuanlan.zhihu.com)",
+
"WebFetch(domain:aiqji.com)",
+
"WebFetch(domain:blog.csdn.net)",
+
"WebFetch(domain:www.wechatsdk.com)",
+
"Bash(gh api:*)",
+
"WebFetch(domain:bbs.kanxue.com)",
+
"WebFetch(domain:www.dktoo.top)",
+
"WebFetch(domain:ssine.ink)",
+
"WebFetch(domain:www.javaedit.com)",
+
"WebFetch(domain:webcache.googleusercontent.com)",
+
"Bash(pgrep:*)",
+
"Bash(pip install:*)"
+
]
+
}
+
}