Dict[str, Any]:\n \"\"\"用户注册主流程 - 业务协调,最高抽象层次\"\"\"\n \n # 创建用户(内部会验证)\n user_result = User.create(username, email, password, user_type)\n if not user_result.success:\n return {'success': False, 'error': user_result.error}\n \n user = user_result.user\n \n # 保存用户\n save_result = user.save()\n if not save_result.success:\n return {'success': False, 'error': save_result.error}\n \n # 发送欢迎邮件\n _send_welcome_email(user)\n \n # 返回成功结果\n return _create_success_response(user)\n\n\ndef _send_welcome_email(user: 'User') -> None:\n \"\"\"发送欢迎邮件 - 协调层职责\"\"\"\n try:\n email_content = _get_welcome_email_content(user)\n email_sender = EmailSender()\n email_sender.send(user.email, email_content)\n except Exception:\n # 邮件发送失败不影响注册\n pass\n\n\ndef _get_welcome_email_content(user: 'User') -> Dict[str, str]:\n \"\"\"获取欢迎邮件内容\"\"\"\n return user.get_welcome_email_content()\n\n\ndef _create_success_response(user: 'User') -> Dict[str, Any]:\n \"\"\"创建成功响应\"\"\"\n user_type_display = \" remium\" if user.user_type == \"premium\" else \"普通\"\n return {\n 'success': True,\n 'user_id': user.user_id,\n 'message': f'{user_type_display}用户注册成功'\n }\n"},["span",{"data-type":"text"},["span",{"data-type":"leaf"},"# ============================================================================\n# 第1层:业务协调层 - 最高抽象层次\n# ============================================================================\n\ndef register_user(username: str, email: str, password: str, user_type: str) -> Dict[str, Any]:\n \"\"\"用户注册主流程 - 业务协调,最高抽象层次\"\"\"\n \n # 创建用户(内部会验证)\n user_result = User.create(username, email, password, user_type)\n if not user_result.success:\n return {'success': False, 'error': user_result.error}\n \n user = user_result.user\n \n # 保存用户\n save_result = user.save()\n if not save_result.success:\n return {'success': False, 'error': save_result.error}\n \n # 发送欢迎邮件\n _send_welcome_email(user)\n \n # 返回成功结果\n return _create_success_response(user)\n\n\ndef _send_welcome_email(user: 'User') -> None:\n \"\"\"发送欢迎邮件 - 协调层职责\"\"\"\n try:\n email_content = _get_welcome_email_content(user)\n email_sender = EmailSender()\n email_sender.send(user.email, email_content)\n except Exception:\n # 邮件发送失败不影响注册\n pass\n\n\ndef _get_welcome_email_content(user: 'User') -> Dict[str, str]:\n \"\"\"获取欢迎邮件内容\"\"\"\n return user.get_welcome_email_content()\n\n\ndef _create_success_response(user: 'User') -> Dict[str, Any]:\n \"\"\"创建成功响应\"\"\"\n user_type_display = \" remium\" if user.user_type == \"premium\" else \"普通\"\n return {\n 'success': True,\n 'user_id': user.user_id,\n 'message': f'{user_type_display}用户注册成功'\n }\n"]]],["p",{"uuid":"md4bphm0996pi9035"},["span",{"data-type":"text"},["span",{"data-type":"leaf"},""]]],["h2",{"uuid":"md5ei3a0n5rb7gwbvr","spacing":{"before":21.333333333333332,"after":9,"line":0.8529411764705882}},["span",{"data-type":"text"},["span",{"bold":true,"sz":16,"szUnit":"pt","data-type":"leaf"},"业务对象层 - 中抽象层次,健壮的业务对象"]]],["p",{"uuid":"md5elqi1cji82w3u4xg","ind":{"firstLine":32}},["span",{"data-type":"text"},["span",{"data-type":"leaf"},"这一层是业务逻辑的“核心承载者”,如同电影拍摄中的“摄影指导”,负责将导演的抽象意图转化为具体可执行的“拍摄方案”。在这里,核心是User这个业务对象。"]]],["p",{"uuid":"md5el3hfs661v970tkn","ind":{"firstLine":32}},["span",{"data-type":"text"},["span",{"data-type":"leaf"},"它不再是一个简单的贫血数据类,而是一个健壮的、自洽的实体。它封装了与“用户”相关的所有业务规则和数据操作:"]]],["code",{"syntax":"python","theme":"default","wrap":true,"id":"9ueiqw","title":"","fold":false,"hideHeader":false,"codeFolding":false,"showLineNumber":true,"font":{"fontFamily":"defaultFont","ligatures":false},"enableMacHeader":false,"uuid":"md4bqq5xrszvaebgxun","code":"# ============================================================================\n# 第2层:业务对象层 - 中抽象层次,健壮的业务对象\n# ============================================================================\n\n@dataclass\nclass UserCreationResult:\n \"\"\"用户创建结果\"\"\"\n success: bool\n user: Optional['User'] = None\n error: Optional[str] = None\n\n\n@dataclass\nclass SaveResult:\n \"\"\"保存结果\"\"\"\n success: bool\n user_id: Optional[int] = None\n error: Optional[str] = None\n\n\nclass User:\n \"\"\"用户 - 核心业务对象,内部验证保证健壮性\"\"\"\n \n def __init__(self, username: str, email: str, password_hash: str, user_type: str):\n self.username = username\n self.email = email\n self.password_hash = password_hash\n self.user_type = user_type\n self.user_id = None\n self.created_at = datetime.now()\n \n @classmethod\n def create(cls, username: str, email: str, password: str, user_type: str) -> UserCreationResult:\n \"\"\"创建用户 - 内部验证保证健壮性\"\"\"\n \n # 验证用户类型\n if user_type not in ['regular', 'premium']:\n return UserCreationResult(success=False, error='无效的用户类型')\n \n # 验证用户名\n username_error = cls._validate_username(username, user_type)\n if username_error:\n return UserCreationResult(success=False, error=username_error)\n \n # 验证邮箱\n email_error = cls._validate_email(email)\n if email_error:\n return UserCreationResult(success=False, error=email_error)\n \n # 验证密码\n password_error = cls._validate_password(password)\n if password_error:\n return UserCreationResult(success=False, error=password_error)\n \n # 检查用户是否已存在\n if UserRepository().exists(username, email):\n return UserCreationResult(success=False, error='用户名或邮箱已存在')\n \n # 创建用户对象\n password_hash = cls._hash_password(password)\n user = cls(username, email, password_hash, user_type)\n \n return UserCreationResult(success=True, user=user)\n \n def save(self) -> SaveResult:\n \"\"\"保存用户到数据库\"\"\"\n try:\n repository = UserRepository()\n self.user_id = repository.add(self)\n return SaveResult(success=True, user_id=self.user_id)\n except Exception as e:\n return SaveResult(success=False, error=f'保存用户失败: {str(e)}')\n \n @staticmethod\n def _validate_username(username: str, user_type: str) -> Optional[str]:\n \"\"\"验证用户名\"\"\"\n if not username or not username.strip():\n return '用户名不能为空'\n \n if user_type == 'premium' and len(username) < 6:\n return 'Premium用户名至少6位'\n \n return None\n \n @staticmethod\n def _validate_email(email: str) -> Optional[str]:\n \"\"\"验证邮箱\"\"\"\n if not email or not email.strip():\n return '邮箱不能为空'\n \n pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$'\n if not re.match(pattern, email):\n return '邮箱格式不正确'\n \n return None\n \n @staticmethod\n def _validate_password(password: str) -> Optional[str]:\n \"\"\"验证密码\"\"\"\n if not password:\n return '密码不能为空'\n \n if len(password) < 8:\n return '密码必须至少8位'\n \n if not re.search(r'[A-Z]', password):\n return '密码必须包含大写字母'\n \n if not re.search(r'[0-9]', password):\n return '密码必须包含数字'\n \n return None\n \n def get_welcome_email_content(self) -> Dict[str, str]:\n \"\"\"获取欢迎邮件内容\"\"\"\n if self.user_type == 'premium':\n return {\n 'subject': '欢迎成为Premium用户!',\n 'body': f'亲爱的 {self.username},感谢您成为我们的Premium用户...'\n }\n else:\n return {\n 'subject': '欢迎注册!',\n 'body': f'亲爱的 {self.username},感谢您的注册...'\n }\n \n @staticmethod\n def _hash_password(password: str) -> str:\n \"\"\"生成密码哈希\"\"\"\n return hashlib.sha256(password.encode()).hexdigest()"},["span",{"data-type":"text"},["span",{"data-type":"leaf"},"# ============================================================================\n# 第2层:业务对象层 - 中抽象层次,健壮的业务对象\n# ============================================================================\n\n@dataclass\nclass UserCreationResult:\n \"\"\"用户创建结果\"\"\"\n success: bool\n user: Optional['User'] = None\n error: Optional[str] = None\n\n\n@dataclass\nclass SaveResult:\n \"\"\"保存结果\"\"\"\n success: bool\n user_id: Optional[int] = None\n error: Optional[str] = None\n\n\nclass User:\n \"\"\"用户 - 核心业务对象,内部验证保证健壮性\"\"\"\n \n def __init__(self, username: str, email: str, password_hash: str, user_type: str):\n self.username = username\n self.email = email\n self.password_hash = password_hash\n self.user_type = user_type\n self.user_id = None\n self.created_at = datetime.now()\n \n @classmethod\n def create(cls, username: str, email: str, password: str, user_type: str) -> UserCreationResult:\n \"\"\"创建用户 - 内部验证保证健壮性\"\"\"\n \n # 验证用户类型\n if user_type not in ['regular', 'premium']:\n return UserCreationResult(success=False, error='无效的用户类型')\n \n # 验证用户名\n username_error = cls._validate_username(username, user_type)\n if username_error:\n return UserCreationResult(success=False, error=username_error)\n \n # 验证邮箱\n email_error = cls._validate_email(email)\n if email_error:\n return UserCreationResult(success=False, error=email_error)\n \n # 验证密码\n password_error = cls._validate_password(password)\n if password_error:\n return UserCreationResult(success=False, error=password_error)\n \n # 检查用户是否已存在\n if UserRepository().exists(username, email):\n return UserCreationResult(success=False, error='用户名或邮箱已存在')\n \n # 创建用户对象\n password_hash = cls._hash_password(password)\n user = cls(username, email, password_hash, user_type)\n \n return UserCreationResult(success=True, user=user)\n \n def save(self) -> SaveResult:\n \"\"\"保存用户到数据库\"\"\"\n try:\n repository = UserRepository()\n self.user_id = repository.add(self)\n return SaveResult(success=True, user_id=self.user_id)\n except Exception as e:\n return SaveResult(success=False, error=f'保存用户失败: {str(e)}')\n \n @staticmethod\n def _validate_username(username: str, user_type: str) -> Optional[str]:\n \"\"\"验证用户名\"\"\"\n if not username or not username.strip():\n return '用户名不能为空'\n \n if user_type == 'premium' and len(username) < 6:\n return 'Premium用户名至少6位'\n \n return None\n \n @staticmethod\n def _validate_email(email: str) -> Optional[str]:\n \"\"\"验证邮箱\"\"\"\n if not email or not email.strip():\n return '邮箱不能为空'\n \n pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$'\n if not re.match(pattern, email):\n return '邮箱格式不正确'\n \n return None\n \n @staticmethod\n def _validate_password(password: str) -> Optional[str]:\n \"\"\"验证密码\"\"\"\n if not password:\n return '密码不能为空'\n \n if len(password) < 8:\n return '密码必须至少8位'\n \n if not re.search(r'[A-Z]', password):\n return '密码必须包含大写字母'\n \n if not re.search(r'[0-9]', password):\n return '密码必须包含数字'\n \n return None\n \n def get_welcome_email_content(self) -> Dict[str, str]:\n \"\"\"获取欢迎邮件内容\"\"\"\n if self.user_type == 'premium':\n return {\n 'subject': '欢迎成为Premium用户!',\n 'body': f'亲爱的 {self.username},感谢您成为我们的Premium用户...'\n }\n else:\n return {\n 'subject': '欢迎注册!',\n 'body': f'亲爱的 {self.username},感谢您的注册...'\n }\n \n @staticmethod\n def _hash_password(password: str) -> str:\n \"\"\"生成密码哈希\"\"\"\n return hashlib.sha256(password.encode()).hexdigest()"]]],["p",{"uuid":"md5ei9dm121cpj1qtbyd"},["span",{"data-type":"text"},["span",{"data-type":"leaf"},""]]],["h2",{"uuid":"md5ei9jn8g42mi3azi","spacing":{"before":21.333333333333332,"after":9,"line":0.8529411764705882}},["span",{"data-type":"text"},["span",{"bold":true,"sz":16,"szUnit":"pt","data-type":"leaf"},"基础设施层 - 最低抽象层次,纯技术实现"]]],["p",{"uuid":"md5em00qopjezg1675","ind":{"firstLine":32}},["span",{"data-type":"text"},["span",{"data-type":"leaf"},"这一层是整个体系的“灯光师”和“场务”,负责所有具体的“脏活累活”。它包含了与外部世界(如数据库、文件系统、邮件服务器等)打交道的所有技术实现。"]]],["code",{"syntax":"python","theme":"default","wrap":true,"id":"1urqtv","title":"","fold":false,"hideHeader":false,"codeFolding":false,"showLineNumber":true,"font":{"fontFamily":"defaultFont","ligatures":false},"enableMacHeader":false,"uuid":"md4br6czl054dogib0f","code":" ============================================================================\n# 第3层:基础设施层 - 最低抽象层次,纯技术实现\n# ============================================================================\n\nclass UserRepository:\n \"\"\"用户仓储 - 业务场景的数据访问\"\"\"\n \n def __init__(self):\n self.db_path = 'users.db'\n \n def exists(self, username: str, email: str) -> bool:\n \"\"\"检查用户是否存在\"\"\"\n try:\n with self._connect() as conn:\n cursor = conn.cursor()\n cursor.execute(\n \"SELECT id FROM users WHERE username = ? OR email = ?\",\n (username, email)\n )\n return cursor.fetchone() is not None\n except Exception:\n return False # 数据库错误时保守处理\n \n def add(self, user: User) -> int:\n \"\"\"添加用户记录\"\"\"\n with self._connect() as conn:\n cursor = conn.cursor()\n cursor.execute(\"\"\"\n INSERT INTO users (username, email, password_hash, user_type, created_at) \n VALUES (?, ?, ?, ?, ?)\n \"\"\", (user.username, user.email, user.password_hash, \n user.user_type, user.created_at))\n return cursor.lastrowid\n \n def _connect(self):\n \"\"\"创建数据库连接\"\"\"\n return sqlite3.connect(self.db_path)\n\n\nclass EmailSender:\n \"\"\"邮件发送器 - 纯技术实现,不包含业务逻辑\"\"\"\n \n def __init__(self):\n self.smtp_host = 'smtp.gmail.com'\n self.smtp_port = 587\n self.username = 'your_email@gmail.com'\n self.password = 'your_password'\n self.from_email = 'your_email@gmail.com'\n \n def send(self, to_email: str, content: Dict[str, str]) -> None:\n \"\"\"发送邮件\"\"\"\n if not to_email or not content:\n raise ValueError(\"邮件地址和内容不能为空\")\n \n message = self._create_message(to_email, content)\n with self._connect() as smtp:\n smtp.send_message(message)\n \n def _create_message(self, to_email: str, content: Dict[str, str]) -> MIMEText:\n \"\"\"创建邮件消息\"\"\"\n msg = MIMEText(content.get('body', ''))\n msg['Subject'] = content.get('subject', '')\n msg['From'] = self.from_email\n msg['To'] = to_email\n return msg\n \n def _connect(self):\n \"\"\"创建SMTP连接\"\"\"\n smtp = smtplib.SMTP(self.smtp_host, self.smtp_port)\n smtp.starttls()\n smtp.login(self.username, self.password)\n return smtp"},["span",{"data-type":"text"},["span",{"data-type":"leaf"}," ============================================================================\n# 第3层:基础设施层 - 最低抽象层次,纯技术实现\n# ============================================================================\n\nclass UserRepository:\n \"\"\"用户仓储 - 业务场景的数据访问\"\"\"\n \n def __init__(self):\n self.db_path = 'users.db'\n \n def exists(self, username: str, email: str) -> bool:\n \"\"\"检查用户是否存在\"\"\"\n try:\n with self._connect() as conn:\n cursor = conn.cursor()\n cursor.execute(\n \"SELECT id FROM users WHERE username = ? OR email = ?\",\n (username, email)\n )\n return cursor.fetchone() is not None\n except Exception:\n return False # 数据库错误时保守处理\n \n def add(self, user: User) -> int:\n \"\"\"添加用户记录\"\"\"\n with self._connect() as conn:\n cursor = conn.cursor()\n cursor.execute(\"\"\"\n INSERT INTO users (username, email, password_hash, user_type, created_at) \n VALUES (?, ?, ?, ?, ?)\n \"\"\", (user.username, user.email, user.password_hash, \n user.user_type, user.created_at))\n return cursor.lastrowid\n \n def _connect(self):\n \"\"\"创建数据库连接\"\"\"\n return sqlite3.connect(self.db_path)\n\n\nclass EmailSender:\n \"\"\"邮件发送器 - 纯技术实现,不包含业务逻辑\"\"\"\n \n def __init__(self):\n self.smtp_host = 'smtp.gmail.com'\n self.smtp_port = 587\n self.username = 'your_email@gmail.com'\n self.password = 'your_password'\n self.from_email = 'your_email@gmail.com'\n \n def send(self, to_email: str, content: Dict[str, str]) -> None:\n \"\"\"发送邮件\"\"\"\n if not to_email or not content:\n raise ValueError(\"邮件地址和内容不能为空\")\n \n message = self._create_message(to_email, content)\n with self._connect() as smtp:\n smtp.send_message(message)\n \n def _create_message(self, to_email: str, content: Dict[str, str]) -> MIMEText:\n \"\"\"创建邮件消息\"\"\"\n msg = MIMEText(content.get('body', ''))\n msg['Subject'] = content.get('subject', '')\n msg['From'] = self.from_email\n msg['To'] = to_email\n return msg\n \n def _connect(self):\n \"\"\"创建SMTP连接\"\"\"\n smtp = smtplib.SMTP(self.smtp_host, self.smtp_port)\n smtp.starttls()\n smtp.login(self.username, self.password)\n return smtp"]]],["p",{"uuid":"md4ea0rcrqf3cpedjz"},["span",{"data-type":"text"},["span",{"data-type":"leaf"},""]]],["p",{"uuid":"md5eqfih9w1gd1r264d"},["span",{"data-type":"text"},["span",{"data-type":"leaf"},"整个实现的架构如图:"]]],["p",{"uuid":"md5exzya6mhdsh4izx8"},["span",{"data-type":"text"},["span",{"data-type":"leaf"},""]],["img",{"uuid":"nk8tmo","name":"image.png","size":474263,"width":868,"height":443.8538993089832,"src":"https://oss-ata.alibaba.com/article/2025/07/c2dc525f-6955-4b85-b6b3-8f18778785b4.png"},["span",{"data-type":"text"},["span",{"data-type":"leaf"},""]]],["span",{"data-type":"text"},["span",{"data-type":"leaf"},""]]],["p",{},["span",{"data-type":"text"},["span",{"data-type":"leaf"},""]]],["h1",{"uuid":"md4gjvhy30lnlnl2zui","spacing":{"before":26.666666666666664,"after":9,"line":0.8529411764705882}},["span",{"data-type":"text"},["span",{"bold":true,"sz":20,"szUnit":"pt","data-type":"leaf"},"小结"]]],["p",{"uuid":"md482k4oq47a0f0ucdk","ind":{"firstLine":32}},["span",{"data-type":"text"},["span",{"data-type":"leaf"},"就像一个好导演绝不会亲自去调灯光色纸一样,好的代码也应该各司其职、层次分明。当你的函数既要考虑\"用户注册的业务逻辑\",又要纠结\"SMTP服务器配置\"时,你就成了那个\"爱抢活的导演\"——看似很忙很全能,实际上把整个剧组都搞得一团糟。"]]],["p",{"uuid":"md5ev89q4z35lore1u6"},["span",{"data-type":"text"},["span",{"data-type":"leaf"},"这 个问题在AI时代变得更加微妙。AI擅长生成局部完美的代码片段,就像一个技艺精湛但缺乏大局观的\"万能助理\"——它能帮你写出完美的SMTP配置,也能生成漂亮的密码验证逻辑,但它不会主动告诉你\"这些东西不应该混在一个函数里\"。AI越强大,开发者的架构思维就越重要"]]],["p",{"uuid":"md5ev89qu4prng09p9j","ind":{"firstLine":32}},["span",{"data-type":"text"},["span",{"data-type":"leaf"},"在AI可以秒生代码的今天,真正的价值不在于写得多快,而在于想得多清楚——毕竟,没有人希望维护一个由AI生成的\"意大利面条式巨无霸函数\",那种感觉就像拿到了一个大猩猩、香蕉和整个丛林的打包组合...而你只是想吃个香蕉。"]]],["p",{"uuid":"md4bogluds8tkwz848h"},["span",{"data-type":"text"},["span",{"data-type":"leaf"},""]]],["p",{"uuid":"md4bogxm7l8rczor6km"},["span",{"data-type":"text"},["span",{"data-type":"leaf"},""]]],["p",{"uuid":"md4a0idsu3p6r908s9h"},["span",{"data-type":"text"},["span",{"data-type":"leaf"},""]]]]" data-identifier-application__slash__x-cangjie-fragment="JTdCJTIya2xhc3MlMjIlM0ElMjJkb2N1bWVudCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJjb3B5RnJvbSUyMiUzQTM1OTU4NzQ0MiU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIydXVpZCUyMiUzQSUyMm1kNDgyazRtYnM5endoZGJ6dmIlMjIlMkMlMjJpbmQlMjIlM0ElN0IlMjJmaXJzdExpbmUlMjIlM0EzMiU3RCU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiVFNSU5QyVBOCVFNyU5NCVCNSVFNSVCRCVCMSVFNyU4OSU4NyVFNSU5QyVCQSVFRiVCQyU4QyVFNCVCOCU4MCVFNCVCOCVBQSVFNCVCQyU5OCVFNyVBNyU4MCVFNyU5QSU4NCVFNSVBRiVCQyVFNiVCQyU5NCVFNiU5OCVBRiVFNSVBNiU4MiVFNCVCRCU5NSVFNSVCNyVBNSVFNCVCRCU5QyVFNyU5QSU4NCVFRiVCQyU5RiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDQ4Mms0bTJhNWF2cThvNHhzJTIyJTJDJTIyaW5kJTIyJTNBJTdCJTIyZmlyc3RMaW5lJTIyJTNBMzIlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRTQlQkIlOTYlRTQlQkMlOUElRTglQjclOUYlRTYlOTElODQlRTUlQkQlQjElRTYlOEMlODclRTUlQUYlQkMlRTglQUYlQjQlRUYlQkMlOUElRTIlODAlOUMlRTYlODglOTElRTUlQjglOEMlRTYlOUMlOUIlRTglQkYlOTklRTQlQjglQUElRTklOTUlOUMlRTUlQTQlQjQlRTglODMlQkQlRTQlQkMlQTAlRTglQkUlQkUlRTUlODclQkElRTQlQjglQkIlRTglQTclOTIlRTUlODYlODUlRTUlQkYlODMlRTclOUElODQlRTUlQUQlQTQlRTclOEIlQUMlRTUlOTIlOEMlRTclQkIlOUQlRTYlOUMlOUIlRTYlODQlOUYlRUYlQkMlOEMlRTYlODglOTElRTQlQkIlQUMlRTclOTQlQTglRTUlODYlQjclRTglODklQjIlRTglQjAlODMlRUYlQkMlOEMlRTYlOUUlODQlRTUlOUIlQkUlRTglQTYlODElRTclQTklQkElRTYlOTclQjclRTQlQjglODAlRTQlQkElOUIlRTMlODAlODIlRTIlODAlOUQlMjAlRUYlQkMlODglRTglQkYlOTklRTYlOTglQUYlRTklQTElQjYlRTUlQjElODIlRTYlODQlOEYlRTUlOUIlQkUlRTUlOTIlOEMlRTglODklQkElRTYlOUMlQUYlRTYlOTYlQjklRTUlOTAlOTElRUYlQkMlODklMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCU1RCUyQyUyMmNvbnRlbnRUeXBlJTIyJTNBJTIyY2FuZ2ppZS10ZXh0YmxvY2slMjIlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ1dWlkJTIyJTNBJTIybWQ0ODJrNG4zMjBsdWZubTR1cSUyMiUyQyUyMmluZCUyMiUzQSU3QiUyMmZpcnN0TGluZSUyMiUzQTMyJTdEJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJUU3JTg0JUI2JUU1JTkwJThFJUVGJUJDJThDJUU2JTkxJTg0JUU1JUJEJUIxJUU2JThDJTg3JUU1JUFGJUJDJUU0JUJDJTlBJUU2JThBJThBJUU4JUJGJTk5JUU0JUI4JUFBJUU2JThBJUJEJUU4JUIxJUExJUU3JTlBJTg0JUUyJTgwJTlDJUU2JTg0JThGJUU1JTlCJUJFJUUyJTgwJTlEJUU3JUJGJUJCJUU4JUFGJTkxJUU2JTg4JTkwJUU1JTg1JUI3JUU0JUJEJTkzJUU3JTlBJTg0JUU2JTg5JUE3JUU4JUExJThDJUU2JTk2JUI5JUU2JUExJTg4JUVGJUJDJThDJUU1JTkxJThBJUU4JUFGJTg5JUU3JTgxJUFGJUU1JTg1JTg5JUU1JUI4JTg4JUVGJUJDJTlBJUUyJTgwJTlDJUU2JTg4JTkxJUU0JUJCJUFDJUU5JTlDJTgwJUU4JUE2JTgxJUU0JUI4JTgwJUU0JUI4JUFBJUU5JUExJUI2JUU1JTg1JTg5JUVGJUJDJThDJUU3JTk0JUE4JUU0JUJEJThFJUU4JTg5JUIyJUU2JUI4JUE5JUU3JTlBJTg0JUU1JTg1JTg5JUU2JUJBJTkwJUVGJUJDJThDJUU2JThBJThBJUU1JTkxJUE4JUU1JTlCJUI0JUU3JThFJUFGJUU1JUEyJTgzJUU3JTlBJTg0JUU0JUJBJUFFJUU1JUJBJUE2JUU5JTk5JThEJUU0JUI4JThCJUU2JTlEJUE1JUVGJUJDJThDJUU0JUJBJUJBJUU3JTg5JUE5JUU5JTlEJUEyJUU5JTgzJUE4JUU3JTlBJTg0JUU5JTk4JUI0JUU1JUJEJUIxJUU4JUE2JTgxJUU3JUExJUFDJUU0JUI4JTgwJUU0JUJBJTlCJUUzJTgwJTgyJUUyJTgwJTlEJTIwJUVGJUJDJTg4JUU4JUJGJTk5JUU2JTk4JUFGJUU0JUI4JUFEJUU1JUIxJTgyJUU2JThBJTgwJUU2JTlDJUFGJUU2JTk2JUI5JUU2JUExJTg4JUVGJUJDJTg5JTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlN0QlNUQlMkMlMjJjb250ZW50VHlwZSUyMiUzQSUyMmNhbmdqaWUtdGV4dGJsb2NrJTIyJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIydXVpZCUyMiUzQSUyMm1kNDgyazRubWQ4cHByZnZwYzglMjIlMkMlMjJpbmQlMjIlM0ElN0IlMjJmaXJzdExpbmUlMjIlM0EzMiU3RCU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiVFNiU5QyU4MCVFNSU5MCU4RSVFRiVCQyU4QyVFNyU4MSVBRiVFNSU4NSU4OSVFNSVCOCU4OCVFNCVCQyU5QSVFNiU4QyU4NyVFNiU4QyVBNSVFNSVCNyVBNSVFNCVCRCU5QyVFNCVCQSVCQSVFNSU5MSU5OCVFRiVCQyU5QSVFMiU4MCU5QyVFNiU4QSU4QSVFOSU4MiVBMyVFNyU5QiU4RjJLJUU3JTlBJTg0JUU4JThGJUIyJUU2JUI2JTg1JUU1JUIwJTk0JUU5JTgwJThGJUU5JTk1JTlDJUU3JTgxJUFGJUU1JTkwJThBJUU4JUI1JUI3JUU2JTlEJUE1JUVGJUJDJThDJUU4JUEzJTg1JUU0JUI4JThBMSUyRjQlRTclOUElODQlRTglOTMlOUQlRTglODklQjIlRTglODklQjIlRTclQkElQjglRUYlQkMlOEMlRTclOTQlQTglRTklQkIlOTElRTYlOTclOTclRTYlOEElOEElRTUlQjclQTYlRTglQkUlQjklRTclOUElODQlRTUlODUlODklRTYlOEMlQTElRTYlOEUlODklRTMlODAlODIlRTIlODAlOUQlMjAlRUYlQkMlODglRTglQkYlOTklRTYlOTglQUYlRTUlQkElOTUlRTUlQjElODIlRTUlODUlQjclRTQlQkQlOTMlRTYlOTMlOEQlRTQlQkQlOUMlRUYlQkMlODklMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCU1RCUyQyUyMmNvbnRlbnRUeXBlJTIyJTNBJTIyY2FuZ2ppZS10ZXh0YmxvY2slMjIlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ1dWlkJTIyJTNBJTIybWQ0ODJrNG5waGxkdm82dGk0ZyUyMiU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDQ4Mms0bmxsZGJ1ZWx3ZnNyJTIyJTJDJTIyaW5kJTIyJTNBJTdCJTIyZmlyc3RMaW5lJTIyJTNBMzIlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRTglQkYlOTklRTYlOTglQUYlRTQlQjglODAlRTQlQjglQUElRTYlOUQlODMlRTglQjQlQTMlRTYlQjglODUlRTYlOTklQjAlRTMlODAlODElRTYlQjIlOUYlRTklODAlOUElRTklQUIlOTglRTYlOTUlODglRTclOUElODQlRTQlQkQlOTMlRTclQjMlQkIlRTMlODAlODIlRTYlQUYlOEYlRTQlQjglODAlRTUlQjElODIlRTclOUElODQlRTQlQkElQkElRTklODMlQkQlRTQlQjglOTMlRTYlQjMlQTglRTQlQkElOEUlRTglODclQUElRTUlQjclQjElRTglQUYlQTUlRTUlQjklQjIlRTclOUElODQlRTQlQkElOEIlRTMlODAlODIlRTklODIlQTMlRTQlQjklODglRTglODMlQkQlRTUlQTQlOUYlRTglOTAlQTUlRTklODAlQTAlRTUlODclQkElRTYlOUMlODAlRTclQkIlODglRTYlODglOTAlRTUlOEElOUYlRTclOUElODQlRTQlQkQlOUMlRTUlOTMlODElRTMlODAlODIlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCU1RCUyQyUyMmNvbnRlbnRUeXBlJTIyJTNBJTIyY2FuZ2ppZS10ZXh0YmxvY2slMjIlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ1dWlkJTIyJTNBJTIybWQ0OGIwYXViczZ5ZHdlNmx4ZCUyMiUyQyUyMmluZCUyMiUzQSU3QiUyMmZpcnN0TGluZSUyMiUzQTMyJTdEJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmlubGluZSUyMiUyQyUyMnR5cGUlMjIlM0ElMjJpbWFnZSUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ1dWlkJTIyJTNBJTIybWQ1ZXc5dmcwZ2Y2dnZpdXN6MyUyMiUyQyUyMm5hbWUlMjIlM0ElMjJpbWFnZS5wbmclMjIlMkMlMjJzaXplJTIyJTNBMjA5NzcxMiUyQyUyMndpZHRoJTIyJTNBNzQ4JTJDJTIyaGVpZ2h0JTIyJTNBNDk4LjY2NjY2NjY2NjY2NjclMkMlMjJzcmMlMjIlM0ElMjJodHRwcyUzQSUyRiUyRm9zcy1hdGEuYWxpYmFiYS5jb20lMkZhcnRpY2xlJTJGMjAyNSUyRjA3JTJGMTJhNzI0NGQtMjY3NS00ODliLWIyOGEtMTYwOGI4Yjc0YmFhLnBuZyUyMiUyQyUyMmV4dHJhRGF0YSUyMiUzQSU3QiUyMnJlc291cmNlSWQlMjIlM0ElMjJhYjZiY2FhMS1lOGI0LTQ0N2QtOTMxMi02MzdlZDc3MzUwZGElMjIlMkMlMjJtZXRhRGF0YSUyMiUzQSU3QiUyMnNpemUlMjIlM0EyMDk3NzEyJTJDJTIyb3JpZ2luV2lkdGglMjIlM0ExNTM2JTJDJTIyb3JpZ2luSGVpZ2h0JTIyJTNBMTAyNCUyQyUyMmZvcm1hdCUyMiUzQSUyMnBuZyUyMiUyQyUyMnJhdGlvJTIyJTNBMSU3RCU3RCU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDQ4YjBmd2N6c2pxY25sMHRvJTIyJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlN0QlNUQlMkMlMjJjb250ZW50VHlwZSUyMiUzQSUyMmNhbmdqaWUtdGV4dGJsb2NrJTIyJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIydXVpZCUyMiUzQSUyMm1kNDgyazRub29jdHU2dWZ6NyUyMiU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDQ4Mms0bnZoNnRsaThsNHNjJTIyJTJDJTIyaW5kJTIyJTNBJTdCJTIyZmlyc3RMaW5lJTIyJTNBMzIlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRTclOEUlQjAlRTUlOUMlQTglRUYlQkMlOEMlRTYlODMlQjMlRTglQjElQTElRTQlQjglODAlRTQlQjglQUElRTclQjMlOUYlRTclQjMlOTUlRTclOUElODQlRTMlODAlODElRTclODglQjElRTYlOEElQTIlRTYlQjQlQkIlRTclOUElODQlRTUlQUYlQkMlRTYlQkMlOTQlRTMlODAlODIlRTQlQkIlOTYlRTQlQkMlOUElRTUlOUMlQTglRTclODklODclRTUlOUMlQkElRTUlQTQlQTclRTUlOTYlOEElRUYlQkMlOUElMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCU1RCUyQyUyMmNvbnRlbnRUeXBlJTIyJTNBJTIyY2FuZ2ppZS10ZXh0YmxvY2slMjIlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ1dWlkJTIyJTNBJTIybWQ0ODJrNG5yamY2ZGpkOXptJTIyJTJDJTIyaW5kJTIyJTNBJTdCJTIyZmlyc3RMaW5lJTIyJTNBMzIlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRTIlODAlOUMlRTYlODglOTElRTglQTYlODElRTUlQUQlQTQlRTclOEIlQUMlRTYlODQlOUYlRUYlQkMlODElRTUlQjAlOEYlRTclOEUlOEIlRUYlQkMlOEMlRTUlOEUlQkIlRUYlQkMlOEMlRTYlOEElOEElRTklODIlQTMlRTclOUIlOEYySyVFNyU5QSU4NCVFOCU4RiVCMiVFNiVCNiU4NSVFNSVCMCU5NCVFNyU4MSVBRiVFNyVCQiU5OSVFNiU4OCU5MSVFOCVBMyU4NSVFNCVCOCU4QTElMkY0JUU3JTlBJTg0JUU4JTkzJTlEJUU4JTg5JUIyJUU4JTg5JUIyJUU3JUJBJUI4JUVGJUJDJTgxJUUyJTgwJUE2JUUyJTgwJUE2JUU0JUI4JThEJUU1JUFGJUI5JUVGJUJDJThDJUU1JTkyJUIxJUU0JUJCJUFDJUU4JUJGJTk5JUU0JUI4JUFBJUU5JTk1JTlDJUU1JUE0JUI0JUU3JTlBJTg0JUU2JTlFJTg0JUU1JTlCJUJFJUU2JTk4JUFGJUU0JUI4JThEJUU2JTk4JUFGJUU1JUE0JUFBJUU3JUE5JUJBJUU0JUJBJTg2JUVGJUJDJTlGJUU2JUJDJTk0JUU1JTkxJTk4JUVGJUJDJThDJUU0JUJEJUEwJUU3JTlBJTg0JUU2JTgzJTg1JUU3JUJCJUFBJUU1JTg2JThEJUU3JUJCJTlEJUU2JTlDJTlCJUU0JUI4JTgwJUU3JTgyJUI5JUVGJUJDJTgxJUUyJTgwJTlEJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlN0QlNUQlMkMlMjJjb250ZW50VHlwZSUyMiUzQSUyMmNhbmdqaWUtdGV4dGJsb2NrJTIyJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIydXVpZCUyMiUzQSUyMm1kNDgyazRvY2l2MnpscjExNzklMjIlMkMlMjJpbmQlMjIlM0ElN0IlMjJmaXJzdExpbmUlMjIlM0EzMiU3RCU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDQ4M3hxbGh4anVoYnh4a2ZqJTIyJTJDJTIyaW5kJTIyJTNBJTdCJTIyZmlyc3RMaW5lJTIyJTNBMzIlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRTUlQkQlOTMlRTUlQUYlQkMlRTYlQkMlOTQlRTYlOUMlQUMlRTQlQkElQkElRTclOUIlQjQlRTYlOEUlQTUlRTglQjclQjMlRTQlQjglOEIlRTUlOEUlQkIlRTYlOEMlODclRTYlOEMlQTUlRTclODElQUYlRTUlODUlODklRTUlQjglODglRTUlOEElQTklRTclOTAlODYlRTIlODAlOUMlRTYlOEQlQTIlRTglODklQjIlRTclQkElQjglRTIlODAlOUQlRTYlOTclQjYlRUYlQkMlOEMlRTQlQkMlOUElRTYlODklOTMlRTQlQjklQjElRTQlQkElODYlRTYlOTUlQjQlRTQlQjglQUElRTUlODglOUIlRTQlQkQlOUMlRTclOUElODQlRTIlODAlOUMlRTYlOEElQkQlRTglQjElQTElRTUlQjElODIlRTYlQUMlQTElRTIlODAlOUQlRTMlODAlODIlRTQlQkIlOTYlRTclOUElODQlRTYlODAlOUQlRTclQkIlQjQlRTUlOUMlQTglRTIlODAlOUMlRTYlOUMlODAlRTclQkIlODglRTglODklQkElRTYlOUMlQUYlRTYlOTUlODglRTYlOUUlOUMlRTIlODAlOUQlRTUlOTIlOEMlRTIlODAlOUMlRTUlODUlQjclRTQlQkQlOTMlRTclODElQUYlRTUlODUlQjclRTUlOUUlOEIlRTUlOEYlQjclRTIlODAlOUQlRTQlQjklOEIlRTklOTclQjQlRTYlOUQlQTUlRTUlOUIlOUUlRTglQjclQjMlRTglQjclODMlRUYlQkMlOEMlRTUlQUYlQkMlRTglODclQjQlRTclOUElODQlRTclQkIlOTMlRTYlOUUlOUMlRTUlQjAlQjElRTYlOTglQUYlRUYlQkMlOUElRTUlOUMlQTglRTUlOUMlQkElRTclOUElODQlRTYlODklODAlRTYlOUMlODklRTQlQkElQkElRUYlQkMlODglRTUlOEMlODUlRTYlOEIlQUMlRTQlQkIlOTYlRTglODclQUElRTUlQjclQjElRUYlQkMlODklRTklODMlQkQlRTYlODQlOUYlRTUlODglQjAlRTYlQjclQjclRTQlQjklQjElRUYlQkMlOEMlRTYlOTclQTAlRTYlQjMlOTUlRTklOUIlODYlRTQlQjglQUQlRTclQjIlQkUlRTUlOEElOUIlRTUlQUUlOEMlRTYlODglOTAlRTglODclQUElRTUlQjclQjElRTUlQjElODIlRTclQkElQTclRTclOUElODQlRTYlOUMlQUMlRTglODElOEMlRTUlQjclQTUlRTQlQkQlOUMlRUYlQkMlOEMlRTYlOUMlODAlRTclQkIlODglRTclOUElODQlRTglODklQkElRTYlOUMlQUYlRTYlOTUlODglRTYlOUUlOUMlRTQlQjklOUYlRTUlQkYlODUlRTclODQlQjYlRTUlQTQlQTclRTYlODklOTMlRTYlOEElOTglRTYlODklQTMlRTMlODAlODIlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCU1RCUyQyUyMmNvbnRlbnRUeXBlJTIyJTNBJTIyY2FuZ2ppZS10ZXh0YmxvY2slMjIlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ1dWlkJTIyJTNBJTIybWQ0YTBsZzFxazQ3MWE2ZHp2ayUyMiUyQyUyMmluZCUyMiUzQSU3QiU3RCU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIyaGVhZGluZy0xJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDRhMG1iczE5anE0N2k0bnY4JTIyJTJDJTIyaW5kJTIyJTNBJTdCJTdEJTJDJTIyc3BhY2luZyUyMiUzQSU3QiUyMmJlZm9yZSUyMiUzQTI2LjY2NjY2NjY2NjY2NjY2NCUyQyUyMmFmdGVyJTIyJTNBOSUyQyUyMmxpbmUlMjIlM0EwLjg1Mjk0MTE3NjQ3MDU4ODIlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRTglQkQlQUYlRTQlQkIlQjYlRTUlQjclQTUlRTclQTglOEIlRTUlQjElODIlRTklOUQlQTIlRTclOUElODQlRTYlOEElQkQlRTglQjElQTElRTUlQjElODIlRTYlQUMlQTElRTYlQjclQjclRTQlQjklQjElMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJib2xkJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJzeiUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ2YWx1ZSUyMiUzQTIwJTJDJTIyc3pVbml0JTIyJTNBJTIycHQlMjIlN0QlN0QlNUQlN0QlNUQlN0QlNUQlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ1dWlkJTIyJTNBJTIybWQ0ZjdxOXNyOGZ6ZXF3eG9iYyUyMiUyQyUyMmluZCUyMiUzQSU3QiUyMmZpcnN0TGluZSUyMiUzQTMyJTdEJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJUU2JTlDJTgwJUU4JUJGJTkxJUU0JUJGJUFFJUU2JTk0JUI5Y29kZWJhc2UlRTQlQjglQUQlRTclOUElODQlRTQlQjglODAlRTQlQkElOUIlRTQlQkIlQTMlRTclQTAlODElRUYlQkMlOEMlRTYlQjMlQTglRTYlODQlOEYlRTUlODglQjAlRTYlOUMlODklRTUlQkUlODglRTUlQTQlOUElRTQlQkIlQTMlRTclQTAlODElRTUlQUQlOTglRTUlOUMlQTglRTUlQTQlOUElRTQlQjglQUElRTYlOEElQkQlRTglQjElQTElRTUlQjElODIlRTYlQUMlQTElRTYlQjclQjclRTclOTQlQTglRTclOUElODQlRTclOEElQjYlRTUlODYlQjUlRUYlQkMlOEMlRTklOUMlODAlRTglQTYlODElRTQlQkYlQUUlRTYlOTQlQjklRTclOUElODRCdWclRTYlQUQlQTMlRTUlQTUlQkQlRTUlOTIlOEMlRTglQUYlQTUlRTklOTclQUUlRTklQTIlOTglRTYlOUMlODklRTUlODUlQjMlRUYlQkMlOEMlRTQlQjglOEQlRTglQjQlQjQlRTUlOEUlOUYlRTQlQkIlQTMlRTclQTAlODElRUYlQkMlOEMlRTklODAlOUElRTglQkYlODdBSSVFRiVCQyU4QyVFNSU4OCU5QiVFOSU4MCVBMCVFNSU4NyVCQSVFOSVBMyU4RSVFNiVBMCVCQyVFNyVCMSVCQiVFNCVCQyVCQyVFNyU5QSU4NCVFNCVCQiVBMyVFNyVBMCU4MSVFRiVCQyU4QyVFNSVBNiU4MiVFNCVCOCU4QiUzQSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDRlem1sZW9sM2kyMTFmaXMlMjIlMkMlMjJpbmQlMjIlM0ElN0IlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCU1RCUyQyUyMmNvbnRlbnRUeXBlJTIyJTNBJTIyY2FuZ2ppZS10ZXh0YmxvY2slMjIlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmNvZGUlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIyc3ludGF4JTIyJTNBJTIybXMlMjBzcWwlMjIlMkMlMjJ0aGVtZSUyMiUzQSUyMmRlZmF1bHQlMjIlMkMlMjJ3cmFwJTIyJTNBdHJ1ZSUyQyUyMmlkJTIyJTNBJTIyb3pyZHlsJTIyJTJDJTIydGl0bGUlMjIlM0ElMjIlMjIlMkMlMjJmb2xkJTIyJTNBZmFsc2UlMkMlMjJoaWRlSGVhZGVyJTIyJTNBZmFsc2UlMkMlMjJjb2RlRm9sZGluZyUyMiUzQWZhbHNlJTJDJTIyc2hvd0xpbmVOdW1iZXIlMjIlM0F0cnVlJTJDJTIyZm9udCUyMiUzQSU3QiUyMmZvbnRGYW1pbHklMjIlM0ElMjJkZWZhdWx0Rm9udCUyMiUyQyUyMmxpZ2F0dXJlcyUyMiUzQWZhbHNlJTdEJTJDJTIyZW5hYmxlTWFjSGVhZGVyJTIyJTNBZmFsc2UlMkMlMjJ1dWlkJTIyJTNBJTIybWQ0YXh0MmVzMzN5dG1odG5hciUyMiUyQyUyMmNvZGUlMjIlM0ElMjJkZWYlMjByZWdpc3Rlcl91c2VyKHVzZXJuYW1lJTJDJTIwZW1haWwlMkMlMjBwYXNzd29yZCUyQyUyMHVzZXJfdHlwZSklM0ElNUNuJTVDbiUyMCUyMCUyMCUyMCUyMyUyMCVFNyVBQyVBQzElRTUlQjElODIlRUYlQkMlOUElRTQlQjglOUElRTUlOEElQTElRTklODAlQkIlRTglQkUlOTElRTUlQjElODIlMjAtJTIwJUU0JUI4JTlBJUU1JThBJUExJUU4JUE3JTg0JUU1JTg4JTk5JUU1JTg4JUE0JUU2JTk2JUFEJTVDbiUyMCUyMCUyMCUyMGlmJTIwdXNlcl90eXBlJTIwJTNEJTNEJTIwJ3ByZW1pdW0nJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGlmJTIwbGVuKHVzZXJuYW1lKSUyMCUzQyUyMDYlM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTdCJ3N1Y2Nlc3MnJTNBJTIwRmFsc2UlMkMlMjAnZXJyb3InJTNBJTIwJ1ByZW1pdW0lRTclOTQlQTglRTYlODglQjclRTUlOTAlOEQlRTglODclQjMlRTUlQjAlOTE2JUU0JUJEJThEJyU3RCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjAlRTQlQjglOUElRTUlOEElQTElRTglQTclODQlRTUlODglOTklRUYlQkMlOUFwcmVtaXVtJUU3JTk0JUE4JUU2JTg4JUI3JUU5JTlDJTgwJUU4JUE2JTgxJUU3JTg5JUI5JUU2JUFFJThBJUU5JUFBJThDJUU4JUFGJTgxJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNwZWNpYWxfdmFsaWRhdGlvbl9uZWVkZWQlMjAlM0QlMjBUcnVlJTVDbiUyMCUyMCUyMCUyMGVsc2UlM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc3BlY2lhbF92YWxpZGF0aW9uX25lZWRlZCUyMCUzRCUyMEZhbHNlJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjMlMjAlRTclQUMlQUMyJUU1JUIxJTgyJUVGJUJDJTlBJUU2JTk1JUIwJUU2JThEJUFFJUU1JUE0JTg0JUU3JTkwJTg2JUU1JUIxJTgyJTIwLSUyMCVFNiU5NSVCMCVFNiU4RCVBRSVFOSVBQSU4QyVFOCVBRiU4MSVFNSU5MiU4QyVFOCVCRCVBQyVFNiU4RCVBMiU1Q24lMjAlMjAlMjAlMjAlMjMlMjAlRTklODIlQUUlRTclQUUlQjElRTYlQTAlQkMlRTUlQkMlOEYlRTklQUElOEMlRTglQUYlODElNUNuJTIwJTIwJTIwJTIwaWYlMjBub3QlMjByZS5tYXRjaChyJyU1RSU1QmEtekEtWjAtOS5fJTI1JTJCLSU1RCUyQiU0MCU1QmEtekEtWjAtOS4tJTVEJTJCJTVDJTVDLiU1QmEtekEtWiU1RCU3QjIlMkMlN0QlMjQnJTJDJTIwZW1haWwpJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMCU3QidzdWNjZXNzJyUzQSUyMEZhbHNlJTJDJTIwJ2Vycm9yJyUzQSUyMCclRTklODIlQUUlRTclQUUlQjElRTYlQTAlQkMlRTUlQkMlOEYlRTQlQjglOEQlRTYlQUQlQTMlRTclQTElQUUnJTdEJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjMlMjAlRTUlQUYlODYlRTclQTAlODElRTUlQkMlQkElRTUlQkElQTYlRTYlQTMlODAlRTYlOUYlQTUlNUNuJTIwJTIwJTIwJTIwaWYlMjBsZW4ocGFzc3dvcmQpJTIwJTNDJTIwOCUyMG9yJTIwbm90JTIwcmUuc2VhcmNoKHInJTVCQS1aJTVEJyUyQyUyMHBhc3N3b3JkKSUyMG9yJTIwbm90JTIwcmUuc2VhcmNoKHInJTVCMC05JTVEJyUyQyUyMHBhc3N3b3JkKSUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjAlN0Inc3VjY2VzcyclM0ElMjBGYWxzZSUyQyUyMCdlcnJvciclM0ElMjAnJUU1JUFGJTg2JUU3JUEwJTgxJUU1JUJGJTg1JUU5JUExJUJCJUU4JTg3JUIzJUU1JUIwJTkxOCVFNCVCRCU4RCVFNCVCOCU5NCVFNSU4QyU4NSVFNSU5MCVBQiVFNSVBNCVBNyVFNSU4NiU5OSVFNSVBRCU5NyVFNiVBRiU4RCVFNSU5MiU4QyVFNiU5NSVCMCVFNSVBRCU5NyclN0QlNUNuJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCUyMyUyMCVFNSVBRiU4NiVFNyVBMCU4MSVFNSU4QSVBMCVFNSVBRiU4NiU1Q24lMjAlMjAlMjAlMjBwYXNzd29yZF9oYXNoJTIwJTNEJTIwaGFzaGxpYi5zaGEyNTYocGFzc3dvcmQuZW5jb2RlKCkpLmhleGRpZ2VzdCgpJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjMlMjAlRTclQUMlQUMzJUU1JUIxJTgyJUVGJUJDJTlBJUU1JUJBJTk1JUU1JUIxJTgyJUU2JThBJTgwJUU2JTlDJUFGJUU3JUJCJTg2JUU4JThBJTgyJTIwLSUyMCVFNiU5NSVCMCVFNiU4RCVBRSVFNSVCQSU5MyVFNiU5MyU4RCVFNCVCRCU5QyU1Q24lMjAlMjAlMjAlMjB0cnklM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwJUU3JTlCJUI0JUU2JThFJUE1JUU1JTlDJUE4JUU0JUI4JTlBJUU1JThBJUExJUU1JTg3JUJEJUU2JTk1JUIwJUU0JUI4JUFEJUU1JUE0JTg0JUU3JTkwJTg2JUU2JTk1JUIwJUU2JThEJUFFJUU1JUJBJTkzJUU4JUJGJTlFJUU2JThFJUE1JTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGNvbm4lMjAlM0QlMjBzcWxpdGUzLmNvbm5lY3QoJ3VzZXJzLmRiJyklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwY3Vyc29yJTIwJTNEJTIwY29ubi5jdXJzb3IoKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwJUU2JUEzJTgwJUU2JTlGJUE1JUU3JTk0JUE4JUU2JTg4JUI3JUU2JTk4JUFGJUU1JTkwJUE2JUU1JUI3JUIyJUU1JUFEJTk4JUU1JTlDJUE4JTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGN1cnNvci5leGVjdXRlKCU1QyUyMlNFTEVDVCUyMGlkJTIwRlJPTSUyMHVzZXJzJTIwV0hFUkUlMjB1c2VybmFtZSUyMCUzRCUyMCUzRiUyME9SJTIwZW1haWwlMjAlM0QlMjAlM0YlNUMlMjIlMkMlMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwKHVzZXJuYW1lJTJDJTIwZW1haWwpKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZiUyMGN1cnNvci5mZXRjaG9uZSgpJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGNvbm4uY2xvc2UoKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjAlN0Inc3VjY2VzcyclM0ElMjBGYWxzZSUyQyUyMCdlcnJvciclM0ElMjAnJUU3JTk0JUE4JUU2JTg4JUI3JUU1JTkwJThEJUU2JTg4JTk2JUU5JTgyJUFFJUU3JUFFJUIxJUU1JUI3JUIyJUU1JUFEJTk4JUU1JTlDJUE4JyU3RCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwJUU2JThGJTkyJUU1JTg1JUE1JUU3JTk0JUE4JUU2JTg4JUI3JUU2JTk1JUIwJUU2JThEJUFFJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGN1cnNvci5leGVjdXRlKCU1QyUyMiU1QyUyMiU1QyUyMiU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBJTlNFUlQlMjBJTlRPJTIwdXNlcnMlMjAodXNlcm5hbWUlMkMlMjBlbWFpbCUyQyUyMHBhc3N3b3JkX2hhc2glMkMlMjB1c2VyX3R5cGUlMkMlMjBjcmVhdGVkX2F0KSUyMCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBWQUxVRVMlMjAoJTNGJTJDJTIwJTNGJTJDJTIwJTNGJTJDJTIwJTNGJTJDJTIwJTNGKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUMlMjIlNUMlMjIlNUMlMjIlMkMlMjAodXNlcm5hbWUlMkMlMjBlbWFpbCUyQyUyMHBhc3N3b3JkX2hhc2glMkMlMjB1c2VyX3R5cGUlMkMlMjBkYXRldGltZS5ub3coKSkpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB1c2VyX2lkJTIwJTNEJTIwY3Vyc29yLmxhc3Ryb3dpZCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBjb25uLmNvbW1pdCgpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGNvbm4uY2xvc2UoKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwZXhjZXB0JTIwc3FsaXRlMy5FcnJvciUyMGFzJTIwZSUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjAlRTQlQjglOUElRTUlOEElQTElRTUlQjElODIlRTglQTIlQUIlRTglQkYlQUIlRTUlQTQlODQlRTclOTAlODYlRTYlOTUlQjAlRTYlOEQlQUUlRTUlQkElOTMlRTYlOEElODAlRTYlOUMlQUYlRTclQkIlODYlRTglOEElODIlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTdCJ3N1Y2Nlc3MnJTNBJTIwRmFsc2UlMkMlMjAnZXJyb3InJTNBJTIwZiclRTYlOTUlQjAlRTYlOEQlQUUlRTUlQkElOTMlRTklOTQlOTklRTglQUYlQUYlM0ElMjAlN0JzdHIoZSklN0QnJTdEJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjMlMjAlRTclQUMlQUMzJUU1JUIxJTgyJUVGJUJDJTlBJUU1JUJBJTk1JUU1JUIxJTgyJUU2JThBJTgwJUU2JTlDJUFGJUU3JUJCJTg2JUU4JThBJTgyJTIwLSUyMCVFOSU4MiVBRSVFNCVCQiVCNiVFNSU4RiU5MSVFOSU4MCU4MSU1Q24lMjAlMjAlMjAlMjB0cnklM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwJUU0JUI4JTlBJUU1JThBJUExJUU1JTg3JUJEJUU2JTk1JUIwJUU3JTlCJUI0JUU2JThFJUE1JUU1JUE0JTg0JUU3JTkwJTg2U01UUCVFOSU4NSU4RCVFNyVCRCVBRSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzbXRwX3NlcnZlciUyMCUzRCUyMHNtdHBsaWIuU01UUCgnc210cC5nbWFpbC5jb20nJTJDJTIwNTg3KSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzbXRwX3NlcnZlci5zdGFydHRscygpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNtdHBfc2VydmVyLmxvZ2luKCd5b3VyX2VtYWlsJTQwZ21haWwuY29tJyUyQyUyMCd5b3VyX3Bhc3N3b3JkJyklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMyUyMCVFNiVBMCVCOSVFNiU4RCVBRSVFNyU5NCVBOCVFNiU4OCVCNyVFNyVCMSVCQiVFNSU5RSU4QiVFNSU4RiU5MSVFOSU4MCU4MSVFNCVCOCU4RCVFNSU5MCU4QyVFOSU4MiVBRSVFNCVCQiVCNiVFRiVCQyU4OCVFNCVCOCU5QSVFNSU4QSVBMSVFOSU4MCVCQiVFOCVCRSU5MSVFNCVCOCU4RSVFNiU4QSU4MCVFNiU5QyVBRiVFNyVCQiU4NiVFOCU4QSU4MiVFNiVCNyVCNyVFNiU5RCU4MiVFRiVCQyU4OSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZiUyMHVzZXJfdHlwZSUyMCUzRCUzRCUyMCdwcmVtaXVtJyUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzdWJqZWN0JTIwJTNEJTIwJTVDJTIyJUU2JUFDJUEyJUU4JUJGJThFJUU2JTg4JTkwJUU0JUI4JUJBUHJlbWl1bSVFNyU5NCVBOCVFNiU4OCVCNyVFRiVCQyU4MSU1QyUyMiU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBib2R5JTIwJTNEJTIwZiU1QyUyMiVFNCVCQSVCMiVFNyU4OCVCMSVFNyU5QSU4NCUyMCU3QnVzZXJuYW1lJTdEJUVGJUJDJThDJUU2JTg0JTlGJUU4JUIwJUEyJUU2JTgyJUE4JUU2JTg4JTkwJUU0JUI4JUJBJUU2JTg4JTkxJUU0JUJCJUFDJUU3JTlBJTg0UHJlbWl1bSVFNyU5NCVBOCVFNiU4OCVCNy4uLiU1QyUyMiU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbHNlJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHN1YmplY3QlMjAlM0QlMjAlNUMlMjIlRTYlQUMlQTIlRTglQkYlOEUlRTYlQjMlQTglRTUlODYlOEMlRUYlQkMlODElNUMlMjIlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwYm9keSUyMCUzRCUyMGYlNUMlMjIlRTQlQkElQjIlRTclODglQjElRTclOUElODQlMjAlN0J1c2VybmFtZSU3RCVFRiVCQyU4QyVFNiU4NCU5RiVFOCVCMCVBMiVFNiU4MiVBOCVFNyU5QSU4NCVFNiVCMyVBOCVFNSU4NiU4Qy4uLiU1QyUyMiU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbXNnJTIwJTNEJTIwTUlNRVRleHQoYm9keSklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbXNnJTVCJ1N1YmplY3QnJTVEJTIwJTNEJTIwc3ViamVjdCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBtc2clNUInRnJvbSclNUQlMjAlM0QlMjAneW91cl9lbWFpbCU0MGdtYWlsLmNvbSclNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbXNnJTVCJ1RvJyU1RCUyMCUzRCUyMGVtYWlsJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzbXRwX3NlcnZlci5zZW5kX21lc3NhZ2UobXNnKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzbXRwX3NlcnZlci5xdWl0KCklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMGV4Y2VwdCUyMHNtdHBsaWIuU01UUEV4Y2VwdGlvbiUyMGFzJTIwZSUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjAlRTQlQjglOUElRTUlOEElQTElRTUlQjElODIlRTglQTIlQUIlRTglQkYlQUIlRTUlQTQlODQlRTclOTAlODYlRTklODIlQUUlRTQlQkIlQjYlRTYlOUMlOEQlRTUlOEElQTElRTUlOTklQTglRTYlOEElODAlRTYlOUMlQUYlRTclQkIlODYlRTglOEElODIlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwJUU4JUJGJTk5JUU5JTg3JThDJUU4JUJGJTk4JUU4JUE2JTgxJUU4JTgwJTgzJUU4JTk5JTkxJUVGJUJDJTlBJUU5JTgyJUFFJUU0JUJCJUI2JUU1JThGJTkxJUU5JTgwJTgxJUU1JUE0JUIxJUU4JUI0JUE1JUU0JUJBJTg2JUVGJUJDJThDJUU4JUE2JTgxJUU0JUI4JThEJUU4JUE2JTgxJUU1JTlCJTlFJUU2JUJCJTlBJUU2JTk1JUIwJUU2JThEJUFFJUU1JUJBJTkzJUVGJUJDJTlGJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHBhc3MlMjAlMjAlMjMlMjAlRTUlODUlODglRTUlQkYlQkQlRTclOTUlQTUlRTklODIlQUUlRTQlQkIlQjYlRTUlOEYlOTElRTklODAlODElRTUlQTQlQjElRTglQjQlQTUlNUNuJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCUyMyUyMCVFNyVBQyVBQzElRTUlQjElODIlRUYlQkMlOUElRTQlQjglOUElRTUlOEElQTElRTklODAlQkIlRTglQkUlOTElRTUlQjElODIlMjAtJTIwJUU4JUJGJTk0JUU1JTlCJTlFJUU0JUI4JTlBJUU1JThBJUExJUU3JUJCJTkzJUU2JTlFJTlDJTVDbiUyMCUyMCUyMCUyMHJldHVybiUyMCU3QiU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAnc3VjY2VzcyclM0ElMjBUcnVlJTJDJTIwJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCd1c2VyX2lkJyUzQSUyMHVzZXJfaWQlMkMlMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJ21lc3NhZ2UnJTNBJTIwZiclN0IlNUMlMjJQcmVtaXVtJTVDJTIyJTIwaWYlMjB1c2VyX3R5cGUlMjAlM0QlM0QlMjAlNUMlMjJwcmVtaXVtJTVDJTIyJTIwZWxzZSUyMCU1QyUyMiVFNiU5OSVBRSVFOSU4MCU5QSU1QyUyMiU3RCVFNyU5NCVBOCVFNiU4OCVCNyVFNiVCMyVBOCVFNSU4NiU4QyVFNiU4OCU5MCVFNSU4QSU5RiclMjIlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjJkZWYlMjByZWdpc3Rlcl91c2VyKHVzZXJuYW1lJTJDJTIwZW1haWwlMkMlMjBwYXNzd29yZCUyQyUyMHVzZXJfdHlwZSklM0ElNUNuJTVDbiUyMCUyMCUyMCUyMCUyMyUyMCVFNyVBQyVBQzElRTUlQjElODIlRUYlQkMlOUElRTQlQjglOUElRTUlOEElQTElRTklODAlQkIlRTglQkUlOTElRTUlQjElODIlMjAtJTIwJUU0JUI4JTlBJUU1JThBJUExJUU4JUE3JTg0JUU1JTg4JTk5JUU1JTg4JUE0JUU2JTk2JUFEJTVDbiUyMCUyMCUyMCUyMGlmJTIwdXNlcl90eXBlJTIwJTNEJTNEJTIwJ3ByZW1pdW0nJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGlmJTIwbGVuKHVzZXJuYW1lKSUyMCUzQyUyMDYlM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTdCJ3N1Y2Nlc3MnJTNBJTIwRmFsc2UlMkMlMjAnZXJyb3InJTNBJTIwJ1ByZW1pdW0lRTclOTQlQTglRTYlODglQjclRTUlOTAlOEQlRTglODclQjMlRTUlQjAlOTE2JUU0JUJEJThEJyU3RCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjAlRTQlQjglOUElRTUlOEElQTElRTglQTclODQlRTUlODglOTklRUYlQkMlOUFwcmVtaXVtJUU3JTk0JUE4JUU2JTg4JUI3JUU5JTlDJTgwJUU4JUE2JTgxJUU3JTg5JUI5JUU2JUFFJThBJUU5JUFBJThDJUU4JUFGJTgxJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNwZWNpYWxfdmFsaWRhdGlvbl9uZWVkZWQlMjAlM0QlMjBUcnVlJTVDbiUyMCUyMCUyMCUyMGVsc2UlM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc3BlY2lhbF92YWxpZGF0aW9uX25lZWRlZCUyMCUzRCUyMEZhbHNlJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjMlMjAlRTclQUMlQUMyJUU1JUIxJTgyJUVGJUJDJTlBJUU2JTk1JUIwJUU2JThEJUFFJUU1JUE0JTg0JUU3JTkwJTg2JUU1JUIxJTgyJTIwLSUyMCVFNiU5NSVCMCVFNiU4RCVBRSVFOSVBQSU4QyVFOCVBRiU4MSVFNSU5MiU4QyVFOCVCRCVBQyVFNiU4RCVBMiU1Q24lMjAlMjAlMjAlMjAlMjMlMjAlRTklODIlQUUlRTclQUUlQjElRTYlQTAlQkMlRTUlQkMlOEYlRTklQUElOEMlRTglQUYlODElNUNuJTIwJTIwJTIwJTIwaWYlMjBub3QlMjByZS5tYXRjaChyJyU1RSU1QmEtekEtWjAtOS5fJTI1JTJCLSU1RCUyQiU0MCU1QmEtekEtWjAtOS4tJTVEJTJCJTVDJTVDLiU1QmEtekEtWiU1RCU3QjIlMkMlN0QlMjQnJTJDJTIwZW1haWwpJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMCU3QidzdWNjZXNzJyUzQSUyMEZhbHNlJTJDJTIwJ2Vycm9yJyUzQSUyMCclRTklODIlQUUlRTclQUUlQjElRTYlQTAlQkMlRTUlQkMlOEYlRTQlQjglOEQlRTYlQUQlQTMlRTclQTElQUUnJTdEJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjMlMjAlRTUlQUYlODYlRTclQTAlODElRTUlQkMlQkElRTUlQkElQTYlRTYlQTMlODAlRTYlOUYlQTUlNUNuJTIwJTIwJTIwJTIwaWYlMjBsZW4ocGFzc3dvcmQpJTIwJTNDJTIwOCUyMG9yJTIwbm90JTIwcmUuc2VhcmNoKHInJTVCQS1aJTVEJyUyQyUyMHBhc3N3b3JkKSUyMG9yJTIwbm90JTIwcmUuc2VhcmNoKHInJTVCMC05JTVEJyUyQyUyMHBhc3N3b3JkKSUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjAlN0Inc3VjY2VzcyclM0ElMjBGYWxzZSUyQyUyMCdlcnJvciclM0ElMjAnJUU1JUFGJTg2JUU3JUEwJTgxJUU1JUJGJTg1JUU5JUExJUJCJUU4JTg3JUIzJUU1JUIwJTkxOCVFNCVCRCU4RCVFNCVCOCU5NCVFNSU4QyU4NSVFNSU5MCVBQiVFNSVBNCVBNyVFNSU4NiU5OSVFNSVBRCU5NyVFNiVBRiU4RCVFNSU5MiU4QyVFNiU5NSVCMCVFNSVBRCU5NyclN0QlNUNuJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCUyMyUyMCVFNSVBRiU4NiVFNyVBMCU4MSVFNSU4QSVBMCVFNSVBRiU4NiU1Q24lMjAlMjAlMjAlMjBwYXNzd29yZF9oYXNoJTIwJTNEJTIwaGFzaGxpYi5zaGEyNTYocGFzc3dvcmQuZW5jb2RlKCkpLmhleGRpZ2VzdCgpJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjMlMjAlRTclQUMlQUMzJUU1JUIxJTgyJUVGJUJDJTlBJUU1JUJBJTk1JUU1JUIxJTgyJUU2JThBJTgwJUU2JTlDJUFGJUU3JUJCJTg2JUU4JThBJTgyJTIwLSUyMCVFNiU5NSVCMCVFNiU4RCVBRSVFNSVCQSU5MyVFNiU5MyU4RCVFNCVCRCU5QyU1Q24lMjAlMjAlMjAlMjB0cnklM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwJUU3JTlCJUI0JUU2JThFJUE1JUU1JTlDJUE4JUU0JUI4JTlBJUU1JThBJUExJUU1JTg3JUJEJUU2JTk1JUIwJUU0JUI4JUFEJUU1JUE0JTg0JUU3JTkwJTg2JUU2JTk1JUIwJUU2JThEJUFFJUU1JUJBJTkzJUU4JUJGJTlFJUU2JThFJUE1JTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGNvbm4lMjAlM0QlMjBzcWxpdGUzLmNvbm5lY3QoJ3VzZXJzLmRiJyklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwY3Vyc29yJTIwJTNEJTIwY29ubi5jdXJzb3IoKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwJUU2JUEzJTgwJUU2JTlGJUE1JUU3JTk0JUE4JUU2JTg4JUI3JUU2JTk4JUFGJUU1JTkwJUE2JUU1JUI3JUIyJUU1JUFEJTk4JUU1JTlDJUE4JTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGN1cnNvci5leGVjdXRlKCU1QyUyMlNFTEVDVCUyMGlkJTIwRlJPTSUyMHVzZXJzJTIwV0hFUkUlMjB1c2VybmFtZSUyMCUzRCUyMCUzRiUyME9SJTIwZW1haWwlMjAlM0QlMjAlM0YlNUMlMjIlMkMlMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwKHVzZXJuYW1lJTJDJTIwZW1haWwpKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZiUyMGN1cnNvci5mZXRjaG9uZSgpJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGNvbm4uY2xvc2UoKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjAlN0Inc3VjY2VzcyclM0ElMjBGYWxzZSUyQyUyMCdlcnJvciclM0ElMjAnJUU3JTk0JUE4JUU2JTg4JUI3JUU1JTkwJThEJUU2JTg4JTk2JUU5JTgyJUFFJUU3JUFFJUIxJUU1JUI3JUIyJUU1JUFEJTk4JUU1JTlDJUE4JyU3RCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwJUU2JThGJTkyJUU1JTg1JUE1JUU3JTk0JUE4JUU2JTg4JUI3JUU2JTk1JUIwJUU2JThEJUFFJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGN1cnNvci5leGVjdXRlKCU1QyUyMiU1QyUyMiU1QyUyMiU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBJTlNFUlQlMjBJTlRPJTIwdXNlcnMlMjAodXNlcm5hbWUlMkMlMjBlbWFpbCUyQyUyMHBhc3N3b3JkX2hhc2glMkMlMjB1c2VyX3R5cGUlMkMlMjBjcmVhdGVkX2F0KSUyMCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBWQUxVRVMlMjAoJTNGJTJDJTIwJTNGJTJDJTIwJTNGJTJDJTIwJTNGJTJDJTIwJTNGKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUMlMjIlNUMlMjIlNUMlMjIlMkMlMjAodXNlcm5hbWUlMkMlMjBlbWFpbCUyQyUyMHBhc3N3b3JkX2hhc2glMkMlMjB1c2VyX3R5cGUlMkMlMjBkYXRldGltZS5ub3coKSkpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB1c2VyX2lkJTIwJTNEJTIwY3Vyc29yLmxhc3Ryb3dpZCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBjb25uLmNvbW1pdCgpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGNvbm4uY2xvc2UoKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwZXhjZXB0JTIwc3FsaXRlMy5FcnJvciUyMGFzJTIwZSUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjAlRTQlQjglOUElRTUlOEElQTElRTUlQjElODIlRTglQTIlQUIlRTglQkYlQUIlRTUlQTQlODQlRTclOTAlODYlRTYlOTUlQjAlRTYlOEQlQUUlRTUlQkElOTMlRTYlOEElODAlRTYlOUMlQUYlRTclQkIlODYlRTglOEElODIlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTdCJ3N1Y2Nlc3MnJTNBJTIwRmFsc2UlMkMlMjAnZXJyb3InJTNBJTIwZiclRTYlOTUlQjAlRTYlOEQlQUUlRTUlQkElOTMlRTklOTQlOTklRTglQUYlQUYlM0ElMjAlN0JzdHIoZSklN0QnJTdEJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjMlMjAlRTclQUMlQUMzJUU1JUIxJTgyJUVGJUJDJTlBJUU1JUJBJTk1JUU1JUIxJTgyJUU2JThBJTgwJUU2JTlDJUFGJUU3JUJCJTg2JUU4JThBJTgyJTIwLSUyMCVFOSU4MiVBRSVFNCVCQiVCNiVFNSU4RiU5MSVFOSU4MCU4MSU1Q24lMjAlMjAlMjAlMjB0cnklM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwJUU0JUI4JTlBJUU1JThBJUExJUU1JTg3JUJEJUU2JTk1JUIwJUU3JTlCJUI0JUU2JThFJUE1JUU1JUE0JTg0JUU3JTkwJTg2U01UUCVFOSU4NSU4RCVFNyVCRCVBRSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzbXRwX3NlcnZlciUyMCUzRCUyMHNtdHBsaWIuU01UUCgnc210cC5nbWFpbC5jb20nJTJDJTIwNTg3KSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzbXRwX3NlcnZlci5zdGFydHRscygpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNtdHBfc2VydmVyLmxvZ2luKCd5b3VyX2VtYWlsJTQwZ21haWwuY29tJyUyQyUyMCd5b3VyX3Bhc3N3b3JkJyklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMyUyMCVFNiVBMCVCOSVFNiU4RCVBRSVFNyU5NCVBOCVFNiU4OCVCNyVFNyVCMSVCQiVFNSU5RSU4QiVFNSU4RiU5MSVFOSU4MCU4MSVFNCVCOCU4RCVFNSU5MCU4QyVFOSU4MiVBRSVFNCVCQiVCNiVFRiVCQyU4OCVFNCVCOCU5QSVFNSU4QSVBMSVFOSU4MCVCQiVFOCVCRSU5MSVFNCVCOCU4RSVFNiU4QSU4MCVFNiU5QyVBRiVFNyVCQiU4NiVFOCU4QSU4MiVFNiVCNyVCNyVFNiU5RCU4MiVFRiVCQyU4OSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZiUyMHVzZXJfdHlwZSUyMCUzRCUzRCUyMCdwcmVtaXVtJyUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzdWJqZWN0JTIwJTNEJTIwJTVDJTIyJUU2JUFDJUEyJUU4JUJGJThFJUU2JTg4JTkwJUU0JUI4JUJBUHJlbWl1bSVFNyU5NCVBOCVFNiU4OCVCNyVFRiVCQyU4MSU1QyUyMiU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBib2R5JTIwJTNEJTIwZiU1QyUyMiVFNCVCQSVCMiVFNyU4OCVCMSVFNyU5QSU4NCUyMCU3QnVzZXJuYW1lJTdEJUVGJUJDJThDJUU2JTg0JTlGJUU4JUIwJUEyJUU2JTgyJUE4JUU2JTg4JTkwJUU0JUI4JUJBJUU2JTg4JTkxJUU0JUJCJUFDJUU3JTlBJTg0UHJlbWl1bSVFNyU5NCVBOCVFNiU4OCVCNy4uLiU1QyUyMiU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbHNlJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHN1YmplY3QlMjAlM0QlMjAlNUMlMjIlRTYlQUMlQTIlRTglQkYlOEUlRTYlQjMlQTglRTUlODYlOEMlRUYlQkMlODElNUMlMjIlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwYm9keSUyMCUzRCUyMGYlNUMlMjIlRTQlQkElQjIlRTclODglQjElRTclOUElODQlMjAlN0J1c2VybmFtZSU3RCVFRiVCQyU4QyVFNiU4NCU5RiVFOCVCMCVBMiVFNiU4MiVBOCVFNyU5QSU4NCVFNiVCMyVBOCVFNSU4NiU4Qy4uLiU1QyUyMiU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbXNnJTIwJTNEJTIwTUlNRVRleHQoYm9keSklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbXNnJTVCJ1N1YmplY3QnJTVEJTIwJTNEJTIwc3ViamVjdCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBtc2clNUInRnJvbSclNUQlMjAlM0QlMjAneW91cl9lbWFpbCU0MGdtYWlsLmNvbSclNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbXNnJTVCJ1RvJyU1RCUyMCUzRCUyMGVtYWlsJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzbXRwX3NlcnZlci5zZW5kX21lc3NhZ2UobXNnKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzbXRwX3NlcnZlci5xdWl0KCklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMGV4Y2VwdCUyMHNtdHBsaWIuU01UUEV4Y2VwdGlvbiUyMGFzJTIwZSUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjAlRTQlQjglOUElRTUlOEElQTElRTUlQjElODIlRTglQTIlQUIlRTglQkYlQUIlRTUlQTQlODQlRTclOTAlODYlRTklODIlQUUlRTQlQkIlQjYlRTYlOUMlOEQlRTUlOEElQTElRTUlOTklQTglRTYlOEElODAlRTYlOUMlQUYlRTclQkIlODYlRTglOEElODIlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwJUU4JUJGJTk5JUU5JTg3JThDJUU4JUJGJTk4JUU4JUE2JTgxJUU4JTgwJTgzJUU4JTk5JTkxJUVGJUJDJTlBJUU5JTgyJUFFJUU0JUJCJUI2JUU1JThGJTkxJUU5JTgwJTgxJUU1JUE0JUIxJUU4JUI0JUE1JUU0JUJBJTg2JUVGJUJDJThDJUU4JUE2JTgxJUU0JUI4JThEJUU4JUE2JTgxJUU1JTlCJTlFJUU2JUJCJTlBJUU2JTk1JUIwJUU2JThEJUFFJUU1JUJBJTkzJUVGJUJDJTlGJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHBhc3MlMjAlMjAlMjMlMjAlRTUlODUlODglRTUlQkYlQkQlRTclOTUlQTUlRTklODIlQUUlRTQlQkIlQjYlRTUlOEYlOTElRTklODAlODElRTUlQTQlQjElRTglQjQlQTUlNUNuJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCUyMyUyMCVFNyVBQyVBQzElRTUlQjElODIlRUYlQkMlOUElRTQlQjglOUElRTUlOEElQTElRTklODAlQkIlRTglQkUlOTElRTUlQjElODIlMjAtJTIwJUU4JUJGJTk0JUU1JTlCJTlFJUU0JUI4JTlBJUU1JThBJUExJUU3JUJCJTkzJUU2JTlFJTlDJTVDbiUyMCUyMCUyMCUyMHJldHVybiUyMCU3QiU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAnc3VjY2VzcyclM0ElMjBUcnVlJTJDJTIwJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCd1c2VyX2lkJyUzQSUyMHVzZXJfaWQlMkMlMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJ21lc3NhZ2UnJTNBJTIwZiclN0IlNUMlMjJQcmVtaXVtJTVDJTIyJTIwaWYlMjB1c2VyX3R5cGUlMjAlM0QlM0QlMjAlNUMlMjJwcmVtaXVtJTVDJTIyJTIwZWxzZSUyMCU1QyUyMiVFNiU5OSVBRSVFOSU4MCU5QSU1QyUyMiU3RCVFNyU5NCVBOCVFNiU4OCVCNyVFNiVCMyVBOCVFNSU4NiU4QyVFNiU4OCU5MCVFNSU4QSU5RiclMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCU1RCUyQyUyMmNvbnRlbnRUeXBlJTIyJTNBJTIyY2FuZ2ppZS12b2lkYmxvY2slMjIlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ1dWlkJTIyJTNBJTIybWQ0ZmptdXY4YXhiYXozb210ZiUyMiU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDRmam95MmZ5eDU3NXRhM2hpJTIyJTJDJTIyaW5kJTIyJTNBJTdCJTIyZmlyc3RMaW5lJTIyJTNBMzIlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRTYlOTUlQjQlRTQlQjglQUElRTQlQkIlQTMlRTclQTAlODElRTQlQkIlOEUlRTYlOEElQkQlRTglQjElQTElRTglQTclOTIlRTUlQkElQTYlRUYlQkMlOEMlRTUlOEYlQUYlRTQlQkIlQTUlRTclOUMlOEIlRTUlODElOUElRTYlOTglQUYlRTQlQjglODAlRTQlQjglQUElRTQlQjglOUElRTUlOEElQTElRTUlOEQlOTUlRTUlODUlODMlRTclOUElODQlRTUlQUUlOEMlRTYlOTUlQjQlRTYlOTMlOEQlRTQlQkQlOUMlRUYlQkMlOEMlRTclQTQlQkElRTQlQkUlOEIlRTQlQkIlQTMlRTclQTAlODElRTYlOTglQUYlRTQlQjglODAlRTYlQUMlQTElRTclOTQlQTglRTYlODglQjclRTYlQjMlQTglRTUlODYlOEMlRUYlQkMlOUElMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCU1RCUyQyUyMmNvbnRlbnRUeXBlJTIyJTNBJTIyY2FuZ2ppZS10ZXh0YmxvY2slMjIlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ1dWlkJTIyJTNBJTIybWQ0Zm9vOTV1Mjk1c2FxdGhtOSUyMiUyQyUyMmluZCUyMiUzQSU3QiUyMmxlZnQlMjIlM0EwJTdEJTJDJTIybGlzdCUyMiUzQSU3QiUyMmxpc3RJZCUyMiUzQSUyMjV1bnJodjVsc2Q4JTIyJTJDJTIybGV2ZWwlMjIlM0EwJTJDJTIyaXNUYXNrTGlzdCUyMiUzQWZhbHNlJTJDJTIyaXNPcmRlcmVkJTIyJTNBZmFsc2UlMkMlMjJsaXN0U3R5bGVUeXBlJTIyJTNBJTIyU0NJUl9FQ0lSX1NSRUMlMjIlMkMlMjJzeW1ib2xTdHlsZSUyMiUzQSU3QiU3RCUyQyUyMmxpc3RTdHlsZSUyMiUzQSU3QiUyMmZvcm1hdCUyMiUzQSUyMmJ1bGxldCUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRTIlOTclOEYlMjIlMkMlMjJhbGlnbiUyMiUzQSUyMmxlZnQlMjIlN0QlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRTglQkUlOTMlRTUlODUlQTUlRTklQUElOEMlRTglQUYlODElRTQlQjglOEUlRTglQTclODQlRTUlODglOTklRTYlQTMlODAlRTYlOUYlQTUlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJib2xkJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlMjAtJTIwJUU2JUEwJUI5JUU2JThEJUFFJUU3JTk0JUE4JUU2JTg4JUI3JUU3JUIxJUJCJUU1JTlFJThCJUU2JTg5JUE3JUU4JUExJThDJUU0JUI4JThEJUU1JTkwJThDJUU3JTlBJTg0JUU0JUI4JTlBJUU1JThBJUExJUU4JUE3JTg0JUU1JTg4JTk5JUU2JUEwJUExJUU5JUFBJThDJUVGJUJDJThDJUU1JUFGJUI5JUU5JTgyJUFFJUU3JUFFJUIxJUU2JUEwJUJDJUU1JUJDJThGJUUzJTgwJTgxJUU1JUFGJTg2JUU3JUEwJTgxJUU1JUJDJUJBJUU1JUJBJUE2JUU3JUFEJTg5JUU1JTg1JUIzJUU5JTk0JUFFJUU2JTk1JUIwJUU2JThEJUFFJUU4JUJGJTlCJUU4JUExJThDJUU1JTkwJTg4JUU2JUIzJTk1JUU2JTgwJUE3JUU5JUFBJThDJUU4JUFGJTgxJUUzJTgwJTgyJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlN0QlNUQlMkMlMjJjb250ZW50VHlwZSUyMiUzQSUyMmNhbmdqaWUtdGV4dGJsb2NrJTIyJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIydXVpZCUyMiUzQSUyMm1kNGZvbzk1M21weWJ6azUyeDUlMjIlMkMlMjJpbmQlMjIlM0ElN0IlMjJsZWZ0JTIyJTNBMCU3RCUyQyUyMmxpc3QlMjIlM0ElN0IlMjJsaXN0SWQlMjIlM0ElMjI1dW5yaHY1bHNkOCUyMiUyQyUyMmxldmVsJTIyJTNBMCUyQyUyMmlzVGFza0xpc3QlMjIlM0FmYWxzZSUyQyUyMmlzT3JkZXJlZCUyMiUzQWZhbHNlJTJDJTIybGlzdFN0eWxlVHlwZSUyMiUzQSUyMlNDSVJfRUNJUl9TUkVDJTIyJTJDJTIyc3ltYm9sU3R5bGUlMjIlM0ElN0IlN0QlMkMlMjJsaXN0U3R5bGUlMjIlM0ElN0IlMjJmb3JtYXQlMjIlM0ElMjJidWxsZXQlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJUUyJTk3JThGJTIyJTJDJTIyYWxpZ24lMjIlM0ElMjJsZWZ0JTIyJTdEJTdEJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJUU2JTk1JUIwJUU2JThEJUFFJUU4JUJEJUFDJUU2JThEJUEyJUU0JUI4JThFJUU2JThDJTgxJUU0JUI5JTg1JUU1JThDJTk2JTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyYm9sZCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTIwLSUyMCVFNSVCMCU4NiVFNSU4RSU5RiVFNSVBNyU4QiVFNSVBRiU4NiVFNyVBMCU4MSVFOCVCRCVBQyVFNiU4RCVBMiVFNCVCOCVCQSVFNSU5MyU4OCVFNSVCOCU4QyVFNSU4MCVCQyVFRiVCQyU4QyVFNiVBMyU4MCVFNiU5RiVBNSVFNyU5NCVBOCVFNiU4OCVCNyVFNSU5NCVBRiVFNCVCOCU4MCVFNiU4MCVBNyVFNyVCQSVBNiVFNiU5RCU5RiVFRiVCQyU4QyVFNSVCMCU4NiVFNyU5NCVBOCVFNiU4OCVCNyVFNCVCRiVBMSVFNiU4MSVBRiVFNSVBRCU5OCVFNSU4MiVBOCVFNSU4OCVCMCVFNiU5NSVCMCVFNiU4RCVBRSVFNSVCQSU5MyVFNCVCOCVBRCVFOCU4RSVCNyVFNSU4RiU5NiVFNyU5NCVBOCVFNiU4OCVCN0lEJUUzJTgwJTgyJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlN0QlNUQlMkMlMjJjb250ZW50VHlwZSUyMiUzQSUyMmNhbmdqaWUtdGV4dGJsb2NrJTIyJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIydXVpZCUyMiUzQSUyMm1kNGZvbzk1ZjZwZ3ZhN3lnYmMlMjIlMkMlMjJpbmQlMjIlM0ElN0IlMjJsZWZ0JTIyJTNBMCU3RCUyQyUyMmxpc3QlMjIlM0ElN0IlMjJsaXN0SWQlMjIlM0ElMjI1dW5yaHY1bHNkOCUyMiUyQyUyMmxldmVsJTIyJTNBMCUyQyUyMmlzVGFza0xpc3QlMjIlM0FmYWxzZSUyQyUyMmlzT3JkZXJlZCUyMiUzQWZhbHNlJTJDJTIybGlzdFN0eWxlVHlwZSUyMiUzQSUyMlNDSVJfRUNJUl9TUkVDJTIyJTJDJTIyc3ltYm9sU3R5bGUlMjIlM0ElN0IlN0QlMkMlMjJsaXN0U3R5bGUlMjIlM0ElN0IlMjJmb3JtYXQlMjIlM0ElMjJidWxsZXQlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJUUyJTk3JThGJTIyJTJDJTIyYWxpZ24lMjIlM0ElMjJsZWZ0JTIyJTdEJTdEJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJUU1JUE0JTk2JUU5JTgzJUE4JUU2JTlDJThEJUU1JThBJUExJUU0JUJBJUE0JUU0JUJBJTkyJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyYm9sZCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTIwLSUyMCVFNiVBMCVCOSVFNiU4RCVBRSVFNyU5NCVBOCVFNiU4OCVCNyVFNyVCMSVCQiVFNSU5RSU4QiVFNiU5RSU4NCVFOSU4MCVBMCVFNyU5QiVCOCVFNSVCQSU5NCVFNyU5QSU4NCVFNiVBQyVBMiVFOCVCRiU4RSVFOSU4MiVBRSVFNCVCQiVCNiVFNSU4NiU4NSVFNSVBRSVCOSVFRiVCQyU4QyVFOSU4MCU5QSVFOCVCRiU4N1NNVFAlRTYlOUMlOEQlRTUlOEElQTElRTUlOEYlOTElRTklODAlODElRTklODAlOUElRTclOUYlQTUlRTklODIlQUUlRTQlQkIlQjYlRTUlQUUlOEMlRTYlODglOTAlRTclOTQlQTglRTYlODglQjclRTQlQkQlOTMlRTklQUElOEMlRTklOTclQUQlRTclOEUlQUYlRTMlODAlODIlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCU1RCUyQyUyMmNvbnRlbnRUeXBlJTIyJTNBJTIyY2FuZ2ppZS10ZXh0YmxvY2slMjIlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ1dWlkJTIyJTNBJTIybWQ0Zm9vOTZtY3VnZzh3bWw0JTIyJTJDJTIyaW5kJTIyJTNBJTdCJTIybGVmdCUyMiUzQTAlN0QlMkMlMjJsaXN0JTIyJTNBJTdCJTIybGlzdElkJTIyJTNBJTIyNXVucmh2NWxzZDglMjIlMkMlMjJsZXZlbCUyMiUzQTAlMkMlMjJpc1Rhc2tMaXN0JTIyJTNBZmFsc2UlMkMlMjJpc09yZGVyZWQlMjIlM0FmYWxzZSUyQyUyMmxpc3RTdHlsZVR5cGUlMjIlM0ElMjJTQ0lSX0VDSVJfU1JFQyUyMiUyQyUyMnN5bWJvbFN0eWxlJTIyJTNBJTdCJTdEJTJDJTIybGlzdFN0eWxlJTIyJTNBJTdCJTIyZm9ybWF0JTIyJTNBJTIyYnVsbGV0JTIyJTJDJTIydGV4dCUyMiUzQSUyMiVFMiU5NyU4RiUyMiUyQyUyMmFsaWduJTIyJTNBJTIybGVmdCUyMiU3RCU3RCU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiVFNyVCQiU5MyVFNiU5RSU5QyVFNSVCMCU4MSVFOCVBMyU4NSVFNCVCOCU4RSVFOCVCRiU5NCVFNSU5QiU5RSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmJvbGQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyMC0lMjAlRTUlQjAlODYlRTYlOTMlOEQlRTQlQkQlOUMlRTclQkIlOTMlRTYlOUUlOUMlRTMlODAlODElRTclOTQlQTglRTYlODglQjdJRCVFMyU4MCU4MSVFNyU4QSVCNiVFNiU4MCU4MSVFNCVCRiVBMSVFNiU4MSVBRiVFNyVCQiU5RiVFNCVCOCU4MCVFNSVCMCU4MSVFOCVBMyU4NSVFNiU4OCU5MCVFNiVBMCU4NyVFNSU4NyU4NiVFNSU5MyU4RCVFNSVCQSU5NCVFNiVBMCVCQyVFNSVCQyU4RiVFRiVCQyU4QyVFNCVCOCVCQSVFNCVCOCU4QSVFNSVCMSU4MiVFOCVCMCU4MyVFNyU5NCVBOCVFNiU4RiU5MCVFNCVCRSU5QiVFNiVCOCU4NSVFNiU5OSVCMCVFNyU5QSU4NCVFNiU4OSVBNyVFOCVBMSU4QyVFNSU4RiU4RCVFOSVBNiU4OCVFMyU4MCU4MiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDRmcGF6cjN5eTZ4a25rZjkyJTIyJTJDJTIyaW5kJTIyJTNBJTdCJTIybGVmdCUyMiUzQTAlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCU1RCUyQyUyMmNvbnRlbnRUeXBlJTIyJTNBJTIyY2FuZ2ppZS10ZXh0YmxvY2slMjIlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ1dWlkJTIyJTNBJTIybWQ0ZnBjOTQwM2ljZXc2amRmcTYlMjIlMkMlMjJpbmQlMjIlM0ElN0IlMjJmaXJzdExpbmUlMjIlM0EzMiU3RCU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiVFNSU4RiVBRiVFNCVCQiVBNSVFNyU5QyU4QiVFNSU4OCVCMCVFRiVCQyU4QyVFOCVBRiVBNSVFNSU4NyVCRCVFNiU5NSVCMCVFNyU5QSU4NCVFNSU4QSU5RiVFOCU4MyVCRCVFNiVBOCVBQSVFOCVCNyVBOCVFNCVCQSU4NiVFNCVCOCU4OSVFNCVCOCVBQSVFNiU4QSVCRCVFOCVCMSVBMSVFNSVCMSU4MiVFOSU5RCVBMiVFRiVCQyU4QyVFNCVCQiU4RSVFNiU5QyU4MCVFNCVCOCU4QSVFNSVCMSU4MiVFNyU5QSU4NCVFNiVCMyVBOCVFNSU4NiU4QyVFNyU5NCVBOCVFNiU4OCVCNyVFNCVCOCU5QSVFNSU4QSVBMSVFOSU4MCVCQiVFOCVCRSU5MSVFRiVCQyU4QyVFNSU4OCVCMCVFNSVBRiVCOSVFNCVCQSU4RSVFNyU5NCVBOCVFNiU4OCVCNyVFNSVBRiVCOSVFOCVCMSVBMSVFNyU5QSU4NCVFNSVBNCU4NCVFRiVCQyU4QyVFNSU4NiU4RCVFNSU4OCVCMCVFOSU5RCU5RSVFNSVCOCVCOCVFNyVCQiU4NiVFOCU4QSU4MiVFNyU5QSU4NCVFNiU5QyU4RCVFNSU4QSVBMSVFNCVCQSVBNCVFNCVCQSU5MiVFRiVCQyU4QyVFNiU5NSVCMCVFNiU4RCVBRSVFOSVBQSU4QyVFOCVBRiU4MSVFNCVCQiVBNSVFNSU4RiU4QVNRTCVFNSVBNCU4NCVFNyU5MCU4NiVFRiVCQyU4QyVFOSU5QyU4MCVFOCVBNiU4MSVFNiVBOCVBQSVFOCVCNyVBOCVFNSVBNCU5QSVFNCVCOCVBQSVFNiU4QSVCRCVFOCVCMSVBMSVFNSVCMSU4MiVFNyVCQSVBNyVFMyU4MCU4MiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDRmczhjcDN3czRwMjMzejhpJTIyJTJDJTIyaW5kJTIyJTNBJTdCJTIyZmlyc3RMaW5lJTIyJTNBMzIlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRTglQkYlOTklRTclQTclOEQlRTQlQkQlOTMlRTYlODQlOUYlRUYlQkMlOEMlRTUlOUMlQTglRTklOTglODUlRTglQUYlQkIlRTglQUYlQTUlRTQlQkIlQTMlRTclQTAlODElRTYlOTclQjYlRUYlQkMlOEMlRTQlQkMlOUElRTYlODQlOUYlRTglQTclODklRTYlOEElQkQlRTglQjElQTElRTUlQjElODIlRTYlQUMlQTElRTklOUQlOUUlRTUlQjglQjglRTYlQjclQjclRTQlQjklQjElRUYlQkMlOEMlRTglODAlODMlRTglOTklOTElRTQlQjglOUElRTUlOEElQTElRTklODAlQkIlRTglQkUlOTElRTclOUElODQlRTUlOTAlOEMlRTYlOTclQjYlRUYlQkMlOEMlRTglQkYlOTglRTklOUMlODAlRTglQTYlODElRTclOUMlOEIlRTUlODglQjAlRTUlQUYlODYlRTclQTAlODElRTklOTUlQkYlRTUlQkElQTYlRTglQTclODQlRTUlODglOTklRTclOUElODQlRTclQkIlODYlRTglOEElODIlRUYlQkMlOEMlRTUlQTYlODIlRTYlOUUlOUMlRTglQkYlOTklRTclQjElQkIlRTQlQkIlQTMlRTclQTAlODElRTglQUYlQkIlRTclOUElODQlRTUlQTQlOUElRUYlQkMlOEMlRTUlQkUlODglRTUlQUUlQjklRTYlOTglOTMlRTglQkYlQjclRTUlQTQlQjElRTUlOUMlQTglRTclQkIlODYlRTglOEElODIlRTQlQjglQUQlRUYlQkMlOEMlRTYlODAlQkIlRTclQkIlOTMlRTYlOUQlQTUlRTclOUMlOEIlRUYlQkMlOEMlRTQlQkMlOUElRTYlOUMlODklRTQlQjglOEIlRTklOUQlQTIlRTklOTclQUUlRTklQTIlOTglRUYlQkMlOUElMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCU1RCUyQyUyMmNvbnRlbnRUeXBlJTIyJTNBJTIyY2FuZ2ppZS10ZXh0YmxvY2slMjIlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ1dWlkJTIyJTNBJTIybWQ0ZzkwZ3NnY3c2YjV3Ymt6diUyMiUyQyUyMmluZCUyMiUzQSU3QiU3RCU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDRnYWl0MWo3c2J0YWZlajFtJTIyJTJDJTIyaW5kJTIyJTNBJTdCJTIybGVmdCUyMiUzQTAlN0QlMkMlMjJsaXN0JTIyJTNBJTdCJTIybGlzdElkJTIyJTNBJTIyY2MwOGNodHozNnMlMjIlMkMlMjJsZXZlbCUyMiUzQTAlMkMlMjJpc1Rhc2tMaXN0JTIyJTNBZmFsc2UlMkMlMjJpc09yZGVyZWQlMjIlM0FmYWxzZSUyQyUyMmxpc3RTdHlsZVR5cGUlMjIlM0ElMjJTQ0lSX0VDSVJfU1JFQyUyMiUyQyUyMnN5bWJvbFN0eWxlJTIyJTNBJTdCJTdEJTJDJTIybGlzdFN0eWxlJTIyJTNBJTdCJTIyZm9ybWF0JTIyJTNBJTIyYnVsbGV0JTIyJTJDJTIydGV4dCUyMiUzQSUyMiVFMiU5NyU4RiUyMiUyQyUyMmFsaWduJTIyJTNBJTIybGVmdCUyMiU3RCU3RCU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiVFNCVCQiVBMyVFNyVBMCU4MSVFNSU4RiVBRiVFOCVBRiVCQiVFNiU4MCVBNyVFNiU5RSU4MSVFNSVCNyVBRSVFRiVCQyU4QyVFOSU5QSVCRSVFNCVCQiVBNSVFNyU5MCU4NiVFOCVBNyVBMyVFRiVCQyU4OCVFMiU4MCU5QyVFOCVBRSVBNCVFNyU5RiVBNSVFOCVCRiU4NyVFOCVCRCVCRCVFMiU4MCU5RCVFRiVCQyU4OSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmJvbGQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiVFRiVCQyU5QSVFNSVBNCVBNyVFOCU4NCU5MSVFNSVCRiU4NSVFOSVBMSVCQiVFNSU5QyVBOCVFNCVCOCU4RCVFNSU5MCU4QyVFNyU5QSU4NCVFNiU4QSVCRCVFOCVCMSVBMSVFNiU4MCU5RCVFNyVCQiVCNCVFNSVCMSU4MiVFOSU5RCVBMiVFNCVCOSU4QiVFOSU5NyVCNCVFOSVBMiU5MSVFNyVCOSU4MSVFNSU4OCU4NyVFNiU4RCVBMiVFRiVCQyU4QyVFNiU4MCU5RCVFNyVCQiVCNCVFOSU5QyU4MCVFOCVBNiU4MSVFOCVCNyVBOCVFNSVCMSU4MiVFNiVBQyVBMSVFRiVCQyU4QyUyMCVFOCVCRiU5OSVFNyVBNyU4RCVFNiU4NCU5RiVFOCVBNyU4OSVFNSVCRSU4OCVFNiU4QiVBNyVFNSVCNyVCNCVFRiVCQyU4QyUyMCVFNSVCMCVCMSVFNSU4MyU4RiVFNCVCRCVBMCVFNiU4MyVCMyVFOCVBNyU4NCVFNSU4OCU5MiVFNCVCOCU4MCVFNCVCOCVBQSVFNiU5NyU4NSVFOCVBMSU4QyVFRiVCQyU4QyVFOCVBNyU4NCVFNSU4OCU5MiVFOCVBMSU4QyVFNyVBOCU4QiVFNyU5QSU4NCVFOCVCRiU4NyVFNyVBOCU4QiVFNCVCOCVBRCVFRiVCQyU4QyVFNSU5MCU4QyVFNiU5NyVCNiVFOCU4MCU4MyVFOCU5OSU5MSVFNiU5OCVBRiVFNCVCOCU4RCVFNiU5OCVBRiVFOCVBNiU4MSVFNiU4RiU5MCVFNSU4OSU4RCVFNSU4MCVCQyVFNiU5QyVCQSVFRiVCQyU4QyVFOSU4MCU4OSVFNSU5MyVBQSVFNCVCOCVBQSVFNSVCQSVBNyVFNCVCRCU4RCVFRiVCQyU4QyVFOCU4MCU4QyVFNCVCOCU4RCVFNiU5OCVBRiVFNiU5QiVCNGhpZ2glMjBsZXZlbCVFNyU5QSU4NCVFNSU4RSVCQiVFNSU5MyVBQSVFNyU4RSVBOSVFMyU4MCU4MiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDRnOXRiaWVxZzNkNHo2MjclMjIlMkMlMjJpbmQlMjIlM0ElN0IlMjJsZWZ0JTIyJTNBMCU3RCUyQyUyMmxpc3QlMjIlM0ElN0IlMjJsaXN0SWQlMjIlM0ElMjJjYzA4Y2h0ejM2cyUyMiUyQyUyMmxldmVsJTIyJTNBMCUyQyUyMmlzVGFza0xpc3QlMjIlM0FmYWxzZSUyQyUyMmlzT3JkZXJlZCUyMiUzQWZhbHNlJTJDJTIybGlzdFN0eWxlVHlwZSUyMiUzQSUyMlNDSVJfRUNJUl9TUkVDJTIyJTJDJTIyc3ltYm9sU3R5bGUlMjIlM0ElN0IlN0QlMkMlMjJsaXN0U3R5bGUlMjIlM0ElN0IlMjJmb3JtYXQlMjIlM0ElMjJidWxsZXQlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJUUyJTk3JThGJTIyJTJDJTIyYWxpZ24lMjIlM0ElMjJsZWZ0JTIyJTdEJTdEJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJUU0JUJCJUEzJUU3JUEwJTgxJUU5JTlBJUJFJUU0JUJCJUE1JUU3JUJCJUI0JUU2JThBJUE0JUU1JTkyJThDJUU0JUJGJUFFJUU2JTk0JUI5JTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyYm9sZCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJUVGJUJDJTlBJUU1JTlDJUE4JUU0JUI4JTgwJUU0JUI4JUFBJUU2JUI3JUI3JUU1JTkwJTg4JUU0JUJBJTg2JUU0JUI4JThEJUU1JTkwJThDJUU2JThBJUJEJUU4JUIxJUExJUU1JUIxJTgyJUU2JUFDJUExJUU3JTlBJTg0JUUyJTgwJTlDJUU1JUE0JUE3JUU2JUIzJUE1JUU3JTkwJTgzJUUyJTgwJTlEJUU1JTg3JUJEJUU2JTk1JUIwJUU0JUI4JUFEJUVGJUJDJThDJUU1JTkwJTg0JUU0JUI4JUFBJUU5JTgzJUE4JUU1JTg4JTg2JUU3JUI0JUE3JUU1JUFGJTg2JUU1JTlDJUIwJUU4JTgwJUE2JUU1JTkwJTg4JUU1JTlDJUE4JUU0JUI4JTgwJUU4JUI1JUI3JUUzJTgwJTgyJUU0JUJCJUJCJUU0JUJEJTk1JUU1JUJFJUFFJUU1JUIwJThGJUU3JTlBJTg0JUU2JTk0JUI5JUU1JThBJUE4JUU5JTgzJUJEJUU1JThGJUFGJUU4JTgzJUJEJUU1JUJDJTk1JUU1JThGJTkxJUU2JTg0JThGJUU2JTgzJUIzJUU0JUI4JThEJUU1JTg4JUIwJUU3JTlBJTg0JUU4JUJGJTlFJUU5JTk0JTgxJUU1JThGJThEJUU1JUJBJTk0JUUzJTgwJTgyJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlN0QlNUQlMkMlMjJjb250ZW50VHlwZSUyMiUzQSUyMmNhbmdqaWUtdGV4dGJsb2NrJTIyJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIydXVpZCUyMiUzQSUyMm1kNGdhZXhhYXZtbjN0YXhod3MlMjIlMkMlMjJpbmQlMjIlM0ElN0IlMjJsZWZ0JTIyJTNBMCU3RCUyQyUyMmxpc3QlMjIlM0ElN0IlMjJsaXN0SWQlMjIlM0ElMjJjYzA4Y2h0ejM2cyUyMiUyQyUyMmxldmVsJTIyJTNBMCUyQyUyMmlzVGFza0xpc3QlMjIlM0FmYWxzZSUyQyUyMmlzT3JkZXJlZCUyMiUzQWZhbHNlJTJDJTIybGlzdFN0eWxlVHlwZSUyMiUzQSUyMlNDSVJfRUNJUl9TUkVDJTIyJTJDJTIyc3ltYm9sU3R5bGUlMjIlM0ElN0IlN0QlMkMlMjJsaXN0U3R5bGUlMjIlM0ElN0IlMjJmb3JtYXQlMjIlM0ElMjJidWxsZXQlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJUUyJTk3JThGJTIyJTJDJTIyYWxpZ24lMjIlM0ElMjJsZWZ0JTIyJTdEJTdEJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJUU0JUJCJUEzJUU3JUEwJTgxJUU5JTlBJUJFJUU0JUJCJUE1JUU2JUI1JThCJUU4JUFGJTk1JTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyYm9sZCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJUVGJUJDJTlBJUU1JTg3JUJEJUU2JTk1JUIwJUU0JUI4JThEJUU0JUJCJTg1JUU1JTlDJTg4JUU1JUE0JThEJUU2JTlEJTgyJUU1JUJBJUE2JUU5JUFCJTk4JUVGJUJDJThDJUU1JTkwJThDJUU2JTk3JUI2JUU1JThGJTg4JUU1JUFEJTk4JUU1JTlDJUE4JUU1JUJFJTg4JUU1JUE0JTlBJUU1JUE0JTk2JUU5JTgzJUE4JUU0JUJFJTlEJUU4JUI1JTk2JUVGJUJDJThDJUU1JThEJTk1JUU1JTg1JTgzJUU2JUI1JThCJUU4JUFGJTk1JUU0JUJDJTlBJUU5JTlEJTlFJUU1JUI4JUI4JUU1JTlCJUIwJUU5JTlBJUJFJUUzJTgwJTgyJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlN0QlNUQlMkMlMjJjb250ZW50VHlwZSUyMiUzQSUyMmNhbmdqaWUtdGV4dGJsb2NrJTIyJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIydXVpZCUyMiUzQSUyMm1kNGdiZTRoeDgyemNyNDlxaCUyMiUyQyUyMmluZCUyMiUzQSU3QiUyMmxlZnQlMjIlM0EwJTdEJTJDJTIybGlzdCUyMiUzQSU3QiUyMmxpc3RJZCUyMiUzQSUyMmNjMDhjaHR6MzZzJTIyJTJDJTIybGV2ZWwlMjIlM0EwJTJDJTIyaXNUYXNrTGlzdCUyMiUzQWZhbHNlJTJDJTIyaXNPcmRlcmVkJTIyJTNBZmFsc2UlMkMlMjJsaXN0U3R5bGVUeXBlJTIyJTNBJTIyU0NJUl9FQ0lSX1NSRUMlMjIlMkMlMjJzeW1ib2xTdHlsZSUyMiUzQSU3QiU3RCUyQyUyMmxpc3RTdHlsZSUyMiUzQSU3QiUyMmZvcm1hdCUyMiUzQSUyMmJ1bGxldCUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRTIlOTclOEYlMjIlMkMlMjJhbGlnbiUyMiUzQSUyMmxlZnQlMjIlN0QlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRTQlQkIlQTMlRTclQTAlODElRTUlQTQlOEQlRTclOTQlQTglRTYlODAlQTclRTYlOUUlODElRTQlQkQlOEUlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJib2xkJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRUYlQkMlOUElRTYlOTUlQjQlRTQlQjglQUElRTQlQkIlQTMlRTclQTAlODElRTQlQkIlODUlRTklODAlODIlRTclOTQlQTglRTQlQkElOEUlRTUlOEQlOTUlRTQlQjglODAlRTYlQjUlODElRTclQTglOEIlRUYlQkMlODglRTclOTQlQTglRTYlODglQjclRTYlQjMlQTglRTUlODYlOEMlRUYlQkMlODklRUYlQkMlOEMlRTUlODUlQjYlRTQlQkIlOTYlRTYlQTglQTElRTUlOUQlOTclRTYlODMlQjMlRTglQTYlODElRTUlQkMlOTUlRTclOTQlQTglRUYlQkMlOEMlRTUlQjAlQjElRTQlQkMlOUElRTklOTklQjclRTUlODUlQTUlRTUlODglQjAlRTklQTYlOTklRTglOTUlODklRTUlQTQlQTclRTclOEMlQTklRTclOEMlQTklRTklOTclQUUlRTklQTIlOTglMjAlMjAlRUYlQkMlOUElRTQlQkQlQTAlRTYlODMlQjMlRTglQTYlODElRTQlQjglODAlRTQlQjglQUElRTklQTYlOTklRTglOTUlODklRUYlQkMlOEMlRTQlQkQlODYlRTQlQkQlQTAlRTUlQkUlOTclRTUlODglQjAlRTclOUElODQlRTYlOTglQUYlRTQlQjglODAlRTQlQjglQUElRTUlQTQlQTclRTclOEMlQTklRTclOEMlQTklRTYlOEIlQkYlRTclOUQlODAlRTklQTYlOTklRTglOTUlODklRUYlQkMlOEMlRTQlQkIlQTUlRTUlOEYlOEElRTYlOTUlQjQlRTQlQjglQUElRTQlQjglOUIlRTYlOUUlOTclRTMlODAlODIlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCU1RCUyQyUyMmNvbnRlbnRUeXBlJTIyJTNBJTIyY2FuZ2ppZS10ZXh0YmxvY2slMjIlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ1dWlkJTIyJTNBJTIybWQ0Z2NrcGZ1ZGJhaWN4NW43byUyMiU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDRicGhpN3dsbWIyaDRiM2RlJTIyJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlN0QlNUQlMkMlMjJjb250ZW50VHlwZSUyMiUzQSUyMmNhbmdqaWUtdGV4dGJsb2NrJTIyJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIydXVpZCUyMiUzQSUyMm1kNGZlc2g3OW5vbWN2ZDB3YjYlMjIlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCU1RCUyQyUyMmNvbnRlbnRUeXBlJTIyJTNBJTIyY2FuZ2ppZS10ZXh0YmxvY2slMjIlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ1dWlkJTIyJTNBJTIybWQ0ZmVzbTRkdzdjMngzOXlpcCUyMiU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIyaGVhZGluZy0xJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDRmZXNxYnV6a3N1cnNocGlrJTIyJTJDJTIyc3BhY2luZyUyMiUzQSU3QiUyMmJlZm9yZSUyMiUzQTI2LjY2NjY2NjY2NjY2NjY2NCUyQyUyMmFmdGVyJTIyJTNBOSUyQyUyMmxpbmUlMjIlM0EwLjg1Mjk0MTE3NjQ3MDU4ODIlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRTUlOEQlOTUlRTQlQjglODAlRTYlOEElQkQlRTglQjElQTElRTUlQjElODIlRTYlQUMlQTElRTUlOEUlOUYlRTUlODglOTklMjAoU2luZ2xlJTIwTGV2ZWwlMjBvZiUyMEFic3RyYWN0aW9uJTIwUHJpbmNpcGxlJTJDJTIwU0xBUCklMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJib2xkJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJzeiUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ2YWx1ZSUyMiUzQTIwJTJDJTIyc3pVbml0JTIyJTNBJTIycHQlMjIlN0QlN0QlNUQlN0QlNUQlN0QlNUQlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ1dWlkJTIyJTNBJTIybWQ0Z2ZueWI4d3VmMTFheWxiciUyMiUyQyUyMmluZCUyMiUzQSU3QiUyMmZpcnN0TGluZSUyMiUzQTMyJTdEJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJUU1JUE2JTgyJUU0JUJEJTk1JUU4JUE3JUEzJUU1JTg2JUIzJUVGJUJDJTlGVW5jbGUlMjBCb2IlRTUlOUMlQThDbGVhbiUyMENvZGUlRTQlQjglQUQlRTYlOEYlOTAlRTUlODclQkElRTglQkYlODclRTQlQjglODAlRTQlQjglQUFTTEFQJUU1JThFJTlGJUU1JTg4JTk5JUVGJUJDJThDJUU3JUFFJTgwJUU1JThEJTk1JUU2JTlEJUE1JUU4JUFGJUI0JUU1JUIwJUIxJUU2JTk4JUFGJUU1JTlDJUE4JUU0JUI4JTgwJUU0JUI4JUFBJUU1JTg3JUJEJUU2JTk1JUIwJUVGJUJDJTg4JUU2JTg4JTk2JUU4JTgwJTg1JUU2JTk2JUI5JUU2JUIzJTk1JUVGJUJDJTg5JUVGJUJDJThDJUU2JTg5JTgwJUU2JTlDJTg5JUU0JUJCJUEzJUU3JUEwJTgxJUU4JUFGJUFEJUU1JThGJUE1JUU5JTgzJUJEJUU1JUJBJTk0JUU4JUFGJUE1JUU1JTlDJUE4JUU1JTkwJThDJUU0JUI4JTgwJUU0JUI4JUFBJUUyJTgwJTlDJUU2JThBJUJEJUU4JUIxJUExJUU3JUJBJUE3JUU1JTg4JUFCJUUyJTgwJTlEJUU0JUI4JThBJUUzJTgwJTgyJUU1JTlDJUE4JUU2JTg4JTkxJUU3JTlDJThCJUU2JTlEJUE1JUU3JUIxJUJCJUU3JTlBJTg0JUU0JUI5JTlGJUU1JUJBJTk0JUU4JUFGJUE1JUU5JTgxJUI1JUU1JUJFJUFBJUU4JUFGJUE1JUU1JThFJTlGJUU1JTg4JTk5JUUzJTgwJTgyJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlN0QlNUQlMkMlMjJjb250ZW50VHlwZSUyMiUzQSUyMmNhbmdqaWUtdGV4dGJsb2NrJTIyJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIydXVpZCUyMiUzQSUyMm1kNWVjbjBlZng1NXE0M251N2IlMjIlMkMlMjJpbmQlMjIlM0ElN0IlMjJmaXJzdExpbmUlMjIlM0EzMiU3RCU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiVFNSU5QyVBOCVFNSVCQyU4MCVFNSVBNCVCNCVFNyU5QSU4NCVFNiU5NSU4NSVFNCVCQSU4QiVFNCVCOCVBRCVFRiVCQyU4QyVFNSVBRiVCQyVFNiVCQyU5NCVFMyU4MCU4MSVFNiU5MSU4NCVFNSVCRCVCMSVFNiU4QyU4NyVFNSVBRiVCQyVFMyU4MCU4MSVFNyU4MSVBRiVFNSU4NSU4OSVFNSVCOCU4OCVFNiU4OSU4MCVFOSU5QyU4MCVFOCVBNiU4MSVFOSU5RCVBMiVFNSVBRiVCOSVFNyU5QSU4NCVFOSU5NyVBRSVFOSVBMiU5OCVFNSU4OCU4NiVFNSU4OCVBQiVFNCVCRCU4RCVFNCVCQSU4RSVFNCVCOCU4OSVFNCVCOCVBQSVFNSVCMSU4MiVFNiVBQyVBMSVFRiVCQyU4QyVFNSVBNiU4MiVFNCVCOCU4QiVFNSU5QiVCRSVFRiVCQyU5QSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDRmang2Zjg5cGV0amdibDlxJTIyJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlN0QlNUQlMkMlMjJjb250ZW50VHlwZSUyMiUzQSUyMmNhbmdqaWUtdGV4dGJsb2NrJTIyJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIydXVpZCUyMiUzQSUyMm1kNGZqdXk1NzltMzg4MmMxM2MlMjIlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyaW5saW5lJTIyJTJDJTIydHlwZSUyMiUzQSUyMmltYWdlJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDVldzl2Z2lvbDFtMHJwcGYlMjIlMkMlMjJuYW1lJTIyJTNBJTIyaW1hZ2UucG5nJTIyJTJDJTIyc2l6ZSUyMiUzQTEyOTk0NjclMkMlMjJ3aWR0aCUyMiUzQTc0OCUyQyUyMmhlaWdodCUyMiUzQTQ5OC42NjY2NjY2NjY2NjY3NCUyQyUyMnNyYyUyMiUzQSUyMmh0dHBzJTNBJTJGJTJGb3NzLWF0YS5hbGliYWJhLmNvbSUyRmFydGljbGUlMkYyMDI1JTJGMDclMkY2NWMxNmUwOC0zNDZlLTQxODEtOWFlYy1iNDU4ZTRjYTYzNzcucG5nJTIyJTJDJTIyZXh0cmFEYXRhJTIyJTNBJTdCJTIycmVzb3VyY2VJZCUyMiUzQSUyMmJmZjJmM2Y5LWNkOTUtNDk3MC04NmNiLTc1ZTVjNTkzNzUyYSUyMiUyQyUyMm1ldGFEYXRhJTIyJTNBJTdCJTIyc2l6ZSUyMiUzQTEyOTk0NjclMkMlMjJvcmlnaW5XaWR0aCUyMiUzQTE1MzYlMkMlMjJvcmlnaW5IZWlnaHQlMjIlM0ExMDI0JTJDJTIyZm9ybWF0JTIyJTNBJTIycG5nJTIyJTJDJTIycmF0aW8lMjIlM0ExJTdEJTdEJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlN0QlNUQlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlN0QlNUQlMkMlMjJjb250ZW50VHlwZSUyMiUzQSUyMmNhbmdqaWUtdGV4dGJsb2NrJTIyJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIydXVpZCUyMiUzQSUyMm1kNGZqdzNrZ3p1d2h5MXQ3YmslMjIlMkMlMjJpbmQlMjIlM0ElN0IlMjJmaXJzdExpbmUlMjIlM0EzMiU3RCU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiVFNiVBRiU4RiVFNCVCOCVBQSVFOCVBNyU5MiVFOCU4OSVCMiVFNCVCQiU4NSVFOCU4MCU4MyVFOCU5OSU5MSVFNSVCRCU5MyVFNSU4OSU4RCVFNiU4QSVCRCVFOCVCMSVBMSVFNSVCMSU4MiVFNiVBQyVBMSVFNyU5QSU4NCVFOSU5NyVBRSVFOSVBMiU5OCVFRiVCQyU4QyVFNCVCRCVCRiVFNSVCRSU5NyVFNSU4OCU4NiVFNSVCNyVBNSVFNSU4RCU4RiVFNCVCRCU5QyVFNiU5NSU4OCVFNyU4RSU4NyVFNSVBNCVBNyVFNSVBMiU5RSVFMyU4MCU4MiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDRnaTFsYXhpeTN1eTJ4ZDlsJTIyJTJDJTIyaW5kJTIyJTNBJTdCJTIyZmlyc3RMaW5lJTIyJTNBMzIlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRTklQTIlOTglRTUlQTQlOTYlRTglQUYlOUQlRUYlQkMlOEMlRTglQkQlQUYlRTQlQkIlQjYlRTUlQjclQTUlRTclQTglOEIlRTglQkYlOTglRTYlOUMlODklRTQlQjglODAlRTQlQjglQUElRTglQUYlQjQlRTYlQjMlOTUlRUYlQkMlOEMlRTUlQTYlODIlRTYlOUUlOUMlRTUlQjglOEMlRTYlOUMlOUIlRTUlODElOUElRTUlQTUlQkQlRTUlQkQlOTMlRTUlODklOEQlRTUlQjElODIlRTclQkElQTclRTclOUElODQlRTQlQkElOEIlRUYlQkMlOEMlRTklOUMlODAlRTglQTYlODElRTUlQUYlQjklRTQlQjglOEIlRTQlQjglODAlRTUlQjElODIlRTclQkElQTclRTQlQjklOUYlRTYlOUMlODklRTQlQkElODYlRTglQTclQTMlRUYlQkMlODglRTQlQkUlOEIlRTUlQTYlODIlRUYlQkMlOEMlRTUlODYlOTlTUUwlRTUlOEYlQUYlRTQlQkIlQTUlRTQlQjglOEQlRTYlODclODIlRTQlQkMlOTglRTUlOEMlOTYlRTUlOTklQTglRUYlQkMlOEMlRTQlQkQlODYlRTYlODclODIlRTQlQkElODYlRTQlQkMlOTglRTUlOEMlOTYlRTUlOTklQTglRTUlOEYlQUYlRTQlQkIlQTUlRTUlODYlOTklRTUlODclQkElRTYlOUIlQjQlRTUlQTUlQkQlRTclOUElODRTUUwlRUYlQkMlODklRTMlODAlODIlRTYlODklODAlRTQlQkIlQTUlRTUlQjglOEMlRTYlOUMlOUIlRTclOTQlQThBSSVFNSU4NiU5OSVFNSU4NyVCQSVFNSVBNSVCRCVFNyU5QSU4NCVFNCVCQiVBMyVFNyVBMCU4MSVFRiVCQyU4Q0FJJUU0JUI4JThCJUU1JUIxJTgyJUU3JTlBJTg0JUU4JUJEJUFGJUU0JUJCJUI2JUU1JUI3JUE1JUU3JUE4JThCJUU3JTkwJTg2JUU4JUFFJUJBJUU1JThGJTk4JUU3JTlBJTg0JUU2JTlCJUI0JUU1JThBJUEwJUU5JTg3JThEJUU4JUE2JTgxJUVGJUJDJThDJUU1JTkwJUE2JUU1JTg4JTk5JUU3JTk0JTlGJUU2JTg4JTkwJUU3JTlBJTg0JUU0JUJCJUEzJUU3JUEwJTgxJUU1JUFGJUI5JUU0JUJBJThFJUU1JUE0JUE3JUU1JTlFJThCJUU5JUExJUI5JUU3JTlCJUFFJUU1JThGJUFGJUU4JTgzJUJEJUU2JTk4JUFGJUU3JUJCJUI0JUU2JThBJUE0JUU2JTgwJUE3JUU3JTgxJUJFJUU5JTlBJUJFJUUzJTgwJTgyJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlN0QlNUQlMkMlMjJjb250ZW50VHlwZSUyMiUzQSUyMmNhbmdqaWUtdGV4dGJsb2NrJTIyJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIydXVpZCUyMiUzQSUyMm1kNWVoNmVnZHhkdWRrNjkyeHIlMjIlMkMlMjJpbmQlMjIlM0ElN0IlMjJmaXJzdExpbmUlMjIlM0EzMiU3RCU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDVlaDZpa3RvcW1weXF5bTlrJTIyJTJDJTIyaW5kJTIyJTNBJTdCJTIyZmlyc3RMaW5lJTIyJTNBMzIlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRTUlOUIlQTAlRTYlQUQlQTQlRTUlOUIlOUUlRTUlODglQjAlRTUlQkMlODAlRTUlQTQlQjQlRTclOUElODQlRTUlODclQkQlRTYlOTUlQjByZWdpc3Rlcl91c2VyJUVGJUJDJThDJUU2JThDJTg5JUU1JUJDJTgwJUU1JUE0JUI0JUU3JTk0JUI1JUU1JUJEJUIxJUU1JUFGJUJDJUU2JUJDJTk0JUU2JTk1JTg1JUU0JUJBJThCJUU3JTlBJTg0JUU2JThBJUJEJUU4JUIxJUExJUU1JUIxJTgyJUU2JUFDJUExJUU2JThCJTg2JUU1JTg4JTg2JUVGJUJDJThDJUU1JTg4JTg2JUU0JUI4JUJBMyVFOSU4MyVBOCVFNSU4OCU4NiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDVlaG9obHR5cGFva3V6MGIlMjIlMkMlMjJpbmQlMjIlM0ElN0IlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCU1RCUyQyUyMmNvbnRlbnRUeXBlJTIyJTNBJTIyY2FuZ2ppZS10ZXh0YmxvY2slMjIlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmhlYWRpbmctMiUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ1dWlkJTIyJTNBJTIybWQ1ZWhxa3N6cHVlbG1qcGVzbSUyMiUyQyUyMmluZCUyMiUzQSU3QiU3RCUyQyUyMnNwYWNpbmclMjIlM0ElN0IlMjJiZWZvcmUlMjIlM0EyMS4zMzMzMzMzMzMzMzMzMzIlMkMlMjJhZnRlciUyMiUzQTklMkMlMjJsaW5lJTIyJTNBMC44NTI5NDExNzY0NzA1ODgyJTdEJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJUU0JUI4JTlBJUU1JThBJUExJUU1JThEJThGJUU4JUIwJTgzJUU1JUIxJTgyJTIwLSUyMCVFNiU5QyU4MCVFOSVBQiU5OCVFNiU4QSVCRCVFOCVCMSVBMSVFNSVCMSU4MiVFNiVBQyVBMSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmJvbGQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMnN6JTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnZhbHVlJTIyJTNBMTYlMkMlMjJzelVuaXQlMjIlM0ElMjJwdCUyMiU3RCU3RCU1RCU3RCU1RCU3RCU1RCU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDVlbDNoZTBtYmN4eGsxYjFyJTIyJTJDJTIyaW5kJTIyJTNBJTdCJTIyZmlyc3RMaW5lJTIyJTNBMzIlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRTglQkYlOTklRTQlQjglODAlRTUlQjElODIlRTYlOTglQUYlRTYlOTUlQjQlRTQlQjglQUElRTQlQjglOUElRTUlOEElQTElRTYlQjUlODElRTclQTglOEIlRTclOUElODQlRTIlODAlOUMlRTUlQUYlQkMlRTYlQkMlOTQlRTIlODAlOUQlRTYlODglOTYlRTIlODAlOUMlRTYlODAlQkIlRTYlOEMlODclRTYlOEMlQTUlRTIlODAlOUQlRTMlODAlODIlRTUlQUUlODMlRTclOUElODQlRTYlQTAlQjglRTUlQkYlODMlRTglODElOEMlRTglQjQlQTMlRTYlOTglQUYlRTclQkMlOTYlRTYlOEUlOTIlRTUlOTIlOEMlRTUlOEQlOEYlRTglQjAlODMlRUYlQkMlOEMlRTglODAlOEMlRTklOUQlOUUlRTYlODklQTclRTglQTElOEMlRTMlODAlODIlRTUlQjAlQjElRTUlODMlOEYlRTUlQUYlQkMlRTYlQkMlOTQlRTUlOTElOEElRTglQUYlODklRTYlOTElODQlRTUlQkQlQjElRTYlOEMlODclRTUlQUYlQkMlRTIlODAlOUMlRTYlODglOTElRTklOUMlODAlRTglQTYlODElRTUlQUQlQTQlRTclOEIlQUMlRTYlODQlOUYlRTIlODAlOUQlRUYlQkMlOENyZWdpc3Rlcl91c2VyJUU1JTg3JUJEJUU2JTk1JUIwJUU5JTgwJTlBJUU4JUJGJTg3JUU4JUIwJTgzJUU3JTk0JUE4VXNlci5jcmVhdGUlMkMlMjB1c2VyLnNhdmUlRTUlOTIlOENfc2VuZF93ZWxjb21lX2VtYWlsJUU3JUFEJTg5JUU0JUI4JTgwJUU3JUIzJUJCJUU1JTg4JTk3JUU5JUFCJTk4JUU1JUIxJTgyJUU2JUFDJUExJUU3JTlBJTg0JUU2JThDJTg3JUU0JUJCJUE0JUVGJUJDJThDJUU2JUI4JTg1JUU2JTk5JUIwJUU1JTlDJUIwJUU2JThGJThGJUU4JUJGJUIwJUU0JUJBJTg2JUUyJTgwJTlDJUU3JTk0JUE4JUU2JTg4JUI3JUU2JUIzJUE4JUU1JTg2JThDJUUyJTgwJTlEJUU4JUJGJTk5JUU0JUI4JUFBJUU0JUI4JTlBJUU1JThBJUExJUU2JTk1JTg1JUU0JUJBJThCJUU3JTlBJTg0JUUyJTgwJTlDV2hhdCVFMiU4MCU5RCVFRiVCQyU4QyVFOCU4MCU4QyVFNCVCOCU4RCVFNiU5OCVBRiVFMiU4MCU5Q0hvdyVFMiU4MCU5RCVFMyU4MCU4MiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDVlbDNoZnd6M2Zrbmhoa2YlMjIlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCU1RCUyQyUyMmNvbnRlbnRUeXBlJTIyJTNBJTIyY2FuZ2ppZS10ZXh0YmxvY2slMjIlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmNvZGUlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIyc3ludGF4JTIyJTNBJTIycHl0aG9uJTIyJTJDJTIydGhlbWUlMjIlM0ElMjJkZWZhdWx0JTIyJTJDJTIyd3JhcCUyMiUzQXRydWUlMkMlMjJpZCUyMiUzQSUyMmEybjV1cSUyMiUyQyUyMnRpdGxlJTIyJTNBJTIyJTIyJTJDJTIyZm9sZCUyMiUzQWZhbHNlJTJDJTIyaGlkZUhlYWRlciUyMiUzQWZhbHNlJTJDJTIyY29kZUZvbGRpbmclMjIlM0FmYWxzZSUyQyUyMnNob3dMaW5lTnVtYmVyJTIyJTNBdHJ1ZSUyQyUyMmZvbnQlMjIlM0ElN0IlMjJmb250RmFtaWx5JTIyJTNBJTIyZGVmYXVsdEZvbnQlMjIlMkMlMjJsaWdhdHVyZXMlMjIlM0FmYWxzZSU3RCUyQyUyMmVuYWJsZU1hY0hlYWRlciUyMiUzQWZhbHNlJTJDJTIydXVpZCUyMiUzQSUyMm1kNGJwamd4bW1kYWpuY2NsazklMjIlMkMlMjJjb2RlJTIyJTNBJTIyJTIzJTIwJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTVDbiUyMyUyMCVFNyVBQyVBQzElRTUlQjElODIlRUYlQkMlOUElRTQlQjglOUElRTUlOEElQTElRTUlOEQlOEYlRTglQjAlODMlRTUlQjElODIlMjAtJTIwJUU2JTlDJTgwJUU5JUFCJTk4JUU2JThBJUJEJUU4JUIxJUExJUU1JUIxJTgyJUU2JUFDJUExJTVDbiUyMyUyMCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCU1Q24lNUNuZGVmJTIwcmVnaXN0ZXJfdXNlcih1c2VybmFtZSUzQSUyMHN0ciUyQyUyMGVtYWlsJTNBJTIwc3RyJTJDJTIwcGFzc3dvcmQlM0ElMjBzdHIlMkMlMjB1c2VyX3R5cGUlM0ElMjBzdHIpJTIwLSUzRSUyMERpY3QlNUJzdHIlMkMlMjBBbnklNUQlM0ElNUNuJTIwJTIwJTIwJTIwJTVDJTIyJTVDJTIyJTVDJTIyJUU3JTk0JUE4JUU2JTg4JUI3JUU2JUIzJUE4JUU1JTg2JThDJUU0JUI4JUJCJUU2JUI1JTgxJUU3JUE4JThCJTIwLSUyMCVFNCVCOCU5QSVFNSU4QSVBMSVFNSU4RCU4RiVFOCVCMCU4MyVFRiVCQyU4QyVFNiU5QyU4MCVFOSVBQiU5OCVFNiU4QSVCRCVFOCVCMSVBMSVFNSVCMSU4MiVFNiVBQyVBMSU1QyUyMiU1QyUyMiU1QyUyMiU1Q24lMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwJTIzJTIwJUU1JTg4JTlCJUU1JUJCJUJBJUU3JTk0JUE4JUU2JTg4JUI3JUVGJUJDJTg4JUU1JTg2JTg1JUU5JTgzJUE4JUU0JUJDJTlBJUU5JUFBJThDJUU4JUFGJTgxJUVGJUJDJTg5JTVDbiUyMCUyMCUyMCUyMHVzZXJfcmVzdWx0JTIwJTNEJTIwVXNlci5jcmVhdGUodXNlcm5hbWUlMkMlMjBlbWFpbCUyQyUyMHBhc3N3b3JkJTJDJTIwdXNlcl90eXBlKSU1Q24lMjAlMjAlMjAlMjBpZiUyMG5vdCUyMHVzZXJfcmVzdWx0LnN1Y2Nlc3MlM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTdCJ3N1Y2Nlc3MnJTNBJTIwRmFsc2UlMkMlMjAnZXJyb3InJTNBJTIwdXNlcl9yZXN1bHQuZXJyb3IlN0QlNUNuJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMHVzZXIlMjAlM0QlMjB1c2VyX3Jlc3VsdC51c2VyJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjMlMjAlRTQlQkYlOUQlRTUlQUQlOTglRTclOTQlQTglRTYlODglQjclNUNuJTIwJTIwJTIwJTIwc2F2ZV9yZXN1bHQlMjAlM0QlMjB1c2VyLnNhdmUoKSU1Q24lMjAlMjAlMjAlMjBpZiUyMG5vdCUyMHNhdmVfcmVzdWx0LnN1Y2Nlc3MlM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTdCJ3N1Y2Nlc3MnJTNBJTIwRmFsc2UlMkMlMjAnZXJyb3InJTNBJTIwc2F2ZV9yZXN1bHQuZXJyb3IlN0QlNUNuJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCUyMyUyMCVFNSU4RiU5MSVFOSU4MCU4MSVFNiVBQyVBMiVFOCVCRiU4RSVFOSU4MiVBRSVFNCVCQiVCNiU1Q24lMjAlMjAlMjAlMjBfc2VuZF93ZWxjb21lX2VtYWlsKHVzZXIpJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjMlMjAlRTglQkYlOTQlRTUlOUIlOUUlRTYlODglOTAlRTUlOEElOUYlRTclQkIlOTMlRTYlOUUlOUMlNUNuJTIwJTIwJTIwJTIwcmV0dXJuJTIwX2NyZWF0ZV9zdWNjZXNzX3Jlc3BvbnNlKHVzZXIpJTVDbiU1Q24lNUNuZGVmJTIwX3NlbmRfd2VsY29tZV9lbWFpbCh1c2VyJTNBJTIwJ1VzZXInKSUyMC0lM0UlMjBOb25lJTNBJTVDbiUyMCUyMCUyMCUyMCU1QyUyMiU1QyUyMiU1QyUyMiVFNSU4RiU5MSVFOSU4MCU4MSVFNiVBQyVBMiVFOCVCRiU4RSVFOSU4MiVBRSVFNCVCQiVCNiUyMC0lMjAlRTUlOEQlOEYlRTglQjAlODMlRTUlQjElODIlRTglODElOEMlRTglQjQlQTMlNUMlMjIlNUMlMjIlNUMlMjIlNUNuJTIwJTIwJTIwJTIwdHJ5JTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGVtYWlsX2NvbnRlbnQlMjAlM0QlMjBfZ2V0X3dlbGNvbWVfZW1haWxfY29udGVudCh1c2VyKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbWFpbF9zZW5kZXIlMjAlM0QlMjBFbWFpbFNlbmRlcigpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGVtYWlsX3NlbmRlci5zZW5kKHVzZXIuZW1haWwlMkMlMjBlbWFpbF9jb250ZW50KSU1Q24lMjAlMjAlMjAlMjBleGNlcHQlMjBFeGNlcHRpb24lM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwJUU5JTgyJUFFJUU0JUJCJUI2JUU1JThGJTkxJUU5JTgwJTgxJUU1JUE0JUIxJUU4JUI0JUE1JUU0JUI4JThEJUU1JUJEJUIxJUU1JTkzJThEJUU2JUIzJUE4JUU1JTg2JThDJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHBhc3MlNUNuJTVDbiU1Q25kZWYlMjBfZ2V0X3dlbGNvbWVfZW1haWxfY29udGVudCh1c2VyJTNBJTIwJ1VzZXInKSUyMC0lM0UlMjBEaWN0JTVCc3RyJTJDJTIwc3RyJTVEJTNBJTVDbiUyMCUyMCUyMCUyMCU1QyUyMiU1QyUyMiU1QyUyMiVFOCU4RSVCNyVFNSU4RiU5NiVFNiVBQyVBMiVFOCVCRiU4RSVFOSU4MiVBRSVFNCVCQiVCNiVFNSU4NiU4NSVFNSVBRSVCOSU1QyUyMiU1QyUyMiU1QyUyMiU1Q24lMjAlMjAlMjAlMjByZXR1cm4lMjB1c2VyLmdldF93ZWxjb21lX2VtYWlsX2NvbnRlbnQoKSU1Q24lNUNuJTVDbmRlZiUyMF9jcmVhdGVfc3VjY2Vzc19yZXNwb25zZSh1c2VyJTNBJTIwJ1VzZXInKSUyMC0lM0UlMjBEaWN0JTVCc3RyJTJDJTIwQW55JTVEJTNBJTVDbiUyMCUyMCUyMCUyMCU1QyUyMiU1QyUyMiU1QyUyMiVFNSU4OCU5QiVFNSVCQiVCQSVFNiU4OCU5MCVFNSU4QSU5RiVFNSU5MyU4RCVFNSVCQSU5NCU1QyUyMiU1QyUyMiU1QyUyMiU1Q24lMjAlMjAlMjAlMjB1c2VyX3R5cGVfZGlzcGxheSUyMCUzRCUyMCU1QyUyMlByZW1pdW0lNUMlMjIlMjBpZiUyMHVzZXIudXNlcl90eXBlJTIwJTNEJTNEJTIwJTVDJTIycHJlbWl1bSU1QyUyMiUyMGVsc2UlMjAlNUMlMjIlRTYlOTklQUUlRTklODAlOUElNUMlMjIlNUNuJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTdCJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCdzdWNjZXNzJyUzQSUyMFRydWUlMkMlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJ3VzZXJfaWQnJTNBJTIwdXNlci51c2VyX2lkJTJDJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCdtZXNzYWdlJyUzQSUyMGYnJTdCdXNlcl90eXBlX2Rpc3BsYXklN0QlRTclOTQlQTglRTYlODglQjclRTYlQjMlQTglRTUlODYlOEMlRTYlODglOTAlRTUlOEElOUYnJTVDbiUyMCUyMCUyMCUyMCU3RCU1Q24lMjIlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlMjMlMjAlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlNUNuJTIzJTIwJUU3JUFDJUFDMSVFNSVCMSU4MiVFRiVCQyU5QSVFNCVCOCU5QSVFNSU4QSVBMSVFNSU4RCU4RiVFOCVCMCU4MyVFNSVCMSU4MiUyMC0lMjAlRTYlOUMlODAlRTklQUIlOTglRTYlOEElQkQlRTglQjElQTElRTUlQjElODIlRTYlQUMlQTElNUNuJTIzJTIwJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTVDbiU1Q25kZWYlMjByZWdpc3Rlcl91c2VyKHVzZXJuYW1lJTNBJTIwc3RyJTJDJTIwZW1haWwlM0ElMjBzdHIlMkMlMjBwYXNzd29yZCUzQSUyMHN0ciUyQyUyMHVzZXJfdHlwZSUzQSUyMHN0ciklMjAtJTNFJTIwRGljdCU1QnN0ciUyQyUyMEFueSU1RCUzQSU1Q24lMjAlMjAlMjAlMjAlNUMlMjIlNUMlMjIlNUMlMjIlRTclOTQlQTglRTYlODglQjclRTYlQjMlQTglRTUlODYlOEMlRTQlQjglQkIlRTYlQjUlODElRTclQTglOEIlMjAtJTIwJUU0JUI4JTlBJUU1JThBJUExJUU1JThEJThGJUU4JUIwJTgzJUVGJUJDJThDJUU2JTlDJTgwJUU5JUFCJTk4JUU2JThBJUJEJUU4JUIxJUExJUU1JUIxJTgyJUU2JUFDJUExJTVDJTIyJTVDJTIyJTVDJTIyJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjMlMjAlRTUlODglOUIlRTUlQkIlQkElRTclOTQlQTglRTYlODglQjclRUYlQkMlODglRTUlODYlODUlRTklODMlQTglRTQlQkMlOUElRTklQUElOEMlRTglQUYlODElRUYlQkMlODklNUNuJTIwJTIwJTIwJTIwdXNlcl9yZXN1bHQlMjAlM0QlMjBVc2VyLmNyZWF0ZSh1c2VybmFtZSUyQyUyMGVtYWlsJTJDJTIwcGFzc3dvcmQlMkMlMjB1c2VyX3R5cGUpJTVDbiUyMCUyMCUyMCUyMGlmJTIwbm90JTIwdXNlcl9yZXN1bHQuc3VjY2VzcyUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjAlN0Inc3VjY2VzcyclM0ElMjBGYWxzZSUyQyUyMCdlcnJvciclM0ElMjB1c2VyX3Jlc3VsdC5lcnJvciU3RCU1Q24lMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwdXNlciUyMCUzRCUyMHVzZXJfcmVzdWx0LnVzZXIlNUNuJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCUyMyUyMCVFNCVCRiU5RCVFNSVBRCU5OCVFNyU5NCVBOCVFNiU4OCVCNyU1Q24lMjAlMjAlMjAlMjBzYXZlX3Jlc3VsdCUyMCUzRCUyMHVzZXIuc2F2ZSgpJTVDbiUyMCUyMCUyMCUyMGlmJTIwbm90JTIwc2F2ZV9yZXN1bHQuc3VjY2VzcyUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjAlN0Inc3VjY2VzcyclM0ElMjBGYWxzZSUyQyUyMCdlcnJvciclM0ElMjBzYXZlX3Jlc3VsdC5lcnJvciU3RCU1Q24lMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwJTIzJTIwJUU1JThGJTkxJUU5JTgwJTgxJUU2JUFDJUEyJUU4JUJGJThFJUU5JTgyJUFFJUU0JUJCJUI2JTVDbiUyMCUyMCUyMCUyMF9zZW5kX3dlbGNvbWVfZW1haWwodXNlciklNUNuJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCUyMyUyMCVFOCVCRiU5NCVFNSU5QiU5RSVFNiU4OCU5MCVFNSU4QSU5RiVFNyVCQiU5MyVFNiU5RSU5QyU1Q24lMjAlMjAlMjAlMjByZXR1cm4lMjBfY3JlYXRlX3N1Y2Nlc3NfcmVzcG9uc2UodXNlciklNUNuJTVDbiU1Q25kZWYlMjBfc2VuZF93ZWxjb21lX2VtYWlsKHVzZXIlM0ElMjAnVXNlcicpJTIwLSUzRSUyME5vbmUlM0ElNUNuJTIwJTIwJTIwJTIwJTVDJTIyJTVDJTIyJTVDJTIyJUU1JThGJTkxJUU5JTgwJTgxJUU2JUFDJUEyJUU4JUJGJThFJUU5JTgyJUFFJUU0JUJCJUI2JTIwLSUyMCVFNSU4RCU4RiVFOCVCMCU4MyVFNSVCMSU4MiVFOCU4MSU4QyVFOCVCNCVBMyU1QyUyMiU1QyUyMiU1QyUyMiU1Q24lMjAlMjAlMjAlMjB0cnklM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZW1haWxfY29udGVudCUyMCUzRCUyMF9nZXRfd2VsY29tZV9lbWFpbF9jb250ZW50KHVzZXIpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGVtYWlsX3NlbmRlciUyMCUzRCUyMEVtYWlsU2VuZGVyKCklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZW1haWxfc2VuZGVyLnNlbmQodXNlci5lbWFpbCUyQyUyMGVtYWlsX2NvbnRlbnQpJTVDbiUyMCUyMCUyMCUyMGV4Y2VwdCUyMEV4Y2VwdGlvbiUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjAlRTklODIlQUUlRTQlQkIlQjYlRTUlOEYlOTElRTklODAlODElRTUlQTQlQjElRTglQjQlQTUlRTQlQjglOEQlRTUlQkQlQjElRTUlOTMlOEQlRTYlQjMlQTglRTUlODYlOEMlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcGFzcyU1Q24lNUNuJTVDbmRlZiUyMF9nZXRfd2VsY29tZV9lbWFpbF9jb250ZW50KHVzZXIlM0ElMjAnVXNlcicpJTIwLSUzRSUyMERpY3QlNUJzdHIlMkMlMjBzdHIlNUQlM0ElNUNuJTIwJTIwJTIwJTIwJTVDJTIyJTVDJTIyJTVDJTIyJUU4JThFJUI3JUU1JThGJTk2JUU2JUFDJUEyJUU4JUJGJThFJUU5JTgyJUFFJUU0JUJCJUI2JUU1JTg2JTg1JUU1JUFFJUI5JTVDJTIyJTVDJTIyJTVDJTIyJTVDbiUyMCUyMCUyMCUyMHJldHVybiUyMHVzZXIuZ2V0X3dlbGNvbWVfZW1haWxfY29udGVudCgpJTVDbiU1Q24lNUNuZGVmJTIwX2NyZWF0ZV9zdWNjZXNzX3Jlc3BvbnNlKHVzZXIlM0ElMjAnVXNlcicpJTIwLSUzRSUyMERpY3QlNUJzdHIlMkMlMjBBbnklNUQlM0ElNUNuJTIwJTIwJTIwJTIwJTVDJTIyJTVDJTIyJTVDJTIyJUU1JTg4JTlCJUU1JUJCJUJBJUU2JTg4JTkwJUU1JThBJTlGJUU1JTkzJThEJUU1JUJBJTk0JTVDJTIyJTVDJTIyJTVDJTIyJTVDbiUyMCUyMCUyMCUyMHVzZXJfdHlwZV9kaXNwbGF5JTIwJTNEJTIwJTVDJTIyUHJlbWl1bSU1QyUyMiUyMGlmJTIwdXNlci51c2VyX3R5cGUlMjAlM0QlM0QlMjAlNUMlMjJwcmVtaXVtJTVDJTIyJTIwZWxzZSUyMCU1QyUyMiVFNiU5OSVBRSVFOSU4MCU5QSU1QyUyMiU1Q24lMjAlMjAlMjAlMjByZXR1cm4lMjAlN0IlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJ3N1Y2Nlc3MnJTNBJTIwVHJ1ZSUyQyU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAndXNlcl9pZCclM0ElMjB1c2VyLnVzZXJfaWQlMkMlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJ21lc3NhZ2UnJTNBJTIwZiclN0J1c2VyX3R5cGVfZGlzcGxheSU3RCVFNyU5NCVBOCVFNiU4OCVCNyVFNiVCMyVBOCVFNSU4NiU4QyVFNiU4OCU5MCVFNSU4QSU5RiclNUNuJTIwJTIwJTIwJTIwJTdEJTVDbiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXZvaWRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDRicGhtMDk5NnBpOTAzNSUyMiU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIyaGVhZGluZy0yJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDVlaTNhMG41cmI3Z3didnIlMjIlMkMlMjJzcGFjaW5nJTIyJTNBJTdCJTIyYmVmb3JlJTIyJTNBMjEuMzMzMzMzMzMzMzMzMzMyJTJDJTIyYWZ0ZXIlMjIlM0E5JTJDJTIybGluZSUyMiUzQTAuODUyOTQxMTc2NDcwNTg4MiU3RCU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiVFNCVCOCU5QSVFNSU4QSVBMSVFNSVBRiVCOSVFOCVCMSVBMSVFNSVCMSU4MiUyMC0lMjAlRTQlQjglQUQlRTYlOEElQkQlRTglQjElQTElRTUlQjElODIlRTYlQUMlQTElRUYlQkMlOEMlRTUlODElQTUlRTUlQTMlQUUlRTclOUElODQlRTQlQjglOUElRTUlOEElQTElRTUlQUYlQjklRTglQjElQTElMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJib2xkJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJzeiUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ2YWx1ZSUyMiUzQTE2JTJDJTIyc3pVbml0JTIyJTNBJTIycHQlMjIlN0QlN0QlNUQlN0QlNUQlN0QlNUQlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ1dWlkJTIyJTNBJTIybWQ1ZWxxaTFjamk4MnczdTR4ZyUyMiUyQyUyMmluZCUyMiUzQSU3QiUyMmZpcnN0TGluZSUyMiUzQTMyJTdEJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJUU4JUJGJTk5JUU0JUI4JTgwJUU1JUIxJTgyJUU2JTk4JUFGJUU0JUI4JTlBJUU1JThBJUExJUU5JTgwJUJCJUU4JUJFJTkxJUU3JTlBJTg0JUUyJTgwJTlDJUU2JUEwJUI4JUU1JUJGJTgzJUU2JTg5JUJGJUU4JUJEJUJEJUU4JTgwJTg1JUUyJTgwJTlEJUVGJUJDJThDJUU1JUE2JTgyJUU1JTkwJThDJUU3JTk0JUI1JUU1JUJEJUIxJUU2JThCJThEJUU2JTkxJTg0JUU0JUI4JUFEJUU3JTlBJTg0JUUyJTgwJTlDJUU2JTkxJTg0JUU1JUJEJUIxJUU2JThDJTg3JUU1JUFGJUJDJUUyJTgwJTlEJUVGJUJDJThDJUU4JUI0JTlGJUU4JUI0JUEzJUU1JUIwJTg2JUU1JUFGJUJDJUU2JUJDJTk0JUU3JTlBJTg0JUU2JThBJUJEJUU4JUIxJUExJUU2JTg0JThGJUU1JTlCJUJFJUU4JUJEJUFDJUU1JThDJTk2JUU0JUI4JUJBJUU1JTg1JUI3JUU0JUJEJTkzJUU1JThGJUFGJUU2JTg5JUE3JUU4JUExJThDJUU3JTlBJTg0JUUyJTgwJTlDJUU2JThCJThEJUU2JTkxJTg0JUU2JTk2JUI5JUU2JUExJTg4JUUyJTgwJTlEJUUzJTgwJTgyJUU1JTlDJUE4JUU4JUJGJTk5JUU5JTg3JThDJUVGJUJDJThDJUU2JUEwJUI4JUU1JUJGJTgzJUU2JTk4JUFGVXNlciVFOCVCRiU5OSVFNCVCOCVBQSVFNCVCOCU5QSVFNSU4QSVBMSVFNSVBRiVCOSVFOCVCMSVBMSVFMyU4MCU4MiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDVlbDNoZnM2NjF2OTcwdGtuJTIyJTJDJTIyaW5kJTIyJTNBJTdCJTIyZmlyc3RMaW5lJTIyJTNBMzIlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRTUlQUUlODMlRTQlQjglOEQlRTUlODYlOEQlRTYlOTglQUYlRTQlQjglODAlRTQlQjglQUElRTclQUUlODAlRTUlOEQlOTUlRTclOUElODQlRTglQjQlQUIlRTglQTElODAlRTYlOTUlQjAlRTYlOEQlQUUlRTclQjElQkIlRUYlQkMlOEMlRTglODAlOEMlRTYlOTglQUYlRTQlQjglODAlRTQlQjglQUElRTUlODElQTUlRTUlQTMlQUUlRTclOUElODQlRTMlODAlODElRTglODclQUElRTYlQjQlQkQlRTclOUElODQlRTUlQUUlOUUlRTQlQkQlOTMlRTMlODAlODIlRTUlQUUlODMlRTUlQjAlODElRTglQTMlODUlRTQlQkElODYlRTQlQjglOEUlRTIlODAlOUMlRTclOTQlQTglRTYlODglQjclRTIlODAlOUQlRTclOUIlQjglRTUlODUlQjMlRTclOUElODQlRTYlODklODAlRTYlOUMlODklRTQlQjglOUElRTUlOEElQTElRTglQTclODQlRTUlODglOTklRTUlOTIlOEMlRTYlOTUlQjAlRTYlOEQlQUUlRTYlOTMlOEQlRTQlQkQlOUMlRUYlQkMlOUElMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCU1RCUyQyUyMmNvbnRlbnRUeXBlJTIyJTNBJTIyY2FuZ2ppZS10ZXh0YmxvY2slMjIlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmNvZGUlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIyc3ludGF4JTIyJTNBJTIycHl0aG9uJTIyJTJDJTIydGhlbWUlMjIlM0ElMjJkZWZhdWx0JTIyJTJDJTIyd3JhcCUyMiUzQXRydWUlMkMlMjJpZCUyMiUzQSUyMjl1ZWlxdyUyMiUyQyUyMnRpdGxlJTIyJTNBJTIyJTIyJTJDJTIyZm9sZCUyMiUzQWZhbHNlJTJDJTIyaGlkZUhlYWRlciUyMiUzQWZhbHNlJTJDJTIyY29kZUZvbGRpbmclMjIlM0FmYWxzZSUyQyUyMnNob3dMaW5lTnVtYmVyJTIyJTNBdHJ1ZSUyQyUyMmZvbnQlMjIlM0ElN0IlMjJmb250RmFtaWx5JTIyJTNBJTIyZGVmYXVsdEZvbnQlMjIlMkMlMjJsaWdhdHVyZXMlMjIlM0FmYWxzZSU3RCUyQyUyMmVuYWJsZU1hY0hlYWRlciUyMiUzQWZhbHNlJTJDJTIydXVpZCUyMiUzQSUyMm1kNGJxcTV4cnN6dmFlYmd4dW4lMjIlMkMlMjJjb2RlJTIyJTNBJTIyJTIzJTIwJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTVDbiUyMyUyMCVFNyVBQyVBQzIlRTUlQjElODIlRUYlQkMlOUElRTQlQjglOUElRTUlOEElQTElRTUlQUYlQjklRTglQjElQTElRTUlQjElODIlMjAtJTIwJUU0JUI4JUFEJUU2JThBJUJEJUU4JUIxJUExJUU1JUIxJTgyJUU2JUFDJUExJUVGJUJDJThDJUU1JTgxJUE1JUU1JUEzJUFFJUU3JTlBJTg0JUU0JUI4JTlBJUU1JThBJUExJUU1JUFGJUI5JUU4JUIxJUExJTVDbiUyMyUyMCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCU1Q24lNUNuJTQwZGF0YWNsYXNzJTVDbmNsYXNzJTIwVXNlckNyZWF0aW9uUmVzdWx0JTNBJTVDbiUyMCUyMCUyMCUyMCU1QyUyMiU1QyUyMiU1QyUyMiVFNyU5NCVBOCVFNiU4OCVCNyVFNSU4OCU5QiVFNSVCQiVCQSVFNyVCQiU5MyVFNiU5RSU5QyU1QyUyMiU1QyUyMiU1QyUyMiU1Q24lMjAlMjAlMjAlMjBzdWNjZXNzJTNBJTIwYm9vbCU1Q24lMjAlMjAlMjAlMjB1c2VyJTNBJTIwT3B0aW9uYWwlNUInVXNlciclNUQlMjAlM0QlMjBOb25lJTVDbiUyMCUyMCUyMCUyMGVycm9yJTNBJTIwT3B0aW9uYWwlNUJzdHIlNUQlMjAlM0QlMjBOb25lJTVDbiU1Q24lNUNuJTQwZGF0YWNsYXNzJTVDbmNsYXNzJTIwU2F2ZVJlc3VsdCUzQSU1Q24lMjAlMjAlMjAlMjAlNUMlMjIlNUMlMjIlNUMlMjIlRTQlQkYlOUQlRTUlQUQlOTglRTclQkIlOTMlRTYlOUUlOUMlNUMlMjIlNUMlMjIlNUMlMjIlNUNuJTIwJTIwJTIwJTIwc3VjY2VzcyUzQSUyMGJvb2wlNUNuJTIwJTIwJTIwJTIwdXNlcl9pZCUzQSUyME9wdGlvbmFsJTVCaW50JTVEJTIwJTNEJTIwTm9uZSU1Q24lMjAlMjAlMjAlMjBlcnJvciUzQSUyME9wdGlvbmFsJTVCc3RyJTVEJTIwJTNEJTIwTm9uZSU1Q24lNUNuJTVDbmNsYXNzJTIwVXNlciUzQSU1Q24lMjAlMjAlMjAlMjAlNUMlMjIlNUMlMjIlNUMlMjIlRTclOTQlQTglRTYlODglQjclMjAtJTIwJUU2JUEwJUI4JUU1JUJGJTgzJUU0JUI4JTlBJUU1JThBJUExJUU1JUFGJUI5JUU4JUIxJUExJUVGJUJDJThDJUU1JTg2JTg1JUU5JTgzJUE4JUU5JUFBJThDJUU4JUFGJTgxJUU0JUJGJTlEJUU4JUFGJTgxJUU1JTgxJUE1JUU1JUEzJUFFJUU2JTgwJUE3JTVDJTIyJTVDJTIyJTVDJTIyJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjBkZWYlMjBfX2luaXRfXyhzZWxmJTJDJTIwdXNlcm5hbWUlM0ElMjBzdHIlMkMlMjBlbWFpbCUzQSUyMHN0ciUyQyUyMHBhc3N3b3JkX2hhc2glM0ElMjBzdHIlMkMlMjB1c2VyX3R5cGUlM0ElMjBzdHIpJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNlbGYudXNlcm5hbWUlMjAlM0QlMjB1c2VybmFtZSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzZWxmLmVtYWlsJTIwJTNEJTIwZW1haWwlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2VsZi5wYXNzd29yZF9oYXNoJTIwJTNEJTIwcGFzc3dvcmRfaGFzaCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzZWxmLnVzZXJfdHlwZSUyMCUzRCUyMHVzZXJfdHlwZSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzZWxmLnVzZXJfaWQlMjAlM0QlMjBOb25lJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNlbGYuY3JlYXRlZF9hdCUyMCUzRCUyMGRhdGV0aW1lLm5vdygpJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlNDBjbGFzc21ldGhvZCU1Q24lMjAlMjAlMjAlMjBkZWYlMjBjcmVhdGUoY2xzJTJDJTIwdXNlcm5hbWUlM0ElMjBzdHIlMkMlMjBlbWFpbCUzQSUyMHN0ciUyQyUyMHBhc3N3b3JkJTNBJTIwc3RyJTJDJTIwdXNlcl90eXBlJTNBJTIwc3RyKSUyMC0lM0UlMjBVc2VyQ3JlYXRpb25SZXN1bHQlM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDJTIyJTVDJTIyJTVDJTIyJUU1JTg4JTlCJUU1JUJCJUJBJUU3JTk0JUE4JUU2JTg4JUI3JTIwLSUyMCVFNSU4NiU4NSVFOSU4MyVBOCVFOSVBQSU4QyVFOCVBRiU4MSVFNCVCRiU5RCVFOCVBRiU4MSVFNSU4MSVBNSVFNSVBMyVBRSVFNiU4MCVBNyU1QyUyMiU1QyUyMiU1QyUyMiU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwJUU5JUFBJThDJUU4JUFGJTgxJUU3JTk0JUE4JUU2JTg4JUI3JUU3JUIxJUJCJUU1JTlFJThCJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGlmJTIwdXNlcl90eXBlJTIwbm90JTIwaW4lMjAlNUIncmVndWxhciclMkMlMjAncHJlbWl1bSclNUQlM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwVXNlckNyZWF0aW9uUmVzdWx0KHN1Y2Nlc3MlM0RGYWxzZSUyQyUyMGVycm9yJTNEJyVFNiU5NyVBMCVFNiU5NSU4OCVFNyU5QSU4NCVFNyU5NCVBOCVFNiU4OCVCNyVFNyVCMSVCQiVFNSU5RSU4QicpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjAlRTklQUElOEMlRTglQUYlODElRTclOTQlQTglRTYlODglQjclRTUlOTAlOEQlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdXNlcm5hbWVfZXJyb3IlMjAlM0QlMjBjbHMuX3ZhbGlkYXRlX3VzZXJuYW1lKHVzZXJuYW1lJTJDJTIwdXNlcl90eXBlKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZiUyMHVzZXJuYW1lX2Vycm9yJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMFVzZXJDcmVhdGlvblJlc3VsdChzdWNjZXNzJTNERmFsc2UlMkMlMjBlcnJvciUzRHVzZXJuYW1lX2Vycm9yKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwJUU5JUFBJThDJUU4JUFGJTgxJUU5JTgyJUFFJUU3JUFFJUIxJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGVtYWlsX2Vycm9yJTIwJTNEJTIwY2xzLl92YWxpZGF0ZV9lbWFpbChlbWFpbCklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjBlbWFpbF9lcnJvciUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBVc2VyQ3JlYXRpb25SZXN1bHQoc3VjY2VzcyUzREZhbHNlJTJDJTIwZXJyb3IlM0RlbWFpbF9lcnJvciklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMyUyMCVFOSVBQSU4QyVFOCVBRiU4MSVFNSVBRiU4NiVFNyVBMCU4MSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBwYXNzd29yZF9lcnJvciUyMCUzRCUyMGNscy5fdmFsaWRhdGVfcGFzc3dvcmQocGFzc3dvcmQpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGlmJTIwcGFzc3dvcmRfZXJyb3IlM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwVXNlckNyZWF0aW9uUmVzdWx0KHN1Y2Nlc3MlM0RGYWxzZSUyQyUyMGVycm9yJTNEcGFzc3dvcmRfZXJyb3IpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjAlRTYlQTMlODAlRTYlOUYlQTUlRTclOTQlQTglRTYlODglQjclRTYlOTglQUYlRTUlOTAlQTYlRTUlQjclQjIlRTUlQUQlOTglRTUlOUMlQTglNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjBVc2VyUmVwb3NpdG9yeSgpLmV4aXN0cyh1c2VybmFtZSUyQyUyMGVtYWlsKSUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBVc2VyQ3JlYXRpb25SZXN1bHQoc3VjY2VzcyUzREZhbHNlJTJDJTIwZXJyb3IlM0QnJUU3JTk0JUE4JUU2JTg4JUI3JUU1JTkwJThEJUU2JTg4JTk2JUU5JTgyJUFFJUU3JUFFJUIxJUU1JUI3JUIyJUU1JUFEJTk4JUU1JTlDJUE4JyklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMyUyMCVFNSU4OCU5QiVFNSVCQiVCQSVFNyU5NCVBOCVFNiU4OCVCNyVFNSVBRiVCOSVFOCVCMSVBMSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBwYXNzd29yZF9oYXNoJTIwJTNEJTIwY2xzLl9oYXNoX3Bhc3N3b3JkKHBhc3N3b3JkKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB1c2VyJTIwJTNEJTIwY2xzKHVzZXJuYW1lJTJDJTIwZW1haWwlMkMlMjBwYXNzd29yZF9oYXNoJTJDJTIwdXNlcl90eXBlKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwVXNlckNyZWF0aW9uUmVzdWx0KHN1Y2Nlc3MlM0RUcnVlJTJDJTIwdXNlciUzRHVzZXIpJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjBkZWYlMjBzYXZlKHNlbGYpJTIwLSUzRSUyMFNhdmVSZXN1bHQlM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDJTIyJTVDJTIyJTVDJTIyJUU0JUJGJTlEJUU1JUFEJTk4JUU3JTk0JUE4JUU2JTg4JUI3JUU1JTg4JUIwJUU2JTk1JUIwJUU2JThEJUFFJUU1JUJBJTkzJTVDJTIyJTVDJTIyJTVDJTIyJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHRyeSUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXBvc2l0b3J5JTIwJTNEJTIwVXNlclJlcG9zaXRvcnkoKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzZWxmLnVzZXJfaWQlMjAlM0QlMjByZXBvc2l0b3J5LmFkZChzZWxmKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBTYXZlUmVzdWx0KHN1Y2Nlc3MlM0RUcnVlJTJDJTIwdXNlcl9pZCUzRHNlbGYudXNlcl9pZCklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZXhjZXB0JTIwRXhjZXB0aW9uJTIwYXMlMjBlJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMFNhdmVSZXN1bHQoc3VjY2VzcyUzREZhbHNlJTJDJTIwZXJyb3IlM0RmJyVFNCVCRiU5RCVFNSVBRCU5OCVFNyU5NCVBOCVFNiU4OCVCNyVFNSVBNCVCMSVFOCVCNCVBNSUzQSUyMCU3QnN0cihlKSU3RCcpJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlNDBzdGF0aWNtZXRob2QlNUNuJTIwJTIwJTIwJTIwZGVmJTIwX3ZhbGlkYXRlX3VzZXJuYW1lKHVzZXJuYW1lJTNBJTIwc3RyJTJDJTIwdXNlcl90eXBlJTNBJTIwc3RyKSUyMC0lM0UlMjBPcHRpb25hbCU1QnN0ciU1RCUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUMlMjIlNUMlMjIlNUMlMjIlRTklQUElOEMlRTglQUYlODElRTclOTQlQTglRTYlODglQjclRTUlOTAlOEQlNUMlMjIlNUMlMjIlNUMlMjIlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjBub3QlMjB1c2VybmFtZSUyMG9yJTIwbm90JTIwdXNlcm5hbWUuc3RyaXAoKSUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjAnJUU3JTk0JUE4JUU2JTg4JUI3JUU1JTkwJThEJUU0JUI4JThEJUU4JTgzJUJEJUU0JUI4JUJBJUU3JUE5JUJBJyU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjB1c2VyX3R5cGUlMjAlM0QlM0QlMjAncHJlbWl1bSclMjBhbmQlMjBsZW4odXNlcm5hbWUpJTIwJTNDJTIwNiUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjAnUHJlbWl1bSVFNyU5NCVBOCVFNiU4OCVCNyVFNSU5MCU4RCVFOCU4NyVCMyVFNSVCMCU5MTYlRTQlQkQlOEQnJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBOb25lJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlNDBzdGF0aWNtZXRob2QlNUNuJTIwJTIwJTIwJTIwZGVmJTIwX3ZhbGlkYXRlX2VtYWlsKGVtYWlsJTNBJTIwc3RyKSUyMC0lM0UlMjBPcHRpb25hbCU1QnN0ciU1RCUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUMlMjIlNUMlMjIlNUMlMjIlRTklQUElOEMlRTglQUYlODElRTklODIlQUUlRTclQUUlQjElNUMlMjIlNUMlMjIlNUMlMjIlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjBub3QlMjBlbWFpbCUyMG9yJTIwbm90JTIwZW1haWwuc3RyaXAoKSUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjAnJUU5JTgyJUFFJUU3JUFFJUIxJUU0JUI4JThEJUU4JTgzJUJEJUU0JUI4JUJBJUU3JUE5JUJBJyU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcGF0dGVybiUyMCUzRCUyMHInJTVFJTVCYS16QS1aMC05Ll8lMjUlMkItJTVEJTJCJTQwJTVCYS16QS1aMC05Li0lNUQlMkIlNUMlNUMuJTVCYS16QS1aJTVEJTdCMiUyQyU3RCUyNCclNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjBub3QlMjByZS5tYXRjaChwYXR0ZXJuJTJDJTIwZW1haWwpJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMCclRTklODIlQUUlRTclQUUlQjElRTYlQTAlQkMlRTUlQkMlOEYlRTQlQjglOEQlRTYlQUQlQTMlRTclQTElQUUnJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBOb25lJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlNDBzdGF0aWNtZXRob2QlNUNuJTIwJTIwJTIwJTIwZGVmJTIwX3ZhbGlkYXRlX3Bhc3N3b3JkKHBhc3N3b3JkJTNBJTIwc3RyKSUyMC0lM0UlMjBPcHRpb25hbCU1QnN0ciU1RCUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUMlMjIlNUMlMjIlNUMlMjIlRTklQUElOEMlRTglQUYlODElRTUlQUYlODYlRTclQTAlODElNUMlMjIlNUMlMjIlNUMlMjIlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjBub3QlMjBwYXNzd29yZCUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjAnJUU1JUFGJTg2JUU3JUEwJTgxJUU0JUI4JThEJUU4JTgzJUJEJUU0JUI4JUJBJUU3JUE5JUJBJyU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjBsZW4ocGFzc3dvcmQpJTIwJTNDJTIwOCUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjAnJUU1JUFGJTg2JUU3JUEwJTgxJUU1JUJGJTg1JUU5JUExJUJCJUU4JTg3JUIzJUU1JUIwJTkxOCVFNCVCRCU4RCclNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGlmJTIwbm90JTIwcmUuc2VhcmNoKHInJTVCQS1aJTVEJyUyQyUyMHBhc3N3b3JkKSUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjAnJUU1JUFGJTg2JUU3JUEwJTgxJUU1JUJGJTg1JUU5JUExJUJCJUU1JThDJTg1JUU1JTkwJUFCJUU1JUE0JUE3JUU1JTg2JTk5JUU1JUFEJTk3JUU2JUFGJThEJyU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjBub3QlMjByZS5zZWFyY2gociclNUIwLTklNUQnJTJDJTIwcGFzc3dvcmQpJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMCclRTUlQUYlODYlRTclQTAlODElRTUlQkYlODUlRTklQTElQkIlRTUlOEMlODUlRTUlOTAlQUIlRTYlOTUlQjAlRTUlQUQlOTcnJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBOb25lJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjBkZWYlMjBnZXRfd2VsY29tZV9lbWFpbF9jb250ZW50KHNlbGYpJTIwLSUzRSUyMERpY3QlNUJzdHIlMkMlMjBzdHIlNUQlM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDJTIyJTVDJTIyJTVDJTIyJUU4JThFJUI3JUU1JThGJTk2JUU2JUFDJUEyJUU4JUJGJThFJUU5JTgyJUFFJUU0JUJCJUI2JUU1JTg2JTg1JUU1JUFFJUI5JTVDJTIyJTVDJTIyJTVDJTIyJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGlmJTIwc2VsZi51c2VyX3R5cGUlMjAlM0QlM0QlMjAncHJlbWl1bSclM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTdCJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCdzdWJqZWN0JyUzQSUyMCclRTYlQUMlQTIlRTglQkYlOEUlRTYlODglOTAlRTQlQjglQkFQcmVtaXVtJUU3JTk0JUE4JUU2JTg4JUI3JUVGJUJDJTgxJyUyQyU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAnYm9keSclM0ElMjBmJyVFNCVCQSVCMiVFNyU4OCVCMSVFNyU5QSU4NCUyMCU3QnNlbGYudXNlcm5hbWUlN0QlRUYlQkMlOEMlRTYlODQlOUYlRTglQjAlQTIlRTYlODIlQTglRTYlODglOTAlRTQlQjglQkElRTYlODglOTElRTQlQkIlQUMlRTclOUElODRQcmVtaXVtJUU3JTk0JUE4JUU2JTg4JUI3Li4uJyU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0QlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZWxzZSUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjAlN0IlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJ3N1YmplY3QnJTNBJTIwJyVFNiVBQyVBMiVFOCVCRiU4RSVFNiVCMyVBOCVFNSU4NiU4QyVFRiVCQyU4MSclMkMlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJ2JvZHknJTNBJTIwZiclRTQlQkElQjIlRTclODglQjElRTclOUElODQlMjAlN0JzZWxmLnVzZXJuYW1lJTdEJUVGJUJDJThDJUU2JTg0JTlGJUU4JUIwJUEyJUU2JTgyJUE4JUU3JTlBJTg0JUU2JUIzJUE4JUU1JTg2JThDLi4uJyU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0QlNUNuJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCU0MHN0YXRpY21ldGhvZCU1Q24lMjAlMjAlMjAlMjBkZWYlMjBfaGFzaF9wYXNzd29yZChwYXNzd29yZCUzQSUyMHN0ciklMjAtJTNFJTIwc3RyJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1QyUyMiU1QyUyMiU1QyUyMiVFNyU5NCU5RiVFNiU4OCU5MCVFNSVBRiU4NiVFNyVBMCU4MSVFNSU5MyU4OCVFNSVCOCU4QyU1QyUyMiU1QyUyMiU1QyUyMiU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBoYXNobGliLnNoYTI1NihwYXNzd29yZC5lbmNvZGUoKSkuaGV4ZGlnZXN0KCklMjIlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlMjMlMjAlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlNUNuJTIzJTIwJUU3JUFDJUFDMiVFNSVCMSU4MiVFRiVCQyU5QSVFNCVCOCU5QSVFNSU4QSVBMSVFNSVBRiVCOSVFOCVCMSVBMSVFNSVCMSU4MiUyMC0lMjAlRTQlQjglQUQlRTYlOEElQkQlRTglQjElQTElRTUlQjElODIlRTYlQUMlQTElRUYlQkMlOEMlRTUlODElQTUlRTUlQTMlQUUlRTclOUElODQlRTQlQjglOUElRTUlOEElQTElRTUlQUYlQjklRTglQjElQTElNUNuJTIzJTIwJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTVDbiU1Q24lNDBkYXRhY2xhc3MlNUNuY2xhc3MlMjBVc2VyQ3JlYXRpb25SZXN1bHQlM0ElNUNuJTIwJTIwJTIwJTIwJTVDJTIyJTVDJTIyJTVDJTIyJUU3JTk0JUE4JUU2JTg4JUI3JUU1JTg4JTlCJUU1JUJCJUJBJUU3JUJCJTkzJUU2JTlFJTlDJTVDJTIyJTVDJTIyJTVDJTIyJTVDbiUyMCUyMCUyMCUyMHN1Y2Nlc3MlM0ElMjBib29sJTVDbiUyMCUyMCUyMCUyMHVzZXIlM0ElMjBPcHRpb25hbCU1QidVc2VyJyU1RCUyMCUzRCUyME5vbmUlNUNuJTIwJTIwJTIwJTIwZXJyb3IlM0ElMjBPcHRpb25hbCU1QnN0ciU1RCUyMCUzRCUyME5vbmUlNUNuJTVDbiU1Q24lNDBkYXRhY2xhc3MlNUNuY2xhc3MlMjBTYXZlUmVzdWx0JTNBJTVDbiUyMCUyMCUyMCUyMCU1QyUyMiU1QyUyMiU1QyUyMiVFNCVCRiU5RCVFNSVBRCU5OCVFNyVCQiU5MyVFNiU5RSU5QyU1QyUyMiU1QyUyMiU1QyUyMiU1Q24lMjAlMjAlMjAlMjBzdWNjZXNzJTNBJTIwYm9vbCU1Q24lMjAlMjAlMjAlMjB1c2VyX2lkJTNBJTIwT3B0aW9uYWwlNUJpbnQlNUQlMjAlM0QlMjBOb25lJTVDbiUyMCUyMCUyMCUyMGVycm9yJTNBJTIwT3B0aW9uYWwlNUJzdHIlNUQlMjAlM0QlMjBOb25lJTVDbiU1Q24lNUNuY2xhc3MlMjBVc2VyJTNBJTVDbiUyMCUyMCUyMCUyMCU1QyUyMiU1QyUyMiU1QyUyMiVFNyU5NCVBOCVFNiU4OCVCNyUyMC0lMjAlRTYlQTAlQjglRTUlQkYlODMlRTQlQjglOUElRTUlOEElQTElRTUlQUYlQjklRTglQjElQTElRUYlQkMlOEMlRTUlODYlODUlRTklODMlQTglRTklQUElOEMlRTglQUYlODElRTQlQkYlOUQlRTglQUYlODElRTUlODElQTUlRTUlQTMlQUUlRTYlODAlQTclNUMlMjIlNUMlMjIlNUMlMjIlNUNuJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMGRlZiUyMF9faW5pdF9fKHNlbGYlMkMlMjB1c2VybmFtZSUzQSUyMHN0ciUyQyUyMGVtYWlsJTNBJTIwc3RyJTJDJTIwcGFzc3dvcmRfaGFzaCUzQSUyMHN0ciUyQyUyMHVzZXJfdHlwZSUzQSUyMHN0ciklM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2VsZi51c2VybmFtZSUyMCUzRCUyMHVzZXJuYW1lJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNlbGYuZW1haWwlMjAlM0QlMjBlbWFpbCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzZWxmLnBhc3N3b3JkX2hhc2glMjAlM0QlMjBwYXNzd29yZF9oYXNoJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNlbGYudXNlcl90eXBlJTIwJTNEJTIwdXNlcl90eXBlJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNlbGYudXNlcl9pZCUyMCUzRCUyME5vbmUlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2VsZi5jcmVhdGVkX2F0JTIwJTNEJTIwZGF0ZXRpbWUubm93KCklNUNuJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCU0MGNsYXNzbWV0aG9kJTVDbiUyMCUyMCUyMCUyMGRlZiUyMGNyZWF0ZShjbHMlMkMlMjB1c2VybmFtZSUzQSUyMHN0ciUyQyUyMGVtYWlsJTNBJTIwc3RyJTJDJTIwcGFzc3dvcmQlM0ElMjBzdHIlMkMlMjB1c2VyX3R5cGUlM0ElMjBzdHIpJTIwLSUzRSUyMFVzZXJDcmVhdGlvblJlc3VsdCUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUMlMjIlNUMlMjIlNUMlMjIlRTUlODglOUIlRTUlQkIlQkElRTclOTQlQTglRTYlODglQjclMjAtJTIwJUU1JTg2JTg1JUU5JTgzJUE4JUU5JUFBJThDJUU4JUFGJTgxJUU0JUJGJTlEJUU4JUFGJTgxJUU1JTgxJUE1JUU1JUEzJUFFJUU2JTgwJUE3JTVDJTIyJTVDJTIyJTVDJTIyJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjAlRTklQUElOEMlRTglQUYlODElRTclOTQlQTglRTYlODglQjclRTclQjElQkIlRTUlOUUlOEIlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjB1c2VyX3R5cGUlMjBub3QlMjBpbiUyMCU1QidyZWd1bGFyJyUyQyUyMCdwcmVtaXVtJyU1RCUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBVc2VyQ3JlYXRpb25SZXN1bHQoc3VjY2VzcyUzREZhbHNlJTJDJTIwZXJyb3IlM0QnJUU2JTk3JUEwJUU2JTk1JTg4JUU3JTlBJTg0JUU3JTk0JUE4JUU2JTg4JUI3JUU3JUIxJUJCJUU1JTlFJThCJyklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMyUyMCVFOSVBQSU4QyVFOCVBRiU4MSVFNyU5NCVBOCVFNiU4OCVCNyVFNSU5MCU4RCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB1c2VybmFtZV9lcnJvciUyMCUzRCUyMGNscy5fdmFsaWRhdGVfdXNlcm5hbWUodXNlcm5hbWUlMkMlMjB1c2VyX3R5cGUpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGlmJTIwdXNlcm5hbWVfZXJyb3IlM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwVXNlckNyZWF0aW9uUmVzdWx0KHN1Y2Nlc3MlM0RGYWxzZSUyQyUyMGVycm9yJTNEdXNlcm5hbWVfZXJyb3IpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjAlRTklQUElOEMlRTglQUYlODElRTklODIlQUUlRTclQUUlQjElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZW1haWxfZXJyb3IlMjAlM0QlMjBjbHMuX3ZhbGlkYXRlX2VtYWlsKGVtYWlsKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZiUyMGVtYWlsX2Vycm9yJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMFVzZXJDcmVhdGlvblJlc3VsdChzdWNjZXNzJTNERmFsc2UlMkMlMjBlcnJvciUzRGVtYWlsX2Vycm9yKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwJUU5JUFBJThDJUU4JUFGJTgxJUU1JUFGJTg2JUU3JUEwJTgxJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHBhc3N3b3JkX2Vycm9yJTIwJTNEJTIwY2xzLl92YWxpZGF0ZV9wYXNzd29yZChwYXNzd29yZCklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjBwYXNzd29yZF9lcnJvciUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBVc2VyQ3JlYXRpb25SZXN1bHQoc3VjY2VzcyUzREZhbHNlJTJDJTIwZXJyb3IlM0RwYXNzd29yZF9lcnJvciklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMyUyMCVFNiVBMyU4MCVFNiU5RiVBNSVFNyU5NCVBOCVFNiU4OCVCNyVFNiU5OCVBRiVFNSU5MCVBNiVFNSVCNyVCMiVFNSVBRCU5OCVFNSU5QyVBOCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZiUyMFVzZXJSZXBvc2l0b3J5KCkuZXhpc3RzKHVzZXJuYW1lJTJDJTIwZW1haWwpJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMFVzZXJDcmVhdGlvblJlc3VsdChzdWNjZXNzJTNERmFsc2UlMkMlMjBlcnJvciUzRCclRTclOTQlQTglRTYlODglQjclRTUlOTAlOEQlRTYlODglOTYlRTklODIlQUUlRTclQUUlQjElRTUlQjclQjIlRTUlQUQlOTglRTUlOUMlQTgnKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwJUU1JTg4JTlCJUU1JUJCJUJBJUU3JTk0JUE4JUU2JTg4JUI3JUU1JUFGJUI5JUU4JUIxJUExJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHBhc3N3b3JkX2hhc2glMjAlM0QlMjBjbHMuX2hhc2hfcGFzc3dvcmQocGFzc3dvcmQpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHVzZXIlMjAlM0QlMjBjbHModXNlcm5hbWUlMkMlMjBlbWFpbCUyQyUyMHBhc3N3b3JkX2hhc2glMkMlMjB1c2VyX3R5cGUpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBVc2VyQ3JlYXRpb25SZXN1bHQoc3VjY2VzcyUzRFRydWUlMkMlMjB1c2VyJTNEdXNlciklNUNuJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMGRlZiUyMHNhdmUoc2VsZiklMjAtJTNFJTIwU2F2ZVJlc3VsdCUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUMlMjIlNUMlMjIlNUMlMjIlRTQlQkYlOUQlRTUlQUQlOTglRTclOTQlQTglRTYlODglQjclRTUlODglQjAlRTYlOTUlQjAlRTYlOEQlQUUlRTUlQkElOTMlNUMlMjIlNUMlMjIlNUMlMjIlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdHJ5JTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJlcG9zaXRvcnklMjAlM0QlMjBVc2VyUmVwb3NpdG9yeSgpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNlbGYudXNlcl9pZCUyMCUzRCUyMHJlcG9zaXRvcnkuYWRkKHNlbGYpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMFNhdmVSZXN1bHQoc3VjY2VzcyUzRFRydWUlMkMlMjB1c2VyX2lkJTNEc2VsZi51c2VyX2lkKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBleGNlcHQlMjBFeGNlcHRpb24lMjBhcyUyMGUlM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwU2F2ZVJlc3VsdChzdWNjZXNzJTNERmFsc2UlMkMlMjBlcnJvciUzRGYnJUU0JUJGJTlEJUU1JUFEJTk4JUU3JTk0JUE4JUU2JTg4JUI3JUU1JUE0JUIxJUU4JUI0JUE1JTNBJTIwJTdCc3RyKGUpJTdEJyklNUNuJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCU0MHN0YXRpY21ldGhvZCU1Q24lMjAlMjAlMjAlMjBkZWYlMjBfdmFsaWRhdGVfdXNlcm5hbWUodXNlcm5hbWUlM0ElMjBzdHIlMkMlMjB1c2VyX3R5cGUlM0ElMjBzdHIpJTIwLSUzRSUyME9wdGlvbmFsJTVCc3RyJTVEJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1QyUyMiU1QyUyMiU1QyUyMiVFOSVBQSU4QyVFOCVBRiU4MSVFNyU5NCVBOCVFNiU4OCVCNyVFNSU5MCU4RCU1QyUyMiU1QyUyMiU1QyUyMiU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZiUyMG5vdCUyMHVzZXJuYW1lJTIwb3IlMjBub3QlMjB1c2VybmFtZS5zdHJpcCgpJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMCclRTclOTQlQTglRTYlODglQjclRTUlOTAlOEQlRTQlQjglOEQlRTglODMlQkQlRTQlQjglQkElRTclQTklQkEnJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZiUyMHVzZXJfdHlwZSUyMCUzRCUzRCUyMCdwcmVtaXVtJyUyMGFuZCUyMGxlbih1c2VybmFtZSklMjAlM0MlMjA2JTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMCdQcmVtaXVtJUU3JTk0JUE4JUU2JTg4JUI3JUU1JTkwJThEJUU4JTg3JUIzJUU1JUIwJTkxNiVFNCVCRCU4RCclNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyME5vbmUlNUNuJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCU0MHN0YXRpY21ldGhvZCU1Q24lMjAlMjAlMjAlMjBkZWYlMjBfdmFsaWRhdGVfZW1haWwoZW1haWwlM0ElMjBzdHIpJTIwLSUzRSUyME9wdGlvbmFsJTVCc3RyJTVEJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1QyUyMiU1QyUyMiU1QyUyMiVFOSVBQSU4QyVFOCVBRiU4MSVFOSU4MiVBRSVFNyVBRSVCMSU1QyUyMiU1QyUyMiU1QyUyMiU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZiUyMG5vdCUyMGVtYWlsJTIwb3IlMjBub3QlMjBlbWFpbC5zdHJpcCgpJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMCclRTklODIlQUUlRTclQUUlQjElRTQlQjglOEQlRTglODMlQkQlRTQlQjglQkElRTclQTklQkEnJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBwYXR0ZXJuJTIwJTNEJTIwciclNUUlNUJhLXpBLVowLTkuXyUyNSUyQi0lNUQlMkIlNDAlNUJhLXpBLVowLTkuLSU1RCUyQiU1QyU1Qy4lNUJhLXpBLVolNUQlN0IyJTJDJTdEJTI0JyU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZiUyMG5vdCUyMHJlLm1hdGNoKHBhdHRlcm4lMkMlMjBlbWFpbCklM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwJyVFOSU4MiVBRSVFNyVBRSVCMSVFNiVBMCVCQyVFNSVCQyU4RiVFNCVCOCU4RCVFNiVBRCVBMyVFNyVBMSVBRSclNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyME5vbmUlNUNuJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCU0MHN0YXRpY21ldGhvZCU1Q24lMjAlMjAlMjAlMjBkZWYlMjBfdmFsaWRhdGVfcGFzc3dvcmQocGFzc3dvcmQlM0ElMjBzdHIpJTIwLSUzRSUyME9wdGlvbmFsJTVCc3RyJTVEJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1QyUyMiU1QyUyMiU1QyUyMiVFOSVBQSU4QyVFOCVBRiU4MSVFNSVBRiU4NiVFNyVBMCU4MSU1QyUyMiU1QyUyMiU1QyUyMiU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZiUyMG5vdCUyMHBhc3N3b3JkJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMCclRTUlQUYlODYlRTclQTAlODElRTQlQjglOEQlRTglODMlQkQlRTQlQjglQkElRTclQTklQkEnJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZiUyMGxlbihwYXNzd29yZCklMjAlM0MlMjA4JTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMCclRTUlQUYlODYlRTclQTAlODElRTUlQkYlODUlRTklQTElQkIlRTglODclQjMlRTUlQjAlOTE4JUU0JUJEJThEJyU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjBub3QlMjByZS5zZWFyY2gociclNUJBLVolNUQnJTJDJTIwcGFzc3dvcmQpJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMCclRTUlQUYlODYlRTclQTAlODElRTUlQkYlODUlRTklQTElQkIlRTUlOEMlODUlRTUlOTAlQUIlRTUlQTQlQTclRTUlODYlOTklRTUlQUQlOTclRTYlQUYlOEQnJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZiUyMG5vdCUyMHJlLnNlYXJjaChyJyU1QjAtOSU1RCclMkMlMjBwYXNzd29yZCklM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwJyVFNSVBRiU4NiVFNyVBMCU4MSVFNSVCRiU4NSVFOSVBMSVCQiVFNSU4QyU4NSVFNSU5MCVBQiVFNiU5NSVCMCVFNSVBRCU5NyclNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyME5vbmUlNUNuJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMGRlZiUyMGdldF93ZWxjb21lX2VtYWlsX2NvbnRlbnQoc2VsZiklMjAtJTNFJTIwRGljdCU1QnN0ciUyQyUyMHN0ciU1RCUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUMlMjIlNUMlMjIlNUMlMjIlRTglOEUlQjclRTUlOEYlOTYlRTYlQUMlQTIlRTglQkYlOEUlRTklODIlQUUlRTQlQkIlQjYlRTUlODYlODUlRTUlQUUlQjklNUMlMjIlNUMlMjIlNUMlMjIlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjBzZWxmLnVzZXJfdHlwZSUyMCUzRCUzRCUyMCdwcmVtaXVtJyUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjAlN0IlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJ3N1YmplY3QnJTNBJTIwJyVFNiVBQyVBMiVFOCVCRiU4RSVFNiU4OCU5MCVFNCVCOCVCQVByZW1pdW0lRTclOTQlQTglRTYlODglQjclRUYlQkMlODEnJTJDJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCdib2R5JyUzQSUyMGYnJUU0JUJBJUIyJUU3JTg4JUIxJUU3JTlBJTg0JTIwJTdCc2VsZi51c2VybmFtZSU3RCVFRiVCQyU4QyVFNiU4NCU5RiVFOCVCMCVBMiVFNiU4MiVBOCVFNiU4OCU5MCVFNCVCOCVCQSVFNiU4OCU5MSVFNCVCQiVBQyVFNyU5QSU4NFByZW1pdW0lRTclOTQlQTglRTYlODglQjcuLi4nJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3RCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbHNlJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMCU3QiU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAnc3ViamVjdCclM0ElMjAnJUU2JUFDJUEyJUU4JUJGJThFJUU2JUIzJUE4JUU1JTg2JThDJUVGJUJDJTgxJyUyQyU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAnYm9keSclM0ElMjBmJyVFNCVCQSVCMiVFNyU4OCVCMSVFNyU5QSU4NCUyMCU3QnNlbGYudXNlcm5hbWUlN0QlRUYlQkMlOEMlRTYlODQlOUYlRTglQjAlQTIlRTYlODIlQTglRTclOUElODQlRTYlQjMlQTglRTUlODYlOEMuLi4nJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3RCU1Q24lMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwJTQwc3RhdGljbWV0aG9kJTVDbiUyMCUyMCUyMCUyMGRlZiUyMF9oYXNoX3Bhc3N3b3JkKHBhc3N3b3JkJTNBJTIwc3RyKSUyMC0lM0UlMjBzdHIlM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDJTIyJTVDJTIyJTVDJTIyJUU3JTk0JTlGJUU2JTg4JTkwJUU1JUFGJTg2JUU3JUEwJTgxJUU1JTkzJTg4JUU1JUI4JThDJTVDJTIyJTVDJTIyJTVDJTIyJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMGhhc2hsaWIuc2hhMjU2KHBhc3N3b3JkLmVuY29kZSgpKS5oZXhkaWdlc3QoKSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXZvaWRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDVlaTlkbTEyMWNwajFxdGJ5ZCUyMiU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIyaGVhZGluZy0yJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDVlaTlqbjhnNDJtaTNhemklMjIlMkMlMjJzcGFjaW5nJTIyJTNBJTdCJTIyYmVmb3JlJTIyJTNBMjEuMzMzMzMzMzMzMzMzMzMyJTJDJTIyYWZ0ZXIlMjIlM0E5JTJDJTIybGluZSUyMiUzQTAuODUyOTQxMTc2NDcwNTg4MiU3RCU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiVFNSU5RiVCQSVFNyVBMSU4MCVFOCVBRSVCRSVFNiU5NiVCRCVFNSVCMSU4MiUyMC0lMjAlRTYlOUMlODAlRTQlQkQlOEUlRTYlOEElQkQlRTglQjElQTElRTUlQjElODIlRTYlQUMlQTElRUYlQkMlOEMlRTclQkElQUYlRTYlOEElODAlRTYlOUMlQUYlRTUlQUUlOUUlRTclOEUlQjAlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJib2xkJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJzeiUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ2YWx1ZSUyMiUzQTE2JTJDJTIyc3pVbml0JTIyJTNBJTIycHQlMjIlN0QlN0QlNUQlN0QlNUQlN0QlNUQlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ1dWlkJTIyJTNBJTIybWQ1ZW0wMHFvcGplemcxNjc1JTIyJTJDJTIyaW5kJTIyJTNBJTdCJTIyZmlyc3RMaW5lJTIyJTNBMzIlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRTglQkYlOTklRTQlQjglODAlRTUlQjElODIlRTYlOTglQUYlRTYlOTUlQjQlRTQlQjglQUElRTQlQkQlOTMlRTclQjMlQkIlRTclOUElODQlRTIlODAlOUMlRTclODElQUYlRTUlODUlODklRTUlQjglODglRTIlODAlOUQlRTUlOTIlOEMlRTIlODAlOUMlRTUlOUMlQkElRTUlOEElQTElRTIlODAlOUQlRUYlQkMlOEMlRTglQjQlOUYlRTglQjQlQTMlRTYlODklODAlRTYlOUMlODklRTUlODUlQjclRTQlQkQlOTMlRTclOUElODQlRTIlODAlOUMlRTglODQlOEYlRTYlQjQlQkIlRTclQjQlQUYlRTYlQjQlQkIlRTIlODAlOUQlRTMlODAlODIlRTUlQUUlODMlRTUlOEMlODUlRTUlOTAlQUIlRTQlQkElODYlRTQlQjglOEUlRTUlQTQlOTYlRTklODMlQTglRTQlQjglOTYlRTclOTUlOEMlRUYlQkMlODglRTUlQTYlODIlRTYlOTUlQjAlRTYlOEQlQUUlRTUlQkElOTMlRTMlODAlODElRTYlOTYlODclRTQlQkIlQjYlRTclQjMlQkIlRTclQkIlOUYlRTMlODAlODElRTklODIlQUUlRTQlQkIlQjYlRTYlOUMlOEQlRTUlOEElQTElRTUlOTklQTglRTclQUQlODklRUYlQkMlODklRTYlODklOTMlRTQlQkElQTQlRTklODElOTMlRTclOUElODQlRTYlODklODAlRTYlOUMlODklRTYlOEElODAlRTYlOUMlQUYlRTUlQUUlOUUlRTclOEUlQjAlRTMlODAlODIlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCU1RCUyQyUyMmNvbnRlbnRUeXBlJTIyJTNBJTIyY2FuZ2ppZS10ZXh0YmxvY2slMjIlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmNvZGUlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIyc3ludGF4JTIyJTNBJTIycHl0aG9uJTIyJTJDJTIydGhlbWUlMjIlM0ElMjJkZWZhdWx0JTIyJTJDJTIyd3JhcCUyMiUzQXRydWUlMkMlMjJpZCUyMiUzQSUyMjF1cnF0diUyMiUyQyUyMnRpdGxlJTIyJTNBJTIyJTIyJTJDJTIyZm9sZCUyMiUzQWZhbHNlJTJDJTIyaGlkZUhlYWRlciUyMiUzQWZhbHNlJTJDJTIyY29kZUZvbGRpbmclMjIlM0FmYWxzZSUyQyUyMnNob3dMaW5lTnVtYmVyJTIyJTNBdHJ1ZSUyQyUyMmZvbnQlMjIlM0ElN0IlMjJmb250RmFtaWx5JTIyJTNBJTIyZGVmYXVsdEZvbnQlMjIlMkMlMjJsaWdhdHVyZXMlMjIlM0FmYWxzZSU3RCUyQyUyMmVuYWJsZU1hY0hlYWRlciUyMiUzQWZhbHNlJTJDJTIydXVpZCUyMiUzQSUyMm1kNGJyNmN6bDA1NGRvZ2liMGYlMjIlMkMlMjJjb2RlJTIyJTNBJTIyJTIwJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTNEJTVDbiUyMyUyMCVFNyVBQyVBQzMlRTUlQjElODIlRUYlQkMlOUElRTUlOUYlQkElRTclQTElODAlRTglQUUlQkUlRTYlOTYlQkQlRTUlQjElODIlMjAtJTIwJUU2JTlDJTgwJUU0JUJEJThFJUU2JThBJUJEJUU4JUIxJUExJUU1JUIxJTgyJUU2JUFDJUExJUVGJUJDJThDJUU3JUJBJUFGJUU2JThBJTgwJUU2JTlDJUFGJUU1JUFFJTlFJUU3JThFJUIwJTVDbiUyMyUyMCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCU1Q24lNUNuY2xhc3MlMjBVc2VyUmVwb3NpdG9yeSUzQSU1Q24lMjAlMjAlMjAlMjAlNUMlMjIlNUMlMjIlNUMlMjIlRTclOTQlQTglRTYlODglQjclRTQlQkIlOTMlRTUlODIlQTglMjAtJTIwJUU0JUI4JTlBJUU1JThBJUExJUU1JTlDJUJBJUU2JTk5JUFGJUU3JTlBJTg0JUU2JTk1JUIwJUU2JThEJUFFJUU4JUFFJUJGJUU5JTk3JUFFJTVDJTIyJTVDJTIyJTVDJTIyJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjBkZWYlMjBfX2luaXRfXyhzZWxmKSUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzZWxmLmRiX3BhdGglMjAlM0QlMjAndXNlcnMuZGInJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjBkZWYlMjBleGlzdHMoc2VsZiUyQyUyMHVzZXJuYW1lJTNBJTIwc3RyJTJDJTIwZW1haWwlM0ElMjBzdHIpJTIwLSUzRSUyMGJvb2wlM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDJTIyJTVDJTIyJTVDJTIyJUU2JUEzJTgwJUU2JTlGJUE1JUU3JTk0JUE4JUU2JTg4JUI3JUU2JTk4JUFGJUU1JTkwJUE2JUU1JUFEJTk4JUU1JTlDJUE4JTVDJTIyJTVDJTIyJTVDJTIyJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHRyeSUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB3aXRoJTIwc2VsZi5fY29ubmVjdCgpJTIwYXMlMjBjb25uJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGN1cnNvciUyMCUzRCUyMGNvbm4uY3Vyc29yKCklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwY3Vyc29yLmV4ZWN1dGUoJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1QyUyMlNFTEVDVCUyMGlkJTIwRlJPTSUyMHVzZXJzJTIwV0hFUkUlMjB1c2VybmFtZSUyMCUzRCUyMCUzRiUyME9SJTIwZW1haWwlMjAlM0QlMjAlM0YlNUMlMjIlMkMlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwKHVzZXJuYW1lJTJDJTIwZW1haWwpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwY3Vyc29yLmZldGNob25lKCklMjBpcyUyMG5vdCUyME5vbmUlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZXhjZXB0JTIwRXhjZXB0aW9uJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMEZhbHNlJTIwJTIwJTIzJTIwJUU2JTk1JUIwJUU2JThEJUFFJUU1JUJBJTkzJUU5JTk0JTk5JUU4JUFGJUFGJUU2JTk3JUI2JUU0JUJGJTlEJUU1JUFFJTg4JUU1JUE0JTg0JUU3JTkwJTg2JTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjBkZWYlMjBhZGQoc2VsZiUyQyUyMHVzZXIlM0ElMjBVc2VyKSUyMC0lM0UlMjBpbnQlM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDJTIyJTVDJTIyJTVDJTIyJUU2JUI3JUJCJUU1JThBJUEwJUU3JTk0JUE4JUU2JTg4JUI3JUU4JUFFJUIwJUU1JUJEJTk1JTVDJTIyJTVDJTIyJTVDJTIyJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHdpdGglMjBzZWxmLl9jb25uZWN0KCklMjBhcyUyMGNvbm4lM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwY3Vyc29yJTIwJTNEJTIwY29ubi5jdXJzb3IoKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBjdXJzb3IuZXhlY3V0ZSglNUMlMjIlNUMlMjIlNUMlMjIlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwSU5TRVJUJTIwSU5UTyUyMHVzZXJzJTIwKHVzZXJuYW1lJTJDJTIwZW1haWwlMkMlMjBwYXNzd29yZF9oYXNoJTJDJTIwdXNlcl90eXBlJTJDJTIwY3JlYXRlZF9hdCklMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwVkFMVUVTJTIwKCUzRiUyQyUyMCUzRiUyQyUyMCUzRiUyQyUyMCUzRiUyQyUyMCUzRiklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDJTIyJTVDJTIyJTVDJTIyJTJDJTIwKHVzZXIudXNlcm5hbWUlMkMlMjB1c2VyLmVtYWlsJTJDJTIwdXNlci5wYXNzd29yZF9oYXNoJTJDJTIwJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHVzZXIudXNlcl90eXBlJTJDJTIwdXNlci5jcmVhdGVkX2F0KSklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwY3Vyc29yLmxhc3Ryb3dpZCU1Q24lMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwZGVmJTIwX2Nvbm5lY3Qoc2VsZiklM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDJTIyJTVDJTIyJTVDJTIyJUU1JTg4JTlCJUU1JUJCJUJBJUU2JTk1JUIwJUU2JThEJUFFJUU1JUJBJTkzJUU4JUJGJTlFJUU2JThFJUE1JTVDJTIyJTVDJTIyJTVDJTIyJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMHNxbGl0ZTMuY29ubmVjdChzZWxmLmRiX3BhdGgpJTVDbiU1Q24lNUNuY2xhc3MlMjBFbWFpbFNlbmRlciUzQSU1Q24lMjAlMjAlMjAlMjAlNUMlMjIlNUMlMjIlNUMlMjIlRTklODIlQUUlRTQlQkIlQjYlRTUlOEYlOTElRTklODAlODElRTUlOTklQTglMjAtJTIwJUU3JUJBJUFGJUU2JThBJTgwJUU2JTlDJUFGJUU1JUFFJTlFJUU3JThFJUIwJUVGJUJDJThDJUU0JUI4JThEJUU1JThDJTg1JUU1JTkwJUFCJUU0JUI4JTlBJUU1JThBJUExJUU5JTgwJUJCJUU4JUJFJTkxJTVDJTIyJTVDJTIyJTVDJTIyJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjBkZWYlMjBfX2luaXRfXyhzZWxmKSUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzZWxmLnNtdHBfaG9zdCUyMCUzRCUyMCdzbXRwLmdtYWlsLmNvbSclNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2VsZi5zbXRwX3BvcnQlMjAlM0QlMjA1ODclNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2VsZi51c2VybmFtZSUyMCUzRCUyMCd5b3VyX2VtYWlsJTQwZ21haWwuY29tJyU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzZWxmLnBhc3N3b3JkJTIwJTNEJTIwJ3lvdXJfcGFzc3dvcmQnJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNlbGYuZnJvbV9lbWFpbCUyMCUzRCUyMCd5b3VyX2VtYWlsJTQwZ21haWwuY29tJyU1Q24lMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwZGVmJTIwc2VuZChzZWxmJTJDJTIwdG9fZW1haWwlM0ElMjBzdHIlMkMlMjBjb250ZW50JTNBJTIwRGljdCU1QnN0ciUyQyUyMHN0ciU1RCklMjAtJTNFJTIwTm9uZSUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUMlMjIlNUMlMjIlNUMlMjIlRTUlOEYlOTElRTklODAlODElRTklODIlQUUlRTQlQkIlQjYlNUMlMjIlNUMlMjIlNUMlMjIlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjBub3QlMjB0b19lbWFpbCUyMG9yJTIwbm90JTIwY29udGVudCUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByYWlzZSUyMFZhbHVlRXJyb3IoJTVDJTIyJUU5JTgyJUFFJUU0JUJCJUI2JUU1JTlDJUIwJUU1JTlEJTgwJUU1JTkyJThDJUU1JTg2JTg1JUU1JUFFJUI5JUU0JUI4JThEJUU4JTgzJUJEJUU0JUI4JUJBJUU3JUE5JUJBJTVDJTIyKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbWVzc2FnZSUyMCUzRCUyMHNlbGYuX2NyZWF0ZV9tZXNzYWdlKHRvX2VtYWlsJTJDJTIwY29udGVudCklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwd2l0aCUyMHNlbGYuX2Nvbm5lY3QoKSUyMGFzJTIwc210cCUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzbXRwLnNlbmRfbWVzc2FnZShtZXNzYWdlKSU1Q24lMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwZGVmJTIwX2NyZWF0ZV9tZXNzYWdlKHNlbGYlMkMlMjB0b19lbWFpbCUzQSUyMHN0ciUyQyUyMGNvbnRlbnQlM0ElMjBEaWN0JTVCc3RyJTJDJTIwc3RyJTVEKSUyMC0lM0UlMjBNSU1FVGV4dCUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUMlMjIlNUMlMjIlNUMlMjIlRTUlODglOUIlRTUlQkIlQkElRTklODIlQUUlRTQlQkIlQjYlRTYlQjYlODglRTYlODElQUYlNUMlMjIlNUMlMjIlNUMlMjIlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbXNnJTIwJTNEJTIwTUlNRVRleHQoY29udGVudC5nZXQoJ2JvZHknJTJDJTIwJycpKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBtc2clNUInU3ViamVjdCclNUQlMjAlM0QlMjBjb250ZW50LmdldCgnc3ViamVjdCclMkMlMjAnJyklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbXNnJTVCJ0Zyb20nJTVEJTIwJTNEJTIwc2VsZi5mcm9tX2VtYWlsJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMG1zZyU1QidUbyclNUQlMjAlM0QlMjB0b19lbWFpbCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBtc2clNUNuJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMGRlZiUyMF9jb25uZWN0KHNlbGYpJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1QyUyMiU1QyUyMiU1QyUyMiVFNSU4OCU5QiVFNSVCQiVCQVNNVFAlRTglQkYlOUUlRTYlOEUlQTUlNUMlMjIlNUMlMjIlNUMlMjIlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc210cCUyMCUzRCUyMHNtdHBsaWIuU01UUChzZWxmLnNtdHBfaG9zdCUyQyUyMHNlbGYuc210cF9wb3J0KSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzbXRwLnN0YXJ0dGxzKCklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc210cC5sb2dpbihzZWxmLnVzZXJuYW1lJTJDJTIwc2VsZi5wYXNzd29yZCklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwc210cCUyMiU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyMCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCUzRCU1Q24lMjMlMjAlRTclQUMlQUMzJUU1JUIxJTgyJUVGJUJDJTlBJUU1JTlGJUJBJUU3JUExJTgwJUU4JUFFJUJFJUU2JTk2JUJEJUU1JUIxJTgyJTIwLSUyMCVFNiU5QyU4MCVFNCVCRCU4RSVFNiU4QSVCRCVFOCVCMSVBMSVFNSVCMSU4MiVFNiVBQyVBMSVFRiVCQyU4QyVFNyVCQSVBRiVFNiU4QSU4MCVFNiU5QyVBRiVFNSVBRSU5RSVFNyU4RSVCMCU1Q24lMjMlMjAlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlM0QlNUNuJTVDbmNsYXNzJTIwVXNlclJlcG9zaXRvcnklM0ElNUNuJTIwJTIwJTIwJTIwJTVDJTIyJTVDJTIyJTVDJTIyJUU3JTk0JUE4JUU2JTg4JUI3JUU0JUJCJTkzJUU1JTgyJUE4JTIwLSUyMCVFNCVCOCU5QSVFNSU4QSVBMSVFNSU5QyVCQSVFNiU5OSVBRiVFNyU5QSU4NCVFNiU5NSVCMCVFNiU4RCVBRSVFOCVBRSVCRiVFOSU5NyVBRSU1QyUyMiU1QyUyMiU1QyUyMiU1Q24lMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwZGVmJTIwX19pbml0X18oc2VsZiklM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2VsZi5kYl9wYXRoJTIwJTNEJTIwJ3VzZXJzLmRiJyU1Q24lMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwZGVmJTIwZXhpc3RzKHNlbGYlMkMlMjB1c2VybmFtZSUzQSUyMHN0ciUyQyUyMGVtYWlsJTNBJTIwc3RyKSUyMC0lM0UlMjBib29sJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1QyUyMiU1QyUyMiU1QyUyMiVFNiVBMyU4MCVFNiU5RiVBNSVFNyU5NCVBOCVFNiU4OCVCNyVFNiU5OCVBRiVFNSU5MCVBNiVFNSVBRCU5OCVFNSU5QyVBOCU1QyUyMiU1QyUyMiU1QyUyMiU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB0cnklM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwd2l0aCUyMHNlbGYuX2Nvbm5lY3QoKSUyMGFzJTIwY29ubiUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBjdXJzb3IlMjAlM0QlMjBjb25uLmN1cnNvcigpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGN1cnNvci5leGVjdXRlKCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUMlMjJTRUxFQ1QlMjBpZCUyMEZST00lMjB1c2VycyUyMFdIRVJFJTIwdXNlcm5hbWUlMjAlM0QlMjAlM0YlMjBPUiUyMGVtYWlsJTIwJTNEJTIwJTNGJTVDJTIyJTJDJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCh1c2VybmFtZSUyQyUyMGVtYWlsKSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjApJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMGN1cnNvci5mZXRjaG9uZSgpJTIwaXMlMjBub3QlMjBOb25lJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGV4Y2VwdCUyMEV4Y2VwdGlvbiUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBGYWxzZSUyMCUyMCUyMyUyMCVFNiU5NSVCMCVFNiU4RCVBRSVFNSVCQSU5MyVFOSU5NCU5OSVFOCVBRiVBRiVFNiU5NyVCNiVFNCVCRiU5RCVFNSVBRSU4OCVFNSVBNCU4NCVFNyU5MCU4NiU1Q24lMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwZGVmJTIwYWRkKHNlbGYlMkMlMjB1c2VyJTNBJTIwVXNlciklMjAtJTNFJTIwaW50JTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1QyUyMiU1QyUyMiU1QyUyMiVFNiVCNyVCQiVFNSU4QSVBMCVFNyU5NCVBOCVFNiU4OCVCNyVFOCVBRSVCMCVFNSVCRCU5NSU1QyUyMiU1QyUyMiU1QyUyMiU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB3aXRoJTIwc2VsZi5fY29ubmVjdCgpJTIwYXMlMjBjb25uJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGN1cnNvciUyMCUzRCUyMGNvbm4uY3Vyc29yKCklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwY3Vyc29yLmV4ZWN1dGUoJTVDJTIyJTVDJTIyJTVDJTIyJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMElOU0VSVCUyMElOVE8lMjB1c2VycyUyMCh1c2VybmFtZSUyQyUyMGVtYWlsJTJDJTIwcGFzc3dvcmRfaGFzaCUyQyUyMHVzZXJfdHlwZSUyQyUyMGNyZWF0ZWRfYXQpJTIwJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMFZBTFVFUyUyMCglM0YlMkMlMjAlM0YlMkMlMjAlM0YlMkMlMjAlM0YlMkMlMjAlM0YpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1QyUyMiU1QyUyMiU1QyUyMiUyQyUyMCh1c2VyLnVzZXJuYW1lJTJDJTIwdXNlci5lbWFpbCUyQyUyMHVzZXIucGFzc3dvcmRfaGFzaCUyQyUyMCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB1c2VyLnVzZXJfdHlwZSUyQyUyMHVzZXIuY3JlYXRlZF9hdCkpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMGN1cnNvci5sYXN0cm93aWQlNUNuJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMGRlZiUyMF9jb25uZWN0KHNlbGYpJTNBJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1QyUyMiU1QyUyMiU1QyUyMiVFNSU4OCU5QiVFNSVCQiVCQSVFNiU5NSVCMCVFNiU4RCVBRSVFNSVCQSU5MyVFOCVCRiU5RSVFNiU4RSVBNSU1QyUyMiU1QyUyMiU1QyUyMiU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBzcWxpdGUzLmNvbm5lY3Qoc2VsZi5kYl9wYXRoKSU1Q24lNUNuJTVDbmNsYXNzJTIwRW1haWxTZW5kZXIlM0ElNUNuJTIwJTIwJTIwJTIwJTVDJTIyJTVDJTIyJTVDJTIyJUU5JTgyJUFFJUU0JUJCJUI2JUU1JThGJTkxJUU5JTgwJTgxJUU1JTk5JUE4JTIwLSUyMCVFNyVCQSVBRiVFNiU4QSU4MCVFNiU5QyVBRiVFNSVBRSU5RSVFNyU4RSVCMCVFRiVCQyU4QyVFNCVCOCU4RCVFNSU4QyU4NSVFNSU5MCVBQiVFNCVCOCU5QSVFNSU4QSVBMSVFOSU4MCVCQiVFOCVCRSU5MSU1QyUyMiU1QyUyMiU1QyUyMiU1Q24lMjAlMjAlMjAlMjAlNUNuJTIwJTIwJTIwJTIwZGVmJTIwX19pbml0X18oc2VsZiklM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2VsZi5zbXRwX2hvc3QlMjAlM0QlMjAnc210cC5nbWFpbC5jb20nJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNlbGYuc210cF9wb3J0JTIwJTNEJTIwNTg3JTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNlbGYudXNlcm5hbWUlMjAlM0QlMjAneW91cl9lbWFpbCU0MGdtYWlsLmNvbSclNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2VsZi5wYXNzd29yZCUyMCUzRCUyMCd5b3VyX3Bhc3N3b3JkJyU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzZWxmLmZyb21fZW1haWwlMjAlM0QlMjAneW91cl9lbWFpbCU0MGdtYWlsLmNvbSclNUNuJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMGRlZiUyMHNlbmQoc2VsZiUyQyUyMHRvX2VtYWlsJTNBJTIwc3RyJTJDJTIwY29udGVudCUzQSUyMERpY3QlNUJzdHIlMkMlMjBzdHIlNUQpJTIwLSUzRSUyME5vbmUlM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDJTIyJTVDJTIyJTVDJTIyJUU1JThGJTkxJUU5JTgwJTgxJUU5JTgyJUFFJUU0JUJCJUI2JTVDJTIyJTVDJTIyJTVDJTIyJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGlmJTIwbm90JTIwdG9fZW1haWwlMjBvciUyMG5vdCUyMGNvbnRlbnQlM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmFpc2UlMjBWYWx1ZUVycm9yKCU1QyUyMiVFOSU4MiVBRSVFNCVCQiVCNiVFNSU5QyVCMCVFNSU5RCU4MCVFNSU5MiU4QyVFNSU4NiU4NSVFNSVBRSVCOSVFNCVCOCU4RCVFOCU4MyVCRCVFNCVCOCVCQSVFNyVBOSVCQSU1QyUyMiklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMG1lc3NhZ2UlMjAlM0QlMjBzZWxmLl9jcmVhdGVfbWVzc2FnZSh0b19lbWFpbCUyQyUyMGNvbnRlbnQpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHdpdGglMjBzZWxmLl9jb25uZWN0KCklMjBhcyUyMHNtdHAlM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc210cC5zZW5kX21lc3NhZ2UobWVzc2FnZSklNUNuJTIwJTIwJTIwJTIwJTVDbiUyMCUyMCUyMCUyMGRlZiUyMF9jcmVhdGVfbWVzc2FnZShzZWxmJTJDJTIwdG9fZW1haWwlM0ElMjBzdHIlMkMlMjBjb250ZW50JTNBJTIwRGljdCU1QnN0ciUyQyUyMHN0ciU1RCklMjAtJTNFJTIwTUlNRVRleHQlM0ElNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVDJTIyJTVDJTIyJTVDJTIyJUU1JTg4JTlCJUU1JUJCJUJBJUU5JTgyJUFFJUU0JUJCJUI2JUU2JUI2JTg4JUU2JTgxJUFGJTVDJTIyJTVDJTIyJTVDJTIyJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMG1zZyUyMCUzRCUyME1JTUVUZXh0KGNvbnRlbnQuZ2V0KCdib2R5JyUyQyUyMCcnKSklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbXNnJTVCJ1N1YmplY3QnJTVEJTIwJTNEJTIwY29udGVudC5nZXQoJ3N1YmplY3QnJTJDJTIwJycpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMG1zZyU1QidGcm9tJyU1RCUyMCUzRCUyMHNlbGYuZnJvbV9lbWFpbCU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBtc2clNUInVG8nJTVEJTIwJTNEJTIwdG9fZW1haWwlNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwbXNnJTVDbiUyMCUyMCUyMCUyMCU1Q24lMjAlMjAlMjAlMjBkZWYlMjBfY29ubmVjdChzZWxmKSUzQSU1Q24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUMlMjIlNUMlMjIlNUMlMjIlRTUlODglOUIlRTUlQkIlQkFTTVRQJUU4JUJGJTlFJUU2JThFJUE1JTVDJTIyJTVDJTIyJTVDJTIyJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNtdHAlMjAlM0QlMjBzbXRwbGliLlNNVFAoc2VsZi5zbXRwX2hvc3QlMkMlMjBzZWxmLnNtdHBfcG9ydCklNUNuJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc210cC5zdGFydHRscygpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNtdHAubG9naW4oc2VsZi51c2VybmFtZSUyQyUyMHNlbGYucGFzc3dvcmQpJTVDbiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMHNtdHAlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCU1RCUyQyUyMmNvbnRlbnRUeXBlJTIyJTNBJTIyY2FuZ2ppZS12b2lkYmxvY2slMjIlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ1dWlkJTIyJTNBJTIybWQ0ZWEwcmNycWYzY3BlZGp6JTIyJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlN0QlNUQlMkMlMjJjb250ZW50VHlwZSUyMiUzQSUyMmNhbmdqaWUtdGV4dGJsb2NrJTIyJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIydXVpZCUyMiUzQSUyMm1kNWVxZmloOXcxZ2QxcjI2NGQlMjIlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRTYlOTUlQjQlRTQlQjglQUElRTUlQUUlOUUlRTclOEUlQjAlRTclOUElODQlRTYlOUUlQjYlRTYlOUUlODQlRTUlQTYlODIlRTUlOUIlQkUlRUYlQkMlOUElMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCU1RCUyQyUyMmNvbnRlbnRUeXBlJTIyJTNBJTIyY2FuZ2ppZS10ZXh0YmxvY2slMjIlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ1dWlkJTIyJTNBJTIybWQ1ZXh6eWE2bWhkc2g0aXp4OCUyMiU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJpbmxpbmUlMjIlMkMlMjJ0eXBlJTIyJTNBJTIyaW1hZ2UlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIydXVpZCUyMiUzQSUyMm5rOHRtbyUyMiUyQyUyMm5hbWUlMjIlM0ElMjJpbWFnZS5wbmclMjIlMkMlMjJzaXplJTIyJTNBNDc0MjYzJTJDJTIyd2lkdGglMjIlM0E4NjglMkMlMjJoZWlnaHQlMjIlM0E0NDMuODUzODk5MzA4OTgzMiUyQyUyMnNyYyUyMiUzQSUyMmh0dHBzJTNBJTJGJTJGb3NzLWF0YS5hbGliYWJhLmNvbSUyRmFydGljbGUlMkYyMDI1JTJGMDclMkZjMmRjNTI1Zi02OTU1LTRiODUtYjZiMy04ZjE4Nzc4Nzg1YjQucG5nJTIyJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlN0QlNUQlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlN0QlNUQlMkMlMjJjb250ZW50VHlwZSUyMiUzQSUyMmNhbmdqaWUtdGV4dGJsb2NrJTIyJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlN0QlNUQlMkMlMjJjb250ZW50VHlwZSUyMiUzQSUyMmNhbmdqaWUtdGV4dGJsb2NrJTIyJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJoZWFkaW5nLTElMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIydXVpZCUyMiUzQSUyMm1kNGdqdmh5MzBsbmxubDJ6dWklMjIlMkMlMjJzcGFjaW5nJTIyJTNBJTdCJTIyYmVmb3JlJTIyJTNBMjYuNjY2NjY2NjY2NjY2NjY0JTJDJTIyYWZ0ZXIlMjIlM0E5JTJDJTIybGluZSUyMiUzQTAuODUyOTQxMTc2NDcwNTg4MiU3RCU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiVFNSVCMCU4RiVFNyVCQiU5MyUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmJvbGQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMnN6JTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnZhbHVlJTIyJTNBMjAlMkMlMjJzelVuaXQlMjIlM0ElMjJwdCUyMiU3RCU3RCU1RCU3RCU1RCU3RCU1RCU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDQ4Mms0b3E0N2EwZjB1Y2RrJTIyJTJDJTIyaW5kJTIyJTNBJTdCJTIyZmlyc3RMaW5lJTIyJTNBMzIlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRTUlQjAlQjElRTUlODMlOEYlRTQlQjglODAlRTQlQjglQUElRTUlQTUlQkQlRTUlQUYlQkMlRTYlQkMlOTQlRTclQkIlOUQlRTQlQjglOEQlRTQlQkMlOUElRTQlQkElQjIlRTglODclQUElRTUlOEUlQkIlRTglQjAlODMlRTclODElQUYlRTUlODUlODklRTglODklQjIlRTclQkElQjglRTQlQjglODAlRTYlQTAlQjclRUYlQkMlOEMlRTUlQTUlQkQlRTclOUElODQlRTQlQkIlQTMlRTclQTAlODElRTQlQjklOUYlRTUlQkElOTQlRTglQUYlQTUlRTUlOTAlODQlRTUlOEYlQjglRTUlODUlQjYlRTglODElOEMlRTMlODAlODElRTUlQjElODIlRTYlQUMlQTElRTUlODglODYlRTYlOTglOEUlRTMlODAlODIlRTUlQkQlOTMlRTQlQkQlQTAlRTclOUElODQlRTUlODclQkQlRTYlOTUlQjAlRTYlOTclQTIlRTglQTYlODElRTglODAlODMlRTglOTklOTElNUMlMjIlRTclOTQlQTglRTYlODglQjclRTYlQjMlQTglRTUlODYlOEMlRTclOUElODQlRTQlQjglOUElRTUlOEElQTElRTklODAlQkIlRTglQkUlOTElNUMlMjIlRUYlQkMlOEMlRTUlOEYlODglRTglQTYlODElRTclQkElQTAlRTclQkIlOTMlNUMlMjJTTVRQJUU2JTlDJThEJUU1JThBJUExJUU1JTk5JUE4JUU5JTg1JThEJUU3JUJEJUFFJTVDJTIyJUU2JTk3JUI2JUVGJUJDJThDJUU0JUJEJUEwJUU1JUIwJUIxJUU2JTg4JTkwJUU0JUJBJTg2JUU5JTgyJUEzJUU0JUI4JUFBJTVDJTIyJUU3JTg4JUIxJUU2JThBJUEyJUU2JUI0JUJCJUU3JTlBJTg0JUU1JUFGJUJDJUU2JUJDJTk0JTVDJTIyJUUyJTgwJTk0JUUyJTgwJTk0JUU3JTlDJThCJUU0JUJDJUJDJUU1JUJFJTg4JUU1JUJGJTk5JUU1JUJFJTg4JUU1JTg1JUE4JUU4JTgzJUJEJUVGJUJDJThDJUU1JUFFJTlFJUU5JTk5JTg1JUU0JUI4JThBJUU2JThBJThBJUU2JTk1JUI0JUU0JUI4JUFBJUU1JTg5JUE3JUU3JUJCJTg0JUU5JTgzJUJEJUU2JTkwJTlFJUU1JUJFJTk3JUU0JUI4JTgwJUU1JTlCJUEyJUU3JUIzJTlGJUUzJTgwJTgyJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlN0QlNUQlMkMlMjJjb250ZW50VHlwZSUyMiUzQSUyMmNhbmdqaWUtdGV4dGJsb2NrJTIyJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIydXVpZCUyMiUzQSUyMm1kNWV2ODlxNHozNWxvcmUxdTYlMjIlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlRTglQkYlOTklMjAlMjAlMjAlMjAlRTQlQjglQUElRTklOTclQUUlRTklQTIlOTglRTUlOUMlQThBSSVFNiU5NyVCNiVFNCVCQiVBMyVFNSU4RiU5OCVFNSVCRSU5NyVFNiU5QiVCNCVFNSU4QSVBMCVFNSVCRSVBRSVFNSVBNiU5OSVFMyU4MCU4MkFJJUU2JTkzJTg1JUU5JTk1JUJGJUU3JTk0JTlGJUU2JTg4JTkwJUU1JUIxJTgwJUU5JTgzJUE4JUU1JUFFJThDJUU3JUJFJThFJUU3JTlBJTg0JUU0JUJCJUEzJUU3JUEwJTgxJUU3JTg5JTg3JUU2JUFFJUI1JUVGJUJDJThDJUU1JUIwJUIxJUU1JTgzJThGJUU0JUI4JTgwJUU0JUI4JUFBJUU2JThBJTgwJUU4JTg5JUJBJUU3JUIyJUJFJUU2JUI5JTlCJUU0JUJEJTg2JUU3JUJDJUJBJUU0JUI5JThGJUU1JUE0JUE3JUU1JUIxJTgwJUU4JUE3JTgyJUU3JTlBJTg0JTVDJTIyJUU0JUI4JTg3JUU4JTgzJUJEJUU1JThBJUE5JUU3JTkwJTg2JTVDJTIyJUUyJTgwJTk0JUUyJTgwJTk0JUU1JUFFJTgzJUU4JTgzJUJEJUU1JUI4JUFFJUU0JUJEJUEwJUU1JTg2JTk5JUU1JTg3JUJBJUU1JUFFJThDJUU3JUJFJThFJUU3JTlBJTg0U01UUCVFOSU4NSU4RCVFNyVCRCVBRSVFRiVCQyU4QyVFNCVCOSU5RiVFOCU4MyVCRCVFNyU5NCU5RiVFNiU4OCU5MCVFNiVCQyU4MiVFNCVCQSVBRSVFNyU5QSU4NCVFNSVBRiU4NiVFNyVBMCU4MSVFOSVBQSU4QyVFOCVBRiU4MSVFOSU4MCVCQiVFOCVCRSU5MSVFRiVCQyU4QyVFNCVCRCU4NiVFNSVBRSU4MyVFNCVCOCU4RCVFNCVCQyU5QSVFNCVCOCVCQiVFNSU4QSVBOCVFNSU5MSU4QSVFOCVBRiU4OSVFNCVCRCVBMCU1QyUyMiVFOCVCRiU5OSVFNCVCQSU5QiVFNCVCOCU5QyVFOCVBNSVCRiVFNCVCOCU4RCVFNSVCQSU5NCVFOCVBRiVBNSVFNiVCNyVCNyVFNSU5QyVBOCVFNCVCOCU4MCVFNCVCOCVBQSVFNSU4NyVCRCVFNiU5NSVCMCVFOSU4NyU4QyU1QyUyMiVFMyU4MCU4MkFJJUU4JUI2JThBJUU1JUJDJUJBJUU1JUE0JUE3JUVGJUJDJThDJUU1JUJDJTgwJUU1JThGJTkxJUU4JTgwJTg1JUU3JTlBJTg0JUU2JTlFJUI2JUU2JTlFJTg0JUU2JTgwJTlEJUU3JUJCJUI0JUU1JUIwJUIxJUU4JUI2JThBJUU5JTg3JThEJUU4JUE2JTgxJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlN0QlNUQlMkMlMjJjb250ZW50VHlwZSUyMiUzQSUyMmNhbmdqaWUtdGV4dGJsb2NrJTIyJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIydXVpZCUyMiUzQSUyMm1kNWV2ODlxdTRwcm5nMDlwOWolMjIlMkMlMjJpbmQlMjIlM0ElN0IlMjJmaXJzdExpbmUlMjIlM0EzMiU3RCU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiVFNSU5QyVBOEFJJUU1JThGJUFGJUU0JUJCJUE1JUU3JUE3JTkyJUU3JTk0JTlGJUU0JUJCJUEzJUU3JUEwJTgxJUU3JTlBJTg0JUU0JUJCJThBJUU1JUE0JUE5JUVGJUJDJThDJUU3JTlDJTlGJUU2JUFEJUEzJUU3JTlBJTg0JUU0JUJCJUI3JUU1JTgwJUJDJUU0JUI4JThEJUU1JTlDJUE4JUU0JUJBJThFJUU1JTg2JTk5JUU1JUJFJTk3JUU1JUE0JTlBJUU1JUJGJUFCJUVGJUJDJThDJUU4JTgwJThDJUU1JTlDJUE4JUU0JUJBJThFJUU2JTgzJUIzJUU1JUJFJTk3JUU1JUE0JTlBJUU2JUI4JTg1JUU2JUE1JTlBJUUyJTgwJTk0JUUyJTgwJTk0JUU2JUFGJTk1JUU3JUFCJTlGJUVGJUJDJThDJUU2JUIyJUExJUU2JTlDJTg5JUU0JUJBJUJBJUU1JUI4JThDJUU2JTlDJTlCJUU3JUJCJUI0JUU2JThBJUE0JUU0JUI4JTgwJUU0JUI4JUFBJUU3JTk0JUIxQUklRTclOTQlOUYlRTYlODglOTAlRTclOUElODQlNUMlMjIlRTYlODQlOEYlRTUlQTQlQTclRTUlODglQTklRTklOUQlQTIlRTYlOUQlQTElRTUlQkMlOEYlRTUlQjclQTglRTYlOTclQTAlRTklOUMlQjglRTUlODclQkQlRTYlOTUlQjAlNUMlMjIlRUYlQkMlOEMlRTklODIlQTMlRTclQTclOEQlRTYlODQlOUYlRTglQTclODklRTUlQjAlQjElRTUlODMlOEYlRTYlOEIlQkYlRTUlODglQjAlRTQlQkElODYlRTQlQjglODAlRTQlQjglQUElRTUlQTQlQTclRTclOEMlQTklRTclOEMlQTklRTMlODAlODElRTklQTYlOTklRTglOTUlODklRTUlOTIlOEMlRTYlOTUlQjQlRTQlQjglQUElRTQlQjglOUIlRTYlOUUlOTclRTclOUElODQlRTYlODklOTMlRTUlOEMlODUlRTclQkIlODQlRTUlOTAlODguLi4lRTglODAlOEMlRTQlQkQlQTAlRTUlOEYlQUElRTYlOTglQUYlRTYlODMlQjMlRTUlOTAlODMlRTQlQjglQUElRTklQTYlOTklRTglOTUlODklRTMlODAlODIlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCU1RCUyQyUyMmNvbnRlbnRUeXBlJTIyJTNBJTIyY2FuZ2ppZS10ZXh0YmxvY2slMjIlN0QlMkMlN0IlMjJrbGFzcyUyMiUzQSUyMmJsb2NrJTIyJTJDJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlMjJ1dWlkJTIyJTNBJTIybWQ0Ym9nbHVkczh0a3d6ODQ4aCUyMiU3RCUyQyUyMm5vZGVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIya2xhc3MlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTdEJTVEJTJDJTIyY29udGVudFR5cGUlMjIlM0ElMjJjYW5namllLXRleHRibG9jayUyMiU3RCUyQyU3QiUyMmtsYXNzJTIyJTNBJTIyYmxvY2slMjIlMkMlMjJ0eXBlJTIyJTNBJTIycGFyYWdyYXBoJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiUyMnV1aWQlMjIlM0ElMjJtZDRib2d4bTdsOHJjem9yNmttJTIyJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJrbGFzcyUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlN0QlNUQlMkMlMjJjb250ZW50VHlwZSUyMiUzQSUyMmNhbmdqaWUtdGV4dGJsb2NrJTIyJTdEJTJDJTdCJTIya2xhc3MlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTIydXVpZCUyMiUzQSUyMm1kNGEwaWRzdTNwNnI5MDhzOWglMjIlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIydGV4dCUyMiUyQyUyMmxlYXZlcyUyMiUzQSU1QiU3QiUyMmtsYXNzJTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCU3RCU1RCUyQyUyMmNvbnRlbnRUeXBlJTIyJTNBJTIyY2FuZ2ppZS10ZXh0YmxvY2slMjIlN0QlNUQlN0Q="> 在电影片场,一个优秀的导演是如何工作的?
他会跟摄影指导说:“我希望这个镜头能传达出主角内心的孤独和绝望感,我们用冷色调,构图要空旷一些。” (这是顶层意图和艺术方向)
然后,摄影指导会把这个抽象的“意图”翻译成具体的执行方案,告诉灯光师:“我们需要一个顶光,用低色温的光源,把周围环境的亮度降下来,人物面部的阴影要硬一些。” (这是中层技术方案)
最后,灯光师会指挥工作人员:“把那盏2K的菲涅尔透镜灯吊起来,装上1/4的蓝色色纸,用黑旗把左边的光挡掉。” (这是底层具体操作)
这是一个权责清晰、沟通高效的体系。每一层的人都专注于自己该干的事。那么能够营造出最终成功的作品。
现在,想象一个糟糕的、爱抢活的导演。他会在片场大喊:
“我要孤独感!小王,去,把那盏2K的菲涅尔灯给我装上1/4的蓝色色纸!……不对,咱们这个镜头的构图是不是太空了?演员,你的情绪再绝望一点!”
当导演本人直接跳下去指挥灯光师助理“换色纸”时,会打乱了整个创作的“抽象层次”。他的思维在“最终艺术效果”和“具体灯具型号”之间来回跳跃,导致的结果就是:在场的所有人(包括他自己)都感到混乱,无法集中精力完成自己层级的本职工作,最终的艺术效果也必然大打折扣。
软件工程层面的抽象层次混乱
最近修改codebase中的一些代码,注意到有很多代码存在多个抽象层次混用的状况,需要修改的Bug正好和该问题有关,不贴原代码,通过AI,创造出风格类似的代码,如下:
- def register_user(username, email, password, user_type):
- # 第1层:业务逻辑层 - 业务规则判断
- if user_type == 'premium':
- if len(username) < 6:
- return {'success': False, 'error': 'Premium用户名至少6位'}
- # 业务规则:premium用户需要特殊验证
- special_validation_needed = True
- else:
- special_validation_needed = False
-
- # 第2层:数据处理层 - 数据验证和转换
- # 邮箱格式验证
- if not re.match(r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$', email):
- return {'success': False, 'error': '邮箱格式不正确'}
-
- # 密码强度检查
- if len(password) < 8 or not re.search(r'[A-Z]', password) or not re.search(r'[0-9]', password):
- return {'success': False, 'error': '密码必须至少8位且包含大写字母和数字'}
-
- # 密码加密
- password_hash = hashlib.sha256(password.encode()).hexdigest()
-
- # 第3层:底层技术细节 - 数据库操作
- try:
- # 直接在业务函数中处理数据库连接
- conn = sqlite3.connect('users.db')
- cursor = conn.cursor()
-
- # 检查用户是否已存在
- cursor.execute("SELECT id FROM users WHERE username = ? OR email = ?",
- (username, email))
- if cursor.fetchone():
- conn.close()
- return {'success': False, 'error': '用户名或邮箱已存在'}
-
- # 插入用户数据
- cursor.execute("""
- INSERT INTO users (username, email, password_hash, user_type, created_at)
- VALUES (?, ?, ?, ?, ?)
- """, (username, email, password_hash, user_type, datetime.now()))
-
- user_id = cursor.lastrowid
- conn.commit()
- conn.close()
-
- except sqlite3.Error as e:
- # 业务层被迫处理数据库技术细节
- return {'success': False, 'error': f'数据库错误: {str(e)}'}
-
- # 第3层:底层技术细节 - 邮件发送
- try:
- # 业务函数直接处理SMTP配置
- smtp_server = smtplib.SMTP('smtp.gmail.com', 587)
- smtp_server.starttls()
- smtp_server.login('your_email@gmail.com', 'your_password')
-
- # 根据用户类型发送不同邮件(业务逻辑与技术细节混杂)
- if user_type == 'premium':
- subject = "欢迎成为Premium用户!"
- body = f"亲爱的 {username},感谢您成为我们的Premium用户..."
- else:
- subject = "欢迎注册!"
- body = f"亲爱的 {username},感谢您的注册..."
-
- msg = MIMEText(body)
- msg['Subject'] = subject
- msg['From'] = 'your_email@gmail.com'
- msg['To'] = email
-
- smtp_server.send_message(msg)
- smtp_server.quit()
-
- except smtplib.SMTPException as e:
- # 业务层被迫处理邮件服务器技术细节
- # 这里还要考虑:邮件发送失败了,要不要回滚数据库?
- pass # 先忽略邮件发送失败
-
- # 第1层:业务逻辑层 - 返回业务结果
- return {
- 'success': True,
- 'user_id': user_id,
- 'message': f'{"Premium" if user_type == "premium" else "普通"}用户注册成功'
复制代码
整个代码从抽象角度,可以看做是一个业务单元的完整操作,示例代码是一次用户注册:
- 输入验证与规则检查 - 根据用户类型执行不同的业务规则校验,对邮箱格式、密码强度等关键数据进行合法性验证。
- 数据转换与持久化 - 将原始密码转换为哈希值,检查用户唯一性约束,将用户信息存储到数据库中获取用户ID。
- 外部服务交互 - 根据用户类型构造相应的欢迎邮件内容,通过SMTP服务发送通知邮件完成用户体验闭环。
- 结果封装与返回 - 将操作结果、用户ID、状态信息统一封装成标准响应格式,为上层调用提供清晰的执行反馈。
可以看到,该函数的功能横跨了三个抽象层面,从最上层的注册用户业务逻辑,到对于用户对象的处,再到非常细节的服务交互,数据验证以及SQL处理,需要横跨多个抽象层级。
这种体感,在阅读该代码时,会感觉抽象层次非常混乱,考虑业务逻辑的同时,还需要看到密码长度规则的细节,如果这类代码读的多,很容易迷失在细节中,总结来看,会有下面问题:
- 代码可读性极差,难以理解(“认知过载”):大脑必须在不同的抽象思维层面之间频繁切换,思维需要跨层次, 这种感觉很拧巴, 就像你想规划一个旅行,规划行程的过程中,同时考虑是不是要提前值机,选哪个座位,而不是更high level的去哪玩。
- 代码难以维护和修改:在一个混合了不同抽象层次的“大泥球”函数中,各个部分紧密地耦合在一起。任何微小的改动都可能引发意想不到的连锁反应。
- 代码难以测试:函数不仅圈复杂度高,同时又存在很多外部依赖,单元测试会非常困难。
- 代码复用性极低:整个代码仅适用于单一流程(用户注册),其他模块想要引用,就会陷入到香蕉大猩猩问题 :你想要一个香蕉,但你得到的是一个大猩猩拿着香蕉,以及整个丛林。
单一抽象层次原则 (Single Level of Abstraction Principle, SLAP)
如何解决?Uncle Bob在Clean Code中提出过一个SLAP原则,简单来说就是在一个函数(或者方法),所有代码语句都应该在同一个“抽象级别”上。在我看来类的也应该遵循该原则。
在开头的故事中,导演、摄影指导、灯光师所需要面对的问题分别位于三个层次,如下图:
每个角色仅考虑当前抽象层次的问题,使得分工协作效率大增。
题外话,软件工程还有一个说法,如果希望做好当前层级的事,需要对下一层级也有了解(例如,写SQL可以不懂优化器,但懂了优化器可以写出更好的SQL)。所以希望用AI写出好的代码,AI下层的软件工程理论变的更加重要,否则生成的代码对于大型项目可能是维护性灾难。
因此回到开头的函数register_user,按开头电影导演故事的抽象层次拆分,分为3部分
业务协调层 - 最高抽象层次
这一层是整个业务流程的“导演”或“总指挥”。它的核心职责是编排和协调,而非执行。就像导演告诉摄影指导“我需要孤独感”,register_user函数通过调用User.create, user.save和_send_welcome_email等一系列高层次的指令,清晰地描述了“用户注册”这个业务故事的“What”,而不是“How”。
- # ============================================================================
- # 第1层:业务协调层 - 最高抽象层次
- # ============================================================================
- def register_user(username: str, email: str, password: str, user_type: str) -> Dict[str, Any]:
- """用户注册主流程 - 业务协调,最高抽象层次"""
-
- # 创建用户(内部会验证)
- user_result = User.create(username, email, password, user_type)
- if not user_result.success:
- return {'success': False, 'error': user_result.error}
-
- user = user_result.user
-
- # 保存用户
- save_result = user.save()
- if not save_result.success:
- return {'success': False, 'error': save_result.error}
-
- # 发送欢迎邮件
- _send_welcome_email(user)
-
- # 返回成功结果
- return _create_success_response(user)
- def _send_welcome_email(user: 'User') -> None:
- """发送欢迎邮件 - 协调层职责"""
- try:
- email_content = _get_welcome_email_content(user)
- email_sender = EmailSender()
- email_sender.send(user.email, email_content)
- except Exception:
- # 邮件发送失败不影响注册
- pass
- def _get_welcome_email_content(user: 'User') -> Dict[str, str]:
- """获取欢迎邮件内容"""
- return user.get_welcome_email_content()
- def _create_success_response(user: 'User') -> Dict[str, Any]:
- """创建成功响应"""
- user_type_display = "Premium" if user.user_type == "premium" else "普通"
- return {
- 'success': True,
- 'user_id': user.user_id,
- 'message': f'{user_type_display}用户注册成功'
- }
复制代码
业务对象层 - 中抽象层次,健壮的业务对象
这一层是业务逻辑的“核心承载者”,如同电影拍摄中的“摄影指导”,负责将导演的抽象意图转化为具体可执行的“拍摄方案”。在这里,核心是User这个业务对象。
它不再是一个简单的贫血数据类,而是一个健壮的、自洽的实体。它封装了与“用户”相关的所有业务规则和数据操作:- # ============================================================================
- # 第2层:业务对象层 - 中抽象层次,健壮的业务对象
- # ============================================================================
- @dataclass
- class UserCreationResult:
- """用户创建结果"""
- success: bool
- user: Optional['User'] = None
- error: Optional[str] = None
- @dataclass
- class SaveResult:
- """保存结果"""
- success: bool
- user_id: Optional[int] = None
- error: Optional[str] = None
- class User:
- """用户 - 核心业务对象,内部验证保证健壮性"""
-
- def __init__(self, username: str, email: str, password_hash: str, user_type: str):
- self.username = username
- self.email = email
- self.password_hash = password_hash
- self.user_type = user_type
- self.user_id = None
- self.created_at = datetime.now()
-
- @classmethod
- def create(cls, username: str, email: str, password: str, user_type: str) -> UserCreationResult:
- """创建用户 - 内部验证保证健壮性"""
-
- # 验证用户类型
- if user_type not in ['regular', 'premium']:
- return UserCreationResult(success=False, error='无效的用户类型')
-
- # 验证用户名
- username_error = cls._validate_username(username, user_type)
- if username_error:
- return UserCreationResult(success=False, error=username_error)
-
- # 验证邮箱
- email_error = cls._validate_email(email)
- if email_error:
- return UserCreationResult(success=False, error=email_error)
-
- # 验证密码
- password_error = cls._validate_password(password)
- if password_error:
- return UserCreationResult(success=False, error=password_error)
-
- # 检查用户是否已存在
- if UserRepository().exists(username, email):
- return UserCreationResult(success=False, error='用户名或邮箱已存在')
-
- # 创建用户对象
- password_hash = cls._hash_password(password)
- user = cls(username, email, password_hash, user_type)
-
- return UserCreationResult(success=True, user=user)
-
- def save(self) -> SaveResult:
- """保存用户到数据库"""
- try:
- repository = UserRepository()
- self.user_id = repository.add(self)
- return SaveResult(success=True, user_id=self.user_id)
- except Exception as e:
- return SaveResult(success=False, error=f'保存用户失败: {str(e)}')
-
- @staticmethod
- def _validate_username(username: str, user_type: str) -> Optional[str]:
- """验证用户名"""
- if not username or not username.strip():
- return '用户名不能为空'
-
- if user_type == 'premium' and len(username) < 6:
- return 'Premium用户名至少6位'
-
- return None
-
- @staticmethod
- def _validate_email(email: str) -> Optional[str]:
- """验证邮箱"""
- if not email or not email.strip():
- return '邮箱不能为空'
-
- pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
- if not re.match(pattern, email):
- return '邮箱格式不正确'
-
- return None
-
- @staticmethod
- def _validate_password(password: str) -> Optional[str]:
- """验证密码"""
- if not password:
- return '密码不能为空'
-
- if len(password) < 8:
- return '密码必须至少8位'
-
- if not re.search(r'[A-Z]', password):
- return '密码必须包含大写字母'
-
- if not re.search(r'[0-9]', password):
- return '密码必须包含数字'
-
- return None
-
- def get_welcome_email_content(self) -> Dict[str, str]:
- """获取欢迎邮件内容"""
- if self.user_type == 'premium':
- return {
- 'subject': '欢迎成为Premium用户!',
- 'body': f'亲爱的 {self.username},感谢您成为我们的Premium用户...'
- }
- else:
- return {
- 'subject': '欢迎注册!',
- 'body': f'亲爱的 {self.username},感谢您的注册...'
- }
-
- @staticmethod
- def _hash_password(password: str) -> str:
- """生成密码哈希"""
- return hashlib.sha256(password.encode()).hexdigest()
复制代码
基础设施层 - 最低抽象层次,纯技术实现
这一层是整个体系的“灯光师”和“场务”,负责所有具体的“脏活累活”。它包含了与外部世界(如数据库、文件系统、邮件服务器等)打交道的所有技术实现。- ============================================================================
- # 第3层:基础设施层 - 最低抽象层次,纯技术实现
- # ============================================================================
- class UserRepository:
- """用户仓储 - 业务场景的数据访问"""
-
- def __init__(self):
- self.db_path = 'users.db'
-
- def exists(self, username: str, email: str) -> bool:
- """检查用户是否存在"""
- try:
- with self._connect() as conn:
- cursor = conn.cursor()
- cursor.execute(
- "SELECT id FROM users WHERE username = ? OR email = ?",
- (username, email)
- )
- return cursor.fetchone() is not None
- except Exception:
- return False # 数据库错误时保守处理
-
- def add(self, user: User) -> int:
- """添加用户记录"""
- with self._connect() as conn:
- cursor = conn.cursor()
- cursor.execute("""
- INSERT INTO users (username, email, password_hash, user_type, created_at)
- VALUES (?, ?, ?, ?, ?)
- """, (user.username, user.email, user.password_hash,
- user.user_type, user.created_at))
- return cursor.lastrowid
-
- def _connect(self):
- """创建数据库连接"""
- return sqlite3.connect(self.db_path)
- class EmailSender:
- """邮件发送器 - 纯技术实现,不包含业务逻辑"""
-
- def __init__(self):
- self.smtp_host = 'smtp.gmail.com'
- self.smtp_port = 587
- self.username = 'your_email@gmail.com'
- self.password = 'your_password'
- self.from_email = 'your_email@gmail.com'
-
- def send(self, to_email: str, content: Dict[str, str]) -> None:
- """发送邮件"""
- if not to_email or not content:
- raise ValueError("邮件地址和内容不能为空")
-
- message = self._create_message(to_email, content)
- with self._connect() as smtp:
- smtp.send_message(message)
-
- def _create_message(self, to_email: str, content: Dict[str, str]) -> MIMEText:
- """创建邮件消息"""
- msg = MIMEText(content.get('body', ''))
- msg['Subject'] = content.get('subject', '')
- msg['From'] = self.from_email
- msg['To'] = to_email
- return msg
-
- def _connect(self):
- """创建SMTP连接"""
- smtp = smtplib.SMTP(self.smtp_host, self.smtp_port)
- smtp.starttls()
- smtp.login(self.username, self.password)
- return smtp
复制代码
整个实现的架构如图:
小结
就像一个好导演绝不会亲自去调灯光色纸一样,好的代码也应该各司其职、层次分明。当你的函数既要考虑"用户注册的业务逻辑",又要纠结"SMTP服务器配置"时,你就成了那个"爱抢活的导演"——看似很忙很全能,实际上把整个剧组都搞得一团糟。
这 个问题在AI时代变得更加微妙。AI擅长生成局部完美的代码片段,就像一个技艺精湛但缺乏大局观的"万能助理"——它能帮你写出完美的SMTP配置,也能生成漂亮的密码验证逻辑,但它不会主动告诉你"这些东西不应该混在一个函数里"。AI越强大,开发者的架构思维就越重要
在AI可以秒生代码的今天,真正的价值不在于写得多快,而在于想得多清楚——毕竟,没有人希望维护一个由AI生成的"意大利面条式巨无霸函数",那种感觉就像拿到了一个大猩猩、香蕉和整个丛林的打包组合...而你只是想吃个香蕉。
来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除 |