From e59f1f1dd3cb0b20a086d419b0f8c50eaa5569e5 Mon Sep 17 00:00:00 2001 From: Niklas Mertsch Date: Sun, 27 Apr 2025 18:03:20 +0200 Subject: [PATCH 01/17] Remove unused forward reference --- src/europython_discord/registration/cog.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/europython_discord/registration/cog.py b/src/europython_discord/registration/cog.py index 0de58ba..77207b6 100644 --- a/src/europython_discord/registration/cog.py +++ b/src/europython_discord/registration/cog.py @@ -17,7 +17,7 @@ _logger = logging.getLogger(f"bot.{__name__}") -class RegistrationButton(discord.ui.Button["Registration"]): +class RegistrationButton(discord.ui.Button): def __init__(self, parent_cog: RegistrationCog) -> None: super().__init__() self.parent_cog = parent_cog From 0964f350ca89f37f6ff203e2de1b836761cb2745 Mon Sep 17 00:00:00 2001 From: Niklas Mertsch Date: Sun, 27 Apr 2025 18:08:55 +0200 Subject: [PATCH 02/17] Registration: Use channel names instead of IDs --- src/europython_discord/config.toml | 6 ++--- src/europython_discord/configuration.py | 6 ++--- src/europython_discord/registration/cog.py | 27 +++++++++++++++------- src/europython_discord/staging-config.toml | 6 ++--- 4 files changed, 28 insertions(+), 17 deletions(-) diff --git a/src/europython_discord/config.toml b/src/europython_discord/config.toml index 2ac7110..a7edc6e 100644 --- a/src/europython_discord/config.toml +++ b/src/europython_discord/config.toml @@ -29,9 +29,9 @@ PARTICIPANTS_REMOTE = 1331995051093528638 "Volunteer" = ["VOLUNTEERS"] [registration] -REG_CHANNEL_ID = 1363473814029209811 -REG_HELP_CHANNEL_ID = 1363473815392354455 -REG_LOG_CHANNEL_ID = 1363473816461906007 +REG_CHANNEL_NAME = "registration-form" +REG_HELP_CHANNEL_NAME = "registration-help" +REG_LOG_CHANNEL_NAME = "registration-log" REGISTERED_LOG_FILE = "registered_log.txt" [pretix] diff --git a/src/europython_discord/configuration.py b/src/europython_discord/configuration.py index 0e9bdb2..bbaed25 100644 --- a/src/europython_discord/configuration.py +++ b/src/europython_discord/configuration.py @@ -36,9 +36,9 @@ def __init__(self) -> None: try: # Registration - self.REG_CHANNEL_ID = int(config["registration"]["REG_CHANNEL_ID"]) - self.REG_HELP_CHANNEL_ID = int(config["registration"]["REG_HELP_CHANNEL_ID"]) - self.REG_LOG_CHANNEL_ID = int(config["registration"]["REG_LOG_CHANNEL_ID"]) + self.REG_CHANNEL_NAME = config["registration"]["REG_CHANNEL_NAME"] + self.REG_HELP_CHANNEL_NAME = config["registration"]["REG_HELP_CHANNEL_NAME"] + self.REG_LOG_CHANNEL_NAME = config["registration"]["REG_LOG_CHANNEL_NAME"] self.REGISTERED_LOG_FILE = Path(config["registration"]["REGISTERED_LOG_FILE"]) # Pretix diff --git a/src/europython_discord/registration/cog.py b/src/europython_discord/registration/cog.py index 77207b6..aecee68 100644 --- a/src/europython_discord/registration/cog.py +++ b/src/europython_discord/registration/cog.py @@ -7,6 +7,7 @@ import discord from discord import Client, Forbidden, Interaction, Role from discord.ext import commands, tasks +from discord.utils import get as discord_get from europython_discord.configuration import Config from europython_discord.registration.pretix_connector import PretixConnector @@ -130,25 +131,32 @@ async def log_registration_to_user(interaction: Interaction, *, name: str) -> No async def log_registration_to_channel( interaction: Interaction, *, name: str, order: str, roles: list[Role] ) -> None: - channel = interaction.client.get_channel(config.REG_LOG_CHANNEL_ID) + channel = discord_get( + interaction.client.get_all_channels(), name=config.REG_LOG_CHANNEL_NAME + ) message_lines = [ - f"✅ : **<@{interaction.user.id}> REGISTERED**", + f"✅ : **{interaction.user.mention} REGISTERED**", f"{name=} {order=} roles={[role.name for role in roles]}", ] await channel.send(content="\n".join(message_lines)) @staticmethod async def log_error_to_user(interaction: Interaction, message: str) -> None: + reg_help_channel = discord_get( + interaction.guild.channels, name=config.REG_HELP_CHANNEL_NAME + ) await interaction.response.send_message( - f"{message} If you need help, please contact us in <#{config.REG_HELP_CHANNEL_ID}>.", + f"{message} If you need help, please contact us in {reg_help_channel.mention}.", ephemeral=True, delete_after=None, ) @staticmethod async def log_error_to_channel(interaction: Interaction, message: str) -> None: - channel = interaction.client.get_channel(config.REG_LOG_CHANNEL_ID) - await channel.send(content=f"❌ : **<@{interaction.user.id}> ERROR**\n{message}") + channel = discord_get( + interaction.client.get_all_channels(), name=config.REG_LOG_CHANNEL_NAME + ) + await channel.send(content=f"❌ : **{interaction.user.mention} ERROR**\n{message}") class RegistrationCog(commands.Cog): @@ -165,7 +173,7 @@ def __init__(self, bot: Client) -> None: @commands.Cog.listener() async def on_ready(self) -> None: - reg_channel = self.bot.get_channel(config.REG_CHANNEL_ID) + reg_channel = discord_get(self.bot.get_all_channels(), name=config.REG_CHANNEL_NAME) await reg_channel.purge() await self.pretix_connector.fetch_pretix_data() @@ -173,6 +181,9 @@ async def on_ready(self) -> None: view = discord.ui.View(timeout=None) # timeout=None to make it persistent view.add_item(RegistrationButton(parent_cog=self)) + reg_help_channel = discord_get( + self.bot.get_all_channels(), name=config.REG_HELP_CHANNEL_NAME + ) welcome_message = create_welcome_message( textwrap.dedent( f""" @@ -190,7 +201,7 @@ async def on_ready(self) -> None: These steps will assign the correct server permissions and set your server nickname. Experiencing trouble? Please contact us - * In the <#{config.REG_HELP_CHANNEL_ID}> channel + * In the {reg_help_channel.mention} channel * By speaking to a volunteer in a yellow t-shirt Enjoy our EuroPython 2024 Community Server! 🐍💻🎉 @@ -211,7 +222,7 @@ async def cog_unload(self) -> None: self.fetch_pretix_updates.cancel() _logger.info("Replacing registration form with 'currently offline' message") - reg_channel = self.bot.get_channel(config.REG_CHANNEL_ID) + reg_channel = discord_get(self.bot.get_all_channels(), name=config.REG_CHANNEL_NAME) await reg_channel.purge() await reg_channel.send( embed=create_welcome_message( diff --git a/src/europython_discord/staging-config.toml b/src/europython_discord/staging-config.toml index 966877f..7aded2f 100644 --- a/src/europython_discord/staging-config.toml +++ b/src/europython_discord/staging-config.toml @@ -29,9 +29,9 @@ PARTICIPANTS_REMOTE = 1360676377338183840 "Volunteer" = ["VOLUNTEERS"] [registration] -REG_CHANNEL_ID = 1361000861106700510 -REG_HELP_CHANNEL_ID = 1360981983462686925 -REG_LOG_CHANNEL_ID = 1360981984972636438 +REG_CHANNEL_NAME = "registration-form" +REG_HELP_CHANNEL_NAME = "registration-help" +REG_LOG_CHANNEL_NAME = "registration-log" REGISTERED_LOG_FILE = "registered_log.txt" [pretix] From a6e43d75fdfe9a719b2836be14ad5534a8474678 Mon Sep 17 00:00:00 2001 From: Niklas Mertsch Date: Sun, 27 Apr 2025 18:23:49 +0200 Subject: [PATCH 03/17] Registration: Use role names instead of IDs --- src/europython_discord/config.toml | 37 ++++++++-------------- src/europython_discord/configuration.py | 9 ++---- src/europython_discord/registration/cog.py | 12 +++---- src/europython_discord/staging-config.toml | 37 ++++++++-------------- 4 files changed, 34 insertions(+), 61 deletions(-) diff --git a/src/europython_discord/config.toml b/src/europython_discord/config.toml index a7edc6e..5db30e0 100644 --- a/src/europython_discord/config.toml +++ b/src/europython_discord/config.toml @@ -1,32 +1,21 @@ -[roles] -ORGANISERS = 1363473647997812778 -VOLUNTEERS = 1363473649490853889 -VOLUNTEERS_ONSITE = 1331995051093528645 -VOLUNTEERS_REMOTE = 1331995051093528644 -SPEAKERS = 1331995051093528643 -SPONSORS = 1331995051093528642 -PARTICIPANTS = 1331995051093528640 -PARTICIPANTS_ONSITE = 1331995051093528639 -PARTICIPANTS_REMOTE = 1331995051093528638 - -[ticket_to_role] +[item_to_role] # onsite participants -"Business" = ["PARTICIPANTS", "PARTICIPANTS_ONSITE"] -"Personal" = ["PARTICIPANTS", "PARTICIPANTS_ONSITE"] -"Education" = ["PARTICIPANTS", "PARTICIPANTS_ONSITE"] -"Community Contributors" = ["PARTICIPANTS", "PARTICIPANTS_ONSITE"] -"Grant ticket" = ["PARTICIPANTS", "PARTICIPANTS_ONSITE"] +"Business" = ["Participants", "Onsite Participants"] +"Personal" = ["Participants", "Onsite Participants"] +"Education" = ["Participants", "Onsite Participants"] +"Community Contributors" = ["Participants", "Onsite Participants"] +"Grant ticket" = ["PARTICIPANTS", "Onsite Participants"] # remote participants -"Remote Participation Ticket" = ["PARTICIPANTS", "PARTICIPANTS_REMOTE"] -"Remote Grant ticket" = ["PARTICIPANTS", "PARTICIPANTS_REMOTE"] -"Remote Community Organiser" = ["PARTICIPANTS", "PARTICIPANTS_REMOTE"] +"Remote Participation Ticket" = ["Participants", "Remote Participants"] +"Remote Grant ticket" = ["Participants", "Remote Participants"] +"Remote Community Organiser" = ["Participants", "Remote Participants"] # sponsors -"Sponsor Conference Pass" = ["PARTICIPANTS", "PARTICIPANTS_ONSITE", "SPONSORS"] +"Sponsor Conference Pass" = ["Participants", "Onsite Participants", "Sponsors"] # speakers -"Presenter" = ["PARTICIPANTS", "PARTICIPANTS_ONSITE", "SPEAKERS"] +"Presenter" = ["Participants", "Onsite Participants", "Speakers"] -[additional_roles_by_variation] -"Volunteer" = ["VOLUNTEERS"] +[variation_to_role] +"Volunteer" = ["Volunteers"] [registration] REG_CHANNEL_NAME = "registration-form" diff --git a/src/europython_discord/configuration.py b/src/europython_discord/configuration.py index bbaed25..4afa445 100644 --- a/src/europython_discord/configuration.py +++ b/src/europython_discord/configuration.py @@ -45,13 +45,8 @@ def __init__(self) -> None: self.PRETIX_BASE_URL = config["pretix"]["PRETIX_BASE_URL"] self.PRETIX_CACHE_FILE = Path(config["pretix"]["PRETIX_CACHE_FILE"]) - role_name_to_id: dict[str, int] = config["roles"] - self.ITEM_TO_ROLES: dict[str, list[int]] = self._translate_role_names_to_ids( - config["ticket_to_role"], role_name_to_id - ) - self.VARIATION_TO_ROLES: dict[str, list[int]] = self._translate_role_names_to_ids( - config["additional_roles_by_variation"], role_name_to_id - ) + self.ITEM_TO_ROLES: dict[str, list[str]] = config["item_to_role"] + self.VARIATION_TO_ROLES: dict[str, list[str]] = config["variation_to_role"] # Program Notifications self.PROGRAM_API_URL: str = config["program_notifications"]["api_url"] diff --git a/src/europython_discord/registration/cog.py b/src/europython_discord/registration/cog.py index aecee68..5d60be8 100644 --- a/src/europython_discord/registration/cog.py +++ b/src/europython_discord/registration/cog.py @@ -74,14 +74,14 @@ async def on_submit(self, interaction: discord.Interaction) -> None: _logger.info(f"Already registered: {tickets}") return - role_ids = set() + role_names = set() for ticket in tickets: if ticket.type in config.ITEM_TO_ROLES: - role_ids.update(config.ITEM_TO_ROLES[ticket.type]) + role_names.update(config.ITEM_TO_ROLES[ticket.type]) if ticket.variation in config.VARIATION_TO_ROLES: - role_ids.update(config.VARIATION_TO_ROLES[ticket.variation]) + role_names.update(config.VARIATION_TO_ROLES[ticket.variation]) - if not role_ids: + if not role_names: await self.log_error_to_user(interaction, "No ticket found.") await self.log_error_to_channel(interaction, f"Tickets without roles: {tickets}") _logger.info(f"Tickets without role assignments: {tickets}") @@ -91,8 +91,8 @@ async def on_submit(self, interaction: discord.Interaction) -> None: _logger.info("Assigning nickname %r", nickname) await interaction.user.edit(nick=nickname) - roles = [discord.utils.get(interaction.guild.roles, id=role_id) for role_id in role_ids] - _logger.info("Assigning %r role_ids=%r", name, role_ids) + roles = [discord_get(interaction.guild.roles, name=role_name) for role_name in role_names] + _logger.info("Assigning %r role_names=%r", name, role_names) await interaction.user.add_roles(*roles) await self.log_registration_to_channel(interaction, name=name, order=order, roles=roles) diff --git a/src/europython_discord/staging-config.toml b/src/europython_discord/staging-config.toml index 7aded2f..7665209 100644 --- a/src/europython_discord/staging-config.toml +++ b/src/europython_discord/staging-config.toml @@ -1,32 +1,21 @@ -[roles] -ORGANISERS = 1360676366244384878 -VOLUNTEERS = 1360676367561265335 -VOLUNTEERS_ONSITE = 1360676369159291060 -VOLUNTEERS_REMOTE = 1360676369725653158 -SPEAKERS = 1360676371356975124 -SPONSORS = 1360676372263080090 -PARTICIPANTS = 1360676375182180596 -PARTICIPANTS_ONSITE = 1360676376197468231 -PARTICIPANTS_REMOTE = 1360676377338183840 - -[ticket_to_role] +[item_to_role] # onsite participants -"Business" = ["PARTICIPANTS", "PARTICIPANTS_ONSITE"] -"Personal" = ["PARTICIPANTS", "PARTICIPANTS_ONSITE"] -"Education" = ["PARTICIPANTS", "PARTICIPANTS_ONSITE"] -"Community Contributors" = ["PARTICIPANTS", "PARTICIPANTS_ONSITE"] -"Grant ticket" = ["PARTICIPANTS", "PARTICIPANTS_ONSITE"] +"Business" = ["Participants", "Onsite Participants"] +"Personal" = ["Participants", "Onsite Participants"] +"Education" = ["Participants", "Onsite Participants"] +"Community Contributors" = ["Participants", "Onsite Participants"] +"Grant ticket" = ["PARTICIPANTS", "Onsite Participants"] # remote participants -"Remote Participation Ticket" = ["PARTICIPANTS", "PARTICIPANTS_REMOTE"] -"Remote Grant ticket" = ["PARTICIPANTS", "PARTICIPANTS_REMOTE"] -"Remote Community Organiser" = ["PARTICIPANTS", "PARTICIPANTS_REMOTE"] +"Remote Participation Ticket" = ["Participants", "Remote Participants"] +"Remote Grant ticket" = ["Participants", "Remote Participants"] +"Remote Community Organiser" = ["Participants", "Remote Participants"] # sponsors -"Sponsor Conference Pass" = ["PARTICIPANTS", "PARTICIPANTS_ONSITE", "SPONSORS"] +"Sponsor Conference Pass" = ["Participants", "Onsite Participants", "Sponsors"] # speakers -"Presenter" = ["PARTICIPANTS", "PARTICIPANTS_ONSITE", "SPEAKERS"] +"Presenter" = ["Participants", "Onsite Participants", "Speakers"] -[additional_roles_by_variation] -"Volunteer" = ["VOLUNTEERS"] +[variation_to_role] +"Volunteer" = ["Volunteers"] [registration] REG_CHANNEL_NAME = "registration-form" From ad658e2fc997a1fe16a4f7664d98cc4a327678bc Mon Sep 17 00:00:00 2001 From: Niklas Mertsch Date: Sun, 27 Apr 2025 21:22:36 +0200 Subject: [PATCH 04/17] Refactor config and cog setup General * User __name__ as logger name everywhere '$participants' command: * Move from extension module to simple cog * Use dynamic role list instead of hard-coded role names * Add channel visibility check bot.py * Simplify and refactor program notifications * Use channel names in config, not IDs * Simplify notification logic --- src/europython_discord/bot.py | 70 +++--------- .../cogs/guild_statistics.py | 76 +++++++++++++ src/europython_discord/cogs/ping.py | 4 +- src/europython_discord/config.toml | 43 +++----- src/europython_discord/configuration.py | 23 ++-- src/europython_discord/extensions/__init__.py | 1 - .../extensions/organisers/__init__.py | 18 ---- .../extensions/organisers/organisers.py | 94 ---------------- .../extensions/organisers/roles.py | 18 ---- .../program_notifications/cog.py | 102 ++++++++---------- .../program_connector.py | 2 +- src/europython_discord/registration/cog.py | 2 +- .../registration/pretix_connector.py | 2 +- .../registration/registration_logger.py | 2 +- src/europython_discord/staging-config.toml | 43 +++----- 15 files changed, 180 insertions(+), 320 deletions(-) create mode 100644 src/europython_discord/cogs/guild_statistics.py delete mode 100644 src/europython_discord/extensions/__init__.py delete mode 100644 src/europython_discord/extensions/organisers/__init__.py delete mode 100644 src/europython_discord/extensions/organisers/organisers.py delete mode 100644 src/europython_discord/extensions/organisers/roles.py diff --git a/src/europython_discord/bot.py b/src/europython_discord/bot.py index 0c81f97..9065406 100644 --- a/src/europython_discord/bot.py +++ b/src/europython_discord/bot.py @@ -8,83 +8,45 @@ from discord.ext import commands from dotenv import load_dotenv -from europython_discord import configuration -from europython_discord.cogs.ping import Ping +from europython_discord.cogs.guild_statistics import GuildStatisticsCog +from europython_discord.cogs.ping import PingCog +from europython_discord.configuration import Config from europython_discord.program_notifications.cog import ProgramNotificationsCog from europython_discord.registration.cog import RegistrationCog load_dotenv(Path(__file__).resolve().parent.parent.parent / ".secrets") DISCORD_BOT_TOKEN = os.getenv("DISCORD_BOT_TOKEN") -_logger = logging.getLogger("bot") +_logger = logging.getLogger(__name__) -class Bot(commands.Bot): - def __init__(self) -> None: - intents = _get_intents() - super().__init__(command_prefix=commands.when_mentioned_or("$"), intents=intents) - self.guild = None - self.channels = {} - - async def on_ready(self) -> None: - _logger.info("Logged in as user %r (ID=%r)", self.user.name, self.user.id) - - async def load_extension(self, name: str, *, package: str | None = None) -> None: - """Load the extension by name. - - :param name: The name of the extension to load - :param package: An optional package name for relative imports - """ - try: - await super().load_extension(name, package=package) - except commands.ExtensionError: - _logger.exception("Failed to load extension %r (package=%r):", name, package) - else: - _logger.info("Successfully loaded extension %r (package=%r)", name, package) - - -def _setup_logging() -> None: - """Set up a basic logging configuration.""" - config = configuration.Config() - - # Create a stream handler that logs to stdout (12-factor app) - stream_handler = logging.StreamHandler(stream=sys.stdout) - stream_handler.setLevel(config.LOG_LEVEL) - formatter = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s - %(message)s") - stream_handler.setFormatter(formatter) - - # Configure the root logger with the stream handler and log level - root_logger = logging.getLogger() - root_logger.addHandler(stream_handler) - root_logger.setLevel(config.LOG_LEVEL) - - -def _get_intents() -> discord.Intents: - """Get the desired intents for the bot.""" +async def run_bot(config: Config) -> None: intents = discord.Intents.all() intents.presences = False intents.dm_typing = False intents.dm_reactions = False intents.invites = False intents.integrations = False - return intents - -async def run_bot(bot: Bot) -> None: - _setup_logging() - async with bot: - await bot.add_cog(Ping(bot)) + async with commands.Bot(intents=intents, command_prefix="$") as bot: + await bot.add_cog(PingCog(bot)) await bot.add_cog(RegistrationCog(bot)) await bot.add_cog(ProgramNotificationsCog(bot)) - await bot.load_extension("europython_discord.extensions.organisers") + await bot.add_cog(GuildStatisticsCog(bot, config.ROLE_REQUIRED_FOR_STATISTICS)) await bot.start(DISCORD_BOT_TOKEN) def main() -> None: - bot = Bot() + config = Config() + + logging.basicConfig( + level=config.LOG_LEVEL, + stream=sys.stdout, + format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", + ) try: - asyncio.run(run_bot(bot)) + asyncio.run(run_bot(config)) except KeyboardInterrupt: _logger.info("Received KeyboardInterrupt, exiting...") diff --git a/src/europython_discord/cogs/guild_statistics.py b/src/europython_discord/cogs/guild_statistics.py new file mode 100644 index 0000000..135cbca --- /dev/null +++ b/src/europython_discord/cogs/guild_statistics.py @@ -0,0 +1,76 @@ +"""Commands for organisers.""" + +import logging + +from discord import Role +from discord.ext import commands +from discord.utils import get as discord_get + +_logger = logging.getLogger(__name__) + + +class GuildStatisticsCog(commands.Cog): + """A cog with commands for organisers.""" + + def __init__(self, bot: commands.Bot, required_role_name: str) -> None: + self._bot = bot + self._required_role_name = required_role_name + + @commands.command(name="participants") + async def list_participants(self, ctx: commands.Context) -> None: + """Get statistics about registered participants.""" + # count members and roles, sorted from highest to lowest role + role_counts: dict[str, int] = {} + for role in await self.get_ordered_roles(ctx): + role_counts[role.name] = 0 + for member in ctx.guild.members: + for role in member.roles: + role_counts[role.name] += 1 + + # send message + lines = [f"{ctx.author.mention} Participant Statistics:"] + for role_name, count in role_counts.items(): + lines.append(f"* {count} {role_name}") + await ctx.send(content="\n".join(lines), delete_after=5) + + async def cog_check(self, ctx: commands.Context) -> bool: + """Check if the requested command shall be executed.""" + # check if user has required role + required_role = discord_get(ctx.guild.roles, name=self._required_role_name) + if ctx.author.get_role(required_role.id) is None: + _logger.info( + "%s (%r) tried to run %r in %s but does not have the role %s", + ctx.author.display_name, + ctx.author.id, + ctx.command.name, + ctx.channel.name, + required_role.name, + ) + return False + + # check if only users with required role can see the channel + all_roles = await self.get_ordered_roles(ctx) + role_index = all_roles.index(required_role) + next_lower_role = all_roles[role_index + 1] + if ctx.channel.permissions_for(next_lower_role).view_channel: + _logger.info( + "%s (%r) tried to run %r in %s but the channel is visible to next lower role %s", + ctx.author.display_name, + ctx.author.id, + ctx.command.name, + ctx.channel.name, + next_lower_role.name, + ) + return False + + return True + + async def cog_command_error(self, ctx: commands.Context, error: Exception) -> None: + """Handle a command error raised in this class.""" + _logger.error( + "An error occurred while running command %r:", ctx.command.name, exc_info=error + ) + + @staticmethod + async def get_ordered_roles(ctx: commands.Context) -> list[Role]: + return sorted(ctx.guild.roles, key=lambda r: r.position, reverse=True) diff --git a/src/europython_discord/cogs/ping.py b/src/europython_discord/cogs/ping.py index cc10779..837a74f 100644 --- a/src/europython_discord/cogs/ping.py +++ b/src/europython_discord/cogs/ping.py @@ -2,10 +2,10 @@ from discord.ext import commands -_logger = logging.getLogger(f"bot.{__name__}") +_logger = logging.getLogger(__name__) -class Ping(commands.Cog): +class PingCog(commands.Cog): def __init__(self, bot: commands.Bot) -> None: self.bot: commands.Bot = bot _logger.info("Cog 'Ping' has been initialized") diff --git a/src/europython_discord/config.toml b/src/europython_discord/config.toml index 5db30e0..e71604a 100644 --- a/src/europython_discord/config.toml +++ b/src/europython_discord/config.toml @@ -36,6 +36,7 @@ timezone_offset = 2 api_url = "https://static.europython.eu/programme/ep2025/releases/current/schedule.json" schedule_cache_file = "schedule.json" livestream_url_file = "livestreams.toml" +main_notification_channel_name = "programme-notifications" # optional simulated start time for testing program notifications # simulated_start_time = "2024-07-10T07:30:00" @@ -44,34 +45,14 @@ livestream_url_file = "livestreams.toml" # will only take effect if simulated_start_time is set # fast_mode = true -[program_notifications.rooms.main_channel] -name = "Main Channel" -channel_id = "1363473705455325306" - -[program_notifications.rooms.forum_hall] -name = "Forum Hall" -channel_id = "1363473707091366068" - -[program_notifications.rooms.south_hall_2a] -name = "South Hall 2A" -channel_id = "1363473708223693012" - -[program_notifications.rooms.south_hall_2b] -name = "South Hall 2B" -channel_id = "1363473709377261830" - -[program_notifications.rooms.north_hall] -name = "North Hall" -channel_id = "1363473710983680121" - -[program_notifications.rooms.terrace_2a] -name = "Terrace 2A" -channel_id = "1363473712124526715" - -[program_notifications.rooms.terrace_2b] -name = "Terrace 2B" -channel_id = "1363473713609310268" - -[program_notifications.rooms.exhibit_hall] -name = "Exhibit Hall" -channel_id = "1363473714573873263" +[program_notifications.rooms_to_channel_names] +"Forum Hall" = "forum-hall" +"South Hall 2A" = "south-hall-2a" +"South Hall 2B" = "south-hall-2b" +"North Hall" = "north-hall" +"Terrace 2A" = "terrace-2a" +"Terrace 2B" = "terrace-2b" +"Exhibit Hall" = "exhibit-hall" + +[server_statistics] +required_role = "Organizers" diff --git a/src/europython_discord/configuration.py b/src/europython_discord/configuration.py index 4afa445..5c44e84 100644 --- a/src/europython_discord/configuration.py +++ b/src/europython_discord/configuration.py @@ -6,7 +6,7 @@ from datetime import datetime, timedelta, timezone from pathlib import Path -_logger = logging.getLogger(f"bot.{__name__}") +_logger = logging.getLogger(__name__) class Singleton(type): @@ -36,13 +36,13 @@ def __init__(self) -> None: try: # Registration - self.REG_CHANNEL_NAME = config["registration"]["REG_CHANNEL_NAME"] - self.REG_HELP_CHANNEL_NAME = config["registration"]["REG_HELP_CHANNEL_NAME"] - self.REG_LOG_CHANNEL_NAME = config["registration"]["REG_LOG_CHANNEL_NAME"] + self.REG_CHANNEL_NAME: str = config["registration"]["REG_CHANNEL_NAME"] + self.REG_HELP_CHANNEL_NAME: str = config["registration"]["REG_HELP_CHANNEL_NAME"] + self.REG_LOG_CHANNEL_NAME: str = config["registration"]["REG_LOG_CHANNEL_NAME"] self.REGISTERED_LOG_FILE = Path(config["registration"]["REGISTERED_LOG_FILE"]) # Pretix - self.PRETIX_BASE_URL = config["pretix"]["PRETIX_BASE_URL"] + self.PRETIX_BASE_URL: str = config["pretix"]["PRETIX_BASE_URL"] self.PRETIX_CACHE_FILE = Path(config["pretix"]["PRETIX_CACHE_FILE"]) self.ITEM_TO_ROLES: dict[str, list[str]] = config["item_to_role"] @@ -54,11 +54,13 @@ def __init__(self) -> None: self.SCHEDULE_CACHE_FILE = Path(config["program_notifications"]["schedule_cache_file"]) self.LIVESTREAM_URL_FILE = Path(config["program_notifications"]["livestream_url_file"]) + self.MAIN_NOTIFICATION_CANNEL_NAME = config["program_notifications"][ + "main_notification_channel_name" + ] # like {'forum_hall': {'name': 'Forum Hall', 'channel_id': '123456'}} - self.PROGRAM_CHANNELS: dict[str, dict[str, str]] = { - room: {"name": details["name"], "channel_id": details["channel_id"]} - for room, details in config["program_notifications"]["rooms"].items() - } + self.ROOMS_TO_CHANNEL_NAMES: dict[str, str] = config["program_notifications"][ + "rooms_to_channel_names" + ] # optional testing parameters for program notifications if simulated_start_time := config["program_notifications"].get("simulated_start_time"): @@ -73,6 +75,9 @@ def __init__(self) -> None: # Logging self.LOG_LEVEL = config.get("logging", {}).get("LOG_LEVEL", "INFO") + # Statistics + self.ROLE_REQUIRED_FOR_STATISTICS = config["server_statistics"]["required_role"] + except KeyError: _logger.exception( "Error encountered while reading '%s'. Ensure that it contains the necessary" diff --git a/src/europython_discord/extensions/__init__.py b/src/europython_discord/extensions/__init__.py deleted file mode 100644 index cfc952b..0000000 --- a/src/europython_discord/extensions/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Extensions for the EuroPython Discord bot.""" diff --git a/src/europython_discord/extensions/organisers/__init__.py b/src/europython_discord/extensions/organisers/__init__.py deleted file mode 100644 index c4394f0..0000000 --- a/src/europython_discord/extensions/organisers/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -"""Extension for tools for organisers.""" - -import tomllib - -from discord.ext import commands - -from europython_discord import configuration -from europython_discord.extensions.organisers import organisers, roles - - -async def setup(bot: commands.Bot) -> None: - """Set up the organisers extension.""" - config = configuration.Config() - with config.CONFIG_PATH.open("rb") as config_file: - raw_roles = tomllib.load(config_file)["roles"] - - roles_instance = roles.Roles(**{name.lower(): role_id for name, role_id in raw_roles.items()}) - await bot.add_cog(organisers.Organisers(bot=bot, roles=roles_instance)) diff --git a/src/europython_discord/extensions/organisers/organisers.py b/src/europython_discord/extensions/organisers/organisers.py deleted file mode 100644 index ba95eae..0000000 --- a/src/europython_discord/extensions/organisers/organisers.py +++ /dev/null @@ -1,94 +0,0 @@ -"""Commands for organisers.""" - -import dataclasses -import logging - -import discord -from discord.ext import commands - -from europython_discord.extensions.organisers.roles import Roles - -_logger = logging.getLogger(f"bot.{__name__}") - - -class Organisers(commands.Cog): - """A cog with commands for organisers.""" - - def __init__(self, bot: commands.Bot, roles: Roles) -> None: - self._bot = bot - self._roles = roles - - @commands.command(name="participants") - async def participants(self, ctx: commands.Context) -> None: - """Get statistics about registered participants.""" - embed = discord.Embed( - title="Participant Statistics", - colour=16747421, - ) - counts = self._get_counts(ctx.guild) - embed.add_field(name="Members (total)", value=counts.everyone, inline=False) - embed.add_field(name="Unregistered", value=counts.not_registered, inline=False) - embed.add_field(name="Participants", value=counts.participants, inline=False) - embed.add_field(name="Onsite Participants", value=counts.participants_onsite, inline=False) - embed.add_field(name="Remote Participants", value=counts.participants_remote, inline=False) - embed.add_field(name="Sponsors", value=counts.sponsors, inline=False) - embed.add_field(name="Speakers", value=counts.speakers, inline=False) - embed.add_field(name="Volunteers", value=counts.volunteers, inline=False) - embed.add_field(name="Onsite Volunteers", value=counts.volunteers_onsite, inline=False) - embed.add_field(name="Remote Volunteers", value=counts.volunteers_remote, inline=False) - embed.add_field(name="Organisers", value=counts.organisers, inline=False) - await ctx.send(embed=embed) - - def _get_counts(self, guild: discord.Guild) -> "_RoleCount": - """Get counts of member types. - - :param guild: The guild instance providing the information - :return: Counts of different roles and pseudo-roles - """ - return _RoleCount( - everyone=guild.member_count, - not_registered=sum(len(m.roles) == 1 for m in guild.members), - **{ - role: len(guild.get_role(role_id).members) - for role, role_id in dataclasses.asdict(self._roles).items() - }, - ) - - async def cog_check(self, ctx: commands.Context) -> bool: - """Check if the message author has the organisers role.""" - return any(role.id == self._roles.organisers for role in ctx.author.roles) - - async def cog_command_error(self, ctx: commands.Context, error: Exception) -> None: - """Handle a command error raised in this class.""" - if isinstance(error, commands.CheckFailure): - _logger.info( - "%s (%r) tried to run %r but did not pass the check!", - ctx.author.display_name, - ctx.author.id, - ctx.command.name, - ) - return - _logger.error( - "An error occurred while running command %r:", ctx.command.name, exc_info=error - ) - - def __hash__(self) -> int: - """Return the hash of this Cog.""" - return hash(id(self)) - - -@dataclasses.dataclass(frozen=True) -class _RoleCount: - """Counts of members.""" - - everyone: int - not_registered: int - organisers: int - volunteers: int - volunteers_onsite: int - sponsors: int - speakers: int - volunteers_remote: int - participants: int - participants_onsite: int - participants_remote: int diff --git a/src/europython_discord/extensions/organisers/roles.py b/src/europython_discord/extensions/organisers/roles.py deleted file mode 100644 index 49135e8..0000000 --- a/src/europython_discord/extensions/organisers/roles.py +++ /dev/null @@ -1,18 +0,0 @@ -"""Data structure for role IDs.""" - -import dataclasses - - -@dataclasses.dataclass -class Roles: - """Role mapping for the organisers extension.""" - - organisers: int - volunteers: int - volunteers_onsite: int - volunteers_remote: int - sponsors: int - speakers: int - participants: int - participants_onsite: int - participants_remote: int diff --git a/src/europython_discord/program_notifications/cog.py b/src/europython_discord/program_notifications/cog.py index d49b37c..2fabd10 100644 --- a/src/europython_discord/program_notifications/cog.py +++ b/src/europython_discord/program_notifications/cog.py @@ -1,16 +1,16 @@ import logging -from discord import Client, Embed, TextChannel +from discord import Client, TextChannel from discord.ext import commands, tasks +from discord.utils import get as discord_get from europython_discord.configuration import Config from europython_discord.program_notifications import session_to_embed from europython_discord.program_notifications.livestream_connector import LivestreamConnector -from europython_discord.program_notifications.models import Session from europython_discord.program_notifications.program_connector import ProgramConnector config = Config() -_logger = logging.getLogger(f"bot.{__name__}") +_logger = logging.getLogger(__name__) class ProgramNotificationsCog(commands.Cog): @@ -71,74 +71,60 @@ async def fetch_livestreams(self) -> None: await self.livestream_connector.fetch_livestreams() _logger.info("Finished the periodic livestream update.") - async def set_room_topic(self, room: str, topic: str) -> None: - """Set the topic of a room channel.""" - room_channel = self._get_channel(room) - if room_channel is not None: - await room_channel.edit(topic=topic) - - async def notify_room(self, room: str, embed: Embed, content: str | None = None) -> None: - """Send the given notification to the room channel.""" - room_channel = self._get_channel(room) - if room_channel is not None: - await room_channel.send(content=content, embed=embed) - - def _get_channel(self, room: str) -> TextChannel | None: - room_key = room.lower().replace(" ", "_") - room_channel_config = config.PROGRAM_CHANNELS.get(room_key) - - if room_channel_config is None: - # this may be intended: in 2024, there were no dedicated channels for the tutorial rooms - _logger.warning(f"Cannot find configuration for room {room!r} (key: {room_key!r})") - return None - - channel_id = room_channel_config["channel_id"] - return self.bot.get_channel(int(channel_id)) - @tasks.loop() async def notify_sessions(self) -> None: - sessions: list[Session] = await self.program_connector.get_upcoming_sessions() - sessions_to_notify = [ - session for session in sessions if session not in self.notified_sessions - ] - first_message = True - - for session in sessions_to_notify: + # determine sessions to send notifications for + sessions_to_notify = [] + for session in await self.program_connector.get_upcoming_sessions(): + if session in self.notified_sessions: + continue # already notified if len(session.rooms) > 1: - continue # Don't notify registration sessions + continue # announcement or coffee/lunch break + sessions_to_notify.append(session) - livestream_url = await self.livestream_connector.get_livestream_url( - session.rooms[0], session.start.date() - ) + if not sessions_to_notify: + return - # Set the channel topic - await self.set_room_topic( - session.rooms[0], - f"Livestream: [YouTube]({livestream_url})" if livestream_url else "", - ) + main_notification_channel = discord_get( + self.bot.get_all_channels(), name=config.MAIN_NOTIFICATION_CANNEL_NAME + ) + await main_notification_channel.send(content="# Sessions starting in 5 minutes:") - embed = session_to_embed.create_session_embed(session, livestream_url) + for session in sessions_to_notify: + room_name = session.rooms[0] + room_channel = self._get_room_channel(room_name) - # # Notify specific rooms - # for room in session.rooms: - await self.notify_room( - session.rooms[0], embed, content=f"# Starting in 5 minutes @ {session.rooms[0]}" + # update room's livestream URL + livestream_url = await self.livestream_connector.get_livestream_url( + room_name, session.start.date() ) + embed = session_to_embed.create_session_embed(session, livestream_url) - # Prefix the first message to the main channel with a header - if first_message: - await self.notify_room( - "Main Channel", embed, content="# Sessions starting in 5 minutes:" + await main_notification_channel.send(embed=embed) + if room_channel is not None: + await room_channel.edit( + topic=f"Livestream: [YouTube]({livestream_url})" if livestream_url else "" + ) + await room_channel.send( + content=f"# Starting in 5 minutes @ {session.rooms[0]}", + embed=embed, ) - first_message = False - else: - await self.notify_room("Main Channel", embed) + + # send session notification message to room and main channel self.notified_sessions.add(session) async def purge_all_room_channels(self) -> None: _logger.info("Purging all room channels...") - for room in config.PROGRAM_CHANNELS.values(): - channel = self.bot.get_channel(int(room["channel_id"])) + for channel_name in config.ROOMS_TO_CHANNEL_NAMES.values(): + channel = discord_get(self.bot.get_all_channels(), name=channel_name) await channel.purge() - _logger.info("Purged all room channels channels.") + _logger.info("Purged all room channels.") + + def _get_room_channel(self, room_name: str) -> TextChannel | None: + channel_name = config.ROOMS_TO_CHANNEL_NAMES.get(room_name) + if channel_name is None: + _logger.warning(f"No notification channel configured for room {room_name!r}") + return None + + return discord_get(self.bot.get_all_channels(), name=channel_name) diff --git a/src/europython_discord/program_notifications/program_connector.py b/src/europython_discord/program_notifications/program_connector.py index c653386..d4447c0 100644 --- a/src/europython_discord/program_notifications/program_connector.py +++ b/src/europython_discord/program_notifications/program_connector.py @@ -9,7 +9,7 @@ from europython_discord.program_notifications.models import Break, Schedule, Session -_logger = logging.getLogger(f"bot.{__name__}") +_logger = logging.getLogger(__name__) class ProgramConnector: diff --git a/src/europython_discord/registration/cog.py b/src/europython_discord/registration/cog.py index 5d60be8..e5002fe 100644 --- a/src/europython_discord/registration/cog.py +++ b/src/europython_discord/registration/cog.py @@ -15,7 +15,7 @@ config = Config() -_logger = logging.getLogger(f"bot.{__name__}") +_logger = logging.getLogger(__name__) class RegistrationButton(discord.ui.Button): diff --git a/src/europython_discord/registration/pretix_connector.py b/src/europython_discord/registration/pretix_connector.py index 14afd4c..29da2f8 100644 --- a/src/europython_discord/registration/pretix_connector.py +++ b/src/europython_discord/registration/pretix_connector.py @@ -15,7 +15,7 @@ from europython_discord.registration.pretix_api_response_models import PretixItem, PretixOrder from europython_discord.registration.ticket import Ticket, generate_ticket_key -_logger = logging.getLogger(f"bot.{__name__}") +_logger = logging.getLogger(__name__) class PretixCache(BaseModel): diff --git a/src/europython_discord/registration/registration_logger.py b/src/europython_discord/registration/registration_logger.py index fcf8c1b..1c7d55a 100644 --- a/src/europython_discord/registration/registration_logger.py +++ b/src/europython_discord/registration/registration_logger.py @@ -6,7 +6,7 @@ from europython_discord.registration.ticket import Ticket -_logger = logging.getLogger(f"bot.{__name__}") +_logger = logging.getLogger(__name__) class RegistrationLogger: diff --git a/src/europython_discord/staging-config.toml b/src/europython_discord/staging-config.toml index 7665209..2bbd0d5 100644 --- a/src/europython_discord/staging-config.toml +++ b/src/europython_discord/staging-config.toml @@ -36,6 +36,7 @@ timezone_offset = 2 api_url = "https://static.europython.eu/programme/ep2025/releases/current/schedule.json" schedule_cache_file = "schedule.json" livestream_url_file = "livestreams.toml" +main_notification_channel_name = "programme-notifications" # optional simulated start time for testing program notifications simulated_start_time = "2025-07-14T09:15:00" @@ -44,34 +45,14 @@ simulated_start_time = "2025-07-14T09:15:00" # will only take effect if simulated_start_time is set fast_mode = true -[program_notifications.rooms.main_channel] -name = "Main Channel" -channel_id = "1360981875421610084" - -[program_notifications.rooms.forum_hall] -name = "Forum Hall" -channel_id = "1360981877522956369" - -[program_notifications.rooms.south_hall_2a] -name = "South Hall 2A" -channel_id = "1360981879196487730" - -[program_notifications.rooms.south_hall_2b] -name = "South Hall 2B" -channel_id = "1360981880584929363" - -[program_notifications.rooms.north_hall] -name = "North Hall" -channel_id = "1360981881851478257" - -[program_notifications.rooms.terrace_2a] -name = "Terrace 2A" -channel_id = "1360981883411759235" - -[program_notifications.rooms.terrace_2b] -name = "Terrace 2B" -channel_id = "1360981884556808382" - -[program_notifications.rooms.exhibit_hall] -name = "Exhibit Hall" -channel_id = "1360981885798322288" +[program_notifications.rooms_to_channel_names] +"Forum Hall" = "forum-hall" +"South Hall 2A" = "south-hall-2a" +"South Hall 2B" = "south-hall-2b" +"North Hall" = "north-hall" +"Terrace 2A" = "terrace-2a" +"Terrace 2B" = "terrace-2b" +"Exhibit Hall" = "exhibit-hall" + +[server_statistics] +required_role = "Organizers" From cabdc08afc90a0fc6350aa20b48cbcc5986c7b29 Mon Sep 17 00:00:00 2001 From: Niklas Mertsch Date: Sun, 27 Apr 2025 21:36:24 +0200 Subject: [PATCH 05/17] Make Config non-Singleton --- src/europython_discord/bot.py | 5 +- src/europython_discord/configuration.py | 11 +-- .../program_notifications/cog.py | 30 +++---- src/europython_discord/registration/cog.py | 83 +++++++++---------- 4 files changed, 60 insertions(+), 69 deletions(-) diff --git a/src/europython_discord/bot.py b/src/europython_discord/bot.py index 9065406..d098d1e 100644 --- a/src/europython_discord/bot.py +++ b/src/europython_discord/bot.py @@ -30,9 +30,10 @@ async def run_bot(config: Config) -> None: async with commands.Bot(intents=intents, command_prefix="$") as bot: await bot.add_cog(PingCog(bot)) - await bot.add_cog(RegistrationCog(bot)) - await bot.add_cog(ProgramNotificationsCog(bot)) + await bot.add_cog(RegistrationCog(bot, config)) + await bot.add_cog(ProgramNotificationsCog(bot, config)) await bot.add_cog(GuildStatisticsCog(bot, config.ROLE_REQUIRED_FOR_STATISTICS)) + await bot.start(DISCORD_BOT_TOKEN) diff --git a/src/europython_discord/configuration.py b/src/europython_discord/configuration.py index 5c44e84..fb467c3 100644 --- a/src/europython_discord/configuration.py +++ b/src/europython_discord/configuration.py @@ -9,16 +9,7 @@ _logger = logging.getLogger(__name__) -class Singleton(type): - _instances = {} # noqa: RUF012 (missing type annotation as typing.ClassVar) - - def __call__(cls, *args, **kwargs) -> Singleton: # noqa: ANN002,ANN003 (missing annotations) - if cls not in cls._instances: - cls._instances[cls] = super().__call__(*args, **kwargs) - return cls._instances[cls] - - -class Config(metaclass=Singleton): +class Config: _CONFIG_DEFAULT = "config.toml" _CONFIG_LOCAL = "config.local.toml" diff --git a/src/europython_discord/program_notifications/cog.py b/src/europython_discord/program_notifications/cog.py index 2fabd10..14d7e93 100644 --- a/src/europython_discord/program_notifications/cog.py +++ b/src/europython_discord/program_notifications/cog.py @@ -9,34 +9,34 @@ from europython_discord.program_notifications.livestream_connector import LivestreamConnector from europython_discord.program_notifications.program_connector import ProgramConnector -config = Config() _logger = logging.getLogger(__name__) class ProgramNotificationsCog(commands.Cog): - def __init__(self, bot: Client) -> None: + def __init__(self, bot: Client, config: Config) -> None: self.bot = bot + self.config = config self.program_connector = ProgramConnector( - api_url=config.PROGRAM_API_URL, - timezone_offset=config.TIMEZONE_OFFSET, - cache_file=config.SCHEDULE_CACHE_FILE, - simulated_start_time=config.SIMULATED_START_TIME, - fast_mode=config.FAST_MODE, + api_url=self.config.PROGRAM_API_URL, + timezone_offset=self.config.TIMEZONE_OFFSET, + cache_file=self.config.SCHEDULE_CACHE_FILE, + simulated_start_time=self.config.SIMULATED_START_TIME, + fast_mode=self.config.FAST_MODE, ) - self.livestream_connector = LivestreamConnector(config.LIVESTREAM_URL_FILE) + self.livestream_connector = LivestreamConnector(self.config.LIVESTREAM_URL_FILE) self.notified_sessions = set() _logger.info("Cog 'Program Notifications' has been initialized") @commands.Cog.listener() async def on_ready(self) -> None: - if config.SIMULATED_START_TIME: + if self.config.SIMULATED_START_TIME: _logger.info("Running in simulated time mode.") _logger.info("Will purge all room channels to avoid pile-up of test notifications.") await self.purge_all_room_channels() - _logger.debug(f"Simulated start time: {config.SIMULATED_START_TIME}") - _logger.debug(f"Fast mode: {config.FAST_MODE}") + _logger.debug(f"Simulated start time: {self.config.SIMULATED_START_TIME}") + _logger.debug(f"Fast mode: {self.config.FAST_MODE}") _logger.info("Starting the session notifier...") self.notify_sessions.start() _logger.info("Cog 'Program Notifications' is ready") @@ -49,7 +49,7 @@ async def cog_load(self) -> None: self.fetch_schedule.start() self.fetch_livestreams.start() self.notify_sessions.change_interval( - seconds=2 if config.FAST_MODE and config.SIMULATED_START_TIME else 60 + seconds=2 if self.config.FAST_MODE and self.config.SIMULATED_START_TIME else 60 ) _logger.info("Schedule updater started and interval set for the session notifier") @@ -86,7 +86,7 @@ async def notify_sessions(self) -> None: return main_notification_channel = discord_get( - self.bot.get_all_channels(), name=config.MAIN_NOTIFICATION_CANNEL_NAME + self.bot.get_all_channels(), name=self.config.MAIN_NOTIFICATION_CANNEL_NAME ) await main_notification_channel.send(content="# Sessions starting in 5 minutes:") @@ -116,13 +116,13 @@ async def notify_sessions(self) -> None: async def purge_all_room_channels(self) -> None: _logger.info("Purging all room channels...") - for channel_name in config.ROOMS_TO_CHANNEL_NAMES.values(): + for channel_name in self.config.ROOMS_TO_CHANNEL_NAMES.values(): channel = discord_get(self.bot.get_all_channels(), name=channel_name) await channel.purge() _logger.info("Purged all room channels.") def _get_room_channel(self, room_name: str) -> TextChannel | None: - channel_name = config.ROOMS_TO_CHANNEL_NAMES.get(room_name) + channel_name = self.config.ROOMS_TO_CHANNEL_NAMES.get(room_name) if channel_name is None: _logger.warning(f"No notification channel configured for room {room_name!r}") return None diff --git a/src/europython_discord/registration/cog.py b/src/europython_discord/registration/cog.py index e5002fe..b4999b8 100644 --- a/src/europython_discord/registration/cog.py +++ b/src/europython_discord/registration/cog.py @@ -13,26 +13,20 @@ from europython_discord.registration.pretix_connector import PretixConnector from europython_discord.registration.registration_logger import RegistrationLogger -config = Config() - _logger = logging.getLogger(__name__) -class RegistrationButton(discord.ui.Button): - def __init__(self, parent_cog: RegistrationCog) -> None: - super().__init__() - self.parent_cog = parent_cog - self.label = "Register here 👈" - self.style = discord.ButtonStyle.green - - async def callback(self, interaction: discord.Interaction) -> None: - await interaction.response.send_modal(RegistrationForm(parent_cog=self.parent_cog)) - - class RegistrationForm(discord.ui.Modal, title="EuroPython 2024 Registration"): - def __init__(self, parent_cog: RegistrationCog) -> None: + def __init__( + self, + config: Config, + pretix_connector: PretixConnector, + registration_logger: RegistrationLogger, + ) -> None: super().__init__() - self.parent_cog = parent_cog + self.config = config + self.pretix_connector = pretix_connector + self.registration_logger = registration_logger order_field = discord.ui.TextInput( label="Order ID (As printed on your badge or ticket)", @@ -57,7 +51,7 @@ async def on_submit(self, interaction: discord.Interaction) -> None: order = self.order_field.value _logger.debug(f"Registration attempt: {order=}, {name=}") - tickets = self.parent_cog.pretix_connector.get_tickets(order=order, name=name) + tickets = self.pretix_connector.get_tickets(order=order, name=name) if not tickets: await self.log_error_to_user( @@ -68,7 +62,7 @@ async def on_submit(self, interaction: discord.Interaction) -> None: _logger.info(f"No ticket found: {order=}, {name=}") return - if any(self.parent_cog.registration_logger.is_registered(ticket) for ticket in tickets): + if any(self.registration_logger.is_registered(ticket) for ticket in tickets): await self.log_error_to_user(interaction, "You have already registered.") await self.log_error_to_channel(interaction, f"Already registered: {order=}, {name=}") _logger.info(f"Already registered: {tickets}") @@ -76,10 +70,10 @@ async def on_submit(self, interaction: discord.Interaction) -> None: role_names = set() for ticket in tickets: - if ticket.type in config.ITEM_TO_ROLES: - role_names.update(config.ITEM_TO_ROLES[ticket.type]) - if ticket.variation in config.VARIATION_TO_ROLES: - role_names.update(config.VARIATION_TO_ROLES[ticket.variation]) + if ticket.type in self.config.ITEM_TO_ROLES: + role_names.update(self.config.ITEM_TO_ROLES[ticket.type]) + if ticket.variation in self.config.VARIATION_TO_ROLES: + role_names.update(self.config.VARIATION_TO_ROLES[ticket.variation]) if not role_names: await self.log_error_to_user(interaction, "No ticket found.") @@ -98,7 +92,7 @@ async def on_submit(self, interaction: discord.Interaction) -> None: await self.log_registration_to_channel(interaction, name=name, order=order, roles=roles) await self.log_registration_to_user(interaction, name=name) for ticket in tickets: - await self.parent_cog.registration_logger.mark_as_registered(ticket) + await self.registration_logger.mark_as_registered(ticket) _logger.info(f"Registration successful: {order=}, {name=}") async def on_error(self, interaction: Interaction, error: Exception) -> None: @@ -127,12 +121,11 @@ async def log_registration_to_user(interaction: Interaction, *, name: str) -> No delete_after=None, ) - @staticmethod async def log_registration_to_channel( - interaction: Interaction, *, name: str, order: str, roles: list[Role] + self, interaction: Interaction, *, name: str, order: str, roles: list[Role] ) -> None: channel = discord_get( - interaction.client.get_all_channels(), name=config.REG_LOG_CHANNEL_NAME + interaction.client.get_all_channels(), name=self.config.REG_LOG_CHANNEL_NAME ) message_lines = [ f"✅ : **{interaction.user.mention} REGISTERED**", @@ -140,10 +133,9 @@ async def log_registration_to_channel( ] await channel.send(content="\n".join(message_lines)) - @staticmethod - async def log_error_to_user(interaction: Interaction, message: str) -> None: + async def log_error_to_user(self, interaction: Interaction, message: str) -> None: reg_help_channel = discord_get( - interaction.guild.channels, name=config.REG_HELP_CHANNEL_NAME + interaction.guild.channels, name=self.config.REG_HELP_CHANNEL_NAME ) await interaction.response.send_message( f"{message} If you need help, please contact us in {reg_help_channel.mention}.", @@ -151,38 +143,43 @@ async def log_error_to_user(interaction: Interaction, message: str) -> None: delete_after=None, ) - @staticmethod - async def log_error_to_channel(interaction: Interaction, message: str) -> None: + async def log_error_to_channel(self, interaction: Interaction, message: str) -> None: channel = discord_get( - interaction.client.get_all_channels(), name=config.REG_LOG_CHANNEL_NAME + interaction.client.get_all_channels(), name=self.config.REG_LOG_CHANNEL_NAME ) await channel.send(content=f"❌ : **{interaction.user.mention} ERROR**\n{message}") class RegistrationCog(commands.Cog): - def __init__(self, bot: Client) -> None: + def __init__(self, bot: Client, config: Config) -> None: self.bot = bot + self.config = config self.pretix_connector = PretixConnector( - url=config.PRETIX_BASE_URL, + url=self.config.PRETIX_BASE_URL, token=os.environ["PRETIX_TOKEN"], - cache_file=config.PRETIX_CACHE_FILE, + cache_file=self.config.PRETIX_CACHE_FILE, ) - self.registration_logger = RegistrationLogger(config.REGISTERED_LOG_FILE) + self.registration_logger = RegistrationLogger(self.config.REGISTERED_LOG_FILE) _logger.info("Cog 'Registration' has been initialized") @commands.Cog.listener() async def on_ready(self) -> None: - reg_channel = discord_get(self.bot.get_all_channels(), name=config.REG_CHANNEL_NAME) - - await reg_channel.purge() await self.pretix_connector.fetch_pretix_data() + button = discord.ui.Button(style=discord.ButtonStyle.green, label="Register here 👈") + button.callback = lambda interaction: interaction.response.send_modal( + RegistrationForm( + config=self.config, + pretix_connector=self.pretix_connector, + registration_logger=self.registration_logger, + ) + ) view = discord.ui.View(timeout=None) # timeout=None to make it persistent - view.add_item(RegistrationButton(parent_cog=self)) + view.add_item(button) reg_help_channel = discord_get( - self.bot.get_all_channels(), name=config.REG_HELP_CHANNEL_NAME + self.bot.get_all_channels(), name=self.config.REG_HELP_CHANNEL_NAME ) welcome_message = create_welcome_message( textwrap.dedent( @@ -209,7 +206,9 @@ async def on_ready(self) -> None: ) ) - await reg_channel.send(embed=welcome_message, view=view) + channel = discord_get(self.bot.get_all_channels(), name=self.config.REG_CHANNEL_NAME) + await channel.purge() + await channel.send(embed=welcome_message, view=view) async def cog_load(self) -> None: """Load the initial schedule.""" @@ -222,7 +221,7 @@ async def cog_unload(self) -> None: self.fetch_pretix_updates.cancel() _logger.info("Replacing registration form with 'currently offline' message") - reg_channel = discord_get(self.bot.get_all_channels(), name=config.REG_CHANNEL_NAME) + reg_channel = discord_get(self.bot.get_all_channels(), name=self.config.REG_CHANNEL_NAME) await reg_channel.purge() await reg_channel.send( embed=create_welcome_message( From 5cf865a6399c43f3da0e1f01ade81fbc21d0e00d Mon Sep 17 00:00:00 2001 From: Niklas Mertsch Date: Sun, 27 Apr 2025 23:39:30 +0200 Subject: [PATCH 06/17] Streamline configuration * Config: Require file path explicitly * run-bot: Expect config file path as --config-file or CONFIG_FILE * README: Update * uv: Remove python-dotenv and certifi dependencies * Move config files to repo root * Docker: Expect CONFIG_FILE * Compose: Specify config file and .secrets --- .gitignore | 2 - Dockerfile | 4 +- README.md | 113 +++++++------- compose.yaml | 14 +- .../config.toml => prod-config.toml | 0 pyproject.toml | 1 - src/europython_discord/bot.py | 25 +++- src/europython_discord/configuration.py | 140 +++++------------- .../staging-config.toml => test-config.toml | 0 uv.lock | 11 -- 10 files changed, 131 insertions(+), 179 deletions(-) rename src/europython_discord/config.toml => prod-config.toml (100%) rename src/europython_discord/staging-config.toml => test-config.toml (100%) diff --git a/.gitignore b/.gitignore index a863bc7..381e872 100644 --- a/.gitignore +++ b/.gitignore @@ -2,8 +2,6 @@ .secrets .idea .vscode -README.md -src/europython_discord/config.local.toml __pycache__ .DS_Store registered_log.txt diff --git a/Dockerfile b/Dockerfile index 1cc49ea..57a6ce6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,9 +9,11 @@ USER bot WORKDIR /home/bot ENV PATH="/home/bot/.local/bin:$PATH" +ARG CONFIG_FILE COPY --chown=bot:bot pyproject.toml uv.lock ./ -COPY --chown=bot:bot src ./src +COPY --chown=bot:bot src ./ +COPY --chown=bot:bot $CONFIG_FILE ./ RUN uv sync diff --git a/README.md b/README.md index a98ed24..f34c683 100644 --- a/README.md +++ b/README.md @@ -1,65 +1,87 @@ -# Europython Discord Bot +# Europython Discord -An easy to deploy conference bot that manages roles for attendees via registration, notifies about upcoming sessions. -Exposes Discord server statistics to organizers. -We hosted the bot on Hetzner. And deployed with a single click Action from GitHub 😎. +A suite of tools for managing the EuroPython Conference Discord server: -![registration_view.png](./img/registration_view.png) +* [src/europython_discord](./src/europython_discord): Discord bot +* [scripts/configure-guild.py](./scripts/configure-guild.py): Configure channels and roles of a Discord server +* [scripts/export-members.py](./scripts/export-members.py): Export a list of all server members and their roles + +The scripts work standalone and only require an Auth token. Please find more documentation in the respective files. -## Overview +The bot has the following extensions ("Cogs"): -The `main` method in `src/europython_discord/bot.py` is the entry point for the bot. -I't a good starting point to start browsing the codebase. -It requires a `.secrets` file in the root of the repository with `DISCORD_BOT_TOKEN` and `PRETIX_TOKEN` environment variables. +* Ping: To check if the bot is running, write `$ping` in any channel. The bot will respond with `Pong!`. +* Guild Statistics: As an organizer, write `$participants` in an organizer-only channel. The bot will respond with a list of roles, and the number of members per role. +* Registration: On startup, the bot posts a registration form. New users must register using their Pretix ticket data. On success, the bot assigns the appropriate roles. +* Programme Notifications: Before each session, the bot posts a session summary and updates the livestream URLs. -### Registration +![registration_view.png](./img/registration_view.png) -At EuroPython, we use [pretix](https://pretix.eu/about/en/) as our ticketing system. +## Configuration -The bot utilizes the Pretix API to fetch ticket information and creates an in-memory key-value store to retrieve the ticket type for a given Discord user. The mapping between ticket types and Discord roles is defined in a JSON file, such as ticket_to_roles_prod.json, and is used by the bot to assign roles to users. +All configuration is server-agnostic. You can set up your own Discord server and use the included configuration. -There are safeguard methods in place to prevent users from registering multiple times and to make a direct Pretix API call in case the user information is not available in the in-memory store. +Configuration files: +* [`prod-config.toml`](./prod-config.toml) or [`test-config.toml`](./test-config.toml): Prod/Test configuration +* [`livestreams.toml`](./livestreams.toml): Livestream URL configuration -### Program notifications +Arguments and environment variables: -Is a service to push the programme notification to Discord. Pretalx API is used to fetch the programme information, and `config.toml` holds information about livestream URLs. +* `--config-file FILE` or `CONFIG_FILE=FILE`: Path to .toml configuration file +* `DISCORD_BOT_TOKEN=TOKEN`: Discord bot auth token (with Admin and `GUILD_MEMBERS` privileges) +* `PRETIX_TOKEN=TOKEN`: Pretix access token (preferably read-only) -### Organizers extension +Files expected in the current directory (may be empty): -A set of commands that are available only for organizers that are allowing to get statistics about the Discord server. +* `pretix_cache.json`: Local cache of Pretix ticket data +* `registered_log.txt`: Log of registered users +* `schedule.json`: Local cache of [programapi](https://github.com/europython/programapi) schedule ## Setup ### Quickstart using `pip` This project uses [uv](https://github.com/astral-sh/uv) for managing dependencies. -If you just want to try the bot and skip all the development setup, +If you just want to try the bot and skip the development setup, you can use `pip` instead of `uv` (requires Python >= 3.11): ```shell # create and activate virtual environment (optional, but recommended) python -m venv .venv -. .venv/bin/activate # Windows: '.venv/Scripts/activate' +. .venv/bin/activate # Windows: .venv/Scripts/activate -# install this package +# install this package (use '-e' for 'editable mode' if you plan to modify the code) pip install . -# run the bot -run-bot +# set environment variables +export DISCORD_BOT_TOKEN=... # Windows: $env:DISCORD_BOT_TOKEN = '...' +export PRETIX_TOKEN=... # Windows: $env:PRETIX_TOKEN = '...' + +# run the bot with a given config file +run-bot --config your-config-file.toml ``` ### Development setup using `uv` -Install `uv` as documented [here](https://docs.astral.sh/uv/getting-started/installation/), then -create/update virtual environment with all dependencies according to [`uv.lock`](./uv.lock) -with `uv sync --dev`. +Install `uv` as documented [here](https://docs.astral.sh/uv/getting-started/installation/), then run `uv sync --dev` to create/update a +virtual environment with all dependencies according to [`uv.lock`](./uv.lock). If required, `uv` will download the required Python version, as specified in [`.python-version`](./.python-version). -### Using `uv` +To run the bot, use the following: + +```shell +# set environment variables +export DISCORD_BOT_TOKEN=... # Windows: $env:DISCORD_BOT_TOKEN = '...' +export PRETIX_TOKEN=... # Windows: $env:PRETIX_TOKEN = '...' + +# run the bot with a given config file +uv run run-bot --config your-config-file.toml +``` + +#### Useful `uv` commands -This is a summary of useful `uv` commands. Please refer to the [uv documentation](https://docs.astral.sh/uv) or `uv help` for details. ```shell @@ -70,19 +92,22 @@ uv sync --dev # include dev dependencies # activate uv-generated venv . .venv/bin/activate # Windows: '.venv/Scripts/activate' +# execute command inside uv-generated venv +uv run [command] + # reset all packages to versions pinned in uv.lock uv sync uv sync --dev # include dev dependencies # add package -uv add package -uv add --dev package # install as dev dependency +uv add [package] +uv add --dev [package] # install as dev dependency # upgrade packages uv lock --upgrade # remove package -uv remove package +uv remove [package] ``` ### Development tools @@ -93,26 +118,14 @@ uv remove package * Check code style: `uv run --dev ruff check .` * Run tests: `uv run --dev pytest .` -### Configuration - -Create `config.local.toml` file in the `src/europython_discord` directory, it would be used instead of `config.toml` if exists. - -Add `.secrets` file to the root of the repository with the following content: - -```shell -DISCORD_BOT_TOKEN= -PRETIX_TOKEN= -```` - -After you have added the `.secrets` file, you can run the bot with the following command: +### Deployment -```shell -run-bot -``` +The bot is deployed on a VPS using a GitHub Action. +It uses Ansible to configure the VPS, and Docker Compose to run the bot. -or with docker: +Related files: -```shell -docker build --tag discord_bot . -docker run --interactive --tty --env DISCORD_BOT_TOKEN=$DISCORD_BOT_TOKEN --env PRETIX_TOKEN=$PRETIX_TOKEN discord_bot -``` +* [.github/workflows/deploy.yml](./.github/workflows/deploy.yml): The GitHub Action +* [ansible/deploy-playbook.yml](./ansible/deploy-playbook.yml): The Ansible Playbook +* [Dockerfile](./Dockerfile): The Docker container recipe +* [compose.yaml](./compose.yaml): The Docker Compose recipe diff --git a/compose.yaml b/compose.yaml index c9eb836..103b2df 100644 --- a/compose.yaml +++ b/compose.yaml @@ -1,13 +1,15 @@ services: EuroPythonBot: image: europythonbot - build: . + build: + context: . + args: + - CONFIG_FILE=prod-config.toml + environment: + - CONFIG_FILE=prod-config.toml + env_file: + - /etc/EuroPython/discord/.secrets volumes: - - type: bind - source: /etc/EuroPython/discord/.secrets - target: /home/bot/.secrets - read_only: true - - type: bind source: /etc/EuroPython/livestreams/livestreams.toml target: /home/bot/livestreams.toml diff --git a/src/europython_discord/config.toml b/prod-config.toml similarity index 100% rename from src/europython_discord/config.toml rename to prod-config.toml diff --git a/pyproject.toml b/pyproject.toml index 3d6a843..f268a73 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,6 @@ dependencies = [ "aiohttp>=3.11.16", "arrow>=1.3.0", "certifi>=2024.7.4", - "python-dotenv>=1.0.1", "yarl>=1.19.0", "pydantic>=2.8.2", "unidecode>=1.3.8", diff --git a/src/europython_discord/bot.py b/src/europython_discord/bot.py index d098d1e..9d6d743 100644 --- a/src/europython_discord/bot.py +++ b/src/europython_discord/bot.py @@ -1,3 +1,4 @@ +import argparse import asyncio import logging import os @@ -6,7 +7,6 @@ import discord from discord.ext import commands -from dotenv import load_dotenv from europython_discord.cogs.guild_statistics import GuildStatisticsCog from europython_discord.cogs.ping import PingCog @@ -14,13 +14,10 @@ from europython_discord.program_notifications.cog import ProgramNotificationsCog from europython_discord.registration.cog import RegistrationCog -load_dotenv(Path(__file__).resolve().parent.parent.parent / ".secrets") -DISCORD_BOT_TOKEN = os.getenv("DISCORD_BOT_TOKEN") - _logger = logging.getLogger(__name__) -async def run_bot(config: Config) -> None: +async def run_bot(config: Config, auth_token: str) -> None: intents = discord.Intents.all() intents.presences = False intents.dm_typing = False @@ -34,11 +31,23 @@ async def run_bot(config: Config) -> None: await bot.add_cog(ProgramNotificationsCog(bot, config)) await bot.add_cog(GuildStatisticsCog(bot, config.ROLE_REQUIRED_FOR_STATISTICS)) - await bot.start(DISCORD_BOT_TOKEN) + await bot.start(auth_token) def main() -> None: - config = Config() + parser = argparse.ArgumentParser(description="EuroPython Discord Bot") + parser.add_argument("--config-file", help="Configuration file (.toml)") + args = parser.parse_args() + + if not args.config_file and "CONFIG_FILE" not in os.environ: + raise RuntimeError("Missing option '--config-file' or environment variable 'CONFIG_FILE'") + config_file = args.config_file or os.environ["CONFIG_FILE"] + + if "DISCORD_BOT_TOKEN" not in os.environ: + raise RuntimeError("Missing environment variable 'DISCORD_BOT_TOKEN'") + bot_auth_token = os.environ["DISCORD_BOT_TOKEN"] + + config = Config(Path(config_file)) logging.basicConfig( level=config.LOG_LEVEL, @@ -47,7 +56,7 @@ def main() -> None: ) try: - asyncio.run(run_bot(config)) + asyncio.run(run_bot(config, auth_token=bot_auth_token)) except KeyboardInterrupt: _logger.info("Received KeyboardInterrupt, exiting...") diff --git a/src/europython_discord/configuration.py b/src/europython_discord/configuration.py index fb467c3..f7af58a 100644 --- a/src/europython_discord/configuration.py +++ b/src/europython_discord/configuration.py @@ -1,7 +1,6 @@ from __future__ import annotations import logging -import sys import tomllib from datetime import datetime, timedelta, timezone from pathlib import Path @@ -10,109 +9,50 @@ class Config: - _CONFIG_DEFAULT = "config.toml" - _CONFIG_LOCAL = "config.local.toml" - - def __init__(self) -> None: + def __init__(self, config_file: Path) -> None: # Configuration file - config = None - self.BASE_PATH = Path(__file__).resolve().parent - self.CONFIG_PATH = self._get_config_path(self.BASE_PATH) - with self.CONFIG_PATH.open("rb") as f: + with config_file.open("rb") as f: config = tomllib.load(f) - if not config: - _logger.critical("Error: Failed to load the config file at '%s'", self.CONFIG_PATH) - sys.exit(-1) - - try: - # Registration - self.REG_CHANNEL_NAME: str = config["registration"]["REG_CHANNEL_NAME"] - self.REG_HELP_CHANNEL_NAME: str = config["registration"]["REG_HELP_CHANNEL_NAME"] - self.REG_LOG_CHANNEL_NAME: str = config["registration"]["REG_LOG_CHANNEL_NAME"] - self.REGISTERED_LOG_FILE = Path(config["registration"]["REGISTERED_LOG_FILE"]) - - # Pretix - self.PRETIX_BASE_URL: str = config["pretix"]["PRETIX_BASE_URL"] - self.PRETIX_CACHE_FILE = Path(config["pretix"]["PRETIX_CACHE_FILE"]) - - self.ITEM_TO_ROLES: dict[str, list[str]] = config["item_to_role"] - self.VARIATION_TO_ROLES: dict[str, list[str]] = config["variation_to_role"] - - # Program Notifications - self.PROGRAM_API_URL: str = config["program_notifications"]["api_url"] - self.TIMEZONE_OFFSET: int = config["program_notifications"]["timezone_offset"] - self.SCHEDULE_CACHE_FILE = Path(config["program_notifications"]["schedule_cache_file"]) - self.LIVESTREAM_URL_FILE = Path(config["program_notifications"]["livestream_url_file"]) - - self.MAIN_NOTIFICATION_CANNEL_NAME = config["program_notifications"][ - "main_notification_channel_name" - ] - # like {'forum_hall': {'name': 'Forum Hall', 'channel_id': '123456'}} - self.ROOMS_TO_CHANNEL_NAMES: dict[str, str] = config["program_notifications"][ - "rooms_to_channel_names" - ] - - # optional testing parameters for program notifications - if simulated_start_time := config["program_notifications"].get("simulated_start_time"): - self.SIMULATED_START_TIME = datetime.fromisoformat(simulated_start_time).replace( - tzinfo=timezone(timedelta(hours=self.TIMEZONE_OFFSET)) - ) - else: - self.SIMULATED_START_TIME = None - - self.FAST_MODE: bool = config["program_notifications"].get("fast_mode", False) - - # Logging - self.LOG_LEVEL = config.get("logging", {}).get("LOG_LEVEL", "INFO") - - # Statistics - self.ROLE_REQUIRED_FOR_STATISTICS = config["server_statistics"]["required_role"] - - except KeyError: - _logger.exception( - "Error encountered while reading '%s'. Ensure that it contains the necessary" - " configuration fields. If you are using a local override of the main configuration" - " file, please compare the fields in it against the main `config.toml` file.", - self.CONFIG_PATH, + # Registration + self.REG_CHANNEL_NAME: str = config["registration"]["REG_CHANNEL_NAME"] + self.REG_HELP_CHANNEL_NAME: str = config["registration"]["REG_HELP_CHANNEL_NAME"] + self.REG_LOG_CHANNEL_NAME: str = config["registration"]["REG_LOG_CHANNEL_NAME"] + self.REGISTERED_LOG_FILE = Path(config["registration"]["REGISTERED_LOG_FILE"]) + + # Pretix + self.PRETIX_BASE_URL: str = config["pretix"]["PRETIX_BASE_URL"] + self.PRETIX_CACHE_FILE = Path(config["pretix"]["PRETIX_CACHE_FILE"]) + + self.ITEM_TO_ROLES: dict[str, list[str]] = config["item_to_role"] + self.VARIATION_TO_ROLES: dict[str, list[str]] = config["variation_to_role"] + + # Program Notifications + self.PROGRAM_API_URL: str = config["program_notifications"]["api_url"] + self.TIMEZONE_OFFSET: int = config["program_notifications"]["timezone_offset"] + self.SCHEDULE_CACHE_FILE = Path(config["program_notifications"]["schedule_cache_file"]) + self.LIVESTREAM_URL_FILE = Path(config["program_notifications"]["livestream_url_file"]) + + self.MAIN_NOTIFICATION_CANNEL_NAME = config["program_notifications"][ + "main_notification_channel_name" + ] + # like {'forum_hall': {'name': 'Forum Hall', 'channel_id': '123456'}} + self.ROOMS_TO_CHANNEL_NAMES: dict[str, str] = config["program_notifications"][ + "rooms_to_channel_names" + ] + + # optional testing parameters for program notifications + if simulated_start_time := config["program_notifications"].get("simulated_start_time"): + self.SIMULATED_START_TIME = datetime.fromisoformat(simulated_start_time).replace( + tzinfo=timezone(timedelta(hours=self.TIMEZONE_OFFSET)) ) - sys.exit(-1) - - @staticmethod - def _translate_role_names_to_ids( - mapping: dict[str, list[str]], role_ids_by_name: dict[str, int] - ) -> dict[str, list[int]]: - """Parse the ticket mapping from role names to role ids.""" - ticket_to_role_ids = {} - - for ticket_type, roles in mapping.items(): - roles_ids = [role_ids_by_name[role] for role in roles] - ticket_to_role_ids[ticket_type] = roles_ids - - return ticket_to_role_ids - - def _get_config_path(self, base_path: Path) -> Path: - """Get the path to the relevant configuration file. - - To make local development easier, the committed configuration - file used for production can be overridden by a local config - file: If a local configuration file is present, it is used - instead of the default configuration file. + else: + self.SIMULATED_START_TIME = None - Note that the files are not merged: All keys need to be present - in the local configuration file. One way of achieving this is to - make a copy of the committed config file and editing the value - you want to edit. + self.FAST_MODE: bool = config["program_notifications"].get("fast_mode", False) - The local config file is added to the `.gitignore`, which means - is safe to create the file without having to worry about - accidentally committing development configurations. + # Logging + self.LOG_LEVEL = config.get("logging", {}).get("LOG_LEVEL", "INFO") - :param base_path: The parent directory of the configuration file - :return: A path to a configuration file. Note that this path is - not guaranteed to exist: If the default configuration file is - deleted and there is no local configuration file, the path - points to a non-existing file - """ - local_config = base_path / self._CONFIG_LOCAL - return local_config if local_config.is_file() else base_path / self._CONFIG_DEFAULT + # Statistics + self.ROLE_REQUIRED_FOR_STATISTICS = config["server_statistics"]["required_role"] diff --git a/src/europython_discord/staging-config.toml b/test-config.toml similarity index 100% rename from src/europython_discord/staging-config.toml rename to test-config.toml diff --git a/uv.lock b/uv.lock index 346f540..d5db2e0 100644 --- a/uv.lock +++ b/uv.lock @@ -326,7 +326,6 @@ dependencies = [ { name = "certifi" }, { name = "discord-py" }, { name = "pydantic" }, - { name = "python-dotenv" }, { name = "unidecode" }, { name = "yarl" }, ] @@ -348,7 +347,6 @@ requires-dist = [ { name = "certifi", specifier = ">=2024.7.4" }, { name = "discord-py", specifier = ">=2.3.1" }, { name = "pydantic", specifier = ">=2.8.2" }, - { name = "python-dotenv", specifier = ">=1.0.1" }, { name = "unidecode", specifier = ">=1.3.8" }, { name = "yarl", specifier = ">=1.19.0" }, ] @@ -827,15 +825,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, ] -[[package]] -name = "python-dotenv" -version = "1.1.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/88/2c/7bb1416c5620485aa793f2de31d3df393d3686aa8a8506d11e10e13c5baf/python_dotenv-1.1.0.tar.gz", hash = "sha256:41f90bc6f5f177fb41f53e87666db362025010eb28f60a01c9143bfa33a2b2d5", size = 39920, upload-time = "2025-03-25T10:14:56.835Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/18/98a99ad95133c6a6e2005fe89faedf294a748bd5dc803008059409ac9b1e/python_dotenv-1.1.0-py3-none-any.whl", hash = "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d", size = 20256, upload-time = "2025-03-25T10:14:55.034Z" }, -] - [[package]] name = "pyyaml" version = "6.0.2" From 5b01113f871a793bd9baf2876b670b83091f68fd Mon Sep 17 00:00:00 2001 From: Niklas Mertsch Date: Mon, 28 Apr 2025 00:11:34 +0200 Subject: [PATCH 07/17] Streamline configuration Model all configuration as cog-specific pydantic.BaseModels. --- prod-config.toml | 33 +++++------ src/europython_discord/bot.py | 28 ++++++--- .../cogs/guild_statistics.py | 11 +++- src/europython_discord/configuration.py | 58 ------------------- .../program_notifications/cog.py | 30 +++++----- .../program_notifications/config.py | 19 ++++++ src/europython_discord/registration/cog.py | 36 +++++++----- src/europython_discord/registration/config.py | 22 +++++++ test-config.toml | 33 +++++------ 9 files changed, 138 insertions(+), 132 deletions(-) delete mode 100644 src/europython_discord/configuration.py create mode 100644 src/europython_discord/program_notifications/config.py create mode 100644 src/europython_discord/registration/config.py diff --git a/prod-config.toml b/prod-config.toml index e71604a..13d4a3e 100644 --- a/prod-config.toml +++ b/prod-config.toml @@ -1,4 +1,16 @@ -[item_to_role] +log_level = "INFO" + +[registration] +registration_form_channel_name = "registration-form" +registration_help_channel_name = "registration-help" +registration_log_channel_name = "registration-log" + +pretix_base_url = "https://pretix.eu/api/v1/organizers/europython/events/ep2025" + +registered_cache_file = "registered_log.txt" +pretix_cache_file = "pretix_cache.json" + +[registration.item_to_roles] # onsite participants "Business" = ["Participants", "Onsite Participants"] "Personal" = ["Participants", "Onsite Participants"] @@ -14,22 +26,9 @@ # speakers "Presenter" = ["Participants", "Onsite Participants", "Speakers"] -[variation_to_role] +[registration.variation_to_roles] "Volunteer" = ["Volunteers"] -[registration] -REG_CHANNEL_NAME = "registration-form" -REG_HELP_CHANNEL_NAME = "registration-help" -REG_LOG_CHANNEL_NAME = "registration-log" -REGISTERED_LOG_FILE = "registered_log.txt" - -[pretix] -PRETIX_BASE_URL = "https://pretix.eu/api/v1/organizers/europython/events/ep2025" -PRETIX_CACHE_FILE = "pretix_cache.json" - -[logging] -LOG_LEVEL = "INFO" - [program_notifications] # UTC offset in hours (e.g. 2 for CEST) timezone_offset = 2 @@ -39,7 +38,7 @@ livestream_url_file = "livestreams.toml" main_notification_channel_name = "programme-notifications" # optional simulated start time for testing program notifications -# simulated_start_time = "2024-07-10T07:30:00" +# simulated_start_time = "2024-07-10T07:30:00+02:00" # optional fast mode for faster testing of program notifications # will only take effect if simulated_start_time is set @@ -54,5 +53,5 @@ main_notification_channel_name = "programme-notifications" "Terrace 2B" = "terrace-2b" "Exhibit Hall" = "exhibit-hall" -[server_statistics] +[guild_statistics] required_role = "Organizers" diff --git a/src/europython_discord/bot.py b/src/europython_discord/bot.py index 9d6d743..d087bbd 100644 --- a/src/europython_discord/bot.py +++ b/src/europython_discord/bot.py @@ -1,22 +1,35 @@ +from __future__ import annotations + import argparse import asyncio import logging import os import sys +import tomllib from pathlib import Path +from typing import Literal import discord from discord.ext import commands +from pydantic import BaseModel -from europython_discord.cogs.guild_statistics import GuildStatisticsCog +from europython_discord.cogs.guild_statistics import GuildStatisticsCog, GuildStatisticsConfig from europython_discord.cogs.ping import PingCog -from europython_discord.configuration import Config from europython_discord.program_notifications.cog import ProgramNotificationsCog +from europython_discord.program_notifications.config import ProgramNotificationsConfig from europython_discord.registration.cog import RegistrationCog +from europython_discord.registration.config import RegistrationConfig _logger = logging.getLogger(__name__) +class Config(BaseModel): + log_level: Literal["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"] + registration: RegistrationConfig + program_notifications: ProgramNotificationsConfig + guild_statistics: GuildStatisticsConfig + + async def run_bot(config: Config, auth_token: str) -> None: intents = discord.Intents.all() intents.presences = False @@ -27,9 +40,9 @@ async def run_bot(config: Config, auth_token: str) -> None: async with commands.Bot(intents=intents, command_prefix="$") as bot: await bot.add_cog(PingCog(bot)) - await bot.add_cog(RegistrationCog(bot, config)) - await bot.add_cog(ProgramNotificationsCog(bot, config)) - await bot.add_cog(GuildStatisticsCog(bot, config.ROLE_REQUIRED_FOR_STATISTICS)) + await bot.add_cog(RegistrationCog(bot, config.registration)) + await bot.add_cog(ProgramNotificationsCog(bot, config.program_notifications)) + await bot.add_cog(GuildStatisticsCog(bot, config.guild_statistics)) await bot.start(auth_token) @@ -47,10 +60,11 @@ def main() -> None: raise RuntimeError("Missing environment variable 'DISCORD_BOT_TOKEN'") bot_auth_token = os.environ["DISCORD_BOT_TOKEN"] - config = Config(Path(config_file)) + config_file_content = Path(config_file).read_text() + config = Config(**tomllib.loads(config_file_content)) logging.basicConfig( - level=config.LOG_LEVEL, + level=config.log_level, stream=sys.stdout, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", ) diff --git a/src/europython_discord/cogs/guild_statistics.py b/src/europython_discord/cogs/guild_statistics.py index 135cbca..e6a8406 100644 --- a/src/europython_discord/cogs/guild_statistics.py +++ b/src/europython_discord/cogs/guild_statistics.py @@ -1,20 +1,27 @@ """Commands for organisers.""" +from __future__ import annotations + import logging from discord import Role from discord.ext import commands from discord.utils import get as discord_get +from pydantic import BaseModel _logger = logging.getLogger(__name__) +class GuildStatisticsConfig(BaseModel): + required_role: str + + class GuildStatisticsCog(commands.Cog): """A cog with commands for organisers.""" - def __init__(self, bot: commands.Bot, required_role_name: str) -> None: + def __init__(self, bot: commands.Bot, config: GuildStatisticsConfig) -> None: self._bot = bot - self._required_role_name = required_role_name + self._required_role_name = config.required_role @commands.command(name="participants") async def list_participants(self, ctx: commands.Context) -> None: diff --git a/src/europython_discord/configuration.py b/src/europython_discord/configuration.py deleted file mode 100644 index f7af58a..0000000 --- a/src/europython_discord/configuration.py +++ /dev/null @@ -1,58 +0,0 @@ -from __future__ import annotations - -import logging -import tomllib -from datetime import datetime, timedelta, timezone -from pathlib import Path - -_logger = logging.getLogger(__name__) - - -class Config: - def __init__(self, config_file: Path) -> None: - # Configuration file - with config_file.open("rb") as f: - config = tomllib.load(f) - - # Registration - self.REG_CHANNEL_NAME: str = config["registration"]["REG_CHANNEL_NAME"] - self.REG_HELP_CHANNEL_NAME: str = config["registration"]["REG_HELP_CHANNEL_NAME"] - self.REG_LOG_CHANNEL_NAME: str = config["registration"]["REG_LOG_CHANNEL_NAME"] - self.REGISTERED_LOG_FILE = Path(config["registration"]["REGISTERED_LOG_FILE"]) - - # Pretix - self.PRETIX_BASE_URL: str = config["pretix"]["PRETIX_BASE_URL"] - self.PRETIX_CACHE_FILE = Path(config["pretix"]["PRETIX_CACHE_FILE"]) - - self.ITEM_TO_ROLES: dict[str, list[str]] = config["item_to_role"] - self.VARIATION_TO_ROLES: dict[str, list[str]] = config["variation_to_role"] - - # Program Notifications - self.PROGRAM_API_URL: str = config["program_notifications"]["api_url"] - self.TIMEZONE_OFFSET: int = config["program_notifications"]["timezone_offset"] - self.SCHEDULE_CACHE_FILE = Path(config["program_notifications"]["schedule_cache_file"]) - self.LIVESTREAM_URL_FILE = Path(config["program_notifications"]["livestream_url_file"]) - - self.MAIN_NOTIFICATION_CANNEL_NAME = config["program_notifications"][ - "main_notification_channel_name" - ] - # like {'forum_hall': {'name': 'Forum Hall', 'channel_id': '123456'}} - self.ROOMS_TO_CHANNEL_NAMES: dict[str, str] = config["program_notifications"][ - "rooms_to_channel_names" - ] - - # optional testing parameters for program notifications - if simulated_start_time := config["program_notifications"].get("simulated_start_time"): - self.SIMULATED_START_TIME = datetime.fromisoformat(simulated_start_time).replace( - tzinfo=timezone(timedelta(hours=self.TIMEZONE_OFFSET)) - ) - else: - self.SIMULATED_START_TIME = None - - self.FAST_MODE: bool = config["program_notifications"].get("fast_mode", False) - - # Logging - self.LOG_LEVEL = config.get("logging", {}).get("LOG_LEVEL", "INFO") - - # Statistics - self.ROLE_REQUIRED_FOR_STATISTICS = config["server_statistics"]["required_role"] diff --git a/src/europython_discord/program_notifications/cog.py b/src/europython_discord/program_notifications/cog.py index 14d7e93..306e27c 100644 --- a/src/europython_discord/program_notifications/cog.py +++ b/src/europython_discord/program_notifications/cog.py @@ -4,8 +4,8 @@ from discord.ext import commands, tasks from discord.utils import get as discord_get -from europython_discord.configuration import Config from europython_discord.program_notifications import session_to_embed +from europython_discord.program_notifications.config import ProgramNotificationsConfig from europython_discord.program_notifications.livestream_connector import LivestreamConnector from europython_discord.program_notifications.program_connector import ProgramConnector @@ -13,30 +13,30 @@ class ProgramNotificationsCog(commands.Cog): - def __init__(self, bot: Client, config: Config) -> None: + def __init__(self, bot: Client, config: ProgramNotificationsConfig) -> None: self.bot = bot self.config = config self.program_connector = ProgramConnector( - api_url=self.config.PROGRAM_API_URL, - timezone_offset=self.config.TIMEZONE_OFFSET, - cache_file=self.config.SCHEDULE_CACHE_FILE, - simulated_start_time=self.config.SIMULATED_START_TIME, - fast_mode=self.config.FAST_MODE, + api_url=self.config.api_url, + timezone_offset=self.config.timezone_offset, + cache_file=self.config.schedule_cache_file, + simulated_start_time=self.config.simulated_start_time, + fast_mode=self.config.fast_mode, ) - self.livestream_connector = LivestreamConnector(self.config.LIVESTREAM_URL_FILE) + self.livestream_connector = LivestreamConnector(self.config.livestream_url_file) self.notified_sessions = set() _logger.info("Cog 'Program Notifications' has been initialized") @commands.Cog.listener() async def on_ready(self) -> None: - if self.config.SIMULATED_START_TIME: + if self.config.simulated_start_time: _logger.info("Running in simulated time mode.") _logger.info("Will purge all room channels to avoid pile-up of test notifications.") await self.purge_all_room_channels() - _logger.debug(f"Simulated start time: {self.config.SIMULATED_START_TIME}") - _logger.debug(f"Fast mode: {self.config.FAST_MODE}") + _logger.debug(f"Simulated start time: {self.config.simulated_start_time}") + _logger.debug(f"Fast mode: {self.config.fast_mode}") _logger.info("Starting the session notifier...") self.notify_sessions.start() _logger.info("Cog 'Program Notifications' is ready") @@ -49,7 +49,7 @@ async def cog_load(self) -> None: self.fetch_schedule.start() self.fetch_livestreams.start() self.notify_sessions.change_interval( - seconds=2 if self.config.FAST_MODE and self.config.SIMULATED_START_TIME else 60 + seconds=2 if self.config.fast_mode and self.config.simulated_start_time else 60 ) _logger.info("Schedule updater started and interval set for the session notifier") @@ -86,7 +86,7 @@ async def notify_sessions(self) -> None: return main_notification_channel = discord_get( - self.bot.get_all_channels(), name=self.config.MAIN_NOTIFICATION_CANNEL_NAME + self.bot.get_all_channels(), name=self.config.main_notification_channel_name ) await main_notification_channel.send(content="# Sessions starting in 5 minutes:") @@ -116,13 +116,13 @@ async def notify_sessions(self) -> None: async def purge_all_room_channels(self) -> None: _logger.info("Purging all room channels...") - for channel_name in self.config.ROOMS_TO_CHANNEL_NAMES.values(): + for channel_name in self.config.rooms_to_channel_names.values(): channel = discord_get(self.bot.get_all_channels(), name=channel_name) await channel.purge() _logger.info("Purged all room channels.") def _get_room_channel(self, room_name: str) -> TextChannel | None: - channel_name = self.config.ROOMS_TO_CHANNEL_NAMES.get(room_name) + channel_name = self.config.rooms_to_channel_names.get(room_name) if channel_name is None: _logger.warning(f"No notification channel configured for room {room_name!r}") return None diff --git a/src/europython_discord/program_notifications/config.py b/src/europython_discord/program_notifications/config.py new file mode 100644 index 0000000..920d2e6 --- /dev/null +++ b/src/europython_discord/program_notifications/config.py @@ -0,0 +1,19 @@ +from __future__ import annotations + +from collections.abc import Mapping +from datetime import datetime +from pathlib import Path + +from pydantic import BaseModel + + +class ProgramNotificationsConfig(BaseModel): + timezone_offset: int + api_url: str + schedule_cache_file: Path + livestream_url_file: Path + main_notification_channel_name: str + rooms_to_channel_names: Mapping[str, str] + + simulated_start_time: datetime | None = None + fast_mode: bool = False diff --git a/src/europython_discord/registration/cog.py b/src/europython_discord/registration/cog.py index b4999b8..681d4e1 100644 --- a/src/europython_discord/registration/cog.py +++ b/src/europython_discord/registration/cog.py @@ -9,7 +9,7 @@ from discord.ext import commands, tasks from discord.utils import get as discord_get -from europython_discord.configuration import Config +from europython_discord.registration.config import RegistrationConfig from europython_discord.registration.pretix_connector import PretixConnector from europython_discord.registration.registration_logger import RegistrationLogger @@ -19,7 +19,7 @@ class RegistrationForm(discord.ui.Modal, title="EuroPython 2024 Registration"): def __init__( self, - config: Config, + config: RegistrationConfig, pretix_connector: PretixConnector, registration_logger: RegistrationLogger, ) -> None: @@ -70,10 +70,10 @@ async def on_submit(self, interaction: discord.Interaction) -> None: role_names = set() for ticket in tickets: - if ticket.type in self.config.ITEM_TO_ROLES: - role_names.update(self.config.ITEM_TO_ROLES[ticket.type]) - if ticket.variation in self.config.VARIATION_TO_ROLES: - role_names.update(self.config.VARIATION_TO_ROLES[ticket.variation]) + if ticket.type in self.config.item_to_roles: + role_names.update(self.config.item_to_roles[ticket.type]) + if ticket.variation in self.config.variation_to_roles: + role_names.update(self.config.variation_to_roles[ticket.variation]) if not role_names: await self.log_error_to_user(interaction, "No ticket found.") @@ -125,7 +125,7 @@ async def log_registration_to_channel( self, interaction: Interaction, *, name: str, order: str, roles: list[Role] ) -> None: channel = discord_get( - interaction.client.get_all_channels(), name=self.config.REG_LOG_CHANNEL_NAME + interaction.client.get_all_channels(), name=self.config.registration_log_channel_name ) message_lines = [ f"✅ : **{interaction.user.mention} REGISTERED**", @@ -135,7 +135,7 @@ async def log_registration_to_channel( async def log_error_to_user(self, interaction: Interaction, message: str) -> None: reg_help_channel = discord_get( - interaction.guild.channels, name=self.config.REG_HELP_CHANNEL_NAME + interaction.guild.channels, name=self.config.registration_help_channel_name ) await interaction.response.send_message( f"{message} If you need help, please contact us in {reg_help_channel.mention}.", @@ -145,22 +145,22 @@ async def log_error_to_user(self, interaction: Interaction, message: str) -> Non async def log_error_to_channel(self, interaction: Interaction, message: str) -> None: channel = discord_get( - interaction.client.get_all_channels(), name=self.config.REG_LOG_CHANNEL_NAME + interaction.client.get_all_channels(), name=self.config.registration_log_channel_name ) await channel.send(content=f"❌ : **{interaction.user.mention} ERROR**\n{message}") class RegistrationCog(commands.Cog): - def __init__(self, bot: Client, config: Config) -> None: + def __init__(self, bot: Client, config: RegistrationConfig) -> None: self.bot = bot self.config = config self.pretix_connector = PretixConnector( - url=self.config.PRETIX_BASE_URL, + url=self.config.pretix_base_url, token=os.environ["PRETIX_TOKEN"], - cache_file=self.config.PRETIX_CACHE_FILE, + cache_file=self.config.pretix_cache_file, ) - self.registration_logger = RegistrationLogger(self.config.REGISTERED_LOG_FILE) + self.registration_logger = RegistrationLogger(self.config.registered_cache_file) _logger.info("Cog 'Registration' has been initialized") @commands.Cog.listener() @@ -179,7 +179,7 @@ async def on_ready(self) -> None: view.add_item(button) reg_help_channel = discord_get( - self.bot.get_all_channels(), name=self.config.REG_HELP_CHANNEL_NAME + self.bot.get_all_channels(), name=self.config.registration_help_channel_name ) welcome_message = create_welcome_message( textwrap.dedent( @@ -206,7 +206,9 @@ async def on_ready(self) -> None: ) ) - channel = discord_get(self.bot.get_all_channels(), name=self.config.REG_CHANNEL_NAME) + channel = discord_get( + self.bot.get_all_channels(), name=self.config.registration_form_channel_name + ) await channel.purge() await channel.send(embed=welcome_message, view=view) @@ -221,7 +223,9 @@ async def cog_unload(self) -> None: self.fetch_pretix_updates.cancel() _logger.info("Replacing registration form with 'currently offline' message") - reg_channel = discord_get(self.bot.get_all_channels(), name=self.config.REG_CHANNEL_NAME) + reg_channel = discord_get( + self.bot.get_all_channels(), name=self.config.registration_form_channel_name + ) await reg_channel.purge() await reg_channel.send( embed=create_welcome_message( diff --git a/src/europython_discord/registration/config.py b/src/europython_discord/registration/config.py new file mode 100644 index 0000000..b1dd130 --- /dev/null +++ b/src/europython_discord/registration/config.py @@ -0,0 +1,22 @@ +from __future__ import annotations + +from collections.abc import Mapping, Sequence +from pathlib import Path + +from pydantic import BaseModel + + +class RegistrationConfig(BaseModel): + # discord + registration_form_channel_name: str + registration_help_channel_name: str + registration_log_channel_name: str + + # pretix + pretix_base_url: str + item_to_roles: Mapping[str, Sequence[str]] + variation_to_roles: Mapping[str, Sequence[str]] + + # cache files + pretix_cache_file: Path + registered_cache_file: Path diff --git a/test-config.toml b/test-config.toml index 2bbd0d5..daf6bb9 100644 --- a/test-config.toml +++ b/test-config.toml @@ -1,4 +1,16 @@ -[item_to_role] +log_level = "INFO" + +[registration] +registration_form_channel_name = "registration-form" +registration_help_channel_name = "registration-help" +registration_log_channel_name = "registration-log" + +pretix_base_url = "https://pretix.eu/api/v1/organizers/europython/events/ep2025" + +registered_cache_file = "registered_log.txt" +pretix_cache_file = "pretix_cache.json" + +[registration.item_to_roles] # onsite participants "Business" = ["Participants", "Onsite Participants"] "Personal" = ["Participants", "Onsite Participants"] @@ -14,22 +26,9 @@ # speakers "Presenter" = ["Participants", "Onsite Participants", "Speakers"] -[variation_to_role] +[registration.variation_to_roles] "Volunteer" = ["Volunteers"] -[registration] -REG_CHANNEL_NAME = "registration-form" -REG_HELP_CHANNEL_NAME = "registration-help" -REG_LOG_CHANNEL_NAME = "registration-log" -REGISTERED_LOG_FILE = "registered_log.txt" - -[pretix] -PRETIX_BASE_URL = "https://pretix.eu/api/v1/organizers/europython/events/ep2025-staging" -PRETIX_CACHE_FILE = "pretix_cache.json" - -[logging] -LOG_LEVEL = "INFO" - [program_notifications] # UTC offset in hours (e.g. 2 for CEST) timezone_offset = 2 @@ -39,7 +38,7 @@ livestream_url_file = "livestreams.toml" main_notification_channel_name = "programme-notifications" # optional simulated start time for testing program notifications -simulated_start_time = "2025-07-14T09:15:00" +simulated_start_time = "2025-07-14T09:15:00+02:00" # optional fast mode for faster testing of program notifications # will only take effect if simulated_start_time is set @@ -54,5 +53,5 @@ fast_mode = true "Terrace 2B" = "terrace-2b" "Exhibit Hall" = "exhibit-hall" -[server_statistics] +[guild_statistics] required_role = "Organizers" From b54cc9c37400d1c93f4ea2dc591a06853d788bcd Mon Sep 17 00:00:00 2001 From: Niklas Mertsch Date: Mon, 28 Apr 2025 00:18:30 +0200 Subject: [PATCH 08/17] Remove unused dependencies Remove certifi, yarl and arrow --- pyproject.toml | 3 --- uv.lock | 58 -------------------------------------------------- 2 files changed, 61 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index f268a73..6cba2f6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,9 +14,6 @@ dependencies = [ "discord-py>=2.3.1", "aiofiles>=24.1.0", "aiohttp>=3.11.16", - "arrow>=1.3.0", - "certifi>=2024.7.4", - "yarl>=1.19.0", "pydantic>=2.8.2", "unidecode>=1.3.8", ] diff --git a/uv.lock b/uv.lock index d5db2e0..1c6e5b4 100644 --- a/uv.lock +++ b/uv.lock @@ -138,19 +138,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/bc/6b/db3ad0f10cbb9abd0cc6d443488f0d6826ca0f1afbaf7e97adee09ff5432/ansible_core-2.18.4-py3-none-any.whl", hash = "sha256:c642d484c1d3486a923b152150034eddd5cdf4bea58039c928183900fb35d8ba", size = 2217181, upload-time = "2025-03-25T18:12:32.383Z" }, ] -[[package]] -name = "arrow" -version = "1.3.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "python-dateutil" }, - { name = "types-python-dateutil" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/2e/00/0f6e8fcdb23ea632c866620cc872729ff43ed91d284c866b515c6342b173/arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85", size = 131960, upload-time = "2023-09-30T22:11:18.25Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f8/ed/e97229a566617f2ae958a6b13e7cc0f585470eac730a73e9e82c32a3cdd2/arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80", size = 66419, upload-time = "2023-09-30T22:11:16.072Z" }, -] - [[package]] name = "attrs" version = "25.3.0" @@ -200,15 +187,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/5d/35/be73b6015511aa0173ec595fc579133b797ad532996f2998fd6b8d1bbe6b/audioop_lts-0.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:78bfb3703388c780edf900be66e07de5a3d4105ca8e8720c5c4d67927e0b15d0", size = 23918, upload-time = "2024-08-04T21:14:42.803Z" }, ] -[[package]] -name = "certifi" -version = "2025.1.31" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577, upload-time = "2025-01-31T02:16:47.166Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393, upload-time = "2025-01-31T02:16:45.015Z" }, -] - [[package]] name = "cffi" version = "1.17.1" @@ -322,12 +300,9 @@ source = { editable = "." } dependencies = [ { name = "aiofiles" }, { name = "aiohttp" }, - { name = "arrow" }, - { name = "certifi" }, { name = "discord-py" }, { name = "pydantic" }, { name = "unidecode" }, - { name = "yarl" }, ] [package.dev-dependencies] @@ -343,12 +318,9 @@ dev = [ requires-dist = [ { name = "aiofiles", specifier = ">=24.1.0" }, { name = "aiohttp", specifier = ">=3.11.16" }, - { name = "arrow", specifier = ">=1.3.0" }, - { name = "certifi", specifier = ">=2024.7.4" }, { name = "discord-py", specifier = ">=2.3.1" }, { name = "pydantic", specifier = ">=2.8.2" }, { name = "unidecode", specifier = ">=1.3.8" }, - { name = "yarl", specifier = ">=1.19.0" }, ] [package.metadata.requires-dev] @@ -813,18 +785,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/20/7f/338843f449ace853647ace35870874f69a764d251872ed1b4de9f234822c/pytest_asyncio-0.26.0-py3-none-any.whl", hash = "sha256:7b51ed894f4fbea1340262bdae5135797ebbe21d8638978e35d31c6d19f72fb0", size = 19694, upload-time = "2025-03-25T06:22:27.807Z" }, ] -[[package]] -name = "python-dateutil" -version = "2.9.0.post0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "six" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, -] - [[package]] name = "pyyaml" version = "6.0.2" @@ -894,24 +854,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d7/6a/65fecd51a9ca19e1477c3879a7fda24f8904174d1275b419422ac00f6eee/ruff-0.11.6-py3-none-win_arm64.whl", hash = "sha256:3567ba0d07fb170b1b48d944715e3294b77f5b7679e8ba258199a250383ccb79", size = 10682766, upload-time = "2025-04-17T13:35:52.014Z" }, ] -[[package]] -name = "six" -version = "1.17.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, -] - -[[package]] -name = "types-python-dateutil" -version = "2.9.0.20241206" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a9/60/47d92293d9bc521cd2301e423a358abfac0ad409b3a1606d8fbae1321961/types_python_dateutil-2.9.0.20241206.tar.gz", hash = "sha256:18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb", size = 13802, upload-time = "2024-12-06T02:56:41.019Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0f/b3/ca41df24db5eb99b00d97f89d7674a90cb6b3134c52fb8121b6d8d30f15c/types_python_dateutil-2.9.0.20241206-py3-none-any.whl", hash = "sha256:e248a4bc70a486d3e3ec84d0dc30eec3a5f979d6e7ee4123ae043eedbb987f53", size = 14384, upload-time = "2024-12-06T02:56:39.412Z" }, -] - [[package]] name = "typing-extensions" version = "4.13.2" From aa203500b7aaa23ec038e967a9f7e9be51a9db84 Mon Sep 17 00:00:00 2001 From: Niklas Mertsch Date: Mon, 28 Apr 2025 00:19:52 +0200 Subject: [PATCH 09/17] Remove ansible --- pyproject.toml | 1 - uv.lock | 227 ------------------------------------------------- 2 files changed, 228 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 6cba2f6..5ab1c99 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,7 +20,6 @@ dependencies = [ [dependency-groups] dev = [ - "ansible>=10.2.0", "pytest>=8.3.5", "pytest-aiohttp>=1.1.0", "pytest-asyncio>=0.26.0", diff --git a/uv.lock b/uv.lock index 1c6e5b4..5bd9544 100644 --- a/uv.lock +++ b/uv.lock @@ -110,34 +110,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, ] -[[package]] -name = "ansible" -version = "11.4.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "ansible-core" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/f1/e3/0cca4bd57b2c5c39d403d369182080c5eecedeb58df74e39ea4a563ddff5/ansible-11.4.0.tar.gz", hash = "sha256:d25a7f26bf5821f8043bc806019822fd2810bd65e6b6bafb698bbeedadba72bf", size = 42407185, upload-time = "2025-03-25T19:16:11.258Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/58/d5/30374bb92397544d4ba1ca391234e66bfe495c0f094816dc17101c5e18a1/ansible-11.4.0-py3-none-any.whl", hash = "sha256:fb56f6e5d5b08f69499a76f0972ac0b88ddc488ada1f386129ba40cb0b5c6ec7", size = 54155465, upload-time = "2025-03-25T19:16:06.069Z" }, -] - -[[package]] -name = "ansible-core" -version = "2.18.4" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "cryptography" }, - { name = "jinja2" }, - { name = "packaging" }, - { name = "pyyaml" }, - { name = "resolvelib" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/9c/cc/ffab05d33cb327001cd5b48209cbf4312608b09c8604286eab3da1263912/ansible_core-2.18.4.tar.gz", hash = "sha256:e1f8f5c33546362b0ee933e0969a3ba364b486515a6fa1bc25ebb5d95f8ec5f4", size = 3081918, upload-time = "2025-03-25T18:12:33.993Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/bc/6b/db3ad0f10cbb9abd0cc6d443488f0d6826ca0f1afbaf7e97adee09ff5432/ansible_core-2.18.4-py3-none-any.whl", hash = "sha256:c642d484c1d3486a923b152150034eddd5cdf4bea58039c928183900fb35d8ba", size = 2217181, upload-time = "2025-03-25T18:12:32.383Z" }, -] - [[package]] name = "attrs" version = "25.3.0" @@ -187,51 +159,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/5d/35/be73b6015511aa0173ec595fc579133b797ad532996f2998fd6b8d1bbe6b/audioop_lts-0.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:78bfb3703388c780edf900be66e07de5a3d4105ca8e8720c5c4d67927e0b15d0", size = 23918, upload-time = "2024-08-04T21:14:42.803Z" }, ] -[[package]] -name = "cffi" -version = "1.17.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pycparser" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6b/f4/927e3a8899e52a27fa57a48607ff7dc91a9ebe97399b357b85a0c7892e00/cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401", size = 182264, upload-time = "2024-09-04T20:43:51.124Z" }, - { url = "https://files.pythonhosted.org/packages/6c/f5/6c3a8efe5f503175aaddcbea6ad0d2c96dad6f5abb205750d1b3df44ef29/cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf", size = 178651, upload-time = "2024-09-04T20:43:52.872Z" }, - { url = "https://files.pythonhosted.org/packages/94/dd/a3f0118e688d1b1a57553da23b16bdade96d2f9bcda4d32e7d2838047ff7/cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4", size = 445259, upload-time = "2024-09-04T20:43:56.123Z" }, - { url = "https://files.pythonhosted.org/packages/2e/ea/70ce63780f096e16ce8588efe039d3c4f91deb1dc01e9c73a287939c79a6/cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41", size = 469200, upload-time = "2024-09-04T20:43:57.891Z" }, - { url = "https://files.pythonhosted.org/packages/1c/a0/a4fa9f4f781bda074c3ddd57a572b060fa0df7655d2a4247bbe277200146/cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1", size = 477235, upload-time = "2024-09-04T20:44:00.18Z" }, - { url = "https://files.pythonhosted.org/packages/62/12/ce8710b5b8affbcdd5c6e367217c242524ad17a02fe5beec3ee339f69f85/cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6", size = 459721, upload-time = "2024-09-04T20:44:01.585Z" }, - { url = "https://files.pythonhosted.org/packages/ff/6b/d45873c5e0242196f042d555526f92aa9e0c32355a1be1ff8c27f077fd37/cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d", size = 467242, upload-time = "2024-09-04T20:44:03.467Z" }, - { url = "https://files.pythonhosted.org/packages/1a/52/d9a0e523a572fbccf2955f5abe883cfa8bcc570d7faeee06336fbd50c9fc/cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6", size = 477999, upload-time = "2024-09-04T20:44:05.023Z" }, - { url = "https://files.pythonhosted.org/packages/44/74/f2a2460684a1a2d00ca799ad880d54652841a780c4c97b87754f660c7603/cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f", size = 454242, upload-time = "2024-09-04T20:44:06.444Z" }, - { url = "https://files.pythonhosted.org/packages/f8/4a/34599cac7dfcd888ff54e801afe06a19c17787dfd94495ab0c8d35fe99fb/cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b", size = 478604, upload-time = "2024-09-04T20:44:08.206Z" }, - { url = "https://files.pythonhosted.org/packages/34/33/e1b8a1ba29025adbdcda5fb3a36f94c03d771c1b7b12f726ff7fef2ebe36/cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", size = 171727, upload-time = "2024-09-04T20:44:09.481Z" }, - { url = "https://files.pythonhosted.org/packages/3d/97/50228be003bb2802627d28ec0627837ac0bf35c90cf769812056f235b2d1/cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", size = 181400, upload-time = "2024-09-04T20:44:10.873Z" }, - { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178, upload-time = "2024-09-04T20:44:12.232Z" }, - { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840, upload-time = "2024-09-04T20:44:13.739Z" }, - { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803, upload-time = "2024-09-04T20:44:15.231Z" }, - { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850, upload-time = "2024-09-04T20:44:17.188Z" }, - { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729, upload-time = "2024-09-04T20:44:18.688Z" }, - { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256, upload-time = "2024-09-04T20:44:20.248Z" }, - { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424, upload-time = "2024-09-04T20:44:21.673Z" }, - { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568, upload-time = "2024-09-04T20:44:23.245Z" }, - { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736, upload-time = "2024-09-04T20:44:24.757Z" }, - { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448, upload-time = "2024-09-04T20:44:26.208Z" }, - { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976, upload-time = "2024-09-04T20:44:27.578Z" }, - { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989, upload-time = "2024-09-04T20:44:28.956Z" }, - { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802, upload-time = "2024-09-04T20:44:30.289Z" }, - { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792, upload-time = "2024-09-04T20:44:32.01Z" }, - { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893, upload-time = "2024-09-04T20:44:33.606Z" }, - { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810, upload-time = "2024-09-04T20:44:35.191Z" }, - { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200, upload-time = "2024-09-04T20:44:36.743Z" }, - { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447, upload-time = "2024-09-04T20:44:38.492Z" }, - { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358, upload-time = "2024-09-04T20:44:40.046Z" }, - { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload-time = "2024-09-04T20:44:41.616Z" }, - { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload-time = "2024-09-04T20:44:43.733Z" }, - { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload-time = "2024-09-04T20:44:45.309Z" }, -] - [[package]] name = "colorama" version = "0.4.6" @@ -241,45 +168,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, ] -[[package]] -name = "cryptography" -version = "44.0.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/cd/25/4ce80c78963834b8a9fd1cc1266be5ed8d1840785c0f2e1b73b8d128d505/cryptography-44.0.2.tar.gz", hash = "sha256:c63454aa261a0cf0c5b4718349629793e9e634993538db841165b3df74f37ec0", size = 710807, upload-time = "2025-03-02T00:01:37.692Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/92/ef/83e632cfa801b221570c5f58c0369db6fa6cef7d9ff859feab1aae1a8a0f/cryptography-44.0.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:efcfe97d1b3c79e486554efddeb8f6f53a4cdd4cf6086642784fa31fc384e1d7", size = 6676361, upload-time = "2025-03-02T00:00:06.528Z" }, - { url = "https://files.pythonhosted.org/packages/30/ec/7ea7c1e4c8fc8329506b46c6c4a52e2f20318425d48e0fe597977c71dbce/cryptography-44.0.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29ecec49f3ba3f3849362854b7253a9f59799e3763b0c9d0826259a88efa02f1", size = 3952350, upload-time = "2025-03-02T00:00:09.537Z" }, - { url = "https://files.pythonhosted.org/packages/27/61/72e3afdb3c5ac510330feba4fc1faa0fe62e070592d6ad00c40bb69165e5/cryptography-44.0.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc821e161ae88bfe8088d11bb39caf2916562e0a2dc7b6d56714a48b784ef0bb", size = 4166572, upload-time = "2025-03-02T00:00:12.03Z" }, - { url = "https://files.pythonhosted.org/packages/26/e4/ba680f0b35ed4a07d87f9e98f3ebccb05091f3bf6b5a478b943253b3bbd5/cryptography-44.0.2-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3c00b6b757b32ce0f62c574b78b939afab9eecaf597c4d624caca4f9e71e7843", size = 3958124, upload-time = "2025-03-02T00:00:14.518Z" }, - { url = "https://files.pythonhosted.org/packages/9c/e8/44ae3e68c8b6d1cbc59040288056df2ad7f7f03bbcaca6b503c737ab8e73/cryptography-44.0.2-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7bdcd82189759aba3816d1f729ce42ffded1ac304c151d0a8e89b9996ab863d5", size = 3678122, upload-time = "2025-03-02T00:00:17.212Z" }, - { url = "https://files.pythonhosted.org/packages/27/7b/664ea5e0d1eab511a10e480baf1c5d3e681c7d91718f60e149cec09edf01/cryptography-44.0.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:4973da6ca3db4405c54cd0b26d328be54c7747e89e284fcff166132eb7bccc9c", size = 4191831, upload-time = "2025-03-02T00:00:19.696Z" }, - { url = "https://files.pythonhosted.org/packages/2a/07/79554a9c40eb11345e1861f46f845fa71c9e25bf66d132e123d9feb8e7f9/cryptography-44.0.2-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:4e389622b6927d8133f314949a9812972711a111d577a5d1f4bee5e58736b80a", size = 3960583, upload-time = "2025-03-02T00:00:22.488Z" }, - { url = "https://files.pythonhosted.org/packages/bb/6d/858e356a49a4f0b591bd6789d821427de18432212e137290b6d8a817e9bf/cryptography-44.0.2-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:f514ef4cd14bb6fb484b4a60203e912cfcb64f2ab139e88c2274511514bf7308", size = 4191753, upload-time = "2025-03-02T00:00:25.038Z" }, - { url = "https://files.pythonhosted.org/packages/b2/80/62df41ba4916067fa6b125aa8c14d7e9181773f0d5d0bd4dcef580d8b7c6/cryptography-44.0.2-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:1bc312dfb7a6e5d66082c87c34c8a62176e684b6fe3d90fcfe1568de675e6688", size = 4079550, upload-time = "2025-03-02T00:00:26.929Z" }, - { url = "https://files.pythonhosted.org/packages/f3/cd/2558cc08f7b1bb40683f99ff4327f8dcfc7de3affc669e9065e14824511b/cryptography-44.0.2-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:3b721b8b4d948b218c88cb8c45a01793483821e709afe5f622861fc6182b20a7", size = 4298367, upload-time = "2025-03-02T00:00:28.735Z" }, - { url = "https://files.pythonhosted.org/packages/71/59/94ccc74788945bc3bd4cf355d19867e8057ff5fdbcac781b1ff95b700fb1/cryptography-44.0.2-cp37-abi3-win32.whl", hash = "sha256:51e4de3af4ec3899d6d178a8c005226491c27c4ba84101bfb59c901e10ca9f79", size = 2772843, upload-time = "2025-03-02T00:00:30.592Z" }, - { url = "https://files.pythonhosted.org/packages/ca/2c/0d0bbaf61ba05acb32f0841853cfa33ebb7a9ab3d9ed8bb004bd39f2da6a/cryptography-44.0.2-cp37-abi3-win_amd64.whl", hash = "sha256:c505d61b6176aaf982c5717ce04e87da5abc9a36a5b39ac03905c4aafe8de7aa", size = 3209057, upload-time = "2025-03-02T00:00:33.393Z" }, - { url = "https://files.pythonhosted.org/packages/9e/be/7a26142e6d0f7683d8a382dd963745e65db895a79a280a30525ec92be890/cryptography-44.0.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:8e0ddd63e6bf1161800592c71ac794d3fb8001f2caebe0966e77c5234fa9efc3", size = 6677789, upload-time = "2025-03-02T00:00:36.009Z" }, - { url = "https://files.pythonhosted.org/packages/06/88/638865be7198a84a7713950b1db7343391c6066a20e614f8fa286eb178ed/cryptography-44.0.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81276f0ea79a208d961c433a947029e1a15948966658cf6710bbabb60fcc2639", size = 3951919, upload-time = "2025-03-02T00:00:38.581Z" }, - { url = "https://files.pythonhosted.org/packages/d7/fc/99fe639bcdf58561dfad1faa8a7369d1dc13f20acd78371bb97a01613585/cryptography-44.0.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a1e657c0f4ea2a23304ee3f964db058c9e9e635cc7019c4aa21c330755ef6fd", size = 4167812, upload-time = "2025-03-02T00:00:42.934Z" }, - { url = "https://files.pythonhosted.org/packages/53/7b/aafe60210ec93d5d7f552592a28192e51d3c6b6be449e7fd0a91399b5d07/cryptography-44.0.2-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:6210c05941994290f3f7f175a4a57dbbb2afd9273657614c506d5976db061181", size = 3958571, upload-time = "2025-03-02T00:00:46.026Z" }, - { url = "https://files.pythonhosted.org/packages/16/32/051f7ce79ad5a6ef5e26a92b37f172ee2d6e1cce09931646eef8de1e9827/cryptography-44.0.2-cp39-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d1c3572526997b36f245a96a2b1713bf79ce99b271bbcf084beb6b9b075f29ea", size = 3679832, upload-time = "2025-03-02T00:00:48.647Z" }, - { url = "https://files.pythonhosted.org/packages/78/2b/999b2a1e1ba2206f2d3bca267d68f350beb2b048a41ea827e08ce7260098/cryptography-44.0.2-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:b042d2a275c8cee83a4b7ae30c45a15e6a4baa65a179a0ec2d78ebb90e4f6699", size = 4193719, upload-time = "2025-03-02T00:00:51.397Z" }, - { url = "https://files.pythonhosted.org/packages/72/97/430e56e39a1356e8e8f10f723211a0e256e11895ef1a135f30d7d40f2540/cryptography-44.0.2-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:d03806036b4f89e3b13b6218fefea8d5312e450935b1a2d55f0524e2ed7c59d9", size = 3960852, upload-time = "2025-03-02T00:00:53.317Z" }, - { url = "https://files.pythonhosted.org/packages/89/33/c1cf182c152e1d262cac56850939530c05ca6c8d149aa0dcee490b417e99/cryptography-44.0.2-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:c7362add18b416b69d58c910caa217f980c5ef39b23a38a0880dfd87bdf8cd23", size = 4193906, upload-time = "2025-03-02T00:00:56.49Z" }, - { url = "https://files.pythonhosted.org/packages/e1/99/87cf26d4f125380dc674233971069bc28d19b07f7755b29861570e513650/cryptography-44.0.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:8cadc6e3b5a1f144a039ea08a0bdb03a2a92e19c46be3285123d32029f40a922", size = 4081572, upload-time = "2025-03-02T00:00:59.995Z" }, - { url = "https://files.pythonhosted.org/packages/b3/9f/6a3e0391957cc0c5f84aef9fbdd763035f2b52e998a53f99345e3ac69312/cryptography-44.0.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6f101b1f780f7fc613d040ca4bdf835c6ef3b00e9bd7125a4255ec574c7916e4", size = 4298631, upload-time = "2025-03-02T00:01:01.623Z" }, - { url = "https://files.pythonhosted.org/packages/e2/a5/5bc097adb4b6d22a24dea53c51f37e480aaec3465285c253098642696423/cryptography-44.0.2-cp39-abi3-win32.whl", hash = "sha256:3dc62975e31617badc19a906481deacdeb80b4bb454394b4098e3f2525a488c5", size = 2773792, upload-time = "2025-03-02T00:01:04.133Z" }, - { url = "https://files.pythonhosted.org/packages/33/cf/1f7649b8b9a3543e042d3f348e398a061923ac05b507f3f4d95f11938aa9/cryptography-44.0.2-cp39-abi3-win_amd64.whl", hash = "sha256:5f6f90b72d8ccadb9c6e311c775c8305381db88374c65fa1a68250aa8a9cb3a6", size = 3210957, upload-time = "2025-03-02T00:01:06.987Z" }, - { url = "https://files.pythonhosted.org/packages/d6/d7/f30e75a6aa7d0f65031886fa4a1485c2fbfe25a1896953920f6a9cfe2d3b/cryptography-44.0.2-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:909c97ab43a9c0c0b0ada7a1281430e4e5ec0458e6d9244c0e821bbf152f061d", size = 3887513, upload-time = "2025-03-02T00:01:22.911Z" }, - { url = "https://files.pythonhosted.org/packages/9c/b4/7a494ce1032323ca9db9a3661894c66e0d7142ad2079a4249303402d8c71/cryptography-44.0.2-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:96e7a5e9d6e71f9f4fca8eebfd603f8e86c5225bb18eb621b2c1e50b290a9471", size = 4107432, upload-time = "2025-03-02T00:01:24.701Z" }, - { url = "https://files.pythonhosted.org/packages/45/f8/6b3ec0bc56123b344a8d2b3264a325646d2dcdbdd9848b5e6f3d37db90b3/cryptography-44.0.2-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:d1b3031093a366ac767b3feb8bcddb596671b3aaff82d4050f984da0c248b615", size = 3891421, upload-time = "2025-03-02T00:01:26.335Z" }, - { url = "https://files.pythonhosted.org/packages/57/ff/f3b4b2d007c2a646b0f69440ab06224f9cf37a977a72cdb7b50632174e8a/cryptography-44.0.2-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:04abd71114848aa25edb28e225ab5f268096f44cf0127f3d36975bdf1bdf3390", size = 4107081, upload-time = "2025-03-02T00:01:28.938Z" }, -] - [[package]] name = "discord-py" version = "2.5.2" @@ -307,7 +195,6 @@ dependencies = [ [package.dev-dependencies] dev = [ - { name = "ansible" }, { name = "pytest" }, { name = "pytest-aiohttp" }, { name = "pytest-asyncio" }, @@ -325,7 +212,6 @@ requires-dist = [ [package.metadata.requires-dev] dev = [ - { name = "ansible", specifier = ">=10.2.0" }, { name = "pytest", specifier = ">=8.3.5" }, { name = "pytest-aiohttp", specifier = ">=1.1.0" }, { name = "pytest-asyncio", specifier = ">=0.26.0" }, @@ -427,66 +313,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, ] -[[package]] -name = "jinja2" -version = "3.1.6" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "markupsafe" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, -] - -[[package]] -name = "markupsafe" -version = "3.0.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353, upload-time = "2024-10-18T15:21:02.187Z" }, - { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392, upload-time = "2024-10-18T15:21:02.941Z" }, - { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984, upload-time = "2024-10-18T15:21:03.953Z" }, - { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120, upload-time = "2024-10-18T15:21:06.495Z" }, - { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032, upload-time = "2024-10-18T15:21:07.295Z" }, - { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057, upload-time = "2024-10-18T15:21:08.073Z" }, - { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359, upload-time = "2024-10-18T15:21:09.318Z" }, - { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306, upload-time = "2024-10-18T15:21:10.185Z" }, - { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094, upload-time = "2024-10-18T15:21:11.005Z" }, - { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521, upload-time = "2024-10-18T15:21:12.911Z" }, - { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload-time = "2024-10-18T15:21:13.777Z" }, - { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload-time = "2024-10-18T15:21:14.822Z" }, - { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload-time = "2024-10-18T15:21:15.642Z" }, - { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload-time = "2024-10-18T15:21:17.133Z" }, - { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload-time = "2024-10-18T15:21:18.064Z" }, - { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload-time = "2024-10-18T15:21:18.859Z" }, - { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload-time = "2024-10-18T15:21:19.671Z" }, - { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload-time = "2024-10-18T15:21:20.971Z" }, - { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload-time = "2024-10-18T15:21:22.646Z" }, - { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload-time = "2024-10-18T15:21:23.499Z" }, - { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274, upload-time = "2024-10-18T15:21:24.577Z" }, - { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352, upload-time = "2024-10-18T15:21:25.382Z" }, - { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122, upload-time = "2024-10-18T15:21:26.199Z" }, - { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085, upload-time = "2024-10-18T15:21:27.029Z" }, - { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978, upload-time = "2024-10-18T15:21:27.846Z" }, - { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208, upload-time = "2024-10-18T15:21:28.744Z" }, - { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357, upload-time = "2024-10-18T15:21:29.545Z" }, - { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344, upload-time = "2024-10-18T15:21:30.366Z" }, - { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101, upload-time = "2024-10-18T15:21:31.207Z" }, - { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603, upload-time = "2024-10-18T15:21:32.032Z" }, - { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510, upload-time = "2024-10-18T15:21:33.625Z" }, - { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486, upload-time = "2024-10-18T15:21:34.611Z" }, - { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480, upload-time = "2024-10-18T15:21:35.398Z" }, - { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914, upload-time = "2024-10-18T15:21:36.231Z" }, - { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796, upload-time = "2024-10-18T15:21:37.073Z" }, - { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473, upload-time = "2024-10-18T15:21:37.932Z" }, - { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114, upload-time = "2024-10-18T15:21:39.799Z" }, - { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload-time = "2024-10-18T15:21:40.813Z" }, - { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload-time = "2024-10-18T15:21:41.814Z" }, - { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload-time = "2024-10-18T15:21:42.784Z" }, -] - [[package]] name = "multidict" version = "6.4.3" @@ -655,15 +481,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b8/d3/c3cb8f1d6ae3b37f83e1de806713a9b3642c5895f0215a62e1a4bd6e5e34/propcache-0.3.1-py3-none-any.whl", hash = "sha256:9a8ecf38de50a7f518c21568c80f985e776397b902f1ce0b01f799aba1608b40", size = 12376, upload-time = "2025-03-26T03:06:10.5Z" }, ] -[[package]] -name = "pycparser" -version = "2.22" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" }, -] - [[package]] name = "pydantic" version = "2.11.4" @@ -785,50 +602,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/20/7f/338843f449ace853647ace35870874f69a764d251872ed1b4de9f234822c/pytest_asyncio-0.26.0-py3-none-any.whl", hash = "sha256:7b51ed894f4fbea1340262bdae5135797ebbe21d8638978e35d31c6d19f72fb0", size = 19694, upload-time = "2025-03-25T06:22:27.807Z" }, ] -[[package]] -name = "pyyaml" -version = "6.0.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631, upload-time = "2024-08-06T20:33:50.674Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612, upload-time = "2024-08-06T20:32:03.408Z" }, - { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040, upload-time = "2024-08-06T20:32:04.926Z" }, - { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829, upload-time = "2024-08-06T20:32:06.459Z" }, - { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167, upload-time = "2024-08-06T20:32:08.338Z" }, - { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952, upload-time = "2024-08-06T20:32:14.124Z" }, - { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301, upload-time = "2024-08-06T20:32:16.17Z" }, - { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638, upload-time = "2024-08-06T20:32:18.555Z" }, - { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850, upload-time = "2024-08-06T20:32:19.889Z" }, - { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980, upload-time = "2024-08-06T20:32:21.273Z" }, - { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873, upload-time = "2024-08-06T20:32:25.131Z" }, - { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302, upload-time = "2024-08-06T20:32:26.511Z" }, - { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154, upload-time = "2024-08-06T20:32:28.363Z" }, - { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223, upload-time = "2024-08-06T20:32:30.058Z" }, - { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542, upload-time = "2024-08-06T20:32:31.881Z" }, - { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164, upload-time = "2024-08-06T20:32:37.083Z" }, - { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611, upload-time = "2024-08-06T20:32:38.898Z" }, - { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591, upload-time = "2024-08-06T20:32:40.241Z" }, - { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338, upload-time = "2024-08-06T20:32:41.93Z" }, - { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309, upload-time = "2024-08-06T20:32:43.4Z" }, - { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679, upload-time = "2024-08-06T20:32:44.801Z" }, - { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428, upload-time = "2024-08-06T20:32:46.432Z" }, - { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361, upload-time = "2024-08-06T20:32:51.188Z" }, - { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523, upload-time = "2024-08-06T20:32:53.019Z" }, - { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660, upload-time = "2024-08-06T20:32:54.708Z" }, - { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597, upload-time = "2024-08-06T20:32:56.985Z" }, - { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527, upload-time = "2024-08-06T20:33:03.001Z" }, - { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload-time = "2024-08-06T20:33:04.33Z" }, -] - -[[package]] -name = "resolvelib" -version = "1.0.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ce/10/f699366ce577423cbc3df3280063099054c23df70856465080798c6ebad6/resolvelib-1.0.1.tar.gz", hash = "sha256:04ce76cbd63fded2078ce224785da6ecd42b9564b1390793f64ddecbe997b309", size = 21065, upload-time = "2023-03-09T05:10:38.292Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d2/fc/e9ccf0521607bcd244aa0b3fbd574f71b65e9ce6a112c83af988bbbe2e23/resolvelib-1.0.1-py2.py3-none-any.whl", hash = "sha256:d2da45d1a8dfee81bdd591647783e340ef3bcb104b54c383f70d422ef5cc7dbf", size = 17194, upload-time = "2023-03-09T05:10:36.214Z" }, -] - [[package]] name = "ruff" version = "0.11.6" From a4d3d09250054ae06908aca7ff08e804e8a2958b Mon Sep 17 00:00:00 2001 From: Niklas Mertsch Date: Sat, 10 May 2025 22:44:18 +0200 Subject: [PATCH 10/17] Docker: Use bind instead of COPY for prod-config.toml --- Dockerfile | 6 ++---- compose.yaml | 9 +++++---- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 57a6ce6..6cc658b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,12 +9,10 @@ USER bot WORKDIR /home/bot ENV PATH="/home/bot/.local/bin:$PATH" -ARG CONFIG_FILE COPY --chown=bot:bot pyproject.toml uv.lock ./ -COPY --chown=bot:bot src ./ -COPY --chown=bot:bot $CONFIG_FILE ./ +COPY --chown=bot:bot src ./src RUN uv sync -ENTRYPOINT ["uv", "run", "run-bot"] +ENTRYPOINT ["uv", "run", "run-bot", "--config-file", "prod-config.toml"] diff --git a/compose.yaml b/compose.yaml index 103b2df..f0caa4c 100644 --- a/compose.yaml +++ b/compose.yaml @@ -3,13 +3,14 @@ services: image: europythonbot build: context: . - args: - - CONFIG_FILE=prod-config.toml - environment: - - CONFIG_FILE=prod-config.toml env_file: - /etc/EuroPython/discord/.secrets volumes: + - type: bind + source: prod-config.toml + target: /home/bot/prod-config.toml + read_only: true + - type: bind source: /etc/EuroPython/livestreams/livestreams.toml target: /home/bot/livestreams.toml From 636f142be831003708fe1689a9c70c275458b249 Mon Sep 17 00:00:00 2001 From: Niklas Mertsch Date: Sat, 10 May 2025 22:48:53 +0200 Subject: [PATCH 11/17] Require --config-file, drop CONFIG_FILE --- README.md | 6 +++--- src/europython_discord/bot.py | 8 ++------ 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index f34c683..ee03fdd 100644 --- a/README.md +++ b/README.md @@ -28,9 +28,9 @@ Configuration files: Arguments and environment variables: -* `--config-file FILE` or `CONFIG_FILE=FILE`: Path to .toml configuration file -* `DISCORD_BOT_TOKEN=TOKEN`: Discord bot auth token (with Admin and `GUILD_MEMBERS` privileges) -* `PRETIX_TOKEN=TOKEN`: Pretix access token (preferably read-only) +* Argument `--config-file`: Path to .toml configuration file +* Environment variable `DISCORD_BOT_TOKEN`: Discord bot auth token (with Admin and `GUILD_MEMBERS` privileges) +* Environment variable `PRETIX_TOKEN`: Pretix access token (preferably read-only) Files expected in the current directory (may be empty): diff --git a/src/europython_discord/bot.py b/src/europython_discord/bot.py index d087bbd..73f4335 100644 --- a/src/europython_discord/bot.py +++ b/src/europython_discord/bot.py @@ -49,18 +49,14 @@ async def run_bot(config: Config, auth_token: str) -> None: def main() -> None: parser = argparse.ArgumentParser(description="EuroPython Discord Bot") - parser.add_argument("--config-file", help="Configuration file (.toml)") + parser.add_argument("--config-file", type=Path, required=True, help="Configuration file") args = parser.parse_args() - if not args.config_file and "CONFIG_FILE" not in os.environ: - raise RuntimeError("Missing option '--config-file' or environment variable 'CONFIG_FILE'") - config_file = args.config_file or os.environ["CONFIG_FILE"] - if "DISCORD_BOT_TOKEN" not in os.environ: raise RuntimeError("Missing environment variable 'DISCORD_BOT_TOKEN'") bot_auth_token = os.environ["DISCORD_BOT_TOKEN"] - config_file_content = Path(config_file).read_text() + config_file_content = args.config_file.read_text() config = Config(**tomllib.loads(config_file_content)) logging.basicConfig( From 24359588d96be1aed0a17431049db1bff0545558 Mon Sep 17 00:00:00 2001 From: Niklas Mertsch Date: Sat, 10 May 2025 22:49:56 +0200 Subject: [PATCH 12/17] Dockerfile: Drop $PATH overwrite --- Dockerfile | 2 -- 1 file changed, 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6cc658b..b502f67 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,8 +8,6 @@ RUN groupadd --gid 1000 bot && \ USER bot WORKDIR /home/bot -ENV PATH="/home/bot/.local/bin:$PATH" - COPY --chown=bot:bot pyproject.toml uv.lock ./ COPY --chown=bot:bot src ./src From 907b736f39527a1e4e4e5dbf6acc2191e0d41295 Mon Sep 17 00:00:00 2001 From: Niklas Mertsch Date: Sat, 10 May 2025 23:04:39 +0200 Subject: [PATCH 13/17] Update livestreams and schedule-cache file paths --- .gitignore | 3 ++- README.md | 4 ++-- ansible/deploy-playbook.yml | 6 ++---- compose.yaml | 8 ++++---- prod-config.toml | 2 +- test-config.toml | 4 ++-- livestreams.toml => test-livestreams.toml | 0 7 files changed, 13 insertions(+), 14 deletions(-) rename livestreams.toml => test-livestreams.toml (100%) diff --git a/.gitignore b/.gitignore index 381e872..e20118e 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ __pycache__ .DS_Store registered_log.txt -schedule.json +schedule_cache.json pretix_cache.json *.egg-info/ +livestreams.toml diff --git a/README.md b/README.md index ee03fdd..c4f552c 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ All configuration is server-agnostic. You can set up your own Discord server and Configuration files: * [`prod-config.toml`](./prod-config.toml) or [`test-config.toml`](./test-config.toml): Prod/Test configuration -* [`livestreams.toml`](./livestreams.toml): Livestream URL configuration +* [`test-livestreams.toml`](./test-livestreams.toml): Test livestream URL configuration Arguments and environment variables: @@ -36,7 +36,7 @@ Files expected in the current directory (may be empty): * `pretix_cache.json`: Local cache of Pretix ticket data * `registered_log.txt`: Log of registered users -* `schedule.json`: Local cache of [programapi](https://github.com/europython/programapi) schedule +* `schedule_cache.json`: Local cache of [programapi](https://github.com/europython/programapi) schedule ## Setup ### Quickstart using `pip` diff --git a/ansible/deploy-playbook.yml b/ansible/deploy-playbook.yml index 44deda1..cb11564 100644 --- a/ansible/deploy-playbook.yml +++ b/ansible/deploy-playbook.yml @@ -5,7 +5,6 @@ repository_url: https://github.com/EuroPython/discord.git tasks: - - name: Enable persistent logging for journald ini_file: path: /etc/systemd/journald.conf @@ -15,7 +14,6 @@ no_extra_spaces: true backup: true - - name: reload systemd-journald systemd: name: systemd-journald @@ -94,9 +92,9 @@ owner: bot group: bot - - name: Create schedule.json in bot's home directory + - name: Create schedule_cache.json in bot's home directory file: - path: /home/bot/schedule.json + path: /home/bot/schedule_cache.json state: touch owner: bot group: bot diff --git a/compose.yaml b/compose.yaml index f0caa4c..6d1b448 100644 --- a/compose.yaml +++ b/compose.yaml @@ -4,7 +4,7 @@ services: build: context: . env_file: - - /etc/EuroPython/discord/.secrets + - /root/.secrets volumes: - type: bind source: prod-config.toml @@ -12,7 +12,7 @@ services: read_only: true - type: bind - source: /etc/EuroPython/livestreams/livestreams.toml + source: /root/livestreams.toml target: /home/bot/livestreams.toml read_only: true @@ -22,8 +22,8 @@ services: read_only: false - type: bind - source: /home/bot/schedule.json - target: /home/bot/schedule.json + source: /home/bot/schedule_cache.json + target: /home/bot/schedule_cache.json read_only: false - type: bind diff --git a/prod-config.toml b/prod-config.toml index 13d4a3e..a89dfdd 100644 --- a/prod-config.toml +++ b/prod-config.toml @@ -33,7 +33,7 @@ pretix_cache_file = "pretix_cache.json" # UTC offset in hours (e.g. 2 for CEST) timezone_offset = 2 api_url = "https://static.europython.eu/programme/ep2025/releases/current/schedule.json" -schedule_cache_file = "schedule.json" +schedule_cache_file = "schedule_cache.json" livestream_url_file = "livestreams.toml" main_notification_channel_name = "programme-notifications" diff --git a/test-config.toml b/test-config.toml index daf6bb9..4987d52 100644 --- a/test-config.toml +++ b/test-config.toml @@ -33,8 +33,8 @@ pretix_cache_file = "pretix_cache.json" # UTC offset in hours (e.g. 2 for CEST) timezone_offset = 2 api_url = "https://static.europython.eu/programme/ep2025/releases/current/schedule.json" -schedule_cache_file = "schedule.json" -livestream_url_file = "livestreams.toml" +schedule_cache_file = "schedule_cache.json" +livestream_url_file = "test-livestreams.toml" main_notification_channel_name = "programme-notifications" # optional simulated start time for testing program notifications diff --git a/livestreams.toml b/test-livestreams.toml similarity index 100% rename from livestreams.toml rename to test-livestreams.toml From 4c59923a1c20a29627ffd3508113b75e6216d353 Mon Sep 17 00:00:00 2001 From: Niklas Mertsch Date: Sat, 10 May 2025 23:36:11 +0200 Subject: [PATCH 14/17] Registration: Improve accessibility Use plain messages instead of embeds, use ASCII codes instead of unicode emojis --- src/europython_discord/registration/cog.py | 62 ++++++++++------------ 1 file changed, 27 insertions(+), 35 deletions(-) diff --git a/src/europython_discord/registration/cog.py b/src/europython_discord/registration/cog.py index 681d4e1..73f15da 100644 --- a/src/europython_discord/registration/cog.py +++ b/src/europython_discord/registration/cog.py @@ -15,8 +15,11 @@ _logger = logging.getLogger(__name__) +REGISTRATION_BUTTON_LABEL = "Register here :point_left:" +WELCOME_MESSAGE_TITLE = "## Welcome to EuroPython 2025 on Discord! :tada::snake:" -class RegistrationForm(discord.ui.Modal, title="EuroPython 2024 Registration"): + +class RegistrationForm(discord.ui.Modal, title="EuroPython 2025 Registration"): def __init__( self, config: RegistrationConfig, @@ -128,7 +131,7 @@ async def log_registration_to_channel( interaction.client.get_all_channels(), name=self.config.registration_log_channel_name ) message_lines = [ - f"✅ : **{interaction.user.mention} REGISTERED**", + f":white_check_mark: **{interaction.user.mention} REGISTERED**", f"{name=} {order=} roles={[role.name for role in roles]}", ] await channel.send(content="\n".join(message_lines)) @@ -147,7 +150,7 @@ async def log_error_to_channel(self, interaction: Interaction, message: str) -> channel = discord_get( interaction.client.get_all_channels(), name=self.config.registration_log_channel_name ) - await channel.send(content=f"❌ : **{interaction.user.mention} ERROR**\n{message}") + await channel.send(content=f":x: **{interaction.user.mention} ERROR**\n{message}") class RegistrationCog(commands.Cog): @@ -167,7 +170,7 @@ def __init__(self, bot: Client, config: RegistrationConfig) -> None: async def on_ready(self) -> None: await self.pretix_connector.fetch_pretix_data() - button = discord.ui.Button(style=discord.ButtonStyle.green, label="Register here 👈") + button = discord.ui.Button(style=discord.ButtonStyle.green, label=REGISTRATION_BUTTON_LABEL) button.callback = lambda interaction: interaction.response.send_modal( RegistrationForm( config=self.config, @@ -181,36 +184,35 @@ async def on_ready(self) -> None: reg_help_channel = discord_get( self.bot.get_all_channels(), name=self.config.registration_help_channel_name ) - welcome_message = create_welcome_message( - textwrap.dedent( - f""" - Follow these steps to complete your registration: + welcome_message = textwrap.dedent( + f""" + {WELCOME_MESSAGE_TITLE}\n + Follow these steps to complete your registration: - 1️⃣ Click on the green "Register here 👈" button below. + :one: Click on the green "%s" button below. - 2️⃣ Fill in your Order ID and the name on your ticket. You can find them - * Printed on your ticket - * Printed on your badge - * In the email "[EuroPython 2024] Your order: XXXXX" from support@pretix.eu + :two: Fill in your Order ID and the name on your ticket. You can find them + * Printed on your ticket + * Printed on your badge + * In the email "[EuroPython 2025] Your order: XXXXX" from support@pretix.eu - 3️⃣ Click "Submit". + :three: Click "Submit". - These steps will assign the correct server permissions and set your server nickname. + These steps will assign the correct server permissions and set your server nickname. - Experiencing trouble? Please contact us - * In the {reg_help_channel.mention} channel - * By speaking to a volunteer in a yellow t-shirt + Experiencing trouble? Please contact us + * In the {reg_help_channel.mention} channel + * By speaking to a volunteer in a yellow t-shirt - Enjoy our EuroPython 2024 Community Server! 🐍💻🎉 - """ - ) + Enjoy our EuroPython 2025 Community Server! :snake::computer::tada: + """ % REGISTRATION_BUTTON_LABEL ) channel = discord_get( self.bot.get_all_channels(), name=self.config.registration_form_channel_name ) await channel.purge() - await channel.send(embed=welcome_message, view=view) + await channel.send(welcome_message, view=view) async def cog_load(self) -> None: """Load the initial schedule.""" @@ -228,10 +230,9 @@ async def cog_unload(self) -> None: ) await reg_channel.purge() await reg_channel.send( - embed=create_welcome_message( - "The registration bot is currently offline. " - "We apologize for the inconvenience and are working hard to fix the issue." - ) + f"{WELCOME_MESSAGE_TITLE}\n" + "The registration bot is currently offline. " + "We apologize for the inconvenience and are working hard to fix the issue." ) @tasks.loop(minutes=5) @@ -242,12 +243,3 @@ async def fetch_pretix_updates(self) -> None: _logger.info("Finished the periodic pretix update.") except Exception: _logger.exception("Periodic pretix update failed") - - -def create_welcome_message(body: str) -> discord.Embed: - orange = 0xFF8331 - return discord.Embed( - title="Welcome to EuroPython 2024 on Discord! 🎉🐍", - description=body, - color=orange, - ) From b632cea101ae70d2396a382acfdaee3a8c081043 Mon Sep 17 00:00:00 2001 From: Niklas Mertsch Date: Sat, 10 May 2025 23:48:47 +0200 Subject: [PATCH 15/17] fix formatting --- src/europython_discord/registration/cog.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/europython_discord/registration/cog.py b/src/europython_discord/registration/cog.py index 73f15da..ea121a1 100644 --- a/src/europython_discord/registration/cog.py +++ b/src/europython_discord/registration/cog.py @@ -189,7 +189,7 @@ async def on_ready(self) -> None: {WELCOME_MESSAGE_TITLE}\n Follow these steps to complete your registration: - :one: Click on the green "%s" button below. + :one: Click on the green "{REGISTRATION_BUTTON_LABEL}" button below. :two: Fill in your Order ID and the name on your ticket. You can find them * Printed on your ticket @@ -205,7 +205,7 @@ async def on_ready(self) -> None: * By speaking to a volunteer in a yellow t-shirt Enjoy our EuroPython 2025 Community Server! :snake::computer::tada: - """ % REGISTRATION_BUTTON_LABEL + """ ) channel = discord_get( From df49599ae72c75a4a31ba5a8e2fa4354da4c22a4 Mon Sep 17 00:00:00 2001 From: Niklas Mertsch Date: Sat, 10 May 2025 23:56:12 +0200 Subject: [PATCH 16/17] Fix emoji insertion on button label --- src/europython_discord/registration/cog.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/europython_discord/registration/cog.py b/src/europython_discord/registration/cog.py index ea121a1..7169a94 100644 --- a/src/europython_discord/registration/cog.py +++ b/src/europython_discord/registration/cog.py @@ -15,7 +15,8 @@ _logger = logging.getLogger(__name__) -REGISTRATION_BUTTON_LABEL = "Register here :point_left:" +# Discord's colon-syntax `:point_left:` does not work in button labels, so we use `\N{...}` here +REGISTRATION_BUTTON_LABEL = "Register here \N{WHITE LEFT POINTING BACKHAND INDEX}" WELCOME_MESSAGE_TITLE = "## Welcome to EuroPython 2025 on Discord! :tada::snake:" From 84ff839bf8b922427e6042786715808d1f69b515 Mon Sep 17 00:00:00 2001 From: Niklas Mertsch Date: Sun, 11 May 2025 00:10:57 +0200 Subject: [PATCH 17/17] Update README and screenshots --- README.md | 22 +++++++++++++++------- img/programme-notification.png | Bin 0 -> 24993 bytes img/registration-channel.png | Bin 0 -> 92584 bytes img/registration-form.png | Bin 0 -> 28645 bytes img/registration_view.png | Bin 398102 -> 0 bytes 5 files changed, 15 insertions(+), 7 deletions(-) create mode 100644 img/programme-notification.png create mode 100644 img/registration-channel.png create mode 100644 img/registration-form.png delete mode 100644 img/registration_view.png diff --git a/README.md b/README.md index c4f552c..77c6066 100644 --- a/README.md +++ b/README.md @@ -15,16 +15,19 @@ The bot has the following extensions ("Cogs"): * Registration: On startup, the bot posts a registration form. New users must register using their Pretix ticket data. On success, the bot assigns the appropriate roles. * Programme Notifications: Before each session, the bot posts a session summary and updates the livestream URLs. -![registration_view.png](./img/registration_view.png) +## Screenshots +### Registration Channel: +![Registration Channel](./img/registration-channel.png) -## Configuration +### Registration Form: +![Registration Form](./img/registration-form.png) -All configuration is server-agnostic. You can set up your own Discord server and use the included configuration. +### Programme Notification: +![Programme Notification](./img/programme-notification.png) -Configuration files: +## Configuration -* [`prod-config.toml`](./prod-config.toml) or [`test-config.toml`](./test-config.toml): Prod/Test configuration -* [`test-livestreams.toml`](./test-livestreams.toml): Test livestream URL configuration +All configuration is server-agnostic. You can set up your own Discord server and use the included configuration. Arguments and environment variables: @@ -32,7 +35,12 @@ Arguments and environment variables: * Environment variable `DISCORD_BOT_TOKEN`: Discord bot auth token (with Admin and `GUILD_MEMBERS` privileges) * Environment variable `PRETIX_TOKEN`: Pretix access token (preferably read-only) -Files expected in the current directory (may be empty): +Included example configuration files: + +* [`prod-config.toml`](./prod-config.toml) or [`test-config.toml`](./test-config.toml): Prod/Test configuration +* [`test-livestreams.toml`](./test-livestreams.toml): Test livestream URL configuration + +Used cache and log files (will be created if necessary): * `pretix_cache.json`: Local cache of Pretix ticket data * `registered_log.txt`: Log of registered users diff --git a/img/programme-notification.png b/img/programme-notification.png new file mode 100644 index 0000000000000000000000000000000000000000..35b714212fc39b50b50064bd72239aa723927a87 GIT binary patch literal 24993 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 literal 0 HcmV?d00001 diff --git a/img/registration-channel.png b/img/registration-channel.png new file mode 100644 index 0000000000000000000000000000000000000000..b63d9d871ca4ba806b053763114d0cdd930ee00d GIT binary patch literal 92584 zcmd43WmJ`2_dY5rAdMm=B_INB8j%Ji1OzFOO{X+S*QPrKR5slp?WVgMHb^(p-Q9H- z&-1>&bN*+X59iA{4a$uE!fg6OD=9!fp>j$b4m z`22}T=c{+-Wze!}h*0&qh`Pmjskpk5{O{l5Id0cC=*hE?Q!7|cl_N)$)T7hoeOIR* z!PTBvTf-H>!-THb*xS|leH!YWpg*HY_#%&}TYYb{upUx>^`^x0z5DrBG8vRA^#s-P}bxX5YRh6AZ+oc%Msph(E1T!gepiG7dYF?1ejiYXS0 z(9njRY`N{t$vN)M@Y}5!2}T23n9%fSsA8A0P43^`IBpD^9Iq~SM}xI|H4td`xV;o4 zAAU>w%Ead2QQ3-m#n;=Tp}xfqxnb#NBs^ADy7L0(CF>eh7E>pA&;nk!i=N|6Zd@v% zAMyO3{v`5p?v81PPuDtct_|q>=hxOwbXHq0u2?o)*Xy;t8m1jwTtFikU7aXdJz9Pe zaJSMmLu`Bhx0`hFVP$4xW5eW@Q=`&-PfE>Jx%A)9c%opyloKDK2Si0FKSXngWQ>?( zR-YM`e&hRFz2bVmWBog=MEEm!=IRrpP;%bPYM6annyFw2zDOV;ctT=>aU*M~&x!{z zj1$f=$|d=Kb%+qPz~luDH}8MM#N@Bt&(<)a@TB}`1t ziM6)|hUoS*w0p4rGZ>@f`E^VzY>VUKZwZNwfJY+PqWbP^>FjTg&bC<^lV)#$cVx z5jvG?RP4Hr`qFBjsIsV?YIs09P5JCwFA`6$+mDJz6Cd}Ejz$O)6%-Xm8*W8;IXnKs z{}AWa*nBGVxb>*8ybVwKDxx3c*WCyoLrncmm!Rs;gPM;;&S+?Un6u&F%?xTOaG(AMV+DyY*dg+}sYjSa`A-a%ybi-)u+N9IX{- zX$i^8sT$=e|7O4J6TZDq?Vf_8gOAWq;lYE?R$3GAkx>cDkH*IGqHv~_|D^X2jV0DH zrk)BKI<0dS2GAeNJE@AFU$K1~vSXr0E%%pKp%mVn#j6u_=5z z5tQGXSfg`M(pUc$r=YHUd7({OXM56qC7Pg*2H!w4+K*w;qpsHe$jSI=N<*RU=J2^} zs1LeF^Ul$LMDm>X#$veR#FlA|{pK5uMa@d9{b|Pvhb@v{!UuP7kmh6NJ%Z6}ZU<5sS_$5)u&2Xj`RkGLSA6*j3N3mml49JTnQ>ZVJ~SQZB!noZ%6 zhz)6Tra5Gx9GAhwL0M1`V|jatqV3!lxi)x_rB2niH6&5;Iys+RWrGL0pk`bD8^WK2 zT<%v-KeHqYAh@PTc^h4D#AyQisWZe(K*@e>yYD@3H zKb3IOpI#qnLW~2FaZkM=X1Oy>OpJ4(VW1C}^u2=i?JXEuFE_fEk69;r(zL9ZL zsv7ksxLqGJON5cP9f95a!oP33J7f7$HsNRl>cXBF_2zxKn1nH32GtM*S|4h145Ovi zWl+q`izZ#!nB>BQtX9mrTMncVx{El`}g2S*Ap|R-H>nGvoJz#c=e&p$>yDp||T<+77!n zijlqyRKo5yoe>!W=^c$vp}*Cb2R}pot4VaO32p*IQLBH#hk3 z;nkgEfWIz`*G(-k>hm(z%PJd*J1zVr9j!YPL{P$3aMpsbTXxv4#qU(H`?`~FGGsGQ zuHRu=TX!w~lWh!AP>Z?Q78+QbkU;w8Qrq|X%KJr9QvJJk)C~6u{O0u1pamqrRkm2` z#|a3AgoWHAG~^AIe|UO^l^8DTUtFCF7X^!mG+RHunX=4kHO(Q=o=pi1Wbnig9HXv= zK$U-!2)UMSTSGp|QkIp%j&q~AS7efz5pQd2uU>xaeTNy76wmrKLNus2bE&@eg7Agm z7nvs)fqCh?w!{e4%Z)VTvW;hej(NKn@BIuN*==!!z9cv4ZlVIs3esDBwWqc#NGU1W zXeKvOF5;(8?bqa8*rO5!^*2gYX(}o!i;GRGVv+=S=^fwKYq0o!W+ArQ7*?&cQB!;Q ztl`Ugu2!9%xRkj@Pe`jl_h=}kVDIzR7%a_}CkoFEzEuAi2)@6+k0Gg1XE>B!E20rB zW)~J5x)rt@3?EIGNInSOu;1iPN9i1#@^6lDYz=(f0~!6Hf}FH3AYx{~!}%tLJRsa$ zVj3rZV<4W2ML_?NKpm4{!SKyS>yw{9KNVH6@3LKvd`~r7SZGp}B98n0RU(^h)IWxj z!|rT>4pKC*N(>K@{_t~WoZP}uL1!tOecVDBG0A4XAyf40zK_TX5s|)ls(^#N!jFj6 zCs~O6V2&GVV|!^d$!LR=ZkXV!ixRi)C}v{S6@=?z`=5vi`F&1Weew?r0?h8RiE%#3 z&DM$Epzrx?2nc=}NJ;MfiLYqQM#H1mXH(8sp>waly>YnO8l=M-rM;!%Zn>sys%&SN~N>+Zy%+n zOpkHP%dF|MVPlm|Fe}SiPFHUSP~irexMBO-88Gk{FD#;m9IdSh89O^Tg#DR$p;9xP z9v8Pr#yx6kU~Rp<=86#1^g0 z!UO)kzAvgY)@Yv+bo+&+-+M}BTIt>rH9Q;|M$ux0BVT9!jUg7!Raa`qj+q|+IRuLR z?6r)tUI`Z6E3XaRfpJR;1cSzHzWS}2U4e?nEv~V@yy*y>_%n;olJ0dzSa0L!;F&iH zJT4nD=CnQDfhvV5X>!RoO-;IN$IgdlqJ+}19CX~m9zuqXscE545n4z{)O&I92l;f_ z4d(ZhIWiT@ul>i`{1PU)){(fg3qZ~G|qdRmG z1kU4`R5dkS2(UO_xu?Ckx>`$@6CkfcU+hm!?g;yXPp9o#L}!PR^~K}15#*J+%N>_u z*#HDn2LxnaBH_!EZ+_(Z3wZ@6$R8ksh<(_daTBDpq{kGN_tpC4aa;M5UQRIk`qM$Y z;^<~=0r}Hm>%Jt`@AvfsgEumvkhh6=l#V;A7^&Ug=#Z3ht#ErzME)9IUyjb%ZX6QUqo zO;t^XwPD7zY8dKC<4{&#BafM>Y@i(h^!=yD-KKQL?Ert8hjU|G9dzp!@n}52rigp7 zK3R71tns805)U=2{A{k$4~IY@5aJM%y5*OZE64*h%JD*LY1oC+ce?EiD=n$_?Jd{T zFJ9>VnS|oNWfFMoSMsag)SNP@*Atb$K+m(=ol!q#JNxkA!*8Y!!|Wu5h=qj@v8Yfo zxLTeuu4YyF=S9kLOhfD;@y~k-cB!HP{h;s*A&L|&N5g&QFIE#KT#LeJG;wxD5?Xvf zr>7Ro1VeEo9!2%XmSSOGP=qvT{4&6+i2TzP+&rmLmFrOB6ZA9l9mRF(NWtr><)93P_AVA!~y(6u;?;`2i=Hvub#iQH)sT=e z?KzL*)mx^&N+-rjP|DZFg=aZ6#e8TjZ$FRdJ@uqp^yti%Dae9&FiVe)!O^iv><(9c zH{4X~kjyYgG0XPw;`FoLSBHF!DJ-2EIK;;>ilG?EKi|y zwd!H@)*i3$SpQLDYh5s^>`S*G~p!`j|~hsagK6a=6rjHFOK3xfX8PQc~lYQ9B6;pNNB+sj?c0_!gL z{KN`k3)>c|oM%A;b+EujTgm}N(mfm60G#os=h^vcECy=#QoVd}sDxnd3KN5q4gQwi zXhBsv6`w=QZj*4Czs}Ck3kfx`?fPPb3nu1N+bECP?V~%QWYQabtl+g?M&=TV`r}6X zMHi?980eJ&lQQt)q&h6`W) z3`~&zi%!U+p@8Dmv^i?&&mMA#Y@Sy_@#|V9e)=wdpi{^p$DSc^V^*d=9mLhbBxnz$q;<)1ZllVSw=Y5M~jp?|8 zBqfc-Gewuoe=1y3k|mf;5vsDR+XQcEZuWbhB68eRgGI~|Y_#>TS7RdG0lS?&A*1ck zd2bj{1{w|SqMtb+^Eq9XJ@lQ9im}?H%G1DaZfANqr!y|v z)d!$3ilFQ84RodmYXXpQtj^^$>tkNs`4~R*O+k5(#suooKJp186*xJcB#cOGhB`t6 zUf8csK8V9Y`GH`%c}_`AUS0~bZ;tqq&1Q$3z@jprbX)doyUhiJ!!H$tC{)>U0aUI9 zvxUE0PA7%mr7T5mk+QK3lT!}ZPZV<%9!i~fp}&d|C*%)6m^Uz9=4Ovlqd^@i(^5L+ zxi1OZ@{D8Fa$cqAebZGYRh3>(~4!PX>|j z_q85RI{RuHw|Ja`1I!Ks!yuD&bzaQ*gzIGU4Cqb9LK=>K z;ADM%dUm!bH{*6%2a*QBJ{X8~;0<0*8;HtEv5!|P@s{7uZZ4-%KG2)Mg$)5>Sb zB|C4IF$dsLH68t+8%a}1M1(?6UWgchYB>Bu{F}0tL}}^n@0VlR#Pw%-+&54%=bNi! zz2$7%w$>vvP_FF9&_+_2J=jDU!XkQ_heh}D&M%J8FOP`ZbHXpyxzyY<5SGVlAVa1C}P2Hd-I0YiRwKdY47t7V{fkNtPIycz|6hE`5 zD3sq9gmlX3Vqc7j{Utzwf<=2Uy!@LYgYRl z1piWXCJ7bX~vWGos;cL9LcNubO` zZ0U{}ki4q)I9SSYK3vJ$4drxP24(!(G`bCbTfQn@!&JcSGMR{$YtgSt;;%Y@vBJBQ zUVCE!BMf=(5=PF;=LVa0JPi^9#1g73HmAQ}_tR?yVF*d-h~aI!?<15g=2?&1#X{Y# zHxQG0`F_(iATTzV( zL$z(rc_c_F@7!8xt%FXu@c=}9_65SnhsJ39#5@N!5$EllmY=`g4A=F=7jt@bWOwCj zuKR+GaK8iQv=qr$dDBIn|S^A2X_j4_-UhiK& zz(@r(XH%7|3Rm~xBu*Auhu~{J=zsURtQy8;HyaB{F9*OxcisP2=QAZ}Ij@?6And3~ z@wqA4b~*XGBjmUAT<14|A$oKN{{y=SA2 z`QuVfH<|4~+x0L8VP3OpCp@&5z6JcRb;@X05axLvB^DBTW)Fm&olHj-2yFxesrzsY5#*GVMQ)c4 zEu!uh!u#LM+)fN7YaEh@S+ziL!#ieL@CWgva?LPbcw;Q^>C>mVH<-!(mr;?C>vR~- zLY{qH6>w*lOIGb7S*-{7B9i*LE6693B?=K#*CiZBX}o|n+~uBeI-F}t1|;%qfwo88 zJ!?_GgK5}t5{Ysg{rD#GzWuDmaraLme}m($3Y$@HEuhuuUkIE~vVa(zxw_I9qcFEh zJY4=83eGcYfxEby<3noS*O*Znq~^2rnw|TApI=T~FGlsL){^{;LO|2rE>$tK4 zqG%;##}?>8JTBTm&d)!ts^VOVK4;T4@Z_NWLn=u5jMzS-xa28lHu%0a%CF|2?xTVU z-1Sg=v-{yemuVdjKo3PE5K}X@lJ$SP3&`8U{eAjY!S()Bf`68YQClGMm-u?}``r_W z`60j$f|Pe%AQ7cCWUJf2qSyca7m@%I<&J{V)I|MweqQ0bW?Fjn@%jvHrbM5LC&rZ+ zO|ksFHhGnTf1czc&cFNen#*F+>EhB68)y4IA(5InMUOWrJO8TzvzOq}B|p9Ww*~ew zpu+KOR==e4Y9)2b6D2>)<6n2?$goa@5S)sK2V^#maWl}Q#UpBQ&_~j2+=A|!X(mkn zS}xUk|KI=*FMN=q!n%p3@VVRiKUaDFZMF3W+F|34)s?R|E*!o2=bw7TRM`N`w0X2a zkvH~M()N9L!271|?gra0a+*f*&zK^)V=$xeqro6^Xkq$EB!w~(X6yL*Ge{J5?+4{K2Adt z+G0sx9Ft`eyKLBPJPpfaVL~u5t78go4`nq-W!1rCBG|kbR^ufl8T@Ck80?v3K_8 zF+^Z94kyoZzAI?;Y=Spkr3KH^zIPF*Hkc~7Z3MjtmRyYi;jj2l9^B`XiRDPocU`|a zUvBaL^~h^yrjGbSx#cdisfvn*YH5myjEnR6bI7Y)`b?M8b#5bBYv;D&*b>Z^W?FHt zHx`rMNcmGMGjffa(vH{(%*!22^&97WUodGZvozX(Ft)g#{eAy|e`s>VH|1qwroh0p zS0QcfxG{n*LQyScoV?Xl;i;yD1bDBm5Vf}9w10T}Q&GaG6Y|h# zTS>D@lfM9iAag-aU)Or1^Si#)Jhi$AQ(A|Q+3TOF#C+tT@9v@zeiq{I(?+;10#Nw( zSuM5KK*MjDg3s4UU{L;%v0VWP6_tma9F@FAvD1f>p0Cp`ZEbk|Ps3!pkFt;B9r`CI z1ut~?7#K)~8fP0GxSwng`j|NVPS$?@5)GUDzO=taFEXBf=W`2J)+$k>Hg!S7L6_># zH|7K$oOM_?YT9?YUm>Z(-@i|1%EqH6iqjPL8!}v`ylc_v1I(*}jB%;ea?U5C)P@-$ zci?qHTXlPdH5|o?ih~yA<@58J{W_(yEr^xgNl-h!Z-0?5(-X*rHnlU8UNNJi7eF0fU9m#y#Ku9!OLI*@3r3QXJnjx_{Zdy-9p8H5wWDHU7WO;g z^E)(dfO*AtWXFN}FCtY9SBbw#=1_#`4a$zdZEXz0Km69jpbY1e+yH&`7>cgHgH6ZGWZzycG>5>rxWyPB;=Q`6Q)9~sFaThX1|-=8$#W-y=6SOwaBKZV=Q z)>$-b^kFJ`m_1Jj_S9rra_MCff|G4mi10}H{-!&;u-gO<9u>tbj&r?;R#sjnP9sLn z6$xefsbs33ui(CtFTy3>#-=qf+u)-ns-q)8A`r#z;m-R7I$mpKa6Y%V_c(pEhmmN= zYPrhqSFsHfxBU?h-jG8sf_xg1sW)%{2)C?^i~#@lov=XA&&p<%TNXqfqkbD!m%U3H z5FUGjkjDF|*2-Gm^Yg~FcM;8)j=c0M^yFp?l*KfVZPBQ1WVC;PV^H84<|+{f^Y8sO zVs(*@p8;9Dtgl!Tpp(`1@$Y;Hx{-O;SNA_JxtWy-`tOjmL-_5M=jP;NHqS67DzV>| z;p>fQPB`=9^qn|6pM$Qh)!-6&DKE>{LK%9ZfyGoUfqB+Lu7~a;;UFYf<8VSplV_xz zt}b0CKACA>ytLY$sBdk3>XhW#=DUIPXD6w56rdDcCE2whgI1KzRvdMj?=3Us7pt2vH zRTWl#==DBesVSD?wFH@Mk5~>8KXNLRr46em`TpakJ$`r2L$F&OZB3PE zUJ@I4b}K3%8%lOh{xCB=M)hS_q-Ro<$r6N_{vow8hzv0Eo~gTRVx_Jb%3OBldFF#c z%*0qGJT=B#?eX`yOgJg$yA|2qI4wxo1ZQjCR!+&DEilS{iOZ?hF9T^ky+wWpY{C!I zh{RPa*3y_Hb+(3Va%nugUGGVqiiIu#cs;vygbm4dzb>umY(c`OOZR2n7E^Sp_(~gd zbAhP)IpVRAk#-q1TgaE&Vg-i>E8-K{N8h+E*x*2ebmSOb#M1Y^DP7rijx{Z&PD*E9sm z>F*)9t?i)!X=RyKBaLzS4Dnq`j+q;Vw}3QY4NUe6DGV|LvH3 z^hDh%WW5Q7Xk4f>f~4%j!tZRhfXxYYIGYyYy^k^^k~p;G7>TnXBY7whjt;TI{5DK6 zY|yG>aOLxQv+6!X$l~#9t=-3WsWxGL7{2+CgV|1%Yo)ZBa+fyaJf%bQPCGMEClR`n z!a_?o9t@%4chKnjO>8VsopK7aB9EwXt*7Cr8$<5$tFNm$oE-oYDSLIzzj1$qgI00y z7bG5AtlVaIf^W@xhV|}|crsEEGMyzL&e=bCHYr{q7hS}IuNr02Db4ocfBwezU!1w| zB3GSiT1az6s{WyHhR|Skm5l{ z7)5k(-s*=hq>*E`UjI+`O!A4=d35&bpYu%fFWl3SU34$nHK}`;9&o+s2HU;c$28G@ zQRd3p-~@iY>$kpOxf=if+cQ>Mzj?^mq^xm1UbG1ND%$UImoo4vsyVE+kDS=D9(U-3 zN=ii|%sKEUkab4Hb0q)kO=*RujI5s*GaZ6RvsT5@Vsv@;@sR&okfoLrmomR$dHY+3 zHc5p`9~6d?f~)Ls*39#hY;a{S(fV#b#Q$rl3-=H)w?%b=Yuk^}=gfCf-2V z*8U+3Xa9a+%nSF$3k=tyzB22ct9CAME4{~14PIvEl44W3&LqB1eRNBz@50e-@89>f z-+iqs_Mw_DEN$Rcv%x*RUb})Qh4w#|`DA&Q6A9Cp9syJs?Oa`IY9QJII}RHud87a~ z?ano(`8DU(>mNS&zkUX-Uw$2lA^PL^{>vWL+(wP-3mhc^quy6y3jmeX)nb9?2H`jR z=X+;DG;QxY&?Ep+u{Yphe`xnrHz-0sryC|k0CGTCwhd|wpGB0+(aFB3prj0iplos* zDzF0$Okh~b*qC@)XcOyig)CG#8S8b`>DK-K@$A+gkUZ`msoklmiFLKE)PIiMYUPZr z4GoEUDmD38zw>}l<<|zE_+(^Yu)I-H`SyY4xgW7w?U|mmV4{G>+P*yf%?*Y9Wj?EN zy@tj9ObJ#B7OdfJ&ld2d5lmlSN&EVXL~in{@G|9d8scGvFhR7RO<8(MCa~M?WDgga zn8co=VtwgKNtxTq;Z!j1{rjT{LrO%;?_oy=y-a*mK>ozJcp{%T_Ok>Y4|iv4sXH{8 zQdK-2k=l|a8~<6W2)ivU4Tg-HDmCFY+%J!Vd7C6!8#eXJt+PF-V6$QMlI$(jBvk3a?ea ze7MAWbr6>uJn&z6jVUv!;r5kJOgd~&J_wuQtS(?e>!4t>l2oc#14yY869YqnD8U6( zLqoP$Gy@COo4}T6UWcI!HqJMa*T&<`3$H+Suaj7cegEGe zTB;?9QNDl#hkeXe6YblWi`d;R7^&D8;2G2wSLT=(8iiB~7+cYl9)k@O6F+|1!j@7Z zub6SPO%?!a)tt##QYbkLS<)yf+E+nz(57z>RWwL;)Mkr?MSF_kQL(ELg@nuDuQRKa zzDj_`#m4%rcXob_K}}*VzPj?++SsKv^a9=4;M5U79z7OTFEeE>>9qBs#8cio!R@CQ z=94?6BQdU>q5UW5w&X%w#?dvihy1-rmD}|*G7aCVvkw$6OVj<5*3(DtiD5Sq`|wPW z&oNAd?%lhl7$QgSZb%fyD2HQF-Zw0v~5&t@Xi=>MJ0 z3@vS0kH}hGjpLPlz7w`}Xa9VCJ&Gxjvk*A&G>;!o+u@W2wt00H%g}<;_-FL;ZbA42 z8x97>)|2Vs;YzQ3Sg@;^zFx<1@|wYVk0$hBJuw)-OWE|TBuU&s4c=%sh7e>EG(d)e z0^$4|HP;ESb<=R&Iy_BhD?L@`veXrTG5$ClNmm)h<&#?YVnGy z&XJd${THa=%6|Xugss!XlW-}pLZd{v1h&HQg4szHcI;Kg8!8&xaP&d@7oDMDPb4G_ zHRQ>&_2a&~1nOho+>&lbTINmeqbr0@T6J6E5i8ecgY#Nt7Zun+q=((spoRVdJCLl) zG?p(wH!_M@iZba{Cg?94I5|aodg7XXRXkvjX$%dKCR&y0+Z`-(0p`eDB?=tt8tI1X z&Qm8gPnBB;+pRr1H>b)cF8jm!N`g-1B8HuShzOcmyMr_qb#CJ*rRU+vx18k}e!k=U za}`67GJkP-x!^KeJf+*-J$~{-EX)gSv+ns_K<70?#db#cM^hnLzYKy?i7!GyFkjoByMG4@lHO4D3)KAqcYIV72oR>zk;rm? ze=nQigU;N;-^9MJZI7I+zTr}|*hyL7rs%@V{<${=C-mjgIS2vK7`Q?GpO4qQU#@Sz zxLbBz%D;q(#{GlYr8zll6G z$7HB|XtqJ$*f=`-tD7Ch8}t&L_dQ`Bj^ggDF!=P}b+!C#9U5YN{+x&B1&x5ft77Tb zN-8tM`Vx-KoVRGX4L5;0)V}AeU!n1P48-yIm{)m8ma`!!fMUkDTs& z`jNta@ZLYchw$HR_0h7VnyY$tOV#A$`%4-Wsw9Gp$X z1`sNNGvOw{F!y8OizL~@PQ$LRPlq@LQ32O8B>hAr?%98UnbAs*z;P`+8k!Q#PEV^} zt0pSa%vL9p*bk2pfb@5+dX>MK%`#W1|QlizKfJD;SoB%fc z{OoMgV8a(-?iUktvpsdWw*K)Q&;%_JO_W;%#2t6D28dr=U*c&@{r&i{#$jf)@0M}O zV{eYSPR8wBB0IY^?1BK0K%(K4b=W~42RdFFOqOa)sKJeT;Zvpitx2p?x2wq>>jsZZ zZvM574=>N+Or^CnT`g`x1Eb`o_uEX6mBN1u7kP>$9>7w0bZ>sE??n;CIjh za#dmsm{;b5I)+zjXF!L!`?spb{Tc%Ms(-xSwbxE&*)_V5#>Z)!7B2TzNhw^n<;QXJ zp9G){?y4sjc2{J5D|s03pVDLLa@QlW;~F&8NNl>1L~cM!{^N6=G8rcDfQXWY^OY&s z_1((#NAo9a{s=gEBQz8g7>VN&6KRK9T4)U}#io)gm`-Cn<${luR469dF#HL^WxeXJd#{Ca@%;&rehb~)F+3k?il}wf& zSKF;ya-9MlvAg@bV$X_-TOgtT^7UPlMx8sPAD*~hs&NifyKpQDw&(9M>FK^jtOKR7 zc=CRZ=SbR4g-(k<^b3DTaPYAz)1bNL#Hf>-D~Idxh}MLfhW#dL61AymSa-d^=8W85 zqJNz<`zO$H9#rBD4z?qiB!9%wNy<^tW3_hRDV8YZt1WUo^*B43EbF!64_ArHm@O4f7GMHlC+zdG1_?{QKTTXVqKdborfANry_ z=1jdCI)B&A^=%vO;uh?l8W1wP;R_oH!zzJ55tIT>#$$-Sr6-nu zE9taV19QJzoNV8+D-jZo5KNtd^Zu@-&{$<1%wu$Qb%`?t-d|r|Jo=jZlsG#0$7l`t zlP6&m2UC`(*XOI+Y1a~ASJgoCJT5g{o~nDXpme9I{ITLzIzs;tyKEj4hmqi=%zHDS z@Af8iIotd0hb8@(@gj6(?spy@86+t|G*aOmG*D(pcTpIw3pQul2>E5j(~o( zUe0Ut&7?I0a_oLCF*+8nmEOegF%^flABjef0XPgW6v+5ZLuG_b{I|W+bZ&+dT;kyl^F~F`#W| za5<%{d(~uCV8Q-((El`>_}(j?#}3;U4}DOUv=S;EN+Ta`g99&#vb`GB8O`jP#uRGlOX}M(3v-ntn-pY>o+6K4~=Y)Kc;Oo$?_oNJ8&&gG}Kbx3~7BhP}a0mh{>Z zt43Kx%{q-Y1w|TFTGTq(7R$)!k*5A9$0Cz7$2JD7-%EanepFUb`I7y20SOJ6|3P`Y z<`tCpRU<a1gV_MnPpoXc|S*w-Wo`^P-|VUH$E#A5WNwHCa)Z<6uaxL8Iy* z{EAUn)dt8eV|mP!>+`L4{+@G8Q?uEOeEp-z%T~D9^|N6eo}KN1@ux32k6519<3{e- zu&@a}61|qwxIK(c`q?gEyy{T2E++WA(hpW;1Cr6#8N0uRC~?g8qnNR=1k1H(gpFK2 zl8$F;s`mU^l~(Iu>rFW`YCu4;G0eN)W9*b(c#)qf3Of!~=;l9^%!e3}DeO%!I_KUK+QC_uT{qQ1`E4M`n#Vz-ZVaWS*1hm1S5#7BGEx#=&c+=)+x771 zH&Uud53?eEeHJc!bKTFb{IVR?A$+=~LCG<`Pk5F&&u=946GvXLjkTTKY^vzbVL{X5 zjWSc|1m_G>UX_ZwoPyns&&b8qQDYzSz9=$MsVHeA1V3N#`=cd@cD@}L^|_sE5~V?P zSp=!TZTfLEtLt6PB|`z`;rX;ejVx z7f`^q2WcAyRXvw_b6MHWuHTOFz%#@V4A&s@X5TmQ7F1R${cQ{j-pIk_Lb3S^d{)=| zaD{pA7{^zmnSPjQe9#+}u2671UYE@gOjk&hIo}014mVId9?(9vn1bav;!p>g%26n; zmbjs!`kA6UlCZMc&h@NmxY%fb@~2e8{InWGl~P-kqt>mh9~e}-L#9_GKNRv7Cb82Z zI?~cF$0-{kDq+WQ7Yav|g0L?BxN!#s1wk>s42j+YFy7R4P$}?peb2Cru2(>jqU+~R zPSH$#uAPZPcs*>>wY={`w8hC(UW{9NsKEKJ7BF!!ZaG4Fc@*^73~@LiWaMT?4MMJ9 z;qCl=i}DGHmF&2@dRY>FHiU1Yu5rnEiCdkE@QE)wLMy`Cj{LLXA0(9Zsvng%x(#m0 z;GeXR?VSx~O@6@M-Nz;8VWj4I+q}4t$%9IBejC4^cfJGCGo|6^Fey?%#pmY!+OV-+QMO%N zL)D2uXFFa^ZX+7m8Is(U#TRvi!v%&p)x2K-PJw@C*UAuGHlSglwwhF~ z3IADI>jDD~SmunIGX(#P%4@xladAZWCJ(lH3?}F5+yk=ldQ$&zP<*8xD(X5S#ZmOe zdQcat8(O1#Du1noD=n|-e7eJG@Htl}b$3HC!FdUwlppKDS60udsR!nLzW%tVE^cAr z7yVX@j%0aZ^#`tr1^gPwHf5&259evy3+ktGXm;#fSlB`l`5H{N^9B7dE=O>vIEXPJ ztPRWv*D{i7aMb8y{iN^5+AkwNJ9k;QTp18sIhHkhdwT>_hLUl=)25;RL-j8*D+IjP zEHeG}F4aQY`Q5M9P}4Syn?VK~LDv8ZET_TksfuKod;;gb!B+T)MDMa~Krb7U+c3l8 z_=jWJ88BbT@B{}DTHk%(4;2mM-|;Ri^k~pIeamYw%B!s2c7-7vj|x>5CQ27J%m~Z$ z^zMw0TOk*O$@HeV^HzZaF>2`K=Jj?u42rl~w6gXun2ITMJr|`2AnUsHh=~z$%S_gm zA45zRr6ZedSP6NKB&QZ3Vpd?_Z40BI_8_-~dK#o3Bh9F{C|Fn_^^;nP) z>sE@c$3bd{?)RD!fT>U|!|RhN#@LxaM1EL_qB@=Yt>@m`^+@1*Hckpux=J-@R@C$* z*zsBvr7Kny)EVdhq0EUCcK;^uJ8E$adwYv0yuWUqy}6zRv$!n^NqCX!o;nNqMG0X?y&~rM~sX)DhY1|rr&jP25ch! zritejk^T%OQUV;`T9xl>5718RT$j^Z)be zeF|Ueo@BT($|)tN)u}EL&)~pil;YJvjbLtm4jZWED%N{N|&7 z#VMTRRjb5UQwZ?;9~aXYdi8gr%t8?w*Jq2GxTov{hXjq2V04G*Y0oqO`tt@@8<$eg z+TbJX*p;0cb+B!aFm-Q1;lE)+)^-;@jLI;QJRy1dZ0;B9MNLij@}yUUtT@nGCXn1u z(;);jR?~2FoM&&C>E+}sF@OC0#K~E*)HmaHVIQ`YNlg21hqd9hK0hhqVLW#OBI6agGYh2*z&ZXbE8EN0w-~YiwmaXOr!5X8_q8Z#ke1CP zi^3}8iCx}D3&Ufr1F-$SwpMaPIa7BG15>d49TDbn9MZMUw_9*&6|e zA!)afdnz>!b+r|kyxF;Gu*LS@m6cu_OjyJ>m;K`pE~hx3i;6I$r(fo>TJkyW2-vAg zDgr`>+5zN2NU{aALtd{PplNH)GBCAi1+!=D3fCH*tVCd2LoE|$s_k6>ePUuCV+Q8m zt(D8q)=iE}p5tw`Jdr1aMS_8I%q8KQ5ez%+n1@P=T-csiPwLz$IujDa?LQpY8o=V|9GlI4Aq&zjfDXdn zeO$r2n~p`TqZq#(RA~dMRnwTo4UtevuM2%V=q%|e2y06k%6ArTxx@XmufBsbM$feK z)Auz5F#cD<7HTt~4RyE@P1vJKGRR0CG-P`S$y3He!zB-n1PvX)-2-9AzHp{E9T;^a z`~Jg!0yH8}(F4+Q6A~uwM#Mkc?~rpDZnd6^FFQLQS}{B=ISMCJ;wgA~{I>P_$|ph* zsIpifwE91?-!M8yGRy)=SCt<_gB?&hu(E1@S5Ygs>rc@&?rL5@mLBc*zNT1SX1Y&4 zio>|X3z*%_H4ncIMr4ZJ{=N^k0VPBDGjGuK}3D2tAQH#uN?a7*|tY__^xo^ZMb&I78ZpH&ox$F}emsP3SnY!aWrBOvcukpP4KD+IMMk-|Lv^#SRj;{F`5k~LMLS46gT74oE zR}`IABD2d*<93a6GQTRMz;e#7Ll`Sy`xw+;Iw76xt&&YiFO9(5mxrbO*l>c=;hzd_ zi%BNW%}6-&kL2Q?JgZz_In<}yI}jm+jaYa(?ZJtZo|}Sez&Q9 ze;L5swYN7Xz_sgAo{(s$e%A6*u}hrYwxxb3V_G8k7>cGs?@zQ)sk`>*#NwRBHogo1 z!BH!yGSw9RS`8HdDbfgyB4gg({22dK**@k*F)(ib^T+#@6{1qh-RnW=Hwj)k6%WvH zjt{YXGxR3AYespf%i8EdtVf;q+oC|fOXPDW<_7+K=Rf4asQ0J4zRnaHMV8h`PXVnU zkZ(9&o`K$|p12y zQ!;{c_}$|t$7Exmuh(1O&FsldPxot$i(hP}wGB0#uU?fR;5UMXFl6UP0zm5+bNKfC z8!LYbHc_!%54y6(<(8Om|KO2L?pc#kw50g$?MVhCiy@*Rd6qQXO>^L34A%`PRjdru zuSFYc%fY)Lc$Pk}YJL}W+`zVaB_3VNc+1jbXmguj&fQ=>Fc5L^tY2Z4Yo+I^@ZGT`qjdev z1(}<9=nd2x{n*X`yxpT^4!tRuFmE`7+y|n6Dld#lTeN^Ihy5SaePvWsUHGqxN|#7W zNhu{I-6$9c(m8ZUcb9;abT>%%&|T6nbayj!cXPLI{qMRT?#H{Qq=LU_GAefs1tStr)i7nrY!rxuDZ1j16s{j zOv(&d@`{pQ`Us54NGQ6xV%Y&V>I*T#!I9OiRgpJodU#)Jm2#()7#qBW$FH?4ck|11Q&u$q1#QGQa;ER-Rg@}DdG^$nW)3o`a^e(FzU@}s4F zF^M)NS<1`HAKiHzk0kNhTYBaK2$C(dY=#+>3|HWP27O2azy{;k4A4_H%BD1o0m`W= zjZF2RJ(!gLDVhAeQqeO!JY{wD%T`Rp!Pkl3fIIrO6;se>XludH7)23J=wgu&5%Z4f z>3cO`SsLN8-pV*mLJ{yQ1y=BzP6w3 zVr^HQTXR4f=n|IJ&Lo;0%>=PqZu>ZD0nh`$rHa@0E_H=zz;~W1R!*Jwrll=|unH~T z&MR)Wo7Ft|eE3M{-{@nnv9mVRq)dY%BP&bCyt7s$rUZ(``Z-#T7mYB0zR40YrEsm^ z`&_LbXi`=HN5IbKB-~XdvQm8nBqS^xqM<-MD#N$653B(Y;9C}sQLQvVpSqoh^5wOI zzn)@)_pG$J!a-UL-_|CK)DDvMs*VEK0FERgqTb5W^@LJ<^ifl)yNX7({r*QEW56Cv zA8-f*B4JH!K%2&P{1Cr|aMvnIEY%O=F{)IUTnE~~s;E$?6~e*yq$k`gcGfsh0Eu;u{!^x`?xjnfy<%gB-t(9@Fw z8-Zh%f8dV(QE1Ljp7_K+ul!9}33ZkAgI4eU=J*XHn3~gkez+;*15k+&{`<1^_mB{G zkU;@BpYgv?_vt@rLY?dVN%vd%4Y;^bN3wR{n-%<{(*MK%{l7`D`sV`z-t+&Gk|pCy z4@Bc~jee5kN$}1WVGP**H2cx=ign(wN@p7#WR0%2C z*RR`GT@K(e8UyifRi!2f1zc7^;=@d(ty4JLSGn?HFd!Zo$olCxIf*5;Y@wB-Gmeh* zAtNJ$cpJO*erXUJA|P;Q6s@k+T32tgS=yJNF_BFynKT3054J^{$!v5E##MKOk9|o{ zHy-I=V=hilzJAQ?pG*54*B@Ay>-msoL4+2Vs3^q(pD9aa9s*?d3M8X|q!NTjy&TH2 zb){PCE_C@K+SKf5h%(y*A_QTckTgKEI(0h@g*p*g$+0{PisR!}y)*fMnj)=c2?ts! zpw@yTp(|Hok3~Zzk{>wn#d_s8Lm_ou_4S_M4SpJakBI2Ld_Y^A%DUPuB4U<7zK}&a(wsB(%4XHQ&EXMV*@BUM9yPnZxHD0COm_ zmh-2e6gGo-z{w1aptD!d6WjG?m(o!wh_qUeR|Hf1u+-wV-*XXcB5%-b`1XMxojWfU z%&Zqdob%y=#KSEHk+pyNBIK{{m7jn6MPK!8=#y0BKle5O08mRHl*|Yw%T2}?1D&lh zZ=&6VHQiV_jOMVrPV33Yj)3WBW0S|pzF;JDS33+-;Nn#Zv>-G8ca*G*%vhxT!rawS zkFlv#?%^PQZRsyp=M>LJ`OfA#HCEQY{Nr^k^f)uj6!G@!u=EQ8K)rGV;w(zBjG&ZI z;JZS*r=))EI6B)RqpZ1B&@wu-!pE*?Hj*_LTY~fRbKXxphEHT{&HBc)!(O5-R@SI6 zSU&1{)Y-P+R{)v;zpEy;0W>k{?dio~1c(>$FnIjL+mB&vo!Jr)=bUDINy6=+f$U1U(3tGp!TFaRDyvmOZPIE zM05c>Gs6QZ_tqm>6DQXXua*H0l(y!4zPC_gjgPb7R)^URqG~|=Pl|x+8o(9=?;IYW zpI0u^Nmftkp5Uqb;K)pw8I{{CgshzJ9 zplQK#)YHE-yPL8$6TW9^gH;Rw>OOx(^{qcs;FOI!9uM z_#`}B1~9{vu3)eI5XZrY|1`wr5ZCTC{)2J0?>Nc%RB^(EmwN_?&Te$`~spu-71 z>h0--4ro;Vz#{-6Yit9LjaF1zbG1b2zS}&gc!Jw+ro8m52Z3O8M7OKC4#h-xL+@jgavQ5JteCQaJOYkAhr zas^tYHf1aWjKoZk8deBqPO-kyIaMBy+sH6zOOgfsMZ&8+RIcrR5#T*Lu8|iceww92JyKjsF&gcY1 z8g2XQi`+58gj*N?h}oVuMc(J)Vs@f105ugWgI!C95xzdqUL$OSWAJ8in;7Y|`E~uT zUtcTxTtb8JYUvjLZgP{!LG^_`f!|rl_0-y^}?sPYO_VdIkX7icqg-9ywDI zueeq;$Q^S%8KQm3&uD7$rO!V$mMcRC-}CiPwpwFoAgc6~L(Tg{#`fnpT+(a5Cp$~uh%1pWXjqwE_!KjLI1ar8>L*bjs;Ql5e=o0UE*qtgkCQw*!ShtU z*jqrd@;c=y*kX5H$K6&5-M(0ZReVYs-AJlC`I{dcF{!wC;4i?}NWG zQaK)=w_l2-R89@V{DJ=5wKG$_EimF9?Gl?bB{^OkU^|*A0k{`r?X=tcX=pGc87GyD zexmfVFOQdgnPIXT@PG?x{PJf-l~e|DBA8}7EWiV#Fj$^r_eEglJRD^}$$^@bHVl3# zFpZ;@(H}^r%qr>lnyqI3!IwDK`(b>Q@r1zWCr2#_wld)RuN9dlkOfsRYs#K!QC8qxRvHh-YutQrhIrZr%O%OqR~) zmqjHh*a7!|%!NvXzGT9`HLRAxf)U*uXJkuS(q8ZF8M=@>eA=3zrG>mt^r`A6{pOz2 z9@4QW5}(4pkM<`t+<{+xp*sxEOtYYY#>}S_Yo4Ah{LYQxdM}2ybVGp#I3 z;lly>_EpOt_fO0YK^DLYKOV@|TkFVeDQz5$8kYH>k?d^~|9TUKg#$nyKaeeQzxtCc zhk+bZf@|LOVyP3W6hxDBK)zZnGyBVJWT4OmB?AeW zey%mBMq$}x$m88WTd+j5c)lRDl1Qf*52e(;O;6%F&V8%7y+3=Isv`D1Pp)uO8ZxEp zOvvH!C-V|%{AK42Ii!ld;05H`M8#_?wv>Ac6I~S@656LQ!HCjR@grDBdsW}t-2{jl zieMDQQa_$mqE>_4!$^oaRZft7C6XV*_yNAg=)8}(eCfx(Ye*iwP91UO8;<2f?qd^4 zwJF^J4=pkQm*+T{nQ)7dlM~D3r%M3IdZY9;t^cJ(r8UZ`9lQTOB}7SD$q?Zw75VI7 z-ydn1kZerwnMS?CCWxaD4sFTSORA+O=5V#Jcr}a96r6-^{1K`Yfd!V(78X(iX+*K@ zBuT@^HEbhUqQ$?Lgj?=zr~dnVG(D3L#J|_WSk#wL?*te?^rNE`uYpLs+~o3r$;ual z!V4#yneqh@Z@HHLkJw*;8d9^?dx$~U-k!;I{-+u7;Upxa^U%`Omz*tyGv*|>vY3uT zlp9nR(R>5g5`oPG1$15s$;lKLeW5Bb5aq;5YOckzy}4NE&H)3Hu-8~ZE*;yhRNpo< za4c;C0oFs`bZsVxaSLP}`FSdIBiplkPWEUjSU5PoW1eL?AAqP`#H*mXlusHNq-v4` z|0*n^=bcesGtj1oq8-X0;(eCThE2I`#M5`Sqeqs3IJ04o#kJK{Fx#P$KO4)}@S^8c zYpXQn{WEZZ!Up7=?CW`9xTVftp!7Z3Cd zbtStQnQ?WcRaJsaHkRGfg{tfvES@cC^r~otAjV}ahu0~hmvS_V{kJmJ^p=$#H%G7j z{YtAhs%>>?-w^41uOke~r@L_gF#96|w`Naq=&XvuWR3Ontk#x0SI4q?@Bd9X|15kI zhRg!oY5~pxG;#L1FaLB z$lfOVK}!Lfpd@pn^-zJX%M z>ea-3cq4!`xu3SKX5{OzJ{6t&`z{8K6gx4397)!xI~v7^Kdo!+BCOixH6vq8*<$It zK)m7&m=DNEsyM{J_uxnTNu$neP_~cu*Mp`-eUvR^tJg|^_PnD)t)WA+i@#G}BVuyl z?(VwO0cs4=-jK?z*ZX@~==$v>J!XUZwPD{WUL_VHK7Ipze>#;!B4_EE05l*H#26Vq zUs7VZZa}ncxL}E-?qckZ;?q#eDNvKd&BIAkEwnEYu?qMJ1^QnO>F=K=m^T(Gyj0Bz zYL3khZnhx!YYXm|wSxoTIJU%Ew@RVVMASFvcR9mX1@$Bl;M;F;u((`fXpK z8jO`1eh&|p%;uflw*3OPPZ?;n1`jryb@Y-;|7={%bQ|`R79pneD2?9}QaWM|lTn93 zqaL%vWojVz`HosjYI~9GlZ})dSwzmA&d6JVHM1M=Kq>kmC7bqVqi-|>7GawIqW_G>u z0-TVkl2S%)?t7=J?*PpLBkJ<(^21+;{jJqIw)mLhqNoQ4*J}wC#SdRR=^p?iPtB#F z8vf;F3it66z(U&=1PLbM`y^UA&kUV6Du2#K*{Z!c{OFPi4P0LOxuU%^-@3FY+#|NV zog+KF*P3quce@?7)V35(jjFEJaJ$6aey%Pp?LWb&@P(E2>5kse8@feg|nNJ%W%v!Qm<*w%l zt9L!AdNE-W|HM0UAh@x!^ImC%4$rsNWHTl7!k7Dde2j@cA$H2%@&@U_`#P9!$-;~}WsQbB_hKfWta#%)=GCl^=H$yVZ2aEQfRa4A%+|#9~$o{`Q zKnYI0+#)OYiZ8B-_(M~?puF3%(EG^WPhzNzGb*fuGYj(a&cmK3^P{6jIE)lvDB|Ia zT6S%nsM46U;GkkkJAQs@061`F1WV;-$uZ$70tbP@hKGx7I+TozqB8FMw|jN;*j+q@ zA|YR?IMhC-Y(p)%h*TaBe_#Hk2^7v=BYamIYG!Uk6Yt&bq$N3y@hd@mGTj})_}So? z&ukR+?!;%8XBxTmpSM1uVFe$1A?^kevMC$q1oLF>3e=-0MvpcTdD%ZBc$(;MKPSAp z-?Z>Me#6LUE9^+vZzi591PzA_c{sW5r)BbF&XS_U;$J(IV87FF~ex54bQ zQ}*W!YX2^%3Eusvy%G%S=Z^FgIw)X2!4fLM~~h~MFW zw%)f`E9q!9?5(=LWrEgr?C0aL4=sW+C3}>t36mJ&k-(2y#Kn_WoGib#rKUXW##MX& z@ewaCEtTg=d*(n_R||ac36fbM&8IDMb0sb&9Mnj%*OKH3Y#8o{=&&_H!+e{<`K4*2 zDaIB(wYUMCY+`;$9J$%+wkshl#dl_V2l(nr9g2($CI>c=?hn6UwS9RojVQjJpPRcm z&GQ|*P5#$d)ZA=6(ddZA@9%FwdM3G*-g2dA0p?@N_c;a*bEG6B#@gCY8Re6$C;&Tg zT(TvQ`z8E_Mdgz^eXC4@^zd0qN}7QkzTjBpk$&n^FGxLXU;99#gEdLM5>5nYCTXkvzdqs3=sT9P;0*zG`vb>ikYU z{(4aaqlR_J4tpB`{GBk?j~7;YX}d4S5&!%dITH6O?A^?J@ag_~(W)!TzcN6H?63bx zz8Xr8V~SrQ@Yg#EcTp(POf&tze8U=6MGWMi$RZUbrMenN{~@I1N}>NgDfD;L3XT(} zgbS8iujudyVpNo301NW}@f#x}h|N)O3M_cSCd|xC{nht|hKTCTJOHkc@=+C4nr&U= z`LC@hX#XHa!Jy3(FCdVdeevH#Tt`t;X4lD42djZ)4SiXx+Db`j^oI|jhldt`!#g@? zz@Ne1)|UEaO9=`25lC+M|99ckJm`&MS=c5ne#~q461N3ez<;Q_cF0R&wVGp0Y{1^P z;{um6Rx2|9e|IIZr`qbnH!4cV+(QI++aG>)8X9Il=+C#t?A7!d2;8j674Pi-`{fr9 zDB7)e?`DXAwe~yl&X{QVvGFgAFXY$Y@XklnAES~5zPXIGa( zGKAc+x9ww-Opsf{fB*j4rENMFIrJXxcGs+}o`^`gfkzx82MTDIZwSHe>S{*|-1`k< z;WK;PS5Y)yhhc{}Mn<&jXnj?srFu&sjc~S319(zN`IqTB#uVkHB(_t=D)K32boKS) zlK3CB3u$?Jwh}Ydl!k@<(7S6~+9vjsf2W^6FL3AWoyldGsW?wya%D|>o?4) zwEr!v^qwe2hJv>$Vc_;2hk_j;cAn(~8xDd$l*~nn1OVF~hfqq(-fLlD;nUT^&;v6T z5vBCpCW;-~($tn)hgO4%qN4M}+Jx{Kd`ERL-$I$nDY+C!s9Qg_7Ltec*8(OKc zq9`E1Gj=vMS{@Y^?*8%-7S>YQ8_9OJ?b9Woomt%{>xI<(DlXTUUYNrKN}YJ<-shww zHj(+ot=*Ln7mAIcp+g25t9K`GCD`Z#eM72`$&`W8oGc%49tF*RXai|fR z^^N=>JOA==->Un2Y9+<U&uJreZ&taw4Y-yA*mtF{Nsj0KtUce~Wu#8%9l}4p9L-`0~)acl0$WUlhy5y%?HnVzh|?imY3KH;l0Qy z3imH;5rlQPNLQ20TESJV z#${&#nwZ4q>1$lg8adk0k(_R7r#lqIR$f=?cL(haC~S=~Hp=d@r}*=1na2KIEQ1vk z^|kW^W5)Ex@n5DYl97UgIiwyN+2|LSmL?4{Q*v?D2h?JAO#W06VD4`n$zBSl4`Fyk z$g~}&sbx4X2$A6a|>?)R;8nw(? zi7q)Qv7R5Stc<`FHZjp~>d@pMFVYKD(=r5cThEYXFvAg!N?ZqpW!X?)9c`pp?ZJR@ zvfu;O#^B%{?#h;q4o>?ELW{lW+Se@nIHBft{YW`wg@p(+Hp+@(hezUglo-S_F)13r zKbIXT$MdtWFKTMC5%gLdl^6$$50$xRqnbC;N?LtzTXrnJ7d!63=I8IYq!CI>f!s^^ zO>k`N&+dI|m>Os>E;S8!9GJ?-H5o_gY zsyKapjNH6rB?z10;4d`+MHT$hL`#!eb^-$j2h2UNAgtwTeA8CXlB?Y%9n?QBbp7*35S(J`R5 zsO}lOQm5=O`(&L729JP0&zYYp`rqHq*LeM*&T(B}0Waaqg3j8ouoVZhCEHggn@aSC z8G*DU*o@HTc>iQ>LzpOS_n~0;EkXyLHp*WYY?kMr{zMHG5*fW43EibSKMVKu7;Z=! zE=*rdW44ixeX2?uIe9`S9qV1mcD!q{Wv02D`_=IwgAKc-tB~RAtZ}^J3fpf+Ms##^ z*qn30liVF*v<+d=*6gm6MHARme!5}Rv6SHMSmKcX-ThSa1V-v71)0nwIN6mWOXu7? zrz7)TEez$GA?BW2A;4AP;)SQm=VH2JNuLlX%+M#{(rMVTFD`V`wEZ63WD=!M-=3z| z0d|5fEwt?HGJ%e^-!edkCO|UDs>;i8bzsPt`|7Hy1B&K}^fOc3jOz8PzdaCWrIJ;u z_UeSaN-t^X>FX|!Q@9)s$TZE`e^Rw>Fg?uw;c8id?`+% ze-;ltTp&}=x%*@4$yJefn)zMeh2fiaML`mF&7HaNhbW>|k{$g|KiMDqJ+$ji@6|c( zYh^{Fnh5@c=p80YYrODFSSOu6<|O{AQfj{S-1*!v+h$*L)v0M%r58^3y$59VpKDhq z=g8sd>nmt;iA#X9TvGV0*8=0>nC6ctem)FXU>`i4QL2Lpr2qSMoJXqei%FfUKJ$?X=H zxa@yj|MYXC#D#?!>BKmIIU~!M35q%vsg_A`~La ztK1s(26@hSEN-syNSfba%ALYi6icxeTJc zgA&KuDI4`Rk_~_J3p7MZi<&(9w6ol^8{VnZj!WQ;wz)H|s)e1yd|cc4mPY%861w>o z>iTm!&S9RK`;|lz?+3G_pjlGpMg@pZkJEBJQ6%}f?9Fm(EC_wvl>zdJB(`;yE@c&! zjv4c&G9b}mc<`h6g;XLJ3&6~jmA$~hR{;RMdg3u@*%kW2M5S~!Zf9rq2`b)8VQ5d+ zd2gIxz|T)RJBgtn>)rt2ktdvbh@6@l{Ua`3leR)$IoIpu+5f1*FzK8w?dQV@xy$IpPyCy3&H;Kq%xJw29x zhl++`Z)1~RnDhugL~4UEm*3fDX!7P}xwx40uWiTv=|A<}!ViX|yCy zC3ZDqEUIjk#ASE3=chPwGOtVh14Q7n-IKdanRP9bLm!M9Ze^s}N?dDdTBm5{pnQ5T zo8+$akbZt}&|J(8iwVw`B(?l22%KAmZghkNQxp{};B-F(3tt2JJiy|yiQh_5I_6)q$ z=eKsy+{^U0>(TWG2G-WrW04EW)jl};Q`Zw!3suW7KDA&zaqKmi2{%zOn}H{-5X)ST+u^p`dmFwT zoi)njx)C+jO6p2qx^)@)bKSEi<|>A7MX|mu|KQ{P&1G<|{8Jh?l0XP9%^pgWc#lT+ zmsG3m92@5HW7*hhTV^9e^#&vI_&U4Y{(e%};mL_!f=wN(s{Wrd$@Uwn!iz)#u(b{r zUqs(gBR5@4)jNLvI{04Nc`G*?2%CO*16RKEJXyND;@WK#C8e`w1$cyt#{};#(xFg~ z&UY_NfP*=_JVpcI&6@>)B42>e3KGFaBIHt`5=f2veJ_o2omIZ`$1VH^jj(=%?evzR zP?h418n&;i$ZT!{#K$ul>j{dkF2UZd{u7)W%^ALUw;U@&g8eDxZo+e-qN*1Fvj9`r z4<#eVqJw@Ik)zZ=d?XDUdv?+5Tyf27M8!w$BE&yJslea-PSgeZ3@# zy`+MUT{xStP6{%?ae>C+2$o(IHY(o{DQZ{T zd^b(KYyg?_ce@MY)xqvbE*^?s#kyY&C|m75|#9Fi#BVxeXMZj$J?iGDevz40K zQ78p|Qw3;%tB?P?SZCog_uS&w!HLQ2rj919$McR6`*uk3ANIBcU>15I&PmU%B^)SS zVW>p~b1XN9=OXmU=nT%&MXQD>X|()e{q}tc+Z;B*=4U7U<6$I9>7}q%A*;HDA>*^z zhuZ?g)u-1>QUYwV6ff%|O44KNk~b{iZyGPc&qWUo4gl~=dO=No((w^v|ft|x~8Rd2gY1{OCgLGGG2 zs!;=8sXA|-8;%!%a|*`h_7)L_x2uht!;3_C$34#;ozL*ZT6)u zKDdf8^a=4QD$0=hNNH(H$5wG*2@cAStg}iAk^20``l%d&ii!EYw)uW9;-f5p1aML# zpkjxyFmH~IMz5_FACNwIqSBB^j-G>m-a>h9Xb4gQIv z$?AM>sP>$QE$c;s1r!GBSgy7>v)h^M)}SCDlDVFqF?gf)%?&g(i;bGgy$kNVt{%4H z;~O!(Lttx6PXCbqXCE9&7q1^3X5+Pe=T?%GROaPnEN%H-LgLM&HT=To;$q%`-!JGh zk)m=4R&uY zoM0<{RS8ksUE5_bDcp%~)|brf1T-hWFv?47FbPsspnXx)w#0O5m!Oz>llLcGS9`a& z$F(zU!-j?!gNiu>}|dz)`MHmSU-^^&1$WW7FMDk9UyjUAXZc?|#bd zw#%_!=|VYoNu@>b-enXuBlHE~l(mg?&!hkwTYg|5h5T5A&_X2I`0aFSE57RXR(22( zWN+^-#0#9!hAJNA?PE8AWCQw=6lTbLLjqXxlAeD<{KA}{GL^+CXU@XKdtC6N-B5Zo zy_JO!^MziOI-Yd-g?pEb^=NnSBfsoPL19oQP~uxCT4Y(c;ZAPVufcSGp0>khQ+XST zxa-T#l`%25zB5&wda_uXNHzgyQjg8DVyhdNK4pqB7Vo}Px0dpTjR?WVyStvo{iLor zjbqWtsy99&!Mrsi1EWR~%HN}gmsu@Q!hE5X*_#@AiTdX>q$oI?UeV2t^ZkUU{^&*R zUz|8g?+X34;7jsvyn~ztEP9t0!`t1wr7rM#&tJHeNKd(SNo*Gw;vsCCj==Wq?RZK| z+b+q%6VBW28~Ja?*28&X3F)Xp>}cjuGAo=iemRS0>TtqM$JGE{rKHBUHkvD2-(1b8 zxlS;%C3OyY6Uqe!Dr&Gk&Dj5G5Nc~Cy7JQfRh>n%&wMaKRlJ7_lUCiTbmV3;CY&T) zdGnU~x@sr9=wrOUmkeA+@xeK-KJI(c@*R_bV!Og~g1x?@e1>44q$g3*l~eVZv1VXs zZ8TU5-_F*2p3u%s{9=DbR?Vw-CeF!bizwqOH*stY0l{?z8%p)L(@o$)pYD1;q%(vp zh2J^2db9s26LHc>hb^Z*fEzwWB72hGG5+%$*&KsL<};_ZPEoKzDhiH<_i9j6u>X@o zSp}Pv3o(aXdabuTUY!k-B9~=u?E!G;PB`0))}TZ}uVM6NgxqbO>2+j2pB$|_ft8m1 zyJP4eDz8Yt>Atf3vU`l~SaX+nsuio%LF3G1cDm*7xnaSMQ0zaziY4377A!MU9vz2F zcXU*;n=sy7ON&};#3MD;@^X@hY~g_=PV4L}Y*Oi2tL_Qw3;;aV#iC=41Xk2?5v-x{S(bUk6j z(LhUBiM?fhH^rlq_kNnHERyFq0$q^?lYA_SQd zOMAAAj4&+tqUD>Xk^Ji#X9e!v+WVe0q@o737|C0F-_l(58zA>8J&h~95j}m+e#*`B zd!;90xX0X0oaL;MP~h7=PFld5EN5J8g+Dx>Uf?WEz5o3AdViYFWv$@uVTm-#N`S1? zUo@NL@emx;q(hgnv9WZmWiN2vo3=!lpWnAAm;_o(x?DVYvjU_BkOM5CL)qr;HS{=b z73AZHbLE_ta=wv!2K8`$(r6oZO-d*0@ zC0ikmd+~gXm#Z{JLpM$1oT`bm`_4bt?Ks<;WGdXsPI1t?Fsv`ZHJ;Ns@9@&h+Z?g= zT7s|E^v>*hZsmTm81MRRt=u@|>2x7nrslrxPd=-Ccl80PZO^<(pnx0-fSzv>7tgPV0p|U-;F`ge%Nr^uo z3qp#FJ`51t{6?6&z_!GS>ooXPPDIg00$4elk%v%|EqJm(zuw}H9LoS6r6;ebFsoA8 zTJoYR9`CyDxN{x8g{0-S<9U zxf)oEa4et(oza`(J$Uf_!N+&Pa(8_}$$dejeF?JzoL4S)z|9JS-dAwCTfet7wJj>m zyXg;?cODzNcLIeHJYo}mOp1F`WihF#EMIeb7qgh9tM$KrRgyoY!o(y){k%;v)k^Wp z&&0^+AtvCE<=TOqc52D;BZ>f*X7j(_3=F{?+B@zHCSjYeJQ{qo7K}zXFlE0#m{0s zl~#IcUwq`nGjsm>XO4qFwM(wX;j@(G?D|j1%vK>cXDc_yyohR(xb9l^iSfyOb=vXv z?^70rZi`5k*6ps77WUjzhl(82&5yJ2q|N3x#>>0y=S|l8KealWJVNi=*=H%;U0WQV zZ@XdI+)t6A{KH5u(*SM|{-tS!j<&k4YGb9iUixEqE<*mr{kn(D4K>L~knk@)NQPj1E!*7_dy5xd4W zoi`K@6*{JWJ{FrOBNlynVt!d@;yv6@HvCa*XTG^@LTJ;eC|oV>4^n>j)~3d4A=1Xc zfb%PBRw-cD@PhSfL=is9#Kl*X)3?Sd*Rd+fK=Z)Cx7?z~6yrLdI-Q-Xew2d)5_~%9 zAAq|oTI!olfTfqw`lzCYH5@%;qq((HejJ=*-A(x&OnvE2ZAV;0%n%xBGg-e=VNM8j zzFoMnL8i4qrdP|T>TLj(`qSuUf%LWOV8`ini&WJ+zNXZX29f&yJ-X`R290Cr#adE{ zkrT(hUwtwEO-tnGr=6{jUj=!?2}v!?eVe;y6{XSHf^=ZZc8<5IC^=KG_WnNO;inFN$6S)UWqBes zVg&7VH72LT=l0XYkArj8cIO7nLvDL6No6|iCPmlyxC0;E{(meYl0-#IjTui z@fElv#*k6W)-suoP2M=#ht8_nC|k*)wEsmgE@!32(0k2lJpp&Ct~_uF6~G=tJu?fl zvvhp*;%nbc9*fz95XSS$gi9>t0{*!XUsnE=)lyFBuSE-4*<+w1`1zB*HfOh{(#%Ls zt{^EX9aKLbdPLuMzw1jVMV{)yEfn_%XYzF=GNYmx&z3jsrOy?idC9BW#NSL!W8PYP zv+U-Y*HCr`dQ!3&^eT z=XaEud!F8Zoa1@bmnfoky>_-;P`atPJSuHfA3ziM=aKev$908Fb#iKow4!muS)T7P zvPq7PNzv00Z7*$lVcFXk#ZPzp{dUq@4Pnp{WNnduOV0fKZkiRdBZrlimNS}WxCk1@ zSD7~6+bh!=g^nHt*1BSF3aF(-#4&A8FYUS}9QjogzD$W{z&^+~dYaG9hZ-tC^vEgik+V4rta{2X*%aVfU$eCU7FEe?xn) zeqbMAKhp7iWx*#|dHwwOY7hG^*#0%-IgJ?_0?u^?`$CHSS_-$EKpsO)87vE;*jE5r zO*8BrHPdz>$yoQ77M2INoRBA}ujeftg+=wx7#!%3d{)nd>P`g}QkgiMw zWPp<=Wx>SJE@EO&3Xvma!QxJ-HADlEhyx{Wkvqbjt<|gvSaoNal6A?@k#d6WhS?HYy>+hj-S2V!1O>)<3(6RA3 zoRb!otr~}xT+&@-)Af$U@&zZHk_{!U;0eD{S~V!R-MplhJtVyA<$xw31T;^U6y|78RJMsUc(rseq#{m zR*8wls0{5%#*XHjyfJgYnQ|bx1+ASRs5I4E#|`D@%T1RVlZ21= zj|yw;WPNoim#vvCD#x;>Lh`(r@Mr=Tve;Vz;^;PKq+}KAo+jp?`+e>xj)LtI(}EXa zTK!BRaG)7Di1X632w7&?Oljg+t;sI4 z?l{|B-WX~gtV}A=QuMvPNe^^7FZ4bBp-$-Zq z`7*@2=6q;&gLZMl(_7jkQ*BTJ&Tk9{{1(olgI|Yi>*|m7_YMic4+OhE^};_XgJcQk z3y_HIrwZSht{@(AyFFEu9qB>3GNn^WO${3#Khv%j2qa($Cn>$SJRSf?T}{M*m^))# zr?uV`5d9Lzdv2*ZL%*?yJUd%oUw@|%?GBfrp*aIKYx}d^nfp#M_nV6q51`J(BOpk_ zHdy>kk+0}}Rd(g&{Se`);X9D%s0QdG;Ok8maJ>RlalV3UXm~hH$N_*O?^hxrSAm4G z(6CY4&bc{N$`Jten$1=tPxOHJ1JdIqUjtz5M)BrktCPsA(VpY3SZij^ zM)|7L)H_t2hGXb!Zq6y_>{t1)919TWE8tnapI=fob6G&xKQmEJP~sFR`w}m0x`O=q zjI{!f)9`_YFHa97&gp-<1NpxKO5~lZi{flu)K5l=bPKPlyQW8Kl3-9T-MQw;{=s?P zO7nyC<7>e~T{~@+AGvi4{Q8w7)bt459UU|9+mN5h4ovCxZUr7SuFkT)*I%Gg69H*y z&(3nZ*aK9#D=RU8HCVJ9z_v28dCg5Pl_nm|<4h)ePg#%`;5C1%xR!!W%&~F#C^T|( z9XJNsmCusj6I6 zA-Z4hssthJ92Zry-v16n#Oz;U0U@FGc*&s_pKS=RAdcXSQU)quN+w8YrHZOpVX{Ya z+I7e1jY>i7f+)-lLwg}pl*1I;VT%vTye=C@0$iJvo)NB1Tvh+37n#o{M2pMK?**#Z ze+3&PKA*}k<|GQeTJ~ArHcYg1jPjRz4L3%F>8wK=QE=Al50SGm^>BfC13IRd1Kk+gGegS+s4JX4rz##s;sFVv(3ldrPAaWj;e*TftH<^59 zoKIi`1FN*O0RV<2fH9k0*G$8}z;Cj<2Rs~hsr!8h(F8r4^)IF3ZB%tl7)g+FJ_VrHZMmy|nqtQz6S^!(7?)S#P0x za?4|zAMX80&+=&X9IisTrU&-FknSy zG)jJp6eH&YEkB?aSQHkV&8fF*zY|}NNKF)TNqA%X79Itf(ac6s9P(l9BRi03F1_ML zwXw5nEyVp_F)0C?vjx1?(T*? zS!=!T_wD~a+rNFbPeFla-uIkyjB8v$L_|Y#QcPBN0{Ga92m$n6nt!+AXt`_Ts zMf~b_vXWfL6FJCG{d?B1poaq}4(>rqR@;$96Kdjb?!Czm+}g09Jop!MD@ue98aQAr z+tyt>B9)&+r8n^QPqZGg&`}W=fkKIV&5?*3W7*9BNCD{oH zr7EgbY<;Ne6L|KF@wccf|M?r0b$)ScYhR$y#idmd$Zon?>34_mJ%UxiX28Y01Vo;x zMyDYFP(Rt1Ke2dfV=lHZZhP6Stiri8#7PKGkcrLl`jT^PThOG0tK;@FS z;pOXw>x}>~ULg91QgIS8252h7DM0<401iu#0uNDWASPKzG+#e5Xug9nUei+t;|X9y zOd)>fvf?i~T;iLx z+TlptEBRM%9KYX`#hjomkgkdL4GbuQ3!>s2M7#jvOG2S(U=`b^FhJShxbyqVU9kPoB8W2oj5z1t>TAXY ze)jhA0xS<&x?bS*VWHe%L&aFcko!A^cpi`pl*FyghWKRE7yOEwZV0k5&H<)>j+$Lm zWcHki6|*%`nDq_)l3xGgy!~Q#=eaTSJiJO3er0Y@gXXnT!~Iuk9khyC(-!30t! z8afY#Gol>vBB?pU|GZ_m0Jn$goH_+F97gTE&1*o8FoO#lRimG*kBqvcXRN1ZjA&z; zjP53h?@zK5@!im}1)#B_ez4=!moGu$OHXUN4j2)oY9!7_^Xhn& zftTm4Dn8unC`Z7}0`q(Ve~GuZnil(5vVojXV1YubqFGdMdnci+T3c0>^rB3xZ&JN} z%5G5Rd4yjflhO(Dg?9f*s1Kx{*Y-{BqKYC@VUkfql}58oaJo-&?`q4qgPiRT>(1}0 zEk4xeSCUn?0odlf>C0+<-m54=Qm}9!k-n9t((~p9jv}MRVIb4vZWWv{g9_pz>KFQ& zMTnhaeo={ukgTlVk*#@O56h)pZZb}Eljr99JCIv6SQvjeJQ49b zp6RV(gSsAf>OD?v{_(8`w&>MU>_s(Q?mb#Cw@ZBma@X*OHR<^2t?^xq{H$+&Fr5zK zwRE;dkL-kM_WSM%d35q@zX#8Y5anMI6>)os7Uk6GVXCkG3pk&WbswJ(1%zAmhrpyl z+ZD`^vm_Tc><>wPpS=i(O4eYpTBD=+EO>v0Wvqgk`7?h2Sd4%>_yMSjbLMEYT)?~}DEWyv>rN~CXf84t0sFw^uQqG2vh!{r7I-rgu7 z1l^s&QOs`G`31$#ng5tK-*cKTc+^^NmOgYid}~$rV{yIfly5YiG>Zt9WqP*$hnp_y zxje)<#q0!&&ZEAlz+^91o{@`0AYB|6@azv?RrRUN;Y&sf47FhhQ4&kgCg(2$RhF)M zxxtVY`H|?H+!KAyjZkY-+_QfHS=H$H!RPb`QmcX`M&}sN^*uiKZLBe>VXM~yLSHV; z7BUGI91<5BrrozdXWOp5GO)_ob>11-W;&#*^mvkPwE7_ApfIttw${Xe9!-dg8XdL> zBzT*HE=2jhXrv?D=u5jq{3YV1e&S^r4|15>pVLp4$DB9%Zo{k=w{~Xom~hVu!ycs& zbwG3Bcmp-+MFvV9v44d&7TqArQ4 zoX=1$q0f@o#_XQ>C9kGl!TX{T>kH7T#qlhIT>C;-d4>xp;3jM9Er24&7>|>qa<0zS zI9z$SGpl=dx6eX5=|pcRG{c%C2%M;0a}9cL86%P_3s?LsFhhuVW->Ufl71aL^zr>v z!8K0q>X!}w9+MavDj3*e%FWI$ne;qd?FTfDrZT*jSK07KN9_#$|TK0JW?N zNFSDv{AS4fEKM%^4X% z+5Yx~I0zU9zR$b*6oG9jeb$fW|{sUo^m+1^OZz+U1LD-*mNq%A1j1f$LW)cyH)b!ZDl_Q+o^6jIVu_I{Wg-QqXp~7l_wY|? zo4*PT@*80Mue9jX-M9K029R(Cdee`q6eo@tHg7JVQCuPF7k3hcwQO^Smk0ddE&nBp z*UdY7#53v8Utz-o-O$@$!^NK#sk6!BGBsMOw@4%qY^oc7^(I7_ikCNzjo(Wun=_N~9*J29N(fSM=aKd65AaQkp>r9)_#X9 zt44#`5>8TGq4B2n$DD^5u7-`%nxnqJt2NBK%Ru)#sOZ^V)&N*Wvp3LkrLjxz&-8TuXyoj)HCklDoKdUfYiX3xT6?kV{?i$Faaph9j~1vIfhuvQ69Z5hR}NAGA)(Be!89j0#DB1(m9aP>RXNg-R!fpY*akfED9BP8|}v4GHh*>@9uK-s{G{mT|*F)o!>PN<2KGDU$sW};lMJwkX`2KsK;E6RNY*X|1!BGwIwB2peVU5>aJ;igLi)koT zdZUH{)kjR@OG?6RCf#g?%^g`)l7()lKp-k#RMyI@yFQfh9-U7v8dheDD=Wj9Vd7PV zk9O9QT`e~scf}L@I-LKL$9WV(vep^>%( zAnXxrYq+97H#i#8(!#v`Tv)ze$|zOsQD4;^=-;k~2(jqY(mhU5dit|X>TzzDC6IS9 zW*M&=u9G}mPEuM;N7~Cr@xJlBAE<1gTI=fw-gv3X!|#HwszmZ!u8F6}M3;)(I9S0H z6#D@CrETTyw!a$98Pn9buG?&vW-$#e(7B$!( zs&m%KpvL66~7sroY8ci8PsR5j2CvJPkA(c%=+WmmZc@t z4?ZOc!FsvnEbdr`Rc%UzSjAJJC~k^|8-bIa^r?We^M+UzTfMcmv{aKo9L6p}gx!+` zo8BkV^z|WS)!S8g%GNn84PBd2UY8+0r_%D1)QnUsxeddulZ0Dk)oJ!NZ!R=r1XeTy zdDDuQYl;i9p1><}1c)jF^^x7cjFYOX;Q%zZT+d4d=04Qa)Re=kj|#fgdC2}6IUCY2 z)%0BC5I~oos9FP8^jYTi=l)orFHQ~&a62M1kog%K+bQbqcEmjy!!F|n1%Vjrg0wV` z1IdrDg0MW!CKR_N{*=I%um=BVC{&PS2_?tMCTQQdZmhDsyIVuxoUp-*Yj)Q{Z`*29 zybcp;XJw`H!F0AtS|>a)adae|5$0h^TxXEmv?wU-bmG%P>$m|{Y-OAWDs*F%r257` zSXy(0Y&~u^F7C*qV|2MX`AQ25$;ZnpkV`k5r4eqkjH?~U>92rmw8r|M*RnW=BrCaH zgwMmB5~R#pP73#E>(3dQublP(8#k>K_m%}(RaLbqLVHY~Q_8#v;xdy1Z#asj8;-tW zzQ49GYBKC4Kp7~I>~f%V5}1BrEG$zP^fMlCI#FOIQr=zMI{&*%l-h#;^A{ZxNS1>f z=bsLESTGxEzXBl1nye7qTwrx|X4XY?cQ=;H`HpNTsUYg*Ot}Htn+SWOh%q$=P#8Yf zb9}rH+z2iNPkf=?p85IllD*w12=@F_?IH-MK9wABgAYiBy1M z#N|=?UdXGi4zWKU6M60Q7X(G=?T~ zL8?dgfML5}Qal?;o%r{I*sxA2dHw!P3vWB6GpV@yi5i_?tx49jl>3o1^{}aSR7W2}X8E%U|5iM!HXwdtKcOMzh4`jsORqJx~4P zM}oyX*=tc~*X`6;?kJG?cs73WzquUJJygDH?f~G3SDV}U_~hFIe$I@;$=qpLh_6sY zDLs7|Tr#gObhZMS&I_fyN_QesSRgMn-Ymb7`OT6vm_dV+jjafoUoRt{S97U21l{s- z_o=|4L=h||m@u0t8n~6KFsdUc zLQWRbMakc2j8c(yCo7_?19H%pBIBg<*4iMdBIGskP}Ke&5r&}g(x;>mAbk$g4bX#! z-vpvuqus2CsIT3fwD$W(Q=%4nnSU~Xc~aymEno}{0>+S@UVk_-X94=H!j~~>nyeBR zA*(~z7v7oR&I1Bkg-IzH$^Nox`_G$fl{tn5<>iFTx|*7Xa+WVX&5&Q90Q5glJ7 z){P7V9_jGxvR+T8#+H>HC{cnHbhl{G+>P1X^tN#HK`M)VH&^`V@&j_`-(b!>q4(&RywEO_%;ababibZ(P&6SnZ&#@@|5C)()q<)|K zGrhi^>kaYE!QKiJ34&!eVDEU;s7XlFa1)h(xW_Uk&^W{DKuH@I@eMp_tr1EiE%(u# zm=}hfK&sTUQ%QNS6ez8Xxvn6Z@K>TtsFX5RJdb<`K@{5ZWP(P8yZ#Q>1bXd~At3N( zFxU)|knC^EYiz_)knGP35Bpq~lUY@xOSJfcbD->JeHn;qY(PXE#?$;7lY?MO|e934E#L2NV3H zLbH9&ZniQQK6~9nF6Rm{rjEpa#h9i?VtSSo3Qb;Fc?q;?F*&KJ zY^q#P#-l;UdS|51FV z221m^cOE-yXY2B4*Oz4+qz`mod=Ng=e*jL z*%?;7{#%JW0#Es-puPdkN1%wWEJe4bfE>RHD3~!cs1Nx5k)|8!xb;~u^=aE9@oP09 z6~Abpw92nzxcnA8-`PV2P9c$eNFdDZA8*9fHIe&{SMTfWI0}klRiT26GKG17e*(B$ zr36^vEfgU4tn8Xn(%BgXbiCp?LCXZeF-kDLbu|v}0#C(pLh~EAtC$6wYk-RCI|^e_ zkzDBhDO$)5M&SCu0J(_h~2M-hiZaa1g^)6})|AyoN_C3rG}M2EzR|=J)V+a%fl`ZC814??pVK zqBt2sz_wDY)f=p_JU`M|pfAXV*vrX!vl`j(oDsi1I|%Rk?t^Ym|39_{(U5E;eFoHX zO21ju|E&-fW!HDX?f|7fAs`(6Ys&Gxw#)~=e0yqzSz1mCz54b4{we)V^u|c!|HltO zTnTyqUmfwk5aSbN%H#iI6A$020TuH`et>LQUc*^pm64sT0ofzS7T4wm%r^30z%T?K z6lJV@w|jp8G;O45Wc0dgZO#x%!e!O~fPalf3?)?ze0-(SQbg@5TiEWvbewi`jx)>k zqoV_Wa{4b<^8#ECL=y;QmZ5W5zA;m~AL0IXaUnBXwf`;!FB~X`W1H2crxeS|%4{tx zEG>`8{AMxc8f$zlX#qyP3KGn2Ov4Af_!0PPxF%}K>Kw1DNeWY8v1moApY#3}{j%hUK&_W=_} zK(derMeW3dPz8!dO<}7VV;^fRn_o~6h{he46(pXivsD3OCx3q)q{)rGkdPwaK(zO8 zF9_7NZoudYd~}3?0ivf7)bShpy(xcblj+V*;sZTX)1himZ|fj{>@=ze4-ms%!jP9| zr0$@F9|nY-)-r=EB#XVh`?Z@%;@n{_cgHUph*3p_2S8a=tlmfiL^AfeAs_YJpYJW) zw}aY0n$Zcrlkg24VJG-qtKA{@LEa#f41GjOnh~IuRltalXd4JPw?R#9S6rCLVmv_! zAPu3HQx%%6!Vm~=)oV`9B@JC=8V^0a{&*hR&sV5Mds81jxcFc^YeJYRRaBg+Adp9udKDd0Tvzw~;cE4n zii$Xcfx)Kh>F*g4-;gI;L7+}lVH9(4xFmI*>W}&*0|L994h!4Pzuz5S6W}jfSg0<# zT=L7D|0EZ|V6!nK;UxrUtZ1@8E+0*s+!wEAAVnSGJ0%M1%nSq|pV1pCH~T{Lrbbl5`Ivgne0S1(Ymzz98w#E5gAfA+Gs=rf zIxKtoXj3(u-F9M6PUywak&j0Z!B?+vtXHpITE~IJ#M!Yth{zkk>$OoZCjxdSt*ei~ z3DbjQITe+t#cKkXMIsJ4RWVB;z>(=QRzXChVoRy1&)r*V>YXHa0GpB01dYT~ z3V>J*7R%uXm&b@d?#P*6A^w4RJ%*t)=!fy*Y1)R2X{kS$(0MMGu7)2EY}`2jqQfoy z;RC+z;K0Dg&-H8!)^}F~39J!Mu2`uXCehOI1ag=W+2Wx|77R{K2Ehd!Gm*9l&ZvEe ziyqj^7I$~g$#tza2F4qinL2>1(EX~0&b*;iyFaRsj`1UK@pV`G1V@5$h^M9Xi-m`q zT82C7nuf-L``uayE;+*6h9<{O>{%Pst#PX@ghxO`LQ<{B&Z4Mq}!`UCJf)$@udYKmoq&V^>(2ee# zRS$~$t}aGIL`GcHO2le@CylmgAHRNiVBNHlf{x-zc7SJd`S*i_QH|v?WYt7ONCxN| z=dmFmNuVQ0N~(Z)8ZB*h3zfqt%^loHYnaCyG=d1mTn@vH0bh_gY21Uau=!i%ujVx+ zi}%YvL!E9x&cf~GP=vD8USNg;x712EDO!tvdiv_py9TNP3>g(&lILKvr(B(&1M{y^ z%0U=)xGRM%4u+?vCFSQ^U-zAa_k#UBeE+aCu#v%8FhVNzf$VZ$6Xo!AL>I4+gaBzR zcsgcaEs#k0xZ$IQ(iwr~SFqQQhV(0^{Xqj5<(^1OEzwBF^^GO`3JdF+_2H)bky?sY!10maC0Yk%DW#y)g7fD@ZfGQNj3Ka3+vdVB+UXCy#M?u z4V&2^aoV$F025M`Pnp0_%bi;D9L#ABN7A#Maee5BP9FL!5}O?gSFg$uXG3PYYnz+@PwS6X)ehx<4Q(c4nA`hm9@Hw_mN+=`sc!YCWSoHd`zZ zG^xORG??7d;!b0u9guFM1&(Y-$LkXTS|SwagyjhjcbCHA8=E}{bRa0m9h@dFLOsJy z$JR!uY<*!9u!5y~)`wFm@2HkKJ(~jz4U`5SIP@{kwy`2pxc-Q~{qAbiz)^cCjw(X7;ZdW>x3W ztlxB;#cXd?mAYSyOOPV|8N-J?J`@IX$X;&l8oz)!G1b~}0lYaI9tUAxA0vU(^`Zuo z>Hd=|FekkMV>Ly;kdS*|aJaEC;Si;wJR?lH=%C{rA3u38FIX|tlc&PHR>WYgIR4k4 zPhY>D0tE2MlMcYF_PVHNbUZwIT|u!W)Z8dYV-|W-Nj2$Xb&%psH3{++FcDfc)tap$ zE@2IJ5e0wr2@k+Cl;!1%e}x>l6c__`rh%aL(E5j&vQCD82s~T za>i|P4FZYti;b?#OF#-MV8$3dK9E8SZ+;}()j}kdnQ{(PaJdB4mr2~5-J9K54(@<= zCI8bVr-st_sRTo;*N<28*Yg1n#-ZWKS!_b+%Uac5AHm|CkJo!uIa1`QA&`NoM2c+q zY>b`O0I%Y!(RP<+HORNWyKBpo)EMrGu-uy(xu4xKG8 zD+5;HF~BoFq=)EL5=ws9Sok(4r~0dOfQQ?6_&u)*Vz<~DUQXg)?X*$e_iU}|>&9>e zY4+T9O?@r?9-_xziD{Ez>ceIQ)i0)C8{b}xFGh0QX!0F*P&D~x4iB^7$Mvi(jn%3e zWfT{i|FqW|!H^%+3FR*$F|2{<8W8ppz|(6$gJa<2<_==)?xImmgshqs;DYxEaY6`&WG{*}Lr|JEezv>YNq$P!2*fneqyBr)G zt)Y%Rkm80q^F;xm22eWcz=rWBbkFHAosOKJZzPWfRt(FzM0j{*AZ}eC&9Bmsjd7!& zKC%;}+X4GaM%Ak|U^d?qADr3=Zdez!`OXn52(+o$Y~FsRLLa=Q!vcN)V``>CcxJCh z6|xSBhY`_vZ@7SRt#+}!@p^lD%uv5AcLW$XWDjU;yozxk!;pPn#5W6Ea8-E$cYr;v z1;y4j5IfEWpeQ1;UF5g_7FAkk~NMxaW$5yD48=-D6WPrc-RLGD1y>a!LM_^e)^Pp$iADKy z{fWm5q)v0b8pv)fQqi2T|F?fTjqcnAdf*XF!BKSxo-R~;6R<1iHq&n)fd}b@XK-oJ zpBb5^gry~x1R^S=&;(W;8uPKqs^W(tJ}}NR>3n81fbTnrNY&5e`!+htf54)FThUQP z0D>)p3JI% zka-etS%J{j);7M*>V>}I#a2_+8^k&$))U9EdlqvTN-Y_cDCj1H7QHl!o*DP%TR>C( z7aFM;uL?$$s$b;Uvb2q-SPicCV%jUO`4bvwZA7ymSd*!cXf)>Hw~_RYW-}EpG-hrV z(1v2!KS)Lw<;bP4@mp3J--3)`*X|It?{9<=MqYPDW=qGDqa(2#HHV|~*J3%l5bnB% zC^k5JQ&cqPSM9Ea@CxP}^c{MF6pkdm>qL?RFF2IDvv(^LbrhqK{=37G{oO#UetL3p zxzDTl-QhSi%}h;0RlF2=6_k#^hWidrzaEi18Fo+=|K_$??;5(p%lhZfA29rhjj*`@ z2a$l&g_C*w3<-8xvnJ!3?G;%x|IS>LPeb@V&;O6^%^B!klJ{U~EA+!XF zim{5es$V$bkChVccz6xp&v$;ubNy7y9izhxDAjDGSo6W+u~^b<{EpJegr!ZR{=n;S z^z+n2t_RRRDP;FB$?Xrb3YE%H7taA0XZ!fz2~3L{tk&se)|T6Y1YF>@#Hki+^g!^I z*Bxp?tyR4pu~c~vItTu9NfEz0#XLHv*|F2)$Gc6iUSN*(r_z`%0h7Gid=a0WhJu2E zjsJeZ8wpob%I_qcRtY5B5b#(bOC86XbNXA1M=oc9qk`xSnBlBLmgDwk!3VEZ(Or8V zVFW4@Kp$-puZREL<4^&rbRwIJJqN!Hu0@mg6-_Si;Bk|Dqm>B~n*qrOffa3$F3tq+ z{4BS&M_0AAvrbLAzora)JAhIco+mf-S)r~s@Bdd3Tkc)OiwW}Fuccp0aw*zvu$N(SCxaK zEezGIV*}Y>!m1syko<=5Xw7&0@}HS{L(|2@TNqTTQE^Dg%eVoU*UP(|#NV$}X%vhg zXuES(Yc1$!y4{EVF-OUeByR$E2GlUxnIFGQ{J zdn7kxYmNt&I+<-fI@e6G-Wgt1e`6JVCM}(jH0rADRgDMoIKPylR*NJ?xW9gyluCNN zdiAO&w8XimaY_txZM5PWQf;)v-@6Dr!VXbYTfO<9$Lc-i)*s&kyx~2tAqwQ-$&qf4 zx4Xh285!l1#fyf2G8|{CG}bl+7t8eGCDH~VhqLy7={o`w9Xg$C88y)qHK+pGOXVt) zMzi@zi;0E?KDM zXG6(?ZbwVxD_%Z6#DcDA&PB*Wb_abS76*MsRW|GP9z{L>yxBD%PlA)*Phm$8YBQZt z2$F2X+Q>zkBFGbYeH~^epm+P`g7!OO9CUQtEG4@0CGXEWFZOu@QNZB|wl>H(?BpyU za178xem*KB9!wC30QS%;(ohn9CN)RUY)?^7dihn@O={ZgO|6qYUWrQ$yfK&70yCMx z@=QoG*8e;nkje3&nf%bkeJ&@+4^JFk)n*Ai^W_y4{no&C_)*p5tW+k9`wk!U=Fk0M zQ&aiZB}X%utGa^qkW04fxu|zu8 z0A1H9^rqIM$p&np7Jv;kJ71reyWR3|aM-r|AYZ6*T!%*^!NJ9i9)Qk1G&&rosZ^6J zG@pz1SSl;O4dP*DHV0P>+tAilOj=qRI4cI@qcty65D}4n@u*^vGys9ZI2x!*PTc{*GX@|uv0L3-U)GdWkD6@v9m1;p+U|Qw2DHS8R#oECxtD9U zmvFx08`oGKwOH&7jNV~Ie2x8o{G(DTk^_+r>u#^986{z0VU%4MY_Vx!j(Z zoBljWfv~B?J_Qakt%O112Wr&nQ6G&}3JSWNpVJR# zi5nk({;rRZAK{Yo=YMv}&(GI_EIvEq#yd$uJ+vswl}z3LyvY&%m{7O`HJXF>x$J%a zzT9ohMaT~)xG+9)?}P?JWCc@eJ{N?&;_C3qxrpL=Vvpg#77tN%q*r zo-UU6|NWw)e#BQyrY%RzlU`P>7}6v2Pa=z=2;@cb0O~sa_7@*t-cCKj_1f^Qr<11L zVp;m;ho0;gudX#@;SiXJ_fDKLz$5$#TH)PgH-_Wm(}sqft!1yD_92o*a}A=O&ergc zt#KufN_Dc$BJ@u_q+h~czO&a5(pHu;8dPb$>yYC2ct13X*x4z_VK(<3tyDMKgU46(-)_LIwlwEKt$5oIfv z^~R)*e5YUW^9jC_GuI=~iJ(NZ#Ap<(fv>xL-gDd>;Wn(tAA$uv7<&z(6R?Jo*4Nh8 z-5y=6k_BMam>gj)PVy3e{hBV*Gv=>dgQ)>uz6X^Rm7r@v+Um=6v0%_Ca&v-gdn{sN z&*0-#+6Ko{h0mWp#YCLBfTMfsn;N-*>jT*1=N2Cdm2Gu&vbUG@R?rF_NfMoH)S?&? zNpc9Rzuz=2Eul)sa}Eu<>i1RHTsI?;+s2$dIl`WL7jMPC?NuH}5) zc^nJtg)9)-G)ewY1L@9P(Gj3_6L@UUu4jIGKk4SeBtk(!bG|dK5vpX?N8Yq9A*}iy zJZkrYrsr3dt+S69ML{V19vu-Nzf~ti?{tIuUB8EiM=B}^qr#$*!gN|kxjG$!h-`xt z*Ie8WC(l%`$8y=}O70W|My~OGK#AYl;1R}inPXR?KxIDEdd=We7-GC46=VkHmUgD3 z{EoS>@YQHYNR#c<;MmT{%-ntY%*Aearw`+;(WrLMXl%v&#@4|NYdDKSaK-O>*AXFd zEhALSuUa4-U$w>BFV53ZP4oeQ+{YSvFqIo`*7bHI+`yS7901Lu!&>R*7KqNcqDC_n z-r#fJ-NXE>((deI(_Kng&Vl9EuYK)%74<()IWJ-y*hUcwMU4CFq7x9#O4cP zTlgXP4O;Z2mz|zo8O===8IQ$bu?c2MvDsDR{re0p>-DuYQmGLOavxOUB3k?R>0;8V zsxJAn>O2m<=Z6Sd?L{fF?97QIbZkN#+I!3UYLCn9$np>Cye}Frw)(uB)3~km)B=f@ zS4ZE;9wdM}Qt-Tezf*sB8tS4!Z!o)00emr0U3J7b9TXJBA>iMahM?)xo> zPh5G04r&J#zt}JzDCk^LC~;HuVItE(@d4l)lC?8Q-qgj#W#v(`2?l6j*GNE=;l zWlA6>Algb)>aSVAF=Ejl;BG(Oc7AZwOAr{mpDs@TwQyF3>PHDh-8+S6mJD9$65L9x ze`;*D`+<Wjd8c2s93`;GRVdezxgnD4!)2sW)savXb#YJdRB7*x@$rqQYRwOhjTzS{5SGug7`a@9E^BXAu|U(-RT1eHR6 zjFI`#QtH*?dO!4?mxIF>kqS_KfG$X1OY0b@DF9YUb^5x}6tAku2jbo3vxe?s=?)u` zC%K>0^EePoh3v`78N&e~35IotC=@8yS_S)|qoZGK{GJ_2?+ys1%UifWC`CY3!?()f zEu~adtt7%=&2_pw67m!uh->`o(M?}|w&@;DHkp;nZU^W<;0eVrI~ z&LLTd-GKTHu+2F7X~v&U+wIS7+prr>(p7W>f+ma=7JHN?MSFnDfC4^0?_nFl9zKhaujv zEfs?oc=+j_u0!K$kC28l4>~e%)X&o>%F! z(g(6F`+Iu!Ce2e`SA(rNnB4rArI2vV7+q_gga@ud)HYPu;yeka&x|_i}{ObOuOV z^kZRkGlgITsg%m~6BW&tiNYc26##Sg2={+$Z}V2d+mr}F?*~FatFfoPM7cw&$2a{7^+unXEHHn2XR1kNv)m?1q_)R4?juDJqFw!vIEJi>uN*ochfFlq zYx&|93cm}t_g124Bg<3%N2P2$&gQlfu{Vz;1;!48{j{x~NIt(vJQVoI3l2i4GMqqZ z4lv}{$n#f^foeq+C>^blz=vFzC`eYbYl`z@y;NH6Sn(nY@9lJrjigEDWptg0S3;K;F2DbB87zt|T)Yxk5`SM8r*6xB!zx03GA4-43VrTFq83`;pv` z5WELBt*hMRPnNSGqjBT5*BEU2Ca-KtELXEIR?~c4c*HtD;JSKadloWGV_(}_LUoSlk!+ebqPUC$Mb@Z^C6%_ zMyx(nZ@k&6_4Yb@2g~yfCHRMZn*vIFbc?9&063)sBN1tApguxJnxP6DM4;;`OjzrRZL`uHU^f`dLm~vxJwdAk)Y+qIeZE?}h9H{y zliM0uvL`a?LCWJStX zK9TZ9(3o}n5Fbt#XO<|O;vDx0NWZcF%-)039af(}bh+rB=-e?I@ij^YZS1$==ATxk ztU0L|0`>X2rcVZ2SyNxlpj~9>xL;g@0^$;496p-V|KS|t*4&>t2N6zh5)`8MlEA$p zfyimne3WwhCHFHi^cf7{NB}CSKtPtaD?Jm~(79O)LVmUuTfny-#YPma+2EdOOg@j? zaB7$|51RWK`xt}5I9yoPq@89tkixm8h1nMwpSmg&BEtU*ob6$~8$%zd%5=@H*qw}7 zq~Pxd^h>Sk&6`_wx@2C>-Vh*f_tgYyLJO4_C>o5$3ApPLc6=)PsVue*_}fY`i00%9 zx!&LIL5~YnE^+I<*M}0$Bd16RS#u4F!~88;e>`h%Go?hIkAwk0*9c1s9`}*t^{)uT ze~QAVasi|W<^%+Ws6m0Du?l%0jYYk8)H2-No>EAO0TwuQzA!&yDFjMfJekJ#q9A$^ zn?d2OV6o1Y*TKNdtO+(sQ(16nca{#a`wf6J5QVdM_yA6U@PFnv{;^hq5{o@(`8&?m zXWwS&>y8``abc4+;px+ zluFK+hRJMVG<#a5%7lN^3@jD(cIZT}NcJw9tnfVZU+kTwBg$)~_@ssoQ7U+TpuqlXlvD zb^{|N)gdEJKkg9Z-_w-qGym)X(Y<`yV>vyKH^oB`=tTl1d$~%rI)(q+V&rnKk`N+} zCi%@zJ^2U~yL~%CLf$VUf9Z~G_4LZG=nsC30e6)buch8A4zmqs4y;${Duy3&$0*z_ zS7`&=wUC$8s+->T6n#6k{IqL#MOOv(ID+oir7^J}BJ+f$Zr|wh8_krg?&-+^?c>+n&-1UIy?nt76#=g^0XE09 z#SS%nQ9aumVcDYRwztRKfgtbt_wV15A8(pO12JRKw~9y1Lpw$uQ$o9e2j?zd!gW z5YmV2EPnV6f&;f|1}#S-t>s;nu9py;ikvqSYs!Y@h2lB)%gPplA-s7^EsxibERZR{)$`g%SVz6`>W`d|YBC${?5#s0g*dO3JzrCFD4KHiZ9#$$_~bsfI?;P`++lSk=k#x!ucOzNZX4>}E)y?*db#YZnRumJ%%G8w{aQz1L zMkW$fe*ryfT7N0xH9fNUKt(m2NCYR1e%=kkl0TMznRJ}dPzeezm-zy{pph|4+BgSZ zW>v7ZDM}ZBK-s`?I51HGmk!!KZ4|gFl}aN|AqEOEQs=#eM%s_w39L1d$DpMjROOlD zbY!?5*oJW{8eodA_{w0C13g?s>^wUHm~FC!p$W8LO)gcKngjl;)VjQ-+s$aQPWIro zp-TC)e6b{LTdx-9VIS(9?e(uJ&U>@=B{omdXxh=LSQLL|)I66#oj^j0K73Mczu5;) zNuqD@5;zWDa&P)E4OHB}LQzo<=vK&{Mx{EPE&!cPt-T zb|C-!QAS39IeCA!#`1K!d~>bbrKsj4ig9+Lc=3nxor&xuj}=FW#qtVJ8v13Yx3%Bu z>G7LR6nMvBt3DYMSj~F}^rAXlAP@ESiqho3>pHCWjhE_l6IN9=m&}5wk5u8KMt5Y; zj9?M$2cX3c1OL3qPirt7TtvyJs@MI@;ybmyajhJfLrN6nVM}d@n_bbea&oLM{h0?q zy}9HETKc6pVGGN*KN*!u*DdsDIdrV_XuBCB?brKqd;#&Qg+?w009_J-KF8^GU_g=H zC>_g&-Hts?BVFnH6BO?1P0rY~f$usF=j)4|tBO^sOS(gofoG^>hHa)P*&sMLl`9a0 z6=2{|g`k*$aS30d_wu%E@N$9(asAmrmwFv4s2&mM_!ohQ(N1Crv1F8`6X-13o9qwW z>44k{W-X8np%fKWZTd|v5x--Xfeh&tlKt|rz!T`$9TXhkpXhA@z;amAL{66jx0xg_ zPyaTA<*XF3VC9w9bwjUMy+;N?_dvQkmOELdr_$lO9l+hAdv)X|7997^;@mUf>&UPw z5pj1SzdYuD`rEMMG!1k2kobpz&{(pBlI@A^kaY(FlNJcTtXsOVhD5(cPG- zX;8Rb4_pkBxAEF+1+;ov=pj?hxQrl@u84L|WC9$+7*KyRAQz30x2T z@L>^vlSRc%%75A7Sfwwl!aRRY&R+sA(UK-Ad1l|`4t{KrTK$3z!+D}*&F?^aHoQ1n z9;+=um3cKRHdNOCU(wzk1HPnP(}; zM-HiNM!#GBFsVzmcDC^ZU^9DwVHhPM6MmP3SZ{`o%5fTN42~Fv6{m7BihuZx{TFr` zC?^qV^_Pz>qGGvd7x-23icQYzd0*`o@Zni}I!a(&c?FaObwd{8N9jCpr$~_8)fI$B;(ekNV%&X!yIL1Js5pYeq3YI9b-L{&co4KOF{qUxZi+38#6#72GGmn!e``?Y!|CAB5#``Di|T)!r2a(vW0qC*qlyYO(g z`A9^{Lv6Q16nj1P?HJ^p-|SUu)2k;w(@El^23!BsWabTe8V{wJ`tAfZbJ!@_OqQvW zu7FDypM%Ba!SbI-q3U6E2|O%z$p%m1x)Xz{$*I;2&=&?Gz`(n{&Q4y8gt+NDVf!e` zdYq(FwRNU$!@#46lijJ;SY;2UQi=y}@~*lHes{A#v$_0=;Z|2%P-G$vFbSm7DAM+} zHtFU(w>!{@pzC1saG+9q6y`ym&5_XNM@g#Xf^mZn7PKlbym<}xpsk@SP!pl(2I5R` zfH!xr$Z4YF1*yN{H2zHg?+=enj){#?cvVU(y+}QBT0vtlNX4jDmnIe*=DTb(d7)Hq zcMsr-Gec7L@x1YY-@gfgBusH(7$7Ltn_=C-<)=mb_MN{V^=#?j7mF#WP4|A+gKk8s zWq?Mee3Jp$Xue4KJdTVmCvktIG0a~*Pz35)y>;KpKRjPuu;r*6UT5o4Z8}RHr8QT7 zsd;@8xf6Pr{1QxL_#D|-d2f}>%pL$vkl4&Pdk;WU7-fdXI*zK#V$_3??M3D^fbwoe z{Eif~=Bord-3JnSSt|hmo9^IbBCgZ?ZT5{|0^;eCU(F=l9>bA~j8C8WIe=krRN(#w zV*x}vkugwo7rT$xj6vDGT_@#BnT+%FuK>pTZDO(P$J+O#Cm@;QbtnW0fV6pA7zo!r z09%^ znYGt{*XI4>1#Z7s+Y72OYf7*#3`lCRinvcb0(Dw}Q%V1)Xhg7Fi2wQGdaRtnhnkd4 z09tw}V*LZwTc8absMwwH`K#UC#YrdN75ciZIj42ftX;Nu$@V?_&ws7Eec3j#C?N#_ z1G|T>M;C6Ntrx`hK8&tL%tp#4NfEK@Cp7IZfcs__j2XUPiHGcVGBG{m0`raU+}9#8 zJl2DN7Q>}r$g8POhTDP*Yx(C|q5@zK#kSpWs1062&jAeTKqna{7>7(C%n8lA7{`&29Q za0Se!N-V*A_4^yzlH+izcmK{TK$rgR<_XAtW~CDPZ8Gxy9>!w!r-S2oYthoug_hPb zg>r6@YIV^efIYHW1QVFl>ee>}HOh4HgYY*w9FAD7`oKb+#n@TeEZP!>LqhRb2|ABX zjVHj&obN9^5ybN^%~;}{AT@=Gkx>mLm8n5+Wp&eZrb6`J&%kg$tfW;UWm?8kC z(&tdXKrob%DatlL;Xo&QX!TqSFwOWM@YoX`O{8aQ1Ot#B$nU^-0SIX24(mZdSmSs) zak}~9_3LO6k@oi~;m`3hYuWOM&vjnHg0kV}pneoosIjr3&>~ezJ%UKM{>AFUcV=b_ zU>5Imai=%2XrXM)a z+H})Qa_(AM$S{OVr+lP004PsYB?kkB+yX9dx54TGH+sg^l)D^7MF#ZB{bjk|5omc3 z>UGS7^Nam@fGuIW8-;=k?Fy_N7{5@njX_{hV0h9`14O8(7{X$AQ)E7|yShr32A=>z z!~ezJdxvxV{(r-$jO-aQqC$2gWRFnE=8eeCESs$Cy+cN1Wy{XqdnAOAy;maH#Pxia z&-eTNUB_|V$9><&bzHxHu75tq@#)=od%e!{d_JF#b>8<8$d!_we0&LR^L!`VE44h? zaCXhP7?VSK{Zcl)qAA!2+Wpjj`)ZP|HzhKjafZ?&2p-?O>+r3`pF*ZYzb!X`rw-bY z&~-19+1cN+7&ns%{=I^*>8282Uoaq}UHoQryEi|5Y44pDzsQ-Bp`nWJWg4KeI_f^y zuTRVB&(e5beOuw^_Ve~#hw4h6z12b5{gH@>9{^f`_}f_RtMUoQ9ACB5ym}=IhjumE z9Fp{Qj)s;kD#~3!;$o#(HwA+scGLY?^WofJC0ue&a*T~H8CM^Mox$wxvMS}hJQLM^qpQ#6QeFFUE=h2EDJ_`tVok3XX)z!6ZUBbuSZqun;Ccj(&Kog!> zdruyo*(bYegS90I_yvR{r65OA&2vsog`^Zw_0N_w(-9nSYJ{c2U84H zjQ7`I#bk2sbir)Z;`RjBpnunkLM;BA??`qlTXP7WRvuLIY=g9X@(4duO<#wP(oA`OL-)lme`Mb zj_gh_c5YwCk(zR}CYgv?WS?km+j$QgoxPIF?B#5;jzuH;?c2)3c_{G_H8U&CBT4Xz z3fMdKWC8Q+Cu+TOQtO13r}iOcK;e5-_a+LOwC`=yCo#%Bd|INSDWf!ZOtRPV0T?F@ ze>!WE?YqB||1LJx(wS<|NkHru!FW>>HI48m1!BsE&x;ji!|3DWQ@Ypui90k5w*0J< zLeM{uC{KRYrXV%y)|qRKQPi~e03}bzYx0J@%0S|DSan@rf7FU=IT~4)D0Hn3y7QO) zGAkROyn$pHKBRHZUGKi`ZmMXVv75{1XjIcBqCVe2>Lby!1%2U#!=JzrXHuYUV~PE{ zmNDn>Tlz8?NKCUR*b*0j43~tUU#UOEGkJ8^1%NCEtO^B78?RTt(cg)Fuc_ZGi+G<6-S zL<$^4Uv;C`x#F4%38)(z=Cp8m+-;5fq64c=?Y$;xe|W-HKwD zO}Z!1C)TE@r$97BT2NWxDCFvM1junX6+c7EhEkYA8rm(%C-*0T%Y>3gC;pz{vc5qU z$hR8%aaNNmxe|)~cjdt6)&qui+V zqD|RT7_hf7%uno$c>VtN>PQ6V(i+Pf>JRk<*;T(43vj@V%J?pmD4YuJupkM0BXU`S z0}TzW?XF-8DWX83>AKMG(?ovTVNpN@WeXA$PrTEoZRL~Yf`Z@PbQHUodh9odthC^T zvnIfX-&5^?>vnPwc*5u6;F?oD`+k%e)_2?N5P@_x0j-D*dmCYmEO(9HeDh2~ZnZay zIs<~t+-W!?8FTg>LA?Oge=QsfW+CcbN}*xZZ!fOp z6f~g_5=O$g#wNY4ddr{1y{KIt;b8E0aQQQ-$)-^$up@-Q;=w8=sa$arV4nlji;KX} zQhcd#)Hy6ttazbUx%#lmCpW0(8BqJcInD&JTy1b_u(^7JWD_nFbSVtcwK1A7NfzvC zeop!h_iCjJ@8cofaFd*J+BBYuiwCinc?Fkf$xYxQ1 z3hL_H4>|aDBItCU845BF--S|>p(k;cmNwUZbF;62t*kMUedxpb@pp~SJFC_TcLJJ0 zS+{FzrxFLSCAcU9i!Xj*xWOu!5z`ezS6D=gNgRev>a9Fy*IFbw_dcm|rJIkZOvt1T zN9_6oIpNJsS`Tk2DXA{wV=J;s*|}aUIyxaME$P^n)|CMR4xRd-2?ZLhD<8d6J~63- z)L~}D1O<~;|G4y;*%NV|w9wSMi3m(P_t7H41EzN@ZJi2kKLfC$SOjvAU4)lX>T(*3 z*aTEzY;#Fd#gPBiq8z@$94unR2IGt~Vl%{hY-Z`kQrFP)2mD$Tjat&7M~l81Xe;?I z14&O~OB+(|2d7|PVV|S%6X4xxzK^(j`rGliq%F7@Jd3%f8+W2uE=+_Ee)&SDH0|c- z+@F%V=7taq^Aljdc>na_pU3_x{baHp6w5ip@yv>fQM5wcF!X!NOB8AsBe$wXi6K8a zex;IrVAgeQPK#Z13T7rI*P}Zw&}be7k5iGNAA$*wpO+WZ8zHdYKtaeB#d5WL$OddV zdb9$}5DI&Jt`897D8WAPMoHOno+w!KBO4tSUeF^`z7GUL7i0;4i$^2%Mr#+08DtAs zUypx4KI9DOu`Bxnyo+05vn+DpFPhZ724wALDy4|_Sm?PN45^f=lGQl#*LHRl>Jzz0 z-UxKU&TgwuttE)P<&*BE`xA?^f_Uxkv|4@a_n{#&PVGik)J=j#rRA720#IYA%W;DB_`T`Pb+7Fs0!*5Cz$Yy5})f7EI(y1JqQ z4cbEnTi{!|-Z=lUjK->L_o3sy1U)mj7GKDI8tM}%%kdbcc^#~JwrT0b;z`Vc4ypC3~tjWKXMPFGqJ&ur3in)LU7`qTkm z&RG`4KP)UPN9{vq{iB=0uck5|KiSz*I<(V9YOvsn$Vggm?{R-$-}M0%0Pq(JRN*IC z^#1$0Sh2O7n!MV~FeMM?+DL>l*Q3YRCfZ}PJ&~ebTK>Q9LRZ5M@uNT0R!yxODX9Lh z6Pb+lPkHEB2?tWj0nV;+;bmiFymAN}ZygA`BwrqGlQyDnZDsp){?CKjLh;(yT_LL( z1(0e0s{@pF@p?BYi!(?mRHdXCUc2v4uEOM_AyyXn;bXsi?HXY^J;J+Y!?`tX z$Db!A1aC}$&N&wGoDkJ$wEVe$NO;M8>5fi=`%+TC8MysgdJdx)7v5!$LD&CKG6^Na zzFl42zl85-LDk#~QRklP8Z?sZ~NdVt;nV0lY88i#B z`>lbJA`O{PS|ejtMKhg@c#`>Tm%vOyjUKWcPRT>&5JnZEqfOBPZokJeVRe}Kh(fv( zup^;@s=VozPNkLg!ImOD?PnHZ@lK3?ItUcHZZwN^!teSvi=YhAYIsGQ%P8C&A|YO# z_fr+|YWoIuJxgXVrjXCjUAkD_c^-+ zh#Wax9BOCFP+kMz)AHedA}DhMA52F?&;Xwv(E&Ps=AAl&jsibr#OL1L*ulPgVOmuW zW7gnYX=>V7WDg8tG2o08uPo1%ma-FL6QO*0>-3by)@jJzjK_VN0k8^&kp(;gR za=uv87^74BQbR!j6JEai(P|qU&MD#gg?9`B*Sb07DDbj;G=iQ-4L5Q9`jtHI-UP6M z`PY1jmlog4Kr5XWzi!T{S@9w^>9;JdST3?hmBUW4fm86E&?B1CmZ!x_sQhvIkaiyV zhwInY5PB1K9r0o~_qn2C@#KDxs24Xkt+A2O=C_a1=xH}9FP9X|jM;=G|JiNi=aA2Z zZlS{37ZBV2IN<`k!!_2zpFgy!o{w`3$zB900Y1%%8ZK-V`Q+1*mztU1DmFdf2{wd^ z;C|CA&D<|F=AXl*`BHup94etf2^O^&2%zHqj_=ukN9?l0@!q6jdV7$l53(N(2UhbT z9BXdp$J&d=8qLCdC1J!nA%R!WUfPWOCxc2T9!^tdVb1wVLsGA@9NhrW3ZP=s(XwB< zjQHP_5UqGI$u2Hy&Z$67B9Y$|5Ex(Wvi~%G4_4w8ZT{Ooqj$6=tc~RR)_@1hHs?gg zqf)9UC`=U`_xHT`aAkh5v8XN%jEYfQT$gW=8DG`>KqQXoH2u$c>O@-r$jT_-hT_D8 zrQ(;u-wCzY+Ss(T95Je>jgQ~3YP?Bw zor0d6B8XS9)A*Q*w6PUvI=Ttaj)TaKh%35p55y9O-^XnA*D4;xz5qb$@aV2oB0xR# zF~J43Mm={EF_i*4$c7JBK`Vo#qN?p{U~5Z-QAI&b>nqIpIliykIFBe~*T}>P_2ZRK zrt$COd#ptrAD*N3_!3l@?a$}+xMy2fi$WNK(8r{CqjhKFFDIp;qLTRTm5#Q-%={oq z&N~r~&d!&24B9_=V>AqFQ#@swqChApygagdeUj%XcUe~-wx_A->Y6wv5MmLEK(*Q+ z#GC0?`0#j*KTklQpTj^5)F1o#cD87O%P&s8##n15eghZ?HeX-TqZcCu>6i#@sOU>F z>+9p4MQql>whUOb08UO7>7}3aa5(>Y{)K;^{{?FUGB!;jS`m4CMnJX`&nKzY-*B?4 zWjx#k9#}e@3#44Dgh)z&@t;2>0`o*^X);(UQee3rJ%!5CdR|mSk-stRyr{$9iAl%& zx7z$4`9K&Q3{Dr&G}mTn`9X0EQeJg@$0UHVk?qVZe4SI#b5_F@=LX~1mO#cYe7&Vl z{E$l0-=b{{B@@tuVPwfa@%(3r{(mX?@N>h0_<8;u-&`uFb=WupdLG67%tOrE@7Xh9 zFzgQ*pz*;akg^}mcy_g!K@<;_Da}9jGSb`7*>U0T!KO}D$tC$1*ON)7HZHBhj=I`L z!+Ne88ayWZKP`*fKmW#kMxpFoHeFY(|nE(V{ z{xy|E$^+nTKC&m~1Ns$I3l#itvj9OTQLw6n+@D6gw&A~XN0uh9Ci915fB2 zOL-xxtGf;~pPtPD?Ko72l>$M-&R9g@Q{wT6Nf7rmk)%z%N(t(vZOh(zq$eFR8rn7GaDw$90e{Qf26N4Ue9(6?2V1AkrRN(xf1$)sM-FK z!SXt)kJt1I6&fWeDejZqy@JhJl-EW*YK`G-cXvn(kS`vTtOOKT)>08J*=C^U)(M zV3=9NPg|wqtYu^zdFt1?;VkS5`~vPgxa;6n`QrlDrB52e9@c!3?l5z6bJ2)hUS#L1 z?uwc1*y@Bk$9p0`y87uIwIv^$$9tomuU6)SS%CW+_q}V8l934qcBpe6xDV1bP&gr4 za#+Bg+Ouj*EaMxuZGaRME<;I9NE2JUzZBu3UVr2u$X|%#<__vl)+Z0UZ<35#Y5Bwc zoT5FS6VPQ8$yNxzqapl8Nl8e&nw#g6UpW^8^tF;c%F?TzR?QWn?ALNDgCjwU;!S+= z8Pyp!9Ioo1sc!~v1rRRky;?fn18|yu|88uCskAZe-fyLe5(AZH?>ohd(N@P#an|%0 z%AYJ7gt$z)=W)M94j^W5d(T3hM*@gS`5E)^tZ;!2H~M8{1z)2W!rYU_6kP zl4{xnnk*X9D9y(Ir)RG4!)eie{q7xD5(kGos>V*Cpu+*EIQ1EQKxh&O4=T(8w1JY? ziESI?8U}Y5fJ_I^PfQ8M0A)`W>LJAMdNBS5vW@OAo0X($Y;IaD3Ro>NtLA29O-t+^ z9b;rm;~`dF`naC*0#Zw0x=QL6?yU4RKs+1J`wvE=cn77 z{n>8#0QkM!EMxoDe1)cT}O zzVa~=Ua~gD1@u8|A&>NX;J?{EP5JA_`cv+eT(%AAC5f3?Gc7T2DV={GJ;pS0K62yB zkX<~l_a4%p<8J?&X|l9O_>~7aw!>kUwDkc|SAv3VaWFN*T@y3R_?hnVQ<&!K9@F25fiIG0T@K9ez=I z0wn$7zU~~W$hy~b{$%D}UA%blnXw2U?_yw++O4Bygmda}E$u>b0lO1}CcT;Ksy z-;VZ=-Vh3II8Tj?j6gL0VA}lg+R)Fy;I~L?Gwc`-s8i`_3?Kv>GH~ zX_0O*&5wY82y|g_1RgGKjqUOaAlCdYq*C#i!L{EV#l_|$?||I32%#03g{=y+A+nH$ zZ_yD$2ei_`OiMu#&ovHEV|4T*=-7tR<3)SZPZy1r07?NfT^X5uII;b3e-Af`1UasBgGUI^ID|Ad5LZI3akrgpSj%DYTEmDH zMEWS9_!`5rHE3cL?V;{ozI^%Wovo;vZ)K+b&MjvqdkPi6TI68dvs>8$3OsQ+a3Ug0 z@yh{YP$x62$q11-6(~Esjb$Snx9x?*3ZJ_5N5YTby%cmWM=9e7vd<-B!Go^};O>s> zD}1-39fUvA8iLB{yb1O;x|PS$as|M};fV157&^20_WME4Ys9fcyoGcP;71219G8U+ z>vs*0@U0PO=CW&BR_Q17r9;TsN^mhvuyj1J^(De{;KB};gNzfC{h?PP{a(;)S*1ef z4Bjjp%?S|T7q5fI4t4}69xpjS(twE5>zgMZ;d^n`LWP$&ExM9<35)CjnD@AF^5v*$ zN8?0!*h1uG0nabcP6qY;D@i<{!ojtXkoH@#7TnPm`U#OgF^B1e*`Ji7WwKCVlKR#& z_-F2}@w6&je8VcNAGg0zA>Dd+4#s{$8u;m0T} zKB=IsUw>vWGYP^|G^EU-%7&*LP&aM3hvsZ?3cmPE32cC(I^#ZJRlVCMFOTlj0A1?$ z__IRS+O>teLNeVV41XzI=cC^s^H%!RN&&mlzyLCQOhUQpQ8Ln4dcsXY!)c6y7}fwp zFARewD~+38(lwb%eN@=rl1=Ya+%vJ?1B}egjzwPy{F+0FoMxev6W8_iKr*^#M?7 zq_||5_~W%sEQzRO;*+kreK!0T!PU4tGDTmG824_OK`rbdIvcj;81KY!p4Nju@L57 z&;-OkbTl%=cJmK}Ipqzb{wRY6tTsSv&`I&`6Z3=`YZe0L~eq5 zn?Elu6_y7R>R=Q`sLDI$48RFjj?x$!4o1s@Ltf*BH<>Q@-H_B+qnb$BP zXFqCJ+qD>dIVLdy*Vyapw04jw1d&>7eAGK1p*e&zWJo)L@y@Fu?t&6iTzT+P4SY}_ zt(<@cA}VX?hWrkLqGi%OU*M{g=C5PexelC2s;)Dd@R@7`1pW#NP4asvb*5dcuiBe1 zb?{9rUeUlNLF>{-+yUw5*S$z2rGMico^7>+!>OWQ=JCjBd%-bnmVerakLg3|u6~WS z<<1J`P@rDalFL5L%yqw;gPCoqzk+tTJGH`S0BVe+t4Bos0wHJXNG8*}r~XI#vyj?r zH37p+I*+~t6{7qQgou$^A%*>75e?cIUrSZF3A3sFWzNxMTudB`P#20I|)Q7DPv&1X3o>kiJYzUyVU#RizStDkvRL;zt zG9Auk3kxXgzeYz~$uT#@u=FW{`-d?>ENtX!dGPhbizIChP*1*){qP(o4WfHh3*H3# zsX&%=v{@y-dn%;j{aNzvL!vNy1YidRJxL&;oQxUyFkWOftl6^1B6y;HQ7v}?3u|v5 zpMZAP$!Nk2y7=n}g_hTGR9d?c#rnIDSt&*V!p^3M3tWsASPwt|Jiiyhr*Nm!4q^$0 z^y9MOu>WYzD_O39JBW`-aH)nnpWyLCX&a%UAPGu!$oyPBL^ODP>5dE2qPRlBLqW>p z^f|GrpE`2*?-ZBLHd_fgr)+u4%_G0TC&HABeostZGQBr>^BP8%W)eE3{+~$WoYDKN z1f^7I(e3^l3N~f(Ce?!G(xFuM#nXkrooD0s$j>KxL%U{gCMeq|Vy0TqEdf_#aO7}C z6w=n4rl4T2VOe8-Z?=+|266ipt?AlY*Tf{#*k6Jh`U!}y^8JeD(z0bwm>6;~wMlL8 zO^K_~QzhHfKCBttQ*%BND!Y6KoS6+CcY<>rhBhNaj;QN9`pNq_Iqya&f0uLMXGSh6 zLX$OTlRlF~zm4EIK;GyHVmvHG1~dSiwuQwVKMN}K)_%MXl-r?v`f*t!sp*>%U?x-> zca@a9QJ>#0t#HFtzMGFodhFgR-#P?bvDX&lQFtU}m0!T&Obr1eCjqZ#!c0bg1h4h=LXZgr%Vdw@VPdxa9*z!2 zd3J3n6qZQOs%=xYVuQMGx=XoUp6G7U~;rXL`EqWt}G!J0F7o%#DGdrma^i+2}S^_^sO4d=&MYqYfJBS(0(Xb{H zdAsL{P+}@PS~HNX)B~yECAO^l!8#0XbV5*4t-TaHfsN+d>5efsbd@f!7^TE9#LERz zrt7srB_29D0LZ8rE61QA+i`8@C>T_6qr1m%tu+tzPhjjuaOlqIKF*meN58eUMFlOf! zrYWGGM$SbwFUn7HQNh8j4E?Re*1AEkjnsrV<~4ji;Kl3w^|2QFgtSAz0m0_S1`&4jLO6&;lq{rn8gtxuoqbbKs! zSGh$k(tVh+CN6PIml{vQAr8EYPMtH`j|ZErF?7FyS-ZK$g3(B9(71Z`coq;|6`0%=q)x3V zS-nX8(LwpsxhCZv6HC}d@F%qz9tIGmFXoq~XXeFTl)x)i@9bii&fqC~%F1b92aQGf z^J8B z&X(L#%=8Bq;CMlNa!F@m?u`ME=3yZr&Ig?70Ljkz1-Tpw*ez~pUz>6V z?^@Y|s3nwrU4AD9k4tj|0D+0PytzIdp=-ix!C1h0LkaCBkqCvrt=fyeU=-$-(-C^3 z_|17y?ZY>55|#N1>;jT+S+41cwuq@R)8HNE;b#{WMD@PNy*T`=tr0?dqw=Z#y@}|{ zAF~R|d8onPwU)2(6Lu70Bs<_rh$zJXd4KKWUq=w2Mb@XLPhJYZ zj{TKt(rC;Nc_7HM$X>TgT3*FOfI`ij!yjmPQZ9X`3(i4B^3snH99;kwQdgBsEM}Ma zeGR^pSrGf$CI?X{JgQ!0(+lYZ1fIPK9~-T-Wew6xb<0e7C6>XOcihj^3s<>>wMpY_ z4nMF9Ot(m~qoO|_b$Mr!@)1z6V7y6q_evhudZ8O|*~N##EzijH?Q?=QvRX8@(?Q%r zcbUC<8*Qf%JxwInnOee7|iouE}SW)ejCL_usHB2wli)8 z>OHB^s&VL&c;tmtE-x%}%YxeMKP5CK)i~k7Z#RNi-hS1+V>$Iu+dDN=yzQQ*_iT3L zI^_b=_%l;EH#{kWhj_{w4vw^j1t=UhCu@AMXY*bak z^jyY*kMM*Uo$jSV(8$oYp4slTgDv1trNhHGsrChKNH@u1v(=y2y#J*g_R!p^8R6RqZX?iGbT9i?k4?2R{~oP^)fUs*iS(B75I7pe z-TZvNc6cx>iQa*qZP2Q;I zhbT3P58V(Q;x8a%r2Rx4$Uhlgm(o^X(tm-wM!mfqW0vcv1NcNkOM&_eR9W_^--6G+{GHX2(pAIc7G zdd+to-f`C7cf8h}t-ccmd$8I1EswdUcaS5wz?!4X>GonCXuZTx2RMm{$n-clq@4e= z2*nFIN8hR^*wXgoU_W45yL;Dx(v0Q`~h}!(rvr}nS{mYGh!rL`}Q6a(`bLIcy)>1 zvG&v2C~Tz?&{x=3%W#2K0w%2H25a8eBE~f<-3kkv^#Y+MFwKNLp*{s2;ZI2FGEcxB zfg)RWdbKlb?b;jV1FC@R@AU#E#2|mdwzK*Gu7&eJoWHFPlPH@p;juS*XwpIs`Wh%8{k*?ERRg#n*p1`c zRFMPRUc)s0jm~rO72|ftC|0Dq+wBRC%`mHy9xDaSmZuzKk;4TToP5(Yj_x_$RxNLk z*+5%2{S4x#D4|{P0wV zkc_igR?RZWTGVfKU>Ej@4$_`ywIA8U@TPY)X!IEHxEft+Tnb3D5S4Y;>&2B?GufK$ z$HJuNJe@jK~Ldlrk=03^iO&xiQ6<4E87853}9ti_gX&7r(Ujhs-lR~_vfd+zO|r``N7d$bocMmO3;=1 zh)vb(i=O%#J7#EpOlVN6JfssB*Xjr)5E$E~OJ#BY^52F{{DVg2AU7wIjWA7;CdDr?$U;6gfDf*fC-=9;d?76HbBra?Vdc5)rV5` zNHZrEu@MsT2_!M=T{knTx3d)uAdWCB6lO(9>5hQL?Ccdd&E`Y_eFDX2Dl$JSHE?>h zJ2h1g+!r4dnj~Dm4`#W8TzFw>XU7G^>!7xI2a*-}M?k+Pon!AH3YaWGBr12ZF|#h5kLnJ=tR>(3+nwaf>v4CGM$F<&Xz>eP8qzR z39NtnoI*#V7#7H{9*~!x`W>v8-1JL$3uApi$-PL6(M)Zm#41y}$1nq)hzF`Sgu8l# zLUogrj2>O9vh9kDR5VKjSr@db>!zyRD!EE<>Bi@}`@z>>O2?;twh{?keI@ZZX$Uz( zS9RZN`qB41A6br>pL@o5)2)y;L%)q#U*e;ZeGPQK(&04jr?oR(QTf0s2Ohx947{|0 zFZlou;~59xQd>t~OZ)o=${?UDE_Od_^6~LCqw4yL`qPQf@L9>QkBdIgt$?u+aI@5M zfcEb5T}C+!3r#|YFo<5AVtvvwm*vlsFfstF=j*>8H6Y24fk)+)|Fq8eHwfe{5`|pw zJfUL>Ewr46UIxx%b7mq~jQ{Wr$klYS-{_#2!05^di-f9g?Y-s#mXVzKsQAN|5bMCH z2O=#AqGn7WG?_Um?G+x~GaI3uNawIJxQr7w+L1 zb(HI|Gy(w%#k^@!QKj<;C<<|jmLhYIy6N?C>JmOqI=kBo(l9Wg|NDuuC|+R^(DWeO zdV&Bg30yg(DH7CLz|!}Q+I^w(HbuvH&8s}M=OH@OU>A_%TtzA^s>U)vsS}}#$)ZK} zWdbfSA^b4`KmiU60B{AlREru4l_oC6_B_ZLuKlE^L<%1Q08v#t507{a3wRA1lCQmy zuK-rTNKNi5u>ATJfXREF1ZW4ONTy|PGWb()H3bt>B1cdnyYhRHpugBn1 z-=n(1`$YZ{#(kt;5HyEiMbCQ}Go7Df70GS__i3q)=}PT}LM&yhL&#ja>8+X=&Q^HF7@+X}eEY9gui)ftdj(&h|5w z$|qEA{YDQ|g+{)b(wb6k0fFN)>+YOeHJ|zE?_JJv7v7v7%&N|%5}hdp~_L`|>`%vX@nRY_PO@W1Ql;v{Y3M zVte-k?g%tGmQG`0prC~CS3U5L;`l3DTi>d4w48&ah#LFj(dhLqcj|m=_y# zs_qAW>5BFD?HJ|2Fq6tA>Nx`(=DuVM>4AD05s=24gr zMI&Mk6xnfC+=Thy6+(m#uWqON-775Pf09946QRX$8d&zWg$Tg@#kP*ko;LE)awqA( z8KX#Y^!(G!^|U`0<2bMw-{v@SwZc0w2wOWkrfgkkcoK?aOv&H_ZsZ5G_d>bWHrM~L zg!4o3{FT;+kwvEyi*4=5zr^$}#WnJmkt8fKWEA_)%_;lO?d{d^iiXiwyaf{<#yh~j zHr%3frEWK|F(y5|g9EyId|oy&vB%;P0&BBjx3qE{+n-n);l&`fn=mr`a44P@XkBuP zU8qaG6m%U5%hR318AI0{MG&?2<?=6nUER!stvEQ6 zK`I8aIAgt`|HQ0T1^^PYjLt*(hb>>lfi%4&9NV>9--h>o6G52q9cK10u5?5Ks1h26%t3l#Lj zz#*WaQFa~dQK}goY!RB8B5Z87Uq|7mC(sj+Qt`gfcRqUj{(jr~FgD4oNyP$O>359Z z-C6nTr89f6!uo>mR9K-7(+_c4m6ajtGp19uUzqB z#`8kgia_hmue|F-^xr@Z-&)>FRz#7VxxKZeS?_xD8-{)Bfumy~)4Xoy<2VA_V+Ztr zAj<2_Y!2-oEL?H)(5@p7RmPS~mif0N%PNlh4+{!jz?MrA zaw!<~E#(t-c0sf~Fqvtj;~R@+T@A8I{6>i330}AHDqCc>E5T^7!7^B;nm%o11QNWA zY1+s|?6=$^$f8Ze(<9>Z4X|oSQd|hMluzW;(&}y`)pbdJ_3hDjaenJ>e%Z4G2h1IT zk}_96j}c(UVbljGF5Nar8=jwgLXI_inQVPciVAyKrZ`VJT;A$yS*>d>Qvl0+5L$+~ zc}f}6tmyju$z2u`ZiQZoSw3!D3NET$Tr5-62W?dkTg8eMYjaiI6sP%Z=XgQa8r!<$ zX2eI8fJfw^to^W?g78O*-c6{}60V6^1Fua~6T4hp&91qAE91-NR-$w5PoYx~lJ8?C zGp|W)B)`xv*(&Kh6Ts(2FI=4tGdbCDdNwo$Fb{1&j$VPPf^{7I=bSWhyccB6^8+C! zWm2J(^U>jA>oWw-dRFC9DV>);1PzL8i%C!myOLbFkWI}_V!h(y(?*Y1jYSsh*X-Hv zVfLW4RReSc320bt_wk-Zw4G`djcA!%{N9#}|{pzBgudcb_yqOOf@p zQXwe!|JJ0)={~F1Oh|~KcG*oj5o9`z8&-?YibY=B%;pIS3M0nw)#zqna+xR75hmwf zalFxV)-O33^Zc_BhQvsdf|!8a`d;y9dqn$1>6ko~9KW==%NRnwEJ~PevY!kIJ3Lvg zN=5!_3FdI#9VGb7{0amPtnLbs6RKJ#q%9z)Uznj{g)100zS zr*9{CW$Npg4g33r;Wy?xI%d33d(D0WWNsFnd-wpNX5Bz5pDX^&j)?H zWn?{HgTruA|F;BNy=&Xu`k%v$DodY}Ds;ur?n;G)G_UITtvBMd-lF5OF|_z@mzcUf zgw@yqm+l3K*B7wl;m`_;lLz)*{)SV=#6Pd{6SVpis9EFCc?UlKSl=nlTp#op@n#u9 zjl-cH67Abi-N{dprKo^8XBUrN5dXr3E-(yOXGYHgMMFU3?a=e-(;MDfY+s{Tq`Xd6 zbV(pxU_Y26&G4nJE`gS$g#f`dt!rYq@N82+3j=sv#ok+1y7_&`2z7Z}pKhgZ2I z1p+<|NSg5SU2jspE{j3ySdDNr6JIFG9R0&6ne?&)acQ~g_ZgK zNB7<367SS?-E16c%3FDNZI=?^R(d^vw8*ulI{7Nu+hzzWlBp|8^hk16*fw=V*IG=E zcK9@SLWo_jYfyc?@;rDpcj;R3NDO_9m61!7oGa>G(=Rw-Q>hZ_V%sW_)1GAJ)J7cX zgj>I_zeSs^^eN&?{4X!Qq*@7gx`!Uk6&ugL^y9_m8>gJegHgR1V%x0lZvV_-C!$CD zOu)q@M`yd#nup<~iZn^GZ9LSPV0EP)w>5H&hw|Cw+Dg0K%D&4HNVc9_g%9bUp`fqS z2G!B{zyR^qMj?#~N-?o72!pRM^BJ_ux>n6!SAvwk(e0yx5Mms;YQFuf4DB|4)kHZ9 zwf<)*bj#7v+)%W{WfSuhbTp(t*7H4|7j=GMQC%W?X@t;yy@Jm|T})Io9h_oty=9~> zpPk{t6#!4lOuRd`ONIl>_M`@WAIEQpC7@!Uk&yBn0W1p|qxCWFGz$&K4tVYD`p+X^ z)PQ$boD@-H_y9mG_mi2M3p&jo#XhHTBzbs&IZEz^>#H%K|d@$;3BlwUR_ML#7`A0#-&XOiBY! zrkXs4{D~Q;0aMw<6^v!ixNH8kd#}K^J=3}kIMt_MVcNuy5gQ{{>2-e0t=$nAqDIl@$}Fb`^o15N zH|=obL||acc%L{~!SNuG&JICyd+w1?>U{xu8AQ3d{06`cZ@F%g5rtb?Ni?UVK;Bj& zi)t=w{a{bDwS*@q8&@~9Nx$8=G4oN2g1?bY7mLUI==vdORa6KEkhNkdBpfavk(ZTi zHvK+P^~;9ZtF7KPyY>ysxVbv&&_!dD$skT5-3w+ih6|k_pjIzyG8m96z>`vZ_Uw%o z{_{pp6pj3Q!_ez$?SUw}H6y`WVzev~8oI}cd^v^>5M@~=Oo>$kmz-^alTfequh;8} zdD+2(7L!-PM3kGb>2fI88(BZU-sJlOoH@IRsuU%olodoWG`WGD`VW3W9ETk@F@L9Z z@CzkGA53GxAF96VuH2(xmKn{G2Zba%jEaTOy7o#1wv zHb)Y6{?_ld3e&uHun`M#?8Ov=$v#*Qgl)Q4eI9@M4zKU$ z;ziahXlS_MU1xX(mV%yQ&r(yBArp!)?rg0Qx=1W-?MWITXRSKt(-B7*nMbZ0-F&dG ztiDFl>bY#cl6VKEEr^q*4|C0jJC+m@Z49YU>wB%Iejm)sE6O}N9q0ipUxa?n_HcP~ z#AXq;_5>`qS5({#n(r9@Y`9Mp%Q9}avm4*pW|M37MLe`O!oXz_{YfMEGP|J3qteCc zaK)SxWQa&r_!|+7bd${~$=$xDrY1UQ`rGbujhqp1D0ECA8#qY}{~}XaDjdJ97C)sZh{{e(!DIv`~h~3m<;ccW19Hsk%JZ?TkH&9i4*%2D3OAslj^o zm_q57O2-GoiORq&gG1~6A9dC78c%5|Otug}n)1g|<7i_@wCM}A!mU7@TKB!x%XrA` z*De~KRiYb!tgGau3H`wfF)a;CCyWbUmaKw;D7`m}!RG+2H?ug^&_1sA*wlMvX$GP+ z&ahv0Th!_V2nWvjAi{qp6G$RyTIf=?KDyHP1wvgYs&7s86#)0f36+xa}(lDf0wa=V`6vUWq-B(3WPvHciyB0%EpBFc-34L4If0F8k8@5oy8wN zNcHR^xC6d-Mk*dKv{9fj-aRx5wLF1-Xyn6H^)yM-#7lGzbA7%r&ouLXgsCiXHuG`t zI5>x$wNT3rpzTbTUcUOStvZdwH*$K_?D|Y}U}-D?w*8a2^(SyOX`x<=?wv>BG|8d@ ztxnC)EYdR!V3e8#{X{M z2p`f;*OT0K$|T-%?F>emX3@)7rk<|-ar6%)C6l8V<>%G21Dpkj=N}8c^vRFFQc)!j ztdm&rCDf{p4m!a&J-9? zlOfhi-S(E6S>CS46j+pAvOv$x>GxX^KD5vgZ`PO9v&J5Lhck8+cIs?A_p*W`4yhJr zdi~!O5m(A|m5O@NbgGt=Qp54@srr#uO{`FWl{TuOp;oaT*K~kVwj@ z62Md9H9mWE2B&!;Y*jW(OVMvsa>Bwq3Z3BX2+j~A^WO#IWI6BZP-LKKSfSd_8+moe zj$ZTf66{~9C2YK`r_V@?fH|mL`PJ0*k_|GHF_!UN@#oA58E+hZ@-MX9K#rcqB8>>h zr@>x$Q1+xE-1^9;IwM2-;~{S=AfQ_HiEpB!T;P)AU96bVQHoC7Hq5dDg;om9+953C zkC(8C77%RpKk2Ntu%egCwmT!_O#Vi6C(D@Il4#`1e`~saTi1%h z`&slXpIe$+zkYyar9#tz;4?SVYn0C;>`6Vnk?%i+os({Nl|^O&uva=)lP-wk>WTe0 z77f=-3KUSanrW{?M5Oc2;NGgO?j`38mM7oKJbFcWVvasn8hwqOTCry3z<$$f%_7#& zSao~8Ku4Zd*tHe9LVNB~lXrhQC`BKeH40&3gx`FwW&4D3F&rm-*83!@wE~M` z?s;e@`c39g$I|fsVmA?K-rm0?e;UEz>WyAk*<^b7)AKzHH@k7~Wm1DVZg~Mu^4{s! z3C0qpQ_Wv!?!v8md>Jg^S9z@gViXU9+87*gK!u)p#uHD%v(kN^0?q-zD?o%UU~}UP zH_oTl{_jHaB%x0H5~HovEt|-he1q&FMp_XYM zK%h9ZAF?T?mDR7?2Zo$9x3oOMcPGBQ(f#5D4Gi|xw#z@j6TxdSx-hRiNsy}3fNHi6 zRD>xCGa*G&t$N{9+2YI}-D@q&^?%C}+BDmp^;AKgdN?q}o}=Lc5llO1-OS;BkF96qtP98HQvbb-F<+QfG2ai2KBr}^j_yw-8$RvPyheOhE|D(yk z5nOJ(t@OUKX8Y}a+f-d35)1;%a6|>(Im(G^wFuVuwb^GWh7U%->AEs&`NR00uY-}6 zN=o8fdW}mPfNCx-2-W#Ua0lS$(AC#}Bz!!fnaMI3gGINA^UoLmUR4qsD=*ca1d?0b z@wSYe)xlfhd@$7ufM>e0QiFoRk(;}ej8(?Uo{d8p=ruvdA1CmX0B#z~e4LFb`8r2A zt2eoUlaUdi(O>k2K(pv`a3%9ue}OcMNVt+-V8)4_>NT{#;m~DXJNc3^w7212jlZ#s zz_@K4Jzl{L@k}+9(Z#i_NuBQ73pvCLt=G^1Xi9&>$+OG#1)0zU)r&7k^AyUFs9Cbe z+2u3uxVT&Nyb^~(g0*irbOOC50i87L;$q4dEXcnyTBJ7^LD$lD*GA$(ng&31{c)+O zv_V$hEaMiU4`-${OR4B?4Z9iAlTww_ip|*~*GP(2zQO{iV zzPlW7V$7PL?gU^;HH>o)Mn839qssYWW>uhs|hli9^Fm$5O%9DKYzOhwgIylFy zx?KQiCzz3P6jucvnE`)`VYy2T7W}MSn=Z`XkG*4REEfzcJum6r$fP4C+{D|oQ%5w zRw;6nT{Cg%lC)vu#Tvs(OhP%VS-;w5zD0Hu+MNOYUGiHADCNwp;DlR&_NK=QP&!mp zTsELweSMajj@iCm4TbI@SX3rPl}TrUNNqq{gUvlpZNuuCQz6L`Mvkw0a2%eN#>+UA zZtUUGS}h9~T+9??^iA?@gG|AK)|qY^nx~vHW$zA{>y=Aycy3vLq9akKfE%8|mX9uqt;o&s+Exb<#H^X}Vf z>~8jQ?AdN|&N}DC>G<*!b!&0VTbSpK{+-4c$ZuKM)X||wba(-NC+M;#c-O%X=l06A zN~_s4^=pyw@wh+R&b&a6`8l50k~-C0T?!)I9U?6$5-Lb4AaMxk zPALVH4rv5Iy5qp?bJhF)-}jw)=EKZ0pXPqL&&7N2{9^z1UVE*z;m+wQo+=1OFz#29 z42N+Dpv?O+z#+x2O*_}+*=42R26Z{@5%uDaSxj$E-F+M9e38pqBZ$l>EtT;RTj8K| zaIQXQ$`TCnL6r7?l4gvNmgn2TAM*kT8O{ypn!^;S={JwjN_HXdADlwcmerJ54huM% zy*r+!gqA-@bN^{rk-{2cmE$O_G>1H}&wIvIOUI=fjT!^Gia3=x*r`C*)cp+Rn*#^9 z@>uge1v0RoN!b3^YG=yole zq#5V?sfZT-lItljvX%d2QMCa!$Y1TC1hu;vv?M}L#bmzPVjEyyH6|cL>E>yFfhaI@GCSM!;syK7Ne&&0>&-QSOV7f;+Q(-;Hn9sG@kPk? zLCg7{!hDM%4d*A%*RM0`dO0c$RO3&syh8Y_-=zMm95{-5BU`&4>CHcDs_Ew|l94$< zVR1c>oCW*!OCETZp3sNX{!^L9#fMtuV>6}aBQ;)p;n3L1zQp;a60AoSOz4G7m5P5E z?2jeoUUJGFvh4jdQmh=OQr1`sn~d&+OPZ{q-~=Q}i0UNk2m{GcI~@h*{uyoS|E z{u5K7z(^9p!(F4oOBA(!G4LkuBqfslfvApQ5ktk>wIj^ zflLNgD|c1Se0vkScslwt|6oicCJ~yC2zUA9 zw6wDhIRrQhqzJ7&pW#v(!oh1YW`;;s_2s zdaG}cA02lIQIBiKSHHP|=5#*S^Je)GI`%P6D~geJhw_azJcG1Loch!ZCi29SGN)>; zO_QACSF8R=PKPD#A>Ve`(Sz=c@9pUVQ1jW$b19G4S$m_4=R-@3T102o>O7SLT2c`V z2WfD!Z-uVN9>X+jjfa5&P7VF|Z^&k7OQNO#r2+O6^KBJTdJYbQTDGg9pTQ~lro9~1 zLlTYfuMtG1kH!KX%dU`~KF!*Uag2jbv7xr3-8Ffs5W{;L56#S4i;EGMf#R(1DE_SU zlPd!#V2JTsY3uH9?5~F8Xnyrr8FK?4?QiK2)>s4n+hiQA=d1_NMZ_ zJ0Il1xzMq?y8tFa;5vo@qm??BD(#^|&Se1R@Z)2#tX7q5IZ6@Ay-X`s>$mIXs7&>G zn$%76+ZaUzRLOlV_M1D)?vMKL-wmXmwav%Z+eb6MrI>F1_Y@GJ72PX08dlm)~V9FPiaNL>&#JBI+j6sbmttlMBOdxz3r5n4g^`ARvIiC&tHj zIN9*XU}7Y&4NkcG*1|gQ6E-)PeS3PyIW>^X!o22Ssj$2HIODw@23s{b3MBP=8BGRp z3rd3xh-f4gw;3EJJ6_K8HnW*}bnkDU7?1Yh4@$7qKH1-qyf(3}K)zHIG%h=E+0wJp zcs}`3OC~-ZsVn7hj#Y9h1D%a`t#K<$U81Ao@J>EqJelR=-1Z287zulUHf&gb@<^Syi69COD) zH)OXcB`k((oZn_-?JFXa3TFkbii+%9NaGyY${kF(!Q63%QZ~QDW?~)0OP~P;LWaED z7Nu`NKWL!tC5deVVHPqWkZ^YHNl5gw7VWNlZ(SRzcC!HL*P}Dd$=6wb01`|=b3@)A zn#5wl`znJd@$05hcrzcB=miTqq3{DrmTmCo&$(8k&TZ?r!B^=>>CawMspRY9o?6+Q zH<Gg=MyGL+-sBgpWoaEga0{4=@LS*hRP4{dOL!$eSkmDq(}iC{UYB^EOk6CL&tu*@Wxzt` zLd($bh24tT(RJ%M#DPm%Y1H`*W8Fb&TeY=c_c~?2Z#p}t#5poS!&$P0pP6W6n%d0c zq#)W*p+=L;&sEx0`rMjA(~+-iDW+&@MjFE|s<=h6=+V<*)ez)a^&5#LGSo&${W50| zc(Po(>ak-$^UaicC+%~?7lpPXb)^2sU2d~N^BYyp3nEN;{uhknTRTx>|7T@H32jc^ zv{T+{%e29(KGzhAmyf-x)uEvodTvm7w^QN)N{zT%B1}a zL;GV{r!me+tWk?=Q|V1Xb>$r(ipCz@*+FSnI#ysT8-yLmf~d589o50bVle+irpWKv8~wT@RBPGKj>TSYxPJ$0P4|Y*N=ldxI4z50_#D zOf~Z{*F0$3^kex4lDm!t^;nA)mWP8fq`u1GToyat!ol?k*zhXcBy_-t?^(F&!H)2T~K)7-JmQ|{MPNgud$mp1Ul@3);u^YExrDHv=h<& z*y$Nb6kXs875_4#!wk0$1RI^mji0h5oxt)vY@t)#cxY&-^8U^^EO(=^i7RwbUGv_k ze5wOC4X|N=k+zi|f5|ZFPfHVuI78eQ1P?|g^w$Fgm6MU^G z4LGRYWPb|q(@|;Hdf11cin?LG7h-j56RbYA_5}2_^zupkevXSXGDKx2CRTs`Y$>gw z0p|Nx%w?`TmO5bZ{Ms~-O~TqEqSEbVVLz*2^xU?m-=mgFO6TSXa}6E$=#JCd`thjA zb-wNv&h{wbTQG;&>&J-KM7P#!Vb{KujJ(>I;YCy~b07PJ~*67e1C2Tbup=M z37E z+cGq(R`XxZ>wVn}Ld^6Ooh|=XuV1k!yIcg_mVl&l*N3jkt9c%I7A{ZUH~qJ^0h7H4 zWLIU+xNZX00@1n_D0d_ZDJqKuq|cJYJ-C9X+S=P`*u%k+asTyS^37!47}C26C1%_l z?@o5+%HwQ$;(T>Zt@Di93J!DJ6yWFHS4k=nFQr*XY+7MIFR1ePy3Lm+f^foi#&-xm zZ6^=s$hI}crn*TTzlRg0!vRR|4* zwhN2WH95|5>+W0n*Cd?DlB zH)gL;YxzH1qaKL`sJyei-D*roZUuM;)_e%ySL^(J-QDznX`5#Xz-Ss!im5HsmoYeD zH!yY;BEqif3^2uo;nMrdcf7{-$k!>|kKjYoa?4DnB$H|~eG|zZOeulLz|CxyP`mJ> z?G?N9mq0;Fk$135>Ryu3>jvdT$kAa0Z)>+0%QsWC&Yc-rD^H@^GZ+Wv|1gm z9mtdAxhmpx(AHn#dFvMOEi35cY4Yo+uObX8?5%(_0)dz8pJJs@ri%BKn438eQ=nYa z)4k*JYe<-V1_SO;0#EvsZfwZ>5jf&;{-Jng%sJ@|8+$QHJMZA0x@%|{)l!S_gE9&D zZ$RK414>!LGk^QJt6BRCBbOml%&4-LUO{+h8qi{^21Yi%nn6k~Z2T0XB%{-<+;&+y z<3mwlWYfCBca!YCerh&6nwk|$49#JTJ}MG5bQEIePrg`G)zNg<|0J{;Fm*gW{O*i) z`!?43-Th(~YAkihaXqbah4OS@llq1=9gi#1HAdl9uIlmfo3*_j)#6Bkg0U;?Xg7AeG1Vy_i3~ z`5m5$bNtL|mkX2=B6v3f`r0>hG`Sd4CS+^ayxkrz; zv%gPtX}zXD-oNkk-uJcLWXA$~%?wC;F8sa)xNf^KoJfUuzWeW_Sbj1ooMOEMcFveo zy3GUo>Q2Ne*Grsd-l-f^GD?3?`Tx&bLs#C+&WUHMHYt<4T!OW)vK%H7PkajIfnW`A zcfxzMVDJJa!7<|Uj3ScDpmw^!uN~vfUHwZ*B@Q5- zd;i6#?S)zBa@GJ~%7ts>Y698Y8d$6L+(j}!x|4kZPJFY@nTuPGHN!UCDtX)u4=s*~ zXGo;7)2(k1k5xkfFM*2j?)T7h;PjP#;N^LA1dC6*#4-Vfqpx4T4)6ymmILs3*|G*q zdKzGXZH5YNTc+EA-)~PgbSlhG@6D{2CD znYg>B{g2NTkOl$23`~Kjd?C+_9>pafk?&N?(Rkn~_aI9a66NeEUfkdTgkELhSkAY1 zw?9I6B>0@yj+PB&u)M5|@h@n?@v+ZX1DTPYg{HZ>;AqJBH^tg78tnALrvd!m16j*- z@M7P2e`@K!uXh$QADfye^U+Zxm~!4#LvpF6IcjRgL#ZB;5YwC4+7Q`-ioU4FiU-W8 zoF_TRU0FkrbwyF6eY6@Sqa-{1R793PH3?Y9P2T>F-f%Wy_PmVzR4%kYxU`Eeup03+ zii_v`8jT0~A;4>EV9V#wV64-W@rU4c+U z7tgD50+?v}b@M6wK+z(wAi8*&WoI+T?@Z%jiV#Nv>utv^e_$pyI8uT~u0Ljo3>)a# zXy2b172+Uaj+I$gaRCK5jv}}{J-Po4n?D%Pz_5&4N=kr_(zyY4UiYMzmi}&DK#e@6 z)ULIix-TWgKHCG;neLfWQ}Wo8yIG=-?!9?0=VYRbpGsuXS($zy)Uh_jPVxd6)>t>6 zId*7-hcTX>DIVfZ5J!HJYKfHs)tO@KRcPsXY*8O82obdBYB}6wG#G zj5NGqz$|Q7qrLHrzp4sZq{%=^BfZaa!*<^vA+LKg7^DB2!?1~$bcmV!U(t>uFTK+Q zB^n0xxd)Cn*x&^(;ERy-KElh!EATDe7`S%fED;;^NAQvcyDk2Aq(tUKb-rQGBO8yd zX;j@$CIH3sl|t-~!d@ab1FI@4!CtIW?TlthHA_e?GzOx~f!aymFxm0#61FFLvwJh1 zS625Cd;PKsw;K!cW{FbU#b1PtoVzHUG9%!1h{s-l{vFJ94wN!W%ryn22#hB&Y|r-) zjnOKlAt4tz6zbTP<@2&NBkrUdYnxbI`6Wu3S-QA?;_#J_6MQb6N`7W_gll$npyT|t8 zN9Set&}{+%)LZ|&?6bP`GYa?Eu<~!7=i0FiVPk8XdOmG6Uafv9EHr_JK~&Z<2bK8x zwbfZy5H$VEslv;ecTG_!IISxz;q431Kh|9m(&bmt_8LUf5PQH&)vWL!TnL>bl>q(< ziE+;OX+5d3uNFHN+5FemlECu3MAKjpiz!I_7NDigoSz`(sD=Sa3jE(l2gnp+w7!E= z8eGXbZ(Nf=0;EQKcv>P`9>k=qGhz$@jAE`s?-f5(#^~smeujDgkkZVRo4z2NF}sB` z!6anc2K>+m54f9LNN>yGQDd}drBr9)!k9$wJ$f%9{`5(zVcejd$#8a*>2|p}CnG;^ z=~O5$BazVKd)28}BH4&hM8fkLRE*=wn0gptAC8?|-4Fs!sXXJhJBgRee3xG6Hu?Fs z%=;HtKZVPJQlsGk4@vWcIJl}>bA;S-#r$1Lg)W-%J;IGL2R z;QhCiq&}!EGODqMXxQ_hkaYbS1-Mqat&V$naLYa|3S*?lZyE;zXLairU&QDZctXgl zu-uA;wuUFTn!a7^Fz^;8qErD}Vs|!Ry^x54H2AEpBp)B*%1^29l>!>fI{Zl5+KVA! zj1|`331p+e+Ka6T%90+KOuW)TyOg&Daex(P=Xpj?i3i9KfNE57L;}RE7n~Y(mM}Sw z`IuI3SQ>e!*&QSIfUwpsNe8Qei_}26@LQe@6KfI3o&XV1xg6!|hrgzxpENwftGN*O ztb!K|ytH8hoqr7lqXx z>=kp@vb?eq;%>S7w&#a$gNE01%TF5om8Xp8#H02p%Ezo5f%^4ZkRMg$OP0FyaT{#Y-+5$ zaGB){Yv7HuYmkUA9GnXS86?EcPS3QoPt?t^{n|qokDi9U&dU1A%P4{vxKMo)>D&{0 z73kBUk2#D!vo-4v1IYo?+|l$iDkP&ZL$IY>S>pk)UWD?y(WbcdPzek=64$+1b4Sef zyfDx!}73iD!tYCrx@Hz%_ ze@0G+4AQ|EcDS0DiX}^1MTM$3_AZhD=*y5`xlh*9ac9eV&R$DiR=lNI4QP^TH8g?1 z-%BxzRr@?lR;*^mc83`sdC$s=w23{!!_1&VB{vGkg1$pPUw;w^9xcYxWeXi-mG>`# z5P?A5*f^S`5GkN5W~iIWW+vry*hDT0vyZNm+4+7&=@Gu5Nj%H@+(Jy%qPYUvx+}TQ zf`cU%F3pCBj2t;JfbhoFox~wAqcz%_w2klNw@ z?vK8r-F7*IFY+eIn;n9g>oM>r4eyHP#^u3MEdBAC z_+gw2nzX(#Qp@0Juw_dT{qOUtczkh~#F5mw;dmQXFAa3d|B%u=lwO|!4Xr-8%TuG8 z4G-*{561_FW@ZYd4#~7(AE{_UaacB)ga%eqPekG~*s?g1b zSSqTQz>7r~NSrw7fiZpeTTx{_O__1Jm6cdXvh|A1LJnq_z~6!YPi<#h529W`#8A2w zw6p^^Czf8NO?E(b*cq2c(Rp1Zl%CIYgUeL)Jgbo%pkpx2)AINS3#&i%mEXDBzr&F+ z)fPq{`_FJ>fMovvAN*5*{=d2;?-m}6cji6m9{K)|VOML!elKDNiy@UAhayYC+rbk@ z%uY_6u`g#B$5kUMb(O98$saHe&djvbivX6vCqE}V>=1>VzWjB14^gA2H-45ngkHQp zTa-uK5-3Ik(I@(7d(`{wSN_xn|8DQ|OX_+s1gFiTeOUpIK~4*&q2GanQN=-%m$y04 zXfP`Bv2=`}l43scBff;jCf8w^1E*B?&bYh8fBz7Nj>DuZHJ_IX%NNnIj=}<1$r{MJ zo_*=_7OL;F^OcBIcTTV2wP|oFFQq6OwzC99sL>fJG5o5suMQvW_NTV^^Y@7wd=C>m zz;FnrPq|g`Bh*=&swl&RyYiirBaUHNLh(DWv`LzcPlssoVlRoiaL%;NRRs}~u(5~0 z_`;=Vlb;>EKFhUx2A$jccPm102fA6j9<{Z8lyjxu<>fv8^ug)UP7dma)U9sQ8Tr^$WQHhY!i-K+AV#)E3xEFc|2LhOQhNQr_r(iQeJTd%G{DSnE4 z^@`-NCv=eq=K4PLg7pP30HCx|D|(kR)}O6j1=`kNJyq3*zzvHTqoKKR&UYvll0VLQ zp!Je+YGs6lXO@6~s>1B+8UCC1?u|q7#LlijTf&-3^;^blJlfQR;N2h=kHGDSa{|K9 zkL{(OZf=oW&^^YjEUyl_D(Sjb0OWUZ-3=3AmO_Fi>_#(u<92`BIps3(W3x?wM%pS7 zvdxFrtU|(Vk=-UID)$RIPClllsxoA}XCKS4-sj>&qqUKZ&L5)Rd;9Ru)*l_XpFVvh z;!pa~i-k-QbnD3+s-A4v-dquNpvr6#6|+P;QtxpUO=Jp zL~kcJf|)!ahQ;R+l8lV39h&y-my_MxHBO&?;FZA^bODjSfI*&cYuz~~z#j`6aMeJUr(!G*grRuM{THe7TUdh2fP3wTT(6cJ+az2`~ruIpYy}Y3cylLBGK%t!pF zgkyCsgR80FXrW_D$Dk>eQp;s7L);>iM9{5o{BX%rPoGM_0v)d~;FKg@W-jUBFEG}M7x-pmX_0w0MiwcTzjPDuPqR48XrO# zBq5RSS_s37uH3J}FXz3jSOuyF#YkO#fQPxXzHR^PeGF(tEGrcJt8>-|5buxB6OG}T zPV|9u02sSAa*y@%HC3s)_h;D7_1{&neic`HBzU7h96h+g`vd(wJo%zvKe7CO-3p)! z0TQzU+>~6MGFCo5;)DKLbSQ&;_GU$S46~p$o7i@PUl7nTbCBE=zQAs%Z|{>FgOOY) ztI>GoU2Fgxp21LqKXAj#DLAp_eXe#kRUp&9jtkS7fuLV#WAF_C1{f>OU=J7tes@n( zlLaXEvsQtR^9Lz0UPN6h%F_|F1$k_n0)Y(u$D$1{YL8?wH=+XUJMmnXN0whIOH{e? z(Ch=2@<9e)`E`%J#q8hCHsf8Q-GFq4=SC?&B8}1u?GIDUFEa7DPgMX^4QfqgxRIv7 zlN|z1ZDi3;N;TV4F&$AKFZx`sE|)gTrw5NO1_sfGzzzZUNm;oLJ5m9cStu$jJJk(+ zv{-G;uWE`t;sClg<5B(e_6xsz=R7E9xmAFp%s#RhHSyvB!i=n`S80%Y^_z*Sx`gTL zvY-2O)>IlOZ8xUi%8NQ3oMIqlAh>*ysb1{PZ^b=5wiCty0UXj*M^?T!QAWS8%QU^~ zBa5xpEE?PL()mEYy?eH!DQ|UPXjYX0mDtOBRBc1dvGII^^QmSetCQPatAuK@`hVZm zR+Q&lM+tcOYUN&ve_@Agi(2gXjd=vt))yKw2!#T{NqP@*H^BHbn|<-l*G?(-8yV?Y zk5@xD8@>O&L*{&xN=GqnNr0Hw!4q!CA!88?29D}NNDaPgs%cx0&;qsaR6w5QR|XV; z3uVgyhBvwaEo)X*wkA`#JkEU!2KkN>`U5YM7(7&<+J9)j=gM!Kp?aCEu^kZpMvd5@ zZA%-Rso@D(72r}Qpi0w*m{=WYILYtd1lhC^mIY>UV5XE6E=yUp zMn>|?vim**rmNh*^mGf|5(QC`5%5w0a&e#@c`ha^vw_q%(eB5+ssdM#s74TE+5Ti(2?Ue-^`m{_ zK%uNv(C_s_q|?qi=YQX`xzP5lUnlcWb)@n(RMJp3jM%>A1Mn2$6oY-7kePf|c4Y>= z%oXk|h|SWnEzS+;!nP&};XmqQZ;}Zds^WhMXz)C6#MtSqJv>`*(TAE9M_}x9rEY`CA_$GH4S1{O8`<_>R-jva7RqrW2MwWs;^qxa=^VgQ6dJZ5=W6#wae?M=|7zWA>j9e zuniiM@wZ+#4OarYi1!lpgS{ZfIlxoiyAZLl*J;*yr?*sMVeL$==u>uqDYuo^99Ecu zm&9qU?{NDqMOAc4#0btm0`1Go5|xu%di5l#u0MC50bWc7=hfJ04mtr-=F(4>L3orB z&87{w2~cFO^48hUWr{9_?DyL#yd^!RPqtPQNYLcOxb&oY|vPRUV;bhW&6jX zqSP6-T5URP`4@n&+-Tm|@Zcn=`h{ND>YneQm?OMfbqCpHPVL;Eeq3n~`^ASf(BQZ# z4k^e~afIZqeLNDLN8h)UCmyKScKA0DBWSg_uK%;+{!ct0r-DKH`BJ-splV>z-M%AY z*fwljB3oFl^_u{T_@y#P7TX9GzvV>~ULj6St16wLyM~GW%-EXcMjyCPTq>@=A(*?b z)_U(YgZ6XKij<~}E8FI}_Tf_OrUf3Q(k;!zM9+oT$aN-3ZyB%j#Fhj1aOf#)%o*g$ z#07h_lf5alJ)>K1X0y_=gx&e^5s#YeOtBb2|bw;LC@Um$+p&U z!ntWy$)0(^{Xr*I+?@WUMuS!MdpLgy$u`p+fV04r3B7SP1u`XgaAj}FHP5^M7|Hfy zweOb(iEy2dc;WYVxA{EGE$V#{bk}8@rma20-G}+m4dkZZ$1}IMZ@`Y&5g%L>SgLcRN zQ04_|3J_kdGk!JBv(eBH;PP)ijFkl31ctvs@5#h&C=5Sl5=Y+RYuYx1zy%XVI{;bC zPT(k;_nZIt@q_hEmB&p0@}&~c9DpC5`!qC=H~Lk2Z3Z}dJQrrQV}7%jTbx3nnFa%; z9rq7lr=<)|a4N}KdX0Gw*z>^lmvv^KR z1fcaMS;Wc*OBEy7j&~Myqd`%FUsSw?hk2KX5psJ7=;Z5pWREwOXtL}#vQFw>H`Vn9 zK65B~pdiyL8kaD7n>mI%-)yuL4PC-0PBL-lUqXdS8r4^aqGn+a*luUuV+pyi_Ukp@ zpWyyv_SZe?oEHR|)xsyrh;OA5pAd}GtnRZ9Sh&YuJDw-W(AM=2(N z#XL$Gk36F*dEvtBi5lw#hOZe)A+g-CvfqDq+NCT~sze=6QB573rIKn@P850{h=<27 zbN&Y<7q=an-Qc^Gt;yCkuAGz^bL|Q&*~%jGZi43gEiHZ|fk(8mrHF%%-W^kH=|=zn zM(f4mvIJ}&nm1?eo#^LjRB{mCQ_DUvsi3onQDt5qz34B5{imaBnv#G-9nE@@2{|s@ z+Wf)IndYPcV|4wsMtbku*X77SXH^z4<9H1Cyze&djJ@3big?$HGfHk8X|0hhbFb63 zP-!@cqba&c&!Bpn{=JORWJkmV?%i8|-4m1)q2NtRlV=f%%3X~vhsh`9F)O{9AS~t{ z5Bbpy-db0+zBzqOy9iL|cFntTmE1$s8xPm1E>sfc*e#akWVF&V3NP-pScpa|XZ;d( z7g=u>rjhmc%j9ND6>9c97d{ut?WmaaV7x3_QLALAF;-Rq537RLKgyW&5AqlXbu`$4 z*Fe^Oz;zn};P5bc1he=hALB0}AU{fsjjaL9e%poUc44~aZu*zjJ-iJgiB`L2W0UgL zIJAP=z0B`JZhKol(5-kwfs8qnQL~9o?Yv?_f_fWi-MB$nQ zjXBU0{HuASka>P8FroRXy_?^RkRQ8(wA)m}BIhGdF-HNbsX)DG6CEm}?m(ei!Lva) zBQi0modk*k)Ft;6@}aOs?4uo}*)AmQ#)dfj%eKDnsABN`8c(%Bqjcg$i!#P4+q;*A z=j^9LHqUtW%{*Pct-w;ebTR%)PH42#Shcry2rKP<*_dUtArWf}@$Y+e9)rs|J{U`P zTB}d25$dHwsjafqaea(Oh3C`bscOXQP*YIjLJ9w0zxDruV<8ONpsiV1$t~ za%WI90RHUyU(bz@iJhFo)!t{R)|K5aT(Gp6mm~FissiDU{5@ESffLTVepx?p6vlb> zD?e8O4g7xMAK-F+(kBPGw;h&IovuqQ#ht=k?hIy`&$<7wC>f7Rt0wB21-{jUSJNFo zF~=R(hT+K5f26@egqSZA{{YAF3Hxe*Pof&Rc$y0pSP=eePDfamG~iEs{W;lw=k<&m zU#mhe-}0|m#?PSJESrJBEiy%6%bE@TQrG@KZSzl2M;aU~^M{?cOSaZ9mUaL6J00f) zGo2H6$*;^2qBg#|(BM>pJMUkptw9*{rW4+A=rWcQ^i-AP@)sd>b88*(H@Mz6E?(bs zapM#u>vcJOr|ZdPet?&BD@y0Gv2y;`CZ9{j@p1d3uZakE+!m{dz+CS?R{`i_^Lj() z3bM(ct|oc8qU8om;1iF#An34!2=Wwiu;~_*FB{NB{n{3GC0k(>`HZ+GRl0B`xk6Jg`8|tJQV%dU@9!N=|i5x?D!!eaS~% zz9xk6dAw5l2UT)Vk!rYMXgim!=q_c|!W)Kt_}KKAYjt1HAiv@b-W&~OV`;ej`S zFe*tZE;K(isJvs6s1ZttOmZ<=iem^m*@~A;_O^YmTz zXowW`LsxsxgO`WFVUfX!j`Jkb=ihB-+`6G-JD1W*eq}`_ba}mrepiE-IKT6Md>1oh zgc$!SoVR+LnKyY=&XeOvVIR5&nY}wa2I&1Id5eQ4A(t_+(q9|Qa>o-|oVDoVs>u@E zV-M3!i^x^B)Hb=wjqS_3wL)SOCij+96{rYU64Bic7-Sw9wUZ8RA$Y2`C6%%*_;kv7 zr?1`pj?TH_8yNe=)rf7y(dFA3AHk{5bi<2(~waW?oOl}bpl?y+5Kf~cy zrk*igx!ai=*EYNQa52TdlY3R#NZX2$jLyZwE%sKrP~>HXlhxI-lTMbMqj^EXaoaVIt)5?h|fny`1{k$4TGMmj*E= zI>1gcP}sSC4BMPsYP}KfwLxsblhVRgFy1llv%j=^BEWgeQ`h0f6Ic6cR)@7+Dhsp^ z6&kGSGwW84s#xxCAg_+j${Al2Uq--DhB)-Mu<(JrbSo<;oSYVry<{aANzr0fWE~aESZYHl?U=iKL>s(T%846f!}TM1nD+wBS$d1Dw%ax*Y*{6vq-(slj)TjRMVZffMQ z=u)KR$wd3M0*l@jEX)vQ;VO#0SQ-q*rbk@3Fd>?+prKc>(s7FVn`x4W_>VZWb0_z) zdv&pO`?D&{Ipv}M8#Ajb5PoQv?q3yNL<~%2;qE(MR%HjsonQA>&L_3!@vh1VemhWW~Vj3R%kKK=- z&2{>0mc6apoATE~N_5;f3wj^kKRBweD*`oUKT`mKOS<|RY|NI2!JOwI+T}?k@3Vm& zgb()^{4l!nFHHTy@;ED2c>IdRmH1n+;8(h$oe`D|{dDT+ccR_QiaFy{~7iJ9Oeeues;a?8f^_;_DQBq+--f_U_rR> z^*KA;z{w_gkdOTw%l)ys+oejHY8&x9-tMzF(8>PKk65jb9n=#oSa;_o+aiCtD4;L6 z=HhegchC`Pd^hAu|0k|%g$~Onm+}sioe-SpAMs8Ji|Gm&VbOmE?n$Qd4NUl{sXSR{ zsXLf)nMm|X!r`(IDoq+t5Fj`;EyyItIwc>nvS zW#7@qb8{@gmsTma@ZIHBFF{(-0x#WfE8gQW_ka_@x1HCY<1GZhEBc)Ie>|<27yoeg zNke7j3l|c1UqPUTzSERN9-oYsJ*4t)I8V}4<3v4HkA2P3vN%LX$d|qRDIRj?7a2-p zy^b*HG?(YvnKK939%tKsIBz-c2TgCRs?;(qrDIP^6>O~Yy&YTX zyI5FJPcWZ_h1FKf>(wugh4o1Lb?qWE78Y-wl7SOB7S?ObhY?~uRYLS4zvE&_W&Gd# b@7$+{?tW3*G`xca|J=TLPYxwx`0W1x9_?MK literal 0 HcmV?d00001 diff --git a/img/registration-form.png b/img/registration-form.png new file mode 100644 index 0000000000000000000000000000000000000000..2736c368506ad6c5aba1b3dfd49ef84f16f3492a GIT binary patch literal 28645 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 literal 0 HcmV?d00001 diff --git a/img/registration_view.png b/img/registration_view.png deleted file mode 100644 index 2540278817094a0b3731a9be051483deac710c25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 398102 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�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�u0S&O4HBDQB0~Ko9AibF@;;||=`?)cv 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 z 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