├── README.md ├── .gitignore ├── article_claude_v1.md ├── LICENSE ├── article_claude_v2.md └── STORM_longform_writing_Claude_Contest_final.ipynb /README.md: -------------------------------------------------------------------------------- 1 | # Claude API Contest Project - STORM: AI Agents for Long-Form Writing 2 | 3 | 4 | **Project Author: TwoSetAI** 5 | 6 | *Angelina Yang*: [Linkedin](https://www.linkedin.com/in/MeetAngelina/) 7 | *Mehdi Allahyari*: [Linkedin](https://www.linkedin.com/in/mehdiallahyari/) [Github](https://github.com/mallahyari) 8 | 9 | **YouTube Channel:** https://www.youtube.com/@TwoSetAI 10 | 11 | **Blogpost about this topic:** https://open.substack.com/pub/mlnotes/p/storm-ai-agents-for-long-form-writing?r=164sm1&utm_campaign=post&utm_medium=web 12 | 13 | # **Project Motivation:** 14 | 15 | Writing a well-structured and organized piece of content is crucial for effectively conveying information to readers. One of the key elements in achieving this is the use of top-down approach for writing, i.e, nailing down the outline before writing a single word. They provide a framework that guides the writer in presenting information in a logical and coherent manner. 16 | 17 | In this project, we will explore an agentic system called STORM, which stands for **Synthesis of Topic Outlines through Retrieval and Multi-perspective Question Asking**. 18 | 19 | This method is proposed by Stanford researchers and fully described in this paper "*[Assisting in Writing Wikipedia-like Articles From Scratch with Large Language Models](https://arxiv.org/pdf/2402.14207.pdf)*" 20 | 21 | STORM is designed to assist in writing long-form articles by creating topic outlines, discovering diverse perspectives and simulating conversations with topic experts. 22 | 23 | STORM can enhance the pre-writing stage, resulting in well-structured and comprehensive articles that rival those found on Wikipedia. 24 | 25 | # **Project Scope:** 26 | Due to time constraints, we implemented the method with Claude API in this notebook but didn't have time to implement a UI. We leverage the framework to write a test article on the following topic: **Building A Powerful LinkedIn Presence**. The resulted article can be viewed from the markdown files in this repo. 27 | 28 | There are more things we can improve for this project such as using function calls to stablize the output for pipeline uses downstream, refining outputs, refining prompts, roles and agents architecture etc. 29 | 30 | We also compared result between OpenAI and Claude. Overall, we like the Claude results better in this specific use case. 31 | 32 | ![image](https://github.com/angelina-yang/Claude_API_Contest/assets/40750217/48b072ec-c566-4596-ae7b-ecb82d1e3793) 33 | 34 | 35 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | pip-wheel-metadata/ 24 | share/python-wheels/ 25 | *.egg-info/ 26 | .installed.cfg 27 | *.egg 28 | MANIFEST 29 | 30 | # PyInstaller 31 | # Usually these files are written by a python script from a template 32 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 33 | *.manifest 34 | *.spec 35 | 36 | # Installer logs 37 | pip-log.txt 38 | pip-delete-this-directory.txt 39 | 40 | # Unit test / coverage reports 41 | htmlcov/ 42 | .tox/ 43 | .nox/ 44 | .coverage 45 | .coverage.* 46 | .cache 47 | nosetests.xml 48 | coverage.xml 49 | *.cover 50 | *.py,cover 51 | .hypothesis/ 52 | .pytest_cache/ 53 | 54 | # Translations 55 | *.mo 56 | *.pot 57 | 58 | # Django stuff: 59 | *.log 60 | local_settings.py 61 | db.sqlite3 62 | db.sqlite3-journal 63 | 64 | # Flask stuff: 65 | instance/ 66 | .webassets-cache 67 | 68 | # Scrapy stuff: 69 | .scrapy 70 | 71 | # Sphinx documentation 72 | docs/_build/ 73 | 74 | # PyBuilder 75 | target/ 76 | 77 | # Jupyter Notebook 78 | .ipynb_checkpoints 79 | 80 | # IPython 81 | profile_default/ 82 | ipython_config.py 83 | 84 | # pyenv 85 | .python-version 86 | 87 | # pipenv 88 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 89 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 90 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 91 | # install all needed dependencies. 92 | #Pipfile.lock 93 | 94 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 95 | __pypackages__/ 96 | 97 | # Celery stuff 98 | celerybeat-schedule 99 | celerybeat.pid 100 | 101 | # SageMath parsed files 102 | *.sage.py 103 | 104 | # Environments 105 | .env 106 | .venv 107 | env/ 108 | venv/ 109 | ENV/ 110 | env.bak/ 111 | venv.bak/ 112 | 113 | # Spyder project settings 114 | .spyderproject 115 | .spyproject 116 | 117 | # Rope project settings 118 | .ropeproject 119 | 120 | # mkdocs documentation 121 | /site 122 | 123 | # mypy 124 | .mypy_cache/ 125 | .dmypy.json 126 | dmypy.json 127 | 128 | # Pyre type checker 129 | .pyre/ 130 | -------------------------------------------------------------------------------- /article_claude_v1.md: -------------------------------------------------------------------------------- 1 | # Why LinkedIn Matters for Your Career 2 | 3 | LinkedIn has become an essential platform for professionals looking to advance their careers. With over 700 million users worldwide, LinkedIn offers unparalleled opportunities for networking, establishing credibility, and attracting job offers [ref_4]. 4 | 5 | ## Networking Opportunities 6 | 7 | One of the primary benefits of LinkedIn is the ability to connect with other professionals in your industry. By building a strong network, you can gain access to valuable insights, advice, and potential collaborations [ref_0]. LinkedIn allows you to engage with your connections through posts, comments, and direct messages, fostering meaningful relationships that can help you grow professionally [ref_2]. 8 | 9 | ## Establishing Professional Credibility 10 | 11 | Your LinkedIn profile serves as your digital resume, showcasing your skills, experience, and accomplishments to the world. By crafting a compelling headline and summary, you can effectively communicate your unique value proposition and stand out from the crowd [ref_3]. Additionally, by regularly sharing relevant content and engaging with others in your industry, you can demonstrate your expertise and establish yourself as a thought leader [ref_4]. 12 | 13 | ## Attracting Recruiters and Job Offers 14 | 15 | LinkedIn is a go-to platform for recruiters seeking talented professionals. By optimizing your profile with relevant keywords and highlighting your achievements, you can increase your visibility to recruiters and potentially attract job offers [ref_0]. Moreover, by actively participating in LinkedIn groups and discussions related to your industry, you can showcase your knowledge and catch the attention of potential employers [ref_2]. Personalizing your profile with a professional background photo can also help you stand out and make a strong first impression on recruiters and hiring managers [ref_6]. 16 | 17 | # Optimizing Your LinkedIn Profile 18 | 19 | ## Crafting a Compelling Headline with Relevant Keywords 20 | 21 | Your LinkedIn headline is a crucial element of your profile, as it's the first thing people see when they come across your profile. It should be attention-grabbing and accurately reflect your professional brand [ref_0]. Utilize keywords that are relevant to your industry and the roles you are targeting to enhance your profile visibility and attract relevant connections [ref_0]. 22 | 23 | A good LinkedIn headline follows four best practices: tailor it to your audience, include your value proposition, use your prospect's language, and be accurate and honest [ref_3]. Identify your key skills and expertise, highlight your job title or aspirations, and add quantifiable achievements to make your headline stand out [ref_1]. 24 | 25 | While it's important to showcase your unique value proposition in your LinkedIn headline, it's equally important to avoid coming across as boastful or arrogant [ref_2]. Keep your LinkedIn headline up to date as your career changes, as it is one of those activities that requires ongoing maintenance [ref_4]. 26 | 27 | ## Selecting a Professional, High-Quality Headshot 28 | 29 | Your profile picture is another important element of your LinkedIn profile. Choose a high-quality, professional headshot that clearly shows your face and presents you in a positive light [ref_0]. Avoid using casual or outdated photos, as they can give the wrong impression to potential employers or connections [ref_0]. 30 | 31 | ## Writing an Engaging About/Summary Section 32 | 33 | ### Providing an Overview of Your Professional Story 34 | 35 | Your About/Summary section should provide an overview of your professional story, highlighting your unique value proposition and what sets you apart from others in your field [ref_0]. This is your opportunity to showcase your personality and give people a sense of who you are beyond just your job title and experience [ref_0]. 36 | 37 | ### Highlighting Key Accomplishments, Skills and Experience 38 | 39 | In your About/Summary section, highlight your key accomplishments, skills, and experience that are relevant to your target audience [ref_0]. Focus on the most impressive and relevant aspects of your background, and use specific examples to illustrate your points [ref_0]. 40 | 41 | ### Aiming for 3-5 Short Paragraphs 42 | 43 | Aim to keep your About/Summary section concise and easy to read, with 3-5 short paragraphs that are each no more than a few sentences long [ref_0]. Use bullet points or short paragraphs to break up the text and make it more visually appealing [ref_0]. 44 | 45 | # Growing Your LinkedIn Network 46 | 47 | Growing your LinkedIn network is essential for expanding your professional reach and discovering new opportunities. By strategically connecting with others and engaging with valuable content, you can establish yourself as a active member of your industry. [ref_4] 48 | 49 | ## Connecting with Colleagues and Classmates 50 | 51 | One of the best ways to start growing your LinkedIn network is by connecting with your current and former colleagues, as well as classmates from your educational background. These individuals already have a shared professional or academic experience with you, making it easier to establish meaningful connections. [ref_2] 52 | 53 | ## Joining Relevant Groups 54 | 55 | LinkedIn Groups provide an excellent platform to connect with like-minded professionals in your industry or areas of interest. By joining relevant groups, you can participate in discussions, share insights, and learn from others' experiences. [ref_0] 56 | 57 | ### Participating in Discussions 58 | 59 | Actively participating in group discussions is key to building relationships and establishing your expertise. Share your thoughts, ask questions, and provide helpful resources to contribute to the conversation and gain visibility within the group. [ref_1] 60 | 61 | ## Following Thought Leaders and Influencers 62 | 63 | Identify thought leaders and influencers in your industry and follow them on LinkedIn. By keeping up with their posts and insights, you can stay informed about the latest trends and gain valuable knowledge to share with your own network. [ref_3] 64 | 65 | ## Engaging with Others' Content 66 | 67 | Engaging with the content shared by your connections and the people you follow is a powerful way to strengthen relationships and increase your own visibility on the platform. [ref_4] 68 | 69 | ### Liking and Commenting 70 | 71 | Show your appreciation for others' posts by liking and leaving thoughtful comments. This not only supports your connections but also helps you gain exposure to their networks. [ref_2] 72 | 73 | ### Sharing Insightful Posts 74 | 75 | When you come across valuable content that your network might find interesting, share it on your LinkedIn feed. This helps position you as a knowledgeable resource and encourages others to engage with your shared content. [ref_0] 76 | 77 | By consistently implementing these strategies, you can effectively grow your LinkedIn network, foster meaningful professional relationships, and unlock new opportunities for your career growth. [ref_1] 78 | 79 | # Sharing Valuable Content 80 | 81 | Sharing valuable content on LinkedIn is a powerful way to establish your expertise, engage with your network, and attract potential clients or employers. By posting industry news, insights, and original content, you can position yourself as a thought leader in your field [0]. 82 | 83 | ## Posting Industry News and Insights 84 | 85 | Staying up-to-date with the latest trends and developments in your industry is crucial for maintaining relevance and credibility. Share interesting articles, reports, or news stories that your network might find valuable, and add your own commentary to provide context and showcase your knowledge [1]. 86 | 87 | ## Authoring Articles on LinkedIn 88 | 89 | LinkedIn's publishing platform allows you to create and share long-form content directly on the platform. This is an excellent opportunity to demonstrate your expertise and provide value to your network [2]. 90 | 91 | ### Choosing Compelling Topics 92 | 93 | When selecting topics for your LinkedIn articles, focus on subjects that align with your expertise and the interests of your target audience. Consider addressing common challenges, sharing best practices, or offering unique perspectives on industry trends [3]. 94 | 95 | ### Using Images and Formatting 96 | 97 | To make your articles more visually appealing and engaging, incorporate relevant images, infographics, or videos. Use formatting techniques like headings, bullet points, and short paragraphs to break up the text and improve readability [3]. 98 | 99 | ## Uploading Presentations and Media 100 | 101 | In addition to articles, you can share other types of content on LinkedIn, such as presentations, documents, or videos. This allows you to showcase your work, provide educational resources, or share insights in a more interactive format [4]. 102 | 103 | ## Participating in LinkedIn Live 104 | 105 | LinkedIn Live is a feature that enables you to broadcast live video content to your network. This can be a powerful way to engage with your audience in real-time, share insights, or host Q&A sessions. To access LinkedIn Live, you'll need to apply for access and meet certain criteria [4]. 106 | 107 | By consistently sharing valuable content on LinkedIn, you can establish yourself as a go-to resource in your industry, attract new opportunities, and build meaningful relationships with your network. 108 | 109 | # Leveraging LinkedIn for Job Search 110 | 111 | LinkedIn is a powerful tool for job seekers, offering a wealth of opportunities to research target companies, identify key contacts, and apply for job openings. By strategically utilizing LinkedIn's features, you can significantly boost your chances of landing your dream job. [ref_0] 112 | 113 | ## Researching Target Companies 114 | 115 | Before diving into your job search, it's crucial to research the companies you're interested in. LinkedIn provides valuable insights into a company's culture, mission, and current employees. Take advantage of the "Company" pages to gather information about your target organizations and align your job search efforts accordingly. [ref_1] 116 | 117 | ## Identifying Key Contacts 118 | 119 | Once you've identified your target companies, it's time to find the right people to connect with. LinkedIn's search function allows you to find employees within those companies, including hiring managers, recruiters, and professionals in your desired department. [ref_3] 120 | 121 | ### Seeking Warm Introductions 122 | 123 | One of the most effective ways to get your foot in the door is through warm introductions. Leverage your existing network on LinkedIn to see if you have any mutual connections with employees at your target companies. Reach out to these shared connections and ask if they'd be willing to introduce you or provide insights into the company's hiring process. [ref_4] 124 | 125 | ## Applying to Posted Job Openings 126 | 127 | LinkedIn's "Jobs" section is a goldmine for job seekers. Many companies post their open positions directly on the platform, allowing you to apply with just a few clicks. When applying, be sure to tailor your resume and cover letter to the specific job requirements and showcase how your skills and experience align with the company's needs. [ref_1] 128 | 129 | ## Reaching Out to Recruiters 130 | 131 | Don't hesitate to reach out to recruiters directly on LinkedIn. Many recruiters actively use the platform to find qualified candidates for their open positions. When reaching out, be concise, professional, and highlight your relevant skills and experience. Personalize your message to stand out from the crowd and increase your chances of receiving a response. [ref_3] 132 | 133 | By leveraging LinkedIn's features and following these strategies, you'll be well on your way to landing your dream job. Remember to keep your profile up-to-date, engage with your network, and consistently put your best foot forward in your job search efforts. [ref_4] 134 | 135 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /article_claude_v2.md: -------------------------------------------------------------------------------- 1 | # Why LinkedIn Matters for Your Career 2 | 3 | LinkedIn is a powerful platform that can significantly impact your professional journey. By leveraging its features and optimizing your profile, you can unlock numerous opportunities for career growth and success. [ref_3] 4 | 5 | ## Networking Opportunities 6 | 7 | One of the primary reasons LinkedIn matters for your career is the vast networking opportunities it provides. By connecting with professionals in your industry and beyond, you can expand your network, gain valuable insights, and potentially open doors to new collaborations or job prospects. [ref_3] 8 | 9 | ## Establishing Credibility and Thought Leadership 10 | 11 | LinkedIn allows you to showcase your expertise and establish yourself as a thought leader in your field. By sharing relevant content, engaging in discussions, and contributing to industry conversations, you can demonstrate your knowledge and build credibility among your peers and potential employers. [ref_13] 12 | 13 | ## Attracting Job Opportunities 14 | 15 | An optimized LinkedIn profile can significantly increase your chances of being discovered by recruiters and hiring managers. By ensuring that every part of your profile is complete and showcases your skills and experience, you become more visible to potential employers searching for candidates with your expertise. [ref_3] Tailoring your headline to include relevant keywords associated with your industry and field can further boost your visibility in search results. [ref_8] 16 | 17 | Moreover, LinkedIn provides a platform to showcase your work through multimedia content such as images, videos, and documents. By adding visual elements to your profile, you can effectively communicate your value proposition and make a strong first impression on potential employers. [ref_12] 18 | 19 | In summary, LinkedIn is an essential tool for advancing your career. By leveraging its networking opportunities, establishing your credibility, and attracting job opportunities through an optimized profile, you can open doors to new possibilities and take your professional journey to the next level. 20 | 21 | # Optimizing Your LinkedIn Profile 22 | 23 | ## Crafting a Compelling Headline 24 | 25 | ### Highlighting Your Unique Value Proposition 26 | 27 | Your LinkedIn headline serves as a piece of the larger narrative about your professional journey and aspirations. By ensuring that your headline is filled out, you not only provide potential employers or connections with a picture of your expertise but also increase your chances of being discovered through LinkedIn's search. [3] 28 | 29 | ### Using Relevant Keywords 30 | 31 | When writing your headline, consider including relevant keywords to optimize your profile for search visibility. [4] Having a robust recommendation section on LinkedIn can enhance an individual's profile's visibility and searchability. [0] 32 | 33 | ### Quantifying Your Achievements 34 | 35 | Quantifying your achievements in your headline can help you stand out as a candidate and showcase your expertise. [0] 36 | 37 | ### Showing Your Personality 38 | 39 | Your first impression and level of credibility are vastly different when you go from "Blogger" to "Blogger featured on Mashable." [6] 40 | 41 | ### Testing Different Headlines 42 | 43 | Keep your LinkedIn headline up to date as your career changes. While the headline shouldn't be a huge time investment, it is one of those activities that requires ongoing maintenance. [6] 44 | 45 | ### Keeping it Concise 46 | 47 | Your headline should be concise and to the point, providing a snapshot of your professional value proposition. [3] 48 | 49 | ## Writing an Engaging About Section 50 | 51 | ### Grabbing Attention with a Strong Opening Line 52 | 53 | Your About section should start with a strong opening line that grabs the reader's attention and entices them to read more. [3] 54 | 55 | ### Clearly Articulating Your Unique Value Proposition 56 | 57 | Use your About section to clearly articulate your unique value proposition and what sets you apart from other professionals in your field. [3] 58 | 59 | ### Telling Your Professional Story 60 | 61 | Your About section should tell your professional story, highlighting your key accomplishments, skills, and experiences. [3] 62 | 63 | ### Using Keywords 64 | 65 | Incorporate relevant keywords throughout your About section to increase your visibility in LinkedIn search results. [4] 66 | 67 | ### Adding Multimedia 68 | 69 | Consider adding multimedia elements such as videos, images, or presentations to your About section to make it more engaging and interactive. [3] 70 | 71 | ### Including a Call-to-Action 72 | 73 | End your About section with a clear call-to-action, such as inviting readers to connect with you or visit your website. [3] 74 | 75 | ### Proofreading and Refining 76 | 77 | Make sure to proofread and refine your About section to ensure it is error-free and effectively communicates your professional brand. [3] 78 | 79 | ## Completing All Profile Sections Thoroughly 80 | 81 | ### Detailing Your Work Experience 82 | 83 | Provide detailed information on your roles, accomplishments, and skills in the Experience section of your profile. [0] 84 | 85 | ### Including Relevant Licenses and Certifications 86 | 87 | Mention relevant, prerequisite licenses and certifications in your profile to showcase your professional credentials and expertise. [0] 88 | 89 | ### Incorporating Keywords Throughout Profile 90 | 91 | Use keywords throughout your profile to increase your visibility in LinkedIn search results. [0] 92 | 93 | ## Seeking Strong Recommendations 94 | 95 | ### Aiming for 3-5 Recommendations 96 | 97 | Aim to have 3-5 strong recommendations on your profile from respected colleagues, managers, or clients. [0] 98 | 99 | ### Requesting from Respected Colleagues, Managers, Clients 100 | 101 | Reach out to respected colleagues, managers, or clients to request recommendations that highlight your skills and accomplishments. [0] 102 | 103 | ## Selecting a Professional, High-Quality Profile Photo 104 | 105 | Choose a professional, high-quality profile photo that presents you in a positive light and aligns with your personal brand. [3] 106 | 107 | ## Using Background Image to Reinforce Personal Brand 108 | 109 | While background images don't make a significant difference when being sourced by recruiters, they can still be used to reinforce your personal brand. [0] 110 | 111 | ## Keeping Profile Content Concise and Easy to Scan 112 | 113 | ### Using Short Paragraphs and Bullet Points 114 | 115 | Use short paragraphs and bullet points to make your profile content easy to read and scan. [4] An optimized LinkedIn profile can help you stand out from the crowd and attract the attention of recruiters and hiring managers. [2] 116 | 117 | # Growing Your LinkedIn Network 118 | 119 | Growing your LinkedIn network is essential for expanding your professional reach and discovering new opportunities. By strategically connecting with others, joining relevant groups, and engaging with content, you can effectively increase your visibility and build valuable relationships. [ref_3] 120 | 121 | ## Connecting with Colleagues and Classmates 122 | 123 | One of the easiest ways to start growing your LinkedIn network is by connecting with your current and former colleagues, as well as classmates from your educational institutions. These individuals already have a shared professional or academic background with you, making it more likely that they will accept your connection request. [ref_3] 124 | 125 | ## Joining Relevant Groups 126 | 127 | LinkedIn Groups provide an excellent platform to connect with professionals who share similar interests or work in the same industry. By joining and actively participating in relevant groups, you can expand your network, gain insights from industry experts, and showcase your expertise through meaningful discussions. [ref_3] 128 | 129 | ## Engaging with Others' Content 130 | 131 | Engaging with the content shared by your connections and other industry professionals is a powerful way to increase your visibility and build relationships on LinkedIn. [ref_3] 132 | 133 | ### Liking and Commenting 134 | 135 | When you come across insightful posts or articles, take a moment to like and leave a thoughtful comment. This shows your appreciation for the content and can lead to further interactions with the author and other professionals who have engaged with the post. [ref_11] 136 | 137 | ### Sharing Insightful Posts 138 | 139 | In addition to liking and commenting, sharing valuable content with your network demonstrates your commitment to providing helpful resources and insights. When sharing posts, consider adding your own perspective or thoughts to encourage discussion and showcase your expertise. [ref_11] 140 | 141 | ## Leveraging Mutual Connections 142 | 143 | LinkedIn's "Mutual Connections" feature allows you to identify common connections between you and other professionals. Leveraging these mutual connections can be a powerful way to expand your network and gain introductions to potential clients, partners, or employers. [ref_3] 144 | 145 | When reaching out to a mutual connection, be sure to personalize your message and clearly explain why you'd like to connect. Highlighting your shared connection and expressing your interest in their work or industry can increase the likelihood of a positive response. [ref_3] 146 | 147 | By implementing these strategies consistently, you can effectively grow your LinkedIn network, opening up new opportunities for collaboration, knowledge sharing, and career advancement. 148 | 149 | # Sharing Valuable Content 150 | 151 | Sharing valuable content on LinkedIn is essential for engaging your audience and establishing your professional brand. By regularly posting updates, publishing long-form articles, and sharing multimedia content, you can effectively communicate your expertise and encourage meaningful discussions within your network [11]. 152 | 153 | ## Posting Regular Status Updates 154 | 155 | Posting regular status updates is a great way to keep your LinkedIn presence active and share bite-sized pieces of information with your connections. These updates can cover a range of topics, including industry news and trends, lessons learned from your professional experiences, and personal insights on relevant subjects [7]. 156 | 157 | ### Industry News and Trends 158 | 159 | Sharing the latest industry news and trends demonstrates that you are knowledgeable and up-to-date in your field. This type of content helps to position you as a thought leader and can spark interesting conversations with your connections [14]. 160 | 161 | ### Lessons Learned 162 | 163 | Sharing lessons learned from your professional experiences provides value to your network by offering practical insights and advice. These updates can be particularly helpful for those who are facing similar challenges or looking to grow in their careers [11]. 164 | 165 | ### Personal Insights 166 | 167 | Sharing personal insights on relevant topics allows you to showcase your unique perspective and personality. This type of content helps to humanize your professional brand and can foster deeper connections with your audience [7]. 168 | 169 | ## Publishing Long-Form Articles 170 | 171 | Publishing long-form articles on LinkedIn is an excellent way to delve deeper into topics and showcase your expertise. These articles provide an opportunity to demonstrate your knowledge, share valuable insights, and encourage meaningful discussions within your network [6]. 172 | 173 | ### Demonstrating Expertise 174 | 175 | By writing in-depth articles on subjects related to your industry or profession, you can effectively demonstrate your expertise and establish yourself as a thought leader. This type of content can help to attract potential clients, employers, or collaborators who are interested in your area of specialization [11]. 176 | 177 | ### Encouraging Discussion 178 | 179 | Long-form articles on LinkedIn often encourage discussion by providing a platform for readers to share their thoughts, ask questions, and engage in meaningful conversations. By fostering these discussions, you can build relationships with your connections and gain valuable insights from diverse perspectives [14]. 180 | 181 | ## Sharing Multimedia Content 182 | 183 | In addition to text-based updates and articles, sharing multimedia content on LinkedIn can help to capture the attention of your audience and effectively communicate your message. This can include images, videos, and presentations that supplement your written content [12]. 184 | 185 | ### Images 186 | 187 | Incorporating relevant images into your LinkedIn updates and articles can make your content more visually appealing and engaging. This can include infographics, charts, or photographs that illustrate your points and break up large blocks of text [7]. 188 | 189 | ### Videos 190 | 191 | Sharing videos on LinkedIn is a powerful way to connect with your audience and convey your message in a dynamic format. This can include short video updates, interviews, or educational content that showcases your expertise and personality [12]. 192 | 193 | ### Presentations 194 | 195 | Uploading presentations to LinkedIn allows you to share in-depth information in a visually engaging format. This can include slideshows, webinars, or conference presentations that demonstrate your knowledge and provide value to your network [11]. 196 | 197 | By consistently sharing valuable content through regular status updates, long-form articles, and multimedia posts, you can effectively engage your LinkedIn audience, demonstrate your expertise, and build a strong professional brand. 198 | 199 | # Engaging with Companies and Influencers 200 | 201 | ## Following Relevant Companies 202 | 203 | One effective way to stay updated on industry trends and potential job opportunities is by following relevant companies on LinkedIn [6]. By keeping your LinkedIn headline up to date as your career changes, you can ensure that the companies you follow align with your current professional interests and goals [6]. 204 | 205 | ## Interacting with Company Updates 206 | 207 | Engaging with company updates is a great way to increase your visibility and build relationships with potential employers [11]. When you come across an interesting post from a company you follow, consider leaving a thoughtful comment or sharing the update with your network [11]. This demonstrates your interest in the company and can help you stand out to recruiters [3]. 208 | 209 | ## Connecting with Influencers 210 | 211 | In addition to following companies, connecting with influencers in your industry can provide valuable insights and networking opportunities [14]. When sending connection requests to influencers, be sure to personalize your message and explain why you'd like to connect [14]. This can help you build meaningful relationships and potentially open doors to new opportunities [3]. 212 | 213 | ## Participating in Discussions 214 | 215 | Actively participating in LinkedIn discussions is another effective way to engage with companies and influencers [8]. By sharing your expertise and insights on relevant topics, you can establish yourself as a thought leader in your industry [8]. When participating in discussions, be mindful of company and industry-specific jargon to ensure that your contributions are relevant and valuable to your audience [14]. 216 | 217 | By following these tips for engaging with companies and influencers on LinkedIn, you can increase your visibility, build valuable relationships, and potentially uncover new career opportunities. Remember to continuously learn and improve your engagement strategies based on the feedback and results you receive [11]. 218 | 219 | # Measuring Your LinkedIn Impact 220 | 221 | To gauge the effectiveness of your LinkedIn presence, it's crucial to track and analyze key metrics. By monitoring your profile views, engagement rates, and search appearances, you can gain valuable insights into your audience and adjust your strategy accordingly. [ref_6] 222 | 223 | ## Tracking Profile Views 224 | 225 | One of the most basic yet essential metrics to track is your profile views. LinkedIn provides insights into who has viewed your profile, allowing you to understand your reach and the types of professionals interested in your content. [ref_3] 226 | 227 | ## Analyzing Engagement Metrics 228 | 229 | Engagement metrics are a vital indicator of how well your content resonates with your audience. By examining post views, likes, comments, and shares, you can determine which topics and formats generate the most interest and tailor your content accordingly. [ref_11] 230 | 231 | ### Post Views 232 | 233 | Post views represent the number of times your articles or updates have been seen by LinkedIn users. This metric helps you gauge the overall reach and visibility of your content. [ref_2] 234 | 235 | ### Likes, Comments and Shares 236 | 237 | Likes, comments, and shares are direct forms of engagement that demonstrate how actively your audience interacts with your content. A high number of likes, comments, and shares suggests that your posts are valuable and thought-provoking. [ref_12] 238 | 239 | ## Monitoring Your Search Appearances 240 | 241 | LinkedIn also provides data on how often you appear in search results. By monitoring your search appearances, you can assess your visibility within your industry and identify opportunities to optimize your profile for better discoverability. [ref_6] 242 | 243 | ## Adjusting Your Strategy 244 | 245 | Based on the insights gained from tracking your LinkedIn metrics, you can make informed decisions to refine your content strategy. Continuously analyze your performance, experiment with different approaches, and adapt to the preferences of your audience to maximize your impact on the platform. [ref_11] 246 | 247 | By consistently measuring and optimizing your LinkedIn presence, you can effectively build your professional brand, engage with your network, and unlock new opportunities for growth and success. [ref_3] 248 | 249 | -------------------------------------------------------------------------------- /STORM_longform_writing_Claude_Contest_final.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": { 6 | "id": "view-in-github", 7 | "colab_type": "text" 8 | }, 9 | "source": [ 10 | "\"Open" 11 | ] 12 | }, 13 | { 14 | "cell_type": "code", 15 | "execution_count": 1, 16 | "id": "c04fa40e-2e11-4f37-ad49-ce59efeb9a37", 17 | "metadata": { 18 | "id": "c04fa40e-2e11-4f37-ad49-ce59efeb9a37" 19 | }, 20 | "outputs": [], 21 | "source": [ 22 | "CLAUDE_API_KEY = 'sk-'\n", 23 | "TAVILY_API_KEY = 'tvly-'" 24 | ] 25 | }, 26 | { 27 | "cell_type": "markdown", 28 | "source": [], 29 | "metadata": { 30 | "id": "ThHUkBux5XTs" 31 | }, 32 | "id": "ThHUkBux5XTs" 33 | }, 34 | { 35 | "cell_type": "markdown", 36 | "id": "o1-jG0lpFHKN", 37 | "metadata": { 38 | "id": "o1-jG0lpFHKN" 39 | }, 40 | "source": [ 41 | "#**STORM: AI Agents for Long-Form Writing**\n", 42 | "\n", 43 | "**Project Author: TwoSetAI**\n", 44 | "\n", 45 | "**YouTube Channel:** https://www.youtube.com/@TwoSetAI\n", 46 | "\n", 47 | "\n", 48 | "\n", 49 | "# **Project Motivation:**\n", 50 | "\n", 51 | "Writing a well-structured and organized piece of content is crucial for effectively conveying information to readers. One of the key elements in achieving this is the use of top-down approach for writing, i.e, nailing down the outline before writing a single word. They provide a framework that guides the writer in presenting information in a logical and coherent manner.\n", 52 | "\n", 53 | "In this project, we will explore an agentic system called STORM, which stands for **Synthesis of Topic Outlines through Retrieval and Multi-perspective Question Asking**.\n", 54 | "\n", 55 | "This method is proposed by Stanford researchers and fully described in this paper \"*[Assisting in Writing Wikipedia-like Articles From Scratch with Large Language Models](https://arxiv.org/pdf/2402.14207.pdf)*\"\n", 56 | "\n", 57 | "STORM is designed to assist in writing long-form articles by creating topic outlines, discovering diverse perspectives and simulating conversations with topic experts.\n", 58 | "\n", 59 | "STORM can enhance the pre-writing stage, resulting in well-structured and comprehensive articles that rival those found on Wikipedia.\n", 60 | "\n", 61 | "# **Project Scope:**\n", 62 | "Due to time constraints, we implemented the method with Claude API in this notebook but didn't have time to implement a UI. We leverage the framework to write a test article on the following topic: *Building A Powerful LinkedIn Presence*.\n", 63 | "\n", 64 | "![STORM process diagram.webp](data:image/webp;base64,UklGRv7pAABXRUJQVlA4WAoAAAAIAAAA/wMANAIAVlA4IFrpAAAwugKdASoABDUCPm0ylUgkIqIhJPM7EIANiWdu+F8+UYIK4vS6KP6HdxyP8bz3+u/VKaXvMjtd1+eX/c+rz9N+wh+sfi3e8/92PUF/UP8p/4f8/7x3/P/aP3ef4f/Y/sB8An+F/uXWqegp+vfpvft78L39Y/6H7ifAx+v//t6wD//9a/01/o39y/Wv+v/H/41+ff1D+2frl/Yf/X/m/an8W+Tfp/9t/zP+J/sf/q/03wUfvn9u/a70g+qfy3+N/0X7ye5P8W+r/2H+1f4z/Q/2X9t/uV+0f3P++/43/Uf3P90PZX8s/aP8T/lf2h/tnyC/j38e/rv9g/yP+r/t37v+4L/Cf5z/Q/6L/Mf//yg9B/0v+L/yH7j/v/9Avqh8u/wH9p/wv/B/uH7x/KT6//gf7P/kf+P/hP//8kfpP9a/yH+E/dL+8///8AP45/MP8D/bv8f/y/7z///+Z9u/5n/l/3nyaPtP+d/03+E/IH7Av5V/Wv97/ff83/8f89/////+KX8J/v/8X/ov/P/of////fiP+bf3z/i/4r/Sfs5/////+gv8o/o3+w/u3+e/9/+W////++7H/4/7733/t3/+P9b/y/lE/YT/5/5//Z////8FuodfuZoi8bqREPSahZFLEPSahZFLEPSahZFLEPSahZFLEPSahZFLEPSahZFLEPSahZBf9470e3bt27du3bt27du3bt27du3bt27du3bt22KVFCaW5miLxupEQ9JqFkUsQ9JqFftXVgWVKlSpUqVKlSpUqVKlSpUqVKlSpUqVKlMIig7Lh7Wk1CyKWIek1CyKWIek1CwGK04BpCsgyLd11111111111111111111111JubPtyxD0laKvvH1jWz+yBRcAKGyjzxqt5ENHX7maIvG1eRQK+WZ/tyWafQnhBwdoB2DVASVyA/zch6pIEDm3/UIUiw9aIgxmIwrIm1MWsy2HNyxD0moWRS2206FkUnP1xJfR+mkyVjyTaebXkhfefgVBy4GzUNzF5BDC8/Kc7XIQdaaASqlDAW3fOngmCspfKuaNHyJNzmZpxykvmH2LNfJ+PqLzuFEh2Wq6fxe33Jd7UdnVycjrwmaOIWLvVI7fEWTESRr3ASklF05xIk1CyKdW6fxVaJe0FXBAO4xAWQxU04ch70PDZB6kAnIBJ5QRnVkfPVHDHH0V8xoZKgilpM70HlM9j7VjiwhZSp4jq3focVSwnnFpBI2oLzyc2EpiFbawSLP1oSMzlpV7aM0GfqUq/N7ZZJD0zGpiejq/XVMC2hmoT1C6i+AP1C3CRitFM8WERpkHT0rDQgK7LU3ItmjueSNZNUhiHbSamQkRD0SzALHigERZObgyC4tnEyoztwm2txmXXSihkDRKkz2V/LgkL782EBCjQFeT3ufpD/d2CXkSdvqAPgrwKs0OXM5F5b5doBweEkxJ/VXw6AGo6lvKaPoYEj8l9QfQc++OMzkHaqoLL0B3M1TPyOjr/LguRbl8qDtuN/+ZbEXY47pGoWRT07tHQSbBR8C+jOVTRde+UcS96h3PJhb2ES3ovEjx35TgJ0obc+hTnoGaIgBpjjyNt38SCfNWtvVL/bi9OgyNhwAABaBF6vGtaTUGdLY23fryglzbBOmhWSpCQbdt7OlQmE0x8cUedpiG6H2FTSvJmeJvutSh7K2mnt+nr94T4RdKhHOTSoZcZmbllJEcVuM6Rw+iEHvHeA3NCpHUDTQ/tvcSYrWszk37RhYN1XBMY7UMRCL27iWK1mWmzpACMgW0H3UdaL3PvfOphxunHEBLyAk2uf51jOZ5SzVX8C5nvRVTUKa4TmWvtxs0IkC9vXPZXZRLBCmyiv2WYSFTh1Ii67hBFLERkmfAR2XVdaIr/5a86dTFbPewbwSFbR0d7dAIMRdwBWIqQsOMns1ld4910N9JLFDK0h17HXRtLDwEXC8A3jkK1TB0dxPSux2JJnGL2h2KQCFmaXID52BqVYf7sY6xFYJR7NLOzSW6kQN8090nD8HuRjuStIqP1rg8JEGxDJ37D9C6qLAwG5bCkXpahGUogOS3+4XlBfGqTAFcAjFfxZpAOWm5XdsKmqthmWrgdek2smrgVBe1ztO8tDRymf7co1t/VGk6mK8u44cuGhe0sIAVvHNaMKWBvosr3a6MxRLYW2B92Js9wW5SmwdJwraMKl2Bd7cSa00i3B4EMV3ALPurwJqiWTk4L0rU/rNMfzPOLp3MVI22oSxz+dy15iq+U7HP0snzOICmlPHO52gI1Z626c6s0Bj4kftyxBwwF3WYuJZUIidmFRmoI1ivp7EM9n+3LFLsHfccGzFCYN9bZ6Ha8AAIkkgOV/gEigGKOkL7ysE+dYnhU3aJeUhdftydUq+4irW6vzVaxOTSmUVSohSWaexf9/V466AtH3srkxCV5ViRzO+keyWf6TA4UeXoXOb+S866KWjWDroID1D684uSDP/Rsw0GitPwVnqnfhISatHX7maN9Ty49+oKn8+oQ7z5MsfOIZxVWuNuVxvBN1IM5235mfsV715M7yDYMxFpdqJwKZNNiSPLhgE1xauy4xpb30SnbfhWq8nIH2GU+1gE1m5e+KoFClnIQyvG6kUTPLF1IgyrqODAvrHmKjQmx2oubDubzB+JdrnC1m+Ov3MzW/bFZaHUPJN6HnUFtN2+T0OmYh+XaK5qtYGVJatlucIljqzmSKjmetcde3vE6dRjpBQnsw51k8Mgp54i8bicTtWWcReNknX/fF6AyWg/25RrbbxaEwJ2fXCT/MUFWn5+QV3t+2lLye7TVfCuDAvG6j+cyNtgVOdcDoZwD+nr1643Fd3GW/oBhgA0atgd/7HhlHpio8wD2TAk8aFXLly5cuXK1pxFYtmQXStDq1asyYW0FL2oUXjdSBrb+vTJXZuv4qtJVWwpHudtyEqbKEOGve5IqEUYiSD9HGZ/TExU3HaCw19+fqiSIdS+fKXylS+TZebPkzZi9Chcf4LPmb+07V8GgKv27h/mCAOiSrwgU0+qmy6pKRYAzNF0xBwwkYR0ZBBBURH9kBYh6S1pGFLEPSahZFLEDVPuopwoqd2BlLbtLk4GzJWVc2lRe+kO7ZXhPhbIq3nedx8xv49QsilgM7Z01kQpUwpm7CuE+ypkVIiZkOhN8ImZfUdcsufUI0ZBGkSS3ZtRwzWdPLw/lQ/FVpLWkYUsQ9JqFkUsQOnLw8W5rVKEHwhxvI+QatPIko4mhAaB4kK4yxEeHIWmrB52ZCy8wHAX0dHQvPgnqEjCoBQ0hJIuQo4RRR+Dwa/MxsB89PgXR3w0u5Gji79geicUMa2m2IiWgaBZYh6TSW8rSa4v9sKtJgJ57CUn0Ok5yQK60/LcCXTfI4oFFkpqONqwqv4ethTNrQ0ds7OTxe3C3D8vBmCiCCFLRQsi9yNR76+KrSagz3pJU3bq78Z4ePRB2EOusMX6+O/whJIvfuMKdX0Cwci8bhmpHo7Ns8t+IDsClGrA8JYUJDGZTRTjIo3cmSJ9XcceMwiREPSahXQsAyKSss9XpGnVAprc/ww6RSQm8IXwLndPOaBeY1uYaAROs4Yy8hKX5lunu6CijejOIKlCoLTufuZ5VKwISUJFG+ZlSE3C8svSKWcyf+T3NzbLj/W7q1AKgmW436I4ZYHJEYVWk1Cx8BMymhIsA43yFRBjYJtUw6ogyDtFVBAgyUPinz2BdBJ3XmSZKrhr78iUXdOjiq0moVjQ6ndWXtAD3KuR1YsS/uE2HOfhEr1GZ5qatJjbWMe36Ox3UPM+liBMU3EnbigzvqKnoBPVvy8IjkO/xZjie8Uev+lftRwE4HKMk5asZzwYAsL9p7e+hqUUGdifdO1OuWKyI6MmH7tw/72tEsEY96B6/L7BVAq5vPdzlRqUF85YNdEBtwkJ2KAesJs+MC6ya/NGgqBSwBRzKsjZrGvdAO3Qr/HR6mFlslHdcZXsZ/GHrn6dBi1+KCPXiKrSahZGziHpNQsiYvoeV5GymFrYkiviQHHQAEfdZ/EAURMX/iWzRo2K3Fw02keFKWFVsORijsEr7eLeQMyoDhHulSqgbw/y2PlzI2UwtZ+OV1GiPQIjAj3WJqDK0cvPQz3nUH+3LEPSahZFLEPSahZFLEPSU7eLKn6ah95JcnLjHncmem7I+W/S8QGo0XUiIek1Cx+3cVkTPOKoC0ltgfxVaTULIpYh6TULIpYh6TULHswbXr+pWNWyeIsRbrpBIxgCdFuxQ7bLczRF43UiIeko8LTICPb7Yc41S69fY+csQ9JqFkUsQ9JqFkUsQ9JqFj+gsTTdDr4W6PuZCDKtNL+Nu/6O9yv8Y3l/iPC1TP9uWIek1CyJm0oeVXEBoIfDlM+zNdTCIa/+eyvUQlnX4nvKPySJb7Zb9zNEXjdSIh6TULIpYh6TUKx1T42MyNucCrVp9irwhNvczRF43UiIeh1Clx8PdzHgAXEHIkWz3ako+f5DfriqwgCLi5GNPSahZFLEPSahZFLEPSahZFLEPSahZFLEPSahZFLEPScEFipEQ73H+nT3liN22tC2vsy3MHaBTGwVflfOsdEJ5G++/oFH5o7jZavF6Pg21odU93x5co1gLTT1jEs2TVVpt1KTtGrmjDbhY2fPM9mZsyka2MdNKou2/ZI/ZA4D89Ed0UgHxs8bJgW+WjxHIHjPTLEniBPyDFD3w24USjuDjOVqDSsfFkIZ+vKQSR7TROZkolQvgb6Y0vmCt6dNZVl8rfRNhkWbMFJ9fubNaDMSVVvajyf3k0slPnWOW5BL1QHguLvHY0B37aQ0Zg7HwPlHeSqNkM4++diEoO6HxjQaXHTKCJFtDQmg4CX9Xshyo6iMvQ7S5ioloRYe6XuX5zkPrZUuVHVmMM7ffynFLxiNraH9ioGY921ZgHaCgua5Pt3WI60e3aomjNBScdyW9ndbQb8gwwg8K1tfXOiUP3eS3ZY9OGTMtT/qvotLqDxNhFYD0RhG7DIH+qKr1DW9HpoTaJDjceLtMEzQmp2QKx8oToXP+8/hFzZ/HsR6Z14Eh7KyDqycXQNJPyOOGsvD1o5h5NwFxPf0F72O2jPLK5omSxwIgg+uHV3By8CtJqgj0kizAEJHW3Ctj9qxBDni4yGfFbNjYco/L5GzmrrcYvq14L8rIWwUnJOPf3RILNHLbaVbJRT0bjDkkOdFJqsVKatoVcfyXfwv2WdOONr3YBLtoriKovU/t68oge97herZnA8JCWQLbiTbkwMCjh9hrs9ElZ8SlxPOrKewIqM/560SFIx3pXM98C2NqSGKZbEwjilNRqAj4CZ6dpSh88fg8HqFvUn7oaKDpGNEp5HKp9mF7NZT3ShNc9p4Rk2u2ZQLXIkes7dFFf1k72E7IwfkFf5oVwrqLJDUuejCgR5cxO6DjFUFKHO3g7nENUiMUHIdGYzAaRd/xraIIif0/rvdy/rZTXBck5jmrLFZ77EgJS/Cx/s0u68NygHjBmxzZIzl3BhY9vwEZs8jtTe1n7mT3ch0qtIpHhsIuzWuEcgHzLj7ILyVibCNuN8QJpiOZI7UTDMIbZoVvjyJtQsb6Q1bP8rKje2wuTUqGxSkbmORln6jw7fqfr9fi1giR4GE9rU5xyaqKu2S0lIbt/7nfqGNDMMsVBmksP5Gh3nKaLTw30a/cNN1DehCaZXgTvTdDCy0IWhbhBjV/kWYIj1F1TI6PW1h4jR/cfyMLDi+zLeVJdQnv/xfsjL6nGW30VIQvArjlgySXx+OSsn9aiLKQ47xDBltGeS2lrH0E01AvDyhuG/WgekEIw7SeFTiNTEt9tb15j2vG5/+dV3kBokrqAyBUeim697YRLrfTipkATEfM2cM6sNwwLNJDAv1cyM1waE29d0mXSo2MXOc71IYJ6Ccxyq0VInK00NphoXt9WMyKa4yW00n782OunntWJ6SQdxNC+B0eHCkpmZSJU8xhp5wLjpwiRoG1jZKY88KG4kGP8Sg3tIc03fCorGDVGOnNfhPyipVen51cbWl9ZPgMoj7MtCi0iLumqjIWUpxp37POit4xTWXEPAk73S06uXIJaUwbmnfSt2Dy6f3Nk1uQTPyy8+MLGcBPh7lVddhPv/V0pqAIRvNLCG8W+gEgVrF6C/fq9MTPdi56ITij6vf1VfOAK3UFvnl0637jE/uIGcjxBljMkKUQ4O6PjGH01HCaqwgUA5CtwHnX08VU/qTsZPbf8MCNiWlP6LD1L6fv3iVkeXghrvkmnxLgDRNNEsqvcaHJyI4tRgJ9KYmiiYQRJZLiseX69kxK7syFOw8crSni4E9iERMXIAySsPQEzQ51F+lE3YmCJjnHaD+fHhq0xgsUbvm4VeZ2bVqsyGgLWkqejxN0FuRZ3XdDFRVCXyrZ5KttcetyGKjOVWEZ/AVc8O9o7xBLvsPpsZfBO4u1gbnVudyvcZVpyzl95w5R1OBBjC4ITt60FqqlW/Vt8AV+/ZN5Us8fRZ5aZI4DCsZ9WkvBey4FnoDNDCNbadWGiPtvHmLI4Q6kk4Oqg/9G9zgiki4H6B4P0erZvtHoIHVWTRngBt6K7UqYgjC6VoJnYObEbkISjCrKik+Z1I23B2mPwoSBR0KE2hN10RzLO0lvuz7fTbe3HhmUfjHsLauwrLTYtcJKVzqEbUJTYoFDonNRRcpMcPSN4VgYkf7FaL904LnUE+5hdKna9GAdE6YXV12dZd5jIG/1pVSnhSp9RSAZwQJHROI1uiJpYwXM741JrWwxfOvaAhlDa/SBQ26Sn1AlCcLodQMCPYU7kSJdnIBcXkxiE/4jv1C3aOIA7VZevEEieKPmlybGqNBE9Ogkkn5Gay2hpIcTEFFybRyh6NBSa0IFGKwa3HIwCf+8cDwXmRi1FikjYb8VdcPdQKgAWUuEQO4zaVocRqnngT1ohESP4bRJ0Njgl/Y3+yjLTfQrBTXDEIYT8FbdiBzH/mop74hgz+ITYmuQQgDk9XsVL0ZLZjAMhDeEKmuCHKb4g9/CUQU5yKQq51V5L/7CK3ikTbjAqO/Fzcq1vkKcmhjpI64VH+20wddrGvetbX774KG1QDbPjo+kTtPR83VZhyvOySL6nojRbZ7n/JG7LEIES9T2t93yRW4fhOHzzBUtha++S2yl//TsIyFaPsZBDgcqF1fn+3LEPSahZFLEPSZVH7Sy9PgeIziSqxe/dEytcY5bYBFXlAxi7TZiHfCNBOBr1YJ1sNt7+NH9EFEfGdvhbxZx+iBmdZVF81+2sTlOakyOJ8ns613Ow/q9Jrg4i0cP/mlWgGLsgbEl/mCBYOoe9Xrpw/+L3iyWX//N2sVBN+kzO//dO8XAMrFaZ9FYDxynpqjlmOxojSIPlrRZ9xhwjdIMIkJILr9cdvcx1Hr9v6MbQzv04GwvK+lLEo2v8YqtJqFkUsQ9JqFkUsQ9JqYrnLEPSamLFkwaW/h6TUMhUiKnQnnF1IiHpNQsilh/gAD+/36AAAAAABB3Wy/vHfE8aLpngAAMAhbwAOadkV4Q13ZA66jYef4efODG2gkNUODfwatMaHMCZqmRNrkYgv8bAnf8w6LnROclHSjpR0o6UdKOlHSjpR0o6UdKOlHSjpR0o6UdKOlHSjpR0o6UdKOlN3KUgWzE0xqNzxDlGZM+wNTiAAUZbSRrTrZZsCjxteh+WmKKAAAAAAPCe/ZQ0A7nIJwS1Lg1Vu9+UFgBNSqKNHrxNo+PtnjzcLMELYinJ6+0aGM0Hob2ma7s8tFHYrWwwBHGv29jVSCenqvfAZlxrLT9pOJxppAtL6mxUZSZ66exjFK6TqrEasFWpTKW5moPGW9whUFJESlWDAHSTC54iHP1rSlUHpKp1mu83r/iqH0yVJyWZ91fYl5MCVPrJanexqhbLvI1tbGtow2C9Rm2G1O6JIWOEe5C6mcuSKLYdWEF7VVYE2IhsMTyWMif/TJyWerT+SLO2U5InIpJ9C7xNXc6z8a7SIrIeHr3SbAKK+g8k+ZpWPVYY3gQUD00QeN5AbJz1ZWXps7VuwKhkntctx1Sl+gLswGCu5n0bo/sqTw2l460wWCDDriqCgTw2uQxrhizOql+pm2lqBxQ67PgoFhaDmy6cNsPwlfvp9O4LPjBvkXyAY9+xKn5xQaf4P5X5VXW+mqUrTbvyq5oor9SM3p/jfSBfaO2gaX2lC6ILi0s0QhSwIA+/79sbDdQCQAiEpxAluQqseqI+EKd/3fIGdE8POSe1rQVtfvz10b7QMZwgoSu6VxDwWQwKPRS3pnOtdgygfdQCZsPLbsbGpfPNGykLz9r0oqofk55bf87RHyWLrTvam5gnU3Yr/0Vu0VWU/OoNU9cqcfObvOdx8f73dkLJF5ZKgodejGIs64RfFo+4HtvtXnwQuvt4yS/qTOzLbn4qnBpjRkBjUaP5I02Oe7m06Tme2/+/kFO/kuHAni9QOjpPWjNbXsVKwhbdOecAERJwqfhDXdgnU8ZRhXFwD2/PuQfW+RpmWwvjkQuDhle2chsP8A5wXtmPb56aaxonP4WV2shuA97/U+1ql8xkBoo/zdU+fyLbXTAdG2P6SGqCHFoc8OaythMbzF0tykcpwYdN8fIgWBsdvm4qXmJWQve7cJ1su2xCGEc/ru2+RQihg10Qg/6Pao7iCl5Wzd6QPvpkgOUKYMguA4Z8xlrghhwDCa5vfDFhe9X04OEp0pi9AU/YY9Nhf6moYq6LXWL6Kn9V3cSB5o681jEm5OTb6hAHhpWepRjRU/RPuxzGyTlWk3X8/WYzwblP5m0CpM/t3Cr3a7XUvzS2j3KCfRhwCoaf0TB9p6WYmoMdsbjiaWD3/D64wMboOEeb8vb7AzbKdzxvCK/Vg/Y0gacGf8xVXXa7QXvLrxMRw+x1N/w9JukXS8At0qfQwgdvm8HTVMCiXGt8TqNYr1PRRayT1UzWbPqmZwAqN696bm5PwvuwPhIDa4e6ZMftM4zpUj1UaYIy2p+b1OrivsPQHM2WSzRP796RDRi/7bd/qU64XZ0foKu4Xk5BersRzxOYO5RUDcGh5z1bgAw5GIyvHTrneVnlrd283xVZr7ZBbJdEaIH4Ym9h9tahshF61C5KWDyLFey+Lka5u1s2kLm+LSvcfITUk0v+wlhyI8T8NHK4tguF3KnMdVvz64YcpSYg0S3b7objM0s6ic6nuWrhxnMpDgYVS5XCaEleq8pCmKgfY0ONwFgSjdGpoZtSPJSVXYAKm+nd82vFifDDZS85Lanh0JN55zUbX5zu9jTT06QEKnvyejtO8nDsEBQAbexLMyZ8eRHbiHVnlKE8Dyb6Y6GOtAMWvJIupG8MIUzplScvIzHvRqjseIsL/PNDHkEuPvFWHKN5q5bQxG/EG97ijKUSm6byBJipomst/iY6MPtgXjMqyuM6hQbTslfCAwwhwAYCNUmtMAx8l+imhUaaggCvyPDsgAzzivbGB7iNy/l36pWE+pWMsr1nKEnBmlUvEIHfUeVyz45V/fC6A2J+2PkYCNJHzMvxh4C3UWwLrZ7PauOidrh1mtCdh2BCTWVPN2KrnatkngMG4+gbS/IT5NEBe+VMo7YhBPoQbavCXQksJbHsOn1MIQwHJTI05Rsk0zfEks0vnn4sydOJsQwxf7DjiICWKQ9iVpCCqThNE8xpiFoisbgbiCGwz32/YVnOK1Tf+5M+Rqrjoe8gHQiM74/XwpDr4O+ytOh22giZClv9xGNpEnVmMeYec8opiIvYgyb0bgIEb6cUqQElvmdDEFrgRNwl9CpRqQ6AgZ6XPl0uQ+kUOay2XivZ6dGyl/axIRjmWyBrz6U9w3Ficxq140bDL5fo25EubXrvNf38G3+KvYPKtlNbkupGnoK9iuen2XaahYFSFH0CPCrYiOyPQlwJcF9ywCKamLJeBEZz9H4CBX4dgBDoYRf/HS7YxATNUZRvxubDqwS3R8to9aDuLaT9/MR2/8TDO+MJDBisjMxqzqehjbHwpAshwXoOnH9j9FeQ8YevCn/C4c9Omt/v7nhGzHeyY54d4/SAP4UaowxVf8+zW+eqlvIFUNv/kJHwJUoVl0AMEegMAkmQGshNJJd4iC25lof25ZhU6PEPySMCdYr3YYhZ4bkRDsaOsSHVNpYLTQ0vCxTldZ+jVe3GWvNrF66t4oPrPl8TQZgW79y/HM/cbChKGwcksB/xm/3fmDWngiarp8talAbRQFODS+vPJGoohj2yXbnziubS+mp2unpTL6tA+IFRsr0AUxyGzO3MAkg99VrkUyu5zIthiL99CTekT2Xi/2iVHEQyS3Lp91FGjZBGpG4POrZHXK+G9Eg8eG8tJH/iYmwFsViXx1Dm6xzQCUMrixV0EiRnPVHmUOKO66qw1dbxNRN9rFMPMMPO4NAE0zxFJboaQyGtZap8h/YfTQD8wOEKNJ4H8hAr9mjkDRnCQtErNDc++3Fi911pb7Lll9sK3HJkejWSXX/pl4LrntypUiHYylCn2aP9Y8GC2fs3asDLAeQS1Qh+R3bq4sOynkp2B45QVkyhtzzoMrcXmYUGWvoadp8FMGgz8TcQTOsA/eY5qMindjjHVCLidnYlnVI0n7FNuY0lib9+hZ8a3WdC3vlLtTTtQtcb5u38Ux/DLeE88odPhnA8HW7f3HATJI/EsBiVPF6CWKlWbIexMcz+XPeSk+nQi6RjDun3yomR0m0ItV2jZj+3OgdMk1hDOymku2fFIT2RvZ14x7UjXWl2qmGS1XQ1gfkzz96bAUDW3g2C5l5JDB0VfRmTNP0GYjgOXZ+3uz79pnfqjwHyGIcIRTXKzMRcUUXUp1yXYHDqg0AQ1GIwogyeW4meXprBPUIut3Ri+zcJeDuIPy0C3xaVoJ5No4sVugVhsSdJpTTI1E6NF4/ePQaI7TwbbX67YuknUw6JAZQn0dku7UMUz1DuUk2gxbbDMsG9BwIYddK58fq7W7LsVwaAMYXuqi8udaZgWbA1xwV8rKiibzUG32JQzxVAODxShIGg92obasTeQWjkkpM1Xivak0csh7GqF/k60DPuTk1qntYuSuK+DPf7ovi9S3Sup0ld7+BtgiW6a5Akp+nubszDpVRxOe+LWbnhuf9qoJmRjvoJrIj6ZaO/grolxkJGanvMH7UWgbxYUeBBY8arTWZBTJaLQzlCViZmwoaolIWtcrYA/fzShGjqsg9vkalp7KPFhuEqF1zE17cjA0gddfmi/3jT9GIi0vR+3r+Mte20Hb5KU15Vi5CHMeBdMTuiVUAUXOKFQvXp7XHYx8H4jMiBMxYcxHCjVIsQI+Fmvafic3r7Pcf2T43RKa4RFQPA6G25EphUlGdPTMiZoF7gxwLNvEdks45jZjWiGgF69Y2jH+4uWAt+4sHvFGEPZ1Tb+qafOr+fPtWT6VZwautiAIDsd7Yl35pykdDIRsWkI7e5W0CqQU4HWYCuowBhlQElB/1OKzCjdxo2wnpFCURCeJxVh/87x0WThAGiTYUIW6/vPwRw1yeKmFbn5IXiv1AR3pMHzOinG+GUJ9OqsDdQpHgj+xDxDv4MHWw4Tdoj1DKmfpvYKAJTHnIqcDjAGnPI6NaDRwOUwswDBkmnWmCQmw6qGGgeUGHFGwy2fbqwJJTDehrBL6K9nW+y6hcbW5ifmAN9z5/t0DWXo89tmJlZLajcL9wphy5dzGYIJcx9S1lZk8023dNXWzGFkAeeshpetv4gRlqQvxdk7heofLuPH995jZsAtCnlpSSy5Cogty3DLX2JpJ9h3K3iAmcAWFwS+rJpHio5sRW3W180TzNbhqYqYKJhsgPP8bplSSW/hjVTqyBBqd8T89aV6qpcE9dTPe+KiW4NmwOK845NZao1YSjGbVhcEpFlStTOyaPokLeyjwqqNBfR5iPPsqL8obomoChIwQ3k3xFxbdlbwWUts577X1KaAkHtpb+yYC0yzbAxv5nJMtGjdwM7D9RQX/NtgznFMVzMFGbYRNZXQ7N+ywH2XDQyI5OVIv+jBKAXODS8P9U6FP5TQs77hoSAcyuJSzsu/lqTtCBVP6mUbp8eYncMaUg9XmHKVTU7EQ54CKwY7vvgopTOCeKToxeo1CgXQHR+RNqMYCNmHIqVX4iL9KfMU3K9sJWT2NW9uqOsBF31iU17WxxBReYhlZQ/GQkICv4ZWg728czUHEe8RrDAeuVSgYpC2wH24p7VKA3mnJB+3JbNeMzUDrFWzrTtBQDmn4LyI2ke0fyBfqTs3DVC7hkWSJ2NFZojmKggO+Qw+Ll3P3QyziHvC8brs8KMUHVbur01jG86mTOuTP6+faemLpdqGn7EThd66RIJ1Gm4Jj0kKNgg+Np+bA7uzPyuI2jOzyAZ0ZKOtn3X4tm75VgDMTA4tsOUW+RY+HPBW/0TCuw13g8/dPvynm4kQrBE9XIftkfxP4u06FRsy3hEbAKJmf2a5lbXtp0kjPeU6JTHBpalOyCnMPlDxnpv45PXsgKlGYJXqe4UGpZyZlVv/yZLmQMP+rOAr8XKCr4bGPm7y8WHY6muyIFWQ0/9YWkrK2M91W+tHInn+KaNT9dQXBfl5yKav0JaTJWqdwNphHYjm9G/dWpYUinkuP9k4KqwFptM6sEbsVvLJb9G1beDDFsrBy2tHbIsPsVeS3O6CFJtpENCX5GK6ePTX57b8kp6itOP3xrkmojMgVmzdStWiyHbQWkhS9lHYCRHL47x1DtrA8/nKZlsj7YLxjtPobW9qBFGGcysP+Z48diotR8n7TGIdJiv5biYrZpG/tHeHnt7lzFLTYO0nXOj5x1QSTxhrg1lJhvY/EXXHbFpC1FS1mm+vgrlQeaYyoGqnL/NJeYD4sdIq3DbLZDhf1RFtHHsVyffI3nLRzrW9GkeOspUhWYktEHbOE3Y7vVIKogMwokInKrTvgGDPcfn0fsWKNL05JSuQ7B5L1U5L3eRMGomWb30IHyV847WXMjUYGsiV+s1dJFA/Uj9mIj+Rmtc01oYJXyyT3/VgkLxSN0qFJs3x4FXKZ0pxMYMgzP9U0omcgPSKDcG+iubBJ/16g0j/sjJJv5xf9Niz7bd7T2NssZChOxVxELN2Gs/ath6PvV6LwZPMBgsJOPuVHWnrorybPWUpTshZ1Xtl/H2GTFQCOCZ2M+WfAaSK+LA9NWTGkRHmAHPTNHiOUv8qrzkrVxKDHDILJuqWorOkxQwX4eh2ACSidtDeM0DAbpQfNKq5wimJyhn1es+G7KToYK50tedC86/vrd2roFfrWztV/8+/ZRVmGFoKVs3vR5wZV2i/0HmMnVgzDpRks5uUUCQFW7co586qWN5hBeUWWY7F8mFHhPZnp+Zxpl4zYpRFPRP9HWgoTljontKIOANbeBoZP4CDMsx9+9e4tMbG8u2s4iJ9d79i4EupPVloOnhZJ+6FFts78WfgQhBTYtAX2CMYLCddUhsIYa/3gI8da3mDXB7aMpuYGgNomJtK0YHT+zjkbLCZ83gMXyY8ri2jsrRzCVubs2aEAIARQnHebBme5GfFmC9Ce4waibw0Nwj+eiG5WIoMk1AFCjAE85vvFwkUttTyORz8iNN6c04+r49pbTD+t8U6Jmxd9Y9r/W8SmiVrou4/kirQXQEfWfWqU10RySrzVcWPZxraraRUeF8jBYMMyvO46NxR2pSmXWByAhB48+FGhZOXTXBnepfutXs3qwF0QdhfgRzgvei5YH45qNWiZgdR8ZOsQFU5QZTtbnPBZGqImkLx0BtbbHKPPG3lMs7OnX8Mczlmwl9yqnxlLlW5Uxq+jbV6NaXm8G31Th89r8KhmEPZIBd+CeXuLFpQ+frpWRmnPdtan4bqYsmr6tqXH2OkVHrary3EevR6sBfMGbzPPR6aDpb2JUZNMibreK4mL/RJY13sq7H+8ySV23YaU4g9YE7j/Gr1r9HrfJLwj/KcwFwq6Zby1o7lHN4IPAaM1iz3qAp2EK9aRtb9g7/3gxMRhIwrpwZV2ZtJZTjSPWqOenXr9/mA2lsyo26JgNiwCMx4QTAY0uvOcGo4Eh5nHp9ywKIjfyqrIq4PLfPKTpryhiBePRFkj4fFb6q8MGfzQwUMLPKRnc5chQOAYPYOy7gc9m5fw/Ovq52zrvr+6HIZpC2QVw+xkCbtWvs/0isSas3Iz1/3wRSfurcD18w4rt8yT51FR7HQKkFHU4Y0PRFq0pw+judo5epAIA4gkNcDQK/8CDLiufqmcZvcrX8UcK13ZAPz7mD22Y2hXpqvOWvkFCZVJwWaL8ACfiOrFFLAhYJHicC2IiHXPRtgBNtzhqzpUFtsUc6Bjzc0x64U2THi+/isolE9xLU1Qj2AfDzkx2QT5py9UVNvUDH1ye6/1y4mnAWssHINmMoYWuC/LF0Br4IFBsr6p3e6WJ9YyqMbfOkOATvdIfNJ9yYLuSfIkHR5q9cF729hSekvNg2hIzVlup4is9cYYND5QJ9OK0eeHJT2xK9ym/EG4ARSWBOOsPYylUNGEvhKL3ch86dbpyGRAQN518np6chceDhbNhvrCTFQhVWBNIiB5KhNKtnR7b+l+uNPionEIpvU8/X1FTPldvncTlVlwRn/ESl7XrbWo69vBKWbKwg9Dn7TxSvEoAZwIAA1zi959RBjOy5Ghk5Um6HYgQkxaCekYT8UiA+JOAaEqQDt71pxre8Ce6iNtCoJR7sjnaQoNeT+814F/lgrA2wFpoFl4Fbn7yv3WlyhwpkPKAV9gA3ZcUKckck4pluGDJ8r2OX/GS2QmvImhKeHFX9N5rIVBTXESF4yy46uWU+GuPDBXNRworY3ce53VT163AeRJcu+b+8b2AZ3OOKBQ9C8VRrwA5wRBjIfMlJJVn5nf9IRTR6tgJ3NlaufC5tXO4Yv7UyfHGDosBx5X232TiTlMEV+tIdHNe+4wi482idguTkUcM+x2BKKv2MyGXPOua/l2ktYPYhcrcP5HBGTCLB30tzeEiZoyUOJdWQf9nUD+gwms/3AN0pqmId1YS9mZya73iDoPwf9l7MUJcurvGf2MdWGPiSmccRGI5eDKCrbxWut0Sjj/IvQte/XSk9QifpB6IwkI4J7vZ+zkqyISk8JGZmG6c+Vz3iydMkrbui2zF89MZlWpw2fci2Gyp/9nmiTOQ0kvhCDZGqr03yeI8GFOzhUtpZ9M17cnkeK8LHka5cLPE7mlO4gBdtofZKMPb08L/nylZ7A7L5wQXcg6+063vjHTilNRtvDOld4AHOPZGWK6Ne7YHl7ZfPk8eGMaHcKNXfj1T7ytZeBP2J+0oa38aWzUs/NNFgToNDUQhvJycf1dzG9jFL/3/nSwz1Jm3C0O6S5oMT0kODSOE++pEEICZTuoujuQUO2LH400p353VpYB6tUpvvHg4hkr/YbFKgblTDAxSZ0YmNFqrSJZGthVb/vyyDYSggcadVpgQYyib9rnBMQ0PNsq4QbPveSv0EaU75Dbr/0t37ke3P97XwFDU/gL5K53JS967QEJZaqfhzumzbBdBsZvGBeiHCGYgClz6/I9Q+/z9bjJ1whAcG/RZTWUYoCQNvlwHjZOXXzQ2L4b8yDkkNsI9AY2McbmfUkLjpMEE8Y6NfUFWn1Kk2oXu2Y8RVXs3m2RX+uSWc7wRO2fvhStBVN1CiFOIKunPsLNeqy+EgkT097GUTWKcscpc4JUIt/ksRWq1FexnoVOV4kzVPO+r2OfVHe6rsJlornJ3f05+D59rLvlQlRsXFGHVSc1tOJxif0DihBmcQGYU98CrBNBczS3pPci5m8c2kQo1tP4ZjELgpwXR3D05NVDkiSxUTOuZpqVdkYnZRE2iHsJ2AgxjyRkIgwv/UnAMH5U1VnXaIqHzX+FRI9xeyDkzQuAMkdZlCCNp6sd7a4DxVhAqSkIc8GBZ7wHj59+avYnJaIfSR8LWrNDD6yLfY22jHejx7f9gpvGKPXshsoWV/JOBm/V5kO67OCKcU6geouLuQiGI6/ozl10gt2P47ciLE8koH+sUhEwfqTyUI4Mhw/v8JDLsFkoBo5ALqWJjgu8GA80Etx8ogQGcAsYDKG1A/O4Qp897Bw2aZSb3GrE/PRfhCNfXToThIR+2QWJ6oQMm0g8qBIj1XSID1vTgIpBf3Ds/OqO6AHtSzVhVulTyPxJYSDUgQYC2MoNjUlkeoQBSPq51lOuF8SZIzE6qTk2AKoiPm46a1MK+Dv1qTfpnYb9uPtiR1+aICdkc+HnDSdHnNK9dgQrzHhbPYBGShBCbtrcEOXaRkWLFA2lP/eNFKhBs80EXh6ZTmEVbAQ0Ke/QtO97Y45pqpnSog7gN74jm2M4ZaKZlx67HTwMGZOYswg1hJ9Tvt2ERc8feQHywOCv9HV4iEaTplHDMFxiKzenrJv7+CDaSRlefc5wSkQU/3H+pBTyX7k4n91Ji5fbN4IFhOj7kxJ9MAYFfNZahUD+BlRpxdBXcLs7u1j1fGlcB7fke7b4Es87pboTquc5ncr3NhMiwJxurl53jyoPbPXOIFkPXIxOhH50GScsVmLTr/SLWS+UHbnNk9ZWFGZYtj2LvyDYQ6oMPW9LlDQiURC9QMYUmkiUSJ2ZcZQb7UxIKmQ/nMINiHfsTesru2QhJejbi5ZfPNzXf1DFzLsD72qe4nUhGtaqnlvLqvhj0z7f4enWhGknOrNQEiFdXPQnmTyymeuKoRefS/36wv+JxdlAW3+k2lYKZqgJzl6hSOoxG8YFxu4SqjLx9EnuTNVOfdlVumsdVWRvDHkJIQa2gG6Yzz/EtRaxVkOsJbFqz9uru76xs+RT7eLflDLaOPhlzeX5HLKcw02PrEnhFGllbd+wVyiW2NYAG4ocX/gj7wUpWBap4SdM9JlgadBSmyr/smrByDQfDMYTbh0LQe4xMP2LWmvq353+bff4Bpbqdxu/m1m15B10Hl57CI/fm1jDxNQEHay7M3fAyF4TzWVLH2XXKfiKgUr4g6x4ChQ16hwgt/Fiix9Or1dNOUy/AH+SvSSBxGflQ3x1HSa/c9SExJfD3bxqjuO1ngSbCAzNmoxMbLoBsG38VSVpH8s3eM5lFD5Jg2+nTtTjetO/Vhx3wY3tqUw3WXzSBF6smorS6s4JI9REZgXTToR2BIv9sSnj8B1kUO0cevGiZSnHv6ROKc6WqL4a/mXK7Jv6PeobpbFciblJpWTh96XHywbpRqMQWHhsgFpXZ6YLOuJZ426vSbjK6O2SNlL/RP8lP6VUYLt6dWUUmuYFUM74gcsvdMPDuMjgtgjm+GUI41otxdChUFKco1Hv3WkOkIzOS99yu/eSY4bqoF8GzyNUepwPc+6UuWcOobMJqk9m0bwsr6O989VnBbNSevDVqRFH44zgC5Mp7f7uPJhYDh6haQTuyrQmHIV5pS334MJs9TQPSJRokkKogNgjyoBwTCF5PnqEggd9d3jR4Y/zpuvukuMUGMGt39vrihAkCwgX7gZ18dGXn5fppyxfusLR0lMOEbXaRcGx/4kj1d0NiZFFvTDnGNGh3wvJpwaRD+19gTCZT5GdNJtPgnWKruAG6lmrgomy3chHvnwuFpuDNdIBAYj6OzkQiVOuMPtOLjBNRQUt+Ij1dVYZWrakc2PzOwpCm2s5e2/HbGB/iygTkcVVnRCf7xmDZq0nvsQXPNEjHJukSAYHB9CtbDfG3y7gBsQPe3S7G9w2o8DAI+iRNnf4jfOeQUbM/DLeD5xs/dMACfbVEhEnuQz4YljKyZxO7XML851xVI2XhsAFoRqJo7Fo3Flvad4SS21/P448KazxyBCofp9GMFQHYLPWYgGaU9PiLBf9XWPTGufjxfND0G13ygChbpbiwJ8ZsDfP9NKzk0zzuG0Kf/6OAfCIZcvQytet6F3a4mAKSCpoVMfTZrR2y+fRR+UPo1OF3223rrDzvVcJlRTXjRWzTj+SFowOEZw+Nk2Gu/l6D7HmdxerWecxgLllrLXQs1zFDc+L4beCaAIQedTBQfZIV1JTH2BGtTbo7H6jFQlf556iEnQ0sdbVkxPbfDmvcGzq1itJV3QItUeCsybsrKbhR3Lpd94DT3W2eLWTSgYTR2gGSazTOrEbis78CZQO6GIujZej3MWOAYM+1H7qHFkjltsVluVEbWOiS1TCxIfiMefOQ4rpIPIomJYoyHQgcN49h5N5ZmMu1uR4FFyWYw1jqxDJ9fqRMvTRr1K0UCXXCf/zRLjb75n3HU4YUvanA0gKBc3hhGoIvQLGC3BTeEy8Zzm/+0ZerT/34oUhTX07y80eIwq/uh2M1XpL3rWnRZpaZY+zv/ugNEPw11rb8mITTWJX4deLH+6vWtbEeoIGqOyCwCMvyTSF9CsyhfV2YEgw6JEoT/jamW7l9E78/EqzjbTiG1z9v4v97SKMbAG69JkR57VwYdfUgDjSPpm4VyqnZpCNSpSLhgJ0iqe+8CXNFBH+mqU791fcMWEGqhu0hsGGurobmNB49QwEKkcFON6CMyKAAqmnGEPKp22luPyaD8T0h8Q/GcdZ8Qfs+z8t68/or+UplpYHJ1/dVMaCJcq9FFhgXrP8FxnquD3ZFpWdE+Y+wUvapS7lUnmuU3Fph70XQpIYvMIkz4ltLApMc8slBTfS6RegECGuahEcrE61LtVt5L8gfbPg2x7oHXIJ9MIqVasWXFLjhjL1plxWp9qWcZDFPh2dPWNvVsTh1rlcH031VP2X3VDjAEYm4Ssa1R/+JLlLroib2O8CXyKnQ5VtJ3tUp5c8FY00bmP5RCQa8jO568QdKRpP1+G570greApNOO+tpKAWSIeIHkxfNVHryYEhW1IqUpuUGDilmTuP82kx9h9Zb/WPLeP624pLQMpLcLiz+NazTicsw06Z/7gMFCJVfOP6WePi3tR3qmOdx1lwvWzJALe61TljiciaJAYeUYjbesxoLI+FX50kOIWOSLGY0fR/QhN4UuCzQB6pj+jjh1jcuK/Xmn3xuVq8aep4jcl5ike8OTdVj3gVBdH3uwlCJX2L8W7FXXn04iAQv3s+Jsv0tdcBUuKE4n2WoHJIgO2YtKX1C/ECwGT+zHAzXLrMMKHLFUoMyKkSoQQ9auX6k8EYK9EUtHWLhtGXLuOMnzctbPZtpaTKqppO6QWdlbPVYapXgHuAeB78J8s5EP2iJowroZ3Eyj67UA8mcqSxM+pR01cKpLHJoHip9U1SmULak/z2t9+zNOmCMeJlMYiCstvgt6CSwheE+NABCleBpNb7lnTg+KzxjYHdc76rb0vsln2EPwpaamG8rxYcMbe+YZOD23XbLEi74cMlVdVwIcskmYnqSbAYVw5B05bIYOx6SmcZwo8VONm2s4yLuP9XeXB350HHWdn23/lfWjWZy1D6buhuVUnaZBrqTF79tK+VGeI/EnNsE1gO0oDDNiIjNkzeVw2RWBCk6JpJgxGT+wNlUUe2dGNmF5qxVjvgQMbtD+JIoyyUBNMClVKfrwMmdRH4jFwvkB8vn1U4SsSPt8eU2WbwMUk0l4u+H7+LuEROEK/IEKhVeMe3EIeScORQjqH45ngYWahtJvxLhz4OkzI43aVQlZnFz4LhNAVnIq/xVaN117aAgtfTQGqC1H7MZapJEBmRdYdHgGJKb2aegwsSA3FNupOnI3AEfPLkvWZ2AK5GuCL43G7pX9leGiHNao/toqxG5OVR1Q6TcTkf8bvEX4+FUYVtrGE1tbaJ3R0O8JDlT84swN6c4t/4CGrbxpwGYBH9M8ghwxqEnLgk40hEtA+Nje3/sWFT3H/+e1YROPgD22a9/v5WlQTaoxvKdUJDR53L1TH3oi/fdinlJz2HsInEySHSzmh/D2JLUiz1pU/CL79WY2ZYZih/5IZnxJTBVoAZgEZMaOCznFHhY9jcmv73pKUenRW7hTnb/ywMogxZma14ny+Hb0Pe4qdOsjkqOOq61ggWA2bNFTwc02e2YXY8hG8jNG41TT0+0LXanalIG4G3fv/BybM7MHZHLUyPcShfeda7J4lJPsOGTPzRl7d9rc4H8Ik1ofaV1zWxyPQhWXSqOlty8tYppR6w7XLnRl6GCz0p2uXXw+wb9MiUai1eDzMqj2VfIfGGhUgE91XBWMoAfDEn580XThd6NYuactJtLOU0VAOm/Jz8ke8OpKokxdJkaXCWIK5yYVFnNW29QquXCKDzjveS/wKTjIOCvdnfAF2CAOJQJQEAzu8+gOE1sN7XHPgF36Mp8NB7l3oOmLIu1yROCqM09x5sfFk4sV1j5/c6fFJqo2eAFB8ulQ0f70FAiWbZL/19LcKRibd+cSrJcKsyg3fxdRasGWGHCthO0og0qGs9abSC5CS/ZDEbupqSiuknZbi/V1cI7uOLtEicd30Qsi3WEXrX9ciV9f39zmAFJm3Tu54eILPYB7VCC4NclmR4ybtqskDR2lpj3i6wMNsPhh5TKL5nt30zYYw5cmQKabe6qm/MqJYv1alAc2CqkmyXfLaaqp/stmDAKxpTrfWzMoKJ31Y8Q6hkBps7VEWPZQMoaxCoNKZMEz4JXqg2/anByhnkeNVFUm+JsADg0gTE8fR5lUxpx9dGDJyYqU6NwMxK54a8JeAPYNrHMnJzYqmGmoEg3RG1SF7/LGDt+7tCZf9QQfgaEW1417kKfzahFEmBJDJvYfljk5JWrSEyBMzFKhjtDtxDVY61D5S84pxuOGR8dbSB8lGpJpakrrFbfvLE0EWHCRs/HpKUhTpO1L6mn+Zg3X2rbc6YuUBcDjNyss5abW/Pahv90SLZg3yxqUeChER2mBQrcE0zoXpqQe8gFURh/J6dqJzUmNTIim1QTaUQ2WoPUee8GnYLPDIE69oum1S22rKKYM/r+xWLJoyFpAFMSAqpkSm1z+xPEBHmgtM5V88zEaB6tXHAIg5FmjKovmbXjsvX0vALDRngT1mU/jNyrRG3Q3hKJyudTzVLwI7XwwG3IdFKbzDmq/IwjQDmP1DWRw/voav2wZz8fov40reF61CbgrdGwAn9NiqyYZdkjinOlBO3siwVtWq3u+pPsWsV6X848g3UfHn8FgTY5SlTLPYY6ZcbT+2dm3V8PRHQX7Gvtb0i1GjMhxUFCGjolzcNhav/HAs287q81SkDRgohayzRh4B+GEPqepOkcjRyTkxnxxdi0H9HZjfJvtEBk6Q4MwujCe3mCJngcT8SMa+BrEQ5t4duV4nbv4agRtcskELXPgFCYcez0xF1fqmOreHLLgVGQjflzlfG4qWo3goA0Rfs1yklSBXckftYiJgxUlsrO01aB+VhxfsYMOqoHHBDmAEOcdkbFxecqUIf47iXXOFWqaYXexBrBd2KIZrSpWJN6KYoIUUo55yDnM0ZOERgPlSLnOGpjub8BwfZHJj8NdkgRV60Yj2IX6MuXlwn7mQ9HA9OkyLF6Jy2E6MJYMC6oxdR03PH5miK4OLh0g2COGoTRyVtEKsUghOBTV8V+qfG/rbOXHkU4mW9DVfGhl7Q5iM0sRueTdUOIJbBcEEF4DPcrbt0+V5xvNAftfta4qaAQhkr5O0pZt8/YvmQZwgSWF4QObH11WBD6hugAJZ8j7C1h+sQsTqwaWmmM3If50xF06uiukxtkg20wq3gJzOealmfKJuRnaoVUhxTC6Qir43uZiVbWHYsC8Jn4j7A85EW3h5X+agIK9Mfg0uDiMrAbgK0FS/fi3ruhRPB2CZDDzJ2QAEQur7IBa5sR6L3Zp9FDcc8pjwQVMKrTr/86a/mxvhQVs0xwdePO5PW6bMSUtDktT5i8CVnBphZAZJMX8VV5smnoXa20KWjliwJzjPFGLrbrz08Y43aD4cfmmT8m3nVqeFTPezXnnrKUOJaRg+DsaxsWmMu2fX3e2vU0QSSNcIF3tg3u034weYHZX7/d/0VQOcPMn1JP1c7Y4vfW0qcdsdsUgQFnq/1R5BL46Cfsiqe/s0aHsgR6ISkRzqH/kkhK6zl0oUbR0u64NmaYDxV3q0ZcyDG0SMnqbv/GjEXAmfO/sq8OeEXEKSr59wQt2Tw2jleCttKKSPgTxjc2UjfS8zPq0YKxO5n0sih2e32eBaFiaFmfElrA2GNKb/OEEWaqgfBNMqrgg/gBV2NCCf29yfptUUsKF4WAsAXaknKUUQY7/nvEoYeIZbprf+z7kWhNgxgqNoWn9qZERlHFyg0n+cSR9ZcFqLjifr/xD5CvKfDzZlmSfpmCm14rBWOwWyMjSs6TVYXHdw+JrQLCMwXK2D+3eGTFmql4//89L1iaVwcgCf5rtOp7S0obQ+Uyi3fzv2qvv31aHC4/qn+EfiN1T06cZkCZ65B7goMChLfMUOaSBYzhclhnKCaLNB4ZdKzIiuZ4YxS14RRDK0p//8NQIQykt51QbMzW5W2KNlDemnzNu633o5tL+0P8Da46Qojsv3VGu2G8jodfHUMWYsHYAM5Rg1pry4JB2yrF35WOhs6zlTgbzH3kvKWfafHKQN4ZCOD8GW0vKu7WM/8a+NJXkL3agFJdfiZwAiz7omr3vrqhd75M17mKbC36o5k1ApR5iN41RnJPuGmL2n8da8MHYhOGutFj5F9c+HpQbYASxZoMz3LJYqsYLPVUooibwqpYw9S6VlufEZ/Dw2Bi69uD0KAW/PJSDYbjPdpgiIaZYIvami24EabwydtWRON5cVhhtmQcboqEOCH3Zmbk7QfvKHRZ3NdMWfedBndQhyzuFCsfk0MOxOWXzUMm3/NqSSIwX7Fqh8RpWFEV7Cs830pssPQpU6PKrYh1p6jNpW5JWNWwgEWrxY/FuXrMEmibpLLsugTBsUNME5rnyyAqu5fYQj2hARJiIO81wjCOHwQgXnqDsIgds4FAFBPPhQIzhyPYRpRaWWFBIcGg0ziWIEUfnnWMUC6AiPTBknBCGfozWb6qiTobsAUldwRuCSodBsNdM1x2YsQadbzndFOXEMDtIAS2S0XKA7JsQAAWnnIYbrQWuYVPl3Z8yaVTAM/0rJ14sRR0YNGI9kSPvZmyWnzEvFPN2PTQB/W7ZoUWqXTdEZKr5Rc4y2fHMDCcGzXp+fTaL260nD8M0VBblXVvRJcLo/U83tMtRrFPrb/7kBpWmhiS4t+0VvR+zwIMYH+MO9jg2tDKZhmzC1ImpqGN2zKN+Kcig22Q4pANgRBW5DbNyLZdBuce1D7kY8RR7HLpMTybJlfxSDB2jDQf9uWuK6rVRTQd4MY1zcTUlkL3umRmgWnOfqblXQ20yaDvduivgzkOl4mc4Q6I7T5Kh5jXlfbmmA9eLUzN2OeJ5cNl44krkBcoIq3t+2sXxgMVJC/n98lcjYxVbN2Qh/UF+QLe2Hy8wt7k+XnyaXB7107wM4zlHcRudHPDQhgYAnEG7F6//EvxJBa5+WYLe01f/2s1TKE6NV7QmBNz0P0W/dsasdrxNjxHEc+epOqdKMG2un++LBxCW3H+EMT8ac0ebLDbbgcNcfhVFBZb7RvxFpwK/Ksa+ISopu4EE5+LEpA0TJROsjqypeuZoKUQpYjCPwh5cFIGOvROqzXqygrtpet9gZOJ7FCH+CA2pjmq20agKjLLwAQjFVtlxoABlgUgFL+AgERww8Jog1GZxj7e6qQxQL/OwGcG9aLdnj4iA+h5niuTGXEuowRyqr1v/Ki96K1w5UhI1aad+amQbsYgRc0/FKr9RhLy2bwUTDAXRpc8Vr9jL7QOEbYZYJKSXGak2oAXY2/DfPuX0U509+qkmGykvE0p5AyZJlQHPIJu0tNH0CYMsVaoGcmIberbLkEK+q7UzZJ2ANag60xG3oLcJ1RGIjVQEXZa8TORLkNLjtHJlACnviVYci9y5XFhcXZVs2isA3Qlty8ivw47obtZMg70yCVdLpSPTqrIQ2dPASq5WKLda3SP6D84QlSMjE/2P5a/popz0KhFzw67QqEXOkZez8gwvWNFHZCX0ZXDlK5lzIajRAOkfdCZEz9v4UfmefJS2N4qwRGrkOMvdSPIi174YkMWghHeeV74/1FbWiEu64Ir9qi8pKGSZsPecoKbFkj3Qm8JIQZsujr0lqgQen1yf2UL89F+h4IQKhtjk04U6ag3BK9WvHUEOmpkhecfbBY0+Y+P1eIkTlvhqcJrlah6UgWnoMzF8EL+k29w9V28wv+VK4m8ucBTDw0yvRA9sey5oOGWsFnTBau7kITu2rYt/ITx3Eo3lMpq5acm+CbMVvsMHaJ0Xwq7lOGR2i9EFXL3lJUNeOyNnukhhkuebZl2eKU6TBo6YFGquPtVC9C73uQI+2+JnFJmk+nDDvs6CkzCyuo5ZxLXKNkOpNA4uV1SK93QtbDjdFM4MK8x0Tcg8Y6rmedsDQpt2YfVftVLjAE1jEFBO5A5/O+xkk3wcagtnCPODmUInVBU3kWeDn9jhORr8xKnfeQbX/bpKn19C+rMTAne2r8vR7hi+lR1X83jL9dYJszt+oOhGiKhpn9Jb/wAjITfiyUZzPYbCwT6EQryX3nItsn0LBKZMPFkKbeqQQkKjF6U+P6pgbaga04BdJuPRYbUYzZFZP0y4LTasqgR5xI3D3QWsmlvVFz98GxwqcZ9zBQUrALaFDWoHUZ1Sh2A12Ob4ZEU0r953Ri0IJzf6lbEwJcKgxb4cJio5sVTHy4ytqM+gBRIVv/C+57XGZI9wA7A53IHrs5iXZF8MhcBGoqIJ74mWedPrPydndwSJBgieLKYCyXT5kFAGvT83OAiZMkgfLgggD17L18OicNnCZZL8+JRXrqQbMb8MR7RHjRIsdNnNuwdzgvbzRftzOG4s+UTQKNYXyMpUw3k1GmKheY46R9LmlOK8k8hJboPcBKQk963iyXs3mNO+vwU5+qRk4UrBu/UlJtCacCIX5iPnohl+irjQgkh8GfHKLELSdeCgu6FUkskcVz8HLL3CyY57udPr78vbM2pzE7kHMQ9xJCARonewh+gBJKoEUXKDm7tyDf4VKrdt3J6EgoEBzn+hqbNx9GqZzkA1RkU0P6ZtQUbNNE4kBVBADcf61KWLOjm6xWjLkPMiMbtl/eU0aQRFN1Xqt1XRxqwMKs3kyqMut3uMTqUj/xf1sQAyT+KcUqSD3TlfpYh4Ql487PLnOspcl2qbDbkw6Pwq4fcLa/JILKnQZuhCV7LjyyUBr4NgMkpipvvt9OZDJe7yxjIdJoqytHVdDF0q8ue1Z913GNrTbq2xGtqbTMUPaeFy9AVmpStND2rT9vT5si+O/yjLSxMlbgDYypZkW2stXGjTaRfoFoEyObizr7eF3Q9F0LUVThlbMltkno941Of9k7O4SIiGhjs4PegqkM08uIbkkPeldMaK4ag/3kgU8LQ/aNK0SUAa2NFyXrYz5P6wdgX0QRzgW8RY5flEarP1PFxxH1VLxDEnlB4m/BTrW9iVwVu+wHtRMcTXSGAWdP0aUYi2pZuE80VdLdqmMBKjwDroB4ulyrkuewROdn2tRy2+7FGNuQiOFwrQZgqW9e71xLFCEL7z2iGXwUZOCbYLx+hvk+rZZaOoQrjfrGDwULphH0oaRZLc+EAaUaq5Tk3bekPAMNYistU+W+pN78YYHzbCwQyEylHUJeESZycmiGt4wTnoMjk47UMAxWGCQEB9MJldxxnGTQXTcLWNFNJu3GyDhBygnQEgp0AnCNVxXzYH1XKGLXracZzIqWl6nAdA2RE0WyXffp+MoZuePbgIg/kfvKphAHiOgEX82aYIepP+RIT+OzA7VhH7/Y00AJiOef5vq/N2tJEidrxqX3ulZtjsCMemi9CoBaMRYxTCk3lYwlqOhAFYK/2jgKnKmVCfCjc57bSkm02F4PJWw8bfBFYeoWoANysR6bieymOOxnuqxrlyUq5V2WaxWbyywKxqH5D7UAOUzCbqgBZamnZAANisAVk4ZwCZ0THb6AYc5/JqcZNPeWt6H++l8BNycYi2ozl4i2//LkWBy3HdXaVB20iXYk0Kz0kCouDVyDoJY25I1O/pt0Z0jpabzVcMuLvhUotkJPt2dy/Z17XCY26D5lZmtVNYSg3dAuQXaoyGFnwbDFSdBY34Z3STzAxcwMRrFWQyB4ehIuzsaEEHPw0PLXihcnV7yczCw7VztZPOhbOiFQ1KCa/cU9CFYMOueyav04oB3/dUJ0ivrocPmYFf0KTh+5+C8/3AywZAmu8LUtsvOXU6JU+2r2ZjAd83OVpsWapeAMV3j5oSxKedQHE9fz9VFsPKHCb77K7TgmAK/dT69Z9huojFs44FlOplJenzJSuUW/RqJH7YTVfgM7AgjUpWxz3yyzA7sVIH2XASNcitIPqWCUlwss6CvGR0HwSF7ijRaef1fGf6BoP9Ecd0+AaoTZ2t/Zxbcd9xQg+10mDnk01EggsWYvPIQSl9EjwoK1pV11J9oMsGnlR8sRahAinmZu8XXB+f1pKExfTGz58qu7r7nWQN/hU/xSSyI8y+8fHmIIx6xsiLdAhtM1WUU5PCKNBvY3G+GuBFvW3eG6/LJTnKZI7o5lv1w1xWP/ZTuBc8NaKcID2yN9vuym1QwWxTTnQV0CdAjerovNA8c27Na+2BCPut4DyUB9PsBKPybthykhr5xE2vIJ5srHbJaQ+HfYwZDgAH69MMqh5dMYHAY4otkx7GRigsunX1Q3m8OKUyuEB48BaF3jgX6hRlGhiOAtGkNuTyBoxHFeOcu7JBinKxUOn7ZQpZnsQrbQj4crgFOjjuSMazDhh/LbxtCnMs8JVpBWngMIcNkRmoErNUxpY3RGcxYCYzLVWArs7Kr4WZrJu2fuhOI5LkNvBpBbEmL5buj115eo1oGn3YNX+e4biJt7aYPZBpozYq7KmefhvD3g0Gnljq4QHPzdu8iTNdW3DZy20gbvDNpbtf8zXf9Y18rbLwAHfhTirfkGJfE7PrG6Qe1rgY9n+wbbmX42aeuOVu5dkbb34IjgSEXkazYZomLA0VkSDNVRGZdsSPhusMmGdCsFC63BfVJsD83NFjE1piru7xJjM86OMjT047GfqHnZoRFYkuXUbrjnEmFWL5u4nikh3CvLQj4rXOsP5jlJDv2wSXQKW6uo8/W87zvfoViIKlGlZNxkkG5w+0Ddc/DD49GJHtYhvon1gIWK2UV0VdlQqq0zyWU5S8sjiA3YAllv5TEXEz5ffbQG4ZXEBymY5Yr8kTFAPMjpUvbaPOjg8n1dpAqF7gbCaZSaitL6lFc8fWhtfLrlBV4+KT9LrhDi6DFJ1I0X3ZhHzID7PjzowP37EjH/UPddOZ9dmErnRgPqBdU8Q6lOnh4bW6ANVZjWfCTq030PCZZM8CXjiuyR771okIY3IM001thN2B6dFLSPQXAEfvHHmcvSAsgZAog4iy5AvKQXZ2e6RfF3BqPJE68wJRIsTc/Ysm9RBX9lu4FtyAkSap/LyAWYfkVlqwxxd9ITmmhT4YDwQu6MY3BrfgxTbemxT/drlIHaR2HULEXf5kA+aNM3alglSGz8PzSBd1x//ujrkoMhGjhZZ0rRBuMVjiSJxGLQDfcLCn49qToICRKGkHvkpxpXe3pkJueTO671y7c906vhetO1Jfed/GdzN5UnAWx3BqRhTybkGtxLJjAJYKRQpkRYlXZ+JuikYOo7vUcwOknUEpM4gxoDG2nRyHAyVyUf5/HDP9FtOroRDjG8ws0YRcHiJyW2dIfvB5lYVWIYDFhCgbjb4ysDdfWfFHce2hCeNlY41cY0OwH8VwWIiiycQIA4QIolk5Xj3wQOODYewaYN7Z1sNgJKUB2fG2qOvTLKH7zQY9BKWKDHuG6dkq8Fz8zbjpi55Ie14bTWCh9Ew79fIVXYtmW9XwfYXNVxsuT7JXiwhERoEcQ+hpxWue9ocwb0LDdxVv8t/MDODL1UzI2z9A3fUchnWU934NHy+xk6TSy7Z0hPPyZcKmBkUJNFZaC2Vo7M7t57ofjgAB3wMbbKHb0HT8mfs7sy0Tz9bkW/Fw7tJ+UF5467atpKxaaECVGGCquflV137i4iE5syecMPJabfIhW4UXYD+Iy5ZhwYp4XPv3rqmuB1nMJr9GhEITiI6Z2DIgUjgofOst5Iw5nvqqZ76SA4ebAsZiKVQu206cyttyywpCkXZLl+HGGFJU6nuehUaGr1AKmyxfQuRb071c8+AazwekHGCiLUW31VM7jcsGPLcaCzgZH1j/togPe/CdM9UwxAABJz2mByJPAO9Up1+ihNpuPkAPLZ1cSh0M5U6eLsEymXOHrdbTL4rXo4t5d938JNHxsHrYuGKYnvLGRsiAIOWI+fpvGcLAAvU/JOSN2ORbDHgEV4sCSpbjQtr4g6QxI86Bt4U3nWKdP68rIqK8HXEerrM2IPGsZvjNg0WGNhm/8Bd+ARsYCGuNLH7Mmy9duMnJpNEC4t+jUSPkUx2PFe1ziHdJKImeKzMNhfBU4in3Vx1DDoRQPZBmJcwtEZmUfLUV7UAk18dwd3O0YHn3fqypH7cI3AEURFq/oN7Y2k85P8Qmkg5Rnn0bh+Y2p7mAH7bboEJSiz5vCXJb1/ZwhePPEq4PaTv7bup36nr4Ka8b45hV5izZlHAPxRzUxpG5ziNgx64gkvHah8KSdWJ71GfqHstoJxC7neMiGRJTqyT5XeJWJhytXNNYgirR+z7Qg2QsjhDEhKe8ZzzbgXDjqXRw0mdGt8qT7p7nK/4VGOfgaVj+9CTvEi0w/Y8GtqoJKuzTTjVvk0EXrkq5OYXRXQYGMiK8SGWPOr6TEH1DDAkcJaQJSLHuTftO0JugmInhvMPJzWBM0eDd9GE2jzZG+UiklCtdvAFgk10kd1caFA73LsgESdJN/4Xj0p1rP7WLEUnHprWFixAcxaJ3SvGl6EenDa2aqW8XMXEC0vFitzfWnHlMKqdjDSrfqX3xxxIoxnruiwKewAnD7BAxCqmWx7YQ4cS2Id4TGT9b2UVqv5GAM7kjjafLr8v/1qzzOyd5HhCj62C99GK4QfJsriXSYv1J4JeACGhTeqMD0ggxm6/XyCT4yrcmojsU8aVyQmXh8ZZuPOXEhQeT13TNa+YV6LKXWkVaBEfwSadkHf33/+phpCADvcm63idFlRhkzO5VlSUlN1dNOngSqGlutQBERd2HmuxmfaShZMi+ruB8WBXI9BszLvaYiHHwR+vpXjQBLtrrnRNbRzSHSA/mYQf6HvmrMHYe1yt7gCnAlU5NI0mY42Yl6F9vdUjQaBW/1Hlk/SnCqjf02IEaxkX6CXyJwQnMURhkhDldG8cq+dmyiHdHC6gfzdjalHDVD/erhHd16Fr68xak1LfYfprwizS5uiWQJTrdX1HcBE+mWw2zSgXyeMLUbrWppu4/v31TeXzdbJTF/JGZog5hSjdXp4vwd7t9tPlbRLtq+31UNZcyo8c46xPeGiEE2qrDTLFT39yRlpNJZl51KFziw1lb6MjHN45hiDH5X5B3TioodtU7YVMKe2K4nocUbHCBzmkCdMbjIoCJd2pmOABW+L9q4o6XN2J/iN9I2OaU9l0818+T6UQLFVvlFUaZHzusWxxxL3QFXk5PG3erPqUzOEYbM9iQbrFb0Bpm1L6HwOB3KDncQu8bcytOdTkqgpq/dUoptGIH85wxjJ+hgCh1JwAa13/tIyu7NCrTqbOj9iEweI1E1RioWkNC0lerkZfaeLuju2bVQzR+VskaHiD4Y36q2lMVFMTx8i4+KHEO+yQsDJ5+Ti33DK27osvYOudWuzUXSQvn7hqCsVEyMLRlba7MQwjczbGtZX3Hj39FkloCLYM3V461xRZ6h0oqbDhX2Prq8Qiiew6pjM5iHwPkFEuXfXmRNTnB/DxMMkvSzyWoZS+Y1wINH0mWd0/Ad7isPAgURSHmkgRUzjJmO9f276kcitGx1uUD0MAcOLl/EyBIil5osGnLOyiRSQ/jzgSl7xpABc/8sv8Eg6Y/tjCN0tQYF5of/SpLoYUdcLLc8HmWU9XXIGsV8TEv1mcui5P2qy/Cs8ZofoMsc88FsKQcs99zQ5iF/rm+yUaF2zDc6RVmvoWIY9sG9ZLXJdS3Hrc1wU+AKzY2viAVXep6jBVgsShSkaiqbbl0sb7rMYO/zR3X9Rk3t9Frsj2HR45+AQv1GMwq6jj2ijI3su/MZLFTfCUQeXoi1AwlUxgJDkuEh7BTLOxlRodLbTdUj+xxQYdHo7D0Pev19oP90W5plyS9N2V7nl27FYksHPSyEsnBJQOhUy6vgtHL3L6ZopytE/FTJpeyxfupjiZqRXapTRfwbYOHqefrHk6AQpzAuXMGSkR43Rk0vZLmRJREf7hp8iGGDLzWtVcGBsumR8kHbDGcYqqNVagpk1Gt3TN7TkjAJHcwF1cl1lPFBuOHXbjg6psQ/njOUW4AK1RqWFulCWU9wB9B7o8JGGNHsl4ck6/WgBeSOnKLC3KOWzpqicdjDKufDenwM+mdH9y3lzFF0awZbAYIcplrmuxLhHBAbx3kL/ViujbYO0k203ry+1y5nt0ouiWvvmeW61MSsqAod88taqeEjug/J8FOYSZD3pXkn+gxmakq9sco/xnQN9xMKdAlrTiDj4h3jgpfFCT0i7imXO346r2y1lOJf/pEdOxOAZZlKkJY1h8TJ2ckjWxrKe+/H+46NfHBPQ9sKj+dnrCv7sXoZvEXiYgaJypiP5HE8zi5UOqgveBojW3kKBGek3f3hqVG0/hj4+7+5WKX96f2jwXPsMPcjt/44S9dA3Iz/hdcNN6Oduq2FbI9wwL42cMbO2dfH2jU7c5g+e4s6EQupK0jbuad6MyYyXaxsMpPTcm1mctBNHL5e8sZ3KjXUa0VXfkpS4DWN89J1WAFIYe1RXl/uNtiZ+6bMjkNka1N2uhHeKGUq5PVktBs5RX4bEPo0pRMU0SFYnSKxxDw9r71wVEyAHL24yn/pSWgUF+uKtXjZvXWFZBjWupebEssQB/gezIaw9qK5ThMVWoHDtzXeZEatjwZFZQEp21DveQk2CAfodDItRTySZZfr3gPq3iPbkg2hKLM5bxKufo0KiIdXkuBFovT0HvTnor/Qnr9kvP1dKPpP6jiAs7K2/e2GxwvErjnf62jTzM3eKfDDWkzp4HDdBYhuKu3sy1VNDmOoODBLjSSa/I57Pd3A8mnMWXv0KhIvSZK7YsiLjyndKEMBzC3I63P6l0PFxSuKH7PLUcLpt7L3Bk1eeA0g/c124w8MDs+tOfFgLKxbC4PjI+2H5NbN4lU6NTezY/FHrUqpie1okwRkwNZgE9wVzTk2T8kDKr+9sWnTKWJYUbYk9Bl12ZEO0H7KmAu0DaG/Y+qFu+JFqyvZbrzGyPEJoWsUxpTozq5pWOALAtkNN5ILCfQ+FJdBFfWjhXnwOoXckP1Bx8TtLEnKxy68MuiUZZdVGPPvsiJy5t5tgUF8Qv+6eznBWeoBfoG+yDJMGTp8tT45M90GbnajoKKJVI51QWDdRj+qoliwrrodqRsUyJLC7F9JdL9DANErEEgIN3NIdMhlO0yXNsSj/ZfQSZ3VQNzSkcV05JB9eWTrnFIc2tE0pqm6snCfRxYWguLvE7oLucHDgkT15iT7Ukhkz0m4g2dzCyMJwP9Jsit3+jObwmjkzeyaIZ1mLO1w/E5T1DRLZAOD5BqBJv3nGP9Z55JFoMqaRFBm07WN3Y4wtASJp+FWUA80NdpqsBNFSMv/AqyO1RHmhWEkJvSkYDjsNY1mjn8WSmzdauvdSuHIu+hC8buA5Bcdf6123zZFxm47gK3zOq123oyDi7tWNqSErrPAvw31laooYQ7zFr38iatydm3F2cDiwZMJlxY+A8n+IrUjK2BpjhxxodbsVS/qSoZemMH02zCT/LFhvJ8a/q9vFL4lKwQFdD5CES7qTdyzwcHeYeso0WF2PK2NoqUkZOTstGXq9YxQQxrWnsQph1jD5ajzbrsTNy1sT0BGkEy9hF0EjxIczKmaolQAKIT6+hVVXA5x+diiCNvabVXk6FCYdnN/4lX8cQ/1YeJOWSxdzaBZmKSiOkc2XJYhU7eOJAwJU01XjTB7Rx/4ngUtTfNK7jRO34VGMuBo3yF84cB77/kfDMo9ISvon3wuJH4E1I9aXCeaWYS6/sBtWTEkuEyHzQvNGBJ/Yi5NM6aLkz5/qEXC0urFELqBl8Spp/HQomlHDu9SAQGNSsq2x4cQ3veupOP7fAXjkShW82P8gb6rJn6Hvm3tzRj+zGMkxUZIB3FNvP0NQpCYWaTaGV6fjHH+R81Gm/CTu2+VF0s4F5iB5tqzsFvg2aoDy0ib30cWS44qT4rfQI7hv//MM0xoWTWz3r+DqSNHxwPKUHw6ICzGbTT3o9dtddegguUdvc6shGuAR/CITqtdLtFGuxiKKc6pQLmptICLpYtBrHMbPsq13T535oGBVqXcmJSr0TRiPsqBsLoeTUSD2ow9ycVNa5CbRhZUyhQxMweRpma+9nPHTPsprjGqXunEJ6S1IIu82AIFroUstikoAbRwaK9f5fWnn5v3w2/46/cyYy//AD3qPwCkmqmOyL9004ikJs2CeRDIGvT8WCPkV6YeDiGiFdZU24h/geAagxgUS+UMFd9bNdKAVws+dIN4wi+uf6fNULWfyFAwafHd5AhUEuufMsBjlhRCTi2MAv/6/SD002qIPz0rVI77ewnPqAAr73mlj5HJVZqiNgvJbaRQAQI7m9oHe8Yj3fFJfbKsl5B1UEJ6cE7wjnFP1bXQcA58mG4ZXSB415m+S9CIxm27pHdiLJAB0PtXL68yuHvmXefwoxIgucEprGMBwmDYjCm3GbiPrhBivCF6yspQEWiB+I3ZSINk6DHAPgfqWHXeI1v3vcn/Hm5DelaMGjEm9DILmlV6bx8CSqAuTO593szy84AJFOPSPgEli9ngVypifxD5CdD9x0CLRqdnIanWmcI+LZpSQjt9CFDMLuQDDAAH1v5qInXFmRSn7+KuMQp/XsLFe4gJZ5hH+JaTr+YI2uTJEWvJIjA1RJvFn64OT3UGXNDdVNXIoqiK1DeswVvCNxrVDLrIF4oKZjsPhXfnuByJRtOQacDdQkboAyCeUpI6B+m+zGxgWQ5dt6W+4jRJ1Y8tQFubbjuk725Xe/WxJPprPO2qTRMJnFoBxMzUzosv4VI14RPLFbjd5yJbZ0REWdvIhoj9XQnhaqnDluPSkvJ0HX5JwztU0TGIjCUWU0eR0qt1/sQkkXcz8AtIi6kZ/DkU6ZAuQpopozwNaoRACk1164cyLcAN9O2Of2llgxti22M6e64hGdgLNL6SV0bpibLGq2xPuZzm3ST23YQpWpgR08WJlKra3PKJNk9rQYJpVukWAtcksn+uDyRP5LA2M6p27szLlp0RrtOcfbpC9jmXQtOEGRP6buMw1ir+8q08Q87fDKTBS1JEG4hAQ5z0xkZ6dPIPvUnFsFcwIPqTTW5sQ7Fq7lU2hjRIoqWxhh7OTOOrQWmt7hR6rubuPtENwXBL9YgoMtkZ8hwVcaR2i/2aNWKuBPTLkMgSDk0658s1XMOztRvJh/Tn1cScbnKMHJrtV1FQYbHZ/57GnP6IeH5XzP7vTzvFOn5RejG/YS6UQUb/pLSt7CC7DetmhqN5HIB0zDPTxMQGY/hrRqwjsc36n+OBfFUAmhh/lhVxvRKh1Q/4oeQvY6dfqzTI3lc1fRGqkgkGJ9oijigoEnwcZCilXdPcDz04yMWpSZpuStFA53/3LztcOgcWpSPce6chkwZ8D8h56VnWFLpWMLhvMt/12vNjigX3mC3bMn+UP1TpAtan3jWQoG0WiF/WKXH39N7/FlOQsUUTICtQMAXwLos/JylCSUTceXBmqGtbX1x+e30iH8TEoY39BGYQLar0N7Tvw5QvsqsnfVZZCzTGWvIApcJ1PzohruWVkVRTLhBrrxUD2wyumCUGTRCA7Xa9zuA5nL3s6bII0qYFXIw4g2N88gnJe/tKQdsualpJxr7ZzvJoHL0pC4dd1rO+BKh7xEi+pmoRmqX2zwcSPJRvCU1ZSICBRamJPz1V5zOJJdV2iW3p+wZU8mMfRHoLA412vFDi4RW7wkNzQFTo4WYWgTG3OA0lrdbw9u68fN72qzNX+gMnmjC7jUWHVQeZCpdSTFhOlEWL05wmU6NESb7wUEOmpQ6BtXnuWxF1comHw8igUDVSNJ1opS7zGtDyZAeCEq0XNkQTuBTHQsJQNKqBYZAoT+a7hbBohsNL7DnPMhILEZ1MHZh0odzQ3yDY2QbJujiYruPsAsT3KeL/SJnQaPUbyC69/B5SGflcYkCRYlXm7/qV9p6AhHEyK/ovWRMBv9Mg1jSynkrZ90ib1TnhSvQtyoVB1k0/51Vel2MoHaMet8HCl5u7b3H52897v2D6AE6jEouyBWXH7WmWliEDM48ftPdaZyoNVbwxLWVZgDb4HSsPdiBsZWasUgVzzMiCuXIm3jQyjRnmeVTqH2cMKYs5yeRK6z1642JOTlmfOeRw2udlwf5DqGqdvqIWYVZ8aRzgDY4q5UIpinPFBBvQKFSAVEaqfb2DctrBo6gn6zvm0dJ2+jIfpi8iO+dAx+uM6PPG6MbdVx5PocX17B523MZ3GbFowlugJCIISYswuULajgL2ew41RJNpoYISXrQEVujbOH+IWqWX9nFQOGeoaJgAAxiQy6rBOHsAd6KoxhkUiorn7ZI5883HtvZDXEaLdcsDl0jGynYMHqIiJMCDpIvXRbdXQtUVQtaB3RpkE/iEMmkvBVaS9JGcVZCl6xXQVlndl/L9OGaqy6sWildvW1H62KVY/NJQIogMycxoTscBqueUKRnrEOw18/LJaHqfNffAwQfsHOcxXRziL1X0jcWz4+XMb7opE9tSt/gqeS1S1SxFFb5DPxAOtd6cJP8mZ1D5JaCsMtzv1JFD+Q7/gM3kZ0ES19Wb7Rb3fAdcYOM3Qpx8pZEPka4oljuG2tETvXxpL8VKQd+BHtv2qQLG+bAbztu1GleTzCNDY/UY6D6E1sYzubEgEsknvRp/mrU9aRyZa9Gm1EpIuNrt7qbMXBOlAeD84HAYaK02riaaIOuibtBWZV5lDyXtvCK/famsDEKP8iAABEo4wsAEvrjXUgkZW353UFLvaBO2PD9K9oGJ5DUip/1zNDixkTPQKbPYTorU39gQC0GVYgnWdkyspiAJNQJbWifSwdGNBtAUeXaq9cNbagkUeui1ONRgHQTdYQQS51r7+acosbWyySQaYZp1zvNDCy5yDR+EqordAe+BcBNgJLfOtZiCpeRo3iUy+Tyb/BzBMWMUiKFhoVMXzdv5RWslnoitBS9IsG9U2X4unUCfmRIsMqR+nUR+y5GomoWgnI3OW5cVvlhR7UAoVPFHKb7B5crWEDGdzGuLXXsPcVzPpraPmGmec/tGl/TfJ07hI310BuFczzwuDYITsfuoLpehQAOkxgHy6pfw957CiTwX/v/7w1oYu2ZEPTTT92bykAz6/AtXKqS01kLh8ITXt6slt0IB11Pb7h6eAk9fWq7Ng4rpkjqLX5v0wB8ki0R1z14v6zwzlgZqLjptSY1MGE85hT2RCiZbhH62E7E9rLDqDfTokDQc/U2tiAo6KwsoHI7273PiXgD2CQ/utsWuP7OKCihhNFuvo2+qQ1GKhtWTLRg36k6l46T5FYI+rCP7zEKp3ARqX3KY4HXShNmlcensHXsaVUyrQu17LjMzR61SYQbxADJs6slm7pLwJcaMQvfQQvnEqyGmJ7BWjwZ2BqEo7eSkDCSUi5MyzuNSjDqJP951bPJVbAq0SMf9ocVglPSywUr8YiOtzqZWyjFiA5Ujz4cUQUItMhpA9ErWPZe/qc/6tamT8LjHubKXKD2gknuOk0Gl9Hzb0kkirW/jA7kDYWZ+3Qhs7E0ZxMp2liA5s7inpTZa7od/T0vpdEVJGOlwv/SsJaeMeWb76Pryqxu/3M0JncAtSqs/Z6XQ1n17oMT4jcrO8OxBmOKvmGZLpPoXi8VgDFKQfB22PGOKsUrgF6hP6UAZH3H2uO/tV7y4S6GYJED4bPiaSUZz9IZmTIUKuCDuP+FkU9RX03sk6eS8x/F14vQd1+oscGgJSaclVCpohhRfqDTHZp+f0Wax2A/tH0PozdOFBUUAbiyKZ7/MJBVHLDYSaZC1slWkiFcPAnzqL1WWul/5PqGgXawY8tkbuq/6RvInzKD3+5mCV8cB2iLEOZ8xb71twqj2DFyAiRVdKg9DBY/RbScaZ5jbUYZFNCWh3EjNs3Mq4ZKQK6wQ54NXnuhby3onR2OiDRMuXm/069riisYOmI3JF03dYnJY1YNCdEVMY3INrzmAJHXZ86fU12h1TwTX8HW/dS+KlLXWx9UFoUhycqyBLsrv/oresXX1HehG7ZiqFOz5FaRg6foys7S8YVtKya9oLiHhAiFMcuui+1g5mCYsHY01Ab2qAF+xABMviSQFRQuBm4uDIknnS9hPtWca44POwjUDT6QJGgj5D/BsYC2u4Ny0NuNaTLtvyM+wpUQMboCIeNuRHiwiUXRSjbY3KFE0l4050KZGkEDKDoXiKgHVIVcNYGkei8go2+tHsBntnXmjAz8J8x2NUvtsB1ZZ+yMnfVLkGI4A6QNSMOSDz14NJXvovKTV0sGf1hLV/3UySkhl53dqS7Q46TZnQ4FY7Xu7bXzgA3pxY/GpUSp6kyo6kSez6B/bEI7nt4j256Jj0n9U4AvRBE7QeKq0xY3BhG658yv8khT4WjiLHymHr6X81DNf4AiG+ITHJQ9jl0dTNuFUB6SDd89BjTtujJIjx/GYAZevMW3ADnPfq5rZqwphhDq9xL16971Clw+nEibThoTaxYbKHZghBEXEhKhvKmkcp/VD0itVB8/xMxNISL0C3l3rPSRmYRfl1qxJu7IigbNJHHtOZhlSV9v7sfbC8zqTWms/A1wZzIKm6P3CqIY8WQmGKUhJLh2FoRrkwKUzo8GCy6EF8iu2fg2VJxjF+ouvxaafSB4Ai7pwp7LlGoZK+CAXMr0CGrmqMf4Qny/6AUBcGPJrxJ2t3Uz5rfUfUGhhmWupLj26CUKZPMwZxYuGdfU0As6ZU7j4RGAZgfHXqPIjNctOkrklJxJvU9+e+HqvPU10M1SMFndHtne977U/SAacAVWJvBUqVOSQeW0GLz6FdDHSw64CJawjrelvnEvc7ESVMhnfnBV4dHmc/wRuqtyEYQfUVhhgc0cuauNSHJ8G7hW1+7sew2GM8kz2c5dv9qj/i/qwF8zmQ7V+CRVygnqFoZuK5/FV8HIuCChK3azFoXR3pQt1TJg3RSYAk0dpRL/iv4ESfb+Tc9/UQC/T38YgExnCGIMra+dHzgIGD5qB85oJT/it0AiR4XCy6pCUGsFvzLKqw426HH0G96CFMXkGvxXC0n2MC/A0VHyWPJSK1fy6diE9WnmumghP7U4x3DbtaNZSO/iYGBhptnwT66LB5FajcZyeLfE4CbBGHRqz0XUO9YQjc5nXuR2FcgERzyMFwSwGbpBO8yWLJnBNyCt/pGhxTxAzKIQIGOnN5utVOWYJBUkf1mFIpYiX7omXlruDNbWeHu8JrOIidwyk9P0XEoPn1LSNf51KVV+lZUAXPJuCtzZe1T12HdDsxgYZetCaB5XnwUCxGpSeh3BAvlunjbJuG8alJEmWQkPuRxYnWzaGjG0N+WrEFRPWFyJuM5GsGeTTbe2+xy7OpSk2c7tZKjjJYhQTFgxuHVc5yjgKwZA6mQ0SAWniq2zp1BooNvNzTYxJdEcb4kkDSSe4DGYjORjfXb4bTjn803XMaPQPrPjHAMnlUnw1V6SR0pPR7xp5U1g3CKJyL5jEcNljEREh/lM2cNDkJrkJ8SLVwcvUTnzSMIVjWrJwV+PQiNVvHrbQRGdVrrh/pcUD57hly7plvg6PhQPqhtiEmVoz+SDKkMMqAROJQsuJeI4nggp5v6WlPLtQPxs5+wqrdFKVAppeux4djQjiohhtzkb9pC/73A3sNpswe5Xnda0ioL4hdSBqtXbsPGqdAl34S3gNYlUuZh3dsrDvMCq6zNZWhmdmbyn3OiBIGU74fyDPkcrQlAjoCIj13kek1JFE4e8KSA1+wefDnfD4b3tpMeFGIsD8P4Tz07aZ+x3IeUekqAynyOnq4gJB3T7ZN8jcZj489YWJIetFGAy8+tHfm+VQqAIgz2uBRT1JHKzNqbm2nIx8YuKIOd4A/6XC/7d0Jgkr8ZUnUdIdsoI5D4hoSOSJQAAAI7NrPghqSs6trCGVZu85iTbYscEAW3MbXKCW/LMFu/QKNAyx07m3jHte6yHNHxEKiRiXlxy2D2KXTF1uD9pXddZ8MubZeHTCMblh1i4mIswXDY2evKk5Nn3wZ4yyiIhLRUHzA9HUfhwV8tLfQ4I8cpaAX51RbApR+PmBT6Uew9F8FGHScb5DwLxCiAAAHLsixfNswsUIpYBZMIE/4cmGBo8qBxCVHlNFm/n8UUo4eCsfG4ofD3HHVk+PtwIkeTc17RBQMgRA+N6hoUeY//vp+Yt1kCzmVUUvk7m84kEmM3tzUAAEOHnKpgv52qZNAf/y6M60xV3d7q+CTgp4aro6W1bahgCB7lakDkK96+FFfkpeidmKdFmVJgqEf6xzgzHGkw4CYMv0HK4Ze7aavexcqZSxMWIVl1C0BqvEcgc7hVODhj4/kBLJ9biz2paoJPuYW3lCCf0YrwZpWiquPjCpAb1ONevOfkREzfIUILjxjtrD3+ioZYaaUjKT2rMgyS6fIkpHneUCihHX5NI7Ekqde3E7PurfRANr6BROhECj4+T6xzNAQyetDLUnV9sJK5KYhYCpmV8D3bjUnigFXSbfbkBBJkszwak+txVxX9SctPJG4WDkJYqL+wATJMuUAxUh/Pn7TdrSlo79YTR5wGqtgtL3ZwiFFdMhgA8F6hlmpgi35OuPGMYXTOkwgofkuHG7GBQMTgvKOPcXIyuyneVQcyIVSJXaRPvC/vNLuAuz+5Lah79QAAPgU1k5ItnWvmTYgTV/RSaTgDNjZ3NRbrZjNqBY7/uDowo4OTjXpQPpF/cwo7Lh1AZiYUmy3SmPtZroF8ylANo936cbiwkHxNGz1VjY8yAkypFHTQEiQHFVx2PBXovfU/eKH/nfj+6o2R1ShMCs99yv9z/hgy6uADgXIjqBWDC8me8zodxdVIzNSiR1Zsu2qUADs2rMxQTtORVJnnjWM8gdWSkJqoLmDvJpRVJiqR0Q01ePJsMY6srB1buIwWiOZR0bsMi9qN9bIHz7/QOqiUXqtY/qeieRRfTXQSVyRjxLfaazNjxMnTUuJHQeSNDwoGAXI1wzQDrG+pMdzvCS5SqPH9+VPK+7wil1cm7DpN5YbWq8ptTHry6AL2Dm6CnJndjmWZfSiUwuxynsjV6oAQwgovA9eoH2utI0i/NEOSi2s4ANi3waJj/TlvkyaBw4LsEzdrtsx7MlfjZfdErmy961r7jaB2FtiiKOpUvSjEwiA7Nk1bMbnDnOBcZuUPu71PLr9g+l+8g8qvvics2N544UbkN15q1aLwPWFUOYgKfTSHfsU0Qwvo4RwFGKRjFeUgQJdYqST3BFW3o85zLRoYaiWoxOagDNIVkcQ1ZXN7Xmi5Rc4oa1moDrmFALoELSQPlFhdR1x5cHW8O7jIbgWWu0hedOsyHn4tHaBvuuQaJBPHpn8O+X4xQhk2x1JCi+1axfKxm3psQqbDxPF1mUztWZVgNU3vrBCJzla1gT3vPj/wQ8NOdOsyHn4tHvfxR9l5VKpb4kO7yy7a1hIiEPU/nGB1hPYXvds/WwMURZ2iNw6FdcqNC2AFFNHcBNZZDQoVyDJBbg7OaNbWi4iLA4lq3kVdeZWCYswm9HNeT8V3k6KO23FJbfeNAeLs4ZsV+9pEFka4lG9lX5BBc6uO4qUjMuVnNXR8FSnRO7Lkflwz8rSrt5u7C8GEHCYpwYZ62FbInX4bafJBffk0Tj8yJj1yq2NHS0klY0fUey4J+gm6Xn4JX8YduJx7lKZ9/uYAH16093JsRh7U51B3X4hCdjQM+dubDyk9PVksuEKeKW6jeCGpdkhc9Nsq34G+oLDhuzQ8g4wCN6qK2jffFNLCsdcpOhp5sx5WWQXPzNkzt6kkRJ8bV90yofJT/dz9BL3RquFIXk2Fx7dpZADCNwbmJx3tcXuI+oMIHb77V97Fal2sqya9dByZ2+AIFKcFZRzW6BtlTqKOASFlHB6vIW96m+mjL5DxjBdnYLqn2TLdiYs/WpTerPFRf/f8OAzCLo8OY1eDVRykPO1cDfIIUeICs0RG5FI7KntRHlBaH1oOYVrctDWyBlRRsAMuGZwgrQSiywyqdEaZrrF3BzgN1OpLCpWAja9sPaKm8xYlHE8loa1vVlZmOeZVuC8KTiF2k1O5ahG3ZOD2Q6sgAAAAECNguGKTVO/moW3x8smr66DN83qjKnXLG2mRHmWR5Pa6mMYwIul9q/uLhSPH2GfGWuX9llXkEDZOJGCSRhr9qQFnAQH83KErDKNB44Mh7fUVMDTZcC7vpsYlVYyYrHbQ/OucOxDKjcV7oLjWbfaiycIM9XfHh9zMSNL6M1Eyea46pxulPdldhAYV2lZ/KUHKrmwc0og2tybpqU0/7yKmA84dJVl0kneav/UUBnX2ROuC4s5BeBxLH4UXNzM9exf0BpTrZjBs1RNgswsXKkBjvdj5QYVGH0WxRwyBZIGCXukclN7aJ+E2S22+rRpfIYpLmhMU8FuiyLHn34zIDmawP8VwhoPtr3j5VA9haHDF0xjIOYNNsFDmmBsk6m3FbOmOi+FheP3d/CMZfgh8Ev9O2RIcQajZThaHv7VQ+ZpDhFIRc6ZMgfDBcQznnpb28BhI4WlH5YEFzm1CENS57jseHo47KCUMeNtXV6+iE9qduc+10mAW5GqY7dJHCBNxVwHbjholyRCULUsTxFo+HVSFad86HgaG5fMiJxA+gP9SALGOPoUXPendboAoOqdFiaARBMHDn3YluO/0j5mlZZ7IMPbZnetzX8iE4o24NvNMOgEZJgse3NxEQoqX2RiKk0o5SiOfC4GY51Jcso0lZUJm+o7hmzwpXI906P7LPKrqahkwnIcLHul8BuBjjku8CU4zsNJK4RyBuxiZVhU4sZ0WwIHpAV/i0gv2hdGw3l0EduwqNaxq6n5WvjNNdn4JQmsyihw7UxBqxUKMe60x9o++ee2InMtpV6laCwu8px1QgxWTSMnF7JFzRvCzGHF6nl09YO2BRWW94Cc2lhyJOg5yOP6j7qXSJDbe0H4DTcxQLRnHVPQelTuMI3QydFQFlfKw4ErS7ONbwjw5zIRZZH6DVaCuJSbrvCRv45OZKQmnKe0nf7m6nxAXRVD7m22PJXA3U5hr/EQPMmuX5WCd9AXh6nUyLS7wvtYsUcRw454vvkc/P0XPbNgKsM/l0P60W4o3tsvtOCXeANhOe7w3EawfmSdSaJxaaRLSEmOKxGgEYWnhSpbJFky7hU8claUXG7rPqd2Ohvi02HuqwOeuD+Fkv46pq4gseqMo4RavG1KQheaOmVi3q1EzxeF5GiceqGNiD3HhgnJ5xwyG2P3KiTUnyQhOw1CaSCECPbGsNl8Q4JctsDNP7AwotlvQ+QhlzEtIenjLLUzBvU2iG62Fzl2q70YodUne6eE0S3DZyz5xzxUC8oTfypaG8y2Io02dkfmroNLsCLkzMTezMhwpFxsoulagdtGtXcM3Vh6+nObjC2w758NF28AGaZl+sUYHx+JQYGZeptopuclK/IV72JDZ5Ywr7EGFjssnITpYiitrtcKlVciZOVssqPzt+3zOr3Y46KPq66Jz/Z4iMK92cobK9lwDUz21iA5MUmg1oOCH55EqTDZa5GN49HQIMOity3y5y6IjdUatFt3u3/i3PaglBVhMqzQv9j0A8XUGv77A01hiXY3jIe62SVoQizPiAuzrcRo4HqFW1YCphx7xAomUy7NULySWoZ7oJUv8AFS4f4yJStbz/FwZVAS6ghg8qN3H25dvFdzYSYh1AQzRZWCTtaOkX0yQ1Tl0ZQVaAjwaPLrFwQk0AbiPpAmcrTX7tp9udcU8SxplbrpVsBo1EZqELCmbeX/QMPY4XqL/fo9oCwvK+u4p/L2r0OoyBl33TWGfOkXIXtq2rsYNM8jHau+owgw33TQ0MoeX3I3g0GyCkaUbk0KMMB6tDvxonIP6sdVuGcfHvSOZ0sOZATrmJ3f5DZtoGOHCNzAXOOWcahZZB270dy+7VUaLEBrM+iFWzLJWBxDkhX3h1lJ7nD9f6WQ9uTtJt6x90lPy2CVBPlQNFX2w7j82rYfUedOm0xfssbaoyuUNfTCi61otV28DP+jNbp9jrs4DpfNtnv1duwhsqZI6390xXcrEk2lSADvIoFulrvTvIgN55CW7jW3kmDeAxOZw0sOwIW3kBdLAl3Hn8S6t7lmOWA16lxRTE/ALLJykPgdMxdi792Hjwr0dGSnXzhquqA4qD1qtGPudvwEWs9XEfQJE7Exw3SryqiehyiXAt+FARaL0a38IqYfxFhkZ1bDABxc637omaIgKZ55QqHFjkbm9khIho5FsnZKrUh69J7SZtqzzos1qHihU5dOMPUfOvCKHgmWxAIaU0C47CLUQ2EX9m3eL+zVnbrqeuzlBDX4pYB0W9b3FgnMjWvXmfVrxlOWptNGxoJJ+nHcY28mCcJ6Tg5PTufAPOWknkymMj89hcrgZ6Pn5weBbR8gmCy3eu3HIkx7kEsiZlCGHtIBPBpE20+TH4h9MtNn8ac6t/MTvO8BXDV3wWmLunWZOzYlUVJ1ZjCAJpYCV6i4PCkF2FXccMeroTt7mskqoTfre2orbNfp/bnM6U0AzCDZMKhs8l6watGCxTRQRTKtB6/JNMyEVsAJII/SO5rPO+n+tMXiOThslyg48DWllH3593QEprLDRBL2fAqSB7xhHS6NfOXVlVNp+hDy/lxBGl3DtO3m5j8XDpHEmuqOUnY4Zr7+tosHopbdDAXhv06Sa3Epf+jhFgzbdpM4sqt/gtClSXlaL+OmYf8VPxPCbScRkIbD+gykDeNUZISS5hLhTzfENHOHxo7uei/45rWcNVw/locuwZ93s/t9VLbC1BOMRA3vSVOyfSu8sCl+wv7uiSwzpb+CKtuFMh5LcV6SyBhMQV25L2MBwt4HIOOk0xxXVSL6ocCrg0K71pXAjt5t7M/Qq5OjZpd6dFjsBOD8/KQW7pvy1yQBEI1EOpAwg8IEcb90qhs3SpDogTZMclD42IWBkD1TuIs/rbUNv5OHKE93uRobZQJnbvBWUwXufZOu1nSUVoyvlbvGjoSZom2HkfB6fL9bRheqA9vgkKtnbhcBBmcnJY2rKzsaqiWsYke4QZ+k8ls7G9S442Jsel9cdjkFr/67CQHIfvSCpY7C/fjp4nOLoRigP4zzTUAdTptq2QXVn4Z5AIu9x7mGLn2RRQPhBlkPaobwXcK2CB3dRpMh5bDCUeeAcWh2ft/2dLd8i5Zd0MS6FMQKxj/OWOQlzG9jrJru4qiMhfbsYlNy/wPJVFyS5jSU2WAG8nGN6gzDKvyGQSgB1xd14EWhh/WKm0Eg7bIqLiOg3WpE+tnBi1AZdnFsVL/0fPGLwsHPm8pv+BQNUy0Jdtw6Hl27lPTAOw+fjMjmS2yajQ38aLrF77I/AFXEcTwS8LWv7Xc+N5hzdSklXmfJ7NZGJrWL79hlC+LvDwdjzFR1QbD7CBxlfuINYWLWCvblFDYvjk6SFUhfTMN/Nsnkqyitb70LpenU5DBNzxIsKe0yKLoieR24nL5noHaBNyrTjBlm04dd2KoIb06RMy9Ghorhpqoxo93b/uWOhxbu/j2fO3evcJCwRwme0XWYL2Pe974voyHgxy4lWFyMNbsH1laplHe/ybxElQxVWUXM6YKxSxu58G2R12NzLXqa5s1uwktxSgQy1xkvcrdsf4nEbE1YIZommr0Rioph2oJ/kKmwM39/tnh61LzH0lIPOWpEYUDiofYHZouZdZGPPbbr6y0NG/de0BRyuz02CXA4ix+jIXff0oT0Vd9Pe5MG1H+ngh3wRAuOsEI4XPb6Es/isN0c7wv8LALEn5bebFa+TETqEkKO4i0fzrH3WHZ/ulWFf4hfPV8tmsEGrqmzxh1xTHO/6PR9drv5XV7zNQu3GLiIWGA4bmuKgxgeAfdYTWXy/FlltVwfYvisUUGDsmX17kjdQ5fb2epGYwo5Ju1t1zKnkPQPq1XCzfWSzPbBHHw9ddx0JGh/X5l3NjiUagi2gwy4XuetjgbD1G4O2R+cXQLVlhVk6sPLhalD3YUnzmf/D/HvTwZuIH8y1ckC4fxXccwsysFrbXG17HSw321OWmAdF9inK1VhDvy7ZV7/Ef4HX1Ox0LX91RgGN0+BxsDBLEbhS+Cn1do89gMl8nbmZ8wpQQhF3IGsdF4M6tAW4EXKXgM1BaOhJ5dcrqy736TN0MrYz1qKETb6iHl4rgpbzXFyofEyxHk1X1bKKx3ruDPtkv324ypxZ7KtptOktS3/MnKAwTh/n+Ul8rdkNSf5ih6UNh19oeyoLGkqwhNSI/w6HyGlREZirrs1oOCwxC5VPpdt8o+LBRZOX9Kc3B4k/rQf/ELWniY3CDRrs4IjYBuxQa83kslTzPioyhshWBnZ2RZVLBkfdaR2Ln9q+l/qIZJIxZeC598OIhhNTxW2kQZhrcF3KscIGYgFs67Eh0A5Usxuky7U3aNgryOOgROVEVhhv/mv/6AY3QMeaWwzQePH6H9hzJwLA0emIA/u3/5ZcIRC8j31d9fqd8C1fMJEHS/0RT0fktpPZsoi158hk3beZz+R/VfTR+x3U6LMxvlBbb3wRX88ehuqCLgATKzX6zkwGta/Gf1tEDR79Fsx5Q0VmGOBurCr0Iyx2Gu2t1GLzlATmUhY8MgoPN5gRfwrS7ot1ZZBj/0cCqzJjRweb5ywHp8MnAtaXgV1ISXWl1r8xrflCVQ8dLHe2dD+mnlsA2mpzY6qF0x1j1HgrHrql7mlyte/AGchjiBaeV70NDmSp2bIKX6UAp2cM0BM3MM2Sk5cSDfQkbEer9BYRiGmS5wC4pcnAfmXFdtkmlV5zg9Qgljj6IV26r/0XVa3aXEi29inV9gr29737UubK9NccHBa9RFrz0AQzYWhSYd3snz5o2FzuxBE5jLJAIZMf9G/39/nf5M9kSlEO9+b+EUu/Qbc8Jzhc+njDIinJ9BxTIt4eB9JY13+OhQJoZLKV7hHpAteA7tqF211IEnoGe/waGnMfI1Kts6L0oEeQn+dssOBO1DCCPBSqRNY5+dutUqjFSXCjTR7OyO1bxHdUqC4K+wy/4ZKa+GsteGP1soRngj0fDpdCJ3H5I91KmOIR9ISyEX1uo0ew/6wPqRjWI71iwYR6IreGIx0X9f1G9RRPLdgR4NirLh3F5GwctWJQiWgaTS2Ay0NvF8Afm3lL5/9hiCjzAogPSuwJncrLAy5LuHGW8QgzbgbN9/AjecohlFuCRCGXdU7Pob5zWTiMLmc4Wi7r/iGAC7cubAlkhymDySOB0AulOVFU5k2V2PYLOs2EsnyOB0mJBA0I6xLPyJWBeEDEAtDyrRPa2MHOnD/f2Nv1th2Y8Tuf6xEew/8nRiwkJIunXkeQ7+2lZsGhxEiB3RLPbDgwmw84C1DqnTX2SmN37v+IdEykpXMhIWCOEz2jFrPaq9MgXXdU3bdI3TmQXq8QLBLYcLP5tXiAKoeq2Wnw4CRyrtMTn3Dfmbci/0YiIghnDydWdfdUTvf08+DKZ/VanrxshRb6IynuB7cexIkYcbZKMacurv6YQ3gBcUPr2WLNXVXZdTEjr33xpHV1AzypL7XaXXU9s+OSPfqg7E7wzVW1j2hCNAms7/F8EzhV6/6AOtpmLt6iF0iItZK1vbMzgsGQ7jtmFyMdfhIqc3R/Z+bOs3DhyeHBm9PRf0muKOiV0KGPrbpuTVNLl3Cur1D5r3Iv4YEahslGJ/9QiQ78LdUqvM7wUprSbZh8TzBHWFtxymtxNzOZJj0VaOSD2GCSva5rXGlS0wrP8pYGLRcBB1C1XCu/O2S5clBvFfDEZnaQc5RRdWaJtjd+nd0DN1CwmLTJkM226DRPaNGDQjHL+PwAbAbjih2Z6rHYR/SASK0/y8uBVN8XWX1dTX+jYHflH0BqKGQLukaL8dthSY4VVHXS4WfUg2V1WhYJNjJMamdbA79wfWAVUkuTB88YTp6O9iF7fAPNDZmZXJrg34E0e5yYc6ybPM9eed4GP0w2Yy6ejYoOMCiFiO0hRj4I8BAHdrHtwVSRWE8iMYrQ+ukWjPIhy7fy0sWs1kmyq5Shq2HXmy7mZkfn+sV4QS/70K+5cBWGB7Km6Xu/1QSTZuY3PId1p/IkJ9JAFI+FgLE7A1VqVmMnfj8k7UYZzsQD3/5QykVvRusOJ3CTzXZeYlAxgY76iXoc8ccLUANmKV/Xtg7SyZyrh/JBO92w/hx1n6bbhfUdIpeUTKAN6VWHdjTKwUVpJeHRUTawAyPusMQJS1svVRibyqvLyw4HMUp+OvvqNpOGH4W9x6YeXUrm1+EGgF5m0FXZaLYaxeSJCnWTR0gNMnABDkBZY6onG7icacFP8lR+MR398JhoUrAuGHI9LHoeTMKTCbC+MVygdt4sw72OJWJtvsUx2tu4DzlsZNwC2HncCy/oCcASDEqdCXtm5j4Z+PTRm78a5RMKTxyBgqybRMRYgQ8C7PCL/pkHrK/uQRzWaTz1YdX/2VVRynVTPg2kyVV1A2VLDnWrRAgWtw4hnqqURHSKe2TyYaKwA1LmW9kVsYWcZBSPVthptKdR1ULGQcJQctHNjoZwet/CIDU8q075/A8la+/9YiN20kz+RI3D338AhvI46jA4skuq1CoV3QzatTYY4SZEbc+onNVsdgoTgycRrKCpwKOuMuWB2D5QyoS5YfoXN5bFui3S3enqU7Td+xyMWDo7tL7NlUNwjF0KlwGfLKSWpvd+sVxUASTBjNtt+ia5xLYdKQLGkb1WIitz4onbEMG6fimBK7MDH+by1i7S0qIyaKg01l/TuTGvaUPknkgGldUEKRqb5WFQ/gd+l/5nNB2rD5H80WZb0zA45mFds2dxoE3wuhfrzlgDKfL+JrQ8+SofaALOcMTa/CB0ydnDakK2rBZnlmox5iaeIOlqCxI2qWg61ruPuqvaCylgKlw4aGDhgoKgW7gH20qwpSiu0DBZQ+PAmymydW3KvBE1xSPgelMHNi2NwqoGncavixwyOrPGLNSkQUtMjykz44/ZuybvEWqBDv9aXbrieW7OFntluQr+jwPCEYUd5lVE6vDaPjYwm3g1fEU1twqfVHXYUloMJogfkFRDX/UyHKCctzmCOf7z1sWFj7Rw2xUMnscsIQn7heWC6c3BjTOICMkwFVwdK0aZu8dN+5SNuq1c9HkHY/trTgB6199b8oqEwNRU9zXkxsWf6VKZJdzmRtBwEJs4xWdf7PhXR8u2VOwux4gON1B7xEXvG2lypZ3YgfW8AXhnpV543OJjkm4mh8m6nCbg3T249ELVar3664Lbgdd5Pu+DZfOe+ir2cuLbe0tgBwzvwttYvrnM3UZ7ahHrPr6ZNa5AltiK9cOGa5ZAoSxhZuroDXx7OGyeaQ/xr1eH/TUdiPivx1PDABKLquf0Oy1HPr+pSiJf9s9rQIARCZXfzg4BMBblYjh2cgQuId6HMMaWfShbsWRiwTJ5/HluxA/BZQPFvLN7qzXJ8Zzkeq90f12DXGiMFqIDRpjRV6aogEnTNswLOCSOeqvPc2wu2IDCSMF+Zm5va7Dv8L8Frt90jc0zgZ0gvgPjmgaveDfwT0sZh9pEY8y51V8owA2cOiRl/dAmK1Dh1vOfvgyiO5t1XFt0B56PcwSVOBWJHiWjqTqotdcWdzhpUM3NMD5Nii6IbLG6xbTgCXxkLGFt71M5KYjckpJiZU6bUeJlBPHT2/Q1plj1294n7bTQg8ouWNbOiIo1Hvq5zA/qkj3UnOxse+jhGg9Cl6fgrBhH/bJbOsBwRtWXr3vGYvbsoaRmhVsIGaoQI7Exzqg5q0VOvpF9WMHIEZ+c/QTVenPvJ1DSheRAyGDpMMv6sT5XymF22rDxQPcQDLckHW65o0Ffs1vOyGEAS0BokCtEOaa1f7W6yIz3nHghhGPX5DA2oMf0QeWgAbLGAW27tyLBUkkYdh6B+ZNUB+KKik6OPs6ErSG3/sL/MjmqRgWBVY5XPj/BO1G7qvrTNyNT0sA2WUscl3z/QKCbZCjY2MOHarOvFgnXsLtUgmdpNSbNFXb8Zvdo8yOQaH/OqJBIeYLVAhv9uxteZulBTDsLlb/946ZL2p23EoBxI6yL4TVeklCPjJvPxretyCk5pKzthIEte5oGhwGFl+z9S+Xkqjkk95EGDRAdnxzgR0dBgcUNedM4EvHdgxAgqqlnowsrpG9c+NHdzL1a1v4qx4GriSarUlmHbSiQny7L7QBP+BF5nbuLcz5Sp3lVLAXjNsn1BVmHp5HxoyPYJu+4RI1/pv7JFRudMzoecXrPaLz35UloOF6EZXEEyihc3KXw48dRv2sLFnjANOYGddrfn/ffhwa1zEW2F54Xxy7lQvmMvsdzDnCz5kq5eab+kLUPR13eKjkzuz7Hj4lzs/bBYSJ04M2vs3sFzjLtli0sk5H4ADP6CfeUXSypkgRaCV06Z5n56YBU/KkMPASWjARujEPfTtsIEZhxQcd/QF+/XxNMzllx/sMNr/GsjS3RcNgAYQ0vKkaddV0XBMpg3RKjt6F1CoGcmJXQlxtchXHw7CRzqjJsWS/rbh07Z59Ak3T9nJVjVUmczrzuH9x4sK+rK4JVeE/GbAWNk6NuADllI21iaDx5cEF1c09UBKV96G6HG8htz5YpDbljAZg8JbvJzvqzBcXK92ltx0GjxuBjDiuOc2ENorHRGrzIfXuH1TDUrmQ+F2JmPMfiQCRXJFkpT1UKyGFBpUYbZbVEQVYsRtkrrKyMwE4kLJVozJFpSUwUyrDEg6iYaOAxeSEFgDKN3f5jEvUDSHWSjiYrnAGtcTA7TK2sXFL6rVjGbDM+w3Oh1DNM3ksW0ZWJzQnTlNxU7dh1w56yt+yk7/XwYp1S/JCvbLOO6LhSJ/6BiuF3pMMl++PelgnZvcwXhxDQnddZ8+HQhrRftOBF+CJMIFAKfGU0AL5ftMwALu5p6GLN3Rr6hTG7OAh5Bquf44LK+EcJ8d11Go/NY9yTW6lKVCwtIz6NooMeQqxJmK6if/m+su9toWOw0Y223eFLRcwxVWweyMVoSZ4gHFMjc1LIhEskCaTfaRBFjTbkXOoJQUSeqQ7d9cDXsub8biRSofSZsFj3o4rSxgv4J5KqXdZl4MW2XapYWd1cVhgDp7qfvrdq8S2ZNfCGANBN/jO8N3mL8MjFb9jhyV/BAYpbh6bDbNP2hzzU3zUQIeg/fqYqFmnI4M3W/SNV9K/IKUg3BClPvvVe5YCVzt2Ox2PEjp8o2slQs/O48MYgGMhGD8escsgM4QSmwm+X/ZZ/ITvvuh3kPs2O0GtVQw3Ey88Jn1WNoZzLC2un4lZPeKKUNg6QgO6wqXoTt51uWTzzOcEKC9bjcOb/5UrKm8T8ySQfI255usDBoMsDnTk6i7tEG4McUuhq3hlS2Wr88IAwitDfe08c27maVYqJlW95frCQsdLYUzOqNX06YvtmCWml01bEHpdm3gz4/bD7pL84z9wERwc6QmGgKahaBrWX5kA1FYJAOJ6746fz9NDbwXHvfkkfTonGsBQyoAFFagaxhhvYOQgGo76nvKmhHu0JSURGwvwHBJ4QoOAF2/mP8kHzY7LN7VZMjWBg47RpeVOlfCW0bI87kWho2eV/Fpb6thj1VMpAKPfYVYxQH6oLNOYPOkYtOSx9AcU+Yoyy3QQfrVVQJ4wuZAPkDVNbxbeVPcPUUy4206Q57khDi3t93I1J+WzQGKGCzwhUrru8APFt+t169VVTFFZ6wUrTseOIDm1/fxsdpFAljaT/5MMCsFNjrx8aIWd8ugbqwrNSXKKUcTTrm+Xr2aVo1u1aWd1jt0w8iYXpFbKJUW1u37Z230xnWp91utQoGiNiBCDUCoNQdbKpFqDwQ7couZOpvw8HYZbI6Sfkr1QhmbY7aZ1pxC91f6kazLS1RaTPg3xf7dmXZ4FUGWPt1jeIzWH1COwNKBM1AUFl4giDXSGgg0IyP9DkbYVTQRc1Cn6cCIgY/fWqoOd99fso5XznYIMwEZQpg3dFaKgLs6jo4btDVu3QYmysoBzLxF9AJfHWqG6NiXW5xhtOr08uDqosRxdI75aI2r3XcbHv68PV/VRwY8yHwuxMx5j75twOJ+Lgg7pKtg+fwZUwIMAcymVNpzuRZgnHhi1he3eCeFPq23kWLND6wuKxg1AZ0IXa054hya1YtXCP+jQyo2r/fXk3A45ODwytcNjBknbXeaBUchsrs/Mh2XFIOh26IeHHkR78ivPYb0U+gti0c5Dk9ij9GeWoG2B6t7wcBfkYJKEyh9SsV7Js3IbcOeGos2fd14zhKUkihIFaSFbu2Yxf58Fwm296gjLni0phuD+Qzdd7GFQd6Ysegt5fnLEtHJacHTIQUmsD3rJYzBidtPO78OUUADERrtsCpaz+S1BSaM5g+dUKUKnMKI+XgF7TBIxw869UkhxJ5gQuBRPz/YQGwZFIXl+lOib+iEKWeCumXTWMUB+ov52sD0PIVJ0Ny7STReUqlSr4OhLvcIHmVJcKPQk1xgoWzgqxky6GystIcBFwFzvVSuD9ICh/BLhme7DapmSMgb9xGAeVYONSUvfTwkLxKH7majEZdpr06svr7Lgr63md7Qwpj2uwbb6URR4UTSay0kR48owpjp6O0Ndamjj3WsCi6k1y9DjGCQ/YgSe+1QWg+uURX7F7ryKetVT12rA1XRoQdCabnrLx7ntEPTc9R+fatiaGYFy2mAysLZ3BHkPN/I2Tbmi2x8ZojLRRIcoSzSMaJ9c5ftRle5pRBatPmuhCDCyMttYdvuXRIpr2UhXwvPKAcOz2z52RqXldBsNlqfPaGjVtMzhfz/gkKDB+bWQOYy4aLyJRzyIqMCuVC3lvUM1Z+8LhcHr7GLYR5WeGW7Vb9mb1Oa+EIS7sFhAIX258r2FAkdEOHu+qptm2GqpXZGJRuWXn6dmCcG+snvICMdBjWHIuA+bHLi5KAv9AIpgbDtFy1/Lu7QM+xK+wYP3R54oT4Ot1OTE4Usg6uP78S9+KCk+ggefwZc1NcWSzdFvV5ZmoY/I5VWkLT2DcAluHolOmu63sOnAT5DA4hTwnGOgVX4fY99HCNB6FLsS9oMOud4lT/O2+hR4w78ZbSJQXHNV+2FJ89vbEQqRtLIQ0QzVzNR0x78aiu+iBJLOVhgx/BZmS5PIBA5i9IhYR3cXx1cxZjIqL2ptxhbVJud+v8HEdcmAIJwCB28T7pAcQ+4Y2Ps1HltHtndpk4kAFm+die8qt6mAygYUD7LrfTrqqE/bkK0dOh4XxdkP3UM1X+yNcSVqw+wqY8NDnx69HZA0XoK25dZPTThIyyhVaCFTVvZiqc9yPdR8bAhLybKpkR7jyrgkhRzFFhPg2bQ38DnAHB2HRcVk9cL9RMzT1hFyQz4eMMYplYJzWZA+5lfSDwbKoc2j2g6If+8f6l/2XkXQw6SVGyt/LJzM9bUGgpK2uc/fSd9zlnHtZgruL7l1/4SRt1ISPuKpLKReQwlJ/nEH2KSaxSy+gsVp7gfMRFv6vmZusB1VDd5BLBrtGuhefeAua0vNTPI9B3p4118YG0G8V1k4QkfEOzFSDSqWQ8lAbztDPXVnZXMoP9k8ccAPo3A38QDJRMMelstNv79NT1PJHuP/4j1cI1xdovN03cMi9J0TDUHmRH4X5SG+WEl0TDo84ci1d2OaFvinZF2UowlP4vQvNZDoVfAcurpCjr7QspyUGPgOZ/ZHXTiKSf8vJXYVAhsBN1KFo5THhZ44qnbUMxtQXT9QC/O7edyJZW1i3P5gT2VmEm1kuGWY4Al0d9lbpF0+AUXVuD3ajqBWTEnQBwukrrfdRvy9D+VIoViOQwTDHU6bylAsFqkDiYVC4Fma892vI1LvgcNVDeYGPNFQMbe5g1Pwme+c/EpVfjy/woft7IFGgTCBZChRcyZRpfXRALAb3dxtXPpdS6LOcQ0qHOVCfQWckeo5Q67SnxJZRG+LGrJ80EJfyuMCSpjkteCHFY2rpM+5UVL291whhfCtf+hkQP1dYrOLNUgSUzD58ILMvy5v630Hf/RlYXNwld2gHeRxQhiEXwwGuaTptSBTs2nzxK1P4FarJYQRPcE/OtowNJo6XXhksK34vgyaC6MTsZT9X0DR9zXBfwDGRy3D1sFZ9pNoWDfx1Dn22Lwni2lupn27hxIbwPONbMBxr4lZozTEoa9kFKem/XpNmoqfBlVdtfprxprrWdvlMSYxg0CUa9IkmuRhwiFYuslvDJtx2z6XudhIWjAYAbuv/anGhH+X4OKDTvioHtjgjsRkQ21YzmFYq0jn48MFZ3UVVUk8d7ljvQ9h8zZQzlayo6WNXuH3bZppboqdVoNw9csPrmMDi3ZM4dYCsOiaztcr1nxN9mrRIryJEsQYB1ub0R0iaZbATpjmW0vMjMp72Ln9FpCa2iyefxwbUo60cH8vrvv8Pc/ea7imZT4neqk6l6uM8Nrg1F2ioDobKra2zgCoAjSX66qc/yr41JpbzgTfzAAfT+VwuKAT/yjwLO6WV+ZBtVul7zIrXsRnXTPER58Y/3NNafkAEmAFuVGawWAfMr9PPaABrUt7hnZYRd9cQwbd5oy+3wqwEwLZ/l1ocYZzrsGfRrkEHGI1N1cygjUGL1s1x3Bf18vFtx+JZFdmd/0m98V7OIcSmueTJS69Ngf3oT5AgOclNzP74l/VNs6/+oQEsSxCOHDkXU3tkKg221pIZOzNJzWVcClFDRE3AHXH9OXwQHZKj4NQrc3wrcgIEc/UdEhqFacFsvFTFwHJ63MrXFbWw0eHppEwvBNslIOhb2gs+2RWHOuDNiPIEdLh/jrjXgURR3eBpXLXSB49TA+MRbLvPsywrKczO4/7pesR56Q/+J1pr4qkoXSwoZZy2m6pNCuvoUGbWM3hZRA9wAfDl54nZO/HUbykKlTyyOlCtwgdcOREF9gjjhG+M6t3EOZH7o1alOH0pp7U/6s2EbunoxEcTd2XxdLLgJ57ffh+93rIHYJHGx41B/mo1Vl9oGPtRg0Q9TpX/gyUT982bVxBbr9Ztn2nV0StnFrrRV53JBpptVdIFMataipTTj3LxCk0ojbFU9bS168RM2Sxm53KcdUcNJdxubU6mgNaEjGjjbXJoGdrnJEnLjq1MT8FiRBCpEQ2ZC/QGaILSEIHBD3pVwgny5xoSUfvWyzgHhbbcmGeI8t1G9SwzTS5cK5Oij8COJOqtGjTMxkl7V3tdKXb16TuaBOPIwFhTDv6LGXhFSHJD6/I3TAbWWmJJhvlhzklbYpBBokkYzlBMaMED7+v+OFCkgpvJn6SXpLtr0BP5fl1RiBTxNiFSmjs4ccm2rrXJ+vgkZy4BE31lpPUWnCo+ojZ5CI1MLC8Rhjpedn3PwI1/Q9XehYMCTHAOzfAwN70teXmK1kIMiQlEKTjsZCg9n5uUqgNmVDLi6yBxSR9N7FCC48Q4GtIe+aotsjNsOKHVJpQYBq9HVZABtBVEhFLMTAcOKW6a4Uv7DDVYFhgFa50GyqZMe3G86KxBKPXAjTyxkFHZcT3zHfY1xaOXQj3Zi3Q1y1lYG73YZRXHLz8V59382i8xSkbqhnGZr160d6l204PtgOinXYeJHugtQGOzZ3yMzMl+lT8hZqc0Wa9a3IRCfnNwTh4zxjyyoHahNJv3tE2Lp8NgrIY/HIHegDB1QZjiVBEVxebPqtlyvvpZW50gF/Gt4Vh3yBhqn1AHjDK7z+/bBir/v/PayP3fJ8L8ENNsqhe8zCequD39ldvz42WhlqGYvjomZAJSTQLEbDhmtt6dibK6vP7bHA9aWN+r6LD0YsvTkgACC+b4JBTxMm68ZLYy7C/nROoiMt8kWtDlObShF29YXsxZ5dQ86+2qfXqUR0UmSWz/XYMzJaeh2UxjSMjfjmOJvmM1liwNi0499szE37I7W5ggjTfHPNQVKjhWd9+bVdCHvB6qgISu6Wkra/c/ggoLqSoQWVyNYq8R7bCVEz/MBqt0veZFa3v6go01aLE4LYBjh82wDt/7ZygYhiMaQ1bbVSTUjNvl0sHwv6F7NjlCFYyMRYbyZs9zukTON7pux8W9gx3Xt8uvfs4VnH37jO2o+MsgEnPJcJyIJS2Fm1yEFhmhG81wKYnR5JCSTyVocYbUh7BJJpdQ7ol9NLdfB2Z+m/wqAOypj9kI7MQ3LTFS+ooqrv/70PoK9zCgFvybcJyMtNPAjuCCCmZGurwl4W7DckaRkNVtxgBWSDxBY+ykGe65szZBqBk0xm5SKtY1VwQX69GTh4lqHxiJuy6y49uDZvoLQbYt0affQjNWVgyt0Dk69rqa90vcJRxCXXOgnq2S/6ywLS0ivWUZ86zdAjf5x4x2tBeF1NJsMhoJamPnO5Ftp6OI9++YExk5Tm6BABhPH8NrBEUUGdECaHT1pILrXiafazmjegto/f//xjSHLHSW0Ee1bRpqtYhtEixnJLGWG6rn/lhHgGZEtQA2RtjANC4fwt6L2Ra2WovA8LATQn+Olqx/RZT2qnn759kYEoq1TLl2M7hOdaBNEMjmjUOjrpoup4biduv8j/UTVOGoFbJBGdgszYofBCH5b+bGrKYbGSo9qs6DOwdxg1tLJeIzbGg6CQyI6fH/RhMNuTTtWZcTX0/ArkSJdZzrxSOMZvKmp1jB7s4mxyQ302DKqyEPMQ4CqfU4/1bXTaH8vfsbFv0VHaeHFrcf9Zpq9/ZiAu0DmqAYLpxF2rhQddsbZLTitjsd0QeCTRAFEZC9n4mKATFRxe8kpJV3etAU2s3MVRKutZJ4u3J0LKoKM1CSk4xzp1r2XdUaylSa7+EqtDEwcfg4HEjf7v8zS97VYJfi94Bl5WkIY+IaZRZ4pzUGUi+9vYZmSRWKpTKVjDacuokKoBv3Z9sscVAc1A1bz6GXMKrh6HyRMfDSQyFs2qv+NLCE8Oyc0iTNmDBOxu/6X5x3rFGAw377UwuADNAiJsdHqcLSG3nqewU6bue/4FNsGesjxBkTOCe3LNmV6rpmen+ZwFr6vV93eroSu2PTPoKYzCsqksmSeI5bL8DXl9NL1ug+ZP/rpCPs7CK+5NOxNi/GuQ07MerdgjZnD4J1cOJc2UtP/qQXkP7p0Y2qrtNCo5dyw+bhrLiOapDElH8j3D/oio2++AK6XKE+FXfueVqQeCAQx57oGtcu57wxH+YOlhKicYIwbNJetdnjOtmflxf6VYrFV2iL8Cdz22K2SgV6EJMurfWB5E22M9mNyR0ePqTvP3xlLupODj7g4u9fcze9mil/S1QAKXRye6g4X4yj+Wz88NUpt5mGF2xETo3DjeIHIi7Otelsi7lEbZAK1SikmQN/1JlfyaCJUJBCkEbd4pNigOsgkWzNxbAX8SQsPXj+G6AwXbE6A2baEMQiWHmifN5E0btKIPvn0Nrx6BaU4VyfoLnMXyXHyenFxghLJFi6YDHQ/ufN75YAfILVSqeWLy5eeh1bYTswZ+8PFZLb5YwIbgUf+7mbTXp1OZyMxJnHcuTllSZl7rWTfkRv0e3Me9bbHBHQRjpI1IGDwEtSG5mj47gymuTW9XAWLo/pDuRqN97ClQh+cq//n1lZxUI/a9CwYwTGDVl1iyPT1VeNIO75J+xIedyk8tL7ScfYf9fPVbAOrPMocXmFaYY58BGVf7bFMsaX8SlPpO3D940Anlzj5fDDgCwPpiWFGDn7BPnUlzSw3qwyF6t+HdlZHwEbr3bCORchqADaIaGlnyODwsEd6md38wV5QPXHEx9qx93cyVECOIyMrd98WEaujRuCu1wAMUbVzuBOD8BhAGBi0KrmOIQTL3bD7rw6pb53dTy7d8Lt0OhFxixA+lbmFoP1UiHrYshMkY0ta24/vx21oOPefK6CMh9US6omd2QBIKShdjuBhK7jlmswi3Sgvsa/PK0y/UAYzeY9NffUma8zWwb5VCsW+//MZDJ/s4PzH6Bg8s60bVLAHDmlZ9Xb0j2YiH1XmTaNH4haTRR2D0WmoI0FaBSSgCR0exEt+PDeWPwrQrBEwGMEr02Jk+eR9BWl+0Ql2isMlr4mmGiNwdfPKtlcCnerjDan6cnrynn2lnCuOSiNps3stskF7Uoddz48UoFptmPcuPIvuxjwBXZw245AFVVYY+mN76QNH7ZCcFICrg647o0dOCCLX3DW5chTM76d/mHZLKnkiYZnCBW/F+NACpCJXK4RcBYvrjbfzITqkMXY1OhoBrCCikREBLfJktO61EukB0Mc+wotesyJFuv8kvAKuAZnJK9B2sMafyzN38w24cs38zjN+pvJtTohVLiFp20Sv10rHOdQe4MVyaS5L4IIv2JQYEfzKxGg/8IpoRNfBk9lPnnK6wQpHUgiOKVyatCtMya3+vx7qYe74EoELIxO8/2hhsXImWXiUpSGlfNarvIjXlJopP2qnROd0+n+/gWjcA8pSUpYTCnXvtIgf64OzKlkB53DBQXiCeV056FF7Y0WQUAQ8hUVBMSpf4YZaOwF6t6cHLYTutf2F4WHFkoMCBKM+206hfbaU6c6Jk3ULoOfg87tSqVjilPfJtSyNAukmMdDpsRMp4OZk0jkW0unaU1wRp0RCV3w7b5vDjvymk02M0gYfRSPQt95kdtHxkb4gY1H5wbYqbQxPSHE0f52NBM7BY1Gk7WEYQB+4w90GBucCIzgpPgNbCn2UgH/8yshnWgK/aMMORx/N3krKR+MU+c2GLaG7v4Memp+QP/5dROfzhEwmd5OrLiQgY9dPo73717DQVp0i0k04sBdYI/jW2TvsoY5+IzdMGLu2X6R0AZGXWZfoi/7qrQfFcHINx7Eal/EusBOMrbDabh5xowRukQS64mI58m/v8vtKreatmiyzsrO31sSbjU9fgcYMBnjtCQJacVgmkuknfXae0uTK3eXjvAmuzi80Shq+jkMgxPgSvZCaTHE0AZj9Or/oM2Spwyd4FCdDYwv/c1C9OT6BVae9WjUydYT4zb5GPIRqV54yDLaQV7skvPQBxfQvCH+q3KDa7PChOufOv76TyBtGgzx3iRjzy0ZQ8aSXka4BMsfWUiCuhZJ9379Jnr3c29jiZag9mmyj+1gNdRNujPv61IjcwTK31G75VFHkOd8ZliKKqqxgUq+rzo+SoYsbAPLM3y15WPNb7pDTHo57PM1y2q+ybzBRAZWZOw3Txg//AfZcnXJ9bRzFGL04cVRdYASVZ+rF9AaiF9SptU8CtkhMaLgWq0yyuruBKdHd/IfUH5jXvvFp5WhDlRmM1TAJ0SSrrTeKCOaYWJSw/yfoX8J4YkKKMkFZEFeAgbXjFrco75rwXM2Lsh/mESnhH1gHK4Lp1wGaWfFiNdsNK36UBRRWI3u2dKrTGmo0mu9Mj9qrmEJzaSyN43vy7z7zGrK8FTGRGqy2XwdZPDlnxMGttoSUdtVWeLBhcheUMeWed1lo/hyNnRvdW/bUqZCuUV0Cg0jf9QOS3+6NsuZWpN9H8kYGdroq4KuHF8ZKruVHn2t723H9kYoq5bKQ7p4HbYGFf2CWHZrjvUaTdgz+tgjjRuVHiekUpUbczHgOJYsOcEpid+ZeF6UFM9PptbwGMcHJyAkHrir1yej4A9FdvjweFQSaRMiEm8QrKxnNQQD+XWMmzMsh1gKBK3M3KF+hu2FpBJACUcYzkcYDQKX3K2WLyM/RupcmJ5JsmpCUnL9j41jbPuDVmu+bE8X1z8Hz/B3Nd+ulsQGRxosUejBOR12WEeFv7du+lEQqw+c+i0TCPhf1KaRSaNHPUi6jMRGLtpVtAVh2FYkAVNVFewJH+llVCnFRa4/1PhTtkSlFWkBSF8oOjniyuG2zK87KkVNu4ieR7CAOQr27ls484xb3+TuDlFZ4DexcyZFct2hdjnRc2eX4GPjGDQWP05B/xnnTUxi9QgWMzYdiHem6rk+zvxVplSXtCbgFOV2HsyFWfukZFoJ3kxByFo1uS8dMYKsxk1YIE8iAKk9Ag5xTM5FSw3sthhL4PHAbs2qAWXNbqWhVMXSB6O28Op5Uu5oCarJEtoGjVKUVvk0K04jQ+dPgMykYp9iK0DWRsjkMPUJfsbjJ+CCE7c+Vqt8+6AfzlQEY/Z6uC54npo7j8gcjWxjPYNJJrBtPUU/9M+Tj78RHpwp7RHUcdBOyzvmWMqitG7G/Hkg9aedgrNcsICnShBecYWioQjhwll6srFlgcox+/OM1oNCI8j/853Rqae1HD1MfQnoZQRJXHjN8dJ+3ij/QquB0dTp8mtzFwLdmwyJkGEC8Dzy8vOGv1Sb0Xa54FRzRpacRfzL9IorVhB+aLLOys7fWxJuNRZEi/3MEp8hZmZdS9qMx5gkrwSO5bIiGQmA87+4+nE+A56p+edXr/ZNjHdSwBDp9GfMeM0HrZ6cQzQohKoi0wJCbh7InGRrNbRv5Xm5hZSHRD5XKom9OoAh96S7dWcdl1bttpDSrv34gSJX6Nzpvvz7SlvL9By6LyynVCW+KIyWmTZIKyCpTkzRAjerm8zfDN83zxQ1XMxV8f8LCwco29A9+1aQAE35KxtyD7QmmTpBxm9hzt9b9/SnB4rpGvbQWly9weGWn94lr57GxXtt0DmrMK9QnesfnJn1ta9q06nkggyR6LDKNXXMXamvSC2iTCOiGPQdmYKhEg7LVSjHTOdoBW1Xsh/b5tkEOxIbiilIiHF92gqYQcf0JWsSglCvHZh6Dwq32jlGAbPjxi7NyEkRhB94jb/F3qqCgV3Lcizr9DYEIrFuVfO4h3pgrhlwXHMGwGcVqp1s7DHPZDRIY3K5Hj35SrP/9rR1e251tlnRMYUkrJW0hEtTQf9bzsxE0dlgQ9RYo7A+5G2ZD6jvTLJDlQu19lMYZVBt7oqQRsSImnQm92Q4Wtfa0r99G7xgZvjaCKvMBj7dJ5f9C9usECK5Oeo+gjPqlkWwjnVHLu+yDfu1sGmuxzar2Kj9671jSF6Q+C+jHnBEX5ix5dxEiDcd9dA3M7SyLuCRtGGNr4qSyPcfSckq/v+49WRnOrUeMyHxAoKZg6aRhsE9drhr1W7pMzt+l7eORaMGOVE73/rO2vvrLnv1PZQqmUXBTMvxFZ0OQGGdB0uYWCZOcGO48OQbcU7uRnwvfRxI/BD9Hf78b6RmVfFw1Ggu2bOUp2/M0/CFWmR3/0vUziAoIewAkFWQt59qkSakowijvKhKm3yGVzr97tuPAcukUstzli/5NiPmGbtnaA47P2pgwheBewk9L28UkiKiq1nbCCK06WB8jct8ehfJs8QV7s+C3e6SVWzDlJmZpdqo974/5R04MW/vUXUCMWYKIb17b6AwdasAtSMZlSLQXnS4cI1anyGQJtBq16RJlTS499dWji3NuVw87Bv9AvCq4a9SSoO7KKNc1MEuRhRqjVjE7kVw0yCPPUMgzSAQ73u8/o4tmi/5Q8ZH1PNLJKDA5/qKbVWDJdpFlNYwuqvkp1HYkii4kAQ6vPVqKfUYrOLYnn8S7FV0YNZSZQWOIe9j5Cu1GFGDlBnDXWsmsWSXMLGmO+pE9PkWGuLGZN1GUX6tMBFoPGH4IckbtFZwMwC6inpfVfh12L8udT+hQthf2lCP28OYiOY0o+zFjppQnbocP3ifC6JsH+vPqyHsXzcZrIQwzH9DCEDYvT/KwGoBw0kX0EjaEHrsZu9HzJGkK8wUVikpV+yhUm89YWdspvhc2kE3nrdTLw9XTbwQtlUd3e2/H/vdPSUBm83ijAeg+bPtjZCjc1ijjYL7P/eWkzhs0f5nsmb2toGrm37Bnl2BvjbLWMC/HDgqBkFAQHzoBM9O5tm8gZqd6yBZiZxQKGW5DoVT9ZEmxv+aB8rIktYtVrM6U9D+rwU8wphYBpCyndhPURA07bD83NqHDz1O5Gl5IM83HT01zTf5QudkFaV7MiWOqsEvOOrrXwZwl31KXRJ8/5lwXuMv65YryB56ZSbjNkU/sFlThZDx42khfdJqwEsqL1n4Fujse1qcopU2ptTuNm79tprOl/Crjtjvo6tJRkdJXsy+TSvLrV6w0ocyByJm2epmCSiIRuU5kYsHufgPFmsIvt4445aB3mYzV4T10UUkXBpHlMUN5Jt4qo3Q7s3VAgt9t9LKJHWuz2LutcMTC9auN/WwvJT6gWkObILGLHQn3rdO31e6l9oABtHN8mr9CaNOjSC9012OMBUdRvXFz/RSgONI+mbhNfRGedPbqejmWojWdr/3reoK3CtyPaE2BQNexszjj/lQPNiyxShbG5P5pC1L6KmUs599JrQHeyEMHPE0WYQJVsHOhThKsvazY8wR7jCBJhZnPFY1PFBD+KsDoPyG6M5Up4mOkAgBSvPZkKHeKTF+kvr49vfF0KGiUlOrhXl9U8cShEptZToRw6UxZjcW6IHv8yrSMEwYp2b0z5vV9RG+qYSr1J/t6zVeloFsHcIOjv0mTBtH6ShMo37MmUlJh/gfFDUovVNUSZpqqL11hk2UIDtLup6H+DgkR+k3zEQ2X10ZRN/e8jJHX42yZzi8iwEzNshvsngCLTSepWaUj9bI6NxIPEhDasc89Jpz2lWBXYZ+pEP+yCx26z2h/QDoTrc6mWReIp80IG+S6usF6mTPAvyC9dqwqfwLLOp/6aaNBNekWRdinqRyRoF6UxudqKEIpcZvUGmg7OntFOItEj0PPNgStIv1b38qsMOUnS7Ipns18B6yIyy+mMFfd4YD30z5pJFCVKd1cbdr86rz9H4tdOBIqSdvk32UuXux0mDBwSTOSzpmYNPyi1vn0F5fXAobVtYbMXySTXIbM9tj5q5lcpVhkT4GohTQ04X2mPmaKVqPvW8F8E/pnKi+JhrX5FTMaX58zbSjgqgfokhAj/40qMaNx3aRXyuT1s9J3YdAsgV1ReDv95dMPbXvth3zIO+Cptgd5unVdLZVyVtQ0UZpyCgi4r/wyZN64UAibdWo2JRSYheZd/aJkouJ9yRwo1POtpTwCfH9vwSxbe8HAfNagjVlvdFu3ZIXMZO6SaBrM+YVWBJoyPsBtqFjZELH1xXnolIrcQiKrphNGqU1A7na5AY2iS1bGn8R5VEkCeSPHiFnH+yDKXS25qJE8O2LQ5ZAPRtT4GkhvzpBvFV7kVy2ljA9JSXRp4EvhtaQkVPwxJ6UaZ4r0XWq/rAFQIkflpkDDJqjHcLlmieV9YJbomJBZNAIjXPeRUS67VPuCuIkG5IQtRo6e0ggiBuw8Ir1hI/hZQ5X2ZD3IibP7AOCGKWL9vMS6ckHTdwFBy+b8x3Pz4f8IwB9Kc3DS5eMbJZP8A6VmyjIReFYRe/QF44QMI7ktadHtJC2mIKOBBC0rhDQYS1ExXFbOY2qoon9/rP1dJckrF/t+wKXfb+iiIgU0L4ClFryxjqXUIvZVC2rlRif4MohdEw9y/Zxwn7RVzXSJfZvxAPj5c0XMD7cuA4zFWmd+TDak/ozOXnuQWkpeBKp7WKgU7zovRH5gQ2V0/Ktp21ZVAOJ4KLSAxIkDh1AJcrPyt3GjV0BjAumk4tR4PBs7Ig3x8xx8YMibUs1kaAL2u5EVSJkctNGuzgmBWdt0CLvDizSzaMBH8a2yd9lDHPxExJS1GnKq2lowQZkuyvNJw1Od8gNLLk1x+6z9wiIr0gpc7FdYVlHPf7APR/62eUeKQBZajmB3L9XqcjiWYnellX/bzTDE/+ATrcTd+1+DP3cNYQ8AW0dbDQ7vH0TT0b0kP4mgFU5yy6tS8LQVqfKIfGJTXqZOHYJIGD4OnI2O2R20wGlH9SITSyvZLYPrBPXGLaKozkaW1xj+nHzm34ZCkD13JNTHrkwDl/l8B6Zeani9b7l6iozZGhjJ1cHPpscyUhbKgwZkd3s9dFOj8aDZzYKUeUA2bH58CEYFptP1U79KByNZGXHma8XADrAQdpc9njmYNsruDlAIxr2bbUAQe5qdIXJmRxZO10g909PXFHKFu4MYFbKQ5NwVVu1qqM43EGuXr8yUyqeuc9EXQbLYUzFLMisEtqb64he6Ja+gK1akjSEqsazMOalSBRNlh25UNDXKHX7g6ZnRK2G1p62/fDmePo1b728YLU1UeC7+EYxfEWCzI4v9a0Oc9eniJRhY1ZInPXmw/GQRGVfI+WwYhZ0PCK6AFnWKgHfcD+OJOP5mvpAYMJ1gjtuTbxFosrLGK5q18K3ZMeTbPIjvqGZ7wIqo1Nb3wQwGP3rY23+iFqJAOK9Fx7rWZjYfzza5yxKbeRoFxCM3IhQJNUluFO1RqMQkxIe/UeZ7UlW6EmZsfjvq8DAlqWR/kScfaY1a8Hx2v5SNKmb8AVWFtevJokPoW9pt+HCxcjtVlPK0eMS+zRYkoCOX9oFsZ9lV3Xd/MZxRxxbeJrVxX2LIfY6O4+Rl0x/ZllH2x4mcST8V9GjR8BkRWorgCHFEfapkf0hsc4B0SejXUgRMFIO6HVs6ZruQolPS7hh3mhjgNEGn7zX0F0Jj2u7GSto59o5HJU2Sc/2qYRtd//gF2uud6FTXZfGpHzVyRwDYyLnE70JTk+9QnJgPtPV+RLk7vanafmNPp99jF0fpdMd+dgccTUwSg9xaDyPFjhh+Kb30wav5/ulYuowTcVKuagKs/7+JV11l7fgjsSaNoFxakayeBdK4P/dslgoJaU5IMzGG0USP0AH2Opm/HVN+l69gSHPrGObKOfT6YI4mH8zwHwhxSwVXyAAqlMB+wTQ6WpLNY1ufeZxo2UqIorgX0hGYQSEWBzAjxG/KjMAHt3LudTMR45Ae2t5AvrjYh33oM7zX4kXtf/KcM2ESxrbj1xrjrNiI6JD+U6wnN88UXSkTLUn6YWqPlkiA9hIwhCNWSH1F6jrd9xendTD/RuIU+MTec699hxPPb7IwqQM9cpPD6pYo7A9lPy9ARjQUlEpIdKyHSmFeXBAIfm38KHgxvViQhnw/kAXIQjoZynhuhvBHDMz2gyFyZnLocP7M4gxYxo/rHppz3trpRglgi2kJK+XT1k2gEl3QI8v5AruTH/Twua7Mde8ILvaNC0KmIfn+FdyfFzZWdaxkIBffbyn2K4MDD6WPcbg+YLnv+VZRWU3F919DimM3pJZLA8/c+rXcXYnxc4QMrjNZuYz8F4xBChynscmq1uMa9NP29NyK/S+Ujx7o6rL00TYGeJkD7AnQSCKJ7y2R0ot69L9gVZPgDvpnws9OUR8yks4GGXBmO1Bt7XNZNj1S0YcguRybI3D/S9WEQKt2gyzVjZk7Nc6DOy8uSXf4Zl8VYId37O0LGkD90j/6QmjIweisNaG7SB5RMk/PGV6vutOCqYx802gaexQn7ZDUv2ypkC7YPtV9UBVbL9kOPR/M9xoNkTLXewRp6h5DOjbEBb2l5XOU+rCr5GpOGWj0eYIQosNVeY7sCq6tqaL969mZX74x5Cr0r0olnfKIQod6cxeiHj07e2FsYAJIcBLlcKgn784RFyeKNemPtLn1DP0b1nEX1o+DHmXYUEiMMGIsYzevnKFywAmZfvxtgEl+sXIGo+scSFO9gYgdLXNIe/+cuJsod55H+ZAC+4D/QR0RPGkoIJ+9Ls/51D8xpOH6zfWoA27EFb8zFMlYUH3HaWWrfOcmEUjLHoR8U48fiI9w5KRdblfCgELQIxfQBhIbUfdgT+1aQteUqojl3SXt1ZvznRcPYEcZYFLtMqYb4r4CZeqwoc/GPZICMLzO4zik6h8B+J8Hmx/g1aLyTdU17p2R6tgFVgjms0nnqtY5/ZdErtilDmbbIYetM+VUS3f8sc9yk+RrITf4Zl8VYIVPyEoyt75tNxivyy5OyLZ+LK86HpKCW5XkmidCIEK+oKaj0DpcBAjM+f40TEcjZ2x+y2RrQNoq6z2ySR/AcG2/Zl4XfQMm5QcHjq6BHcU5RMEdPO8gqi7H1vap9tq3ZM3Zgkhi3upVgnCK0RFIi9ryLzRsVxTAvWpmqL3y+/fG2veaTNdBygcQ4Qqcr0p5Cbl/mjZGLi8Tk8/vmt6IcfOVt/S+va+++KyHEQwmkKMTYWbeDNz2pRsSayiGA4TpcEkNLHkAV2gtcsOR5A9B9GZnjHYAF4LTC578UwXuhR7SfrEhUHZ7Vb+xJa/I53+AcpU+D69SNQzW2LVDVluAw11rnW3aDNYklTWeL/mLP2vPFBocM6YjsEc92vdywqLTS/BL8TXW0uFL8d4L5KTFygh8YdazzZEsJzgInsV7yYfLrQhaXv9iX0urOyJ9XXDgwGvI1vrHJq0bwoi7QkIVMNLKv/VmQDuOyg8MNh4BEJLtNDexA5Ud91SkEFpSQLOoKgagR0fedU6pxcpOYp7+iAzjg1NpYb619f9ufy9eOSgY28MGJkGNT3Qi7j6EeZRk8sutxGENGcsgCN98GlGTkksaJICCXEI5W5Wzvp+Wja33iIYWReex2Rh5Zr3JU/3TtaAyKgCyWpn0s2QK4bwkTOb3OVzsQhLU4HMyFD4b/2PiSvgTl/V9ZRT56UHdppkrjuFMWG8vz4wGQt4U0t8bpROAqlBFfu6vw9pe7ZBwcrnist4uJG4/fLkHP+hIsbE/mboydURF70JRyw7Mpwu6Y0XGUBXF9a46+O6CmYs1OKvdqrSkV8JQj6e0G5s6xfymPBElFzM7NMmXcEs1gS0xYRc49xcc3xhl+I6L8BdhxpW2foNA9nSFLEtil06D5A2Df66AC34hF+1pj3QsKa/uji7rAlwJ9TsIO5zbrTMSvtIJb5JKiM5eRW/8PMQT4PHhFkxHiDgZCGrbPXe/2+IUwrrZupfpimx9bRJbEU4vz5vS6EPOJsDyMWUYUs2hyh7ubTC71/UEM8BrwdcsUDARkTdS+cvin5Rcvbvw91fs/W3SaspNbaVv6BZIbVqIV3WPV0uWDTafvhgemvJV/SzK7k7zfR466TpuvQMzX3PVcGvf9zcM5JhuXcvGOQ9/8q34fjw7dVQ57/XdWlYaT0Re1/PA9FnUy1+iqJ6GRA95J44LtedIOfQsPQ5F54ELqTqgTqiKi2aaz8P+zIetnQOcY7rUeqFjsvh6L9M3wonB6kCAfMA/nio7cb+B2YJ0lQPsivei9J8D2Yhco/aNoAq5TsjqOyp8bLWpN3lIuwRy7MyaSwbOptBFVxdtdhcfwopU0c9Edt+dAu8ItyCIVWZUn00Vdjk/+FKQyC21izdg4MXd6UYFCZXG0eBtiT1jdQYI662J8zm7XW0WSaJNNk30PNveDgOMzLQsJZ8XVMEpPnUsh32T0oJKuER9TgJTTyicqptGabTv1og7gCRJbiOpxYZlVBNaHP9XMU9dApSU6HAlzlq+yJN/sVHA44631k4BqULoD3L9+4qRIvzYYYVSh8tVpcFynktlbTZUKzxAVVpgWlyAlnJH4MPP8PqkYvIa6uu724REOsqMHDGJvYT/wwBWmk3Q1xj/xH+cx6w2ZkIVnozgBKMfPZlGppsxKKAM6oKVRjDvy9S0ruCewBuNB8ikz2HBcVIQFInEZH+/CwlVE+RWAdOLy1paVqY3t9w9R82KCwuuQR5ZwyVfISd+MkSrBmlVi79K5WLW7TlOSsSsZpq2HB3b0CQLOxo2UGJ3RlKTSe7S9MyyUKTUwCeHSE+n9ASjvieawhTuGNJDwxd8f8mPgYtq+PDL/8Gwes7UK85QSM2rdH0inhvax0snWfYAxAxFCzwmGh6dNMx4WJos/YWHhd5thBiYFsdfbCh3pyq+GuQNgWA5FW1R0K7lXSTlxvelVEkwXZqJ+Kt8xV4+Q8+aa37mPMalkVW7fBDRlxRGkLOsnhbQrwU4cga5KzXjtA7quk3wFZdKDaiIWPpcLV+1rgJUTF5ZMaIFf6VipZRI24jPpSEExhH8jjYv4OEzq3lP1fszHme4kF5W/VJF9ni4g0SxliO6PUITVZXeU/oGFlKSFOtHwOvNiKXcICdzrnQT8zJKwEM4j9IAdOYp9gEIvr3uKwsYCsulBs4etmmQKZ/QIfO9kb4ZVx7gCiupfsPnKNYUBzh/2GXApT0wrYZCXxOa4FXEqV5Fqj9XMV29EgEdp+B+3IW+NYEmj7Jh+IuD0qYyn44HwGsaRk2/dKbxjG3RZntJIVSrk9WdpWd5ELlmEe9+GDc73OTABBYnx+CMF5cUvJqmysSeLXeHIf7vztxuWiPEB+U/bvAML/j0apa3a6Us0WVXtpExqdQMk3/6NcucaWb4aiOy48JoajbZKvAY0AxWMWX+TU1P2BRm6A8c1AYhdAL8N4dP9gmwLdzQQ/wLszywDLQ2iQWMMBuEIumbIybTLIsGlyC2zybG4OpV5CIq90XJKYvqPzgGZYwbFDiRoKrz48GwUpB/SeUrerb+UVb2Dlc+zbAuMkcCMZ8mdDO0IiVWQ7flsISk8z+I4eM3Z69Ayq0gcgl2d+z1GBgps0UGzvwLnGJnCPVqCsug5mn4xp5wiibuQ2RVERgRRibCzbwXfAM2JNZRDAcJ1DephcCHNLWsTaZYVLy5OJ9wHiKvchj65rNJfzwceLTA6gBujqasmIFXbvKSyLthM0wWR9rSt/m0t4kRX0zmQ0scy8zXczQ6UW+DaqPtsd03YCHFwDJ5p7vRwgtPEdZZWbw6gM9VGyPUvErrM2SsOfm8scdTrJYkI66iWWAtC7xtN0ZBk7PQpwz6Mc0nBMLvxKO6HYTBNHX4r9DiaeVNokwf7W4pCIxVqLowIZVw96GurApcspD0UmjZ54/kQeqbIhkdKulHAlTcUcnhdmd08I7yxO7G9Gyokkr4/dbLReKlMhCSHRNTnUEbsYXS2zx9tDRF6UrsfgWnAXLxSFdTZiZMdHSd4ihMmwg83Uwh9qFIEUNzBGnwAW0+zm6hrpfmyv1kg3yJy4wOmV1ox8gvV+NScSF9oAodnuPsHPHBPvmAmGCMsxmgST3FDYNGWq1TGH6FXQEY/h07ybv9qjhl59ClVEoOoDtELG7L79YtPJzqLQgaZ2nZ0Jmole8uqmuaY+G/lKGjh/6XXoit/W+CB6nX7aVUOSTvVt5CWDByPoWoKHsZtMHjdNxXHA1LX2IXmsbo1M9HALk0s5q/JIPbjDLrMU9yAsYUiatBYJGN/d5nMP+VVvzvdK9Erp/FzFomCQ32HW0oWEBPDT86rxKjnMLGIwI2N992ACeJwXVBWDgT0+FLDszt0sXWJ4QV7MWeuhbqrJ99MJq6m/31u/HzEUHrkB2sQGnKcK9eQQmln/x2Ew1213qJ94xSe68xv7kEdv3LG/bhw6WjemoWrpRFiEH591I+N8oP5vEBQ7Qir1IdDZev4wBnYledDFZYNvgb+hfJveCtNLbX4L0fFPjUGXFkC5sqgs9hF4/DIoE8jow86qFhXXmJ/kYUCdKPHmi/6TuvAWYnmvADkbP+HfFdnq9dGSdpRyM8zaI3lbICxAZ4ASFG1PElD8AHXS3RZvE4MV9JRbXvyYDrjUJpVcG14+qTtTXf0E2GDkG0r5mNxcEMYFdL3/G9y+yGjlN4vhsGxPHS4fHbq86XlqInJkdUxF19GSz/ROhEhsi52ZgbJUlR4sokQ/JxgoCrx715Q6UIMiMGbczGMpArt6/92Y8XNMZYx2hNjD7faz7+sPII7+mxbFK57k8yTz2f6eswJ2QJSL+KPecWjdI7N9sYm3dUiPJkHhZ9mJ8DoJ9rBxTD2od1RPeA23XpC1sDl4fh8FVe/qfW3gKtx3bHPl1gPPXonaQ/oEH6u/A3nKphwKMOlfl14C6m8wi3opPvUx5Nz+PpaFJ81KaUoBGhpH7rC2LuwZOI2OeYlK1ituIlBT3xKSvHCKzqjW+rvkYI+9DYgYFWbfsMoIgBO6SD/r4sr7JNlj/XjUWe1dSUElGr2mbGvLwAXvhAb78WpoblqF2S9EOfK/clnjOMgpHq3SJYkpgeTFLYqK1vdaExjzFFpZ4JBFZKNXs7L5G1rwTVPI/zGfWes++Qy6v2BRCDebGql9gNClJ5aYSyGFpesO5zCNNl9xmQ1pFkOIU0UAWj+MIWQY9nAudqEkMpym/1RfdIlXEgeYZDJ2JSKsZ+ONhfCz+IvYPeNnjOdjN4pqV9M1UFq/4rIzp23IUz0H/KZ4UNih4VWeSVBqKSuWsUC4NgOYxoaydEt+UVrTttPE18OTjmagRXn7JeHG4A+iVJfXbPBW/wycf5It4TrGvDJ1z7N0J+HeuZ4ob1QmN/gs+IlU6i2rA3zJM/krRo+1IMbE42UEmyCrmXufFZzqFhOj6yMFgaypeVfi3HlfAH5XDWrZoPNCxpuO9M7d6jM/YBpbBci0ZtIIHCpJwbhkm8i3yIwlcSXqRFBy/bQU5Hwk9kRPqJCQRhlxLcxyU/4afgAIrdHaGlF1pbPk3tb0ZloNakPA7CAc4s45mEyO2PE0z9bMAwBNDKitYF2SYEYyVyeLFFfjbTmQNbb1cwAw8Ht+5jDO6HbyYXBAbrlTZNw1s3cJJWZe2PabhTAd4bft53MAwJWDhLkY9ErQT5oFbXPASWFvkPTRMQA3JqWZ3iz/yeD9wEaNtMjP0Y9bhorSYdzLD0lOAYvJqa4HexXxYujq7mDyKHpijQfnZw4FW5rr5h9HWDW876weheMLU2ac9BaVaiXYnzstW6+5zFrDNTRX4ohh8hTgQ095NC9BoEEe8kBVps8jP5ZrGxIXXEi49MmJtCbmK8DHixp0JvDf1KqcTwtPTJ22VLAtB2Lq+7PV8eRVvyyRNqG07MfexM7S9iLf/F4IzUGp0za5Ax1UV6GzAXUc+SQN0M05SQKT4h8FKRJ5daMrO6xPuEtDwDQ8f4qySc+Y//SyetDVQg2Ee3mRTK8CqW+8oJLlPAQM4mzfGx4LnZM1Ij8bvTjHB5M/iBWOXnh8LuflZAmXMtKsu1HAk0/OmaLaYeGxdm45onb32NrkpJN6zEfBLLdRODyNk+cTH7Zt4mWjAaG3MWfxCprin68/ZGInW2fFNpPJIKCfa563l+BR3UPdP1dmbKvAXUkFjPNI2Y6xhz24AdThAXOdouzju3mBO0+S0jpW/+7t0z5c/8xv2sGCEZTHHjC4N62roPkfPaPBCMXk79kSprzM3BU0yiizFoiugpiyGRq++YEvlOhsaSS+HOTpPErZE0UaQzQQxQm8i3yIwlcSXn8Wnz0DkmSWx7PO1WmfhahTToevf53f1fkmx+IOlbdsbmE8S75FaKtUU2yXwYcQV614Y9jLyeQoaKqCyi6lf2D4sjC1DVKBHWKKasX7T5MFJ5ot5pBJXY3xrRMJ+aZb2wnHM1MficNAAc/F1iNWz74bt+mMZYye8pKn2KZSnUghd7echaSdV1hHxbnib7Po8OPeoJGVWmmrKqMXanJivmb8IpocCXQTO4U0wIka4PXWoPCAifcdPbavPl/hyLLwi5rmCME4ZqqTz29oM4cSTvivyiKfqrBux/TdEKmuQYedNMe2sjWw1MhVw5ewZobs0eA7r3xTuYSGoB/JIF5GUkx+BXXuwtyXSN9642GcDzXyShiDDh6jB1HZwG8zV+BvQN3nfebQx0S6FduzoUfTlKDRrQkAIHQYz8AVW2B0i6G5wNge14a5zwi7onitDoLRIIOmsvZ446Gep9KdkabxTqCSh0WVFhz2dlagz40U/5KAafO4P5oIBM5rL0CnHkotyrFRAhw9ySp6+WjnvUPeW9ewTOzYYUN9xGxGmz6iqI1Kp0wEwG+wGaJtrX883omQUvwhrLCni9irCOIqKOn/cQ5Br3SWMQaBPN0r3IH8JSt/qisywVWthuxXdj2KTGLSAvlWhvM2JDaPqH9anE8SsiFYjV6EDqQ4vuJFnXzcq8TaC4EI0kyfq01J7T0iVih/k3RpbQVCGb/o0mEYskUev9HRA1/CeUDQ44gvpkbJIt7YaRWsWWoMB5RQwR6PTSdNz6/1CkE4mutvr/7zZOyGBLGRF3zUzWdU3KT60CzPukzLhu8XyDG62kNi7++Bj1yEXrOch3cJTjVrWAjOt1EJDFl8iXP09vHATlSav6mQcaOrRzlj5V5QVYahAM70iZqlG/QvLO97GxgkSVyBbw/KIGONsx4dKEGWq/3PZtzF5+TpHgGxCZC9EfwKxneSSbwOhu7u3hC8kzKbuoynb5tpHlE10ZLEkrnXeSLkmSDsXQyM0zrNk83dOZ70BlqtqVFdXKUnWSKNu4cnlPIj85+/z13fh3PVzofXvdKbXwGmz/VVo3sXcWcAuoNYcyTFpue56G8sErR6Su78VrhsU3S3UzwBpqXOV6JBSIxZN65xP9rCNqDqkqUjt6G6qmf17L+clQgaQWYRabU2RTdEBHIwAWFk07qqnZnSL7EpRVe49lv9PYBmVpXHeBx+CCFipqd9biDqKOsgmvf/Cf/Ug5GJrSzIXZqpzZlSc78OXjYNiFrUnIPWAZARcu9gUYpRtjsfCKKtvwoe2xL/lQ3kHd4W1Gumki6pJ0dOwgR6LjjeeF+hwVq4e4434pq7xcAhbVUvwWBbBLauTKbws3IKbJoq4QdR0pOdoiBb4jMTdFWCUoFUdLQ4RIiqlvfqQYtkuxLsZSjTTSMWBS3P3IfVJHSY5+8PFJ8N0eNw4abVmAqkf1U95lg83ixrPYGWIJ3DY4C2vCCwN/XrVhvGF4yRLUWXOu7AJ8fNtOARZV8G8OfN9JKkl1Ej7UFI5Ap9y5mRUGiAYzbplHZ88UQ2xML7QzE6Cg5YGFJbcJa6LemyIHaUUfGghNKcAKTJ2G7fl8sbOQNQRkgkanrFufnNKuQIcC6wjcWtPQMJWO6f0oxw7L34bGwRYqfea5AwEz+iZWTHLOE4F32cEBFIfGX4YZUGLFEEWfXpqFXTxVw793ZS/sBDU/B1ssOxk+etyfkirONBuLVb5VTLYjBy10pegvraDpAVyDIZ98LBI56OPMopOOlHJ8iU5naSpXxsTrc55WD++iEaCveJtDhVVe0nXcrmvm/hn+R5YYin7hRNmJzY+qNS6qhutJD1SnJdG6GlabcI5GQrWJjQEbAqmQnneLf3O4/lyPthdfpeXgODp5dV1rw0PnW00v0kgMDj7awD8lCoa542pizI7eNc4SeRl8ZKxbFoINXDSG2r+kzYl6tVpaWRUvwZTHgpynptww/pe3czR8smBY7gY+LA5nzCoXMP/2gByxtsYqeRxhZDcQOg4pMwQjaezTcs3GxVDrV51jdv3spbMmYUt91cWBERmQMm4UwNs5XA+qIirfDgyJZ9dLOCzNO+16JsR2Atq9GDcDvuqXlz6OPqlasiVF8j+plJAaAsKhXUo8keSm5kmgU+eVB703lDuSQbIQMlJ4NZmMOV4BOyL9tABDvErNIiM01zZcglP73OrEmkxDGRmh6GJJPezCyAirV37m6y6y7US38e+7U0lMC5vSEgX+M5cVVDkJNkO/2K0w6H/UIU3YrRH49ezFL4pMk0pBh4/n2Bkv80rPAXDb48K2mp23Ayv2hRyrQxQ8GHflPsFDSaCqwrDrsbuVNZJnI+BJtB7hvbFNcU/XoDNMwbxCAZv/ZCEOKqI/OGC/FsZ/98E1GGPMB3dS6FSSddk/ah0H/TF5dSakfm2bogYCNC7p2YwysCb4nbzNb0MIYcQf2sWIYF+0PvAeuM7pbzJkbrWFlNTR4nl/uhkkV08vvaZWXkUnGayttB8RHFycAcUAefNl48T3eUBtuHsGx4R1+wzQ8b53HOuPntrJnts6yr5qDXFHGBwn+J8b3XxT1JqiFSI3Mab9368upqbQMchsHYmXcjdc15zRCz9gL+C+Z9Iq/fiq0KL5wQEguYS8BBrOHPBoC58Bb8IpVL9J6oMx+/F9HB0bLr6FO9QPBw+sud96izagQjbI4IK6wX6PzETpMO8jtWbcVsYGPPbGEZaFNrxTt9WQyA6TzlxVmrOZgVBZOjV/I/2CYYeecL3hPcNTaGN8Bm9r2zjXghoHe0Mfdq9rlMc5ZnfEbiY2oRBhfm/5THmca3+XjVlliW746RNcQDFvF9Obe7xIb8qhQTXddibZ9NjwOFyd1fa0cwLe//wVDpd5lHN+YWDPWju/KpAznfcRuTgId/ks7HcTc2z2uQhpsk3JERD4th3Xa5pRvUnBv+aT5Zes7LE3KCifXvU9yG1H2OMJ1m70RJpRIymuvCSZmTAbsxn1TNsl3zm57NySYkbIBGGdQ8bPk6TqDcQhkawkcvXK3WzMKcNUEnvU88S/FEtcU1MkJr7YYRlswSNmRYFlWNasf1/f3NczIom9bGQzZ+IX0RyE9YU76I4cg+VtdnErCQ5NqA1A6tSDk4Ce8iE4ObYF7nBmq9WKKEgupe4vz/PYU8xvRF9AH5yknDXvu/k9JHnrwE0xbt6/Te5WYVUI2OLDxoTkFtt/LmntUdAGEH3JQTJnn4Fk+ua1NHtpFBF78JUdSuKMllJU8JPQGjeRphPYb6ipd4xIDOCYlwLQWC+ZNtnarBS3cPQx+u/UhNeBQ+AAdqV2cQGY8jFTY6s74Y0jd7eMMsNDFYd3bQPSSL3D+YHxUQz+Nbb6e4l2NP987BpB6mOm1lK1zq7h7RHAUnh+Ik2W71jYN39DUnhlpd7mBesWBbX6rIpeq5F3Z/BW0mRg/NElRsuGZQ2wiaoTI51OCHG8602OR0o6tWLPOfNaCGZesD3FI0BQYVz5AVRm/0OPiKKXfMYILCuBscJrWrN4JU0rdT3QSFRMyNov1mcERBHi5mda8/xJR1yvdyQ84BE1Loh/i9AoWVLfp1S1rigOVNFGvdf2sf3TAik/MSntpEbfa2IzEKAMI0jnxeBPYrQI/WQxWQSBVse8/7bY8ZxTvwHs+arsyR6U4jpcbZoZ+xHyN+JBHiGQ3fLzvZN+HBfQB2rg6GJvVbz7gHsxZfQcFbI6w2yX5MtU9TX0J99BA5vqNVqAk7uwrlJZUqs+FdribDeD+S36IOVHJNZ0hYCfVR8XpKHFdqTTQngf64aV5PmbsDIkWeu7kn9lwQ1r8s2CigNdraEZPMXqCN87MtBHP0QMgytgfTpbYmTNGCfdwkN5gI+Zk02sLD45ti4bosSNQqOBUmvMKP4kB9AfSqw+mbTsrxm5kfgjk2W3XdC63LuBkz5fez1P0uGTXkUkNtk6xsq3beuGVa1Xh02l0XPMYWnR0z7sLcl0jfeuNhnZ0hYytsqAot+JFvHCS2kY9uBXUNQwb/M2jKN7g1tvxETCNZ0hUhuebKL4pKMuyMWzjLTiDmmmkibH+ChNaYku20rz1UnCdzm25dFeg51uNHcIurs8UqfYmgpDZxJAjk0z6xzwuHcKS5WAa6fKJofQ5g9xYcvJSWUFN9PHYkg0WJXYQwo+IZ7anQy80ttW/z+UDQFe8XRk4l61B30YUGHri7HtjIgSAlBGMhPPo9v50uXcg1BB/bdaT3tv2zD88DA7d5akaOvJY0n1EzRKx+4ewRRJmxaDadEzj5ZKqsAt4VrA7piEDYmK/PRp+M5myY/whgjGRHfUVPsf19GBfJkaKqoBB5B0hV9ARCjD4mYccGHbh83lUyr5c8aDUgu5QGEbVemrEnUZX4TpjwK7u1pp8mRWdIKNi5CHaZIajVG1Ram2cykYHCX3+ZO0gSXX1Ldm183i4Huq5DqW9dKJ+rm2xJWE0eMK15gIUjgxIc2NiYLO4G1MMdsko5kRdBN6IoxXe44wbw5yZrs+z/+eqKrKmtK4s7nV3p0pHtfBRvETVWTK/zoRqYtb/k6EGw/BNHsnKzauMvjjeA8oI/UF1Hx6uY/QQujhDZl+9JtryXFAABhcpcXQd2uJBRdQPqCM+FTIQOqHhA+njUNR396Al7iKKWyMN0lp0p9N60zOe4K1BCoNvhFOpTYmzg6uoliS/VfpGr46j9Tsn8YS4knQ5JkQKGc/yQRKDrSKh6u+rH4LkxoaQRoFcsM2T8i56xQBNWKz6dgUB8zb7fXyIu4Pkjzl2nyiBQwShOsrfwQc8wdymvk4U9ZD3z7Z4TV69YpGlqSaDgMJ5YJoxYKwAqMhx/idq9TL7pK5qeYlnhC7NRajsxGxpbEwEyQNaZHdruoG7/Yt+p7amzn+a7G1OWwqR0Qog0uLrUoT6lG0zMBTTNzRzh6p0WB3LV45jYg/zHXTsqvcH8NhAgNKbRmK8/Lb6mgp+X+uD0umzQri/uFWWccp/Wl9VwoIAtttGuLF2UHgLGmVEem5Qv08+s/NtYIpK88mHMTgpsaNtEGIych15oJlCBTekRj0IraEtVRSaYUdoil4z3tQg8pmf5vKA4aW8WKEEfRf91LuawqBQTFo9hKS59TAb0qpQ6zmWx2ELcmzGDF9HJ5r5JPzdVb9rDCQcRjythfh6h+RsF43cZMPmkEfHPuzoKPo7E1fGKAtFsoUCaLWYtn28tLHAcXi/xSq6Zd0RebxdxjbZ+/hj+qf/DJqZzYi8z2MykrnldjnC1ZBzNd4dX0yCwDty57pWyK0aG4EMIjS9ZlHE6fEFhoAHE0Mgo6LAJpyDsXjmaC2qz/NezrvBd3/SGPkmawc+zfywxn3S4GHcco6PBfMKy4B2hSLjTxoqKWx0J+rDCk8Qsw6varwSPGpYhoyv5GqZaRCWcSq4yezoMv89pr3sZ0701qyLqQ8cfSmLuk0MOoYeCi5PNb5on7sMFO5vSxo+D+yJ7aBRSLgeMZOlxg3bRKtGJEK4s7LPPs93uck8ZYJqPOxxb0+JTJnZumzP+tf2awQknFj5qwp4DkO/xTO17VZ5IWnjuNBPqcT7ybZviS0gHV/0UKuWe4dQWR1zN3SHwy8MaRHUoZgte9utoHMeQDuoD1ZzocCh3T5MTlqGx95D3TprcAcTu09fb8/ZZ6SLvDcv8VLtotvJqahNieqhBCpUZag82lgsHJaGYUtokfxrPT03FvtdX/+O6kkfNYXiPESJQ5oT8hfcY+7/XHjyL0ga6kDU/bd580cNKEP/A6Sp57acT75FaSjEJolGsW16RnI0S593NqVwsI0swHZ6JherGARADwU+4mURkd1CbqgYW/pQqjEuuQ8YXWZDE5NhJAeJ3JmLMMCd71E585AbPAR5nuPDufzkVk19KDhPF5oeJQGv15QOr7lNLuYNuQ/sgy8LgLdj5xWh30q6cCxDlfaO8W9558Qw5G64343PmfAlE02Dbc0/6ifOH30Bwdz7lRwgbkPd71JYaLY8EDD6UaIUP42srftUPVDSyJZzeS/3s8iLHbOk2ou6oaMHC3Njd29ztx1ooOlBYpOFmaATupaHz6IYC52xmJSwfRG03gWT3huy8aCgt9jSNvVi4XLdTsp9G8siTlKOrYMqEELeLKtX12FTn8yc3wWSUt5rOdmFg+22KaRdQO415pD9uKCBmIbXxxc65casQwvzwCgaKCaCQHLQN/5+9Rs88U38vaHChmOX59jXJQawDDuQZbgkH+sjGkmlQm+v+/UHxc2Al2OG5LeDnvc8r0laPoE4s1EHrZIqlJHoD3s6GSNTziaV0Dsgs4aT+yuiRnK6i+Mrojj1JZ92ooQAP5Z9gz8K5gX2N2RIPAiJi+FdM6KZKt6+rSewsIlMRKnHAB1ZZC6mameRlSlcQjR0XNXxRfEMKPScQE9yZOFIZsTVlzME2FVQmEJsM41qKbLOFPfd6lXlGHidA8souHuuynPW7TtvF3Zqeg2YZZuba/eK83GZmtcSO8s+M2xSX7mQPzgqzXYXyJtJcE9mrOyPvnjhUzclT1wNEuJY6sBKaQusS0zC1Bnwf99uZXuGKMR/gIoNqaPxaa08nMfgDK8dr0jNIlbQMLzmHro679fQp07EtEiwjtCtvetJ8rk+Ar+R6FMEv3cEJ2bWraPU1BVojBActeo2d6rAUmiBZF7pgW0m36UVLwGdJ2gZWJsEa0NUt+M60nMVfVA74qpXTsUSy2mGY3qLm5500Rl2kAaMcWLLHmXcouqBzhbi0GpULUc+PBYhVrbuBZTWPBOI4Nu+6EbdQWfg1QZHvDkNzqQHKFGp18+yFAd5ADOqp67WKo6UH6CVigua2sh+izT769BzJiBEDl0mkFQ14y+88curC4p3B5zZ41m002xgu9cdXCgAbujVydb2KEL4u5xgdnRqWca6GtP9171wt5p1b6npU6iWmampcuc5gsY5UhtoLSTkgv/n0HRLBl51CmbufvGF9LYFkOfYgNNvaR3YSjOpycY9UcOZfauFKWzbhBi/cD1BwakgKiSnF3LC8PCBL/KKhflcbqSLk0nvjPRY13s5BU6DTbKGAOdPyH/6cAyn72nn9mtG2D94hawy756IBeEKaXgNxv9uUNvY0pvQCiP7Axb5rYpeW+XxBLlsPEY0FcPPinZMyccMDcyIeg7tBR9XwMKx1my/uuhotTGUyzJL0xDzLSMgZH27jvmOUy3K5jLHcYafM+85P2L6W15hZvCFlPcZvXjOy2fYbDjDcauFUMEYi3c1CSyK3O17v/5lz/wuydWx9ClfO9LbJWOzaPxWy/oTR4JZzoV+sHe/ZlC83DeseBaijrnCL9XkHvETRmHarUjXwZn1XXRrZLlcC11WJqO4Fx44YyTvtPPRtZcmVMuDJkN4X6SmTFy2uIPYkLSJ5P9IuKF7t8jzBMHFyUyNTr91bhAH1ack5UPZIvHNR0KiqmNuxxBsE6uD9+mokHWw4QJBhijNuDrf9T76KR0dDhFsHcABNpvDf0SGgbyZN/uJmZiXI9h/PcS1ijA7RpHcmGx1q8QrFoliYMSkOoZF9iPjwMfiMyudG8ThkiWs57mL47g052T5ahplTJgK+tDP+VcXKENr/eQwuM/YrywR1nG4Rt5D48kOoraA5fl2N77w6uxq7bJa1LCB6zMQTQOn5YGoq1jmN6xYfUo7CbkfjXw6SNxe8vO8SGPd0AgDjwH0gnejzKDMaWaHre8Q3SsUeDkYet0BN9jSPpm4VP1Um2Xc8+ch3bz0avhq74rrjbZJAG6R6cUSl9zts/EElpzirCMp2RwC/zGxllpYlYY/YJBzHlvF1u3+A2rz9uQmDY+iSpVD7xIPmJGvnn+NKcRf2mTDOaVEsxC/v554rz2Q/42VoML6RRhM8HS5CbrfYv17iXVr0pr+Bt3n8dFFCkUjAfSksSW78V2Ue6B4m5FFu52bQJJCrQIcyi+fqpd2Ope87sXLq26aYL5Hkq6HQef3h9LqwAE0qiWOBWxnJH7gk+osqSuN23LTtrh0ANZI38tqcrMqc+uuU3X2pis+hCacEfUXNCIifYvIjmZyaTtC8MuU6pQNBgZ7iZC14h7MOIrFztY7A3WfDGxDYkLqVyXc6j535smdETPpK6llqicO3oc0gGjo5s6m/qHExMQnNAMjIArqnV/J1A+k0p2hWNYMw3echclx6k6bYeHgCbolmBTJlm8NzrYUWEAZSQLWWZsnbHBx01N4A9wOoO1weGiYnxvPfyyxXcdlM6P3lMPMhqwuefwwlSrpUQm1A1FYnkJ+Jeox4XBmubEg5qP2rTqrfD26UbJucKAT3YuMRwAO8Wzj+Qg60oOLpE6K7P3KN+vwsoLmPTtwQolA3YR8futmbbQ7dVScD8HWDOWbtm5qAhPZm+/m25wrgnHkMhg5oQbNkEh7lPLhq0T9rLxLqOmGGleneAgLYfT2pndfXo53EBzs514r58eNdeMHCOPzcTBdtgAXekb6+qSOceEMqIgBBV6bQkbQHzCneStWxtaDuCqORNIkE/C5XCmFD2Vd9hZ/PhhrHhHEbS9ER9qAnt17ETnCNf52bijxi2iTkTSjWcec0cZ/DqCR34KWaA2BnrnjOJoe0aup6T3ak0ieHsqJwXLNH2VvChMy0kTWM8C1Z9xPBRk6Wt0IR9UxHe+R8oV2kWAz/vyRfgeZWLhBibA+lIocseHMOZAoHrtazaOTEqpbv7bnQGjBfvyXwi2OzpbwtRhuRMnoMDV1AQHf1oLtHLQ97lWgQoH74isYEGahwuw8DWKX45lBVvPwv0HZBRac2nSX9AQiHrjG02M/WlhvbeFWM6pZQ11fNY49qXGGQpGYQo92sq8a9TCFqkIDxI1+JvOkQO5XMG0XZHKxAmuQ2Ksj03tvBsoSue1pj0hgkt7azOev5hGn6ihZSGjoQa4T5WVcsYyp1AubE0GyJMAS7SvXWxCDI7nmZh2F1JMFG3CCar/cRow9lz4dpfg5gYEXsm54WSBQ07FvBn4gB3L19u4IwVcA5B5XniTKGLS3JW5XdGnVIQ1yrHssIhuzFEbrW0h+aTevjMfV+QF5d4B5PB3LsGQLBLkRN3NJyXZOga+J39nnzK5r9GRVroUeAe0GstkNJe7hfAeiVvRkWoo0+p/V73OQVTbvs10jabZ9rY5+voUTGqwECX/tsJrOTXFtM6tzGPHI3oyDO8AJAZ5gbRCtumTq151vQL9gvEGWLtQRXevcnnBdpKw0Stt5m7OW6Gd45LKDe49Vr2b1qW+S5t9u7YiUTjPFA9spkHhgvG4+3Y1A0zXjtOlXSoMw5WcSyl+x9vcwR2B0VTRLej4QblOL1n7K4VeMlZsU/4hl9JrhOsZmj+u/X2Sj0VtxHPYTwLP5n6pP8AYcelWtlIsk0FdlZ9XYwJ4TaAMj2Nd214i2z7pi6iIiJa2X1RkApJxOcR1iZq9bwC4qn5Drtji06TQ0UPf9Kiuzb6uQrA9oqFBl0Iv5HtEXLPVM7qCVwq9TI8YNV91Zw5jqFZzCkKHbWaanhRd96lxJFLf8jvI0ItkG2JE2Q7ixrgSu/MQ9aj2FjP5uolSXCel4Q2+ugIKwK0bZ3UHJQGjsyUoewdPuPAx4yP2YZmHTvM+JR8B1KfUuRp92PL3B1Oq/qXvfT2OTfw9I9vZEMgnjwKV7A+DdxH4E2N0zzW/6u9wqQ0EIwZfgk6bHMTtGKDEtTIMYgoXWvnnwhGxfzQS2wVIXit35mW/l+XevRWXNAP8SofON1+Bpmaruti2bxfCVIs9/XMINFw8XCeNIVGnJyx0pv2tlGi9wIN8fL0HgI5AvovBsW6hdvWvaEz4YaAo4i6JTWBTMw8vl2pj9LzHgRzfU5E3YOrt27EZGvU527zXgkWbwHOCbw5ehqF58ym41ZpzcDKLF4/b7pUXn5iuT3lzFbl5Kxj1dLXuUDIR0JP+TsQ6jTgyCLJWMTvP2n58Eg+KKgAMLlhJ627P/CX6vrKJW89oKI8WGuWzVI2lUnBp3f96g5/xsMU+Bwj7Lw6bSRR5rOfUbQdr/rTg7Y8c7KF0JLvTGeJomHzuNYGZYEj9r8rifrLBQgHZgXuWy95kgx5dQhY8WmlPGR8yOZvIB0fdEIwsQ9SoPB7eHpoyuzHzvpeJJ24zlmKlecCcyRrRzve9OEpxe+f3G1eJb8qSxb1KpJwgvYffrHy/yyRhOHzGg4N2BEIZdEW7KsBGdjtATnT37zfvkLsUlvjcniaG9tTgnNU4nueILJ71uWsb3QF8pu44HIFzZtuEkaDaCO7w9n0BiK62g7Jt9V0lKH0dF38MB0JxeItNb1XomexKO6R2C+bzJ4Vb9YVVbcWPfD0xFugSpCnSz1Hhpn5XmSpvsFpSKgtj0qlYeJ++AkKY3NhgvGdqolEwDEsdfIYGELNT1mbllhOXegkiMgAAAAAAAAAAEVYSUZ+AAAARXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAABIAAAAAQAAAEgAAAABAAKgAgAEAAAAAQAABACgAwAEAAAAAQAAAjUAAAAA)" 65 | ] 66 | }, 67 | { 68 | "cell_type": "code", 69 | "execution_count": 15, 70 | "id": "d3aacaf6-335f-412b-babc-6877c32aaa94", 71 | "metadata": { 72 | "id": "d3aacaf6-335f-412b-babc-6877c32aaa94" 73 | }, 74 | "outputs": [], 75 | "source": [ 76 | "from litellm import completion, acompletion\n", 77 | "import json\n", 78 | "from tavily import TavilyClient\n", 79 | "import anthropic\n", 80 | "import json\n", 81 | "\n", 82 | "tavily = TavilyClient(api_key=TAVILY_API_KEY)" 83 | ] 84 | }, 85 | { 86 | "cell_type": "code", 87 | "execution_count": 16, 88 | "id": "dGAhn2N_zate", 89 | "metadata": { 90 | "id": "dGAhn2N_zate" 91 | }, 92 | "outputs": [], 93 | "source": [ 94 | "def generate_related_topics(topic: str) -> list[str]:\n", 95 | " system_prompt = \"\"\"I want to write a long-form article about a topic. I will give you the topic and I want you to suggest 3 related sub-topics to expand the content.\"\"\"\n", 96 | "\n", 97 | " user_prompt = \"\"\"Here's the topic:\\n\\nTOPIC:{topic}\"\"\"\n", 98 | " try:\n", 99 | " response = completion(\n", 100 | " api_key=CLAUDE_API_KEY,\n", 101 | " model=\"claude-3-opus-20240229\",\n", 102 | " messages=[{\"content\": system_prompt, \"role\": \"system\"}, {\"content\": user_prompt.format(topic=topic), \"role\": \"user\"}],\n", 103 | " temperature=0.5,\n", 104 | " max_tokens=200,\n", 105 | " )\n", 106 | " response = response.choices[0].message.content\n", 107 | "\n", 108 | " return response\n", 109 | " except Exception as e:\n", 110 | " print(f\"Error in translation: {e}\")\n" 111 | ] 112 | }, 113 | { 114 | "cell_type": "code", 115 | "execution_count": 17, 116 | "id": "92ec3455-c2a6-4478-8c7a-c48de7514b98", 117 | "metadata": { 118 | "id": "92ec3455-c2a6-4478-8c7a-c48de7514b98" 119 | }, 120 | "outputs": [], 121 | "source": [ 122 | "topic = 'Building A Powerful LinkedIn Presence'\n", 123 | "related_topics = generate_related_topics(topic)" 124 | ] 125 | }, 126 | { 127 | "cell_type": "code", 128 | "execution_count": 18, 129 | "id": "2a9wmuK326eE", 130 | "metadata": { 131 | "colab": { 132 | "base_uri": "https://localhost:8080/", 133 | "height": 87 134 | }, 135 | "id": "2a9wmuK326eE", 136 | "outputId": "e21050c7-aa7a-4e51-bf52-72c6a938bfb1" 137 | }, 138 | "outputs": [ 139 | { 140 | "output_type": "execute_result", 141 | "data": { 142 | "text/plain": [ 143 | "'\"Great topic! Here are three related sub-topics to help you expand the content of your article on \\\\\"Building A Powerful LinkedIn Presence\\\\\":\\\\n\\\\n1. Optimizing Your LinkedIn Profile\\\\n - Crafting a compelling headline and summary\\\\n - Choosing the right profile picture and background image\\\\n - Highlighting your skills, experience, and achievements\\\\n - Utilizing keywords to improve visibility and searchability\\\\n - Requesting recommendations and endorsements\\\\n\\\\n2. Engaging and Networking on LinkedIn\\\\n - Sharing valuable content and insights related to your industry\\\\n - Commenting on and sharing others\\' posts to increase visibility\\\\n - Joining and actively participating in relevant LinkedIn groups\\\\n - Connecting with professionals in your field and potential clients\\\\n - Utilizing LinkedIn\\'s messaging feature to build relationships\\\\n\\\\n3. Leveraging LinkedIn for Business Growth\\\\n - Creating a LinkedIn Company Page to showcase your business\\\\n - Developing a content strategy to attract\"'" 144 | ], 145 | "application/vnd.google.colaboratory.intrinsic+json": { 146 | "type": "string" 147 | } 148 | }, 149 | "metadata": {}, 150 | "execution_count": 18 151 | } 152 | ], 153 | "source": [ 154 | "related_topics_json = json.dumps(related_topics)\n", 155 | "related_topics_json" 156 | ] 157 | }, 158 | { 159 | "cell_type": "code", 160 | "execution_count": 19, 161 | "id": "272a1774-c0cf-4f12-a258-72a7f3fb7e0e", 162 | "metadata": { 163 | "id": "272a1774-c0cf-4f12-a258-72a7f3fb7e0e" 164 | }, 165 | "outputs": [], 166 | "source": [ 167 | "def generate_perspectives(topic: str, related_topics: str) -> list[str]:\n", 168 | " system_prompt = \"\"\"You need to select a group of 3 writers who will work together to write a comprehensive article on the topic. Each of them represents a different perspective , role , or affiliation related to this topic .\n", 169 | " You can use other related topics for inspiration. For each role, add description of what they will focus on. Give your answer strictly in the following format without adding anything additional:1. short summary of writer one: description \\n 2. short summary of writer two: description \\n...\\n\\n\"\"\"\n", 170 | "\n", 171 | " user_prompt = \"\"\"Here's the topic:\\n\\nTOPIC:{topic}\\n\\nRelated topics: {related_topics}\"\"\"\n", 172 | " try:\n", 173 | "\n", 174 | " response = completion(\n", 175 | " api_key = CLAUDE_API_KEY,\n", 176 | " model=\"claude-3-opus-20240229\",\n", 177 | " messages=[{ \"content\": system_prompt,\"role\": \"system\"},{ \"content\": user_prompt.format(topic=topic, related_topics=related_topics),\"role\": \"user\"}],\n", 178 | " temperature=0.5,\n", 179 | " max_tokens=500,\n", 180 | " )\n", 181 | " response = response.choices[0].message.content\n", 182 | " print(response)\n", 183 | " return response\n", 184 | " except Exception as e:\n", 185 | " print(f\"Error in translation: {e}\")\n" 186 | ] 187 | }, 188 | { 189 | "cell_type": "code", 190 | "execution_count": 20, 191 | "id": "733ed418-b11a-4fd4-a210-37c5cba53db6", 192 | "metadata": { 193 | "colab": { 194 | "base_uri": "https://localhost:8080/" 195 | }, 196 | "id": "733ed418-b11a-4fd4-a210-37c5cba53db6", 197 | "outputId": "b1bab8f4-d71e-4298-d6b0-03252bfcefa2" 198 | }, 199 | "outputs": [ 200 | { 201 | "output_type": "stream", 202 | "name": "stdout", 203 | "text": [ 204 | "1. LinkedIn Profile Optimization Expert: Focusing on crafting a compelling profile that showcases skills, experience, and achievements to attract potential employers or clients.\n", 205 | "2. LinkedIn Networking Strategist: Concentrating on effective engagement tactics, such as sharing valuable content, participating in groups, and building relationships through connections and messaging.\n", 206 | "3. LinkedIn Marketing Specialist: Exploring strategies for leveraging LinkedIn to promote businesses, such as creating company pages, developing targeted content, and utilizing LinkedIn ads and analytics.\n" 207 | ] 208 | } 209 | ], 210 | "source": [ 211 | "perspectives = generate_perspectives(topic, related_topics)" 212 | ] 213 | }, 214 | { 215 | "cell_type": "code", 216 | "execution_count": 21, 217 | "id": "346b8275-728f-4053-929b-d2700b60d60c", 218 | "metadata": { 219 | "colab": { 220 | "base_uri": "https://localhost:8080/" 221 | }, 222 | "id": "346b8275-728f-4053-929b-d2700b60d60c", 223 | "outputId": "861ef619-5340-4b3e-bbc4-afd3b644b188" 224 | }, 225 | "outputs": [ 226 | { 227 | "output_type": "execute_result", 228 | "data": { 229 | "text/plain": [ 230 | "['1. LinkedIn Profile Optimization Expert: Focusing on crafting a compelling profile that showcases skills, experience, and achievements to attract potential employers or clients.\\n2. LinkedIn Networking Strategist: Concentrating on effective engagement tactics, such as sharing valuable content, participating in groups, and building relationships through connections and messaging.\\n3. LinkedIn Marketing Specialist: Exploring strategies for leveraging LinkedIn to promote businesses, such as creating company pages, developing targeted content, and utilizing LinkedIn ads and analytics.']" 231 | ] 232 | }, 233 | "metadata": {}, 234 | "execution_count": 21 235 | } 236 | ], 237 | "source": [ 238 | "perspectives = perspectives.split('\\n\\n')\n", 239 | "perspectives" 240 | ] 241 | }, 242 | { 243 | "cell_type": "code", 244 | "execution_count": 23, 245 | "id": "63ae4dc8-dd99-485d-b3ae-9671c1482eb8", 246 | "metadata": { 247 | "id": "63ae4dc8-dd99-485d-b3ae-9671c1482eb8" 248 | }, 249 | "outputs": [], 250 | "source": [ 251 | "def generate_question(topic: str, perspective: str, history: list[str]):\n", 252 | " system_prompt = \"\"\"You are an experienced writer and want to edit a long-form article about a given topic . Besides your identity as a writer, you have a specific focus when researching the topic .\n", 253 | "Now , you are chatting with an expert to get information . Ask good questions to get more useful information .\n", 254 | "Please ask no more than one question at a time and don 't ask what you have asked before. Other than generating the question, don't adding anything additional.\n", 255 | "Your questions should be related to the topic you want to write.\\n\\nConversation history: {history}\\n\\n\"\"\"\n", 256 | "\n", 257 | " user_prompt = \"\"\"Here's the topic:\\n\\nTOPIC:{topic}\\n\\nYour specific focus: {perspective}\\n\\nQuestion:\"\"\"\n", 258 | "\n", 259 | " context = \"\\n\".join(history)\n", 260 | " try:\n", 261 | "\n", 262 | " response = completion(\n", 263 | " api_key = CLAUDE_API_KEY,\n", 264 | " model=\"claude-3-opus-20240229\",\n", 265 | " messages=[{ \"content\": system_prompt.format(history=context),\"role\": \"system\"},{ \"content\": user_prompt.format(topic=topic, perspective=perspective),\"role\": \"user\"}],\n", 266 | " temperature=0.5,\n", 267 | " max_tokens=200,\n", 268 | " )\n", 269 | " response = response.choices[0].message.content\n", 270 | "\n", 271 | " return response\n", 272 | " except Exception as e:\n", 273 | " print(f\"Error in translation: {e}\")" 274 | ] 275 | }, 276 | { 277 | "cell_type": "code", 278 | "execution_count": 24, 279 | "id": "c1de6bb3-7a17-493d-9707-bb8cea000342", 280 | "metadata": { 281 | "colab": { 282 | "base_uri": "https://localhost:8080/", 283 | "height": 35 284 | }, 285 | "id": "c1de6bb3-7a17-493d-9707-bb8cea000342", 286 | "outputId": "9def8de2-0bdb-482f-f338-1f68ac09e9cc" 287 | }, 288 | "outputs": [ 289 | { 290 | "output_type": "execute_result", 291 | "data": { 292 | "text/plain": [ 293 | "'What are some key elements to include in a LinkedIn profile to make it stand out and effectively showcase skills and experience?'" 294 | ], 295 | "application/vnd.google.colaboratory.intrinsic+json": { 296 | "type": "string" 297 | } 298 | }, 299 | "metadata": {}, 300 | "execution_count": 24 301 | } 302 | ], 303 | "source": [ 304 | "res = generate_question(topic, perspectives[0], [])\n", 305 | "res" 306 | ] 307 | }, 308 | { 309 | "cell_type": "code", 310 | "execution_count": 25, 311 | "id": "14c53d80-f5a0-4b96-889a-e8c39659d85e", 312 | "metadata": { 313 | "id": "14c53d80-f5a0-4b96-889a-e8c39659d85e" 314 | }, 315 | "outputs": [], 316 | "source": [ 317 | "def generate_answer(topic: str, question: str, context: str):\n", 318 | " system_prompt = \"\"\"You are an expert who can use information effectively . You are chatting with a\n", 319 | "writer who wants to write an article on topic you know . You\n", 320 | "have gathered the related information and will now use the information to form a response.\n", 321 | "Make your response as informative as possible and make sure every sentence is supported by the gathered information.\\n\\nRelated information: {context}\\n\\n\"\"\"\n", 322 | "\n", 323 | " user_prompt = \"\"\"Here's the topic:\\n\\nTOPIC:{topic}\\n\\nQuestion: {question}\"\"\"\n", 324 | " try:\n", 325 | "\n", 326 | " response = completion(\n", 327 | " api_key = CLAUDE_API_KEY,\n", 328 | " model=\"claude-3-opus-20240229\",\n", 329 | " messages=[{ \"content\": system_prompt.format(context=context),\"role\": \"system\"},{ \"content\": user_prompt.format(topic=topic, question=question),\"role\": \"user\"}],\n", 330 | " temperature=0.5,\n", 331 | " max_tokens=600,\n", 332 | " )\n", 333 | " response = response.choices[0].message.content\n", 334 | "\n", 335 | " return response\n", 336 | " except Exception as e:\n", 337 | " print(f\"Error in translation: {e}\")\n" 338 | ] 339 | }, 340 | { 341 | "cell_type": "code", 342 | "execution_count": 26, 343 | "id": "f41da041-80f9-48b3-9e0d-7072829593cc", 344 | "metadata": { 345 | "colab": { 346 | "base_uri": "https://localhost:8080/" 347 | }, 348 | "id": "f41da041-80f9-48b3-9e0d-7072829593cc", 349 | "outputId": "309d7fb4-82d7-43ba-ecfa-58c4f1472dfa" 350 | }, 351 | "outputs": [ 352 | { 353 | "output_type": "stream", 354 | "name": "stdout", 355 | "text": [ 356 | "QUESTION: What are the key elements of a well-optimized LinkedIn profile that helps attract potential employers or clients?\n", 357 | "QUESTION: What are some effective ways to write a compelling LinkedIn headline that grabs the attention of potential employers or clients in my industry?\n", 358 | "QUESTION: What are some best practices for writing an engaging and informative LinkedIn \"About\" section that effectively communicates my professional brand and value proposition to potential employers or clients?\n", 359 | "DONE.\n" 360 | ] 361 | } 362 | ], 363 | "source": [ 364 | "all_conversations = []\n", 365 | "references = []\n", 366 | "duplicate_references = set()\n", 367 | "total_questions = 3\n", 368 | "for p in perspectives[:1]:\n", 369 | " history = []\n", 370 | " for i in range(total_questions):\n", 371 | " question = generate_question(topic, p, history)\n", 372 | " print(f\"QUESTION: {question}\")\n", 373 | " history.append(question)\n", 374 | " tavily_response = tavily.search(query=question)\n", 375 | " results = tavily_response['results']\n", 376 | " all_context = \"\"\n", 377 | " for result in results:\n", 378 | " all_context += result['content'] + \"\\n\"\n", 379 | " if result['url'] in duplicate_references:\n", 380 | " continue\n", 381 | " duplicate_references.add(result['url'])\n", 382 | " references.append({\"title\": result['title'], \"source\": result['url'], \"content\": result['content']})\n", 383 | " answer = generate_answer(topic, question, all_context)\n", 384 | " history.append(answer)\n", 385 | " all_conversations.append(history)\n", 386 | "print(\"DONE.\")" 387 | ] 388 | }, 389 | { 390 | "cell_type": "code", 391 | "execution_count": 28, 392 | "id": "fbfe083f-0d20-415c-b371-ffbbb8c3f9f0", 393 | "metadata": { 394 | "id": "fbfe083f-0d20-415c-b371-ffbbb8c3f9f0" 395 | }, 396 | "outputs": [], 397 | "source": [ 398 | "def generate_outline(topic: str) -> str:\n", 399 | " system_prompt = \"\"\"Write an outline for an article about a given topic.\n", 400 | "Here is the format of your writing:\n", 401 | "Use \"#\" Title \" to indicate section title , \"##\" Title \" to indicate subsection title , \"###\" Title \" to indicate subsubsection title , and so on.\n", 402 | "Do not include other information.\\n\\n\"\"\"\n", 403 | "\n", 404 | " user_prompt = \"\"\"Here's the topic:\\n\\nTOPIC:{topic}\"\"\"\n", 405 | "\n", 406 | " try:\n", 407 | "\n", 408 | " response = completion(\n", 409 | " api_key = CLAUDE_API_KEY,\n", 410 | " model=\"claude-3-opus-20240229\",\n", 411 | " messages=[{ \"content\": system_prompt,\"role\": \"system\"},{ \"content\": user_prompt.format(topic=topic),\"role\": \"user\"}],\n", 412 | " temperature=0.5,\n", 413 | " max_tokens=500,\n", 414 | " )\n", 415 | " response = response.choices[0].message.content\n", 416 | "\n", 417 | " return response\n", 418 | " except Exception as e:\n", 419 | " print(f\"Error in translation: {e}\")\n" 420 | ] 421 | }, 422 | { 423 | "cell_type": "code", 424 | "execution_count": 29, 425 | "id": "3e9853e9-9361-4905-8054-736920d16d23", 426 | "metadata": { 427 | "id": "3e9853e9-9361-4905-8054-736920d16d23" 428 | }, 429 | "outputs": [], 430 | "source": [ 431 | "outline = generate_outline(topic)\n", 432 | "\n", 433 | "# Building A Powerful LinkedIn Presence" 434 | ] 435 | }, 436 | { 437 | "cell_type": "code", 438 | "execution_count": 30, 439 | "id": "V5T5OSwp8G56", 440 | "metadata": { 441 | "colab": { 442 | "base_uri": "https://localhost:8080/" 443 | }, 444 | "id": "V5T5OSwp8G56", 445 | "outputId": "16cb0890-08a3-4b9a-b289-2315c61742eb" 446 | }, 447 | "outputs": [ 448 | { 449 | "output_type": "stream", 450 | "name": "stdout", 451 | "text": [ 452 | "Here is an outline for an article on \"Building A Powerful LinkedIn Presence\":\n", 453 | "\n", 454 | "# Why LinkedIn Matters for Your Career\n", 455 | "## Networking Opportunities\n", 456 | "## Establishing Credibility and Thought Leadership\n", 457 | "## Attracting Job Opportunities\n", 458 | "\n", 459 | "# Optimizing Your LinkedIn Profile\n", 460 | "## Crafting a Compelling Headline \n", 461 | "## Writing an Engaging Summary\n", 462 | "### Highlighting Key Accomplishments\n", 463 | "### Showcasing Your Personality\n", 464 | "## Selecting a Professional Profile Photo\n", 465 | "## Detailing Your Work Experience\n", 466 | "### Quantifying Achievements\n", 467 | "### Using Action Verbs\n", 468 | "## Listing Relevant Skills\n", 469 | "## Seeking Recommendations\n", 470 | "\n", 471 | "# Growing Your LinkedIn Network\n", 472 | "## Connecting with Colleagues and Classmates\n", 473 | "## Joining Relevant Groups\n", 474 | "## Engaging with Others' Content\n", 475 | "### Liking and Commenting\n", 476 | "### Sharing Insightful Posts\n", 477 | "## Leveraging Mutual Connections\n", 478 | "\n", 479 | "# Sharing Valuable Content\n", 480 | "## Posting Regular Status Updates\n", 481 | "### Industry News and Trends\n", 482 | "### Lessons Learned\n", 483 | "### Personal Insights\n", 484 | "## Publishing Long-Form Articles\n", 485 | "### Demonstrating Expertise\n", 486 | "### Encouraging Discussion\n", 487 | "## Sharing Multimedia Content\n", 488 | "### Images\n", 489 | "### Videos\n", 490 | "### Presentations\n", 491 | "\n", 492 | "# Engaging with Companies and Influencers\n", 493 | "## Following Relevant Companies\n", 494 | "## Interacting with Company Updates\n", 495 | "## Connecting with Influencers\n", 496 | "## Participating in Discussions\n", 497 | "\n", 498 | "# Measuring Your LinkedIn Impact\n", 499 | "## Tracking Profile Views\n", 500 | "## Analyzing Engagement Metrics\n", 501 | "### Post Views\n", 502 | "### Likes, Comments and Shares\n", 503 | "## Monitoring Your Search Appearances\n", 504 | "## Adjusting Your Strategy\n" 505 | ] 506 | } 507 | ], 508 | "source": [ 509 | "print(outline) #Claude" 510 | ] 511 | }, 512 | { 513 | "cell_type": "code", 514 | "execution_count": 31, 515 | "id": "2b9ea0e2-0352-4679-af93-805dcd29ccfc", 516 | "metadata": { 517 | "id": "2b9ea0e2-0352-4679-af93-805dcd29ccfc" 518 | }, 519 | "outputs": [], 520 | "source": [ 521 | "def refine_outline(topic: str, outline: str, conversation: list[list[str]]) -> str:\n", 522 | " system_prompt = \"\"\"I want you to improve an outline of an article about {topic} topic. You already have a draft outline given below that\n", 523 | "covers the general information. Now you want to improve it based on the given\n", 524 | "information learned from an information - seeking conversation to make it more\n", 525 | "comprehensive. Here is the format of your writing:\n", 526 | "Use \"#\" Title \" to indicate section title , \"##\" Title \" to indicate\n", 527 | "subsection title , \"###\" Title \" to indicate subsubsection title , and so on. Do not include other information.\\n\\ndraft outline: {outline}\\n\\n\"\"\"\n", 528 | "\n", 529 | " user_prompt = \"\"\"learned information: {conversation}\"\"\"\n", 530 | " flattened_list = [item for sublist in conversation for item in sublist]\n", 531 | " context = ''.join(flattened_list)\n", 532 | " try:\n", 533 | " response = completion(\n", 534 | " api_key = CLAUDE_API_KEY,\n", 535 | " model=\"claude-3-opus-20240229\",\n", 536 | " messages=[{ \"content\": system_prompt.format(topic=topic, outline=outline),\"role\": \"system\"},{ \"content\": user_prompt.format(conversation=context),\"role\": \"user\"}],\n", 537 | " temperature=0.5,\n", 538 | " max_tokens=800,\n", 539 | " )\n", 540 | " response = response.choices[0].message.content\n", 541 | "\n", 542 | " return response\n", 543 | " except Exception as e:\n", 544 | " print(f\"Error in translation: {e}\")" 545 | ] 546 | }, 547 | { 548 | "cell_type": "code", 549 | "execution_count": null, 550 | "id": "96e01e7e-9980-4104-acaa-985bbae79010", 551 | "metadata": { 552 | "id": "96e01e7e-9980-4104-acaa-985bbae79010" 553 | }, 554 | "outputs": [], 555 | "source": [ 556 | "refined_outline = refine_outline(topic, outline, all_conversations)" 557 | ] 558 | }, 559 | { 560 | "cell_type": "code", 561 | "execution_count": 33, 562 | "id": "ksgT_HgG8pj-", 563 | "metadata": { 564 | "colab": { 565 | "base_uri": "https://localhost:8080/" 566 | }, 567 | "id": "ksgT_HgG8pj-", 568 | "outputId": "1af4577d-0436-4037-d0ba-c444a31aed20" 569 | }, 570 | "outputs": [ 571 | { 572 | "output_type": "stream", 573 | "name": "stdout", 574 | "text": [ 575 | "Here is an improved outline for an article on \"Building A Powerful LinkedIn Presence\" based on the provided information:\n", 576 | "\n", 577 | "# Why LinkedIn Matters for Your Career\n", 578 | "## Networking Opportunities\n", 579 | "## Establishing Credibility and Thought Leadership\n", 580 | "## Attracting Job Opportunities\n", 581 | "\n", 582 | "# Optimizing Your LinkedIn Profile\n", 583 | "## Crafting a Compelling Headline\n", 584 | "### Highlighting Your Unique Value Proposition \n", 585 | "### Using Relevant Keywords\n", 586 | "### Quantifying Your Achievements\n", 587 | "### Showing Your Personality\n", 588 | "### Testing Different Headlines\n", 589 | "### Keeping it Concise\n", 590 | "## Writing an Engaging About Section\n", 591 | "### Grabbing Attention with a Strong Opening Line\n", 592 | "### Clearly Articulating Your Unique Value Proposition\n", 593 | "### Telling Your Professional Story\n", 594 | "### Using Keywords \n", 595 | "### Adding Multimedia\n", 596 | "### Including a Call-to-Action\n", 597 | "### Proofreading and Refining\n", 598 | "## Completing All Profile Sections Thoroughly\n", 599 | "### Detailing Your Work Experience \n", 600 | "#### Providing Details on Roles, Accomplishments, and Skills\n", 601 | "### Including Relevant Licenses and Certifications\n", 602 | "### Incorporating Keywords Throughout Profile\n", 603 | "## Seeking Strong Recommendations\n", 604 | "### Aiming for 3-5 Recommendations\n", 605 | "### Requesting from Respected Colleagues, Managers, Clients\n", 606 | "## Selecting a Professional, High-Quality Profile Photo \n", 607 | "## Using Background Image to Reinforce Personal Brand\n", 608 | "## Keeping Profile Content Concise and Easy to Scan\n", 609 | "### Using Short Paragraphs and Bullet Points\n", 610 | "\n", 611 | "# Growing Your LinkedIn Network\n", 612 | "## Connecting with Colleagues and Classmates \n", 613 | "## Joining Relevant Groups\n", 614 | "## Engaging with Others' Content\n", 615 | "### Liking and Commenting\n", 616 | "### Sharing Insightful Posts\n", 617 | "## Leveraging Mutual Connections\n", 618 | "\n", 619 | "# Sharing Valuable Content \n", 620 | "## Posting Regular Status Updates\n", 621 | "### Industry News and Trends\n", 622 | "### Lessons Learned \n", 623 | "### Personal Insights\n", 624 | "## Publishing Long-Form Articles\n", 625 | "### Demonstrating Expertise\n", 626 | "### Encouraging Discussion \n", 627 | "## Sharing Multimedia Content\n", 628 | "### Images\n", 629 | "### Videos\n", 630 | "### Presentations\n", 631 | "\n", 632 | "# Engaging with Companies and Influencers\n", 633 | "## Following Relevant Companies\n", 634 | "## Interacting with Company Updates\n", 635 | "## Connecting with Influencers \n", 636 | "## Participating in Discussions\n", 637 | "\n", 638 | "# Measuring Your LinkedIn Impact\n", 639 | "## Tracking Profile Views\n", 640 | "## Analyzing Engagement Metrics \n", 641 | "### Post Views\n", 642 | "### Likes, Comments and Shares\n", 643 | "## Monitoring Your Search Appearances\n", 644 | "## Adjusting Your Strategy\n" 645 | ] 646 | } 647 | ], 648 | "source": [ 649 | "print(refined_outline) #Claude" 650 | ] 651 | }, 652 | { 653 | "cell_type": "code", 654 | "execution_count": 34, 655 | "id": "2068c817-5708-4c50-ac33-b373fe64c80d", 656 | "metadata": { 657 | "colab": { 658 | "base_uri": "https://localhost:8080/" 659 | }, 660 | "id": "2068c817-5708-4c50-ac33-b373fe64c80d", 661 | "outputId": "0e276f78-9d50-4b1d-d3e5-e3ba38cc913b" 662 | }, 663 | "outputs": [ 664 | { 665 | "output_type": "execute_result", 666 | "data": { 667 | "text/plain": [ 668 | "['Here is an improved outline for an article on \"Building A Powerful LinkedIn Presence\" based on the provided information:',\n", 669 | " '# Why LinkedIn Matters for Your Career\\n## Networking Opportunities\\n## Establishing Credibility and Thought Leadership\\n## Attracting Job Opportunities',\n", 670 | " '# Optimizing Your LinkedIn Profile\\n## Crafting a Compelling Headline\\n### Highlighting Your Unique Value Proposition \\n### Using Relevant Keywords\\n### Quantifying Your Achievements\\n### Showing Your Personality\\n### Testing Different Headlines\\n### Keeping it Concise\\n## Writing an Engaging About Section\\n### Grabbing Attention with a Strong Opening Line\\n### Clearly Articulating Your Unique Value Proposition\\n### Telling Your Professional Story\\n### Using Keywords \\n### Adding Multimedia\\n### Including a Call-to-Action\\n### Proofreading and Refining\\n## Completing All Profile Sections Thoroughly\\n### Detailing Your Work Experience \\n#### Providing Details on Roles, Accomplishments, and Skills\\n### Including Relevant Licenses and Certifications\\n### Incorporating Keywords Throughout Profile\\n## Seeking Strong Recommendations\\n### Aiming for 3-5 Recommendations\\n### Requesting from Respected Colleagues, Managers, Clients\\n## Selecting a Professional, High-Quality Profile Photo \\n## Using Background Image to Reinforce Personal Brand\\n## Keeping Profile Content Concise and Easy to Scan\\n### Using Short Paragraphs and Bullet Points',\n", 671 | " \"# Growing Your LinkedIn Network\\n## Connecting with Colleagues and Classmates \\n## Joining Relevant Groups\\n## Engaging with Others' Content\\n### Liking and Commenting\\n### Sharing Insightful Posts\\n## Leveraging Mutual Connections\",\n", 672 | " '# Sharing Valuable Content \\n## Posting Regular Status Updates\\n### Industry News and Trends\\n### Lessons Learned \\n### Personal Insights\\n## Publishing Long-Form Articles\\n### Demonstrating Expertise\\n### Encouraging Discussion \\n## Sharing Multimedia Content\\n### Images\\n### Videos\\n### Presentations',\n", 673 | " '# Engaging with Companies and Influencers\\n## Following Relevant Companies\\n## Interacting with Company Updates\\n## Connecting with Influencers \\n## Participating in Discussions',\n", 674 | " '# Measuring Your LinkedIn Impact\\n## Tracking Profile Views\\n## Analyzing Engagement Metrics \\n### Post Views\\n### Likes, Comments and Shares\\n## Monitoring Your Search Appearances\\n## Adjusting Your Strategy']" 675 | ] 676 | }, 677 | "metadata": {}, 678 | "execution_count": 34 679 | } 680 | ], 681 | "source": [ 682 | "rr = refined_outline.split(\"\\n\\n\")\n", 683 | "rr" 684 | ] 685 | }, 686 | { 687 | "cell_type": "code", 688 | "execution_count": 35, 689 | "id": "0ffef25c-0a9f-41be-88f3-e97d1ac19f3d", 690 | "metadata": { 691 | "id": "0ffef25c-0a9f-41be-88f3-e97d1ac19f3d" 692 | }, 693 | "outputs": [], 694 | "source": [ 695 | "from fastembed import TextEmbedding\n", 696 | "from typing import List" 697 | ] 698 | }, 699 | { 700 | "cell_type": "code", 701 | "execution_count": 37, 702 | "id": "e227f89c-9e32-41b8-84ea-753e37c51467", 703 | "metadata": { 704 | "id": "e227f89c-9e32-41b8-84ea-753e37c51467" 705 | }, 706 | "outputs": [], 707 | "source": [ 708 | "documents = []\n", 709 | "metadata = []\n", 710 | "ids = []\n", 711 | "for i in range(len(references)):\n", 712 | " documents.append(references[i]['title'] + \" \" + references[i][\"content\"])\n", 713 | " metadata.append({\"source\":references[i][\"source\"]})\n", 714 | " ids.append(i)" 715 | ] 716 | }, 717 | { 718 | "cell_type": "code", 719 | "execution_count": 39, 720 | "id": "79bb9772-3019-4c7d-922a-576d5624f88a", 721 | "metadata": { 722 | "id": "79bb9772-3019-4c7d-922a-576d5624f88a" 723 | }, 724 | "outputs": [], 725 | "source": [ 726 | "from qdrant_client import QdrantClient\n", 727 | "\n", 728 | "client = QdrantClient(\":memory:\")" 729 | ] 730 | }, 731 | { 732 | "cell_type": "code", 733 | "execution_count": 40, 734 | "id": "11b09a35-0a40-467d-b947-b10b56867fc3", 735 | "metadata": { 736 | "colab": { 737 | "base_uri": "https://localhost:8080/" 738 | }, 739 | "id": "11b09a35-0a40-467d-b947-b10b56867fc3", 740 | "outputId": "f6b73c3b-06c4-4b06-9aa7-4493045e77cd" 741 | }, 742 | "outputs": [ 743 | { 744 | "output_type": "execute_result", 745 | "data": { 746 | "text/plain": [ 747 | "True" 748 | ] 749 | }, 750 | "metadata": {}, 751 | "execution_count": 40 752 | } 753 | ], 754 | "source": [ 755 | "client.delete_collection(collection_name=\"demo_collection\")" 756 | ] 757 | }, 758 | { 759 | "cell_type": "code", 760 | "execution_count": 41, 761 | "id": "489b1ee0-5532-44ac-8c05-65cc3eded814", 762 | "metadata": { 763 | "id": "489b1ee0-5532-44ac-8c05-65cc3eded814", 764 | "colab": { 765 | "base_uri": "https://localhost:8080/" 766 | }, 767 | "outputId": "c9cb8ad5-7923-4e84-a71d-34c069a4bea1" 768 | }, 769 | "outputs": [ 770 | { 771 | "output_type": "stream", 772 | "name": "stderr", 773 | "text": [ 774 | "100%|██████████| 77.7M/77.7M [00:02<00:00, 35.4MiB/s]\n" 775 | ] 776 | } 777 | ], 778 | "source": [ 779 | "ids = client.add(\n", 780 | " collection_name=\"demo_collection\",\n", 781 | " documents=documents,\n", 782 | " metadata=metadata,\n", 783 | " ids=ids\n", 784 | ")" 785 | ] 786 | }, 787 | { 788 | "cell_type": "code", 789 | "execution_count": 42, 790 | "id": "69bd5f52-a628-483a-a6c6-631e65834078", 791 | "metadata": { 792 | "colab": { 793 | "base_uri": "https://localhost:8080/", 794 | "height": 35 795 | }, 796 | "id": "69bd5f52-a628-483a-a6c6-631e65834078", 797 | "outputId": "863ae2e6-0fb6-4a4b-800f-14558351dd98" 798 | }, 799 | "outputs": [ 800 | { 801 | "output_type": "execute_result", 802 | "data": { 803 | "text/plain": [ 804 | "'Here is an improved outline for an article on \"Building A Powerful LinkedIn Presence\" based on the provided information:'" 805 | ], 806 | "application/vnd.google.colaboratory.intrinsic+json": { 807 | "type": "string" 808 | } 809 | }, 810 | "metadata": {}, 811 | "execution_count": 42 812 | } 813 | ], 814 | "source": [ 815 | "query = rr[0]\n", 816 | "query" 817 | ] 818 | }, 819 | { 820 | "cell_type": "code", 821 | "execution_count": 43, 822 | "id": "64fe5529-c318-48be-8f1d-4f35ab5cd92a", 823 | "metadata": { 824 | "colab": { 825 | "base_uri": "https://localhost:8080/" 826 | }, 827 | "id": "64fe5529-c318-48be-8f1d-4f35ab5cd92a", 828 | "outputId": "cbffccf9-de8f-4f84-d1e2-430016ab5ced" 829 | }, 830 | "outputs": [ 831 | { 832 | "output_type": "stream", 833 | "name": "stdout", 834 | "text": [ 835 | "https://insidea.com/blog/linkedin/linkedin-profile-optimization-tips/\n", 836 | "3\n", 837 | "https://www.linkedin.com/pulse/how-write-perfect-linkedin-headline-examples-noelle?articleId=6729843351371231232\n", 838 | "6\n", 839 | "https://www.linkedin.com/pulse/10-essential-tips-writing-engaging-linkedin-articles-sharad-koche\n", 840 | "11\n", 841 | "https://www.jobscan.co/blog/impactful-linkedin-headline-examples/\n", 842 | "8\n", 843 | "https://www.linkedist.com/profile-optimization-on-linkedin-the-ultimate-checklist\n", 844 | "1\n" 845 | ] 846 | } 847 | ], 848 | "source": [ 849 | "search_result = client.query(\n", 850 | " collection_name=\"demo_collection\",\n", 851 | " query_text=rr[0],\n", 852 | " limit=5\n", 853 | ")\n", 854 | "\n", 855 | "for s in search_result:\n", 856 | " print(s.metadata['source'])\n", 857 | " print(s.id)\n" 858 | ] 859 | }, 860 | { 861 | "cell_type": "code", 862 | "execution_count": null, 863 | "id": "1851c6ca-e6e2-47c9-a098-16a8a5cfeba7", 864 | "metadata": { 865 | "id": "1851c6ca-e6e2-47c9-a098-16a8a5cfeba7" 866 | }, 867 | "outputs": [], 868 | "source": [ 869 | "search_result" 870 | ] 871 | }, 872 | { 873 | "cell_type": "code", 874 | "execution_count": 47, 875 | "id": "f7954ce5-70e4-4d77-b590-d7356ef3b989", 876 | "metadata": { 877 | "id": "f7954ce5-70e4-4d77-b590-d7356ef3b989" 878 | }, 879 | "outputs": [], 880 | "source": [ 881 | "def write_section(section: str) -> str:\n", 882 | "\n", 883 | " search_result = client.query(\n", 884 | " collection_name=\"demo_collection\",\n", 885 | " query_text=section,\n", 886 | " limit=5\n", 887 | " )\n", 888 | " references = generate_references_string(search_result)\n", 889 | "\n", 890 | "\n", 891 | " system_prompt = \"\"\"You are an expert in writing. I will give you an outline of\n", 892 | " a section of a blog and several references. You will generate the article of the section using the provided refrences.\n", 893 | " You MUST cite your writing using the given sources. Do not include other information. Include 'reference id' for each sentence in this format: [ref_id]. Your response MUST be in markdown format.\\n\\nREFERENCES: {references}\\n\\n\"\"\"\n", 894 | "\n", 895 | "\n", 896 | " user_prompt = \"\"\"SECTION OUTLINE: {section}\"\"\"\n", 897 | "\n", 898 | " try:\n", 899 | " response = completion(\n", 900 | " api_key = CLAUDE_API_KEY,\n", 901 | " model=\"claude-3-opus-20240229\",\n", 902 | " messages=[{ \"content\": system_prompt.format(references=references),\"role\": \"system\"},{ \"content\": user_prompt.format(section=section),\"role\": \"user\"}],\n", 903 | " temperature=0.5,\n", 904 | " max_tokens=1500,\n", 905 | " )\n", 906 | " response = response.choices[0].message.content\n", 907 | "\n", 908 | " return response\n", 909 | " except Exception as e:\n", 910 | " print(f\"Error in translation: {e}\")" 911 | ] 912 | }, 913 | { 914 | "cell_type": "code", 915 | "execution_count": 48, 916 | "id": "f14ff1e1-5761-48a6-8843-5e1d61bf53f3", 917 | "metadata": { 918 | "id": "f14ff1e1-5761-48a6-8843-5e1d61bf53f3" 919 | }, 920 | "outputs": [], 921 | "source": [ 922 | "def generate_references_string(references):\n", 923 | " output = []\n", 924 | " for ref in references:\n", 925 | " ref_id = ref.id\n", 926 | " ref_url = ref.metadata.get('source', '')\n", 927 | " ref_content = ref.metadata.get('document', '')\n", 928 | "\n", 929 | " # Construct a formatted string for each reference\n", 930 | " reference_str = f\"Reference ID:\\n {ref_id}\\nURL: {ref_url}\\nContent: {ref_content}\\n\"\n", 931 | "\n", 932 | " # Append the formatted reference string to the output list\n", 933 | " output.append(reference_str)\n", 934 | "\n", 935 | " return '\\n'.join(output)" 936 | ] 937 | }, 938 | { 939 | "cell_type": "code", 940 | "execution_count": 49, 941 | "id": "1ad4da4a-6fb2-49b3-924c-d070add7cb22", 942 | "metadata": { 943 | "colab": { 944 | "base_uri": "https://localhost:8080/" 945 | }, 946 | "id": "1ad4da4a-6fb2-49b3-924c-d070add7cb22", 947 | "outputId": "97abc8dd-3dd2-4136-a680-948d4f08e4a8" 948 | }, 949 | "outputs": [ 950 | { 951 | "output_type": "stream", 952 | "name": "stdout", 953 | "text": [ 954 | "article DONE!\n" 955 | ] 956 | } 957 | ], 958 | "source": [ 959 | "article = \"\"\n", 960 | "for section_outline in rr[1::]:\n", 961 | " sec = write_section(section_outline)\n", 962 | " article += sec + \"\\n\\n\"\n", 963 | "\n", 964 | "print(\"article DONE!\")" 965 | ] 966 | }, 967 | { 968 | "cell_type": "code", 969 | "execution_count": 50, 970 | "id": "c87ebb81-b0ea-4e58-9d6d-9631b5451504", 971 | "metadata": { 972 | "colab": { 973 | "base_uri": "https://localhost:8080/" 974 | }, 975 | "id": "c87ebb81-b0ea-4e58-9d6d-9631b5451504", 976 | "outputId": "8bc65e8b-c62f-4d02-901e-edddea2dbfd8" 977 | }, 978 | "outputs": [ 979 | { 980 | "output_type": "stream", 981 | "name": "stdout", 982 | "text": [ 983 | "# Why LinkedIn Matters for Your Career\n", 984 | "\n", 985 | "LinkedIn is a powerful platform that can significantly impact your professional journey. By leveraging its features and optimizing your profile, you can unlock numerous opportunities for career growth and success. [ref_3]\n", 986 | "\n", 987 | "## Networking Opportunities\n", 988 | "\n", 989 | "One of the primary reasons LinkedIn matters for your career is the vast networking opportunities it provides. By connecting with professionals in your industry and beyond, you can expand your network, gain valuable insights, and potentially open doors to new collaborations or job prospects. [ref_3]\n", 990 | "\n", 991 | "## Establishing Credibility and Thought Leadership\n", 992 | "\n", 993 | "LinkedIn allows you to showcase your expertise and establish yourself as a thought leader in your field. By sharing relevant content, engaging in discussions, and contributing to industry conversations, you can demonstrate your knowledge and build credibility among your peers and potential employers. [ref_13]\n", 994 | "\n", 995 | "## Attracting Job Opportunities\n", 996 | "\n", 997 | "An optimized LinkedIn profile can significantly increase your chances of being discovered by recruiters and hiring managers. By ensuring that every part of your profile is complete and showcases your skills and experience, you become more visible to potential employers searching for candidates with your expertise. [ref_3] Tailoring your headline to include relevant keywords associated with your industry and field can further boost your visibility in search results. [ref_8]\n", 998 | "\n", 999 | "Moreover, LinkedIn provides a platform to showcase your work through multimedia content such as images, videos, and documents. By adding visual elements to your profile, you can effectively communicate your value proposition and make a strong first impression on potential employers. [ref_12]\n", 1000 | "\n", 1001 | "In summary, LinkedIn is an essential tool for advancing your career. By leveraging its networking opportunities, establishing your credibility, and attracting job opportunities through an optimized profile, you can open doors to new possibilities and take your professional journey to the next level.\n", 1002 | "\n", 1003 | "# Optimizing Your LinkedIn Profile\n", 1004 | "\n", 1005 | "## Crafting a Compelling Headline\n", 1006 | "\n", 1007 | "### Highlighting Your Unique Value Proposition\n", 1008 | "\n", 1009 | "Your LinkedIn headline serves as a piece of the larger narrative about your professional journey and aspirations. By ensuring that your headline is filled out, you not only provide potential employers or connections with a picture of your expertise but also increase your chances of being discovered through LinkedIn's search. [3]\n", 1010 | "\n", 1011 | "### Using Relevant Keywords\n", 1012 | "\n", 1013 | "When writing your headline, consider including relevant keywords to optimize your profile for search visibility. [4] Having a robust recommendation section on LinkedIn can enhance an individual's profile's visibility and searchability. [0]\n", 1014 | "\n", 1015 | "### Quantifying Your Achievements\n", 1016 | "\n", 1017 | "Quantifying your achievements in your headline can help you stand out as a candidate and showcase your expertise. [0]\n", 1018 | "\n", 1019 | "### Showing Your Personality\n", 1020 | "\n", 1021 | "Your first impression and level of credibility are vastly different when you go from \"Blogger\" to \"Blogger featured on Mashable.\" [6]\n", 1022 | "\n", 1023 | "### Testing Different Headlines\n", 1024 | "\n", 1025 | "Keep your LinkedIn headline up to date as your career changes. While the headline shouldn't be a huge time investment, it is one of those activities that requires ongoing maintenance. [6]\n", 1026 | "\n", 1027 | "### Keeping it Concise\n", 1028 | "\n", 1029 | "Your headline should be concise and to the point, providing a snapshot of your professional value proposition. [3]\n", 1030 | "\n", 1031 | "## Writing an Engaging About Section\n", 1032 | "\n", 1033 | "### Grabbing Attention with a Strong Opening Line\n", 1034 | "\n", 1035 | "Your About section should start with a strong opening line that grabs the reader's attention and entices them to read more. [3]\n", 1036 | "\n", 1037 | "### Clearly Articulating Your Unique Value Proposition\n", 1038 | "\n", 1039 | "Use your About section to clearly articulate your unique value proposition and what sets you apart from other professionals in your field. [3]\n", 1040 | "\n", 1041 | "### Telling Your Professional Story\n", 1042 | "\n", 1043 | "Your About section should tell your professional story, highlighting your key accomplishments, skills, and experiences. [3]\n", 1044 | "\n", 1045 | "### Using Keywords\n", 1046 | "\n", 1047 | "Incorporate relevant keywords throughout your About section to increase your visibility in LinkedIn search results. [4]\n", 1048 | "\n", 1049 | "### Adding Multimedia\n", 1050 | "\n", 1051 | "Consider adding multimedia elements such as videos, images, or presentations to your About section to make it more engaging and interactive. [3]\n", 1052 | "\n", 1053 | "### Including a Call-to-Action\n", 1054 | "\n", 1055 | "End your About section with a clear call-to-action, such as inviting readers to connect with you or visit your website. [3]\n", 1056 | "\n", 1057 | "### Proofreading and Refining\n", 1058 | "\n", 1059 | "Make sure to proofread and refine your About section to ensure it is error-free and effectively communicates your professional brand. [3]\n", 1060 | "\n", 1061 | "## Completing All Profile Sections Thoroughly\n", 1062 | "\n", 1063 | "### Detailing Your Work Experience\n", 1064 | "\n", 1065 | "Provide detailed information on your roles, accomplishments, and skills in the Experience section of your profile. [0]\n", 1066 | "\n", 1067 | "### Including Relevant Licenses and Certifications\n", 1068 | "\n", 1069 | "Mention relevant, prerequisite licenses and certifications in your profile to showcase your professional credentials and expertise. [0]\n", 1070 | "\n", 1071 | "### Incorporating Keywords Throughout Profile\n", 1072 | "\n", 1073 | "Use keywords throughout your profile to increase your visibility in LinkedIn search results. [0]\n", 1074 | "\n", 1075 | "## Seeking Strong Recommendations\n", 1076 | "\n", 1077 | "### Aiming for 3-5 Recommendations\n", 1078 | "\n", 1079 | "Aim to have 3-5 strong recommendations on your profile from respected colleagues, managers, or clients. [0]\n", 1080 | "\n", 1081 | "### Requesting from Respected Colleagues, Managers, Clients\n", 1082 | "\n", 1083 | "Reach out to respected colleagues, managers, or clients to request recommendations that highlight your skills and accomplishments. [0]\n", 1084 | "\n", 1085 | "## Selecting a Professional, High-Quality Profile Photo\n", 1086 | "\n", 1087 | "Choose a professional, high-quality profile photo that presents you in a positive light and aligns with your personal brand. [3] \n", 1088 | "\n", 1089 | "## Using Background Image to Reinforce Personal Brand\n", 1090 | "\n", 1091 | "While background images don't make a significant difference when being sourced by recruiters, they can still be used to reinforce your personal brand. [0]\n", 1092 | "\n", 1093 | "## Keeping Profile Content Concise and Easy to Scan\n", 1094 | "\n", 1095 | "### Using Short Paragraphs and Bullet Points\n", 1096 | "\n", 1097 | "Use short paragraphs and bullet points to make your profile content easy to read and scan. [4] An optimized LinkedIn profile can help you stand out from the crowd and attract the attention of recruiters and hiring managers. [2]\n", 1098 | "\n", 1099 | "# Growing Your LinkedIn Network\n", 1100 | "\n", 1101 | "Growing your LinkedIn network is essential for expanding your professional reach and discovering new opportunities. By strategically connecting with others, joining relevant groups, and engaging with content, you can effectively increase your visibility and build valuable relationships. [ref_3]\n", 1102 | "\n", 1103 | "## Connecting with Colleagues and Classmates\n", 1104 | "\n", 1105 | "One of the easiest ways to start growing your LinkedIn network is by connecting with your current and former colleagues, as well as classmates from your educational institutions. These individuals already have a shared professional or academic background with you, making it more likely that they will accept your connection request. [ref_3]\n", 1106 | "\n", 1107 | "## Joining Relevant Groups\n", 1108 | "\n", 1109 | "LinkedIn Groups provide an excellent platform to connect with professionals who share similar interests or work in the same industry. By joining and actively participating in relevant groups, you can expand your network, gain insights from industry experts, and showcase your expertise through meaningful discussions. [ref_3]\n", 1110 | "\n", 1111 | "## Engaging with Others' Content\n", 1112 | "\n", 1113 | "Engaging with the content shared by your connections and other industry professionals is a powerful way to increase your visibility and build relationships on LinkedIn. [ref_3]\n", 1114 | "\n", 1115 | "### Liking and Commenting\n", 1116 | "\n", 1117 | "When you come across insightful posts or articles, take a moment to like and leave a thoughtful comment. This shows your appreciation for the content and can lead to further interactions with the author and other professionals who have engaged with the post. [ref_11]\n", 1118 | "\n", 1119 | "### Sharing Insightful Posts\n", 1120 | "\n", 1121 | "In addition to liking and commenting, sharing valuable content with your network demonstrates your commitment to providing helpful resources and insights. When sharing posts, consider adding your own perspective or thoughts to encourage discussion and showcase your expertise. [ref_11]\n", 1122 | "\n", 1123 | "## Leveraging Mutual Connections\n", 1124 | "\n", 1125 | "LinkedIn's \"Mutual Connections\" feature allows you to identify common connections between you and other professionals. Leveraging these mutual connections can be a powerful way to expand your network and gain introductions to potential clients, partners, or employers. [ref_3]\n", 1126 | "\n", 1127 | "When reaching out to a mutual connection, be sure to personalize your message and clearly explain why you'd like to connect. Highlighting your shared connection and expressing your interest in their work or industry can increase the likelihood of a positive response. [ref_3]\n", 1128 | "\n", 1129 | "By implementing these strategies consistently, you can effectively grow your LinkedIn network, opening up new opportunities for collaboration, knowledge sharing, and career advancement.\n", 1130 | "\n", 1131 | "# Sharing Valuable Content\n", 1132 | "\n", 1133 | "Sharing valuable content on LinkedIn is essential for engaging your audience and establishing your professional brand. By regularly posting updates, publishing long-form articles, and sharing multimedia content, you can effectively communicate your expertise and encourage meaningful discussions within your network [11].\n", 1134 | "\n", 1135 | "## Posting Regular Status Updates\n", 1136 | "\n", 1137 | "Posting regular status updates is a great way to keep your LinkedIn presence active and share bite-sized pieces of information with your connections. These updates can cover a range of topics, including industry news and trends, lessons learned from your professional experiences, and personal insights on relevant subjects [7].\n", 1138 | "\n", 1139 | "### Industry News and Trends\n", 1140 | "\n", 1141 | "Sharing the latest industry news and trends demonstrates that you are knowledgeable and up-to-date in your field. This type of content helps to position you as a thought leader and can spark interesting conversations with your connections [14].\n", 1142 | "\n", 1143 | "### Lessons Learned\n", 1144 | "\n", 1145 | "Sharing lessons learned from your professional experiences provides value to your network by offering practical insights and advice. These updates can be particularly helpful for those who are facing similar challenges or looking to grow in their careers [11].\n", 1146 | "\n", 1147 | "### Personal Insights\n", 1148 | "\n", 1149 | "Sharing personal insights on relevant topics allows you to showcase your unique perspective and personality. This type of content helps to humanize your professional brand and can foster deeper connections with your audience [7].\n", 1150 | "\n", 1151 | "## Publishing Long-Form Articles\n", 1152 | "\n", 1153 | "Publishing long-form articles on LinkedIn is an excellent way to delve deeper into topics and showcase your expertise. These articles provide an opportunity to demonstrate your knowledge, share valuable insights, and encourage meaningful discussions within your network [6].\n", 1154 | "\n", 1155 | "### Demonstrating Expertise\n", 1156 | "\n", 1157 | "By writing in-depth articles on subjects related to your industry or profession, you can effectively demonstrate your expertise and establish yourself as a thought leader. This type of content can help to attract potential clients, employers, or collaborators who are interested in your area of specialization [11].\n", 1158 | "\n", 1159 | "### Encouraging Discussion\n", 1160 | "\n", 1161 | "Long-form articles on LinkedIn often encourage discussion by providing a platform for readers to share their thoughts, ask questions, and engage in meaningful conversations. By fostering these discussions, you can build relationships with your connections and gain valuable insights from diverse perspectives [14].\n", 1162 | "\n", 1163 | "## Sharing Multimedia Content\n", 1164 | "\n", 1165 | "In addition to text-based updates and articles, sharing multimedia content on LinkedIn can help to capture the attention of your audience and effectively communicate your message. This can include images, videos, and presentations that supplement your written content [12].\n", 1166 | "\n", 1167 | "### Images\n", 1168 | "\n", 1169 | "Incorporating relevant images into your LinkedIn updates and articles can make your content more visually appealing and engaging. This can include infographics, charts, or photographs that illustrate your points and break up large blocks of text [7].\n", 1170 | "\n", 1171 | "### Videos\n", 1172 | "\n", 1173 | "Sharing videos on LinkedIn is a powerful way to connect with your audience and convey your message in a dynamic format. This can include short video updates, interviews, or educational content that showcases your expertise and personality [12].\n", 1174 | "\n", 1175 | "### Presentations\n", 1176 | "\n", 1177 | "Uploading presentations to LinkedIn allows you to share in-depth information in a visually engaging format. This can include slideshows, webinars, or conference presentations that demonstrate your knowledge and provide value to your network [11].\n", 1178 | "\n", 1179 | "By consistently sharing valuable content through regular status updates, long-form articles, and multimedia posts, you can effectively engage your LinkedIn audience, demonstrate your expertise, and build a strong professional brand.\n", 1180 | "\n", 1181 | "# Engaging with Companies and Influencers\n", 1182 | "\n", 1183 | "## Following Relevant Companies\n", 1184 | "\n", 1185 | "One effective way to stay updated on industry trends and potential job opportunities is by following relevant companies on LinkedIn [6]. By keeping your LinkedIn headline up to date as your career changes, you can ensure that the companies you follow align with your current professional interests and goals [6].\n", 1186 | "\n", 1187 | "## Interacting with Company Updates\n", 1188 | "\n", 1189 | "Engaging with company updates is a great way to increase your visibility and build relationships with potential employers [11]. When you come across an interesting post from a company you follow, consider leaving a thoughtful comment or sharing the update with your network [11]. This demonstrates your interest in the company and can help you stand out to recruiters [3].\n", 1190 | "\n", 1191 | "## Connecting with Influencers\n", 1192 | "\n", 1193 | "In addition to following companies, connecting with influencers in your industry can provide valuable insights and networking opportunities [14]. When sending connection requests to influencers, be sure to personalize your message and explain why you'd like to connect [14]. This can help you build meaningful relationships and potentially open doors to new opportunities [3].\n", 1194 | "\n", 1195 | "## Participating in Discussions\n", 1196 | "\n", 1197 | "Actively participating in LinkedIn discussions is another effective way to engage with companies and influencers [8]. By sharing your expertise and insights on relevant topics, you can establish yourself as a thought leader in your industry [8]. When participating in discussions, be mindful of company and industry-specific jargon to ensure that your contributions are relevant and valuable to your audience [14].\n", 1198 | "\n", 1199 | "By following these tips for engaging with companies and influencers on LinkedIn, you can increase your visibility, build valuable relationships, and potentially uncover new career opportunities. Remember to continuously learn and improve your engagement strategies based on the feedback and results you receive [11].\n", 1200 | "\n", 1201 | "# Measuring Your LinkedIn Impact\n", 1202 | "\n", 1203 | "To gauge the effectiveness of your LinkedIn presence, it's crucial to track and analyze key metrics. By monitoring your profile views, engagement rates, and search appearances, you can gain valuable insights into your audience and adjust your strategy accordingly. [ref_6]\n", 1204 | "\n", 1205 | "## Tracking Profile Views\n", 1206 | "\n", 1207 | "One of the most basic yet essential metrics to track is your profile views. LinkedIn provides insights into who has viewed your profile, allowing you to understand your reach and the types of professionals interested in your content. [ref_3]\n", 1208 | "\n", 1209 | "## Analyzing Engagement Metrics\n", 1210 | "\n", 1211 | "Engagement metrics are a vital indicator of how well your content resonates with your audience. By examining post views, likes, comments, and shares, you can determine which topics and formats generate the most interest and tailor your content accordingly. [ref_11]\n", 1212 | "\n", 1213 | "### Post Views\n", 1214 | "\n", 1215 | "Post views represent the number of times your articles or updates have been seen by LinkedIn users. This metric helps you gauge the overall reach and visibility of your content. [ref_2]\n", 1216 | "\n", 1217 | "### Likes, Comments and Shares\n", 1218 | "\n", 1219 | "Likes, comments, and shares are direct forms of engagement that demonstrate how actively your audience interacts with your content. A high number of likes, comments, and shares suggests that your posts are valuable and thought-provoking. [ref_12]\n", 1220 | "\n", 1221 | "## Monitoring Your Search Appearances\n", 1222 | "\n", 1223 | "LinkedIn also provides data on how often you appear in search results. By monitoring your search appearances, you can assess your visibility within your industry and identify opportunities to optimize your profile for better discoverability. [ref_6]\n", 1224 | "\n", 1225 | "## Adjusting Your Strategy\n", 1226 | "\n", 1227 | "Based on the insights gained from tracking your LinkedIn metrics, you can make informed decisions to refine your content strategy. Continuously analyze your performance, experiment with different approaches, and adapt to the preferences of your audience to maximize your impact on the platform. [ref_11]\n", 1228 | "\n", 1229 | "By consistently measuring and optimizing your LinkedIn presence, you can effectively build your professional brand, engage with your network, and unlock new opportunities for growth and success. [ref_3]\n", 1230 | "\n", 1231 | "\n" 1232 | ] 1233 | } 1234 | ], 1235 | "source": [ 1236 | "print(article)" 1237 | ] 1238 | }, 1239 | { 1240 | "cell_type": "code", 1241 | "execution_count": 51, 1242 | "id": "32b1373b-a396-4bb9-8975-d77b4ba41dd8", 1243 | "metadata": { 1244 | "id": "32b1373b-a396-4bb9-8975-d77b4ba41dd8" 1245 | }, 1246 | "outputs": [], 1247 | "source": [ 1248 | "with open('article_claude_1.md', 'w') as fout:\n", 1249 | " fout.write(article)" 1250 | ] 1251 | }, 1252 | { 1253 | "cell_type": "code", 1254 | "execution_count": 52, 1255 | "id": "21da9e45-e84e-4200-8965-7bfe2916ca1a", 1256 | "metadata": { 1257 | "colab": { 1258 | "base_uri": "https://localhost:8080/" 1259 | }, 1260 | "id": "21da9e45-e84e-4200-8965-7bfe2916ca1a", 1261 | "outputId": "ff96817f-92ed-4853-ea38-94cf3012c7ad" 1262 | }, 1263 | "outputs": [ 1264 | { 1265 | "output_type": "execute_result", 1266 | "data": { 1267 | "text/plain": [ 1268 | "{'title': 'How to Write Great LinkedIn Headlines (With 15 Examples)',\n", 1269 | " 'source': 'https://influencermarketinghub.com/linkedin-headline-examples/',\n", 1270 | " 'content': \"If you're still struggling to find the right words for your LinkedIn headline, take a look at the headline examples given below. Take inspiration from them and then go to your LinkedIn profile to edit your headline. 1. Gary Vaynerchuk. This LinkedIn headline strikes a great balance between being promotional and factual.\"}" 1271 | ] 1272 | }, 1273 | "metadata": {}, 1274 | "execution_count": 52 1275 | } 1276 | ], 1277 | "source": [ 1278 | "references[5]" 1279 | ] 1280 | } 1281 | ], 1282 | "metadata": { 1283 | "colab": { 1284 | "provenance": [], 1285 | "include_colab_link": true 1286 | }, 1287 | "kernelspec": { 1288 | "display_name": "Python 3 (ipykernel)", 1289 | "language": "python", 1290 | "name": "python3" 1291 | }, 1292 | "language_info": { 1293 | "codemirror_mode": { 1294 | "name": "ipython", 1295 | "version": 3 1296 | }, 1297 | "file_extension": ".py", 1298 | "mimetype": "text/x-python", 1299 | "name": "python", 1300 | "nbconvert_exporter": "python", 1301 | "pygments_lexer": "ipython3", 1302 | "version": "3.11.6" 1303 | } 1304 | }, 1305 | "nbformat": 4, 1306 | "nbformat_minor": 5 1307 | } --------------------------------------------------------------------------------