From 9ec01270f4cae847adb0d6fd1b02311a4491a99c Mon Sep 17 00:00:00 2001 From: Stefanie Butland Date: Sun, 16 Jun 2024 21:51:57 -0700 Subject: [PATCH 1/4] fixes #19, clean up Intro page --- index.qmd | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/index.qmd b/index.qmd index d782676..68679d2 100644 --- a/index.qmd +++ b/index.qmd @@ -5,9 +5,9 @@ subtitle: "Share open-source tutorials, onboarding docs, and much more" ## Welcome -It's possible to create beautiful documentation to share online with [Quarto](https://quarto.org) that auto-updates with [GitHub](http://github.com). This is fairly new and incredibly cool. This Clinic is an example of a Quarto website --- a really powerful way to create and share your work. You can communicate about science using the same reproducible workflow you and/or your colleagues use for analyses, whether or not you write code. +It's possible to create beautiful documentation to share online with [Quarto](https://quarto.org) that auto-updates with [GitHub](http://github.com). This Clinic is an example of a Quarto website --- a really powerful way to create and share your work. You can communicate about science using the same reproducible workflow you and/or your colleagues use for analyses, whether or not you write code. -Creating and editing websites with Quarto can be done without knowing R, Python or HTML, CSS, etc, however, Quarto integrates with these tools so you can make your websites as complex and beautiful as you like as you see examples and reuse and remix from others in the open science community. +The ability for Quarto to streamline collaboration has been so cool and important for our [NASA Openscapes](https://nasa-openscapes.github.io/) project. Quarto is a common place for us to collaborate - across Python and R languages and varied levels of coding expertise, and accessibility and inclusion are centered in the Quarto design. **To begin**, you should have a GitHub account with access to the 2i2c Openscapes JupyterHub. @@ -25,29 +25,26 @@ Creating and editing websites with Quarto can be done without knowing R, Python ## What is Quarto? -[Quarto](https://quarto.org) helps you have your ideas and your code in one place, and present it in a beautiful way. +Quarto helps you have your ideas and your code in one place, and present it in a beautiful way. > Quarto is an open-source scientific and technical publishing system built on Pandoc. You can weave together narrative text and code to produce elegantly formatted output as documents, web pages, blog posts, books, presentations, and more. -Quarto can be used to create dynamic content with Python, R, Julia, and Observable through your favorite IDE like JupyterHub or RStudio. +Quarto can be used to create dynamic content with Python, R, Julia, and Observable through your favorite IDE like JupyterHub or RStudio. Creating and editing websites with Quarto can be done without knowing R, Python or HTML, CSS, etc, however, Quarto integrates with these tools so you can make your websites as complex and beautiful as you like as you see examples and reuse and remix from others in the open science community. -The ability for Quarto to streamline collaboration has been so cool and important for our [NASA Openscapes](https://nasa-openscapes.github.io/) project. Quarto is a common place for us to collaborate - across Python and R languages and varied levels of coding expertise and accessibility and inclusion are centered in the Quarto design. +[Quarto.org](https://quarto.org) is the go-to place for full documentation and more tutorials! ## What is this Clinic? This is a 1.5-hour clinic that can be used to teach or as self-paced learning. -We introduce Quarto by exploring this clinic website, and practicing the basic Quarto workflow using the 2i2c Openscapes JupyterHub for editing your website and GitHub in the browser to review proposed updates. - -[Quarto.org](https://quarto.org) is the go-to place for full documentation and more tutorials! +We introduce Quarto by exploring this clinic website and its source repository on GitHub, we'll practice the basic Quarto workflow using the 2i2c Openscapes JupyterHub for editing this site, and use GitHub in the browser to review proposed updates. ## Example Quarto sites -A few Quarto websites from Openscapes - so far we have been using Quarto for documentation using Quarto and Markdown files and Jupyter Notebooks. - +- [NASA Openscapes](https://nasa-openscapes.github.io/) - [NASA Earthdata Cloud Cookbook](https://nasa-openscapes.github.io/earthdata-cloud-cookbook/) - [2021 NASA Cloud Hackathon](https://nasa-openscapes.github.io/2021-Cloud-Hackathon/) -- [Champions Lessons Series](https://openscapes.github.io/series) +- [Openscapes Champions Lessons Series](https://openscapes.github.io/series) - [Openscapes Approach Guide](https://openscapes.github.io/approach-guide/) - [Faylab Lab Manual](https://thefaylab.github.io/lab-manual/) - [A Quarto tip a day](https://mine-cetinkaya-rundel.github.io/quarto-tip-a-day/), by Mine Çetinkaya-Rundel From decf18f21599adfd878c72d731f790f83b5e03ee Mon Sep 17 00:00:00 2001 From: Stefanie Butland Date: Sun, 16 Jun 2024 21:53:18 -0700 Subject: [PATCH 2/4] rm About Openscapes --- index.qmd | 6 ------ 1 file changed, 6 deletions(-) diff --git a/index.qmd b/index.qmd index 68679d2..d49e4dd 100644 --- a/index.qmd +++ b/index.qmd @@ -48,9 +48,3 @@ We introduce Quarto by exploring this clinic website and its source repository o - [Openscapes Approach Guide](https://openscapes.github.io/approach-guide/) - [Faylab Lab Manual](https://thefaylab.github.io/lab-manual/) - [A Quarto tip a day](https://mine-cetinkaya-rundel.github.io/quarto-tip-a-day/), by Mine Çetinkaya-Rundel - -## About - -[Openscapes](https://openscapes.org) is about better science for future us. We help researchers reimagine data analysis, develop modern skills that are of immediate value to them, and cultivate collaborative and inclusive research teams as part of the broader global open movement. - -We're developing this tutorial to help folks with different levels of technical skills use [Quarto](https://quarto.org) for documentation and tutorial building. This tutorial was originally created for several different audiences: [NASA-Openscapes](https://nasa-openscapes.github.io) researcher support engineers using Python, communications directors at organizations promoting open science who do not identify as coders, and fisheries scientists curious about transitioning from RMarkdown. We're hoping it's useful to folks with backgrounds as wide as these; if you find it useful or have suggestions for improvement, please let us know by clicking "Edit this page" or "Report an issue" at the upper right side of any page. From 51e535ae9d06e75be53a03b1ec3c7ee769b3ada9 Mon Sep 17 00:00:00 2001 From: Stefanie Butland Date: Sun, 16 Jun 2024 22:38:12 -0700 Subject: [PATCH 3/4] mainly edits to setup & explore --- index.qmd | 2 ++ lessons/index.qmd | 24 ++++++++++++++---------- lessons/part2-github.qmd | 4 +++- setup.qmd | 30 +++++++++++++++--------------- 4 files changed, 34 insertions(+), 26 deletions(-) diff --git a/index.qmd b/index.qmd index d49e4dd..da15ec9 100644 --- a/index.qmd +++ b/index.qmd @@ -48,3 +48,5 @@ We introduce Quarto by exploring this clinic website and its source repository o - [Openscapes Approach Guide](https://openscapes.github.io/approach-guide/) - [Faylab Lab Manual](https://thefaylab.github.io/lab-manual/) - [A Quarto tip a day](https://mine-cetinkaya-rundel.github.io/quarto-tip-a-day/), by Mine Çetinkaya-Rundel + +See many more examples at the [Quarto gallery](https://quarto.org/docs/gallery/)! diff --git a/lessons/index.qmd b/lessons/index.qmd index ef6f146..543dc1f 100644 --- a/lessons/index.qmd +++ b/lessons/index.qmd @@ -1,21 +1,25 @@ --- -title: Lessons +title: Practice --- +*TODO: Drastically reduce this page's text. Get to the doing. This index page should say, hey here's 2 things we'll practice - Edit a Quarto site, and Contribute via GitHub. Here's the Basic Workflow* + ## Basic Workflow -How do you work in Quarto? You can use whichever tool you're comfortable with (RStudio, Jupyter, GitHub, VS Code, etc). Developing your quarto site will have the same basic workflow, no matter which tool you use. It is very iterative, and each is explored more below. +How do you work in Quarto? You can use whichever tool you're comfortable with (Jupyter, RStudio, GitHub, VS Code, etc). Developing your Quarto site will have the same basic workflow, no matter which tool you use. It is very iterative. 1. Authoring: write text, code, images, etc in a file. Supported files include `.md`, `.Rmd`, `.qmd`, `.ipynb`... 2. Update `_quarto.yml` as needed (for example, if you've created a new file you'd like included in your site) -3. Render individual files and/or the whole website +3. Render individual files and/or the whole website 4. Repeat, repeat, repeat -5. Commit and push your website to GitHub, your updates will publish automatically! +5. Commit and push your updates to GitHub, they will publish automatically! 6. Repeat all of the above to make the website as you'd like! ## Authoring -As an author, you have a lot of options of how your text will be formatted, arranged, and interlinked. You will be writing in Markdown, which is a lightweight text formatting language. The Quarto documentation about authoring introduces [markdown-basics](https://quarto.org/docs/authoring/markdown-basics.html) that will get you started. Also see Mine Çetinkaya-Rundel's [A Quarto tip a day](https://mine-cetinkaya-rundel.github.io/quarto-tip-a-day/). +*TODO: change "authoring" heading? Move to "Edit a Quarto site"* + +As an author, you have a lot of options of how your text will be formatted, arranged, and interlinked. You will be writing in Markdown, which is a lightweight text formatting language. The Quarto documentation about authoring introduces [markdown-basics](https://quarto.org/docs/authoring/markdown-basics.html) that will get you started. Each page of our site has a similar first few lines - this YAML, like we saw in our `_quarto.yml` and it is indicated by two sets of 3 dashes `---` : @@ -27,18 +31,18 @@ title: My title You're able to add more features to individual pages by including it in the YAML, which for the most part here only includes a title. See [Quarto excecution options](https://quarto.org/docs/computations/execution-options.html) for more information of what you can include in the YAML. - ## Update `_quarto.yml` +*TODO: move this to Edit a Quarto site: Preview your updates (Regroup, 10 min)* + Let's have a closer look at the `_quarto.yml` file. -This type of file (`.yml` or `.yaml`) is written in YAML ("Yet Another Markup Language"). You'll be able to shift the arrangement of webpages by reordering/adding/deleting them in the `_quarto.yml` file following the patterns you see in this example. +This type of file (`.yml` or `.yaml`) is written in YAML ("Yet Another Markup Language"). You'll be able to shift the arrangement of webpages by reordering/adding/deleting them in the `_quarto.yml` file following the patterns you see in this example. -![`_quarto.yml` and website side-by-side](images/quarto-yml-site-side-by-side3.png){alt="_quarto.yml and website side-by-side" fig-align="center" width="95%"} +![\_quarto.yml and website side-by-side](images/quarto-yml-site-side-by-side3.png){fig-align="center" width="95%"} Notice that there are multiple ways in the `_quarto.yml` for you to include a file in your website. For example, in the above image, the "First Observations" we see in the left sidebar of the published website (right image) is represented in `_quarto.yml` (left image) over two lines, with line 36 indicating the file reference and line 37 indicating the text to show up in the left sidebar. However, "From RStudio" is only represented in one line of `_quarto.yml`, on line 43. This represents two strategies for including a file in your website. By default, the title of a specified file will show up in the website's sidebar, which is what is happening with the "From RStudio" example. If you would like more control over what is written in the sidebar vs the title of your files, then the approach we took with "First Observations" is what you'll want to do: you'll see that only "First Observations" shows up in the sidebar as we specified in `_quarto.yml`, but the page's title says "First Observations & Setup" (which in our preference was too long for the sidebar). -:::{.callout-note} +::: callout-note As you modify `_quarto.yml`, the most important thing to know is that **spacing matters**. Pay attention to whether text is indented by one, two, four, or other spaces, and make sure you follow it; if your site is not looking as expected it is likely a silent error in your YAML. Some text editors like RStudio provide debugging support for YAML and are highly recommended to save you time and heartache. ::: - diff --git a/lessons/part2-github.qmd b/lessons/part2-github.qmd index 54986e8..e0ae4a7 100644 --- a/lessons/part2-github.qmd +++ b/lessons/part2-github.qmd @@ -6,6 +6,8 @@ title: "Part 2: Contribute via GitHub" *TODO: use text and some screenshot styles from 2021 Cloud Hackathon [Tracking changes section](https://nasa-openscapes.github.io/2021-Cloud-Hackathon/tutorials/00_Setup.html#step-5.-tracking-changes-optional). Those screenshots are so clean and text so clear.* +*TODO: do we add this text? "We have set it up so that any modifications (commits) will automatically be republished via GitHub Actions."* + GitHub commit, push, (move to GitHub.com….) pull request, review PRs, merge 1. Good commit messages @@ -74,7 +76,7 @@ Now, switch to the 2i2c Hub to view the Cookbook preview as it would appear if t - Go to the Main branch and pull so that we have the most recent changes from remote. - `git checkout` to the branch that has the PR: reorg_how_to_guides (note, this PR has been merged and the branch deleted so you won't see this one; apply this example to your own) - `quarto preview` - this will build the book with Andy's suggested edits. *TODO: Is this preview link still an issue?* + We can now view the changes in the built Quarto book and concurrently look at the files changed in GitHub. diff --git a/setup.qmd b/setup.qmd index 8f9c597..fdd0183 100644 --- a/setup.qmd +++ b/setup.qmd @@ -3,7 +3,7 @@ title: "Setup and Explore" editor: visual --- -TODO: Do Setup after Welcome, then do Explore while Hub is initiating. Setup includes Hub login, clone, branch. Preview site is step 1 in Lessons: Edit Quarto site. +*TODO: Do Welcome, then Setup Part 1: Hub login, then Explore while Hub is initiating. Setup Part 2: clone, branch. Preview site is on next page: step 1 in Lessons: Edit Quarto site.* ## Setup Part 1: Log in to the Hub @@ -21,13 +21,13 @@ While the server starts up, we’ll explore the GitHub Clinic website structure ## Explore -With this Clinic, we have a working example website that we will explore together. We'll learn a few rules and look for patterns to get an understanding of what things to do to help you start customizing and making it your own. And you can continue to use this website as a reference after the clinic, along with [Quarto](https://quarto.org) documentation. +With this Clinic, we have a working example website that we will explore together. We'll learn a few rules and look for patterns to get an understanding of what things to do to help you start customizing and making it your own. You can continue to use this website as a reference after the clinic, along with [Quarto](https://quarto.org) documentation. -We'll start our exploration online looking at the website architecture and GitHub repository. Then we'll setup a copy for ourselves so that we can modify from a working example, which is a great way to learn something new. We'll set it up so that any modifications (commits) will automatically be republished via GitHub Actions. +We'll start our exploration looking at the website architecture and GitHub repository. Then we'll setup a copy for ourselves so that we can modify from a working example, which is a great way to learn something new. -### The website itself +### The website -[This Quarto Clinic website](https://openscapes.github.io/quarto-clinic/) has 4 things you can see on the left sidebar: +This Quarto Clinic website has 4 things you can see on the left navbar: - Welcome - Setup & Explore @@ -38,19 +38,19 @@ Most of these are pages, but you'll see that "Lessons" has an arrow `>`; it is a ### The website's source repo -Let's go to this website's GitHub repository (also called a "repo"), . You can also click there from any page in this tutorial website by clicking the GitHub octocat icon underneath the Openscapes logo in the left navbar (click it holding command on Mac, or control on a PC to open it in a different tab in your browser). +*TODO: If we will make a new repo for every Clinic, we'll need to update the repo link below, every time.* -**Have a look at the filenames.** We can recognize the names of the webpages we've seen above, and they have red arrows marking them in the image below. You'll see the "quarto-workflows" folder and the rest in this site are `.qmd` files, which are plain text Quarto files that can combine Markdown text with code. `index.qmd` is the home page. If you click inside "quarto-workflows" you'll see a mix of filetypes! +Let's go to this website's GitHub repository (or "repo"), . You can also click there from any page in this clinic website by clicking the GitHub Octocat icon underneath the Openscapes logo in the left navbar (Tip: to open it in a different tab in your browser, click it holding command on Mac, or control on a PC ). + +**Have a look at the filenames.** We can recognize the names of the webpages we've seen above, and they have red arrows marking them in the image below. You'll see the "lessons" folder, and most files in this site are `.qmd` files, which are plain text Quarto files that can combine Markdown text with code. `index.qmd` is the home page. If you click inside "lessons" you'll see more `.qmd` files and an `images` folder that holds images used in the pages inside the Lessons section of the site. *TODO: replace screenshots* ![quarto-website-tutorial GitHub repository with files for webpages marked with red arrows](images/quarto-files-github.png){fig-alt="Screenshot of files on GitHub with red arrows identifying the files that we saw in the left sidebar" fig-align="center" width="80%"} -**The `_site` folder** has html files with names that should be familiar: they match the `.qmd` files we were just exploring. This folder is where Quarto stores files to build the website. - ### `_quarto.yml` intro -There is also a `_quarto.yml` file, which is the website's configuration file. It is essentially metadata for the website that includes the order that the pages/chapters will be in. This is where you update the organization of your website: which page comes before another. If we compare side-by-side, you'll see that the pages that appear on our website are listed there. +There is also a `_quarto.yml` file, which is the website's configuration file. It is essentially metadata for the website that includes the order that the pages/chapters will be in. This is where you update the organization of your website: which page comes before another, and how pages are named in the navbar. If we compare side-by-side, you'll see that the pages that appear on our website are listed there. ![\_quarto.yml and website side-by-side](images/quarto-yml-site-side-by-side3.png){fig-align="center"} @@ -58,13 +58,13 @@ We'll learn more about how to interact with `_quarto.yml` in the [Lessons](lesso ## Setup Part 2: Clone the Quarto Clinic repo -After our Hub server is loaded, we'll clone the Quarto Clinic repository into the Hub. +After our Hub server has loaded (Setup Part 1), we'll clone the Quarto Clinic repository into the Hub. -**Option A:** Use the Git tab to Clone repo +**Option A:** In the Hub, use the Git tab to Clone the repo. ![Clone a GitHub repository in the Hub](images/jupyterhyb-clone-repo.png) -**Option B:** Do this by opening a terminal (File \> New \> Terminal). In the Terminal, `git clone` your repository and `cd` into it: +**Option B:** In the Hub, do this by opening a terminal (File \> New \> Terminal). In the Terminal, `git clone` your repository and `cd` into it: ``` bash git clone https://github.com/openscapes/quarto-clinic @@ -73,9 +73,9 @@ cd quarto-clinic ### Create a new branch -Working in a branch means you have your own version of the Quarto Clinic to edit and preview. Later, we'll learn how to contribute your edits to the Main branch of the Clinic by making a "Pull Request". +Working in a branch means you have your own version of the Quarto Clinic to edit and preview. Later, we'll learn how to contribute your edits to the Main branch of the Clinic by making a "Pull Request" on GitHub. -Navigate into the `quarto-clinic` folder \> click the Git tab \> New Branch, with branch name = your name, to make it easy to identify in following exercises. +Navigate into the `quarto-clinic` folder \> click the Git tab \> New Branch, with branch name = *your name*, to make it easy to identify your work in the exercises that follow. ![Create a branch](images/jupyterhub-git-branch.png) From 9a02f9666f07e6656bd7353ea1bbb01ef34d606f Mon Sep 17 00:00:00 2001 From: Stefanie Butland Date: Mon, 17 Jun 2024 10:35:00 -0700 Subject: [PATCH 4/4] good updates & some finesse text for setup; starting on lesson part 1 work --- .../lessons/demo/execute-results/html.json | 4 +- images/jupyterhub-git-credentials.png | Bin 0 -> 96704 bytes index.qmd | 12 ++---- lessons/demo.qmd | 10 +++-- lessons/part1-quarto.qmd | 28 ++++++-------- setup.qmd => setup-explore.qmd | 36 +++++++++++++----- 6 files changed, 49 insertions(+), 41 deletions(-) create mode 100644 images/jupyterhub-git-credentials.png rename setup.qmd => setup-explore.qmd (54%) diff --git a/_freeze/lessons/demo/execute-results/html.json b/_freeze/lessons/demo/execute-results/html.json index 88c0113..0aa04cb 100644 --- a/_freeze/lessons/demo/execute-results/html.json +++ b/_freeze/lessons/demo/execute-results/html.json @@ -1,8 +1,8 @@ { - "hash": "8e025b84a8a826d468ca12847c41dce8", + "hash": "a1c645e528cd68c7ae21d914002f5526", "result": { "engine": "knitr", - "markdown": "---\ntitle: \"`demo.qmd` aka Quarto Practice\"\n---\n\n\nQuarto enables you to weave together content and executable code into a finished document.\n\nThis `demo.qmd` file has Markdown-formatted text, examples for adding hyperlinks and inserting images with alt-text, and a Python code chunk.\n\n## Edit and preview a demo.qmd file\n\n- Headers. Headers are powerful in Quarto because they let you organize on the side of the page. They let you share a specific section of a page by copying the URL\n- hyperlink something (cite the Cookbook and hyperlink it). Hyperlinking is done like this; lets you cite and give credit\n- inspect this image with alt-txt\n- Python code. manage echo, run\n\n## Task 1a: Edit a `.qmd` page\n\n*TODO: Edit down to what we need, duplicated under each name header*\n\n::: callout-note\nOnly make changes to the section under your name header (to prevent conflicts at a later stage)\n:::\n\nNow let's practice Markdown in this Quarto file and commit an edit to this file.\n\n### Stefanie\n\nYour first edit? Fix this tpyo.\n\n#### **Headers**\n\nWe can make headers using `## Name`, `### Name`, etc. Headers are powerful in Quarto because they let you organize your content. You can share a specific subsection of a page by copying its URL.\n\n#### **Hyperlinks**\n\nWe can make hyperlinks using the `[]()` pattern: you name the hyperlink in `[]` and put the URL in `()`. For example, here's a link to [Markdown Basics](https://quarto.org/docs/authoring/markdown-basics.html). Hyperlinking lets us cite and give credit to our sources, like the NASA Earthdata Cloud Cookbook ([Barrett et al.](https://nasa-openscapes.github.io/earthdata-cloud-cookbook/)).\n\n#### **Images**\n\nWe can include an image with the same `[]()` pattern, by adding a preceding exclamation point: `![]()`. The `[]` contain the caption and `()` contain the path to the image file. Other attributes like image size, alt text, and a hyperlink, are also set in this example:\n\n[![The Openscapes logo](/images/openscapes_hex.png){fig-alt=\"Openscapes logo. A hexagonal shape with orange border, yellow background, the word openscapes in orange above a cartoon evoking a landscape of data plots\" width=\"150\"}](https://openscapes.org/)\n\n#### **Code**\n\nWhen you **Render**, a document will be generated that includes both content and the output of embedded code. You can embed code like this:\n\n*TODO: day before clinic, make this Python code (don't add screenshot - fewer files to for folks to get distracted with, lighter weight repo)*\n\n\n::: {.cell}\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 4\n```\n\n\n:::\n:::\n\n\nYou can add options to executable code. The `echo: false` option disables the printing of code (only output is displayed).\n\n### Julie\n\nFix this tpyo.\n\n### Andy\n\nFix this tpyo.\n\n## Your turn!\n\nChange or add something to this file under your Name header and save the file.\n", + "markdown": "---\ntitle: \"`demo.qmd` Quarto Practice\"\n---\n\n\nQuarto enables you to weave together content and executable code into a finished document.\n\nThis `demo.qmd` file has Markdown-formatted text, examples for adding hyperlinks and inserting images with alt-text, and a Python code chunk.\n\n- Headers. Headers are powerful in Quarto because they let you organize on the side of the page. They let you share a specific section of a page by copying the URL\n- hyperlink something (cite the Cookbook and hyperlink it). Hyperlinking is done like this; lets you cite and give credit\n- inspect this image with alt-txt\n- Python code. manage echo, run\n\nStef will demo then it's your turn.\n\n## Task 1a: Edit a `.qmd` page\n\n*TODO: Edit down to what we need, duplicated under each name header*\n\n::: callout-note\nOnly make changes to the section under your name header (to prevent conflicts at a later stage)\n:::\n\nNow let's practice Markdown in this Quarto file and commit an edit to this file.\n\nMake an edit, preview, edit etc\n\n### Stefanie\n\nYour first edit? Fix this tpyo.\n\n#### **Headers**\n\nWe can make headers using `## Name`, `### Name`, etc. Headers are powerful in Quarto because they let you organize your content. You can share a specific subsection of a page by copying its URL.\n\n#### **Hyperlinks**\n\nWe can make hyperlinks using the `[]()` pattern: you name the hyperlink in `[]` and put the URL in `()`. For example, here's a link to [Markdown Basics](https://quarto.org/docs/authoring/markdown-basics.html). Hyperlinking lets us cite and give credit to our sources, like the NASA Earthdata Cloud Cookbook ([Barrett et al.](https://nasa-openscapes.github.io/earthdata-cloud-cookbook/)).\n\n#### **Images**\n\nWe can include an image with the same `[]()` pattern, by adding a preceding exclamation point: `![]()`. The `[]` contain the caption and `()` contain the path to the image file. Other attributes like image size, alt text, and a hyperlink, are also set in this example:\n\n[![The Openscapes logo](/images/openscapes_hex.png){fig-alt=\"Openscapes logo. A hexagonal shape with orange border, yellow background, the word openscapes in orange above a cartoon evoking a landscape of data plots\" width=\"150\"}](https://openscapes.org/)\n\n#### **Code**\n\nWhen you **Render**, a document will be generated that includes both content and the output of embedded code. You can embed code like this:\n\n*TODO: day before clinic, make this Python code (don't add screenshot - fewer files to for folks to get distracted with, lighter weight repo)*\n\n\n::: {.cell}\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 4\n```\n\n\n:::\n:::\n\n\nYou can add options to executable code. The `echo: false` option disables the printing of code (only output is displayed).\n\n### Julie\n\nFix this tpyo.\n\n*TODO: copy activities text under each participant heading when it's settled*\n\n### Andy\n\nFix this tpyo.\n\n## Your turn!\n\nChange or add something to this file under your Name header and save the file.\n", "supporting": [], "filters": [ "rmarkdown/pagebreak.lua" diff --git a/images/jupyterhub-git-credentials.png b/images/jupyterhub-git-credentials.png new file mode 100644 index 0000000000000000000000000000000000000000..ccef7afa28e527d3eb38745db6eecddfe925e1da GIT binary patch literal 96704 zcmZ_01y~kc*EURhfpmA5ba#h{G)Q+{fN+5{NJ)n@(w)*EAl;qP-604_cYlM=?fcyC z_x-;f9y8a>?Ad#*z4qE`o$DM!l@(=BkO+~WprBA>-$mN{9d2bZ-Hj^zl>zwMu7WI!t-3%IB()$ zD_pCK9^60jW_yD2Jz-=;KJlwW5)XvtByiG2ez8Q=s<>mf>3?u?eQIpXXeuE}Bb6)) zf7!nsreWhS%-dG^%W-wm4-ZYh9=SS8V%$=S$#W!Ay`eXIN4;(3qN-u)8{G4|)_~uuGX()7h7u5J+XtuILN2?PuDY0S-DDh#d+$;--+P{}hxT=L;&rBj z7v6wYk?u4J&)>mXaPDtgAf&enC#R;5d*pfGTlj?tkyXPHfTLr4?z_ky+1#;pwMt_s z6;!-~q*Tn_ASuOknL)LEi2k%vbaa2`?acfH%1wmXafZ0#MUqi($m#D#__`7+#&a-j z-W5lNl~f8~m)h$hrd-+FS)nd@DYtw(n2m*KqGc5!Tg1Bxd@)y{axg9iG;Lz8B@0$i zfMNj7K~ONzm{73588q-0D%c7N?$0?C6fJNBCMY%t>IHDb1pX;!!Th}oYm){0_Z$ZM z`9X0tNm*e2pwvtq%*|~bE$y7boXA^&*%h{Wr{$!jATMBQ2VpTbvokSgaf5t#ZUQCb zCIFm5%$}(dBn+Dm{LnYnOxG&!JM3jg^h)cQUr;d zoLtDk3@o53_4=RYz%OA+ODCrf0<5gAuC6SuoGf+@7Od?2{QRtJ9IPB1%)k@Oj_$Tj z#%|2Ej#U47$=~-#nLC;~SbcD^va=KFf_V*n&$WM^7h-)@@V^xPpV|C#6_`#DBq7%SF%1zUN(9<6C@3)~St;>% zZqUEeU!=X0KJD{x4Nl9#1#H`16=8z!jE;5QcQ@!T;SO{+HH<1FB`5bpVu!B5UW zNiL2qE~df}>w5Ln8o_-oVvsUFznr{WJZiBWs5sp=TVbfF>Fhk7KWm`zcr1*TY&BUx z@XP1vE>l?J^2i@ege{IviKma$!^XUN;ymmVrSc1mBtchO@tH>H&$#ddbsS|NdKln( z7I3%;6)QH7Rf+#_xgJcm;OX;tV=vq;ft4)(NOy(_a)xtSf$2%)2Bf4lpq*D$dl zP@eq!X?QHt!>PKGmIpH%3QXF4Bk{Qs&J2voMC#w?{xirwzo;e2)nnVKRk^GwOS7f@ zH7ut-&YevZnLY}Xqc7ktImcQ#t%)kg?%>!%vL0XkmG9p#qJB-Tu4j-!&(TS^P|Zd$ z%$ih&erUiQA@Ibh@<=HAza;%f?kq}}qSF8vq5(p8aHMRgvrVb<<__L=>^26r-TAL^ z@O+gyjvpbft<8+StNvL#ELzgVjPB^~`pro2T%|F1B2RWZS`xJgy^ev^&rL3072Jiw zi_COcJu1T4_Vm~^@ALF9;&Ies@nOtiBa{xIccf?J=TKs*O781q=NaujF33WSL_*uc zWoojpN3FJL1ov>d>xvbs=>3Q4%LQxA5Vc9XYVZh$T7kT5b%&#&;|RBcKLX0c)#-YG z%UHJLi^*d35-!2bz9`=O{QLr$C>+9FCo!DN=F>sOgv7GC6@eWZX8pz~W!9DIX-&gr zr=yi+F6)`$gtMJY9}PLdjdblwBXOhUwIYR79$#Zl@Gu)|>vazQ#gv+Yy}i9r+Fre^ z;bj+^Xp*7#O;3%@{6uNn<1NmDg1P&LyY9hl_32&rHg}dsSF`obz}j?3^GWZw(PG-$ zhvHu8GtIw-h3OG01vT`=;Z>pRJO~RJdw;fqwXU?%2zupnmlwWh&pBcHo-i#_R z?h4xOe92l9NBgDEgCRiqbVk=M*>O}@)Ar|9KMysPOk|DwNGk6rX)3RsZPW`=x2$>F zrURHEanSYUq8)5k@jk7@K?LuLWgs_gT7hEv`?aASwy?yyRqsV6otl2)5AD!Agns)Z zu1m&>f(KlawGds8(F3g9)4^c2l_OxjR+hZ3mT~5?GvU6@O`VGhHq!@dC<6Dj*}BkA~^G&iD9X9OIk%G zX5M`#eME-L>z%lfX_lbp^@pLJ1K~-nNM@IVkCJa#=T)i zEp8_!jz9Q!<}N3jT2^f#7oP}?2_`v!S}dP{M-19LUNh-vybb+J2Fk(#2UTy%)@NOR;CrFTe^QGl|k& z<4^tM$i85}+Q08l;h&2D?odNcTyHpcjjYoK+4u!SD@isnBB_VW-*bkLqB5lY5_qF- z#|vbPF*Zibvtf%&ubE!yI2a1-+@ia?)hF8*DVEXw!MD+<3MBr*Tmf6b$>!>qKgsLa zL*PXdT?cVE`G1VRW`hEgf7bq$YS(H7AG&DU6tR|uX^qtpCSIFVsseRQ+1+uJpJ?#@ z#YQ(Q-3H|^%2IZy#2u$b2<^jFVMW*ySo@;rJPyq0?9s33(M?DQVHw~E z)5wYKyD>D@#61FgsYB3<*Am5(ELHqA%snci>YxSu%Yc1o4haNGGKOUZPumZZcfxkQ z@T2wDLD)dv8bhZjJV8!M7yXsxZ?il`xt)Ul#zX>vJz7%CRO~Z)azLZY!Fzbu4b{Y# zEcNY3lMTHD;&>7tOdZ6zR3-})s&zQzU)bOK1;LM?!f?S5b$9!<>HB>vwScoYl`)c= zsMTdMFl%f*E!{mHxTF1P^*L5G=BpRuD}A%K&F3h?zn!X994;p&9l%j%VRFOW2ob}b z5j^Y{uFF&;L5}$2-N&f!@YeNSM9}zq)_Amhyx@ouxdpZ;FUuvVdU40_pwQX~4HT2H z(WZ~R1QuIq5H4?!mgP6}1qxcVU!(MK-f-fmtrXXipQPT%{6g;&_j?6F-1sHX{EheN z_NDccJpKs_1#&Fw$rwH5nuO&vIjvax=c@vSkbCx*&a$*o^@&@+q)i+~3Lf$?hIH}n zr;HaDw{Pd<{hhI!NU`E2qG4=8_AL9BmG$4`VM*HND2tYPaOyl0JG@jq#ty0MAch5UHx5Oo{#hJ#RGvM4z$Q981#~uEXAMf@ zubj`nV?^1Ug&h#AXaY4i99e{9z8`#i`NTyxnqhmH%(0M%*}RjFLYQ)6U2Z-o?AV`k z%AvL;y!qv8yxc=W`;;NuDtWuKisNXhL!9(WAtK#T&zU=~2}<*A?@M3p1(U#?{=yn{ zjMsvmrvr4F_AGwxnb9CYJ;%tbpy;6E@Ec;7msj<@p`q4_uiW2lhm7?`T?HZLea-Y< z&~sgO-UhbS?|$&^R7UjywJVT5Tdk#rRK*2s2qH5JwFLQ2d9cEap{mb#V>XG@Cn>5# zIX^lK0~$lFe9PQy>Z7Q<%{OG9XWoIlyJ!cgBS~@oNf3NJCEF(}X-r=cUER-=wbf<2 z@Q~8x)|>PiECtK-#Ib=Fv@<&vB2y^AEd)QUDJ^PN}g!{)f-C&?C?nWwsLg zeQR;tx;27Auc}tc^_yH0a1gd~oJ)}Hj3G_Sm8|l0j89g3?tU7o3_7jDUp~@CInEv! zgYCv9?;Ac!Q;7UT{DdOJIY=h@IEGAiU%+owr!T+HUoF46T96#X`BZ7Wwp2A^l6HUd zqSx~z+iKAmg|l`J>kE1U=6lKI<|=+N4zrNy43o$3V_zQph*Y^6HH=Pl9X9^_ma*D7 zTYv6I`C_BUkYM$hH-MYV8YktMGlFG&SIL50#!FjmS%V&i&c{YK5>U0vOaDTGFGoRK z3m!yq-u}YcXZ|g82WAHn=ipwR{3;pkpq@#r;w{2eYX;-r%;qLs%-((et>&qHI7|IL zbyv`weLz<2ul&^Jh+0S1(w=w{>>pwv2xfr{^7i=f8hQswG+h4BHYuza*!L$LD%_g! z>DIu^2|VZ1?~d(Ee%B$>%BUuX4Gnk*kZ)Mg5tr9aFn<Rk^%?PQD0B>Ym2_#)60?I3vT34-U$- z_}q&r^Qx*g=0bH|S$Q$z!%PwQLFO?%rtJiJ3_2wZK{C;}aV!VGTzV?|b8Imjm#ie)cfdM5AJ= z4e5L3_dKolFq4QC}>SEv%vGWZ^w5xl>@-vwK}GH$LAf*nS)y5cLU2NH$f zoDx~4(MPs48{07l{6DMU;SR8w@n}QORX|Fh2+Qwm-(HVNeUfZ9rTlaSczfyxLI{W= zVgMP$sqGq3(L!)0^WZj%fy@3fkadNGB4CxVyuQ;!nh3WVf>=>*T5yDx)Ovq9R7++a z#lwb;HMzH;J*4tC?P2&VR$OnH@2>m~{JTiQr=%6UJ2v|}$}u}uQMmMjhJbSqRFtVK z9jiC4N1bd&gV1S=jF{;Gj>nDIuvsq7Ah!yFC`ABB9-bgzJ=(VeT>{NoYHp1P8q*~D z*F=WLq1AF;Zgz|_wXK`^D7%GJ{W^Yr8TOH56&Su%Urh#%3qgDfb|B`ifmZZ2D4Y-7 zIC|h#Y8Z)KxH|wVyG-q?;>;HX`J6XL+Y~zv!`yALWIBX1KicW`k3M|#4N{nqrZ_)s zrdU^>Kv;IXxu`ohq>0X2Rzwy^vR=Fb?%{R&1Al>K#@`#>-N(ndCq-H}h>} zN0@Af<7tIF4j;T&a;Or<^Uj(0s#?^4)t8wdl7T3Y);qSEO@W-6b^3MM`Y$pqN8`mg3rK3s(b7iN=S*#mlJwH#W+(M??#wuShsJQz++9Cl(>|K3c^Vu z4oY_8Nfw!Qx^{4cDOYMZDV~2I*KHRiR0a zY%6HXMqxcA*8jy#u&_1nXt79?hY$M18kui`bI5TTBCYyJ+jhlYD2Q5`T)n$77OuN7 zFw^^X;C#2bZ90vjK3f*6j8KB`olnUF%0j(oKDD2!`st5PjIYpcxay6>exV|jVCD{P zrz7^pGna7eItu^F*XK^EFGhqE?W8Dl^O{jTNK!~T=_1{hTHMzNv=8}DYi^4OwbxP#>-N0jo>(1RIWq?1U zu5bKn#y-R)-4I-wr2Y5{KoJk?OSBgk$;wAu4Rtd<3s(!lHMp!Ib8kipbqqrc$K}i$ zO+KocgDMZ>3?W&1M`c<>Y~up|K#AD2Fhw6}PH1E5?JS^${&x8ix>>ONV*)CvJ&8EB630RL}4y=MmhI|AH^Eiq#=u`<6ko~XFGLL zw2#abqfka>@eHj6+IZ)j2<``w`lt=srp$kREm)2+9j*%|u>hCNPb=j7jV1pi0aFBU zVM9Z4WyU3(A(qlOzA%zm`$I~pQ#pYN`wn)a-`MHWjT78G3UDwxuD&c^aT`AE3vkxm zAy~~2jiy-DdKqQyUXDkr^K2{1Okn+W63=Mjdv=%}nx60VE;`)OSqW61ZjA1-GxM!O zCnIm*OCux%ua~v)K9W*J$qJIbI-Qv>f0`))fBuS)jA?fVP4n*;?P0)N$Ae@`rdXMhO|hw@tp zVinFP?>x$oT`yRKWVV*0(24%8uh#Y%6E2wkg;6U&0{+29=Xn}=bC~vd#G&tZoL84l ztxd9hJRXylQEwzks=a{1Gwl3NzU7SPyO)p{){;;4_8Fi01me2el~MEQ@Emeat~)t7 zKX7Ge*O96oPJpAj%e3}h+_u{dQ7BMkCtC4HeZ>;78cUu2M(N)uHN7%iGyCW%jJf{2 z2HYMG%m^*NN4a|ju6~3XM53U%zB^pFG4rPE3U&AW_awd*C$HV2^Y0n|GoI%`=wiIV z!7EDaU%377-QYWsZ^2|i9wVQ1m%;9tj=So+El7b^PLZfbf)zJ7ugv5tT5!^8OUuG` z*>^>w_?^*AJGOYeDzi`&yRj@^tHs(ftC>=5BhQwi{|X%@CPJBIKzVjjM6VPk1_Os~ z5P*waY4N5=a_L)h{aiTziBomWt|3ffU65VbtRYCA$8JT4)BV(}`op?}+Fr8a>1LWo zz^i{l+{*MI?8Fo^A`85?fnSuQv&zY%b*?QMi$5>a$YsuM$C)dnd}MiwQq=tRGfAc3 zCJ%Afnm?J}u^_G7Ask7UrfTJXf&4)jZ`^rexQG34pWU@K#hT4WLyZap4Q*_boYlHt z5P`O*TC2;mFmBI-*2f9?CHpHRbqvmaB;KdS5Tuu3K8ridezyC>nMeH%ZCxyv%>k8J#O9&#U>O22wD+cI)oF|p&|hiHZ` z9T=EDe)o^D{5ecv!>shqbF0@RlmKIk7dL7s{dvk^#b;fhy{)H7yGm^}cPC{(UK74d3ynbVcJZX73fKIZ(}0wEGW zzE-4Q2Kkt!leqA?9RRs)t`SG}t7>1#m3%ln1)tixmDI#9CN$&bh z$qAOT%?f#o-kekN%kHB{Cshq03{m$V*i2?C;LQ}Z3b55lje#tVTffmsn`Uw1xssup zaTb%3XI;_4le_VBQQ>2bZAirkY^1)=X`@8t2+!h_GkwkD^U8gJ@g}}d+Kj~Wx6V%q zaj^gbjIl8ZisqA4A@{0=!W}Rp98ZPBL6Db`&a6#K@D{q zKgfLU?TLN@Xnvgx9Ot@tz&p5Fat6mbZhGdIVX9?U1xiZW*Ljk`sJ@;fN$gz#KgXNh z9U1EpXoovSu2wuo-`gnxkn!7}mxGKI_bS)GFxXtndoOa6KcJD^o>k)e6PCe-;V78=PumK-pSmwni2%W&0XP!csgb zrUP9jfEMHZ<6?OPe`?~~WF_|%Pps|j&?s1ZNBz4BPjyIJ-cO7uaosN1^1>QjpVM2Q z0yhj;vVkur0d`os2E|xIdw!d;3UehkKKJ`C?w9ixkofJ9v)Wh3AaRrho9dC_S6|ai zMoTs-maIjG94ix7>+Lt23-E2gQAAh1urE@8`otWQR%N@;aXaibASKs+d6TXBJK3{g z3K$L*sf1JSx0e%m19`Dav$_8PGb?ftw6wxZ8 zqKKl8caQtAJ)bA)%$N;tU!!D{wp=cNH@a~~sjzrl7Od#H&_3?wCl3D_&mEyj)QgqH z)$UscYB<%3sa)$=NoR`rhxzMcXb>%`{X?c`j&V_Jy|N| zQEWvWXXgE{4$E)P=4FBY28Y1T#o$jY1>;)?J(e3K^4=Xg0vm<|w(u^Ii7O}fz36Yp zv&lyQza7!A1aC0lXk;uUo+FRt3DuaS9Ih&8oUiu4B6vo6{>WaJN#ehI_f6L zFwV4ixIWj!w6R_vMiBE)2tAxnY6vbAsnNlb8Pi602PZITo3xt&^{?t#=?o3GmWvrq z!0f-z-X=bQ`UPJ}5D^dMeGd3pg`kGC?206%6ZR@KkqP|Nq_t3LTgUoI8 zd>&bLU4_)nnY?tIRNzfsY4OnQh(1@DYIj6;920+$tWl<6bJ^;&tE!72k*m5+F4jh! zQd^8YgY*L9=euV=?rQ{xK4##y4&Swfg{6?TYTrlF5reg)5KpUBs+8^d`ysDd*IVjb z2cwV}2Kn5781A8Zq1?q9Md{6T<18+?!cL?v(DnXW_-v@$BQ<|Sx0?g&T}Ek~sTamp zLeF<=(w}%th)NP$7&19Ou_AIry|L^VVY8)2Huf3pOHQvJ?~aIsUONoaWb>C8wzbX! z6=+Cp5>D&G<>HKQuw@zg%$DBZ3Q(n(NMTR&tg)KxJ>Q!iLg3uI0yO+~3P}b|>C_*U zZw<<^10F94u%nSupz^xidUse&8v)W^v}pnkNtdnT? zm<!Cmksc$t>C0Et z0F}AH;nO!QFw6RmQIq04z+l@OFj|>?oV5e;g-E`z7GI~tj*6s{U^2P^$tdHWF`p{g zFh}&X++y!I)X3hEO{l$&K4x&|O|NlCpY!8kyfTYB-V@2W@EZdg6DA+%)RMRMMUq&5 zkm4|E|K!BBP`>J8SY&Q9Zla!z<0zB;rOv{zD+uN1#8gS01Y>IJdRh&n33GI&Om`6- zu4ZCF^=!#;lz_|e3#+0^CvgOy_JZ1m@xo_!Ivo)%ySIVyL{5*FcX3~H!~WG3pPGVV7<3g!7-TvCqo zS(W)pTl5O3fh}49BJwiUq&rQ>h7NgeCtD2ju6mj(F!u;?*qcOX<$~%vQ<_WIu&>Hz z=qGjR|2Tc_aIpeEZTzO995;Aftp%woj9*4Pn#gnv@2FnEz=wT84#0;quR=xg{ThFz z%XVNf>9l~Yww0Xj>~Uz%c`r0NWYoPv68}nRLIdG_fHDDSus!M?-Ln(!U8imYp>Z9@ zny2iL2H5y4ft#hW3aCq-Lze>8u@_*z48O0{;_dYYC*f3OR9cK?m>Dt$ z1fg`M#W-67S(C$t!+b7^@e$e6b@23*%8Rt9($?F((6g}+ZvRisxrg0IX>Z8dn}!7U z71@5Ks3jQD|B1DgK_K$8G@t;gks1_FSrBa!-|t1C`3jegEdp4Ycfd3iOMena zZ<8l>U{hwenoIf6eNr$BnJt}5glxD?o@`!?)R4G@n(-~3QgV)vj~RN$iW@G*tQN>6 zO`7JOyNjgNOK6u1Nl(ONx~{ly7k$m(h!Q#tDWkP^pPNKBp?WWRb3{RWf)yr!hO|lA zNuhyNwcPIeg4DA5Wf<$v58ZOq1z*q)@AW&EMPag3A1T`f32CD-5NO=(Al*z)maflP zRu*WA7H)~gqMRJ>U0=@Z;o|rEnv&PLnqyK%xKlKM+ez%ECd(2Qsu{iN zaC;mu`yvk^yKBi(68RZTcXq6e3ru=tl4ZVmE1jYvGk7R$JwA|gp{gf$@X}to!cYS9 zq_Y{;9=(Jq{5nR=g|Q0uPE|$?AK^fN)=mO*_Wb*)LY1uO1V~15fh3f_6N*kjzm=yr zlnhw-<9YND13yQt@}I0fivj)3gpaW~Xn>H1)-a}IOQ(}2lE@ZIz~|MDo)Qo{XW^0` zPeS|D(fXrUjB?QcXxIg5%P4Z&8i$&JTn+v~+chj zYo&Uoi(i6MEtbY$vOZlbB!YYp^95p0n>lW)Ra=4eMs4 z=*X8R^T!#RQzdXZUPdX-v}DQ5O$+a&bMlM@ubM&Wwv(0ExzvAS^;1mfHs#(0o;D+d z%}2K-#!De#M!=lJm?e!A>n?@?2ti@CcvD7lcrVjCx|L-LYj51>2NHzPZ}*(Um2s+= ze)XTh0SDz^^bdiY0o*e=j-zefBN24RrH!ik5`PF*@Dc5!cceDk=UU%1K8Kaw4VxBR z6dobfDn>je88LVP{|^ie1f1k>(3Q>q z&obaO(ag2}EBhWTOnK2J5ZE$)BDa0wZ#p|-n!C5gI-6KCB zbe4S76@L26zGK9=uAU@Z@wQ1!jd=9>Y<0iSMO3-4LzWE2>PrRUZO*e9 z16T7cLJ?EP-xp-~mO7D!4JQZTWwo4GsQisV{F57hLB;2SUq32z0QZ~7*w1>w1A0Xh zKlhxa+9z@;l@~FzmI}&n7G~~7{R>8pjcXetd{S*cF1tkBKo&_x@>+uld2-8T-*b2s z&$naE5RP1PkM!ELxUvBN<9O10wsl3kV!HoYdlu*&Gz`enaynMExPPm!cYd;8u*Qo)O8;N{v&dAIO&=QY;4tGPOKtb4P zx13p@B1!J`6x*}xK&~!8V$wSA;!%A#8I_c<>0R0IRjBSpxb=F>>1hv(({Yk{PVyolx1ZhmFdN&yUbaw&{`l|nVpX3q9HJt?h*J8}#p@?Q+ z9703Ug}|uq=YX)0V1AGDZ2bN#zjzds{N2F)2iM~e^0zt1{8igIyvsTu0_U{ORTwTM zB}#5sp5>KGt?SpmIM$iJY3V4Kd~r0#{DOKju*8|oR8gRd=~qp`5-?Z)#^5lamxId` zMO?~iD3vjMML$A}!M4rGR#z8z1!vJ61-q=GU#X^2MMu}t0?2Ce)QPIw9ZT9iTttGi z>5iGL<`jJw>5+M0U;Jv=1TdS$Y4(LIMNZOSP-z&$dT6O&a@&`j`xw=j1bl_;a1q3ADLw z)I-a+%Rt!lFpk1_Pxs#EGtu9P1qW+LxjSo!IVaXsI3hn7shYv3nMwRua&An`yb@?1 z*7nJ*FSVv_1{i@EX#^~mGaxmc!vCtgo3he!oN_WxHg3-C5p;98tn`ye(z_i9_5qL> z6`I&*c%d@!p#$FfM~XsF3neE*7xu ztnK4kb0bT+Nid_ky0-c2zYe%i8uY~tSM;7E-}CPB>(tJhf+*!p06W3+HD4ixRP&s| z@g41`e*3B-=Pp4+WRU1a`$al`NHa<7BRE>xKMrEuKTL-qS<(C(mhH!a3v;%5ogsv1F8OzK|AHLJ zU@~O$SPHI;V_Um9my|>w%zDEKOphQy78|5La6+m!c@FR!Qvm8^MW>v$b}|8n*&F!F z%4NuSPGHBPKI|xU8SO71>-c_OUbphG_8R^rZc>3l>I@vCPQicm{s-k%W&=2opWhk1 z{HXKHKm=mhY69VpH8@ToXXlejsQ}MwBF*ElL0q=@U9pJ(Hf_hs zu@pt-d`AX!^e>^Mvy1?w8OQvPKi|kY6?*dz84`$2O%5A&NCDn1W2(db^~pAnMDqd+ zw&Z!2MF?jc>0*O5*nK>QTj))>66vH)I5eH&a$V0m!xZjFiJOsjwk> z`L+!B^0gktZ2P0#^I}IK7GpwrIf}uo?`C}04fFMLkZhi{-_+! zdFqJ&?Zxl;$snpvRiP9YwzK8wD8W&{!c9IK6CHf zWa+&CI3W9V1YvU9)5Fmvp|9#N=>f`) zU1tEIMwSG=RAIx<1YH~Y1@6n0&x}MXb&Ixw)*lC0PAI8!oQVMvC=L%sJ$hw%!!{wO z#Sdct_Q1-Z=s;S`?Bj-=jOw31()cH{2=pw{o#it{ylfsYytV1v02o6%gY7I&z9yCG zb$I12`dB|!Hu~>*s1raDO0(D^P0m9{Ud?KJ|Thlfw_p=|icQM<*hk7G(Z8Q|0#mjK|88WSGO=3{bO5 zgB0900A{}AK2+fGGvgh}9pqqnOuxV8kH%wN-T>B-lOg1?og!0M{2_Q`BXT^`B@S}D zM?d|7?dvJA22h%7b#7BOb}wcPd2?S!3|gI7Rss0O!I;oD+qdsZTvweLXVP7OuTvv1Ohn!h+7CF@p63g z$8kxgCw}65AaSZ5GzHAg&s+XCx#%g}0nK?_M(t3Jz*5%bl!s%g3EG0Dd8Jzu(v9ah zNWcl!>OfIb%-$YJ)$PE55W?&|XOi6hN%R}<;Hn4dfzKM!b^&M${wSWvw%#~JW&#PE zMg)26sglYLpC9bBuBjiW_ak8pNR;-*BVeMQvq z?u~r<*l%`poH&)vfy5s$>)4aB2t~sT2F}y!E?%qpuFK|Hi@2|ooKzF`1K?27g@s$=&RK|L2Pl)nnUzWH1wW-ALiJDg@t|8e5P1lRZ`_yiD^{z6L7?X_2JC5bDfvI z1azeZa7mV?VUh7LupiO{j4=;Yoo6UA7o^PH+>ctWelOUxDm3T>FO_Jr?u*ZR@u)kK zYPd3qU)MIprKD05jMPH~O{5`!)r9GK{u&lGo{ku}Yk%~FEi7=mw zj(sGqT3_jX?iN=~hQPHE1h=Rp0(06z!#D%M+|I*c8%BZ9gxl2U`wvMJJ@bP&ntH~C zWVESCP1jdtl9Rz7J|kkFDkQB-fqHk5%wxf$!dJ*8k=&o9JV21vo9*lqE+81Og-iNo zF8p;r8;2CXIlHJ=ZXXD^O4Uee_Ru*`&bdMG7kksy#>fWain-cYGU7=nl9tKiZ^h(K zkx2xmQfSl)N?mD?4e&p)(@SD8>oiuLzQMwIT`z}xu9Z4?NhgsCcrAuIvA0@d7(%uH zJnn?<^;sF8H3?kxBVLw;;&Lz`^X!M<=n}ANZ}$?})x^CC$UTAenL&yI;P(5gwx{pl zbuG5BI!CgwkFQHB%r~r~gfA=YZ@N-Gb)bURjGc|P8(oi9{&389+3w6pI3wd&>epZv z+x(z4(2yJ1UgeVnOhc10PSRSE0p+r9aW*wXAW{sT+z^-Ex=0ZsEH7HzBG=kxWweZ! z1#ah0mSNWh%1;2M%Tr6&x`y=vBMn2Y#UBFR+bW-IQJ#E4mNll(THPo(Q~+bgl` zOCgzQD)9B#!WGAF{$o<D!L7*9|nIb!y!oU`nX&3jl0t?W&7-X{=_r{1X0 znS2w^=O2;K&|B{Vf1|9D!E%bs*$|NzTMl9yNB{B`m#GpP3aEYAM|#{<>O$Nh*ogv* zfS_(~es*Fu21`+j7**P^nL7f7<%folaU8Hq>5oPbV#0#R^Z1c`i9Li`3Bi(&tb=j; zC2O;hz0gJo6=j_QIt7Y>l-u{=UzwE3T_7VJIOoHq1{gYIMFM4t5cYBZT+#)>6hhkf zZeQ^|jW9>Z!yeaxN<>x4d$6c>aM%oCtT>?`!U6;i@em^zItoOdM-_gG{$b3;kwo3# zU6L*Z92K0}E){inXo|c%B>}xM>#c(3F;yGA!7ov^(e4tKfNI*yJhOC07#1v9j_CC? zkMlTr26jGkw*Gd^$K-yK#h6M9DQ#ph`pg)JU2Kb={iOTK*P(N-{meL43Dgnpf!;Yd zYv==M!7#P@ln`q1#s^>H1?>Pm<06l5Wxv2KiOXEavS$PkM)OkUA3Tyt(hs}aohasGm z&o(60zMY;$CPi<4if2to|C=8jH;`^!96~yjRd_{Td_*zI7S>6_6tRS6-DLcrs+X$N z`SQnZB{kMpr_Rr$XIQ@P+yfePysK<%zIF#=;+-U;cXphtFgdGcqsZXhcmEz|B{r(< z>&s9?JBVY!N>$A@U?}fIi3A4`Xp^wJ3s1Z zc1hz?JImm|T^Lnm4WJa2K7rA&GzVI&XfcQZCCw=JgYUBwFhm(<<3Zva{o+vBs|9Fy z6sgBq76Bh#XQ2D>V40sokhKWJB#oUbeKCA2Yx7Vo-w~Wo;O6WpC-Xovo_{Onr~5fU z_5$NRR95hTWps9$13dH+^=m+qGC5hcO-4-Ky5P{&R6ejz+loA%RW{yj-c$t6$}f;x zxvgsB{oq{hyX8yNda1Z*Kij%F92iOgM+V2p)#15FAZm;ng2lDKiM1x5!B(`6x3|Qx zMf@3mP`n;9HguCugr@ZgL>kWMR(I2(h8flsCv*=nI7QjhMSQvMVR^^Y2cpc7#byz= zTJjKwXm>d8zb)O4 z1Zta17*ddRp5w^e@(%fE$WG`d-(bCf4S-59=c#`X)DqJ}HmU>4F!N(5M#Wt93Ae`D z(4QOSy{?xiNo95W#E74j9(b%5o~(gQ^OJ@?$|gfaS;T=g5^n>(g)vrSw$ElSmzAVUcNUM!axlbxd*ucShz;=iht~KtiDHuI3w?>?xs*E_co&**fbLhPh$h%FXZfZH{90m{Bs4{cm!As zQ7ZW1R12C*x8Kgjo?$|R!#d%#c+d#T=&&fjZa}2;!#oyd zT?WjLA(4cE>%e{GfK~<Ep5CZUFWuAg6fx*2w z_%8hZrhaz5m2nH>>fUefFd+gS5&TtRekSS?HO3%-V*yn|Kms&fs%uWEev3IT8qa6h zJ6=!;J_bJFt6p%I9g>1W9n_ln#BY?={<@jGB18823&%25!PJ+i56sO?ojP-lZ^FK| zjmXW5kFpjYg?eZvDWi5u4{rXl!?M+48STo5`O?9G%~cV8^#uvmcVmLXSwIy(s`$3v ztkQp8N(A$+X8jF?P1mvKmbQDbAm|ucYOa%s9&tP}S-rP8lwcIdlx9+T8jdncH;pv( zLd1#unZSKLUZVbqi3T5KbF?Pk4!iazI?I*DL@=;2$aCO~@N-@y$=sIV7V`dlmk@jG zmw-}DHiNKn+)g7;u1(gfMC)pn#i%1zX$nyyW)~0GhB78bp#_(1v8JRJo+C%QBYX*M zpclsO$oui!5)sJ@wbQ!bsK$)= z{66+vICjM+yiAI#;LH$mSd7bQ2o-0YUNXZ*CVn`CE?=~%j+oAnUC6SKTK?eYON*r@#zlbq zLH~?d_DGcS9c3Q77y@U_i$h#mOI()bV~Nyoi*83;q!QS5UL?)86K@hV6f zZh&pEaYtn2Otp|Q;G4FmV={|CvlgiK(%i@})LPEB<@;%*3KfiLsWY!9vUvNAhd54p z0aJqWVALzYf#s<17~OemxdEU=P3m4`xg(VDb>?yw%z}cO{n4$GheI|wne2$mPrO67 zXSiX*Kcd>Zz5aevxq~-*6);VKgeQwNMSF}(I^!ZsH>&aDCxOg&ciL~A85n*%xUhV= zY7E41VFqm#N;gHC5pturuOZ<&>eD%rjuyC^gT}RJYH8FYpHuP3(&f`4>#Z)HKl(hy zgKj=*00$%?NMmsBpu^e)gwqe^*~NN}MXt%lFmuIX`a!{l*o26vfKwlKlfU7r3Gy;M z`xjocE8=V{N2b|^7$Q>VAHRiG*v%7GB2rOU^DK@-)Zj0b&agO7%Qs*8)IX(gi&&oF z6X*ONzTP@2$}aBv1wH6X8h`#uWmLZ zmfpKc@X{t#6jCQnmm02mOms$57MkIFs^R$J9Xd`-SYw30Dc^S@GH={<_Ps!pz!QIX zej)upYNIxZtqv?jcG9XbfMCKbzRi%1eaFMmTJ{-1EpGCiw5X^~R6W{o&ZCNYv-8V1ubW$X{^hs12VoG1a zU}-~q+4b)5h+|4`xmfbQp2=U|^H>kAES59CjR+ z5V!PX$G{i%g{xNIjon4?HZp07wt8gL3^?g9jw2#)_UUL3A}5+x@&YVm?=Gxa_GK2`4%4L0vcD`EpYM`Sydkja99%kwBBw z^>+f%N5N5IbcV)fKsjxGwpp?NipSVq)HNe#1chabQ!2 z^bp%v!r}mDbwBy|QDuw^Q#!Ay5v%WZ){Ors-;mI7J&&49oo19Lv{7Ac-j)4h*wOm| zgenM&eosuO%lttKOBe{9VLnUZB(eOPDl`T@$nxebN-Z&;?{5QgX4k`=+8(enPTNC+ zE>AYq3Y}q)jU?55!(gm=UcUPq8SH9q@h-q0iOu+yfOX}4KUAfeuY`oyZp3(yP6p%=cqjPov^P z#?gJ_$ndW(bz15_xMt%Slb}upm{so$mm_w;DN_zS28U9OP7*L-q+7~6@3eAri z)M-rtG=jr9spaGZKcXD{^CSSzG-e-KMiSN&kWe=x#r89$p$@ef6VHS%9zbFi3Bx21 z1saJ&Ra5WQ67b#1u~?}^*?8FFwc4v7Q+nud#{NF3!xVMgC13;aII)R1OtAF$jc%0# z(FTI{pJ?-2sO{W-`dhNn-n)A>YQjcX(F8XDcCv3xU^5W}>BgZC#JK1D;$P8*oRsZy z_zfxsTZ;1*kFvR1UfNrJ>Q<1GW!F78QX`V2!V8QGKMmG!AG{`_PnF_ZCNH8Oo2nW5}CpR=P6 ztB_D6c*jVKv6@0xL3&YxiM`24QOiEep68z;`fJuYRkJ)RM*;g1bFN3oZH1XYfWrF7 z8%Uq?ZP_AD>07D9k{H7uP9uEMn~H6}by10piktcEi*V(`g0xJ~8wJPwMayU;U$Uy? z^D;9K^W6m|cXNW;zQ8DJCJW5tzUCK@47R(bz>sQ-@^2$t{0f*IJxjLmxF3Mdb4KHw z2@Qn``-l;;G^x^H7%&AVC-M&$9X0{`V$Vz0R|nSkt@92V57i)yH$jkkv*GLiB>u=8 z`j+eBjU5ReqyTPLdo27LXn+(~6S*>eMyMHHYJzTSGzH}Q^r_aku|Gdip!CQQ+i&N1 zCT>doq|_k`GnhUoAheVp_5?AhH?+YzPYh_^AJ%KU4*FfQ81~Z}m~2i??OmVId5Fi3 zz>jMoPCRGVUMyE-^%x3c_z+3~62Ks;+4?f(44bWuO9LC7ka#Ly0v=7KxKf-j z!NLqxF+b9=zPY*iN}7ypxt)GG zz3|FoBC0rU?LK3IY;X-#0FI)!4d-5ag>y$%#};&OwnC0xIFJ|CdPwB=dSktVjyFkX z8Dv)vU7b0i4!jvdNkL;j$1@7GrXlT?~UQ1Td zo{SiHZKth!wQ>7aKkX=#Q=XuU4qNc!uFj%#3Wqdsdsq6 zd!gp3xQ=lxowi_7BTB;AQn3J{UKUE?Crs4>hLNJUDIqdwkT8}r1>%21n_iSyX-0IH zat@;gM;pvg!5vaP%xsP|f-mV)s0j~J{pur1C3QOXr1Oct9_;~WPYtn>hO`i8 zH~b!t__BLHYZQH8)0fcgv2culNazhMAYkm=Vp0;b6f|AEiR#3A+@TOa3xfrqx)2sC zKtskqRdqNX%l{;Ky!(y0lt+zD;Wm6qirbWgPu#fB9My`gW<@}wiHvS7QRmRb#0anI zHM;W7X5M1L1Bsf*gi&9C8-$_u7SlJIuI{5NLB0@%Q8JFQs$96+ zIqWb~G(Aj1K3!5VZT%qv3W}6r@*E$l*)Fe=+}rkm(W)mDaVdsIo~pk_TJ5^rp@;J3 zj$AXpe1sAhw0|CAA+?>flluR>cG2Hv(xg36}9QVD&G~>u9Mtd z3IndsL}T(?kK7~l#LSOS^!epyqxdrhxVd9fPKe&BijHw`&^MD0;2ei8k*ekWvJ(Ac zg&^}-i1T|wahUVBU1=oovaI}L%U?oT zgWUfxXLjO6THCm){<-h&l5tm78>$6$Rk&5wmOeKFtJyHzQSM?T>=h?2+XqO5rRd>S z>Tl`nb5VySDn2Rn=Yq^6>brhSpa2Y$0dW`w~dT_LYy&E{+GxD6U!rs*_SXWgr0zm?x!#% zjlxkR%FrlL7+W*@&3J*JRF4L!G=DZ*LifYO3s23bh(at;g-z}B6ejHqLW^&B$AK(6 z=TK~hCD+U!Tkpsn!Qs!? z&`fPO6UjB`Iiq3(!tvaoiao)kXeG(X5Ce;NN>=}o_Pg6_efXnP=|$$Y`~<5BTp?!0 z`gHgwRl?gg14Zaq0Nb5Y?i&koJxorZt}DD2_?Xs4!EzMGWJn!@fwE5%+6`bx4yn44 z+w=K9!0ri*!XU3xA$^Jnq~K?wDIWZ5*#t<%QPdmLA* z&CM&OlA`)kN7%N2kO>Vj^_@`7QTmazlz``#74&Dy8ND091fsNP^zJhzPbF#5AB<)j zn4>n+eqNr7gSeG`8Oq4?h&JSt)HR&?Iw~0cL3Q-qg}?=rd~NmTcgkxXjJ-(r#NL&JK@k! zpa0RQ(yac|sHihI!cbe5=VGa&&f+lQW2~b)LSjq>*k7&JzDUI)9PUP?`l=d^a09~D zpcG_`B_QNzQ*KR#@Xj>Ve9154W^54e^fRj%_pUStSTZ5g<^g}w8sJ^AF=~O`f@L&V zIAuzUeq0WJ3>qNO)%`3GY;KKI(-6F*i5mzr{;|3Lai4riY}n}1BK#@bk1y4e<>3hj zi{(A7xwvpIdN^&f=(+uDA^>d}vpV-;4Fu9CLY2}q2g16d_}S~M_Ewo$6yKS|#h~2d z0tH{=6~@|!p-+fclQ4Jb;g4Qp_>B56iBDvv;$OcE*Xnfp$!C0$TqM`AxJ~gqky>kv zG^8aK<&d^+Hqc|4>+7bBHCdW0dQzhJsf8_x9j>CuB>A_D6&JlWnL!YBe1WRB*d z{^+5R?8Sy=$8Vg`GNpe63q2p(iP%5FxY){%toQk{0>|5+oq{9-IC>cNRnTOcQ1#&+ zTx`%to?*e}xtB}T9mh=nSHq=qYNU7)HUvC|dU!q;H8&NmNoRelg zL43rQ9;SNIkzpb<{swqp=QoI5Uay|H`@b{{@!TP8~@cXsvCxkpp8iIKJk9wu&nFq4s$G3H26G3X6T&l}_)U5pA1qp;K_d^qaS zA`}NZF1waRaEB7{5g+Ifb{#$FS0%F~i%2Rjr$0R%V2DRegKJ;)+|G#OTij-6)6dL0 zSZy)93zd84hc`CrA4eHNoj!89`+z+|+R3be9F=C{C>I+>MWQkaRcb4;d_qGem)(K2 z4?*aEYovm0T1@l?vr;R zZBrudw+x)i4fj*D=Uh}1Z>E1`?SeHgjZvgwbU)y4;Vx8{&cEPxo#HGW{J#IwVv-{< z5qqkY&B+Lx3)D9Ah?-0+Hluo5o3zb3o878B|BPI3x%zq~m?81LjxIgBj{r=$Gq#$8 zdAJICdYnX%GR^qHpP_>_^kiLv zDW8$=I1IYtGZVUGPPi96&}^b^bnszVv&lFJ8ci?(|fSkr&DW;> z&#B&G>RFlm^Kw6O$M*#^S;6mx$E1lPHtL&q$<)e6v9*HXT5BK_XW-BKU9i|w!tp3#W?`L|*7zkvdvZ=;9a zJENj~`>pGkIDyI?`c2uubF#?;zRfy;SLQ?4Sdwqa-Tq&+cJMwLH#8%m%JU6<<@V4s z&d-pQLV8Tp$H$QBmA{wUc}Yodb^(uL=S-Mg0JEG6yYGob8lFmi7PM=GIb54;qv_4H z{TK@n>6!6XApt~DH&1V#W0KZNSbMD$*?^ZN4`U9Fpo;ye;nLUjohcGQ)|XZDm+GWHxJCavWMT zrW~wF!TY#KqhIXjlk~!ae#=M-g0LvM*Y*m*$#HfgtwVuEP00hsg}fg*qE)LvV?#oP zAx45_A>d+@xj9N-P5;@pZw`TZ&(@f-W9UnYhcFn-H)6Bs{GYl3=-gCy3;PwUUghFb zRE6!GLsog|y5nw(X6*M2+lcPu6}?lv1&hhNFvdC2Wi^tu_C0EG&90bP{j7bDgiDYfcAQ(aU47{pzxvwty_ zEBN5Q{4svLu8shw{P{1U<0UTD-54GVS+INsDFC6JeAnJdfIlMiPAw$QB;e2YSD)_H zOCd|O4c%`B$c&v~=TjSWXu??HnpxIR$GK{9L^;W7#&y#WFDIwK zK_k!JB;{Lnhaw-wMJ-TDtfS%#cV|3%VAIJR=+pJS4YZm29kpi+?P$3udYcbBRzh+1 z$OxtggjCQ!f+D?MZ1jduX`tH09w13e294e`#U4(*`0(ykR=|@NCZfC_+JLn2wcT`; zCV^}$`W%%TUTu-5EBZWW_v44XX&jcHKUzQkI19n60J*EhSv%u`WExZS@20hhuNz^o zDbOKx6+=cyjq%1`*~s;lzS7Ku`C`lc(~jGNLhqBQ{uMI_7YzE!WUkiq>o4>3r$m)7 zW@c=6^8QPqq*k`}yzwSss>*+^wW)%|)@Y_JK!ajc92~9o;8963Qo_9fa@TQ(Vz$*5 z{_-~@+t$lY*-pW)|%hUEL>Ja1@3@sftU*KQ0Br7MkF&_yzQ>9Yk6`m}PJdtx<>h)>d&!hlZ$2XS~{X`L>pY|5 zyOm#-6#={+LMTify-`Dc}t_KO$W3j!J(4CTji1$->%k zWS>PFU6HVKIX}?eKo)b*NKoH+efzWfdjBheN6m*X=#V*Dc?C?GH#)Fn$^Y%KvEte!G5{P)NpG?UG#R_$`fKqa8MgL&>M!+EQo5mh^G@Su* zt(e$eRAkq~7Iog{UTh)=v1|LE^n_FvEv749N~u@n0kWdR%k-CZ%L^dE`;KgOje6KdjZ7utJ71Nv)P^{cCE|7>sk#Q`Hg@sRLuA5>lRArqA#v4<3E{`R5)5fPy(E)b{;yfs;A?&^(`SB>S zO~phYie#1G=BY~GF@H*M!XihGIT7MOkeDx(R_eYhL)Lq404M^jLTXfvHtaXO!YPKw z{D_Z`&`fo>fC6r`yZsUHJB&|dW5VWW?wJMJbAt=Y`$>~f(?mNrrLmDlAixs~k0`u9 z0<{v#=DC*n4BZHURDIsnS=eGU8$Fgt8X;aqIXM*sA#WkzY*26g4T}Qb$w@~9n^vy# z`f9IY&MPfV)FF^) zYP|+@@c#_>i^NkbY6p!fMRe(4sNqqI)_)$C{9e^*>4CW|Q<(YE-F=L;%7nIP_X#zw zU*lVPGEo=;eI$3`)yE#G!?sl01-#T(v}tyd1xU7zydEUFD_z$X`@sf?Sy#GAJ*Vry zGmeNhiEiXhL|s!`d@eXn{a-!70UdA+tRl()_qF8E#v_zJO2W#)!NEdMSOs?%R4cl> zj^|FkOU$n^C>bPAL7awPHAY&d4A*H|D7O2I9_XLGAMo|^};^Nq0Tn zAXLa>mVyBxec5;lww|#g0MUOYl>4~_{ZvW#!@O%@C|gl zk7keNwtRS3N?YB5V7_3oiU@_L`$y)ZPH5+ zK7YL2ad-7=f1dG$Ti)C&LeVDj40d-%YMmerhPe)uXR6T(yl4tENap$$h^v3*oyR1g zbDp{XrbN)UKW#`pN3Ui)FTQ;ut@d+dV z_#|iBTSE-(rS_XIsi{PBoFM}FAnMcE&cYjJIFyvF;42th#nU^D$t(M`YJ{(IkzrJ@ zhNHJ7FAQID(5%HloSi<}E7T{`I)TJTP(HoM-8b^sQYi7l%7rRX=-XR{CJ5}o&&n@W z0V(CKsp2qIHhuR-)Pe>N%@>FZu=r5q!B<-l)uWRMkDHx+&vqibch90U>y#JVrV~RhnUf06-38)Ml%* z_Dk)uIZ|<%v8wK@VdpXAq>ZS>^LX zn|@EID^aRQeI$uTamt!~+g=IX%7Z2P>|$dWX@S32Dg*JkuD1CcS#c(xFY;d@8ochZ zN#zD@el-NUvGf$HrIy&g|ED7k+S2@F8qSQ9dT~A7f6LYX{$&aS{b`UycNw17kS}dI zpZSX)8*3!@5uVhq4k`zVbI7y!m874Dyjb)hHFKjrXpxH47ai^$QuNBgsUhUgJ#rJv zef)9L1u;-IP7)HTfHJeHp26Ed?L9*>$;~#62Z~V^5{zu`c`Eo0J-;8%}5={mGU2I2qJ_~Q>`n`BEJSduq(?gOm)d^j8zfzR{>HA- zXM`=!|7S++s_`TTnmY(oOsQKlJj6wFTa8z@AoQ43jgirv?Xh2Q`HZKbPb)TV#$(nd zUR#=~B|C?lV9}2xxl4dX#e|=n3fq)C@|#12I*r9BU(*a+!zCv%qjZ_hSw8hMwL+9R zoS0L9v>tp?eN-8E`)9@$Y*n@!Sb(h%lHiTLp_lxAbJ1F z$RNxK;~{cq=&;n*T+xd>vBYc~v>v{wQtR0h4HFfWR;l|9piT4LWZ9mz0tfR>RW2ZD zPdr&=E>{N@`-KGIC<6KyyE9d;;Nd6Ms`W%oE#`;)XV8z^0(MNbk?cebBj2^qkAGWr zupSKzPo1ek6&xp7PP#e@nv}!0oX>FYDWAZF9a1QzeX75s2|Lez%Mz?bjK?ihy`4yTGAya`+d1(@0Zv~%BWz}Ppf8{us=_=Hv;Z9v;~ z@5R8*hoAQxV}B||(7pc2=trd=g~aJ&f7a+9&zQ)lc_Xwj?OM?=U8{#};RA3b^GBc~ zIfN{AJV`IuY(sYI0`4G6k5r!xm&_XoDL30{u}`HM#dN8Vn_Al|frCSPfVq#@Qlo?L&{qiuju7= zqYMQDCL3nVvTd15+nUZ-L83y-ScEV`fPiggswVlWSQrB8`x_J?maZ|WDFmnjrbN$} z#e6^vLl`-Fq+LZ-#QR|JCBM)j$P(1eyp)B=gT`AY?GXdF00r|u^}&0e!4~<)t5>)b zO#>@G0g>y`_AMA)l2y?-|3HS{2h^kXC51IUFrW`3=`@~y>FbV>MMz&TPQ^ua_)0`l zHu^~(D$~6Y@Z20&QYwm`J_4gk8cGb26fDwR2s(l7k${wC<6p3I7gCDEt=Tbqy~BD6 zsy=hTGx;$Oe!5E!%RUezT={1TW$iiBNJ8clQMTf549*|)_Kv3Mn`Pd?T5!LBo+19Q z&tGVYb!ZR9)g5$^4J1(xC*%rl?GWJ|_lY$!5W}A9P206<9ATPlj_|2w;7^rfks(Hr z$pB1keG~TxkrC@^y;NoMmjJ6&d>ow7B*|bccwvJwm{05!BX!W!qZf815M3My?_jl``aG-JGaf-Z3&2W9~@^1Y`iZiz#oPMst>TlCcO9AeFwjUicj#!=2w z6GcUx&8&P2diZ)pcc9;wMf^m(yBrkFwg3o6Fp9<_`b(H+pc?5(htmr4*wR7_PP8;dhT@a?vWu91i;(oU zNF&^~I~ZFM%%IsHrJm=Jw80=4{e7Y&)fex(+!5enQfX6?Fy}qp$e&D}@0FK~_%f-lani!2wZN#_z1&>8W)UU3W;mKL?bK5u*Ui>8akv z<-PvBlS+mmFlTw2_YI7`ahh4;{}u0sNuUr~-3#z++Jg}O*(iA194v}<6f8O~sxFJ< z+{J3sHD9R6D;X$dM`9$X5iaS-6&$}L+tS0krfT8!UC4u(h?*lcO6mUDRlqRG9 z+?T^>HF(Bf%EM(`gP+rpZr1{il^2E+za*nkj6~)(XcHt3g;Ps(Tw*RDau8q00}ber zY2;5SYsBQfYV=jD*0$fue1z&;q*@VWfh0r%SmHc3+g(!_DUHwqGif7FE z8#lRv{gNt+hi1`!3ipD%i6WZdltudwpB)h3aA^%gBx92es?21ZN;GM%Fvlqh(#So= zHqB&ddUoZ5ROq8v@79xih}0I`YVS&T z$lNEzDG_(~=c66xaW+NgkglkhKfc=9lGOP@;NhZ-0@D;0hVxpnMHLltC_?0&WL_+a zQzt0kIMsxri-ybBORZUitI-;EvSziE*0SI-x^4`<(JNwSniMJ!dCUI zmlRt7#a5GNtSHHj6a`cPmMtoIjd0897Ow=LE&$b<5I0n2AU8|>HLu)GiK|P9onRUT zuzGmW)aHrULgJ+;v{ss;MIVp|vvv6=n}Z1KSiW>Bn5w}SZV^F-yCxI&fUoorhL!{R zEh>hcT!^fUX8 z{`$foDMFUzne;VIgg`9@AA6tJHgWVTQ~By`!rZdBBjCvDZ~LZYV?^T#?uYWURg+=zEETH6-R%8rVA9@(%4heZn4t>@TePJf z93l^cP1U(+e=Kjlim&5d^I}=xTDsZy&XZj+0>!8oOA;fE{rKnSpTyrbSXrmXy7|mD ze^S@TmpWJy;T0anFkcx$?ii;B2kEj+Cgp0k$R|Y_-QHY4%ppU)?6_;$VKHL8Lg}th zBTS53L`DMm5WCDFy$!5v=5D&Z2EiRG$QHU&?|u13oDjH$=41DLA&xO|Sx`nq6?!;5 zWl6`aXl3FH3m{1JH~9Oc69Mn@nk9KY#~N6lerO)uTpA3ZZZCE`Aa0lf*3<1~FZ?=#)Uh zlyN4X2!uuKpbPaK^_0vireF}HE5exs!{RepSln4?jQwm6Y{uB9CoG<@+9nWbB~EFc zSddXFkjXOeqmUb}vmLWk&;e^R6osl5tXiO6rKwi zzMz3sdU)utmBsxbzn!yZ9(>$~f9(#XSIQq$%E`7~8h*sBeoe@60Rq95C8B3Nfww^ zKwH*1!-}&(4;9Qk5RXJvzsD9@E8hQ^EW|L;J|F*V&Z0JwKS573`jGQFENxy4?Vz>0 zz0FC-D&{ykl`vf7toCGpW}`5Ux0bEV{>P)RB0?I!mEUZD_cL)3|3D~KOJLG^JhS}} zIxpfLoT8hz!sIi^0Xqomdt+bHck*aLz2&GOt3w^O^xKe-gB8uIC(^ld1umC3yr5?# z_|(BN?U|k(c7?GbX$|Qi zthDd#rI~Os7f+%l_vX8VKE6z>D}5I^kMQQyloHWgg@kWoI;cO&q7NrGo=ndcFFG+G%Wy-_1SVWc5L$?K-I!&bL3MRC)tZ5Bpl;TI0WC&gHPfv3e-Q8l}|k6{TX zKc3&Z1*nY`Z?S%qO+Zorrxo(2BSf@Mv7CVJFO(xR)FGnL&L4w|ri)Zvd>}CUe;b0eFL$wpT1Z(gTNAG3`_sS zJo`UvmqKV)FOCapDD}0sMCwx{?UYQ_0)%%P%=E~UI87mkR>dL|#p`D3PthMI$-hw8 z87a4qne~d3-!jfrXs`S~$dO*gt|f&#WHz3GF64cC;c@e1A3lvZzp0{TF{GXteRo@| z;Y)h#7G6~ZVC=Xw>KPY9bji`0-~*ExDgPIDL*5;NzFqyjCGiVE@Fy28+rL?zFY$nR z6T*T1&8PMHv4n+z10h<@pFbdFIUBYC41seM!q@uzXwGZ{r>s$b$kc%$!GGBKw}S_R zz{`;Q%FK6@6reG3MlXBzqpA2h8Z*l9V04AKT&CtE^i*bs=o7zNUHwZ|1)VyCZ8D@Z zsZ55yC^=<}Etw~NAgbD^_@ZT8CO6yNc(MAmVM%_J0aU48EyS10wKOD#oK!*TG0-$} zO<@U2PoGaVma>1lSTCc_xJFVB3L)(y;V4fOkJ$9F5$Xp>Kt-<48rHKx#*Nh$%D*}6 z&#_~v|9w3UzEv*+94;M`c8*F1$BEPOg>Mh2^BjCeviQpO9D9n1`~@)&fP-_F#H@Y* z(3_=Y>Qr}tAp!^IosaKr9ARG|8(WwMs|(mM$&q%C7{6Cy5xstnJ{*T)NAwCfC>Qk) zd)>(_{65&_`u4k#QP^d2k|v?pO(1tSedHu>t0$jG&2@rFm8~qBX@$v6$7@c0#S7Xy zSC2y+jCsQDt>yuv#4p{jc>!Ls9I!5gXKr|^l4k1Cq?@93MrFy<1>4NYz#%&@Ownm0 zA^tj7cp%Z$_qN#Am?>GPWFO*OnI9=c^u4lS&pF^J`fyAzw)OZ=4+d^Jhy>S9aMoy` zf)v26-U9zu(_T&thls+p%Fesj$WXtUZ50?d z7$E_M_U#Agc92n)-K<74Ck}dE%yiy~1QATr2qyZj&w`*drXdoxGd5sVJA&E=#!q~d zX-&G1QJ?FsYz`R6qP}8(X*y&AZ+v>fqrW@j3zYC`98*(K?I9xGX59bv{+Q_dtB*pv zR0BBf8hiW>YuYc-^}U@GbTf5U-QhogK(;lmO5bqUQ#-=zGzPofcMYO`uKOjT=%bBB zJShKL4(brXhbF4}R@Sbcm;g+%UR{5t4${5cBYpO=U!)C5sf|>rLn0B*SL-LA)H$Tw z+4$;n2s!$*wP)*Ga@1*?f&R$4feFXtxoq3TTHF?3l?VeK2xCmZp}_GkAbd(7=NKaQ z^keVVuR|}{(6+#x;XK)Y8%K3&2>cTDwRH19-${UsxIPCphxy}2CQqsT*W=ws&KVrJ zL!y2elK(;}o?uEI5qaC#^*CdTcp~=l%}3$CMo1z~eE|9s$sHCc7&w5fkMac`gM!QVbUDzyL*ipM zMDpA(PjJ6?{WBL*_Ub2dT+|3}=rJ-b3V+M{dC_AFJYNLCIl6NWe6jbJx{+LkJ&@FY zRqU%^0Yl{0u@n-pX=c6E>Q_$SxBvOApwX4{9GGx52nGc0Thf0&Fk^?_PH{7SE}Mej z7>*Id5lN+l%mvrxl z!oq&L#a7A;J{&$^s=nan)j3oG&>dVwlJz(4F*{cP)nxV0CTzdN9Ml0cd!*(8ni)AO z(s&U$XpJB?E_AJ5I)LnZkd8l5Zn`}|Q0g37C zoi)P2FWLI!d41#yw(d zC2w6Cxs9oA`d;OG#B8Jd>%-jEXvuc9q^{qLG_pm%jG!8cNc_%n1=3cB)BQ%!n(fUW zhn+m=MX#VJq(=tqKjEn`57UWr;QvB8dn@@}s&5%n{ni53Su6KD1lN5EmM>jGf#cz% zXX37MT9`fRe^(I~_JW)9gg%ZtREHTsbx*y(KzK4HL)ibgrFoIN% zAAHcPdz<7gKC0&cS453LzW^U15D1E*$>(F_eq3Jilh*OHvSxI||n)A&4QA__HOt=;%j- z9UIr&Rz>=Ouzn;5^ba$G5#{RJ=T9Kd*x5`K;gWrQ$6-S(_as4NU_ada%%=DYyVv*K zv;bpp|+}u9`sQnTY5TZu_LW-4fjM6$@_7*4&jQ0LlJ;E zl~H>T(Xw0ishnMc?dPZR+Sqs6uXd+C&f4m!1m^I5>x8FakAL7^WYeKCK`h5K392Sg z*%bW{=)174GM=E|{?p3j-_q7}Skil4snf>N(5+7f0~hUBkW7Fv%~x-x(sVx*>ZFA8y}7z)4ri7)6OWLJ z{R8yga5Xp)-W>S;JAE5$3a6yph)aE0UisvmWJ8}dQ>DhxOnTMc&ZCpBL+E&^x*71U zn#VlhBA6`KqB{hJ;w*`2mn`LJ*<4)H&)H(dcE}c_g{paOvnQ_9HP) zBACy+VtEt!i&=rh*5VKFX|ut?KEo@Wk{%IJQqt(ou?I#4zJMX!b)%aC z1EXy`SFIVY274WmAu^h`1j>~DWM?mK0P(Ea-9L|${(;!Ey9>c*#u)N&;eN8-;nq)@ z47heI@M0Cin($xDS|qkdXd$fVcQ=U*tOyCHsuVw&_%!-9v*IQ~Wz^m@Buqxn{)&In zW&yIEe%uNgaM)6BX37s^Nhri*SrZO-M=~PG%?-mZ-PB&w7Y?Vmbr8VY3%w9+!rT{; z%TdBsvRrv;hb2exjS1&Bz%{5*P;*K4_u#SRR-=5)gCDXOdjCt~uRhYrMvqe+rD)4P zBvLO;xP(v@|FmzUsL!V8vIanIX|Ca&w3MLilP>2Dh9p1a;?qaktg$ z;X~AApN@e-Ldlz>o(c;MnoxXV>yMo@1_KSIiBm@nj9@K^Gbjs2y^hBR0|{R6sQIC* zVr78mviPX@JepRv_>jfeB2bQ9&TG|t8v;42}TeOTn8MA5SjO?-CIwI+cRg6C=qG0hR^Era;sRCC&* z_0x%(lra5VeUMJS0}Q2w^e{}0;R0#UFl%S%Lc_F`RisI$QZ4sT;x4atkWMVyTnNWd z))T;bq4hs30LPx2{=SIGmNCQAW}B&9nGy{UM=?^^J2l<*?p9UXd`>*A)21A8J)bSg zjbGQ)RKKb3DcMcT80$*piB{0mIMAndr&z^J#!O;e@V@3<@o2g4aChAAXH>cTJiV(B zec@7==iqz6*qsH%i}>}TS<&7ER^hEtrJi&g_nWs;ywY-yjLj!*@&RMYA?|@%iwU)4 zWCcsGHe}aX*v#jdB17nGZ&E&6q$L{dHKAVcFtdqV~%9*pKrtAoWw8 zQ0Nw={&;DVp-MM8q5c&TqbZUg4RDkvLxhFU75-FZu71XN`>*2O5#Ix4x#2u5y@u)# zC%6bqu_sVe;{~FG&Dkho?JELiB^4fXfA@t?*APnC3#1t;SwkBprrnHM;mJ=rrtFm78@36ZFgI=u=K6^6Sdc?A0jC!0_00S1WwlrExp@DRyQ7F?lJwh-T z+``z!sMRUMFVd<)w1dXwqKE!Y`;*%g?(!c)4JN{=7JuIg(rE;bi@{GuE*dlSG5b#! zJ!bF#N1yL7V$R%H28ld07s@628cf?HDzjebw41EQgc>`KExwwWsAt_yhG$x}6Zz+F zYt2!@yhD*s#WW7wz2c;-&-!XYr~~K5*!&+$w*Qm({a@taSovR!U38=Tmk5M|PoK?W7cKE;LMa zs}#p&q^q(}Y&sv1>7-_JU**cC9G}|sXm-=>9z(ES|4I(i;?k|FveaLkG~IC1FJd>tdk-oLWeZ2n?ovRHwcWC9i!I>pfxw|g8?Ig^#2qydN%OSXkfnNKTi1|GmZ-KhqbHQdi zxltUaRcyyg%KdaLgCb4jR3i=kp6*9fu!I|$#|GHoMh+j-eW!-;&pmVsVW=OLNUoSO zkVs8oehf^v;*?qhofS7}Em6sycu3i+GE&)3v;#&fRYpq-iq#Xxh7hBy#&)J^u*I7% zVa^Amjs|2{+|L--%=rhjmU`IyzQ4z>0xIEajDt6afA6Y(kaMZttENw@qne}mTEo<&*6$p8 zFWdbEQ{HK;H>yTs4LL%WKsPX~YTWxI zvtK{yJYO30o)&oAUhi4(6U4(HcM{1N?X4cYSbqL_uXi~oJA;BehdDnelN!Dh|C$yq zuB{KrJ<5-xWTW$QptrM7+&e9%hYYBQn)%ecf+8mQ#J^^Vj5q@(F`4;Sn!=UGFO<{5lrd_1&qaUHRae-+I-W;m2V@g3?2=#;=yedtek)$DnC-Amt9i zQVXYD6sPc@n&fW7O11avLRgGI+>2G}`jK}Ac9jpwB1;mK7F66)KV=ulUbH`m_D4_| zHS8=L+HT2S`!bZvyhj)*L_1m{7oJ}b{_gFb1Zd|x$Rda_z^7TzEdVt{(D0NqY?uc{s7g3I4YV>NGU?XB}6JGIqaBdbyLFV2Ha zK|c9XFhERP)spElDd>io{)-IkMqo}^8^L`IP&dNJvNENpGn_Q}gz~Y!C-B*g$R|K1 z%~3}%bOY($CP}UCjjr}YZGU+ZiBIcze-n9X$F{EhoQMVucgOHT21}8M-6!>g2T*N^ zwTL0%rBH#tEdU=m3jE0FLbGKh-A;BG*}#V?I=oN3==_r^M|LyOf~( z?5sWE`pJ>YYBoX~?3V-DKth68Vf;7~@`gvAR#q$cZswpDUEa^E!`c0NO$?2!&>+A-tW6T-#^Pu z*TBp**Lj_B9Q*#;f9A^8_V%SlD?RGCS7v0916*{71fvk>;IdIjQC2P2t##tPw2fuI z;RLKzmcUT+-#{NB077qSmAertig$8nR^{U1VCf*5kT4A@J%ew^}$gOGO=EYks4vV(Gj&R)p%&Iq2Vnq z;ncoUiu57V#!mHjoaG1&OF$#kSnm1Fo4`Bdu9>^2t1C9}yc-?|uhoSE+4msbzKD>N zUBmZV#WC_rdah~Y!e_-=Q~i}TcR*^en-(Rm<*gwT~^ma+EEpy~a_;FH`VoMzAr znSRUBc;LSh%}?gsOT{0ap*)i#TO_t==rbRdQ6n>4sgm@Ex}UmT^cmFaY&YWw<*#yUp)g`U2fM@fCe%eQ4| zzF#!&FRdN2TuQV8`$0TQ-dk;Bu^L55-#HTny-p$bxiEGC5biXfL7fFz5@uhl{>D zq23+~!4gqT2E>$~6)pG@=}`|exOxyD;0p|S?X!90G~;!OA1y3r?qd+^QIUP}4+IU0 zK5EL+n*|+xyL6JFXS(D$dN)(U4$K4Fa&?a0z`p_yZU~WmfJ#^w-9x*x^!KjTRg_xj z>SWv0Zt@T-_{kVt){!e!NJ(lEjc%b)kPq5~OZ2yZ{GB>H3TjeC+a35Z1nxUIL&`|O zsuF?@3VFr(ua&FGpXGAcxHxV3{SO5E{<|A^l^*$}ibOzYk38#=Gu>mN_h_{Wbg-f}>ljx9}zG(5xW=*Q*z83#y|;1h8z$=|&ci~Jnle^Cc)KhY6j zlH7?!%(>Esx6JsWh8=ahOGS~vS@4wbT46@b<5zaDj!bTMYRZgEQ?1hy8oD{6d-oHI z>8B&5q489RW{umxQ27h!4@|&D6|;V*T}vr;NwsRF)bqo66DE)Ld9NX`TkRTlYrBw9 zbG4!21)B>DJbvT&l-r^`$s_r0*Es#uxcn3K5bW>wHgTuVJ#*KU){R%zY;+@>*jL5( zD?2`7BpHcr%IS*pvnZ{SpiW&wJ)L*?Puca;1i4%!L;QQdXs7>#S%Tf}8@;;fwLKR2 zjUxPqadse5l;Q1;CffiV23v0R*f9;$^Au5oyiZS;xl`cjOpUB93nnOf%H*g!g8>?Zm@)>D(x8IrL z$mk!esmX|8GvDrHIW0Bf!qSU^QT4^jU`slEQ_VsFSgT)a%BQ}HuNFY={=m2R_RnN> z6QAx}I#QPb`8Xp0xD>7&3qc8_y z7kYZiGj>Ale1zRt}%Gth%x@0+4b??_ozDs{dJ}m0h73ymL5_@P%`yC&Hn8Upb z%Q78;Z_O{{xZIkC2~l+a=#4voy?DF5YX$<2Oo(jL{)ivBi->crH7Xmm2g(eC0)M{f0<{hEWk zHR+hbC>9A_s&-<%so_tbq|IE2BT(fADC)nW6yZQw|RG!pcqD>%mt14-Ohghp4y&wMfObsMFq{+Kwvqfdx}Oaj4z_WOn$3@371SSrg-R9kj2kW$?L! z&PF=pfL5*;iL&#A;(K-8i3wCq0Q28~U(r{q|wxzf$f4npX5f zAb1_1Pq!VVMnKg7#pE$~(ttUr-30}_6>23mp(6)G+$>vES<-G|Y^0`QTWDAxx4>o;u@Ac4dnngPL$Dr-} z@mYdy`=Lf~5*wRekKx@>vX?V2yM$_^QQD8MwJgg{Nenj`?{~hKA1t?Rg8pFtC$8Xb z>>DBV>i}#~PSTgY+c?1qYpgO@b5Xx(u&zZ{0`Ufhea?7{hj&4lDM+4uTDBS?vI{Q8 zU7toB5bcSkaB#%^=SWe}`T&oa-XkS}8!Kn_LA0fAWfWRBD*OD;2b}hl?o!hcG~F{G z&HD}K^?JEeW6tPaapMTq70gGh16B}H8Ep9%IEUiDL@)n^_e=$lT%?jK8d+3tYk`8C zzGk6hu4#By^ep5KG>a;hu&>Iqv)kVOo@6uR^)wL_mAYb}h&_7P|DYM~=nsHSHOJD( z&T@579lC4|eA|D8&mQr+?yN1$;nC4vcVvE{gLqnjF@Im%d1FyVS2cJdw^~3GFt_{F z{5$`noFg2fE{xmm+LIL1C@w%0;|C?b5^Vh*dmN!|&V*fL$k_s6g7@3%FD zuaP;e{Mu`_m0qL*8aLQ#|DT?rxY|EzPtN#{p#Q)4;yZNyg~*{4yz@BydLJGbx~Nv8 zGz#TSai@`k$`I27z*D)-3(`}n$cscrzDjae2 zMg6cf6e|4VfqPA-2LR_Qu_yDuMZ5&&)5)}W40||^BX`DbJ$WHN81RTMT8{cy2EqB- z_VVl$$CWEoT1%3qGcdtt732pij^j-{ys{Y0lfN{lO2K(ZRon=q{F{04FSr*P-qq^R zUmbvalPFujc{1rnZeImmc^lARL2WSNblFrAJ{;!xRd2j|kL_ORGQ%*=er#aL6aOJ9 z1T zTXsdlOb`72$Tkoy(HZr-&H({r5rqpcSA!ck^Uh0rnc!oSo)x1tYnOLFlK`_JDF?*L z3n@v<1nt^R{MQRfr#JMG$-EmjX*&{>7U*w(8|v?}2;6Vn)UgqjWOA_bWQyq1l0fA1 zz#f-r&JW}i`KR%gkjQ?}nz2Bs0SB|`MC0~)B9qb9XxG1Yx0vx{cPUbFFOm6ojJW?p zVbb$hhm^pgKKH$OTSxJhs#2 zjjd-uAgpWmIF|dH>;vPt&Y9QLW_bI*X##or0-;sF2&-2)z}-I`N-2SgKk<;{$uZzD zRl#{o^4$`8BwnY-W$*g3oW^Jo#CbE7+|QdkF}+b=%DnB5Y5^z>tLK zuqtGs$zTjgAZ-Stk~;b-EBvj@Y7>xz-1%Jg8_w?I?vr?CjjFu5W~32$n6Fo56eCRT z9(6^?N$5nrO2hdczLTdX%T^0OqE>6oZUnDBtuiIZq5eB|5e-GVOk>Q9~tAs##_b zdQAjmDMF+!E?sr>%?j6JP4oF$N~_(YCIy;{ z&WZi-V{Znp?fG&+184%*L^DVu#vJ;{Ddal1x!^p1UC2EaK~ziHRECM{e4I8;U%~%f zp&lMBYAx$4FVNXZZ%eqnMwb0R;v#m!E)c4b1@p?x9#Ih6bv1I{r|HA-r>HV?I_>I` z7rH-P78{QS75rFmks;oZ%3?{1b8kC|eLqq`W$PONC4LA5EU-YSfAQGuQP0k_#>U5K zwVO2E#Yv{X=9!RuZA8Z&SO^zIa6>qM?MXXb2lDRmc+*ZxSBv)zKBe#Fps#*KczqFv z<&)eLYx!Vgi0UyZ5bFcAggXxTdRlcfZOeYzseX2G-raHa!Uh7*%YhfLikj#{tXRW9 z?ryAW6BzXCOzrpaSBe`gbb>B8?e!RGBxjHITK?W?2)~>M)IoDTN6WlGPP@I?>LNbF zg#9>{V(FE*8t)Y@#?z~Vh-*UHNPXTv@{6(^-n5MgSKmSKG{aH5KeR5MkVj=^ixhMh zQmwkde*#S-{ZgM|ycX1TW?~;w{(PPsz-p#iS6(E=I}JF5C_W#R!b_z>8*s8=jLF`Lq&!efL%j_AS$M!q zzrwT4*itJpoT>)=o+o)LC~PG3;=95fvA&9e$i^QYe=u=o#MA$Y=uhV983#FL)hNd4 z{%K?~sc@N7AKE{RoGP02Vt{PhF!`6T((nki5uBCX%rCcCY$|a?`YAbH(nxbMt z&ZMqjP;nM}(Ei%JBNQp&RG-S>)!)n67ot>wlvgQ-NYA^fu+@YJsU9n)T;}LIg+7HA zcMNIF^F|o*8l^my@FE$J3K#m8p5&d*8lr-&Ly-{;kzRSFbj>&yY?0>RcRyuHU61w{az{nlc$PiLAP0a{Fbaf3M7_LvAFw;=Q@jdtj;j(Ib5&%v626v`d zzjG|0q_?sRJ1Fj6#HTt->uu)qId}sj9KjarUAAI}t@MW;lqr!Ls?K4Rj zOz`MUHm$*Qi$4uAvKc*KWIu#6vi|`BIRQpCsX^G8Qty;(6(+-DOYTExFnvI1q76I! zWrt> z%ycxIx53*5-%L$0cqEhpRznC(LP7;3WJup!@@JE^#jk?n5QXO3aKUDQ6Hh{C<^1+b zZDTlMn;pIY)IK^V2Z-%r)-9`VJCQcO4|W7LELLD%N`2D<6#Uy%SZuK07yjjfCJtyU zLrO9~eZn|@ZHC$el!;zQ6mAhu$U50M{ytmii9|EJ$}2bN>yMiX*2aytT3vGw-3fL+ zh^ro`+MJZv^6ki4E`;js^mwl!b2P$^^qYVM_DH&?nu?v>P|Qz2y9GsEjd>p3Y$jbK zjEGmKlZur{LG_Icj7Z0a?XyMmu04<3TvFa8LO5As-aKNi=XB14t&UDn80VprY1iw4 zfcC=;pYDNRv_M-Gj(6TVK2|u(G`==_f+k15)A74Ee%9@X`x4AbFcp={JagLQ5jBn! zflt%1Q?l}=v&pDbs67aJx%82+BMEImLO)RQUx5Kc;B#PFFF|7_KNn2UKFj~6Gen-6 z$4@&!w3o|k=UXNiMuO*bnX?+k#G$xIJCJjsgdV*{H;?^FL&*Jyj`yD0|V(+VA>|)dKgmhg!lj=`2QM z!S)B?2=_3bLd1Z9-6tlXG?7TCOMl5Fu)(2}(qe9fl=f8Q^;Mys-N8h@@gE{TTH`_K zhsXL;8B>vC*Q1oap*3;TP?*@zfF`Ccz923;f5UX7X-jk~Jxj4tRjOBI3xaW}#d0;; zoCj8tSqD1_?+kB$Gk&|!Ji)53g5F%ketby!g zjF^Z*r$V^cwC%Xn3Fjy>5kRMkPVjaPBCg-|6+GTIf0M5!GC+@qZ(T_+zK6!ak+b}arKmOs3IHfg* zk~VWuoWz?l#l-SlTX?-E6?%YX?&PnRIz3`S;O7Pt%R10ruP@fG7I|a((+8$00Vmc7 z%e#e(9e1aSTD}}w^0Rae6axnqp@qLUv4ecf*E~p_6JX?rKX@c}7Ad``fDP7viheF}9iP6=w zS_DW*XjGOK5#+3&qvmqsY+{$pfVPqYws05gC>{N~lGDW}plXxAWazOFektLL9nXumt+B){+ zy~5J1LOV4qqW1M*T|=8{ucMUJ!jt&jf6;oP8gd+~XYwjihA1p#5 z1id%MqR9$c9XupUF%lu(uXh8O>6{4FGKh@ndsDP?^;r|N9NWKV&4%v(I&P~s6a8vN zQW1ehF`N%!2_j+@)|y|Q|B{CkHFnhJhAcu{kZ-b>SXgsRGUTC?Q5M1{B^2TmGULS* z(y=uonhm!TOoWShtHtjbhyNyTJfmDb2u5W><{9X_(CS+WS(lZ=Yk&JE5bs4fB2F4k zps40W+}piOI<&R0k%z|Zgt8SB>=`m=Q{T?f3@%LDhf>K_XO6&Ox@MO6LdH>&q$fK1 zl`Exh@TjqE1||l$3n;f0_c~0`BKQB^4FA<)!!SJswHh8EmwPOq*cb5tvBEP` z5%wT~F3+rlaCjAU5-lZ<2f^Zbg(v@$h}RXE z6TI|cD=2DqQ3^&B?n!HuUP%7Ozc1W0{Bvf9&eNJA_i}XTE|{vYSly;Yo!}bx<2FHz z3c_YSSdH2k3!)u@pPsj*V!YgtlvzUeb1w%TQfGO}xq3zFh5ilnn8!+mY@SQ%D2u02tMa2jgR-(X> zItUQ%UXl{yYqqYv!|)Nj#u{@bWLy{Sy+*$C5_UQYltx&RY_3ds)GxqS8ZCH{A}u&Y znsEEWE4fYdD`raYDpc+)s$xHZ=P_61)`$}!LfZo#(Zvb)i7hIikiXTG%hdnSFWs$5 zCE`9sZ!N^BJJY6_hjiKtz(wZVEH+?nBOE74OZ3f}DYs)j#b^~LI5!l4d3SLKB{-`O^5z?m)~RitNai1PjmO=hlL}gp;+TuF-a&( zg(CNutC9dQc3ZqBu7odsmrq?)b6dFs3;`RBSMP|15n%^*xx3yYmwI@0f%1sEo?O(c z&Xv1;QGhf~Y9rn`MTN(z1MAZ>N2L=W#m6dQ()GFApwnJYr0{{L^&(*jw$2vts4gQ7 z_dRdlM8Xy^8q0F+z#_kPYYf$!i)2}}R2tYu>s zlvtsO$GLGC=(k1RI5koRnq-EmkwN}&nWj5DMr6N^Gdmi3X3Q!BDr)Nqx86#=D}Vb~ z%6I`IzG7o;N_HH^8Brc26M`miJ6`W%5%AeyC)670HlUJ$3Yn*!GLV4q2<}<1Y4b}8 z745vD`ig1E75)Sd67C+o;f_f7NUJzp#~nZOi7@0HM9m$)`)!m+7l_EYTv+*q67{xK zPgi96m0PxVrzbL%7ENPt&#TFIbYK6*&9YBlmTJ%S)I8$+r+CK6V8kUB!iE!J)t#>x z0S~^5t@rCZZty*Y$_{cC;GDq?QCUxMRN{M6e8kI55W9B-J~$gOOGK0QGG9;5n_Mt* zJ1xrwP#B*1PzqB0s>ibth)$r<&6x=idB+HQI~5>7x0R1?cHI^1lGy5N5Y4( z6tbfx4?(r(ZWP__hLfAi%>Rr1ZHHXV5YO|>Iu&zVg-=TW8KH5o8l2(;;kwg$AV$-c zr-mi)CI{Oo5Xqk$)luzXIBGucSY_g`mM*A~1Z&zyN7`^s)|2uN_!eRnJrQV}w_UVp z?!1<)lVYsXz0{cJH(YHJj1pskU-%@RNub2bAw#G@rA?{6anAA%P{3DLd;6&o>1`o4 zmUV#wpv)$W*Ha~xeh^4fAZTD2-|zvoQRiddWuCk zWhAuM1m+b_+hPE3k-UfY@&zhU7X?>OZUshb;U0E8S*-NS>e-e+DJj0VaI;Pn~_kppj0>X$VyWWuy3>wGf^*eJSKH zrVJd#(wQz~pIEwTM_SnaknroQ{EUhotmrjsgUgX}mXrSk!~ql3mHR-;d?6MP3hG8` zJrlx5`XKLilJ~I)bh3AA@9$fuSkav49%X{eNZF66P@Stu_$fP{PiaF%emIB$$?jKq zVmxa6;LC>;nwGBpsMwAuNLAI)_UDK;r1=|Nnlk@O;myVB|0%q&QdceyAd+upM7$v_ z{8kunxeeNWmPAQh2ycE$3{*2|!X1lWk^C~Ak}(;|mOKB7V|iP@;&e{E+m#<0CMnpN z!5yZh{RS~d{Uc=L`3>67Pt*sw)zYTn1(8lLek{xki0!&~j45uRx)3t5!@z8*X%L)vdqWe#=&EM}o z#kO#~lxbshv`}A^?iAJb+CV3K#Zf2vgLXu;;Hid1R3}*uPr3ZP0|Mib1-$h$G^+)R zE4lJ;>wtt$u1Yb6O4j+Tyms=sRAvse;S!cx&`0a@CI5Sg&2OJCO)DE{XaAtD6J^Z=o+Xa!N@*EpZa4e5?NKIYVy zl4PePH`gWr_4jVt@Chd_QxonUE~tcHWou`Y^Gt0g7t(!QGIcdIA@ThHO-ClK)jOsr z9=Q$-9sVJj&IB7^{~#j#lh~BLi@o;ptp10TW|gl|a`z9ye=yxYjgIzIn=S2i)JfkP z`72SVFx)Eq{Vuii?fIifYV(h!%j-4)>!2n{`+-Um?kfn?2o7!fO;w-JX!eJu_E|g0 z5N}p7Ag#w=4Ntipp&2*JQSkUIe@;33wiGW7>Bcp0wrtSP!9xCBUP&N;xkiLZG5G|F zNJbxPxx&vQ~-JDx~q(1!jZ6RY`jXxvSDej z^*VTUCp?^{>>%RdFL=4%^G&MUD~2e^>3ssi)!t-SoVzi{1n6&>pxoEC5a~f}>nEbl zLsCv4nAe+m8S+nUE3&EClA8-fD!vVQiZ3_*W`#w9PJ$TEj8pP>#rni?v|R#2ilY8n zDR)+Ew%FAF&Sg$cTfQ@J@sFC)CeZqic-0g)u46zJ%(iL5TE9d!7*R#ZISR&|>dWu6 z6xJxl-?N7peR=SCOGw#2ReQseAWnb%_7wo}O^i2{o~Pfwl2&W}tGcN9mC<{cqcbP)$TyIzzC&0CYG#0?R)D*fI1 z4dMdUMwN$YoEgj^0gSbJRrsZs^LDjut;Wc;Qq zKb?_zUOD$XOw5MT_c_|Tba5T>xJ}fQADVH_r>E9<+VZW{?4Va-c@1%Ncgs$At(BW8 z$U{FvM6k&K=8rl@p(EBFtX`Ki7745u9Cb2i-SARSh7jZuu%9t-Cgq0f-=$kA_}?-TO5pr+d38h@mfRu9$fGKo3kcEt4ubKNk!jLs%^D1 zz=ig|*Kfie6tux&1T&auqYL1E>{V#tbr@mhq5r)EArom9O?c{|n6V zP`|67E9P|t?fD;|q{V-$Xa3u6si;yC+otZqV=ZBNkAsaiu%}@2G)F(+B(S zx1^H+4HK%5b2yq>0jS88K;g0Yl%#E?7vzAYS||tBc=-aY(SLsh|Nad>Ld<)t(d;vg zv9Yps+s}{@kiElLd-hdA7enyme+I;VUARAvoJbIxf>thlAoprE-=tPY;fQ(m$cO*s zcPAkGT?v-mIkl&avrCY8&T>XdS*jh&iOZJ#FE2KerPSyM;!H~FM8?g=w4e=mh}mb6 zSoi<;xoN3YD3aS3atV`%h=>T!0LgGgu>fwc`0wxkpTFTi#s&DKg~`zN<--|iC?aBl zw&awU^o_CcT!;(xnh{3x+fD<5ZioY|3#`t`JD6|#d1 zwHo%uc6|v<=5V@l+l{;5*oNl*oB*QhscV7D){r@}vz5<^sWObwnbgsY?Zh3)+d!0* z<<4)@+X9FpAP@|I_V?iU7d6cG=9iX|TAo*xLSgDG)V^7)-dPg5EN+1sC2)P%Ki}%> z0I^chk*9fdpGJbRG~|sj4Sp5_a%#;K??*~s#}?2vOhv<^cSqspwNaSxd*H2Ff=CiB zeGgtGN8Z^P9hUFw@Jsr7FE~4;Qdz2^gem8B)I#iDsNB`er}2G(@W@RRqY=MnLq_OU zPIyw1CQj&Y<}pS%Mg&pcxM6YVuYN0?YL{%grw@x6*#_V9cebanN=Q_9^nGcnero*=1<=Izh;( z*d$NWq~SA;pN4oV!LPSNBh30)iOh(99{SDS@V}3m0VwZ5Tt!yn?{0r)b9fqDf158f z;4J|f0S}-q@BlIZOZm#ttsg2mCwM+z`IVqpU&RE9Emc2F;cJ*m@7A+$nK($jT-PmL zY_qMD@j$NG_&%9l@_v1wQH(#GsIjNMbN_~IITILD zDuLW=L$MS82*}H8hCzsK*$gOiD+6&6T>t0#wfz>PLpty;yjAneYgOcEG9xA?9smqP zb3TuRe2OiRj6X*Y|GWwo>v!!t`#A6uWFxlozIq^Jd;G$@M~ozxKH@~6iGMEQvB1=P zorA#fID^aJv;9H-1>vdmHl&6$BH3X+ffla*w|2!mlIOeD_K!xJZ#-`N+co_(FlP#l zvyZ2iY=8bZ(WbIU+Ot&(4tmOSkq;Q{ubnp;p1Bm5mIn~<^bIo%3v7uBEgX5Owf6Le zDw}sCIw$q~;2}!E_>^j_%*J$7{K<{WhGWj?U2{}A_mbYx?jx%-A*+U=f-UYrf)Dr! zPKPey8R*s?UMDhOB+U{bGS^j?-Azt1BW_4#DN|US0fpyulkKj>+CK1+)N1kb@jVIT zzf8deZDL;M5kSPSRc87N8X7aVcJMG2;Ipu^eFE^Gnaan&!IA=xy0itt28|ds-2%HXd_CP9Up_UE4kvLSQs8yS~V3@!uu`vX|W zO;24e2+8c`Q-xi*o}&j=Z;4_c|Cq8!C--Aocba3Jm6Uz<0W+}go&Q-$tx3R)@!;m! z^uQII28{3L7UnBFW%(IuSqYyW#Jl((bD8nEHiO&>pG z0~#iC_^JRr7zKtcJ{s<(9Hde5&>QF|G|ITTT?ytx=;ivLjEC$;o%N zN~YjTtM`++{uZ4E`_j_F*PqeoZPBo`Tg|aKYeSj*gfwvgtI7eQXxUY>{j<$W*js%4 zu6$2_M=81cVG)j`R^X(5HdRY7Cfn>^QLcsMAY@dka}=FMW16j$*Z$Y4OMIzpn!~9Z z4Q%Q^P^=7|2n?g!w3Ud*NUovYT3$ZndH*WD{&dhBmDvU92lUUUkw_Zz^r@B%o1kcY zBm0>TXq6gScAl!#MZ3&+jHS*LT_&%*)I~AjG^IXjl|hWpM`T~j$yw%fb<)9N6>qt@;&7`5qh!2z(Z3OIkGeLz<1PI4lt-A-`n;O#MeMWyY^7zEA zMYH?0qao}Ti{a4+a>80qYX!Da5d11*N)T6UC&XM%Eh$z0%zXZ7OD0I5{mk9xX3d=H zMmmfknTVAfpp0qqvaE^*cW!*poFpik^M_c*MiULi8j4*(;Ln0np6AsQIt) ze14ttvCo`c5Hsy(%XB#l=uoylKEepF7{Cn7TJ|YvrF{j7H2&0jf)lA%8AHpp(bAVE zYi(Wn!Ks&atv#xDqj1m zns=7pZ(FRnMpGl_>5N}ZfB8}9!%xkxGEg+!uh-}3E0v%Eu9N=LE)(xj3&OmoOg`x4 zK1;T%Y|V34h(TRpQ-U~!@LAr~-8CB?wIeIZukE6;2ctIx3OQ z^qj%j6n;pkX>h8J2*{w=1eTVHk~hP%aBKd4ZeJmSRzepy74&YK>}FNz_=BGnt$ECd za@p{svq)F8Gni}n2Z;JGGM30XL-Es?u}ncBV`|tRv(|CqF*05L4 z|290q82DshDT=`^LLpXJ+_|borYDX3Os}A zkNv(I6FF2Yr`XU>BjtU$2Ef1~P7Ii)z+KUyIq+&QiI|3wdWi^yW0u8A)ZO&Jo|oPx zT2uHH9v&Apq@S}THNeP_5U?013^jfk*%*2zVPh?1J^`!?sO2$w{u{*Mcu2UKMWXXJ z3nx+g=UFpoD#Ulqw`aPQKvupLe+N8IKbEfT;ohi#pBWzjP`8=(lJk%}9eaf2e#eW5 z+(%`Un5*=MRXXb#4K$M?uZ#L0vq_b7BCY;1q0wRJD|v;|pAr{Z-`j}?e@%azDe;Kp zm!B!+Mm9&ip4L&jby1Q14+}sGDarwHiw0#(;x&myWnz%R>lZ8Yy!X?Jm_(UB z1^sg(Q(>p-z2#5%ip5l^zVTWXn~@0q0J9?cCHI3 zzOZs1e+A!KmQX@Z?HKb_Xk8P&D)q6v*0#&1s3rqu1sO5Bn^~8An>hk7z7mwQSPWF+ z}t>{EZ?yCe4r|)t$idl zp)c3e%nfuC;AtoE6Kk7%)uCZk#?X2W;9CTNCi;$b1U)$8!R{P|P~~}c9HV(oAFpvH z$F_iQ&-@2|aS&w`lkIVNLwpIP2s39X(fVYYI##qT=JOTaqYQkG?fc8DhKUhU$u*)o6b!*v?78!)Hn9Kh0bI~jL z;mv?CZ>K-Z12`EK)gY-IT#s-&iY8rg&V~ymer>}^jtL!-Fp$H&fTzK?KoEYPSZx}Nd6;PUBEJyU-|ovq=pbEsrXGwQEC<;V#n_lhQ6~w{OUTz zj|j1&uA6XEtZ?GMi)O7KTUU+``YxZ$U(#Q+9$Q568E&&1Im3}V-Xo&s{Naz|5qBiN zU^PmYAG*V|)0-ynRq1}+-I1mI%;9tTF3!0SqK=4=YKyO6O(N9qSV4rW_luGw37J4ff%?Ay=GUX5@OkoU_qC-yq+^A;4$R-<*7=*s(>6Q1xB#WQ5Ye{v5jhatVlxe1TuQk`A<&tURidZboy ztNEn$GWp4lrK{>)l5;*lQYJF~}FK z|L*i2{(M)1;rvdJITE7joT$;T-QkoMdr{>SXV7;JI@YvGq6px+y|y-hv-R6m>i%i{PsS z2O5T{VH#0}56K ze^{9TS9pSoGCr~@B42)AaSbE)g`uD^F8jIa6k~JlsG|G7`@>mTvBl#;8+8ouZ-STe zp0%Vv0gG`CgB=&huWd5%Hl=Ick0gF*p+|f#ycpJa(2ha)M?BzRDkxdy^2cbh6Zr85 zKEQjplt*RvSOx!85XQ&#-49Z2 z4ph{~-3RY=*%woBKN*FIJ@(U+^tSud5mfF5?8(Gcw)1d%)C&I&ycQ4$jrk$XD0sxh z{>-WQqRLqHdeG|<)>bGeFy91RNQqD7@sguXoGj-zDNb_cvWT^67B* zyK(4OR_y2k8?2ZZm?OY<*G_4ex%v3-Ux~46#h)thfu@1%?=pS!^~U&2P>@cxd$U%nzq${6ci0Bi2aZKaE@1*TT z#SDn?(EuMCtl#ChtE+zdzOTX@E|yTfw$|<)UH`I=Br5r4#j#m9uzscaC>Ibn27e#z z^{;gY?_(%a43*svohDEn{v4#v@s3GQ^08!PH^sRG#0J!4%Vz~vnWeoN7eY<*cP8HB z`zg@0uKTud(!u1L^WMH<-**4pemQSpsBM4eID1f;Hvu0{<5-9*=hNq;6KRe*qxHr| zgJ@d}$|>_+xI~FBRyUYEHnjiQa9%)rrAu}%a5YV*;Z@J2j?K9i4Xa>UKwD7a1BO*5 zL_&lmT57Dc!V}f_M~3eOSnZk%-yZBF5pC+Pwom1~#pSqMPc33^t+V{qL_Kl^!RK~Z z`G^J55XPuI&KCsR=N&^`I*>8Z)@GC$&h4K9py$g`=lprc_X46`hL%^3KKG+~M~ae& zRj*cFV$KbC=GY57j``exifr>;%k{?@5dSc!_VU@A=D&BIE+FzFjV?*6eID4A%|SC5 zeze;JyfFUhqL(S0ZS$a;1NQ-P!JS4f?V98G8K`0r)Nr7TGkQl9cu_ z1D{)nsXguGk*_=qL~7eWF6has+63ATVDg?F8=d)yBA}29zqzx}zhhk;GF8J)hMBy+m@f!Jjy-L;{2s$cz&3^uWUg zNr9Qo?UPP07TJKd#mB@1|4i~8orWf-yg>JCptG@6)UCY@zXWkd!P67>p9&x{DREUn8A}HqUnu;F$w{xo(gt&v0Hv!&(JflczCurc;8S&;TC0J}BXZ>{od?mxc(Q$%mN4 zX4t)(yVWLveCN3eWGfc!j->vm@)^MgwZQX}4u}~ZV{uDtl6xBp9tvS%d^D|rRBUi2 z*nIFOCe8Nsv>JBh&)}Yejv{rdK={(p0YT=vCw@rbS9B1gxz*6_kewX@Y#D1YE$dpO_Mi5?zwCH@X=!<^WjXp?{BxM z+s<~-xZU_{x{ zHl`~HCzLTUF~iYpRIT{*a0*?K&HPtvf;nCQQpcuCM_uxBfyhO0+yOs52&r58CTJY? zwzGf2E}lbab#0Y4@_zBUrHoN@f$H)JleJ;c-q*%eo+78PcE)xFm)VmWW;FCfx_cy5 z+57xE1L@$zI1p-{RfUgi?y1tS%WH)zuGQ#+N&bGj@(0yVFOAK1V)t#{?c2l}bsR=g z1fTV>SL(Bc2Zhe^93JZmIyggh40@Rhyl}oY{Ig*|4*p0`;!&~5Tjnaq(JNo)-8h1m zJ3h_CkpJCZc8}m9gNzTqtPd{HIWK#S8UgxfBR-&A{Qy?x?;F@(nXUn-SM9@bFaB9o z)M*e`95hCG>_QZ1R-8dYk@+QfpONp7@y{jXpK0Lrf3UH3WWe0>PD=`(jHrrBE}F-C zLF|#_=|OMsPl3Q%R;=0PXmCw?Z$*D~!(eu;Ahx`&=-Te>{@M}1euD|(8JHk$t~4vh zVr!=8W~rsKu5jdpogklG7+9QNra6A!krfkyTg}cQe7!35;^hvO8#c+Kl)v+u$5@S3 zTMShHfgc&Od<@i%$cZwd#Iy&fE7z@t$#U#8k#&#|QoVZl!h*pjn-%e~2U@b=(ra*y zxjPe%;E4s#BO1av398{S$Vte z%ktd1fzhTPoI@lip&6qplm=XD2ehYw)pE6*i=a0+=gf^0*x*4pfW4!gP$u*T5$|cu zNJlt`U4h>rGDxq$3tsD^2>!t)B6~C!KD!l*(aUz)7Ek5$p+V552d|j}ExRvcv9o*P z8wNOqw1}n4bP}4jx1z>&#z9%E^yGuIQ`4Y!4n8}+-&ZlQW_`U4^6vIo9s%|+CxJ*$ zibMnWYy>RwD*L4uRV|w~;oz^W)GTB+p4AAvz%-WcaO5* z?+kXY6o_71Ie|RqB)=AA^Iuwj)D6lzg~?~!kMBQJDh?&_vjz=S((sR2A~7P-oW?*( z-3jzE_ZKG&0u?)7BXgnU66`h2ef|IFdJDKHyX^~DaMTe*hEC~FX^(NO zX+egP4(SjCL1~ec?ndeEMsn!<&ggsZ|K9t3pTCjcyuLc~%sl7pv-jF-ua&ziHdwhH zvpqPJ_#&VU1r}`5DCujYudMwZG3ESnbf~cz9V@X2E{+Nv?Z;adnnKB9#Ty6yvY!d_ zp3)?AevrW2c|==C{z&nk#dsGT`jiIRNiedcSBMA}ZTCu;a>8B3jNv;@;z>=G{+smT zbPS(KSj-m0bDiIM`}6cTf{V63MLAh0LzfAi+uuie7vn_#iSKSpo`JfmP<{`prh=n~ z)V=AQ6?Whg<2#00E-dIb(M4o^uz7?_ssE`B^*1~usmcbUEN?*#v9M#HR?t74QzdE$ z#>jgX+y#>XBW?5f$1N4=C}Yj{qQNk8AkIU-TyN1Bi*b@m))V;p1_}lOH?7cD@m#A+X||H~yP^Yt?jZOLqiMmw ziWRh+=(a69P6Jlq<+GmOXngvCOexFzMmaFx6xv@sNwkc*7HM7!aI2t zx0f-9a90;Qh=}e#b3gi!hl)5qU2r;BhE_(cF{g#Bwrii{;@_8z)5-MHGVHvsV)EPh zlGwa0$2uR7$Lx8eIO9by=y>{kWoc4s zlJm_*X)M3_IYAF@DrpaPX;M#WGh>pOa6;11697EOh59fds*Ydac{2pDEAn-+WFM(M zBKfBb1EUf*@aZA4_2m}Z?rxb?0zV^Jrpp@14`K*I59t>SV=wW><_H*%Pgix_%&{3tIU!)~u8(4H4r zkK8*^Qh|J1tZDj{nL?f;e>(oyNXOqY4`-?fOEO&xX1mfCG_d z+y$r@cH1}U7qTi^-dFo3g@0`$qW8i;kAFWeaU^QGVsIrX z;+;qCs9b6fCgt<8B#!UKw8Dw6ZWRExlGVY`H1_V$%U9)zoVA_guEWwRnRnU}`x$zk z9M@cgu^4}%2Lv4VVR85V?JEcT9=TvodZBYxiOZc!7H-rNchNcT?}zWoe1|9-`iV(Q2a|AO)E zWyaU0cQNqpVbf+JDbE*`{}lFKG?C)XgX%JfCvb5LdW%t+6ZiP7 zZLDxl*OF%wJ@mDvVqXt$hn1TT9O=BZ@L=1u(z|{X{g0R!{ig<@4T)8k+(lBBe|BFjdI`hOmOt^aI6~`v$x$x_H3&EBAT5 z`WYQ&I#eS;uv()l%B(_OKcNMP&XWGkh9j-S!iJ#$T5ICEB{oI1^v&6&m9kKb1@OXwKLp#>(ThW)Mtn)LJVN-{Sm!oh>^Ivh> zNnE28zq%EoH@xLPrs{li^aJAYiYnQo67NM_AY!u!{3iUEaO+rZ{ql*9Lm={)2;@@6 zFbwBac*YEFayhLj4SteFUTH9lF1B$ei}fdPG-Ft!reK=-QBod5W*6)y+a)g+pFolHkN5~J!!lme1ipfTJ%2)!_uF$%U^gGI@54&PmaH88md}ZLd#1s zjqgaLEj)KB*&t1-_;|~dg}wXM`N;G0Q_GNSS-jn*j-6h05$%B#d_I~gCic{+VrdOz z^4y7!hu$f}*m-&7T*7C0g-_5WwYp^=F+`<*pmFySt)`!Cp^c#@Qq{ChT;Fp~QcqLd zd=pqioC2u^6CllPg9P%032(2E>92rA`U>c^Z~;k=l=YE<*2t z+mk^R-T8!vX9UqOa?i!>TH5e6khV@jsXagpvtL0xjpa(d2tiKLf^QHwe<+=xt0OO9 zHXC1_)96Memex?n?Wi&v+)fg!)mf1~if}9lki=SYJB``tO|W}K(x>=i5i#>>6)T=2 zqF$)eQ?S5owyS<7)jAG~Jm%ijp*9__*$nrHyTe8EOkOgRAJ>Gs-sfMs$4hT*QhJmn z9l&OcvEe6wXVc5F%7f{95&!*l*)7O5T@l&UN&;n%U!z_H%cx#coa2k@4?T>&H)G!B z7BdvDmn}dm#o|0DTV;}-D7%GVo6Vy9IP%Naf$9e@k)CVD`ea3s7O13q``=zUasjn% zlp`nETVUI`#H0(9_Itr7igo(0aKNdTZv(Yes{32Ar0{-`>!}9mgolCOs24;o4^)wt z$FmhOQb{Go?F^P(V_YCt>z(145KUC6(4qEJ%GnJG*aOloI{8z4@<89i{FYILZq+ql zdlVdfgY{Bc{Bn)v#VR?D#I6^_T| zCCXoSrPysoeW^Gtmo44Ed%LNu(qih|Uf{17;0?h4lN87`giFYDyNmL`Qk;)hecPps ztKV!I)ZKkz&N_|UuNbLOIXa(zef`$LeCB82PRV0;DRo*>^ zDH$MR$Eq0R09XMYJmV&Kjwm%@b<$VT@p|rG_`&S`{;Np3Xd&z0Ii$d_J5?SJ<;^-N z^5iwtL;0YGtA9+$1lU!+67EEqLH7aul|eA{Lv|FCe$nEz_Omg?bs=~Km|~WTEuv(i zj;7z}Gts>SH!9%u$HJFCw1xYG&wqP*H!%W7%02)Pq2xsN%-4bc;}M1{RG&!K-gmk^ zu!;^*EO&(>9}0^c{1gumGKZG`o)zDG=mgY$l7NgA%dV3S(6B>UVZyw@yq!hqh_;oM z9?Hi(q;%+6B8nJ&db#t~j+9h8DfXEclVs{_WE+cz;Je9nMozBz^4QdCXi3J82Qdztlf=eeK4InD9bOHm$P zuYe0~FA}{TW%m5X$q{t8Et{t~Bt>N8<5Y9>#G$FT=S3v17k@prmE z{Ye;)aG-sLc{W&NX8F^Ouk9vPE&6mqHdUCZnwyfc7+Gs(?bJWAEV5xyFMW8Q>B_8j zsvS-PO6?|ey{9Pn*&o!ueU3*_oCqj(s#YmvEz6{U9nohN$J)aYE&z*_ z6Ts{ne5EYF>}9bbP+rcQ77uLO2F{${#PCRy0PNhC_6Z;M6zYM;MSoYe3? zs2|E19iXLZ(itO>P4T%+BrB$^;<>Jqi4w>VEu&UKlJby;;4kQAO$dmdDnqm}eZQqN z#@WehDs@Zq@nR0Xkn!=jzC5;>hKg(54I}axhmHLl%Fqh_gz_$xqSc+tf`~Es1z?3e z@K}8)y@v8zGLS z&-`hLPHql@$du!9opg`~fOCKUgYU#Llnb&?}$zfs}`!b!9>U8 zINvfW_O8nnxLggCiK#w9-@^0NCEMj65cYVkQviKI?u%G{prPcngY;xr>d#^75Btr% zD7un<`P=MNF5v`ur^L)0Wt?%`N)gSH#5yYYk%g~WB;|D_Li(vZnu9vp@@szH>Q*n; zRy{F*B{GSZ-w$H;~kDBkSD?mt?9a>0A1b{QVBp2|i%n$HNNuymRAdgD>3 zp-Tcy-1Pt{=69JRaNd%-)&K!Oo5}?F1@D zBP@n*jIhRM2(pdFMCp{`0Q&$Rg>(mO2XgdtEs9oY*lUQvozxex=neE zh}%EuNAYsW(pH37()|zKCb|DZY5~&?)L;TcJ+OnJ@H7vTVp$5+L^mnp4tE@o$d0j} z9mc|(MUo%hVWW{LjtCYR=n@*0gHe!P{Pgk;MZLOrKhl`k~q7w$7_i?g7Ool zTCZH{k?_*#LA94J508G^zIA+_Y9z$0GP0Q3wCQJWAjCPc(PaXcpjCny(tV<;8E6&X z;LoaOWTN?UsZ|tqs*hp>2R|HH-oLXoguD9B)>7$LF8jz2Vb5!g1C8=hke;UzOXB z#}|O3A;>do*ZkO|F?BtFf}|mE_*yZw8p>5B$%s=_1^G|%-9T$u%9;ld8p8xAEfKC> zTtDG+X5!u{o|@;0q3)r~kUZPE(IRspibA-2QKrrATw2la z7gfgHueo~$9VwN%QbH|eb%aH1aXb9u8_Ug*Uonry<;u(5##%Nt$K%*;O4tjlYc22| zYM&mI)*Oo*lDgNMgEg8^^iW&ZnaBnrpaYTk2)i4LZ*^#oCY&vMcS6^@0VpwfPa8`M5c;%)|{RO3Y*$lcE-|-$l&{EI?k7yxM${}jNu|T zbr#;otqK&KMGXagCG&MZ+!#NzGr5Wl7X4grkr*ymBFS>>@|^$;CwB&dTZY#vf=0lm z^VQ)ukYg{wA22zv1mhl-A0*usvZe7wo&`CB)WWS6K$BUiGC|gk*+45F8n?8Utn!O<)kjoEjU< zw0z%{8&O6zGn=_bb@AFFC@C49rzGgUH9OgzHv}u**JYyIh79pVjpI8jg{RV=H^C*|f z2;D@fL#clj=HKNh@v#k0rl-h2`i`Auw^wp-s@IMdBSdbufN3w5o`WNs_MwlFfH3u^aQEG;s z>_}G|nlU}o&~Hb5E(2NIjw4Ms2t!iI+2riPy)!cuG9t7+B3XP$gzmxU^L1tC- zK_mayx&#dlYxP>DJt(0OfU`5)GEzQiONLT4HKvJCwdBb;5pw+1L4FD*S`x+tfw7Gk zkhZ;<5e1f284DY-AoU~VKjGwWPys)c(?*ejjp#RhAu}q;Vzxr>qk6AS|4@9s62oUP;ECOtx2IF)yFO?py7Hy zYlTwC-H8ftIrP0r%Etgz`KwyqK2P@9|6X<^of0YTsm8tn$9Ckc=+WpWHI9H4<8=a( zuA7_r1z;WW#48wvKie-{n`jjkjX{RYvwn#HuaXE|v(seY6hH;9L=XwZ!xK8XYP7j+ zG5d8lM+)-xpxjUXE9$^}zcMIAcQ;EdL~`}RxgrsMZWgCWj5LNJK-+yVd`R;BF9L zO8vne3?&2tFruPo696QAm~DW`1@Omt|C$Zfbvfi}KQ_=scS_*48lidPzx>=5obH@k zR8V9Ikip@+I2cqseZiu-3WT%omRXJ72Z^;^;$rK`=LBKi#1q`3V?a^V-s?%^Y6dnx z6rbf2qrX&#hxkB)e4sBleI?w`X_%5ei}X=xbzW*XqOLiT7i}fJ?r6fwZ8U=EoAsSe zgk@5R2?qAMZL&@IxKXe5Ihef))PH-)jRM>ZK?pqVCfq6)@U(@Q+nT7LFuUdye#eW* z^1t6eNTO)xyU6swFz=<98IhN7_xd_f>*!Olcf9P&D*uddV=XZ$viemJj}a5yZyVpW1-|i7C@*U zxe2eLe5_qqx=Jd&0j;R%6DZ8vPxnCl)9D~}Uhgk9Y>qbly|l53!ml>jR!a-%v6qNR zT+cz)hH~WIq_uhp*mLKGK$D{4wKu!^Sw9~(kVg1!oJ}z!%cp`J08M;h>=p|K7{}*P zA($Syg{ss}l#g1ea1t$}G+bGIR?b z8;jHm?=C(3Abh+%Jt-^_x{MM(qqj6qc9ukqQj$bs^UdA(q1zt*Aci_`e8M^H!uA(y zIwM~#2;?(cz%7_^%nVw>ippcqa5NJ{E!3~4gn6#CO4wc8AY{mCO~=r9$Yj%;vjn&` z8+TzNtv5|BUMn_&P7)D_w|HQ7n-7l~W&d5dQ+J*p1MgT!MIBGgC}oOvFn%I{cOS~4 zhhh$zhGa+HQKZ<|gE_#Ruh>Acz5&F+5okAWC$Jk@!0IWy4AWtKD1TtcD9945(sF>N z?$5KJk0y_Be(!g)VFL)=Q`BVFAT;Pbi-vyHZ7<25d;s2McpPuL2q5QR+(0YZYHhN@ z&fqQ{oY{4ny`=%j!4UU>e})%)xH*cw3Y@Aww2GhtI+!-K%y5F|mO?NOb;n#$s))QK z-oXZvK2*370viu?7;a?*j4f7%biGiYiL(PEf1hYW*ydA#TACR#w`J_z7u($MFU`U$ zhZgbI9v9bQC-z0RfobRUpn;;$Hmw)!!O*JPGzg&cAcB{ccb!+2#AH%_F;0fNeGC4s zz%$+=>_KK%Q}S|l)lenfBaDia!$`u1@iJM!*|M*$2~SyWHV_-wZw2&ox2=*Wx2=we zT%#bJOW`G>Ie4mwVIh>)n{BGH2-*Xn&T(uDraxIE4CkR%ByB-GTguC*VkxnQOr%mI zhsr-tJ5K2lHr@zsLi2v*Vk1ry*i$?4E2&Q=b#b)aedOCEsx{XF6i0F;dU z3ZUaAfU*w9drBg;Mzsu28Tq2Ry5o0!VN%cr2$k%+Kf9ZGvB!e^z^&%g!hU)TV83nz z{$YC4*$RWsFDc{d~k4mR}tyCO8mS+uu!;0|?k{y3XHC|^GHYXE6?jcZ772eA8}gUKrbph^BUmysF;FLkm} z&b4`UwlJz?<0|g9-vssLh;1oEbe064tNx2-67s5gDij(3sf5aVQ-j=7S|Yln+5%3vS*>MAbPCLTz)4(lj3~TdQ(Q~-ptOM$H9w=LWi*g=OddmD$}qyVwzhz zhW-TB-MFl_-jpQiWN9=Ljd&!Z+3?ZYT`PAT>&22Nsz9~}z-yr0gkak%C76WAmd_52`w`BqYXT+dmmrQAO-JogkvmOqH@%K9Z-=@7;frDFJF-)Txsu zN^?zOeQo6f!y&RFr}xN$OkSUuD}rd`j%(kKlkt|=(E~6>17Bmiq&kn31RB+l%n)KP zz?bk`5-hKd2^G6uce7}GPKbPRFCv0*J&5bX?VMoCDlsIxhWa4-j!T?e!(vk$d!JK4 zMI@2eB3ul1S7F&#D4AMVmCJ4ant?ETyiZXhfY_H{fo^!AO6`m3mz}+j)V5HP1AE~b zr=UyCe6^9)+Zlom3lhk-&quAZ?U^x~xcATAg7(hJR`>8I$O$G_7QMje*a|lsbhEm8 zhz_iZ4>^{*sf3BB$3eM@Ik|-Ftf_P|;ue-Z|Fc(P?#42oZ0>aaN~AjR6Z`x+JSPwD zt#R_!RM$gf%Z(4e;wC`2&aHzaGzT;U=~H0DSq;GvNcM;hn%Iayd9nGrlLgFYFBQdb zqn|Dr_a^gJ+%d0F?Gd5LF9d}TA!*#UXN{e1I;?`y`=k-hr;8c!A*Viv&GnP3K~CCa z<`F?e4@h&(wm$dqBVX(wIB7CHx8w9DD-f~^3gY$)YIG31PdiniY*2p6sCHbme&KU# zS5Rmn_xnsO$r`0RdM0V)VG^8Nzl$v^sbQGtQ6=)#RgZO z`SehERH37CmrB>w)wE8{8g76*W^xu*+wi!moAaeIysfnbGe=15??zCI$(;D$)DZ>l zjyJB|act~}lU~50XyTyImSujIt(R=iLoopQZEpjCeOuoK6~OFyP{e%3ri6deZ> z=hovu04wW>%I}Pe#5&v!M+PDCdT`6jO&o0wK6YO+x?NDB~@3wHg z{#z#UWenQsDbUB#GPV)us5FZT0$R3(K`gRGbR( z!OK0AsKB}wD4D%?zS{b&v)@)5w&n_PuC|wl6z<{T>^E5q*67J#P^Go^g7zztkBIpU0v{lQSh* z%-n&tYsS9F@*2atofzJ@a54o8=rm)kqv(WpWXkTR@X2#I!^h9M%o49Y2h4mffBJyA z&b!=2wcl*dIZj8^AX*}OEHu9`G_^m>?zDDEi0$a5eY*~uSxp_K-Qr>&V&4fc|24EM zYfoyABtKT;8Emt6mUdZP6d8RpMno`&CVWPvQNCavEuynx^l$3tKDKB1B-T)!yZ= zx1TZG4q0>*ujhIh;r(hcrJyM2d6y%}=<{0eK^Kpp^K^rZ!8W^HU8rM46!H!4VJ~iC ztyo4pZW?}|g!|jX_C^zPxNT55Pxd_ggM}woH!tGvMH@1B3MO?!mqDT?UugN5=ueuM ziv~H-Co=oMJVedap1Nxk*B?|WO=$UcnC(vzIRL@EcAbcK5_#VNX{4revaLW{PPe5F}tjR*DmIlu+%66a;Add~Rz-dVjO zW4dJYBMX@}vZq_}C-z?9jnqzYaI|6TCbTpSTMPW>BmUV&&>gICIJ8YDIaGWGiiK9%mS}k+=AdVMG&I%nBwnqz}5Kp7+A>Hjiq}FU<;u`qpqQ__sr1bM~`l7;k1nd%EiwtS-kEwew7;tndeLp;&7xZD1bZuN6R(>c1BgG>yF#=!*Ffg=%}C`P zU|Xz@5PBIhAKdEZ9x-eVAYml@wJh1j2@fSkcL8>&3mT=s|JeY4w*mM$0FbUc zDe5TJfrZehsv0W;!we+}*_5MFu!0!kc3&H=kF1uw8=wSb8dGWbz4^B(>75I*^H9cn z)P5zqUjwDTy}~Cn`$+4_F}zSmJq9Pim|-1AtS;#bFB(Kt{8YtK?Gq4k-C##-%r*Mi zT-Y}*2J+tT=22ISZ4!9uy3XF$Dnk%9N6*5m2O23ECGzV`XsF=#>7neG<6HIkn#pFC&>xR=*r30aM#}o&G&?}gT>#%yf zJSY>TZL$)ojIHeNwbx4IYh|Fzs4q@z%31Tigt}!;w9;f}rq<@EUJL7D#AGLrx<2Ii z9VTnBBw`WRZdl1A&{2rDP#Y$Y8$Y1<*KYm0l!F?YQ25qG?a6YJWUB*Rs!RyL&bTmC z?$P$`V$AO~Vz%g(coHEQohO^&~_cy!%kG zHFSoM=9~?qqX+ZM#Z?w&DGpMv6?kjxTsNS;z`=!$<&x9JgpA4PgEs&p{pMp;pO@US z)e1^=01$33f@)I%XGGTg(IzB2ApY}_>dt?mQXd)cK$e}CmD{d}8_N2!ny%JjnZW8E z1&#v{yw-wJQBaM18+Tm{6VG{`8j2-G$GvHEk#?$S60QrR{Ntd)iKgYi$oop^@wF&= zJXF!|@FlImT$EA8FmsVt-0b2M0c>dN9Ky01Iwc}Cx}ixTO4mp*EJL7Nyb z3FdgL#1QU5BGExqbu#`DtoV#e?k;W#iATi426^(bq|FR6|tP_>w%zZY=* za-k~{h@d_trf2~CQYL^7wKw4|?zsRK)xZVUPEYHnibSjY&_Dz|N^04(3PpFjeDTcw zT?LGdCdKs+fb$=SASd3#Gyl@WoB-*2-EaD|Uy;AEEAm-}t^Sy5^3q^44<&2ZsM59$&rw>slq zhK|R$tfa>Zf3jszCj5OUsX}9``78+zHDyB^tz=1Os(`7RuqROHi~H^;AJ$`vWN-33 z3oxLKjb6TKB)AkQ-UL!gJ7fb)03lxpn#>L#Uhl-n&6cXf9WQkeTe%f|Iipb`fdKD_ z&MtE)8?f^6(a^rppt?X3AFE*x6$Df+sH6PtxuCZWoGu8~v8jU-`xqZ#6m@Y*jAo8y zhC3@47C1^8C_~Ms>m@UC93?;UL0hbH38f>3pP}}6$McVL%3%X%W|Uv${%h5u-k=g1 z3*jGozZw3e;=fh^6*_l-Xy?U1mFoXQW)$k&M60Ay4bz!FloR@2L>dj};Y(Y2*uSIS zzn@@4iw1v_AYAfN&iVJB{quw>c1S%=#_Qhy{`p6$yB*Eykrk4u|NAb!Fx+A4WfWxh z05B9DOe>;3XD+)hU?m5F;*=#Hz|WmLC=7qYX!FY@lRTnRp#zINBngILE z%FAXbH!9soXCnJI3O(Eea-|a^Qi*czwEtRM#Vt^}_d>EufMnSWwBpTg`~V|!^W`nV za@EC9d|qFGmoU`;RBayk13bIG1pW#%Lio&_4}eZ$weE*axyqk@f5=y=E=BeU2A11Q zPEaEzfb)k!zFR8bp$CH49{_;<1on;D`nTp&l_kM!8z}Rvc>sT4qMR^K0HS;O1kW7| zzUJR$Lo5PpiRkn5)FfszGw{FfKM-&#HdX|7hN7O-?AIrY*n$DOpWZeHV3i(Um=Awd z;{)yLEuk$`;$#Rq!=0}objv}?|BmSm(TtIrN=x0v)FZ5*c=U-6yF_`*x_#a71r6yk zTJ|^Fx_DMPHf3sKpsyrPj`cv`399pC2=uhLo(5<(H#;u`GbYWs0WR82=My6fkXt?H zY{Yy6Fn~nf!liWGS`_P*54c#OQ?Mhbw`hoU%B@LeToPpSnT&yLpuLF<4tz-E8%q#2iM5;4**{_dpgwL&4%w zQk3)dj?TBm37kKPDr(`qMjxgr5WyDL_c~M~aV6gzEz(~bFU=8R{_rRt!Ha?vD*@*a zY54{2Y!PYq1H}B16dODhX8=?M@H?(#6`X?*k^F|r#xUFuVLA;CiX)|@Pa8%|ecW}e zE{5F9=oU~{P1<=s=%af(BY^!$sjlnL>NECKW~*{Bobam*6c~NmTD-FYp5&(5)`OqJ zByY~CIZgt!ttT%|hOX&zvaMy{o{u4lwCP3Szm`ea&0H$aNzQq7sSi+=CXfml%qOF; z!qjJ)bb8zqFM-qZ))?q0ZSAxHQYkUdg!!l9#@l2Gj1fmT=}-|dy8k;co~4O?2`s35 zX$@a$p^gfV{YkfCH0L1xeb47b;*rLq3OD4+@~{agPv!vD3iAe$vSuPp>k=H+<_1uV26qb#PHw(0zQ>EnWcJ!9q_wMTzJaG6%}m3@iW?U-Ljvw>|K5lvcfm%?y9NUd$@tdm zxDl|&ReYiBS)K*p7CK&>>>Y)@DLgvmsR6ifrzM@(9NCpo+0a!^c#&p%wl@(Qni!Gs zq)`Zqd=^T(6%BhA1$F4Zhjp#Z`=NNa{s3_;*)e+LJiB>%dL=v)PR>8jM6=g1|CH7m zmyNjHn3kMtn6qrNeQ%{onoU^4am zVQt|LtP&?(9}1w#my4i48n_F*rWV+H&I9=X4rNJ(a?snHNkSPr^kQc`z=gq7I>ce4 z-oOm~-RNOCUvPOs`T!7D_*w02Wfho(M(K5+{JIWv_OnO*31K<}9Rc@wN! zY!t>?2^tq$0#BNn=?t}r^+fsDDFZ^Cz=*v07-06~huU|6KJ;KyIbTBx(aQH0nq7b< zmsD|@RL~A#M$l)djfZk9urxQf-+VP%_%dc*2fnnBG53@R`ysWd>%)OV%Dwf)Mfa5M zsU&culkl!=oM^sw=pE7j5PSo2;n=&we^-oMB8rUqoo8P;utG2HWJn$h$)fZ+J1F7* zp5_(R&w}ikI!QIUBCD?_;HWX|G5pkv>Y$86>cxrQay>SpQ*JyV!#j?z_jO%4y^Q_~ zoPu+h*$th(HO+|*uL(5fnaHE>q~#S>cd5A3s>A5vCe+OA6b;ZH5(be^!`Z3DZVP1v zaYkcBZiPV}BDiSUVEq5;!y5wDF$PG*B8C_5AdOuOmeAf0O&?(X07)kcIjV2%d&)?> z47WC9^@IfjfV$Lafjphv@ZDWdf5Q{N;WR#x6MC>va>w^_$c+hF#MQ?~n*to`;^uDb zCG^77BH;T$^!y;RV6yfEp)fG@osT%(zCpK3#k311_?_H)DLZ=Y>IpUIo3Cqv>~(0u zDl}OO)n!E_s4&q6mW=7v4ZJ(g?Z-b~EFP2)#5YA&1h-96d;raOiEisEF7-#cP$5=B;3*!57sX(p=xJoWKe7^mTWHm(t1 z%QT`zt-ULxvDqa5SHa=iMH`v>GH;)hDK-vnOn2GY{-dp84X#V=v@2%l8FLASAd=(5 zj^XSaZ|PI1`#MMiHSW`%leKe_V7pvxaU*+C{Ci{v&N~ThyBgab5$a$xY_lMV=)3k5 z<5L6lg7fq51rkJDzeQ9Y@Y@_*qb5umNAtC~-aC?7v{tbOMAm{v<;`wJD$2q61(!Hj~{XJloJf_!S(P#zuGY<7w)N z9fl2zhP(*b#!bB{{%l8o+MdAE!5K?#~ z4GE=pYbw3A{&tbUCVheBo2ehj(uR-8UBhzfI?6}MhA)P=!(1aooZ$;UXb(our|QM7 zQR~TD$OsIiLzS(R2LmbPKdGA{VN@vR*AIL4K{#p46dZ-BTIxSsZ1D7F(gN+zJj#QV zDF`_dsI1)*OjyZ_UNmF+wC{tHl(R5&6?BBlEnRP^l>VZAzt`8A`J_x?#?iJWm%W{j zH<|r&xIComnU7MVQ>Wm9%f*faxX-IQQeQPgx|yoeH>(M3h@w{X*IsN40Bd+5`lvE`JvI9DcWY5-JgEESxM4cD`6%`&{|0<)jpERSV2nCK~KMAUo8N~i~C*$ zX~5qA*S7b)cb)pFR_CzJQ8Q&?A-gP`qD{mc0j8TGdcrGbQ7yjs8$H>^Y1HVr#`40f zZz=7@&QD|yI6!Obvp%%Y&* zf0a2#`S!xlFp{-=-y+261hGl&1B1Kf!=BP{JUv;q0*N`NB4sc)d&?{sBQy_&!MI&} zQ6oD@mzSWoXOWzJ-*HIAUt^-{nw$_$> zDbKV1Dpt!&_lc_rQQ;Z24U?}#@vY7(5$7JW12<=nUm*A5E-O>Kgf;3+PXk*m6opT- zSVBtpiZaSU;TH!-iz^ui1P4MZ>5lE5_?Qc9B+K>AMYs6T<+Xmz;cJ1_^F1En?VBIr z(++I?YH`|Z-bG$Gx!aJ0KGmp47<^Auau!7@_Pg9qw~LtbCuiV*daW@0(A zO=dcMg=e-DiF4k+a>dJ(Ucme&7;O`t?|4dzT>y%1kEMV$v4coDAMTWspEz=^z!BZ` zgMayjAzOszCtqEpk$F*#%?j>|#4hCe+s}?f?=o)wS4FC{1i=la!F~_YTZOqYx-h2; za2VD0Qi?~#Q28OKuL?AUy~K-gY$FGGz&iUW(e*%#s>SNuG>}ZnCr+5#_ zbPTkW@{a#2T0bU0=~lX%)#Z<$d7(IxRKBgLh>!242Q2>Ybs|5A29sNBo#p}-;D3M^ z;CUReZ}fmJ(SPqM)YbZ;(z!{!JbANjl;_Y6J=^?^!&nA!vNc zl4Q<+&yCt0|9*%%;66+gsjrL)r}|se0Ya&IN`+W0;eUMBe?G=HfauB%hU5R3H$4a8 zv+JIpF(4gc3V9se`>jzf1oT?w!N6H>-uV7dcB5Astk{DN16`UnLYU7Q8EF$ml zN4)5>c z=KJ#vH?i*l%nAdLQ17|^MpZDoE6H{N0EB3h7;Xv1YetzfDqvFz!$V2AAOCzlS#ASn zsxM$brhBlVEZuD-an8Ax<#}d79E(oC(bi<(NP&)yplc&)RIC^jqk&b9s{tTrvi%0> z(LDITSO5pZcp&I_NqR$4IAY1w~c_x2RUB-rI`_$$=8` zGHk};z2{2mc-SbA`M3#cTj>Fa2b_0^qKZ$tu0`K z<7CquI;aCRrvc4%I($CrQyAzq2;>9aVW;C>TPkQcxPm{QxyPo7~y!F>SEVXb>H zV&x$j9Z$t0YcK%VmAeyGMYmR_-OlwQY|4dO4!;Ai0tl+g13%qp+9;pg&%`tztQ!%v zt5*4bvV?m7Lf!B&d{wY@&iJ4E4>Wq7&Hn-O0mL@k1bkv~K^HPYlsGGdWkL|dMIy^M z6KY#Pu`8s<%%E6^prZ+5Q`sw#ZVHFFI{TM#59AJ)?dYJW9#t=16a#J5o^v1b_ASWvT02ahGW@6i_NJ@+BrOMfh7GJ<|5nLzZ$; z=EgQ!#&)bDuvEHulW3}HAezb0mjl0g*L!}K4MHZRAOF%t3)5>=$aD(3Euj#5$N_n- zK&drx3u(MAd^47#PEF(Gu-Md|_5LXpuAlI~5{!>E5M0dnQ;kxDGJ4MjT`MRw`$)1Vpmwq%G027uGP2@zP)UHu-oZ~G3Edzib@G)5mXLv#)P1~771qU2$-lf$NxjtSB6!!c573@LK+m1 zZcw^aQo6ySJEWy?AuWq82?=Qh0i~t8TR^%~8l=0vXX@VXIq&)Y?91(?xYnFcjB(d6 zziao{I4tljamkyO(AJhmQ-BceY9+(F1j^(@w>O<@=Rg9GU`TI@R~!JB^q>`nRMg`8 zbhWZTADqh{+WAD2<~2SsDmpd{95#+nf$+l#iUH6PL8D8(Uu*bg)-8LaOSXuXg}^%R zL@o(VN)WB@c%uYbI=O53aCjM)CI#Q8R)EWSt?|(eD_qe+obGdNhUW z2d*SK_4F@ApqjeV4=I&h0%`A6apXcBT^R0@7UAcuw_V_*bHK=_l!;HZ8ZeetRTlJk zrOX({iv~+&K*OLzxd3yKZ9>(WFPdGhGOp`RX20{?_@=jfmL=zC#*c${98Wv-+xK#J zBxrsX{S-0KJ)X3@ojFBF78H+JNNMtU4ki;e@B|HeNfzGZ^O%DsH~t%igQ5YD1j<^I z7*&Hq^ds}_1^=H+=tOa{PfUSU)J>j~Zgt+@q)y>ChL$~~u3Dw^QlZ|RbTHWKrKRdZ z53`qK>q`@xE9l2VFkBLJ_Eig~A)m{9k$+gStXKz{V#cYlh<~o(U*I;9q&uL@*?<~H zaZxmnR6-ZGoDR98h|{J{x=z-S-OQ>sBfFq`h%T^hZ4X|!*~{+Ew;89osUvz892`vw zh{lc|X?js`udXb(2Vplety8DwKz?mu0le_cZI8UyGt~lbaO`Lg=8cg0c3#SZn81X?TB$C+fZv8U{3CUUd3zlQAq@aeY+{3lI?R+RwhkQT#32eO1S^|Hh{s=eNumy^ z>9>d^x7uVb;0L+`PuovD<%y+e_1itm$_Ty; zvt_Wv*e>G3Y{p%97j#hdd{+GnyD_ZTSN1jmLL3rQM;nFd@&YuX^9+GP$Rp=?7f*!2 zUsRt@f(R79j5Wj=?-}TuE?j`UcZJQoo_rxA>~19S!3DlGjH{L8UAO}@DI)F;+83A% zg6*maH84BIl%30ub^V6hAe7f7?DslDF|0jV62W$Y&lGmASXpR$vP@BArj^eq;V{_E z74(8-ZVKN$(JSr#?T~YnP`vvC3VVr1;{Mbd+{kETsT9~5_CSH1s5yTH4xaXQs#AG6 zUpYGAz8Hk2(K_DA)-F~55HbdZ;p#NFBGhl$MVLP}ZLl6Ii1UqN3nl&Z3ADOhE)83T z-FOY?I#Q|TPq#+C#g8y>-)=qtyqlnE(wM3x(^;IGVGv)MLHl^;#~^Wuf%i6Og(MU7 z2JYMZM2`^7B0u11!g z!)vGUpJr~Un!{xXf=dG{1MV*p?qQRJJ@PWm`Bkm?fLVea(;#ausMkXbbyTxEa=83? z$kE@M3`mOzbNCkzB={1Dhtxr+bTc=x{imr64AqCPMk*kP9( zj}!5hb)p)yFET>4XOmI#!KY2~^73Z$of zp`JHW_;z*4^=DqS;gRk)_f_9a_c(pX8V#MZHbDC-giL5*c5V=3yM@>xx)t38ODa@Q z?0qh0`f`61@_UE)h%;rZ=&d66uJWE0dz4r8Y2C?K87s^|+B+Z+s4cmNmossVyz)R6 zVJ1XfFS^REC$?r#zCY|VIMeUZo;ay;S^p``w-V=HkQp593RX7!0h}JBt8y)!%TJ%-OH(IzvghUv% z)+Tj!La3)0m>&H>&ItN3>r^L~E8xUeMr;7vN|QMG8W7F3lLZkUG@oyP2B>uS*NB4$ zS*yguzK> z_RJvr+w+``PO6TNvj6VJzra(@I+$`;nO$^?*u>>Y-0SPfMFqJMASU>AHE~~6kId|; z-l&@P9Y782pxl@L|GPUH?uN&$QePG#EAs8;>apBr2Vay)@|yQyLsgSWM?{(P5ZkBj zPsMrOJdVFQeZX%7&w3pEu>Zk7mXP!Dp@Z>5(9mpO{v*%4HEBev)qJk07VlNGoA;O6 z)U+=L;&k6zCfuXPXHfM)t1;UEJ`WTaQL-rrR3Fa2ryo_xZ9_0AKnaSWmbK`o4Ee-j z3A=VF3@F_i^kNQx3H87p^fpt?RcypP9%6!{Nyhmf|IkO^^JD<@s(b|v3x%E(vT%vJ zPhhJW0uyC8dFU{YYr8NobJ~x*)R>?v1GS^pDKOqOL!nWj7q3C8$^r;b#)5@n*<7WsLJPAp17wENvhdc>5J7Vu(uu z-#4<5KeRV|2wXYMfH1xXCdB1tl73Fc7c1Pfr3ArHMj)Z!Hrq-MN;05+QD3(F2ZUjA zgw_sJuc1ldy(I7C~belb9|F;@SpIzoUC&N$<$7OhmFmIjTFQ7HlhKUSa*DQ(y2} zO?fjp4w+^(u`EF-6%O0SP&vsLDFB9xTU!7YZkQk#Syu^?*z?4$KhvF{`}Sz6h#bAJ z4iKfS1yR*&Kdf|6G1-3mJ6qE{!_oQ|k4?V~i$xem1}mWkbIB1#7y?f;-^=ZRKj@Et z1vV$KG3t}M-sF)!kLP_*^MqZVYPB{2Ap*(nFPb}%ppj7n5V^6uoZ1$ltGA<816UR=l>$0?a0;nb7O|U_7orX^ z3Mq{u;oI4;xKLKOD>g4{PsA)HZ-SSFY%4 z-`8&e>CB`4aMt(Ag#8o1MEFrSY%GH0%IKP$HZq8yAlUpj2>MqZ{ZZ~0kK-#Hl;K{5 z?@>&vHnWD+g9VVZ_J{Kmiu@W4mHcr&4sE~!vNY1{Giuh z-?HYHMyI?5bO!=QaC#u==fAi2-y=OFT09povy%N~rpx+Z8=*DV8`jj0INMnGTYN&e zDLy~q1kUQOL zWlNPGaiWoZTCKnM{rMrJVPgs#hk8w$rd^;a?WuJPVl8Q1C!zU=M&Q z>TWmkHc^FwtYuDs>fnnc)8`&M?XcW@zPWOc>ZXDKX87(^if21Z@{a)ohl+yQ2eL#dxmvSG}i>Wo3B0B@D$de^%(RUChhhp&`PG-4OR%lj+Tnns8o4T+6FltF)Hk&H6XQF>t9~fplr7ImoO?oucKAe!9h4EAQ9sj4Yf;L$C0F2=> zDM?~ev;NBR`NuncW6`A}>N-D0Sxx##Lz1gB875iqbkN8bB1FCOzjpX_Sc7J#Ai8JK zpFVbQb>wB2vIFASez#$NJ{m_D8QdG>#6M;eq5O6iZ;ThzNOhLiuRIsCoo|5Q z>X%J9Ks?H)Wk9s8BRrX}RE+~Hi!WI6dI+tnF-*@g0JktZ%yp<$U|0Hmj#g4&q;`@j?jDH6` z8a1L2u+aoG74^PV;d@q3P-84)#;AO~Lok!CQ?U!`JmP)(Z?$%yY;#(hu5tn!4R31_ z6fW)%@As{ix;p*OQy1UE2iTzUzgBe?YGkU~$VV%{I^K*Z0?8b=Mvan1++86Tdasj4 z{pjs%fu*+~K!`O<60X9!D3bEX>D8aY37GK7$pj0$ev-gEPedaDu~%hqe_$l&@4r$; z|Gv|tTCt406#WmM8>%o5gcjVz5ZvVtElxz&J@aIO*OdzaT=w&g(zf;5$&vG4gJ>=E zK|RD}-j^JbtUs`t2QY4^Zhf#O`t?tG0u744bUGgcPxk{gP0#0cf0n-?CO~MpAw6^k zsP9HQCd;e?L9-A5G9LsdRsm=z2<|c_K2Z2lyj{y!0E%Z`f)Y>=C(-PMKuo|$i)5he z1}FqE0fbdoR{+SVF#WF}H-vv0RJwl{I_qQrtQi4ch!LoCDo)@?-r$k!0-{js0$wmp z1-Qh4GHVU*BnKhe$x?eDGYkk9m}D8SD_C{9^C%ajZMh~pqLF#-bIJ8V;@o^&%}a3N zVjf0S>s347Z)p_T1=Vo?D(=I^S=X&`ZpaT%o)#Wj@#DzQ6VPV}pmJ!H5OQk(!bAk1 zKnErPwEE@`I(;<>LK0C50i*c|+vFTi@*ESKh3B0$=1Y>X?vHL2)}LDe*SMcvQn_pd zMPjk&(md~z8)M1j=J@hySW+g3zUtrWO#BCQN{xwlBXnVLaAo^8@?gJ!y6}}%qFARlT_y`W* zaP|XKe$#H~H313KBY=#KI5!;5>NUEWS*S)nA`sBfb9wm?G;GR9kfd((4T4z!gnDBU znNk1T>!goFK+rN_W#d=Cy50G}Ew%e6P66KsXwz%A&6gH!?SOa?IS#%C&~W``ApkwQ z5Sj5E0=aIIy%%uIH$#pNx&v_eV*_3KH@(2~Acd90p9T^<1Q9R|>=i_v{{tXDX2 zFQ$J&OQ>j<6q5*3lWX;LceNl|2na+o3WPPezl#s7QiQkS6APEphv1t*(m9u95OTrC z*#`(k5;%AKH}9M4do^z0qoN~1+<#fP1Lg%Y$)-eJTzDR{^&&8^KSswstiIH4PSm94 z&ir;W5h5P%XJ7?J6hC~|PzXMhv<)$UL{d{ zLeoN0T%QOznJ%uY_Az5?1e+ASdJD#sZmNI)O{ZuadaJCQ&T+VP&i z(b`Xw3^Xd3Kv}01!CrSb z*o7cQ?1E%VR`8+dg^z}xGriaqHseJj-_8dGRF@UpV;6s+4df_9mo53jBoWV;BnK+b z$_^5<(G}T5f%yLQv zgmMa7!B^ow(F>i8e@yk5Pu03P5yc~<2{{rYSJ9vP!S;4V3xG4<6pLF5%@z#pUI5Vy z3L!+zHy#B*Wz_w$L%M%)o{+O?7xeDnjn)S7A}nm+C?>un@x^(lvkd@}Nz8Fy@F!VZ zblkpJMcH9Z!xHuneLL4Pg8cHYGKNJCg%MM}{9P^gMl4_tjEI1fMByQ5n3};MVws9h zbxxp-=;B_5+2I7>f9_rNJj;RQN*)rZ2cKZE-oIZQ=nPT>a_Nm=@`BZ|OlvvV7Y#QT z4ULl)2#m#_J!V0|!bTw4+R`v$7VKvm%%=&|0Y3|&k%5Fx_{Kr7a1oEH$^IAhg9@x# z1jZ-eF4SSumBaUIG*x0CFv2C1S$lwj%}FvVw=%>H=6ugic0c!?H)O*v$K`G7j!2)PoXOVJ%3) zs;%rL_9Y>=b-$p<7WQfY3Kks~!kAx6RZUA$61dH`Fvlc!w*hn#w;dIb5GoTL0S>c4 zvf zhZhY>SpfCeR^gItFQ$i1*jel5SE-iFV~||*ha9xL8^vspD3mvS2==6J!?Vl9#Ctzl{o6f2U_sl z60jP!$oL8$+)d|J?Gll6VB}$2bdjk2&|wkpX3UybB;lsgqfN3f@`cXQVygoeDsKonRn(KYjETU9{$SKq743%gfMvr``kic^k#m z%EN{9v;C7Q_!(@$Mt66-m=EdGM^nak;m51tr68_uRKb#a);iDb}i8HsjnAAeR;7G2%__i1&JF8GMHIb>Ff2FMf}X z+)9!fE6tC%9sH0->oGxm?rV=^SGSjOdp^M@cy?-TZDgMI{ZFT<5nKKw`WE-ESvMNQ+6HF9g@Ee)1FwlB3-4^Gm-= z?U(r*3O+Wz2xoqq@uFV*M=}qo5_fjB@vUSWgC8!tB@!LVpgr(yRM)Y6iJ8wfjh1G_ zV@e!KK=xdVs5Pe2HrIO`hm|b+@R3k$>Fn|gH zE7IKs054-hp3^?p7f;Xz325960nj*fm)#i~`4r517^lb#QTn8p^Mvv*Q2h75EEXtP z^0JxZB{Q^$d&c?TUNl?r!Y7;n<)WgSGD{|w08aw9*t=UUi4>}2wxdT5CIuK&grnEA zhyJBMO<%TDj)L>|wKb1}GEc$N)p3(ZWsV%hgc%=XR5rdCY<`4UwAlfaRV4uH@&I+G z4Yv+YGPj-oi)m3eDmi-v0T@*eKc$g*rTG^aR`A%H@`CeEk*xY)~^&QSpHPc3*%7 zV-f_w=y<1q`6{2(sN-E_X0#}V1(=z1SkWdN80;sR#ONrR1k7k9UA3ERiMClWI_8IL1+HnUH2g z@ZDptVhaZw7zf&&fO(l%+C1Dxzwn8+P%&^z4-z?pkvcl}E4m+i(}ev7x)ie>M@U?2SCsF!g9`(AUVqPAJ&c`sgQu7Sg|BfWMgY7G|u0V5ZC{bbyrjL^c zjUjZ2476Hdj#|7|*a~zMtij@HIAf znj<(A@t~eT?;{#BgxT!elUF@WrXvKp2?CFNf>F=^u?T@PaOXrpoKtvmk*eVl_Me0J+M8W1me%vbd4&*kqXQ{LCsj?|FJP=vM@=Iiy)W`*~xF=yz@;*O1ZVuqO`FQL)<)u|N@w$%kq{8r`lx*q` zsy^<)Fhx(ZnrEwhDSyghDt^QiB$A_zTJKv(UAhV%t6RJ_*()BFjwJABV{BagSfsVm zTqVdcB5(bm3n8`<(yGe7$S)Ev{jgs%5f>sFzuwJ<+bQBxLBv`@K4NxU#`c&`0JS05$Zz0Og@Ln$<(!F5Z;@FU~7`8PA8j9(yf2MzfdA%Ia}BdaQgp`6}bK zE!7zZec$}~H&}z8;oO{BozkhX!(s!ZIC6+lwRHU&B^`l|bVBj~Yy=ZpfA~)*4O*NB zwvtJ(kpSYb!{u7O`|djR6MyQiqnns~5(LSv;$q*qS;4mwT7KyZv@+r?0{WeD4DeVT zTN%kpv0?sPHBj>f_4>Z{s^=09SB~f%kdXMf<)xmyNNLp;*ng=J5G3*9z|9bsA&o@1 z3UoTIyiimu6e{Ie9KpJq&^Wf||sbT#-J?exNg^e(+BYfWMXECXL+ zmDOy-L)H8*>GZ>%oaU>Rq%qjnbi#Xd^7*Re?Lf09?A8X-54E~4fB9kyQH=(Tg&wZg z7YU?tl!!!65d2&<3cUxyB59dZoS#7mjZ)6jH2-*L;7YbV<+HMwU(Ks>1dd%t!j`wY z*g&-LUC2cy6lfETnD2U!hIG=h<2n7d+C)DhehcW1c`}q839x~bt7SKbALQNwsoY#` zDFY*|NAwBXm=C|@V5@}7_75?!LA@AGBz&9FC^9SZv~QjOq53F~R6M%5et%)l+YVnq z+x_g5k558oVeO>dQ?X=^lewoXgtpQS7sK-4&tjuliOgoL8!(F;)MVYt?iV0?*0m`Dp(U1mQjFm^-+4cw*z$ z&&pvw7qeI-0;0yYD6YWOrn!#>^J|rSsbtJfS%z1C#(%jvxwo*Kn)Jd7&Y*bwzA?C= ztbTci8v>8L(*Srpr11wlrUofi|EE|a>-a^$Qs{=ht+bkz^d&m?wHbwKXG5Hr%ry)B zF!6}o9(9s?!=lOhF@a@XOF%rxjK%~J!W1sUPtCp_^wa8y-IKla(O)sGyAMMN;uE$^ zWP904I}7Cme2c*Eeii$@^BAlqic_{%H7ez~&%z?FJ% zV!-;GpAu57`o3eLX;L4k$hKJpO|4-@B3qc!v3TwMys=SWu`juMq=Ht0FJ3eQP=~mC zB|t!O%x)LA@qp0R>WPmFTQJR@nflkZ^al@N(dxx2^gZsTJcMCf=IrHx25H0vr2DoB zdp)(M_D{CQ3}^{B9vbHFdQV;1&5~tAnV(!ddzYX7JN7ZKqNq`!U}jO=$17koi2p@f z3wy)B@Qev%nb8NM955GMMIHO8g&;^G42@y*`pp=A{%$AJcqh92yQuNodU-!JS{bgw zZjmn;3jZPOS=3RoB41CmWQVvIj?~Q&T8~`eT6=)a`$1kjwXB5CX^+Om+e)BQ;yADE zv*I@M63eeF*kU~pUw{L65ad77)Wt=FM*Npy3RH@aZhl__xiGt=bv@_5-8PCkZ%qptm+md{Ha zzIJ43G+=?!w0;gJ-M`4~7ohHUMj~tYgBgP$NBSaQ82*FZLLr)$ zVEm7I76_+U06je}m>>0|`uW$(aZtXKLUH8p?%F6aTlq(=+L3DWX$$mzgGC zEpT{flGeV^TW^49vQt*&5whQW**rGn6>q3W`16ml@lu&4O7<{T^PiV19!_r$fD9-% z0s*owcp$xbdjs%U`vbup9W=~u0bpFY4oclZ^WSiF##$#oNH*ZS5k5#sNoDz=ay98K zh$%=l!shXO!_566)S!DRZv%Rx;^A~^=QA3=&p7x)g3$j#5SB29!JM-{z&21@sfO^U zLm_e*z;dyWo#v&$GwD2}+yWBXi9y^!l^Q6bxU5I>?7%V8rwxWoIQOj-m0zsI`q!+=8H3JUb7Tdju7(rzPL;=VTz z?UT?Kmbw}k+sI~81aArleuv<-jDHivW8V6i^P|XPq-mtRo=yj5^=bGNB2%Y{arb(v$6Ez}W@@7~_#m zaT_tRDwS*Z{pr5~G$H)}@V>+dSG<2Sn$zISl6$u~bje#kCuzt#k;LoV zMSt94+kb3aDsQ_&`pSMOsEg1VD{2Tj>psfSaPOqqyykbf7L$R_z1&MlKH_-i}1MyFPV#&ik+#et( zU@=4iNyEXI--y|@5idB&Y2ULc`UXkp@>>nFfJtw(G_#uZ?~3H~i``D?JMdkH+n_K* z9kjG5P#Ia)Amj#d8=jk|xWti6l>x;3=pBiT9T?bTX&`A){5HjOZYkxZBCm`W|Ix|m z`(S?DQp>s$G@W}qPy~z`2;?kiIX-zS&yU%hz-?l4EiSwQV&duX{d^~^9RMzzFU>^aD z-}c~*z?{c{sR+o%rzH|EGJ zC`6qN)VaS&vW6t}AI?@9UVc+opJ}PPoQ5ZDga`Eiw~XRDq#M*!;EelY>VSM=HsFC8 zL8O3b1l#@lm{4NG>$4pQAGF-e*tIzc+Tp>z}p|o5*6P0cYh1lOD71M zysrGp=Wc2Pt3AN*y89}w&#q=Y=Zn#q*=?sX&8r_FJ0BtTnpn`6EPgc2j(sn6FJCM) z!`So$nt_m`QJ7lC{Cy0Jm9o8njG1m_nxTQgzYwlb-DiMtg7LoUg+Yzioqi~d^&AYt zZ2~3?3NW_9ZW+pUQC1UMNif+;6LmS2Ria#>A7DOr1TSvN)VZ5m*jLGrIpq+XPQ4~ zjoo$+MXhz5U|fRX{et?XF)EL{(EE}FqWyLm(c9pka`|#B;N|;#2KvQ|x08MIpmRBx|8-3=j-%K;&@w z+1ydc1s`OVR8)X7;Df(y^q?CEcE`I!HBWu7gcgT}Eb6TZOo28%kpP#Qx}@}?o=KWt ze*Q&Ce$*szjvkF1ugXEr>`ye*ExB~SWBHO8@X?fbotZ80w{X-QK1z4}~vhkWjk-a@$dYwbyxT?=eRf@^_s z$-lUu4_JSQ0aVFP;hX=Vnz4MiaR)_V|-Z5LnG4uwZw(AQ&bM_cb zMZs5;f5EoXBynTWVhrh52tvAmgiJjGdRB%{;el#A(j@}8MD063`(@w77;kFpxY!!Z zbo^}SzB@eB9K~eTFDWqK%$-CJ@uEGkf#prp3e|04B2p@BVPCHT%3(Z$96FTiBC^1n zN|+P3tOg9D<#eA;fW)yl{t?Gm{Xh5RA7J?{%FWztB2tgm3-{U>?4&Ko^^9d3JkpH8aj?Y&AH?p+sMJzW2Nld_|jRv2H{YN?bjM{&0=wa|G-lm2Sn zoyi!S;Jo4glQ_3>wocM;`%nj0B{k^1;Y(I@%!ST@84JZ9M%ORMW#1I3-cl1LXk;#0QnbmIx(btUsNy1w{M}U&YHKc8(>g6t4#+A zIIZ+*CevR^lWCUh1o(u_hnl_LVmBNTRIDF258z;Y)jIy!38>v6GsdrPGv$0Lw0)~_aLEBhDyrfFi z1uJlG#^y4Dwje&1kGD7K7t?<}Vk3;yx1E5rGF>_XU8P2WhzR99H-loimHm7X$Y=_o8iM?Wlfp~} z=Y#Rpck*&EDB8T+@0qt6hSfdVsxUfcW5y*lat&P$(nfD*qdP$mAv~#{!E<6 zgV5f=l(&g8b2&N_6Q+gR6|LxzC7bd&5YCCWQ(-I<8DI7>Ox%vXQ4-zjhN1@#c#1vu z?h;vHye;SesdnhNwD)*SS_kiJ;({F(=~1=feDB_}PC2l$rXQ$)71hQQsk$the9m96 zr^Y@0x$r1F?t2Qfc)`l}vy#Q#dPdUsu_JOX2x#OEyi$I5j8I+RA|IPuaq2vdX=k(l z*ss$`Xc{NCpKG2J?=lPhwE+c~eWZ2lW0R>I)v0^n|5IVuHf<+GWvgk;bv%E5wr{G0 zIP=YM?2YiqNDpYM2Qhx-t$HNdbbxYCz!s%|6} zQpv$jdk#C5cT}adZV0D?G)bqw8)deqCL#=RgspzcSaVWSrCq(oh`AZ}hIjg9;G!$P z&+sheWjuf4{Wiv+(;w+1Ub~0!;;UXk#SLu{h;F(i z`lTIz+@xou+3r;>Rk`-f=b`rvl|%0vvqyrw2GZ(jB8$&aT*fTXCh>d+o0$>~lX%@# zE;2T$?)i#}r$-@SCRw?fDa+0*x=U#@eIcsBBbk#k{l42G-Eq!pAP`U_JBq5q)MZIuQQ zAuN2AX=^_T{$Rbd;rP5+i#N3}k5b+Ix_#dQd4=hKOp(mRI>wcy#y*>V&9&JKC;ct~ zO4fctmnn3dt*N8c-YL;pDCGqO6U@UhUb=@`>}Kc&D{!Y+CE1o-WXr@Tao?BWhXMsx zb1Hw_6Q1ufMPIxQ&5|fz95J33Ou%%P;lW`M=jA_`ujfu>0vl1gc3RlPPRqHjEM z1lqj7L|$`Oi{)CkgJ#II0O&rd!d%>L#}zP=`8H&v=5YPH@8V$a_B{5Ryx*||YtPXX zP%(zR&7Y^07hybL))WFLWivE2xak5+;UmFdVq{|K~!5{!{oKvhmI z6G=r0f|{O3Wn<#mKjTXl08eOwz~WcxOVj5J*2neLo?z`Bil8iaX1dK~4?f?W251Ji z<`f9&Zw6jX%6i~O4RjgRVx9(=(gN_v{LZ!79)p#lp`7`=y968zzWGlmVFDKqsWJ{W zDteIEj{p;?Il?F&@m&6X(-3;Rk%uDu>bq0-X7^DaI4%s)KHl?{*)gipOXb`!c^$JF z+O7Et>@|0~ft`pWbJuNvA>o0??{NzLHaTQAIE}w*!t=tfKSIb=m^YWvCO*pjglckD0?72WcQtXZs@1T1jIFq8WY5D^Yj|{20wp`~yk-uKz9= z9L%@t4nhv$^MX~tb%9n83Y?b=wMU~mMnK{Fd%oo!R0@a-(a(#2OS!53okXxkiH2T2 ziALTuG>HEl`R4khp`}CYdQYJ!paIAyS#_O%N-uy(S6aT{3QLwZ0jhUvfi*# z>f!eeo9{maHlNib68MdRwuZ5rcT-&o#C*b&wWffbVQIhX(1-BVdV-cA(*pR&SPf@C z?3zs?MamILU>kAuNpKysVNXM`wg5+?*roz*#!iqz*hwnKptChow5^BHw&FV?2fe%whIwYGhh^IMUwKw!(h1NKl>PV~(sT|* z>)&!(bE83Ce;k^)A0LN*FhI+E*1P1lqLa#`@t`E`z!BXXflEIstJI?UU=}H~bzt@4Zli7ox+g&3LxYxH`qFEqvJA55N?O(VcwO zx=~4_SKiXVf$~iEV~n-XEB{^*H`d4qIldwxrYSu8PWJTPHOp*80Gmkb=UD@N zKaDsyz%s@+T$-6BYSxwHdV%9P7W)3MHwDf)_S)A6 z=Yu6Ge?K`g^1Cu9$w(k;E%hY>tJNEN*DB>y&VB1da0>zbk>!BTe%Cd-44QQyg`?cK z#pm$qVaInouh3wl@QORFgH0ehsGW$6+@%_G`6)O~2u6WwHbe+_azU`eGKvlF6;niALN9F77rmV#4>c<=PRjS6 z4eTRMmN#Nua6PB89b&rnt!wC??~6WtYM|o{|8-UfWd}>~K{9cD*<~ml1C2Ty|Dx?- zag@n+ji07O!tajt5LFe&WH3uG{v>qI@%5|Lhv%0uX_uyk#7jUfgF}5W-q8&1<2tFB zgr6p=_#Ig!1nyfFF~>M}Cp1T|VZ)D=7)G)zGv2X%I7nLZMbG}`_+FVTENbPXzpORd zEXOCrjy$Qo*cZQC4KqS7au4q92HWaXCa$C5&27-#g(FEtCNPWCdR~2;A;h zjk;&P`|UcJ(nMxE^sF$;l3CD3RF9F8%MrAR>Tx>r)?j3*KgWd7i_nM0dL4OVCExpC zd?82;k7kQq0gBoF`D~&hw=v8Y2@lV?DB{5zka^hEK?MPPaFdv7ez5BHxTdfx?6K{-}uOZbsf}YqzmGA z`hDl?zf$~eQl0jbY4FkAF2^K31Jk)2wxgv|XzBWiTRw5yHQjJWtK8$Qo1A){=Q-z8 zk)Dk|FLo-7uk*1wp=<_}3ZFy!PM43!$5)?di6Sj9blp|gG_w4-R`TZ!ynaH1(`TQs za^SgfR)>8-cW=Kw{gsuX!Qq?>nXjw3q2bwZl z7r6BcmG;Bm$8*Sp@)+lt%Y%LqD^TR@rDnOu+w8k1{aQRaEa`F6<`{bfia_xj@$|!= zIv>tu17`rRfmV%yj81U$YVsL5&f`IzT(8kQEhuX&oY!I8o)q)D;agg{<*Fg5Zu(GJ$ zXb!5>`{gt`z263BwN$^#Sjq~`%%Lvsio|y?5bNA-b;b$&wYPZ4=!~~V_xaq=}HCqSXN$|d@FsMu(GV-SMq|{-C^WgZ58+dKYWqK9QeDzp->#JGA7_Q zxLD1Z69%`UPuyVUR2Yi>du+y``#w9P8o9$~e*9_dHlMV~G>m?L2{wFN%5jG9Y(H3v z(loT9MuDjwG(ZQ3++bvi+LO*DvD4;Ak53vC{#e8TgFIOe4WkWkzUp)A@AMK2H(XYX34t;_AVDU$W7i+m{2ChbHMH!x2b(;bxw!uCqNuT%aG}OV8%1TGRk(obH^jA z{`N32^l@5X&iteqx=*#bvX-c5w95G2uCEnze@&)&uX{GEUP4E{9@ZvAh(a_LJ==B=M;EV>eBtwJQTIfl#ihT|;O(3^bF|2r zaLOdh3{3S((AbU~y!S~W-@$aIL?dfe_zWxkfESF*r_+!6-M6=~@hzg%VVS;(=yLnY z`pAiu=r7liZa0)LvMX#x+nMGHZ)-e#)YS_$;X-JG)&jQD{Er0IoM*Dl4#m+uf6AT^ zubXmGcRD?YUKaRuaLlJ&&>3$AzG|r;O4hAq5k?4S0(wn!Bsfx#NIxO9eNLq#=jNQe*!iprkW*qCaaykui-63o^`tCgwdG=A{sH*u&lC>GoSXP9 zx;=C9Z2oM+^c@1Z!jn&P0QGL}A~)%0uWf56i{%d$I+fWJi^96aHxP|#N_XTZ?2@a$ z?v#4beU!VSyIKp@c^N^@o2wCyx=ewi_%Fo_Y2C3Z%b8Ux&l7(mk8Ca11kw8qmV`32 z&4o|ijW37(WmoC+Uw5On&$C?`!Wu#SiNr_t!nr-}Nm!h~v*-CGxe?9;wDFYnP*Nm3 zgx*#o{fqAqXh0u4q2Ten6Bea^&FQ(?2fn%ORVA{SVr1l5sECsDyrFcCYH5V0A4E{>ZjGbgTcURR6do)Z@*UT3hhKEpWiLCvg>i zP{aSR&N*Kg454XxyqQM?%zLFF^tghjU8-J$(7@~6x*g9#y25xvOJXn5MyU2JG@oTZ z2M7T(?)x{Bmf5fOn3?}+&CNdW3!*rrXQU${_oa3lw#1E2mm)6>)m_EGaww3 z)h`yv|9LLA%*8^Np`O(uP!(PDc6Y37u&&$Tx(}kXJ4aYIO@W@6xk$A~ku$OKmvn8M zGP_J?RiW8D4BSo9vF>%|6fbj;>cv%#=}VEm`cXm zoGYh!%egr$jkKI{Of#!YZAKzO=#x;EoHrzvLvqd>GLaB53PaM-i+K|%%jE34AK$mX z;Mx7$&wXFl@A@6Grhz#^nWe+#jMt`#h%aQ<^&a$E?Lb)qhkPF_2nL`9ao;N-zW~NL zX6%bT^K=mv@;MJflFu{I{{EhQS+jD7NV-L6naT{Br^i9ko9xz%w|?n#BzNocGKF3H zjI>SUDd~8T@PAUAzXg9$b@)=X#QY!AYgJU9d<}cHhr~ zr2A8RKTW8MH`+!_h71|wf$N*jED%#bf<8&#@@lIbKZ2{o$^>F_|D|R-fZ8;apCOv_ zOYCDIF2maIyiGB%;X-O7AypU{PyQv;3|Y}-8~U`5 z-f6aNP$)X~O@7+sOyA9opax)v48`Oipdk1sVSvTn2Kc@R5YQlJ0OC8If(MENud(7x zLbTQj1We5B{qTP*z~cV4o>-+@ND;xEx1o6I(B2K;{jmRL3p8xVDcJyR#+e-eukY>E zZ^8J0_&`KkyvSa-)?wuRzf356bR0ffK0LC&D9Xv4)2b$G?V9+@4*<1{V5zaj$`HTe zz@m;}%gQkC65JnwZYMide$yHk7v*BLfo*C}$JO6@R{nnVL2!M6bW3rcZjX6lb1kO9>iTHe*5zoIs?52ND&db3fbN2*uz_Dj` z++w64H0twI*lggL(e#U!XS?+#Dw`q*LN+=&k-2m~Y5N{<85c{Wfn|c~F~+{<+n;Jt z9~_LAU)U!t`d7e9fvf5XioT$pysA#kx@EffUgfQG1?X_+b>o_BVK}H?!!)(+)VvM# zcRHFAdr-8*f0BUtxz9*ug^K&?lwph9W(=dMm;Lv#*52GZa=Xl+_?S!sKM!J@#7)?} z+OVM~j?!fSx6^(5cshBvkC>8RE7+l?BI!^z9qz$1CBe1$zF8-?lh(7p&!r%Qm$LtE zuUfQV7Tbn&@t>=8r77re$}_!<>G&Tbid5eF)PGfuaf}~1Eq`jEsM-JK(@wMBK^XLu z#eZguT4;l`B9o$yYA1MQ?cCv#)1=W!Trk^inT+F>P0MFor{`JCY)u)Ui3sZU^s+}I zON6$Ixqvj~R@bs2n?d`%U z_PMrkPP}k(R9b-W`JGeA^HPH2e_-ACXxu=Z%7dZYT0vcoG9|d8Q~`$=-8(;I6@zTx zq?g25>U%nx(m>JobV2mniVn{i>*k%LrR}7h=oxPA0Kbu8!{VgNaO+vNmG(V{wJVw9 zsZ_T#>=n>HS*$8Ln5i-Kj|G9gJr=T|oa_5ek$gYcvAgP;`5T}&mjC>;R=3#7KVjFt zJ$dz6bmAhlT^4W_5J}vFmyZF$f`$uO3I&Ot@2TB~od-2S*e8%&a8w=&WNH8)$;21s zhcB%ic2sKx0xrmrpD%Z)8f(Q0=+#7tH4biL##A5mi`mxlI-gPKv7Km7=;IM?sfk|* z6&7hhFJgB;kxnN~PeO{(?M6eflEUP4rM~T6Jfz%@lf+4`C283HK${sitg&W2@oj3A z^5)$SHlVi478CHS(bKdo%fcM_?ABkjqK6Di(bCQvDF}Q>vY)eD4o6j#al2Agh zNB~=@K)(AfC}{S3;@yc~a_)gm=J8hpI1`Xie6@m6>?q~xK`Oeu0%W*_~=hK<#k1N{L{QxGgbDTq2Zk z6Mo|#_0ySB_(=Zn(uS6Vg)z{Mq`tdAPV%0PB|hE?%34SM;v0|QUAs@%e$X6&9t zf<=kKV&O9FWRQxtSEj^~Zx@=H~j#F&;<_Na)BqJQfR#V3X$3pF?K2^|9y~ zzz9Taub5`&UANNhG&^D!GTDBtthUy%e%5m$SxP+WY$N2mEd2e}0zzQ(tZw__k1IEi ziQoZoFx&_XyvH{T7YjUrm)$>rA(Ti2GM4yIj(2Z*i_zXx^nxe1-7a+c?;na!kJgzB zuKAON4;c%-udz>+!JIwy;6>Z5iM6wxJ!sS{)mwe;+}9P?+D8(@9aqFSXS{}yrV6{0 zvL-b%%I*zKE(drPMipJTUAz&r>e2Y=T^RVsD-zKjBji%-AX%H~oLihx)j6Lw12nYV z1L&pH7EJ2O*N1ggKL_?f*YYkwA^)|i3Ud^1%`JvD_8CA;&0p$)h7%>_pm#i{@nnBH zv$IG|?H7900k3Od-qi2wQm3Ita7nq5 zq!>r&v^%-`ic@$U6*Y2yP9Ud=trg}$8=dfYbsi-}3?8%Bzu{A03q3hfuud=|yb+f- zWuu9d*og_8E}JftO~8b3TIJ=ig=T}-zP~1^^naBmP#k@gi{NJW^7v0#U5{&IP#7~4 z70ry-X4)7qwH+Y&2bd_FC!tSXd6Bq8R<*b=`i=wht+m7&l+~3uYq;3a%Y81gqzOOe ze!5RY??4W`{bR-JkMRZM=mwnyxY!r4r!>5&_i8JZx>;6Gu-7TM?rLlmf+yy$_cFz^ zq6JP=WFNA9@q|+Px)TifEWRrD5BsJD4znNgK2>Jx&|^+%XtJ@ik4lDMOA}zFN)8(0 zrH{#WtlUz=OEaG|RQgRsbqR-dI+XGWz%L`Q>XD+64A+d)!~sZVa1I&)&|NKcZhorAsq3O|0@oLa|9vkXIMgn+ZWI43<@M?neJI>C4iv zCCL_7MN7lXM75<-AGb-NEW8bx)ubgP(_Nh*IjMD3brZC6E_hi6wtr>Ar%&1ZyF8>bytlh-n)u+i^6IC!h=LFdQ5)(8 z_)>?&$#sU8o*n4)ua>^-0b8;+m&_;YyT;tEJ^ejK5Ai1FA8fc$p(57I*(!YWV$Ye= zX3RG%_C8@eFCGDv1V552>U>`SH)HjO4arUiDz9mK`lp$%b@MS%+!lCWq;pLTbg{m( zVmNd8=PN#IJ_Dn^=s4*y^EK3+QWy8dI?DdcLi7WQeuG0~*WTNY((sEVc1IdMC^maD zZPp77IKE>rH@Iht-*@c)O5|fOlOS7z3shS&{qb}W&)7crR8L&Qsp&{{Fi;>9o#Z)8 znZB*j8Gs7XllXs9yB1e#8m+AuL88A9=B){#%^WaHD@FAJyR$nN5pS5z-#bhNkwPM88Ej4zbr(`uwO1ODQ<;PIVgN3+q{? z%jCkq@!?r5==C>C9nz+x{>Sg_tnrW7@*5Xn9%2H*Cgc2UL`=c#M)ir&j=mUGS^5=j z&w1B)H+$XvDfer6C8y0e(NqdmA8>GEak4Oue2tUvk?oJ;TdDTfK~Pr>2t z4EOX@-uahErEIm1rqY*LTO^29K!S)&+7=UyaxWd$81!;Ofu9Y=?nLEr!ma-T2GrCw literal 0 HcmV?d00001 diff --git a/index.qmd b/index.qmd index da15ec9..bb78c7f 100644 --- a/index.qmd +++ b/index.qmd @@ -17,11 +17,11 @@ The ability for Quarto to streamline collaboration has been so cool and importan **Outcomes:** Mentors build skills and are more equipped and empowered to contribute. This is a new clinic we can reuse and build on. -**Process:** A 1.5-hr clinic with demo's and hands-on practice to guide folks through contributing to existing Quarto sites & books. Analogous to our GitHub Clinic. The clinic content is contained in this website that is built with Quarto on GitHub; there are no accompanying slide decks. +**Process:** A 1.5-hr clinic that can be used to teach or as self-paced learning. with demo's and hands-on practice to guide folks through contributing to existing Quarto sites & books. Analogous to our GitHub Clinic. The clinic content is contained in this website that is built with Quarto on GitHub; there are no accompanying slide decks. -1. Introduction to Quarto using the 2i2c Openscapes JupyterHub. +1. Quarto Workflow: Use the 2i2c Openscapes JupyterHub to explore this clinic website and its source repository on GitHub, practice contributing to this site by editing a Quarto file or adding a new Jupyter Notebook and previewing the changes. -2. GitHub Workflow: How to clone the repo for this site, make a branch to work in, edit, commit and push your edits to GitHub, make a pull request, review and merge a pull request, and communicate what you’re doing at each step. +2. GitHub Workflow: Clone the repository for this site, make a branch to work in, edit, commit and push your edits to GitHub, make a pull request, review and merge a pull request, and communicate what you’re doing at each step. ## What is Quarto? @@ -33,12 +33,6 @@ Quarto can be used to create dynamic content with Python, R, Julia, and Observab [Quarto.org](https://quarto.org) is the go-to place for full documentation and more tutorials! -## What is this Clinic? - -This is a 1.5-hour clinic that can be used to teach or as self-paced learning. - -We introduce Quarto by exploring this clinic website and its source repository on GitHub, we'll practice the basic Quarto workflow using the 2i2c Openscapes JupyterHub for editing this site, and use GitHub in the browser to review proposed updates. - ## Example Quarto sites - [NASA Openscapes](https://nasa-openscapes.github.io/) diff --git a/lessons/demo.qmd b/lessons/demo.qmd index ad55e7b..b303775 100644 --- a/lessons/demo.qmd +++ b/lessons/demo.qmd @@ -1,18 +1,18 @@ --- -title: "`demo.qmd` aka Quarto Practice" +title: "`demo.qmd` Quarto Practice" --- Quarto enables you to weave together content and executable code into a finished document. This `demo.qmd` file has Markdown-formatted text, examples for adding hyperlinks and inserting images with alt-text, and a Python code chunk. -## Edit and preview a demo.qmd file - - Headers. Headers are powerful in Quarto because they let you organize on the side of the page. They let you share a specific section of a page by copying the URL - hyperlink something (cite the Cookbook and hyperlink it). Hyperlinking is done like this; lets you cite and give credit - inspect this image with alt-txt - Python code. manage echo, run +Stef will demo then it's your turn. + ## Task 1a: Edit a `.qmd` page *TODO: Edit down to what we need, duplicated under each name header* @@ -23,6 +23,8 @@ Only make changes to the section under your name header (to prevent conflicts at Now let's practice Markdown in this Quarto file and commit an edit to this file. +Make an edit, preview, edit etc + ### Stefanie Your first edit? Fix this tpyo. @@ -58,6 +60,8 @@ You can add options to executable code. The `echo: false` option disables the pr Fix this tpyo. +*TODO: copy activities text under each participant heading when it's settled* + ### Andy Fix this tpyo. diff --git a/lessons/part1-quarto.qmd b/lessons/part1-quarto.qmd index a5e4e39..3f9e233 100644 --- a/lessons/part1-quarto.qmd +++ b/lessons/part1-quarto.qmd @@ -2,19 +2,13 @@ title: "Part 1: Edit a Quarto site" --- -We will work through this Quarto Clinic site in the NASA Openscapes 2i2c JupyterHub ("the Hub"). The Hub has a python environment as well as Quarto installed. No further installations are required. +The NASA Openscapes 2i2c JupyterHub ("the Hub") has a Python environment as well as Quarto installed. No further installations are required. -*TODO: List here the thinks we'll do in this section* +*TODO: List here the things we'll do in this section* ## Preview the site (aka Quarto preview) -Let's start off by previewing our quarto site locally. - -quarto preview does X - -quarto render does Y - -In Terminal, type `quarto preview`, which will provide a URL with a preview of our site! +Let's start off by previewing our quarto site locally. In Terminal, in the `quarto-clinic` folder, type `quarto preview`, which will provide a URL with a preview of our site! ``` bash quarto preview @@ -23,29 +17,29 @@ quarto preview # Browse at https://openscapes.2i2c.cloud/user/jules32/proxy/4593/ ``` -Click or copy this URL into a browser window; and arrange them so you can see them both. I make a bit more space in Jupyter by collapsing the left file menu by clicking on the file icon at the top of the left sidebar. +Open this URL in a browser window and arrange your Hub and website preview windows so you can see them both. I make a bit more space in Jupyter by collapsing the left file menu by clicking on the file icon at the top of the left sidebar. -TODO: note to open index.qmd add new screenshots +*TODO: note to open index.qmd add new screenshots* ![](images/jupyter-side-by-side.png){fig-align="center"} -Now that we have each set up our own GitHub clone of this Quarto Clinic website in the Hub, we can practice editing and rendering `.qmd` and `.ipynb` files. These are the workflows we use to contribute to the NASA Earthdata Cloud Cookbook and other Quarto websites and books. +Now that we have each set up our own GitHub clone with our unique branch of this Quarto Clinic website in the Hub, we can practice editing and rendering `.qmd` and `.ipynb` files. These are the workflows we use to contribute to the NASA Earthdata Cloud Cookbook and other Quarto websites and books. + +*TODO: quarto preview does X; quarto render does Y* ## Choose Task 1a or 1b to do in breakouts ### Task 1a: Edit and preview a demo.qmd file -Open [`lessons/demo.qmd`](demo.qmd) file. The suggestions / how-to are in the file. +Open [`lessons/demo.qmd`](demo.qmd) file. The suggestions / how-to for this are in the file. -*TODO: finesse opening demo.qmd; Markdown only shows when going to Raw then Markdown* +*TODO: finesse opening demo.qmd; Markdown only shows when going to Raw then Markdown (this belongs in the demo file itself I think)* *TODO: screenshot* #### Make a small change and preview it -Now we'll be able to see live changes in the preview as we edit in our `.qmd` files. Let's try it: Fix the typo, etc. Your preview window will refresh automatically! If it does not, you can also refresh the page manually. The refreshed previewed site will now display your changes! - -Save your changes +Now we'll be able to see live changes in the preview as we edit in our `.qmd` files. Let's try it: Fix the typo, etc. When we save changes, our preview window will refresh automatically! If it does not, you can also refresh the page manually. The refreshed previewed site will now display your changes! ### Task 1b: Create a new `.ipynb` page diff --git a/setup.qmd b/setup-explore.qmd similarity index 54% rename from setup.qmd rename to setup-explore.qmd index fdd0183..4b21900 100644 --- a/setup.qmd +++ b/setup-explore.qmd @@ -7,7 +7,7 @@ editor: visual ## Setup Part 1: Log in to the Hub -Go to the Hub https://openscapes.2i2c.cloud \> log in with your GitHub Account \> select the Python server. +Go to the Hub \> log in with your GitHub Account \> select the Python server. [![Login page for the NASA Openscapes 2i2c JupyterHub, "the Hub"](images/jupyterhub-2i2c-login.png)](https://openscapes.2i2c.cloud/) @@ -17,13 +17,13 @@ Go to the Hub https://openscapes.2i2c.cloud \> log in with your GitHub Account \ It takes a few minutes for the Hub to load. Please be patient! -While the server starts up, we’ll explore the GitHub Clinic website structure side by side with the repo. +While the server starts up, we’ll explore the Quarto Clinic website structure side by side with the repo. ## Explore With this Clinic, we have a working example website that we will explore together. We'll learn a few rules and look for patterns to get an understanding of what things to do to help you start customizing and making it your own. You can continue to use this website as a reference after the clinic, along with [Quarto](https://quarto.org) documentation. -We'll start our exploration looking at the website architecture and GitHub repository. Then we'll setup a copy for ourselves so that we can modify from a working example, which is a great way to learn something new. +We'll start our exploration looking at the website architecture and its source GitHub repository. Then we'll setup a copy for ourselves so that we can modify starting from a working example, which is a great way to learn something new. ### The website @@ -40,17 +40,23 @@ Most of these are pages, but you'll see that "Lessons" has an arrow `>`; it is a *TODO: If we will make a new repo for every Clinic, we'll need to update the repo link below, every time.* -Let's go to this website's GitHub repository (or "repo"), . You can also click there from any page in this clinic website by clicking the GitHub Octocat icon underneath the Openscapes logo in the left navbar (Tip: to open it in a different tab in your browser, click it holding command on Mac, or control on a PC ). +Let's go to this website's GitHub repository (or "repo"), . You can also click there from any page in this clinic website by clicking the GitHub Octocat icon underneath the Openscapes logo in the left navbar. -**Have a look at the filenames.** We can recognize the names of the webpages we've seen above, and they have red arrows marking them in the image below. You'll see the "lessons" folder, and most files in this site are `.qmd` files, which are plain text Quarto files that can combine Markdown text with code. `index.qmd` is the home page. If you click inside "lessons" you'll see more `.qmd` files and an `images` folder that holds images used in the pages inside the Lessons section of the site. +::: callout-tip +To open a link in a new browser tab, hold command on Mac, or control on a PC, then click. +::: -*TODO: replace screenshots* +**Have a look at the filenames.** We can recognize the names of the webpages we see (and listed above), and they have red arrows marking them in the image below. Note that most files in this repo are `.qmd` files. These are plain text Quarto files that can combine Markdown text with code. `index.qmd` is the home page. When we click inside the `lessons` folder we see more `.qmd` files and an `images` folder that holds images used in the pages inside the Lessons section of the site. + +*TODO: replace screenshots; red arrows for lessons, next-steps, setup (rename setup-explore)* + +*TODO: take text from `_render-vs-preview.qmd` then delete* ![quarto-website-tutorial GitHub repository with files for webpages marked with red arrows](images/quarto-files-github.png){fig-alt="Screenshot of files on GitHub with red arrows identifying the files that we saw in the left sidebar" fig-align="center" width="80%"} ### `_quarto.yml` intro -There is also a `_quarto.yml` file, which is the website's configuration file. It is essentially metadata for the website that includes the order that the pages/chapters will be in. This is where you update the organization of your website: which page comes before another, and how pages are named in the navbar. If we compare side-by-side, you'll see that the pages that appear on our website are listed there. +There is also a `_quarto.yml` file, which is the website's configuration file. It is essentially metadata for the website that includes the order that the pages / sections will be in. This is where we can update the organization of our website: which page comes before another, and how pages are named in the navbar. If we compare the repo and website side-by-side, we'll see that the pages that appear on our website are listed there. ![\_quarto.yml and website side-by-side](images/quarto-yml-site-side-by-side3.png){fig-align="center"} @@ -75,12 +81,22 @@ cd quarto-clinic Working in a branch means you have your own version of the Quarto Clinic to edit and preview. Later, we'll learn how to contribute your edits to the Main branch of the Clinic by making a "Pull Request" on GitHub. -Navigate into the `quarto-clinic` folder \> click the Git tab \> New Branch, with branch name = *your name*, to make it easy to identify your work in the exercises that follow. +Navigate into the `quarto-clinic` folder (In the Terminal: `cd quarto-clinic)` \> click the Git tab \> New Branch, with branch name = *your name*, to make it easy to identify your work in the exercises that follow. ![Create a branch](images/jupyterhub-git-branch.png) -*TODO add cmd line* +*TODO add cmd line for creating a branch ?git checkout yourname* + +### Set up our Git credentials + +*TODO: do we need to do [Step 5.1. Configure Git (`git config`)](https://nasa-openscapes.github.io/2021-Cloud-Hackathon/tutorials/00_Setup.html#step-5.1.-configure-git-git-config)? (but ignore the push file part). Clarify the following text to say see the orange dot. click it to be prompted* + +When you see the following screenshot, GitHub is asking for you to input your credentials. (Note: you see this screenshot when you have committed work to push to GitHub.com. In this case we have created a new branch in the Hub and it does not yet exist on GitHub. + +![Prompt to add your Git credentials](images/jupyterhub-git-credentials.png) + +We'll follow the instructions in the 2021 Cloud Hackathon to [Setup your Personal Access Token (PAT)](https://nasa-openscapes.github.io/2021-Cloud-Hackathon/tutorials/00_Setup.html#step-5.6.-setup-pat). ## Onward! -Now you are ready to start editing! The next chapter describes how to do this in the JupyterHub. +Now we are ready to start editing! The next chapter describes how to do this in the JupyterHub.