From 10ec265a444de13dad0d796c8bb5ca93380d9e9d Mon Sep 17 00:00:00 2001 From: LUIS NOVO Date: Thu, 24 Oct 2024 13:24:39 -0300 Subject: [PATCH 1/3] fix pdf encoding --- open_notebook/graphs/content_process.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/open_notebook/graphs/content_process.py b/open_notebook/graphs/content_process.py index 9534db0..2a8b9c3 100644 --- a/open_notebook/graphs/content_process.py +++ b/open_notebook/graphs/content_process.py @@ -1,4 +1,5 @@ import re +import unicodedata import fitz # type: ignore import magic @@ -68,7 +69,8 @@ def _extract_text_from_pdf(pdf_path): for page in doc: text += page.get_text() doc.close() - return text + normalized_content = unicodedata.normalize("NFKD", text) + return normalized_content def extract_pdf(state: SourceState): From 177d2c2b93387ddca862250499d5dda5f6b927dd Mon Sep 17 00:00:00 2001 From: LUIS NOVO Date: Thu, 24 Oct 2024 13:25:01 -0300 Subject: [PATCH 2/3] WIP: podcast feature --- open_notebook/graphs/website_extractor.py | 179 +++++++++++++ open_notebook/plugins/podcasts.py | 307 ++++++++++++++++++++++ pages/5_🎙️_Podcasts.py | 150 +++++++++++ stream_app/chat.py | 78 ++++-- 4 files changed, 686 insertions(+), 28 deletions(-) create mode 100644 open_notebook/graphs/website_extractor.py create mode 100644 open_notebook/plugins/podcasts.py create mode 100644 pages/5_🎙️_Podcasts.py diff --git a/open_notebook/graphs/website_extractor.py b/open_notebook/graphs/website_extractor.py new file mode 100644 index 0000000..fc4e69b --- /dev/null +++ b/open_notebook/graphs/website_extractor.py @@ -0,0 +1,179 @@ +""" +Website Extractor Module + +This module is responsible for extracting clean text content from websites using +BeautifulSoup for local HTML parsing instead of the Jina AI API. +""" + +import html +import logging +import re +from typing import List +from urllib.parse import urlparse + +import requests +from bs4 import BeautifulSoup +from podcastfy.utils.config import load_config + +logger = logging.getLogger(__name__) + + +class WebsiteExtractor: + def __init__(self): + """ + Initialize the WebsiteExtractor. + """ + self.config = load_config() + self.website_extractor_config = self.config.get("website_extractor", {}) + self.unwanted_tags = self.website_extractor_config.get("unwanted_tags", []) + self.user_agent = self.website_extractor_config.get("user_agent", "Mozilla/5.0") + self.timeout = self.website_extractor_config.get("timeout", 10) + self.remove_patterns = self.website_extractor_config.get( + "markdown_cleaning", {} + ).get("remove_patterns", []) + + def extract_content(self, url: str) -> str: + """ + Extract clean text content from a website using BeautifulSoup. + + Args: + url (str): Website URL. + + Returns: + str: Extracted clean text content. + + Raises: + Exception: If there's an error in extracting the content. + """ + try: + # Normalize the URL + normalized_url = self.normalize_url(url) + + # Request the webpage + headers = {"User-Agent": self.user_agent} + response = requests.get( + normalized_url, headers=headers, timeout=self.timeout + ) + response.raise_for_status() # Raise an exception for bad status codes + + # Parse the page content with BeautifulSoup + soup = BeautifulSoup(response.text, "html.parser") + + # Remove unwanted elements + self.remove_unwanted_elements(soup) + + # Extract and clean the text content + raw_text = soup.get_text(separator="\n") # Get all text content + cleaned_content = self.clean_content(raw_text) + + return cleaned_content + except requests.RequestException as e: + logger.error(f"Failed to extract content from {url}: {str(e)}") + raise Exception(f"Failed to extract content from {url}: {str(e)}") + except Exception as e: + logger.error( + f"An unexpected error occurred while extracting content from {url}: {str(e)}" + ) + raise Exception( + f"An unexpected error occurred while extracting content from {url}: {str(e)}" + ) + + def normalize_url(self, url: str) -> str: + """ + Normalize the given URL by adding scheme if missing and ensuring it's a valid URL. + + Args: + url (str): The URL to normalize. + + Returns: + str: The normalized URL. + + Raises: + ValueError: If the URL is invalid after normalization attempts. + """ + # If the URL doesn't start with a scheme, add 'https://' + if not url.startswith(("http://", "https://")): + url = "https://" + url + + # Parse the URL + parsed = urlparse(url) + + # Ensure the URL has a valid scheme and netloc + if not all([parsed.scheme, parsed.netloc]): + raise ValueError(f"Invalid URL: {url}") + + return parsed.geturl() + + def remove_unwanted_elements(self, soup: BeautifulSoup) -> None: + """ + Remove unwanted elements from the BeautifulSoup object. + + Args: + soup (BeautifulSoup): The BeautifulSoup object to clean. + """ + for tag in self.unwanted_tags: + for element in soup.find_all(tag): + element.decompose() + + def clean_content(self, content: str) -> str: + """ + Clean the extracted content by removing unnecessary whitespace and applying + custom cleaning patterns. + + Args: + content (str): The content to clean. + + Returns: + str: Cleaned text content. + """ + # Decode HTML entities + cleaned_content = html.unescape(content) + + # Remove extra whitespace + cleaned_content = re.sub(r"\s+", " ", cleaned_content) + + # Remove extra newlines + cleaned_content = re.sub(r"\n{3,}", "\n\n", cleaned_content) + + # Apply custom cleaning patterns from config + for pattern in self.remove_patterns: + cleaned_content = re.sub(pattern, "", cleaned_content) + + return cleaned_content.strip() + + +def main(seed: int = 42) -> None: + """ + Main function to test the WebsiteExtractor class. + """ + logging.basicConfig(level=logging.INFO) + + # Create an instance of WebsiteExtractor + extractor = WebsiteExtractor() + + # Test URLs + test_urls: List[str] = [ + "www.souzatharsis.com", + "https://en.wikipedia.org/wiki/Web_scraping", + ] + + for url in test_urls: + try: + logger.info(f"Extracting content from: {url}") + content = extractor.extract_content(url) + + # Print the first 500 characters of the extracted content + logger.info( + f"Extracted content (first 500 characters):\n{content[:500]}..." + ) + + # Print the total length of the extracted content + logger.info(f"Total length of extracted content: {len(content)} characters") + logger.info("-" * 50) + + except Exception as e: + logger.error(f"An error occurred while processing {url}: {str(e)}") + + +if __name__ == "__main__": + main() diff --git a/open_notebook/plugins/podcasts.py b/open_notebook/plugins/podcasts.py new file mode 100644 index 0000000..e0a1079 --- /dev/null +++ b/open_notebook/plugins/podcasts.py @@ -0,0 +1,307 @@ +from typing import ClassVar, List, Literal + +from pydantic import Field, field_validator + +from open_notebook.domain import ObjectModel + + +class PodcastEpisode(ObjectModel): + table_name: ClassVar[str] = "podcast_episode" + name: str + template: str + instructions: str + file_path: str + + +class PodcastConfig(ObjectModel): + table_name: ClassVar[str] = "podcast_config" + name: str + podcast_name: str + podcast_tagline: str + output_language: str = Field(default="English") + person1_role: str + person2_role: str + conversation_style: List[str] + engagement_technique: List[str] + dialogue_structure: List[str] + wordcount: int = Field(gt=500, lt=10000) + creativity: float = Field(ge=0, le=1) + provider: Literal["openai", "elevenlabs", "edge"] = Field(default="openai") + voice1: str + voice2: str + model: str + + @field_validator("wordcount") + def validate_wordcount(cls, value): + if not 500 <= value <= 6000: + raise ValueError("Wordcount must be between 500 and 10000") + return value + + @field_validator("creativity") + def validate_creativity(cls, value): + if not 0 <= value <= 1: + raise ValueError("Creativity must be between 0 and 1") + return value + + +conversation_styles = [ + "Analytical", + "Argumentative", + "Informative", + "Humorous", + "Casual", + "Formal", + "Inspirational", + "Debate-style", + "Interview-style", + "Storytelling", + "Reflective", + "Narrative", + "Satirical", + "Educational", + "Conversational", + "Critical", + "Empathetic", + "Philosophical", + "Speculative", + "Motivational", + "Fun", + "Technical", + "Light-hearted", + "Serious", + "Investigative", + "Debunking", + "Collaborative", + "Didactic", + "Thought-provoking", + "Controversial", + "Skeptical", + "Optimistic", + "Pessimistic", + "Objective", + "Subjective", + "Sarcastic", + "Emotional", + "Exploratory", + "Friendly", + "Fast-paced", + "Slow-paced", + "Introspective", + "Open-ended", + "Affirmative", + "Dissenting", +] + +# Dialogue Structures +dialogue_structures = [ + "Topic Introduction", + "Opening Monologue", + "Guest Introduction", + "Icebreakers", + "Historical Context", + "Defining Terms", + "Problem Statement", + "Overview of the Issue", + "Deep Dive into Subtopics", + "Pro Arguments", + "Con Arguments", + "Cross-examination", + "Rebuttal", + "Expert Interviews", + "Panel Discussion", + "Case Studies", + "Myth Busting", + "Debunking Misconceptions", + "Audience Questions", + "Q&A Session", + "Listener Feedback", + "Rapid-fire Questions", + "Summary of Key Points", + "Recap", + "Key Takeaways", + "Actionable Tips", + "Call to Action", + "Future Outlook", + "Teaser for Next Episode", + "Closing Remarks", + "Thank You and Credits", + "Outtakes or Bloopers", + "Sponsor Messages", + "Social Media Shout-outs", + "Resource Recommendations", + "Feedback Request", + "Lightning Round", + "Behind-the-Scenes Insights", + "Ethical Considerations", + "Fact-checking Segment", + "Trending Topics", + "Closing Inspirational Quote", + "Final Reflections", + "Debrief", + "Farewell Messages", + "Next Episode Preview", + "Live Reactions", + "Call-in Segment", + "Acknowledgements", + "Transition Segments", + "Break Segments", +] + +# Podcast Participant Roles +participant_roles = [ + "Main Summarizer", + "Questioner/Clarifier", + "Optimist", + "Skeptic", + "Specialist", + "Thesis Presenter", + "Counterargument Provider", + "Professor", + "Student", + "Moderator", + "Host", + "Co-host", + "Expert Guest", + "Novice", + "Devil's Advocate", + "Analyst", + "Storyteller", + "Fact-checker", + "Comedian", + "Interviewer", + "Interviewee", + "Historian", + "Visionary", + "Strategist", + "Critic", + "Enthusiast", + "Mediator", + "Commentator", + "Researcher", + "Reporter", + "Advocate", + "Influencer", + "Observer", + "Listener", + "Facilitator", + "Innovator", + "Debater", + "Educator", + "Motivator", + "Narrator", + "Explorer", + "Opponent", + "Proponent", + "Philosopher", + "Engineer", + "Doctor", + "Psychologist", + "Economist", + "Politician", + "Scientist", + "Entrepreneur", + "Artist", + "Author", + "Journalist", + "Activist", + "Challenger", + "Supporter", + "Mentor", + "Mentee", + "Panelist", + "Audience Representative", + "Case Study Presenter", + "Data Analyst", + "Ethicist", + "Cultural Critic", + "Technologist", + "Environmentalist", + "Legal Expert", + "Healthcare Professional", + "Financial Advisor", + "Policy Maker", + "Sociologist", + "Anthropologist", + "Myth Buster", + "Trend Analyst", + "Futurist", + "Negotiator", + "Community Leader", + "Voice of Reason", + "Conflict Resolver", + "Emotional Support", + "Pragmatist", + "Idealist", + "Realist", + "Satirist", + "Story Analyst", + "Language Expert", + "Historical Witness", + "Survivor", + "Inspirational Figure", + "Cultural Ambassador", + "Digital Nomad", + "Remote Correspondent", + "Field Reporter", + "Data Scientist", + "Gamer", + "Musician", + "Filmmaker", +] + +# Engagement Techniques +engagement_techniques = [ + "Rhetorical Questions", + "Anecdotes", + "Analogies", + "Humor", + "Metaphors", + "Storytelling", + "Quizzes", + "Polls", + "Contests/Giveaways", + "Guest Appearances", + "Sound Effects", + "Music Interludes", + "Shout-outs", + "Interactive Challenges", + "Personal Testimonials", + "Quotes", + "Jokes", + "Surprise Elements", + "Emotional Appeals", + "Provocative Statements", + "Irony", + "Sarcasm", + "Alliteration", + "Repetition", + "Foreshadowing", + "Cliffhangers", + "Audience Participation", + "Sensory Descriptions", + "Visual Aids (if applicable)", + "Callbacks to Earlier Points", + "Pop Culture References", + "Hyperbole", + "Parables", + "Thought Experiments", + "Puzzles and Riddles", + "Role-playing", + "Mock Scenarios", + "Debates", + "Sound Bites", + "Catchphrases", + "Voice Modulation", + "Interactive Games", + "Live Demos", + "Behind-the-Scenes Insights", + "Vivid Imagery", + "Statistics and Facts", + "Open-ended Questions", + "Challenges to Assumptions", + "Evoking Curiosity", + "Memes (if visual components are included)", + "Surveys", + "Testimonials", + "Provocations", +] diff --git a/pages/5_🎙️_Podcasts.py b/pages/5_🎙️_Podcasts.py new file mode 100644 index 0000000..dc2ee40 --- /dev/null +++ b/pages/5_🎙️_Podcasts.py @@ -0,0 +1,150 @@ +import streamlit as st +from streamlit_tags import st_tags + +from open_notebook.plugins.podcasts import ( + PodcastConfig, + PodcastEpisode, + conversation_styles, + dialogue_structures, + engagement_techniques, + participant_roles, +) + +episodes_tab, templates_tab = st.tabs(["Episodes", "Templates"]) + +with episodes_tab: + episodes = PodcastEpisode.get_all() + for episode in episodes: + st.json(episode.model_dump()) + else: + st.write("No episodes yet") +with templates_tab: + st.subheader("Podcast Templates") + st.markdown("") + with st.expander("**Create new Template**"): + pd_cfg = {} + pd_cfg["name"] = st.text_input("Template Name") + pd_cfg["podcast_name"] = st.text_input("Podcast Name") + pd_cfg["podcast_tagline"] = st.text_input("Podcast Tagline") + pd_cfg["output_language"] = st.text_input("Language", value="English") + pd_cfg["person1_role"] = st.text_input("Person 1 role") + st.caption(f"Suggestions:{', '.join(participant_roles)}") + pd_cfg["person2_role"] = st.text_input("Person 2 role") + pd_cfg["conversation_style"] = st_tags( + ["a"], conversation_styles, "Conversation Style" + ) + st.caption(f"Suggestions:{', '.join(conversation_styles)}") + pd_cfg["engagement_technique"] = st_tags( + [], engagement_techniques, "Engagement Techniques" + ) + st.caption(f"Suggestions:{', '.join(engagement_techniques)}") + pd_cfg["dialogue_structure"] = st_tags( + [], dialogue_structures, "Dialogue Structure" + ) + st.caption(f"Suggestions:{', '.join(dialogue_structures)}") + pd_cfg["wordcount"] = st.slider( + "Word Count", min_value=400, max_value=6000, step=50 + ) + pd_cfg["creativity"] = st.slider( + "Creativity", min_value=0.0, max_value=1.0, step=0.05 + ) + pd_cfg["provider"] = st.selectbox("Provider", ["openai", "elevenlabs", "edge"]) + pd_cfg["voice1"] = st.text_input("Voice 1") + pd_cfg["voice2"] = st.text_input("Voice 2") + pd_cfg["model"] = st.text_input("Model") + if st.button("Save"): + pd = PodcastConfig(**pd_cfg) + pd.save() + st.success("Saved") + + for pd_config in PodcastConfig.get_all(): + with st.expander(pd_config.name): + pd_config.name = st.text_input( + "Template Name", value=pd_config.name, key=f"name_{pd_config.id}" + ) + pd_config.podcast_name = st.text_input( + "Podcast Name", + value=pd_config.podcast_name, + key=f"podcast_name_{pd_config.id}", + ) + pd_config.podcast_tagline = st.text_input( + "Podcast Tagline", + value=pd_config.podcast_tagline, + key=f"podcast_tagline_{pd_config.id}", + ) + pd_config.output_language = st.text_input( + "Language", + value=pd_config.output_language, + key=f"output_language_{pd_config.id}", + ) + pd_config.person1_role = st.text_input( + "Person 1 role", + value=pd_config.person1_role, + key=f"person1_role_{pd_config.id}", + ) + st.caption(f"Suggestions:{', '.join(participant_roles)}") + pd_config.person2_role = st.text_input( + "Person 2 role", + value=pd_config.person2_role, + key=f"person2_role_{pd_config.id}", + ) + pd_config.conversation_style = st_tags( + pd_config.conversation_style, + conversation_styles, + "Conversation Style", + key=f"conversation_style_{pd_config.id}", + ) + st.caption(f"Suggestions:{', '.join(conversation_styles)}") + pd_config.engagement_technique = st_tags( + pd_config.engagement_technique, + engagement_techniques, + "Engagement Techniques", + key=f"engagement_technique_{pd_config.id}", + ) + st.caption(f"Suggestions:{', '.join(engagement_techniques)}") + pd_config.dialogue_structure = st_tags( + pd_config.dialogue_structure, + dialogue_structures, + "Dialogue Structure", + key=f"dialogue_structure_{pd_config.id}", + ) + st.caption(f"Suggestions:{', '.join(dialogue_structures)}") + pd_config.wordcount = st.slider( + "Word Count", + min_value=400, + max_value=6000, + step=50, + value=pd_config.wordcount, + key=f"wordcount_{pd_config.id}", + ) + pd_config.creativity = st.slider( + "Creativity", + min_value=0.0, + max_value=1.0, + step=0.05, + value=pd_config.creativity, + key=f"creativity_{pd_config.id}", + ) + pd_config.provider = st.selectbox( + "Provider", + ["openai", "elevenlabs", "edge"], + index=["openai", "elevenlabs", "edge"].index(pd_config.provider), + key=f"provider_{pd_config.id}", + ) + pd_config.voice1 = st.text_input( + "Voice 1", value=pd_config.voice1, key=f"voice1_{pd_config.id}" + ) + pd_config.voice2 = st.text_input( + "Voice 2", value=pd_config.voice2, key=f"voice2_{pd_config.id}" + ) + pd_config.model = st.text_input( + "Model", value=pd_config.model, key=f"model_{pd_config.id}" + ) + + if st.button("Save Config", key=f"btn_save{pd_config.id}"): + pd_config.save() + st.rerun() + + if st.button("Delete Config", key=f"btn_delete{pd_config.id}"): + pd_config.delete() + st.rerun() diff --git a/stream_app/chat.py b/stream_app/chat.py index 0c68b41..6e19d03 100644 --- a/stream_app/chat.py +++ b/stream_app/chat.py @@ -3,6 +3,7 @@ from langchain_core.runnables import RunnableConfig from open_notebook.domain import Note, Source from open_notebook.graphs.chat import graph as chat_graph +from open_notebook.plugins.podcasts import PodcastConfig, PodcastEpisode from open_notebook.utils import token_count @@ -52,38 +53,59 @@ def execute_chat(txt_input, session_id): return result +podcast_configs = PodcastConfig.get_all() +podcast_config_names = [pd.name for pd in podcast_configs] + + # todo: se eu for usar o token count, preciso deixar configuravel # seria bom ter um total de tokens no admin em algum lugar def chat_sidebar(session_id): context = build_context(session_id=session_id) tokens = token_count(str(context) + str(st.session_state[session_id]["messages"])) - with st.container(border=True): - request = st.chat_input("Enter your question") - # removing for now since it's not multi-model capable right now - st.caption(f"Total tokens: {tokens}") - if request: - response = execute_chat(txt_input=request, session_id=session_id) - st.session_state[session_id]["messages"] = response["messages"] + chat_tab, podcast_tab = st.tabs(["Chat", "Podcast"]) + with podcast_tab: + with st.container(border=True): + template = st.selectbox("Pick a template", podcast_config_names) + episode_name = st.text_input("Episode Name") + instructions = st.text_area("Instructions") + if st.button("Generate"): + epi = PodcastEpisode( + name=episode_name, + instructions=instructions, + template=template, + file_path="lallaa", + ) + epi.save() + st.page_link("pages/5_🎙️_Podcasts.py", label="Go to Config") + st.divider() + with chat_tab: + with st.container(border=True): + request = st.chat_input("Enter your question") + # removing for now since it's not multi-model capable right now + st.caption(f"Total tokens: {tokens}") + if request: + response = execute_chat(txt_input=request, session_id=session_id) + st.session_state[session_id]["messages"] = response["messages"] - for msg in st.session_state[session_id]["messages"][::-1]: - if msg.type not in ["human", "ai"]: - continue - if not msg.content: - continue + for msg in st.session_state[session_id]["messages"][::-1]: + if msg.type not in ["human", "ai"]: + continue + if not msg.content: + continue - with st.chat_message(name=msg.type): - st.write(msg.content) - if msg.type == "ai": - if st.button("💾 New Note", key=f"render_save_{msg.id}"): - title = "New Note" - content = msg.content - note = Note( - title=title, - content=content, - note_type="ai", - ) - note.save() - note.add_to_notebook( - st.session_state[session_id]["notebook"].id - ) - st.rerun() + with st.chat_message(name=msg.type): + st.write(msg.content) + if msg.type == "ai": + if st.button("💾 New Note", key=f"render_save_{msg.id}"): + title = "New Note" + content = msg.content + note = Note( + title=title, + content=content, + note_type="ai", + ) + note.save() + note.add_to_notebook( + st.session_state[session_id]["notebook"].id + ) + st.rerun() From 01f8eab10eaf2b73e34d316a73dd418e18062366 Mon Sep 17 00:00:00 2001 From: LUIS NOVO Date: Sat, 26 Oct 2024 05:17:58 -0300 Subject: [PATCH 3/3] add podcast support --- .dockerignore | 4 +- .env.example | 13 +- Dockerfile | 4 +- README.md | 33 +- app_home.py | 2 +- database/0_0_1_to_0_0_2.surrealql | 2 + docker-compose.dev.yml | 4 +- docs/PODCASTS.md | 25 + docs/USAGE.md | 8 + docs/assets/podcast.png | Bin 0 -> 32105 bytes docs/assets/podcast_listen.png | Bin 0 -> 33327 bytes docs/assets/podcast_template.png | Bin 0 -> 295408 bytes open_notebook/domain.py | 6 +- open_notebook/graphs/website_extractor.py | 179 ---- open_notebook/plugins/podcasts.py | 56 +- pages/5_🎙️_Podcasts.py | 56 +- poetry.lock | 1180 ++++++++++++++++++++- pyproject.toml | 3 +- stream_app/chat.py | 58 +- 19 files changed, 1386 insertions(+), 247 deletions(-) create mode 100644 docs/PODCASTS.md create mode 100644 docs/assets/podcast.png create mode 100644 docs/assets/podcast_listen.png create mode 100644 docs/assets/podcast_template.png delete mode 100644 open_notebook/graphs/website_extractor.py diff --git a/.dockerignore b/.dockerignore index 4b63955..c2335f6 100644 --- a/.dockerignore +++ b/.dockerignore @@ -7,4 +7,6 @@ data/ .env sqlite-db/ temp/ -google-credentials.json \ No newline at end of file +google-credentials.json +docker-compose* +.docker_data \ No newline at end of file diff --git a/.env.example b/.env.example index c6adff8..41f7c67 100644 --- a/.env.example +++ b/.env.example @@ -14,9 +14,15 @@ OPENAI_API_KEY= # EXAMPLE - anthropic/claude-3-5-sonnet-20240620 ANTHROPIC_API_KEY= + +# GEMINI +# USE MODEL NAMES AS "gemini/" +# EXAMPLE - gemini/gemini-1.5-pro-002 +GEMINI_API_KEY= + # VERTEXAI # USE MODEL NAMES AS "vertexai/" -# EXAMPLE - vertexai/gemini-1.5-pro-001 +# EXAMPLE - vertexai/gemini-1.5-pro-002 VERTEX_PROJECT=my-google-cloud-project-name GOOGLE_APPLICATION_CREDENTIALS=./google-credentials.json @@ -31,6 +37,11 @@ OLLAMA_API_BASE="http://10.20.30.20:11434" OPENROUTER_BASE_URL="https://openrouter.ai/api/v1" OPENROUTER_API_KEY= +# ELEVENLABS +# Used only by the podcast feature +ELEVENLABS_API_KEY= + + # USE THIS IF YOU WANT TO DEBUG THE APP ON LANGSMITH # LANGCHAIN_TRACING_V2=true # LANGCHAIN_ENDPOINT="https://api.smith.langchain.com" diff --git a/Dockerfile b/Dockerfile index d6ea62c..eec48ba 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ FROM python:3.11.7-slim-bullseye # Install system dependencies required for building certain Python packages RUN apt-get update && apt-get install -y \ gcc \ - curl wget libmagic-dev \ + curl wget libmagic-dev ffmpeg \ && rm -rf /var/lib/apt/lists/* # Set the working directory in the container to /app @@ -23,6 +23,8 @@ WORKDIR /app EXPOSE 8502 RUN mkdir -p /app/sqlite-db +RUN mkdir -p /data +RUN mkdir -p /surrealdb-data CMD ["poetry", "run", "streamlit", "run", "app_home.py"] diff --git a/README.md b/README.md index 3471834..907a7d7 100644 --- a/README.md +++ b/README.md @@ -10,17 +10,7 @@ Open Notebook empowers you to manage your research, generate AI-assisted notes, Go to the [Setup Guide](docs/SETUP.md) to learn how to set up the tool in details. -But, the gist of it is: - -```sh -git clone https://github.com/lfnovo/open_notebook.git -cd open_notebook -cp .env.sample .env -poetry install -poetry run streamlit run app_home.py -``` - -or with Docker/Portainer: +To setup with Docker/Portainer: ```yaml version: '3' @@ -52,7 +42,6 @@ volumes: ``` - ## Usage Instructions Go to the [Usage](docs/USAGE.md) page to learn how to use all features. @@ -68,10 +57,16 @@ Go to the [Usage](docs/USAGE.md) page to learn how to use all features. - **Recursive Summarization**: Tackle large content by recursively summarizing it. - **Integrated Search Engines**: Built-in full-text and vector search for faster information retrieval. - **Fine-Grained Context Management**: Choose exactly what to share with the AI to maintain control. -- **Cost Estimation**: Estimate costs for large context processing to keep budget control in check. +- **Podcast Generator**: Automatically convert your notes into a podcast format. ## 🚀 New Features +### v0.0.4 - Podcasts 🎙️ + +You can now build amazing custom podcasts based on your own data. Customize your speakers, episode structure, cadence, voices, etc. + +Head to the [Podcasts](docs/PODCASTS.md) page for more info + ### v0.0.3 - Transformations ✨ We just release a much more powerful way to create more value from your sources. @@ -114,19 +109,18 @@ Locate anything across your research with ease using full-text and vector-based Jinja based prompts that are easy to customize to your own preferences. -## 🌟 Coming Soon +## 🌟 Roadmap -- **Podcast Generator**: Automatically convert your notes into a podcast format. - **Enhanced Citations**: Improved layout and finer control for citations. - **Better Embeddings & Summarization**: Smarter ways to distill information. - **Multiple Chat Sessions**: Juggle different discussions within the same notebook. - **Live Front-End Updates**: Real-time UI updates for a smoother experience. - **Async Processing**: Faster UI through asynchronous content processing. -- **Improved Error Handling**: Making everything more robust. - **Cross-Notebook Sources and Notes**: Reuse research notes across projects. - **Bookmark Integration**: Integrate with your favorite bookmarking app. - **Multi-model support**: Open AI, Anthropic, Vertex AI, Open Router, Ollama, etc. ✅ 0.0.2 - **Insight Generation**: New tools for creating insights - [transformations](docs/TRANSFORMATIONS.md) ✅ 0.0.3 +- **Podcast Generator**: Automatically convert your notes into a podcast format. ✅ 0.0.4 ## 💻 Tech Stack @@ -134,6 +128,7 @@ Jinja based prompts that are easy to customize to your own preferences. - **Streamlit**: For the front-end (Looking to move out of Streamlit. Contributors welcome!). - **SurrealDB**: Fast, scalable database solution. - **Langchain/Langgraph**: The backbone for LLM interactions. +- **Podcastfy**: For generating podcasts from your notes. ## 🙌 Help Wanted @@ -151,3 +146,9 @@ Open Notebook is MIT licensed. See the [LICENSE](LICENSE) file for details. --- Your contributions, feature requests, and bug reports are always welcome. Let's build a research tool that respects our privacy and makes learning truly open for everyone. ✨ + +--- + +This project uses the following third-party libraries: + +- [Podcastfy](https://github.com/souzatharsis/podcastfy) - Licensed under the Apache License 2.0 \ No newline at end of file diff --git a/app_home.py b/app_home.py index 55f491e..2d28529 100644 --- a/app_home.py +++ b/app_home.py @@ -24,4 +24,4 @@ except InvalidDatabaseSchema as e: st.rerun() except Exception as e: st.error(e) - st.stop() +st.stop() diff --git a/database/0_0_1_to_0_0_2.surrealql b/database/0_0_1_to_0_0_2.surrealql index d84d1a5..1e6dee2 100644 --- a/database/0_0_1_to_0_0_2.surrealql +++ b/database/0_0_1_to_0_0_2.surrealql @@ -76,5 +76,7 @@ DEFINE EVENT IF NOT EXISTS source_delete ON TABLE source WHEN ($after == NONE) T delete source_insight where source == $before.id; }; +DEFINE TABLE IF NOT EXISTS podcast_config SCHEMALESS; + UPDATE open_notebook:database_info SET version= "0.0.2"; diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 80d200b..77b28dc 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -6,7 +6,7 @@ services: ports: - "8000:8000" volumes: - - ./surreal-data:/mydata + - ./.docker_data/surreal-data:/mydata user: "${UID}:${GID}" command: start --log trace --user root --pass root rocksdb:mydatabase.db pull_policy: always @@ -17,6 +17,8 @@ services: ports: - "8080:8502" volumes: + - ./.docker_data/data:/app/data - ./docker.env:/app/.env + - ./google-credentials.json:/app/google-credentials.json depends_on: - surrealdb diff --git a/docs/PODCASTS.md b/docs/PODCASTS.md new file mode 100644 index 0000000..c0d3407 --- /dev/null +++ b/docs/PODCASTS.md @@ -0,0 +1,25 @@ +# Poscasts + +**For the audio learners** + +The podcast feature made Google Notebook LM famous and for a good reason. It can make your learning process 10x more enjoyable and efficient by processing a lot of insights in a way that is very easy to consume. + +### Define Templates + +Setup a template for your podcast, define the role of the speakers, the format of the podcast, and the length of each episode. + +![Podcast Temmplates](assets/podcast_template.png) + +### Pick your context + +Pick the context for your podcast. You can use your own notes and assets. + +![Context](assets/context.png) + +### Generate your podcast + +![Context](assets/podcast.png) + +### Manage, Listen to and Download your episodes + +![Context](assets/podcast_listen.png) \ No newline at end of file diff --git a/docs/USAGE.md b/docs/USAGE.md index 73d1d0b..06a32b2 100644 --- a/docs/USAGE.md +++ b/docs/USAGE.md @@ -49,6 +49,14 @@ Or by turning any LLM message into a Note. ![New Notebook](assets/ai_note.png) +## Generate your podcasts + +Once you have your content ready, start creating beautiful podcast episodes from it. + +![Context](assets/podcast_listen.png) + +See more at the [Podcasts](PODCASTS.md) section. + ## Searching The search page gives you a glance of all the notes you have made and the sources you have added. You can query the database both by keyword as well as using the vector search. diff --git a/docs/assets/podcast.png b/docs/assets/podcast.png new file mode 100644 index 0000000000000000000000000000000000000000..8af36d2ce134ac0d5864bbe7d0cbd3ab0c742682 GIT binary patch literal 32105 zcmd43WmFwa+cg*nPVf*&(BSUw?(PmjZ`_@O2MaDCI0Sch4+ISm+$BhGcmJ9@oIKCW z{Ft?7%{%k47K=lluIlQl>Z*P1y{`^ckP}Bjc!%)f#S0`!2@$0iFCf{0UoJQp;K+QP zx!sEw5PIgq!U~eY!h{MAwx;G*CNEx4#5hOGOG7HY{yy^M{TBrhIKl5F{vARSqT0+% zUEd9SYSP)yN+I(W%WIu6n*6h)!i?ESTL zIo#|!nD1!Q1o4_yJ7*Qc!qi^!TxCU+|8DD}v>7S>WDQB}iuSzxIda&$a#B!}6qzAiB* zhM_H^URL<06MK^(8*ATrAz}?VUnB_TUA~>Vqbba=cp=%HW%w>mA|{Vf)$EQLqj03V z0wz)xu7oHG(keMTw(G+;Lb(peE^Nr|_fUmI4%6+fGiMwoZ~61`^^%uPUMk>2HeDt! z*?nwdeyOAHpu5GNqFQt?CdDzaQpWVteVxPByn`8X;s9^6b&sP~IdcuIp~xHZ?2|F; z3q9EZpu^QnG$c)BWnWMMpW$9W1e?Er0zN?izwdzG7cXAM2EBj<{-OiFBAJljZz0(; zU;h2f^>m`3vaqBi@K@Q$!NkPI@gG|!t4XOxpsFcz6%8j1Ss5-PTWh)x#O4whktQY;+8C z3`BeggoK1V4#uWjN+M#<#ex5LiT-hNvg4wscXf58b7iKpbugo6s%^P z57p?rvn4@~m(4V;THw-d<+=Be3Fr-Ud& zzOq@J*jVoe7wA|C;(rOgk#0%|7VCuN({#Z451MvLqU-7?-eIo(BVU9-0Vq!Js?O^0FRuF`RO&VDr<8h|{)FP`uaja0+|y;Gb@FqeP%vR7TC{$So1rWgBwxi+ ziBzrXBvhkRHcmH1y}XEO5vi5ImuM2maj=QZ;2^!dB#2cc4%+H~ktOjG@QQDSLw=T?UrX<2@sY=%N_QRU#TmBEpsS5kkwlhLx z@=4~)y(Wloa!ciJCl+EJ{q=liDEx+!rB^&zNh|W-4K@Bo)md!GorZ4H)}4+q>J4z+ z=!S>iTM#|F5R(C1 zL!6(8o;khI`T9JS2*)5}5NsmxdCLNldEE6-E(I*7O5)l;P14PE1iJzoCke$(5211S z>!o2E#v3QlO7(KG+moKYJYH84QVCRas>Lc}?p(q!KJSrsrs3=FDQp)iiT|0NcGxix z*&L0hr>}b-;A|sj5G?mK=n2m>@Q3T!dRN58IKFN zxiUz4?MM2rsTgN1j^G>Xw)K;cmDW{pr=G2D-BGbx?N*E>J*8GE(Lj64>{5lx<)qPW zJEbBETj=oER_`6P0lGzz`i@{iT3wXEWP(7c)Ig}#TxK;(xPq6OuSA&#KhWsQHwP#kH)%in`o3^3NA~>LtGjrmxG+JTo_wO{&PgF2i90?n zKRp>DQ8-3=*5s+T)APvm2_e}kS32|^GCJi=P(g2#e`KDRQnZd0J*UH#FX_>heWi&4 zd>;j;KB5QGG4D~IVoZr<0Avd4yzxB@yv_;j?_CiSEm-UC7}`Z3?ecW40tB5(r5tbG z%34cH6b~V`u1oMjBO*(<2S*xzf$+L7fBInITD_vwuaDJUDLQqs`TRYbQ;m!VH4eJ zX8CfLZO048C?A)zs(*XjY$GTc+2dqAwDKmmb*`wTG$?igE?kOAEy`SSrCZWtT`UX} z>0PBFCyU?mkJ0({4u}|D&wWs30yS2ABC{UocZ3wen*_6LjIapr_H=5BU|3=nvDxAa z{oAyHIFxsS-?rYIcq&Y=Xsj%Oh~zV1tWmTE5C8V5AfeK@(m(BwSgmKU7a(4%@CC(; znNPi)+O<|?rn*&yo#CIF5ZQt$sZmf+T8GD(vz)A!)!LM9e-(Sw7R6FeTYBKMVfvgR zrDZGUTF~A%8IM}s)+JW`EXeAMz(MDb-I!cCwT;H*(F66!6{+0V)!FPw7K|EAj?0va zpp&UIvNuk?j-@T2hCbOH8Guh^QiY5dP0W-1u2x$l^?I1zFT)wWC|}HCZ=+usUZ+XM zI8Ta2tiSlgX$hoGKbOq%xntIm#BO)Q5Qi%;!!=v=D&o)nhsp|(lB^Uq<^|`{TqtHU zmMe>4^B~)2!|Q#gfuwg;4ExbPoerT9@0vq`Ch}nOcc2yfk4tRHMjw8PP!3~Kt7ecm ziLgh4{T)pOye90p=70eC8=U!;7XS2gk2f=Ki_fVa0t14>D33$?BcZc7+=!@Kx!xdx zw`RpRAr5vJ8^jLc;0KK22pyUz!SNLRwlfbrcQSpYfql0jFeU=LuNq(iTd7(j`W`H} zCOR|&yESw%HlgQz+gBARqOl=WK>!}X1`*%R2x;tDIB*d)pomcdb*DGD))jQ1RsiS` zgNta00!38Ipl$`hwf+w^#4buk+-9K#GiirWiyc(`o6+NL3-|7KRqp6)+O5)`y>2x} zAn0tH$Vm^kF%%VpS`oYhYC~E16?K0euF3#6TcIQAg}6;BygfJgRx6({Q%RG~9u4@& zFwi|57^^Peem6{b5s;$c+&H5NK9UMRA$zj!eQ>SaR6y@k?l@FdgO6}v0DUeKG7lc7 z5LE#G7*1{&nt_klk#(%}B%#*--L8wD094W7_u=Q8qF9jux|sRBO+I)RRC_{Ts)?V{ za-WX?HxqzkCbS^;JO%0i(aX$ntxA@B-)6uoc-CdzZIkm3!vVhV%LFAPz- z3DIZ)FcK~CgR(GWtO_4IYsyds_WZC(zLElKxd@I4@843WPtey;D!msxYAd;L3=Qs- zC06m^LHY7DY|1A*bl}S9fv0Oo`h!U}cs_N<19R|8?4~_<`nXX7wdx^I`K@=Q^RI6orBCE)n;dqh_Gdg0_SpZluEPQH!1SW8w^zK$ z`H&p?WD|2lB)!V#@jdA3cr8f!+(MNUn2fP>x?0T5IZ>=Wo#>bf(0%0lTFKsfA^1lb zJ{SF8zYiMEP1vI?emsAkFvm(A6DvKa2alq*lv*_v1|()j(J@S3-5hueDrG8yMKv%N7(kS+wgO zh|;(&tJFP@R{UPQV-i{_(h>FA!FnD zZ6{qlLrmV^SUBxh;}6EyDVd#b#iP=q<>y={_rKo9<;%@S4MP8!0|H){A)_l~3=9h1 zkM}5&ab&eQGBG-v%K+q%)BgluIP*($bxxPF2AL!lF)~?P%$@kjs*Pf2gVE|+v(?|f z-|TUvbGS<_6=}$+(diR9?@q+)wZisw1xNW$nk%%IwWL$$t5E2x1-*I@l8UDwo3B5N z=L5k?rA!g@7hxi9ObyLfx$Jwi68NWLQcw4t@3I@8bdNS264YDKx8K(Z_e9~*X)?7F zt&z#p60FS}V^lfKT5SK!DwRoNQafZf`i*<*(hFUa#N|wt#0l~b$K}%?lS!rXyu^!E z$_Uq@^1>pWs2&LjFyc~&N{wIrbxv}*6_(_?NgwId6fEQLsjCo<B+B%WQ_+x<6!S3srnNz5Li060>HqUGGRL z{rN{{-7nedyofU{C=xg>1%?5oN+HeGaNB>lO^V`UDV1UHC=3>FkWzB=TIWvWCZ*h{ zBi?xv4yxbDYt>qmE#nBnEU^@*i$|j{yN~^Yr^5@nQJJf`m4UUOROtvBE475ZWo$k0 z=r3Tz*eK3=dB)aj3s-XVaWq-@5&yGJqu#if$zXi^kD^CP<-CeZGzhhwiNajn`Ka%v z)smKz^_LcGsNpV8&8*aGzv~hZ(!|K1SZO0JIpTT7zD0j;nI~53{Qb5gXWE z?rv@~uDt~qVfM)8<9VZp1pMAKVs_c;Jhz{9(@?~se&$Dimp->%FMzKyJM^a1Jdt%j zSub2b%5E2*2${;2PRw;kxZEEikxdq%(`zESo}@s2#zcf|2;CBP%8g2*X$rXbH^sA6 zJ451=vMmOkcl0WvzCWvb%~m&@^GV|lUr!DxN2@$_U3YWLO|N58M0(WUQN%Z0N* z%#vXaXqM};yY{p=B-4^nAQULXVz%rg?7+hv9z9jPz_CDemzVeB#&7(1;y|NJ9*;AL zlY$r;_IfC;>EGpM<1RBnXf!gD?~iZ#ZH(A@-+P0$XR6TFitJS`_ z{y6KA*wEtwpWggHm*EE~lqa?5)_!hsCz!aVC`jZ`B+|uHW(FZ4{5`Bqa<2N#CUJP*?!ytJsM^lcYb?eUtIRxAVUV|qi_KKsh2X|uQ1G&r>#b&G zj&f8-*{S=sMlo`~2uCU&vo9+gev-i4_<1l+7po0z&72pJ$VxT();f{)u}rRn?WR-x z?}}DYNd6g@%=nv`0J5|nhX_6SCC z_|W~CO$M+_%uAU4BMorA9+BCvcKeq{L%Rz__6ne4su=`;7{@TGy1Vnag7;o7KR>G_ zLch>`1{yDpdhQY}M)j-kN%!e_2vp&Yt<_Na%}p0S|J z8v)+{PrieD(>KZiIO{WZR0BT-2aTS;HB{@s?i74wpvK7BAb7&yX!WD1h6ni>ue^h7 zxFm*QDE{(pVdcL-;%bI(5~FWnClbMBq!0fO9;0Wh1@$8wLI%mk%^lohnH_^~0DM;U zah4C<@p(WuGbW_KWTUZ{5xe~mC(ZNIfiySu-%c>*=BDWc_< zeAtfBkwtUw2RS5*9h34Rl+KB8O1Z(!V!*YP>fS`uUKY zTjJlloWiQu>l+%+mp8e;A;=Mn*cog0(WkxcC$~P6Z5Hr@oJx%F!_SjV5#w^XoA5S< zdL{jtCeCqlSaLYEe0Eyg^gUNLUkvAPtLG)La+>qMnI_blUG^zO zKefI8V2$FOkF8@qyVBFUS!w!&j?!R>IVOu*jeOew8Lf9XSvP;nW>o=N41`xc>l00+ z!#n2+hcO<$3tIr1#AZE5BcINbK&470S#Og@s`yo;X?U$y-WcGWP6p}cH-2>mpA2)W zu2+xDNdqKs_sEDmm-9|h+uR@uzg6r|O8r0xnto_vVj?cLix8CxMKNT^2EcR&=W0~4 z8~@CNctXRTJ`ANnYxuk#I+L{YLn-VrLLU(Zvc;ov%tpK|lJ|LeH;nd<#^tqD6zUZt zG$NG8?VF9ef+8%Mwkwvx1rDo6xC%}`&6pHxom=BA;PQINz_N3UxSzi1J8VCEO+Y|E zsa{s{4&IX1e4Ov_@cI->CGF$MZuvZ^c;udk#o$)TahRiSomIl#!Zon2uLR7EQ@A+fr*KPSG7+lCeqYha2E|^PtKp(WWis$usYpdq zv&rdWdUBK3^#EcXpcN>04)q)C+B>$n9mj$euTM8krb;*+e*e(io;zoz)NRT^R*Dw) z_veWc3}_qkll}BYHdi><1=z^s00bGdRQ3>Eh%9q+eyen_bUv0X(RbfD^p;qfSUeIF z3awNNlta(wPmoQc*P?=Il|ZK}B^HHW7ByLEq`rs`ng5znsjo=YGJNO88F(^CO$OqN z$};#4bs8Ot9?lbCkoclmE!*Niw->O*1WPzj*c5Q6XgNr@93rrC1fU5WkF%|!8&82I zr)|off_`8mCvWi`?ylfL>9WZz@jef;7<;I2LcsjU3#cw{dzW+jkq`x%SY$ABXv;|dvmqg7YB>^VrG1=_4W0Wn9bUdz2@qyb1lMN)9cAZAWX(j z7Ef>a=88pFa8(EieCG9JYxFozM)nFqvZM;dAXhv8yyHc@r`_hIdA(o1Y;t+P%O%j& z6b&s1C8pfcO0Y%nbAR5oFU9sv9FvLEE)OY*>E-sgu*GCimaA+AUs`g{PLY^{%hqT@ zhWA|2%LemtGRZot@*OS!F^%i>RKB6tBP(x9R`n#6S~oA5DwjBO*>i03azCR$doU~1 zsBB5)a+Xrcm&+9kACRar?#~ekWk2@@rrY>5hj36h*9RVrY_C5uSsol=2c!R6;*QSt z<%ZxO+#$wX;Zcr|+<=rE$+(>q`(icPvyd(zCO#YTyx7~eP$AS0l;<`dGww{src%m@ zwpxB@Zi^w{^Af2KFkWbXn9EIM^!EdTXIjjLobf?7Da6pG_n+2Yt1Pv+J01CPk;|u# zsWP4$y_T1k$IINGtyV9m(q^Oh@{I*q%p0}EKqOx#Ny+1OtvAYK@N^of{g#l!((@E))C-w3SQ+sykq&NNZjiP zU*7o-RpiSGh5HisjDih@ZL8iSKldkRHlb^_^}Je@;dk^_gmIivO1O6lkdSxZHHPCU zvyF$6MSb2gY%Mfqdz^75-7~{(u2A#V`;Q-2Or8ujKXX8*Pr zzKBNf<%_Si49I)1E2F@k)ogSK^}4fnWM#d|X0e)KQ5v_(!i(Gemy_tIg@m)ys(;{^ zf?@mV=FRR>DqEx7HG~~18%Zi0bmo!M2`2$eEL!z49o5hhK|iPyvxCLv%?9a$L7#`~ zdN~(SBHCC_#VV7*qF6&5m|G^u00kWTDs*Kg3T$UagqwP!UILGzJ~sq-__02;Zxb`X z)1vy#NmUmwn{#tGE%CiD%no@Esv9SayjThvh;`U;Bpr028yy@tn*Qx0;7whdbJgzF=-OF?5AeKFjTp7a8JDUQ z`t!jOJK{uf8(Ekft$gs8pFq-#4s5nrL~+pDs9S*v-%j*6-`TSGh=7U8gURB4@+yrm zoWum`9UR?PWd_#3LK?4zr8?{O9V22NIA!Tt%jp{Shz>|%WeFKE0|TgceaC{G*DC>M zzlXF7@&os{#T+_0761@sduU%1uVrq+RQQ21)3|ks(3Li)E2W#Y-%%_YNNY$_@a9EaYd@P0m}7 zm}Uz_CSw!RHz{E+|5WFx<2CMM(0zGNz;T4gTl8Vif4hv!d1<;+dhjzXl(Hzr)lVT3 z1>y$b&XeXtwMlmY577`?w-bsM|I<_!^AfM~Ns0R!j2)tO)0;C%fUr;?RBgFRxlwe4 zqLUyJ=963NL8>VoWs8j=;PogV*w$-2@$q0SgUBn1t`AVGyx8a7J(o>k8}-Ysw5>E0 zortq^JjXEB2o^wAR-wS|{6>M5w`#WlY;0TScVd6wYDkH%tSmhgsfdVyyq6FIen6x} zqvzp=co)$J_`LM7d>{Mdmq>B0O3r+C*RveoJFYKs|ua55s*sQJA&$9H4lVwHVX}f z1Ve28w7vTpJyA&h5;90ZGIT+X$t-r>j4nOi|8PsjcGKT+!di6^KWZ}1HoDqc@Q#z%e_?vj$+$uLc)uW~9rj0D$T{}&DWhxX=jL|N=oN_! zD@IHg>QdK$mjC!6jIsq%-e`x$xb-OA_nY?z>t43?`-nN)(ei9I=(}?Q6cnq^;I%DQVkrl05PN>x!u?S8Hy@rI!_`v_6qTYWMrbn zyu@~YHj_Xg{C}or{cj_z{m(QcjsTM1A#g zJx410lL_R9sw^vsZ^#}JP>Sfa;qG9V7!ah^m815ShG8dOwv~FZ)@lNLBA;H1o|D?$3UUv0l z7%$zCR@ptsP%3`?!grCzt#`BFy;LO!fJ0*oA2){Q7#%tt5t#qj!FXH^?XPLIX54VH zrmbeH25Jh|h*YLaq=>~L5+6&oXyDPmaJ?{{+CJuZmI*W{4GNnb2G#J4`|GK5+&{S} z6-c}_pD(M{X+&o+aXwx(DO|4jxX|RREqplFD$ZxVtUBEV5bmxj^W z`?M1*`@U4hZEP#+-+t$G+p4IsnU_4A23$Ffo|k0+X~=e8qe=kVdpK$4yU>1!XVrY1 z=W$--aD9TQSeth8+x4k?+Prx9T3vF+2f7ls!&1})!L%KGZM>!E(yd-r$ z$uuuJ#>g8OP_@j}o2P4Frg< zYv%LL#j7m73pF~Q)|KcsFD>!+Ld!%s@6IWTMWhp=;PW^w*La+}HsL{8?sK~& z2Jc`aV*QA%v*wFE;N?eoQ_*T?R|dA*89nvE!?wpA}H zuwB>oc~G?raHU~Ok!^3aJC1EAq|EX-w?ND*RXFsqoa*l-U`^nvwUh$HtK9qiQj@i) z6zFR{ZkLBAS%JyTfWJSDJ8|MR^E0wjc-?d{UskDWky1 zWu>O2D>P<(njO>jz+q0k((n$xvofuCk5p zG0$7>dBGJ4lE|Pd<=|udEZ5q8crP%`3;JE+Z9P^~3(}|2Q5jc*3)cX*5{?e_Mwibm z4cpUoYvluI@73F}!RylzM}-P>!GW(ItJklN<2(k;rr1x+o-9&`O~q_ZIP4%0uficljID`OV*C^54zSn8<&lNV>!TB8s=~jA zlc=!Gzu9Li0YP4gt9GkHC4O3%6wX5M^VXOFWoWFmGcZ}~@ar4t?Q{UFVD@X@<%e4W zhv`A-=;&sljo}HUaRwV3o6a&|uw9`$U&VqP3r6vvUZCLfO%O93PM6RPsw@pZ+y}33 zRbo^b{8FOSEeiBLYw@~f@-Q|#X!-6>vPj^4B}u2-WMzvZH~<)b5Mq5Yc-)KX)3`uA zZM-EPms*<#Y^n5nDFAlW1FaLCZywfK>^uPSbYqAZa6d*LW8`n^;MQQBFuR1Wog{!a z{21)Fjob6K3JkZy86YaWx%$!F;eze#Fx%Gr#KA;r;+L>zlY?UE5wfz9?-c}w`)jtV z&+Bk!t0f;FTF*{?zSr-=x(^-@r{$kK1OO)KS}*eSARIcEvlY2=-td_Imo_1#a>lR# zo-Zjo<|Tpw!Sewze)<;)(~cVxx54K~oUB(R_&m8E>i}Lts`tWrqxgf-8J2_3(JWsi zX=ioIdm~-Q`BRQ@4s|Q(FF%ES(&aL|U*@W%ku`DM=qN-8<;tZE%%qirp%M>91#}U* zBGP)yYX$bnMAf5$)96lpi47^tvp&fp70NE&iEME`E=7*g8@u*sX!!1j2Z&f2&9Ued zs0^aL>^7x*1YVAgn#t06R}$;w3HtDNtv@w5sO@mWR|BVl?OYHYUwt)bGF6?WXAwp93W1>8%h!$%my1*P~#vUEEu}BT0*j4~G5gch<?tA4?jiu0KR|*rF_| zlpi_M_{;5yub1bywzLgKd-niRx2r&Q7-Fc^#{DM-)_RQ&s%*APRDOPFJ}XGXm;lB5YD&(^%W;3sdA7+p1<;pO z0J4a7b3{KHP|Sf4+4|hUiii9n>E97EEcYc9x9N#U$q_aC@r9<*VPj$t2yQ<|;x!Lc ze8^VKJS}x|>$aLsq}Qi(-f5xNtTqijnFR2Zcl>4TY9t{0M%S2+@08*3dkf9g?iPqG zy9|gEuvQzo&XWH-oFUnej5zND{dYDta`Qm|`Dub;r9caK6;AreOHH~%7#(iT%=;7R z%K_}6IC(FR@P>x)@pf732`tCcXzF-e9=uOtZuehwnr(K?pwX_AdLrWLXA6}*DOHOC zmx5yA78>=ZmGyV0tfN0+(My(UvF50kAFLkWbIH$EnXHfHN;83O*qI#G)kh*vRuRP< zqwA|2H#2tfGQh_3qHPq72ep z@hG}Z{{nJ({6Y5R9|;jS?1kR^s{3lOHj7-+UqwRC9smTd*sGiQ67gA0sAGmiQ9&rT zZHhr%W_ZW!u&%+1r=|<-Tq|S+I<^LA%(M83LgoB@oUUf%3n^s8Uz6fT0A$l*jdc}Z z_^6pDL%BU&UY{e4^;!py=c>F!^EB=5X4j=ZhPc`5NYJ`ay}XP>B3fXD+4aEddLwcF z1R%kAK^L=T`%excWbsX+eO#3sv{spx1LXKiM&Trt3jmPtbJO+w1 ztI7P!0p7h>%vEgmQj|~P@&H5v$PP?iR|=r)-O1t%1Ub50uFa8*#N##c?G%I4-vm1^ zp!~iA#NfVlppF1Cs)Ml0!JV+(OXSj(p!r5e6wHvcn1}mYsji@NlhLoX&dZP!y$b68 zM`~XBBf^FgvvguvG(1LL0d96IlX0KG@kLuXWU2S+X8uF+O|`#cpx|^_# z*H;Hj%H#mr-Q+-ecb0%`rB(9}6&_bj93HpJz(gUlkc;2pzbg^pXM{jL7PJ8JfE3iQ zHHrYethV<8f}GA&6feeXC+e?H+bg5AjDLJlB$G@1>JMp~cJyiC3y-_QV5Z=`von;e z&wZ_Q^q2W66U0_JpNE#6-)w@i&h8Q$0|^rmhwPkoE77m1RDN=ZRHy^;L7__F*Op_k z4@oTM$uv3~vxI!I>?1yL9Jb~0J*@S;QBU|!c1x0d@9PZ(0A{v3pB#>6 z_nt+x$!FkuKp}AF$Y;pOZ{I)MA{Xl3g7QIw>AWd?$ZgQj(!$?m??u(2f`7@v4kuL$ zKnuV->oe{I8n4zb6=lwc^*L7%sL*m0N3~_ji*dT2)F3E5{It>2b9FXQt@#Jd53?;C zGNb+BM*B%&5~~^5ngpO7mw18M$ic7lj8T|B3R%Y-iaPyDA`o6QSBF+azL-A$R zo~Fm?)f6Vp7kyhHJEb}+b6(7k=Apn8opr@!w&=ZZ@Pn$LsE4OPfHQVPr_)#rvG{jJ-ww8T<$Sqq z_3#UxLt6!ZrdXF{H&F%|_A@KRdqsus)GVm_c0PPYM5eVf_e)6TxOcvzkx-4p?{03pziR z;fC67Sq8um^wpSGpPdD*mGSZM-SiwZ&;cfmn|(kv!Bd}4jA+Z3P2tk;;dVVJIQ8Gd z6sF;^rB~QQ{@@7sWcO~|GI}1tRb+3 zAhy7;U*~?R#u$k)ySq}tHz$68nXa|_^B2bTQJ0v%0ra)3*jt9ojAWtWyu6~RLi0{R zE^^px-5}LGnYZT@7&~ib*&3B!cQ#3qD!Knm2f{aq8gvbv5isL#pTz8TYa9p&f6Q=? z%=MuZZkZEcDLXBZ!)I09D2$7U$ysQy4=~8a`@n|Uj|6m@iaWoylSA=ZS%W5!JoPWb z8kbdReR+`C_8#KhzvMpg$V6awe;;vfOrK5uJ`~Id^81#A;bK@VISig>YI6x~=1CNaA#?8vtDsjZJsX zI(JIr^yP@&D?Z&r{pQ_xBmC_#3OJXS61o2VR+rBBQMQ-fZQ*YPzJ$ABSphscR>68S} z8aWl&{qna6+p1{QchiEExA;X#K=NZ1o^(B=M5A)9(wtYe22d%DY}dE-`9`e~EYu>H z`7zKEim<_yVz?|IKR>@LxRBNCd^}e=e^&>PI?ME0^Bh9zwv4S?l|aG{jOk+BU-KSq z7Mn`%D`{1W;;9Wpt4fCWlym*DcyNh&@# z2Zp80e>x_FMCWOX@Wv)J8=i*B7!Sxq01|uL0=-r`M)pH1w&u%p9}5Z-=$hzL*hWPdP}1)N1s_IpB#kCR1|=|^pd+dX zza;a4VuwWq(?ZUWhzTO0B}Z`BA9C^oKGW%9?=iZcQ5u_16!*^|v8s&wOhg&%c9p&JcL7~&El5r&l)HMsKG4;9nL#sozcJJ0b$(=az zDE0nPKv3}|nlt(rQ~Nc%H$YS&{hI&eQ=wEK)E6mkS2#Rq4W=(~tb@!DUftcr*~y^L zXs`<%uAZqhN=bJSRI+uGESDG%^|y3$PCX~5nrHOzU3;f&6>07Jc(Ot5;RHoYD%Qz@ zD@FBbA?! zp9vb_54l<|^;mDoSAx`|=E00j2tQ;cpaDCHYAC-s-b6o<0f#DfuUBf~vtj65Wj}<2HXY0mneAUwvmUy_Fqp7AAsQp;!6O>;3++Lm>o^Z08>u z;k#Q90|l<&F6EUZW(9(6a$Xn6bM-$ z7EbLC#h*-H&g(t8_qt>#D6Xsy7zGa(DB`w1n)<*7Fu-rWFp(klZP`xb>EuI+kzopR zLwR0@fcBT)(QvEjn86wdgZhh0w>3cGXixfn2E>JlH0ED3+q+AL7uGaIdIfra3=V@G zXFBx0o}6OlcDB86FrV#5*qgs_(Qddogsk38+|9@3w;3WjSRj$CKb=;*i_Y12=l8^kSU;}{+22!=$tBZCCzgH|6c&@% zu2RiW-qd^Yvw7Ag6i-Rr2hpC@0Y3eKrPkYA;e31#&q2UC4`gz9yxqUE9pVy96A~TR zS~2VU8B^u;{c+E_RI^#H4Vz)&0e@T;$at7K-<`6gYQMW_4##8He3B6AKdwF8o!a^v zzz){iEKc1L6(sW+MXG@6BcD=`!{2girt_Uo&MROkYqVQ0Q%0oJOw8kn`_bvQ5#93< zltgJ3yBJ*q>Bycw|G9ljC_|P8Ks65v$7R*i8;p@P9sWX5Z?hCjDy_c5%rV9kVIaYBY&BaRi2LG;_H)OwKsb^BXl5zUSJxX!P^OBfr+&&RCY3^GTmjw~ z!Rhk!E`Zk);rqP(+~TzT`_HI3I(PO6A7d!tv@Ic?f;bFBQMYQ-8h?rUl_5s%9qB6xI; zsOcw3hliKfWGkA!dvQ_Mf!`7XDPILb96*&%sS!6Ekr3!&)(k>tlFe#L`7W}p_oKuF zf_BWtN1HdiZ4m_QI#mTP5JBJihO>l&&plIy@?LV-9>OY>>6m+h=>9IfSTsR>Ekw)PF~Y>kfX_*oq=y*Gz_jQtt(<;Ygy zM&j!Lh_dt#G=-uSqr4IO(CT(`rfHPW(A>Cf!hW92XasYt2!VuLF|1T3h_mLSNGN(gU;^Dw zfqa=UJrZ-T%4v5Lo$gSjZl_^auv4MtlA+uUBQ`=9JO2?PzchS~PVXs>pg>|tm3Y>D@27y)R}>eZ&B`3<(qPtGFA zFZtRv|9k-ANnNf+x9J03Cff%?&&4Ve>0Puhp>d{t00jYfvH}g`Q_D>f17IH$dZP%6 zFEZvXJ0ZoAmdZ7CKNphxb9VS&azTzn43EZQv@Js}tK$?8;8=+T%w<|n<{dyNd!-ri zCn^WBB17_?`UPGEKTI(?&M>~0$}Xvx&o&P*^WPL^$C56^7pYQj^Q4eP?Cy>XQtDO3 z5^h3&uf%I9*DEdZ&cVqDJw2Z`QW=(0AY!W97)cZ-lfy1dSG$p9*qF>573bROs7q!o z+D6Mj&!s9ZtPnLk>%X8$gmvfY8@(>r$R8^>?tMxbTzqqZq=~f~KGG{l=%UPPuUf4p zOsQ0pN~2Sw0t1@GQvJK5+hqX;k!hZca{I9(w1i@%OaVUfTAk+WvcyEU0<<_|i+8=1 z2CdqV?D@oG*h!Mbe1Y^O4#K=y31rSi2G{J^CXM!MdEPe&?#x-3UW8fgKE6BZV?Wt~ z8<8`{!ufvnmxYk<2hXCiKhN9M7y)C$=*`)dH_$@qQvZ;aoWI`RFypZ)gT zicehq*|(D#FjxO%o%d=z;j#ULaRhLmtn=dZH1eOGx%&T+D*UkTPZ7O$Y?*o8cc>q{ zAy&&D(lP#KA6II3$lk*fvtL53CjAs%STrM#q&%(`$EbA ze1Gpf-cy0faL=~cCw!!cE4L({#_{r9H9dQj_#dMXgLucWp6vx(WFaSeU*+-n`S@rm zXAKVm7|AeFu9U+t-%WZYWQ1~Z=s4%vAd;1Aau|E|*rBI>}PIzcz`gIo9+Nbxi(9PAthFOjIaz&semTz>#V z0SzD#IU<)1mK*$j6#*w;>WHXE--1(w4W6J^|7>vN&ttg^ zK4KICzAyz{H75Oz$w&S`XPBpy0l?-v2oMcjMc>Y!8YhEh$G$;9$J3W1sl4$3I#keh za&?UZ*inGU6*uXRHF+|K3zuTeCOoAC^vC5#C$lbp+ABjVI^5qceVGWPC4bcNdGfHX z_f;~v9ldbhOry%0f^TFZBoqJ)UX(!g874|pqHB`9u;t_q20$r)KHDBAHfEOr9j>hr zbGzKVZ+5vSesV>|l75n&t;*eqU=RB;7ZnZL45UQJq_8Pp<^$OUoorF~ymCt(#r`{H zNd~)J9vBI`J3EgA-*)B!i@xz}Rf1CK95=AX%~cdZYe!`e=v22qF3|$!(v#mQ-*XhR zVSpFA#2TFIT=&dA+LrOWnFn5LVkky96|q1f87p$%m8jx_$6+V&aJ5E%dkeV8yTc7x zqQVsODvij4W~Gi-ZJ(5bPZP2?fTXfRHYzim!B1e?Ts8yf7Gmb}bqNy%ibI$~qK!yU zY-!w=(dF&H@1WzlkOE3STAPOa|%UOVJF39YwOen!9j z15ez@W~qfzPwx^?6>R9Y|M|`0dAM|MhZ4_d6eJNP4GgL}F*`wHQ6oit zK*}m$M>Xm2^*&kh6!cR|VWXYA?K~M`cg!{XeiF;;Sw~TSScC@vFhU>^fO}vl$yqmh zp%d=lYHO4jNVLewkxP?$L!VCGQ$Q+aeX!Ju)2a4VZ3yU9Mau+FASXr*J;a%q9qoG; z+z8-Cr%mH>R%Wj&8mqM&!Sc2gqm!Ml!#lgsYvsdw6%(uq5E}gh36F86Ls~mGU*zn5 z__^O*h00{`NhhnIK6n5~nFJ_x2#sOJ6f2t^;n&O&4Ju<$pg zn>y?H@*Yz_i7Mjb8?N@gN2%2o_+RZ^Wm{EUw??FSC@JY~k!I7IkWNJ&L{gEEPLWPQ zX^@oe4n?KAL0Z@#o04wnhBMKP?>{)_e0V=`&5OC_o;lW-W8C+>B-5wEFZ+`!2Mvxu zUT*z@>g=P%=oR3GlsTnX!b-aVFQv`ga_xJf-^(|Vi!j5=qNtLVLxAxoWL9CFs&O9E za@qV*ViQ#(f&1Lc}0h7y00yw`|&+EPq*wTQ=vJy}Thy$#ZwbPC-B6hRsSOIdYUeB-|Gv0qF8Mf~z1kYKqN$!n#l1X^vS5-4%XgV9a@|0i=?ZcWge<`r%_DgeUpwS?C=7%Y=z=nX*)vz-zT_B2g#NRQfCBd5I>|B z1F6eWgAJbO3$xAMOfFk6ElJuMTLS}wQ$TH_(Uii#1va9FrHZ?otPJ|HYpiBZI=_{2qJk$x8t)xW#vZtL z+JcN`)HQb{U?bh9Wn~*?7@?7cR*+*hQ0lgi82lM43d)4s4&%i81!mG3wk>%OjYDb(|{a^k!x}D>S2+5E35RrxDdkG2bT; zPGYhTCwpd-SGQVhw~npxnlZgXk_0TnKWy7(%HjA$hZ}kdgiyCPW5}Ch=2vyAr-(=~ zExTPOo)+Q_y)>`7sD~R(=)0u6(C=7S0yatQTT0|}nd7r<(QJ?{TLgK_Q|70odSssS z_aFXL)#viQ^f;xN`G<_R=WH8&lVZs6fsfyd$3&rb=-!dv(zwPXRXdny)y}MM9tTmI ze9zyBW>L4fh>(~DdF6k@Y&M6p?swo|NYVL;!%;N2KkTd(>5QJ(X!~lr)^EWKy+_vZ z;ddJe)^XM-kQG!&`%^?UK~B5Gzqi6{pvdT#e2V$g8Yj$V3<9|lZqr~6q!H|Hq1MWgP8rVv2fL)qb0h^=)3)19aICZ zLzzsc@xH>2rWmhW!TLVx^Qw_4cNR@rv#A07krv$3MrQvI40PYslkGD^6o^T-niB=}2j zOQDF#r2{#zL0R*WC1Wyix4Kj{5czIs5YF)IjAm9PzaU{y&mh**L=g(VMp{PE6}R?L zcFH)2$Q320_z$VQI1lr*yR>c8SIkvO%t%|{9h(=RhsuW^e56cVw?Gjb$7A4Qz1t_# z6xM_b%`4}|LcU$xxv%x&G;rZ1iZTYu?qaVcKj{WB>|3v88gA+iABlm~V1yyN2E9W= z0&Xi|;A;z9hOZdoBY9A&B|3UX8<1c8r-I4`IC#Yj_<8;m@}^0fC(s`W9g<*TzW^Rj zyFrQLa=2Szdjq{6wt6bcmv|xjLEH9m90;Zggsig#y33(`|DiA`v;a2h7GtuzV1Jn8 ziGoLLD$tqq$UOG^+)sjm1ze+>`>O$5MUBw9=wDCW2&XwyU&ofdOr_XL8PU)mhZ-<@ zr}j_J{O3UeMj&H%bu^UP?q$?~@!t;~o1Kboz z{E*fAC`EMGa&hGidex?M5LEXFM_z~go zoWo%G2HNw>cOncatc{d4c~lDHlhqjwFXyyk!&M- zwBj$s>*O1f9)>mq9yo?ZK^Od=p%A{?I`(#J3Fv;N2FaT0N=~Yf{IguiOQG90oYht(HU15F{g1POH=!3bc?y<$S z2I!EjE$TIz@lH8`_`08b-WtDj?_mXAffrf2m+oP7M;OHl0a-mA@(lNyF9G^L+s5Bf zAf@GUDZ#`Xh4K>k_`>1I!qjLCs0q?CcK#+YSj0UAQ91Q%6|OepFtRhF(?Z?K0ib9h z(o+_zcDDqamybG)ajXyZ7R4^ot#=eYJ|y9~{Ff_GaMb*})E1#vDUw?7ue; zxWGzNoFjRjx0ySqR*ZHj|MIrLBEldS{vhlao{Giiho<6hQ1@C`j0NdMMU| zoa=a@-R-7jGb8e~g>Fq=*Ij-pjK{@K)UL+f=JEe>8Us`o=UIO?qWLAmDm$r*Y{Fen zZh`q=KaaaajLXmYQ5uKnX`8}szZ?5aC@hqJo=jC?+P5YG0RuO5{$&5;fM*eThEAp- zE=BZ;NX3eQna#CXNM*ZTa^3w>#$haF3DZfBTIT_ru8$=^G zmL(`R=p&eXL7AcERLZeyX4jxFZBXx4(r?V0JBBYrk4dS%KWB!o?raTchqxU)#AF~@ z>CGxNqATdkS+g!_e6kxWMM2rXU?ltVf~)a77n-!99{VJ`E}pBAGV}KM*^!|KegC+4 zU7GQ{2lvyUv@-xZTU&i%Y*-g~e#ObVyflt`o$*=6Lb-D8sk!*)i`jA5z0a#i^Oa2+ zE^c2xxolIfRdxr6q&GuXSgQ)235mXtW(}Vc;=e4$Ji~S%117I1m6yE0wqrb!LtD++ zF(unU8~_4xpM0dZurMpVkP9YAiGbRaPUio+NtHq~2q=G4cddSWzCZ3t)+yM}vEc45 z|J`rS_t_Z_mXIV<65et6}aczT7LEKxp2~d4I*eMkFqZ+Y7Kvja}-YxlgFBys@{h3^(rX!Z*U~ zeUXXEvwb)v06(gk^vjMd*HjpmU(LR^elqdL69>K&=GgN`@tAcS+Q&QA&SZ-|&15l^=%y zzhl`yDxtho)C(8fMY5f~W0wf6>zbbl=>|a`&TVa#`jeYEQ&k25v%A;E#dS=ER}ye= zHQ6gvIT$|RO!T%4aJ(c2_(F@NKq&Av4g3K~{DE<0)81@uMGsB^X{~x-{dKw(zZc~j zmW=@=SA>bi#$VkoB0HkDqr#AI7Lc%f@Bm4jVy^XW#S7O<0wjWo2)RodISkUqe&LzMfFg+O>csX<$(a>X{m?) zA8aY(_UX@___~h$*^a|#^|yV0W3xDb=s4rC7Y3ri zE|9(bsXL63lINuO=1b39@7e6@|b5YRHu%07T1iQ++y^>QTbYF|2aB+cz&n7s> z-qdbVCcz*ZH)=!kRrT@qnVq&Z{a9em-ZD`SMF#p!kZYp~0wpAslsE^Jw(iq{lS)9~Y$q`yB%T(s zS>nA3l7Cb|a&ZtNeuKoKli8N5CM*1?{fV8wn$cz7)ItV(=lkWqHSN`#_LGyUADu#+76IEQ~B80J8v=ba!O#b1N{zts^Rca>KiKrpec zZmS#6yB0v0l4pXrmqru-U$3>q0S-ThQ7w6V_re4nfx6*g!Z&X21L7JB00FF+X)|6{ z7p*u`WsF59NJ)BY7U;$-0J)uLpr&U{LUGzBfyiQgBY7J&y9DrZcku7BPE?o~YY;Yb zgg>P4$N>OY5C&%A{uZ}6im}ya@h9!zd(2?u){i4+#a$BZ@2eW)-Ge_%D-^)=H@(!1 z3bc?Sjr|K);mJCgERhoWBG#Cif2kwCd6=}W3BG-f=PUP~1!J8kasTBD&sJZ{D@8wl zV2zM>Z#ha_if)N>;w)#P{!pfAL>!U)hwU>Hr&5refI(Ivl=E|PEpZh@+IqE=#r zH(R8b9jteucHqU$E~33&yv(+aziRO1gh#{wd-B<; zWf0UsXR{t};aj3(+!l){B3<^D<602R^tfwBBtMbIx~}fvU)S1;+_bMsZ+1;Kwo9t) zfI25}ZMy_QN9t#>&!W7|uOPZg>oZjei=AiXO=#NL9q!v`No&pdYK;Tv%GVH)wOZ#F zLq8Y&Ued*Y2sS&7pd|x{`Nfq^UCvCWNNPV^aHqTqqKz!Sdx(!KO3y7uN|}mH&uT8I zgMylDPa$uIYGQw@E#E5hQ`cKoWUSLbDb&aK8kCU7M8uJ@|IijGAxqr}iZnttJvAJR z56GT`hXmfAsT=@;K}EGSTX|wEjhb4X+n&QeL-(@h7qzf(;bFWr?C2)h*2MHO2)<<$2*%uGe-JR4IG+e;iXdS_K;W)2anM9BpL_^N5 zU#oXtJv50Cuqp)NO-xLBPY)=v&$M9INLZ8c!RF}LSSHQ92K>UqUM_9rw1x|&`&*9_ z`R$AOEykNvJU8Jd^}_Ob2_&3uy_gz`!zGi%ymn0~yNAOrCZmOA3$_pg4nh_&c46pp zSC%nL!XAZSK8v@+vQ z)w7jWafo#;rG&?Loh`t&>%mLI?g2>etL! z6qisEd9`6QUHOWH-_XU{_FZr=@Ag5OuYaJDn_D2D3#kA2QmCh@;~aX2zE0{dyxK?b%B4{p z!P8ujB+S$VGEeoKh9a92pI3Dq`^T&&7n6I;5--lLfWChI_))hv)frgx>xI`4^KA-B zGF4TFq%jJ+zW-jN+qn@z1Nl*RSbtDDm?swL+C=8b#^D^1nuS_JLqS0(vV2U1!@QN7 zAyWyyGeD9*ztlKG3qn2+6WNQsH8^ZBioiHWyNsIm+}EAS(K{DDWLv(lxJc|=^S~{Q zo@1W&dbfdJCb|PA0%Rz^f(}oFc71kEjbR58Fd29m=s+CwrJSvZbIoIm$7TO62z#M_ zndTcXr&~SaT?kw+W8>~yaG9#wx#Gr7c^^1qrshccPc7_0e7IokR+nb>k^TBSF=DpQ zQNwZckJDU+m7FO(!jls_iyshNaa{ziyAS;W3BtYN`UNHopE$*1A>QS2Ucp-UiRr%;hyg z4MjXEGA)Mz7x`2t)yVrQ{awe3^wkl%G-Zf+p5?+nj-s&k;xili6;hGgvrop=liu7a zou-f`x#qIWxpeU|jH3Iy8MAPN1(f+>y9P!%LXZYNVUe_+r9`FkOP777#jrB-(U82H zw$t3l@NzK$*TTBX4th;^rtF@ET@N&D(ZGF~%5%|ojv?C-HqESeuS>j!Yn5Al z3it4Td6pc%+AcFMCz-wmx6`&rPq@FV>WK+? zYH;o9TeZ!Arww`Q(k2(%$DGM$l-``%1d_iGeR{d%EDTO$!z&LAz@HViz10#{iNl1L zWTOnExsDdKtnQmh=aj74`I>=(*bVoHXyH%BU-FY7%5|t1kZHjfga!0@gUm#3(-Xrs ze`eiCa+>m;c^$%1#72SGuatzWLv~q>KT^KBY=5k+aFIsV(a~AbjZ)9Qb6@UvZ)WkB zH8SUzf#vIVkfS*FDq6)`I;-_c{`|QfqaARXO)S$pSd7_1M@FCa5;_k+Vl`)wYj-K!DnoTsi>20lH z4r3*{^0>lKs{*KB4qed8Lc^=HZ#V*?$wr!EIuD8iZ+=(f$!zw8U2gd7id$4@Xc{9E z)9A^U?c|n{c?AW@wBTXX2?5K;X6)?QEx3OM{03F+Y1L5fiW|XLDA5*C_|1D_0hz_* zDf{k{0~2CmXlJ>=EFWbM-OMr}nB}o&{G^ETIhf^3i5U7n?-?Hx znV?74HXS@ruHs{7tP?b(hbaFdrG+1#X#^uCCk_+e=H5E@hY&>h5;W#bqlDNWO}tQloz+I^mO)yvhWV6jGBU{GI}?9jv3-Vjds zXGzLcY3&#w?uXfm1JmB`=~}7dz*mf(DisOH!t9 zkl^6ZCE@ha#ibOY9WB&~+HN>ANWBYDyd!$RO?U5Su<}X^KMP!cY)1)DT-`CJq9*^0 z)6M|}8REcqI<&+5T_sV>;C@ZMvw}&t?snIkk^$^`JQo&madEhEuvnudtatH~G8c~t z85y+u4JlI(yt=ISWcdsG?zy4pU1H(`%e-^u#jBHn%b9Fy_CGe0b_LlN3o3w=}8cMnth8mJ{7MqgeQbx`EfH*H48Pb1rZ9l3%x3=%L#}`S zE&%C?lRC%cdb*;2%Xsn(CpNLF&3@@;6y(MhHAGKT7{*q{Hvm;`fk*>!cLfg*9M>No zhc_GO6z|Nd4B$}lDtt(teqbtgm3gfIIefSki`@^^-fCDET$VWaR(J=z@~m(PA&U|eBsZy%d& z+=-j%y|0_q&g9Og!%PPCH1Cg(0>!zd zaZPDr4Ac@toK_Ge<0JxSlgUub_! z-Xsb#v5nJCxecHO|065`Jku2#kEsuW*7T&6mJGn<;F(*fHe*Q~!sHwwh+<(;<;jB7 z2*IX+1|dMG7|@Y>J^d~>y;CyE@0I={XyE^+3F~Tn4Xh&a=6mq{mP1Y#Z2kuo853eBv~X2<>amg;T0XN2zR&5eWBHyw8X@BxdP(YH>FFfi|HIj^Hps(}p+qJxfST+i z;og;^r2J4aZIh)S1Y8{ZtVe6qW zhdUl<uF33Y-|!! z4}6E9!l|k_N#(S&B04&H&6&LuVWs3~HRf`4Mi?TbSy*hbZiNGXSY;>KUM^&i$J1f; zSiZ*C*jS}nt&hkobvlt(q-fZPLAun-hTIu8V*kz)CQ9{sgl1)l+}qT_q*gycy)`C7A`>}DF*GDEVR|XjTGCq5yZ!~hTpV%%T=PvDY7l6)t$m41|lUnGZmWbg+`=n z3WKi8U!xTXJA=`9^vCNa5~V}#d%j@jxXMo$)2(($hMym;FK#mJ<#^TC@S63D9lfgi z^U62Mk!)@ZWjSG3p;;>E7a_m6eFme}3+X zyn1*~P z%kir1OU6CMxYVo=FL}`s)shrjb82oo1#>3_*y4)ul>6}Tw~>b;(tA~V?S3_fom14V zuM_k}vx;1cuuDg^D(U*OW~+sTm!cdiIZszk-xGEO*B*8!cR~O7K`4^6$^YExvYRJg zT3Gn-@D0jx)XO7Gy2@{!qXfZNi@lLE3R|jA3m<{ zq#3EJ>cy1V>1Tk+e$gd8S&Mlpu)JeQrM3HmH>LB_K_2Vp)N|~Jkr6(Xvj{_%g|V#l zS3pH~S;c=8>kWIQ3hZKI;2S^M)4Z<&0?w6$Z9VR2GDlAh{+wbV9c1qWJI7B*)m#XN z4@H?a*^V$@0Mh(CTj0j8%L0B~he1}~jbFzGoZ0LQginZK1+EO^egr%4kyvx+je5Mvo<110jNU z{1xC@tmv74Cu*JMA*#|7)50IHcRK&)|1GMtwQuC;{+uYuY~+9> zg~cjdM0I3vlrdja4zePS-`mGNc7z3#u$$_%;EecgkdVJYoWCe=gy>`EMG)07vXSPP zBd4UZ5C@X>(XAHMYzMs{M0Hfi&2Z89@68M(N)hTZ@6k{17~ zk11XsZTnOU7UVi!BP=Z3UXrwj7$lM}A<5uI23dBM?vpuY!LM~2Gif^T8eu%d65tCx zyVXbiK`OZR4YAG7pX`cmZfKgC?W2ogh)EWryOk0>{I>;WW;yo9`Lt|owIRCDWyC@u zAroMmFa7-)IgS#oqTGe0r5^D151l2_PQ2+2?Y&!6ABT!F5@jmng>+*a?H@!yUq<(Q z`xes^JD>f$9jjkDjrUo}3*5Y@H8V3) zmh13l{-A(WU#!^DswFYF$Gepf3v$BooaScG7=DuD zmNtHa=09#sJ;rMgxTt#}1a#+rFZaJ-af>$u$-@w317P~O$ii=4Be9^!Q5zNjn_qbxQI6`m5TCvT6@XrH%al2a~}is{jB1 literal 0 HcmV?d00001 diff --git a/docs/assets/podcast_listen.png b/docs/assets/podcast_listen.png new file mode 100644 index 0000000000000000000000000000000000000000..eaf26c9dcba97af7ec9dc9044e7fc300bb761666 GIT binary patch literal 33327 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 DySLSk literal 0 HcmV?d00001 diff --git a/docs/assets/podcast_template.png b/docs/assets/podcast_template.png new file mode 100644 index 0000000000000000000000000000000000000000..00a508ecea041e2e97441c2ee771c89ecb56e778 GIT binary patch literal 295408 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 z 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°Ezyp@SKaR(+JX`SD1CR7(+!CLF!d zVW}!oqZ{)?_)SWh+0gZ`XywsQ@Mxu2KDG&4N&u~FMOl}mPYGa)H-00e1_+E-(cHTG z&BnR*VKYO;xH!b~6m zn#;0CB|tk6S79ZZ#OPpJGWq;n_U^#gRbN~Sv|Aj)$3s7G+D=^6?#1_1ZhIu*7b~YZ z_vPXjY>(2oRmhA9HU74?2hmIU#;vZL^8xJe(_CrGODJFz1g(_ zm(r;k>5<@bIN2T{*x!fbJ2V}|3Z7ycXTBc-^Z-##l0@wiMLv?1b#x+}9;Rk$!4T0! zZzFXf#aRg0H!3j@+HyTq#_ss~Ga?U|jUj#Yc~yBK*K{RXF%|p+oAHIC?L3X(^FoBF z2<%d(0{6Lq2bKeNV=t~tsKgSXV$W;4H^d#@Ec@uPHpM*5iMzE=tct(Yg7HbwK8fw1Qo z@!zg#ZVWV{r<1=I`_LUfgN{HZDB_qYzGkNl>`9ujmH<*QV<*m#(ZDv>LhyS+{6t>^ z`fN{YstNkPV9`WKiIp~Sfk1-8eX`_6 z3Fe+H#AIkX-tRw66}aq&;01Wc*zQ*g?fRj>zSE~48qtWi&wXj837|$hpJ&A`RnWgl zw$B7`Bt{yIdJSf(=4FGbql2r-d7zE?xFatp5=2mX|` zAjT?-f*^zqaX75ehFs|#Vs$Vw1dEtp@>1{TO#_&~hn+q(ciqotI0gYOWsHj+2bprQ zPpId#2*g{ZZ(0`-K}MzDfE`DkA(9k-e^nLFJmgRbp)Uv22C=y7x7slwB(9DKGuK}d zw$GXeR71WTjIR@zpzFdKtlee57UqU$z@taP{LDt#%%0lAa#NJ9nF zX0sK@>8RdHv)0hBVAB zFO|h~-;r({qiSL7XXp(^sVB&qIa+EH7{JbH_?@USgWJ-udvrn>!#B7|7hfz^YP5B1 zXQl7nN{0woL+SCVY+qWCq%&aosNL$$3wr~&28D87Ix-QkLhrS|o4jvgqtF_?mA#jU7E*^r~VbKSEdeiYbpSENQKA zL|X5J7oChK^54w%2krIudbsd;8%LW+kJjZ#LliyT((Wq@&Yv}f?j%*mj4#iUdOUvb zY*@{#Ikh6thSe1_g5@t;xltRoF2A-W_nS1poZ6kRTZgd>H0sh0|ITc%%=dnK)8dRq zuFbQ%TVvk>l*j_oYpn#SGWY*Qc{*lXVm6K2zA3gTS>XTzV*zD z{?2ZtS@OsT_i62tpVd5b@~f!mj#bxG@4G+R;nnEw-=EnB8~Oz9d`X?0hr6L-#L0Kf zkkcm8hqCYqo_l%Xz>oTu1Wj_3u+yJ0-1s~zid%!WAxQl;V zT2Yh&9h1BhrT9=2{av!{kEE3{2^#q)5=TX+&W7ZPb|;f(W;}1NyOP&0vS;nysq32H z5dpGCyxh~;5Hm&$TW?QDRk4H%PA4_hl>);e`HD5M^l0dW>;_-gJc)m6U9+}h@cCV$q;Rf zAe$rL{2s-j0t2lacGRWOPBx7pVe5kbb|Cdywf=;|i}zWzCzbSXR>V+?n@t`QE}YY< zKx8^6?-bx;y`hpA7x9?U*v^63^&mkfi!G8yO7M*&yHh(X%lSr?hHMmrYy2o36yq!7v`I7m9cq*@i1LYwp;jAlr%&431CKWA}PinW<20=R+nI6$F07 zs>U$sM*rUHz#{1{mAC-xBO0CzmBubTKXpezQZ+;04u%&h+{KTS2Z?kUEriXFpms!Q(FIkNld z=A~J?t;j#BUBM(M$cx~8T4%*7#YWW0XAuj7g9C9|1eX+A`h+laEqpLOyDQKnBrw#} zmFyY9!f{kmf)hki=7{ID{aJ;CRLweEIO9P?RQ7S6?|ZO8qWWs0gwxAE_q_fmjuo{D z7!0SaSF3Hd(}A&A1g(eSuu%z73n`l5ASE5F;h~+WVEmqUKY@tLo`lG55_wPaXmTN& zd-djCOmsHE;nvRZ`PYRdP?vDR(=MAxyBD%797#qtAfZdTrEEoe#wTB33e{bDq!Cp- z!z-s-8ug}fqt*+{Zfz(x6teTy!jc=W!2qH0pb)^VvmxXq1j|}jf=24$Lm;-5{MlW+KHVw zbms(jdWC5gTu0kpIni=6%ppS-K^^Wd3P#Bx-N^ttvqw0xcJu1$ZNeM23rMay`#SDj zoYV;!=8rXbs=jI$0>+)tlfyg%@#RpJ`c8aU0G`y&XK&296950y0w{6TI%gql&6dV| z@_@BzPL$*Bd+?)+oXxfiNoluO{`%^uGoovOCi6O{TYyKXIf4q%r&Tn?oZa!_qHVY+faw_kg>;-lz; zosCHIBDERB*Hf)96lIY>?Z*1&-y(=)H&h%NrM%#iA{FMX^TyuWA$Yxb~EHcX127CK8Oq2ec?+Xo7K3f6VOYss~_ z*>746)l1mh5HP5SF&COusi$i43bWiEgk*{h7|m&lu#%6F(&4LZ2)H!!V?uUdPTX8O3xw2jF!T~Vl>|I#$MJ#?d$*i1YGxO&^i zXcou2U(z^^;k&U}$si~n)>5R#cTj$rZzmm>ghth#>ehXXpl9G>RKBrUUBWcG%+w(o zfG*6=YoFzAlO(G6`I(Bsa~VEkWZsVdVP_s^g`=_B zzURMZAk>_A&%q{+kvaB_sC$?1?yyEgs$<=@RGoTte1?o#gM|7hmCk1~t3%^9glf;3(9Nm zUQLyC!+A||zrZxti(I;u8RiygCwfceR^TOa4dS{`LHw%uPE{FuB9QhJk4#X`6@>h& z)bm`5zLel0X=O{i^@=MpcZm0wswq`PLhBQzbMgjm%n!1)Ms%j00l77j9V-zR4zuO2 z?V0qX&H;0O-eUm=Hax2bVoBqZW#9i?w{?kx0QKj1=kGB7VZ= z3=N}3-zzT1iTM!XFm1l`Teev!U^ zA8}C9{XzNuWb3y8NoWtUF#)qBmdQPSZel;;DztGl+z40xz+AFU&A+m0c4s%0>Ey$# z?Rm^5=6NTw)fQqOE2mlAuQ3h*VBm`OF?O+G%vtvw)L}${>^wy?^_^QE1D>PYT%5n` z9uwHbSOW;i#LksjRNiS*;<5NK6BH=i%ds9i9ccAbHzfP?B5c6g6(k%#c#$2(b0 zG{7a%N0;KYv@sYRyyDo?P#3&YVwJRk!miU%fjXAGA}_l}7Ydl3y@|DII%x`h#+bVd5)=ZO!*LonR%vXVWu|{!z>Zab8Xxg{Mee{nBZgl;jO%vE#XdH_s zg;?rKW!{j`?o27u;!@p>uKk+5Am&#n{cn2Nx^%x~luWcqcd0KhMMPZ@vBHPvUxC>4WB#H1C6Ym-VXd zqMab1QTm_uxl>7e={uB)xswXt-Qz>cgPasRQ^R5{=hn_kguR*9+{B#hkB-9kk4t__ zs2Pvs;Ytd2cM=nD%=CD&Go;~v)8Qthn5G;Mwb3Kn!kN+ehV(NtlJ^PjA3{fDbN9ZE z&Ip0y#avBo>8)2@g~CL>cu(`P=MGckaD%=1FYg*!^Ggj@NYWu z?zt=8X>vXK?Tegix!*<}nb=}=J?=c-tk85)RPVv|7{LA}MGsA`pYNBAu;2Mz@V3}A z(@Dhu<3E|rxI6YtF1OWZ{R&tMPS69}n@@>S&#zQ+q|}czx^O$WsL`)q!S%}~3GSkQ zUS8s=qbr9Cg7OF_-kULcpwoSWb5oeTa3J+2oyBg*DfuM`PMEqkKpu_SPuA}bY9ZZ^ zhK=3b8Gbhx_kP9$eI%8w=m*WV}&GYW8;sz(jeEB^Q+=f%TElxt{)d~5A%JW*d{Z?K^xG4RuC z#aG*R-s678_{cScy3CWesBA~sbFkhK3Mi}UE-u<}H=c1Ybo7VfJBL{xOHF#)((7Qq zTB^TUydB(;tT{9I?YyAT5NA9B-YJAFan)B+a>U4;!7vZm27%WDZ|qRgwKkRN2@U-Y z*2AruM>CLvn>b_JKh09IygOLo?`sqj~$49@7BF*}<+BY4pGiPZlHTuGnelyuJp2cwA7OAOPq+W|V za#-KK-nYSh$s4)b9hs?G2-k&Z?bRxb{Aq?4`5M}09_?rg!Sv^$!+(5Z7D5a3XAI*s zx2BD({o&IFZ`9ky#MP%fQFIpyS(wRe(bqA%n4S_@x^Xb9HLg`dHrM(d?e_w>EdAH_A9HnDvr7ZE5-e1V;y&XHgk?X;Dz30#6o5+ctu>@Gum5w!?Ubugn;P&TaWop z8A{vH^7+8*nPHkC=%($Xt6NXmEu4O-`Tpi`&&#v%OWCFSN>h%ao-6;Jx!c9%(eOm* zan*dP+?udg(`RkfS`8@_@Uwb?Vh3O)LhdCG_wz*^adAApud04oM1k!G7oPgZoE}R7 z1-?AnI5KqOpXUkozyut=!BI{*bnlT3N5^T-LJ_-nRBjtMKw>_=)>br3OaOqdoQaxx z_win4IqRT>3vg)Py3KbxzBaOK+n)E76T0LvY8nvOj+Qo;&aY}^e|}YUGkxWLUwj$7 zg9)JjN+1vW=d_V8=@!+c(>OS{q*pgL@0O(x@9E$_K!9pA8a`gHK;!1~6A(LT(TS~_k{I$TsG#fM0fIR6gA4CuIL zX}oZ3-@?nMjGM(|i7Eu#1eP7V1wa)-#x%=Z-;kK2`tT_25_Z29Qq*$!rMdU-18aw0 z7V_Gut!u3^cKN=fnF9cuy_z3RCEZhtT|a{unH{ zv&m*b-rKPS1#-f0Z<Veb{ZDi{8?_5ZLF?Ic!9vulG8<}*k9QmvFx`)5p4^## z8QR*{AGkMIegA7d_T1-#v^U_8n}^tZF}wTJmKFRG^>Xl6Pd@0>-O|DGV8Ke@D_qk? zU&DbwgYXKX&M!oQs=+5X)YL#=K;S<>`hUG}`?qrPHl4ei?dHb4@oR5TuP0=1UtesJ zLbP^VYqq2GJ{q7!k8;G4^NkNTbk`LaOj8BMV0S;*H3|c>fM$=3)IuA4i)5$jJdRNc zA5$KAVi$2dhLkNQ50;pg(nq($;tOg1cLm0Re%%!}?mgs#b&n6>RfduyVJ8I(rQqW_ zzy1MUM;k^EVy&@Ey2<{))v%@rJOlTYT!7XG<(B%3{)8sd5do*pzDkeRER@2*WpUCE z=4b7M>8=s&A8S7DHA^|pohlzru+72t|HRl{Ajv~f1j6x$7FbNn5yIjK~mKju8 z8X5`Pd%tEP6uXEuyhlK+g1-L~lynz;($H{IeQ-SEDCq8V*~=DpB&5BztO4cGhxyc6 zVQU}>@@s6NF*U_@5U_*X#tzBTGh{p8rzObz4p7qntAT5>fj7(L^vKw>?vgFC`Nrd5 zk+}cgN9BL-kv`4TB6b);TW%7Uvl~N8$VF%iIVzUdYMka6!aw7S6m#7^w{zsGM^T?O zYX8QG+?^y&v>Dc)pA?r$H60P=&loMt-_1PUJU+q3LB-58)@}VocQ%$I{Kzy|g*M1o{pc=2q-UEJ@RktzRaBwnuC-;3e|r0Eo^ai zRca_jwGseDhSS~2(Ec0SGp~!^MZoqZ(!&(KwUq6>0v&l^#S?Gy4a1GP0lba6&eXKB(y8Op2KWFoN?>rYBvI)8jH&JPqXqv8uJY&fbYzEzC-ji3#ZAu3dgTS+ET^ zYCvA*-`0Uwe5VDrK0uR={VX_FLoU^&yyiz29lkcA7Tx+o!K?q6Bmeun1LeXYN;i&N zcXRSa5wm;S9Mbo)0ygWN+bAk2Zty!XtL%wMFG$Zoi+4UwEM0ewAWR_uOaBh z)Gs=Rzp%LqGsUXYR20T8`|~&Yj6jjLFp8roOcnR^sB%9z7#hb@K3cpsaou?G&1~3= zKYbTvK^?vrM!^kalPbLSHtNKR+FrLuwG(xQD3#&X8>4?5rnG0$*PBszob)q;sIZ3} ziJQV)*1~gH^DnCQMzPUxTLVzLNkfmh=lC7+fg0+CGP7DbMvQYf8k=cYp{33HQI>-! zRAsiJAu$PN%L;Vr@8j5EL?N$2&cYV^N!#5ARKmx03(FEsE?Q>}ScKiNbm@GAjIRKT zgs^bxSF#^GR7I44U+R;O5mr!!D#k-Uu8;Q&0 z^9*X}Hg-+(LHwoDlNNrX(&n3f5Ugg7B9%AU$i=yerSij1UjLU2a5hXo!HZAkg4{6| z3~wF^w{NmSUn|Diz?*NIQ3th$y1CQ-q8MOzv7VJ+?TWKbY3>7sVLO{t9V!g=6uJ|K z>xT%b88E2Z|1%IQq>Vki(qA{$(H=^e)|VKkQZIQ>d_A;KG29bGdET(wenvLT6)aW! zw0UO)x=BoWazTQg4;m#23qywgkTX_hW-JEaN;PD%I>^;Y47pvg4KB#Z~Z6{i7 z{(z#pY^O`XLc!u!-uhTzb@7WN1*ncGpzRMzCsi1#02?DrnDdxW6Bhi3tgABZ>ff}G zaF?9_=C`Y$PSkvLGvlC6%ff*r^sO0%iOd_IXfCCNjqbRC832>t)fiqz6Qf{#c`B2e zo(OiMJK^{5_?MS0D5yb$)~I4Vb$clV_fE4QBW2E7kjU-{Rv)HVeG#V6YszC%V4*ZE0Fe%=6_po0|HxUafrSF=+r|` zzld~mbVc%WR2#{mILx@T9jHGGwB@nwc1VS{dC`X!_XtBMmN!p6)%~!) zN&AYhgY<0vn~nw+E_;{s99bm+WrnY|Yd4KR$DZM`-8Zx_oo}W1;Y&p-z~<8^m5sTL zH9WuhMR#Nq&9hZ3X-1;P86~0a11(_%8PjdtZvf~ELLQAnhgSTMbkx_Oh- zx~NrZ;?=Ko2fJZue-n`(%Zy^lIrMh*=Z!%mgb!;;%~MhvkvtvI-M@JDFV8Cvxpk>x9TZ=JNP zoB%;Wq0ZPQ+evHHR~6~jf{~A(HPxbD2QOSqHe!S+`rZu2IK%!N{_XH^7;It9 zZOOfH@};?@?u>Vh#{nPJHPn306qV^be6@~I35(V$ zb4kha3#14Lq2suVe?k`i@chw$W(b#|y5+`9vPbRfp11h&Ma^fX;Ywli_+07xn4vuOMhlE$oVFC~NQ8M%3GRb$W)riWX$2KmDz|H6JlsPf{EX47cjm(kEKFmDR z)1+o`;G-`CRX;8?*?`Hr!6A+m{Tsaj zzRJ0N2%d$2@MM{ev32Og8=o&<=c`(Hvm7?QUKn;q_bJWar0x; z;{3d~-Tcsv)TD9!1W<{IkCHBedVj_-AhCMkVqW{K6Ac-#KjWWuv0qbj@X5EYgL=s< zZYiViZI75I+&mt(dtdEYAZjCO)~!k^9qa>;g;!uF)md%!CO5uXw-zwFdO9R}PVUOa zGGg+;@_>aAD8o#G_kVs`A1MNBg31&0*0N0UOgG8+O7Yw`-O*mlT2G=v7UE5w6-|Aq zF_?Lx-N?@Tl5ZIi(z<{agjN}IQ!Wj=Z5r|BiSDj!%ND^zZ+VMud~73~o%9+79s@8lYA-qspQox?2=smL>5 z`}lDCw;~)D*E#-mr`h`;baY-uyjT4h&p!pl_n|GHoilAz|0*}q(RW2q?{S)ub%2Yw z!QSZ!RaFu`2pqJt;jgw}ni{oDL#)>dD{gz0ku_~*GFPfz8&58#SiSJ=_l+oq^aamc zSPBpxEWFDf;-x37RHP|hH-`U0>H$jNoy2zheN*WLyoBP<>pc@p}1uRy68qHhN` z5+wmqk19D5BxBR}t>oE|bI>73+5~>7Elf}6c)6ytm*GVu%)E=rrc(P6d&C#d2ili0 z_{5I>$ufcO49N<_JAbj@Pb7UvB7Qy^e0RtiK`PNv`50jl?U?=zi;U#^S3%Q|jN zEitIZb|H2NIr1Rk&a;1(q5rK|hF1wwuLra{T~d_zWS8^?%d3q>UNc|)N6&k!nXZye z$sj5sBlc*W`EW%dS6uUfPxp|+nEl zEW_Ng>C^<{vBH96MxEgJ@5mPv_#m}MH8HUDNoUnw;!@Gk;e=BN3%7zu9%eYAxy)5& zH~r$B327AFrNY~$&BL_hQOb3`NFTm_G8xbAB7RKsS ze$*w@xd%nQV0c9X`8#0iG#7?Q0GB!A-X3wI@vQcErG?7M&v#;{tLS5>o%ezagrPbU zEgvh|7cY63-vc=|ovsFULxLUxo-bsLlET_aTAwzd5f1AIm18nR$m3C;$4eEU5;Vnl zrZS7a4<^#kW?EIkS;HHf%$CFD5SY!MRA{tpc{u)#J ze8{#;-K8l6&`KBeuu5VMBm3xQfwtpwb>{sQcf+DeO;~He!!?e!7w(i^1$OJG}w)%ussx5?G(ZfF`&%+-{fQ-2lc9Ii{F#4;8!@=je`^`j5WJ ziQc;u*R%a0;p1+5_`ZXn9>Q(Ip^qd9m^Bt(&$xwt@Cbfv8BBbbL{@~o8U*i>>9?}? z(?$7Z9g%eGO6pJIWk^1cQaVb5FUXwGo7ozM{J)n1)W0ip(n2t#or9~r(zXZKmes}C zePv+O%FHUM0X?ArecW-7DP0W=ay~s57`Y)oB%1HWe2uBpq3I4Vk9LA}xxp9vB%do- z9}HbCAS>0*Q%k5v`g+%FL@Z1YawG^h|MgBK2hb^&PxE`4_xQtfG~ABC$!g8i7bTg=!6|uQ{U}J47T^FMg4=im;}8V{WO5;zIjZ6j<&@O(<>}Hb}TNOU^bdwR5|SS zowNXsBPPlkMDB)tihWExFWa(#UG4DAeG!ahmQl}ldSadR>OIAw+ zj@O-ITP$*6_3GK4A=reJkr6&)wS)H6V>r$7xO3qL0G6AeX2n_?+z?z4No!vAd?!f8 z9}#8>UN}hP5QlU+2k;v`OLv$z^c9|~ZRbwH9fmg??Jqcr1mlde#p!orbrN`E%|&>U zp1!5zR~QX0$nysgRmkJruNO1j5U(d-LdLv^^ehed)W@zrZN1HSO{tlxp+uZ^qb=1- z{-)~!YdrLFt*IK=hS5XDVDidUouWR13c$#{yR#7-{x_LuVG)n`t1Tml4+_#xO6JxA zZ6V@3-sWY4dxuS0GmbmF^z3AVKA73@tHYK&Y-iL?UExE|NHy)q-_EwoaNkC|+KK2yoq-S;-k*FwqqK|~`c3JXIqK0qhFR$v_DLbeWTh@s zR1hI-qbsEUeGerAoFWA>#2y6>$z2uJc(BNs#+-YNgwZcZ@Hw0c#b|{WUaG9xc&;?x z-$#mR6hMDcp(}{u&}$qe%L{D@O+Onug-<0(^=$dX6M@1Gn-_Rgl2{7#$jkKL`<3^% zE1tBtoo~BIzAEcz8eF)%lrFQo>2EAL^^@N(d7-A}%=Hr2>RE*v!MIgxfULTKj6<<< zDwCG*vPB#KG}&ZUSnC}S{dMlEp>zP)z5ip=vW2ga7L7;}EiW~Zj8Q^migS@G^VFHv zWAx#hF76_=A14C?wT<8(7M-{MV|vha$8yR6BC$Niql&v`l-t>b8&ALBbHCDVR`j_* zirQP$XRsS9b&Qa@!f_a%*{!V_5MnH-g9xCQUU)wa^>{c|CJcY+_GfBMt1a*Eo%zDG z!urK#>jP0MCw+*4js@*Hm(s6(Zx@DZ<$3y_Pm_;#Y}K~5zn>+q_TmNTtU33P_yMEt&%k9mOtX}h9od4d1TK}+-gbe*L z`}^s+`G)l`e);wPQThL|X}?lsDX$C}IwcOfR+UAb(56F;czu=cPx>Pb-msDUosJ%e z>h>G8vX*x(`671n>c)PGFM9F6ZTkOtcHT-e5xq8kU}G2X2SMcE8&;CpX}kdfMV_V3 zs&+kXQIqqzmvYqD|L3IeuMYyQnUE|0kKNP1O4LdlCPN}*s~a97^1r!_|FbTd-l#&fD6LM`KUpC7xuV*Q8+iwQIr}_3!>s(=ADr<&C!~KJ@p|!!-9ywe z#p0P%@JS*Pl-E&1_Qrj!Jyg3uoxxwLMJFAq^BFQM(c$>ku`*k@GpDE+aosFnNjuPQ`la?xkN9(KK*u2*JX zYvclb_rsj{+6Cf+lELI~YB}{)Pv1D*Nfoe~KkG0q_jW&+|EYgj&8|kv`&$6K5D(+u zfGU)3#vN4Tedn<=J?dzR)(cpQp=Pr5#;gU27d4lrUkM{hTWy zG9I-vPJr#@FO@iNbPJhweiL$;#c^;EXp(>c1P3tBhKFE zW3rdi3yuq=4TpB96Aj^bH<DAY?sR3t%+8mb_t4ZWlfjm^%wi|x5q73 z8d9Q@@a7%AxZ~Ro{zW=1&9LW9*0qb?4Lv`8!DzMY?ZqCGTWU;Lt@2eNU!||s>eQVi z9;1NN2@?A1(r5JPg3gsq(!TZgCmQ}W*Jo6-hoY{Bai{P#G4tLJ4X4l<-80Lf zqnvM#4yYrk{(4tsAA6?#T2SaIR{boy2E_EB#@_Z!p1 z6V>|`eeYnV(q50>1UD4>)NuH z*&m0ps%LZX4rPQaqqALq89j-~r58ZAv|nq}JJJ|TFTANxQ{s2Sj?3d09F z4BX+~UY-I0pjl>}>6c9CxoZ_M9%pH_BB3TUx0>8qZ>HG^9Vb(yrctR|N}^$RL~L-W z^zdV5)Ui_JJ6@;qKZPo5Z*Lr%Lh>SiC*a%tbH&7eF({?6p4a;90F}S`I~I1c5$$7} zpYE1Gz%x}7`SOiv(O9_qLE)}-w9qX{`|L&6z(f>4kHxO-GS9OY!0VMD^jz}2f)8gO zhkodmIC83=(@QI;Hsq;%u89pQ@?T0IS~|6VKnpk)kuMW2kCz}69@iYPyx2BNHgywq zxvr(IFdNAzr`RM2x*o<-?I#2T^jKUc8>zaQbWi+uR@aPNH_beJ_9YOb@Z!W1c5^pd zs-?;04hNiy>U-{_>>g1j=~}ztI3F+0oHU&K3|@!X*Nx@KmTMQQu^bO(L9W$`^BC>! zuS4TN1wt3!MDFa?q;-D`Hr zVfi-gGTcKfwFkqfu=%2MHLLR!dAz>60F;PW)7kzSwSdW{nqAoh_XF65!}FrR;!_em z80{o86-p@d9ItKs52_EZ>PBa^7sO(z;y3t{%>6)qQxfgOzu!*s7{j$E@C^Y@JA(iWOfzAnaE8})HGNl0O zoSC^J7~=|8ac5OkgcA4v9cFj|P_LD!qCRR)=$q*k`^=IJ5V7g$`08xz_K8Y}8sWh` z%lK``GlaUm$C5ulYi@)P(fm7@@L&6OK;g@X(PUv=5ptipcy4x+9se9m~9%yYJSN~8~oqT;i}T=_)*e~-2`Jn^qbJm*Ww$^z3jc5B@6{Yo@-WuzPb z^*SnMZ9=tlb;IbfX%%obG~;7Kto}8lX&&S+^ChT%zf6{(YQ%p2zuSL_D$IktU$Y#Y zA;kHA9E$$4Wj$N?e{VL;^H)jlU*=Gei$k8z9mOvVOmP3}yZ@J4{Lhbn>hNE7<<;Rw z!vE#$sPHr-QT-}3C122Z{@YY-~Zf9@I`jMUF3I!0uY1(bh1OuPac)Porp zUn@CxQ_V7lzX9+6HL~LOhi`9tEo~;WKQ5FkIND@5Yiq4ET{726 zmGZ2F`u*e2K;9z<64w2kKu!ag7L8^K4KLQ~gK7=_C%lEVA~NH-kLO?pxsRcxnk;`L zv;H-e(*?;tUnV-<@!A@x#hkAiy(`Z>+!;;TBAl27-k>GT z{2J?DZyNF$`F&?sT|wUHY~?fY_1vqp5rt_Yb}KZ)_|Ab}ECe~H4TIlG`R53QR0VHs zNB66NVsV5M@#C?CuoS}1_(|j`!v31P1SUU6104bfE0^W4i^J3vzZlm4E@Mk1-+OWC zXK~R=G)#5KO`{c|VLZDT*;|oPRU5)dWc`La?ifoi6eu5&K<^)0t~7 z{-<%xpL&^!eTYf9t=mwu@%d923##Vq^-WJ87Sewg^K*13%6*W;D(zi_087P? zRAfmq|I|V2lMjHqOac3r&s6oyf@Ch-xyXfqvyZrAhPa(1l6qd|Swg73G+E@yzjnJ! zFA@dnPxy!{tZH~JQm{Xz6zF6$(R8S_P*X^FzQZyl%1FjjBQTYxxw23#LVkQpn=`Vd zNIUYE$7bXenhp6w%*3GAVDeifHP?f;OhhxMHNPr{u64)_ZAj)UyEi{7*w_#Mrp&D8 z{Bh%H(T7#c>wSCB%{50nrz%brO&N(zDY6Gr*fN{34E_IQF1%j&*2Yw1c@qXnB%UeR zjhI_`jn1gqjZ-o0jBr~`kC(Ki!lb0@@DiLWu}Drp->JYvwvVY?W;cbhOkD#91(^$S z+8N0Mjc1P=p~b@qH0tYe9;79D!c}a=_qc>~?$9<9ZQ<`y*!Yc)xV7S!zMV#c z#qxzG+)n@I8 z%O|QQ`%ZAgogcelSfy~R#`E__!Oj4Q9YJM|dGm zyL!1qlxkk$*POzqA*R{A)Z&uW^-eW*bfn4t{610Bg6Wl^>zPZ6kv)063&ICuH_hFw9HXycREy1Yky-Ktr&M#2Y#FSVnWDs=O5Y3V*Yx|Toq{ogYxZ(VeY?pbTS zM5OxtBLQ8~C)qar9U?d(o~0^$_PbYKv4GTYSb1SY2#4Hc$ta4XgQJMzx;B|qZ za}oF5V6@38u&PQ|kZGx4px%%aDoG+HbOQ{dmG=|8IR2(GXO)4<~3YEU1WQ@i0CfX|ZsNlQ@QwaT1$^ zR6?P)!)KSgnxj1Ra`jexP>l~+(_Ewv&1N8o3=PU-xc7w*FQH|lmsmTaezht^677)JL{*7&k15pi8Hzfodw-|r5Ec4I))7nrIRVQ2oVG4zKF^c zP|G;cFjvl`xyi7ie}0hGRC&6kY5&+{Xr0C3ds8egwd0h!nv7Oj5k6%Y0Wj@yn$NC& zEG#-Hm#%cVIbusCE?-`HX2JGy`c)%R<}^kd>JG*2$M!iwU~XSOxsA&THqUMdTgcY} zs>N|Sd`*R?E8b$zD7TtzZLSPgEO~;g<`#Xj!jw*{@AfcnuU6v45`KN2~lY19V1MZNmdJ8Rm@Gq`OJF{Fo%)$}%%Y zCaZP}GVS|%S@q$Ts_bPV9|3r&P?lt&rApX_ajilK-P*ZSwYHf-|*+WHZf0F*drGlI}&^{>kX$V zb-T4-qG(+UGX!dJ7zGeMHGF2_)U2u0Fy8o0e9c_N&Z7|!YEprM%ijE0RMSC&eYQ-0 z%D+n{)OXasoBVL*%9&8xF&cmtF0Pl8T{dc({<&NWZ!1*Hy9NGmz*#xaCF=R$Y#03i zC)P4J^hO!{LP7KgYSx*uw#(T7i61ZZ_*k`rDXnFH7wMrTpna^KW`SYx3YyEBBnu9O zI4CLl#G;F9E~R_fV>XHkY;wH&(7>}yl_*UyqhebfIr9Vom2_6*N7%4rs=!oA zYUi{X!9UUIZ;>_Kbg$HzY+DDz4$JB`Pe5t4mZm&bYH=*}NmjoJyxf7!4G!gRFon%V zLLu&4=mYW(jS&Y;NQ#Xj7Hphx!owLHn+MMRc8SaeAMI$G<&PV#AwL$fH^@obiS^B0 zhC+WBgr22o+Ys@U4qQXO>a9p~l`8=bK1^a#C|tQSs2JpLJyXxPw{oXrk}G!OEr4RJ0Q(L{E^_-w`hFn%FK_)tlU| z8~0h1rEH;pZ`ZzXR6sLDGU^=narXncFP|Q%;Lo!v#?7kq=L8T@4^tnVJ43X)+|r;m zc`RW>XOT<79p#>J@d7m2Fq+NT`rqbCdI=(YP+*xLcf>+xTjp4 zT2vE66Bk~~#o;bTPXqiEA5J~vByZD}eleG~{q8#s1j&&2>e_lTxPS2UxwDGgT`Fxj zkgLWx;XGW{JY!7y6=eo+Y-Xz55HeM!_mXV}z+pF}MoS3zU{rM5sv9V5qyJee*ez4_e`b|>t!~;S*LpI);1C?dJ z`Y7pXG|Y@!*jdfZmLK=uxtlf?#kYHZ`h2o3m7$x%{nGUxG@vb34i z75+fUCiXkFsd_nQJJ1U=Az%Www}+*x0k7oS>y?XX<*2RnJdahI566}soOj9Vm&oha zED1hF5PMxt10uO|pGUZXw~E8G;_^6k$JB*v#=2`gG@*m#>A0K5Ws7}mT0f(|Y1T=9 z@7=zBFTKj&wbP0y>f7Oj?_Aty>9TIBEQC)VUmiUtnya3>#bv$ByXkDGMvbGfr#a0g z--yxg4m)h~sIr08y!mVyh@cSDZBD@dk~6WwL)MxpdzKze)AFhcF|O<-{*0-}t9Ox7 zv4z9==B#SMF9J<#4P*4tF*@_D@G~;`_ou z*x_H1om)AFUN3LDE-S&Lhnmg)W-3O_b*Y(Rd%C=u_;!D!L)uH0CX^$|P9fT@{}q_d zaA+~;_Z2uWbBR#NY!P%Fwp7l%5v*tm#BDNA}l5UFoIfg9u{9gyFwwJT%dnTErNX=^>1< zwspg-YWD|TiN!v7ktDd#PB(Iq53+pl+yJ^`YV4q3MCIvUau_4z6KN(*0RLHBzuvcn zmVP(GLlVviDn(NO-N-_d#HxJ}%E&$>7(Jf_c_0jl%iMgDQzkCwKU@GzlkVV86f}!x zsvcPGW98#hdq%;>blL2AItQMhCPKkt8*Ljpy9)Y|sE0Vh-N)~U??Dm#Rudx;E+4ke zX)2g6c$_RS}MZw2Jcc0Z=Ltjcab(i;96L0rn4#wA@`$bSsTj6YGq zu#rTpdMt$!&*=g<%rV_2geTcEKha=7f4xnJ)zZ1*t$t=#04C>;q;eBJvZZ<7@G(95 z6gFm!sbLZPEXIBLYgcli6hwdSy-;&@9{boMPsX5Of2OJ4coTS3&ye+ z;w_=$3KiR{-iX{re?SihZw%XVK{Zgj z;-a?vGh<=Zb8tXy!5XFXoqR;8zy)ryYU1v$q{aQ)6d4){hv=NyTLwX{&8WXmflFKc&sf4mWOFj-Z(j+o*1NBOL)~}ix@3QwCaiA3 z{2UOG1QZ-i%IXuG_i=C&PcQNCT? zZ5}DBUp}YVPF6DLVY)vxI+8!U>C;^sMjRj}dmZ>kUq@<%2HU$E@qO0Y2}>-94%_7R&QL2>|4K2fq4nl;pKU>`5k?dN|D%2imcOUqABS~c1K#gX zC-s7#Os*baA8$TI!{l_s?ca$2Xa{VH7zy6IQ2sHQ6MD6VapD-46}8AKNujF#a87v@ z1Sm=kS?;^b3mxO{>PABjKqyF-y#a@!0u)1Nge*c3USTwuVEj=F$9S1J4d@31*#Ju7 zoiiOSt&F(MhUH>S%5eYgoSyg02{G$)nM_alYVuZDKNg3-3JZ@cfy?EHge8$eBQD8F z{`{k6^;aDWdefMo8q_2ON2jemg!4Lk&Hj&z!j-Iih z4xi$Qll=|jU+WxrWV~XU^zdH98Sw;#{`nY%Sf7*u)BNXvgKYH?3EjA5p&0I-Z-+xPk7Knduv(z7i!d=uJZ>X7W5%ppxN4?nUxoDKYRUhv*LcqgJ z3Q8|w5*>ty=&{@)tH0|Tx(vq=2a{7!kYSBMMPMd!UwP1a$oe}bpmGx79`9t8+mFiCvQjL5(wFccM$`EOu*mXIIGY+MgxP%c>-#kzXpFE1IOc{c74hrF2 zbV0t*Pf}3{B}KtDy7U=)O_~+kFHrn=jC%&InfK%46=h8#0mef#Ghn>e9q|0MT;Ye{ zip=|<2s2Wm7RDlAJU%uNiyRAfXH_$A~`bX@j1L zrzZ7PuW&*<9^wb7RY})W?>p;QM*Vt+4$)Y?=ppSd8c_SRay7yn9C>67)dPa9GP(Sr zb4a~IK6z=vnFV7#AJmbWX!<0{$Y@#iI>p2E_=2J46j%QSuz-c7+6-(NwT|o`tiJ5b}1C8f4k9%3bbay&lE+UGCh>t zY11MaHs=`61=rvXVP=^Vd`F1~elG$$Vv=HyYx4&JT;C|6zHqk=iTPyL&?#HAS*9It z-!wG6A zsXeX-TTmFM(bM*{KgQnfmlNNnALksl-O;9ZqTfhhX-8A20X+2OJZI-VgDi)Y`h4Ol z=5#QB3qMh~Brkw4(#SzNsgx&8{G*=z6xGwB5I!3EBA3{fI}e-u{zpXWiYG9YjqP6L zo#Wz<9|Bt@p{q@{YRKBh-j~A3B0%?Tcej;GHQVOWL;;Na@193~Yr`lxwVoD#lll;% z>igJR=er`#)RWHWq>>5lcbVQi`(*>eo9(XjE8BQb?a!{qb;URLk; z`dgp-S;p@-jMcp*+Bv`jpLhn!c@A^=xbx@5AHuSV+v*jX^U>pQ;dR+N@rL4)EuOdP zUhl8d3+=}MT3CcvWVQu2M+%WC-K8YL)R&k!oKVv{my<91#%I)qB`5>lScBa$k4z^q zN!x5bnLDt2aMIl2<4J7K{CQ=U#(h!I?Oa6eIsPPPIR_7G8}0s1tva1u znms{D!<4m$j~#Y zC^_U0I*-Q%liu0`b?Xm{R^%J5i@^^(meb+XE+>fsBM$IqcqYR7`W)hMf8IphJ=L9A zMOM}Gb!Cdw=_}55DL5#d>k< z&ob@$@$aXpD-P$8SEt?Htz);;=H@g=oV$U#9XU1XSfo{W}{^i^#pC4;ABy zNeXAVYgUHdL?pg(PHrWU*KsY<&hi^64tS(9^B)v45)nb@y zerQi?Y~NG#<-&FGU-!aTHLBKG&CCs1;6>|$&lTjEI&f|;1CSWV_r+uexJ=T`?#lK- zD8t#$qF&e%b|+8V&YWkSPXySu$RB<=<#*59US;%Ce{gPP2>iNQ@FdQjszmdsOh)Fg zx<;mtWWs1EG?%5mX0!5(0Ocm5PzGpbNZiEDqFA#M)@I>3cEKC3K7}Kg^C*1%XBxyQ zLB2HAo{B{j5vij1MrmR&tlN~`x-HPo>eJX=N+#9tCzXd@Qp@3;wA^E=I~d!Riis42 z1*&_hz;dOUi3Jx!Z$sE6Db%n)U-F7#8~?;i?4Pp6`IgHD6cBdzFc>lK)bc_I{_upQ zm>>!AhP;q!`rBKQ6piGuuP+3;N#uH?l#@TP`YdO9l@_tG2>~U@}p{O#I{ zA7{F{oGXRyJpL&n1_q`vh5;POp%xD{h#c5tI1c$6{2R3Wd&o3`lOilz;*E1`8>}{; zkY0}74Y>?{T&!Oihd{;3%5H}?DNz&XiM!Dl?5U#PQe*7Et{d4hT{Fa zpI`O=aOq3c=vd&Emi=32qPt~1NMhcYEu*~}oVfRTmwWI$s4WlT?x1(nmgc$e)*31H zgN5f&UYn4%H}x`{FTQQTRxVhF4F?#2B4EEbDC=Vbsu;`I#)lgt1U|Jrlm^5`P(^oB z{TNXhgMI#pGo#T>ML65b1_4SHzpUA;Q6bR$duBurE;wUVzPekR(#Y7iVLbgYLBx&N zJ8%15+*z$aHcFtbb#u5z3;8RJPNE0gRsp7DczD1Ykp3|G2iH@&!SEA7MK6AgD8!_< zdNwNQJ#NWG((EsP%#et%Hl*uG#ZnQJZ+N)lL3l8knB27dLegp1n>;?A#u;^v@z0Im zUefmF6t|(KY7aSb=y}O|YAUNrI-pPj*!<*<`Wn_AO4~``Fi9I(FO(~|Hn&{Laoq}& zgXMXWqAdln&!27jcVu$XZMYwVs;%EpBljo@j)hgXr}X6hcA);(qrHmAoVenj$sYqHs^Z$-nDuEZWaaGvc2cytdA=?^ zq`#0Bu7$JPd~4 zk_08)5?}!S-o$NBVzu3K{Q7~7_pTcp_c-;0x)>0gTrW9Cdfws%Gpp-}b0r%cq)xW( zLY-4REV}W70r!QW1(56r-)`La7W$C4@6y`DCoE!%dR?bM)LcF68fPe%;UVdp$fMG? zijIDXHh*GdBe*EcMgP=H0gw#`yj;fHEJ`f&dQs}GC!#M}8Q$m8NY%%Pb{%1_bU%Jd+(ZIP2v(mGRK>icCKsg&F#Sr4H}mU zcnki-gY9K4%Y#?|`++$P&PdXSs-)I2fy1Iq*Q2#X2dqLaXlVa2SY4;gbey^H3w-Yb z(A%5sv@y2DF>{7zNU(OhxOHb~u2zyv`NyM|`+%I?uaJvpglTO^5l3C@EHAF`&+_`v zYRj^Qd)UF1#cC$K)1zuPI`#~j-ID3M^Kc>-C+19*n*_A=7#=){o|T^u+=}pTPx`F) z{&`0WilRc3?ciabsmQrO%@Y=@W<9~A{a#|Jkn7Yf5^+)PSw!bnw8+QFT?%de!}?vY z=j`nx0x5~t)lujFs}Td=A+;fir1?sc2ho=8Xno~VqGm%soE{uvGQECZ0fGbY@QpGA zZ;%^W9&ngy`B#cg~nfF$mx<0x=y+Tj+-G371I1MAU{ zMZ^2x=lT_IIQP#w2lveE8BvPwMPlU_i+=fTX42ZVRwq{o%IUn z8$lEDQoozw@h+w)-slUCW4NWL^jLoJK%$$AB`4t+qQ1uqwQvBg7M1{oDtJYs=cNib z5svi}w|FATIf1GSQe4DRh!Eu0NhS*71Tt*(W7yFkUf ziGfSR3Rfd#@9?rpmFqD6Gwn{{@t(2Kv<8bT6^qrT{*xr_*~Rp1 zk_|#ax5&LGaj_){{rrioedGuej5t>uI`=W8qrju?Nv{!$=6G=lrK}=&V6|9UL1-Yk zj|2O#q|SReizdDdhzTvQf@*qnJh)r!?sW zL$VJ=AD{bkW~z{()~fFOzC@E9*9B7$Wg+P3tyk{$pem(a zo1xRhczlhFLne>o8lCK{+s-PF_bs2zL=V`}NxIu_BIA{x+v5vv@?sEb3?m&4fI~71 zfN=z;+V+aNWw@66<&0WMy&k6ogZ#Oa`(t^@{cii4-x07O7n)(k*6qgZw)iaE&^>|H zrL0N+sL*@k`x5hkV_KmeO`c^76kjHEfFriY2O3QHGv$@<*|xX*a)=UjEG=1P7{SLJ z{@}**fUUS);^RF=A%RO~rYHMALTWITXgH=1i`dz6&9T&y?C_K2y{=bbqCZ$BV8Nx; z>ubURCgNI2&#oFvth?fE<99tL`$c#ki75p@xruJGdAY4VvGq#s{6hGh$~%Gx$>^su zpfac)AHUP<*s+k8X_RdQ4Nk$#*7!O0;NnRbBisvb?1Ip7y&s!X!W+k5G`NO%U;C&X z3~}c9`3E4%{bWwTNxEJo7EerI0PI8apKyAZ~gXl8J;3u zaheU|f*^f)ru^fMiH&dmF8snYbH}^I@}hMs;4}2(M_R7C!B9d@+8$N#z4+t=FEx@E z6H|kwEz@@3%TNfSNJLc0J+}>I7;LrLL7<{BISc_^l=^&UM}nM9&;_PE|{;*rRkt!QFN3T$mX4^1Eg=5?H3_ZW7ppn#Ys<}DHUR{Ej=-(~!*4!Nl zrClGO9#$_=)IHz`@@H`x^_*+Pjkx&b)yiC}DBctuw+xqU4w~_$Aa^=6v}H&0!NV;b zs5ws6+*Ov^!EW~)OJ?8)>*m#^aLU!b+d*+O>iqt^w56nrL$zSgql`B2!4E5KA4yW0 ze75a|NNA-w=lSvij^K%P^UDvtTse8n%K6B*e^BP_GB;fvmGN`) zmCLkJ{{WJ6RXSMzl0`q^tPw(P9lY;py51q}wdnK}cvqCEVq^Reh&!+1YS(&l2U$s- z-BHDt(9^wt^`EShuoCKI{XRWo*E?nY@Jd_VN$N`m7TfwY4jYaxnZpW0kI67sh5WL? z7xO=~dHv*xJnr8GE!(ezESTxL)0xNC>!l^w8TS5-$%FT#1hVT9qYjy6$&izXl5D#n znOD+K>e|d*du!2F4IHtgut(IIpQG_gUG&ImMbuR)_nA-VNPU}8`NXR{H`A4zzeb`G zS3Ry$^5%w;@^5~f)(H3}@j{}ZmFRI=K`+9wPHh8;L$$~6fQbsn4PH!d?K3Mu$pE=1d4=RZ`HO4gbpfvg4#k4d+*JGNw)L*`i7d4~37pwC z5lt^{Dm^|%51Kyqi&Poek+$n6Oo+Z)08zw{xes9O#4Vt}E}`T8Y%dahuSVY*N_F7< z#kO|!H|YA4UhZ)Dww`apjj2B(v2%i|*4N8Y{-!J3gL+xkY_z~TE>J(n{s>HBUFXa; zNcXTgm%N92>w+1p7oW>DosCurp6c8rT0ZOf@QXZHF8bXzR6Q$@7FGVH17!Ns3I50^ z@KV0TuEx#zO;jo61-MRta1s4Gj=M7Y0cx%B`FDzj;ltviyO@`sNySLGxXe=TS1vuM zw!Q7YPl7JUC#8XohE7&8zJDsa z4koM34WYt?8kTj&8>s9PEirTky7m15$N*x3z*s&$0f|YvI{{YqE8J}}6<$&evB7Pk zys!2)Uhc2+LU_hf82G<6InpyxB*uCyhr-|P#hHxl4_5!ps_cu6S1k%ZrrYzVFN zf0O6VQG1?-e4+;`o)c^LNDw7;<-HfyK`p|`QsdXF^Le)vnvC?0k{YR_qmsB%sqJ2l zky3XCpk0+~Ud=KCvBWgS_KS6YhLVsueWeKZLSLhcmnGEL>rS?hJHCLn`m5tDL2cUy zkHY&cbPzJ;|OUAkTkV!qYnTib44Q(S^TOE*waJt6@S-nS->`^5vS z2-eQ-a8ZB>wca0V*);afq2N2s5AQMY`D64K;ztJ)AfQ#bgRKba9msYqidVAA8S7zH zC?R#Xd>uMxzD>@f)ymL0vHtzvifQdJ>}GoV?%zgoo44!@Jwu07luKJqnHn$R? zg2t3%VGMGwf_R>M?@KICWHv{)!aeHJo&K`;_(<<+NTt3&n z*0euqrfxWYY}_dVrH18X7PpB@h2Y{)`sm|wzOxuJ^u*WoT<-)=J(m&)1Z(_D)$rJA zN~aS!Kd7JLdFb!z)yAHTrqE=3e{g%vQbODFR?ua{+*n%~!cu?bkZusCXwBU9(#UMJ z1x=vZle{WC+SB-ztat{?TU?$*UtoH$xM&@Zhk0L&1~WXWriS4CE5}{d?|0g6BI~vO z!EY#JUhGr}^wW6mk0FyeItDYEk^ zJh8Y;vE-UuU*c9!O_tfg?aYT}rr$RVHB;>%sl*zSbX5zhv9k;LncmFQ#Qbbn<+~aa zvj7*;&j_L(>l8m|Rtq+-)6D}`oHWI>n5#>ifBt|QwYecw;ti$>maoM#oi=eecyJ?A zjM3kXB?=G|EXg)X{SCt=;ogTQBD3Lldt1j)Ywe4rff9<<=*!)GX6av0Ie@FY2)!LTv>UI7gYB#04bR zMH+k-;&x)7NRa)rPoml_eE>+PR}qSllI(3CBGPQ%-9(U53c6!-$ zNsrKd)N#)(XB6Ky3&9&hTa=}cG|Sl6`+Bwa=Q|H{VWH@$?QUB$7hL|^{!ly7Y0t7V z{*Lq=CESRS0z`{X2*@=X*|#VoyNLh~n=EgneDSn~sO|wH3z;0Oq}B{#?iy5_VZ}g;>O%n(I+U#X znrPuQh0DiB*AoV)o`;Aa49ZQg zr`$=c* zs3@-g(casayRs50#hv#HkjBaxGTMh5ZD>(PP`)f`^lK_!T-T1cAT{#yvJUiH?+{0Kc)1|sUxN3UA8hMJMaec~ zo6Frz8~K2aePDsuVO|TGmRReKVOa)KD<4ewJ{&i&fz9>rHz#g6DldCVS*91x$@pTq z%%b`dp+;mHS=^GIgJ+ZSG%LmE$`dFR9OVX*LlcdV4<%umx|A`HB(4GEt~ zF%l*4u8KfQ6dzl#jiDP+h7;VPuKFeW09fLeDj`MEe{cuu1X6!2d*QF-l@4dry{*c> zHOdVm2UTNUpr)Y+gcAU3j6$$pXQ*y1>7NEo$RW9UJcZ6=)S7l1|pGx5zY`>zz z;DYCz>yXM01i9h{prSudIJeH_#CjXd`c+CqkFF+|XT4TDjk8h07}{tE8Pd4FP1#>Y z!ol`7`PIU0^4%f}{pS1qx1gDx!B;34253(e%GoRcmf6kbaq9NH@;YJOZ@@30n6dWj zEs=Yz_YNV11Rs-~4`{o;z^UtvS-oD?s5TJ1UhD`*V>v_3>^T=M$B`X&Nqz1iaf7s$ zbWruN_mc&cGAAg!i?EM~k)}8^T5d)|!R>yL4n5IZ^=T%%Lo?NNHsws;lfM*?lWj^q z45Srz$?!BGvoX3d&}WjgoEP@IL(13|$IWFSU~4_vbx5#2FJ#lq^by$qoC)AvP7h(? z71J&G{_)uAgCBjp3P${G9e`YIWC0fqQ@FqU4liRvdG`%It52crG+_7>cswO3Xzg#bw%@+P@pv>wCiw9xA}ovP2I zX9xXtY8M1&xsC=cFv^6oP^`d;Q!cG>QoonaxD3nMjN$qZzP&8ewmHPT*ZC{rJ%fdU zuq&VZ=rgf1edI|#mzCbM4gI-ip3hc;aE$N>DiNAOm^U>NP!TolCI3>3=gfRO)`1{`xJ+EyG*16RPh~IpFvsr~l;g)=_=c5c!~zx6M%IBvRMbSzn&y>hm;M`hK+ z&A1V(-e~~xGMSzpXWr{%#uLtJK(3iwMA8eafg>l)4825R}pE0p``|MOqq>%%a7N05?Ka22FM7S3S(1{?)K9N410;i|qF2S}m6%ZK%*u zNMty$+GxIOx=7Uu!PuyQ!LsJwZ{y+fxkpH)$r)x?Z*DbnIj74Ko!(zk4bbN~8vjB& zCI;HDsovGQo6k+U?}cPH-WD-QMAbOPg@}V3v-$gbTa_275&uX=ulIvK^` zfq@s(bQy7ZNaWFzE4g)S;TbyA5$=oDOo0+g8;ewT`8)Iz>AeKCAP&DqxHk(Og(rZN z0O0%sKYU`$D6`6YctlUj%j!#nSs)JKB|R9r!JKZZ8y}15`|Cr0V(;mO79Tu8tFO^c z_X`fu*7RVPc0jCGy6WS&6VI1&y?qN_gxi6@_wZ?d+yv>dANz#}5T#r=a17Wwtv%#BqYL@4+oKhF(L))%xX%$v0jHCi2e%8%@00)w6 zZtzHsK23Hv*^SY_sJP!(Mp6?Snp;iCjTd$@g5R`CI` z7qJ{@M9p#^`$mMG@L4B?#>~3HrFNIE%Wp(?wmrr%oD>7_cA*++v#%%@`+#jKMB4OJ zgUcj@g$xly?_JYJ@$%ZX{T^pp#hNO{3hDEGK1LB6qaa6A2I4C|RpbVjN?Z_7@EW{G z>Dl$imD66+BP~TSrBp=c4S3IYxL+F|1^;{IpKmcoW=BijGe76sPzG#1iEHt@6;9ZR zJ609$d6$fUfe%)#fV>8gEM^gAKHg#c>#KLlU>J4lFBwUkmhKJ=|0WfB(w#{`0lSVD z)$~EM5d5DbNY?u_eMC(twhXPpon%?xO3?;BMR3{VuJPwfp?hYzB$|PkYB=uo!a2>E{U z=lj)Rj6=$$wx1*KX1X3*=}B2lo_ikC&(>aYC7gO7Db070!5`z1l7EVYDh`N>iRSBL zJBJu{sZ)?yS2~cJC?<2z;LAq{4IW|ei=U1Mdr#->j0PNk6Y1{(Wnqe?RZ1@yh^{x8 zLO!=UM&TbL**W>SiS?x*CVQ39_b=K9yZvvX?>%l1ljURe9&Xt7M86|EalP~}Vxu`+AXc!AoxJv0Vh$!_a42{hUKfbK0%F78C>opjQGAjovTV0&1} zt==(Cln3D?jN}CV5(~bSL5KFmhuuWNL`+1>KeT>8BJED+kPxUtQvLklOuZk~cwYn%%E85;NbZXbF`F%L`twb{Fs6;16a;xhK0V zh6iJNBsu%SSZs#V3eULo+qE>^Xk=UYAZdv`mo3m&#C25ve@kMCV-ty1^G{OSNx;c_-XC+z!4H5S6#Utm9!k#nqVy^T26jN6Cj=aTm8}Jb)xI*q^Ju$LO8NN z?g*Ds6c%WV~wcS`y6Z`PN&zuZj`QIOF#>m;ugYhQj@ael45K z?*LXi=4JB|j?zqtXq8-!J6K8nZ8C==bK8+zgF+EJv!vny2R4@j*98AT{Z9XSv1SS& z(PRhJjbueVl6U<-?7ihvT*0@fogl$IxFu)^?miQOdjbK1Yaj%78z4v^xclHi65M^T zV8Pv82A=^282p{{;oRT7b?W>F@5fzxSMT0kU0u6-t@S+D!?kEc>czIAGJcD583Uhn z4Yq(}q3TITl?@8MJ$qrmsP@C>g)a&-<=LX-@yP~>DByIiWqk(uC5gMRfU4Xf$h-a= zic~6MVk|-H+i7q17km~t-u=}c!I+HMMH&ch1}>9QsK@Ml@gG36LA33^-gmn=Z(gu2 zdn*m240qNNi`OU|<=Yqt^oLy<=eNU~c%lpYRNYPUu3*WG|OemhY!4jdLfq=9=QjdM5?r z2ybmSPNdCXSF2uJg79k^sz<(^|2kG&%E??R4$M%Kyu3mG(s9|iBre^M-6x9Gp%qS1 z=J;zXJD6SGpSogDhEX=J1{wD98CkT_SlFu%FD~CLeHS!z?LreDimC~{Px?iRk>fax zs?5wrh`w0K&#l|aGELhoKfz(oW@FA%WirvKoN+R{ZZzp?OxRJNIGhoA4!e-*YMIio za?A%XOG|_XB!*v^9c%GA$UD`?REb^Sr?l0ilzH~ zTM6^g$C$!V*>YnG-`I>M(fMZNMl|K_{Lh2LAI5Z}4_d?3qW!H(2<+Qr9viB%4QZ!CZ^WalXe!OkgYZ0I^ zc7&S;yobKlPA`lggZz*hqd2Z98QpnhxuiZJjh)5jTd=NVq8KIV)mU)uhhwy_xP-%l zfd~=WXK|2czk!&IF!TN;xlAOy=}Nd&N*gxEXJ)685h;*GkUh6RTP^157ZrO)I{G22 z>$y}{;#r7VeK!AJvF~(W?uX4ZE(&%E=>8SsFNKUC8VD~hVIq60Qi0Q0`?wFmE1~7k zU$23e4ihG!6VK?&A5hA<$G>n_?!kE-tiGoW#e;mz%PB%M3A9-K7q@9=eJjS&-^tgZ zM%2?j49_+HS>bC@JVbIK@~1}HcbpollWvI$!0kFRUPUGzv-DuS!uwgYQ1s`#L}&+E zMiOdiQe22vEV%2fI)B=BDheo}iYMp%S)A5 zg!9B)`;tY;bnmvYQNnj>MhzHasK+2!bj5dM_!#1!Cv+>KiTCk&rPD>xwSPhhCS49! z$O~3WYUU_j58da#*m?C#F#fSuq8MHgRpoKW`b?$E^Bj5Q*h2g@=slMDw4!WEuLEvd`~!3#0>!?r&bWBx?t$^MgXU zC%TgaJ1?_~kO?MVEI)|&!k^o@-Ye^#Y#JfH`%2WuRs0uo z6@@zw^U1dKYv|}XS=uxdvc;f40MuJH2}70Vu!j87vOXtCMZ~Qo0n{be%VCEUtG>Oh~kXvvL!!nF9p?;7V(ZXR|^-A8Axs>3~lSrU$KTm0OlXR7;z41Fg zk`8j$zj|4RaN@DERrA%Ot`dlfAanQ#TNBw1UN;!ZPo9x6?!lzDh2Oi)A?mf0Hq({g zoN8-)DNSa*=D6mZ{wU&2rbr#i>hdj(R+Gb5dD)ebIQyt{MAIiZ;Vx!8#mDvL?`DVm z`V>}j5aHY>-4txb=J?oKj!uD3{nKnI`ck){qb+9!S%q$bxO>ejy5}5$(^0&&FVc)G z?zQHy-WPG*C^!lV*sRLDFahlW=B085)9%=tq|QO0W0eMbX%+zF;Zee=$L7Ya-iukcI-zqV~Y7cUuic+KmQa`ra}%Oh_s+UfmeZFl$G&w%N> zOn4qcPvZHfSL;zNkB9z2(J9E{71b{zH$TU1%LZPP?IgCZWAb*h9c}W8FtFAABy{$ zmwq>Hklc$;{qrvsZ|QO`ioc~b@~)SZf9V+CLblB!a!-Ha|l z!%iflPdO3J2#Dk4)Z7(#VYf6*RyE%j!Hit4}y;o6ei} zn3m9Ygys+Iu-cfVLcuLk7#e9LRimhhyex6dP6NbL+D{)Qrr+|5!DoDYz>Q4y;GCCL zzr8Eo5c(E$n#D=)=(~ZrNlA1+&6A{P|5+sn13Ja*DC?y;2ra%bnv?*j9{h@mk~bKi z*4!Uk_K*7|m?E*|TV7#({^qOuxbfV^nqRgzl1t_jrvv$9_1CBz5k;FLt_35TaGiPO z&Es{|rLf8U{-X-Oa=h-9-)~)vhhz#g@yARP?{SAY4u8>kKGE{nIquZ?&2|(Z!N(7l z^t1fmS)Ih&Xo3He3ii${M&T89R-F98r)=}2w$wiU(*s`tsLih(WJ-&L`#_KV7vj79 z`X2X$pP9iWrNYuh7*5pNR3aYrm)$Wa7t>{u`X*?ay__@Sl>se6=L3)9pAZN670@8r zuYwZlb&q=g5Pk;p8*IKD3Om2>IQGH)a$a#--$EfNkIF(fcHHPKY|fZ23y0meS;DHm zhT4vsN2u>Q{1kp7Mxsj>l@xdBzi5it?Z5M%iLpUT#Gh9~ zW9|#)8$X1&Q~8ab2Jr8i38>hGuYM(Gyh!+`?K+cAKFHYyUbRJ zYeHOeKX52U-fXNJ5!R%@fa%{3O5#+KV0tD)9bDo&wIjw9?ZOGdIXWCxTvJ{}gfd3Q zc$WXJvu=})RQMV1vtT-!xfcO^9=D&QPin2$J$O(Q#V?PawrZz8dVZl6_lM|q>gju4 z`tAIVE(7Hb56}PeYiHl_;%LMHO6aw|7SCQ&Zmp($2{RqEi*;;wcNlF7zne zG@_bHT0z5Q7u$nP0=vxSl_A%m{~oK_)3)7cDrb-W1XP_1!rV$n(zZ**V>se|4=u20 ztl>h6-i2%8`Lm9G**%&%Pi>5GAI6)#IM0B8yiwAY=5-P0f|+Ra3YU}xj9xd-vEUux zp!llPfAuNLAEEB2HFupZtA6SM*o>>7-)7vXaUY0b1wHZuRGs2OY|7XELd3-rv#X| z*9J`0DJNMIejX(pEko~rBlsU8&3`a3|J4)#54%fvpWPI}Toq-%7kx12vQ5yjn2}Y= zjgP|IvxQ8)$66Sh+Kl-x(#{_DoUsF!UL|kk|BmL7HOr4BO6Pwtwp;yE1Xjqbq zw&z7C>JZM~ZqB|{J?pA+6skwZ^xs)Q|8IBx>*_-kb~VAb?HGyA)5T@s zN3)vXl(7Glu>FrNz-?v!i)gfu0erSUJxBZ6>Hi+7|NCjsTjJ6aLAyVqz7?$Yx}wgr zLDA#?_x=C3XEPLNboO-r(*y9Iewz`zN3B`HrGoF1|2v@bKVSV0^~glX|9*dt@4t9b zy%H>c|4+Wuf8Oxl&7qq3-#d!&|2OfUNsbzeIhCGbF4gVJPW%QP(^P3wy?O%9L`b7m zdGf(_Y75i3?p$5@b%PG!Zk3AR+ugh7-5F2nlwEF^zk@|{yYIJchThxltvi>CFD-g( zPyc?6?&@{UDNv_;;VEnX(xTBXnb+{lICUd)Y2- zidt_?mvi+Rb26vqUtYWHlvlU{G*%he#}DJv1ndMs$;HZ|h&dqN=-ZWz#A%NY z3~48|b7~RVeq%0I5$9yGaTsi7OZiCaU_w3uROSM3yH=?%&MMIA{d!y~EzzP()iX)8 z@v(h7eA^7u)4S1sjN_cIJ)hNWY0w#~-7#83`f_G%PRB#uL_XQT0LX^7wJ#=}$mKCH zFr!Q5Ncf@U4&Njf&j>EYR_^roBu7Rb)SHuh9ZQ;$#1-W}y_1uZbJa@DBUO9lIv?mT zC!SS8=fkEX zl@#8X*%CwPXnxP($^0EC&jrgjP|OS;qp7KKSh52Ki5Ta0V$1{u>Sr>jJ%!k|@k%ff zQW-DY1vgdQI8&ICsKgO~nX=6dKBo-bs`{8FxA|VCy;=UmjIF z{mE(DK5-fo4rqFKJUm?OHo^+_=X-csa_Gbb5wVZR8jt%=o;h!cOi&pkL%RK6QFVA2 zr?1h!T`>{s*v8-UskUT{t=YKvvH{9~gyi>$R*ag>@4fSWs+g?UduR&w+SK=E{3_iF zD|2c(HG{SBUHy=48tv|3EPZ&~IDxIct0rtXEu(=}J@+y_5~4By=^zQLkAs%zE?|ZD zh^?#-;h#}945u(6#yL8F#0C+1h2gd5#o0ivP;VH4YM~C^-k*&GNCG;FkYh(*CO z0qN-7=wuFaRe?>5^|o$q=R<|Jdmm1WH$zhg=)J%LTtDK%dw%;*KRM0nE&I+{48&%S z-rrOSm*hx@xJ(qUwY@!T^{*3nM4!~ zFbe-{SJeN+G$ zw_fQfbarylFPHE}{_Wf-alAV$tdyK@b%IVlX|y>`o`w(s@FB|+VDBxQQT_qCX+>FB z*E+54lN)TM>!fiV;_r9Go&LkFyX?vsbO>px@Y!#&K54Z^RYs3;pe%Im9CVjucZY@^ zmCpK&_Fn|8NA~UYjtrYW<+kc}Ky(@%mQxXn^R0(vjQ)IqkHLQ@S5kT^%zRG!^6&8b zQQq#!Xk4FSZQMpX%7Iqi=1ZwpkA_XGT*$!N1Dn^KlB9E6eX5z0g__FLVX`SbEtSR# zK?(?m`A`%68jCNe((Ux)rR;FPC01+$^PS~D?3k~|<9@K$`_ynkX&w)gOP5O%7nIWX zvhr}2{ILU8=Fk*~wtO*Ok{giO?0>ar^BRl&szR^3{Bg&>KbkVrYkfIh#CotsR_n@c z?8A&rU!>0O@x@ACn>VnR@Wb)CTTQ@?&@M5dx5M349NN{H-{#c%ym8=j)kU`h+LHcC zmpi|SbxGH;+qbrkZn!=@7!E_zH>$O?`4%$-xhO)+0C`L6jckT)_ zW#c!|x)f|$jYU(o@yTyI*T1n4<)L9!HuNoQ^X%ZmZ45A`nk_k84}5yqLq&hTY0!DT z7j)ej{H5Fw{)CcSrPZ!S`FTlImkU#KKjq)8`NQ0J13DbKjwv8S3|n_}f%iCmH)JQ^ zTj(NQS%0P7D6d%F4ZOFayNZz|X5(~K@@U>>we;fyV*l!do+yV?xAA~Lg6l8v6g)3?jhie;f>!;fn<*8Y7O$*Uea)$vv;-Tk11Zu z(>iLZunGMfyCaYA*1z_jo(Xnv(jETMH~^qDrFINC>)w_h;oBemjxB)W zS?J>AfpE(DliBeTrHA?%1rFq?-N+vppiPvJQIpF67HKjmd5AbJk(tz8{xhB>{qz!l zJ|$o8ATsFwSAlKJ?8$soASGbErD!-cZ<*f@@nJX|vo1={$+%l&?QqtP8E~7&TdC_M zhS&BFMhgIW2TK#*2ShoG)gWoir7vgdMvuiWGWAh%!1miiJAb)S`2!w_qT{NcpT;XA zZ+%U1i*h;yU+leV1|RbZMQS{ij7$x`rS(|O3H1WE(Wd7`P((uDC z#_+_>$Qk!qr)*A0)gl0wImlCGRCbvMq@uF=Za2!=7mu`*kglCbshcD~bTPGO>;{cg=~6s4l?)F>IKdz^*9 z_vdU25p&%7tpz?nQVtc$wDO;UfBd_zjQae6W8Upg#tpwY83I`Lo1HhaM#(e*Np=N+ z-DPE0KNK%7EBj4bTs>Iibgh86h8f})efajPUdz7L_txV9tVbP351h?QnNc?K&uYKT z9=7Yv7ul}rnev_WpDNXVT(PQ;6v5OsjxqHwGd3PQ$gs)L3@=~uT0S&|!!LuKTMvE& z8~V47FX=JD+Q!X3Cyg`JX!#%gp%=R};xlf8)pq9uPJ~5+;O4{HoVw-qdn4JD3dm-q zHP8}NOD|9Xv6}`x71rpmJ6PGmYrh>Y=(zROEqSSN$tB(lx;Y2wonTS~-d>=Oq8Q^@ zCAk?1L%-GnFv|{)e6EgLB07DGoXf90bjHn92ZWa97CegV82u4LdntM*4gr^Cf$9<- z<`j>l6kokBb@W(>re!0qPfVl2FKLxJzicB*_VP7jm?!W0X`Mufq>x|Pex&jk=Mb7T zthT|{1hk!fJ*+o%P}6>ll=~V8SGwpgkRN@z0d}fG|9)OQJ7l2SJ!zU3r4?};xl>WV zy;psj^;U%G$MLkENhduR|&_D6iUsas}d(8Sf+n?rDi$ZpM#)qK@)F|ox{a)UK(<>ln!TUucvwrBpO0f zR&myCvUX!%@7klH6-4s%DfdsV;PtF^57I5mZ44lpg{=hbyz*UhTBzo?J;`_Ws;aV? z?~#x1;q9JYz3wK;9={D`~RYyw2*(BcTbv_yo9xRK;ikyI#TI|;GhTWPf z%>p29dKca-Wqad+(x4ygnI+dqY}4bV)nn`&Z3JifY0BE!j6dY!0p=-7nzRNcj_yA}6asT8C_O;@wY$a-o7c5v{l{DTE%bHkFA_*3+WQ@sVHHVs z_7818My=Xx!XKY{8Ba&$j5nXhPQ~g;ObDUW@1jOOj^gpQr(4e41y4fO?@R+Gwl$@)kC0nYbs>&^<243eXTMu}l+Q1K zk0np7X>suv3%z>6B|W`vDXm@=o)6c4O=XX_S51quv+KWYvY*RrEs_UyH(iZ zOaEYY*=t=_L6`k*L*oiPxE>t!N{=qBLlY^uEptje{$0@5)&l8T<fMun-OQ(SKcFJ4r+`|&?3_s=_zgO$yci&(V zq9B5^kUMB@Zp!>OZKO|t-B7I(jlD}&(VPb9Zd_n1kW?<}e0+(cL1DGVcYdJF(YQee ztE!@=r9>kkw4jQGBH7VYePO6`X1*e)^a^vm0e%syLH}m&Prz)W^MOel($3UvFYXLU?x6#JP*{7rCfHI8*v9q&%OHGj{BoWY- z2ZHQbIqS6oKbJi6ln3J5`0WfPWy(A8#9H+pjY`7WY4KM7D#s;drkP|W;gES0D&~SC z(_Wc>E>UWmX1N?R%0X)&Sv;XGw*s z3BIZ7+gv#5Ry&%ptI0ZLdZLyJagJ;nbh*^7CypJL#UoNYrVxS9uO{aMsJ}TiqTX#$PVPxv9+C*$v`aiG#!0xp7=sXmVl4zSVrBWwHUGI zD)vZWob;^yPal*f*0u%@5pe41Y9KwHb!~tl8I|NHF!NQyW^83Jwlelt57sDonrY^> zz&u?HYrff15}GvT!>NJiEvhnjXu|#Qowv(a(|ag9I_SVsJgJA<3Om(lU~Hsr5CB4Y`$UM5bbW zmZh5556_dT!0c=CbZE!(%_zHUSWA8~R88%#+zIJ00fi_k6v+^82x16~KI&pRd^tEVC?v{xzrMt}>&}Zy zMJo4|ko}>&=x@X{AzBwDQ{DoVhJ-{i>06qDGtR0Jr^j8>$NUTl50&1UH2J2i()7Zb zq2bE(C)GNr5T}KDc{sm#DjxIQxR`P*uIz&wa*#Gj>iVI+Gk4XqZ|9z;$k=W3bWK~V$ zcH(JwHuzVUBT>ZI1e|14I;w?bPd8_3%tg7wE`hiB|?AgvCS< z89h9mS4+WrxlcEg-7rd)K*-Chs0wM;9i!^#>nREhf_-+vU;N`gg_)mt<>C)A2#V$p zM1-gXb{33iB_>-ZoSaGXPVPZAhsuq__}=vN_m12--scC_IQ|svV{9G=)+Ywb7u(h- z7s%+eru01crGNR4Y|~p}?h0Ul|LbGI4ttP9cstEFXu+p7=rIAmMxlRu5JGoE2&=PD zAEcq$8NtDCf0yRC(k#A9NUwcWFun|HCp!xCy>Qv@gyv*rSbnCx4bO-m%&4j~No&*if~Ev%-I!qsS@6((U^_2jZHwwvf4XBNM{qS7*bqmC-l)Sauz@ z)5YMpJAK|T4WdQZl3Vo|Q)^zYL(^*FJoToRG0i>9ibeVWqf~ra5%DHKjAtp0*G9d9 z5jaNkX20k(#}Be@F*=r0Jmc3gnSi(Pthh#mCiC`L!#T${2X=NvhV`0vq_uW6Q##5lzV^o25Xg) zr_mA28I7+)i=B^BMSIy>QOfl!&Z>5)6OkKPW|0*}!y2=0+TY=u18a-r$-j!07a`f^ zy#v|)y5|hweG=G2mQ*>xjTP2Sxl?!m75)8tO(z`V$UV^W$G3Ew;hkX&qC%Qh+jVKo zK|jU^JJn-$hxLA`o!<=NwILDHg051&b}kqxc)d1K99E=pp1T>4bh4vsr^g${o-`@m z`S>dN&NJ4=P(}}h3F_5-3Q*=JA9i zu0df15JIw&n|ot%8@CrC+J&*sVft9tu-bm`Fw@sJ?0(*gEUa1#LTsXm+-8b)K94KM z4&ch2l4O58!1Dc$FMU6lbO6itJxt$W&JFGgIRFm$Mq`7)nT3IyDyDf3dXA%*9fQ!& z>N}8M*3r>>c1`>z+qJTbkVlQ#Xywj|7+Qd`zqo`mfNd@m-+Ns13v9m_1u>EWt&UIW zE_v(zWkl|b=1os*ka%~EE=>~XZ1i?E`1E*XO4(YB$>Ik=5U-yY)hB+!6dnI!?lE7@ zQmAER!2Q@k9|abi>@-zdn%L$7eUU5(F`r$$-p#)oY3vMv5*mw*j|@wr(U<+bHel*n z>LXR_a&p72etjT-jDa<3KoQ(cxaHs*sTN;0Yq2#U?9Q^RF|I_IKU5G;X@{A5`__4@ z5Z(*%n?F&;#TLH?yJgz+-dJ$0;rw{JC}`e;RC9MuA5mo! zLC^a>dbVeOa$E2NouYeZXFOe;Gej8wpEybS9WAZO$&R*y{KU1Zga=uFoMt#tQXIh# zm-UAeP>%0m2L2z87YgM%-|?nisoH-4;q2VcUq{?#} zXP|5|*Hrva$MIv4XVkVN#=#`UibTHPgOJXM7i!hKTmXxHam9U$HGWFis)bD|nY=UN z?93DSJ-%SGRDAX9agXRd2cbI6v%g|a%Z=Q&T+UzO#bYtPIZk9v)~zL9;P@qD$oKH0 zw&QU-vsZkiWU{|GU*ZBJ+4rs{LgI=@QHOLs=iAga;5n(gS=zWqE~_=6B``; zY0MD-eDo3me~KRhib=}(zq*}bmfD5B=LVeXzqmC0+iDkh+5+8aRchvdb4x(TVjp~< z>SLFd;GrMy#kGxa6~oT`c;=>D7R|f01?H0J3%$DQZ8O~Sy$9rK6%uQ4SFH*0+Z)JP zxPC&SYcL`K-urcY27!+kAuSZ}UYorMRrs^hj5t*q59 z5@h~h{ISud;toHuLk^=z$KAKx!evcKwfJf7{ymB%Frnz@ue+lfy%h^+8BfnL9 zAMU0>fq|*v?VMl?Hz9b@B&VfYdK zxCl!-V2uz$sy0^;4j>nyIpZz|Ox@%*-3w^X>=aBqPw%C&`?kXwatUA1vk_@rvDo!ZRtsArp zg+vR#Rrm6-3`5c6=K=kv#{ksD|yi`m(S&^eBDCl>*V#%qxdg znVoE5x0e}FU6bz7Ikd)dCD=A&Ym}JsaUUFItCIq-I=Ft48@&NxJRgbT9aGK#lenj0 z(^J>-^CmhXAn(2dw=vTB_g@b*kPB?i#IdA5n;S~ZH=hp2s@nFltC(0PeNVdPPO$zw zhV^uFI3le)TWoU$;QyPEhLD=Hx_7|mjmA?fwP3NhAP8TkIf>sUJVqPJtYpT4z%XHN zBZbaQc%#m7My@+0k2VvSyAk%Sl3|_>Sd#yg-+BigOixSm1(PL2DD{SK- z3`i>{&fjc>`j`H??Rx=VuzD|W+>@{x!EwS-gu4$mdnl5q`m@d9jR`bm|ZBoW068d|W_`J*_Cs?sBGeI1u zJ@@H22f;Y2I)~B<3T6!U+t|~$K$|`rLQbyY8lg15#_6uYJBQNpE&^`?1CsdB1HSo# zJw}fb-Xwv3@s{)FzO#4H8lg0v8Yj&1wnnDyU2KHJ3E3#trkYwqF0p{1M$TjW06mOl z#NU;c3xUcFw}K8~^G+784TXVRsly#OIg<=ygwMGXGx9Il@(z#hhQm1~d+oPvl~<$J z#Z`;7=C7-~DS=9Z=gJd|abPNhKFPMkZ1|IPC|z{~skZmjfGg`sM=uZ+51bKab;z6E zg1-`7%JaH8C*9o1T_q``PBPwfihRl;1XnaX_A&2=hRuJfI1`XadlSc3DZv2+ zHxY%EFR{*fy+|f9_GnGuOH~6E*-V0eoOq0wNZEM~ zt0e;^)Uu0D%-@eUv6*Y*d0wcaIQ&m**+aj;yzf2VzhV0E-HfGp#g_2J!wg>|zA?y= zY5AKCM0cBQI+qDO&eU5HsNp4sr9Ae#G)-mfU!LnQyZae(vNhvp> zvCl!Opd(=UFL{Xid+;K6?|b5^_O04|KY84jH2gnFIq9A(dq1zZUJxA2P{Za79o4YX z3P-%1aUI*wTK`4_7s4?rH~2{RdikLnM^Or3b4hrxZ9g{TC4Ts2KW&vmaafXdtmj^L z{tm~>$O*z=Eg=^tcEm!SEV<<0wdI2ZoZ>tb4RdMb!59M4!Tn=dfQpEY(vx+srRWuO z??wR4<$=yA!#tfVnvBu(k`l?wcQsk_FLd?=dG^e%)n1Rx-IRZ*rpx3fkyBPWiPWYi z4V*V}lYe2YU7|6z@q@JexHgLUqX4U>RZxcnDWT{p$Y1QGwxIG~F;#r*+SJhZZF@_c zmfY;SnX1R$^Qo)KdXdD^laJ{eM8Fe1!?aW;l7POo8BR*3AfZdz`uGG0&y?2M1&SYAU|pXXXzn zhGvU$_^3TI)9bmFH1B_IL^URGlR%syW(%r!^vTD^U90n~y(dkf6O>Z?xU4=KM?#9R zlt6(nbsJ6T-WCl*hp=Y5jiCm{Xvv7Wwm*WTy-+6&x+3^WHI2*3G4?W3%mqZF-xmAz zZ})=`_>IiVZNHBrn|riXnh&qLYE`{d2SY9`kq0D4bsYF42B_^TKS7jPkYFS8T+hG} z70nCH_Y|O#KT9rvk*>&qygHV33NG&sr<2y^X>sq6d)p|H!+H{`f?ZY_OXVM{-P3eo zA7vz!Ri7XJm@Z+xFROw``Dm@<@uX)8l<`t`4bMRko-S z(TOzqvroaO*x-lk4u>q8X}`DwCkTd!B&J3CoMC756VcHV(mlKjV=?7v{p!14bM`w) z3~iuRhK<3!`iL!}!b)dO!5QrD1x4=6Blq^le{)`;uWI6eDzWLU@sCvc!I_D9AHvfx z#(E{j+()Scj%lG-Fe7T`1qsIM#L_zPu018L3`YHW9t|9-qr@oQfA4~&-(%gYy%2F& zOAcxmE=b$gy7~&*ca2CeibmOp!~!-;o_r^J4Sx+pQ$bLGC&hiQU4-&>(GPCKqCY# za69BX0Yy%asC$YF{NJ5Rg@s0iS{OH;XRtR=4-}ds$#a17Vrl;Z z_P7cx>O2b<`!hZlL&dOOM|Ce3w$D0bU-E7Od3#hfL?*p6(|SN83c)i?9Dg-&BcuV$ zCX4XAXt_+y(qe;)QFl`!clO}W{TD;5p2{12b7|SUbjFjV(jC=rHKbO-wS&OcvoO1h z9BH!w7U^s**}Av($&g11#ez`j4Wd;l&-kkBeo2}_;XrexeJoJH1Qdx?v5&YYR?}dd zlU|k+Iq|N-^Y0H|pt}F7tMoZH@G-gm#y*kdl%wWM%zA{QMFjM`b%_uV@F|l0N@^$l z6m#)kn~a`o4^az;1+Lo;=b2^Kc3@J%+qJB^Ut3f6Vs}`-?S{-ee2EYj!hQ$0$~ zG>c-Fdfo%^`p}lIXjNGj9s4X00)|)H_5_mdqqBO}=jl1s#UR6oWHJq^%*N~SYe4*v zA`bVt%+sc9b77HOvG8um6nkReJ$H%78L&fx*O)j0c)c^K%+t<`6K-?BL|biv;n`;Z zhrvV0KDuiU#h~hW&tCU_Ra3}zt!pe%>cx4HQwGVPkhuP``Eq5+FWh#gC=H2Ac}atm=?GtkTw%!(V?!BsOG!0w-SWW`9REq}DB6-xpv@q-rNpB#_2G5U!D;Hw}-GipcGUaG~-?(gZ_CBTP|InH9j;IrJP`+~KK{DdTW$ny7XjR;~X7%+}`0iUAyxn81zLZWPpIh8zSh}nm}N(}Z7 zH5c-En4e-L-jWI>w_ky6uY>XV-Z*RM8+NUvTx>V<&GmCyyGw!LZx6pw8kr?tM3hF7 zn!~@apNQmh%18fZb&zrs5TCf^&;Y#I=>GUBbG(LdpRI-2Jl~mWRMU|9Bc>62GWz0k zu<}o89JgoFLm4jHTMINxp^2YZsLOFMt)P>(@uv6pCBIn&U&VTuzX1&>tBIp~h{AV{ z-^w$}kO$PndaayggY;mVU!kGF#DhxMUDK6W+eMM|fs$E?&(U1^#CA&;jkUy@@H0FF zox-{`%7X*NmtyC&B)$gDXE(8rix*j_W2(Pol~CCLlf8JJ%l~07dR*neZHHRtg?#)d zQp+j`M6)D7ms}VJcUFTnKg{h_wmE779w*}<^VpsY{>KsSQiJcC(ixedosXCJ0BjmO zt8Tr>{!?+MEat(FYlMJ3vt32BEt3SZnmw?jihg&Lx50-zb?l7t7cQN3_ z-N~5byF{|d*%Lwj$#o}Nqg3k_%RbkZS6|7b2&16=CF8Xj5%~S95bz&Z;8Pp*&jfNL z$6OL552#XnCS04x0eMlowo6r`yRV#Hy{ zV|2+M*f#T(G_OtxVIbLh$rx~!8x6Ru={CqksZRGQD@EMXlPE~ltfHi?qcA))GRYmEUN+Z|q`VT<^^@ut zf}se<-<@K_F5DC2YHpjCPV(Kvs~87`WfsQ+t_pYZ?aQT2V)?TdEVRL2dl~iQst0XaVUJ=C zBnUpNAJV+WF?*B$8x|Df)zLTP|)9>+b3wRlnH2^(u`bP zF6wgEl9X2}^4VEOSWn6`Fx(9d#Cu?f4(*0HRtL>`8&%EdylvD8=ZIB5yn3DkR->_g zw`QELS+#_2L-h3OUAXnvp>^k7zqfPh&;D2uQwx-Ckhcf1gN~23t8q9KpC|ege=Wet ziV5>hf85bN;~0&K-6c|b)W^D@XWEGHC}YvNjqFyu-LN~dm1cQEE+YTzzGGnqbbnS- z%isW)ITO{dNnkY>a_RA2tu57?m~Wldwr63~Gk2PhF_khOgY^vw(qbOy$8FB;aq z*o&Mi!oqA)Wtt2oYzu}>&_9UC3lQ7a3)-A_zu-V-(pNDhyqO$b!;VhlHB4xx_sxmzxZx_|3Ef0SM&$zX(F5|FZv`mFyBp z%=IRJXsR0S{Ugyet2(TGyAhNMf32Bl1Zn-gmK+VW$>X3o*Fk!b9b8FEG#_!MR&-$% zhnE-_lSq-C=fRB^7}!tY@u6s$wgb>*5=c#O@mDoA$5CMM=$7h2J!PRWrScNv6EYmf&#(M<3p@iAIeziEf56aLt38AkP=4tv zZIOwJwDg6IeBqe4Z3@29(CCg~{Oo$D-(z9HqPnki2~hYd3te6Kt}|0({O=q&NdRHI zOME;OuIT*dMf#)@WV5*TM=*6ug^0tOX`bn{$uTBQGz>IxVe|K(XW6k$*dgt#;kSVB zPH%+Uc^^^1{NT?^xA$5Wa~#4~?#I6iFWh4YD9`GXev1sVtOVXpGqUlB?5N~K@xap- zYJUG?44ck9^?#Kl>TY_L;TdW3W(%+0oH+nAPGnhlF!i}9PMe+b(e(NiZlI#@DB^XY1){Pq7LxW+MImXEzlbZ?$uYN68T>i%Z(vNh{O@GT+5;RLNEE4SRejo3_oYhXA$TedX*wh*UxmxZWgkfdvy2`6-q)E@#vqZi)<97Ucc z@3)J6gNku&_kB!J>kV8Icg4bbo(~&}|6aRCY3goHlkBkE_@lc+$oA>*eqO+=^)nN5{E2-IiJD3o>hPxsr3)z{h#Del> z=SsJ4NZ*is#x*-*+aB`qu&3Y^H-ElH`&tvtnK7>RqOxL@Yi#|>fpOPByr_^UeBH%& zNHDg2JGM7u4@`0&20W9%x(z$3(#SETAf)J3e4H;gNt1jRh}`zC(Kz|2338mLRkPb+ zjzC6CZ?;hkZvUArOJdx>)049HQsuLJ7?Na9Nnk|>IK`wLmlkjU8VgU`sQcr9lG$i7 zk@VQ>MDFS=-%O%hz`jWs)pcr33o)p_3eaJO+Tqgg*PXEunmE$d#+EHf>r1eo;{5w8 zB&3YJk(UX?C^@##zxr%KyBMO05AR`2gu3u%m{Wez=)i3t6=CZ%-B+%Rh^qadjBd@j zRGv-uo_S^TBL%E@O-Ua7c3`aB38%TgBw%4ix0f@>tPi06!!}suZ&csQGo#IxqeL6FHaG{21g>hS> zdUM!xzwH1zr)&Ub3LVoJxTQjW`tXIv9QjFiju0w{NT4PI?b(2ew8TCw!&dotZfo@_ zPGex2I6m?A2{Wl;tem77?lFy?8O3TDiMOknOD!yxU^%^7vorBiw=I+SucPE5n(xL> zyVjR(a_EByvg86)bHrSEHvP8==8FjR+r5?lp_MFf2qQkXBP;f{@GQLq<}OkupnDt1 zk>54U_}J#0^x<#s_tjA56OOrY!2H7MU7iXwVH(pMD_c%Xa_6rX zXH6F9b)Q6C%HjSKOm2(nVc$}5dr`gJiD3V*Xc$Cdb2lk9u;!l|3R7!)Y%QCn_^zCj z%I&sg?sHyaB_{rhk>zkRX#Vm^10x$DunbiS;0!5DyzbfxPtO&ud(HCoN7*a%2M|~` z5i{^0&TA2Xcn1vh9;Dp7-KTr#c8tet98(BA8w$Ol&RyRSLPw$rum691oo6_k@B9DT zqH2_?S~a4ztM(S8s%Bf-Dyl}P+1h)C+O=z|t*WWo6eT2L?@={F%-SRf2_pXae2?Sz z^#3GB9wvA0oY!@o_xtra4c28NhP$AJ0pfG56N*uK(6KT?_M+&$Cv0^l;WnJwYB?($ zsu0B23BlW5`uzldc))?~9TlCEE#8x1VBP(fS}|#9hctV?>Or(`C$e_0EX3%0S2yQM zSZuy-Ub~4v0=>OGDMytweSER9$}`1H#*RbajzOXoKtdJ{U@c}QsNx2rbzc1u!_mUl zZKEf&m-gqIWqf{g6`a-q)I9Af@0@k(vW0w3*4FC?>=k;s@$0*xpgi5?wbe0@qm9e2 ztWURi*Q4KV-u9hP=@S6z2rWZMtcAIiHLgTQ;2H6SdnFJ+F-%EJEm_+l=Y;g~^7gw& zooREvhKV+>k17iENgV&XAS`O@&wz!<8TccCKl1kprnLD_5EC(K`sZ#7@C)(2{K{9@D^VBU=E=9#uhQzXH7#dP2=l(W{r_=9trGJWk5%ty!Ks`(Q zkwIV1ZyJlSJh87?<3oO2`CRTS-VQMAjZ216z1G>HTKNe+k7Zm5dt`Oj$$Lhgg*}@j z=8lk6@UK-2bof*Afmra9@iKaxQ5W-7@#CJxC8HMNfT*}ZfVK?{fQIVOt|TcD8nXpH z1O}bV<0i12@T@yWQeuJOJVnf>%>M230wLnGAq_n1144nk@)9#4zO3NR6oU~#&Ik#7 z8sL)m-<71>21H(=QvEnN#M#fmh;<>T_&P%8wW(0cf1PY415U|$`?hq>-`?VHQ(vxr z&_+v-#F94O^Bs)$7U(D%3L5B#m~sY}ag%z_{mqmPBC+Gw90FBZ!s{-T2k%bhfZ=4XUaq>a;4}8Z zU(!Ole2N{hV#km`|1lxzzEp#ZJdn?aZFMZ8Ll^)Od7ZX-(T%2kD;&Pj?6tAS&rY2&pI|^=Cf}H%wffL-rLzJ$2Ta75v$@x8aV?A`b-?Tg?lT#C9i}@$(B}=J zyiA|)lbVukz;xR&I|uM3T5T?3R*b5?3hjgGe6*L80P)?L+6Y$LE=<1e_y;xRC0x*U zM(*iTNk~trud*6XHg`0|Z3H?brn~?2)s_~=l#gf#*Qu$f#B|JE#DLJbgyX~Kij=dK zu<*sU>Xx=%w`rje-S>XNOYA%K3zrv&OHV)cdlt<4$AfVN%9suEA(Ae<(T2 zy`hx1rB=Xa*i-TD!pUXQ2(b_G8`)2EQiZuRP(xuM6K^t1`w% z@pt*s*T9=MT*`|e!SX?ViXTml{HGPGmROT0wxTW374QYAmOAT^sjqs8TLIuzZ|k=J zWlfqGPdo)4G(T-%(d5GBJDE1Q4c>zVt5+Luom4j-kF-8r{6MYM)P|QUyvunp_SMWY z@iF@6YqQaXAb+HVR22x@;?kiscSKrs=3KVgoPiwy^V%q97lmYH)u?0*Az|C3(ey z*S73^s0iB*JkAR6-oa^>w zGGCv{Gv`~EADgOACaEurA&RXqa7ci@Z>1m43jY&;%h5kI((Lq`$yU1hAn=Z*cjd`B zj7O(>3pKZ9oav-8-J)Pg`4-aH+Eb1%6{3~!*Sc0-jqtTNttM>`Sa#uyc9VD&z&^_- zXD)ZsiIe`@1nVBT#YN&ez8IsnS#N?ixypH&1%Fvx)l=cS;FJ|w4oAWFVeZ%uTM{-t zE&&bHgXVG9sbEe!KP!E^3n!~4uU-UJcpFjTV4>$Ikl^q*|I?Yl@PA)igug@qQ~^SK za&s5{1UM5p%6~HU9W_lyPS>l9H5^ZVubPzC*E!yzaymgRUP$#OeT3jc35=J`qakc$ zx9IE3{oh6#kZOrnm_Sq$sk`di^Kr=OVFrw^`09`)m1_C(wvQ$U`Vza4#4@)Au>uzG zllu|@C!v>z)38;TgXfLbsmTDUdaJ(;W(M+n;{_M6u5il3>RmgeX{@C^t2yvaI#7)1Rk^ljexo{Jl(A= z+~2-OM*6I-#Hht3VpfLY1KwHJcGs&$t|#qfgRAMJOVBRC37a+bB;ns7Nt$kC-IilsH&#LEC}gA&tAta z+Rx)=DfgE^AwT^+;|+*gA$kMNK+y*HQPl*-93gQYdWj>yA}0S8TV}@`wt`en@UCE+ zn}4BZ(`}1v^v4tpoImuk58yhgMz{9S*s(^t$5Pt*SZ65m-Bni6R`x6!UJ zW0)r3N-RK&g*DYme!V`6Kwr#}6$;m(I(GDEmFvf-$tgMsnp`^TQvRpAHVBMC>>j_c z@;&#)Fka8n*fX)A*P4zz$^|w+dy`J!#FmbdstfEnNco5OwJ$39K7(QkrI;xc{H%E& zW6{9*EcXL&?0E156Qy*k72To(U!y5Rt*m>BrY5lpj3}|{@=D~s8 zB8$IdsTKFLLRT{Y%p)##-bm@z5Jj7WBDL4W11p~W13soyp@ZPo-oU+bE=O_dK!n6^ zib>%6?hU^-ZO9iL@0MH&mpw(=M|xN-l5HQ)n?pnS|%wKZ^5JhD2t6~aK+ve8<@CG7zw zT5l1_?4mLhsqX?@cx^Y?s=t=N_wNQ((u<`VR3uB`cFf7R3?P6I^Z>s8D8Zx4;XLT= zai`3*tK?!ENM$Vf(P@jYdkszQJuur>F#fkM2c+k<$W^OHBy>XGbQ?niH)6`MW{=Si zxXKtins|2JLTA4FtiZhknXf!C>X8q@umvy3oZBZ}`W(#{zbe5$nJVr$mB*hePfyM4 z8VER%-u@;w^qe*x3^TQGlUP(APjnhgXhadFE$N`?8HkhLnt;^@)I|8FZFlyn9xmxF zwkLqRQD63GG+o!U=26>c0%rh0aQvtLac<;=|F>pL+Kt6Kt#DcuIBD~!JbO~T z}qjIy0MvD>?h;A1Q6Z~Oo zTQN7GY~B6GsxhL4$G@x1jQ)F}e8l@Eg*D#=YE<WG$Euf$e(0j1?BIkfU*0co zFL(dpxwJa~aa}OVj#7||&vOQU4E#HQPIsIwFxR{Lgus?%+08gXU+D0e$t*T?BHz*PhjM`Pk$W=EaRJOt|Mmh_L z<9L>f9NBX3xI2^`qnC?ZQp%Q(Kpwa^DY3UQeBXm(xo-44@>wALuY98%Lh%t68xk^F zenezPnQs)Bt;Y&OzP2d92Uy2}RWESnBm#*k|JYpZ!RS+=QEDQ=6TuNG=@PgcsFoc< zF}z`Q26%=FbH8Yu;wHoU!G=N(<10-QM;k5I&ketYjQCD`$4@BXoYbr;EZe>xOvHpJ zPgZ+b33dbV$6RtRQGy0PtC|uw!k0tHoA+UD0OU^sm(tg2I2{VYvPUhh{m-DU4PQ_w z#F+^eMs=5WBdd^Xvu#Vk2b%Fgs%*PtM`l;v^!ljzSM}jiv`Nsh*zUD z4ylJ1{yJZZV0`D30|&o@|Om%=@uVzV+Q6to&3sN#qZCMfj%XPeqp? zo)=aSKULLsae|*;thO!6KbopUhH&)4qZEocJ{@B`e$kQe6o7xjJYErQf$9+URigbVU_{JhI4RFaPM z?dSMuaA=9rzw|V(f;Qqy|G!3smNQhFg%Ih0nNceJ7XmNU?2*iJ?YjIrOO@*ZQ7-)fS!O0?!ODYOL4CC3dLT7%aFJA~vA@WPlD1 z4&b?=mH5)V;pN*lWtEVh=fBldXHehgI;?qTXnq`x=EynaGCpRVasM?2J=>@A^}#fj zd$g6G2O{uZjl#DADt&q8O+*UH1J%aU3{)o)RDGVwJoMit&v|6v#J?vyHy*t?>F^Iq zZf@G0Vkayu_$ly%mWr#;dnaH*PpWqcl~ZW*O|zNKuQ;ajAL|KptVuxu^e>>#i_Q9cf-SfCLCt4)9N-f z7pFYhKsC3i1-XO3g8j$n)))57AU{j}aJ#u~@P;gI%%A$R zzYXq(yQ4>Bc>r{AfKB*r5jR+V=j4~1>vE@qoej1SfnU6oB<#%CAFK!r*L>~_TQj?a z92hUJu;m*^OKAC}ICw3G!XETMa}AW=KdJZKLk&+=n&rMM(fVgT$GV4D2rx$M2Pw~i zXN56wf(yP&Mb#@p{ma$)uWZ&j3qt=Mvm*3n=1RntG0rrmAUH-_mNrwZ4NGf0{=I4M z(XYQT6&19q^)f_*Gs}MX0fR4RNAUAq_}N;#>gfLBjf<1RL9d+p5#{=1{9jDD zYOC+w+5H3cYMjQYXprNz7}v#p)!%W--Diz0_D+X<1&4eh{|w)k?0sG0JBb~gI(!LA z$nk3MF@i4nfkf0~iHJrp=+Z8NO#hFpdHnl1IqcEPlLaBOlL!u;R^W?Ew8!|k@&PxU z_L5VToX`&=3$_?UMv&7;Bf-@3-y^S6V+cPjdC)`ODwB8Htjftu+W+wOC+&HfH}J>i z2}Yv?OW4n9wW`VM?cvL$A2(WYhCktK(Hr5Djq~T=k=^>yVdqS(kJ3(4gQs;s`*;I7 z1l`7FiCL@nm{xHfk3TlWegWl1eX}60Fa$mRFvRKo(FqE}&#*x90h{zB7MHBGEZT#{ zT3c{^VR&K*CiFZs^h+$A5m)*p7I5jbGVbE=EL_p1htBk3%b`%7+?p5+s>zTz8H$a- zwNoU2TZUuMG18ldaO^(1Ty&nj!?fP=aL(_Of;Ls#9d9Spo~a@Rk1L1IN|Hocs@~Mr z1swJ}@TD|VoK9AUWF3_sAXkeXtPh60_`oxF>NH*3hKFyLbKA9f{`*i(TFF=5qeXO- z`xk9Dq^%K0FaL$g<}QXV+VG8$BrcCb*CFu^i# zJrm8he8>)Z3SZs%sHWVF&C(4>z7z9$FHaF68BV2^p`i;(zo|85TTdg__uj}{Uvb-{l$9`-*IU3vy?e41mqG;#PLON07#uV&HLN z^5yBJU23n)7h^PS{tqV9#cXcCG2xB%(-W5*!Z5ZU6 z)zeeBAAAxKACz@cdP(`+`MDoGO%`55!qRKlXm9@HQ_wgVweRn)K~0`ovHs-U^6Xkk z=*^HjKiI_Oz@t8kQDvd3PDk&sRZGBgJXXCyRB;YBH7WDk=$DDT%H?AjA$cJG3vv&} zbtvGfP5VBilDBJnosk|H7Dd2Lm z#9&P;o!T9Cp)#GfV1iVTXp;p-4E)z`;n-x;UmyhyE~0C;Xah@@e9tEpYjILTWV1T4c@b!ksNni`p_u1>e0v{ za_D}hmE{Z^Znm{j8{9o$kDA(p9J{vsepkQm)i%lyG&dD|zA=Hp|1>CL9o^Y38y2tGxZziU-xw~ zB>(ePtdo-m2{$D;e*l_dKdJWpW!I#*`0GKt=Mw}fZ*4Jl`u4cJDfwStv_U8~R z@FM<=vlgQ|YpAh@SJ345@h#DYGX1fzal zH1(ts0tqQX_hWB+vi>f~|AV@W!hSg&X{%8YH6m*onkV0+@?D;tgA@j{s+|iUzFOO8 zINW1`+wi{LJM9$y@?i=rtfsA6`FJ3@2$ro~ri>5j%a!+XasFC|NshFn2z8pdRZ0h2 zn#yafR>te8ns82^9Tl`$)GQ^gM{`yU^B1<SUh+jv)Zy=aLYBVIjUZP8$X5YnK9FcDei!6BrN7!PZ}lhjY8Y$ z9d28H{?(H3@@~C7i-rcETrV@Sj>xj1ygAGQ@?kzW^cf;~rjdNoY77NJ#rL-nd;iRQ zI@aSQeC3{ozxHCv&c$)JnAr4ssPEeMi4Uwu!}B^u{Xz=Vo0iD; z;CR`i-A{eO+edG4DO5l~-#sd^LB1DC7r!QQ{u2g;70}mNz?!XR_D*JwGlwn7IdA^^ znb606f#39`%9uHWSUz4nJ|vEg|uA*#|?><2CaXAQm=-x z>TPz*K5)nj30%3-*iM$*QgIPt|ZjPZPK34q!Q_mcyH z{C>9M-9TBUF89`GF5ou~sd@eG7W(V?(zPX?=9FV`yh|l-;{Qv2Onbd&&pm<`Oh3G_ zk=@yBhnjNVoL)1xwdWZ8&&%a>4NaGFg_CK=elM9p;EEu0j6Lsftxd1s-VirnE$I=Z z>*gyx0NkBZ>4UA;#PjJ5*H1;KsZYfREM!JH4p~HV4pv8pEqG!Tv|>uU$keoS*y`Ub zX3N`Zao?hXWc?NBN60y^f8rk#&cEq0OS>x{bgf1peE*#xIKx8*F?EMw{^s)l|q^l`eiisy5D@dF0eZ?yh-Nb64+98qm)yBjLhqnySF zq>4wI&nG0vHI+xmJ55#HY>{{t?j6a=Z$-&2KxPIvYtq%^(|>8 zzm=tF5YR^UN`{+99u(;LfvkYwBL!uSRoBH#Qtb27Cm; zc}O;Ju+rvX$iR`8j6Hcqxl!sJc5ajY>oz56KG?Kzw;uBByGAID*0Ru`$_|RxVx+(aj52KB_1(*t{34FClUSw)lLwtK?%cG?+6=8+DSX6LebGL(Bzy85cA=WQ^2^=MOpKfpkm?U`c!UFbC| zZB7a`!_0f6)7r1NAZ5cp_S=6&j242~f$@ZPl>$b~b6#&c>Uzq0mDsBmL;D)``mhMY7ZRfd6V6FjkoA;28{YO< zv4uw)y7OTFWvcg2u{TI{Xxh6jWc1zN!^8{a=Q`3nLa*|lE999F6b{KHWxo=z9_{$h?Z`?K0+1<$fjVL}%vv!``<~|I9QuIX&I@?AG}2 zXzVJVc9P!Rq1d(V4h8h5fP}t-EkO z2@|h+i(+g0_Q=$JnrB>yQ)h4c)7>)u*nn^m>>DQiN<(4q^!8*|YlS`;vjGMSJqJ7I zi7rS!K~+ZL@F{gM(?yif9Ti+K;qf)_>c>I*S_elramT@f#k-B(ozc&Sx&4BL&gXLG8=^OTt`|_}v_dFI=kY>0QYEosMZXIeDk{ z0CMPUg6B_wcW3-PigJn#!&MG9ztc>yX408cZoGI-fpia`!^^AV`@u9e;4rk0g2x}E zzp?TZc`qjwZ1Xir`RGZZ%&3ZtostmXGCMa-1J*Gr(=+F@lLJEpIl#4oywg>d3=ZC7 z`8gcSmc&x}GnE=>MpQv(A#*(PU%1DrkIRf@nIBiL2<*67U>OTE=zRYu@8I8W#u~nJ zIk?r*2sO)Go9mzfEP-A2o}_^f?flMvvyTQ>LQh8uR2B43xUzx`iO!zu!%5?Q>wd0% zRm#NvkvB3#ZM1V_?XW-VD9zNko!v}u%iWv&H}aw-eFsN-p$vI4_zaxxrm1{v(kZzm zVW>5tir-bCc?{5}ztB~i(Nrc5$&Ba(&#(mhIukxSWBnc{FUv?`Q`DTP!E9WQwkFMa-R0MU=J)y7a8D;B@+R*d-y9=6_c;@nyFv zOnx_#c|x#Wd#d}c)6?qHdgM77TGo7q)m>@1?>w=&1W?hkJV-rdciI@?R&rAgwArL@ zDZPykz7vAyZd#ms7N@v`#EOoPN8tr1sA;xGoAGh(Fh$2C`72!c-QB6{{>heDwgntS(&Wo0AVLZ)pDJz+b zaJq355W&s3tP<5A12=Y!ie_1?b<=nhaTH=_xgsF{Ext=we>lY>gxAbKtH1g<7}J)x z#hJwErwq%Wpje55!m6aCOawCyzWN-pKg$dbp`E&4(-*A369Ml z$%YG9ThYxB;G zlKm&>d^j~nErb91{F~JTx$xeN7>r*qPL37LNA3uoyKX;)dg(KmyWlF!Sv*EN6bud8 z(?b4fi_^?iGvo;e-f*34*zybP=()!9n)1c>=eaphddjz4y86&7Po#VA zGxH9tkV)fjOuDPwTCeWC=F~WNId*2w3K8ZQk+kW4sVEpZ#lUFKS5X~vB(+B@Yv%ir zRwg!KTl;nxtFi!x4>UVs-mDj#3X(4$*e34%0FqPVI`x|8&)*6ciwgHL81K>RDueXW ze8&+T7OkaxKlJcI9*DF>l0>h{yc9(8VlS`}V$BnyieBPM!wCWr>grM_*M#D3h!xUP zq%pWDdZe=iQ*MwqQ<@JH27ZfO?5y##EWi4$uPSlpL~84fBDZFk!#jyPYEc4xh0=Df zMzZ*3l&3`NB_cY%_=8B4vEl6f48Kdlnpc|etKJEGjf6y|P*DQ?#mLQqb~@S(&HGVa zO@WhhttN~HvWr{;42+)gf;~BJgxt||F@e^?kK%}j?sX!*unzb3Y5M+pDT$=vS%>6! zW;RAB->LDE?$)dJ(cv3PHz*E=WMppdpE8jtdXUP{$4qMoG1lP^uVh8IYup#2QQ26b!AM-%=oIi zi2e^#KWSZ3mbgWZYa&g%e_XzJRkWy4$ zdiF&{4u{SK8SE2CK<1pJ_-*l{1i|d1kICv;KOffTax+Y{`+T?18q@NtGKTs&HodFB&*pB z7C`n-(_hN+ny_83&ZV;$)~b6?h(@>Zx-SpaUe)X8iz#eV6$sZ?=1knujJ-{m@Y{4B z*JS(doKa9(KS~4BBxTS^$R3B*Qk`cydJx=ruX+=XclJ`~a&JZ*}NRJA>K4NVgjEf0j?IQR~0&TQ?%$EW@ z`z8~{`s0e;yn4PYs+j*^$svOLB~I6B#BNWpSm|=jIG#=v@_b7CL|2d5E-I!>X|C<% zg8Z&4me;5-s642Za@d>H{cz)JK3s=WdcR^Fe$Jx@?9t8IT@G5l)J3{Uz-I(M8zg_k z|HTGTl8Z~(gIHRXNw+BSfab66)|9!s`0qN(sn2me0PmJ3>~QaaK+jD}>1LU5sgqaN zauVu0ZF}DHot*7qr3gU1%G#ilgX5a4P&fwp4WS(S($igY=3ZTQ58cS7va~aE5kVs; ztcJPMIm7DB5;AilmOy9lIez0YnxAFHUKa7tQNm-JTZLe)FT+uywmuAPk;R0(w}M!!U8wzjx_LZ z-H?j8;>+5W!E3K7?lrr6Y(7;^4o$kWk8&yLWsMYT2k4FWwlU{!Y85_YK%Mmq0fe4m zf)lTT(jjUh@2-c4s0s!|R-qcZwb86%`T-6b&LM{eTg+z}@HEP@`>|>QMCxwsAEPv& z)RDLFUV!oChd$xCL@u9KGU7zdkT6Q?o@@7Vy-R1Fb@;tZ$j@b3X8S|qpO^$?M*464 zn=ONhx>q-povudJJtf=>O|c+dK@F2oGfOflY(jQ3tRasMoe2iFOAWt2V?g-2y6&rR zv}l@JQCKiJC91r)<*ypixtsR1PF>r~u(em>+hR;KmoOIgZ+&ONQKYP1exncGzCh+SQIx*w;W)Hz0orQ&gy4tvPLQ3*LFA_+219BQ1!OA$3^uMSy z2gnj)5TnqPJ^`EBye**_?^3o+;4xN?EjVe)TNt7F&a$`(zE^rVKi*{jeeb2n1o9#4 z%PSwms0#IMZ`_KZj2QTA8St;P_|53ZF81@iUVe?O!7`*$UgLJe7C(iw`mMO$D(R~- z(fLsF=~q7DUKqm$or>Ng>_Av?SGu@O*n7Nz$cC;~rYGu_{`~%pOyTsMswu>mN<@KU7W^cW}`lMg)4Rb-H1N6KYP|R0piML&*pxG;0*rBI?E5oU(`9aj- zH>;4VIj4h>)u!jZ4}=C%t}uTuuWD`m!l|D$`u)LP@LTJ9zan2rlE}?FIfqDTz85{E z?8ecnZX0$Tkp}@kpA>0rN%~WoUlH8uO8I$h{Zm@>MqbEa8o+kxQFDVkYU1%yVaVB* z$c&eLZ`Di1?K>ZNqgJi+|&qA0KNN&?LvIPe|Kddl0|*H|)T+|A2yOz@ui+n#8qDW{m~& z!QQw$EiroGm=CYpq1lxYd_{R_%e7`<24miB7JEyK7y++}orY=4e2o4lUg`WCcdenP zf5!JquDrdEUC(vvJE(~H#>25zlp(=xgg%#Bl^7<$VU|SI%v3agrzbOM>9q#~)k`Zc z21;BUcb~X~(JKl77lK-1r}I;_DKm8F>taiT(`x$IiEPodIbT5iw^=TKT}RrG@hHB? zCJyVCe=R#z`Y{DzYY!z`{jZ}7As-Z+b+(zpZqDVnu}O?jYd7k}FOFqTZ__hWF%lfZ z94IlHzaHF{yG9qQ0!*ZRn?y$>VJ>$HWnK_%f+-W~SCVD;)gRgaFF#tr9AIJ|qN{u> zL2}`J{^o6D+ZqRVpq--WAm7U?3Sk@}rJ%luclrx|@(cU90kQ9sb{dKe_SR{)$KH2+ zvhMF(`+Rin%YT)>k^3fFf+bg&^hP{iRiYegdyA(dZWDdYLOfwiu;V+rSRqT<6!?cIc3s*9@(fy%>U+s);MfP#=f(N5fg028|b9jQ)q zYfZf6hBxR2S~3Rxj``Cq}0-W z)J+8HV%x0V=)wTXy*d1e;j)B3{q&Mr`6|+W?x%G6*M;>(Q?*0lm7HnrDzPL0w%`w( zqY;3`ql+8#bClyfpKtmX12(>(JHV+V{os{|2aad@n_NO=d9upD&4U)pzE|0sKCkFD(IG4>?OS%N6xs2``FS`#4;> zRa^TVw~BJ3cze0usgkjD(YS{S2gJxDE*1cMQnfM=YEPKh)Hrbq|94tF6o_-T$(k|B zeIc(}Q5~7W9J@ie*UzlX%NA0zEWBhvZW~_@54RLbrPPp{7KdzU?!eubzy59V{>tBu z)5+1}Uqz)wEcVfcBG>=vE|lAc25euIs5+Lt~n7$F=3DQ76p} zLf#I7(Glcj)CXtC!0zR-U^sJwbQ3is{#8{CfvbyuHEImRxj-@$WGp{FTsf+LK6ms_ zK&FpO4N!64+v*Uixqcg+x^-LFuu~qZDfpbdP<}vhs?qI;IZ383K10evN)Ge zV(T{$ke15u4nPvIEY3Q$GKqHeJBxI!dH+ED>GeBD+lP-QS=8ib`HiP5Ow;-ebpwT* z2wuB#i;<&cSeK=p$o|H$DB?9wky9&+nVLUGj>`7Co4CZ;UuLe&QhN<)Ch)?)^VJAa zPMiMy6h<1q9hZsp=cSzqtFQoUtF0QKdv5q6W?UaCO%^9BCtIlSqSnnJAM!0|5pvfIi0RjIGQ*|h2M z4AATuE{BQm`-zPh&jEYv75GoIPREFAvgOXM4}jV+{&P9w9R4E&|A!ECJDd1=Ea*I- zRqNc>5`W@~pz`|mMDkYedlHfA-i;0WNAc>Di`-h%Nrm}3Na9NOo&!PtDlaoA@ z*o@e@^uRLTdKi*l4S6jZ*rAw~@)k&b)UkaZBUGy_f z+?Y*aZq>cjYztmpV}Vlh8!;3~8+*J;TQ7)ZiTOeO&w-A5 zcT?XuUENGnK#v7u&i#%#Jk^sv{$AgGP2X&l{&x0Ws2IZmd<8QHY*UVS_0oDR_lb>CjiEy-#Jy&oa>O7=H5fx7}@W13fEG?2OxG07Yx z?75%N=x3IeDq1e3uG?a^FQf^PgpR}d6&p4`bU@IyOWub9u zoeC2StOUcz$EPl`Ek7b`@te1OaPZ)`%LowK_ZF!BZhtq!!cv7o-po+8PHQvBWJyM_ z%GUCQBirtFdDSyDg=AhktkL-bXZS7XS_QzO>&qRYFfPx7|5h;3hP(mgc*AzF`2y?t z{43(|$@qGUQ+0oGa&dX;i1}vV)v(8|d4gQ5vBD?ZTu`0iFj9wv@ApvFU}cZ56ONtl zZie0#vd>$8Tj15$L$)YJhpc43H36^*A_@ieeEC6N6nJjC=ZwlAFCA^6W&m%>H1s`~ z0wt)X6g@sYH5_QlsL37R?DID0ogs=>X9PND6l&r$Yz(A&V6BUJVd~ z;@k&VPAC~R?T*?X&;5RpwQ4Ua?wJdayCz1J%ztd3m$?EH+3^9X6ku@&lrq9__ zPx+Iz@$;R2X}2HGhnJ`Q^xd0l_MKEJ zH~H7j>*PGM7%@#dKSLLiYEFK} zAqrVi%H0s%=3=geYRcJK!yY=1%v3OE{M9faQdIY3*SgMJw@D=$5gfd6w5Ly>BLB~-QAzblA>mR1c z6+xuQmw$HeK5Gl%E1h(ii!1;8i0?)-vW*OF-Aul}0!ZZ3kzJ^xeTCk#rt9)RX0cSr zK3g??JkJw*6q@-Fc38{_m|N0NMOo;^O%!TY6ZVOvdX`|oAs#=dMD(2(_lQ@ zd6!KpwRxdon#AkJJ9)q9jUG4Y&DFG4tid+ci_Jn-7Spc>BY=X4)55?VcBvRC0ivCE zPlu1@vs97#cB2lBF^AG<_uI;5F3-CRJ~_k076oIHB_Q`rd@J|qdidYnm>!pL_>TP3 zGtgWis=i!9#b@dAvGCb17CIEs<(@3Z(q=`V7yGr`=}yJLPdTqmi{(A;C!|Mu&b4g& z-0TS%*)>&CA7{IJBei1Rlw(l{zU#`lW4-)qSslr)e_emJX1Q`+dYGv{E@(8@+R`8Y zm0miDe4w0RAimId#yRCSFHqA@aWb)cvG;N-2$>+CvpS3>!8=XqbU0W!EX;O_ttHLu6HLPFQ#b&s7N(P=ZVL9q>n_u;(37fj)hBmb~PN@`0PlkAw`sVB2l{3w;mOwTuGD*L~iXBqh< z$vM8Y*y#?+>{P0=m9a@fH6k|RS!T1F=jEOoIGx!kjek+dI*;mF(Dh1_D)WqKb3znb zLE)iOd@1j9Ga7+l*4@ve3K0&CYF`lvvZ3AxSY;aWFB%iKk~3^=mQ@rVUL}4#Uo{h6&a2$!3EG_xZb(|zZ~hc?JLcNDd3U1G z&9EXPbHy8KeUhuYs9XNRpH%M|_pwS?<^V^qCKgD>S!t=%TSqO|$&LLv76Gfqh;T2y zTtP?{F9TwX_YIpw101(1s@Hd<@9fe$}(h7gPj)vaVKJ61J)pD%xlDBSOoVr4N=-kWp@2 z$~>5FGhP^LQ$-ntCKQCT++vs;xcTM_E;i7&B;{sUf-aMiY6onLiJ-!ECSf%mVO2+27i7lqPk1~GxfC(mou(u+aqmKfw7Ybg7 z(>;oL{^}2=>w^sHm-FmI%Dj@m*29mM2P^Sk92JmqvnSgW=rCRC8OHKrx%V*>kOQVo zLjzSMk2^!UU1LnX$i^VWag#a`-bM{|X^_jz+jy#&HDAwIn$}*gU@aSLAM0$o|7*&R z-dV$6N1d;OJJ5Rjhw;u=E##CQfm^A}Ucep4Ba{SHSc_=xK96gAaNqI!29XhT;J*n# z=(-I!q`I7GRq=1)42=6O5^5@0Z_V5U^3SMW{SN0R8rl+7&lrK z2L<(@1RLXB*Vpa-n%)8T&qvKFt)HqA5Dcm%UZiIvBrVCy-WPW>L7$jysA3S{N%U<9!>l5%TI^>^7iBd-|D{nAK9l6A-9_2khCe z*}O`XI04?5Bg=Z8ANOBTgRYI1bFXDNHw&%*@|tq$*`3PCW~`BWC+abrh6LAABKS_G zGSMP9i$4jF+9eIQ{u7zyjV&5j=9#b>W3G6tL+wuFFlYNW=teg@G2SVg*Zmh_0rSp>T+W`pk|p9~Y2_Y(5C8x1=ZAzgr*d$+7X-Q(UG ze>_}gsOq*f4$m6d?W$IN0uDvWA~!Z4e!mWW*|g8iGZ%kL}YTK;{c{NOpdUF&) zYLzV@U3fV+H=z4Zc5js~H$T`NOItksyIp45PN56x&I=+>bMQX{)y1*0hU~7am~}H* zeTtc3l-C(5`84`n+kDOFW!?1d{{s|3>%IzWzJp^IqYVuFr}&7Bu#dhaYK|lJx#7lJ z8XXQ22WWD+)f~R44Y7;?5 zJsv!QYfSAD1~WKJ!REkkfA`0@{&1M=g4yn?`hd?^_`|7q9KqW_y!Q1u*j*T| z`;DdGRR8TG9`d&z&&-HBM#!Umi`t|PzBA6YBRkXo2{rUj22!~{B@J4UiKc-Qc_4d4BnZoX|``SKNm&(*Iwu|hN0N8KB|vH2u| z;9+v%c2`%7y{#+8rCq-gt3>^758hj`V&y>WLKwWR6Mg#Y;`w=+h93x8E9l?Vje^%c z#>DV*d}u%KciyFeI&FTtMwhO=)2=Hk{cIap>h>$K(_|nLAo-|Ek9K`>QgY!w9pk%3 zD-n2%_PFn}HV$2xu4iQW_kZ~Fz+HFUJFs%)szJJRX`zFz&f>ALR6(yUZS>O~Yt?NZ z)hWFp`}89M$99$MyR8=L<66aQNJ~$BRN+HeP~S zKuq+rdGTl@Sa9x#&q(#je9^4UyM+ty9f*nIh<Xt&bAkW6Pu8$d(t+P zoVfSMBa1yAW;5D-Mr}IbIR(~YX;&w5>AKV-4Cb6zO;2}cQ;c=>ZZT`5X z=fxZ6-RJ6bOW}RrefJN<1V6?!gs-}78M*V$y9Z*iAVE|+7sgrrHrM|ccCBv7wqv`k zcCnC{Fstq0Mdzg5&Lh|Qu7ZyJ#yplkjAY+HBzqD}w~vDD*w2nOJZ^l*ShkTIw`Hvh zyJ%QAko~R=M!&+Nj^OkgcfWhpXC%HNzWVFHs#R<9R`prW+ef~;@KCP{7Y&B%s5p$j zZ(@WttoC_51+zVtcAfE@!;Svu7z${sA-Zi`kH>S@l9<-Y0Y1_WIVO}_V z%#AL0@98HNXA(vv{Wiyujc-bP^U3fS-~FO-b3Qb;a7`!MZ8w7$b})|kj_Ckj7rU|s z{;z-i_kq})k#)vuI}FfHazQ>~@nPKf@22Lc8J#caA+%(htU`D{*=p}ZOTn0EyOHXT z25+=yZFn++Rw!k+t909Tud81BI8vRF?pNEfo>#p(j#c04kL;$*dbe)(+Lm@ZTCDJF zP3gkjQdkAYs<7Pvq42pq+s-VqXLYyDr*=QpwvO#*+xxuwd@fdeeL-DP)^>1Ppex&7 zI8@!b9_iSv*S>C_ciVTLb+2QRle4(F3+Kp9bwC5u|tNT{; z*lH_%<0;k7Y8ZRywGVc(YiGs-Yot2WN5ALwOrI-P+PU`6+|ko79;mwg;EZ&y-KKp$ zQhoO$u*}^UR(AW9@xtlXcB1#HFS{G;F7t|>mC3pf-bm*Y?JI)I=9_4X z?dR?DesxE?7ZZ?N@wUo3TIttEzk6WReXGo37&{^Ao*2zehT0)EQlBDczE@#Ky|QH2 zl3fx7t9kmx|J&>Y+R&SS*`<9~quEY7ChS_-+R`3-`+TBs+w|3TBCulq7dC3Q{17gG zV3$L`_AwF79p82wj8?k1j8?b(tY4q)=iT#(*6+4&Uwg&I&Y-d6xZP%==cD1qe~fB_kK6Uz=Yti-IN6dm{Xp6&Wfu@%H5SbF z^Y(ccZui+(apYL-yU$0uu72(I^ZKgY*FF_u=ij!BM@H&@d)#M#_@5(VhiQ#(w0?H! zgw1FJpM17$DKH*k+qOM!duWtrdpfsmkMYp^(_Rz!Dwi*V{Cyd4{3^@P>XMw#-?y%Y3*}jRwSHJy-`4ffF7MQJR+lI5X z=Of`U(*3det9Er9tA4-dThq1+Z(G9Z!fs!8`{`b{>+Z;Nc%@BjL3rZNSnl{@>XTSFS?)5`_ta@WT?+4SpEp0avylr)V zG`vQ8HlF^qufJ~nez5!9>$a=wk?M|gzuJxG*bhd(d*gxCt^>xlfYT4=_JG^&XT0ZK zJho=cP22JIykqLsciT{QhRSA|188|%2WeUAlySAD)q z?y#w>8=By{-G12)x2YoA&ucV0;zowrSHoA8YI*@i;%SHxZ>7rK9Sj zjw4kqysKVak5qrG``Rl7Z>;*==M(9_-N!`Qb^F|w*M-y0g3oxyRyg;o+aAYg_4>6P z&%LdI*>2lDA5XvPjMk=}8UI*yv%*&VGtoW@w|-srd)DURc-!==*S%MLO%(qwobGkO z?cR4?&qnLB>a^SUyVrhR=l$xn>DTXhwe5GTwi9jF57zd$HyU33p4E89gG;x4n`hl; z;PtyVQa}CbwsC8pj|5|+`~6_|yEjt%_WiNO+^)MN=Ual;cxbaFaN*x=*S#L^7~43u z&&S(-YwC^G-k>EjUya|j z_v=K;@P3EzsAryoqiB=AK_BNe2KVEq@&@6!_O zD#FVzukXdrm}YbL(A%G1(P*xRaCBX5(W*+_kDom5z4qE0*}q>b0Kec>oi=XOzF=0} zqN!``s%_PC?O9#7&pm7R0S~{vp%neQb?RBWANTszbFcoY4*HQ-_Y3FviOH0gs?)}) z-@Sr4Qax>ys#nKu{ias)FI?hh4HJ*g(`Y#Vx^N1?^j`}XhW{6 zxb|12VAge4Cr7FuznC}(r-AW#nC*TFz9ZU@Id~QS3XgW1x~C00u;Hz@oMyjmy1e`D zd%ZW`d^4Zb^G`z;+NDc_e){zO`y10vpx=fK8wTaK-B-aZ{?b9kwO^Qc_uY5%x(gq@ zs&vQbTKl3!)pINwblcRky5DZwuT8=9%tzbkkCN@;x5Bz@y4UKu=dVh?^Qu$N>blzW zqb0k=-opz%RkUr_?_R6de(t*Zt7BW9hwe50qOP^8(uP;h>sWQ_dj0xW2W?Kfoq9D6 z_x;LL$zQi#!Rq4Ktyg_J@>}SIhizY?O}lhq)bsdB%=pEo55rEspT8ueO+9m7I61G< zhQ$xFbBelE)G5Dh{3%=USeO3my032Wr0#XE)oH_Q+6={r-D_}^($Q+)mc4cxa#it`c5PWQ##df>HF4CY zO3`8n_7FZ*r;h9(n){>c+E)9<#|)3J{OV&{A4~4QYvb*Dec;BIwhP!~k}auzy6pKfAc8-`pFLB{=niS#7m3-ioK)uTrpvUpF*@OCvKwGQl>t>8AbX;e`$B+=n9_ z#^aHA35UX`;0`}F&-?Y)#=l?`ymo(8&k@bg8BXSO@zd&gZ+M?W_Ojp={4O5!l&y30 zYe8+hQZTFk2F8%TcV9bg8X5Sg_m9A-+I9PCx7W6j@sFHtrr{9J3PwKc^AGyaY5h8f zd-Zq?rB4u6g=@|d4V~!rI(}veRFMJ)V@9L|4?Y!L%KW@0;*7#}SS-pMs*(cjF z?swgFPcMINdd*8cKf~$gfD2B$59bBX`Ri}I(Oa@)X~3J^dn}G~=FCcm!O7Q8O}61^ zqZEt}KKQV=;EucE=iXMw&nB-e z_dbr`_{bxU$T5IZ&mF7px>x;#2#s1#eT8h3*O%9=>-pK-{r20hcSzuJ(@nScjy`%u zUKi|s{f%@F>^5$$l{T#QdGmDmzssI}w)emT5A{~OxGEaAXt=0b z?fTX0!ckvY6?**0Bah`za%xAX{gDx+VCKaHue*JMrHll#o@b@jKlJ$VB~SETSg|s6 z`GDR52OKa6LmT}lZMc$v&px+&n0^*~KUwJKv}=qKIM-i)bN-aEkE{uX?!5D!-iaq3 zKTKxzQDbs0m|gbN)4kcVXZ4mm{$y|F%<1`o>NXx#pYGgw=fd7|+4tJsF=02B#Fzws zM;vi@;trPslyeDm$S zS0k`|;)$nvQ$wc@KIou99JQ&s)o&Nq_I3BX+Em|l-LB_e!{WwoJRY=u?6JpttAmGY z*S^%7G2^JTGu5`KKeCVM_q^SX{Y z9vMG@>jUlGdUajLZodVueQe}zdC2_Q4F33xYOh{D817X(aQ_1j2H(FH3C0b*m%{JO zj-MUZzRFmz7Tj@n?~p?e=^eOPZ>zr-URcq)`=0w#k6u{*V))hJz6{)|TYXf&b%aCr zyx+BZFTJ!b$F$Erdk?}b_^Vg1iRbInr-8}OJ{7t>Yu1o|FSsUIk3PC2;*%2x>1YB= z77vYaD(cpsYm;O=KKkgHgZB$w;ZXG*#aWKeKKoqn{s;aV{%d{MzZZMcL)Q0h$%Q)A zUO$R^b#z{TRnIlv-gNV=@pH7thMY|a7+N$sV;pzfd3Ppco{xCys7{Pg@cC7-ke{lq zdrv&U$L<^Psj@$r-cje$)7_$FygbizbbgJU;I2Y8+^kJw}f3iCShq0Kf`if z@Dk&A;F_ObaL2;l^UGIcY(|zw(;sb>f>$sLm%87*Zdx^yxce48nDR1Z%9LSnx^2Wa zOT%V;{p(-PpZhM@V7>kJ+r35iKNLSxe$udUl|87sb*%pDD0#?tNq`wUn=To%X;Tx^ z-+%vK(A4lW3Eq+FQ#*FD1CwYz!k38~d*x#i+`isv8 z9dzL5+O^>ntoA*ymM(p&w{OH_`)`&N_Zob6&!0%{)^A^T&;Rz$J2651Tl@s^0lk$G zpGsaFe)#Zss>>HJsuaAscC7j)zPH|XN5;y_!+)c3TfW zM*{4C{imj*$@7o}vLiSRbChGWl7si}2R-4{7|JG#%sDr_oSH}c{oCK(ONw{V_YOSw2|Sf@K;+m2_P_j>{}ci55kaRtl4r(GkN2Fi=O8c8PS6i8v?Etv`&#ff z=tAaE+;fji zQk(p}9=p{Pw#OvJb2MMQW=(Im7#AB*<9OzoXM;}f^?v%3AExec;Kof3{<+yck|~A$ zdIlc;!?%8^jBF|Qh8+Jb`jYHvCS1(~o2<|Yv_=EE|Nh4J2We)-enY^!{r0;u`E^hv zUtWLX^_=7w1HG(*-|Q3H^rLHkkh-`iCIDxgerj)H*sK?puSi?#y2ZT;E;3IV5s-PiWR+2;#l?wP7?EyZ5Lm3ek9GGO@7P> z`$bkvY{{l^SP4T5lW&s>`a_;S`uL-yt?Sg+m^87~^oC5KH9VVD%lDHXQ>X5qb`F2b z1{pK`HdgoeJNm_zD8{3#TlY$|-OzjO)z@Q!Jh!(;$S1tmCU_a|ZMWT-d~|K>2L$iv z1{$)pH7RQQi?8k1*em`@z^;(1ZdtNqX>b1gOM7RYd3sJ_z?GCFXJl+j=#a4p+R>~M zD{O`WarS!GYcygD)<_c zfcGK+dHCUUrfG{-Y1cx=^=}bFVdLo!dZzygJEwnRqg!u9pX@5ThWC=g4?Xl~j~~^R z%)Rzn>>>%d28Z1^Fzg-N$<;eyGmVpvB5!3U$q!y=qmVC?sQH&&nu`t_A|8Cxdz1c?W9 z&M~$989R=yr912py|FmM7tjZZ1bo3Cu*n@=AP2J|@kbUEbr&pH7&7)*$|xTLU$EIl zGK!yk3EuNZ3fN@si6@`RT_60ZvFi_Aa;(9Bd~^-xH$tu@NAVIb@WBzy!6M828X3_y z8@h7UsyyPgap-q(B<)NBjrHC4-tD~_V>N#5s?9&5?STgznB%PEl*KMG`%&06aPW>? zum@y>9h2mgypjOq3-Dy0xJDBNE#QGZYeK)Sz4rUPljfa}<20FPb1X=)xp=N0N8^E` z*bv{}ju>L~>NP2YaG)>Z2z)^=dMt5PzG>OAr$aZ_W;`WXXRP$vc-BU&0Y7@dCecIu zhbx}wUte%SM}KIJxBRPdk`D>x8aI3Vwcwq8#Qu0sRzCUU)AaRdfY%R2Ty8OB#*FD{ zKjBX{=@Xx#h&{^Y(?9VOdY4?T4?WqB?+Ch7@eDoG{lWLIO8ZTg;QCUIw~1r3Uf9Z) zGtSs6_4e_lPi8`MpMCiChF{>8Od2~IYvOI*gbv23u$lUWANyd;96G$ z{EdUp`yk+(pTUKkYRf;K6+ZNwv(HS}jZb2W4$ii8z&KwGyI=N(uIZ01y%Kn!37qNL z>R3Q|Bl;>`0~8ME@Z^)rQm=pV<7<1XS<&Qq1 z4ZV>ZR+kL1H8x%FQ{;f06#a8>yU;&uA9*Fq%2?yvr4lwKq01w)E&y{bKr(56_~FI9 z&%z+DUAry?kl@~Mv8bQsb-gP(JoI$>cnu!2s@LmWsWm~l9!R(&_V3;WRvZtR31==eW*XqW`jUV)$ zk8ChQ0w=pB&}7-NXTw0fF^CVEaEO%T*~r#10#>;MFB{+Al+MiL@6kse%jDPYF*&8+ zr=EIpDjw$}BQB6)w9DB^nn|L~oH;!mABT#z3A%W z)%?Eu9*iJizYJt5Q(rVD@JnNb{j$q0$>2}WyX5huJrgA~Iyzu|7>3@2&ONK~CLVk5 zJtYj?s&v4N1xF-Mvb*58i)|wuMdOvdhdu>6<(az`@GenP;4yvLt{d_YA)T(7*oA|2y@9EIbrCVQg?k z&!Q#SWHi0@$BA0OB#R8|fBfnC-o9a+^<|=J_rPDSyD1&I4F5i1=o#-{{pxq22M6>X z30XNZChcf1`F6-5hxDdI;7nF-yZz2gdRYxNE-OC2`QLv?hk4|YRv;r_<77gw(8a2o ziN{f~5=alwePhU~;6#Dn;>C}LULKr5jn!0>15SZ4q}v-qZ#Yt8hTmKKIm{wwDjkiY)S;can>=%Bt72_=VQfWw+K8IFJ6+iNPuXyYR^6P z4ClBr(OO$t_qqZKTo6*W=u~W z1>zaNunSgy1lV@uSap=}vV-mLBMuvM5@dc^*dxIp+8USOVAZO%Ndt5}i!W}(%VM^Hr%X=Zi?g-hwizF-<#p& z?IaL%DC8AS6foJUbrBrWnKxqm_$E-lH)Ks9{rvMQGN3RS<`|<@PWbP+=f0$mK+lBc z$RiKW-GcBy|A!x09QJrl%CR7je&8j1D$o>!OV9~Sn&7^1xNL|qOIFbdi8nCV9C~H4 zf+sfyE!aW!+_m`$xF~&E_s#cu!6cH*NYbbzX9C z*;CI%-}|J#N_y=R=g))K$U z%dHDCxI}k$#YBi5M`L}OkSY2mv;4IkHq)jZlD6c52Omy*&9;(}`xZTrv4cqszj1u{ zjan$u2fdeIX0yd40%17vop!}aYJ3(!`I@+oHpa^zRB=xtls&2>E_(wWxcVYT&xHRl zUiSLF`yNPtgU@7FKuqq?gpP=P1i@@CAIu)JKeK1e>iy}@*Y`e&!287&79046!*cR6 zH6{&q9Pxoi&lTi_f({Vz&f8c31F^zvVk_xbe13s@@-Uo(@04 z9+A-#!w2wVVj&ui{->XIYECBDO9d?i_G~mA;WJM^{nXUI1q<#;nG0IYJ$6pUq5MSY3!8NAIcKF_yXTMY z<2$SKXxMP$N1JI8CvfKFCC(^dSVZ(;E!%xl0@v>j+%pd;n=ag*mG2V#}ejPSnU+j@x zIAn~T(jSv_wgcZ3bfM4aLf+6!Ty8;8+^5|MF;7%vS2z;7k48HRR>OAnk!wHZ7 zKuhrryM6M>^YS?yBz?_4rXO`w`VM%I5B`e%wNvexXP!^Jc_$V^`7<$xI7Fg@eN_)H z*tb(+F_aFd7ccB&Vu_6Z+yDAy(w1Bp1Ak8E_+|Po7De(vDQN>Y^kakYUJ?c0%n8Z7 zm_@vb4{YwOu@g-43*Y%nGWgf9brzKxxqhX0)>&ty-R2|73qNa|cxW!dPl_$*F}r&5 z$tR^fU}OA|J^VE9y8E8{QYOeDe{L@I+u!{u<>uvB%)`H9BW7Yd;4g+mpD9x$f%gd+ zSd(^`9PSk|-d@}zcjV;!^Uq8Dpkwqv>@1;e{)YbVMLbSl&=Z~X#TO}`gbW%N+WfD7 z|7Gaue(Ar&Fy?xP(D7Lsj6=fV2|#4D1xOs!MX?GhSUWz9$~D(qoemxWC2a@{<7c&+@e`MI<=h3nyu1)nsYk$aoV@ z&YQ3cGARec$9Qqt9PsbM*h^4QF!dCH{L@cA-#hh`lhbL~?t1mrS7bfGk+D%8MbJ|>Z>6!Wz9}KtU^0ePz_HqFwZ|kH zzLcEdSQZmA%4!^EoO#-2e8MUQJ`x<$kD8u=lZmL+xex#TVJP{mLA*l2`<tmk5~t(cHZ3EJbYf@l8FiR}L5M?cIU=vTk`ZB9~O2-+Wa+}z&f^DoWG z8(v5v3q~&u8RC4SY5w7xfD?TLG=i5sB5+|Vs<2tdgd^tI1a8`Q}@hG`!`OJ9<}q=d!f#lILXA#7t7!t_&;F zCfJ)cZH#*xVhmUHzW2TFW*|gP_6{22i`_?i?l~ptBAIvfRac~5>&Mv1rxh+bMV|$c zk{wmx_jF9A{?GsRui5YM!S5w888ML}o9ouCkKkxY26tBH&O7g%v^4^~tD-OZDKSZw zXM}F>Q36fD&gGY1nl$Er1Xt&rdsfhMe(vOAXY52HL;m#RmD`UZh%fw3iB}uoFQ_w_ z6;RC&IsN8&=cZqSgP_mkfQ->yc99P{^UO0ckTnjICX)m-{J{^d%7BlqnwXvU&2z$E zT$U@4e8S%BaM&`zS(|r7FB6CtL#_m*^xR}v@XnT_@k_B%Z1T+?NPG!Q1>yV>`@-I_ zWAyQ)c_*fAyy&8DB@OL*JLJ%VQ+Mnz;8RU%t_pj_r?LwcQS2rJn@RrhKn5atj;<0e>>oW6JK&Q5o90TKE5^%4ShYv%17k%tEJsd$)FpRz6PPqe zZk=`3>1m^@EqPQN$}Z=P_{UBtx(oJc;rFd{;u9ScG-u2ZK35_W?Pt$EI{G;#?XXFW z*l5n|S%VXguxfgViN@Z!W9HKEJM@H|bRTW#8$7JGnS<(JW;;t&4hth3KZ-_PE?8ot!ZJRP|Bq6?BY{|s6y+7&J0B6ki+#E>_; zM98<~Jlkh?o#YoDTo_}-YyMSSC?O4&{^mt;9F0tnOfbpRC1IDoaqihc$D?xMC04XB zKo%@`oEb3+eu9DDY`h(2^zqr4lpc719Z9=q65cKXi)<3#vuDo=+i^wGO5C<#!&@nf z^aPxP!;VNMh&Sxyl<1W-J2Z5UzMdO;4qomO+`MWnK`(J-%;Jw(vu5U`6TOs*!QlRl zurc5L?&XQ6cud?NDVx40`okyk#co(Mm_6s1w6|pR&`4Cm@yy^qze#r3Xfk)$v}v(R z>!b9SB^M2^HVbaZRPOMJ*n^ysP4ULb(T7-sA37&wfWH!_iJ{2{U&puEF~I*wq_acx z8H}|NJF++YMO!cM)#OnT-zXL}By`zYxbtCbJp3=b;9E)a^bwH=wm>S;AWo>b*5Uy< zAs0R|pg;WiEEZM|4FBL&XtX467Awsi=o!CA79~_HC>(#>+>A3UzQJ+DiWlShu#Dr* zKIe>#iQsGTKzt{DBG+V`?3%cWWfU~7g1_Y3IN3`v*6i7{k|*q`3A?1({D`qHIRBf; zU$6L!$Gtwf_^~CKgpq)-I&c1gfBfVB z_v_#FPCf19Oh&TLcy*@?OE0}J;2fCpEm=Zqol5>CsI;XQ=B#2gF&&V;AgR_+t-(zq-W5!XDA&!sk#(!2A6v0NLpt0&6 zj)0LAFe;@?CN^{D&Wa#pTH8lYy5VSAG!nO$7h^=Nr<2 zF_u-&%8to~NrYm>S6cxO!^4@P1;eVqt=ggk8GyG{OA|vz(iq_*fHzrqHL}%v#UzPb zm;hdV)#W{bwn-9WY?VPqyD1G{oilFwVw~`YLoI&jL%?`$1Op5l{H>^SRH`{a|4 zBaG&qjB1SAQ3o!{-qgME{>pE zsfkAN9)E)OR+p;a7nu`Gd5!SvM>e~d(AYD)suGtGfb5;COtzELdo-1tE*=ZKuKwN? z$={L}a$7DAJWjiL)#$)Xnib#Bo;{I}CMQ-mO;k-xs+hzje*<8R&2`B`-TMSj17WgZ z9QZ64vSO985_UvE5A@Ssl2Y+{M%+qyH(5~xbzajlner~XVtm@xxyh+l3TMm=n;CGy zG?|rbu}%D_Se+Aql9L-^Vs53A4O5yiHEqgQutV$}y7L(oXtHf(_t+AX1wr2>mt4?0 zEds+T>X5r1h2Ge?pqM<-2{J0lVZv``OuJZ}Qnb(E#SjZmN47^Xu~CP;`pTchIqxx%Lg&ss==<-NnOZW=h*>OH&=FI64Twa|rgctma#D9}iL90f( z?c~t6(&z*mxG8J0_{KXU|G~v$McriZPV0(>J8;gjHrB+J4bzVThl(-CiK3r^Rr1x`rw?SJ@$Ya}_MhtYr`_V4dk?3dlguj~ zI(?ozBqYY!hZFm`Q|CUM@T1-~INXEHy3{-v># z_KB1kd||UBFpoQKZsR8czP9L*Fw$m5hh%@V4QP@$r3($-WnKmO4*dEd%AnDk148>A#iOw_K5$rCyZ@u|`E zsF?Tc$hqd4?_~l*LStUgQP1dWx6<9JrJMgM(hvbDe>>(f2ENbnRyRG<6vLdeG zC(%_gX0i>}Mvn*5KmP1z*XE?~?ueZfZShTEN7=kwyoscfl5uCAH8M~%6??-`+vIzk zw|%A+d453hG3$nZQ?Fpd?k0VE7=#DigzS+z7uq@qgLXBEa8gr zmu)s4a6NF}PVS%loj=)N(C1w1c( z{y1>AKKWPmTUy%q7!*wi^-C= z2+ULPx?9Lo5IAX^v0un&jyI0^ERK7`4z7&tBLSFW%O;JU{3CW6D|E*0LcI0;D!!@i z=Sln{p(WvzCHic}(fAJb#v+WOf3&kR*Q;&h!j4mQP_LnPV_!<1%>mfv`|p1+;}-Tq zspom|75-;vX0VG8fkU7evef_YFMrefmzZ$L=*!R^97fcnnE*2g3a3y8o#9C*7YgDP zidSEGJyt@S?5C9kg+n^@kVA7N=%$-*%YdQDZZ=LpcJhup7G@@N_Uu`y04c=Lj-jmb z@khQR(oDSJKzJ#p#K6lhug}DbZ2ZR`H~kWP^}&$+z541ad%yY3AJZ_;nKLWFf+1kj zW=1Hu%&vDa?cm{nO-ers`q&=HDV-h}@G1g36Hq%}d}oD1TO9$Da!CYOnbFsu|9oRk zkluZ7oKyH-=8KF4|c?Td2NrxaQ?+HRP&FTIp2`fySI@R%^#(rUY@@hB#dcP+dpjQ-`B;blau zEK7dK+Go-UJ%W}OUwnQ}aR1{^H{|Mrt??^XyqND3?;EdZd8Gi}oLB|9oS6jJEs^-M zTL&(jvDHBIEaT&7E1@myjG6ITMR_#%Co_N6S!d>UWjj~Mw23)~BC*6^nnYT$usXT) z@u!k^_%v_c2@z0C$ydqJNe3%@cDWQi{~kM+Bm*vqRR+l_GIVonUA1B% z2s}M@!+>M8R^r2|DPGQ2LQ_+-npZM$fi6VvElksz=oRb9gtD6U)g)S#Tu zAMNc5`{_@A7!%i+00h1Qjk99cgIz(!c2Mx`*kk7=ehU`dl{;W;FC}lb& zmBb+th<{#Ou`2B23u#NNT-%9aSJ^>(HVHI#0bZw`dUDEz$@5_`Sv3xU;av;wOPx1n zNrM?Pj!K!f!eVlzkSn_zGwTs7jkiSOyJ0&6~g@Rc#O#oCNj>3SgE9g`aB|5F-=yC%QvGWj`;>3Z_HqW z;6z?ZlGMn-iZJy6TLpuQ2NUMSLMsRAy_{JM=5lQ6=G9Flk zg_~r$LOxdeh1i-f@ zW@v1SI_N=u?JyF2>&s+BF}Y}h?MN(bwnsJjA}{KpD?RYKD?S+ySyfDA$=fMMo|MTK z$)`rv7o~kLF|k|20@tF@=V=kRqp1RR#a-@s{m83Tf4T0)T$r)L)x=6d1`cSiu;q&% zTO0}AzlYBVKNP!?_&dB8)0m(gblO2lD`QtOt_wY>iL)_RQrOrOIv{y|YV1Pu-IeoW z7l4F|KZU)!`|f*t--%s(w1hvVEO6(K?9?Q8Uegd?cx6aJPw{$--D+$<8L!k0Yis`QJb6r?|o@e~>13&!O{Pp#!d}Eg_8m@~tUTnhOcrDis*Wx8wNJ9BO7`mAtv$qxRSAvz@ zdvinZBIL~ift|E=iKwsO5uR4TA9lj-Z#x#~jRmRO7c30?*XE9Lv98yC4-Xqe7ORLQ zeMZ49AFmLSbGi~BgZ3Y$yh)UL)tH^J`@-(8KmNz{X&dY|7o&=IhCWNGe75)+EAECl+dj_;-A>ro*~@HZaG zI^(GrhhEV8W~>s$?B74qFV{kDcK#LrXSZN#!||Pr5YQsTUIXIjnylRDNNOXX;EV)R zf-r_a5aq+R6oCO%k1`7q8ll}M>)Xmj;VHNG{A9@mnqavnP|=PtvC2WH(-4GU!_x$Y zlV*gy7i}vf0W`TV`HzlMS&d?_-w z5vUp`1I&;p42H@5Vc~?0Q(%hL=!tKQA!#P%`Z8&DPah`aGlGBcyCDn`W8hjnvZ8NB zTSgb}6#Vjv7hK7LwgNX}6&NuLwk>mF0s@mxuT$(7AI)SyB=-a;f=+ZrZ`%w7@eGqT zwh~+EtPgy_h4b}6Mg21V43ZDX8fO*!5oDtQ`j8#tWL!BKfuBIbwO5IXh8$Zacw+Ye zgX_IsJ3|=U!=@dU_w*qlBG3@)C7^l|*rcRAXeBg^_r7PsrxWT|vC1GN$P3 z9}%e6YKCN&oj}v4`vs)k6Av_kFULqHjR#(wAvpk_+(}$K6$ylI#R|@{WzXdJe)iKJ z<(Sdit`|-n3^Fu#?(C$wK<#I-T0s64Hipb`Dr8!rmtM!Q0#~{T=9`g}p@-xgeaQxW zP#=HXM;iegSrD|Nr$D*jprJ{Ealk<^LpJpV20LMF>=?R{4>AqEoQOwV$sICHud0AU zKEQ#OKIpwV^a?HDLnhcHlSa4-x?c<43jXbkFb483u%>Hh4`;ZdBfY~v<5L7H9KXP( zu}96TBKomHNY23{rzWyXmp++0XTWRA8d!7%zu9GWPm;#3pS%|z-9%@JjM^bU7RY7E zG5N5C84cM9<0eCJ)xR-lBgi0Mg1eW)rdiKGI7zujnawMhARF|7;6>*e0cL6QFzb44!nH?0cQS3g2}xAvfuzgX}h3 zz#~gl*m>=y1)ccRk{i$Mn8F`ALNDM9cl_Y5$T+#dx1>SXYGdH%(8c)JWeI$?haS=q zw2&kqAI3(H&;B&;R-7DSu^S$ZPQdeF|qd zH3=iDz2cj{2Op;9_{b7G(a-l8EIvrEE{=rE`>{x4#b05!=tj}VHNKY55^EX1v56TZ zQ{W;VQP(rPWJB>rAi6$iM3=y1!yb=>4L!0LppZrIOAhs?pb`3lNk)tZZH)n?30n58 z;2SSF;AhYejo3#0!Gn+Dui!$awABxqqs7{=X?&?`GUM3T)@B!y?@UQrdi~a}vT953 z&{18JcMD&N{*1?>lNgB{(G~6C`Qe8?8r|qMIm0t@iI#MRJ!3!V3cli-Le|&><1l8r zZY=bZUXYb+6R#NM>!NX=-MQ(eTYIO+1G_7*nn>8U!r36 z>{)^To4FJ6$3Jd%T!Et>xH~r%IC`}Ty~~He4{pX(u@Ii%8^1&+$O4_3660uWRlEuo zZTKQSreZ+$&$m~|0sY1!_3W(lN)`D-6Zg@WKARtqAMN}oiPz-YJ`WCTu$|WAvcc`W zEZy+~_Vp3%);NL??6yPa>Rr_%@J5EeW!-Bd%B22p?q^tMKDcG}d+N z*ofG59Ddg~C69`unBBLzyj?+F8u~Urb6)+`JS6=~*bs7qALIkA-~nGg1@8PC9rJA+ z3B;K*hvpi_Y&__zu0Q&zG_mJvnGhmN;(qn`IDMfFUV-nP{@`f5(k@xhkzS%(@p80*?otVx_CUuo`0>$cCK z-My}%SPAfsy`;jH6hW0$D?2Nce*FlN8E)H1t90wNuSb)$cD<4Mt3K+vBS)~Uis0DF zft7Dg!KB%1Gouv_io=rJ8>#dgo4Q+zJGfmq-M+HIHu$FvccgROw4Y71+mYIibRT>> zR0QjiUZd3;4VNuxx3z61+P+j_GI$kr=wCi7cU?5OlQw(nMq)~8_4t`G?`6AhD9-#}8@?b_!P#fzPM zFuvn5Z{7*Lm)5RJ+h-R_8|FyoT|6e*xB9-#VTYCAzTHn7)=2l;b#|unEyZ_B+l^=J zU`x{20p{FCL$A1^`2mS`zwPrbTnk?&(tPP?^}6l)U2jSIer>w<+Sl##emIPDZ?tx! zJ!`}3*6Uuk>$cCg#0QQScDtXE&P5^ZC~Qk$x7*l(Bd(e;V|u>M=FJF`*Gdeu@o2ZJ z`(AsMM3S78NWUyz0hX+3*B$A+V2pN@sPvlM$&pCvSK6>W?_T$7Gv0e`Sog=<0}?qF zd?Z7>>fBD!70iC|f@FxDwAaR~tNrGr?S2YQ9X)&Qx#c;xkPuQvt6%NvIFY*A*gdpp z(O>fo6-iDXb&4r zyMDM--G0wTyI1YneN;b=?Y337?$vdB+@7^zbh!zc9Z&UJZTgL??iIZ8v;nW(uFk8Ug4L~8*F(=6Idp&MUIW{9T;Bt*s^nSq(XBVy zGjQ9b+m-`m_{(TlAKFyiy4UT;{eE?-zkcoNS@+n5?RmR>T~~i~?by9%CB)Cda`qfy zyG|Eo^b-AKm0|yMVYXp7|2&-LUX5d<_SLT7jda~@-@dN?N9#)+rQJ?n)ux_R|5dN9 z>$#&+_xsiJynDZ{`?YniUD~imJMY5mUV~Zp3Qqf;bNAKh_q^_n1f$>cs#~zz{q?I~ z&xfADslnU5Hg2Px5ASa{jOxQt8R~1u|F!S+>$lskU;PB$f?wB;ZQSerL};Z=yU&6# zo_qbqGt{o3RlzGfN5akhvX2F~+77`So^&l(qdo6F1GC^e3iw`+l})e8S`BVLYfrA) zeK~K}19P-{R$?XF4vdey+fh)Z+H|kmeYKy}`AB_xUTvMLSEb$8XmzSxxBf_dcI#Dt z?Y`??)vcrZ-E;RwYU`O&&$S)vx?R_KwW)U9>jW786kc_7zs|dD>b?n~RdW51C9D7S zY^3(?S1DZU+OgeNj67fuzgKOlpE`EijyCp!(X`2b{qs3G*S&5ZBf&1X?JVCnlW4mwnMuJ=QM}t{yt4{UV?xX5}SM|EE`?XW2;MCDQ3x;;( z*r{YUS3T?Y)3ncj{gZu*OUbMq9%Qy(3|u(2aY_K2VN`$ajdWi1>qvE5=IL|os$Rdo zCxS=e<0yGfM~&02r+TKZ_IX`9R{s)Db{M&C_uoFR`rY=fyG4Ih+A!MZo{x6zSsU*< zx4YXeC_9$y;@g$WS3Y60GcdOVZ)d<|SH)qH#@m*&lk^-PJtyfjK00l$T9fqOUXVFdM#3-;MWO8B{?RvF$Wg2ho*tWKP zKWW(>F#Gj0k$XE5r(LzLiO_p{)tzXd#F+h@nY-?p{l3&|jf_60;m&~EumW-|1Yr7@w$Ku%bfH_v5{hn{lIJd?(?a1-# ztHy~2JF@S7G~e0oO(tx1HjYf*;6quyIBn2iZFiC+)3QSU9k^++yn54iY1tuvlNr6cU?Bo=fOxWxM4D!J& zzcTSpRnmKu?QMu(6i&Nh zzi8{jc$4MJMS-@Ce-(LH_F-FcZM=StU7FOHZAtlE6BZevo0Dad0+SS&q`)KvCMmG1 bQ{evx3eD@!BoYza00000NkvXXu0mjf+4-pu literal 0 HcmV?d00001 diff --git a/open_notebook/domain.py b/open_notebook/domain.py index 7d19ebd..1e800eb 100644 --- a/open_notebook/domain.py +++ b/open_notebook/domain.py @@ -40,7 +40,7 @@ class ObjectModel(BaseModel): except Exception as e: logger.error(f"Error fetching all {cls.table_name}: {str(e)}") logger.exception(e) - raise DatabaseOperationError(f"Failed to fetch all {cls.table_name}") + raise DatabaseOperationError(e) @classmethod def get(cls: Type[T], id: str) -> Optional[T]: @@ -152,7 +152,7 @@ class Notebook(ObjectModel): except Exception as e: logger.error(f"Error fetching sources for notebook {self.id}: {str(e)}") logger.exception(e) - raise DatabaseOperationError("Failed to fetch sources for notebook") + raise DatabaseOperationError(e) @property def notes(self) -> List["Note"]: @@ -171,7 +171,7 @@ class Notebook(ObjectModel): except Exception as e: logger.error(f"Error fetching notes for notebook {self.id}: {str(e)}") logger.exception(e) - raise DatabaseOperationError("Failed to fetch notes for notebook") + raise DatabaseOperationError(e) class Asset(BaseModel): diff --git a/open_notebook/graphs/website_extractor.py b/open_notebook/graphs/website_extractor.py deleted file mode 100644 index fc4e69b..0000000 --- a/open_notebook/graphs/website_extractor.py +++ /dev/null @@ -1,179 +0,0 @@ -""" -Website Extractor Module - -This module is responsible for extracting clean text content from websites using -BeautifulSoup for local HTML parsing instead of the Jina AI API. -""" - -import html -import logging -import re -from typing import List -from urllib.parse import urlparse - -import requests -from bs4 import BeautifulSoup -from podcastfy.utils.config import load_config - -logger = logging.getLogger(__name__) - - -class WebsiteExtractor: - def __init__(self): - """ - Initialize the WebsiteExtractor. - """ - self.config = load_config() - self.website_extractor_config = self.config.get("website_extractor", {}) - self.unwanted_tags = self.website_extractor_config.get("unwanted_tags", []) - self.user_agent = self.website_extractor_config.get("user_agent", "Mozilla/5.0") - self.timeout = self.website_extractor_config.get("timeout", 10) - self.remove_patterns = self.website_extractor_config.get( - "markdown_cleaning", {} - ).get("remove_patterns", []) - - def extract_content(self, url: str) -> str: - """ - Extract clean text content from a website using BeautifulSoup. - - Args: - url (str): Website URL. - - Returns: - str: Extracted clean text content. - - Raises: - Exception: If there's an error in extracting the content. - """ - try: - # Normalize the URL - normalized_url = self.normalize_url(url) - - # Request the webpage - headers = {"User-Agent": self.user_agent} - response = requests.get( - normalized_url, headers=headers, timeout=self.timeout - ) - response.raise_for_status() # Raise an exception for bad status codes - - # Parse the page content with BeautifulSoup - soup = BeautifulSoup(response.text, "html.parser") - - # Remove unwanted elements - self.remove_unwanted_elements(soup) - - # Extract and clean the text content - raw_text = soup.get_text(separator="\n") # Get all text content - cleaned_content = self.clean_content(raw_text) - - return cleaned_content - except requests.RequestException as e: - logger.error(f"Failed to extract content from {url}: {str(e)}") - raise Exception(f"Failed to extract content from {url}: {str(e)}") - except Exception as e: - logger.error( - f"An unexpected error occurred while extracting content from {url}: {str(e)}" - ) - raise Exception( - f"An unexpected error occurred while extracting content from {url}: {str(e)}" - ) - - def normalize_url(self, url: str) -> str: - """ - Normalize the given URL by adding scheme if missing and ensuring it's a valid URL. - - Args: - url (str): The URL to normalize. - - Returns: - str: The normalized URL. - - Raises: - ValueError: If the URL is invalid after normalization attempts. - """ - # If the URL doesn't start with a scheme, add 'https://' - if not url.startswith(("http://", "https://")): - url = "https://" + url - - # Parse the URL - parsed = urlparse(url) - - # Ensure the URL has a valid scheme and netloc - if not all([parsed.scheme, parsed.netloc]): - raise ValueError(f"Invalid URL: {url}") - - return parsed.geturl() - - def remove_unwanted_elements(self, soup: BeautifulSoup) -> None: - """ - Remove unwanted elements from the BeautifulSoup object. - - Args: - soup (BeautifulSoup): The BeautifulSoup object to clean. - """ - for tag in self.unwanted_tags: - for element in soup.find_all(tag): - element.decompose() - - def clean_content(self, content: str) -> str: - """ - Clean the extracted content by removing unnecessary whitespace and applying - custom cleaning patterns. - - Args: - content (str): The content to clean. - - Returns: - str: Cleaned text content. - """ - # Decode HTML entities - cleaned_content = html.unescape(content) - - # Remove extra whitespace - cleaned_content = re.sub(r"\s+", " ", cleaned_content) - - # Remove extra newlines - cleaned_content = re.sub(r"\n{3,}", "\n\n", cleaned_content) - - # Apply custom cleaning patterns from config - for pattern in self.remove_patterns: - cleaned_content = re.sub(pattern, "", cleaned_content) - - return cleaned_content.strip() - - -def main(seed: int = 42) -> None: - """ - Main function to test the WebsiteExtractor class. - """ - logging.basicConfig(level=logging.INFO) - - # Create an instance of WebsiteExtractor - extractor = WebsiteExtractor() - - # Test URLs - test_urls: List[str] = [ - "www.souzatharsis.com", - "https://en.wikipedia.org/wiki/Web_scraping", - ] - - for url in test_urls: - try: - logger.info(f"Extracting content from: {url}") - content = extractor.extract_content(url) - - # Print the first 500 characters of the extracted content - logger.info( - f"Extracted content (first 500 characters):\n{content[:500]}..." - ) - - # Print the total length of the extracted content - logger.info(f"Total length of extracted content: {len(content)} characters") - logger.info("-" * 50) - - except Exception as e: - logger.error(f"An error occurred while processing {url}: {str(e)}") - - -if __name__ == "__main__": - main() diff --git a/open_notebook/plugins/podcasts.py b/open_notebook/plugins/podcasts.py index e0a1079..f1167cb 100644 --- a/open_notebook/plugins/podcasts.py +++ b/open_notebook/plugins/podcasts.py @@ -1,5 +1,7 @@ from typing import ClassVar, List, Literal +from loguru import logger +from podcastfy.client import generate_podcast from pydantic import Field, field_validator from open_notebook.domain import ObjectModel @@ -10,7 +12,8 @@ class PodcastEpisode(ObjectModel): name: str template: str instructions: str - file_path: str + text: str + audio_file: str class PodcastConfig(ObjectModel): @@ -24,6 +27,7 @@ class PodcastConfig(ObjectModel): conversation_style: List[str] engagement_technique: List[str] dialogue_structure: List[str] + user_instructions: str wordcount: int = Field(gt=500, lt=10000) creativity: float = Field(ge=0, le=1) provider: Literal["openai", "elevenlabs", "edge"] = Field(default="openai") @@ -31,6 +35,56 @@ class PodcastConfig(ObjectModel): voice2: str model: str + def generate_episode(self, episode_name, text, instructions=None): + self.user_instructions = ( + instructions if instructions else self.user_instructions + ) + conversation_config = { + "word_count": self.wordcount, + "conversation_style": self.conversation_style, + "roles_person1": self.person1_role, + "roles_person2": self.person2_role, + "dialogue_structure": self.dialogue_structure, + "podcast_name": self.podcast_name, + "podcast_tagline": self.podcast_tagline, + "output_language": self.output_language, + "user_instructions": self.user_instructions, + "engagement_techniques": self.engagement_technique, + "creativity": self.creativity, + "text_to_speech": { + # "temp_audio_dir": "./data/audio/tmp", + "ending_message": "Thank you for listening to this episode. Don't forget to subscribe to our podcast for more interesting conversations.", + "default_tts_model": self.provider, + self.provider: { + "default_voices": { + "question": self.voice1, + "answer": self.voice2, + }, + "model": self.model, + }, + "audio_format": "mp3", + }, + } + + logger.error(conversation_config) + # conversation_config = {} + logger.debug( + f"Generating episode {episode_name} with config {conversation_config}" + ) + + audio_file = generate_podcast( + conversation_config=conversation_config, text=text, tts_model=self.provider + ) + logger.warning(audio_file) + episode = PodcastEpisode( + name=episode_name, + template=self.name, + instructions=instructions, + text=str(text), + audio_file=audio_file, + ) + episode.save() + @field_validator("wordcount") def validate_wordcount(cls, value): if not 500 <= value <= 6000: diff --git a/pages/5_🎙️_Podcasts.py b/pages/5_🎙️_Podcasts.py index dc2ee40..5b37d00 100644 --- a/pages/5_🎙️_Podcasts.py +++ b/pages/5_🎙️_Podcasts.py @@ -15,8 +15,22 @@ episodes_tab, templates_tab = st.tabs(["Episodes", "Templates"]) with episodes_tab: episodes = PodcastEpisode.get_all() for episode in episodes: - st.json(episode.model_dump()) - else: + with st.container(border=True): + episode_name = episode.name if episode.name else "No Name" + st.markdown(f"**{episode.template} - {episode_name}**") + # st.caption(naturaltime(episode.created)) + st.write(f"Instructions: {episode.instructions}") + try: + st.audio(episode.audio_file, format="audio/mpeg", loop=True) + except Exception as e: + st.write("No audio file found") + st.error(e) + with st.expander("Source Content"): + st.code(episode.text) + if st.button("Delete Episode", key=f"btn_delete{episode.id}"): + episode.delete() + st.rerun() + if len(episodes) == 0: st.write("No episodes yet") with templates_tab: st.subheader("Podcast Templates") @@ -27,6 +41,10 @@ with templates_tab: pd_cfg["podcast_name"] = st.text_input("Podcast Name") pd_cfg["podcast_tagline"] = st.text_input("Podcast Tagline") pd_cfg["output_language"] = st.text_input("Language", value="English") + pd_cfg["user_instructions"] = st.text_input( + "User Instructions", + help="Any additional intructions to pass to the LLM that will generate the transcript", + ) pd_cfg["person1_role"] = st.text_input("Person 1 role") st.caption(f"Suggestions:{', '.join(participant_roles)}") pd_cfg["person2_role"] = st.text_input("Person 2 role") @@ -49,13 +67,18 @@ with templates_tab: "Creativity", min_value=0.0, max_value=1.0, step=0.05 ) pd_cfg["provider"] = st.selectbox("Provider", ["openai", "elevenlabs", "edge"]) - pd_cfg["voice1"] = st.text_input("Voice 1") - pd_cfg["voice2"] = st.text_input("Voice 2") + pd_cfg["voice1"] = st.text_input( + "Voice 1", help="You can use Elevenlabs voice ID" + ) + pd_cfg["voice2"] = st.text_input( + "Voice 2", help="You can use Elevenlabs voice ID" + ) pd_cfg["model"] = st.text_input("Model") if st.button("Save"): pd = PodcastConfig(**pd_cfg) + pd_cfg = {} pd.save() - st.success("Saved") + st.rerun() for pd_config in PodcastConfig.get_all(): with st.expander(pd_config.name): @@ -72,6 +95,13 @@ with templates_tab: value=pd_config.podcast_tagline, key=f"podcast_tagline_{pd_config.id}", ) + pd_config.user_instructions = st.text_input( + "User Instructions", + value=pd_config.user_instructions, + help="Any additional intructions to pass to the LLM that will generate the transcript", + key=f"user_instructions_{pd_config.id}", + ) + pd_config.output_language = st.text_input( "Language", value=pd_config.output_language, @@ -132,10 +162,16 @@ with templates_tab: key=f"provider_{pd_config.id}", ) pd_config.voice1 = st.text_input( - "Voice 1", value=pd_config.voice1, key=f"voice1_{pd_config.id}" + "Voice 1", + value=pd_config.voice1, + key=f"voice1_{pd_config.id}", + help="You can use Elevenlabs voice ID", ) pd_config.voice2 = st.text_input( - "Voice 2", value=pd_config.voice2, key=f"voice2_{pd_config.id}" + "Voice 2", + value=pd_config.voice2, + key=f"voice2_{pd_config.id}", + help="You can use Elevenlabs voice ID", ) pd_config.model = st.text_input( "Model", value=pd_config.model, key=f"model_{pd_config.id}" @@ -145,6 +181,12 @@ with templates_tab: pd_config.save() st.rerun() + if st.button("Duplicate Config", key=f"btn_duplicate{pd_config.id}"): + pd_config.name = f"{pd_config.name} - Copy" + pd_config.id = None + pd_config.save() + st.rerun() + if st.button("Delete Config", key=f"btn_delete{pd_config.id}"): pd_config.delete() st.rerun() diff --git a/poetry.lock b/poetry.lock index 75a0cf6..bf9b147 100644 --- a/poetry.lock +++ b/poetry.lock @@ -154,6 +154,17 @@ typing_extensions = ">=4.0" dev = ["attribution (==1.7.0)", "black (==24.2.0)", "coverage[toml] (==7.4.1)", "flake8 (==7.0.0)", "flake8-bugbear (==24.2.6)", "flit (==3.9.0)", "mypy (==1.8.0)", "ufmt (==2.3.0)", "usort (==1.0.8.post1)"] docs = ["sphinx (==7.2.6)", "sphinx-mdinclude (==0.5.3)"] +[[package]] +name = "alabaster" +version = "1.0.0" +description = "A light, configurable Sphinx theme" +optional = false +python-versions = ">=3.10" +files = [ + {file = "alabaster-1.0.0-py3-none-any.whl", hash = "sha256:fc6786402dc3fcb2de3cabd5fe455a2db534b371124f1f21de8731783dec828b"}, + {file = "alabaster-1.0.0.tar.gz", hash = "sha256:c00dca57bca26fa62a6d7d0a9fcce65f3e026e9bfe33e9c538fd3fbb2144fd9e"}, +] + [[package]] name = "altair" version = "5.4.1" @@ -281,6 +292,59 @@ docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphi tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] +[[package]] +name = "babel" +version = "2.16.0" +description = "Internationalization utilities" +optional = false +python-versions = ">=3.8" +files = [ + {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"}, + {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"}, +] + +[package.extras] +dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] + +[[package]] +name = "beautifulsoup4" +version = "4.12.3" +description = "Screen-scraping library" +optional = false +python-versions = ">=3.6.0" +files = [ + {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, + {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, +] + +[package.dependencies] +soupsieve = ">1.2" + +[package.extras] +cchardet = ["cchardet"] +chardet = ["chardet"] +charset-normalizer = ["charset-normalizer"] +html5lib = ["html5lib"] +lxml = ["lxml"] + +[[package]] +name = "bleach" +version = "6.1.0" +description = "An easy safelist-based HTML-sanitizing tool." +optional = false +python-versions = ">=3.8" +files = [ + {file = "bleach-6.1.0-py3-none-any.whl", hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6"}, + {file = "bleach-6.1.0.tar.gz", hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe"}, +] + +[package.dependencies] +six = ">=1.9.0" +webencodings = "*" + +[package.extras] +css = ["tinycss2 (>=1.1.0,<1.3)"] + [[package]] name = "blinker" version = "1.8.2" @@ -560,6 +624,81 @@ traitlets = ">=4" [package.extras] test = ["pytest"] +[[package]] +name = "cython" +version = "3.0.11" +description = "The Cython compiler for writing C extensions in the Python language." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" +files = [ + {file = "Cython-3.0.11-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:44292aae17524abb4b70a25111fe7dec1a0ad718711d47e3786a211d5408fdaa"}, + {file = "Cython-3.0.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a75d45fbc20651c1b72e4111149fed3b33d270b0a4fb78328c54d965f28d55e1"}, + {file = "Cython-3.0.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d89a82937ce4037f092e9848a7bbcc65bc8e9fc9aef2bb74f5c15e7d21a73080"}, + {file = "Cython-3.0.11-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a8ea2e7e2d3bc0d8630dafe6c4a5a89485598ff8a61885b74f8ed882597efd5"}, + {file = "Cython-3.0.11-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cee29846471ce60226b18e931d8c1c66a158db94853e3e79bc2da9bd22345008"}, + {file = "Cython-3.0.11-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eeb6860b0f4bfa402de8929833fe5370fa34069c7ebacb2d543cb017f21fb891"}, + {file = "Cython-3.0.11-cp310-cp310-win32.whl", hash = "sha256:3699391125ab344d8d25438074d1097d9ba0fb674d0320599316cfe7cf5f002a"}, + {file = "Cython-3.0.11-cp310-cp310-win_amd64.whl", hash = "sha256:d02f4ebe15aac7cdacce1a628e556c1983f26d140fd2e0ac5e0a090e605a2d38"}, + {file = "Cython-3.0.11-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:75ba1c70b6deeaffbac123856b8d35f253da13552207aa969078611c197377e4"}, + {file = "Cython-3.0.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:af91497dc098718e634d6ec8f91b182aea6bb3690f333fc9a7777bc70abe8810"}, + {file = "Cython-3.0.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3999fb52d3328a6a5e8c63122b0a8bd110dfcdb98dda585a3def1426b991cba7"}, + {file = "Cython-3.0.11-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d566a4e09b8979be8ab9f843bac0dd216c81f5e5f45661a9b25cd162ed80508c"}, + {file = "Cython-3.0.11-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:46aec30f217bdf096175a1a639203d44ac73a36fe7fa3dd06bd012e8f39eca0f"}, + {file = "Cython-3.0.11-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ddd1fe25af330f4e003421636746a546474e4ccd8f239f55d2898d80983d20ed"}, + {file = "Cython-3.0.11-cp311-cp311-win32.whl", hash = "sha256:221de0b48bf387f209003508e602ce839a80463522fc6f583ad3c8d5c890d2c1"}, + {file = "Cython-3.0.11-cp311-cp311-win_amd64.whl", hash = "sha256:3ff8ac1f0ecd4f505db4ab051e58e4531f5d098b6ac03b91c3b902e8d10c67b3"}, + {file = "Cython-3.0.11-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:11996c40c32abf843ba652a6d53cb15944c88d91f91fc4e6f0028f5df8a8f8a1"}, + {file = "Cython-3.0.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63f2c892e9f9c1698ecfee78205541623eb31cd3a1b682668be7ac12de94aa8e"}, + {file = "Cython-3.0.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b14c24f1dc4c4c9d997cca8d1b7fb01187a218aab932328247dcf5694a10102"}, + {file = "Cython-3.0.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c8eed5c015685106db15dd103fd040948ddca9197b1dd02222711815ea782a27"}, + {file = "Cython-3.0.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780f89c95b8aec1e403005b3bf2f0a2afa060b3eba168c86830f079339adad89"}, + {file = "Cython-3.0.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a690f2ff460682ea985e8d38ec541be97e0977fa0544aadc21efc116ff8d7579"}, + {file = "Cython-3.0.11-cp312-cp312-win32.whl", hash = "sha256:2252b5aa57621848e310fe7fa6f7dce5f73aa452884a183d201a8bcebfa05a00"}, + {file = "Cython-3.0.11-cp312-cp312-win_amd64.whl", hash = "sha256:da394654c6da15c1d37f0b7ec5afd325c69a15ceafee2afba14b67a5df8a82c8"}, + {file = "Cython-3.0.11-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4341d6a64d47112884e0bcf31e6c075268220ee4cd02223047182d4dda94d637"}, + {file = "Cython-3.0.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:351955559b37e6c98b48aecb178894c311be9d731b297782f2b78d111f0c9015"}, + {file = "Cython-3.0.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c02361af9bfa10ff1ccf967fc75159e56b1c8093caf565739ed77a559c1f29f"}, + {file = "Cython-3.0.11-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6823aef13669a32caf18bbb036de56065c485d9f558551a9b55061acf9c4c27f"}, + {file = "Cython-3.0.11-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6fb68cef33684f8cc97987bee6ae919eee7e18ee6a3ad7ed9516b8386ef95ae6"}, + {file = "Cython-3.0.11-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:790263b74432cb997740d73665f4d8d00b9cd1cecbdd981d93591ddf993d4f12"}, + {file = "Cython-3.0.11-cp313-cp313-win32.whl", hash = "sha256:e6dd395d1a704e34a9fac00b25f0036dce6654c6b898be6f872ac2bb4f2eda48"}, + {file = "Cython-3.0.11-cp313-cp313-win_amd64.whl", hash = "sha256:52186101d51497519e99b60d955fd5cb3bf747c67f00d742e70ab913f1e42d31"}, + {file = "Cython-3.0.11-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:c69d5cad51388522b98a99b4be1b77316de85b0c0523fa865e0ea58bbb622e0a"}, + {file = "Cython-3.0.11-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8acdc87e9009110adbceb7569765eb0980129055cc954c62f99fe9f094c9505e"}, + {file = "Cython-3.0.11-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1dd47865f4c0a224da73acf83d113f93488d17624e2457dce1753acdfb1cc40c"}, + {file = "Cython-3.0.11-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:301bde949b4f312a1c70e214b0c3bc51a3f955d466010d2f68eb042df36447b0"}, + {file = "Cython-3.0.11-cp36-cp36m-musllinux_1_2_aarch64.whl", hash = "sha256:f3953d2f504176f929862e5579cfc421860c33e9707f585d70d24e1096accdf7"}, + {file = "Cython-3.0.11-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:3f2b062f6df67e8a56c75e500ca330cf62c85ac26dd7fd006f07ef0f83aebfa3"}, + {file = "Cython-3.0.11-cp36-cp36m-win32.whl", hash = "sha256:c3d68751668c66c7a140b6023dba5d5d507f72063407bb609d3a5b0f3b8dfbe4"}, + {file = "Cython-3.0.11-cp36-cp36m-win_amd64.whl", hash = "sha256:bcd29945fafd12484cf37b1d84f12f0e7a33ba3eac5836531c6bd5283a6b3a0c"}, + {file = "Cython-3.0.11-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4e9a8d92978b15a0c7ca7f98447c6c578dc8923a0941d9d172d0b077cb69c576"}, + {file = "Cython-3.0.11-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:421017466e9260aca86823974e26e158e6358622f27c0f4da9c682f3b6d2e624"}, + {file = "Cython-3.0.11-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d80a7232938d523c1a12f6b1794ab5efb1ae77ad3fde79de4bb558d8ab261619"}, + {file = "Cython-3.0.11-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfa550d9ae39e827a6e7198076df763571cb53397084974a6948af558355e028"}, + {file = "Cython-3.0.11-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:aedceb6090a60854b31bf9571dc55f642a3fa5b91f11b62bcef167c52cac93d8"}, + {file = "Cython-3.0.11-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:473d35681d9f93ce380e6a7c8feb2d65fc6333bd7117fbc62989e404e241dbb0"}, + {file = "Cython-3.0.11-cp37-cp37m-win32.whl", hash = "sha256:3379c6521e25aa6cd7703bb7d635eaca75c0f9c7f1b0fdd6dd15a03bfac5f68d"}, + {file = "Cython-3.0.11-cp37-cp37m-win_amd64.whl", hash = "sha256:14701edb3107a5d9305a82d9d646c4f28bfecbba74b26cc1ee2f4be08f602057"}, + {file = "Cython-3.0.11-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:598699165cfa7c6d69513ee1bffc9e1fdd63b00b624409174c388538aa217975"}, + {file = "Cython-3.0.11-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0583076c4152b417a3a8a5d81ec02f58c09b67d3f22d5857e64c8734ceada8c"}, + {file = "Cython-3.0.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52205347e916dd65d2400b977df4c697390c3aae0e96275a438cc4ae85dadc08"}, + {file = "Cython-3.0.11-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:989899a85f0d9a57cebb508bd1f194cb52f0e3f7e22ac259f33d148d6422375c"}, + {file = "Cython-3.0.11-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:53b6072a89049a991d07f42060f65398448365c59c9cb515c5925b9bdc9d71f8"}, + {file = "Cython-3.0.11-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f988f7f8164a6079c705c39e2d75dbe9967e3dacafe041420d9af7b9ee424162"}, + {file = "Cython-3.0.11-cp38-cp38-win32.whl", hash = "sha256:a1f4cbc70f6b7f0c939522118820e708e0d490edca42d852fa8004ec16780be2"}, + {file = "Cython-3.0.11-cp38-cp38-win_amd64.whl", hash = "sha256:187685e25e037320cae513b8cc4bf9dbc4465c037051aede509cbbf207524de2"}, + {file = "Cython-3.0.11-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0fc6fdd6fa493be7bdda22355689d5446ac944cd71286f6f44a14b0d67ee3ff5"}, + {file = "Cython-3.0.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b1d1f6f94cc5d42a4591f6d60d616786b9cd15576b112bc92a23131fcf38020"}, + {file = "Cython-3.0.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4ab2b92a3e6ed552adbe9350fd2ef3aa0cc7853cf91569f9dbed0c0699bbeab"}, + {file = "Cython-3.0.11-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:104d6f2f2c827ccc5e9e42c80ef6773a6aa94752fe6bc5b24a4eab4306fb7f07"}, + {file = "Cython-3.0.11-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:13062ce556a1e98d2821f7a0253b50569fdc98c36efd6653a65b21e3f8bbbf5f"}, + {file = "Cython-3.0.11-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:525d09b3405534763fa73bd78c8e51ac8264036ce4c16d37dfd1555a7da6d3a7"}, + {file = "Cython-3.0.11-cp39-cp39-win32.whl", hash = "sha256:b8c7e514075696ca0f60c337f9e416e61d7ccbc1aa879a56c39181ed90ec3059"}, + {file = "Cython-3.0.11-cp39-cp39-win_amd64.whl", hash = "sha256:8948802e1f5677a673ea5d22a1e7e273ca5f83e7a452786ca286eebf97cee67c"}, + {file = "Cython-3.0.11-py2.py3-none-any.whl", hash = "sha256:0e25f6425ad4a700d7f77cd468da9161e63658837d1bc34861a9861a4ef6346d"}, + {file = "cython-3.0.11.tar.gz", hash = "sha256:7146dd2af8682b4ca61331851e6aebce9fe5158e75300343f80c07ca80b1faff"}, +] + [[package]] name = "dataclasses-json" version = "0.6.7" @@ -665,6 +804,57 @@ files = [ {file = "docstring_parser-0.16.tar.gz", hash = "sha256:538beabd0af1e2db0146b6bd3caa526c35a34d61af9fd2887f3a8a27a739aa6e"}, ] +[[package]] +name = "docutils" +version = "0.21.2" +description = "Docutils -- Python Documentation Utilities" +optional = false +python-versions = ">=3.9" +files = [ + {file = "docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2"}, + {file = "docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f"}, +] + +[[package]] +name = "edge-tts" +version = "6.1.15" +description = "Microsoft Edge's TTS" +optional = false +python-versions = ">=3.7" +files = [ + {file = "edge_tts-6.1.15-py3-none-any.whl", hash = "sha256:b9e68df19505237f4081eab41663d23d42c7deb59475f809081844d47e5cfacf"}, + {file = "edge_tts-6.1.15.tar.gz", hash = "sha256:9e8c60cd30e83db379151736a4aaee0a2de6b999bc4e4b312ee7895dc987806d"}, +] + +[package.dependencies] +aiohttp = ">=3.8.0" +certifi = ">=2023.11.17" + +[package.extras] +dev = ["black", "isort", "mypy", "pylint"] + +[[package]] +name = "elevenlabs" +version = "1.11.0" +description = "" +optional = false +python-versions = "<4.0,>=3.8" +files = [ + {file = "elevenlabs-1.11.0-py3-none-any.whl", hash = "sha256:960fd40aa27a12fac300000d8a5c2ff5e54ef71eb63969b216fd12bb18d365d7"}, + {file = "elevenlabs-1.11.0.tar.gz", hash = "sha256:0028f8bc9218adad74b40b5610159f5004e87bc7b268af9c0a361c66a34f4d63"}, +] + +[package.dependencies] +httpx = ">=0.21.2" +pydantic = ">=1.9.2" +pydantic-core = ">=2.18.2,<3.0.0" +requests = ">=2.20" +typing_extensions = ">=4.0.0" +websockets = ">=11.0" + +[package.extras] +pyaudio = ["pyaudio (>=0.2.14)"] + [[package]] name = "executing" version = "2.1.0" @@ -679,6 +869,30 @@ files = [ [package.extras] tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich"] +[[package]] +name = "fastjsonschema" +version = "2.20.0" +description = "Fastest Python implementation of JSON schema" +optional = false +python-versions = "*" +files = [ + {file = "fastjsonschema-2.20.0-py3-none-any.whl", hash = "sha256:5875f0b0fa7a0043a91e93a9b8f793bcbbba9691e7fd83dca95c28ba26d21f0a"}, + {file = "fastjsonschema-2.20.0.tar.gz", hash = "sha256:3d48fc5300ee96f5d116f10fe6f28d938e6008f59a6a025c2649475b87f76a23"}, +] + +[package.extras] +devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benchmark", "pytest-cache", "validictory"] + +[[package]] +name = "ffmpeg" +version = "1.4" +description = "ffmpeg python package url [https://github.com/jiashaokun/ffmpeg]" +optional = false +python-versions = "*" +files = [ + {file = "ffmpeg-1.4.tar.gz", hash = "sha256:6931692c890ff21d39938433c2189747815dca0c60ddc7f9bb97f199dba0b5b9"}, +] + [[package]] name = "filelock" version = "3.16.1" @@ -835,6 +1049,20 @@ test-downstream = ["aiobotocore (>=2.5.4,<3.0.0)", "dask-expr", "dask[dataframe, test-full = ["adlfs", "aiohttp (!=4.0.0a0,!=4.0.0a1)", "cloudpickle", "dask", "distributed", "dropbox", "dropboxdrivefs", "fastparquet", "fusepy", "gcsfs", "jinja2", "kerchunk", "libarchive-c", "lz4", "notebook", "numpy", "ocifs", "pandas", "panel", "paramiko", "pyarrow", "pyarrow (>=1)", "pyftpdlib", "pygit2", "pytest", "pytest-asyncio (!=0.22.0)", "pytest-benchmark", "pytest-cov", "pytest-mock", "pytest-recording", "pytest-rerunfailures", "python-snappy", "requests", "smbprotocol", "tqdm", "urllib3", "zarr", "zstandard"] tqdm = ["tqdm"] +[[package]] +name = "fuzzywuzzy" +version = "0.18.0" +description = "Fuzzy string matching in python" +optional = false +python-versions = "*" +files = [ + {file = "fuzzywuzzy-0.18.0-py2.py3-none-any.whl", hash = "sha256:928244b28db720d1e0ee7587acf660ea49d7e4c632569cad4f1cd7e68a5f0993"}, + {file = "fuzzywuzzy-0.18.0.tar.gz", hash = "sha256:45016e92264780e58972dca1b3d939ac864b78437422beecebb3095f8efd00e8"}, +] + +[package.extras] +speedup = ["python-levenshtein (>=0.12)"] + [[package]] name = "gitdb" version = "4.0.11" @@ -867,6 +1095,23 @@ gitdb = ">=4.0.1,<5" doc = ["sphinx (==4.3.2)", "sphinx-autodoc-typehints", "sphinx-rtd-theme", "sphinxcontrib-applehelp (>=1.0.2,<=1.0.4)", "sphinxcontrib-devhelp (==1.0.2)", "sphinxcontrib-htmlhelp (>=2.0.0,<=2.0.1)", "sphinxcontrib-qthelp (==1.0.3)", "sphinxcontrib-serializinghtml (==1.1.5)"] test = ["coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest (>=7.3.1)", "pytest-cov", "pytest-instafail", "pytest-mock", "pytest-sugar", "typing-extensions"] +[[package]] +name = "google-ai-generativelanguage" +version = "0.6.10" +description = "Google Ai Generativelanguage API client library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "google_ai_generativelanguage-0.6.10-py3-none-any.whl", hash = "sha256:854a2bf833d18be05ad5ef13c755567b66a4f4a870f099b62c61fe11bddabcf4"}, + {file = "google_ai_generativelanguage-0.6.10.tar.gz", hash = "sha256:6fa642c964d8728006fe7e8771026fc0b599ae0ebeaf83caf550941e8e693455"}, +] + +[package.dependencies] +google-api-core = {version = ">=1.34.1,<2.0.dev0 || >=2.11.dev0,<3.0.0dev", extras = ["grpc"]} +google-auth = ">=2.14.1,<2.24.0 || >2.24.0,<2.25.0 || >2.25.0,<3.0.0dev" +proto-plus = ">=1.22.3,<2.0.0dev" +protobuf = ">=3.20.2,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0dev" + [[package]] name = "google-api-core" version = "2.21.0" @@ -893,6 +1138,24 @@ grpc = ["grpcio (>=1.33.2,<2.0dev)", "grpcio (>=1.49.1,<2.0dev)", "grpcio-status grpcgcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] +[[package]] +name = "google-api-python-client" +version = "2.149.0" +description = "Google API Client Library for Python" +optional = false +python-versions = ">=3.7" +files = [ + {file = "google_api_python_client-2.149.0-py2.py3-none-any.whl", hash = "sha256:1a5232e9cfed8c201799d9327e4d44dc7ea7daa3c6e1627fca41aa201539c0da"}, + {file = "google_api_python_client-2.149.0.tar.gz", hash = "sha256:b9d68c6b14ec72580d66001bd33c5816b78e2134b93ccc5cf8f624516b561750"}, +] + +[package.dependencies] +google-api-core = ">=1.31.5,<2.0.dev0 || >2.3.0,<3.0.0.dev0" +google-auth = ">=1.32.0,<2.24.0 || >2.24.0,<2.25.0 || >2.25.0,<3.0.0.dev0" +google-auth-httplib2 = ">=0.2.0,<1.0.0" +httplib2 = ">=0.19.0,<1.dev0" +uritemplate = ">=3.0.1,<5" + [[package]] name = "google-auth" version = "2.35.0" @@ -916,6 +1179,21 @@ pyopenssl = ["cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] reauth = ["pyu2f (>=0.1.5)"] requests = ["requests (>=2.20.0,<3.0.0.dev0)"] +[[package]] +name = "google-auth-httplib2" +version = "0.2.0" +description = "Google Authentication Library: httplib2 transport" +optional = false +python-versions = "*" +files = [ + {file = "google-auth-httplib2-0.2.0.tar.gz", hash = "sha256:38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05"}, + {file = "google_auth_httplib2-0.2.0-py2.py3-none-any.whl", hash = "sha256:b65a0a2123300dd71281a7bf6e64d65a0759287df52729bdd1ae2e47dc311a3d"}, +] + +[package.dependencies] +google-auth = "*" +httplib2 = ">=0.19.0" + [[package]] name = "google-cloud-aiplatform" version = "1.70.0" @@ -1095,6 +1373,29 @@ files = [ [package.extras] testing = ["pytest"] +[[package]] +name = "google-generativeai" +version = "0.8.3" +description = "Google Generative AI High level API client library and tools." +optional = false +python-versions = ">=3.9" +files = [ + {file = "google_generativeai-0.8.3-py3-none-any.whl", hash = "sha256:1108ff89d5b8e59f51e63d1a8bf84701cd84656e17ca28d73aeed745e736d9b7"}, +] + +[package.dependencies] +google-ai-generativelanguage = "0.6.10" +google-api-core = "*" +google-api-python-client = "*" +google-auth = ">=2.15.0" +protobuf = "*" +pydantic = "*" +tqdm = "*" +typing-extensions = "*" + +[package.extras] +dev = ["Pillow", "absl-py", "black", "ipython", "nose2", "pandas", "pytype", "pyyaml"] + [[package]] name = "google-resumable-media" version = "2.7.2" @@ -1348,6 +1649,20 @@ http2 = ["h2 (>=3,<5)"] socks = ["socksio (==1.*)"] trio = ["trio (>=0.22.0,<1.0)"] +[[package]] +name = "httplib2" +version = "0.22.0" +description = "A comprehensive HTTP client library." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "httplib2-0.22.0-py3-none-any.whl", hash = "sha256:14ae0a53c1ba8f3d37e9e27cf37eabb0fb9980f435ba405d546948b009dd64dc"}, + {file = "httplib2-0.22.0.tar.gz", hash = "sha256:d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81"}, +] + +[package.dependencies] +pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0.2,<3.0.3 || >3.0.3,<4", markers = "python_version > \"3.0\""} + [[package]] name = "httpx" version = "0.27.2" @@ -1477,6 +1792,17 @@ files = [ [package.extras] all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] +[[package]] +name = "imagesize" +version = "1.4.1" +description = "Getting image size from png/jpeg/jpeg2000/gif file" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b"}, + {file = "imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"}, +] + [[package]] name = "importlib-metadata" version = "8.5.0" @@ -1500,6 +1826,17 @@ perf = ["ipython"] test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] type = ["pytest-mypy"] +[[package]] +name = "iniconfig" +version = "2.0.0" +description = "brain-dead simple config-ini parsing" +optional = false +python-versions = ">=3.7" +files = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] + [[package]] name = "ipykernel" version = "6.29.5" @@ -1790,6 +2127,17 @@ traitlets = ">=5.3" docs = ["myst-parser", "pydata-sphinx-theme", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "traitlets"] test = ["ipykernel", "pre-commit", "pytest (<8)", "pytest-cov", "pytest-timeout"] +[[package]] +name = "jupyterlab-pygments" +version = "0.3.0" +description = "Pygments theme using JupyterLab CSS variables" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780"}, + {file = "jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d"}, +] + [[package]] name = "langchain" version = "0.3.4" @@ -1862,13 +2210,13 @@ tenacity = ">=8.1.0,<8.4.0 || >8.4.0,<10" [[package]] name = "langchain-core" -version = "0.3.12" +version = "0.3.13" description = "Building applications with LLMs through composability" optional = false python-versions = "<4.0,>=3.9" files = [ - {file = "langchain_core-0.3.12-py3-none-any.whl", hash = "sha256:46050d34f5fa36dc57dca971c6a26f505643dd05ee0492c7ac286d0a78a82037"}, - {file = "langchain_core-0.3.12.tar.gz", hash = "sha256:98a3c078e375786aa84939bfd1111263af2f3bc402bbe2cac9fa18a387459cf2"}, + {file = "langchain_core-0.3.13-py3-none-any.whl", hash = "sha256:e79cfac046cab293c02047f081741f4a433ca5aa54a3973e179eaef147cdfba4"}, + {file = "langchain_core-0.3.13.tar.gz", hash = "sha256:d3a6c838284ff73705dd0f24a36cd8b2fa34a348e6b357e6b3d58199ab063cde"}, ] [package.dependencies] @@ -1883,6 +2231,25 @@ PyYAML = ">=5.3" tenacity = ">=8.1.0,<8.4.0 || >8.4.0,<10.0.0" typing-extensions = ">=4.7" +[[package]] +name = "langchain-google-genai" +version = "2.0.1" +description = "An integration package connecting Google's genai package and LangChain" +optional = false +python-versions = "<4.0,>=3.9" +files = [ + {file = "langchain_google_genai-2.0.1-py3-none-any.whl", hash = "sha256:1f7c9c22eff350d69af8ff66377932bbeadf65b97908ed8156948efe83a794f9"}, + {file = "langchain_google_genai-2.0.1.tar.gz", hash = "sha256:44dd7d5e55cc532a976f378164fbb0aa088114121b5e12f56e9b22acb975742d"}, +] + +[package.dependencies] +google-generativeai = ">=0.8.0,<0.9.0" +langchain-core = ">=0.3.0,<0.4" +pydantic = ">=2,<3" + +[package.extras] +images = ["pillow (>=10.1.0,<11.0.0)"] + [[package]] name = "langchain-google-vertexai" version = "2.0.5" @@ -2013,13 +2380,13 @@ langgraph-checkpoint = ">=2.0.2,<3.0.0" [[package]] name = "langgraph-sdk" -version = "0.1.33" +version = "0.1.34" description = "SDK for interacting with LangGraph API" optional = false python-versions = "<4.0.0,>=3.9.0" files = [ - {file = "langgraph_sdk-0.1.33-py3-none-any.whl", hash = "sha256:fe2311ebfe231219a7ad06c3dad4860a9e2917e780aaa2f228d1a9f5653da686"}, - {file = "langgraph_sdk-0.1.33.tar.gz", hash = "sha256:addffc33554b690e81525c12fe9b2656cc7b740678e4724bc706d1ca13b3de93"}, + {file = "langgraph_sdk-0.1.34-py3-none-any.whl", hash = "sha256:3c44967382e073055c1731d9dde004a49ca04a063183747031b8a8286bad0b19"}, + {file = "langgraph_sdk-0.1.34.tar.gz", hash = "sha256:ee76507018414a08bcf63e0de916e956340ee2e9b5c60d5252d1b2b1fe47c5f3"}, ] [package.dependencies] @@ -2048,15 +2415,108 @@ pydantic = [ requests = ">=2,<3" requests-toolbelt = ">=1.0.0,<2.0.0" +[[package]] +name = "levenshtein" +version = "0.26.0" +description = "Python extension for computing string edit distances and similarities." +optional = false +python-versions = ">=3.9" +files = [ + {file = "levenshtein-0.26.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e5fb23bf35ef1094d00415bb2116dd862fb919adc4044436508029dafedfd687"}, + {file = "levenshtein-0.26.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea97df5fecf4195ed24aa4c245e5b6cf42527a5818bd7d0d92ba8c7425828861"}, + {file = "levenshtein-0.26.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0c06ddb9149ee0f25ba334ad04ee3f782be3e64ab4bf8b9f34d6e4bf19a22880"}, + {file = "levenshtein-0.26.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf2561d9077367aa01f3c6caf6132cec84b2b9a481f64f14f35f9e976a353605"}, + {file = "levenshtein-0.26.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:54200110ba27c20cb2e3bc48cf855d7d910c6704a47caefe97ced8c59ee075b4"}, + {file = "levenshtein-0.26.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed1c1354f0f1e4736c2fb6f91e3913b63e38c8873a228a299f656bdaf788e1eb"}, + {file = "levenshtein-0.26.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4ecf7d755304d2ffab2ee808100f5e87889347b572c61c97d9f4f9a318806713"}, + {file = "levenshtein-0.26.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:c532571fabd8a23fa12971f432cd17ababa031dee6efbaa8fa31380876593a3e"}, + {file = "levenshtein-0.26.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:71a3afbfc7d97fd536f128084a20c2a79b5d79995c7111eced1baf4d103ea6d4"}, + {file = "levenshtein-0.26.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:c49a20ddb119ab2d56e7e4d62e43602dff8c397718be4f00474723b40d626a7f"}, + {file = "levenshtein-0.26.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e8a34d41c7b392df98fce7c8353ea87cbbbf39239db141096ded00f4e1e75e6e"}, + {file = "levenshtein-0.26.0-cp310-cp310-win32.whl", hash = "sha256:a541040a01333994e5a037cb4e2c2b0e2496a2141facf63bbc9b359fe9f5b1dd"}, + {file = "levenshtein-0.26.0-cp310-cp310-win_amd64.whl", hash = "sha256:68a165bd91dab44c2b91c8278e3728f0da98cb48b1ed7f263bfdf616efcf4932"}, + {file = "levenshtein-0.26.0-cp310-cp310-win_arm64.whl", hash = "sha256:968731244a7d56354c912c054e7b6ea33c3700632ef7cab1c895b3110e86dc7b"}, + {file = "levenshtein-0.26.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7aabafb951b96ca6e0f981b1edb3ec81b41c010b7437758e275393768fa84453"}, + {file = "levenshtein-0.26.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cefa552c5190e912f0fe39b62a5b08597d1256f330ed2c459ba724947458282"}, + {file = "levenshtein-0.26.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a0ed02c8aaef0903b72fe0da88d9d24d7964b07dbc123997e549ac165efad8d"}, + {file = "levenshtein-0.26.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c5d21d3b08ceb7e544fae04897e211e43fb3500c9b3a8e74d08468b015c7270d"}, + {file = "levenshtein-0.26.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77422c5da5cfd8455a8835329d965e24250b0f0c1398e0a6362879f00d18f27c"}, + {file = "levenshtein-0.26.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4931c8263e06edbece310b1f8e03bfcb74f211863a85058b46cdf8460a4136af"}, + {file = "levenshtein-0.26.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3e265812db8b04e6ae159751c7a82d6e0e5025223bd330fc9104a8a5beeeb7cf"}, + {file = "levenshtein-0.26.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8c58cb6c9f90f9b11d6b478e2da6ac1f0bcb5ea9608a5611088d30f782ee5920"}, + {file = "levenshtein-0.26.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:754669e9b82795cfc3ca0d70f2e715b58ff4d0f7e7f4e77fc6539543439ae22c"}, + {file = "levenshtein-0.26.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:830b1993e3e945b213a6b73ceca8b555147a6ecd7323e4959b80dee35abfc7fc"}, + {file = "levenshtein-0.26.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2b3aa9a0b844ddaeb6f5317eb4e85b5748901cf40c9a9b0d3a8bf76ef9d3cccc"}, + {file = "levenshtein-0.26.0-cp311-cp311-win32.whl", hash = "sha256:07ffd78569ca80adfd55172156faac35eb12ccd375d6d51ba4512b0346337cbf"}, + {file = "levenshtein-0.26.0-cp311-cp311-win_amd64.whl", hash = "sha256:1bf886afed2304e0022c33ed644afb719411cce4d4af11ba5bb040f05d9f00c1"}, + {file = "levenshtein-0.26.0-cp311-cp311-win_arm64.whl", hash = "sha256:c68b6e6c74ce9056370559196177b9e514ba20611a1ce9545dcd366d8a97cc60"}, + {file = "levenshtein-0.26.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fe230c754f628f6d266b8d970f8556775fb0a9c05027f807754312af7927b2ed"}, + {file = "levenshtein-0.26.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a01150b33505596be83bff9f6f06f53bc1a14fd5e36e840dc134822c6ba20e00"}, + {file = "levenshtein-0.26.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:247767593ede88f3ddbd4f948ed30817cb751e25a335b35ec2332752021e4e10"}, + {file = "levenshtein-0.26.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:52a7407416723cd7163238b16b7c0eba4b30bc53f549e803e654f1df6824e0b5"}, + {file = "levenshtein-0.26.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0fa54bd453b8b347139b4ef940d717939c6a8966fdbcde2cf8d70316497e292"}, + {file = "levenshtein-0.26.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:14c96604ce1228922094ea266d9927227ab129e939b3e5dd84fee07390b72b5f"}, + {file = "levenshtein-0.26.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6170cbbec2ffc3df86adf2f457f83a22df99b6c4e2b21c76bc9a67b23c2940d1"}, + {file = "levenshtein-0.26.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7211e700ddca453efe49bdce57c84073451667873d80037c73c1f55840d08e70"}, + {file = "levenshtein-0.26.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:2150961cff9cfcfd4b5e4c1a5c90b2d4520a7d9cb65cd070cda5601b7f099496"}, + {file = "levenshtein-0.26.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0afb8bd5bc2d686d34ed721399d78359d104c7483a740b262fd260357599e318"}, + {file = "levenshtein-0.26.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a68f863bef8a5301bc7ca4b99f2f8d666b5edcd30dca6234ee6cd541ca8a8f4e"}, + {file = "levenshtein-0.26.0-cp312-cp312-win32.whl", hash = "sha256:3baa2c8ebc1f3b773ffb010e03e7319098323618f919c5db2c7188e439d13602"}, + {file = "levenshtein-0.26.0-cp312-cp312-win_amd64.whl", hash = "sha256:ad6da19613e53c288bd130fadb91937b0ba849013065ddd377568cdd90611caa"}, + {file = "levenshtein-0.26.0-cp312-cp312-win_arm64.whl", hash = "sha256:bcbd4403c630755a5f898e6905975c1a8bb2c71a756d399f93811f82b5c0b1b3"}, + {file = "levenshtein-0.26.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:770dc2973c9c76598d68b736319c2b2b6fad1f88837119a92e9124ff2167cc49"}, + {file = "levenshtein-0.26.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb13782c15c2c0f5a74e920a9c9c26da5730830c13809bcb7a32876f1a4fb643"}, + {file = "levenshtein-0.26.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a9949dd238e8c1bd27669a1bf66a5507eed2fd486130b30b2df44cc4f238a3c"}, + {file = "levenshtein-0.26.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dafc593a6e346fec5520f5dec9d87f4894aa9d584ccad43ce9fdcc363d9e9c34"}, + {file = "levenshtein-0.26.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ce82de94989df4367ff38de2c4193bf0ea77b4e207ae60e98876922007a0f81"}, + {file = "levenshtein-0.26.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cbd4775e0e88e209cbb4f722d39d057531138dafbd07e36c4b33eb18e29494ef"}, + {file = "levenshtein-0.26.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:75e2567bf64e422843d0f67917938c0235a9292b395076dd5f8bbb731d1c3058"}, + {file = "levenshtein-0.26.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:22c40516cc830aeeb18b09bd96ec32378b7e52e201d67e86dfb7f6a2e3bf3b3d"}, + {file = "levenshtein-0.26.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c311554a220a12110d2640ee245d74f07b25cdc0acc04c625ab2bdf708f3bf84"}, + {file = "levenshtein-0.26.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:0560746b2c40cdd25458cb4a065e4d7ffbb245783638f5b0173cfd135f9d6664"}, + {file = "levenshtein-0.26.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3e8e373586026d71ec2053300ef46c5268fe41a29d9f58a724487e3f060502db"}, + {file = "levenshtein-0.26.0-cp313-cp313-win32.whl", hash = "sha256:f88d05187622366b529b25b130a8fad6497d7b6189e82198ce67d3921c3e418c"}, + {file = "levenshtein-0.26.0-cp313-cp313-win_amd64.whl", hash = "sha256:3cc288a6ab97a3ccd980d8a0465378b99eb53e32232f99279092a97578c4b2e9"}, + {file = "levenshtein-0.26.0-cp313-cp313-win_arm64.whl", hash = "sha256:de7727a57d1241f8c2d53a9f70642f48891514789bbd4daa0f90547b4e0bf70f"}, + {file = "levenshtein-0.26.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:64bfad7270c2fc0f872f6ca2e26cc091efebfb64b7b1ae156123c2304fbcbae4"}, + {file = "levenshtein-0.26.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17c9e1d7bbde972c09e2c6578392ff0668697db8f815649594b984ed2b0b2843"}, + {file = "levenshtein-0.26.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7acff8e4335f18bb5b60cbd310957cf46c964f0b5bc1cc82fe6647c45309b9f8"}, + {file = "levenshtein-0.26.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d526636efb6e727dce5f67eb3437079f1d5d71dd2c0a2b6f48a62791a789764e"}, + {file = "levenshtein-0.26.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a492bd9e0075ed5f748ac000ffff581d7652f6cb2cf1d9ec9de3d12270dfc225"}, + {file = "levenshtein-0.26.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fd953f8952c825c5d7112e9d64136afc8c7c122b9facc3ec4f9f87591a85e6d1"}, + {file = "levenshtein-0.26.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:912fe5a3bcc970ab4b97e7e83ea118cf9a98831813535efa0f499b0b4df032dd"}, + {file = "levenshtein-0.26.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:d9c8ac0f4ae2de173b6ccc3d0b379d1aa4212f653badc324fb5aa868e304e847"}, + {file = "levenshtein-0.26.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:47a4d8c58114c2b9a4318dcb8e2a0dc8446ec3ec637b051f3dbe27555786f603"}, + {file = "levenshtein-0.26.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:baf0c8c09d5c55f136b62e201886c4b93b4abbdbde0475f67dd8fc278bb403f7"}, + {file = "levenshtein-0.26.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:88f051a0a4eec22cd8071634d5a2ee40d9810080e3b6d1e61e4fbe2a7a7ece3d"}, + {file = "levenshtein-0.26.0-cp39-cp39-win32.whl", hash = "sha256:c2d3f8cf45deeb6d0faa9df089c0e36e457236fc66aa31e67d3e7c15336e8401"}, + {file = "levenshtein-0.26.0-cp39-cp39-win_amd64.whl", hash = "sha256:9238be73beff55e2b285ac393573274e55233e7270cb6484fa4550b775016705"}, + {file = "levenshtein-0.26.0-cp39-cp39-win_arm64.whl", hash = "sha256:abc4618610ec6fff1c894fc931bc8b57c6d1ad7b8b9acafa685e19a84f521f8b"}, + {file = "levenshtein-0.26.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:ca2735baf43fb540be7d3cf24eb2fc97a395e9e85ec8fae64199f3b2ccbf5c5c"}, + {file = "levenshtein-0.26.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:93a949fabc6280ab44a6252d780577715e8e71a63a295c4730ce5490006ae1f5"}, + {file = "levenshtein-0.26.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:588094f406d5cb01dbf74201f8b4fe345d2b92a789997eb5371dad754f831d5b"}, + {file = "levenshtein-0.26.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c95201c7425cdff12ed16ff0a15af52c46477935e7589d1dc6ebd24f416c9ed8"}, + {file = "levenshtein-0.26.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:651b011617937d18f671450c8294d11b5b556b09e33ac038b923ae6496e35d31"}, + {file = "levenshtein-0.26.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:0576b0e817904adc621077761e71c97555ae9e698e712b0bdbe868464444200b"}, + {file = "levenshtein-0.26.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16a3f4d0bcdbd0d14e0c49844a2ac02d8acece9f6cce41ea437c1d07ac536ec1"}, + {file = "levenshtein-0.26.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e40e9a2c6482f6cce9046693844b33c492f35e57c849a0e104b03234ef3a31f6"}, + {file = "levenshtein-0.26.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8104cb5642277439c07091c160ad3b1c3d20c160db8dbf5306871f065721e5e8"}, + {file = "levenshtein-0.26.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a30d30485eec8a2efe72d639fb9c33f0991416a6ddb490d6f0eef01c9dc79b7a"}, + {file = "levenshtein-0.26.0.tar.gz", hash = "sha256:960b020d96bbd348400d6ff5c16290adee49f0ae2d42707a550a3b4f7d092abe"}, +] + +[package.dependencies] +rapidfuzz = ">=3.9.0,<4.0.0" + [[package]] name = "litellm" -version = "1.50.4" +version = "1.51.0" description = "Library to easily interface with LLM API providers" optional = false python-versions = "!=2.7.*,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,>=3.8" files = [ - {file = "litellm-1.50.4-py3-none-any.whl", hash = "sha256:cc6992275e24a0bbb4a3b377e6842d45a8510fc85d7f255930a64bb872980a36"}, - {file = "litellm-1.50.4.tar.gz", hash = "sha256:a7e68ef614f631b58969c2c7a5154a565ba5974558d437c8cd6c8623654880ea"}, + {file = "litellm-1.51.0-py3-none-any.whl", hash = "sha256:0b2c20d116834166c8440e5698d7d927dbcc78fcaa08ce0c5cbea2d0de55ec6c"}, + {file = "litellm-1.51.0.tar.gz", hash = "sha256:8bf648677ee145a8fe5054a2e3f3a34895b9ab65a6015e4b94efca7ef406f466"}, ] [package.dependencies] @@ -2232,6 +2692,17 @@ files = [ {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, ] +[[package]] +name = "mistune" +version = "3.0.2" +description = "A sane and fast Markdown parser with useful plugins and renderers" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mistune-3.0.2-py3-none-any.whl", hash = "sha256:71481854c30fdbc938963d3605b72501f5c10a9320ecd412c121c163a1c7d205"}, + {file = "mistune-3.0.2.tar.gz", hash = "sha256:fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8"}, +] + [[package]] name = "msgpack" version = "1.1.0" @@ -2488,6 +2959,105 @@ pandas = ["pandas (>=0.25.3)"] polars = ["polars (>=0.20.3)"] pyarrow = ["pyarrow (>=11.0.0)"] +[[package]] +name = "nbclient" +version = "0.10.0" +description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "nbclient-0.10.0-py3-none-any.whl", hash = "sha256:f13e3529332a1f1f81d82a53210322476a168bb7090a0289c795fe9cc11c9d3f"}, + {file = "nbclient-0.10.0.tar.gz", hash = "sha256:4b3f1b7dba531e498449c4db4f53da339c91d449dc11e9af3a43b4eb5c5abb09"}, +] + +[package.dependencies] +jupyter-client = ">=6.1.12" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +nbformat = ">=5.1" +traitlets = ">=5.4" + +[package.extras] +dev = ["pre-commit"] +docs = ["autodoc-traits", "mock", "moto", "myst-parser", "nbclient[test]", "sphinx (>=1.7)", "sphinx-book-theme", "sphinxcontrib-spelling"] +test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>=7.0.0)", "pytest (>=7.0,<8)", "pytest-asyncio", "pytest-cov (>=4.0)", "testpath", "xmltodict"] + +[[package]] +name = "nbconvert" +version = "7.16.4" +description = "Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. nbconvert can be used both as a Python library (`import nbconvert`) or as a command line tool (invoked as `jupyter nbconvert ...`)." +optional = false +python-versions = ">=3.8" +files = [ + {file = "nbconvert-7.16.4-py3-none-any.whl", hash = "sha256:05873c620fe520b6322bf8a5ad562692343fe3452abda5765c7a34b7d1aa3eb3"}, + {file = "nbconvert-7.16.4.tar.gz", hash = "sha256:86ca91ba266b0a448dc96fa6c5b9d98affabde2867b363258703536807f9f7f4"}, +] + +[package.dependencies] +beautifulsoup4 = "*" +bleach = "!=5.0.0" +defusedxml = "*" +jinja2 = ">=3.0" +jupyter-core = ">=4.7" +jupyterlab-pygments = "*" +markupsafe = ">=2.0" +mistune = ">=2.0.3,<4" +nbclient = ">=0.5.0" +nbformat = ">=5.7" +packaging = "*" +pandocfilters = ">=1.4.1" +pygments = ">=2.4.1" +tinycss2 = "*" +traitlets = ">=5.1" + +[package.extras] +all = ["flaky", "ipykernel", "ipython", "ipywidgets (>=7.5)", "myst-parser", "nbsphinx (>=0.2.12)", "playwright", "pydata-sphinx-theme", "pyqtwebengine (>=5.15)", "pytest (>=7)", "sphinx (==5.0.2)", "sphinxcontrib-spelling", "tornado (>=6.1)"] +docs = ["ipykernel", "ipython", "myst-parser", "nbsphinx (>=0.2.12)", "pydata-sphinx-theme", "sphinx (==5.0.2)", "sphinxcontrib-spelling"] +qtpdf = ["pyqtwebengine (>=5.15)"] +qtpng = ["pyqtwebengine (>=5.15)"] +serve = ["tornado (>=6.1)"] +test = ["flaky", "ipykernel", "ipywidgets (>=7.5)", "pytest (>=7)"] +webpdf = ["playwright"] + +[[package]] +name = "nbformat" +version = "5.10.4" +description = "The Jupyter Notebook format" +optional = false +python-versions = ">=3.8" +files = [ + {file = "nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b"}, + {file = "nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a"}, +] + +[package.dependencies] +fastjsonschema = ">=2.15" +jsonschema = ">=2.6" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +traitlets = ">=5.1" + +[package.extras] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] +test = ["pep440", "pre-commit", "pytest", "testpath"] + +[[package]] +name = "nbsphinx" +version = "0.9.5" +description = "Jupyter Notebook Tools for Sphinx" +optional = false +python-versions = ">=3.6" +files = [ + {file = "nbsphinx-0.9.5-py3-none-any.whl", hash = "sha256:d82f71084425db1f48e72515f15c25b4de8652ceaab513ee462ac05f1b8eae0a"}, + {file = "nbsphinx-0.9.5.tar.gz", hash = "sha256:736916e7b0dab28fc904f4a9ae3b53a9a50c29fccc6329c052fcc7485abcf2b7"}, +] + +[package.dependencies] +docutils = ">=0.18.1" +jinja2 = "*" +nbconvert = ">=5.3,<5.4 || >5.4" +nbformat = "*" +sphinx = ">=1.8" +traitlets = ">=5" + [[package]] name = "nest-asyncio" version = "1.6.0" @@ -2756,6 +3326,31 @@ sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-d test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] xml = ["lxml (>=4.9.2)"] +[[package]] +name = "pandoc" +version = "2.4" +description = "Pandoc Documents for Python" +optional = false +python-versions = "*" +files = [ + {file = "pandoc-2.4.tar.gz", hash = "sha256:ecd1f8cbb7f4180c6b5db4a17a7c1a74df519995f5f186ef81ce72a9cbd0dd9a"}, +] + +[package.dependencies] +plumbum = "*" +ply = "*" + +[[package]] +name = "pandocfilters" +version = "1.5.1" +description = "Utilities for writing pandoc filters in python" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc"}, + {file = "pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e"}, +] + [[package]] name = "parso" version = "0.8.4" @@ -2898,6 +3493,97 @@ docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-a test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] type = ["mypy (>=1.11.2)"] +[[package]] +name = "pluggy" +version = "1.5.0" +description = "plugin and hook calling mechanisms for python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, + {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, +] + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + +[[package]] +name = "plumbum" +version = "1.9.0" +description = "Plumbum: shell combinators library" +optional = false +python-versions = ">=3.8" +files = [ + {file = "plumbum-1.9.0-py3-none-any.whl", hash = "sha256:9fd0d3b0e8d86e4b581af36edf3f3bbe9d1ae15b45b8caab28de1bcb27aaa7f5"}, + {file = "plumbum-1.9.0.tar.gz", hash = "sha256:e640062b72642c3873bd5bdc3effed75ba4d3c70ef6b6a7b907357a84d909219"}, +] + +[package.dependencies] +pywin32 = {version = "*", markers = "platform_system == \"Windows\" and platform_python_implementation != \"PyPy\""} + +[package.extras] +dev = ["coverage[toml]", "paramiko", "psutil", "pytest (>=6.0)", "pytest-cov", "pytest-mock", "pytest-timeout"] +docs = ["sphinx (>=4.0.0)", "sphinx-rtd-theme (>=1.0.0)"] +ssh = ["paramiko"] +test = ["coverage[toml]", "paramiko", "psutil", "pytest (>=6.0)", "pytest-cov", "pytest-mock", "pytest-timeout"] + +[[package]] +name = "ply" +version = "3.11" +description = "Python Lex & Yacc" +optional = false +python-versions = "*" +files = [ + {file = "ply-3.11-py2.py3-none-any.whl", hash = "sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce"}, + {file = "ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3"}, +] + +[[package]] +name = "podcastfy" +version = "0.2.11" +description = "An Open Source alternative to NotebookLM's podcast feature: Transforming Multimodal Content into Captivating Multilingual Audio Conversations with GenAI" +optional = false +python-versions = "<4.0,>=3.11" +files = [ + {file = "podcastfy-0.2.11-py3-none-any.whl", hash = "sha256:c057bf57444975d33fc86949f2ad1896ffa6b81a6135162f17356747ebbd3f12"}, + {file = "podcastfy-0.2.11.tar.gz", hash = "sha256:f71b0b90ac4079c3606dd23556a28757c5bdb1e940205dc94f5db57d056ce6f0"}, +] + +[package.dependencies] +beautifulsoup4 = ">=4.12.3,<5.0.0" +cython = ">=3.0.11,<4.0.0" +edge-tts = ">=6.1.12,<7.0.0" +elevenlabs = ">=1.9.0,<2.0.0" +ffmpeg = ">=1.4,<2.0" +fuzzywuzzy = ">=0.18.0,<0.19.0" +google-generativeai = ">=0.8.2,<0.9.0" +httpx = ">=0.27.2,<0.28.0" +langchain = ">=0.3.3,<0.4.0" +langchain-community = ">=0.3.2,<0.4.0" +langchain-google-genai = ">=2.0.1,<3.0.0" +langchain-google-vertexai = ">=2.0.4,<3.0.0" +nbsphinx = ">=0.9.5,<0.10.0" +nest-asyncio = ">=1.6.0,<2.0.0" +numpy = ">=1,<2" +openai = ">=1.51.0,<2.0.0" +pandas = ">=2.2.3,<3.0.0" +pandoc = ">=2.4,<3.0" +pydub = ">=0.25.1,<0.26.0" +PyMuPDF = ">=1.24.11,<2.0.0" +pytest = ">=8.3.3,<9.0.0" +python-dotenv = ">=1.0.1,<2.0.0" +python-levenshtein = ">=0.26.0,<0.27.0" +pyyaml = ">=6.0.2,<7.0.0" +requests = ">=2.32.3,<3.0.0" +setuptools = ">=75.1.0,<76.0.0" +sphinx-autodoc-typehints = ">=2.5.0,<3.0.0" +sphinx-rtd-theme = ">=3.0.1,<4.0.0" +typer = ">=0.12.5,<0.13.0" +types-pyyaml = ">=6.0.12.20240917,<7.0.0.0" +wheel = ">=0.44.0,<0.45.0" +youtube-transcript-api = ">=0.6.2,<0.7.0" + [[package]] name = "pre-commit" version = "4.0.1" @@ -3379,6 +4065,17 @@ numpy = ">=1.16.4" carto = ["pydeck-carto"] jupyter = ["ipykernel (>=5.1.2)", "ipython (>=5.8.0)", "ipywidgets (>=7,<8)", "traitlets (>=4.3.2)"] +[[package]] +name = "pydub" +version = "0.25.1" +description = "Manipulate audio with an simple and easy high level interface" +optional = false +python-versions = "*" +files = [ + {file = "pydub-0.25.1-py2.py3-none-any.whl", hash = "sha256:65617e33033874b59d87db603aa1ed450633288aefead953b30bded59cb599a6"}, + {file = "pydub-0.25.1.tar.gz", hash = "sha256:980a33ce9949cab2a569606b65674d748ecbca4f0796887fd6f46173a7b0d30f"}, +] + [[package]] name = "pygments" version = "2.18.0" @@ -3410,6 +4107,40 @@ files = [ {file = "PyMuPDF-1.24.11.tar.gz", hash = "sha256:6e45e57f14ac902029d4aacf07684958d0e58c769f47d9045b2048d0a3d20155"}, ] +[[package]] +name = "pyparsing" +version = "3.2.0" +description = "pyparsing module - Classes and methods to define and execute parsing grammars" +optional = false +python-versions = ">=3.9" +files = [ + {file = "pyparsing-3.2.0-py3-none-any.whl", hash = "sha256:93d9577b88da0bbea8cc8334ee8b918ed014968fd2ec383e868fb8afb1ccef84"}, + {file = "pyparsing-3.2.0.tar.gz", hash = "sha256:cbf74e27246d595d9a74b186b810f6fbb86726dbf3b9532efb343f6d7294fe9c"}, +] + +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + +[[package]] +name = "pytest" +version = "8.3.3" +description = "pytest: simple powerful testing with Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2"}, + {file = "pytest-8.3.3.tar.gz", hash = "sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "sys_platform == \"win32\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=1.5,<2" + +[package.extras] +dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] + [[package]] name = "python-dateutil" version = "2.9.0.post0" @@ -3438,6 +4169,20 @@ files = [ [package.extras] cli = ["click (>=5.0)"] +[[package]] +name = "python-levenshtein" +version = "0.26.0" +description = "Python extension for computing string edit distances and similarities." +optional = false +python-versions = ">=3.9" +files = [ + {file = "python_Levenshtein-0.26.0-py3-none-any.whl", hash = "sha256:1d808ba2f9df04aaea5eceba6e73734f2ffeba99d98d2a91078f32276cd041f4"}, + {file = "python_levenshtein-0.26.0.tar.gz", hash = "sha256:b454dd13708546649f1cba2a0f450dd98e7c1679a92e2d6f0a8b8c013c276e55"}, +] + +[package.dependencies] +Levenshtein = "0.26.0" + [[package]] name = "python-magic" version = "0.4.27" @@ -3670,6 +4415,106 @@ files = [ [package.dependencies] cffi = {version = "*", markers = "implementation_name == \"pypy\""} +[[package]] +name = "rapidfuzz" +version = "3.10.1" +description = "rapid fuzzy string matching" +optional = false +python-versions = ">=3.9" +files = [ + {file = "rapidfuzz-3.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f17d9f21bf2f2f785d74f7b0d407805468b4c173fa3e52c86ec94436b338e74a"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b31f358a70efc143909fb3d75ac6cd3c139cd41339aa8f2a3a0ead8315731f2b"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f4f43f2204b56a61448ec2dd061e26fd344c404da99fb19f3458200c5874ba2"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9d81bf186a453a2757472133b24915768abc7c3964194406ed93e170e16c21cb"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3611c8f45379a12063d70075c75134f2a8bd2e4e9b8a7995112ddae95ca1c982"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3c3b537b97ac30da4b73930fa8a4fe2f79c6d1c10ad535c5c09726612cd6bed9"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:231ef1ec9cf7b59809ce3301006500b9d564ddb324635f4ea8f16b3e2a1780da"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ed4f3adc1294834955b7e74edd3c6bd1aad5831c007f2d91ea839e76461a5879"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:7b6015da2e707bf632a71772a2dbf0703cff6525732c005ad24987fe86e8ec32"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:1b35a118d61d6f008e8e3fb3a77674d10806a8972c7b8be433d6598df4d60b01"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:bc308d79a7e877226f36bdf4e149e3ed398d8277c140be5c1fd892ec41739e6d"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f017dbfecc172e2d0c37cf9e3d519179d71a7f16094b57430dffc496a098aa17"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-win32.whl", hash = "sha256:36c0e1483e21f918d0f2f26799fe5ac91c7b0c34220b73007301c4f831a9c4c7"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:10746c1d4c8cd8881c28a87fd7ba0c9c102346dfe7ff1b0d021cdf093e9adbff"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-win_arm64.whl", hash = "sha256:dfa64b89dcb906835e275187569e51aa9d546a444489e97aaf2cc84011565fbe"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:92958ae075c87fef393f835ed02d4fe8d5ee2059a0934c6c447ea3417dfbf0e8"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ba7521e072c53e33c384e78615d0718e645cab3c366ecd3cc8cb732befd94967"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00d02cbd75d283c287471b5b3738b3e05c9096150f93f2d2dfa10b3d700f2db9"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:efa1582a397da038e2f2576c9cd49b842f56fde37d84a6b0200ffebc08d82350"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f12912acee1f506f974f58de9fdc2e62eea5667377a7e9156de53241c05fdba8"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:666d5d8b17becc3f53447bcb2b6b33ce6c2df78792495d1fa82b2924cd48701a"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26f71582c0d62445067ee338ddad99b655a8f4e4ed517a90dcbfbb7d19310474"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8a2ef08b27167bcff230ffbfeedd4c4fa6353563d6aaa015d725dd3632fc3de7"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:365e4fc1a2b95082c890f5e98489b894e6bf8c338c6ac89bb6523c2ca6e9f086"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:1996feb7a61609fa842e6b5e0c549983222ffdedaf29644cc67e479902846dfe"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:cf654702f144beaa093103841a2ea6910d617d0bb3fccb1d1fd63c54dde2cd49"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ec108bf25de674781d0a9a935030ba090c78d49def3d60f8724f3fc1e8e75024"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-win32.whl", hash = "sha256:031f8b367e5d92f7a1e27f7322012f3c321c3110137b43cc3bf678505583ef48"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:f98f36c6a1bb9a6c8bbec99ad87c8c0e364f34761739b5ea9adf7b48129ae8cf"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-win_arm64.whl", hash = "sha256:f1da2028cb4e41be55ee797a82d6c1cf589442504244249dfeb32efc608edee7"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:1340b56340896bede246f612b6ecf685f661a56aabef3d2512481bfe23ac5835"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2316515169b7b5a453f0ce3adbc46c42aa332cae9f2edb668e24d1fc92b2f2bb"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e06fe6a12241ec1b72c0566c6b28cda714d61965d86569595ad24793d1ab259"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d99c1cd9443b19164ec185a7d752f4b4db19c066c136f028991a480720472e23"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1d9aa156ed52d3446388ba4c2f335e312191d1ca9d1f5762ee983cf23e4ecf6"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:54bcf4efaaee8e015822be0c2c28214815f4f6b4f70d8362cfecbd58a71188ac"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0c955e32afdbfdf6e9ee663d24afb25210152d98c26d22d399712d29a9b976b"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:191633722203f5b7717efcb73a14f76f3b124877d0608c070b827c5226d0b972"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:195baad28057ec9609e40385991004e470af9ef87401e24ebe72c064431524ab"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0fff4a6b87c07366662b62ae994ffbeadc472e72f725923f94b72a3db49f4671"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4ffed25f9fdc0b287f30a98467493d1e1ce5b583f6317f70ec0263b3c97dbba6"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d02cf8e5af89a9ac8f53c438ddff6d773f62c25c6619b29db96f4aae248177c0"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-win32.whl", hash = "sha256:f3bb81d4fe6a5d20650f8c0afcc8f6e1941f6fecdb434f11b874c42467baded0"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-win_amd64.whl", hash = "sha256:aaf83e9170cb1338922ae42d320699dccbbdca8ffed07faeb0b9257822c26e24"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-win_arm64.whl", hash = "sha256:c5da802a0d085ad81b0f62828fb55557996c497b2d0b551bbdfeafd6d447892f"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fc22d69a1c9cccd560a5c434c0371b2df0f47c309c635a01a913e03bbf183710"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:38b0dac2c8e057562b8f0d8ae5b663d2d6a28c5ab624de5b73cef9abb6129a24"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fde3bbb14e92ce8fcb5c2edfff72e474d0080cadda1c97785bf4822f037a309"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9141fb0592e55f98fe9ac0f3ce883199b9c13e262e0bf40c5b18cdf926109d16"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:237bec5dd1bfc9b40bbd786cd27949ef0c0eb5fab5eb491904c6b5df59d39d3c"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18123168cba156ab5794ea6de66db50f21bb3c66ae748d03316e71b27d907b95"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b75fe506c8e02769cc47f5ab21ce3e09b6211d3edaa8f8f27331cb6988779be"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9da82aa4b46973aaf9e03bb4c3d6977004648c8638febfc0f9d237e865761270"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c34c022d5ad564f1a5a57a4a89793bd70d7bad428150fb8ff2760b223407cdcf"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:1e96c84d6c2a0ca94e15acb5399118fff669f4306beb98a6d8ec6f5dccab4412"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e8e154b84a311263e1aca86818c962e1fa9eefdd643d1d5d197fcd2738f88cb9"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:335fee93188f8cd585552bb8057228ce0111bd227fa81bfd40b7df6b75def8ab"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-win32.whl", hash = "sha256:6729b856166a9e95c278410f73683957ea6100c8a9d0a8dbe434c49663689255"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-win_amd64.whl", hash = "sha256:0e06d99ad1ad97cb2ef7f51ec6b1fedd74a3a700e4949353871cf331d07b382a"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-win_arm64.whl", hash = "sha256:8d1b7082104d596a3eb012e0549b2634ed15015b569f48879701e9d8db959dbb"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:779027d3307e1a2b1dc0c03c34df87a470a368a1a0840a9d2908baf2d4067956"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:440b5608ab12650d0390128d6858bc839ae77ffe5edf0b33a1551f2fa9860651"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82cac41a411e07a6f3dc80dfbd33f6be70ea0abd72e99c59310819d09f07d945"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:958473c9f0bca250590200fd520b75be0dbdbc4a7327dc87a55b6d7dc8d68552"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9ef60dfa73749ef91cb6073be1a3e135f4846ec809cc115f3cbfc6fe283a5584"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7fbac18f2c19fc983838a60611e67e3262e36859994c26f2ee85bb268de2355"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a0d519ff39db887cd73f4e297922786d548f5c05d6b51f4e6754f452a7f4296"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:bebb7bc6aeb91cc57e4881b222484c26759ca865794187217c9dcea6c33adae6"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:fe07f8b9c3bb5c5ad1d2c66884253e03800f4189a60eb6acd6119ebaf3eb9894"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:bfa48a4a2d45a41457f0840c48e579db157a927f4e97acf6e20df8fc521c79de"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:2cf44d01bfe8ee605b7eaeecbc2b9ca64fc55765f17b304b40ed8995f69d7716"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1e6bbca9246d9eedaa1c84e04a7f555493ba324d52ae4d9f3d9ddd1b740dcd87"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-win32.whl", hash = "sha256:567f88180f2c1423b4fe3f3ad6e6310fc97b85bdba574801548597287fc07028"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:6b2cd7c29d6ecdf0b780deb587198f13213ac01c430ada6913452fd0c40190fc"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-win_arm64.whl", hash = "sha256:9f912d459e46607ce276128f52bea21ebc3e9a5ccf4cccfef30dd5bddcf47be8"}, + {file = "rapidfuzz-3.10.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ac4452f182243cfab30ba4668ef2de101effaedc30f9faabb06a095a8c90fd16"}, + {file = "rapidfuzz-3.10.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:565c2bd4f7d23c32834652b27b51dd711814ab614b4e12add8476be4e20d1cf5"}, + {file = "rapidfuzz-3.10.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:187d9747149321607be4ccd6f9f366730078bed806178ec3eeb31d05545e9e8f"}, + {file = "rapidfuzz-3.10.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:616290fb9a8fa87e48cb0326d26f98d4e29f17c3b762c2d586f2b35c1fd2034b"}, + {file = "rapidfuzz-3.10.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:073a5b107e17ebd264198b78614c0206fa438cce749692af5bc5f8f484883f50"}, + {file = "rapidfuzz-3.10.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:39c4983e2e2ccb9732f3ac7d81617088822f4a12291d416b09b8a1eadebb3e29"}, + {file = "rapidfuzz-3.10.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ac7adee6bcf0c6fee495d877edad1540a7e0f5fc208da03ccb64734b43522d7a"}, + {file = "rapidfuzz-3.10.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:425f4ac80b22153d391ee3f94bc854668a0c6c129f05cf2eaf5ee74474ddb69e"}, + {file = "rapidfuzz-3.10.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65a2fa13e8a219f9b5dcb9e74abe3ced5838a7327e629f426d333dfc8c5a6e66"}, + {file = "rapidfuzz-3.10.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:75561f3df9a906aaa23787e9992b228b1ab69007932dc42070f747103e177ba8"}, + {file = "rapidfuzz-3.10.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:edd062490537e97ca125bc6c7f2b7331c2b73d21dc304615afe61ad1691e15d5"}, + {file = "rapidfuzz-3.10.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfcc8feccf63245a22dfdd16e222f1a39771a44b870beb748117a0e09cbb4a62"}, + {file = "rapidfuzz-3.10.1.tar.gz", hash = "sha256:5a15546d847a915b3f42dc79ef9b0c78b998b4e2c53b252e7166284066585979"}, +] + +[package.extras] +all = ["numpy"] + [[package]] name = "referencing" version = "0.35.1" @@ -4008,6 +4853,26 @@ files = [ [package.dependencies] websockets = "13.1" +[[package]] +name = "setuptools" +version = "75.2.0" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "setuptools-75.2.0-py3-none-any.whl", hash = "sha256:a7fcb66f68b4d9e8e66b42f9876150a3371558f98fa32222ffaa5bced76406f8"}, + {file = "setuptools-75.2.0.tar.gz", hash = "sha256:753bb6ebf1f465a1912e19ed1d41f403a79173a9acf66a42e7e6aec45c3c16ec"}, +] + +[package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"] +core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.collections", "jaraco.functools", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] +type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.11.*)", "pytest-mypy"] + [[package]] name = "shapely" version = "2.0.6" @@ -4066,6 +4931,17 @@ numpy = ">=1.14,<3" docs = ["matplotlib", "numpydoc (==1.1.*)", "sphinx", "sphinx-book-theme", "sphinx-remove-toctrees"] test = ["pytest", "pytest-cov"] +[[package]] +name = "shellingham" +version = "1.5.4" +description = "Tool to Detect Surrounding Shell" +optional = false +python-versions = ">=3.7" +files = [ + {file = "shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686"}, + {file = "shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de"}, +] + [[package]] name = "six" version = "1.16.0" @@ -4099,6 +4975,208 @@ files = [ {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, ] +[[package]] +name = "snowballstemmer" +version = "2.2.0" +description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." +optional = false +python-versions = "*" +files = [ + {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, + {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, +] + +[[package]] +name = "soupsieve" +version = "2.6" +description = "A modern CSS selector implementation for Beautiful Soup." +optional = false +python-versions = ">=3.8" +files = [ + {file = "soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9"}, + {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"}, +] + +[[package]] +name = "sphinx" +version = "8.1.3" +description = "Python documentation generator" +optional = false +python-versions = ">=3.10" +files = [ + {file = "sphinx-8.1.3-py3-none-any.whl", hash = "sha256:09719015511837b76bf6e03e42eb7595ac8c2e41eeb9c29c5b755c6b677992a2"}, + {file = "sphinx-8.1.3.tar.gz", hash = "sha256:43c1911eecb0d3e161ad78611bc905d1ad0e523e4ddc202a58a821773dc4c927"}, +] + +[package.dependencies] +alabaster = ">=0.7.14" +babel = ">=2.13" +colorama = {version = ">=0.4.6", markers = "sys_platform == \"win32\""} +docutils = ">=0.20,<0.22" +imagesize = ">=1.3" +Jinja2 = ">=3.1" +packaging = ">=23.0" +Pygments = ">=2.17" +requests = ">=2.30.0" +snowballstemmer = ">=2.2" +sphinxcontrib-applehelp = ">=1.0.7" +sphinxcontrib-devhelp = ">=1.0.6" +sphinxcontrib-htmlhelp = ">=2.0.6" +sphinxcontrib-jsmath = ">=1.0.1" +sphinxcontrib-qthelp = ">=1.0.6" +sphinxcontrib-serializinghtml = ">=1.1.9" + +[package.extras] +docs = ["sphinxcontrib-websupport"] +lint = ["flake8 (>=6.0)", "mypy (==1.11.1)", "pyright (==1.1.384)", "pytest (>=6.0)", "ruff (==0.6.9)", "sphinx-lint (>=0.9)", "tomli (>=2)", "types-Pillow (==10.2.0.20240822)", "types-Pygments (==2.18.0.20240506)", "types-colorama (==0.4.15.20240311)", "types-defusedxml (==0.7.0.20240218)", "types-docutils (==0.21.0.20241005)", "types-requests (==2.32.0.20240914)", "types-urllib3 (==1.26.25.14)"] +test = ["cython (>=3.0)", "defusedxml (>=0.7.1)", "pytest (>=8.0)", "setuptools (>=70.0)", "typing_extensions (>=4.9)"] + +[[package]] +name = "sphinx-autodoc-typehints" +version = "2.5.0" +description = "Type hints (PEP 484) support for the Sphinx autodoc extension" +optional = false +python-versions = ">=3.10" +files = [ + {file = "sphinx_autodoc_typehints-2.5.0-py3-none-any.whl", hash = "sha256:53def4753239683835b19bfa8b68c021388bd48a096efcb02cdab508ece27363"}, + {file = "sphinx_autodoc_typehints-2.5.0.tar.gz", hash = "sha256:259e1026b218d563d72743f417fcc25906a9614897fe37f91bd8d7d58f748c3b"}, +] + +[package.dependencies] +sphinx = ">=8.0.2" + +[package.extras] +docs = ["furo (>=2024.8.6)"] +numpy = ["nptyping (>=2.5)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "defusedxml (>=0.7.1)", "diff-cover (>=9.1.1)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "sphobjinv (>=2.3.1.1)", "typing-extensions (>=4.12.2)"] + +[[package]] +name = "sphinx-rtd-theme" +version = "3.0.1" +description = "Read the Docs theme for Sphinx" +optional = false +python-versions = ">=3.8" +files = [ + {file = "sphinx_rtd_theme-3.0.1-py2.py3-none-any.whl", hash = "sha256:921c0ece75e90633ee876bd7b148cfaad136b481907ad154ac3669b6fc957916"}, + {file = "sphinx_rtd_theme-3.0.1.tar.gz", hash = "sha256:a4c5745d1b06dfcb80b7704fe532eb765b44065a8fad9851e4258c8804140703"}, +] + +[package.dependencies] +docutils = ">0.18,<0.22" +sphinx = ">=6,<9" +sphinxcontrib-jquery = ">=4,<5" + +[package.extras] +dev = ["bump2version", "transifex-client", "twine", "wheel"] + +[[package]] +name = "sphinxcontrib-applehelp" +version = "2.0.0" +description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_applehelp-2.0.0-py3-none-any.whl", hash = "sha256:4cd3f0ec4ac5dd9c17ec65e9ab272c9b867ea77425228e68ecf08d6b28ddbdb5"}, + {file = "sphinxcontrib_applehelp-2.0.0.tar.gz", hash = "sha256:2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1"}, +] + +[package.extras] +lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] +standalone = ["Sphinx (>=5)"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-devhelp" +version = "2.0.0" +description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp documents" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_devhelp-2.0.0-py3-none-any.whl", hash = "sha256:aefb8b83854e4b0998877524d1029fd3e6879210422ee3780459e28a1f03a8a2"}, + {file = "sphinxcontrib_devhelp-2.0.0.tar.gz", hash = "sha256:411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad"}, +] + +[package.extras] +lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] +standalone = ["Sphinx (>=5)"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-htmlhelp" +version = "2.1.0" +description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl", hash = "sha256:166759820b47002d22914d64a075ce08f4c46818e17cfc9470a9786b759b19f8"}, + {file = "sphinxcontrib_htmlhelp-2.1.0.tar.gz", hash = "sha256:c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9"}, +] + +[package.extras] +lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] +standalone = ["Sphinx (>=5)"] +test = ["html5lib", "pytest"] + +[[package]] +name = "sphinxcontrib-jquery" +version = "4.1" +description = "Extension to include jQuery on newer Sphinx releases" +optional = false +python-versions = ">=2.7" +files = [ + {file = "sphinxcontrib-jquery-4.1.tar.gz", hash = "sha256:1620739f04e36a2c779f1a131a2dfd49b2fd07351bf1968ced074365933abc7a"}, + {file = "sphinxcontrib_jquery-4.1-py2.py3-none-any.whl", hash = "sha256:f936030d7d0147dd026a4f2b5a57343d233f1fc7b363f68b3d4f1cb0993878ae"}, +] + +[package.dependencies] +Sphinx = ">=1.8" + +[[package]] +name = "sphinxcontrib-jsmath" +version = "1.0.1" +description = "A sphinx extension which renders display math in HTML via JavaScript" +optional = false +python-versions = ">=3.5" +files = [ + {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, + {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, +] + +[package.extras] +test = ["flake8", "mypy", "pytest"] + +[[package]] +name = "sphinxcontrib-qthelp" +version = "2.0.0" +description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_qthelp-2.0.0-py3-none-any.whl", hash = "sha256:b18a828cdba941ccd6ee8445dbe72ffa3ef8cbe7505d8cd1fa0d42d3f2d5f3eb"}, + {file = "sphinxcontrib_qthelp-2.0.0.tar.gz", hash = "sha256:4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab"}, +] + +[package.extras] +lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] +standalone = ["Sphinx (>=5)"] +test = ["defusedxml (>=0.7.1)", "pytest"] + +[[package]] +name = "sphinxcontrib-serializinghtml" +version = "2.0.0" +description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl", hash = "sha256:6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331"}, + {file = "sphinxcontrib_serializinghtml-2.0.0.tar.gz", hash = "sha256:e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d"}, +] + +[package.extras] +lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] +standalone = ["Sphinx (>=5)"] +test = ["pytest"] + [[package]] name = "sqlalchemy" version = "2.0.36" @@ -4352,6 +5430,24 @@ requests = ">=2.26.0" [package.extras] blobfile = ["blobfile (>=2)"] +[[package]] +name = "tinycss2" +version = "1.4.0" +description = "A tiny CSS parser" +optional = false +python-versions = ">=3.8" +files = [ + {file = "tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289"}, + {file = "tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7"}, +] + +[package.dependencies] +webencodings = ">=0.4" + +[package.extras] +doc = ["sphinx", "sphinx_rtd_theme"] +test = ["pytest", "ruff"] + [[package]] name = "tokenizers" version = "0.20.1" @@ -4535,6 +5631,34 @@ files = [ docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<8.2)", "pytest-mock", "pytest-mypy-testing"] +[[package]] +name = "typer" +version = "0.12.5" +description = "Typer, build great CLIs. Easy to code. Based on Python type hints." +optional = false +python-versions = ">=3.7" +files = [ + {file = "typer-0.12.5-py3-none-any.whl", hash = "sha256:62fe4e471711b147e3365034133904df3e235698399bc4de2b36c8579298d52b"}, + {file = "typer-0.12.5.tar.gz", hash = "sha256:f592f089bedcc8ec1b974125d64851029c3b1af145f04aca64d69410f0c9b722"}, +] + +[package.dependencies] +click = ">=8.0.0" +rich = ">=10.11.0" +shellingham = ">=1.3.0" +typing-extensions = ">=3.7.4.3" + +[[package]] +name = "types-pyyaml" +version = "6.0.12.20240917" +description = "Typing stubs for PyYAML" +optional = false +python-versions = ">=3.8" +files = [ + {file = "types-PyYAML-6.0.12.20240917.tar.gz", hash = "sha256:d1405a86f9576682234ef83bcb4e6fff7c9305c8b1fbad5e0bcd4f7dbdc9c587"}, + {file = "types_PyYAML-6.0.12.20240917-py3-none-any.whl", hash = "sha256:392b267f1c0fe6022952462bf5d6523f31e37f6cea49b14cee7ad634b6301570"}, +] + [[package]] name = "typing-extensions" version = "4.12.2" @@ -4572,6 +5696,17 @@ files = [ {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, ] +[[package]] +name = "uritemplate" +version = "4.1.1" +description = "Implementation of RFC 6570 URI Templates" +optional = false +python-versions = ">=3.6" +files = [ + {file = "uritemplate-4.1.1-py2.py3-none-any.whl", hash = "sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e"}, + {file = "uritemplate-4.1.1.tar.gz", hash = "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0"}, +] + [[package]] name = "urllib3" version = "2.2.3" @@ -4662,6 +5797,17 @@ files = [ {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, ] +[[package]] +name = "webencodings" +version = "0.5.1" +description = "Character encoding aliases for legacy web content" +optional = false +python-versions = "*" +files = [ + {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, + {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, +] + [[package]] name = "websockets" version = "13.1" @@ -4757,6 +5903,20 @@ files = [ {file = "websockets-13.1.tar.gz", hash = "sha256:a3b3366087c1bc0a2795111edcadddb8b3b59509d5db5d7ea3fdd69f954a8878"}, ] +[[package]] +name = "wheel" +version = "0.44.0" +description = "A built-package format for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "wheel-0.44.0-py3-none-any.whl", hash = "sha256:2376a90c98cc337d18623527a97c31797bd02bad0033d41547043a1cbfbe448f"}, + {file = "wheel-0.44.0.tar.gz", hash = "sha256:a29c3f2817e95ab89aa4660681ad547c0e9547f20e75b0562fe7723c9a2a9d49"}, +] + +[package.extras] +test = ["pytest (>=6.0.0)", "setuptools (>=65)"] + [[package]] name = "win32-setctime" version = "1.1.0" @@ -4903,4 +6063,4 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.0" python-versions = "^3.11" -content-hash = "eb5762f3ce3c19b2d51f5aaadcf52a89160f0792534aa83812f50770986f8ba4" +content-hash = "b92bbd2ce61e78ccc2e182627cf0ba5d98ccf849898e5e941d5d17e74a7827ab" diff --git a/pyproject.toml b/pyproject.toml index 533c256..3d30ed6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "open-notebook" -version = "0.0.3" +version = "0.0.4" description = "An open source implementation of a research assistant, inspired by Google Notebook LM" authors = ["Luis Novo "] license = "MIT" @@ -39,6 +39,7 @@ langchain-anthropic = "^0.2.3" langchain-ollama = "^0.2.0" langchain-google-vertexai = "^2.0.5" sdblpy = "^0.3.0" +podcastfy = "^0.2.8" [tool.poetry.group.dev.dependencies] ipykernel = "^6.29.5" diff --git a/stream_app/chat.py b/stream_app/chat.py index 5c0a597..cbfd3bb 100644 --- a/stream_app/chat.py +++ b/stream_app/chat.py @@ -3,7 +3,7 @@ from langchain_core.runnables import RunnableConfig from open_notebook.domain import Note, Source from open_notebook.graphs.chat import graph as chat_graph -from open_notebook.plugins.podcasts import PodcastConfig, PodcastEpisode +from open_notebook.plugins.podcasts import PodcastConfig from open_notebook.utils import token_count from stream_app.note import make_note_from_chat @@ -54,30 +54,38 @@ def execute_chat(txt_input, session_id): return result -podcast_configs = PodcastConfig.get_all() -podcast_config_names = [pd.name for pd in podcast_configs] - - # todo: se eu for usar o token count, preciso deixar configuravel # seria bom ter um total de tokens no admin em algum lugar def chat_sidebar(session_id): context = build_context(session_id=session_id) tokens = token_count(str(context) + str(st.session_state[session_id]["messages"])) chat_tab, podcast_tab = st.tabs(["Chat", "Podcast"]) + with st.expander(f"Context ({tokens} tokens), {len(str(context))} chars"): + st.json(context) with podcast_tab: with st.container(border=True): - template = st.selectbox("Pick a template", podcast_config_names) - episode_name = st.text_input("Episode Name") - instructions = st.text_area("Instructions") - if st.button("Generate"): - epi = PodcastEpisode( - name=episode_name, - instructions=instructions, - template=template, - file_path="lallaa", + podcast_configs = PodcastConfig.get_all() + podcast_config_names = [pd.name for pd in podcast_configs] + if len(podcast_configs) == 0: + st.warning("No podcast configurations found") + else: + template = st.selectbox("Pick a template", podcast_config_names) + selected_template = next( + filter(lambda x: x.name == template, podcast_configs) ) - epi.save() - st.page_link("pages/5_🎙️_Podcasts.py", label="Go to Config") + episode_name = st.text_input("Episode Name") + instructions = st.text_area( + "Instructions", value=selected_template.user_instructions + ) + if st.button("Generate"): + with st.spinner("Go grab a coffee, almost here..."): + selected_template.generate_episode( + episode_name=episode_name, + text=context, + instructions=instructions, + ) + st.success("Episode generated successfully") + st.page_link("pages/5_🎙️_Podcasts.py", label="Go to Podcasts") st.divider() with chat_tab: with st.container(border=True): @@ -94,12 +102,12 @@ def chat_sidebar(session_id): if not msg.content: continue - with st.chat_message(name=msg.type): - st.write(msg.content) - if msg.type == "ai": - if st.button("💾 New Note", key=f"render_save_{msg.id}"): - make_note_from_chat( - content=msg.content, - notebook_id=st.session_state[session_id]["notebook"].id, - ) - st.rerun() + with st.chat_message(name=msg.type): + st.write(msg.content) + if msg.type == "ai": + if st.button("💾 New Note", key=f"render_save_{msg.id}"): + make_note_from_chat( + content=msg.content, + notebook_id=st.session_state[session_id]["notebook"].id, + ) + st.rerun()