From 015367e4b626d66bf0a11efac3bc2865c3b8fd7e Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 10 Jan 2023 20:33:00 +0100 Subject: [PATCH 01/18] unbreak .github/actions-scripts/content-changes-table-comment.js (#33872) --- .github/actions-scripts/content-changes-table-comment.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions-scripts/content-changes-table-comment.js b/.github/actions-scripts/content-changes-table-comment.js index b27a8f171b..318fd9e96e 100755 --- a/.github/actions-scripts/content-changes-table-comment.js +++ b/.github/actions-scripts/content-changes-table-comment.js @@ -39,7 +39,7 @@ if (import.meta.url.endsWith(process.argv[1])) { if (!isHealthy) { core.setFailed(`Timeout waiting for preview environment: ${APP_URL}`) } else { - const markdownTable = await main(core, owner, repo, baseSHA, headSHA) + const markdownTable = await main(owner, repo, baseSHA, headSHA) core.setOutput('changesTable', markdownTable) } } From 4f756f8a3f75e988cc0783d795a41a17b8a07252 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 10 Jan 2023 20:59:48 +0100 Subject: [PATCH 02/18] composite action for checking out remote translations (#33846) --- .github/actions/clone-translations/action.yml | 67 +++++++++++++++++++ .github/workflows/azure-prod-build-deploy.yml | 54 +-------------- .../workflows/sync-search-elasticsearch.yml | 20 +----- .github/workflows/test.yml | 62 +---------------- 4 files changed, 73 insertions(+), 130 deletions(-) create mode 100644 .github/actions/clone-translations/action.yml diff --git a/.github/actions/clone-translations/action.yml b/.github/actions/clone-translations/action.yml new file mode 100644 index 0000000000..a0bbab893e --- /dev/null +++ b/.github/actions/clone-translations/action.yml @@ -0,0 +1,67 @@ +name: Clone translations + +description: Clone all remote translations so they're available + +inputs: + token: + description: PAT + required: true + +runs: + using: 'composite' + steps: + - name: Clone Simplified Chinese + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 + with: + repository: github/docs-internal.zh-cn + token: ${{ inputs.token }} + path: translations/zh-cn + + - name: Clone Japanese + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 + with: + repository: github/docs-internal.ja-jp + token: ${{ inputs.token }} + path: translations/ja-jp + + - name: Clone Spanish + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 + with: + repository: github/docs-internal.es-es + token: ${{ inputs.token }} + path: translations/es-es + + - name: Clone Portuguese + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 + with: + repository: github/docs-internal.pt-br + token: ${{ inputs.token }} + path: translations/pt-br + + - name: Clone German + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 + with: + repository: github/docs-internal.de-de + token: ${{ inputs.token }} + path: translations/de-de + + - name: Clone French + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 + with: + repository: github/docs-internal.fr-fr + token: ${{ inputs.token }} + path: translations/fr-fr + + - name: Clone Russian + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 + with: + repository: github/docs-internal.ru-ru + token: ${{ inputs.token }} + path: translations/ru-ru + + - name: Clone Korean + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 + with: + repository: github/docs-internal.ko-kr + token: ${{ inputs.token }} + path: translations/ko-kr diff --git a/.github/workflows/azure-prod-build-deploy.yml b/.github/workflows/azure-prod-build-deploy.yml index de30d69477..4cc9b2f9fb 100644 --- a/.github/workflows/azure-prod-build-deploy.yml +++ b/.github/workflows/azure-prod-build-deploy.yml @@ -71,61 +71,9 @@ jobs: - name: Merge docs-early-access repo's folders run: .github/actions-scripts/merge-early-access.sh - - name: Clone Simplified Chinese - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 + - uses: ./.github/actions/clone-translations with: - repository: github/docs-internal.zh-cn token: ${{ secrets.DOCUBOT_REPO_PAT }} - path: translations/zh-cn - - - name: Clone Japanese - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 - with: - repository: github/docs-internal.ja-jp - token: ${{ secrets.DOCUBOT_REPO_PAT }} - path: translations/ja-jp - - - name: Clone Spanish - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 - with: - repository: github/docs-internal.es-es - token: ${{ secrets.DOCUBOT_REPO_PAT }} - path: translations/es-es - - - name: Clone Portuguese - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 - with: - repository: github/docs-internal.pt-br - token: ${{ secrets.DOCUBOT_REPO_PAT }} - path: translations/pt-br - - - name: Clone German - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 - with: - repository: github/docs-internal.de-de - token: ${{ secrets.DOCUBOT_REPO_PAT }} - path: translations/de-de - - - name: Clone French - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 - with: - repository: github/docs-internal.fr-fr - token: ${{ secrets.DOCUBOT_REPO_PAT }} - path: translations/fr-fr - - - name: Clone Russian - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 - with: - repository: github/docs-internal.ru-ru - token: ${{ secrets.DOCUBOT_REPO_PAT }} - path: translations/ru-ru - - - name: Clone Korean - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 - with: - repository: github/docs-internal.ko-kr - token: ${{ secrets.DOCUBOT_REPO_PAT }} - path: translations/ko-kr - name: 'Build and push image' uses: docker/build-push-action@1cb9d22b932e4832bb29793b7777ec860fc1cde0 diff --git a/.github/workflows/sync-search-elasticsearch.yml b/.github/workflows/sync-search-elasticsearch.yml index 12eb39175a..f4645c2590 100644 --- a/.github/workflows/sync-search-elasticsearch.yml +++ b/.github/workflows/sync-search-elasticsearch.yml @@ -35,18 +35,6 @@ env: FREEZE: ${{ secrets.FREEZE }} ELASTICSEARCH_URL: ${{ secrets.ELASTICSEARCH_URL }} - # This might seem a bit strange, but it's clever. Since this action - # uses a matrix to deal with one language at a time, we can use this - # to pretend it's always the same directory. - TRANSLATIONS_ROOT_ES_ES: translation - TRANSLATIONS_ROOT_ZH_CN: translation - TRANSLATIONS_ROOT_JA_JP: translation - TRANSLATIONS_ROOT_PT_BR: translation - TRANSLATIONS_ROOT_FR_FR: translation - TRANSLATIONS_ROOT_RU_RU: translation - TRANSLATIONS_ROOT_KO_KR: translation - TRANSLATIONS_ROOT_DE_DE: translation - jobs: figureOutMatrix: runs-on: ubuntu-latest @@ -110,13 +98,11 @@ jobs: - name: Check out repo uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 - - name: Checkout the non-English repo + - name: Clone all translations if: ${{ matrix.language != 'en' }} - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 + uses: ./.github/actions/clone-translations with: - repository: github/docs-internal.${{ fromJSON('{"zh":"zh-cn","es":"es-es","ru":"ru-ru","ja":"ja-jp","pt":"pt-br","de":"de-de","fr":"fr-fr","ko":"ko-kr"}')[matrix.language] }} - token: ${{ secrets.DOCUBOT_READORG_REPO_WORKFLOW_SCOPES }} - path: translation + token: ${{ secrets.DOCUBOT_REPO_PAT }} - uses: ./.github/actions/node-npm-setup diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index da61de08d3..277265806d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -110,69 +110,11 @@ jobs: .github/actions-scripts/merge-early-access.sh rm -fr docs-early-access - - name: Clone Simplified Chinese + - name: Clone all translations if: ${{ matrix.test-group == 'translations' }} - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 + uses: ./.github/actions/clone-translations with: - repository: github/docs-internal.zh-cn token: ${{ secrets.DOCUBOT_REPO_PAT }} - path: translations/zh-cn - - - name: Clone Japanese - if: ${{ matrix.test-group == 'translations' }} - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 - with: - repository: github/docs-internal.ja-jp - token: ${{ secrets.DOCUBOT_REPO_PAT }} - path: translations/ja-jp - - - name: Clone Spanish - if: ${{ matrix.test-group == 'translations' }} - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 - with: - repository: github/docs-internal.es-es - token: ${{ secrets.DOCUBOT_REPO_PAT }} - path: translations/es-es - - - name: Clone Portuguese - if: ${{ matrix.test-group == 'translations' }} - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 - with: - repository: github/docs-internal.pt-br - token: ${{ secrets.DOCUBOT_REPO_PAT }} - path: translations/pt-br - - - name: Clone German - if: ${{ matrix.test-group == 'translations' }} - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 - with: - repository: github/docs-internal.de-de - token: ${{ secrets.DOCUBOT_REPO_PAT }} - path: translations/de-de - - - name: Clone French - if: ${{ matrix.test-group == 'translations' }} - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 - with: - repository: github/docs-internal.fr-fr - token: ${{ secrets.DOCUBOT_REPO_PAT }} - path: translations/fr-fr - - - name: Clone Russian - if: ${{ matrix.test-group == 'translations' }} - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 - with: - repository: github/docs-internal.ru-ru - token: ${{ secrets.DOCUBOT_REPO_PAT }} - path: translations/ru-ru - - - name: Clone Korean - if: ${{ matrix.test-group == 'translations' }} - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 - with: - repository: github/docs-internal.ko-kr - token: ${{ secrets.DOCUBOT_REPO_PAT }} - path: translations/ko-kr - name: Gather files changed env: From 69d1442237cf2d4b8052db97942b5c05a8f41088 Mon Sep 17 00:00:00 2001 From: Sarah Edwards Date: Tue, 10 Jan 2023 12:01:55 -0800 Subject: [PATCH 03/18] Octokit.js guide (#33675) Co-authored-by: Gregor Martynus <39992+gr2m@users.noreply.github.com> Co-authored-by: Nick Floyd <139819+nickfloyd@users.noreply.github.com> Co-authored-by: Keegan Campbell Co-authored-by: Jess Hosman <1183847+jhosman@users.noreply.github.com> --- .../getting-started-with-the-rest-api.md | 2 +- content/rest/guides/index.md | 1 + ...ipting-with-the-rest-api-and-javascript.md | 431 ++++++++++++++++++ .../using-pagination-in-the-rest-api.md | 2 +- content/rest/index.md | 2 +- content/rest/overview/libraries.md | 6 +- content/rest/quickstart.md | 2 +- 7 files changed, 439 insertions(+), 7 deletions(-) create mode 100644 content/rest/guides/scripting-with-the-rest-api-and-javascript.md diff --git a/content/rest/guides/getting-started-with-the-rest-api.md b/content/rest/guides/getting-started-with-the-rest-api.md index 8268a59c95..f6e6e77eb5 100644 --- a/content/rest/guides/getting-started-with-the-rest-api.md +++ b/content/rest/guides/getting-started-with-the-rest-api.md @@ -52,7 +52,7 @@ gh api /octocat --method GET {% endnote %} -To make a request using JavaScript, you can use Octokit.js. For more information, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). +To make a request using JavaScript, you can use Octokit.js. For more information, see "[Scripting with the REST API and JavaScript](/rest/guides/scripting-with-the-rest-api-and-javascript)." First, create an instance of `Octokit`.{% ifversion ghes or ghae %} Set the base URL to `{% data variables.product.api_url_code %}`. Replace `[hostname]` with the name of {% data variables.location.product_location %}.{% endif %} diff --git a/content/rest/guides/index.md b/content/rest/guides/index.md index 7a6d009c52..bc40d26813 100644 --- a/content/rest/guides/index.md +++ b/content/rest/guides/index.md @@ -14,6 +14,7 @@ topics: children: - /getting-started-with-the-rest-api - /basics-of-authentication + - /scripting-with-the-rest-api-and-javascript - /discovering-resources-for-a-user - /delivering-deployments - /rendering-data-as-graphs diff --git a/content/rest/guides/scripting-with-the-rest-api-and-javascript.md b/content/rest/guides/scripting-with-the-rest-api-and-javascript.md new file mode 100644 index 0000000000..22c37182e8 --- /dev/null +++ b/content/rest/guides/scripting-with-the-rest-api-and-javascript.md @@ -0,0 +1,431 @@ +--- +title: Scripting with the REST API and JavaScript +shortTitle: Script with JavaScript +intro: 'Write a script using the Octokit.js SDK to interact with the REST API.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API + - JavaScript +type: tutorial +miniTocMaxHeadingLevel: 3 +--- + +## About Octokit.js + +If you want to write a script using JavaScript to interact with {% data variables.product.company_short %}'s REST API, {% data variables.product.company_short %} recommends that you use the Octokit.js SDK. Octokit.js is maintained by {% data variables.product.company_short %}. The SDK implements best practices and makes it easier for you to interact with the REST API via JavaScript. Octokit.js works with all modern browsers, Node.js, and Deno. For more information about Octokit.js, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). + +## Prerequisites + +This guide assumes that you are familiar with JavaScript and the {% data variables.product.company_short %} REST API. For more information about the REST API, see "[Getting started with the REST API](/rest/guides/getting-started-with-the-rest-api)." + +You must install and import `octokit` in order to use the Octokit.js library. This guide uses import statements in accordance with ES6. For more information about different installation and import methods, see [the Octokit.js README's Usage section](https://github.com/octokit/octokit.js/#usage). + +## Instantiating and authenticating + +{% warning %} + +**Warning**: Treat your authentication credentials like a password. + +To keep your credentials secure, you can store your credentials as a secret and run your script through {% data variables.product.prodname_actions %}. For more information, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." + +{% ifversion ghec or fpt %}You can also store your credentials as a {% data variables.product.prodname_codespaces %} secret and run your script in {% data variables.product.prodname_codespaces %}. For more information, see "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)."{% endif %} + +If {% ifversion ghec or fpt %}these options are not possible{% else %}this is not possible{% endif %}, consider using another service such as [the 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) to store your credentials securely. + +{% endwarning %} + +### Authenticating with a {% data variables.product.pat_generic %} + +If you want to use the {% data variables.product.company_short %} REST API for personal use, you can create a {% data variables.product.pat_generic %}. For more information about creating a {% data variables.product.pat_generic %}, see "[Creating a {% data variables.product.pat_generic %}](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + +First, import `Octokit` from `octokit`. Then, pass your {% data variables.product.pat_generic %} when you create an instance of `Octokit`. In the following example, replace `YOUR-TOKEN` with a reference to your {% data variables.product.pat_generic %}.{% ifversion ghes or ghae %} Replace `[hostname]` with the name of {% data variables.location.product_location %}.{% endif %} + +```javascript{:copy} +import { Octokit } from "octokit"; + +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}",{% endif %} + auth: 'YOUR-TOKEN', +}); +``` + +### Authenticating with a {% data variables.product.prodname_github_app %} + +If you want to use the API on behalf of an organization or another user, {% data variables.product.company_short %} recommends that you use a {% data variables.product.prodname_github_app %}. If an endpoint is available to {% data variables.product.prodname_github_apps %}, the REST reference documentation for that endpoint will say "Works with {% data variables.product.prodname_github_apps %}." For more information, see "[Creating a GitHub App](/developers/apps/building-github-apps/creating-a-github-app)," "[Authenticating with GitHub Apps](/developers/apps/building-github-apps/authenticating-with-github-apps)," and "[Identifying and authorizing users for GitHub Apps](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)." + +Instead of importing `Octokit` from `octokit`, import `App`. In the following example, replace `APP_ID` with a reference to your app's ID. Replace `PRIVATE_KEY` with a reference to your app's private key. Replace `INSTALLATION_ID` with the ID of the installation of your app that you want to authenticate on behalf of. You can find your app's ID and generate a private key on the settings page for your app. For more information, see "[Authenticating with GitHub Apps](/developers/apps/building-github-apps/authenticating-with-github-apps)." You can get an installation ID with the `GET /users/{username}/installation`, `GET /repos/{owner}/{repo}/installation`, or `GET /orgs/{org}/installation` endpoints. For more information, see "[Apps](/rest/apps/apps)" in the REST reference documentation. + +```javascript{:copy} +import { App } from "octokit"; + +const app = new App({ + appId: APP_ID, + privateKey: PRIVATE_KEY, +}); + +const octokit = await app.getInstallationOctokit(INSTALLATION_ID); +``` + +### Authenticating in {% data variables.product.prodname_actions %} + +If you want to use the API in a {% data variables.product.prodname_actions %} workflow, {% data variables.product.company_short %} recommends that you authenticate with the built-in `GITHUB_TOKEN` instead of creating a token. You can grant permissions to the `GITHUB_TOKEN` with the `permissions` key. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token)." + +If your workflow needs to access resources outside of the workflow's repository, then you will not be able to use `GITHUB_TOKEN`. In that case, store your credentials as a secret and replace `GITHUB_TOKEN` in the examples below with the name of your secret. For more information about secrets, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." + +If you use the `run` keyword to execute your JavaScript script in your {% data variables.product.prodname_actions %} workflows, you can store the value of `GITHUB_TOKEN` as an environment variable. Your script can access the environment variable as `process.env.VARIABLE_NAME`. + +For example, this workflow step stores `GITHUB_TOKEN` in an environment variable called `TOKEN`: + +```yaml +- name: Run script + env: + TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + node .github/actions-scripts/use-the-api.mjs +``` + +The script that the workflow runs uses `process.env.TOKEN` to authenticate: + +```javascript{:copy} +import { Octokit } from "octokit"; + +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}",{% endif %} + auth: process.env.TOKEN, +}); +``` + +### Instantiating without authentication + +You can use the REST API without authentication, although you will have a lower rate limit and will not be able to use some endpoints. To create an instance of `Octokit` without authenticating, do not pass the `auth` argument.{% ifversion ghes or ghae %} Set the base URL to `{% data variables.product.api_url_code %}`. Replace `[hostname]` with the name of {% data variables.location.product_location %}.{% endif %} + +```javascript{:copy} +import { Octokit } from "octokit"; + +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}", +{% endif %}}); +``` + +## Making requests + +Octokit supports multiple ways of making requests. You can use the `request` method to make requests if you know the HTTP verb and path for the endpoint. You can use the `rest` method if you want to take advantage of autocompletion in your IDE and typing. For paginated endpoints, you can use the `paginate` method to request multiple pages of data. + +### Using the `request` method to make requests + +To use the `request` method to make requests, pass the HTTP method and path as the first argument. Pass any body, query, or path parameters in an object as the second argument. For example, to make a `GET` request to `/repos/{owner}/{repo}/issues` and pass the `owner`, `repo`, and `per_page` parameters: + +```javascript{:copy} +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "github", + repo: "docs", + per_page: 2 +}); +``` + +The `request` method automatically passes the `Accept: application/vnd.github+json` header. To pass additional headers or a different `Accept` header, add a `headers` property to the object that is passed as a second argument. The value of the `headers` property is an object with the header names as keys and header values as values. For example, to send a `content-type` header with a value of `text/plain`{% ifversion api-date-versioning %} and a `x-github-api-version` header with a value of `{{ allVersions[currentVersion].latestApiVersion }}`{% endif %}: + +```javascript{:copy} +await octokit.request("POST /markdown/raw", { + text: "Hello **world**", + headers: { + "content-type": "text/plain",{% ifversion api-date-versioning %} + "x-github-api-version": "{{ allVersions[currentVersion].latestApiVersion }}",{% endif %} + }, +}); +``` + +### Using `rest` endpoint methods to make requests + +Every REST API endpoint has an associated `rest` endpoint method in Octokit. These methods generally autocomplete in your IDE for convenience. You can pass any parameters as an object to the method. + +```javascript{:copy} +await octokit.rest.issues.listForRepo({ + owner: "github", + repo: "docs", + per_page: 2 +}); +``` + +Additionally, if you are using a typed language such as TypeScript, you can import types to use with these methods. For more information, see [the TypeScript section in the plugin-rest-endpoint-methods.js README](https://github.com/octokit/plugin-rest-endpoint-methods.js/#typescript). + +### Making paginated requests + +If the endpoint is paginated and you want to fetch more than one page of results, you can use the `paginate` method. `paginate` will fetch the next page of results until it reaches the last page and then return all of the results as a single array. A few endpoints return paginated results as array in an object, as opposed to returning the paginated results as an array. `paginate` always returns an array of items even if the raw result was an object. + +For example, the following example gets all of the issues from the `github/docs` repository. Although it requests 100 issues at a time, the function won't return until the last page of data is reached. + +```javascript{:copy} +const issueData = await octokit.paginate("GET /repos/{owner}/{repo}/issues", { + owner: "github", + repo: "docs", + per_page: 100,{% ifversion api-date-versioning %} + headers: { + "x-github-api-version": "{{ allVersions[currentVersion].latestApiVersion }}", + },{% endif %} +}); +``` + +The `paginate` method accepts an optional map function, which you can use to collect only the data that you want from the response. This reduces memory usage by your script. The map function can take a second argument, `done`, which you can call to end the pagination before the last page is reached. This lets you fetch a subset of pages. For example, the following example continues to fetch results until an issue that includes "test" in the title is returned. For the pages of data that were returned, only the issue title and author are stored. + +```javascript{:copy} +const issueData = await octokit.paginate("GET /repos/{owner}/{repo}/issues", { + owner: "github", + repo: "docs", + per_page: 100,{% ifversion api-date-versioning %} + headers: { + "x-github-api-version": "{{ allVersions[currentVersion].latestApiVersion }}", + },{% endif %} +}, + (response, done) => response.data.map((issue) => { + if (issue.title.includes("test")) { + done() + } + return ({title: issue.title, author: issue.user.login}) + }) +); +``` + +Instead of fetching all of the results at once, you can use `octokit.paginate.iterator()` to iterate through a single page at a time. For example, the following example fetches one page of results at a time and processes each object from the page before fetching the next page. Once an issue that includes "test" in the title is reached, the script stops the iteration and returns the issue title and issue author of each object that was processed. The iterator is the most memory efficient method for fetching paginated data. + +```javascript{:copy} +const iterator = octokit.paginate.iterator("GET /repos/{owner}/{repo}/issues", { + owner: "github", + repo: "docs", + per_page: 100,{% ifversion api-date-versioning %} + headers: { + "x-github-api-version": "{{ allVersions[currentVersion].latestApiVersion }}", + },{% endif %} +}); + +let issueData = [] +let breakLoop = false +for await (const {data} of iterator) { + if (breakLoop) break + for (const issue of data) { + if (issue.title.includes("test")) { + breakLoop = true + break + } else { + issueData = [...issueData, {title: issue.title, author: issue.user.login}]; + } + } +} +``` + +You can use the `paginate` method with the `rest` endpoint methods as well. Pass the `rest` endpoint method as the first argument. Pass any parameters as the second argument. + +```javascript{:copy} +const iterator = octokit.paginate.iterator(octokit.rest.issues.listForRepo, { + owner: "github", + repo: "docs", + per_page: 100,{% ifversion api-date-versioning %} + headers: { + "x-github-api-version": "{{ allVersions[currentVersion].latestApiVersion }}", + },{% endif %} +}); +``` + +For more information about pagination, see "[Using pagination in the REST API](/rest/guides/using-pagination-in-the-rest-api)." + +## Catching errors + +### Catching all errors + +Sometimes, the {% data variables.product.company_short %} REST API will return an error. For example, you will get an error if your access token is expired or if you omitted a required parameter. Octokit.js automatically retries the request when it gets an error other than `400 Bad Request`, `401 Unauthorized`, `403 Forbidden`, `404 Not Found`, and `422 Unprocessable Entity`. If an API error occurs even after retries, Octokit.js throws an error that includes the HTTP status code of the response (`response.status`) and the response headers (`response.headers`). You should handle these errors in your code. For example, you can use a try/catch block to catch errors: + +```javascript{:copy} +let filesChanged = [] + +try { + const iterator = octokit.paginate.iterator("GET /repos/{owner}/{repo}/pulls/{pull_number}/files", { + owner: "github", + repo: "docs", + pull_number: 22809, + per_page: 100,{% ifversion api-date-versioning %} + headers: { + "x-github-api-version": "{{ allVersions[currentVersion].latestApiVersion }}", + },{% endif %} + }); + + for await (const {data} of iterator) { + filesChanged = [...filesChanged, ...data.map(fileData => fileData.filename)]; + } +} catch (error) { + if (error.response) { + console.error(`Error! Status: ${error.response.status}. Message: ${error.response.data.message}`) + } + console.error(error) +} +``` + +### Handling intended error codes + +Sometimes, {% data variables.product.company_short %} uses a 4xx status code to indicate a non-error response. If the endpoint you are using does this, you can add additional handling for specific errors. For example, the `GET /user/starred/{owner}/{repo}` endpoint will return a `404` if the repository is not starred. The following example uses the `404` response to indicate that the repository was not starred; all other errors codes are treated as errors. + +```javascript{:copy} +try { + await octokit.request("GET /user/starred/{owner}/{repo}", { + owner: "github", + repo: "docs",{% ifversion api-date-versioning %} + headers: { + "x-github-api-version": "{{ allVersions[currentVersion].latestApiVersion }}", + },{% endif %} + }); + + console.log(`The repository is starred by me`); + +} catch (error) { + if (error.status === 404) { + console.log(`The repository is not starred by me`); + } else { + console.error(`An error occurred while checking if the repository is starred: ${error?.response?.data?.message}`); + } +} +``` + +### Handling rate limit errors + +If you receive a rate limit error, you may want to retry your request after waiting. When you are rate limited, {% data variables.product.company_short %} responds with a `403 Forbidden` error and the `x-ratelimit-remaining` response header value will be `"0"`. The response headers will include a `x-ratelimit-reset` header, which tells you the time at which the current rate limit window resets, in UTC epoch seconds. You can retry your request after the time specified by `x-ratelimit-reset`. + +```javascript{:copy} +async function requestRetry(route, parameters) { + try { + const response = await octokit.request(route, parameters); + return response + } catch (error) { + if (error.response && error.status === 403 && error.response.headers['x-ratelimit-remaining'] === '0') { + const resetTimeEpochSeconds = error.response.headers['x-ratelimit-reset']; + const currentTimeEpochSeconds = Math.floor(Date.now() / 1000); + const secondsToWait = resetTimeEpochSeconds - currentTimeEpochSeconds; + console.log(`You have exceeded your rate limit. Retrying in ${secondsToWait} seconds.`); + setTimeout(requestRetry, secondsToWait * 1000, route, parameters); + } else { + console.error(error); + } + } +} + +const response = await requestRetry("GET /repos/{owner}/{repo}/issues", { + owner: "github", + repo: "docs", + per_page: 2 + }) +``` + +## Using the response + +The `request` method returns a promise that resolves to an object if the request was successful. The object properties are `data` (the response body returned by the endpoint), `status` (the HTTP response code), `url` (the URL of the request), and `headers` (an object containing the response headers). Unless otherwise specified, the response body is in JSON format. Some endpoints do not return a response body; in those cases, the `data` property is omitted. + +```javascript{:copy} +const response = await octokit.request("GET /repos/{owner}/{repo}/issues/{issue_number}", { + owner: "github", + repo: "docs", + issue_number: 11901,{% ifversion api-date-versioning %} + headers: { + "x-github-api-version": "{{ allVersions[currentVersion].latestApiVersion }}", + },{% endif %} +}); + +console.log(`The status of the response is: ${response.status}`) +console.log(`The request URL was: ${response.url}`) +console.log(`The x-ratelimit-remaining response header is: ${response.headers["x-ratelimit-remaining"]}`) +console.log(`The issue title is: ${response.data.title}`) +``` + +Similarly, the `paginate` method returns a promise. If the request was successful, the promise resolves to an array of data returned by the endpoint. Unlike the `request` method, the `paginate` method does not return the status code, URL, or headers. + +```javascript{:copy} +const data = await octokit.paginate("GET /repos/{owner}/{repo}/issues", { + owner: "github", + repo: "docs", + per_page: 100,{% ifversion api-date-versioning %} + headers: { + "x-github-api-version": "{{ allVersions[currentVersion].latestApiVersion }}", + },{% endif %} +}); + +console.log(`${data.length} issues were returned`) +console.log(`The title of the first issue is: ${data[0].title}`) +``` + +## Example script + +Here is a full example script that uses Octokit.js. The script imports `Octokit` and creates a new instance of `Octokit`. If you wanted to authenticate with a {% data variables.product.prodname_github_app %} instead of a {% data variables.product.pat_generic %}, you would import and instantiate `App` instead of `Octokit`. For more information, see "[Authenticating with a {% data variables.product.prodname_github_app %}](#authenticating-with-a-github-app)." + +The `getChangedFiles` function gets all of the files changed for a pull request. The `commentIfDataFilesChanged` function calls the `getChangedFiles` function. If any of the files that the pull request changed include `/data/` in the file path, then the function will comment on the pull request. + +```javascript{:copy} +import { Octokit } from "octokit"; + +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}",{% endif %} + auth: 'YOUR-TOKEN', +}); + +async function getChangedFiles({owner, repo, pullNumber}) { + let filesChanged = [] + + try { + const iterator = octokit.paginate.iterator("GET /repos/{owner}/{repo}/pulls/{pull_number}/files", { + owner: owner, + repo: repo, + pull_number: pullNumber, + per_page: 100,{% ifversion api-date-versioning %} + headers: { + "x-github-api-version": "{{ allVersions[currentVersion].latestApiVersion }}", + },{% endif %} + }); + + for await (const {data} of iterator) { + filesChanged = [...filesChanged, ...data.map(fileData => fileData.filename)]; + } + } catch (error) { + if (error.response) { + console.error(`Error! Status: ${error.response.status}. Message: ${error.response.data.message}`) + } + console.error(error) + } + + return filesChanged +} + +async function commentIfDataFilesChanged({owner, repo, pullNumber}) { + const changedFiles = await getChangedFiles({owner, repo, pullNumber}); + + const filePathRegex = new RegExp(/\/data\//, "i"); + if (!changedFiles.some(fileName => filePathRegex.test(fileName))) { + return; + } + + try { + const {data: comment} = await octokit.request("POST /repos/{owner}/{repo}/issues/{issue_number}/comments", { + owner: owner, + repo: repo, + issue_number: pullNumber, + body: `It looks like you changed a data file. These files are auto-generated. \n\nYou must revert any changes to data files before your pull request will be reviewed.`,{% ifversion api-date-versioning %} + headers: { + "x-github-api-version": "{{ allVersions[currentVersion].latestApiVersion }}", + },{% endif %} + }); + + return comment.html_url; + } catch (error) { + if (error.response) { + console.error(`Error! Status: ${error.response.status}. Message: ${error.response.data.message}`) + } + console.error(error) + } +} + +await commentIfDataFilesChanged({owner: "github", repo: "docs", pullNumber: 191}); +``` + +## Next steps + +- To learn more about Octokit.js see [the Octokit.js documentation](https://github.com/octokit/octokit.js/#readme). +- For some real life examples, look at how {% data variables.product.company_short %} Docs uses Octokit.js by [searching the {% data variables.product.company_short %} Docs repository](https://github.com/search?q=repo%3Agithub%2Fdocs%20path%3A.github%20octokit&type=code). diff --git a/content/rest/guides/using-pagination-in-the-rest-api.md b/content/rest/guides/using-pagination-in-the-rest-api.md index e22feff99d..e7bc0e0713 100644 --- a/content/rest/guides/using-pagination-in-the-rest-api.md +++ b/content/rest/guides/using-pagination-in-the-rest-api.md @@ -83,7 +83,7 @@ The following examples use JavaScript and {% data variables.product.company_shor ### Example using the Octokit.js pagination method -To fetch paginated results with Octokit.js, you can use `octokit.paginate()`. `octokit.paginate()` will fetch the next page of results until it reaches the last page and then return all of the results as a single array. A few endpoints return paginated results as array in an object, as opposed to returning the paginated results as an array. `octokit.paginate()` always returns an array of items even if the raw result was an object. If the results are not paginated, `octokit.paginate()` will behave like `octokit.request()`. +To fetch paginated results with Octokit.js, you can use `octokit.paginate()`. `octokit.paginate()` will fetch the next page of results until it reaches the last page and then return all of the results as a single array. A few endpoints return paginated results as array in an object, as opposed to returning the paginated results as an array. `octokit.paginate()` always returns an array of items even if the raw result was an object. For example, this script gets all of the issues from the `octocat/Spoon-Knife` repository. Although it requests 100 issues at a time, the function won't return until the last page of data is reached. diff --git a/content/rest/index.md b/content/rest/index.md index 0636cbd07a..dd08c9a717 100644 --- a/content/rest/index.md +++ b/content/rest/index.md @@ -16,7 +16,7 @@ featuredLinks: - /rest/overview/api-versions - /rest/overview/other-authentication-methods - /rest/overview/troubleshooting - - /rest/overview/endpoints-available-for-github-apps + - /rest/guides/scripting-with-the-rest-api-and-javascript - /rest/overview/openapi-description guideCards: - /rest/guides/delivering-deployments diff --git a/content/rest/overview/libraries.md b/content/rest/overview/libraries.md index 12c76037de..63b6774a4c 100644 --- a/content/rest/overview/libraries.md +++ b/content/rest/overview/libraries.md @@ -19,9 +19,9 @@ topics: Use the official Octokit library, or choose between any of the available third party libraries. -- **Ruby** → [octokit.rb](https://github.com/octokit/octokit.rb) -- **.NET** → [octokit.net](https://github.com/octokit/octokit.net) -- **JavaScript** → [octokit.js](https://github.com/octokit/octokit.js) +- Ruby: [octokit.rb](https://github.com/octokit/octokit.rb) +- .NET: [octokit.net](https://github.com/octokit/octokit.net) +- JavaScript: [octokit.js](https://github.com/octokit/octokit.js). For more information, see "[Scripting with the REST API and JavaScript](/rest/guides/scripting-with-the-rest-api-and-javascript)." ## Third-party libraries diff --git a/content/rest/quickstart.md b/content/rest/quickstart.md index e6c5c509a4..d45a05c2ec 100644 --- a/content/rest/quickstart.md +++ b/content/rest/quickstart.md @@ -95,7 +95,7 @@ jobs: ## Getting started using JavaScript -You can use Octokit.js to interact with the {% data variables.product.prodname_dotcom %} REST API in your JavaScript scripts. For more information, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). +You can use Octokit.js to interact with the {% data variables.product.prodname_dotcom %} REST API in your JavaScript scripts. For more information, see "[Scripting with the REST API and JavaScript](/rest/guides/scripting-with-the-rest-api-and-javascript)." ### Using Octokit.js From c41ab3e8ca8c0fa6f568e82b2ff1dae477e087cf Mon Sep 17 00:00:00 2001 From: Sam Browning <106113886+sabrowning1@users.noreply.github.com> Date: Tue, 10 Jan 2023 15:58:16 -0500 Subject: [PATCH 04/18] Un-revert "Add security overview content for filtering for teams with write access" (#33711) --- .../filtering-alerts-in-the-security-overview.md | 15 +++++++-------- .../security-overview-team-write-access.yml | 6 ++++++ 2 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 data/features/security-overview-team-write-access.yml diff --git a/content/code-security/security-overview/filtering-alerts-in-the-security-overview.md b/content/code-security/security-overview/filtering-alerts-in-the-security-overview.md index 48e8745d50..8ac7304c20 100644 --- a/content/code-security/security-overview/filtering-alerts-in-the-security-overview.md +++ b/content/code-security/security-overview/filtering-alerts-in-the-security-overview.md @@ -44,7 +44,7 @@ In the examples below, replace `:enabled` with `:not-enabled` to see repositorie | Qualifier | Description | | -------- | -------- | -| `code-scanning:enabled` | Display repositories that have set up {% data variables.product.prodname_code_scanning %}. | +| `code-scanning:enabled` | Display repositories that have set up {% data variables.product.prodname_code_scanning %}. | | `dependabot:enabled` | Display repositories that have enabled {% data variables.product.prodname_dependabot_alerts %}. | | `secret-scanning:enabled` | Display repositories that have enabled {% data variables.secret-scanning.alerts %}. {% ifversion security-overview-org-risk-coverage %} | | `any-feature:enabled` | Display repositories where at least one security feature is enabled. |{% else %} @@ -79,7 +79,7 @@ These qualifiers are available in the main summary views. {% ifversion ghec or ghes > 3.4 or ghae > 3.4 %} ## Filter by level of risk for repositories -The level of risk for a repository is determined by the number and severity of alerts from security features. If one or more security features are not enabled for a repository, the repository will have an unknown level of risk. If a repository has no risks that are detected by security features, the repository will have a clear level of risk. +The level of risk for a repository is determined by the number and severity of alerts from security features. If one or more security features are not enabled for a repository, the repository will have an unknown level of risk. If a repository has no risks that are detected by security features, the repository will have a clear level of risk. {% ifversion security-overview-org-risk-coverage %} These qualifiers are available in the enterprise-level view. @@ -100,9 +100,9 @@ These qualifiers are available in the enterprise-level view. | Qualifier | Description | | -------- | -------- | -| code-scanning:n | Display repositories that have *n* {% data variables.product.prodname_code_scanning %} alerts. This qualifier can use `=`, `>` and `<` comparison operators. | -| secret-scanning:n | Display repositories that have *n* {% data variables.secret-scanning.alerts %}. This qualifier can use `=`, `>` and `<` comparison operators. | -| dependabot:n | Display repositories that have *n* {% data variables.product.prodname_dependabot_alerts %}. This qualifier can use `=`, `>` and `<` comparison operators. | +| `code-scanning:NUMBER` | Display repositories that have NUMBER {% data variables.product.prodname_code_scanning %} alerts. This qualifier can use `=`, `>` and `<` comparison operators. | +| `secret-scanning:NUMBER` | Display repositories that have NUMBER {% data variables.secret-scanning.alerts %}. This qualifier can use `=`, `>` and `<` comparison operators. | +| `dependabot:NUMBER` | Display repositories that have NUMBER {% data variables.product.prodname_dependabot_alerts %}. This qualifier can use `=`, `>` and `<` comparison operators. | ## Filter by team @@ -111,7 +111,7 @@ These qualifiers are available in the main summary views. | Qualifier | Description | | -------- | -------- | -| team:TEAM-NAME | Displays repositories that *TEAM-NAME* has admin privileges for. | +| `team:TEAM-NAME` | Displays repositories that TEAM-NAME has {% ifversion security-overview-team-write-access -%} write access or {% endif -%} admin access to. | ## Filter by topic @@ -119,7 +119,7 @@ These qualifiers are available in the main summary views. | Qualifier | Description | | -------- | -------- | -| topic:TOPIC-NAME | Displays repositories that are classified with *TOPIC-NAME*. | +| `topic:TOPIC-NAME` | Displays repositories that are classified with TOPIC-NAME. | {% ifversion security-overview-alert-views %} @@ -159,4 +159,3 @@ You can filter the view to show {% data variables.product.prodname_dependabot_al | `secret-type:CUSTOM-PATTERN` | Displays alerts for secrets matching the specified custom pattern. | For more information, see "[{% data variables.product.prodname_secret_scanning_caps %} patterns](/code-security/secret-scanning/secret-scanning-patterns)." - diff --git a/data/features/security-overview-team-write-access.yml b/data/features/security-overview-team-write-access.yml new file mode 100644 index 0000000000..ea0c55115e --- /dev/null +++ b/data/features/security-overview-team-write-access.yml @@ -0,0 +1,6 @@ +# Reference: #8973 +# Documentation for tweaks to the results of the team filter on the "Security Risk" and "Security Coverage" views +versions: + ghec: '*' + ghes: '> 3.8' + ghae: '> 3.8' From b0cee6663f1cbac21d0214ee648c5fb9fcca3977 Mon Sep 17 00:00:00 2001 From: Rachael Sewell Date: Tue, 10 Jan 2023 14:57:36 -0800 Subject: [PATCH 05/18] update GraphQL workflow post-translations removal (#33875) --- script/graphql/update-files.js | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/script/graphql/update-files.js b/script/graphql/update-files.js index d68f210100..6f95a3f906 100755 --- a/script/graphql/update-files.js +++ b/script/graphql/update-files.js @@ -10,7 +10,6 @@ import processPreviews from './utils/process-previews.js' import processUpcomingChanges from './utils/process-upcoming-changes.js' import processSchemas from './utils/process-schemas.js' import { prependDatedEntry, createChangelogEntry } from './build-changelog.js' -import loadData from '../../lib/site-data.js' const graphqlDataDir = path.join(process.cwd(), 'data/graphql') const graphqlStaticDir = path.join(process.cwd(), 'lib/graphql/static') @@ -25,22 +24,12 @@ if (!process.env.GITHUB_TOKEN) { const versionsToBuild = Object.keys(allVersions) -const currentLanguage = 'en' - main() async function main() { const previewsJson = {} const upcomingChangesJson = {} - const siteData = loadData() - - // create a bare minimum context for rendering the graphql-object.html layout - const context = { - currentLanguage, - site: siteData[currentLanguage].site, - } - for (const version of versionsToBuild) { // Get the relevant GraphQL name for the current version // For example, free-pro-team@latest corresponds to dotcom, @@ -73,10 +62,6 @@ async function main() { path.join(graphqlStaticDir, `schema-${graphqlVersion}.json`) ) - // Add some version specific data to the context - context.graphql = { schemaForCurrentVersion: schemaJsonPerVersion } - context.currentVersion = version - // 4. UPDATE CHANGELOG if (allVersions[version].nonEnterpriseDefault) { // The Changelog is only build for free-pro-team@latest From 2b25e8798de66b262077cd4db3c36133c3e44955 Mon Sep 17 00:00:00 2001 From: Octomerger Bot <63058869+Octomerger@users.noreply.github.com> Date: Tue, 10 Jan 2023 15:15:19 -0800 Subject: [PATCH 06/18] GraphQL schema update (#33877) Co-authored-by: rachmari --- .../graphql_upcoming_changes.public-ghae.yml | 16 + data/graphql/ghae/schema.docs-ghae.graphql | 171 +++ .../ghec/graphql_upcoming_changes.public.yml | 16 + data/graphql/ghec/schema.docs.graphql | 847 ++++++++++- .../graphql_upcoming_changes.public.yml | 16 + data/graphql/schema.docs.graphql | 847 ++++++++++- lib/graphql/static/changelog.json | 66 + lib/graphql/static/schema-dotcom.json | 1262 ++++++++++++++++- lib/graphql/static/schema-ghae.json | 246 ++++ lib/graphql/static/schema-ghec.json | 1262 ++++++++++++++++- lib/graphql/static/upcoming-changes.json | 60 + 11 files changed, 4733 insertions(+), 76 deletions(-) diff --git a/data/graphql/ghae/graphql_upcoming_changes.public-ghae.yml b/data/graphql/ghae/graphql_upcoming_changes.public-ghae.yml index 503226b6d7..f3f88d79da 100644 --- a/data/graphql/ghae/graphql_upcoming_changes.public-ghae.yml +++ b/data/graphql/ghae/graphql_upcoming_changes.public-ghae.yml @@ -86,6 +86,14 @@ upcoming_changes: date: '2022-11-21' criticality: breaking owner: s-anupam + - location: PackageType.RUBYGEMS + description: '`RUBYGEMS` will be removed.' + reason: + RUBYGEMS will be removed from this enum as this type will be migrated to + only be used by the Packages REST API. + date: '2022-12-28' + criticality: breaking + owner: ankitkaushal01 - location: Commit.changedFiles description: '`changedFiles` will be removed. Use `changedFilesIfAvailable` instead.' reason: '`changedFiles` will be removed.' @@ -243,6 +251,14 @@ upcoming_changes: date: '2023-01-01T00:00:00+00:00' criticality: breaking owner: mattruggio + - location: PackageType.MAVEN + description: '`MAVEN` will be removed.' + reason: + MAVEN will be removed from this enum as this type will be migrated to only + be used by the Packages REST API. + date: '2023-02-10' + criticality: breaking + owner: ankitkaushal01 - location: ProjectV2View.groupBy description: '`groupBy` will be removed. Check out the `ProjectV2View#group_by_fields` diff --git a/data/graphql/ghae/schema.docs-ghae.graphql b/data/graphql/ghae/schema.docs-ghae.graphql index 9f184948f0..ec5c99f856 100644 --- a/data/graphql/ghae/schema.docs-ghae.graphql +++ b/data/graphql/ghae/schema.docs-ghae.graphql @@ -707,6 +707,11 @@ type AddReactionPayload { """ reaction: Reaction + """ + The reaction groups for the subject. + """ + reactionGroups: [ReactionGroup!] + """ The reactable subject. """ @@ -6601,6 +6606,11 @@ input CreatePullRequestInput { """ headRefName: String! + """ + The Node ID of the head repository. + """ + headRepositoryId: ID @possibleTypes(concreteTypes: ["Repository"]) + """ Indicates whether maintainers can modify the pull request. """ @@ -18529,6 +18539,16 @@ type Mutation { input: RevokeMigratorRoleInput! ): RevokeMigratorRolePayload + """ + Starts a GitHub Enterprise Importer organization migration. + """ + startOrganizationMigration( + """ + Parameters for StartOrganizationMigration + """ + input: StartOrganizationMigrationInput! + ): StartOrganizationMigrationPayload + """ Starts a GitHub Enterprise Importer (GEI) repository migration. """ @@ -23669,6 +23689,102 @@ enum OrganizationMembersCanCreateRepositoriesSettingValue { PRIVATE } +""" +A GitHub Enterprise Importer (GEI) organization migration. +""" +type OrganizationMigration implements Node { + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + Identifies the primary key from the database. + """ + databaseId: String + + """ + The reason the organization migration failed. + """ + failureReason: String + id: ID! + + """ + The remaining amount of repos to be migrated. + """ + remainingRepositoriesCount: Int + + """ + The name of the source organization to be migrated. + """ + sourceOrgName: String! + + """ + The URL of the source organization to migrate. + """ + sourceOrgUrl: URI! + + """ + The migration state. + """ + state: OrganizationMigrationState! + + """ + The name of the target organization. + """ + targetOrgName: String! + + """ + The total amount of repositories to be migrated. + """ + totalRepositoriesCount: Int +} + +""" +The Octoshift Organization migration state. +""" +enum OrganizationMigrationState { + """ + The Octoshift migration has failed. + """ + FAILED + + """ + The Octoshift migration is in progress. + """ + IN_PROGRESS + + """ + The Octoshift migration has not started. + """ + NOT_STARTED + + """ + The Octoshift migration is performing post repository migrations. + """ + POST_REPO_MIGRATION + + """ + The Octoshift migration is performing pre repository migrations. + """ + PRE_REPO_MIGRATION + + """ + The Octoshift migration has been queued. + """ + QUEUED + + """ + The Octoshift org migration is performing repository migrations. + """ + REPO_MIGRATION + + """ + The Octoshift migration has succeeded. + """ + SUCCEEDED +} + """ Ordering options for organization connections. """ @@ -29972,6 +30088,11 @@ type RemoveReactionPayload { """ reaction: Reaction + """ + The reaction groups for the subject. + """ + reactionGroups: [ReactionGroup!] + """ The reactable subject. """ @@ -32984,6 +33105,11 @@ type Repository implements Node & ProjectOwner & RepositoryInfo & Starrable & Su """ hasProjectsEnabled: Boolean! + """ + Whether vulnerability alerts are enabled for the repository. + """ + hasVulnerabilityAlertsEnabled: Boolean! + """ Indicates if the repository has wiki feature enabled. """ @@ -36916,6 +37042,51 @@ type StarredRepositoryEdge { starredAt: DateTime! } +""" +Autogenerated input type of StartOrganizationMigration +""" +input StartOrganizationMigrationInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The migration source access token. + """ + sourceAccessToken: String! + + """ + The URL of the organization to migrate. + """ + sourceOrgUrl: URI! + + """ + The ID of the enterprise the target organization belongs to. + """ + targetEnterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) + + """ + The name of the target organization. + """ + targetOrgName: String! +} + +""" +Autogenerated return type of StartOrganizationMigration +""" +type StartOrganizationMigrationPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The new organization migration. + """ + orgMigration: OrganizationMigration +} + """ Autogenerated input type of StartRepositoryMigration """ diff --git a/data/graphql/ghec/graphql_upcoming_changes.public.yml b/data/graphql/ghec/graphql_upcoming_changes.public.yml index c9c009c4be..7cfaa0ff99 100644 --- a/data/graphql/ghec/graphql_upcoming_changes.public.yml +++ b/data/graphql/ghec/graphql_upcoming_changes.public.yml @@ -120,6 +120,14 @@ upcoming_changes: date: '2022-11-21' criticality: breaking owner: s-anupam + - location: PackageType.RUBYGEMS + description: '`RUBYGEMS` will be removed.' + reason: + RUBYGEMS will be removed from this enum as this type will be migrated to + only be used by the Packages REST API. + date: '2022-12-28' + criticality: breaking + owner: ankitkaushal01 - location: AddProjectDraftIssueInput.assigneeIds description: '`assigneeIds` will be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, @@ -1734,6 +1742,14 @@ upcoming_changes: date: '2023-01-01T00:00:00+00:00' criticality: breaking owner: lukewar + - location: PackageType.MAVEN + description: '`MAVEN` will be removed.' + reason: + MAVEN will be removed from this enum as this type will be migrated to only + be used by the Packages REST API. + date: '2023-02-10' + criticality: breaking + owner: ankitkaushal01 - location: ProjectV2View.groupBy description: '`groupBy` will be removed. Check out the `ProjectV2View#group_by_fields` diff --git a/data/graphql/ghec/schema.docs.graphql b/data/graphql/ghec/schema.docs.graphql index 8764ba0a13..08050815b5 100644 --- a/data/graphql/ghec/schema.docs.graphql +++ b/data/graphql/ghec/schema.docs.graphql @@ -990,6 +990,11 @@ type AddReactionPayload { """ reaction: Reaction + """ + The reaction groups for the subject. + """ + reactionGroups: [ReactionGroup!] + """ The reactable subject. """ @@ -7155,6 +7160,11 @@ input CreatePullRequestInput { """ headRefName: String! + """ + The Node ID of the head repository. + """ + headRepositoryId: ID @possibleTypes(concreteTypes: ["Repository"]) + """ Indicates whether maintainers can modify the pull request. """ @@ -21141,6 +21151,16 @@ type Mutation { input: PinIssueInput! ): PinIssuePayload + """ + Publish an existing sponsorship tier that is currently still a draft to a GitHub Sponsors profile. + """ + publishSponsorsTier( + """ + Parameters for PublishSponsorsTier + """ + input: PublishSponsorsTierInput! + ): PublishSponsorsTierPayload + """ Regenerates the identity provider recovery codes for an enterprise """ @@ -21321,6 +21341,16 @@ type Mutation { input: ResolveReviewThreadInput! ): ResolveReviewThreadPayload + """ + Retire a published payment tier from your GitHub Sponsors profile so it cannot be used to start new sponsorships. + """ + retireSponsorsTier( + """ + Parameters for RetireSponsorsTier + """ + input: RetireSponsorsTierInput! + ): RetireSponsorsTierPayload + """ Revoke the migrator role to a user for all organizations under an enterprise account. """ @@ -21381,6 +21411,16 @@ type Mutation { input: SetUserInteractionLimitInput! ): SetUserInteractionLimitPayload + """ + Starts a GitHub Enterprise Importer organization migration. + """ + startOrganizationMigration( + """ + Parameters for StartOrganizationMigration + """ + input: StartOrganizationMigrationInput! + ): StartOrganizationMigrationPayload + """ Starts a GitHub Enterprise Importer (GEI) repository migration. """ @@ -25700,7 +25740,7 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr ipAllowListForInstalledAppsEnabledSetting: IpAllowListForInstalledAppsEnabledSettingValue! """ - Check if the given account is sponsoring this user/organization. + Whether the given account is sponsoring this user/organization. """ isSponsoredBy( """ @@ -26508,16 +26548,26 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr sponsorsListing: SponsorsListing """ - The sponsorship from the viewer to this user/organization; that is, the - sponsorship where you're the sponsor. Only returns a sponsorship if it is active. + The sponsorship from the viewer to this user/organization; that is, the sponsorship where you're the sponsor. """ - sponsorshipForViewerAsSponsor: Sponsorship + sponsorshipForViewerAsSponsor( + """ + Whether to return the sponsorship only if it's still active. Pass false to + get the viewer's sponsorship back even if it has been cancelled. + """ + activeOnly: Boolean = true + ): Sponsorship """ - The sponsorship from this user/organization to the viewer; that is, the - sponsorship you're receiving. Only returns a sponsorship if it is active. + The sponsorship from this user/organization to the viewer; that is, the sponsorship you're receiving. """ - sponsorshipForViewerAsSponsorable: Sponsorship + sponsorshipForViewerAsSponsorable( + """ + Whether to return the sponsorship only if it's still active. Pass false to + get the sponsorship back even if it has been cancelled. + """ + activeOnly: Boolean = true + ): Sponsorship """ List of sponsorship updates sent from this sponsorable to sponsors. @@ -26553,6 +26603,12 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr This object's sponsorships as the maintainer. """ sponsorshipsAsMaintainer( + """ + Whether to include only sponsorships that are active right now, versus all + sponsorships this maintainer has ever received. + """ + activeOnly: Boolean = true + """ Returns the elements in the list that come after the specified cursor. """ @@ -26589,6 +26645,11 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr This object's sponsorships as the sponsor. """ sponsorshipsAsSponsor( + """ + Whether to include only sponsorships that are active right now, versus all sponsorships this sponsor has ever made. + """ + activeOnly: Boolean = true + """ Returns the elements in the list that come after the specified cursor. """ @@ -26703,6 +26764,28 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr """ teamsUrl: URI! + """ + The amount in United States cents (e.g., 500 = $5.00 USD) that this entity has + spent on GitHub to fund sponsorships. Only returns a value when viewed by the + user themselves or by a user who can manage sponsorships for the requested organization. + """ + totalSponsorshipAmountAsSponsorInCents( + """ + Filter payments to those that occurred on or after this time. + """ + since: DateTime + + """ + Filter payments to those made to the users or organizations with the specified usernames. + """ + sponsorableLogins: [String!] = [] + + """ + Filter payments to those that occurred before this time. + """ + until: DateTime + ): Int + """ The organization's Twitter username. """ @@ -27274,6 +27357,102 @@ enum OrganizationMembersCanCreateRepositoriesSettingValue { PRIVATE } +""" +A GitHub Enterprise Importer (GEI) organization migration. +""" +type OrganizationMigration implements Node { + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + Identifies the primary key from the database. + """ + databaseId: String + + """ + The reason the organization migration failed. + """ + failureReason: String + id: ID! + + """ + The remaining amount of repos to be migrated. + """ + remainingRepositoriesCount: Int + + """ + The name of the source organization to be migrated. + """ + sourceOrgName: String! + + """ + The URL of the source organization to migrate. + """ + sourceOrgUrl: URI! + + """ + The migration state. + """ + state: OrganizationMigrationState! + + """ + The name of the target organization. + """ + targetOrgName: String! + + """ + The total amount of repositories to be migrated. + """ + totalRepositoriesCount: Int +} + +""" +The Octoshift Organization migration state. +""" +enum OrganizationMigrationState { + """ + The Octoshift migration has failed. + """ + FAILED + + """ + The Octoshift migration is in progress. + """ + IN_PROGRESS + + """ + The Octoshift migration has not started. + """ + NOT_STARTED + + """ + The Octoshift migration is performing post repository migrations. + """ + POST_REPO_MIGRATION + + """ + The Octoshift migration is performing pre repository migrations. + """ + PRE_REPO_MIGRATION + + """ + The Octoshift migration has been queued. + """ + QUEUED + + """ + The Octoshift org migration is performing repository migrations. + """ + REPO_MIGRATION + + """ + The Octoshift migration has succeeded. + """ + SUCCEEDED +} + """ Used for argument of CreateProjectV2 mutation. """ @@ -27758,6 +27937,9 @@ enum PackageType { A maven package. """ MAVEN + @deprecated( + reason: "MAVEN will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2023-02-10 UTC." + ) """ An npm package. @@ -27784,6 +27966,9 @@ enum PackageType { A rubygems package. """ RUBYGEMS + @deprecated( + reason: "RUBYGEMS will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-12-28 UTC." + ) } """ @@ -29372,6 +29557,34 @@ type ProjectNext implements Closable & Node & Updatable { reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." ) + """ + List of fields and their constraints in the project + """ + fieldConstraints( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): ProjectNextFieldConfigurationConnection! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + """ List of fields in the project """ @@ -29722,6 +29935,51 @@ interface ProjectNextFieldCommon { ) } +""" +Configurations for project next fields. +""" +union ProjectNextFieldConfiguration = ProjectNextField | ProjectNextIterationField | ProjectNextSingleSelectField + +""" +The connection type for ProjectNextFieldConfiguration. +""" +type ProjectNextFieldConfigurationConnection { + """ + A list of edges. + """ + edges: [ProjectNextFieldConfigurationEdge] + + """ + A list of nodes. + """ + nodes: [ProjectNextFieldConfiguration] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! + + """ + Identifies the total count of items in the connection. + """ + totalCount: Int! +} + +""" +An edge in a connection. +""" +type ProjectNextFieldConfigurationEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: ProjectNextFieldConfiguration +} + """ The connection type for ProjectNextField. """ @@ -30067,6 +30325,14 @@ type ProjectNextItemFieldValue implements Node { reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." ) + """ + The project field that contains this value and it's constraint. + """ + projectFieldConstraint: ProjectNextFieldConfiguration! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + """ The project item that contains this value. """ @@ -30132,6 +30398,158 @@ type ProjectNextItemFieldValueEdge { node: ProjectNextItemFieldValue } +""" +An iteration field inside a project. +""" +type ProjectNextIterationField implements Node & ProjectNextFieldCommon { + """ + Iteration configuration settings + """ + configuration: ProjectNextIterationFieldConfiguration! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The field's type. + """ + dataType: ProjectNextFieldType! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + Identifies the primary key from the database. + """ + databaseId: Int + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + id: ID! + + """ + The project field's name. + """ + name: String! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The project that contains this field. + """ + project: ProjectNext! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The field's settings. + """ + settings: String + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + Identifies the date and time when the object was last updated. + """ + updatedAt: DateTime! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) +} + +""" +Iteration field configuration for a project. +""" +type ProjectNextIterationFieldConfiguration { + """ + The iteration's completed iterations + """ + completedIterations: [ProjectNextIterationFieldIteration!]! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The iteration's duration in days + """ + duration: Int! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The iteration's iterations + """ + iterations: [ProjectNextIterationFieldIteration!]! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The iteration's start day of the week + """ + startDay: Int! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) +} + +""" +Iteration field iteration settings for a project. +""" +type ProjectNextIterationFieldIteration { + """ + The iteration's duration in days + """ + duration: Int! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The iteration's ID. + """ + id: String! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The iteration's start date + """ + startDate: Date! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The iteration's title. + """ + title: String! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The iteration's html title. + """ + titleHTML: String! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) +} + """ Properties by which the return project can be ordered. """ @@ -30227,6 +30645,105 @@ interface ProjectNextOwner { ) } +""" +A single select field inside a project. +""" +type ProjectNextSingleSelectField implements Node & ProjectNextFieldCommon { + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The field's type. + """ + dataType: ProjectNextFieldType! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + Identifies the primary key from the database. + """ + databaseId: Int + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + id: ID! + + """ + The project field's name. + """ + name: String! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + Options for the single select field + """ + options: [ProjectNextSingleSelectFieldOption!]! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The project that contains this field. + """ + project: ProjectNext! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The field's settings. + """ + settings: String + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + Identifies the date and time when the object was last updated. + """ + updatedAt: DateTime! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) +} + +""" +Single select field option for a configuration for a project. +""" +type ProjectNextSingleSelectFieldOption { + """ + The option's ID. + """ + id: String! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The option's name. + """ + name: String! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The option's html name. + """ + nameHTML: String! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) +} + """ Ways in which lists of projects can be ordered upon return. """ @@ -32738,6 +33255,36 @@ type PublicKeyEdge { node: PublicKey } +""" +Autogenerated input type of PublishSponsorsTier +""" +input PublishSponsorsTierInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the draft tier to publish. + """ + tierId: ID! @possibleTypes(concreteTypes: ["SponsorsTier"]) +} + +""" +Autogenerated return type of PublishSponsorsTier +""" +type PublishSponsorsTierPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The tier that was published. + """ + sponsorsTier: SponsorsTier +} + """ A repository pull request. """ @@ -37789,6 +38336,11 @@ type RemoveReactionPayload { """ reaction: Reaction + """ + The reaction groups for the subject. + """ + reactionGroups: [ReactionGroup!] + """ The reactable subject. """ @@ -40851,6 +41403,11 @@ type Repository implements Node & PackageOwner & ProjectOwner & ProjectV2Recent """ hasProjectsEnabled: Boolean! + """ + Whether vulnerability alerts are enabled for the repository. + """ + hasVulnerabilityAlertsEnabled: Boolean! + """ Indicates if the repository has wiki feature enabled. """ @@ -43747,6 +44304,36 @@ type RestrictedContribution implements Contribution { user: User! } +""" +Autogenerated input type of RetireSponsorsTier +""" +input RetireSponsorsTierInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the published tier to retire. + """ + tierId: ID! @possibleTypes(concreteTypes: ["SponsorsTier"]) +} + +""" +Autogenerated return type of RetireSponsorsTier +""" +type RetireSponsorsTierPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The tier that was retired. + """ + sponsorsTier: SponsorsTier +} + """ A user, team, or app who has the ability to dismiss a review on a protected branch. """ @@ -45214,7 +45801,7 @@ interface Sponsorable { hasSponsorsListing: Boolean! """ - Check if the given account is sponsoring this user/organization. + Whether the given account is sponsoring this user/organization. """ isSponsoredBy( """ @@ -45364,16 +45951,26 @@ interface Sponsorable { sponsorsListing: SponsorsListing """ - The sponsorship from the viewer to this user/organization; that is, the - sponsorship where you're the sponsor. Only returns a sponsorship if it is active. + The sponsorship from the viewer to this user/organization; that is, the sponsorship where you're the sponsor. """ - sponsorshipForViewerAsSponsor: Sponsorship + sponsorshipForViewerAsSponsor( + """ + Whether to return the sponsorship only if it's still active. Pass false to + get the viewer's sponsorship back even if it has been cancelled. + """ + activeOnly: Boolean = true + ): Sponsorship """ - The sponsorship from this user/organization to the viewer; that is, the - sponsorship you're receiving. Only returns a sponsorship if it is active. + The sponsorship from this user/organization to the viewer; that is, the sponsorship you're receiving. """ - sponsorshipForViewerAsSponsorable: Sponsorship + sponsorshipForViewerAsSponsorable( + """ + Whether to return the sponsorship only if it's still active. Pass false to + get the sponsorship back even if it has been cancelled. + """ + activeOnly: Boolean = true + ): Sponsorship """ List of sponsorship updates sent from this sponsorable to sponsors. @@ -45409,6 +46006,12 @@ interface Sponsorable { This object's sponsorships as the maintainer. """ sponsorshipsAsMaintainer( + """ + Whether to include only sponsorships that are active right now, versus all + sponsorships this maintainer has ever received. + """ + activeOnly: Boolean = true + """ Returns the elements in the list that come after the specified cursor. """ @@ -45445,6 +46048,11 @@ interface Sponsorable { This object's sponsorships as the sponsor. """ sponsorshipsAsSponsor( + """ + Whether to include only sponsorships that are active right now, versus all sponsorships this sponsor has ever made. + """ + activeOnly: Boolean = true + """ Returns the elements in the list that come after the specified cursor. """ @@ -45479,6 +46087,28 @@ interface Sponsorable { orderBy: SponsorshipOrder ): SponsorshipConnection! + """ + The amount in United States cents (e.g., 500 = $5.00 USD) that this entity has + spent on GitHub to fund sponsorships. Only returns a value when viewed by the + user themselves or by a user who can manage sponsorships for the requested organization. + """ + totalSponsorshipAmountAsSponsorInCents( + """ + Filter payments to those that occurred on or after this time. + """ + since: DateTime + + """ + Filter payments to those made to the users or organizations with the specified usernames. + """ + sponsorableLogins: [String!] = [] + + """ + Filter payments to those that occurred before this time. + """ + until: DateTime + ): Int + """ Whether or not the viewer is able to sponsor this user/organization. """ @@ -47011,6 +47641,13 @@ type SponsorsListing implements Node { """ activeGoal: SponsorsGoal + """ + The Stripe Connect account currently in use for payouts for this Sponsors + listing, if any. Will only return a value when queried by the maintainer + themselves, or by an admin of the sponsorable organization. + """ + activeStripeConnectAccount: StripeConnectAccount + """ The name of the country or region with the maintainer's bank account or fiscal host. Will only return a value when queried by the maintainer themselves, or @@ -47420,13 +48057,19 @@ type Sponsorship implements Node { createdAt: DateTime! id: ID! + """ + Whether the sponsorship is active. False implies the sponsor is a past sponsor + of the maintainer, while true implies they are a current sponsor. + """ + isActive: Boolean! + """ Whether this sponsorship represents a one-time payment versus a recurring sponsorship. """ isOneTimePayment: Boolean! """ - Check if the sponsor has chosen to receive sponsorship update emails sent from + Whether the sponsor has chosen to receive sponsorship update emails sent from the sponsorable. Only returns a non-null value when the viewer has permission to know this. """ isSponsorOptedIntoEmail: Boolean @@ -47529,6 +48172,11 @@ type SponsorshipEdge { An update sent to sponsors of a user or organization on GitHub Sponsors. """ type SponsorshipNewsletter implements Node { + """ + The author of the newsletter. + """ + author: User + """ The contents of the newsletter, the message the sponsorable wanted to give. """ @@ -47906,6 +48554,51 @@ type StarredRepositoryEdge { starredAt: DateTime! } +""" +Autogenerated input type of StartOrganizationMigration +""" +input StartOrganizationMigrationInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The migration source access token. + """ + sourceAccessToken: String! + + """ + The URL of the organization to migrate. + """ + sourceOrgUrl: URI! + + """ + The ID of the enterprise the target organization belongs to. + """ + targetEnterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) + + """ + The name of the target organization. + """ + targetOrgName: String! +} + +""" +Autogenerated return type of StartOrganizationMigration +""" +type StartOrganizationMigrationPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The new organization migration. + """ + orgMigration: OrganizationMigration +} + """ Autogenerated input type of StartRepositoryMigration """ @@ -48264,6 +48957,46 @@ enum StatusState { SUCCESS } +""" +A Stripe Connect account for receiving sponsorship funds from GitHub Sponsors. +""" +type StripeConnectAccount { + """ + The account number used to identify this Stripe Connect account. + """ + accountId: String! + + """ + The name of the country or region of an external account, such as a bank + account, tied to the Stripe Connect account. Will only return a value when + queried by the maintainer of the associated GitHub Sponsors profile + themselves, or by an admin of the sponsorable organization. + """ + billingCountryOrRegion: String + + """ + The name of the country or region of the Stripe Connect account. Will only + return a value when queried by the maintainer of the associated GitHub + Sponsors profile themselves, or by an admin of the sponsorable organization. + """ + countryOrRegion: String + + """ + Whether this Stripe Connect account is currently in use for the associated GitHub Sponsors profile. + """ + isActive: Boolean! + + """ + The GitHub Sponsors profile associated with this Stripe Connect account. + """ + sponsorsListing: SponsorsListing! + + """ + The URL to access this Stripe Connect account on Stripe's website. + """ + stripeDashboardUrl: URI! +} + """ Autogenerated input type of SubmitPullRequestReview """ @@ -53415,6 +54148,20 @@ input UpdateProjectNextItemFieldInput { """ clientMutationId: String + """ + The id of the field to be updated. Only supports custom fields and status for now. + + **Upcoming Change on 2023-01-01 UTC** + **Description:** `fieldConstraintId` will be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, + to find a suitable replacement. + **Reason:** The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. + """ + fieldConstraintId: ID + @possibleTypes( + concreteTypes: ["ProjectNextField", "ProjectNextIterationField", "ProjectNextSingleSelectField"] + abstractType: "ProjectNextFieldConfiguration" + ) + """ The id of the field to be updated. @@ -53425,6 +54172,19 @@ input UpdateProjectNextItemFieldInput { """ fieldId: ID @possibleTypes(concreteTypes: ["ProjectNextField"]) + """ + The id of the field to be updated. Only supports custom fields and status for now. + + **Upcoming Change on 2022-10-01 UTC** + **Description:** `fieldWithSettingId` will be removed. Use `fieldConstraintId` instead + **Reason:** Renamed to fieldConstraintId to improve naming consistency. + """ + fieldWithSettingId: ID + @possibleTypes( + concreteTypes: ["ProjectNextField", "ProjectNextIterationField", "ProjectNextSingleSelectField"] + abstractType: "ProjectNextFieldConfiguration" + ) + """ The id of the item to be updated. This field is required. @@ -54709,7 +55469,7 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectNextOwn isSiteAdmin: Boolean! """ - Check if the given account is sponsoring this user/organization. + Whether the given account is sponsoring this user/organization. """ isSponsoredBy( """ @@ -55607,16 +56367,26 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectNextOwn sponsorsListing: SponsorsListing """ - The sponsorship from the viewer to this user/organization; that is, the - sponsorship where you're the sponsor. Only returns a sponsorship if it is active. + The sponsorship from the viewer to this user/organization; that is, the sponsorship where you're the sponsor. """ - sponsorshipForViewerAsSponsor: Sponsorship + sponsorshipForViewerAsSponsor( + """ + Whether to return the sponsorship only if it's still active. Pass false to + get the viewer's sponsorship back even if it has been cancelled. + """ + activeOnly: Boolean = true + ): Sponsorship """ - The sponsorship from this user/organization to the viewer; that is, the - sponsorship you're receiving. Only returns a sponsorship if it is active. + The sponsorship from this user/organization to the viewer; that is, the sponsorship you're receiving. """ - sponsorshipForViewerAsSponsorable: Sponsorship + sponsorshipForViewerAsSponsorable( + """ + Whether to return the sponsorship only if it's still active. Pass false to + get the sponsorship back even if it has been cancelled. + """ + activeOnly: Boolean = true + ): Sponsorship """ List of sponsorship updates sent from this sponsorable to sponsors. @@ -55652,6 +56422,12 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectNextOwn This object's sponsorships as the maintainer. """ sponsorshipsAsMaintainer( + """ + Whether to include only sponsorships that are active right now, versus all + sponsorships this maintainer has ever received. + """ + activeOnly: Boolean = true + """ Returns the elements in the list that come after the specified cursor. """ @@ -55688,6 +56464,11 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectNextOwn This object's sponsorships as the sponsor. """ sponsorshipsAsSponsor( + """ + Whether to include only sponsorships that are active right now, versus all sponsorships this sponsor has ever made. + """ + activeOnly: Boolean = true + """ Returns the elements in the list that come after the specified cursor. """ @@ -55797,6 +56578,28 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectNextOwn since: DateTime ): RepositoryConnection! + """ + The amount in United States cents (e.g., 500 = $5.00 USD) that this entity has + spent on GitHub to fund sponsorships. Only returns a value when viewed by the + user themselves or by a user who can manage sponsorships for the requested organization. + """ + totalSponsorshipAmountAsSponsorInCents( + """ + Filter payments to those that occurred on or after this time. + """ + since: DateTime + + """ + Filter payments to those made to the users or organizations with the specified usernames. + """ + sponsorableLogins: [String!] = [] + + """ + Filter payments to those that occurred before this time. + """ + until: DateTime + ): Int + """ The user's Twitter username. """ diff --git a/data/graphql/graphql_upcoming_changes.public.yml b/data/graphql/graphql_upcoming_changes.public.yml index c9c009c4be..7cfaa0ff99 100644 --- a/data/graphql/graphql_upcoming_changes.public.yml +++ b/data/graphql/graphql_upcoming_changes.public.yml @@ -120,6 +120,14 @@ upcoming_changes: date: '2022-11-21' criticality: breaking owner: s-anupam + - location: PackageType.RUBYGEMS + description: '`RUBYGEMS` will be removed.' + reason: + RUBYGEMS will be removed from this enum as this type will be migrated to + only be used by the Packages REST API. + date: '2022-12-28' + criticality: breaking + owner: ankitkaushal01 - location: AddProjectDraftIssueInput.assigneeIds description: '`assigneeIds` will be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, @@ -1734,6 +1742,14 @@ upcoming_changes: date: '2023-01-01T00:00:00+00:00' criticality: breaking owner: lukewar + - location: PackageType.MAVEN + description: '`MAVEN` will be removed.' + reason: + MAVEN will be removed from this enum as this type will be migrated to only + be used by the Packages REST API. + date: '2023-02-10' + criticality: breaking + owner: ankitkaushal01 - location: ProjectV2View.groupBy description: '`groupBy` will be removed. Check out the `ProjectV2View#group_by_fields` diff --git a/data/graphql/schema.docs.graphql b/data/graphql/schema.docs.graphql index 8764ba0a13..08050815b5 100644 --- a/data/graphql/schema.docs.graphql +++ b/data/graphql/schema.docs.graphql @@ -990,6 +990,11 @@ type AddReactionPayload { """ reaction: Reaction + """ + The reaction groups for the subject. + """ + reactionGroups: [ReactionGroup!] + """ The reactable subject. """ @@ -7155,6 +7160,11 @@ input CreatePullRequestInput { """ headRefName: String! + """ + The Node ID of the head repository. + """ + headRepositoryId: ID @possibleTypes(concreteTypes: ["Repository"]) + """ Indicates whether maintainers can modify the pull request. """ @@ -21141,6 +21151,16 @@ type Mutation { input: PinIssueInput! ): PinIssuePayload + """ + Publish an existing sponsorship tier that is currently still a draft to a GitHub Sponsors profile. + """ + publishSponsorsTier( + """ + Parameters for PublishSponsorsTier + """ + input: PublishSponsorsTierInput! + ): PublishSponsorsTierPayload + """ Regenerates the identity provider recovery codes for an enterprise """ @@ -21321,6 +21341,16 @@ type Mutation { input: ResolveReviewThreadInput! ): ResolveReviewThreadPayload + """ + Retire a published payment tier from your GitHub Sponsors profile so it cannot be used to start new sponsorships. + """ + retireSponsorsTier( + """ + Parameters for RetireSponsorsTier + """ + input: RetireSponsorsTierInput! + ): RetireSponsorsTierPayload + """ Revoke the migrator role to a user for all organizations under an enterprise account. """ @@ -21381,6 +21411,16 @@ type Mutation { input: SetUserInteractionLimitInput! ): SetUserInteractionLimitPayload + """ + Starts a GitHub Enterprise Importer organization migration. + """ + startOrganizationMigration( + """ + Parameters for StartOrganizationMigration + """ + input: StartOrganizationMigrationInput! + ): StartOrganizationMigrationPayload + """ Starts a GitHub Enterprise Importer (GEI) repository migration. """ @@ -25700,7 +25740,7 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr ipAllowListForInstalledAppsEnabledSetting: IpAllowListForInstalledAppsEnabledSettingValue! """ - Check if the given account is sponsoring this user/organization. + Whether the given account is sponsoring this user/organization. """ isSponsoredBy( """ @@ -26508,16 +26548,26 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr sponsorsListing: SponsorsListing """ - The sponsorship from the viewer to this user/organization; that is, the - sponsorship where you're the sponsor. Only returns a sponsorship if it is active. + The sponsorship from the viewer to this user/organization; that is, the sponsorship where you're the sponsor. """ - sponsorshipForViewerAsSponsor: Sponsorship + sponsorshipForViewerAsSponsor( + """ + Whether to return the sponsorship only if it's still active. Pass false to + get the viewer's sponsorship back even if it has been cancelled. + """ + activeOnly: Boolean = true + ): Sponsorship """ - The sponsorship from this user/organization to the viewer; that is, the - sponsorship you're receiving. Only returns a sponsorship if it is active. + The sponsorship from this user/organization to the viewer; that is, the sponsorship you're receiving. """ - sponsorshipForViewerAsSponsorable: Sponsorship + sponsorshipForViewerAsSponsorable( + """ + Whether to return the sponsorship only if it's still active. Pass false to + get the sponsorship back even if it has been cancelled. + """ + activeOnly: Boolean = true + ): Sponsorship """ List of sponsorship updates sent from this sponsorable to sponsors. @@ -26553,6 +26603,12 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr This object's sponsorships as the maintainer. """ sponsorshipsAsMaintainer( + """ + Whether to include only sponsorships that are active right now, versus all + sponsorships this maintainer has ever received. + """ + activeOnly: Boolean = true + """ Returns the elements in the list that come after the specified cursor. """ @@ -26589,6 +26645,11 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr This object's sponsorships as the sponsor. """ sponsorshipsAsSponsor( + """ + Whether to include only sponsorships that are active right now, versus all sponsorships this sponsor has ever made. + """ + activeOnly: Boolean = true + """ Returns the elements in the list that come after the specified cursor. """ @@ -26703,6 +26764,28 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr """ teamsUrl: URI! + """ + The amount in United States cents (e.g., 500 = $5.00 USD) that this entity has + spent on GitHub to fund sponsorships. Only returns a value when viewed by the + user themselves or by a user who can manage sponsorships for the requested organization. + """ + totalSponsorshipAmountAsSponsorInCents( + """ + Filter payments to those that occurred on or after this time. + """ + since: DateTime + + """ + Filter payments to those made to the users or organizations with the specified usernames. + """ + sponsorableLogins: [String!] = [] + + """ + Filter payments to those that occurred before this time. + """ + until: DateTime + ): Int + """ The organization's Twitter username. """ @@ -27274,6 +27357,102 @@ enum OrganizationMembersCanCreateRepositoriesSettingValue { PRIVATE } +""" +A GitHub Enterprise Importer (GEI) organization migration. +""" +type OrganizationMigration implements Node { + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + Identifies the primary key from the database. + """ + databaseId: String + + """ + The reason the organization migration failed. + """ + failureReason: String + id: ID! + + """ + The remaining amount of repos to be migrated. + """ + remainingRepositoriesCount: Int + + """ + The name of the source organization to be migrated. + """ + sourceOrgName: String! + + """ + The URL of the source organization to migrate. + """ + sourceOrgUrl: URI! + + """ + The migration state. + """ + state: OrganizationMigrationState! + + """ + The name of the target organization. + """ + targetOrgName: String! + + """ + The total amount of repositories to be migrated. + """ + totalRepositoriesCount: Int +} + +""" +The Octoshift Organization migration state. +""" +enum OrganizationMigrationState { + """ + The Octoshift migration has failed. + """ + FAILED + + """ + The Octoshift migration is in progress. + """ + IN_PROGRESS + + """ + The Octoshift migration has not started. + """ + NOT_STARTED + + """ + The Octoshift migration is performing post repository migrations. + """ + POST_REPO_MIGRATION + + """ + The Octoshift migration is performing pre repository migrations. + """ + PRE_REPO_MIGRATION + + """ + The Octoshift migration has been queued. + """ + QUEUED + + """ + The Octoshift org migration is performing repository migrations. + """ + REPO_MIGRATION + + """ + The Octoshift migration has succeeded. + """ + SUCCEEDED +} + """ Used for argument of CreateProjectV2 mutation. """ @@ -27758,6 +27937,9 @@ enum PackageType { A maven package. """ MAVEN + @deprecated( + reason: "MAVEN will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2023-02-10 UTC." + ) """ An npm package. @@ -27784,6 +27966,9 @@ enum PackageType { A rubygems package. """ RUBYGEMS + @deprecated( + reason: "RUBYGEMS will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-12-28 UTC." + ) } """ @@ -29372,6 +29557,34 @@ type ProjectNext implements Closable & Node & Updatable { reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." ) + """ + List of fields and their constraints in the project + """ + fieldConstraints( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): ProjectNextFieldConfigurationConnection! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + """ List of fields in the project """ @@ -29722,6 +29935,51 @@ interface ProjectNextFieldCommon { ) } +""" +Configurations for project next fields. +""" +union ProjectNextFieldConfiguration = ProjectNextField | ProjectNextIterationField | ProjectNextSingleSelectField + +""" +The connection type for ProjectNextFieldConfiguration. +""" +type ProjectNextFieldConfigurationConnection { + """ + A list of edges. + """ + edges: [ProjectNextFieldConfigurationEdge] + + """ + A list of nodes. + """ + nodes: [ProjectNextFieldConfiguration] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! + + """ + Identifies the total count of items in the connection. + """ + totalCount: Int! +} + +""" +An edge in a connection. +""" +type ProjectNextFieldConfigurationEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: ProjectNextFieldConfiguration +} + """ The connection type for ProjectNextField. """ @@ -30067,6 +30325,14 @@ type ProjectNextItemFieldValue implements Node { reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." ) + """ + The project field that contains this value and it's constraint. + """ + projectFieldConstraint: ProjectNextFieldConfiguration! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + """ The project item that contains this value. """ @@ -30132,6 +30398,158 @@ type ProjectNextItemFieldValueEdge { node: ProjectNextItemFieldValue } +""" +An iteration field inside a project. +""" +type ProjectNextIterationField implements Node & ProjectNextFieldCommon { + """ + Iteration configuration settings + """ + configuration: ProjectNextIterationFieldConfiguration! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The field's type. + """ + dataType: ProjectNextFieldType! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + Identifies the primary key from the database. + """ + databaseId: Int + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + id: ID! + + """ + The project field's name. + """ + name: String! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The project that contains this field. + """ + project: ProjectNext! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The field's settings. + """ + settings: String + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + Identifies the date and time when the object was last updated. + """ + updatedAt: DateTime! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) +} + +""" +Iteration field configuration for a project. +""" +type ProjectNextIterationFieldConfiguration { + """ + The iteration's completed iterations + """ + completedIterations: [ProjectNextIterationFieldIteration!]! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The iteration's duration in days + """ + duration: Int! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The iteration's iterations + """ + iterations: [ProjectNextIterationFieldIteration!]! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The iteration's start day of the week + """ + startDay: Int! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) +} + +""" +Iteration field iteration settings for a project. +""" +type ProjectNextIterationFieldIteration { + """ + The iteration's duration in days + """ + duration: Int! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The iteration's ID. + """ + id: String! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The iteration's start date + """ + startDate: Date! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The iteration's title. + """ + title: String! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The iteration's html title. + """ + titleHTML: String! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) +} + """ Properties by which the return project can be ordered. """ @@ -30227,6 +30645,105 @@ interface ProjectNextOwner { ) } +""" +A single select field inside a project. +""" +type ProjectNextSingleSelectField implements Node & ProjectNextFieldCommon { + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The field's type. + """ + dataType: ProjectNextFieldType! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + Identifies the primary key from the database. + """ + databaseId: Int + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + id: ID! + + """ + The project field's name. + """ + name: String! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + Options for the single select field + """ + options: [ProjectNextSingleSelectFieldOption!]! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The project that contains this field. + """ + project: ProjectNext! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The field's settings. + """ + settings: String + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + Identifies the date and time when the object was last updated. + """ + updatedAt: DateTime! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) +} + +""" +Single select field option for a configuration for a project. +""" +type ProjectNextSingleSelectFieldOption { + """ + The option's ID. + """ + id: String! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The option's name. + """ + name: String! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) + + """ + The option's html name. + """ + nameHTML: String! + @deprecated( + reason: "The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC." + ) +} + """ Ways in which lists of projects can be ordered upon return. """ @@ -32738,6 +33255,36 @@ type PublicKeyEdge { node: PublicKey } +""" +Autogenerated input type of PublishSponsorsTier +""" +input PublishSponsorsTierInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the draft tier to publish. + """ + tierId: ID! @possibleTypes(concreteTypes: ["SponsorsTier"]) +} + +""" +Autogenerated return type of PublishSponsorsTier +""" +type PublishSponsorsTierPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The tier that was published. + """ + sponsorsTier: SponsorsTier +} + """ A repository pull request. """ @@ -37789,6 +38336,11 @@ type RemoveReactionPayload { """ reaction: Reaction + """ + The reaction groups for the subject. + """ + reactionGroups: [ReactionGroup!] + """ The reactable subject. """ @@ -40851,6 +41403,11 @@ type Repository implements Node & PackageOwner & ProjectOwner & ProjectV2Recent """ hasProjectsEnabled: Boolean! + """ + Whether vulnerability alerts are enabled for the repository. + """ + hasVulnerabilityAlertsEnabled: Boolean! + """ Indicates if the repository has wiki feature enabled. """ @@ -43747,6 +44304,36 @@ type RestrictedContribution implements Contribution { user: User! } +""" +Autogenerated input type of RetireSponsorsTier +""" +input RetireSponsorsTierInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the published tier to retire. + """ + tierId: ID! @possibleTypes(concreteTypes: ["SponsorsTier"]) +} + +""" +Autogenerated return type of RetireSponsorsTier +""" +type RetireSponsorsTierPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The tier that was retired. + """ + sponsorsTier: SponsorsTier +} + """ A user, team, or app who has the ability to dismiss a review on a protected branch. """ @@ -45214,7 +45801,7 @@ interface Sponsorable { hasSponsorsListing: Boolean! """ - Check if the given account is sponsoring this user/organization. + Whether the given account is sponsoring this user/organization. """ isSponsoredBy( """ @@ -45364,16 +45951,26 @@ interface Sponsorable { sponsorsListing: SponsorsListing """ - The sponsorship from the viewer to this user/organization; that is, the - sponsorship where you're the sponsor. Only returns a sponsorship if it is active. + The sponsorship from the viewer to this user/organization; that is, the sponsorship where you're the sponsor. """ - sponsorshipForViewerAsSponsor: Sponsorship + sponsorshipForViewerAsSponsor( + """ + Whether to return the sponsorship only if it's still active. Pass false to + get the viewer's sponsorship back even if it has been cancelled. + """ + activeOnly: Boolean = true + ): Sponsorship """ - The sponsorship from this user/organization to the viewer; that is, the - sponsorship you're receiving. Only returns a sponsorship if it is active. + The sponsorship from this user/organization to the viewer; that is, the sponsorship you're receiving. """ - sponsorshipForViewerAsSponsorable: Sponsorship + sponsorshipForViewerAsSponsorable( + """ + Whether to return the sponsorship only if it's still active. Pass false to + get the sponsorship back even if it has been cancelled. + """ + activeOnly: Boolean = true + ): Sponsorship """ List of sponsorship updates sent from this sponsorable to sponsors. @@ -45409,6 +46006,12 @@ interface Sponsorable { This object's sponsorships as the maintainer. """ sponsorshipsAsMaintainer( + """ + Whether to include only sponsorships that are active right now, versus all + sponsorships this maintainer has ever received. + """ + activeOnly: Boolean = true + """ Returns the elements in the list that come after the specified cursor. """ @@ -45445,6 +46048,11 @@ interface Sponsorable { This object's sponsorships as the sponsor. """ sponsorshipsAsSponsor( + """ + Whether to include only sponsorships that are active right now, versus all sponsorships this sponsor has ever made. + """ + activeOnly: Boolean = true + """ Returns the elements in the list that come after the specified cursor. """ @@ -45479,6 +46087,28 @@ interface Sponsorable { orderBy: SponsorshipOrder ): SponsorshipConnection! + """ + The amount in United States cents (e.g., 500 = $5.00 USD) that this entity has + spent on GitHub to fund sponsorships. Only returns a value when viewed by the + user themselves or by a user who can manage sponsorships for the requested organization. + """ + totalSponsorshipAmountAsSponsorInCents( + """ + Filter payments to those that occurred on or after this time. + """ + since: DateTime + + """ + Filter payments to those made to the users or organizations with the specified usernames. + """ + sponsorableLogins: [String!] = [] + + """ + Filter payments to those that occurred before this time. + """ + until: DateTime + ): Int + """ Whether or not the viewer is able to sponsor this user/organization. """ @@ -47011,6 +47641,13 @@ type SponsorsListing implements Node { """ activeGoal: SponsorsGoal + """ + The Stripe Connect account currently in use for payouts for this Sponsors + listing, if any. Will only return a value when queried by the maintainer + themselves, or by an admin of the sponsorable organization. + """ + activeStripeConnectAccount: StripeConnectAccount + """ The name of the country or region with the maintainer's bank account or fiscal host. Will only return a value when queried by the maintainer themselves, or @@ -47420,13 +48057,19 @@ type Sponsorship implements Node { createdAt: DateTime! id: ID! + """ + Whether the sponsorship is active. False implies the sponsor is a past sponsor + of the maintainer, while true implies they are a current sponsor. + """ + isActive: Boolean! + """ Whether this sponsorship represents a one-time payment versus a recurring sponsorship. """ isOneTimePayment: Boolean! """ - Check if the sponsor has chosen to receive sponsorship update emails sent from + Whether the sponsor has chosen to receive sponsorship update emails sent from the sponsorable. Only returns a non-null value when the viewer has permission to know this. """ isSponsorOptedIntoEmail: Boolean @@ -47529,6 +48172,11 @@ type SponsorshipEdge { An update sent to sponsors of a user or organization on GitHub Sponsors. """ type SponsorshipNewsletter implements Node { + """ + The author of the newsletter. + """ + author: User + """ The contents of the newsletter, the message the sponsorable wanted to give. """ @@ -47906,6 +48554,51 @@ type StarredRepositoryEdge { starredAt: DateTime! } +""" +Autogenerated input type of StartOrganizationMigration +""" +input StartOrganizationMigrationInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The migration source access token. + """ + sourceAccessToken: String! + + """ + The URL of the organization to migrate. + """ + sourceOrgUrl: URI! + + """ + The ID of the enterprise the target organization belongs to. + """ + targetEnterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) + + """ + The name of the target organization. + """ + targetOrgName: String! +} + +""" +Autogenerated return type of StartOrganizationMigration +""" +type StartOrganizationMigrationPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The new organization migration. + """ + orgMigration: OrganizationMigration +} + """ Autogenerated input type of StartRepositoryMigration """ @@ -48264,6 +48957,46 @@ enum StatusState { SUCCESS } +""" +A Stripe Connect account for receiving sponsorship funds from GitHub Sponsors. +""" +type StripeConnectAccount { + """ + The account number used to identify this Stripe Connect account. + """ + accountId: String! + + """ + The name of the country or region of an external account, such as a bank + account, tied to the Stripe Connect account. Will only return a value when + queried by the maintainer of the associated GitHub Sponsors profile + themselves, or by an admin of the sponsorable organization. + """ + billingCountryOrRegion: String + + """ + The name of the country or region of the Stripe Connect account. Will only + return a value when queried by the maintainer of the associated GitHub + Sponsors profile themselves, or by an admin of the sponsorable organization. + """ + countryOrRegion: String + + """ + Whether this Stripe Connect account is currently in use for the associated GitHub Sponsors profile. + """ + isActive: Boolean! + + """ + The GitHub Sponsors profile associated with this Stripe Connect account. + """ + sponsorsListing: SponsorsListing! + + """ + The URL to access this Stripe Connect account on Stripe's website. + """ + stripeDashboardUrl: URI! +} + """ Autogenerated input type of SubmitPullRequestReview """ @@ -53415,6 +54148,20 @@ input UpdateProjectNextItemFieldInput { """ clientMutationId: String + """ + The id of the field to be updated. Only supports custom fields and status for now. + + **Upcoming Change on 2023-01-01 UTC** + **Description:** `fieldConstraintId` will be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, + to find a suitable replacement. + **Reason:** The `ProjectNext` API is deprecated in favour of the more capable `ProjectV2` API. + """ + fieldConstraintId: ID + @possibleTypes( + concreteTypes: ["ProjectNextField", "ProjectNextIterationField", "ProjectNextSingleSelectField"] + abstractType: "ProjectNextFieldConfiguration" + ) + """ The id of the field to be updated. @@ -53425,6 +54172,19 @@ input UpdateProjectNextItemFieldInput { """ fieldId: ID @possibleTypes(concreteTypes: ["ProjectNextField"]) + """ + The id of the field to be updated. Only supports custom fields and status for now. + + **Upcoming Change on 2022-10-01 UTC** + **Description:** `fieldWithSettingId` will be removed. Use `fieldConstraintId` instead + **Reason:** Renamed to fieldConstraintId to improve naming consistency. + """ + fieldWithSettingId: ID + @possibleTypes( + concreteTypes: ["ProjectNextField", "ProjectNextIterationField", "ProjectNextSingleSelectField"] + abstractType: "ProjectNextFieldConfiguration" + ) + """ The id of the item to be updated. This field is required. @@ -54709,7 +55469,7 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectNextOwn isSiteAdmin: Boolean! """ - Check if the given account is sponsoring this user/organization. + Whether the given account is sponsoring this user/organization. """ isSponsoredBy( """ @@ -55607,16 +56367,26 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectNextOwn sponsorsListing: SponsorsListing """ - The sponsorship from the viewer to this user/organization; that is, the - sponsorship where you're the sponsor. Only returns a sponsorship if it is active. + The sponsorship from the viewer to this user/organization; that is, the sponsorship where you're the sponsor. """ - sponsorshipForViewerAsSponsor: Sponsorship + sponsorshipForViewerAsSponsor( + """ + Whether to return the sponsorship only if it's still active. Pass false to + get the viewer's sponsorship back even if it has been cancelled. + """ + activeOnly: Boolean = true + ): Sponsorship """ - The sponsorship from this user/organization to the viewer; that is, the - sponsorship you're receiving. Only returns a sponsorship if it is active. + The sponsorship from this user/organization to the viewer; that is, the sponsorship you're receiving. """ - sponsorshipForViewerAsSponsorable: Sponsorship + sponsorshipForViewerAsSponsorable( + """ + Whether to return the sponsorship only if it's still active. Pass false to + get the sponsorship back even if it has been cancelled. + """ + activeOnly: Boolean = true + ): Sponsorship """ List of sponsorship updates sent from this sponsorable to sponsors. @@ -55652,6 +56422,12 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectNextOwn This object's sponsorships as the maintainer. """ sponsorshipsAsMaintainer( + """ + Whether to include only sponsorships that are active right now, versus all + sponsorships this maintainer has ever received. + """ + activeOnly: Boolean = true + """ Returns the elements in the list that come after the specified cursor. """ @@ -55688,6 +56464,11 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectNextOwn This object's sponsorships as the sponsor. """ sponsorshipsAsSponsor( + """ + Whether to include only sponsorships that are active right now, versus all sponsorships this sponsor has ever made. + """ + activeOnly: Boolean = true + """ Returns the elements in the list that come after the specified cursor. """ @@ -55797,6 +56578,28 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectNextOwn since: DateTime ): RepositoryConnection! + """ + The amount in United States cents (e.g., 500 = $5.00 USD) that this entity has + spent on GitHub to fund sponsorships. Only returns a value when viewed by the + user themselves or by a user who can manage sponsorships for the requested organization. + """ + totalSponsorshipAmountAsSponsorInCents( + """ + Filter payments to those that occurred on or after this time. + """ + since: DateTime + + """ + Filter payments to those made to the users or organizations with the specified usernames. + """ + sponsorableLogins: [String!] = [] + + """ + Filter payments to those that occurred before this time. + """ + until: DateTime + ): Int + """ The user's Twitter username. """ diff --git a/lib/graphql/static/changelog.json b/lib/graphql/static/changelog.json index 4baa8d637d..46a27a238d 100644 --- a/lib/graphql/static/changelog.json +++ b/lib/graphql/static/changelog.json @@ -1,4 +1,70 @@ [ + { + "schemaChanges": [ + { + "title": "The GraphQL schema includes these changes:", + "changes": [ + "

Type OrganizationMigration was added

", + "

Type OrganizationMigrationState was added

", + "

Type ProjectNextFieldConfiguration was added

", + "

Type ProjectNextFieldConfigurationConnection was added

", + "

Type ProjectNextFieldConfigurationEdge was added

", + "

Type ProjectNextIterationField was added

", + "

Type ProjectNextIterationFieldConfiguration was added

", + "

Type ProjectNextIterationFieldIteration was added

", + "

Type ProjectNextSingleSelectField was added

", + "

Type ProjectNextSingleSelectFieldOption was added

", + "

Type PublishSponsorsTierInput was added

", + "

Type PublishSponsorsTierPayload was added

", + "

Type RetireSponsorsTierInput was added

", + "

Type RetireSponsorsTierPayload was added

", + "

Type StartOrganizationMigrationInput was added

", + "

Type StartOrganizationMigrationPayload was added

", + "

Type StripeConnectAccount was added

", + "

Field reactionGroups was added to object type AddReactionPayload

", + "

Input field headRepositoryId was added to input object type CreatePullRequestInput

", + "

Field publishSponsorsTier was added to object type Mutation

", + "

Field retireSponsorsTier was added to object type Mutation

", + "

Field startOrganizationMigration was added to object type Mutation

", + "

Field totalSponsorshipAmountAsSponsorInCents was added to object type Organization

", + "

Argument activeOnly: Boolean added to field Organization.sponsorshipForViewerAsSponsor

", + "

Argument activeOnly: Boolean added to field Organization.sponsorshipForViewerAsSponsorable

", + "

Argument activeOnly: Boolean added to field Organization.sponsorshipsAsMaintainer

", + "

Argument activeOnly: Boolean added to field Organization.sponsorshipsAsSponsor

", + "

Field fieldConstraints was added to object type ProjectNext

", + "

Field projectFieldConstraint was added to object type ProjectNextItemFieldValue

", + "

Field reactionGroups was added to object type RemoveReactionPayload

", + "

Field hasVulnerabilityAlertsEnabled was added to object type Repository

", + "

Field totalSponsorshipAmountAsSponsorInCents was added to interface Sponsorable

", + "

Argument activeOnly: Boolean added to field Sponsorable.sponsorshipForViewerAsSponsor

", + "

Argument activeOnly: Boolean added to field Sponsorable.sponsorshipForViewerAsSponsorable

", + "

Argument activeOnly: Boolean added to field Sponsorable.sponsorshipsAsMaintainer

", + "

Argument activeOnly: Boolean added to field Sponsorable.sponsorshipsAsSponsor

", + "

Field activeStripeConnectAccount was added to object type SponsorsListing

", + "

Field isActive was added to object type Sponsorship

", + "

Field author was added to object type SponsorshipNewsletter

", + "

Input field fieldConstraintId was added to input object type UpdateProjectNextItemFieldInput

", + "

Input field fieldWithSettingId was added to input object type UpdateProjectNextItemFieldInput

", + "

Field totalSponsorshipAmountAsSponsorInCents was added to object type User

", + "

Argument activeOnly: Boolean added to field User.sponsorshipForViewerAsSponsor

", + "

Argument activeOnly: Boolean added to field User.sponsorshipForViewerAsSponsorable

", + "

Argument activeOnly: Boolean added to field User.sponsorshipsAsMaintainer

", + "

Argument activeOnly: Boolean added to field User.sponsorshipsAsSponsor

" + ] + } + ], + "previewChanges": [], + "upcomingChanges": [ + { + "title": "The following changes will be made to the schema:", + "changes": [ + "

On member PackageType.RUBYGEMS:RUBYGEMS will be removed. Effective 2022-12-28.

", + "

On member PackageType.MAVEN:MAVEN will be removed. Effective 2023-02-10.

" + ] + } + ], + "date": "2023-01-10" + }, { "schemaChanges": [ { diff --git a/lib/graphql/static/schema-dotcom.json b/lib/graphql/static/schema-dotcom.json index baa21dba11..c032e5f4e9 100644 --- a/lib/graphql/static/schema-dotcom.json +++ b/lib/graphql/static/schema-dotcom.json @@ -1600,6 +1600,14 @@ "href": "/graphql/reference/objects#reaction", "description": "

The reaction object.

" }, + { + "name": "reactionGroups", + "type": "[ReactionGroup!]", + "id": "reactiongroup", + "kind": "objects", + "href": "/graphql/reference/objects#reactiongroup", + "description": "

The reaction groups for the subject.

" + }, { "name": "subject", "type": "Reactable", @@ -4788,6 +4796,40 @@ } ] }, + { + "name": "publishSponsorsTier", + "kind": "mutations", + "id": "publishsponsorstier", + "href": "/graphql/reference/mutations#publishsponsorstier", + "description": "

Publish an existing sponsorship tier that is currently still a draft to a GitHub Sponsors profile.

", + "inputFields": [ + { + "name": "input", + "type": "PublishSponsorsTierInput!", + "id": "publishsponsorstierinput", + "kind": "input-objects", + "href": "/graphql/reference/input-objects#publishsponsorstierinput" + } + ], + "returnFields": [ + { + "name": "clientMutationId", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "description": "

A unique identifier for the client performing the mutation.

" + }, + { + "name": "sponsorsTier", + "type": "SponsorsTier", + "id": "sponsorstier", + "kind": "objects", + "href": "/graphql/reference/objects#sponsorstier", + "description": "

The tier that was published.

" + } + ] + }, { "name": "regenerateEnterpriseIdentityProviderRecoveryCodes", "kind": "mutations", @@ -5200,6 +5242,14 @@ "href": "/graphql/reference/objects#reaction", "description": "

The reaction object.

" }, + { + "name": "reactionGroups", + "type": "[ReactionGroup!]", + "id": "reactiongroup", + "kind": "objects", + "href": "/graphql/reference/objects#reactiongroup", + "description": "

The reaction groups for the subject.

" + }, { "name": "subject", "type": "Reactable", @@ -5464,6 +5514,40 @@ } ] }, + { + "name": "retireSponsorsTier", + "kind": "mutations", + "id": "retiresponsorstier", + "href": "/graphql/reference/mutations#retiresponsorstier", + "description": "

Retire a published payment tier from your GitHub Sponsors profile so it cannot be used to start new sponsorships.

", + "inputFields": [ + { + "name": "input", + "type": "RetireSponsorsTierInput!", + "id": "retiresponsorstierinput", + "kind": "input-objects", + "href": "/graphql/reference/input-objects#retiresponsorstierinput" + } + ], + "returnFields": [ + { + "name": "clientMutationId", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "description": "

A unique identifier for the client performing the mutation.

" + }, + { + "name": "sponsorsTier", + "type": "SponsorsTier", + "id": "sponsorstier", + "kind": "objects", + "href": "/graphql/reference/objects#sponsorstier", + "description": "

The tier that was retired.

" + } + ] + }, { "name": "revokeEnterpriseOrganizationsMigratorRole", "kind": "mutations", @@ -5668,6 +5752,40 @@ } ] }, + { + "name": "startOrganizationMigration", + "kind": "mutations", + "id": "startorganizationmigration", + "href": "/graphql/reference/mutations#startorganizationmigration", + "description": "

Starts a GitHub Enterprise Importer organization migration.

", + "inputFields": [ + { + "name": "input", + "type": "StartOrganizationMigrationInput!", + "id": "startorganizationmigrationinput", + "kind": "input-objects", + "href": "/graphql/reference/input-objects#startorganizationmigrationinput" + } + ], + "returnFields": [ + { + "name": "clientMutationId", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "description": "

A unique identifier for the client performing the mutation.

" + }, + { + "name": "orgMigration", + "type": "OrganizationMigration", + "id": "organizationmigration", + "kind": "objects", + "href": "/graphql/reference/objects#organizationmigration", + "description": "

The new organization migration.

" + } + ] + }, { "name": "startRepositoryMigration", "kind": "mutations", @@ -36228,7 +36346,7 @@ }, { "name": "isSponsoredBy", - "description": "

Check if the given account is sponsoring this user/organization.

", + "description": "

Whether the given account is sponsoring this user/organization.

", "type": "Boolean!", "id": "boolean", "kind": "scalars", @@ -37779,19 +37897,45 @@ }, { "name": "sponsorshipForViewerAsSponsor", - "description": "

The sponsorship from the viewer to this user/organization; that is, the\nsponsorship where you're the sponsor. Only returns a sponsorship if it is active.

", + "description": "

The sponsorship from the viewer to this user/organization; that is, the sponsorship where you're the sponsor.

", "type": "Sponsorship", "id": "sponsorship", "kind": "objects", - "href": "/graphql/reference/objects#sponsorship" + "href": "/graphql/reference/objects#sponsorship", + "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to return the sponsorship only if it's still active. Pass false to\nget the viewer's sponsorship back even if it has been cancelled.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + } + ] }, { "name": "sponsorshipForViewerAsSponsorable", - "description": "

The sponsorship from this user/organization to the viewer; that is, the\nsponsorship you're receiving. Only returns a sponsorship if it is active.

", + "description": "

The sponsorship from this user/organization to the viewer; that is, the sponsorship you're receiving.

", "type": "Sponsorship", "id": "sponsorship", "kind": "objects", - "href": "/graphql/reference/objects#sponsorship" + "href": "/graphql/reference/objects#sponsorship", + "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to return the sponsorship only if it's still active. Pass false to\nget the sponsorship back even if it has been cancelled.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + } + ] }, { "name": "sponsorshipNewsletters", @@ -37861,6 +38005,17 @@ "kind": "objects", "href": "/graphql/reference/objects#sponsorshipconnection", "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to include only sponsorships that are active right now, versus all\nsponsorships this maintainer has ever received.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + }, { "name": "after", "description": "

Returns the elements in the list that come after the specified cursor.

", @@ -37932,6 +38087,17 @@ "kind": "objects", "href": "/graphql/reference/objects#sponsorshipconnection", "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to include only sponsorships that are active right now, versus all sponsorships this sponsor has ever made.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + }, { "name": "after", "description": "

Returns the elements in the list that come after the specified cursor.

", @@ -38151,6 +38317,46 @@ "kind": "scalars", "href": "/graphql/reference/scalars#uri" }, + { + "name": "totalSponsorshipAmountAsSponsorInCents", + "description": "

The amount in United States cents (e.g., 500 = $5.00 USD) that this entity has\nspent on GitHub to fund sponsorships. Only returns a value when viewed by the\nuser themselves or by a user who can manage sponsorships for the requested organization.

", + "type": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int", + "arguments": [ + { + "name": "since", + "description": "

Filter payments to those that occurred on or after this time.

", + "type": { + "name": "DateTime", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + } + }, + { + "name": "sponsorableLogins", + "description": "

Filter payments to those made to the users or organizations with the specified usernames.

", + "type": { + "name": "[String!]", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "until", + "description": "

Filter payments to those that occurred before this time.

", + "type": { + "name": "DateTime", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + } + } + ] + }, { "name": "twitterUsername", "description": "

The organization's Twitter username.

", @@ -38835,6 +39041,94 @@ } ] }, + { + "name": "OrganizationMigration", + "kind": "objects", + "id": "organizationmigration", + "href": "/graphql/reference/objects#organizationmigration", + "description": "

A GitHub Enterprise Importer (GEI) organization migration.

", + "implements": [ + { + "name": "Node", + "id": "node", + "href": "/graphql/reference/interfaces#node" + } + ], + "fields": [ + { + "name": "createdAt", + "description": "

Identifies the date and time when the object was created.

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + }, + { + "name": "databaseId", + "description": "

Identifies the primary key from the database.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "failureReason", + "description": "

The reason the organization migration failed.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "remainingRepositoriesCount", + "description": "

The remaining amount of repos to be migrated.

", + "type": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "sourceOrgName", + "description": "

The name of the source organization to be migrated.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "sourceOrgUrl", + "description": "

The URL of the source organization to migrate.

", + "type": "URI!", + "id": "uri", + "kind": "scalars", + "href": "/graphql/reference/scalars#uri" + }, + { + "name": "state", + "description": "

The migration state.

", + "type": "OrganizationMigrationState!", + "id": "organizationmigrationstate", + "kind": "enums", + "href": "/graphql/reference/enums#organizationmigrationstate" + }, + { + "name": "targetOrgName", + "description": "

The name of the target organization.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "totalRepositoriesCount", + "description": "

The total amount of repositories to be migrated.

", + "type": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + ] + }, { "name": "OrganizationTeamsHovercardContext", "kind": "objects", @@ -41423,6 +41717,58 @@ "isDeprecated": true, "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" }, + { + "name": "fieldConstraints", + "description": "

List of fields and their constraints in the project.

", + "type": "ProjectNextFieldConfigurationConnection!", + "id": "projectnextfieldconfigurationconnection", + "kind": "objects", + "href": "/graphql/reference/objects#projectnextfieldconfigurationconnection", + "arguments": [ + { + "name": "after", + "description": "

Returns the elements in the list that come after the specified cursor.

", + "type": { + "name": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "before", + "description": "

Returns the elements in the list that come before the specified cursor.

", + "type": { + "name": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "first", + "description": "

Returns the first n elements from the list.

", + "type": { + "name": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + }, + { + "name": "last", + "description": "

Returns the last n elements from the list.

", + "type": { + "name": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + } + ], + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, { "name": "fields", "description": "

List of fields in the project.

", @@ -41878,6 +42224,72 @@ } ] }, + { + "name": "ProjectNextFieldConfigurationConnection", + "kind": "objects", + "id": "projectnextfieldconfigurationconnection", + "href": "/graphql/reference/objects#projectnextfieldconfigurationconnection", + "description": "

The connection type for ProjectNextFieldConfiguration.

", + "fields": [ + { + "name": "edges", + "description": "

A list of edges.

", + "type": "[ProjectNextFieldConfigurationEdge]", + "id": "projectnextfieldconfigurationedge", + "kind": "objects", + "href": "/graphql/reference/objects#projectnextfieldconfigurationedge" + }, + { + "name": "nodes", + "description": "

A list of nodes.

", + "type": "[ProjectNextFieldConfiguration]", + "id": "projectnextfieldconfiguration", + "kind": "unions", + "href": "/graphql/reference/unions#projectnextfieldconfiguration" + }, + { + "name": "pageInfo", + "description": "

Information to aid in pagination.

", + "type": "PageInfo!", + "id": "pageinfo", + "kind": "objects", + "href": "/graphql/reference/objects#pageinfo" + }, + { + "name": "totalCount", + "description": "

Identifies the total count of items in the connection.

", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + ] + }, + { + "name": "ProjectNextFieldConfigurationEdge", + "kind": "objects", + "id": "projectnextfieldconfigurationedge", + "href": "/graphql/reference/objects#projectnextfieldconfigurationedge", + "description": "

An edge in a connection.

", + "fields": [ + { + "name": "cursor", + "description": "

A cursor for use in pagination.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "node", + "description": "

The item at the end of the edge.

", + "type": "ProjectNextFieldConfiguration", + "id": "projectnextfieldconfiguration", + "kind": "unions", + "href": "/graphql/reference/unions#projectnextfieldconfiguration" + } + ] + }, { "name": "ProjectNextFieldConnection", "kind": "objects", @@ -42222,6 +42634,16 @@ "isDeprecated": true, "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" }, + { + "name": "projectFieldConstraint", + "description": "

The project field that contains this value and it's constraint.

", + "type": "ProjectNextFieldConfiguration!", + "id": "projectnextfieldconfiguration", + "kind": "unions", + "href": "/graphql/reference/unions#projectnextfieldconfiguration", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, { "name": "projectItem", "description": "

The project item that contains this value.

", @@ -42320,6 +42742,355 @@ } ] }, + { + "name": "ProjectNextIterationField", + "kind": "objects", + "id": "projectnextiterationfield", + "href": "/graphql/reference/objects#projectnextiterationfield", + "description": "

An iteration field inside a project.

", + "implements": [ + { + "name": "Node", + "id": "node", + "href": "/graphql/reference/interfaces#node" + }, + { + "name": "ProjectNextFieldCommon", + "id": "projectnextfieldcommon", + "href": "/graphql/reference/interfaces#projectnextfieldcommon" + } + ], + "fields": [ + { + "name": "configuration", + "description": "

Iteration configuration settings.

", + "type": "ProjectNextIterationFieldConfiguration!", + "id": "projectnextiterationfieldconfiguration", + "kind": "objects", + "href": "/graphql/reference/objects#projectnextiterationfieldconfiguration", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "createdAt", + "description": "

Identifies the date and time when the object was created.

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "dataType", + "description": "

The field's type.

", + "type": "ProjectNextFieldType!", + "id": "projectnextfieldtype", + "kind": "enums", + "href": "/graphql/reference/enums#projectnextfieldtype", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "databaseId", + "description": "

Identifies the primary key from the database.

", + "type": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "name", + "description": "

The project field's name.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "project", + "description": "

The project that contains this field.

", + "type": "ProjectNext!", + "id": "projectnext", + "kind": "objects", + "href": "/graphql/reference/objects#projectnext", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "settings", + "description": "

The field's settings.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "updatedAt", + "description": "

Identifies the date and time when the object was last updated.

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + } + ] + }, + { + "name": "ProjectNextIterationFieldConfiguration", + "kind": "objects", + "id": "projectnextiterationfieldconfiguration", + "href": "/graphql/reference/objects#projectnextiterationfieldconfiguration", + "description": "

Iteration field configuration for a project.

", + "fields": [ + { + "name": "completedIterations", + "description": "

The iteration's completed iterations.

", + "type": "[ProjectNextIterationFieldIteration!]!", + "id": "projectnextiterationfielditeration", + "kind": "objects", + "href": "/graphql/reference/objects#projectnextiterationfielditeration", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "duration", + "description": "

The iteration's duration in days.

", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "iterations", + "description": "

The iteration's iterations.

", + "type": "[ProjectNextIterationFieldIteration!]!", + "id": "projectnextiterationfielditeration", + "kind": "objects", + "href": "/graphql/reference/objects#projectnextiterationfielditeration", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "startDay", + "description": "

The iteration's start day of the week.

", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + } + ] + }, + { + "name": "ProjectNextIterationFieldIteration", + "kind": "objects", + "id": "projectnextiterationfielditeration", + "href": "/graphql/reference/objects#projectnextiterationfielditeration", + "description": "

Iteration field iteration settings for a project.

", + "fields": [ + { + "name": "duration", + "description": "

The iteration's duration in days.

", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "id", + "description": "

The iteration's ID.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "startDate", + "description": "

The iteration's start date.

", + "type": "Date!", + "id": "date", + "kind": "scalars", + "href": "/graphql/reference/scalars#date", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "title", + "description": "

The iteration's title.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "titleHTML", + "description": "

The iteration's html title.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + } + ] + }, + { + "name": "ProjectNextSingleSelectField", + "kind": "objects", + "id": "projectnextsingleselectfield", + "href": "/graphql/reference/objects#projectnextsingleselectfield", + "description": "

A single select field inside a project.

", + "implements": [ + { + "name": "Node", + "id": "node", + "href": "/graphql/reference/interfaces#node" + }, + { + "name": "ProjectNextFieldCommon", + "id": "projectnextfieldcommon", + "href": "/graphql/reference/interfaces#projectnextfieldcommon" + } + ], + "fields": [ + { + "name": "createdAt", + "description": "

Identifies the date and time when the object was created.

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "dataType", + "description": "

The field's type.

", + "type": "ProjectNextFieldType!", + "id": "projectnextfieldtype", + "kind": "enums", + "href": "/graphql/reference/enums#projectnextfieldtype", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "databaseId", + "description": "

Identifies the primary key from the database.

", + "type": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "name", + "description": "

The project field's name.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "options", + "description": "

Options for the single select field.

", + "type": "[ProjectNextSingleSelectFieldOption!]!", + "id": "projectnextsingleselectfieldoption", + "kind": "objects", + "href": "/graphql/reference/objects#projectnextsingleselectfieldoption", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "project", + "description": "

The project that contains this field.

", + "type": "ProjectNext!", + "id": "projectnext", + "kind": "objects", + "href": "/graphql/reference/objects#projectnext", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "settings", + "description": "

The field's settings.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "updatedAt", + "description": "

Identifies the date and time when the object was last updated.

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + } + ] + }, + { + "name": "ProjectNextSingleSelectFieldOption", + "kind": "objects", + "id": "projectnextsingleselectfieldoption", + "href": "/graphql/reference/objects#projectnextsingleselectfieldoption", + "description": "

Single select field option for a configuration for a project.

", + "fields": [ + { + "name": "id", + "description": "

The option's ID.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "name", + "description": "

The option's name.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "nameHTML", + "description": "

The option's html name.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + } + ] + }, { "name": "ProjectProgress", "kind": "objects", @@ -56802,6 +57573,14 @@ "kind": "scalars", "href": "/graphql/reference/scalars#boolean" }, + { + "name": "hasVulnerabilityAlertsEnabled", + "description": "

Whether vulnerability alerts are enabled for the repository.

", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "hasWikiEnabled", "description": "

Indicates if the repository has wiki feature enabled.

", @@ -62016,6 +62795,14 @@ "kind": "objects", "href": "/graphql/reference/objects#sponsorsgoal" }, + { + "name": "activeStripeConnectAccount", + "description": "

The Stripe Connect account currently in use for payouts for this Sponsors\nlisting, if any. Will only return a value when queried by the maintainer\nthemselves, or by an admin of the sponsorable organization.

", + "type": "StripeConnectAccount", + "id": "stripeconnectaccount", + "kind": "objects", + "href": "/graphql/reference/objects#stripeconnectaccount" + }, { "name": "billingCountryOrRegion", "description": "

The name of the country or region with the maintainer's bank account or fiscal\nhost. Will only return a value when queried by the maintainer themselves, or\nby an admin of the sponsorable organization.

", @@ -62602,6 +63389,14 @@ "kind": "scalars", "href": "/graphql/reference/scalars#datetime" }, + { + "name": "isActive", + "description": "

Whether the sponsorship is active. False implies the sponsor is a past sponsor\nof the maintainer, while true implies they are a current sponsor.

", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "isOneTimePayment", "description": "

Whether this sponsorship represents a one-time payment versus a recurring sponsorship.

", @@ -62612,7 +63407,7 @@ }, { "name": "isSponsorOptedIntoEmail", - "description": "

Check if the sponsor has chosen to receive sponsorship update emails sent from\nthe sponsorable. Only returns a non-null value when the viewer has permission to know this.

", + "description": "

Whether the sponsor has chosen to receive sponsorship update emails sent from\nthe sponsorable. Only returns a non-null value when the viewer has permission to know this.

", "type": "Boolean", "id": "boolean", "kind": "scalars", @@ -62776,6 +63571,14 @@ } ], "fields": [ + { + "name": "author", + "description": "

The author of the newsletter.

", + "type": "User", + "id": "user", + "kind": "objects", + "href": "/graphql/reference/objects#user" + }, { "name": "body", "description": "

The contents of the newsletter, the message the sponsorable wanted to give.

", @@ -63555,6 +64358,63 @@ } ] }, + { + "name": "StripeConnectAccount", + "kind": "objects", + "id": "stripeconnectaccount", + "href": "/graphql/reference/objects#stripeconnectaccount", + "description": "

A Stripe Connect account for receiving sponsorship funds from GitHub Sponsors.

", + "fields": [ + { + "name": "accountId", + "description": "

The account number used to identify this Stripe Connect account.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "billingCountryOrRegion", + "description": "

The name of the country or region of an external account, such as a bank\naccount, tied to the Stripe Connect account. Will only return a value when\nqueried by the maintainer of the associated GitHub Sponsors profile\nthemselves, or by an admin of the sponsorable organization.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "countryOrRegion", + "description": "

The name of the country or region of the Stripe Connect account. Will only\nreturn a value when queried by the maintainer of the associated GitHub\nSponsors profile themselves, or by an admin of the sponsorable organization.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "isActive", + "description": "

Whether this Stripe Connect account is currently in use for the associated GitHub Sponsors profile.

", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, + { + "name": "sponsorsListing", + "description": "

The GitHub Sponsors profile associated with this Stripe Connect account.

", + "type": "SponsorsListing!", + "id": "sponsorslisting", + "kind": "objects", + "href": "/graphql/reference/objects#sponsorslisting" + }, + { + "name": "stripeDashboardUrl", + "description": "

The URL to access this Stripe Connect account on Stripe's website.

", + "type": "URI!", + "id": "uri", + "kind": "scalars", + "href": "/graphql/reference/scalars#uri" + } + ] + }, { "name": "Submodule", "kind": "objects", @@ -68723,7 +69583,7 @@ }, { "name": "isSponsoredBy", - "description": "

Check if the given account is sponsoring this user/organization.

", + "description": "

Whether the given account is sponsoring this user/organization.

", "type": "Boolean!", "id": "boolean", "kind": "scalars", @@ -70468,19 +71328,45 @@ }, { "name": "sponsorshipForViewerAsSponsor", - "description": "

The sponsorship from the viewer to this user/organization; that is, the\nsponsorship where you're the sponsor. Only returns a sponsorship if it is active.

", + "description": "

The sponsorship from the viewer to this user/organization; that is, the sponsorship where you're the sponsor.

", "type": "Sponsorship", "id": "sponsorship", "kind": "objects", - "href": "/graphql/reference/objects#sponsorship" + "href": "/graphql/reference/objects#sponsorship", + "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to return the sponsorship only if it's still active. Pass false to\nget the viewer's sponsorship back even if it has been cancelled.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + } + ] }, { "name": "sponsorshipForViewerAsSponsorable", - "description": "

The sponsorship from this user/organization to the viewer; that is, the\nsponsorship you're receiving. Only returns a sponsorship if it is active.

", + "description": "

The sponsorship from this user/organization to the viewer; that is, the sponsorship you're receiving.

", "type": "Sponsorship", "id": "sponsorship", "kind": "objects", - "href": "/graphql/reference/objects#sponsorship" + "href": "/graphql/reference/objects#sponsorship", + "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to return the sponsorship only if it's still active. Pass false to\nget the sponsorship back even if it has been cancelled.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + } + ] }, { "name": "sponsorshipNewsletters", @@ -70550,6 +71436,17 @@ "kind": "objects", "href": "/graphql/reference/objects#sponsorshipconnection", "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to include only sponsorships that are active right now, versus all\nsponsorships this maintainer has ever received.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + }, { "name": "after", "description": "

Returns the elements in the list that come after the specified cursor.

", @@ -70621,6 +71518,17 @@ "kind": "objects", "href": "/graphql/reference/objects#sponsorshipconnection", "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to include only sponsorships that are active right now, versus all sponsorships this sponsor has ever made.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + }, { "name": "after", "description": "

Returns the elements in the list that come after the specified cursor.

", @@ -70831,6 +71739,46 @@ } ] }, + { + "name": "totalSponsorshipAmountAsSponsorInCents", + "description": "

The amount in United States cents (e.g., 500 = $5.00 USD) that this entity has\nspent on GitHub to fund sponsorships. Only returns a value when viewed by the\nuser themselves or by a user who can manage sponsorships for the requested organization.

", + "type": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int", + "arguments": [ + { + "name": "since", + "description": "

Filter payments to those that occurred on or after this time.

", + "type": { + "name": "DateTime", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + } + }, + { + "name": "sponsorableLogins", + "description": "

Filter payments to those made to the users or organizations with the specified usernames.

", + "type": { + "name": "[String!]", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "until", + "description": "

Filter payments to those that occurred before this time.

", + "type": { + "name": "DateTime", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + } + } + ] + }, { "name": "twitterUsername", "description": "

The user's Twitter username.

", @@ -74816,7 +75764,7 @@ }, { "name": "isSponsoredBy", - "description": "

Check if the given account is sponsoring this user/organization.

", + "description": "

Whether the given account is sponsoring this user/organization.

", "type": "Boolean!", "id": "boolean", "kind": "scalars", @@ -75102,19 +76050,45 @@ }, { "name": "sponsorshipForViewerAsSponsor", - "description": "

The sponsorship from the viewer to this user/organization; that is, the\nsponsorship where you're the sponsor. Only returns a sponsorship if it is active.

", + "description": "

The sponsorship from the viewer to this user/organization; that is, the sponsorship where you're the sponsor.

", "type": "Sponsorship", "id": "sponsorship", "kind": "objects", - "href": "/graphql/reference/objects#sponsorship" + "href": "/graphql/reference/objects#sponsorship", + "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to return the sponsorship only if it's still active. Pass false to\nget the viewer's sponsorship back even if it has been cancelled.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + } + ] }, { "name": "sponsorshipForViewerAsSponsorable", - "description": "

The sponsorship from this user/organization to the viewer; that is, the\nsponsorship you're receiving. Only returns a sponsorship if it is active.

", + "description": "

The sponsorship from this user/organization to the viewer; that is, the sponsorship you're receiving.

", "type": "Sponsorship", "id": "sponsorship", "kind": "objects", - "href": "/graphql/reference/objects#sponsorship" + "href": "/graphql/reference/objects#sponsorship", + "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to return the sponsorship only if it's still active. Pass false to\nget the sponsorship back even if it has been cancelled.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + } + ] }, { "name": "sponsorshipNewsletters", @@ -75184,6 +76158,17 @@ "kind": "objects", "href": "/graphql/reference/objects#sponsorshipconnection", "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to include only sponsorships that are active right now, versus all\nsponsorships this maintainer has ever received.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + }, { "name": "after", "description": "

Returns the elements in the list that come after the specified cursor.

", @@ -75255,6 +76240,17 @@ "kind": "objects", "href": "/graphql/reference/objects#sponsorshipconnection", "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to include only sponsorships that are active right now, versus all sponsorships this sponsor has ever made.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + }, { "name": "after", "description": "

Returns the elements in the list that come after the specified cursor.

", @@ -75317,6 +76313,46 @@ } ] }, + { + "name": "totalSponsorshipAmountAsSponsorInCents", + "description": "

The amount in United States cents (e.g., 500 = $5.00 USD) that this entity has\nspent on GitHub to fund sponsorships. Only returns a value when viewed by the\nuser themselves or by a user who can manage sponsorships for the requested organization.

", + "type": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int", + "arguments": [ + { + "name": "since", + "description": "

Filter payments to those that occurred on or after this time.

", + "type": { + "name": "DateTime", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + } + }, + { + "name": "sponsorableLogins", + "description": "

Filter payments to those made to the users or organizations with the specified usernames.

", + "type": { + "name": "[String!]", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "until", + "description": "

Filter payments to those that occurred before this time.

", + "type": { + "name": "DateTime", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + } + } + ] + }, { "name": "viewerCanSponsor", "description": "

Whether or not the viewer is able to sponsor this user/organization.

", @@ -77804,6 +78840,47 @@ } ] }, + { + "name": "OrganizationMigrationState", + "kind": "enums", + "id": "organizationmigrationstate", + "href": "/graphql/reference/enums#organizationmigrationstate", + "description": "

The Octoshift Organization migration state.

", + "values": [ + { + "name": "FAILED", + "description": "

The Octoshift migration has failed.

" + }, + { + "name": "IN_PROGRESS", + "description": "

The Octoshift migration is in progress.

" + }, + { + "name": "NOT_STARTED", + "description": "

The Octoshift migration has not started.

" + }, + { + "name": "POST_REPO_MIGRATION", + "description": "

The Octoshift migration is performing post repository migrations.

" + }, + { + "name": "PRE_REPO_MIGRATION", + "description": "

The Octoshift migration is performing pre repository migrations.

" + }, + { + "name": "QUEUED", + "description": "

The Octoshift migration has been queued.

" + }, + { + "name": "REPO_MIGRATION", + "description": "

The Octoshift org migration is performing repository migrations.

" + }, + { + "name": "SUCCEEDED", + "description": "

The Octoshift migration has succeeded.

" + } + ] + }, { "name": "OrganizationOrderField", "kind": "enums", @@ -82338,6 +83415,30 @@ } ] }, + { + "name": "ProjectNextFieldConfiguration", + "kind": "unions", + "id": "projectnextfieldconfiguration", + "href": "/graphql/reference/unions#projectnextfieldconfiguration", + "description": "

Configurations for project next fields.

", + "possibleTypes": [ + { + "name": "ProjectNextField", + "id": "projectnextfield", + "href": "/graphql/reference/objects#projectnextfield" + }, + { + "name": "ProjectNextIterationField", + "id": "projectnextiterationfield", + "href": "/graphql/reference/objects#projectnextiterationfield" + }, + { + "name": "ProjectNextSingleSelectField", + "id": "projectnextsingleselectfield", + "href": "/graphql/reference/objects#projectnextsingleselectfield" + } + ] + }, { "name": "ProjectNextItemContent", "kind": "unions", @@ -86503,6 +87604,15 @@ "kind": "scalars", "href": "/graphql/reference/scalars#string" }, + { + "name": "headRepositoryId", + "description": "

The Node ID of the head repository.

", + "type": "ID", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id", + "isDeprecated": false + }, { "name": "maintainerCanModify", "description": "

Indicates whether maintainers can modify the pull request.

", @@ -89596,6 +90706,32 @@ } ] }, + { + "name": "PublishSponsorsTierInput", + "kind": "inputObjects", + "id": "publishsponsorstierinput", + "href": "/graphql/reference/input-objects#publishsponsorstierinput", + "description": "

Autogenerated input type of PublishSponsorsTier.

", + "inputFields": [ + { + "name": "clientMutationId", + "description": "

A unique identifier for the client performing the mutation.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "tierId", + "description": "

The ID of the draft tier to publish.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id", + "isDeprecated": false + } + ] + }, { "name": "PullRequestOrder", "kind": "inputObjects", @@ -90432,6 +91568,32 @@ } ] }, + { + "name": "RetireSponsorsTierInput", + "kind": "inputObjects", + "id": "retiresponsorstierinput", + "href": "/graphql/reference/input-objects#retiresponsorstierinput", + "description": "

Autogenerated input type of RetireSponsorsTier.

", + "inputFields": [ + { + "name": "clientMutationId", + "description": "

A unique identifier for the client performing the mutation.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "tierId", + "description": "

The ID of the published tier to retire.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id", + "isDeprecated": false + } + ] + }, { "name": "RevokeEnterpriseOrganizationsMigratorRoleInput", "kind": "inputObjects", @@ -90975,6 +92137,56 @@ } ] }, + { + "name": "StartOrganizationMigrationInput", + "kind": "inputObjects", + "id": "startorganizationmigrationinput", + "href": "/graphql/reference/input-objects#startorganizationmigrationinput", + "description": "

Autogenerated input type of StartOrganizationMigration.

", + "inputFields": [ + { + "name": "clientMutationId", + "description": "

A unique identifier for the client performing the mutation.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "sourceAccessToken", + "description": "

The migration source access token.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "sourceOrgUrl", + "description": "

The URL of the organization to migrate.

", + "type": "URI!", + "id": "uri", + "kind": "scalars", + "href": "/graphql/reference/scalars#uri" + }, + { + "name": "targetEnterpriseId", + "description": "

The ID of the enterprise the target organization belongs to.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id", + "isDeprecated": false + }, + { + "name": "targetOrgName", + "description": "

The name of the target organization.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + ] + }, { "name": "StartRepositoryMigrationInput", "kind": "inputObjects", @@ -93585,6 +94797,15 @@ "kind": "scalars", "href": "/graphql/reference/scalars#string" }, + { + "name": "fieldConstraintId", + "description": "

The id of the field to be updated. Only supports custom fields and status for now.

\n

Upcoming Change on 2023-01-01 UTC\nDescription: fieldConstraintId will be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/,\nto find a suitable replacement.\nReason: The ProjectNext API is deprecated in favour of the more capable ProjectV2 API.

", + "type": "ID", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id", + "isDeprecated": false + }, { "name": "fieldId", "description": "

The id of the field to be updated.

\n

Upcoming Change on 2023-01-01 UTC\nDescription: fieldId will be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/,\nto find a suitable replacement.\nReason: The ProjectNext API is deprecated in favour of the more capable ProjectV2 API.

", @@ -93594,6 +94815,15 @@ "href": "/graphql/reference/scalars#id", "isDeprecated": false }, + { + "name": "fieldWithSettingId", + "description": "

The id of the field to be updated. Only supports custom fields and status for now.

\n

Upcoming Change on 2022-10-01 UTC\nDescription: fieldWithSettingId will be removed. Use fieldConstraintId instead\nReason: Renamed to fieldConstraintId to improve naming consistency.

", + "type": "ID", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id", + "isDeprecated": false + }, { "name": "itemId", "description": "

The id of the item to be updated. This field is required.

\n

Upcoming Change on 2023-01-01 UTC\nDescription: itemId will be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/,\nto find a suitable replacement.\nReason: The ProjectNext API is deprecated in favour of the more capable ProjectV2 API.

", diff --git a/lib/graphql/static/schema-ghae.json b/lib/graphql/static/schema-ghae.json index f885dc27ba..3a09c5819a 100644 --- a/lib/graphql/static/schema-ghae.json +++ b/lib/graphql/static/schema-ghae.json @@ -1101,6 +1101,14 @@ "href": "/graphql/reference/objects#reaction", "description": "

The reaction object.

" }, + { + "name": "reactionGroups", + "type": "[ReactionGroup!]", + "id": "reactiongroup", + "kind": "objects", + "href": "/graphql/reference/objects#reactiongroup", + "description": "

The reaction groups for the subject.

" + }, { "name": "subject", "type": "Reactable", @@ -3877,6 +3885,14 @@ "href": "/graphql/reference/objects#reaction", "description": "

The reaction object.

" }, + { + "name": "reactionGroups", + "type": "[ReactionGroup!]", + "id": "reactiongroup", + "kind": "objects", + "href": "/graphql/reference/objects#reactiongroup", + "description": "

The reaction groups for the subject.

" + }, { "name": "subject", "type": "Reactable", @@ -4209,6 +4225,40 @@ } ] }, + { + "name": "startOrganizationMigration", + "kind": "mutations", + "id": "startorganizationmigration", + "href": "/graphql/reference/mutations#startorganizationmigration", + "description": "

Starts a GitHub Enterprise Importer organization migration.

", + "inputFields": [ + { + "name": "input", + "type": "StartOrganizationMigrationInput!", + "id": "startorganizationmigrationinput", + "kind": "input-objects", + "href": "/graphql/reference/input-objects#startorganizationmigrationinput" + } + ], + "returnFields": [ + { + "name": "clientMutationId", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "description": "

A unique identifier for the client performing the mutation.

" + }, + { + "name": "orgMigration", + "type": "OrganizationMigration", + "id": "organizationmigration", + "kind": "objects", + "href": "/graphql/reference/objects#organizationmigration", + "description": "

The new organization migration.

" + } + ] + }, { "name": "startRepositoryMigration", "kind": "mutations", @@ -33438,6 +33488,94 @@ } ] }, + { + "name": "OrganizationMigration", + "kind": "objects", + "id": "organizationmigration", + "href": "/graphql/reference/objects#organizationmigration", + "description": "

A GitHub Enterprise Importer (GEI) organization migration.

", + "implements": [ + { + "name": "Node", + "id": "node", + "href": "/graphql/reference/interfaces#node" + } + ], + "fields": [ + { + "name": "createdAt", + "description": "

Identifies the date and time when the object was created.

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + }, + { + "name": "databaseId", + "description": "

Identifies the primary key from the database.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "failureReason", + "description": "

The reason the organization migration failed.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "remainingRepositoriesCount", + "description": "

The remaining amount of repos to be migrated.

", + "type": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "sourceOrgName", + "description": "

The name of the source organization to be migrated.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "sourceOrgUrl", + "description": "

The URL of the source organization to migrate.

", + "type": "URI!", + "id": "uri", + "kind": "scalars", + "href": "/graphql/reference/scalars#uri" + }, + { + "name": "state", + "description": "

The migration state.

", + "type": "OrganizationMigrationState!", + "id": "organizationmigrationstate", + "kind": "enums", + "href": "/graphql/reference/enums#organizationmigrationstate" + }, + { + "name": "targetOrgName", + "description": "

The name of the target organization.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "totalRepositoriesCount", + "description": "

The total amount of repositories to be migrated.

", + "type": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + ] + }, { "name": "OrganizationTeamsHovercardContext", "kind": "objects", @@ -46295,6 +46433,14 @@ "kind": "scalars", "href": "/graphql/reference/scalars#boolean" }, + { + "name": "hasVulnerabilityAlertsEnabled", + "description": "

Whether vulnerability alerts are enabled for the repository.

", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "hasWikiEnabled", "description": "

Indicates if the repository has wiki feature enabled.

", @@ -63166,6 +63312,47 @@ } ] }, + { + "name": "OrganizationMigrationState", + "kind": "enums", + "id": "organizationmigrationstate", + "href": "/graphql/reference/enums#organizationmigrationstate", + "description": "

The Octoshift Organization migration state.

", + "values": [ + { + "name": "FAILED", + "description": "

The Octoshift migration has failed.

" + }, + { + "name": "IN_PROGRESS", + "description": "

The Octoshift migration is in progress.

" + }, + { + "name": "NOT_STARTED", + "description": "

The Octoshift migration has not started.

" + }, + { + "name": "POST_REPO_MIGRATION", + "description": "

The Octoshift migration is performing post repository migrations.

" + }, + { + "name": "PRE_REPO_MIGRATION", + "description": "

The Octoshift migration is performing pre repository migrations.

" + }, + { + "name": "QUEUED", + "description": "

The Octoshift migration has been queued.

" + }, + { + "name": "REPO_MIGRATION", + "description": "

The Octoshift org migration is performing repository migrations.

" + }, + { + "name": "SUCCEEDED", + "description": "

The Octoshift migration has succeeded.

" + } + ] + }, { "name": "OrganizationOrderField", "kind": "enums", @@ -69301,6 +69488,15 @@ "kind": "scalars", "href": "/graphql/reference/scalars#string" }, + { + "name": "headRepositoryId", + "description": "

The Node ID of the head repository.

", + "type": "ID", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id", + "isDeprecated": false + }, { "name": "maintainerCanModify", "description": "

Indicates whether maintainers can modify the pull request.

", @@ -72337,6 +72533,56 @@ } ] }, + { + "name": "StartOrganizationMigrationInput", + "kind": "inputObjects", + "id": "startorganizationmigrationinput", + "href": "/graphql/reference/input-objects#startorganizationmigrationinput", + "description": "

Autogenerated input type of StartOrganizationMigration.

", + "inputFields": [ + { + "name": "clientMutationId", + "description": "

A unique identifier for the client performing the mutation.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "sourceAccessToken", + "description": "

The migration source access token.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "sourceOrgUrl", + "description": "

The URL of the organization to migrate.

", + "type": "URI!", + "id": "uri", + "kind": "scalars", + "href": "/graphql/reference/scalars#uri" + }, + { + "name": "targetEnterpriseId", + "description": "

The ID of the enterprise the target organization belongs to.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id", + "isDeprecated": false + }, + { + "name": "targetOrgName", + "description": "

The name of the target organization.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + ] + }, { "name": "StartRepositoryMigrationInput", "kind": "inputObjects", diff --git a/lib/graphql/static/schema-ghec.json b/lib/graphql/static/schema-ghec.json index baa21dba11..c032e5f4e9 100644 --- a/lib/graphql/static/schema-ghec.json +++ b/lib/graphql/static/schema-ghec.json @@ -1600,6 +1600,14 @@ "href": "/graphql/reference/objects#reaction", "description": "

The reaction object.

" }, + { + "name": "reactionGroups", + "type": "[ReactionGroup!]", + "id": "reactiongroup", + "kind": "objects", + "href": "/graphql/reference/objects#reactiongroup", + "description": "

The reaction groups for the subject.

" + }, { "name": "subject", "type": "Reactable", @@ -4788,6 +4796,40 @@ } ] }, + { + "name": "publishSponsorsTier", + "kind": "mutations", + "id": "publishsponsorstier", + "href": "/graphql/reference/mutations#publishsponsorstier", + "description": "

Publish an existing sponsorship tier that is currently still a draft to a GitHub Sponsors profile.

", + "inputFields": [ + { + "name": "input", + "type": "PublishSponsorsTierInput!", + "id": "publishsponsorstierinput", + "kind": "input-objects", + "href": "/graphql/reference/input-objects#publishsponsorstierinput" + } + ], + "returnFields": [ + { + "name": "clientMutationId", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "description": "

A unique identifier for the client performing the mutation.

" + }, + { + "name": "sponsorsTier", + "type": "SponsorsTier", + "id": "sponsorstier", + "kind": "objects", + "href": "/graphql/reference/objects#sponsorstier", + "description": "

The tier that was published.

" + } + ] + }, { "name": "regenerateEnterpriseIdentityProviderRecoveryCodes", "kind": "mutations", @@ -5200,6 +5242,14 @@ "href": "/graphql/reference/objects#reaction", "description": "

The reaction object.

" }, + { + "name": "reactionGroups", + "type": "[ReactionGroup!]", + "id": "reactiongroup", + "kind": "objects", + "href": "/graphql/reference/objects#reactiongroup", + "description": "

The reaction groups for the subject.

" + }, { "name": "subject", "type": "Reactable", @@ -5464,6 +5514,40 @@ } ] }, + { + "name": "retireSponsorsTier", + "kind": "mutations", + "id": "retiresponsorstier", + "href": "/graphql/reference/mutations#retiresponsorstier", + "description": "

Retire a published payment tier from your GitHub Sponsors profile so it cannot be used to start new sponsorships.

", + "inputFields": [ + { + "name": "input", + "type": "RetireSponsorsTierInput!", + "id": "retiresponsorstierinput", + "kind": "input-objects", + "href": "/graphql/reference/input-objects#retiresponsorstierinput" + } + ], + "returnFields": [ + { + "name": "clientMutationId", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "description": "

A unique identifier for the client performing the mutation.

" + }, + { + "name": "sponsorsTier", + "type": "SponsorsTier", + "id": "sponsorstier", + "kind": "objects", + "href": "/graphql/reference/objects#sponsorstier", + "description": "

The tier that was retired.

" + } + ] + }, { "name": "revokeEnterpriseOrganizationsMigratorRole", "kind": "mutations", @@ -5668,6 +5752,40 @@ } ] }, + { + "name": "startOrganizationMigration", + "kind": "mutations", + "id": "startorganizationmigration", + "href": "/graphql/reference/mutations#startorganizationmigration", + "description": "

Starts a GitHub Enterprise Importer organization migration.

", + "inputFields": [ + { + "name": "input", + "type": "StartOrganizationMigrationInput!", + "id": "startorganizationmigrationinput", + "kind": "input-objects", + "href": "/graphql/reference/input-objects#startorganizationmigrationinput" + } + ], + "returnFields": [ + { + "name": "clientMutationId", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "description": "

A unique identifier for the client performing the mutation.

" + }, + { + "name": "orgMigration", + "type": "OrganizationMigration", + "id": "organizationmigration", + "kind": "objects", + "href": "/graphql/reference/objects#organizationmigration", + "description": "

The new organization migration.

" + } + ] + }, { "name": "startRepositoryMigration", "kind": "mutations", @@ -36228,7 +36346,7 @@ }, { "name": "isSponsoredBy", - "description": "

Check if the given account is sponsoring this user/organization.

", + "description": "

Whether the given account is sponsoring this user/organization.

", "type": "Boolean!", "id": "boolean", "kind": "scalars", @@ -37779,19 +37897,45 @@ }, { "name": "sponsorshipForViewerAsSponsor", - "description": "

The sponsorship from the viewer to this user/organization; that is, the\nsponsorship where you're the sponsor. Only returns a sponsorship if it is active.

", + "description": "

The sponsorship from the viewer to this user/organization; that is, the sponsorship where you're the sponsor.

", "type": "Sponsorship", "id": "sponsorship", "kind": "objects", - "href": "/graphql/reference/objects#sponsorship" + "href": "/graphql/reference/objects#sponsorship", + "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to return the sponsorship only if it's still active. Pass false to\nget the viewer's sponsorship back even if it has been cancelled.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + } + ] }, { "name": "sponsorshipForViewerAsSponsorable", - "description": "

The sponsorship from this user/organization to the viewer; that is, the\nsponsorship you're receiving. Only returns a sponsorship if it is active.

", + "description": "

The sponsorship from this user/organization to the viewer; that is, the sponsorship you're receiving.

", "type": "Sponsorship", "id": "sponsorship", "kind": "objects", - "href": "/graphql/reference/objects#sponsorship" + "href": "/graphql/reference/objects#sponsorship", + "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to return the sponsorship only if it's still active. Pass false to\nget the sponsorship back even if it has been cancelled.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + } + ] }, { "name": "sponsorshipNewsletters", @@ -37861,6 +38005,17 @@ "kind": "objects", "href": "/graphql/reference/objects#sponsorshipconnection", "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to include only sponsorships that are active right now, versus all\nsponsorships this maintainer has ever received.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + }, { "name": "after", "description": "

Returns the elements in the list that come after the specified cursor.

", @@ -37932,6 +38087,17 @@ "kind": "objects", "href": "/graphql/reference/objects#sponsorshipconnection", "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to include only sponsorships that are active right now, versus all sponsorships this sponsor has ever made.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + }, { "name": "after", "description": "

Returns the elements in the list that come after the specified cursor.

", @@ -38151,6 +38317,46 @@ "kind": "scalars", "href": "/graphql/reference/scalars#uri" }, + { + "name": "totalSponsorshipAmountAsSponsorInCents", + "description": "

The amount in United States cents (e.g., 500 = $5.00 USD) that this entity has\nspent on GitHub to fund sponsorships. Only returns a value when viewed by the\nuser themselves or by a user who can manage sponsorships for the requested organization.

", + "type": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int", + "arguments": [ + { + "name": "since", + "description": "

Filter payments to those that occurred on or after this time.

", + "type": { + "name": "DateTime", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + } + }, + { + "name": "sponsorableLogins", + "description": "

Filter payments to those made to the users or organizations with the specified usernames.

", + "type": { + "name": "[String!]", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "until", + "description": "

Filter payments to those that occurred before this time.

", + "type": { + "name": "DateTime", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + } + } + ] + }, { "name": "twitterUsername", "description": "

The organization's Twitter username.

", @@ -38835,6 +39041,94 @@ } ] }, + { + "name": "OrganizationMigration", + "kind": "objects", + "id": "organizationmigration", + "href": "/graphql/reference/objects#organizationmigration", + "description": "

A GitHub Enterprise Importer (GEI) organization migration.

", + "implements": [ + { + "name": "Node", + "id": "node", + "href": "/graphql/reference/interfaces#node" + } + ], + "fields": [ + { + "name": "createdAt", + "description": "

Identifies the date and time when the object was created.

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + }, + { + "name": "databaseId", + "description": "

Identifies the primary key from the database.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "failureReason", + "description": "

The reason the organization migration failed.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "remainingRepositoriesCount", + "description": "

The remaining amount of repos to be migrated.

", + "type": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "sourceOrgName", + "description": "

The name of the source organization to be migrated.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "sourceOrgUrl", + "description": "

The URL of the source organization to migrate.

", + "type": "URI!", + "id": "uri", + "kind": "scalars", + "href": "/graphql/reference/scalars#uri" + }, + { + "name": "state", + "description": "

The migration state.

", + "type": "OrganizationMigrationState!", + "id": "organizationmigrationstate", + "kind": "enums", + "href": "/graphql/reference/enums#organizationmigrationstate" + }, + { + "name": "targetOrgName", + "description": "

The name of the target organization.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "totalRepositoriesCount", + "description": "

The total amount of repositories to be migrated.

", + "type": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + ] + }, { "name": "OrganizationTeamsHovercardContext", "kind": "objects", @@ -41423,6 +41717,58 @@ "isDeprecated": true, "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" }, + { + "name": "fieldConstraints", + "description": "

List of fields and their constraints in the project.

", + "type": "ProjectNextFieldConfigurationConnection!", + "id": "projectnextfieldconfigurationconnection", + "kind": "objects", + "href": "/graphql/reference/objects#projectnextfieldconfigurationconnection", + "arguments": [ + { + "name": "after", + "description": "

Returns the elements in the list that come after the specified cursor.

", + "type": { + "name": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "before", + "description": "

Returns the elements in the list that come before the specified cursor.

", + "type": { + "name": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "first", + "description": "

Returns the first n elements from the list.

", + "type": { + "name": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + }, + { + "name": "last", + "description": "

Returns the last n elements from the list.

", + "type": { + "name": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + } + ], + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, { "name": "fields", "description": "

List of fields in the project.

", @@ -41878,6 +42224,72 @@ } ] }, + { + "name": "ProjectNextFieldConfigurationConnection", + "kind": "objects", + "id": "projectnextfieldconfigurationconnection", + "href": "/graphql/reference/objects#projectnextfieldconfigurationconnection", + "description": "

The connection type for ProjectNextFieldConfiguration.

", + "fields": [ + { + "name": "edges", + "description": "

A list of edges.

", + "type": "[ProjectNextFieldConfigurationEdge]", + "id": "projectnextfieldconfigurationedge", + "kind": "objects", + "href": "/graphql/reference/objects#projectnextfieldconfigurationedge" + }, + { + "name": "nodes", + "description": "

A list of nodes.

", + "type": "[ProjectNextFieldConfiguration]", + "id": "projectnextfieldconfiguration", + "kind": "unions", + "href": "/graphql/reference/unions#projectnextfieldconfiguration" + }, + { + "name": "pageInfo", + "description": "

Information to aid in pagination.

", + "type": "PageInfo!", + "id": "pageinfo", + "kind": "objects", + "href": "/graphql/reference/objects#pageinfo" + }, + { + "name": "totalCount", + "description": "

Identifies the total count of items in the connection.

", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + ] + }, + { + "name": "ProjectNextFieldConfigurationEdge", + "kind": "objects", + "id": "projectnextfieldconfigurationedge", + "href": "/graphql/reference/objects#projectnextfieldconfigurationedge", + "description": "

An edge in a connection.

", + "fields": [ + { + "name": "cursor", + "description": "

A cursor for use in pagination.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "node", + "description": "

The item at the end of the edge.

", + "type": "ProjectNextFieldConfiguration", + "id": "projectnextfieldconfiguration", + "kind": "unions", + "href": "/graphql/reference/unions#projectnextfieldconfiguration" + } + ] + }, { "name": "ProjectNextFieldConnection", "kind": "objects", @@ -42222,6 +42634,16 @@ "isDeprecated": true, "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" }, + { + "name": "projectFieldConstraint", + "description": "

The project field that contains this value and it's constraint.

", + "type": "ProjectNextFieldConfiguration!", + "id": "projectnextfieldconfiguration", + "kind": "unions", + "href": "/graphql/reference/unions#projectnextfieldconfiguration", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, { "name": "projectItem", "description": "

The project item that contains this value.

", @@ -42320,6 +42742,355 @@ } ] }, + { + "name": "ProjectNextIterationField", + "kind": "objects", + "id": "projectnextiterationfield", + "href": "/graphql/reference/objects#projectnextiterationfield", + "description": "

An iteration field inside a project.

", + "implements": [ + { + "name": "Node", + "id": "node", + "href": "/graphql/reference/interfaces#node" + }, + { + "name": "ProjectNextFieldCommon", + "id": "projectnextfieldcommon", + "href": "/graphql/reference/interfaces#projectnextfieldcommon" + } + ], + "fields": [ + { + "name": "configuration", + "description": "

Iteration configuration settings.

", + "type": "ProjectNextIterationFieldConfiguration!", + "id": "projectnextiterationfieldconfiguration", + "kind": "objects", + "href": "/graphql/reference/objects#projectnextiterationfieldconfiguration", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "createdAt", + "description": "

Identifies the date and time when the object was created.

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "dataType", + "description": "

The field's type.

", + "type": "ProjectNextFieldType!", + "id": "projectnextfieldtype", + "kind": "enums", + "href": "/graphql/reference/enums#projectnextfieldtype", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "databaseId", + "description": "

Identifies the primary key from the database.

", + "type": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "name", + "description": "

The project field's name.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "project", + "description": "

The project that contains this field.

", + "type": "ProjectNext!", + "id": "projectnext", + "kind": "objects", + "href": "/graphql/reference/objects#projectnext", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "settings", + "description": "

The field's settings.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "updatedAt", + "description": "

Identifies the date and time when the object was last updated.

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + } + ] + }, + { + "name": "ProjectNextIterationFieldConfiguration", + "kind": "objects", + "id": "projectnextiterationfieldconfiguration", + "href": "/graphql/reference/objects#projectnextiterationfieldconfiguration", + "description": "

Iteration field configuration for a project.

", + "fields": [ + { + "name": "completedIterations", + "description": "

The iteration's completed iterations.

", + "type": "[ProjectNextIterationFieldIteration!]!", + "id": "projectnextiterationfielditeration", + "kind": "objects", + "href": "/graphql/reference/objects#projectnextiterationfielditeration", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "duration", + "description": "

The iteration's duration in days.

", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "iterations", + "description": "

The iteration's iterations.

", + "type": "[ProjectNextIterationFieldIteration!]!", + "id": "projectnextiterationfielditeration", + "kind": "objects", + "href": "/graphql/reference/objects#projectnextiterationfielditeration", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "startDay", + "description": "

The iteration's start day of the week.

", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + } + ] + }, + { + "name": "ProjectNextIterationFieldIteration", + "kind": "objects", + "id": "projectnextiterationfielditeration", + "href": "/graphql/reference/objects#projectnextiterationfielditeration", + "description": "

Iteration field iteration settings for a project.

", + "fields": [ + { + "name": "duration", + "description": "

The iteration's duration in days.

", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "id", + "description": "

The iteration's ID.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "startDate", + "description": "

The iteration's start date.

", + "type": "Date!", + "id": "date", + "kind": "scalars", + "href": "/graphql/reference/scalars#date", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "title", + "description": "

The iteration's title.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "titleHTML", + "description": "

The iteration's html title.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + } + ] + }, + { + "name": "ProjectNextSingleSelectField", + "kind": "objects", + "id": "projectnextsingleselectfield", + "href": "/graphql/reference/objects#projectnextsingleselectfield", + "description": "

A single select field inside a project.

", + "implements": [ + { + "name": "Node", + "id": "node", + "href": "/graphql/reference/interfaces#node" + }, + { + "name": "ProjectNextFieldCommon", + "id": "projectnextfieldcommon", + "href": "/graphql/reference/interfaces#projectnextfieldcommon" + } + ], + "fields": [ + { + "name": "createdAt", + "description": "

Identifies the date and time when the object was created.

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "dataType", + "description": "

The field's type.

", + "type": "ProjectNextFieldType!", + "id": "projectnextfieldtype", + "kind": "enums", + "href": "/graphql/reference/enums#projectnextfieldtype", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "databaseId", + "description": "

Identifies the primary key from the database.

", + "type": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "name", + "description": "

The project field's name.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "options", + "description": "

Options for the single select field.

", + "type": "[ProjectNextSingleSelectFieldOption!]!", + "id": "projectnextsingleselectfieldoption", + "kind": "objects", + "href": "/graphql/reference/objects#projectnextsingleselectfieldoption", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "project", + "description": "

The project that contains this field.

", + "type": "ProjectNext!", + "id": "projectnext", + "kind": "objects", + "href": "/graphql/reference/objects#projectnext", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "settings", + "description": "

The field's settings.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "updatedAt", + "description": "

Identifies the date and time when the object was last updated.

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + } + ] + }, + { + "name": "ProjectNextSingleSelectFieldOption", + "kind": "objects", + "id": "projectnextsingleselectfieldoption", + "href": "/graphql/reference/objects#projectnextsingleselectfieldoption", + "description": "

Single select field option for a configuration for a project.

", + "fields": [ + { + "name": "id", + "description": "

The option's ID.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "name", + "description": "

The option's name.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + }, + { + "name": "nameHTML", + "description": "

The option's html name.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "isDeprecated": true, + "deprecationReason": "

The ProjectNext API is deprecated in favour of the more capable ProjectV2 API. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement. Removal on 2023-01-01 UTC.

" + } + ] + }, { "name": "ProjectProgress", "kind": "objects", @@ -56802,6 +57573,14 @@ "kind": "scalars", "href": "/graphql/reference/scalars#boolean" }, + { + "name": "hasVulnerabilityAlertsEnabled", + "description": "

Whether vulnerability alerts are enabled for the repository.

", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "hasWikiEnabled", "description": "

Indicates if the repository has wiki feature enabled.

", @@ -62016,6 +62795,14 @@ "kind": "objects", "href": "/graphql/reference/objects#sponsorsgoal" }, + { + "name": "activeStripeConnectAccount", + "description": "

The Stripe Connect account currently in use for payouts for this Sponsors\nlisting, if any. Will only return a value when queried by the maintainer\nthemselves, or by an admin of the sponsorable organization.

", + "type": "StripeConnectAccount", + "id": "stripeconnectaccount", + "kind": "objects", + "href": "/graphql/reference/objects#stripeconnectaccount" + }, { "name": "billingCountryOrRegion", "description": "

The name of the country or region with the maintainer's bank account or fiscal\nhost. Will only return a value when queried by the maintainer themselves, or\nby an admin of the sponsorable organization.

", @@ -62602,6 +63389,14 @@ "kind": "scalars", "href": "/graphql/reference/scalars#datetime" }, + { + "name": "isActive", + "description": "

Whether the sponsorship is active. False implies the sponsor is a past sponsor\nof the maintainer, while true implies they are a current sponsor.

", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "isOneTimePayment", "description": "

Whether this sponsorship represents a one-time payment versus a recurring sponsorship.

", @@ -62612,7 +63407,7 @@ }, { "name": "isSponsorOptedIntoEmail", - "description": "

Check if the sponsor has chosen to receive sponsorship update emails sent from\nthe sponsorable. Only returns a non-null value when the viewer has permission to know this.

", + "description": "

Whether the sponsor has chosen to receive sponsorship update emails sent from\nthe sponsorable. Only returns a non-null value when the viewer has permission to know this.

", "type": "Boolean", "id": "boolean", "kind": "scalars", @@ -62776,6 +63571,14 @@ } ], "fields": [ + { + "name": "author", + "description": "

The author of the newsletter.

", + "type": "User", + "id": "user", + "kind": "objects", + "href": "/graphql/reference/objects#user" + }, { "name": "body", "description": "

The contents of the newsletter, the message the sponsorable wanted to give.

", @@ -63555,6 +64358,63 @@ } ] }, + { + "name": "StripeConnectAccount", + "kind": "objects", + "id": "stripeconnectaccount", + "href": "/graphql/reference/objects#stripeconnectaccount", + "description": "

A Stripe Connect account for receiving sponsorship funds from GitHub Sponsors.

", + "fields": [ + { + "name": "accountId", + "description": "

The account number used to identify this Stripe Connect account.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "billingCountryOrRegion", + "description": "

The name of the country or region of an external account, such as a bank\naccount, tied to the Stripe Connect account. Will only return a value when\nqueried by the maintainer of the associated GitHub Sponsors profile\nthemselves, or by an admin of the sponsorable organization.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "countryOrRegion", + "description": "

The name of the country or region of the Stripe Connect account. Will only\nreturn a value when queried by the maintainer of the associated GitHub\nSponsors profile themselves, or by an admin of the sponsorable organization.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "isActive", + "description": "

Whether this Stripe Connect account is currently in use for the associated GitHub Sponsors profile.

", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, + { + "name": "sponsorsListing", + "description": "

The GitHub Sponsors profile associated with this Stripe Connect account.

", + "type": "SponsorsListing!", + "id": "sponsorslisting", + "kind": "objects", + "href": "/graphql/reference/objects#sponsorslisting" + }, + { + "name": "stripeDashboardUrl", + "description": "

The URL to access this Stripe Connect account on Stripe's website.

", + "type": "URI!", + "id": "uri", + "kind": "scalars", + "href": "/graphql/reference/scalars#uri" + } + ] + }, { "name": "Submodule", "kind": "objects", @@ -68723,7 +69583,7 @@ }, { "name": "isSponsoredBy", - "description": "

Check if the given account is sponsoring this user/organization.

", + "description": "

Whether the given account is sponsoring this user/organization.

", "type": "Boolean!", "id": "boolean", "kind": "scalars", @@ -70468,19 +71328,45 @@ }, { "name": "sponsorshipForViewerAsSponsor", - "description": "

The sponsorship from the viewer to this user/organization; that is, the\nsponsorship where you're the sponsor. Only returns a sponsorship if it is active.

", + "description": "

The sponsorship from the viewer to this user/organization; that is, the sponsorship where you're the sponsor.

", "type": "Sponsorship", "id": "sponsorship", "kind": "objects", - "href": "/graphql/reference/objects#sponsorship" + "href": "/graphql/reference/objects#sponsorship", + "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to return the sponsorship only if it's still active. Pass false to\nget the viewer's sponsorship back even if it has been cancelled.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + } + ] }, { "name": "sponsorshipForViewerAsSponsorable", - "description": "

The sponsorship from this user/organization to the viewer; that is, the\nsponsorship you're receiving. Only returns a sponsorship if it is active.

", + "description": "

The sponsorship from this user/organization to the viewer; that is, the sponsorship you're receiving.

", "type": "Sponsorship", "id": "sponsorship", "kind": "objects", - "href": "/graphql/reference/objects#sponsorship" + "href": "/graphql/reference/objects#sponsorship", + "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to return the sponsorship only if it's still active. Pass false to\nget the sponsorship back even if it has been cancelled.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + } + ] }, { "name": "sponsorshipNewsletters", @@ -70550,6 +71436,17 @@ "kind": "objects", "href": "/graphql/reference/objects#sponsorshipconnection", "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to include only sponsorships that are active right now, versus all\nsponsorships this maintainer has ever received.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + }, { "name": "after", "description": "

Returns the elements in the list that come after the specified cursor.

", @@ -70621,6 +71518,17 @@ "kind": "objects", "href": "/graphql/reference/objects#sponsorshipconnection", "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to include only sponsorships that are active right now, versus all sponsorships this sponsor has ever made.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + }, { "name": "after", "description": "

Returns the elements in the list that come after the specified cursor.

", @@ -70831,6 +71739,46 @@ } ] }, + { + "name": "totalSponsorshipAmountAsSponsorInCents", + "description": "

The amount in United States cents (e.g., 500 = $5.00 USD) that this entity has\nspent on GitHub to fund sponsorships. Only returns a value when viewed by the\nuser themselves or by a user who can manage sponsorships for the requested organization.

", + "type": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int", + "arguments": [ + { + "name": "since", + "description": "

Filter payments to those that occurred on or after this time.

", + "type": { + "name": "DateTime", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + } + }, + { + "name": "sponsorableLogins", + "description": "

Filter payments to those made to the users or organizations with the specified usernames.

", + "type": { + "name": "[String!]", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "until", + "description": "

Filter payments to those that occurred before this time.

", + "type": { + "name": "DateTime", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + } + } + ] + }, { "name": "twitterUsername", "description": "

The user's Twitter username.

", @@ -74816,7 +75764,7 @@ }, { "name": "isSponsoredBy", - "description": "

Check if the given account is sponsoring this user/organization.

", + "description": "

Whether the given account is sponsoring this user/organization.

", "type": "Boolean!", "id": "boolean", "kind": "scalars", @@ -75102,19 +76050,45 @@ }, { "name": "sponsorshipForViewerAsSponsor", - "description": "

The sponsorship from the viewer to this user/organization; that is, the\nsponsorship where you're the sponsor. Only returns a sponsorship if it is active.

", + "description": "

The sponsorship from the viewer to this user/organization; that is, the sponsorship where you're the sponsor.

", "type": "Sponsorship", "id": "sponsorship", "kind": "objects", - "href": "/graphql/reference/objects#sponsorship" + "href": "/graphql/reference/objects#sponsorship", + "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to return the sponsorship only if it's still active. Pass false to\nget the viewer's sponsorship back even if it has been cancelled.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + } + ] }, { "name": "sponsorshipForViewerAsSponsorable", - "description": "

The sponsorship from this user/organization to the viewer; that is, the\nsponsorship you're receiving. Only returns a sponsorship if it is active.

", + "description": "

The sponsorship from this user/organization to the viewer; that is, the sponsorship you're receiving.

", "type": "Sponsorship", "id": "sponsorship", "kind": "objects", - "href": "/graphql/reference/objects#sponsorship" + "href": "/graphql/reference/objects#sponsorship", + "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to return the sponsorship only if it's still active. Pass false to\nget the sponsorship back even if it has been cancelled.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + } + ] }, { "name": "sponsorshipNewsletters", @@ -75184,6 +76158,17 @@ "kind": "objects", "href": "/graphql/reference/objects#sponsorshipconnection", "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to include only sponsorships that are active right now, versus all\nsponsorships this maintainer has ever received.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + }, { "name": "after", "description": "

Returns the elements in the list that come after the specified cursor.

", @@ -75255,6 +76240,17 @@ "kind": "objects", "href": "/graphql/reference/objects#sponsorshipconnection", "arguments": [ + { + "name": "activeOnly", + "defaultValue": true, + "description": "

Whether to include only sponsorships that are active right now, versus all sponsorships this sponsor has ever made.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + }, { "name": "after", "description": "

Returns the elements in the list that come after the specified cursor.

", @@ -75317,6 +76313,46 @@ } ] }, + { + "name": "totalSponsorshipAmountAsSponsorInCents", + "description": "

The amount in United States cents (e.g., 500 = $5.00 USD) that this entity has\nspent on GitHub to fund sponsorships. Only returns a value when viewed by the\nuser themselves or by a user who can manage sponsorships for the requested organization.

", + "type": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int", + "arguments": [ + { + "name": "since", + "description": "

Filter payments to those that occurred on or after this time.

", + "type": { + "name": "DateTime", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + } + }, + { + "name": "sponsorableLogins", + "description": "

Filter payments to those made to the users or organizations with the specified usernames.

", + "type": { + "name": "[String!]", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "until", + "description": "

Filter payments to those that occurred before this time.

", + "type": { + "name": "DateTime", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + } + } + ] + }, { "name": "viewerCanSponsor", "description": "

Whether or not the viewer is able to sponsor this user/organization.

", @@ -77804,6 +78840,47 @@ } ] }, + { + "name": "OrganizationMigrationState", + "kind": "enums", + "id": "organizationmigrationstate", + "href": "/graphql/reference/enums#organizationmigrationstate", + "description": "

The Octoshift Organization migration state.

", + "values": [ + { + "name": "FAILED", + "description": "

The Octoshift migration has failed.

" + }, + { + "name": "IN_PROGRESS", + "description": "

The Octoshift migration is in progress.

" + }, + { + "name": "NOT_STARTED", + "description": "

The Octoshift migration has not started.

" + }, + { + "name": "POST_REPO_MIGRATION", + "description": "

The Octoshift migration is performing post repository migrations.

" + }, + { + "name": "PRE_REPO_MIGRATION", + "description": "

The Octoshift migration is performing pre repository migrations.

" + }, + { + "name": "QUEUED", + "description": "

The Octoshift migration has been queued.

" + }, + { + "name": "REPO_MIGRATION", + "description": "

The Octoshift org migration is performing repository migrations.

" + }, + { + "name": "SUCCEEDED", + "description": "

The Octoshift migration has succeeded.

" + } + ] + }, { "name": "OrganizationOrderField", "kind": "enums", @@ -82338,6 +83415,30 @@ } ] }, + { + "name": "ProjectNextFieldConfiguration", + "kind": "unions", + "id": "projectnextfieldconfiguration", + "href": "/graphql/reference/unions#projectnextfieldconfiguration", + "description": "

Configurations for project next fields.

", + "possibleTypes": [ + { + "name": "ProjectNextField", + "id": "projectnextfield", + "href": "/graphql/reference/objects#projectnextfield" + }, + { + "name": "ProjectNextIterationField", + "id": "projectnextiterationfield", + "href": "/graphql/reference/objects#projectnextiterationfield" + }, + { + "name": "ProjectNextSingleSelectField", + "id": "projectnextsingleselectfield", + "href": "/graphql/reference/objects#projectnextsingleselectfield" + } + ] + }, { "name": "ProjectNextItemContent", "kind": "unions", @@ -86503,6 +87604,15 @@ "kind": "scalars", "href": "/graphql/reference/scalars#string" }, + { + "name": "headRepositoryId", + "description": "

The Node ID of the head repository.

", + "type": "ID", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id", + "isDeprecated": false + }, { "name": "maintainerCanModify", "description": "

Indicates whether maintainers can modify the pull request.

", @@ -89596,6 +90706,32 @@ } ] }, + { + "name": "PublishSponsorsTierInput", + "kind": "inputObjects", + "id": "publishsponsorstierinput", + "href": "/graphql/reference/input-objects#publishsponsorstierinput", + "description": "

Autogenerated input type of PublishSponsorsTier.

", + "inputFields": [ + { + "name": "clientMutationId", + "description": "

A unique identifier for the client performing the mutation.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "tierId", + "description": "

The ID of the draft tier to publish.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id", + "isDeprecated": false + } + ] + }, { "name": "PullRequestOrder", "kind": "inputObjects", @@ -90432,6 +91568,32 @@ } ] }, + { + "name": "RetireSponsorsTierInput", + "kind": "inputObjects", + "id": "retiresponsorstierinput", + "href": "/graphql/reference/input-objects#retiresponsorstierinput", + "description": "

Autogenerated input type of RetireSponsorsTier.

", + "inputFields": [ + { + "name": "clientMutationId", + "description": "

A unique identifier for the client performing the mutation.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "tierId", + "description": "

The ID of the published tier to retire.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id", + "isDeprecated": false + } + ] + }, { "name": "RevokeEnterpriseOrganizationsMigratorRoleInput", "kind": "inputObjects", @@ -90975,6 +92137,56 @@ } ] }, + { + "name": "StartOrganizationMigrationInput", + "kind": "inputObjects", + "id": "startorganizationmigrationinput", + "href": "/graphql/reference/input-objects#startorganizationmigrationinput", + "description": "

Autogenerated input type of StartOrganizationMigration.

", + "inputFields": [ + { + "name": "clientMutationId", + "description": "

A unique identifier for the client performing the mutation.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "sourceAccessToken", + "description": "

The migration source access token.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "sourceOrgUrl", + "description": "

The URL of the organization to migrate.

", + "type": "URI!", + "id": "uri", + "kind": "scalars", + "href": "/graphql/reference/scalars#uri" + }, + { + "name": "targetEnterpriseId", + "description": "

The ID of the enterprise the target organization belongs to.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id", + "isDeprecated": false + }, + { + "name": "targetOrgName", + "description": "

The name of the target organization.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + ] + }, { "name": "StartRepositoryMigrationInput", "kind": "inputObjects", @@ -93585,6 +94797,15 @@ "kind": "scalars", "href": "/graphql/reference/scalars#string" }, + { + "name": "fieldConstraintId", + "description": "

The id of the field to be updated. Only supports custom fields and status for now.

\n

Upcoming Change on 2023-01-01 UTC\nDescription: fieldConstraintId will be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/,\nto find a suitable replacement.\nReason: The ProjectNext API is deprecated in favour of the more capable ProjectV2 API.

", + "type": "ID", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id", + "isDeprecated": false + }, { "name": "fieldId", "description": "

The id of the field to be updated.

\n

Upcoming Change on 2023-01-01 UTC\nDescription: fieldId will be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/,\nto find a suitable replacement.\nReason: The ProjectNext API is deprecated in favour of the more capable ProjectV2 API.

", @@ -93594,6 +94815,15 @@ "href": "/graphql/reference/scalars#id", "isDeprecated": false }, + { + "name": "fieldWithSettingId", + "description": "

The id of the field to be updated. Only supports custom fields and status for now.

\n

Upcoming Change on 2022-10-01 UTC\nDescription: fieldWithSettingId will be removed. Use fieldConstraintId instead\nReason: Renamed to fieldConstraintId to improve naming consistency.

", + "type": "ID", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id", + "isDeprecated": false + }, { "name": "itemId", "description": "

The id of the item to be updated. This field is required.

\n

Upcoming Change on 2023-01-01 UTC\nDescription: itemId will be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/,\nto find a suitable replacement.\nReason: The ProjectNext API is deprecated in favour of the more capable ProjectV2 API.

", diff --git a/lib/graphql/static/upcoming-changes.json b/lib/graphql/static/upcoming-changes.json index da4bb9c3fe..d820c95d1f 100644 --- a/lib/graphql/static/upcoming-changes.json +++ b/lib/graphql/static/upcoming-changes.json @@ -42,6 +42,16 @@ "owner": "alcere" } ], + "2023-02-10": [ + { + "location": "PackageType.MAVEN", + "description": "

MAVEN will be removed.

", + "reason": "

MAVEN will be removed from this enum as this type will be migrated to only be used by the Packages REST API.

", + "date": "2023-02-10", + "criticality": "breaking", + "owner": "ankitkaushal01" + } + ], "2023-01-01": [ { "location": "User.recentProjectsNext", @@ -1324,6 +1334,16 @@ "owner": "lukewar" } ], + "2022-12-28": [ + { + "location": "PackageType.RUBYGEMS", + "description": "

RUBYGEMS will be removed.

", + "reason": "

RUBYGEMS will be removed from this enum as this type will be migrated to only be used by the Packages REST API.

", + "date": "2022-12-28", + "criticality": "breaking", + "owner": "ankitkaushal01" + } + ], "2022-11-21": [ { "location": "PackageType.NUGET", @@ -1524,6 +1544,16 @@ "owner": "alcere" } ], + "2023-02-10": [ + { + "location": "PackageType.MAVEN", + "description": "

MAVEN will be removed.

", + "reason": "

MAVEN will be removed from this enum as this type will be migrated to only be used by the Packages REST API.

", + "date": "2023-02-10", + "criticality": "breaking", + "owner": "ankitkaushal01" + } + ], "2023-01-01": [ { "location": "User.recentProjectsNext", @@ -2806,6 +2836,16 @@ "owner": "lukewar" } ], + "2022-12-28": [ + { + "location": "PackageType.RUBYGEMS", + "description": "

RUBYGEMS will be removed.

", + "reason": "

RUBYGEMS will be removed from this enum as this type will be migrated to only be used by the Packages REST API.

", + "date": "2022-12-28", + "criticality": "breaking", + "owner": "ankitkaushal01" + } + ], "2022-11-21": [ { "location": "PackageType.NUGET", @@ -3802,6 +3842,16 @@ "owner": "alcere" } ], + "2023-02-10": [ + { + "location": "PackageType.MAVEN", + "description": "

MAVEN will be removed.

", + "reason": "

MAVEN will be removed from this enum as this type will be migrated to only be used by the Packages REST API.

", + "date": "2023-02-10", + "criticality": "breaking", + "owner": "ankitkaushal01" + } + ], "2023-01-01": [ { "location": "ProjectV2View.visibleFields", @@ -3932,6 +3982,16 @@ "owner": "adamshwert" } ], + "2022-12-28": [ + { + "location": "PackageType.RUBYGEMS", + "description": "

RUBYGEMS will be removed.

", + "reason": "

RUBYGEMS will be removed from this enum as this type will be migrated to only be used by the Packages REST API.

", + "date": "2022-12-28", + "criticality": "breaking", + "owner": "ankitkaushal01" + } + ], "2022-11-21": [ { "location": "PackageType.NUGET", From 83bdd63b1d133783004b22c9330c2b6179c98818 Mon Sep 17 00:00:00 2001 From: Joe Clark <31087804+jc-clark@users.noreply.github.com> Date: Tue, 10 Jan 2023 17:01:25 -0800 Subject: [PATCH 07/18] Add documentation for new OIDC claims, default variables, and contexts (#33719) Co-authored-by: Lucas Costi --- ...-security-hardening-with-openid-connect.md | 91 ++++++++++--------- .../actions/learn-github-actions/contexts.md | 22 ++++- .../actions/learn-github-actions/variables.md | 13 +++ data/features/actions-oidc-custom-claims.yml | 7 ++ .../reusables/actions/actor_id-description.md | 1 + .../actions/job-workflow-sha-description.md | 1 + .../actions/repository_id-description.md | 1 + .../repository_owner_id-description.md | 1 + .../actions/workflow-ref-description.md | 1 + .../actions/workflow-sha-description.md | 1 + 10 files changed, 94 insertions(+), 45 deletions(-) create mode 100644 data/features/actions-oidc-custom-claims.yml create mode 100644 data/reusables/actions/actor_id-description.md create mode 100644 data/reusables/actions/job-workflow-sha-description.md create mode 100644 data/reusables/actions/repository_id-description.md create mode 100644 data/reusables/actions/repository_owner_id-description.md create mode 100644 data/reusables/actions/workflow-ref-description.md create mode 100644 data/reusables/actions/workflow-sha-description.md diff --git a/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md b/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md index 0d240ae768..ba3fb40737 100644 --- a/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md +++ b/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md @@ -17,9 +17,9 @@ topics: ## Overview of OpenID Connect -{% data variables.product.prodname_actions %} workflows are often designed to access a cloud provider (such as AWS, Azure, GCP, or HashiCorp Vault) in order to deploy software or use the cloud's services. Before the workflow can access these resources, it will supply credentials, such as a password or token, to the cloud provider. These credentials are usually stored as a secret in {% data variables.product.prodname_dotcom %}, and the workflow presents this secret to the cloud provider every time it runs. +{% data variables.product.prodname_actions %} workflows are often designed to access a cloud provider (such as AWS, Azure, GCP, or HashiCorp Vault) in order to deploy software or use the cloud's services. Before the workflow can access these resources, it will supply credentials, such as a password or token, to the cloud provider. These credentials are usually stored as a secret in {% data variables.product.prodname_dotcom %}, and the workflow presents this secret to the cloud provider every time it runs. -However, using hardcoded secrets requires you to create credentials in the cloud provider and then duplicate them in {% data variables.product.prodname_dotcom %} as a secret. +However, using hardcoded secrets requires you to create credentials in the cloud provider and then duplicate them in {% data variables.product.prodname_dotcom %} as a secret. With OpenID Connect (OIDC), you can take a different approach by configuring your workflow to request a short-lived access token directly from the cloud provider. Your cloud provider also needs to support OIDC on their end, and you must configure a trust relationship that controls which workflows are able to request the access tokens. Providers that currently support OIDC include Amazon Web Services, Azure, Google Cloud Platform, and HashiCorp Vault, among others. @@ -27,7 +27,7 @@ With OpenID Connect (OIDC), you can take a different approach by configuring you By updating your workflows to use OIDC tokens, you can adopt the following good security practices: -- **No cloud secrets**: You won't need to duplicate your cloud credentials as long-lived {% data variables.product.prodname_dotcom %} secrets. Instead, you can configure the OIDC trust on your cloud provider, and then update your workflows to request a short-lived access token from the cloud provider through OIDC. +- **No cloud secrets**: You won't need to duplicate your cloud credentials as long-lived {% data variables.product.prodname_dotcom %} secrets. Instead, you can configure the OIDC trust on your cloud provider, and then update your workflows to request a short-lived access token from the cloud provider through OIDC. - **Authentication and authorization management**: You have more granular control over how workflows can use credentials, using your cloud provider's authentication (authN) and authorization (authZ) tools to control access to cloud resources. - **Rotating credentials**: With OIDC, your cloud provider issues a short-lived access token that is only valid for a single job, and then automatically expires. @@ -48,7 +48,7 @@ When you configure your cloud to trust {% data variables.product.prodname_dotcom - Before granting an access token, your cloud provider checks that the [`subject`](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims) and other claims used to set conditions in its trust settings match those in the request's JSON Web Token (JWT). As a result, you must take care to correctly define the _subject_ and other conditions in your cloud provider. - The OIDC trust configuration steps and the syntax to set conditions for cloud roles (using _Subject_ and other claims) will vary depending on which cloud provider you're using. For some examples, see "[Example subject claims](#example-subject-claims)." - + ### Understanding the OIDC token Each job requests an OIDC token from {% data variables.product.prodname_dotcom %}'s OIDC provider, which responds with an automatically generated JSON web token (JWT) that is unique for each workflow job where it is generated. When the job runs, the OIDC token is presented to the cloud provider. To validate the token, the cloud provider checks if the OIDC token's subject and other claims are a match for the conditions that were preconfigured on the cloud role's OIDC trust definition. @@ -92,51 +92,58 @@ The following example OIDC token uses a subject (`sub`) that references a job en } ``` -To see all the claims supported by {% data variables.product.prodname_dotcom %}'s OIDC provider, review the `claims_supported` entries at +To see all the claims supported by {% data variables.product.prodname_dotcom %}'s OIDC provider, review the `claims_supported` entries at {% ifversion ghes %}`https://HOSTNAME/_services/token/.well-known/openid-configuration`{% else %}https://token.actions.githubusercontent.com/.well-known/openid-configuration{% endif %}. The token includes the standard audience, issuer, and subject claims: | Claim | Description | | ----------- | ---------------------- | -| `aud`| _(Audience)_ By default, this is the URL of the repository owner, such as the organization that owns the repository. This is the only claim that can be customized. You can set a custom audience with a toolkit command: [`core.getIDToken(audience)`](https://www.npmjs.com/package/@actions/core/v/1.6.0) | -| `iss`| _(Issuer)_ The issuer of the OIDC token: {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %} | +| `aud`| _(Audience)_ By default, this is the URL of the repository owner, such as the organization that owns the repository. This is the only claim that can be customized. You can set a custom audience with a toolkit command: [`core.getIDToken(audience)`](https://www.npmjs.com/package/@actions/core/v/1.6.0) | +| `iss`| _(Issuer)_ The issuer of the OIDC token: {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %} | | `sub`| _(Subject)_ Defines the subject claim that is to be validated by the cloud provider. This setting is essential for making sure that access tokens are only allocated in a predictable way.| The OIDC token also includes additional standard claims: | Claim | Description | | ----------- | ---------------------- | -| `alg`| _(Algorithm)_ The algorithm used by the OIDC provider. | -| `exp`| _(Expires at)_ Identifies the expiry time of the JWT. | -| `iat`| _(Issued at)_ The time when the JWT was issued. | -| `jti`| _(JWT token identifier)_ Unique identifier for the OIDC token. | -| `kid`| _(Key identifier)_ Unique key for the OIDC token. | -| `nbf`| _(Not before)_ JWT is not valid for use before this time. | -| `typ`| _(Type)_ Describes the type of token. This is a JSON Web Token (JWT). | +| `alg`| _(Algorithm)_ The algorithm used by the OIDC provider. | +| `exp`| _(Expires at)_ Identifies the expiry time of the JWT. | +| `iat`| _(Issued at)_ The time when the JWT was issued. | +| `jti`| _(JWT token identifier)_ Unique identifier for the OIDC token. | +| `kid`| _(Key identifier)_ Unique key for the OIDC token. | +| `nbf`| _(Not before)_ JWT is not valid for use before this time. | +| `typ`| _(Type)_ Describes the type of token. This is a JSON Web Token (JWT). | The token also includes custom claims provided by {% data variables.product.prodname_dotcom %}: | Claim | Description | | ----------- | ---------------------- | -| `actor`| The personal account that initiated the workflow run. | +| `actor`| The personal account that initiated the workflow run. | | `actor_id`| The ID of personal account that initiated the workflow run. | -| `base_ref`| The target branch of the pull request in a workflow run. | -| `environment`| The name of the environment used by the job. | -| `event_name`| The name of the event that triggered the workflow run. | -| `head_ref`| The source branch of the pull request in a workflow run. | -| `job_workflow_ref`| This is the ref path to the reusable workflow used by this job. For more information, see "["Using OpenID Connect with reusable workflows"](/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows)." | -| `ref`| _(Reference)_ The git ref that triggered the workflow run. | -| `ref_type`| The type of `ref`, for example: "branch". | -| `repository_visibility` | The visibility of the repository where the workflow is running. Accepts the following values: `internal`, `private`, or `public`. | -| `repository`| The repository from where the workflow is running. | +| `base_ref`| The target branch of the pull request in a workflow run. | +| `environment`| The name of the environment used by the job. | +| `event_name`| The name of the event that triggered the workflow run. | +| `head_ref`| The source branch of the pull request in a workflow run. | +| `job_workflow_ref`| For jobs using a reusable workflow, the ref path to the reusable workflow. For more information, see "[Using OpenID Connect with reusable workflows](/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows)." | +{%- ifversion actions-oidc-custom-claims %} +| `job_workflow_sha`| {% data reusables.actions.job-workflow-sha-description %} | +{%- endif %} +| `ref`| _(Reference)_ The git ref that triggered the workflow run. | +| `ref_type`| The type of `ref`, for example: "branch". | +| `repository_visibility` | The visibility of the repository where the workflow is running. Accepts the following values: `internal`, `private`, or `public`. | +| `repository`| The repository from where the workflow is running. | | `repository_id`| The ID of the repository from where the workflow is running. | -| `repository_owner`| The name of the organization in which the `repository` is stored. | +| `repository_owner`| The name of the organization in which the `repository` is stored. | | `repository_owner_id`| The ID of the organization in which the `repository` is stored. | -| `run_id`| The ID of the workflow run that triggered the workflow. | -| `run_number`| The number of times this workflow has been run. | -| `run_attempt`| The number of times this workflow run has been retried. | -| `workflow`| The name of the workflow. | +| `run_id`| The ID of the workflow run that triggered the workflow. | +| `run_number`| The number of times this workflow has been run. | +| `run_attempt`| The number of times this workflow run has been retried. | +| `workflow`| The name of the workflow. | +{%- ifversion actions-oidc-custom-claims %} +| `workflow_ref`| {% data reusables.actions.workflow-ref-description %} | +| `workflow_sha`| {% data reusables.actions.workflow-sha-description %} | +{%- endif %} ### Defining trust conditions on cloud roles using OIDC claims @@ -168,7 +175,7 @@ You can configure a subject that filters for a specific [environment](/actions/d | | | | ------ | ----------- | -| Syntax: | `repo::environment:` | +| Syntax: | `repo::environment:` | | Example:| `repo:octo-org/octo-repo:environment:Production` | #### Filtering for `pull_request` events @@ -179,7 +186,7 @@ You can configure a subject that filters for the [`pull_request`](/actions/learn | | | | ------ | ----------- | -| Syntax: | `repo::pull_request` | +| Syntax: | `repo::pull_request` | | Example:| `repo:octo-org/octo-repo:pull_request` | #### Filtering for a specific branch @@ -190,7 +197,7 @@ You can configure a subject that filters for a specific branch name. In this exa | | | | ------ | ----------- | -| Syntax: | `repo::ref:refs/heads/branchName` | +| Syntax: | `repo::ref:refs/heads/branchName` | | Example:| `repo:octo-org/octo-repo:ref:refs/heads/demo-branch` | #### Filtering for a specific tag @@ -201,7 +208,7 @@ You can create a subject that filters for specific tag. In this example, the wor | | | | ------ | ----------- | -| Syntax: | `repo::ref:refs/tags/` | +| Syntax: | `repo::ref:refs/tags/` | | Example:| `repo:octo-org/octo-repo:ref:refs/tags/demo-tag` | ### Configuring the subject in your cloud provider @@ -210,7 +217,7 @@ To configure the subject in your cloud provider's trust relationship, you must a | | | | ------ | ----------- | -| Amazon Web Services | `"{% ifversion ghes %}HOSTNAME/_services/token{% else %}token.actions.githubusercontent.com{% endif %}:sub": "repo:octo-org/octo-repo:ref:refs/heads/demo-branch"` | +| Amazon Web Services | `"{% ifversion ghes %}HOSTNAME/_services/token{% else %}token.actions.githubusercontent.com{% endif %}:sub": "repo:octo-org/octo-repo:ref:refs/heads/demo-branch"` | | Azure| `repo:octo-org/octo-repo:ref:refs/heads/demo-branch` | | Google Cloud Platform| `(assertion.sub=='repo:octo-org/octo-repo:ref:refs/heads/demo-branch')` | | HashiCorp Vault| `bound_subject="repo:octo-org/octo-repo:ref:refs/heads/demo-branch" ` | @@ -225,7 +232,7 @@ You could also use a `curl` command to request the JWT, using the following envi | | | | ------ | ----------- | -| `ACTIONS_ID_TOKEN_REQUEST_URL` | The URL for {% data variables.product.prodname_dotcom %}'s OIDC provider. | +| `ACTIONS_ID_TOKEN_REQUEST_URL` | The URL for {% data variables.product.prodname_dotcom %}'s OIDC provider. | | `ACTIONS_ID_TOKEN_REQUEST_TOKEN` | Bearer token for the request to the OIDC provider. | @@ -256,7 +263,7 @@ To customize these claim formats, organization and repository admins can use the By default, the JWT is issued by {% data variables.product.prodname_dotcom %}'s OIDC provider at `https://token.actions.githubusercontent.com`. This path is presented to your cloud provider using the `iss` value in the JWT. -Enterprise admins can security harden their OIDC configuration by configuring their enterprise to receive tokens from a unique URL at `https://token.actions.githubusercontent.com/`. Replace `` with the slug value of your enterprise. +Enterprise admins can security harden their OIDC configuration by configuring their enterprise to receive tokens from a unique URL at `https://token.actions.githubusercontent.com/`. Replace `` with the slug value of your enterprise. This configuration means that your enterprise will receive the OIDC token from a unique URL, and you can then configure your cloud provider to only accept tokens from that URL. This helps ensure that only the enterprise's repositories can access your cloud resources using OIDC. @@ -291,7 +298,7 @@ To help improve security, compliance, and standardization, you can customize the Customizing the claims results in a new format for the entire `sub` claim, which replaces the default predefined `sub` format in the token described in "[Example subject claims](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#example-subject-claims)." -The following example templates demonstrate various ways to customize the subject claim. To configure these settings on {% data variables.product.prodname_dotcom %}, admins use the REST API to specify a list of claims that must be included in the subject (`sub`) claim. +The following example templates demonstrate various ways to customize the subject claim. To configure these settings on {% data variables.product.prodname_dotcom %}, admins use the REST API to specify a list of claims that must be included in the subject (`sub`) claim. {% data reusables.actions.use-request-body-api %} @@ -314,7 +321,7 @@ In your cloud provider's OIDC configuration, configure the `sub` condition to re #### Example: Allowing access to all repositories with a specific owner -This example template enables the `sub` claim to have a new format with only the value of `repository_owner`. +This example template enables the `sub` claim to have a new format with only the value of `repository_owner`. {% data reusables.actions.use-request-body-api %} @@ -365,12 +372,12 @@ This example also demonstrates how to use `"context"` to define your conditions. In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include specific values for `repo`, `context`, and `job_workflow_ref`. -This customization template requires that the `sub` uses the following format: `repo::environment::job_workflow_ref:`. +This customization template requires that the `sub` uses the following format: `repo::environment::job_workflow_ref:`. For example: `"sub": "repo:octo-org/octo-repo:environment:prod:job_workflow_ref:octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main"` #### Example: Granting access to a specific repository -This example template lets you grant cloud access to all the workflows in a specific repository, across all branches/tags and environments. To help improve security, combine this template with the custom issuer URL described in "[Customizing the token URL for an enterprise](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-url-for-an-enterprise)." +This example template lets you grant cloud access to all the workflows in a specific repository, across all branches/tags and environments. To help improve security, combine this template with the custom issuer URL described in "[Customizing the token URL for an enterprise](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-url-for-an-enterprise)." {% data reusables.actions.use-request-body-api %} @@ -386,7 +393,7 @@ In your cloud provider's OIDC configuration, configure the `sub` condition to re #### Example: Using system-generated GUIDs -This example template enables predictable OIDC claims with system-generated GUIDs that do not change between renames of entities (such as renaming a repository). +This example template enables predictable OIDC claims with system-generated GUIDs that do not change between renames of entities (such as renaming a repository). {% data reusables.actions.use-request-body-api %} @@ -431,7 +438,7 @@ In your cloud provider's OIDC configuration, configure the `sub` condition to re #### Using the default subject claims -For repositories that can receive a subject claim policy from their organization, the repository owner can later choose to opt-out and instead use the default `sub` claim format. This means that the repository will not use the organization's customized template. +For repositories that can receive a subject claim policy from their organization, the repository owner can later choose to opt-out and instead use the default `sub` claim format. This means that the repository will not use the organization's customized template. To configure the repository to use the default `sub` claim format, a repository admin must use the REST API endpoint at "[Set the customization template for an OIDC subject claim for a repository](/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-a-repository)" with the following request body: diff --git a/content/actions/learn-github-actions/contexts.md b/content/actions/learn-github-actions/contexts.md index 74a76748e3..f895191438 100644 --- a/content/actions/learn-github-actions/contexts.md +++ b/content/actions/learn-github-actions/contexts.md @@ -191,6 +191,9 @@ The `github` context contains information about the workflow run and the event t | `github.action_repository` | `string` | For a step executing an action, this is the owner and repository name of the action. For example, `actions/checkout`. | | `github.action_status` | `string` | For a composite action, the current result of the composite action. | | `github.actor` | `string` | {% ifversion actions-stable-actor-ids %}The username of the user that triggered the initial workflow run. If the workflow run is a re-run, this value may differ from `github.triggering_actor`. Any workflow re-runs will use the privileges of `github.actor`, even if the actor initiating the re-run (`github.triggering_actor`) has different privileges.{% else %}The username of the user that initiated the workflow run.{% endif %} | +{%- ifversion actions-oidc-custom-claims %} +| `github.actor_id` | `string` | {% data reusables.actions.actor_id-description %} | +{%- endif %} | `github.api_url` | `string` | The URL of the {% data variables.product.prodname_dotcom %} REST API. | | `github.base_ref` | `string` | The `base_ref` or target branch of the pull request in a workflow run. This property is only available when the event that triggers a workflow run is either `pull_request` or `pull_request_target`. | | `github.env` | `string` | Path on the runner to the file that sets environment variables from workflow commands. This file is unique to the current step and is a different file for each step in a job. For more information, see "[Workflow commands for {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-commands-for-github-actions#setting-an-environment-variable)." | @@ -200,6 +203,9 @@ The `github` context contains information about the workflow run and the event t | `github.graphql_url` | `string` | The URL of the {% data variables.product.prodname_dotcom %} GraphQL API. | | `github.head_ref` | `string` | The `head_ref` or source branch of the pull request in a workflow run. This property is only available when the event that triggers a workflow run is either `pull_request` or `pull_request_target`. | | `github.job` | `string` | The [`job_id`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_id) of the current job.
Note: This context property is set by the Actions runner, and is only available within the execution `steps` of a job. Otherwise, the value of this property will be `null`. | +{%- ifversion actions-oidc-custom-claims %} +| `github.job_workflow_sha` | `string` | {% data reusables.actions.job-workflow-sha-description %} | +{%- endif %} | `github.ref` | `string` | {% data reusables.actions.ref-description %} | {%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} | `github.ref_name` | `string` | {% data reusables.actions.ref_name-description %} | @@ -207,9 +213,15 @@ The `github` context contains information about the workflow run and the event t | `github.ref_type` | `string` | {% data reusables.actions.ref_type-description %} | {%- endif %} | `github.path` | `string` | Path on the runner to the file that sets system `PATH` variables from workflow commands. This file is unique to the current step and is a different file for each step in a job. For more information, see "[Workflow commands for {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-commands-for-github-actions#adding-a-system-path)." | -| `github.repository` | `string` | The owner and repository name. For example, `Codertocat/Hello-World`. | -| `github.repository_owner` | `string` | The repository owner's name. For example, `Codertocat`. | -| `github.repositoryUrl` | `string` | The Git URL to the repository. For example, `git://github.com/codertocat/hello-world.git`. | +| `github.repository` | `string` | The owner and repository name. For example, `octocat/Hello-World`. | +{%- ifversion actions-oidc-custom-claims %} +| `github.repository_id` | `string` | {% data reusables.actions.repository_id-description %} | +{%- endif %} +| `github.repository_owner` | `string` | The repository owner's username. For example, `octocat`. | +{%- ifversion actions-oidc-custom-claims %} +| `github.repository_owner_id` | `string` | {% data reusables.actions.repository_owner_id-description %} | +{%- endif %} +| `github.repositoryUrl` | `string` | The Git URL to the repository. For example, `git://github.com/octocat/hello-world.git`. | | `github.retention_days` | `string` | The number of days that workflow run logs and artifacts are kept. | | `github.run_id` | `string` | {% data reusables.actions.run_id_description %} | | `github.run_number` | `string` | {% data reusables.actions.run_number_description %} | @@ -224,6 +236,10 @@ The `github` context contains information about the workflow run and the event t | `github.token` | `string` | A token to authenticate on behalf of the GitHub App installed on your repository. This is functionally equivalent to the `GITHUB_TOKEN` secret. For more information, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)."
Note: This context property is set by the Actions runner, and is only available within the execution `steps` of a job. Otherwise, the value of this property will be `null`. |{% ifversion actions-stable-actor-ids %} | `github.triggering_actor` | `string` | The username of the user that initiated the workflow run. If the workflow run is a re-run, this value may differ from `github.actor`. Any workflow re-runs will use the privileges of `github.actor`, even if the actor initiating the re-run (`github.triggering_actor`) has different privileges. |{% endif %} | `github.workflow` | `string` | The name of the workflow. If the workflow file doesn't specify a `name`, the value of this property is the full path of the workflow file in the repository. | +{%- ifversion actions-oidc-custom-claims %} +| `github.workflow_ref` | `string` | {% data reusables.actions.workflow-ref-description %} | +| `github.workflow_sha` | `string` | {% data reusables.actions.workflow-sha-description %} | +{%- endif %} | `github.workspace` | `string` | The default working directory on the runner for steps, and the default location of your repository when using the [`checkout`](https://github.com/actions/checkout) action. | ### Example contents of the `github` context diff --git a/content/actions/learn-github-actions/variables.md b/content/actions/learn-github-actions/variables.md index 0f26a402df..c7779a2d02 100644 --- a/content/actions/learn-github-actions/variables.md +++ b/content/actions/learn-github-actions/variables.md @@ -240,6 +240,9 @@ We strongly recommend that actions use variables to access the filesystem rather | `GITHUB_ACTION_REPOSITORY` | For a step executing an action, this is the owner and repository name of the action. For example, `actions/checkout`. | | `GITHUB_ACTIONS` | Always set to `true` when {% data variables.product.prodname_actions %} is running the workflow. You can use this variable to differentiate when tests are being run locally or by {% data variables.product.prodname_actions %}. | `GITHUB_ACTOR` | The name of the person or app that initiated the workflow. For example, `octocat`. | +{%- ifversion actions-oidc-custom-claims %} +| `GITHUB_ACTOR_ID` | {% data reusables.actions.actor_id-description %} | +{%- endif %} | `GITHUB_API_URL` | Returns the API URL. For example: `{% data variables.product.api_url_code %}`. | `GITHUB_BASE_REF` | The name of the base ref or target branch of the pull request in a workflow run. This is only set when the event that triggers a workflow run is either `pull_request` or `pull_request_target`. For example, `main`. | | `GITHUB_ENV` | The path on the runner to the file that sets variables from workflow commands. This file is unique to the current step and changes for each step in a job. For example, `/home/runner/work/_temp/_runner_file_commands/set_env_87406d6e-4979-4d42-98e1-3dab1f48b13a`. For more information, see "[Workflow commands for {% data variables.product.prodname_actions %}](/actions/using-workflows/workflow-commands-for-github-actions#setting-an-environment-variable)." | @@ -256,7 +259,13 @@ We strongly recommend that actions use variables to access the filesystem rather | `GITHUB_REF_TYPE` | {% data reusables.actions.ref_type-description %} | {%- endif %} | `GITHUB_REPOSITORY` | The owner and repository name. For example, `octocat/Hello-World`. | +{%- ifversion actions-oidc-custom-claims %} +| `GITHUB_REPOSITORY_ID` | {% data reusables.actions.repository_id-description %} | +{%- endif %} | `GITHUB_REPOSITORY_OWNER` | The repository owner's name. For example, `octocat`. | +{%- ifversion actions-oidc-custom-claims %} +| `GITHUB_REPOSITORY_OWNER_ID` | {% data reusables.actions.repository_owner_id-description %} | +{%- endif %} | `GITHUB_RETENTION_DAYS` | The number of days that workflow run logs and artifacts are kept. For example, `90`. | | `GITHUB_RUN_ATTEMPT` | A unique number for each attempt of a particular workflow run in a repository. This number begins at 1 for the workflow run's first attempt, and increments with each re-run. For example, `3`. | | `GITHUB_RUN_ID` | {% data reusables.actions.run_id_description %} For example, `1658821493`. | @@ -267,6 +276,10 @@ We strongly recommend that actions use variables to access the filesystem rather | `GITHUB_STEP_SUMMARY` | The path on the runner to the file that contains job summaries from workflow commands. This file is unique to the current step and changes for each step in a job. For example, `/home/rob/runner/_layout/_work/_temp/_runner_file_commands/step_summary_1cb22d7f-5663-41a8-9ffc-13472605c76c`. For more information, see "[Workflow commands for {% data variables.product.prodname_actions %}](/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary)." | {%- endif %} | `GITHUB_WORKFLOW` | The name of the workflow. For example, `My test workflow`. If the workflow file doesn't specify a `name`, the value of this variable is the full path of the workflow file in the repository. | +{%- ifversion actions-oidc-custom-claims %} +| `GITHUB_WORKFLOW_REF` | {% data reusables.actions.workflow-ref-description %} | +| `GITHUB_WORKFLOW_SHA` | {% data reusables.actions.workflow-sha-description %} | +{%- endif %} | `GITHUB_WORKSPACE` | The default working directory on the runner for steps, and the default location of your repository when using the [`checkout`](https://github.com/actions/checkout) action. For example, `/home/runner/work/my-repo-name/my-repo-name`. | {%- ifversion actions-runner-arch-envvars %} | `RUNNER_ARCH` | {% data reusables.actions.runner-arch-description %} | diff --git a/data/features/actions-oidc-custom-claims.yml b/data/features/actions-oidc-custom-claims.yml new file mode 100644 index 0000000000..c919e2c515 --- /dev/null +++ b/data/features/actions-oidc-custom-claims.yml @@ -0,0 +1,7 @@ +# Reference: #8927 +# General versioning for new OIDC custom claims +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.9' + ghae: '>=3.9' diff --git a/data/reusables/actions/actor_id-description.md b/data/reusables/actions/actor_id-description.md new file mode 100644 index 0000000000..ec55c69b2f --- /dev/null +++ b/data/reusables/actions/actor_id-description.md @@ -0,0 +1 @@ +The account ID of the person or app that triggered the initial workflow run. For example, `1234567`. Note that this is different from the actor username. \ No newline at end of file diff --git a/data/reusables/actions/job-workflow-sha-description.md b/data/reusables/actions/job-workflow-sha-description.md new file mode 100644 index 0000000000..8d8e6eb1d7 --- /dev/null +++ b/data/reusables/actions/job-workflow-sha-description.md @@ -0,0 +1 @@ +For jobs using a reusable workflow, the commit SHA for the reusable workflow file. \ No newline at end of file diff --git a/data/reusables/actions/repository_id-description.md b/data/reusables/actions/repository_id-description.md new file mode 100644 index 0000000000..800702167c --- /dev/null +++ b/data/reusables/actions/repository_id-description.md @@ -0,0 +1 @@ +The ID of the repository. For example, `123456789`. Note that this is different from the repository name. \ No newline at end of file diff --git a/data/reusables/actions/repository_owner_id-description.md b/data/reusables/actions/repository_owner_id-description.md new file mode 100644 index 0000000000..f39273d939 --- /dev/null +++ b/data/reusables/actions/repository_owner_id-description.md @@ -0,0 +1 @@ +The repository owner's account ID. For example, `1234567`. Note that this is different from the owner's name. \ No newline at end of file diff --git a/data/reusables/actions/workflow-ref-description.md b/data/reusables/actions/workflow-ref-description.md new file mode 100644 index 0000000000..5de40ac398 --- /dev/null +++ b/data/reusables/actions/workflow-ref-description.md @@ -0,0 +1 @@ +The ref path to the workflow. For example, `octocat/hello-world/.github/workflows/my-workflow.yml@refs/heads/my_branch`. \ No newline at end of file diff --git a/data/reusables/actions/workflow-sha-description.md b/data/reusables/actions/workflow-sha-description.md new file mode 100644 index 0000000000..572a97d2c2 --- /dev/null +++ b/data/reusables/actions/workflow-sha-description.md @@ -0,0 +1 @@ +The commit SHA for the workflow file. \ No newline at end of file From bfded447fc018dfd7bbc5906d49fefe7717d1742 Mon Sep 17 00:00:00 2001 From: Isaac Brown <101839405+isaacmbrown@users.noreply.github.com> Date: Wed, 11 Jan 2023 09:52:19 +0000 Subject: [PATCH 08/18] [Improvement] Clarify what happens to packages when you transfer a repository (#33790) Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com> --- .../about-permissions-for-github-packages.md | 9 +++++++++ .../transferring-a-repository.md | 1 + 2 files changed, 10 insertions(+) diff --git a/content/packages/learn-github-packages/about-permissions-for-github-packages.md b/content/packages/learn-github-packages/about-permissions-for-github-packages.md index c448c0caf1..8ffb5dbf97 100644 --- a/content/packages/learn-github-packages/about-permissions-for-github-packages.md +++ b/content/packages/learn-github-packages/about-permissions-for-github-packages.md @@ -78,6 +78,15 @@ For more information, see:{% ifversion fpt or ghec %} - "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token/)" - "[Available scopes](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes)" +## About repository transfers + +You can transfer a repository to another user or organization account. For more information, see "[Transferring a repository](/repositories/creating-and-managing-repositories/transferring-a-repository)." + +When you transfer a repository, {% ifversion packages-registries-v2 %}{% data variables.product.prodname_dotcom %} may transfer the packages associated with the repository, depending on the registry the packages belong to. + +- For registries that support granular permissions, packages are scoped to a user or organization account, and the account associated with the package does not change when you transfer a repository. If you have linked a package to a repository, the link is removed when you transfer the repository to another user, and any codespaces or {% data variables.product.prodname_actions %} workflows associated with the repository will lose access to the package. For the list of these registries, see "[Granular permissions for user/organization-scoped packages](/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." +- For registries that only support repository-scoped permissions, packages are published directly to repositories, and {% endif %}{% data variables.product.prodname_dotcom %} transfers the packages associated with a repository as part of the repository transfer. All billable usage associated with the packages will subsequently be billed to the new owner. If the previous repository owner is removed as a collaborator on the repository, they may no longer be able to access the packages associated with the repository.{% ifversion packages-registries-v2 %} For the list of these registries, see "[Permissions for repository-scoped packages](/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."{% endif %} + ## Maintaining access to packages in {% data variables.product.prodname_actions %} workflows To ensure your workflows will maintain access to your packages, ensure that you're using the right access token in your workflow and that you've enabled {% data variables.product.prodname_actions %} access to your package. diff --git a/content/repositories/creating-and-managing-repositories/transferring-a-repository.md b/content/repositories/creating-and-managing-repositories/transferring-a-repository.md index 85a6ef7f2b..a0687ee1d1 100644 --- a/content/repositories/creating-and-managing-repositories/transferring-a-repository.md +++ b/content/repositories/creating-and-managing-repositories/transferring-a-repository.md @@ -62,6 +62,7 @@ When you transfer a repository, its issues, pull requests, wiki, stars, and watc - When you transfer a repository from an organization to a personal account, the repository's read-only collaborators will not be transferred. This is because collaborators can't have read-only access to repositories owned by a personal account. For more information about repository permission levels, see "[Permission levels for a personal account repository](/github/setting-up-and-managing-your-github-user-account/permission-levels-for-a-user-account-repository)" and "[Repository roles for an organization](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization)."{% ifversion fpt or ghec %} - Sponsors who have access to the repository through a sponsorship tier may be affected. For more information, see "[Adding a repository to a sponsorship tier](/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers#adding-a-repository-to-a-sponsorship-tier)".{% endif %} +- Packages associated with the repository {% ifversion packages-registries-v2 %}may be transferred, or may lose their link to the repository, depending on the registry they belong to{% else %}are transferred as part of the transfer process{% endif %}. For more information, see "[About permissions for {% data variables.product.prodname_registry %}](/packages/learn-github-packages/about-permissions-for-github-packages#about-repository-transfers)." For more information, see "[Managing remote repositories](/github/getting-started-with-github/managing-remote-repositories)." From cab5b1f9661eb92345ea52c6f406fb3e2ed979ba Mon Sep 17 00:00:00 2001 From: Divya Date: Wed, 11 Jan 2023 16:48:58 +0530 Subject: [PATCH 09/18] Create GitHub_Octernships_terms_of_service.md (#33658) Co-authored-by: Steve Guntrip <12534592+stevecat@users.noreply.github.com> --- .../github-octernships-terms-of-service.md | 70 +++++++++++++++++++ content/site-policy/privacy-policies/index.md | 1 + 2 files changed, 71 insertions(+) create mode 100644 content/site-policy/privacy-policies/github-octernships-terms-of-service.md diff --git a/content/site-policy/privacy-policies/github-octernships-terms-of-service.md b/content/site-policy/privacy-policies/github-octernships-terms-of-service.md new file mode 100644 index 0000000000..2e9ec1d63f --- /dev/null +++ b/content/site-policy/privacy-policies/github-octernships-terms-of-service.md @@ -0,0 +1,70 @@ +--- +title: GitHub Octernships Terms of Service +versions: + fpt: '*' +topics: + - Policy + - Legal +--- + + +## Terms and conditions + +GITHUB HAS INVITED YOU TO PARTICIPATE IN THE GITHUB OCTERNSHIPS PROGRAM (“THE PROGRAM”). BY ACCEPTING GITHUB’S INVITATION TO PARTICIPATE IN THE PROGRAM, YOU AGREE TO BE BOUND BY THE FOLLOWING GITHUB OCTERNSHIPS PROGRAM TERMS AND CONDITIONS (“TERMS AND CONDITIONS”): + +When you click "I agree", “I accept”, or similar buttons, you accept all the terms and conditions of this Agreement. + + +## 1. Compensation or benefits +The Program is offered to verified students on GitHub Global Campus in countries where the program is available. As a participant, you will not be considered an employee or intern of GitHub. You will be entitled to 1 (minimum) to 6 (maximum) months internship along with stipend of 500 USD/month by the partner organization (“Partner Organization”). GitHub and the Partner Organization are collectively referred to as the “Octernships Partners.” You will not be entitled to any compensation or benefits paid or made available by the Octernships Partner to their respective employees, including, without limitation, any vacation or illness payments, or to participate in any plans, arrangements or distributions made by the Octernship Partners pertaining to any bonus, stock option, profit sharing, insurance or similar benefits. + +## 2. Ownership and likeness +### 2.1 Ownership +You hereby grant the Octernships Partners a non-exclusive, irrevocable, perpetual, royalty-free, worldwide license to make, have made, use, offer to sell, sell, import, copy, modify, create derivative works based upon, distribute, sublicense, display, perform and transmit any work product you create in connection with the Program or during your internship, including, without limitation, concepts, works, inventions, information, drawings, designs, programs, or software. +2.2 Likeness +GitHub and Octernships Partners reserve all rights, including the right to edit, publish, use, adapt, modify or dispose of any work product/description, likenesses, and photographs for advertising and promotional purposes in all media (including, but not limited to, the internet) without additional compensation, except where prohibited by law. + +## 3. Confidentiality and non-disclosure +Without limiting any separate agreement between yourself and either GitHub or the Partner Organization concerning GitHub's and Partner Organization’s confidential information, including, without limitation, any GitHub or Partner Organization Nondisclosure Agreement you might enter into, you agree that you will not publish, disclose, or otherwise divulge or use (other than as expressly permitted under the terms and conditions of the Program) any Confidential Information of GitHub or Partner Organization without their prior written consent in each instance. "Confidential Information" means all information and material that is transmitted by GitHub or Partner Organization to you (or otherwise developed or obtained by you) in connection with your participation in the Program that you should reasonably have understood due to legends or other markings, the circumstances of disclosure or the nature of the information itself, to be proprietary and confidential to GitHub or Partner Organization, including, without limitation, any information or material relating to products, services, vendor lists, customer lists, prospect lists, pricing and sales information, and business strategies and plans. You will exercise at least the same amount of diligence in preserving the secrecy of the Confidential Information as you use in preserving the secrecy of your own most valuable confidential information, but in no event less than reasonable care. Confidential Information does not include information or material that you can document (a) is publicly available through no action or fault of yours; (b) was already in your possession or known to you prior to being disclosed or provided to you by GitHub or Partner Organization, provided that the source of such information or material was not obligated in any way to maintain its confidentiality; (c) was or is obtained by you from a third party, provided that such third party was not obligated in any way to maintain its confidentiality; or (d) is independently developed by you without reference to any Confidential Information. + +## 4. Student data sharing +In accordance with the terms and conditions of this Agreement and the GitHub Privacy Statement, students authorize and agree that all other participating parties may access and use their data provided to participate in the Octernship Program. + +## 5. Term and termination +### 5.1 Term +These Terms and Conditions will commence on the date upon which you complete registration in the Program (the “Effective Date”) and will continue until the earlier of the following: +(1) you cease to be affiliated with a school as a student +(2) either GitHub or Partner Organization provides you with written notification that you are no longer enrolled in the Program, or +(3) you provide us with written notification that you are withdrawing from the Program. + +### 5.2 Survival +These Terms and Conditions that, by their sense and context, are intended to survive the completion or termination of the Program shall so survive the completion or termination of the Program and these Terms and Conditions including, without limitation, Sections 2, 3, 4, and 5. + +## 6. Disclaimer of liability +IN NO EVENT WILL THE OCTERNSHIPS PARTNERS BE LIABLE TO YOU OR TO ANY THIRD PARTY FOR ANY DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY OR INCIDENTAL DAMAGES IN CONNECTION WITH THIS AGREEMENT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN NO EVENT WILL THE OCTERNSHIPS PARTNERS BE LIABLE TO ANY THIRD PARTY FOR YOUR ACTIONS WHETHER OR NOT SUCH ACTIONS ARE IN CONNECTION WITH THIS AGREEMENT. + +## 7. Miscellaneous +### 7.1 Nature of the Relationship +The Octernships Partners and you are each independent entities with respect to the subject matter of these Terms and Conditions. Nothing contained in these Terms and Conditions or in the Program will be deemed or construed in any manner whatsoever to create a partnership, joint venture, employment, agency, fiduciary, or other similar relationship between the Octernships Partners and you, and neither the Octernships Partners or you can bind the other contractually. You hereby agree that you neither have nor will give the appearance or impression of possessing the legal authority to bind or commit GitHub or Partner Organization in any way except as provided in these Terms and Conditions. + +### 7.2 Assignment +Neither party may assign any of its rights or obligations hereunder, whether by operation of law or otherwise, without the prior written consent of the other party (not to be unreasonably withheld). Notwithstanding the foregoing, either GitHub or Partner Organization may assign these Terms and Conditions in their entirety, with or without your consent, in connection with a merger, acquisition, corporate reorganization, or sale of all or substantially all of its assets. Subject to the foregoing, these Terms and Conditions shall bind and inure to the benefit of the parties, their respective successors and permitted assigns. + +### 7.3 Notices +To provide us with notice of withdrawal, please send such notice by raising a support ticket https://github.com/contact .To provide Partner Organization with notice of withdrawal, please send such notice to your regular point-of-contact at Partner Organization. GitHub and Partner Organization may use the email address you have submitted in your acceptance to participate in the Program to provide you with electronic notice at that address. It’s your sole responsibility to notify GitHub and Partner Organization of any changes to your email address. Notices shall be deemed effective upon receipt one (1) business day after it was sent by email. + +### 7.4 Amendments +GitHub may modify or amend these Terms and Conditions at any time. + +### 7.5 Governing Law; Venue +These Terms and Conditions shall be governed and construed as to all matters, including validity, construction, and performance, by and under California law and any dispute related to the GitHub Products or the subject matter of these terms must be brought in a tribunal of competent jurisdiction located in or near San Francisco, California. + +### 7.6 Severability +If any part of these Terms and Conditions are determined by a court of competent jurisdiction to be invalid or unenforceable, then the invalid or unenforceable provision will be deemed superseded by a valid, enforceable provision that most closely matches the intent of the original provision and the remainder of these Terms and Conditions shall continue in full force and effect. If no enforceable provision can be substituted for any such invalid or unenforceable provision, then that provision shall be deemed severable from these Terms and Conditions and shall not affect the validity and enforceability of any remaining provisions in these Terms and Conditions. + +### 7.7 Waiver +Performance of any obligations required by a party hereunder may be waived only by a written waiver signed by an authorized representative of the other party, which waiver will be effective only with respect to the specific obligation described therein. Any waiver or failure to enforce any provision of these Terms and Conditions on one occasion will not be deemed a waiver of any other provision or of such provision on any other occasion. + +### 7.8 Entire Agreement +These Terms and Conditions represent the entire understanding and agreement between the parties with respect to the subject matter hereof and will supersede all prior agreements and communications of the parties, oral or written. + diff --git a/content/site-policy/privacy-policies/index.md b/content/site-policy/privacy-policies/index.md index 0028eed4b4..3019bb281f 100644 --- a/content/site-policy/privacy-policies/index.md +++ b/content/site-policy/privacy-policies/index.md @@ -11,6 +11,7 @@ children: - /github-codespaces-privacy-statement - /github-candidate-privacy-policy - /github-copilot-for-business-privacy-statement + - /github-octernships-terms-of-service redirect_from: - /github/site-policy/github-data-protection-addendum - /github/site-policy-deprecated/github-data-protection-addendum From 34de15eaebb005dd4ea57566cfab2debff24a2d3 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Wed, 11 Jan 2023 13:26:09 +0100 Subject: [PATCH 10/18] correct some featuredLinks (II) (#33808) --- content/actions/index.md | 17 ++++++++--------- content/education/index.md | 4 ++-- content/sponsors/index.md | 2 +- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/content/actions/index.md b/content/actions/index.md index c2de1f027c..9aa38c5fce 100644 --- a/content/actions/index.md +++ b/content/actions/index.md @@ -9,19 +9,19 @@ featuredLinks: guides: - /actions/learn-github-actions - /actions/examples - - /actions/guides/about-continuous-integration - - /actions/deployment/deploying-with-github-actions - - /actions/guides/about-packaging-with-github-actions + - /actions/automating-builds-and-tests/about-continuous-integration + - /actions/deployment/about-deployments/deploying-with-github-actions + - /actions/publishing-packages/about-packaging-with-github-actions - /actions/monitoring-and-troubleshooting-workflows/about-monitoring-and-troubleshooting guideCards: - - /actions/learn-github-actions/using-starter-workflows - - /actions/guides/publishing-nodejs-packages - - /actions/guides/building-and-testing-powershell + - /actions/using-workflows/using-starter-workflows + - /actions/publishing-packages/publishing-nodejs-packages + - /actions/automating-builds-and-tests/building-and-testing-powershell popular: - - /actions/learn-github-actions/workflow-syntax-for-github-actions + - /actions/using-workflows/workflow-syntax-for-github-actions - /actions/learn-github-actions - /actions/examples - - /actions/learn-github-actions/events-that-trigger-workflows + - /actions/using-workflows/events-that-trigger-workflows - /actions/learn-github-actions/contexts - /actions/learn-github-actions/expressions - /actions/learn-github-actions/variables @@ -63,4 +63,3 @@ children: - /creating-actions - /guides --- - diff --git a/content/education/index.md b/content/education/index.md index 5770c7f680..adcae067a5 100644 --- a/content/education/index.md +++ b/content/education/index.md @@ -11,8 +11,8 @@ featuredLinks: - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution guideCards: - /get-started/signing-up-for-github/signing-up-for-a-new-github-account - - /github/getting-started-with-github/git-and-github-learning-resources - - /education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom + - /get-started/quickstart/git-and-github-learning-resources + - /education/manage-coursework-with-github-classroom/get-started-with-github-classroom/basics-of-setting-up-github-classroom popular: - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers diff --git a/content/sponsors/index.md b/content/sponsors/index.md index 0f05a4508d..6954595c03 100644 --- a/content/sponsors/index.md +++ b/content/sponsors/index.md @@ -16,7 +16,7 @@ featuredLinks: - /sponsors/sponsoring-open-source-contributors/attributing-sponsorships-to-your-organization - /sponsors/receiving-sponsorships-through-github-sponsors/managing-your-payouts-from-github-sponsors guideCards: - - /sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-user-account + - /sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account - /sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization - /sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account popular: From 7f92cadc51f80afb9cd889e8179ef6fe4064070b Mon Sep 17 00:00:00 2001 From: Colin Seymour Date: Wed, 11 Jan 2023 12:57:26 +0000 Subject: [PATCH 11/18] Remove mention of PATs and SSH keys being considered when determining dormancy (#33864) --- data/reusables/enterprise-accounts/dormant-user-activity.md | 1 - 1 file changed, 1 deletion(-) diff --git a/data/reusables/enterprise-accounts/dormant-user-activity.md b/data/reusables/enterprise-accounts/dormant-user-activity.md index b61eb9ff02..63d63abe2e 100644 --- a/data/reusables/enterprise-accounts/dormant-user-activity.md +++ b/data/reusables/enterprise-accounts/dormant-user-activity.md @@ -20,7 +20,6 @@ A user is considered active if the user has performed any of the following activ - Watching a repository - Starring a repository - Deleting a repository -- Accessing resources by using a {% data variables.product.pat_generic %} or SSH key - Joining an organization {% ifversion ghes %} From 5d52867e3d10e7c7522f61f405909f5cfb65f1d5 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Wed, 11 Jan 2023 18:28:55 +0100 Subject: [PATCH 12/18] highlight.js@11.7.0 (#33895) --- lib/render-content/create-processor.js | 3 +-- package-lock.json | 22 +++++++--------------- package.json | 3 +-- 3 files changed, 9 insertions(+), 19 deletions(-) diff --git a/lib/render-content/create-processor.js b/lib/render-content/create-processor.js index dc55017b7a..13d53b7256 100644 --- a/lib/render-content/create-processor.js +++ b/lib/render-content/create-processor.js @@ -13,8 +13,8 @@ import http from 'highlight.js/lib/languages/http' import groovy from 'highlight.js/lib/languages/groovy' import erb from 'highlight.js/lib/languages/erb' import powershell from 'highlight.js/lib/languages/powershell' +import graphql from 'highlight.js/lib/languages/graphql' import html from 'rehype-stringify' -import HighlightjsGraphql from 'highlightjs-graphql' import remarkCodeExtra from 'remark-code-extra' import codeHeader from './plugins/code-header.js' import rewriteLocalLinks from './plugins/rewrite-local-links.js' @@ -22,7 +22,6 @@ import rewriteImgSources from './plugins/rewrite-asset-urls.js' import useEnglishHeadings from './plugins/use-english-headings.js' import wrapInElement from './plugins/wrap-in-element.js' import doctocatLinkIcon from './doctocat-link-icon.js' -const graphql = HighlightjsGraphql.definer export default function createProcessor(context) { return unified() diff --git a/package-lock.json b/package-lock.json index 2cf362c8ce..b949fee3eb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,9 +38,8 @@ "hast-util-to-string": "^2.0.0", "hastscript": "^7.0.2", "helmet": "^6.0.0", - "highlight.js": "11.5.1", + "highlight.js": "11.7.0", "highlightjs-curl": "^1.3.0", - "highlightjs-graphql": "^1.0.2", "hot-shots": "^9.0.0", "html-entities": "^2.3.3", "http-proxy-middleware": "2.0.6", @@ -10417,9 +10416,9 @@ } }, "node_modules/highlight.js": { - "version": "11.5.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.5.1.tgz", - "integrity": "sha512-LKzHqnxr4CrD2YsNoIf/o5nJ09j4yi/GcH5BnYz9UnVpZdS4ucMgvP61TDty5xJcFGRjnH4DpujkS9bHT3hq0Q==", + "version": "11.7.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.7.0.tgz", + "integrity": "sha512-1rRqesRFhMO/PRF+G86evnyJkCgaZFOI+Z6kdj15TA18funfoqJXvgPCLSf0SWq3SRfg1j3HlDs8o4s3EGq1oQ==", "engines": { "node": ">=12.0.0" } @@ -10428,10 +10427,6 @@ "version": "1.3.0", "license": "Apache-2.0" }, - "node_modules/highlightjs-graphql": { - "version": "1.0.2", - "license": "MIT" - }, "node_modules/history": { "version": "5.0.0", "license": "MIT", @@ -27915,16 +27910,13 @@ "integrity": "sha512-FO9RpR1wNJepH/GbLPQVtkE2eESglXL641p7SdyoT4LngHFJcZheHMoyUcjCZF4qpuMMO1u5q6RK0l9Ux8JBcg==" }, "highlight.js": { - "version": "11.5.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.5.1.tgz", - "integrity": "sha512-LKzHqnxr4CrD2YsNoIf/o5nJ09j4yi/GcH5BnYz9UnVpZdS4ucMgvP61TDty5xJcFGRjnH4DpujkS9bHT3hq0Q==" + "version": "11.7.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.7.0.tgz", + "integrity": "sha512-1rRqesRFhMO/PRF+G86evnyJkCgaZFOI+Z6kdj15TA18funfoqJXvgPCLSf0SWq3SRfg1j3HlDs8o4s3EGq1oQ==" }, "highlightjs-curl": { "version": "1.3.0" }, - "highlightjs-graphql": { - "version": "1.0.2" - }, "history": { "version": "5.0.0", "requires": { diff --git a/package.json b/package.json index 6324c6f0f9..7398bf6196 100644 --- a/package.json +++ b/package.json @@ -40,9 +40,8 @@ "hast-util-to-string": "^2.0.0", "hastscript": "^7.0.2", "helmet": "^6.0.0", - "highlight.js": "11.5.1", + "highlight.js": "11.7.0", "highlightjs-curl": "^1.3.0", - "highlightjs-graphql": "^1.0.2", "hot-shots": "^9.0.0", "html-entities": "^2.3.3", "http-proxy-middleware": "2.0.6", From 879dfbff66d5c211fbefae470bbc919c40c06651 Mon Sep 17 00:00:00 2001 From: Sam Browning <106113886+sabrowning1@users.noreply.github.com> Date: Wed, 11 Jan 2023 13:05:15 -0500 Subject: [PATCH 13/18] Add content for 2FA grace period (#33795) Co-authored-by: Sarita Iyer <66540150+saritai@users.noreply.github.com> Co-authored-by: Hirsch Singhal <1666363+hpsin@users.noreply.github.com> --- .../about-authentication-to-github.md | 7 ++--- ...-github-using-two-factor-authentication.md | 21 ++++++++++++--- .../configuring-two-factor-authentication.md | 26 +++++++++++-------- data/features/2fa-check-up-period.yml | 6 +++++ 4 files changed, 43 insertions(+), 17 deletions(-) create mode 100644 data/features/2fa-check-up-period.yml diff --git a/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md b/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md index 9269d90ee5..7517a24358 100644 --- a/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md +++ b/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md @@ -35,7 +35,7 @@ You can authenticate to {% data variables.product.product_name %} in your browse {% ifversion fpt or ghec %} -If you're a member of an {% data variables.enterprise.prodname_emu_enterprise %}, you will authenticate to {% data variables.product.product_name %} in your browser using your IdP. For more information, see "[Authenticating as a managed user](/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users#authenticating-as-a-managed-user){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} +If you're a member of an {% data variables.enterprise.prodname_emu_enterprise %}, you will authenticate to {% data variables.product.product_name %} in your browser using your IdP. For more information, see "[Authenticating as a managed user](/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users#authenticating-as-a-managed-user){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} If you're not a member of an {% data variables.enterprise.prodname_emu_enterprise %}, you will authenticate using your {% data variables.product.prodname_dotcom_the_website %} username and password. You may also use two-factor authentication and SAML single sign-on, which can be required by organization and enterprise owners. @@ -51,7 +51,9 @@ You can authenticate to {% data variables.product.product_name %} in your browse After providing your username and password, you will be asked to provide a verification code that we will send to you via email. If you have the {% data variables.product.prodname_mobile %} application installed, you'll receive a notification there instead. For more information, see "[{% data variables.product.prodname_mobile %}](/get-started/using-github/github-mobile)."{% endif %} - **Two-factor authentication (2FA)** (recommended) - - If you enable 2FA, after you successfully enter your username and password, we'll also prompt you to provide a code that's generated by a time-based one time password (TOTP) application on your mobile device{% ifversion fpt or ghec %} or sent as a text message (SMS){% endif %}. For more information, see "[Accessing {% data variables.product.prodname_dotcom %} using two-factor authentication](/github/authenticating-to-github/accessing-github-using-two-factor-authentication#providing-a-2fa-code-when-signing-in-to-the-website)." + - If you enable 2FA, after you successfully enter your username and password, we'll also prompt you to provide a code that's generated by a time-based one time password (TOTP) application on your mobile device{% ifversion fpt or ghec %} or sent as a text message (SMS).{% endif %}{% ifversion 2fa-check-up-period %} + - After you configure 2FA, your account enters a check up period for 28 days. You can leave the check up period by successfully performing 2FA within those 28 days. If you don't perform 2FA in that timespan, you'll then be asked to perform 2FA inside one of your existing {% data variables.product.prodname_dotcom_the_website %} sessions. + - If you cannot perform 2FA to pass the 28th day checkup, you will be provided a shortcut that lets you reconfigure your 2FA settings. You must reconfigure your settings before you can access the rest of {% data variables.product.prodname_dotcom %}{% endif %}. For more information, see "[Accessing {% data variables.product.prodname_dotcom %} using two-factor authentication](/github/authenticating-to-github/accessing-github-using-two-factor-authentication#providing-a-2fa-code-when-signing-in-to-the-website){% ifversion 2fa-check-up-period %}" and "[Configuring two-factor authentication](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication){% endif %}." - In addition to authentication with a TOTP application{% ifversion fpt or ghec %} or a text message{% endif %}, you can optionally add an alternative method of authentication with {% ifversion fpt or ghec %}{% data variables.product.prodname_mobile %} or{% endif %} a security key using WebAuthn. For more information, see {% ifversion fpt or ghec %}"[Configuring two-factor authentication with {% data variables.product.prodname_mobile %}](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication#configuring-two-factor-authentication-using-github-mobile)" and {% endif %}"[Configuring two-factor authentication using a security key](/github/authenticating-to-github/configuring-two-factor-authentication#configuring-two-factor-authentication-using-a-security-key)."{% ifversion ghes %} - **External authentication** - Your site administrator may configure {% data variables.location.product_location %} to use external authentication instead of a username and password. For more information, see "[External authentication methods](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#external-authentication)."{% endif %}{% ifversion fpt or ghec %} @@ -111,4 +113,3 @@ To use a {% data variables.product.pat_generic %} or SSH key to access resources | User-to-server token for a {% data variables.product.prodname_github_app %} | `ghu_` | "[Identifying and authorizing users for {% data variables.product.prodname_github_apps %}](/developers/apps/identifying-and-authorizing-users-for-github-apps)" | | Server-to-server token for a {% data variables.product.prodname_github_app %} | `ghs_` | "[Authenticating with {% data variables.product.prodname_github_apps %}](/developers/apps/authenticating-with-github-apps#authenticating-as-an-installation)" | | Refresh token for a {% data variables.product.prodname_github_app %} | `ghr_` | "[Refreshing user-to-server access tokens](/developers/apps/refreshing-user-to-server-access-tokens)" | - diff --git a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md index a79e1f0801..7530988be5 100644 --- a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md +++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md @@ -16,19 +16,30 @@ topics: - 2FA shortTitle: Access GitHub with 2FA --- + +{% ifversion 2fa-check-up-period %} + +With two-factor authentication (2FA) enabled, you'll need to provide an authentication code when accessing {% data variables.product.product_name %} through your browser. When you first configure 2FA, your account will enter a check up period for 28 days, and 2FA will not be necessary in existing {% data variables.product.prodname_dotcom_the_website %} sessions. You can exit the check up period by successfully performing 2FA within 28 days. If you fail to authenticate within 28 days, you'll be asked to perform 2FA inside one of your existing {% data variables.product.prodname_dotcom_the_website %} sessions. If you cannot perform 2FA to pass the 28th day checkup, use the provided shortcut to reconfigure your 2FA settings and retain access to {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[Configuring two-factor authentication](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication)." + +If you access {% data variables.product.product_name %} using other methods, such as the API or the command line, you'll authenticate using a token, application, or SSH key. For more information, see "[About authentication to {% data variables.product.prodname_dotcom %}](/github/authenticating-to-github/about-authentication-to-github)." + +{% else %} + With two-factor authentication enabled, you'll need to provide an authentication code when accessing {% data variables.product.product_name %} through your browser. If you access {% data variables.product.product_name %} using other methods, such as the API or the command line, you'll need to use an alternative form of authentication. For more information, see "[About authentication to {% data variables.product.prodname_dotcom %}](/github/authenticating-to-github/about-authentication-to-github)." +{% endif %} + ## Providing a 2FA code when signing in to the website After you sign in to {% data variables.product.product_name %} using your password, you'll be prompted to provide an authentication code from {% ifversion fpt or ghec %}a text message or{% endif %} your TOTP app. -{% data variables.product.product_name %} will only ask you to provide your 2FA authentication code again if you've logged out, are using a new device, or your session expires. +{% data variables.product.product_name %} will only ask you to provide your 2FA authentication code again if you've logged out, are using a new device, are performing a sensitive action, or your session expires. For more information on 2FA for sensitive actions, see "[Sudo mode](/authentication/keeping-your-account-and-data-secure/sudo-mode)." ### Generating a code through a TOTP application If you chose to set up two-factor authentication using a TOTP application on your smartphone, you can generate an authentication code for {% data variables.product.product_name %} at any time. In most cases, just launching the application will generate a new code. You should refer to your application's documentation for specific instructions. -If you delete the mobile application after configuring two-factor authentication, you'll need to provide your recovery code to get access to your account. For more information, see "[Recovering your account if you lose your two-factor authentication credentials](/articles/recovering-your-account-if-you-lose-your-2fa-credentials)" +If you delete your authenticator application after configuring two-factor authentication, you'll need to provide your recovery code to get access to your account. Many TOTP apps support the secure backup of your authentication codes in the cloud and can be restored if you lose access to your device. For more information, see "[Recovering your account if you lose your two-factor authentication credentials](/articles/recovering-your-account-if-you-lose-your-2fa-credentials)" {% ifversion fpt or ghec %} @@ -59,7 +70,11 @@ If you have installed and signed in to {% data variables.product.prodname_mobile ## Using two-factor authentication with the command line +{% ifversion fpt or ghec %} +Enabling 2FA may affect authentication to {% data variables.product.prodname_dotcom %} through the command line. To find out if your authentication method is affected, see the following sections. +{% else %} After you've enabled 2FA, you will no longer use your password to access {% data variables.product.product_name %} on the command line. Instead, use Git Credential Manager, a {% data variables.product.pat_generic %}, or an SSH key. +{% endif %} ### Authenticating on the command line using Git Credential Manager @@ -69,7 +84,7 @@ Setup instructions vary based on your computer's operating system. For more info ### Authenticating on the command line using HTTPS -After you've enabled 2FA, you must create a {% data variables.product.pat_generic %} to use as a password when authenticating to {% data variables.product.product_name %} on the command line using HTTPS URLs. +You must create a {% data variables.product.pat_generic %} to use as a password when authenticating to {% data variables.product.product_name %} on the command line using HTTPS URLs. When prompted for a username and password on the command line, use your {% data variables.product.product_name %} username and {% data variables.product.pat_generic %}. The command line prompt won't specify that you should enter your {% data variables.product.pat_generic %} when it asks for your password. diff --git a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md index 01f89b2023..9a076ab25c 100644 --- a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md +++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md @@ -16,9 +16,20 @@ topics: - 2FA shortTitle: Configure 2FA --- -You can configure two-factor authentication using a mobile app{% ifversion fpt or ghec %} or via text message{% endif %}. You can also add a security key. +You can configure two-factor authentication (2FA) using a mobile app{% ifversion fpt or ghec %} or via text message{% endif %}. You can also add a security key. -We strongly recommend using a time-based one-time password (TOTP) application to configure 2FA.{% ifversion fpt or ghec %} TOTP applications are more reliable than SMS, especially for locations outside the United States.{% endif %} TOTP apps support the secure backup of your authentication codes in the cloud and can be restored if you lose access to your device. +We strongly recommend using a time-based one-time password (TOTP) application to configure 2FA.{% ifversion fpt or ghec %} TOTP applications are more reliable than SMS, especially for locations outside the United States.{% endif %} Many TOTP apps support the secure backup of your authentication codes in the cloud and can be restored if you lose access to your device. + +{% ifversion 2fa-check-up-period %} + +After you configure 2FA, your account will enter a 28-day check up period. You can leave the check up period by successfully performing 2FA in those 28 days. Otherwise, you will be prompted to perform 2FA in an existing {% data variables.product.prodname_dotcom_the_website %} session on the 28th day. If you cannot perform 2FA to pass the checkup, you must use the provided shortcut to reconfigure your 2FA settings and retain access to {% data variables.product.prodname_dotcom_the_website %}. + +{% ifversion fpt or ghec %} + +If you're a member of an {% data variables.enterprise.prodname_emu_enterprise %}, you cannot configure 2FA for your {% data variables.enterprise.prodname_managed_user %} account unless you're signed in as the setup user. For users other than the setup user, an administrator must configure 2FA on your identity provider (IdP). + +{% endif %} +{% endif %} {% warning %} @@ -28,12 +39,6 @@ We strongly recommend using a time-based one-time password (TOTP) application to {% endwarning %} -{% ifversion fpt or ghec %} - -If you're a member of an {% data variables.enterprise.prodname_emu_enterprise %}, you cannot configure 2FA for your {% data variables.enterprise.prodname_managed_user %} account unless you're signed in as the setup user. For users other than the setup user, an administrator must configure 2FA on your identity provider (IdP). - -{% endif %} - ## Configuring two-factor authentication using a TOTP mobile app A time-based one-time password (TOTP) application automatically generates an authentication code that changes after a certain period of time. We recommend using cloud-based TOTP apps such as: @@ -70,7 +75,7 @@ A time-based one-time password (TOTP) application automatically generates an aut {%- endif %} {% data reusables.two_fa.save_your_recovery_codes_during_2fa_setup %} {% data reusables.two_fa.backup_options_during_2fa_enrollment %} -{% data reusables.two_fa.test_2fa_immediately %} +{% ifversion ghes < 3.9 %}{% data reusables.two_fa.test_2fa_immediately %}{% endif %} {% ifversion fpt or ghec %} @@ -102,7 +107,6 @@ Before using this method, be sure that you can receive text messages. Carrier ra ![2FA SMS continue field](/assets/images/help/2fa/2fa_wizard_sms_enter_code.png) {% data reusables.two_fa.save_your_recovery_codes_during_2fa_setup %} {% data reusables.two_fa.backup_options_during_2fa_enrollment %} -{% data reusables.two_fa.test_2fa_immediately %} {% endif %} @@ -127,7 +131,7 @@ Authentication with a security key is *secondary* to authentication with a TOTP 8. Activate your security key, following your security key's documentation. ![Prompt for a security key](/assets/images/help/2fa/security-key-prompt.png) 9. Confirm that you've downloaded and can access your recovery codes. If you haven't already, or if you'd like to generate another set of codes, download your codes and save them in a safe place. For more information, see "[Downloading your 2FA recovery codes](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods#downloading-your-two-factor-authentication-recovery-codes)." -{% data reusables.two_fa.test_2fa_immediately %} +{% ifversion ghes < 3.9 %}{% data reusables.two_fa.test_2fa_immediately %}{% endif %} {% ifversion fpt or ghec %} ## Configuring two-factor authentication using {% data variables.product.prodname_mobile %} diff --git a/data/features/2fa-check-up-period.yml b/data/features/2fa-check-up-period.yml new file mode 100644 index 0000000000..22bda14167 --- /dev/null +++ b/data/features/2fa-check-up-period.yml @@ -0,0 +1,6 @@ +# Reference: #8604 + +versions: + fpt: '*' + ghec: '*' + ghes: '> 3.8' From c5f4f5f1a6f6d9bc7d638a70daaab784e3a66276 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Wed, 11 Jan 2023 19:45:47 +0100 Subject: [PATCH 14/18] remove all uses of loadSiteData (#33881) --- lib/site-data.js | 54 ---------------------- script/reconcile-category-dirs-with-ids.js | 9 +--- script/update-internal-links.js | 3 -- 3 files changed, 1 insertion(+), 65 deletions(-) delete mode 100755 lib/site-data.js diff --git a/lib/site-data.js b/lib/site-data.js deleted file mode 100755 index bacc8139f9..0000000000 --- a/lib/site-data.js +++ /dev/null @@ -1,54 +0,0 @@ -import path from 'path' -import flat from 'flat' -import { get, set } from 'lodash-es' -import languages from './languages.js' -import dataDirectory from './data-directory.js' -import encodeBracketedParentheses from './encode-bracketed-parentheses.js' - -const loadSiteDataFromDir = (dir) => { - return { - site: { - data: dataDirectory(path.join(dir, 'data'), { - preprocess: (dataString) => encodeBracketedParentheses(dataString.trimEnd()), - ignorePatterns: [/README\.md$/], - }), - }, - } -} - -export default function loadSiteData() { - // load English site data - const siteData = { - en: loadSiteDataFromDir(languages.en.dir), - } - - const englishKeys = Object.keys(flat(siteData.en)) - for (const language of Object.values(languages)) { - if (language.code === 'en') continue - const data = loadSiteDataFromDir(language.dir) - const keys = Object.keys(flat(data)) - // First set the fallback, which might get used if not overridden - for (const key of englishKeys) { - set(siteData, `${language.code}.${key}`, get(siteData.en, key)) - } - for (const key of keys) { - set(siteData, `${language.code}.${key}`, get(data, key)) - } - } - - for (const language of Object.values(languages)) { - // Add the English `slug` to each item, to link a consistent anchor - siteData[language.code].site.data.glossaries.external.forEach((item, i) => { - item.slug = siteData.en.site.data.glossaries.external[i].term - }) - - // Sort glossary by language-specific function - if (language.code !== 'en') { - siteData[language.code].site.data.glossaries.external.sort((a, b) => - a.term.localeCompare(b.term, language.code) - ) - } - } - - return siteData -} diff --git a/script/reconcile-category-dirs-with-ids.js b/script/reconcile-category-dirs-with-ids.js index 02e179b32b..d694d3d0e5 100755 --- a/script/reconcile-category-dirs-with-ids.js +++ b/script/reconcile-category-dirs-with-ids.js @@ -19,7 +19,6 @@ import walk from 'walk-sync' import slash from 'slash' import GithubSlugger from 'github-slugger' import { decode } from 'html-entities' -import loadSiteData from '../lib/site-data.js' import renderContent from '../lib/render-content/index.js' const slugger = new GithubSlugger() @@ -37,7 +36,6 @@ main() async function main() { const englishCategoryIndices = getEnglishCategoryIndices() - const siteData = await getEnglishSiteData() for (const categoryIndex of englishCategoryIndices) { const contents = fs.readFileSync(categoryIndex, 'utf8') @@ -47,7 +45,7 @@ async function main() { const categoryDirPath = path.dirname(categoryIndex) const categoryDirName = path.basename(categoryDirPath) - const title = await renderContent(data.title, { site: siteData }, { textOnly: true }) + const title = await renderContent(data.title, {}, { textOnly: true }) slugger.reset() const expectedSlug = slugger.slug(decode(title)) @@ -149,8 +147,3 @@ function getEnglishCategoryIndices() { return walk(contentDir, walkOptions) } - -async function getEnglishSiteData() { - const siteData = await loadSiteData() - return siteData.en.site -} diff --git a/script/update-internal-links.js b/script/update-internal-links.js index f380cc33d0..cfa244bcaf 100755 --- a/script/update-internal-links.js +++ b/script/update-internal-links.js @@ -22,7 +22,6 @@ import walk from 'walk-sync' import { fromMarkdown } from 'mdast-util-from-markdown' import visit from 'unist-util-visit' import { loadPages, loadPageMap } from '../lib/page-data.js' -import loadSiteData from '../lib/site-data.js' import loadRedirects from '../lib/redirects/precompile.js' import { getPathWithoutLanguage, getPathWithoutVersion } from '../lib/path-utils.js' import { allVersionKeys } from '../lib/all-versions.js' @@ -60,12 +59,10 @@ async function main() { const pageList = await loadPages() const pageMap = await loadPageMap(pageList) const redirects = await loadRedirects(pageList) - const site = await loadSiteData() const context = { pages: pageMap, redirects, - site: site.en.site, currentLanguage: 'en', } From 18a2cc849835f6ea1531132190cd75bda58c5b77 Mon Sep 17 00:00:00 2001 From: hubwriter Date: Wed, 11 Jan 2023 19:52:51 +0000 Subject: [PATCH 15/18] Remove experimental format ("playground") page from Codespaces docs (#33732) Co-authored-by: github-actions Co-authored-by: Kevin Heis Co-authored-by: Isaac Brown <101839405+isaacmbrown@users.noreply.github.com> Co-authored-by: Peter Bengtsson --- .../help/codespaces/add-ant-feature.png | Bin 0 -> 59423 bytes .../add-csharp-prebuilt-container.png | Bin 0 -> 88404 bytes .../help/codespaces/add-dotnet-features.png | Bin 0 -> 46002 bytes .../add-dotnet-prebuilt-container.png | Bin 11147 -> 0 bytes .../help/codespaces/add-dotnet-version.png | Bin 2542 -> 27222 bytes .../add-java-prebuilt-container.png | Bin 35212 -> 52706 bytes .../help/codespaces/add-java-version.png | Bin 5082 -> 33517 bytes .../help/codespaces/add-jshint-config.png | Bin 0 -> 61025 bytes assets/images/help/codespaces/add-maven.png | Bin 0 -> 30786 bytes .../add-node-devcontainer-config.png | Bin 0 -> 71019 bytes .../add-node-prebuilt-container.png | Bin 33320 -> 0 bytes .../help/codespaces/add-node-version.png | Bin 6406 -> 22808 bytes .../add-prebuilt-container-command.png | Bin 6462 -> 22317 bytes .../help/codespaces/add-python-features.png | Bin 0 -> 104835 bytes .../add-python-prebuilt-container.png | Bin 9604 -> 86237 bytes .../help/codespaces/add-python-version.png | Bin 2509 -> 30691 bytes .../help/codespaces/codespaces-npmstart.png | Bin 21099 -> 25518 bytes .../help/codespaces/codespaces-port-toast.png | Bin 8224 -> 0 bytes .../codespaces/codespaces-port3000-toast.png | Bin 0 -> 36385 bytes .../codespaces/codespaces-port5000-toast.png | Bin 0 -> 36378 bytes .../help/codespaces/devcontainers-options.png | Bin 19999 -> 0 bytes .../help/codespaces/dotnet-extensions.png | Bin 6355 -> 0 bytes .../help/codespaces/java-debug-output.png | Bin 0 -> 28227 bytes .../codespaces/open-port5000-in-browser.png | Bin 0 -> 56662 bytes .../help/codespaces/python-flask-run.png | Bin 0 -> 73290 bytes .../help/codespaces/show-all-definitions.png | Bin 0 -> 44354 bytes .../codespaces/switch-to-standard-mode.png | Bin 0 -> 42896 bytes .../repository/use-this-template-button.png | Bin 100333 -> 95207 bytes components/article/ArticlePage.tsx | 32 +- components/context/PlaygroundContext.tsx | 88 ----- components/playground/CodeLanguagePicker.tsx | 27 -- components/playground/PlaygroundArticle.tsx | 104 ------ .../playground/PlaygroundArticlePage.tsx | 94 ----- .../playground/PlaygroundContentBlock.tsx | 81 ----- .../dotnet.tsx | 324 ----------------- .../java.tsx | 312 ---------------- .../nodejs.tsx | 295 --------------- .../python.tsx | 336 ------------------ components/playground/editor/Editor.tsx | 118 ------ components/playground/types.ts | 33 -- .../about-billing-for-github-codespaces.md | 18 +- ...erforming-a-full-rebuild-of-a-container.md | 4 +- .../security-in-github-codespaces.md | 18 +- ...zing-github-codespaces-for-your-account.md | 2 +- .../creating-a-codespace-for-a-repository.md | 22 +- .../creating-a-codespace-from-a-template.md | 16 +- .../developing-in-a-codespace.md | 6 +- ...-github-codespaces-for-machine-learning.md | 14 +- .../developing-in-codespaces/index.md | 3 +- ...github-codespaces-in-your-jetbrains-ide.md | 18 +- ...using-github-codespaces-with-github-cli.md | 14 +- .../codespaces/getting-started/deep-dive.md | 20 +- content/codespaces/getting-started/index.md | 5 +- .../codespaces/getting-started/quickstart.md | 18 +- .../the-codespace-lifecycle.md | 4 +- content/codespaces/guides.md | 19 +- .../restricting-access-to-machine-types.md | 6 +- ...stricting-the-base-image-for-codespaces.md | 12 +- ...g-encrypted-secrets-for-your-codespaces.md | 4 +- ...g-repository-access-for-your-codespaces.md | 4 +- content/codespaces/overview.md | 18 +- .../about-github-codespaces-prebuilds.md | 14 +- .../configuring-prebuilds.md | 20 +- .../testing-dev-container-changes.md | 8 +- .../index.md | 17 + .../introduction-to-dev-containers.md | 29 +- ...g-up-your-dotnet-project-for-codespaces.md | 186 ++++++++++ ...ing-up-your-java-project-for-codespaces.md | 202 +++++++++++ ...g-up-your-nodejs-project-for-codespaces.md | 168 +++++++++ ...g-up-your-python-project-for-codespaces.md | 170 +++++++++ .../adding-features-to-a-devcontainer-file.md | 8 +- ...iles-in-the-codespaces-for-a-repository.md | 8 +- .../configuring-dev-containers/index.md | 12 + ...um-specification-for-codespace-machines.md | 10 +- .../index.md | 23 +- ...g-up-your-dotnet-project-for-codespaces.md | 212 ----------- ...ing-up-your-java-project-for-codespaces.md | 183 ---------- ...g-up-your-nodejs-project-for-codespaces.md | 177 --------- .../setting-up-your-project-for-codespaces.md | 19 - ...g-up-your-python-project-for-codespaces.md | 204 ----------- .../adding-a-codespaces-badge.md | 2 + .../setting-up-your-repository/index.md | 12 + ...mplate-repository-for-github-codespaces.md | 8 +- ...ing-creation-and-deletion-of-codespaces.md | 8 +- ...ng-your-connection-to-github-codespaces.md | 4 +- ...github-codespaces-with-github-classroom.md | 26 +- .../about-readmes.md | 6 +- data/reusables/codespaces/about-features.md | 2 +- .../codespaces/add-comma-after-features.md | 1 + .../add-extension-to-devcontainer.md | 16 + .../codespaces/additional-container-config.md | 5 + .../codespaces-machine-type-availability.md | 2 +- .../codespaces/command-palette-container.md | 10 +- .../committing-link-to-procedure.md | 6 +- .../codespaces/customize-vcpus-and-ram.md | 4 +- .../details-of-devcontainer-config.md | 9 + .../codespaces/devcontainer-properties-1.md | 4 + .../codespaces/devcontainer-properties-2.md | 3 + .../codespaces/developing-in-vscode.md | 4 +- .../codespaces/edit-devcontainer-json.md | 2 +- .../codespaces/jupyterlab-in-default-image.md | 2 +- .../next-steps-adding-devcontainer.md | 8 +- .../open-template-in-codespace-step.md | 3 - .../overwrite-devcontainer-config.md | 3 + .../port-forwarding-adding-non-jetbrains.md | 2 +- data/reusables/codespaces/rebuild-command.md | 2 +- data/reusables/codespaces/save-changes.md | 1 + .../codespaces/setting-up-project-intro.md | 6 +- .../codespaces/setup-custom-devcontainer.md | 2 +- .../reusables/codespaces/use-this-template.md | 3 + ...setting-up-your-project-for-codespaces.tsx | 5 - 111 files changed, 1056 insertions(+), 2874 deletions(-) create mode 100644 assets/images/help/codespaces/add-ant-feature.png create mode 100644 assets/images/help/codespaces/add-csharp-prebuilt-container.png create mode 100644 assets/images/help/codespaces/add-dotnet-features.png delete mode 100644 assets/images/help/codespaces/add-dotnet-prebuilt-container.png create mode 100644 assets/images/help/codespaces/add-jshint-config.png create mode 100644 assets/images/help/codespaces/add-maven.png create mode 100644 assets/images/help/codespaces/add-node-devcontainer-config.png delete mode 100644 assets/images/help/codespaces/add-node-prebuilt-container.png create mode 100644 assets/images/help/codespaces/add-python-features.png delete mode 100644 assets/images/help/codespaces/codespaces-port-toast.png create mode 100644 assets/images/help/codespaces/codespaces-port3000-toast.png create mode 100644 assets/images/help/codespaces/codespaces-port5000-toast.png delete mode 100644 assets/images/help/codespaces/devcontainers-options.png delete mode 100644 assets/images/help/codespaces/dotnet-extensions.png create mode 100644 assets/images/help/codespaces/java-debug-output.png create mode 100644 assets/images/help/codespaces/open-port5000-in-browser.png create mode 100644 assets/images/help/codespaces/python-flask-run.png create mode 100644 assets/images/help/codespaces/show-all-definitions.png create mode 100644 assets/images/help/codespaces/switch-to-standard-mode.png delete mode 100644 components/context/PlaygroundContext.tsx delete mode 100644 components/playground/CodeLanguagePicker.tsx delete mode 100644 components/playground/PlaygroundArticle.tsx delete mode 100644 components/playground/PlaygroundArticlePage.tsx delete mode 100644 components/playground/PlaygroundContentBlock.tsx delete mode 100644 components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/dotnet.tsx delete mode 100644 components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/java.tsx delete mode 100644 components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/nodejs.tsx delete mode 100644 components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/python.tsx delete mode 100644 components/playground/editor/Editor.tsx delete mode 100644 components/playground/types.ts create mode 100644 content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/index.md rename content/codespaces/setting-up-your-project-for-codespaces/{ => adding-a-dev-container-configuration}/introduction-to-dev-containers.md (96%) create mode 100644 content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-dotnet-project-for-codespaces.md create mode 100644 content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-java-project-for-codespaces.md create mode 100644 content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-nodejs-project-for-codespaces.md create mode 100644 content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-python-project-for-codespaces.md rename content/codespaces/setting-up-your-project-for-codespaces/{ => configuring-dev-containers}/adding-features-to-a-devcontainer-file.md (91%) rename content/codespaces/setting-up-your-project-for-codespaces/{ => configuring-dev-containers}/automatically-opening-files-in-the-codespaces-for-a-repository.md (89%) create mode 100644 content/codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/index.md rename content/codespaces/setting-up-your-project-for-codespaces/{ => configuring-dev-containers}/setting-a-minimum-specification-for-codespace-machines.md (93%) delete mode 100644 content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-dotnet-project-for-codespaces.md delete mode 100644 content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-java-project-for-codespaces.md delete mode 100644 content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-nodejs-project-for-codespaces.md delete mode 100644 content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces.md delete mode 100644 content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-python-project-for-codespaces.md rename content/codespaces/setting-up-your-project-for-codespaces/{ => setting-up-your-repository}/adding-a-codespaces-badge.md (96%) create mode 100644 content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-repository/index.md rename content/codespaces/setting-up-your-project-for-codespaces/{ => setting-up-your-repository}/setting-up-a-template-repository-for-github-codespaces.md (90%) create mode 100644 data/reusables/codespaces/add-comma-after-features.md create mode 100644 data/reusables/codespaces/add-extension-to-devcontainer.md create mode 100644 data/reusables/codespaces/additional-container-config.md create mode 100644 data/reusables/codespaces/details-of-devcontainer-config.md create mode 100644 data/reusables/codespaces/devcontainer-properties-1.md create mode 100644 data/reusables/codespaces/devcontainer-properties-2.md delete mode 100644 data/reusables/codespaces/open-template-in-codespace-step.md create mode 100644 data/reusables/codespaces/overwrite-devcontainer-config.md create mode 100644 data/reusables/codespaces/save-changes.md create mode 100644 data/reusables/codespaces/use-this-template.md delete mode 100644 pages/[versionId]/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces.tsx diff --git a/assets/images/help/codespaces/add-ant-feature.png b/assets/images/help/codespaces/add-ant-feature.png new file mode 100644 index 0000000000000000000000000000000000000000..54f87147f53d2ba5ee8f26b33e8e33a069cbd730 GIT binary patch literal 59423 zcmc$`cT`i`7CwqckL5@aD@EXl(p%`#RRlzuNCyK3NB~1os(^qVAt+UP0tBS@8hVQw zrG^f{5Q<1|L27^y@-}+B_x{Fs|Ge?W8*e*ewmWODz4lydmhYQ$`SyXn7SmrGe=#sH zFlpbr`;dX*1fGH6Sk&p0z!mt_^eo`(n8!n{I}D{gR~LbQJcpWV!}RnRgn{$Z3@46p zF#LJc1o)^Pl66*$A6z6i#obZ40W~w_&W3So`nYk!)3ms&oS+XH-0cM%-_e{bA2qpXts*Lcz$di)W)Zu5oY zQa@@@Ss-L84?h0SEc|@8P0eVxRYPaDRpmfHrF}?B(r8AI@uGl<2Hy!SzCUIZujh2~L9cMRN zkjj-B=_NW_XD2{|e-J=L(8MnhQt)?samgT;oj>)^A^&y@^!*@^-AzcQUwF>qaq6&C zcQIs6PukahLWUaRG2c^ZM0`^&i6Lj{D7fk z@l6)qD_<+@Ux%{rlp>+joz)^FG?qE+&i{1I1#}4?DJ?<5Hp-iv_5p#?;X`5Y+X*60Xj~kFvp>`k|w* zQWZiPgg)!3gM?21o~F~+hEO+p?@uHsi~3rq2AG!!{*+~r6n?-xX)gomKIgqQfxhW= zk>S6CU5XfZr|WCJQF+jZuX+SC#EH7xgjsqLOTmqA#MS@11kj3|y4 z6~#U$9w%K3%#yvsqZj`(0(QQ&``n4qQkZ)DN;&=!!h-NrmlHhaz;^4uo#kV+Pg<}+ z6Xisu2SMT8QHwr*3q(yJ|EGZnbJvz3EYKWw(+Y-c6P3h2nU%ocBx~I!do;BE+YW8H zQT_>nngE5*O2%o;>0yjzX(BiImV^9;Q@1~f${ zlvt5wv-x$?=J*ZJw~t*9esCpm;@ay;wk2!-fPAYad#9;wvl8pLVi6Z&We7a^8XssJ zxzW!D^;G!8>R9~&Hdz^MsnoR$BF2MD<_%n*Od5JnTeOxr{g{3$Nd_qZb66D zonHI<^4L{!eOZz}73~w}^W2~i%R=$ZbmvM7oZEBtjRIHWhZCDt^2|)4EcT1STTJ$7 zoI#u8os)Tb^RJ!EN(QBB2hy4)U8palB-vjdDsMB7R!o1w_{xKe|2q0IdHgE-n&^WSF%Jb|s$tux8Lpw&|XYW&$@;AVXKi+xn# z^Z{{rq|qUb^PDUmhCirlQ}&tUSl4%#Xp&i|b~VgXW1~V!9m+;Vy_P|EVBJBGv;Fal zJa&nIbrX1F|L)@3VJ=1t&m;Hx#+k}=zJVb6o{jZT?qDuf%;wN3iG8kcv%HNSCsO*X z7YpiZ-W_=V*?14Fw(CAyt9G!FUcYztvUj1!k2ddl6^cA`cXW`J2Cuz%KHgV#@o=;4 ziU=nY(KLQ+Ssk&RKVOO!4`W+l_8R4Yh5fzNJ0U}atSnOWG@mE^C>-cDm6H{RHM^HHW^#q)w1=eeki;8{ay;B)`+qTQ8XUrgz z>A1#^ulZSNkC9$xUZGMHN^(?;RJR+_OV$D>D$~;W*O7`mh?c{Hy3XCnx08i@pSd5J zJ&B=-(82cYWBc2ju?P2;2_+KF$VD*5_DiQdTYf;VOc$t#Q5{@$ll^cyDPXHYK)SYw z@_k7b9=kadd}0;-a+KLB)_xx<=H{Wf_z2UZqn_ny-K9n=j(?WFTr6c-{ltqe=1CT# z^sK_e@vr3>73xgGdjxNJmx)w=wC2z&Xjh^DwcGBVPZBU<6ynwhX<=CP66+}InQvY_ zn{yIRb&|w%z?$2}vndYwK3R;I9r4~CN2Jr&${rP8(~DOVi)S|zkBkB%##RkS6lfuDjVNW0)WR$1t8&T}U zN9%P9QbXyL5fP~D7us?@`p&*IJxyD-ki1!0e{fw-wfw|G%xj0NeeuJ_E_Za&2G`!| z6U~p7T}7KKNmy#jsjT^&yWgjLwG~4R)T~&?OA(e%?0o4-{RP^*pSER#@jc)2^`D!H zXZiCiaH+`ITydGniqi8EQ5Nqmz0&njKpjsHXfLll|JvM3v>1~t%G;$Y`0!LVrR`BZ zR;q)0fp%|rU&O3*i2!Z+yFHwZly0+AAwV@Pb#SH&_hK8j1YBw|rox_N?O%2DP8sMe zZ779(Myp+MnLGr~&MqUCNV95<4V5;-I*r9k$Wpys(Kyyz_S@8wmgFhw2J;>Z_C73c_ANh4PfKNhKkh#OW@X{1CT1VlX?T8lF z6FS8zFwktyJCvD|yE#f@`K3(f&~bR?Wl4O4JF4qj$7m8)TET)oo$_=N=!e+)rZP5$ zFHT5qW>9Oa<8Qr2>xnmK^<-`4Mr*r2Ugm%$gZNFiW}PrCEr)CqMRZFC~)A2)y2v zzgcYe@FL!SEn2(O;mf;#h5kDuWPPzFKi|cv&ro&%;j3yQw&w$KzpB?rXekNqF zrEezgG49{;g0`0Y{sX<6K$XGiYEP}UK%Yl(s!6i@$!~Q}k=tW9iyic*&$Oj%Qqf8K(Pz+A#0>RfdR-6&2G@+f* zB3IpHWj@rcJ0laxu{^!W;A%Y$ITDKoM{L10w6IbFhVHUd#a?v*F!;FQ049uu$6Wmy zy>3|4f2sbJm_&gd)1_-er?17^EZt~zU)X)aW8+P(fu zgwJo8+=d?HRBcqFS4XUQ24G&W7&}bLC+otSs`%Q> z-YO=h?nn(P@eL_c0Y9+hsg>lwja%6}CeaX`tE*#zbSTb;z(SQL14o)sBdS+-$k)wR zf0+6AiaardChvSaiqjAlgNzuRvL*$|uH+mpCDiRx*Mc|Nnd6LtU(r^H^EUYhx%nYa z!IRqEOK(Oq&;$@hA*V{$860p>?wgzJgd{==q?~Ng!ziBKsL~?GB=b;0^3$nu-4uB} zbc^zQ_SJil9K!a|7Pu#NUG2z?Tp037r%w&^pWTyMNV5(%n_P86Tyf&c18^f<8G%y# zRN*2Vd&AUvd*~P(*|96+mo{F2@8W<>AV>BI5xQL@f+)@z@@n3|vZWkw*}gbNOq6)9 zGQvVks28e&K$S>4^(U)ZDkvN9>Ru?$G$OizG=5{x03HMrvH zJq0WTaio{W$r9>n|gv@NA{ znr%PCDc~}SfSCp1N5?@{^?s4m_3BzaghiQZz<64-ztFwlb59&B)U_VowGdQ#{eBfR z`X;LC#$v`Ij7ge_Wh2NS<%?KH+0NV#Z%O=wFQwTr8=Vf3DEoAe5ni(!mBtlial>7` zQd+Y$^Ug+R?@pe3x23-HxmNz5ALv!k6F%=^C=;e)y47s<{C%S%wDKmw{r;CF&!0=X z;>3XpFr92Lxlj5XtC*-pls4T93tP3C{QD@VQT*<#*Y15z`WHwU#-;XBq!*{dwbQf7pBl zywY$PsLfoAIMe3Kgt^53(LWiIdt=0D8Q!k%&j$03J*K4F?o$&Gs-$=5!xvk+f2+#f z1RB6s%o1wXgQ99@NMX**VM?vcXVaImzQWVIZT6$@?5~}TqhngP1EKBgeX^|q_5g-^1Z9JDK>D-Fz!7BPEkiA^Y3AU^UI=1lGCJN(n!PoVqx zrPoj_6sHDAE;CZ^rHcdE==|D!DN3Rb1hu@9mHnb^Xnt})HQcpJvsh?f+~8sc>~*|$ z_Ef~-nzwgzF{L58^gd_LFe6}(w_WVBHV`2(CN+CtEX0R|2or=#zo2DpMXcCSVxkP9!vPwa>|yWKkd+4m&^oE_TZ% z*SI8`UUPg{6sP+()5Y`6p;F1FnGA=hT(L3i-CBgx$@)xEW$VjMb#?1aX4!=G@AQfM z;Hhm6ScL`4YDErTXRW$y%K!NiMaZ3d zNX#^@jAmF~!hAcNNPrq&2Kur!^sd2`DEn0}nP8XzlX2@hBZmBN4$36WRjVSPCzUxh zlk8-sQ2FUvLk0xaofz#eBv}oH+{;K90AhW2&Ld?50L9>m zzYo`HC%xP}Q)p?cHudse-Ii*EvV2D3)!hvd)O?yO@x-t2S`wcPO%I$CZyrd2MaMW^ zxE7o&NYW1Xs```^!R79G?ap%zlZh*{oiV74H*D;V-sU=ZkiXm3sf5X@Vny+=z6Vhf zoG8;WNG|H@MX&1}KaAQ8&wR$E$~v`9*%|DVbUH~Ntj1`&%5{%93TXE2)VPu^k0WHS zz-R3W`Ph|qzCz!(-+U*OO)DDYo@0nJyy80Fk(XZ3NxyDq3>Ds-CsVnL4|4C$WoR3_ zIgqpj_D`#8xcXu~a6~8?pv`yYi*c%V9A||1Hv%Pjmz0@s3XaLh{JmiM70n~l%cr%=zR@?Om2uwTHMg7%?Q0WiZ$6W_K@FTN7p(kB-0wT_1H>!B1?6wl^td=rZ8nZI_HNxB+} zyZ2B;qpahlC>*(Xyi9kfYIV6G$HgXDE3*pw#nnq=+|A_de9f809){&jD_8F@m$2!?Z8qmXPK`eWz7?F z^3>`HA5cQ04w{KB&lC`bGVH`$)buadEP|MM4=`wK&ZxA7Qk7$z-W6bW0Whu|QG`~Q zkoLPG+$jh%&&RPd&obuN&w86%d|edb^qNuHk}QZzgPz#me7Nyr!FT*=xYgmJL;v=R zQzn{sM{5GmZ)SxC@&ANvVdBIDd0WM^-l+R`zqlBQSW_LLf9afb=6#MXqc<}0(|t4! zhQe+qrh>v;TDW`=_>eQR(JD$Ocu(o!(R~|83#ePoK*yHe@kOK5X zn)#^)Kh%|&%q;uZ`xOVzVxz`WxH>Hos#Tck2m98lrUtiFPeC7aybl``RAVzN3`IOdJd#i zj$-5ZpfK`D=%ZGI81E5%i7U2ZhaE+%cTVqJeXKf}MN$H9O8 z{BNtD=fL2O?)Y^Mgc|=twx0f9uJL!*|1WOx3xgb`Rem0QsE?qd49U*}^cZ=R4f%Pn zfq(?ezXu~5?Dr|dNk-}aoF7N9|2}_t49EEU{KL!t_W$_9{}OQ_Y$ zrj0gDfBY64Ks511-?9Ee+T2OlQOb3teWpD=a3Qly?3Yqm++H;6=*++O=vROstB+rw zBTsAI{VnnbdBaMZJ6Cp;_}$XRXZ0#&7RNyN-;LRj2>@%;L)HVn5MvWngM!QE12nU9gxMqhr;K-!kj#W&M_42kKL358`y`GLSFB^A{O^UAu-6a-gpec5{rg#%k02aq`Qas& zUl-o@zbN0zr^dC(H3kJvkKPZu=`}Ice_{Y_scZvo$Niqw z)4T5J-AFAJV`2aQqxnmTi4P!rns9>3(fB@%R>Q|%9y>m!LK&NOZQdp{WV<+8jq?9q zKb{((D8CvI9)uqYK67D7u45qE#qRf7M6iE48n6@smHFX?@z*Bb%~+buA1+;5MVH>n zEEggy=vS=WX=$9_a`nKdbO~c3Cx7t>+Mt&>6`$kR})^qj=C5I|k7v#R0j9{0? zx_5I>*4Bu9Pt_NE{N3Eu=dOAi=zpEO&RCw#Jb_AGi?$~A&oW^onD*d4{R>57JWNeDihTHvP=^ZHIM$NGui8V96z_M<6o zo+934;)n>{XS&j~6ZKR0#8?3BAa#w)LhJkCOKi=_N{aM6gn|*;0d14c_aN0hc$< zEIRz~FtXpQu~~rmMwciN^B1nTkpl)N6nm*P95`IM(6tOO^eXb+W4m%)UFSBtny3?w zl=Wf-vKy9yEA*l-L}S16>+k13Y35S$t|5jFt4FK$aQ?D4?^8HoQeFD#dXxHwua~i^ zl|(KjFV)Sj_WK9ZMGZ9&IhWyQKHs-|lQRytF-3(x5v2QT4eo$ zI#LZ(oO)|b>pAY%>hScyId>frSoOjf{QbTMQs5(H&(y9~;Z_ygKWb1*8aG)Aj4z^Y zPF6PO@vrz`ecSvfU1p`;^wsrl6GLa8=Egi7P8i%LU4KW-Yxo%>hLJX5HR+w#gD!QR z$IzC?jLzD4(Y-!@Aq&KfIO+A96dth|f* zY>aU(u!0gxNayz^-5R!|IwzUAl|TO$H76&Go;4W~xGTcL^W=i>+@9l?ibo`Bl6+Z7 zu?MwX1$A;fH^AY^oGLsRlH260kwtv6+86;zbV#x2@-e}!Os}4m7|Ig!$m|kKM`hxg z)^qYJED^+@s~b$Us|%&39yPN;BL@D+tFZB55Y_q1eV;{xQe7F}&MG-93%gvCt+QT= zsx_z`}6he z#B<|Ov$V1A)+t`?Dyl6mm4}nd%^d-NogxJl%L25$a*u`2r-1p8)et7kDXld<-qDK+ zd5*Our+Vr}9C+@d`)i|`C z1=4d?JJy%wGd2fQ?KN{z_6>4!_YK=&*=B#oQf4T$wlV&n> zGqI#!8OHsu&3{SO;5O3e*RjRNW)++{u!B8FOLf!^+Fq!?!K)KvSB>D=Zx`3F>u??b z-Pg!ky*c#cBHC%sBG*z3w^CC}G2T&Ym~FC0bhI1YP0`9tvax1$2$VC>3w*lT2PT_Y zMa>&8(Vd|xSnio_1W zv#1X8#d>akE>8 z%cV!SwrSZ3#op&f(^hT9D@)x|Spv$-av^h}(!!P^W4%Q@JcUU23P^TEM*4&?V{H-? zxhE*Y{w(?K$HSd%2l3}T-cljW>6{3-H`*1Wf_e__2XSHxWYI&59uDqe^tr-{lI{1i zL6SH;%i7i>rD}PEg#idJ1D{O~*j_eiMaFIg(NZS8C$Tf`KHb~$zn$VOfQgh&r?NoO z#8W_%n}Z*fJXp$x{6-kZ6BvV(dDs{8gXwZfNcqZ(dY4HP-^Bz-NFzWr(XFwpmtEWR z?SDw9_R8lr!Fb)$Y5*cMv-5MlhF0cs+QAq@6ZA8=b9-Y%XjPG_> z)Wx#Dh1SK1&fx2%UHDIb04*aB7TEcd#t}trX)9K;7hn%rEyYED`*Z;9ZN@xy>y74A zB0Sz72;lsS{k}E!1$5at_4*u-zPpdFvv|cUNq<%`58e78oE^sT7wQUA^pK*6PZe3| za*Qbfq!b`GDcOXr^AcR4Qx-xp$^c8ezi>zha{c7Rhjac~$RfN^)Z88gLrlvuhF4Zc?2rM|ZY^eSg_Q#KbyFs2}D@5 zGz=NAT_AR4zcXfa7ZSZsUkg+{c&PsOh3hczG^2Eihv+h!HPRboafnTsW_B3e+Gw>l zlfrYS`Fw1w^Xq&qn>6X4DH}~Xj0=6pBu$s^&R#@S`Ck4x{ViK0>{=9;lJ$0q_>!#r z*Z?rlA{**Sw@W|W*Gq0&BomsXSh@J2V)yCij~L5P5#cLlX{!O#^)BQI$__t0y#~+Z zMlQWN&7(S|$o`={q(lKLM^=d=m4~szu+E5g!i8eJ-iTg!^T|f$bQdIKPC&SCy9*&Gs(iNCE6^IE0)FngQ)1lq5i`9pHe`c+>DD>I_xnErI zQBJpYxTJP+^|F}t_Z^;_-(cNo%i^?-1Uh>iAyO3D7SeJpL8b zxDkm?n1$XVPPRP9joy#K@LB24jiwoRm))SL`iTz3U9fa0GQLQV09&Aktb?f7zzOer z-;=1$`cWnrJwhj>hHk!myKN)113BP*qdT|&OWUm`z~2kXtqMGHSgFj?mO(~TBO#X? z<>FM85)b&NSCV)~ZpWQnU~?XztEcx4?X8d2Aij?5gMa7%2IX?HWpob@8+Z=ev{y@B zSUmemeUjVXP8_!qjj&nKM=Q~M#}($qIRY*LoU9C9&UGxFu}wFH-H6{3!-zR1(J}@L zV%Z7|mj4BXZpq8xoo8YZ%7-84S#6}c=8BaJiG&e%O}J1mN((W7#X6{`5V>hjznCZ) zm~{s)b}OKa=;YFE6Wkq|A`nuRIw6@-{IBuU@k{?`MZ?y%;!ZjG2kzXbjrV>kfUhex z%bDV<+f>JFh=gr7a^Yz2KfR$CVH=ce%Sv(j#J7R%tqz(^YGCt5JWP}lRS(C>N(`-TePFuba>KbueL|F#*Ha%=mdlJq|_dN+0Dyb*21rKaIz(=yPUOV>1J5%Q?X-? zCNx@N5OcDxprWx6B86YB9OGR0$d#)?N%HIGDid%oC@xTWkz9DMvJmc0j^M2Kwq0^g z;$*Jg*YGf6lx~c8cY9=-3FA+$&jW0Klm&^P8m4+w>UeZ0#!5+>KbdPkrMc#1#zdSA z+>F}x>J1Z$TizJ)=D%>v@uZF#zC6*MpVncQ5;qlt^@Ikry-#(t@padc+LBspN$A2e zpY4vt%b*=bR}u%*>b>>c51lk2x*TD9JZqEY`%OwIkh$$ES%E9A^j&SrSZqdV??KY} z>w4L#*?IMwIv6K{)W>zu!=UBjC2s@~0FWYv zkEOb+(lt>~RX;uIe|QCeL^%Sue2mhPkWaz)ODi;WNaCBf{)ONF;yNxE@{GnSr-kh3 zzlyX*5j7?^Dj9zh769>bgi-UP@QS44XMRcN{q?=?OmN94zkK7JBV70!jxiidUS!?O zceoFY1|Ev|J=k+UCca<)zd^yLc|=u~4reO5$?22rKk#Jngo;i}=mg{B9{@=I&j1)2 z_>P{y_34V6W65)XX_yuNwcHq9>c4IZBWNExLdK)0$<<+wIX}b6ZP&#)yRpb$BW38D z5*_svUH?T#0JMTE8|+VZNgp1&JRmLgixwGj+9n?y|M`r^$pMwUH1ccsxLR{m%DMm0 zCR}Af-n1ta|7Jpi&)llStk+`zKL2JN0CK08<2Mt)@RGY{4ZDqYg(ohKh5hqe1Ppz+ z`dwT~hKgw%U8#j{@M=u{S;wt9>4d!|oEd=Aqrm z)!JyPl#Ug1y|vQ>h< z=pZ5-G+F-4E+?(nyguyI*rZU^0zC*l&AzBC)|=}zv+S+(X- zv|75$MR-br2kq&dVYdKow{gOkARmkFRhihBtO*|=?=T1ClzNVrpuYxvd+C2r5J>)# zWUXy&+Slys_2V3+-Oiw4+<(XT(EG=?jG30WAO8C{RsMvP+h*mes0D&J(M)|9iGyWI#lw1O!KW;hGVbXGjXPwIsr9Lt zmp^@$Q=CqwyqH~EmUk{b0G~W6%xAa-kfMr`c|ECRjJSx!A8$SM#)GZ{0D9}7pC^b< zQpB}kHA>uqyKw99>J6qVj0%AV!Hv^osz{fhTjCcEn8$o~v~`}roY>RJy+b||&HmQN zlu^+XD3VLXTU7Gf!5YoxxsacJ#VbM72z1;^(4Mjd_-gZe`C60qFrgpX?QyABUF&r5P3dXXgck17! zbHS~IcG9&8_5MR?g)~}vZE=ya+akdzq~{9hIjtzJyHsu2he}_ zpX8Z?txh=UZs;YbfsU2k@RF=a&@VpsrQb);^5;ieD+IZdC>kY+n%yfUq>dLSQC|m; zGcJFLs8#c`k0U)>xRaI+5M#YEOECBDea7?oY@l;SEXV^-sJqJo+{QIRnx=$YVlNP56qwi(PQ!8K#1&R^#VQk~rNC zy4&6!H~~vP=<%0k`h>ieGv#a{_=k8RM(nH};{EK!jJ(P%bq%+=y?N9!ak>#Zf=i&2 zDPu1eHmZS2j)YAtR`xsEyFOYHU+I(xISGEP$p(}B#pS-Y29~3cmVR29RDR%gvaEhf zXlB#Oqz}(qfhuMu41McE>)1(ifVfFdwV5+%-+db=!rvO4NRP^32hpU|C!5~2EiDH2 znjCTuEKjMTw6}+23Za%3#_O~Osmcw!J^RDYpbK)mg#aEZ3Iq_XYDIH4yYeQpZ~Uv- zNFBE)IoIO4B<3T_MR6t-A?L+buR?Pzk3UAu){uamiam? z;a@AxObh6``%I2>fe$f7kJ1yT38I;qiI5umMR!VHmcfnIk9xHeF^tnD4r+HXWlwfT zcjNu@>Gii%HzCh9 zzoxp3$9l&|{>xqB5;xc8$53r_f8Slym;`p;?>rOfwC7>6kk1cJ+}Kg!?2x1jmT*Ie zQ{Kh>x>lq<0%_yB8rh-9Ayq^PB-DpRJM`)uTFqxU1n+PKGO}+UBJI&?hZyX=&O_1_ zdig_Gi}g~2>hMOy$fWUMr&;c5VbeZ#cO%4a3%_Zy{Do0kuOY*$tZv`WXR~+BeJz?j z1wIEpvRNOFk`4Avs*Q@tE1|EwZv)M$EFG5 zk^nkxY0V}vjz<*~dcYQvz(AO;l3lKDG(h8+*BlHMF7xPf$FzYO3v)KtJo07# zm~G$S+I%1ds|2*;9~~>oc7~g&SW&(rjaDYUpWZ+H?)Lmh!kPJ)jBKxg9qGNS0+*T` zNWI1K=ktqQANt&+p!WNp32}yyz1Q^pyaH-De|$tk6_kD;flWgyWt?Fr>7(qL%DbTj zZGJehS~GT!J12AKVAdLM-}EvajAG}3Hpw+nA$df!aj!5|J6`^Qw3%OJRF{Ej=1vHmr1RQZM@)cT>wEUHCX+PE&WT#Nd^9@@fH^*P zxV0{3qB%?rkLC|buUUFNJW1bt&FR4j>(tJDdt!%2X`Y*#GW}S2 z$syKoNGK^J=JZnEUjBP{DYky87AP0xkKB0fbh6X@Vx;@Ky=`NMOjZ%hPxK6IMIkYzYRXWd?lm zc<7l#Z_I8l1h|`=F<+^M_?I?@CKVpZ@&KrpY~!!N z{1dSqP45o3%1A3-@mYh{^8sR_Y8b*{bTU30n+Ulq-59vKzqG0>On-T0 z+KO5>$$0H(GjVNT^;{QMW`ONM>-|Gc3ELMfOirL+fr7TWQWX0%qGMPk0`;SVj(d}D zekjQqc{%)Q0Tfvvy;_^0&3tFGr}w;H*L*)0;6{`TKQTxL-xsv~Oiz@P0l|=qH>Zl9_#=GF@BnR>PJ*HnZSUMueic+owfk z(J;$lMa8x9v5n0A1@wl9o;MuKn|1FCjBe? zlqfB=wL%D#Y*Vfl!hKI4(`%4(Rq3+EtKC$)ynpn8vS3}bJiAm_CQ8=dHC8~6>jpMW z(I5KG_kI33jpn`6H$^lagzO~%HFAL@NU*6RvSVulk$7V|3n(Doj10NJ`PGiH7Y+D9 z@5<1=ix}7_hGx_50)z==)hBbXJwSOGswR*f{xtrh&rU*+Fd{R=7J=dq$-jG!OJx+M z!hZbFhf{2K?uSoi>+2qz1U7&QWXGU>3vOY-VHt1u*;NbMrWC`zg=Hu|tXL3$YkuLS zTx8FlwEyFhBwlLmVwZtS*nQ)l!f+v6SYNJ zTp(sbfSou$0X{&X|8Zcwrsu+o7w4{P&Xjm$LL*@t;Q@L$U5q_qY?nX=%3_QAV=r|> zL#cZZl=n^8S||@3qYp#?km*+Yg`D2##N0}R#Tx{h&_)}1O)H6BERNGvh&tHt_U`M` z9grQZ@Gy&gK_X)bs&{a@%6-(BPPvlXi<`B?x14}Wfd6wpOz`Y%P+b3&<)J)w*qy!U zl@q6YnWQ$-;iu1$ zY}S<>>w7ubkVBshHxH+Nj24%GA{Q9GFs#sQ$V9!3QnH zm6iNivM~d&!sg|PQ$@V_o-e`#byCF4p_$h*oGPJnSr^yVw(pTE%~U@YEBk)ZGO;x3 zPlJp4Wb$+Uz=rys+T?(BUNZxjg}zC)u=iVCpLzfJiJy+@A1+j^enWlg*mwDKc(i%P z@twRNtS1@WkjiU!;2y_spnV9-8cYn@w{XSjQqM$6qV8}^2wvz)z8?t`-}`=DUFH@7 z%2RnITt1zE^Al4|IR>6YRu!YZ0m}^S_<{4b)c1qQ_#vfepx&K0XLvKaA`!xGAHO#V zeLpLSZ;j%#vEaX&YjT3~&&x$A6EknwVR94`F(-b_a9$7&f=W0oU>D((+iuxrHkTUA z^JFP*#7g@9UXkr?MmQ93)81Xlf4|Q^GSqD;f*&m_5jlXI`WgpW%ow);7JxKEsKlw+ zJxo)G?qy0$l$S#An{_m(eiG=b#f8ApMQK7n!D?71P)V1ga@-}bNmQNrNUM)XB*kOV z(UUfvAfr3oFnQ5!zP~GYBLmD>SVrV*UhB|ZTEyZ9Z=cjswYst~0sQciitLyR~{>ic0MS6Nl7T{K$Sr z8k#Q+R?3K{)$I=!uFar0_6wQ$yqv`N5zyc}E>5OPIvnCPE+lK&8%7i@R-7)E zJm;T$9rtvl8wVoNLFp*;aA_hW_l>ff>FC=NpKj~{`&Ld|Sd;}eL7_%W)SCu)&uy~7 zzPFs>>2X0i-OG|+SklOS)w`GNU}GL7Kj!W~1j69>)c%46Zs(fA1B+{|($X7wX9=}Z z)C}H$fejfasXx+(lrOU{Mo-RdZQwL6eT2pB`^%is!mo(Hkrp`h`P3cKH~CR!u_}z5 z96&JyKDQgadpgW{sKMLZM(l#qbgo{)>FTE^_27?|{E}`{{GIQdi00k;)P8qXcPq#! zt?nEuXQH@T9m5GhIuUw+Z8l-ZvuZaNPIR;LNSgq)`I$$UHfoxh^eD~J6sY(12=DlSzmuz*{1FAr*>)|zVJbH8<<_ zbKx58jyLlrqhhPzwtr=0WU77)xY?K`o8lR9n0ir2c(9WW^T;2DBll7rr9huDo=rT6 zamvxY*p!jK;Szln_Ng~lP$;uE>20TOzkkK)dQ1LTnA$cLjx2~Q9eVoJ5*Gl^@Tur^ z$y+XJD1>KFs$tYE63g`qB^^blMNv-s3mJ;@*M+N9P%V)_dGY7urHuh-y4)8~oXp36 z%B(u23$8w^=I#4w4RFP6oUl^{#_;LGv&o|a*wp%roay?mdalqE|Et(%{?*6$2Svh_ zCdZAc53abGTd_+KPvdl70KpT24MupOaOrJsIUWcEtJh;GT{;S8-{F7$TZY&~L`)-Z$(wqyR}~_ETXmDwh4G z+vntUa4FX$H#==Zi6L$Cp(`Q%@^N~e51qMCEZ4T#U=uPG)J^q2aM@I;Q?wxJ=?q|( z=JzR81N+2;2m$}HIrdoJwc{)%F6!GKwJ>{|XS;Iy&bG{QGe=7|C1%_fn(nb4L4IoT z19}QP{|dQB6a;YUO9(h{r6aKF#F6cIPvwNQ=_|>*qde4nN%dvSp5!hXnz|h-zF*V@l1&FYn>FcDX zDlq#~@8`4sgoOWv4qs|SB#z#b646kM^pkM){AwX#x6!eFspCSpXr(fdLInQr0%R|q zd3}S_C)xHR#+D<^ci)o~;5esGE7kr(Ik{wDZ5eka&K+z7f7)5~25raf99W6`m`60D zt#Qh^I)9}VWdw5&%!gTnGRu?(Hgtso3!5VBwzO_Hq5+1w%DCnj*b39M?JvpFRc9ZKDwnw~{kOR$Eq{b$q~R#@@ha|D-gk zSi8QM^hz#02O_Q;Z->t62{73(dISle&I6vJ!+vP9$NIRMT`9Vb_bAXw6XxirgX_r$!6yl+ zL-tIOb*)EQ@e)EP01!HK+EkH}60JyyUh^ccO`75_c3nrgmc1Cjh~PV<=f_bVUq*~V z))gw^-3nFu-|>2V^k5QTwGg3cw;zlwM>No+8x)xNt~gmaTNY?~#BJQl=x zD@Q0i`mle5W?psv7Dj1WwLy2U@u%i9FbpinA&7+6J+v-sCQz%Z7x}D@0;QMiL*_YQ z_#~)owl-)}FdLl5n zjG&-XT6*dy$)t_7MiO&Z@J0mv1woUkcc@R~<<4V(=1EwnRPa!n`sddWZt;(|f(BO- zx09h^g4E7i^UMKh+*)T2%bvH@2YFIMpfV7Kq0m?a#rI%QPP*in%vrwUW@z~T#oU|! zL-qdQ`G7~}=WZ!3!WiZ3o zW(I@#o?grQ^Z5t9-^cgY!<^;5pXYf$@9Vmr*BM2p|MUBwt!*-(4yiCiqE}z|Y?mAP z7NwIa`#+U;;8|{P4n7BipN*0zuMb!>!f)y|^Z%#jIdPXl-$C$FIW#1Z2XZ{+f70k4}I@128i9RH_NI&s1~EU?9nOjBK&eX}q&GZlnxq*1qaef}L) zAQKD&eMQ(H(PN5DYj>mOOj-TQg9=6_~d~2fmBu(V`zXqicXcItrFu}uKSi0S)t_`vjLEn+-sCKw7go^)N zfddbH*RODf7d$MDou5r(sFCl#@4-7)O~~GN9{>KIr251P(%Y>=@4&_rRAl~Lp0DbA zqfN6k%KU$9^NF9Wt0s|CY1D3JSeSp77m6C^1yZ=>H;#^J1SfjY8a-tZdQUuV{x`-e z(A_f~=qxa8zUN#~2DtxlO}Daf0N4zquFv>20Ijt8-W#*GZ|ERkI|24uI$roiT56 z56E(E|APRrc7>WzRG%Zf6BKl(gZ^5>9q#XV9K>aK>_sPeOu*(;$lNjCKt-AHe2P~o zxY>Z6M(7Ev&w>u=55j2U=ZdB-ieyvUvpf5%6M&|+Yk|O~WVTju_ICpR?csIt`Niua zvx)Eq(V?E?Vx{$$1J-`+D&%=p%1T4XM%JLGSAA>i%p;pQA8Y%>UBGQ5dje*Otz7${ zB&Ck!AIh75zxs1-bBT;uVSSZSs`U7nxOP{4;>(13$Va)L`9jkMZk00`mdBxU6_VT+@2W$sJ=N3!+n1M}n6m|jvy6V~g$=kddYNH=n>HNRB( zt4TqnS0?#5jq_+tW#EWN`2^~_kTmZ0gv$FD;Eh1bdeDI3ixRFtg}Y5qNq+@hikV+nwtiJ z>AanrQtZgPOt?_e#x~eY(50*Yy4wu=HDHJHBE@bzn%>7bUxFLlffLY|M_Xr19r7Cj zRa_HDWlTnwuA{;Y;EF*mtQ{5QZ|uhRC@1gwun4gw5~5Kgb8@qBJ2P30Jx@G$vxLzZj$i({Ax!LTCxJr?>*Rh zfm`@4$=hpyH1OviJ+mc>;yt6^fdTa>vBqI6YYmQOJUy{PU7`XeJSzwCayHPqLWn}S zm*ICA<(J!z9fR;Gs_Q4aBIlR{XDsq4BH7q&zjCIo(W==`vGDVbI|`JV1XWa87M^%Y z)KlTBg+Z&J00GuSJ~p>mO!wxGVi9-3a8U@dLwci~O$ ztLP(4#X*_eEQ)qF*JoFCR2B05uJcWFu(_a$Z^dH)r5C^MZXXU&o1yRaG=a8IJlqq$ zg1l`ll9>jXky`Db)}0*5CL8ZLZ~d|fptp1`T&Zqh{lcRn=b%@E^|R;54Se^eRGl$yh6W+< z;&>zSk;!tX^bD7TB`m&48t~M3ZRcCDBtV-N$HDlPW>M=4v(lI(EE_eYS$btcsOi#@ zX7aJ?2QSvJ#n}Y)b<anjOw z|LWDspv9FTG_K5Z(Xy1^CvnUneRaweo}UJ@83)bS#BM%2+%MrU#;fE9-J`@CG%k}vennlvXS)1&xCa}0S*(KS9W@Ptm3b-E zZ(6ua>ZRJrgtjj#P(PK{h8}eRz~{}KGHg@`D?V@!H3;2#u-)>riG0iFh-5ujrY@9_ zGg`#58Z6&ondIEMeLiAhT>SHBq5Ba@(yXT8QIKZf?^Wj~&gD|B>7{x{+g11m@Oo33 z-1Cvg*t*K?=8eS3pnFcdm~bU{g?Sae(N`{pp=Iw?mQrO1xPNw|Vj=zjs z_H@Z+_5${!O8$8k*#dLlF$L!(Okln8=w9seK$-7?lH-R@_9Ir>lE!RPfWDk-q$Mji zE2-r1JtNhk3NE_}k#Yu|NuKiBLE#pK^1xdKd2K}%cgDL`dfn3J_Qqj)bb2$Mk#=Ng z#!In7R{-0Z0Ks#3uW2G*{osz4Z?AMbdvmSa1OQ`{U`t7dmA5t_WGlj<+nEOP0S@$SA6>yR zxx+7mH{`g!!r|${be6j8YPi93+muQ;`B_I~MT!#Bkh7+4x2RhVl5R$?11-u{Pl+G_9KChv_{|NNdZA#mb!zBkqV3wTlo|rm)cdgYtz$3)y_}GX+Ttlm}GVJo&vwiG( z&?IfW@E+W09ADE?=mgJZ+O!zVN-Wa%O#3@(luT$@z0Kkl1%)}uV|9Rla=cl8Tz2$n z7(OJeFo_(;-rJe#^I3`0XLg5;mu+6w^1?l9dAJNNdPuDC3^SX<{RQ+b$QNY}kg#+8 z5+R*mJsR}nD~lP@1vSWaPJDKCTdRqt$pR&UE@qKP{sJEQz;7jQT=)*xzN|{b@xCW_ zmO)bHhfRHrc#L>Y2J9~Gm!YigylB>qC9pDs;HXt0#cwrIgWq@27DV}#urAh3fIhg1)=V{J-O7lhu zK>;%TxdiiS01;wI?}DJChB(UetM{fF`lADVVHOC{0R7dzqN8dqLHJtn(c9wLPch=d ztwjmXCcjAA1I&eMj+c^${EOY$anNLFJZrvJMNpjpBED`ByvJ#QnOV&1mMUOX`5qn<5rfOeJ8w|Kdi|k z)GU&BmpsR*Wiq)UE0BfpYob4Hom}BB1RxXSn+m1Urt8=3y9L80=c~X8y;hM?Yae=t z#=~1c!R3Z<_%wMTYkUlQrI{AE29L-54CwhagfJWwpvr1Yh8@QwoNDx`X-pE+R6q1D^-ZVX}I^Q>dW{fd!^21*mZYW^$ytdZa0 zPMel&X}+u4k5X&_u8MeWDzHMQN_dhrDbR0^s?DA#of&8iu)a?g^Imi72UaSAp zji7*DhIvXg3or~eX?L#!qV{=?G3I5hD@O((Q}<#iv}t}+dHZW)p=~Y3lEdAv6G~@I z2gH-*_V;1{3I_ADYNhYdV;lJb1o)SUXt zL|d9ns)ha&u2sQ$y&b6+ucm2D{aK5BI_L|PY*Qk8zTGP|1kIaj=28a~R${opj|oKBv@U1q1i4h1pAI%gd8A*l<>Bye1CzDbD3|*&bi(9weg0XYT+MZer!f2 z?0x0Lnv7x|a@s3XJqj}B4*0oP0M(R(W`4q?u@+om3n)@ubv*arobB0Nmie!M(BZO4igE~DBP`6?y z36Yb+L$8`>haupZ)PC1;d3->UlgU0SzwFLa%Dc7L0jw&ew<6hxi8P80#5e)e*I55e z^>*#Xy-@9>l_KDRoHwjL?(2{3{0P0)!&i7iT?v0YM5AX7dBzq zMgE4mqfS=?&?SO&op3jN)Y1J52{hV^_JS3*jB2WDkzMN8{#Tm^keja|wkvp({Jz^n zGKA-yI)KzSZ_d1l9P6(E0^#%cSF#ODM|AzXr;VAS)O;(1pGy`U+@Z%zyLmyj5C?-u zPIo=A*kDz8+B(mnB~PWqF?Dgv(IfOCSXBp6X|w90rU~mOx-l=;PB<=AA_m`@MIrS< zNVrTgOVYgC$XPRyn+6Fgd?Axbk>-;_o0I&O3Jhs;U<>W;afHDK@u03;j;{GF)L zSP*6Bvay|jv_txoKCFKZr*@^RCHNhl+hL`Q?i0AcX$kUBi7eWkfAoB~#H~2N$eN?( ze>ujpy2RRXX}r=eyT+lU{&;-nh6HdLl!Se);iw#1D?=$Ql^e5ss;`&gY^YXf63DOY zVwq}3w(n|Ib&D=fOo&ZMq;WgtoU6N07-CyPD${YaQwbTkGm(cmu&#?Y8vJ|0i=<5q z8Wr$==L$DP0vFtj?pv12S%&^V|3V+f7E8#Es-yh&F5A!ka_M(uiPEEoo>2~6=WjdP z@#VzuzPD30Rp9N6JSdyzO7@wE9cU_@PZ}?=sK>ocDqQ*cB7JentCksY8$aWl9=7>} z6skJsTQ&!{-u&E+caXooqq?}0UJ-icqxD0D;m7O|>n`c58HFs-_j5>jPqoo3Jzsrv z=^tg55>P7zJ~FWzfa#aH30;S;g1a+%`Id{;ZQLC4XjnkuS4+?1#8r!eICn9T$_`wP z{MvJi;1#3*lJ8afP1kK+a2;kQmn-0_dbPeIT5c&G{-Twtn z_yhTBbuu@{CA~9*EvM)G<$-JEY7-Sr%l)Uby3s5mJ-nf?%ff*2l4LMp>hz(=unm+8 zfDECh5R(_!6%sR!UVPb!Z4HBDU6x8S;pwP=9=OeznJ?uz>!UwOE9(}8c}@lytA9GI zrA+i{)vwJZD;SLkg@3H;{;CCoz{i4!mf@!0i1YRmYa;mU@ru7|B!J2YA(lPcP15Yp z1^mNEuw-8*()hnQfSNm}W|@4?UX-=qt#02w(?n zH||lg;mr7n$ zrtDU?GJ%+dSe)5nue)zjwUF_{)g7`9AZW^*DbO-jk03Enx^IbRJ+dMw;-gsP665H?vcA1@_@W_m<+l#eRn9pne7H%5^WZPV$T7hEFmJjVR{Y4=Alt6_`}Q zVJCE{?yn+gI$u{JSq4quI)}X%-LrhJH`D570kPmn-noQ{^pki8<|MqKR4(=TO(>H@Isr-BM~?$dxFAdT8&B}-eCI+`P^sXQ<7k!l zMZjY)ka#rdr8D?MSxLC14hVN2z(*UuxW+qk`KT7$0jt%YmL0VWQ|^^HH{-5E-V`x* zKMAM}%}u#KngiS!{>|D)frL^Wb%l;w=r|&5JqIs?xxr3 zLJ}tSCS|81BSPjo!5^v+14S8TmSpJujmlj|}OsIhNhOygo)Xlv5O5~Goad(1WPVY$jg4nfm587NyBM=X>puB*i>`&C{ZBQvczZ%xm2{tjwbn!V~-aYx2_Md^_;w)B+YLxKg3zPpJiW zJ})8BO0{~;foq;YeBiPiCBG1FCTD&wh4r_2?_)9tt1{5ZO;!F6mX(dO&6Sy?;62WG zqv<1u#L5i7%;4=4S|2OWfBmCh&A|IkRiaiCZkOM5j+bMX2$V*e)PJ{+z}yn3m4yGZ z2Uz1aN{tE+b}QrJ6)$I1nBQNu=&O*-9A@mOh_dG!D0>_*x4h~0HstGG72%;iEUE?R zco5|}{Fi@W6Wtg1uko6v#TGU_q>G&}E)d$C;aT@hz*73bf(>inQN2J1L|F&e#g|3< zlCS!hc(0Fsn@}H9wXGJ0lnHJ)4~j*8k}m-ew$!GU^G8vJU~L1a+uw4js!_Wy4ypW= zeKLp%9a?2V46KUxuLJue6Vu_ZNph}nD_36uG+aTls|X~9W$>#2ll=FKE(Pn;34XWm z$<{CG^ve*%xMZYw*GH!=>nCzf?Tj+^jsCnqZ18}O`#$rE&(srjA{C~;Zf*u77vHlo z_!A`dP9H8-C2OfT85xMFOF!b%ya@n&$(PMt&92V}r7PzFeyGl+{XV$^wa8R)UOA>E zR_1eAwkF-h&n%Qga z=D-b!Uw1<;Q!S_U5CN)2r2}|=AKG)Ot3*_z9MF?tj_B4!gicIDdySV{*WzFq8_Y8a zkNNWA>`ZF@!{J>1#^GAAedIqVEoehm`FbYVP0e*?l!F{zJKa4l^n+Rjuyza!p3^Ot z@n?ld7txWsGpFL_!_g0!bH7#o`3R3X&ib9H9W`ogxU-_1^$5jxm-TuD=C;0c@@za{jX zg7+;2-PlA&KzTeBeAlJ=J;WjDs_fKz$>9xUzD&uUirAs(5cz4DpyDpsPBiKc^IBkU zV~HK7M0hoV@<}Q`P?;xC8mwYTG9Fdy1|WyyMk}{!ZhfGRy`Cuuy;ceb zrcB}NrAH#o&sji;LUqtWxqah`w)1Xy0Ql@+QO~ru8OH|~yo~)IXJh5?qr99Jb;or;rqFj7M<}jiU=fellR2fN5ff??BL&Xj zA-i@9RdR53R|HcNAWl;77naDeT%tq0_ceGbd7zqTXHxXvy!_wz==BNkY?>X<6eVgd zO~B>y&JZkF%ogzaV{q^iX$2hmXOm8cW~b4&azbXy@3d=Fgznd9y}!TK@m$UYJ^9l3 zftv%!`#^e4;cy%!Gs^g$^+Ds$y|_mRiHc;QpsLb=PC?gcIPy3C+;i*p`E*5Atd&=G zv-WzWg*J`+Oy1FS%(L9DR;3#te1Q*N#H>U3egq|c_JM~6|2X^zGGBR+EaqpvcgZANViw9|nvz1RHeJ-M{&1NyD7R$3n9GPaX6?+x)2Jt; zDwDahM1$7F>JmR2^K7V0n7T#A^t|4ITydlm0jlT5y)Ru~%T!st^x2QfndPRzexLNX zC~lj7=WD%|W2T0jy8WO@NU;M4-;JWWPW8k|_>>e1JQ<%I4|Up` z!E=ftZdis%EF0+x#AMuR3U%3U-L5gO-i*{V<4mc`?g>eg-+2aYQ8iz$4TNP2%i2%$ zYkL+A{iw45 z^Y(y#7WrQ3^BfSdwxk%Tm=|xf43LvNh6XkjdVf$#qfgmHw|DB{K5*COCuSyPLN4lo zvgj`^-;t5!KaIA=xD(?$5_0d4E6JVfz2ah=Z=m16E34_noTBOTggVk!h=}x2AUqp{ z`t>(d$k~(ZuTQ^tq#o}vmR}wJ(ToT0mSz1p@IOBDe%GICQ>6>8CbxY#Gp%e! zU{&Pups&gUN@EsLETTR-9Z+85`dWcnSp>|yl{8Urx_f8E1@snJ(?|7<95sfV&HY@; z0SLJX)|5XpQjJ>LGVf@|q1z)l=5QtkOXLI8>y#k;CZQV9R&)v8&?N}Ij>=HgYg_$AO7x` zSn)b}6L2CBv_5en`{N(+NPrYUrYmn>{*Tt>wW`=%9vQU1|6eD(AGS~ZcKpn4^`|rb zZVty6l|Obx&kxM6R_kT4pE>bG;>)SJOvy!H`#L-70^)@d|L!gaPG9gp2MR#_{Xdfl zKt2EeA8*V(+Ema^x=J|+MI$~u$`3PI6G{<}znL9rIVR9%ThX>Rok2hGH^^=bZk`ox9|13Angy*0uQDRr%Rwj zp%H_W;U5W05>RxQI{z}3Msf>N8V?Q5J1PF(i5>r(SVx8$V_FxM8A3f+Z(V5L53-m` zyiet_p=m+uK%Om)$$qvyzn=RS`{{;ncX5n-=p`C1oP2SS?1jy4)SeWf9+{Cf?_e!)AH^#~iA z-~a{Zjh1|coS0JxAL&YB;lBKcvliUBv?$v_S3au09Nr2&Y75&N+`l|nxAn%m?j~&+ z8*0iZ*K>PWyPL8dL`+w){rr*~0Q8Wce!E`%_;)~Y2mE^rdAenq7Dg0Dc{^#C_vC>(YI1=q}2SwQV{psI;PPp>tipHlw;B}rojuz-0ZqXUl zy*rj)=kF>w%~Pkg{MOO1XS<}H)wH-}su`<`s-(0QJmpq%yR%O~4DK+W-28IC z1s|glgc(FtCUo-;($?!B`_xTqW5CMNM)gCeGv0Hj@RL@OtuL|ScB?n-S2$}j1@I&G z+V(nLF`xxM+g5*Tep?X}Y>C6z7RXyiArGU67CPnefuw~FRy9{|*69o%X$Uvl?7y#M zv({s5wIAmk_f2ejA*n|WL1DChAJ7g;_C#D8%SSuwmp3RtC!Hd13hTQkr$l#p zs}~H83DSsicm_1ChqTeG3>-Mz|K@YXdQb%=zTX0*eWz}IYVw=yuKHwa*)~E!vH{;M ztWdNMRGUlk;jseKmGl%4Q=1+?kN4&D!vFHsKhvxEmdD;aiR~U+p!5ksAh8wW`F%QO zo(>T-w6G(MAW%a0!KMD4TOBigyK|rm=!QWxWjlxMgRqywMTB2Cn*eKObs5C3!)VjX z=d3b6B4sE48X0J$Vy0SA$=YPfhjY@%3K=-}P1Sl=pGxB07PN1SLN}OyctM32)t&v5<5bAh?RjT0E>(Pd6>-xY(^5#8>95CN%&pq_ScdkBQF~6l zzbC1WP{&13Q|lz#NJRn6OR*eZFqxIMmtPf(yb-jPfup~(j|p&gQ{BXUnTx$Qy+ge? z0^`}N_yY1}IHiQy-MsTdO86gTX>E@Yx7nW!I z!*my%p+Tw#8^Lb=Iif`F(1iuvR3~Ss*FC5y=X2H1cVsrQR20L;%f_S^F^zw8kHonS z?;@tJ5B{R4&?eHBX&y})FE0soA7~G6Tm zu|KKt{?C}6oKd0?CV!nK%1Nj1{iT>kAEpg_xJQG#W~x><4Zd=8gu$utvXvb#oX$ef ze3r%uIf81}?AQHtCDhx{LRD_JVU~4@C^8hM+Ivjm@mvzN@Mj6b?RADUix-ROhPQB8 zMv52(cHU1gVGv}QbczFz6NA^>^U-@vc~wEmRdLIoIv9nT`z3x zBlZQ9JDiHKLVR)4o;!k>Ijk+E#S&1nDURd$dj{)GvoTJ59Q z+wI@-K+3S(--KpO^ZqG6fTobpnePU~HUCIHI!w=fuZ{M_X~8b?&COcC|Wvq&@nT zh+2RJ<>5a2&3E=VWia(VGHUngO+JraR=K6dRch87&83^PnX;{ScHg@K_7X+JLAfVb z4+m`P#fq$CD=B{O(x7ScSD(_u@+&4o*qwr~n?DaRK9WmJ4)Cg*qY6)+^K~!*RRfV( zG62#m0Y{GW1&dtxRrO9Lcz@KTQRX)TP8G#&u=P>)uhT;eiSSjBC&8+l_}Te$;DPx* zmfhn%+oko}=eVRcjs*T1J5DIMr_`TKdA#AWtO;WE!C>BaHq94VBAohieiT`OTE#Xt z{iIg{Wn;p>Q17^{R$tsFg-$%|vuQb-rdB1#rSs_9JeJ?HwRI}x2p>4HLo47A)U&?J zsQFp0tzu1?*S{#h;My>0pqbd$>CmU%!sHzlCL+-lwx* z|5H;~p2O}*#Z#pF`?fB?l2Gk&phH9}w8hjhk!{ z1mb+PPO5(7VAa8oHw_m8hc78j5v|=d{dGc;DNIf7YsQAM;ul6vyy*yKO;btjlu_PK zL-j_8Y|PIG>BTW>CIVwWpd9F_d3_2zQ1}dwLT&0Wgt8?f9Zzc515bac`-fYnUiA6_sy9=(&>ewm&?w8 zCG(l>GD?qB1-F>~Df~Xz`o22{wypsbi1(%)qO!v$VsW2$!UU{R-=A=t_?5!35G##v zCoP9h)pQb_iwCAsg5J)DaGtg2;yMGSEu-7s4E9T?5tMPP(ipi5ZRp}TjwC1D*SNE~ zVvyBbhRZ{DHt$!J#@I$i@wPM2jTh$x+(=B06ic$A0QDzt2-nFA_Zi>v>B_LvtwXW< z7}*fqL19X;m@eKw=Y>lF&Xab`(E8}FCo*Qlhce3e*>h(VAD5hkd}MCe5|7=&>)uEN zqM>=S-c49A*yero(;e*lWTy|2%d!{Fvexl)uz&k@?gunp(X>KR_(YPgDEDLM^~}OI z&)w1$IqmKA;$k{Wc61-Uw=&U|kvIug^#n{RSC!X?9lWZA^E7dO=@Wl72R4Yoz!4_jTmT-1eX0x86OE+Pk29O}9%cEpevK6aJYdda3aD;=Cp=$HjF^_6GZ}pX5Z@OfRC_8-jsB zz(_?%;m4}={@GFf{o+SoA^W{!y%T94wf>1GhU?5F(R4F@2^2p_0Z`;wDN8Uq<=;qW zukS~CEsYFb8B~8(wFB(%6fWJYz5*|^?ee;B7qct&SheqJYqW{6OhC?xo&4+q*zFzu|rpmK}< zZ%w7|=WKCWu}_y|iFF(zt7FSqlP^I`EgPNJPUYM<4H}kU+OxiJ4H;u=f)jXpkKhoM zh;kA>FX(!GGQHiGky+8?64G>q$Cw=Ka4#Y_t`K3x;TFzhNgsR3l4L0bHhbDuQNm=( zc#v}vj*+{k|BtsLBltY}6`L`ENT``SMITrvncRj<%)i(*Y{vs$G575ySnUt%ojk^c zS5kci*x&M01rn6m<6>7K>2QA=Ic3x4n_;E_=y)NI0nyVR_$^pKOS4I@>+x9%?+kEn{^8zR}KE&D3U6!8o z{li(-R3>4aO`6?_KuZj`Z_gcc0)=qAcv<}5k#vjM!K2X9;s7INT^W)7;Gg~)?8xN8 zf?yQnvy5IF`uin}NUABnr2HZ(bk*%*8~Pg}vB7uV<4bUw&9r_-(8m5)kBF#7${0h3 z@7B_{Wa&towZ`vK>Vi&flC@Vj-LLQ5#@Sp6|L4onIx-xcZ+ToS7MV>>pW;N_O!`ZO zme_6h<7t-a21j`)ZMTivk#>C8zaXAo_0;)`q0!r`4&*t%IZ*lLGZg5G?wb4UWuO$d zHka86AdTeY@V0t%O}<9JY`X^hed7bzBIxkKtcVMPcY@5Kn`ckQQSQ;63Ny=2HJwM7 z#e^7dE7!W&UZaoDm4kHO!!+NJoaqZk)3!}R`eZw-c#npA^0;3K_8Lto8v1q=LOaf* z4;B51QXO~RMP3Ia1ZKm{EI`N)204WA_~a3+VmEcg9QarYzP@^2{F2H3%5+FrGla^1 zIsKy40|jDR&_-7B{}#jxXTi4jR-ZOU&1=3!Gc$SYn;U5O0Pmj|>i>f!HCOxM$#ki1!hIQpQ<+$HumxVpQMRPLU;4Gcg^)OL>GY{r4^kI~iXuL2 z1drs|iWzel9kN7~-g@L8HWd(k_HroYzKw#O#wB0VGxnwHOly7-?jq@P-hJz>zX*01 z1jzp3?m|W?vf~2UJwSxW74tEmG1N~RYWf|tLo^c=p6}N_mh!@+%FchhTL0+MarXO1 zc1=$>*ZqY2&9>)6q3ii8$74rQb9wxADI ziVKldzANR`J?EPjLbnmfB_C^-Z9ftID=I##?AUp)$HgLbF12_@Ui_0 zc=wgM<_4#v`ktqvrKue=U9fwT8eiz_(*oFk1D|6fYRG_w1~Eel=g*wJc*nYud8*36 z`Nqe1Z6?qi#z*NQm6N2g;l5&rmCL50!u?^6_i{E}s@C?1aeN-I)&jYAPUXIdeei~+ zdVZ+yVTG6U9YV&fRCrY1QX~e;I7%Cz$qI7$CTC}JqlpdO(#>oCY_HOa5zK$a@eJ}4 zT`z1*;9bY$jm-aMAlX*oQhMhp_~aY24{zTzs&N@0E|^MBS#mGZu-QB0$EQJi%W>=3 zXTYX5pjJx1-JL2nA&Cmf4fBUG>Yv1WMJ!n?wPhS0uR7#+`f7D{$kbH~1r-;v_?9x+ z$$0iXap-<2_IZ>;WabQ5H&q~^c*3#N^2|vtUDA_#lLkslyCt^ts^5@YD8k*>4?<#3 zAJm7}$)u#6VbmPFr*oz;c&(=0ZFwN5fq1C!mM2dy-GeZG&ilkN;}YF(>P_A{TQHHk z=nYMgmgsMyts(4r77e;x~zyYm4HAzHBhM?Yg1|9qVP+%5!T$C zHNwJxt@NvxS1w4iJ>9%7(Ge?OwWkhM&e@ltw%Q=4#7wq`QR5qfp`>p?Az>)@HoG?W zTxkIU{bAm1-}Y+; zA9Y@{HP3s0ga6c!;&YtTt!4rLU@5D*yn06f-9ghO-aW8t6$uE~IL$?pLiCT&Dt4;- zE$KD=ImBb_(+y$LS%G7(zo=VPJrbBc+vLv_*&O$ZcKS3$48s2QC@4wIy;726*0={AkQvt(23&X+v*cMuvzJrGNuKMl6FD>td^#g?CI zNDC;Bk1Ebs;j}k5=a<$Hk>%a9QtDXp`i~j-t|7a63b8s;jLRF3Wad*sDdzD|mU({v zIBCFQ>3Z9Fn1es$1CEYoC#nZZ_#N z(sFE;dhK5v{eIlpWPKTgnS=J)QRj=xcNLWHyY6GZgNV8N0oIaM$oudAJLNx6KIPx! z{->Pch&_d1Z$|weLL=P_fP^QH{@EM-IsE;*aGU%04e9?bcIL7uCjg}ShW&Ta`)6dU zbY%FdsQ--4pTp7bHQ!D}&)NKI#tj_NlRS^sA{_rWAn(}h?UMlT|NpI9iQRIb0w`*b zbAOMCDk<)~`We{^Ec|=7JRNSW@OAGrvZ`&Hk$>c$+dekG=?pY{2OO)^yOP*_h(#^i zYi|3>tu>+HayFxg@;cy)YeeMXcHi^_2_i66E z*$^UOR@DY|y!3FQ!r$I0^!QMli@z%5@mT1)mgOK9Q0U7wp8fqpzh!1c+;1_C(d3IZ z3T67=;K6IFN!R%D+atKFQqwXr6fsZsGjDt0NWIGd=;=eg;XBCC-HT-FD&Rm5s8R{J zj26KnKwx+L&eJVgyy(+=al}aJoPXem*woTF@@_&gwnDA>*J*?zHqi3D`1cRFP+7}< zLq8dx0y)XHICJCSmmQI&zv;50SXjL|B`qr2Cr&bg^K_v$NB6D$(%}BpL!`;c@q~m- zwjnJUAWwM)P6*fiL6`x8NIL$zpX@-DUlwh}AqCb5K0qHHf(9FZMX!gK?TYB#8VL=^ z1^GVS5EDVV8wnU(x{`2ziu+>b8SuE@Lm7^RHsBG84052c7JLfcs86Q43h50=nhBz96=!~HO>OHY%xp9$^ESs_t-#Q&$H!-h8i%l) z1|=wOG!<|1GJ=n8vZEs-PJ!4Rh8e;8U)+cCtShQutQ#tNKt01Ep!8{du33?Ig|cyE zTLSXQ343{MrUs92pK@cUwloR-AoPbpsdE~1HeaiPw^Ci|0(Zn(7m^2Amcp=glvrRj zKAJ*b6mm>#sZk4Zqd130{@xheaT^Hp_sg;ELam1ek^QKx+##0Ty&K37s#3EU zELuNFH2oy%LoeYo9RWKHqC$@tSd5U7yAEG;d3~)gF3H!*iR%~;5(^rKZ9h}n#NQuv z4IBcFAGM@LV zVpd$Njzlm2I@?m{ol}UWbsIgI1>WHguZ+dAe@L&11zZDS=Cdum|C=iB;g+g8`gI}Jb56*24vNg&2Q8AbuKAD((#ZH@w$J=%Ra+Ts#|Nfs*P8l4w&aPF0(Fu>brmeVUff;=U6PZm@1K!3-(& zw9F1@Y+U|O z-DsSRdduOwUa8*BW4U*k`d;YqhHdgo>028Fv}DlwUZ1tXDs68d%icHDeT6%prB<_K zMM_PlHA6z^oQ1~R$8Mo2;qO~w=2l!?(<)?@>~_2} za8D`S+u0QTIeW)m?4hYKFU(7CV0E`WkT*zcGLUd&Na9N3DzR!{w;svr@tSrjIX{NE zw@LfvVb~jH?8p<)ZeJ+%wcl5roHs58STMZ|H)nv=> zb}Y1@4-T>iTl8z`E{Uba?RmtWk-a{GnQ}qQ^msSY4W;E1WP!hC7LH^2|I@7|Jty|Tk_0+|=cb#(K zVQqL@OLnNHNjVbSE#ztn!Zgy#&q)2AsF4$Z&h@Jv?5u`u-@NYM5f*B`7Ib8}roZ;G zv*-EE4XHVHR*-o!r(sG?m4v_z)LI=Cv%Bi@-KCy54H3l?yfymiFp=3La!Z(b?3?q` zX)`wjJn6^ZlP@n2TgTn;zfPTY-_Fm zXW8Anu5@GUQWVKU?0GXV_($MxIy)d7o!9pIR5x^Pxr>uGcwuTauy&l2DP(UFH-s&X zL1uM-V%i-lcWunFy6Wkx+VD>(A%-Id+g+Lk-b$vqEuKdVzvQDsgY^RFbc~9Q>5qkT zmr{8hd%B}%!noreM=NnVgRRyDEhK+ire5PP`Wup9TlI^@m;eePW^QOmiO$gxxcwU#`A?B~E%g38< z>QMs6as}F7+oZkIfrfBwJ~iGeMmixk+OVvPnc z2TT6X10Ghamux8yFW+8FI8Zc|W{#TLeMITH z;o(hxTKV=8uC8Aj%%|RJrqrln=AH=?OJoW=?`KuQQ0}+Gnwi*d$Uo@NegaU9O&eEM zZJm~yn{e*Ik@fGvko|PDV=oOwn396W9bx!(@>R;ZQ5j5zk3=2{i@5(cnTeLU=CxJt zne2p-LArieI4^dg@1B#J7jt6xI>~%(Ie2^tV=+!PMRn{;>e(B?G<^8L{A1b;R3?EH zGyb%e#R%hKl zzpkmj1_6BAg-U_$tCoSKhHX3JAy&D9?L3>Z_zUfV$jD$hw^d-yvHVXL!4c{Tot?ph zMC)wbeQwP4dk>}+o4599l&D10nx0M_o;|!Nr4o?hUO@d;E~-q@(Ybz{9`)|(cuKlm z5_sGmkfr%%Bn|Ej<{fslmfZ=j6J8ur$=*|@Uxcn#vNco2voWN3;hiFy+Yg4Me(Ofv zH8+NuW)Vb|;?<73FpuLrB8C6--L~Pe}~O z;qz_(D@QypJ%1QlgIWgbth?BBt%PRI0#V7o3|+a^ytD58lU8se;}*|RBQn$ZV-DepE`uW!r{Lo)c} zj)TIxoyg*Y`_ZX1TjJARq`Yf#PD+`bY2m(aI(mv;?aEP7UQuBl2NXvA^ES+C>njYlROyahd#BZ(Zn~9PBqKikjNf zw$A)*908)#^<$zDj5N)vW~!riZ*4C0&J55Cm*BDLyDpezE&rQ*c>GOg%b2bSSNKuP z*AC18Ewy>i+|2RK&VCb)@TWJNX#>w!R9=2Lrf*HD+vsM%kUWIcb1|B}+_AF4BITYn z7UI-hF=^h;7H!lry;Lvq_}rg?*1vyB)|vmP;_mZy2+%wBw1qW$UeAr!R&C60rsB)y z7a^3*ho>F9k1rbm$1Qe^0MlyShE>Kpbe_pWSHD&G3RJy=X6Gy^}R zAF24=dOPQ#wfaJH(3+6Kz37k?qTxMQgv|tjR-S_ng_%4;H(Z6dM9jvD+!8uxVXV7D zw;*p1`})TpUHbfyxK;SUNQeksYJ~h3}s+1sG6MHB>++{8lL8dw1%wJRw~w z*p|dee1$kyBnV4QctGa7EBDvK6a$_HW~nI*qNHhS=KI*Mz-p!I@H0bFxFj*M{$abl z47JJi^E#=i@xnjze!2;hm;NSUyYBaIFf$pHmh8EXh|rpWoPSFN;mFTbb5!b1AE45$ zuR>gVbKJShD?~YUWA1t-HXY$2M3J9u{5swt*6dR8VK&OFLpq(v5`7}2XnfY>B~^m4 zUYrU(yTdLR#je_^IXv!GCJ0;HAM(@Qi3c7Oc@<)j>VdRWaqK8{*XjD&>5P1()%E;2 z+~J@$)niGGuSvh|8Ph-Q;U-EMFYYdL@MNQExvQn{JKuLePtxY{iBw#~MK8vQv%Mo= z>**uJ@=@Z>;zt9fW`)Wy9`z(J0cRE#&#x&p2S~&J0Cu>YTr*6R=KsQQQ0?<2S@-0<{zFT1$lIAPZ7MuJZ<4}&?2%^2s6BLo_-Zl(JbTm zqAJcKpA`O@AT;yqJ$kFjOhEin=MR1=q1+p&_ug4>UkQN3TX*Su!V_EjM@Gio_lvhF zm5g{+sP$6yCazT1nN_wcZIp$PxhVmxX2v-E<~QW6=umrEvFl?)(ZP}v{ueWY|+<^eK0^CP;=fjiZMOal^ zpsCr!3lJ;B%wYUKmFmY;>bR`Z`U}c54$xY)0s)3o(bD-(nUu~OITni@xuap=?zg?8 zOH5k#U!Zx!BNJ!MR6)B8(trI7kaR|NC7|&*?JNEPqX9X$u0p&v#sPZ7>qie*d=Qrc zmc+evTYOMQ-K+)buoa#ueB^y7|8-5xoM34|32~ijy#+i+;(#13Ln5t18De2e5?-K zR~hJE24>#@!~)*fJCR^UgpaXT-V0EGV<4HhyE82PE0d$ml|B$D+`9f@vMMM*F7B>_v zIIPEa$;aihLwu>9Z0D6}?74Et^APVM^X=mvGzCY<*wf&%t~?Dcm>>UdA-UbQfj;x1 zfXImHH}4a8AmJ}(-fiDNb=ztz{VD9DAid_kH`isHZhZ|R+LqF^Xwgsn82a4}3t=uy zvnxt#_O<<74qi%cDY8kUE|GJ(54$xMc0Vo(Jiho5CArc53|{q_Fk#w;Zt#d0`Pja#d=kHtE-1DNwherr!oyy>fbsedkd+ z$Vq%G1bLgTDOPgrVnNnHO-=Y#;Ze=^;F@iy`e}1rKPua0e}rh=J@`rh?<);RDRH;X zaFHh?Mpg2&{qZ73XCf@-VukDp>Fzh zYo&mV9mFL;B`rB1BbQzO+z%`tv!k-SB!l zo3+K^54M-}S(T{~pQPwffdL<oRkMR{U{hO$l)kqZ1|xI$b0| z*EL)1VG6&2BSkfPBBPnbzYw)7Z-os}@4mp1x`Pwa!Q+tiwbub|ts9MPrS%6nt07o) zM7O-tfQ+6|hjSDcjQ(p^+T52bSEl8HJ}Jn4$#k>Wuo$yNM2wUlPx1oQCt}`-JPPFW zwAyTP)YU&+l($TIpPH4T1W>I3bqD&av~5D>ZmVR^TkVGGSvA^9RS|RXO)p+!fU68l z&*f1y$vZP3u>AGQD;oIR5j#?KtSEoNqXi6JzWb?T)@B$zAG$GMq6R=4k@gqSv}$bK zOaE@Q9U_a>lJDz;dDdt(|I?sP0%?8tDxgf|wxai@_q65v4U%~+sjo{#+)e|J7vbW+ zgVkoKfB(eg!oX^+PqLqwTyuq1Of_}{Nik4&Froq3^<&Jk{ofO2V3I4g4M_fB-kwXX6_IX8)sxC#1-p4?_%!g z`@D$X_6tLHJ=R{d&Vybp+iEEqrh*hcOQ5sWv{x>0H-WO)V`;nTyk6!gP)1j_4dw$064={Sp9<~`(f4$+%ne6Pt6hEDfIcNdkR)W}qu6{OEqg%DD7a7? zaY_E1IqrizMv*lV3<)DS$8CMqlE^4Lfa7bpQ2D#;)ST^)J_5@luM#EmeEeI-UkcYi zhRc<)0X}+6$l_NrUZM+|U1Gg%D+1a76t8L>`Jz-;C9uKNJ+voQS73ctKk%t;w<|mH z1>yvskb6(=|Iq|mXTbe8A;+B?(^%s75UYlU3REPf3gB#}QkwM`P)OfSu@D>w`TX8h z7qOIU$F0*bTVLde0``|rQjpuO#k4~5LTy5y4y&&6vbyIT%oM)PZNaa?zauQ>+ZMm@`>WQ6DhV3Z z3Sd+~4$;Z*Q>h-|C1^J|!jc zDV$>CzFII)e*X;HxKGCS+`7p#{y9|Z**V|bxGni_S2k_MrOyA1-Xd8OJ}!Da zmo9C?e&fGy;z~O4i?yB^lkhKUvhS1gVSj*=7k8OTsJz#Q>jH?3QxUkK4Mtm=6kg=* z%mhr)E#ggKYjk~nzdxVbFAhwX%m?IMy_xDW(lIq(4jk_`a&w;u_`9$99F|euQ}wp^ zUIx%<_h4i9Y75j}eP;DG-woqjlyfhxQmb?kG~+P7YFqj`a(6B-&y`&<_OwZ z{P9*}aNB2}>Xke0)Mf5W0a34@GgUH8K~ph%((==EKOI7B{a*Wy3J6T1kNI<@?VP5o+&UEiXWh|x644IG%XZ#*iaGM%xG&4@)p zpwWFY%V+aAL8rly=k7nmetgfm-mDfpUDv|KL`2<&+pC5VB{wv#QL`#=MnBNZ*Xbmc z8Hq&uLB>>i*WPnn>W;hDYJO##*FJpbtg37*!!$9~wACd7-7h>vhDa+U4L(Z2e(4H` z@wFWZ`1)n7*lOg%`_R;S4qGP`xdFL*pO~%v^o+qapBb+)*YHq-17~=xIGPUGr%p^{ ze!ivVP1y9=E?*lVVB*)H44(Xa)Dj(HY6z871MK z)afQy8yChGi?zXa0!0|qZ2V%?gHUHmal4^gwu5(rY>sSldcBT0JL)SeDYf^xtExZV z@Z%4OX0qS70yTG8)?ItP(#V$OC@?kmMG#S2>eBh7neO;mN%A*;h0?cf*iTbJKV8Io zjVZmIRpZuXkcq&NMiP^)?5Pl10}!n5%BcQ#4Cz z_H1TavtC%+P1h?&`Uk8HjI5=Ys5 z?_bcy{nPyyyG(SV6sAw0%UVqjM76+p_tP%~@HY^KqoI!+T0{ii`|&?92DF&UqtN|B zQntmF`{h}51=qs-1@WDmH>^T?hJXjUcyQSPdW#*4YRbyk?fYDIHr6Npz0PBEe-|zz zda9-c5#GX9+kfdnWa@n!A-4hmX!RM8m(BK#rSd!P%Ap_K;=+E!@3 z%!mmv=|2)kE${#MS+(BEvx;MiEIopBDXC}~`r;M^a{v~pz9RF~ud5uVQRn7InRv{p z8)0L;UP{_~Lk6j}2Asma%|yx`PqzO(!A;kTAOIg*b?XtqXBR&gaP~Xo=%uA`h{r6- zrGLt+*O4pXk`@SY_}=;D>~gJ?B%lGh5WDGx0(!W+H>JO`0~($H{lIfCakrI|at0k~ z9t2=3GX!<}0`k&oz-OK`>or*V_c2GvsfN`t5q*ACf}5cd9*}hN_xKzKKt2}NIA>xH zmga~Fl7PtQ{BMKQZH@~3VX04U>v0GccnsWy!EV?`$>m{E=?Z5^;wVgwK~F8$f2k3d zfY=|-O@s<--q3RoNLd*fJUtt^Ejc&k9lmQ))Fp*u6~v12 z@172XL;+9D!(mK4{OuRRo^C-_o`JZn=ofndsYE(+)kfGLoQ(ClodIJ@E?daN0IpXR z@1SWV_u)b@zZZCRwsK5tUg&yYm6}VWptVnoC!YMD&U!KakWrGf*5l8I!1T(DjAiOO zTbpt%oB%M=Kp`bkoJ!P)(>p1CjKdNcE5o=lKhUxgRnt8cx=fggl z)xEZykc~*_l^|{v1ff}$Ei$Pr#N8W9#%ptfk4?RgYFN-y>6QcM%^nj0%|Fhm(o3I* z-nuA{FBiH_13*sx?kVa!sD-Yol-;6|-@m`mpd3fzNpG4UGykQ9$HZ$etl9P`H^m*La+{8nkVTnQZt5lDyH^B73uiMQUbdSB+{g$iW#ISLJtUdCPKL3i*iwRKGp| zsD4-ce7O#Js_rPrZieG#*<^M-VuJoQI}4Si3*+4`DP z1>*J%(3&)@c2UJ=J}|@laziX^hWgxnK(8Z5`ccIHE3dNKi_*uw{3pX~GS|`tEbG97 zKfGwmXD56H&Kq#qxELw<1j};~T}+DHfswgqo^WSNYV{$&?MwQ_odksm23~PXK$@KtVy{Wa-OS zCY+Yd@66JOlX+tbfybO%1&pjNAFN^W3w57LT(q5k1`_p1a3qr|KPEhi^Z$I4ER2?EDqVm zzHUN^Ydc5jri6gjK)Ak31qY_3;5leP{u~z`|7-ocOCzfq5NF?}a~I(I=6(+^G%%5L z4|Y`8>}zG%8(UR#coE<*->lJm$jIQW4MHr|$pnNHD8wjL5@2A-@AfHp-=)T7_%~zA zY~oy0&+?V*7zKMMx~}T%BUa~*^LYYsTi2s%t8ib0mb9eRoj^pV2$m0|vlh+Cf9gPl z2X*h3SpE!ASW;JDai$PK;iFby&}Dbuqf{J020wt^`1^YR1;Hwa1pJQKVbA#mUmghH zci&xBXyQc7$lfwn>}NpVl}V_h6%(r7w#k_i*;zl%}7H8B^_rFS5E&YrH@d|ztIRP0xy<&fDKqU~~o)4F^8VwB&PY(j~Le~7Jv zxa~2D^+Z-}%gFk5{m!bxj>Q>HDjYf_*d0)7a$D5IdTW_tc-~LQ<1g{(dU(|9=lzOl zo{-gaUG67c!klV1SGUUWffao1CR3C8`XkXH3@g~2K_9eVaEv)?TU?l|InvYb%rZJ# zzBQ49b&|!`a@%FMvU*l(Bl~^Yq2b~`!2xyu9US0@svx>K+4IAWxV<0rc=Ztoa@Y{o zRhvcn#ILz$r=u;NG9O9dvBKFS0q$!?tVr@gdv$=d3}rX_SBl&~j?%;naQG<9s>y+`i7QFOAbe z>Ipu~(J>_V;d1B-aZ5Jgfrm(MNwUu4W|4|^hk1dGL159&R6O}Eidf6n{K|`WZnret z%#f={GEr+4-OpT4w#lg4$uN`~c9}-V*wy^cEe4!$AMZgnROmdAL#coO4bWo$I#e+n z;P$?)Om8VQp+*iplM`;WdF@k{&kRBM;8%C=#?n{@2mP84mAAYMZ0O|y5T4)Dx%Ky$ zCG-b~Vg}^KT)3N#S2URNKZxQ0aRaIN2rp8EL|GFK6<``O@Qj&>>OEbjL&1^QTZ_WgusQ8U_WbRb54GNzGH2l2@ zInzl|+S(541svrRM_4~bjJXh6eI_3@No;=`%9nD^TW+240HYhFntM_JxZ!IyzI0v0 zZGouFyS`kL42~9sN^C3f06W-Kbddni+V!Ny{cOX>nF?|z zkTxd~xzNaDK6-MJB3QwWDmjPv?Pmv?Znsxeuk5b9cbd3ICLW+34v$(=nCfc9y zf62r}yaNfQ=3DKP^_L5B_X*0AYW1EKPeFpx71Xixk(DphK>;?4znhm8ScM*l9eVE; zQQ77mUG{ji&LNX%pC!8Wyy_s@)$ZMM$JPLR!!J%)#N99Ra_8+0x(tn)OILmHIED;i zKTq8}FeCZFdH0@cQ0w`2N?9{@3w+-!Skvs$HK-|CDSNxprEw+u>P{jkSDHP@#rg%P zV_jGks3ZOqy|lfI%20||{7))RMR{Os2g$iSa+!1mIBAabp-v!r!7aM3{wQF^`%uoU zVKogCloJr_6@p3FpZ9gh;2&qGvNZpVSW27TWcIzTd3VF7vlIqqeD5?#OAzXOq-#nI z=j%BRvkmqPY%v$t`r5e5zG-nXAH^|t0|j8u1X_Y?9+Q=xEpIJgUn{!xO9sA^->1ZC9L`+%QY0#nSK z{e&1;*BWZnKp%S5y7T0IK2BD%XX}i7+ryt^S8kS!hJ&mvE-U$2O)bmiix9Ks!rpI`tW8k@5}gV zFk_lM-kOmi-E_^wQ{fMFHz`~O-{P}!aTkVx0laLPi_uvyrtlU6>Z$XIOuiX4!;dXx zX`wIu@z zG@z5OLq6Dxyvh}iW5FPPgjWvj3h}@S2V^qI;Pq1O2^faN{Foc4A`xs>++!eUz&0Hf zihtRvAOJIbkjQ8fe3wl850OjkYXazVV}(i`cWIP=L_JI)@Ka?9K;$sjfhDim-yG!H zIYCm1XyokHDiE+W$0qCKNNsm+O7o8=RtJ6_$9T8juj$z=&H7 z4CK&kZe{wKGr)s?AK+I_9Zvt2XQzf&$J|6sn*Vu9b*wAPgRgo?=6w!#rqf7(w4tD@ z3?V`h50-bKEZC%Ld+h9al!RTZA5TBb&lc}4N6W_-=ZBY+BwyXhGHGWa-0Wv4`1fHAi zZRx#c%5>|!{nnI8=IdM!krsWm%nNVWJ(vcF6;PK6Ej`x?zh9u)7B^`Voc{AQ_$8rS z6=2io5n&MXvXgA+OUm+C<&WaHmOqUA*2yAwcv%c`}uIikBt79b$V_fCYg~ zpc#XLk|8mRV>D7UONNGR)LW;guNXoFNMtgL(n8a!<`*YELQUBKgkWyONo?dFRP2KI zcBFy;v(|She%+0?j{)g~tI!8`>dMvrP^{_Z$SCmC#n0#JP2e>DP2jSR9zApQd-b~~ z=*kE_SDrZxhs|yEbA)El9-n*KY)Ri&ItL`o(YJ8N4)}qOHFvk(?&lQxW&tAmB~x3=1+KT(62?HuWuKC$66txs$EC7jjx*jPv zgR0FcaV=X!kg42f2K{9e%CRr8Ij<%DXsj{Hz7B+(=?PCppIe|!w&<~_5VXJcG4M8mhrC1`8ek`6-w zQ-(z@U*5l{1?5G~#4}QH*^*P8jA&_JyQ(aChHP*VkQCz|M^?J5_3CvvX) zq9aJo^=_h&e2ig-7ceYsF>y0C#d##6gSM{k(1Fk84qcZ`2tbdLrx;kVqsh{Co;IF$ zeRH7h+yRDT@vYF)-AOyCnNMZG*4n~G430s7fy6K1PwSiIatolj;e&cZdssG@*sVrA zrm_JInqjXa+aYAPPB|r?xDbT?HWcdwB*_6uFRR4JbXYAHkm55dWngI>o#6NR5bKw@ zjWYrJJ&{GwA`CL6K(4h+yU4H1tr?1cTVsGjPL;Ds)9P+fJQ#v`agjC_WErby4w`1! z%l4@|E9W>B%9XvH$PBSs9GkDPQSMzHiqcLdo?Q$Z=n9W>V8r|exUZO0*R~{5JDG737x>y!kjxFT z3*(=?I0W_c!iR|)HPChSdQH38CD+3WDRI5z)4!JyvHWNDO}FVX4fUyu+HH|gI#xPB z)Mq$YAUpYy{rvicnei-`F;;NTlVta9qf4*huM>mA$xEDjkATeph*qmR9hm0q?0kYL zh_2qf0BPFiPCS<7MgurGe@W>G@iKAFE1JsqEO=3NQ(af^ z_>VK6IxQ=L_4;1+E>?u?G??^?Aj8?C)xW>1eXz4h7QtOLI;8Mj_BAF{i)gbs2>!^f zs>z4~ddL*B9liQZkvMu;Cb3B`GuH<@!BEx=ierwN(9r_1CW=jw+UTG+Q@!a(;(TPc zm%lEZ=lFH>lT2*8)?r)c@~G<^bNmOqJGG+UI+;Na9>LN2OkTsZ_2HKPsR9cS7|J72)Kt^w~NzPP|n4# zOgy})h+I5W>nygGEzmS6nwX}uww0MrRbqvju(_A&y{m&B5d0#BY*yb62Ekde0r*f6 zxR)6%L`LD*M!6;4-G+r@F`MvOtX-<5CRn9qFJ(uIsB=}&RVmsI?O--8usQST`$6A@_l!L`xZLqm&_!s6*L+Qu+IPIr z*fO2Uj_=c3qg<1J;&tEDh^>-}BY&U-T`tVG0bZ96#N2CRwj>zTCF|yuGNLfUk+g(_ zEg+ZH#^%vaG2FM-q<=rTEyJ4)mJB-HGasF*v{qR@P?K1|$f`t3S8CnTi(U-)17bA0 ze~SUg59&PJ-iFE5JFYUI*B*)ph+cGwB)pg!rXq-Y0C7$OO<6A)YtP ze|D0DfmGEhz(9UcX}}l!1Oac3edzrKW2L1d3`7*NzmTolZXZS=DVCR4t05cGJdqb~ z1l}E;qy(U){|{a8|F;bJAvKjirWU&QYtFAkAdI&fU+<7>mU>PEwt|FCM9YPv{sej9 zsCNsWMEJPZdCwl>lGK_0_5>gf?u@M}$z5CjSe)iI&e)8wUH)=ZPC_9+z#ja!3h6ea zpxb>0b+2i)^@&!xuola0|Lt`d$2Fn{vJokqwM3gb=VRDfXSyoeD3cSEDldAfBN$&a{V6%{W9R7Pv|_6ZQS{W zj2o3(+2f_EXg*V`_%vA+OzcxPT!?@DE;;~cq3Ca4bH_BJO3GU#0|50H8VG<)LZ+#m z0!IGj#eBD>GSib0eD5d@>5)yXmRC6Yp3g`pb4S#@lvsoJcbQ*Eu5JbEcbyG%c7yza z7P{3oHi@*d%w;}?*A<+?0c@$l_NSZg(O65JQi@7Wk|ke`=d(p;NPot3aiGi0UeOJ6 z>K~n=l6>~Bu`NN*K3rcbF7ELqRM<#-X#M~Jyx0!8L4+aF2Q5hfyK&ZUhItHjpwf%) zofs@1{ZyB|`KYcHVQWsV2+Dz)rn=vG*oJG$kfM%OHN42NwAYt-nZk5#vHat!mnH>hlo3kh9yReKmvh!7??nq&MJsJu>;KSfeV0i(^Jye zO2&3>OU)POgJj|(ksn-pFP9wJ9H6kW%fIl$AT)tpH=kt!J9;pk`n$YemFp@bSrY`8 z4q1B4bgz|)3BOlvtyjq!MISXFsuUB1Xo9NnHzDR8tdkN~Gx>@lT$VZ4r z+v2@4c?t3WiFi`Xgo0pv`xMWH32BQ5b_}e1+#NL$w!R{?*Liy)e_cTFIr{)A!afE- zn?+r|>2218ih@b^6tsalRYwgIK=#4FbxyyFa+sL&O^vI}j4CW=cP$rK{_%0$zDSM; z8SE>veE5yE4A{i$(jBI|r&0@O@YcS-{$$6Yn&wOw8;ivu)j7=g+i?60C|-sFPFUfV zrj=;Idq)F2Fxq!Kftre9SZ{B?yps`EZ}R5%gL+!uyVrk@10fy9PJr-?kODISnrxbs zZ!F`!O}tmoYrM6-F^IeFGMf|Ig!RCzbQ+WW8~RL%p_$}>^k!WqC|dni?ihj97Rqv8 zHvh@2A`B_GIoerp)L>hY*aRF}73Tt_Rgr0#(Hxy4T(rIA4`lGkVHAR?8el@lj?mtx zXN5-t7FKfS1(8*X--CgZwD+>QP#x2Rm~96_BA&Pp93Ku?hE=QLo*I~qw}m*>sB3_x zC#ugr4t%lC_W2z0Cj&#b3HY7zKbdA36w2VAXglvJx#xZub-}4#Eub=MXoiq zaMvplzeDs|qgY&!uQFJ4tDsdW^`Qb`r{_dl;$|@=WOVEzg`k?PrzBy#)?>X$HS74< zk?ozf`qXCQS+SqQ29YBPcBpA~UA|lEFl46lz@w}_MBNZnz}CA_S@lLa;{kox&a<4t zk>XfUI4N9%7k1eaER-!#Q7K7rFlX7ZCj^L)$D3{B+l0lz%mku`%6U932frZP+~7S6Byws`UEBGw#*$6zM3-hU@)m1y zo(x^|w4UxEPFk0gfye7U=>^lNv=cu0E6Lotk+V#TyhbA#RN3ktzt?PZ-VRv&?C9t^ zY?hM}0mM9}&RK{=o2A%-z$6fcY57+C;P33l%N!X~GI5*)!VUeN@8vR&@=Md1PU)cu ze|HmS4$}c_FnL~x?MQ+j7yrz=pXnU{8@bx2I~CyU5U{9Fl^4%+>-6nXk$qA5 zgBdbR7(44%e6jNJ<9`5Buqb~z;c%Jc7W`bKnnO?RT}%L=?UX39tM zi(CA&xENz$XRr3DMC$H`x!k>x=6ZdK(3DJX|Ib>|XdU*P>4Z~i-)Ldl(3?7Donjy%!)EeZai@ zqS&%SEWpjWgTX%=)baMh1#hWRV2zOj6szC2%oU!iZzs|;oGQ5_Rx$trSG~I4E7`xF z8s!a0O@Uz!y3K1+zntBgiRH!1bVu}(Gu9NCEve|I zoduOxNl{_1Ljp%)t5_BdeKD0gTzJjVLZ)8lr9@f9kuP|nTtCZtGmQ42`-WHVXRDy3 zSGw!CUNbM95%J!to6*Ic$=MF7V7+Kq2_ONoD41uFM#+w1GeY$+Cn?r@(FgqEIy zp{B{A9!brB5Dki^=YyH@*g!5D+rIFttE%Ls3<`c&MouHV=%ezXd$A_~pn%9%wS^9&7D=^JgcAXR924bn|`myeNnQH1R;?M_4q{`m@Oi^a%p>PNY=sGU)GGHyFcMl60lnpQ2f2=?r&L?fL+Xt{&q|KjJJb) zbWyGn^{%*wbz`Bq??Q}ZMBo$ipuk_%m%}O&E{xX;Y)-6>O#HuVy3Ty?P8}Xc!mK9S z*NrHU{4W9C`@}$!<=)8k*ED_ia8k$IhkvXo7b z!=Rwp+eF5;QXNaN5AdDwEc1p%0tWkCD4AmIGY5>5+JMnfJt#BtHJvj>*(OLd)S_el zgksHypA+Wr9<66Y*gi&LQU`&h_EgtOgwE44fEbTt%dq0I+T9 z^*NMQx;=HkGAU>2xF}Z{-CGDx?Zh1@DcjGd@6JF3` z0>taWzPX3+TZzg^tm2xs`AaebV|_ejMv?TF8#7(p*ktfq95K<{{fvT1OAK=-X&g5l^-}p{Eem) zCOy7LmL6mjd3ub$N<#OHttOXE*is;2rO_~T#t*P<$iIyjg8#4D&hx9OZd>EnP^wBt z+AGqe22i?ys3;-=0aSV*Ce%p*JBy=p_`XLZ|`(X>u3m z+;i{!2X4OX4;f?cG4@<*&b8JvpWkM+tHiI2MV}2`<9=V8lIoGZaff@Iv8$C__sJ6% zC&MrO67PtsM{irauHfj+qiDZ5+>Oiq?klYF!ZY(6d>;mhxf~*I@-XN6&lO1|*^deM z_87H>K2^W4NgMAMl56V2;xf%*48;04NtKcgxMLEKbHBq}@0gQffvSPtqIbZuPBvuT zRn{uE-s$T-G5D-;{7VO9H(EG+oOxvkDdQJ4;@yNrpQ(>2CVkZOeu4i5tSi(R#Lz=! zr}+6j38uuzAvddF?Kx$4#?wsltJxa2nh_CvF{ysGPrD^8(n2Pl2X{h`gX?E*C>{sBC5PUi-UaB!6cC9gR9d(Ia@^b#s z6t=KD&%OosmIVr0yIpda`Iv%YMi{!;OMpY4z%jyi!@?yTk{_?11O|AK3bF}P3)e3Iiy=>14ywA>A@5>4sn zmP}O7{tbFtbeO(JDCWbmIdiIIh7TUY5$)7laf*@3*Swfgs^LQB54Zw)Nt?Sjt znMg0kmj)=6$MQBz(y4K^Vmtn3w|(5sh{&pQrT6bvzE=W6;!;~~KwLf~1FsRY1-u8b!qcp|(0WI$)aRBNwDIt4|d@HY}tci`*+9^8}?%!$o z_9C!(XkPnqCZCI7>2I%&8FD>7AtW2S2!%+kLvh2W0Keq2+3DLpOD;vRfoAnsX~(~H zg;(#ltro9_%B7d3h1*ci2fE z2%JhoQf!H+2q`%rNPf$e{v-MiSo+C!m>V;zYq578`d$S1W3J2x^81~IH5tP{l{gJs z&#vga{k-@$oAj})KGwY|=-S=LVQ@~4Gky8|OWc~x(Uh7&0Lu_(bt& zTjA+NhyG%B{fgEb5UIVbPy_7&Y(c-$fa*8BgH0X7w<)G2e4a^9hLT_p%1ANEusPp4 z3`)EFcZA^~xkd;OY7r%l$4^SLa?G~ELTnyjf^y#xyh~!!EyZQ11B3ZncT#b8=lLh6 z*C%OnFVlc)w)elIBFt4xGsndaLv3gvMU6a@;tQUtTYa|J@h%?!aCR-j#cTwRfg_J} zq_}6mmMty60*_^2aV~#Vd6yYqq|gI1!Y!yAKwD%_D!SzGN;eS{lyJFiF7_Iy6eos< zXt>5|l|P4I`en#6#Zew$o|$oWk2}awEdfnF|C2nzWAD%>afx-OKZb0L6r>7wBrB*O}iu z*aHQO%fo*Nv}N4meZC3Fnm#Zv+`gxngDwtW&Nw!6zP;>hFmI)0@>TM-98Ee!Lq>_LKWwg5K>*AXN$< zm0<;7iM~qUZ-^lm*Jqx@PckBv$_X{f_tb^(IH})oj^xLf_CU@`4$?@U;bKSBds8;{ z5~+G=g5KTn_v-PZm-Hah8I!UYT;tgylY^W22HVShezM=O`u}Ij+d4nG>V~2y++mic z-c@0+_7L9iHYx`K$(VU{#daX?i&|FSdK%C^ySfPa^ML-aAJXA2sx=;l zR(3WCr4cUY z94l-(D`b@R$O*Bk1oZOKFB%1I_u6DZU841_TJW&r_v7lpgKEQJk`o6l$B*RhM=b(V z*X*LIZHOt;dtS9mQl(3szl`6)S`uj4#qt@Tb)m0Y$;a(801Dfpis{c*_swxhd$zQ& zi1&=VzrHG;!IlONDo`U)k_RnCEe65<9xC1DNJF#cU445|3t|rTg}zV_ukM^#uX&XR3*&JkI{?KQZs zFrRHAo=IJGJ^Z>nJ-j;(0>BM@`V-nM$F+L0)@1o>OqQXL4SEAtUmhX;@<^Bu*zq!z z00)7}1ia&;0qPl~brL?XV)oTTdWzRC z?{hAE`*g2^%fR;=uoc^;ulp||>rAQ?l(|T+$hM{chn~E|PYFtXl5nBu4x~UXrP+tR zz!}@xu7v1&f7SbP@E;#lv#lWFg|lE0vyte)+OdGO-LjEOXGF?SzihuR((XGWAsrqJ zAbUan!=?bGH))S}g?qiq2k=VyLy<_W=4#RCwPoDdC4t6PN)sWbG+aJ4DrD)FQj#rZ zCHeN&Zb50pUIF@iXzD6WpU$Mp{9zVK00sZ`KrdQ}*1!5!a3f=#&+vse7R#())6fa$ z)FBD3O){*#a0XxvN2&bHqiyR9w^JRD#9ZmEfJBP{tD|sf@T0M%o>|`t1YNi0SFYd5N6q(ql|`t#QiBxCj?VZFBHtRPyr}QTM0adBe&IOf#ojq%xmX zK6#cL1P9iA`jM)d9z6xcwh1Rc5~{*AA`hhMwUw2$+YUFG#V@#M;dM`}IIw~D1cB{) zLGC*#LWpO+__(}2vN5-@2F+Hrke_vHy@dTpC zjVC`lWzC+3+={Se9l8k+K@UJTzfKo@`*C5=^R+sMdi^aGtl|pW(fuc=LMTQ0h=~QM zQh0%(a`n@;?Y@<^tn<^#p;^|AfBHm)HLfCc{SWWLhEvaWHmVd@M+pU!+trPfFYo2ZDH%PIi;zjN zySMjwD@W1hW8jH}h2=62g(6TD3=U3e*hfvd?OgX@uV*fbCPti5FMy8wZA1R}B_l9V z>GQ;Ds-M-fZ{?8t2xiOkQ^W_=x8s-h+qPkRy@ZGZt0DJ*Z?Y}_ln4#IP|DNhrFHDO z)zIRq1ONF+{Fi;*n`i(p`TEIVc{JatyQBun8br~xGSO&X%V54S^FqhQoOctrqjh7t zb_Dji+UX9zI+uOk9VDP`nI9c~%}jSEl+B2)HgB)X)O0ailkZr{%lGT)Ku^dOKC&v1Pa6b35AXnw1lC2AlefK@;&M^`6Z?XIq z2p4$zWL#ZQp{T=3QLQc7ri z*?IN-0RSHZA?MZgvKtX^kDo~IbWbzB1z~dVGzrp?ex+~n7Qu6Hs~@#`@FX!Cp?@2E zUuCwanhyixqEycU1Bzr&yiiIDYc=ZC#b7eBc{fnYDx9bF-(lPg z@{;I$^XeWcc&Run_Rrahf@Y`h~g%bxFV9IPJ>O`gC-bk)a2 z(cm=)4pU8MqfEMTtM19`a(kCVrdz7YTo@P()F600%=@7o6zi|eopgOSBYT%mN)c>{ zKy3cCG0byyJ?~a$+MkghZkSpeKpsdWx;x%@V4X1h_$UfFBP!2h{drnP3X01sj`WSI zY}Xpl4DMD61zen@v;vRvt&IC2)`$lB*KrYd->{+QMTVwEY=4DwLwR_xueO_qKJyQe zO#WOOUskoESU-j-kR!b>T)DgC)B6~0FswWkY9e;ioH?rRiIGo(qOr`9sngm>6e74q zlfx3;(zgH4JiM#Jg9M9Z5i3ZnRr_@;)>&d^orR>dV_rw5+jwR7Hd-z{$TgY2Cr!8d z$6j*!?E@($@(4R<*+K!Avq?7>H4lbG?kf#nxW;jY%F}8yO zH63`cZ{tLuv)QCvtYxQ8J!hlXW`34i;xeY$cgOGf`0L-lfuG%ZM&Ol8i2yh$3dEE+ zhCD0@Z0k`=d%09uyM|8=bY~Q@jnE|M2QpVf>q-4pm4eNhTUJSpKCBz#;*-TQO8!ne zkr6Qrg8Y6G4_+Q~QCZ6wy~MVcaxK_rEWjd%8eu!fW!ZD1_B?&4lDqZP=-A<5nXh{u zs>z5aWV<#RI&UeFMHZc{AR~|cSQYkCFcVY!pue=WS9kW*Ans}%!byZyk3KHUCFEt}n0CUzv#gz|`HL6gEl?-Pp0h_wqltaU;r-=~ z)Tbu);qRWN>Hc!}Nq(cdJr&~OhVR5(*nfBzr|nuG28~hCGD`Q0;j$R#ASVOpwwpmm zZNRb^B0;1{&`@B!AU3Y4!lm6lhiD@{ZfN+8Eyeq`uYE#y#ob`9x$C`;gjWqI)>TGV zlxy4;q~6EzecHfC%hK3Bpp-}NXq4)XMJA2)>T}h7Stk5Y4PXk@-^F*UZdg@A23t#C z{t9$6kUe}BT=SP;lMQXS*RX^^)EPuv8_e3K&$ODZIC)F#kyBa#>j!teOIrGyB0}B(O!8Vbrv+1?n6nU@Jo(bd> z`nqzxN!S{((?P8r9n@Tcg-!%W)jAB|%X}m-GBbM!ouau582(=OSPjl4L#?&xbzc+T z&Pp+dfzZll`vc*+Lz?wJQj`?pa+Y((9&4zXP;EwBsdo0mmT$_{q9IQ4LaH`joiZ1c z70@5ltMbLx7DH*4?U%j9%Iwm4t4Pg}Xr9>3`r9SVO@A&q$j|QmI_$FEt`?_Fv#ASO z{k5dbzgO|qGk10RCWFk4oF&dlCU*s+g=m6S9{TW|1W)+W@xFxZh0Fn~ZJFPFmo zsK%f)LUruU6DhB`3Qe~audX~JO@?9 zteYWwhE7PYftl{Uh@DUMXy;ps5>-ZkxG@ug3Vu&HN%@LUy(Iq~&wpy2y8p4&osl`D zO4yE`PCNmkKEBEPL8Nm@HXJ@f__Z*s*E_g*kDspmG#ir6BRlQV+Y?3`YSg8gLu*#b z5B5sUpubO4nJFlk2UaA<>nE*ou(cy=LRDKmV%Xt}L#NR3kN^>IWAJIhj2%%?5fBigQ~~J{no>gVO}ex|=mMcbbVQJDsM4i_bm?6MX@NjO z34|s!)F3rL2;76t_|Es-=l;7tzRi=IlXKQSXRoza+iR^&h=!Ux)kXS?r%s)sQdE%D zI(6z#?5R_K=$tTJqr~dp0Mh!Tgw0FSgq|dM8nGdJ`fd;O9_~T#bKd~Rq z{Coa~&Pg{(3B+aKaKS~v!0ptjTMte?rxmsC|2TE}8C+5Jsg4(ZwFy?nIFwjofN*Z3 zyg-aEM%FSiVi;=tHjyss655x@J{t4GrLt5S0lx_dmaj+B@#GIN1(Ej3XrIF1YF zvt=}O5W`50l8am;M?%JSnLE1EQj9U@zD0)VIfWkQ_J*!@@ zJfXo!dpZ8hxock)jfkdwpsq9-E6(YyyIC}6($yNB@IYO8GG3g=+hntG&cEwS4DEs+ zpSRVpz?k=Uub%X0G`(~%LkvA^NTu@KD`XSMaKiD2n&q@|?hKM+gzb!FqVKQm(;0C{#k##@Z+gKbax5OYp@-xRG!orXQ9+S`# z({FF*i(wwJqs;#}VP zn`Lv>b%Itynb;Kd_%Q`#RK!A%dv{lZ*M`OF>I?J#y(Tjw^(QP#8mtccDO_-a%{vI5 zE0<+b>+;H0@LxDvoF;6u>{BLo^U8XUAa=D(O-dvwrE!bU*CF;r?nJ~++RNRyja=T( zcsP3(lqy=q?D?^ug5Y>tL6O;iAx=HW> zE+1l%@t*B!|GE4SVuF z!BK51p#nB&7c~KmnL*_Q9?vB=mxJv@+eNNYNaL+ zFG06mqb^S|4`S#6)$JQN+VMV<3Kc||gZChz;0O~M$E@qu>`#u|qxZ}0n2q7x8&+5dqkb!oF?y*87jeA9xR@+5rfb(dt=`tc98E|S#2 zQp7SMJl zI^Ypt7w(Rn{**f2YgFy=47659Fe`c-FF0tS6?!p?wOJ^6$EpNjBMh573icxCwDZ6W-z-?Gd?JRLIvZ4Ol z;`+MZdT=k;?Z9Du(w`ApTNK$!JZ>U+MnR&IuSTRl78N!+BAW#W>=R3y_o*?%j$>m( ze6{|*ACEuZqB~1kw$B3V`sN52yG0XcT;WszRHJE(Y}t| z4Jfus8Cluh$nE`d_Vv90hgdEBM_4dd>U2_ruPV7ysMk3gE?9(IV6d?Mq5w$536I-) z`qetfVKu!S=ibk)-;-I7WR|){a0YvygiX9K$TNc#aA?? z^C!&cej1L?d9(MhRZwPa$lx<4JFrwej;^( z)>|h3!w@Tl_u#y#!(q?aW2x=V*}Ba3!|7-|dbMUj@BJwjkZP*Xyy7Ql{9b~QQo{wm3(;5=)`F6t=O|CrD|%WZWS3To;gc(g_z70 zCak4J&iypMo&Y6Zn%|4jT#!V#4X2De)}z}(6|oj{^3#RJo-TLUz|HF~jDGmSt5byd z@jXM$zqiKQn^vZU5bqBgc{}G96kvwiO7NTo^)JyCs44s$oe28zR z7~@cJRB<&84HB`3CEYnDde$n0_EMD9J6Mp`)OJOT+}`1=)N!p{qEpz)C>Da}u9-Zt z9<&$`;pk%&t^I&-cAhbzgm7c<8))I5+#k>Cw9Bv) zQe+52#TCb&U-e9VVnyQbB!%$Xds9m8eO(RU=+Ig`%+FerTp!9aTkxD$*=H{udt`=QUGFiw z9sa=sYC+#Eqrd>@G!PYt>eQ(umf6oyUS$GaYRP;8wP{mzy7JE!-hnri{w8`p^snfI zB*P5g@mBFL2LA0sHC1JLSQ1|!x0KInVCedd#P7}8ZGm8GdOg;dHaU&+^X0B9w$I|k zL|~f!p`Tq>(!}AMxEG^WO4CqP#-8>TAI}uJewfwjFp=Sz@Z_%)tmJo;GM)=%Sk6Ds zX~bhpFmt>ZM~8f`EaCGYee}FQ+|8PB@DQF&uJ_@y+Q*XVA)4gFus0EcHsS32s+txv z^V1;C?o5OeD)#i0f?IA-cU^aFC(YUbvb2sU;psm?O1k~UAByr%Lgrd+@77ocHXnca zT9o8GF4V?ksKOW&HGNUQd>p_ zzUH1f;aR9xnv;5>uY*oBc3l3}?QYEMJ@G-zrDEJxNM1C$z4k)P85vd)D|(ng>KzuD z!m4n=hEk7eEqKZ5W%q!iJ91lfTlWXAxlN5m7BS0Z5bUG)CC z#!m+GN?5waHnOske_|LX5QP->S>3apmoL=b*m{3c2)o+9#73s-6ek`1@TT3c3&!Am zO*JFyb78#EfM4^I<35C01dnmt`w}4Hx?MXbCMUYLQjfORJ2!OYS`{Rz*C5AQdWBOe zqStaL8j{2~$+^Wk7-CWrVCiBa*AWP=A5Pf{_QW?jEMHy_Wu1Ta5%&(%&_|!fU=;cf z@iqYU((M{fCB?$LrwzLm#!NpPDWc?e!^DUs$;jcKSn5&DV~V~hR9Lfe*AK{vkUN&{ z{bk*4AAJ@NsPfye6U+DR(t`pu0aQ^}Zie%&7?sIoITvgA$08)ut#EW&%^>I*AUX7t zwB18O7ITZCl)(Vl-j)-{l-wPOd`q@0gq>q%GZTA8`8|JH37=T^p)rq-@TTBTw4OChXu$V>xP zh}S;5ZmKuwU2BpgcN~b@dB$5Vh~v7FjHj;Ys@1iO3)Fx|{Yk3!njfpmUPy z$+|q~DPeN49v^n0sp0PJL;~~>6~Kk7YIob?yNbY!B`Rkf<-K=mNX+h=MlVc1EJo z#GjYl2u%#UGDg2Oo|fBt-Bwl;w0$!;H@nyaGf4ZIVmdlbs_r<=W( zHP*5sd9Ava4lwJd|1nrE|4hDY#>gsnyf^YzD0y-0%G$P#+ICi`9X(#u$~KGvw)}py zZOnu9=>ux@=uQ!dOQ;kZTHSeY5l>4(K*eIULtt{|&ZaD*orhAQJpHXD$(jm^wFJ&Y zP!C^L7XJtv+cO1`=HyLe4zVs(1}sHY>?@z!FhC6?2w`I@`V+PJd!$$J20;LI5Ed81 zPzk#23Kj4~mGXC^ORVk%c_(sFQ4FjT2~{eA)ll*v#VI(_Mq=u>kY8c}^}rn}T<1n2 z)8cDV-`iFAv}3Mv#87n>eH0#jx%R9o7Mc6!kZ_VLA`gBs3=;JwD6jjzYpP(ct-ia_ z@T2~n{{GQM89nRH+P;;z{6;-sv2-bGqNegsibv;(ZTs(t+tpK2V0QUD6+3~>*`gqx z-pktiFUWepkTFGLo~xIMW@&E)rxriz<&GWrRG$O&4sF#3c;AcK$`tn`l0IF2_S;X8 z9=UQ9o>(D}P}Ry6C(`ck6!W;SVx=@s;hvaEJ3Z_x{6|}Rl!%bg)Rkk03m{cSV_cU9 z`@JtbZgY#6&?~y^*Q&1T6l!xyW8j7zj;&~6j@jIvstVDDN_Ci~7WkHL8nk5W7Zp0IBqQzI=lQS>CNzLAMR|u@2(k^G?NFZ+#^QhCs!9`8+n2s7a<{e@ z2Z>Z9s-_C~=QgG|EfNA1wfUnY?4vLJ2Ya+p{+R_Szt#Q+q&hH2xHQ~#qjOH<&xmj# zF>zL_Z0={*Z!37kEycDyen2Fl(n=pZYHPN`XF zrXd6js6=~6pLJY!kdbj=7)0Ni{ERHbt5# z1QnDNsAQZttov#g2K~44ht+DspzhZ~LbqL6{}y6`r|?%f1=-!bTQPus{$<(C7xCU(gqDGQkjc&G$R)X z=@-qZ%0EF2g$BRqcL;EKs`as@eXLK7V=hL=$#+Gqaz!w3B@x47GgM_g4@-}p8w1!+VTQL57Ik2`*Fp$$q ziz6zAnK4(bJji*p>*5Vc4C(gCl6&B>HrwVTxuGK{KFxWkI?pB}Gg=xF1kOBqr@{O{ zv8Hw45dD0V{Q(X`oq_g^f4Uf{tcZHuF_fiW={a@u-KS)h^YuN)u@aTQ%@43#8M(7~ zMW!21EfX{YGbL{Bgxnw9e$fS1Sw-VVUE9?27h|U9m@Do%kXA>NFH`RXZ`9eA zKLl~}^r@~{QE_jt@TGD!c`1wqXsO-eDd{BJ1dHdzEmb$C!A8a%J#q=+k7cyrZiZ>% zbO}d3;0~57Bb>~&()#0pAnCEU!uD2nyC#Tent#RWWj%|GN-7&(00P~Nnr73P~y}n zlUr0Bm*+oiZXw@n+MEQi4hn z8F#+^_bz+zBkVtbC(zw2;e!8m1b(}o|G&O##udlxiQ0Vw_dP3_N^*aQE#cMdZ%Pz& z%0wsJS1(YegMpu)q&|MN*y;A(zJ^F7D@o&=|IF%}MO@21cln$D(TrVt^WEHoF74jnZ@UkaZo~ffynN*g|5p+c zufR)<;HH0M>oVByQZloZ!P`QQ2p}4Ra%g^|n$LIvR7{m^`7?gmlcSsv(^o3Qm`6VB zjw_5+`^_vF9{0m5h5Hw{$1EyVOOJQQZl*hr)N<^J{^G(DTG;uTXIH(-RY|?Z0G;sN z{Uf7J-=p)WFBwmBa-I?X%M8fbvgB2hW;KM^5K@5yoArLV%drg z*$-G?#A^NSn&ELbyz;t_Q)mCh0hD|Yei|g-a@1?$%b(CEz4E^|WK`2a44-mb?@ct8 z+S}m9h;7kA*woWPfyf|unY{gZuHk3c6--4%$TV=9jI1La5xe+_0xt+n)PG9h>Yn_M z860`TEB~nX+gGyifI)k?RLOHIOEzh$@uSuL@)he7fqz6vVQOZ!FqUj>>7?a>D6Rj{ z=E@tS-V^&_M+Fsr3L~~RStP5RhE?9OLp{`Eb$nvgS0v-};F18BWXt*&`I)}F7SXW( zS8pCWmGRmQ#RA9L3m2;$CQLW>MUD=6wX#Nj&p@EY*dQyDsZ<1<=-GUfWVFS`zTv#F{8@!gT=Un)o;L`lxsQBws zkky3#uDzECO7fKJ&i`gigQrV5I`6)7K|Z($=>ceSzkW8f>D%VdD*qvs?tL0n(`fMr z-pX=A<`I<)B2vmo!B0<&^UwBDMKEQnvnyy3Q2ff? znvD4W+Q9s(KxEK=xc`cI_HQDdXNi^huO>e~e-%RioBmg&MgRZn3cmWh%MQ;qvegd6Aoz18`q@xHf`30i^tCk^1^{%RLD z0aC!ZfhVfAe0lS4#`PtCr_nM$1fQ2qNea92FKo`cnnCOE%9V7#Zn@u(T0bG_Y47|C zWq0~#G_~A)KFN0D99Jev-`Pd-*Ug_9qqbNP0;I-s<(h!QoNNyeQ#olTv6UZ*d^Q0N zA0`HxJl*?R)t~47nw96-r%$;%@|e^OhZ}6&dccYwPW8=PYuJ?|N#NP|2GC~pSO-Ql zkogDN^KA1IXhSH%`u!Uh)+8ejQuAxgnvOIjlYm180nxmlP$zzpo)p^n@IKf-gK{Oz zuF-|V$MT@)y&HiSUYGoQVYP0foEhwsqI9}m_P${f$8eL)@kN^6a?*FqVtMmxEgXpd z7Xcq(A7Pc;GB+TCwqN!a`wkeRjwr8#vk;!g35)B;!^h9I$Nz30F-BDs`{$L&OEGza z7lvQhME6CdH6Z8 zRL^}vRG^)Btc4+TE4;ezZD5B4wkSDYHPh1iCdESDfF`wc%PxYmzaPi`p_HUg_Vy9e zV|PJeWLwe>!Iyh+X2>!^0r5ykVUZq$>1V|Dk_9#QJ}vB5f#+(0nx+k8Um zh<3aq>2Yu0Z@+t}SWnMm6;Bh9F8CmcOuWaLrDxT%r-=Fdg;!QSGQI6*8sgWm?72XW zBiJonDnS%tG2s4z3n{M0QSxyUi-9S|hPXB9hJKKKJfS>Kb(&6z|6RatnAuH+l4Uv= zkRpi^h+XdI zHj&(p4&N2t^;~|t2YRJrx6|D=zV=W5&rJr_gyz|fqCVWV@f_f_hE_GXns8A@igQ!c z*@RI9s|5eraR5>F)A-gUhM2yVoz1Sft+WaTrM0az|8q1IU02`_Ewe*R{nJWD6&mIV zo`dr~hl_bN?PKJw7Ro)`ru{G?T7R}5IU9o9U0AJY zm=hi9N!}60R;qS${hYcJex6?_4Nh@@zT0^Z=c#we;itvF^khipCKW2$aK?*{yMVs% zh&Zn0d?%Fpd$H^{c1o(h7Z>7-QcDvxsz9>ddKl0mLl4t0MO>#0i5#<-5<;3OCqn?N z;q!^Cj>xpfHyuZt3zgH<=bzl+gSt8dNF21i{JNr^D#V*4OirCU#s^gkIn1>!ZVoZT z8vGpAPmV$(-9(ZSEfIWsvhF)RUi;+9$42F=$Ah!Bn-fGD+$AdN9Z@e~gv~Ck=Qs_6 z{IM&_@lDhyJ&ebog(1m%d#~V%P4)%Vv=8u~X;@PBrQ0yZK82O;aC#{r;b!8}q}XFI zn_B`4J;(fitQ~b^o{?|v!R0%SlN6Z$(HbYiK=u8|p}k0FC>ANgeAegF25LU9q)7)a ztBtN|B>Nq#*0mjK1(X?vSL(}0hU7MhitQh#k|b`+d%*=ky-ckKQ6e~NDR(Bx$wqD; z|Lxkv-G=ojrnP-5L3sP>;>>)ZZiHa!Y?t;_I8#8Qy89R-sSS!fhtij$ilF6+AF!eS zL)5irZ;TKft*&BQJ?pJR$(@~PApv>R{x7$d(rStFIix3ZRR zlOBMPpccPVTH!RCyH|T?&1=@gL`4UFc%nR_a+~#6q1Jt=EjP>>^3Gj}41Og!+~6$e@paCYT+;N#AF+`$ z-CL~8ma8KC)D+`v)STelUfHQdK42F?-#y!Z961Rne9V`4+pa7if)pa9o# zjn(kzymedMd~7TCTCLTORB)=4$V^g%5rB0Cfm=xkbH|sODTIhAWvi5>BB3wqz|859@JPg|Fh&yJ9iG_2s+=Vs8|>2c$|pKhOi!#sCq!bK@V zL8zg)ZkUF4k18hib%RP>zDl zk~GLynD!6+BzI-+RIzT25yK)Y!jaY9V?^i_vlLvIUX&OCWnCQGO3)F)oY?u32Bf)) zuXYCmwN!HXLzWG~oT}a<(k&wPt@B!A)vdRw?|= zKQXbEF()7guUp$|z2GQ2BIQR)x5z?MWw@`{-p)s;@Xw5s_+zBoF{I;`biLc=M?ObC zx{B_=l3r<_&FTMPK%PKLkfR;JZk(k^J*!_lbA{Pn(n^OlOT+pSap;%nDM9>NartiK5Mb%WkNAC7IQ!E=N zUq@{hEgf+D-I@5HLp=?)+oZyt$j-8*ELyj{k7_lecJlpPVMcH1e;^U#mz!c5f^nPk za(R}Q*>zpp`s>{NP0rXpwbpCa3+HJuIa|blR*|GT{9fCXFklTY7HpBJc-8rhYsojr0kNsq zH4pa3Sw!ZW%+Ak@CnnJkzOtc{<89YdDbAYYwH}DvrS3jdiLsFC9(v@ zwkN{E`sDj~9aL&v=3{I-GuyEO9(LFNzDItT^@Yx4_<2Dvav?JTU_|sb1LGG3w`;Ho zre)26brSQopTo=X^m4}e?MPJwOkeKN%@i$a%S0ErF(0B z^Ua%Z5aK+v7?Kp8U(|IL$Yy(!%2%tpw~VA)K%n8N$jjP^cGjqc{oE-}XyWn2hBlSv z)Kgvv_0Fo!$GyBw9yhj+ycGR_np?%3F;?g zTC2l%`sHOBW-5unoq;LgBn=q_MXx;YxmX!5jO{ipY=k6*-PI0E3F@xT_-IC`W-$5a!0BwBgw(rH!+~$8Mm5KL1GFha`l=Rt~aisk6#-U#P8^2;FYQwGqi z>Fbg&n);7;o>kuGtE+aH8oCEb0^?5nlwQ_Lwxy7yUEJC%;F{YV`1kHEUZzecn(9cD zJ?d8zk=1UM2|FTECYY6n;WQW7KXx%U7p9mxE%Y{y>0ysF?i<_I+8L^q`Ow3Nw{K89 z7RL9#KbnXaJV6V1NtEmKghz*jF6!35MUW7~24QS_QEh*Z!a(+^nn*F4zM}nUA{XXT z7(>=^e^cGGu=mclP)A1*8mhMyv@L>9ucS6pu*L;StT|wKFvnI+~<)M^Kf`C}8QPKXpw%&pY4@n6Zm&5%Q$|m~p zGKXM_X6s`DuOW6-j5g#!g?0ayjJC~u7AiHdUNZ&-)Rf)>hY^7#I- z3qX}y8j|&hm=p6R*ec+7XhFbF%@EGFZ;G*3JSw0vlh3Af$VUxUmeQYHRLLS}2a&o? zxuV1|H3$w+@06MlNOcP4(e+SryC>d<4pu>EPF|hu)?KmVq4xCjW#<#0H2GmV*zd&` zc^6w0<=g$9uUB%ycQ?vr#^Kfl+;(E}v%7!( zGxaAP{>|KJEE|Rtl-})_xsx){KRE5woO&)-=sxPuYYumft!crJQm4{jNWxJy9M;*) zJ+?{{wOkULBAdfN+`@6h^)!?Ms@3y&zXPzFRCf+78Y5LgeQuv&Q%~Bi1HW~AlnpgICzss`VEdCh3Wh)4GJWxqQY<&%}GU%NH68Wqq z>!Jj^NgPf-sxPHZ8!2&2;ccNqNV$2;KYSG`>$+km=6&z`c(tE4n%>M?soV$+gZhZyr9h6J5z>LlT ztx~~?FGJGIj*3#?ws(Kh@8vwO^uipHB*Tf0%gW=f9cOg+zcoe4$^=D(MlwmgK@Q)H zsJtjM`@PC52u(|y9!14RH9BasHb3J$RxZYu7kiGovgaELmwAb?hmi-)<3Zd%Fzzwx z|Kscm+eVobUFbKijFpZ0Zq4Cn!jo3MwRb(@ojPJJi?)TvK#Aq|&8q#*^YO3(_RrP+ z&j*hU3syUIwEr~6->2TOYERh@Nn}k4$qi=CQKn9t5 z%x^t%AF*`lk`4!aYY&~l2$Rsl@(Ii_?lZedzdl>xVM<15Y zR|9X`aPA2W2q3j?)VD%Z!_g+TEfm-AN}kA|w{;2+sbW?_2~YMX$IAxd-$KqTzFk!9 z2i*PVnLoo#PjqjXdyr(BEI_OCxOO>O_OoZQ)&3ud}nlsJK2Qf z*)@ys=u}petP*z;{bi3%`E^acmd_GnUZi7q9+TTwP+;c2yjo{vyJ&BjcOvXn>amw8 zb+o3DX^i56Xqlm#!SLmgIJSt*fBI|OeQdpGU%nyax1C*2b&WFbFEQiDISs4OtXBt%3>$zBdTPo zkvlCzdvVj7;NFx_mMd~B7Z)}qh8!$Yl?jJ|F}P+QUa`r zYk>Yg-ssQHCzRs+!E z&pqL9KWXf>Z#NN9NlGXVP4M^mfm&Ox{ntPOo1Pv;?Rv8cH{9YeFoloqB-ebq29-wG zaQp5rM=Wjx^nDu(u)$~nMQN4jFMzel%0Wqn4kH@twD0ugqzFW~TMs*p+%VfJ9`kgS ztly((UD7X^um#g{&2GI|?A%a8G@|rNLZaa7M>03lnZ^AcCW){0?isrW&OY`$vJmto zHeigl7UUyT5pHHR66dHHBT(_(?}&xNhienQ)NL(I7DIR*U7Hojz0DNFja2Z!lZFow z_`lfHMegG=n0Br?KCy+Bm>%CZ-2Ae+7_n5536fWLQLEQ58NPX-o?NpQ*;{gsc^$W% z(x_9jhEA(tpLD8W^3Q6&lmOKJW+8>0k1}m%VwavmTPSMAFPx_8*h*x@P*hu+g`h06 z2{(kG%a8smb;p2(i-4jNX(cE<-}A?0BxWp^C|1X|tAQLCGIPmWbQ((PtZ(~j&8)ru z;oMSaUtXUd*U@2Hmq6-F(u(ntcoW#wfx^VIBBe%*6HmR)Jsa-~RS|@94iHty7P@Cd$!1_NLzmec~kP&51}8-!aOI9tS+4ro}Be z&D-Qt#@ceB2(&Vcu>X}5&x)J-n!{CmFy_;|TkTrjn)^D2%V%eY?*%1(*CAm#mn=2N^j;7S zIn11XJ-=^yeNa!#(ilmAtJfvf%Wd2gdn${1lQZKvKO%EnH$;m0R(FW zC>*aic5xq*h-w=%ZVJ$D5Hk(01Y;2W@3LKcW;WQ;mIWC*A{{P23^;E6h+D>_`6tl{ zvCv0wJZCTkf?m;mebrfQZ`anIKC&D(>hh*P=(g8QnDYGY^6BtnRh&SL!=9IN3Aw-A zsWlfm_OSa)3YFIhmp%kJ5{T6zSiKTcTKSZMfXnnSw`O7N0{3DPB&oR6Q0$M(Cjtj5 zmW1Fjvw4}#lylaSW7Z$vEYAZ>;aWqj<5BIP9QCB!F}_&LmwlpU)CKB6vigIv~BoK@&k0R z&}aQuspWVpgDE=R9>_Wa88Kb6j{+e;K<(sj7!xiy)ZldE?|wH^QdN+={hwVQ2*G-l ziifu5_SpsgHe+Wvxej`qxANqE=m}tTI`Uh-$J2>IrSs@Vqk}zZn`!+FCNzURK9=%1 zE~G3jmdCu;2TB;P%SG0)eg)7V@z8 zh!nP&Z1^&z!2li4F1WcyFL!tgsGJKNgshr1`!u2AO3_x?ry+*GMwm9De{klBcPRXo z=$ozX5T1(K_`_obErH=GRaby+JM^&vfd(#MKhk2jf0>?rAP4Ph>3(ab6qv2U#;k^n z@r5!W<6^_Mr>2%qr~~G&XwPbQnWNk#E6u>?z_eBFrj@0{@xoWpRjY^Jl=-Pdf+w%q z(MhbX5s2KG$KHwJOyJ#5tuj?<^oep{gZf=VdBRvT#eo~7O47!|i7Jq!NKL}tlSneR zy9t~p)FTbfyUfIky<3{Y1a_u|5Hlz15Gf?i8!bi;eie zRqu$(q~)kmBF2ZwXwo-RD7^C1yi5UThP*P;C9Sv#cjjcXP27D}y!Q9KHRa# z&ETfU*#b|K`LxsZHrI?(SozOpX451&=8@%Xyt&U1*b^@`-|0e_2sk=e+_>N|_0c~~ggQD>RrAGB z+4Hri$;couaYZ;_B420Lknv%{6P$3n@!yoI;Hm13J-FqI0Kajd;*^6FOg56~1Q#N6 zgI;%+A=2Q~&lHbzb3AK4 zwA^e*bw3bX-r6HNdgFw8>VcAoLJ{tIVY_G0rh*~K!qz)Jx0XiZp^N z*X41KRRQ&}i>X^cCSy1T1{AUh*?+n;p{(S={wT*l6R9ee@pIXo3w)?0Vn--r(J|2tq7{K`lw{4u1 z2_d0VZ{Gw_EeBO7=F8+~R;|>Y%NO$VOJT_g?UtMqBu7nYY%qss(ESbUn5Fw`i1oRb zbz44^+DPL31j)JQeO#Scw~gK$eL=?ba9m=d4dXmo>n|u5-`GC8lA-(<;)AZ3XFb}7 zOb{uHaTD>^TR6yADG>3`xKbwMZG5H~*vlH{Pkw$mwKUQxdkKHAQ06TBW-@b`B^B;J z4&TV4v6_TV$iql7i9YOBwSn)QO1!UuikV1|&d-%a2FEWdrr@L)G(vAyvbaP=01Hht zc!Wwp2$db4wMlfn-o0cQ5u}khr_stY7_z}IpYiq&(jj(ZFZF5I<+mF5migx!9)wpK zMz+E~e3Xzm^yTSQsDND-b{tJhY7<+VPl{CSKuvFf|ww2xIL8rA+BR-Dka3IS?h$4GTWAvs&6P0}*utgT>M? zThpdzGRGQr-q!CdGVB0r6`!LxBqo!jFPkSeGUo?mY5~IqxhT=Oqft4v#GM8H5vrvr zZ8tVu&icBy#pBWU8N=5~&d4<*Lwn;zs#m-6RC2xDQ04_gVReu;wZfQ&W=@Gna44i- z=BqGzh(mQuo&3au@C5pPV(Ok^z2i5dFpkWcSUk1)6jN#Z<{NoX1_GZUr|ClxPsGr~d|E#${@`yAS4TmTGsjp7yb=6>^itJc(WYz1_p9 z+}7D~9LxSLXz_b%_?2wR=xAK9IM&xFoEHSGm z)^h?h;Jpi9+wt`|yEs|nova&w7+`A8EYIy;EvaTS9P<)6Y#kwJ^kTF<*`H=US>?!x zQP-s!6ua|z&_OoiY?6N#E&XtIyBpqPfIcyFvGZfN&eBMG;o7@>NRk;cD23c8Bknlc zVtPRtsNDEcHtL-z+YBWW*}Fkl zYO8rxPRneA))vgTdUbE652o7DI$p0hD!gFP^AkMX&NeTgVex!q(V>AgDhAykgx|iW zw9+u`Z^#?FUTPQ#Fen4rLBHWEV%YAyuOVj|KU_B+30(=+$euGCsKHi`Z2~H(V&_C9 z{Rza3?6XIM^X{x@bZ~O32l={u%q)w`@zn?p@~qFW3Xoeeb{7&XWK1@Dktf7&lVqu2 zA3oCPRP9;~WD?w9tcm`h_&DwEO!jo2zDEnLW_#4Ko=(f6+3Y$?_!Vbneprh=6{nb= zMy^&qQXdl{>`Y~ZR~UfTIC~XsAaM$XkhH*MKxp3#NsCz`wQl?Csep)iME2cZZ5<}woPv&uKUoE+@GoFQfSVM9!w7cMYjHfNG zs=m}+&FffVEWx#@!lc`#;6^YUL(@m*L>_(l?18!stDe-@)=Lu(TSnPkV;3Ow6x!bi z5VGS?M`wFNGY*t@4HDwVJ_5-eWq-@`HJEq4u}=I{4X3t#4jrsoC1?IzB%27?ZX`EA zpg00c-+_sCuLOj2=tM|!A_U(s1h=n^jVms{3oLVHT6+&;&@}ITKt9{0C+YKj8 zKI9^HCLuMeJEKAAYn`LPD)@E02!pWTWYYtk;Cp>WBS7A2+(AaTXJUS@6Ii(2SvFOa zq3W+b`QI9QcyaI$)C~(C<{PuUN!JcbrJ}pP)qIhmFLdsq5%s8Sy~la);jlnpZ_KD~ zYjbTU{ibCv$CyG@>IW!pukfw()LTxwY|#O!m4Ju*EBa}!C!)$wYJj}sW3-Z)B5f^c zMclu}8E}*j_yjo-m6;vp!EieT1tbM_0pu8&$X&(<>Z-FR?Ex~mcH39owqaSPfLM&{ zAHPSE1*+cVP{B=VK3}3e)MOml!~_*O7!3QWFFDkQ8{+?}s^ncO56ldfAz5gGdg<-x z&z2}G_h)l)zHTqCGH6`74_$@JKlQ?MhC`*%p^`x3!!Y~9DF`G{a?`Ld^8qnLh|2!KG z1NAP1m;XP^y=PQY-S_YN*g>U1N+g|Gm^YAkrT?`Ej?e$cnst- zO?@YEmxk=1zZ31M{qk4%r&r2$z95m8G++|y;K9%ahap{jY;n@^jPr71NZe|&$uVm| z9!8;*lCaROpsrQc-b+XM?xyGM!`n02)Ia%c&X?cb)SUI{^LRG-7aD+n_G0pZZsGB*Qw_-$axQHl#0_of{hm)ijHP4rB7&=?fG^5Sr_ z3$Tr8aY>DXrSvocbH8IXCnL|?|6`fqW8a^8INs?OM#+4=Q*(Jl+c(TzBl~=yETY>d3Q)V-=SiEOTFAUCR8OZ+Sh>= z3=LH7G1L zuDxp0<5#}?V_U)=km|aIv|O64{aFSxgpZTS#U^v0J><`z7RczfD0XdaLSP1N-{o%O z!>0h}>EV5qRRf`<9tSa_ll-Y20Rf^WyH6asPw`{7rwMwMQ+;R5D;xu{S|+i=N>2t9 zO6%K;fBXxWEncK?3EOO3lCSJ`lV>;A`?zrvm35VY7&L+Zv8k-zGJtUg}1NU2s zr;#*NX<AhQ4-%^l6T=ZCEQxdUwD@$ckfk7{w=m?llcrF6a3i4cA02+MM-{`QJ83 z?5U8ZLSHN(2cFzS_0b@}$KVELyRq}rzaO6eD93JywJUPQ|X)A_6SJQI2%HTgd8*Vg+kx* zU_TlnlD$Jc)cE-8v@kE?^TO=AIk^?*!P9_V_1)rnGKbx zHx>ffvnGsp(|1U>Bz^kF@2ZPJm|8?xN35H6R z)j?mV7wmy)cv?;9c0u>C#PU6_@q4}Um2PTq`{<-$JkbQur-Ht2$-Q(c z!M$&TypjW04iYaWZLVrHNx|_%Fu6`ERggxEhf4h!eyh#d5+e5i_#I5 zf1Bd%lI^GxAZA&Tp6x$aY4vUUJ?fLIj+)GoZh*0JxEoUOvK|=pqcyMbJu@BJQ_Z1= z&QW{IXD_y&HgDe$Pj@p+AEE*3nOTbE@dFbghoCPdlR7+-vo9RzUrQn;GV}jyw?%<) z@y!-3vvA3I-$UVq+5(s8c>iIuhm~A1&bArpm1x(3;cgL|Ag(D98!Hb|o$&R7Y3EbH z2$-+{q+6p%;7#cG(1Rt@%+vA~n)kt~ z;<&(>sm}#|P0S9qCSP6xfQKo_oU!>L-aTVOBN?ZNU!rlg9#FJaoEd8(rv4}vY9G2GvYN7&v-Si@M*Ng?x^~Fq z9xaiUL(7+>qx^ZNA|7kiUqF{hf15*IF|n#(@_W8n;x-6o1u#4?FhU{B9zrQ?mL{!Y zf>B-3LK4>pL#&)6S!YY~C1$CHns1i`y7QVC8BR-By_#`=?59uWwY{18m(%D^YxbrnqfOW!zwtw6ALhB$+6=5i}p-k~v zc=!F54_9uZvHja({(>B{ql_RM3(eQfh7Vt)E@#*$%n0P(H6)^PKawE~-8_udyyb}A z-bnlDsA2HN+5v7b8X9>tD)q`(?OU#V+HkFOscupnYkVi_6VrPqV70rE8Tr_4&^dIN zI0@PIAw}Rvkfe&>Bxk!;QW3E&c{+Ds;) z435o>6OS8?b%7j^>2ZjWS=95%?_wk#tO5(uLqMLE@1-`?I#jRwgYc*fD_E0-$LV=0 zoxqvVYFb61srF2b6-#-4Qv67|j%4k7$A&Bg!Ljq8X-++#qhjv0_EbO%Am_i~+1^ic z-+I8aUaS}p03g?=s@Y!`WxW<7zJTC3(pjDYDI!@lW6{wnD|b^JwexO#J6Unxb6?5v zjgr_n-GG&AW?H8XUzfc9R;|{iWgol z>a(Z{k|9CC4Nvos@*kV1kWBIH@B!(o)MiAA;*seX+Q*~V^v#{w0?rZ1&8v!SVND_1 zce8u2BOg1Ex&vu2a}UH|q<+ME%DIW@Lw%iIKaGaIx`IdTk-s zN$rJZcXtgI<|aR5oBE2HG7q)7b~IVFd>S?*MB!7-0C~xlh-*!> z`0`B4ofb2~CK1c}pclw!LjvUYifP%NHt>Ne@s;scSA%7yyik`Pk&31j?SO&M$USKV zE?Tm}Vh^+iTX(4!ZD1z%K12%jT?p}r(FhqWgoPyYCibP z(TYu#L4rc?Gx8-iA61O>4(--ZT=uZ0+l`Qn;8;y&tuG8KuZnIkC|%F!RZ#v!b2y;P z9??u0n4@x9q03eu97idwry}G@b4j}ijF-AqhI_{eP|FwsBLBk#vHMIc57gY0oYUQpd%@Hr7RAB}yQ4Q%D* zDReyd`=0zLo-c6DP5$bv$y@e#_9gCorZvex&_FM}TEyA=bGUQ15!95McEO(Q%ms3! zL0tp?Tyv<(Bg;H6p<^I#Xn6TNTf;tfN{V>C(tr$ZQXDg$bO;j;hwwTX4WB=JH8oO^ zG))Oq6NVJ_>1{jQ@Yt}9Z)h) z^o^!}Ei+c|*~hZ^dGvmXRxL6&j}p45$k-ow_>*SOKu9kL{Z%(muzYdcB{U@eG>Y_! z=wDwg!>Q$3S&fUHIGTN*78~@*Y-psvLvj-7e8{&@SJff`lEfQw6ze`s#G%4omXJxL6(l)ts z5gkBZM{@bh8LhDImOW#@J??rdc#tDgZ(bxvtSZTMG53aJrUR|*QIt1(t|7+Q-LlA3 zr&k!l-o}+~KtA}j=3#_ByHR0zW#?oxM@ky~WOb3_ z{xF5ZI(F9S4@8n(I#*nrzRf>Xwc%&7ql8T4>KHY$OK*h6;a9dX#Pg#lXdD&yAv@!S z9ny}2mO23>UfLpp@%q^n@9VbJJ;*ftJ1_13}xO^CCx{=La{eH)yF6)2v@KC7jip>QvMxy`v4Zoy z!7ucVadIh*=%?7>@y4k1S+dOu++ z8sun-i}1tubCZ$dK6xRt-z$eb+dj)pvq-HA7GA6s!{ju!8Japv)RTb8uTNk_cXa5RuYSeJIFk${ zk$ZNOs3a9T>omM?b9d62GTcP*8MY(cGGRRx8*k@5<)ZTHeD$sC5rWUL62;MP44Uk+6UkwR--cesJ$m?4biM*jI3I2(#28!c)A&1)b7)j?=@6bFg(!%$ zB6>Zo@m89-l_kf2+Pmb)_<`Mk4zadW@q4Q=N}UEb2x zUUL=>63VdK*ug(zJ-MyuP-tx;duH_rY|^Q)X%C|YG$z(R1)qGGN^Jw$cEqmd7+e42 z?ZR=(j{Ms1exu(az`uP*@9iJ*WC))VeWBq+8zM;G{{b_71JHIrmjTckw)T+S*&-{v z@1L=Ef--n==(XQHS1)OE`H@OccA4Rd4|NHy@>py^7;Qb$J?(ggVkF50Xt^a-dTUdQo zoX17Hdeg7JfB5Ggjl15;COr!HgIY7U(f_{b%fr2-=E%4sB>FP?|Ea+g%Kc9#Ezl@r zEQG-1w-y0-gNw`KfUpX;-T!{VW48XNqfqI~>P>2}TE{6Cm#Z#)<^FzY)%JgjLW^Ex z#kJ<46CMrEuK!<12SdaEZ{@5x&GzUIU8BFXRMXCWoj?By-!uP%Lnuja*q))k*!a+! z_qz^scK^}G)W6bOvBbY13T-OvOdDVG{`aiv@S}IQYbk#*3Pt1pAt(eN;L%r1P?V7e zPMmapzD>_Di^rsavw8GjF2MfRr|?vdm5oE2&7x}`{wR7iUO)J&*L8J(Uj~MoQ_8TW zjkAeJN8OgVQrf5qH1(@5&fIZO5#hSa?D!phux=`T2TzSBR@u2RKFvx{DTk$E$#V zrBw1!E=J?1p?YJs^9@|CQBT&VCQDb#z0>^k4t1#x_w%N;W8stcdA(|3mk026vWwq} zL@M@Vj?wpRS>7HBLT^WY&A@)<{U#LgU7fAD47JlryC|KTF!V&Gr<92RLi(oZ+Ez*2 zrau&b&z_vL9Is7sI3pO(Pm(%&3peoxg76-UJ)oFR+a5(zoT++B)<*%9ft$&v2et5A zfVM05Tb6njio1M_>itbzpmh(Zv;D16TN}$C5T-va1_WT5mOZbJJ#l2tddO+q0d#NO z?#Rf^jd46Wvt`kJPAbCr{M77~^yw^Q6hOe{l}=Y!S9AaXqZ8vb=uh7Oris+$$hsS$ z(Gzu<7&CAB{{S@HpPR#UMq9+4bbqT}8U15k7glQH`rxQ@#hT%4DQ}6>^S1eH*6gd^ z*8`qv!v* zbs+1;f0pG$VsKni4u5Hdj_?TgRSrJRZmD`JCn092DTTXoO|bBCpN}m&z;`Bf49_jA zNPmvp{@OC)(>}Tf;Dk)+%oFk@r`wz2I*@)UDnI4)Sub@#sy&DtE6zczA;zC9!$S9me*V4H_z&H8kC%ocqs8T>U1 z)pR+)RQP!%B*07f^!$n*%6fWU?8%piu$8;jMBGllq2FUirhdqn(4@w|f(7`mrM%O! zUE6h%sRG`0mYD73=KvyNzSs!?Fy5FUVFihMu}$U)Kv#B%Vl&RvAEGVjrbrPKV%lsi zbRbx%U3h+ohKd{Lb#eN0ki10~-eDaG3Sm9=wto>k>#?_7Y%@?qJU*i4TL!=(92)54 z4SVBqd$*g9zo*#q-QKhB8_`>IyUfI0Jm$?d(S)}?Ypsw+02(unvj4rf<}?17>7pBOGl>~_8ZZm$VyD@9U+4MArs#qd#&T6w!msbDXOy!6O};!|)FY}!GT5#b zDzb6h_FL?lPi6(lUkm~dPh{P{yr^@3LAR|+v*(lVzbve@z*{u{&G6iB&G65G4lW^y ziNalZs32C))AJq;p41ocMoT6gEcb>JiuaeHp52>yg30rZS1($zszwdEeo}Tj_kMy)9@^@sztB13re3}`IAUJ zFtakl0v!XrRlabPOh;jj5v23x%ACDKK#oNlNpktgnb>`A4!4VuolZdODom>c)~xYM zp6DoxW0mc{D7QKUi}`GM)y(aX<-GxN;b*}iGE>ZxY)(i{TRE2NI()PHsnaK8I~t9{ zFphD~b_WQHYHe7FG0;it<^rwAQSAs=UaLN7;bu`itY%ii6M2D}m$sc0Kb{XHR|*+9 zorJ}W4s@A*%Hx%7p3t`4^mPHS={9(_8>gpKX5pb4oMSGdzPLM4Hid90yu_K;c#_>g z%I+?|Bmk~;Ij}@nku@`%VR?)if8Yf$SkK%n|1$vSu%mG93r)yr$Xlt86n`CP=EZTT zB6tJ;CTMoXg*@-I?@{>iYmDX3F_OS(&&?zHT@NASrX>IS*udeOq=2&N_)#R#wA`zn zai6zzvmE`IzihwE`p~GOb-z6#oUQKa6WWL-nc9Sw$OYi>`n+FtlwENBdbw0SN`EY^ z+y4sLh66MyvTcj*g~Mr^ld9SB>LgHV!M{)}0BUK)g3S@(Vi~+l&U&rv?65Y*8%LTLW<8kreW|Hc=B> zi356m4-f4&99wW!B|z{igXa-kIuE|LdkLsQ(d*}i>sgxGdY_fcJkifP((j8X2 zjeJ^rP*qSY=>6zV)tSfSGO{WFmC}6>3+0Hw0VEpt7DlW}dIWL8%QVlm8Wjd#o;`a^ zg(L-88pIm*Q^7?(Hbx}@sO2A4tK`(V`)gsQ3h>(510za;H3t`FmqU$pMQ(LR~c>NSoHahxH;5)(C zdD>G)z3VAZU_bksi)cU{84Bo`g^i$FCyGBWe|psph{x*`v?2>h8E@|q6|9fLrT8GZ z*!ckV<`&$aocD)%a)vYsU-QU5U+z|O!<9uf0eSo@I?+NVjX;NMKUw?DJg z@FvPh&f45bZVf^Y+RpdNVbNb+=sH3PBxIunGpydW37pse<^<=tkh6*i=K8S=rO8Hg ze+DzxuCf8L{u)UWEw-63Y7%>)!2rNqG5bDkt3^W!CVf-XI>1L}MrBMQn>4kfSM{SS=< zVxG!9ZuXBOt27^rP^iPF9=F%YBNp?y()=q01YHniYZ+8IEx<-}ZF{>-P!-sQ{bd}* zO%X;4t;hoBg)mQSFwrI!NI2%8jlS-W{}F$~Gabr4#Zh_+rHgrka(g{$0D!M|Z1p(M zKe9adn5ed_(2BR|qVaUP?4>ZIr|eg=Wt!Nr6Lo5$8ocAgb+2hVIo8SoP~4BZzqfg7 zCve*+D}jZ3K*5b3Ohi3Ilf{fa~GUf<9jVf{UFY zrc{s-)uEmv(dTzC1i*(;G`-F5wB^b!}A&erMO?)SLP3%I!5l;Y#?Wkb?gE%7SAB9ip|fF6#zcDr%_?Q0leQZmnGxXGE*8r+1yK zINHS6z?RP^!2A4^rR~lW8^njM*Ll7S6;8SQb$_XAfJwT}f@L(51XxrTn=>J4jo|&F z*`EY{f#rS6*L4Ltj4|zlj;=s>Bec`R^wTr1Cz8(!R?JeE<6^M*_VX`eo~lH7BEGM};|kna0&lmmC>{RbTvSkLOR+D;byr#P-Wm z0%LQrZ8@kNb2e%L0O&7!?QoV4>aPAyGEvk2Dif!JY822rICYZ^(eoG&>d0zkfD`K-d!==YdJ+0f@zXiNqoIddam*2{-QB4ZN{q^)2aIp@=&O(<~4-j^m^rD>b4 zxu2+;yn9nT?Nsp^k1uK-L^GVp<)=a;Ma^BP3Xjm}P7^F13$b&s%WG#8^)cpPQFYJA zy?kGhNaD0dJN~)Vr87+j=p|;x+wIQ@SC`=K zy6`<5gBpz7d3I^&W$%^Yc9~#!-L7x;Dhck0HQJO<#0U#I4M$6@4?3dG%UVDW<{TKeP^SA#=WwN=L+!D}~GL@o7H z)904J6ZNr_5$-|0(RY}Jx)a^_Qr?`>WdmnpMbOiA?Qk$s&IZTcrbHOj#oHw3WbSOa z!H=Z^wu5!N!)zS`LlR=;#ciqNiE%$3E}c@DZkbpfWf*bJic#D<2wnFJALU3jKr48$UhslK-_MI`~D>UKj z;a13KmMIc_#f(Q3)8gBY3o%fRFJ<$);G-EtOzrE}#8=0)+or?$3ZNxm9bkdPU!9~8A?Eg0}USLxXQdxEU>8_>F~ zEFqp(6nnoDbFP+4ke@}aCRKjydGih~D&!Ywgmu?lY+Z(-+v+^cMGIAUYpjj92lIo; zTh%?lDFPwaw`^whvL7&|SkDY+6x$+dtQ{t9IFZWGKyooyVO!Li)M53?4XQD}=MZ{e z4l+oDtJ3i_>k)$g?(Gy5N{2EEr5`;&zJUPg;vF1OdLWOdOwRnNI} zQH~9Z9e*_ad{t%KbY=M(rKzG&TczAhjWQzm_$2+G*Z?k%t2z^Mc*KJRgkFNIODe#!R$w(>6&IG|!$SzdG@C8^*h(_kO zvZ1DjGg~_QakJCOp zw#~k}tj4lF+0wR)$8!~!l3x&K5tt^}F~fqVImpLOXwBcq^^QB~b?^q)`Qm)Pc*X=# z=mx)&!NmoAlY_DaH5oajOUDk~{ui_)d8sD0GJP6yCyYrYto(j6<=D;yVfK2kPAL~5 z_#1DGX;>cg7e#nVr?*%60-+6>RyV&gs>@O6P z5KOM1fIk^WTcexL=KGlu>z>$Q3tAfn&tBg)oS)}e&bxfUq^)iLXuD}ja&uBbi^o}~ zq>TkKG<4nvE{Q>PoV@^_G4lffSS3Si!Q0xa`iX}=^eZo5yc7qyxIHws6ZDd0XihTT zn$NS7kC8I?ds&UXoEQ3@%NfShfVZE0>E*a#!lI;G9#6-CYp!Y5WEGhHFk->Cc0#Au z@qD$rDE2mi_GQaL(>W3|cX#uPG#tbbwy+--+!5!SHox-sfE6qJNC`?= zs|+aHZ@3?Sk^T=@X6adwkWADCaZXal;FYvYbD@$QCKY2m;zI`K}f(r9N9ir57WH zi>h~CUC1$|TYRghD{~d`EROgk+nilqN5Hv>saf>%jg)ruw@n@j3*sRD&s{^G>?D?m zM24e7n3)ZQ$%=msHKMjN8J#k|U9cPlTcDz9F$do8Q-KuE&Ezb%*O!Yk!`pF}5BZ+& zQyy68sq|&Ibg3q~0;dbqStZ0O`2R{B0NvqO`osrKZ?p|)-8(~MeG5rhm8;VlZe~Ze z;4U;V{{i7LK|T_K{beRvvRB35s~I&&Q*{%}`mM~X_YPi^8#P|WPLBqXyzbZs&O)@! zmS-&?k8(N_Ctc6%Wp%xLTLa}@&FrA#MOtF^J}b3%%zwrELZ9K6fJU%`;7ii^iQ zHAttzdp*(kiKA=Ga`h*h!@L0 z$cHh7T!Aiuws%GTeRT7_wwFx-;z85WPAi=iwa&E|)q5t}cM$|Q)&@85beZ?c;TD^; zG(Q#mcgT_zc63P!HTv`A!pt87-)=Xsix?ODkDAR6NN$*0#kkANcE#D=Hv&=?^3xk1u;-~)H1XEpX}xDR}sa=g03+ok6G)f z4aB#^$NJU0)MtaMW&OSE?`wxu#K!(7Z1^4ZzPj~alk(@rG_U>FU;eqK_6wP`zp?S3 zwM6m%ledO5IG6bg8l6rE&T>_@gP5{Ho7p40*H`rRJujz_&ZW=9y2V}}Qpay*YEjYw zry!>7!0}sde9Q1=_f2vCY-e<}V9U~Q@F}|I#u66Fb_3anTdU7EKmL9C=g)xSCMsRk z5-I#rjP!bxL|i}8eNBA34fkQI9nZK08}65XxI{<@CS>rl zGw?vtd&oST`)WpJ`p zhr~AQ+yLr7-Ds^|;m0Zd>HhOYqxk|8G9jh zt&OM0kT74{m;;y2eb;tNG@~#FW2#0z!hFli6WL&DQskB;Ep_rMQ2xdf@_2`e?6^$7 z4QlUHS7Tu;qO~KXNM^+gC)f;P#kN&?S*!#FnEFn&;Myv2`y9!}C_M6vh_?6KEwT|$ ze>3!K>y~9_f%m~KMVqJV&aXn*3rLR_l#13u;BYpwO?Nd65})~UMqcMzbk%Vc#0sjN zjHZ)Fk!&~*-|9)ntRC@Ai!LmW*HDYhB}nd!uqfgS`lg!QzAtX&gfb3gnH^eq{QCA` z_$=O2eieE|%Wb0)@}oDr?=u5BkA~`f=rs7=CNCS-p=c8g1%- zc&LOOA=ZuSa+s2Q#=iNY!)8VQ{an+#-5|k-PhqO2EX5JA4dzP)mFH57UONkZ_2>1| zsIW`_vU!}|2V8Bh4C7NK$ccYLP~CT=ypA0UtgX>k-DCJv>n@h`RlUBnUhkAl!crsR zfGq>wcHr1SrKetU7R>(hYxkV>+&%Cy-Gea(Kd;mTirKISV^3i855}Gqklxt(dR|iM zw#yBwx{v%d4m(la4)~SR?)kmNaxaJqaenKQJT+yGKKb5J^P%LzQ0>uBV{Z0Y*}^!R}MNx{{jO){{vK5+VdY7~8lDKCq+=|Nfy| zw#D>xV!TQ3{Ase;r0u65R3nFx!-nuQ22|hCP#-gGYKAP5HfKV>^ZFgT!wIY%GzH1O zAH95Nh5FHI)+e73%gR*F1~c*aF|mdwB=@tLwe-I+P~HfihI#cl&eqi9=pSbVYrG^A z1_(kNYg@^Z4HEV*$hHSCf}xK3QJzdumeUHp&RnpzdMA@j->#k7&9+lr{JVioo4FC& zuh2)k+TGs{uQPPwUS%izR7h);LFl)^fvY}&c|U+2ZukaJtF-b z(M$)m73Dve-PrrEh(puz%b*c0#@)aZ0qRr*nY7rb=c#eANncbH1mD3A1C>&*$(;Tg ziv(r_Y3B`o8N~vXuL!oMT(@-CezamFeUDc|s2D_5?>ldQ68OT6c(gsY$)x^eF?@_A zM#_}^E49dQR(b$t;WYymPgmJBgK_^J`)f8mB-EARwr(cjZAhFOyK{D}g}w|8mg6w1 zw=~vVqp{=IqftqoZd359*#`9?HlC(5enL4b z{j#LU&q7GFQq^qGtH)dFpoNPi{Aj2?{Vu_>^YS@sR!jn8C!e*!5grmORElxWu6L4L zS5nw?oy)t>2}Um%oMNk)VZz?TC|YcOzjqhuSe2H+uN+5zMtvOxhsl6C$0Z1&8wkrb zNG}5DaoeD!2XJ-M306pLIYhg+hj<{2u2rJ)coEDAOSP3aY*;&0{kE{vVKg~)H@IrX zk7+VnLuB_|Z3mBWD@?aTv@C(ME2VIfVhn-O8VAizuyWDf@S;5XwR=L>RYitGtf^vV zx~ABFKf3{@>OzuT71d}`ADIseWo~?ro-#a(E3Pr@8fH9_)QymF`PhwF!10IW?*%0i zf{Sh6{xTI3c-IptldZRvYMTv@B6?62idph8^|a^=8g0oJ*b@K`B zXsm&ku1+k>?nK<{`q;#%d)qP|m2Bo+e=I4c#Y&YVF-6Ot^j7-z3YLgXJPCF6_Hqu` zqo=eYI$SQY6l7=^iag4xrdzdhvY!iy8efbJ+yI+x!4&2j;G}1grPHl+LpcJtDdfIX zb5v}|2UT(6N>yp?I$6y!^=G^F?9O*X9_G}V_Yt}`+qs2``MVIr)0wqXZVV9zK!Su& zEa|yHa2a3q!zdM*t>aVi3t2CzrRf6I^t=u*BpbbQY-#;5S=PQQ7RX+p-#mHsYY2-f5 z`1V={rlDgN0$KhRa`6Vc>&W-UxlUvpq*FX7dT|2E*#rnAj}_GL(w6{lkLvA-N~gUC z_GqgKes}ZM7ALXv%Sua!(c7&&G>9+NmqFo+sv>ZpiDQ4xNI5$^7XGev#iW-1`{SEO zVvux~!Tt>22&}FmBL(k4D9G>mZI4lO9VFfz!gZB_d$qa`x*|jtAGQ?x`F260dF>on zrm*)~(kvURKRpE|kpmCxbn?r)#NHs9?2+dlLF6tDVWvBT)jcwpWm3P)W+M zN?a^uh0G7)&biJIrKN-THIikWQF$XLtu z54Lb-hn=216kp5RpedZPeTS8!gt16K}%sbtwWL<&35;E2= zGEz_Bru0t^*H6S_b4@J%p~{Ropzh zovHp?U#)jcioW!ZZr-ObVXSmjzyJtl-l-Q_;BPxElXl3G;PCvz!JYVpiSFw4ui7?L z`HuY!4VqfCv?(W4^R+y&6BJ{u>Zma#jE>x{lmBr;`c_qT9uEZ4 z&FXJX<+cU#sE&=D0=CO8?Z~HCcDO>|*C;JWEh+-!Nuf^uh%U$26F}e^w^J ze8yFGzg>(pRi{VbzIG=5O8D@@_b^Z>gtbJxl;DvY>Y24nalK2 z5h#~{i+=7-sM&56{Q0@y8QhY5kW@@XJXyeIWI<%seC!kBBSyJQPI`I_Y3IKu%bPlO zLF2@2n12>ZS_LD;b$L2}E_?~9d$%XscJI!|UEo>!s15@~(fRhB^StQM?3A1)@BO6q zpUk%(V`Dy`)nkkA$RQ^SS*@Wu^fzcplq5K9o5lL&d7vw?VjFCNVRuyM^ygXq5LY}8 zb^TH$@aOluGcC%@ZRN#D0LFhISI{{9P;uBO7n;`LW$G3z(J8(9 z@jjg`tC=n*QX^9PhaB!5CJo9P#PGga*I(WkN$&IKA1{{i${W$ z=2;@Bd*6ohol|@Vu!`!DFA2d=0d=I(p$FU=(?NeGuoqVo_omp2o@JgOhJrA&tt1pL4^z?deGiCcz#@)F{0q0wO}KOk&ky6Fa&pL|sfO@$yxO*ljch!YlOkf9k%lH*{{%QUkeZgn~3Q8RUX zj^e#eTJWHtI<;USXZBOV7!vrsDD1mudm;RpkkPjbL_mk&$z<8HGA?7eyOrqzRRpqJ z4~)Gq&`yl_SXEr8g{Gr>rF~eTh@WLCwQ3d7tEBV# zR3-%9XU}=5(pCF`Rp^ZRd4z5=|Bl}sQ3WO*I+ZR}QNSucVrbo;SYSf~&ga=$bAQ`} zHD1YE0kI)=_=I(^HdpTiSY^_1@FMbs?v$FHi&W~bs+)>l*~K1dt!QGTwPPYf<=2@<+j#b%9@1CjTrm}$ z>A)SkXWdAz9Audc?ZrcFNr4CbM&(ckx}Wk+1u`CxB1wI3KG*of1jXiILV>6Ye|Z#Ydo@%==dW&Q79S5wg|pEg2co|O z3!z%fZXH>;=`fXV6@9L&=VFQ?G@P$md}vZ%IpI{JBCsW193^lv&kA1(t{cI#*i3L2 z$EBdMdpCTxOxIaTSuG&rROxYA2?0HoFFc!A;=>INPC1yO6yGQn3Fa`sKPAL9v+*~5 z?|N$8HwApTW%hcq>+-bzGfsd!bc?Zgaqxl#((B^iv;zm8G17#=tvSZ_at1;gpcjn`_MA0_+I zD)InacFZl*A1{H#2;7xrvYf8uf*BaNVRNf=DBqL$Ant-MMNiwb10FC;bO=-)KRuqC z20!V147u?Iy^othnR8#yD~X+2%}Q(dSeBvF^HR!@>Ckry92{uY|E*>u zaKw_c`=N8CJzk#S9!UgspB!P2R{TkY?&{D#gmTw>8^lmz{Ckrn^y2%9Hv;c>#)L}H)WY54I%SghGYp>YyNe%8?Zp#C-jPsTmyKvONI&`^ zH8C7IN~QWL?Jij5U!IB3%~O*cgXao_;2+?=dAD#8>b8QJ=gk05xdR(jujm z9~ETVe{v5N;(PWhJSbDhCwbdXhdh+{X%-yA9GLFH}+>__X=f`k}1 zv2rmrR-p^u-!ACbi=$h@d`E{#xKX}eHWuRD3+{8bglgC5cUfGveORRRRsxeycu(Ls zPpV>TOg=|Ilhq=-S_mzJW-w5Jfq%`jrwvwq`AAVIZ2*J0EE%!zLzfSh`1FM6PL4SN z*nGZz60w`YGK70XyLzWsSr5xaLAk7#TS6yCn*j@|6L5afnqv{K)kAPIC--J+_0Pu) z+6%;Ap(0f?8@A)^GwRQ@2q*V_U2`k}PkdV=D6qzASx&|<&Lw59On{}nulD+2I_tv( zpiE^N%T{`{|2s%H;{CU+p%^F z%KeIMs}wQgI@4WEk8yPQ;L^(NtgQ#J(2y})Q(dfXM>OVxmOjf7YfH8^D$yc~qM}r_ zUpg=3J@!l`k%Vxxd^c=Fgq`CaBvyY?n}n0uhsT}e+c41+DEjeVI-anFz%K) zyDzFpP|D_6gZ`5uZLzTC!4S-h$%Oy!w1F7enBT`Y z_u_Zs?+6-OgqAk_&alt+`G?~upyONR6oc-1IA$TPP!GI1cPV$cROOd_ zv!!jKG08$nq#09AMi+Lvg>-B~#So}RpMIazjp)sbUDf-Nrt&aU)ciR9jl*#<^x7y) z%>>B8m}>`>t~{ETV9brn=KgW>0T2=g*niw`TdiOJ#6_#9r2OT(S_Vr2{o_ZYl>rge& zO~1XLC-sAsZz7MmGO7a6tq+Vzq;k8NN~SGl&&>6ar}=LO)fTI3CH|lQT_3xOrQE+y z9KSSOU*F0jm#%oo78Vmi@&VQ!(vlon_4b>Lh6?Gzxjt`k^ZU^THzo)S>%&yeo$VSI zJ9U(WAkc7!lvZ;Bd-CWH_rQd-)v9JQHqrAs^U1%HDfO`-eQ`?7;6UByge4Jh>CP{U zU1EwM8EJF1XRqj9azWBeG*BTxN# zmtkBnLifzreQdjku|h>%QW=wMhYWl&G+xPetRU;1xd}<)?ArX&qr|keGe4(d2^-a7 zTEx1^LEG*t=8I?N1DK95!Y2$p42Y!TH$<{_X-7ZW&7z*VMuqR`1PkFRV$A8&-{x<( z0LYuRJnflRhaf?gudFx{;mRNP@7YFgXYOTwDTrS;s1BIkjj0=}()O0WN4zw|gV&xEp-BC#cai;` z$^Odl>TOjB599U^Cz#Gz{JXhD6K$e;%geC&ZIL+k&GgbSIV3S8X2OPFC#bIBctZEz z5(lGtBCODYv~}M7O;H5F#Q#{I>7_rpu=-%3NCm!zsv(Hui|_0XH0cofTcS$bLeZN) zWUg(srw66y-{;PL;`1n-NZZ7E(GW#IbZ0+z@?ZVIHc9E@MShYO9?A|Zb5%qx_Zjzq za_}noM#1f>dgu1TL;`TmsP3{ge-hyJ3*pIcY)0@q&e`I5f5-eL0`+d&P+`9m$&kJO z(>ML>)sN~Yg+YCK6k`&t(|-`pUS6svz1OoYWM~`$oBf!Y3?)Ejjll%j_tR z4a}9agsuxW^YADDu+?T#jI5om1Xl~5c1Enkz%wYG|2VMiIfAW;j!k-?*_?9oKHys8 zODAR`GwpE5=_??w08OgF?`BCC58Zx*??3C;P}uBD`d{R|=RaI++x~qf5+$P7L>&?Y z(St-wMvvY?q7y;1i0Foh(R=hdQGyV?M@#f*6P>{fQAV`EU@(T?lJmOm`~DZ6&-2DB z<}=nh)^Y6nwr|^a32btd-5>%ap?@C&q>$AIlkk6=Kv7@aEQ;fA<_*-_+fPx&)7AB@ zkHP+=E-)@oEasFnw}!f(dF{FxPt^4GMP|dc2rlKbVm&zQLL@#s{|V_Kz=)rh;}b(2zo zgGxCQsRIEP63xHmteJOBtzEN|gIDFkY(9`<=EGsfaqlLkS`({=^UHk)cXNoQ)mC%A zn;e#%h$@cqWLtmGZE5^QY%2Y|_xJR3&@H7n37A9LWUh%Xy~~~j@peX}rl7G71L*$O zGGMc?{eT|)g|@y|N)qzg@=N61bSJOZPA;cxr?RJ^pC2d*2p8_Ls*27ebT*Cs27Gm z+7_mF>pJfvcTBdE2HCUXeCIkB_BH^4Cd-pi%!W=-;Yzi->$o2+(taRX+Os3XHSOM& zD12U^fyzNGNZ#I_&tkmcq>ajHjp{ZuVJ$Rd!ZoEm@U$VDcC0o0rC=k+Q5q(R@W8tz zRD#D+)J-1d#YsPwdBibuhmk7@LEXy}VqNh?3}2_7#Vi1Rk>wuQ3}xc5&5{&ppKICu z;9+`sv}{+h)bh5GnyIQ4AhU9wa%9q`l?VhbP0f8Xa=G6t85F6`{nNgLfKC z>5_icFzkN&`ThzKe3~Xk8gb>Sq2P~~#(=c@tI~OYPb z&Rr=!0fL1Tj*Qe<+!0s&`1ATH!6O4F`^vDNv@4S95??R++ zA{WnFKftph*l(?v^9gz4{oP-a%+M&bF5ttTw^Dm<-4Bqw`6-nefhkRna%9F)!*o#Z zZC;@-c(!*fnq;~be6^AP*xn-Cg@jK&IN$6ehuM5MGPBP*eFE%zoV`uJ6oZhDu|p3e z^FDj3Mnpbb>-Rx)1Yal*W$}V0@m*vc(0ys==ed-je5eAm3p%Q*Z_D(=Q_UzEIgIo4 zeoUAGYSX-Lk~_cBM5=8^zjvr&^bk{$uWfDp;i476RRe^#?Loy_ZwrSlt4c5krOG$* z+u`=hjSv_|Lo=6YG_LcS+>lY~{#AZp_rXhAUh__RjY>V1@(`#9p$_TOer;xBR#fgj z@e?-HEBSpb+V|8an2)FFbT8-Rj%`EZ(*Ieki&C+R0c*b|R1r~?wFe7%obp@fe+IHo z4ZOYg{!c$CQ1dV#;+tjn=ZnKtiINcZ~IUkw~Kz^Y8DRmWB!$oJBk#b}szD`>%?Gj~=?( zgfqPadir?tF@q>G#T@{Zy4#8e<>ft4z>kBk}|)SZQm`Ly9G?mw*z>6CiwBM-i|U zVw1vV+Bm;<0|!4LT&E`YQB!59_3O*S2WUIvG#a{IkJ4b(9GzGm)K~vNdq=ZHv#hAq zw)4}67?9BY7ICvSH!b74RvwkWC`2qeVxmN~Y&7dyH*pV29FJ=#%aW;7pF28|>Wn1W zo7!OZyt_pgaP0Zob-M09TBI`gc6Yu`r+q}MaaSNE!YQ%OZA@GxC_f%Qqv7jJQFpq@ z++BSo@N|fU+_u#>yc(J*OT?z{T*GktH}ggX7Tt2qL)N1mld2c?cVF)M3T^mI?PoVl zgwu)hbj_EMB`>}H#5C4KOi=ToI87HZlzUZJw82gQzYgYo5WM@a)kY*Z`qosk07TW9 z)xkjLSO&!1j;y7%I1D726oSlXtXF@RevkHFztZWZ&tU^P)SMsUF5B^0#XBny*Fz{T z1ea!pE(|(s9zvPRqGf;lX;FNVT4SBv!`;;1k{ViPXx=9dNgTX2Zg=rRCOXn*!hfJR zj>I}kGO-4GwlnL=nDLcL=;=Eb$SZyw>v8wUZ}k#0Re9)giLuHagt~Eq9v#cv_b@8_ z>)!ht6*_9jm&Q+d)~n5h%7;hod%DZTOrxE|h)2`d`N-IG4tcBFXN3(HMK|W|wFHN) zLfN$Bq9RA0QBjL#=@z?;qY!O+lGT9&bGy}k-6%o;Uuxhd^`P+vt*QF*fRSpGmyDk8 z1Njiz_HeDDm0L$1$E1b%CpI*|0{aHBHul)!xm;kMSf$grhvMxmva6H1XvcT}mj@po zixLe#Uc~J7m-U;ytmb!C>wd(?#oK=mZE*OcS?=Ir$t?EH%+ok7>J#N#OX$r}_e8~_ zGW5<>#1*(XPqr6@3R#(VvbQnW-IjhW(a}%ww%415?+d32yI3lhQyF)jj*Y-#QgC8R9++rWfmrgtt$Kf z89U0OFqqD2r5cFz(}wUP+?zJfLnNR2h+yiXy(b&AV(wcq}&C6v>9kCd)1;Gfem5WB&T?kYPUUV4cygUEZJa` zBKqEm(&=mIDJxPy{J_gujLE^4`x!7T%C(jHV*dr_V52usk-?{?Mn}Z)Pgz(lV7Mz$ z(Nrr_OsTr`-r0OzR!pLyf|f*orgwO4;20M8~ zNJ0FZf4{?jOgj-bfPdp(8{DOzC;#f-FYwpe1N;EkC@LY##i)9x*$tC z|GiKJ|1ma+cE*`w>{MX^uZ{{}Y-xmpbc344DHq+mzn3gR{$H<@%@`KB(>7aOoShWy zKs)}|gRKOVo|hLoUBar;s_dAEW*a&VAMB|uv!BnN6P+H;oTeK`2KW<7Jlc{un^>p z%chyjv6^%NVH@>!|RM7lg-b6wVRoh87|`G;q5XI|3Fr+@w}9+1(No4$a!1F zT&*Mx_q0|A2#*LlP1@o($Km#w3>|G0_S;9~G5K4-48LDFlOJ&1xStcsDzij4+{EpN zM=qYNHU;*6Mfzfy1WN+|-?ZSPcktr#)30YI@$x%`WU~$(hw-R#LcmerLyXS(U=WK@ z;CMw&Zh63I#@2T=Q-%fXXdj2Yhg-9p%#v}jT@XPEHGt|0B48{5!`@N1^C^XtU5hv7 z%e$O%Oly|8--(eg+oIfCwm7#yyv*!%Ci6^}nWithXP%o=IONINu<3zKcVQQ_t|e7| zX5&$|@V^h1&08)|`H+c)$0r?G4Yr_nh+gMSBwVA?yAR88G;#uX?)_mX+<}Q+P z*6lB*M<+@Lh}VE~8q>J`xa5`qXAReWIbhUkf>@e1v?opP<%_8r3cU6>s5Gc-uNcEC z>K1UsRR{DWwPECNou!p^X1RWA&Cba3MmxZPkR7>H<#uttwJ%U?Cp9lE!%@l0{hy6M z$@ESkgVygfj4;Emvps*+%E8=OUDl_*XJJDHeuTEXP(h)DTaRm6t%D|K2*;1aa=$AI93=s;Z$MtM3#N-WFEoJ6E&> z7ODIOiEb8UVa3osZ&$~YYHt3=;26;W_{esrM&S82w~&rO3fl`?B()9p0P%q(A2oXv z_@e2gHoD=U-FvkQ?+3ep3!wf$0#D6bSQf-{g(cOG^5V3hjB(>|*~Z;$elP+TbS#|H z8jm>}r`q2H$r@S@Yg8WOE?2J#@E8`j2o#!o5MtK7pS3j=F?sbr5o)N++!HFibm6tx zH@!yG7buxOg3Iif&EP3N%$AVh7jQ@QgQ^_y(`a;VP#(q~`Y}vRjm7e8P$wvtL%3uA zHSe_l%4nZI7}2Yh#cP)_V);&|7<_yB-`zcloXnBz9Hr3^N87LcyiNvxfDIJRiQYlU zZ1}4VEzII_%sB!_WzKMnZ9bf*CtrC{7>Gr{&Bz~**4^$&U&`*)9vf9*Veqz;AT9g!n6aV&@r@G9+%Ktf3!85)mD8pEZf?653`NTQ84DWobTfZ z`iN3E=^c1G@SIJliI1NfRO=tLyI_t%@NJW~kbNDag?AwO0Mab(p$9|uq3B z@Y+yIIec&sN%g_##P-ntq@D*mkE{8O%(U(Web9Yi~^{(y6V;?zb{}7T5*6s}Mr90*QyLNsT>rZh-Hd+B6ymQH&gN7QU@q zBAl%htFCsM-lY36fVh*-#l=JdDc)P`8uaV%82DpvU1CHMD~IO$-+kb z?P6It_8_#3Qi5@`zxf%1Fr!GKD|g{=x~D;||IhP_2p9+5A?xi;aAr`Lu?3`j3Zv&e zD5?4Q-4B*Q>@GL(p0IZeIUI8jXx#X&eVTYk`Y^RA5SaY0&Mxm>y@S-VvjdORr=wG- zEMwRru9Ld(@H0Sg^W;Sb=2^cM@-g^3gvN#HPdfB<@OYWMWIePmDAs#buFD3;;SaN* zh8)&UJ5A$(EKxFGUP~(r#U-W2y6_y5yLRKvoV|q?A_KiLy@EJ^h+>}0j&40_cadsVg*PO+XNwie z`dCUW$a)vTA#$0;R8*#co27tn6W&>WQqFO{60x!;lcE9f86Qn-bsCBo9nA` zt#>ir4cq;Jft{5skq#}Y1AE8gBZF``?*Su7^!4PWp)9wg^ncCYAT2OL*mWBxf)Ama zmTI56OSLnME$#6-KU)@;T2&RKVo}Y}B1t!!xptEK8P~`-wut6VN>j|0jqb}y2qV!O zqWf}#RLDZj?Bqavw!vkt)-GNi$@>i|W9A2n4Z-usdZ8=KPY9fWvnW1GDwke=XHY&T zE$G*xC_|J9Fk2j29`@Ix8Tg|NlHG5T;_1OD?CS2M*ag}C-hSw_YlY%ryfaY@`=se3 zd?ZD?Hn&1g^?=fn@hAg#?M}>i+Ru9KB;RYrjnn1uF3v73dVO#v+ZOde3lDD!8I4bc zZzZ^uo<@HcTu^>&Pp(+%mMLC|InCA(>MA{6kSDuWe$~ziy?bVvlF&;CM8nRTd5KS! zr|ol$`3h-@*k$5vkuHR#a%aSMH0tc=A__@j-Q*?oJGREar< z@BXWtLhnF@+ibqZNE!ZvrZ3-|c-gg;Nmz((g4GHrkFLceM%u6ynfWOTQRYa9`4+PK zQ>T12^BGA_2{{=Qq%Aa&|}(?@!5b<(`J_1 zAB2m#No{=3Kxf0Ek@CDRB7A@JAWTw@I+swBBB2scCOY}u1MtC;`SR+Da-y!9>3R2n zVy+3dXROzcA068sm}V$%I)t4(L$aDUcqTdkg5j-zKsL+^rNtbEzHd1)U z`p0(r->gcmL2k0PKx8iDROxxbF^BNi8S!#IchB>S_82}U%8-EfN8Y*DX*Tv&bynau zzY*RYK_>S>_%?rw(~{A82=nsMwhS;zwd(2b9`-jrQCDLCWWr$8aZad&uoC^< z5x35sH1k^&K?mR$&eKYlrL*GCMI76W4lZ08MB6`dZ()}lo@z~V{z_TG?&$jzjfNpG;JqJy{(KSSsi z*UU#2xMC1u#hgfH2hq$Cu)Fjtw5~YUw}RJ)dW}h*$vRmSM1fJpXX`3c5yeJ&L`bpI z^-!CGsekR`(>>PZU7Os!Fy6WT?H#NoC?AgulPS7J6+}pmBA*>8&M8QBB`VS|ufNyC zu_IKCN#0E_u8!AOJ|~Sk7m{by;q$Yt&4Yli1q|b}fbbC-@_*->b`F{5(3m5u=2A1X013p4Jtxksg zN9fy%fnN>ePyX zVs$&2eK`C;C(UTf2zH)zz0`XpyrkpBIqoAR6ntOHsdk%tvG&T}OwnaA!K#qa zR-mJX?+9$G9`$_YBA-q`*GjIcrju-|0$E%tj-8*@sEg?6#;MbC4WSnP+XIuK3B5|4 zI%itPw>KY-Idj>|2uxic?YdT&&waPh1=0G@&s=sF3={%u-dguNm9iwkFE$>VD6VUe zy|lyi;v*x2kplPUpVLv%wax+~Gtv~f%3cxu{;$c5ZAcMiNjPTe42S9hl{11wj-#+=2LPZ1J5A?4jG)Hc;|j!6n#F{9dOSv<4pM z^Ac%skEt~4oIBrfCek*7hEhF0i*plUiZ*BTYqz9;CPX#T5L(w;74YWbY&pmU80ra^ z6d%YXqlP`)ekSeDHJ42rGL3D_bF(P;h}Nx})41NI8`HOC$ZI`fLryBEndNr4?IY@~ z3BAL!G<~@rqbF~SCP<6C^>XtTYETH4XS;=`p+UVNn49?rM4*?1j6AC%SL9OQM` z$MhA$E`(Y(5+SkPTQBK8JUV{!gKN1XGJ!b4{>U3D9%w5|>d2!sK@n?fbL++(S>D_y z$hl&`ZgwQD35u=a3*zLf!du1&K_%!aX8!q(#_W?k%m9W(&d;oZI+l8~l5o&80|U@7 z%qiEpx=Tsz+}ub_d^hHY20X9}9k>s69o7DryU>C=7$HM-RY4^*e(Q{UrDtRWyi@tt zuuC*yF*UWkFdc7Xq+C27Z@RCWv}El1eg^4v3Oa0-+Toy*e-F0&OG4P9VV&p`^ULjc zY}yE7Y|#&FdNfdYZ*HuAfcv3F?B?2;G7jhh%r#V_OClUs9=5DUIX&&u13G~J$Qo*D zSqEUm#(ff1GE*jGqtppOS(u&qkPre~AN)DR9N$HeFiQI(G2Zfs0HAdWi=b@nA z!&}7VACP67rNPc+o5hQ*|4S8sKMC{Z$bD-TE%LNO?+4&UW_rd(+YJ=E`o|Uh=x4@i zMBRdt!cA5Kp9{Q9v_g|os~0OitAolZc?#X-{yw)Lkjogk<1Ptr1;<@ixfbh#8;3`@ zj{bJ9jox+);ZL*W4L&FDfK0iDqvfs9#I6g%*B0CgOo1^VaEqf<)S%Tc4Q_EP74x|fU4_w(aj*x~johk1V#(P)*5a3NtB zb)ooHe+PBFIok&V#32XdtUC+OwV-viaGAPU6~SUg3`}f^oiLJn5XAF(>23-llA)4C zc<6Lx_px+2+#2m|eJxOik)H)S#*&&420)F}*B=t6dI$h^otf3;L0CkT-3k&sGu!M@ zhrXX{8nJcs0mY>gj%2C}(@-*Je%iQHAmH^)!_ELi5zyW= zfttAn>c$`d6amGM#*qJ_FQ53xVU`0>j~p1SjWYW80l19{I2LFa{~p@F@FVQFmjN?D z`Sa}PK>=*_2ra)wV8c8hdNLw^L9m^!|7I+F!%XxrbKRR!$l~L{?iaxH_Ai5=xiTuQ zSOB^%K{M9+xND`H9~yj;Lr>E*bDuhREp={<>SgT}x`Ng|4t5o1pZCTLNdqE{Ge9}& z6?kBsKF^Xr)H2tw+F5=v2h^=7;nF5uMI?&6?Ae7WYBy^O(0=@uGR~xK2A{0~uUY2P z+{@g=W}7=bD++s-9vQ))YYNQS)n1}M}! zTB?9)77U^Q*6dFR%MFtXeo1>yTsq-?YV?Q~K>{ujD3kgtSFCokif;AWA&Z~gwz53t zc`r&+dLOQ2E~)c~68yM@`pfr$-Ef76T$RG?`*E|{pG_Ov$LVfA=ewm6Cz0+wx81h6 zbj1M!^?oJO7{=~t2fp0^O~GE)$teF9A;54#5Ypu%8 zA*cGEJ9k-b#lM|?%u7__z~}7Hw+}O_v1nvoMszg!*vsR zUz8fI&n^#)uXjP7fPXTDsQM)}7?G?|xgL4LVym?CbDE`*4?LBlLIXrWt8O$hoK``~;(S8g(k>|>(*`iT zbt&#j1seWvovkwG6^)a3miuO63@!sW+ij-71`J-1b5NT%9YD`xf2Z%B+ zxYEthr&rzc-qC)uciVAi#J>NwQd9O(W#Ji+$tiaCRo9#_F}vOt|3+KG?tWBo zM5vE?Ki9Ol8^3Jimf5u{T|wL(-qm93{Q4%&7#N!{}z)}DMPhb{P*>Ur7O2wxqZ zoF3+*f3dyjCmL|x!QY2W<+}2)+*wLXre9QLP6S>Hq>SmeEi1D9v|v6qS4TbIOyPwi z8QxA9ypIS&a524ws|BlK0(f4-h589z7JYUP(#hcRaaRRwpy<9ZB8ehimIe>iJRPY6>jhU`e`I(o#r=gFd#sa0E7Pxe-7ax5R_zLB{b7kc`kBn45D zPpSlhHYTghU5~LmQ(4z~M%?*a5Mw#LVqHx_d1vswSf`>>f}P>@Kp4)fku~~z?&3l> zIHiSHbbH2N-h3dt8}e28@9G^@1S76>?LVM-C7Ds3!?}k%DdkPGd1K~J z7y|3aK>4w+oM?Z`AUWN#LO<-ucX?QLwv$o*Za^vY=%?02kI9*a0`gJ^J zQ^xn9%UW+~W4%c?S7v`&-{m3ku?F(3cUq2X1U#-}u!+nrBx(I)NcFcw2Y$Q@{r~>B z^}xq=J8O2JIQOT8?_oXJp6rCO-jIfHM`j1M5gBM2ItrS4SPD-!!(`Vi&QyC$LxYg^ zFn>_cRJkeY4?X}Nmov-eEi`l?$DcGX}uIML4}rNrkHfKh<888FdS}}n44<;{{I!><< zdXyOW`}|>}^`ed#NDrL=?->?Ri-cex5SUK$%03b`aA!oFwk~?!aIxA(WB_g4GHw9}I7sJ(}tVC_a z1m(4rQe$TRd1n8`7A*PuB^dnT19`F8RN1a_pQC-Yob~N)pImxj%e|L>TEL5>p_$AR z&t>{p*f=0(?ieh8Z}-awj7-AK#m3seVAkRk5_1oK4)BXl&yP0BDve)VO%Wf<+3liaYrZ=yzqSm2F2V2N>J!z>XUMFgeCk zJ~GEHOzqu53Z!Hym<6=mw%}jmF#^+f2}E zwYD4bZm5JTh?3*kmu5FNZo*uK-DOC31%C-xn{>d_;LdSfXMd-$^Jbt}0e zYl{lP-xRc6?z#B_#S#WH#|$?j!c8rtmc!(`4!a_Xxri&6cBun-PYX3w##R`{dN&|N zz&-~W=Dt)nKRFlhOE8SRf;WGz)QPLN-Ll0~=D|E&?lWd6K5?C{z`Z`?h31|{aCE2r z>{kMY($3vKW1w}{097*Bzk}x-X6T|FbI|#MleGwy!0HN$@eyPiMTpNeSZ=?>bKS|n8o1<& zthN%`8e5FSew)C45cJ_CZm-Xe!iq*7LcufB!<{S$u%2bHaN$S&nJ! zH#$0=7$ig6SA(^4&7n{8fb{2@IWBY7mIASOP)rFAGd5#p93oVSF=rjLpAD3?VMa5= znyXf-kr99eN|evdO?tK(AR1uN>~#sfE0gE3n>b*t>^`n{YHM2ie1p)P_j73@&4OJG zZ^Ns+(Ethig?Zk#w(3Bc;@gPK#f<_ag`3U@cORG2ynMDO8_0*qN@ZUIkwVfO3PtUb zapf$Ti9gYb=_|+k^}23e$3WS>$39DcH-Hi0U+VUf)}{lF`oqzQz11PhZRB`)NowY?*B+}`ywa*X$H&z)pl3Bw!`dpB#u}iaCF4Kk&<1j(3M`8p z7HO(EA%d*vP|dp)dSCwG3or8hn0b(6PVU&w@q{^QHfN?2<9`b6^yM6Pu zz+kh`$QP%Y(15Vz`oJ z19-(?jVC%Y+T|#%)j5_Uk9SW@S*l$vXC_%&V$B6F7ZCu6s3Z<8ljWH>hW1u-XGfSS z9(>S=c)<9G7xj2IhD;`|O0TEY{?d8O!0$!9#wclcyBO9=zrb`dwDFzO3C*Q%7)(a0 z5-0Vpzid)Mv~6{T|3icBGp|fv3%>1%Vxg?w zza0<0os(NRXk_g7btm+<64SN-y}u%$9Tm?!;V_z(u9pw-kJnmn1<{x;*wh$L^^)dM zJ^3!Qq0zoYmm3lF#}ofMy_#8uvDwd3RSf`$zAm1U?=n)~q?4B7xtV;3lkC;4jFKE& zTo?;CVi?=;lJR+PFNi09sS~{5*ZHz~y+yOTbl#0=o0h0)J)j#y&G8|{ub9*Y2yi3h zNkl5rTxRHR5CcHS;v@ni+ z<;XMZA}dr#zgf%^r`7jatcB0cpy96#@_Tp3dag@wVMW54@)Lx*`3B-eoi|=S>7eGk z``U&f>=we<;$1Y`Op3W*$pgnZWCkcE!g{DK)MFzv)-f-EUEY9+pp_*#+ue}gQPt6- zw37aqF78V8!pm?1tBa!(x8xu4mh?-Q#=ps0;<*`4m8Ihj>lm@%KE;rg-gbk-Tq604 z+dCzqhfUMcs>FPi+Wt!)jQ-gPABkNs4CrI1xK?~q5Lw1iC@P`1@Lc(OIyUSc-M0zI zX|J>0d*(Gvqjsmgn^HZEvdN!CdFivLa7gbGY&3{H%PQ=bHKI9LG=#F_CuNew+4p0< z4Z}a{(&5y^-Mp5SVD4r?+8sd7DR} zXb#Vq^X{9&!&!|7T8yIqI0oH33;dud$A_qpe{c_5w!u8(qx)O$;rOJU((IQioHgWEj|g&FCldbW!@IdJ>uo%31P8| zo8)k?ddDO!=Q1wPFnJ$ReuWj2q1}R= zKI6|Vpa87TMSr8eS$+V($&4Yx5<3 zeV>KoU}fePiHn^wI68S$Vpyy!eY8!PzmcMB+Y*cEu)_xzK58DD`kW`v@0O8cpxQYe zU6I5ty^l;b%$};*J|?5Ext&WPkv9teu2(k}8;q9e2WSLKR<~UT^o)Qfe=(<+QsD$R ze8Qeg8|{1+nlm0y9D6qXg;&%%m!U2HO$k5vHeI+0+u`rJppI5=#B~zF%Lo{s^%*l# zE?4&p^$yC5rAyjzjwu9o(DzKVZ3);Cd)4N4Ux z5yqKm0@!SjhDK^-Sk{>UJN7T~vPhf^5F2hyvnj3I&+3EPzRo)D+WKj-&bZo%*_W^0 zEd5oabyHu>HoTwunh+kpERehY((Lrtq{eAU6 z%#B)ZcoGt|!^>1u($^_7Y|1Gy#qA@RC`0>kWt1FWEAU697_uY@a zU6p*WkKrlh72eY|6xT&oZ0!sl0IB$2ui!hV4wz4oSwh?6RbKvxr)}Ox>au^DIL?Ug z7w#bm{8da@0D9FB}x$7>eW&EqJ9K z+kJ2@`)t}4_mt!L0~)8S_L-RM{4?>u>)!_1GBk(s;X1&FeAEZ$kRAG16vj-*MgF8< z7rLj|0BqL0s$XKMMG))b(k7a(4Rinqf_eSmo9qX>7FC#IR@-*V-eo6dAbY(bAC7Tq zQw<|wN%Zc;zseU?15xPJY?<{ABqvN2U5NZhX_%SJw;Y!g1~Q$PLd$DDMgJOqriO+8#C$$Y+WmB%;@c+NjBeNF zrXhA@`G=4j)ObW`OT!Gry(DoHby|}3<$%-1E#yn~OW7>4p**540L(-2KVjLqZ^FRy z%2T*>^;Y!Vqb1RIcdEMthUF_iz=M|rfLt(^B5EIJP5uQ{t1ZBKrcaz2$_`~W02TT8 z8_h}WoA~GsJr;T@lAGD>T`%TFtj2d^rgm~~Dl)P1+4f9^&TZzG)N!q&%Q8=d3qJ== zR|cM@$dkK}8sF$r9|A^;oI~HkADGNo8-Zf|)J)acm@R>-{;aT|pRWQ8#P`j%6w3PGDCAdYR+5m{;y}i~_Q64PTTJ-~V>$&{cD?9Xxr|>-k*P z_UsS;*Ane4=Hvv%8wB>+hY+CxAm~h$R|t#AK@WZp7q735Ma;~cKkpPF7@B?+DD(}! zqNCLM(&p#(mykSFGdj?)^Yj~MvQUX@cQLVj_%i;X^zR?!Wcg^m0YUy5S&$$)f4F}D zNKyUoy|i2x-Vf^*pV&}mf@qAR9mFf0Y`Gi$kk5@&x0K*7`%zD>!V?oWVZY?NGB>G+ z$t(5ePLRs;(O!X8dq^T9D%e+XJF8i_!jC<-8L=1&dQ`u`Q~#3wfRiErXtNBBvmvCX>rs=&p>=-m`ps5ZypR-cLb8| zP~WTDQmo>H-^KtL%c%(59uNeEDQgSl&Nk-NpmxClO|^IJW>-~!V0FU}v+2ejt|y

Ncd@VLza7!CsWWIQOJ97Wi#8CQl2ytH$GOGG!}%q{ent7fC@uVz-4y7Z+-2AI`-`4 zJ)Q)SUfl}=IzyN^03tM-RYTM^0&bq&^LyMk?;;y<$4-KU3kHIPdw8G*4v?!{-kVXD zyA==4G$)G3PPo1>cU4yas3b^@#J*({`Z2-kT1?rus?{c9Tjs-ilD>KD48AV!CV6^+ zYXZbR2{s$DGHDkdyPC-VCXqwyxaJZ?2o(USsWILDO*(5wMfs}BJ%nbd!jk}r0Ma{$ z59Zrsq1TBRKiGUAMfbf`pZpx%kVEds4LHRd?M{-T|Kb2tE^z>{0D9-A$4xUejlcPG zNsq0HjrL11r94zZDb8?Ai>0npUDqh!oQ9ZzV@h3YWnv|FGW%Oh<1cMDk=iITBQj=5_4#_Hu(za?!)vFLH^N@r`dUJDxX~cXZK;BzSP3X z?iX4s`BjIyxY`okPXI{|G>g3L7*NpS04Su@meH91k zbf$9RZkwI$lV+xP-+yXMU$88NxkT6=C%}PBEWn|B@V*>^Ew5BkBadz15{|A0)}uV6 zJy|RS86Je6zxD4m=lyjQ<^j;|EEkTBvvrVj6TJL!cOTwWYA;P#TWaf#$&`dt-@^FB z7CO|-z7N7x2f|q#fC;5DPCCo#Imgd9S5fYi5ZzVgz`mlYi!y=2ll>DBnpDMOst(0D zG51d{a_ZZRW?q+(eNSjza>Q8A9V=kI4Kw@P`)W(cAJu+d43*fgOexEU( zG7ba3U}`XXeqmz7e3^az_aX4QLf8H1-z;3j&k%(3_v!7LPzN{TQ~9>I^406K2t@}x zJ(**`wCZkh=;K}y;YBgMR@aN^I+yU~Nc8JkHdRV@vhg4Dc(0%0DKk#QoFp2wXtbCPqyh)sTAqBj;NoRl$s+^7cJbo{ho= z!!>OFPX-KG*L&0rkLALff*4VHIsk?yf7b0?SkSN*3w2?188!{Wur{gi>Q4=i9;)rIxQp-2(*<(Ks;&xaLcnX1`JZ%VW+4wDfec zmSOT#8hUcfhWMvif5pnB;=(BCrju+Vni)&;TIx zY=02zwu&rACdPkG<6Kxx1^zqyByOgn$XcdCu&}v-mM4hvdME&?5Ss_kxp_V;M+(53 z0tCCr9xgY*=NNb5jE&W>b6;x{XtJzM$Rf1fW=$pS${Sd8|2OMCPj#3jmJg%Ydnlv0 zm)S6kftZK~{kpVkvKD%k9UP7~t|lj}$=$JSCRB9LeExh1OewQ_1ZSaa?koXh*{!6W zWyy%djj8%#U?yzj_)HT8)c=8N`5x#)c5=uuZyP4*at`imU6y(OZOcq!x$HcwbZXxB zW(zoX9iWs#7?kw^f7N5~?UbyjS0pFo{f#2yxA>o(pdw{S?0zeLcW^cojL~^ys=!$o z!`C5@$`)95Totlw@uCSPZnFO{EEFD3?ZtVIDB6CPi@y5e<~L|<;wRL_eX~Oc%WU9cbKWDCs`NoP>TW3d$G4YVGeunjA4uqEdtj_Oz6Ef-qQopq72TIdgtTaOwxbE=9`m8dBS?f)2rx^E92Hj zO`#Hd*^pJ0T4gffspH9qW@CSf(*u?%tjLM0e}2LVe%7*v+79Upi~bI1!-3th+NCAV z_HJ~FQ_u)u1y=dY%x#ODk6H1niYlkBp zL`d7GpGx@)SLrmz%eu8T)tmI4b2(d`6x`JpFrVh^p1$7)XJ}nx z9$XjxBlERl&r-qSn4Yc<{b+823amzcU9{J{*JgtWA}nKEBwMWyCfS?Q^8r_OhOpjMRbmfiOlB-rF0#-}ZP!3anTa%kn_D@gcnhfOKG5!5F!%n&O~q&M)@Aw#5TK0U-!0B}nz&NQ38L7Sim1QUMoC0?l6Ts3Q&fUM zz{RjQ@dL2t40+PXHr+Qg(zGiTSZ@^JEVBX{(7lP4MKSA^rI&v)$inl|6-9XMO7K8s zPBYX@#UxAlL?jRpxT2iiT#lEed(nV-T-%p&ErQI*UQVT-e?4-Yz6fXr{k(1W&4ZYZ z4M>7Seg_TvGu{EoW#ovrZ{GrTwqZ4Eior>Tqpc7lGDDYtgg1OGs##vd#(&ay0`v!p zrySIKV}}Q>+KaDy2o@-f0tiBWP!2` zobQ>~UKgW8RsPh>?#KOjvOgn^b0+kQ1G4YAMwb{?6K#{reo=P4JPOP5(}Mocgvf5I1=P`22G9b>)b;oru>hC-Edf>NniVikcG6!ZrH z){X4BbaF|J37Qi-B~~?ly8P-2|FSO1Az_4Dr86LrE502* z^qV&9wncwsp~af4?V?gf;7`nLhTX&LkAJ@5WQ%;)+N_ilZgpOl!>CYDh9sX-k`y~G zINUS!>Eg#Yo{1K1c^y06?sCBAoYMBOwVPNj-PXmh+^J3>TNJq0sy0_604rFR$zF@K z82lu3Mlomlv^{^$P{Buzcp4F%l7;mfDu;K!g1pwxbJ-9x47igKuRU5;(E5%{-lO0{ zh~T(xLv>vG>=vK%jG) zQR`M+?zZd|-@y(qA~;YP_LT{8f5j~IWM!58!B?^n?_fCsA%q%%y|Y@z+0Vo;i{Bc- z&u{u9p0U4*ijQS}XesYU_lw+r`{8edi^vm`=KQ9{C%jW??lIAX5N7^)(sxmBQ~YLc z8)O}geZLov&|W8?iQ{JLQ+wSaCk4?Rv%CeWo6$}_?Wr$)IU!#Mh`a}_G_eaWaQ~Tm z5XtA(M*<@BA!|)lC=}3p;aZc{(6zI_Z5t5T(7t{Gpc1%}Py9^vN?BjYIf1uD(DtNr z1a1;FZ0-JQX%B?a+G({EZl46*|+!CExb(ZjK;8ktUiCKvrDd5Vq&Utww^p>Zq$<3Zq}fQHSir! zeGF(J9A7h$ICu)6Z6s`!%~-yL|LuTc$HJQa-v7R;r9gp_Va5}$&7SCR@h|E^;gpM4 z3Jb(+?O%fJ!%goD-!yRjD_>3yn?7CZl_8C)qcYyub|5wG#hE8&5tdjMfxs1bsH>pB+evUh`W?08V| z;{M-C1?T>rhv{hSbUgq!_I-&vo}x4L1xWo4Pz8JKqbq7WAc5e4i@!WBA)D$Und_6> zIceHEEEJkfgZP~uo%_#^B?RW^S>r=?_5r4B5%^!k7%)7q-3Hj%zoF0yo|(T`peJ!H zeeR8RkFALF=!IcrfNu@5W%u$*%HVGyht(6HIWji``1JvR&Q+Qr+pd<&lj*5^7sYaK zopveNok2Qby@i&yp|q zFx6KS{hi}hn@H?}DQ^)AWHVapx@K_CySR*M5}^ih^Y8vWMJ=%5DW%!20z~)f@T~-kk0#$jp99f0e)=2oW|=-)-}w3 zz-~`nIbmEPY+GlF=V_}L+!iKh)_Z?OK@{+B88VD>?lyh^V>v(fgJj#`k6VN%lPqi)3e7_R0M-fR5x4q_{o=#r<+&P1rO0$51hh z4qZ;s(oL~fJcYxrBI25dhO7fuaridRji4N_a(e4ugw|IiW5A8(-eG;fw=#cl!T-Pq zxrwP!)X!;AF9C}w5rXn(9-3v{z#vzfqCs;bdiM&yb2 zeg?%kRIGO54#i;?V3YVPLHzN5U7u)ZfDr}oe?oI#y&Zf*aPd0?YwfM|#iae!8DN@p znDsZ;8?UgH4s2;cot7Heme}{D=ajFPzXyOA_h{kQc7&nLS753$S)VtUWe>Wi^`$uJ z8=tc5GJQLxBZg{&aM^QyTku6)Ij*yc%ZrU3FI(wJgQn(vxc=L_jlPA)TRYX86uK4| z+!cQ(5c7rC82hQVbheP7iRb1ti7--*;z1^Ojkf+*Ok(;1;Na8)NT5V)0{)dtC&;3b zD?aY_F1;Q8ZO2przznf6Ib6`3p8XKpt#Pq;y!joVgS+RnhF~KTBKiY0Tkl2*utu&a5#1* z$=Yix!$U3SH;{8LL#+Wg$`VBGu;1&X<)kcGPo4uhIO);+XJP%k>2DPX*LBUH=7YUr z0IcVHwXY1+^kvyoR_Y`Gd-9#^qBQ0V7KJRr24X;bCG z{wyFH`nzKe;~!b<=-A?Q!Q5C1r4%Dqk@5~iO2hT&zX)~fr{pkHoM z=*nrkAlG{PKIgt9fu1CR-aIw^H%U$osJu_`_GkUl*v$O)e!h3#*i8jeyV)Pa+;QCY zD%u$hny_@)scEan0VExwW6tq<#~pav9ZcXv9kNEeo0|{Ny3)D9JXFL9TaykeDM$JO z#H;fq#~5Wa9c~(W_rYjHR5eGnmKMjR$x3mi*W8KeV}2gkElV)Wrp{h9+i>WS%V&Dy zHk`*CTzQm{VAg5g`rdb+qZ8R4-E2Eo@jpMu-NbeYJvYLW^|CB{27E?vck`&B6H$EZ zoyyM^JR(^F`jG@?2{-o>c4Vs@q_A>EWX;Kt`x5SXpnD$`MMVyo#5?{8{uYi?) zAk7x%)SQvF?!v5szzEjOiq_1ZlL%+eGP&8`(GNM#!bo<~+r1akqCj2v(m;z+F3dRwlm4ElKRG?xFN7uit*R2_QgJ3#t%%<&8U8 zG4`r^?VhA71hlC1aOt?8fq?#nLyk*4LZLD2#s@{uZ4(qA$Pf!3@^7K4xl3hx{$fd3 z#mTUf8byA5T2~GIy4m3uFTdUXElAGdX2qn_OH%y&@fO@GJNQh`A%`_!HY49%NGXeC zxPX&c?fEC664K#V3oGe+!K)vp0wl23#GsVvzd|_TzmPpU5*WKU&QK@$7TN(`NQqL< z&-_Zs(uwJAEhMEyfdLyIZtXNjWotGv{81k?$8wILPbT_U`uK$QrTF{FI#lg&vG%8EQlM zkx;8PLL!|+4xyVFTiQOwsgy;NCijV$p0o#0jlHErQ6?G)H7>&r~+ueOAAJk#|!XpSE~Vg%Zi^g`0$ z8d$Mor|`q;SYFud$xIM`ds!{)l1{GDkJ0q*(fJ0ey7jUoLs3oNy@0P1XKbfcT2Z~N zdqa;35iXqJ_d9g6fURZ6EXa1uj>lhYf<%px@q(~n-FLYReX)==fDDGjakw8b%zgsmOxt^;)u& zsS1?+wfs^99=97Ydv#^`Ikx0$t9ztanhV0>cwntxG??M80giGizK7!fne_g^q<_W_ zW3y7r7J2F=y@u)@g4ncd?snz)KPgFk(R-V)YQqr(fAd8doe*-qv?){G^1IM}*zvk- zl6s2Sl15)NeT_0Yp5jC99zQ0&mtEZckr8l5=R=| zcO-d7cS|b4KVS;8xQ|hE4?6M+|BhUx?)M%EC!p*i-%9<^9 zHtiFknHO*yG}LtZSn|ncU3`c=7@g&zb1!iBqGwI}GG|3W+i!{VxyaeifHU7=&PcQ1 zL1@A)S(m+dg|idkG80|x_Lt`u-)ZzdLk4xz*aFuaZnU;W-V>$qPXPplBIrMEuiS2+ zS(S?rZ^n4lS(qH+grC#yFge1_A}bqZkC9&zfIPahA`R`D$|8wcya;* zI|A_Y35qgjSEK_Oold>Kn5fK`o|H_v-XDbS6+1qKhVhCH7C?Eb)fluj!!D5EAJv!! z9P%vf!qRWA{X3RfM>&0)vKNjuRm7c>^!W;ArX>=p=K5I1pA5B}pD)$aL8}%lg70Cb zz?Vp!oA{22quZWcn7!oTUcL{;Y(FZWCo((z+2fz)Aqu|8ox)fJt}RcACIHHBoBKnM z-9C7*1@R+C{CwsV1{IFmc&vGb-{lz?47emXTmQ=^(#2emO|bkTAG#a8R*j{O>h^Sh zKP&e?Q=1!@+N&$q-8%iK1i?j0DPpw6z>H>#WEu01zgnO>cH$qvEIr30`a*;U_6hm! zr1~hW~D`SQ)?yh;7#o5)nb>mA)C@2(xK+9eDr z1YND7T}6qV4unfQ+8mRQx;oOVvM&a9&f9GAZ-YFVs)CL(a!xW@20|hWLfsnQ-vi_( z)!4|QzG>%Uj<@bBEXr}A+nXf2jgKlQ0*ZNaF961stn_@6W%8?A%LixOC_cRmHLRE{XPK z3%b1`kEf^-#LfKA^B}y7dhx+;4&o_ZTI#h@IdEg19xTa4X^(Xt$vzsgn*F|0Ox8RA*--Qj%9&6>J>_ z4&`)FCMHS2lVfX0Aa@>QF*oeu*?%TlYgJ-xu8F3YgI&IC6n+Z>@zF_p$n@{;i`$gZ zZ}&FgLppvN?c)zyl0_X92vyUgMtS?eV+OO}{NRa5F z(pT{GmfzFbOz7}Z4PZ@*!_j0FJb*h6=@t4Aw|R&#C9uf)4$kd5Pei&+TV>+6n{kSj z#piW?7>LJF|8A?4Y=YeB@quY+EmYL^tkb0LQ-Jcc=gCK7z4E4YMqE!usi1j@FIe7| zt?Y-y#GHuq*^HoR<7P}rVOSGDb_)sIXNmxpde1#;#gorHip;)C4d1PL(Noy$9Eb)s z(+`i>ZP_mm;+D0B3`jt(e<`&|160YX<7E{tH?b|^0hbp!g69zC;O^gWmyqofx^r8N z`Dj*o>7YUl7O%~Q#*kALLIg&3JG>{vTKeTw^Dn5kr*1aXW&@$qxI7MYqjWEm&w`tO z?#EyekRDsQ46~C>R3XaPxC@(s0%P5BJ#I!6vxH;k?d6V2JE{SyN#hdNunTyC9e0$=?zTWj%9gnCywn!&^%u z5Mwxu08Fs+ny2R3(P_C<;g*)6`J19t7tB5AxyINQnHy`11Wf+7e>oQt2k_S1zU@Wu zMz?&Y;{GmF@0ye7JK!TVDO!{0AOQ2BL%nW@mp(fF%n~xHsM`UzAVS>BbCmp+s6HBr zA^*)-4zlBG?^$Q}CKC=l_&X%U=buE|dVI+#`U1#)qNmivxqtNWc; zWd20znJm@oyC?yespfQ(G9&(${fk?H>k=Q}s#2`rWBoq#2XQ{&5pK()Q}bK=W)Sit zUK$to*_-r&l%HqBCz#a3r=oo2C!nQLwjiDhI!JNV-?w)cMJ~Irx{1LF&5j&O%^*q% z*ejAF06;IQ{QLU)rk|BLpQGc&pG^CmXa)}WcV%>*l_MZq!~Lt9gHX=HF||)b1hx7W zSW9dD6;8)y=Cu_a*9O&JN`#BQ$LB^fvXw2-d2{8NGLQ}tkbusBn8fBLNE8K`t{WLV zZhdI|z&PQvcg#-ZfuTNInYi>xKYXZ+atU0om4T+=<`uU!POJ6cmP|@?kn}KjU@N-^ zB*4xr4yp`W!DwdMY>F>KOO*bN>^!Z{UcbUV&U@ zqC;%n^uXtjOE@Bwm?z6KUrrK`KYTEMdUO=5(PSRKlRT4#-R(WvGNh`c2!dWrLx}hq z{aU2uk%9(=&m}4E@OrtmC_dMW1y3GYfhr%xyDTx600sc29&-V>S>5I6pyfKcH{T+!)_KLrn6S1R_?R#|imgnTf+VyWpCgk2Jp=yMddhdq)l)}u6 ztbLN2JFc8t7r;5+2GK`*1IhIW^4YuYq32#R&cvYO90WlMNT=J1A4ax2Ja=yrM_!y$ z!Uj7m-chRmbQ)B#v!244bB2LC>QyKtHw@M62}$G_Z(Xa3-H{tQ5@gSOP^W{dpejFY zlu$O)CGLwOc(QfdKAE`gnCZik%Nj}P@^MK?;&@#qSy{5m=|!PJC{~-P>E2HMH%o>` zl1q=a;o7XC2to69UlbsRg|JV&_B_o$l`kPi+J-1(e>$1yUf}mf{?6%RY*e1X2@G5j zF}ish2e{QulqI!G1Og@htJV7ZXzL0iA#>63+$?TJs?2ps?nwfVYV$^DWo%++y*44^~hKGEa2q%L946 zarl~-V1Z*v%K(O93D#wZuXCSGy%=zEIA zHxO}O-Xs6~tgR;jS=5a;8-TY5?!)4Sk*^iz9L;d6b$NP408P`$dR5U>Ju6iUeFMEO z$yOGdP&mKgUO&G;tKASl4%z2CEY7hb0oje>BJYKWXH3Ty{VMEvIw#zhK2qJ$Xh&1b zZT-P9O(+BZOQXrbYz0ji1qsFm)OvU#Yj3;XymhYkbmLiB;$0u53uA8YX*3OCC}1-_ zzPUd#bZ)aD@3VWWGgo`I(<91pP-5A)tVEgsN|6&#AAXAO|eW5|Rr??okHJKBB3J~Cx?cD43ykbbk8I7+C6If6x>{jMHaSqzl;`TtE3UoKM;Z#<6_)H*xCIVPIXFqlP*)BgBfez zN$VX{-!GC{LoJPhrK`P*HP*7&5o6#sox1+`foAQO^T|xBh4H?FuSLAyCE%E$ZPy=+ zF=T!!^jaZYmdWk;JidsId-YwzZQ9wf%kz;4ZHCvNPMoI&ndOGE8K&5J?Y<@%_7PFM z=ZMEUB^hD1xK}+(qVJ(tblLzrjLgkC6yM;+QFtH^V0hTJv`M|i*|{ao;ZFQuWiwV* zvOg}Ohh0Lyvb6Mor_XN4E7 zvBJpFda_k^*!4rpv!As`oHy5#gp-ewEg^5d928G8!YGwL$I~i5`%)TF@wu<36eq4O z&1Aqc6_vLpCHhwRui1kKJn>8IJqU_!9h0&n2&v8cDjV~l)SwBK>1yur>MR5h?8}HF z1Sh6;UmtipD%-rLHOc_6sgaB)`S6NxofQX@g&pr#G9#tmr1)eeR5-eol$pMJcYa@r z+O?_?>teGP>2)R0&5@}jeps;aoQF62x|m^Lvn6${A1%t;SD0n<;mh&scUg$VxCE}F zh$)$)xg9_3@An7H$>B!ppE$Cj2ve69gY<>G)w8-0Kq=$)G-cRnK0r}?Qq}0sCYZ_&p@jy$PIy$^ z6uVJweNUfCm+J8DZ=;S0LtR;~qtADIxY*qK16Ar5?$sN=-z$gP${de639U=_LfdS-p+Q-Ln$TBJv!c|l$7iuGEz;QpyTg!3yz$A~U)*a$$ zcJJ7Iopj<3=oI-bhMjmD5&J1-c=vON?nV5NbNH}=&zI+z0PCuy7)=E?^N}eRTHzD2 zxd$!UQ%$R=KH~$beQK1FRPcQpoC6)Ip;nkGAYcEQrvUuVRV{7H+1V5>&eFgCl!_qg z#(bb|3SN{4c6d09!YWBS)YJRCS1>utM{C8h9ePeEw}Y@RLnojN%` zOWm8QyC79LcA_0>YyP}3FE`mC-F&{a3XtDVMNOi%wQHVHS1ZugDU*j)mCcKh!E}`f z@$xe9sl-~IKsVQzky=sS0xG>}4y!CG;^>XP!7JQy=3fTikm37!@ z25!dh5^-T4Jm`KfT>iSry>kR;uTQ=Uq;nJMT8*Jvw`^z~a>jH~b}}-dggr@@!-G)Z z&$_jwZhh#}Pc_awfzEanvQ$O3YvkvRClP)8GKX#pGPwoIG{vav-1bX7cD5L zPzR>_%!Wjnj#LvcmIsGn*f4!o!%@$#VnVk=3YbBEkE7%aGEP3B3BvgqiRHJpukQ}! z`!aMSz9}c?M8$vf>xR4*WV8nwZTi+D;M_j&$a1Sp(O^x2nKjTHB)!==m!d57*N@!^ zuwinfU{_*8?x8%7lIXmkV3!+XC2ZMcPMOg*@(%TySm|s{a`osdQpSnc#PI@1YntH) z&NLUzH0ceYw?G3?r7YWLA6u z=U>HPMPZ#)5#l~K0q8F3Q>W)?Jfg}KO(sO>2ns9C`_bf!ArXyzXn5+DSyjsb4o4a| z9;>%T+j2LL+5q=AdYj)ZJk(BgF^)}rA~#D6&Tn@cWH*+9$R_Mh>hu#&`yiuOb7-5b zjOI$Soa*_o!w&lh7F8A3MEkxAOT2@QS!pVzMRn_&#-yyyN^8#!V|zBO%UkHf3LA2D zt+)Mru64>9bd@5W^BV791z|cJD?A}hu7xH!9&w2;>vvs5cC8 ziZptb8JXDm>T$+1SOCR{f`3%P-JJx5>J%@Jnssawz_vTIoOaJ!t=>^tFQ`pJ`%yi} zRO!pP)1>+Z%dJH#50z2c+>otMKkJ0A%;@x0(XV2IyUUf+=XhF-o%Iaz&ub1fAi;0g zNQe=wFS0krZ#4Ghzyj>ci%6J`xyvKZ~XlYe|=fl)7*~5KNy|rMZh` z_w@=x1dxDo`}7X1TsTnQySPhC(_4sv`F6DYt)#*&>ld#mP!LN7ff(swJGu-D`Jm~c z0EXvP-mazgYL@@L$1MA@-Jqx3AG1M&!lMO`5w!J-2MkVpi6%!=ORP>oxdiQO$bIKp zkCY(p>m~|W+U|M`PdOG&i9x@23f*4v!Ps~~2T#zQl4QSJAb-Em>lr+-q0bMk^0YLW zWUk((AzPYDzI;J~v)L^}YSi;<&N1)ai{Akuu|Td@wJIw)T4b&^{V;Bo8I@X7^5wqSSa{lAtwBQLb1VBgrRHWhn|}3R;c*fFXQ6Hjy+VdF1%bH$=IbrUp(`f z)P^Uo{rJpq)kj|shLH)A$E-*^FfFbU*mD0oIKL`@mr8a^&BV@~b8gPTsF^aawR(m+GAyRg2Nk?{HAwr?lqMbi z4~rghDr~SP9hH&jV@9Uzxyp6=n$(XamXC(Hh=5v6zZ0QI{M!Y-ths?khUet^xClld zOlqfmNoV$+iw zN)jc#-vhDpMu|EKoF`kh!rlk8VcjxC7~mC=c{rE&i* znh!u$w|~Tg$>kBgEIu*Sq(Tt402-=^{0CiN2_;9q%cpD+q(lQh)g( zUTBVx-8&^Ftq+04j>Yt;tpB7}HZ#1(lA2agm`KQYd%)|<46yRMTQ8g(tii_(G-Ek& ze6YCR`JUwM1iiuT^Mj3UF=+ad5TTgF!ktIw{Yk7(PA1-@pYj(hE|}mI(Yr!4ZuQp} zC@}$o(^6Ydc3VZAc%WM~qJm4a4gxPs->sEdI$AsHG4ncNvBEOF zV7X45ceJ~sRwU^32D^)dCqm(C05OQt=6H?!X3TbsDL)K!lBrv`>8{uG)O@h9gMEU+ zC&oqB>-QgqRPxcqee`U6{z`ajq=eRKLu54v4XAiwW z*k`PQJk-zp5ad`%Q^v->pZ5v-$&OG_&X~ldzJRIox`(!QDqyFv?~3s!e4kZWt6-EP zdstkNSg6f1HBeC~uXUj{r?zF#C~5tY*lyHq_E7SN%Gn|{)$C>H_ zM$RO?`M#~t7yBgs6L)}h+yJ4oV?K~at#7VA%=RXXf9y?8wjn5yD!$Y~zPvQTD8;nO z4_j;Ok(Y8i1{}_3w)uZ|cZ7y!<%6@>I#IRE4gA!NYUETX@9Et-5;(Jf*u0;Af++ED zdwqSTS;JC=mL`8QCh2O~U{KNICmVOpBD2)BGQ0atcF_m4!OpHn^b<(k4;a00*+PbE z?6Bf%kxD2@%2DrYph4Q%XG+oMDiAL|@?sK5mUVlo+O+F^TAqWtnwILs+G@yftC7qv z@;{e(EaM@?oG>zwwKx0?u+1l<_~BRO)DL4=mFe?z{YW7D}sy{>|elmIAc#vI?KQ=6)X(X+aW}6@kTVoOAkZmGRR8DAqV!QRW`;zO=?~n^-uga z?dHmb^NN$NRo_h2lW=Px6)>GQ5lHhE`^zJQKh-C-)@o&++cO-e+A&{;nt8#c@xHsR z@J^rX#IhZF{#%=sS*=zGD@)V3uYZklI(JJ)_eXDgEP>K zmuXf%Z9^Zy#Hl{2yC3e}dMEPgyu-azH2UdTzml=>U`igkrmW}0TBX+%Bh&LJ0y_v< z%2VBif|*1=hKmp68#@CV(yu)|CwhTg0Qp`*a+B{W@}-;f`BwKBFZ!9{%a;XSb`Wmq zPYlEX?fR(1cPc-$DHhd|(|)UZI{mcqm-b?nqp{pm$q(&~OMa4H%A(OTg_?!`^wvH> zunlwF3b#fT?@8Y>+2@6k>GV)7-t*R?m%icj(gfK~UT|6`?#x4rQm|+V*+r;mDB1le z3Y!pjE`FhD=SL6G>wmrIv`%Uq^#SBfIhc;rU}Ws&BiOW9m;px1BIxx45^>@NQtsJu z2q~M6BRPG_uGQ;nlw;m2UvxA{zVQ0`y-L+0QfbN`jlN=t3xn-{u{{$~KFIR@^fk-$ zuOjCN1c*RT+V?zaZUzdW&5A>5N~Y2oveJ|8Z5}XcE2qaSXT}DWkQ)HGRLPt- z%j&mhcgcyiMB^V&aSki|xva^nQJ3s=2c0W?h(biK8K}xv)Owyv`GmHNJXlW>6665l z#C_j3fzL8`EW;6_yD_}FXlFEE@6!ftlLy~;vP~I(Q#O)MxR)nAgb9%{n7F*UwL|v% z&2`C^iiuGT%@L3WVWM-JI!mcw@n8BxGyk3n@&y{ z`S&6)D0}(S9$V=CTJA71Xt8dLPJ1KsNb8snt-fpZX-3!UX8+!!p-E*lfuw>TP_GqR3^np zWpULYiJSLFgL*k|x%R1eHrjUMGlfvF(g_G%2JWEug8dt}#@o$mlXZ~k>Tu_0#BSm7 z7(rN>3R_v{vAbcCes&mnrBBvQkxrLs8a(t!K(iHg;ej4Zz4{H@* z(>E%B+}1z7!055%=`W;R8vrw-cQd7N8PiP-mN>-O6-1q`pVpz{f`Hg_tsrYVZ@2wR zA)KfBo5QNsS~8claC)}wZ4Bx7Ab)xrW_kv8r>)Nik7M;Vl2-z zNs`%oG+yr({+YJV(s0Z5aZf;J@zP8|6aSr$Qd>*X*`N8dZo4@Pc$SV#$q$;MqwW)O zKq3&7x|HOocVu5Pz;qw<*4}5_q0S5odOFm4@%1DFoMlt&DpF!h9i<)rBuXizi}_JZ zJvp;uMEGbuxZPE&T!C_`tywA}Y~N3L#7N*(r;ekxHqb>5R0;Z38y)d(;;UGGiaxvJ zNOiY|!9C}76>^8)2E!@X_%@?&96#QR$%ZZ`E$_Rc-V~}AQLYWw42C;d_Zm_U()y%I zW@4$x8x+ojsH*R{y^}F1{wPTp?U&XkubIP`Q@0f}u8L`(j5iu76lFX3xOW@nS70BC zOf8akP-|T2dGE-gYr}W!#H!DT_ud1d#}(1Z&xyIw4r3sS-9;PQ0VvfGi!W^x(}F?{MhxuTAESY`AJCIhG5#)1t>wfR`uzdyZ;%P*kr<+`c zg=_&;6!5GuKAFiI+NUY-FFw@z512K=6#B!*GNHEz1#@U#i$L<7<1>z2(BU4oNq2U?)4WwO;iY=6NI@b`Aa_M zV=NF7>w|nT%pK|M)SP3;;w0n5DHXXHMw+FctTYsLi@&yX{Io)5|Ix*TMk>RBk z5fQS4L;faEf;#AgL|eR~nCQKhbLP?4m7HO;V7YgeQfCp8EE)~&mfYMi8Z`K&?g>e0 zROoT^yiu$HiQh8t=nTjGAoT#LL@E4X_TR2&zAs^Wt809;qUv|^$Y-pBvDcuTmg@Gx z4;ty#(4^(AbG&mc(S9ijQs<_TYrLetPM!l|zNk0t_Qx8BoYSnX6FVY0w}# z;M8f5@ELgtDml|wVLWkWF1-3&;MwKXQ--j;cw zwW@qoN<3FfknD<%1*dcH^*BBuu3+oYUAnDnJ0-;)>0R_?g>E)Y4_{2@L9Ssf%8=iV z6vX+&;(RkFCSPyLD8dBIVOJ@I3!hZ%`Xzv6DM9Ji3bL6FjfU?C@u{SJ91nM7f@`ks zWmp`rZ5gF(RQc^*foz`2H;8|3MT%NRr`%9^fu}e8shs|q|1Rn-9SO(*zUy0ka$9@F zL@2VT6P#=xAgMm7Fnfi*xrmZ8&;c>N2eE@!Qd4u8#BKtImz!vsTL{2D4-og+KB;$j zw=^sQoT1-8kx4|7U#yT~>3){`@zJlg5PAo1;IR6i4Gz>dZI`&wPL;KC+a7{o1+w1& zT;`LNpL?`9+2(fpZvCugoaupYG?|6w+ouaqY63V7zb!OJ_16_{hk-6BDLEy?326Wi zu)*r|{t9Hu|9tp=2m?JlnUNFfg5#3({H0)!^pNidm~oJGlUfb3vvG?#CWf1eaFAc;J(^zH#%xw)Sdh@v>27&B6SjXxn`}i1$ZIO z{$)S^&80jecuy=RXPjy~;}i^dj>ZeA&*1xmk}iN)@MJ~# z0PIpZb{)F2$~2dG{(D!p(D!f=!1ycTQ*-(iTISz0lbrSI0VrZnmdrs^{#UoxOn`j% zeCfSy2sUf8-g)yojczuJ-_8ZabJnlE-8LGB4UQo@!dK9#%Twri21t7G@`2ygUX%XK znH^Rr>Y%CR>=M6=NY{GCgtv$lvS3Gnoc0((mE>mI`osThDnE-Pn8EZW$ zvz0k;9K2jYq?>c$sBp>k4?^yfPE-Wq$@dC+gbe^nVNS~qSD{dJJ_<%}VlK`u5!*Ys zJ^qSp^-KV;A~@B;alhjt`}JNY9m@Z10q)`q08IC6OGU;Gd0ZZ(C1d0kmhBfzd&uh@ z{Klj&PttO7Sm4We$cM1Yy&q-pp%&t#t#m*Vb(+8J7k+zf~7gNR4JtwQV{1IXab*+xH=ma{83uj%Y}05Hl8K<>{U zitbi&BrqH>1$5!H z!d!M?wpc`u>V-F@W%i~b z9EVuw;TkC8?Uw1D(cj3=bO5K^bH$YDaJ>{8QovFpLc{uvyqe6z5d$|rJloy2#?-h> zVH7T=giE7duD9i6A~^U{*~%dc{l+|(r-^CYms?+r@fQ_PlX%^RtqAVjiW zGS`J^;wuXyylk1F9f#fv1ZM-V5Ql1?>Duuls@5v4QWkVA-wyI@PQ2l8s^F+hdwQ}C zVs~3+=RL+v7OHAdJu_MA;h%E_>wX@ttC*l!WA4$?M$vmU-~nYZqt~r!Y5jy8)3wcy zrU3ABe;)gjF#0{mF#y}X@Xf`cOY~RN&`vXe`>+2@8@D5O{Hv|+X4UaI@PcyOeJSJd5e&i+&l$~3+`d632y>*=6JzagkYTtrDmFKM|Cv{9<}4;HeI*#iQ7^y!BH9n`V%#&o?=4$vw;(S zkl{wzEEW_AKu?t?qqv+PYzqRkUG5MW#b0WFp0ot@Zk^5jzV!PUuiK|GhTj~`BH@R9 zV0zkz0+3I2Hh|`I8gB*b#U#(lk$`CkW5z3Q&|;@kOUSANuOHka+Z`H4440vCJDu`psXGzyEFIj#pm3MsPM`4*tBJ8#Uw$(R0 z`|dKql#eL8PV+)%>o4e{tR2GRDdRG?*eK-+c$IS+K>3QAWpVRuzXP~(!B|%E9H9rC zKU46s#yK^lR(@?dBU~}eUI&UHQ1BUxAML(ZwjW+CSta3-L$M;{bwexR(6XU6?&L%m zVh;vT@%_EDRAyguPTJP6Ime@pJOIYG9kleKcNRA%C69@qvzC!3WR2oQ>ERDCPrV{K z9mF2J-`sAxoIr}6>|dT5k8A)m&kW@0 z1Le_h8Yu6*N*4iOIvemHKhwzitdnQ=cc+C%q*+g8OAwNK$`Rc5`O!)J@#pK8RNhgm zF$MCE&KbF?mf!wA&3$E9RAIZWiUJ~Ck}4eniVPh}BST0xDo6}4bciq@64EW5!^{BE zFo3jyGy@Dhlyrl%^jWySZ|`q^`#RUYuJh~g1AegTUF&_`_o@57Bl3?whUQ>pe*xPs zQlo0ao*(h^+8u%{Sz4tht~9jV3E@kJ7LPp!IFi+48g`aUY~nsb5cHBacJIlv&(XIv z=)DGtgoC!irFWLItn?Zg;ZOJd3`Y{Fu%MI3y=~uv>eW|Zf_Q~fo=_*=UzNUL_1-|Y za8DO|dw#cxUB3^5j?}AsjBdZgCZ_gXX2jQc|C3aks=6UV-0`F48V|eGnLjd~qi#>l zzKEy>gZi04ots}Mg3v`}O@8A7VG7cyxZFe&)}oUoL9ED9<-^i7e#8OfBaozxYj`+X z6B0|Slz1Ob9_Ys>wiT3MGsE&d`kfllHJpe@dT5K5BUU6&bAm{raJ2y`jflyKvOKb+ znZ<_I$ZV#Yb6F64=<7@JrR&1${eKw{fcRO^t znDS3)tc10PTas4*9chfq>M`YqK#H>@gJ=XEcC~ZxK{PD&OlR(v$yDhR#ZYv#IWeZRMvm*-W zP_Tlt#DGZ%6?pG6mW7*_i0c#)M+hb8v9WFV*K z_mbIFgQtcp4p9{mC`ZumM`V){r)QaOxcbOwr9vM7CDsVbFpGNkMtzlZrI)_1Ta?(w zPk?sVvXWuwY!%6!$f(4K#q~u6$BoUvFeHS_n=3=S0X0kF%^m&`1Rr` zxiQ-rzH9X3+p+xsd~{vni+$DR6M2~t>HH5m&)8)JG|A;Oe9b96$e)LWzKTsGB7g;h zV9g4|Ne^&>tcCz)72_>n5i23a_(Fgr#jU0LYivP8g$moOdzedo1_!JBm|l5^WERXR zI95and-)e!+YEqf?GBGZHB8*K0RT~2AXoL% zoH_C%Q`NMWa>=U{;)4c2wVMI0VVx*88e=SHQnd*zKN`uHa@j_%3ChMF;@F9(ZO*`Ng0KzS- z1~}zP1SqIWgoXd?D~buimmSrTPZ96?^kT$@isi~+fCxTWjv){oZ-`#u^TZ^y_`?S8NB7LSjLu6&A>j`-6%#{k0QrN@P` zxu1Vd-!$<<{75< zJKObxHg8XVb6cgVbck&wlS0AH(bJ1Z_q&N8=;1mMY0RlCs|qXa&zY5EKq2zAfa0yD zN$h&4s^lVCNEyHtL#YSe)JwS)#43%4t2Cgq?)^RpL}l+?{$uh(g3x6Epd&R9wnCw- z$@XQ)yO{$3VEt}EVH z=-8_lBOjXqvwWj2IW3sdecO=*0FUpj{sM|*p*MR-Y6S6h%|vhZ+jP4{a=4)J>ZxAw z<;@=1E3{g*?2L4oi9Par>s01-STX3Sk?dmePUhl#K*vji|GebSh4<0$?Hec4s-8e( zjWGj0g3>+k_K0OPC~DznTBv8u`c{^LO4~7bPCF`gq?&n6#~kQ996NZ@z`h4)(()?s zX!%dzl;L(d1I11gszZ9o7q&%>u26WtN~9IUGUhN- zk++tzyg;{`y7Wqc@#dL@73 z0;RPJK(FhLlhrIB zl6Zr3Uu@k6?CwDLD*78mL*I!K7=% zAT;*`F)28({R(-g$ifmF8iUog^5g1~Zu9b1hJw4a{p#F#3cnomcF)*KEdc?FL=@kh zhJ#fy0<}7Ie7ns`<+Y@xaupLps^vW};<@_JEq3C`&2;0^5-}x3zFq@*Ih;}I$^nZU&PJ&3bx9DKiGf)ZSk1Z} zExm2{*57oNc&%Syn)wh=1{U>XMMZacjBX-t7@63XI7NZFF0bN-?L}%SoKnMjv)bK? zm<4+8$duvhnszCOVh=##_I?_o{)GIX>g0-RR1VuZ1%+mvFO$WY5dS+R%`u%H`!d_HHXYgV*0g z0nvpu9x!LamA-z$kK(ESk>&Ux_c5VrvWdrdtA#{I9nhKoop#PRIFdi7R<(Ih+w!QW--HJ3nW z-W~rrpEP~T+z_u%FuHToxJ_snX>6v*@!$h5K0=%;=G3PD{VN^SHR+{aj?-6Dhmt3k zLc77U#Qpa;HEVNVU~|uLGSjOKDgB3l#}z^mHwr4y^t!(B5K$o&iG0DQ)1}B(S!Fq@ zuqp9M3B>b_4>rnt{}bSJ7$o>#EG`=mzPa2JtyKpyTSp54&}~ftU+3-rz|Kpy?0mY5 z>XxUW>1lSJmJtkNvfB~AY$ELc%6j99Qp8B`vy#gE7t=StfR~5*@Kt+C-E9lWbRIL~ zG}Vs`a=hWHUb+6uni^|MCOjum3;9}0CgY$;+MEl0cy8;9QP9E$Af7=vc&gQa&XdsX#38 z{kqKqSw~jS&pk#AJ1B1?-Q%V|b6}m^r7QLg4v~9+ZTty%CLBd*STD2d!QyPYPafDk zOgGuPmz9oRo+cDM^V&;43-5cdlF1^R!o5?VyE7EmpJ4+4+?AAH$b|OKG5?nCl}uWy zre{S!;QkmN0Q#Y}2M9dExO+V|aJN)E*ii20vtTz1zRtnr0woQ&z~t$7P02^? z>|8kJzS2le9WBT1^V6Fj{CBEh>EulQ-I}y;>G~^xp!AH497DO}8$euU46_R?iR+`1 z1f@x_O84`i*Dd-1_91D0o3oa1iNwykFW=P-9#`}8gndtcu7WoOOE|n9aBC;*a2*KF zD~mVPyy`Y4YFOW{#;cYF*gDB9kHwsgw;yfB@_x_;)`BNARA368ZsED1e$jQTN799e zIyr)hANJ+<9N5O92Viy(D#|w1;iG9akFSJb0AhkMg$KmB;oBRR)lNMZo?euCUjTdX z-G3w_*br^NK9_2yKJN>3I>s$Wwzx>EGv0LBerLAfXLps8zXM5EQi2ZOo`6*bbDZbJ+lHEyrMD3qh*sZ|pXyqCPb^zL zVo)%96^5%thH-r0O)B9dQx?7F21LbWV%E}x5YZXeiOSPg-galA1Lgo~urQRqPqemC zislbC>ha&21q<{C5hSgwNW{CG6mD^Q89?)!OF!r(X$&11px<{MG4k8}%@$+D)|LW` z=}SF#3LJMgvnY^E{N&kJ%nUlB*X>!)@+fpQiT%7k$yEUzXB~N;E6@Uf$%dXD5ErX!K0U9P=c#q6ZVV?k%)t3uwyk#j_+}S*kS+;8T-HLdL5s0~UMNNRq zi;)&Q-2kd3%zOwIYosZ_`%|@8^qS9d>ToW?h-LGF;N&($fo+$5H2%A`RZ>FHv($+& zAy1ze8>fHFV#lfg#Q>xmU#G=*S7XhKnWlXWL;a3d@NNOG_2VpXpbT7zyvem8NH{IoQ8`utEcUX(4dWO&z_aQpuY2?Ad#eivip>AxTLkq1E&Y9IHyaD|Fp9l z>MEI?WcinU;8?hRVwXGqO@YC|1Vh&{+jaNU;lf}Q|KzcpCGx_=(9UEuleV7 ziu#WRKEvGe=g1Um&yBG zGmik`xzDu}X96{Q!=t9x?o#7l`*U&lGAdQ`yngdglG6m!V!Mm8FLSCtRn~bN@hwaG zY3f1eVc^m0|G|Jj!idN3=$GdV*qg@1I@eR7~Y@aFP!_c8v3qK$Wk>&Hb>XjZns^d-`N-wJD& zep#_Aa^DF}Z?j)B| zS$_r+y3deN7|j`ff7e0&T6GQa^PbMDblQG%3$R`#P-#ebtobw@jF^nir>yXPqEhIv zFKcjdoxvm1INX|=$R*C25o^mYiI@=s$Sm$iic8V{Y1N{w-5#551GvM5#BOQ5N^`ix zYi{n>n6{?E+NvF#H*VOrPg^nm5H#QJ_oh_Wr8FcrpZ6;RSi^v_Psyw_cI*Crro3@C z1Ku|VayW;GhRqvz>R5Rc|2M@Y2oj1*kn9&Pvn!epZ4nA=nqfqX%A+J~v zQWQ5yl!XVQPrO1{_G`c8#BM)%;UHn)lkU9}el#?kLcMiEMou~`2_aj=c*{phC4 zi@uTS%Xf2~`Mp_#J6u_FO4a=>qlU)*BWzHsbd_!ZgWA-*9%VJ>iyH`p-h~Tq)*`QUVPI`+P56fZh3Hqr zzG`OU7$XBNABtI-w2V^28m|N4QT2)9s1D;Pw%lI~0U?S*bX5_=?E6m201kZLI6a4C zsew;i$F|lr+rTSiqPDMeKGi0B!riJB9e7_zvwd6+cXAi|n=I@z9WP?QvF4zU*D%w0 z7xM5z!w2Wt%$4=W<)Ep#!sqA-1xa?CeNJ!G^H8Jnw=1&)Svwx1Gh&iXJgipIf69ze zKMn<=V${rApNZM=UOtstZuIbP0fvA5aMNp2{4a|`TW^ENhL6p0a}7VCUE(dcmr=EI z$E-4ckthU|PXtk$RHA>aohYcud$H#PKR*Gux~dCF%PHEPUm=`()g8Edr3R19{C}u- z^Dez}8Ums$CHf)y4=GJ!E3-A0$(vD1>9N*J?MIqokW|ZkPtM|d1gbVHW%VbxHi@kD zjsrKi_9=Nc)K*9Y8xIo_5L=opHc_dHO^RTZT>rRCOp9%Md#Se7cAP>;*9EaTd*vx} z^F1|u7~S-ezv6Y%pR&*!5TkMKhsJGiP6k^xEu9)sJX}rx=)$!02Mgbi$n0<;i00E% zheOen2kN)#OsDHmPdeDcO4nYydQ`n);g1PM2Uy^Bx1qHuLndzaeT;p<6kYpp#4cu5 zWpfMwS2-V>gV_~J*uMK%TgNZ_P{`O{-S{Gqb-mA`7^5wp(}_oWIc3%6!JjL;oVt)j z@X4VsOFA&id$h8N;c=CG;3P+yP}lvw&r4qbj?C%n(He;+xVqBc(_d!(QYDCOCBJJl zex8}<*SxpY(A2lHprctU!MBzXM2NXe-l7`dU;edntyFXBS4v6+6I*!ow$Bz`U-+`z z@d_1szZ9HsZfL_NXB}TdFk(`nvwA;`t^gq8UvcM)b^L zd;iGxrfP#z^=$~!Cug?7xp1~q81Bx#)6}qC=Y;E|EX};9xw6%-A!H4*jTJWtn$7|; z&Oa?fS&PjK%18#(Yk|alLQ%cB_d}FWY zga~3eC4}L@c(PLtlSVCi{JcJ|Eh&eo*>CzaB($QEt@!R@Kjpo`k-GSS*rRUpK`-(u z3#93txVw=mToOoA7{V`ELb;0(e19<39W%ip?msAvI-nAi$bgwqD(nuI+D>5+W5SE; zxytu4VSYd#irV^P)F=(WuE1qu%+E&^I!|%UK6{34yY9}3Nn?YlkD6o(;|5}zK{oV) zOU6=LWj1rsb)o`YQ*yQw31Se89RG#lh?B=jCK;@p2XTW1n&Jazmg%yfzRC2v!<5(& zI0=*zD@P2MN(`-!U1HL0mx5iOMTd?VST=J%-tS!+VqqoDuDW^qaL|)<{+(A-MZ=L~ zM8ODm6*6Gw9W~Z4`u_4-m8|T26}N8We@<*sF!ITLQ9Zk&4d69oIg$#w-&!5t zFSFS|_ff%rD&IjUE4t6I`JiUQ>1efx-m4Wh+qY*vXy4w#&o6BqsR>in@p5i~iTH-s z<7hhq3W97yR>ctdDiIaMhnbM<)Q5qD%>T*wFl#!|JZUH%bQDh}9P&t&UZb6W=Ws_h+F<2=Y;)yK0g4&v3wzJp2g z)Lq>M(#3Q8DEqa4Oewbs>BTN{CbgGU*jzme?K44o-%XRa2CYhnxdYFZ!bO5Mu~ zl=741o($InVF>?JCvIu2a|H&YX4d0SQEqeU>F}X+i9WS22JFg?32C%n~5QZ@Brv!^x_x zOx7PKaPh!S*H+};D%ZJ$9tN(qihDFc@d`^BAqCl^T=CTr094KhV^~o_+@>Uttk_B! zYSj5a+s5Q}jnxDoqWELS(kq8EZN;Z-T4K07+0}J5?!j)_L_+_IUg=HXqk2 zJ>2hgZFXyET?kiv$olKw9~1JU-bu)7yGDAK;W`FZ;A(@NIqFmONa3;G z*nj8E3F}u9WL0t}=)($Vi-CHcEvqpufw0beT0GOYnAtO#X{&BY;Hil#IB-w~%pV`g z$S#g}05ZWkUD&%xPCL!$Xaw`)<*-U|*j@0ndzx?h)5Z+{$4(;;n_1RO|Iws@icUpr z=#p)O2Yx~ax~3-O8}pIU3>7?%h^f)-rU`!cRbR`dCb}2_qr$WtLc|b_1Q`M+An5ua z(g`*pX{~zT{lYOHe3*pur^x`-H}narI>dk5GrGe9t;Y2O#ZL4$<40nmuo-m5paH$C zW=a_qAK}1c=^?w8z50Mwko{!G)O$$w{>AdxPXRM6_QVC_1Sw5-&gfeCVj;RZZ9=P9hxXWCM^jU*m| zmZbBUuSKayIc4r>#BkhT_jpt1B`rdejB`bNQlOm5C9`>aceo%h3?!!}Sv~oRs2y~- zvJ9Li=1;_IvY~{)>;b@30oE8RN3-AuG!+y~?axH1U&ZEaw{Vh~Pzg44sm+tKlyv*t z1Dscle3p|Ta3;^lZd~(viOEZc^Qg(5$K59G)-?+mgIr6v6H|XtM3WBJBj)k}{TF_P z4;gw#mQ%FdJ5z)P0qRt{n%t}Mq;qOSv0kna7edjfgM?f*+0YJzAE%=(-b06W?lpw& zYiX$DNv*% z%|%ZkByroant+!q+xU;Z*v`Jff*=WJj1(5t*zzEtk9}t zjw9oW?z>-N4xoWlJ)WG{(cp(9<{N`PtKTwiQ{{az0*A*5tTF+WzcrnYk-`A9ZN&W{ zmLQq~;c*a%emU0yhTf#mN0+EkMzSDCHjDHC>~UqpN~Jq7LjYBVTTiAEgbi}!b{wj= z-@VxbeB;60RGDfKbqeJHhffab7rCVR0hdZ4r(<4Cy`g zAaR;*-8V%Z86HN^dWzODxc2jFgZ*zMLMMHO=vxH97WToQj5+T~H;9tKwz3V3756w( z_%jl~90y`ispW=k2{L6XL$-LT3TA3Q@ALo;w{wYJFgq%sTHrcq^({ zV<3vf;&EAAfSH#JGj@8l;kIo0A*%D+wp%2;!6TV6xKBsLq*ufpSb38TL_Se5(-i^_ z_IgdZv#;}*S%NTZ-D0lHiQPUS7Qg;1yZ1>wA!Nt{7r}W7>Bjg1ut3{BSIJD)&yY7i z48b|TKOs+x6{P!j#Sl`%Iol7sio+d*3mH0Q>HEZz@3>tVvNx{3qRmh)ZHek0SY>^U zz|7;Ix+H;GzRU9p*JY3|XUx;V)`nU|)Z>Rf-eQx83+=+`vI&1+prQzEtyBN;rx#@R zIVP6&gBgxA-zru_aiSWXnavefAK=3(r+)f&QwLbham~V?IA8)-p>UJ{qVNYo!_fr0 zIOLpEeLZSk7^|u%34JR}nLBbw>nYuJ`wg_SlI`v%iFKUpC+kxz1`bN$&n4k+i8JQ; z&ihe>TV3PA5Kb9Z=N6P_W^cx726x!YD$L^mgpqnqv-HHGWpgBc!xE~G09vonZ#Aw7 zoD>?8)gW#4F#5Co=@iKD_&LbPb<|7}_@LT!%>qJYG+1Zn2};M&uQzXC9?>2!wM)zV zm=o8^ny(VTvpgvf;i?CEDNeHV-rA`;XP%bSL{VF`8FD?fo356aQa^s~oTk$b{y8YX zs1rFbz50r?cU)m#-*NE0O#96=&7j>H+~4IHAZM#yRN(rit1`H9zyQwU(WcPb`~J(v zJu1|R61yTl{4{LQU|mo-?W9s2Tm#zdFl_JvBGCGz_T0t7h!spV@}h9bpZ&gF`d9LV zy~db~6me9n{@P$jG+>w@g&&;vJ&Jwq%@HWp716(p z>QV2@TP{(|*Znrv&NggkF$)G^jJm=KtzwtuqXn}nY64)a;|=>fjoB!YK>*@j+RS~S zp>BlD47uV`Vl-133Y+$KK?&l{#b7jn{ip3IXtZP^IEc$yqzTU^y*14ZsTy79=#2TH{JRD+E3Sgft|3YNi9cHQT#RK?Ctf@bG*s&NG5ZUd6ua z791lEr+jRm26lS!gKm@g1|bE9_;m&wvAg2H?uag77|aD2Z$!`}WRR7HA(WZrQxWYCdM2F{l^1wIqpmF?}iGb>w+C*zBD*ysd%;$8Me=lM` zu^^X>NN$A#xq-j$8(j?u*cRQV_Nd!#69P)uW~Xbpa>kKP6bZjyyIyCDB$!~eZus!B zP;z(eZ7G1Q1-ph3@qdz4n1AMm*_m`7tgLv(q?z~oPsv!6As6#93j(l@-65l^aQ<$^ z_57Md^y9m#)3?l$V+PB*CB|>&fZkfwG(B8*f#fUQz&>*>DTL(db_F09Is0v^p^K$( z?ZT@5NmroK%+Mjjc)K_$RwTwpfaC`F_!__rG%TmuF0VF_rT%mu8FKXbbJP*mLt z>=yLXmBMT*VS+s`tYSjam!#`Gr=rt(OFdIy`JhPoOLi8h3L}maAuK(*q5}p?x}}r# z;!DI^ssa5GEh$9TU=K#gt<1bQw=30()K$Qzl)gy^+z7=|!qwZWeZP{z-HD=ZWx1CRG4s+)Q{BBzpmB%O>O zkmg>WsF33P#?#btF9baw=Jm2G^T~EEejBZ!dq~BI7U1_sdF6tsCvH;G{2W|#tFT@V@hlaojpV7jw$H7q`^#@=b!*oBnMpK@j&?S0m?HT4iw*vY^T8o zVIvW-sD{x`BF|M7mrAJ^ge~L?r`8`LdaI-$%~Pl;na-mj-H_k4aDid=t*c1H12UL&mMb`*3&!9hTdOL|cPKu?qz1LOKS(KqNNvo23o^v8< z26T~(<(MOzAv*L64fWb^dzmrZ4*fPqa)XB3JRtnRa?Pje`W=WpD?-pGr)rdX&b^Zn zeA9K{I#Ktm7;Sg2N~?o(3r+Mhh%&p36E6N;+OKzz@(w4Yx2I|}VVqMHG*$>tJ!;90 zp&&U4ioI_4<~ek^ki>36o0a6bI-{KjdG%{YIr#~Pyay2_a(dfmXW2cFoM3$!FXm)H&xm7B$t-LQ6)9ia}vJ7ye*Sm-3qJ zz>$)f3fC>WX^#^|aV>D>wEGKX>?}&*Bn9rrDv~|*rO{u1HP{NbJMgx^ebSuZ3Ym-gW5Z+i~6UOG}s65p1P6ARz|4k zVrZpnFtNxNf@#UV2cvgwWr}cT=E8C~^hQgwJs=>C7T%epUs!ZqeX#^$MM4b*jNR$e zmnZ-~mr*;*Zo>ZLTTSK#JjPIqGYR)yjLg3%mAJoP!Bj>a$F-S$N(hl}V*p~0kjXvr zrz(n}Sb-#o=P5GlHI-&SWOz6XG^4J;_@?-w#?)4I(89{*bUHjN*{3eCJ~=iqkMGs` zDmu9>iOJ<9#HeHJTa2YWSzS&{fex@;=6J9fBSeyvvNT8GzCg1}9O}Q$Ur}kR!W7E*e$}cv)DLEs8 z@wJY}DY+H1ZbX%(k2DEpIh2EZ`mM+uo~q^jbmjNt9&SN`0a`2mr1SoMmK?!nBY--M zoIYQT^QH;th`64}lrSC?Z!QR6~R&)mkt$+UXlP|-2qG9X|-f~U9 zWC~-3kb9UG=kfS0_un(MI)jtX8cif1HTg^8&M=9Gy6JR2`~dYq-8T)HgGk7PA`GFa z;>9n}yQU&t*#WC2`ft6wvgH74XUzx_!k zZ6hD1@ykB_S-<68)Dm&|y~&M~CO-s7n|JGMwp!Mox{^kP=)N{?XF#WNT!Ib)JgD&2 zKym`GEuc-N$)OVP<3-;5BPB+55a_NQF!S0qtMZ3ie<#v3NZ;fi=?Y*{mV(1KxE7obrElQ6>{=YubQXAE6F&qki4?d#z*w6kx|skr4PomHegDL5DGORh{Z z*F<}nomoez#wX3K*2(z( z9mpM4#4z0qRJFg|t^c|LhI>-I%By||K`l)2;_HOx9mOEkJo+>y3WX1UnIrP@m=iHw z3&qq{$?|p4QjZ#O1o8q;k7BwL+EbqKz>u6G-P5be7Vd! z^Mol+r~nzDe$p(6PYA$7NFefHIfm`B!pntYrI!g*OnRZ+;C6K(wM8U-+_Z2ypjW?weLf*#Z`@{Pf-n4%K_FU=RXiZkW(2JUq1$h4r;#9 zGwBd<-ma6qu`IXQd;1!PVr`qzM9t>U4M$mBR*7)a_BLW$ooUMH*J&G4TLH2#$J=T+ z*?~AjryjtlmWnuO z|0N!gWN61{&lc}$1(YM-Rc{$3%PzYr_PZ=8@cX6H&!BdHY}?ljwwc--xJHv6$>yiP z2*Aw#kcJg<|1^qgTA|H)Tq4471#kjI znyFs*Etnc_VToE=W|_T{ z+TppI%z+f1(_K)RZ$e$-`>^Qe6P58fG*qOM?cL00jQCVY?&xYe`Sc*V=DuU>ks{3c z8Tr5(vN;66&%IEhADGlbs(9e?GIG@D`8Ow(=`HnS88V-V|9aPOSa^c53!?RfzXg&O zNT34%v{nQJsFsDcIRiecLXDN>`-06c6XqWh9B|V(dU!jgUlLW|c@|0?@@R6XZhr~0 zb+YVy>nN<+=^AL$##Q(hQ%7IE7Jan3prxJ-tQZ3dkRP9oPbT;1{9d3RLYjWf?02d+ zB#C^2n%#~!!JnxuBb@~pyzUH0CBIDZ)HX1Iy!`G~K!11n6_&j=!qfDjWv^*ne?}WJ zOmIyaaNs;+OZWpJ%^+wD8*h`QpF3Q_%_CgI6gE7hO!woi;!716Ya7!L^VGEhu&&^R z|4@W(Q1oq~QZSd&Z#_8wJxQ|6V6+EmA3j$~h+EH8vugRxkQ*@`sm!*F?$~c`WPBtL zJ9bqeY16ymBACOm2JO;Y#9ee!HJgXyce4be*7sAlr=?Fc1S8(|K^J3Y{L1F}ZsFZ2 zZO}|T{ms0Q+Kkr))ey@fKo=2@9rr4}-ImWGd&NnooXBA{sq^xqy@SPVb(7X@+9OfA!x6CaWn}uK?fES*0EIM`u$wM4#tcP zNqY7r{e)f`qulVdVJlrHf&-bT)n(*Jg=*Wab2sG)Xo8gH?Ss+tab)E~Ty_YvL8V*O zR>_{WS?5kOyXcO2QrxzPKWw0lA;PZ@>Sr-3INe_BAz4*@ zIf+zXGg>EKkdy2-Dr^@?N^jYtWW7ED9X!NzONbKuzYDsQugNh?d^i4Ap_%oljM$J7 zJpfSy*SihzIoir}yx-U91x%muYWvYEL6-E5$vU@6*r{jB?W;B{pv4RLRn?#KI@c-} zk_*js$@R$f&V`XsVyFEtVgD*yV=WI*73YQlLBcfb2yit2aV~HHYqLR4L~eiwEw-E- zOK1hq9;I>h{>PQCE}x>Pw3n9)tr&R5i^vTQj-{0_dc;x!S=RWk2e70~MKMeI+=kRQ z>I8$P>V$$oX4C&vz5;I4!2fd`2o#C=lAt6o&Lr^f!t zcK>m`H-WZWa&StLjW;UdiUZ^y_pu&$b|lvjZi_})WkQb!^a&xrQ$V#KXa8-$H+nzw zGn9xtW#|b)*DPkPqVQHpvzY#=F!*;s@AW@z4bczS)=fzi0SXJd7*qksY>uAA6_flg zfY z)wrEnHL^cl&R_Kwx+9F1HEl`JK3wS`|9S=yert`m@PjsE13%D|GfFI;pa!eThwz#0z}Zz&=DZ-#E~UzVa!_q zct6II1^+p^|2SUXvalI3XT+N`9BNy~ky#>#BNybS83M`u9n#R8HS}Lz2yjXbXEy|# zD;Z2mb9GV_3!I+{dlC*|$V?)#gCPEIH;A(-e2>zywG6e5k~4m;Hkbhsm*uA!)_%=T zGxo1<{OSe_-4M0hr-g5msQO*S2UJ;&KgH^Yt3C{aaLDp=eMZiu{o4pe+O?Z_X!=}l z7$=14Q$;1wVCxl7pKew^ZhA{I`tKKKNm|qR{QT2RbaUL*qa>t^a26C6BoWzj1pM1& zt&1u$Mi9n{cDm{}j14GCv{Z^{27xbq_0<1P<^1_Kry7PRiges=1qv9Mno4xU;ZWJHn#3UpPO1DnKutvdgEpXh%r9;gqO_cI|u)kQRM_pSjy&lNQk JO66XC_&+_(9rpkL literal 0 HcmV?d00001 diff --git a/assets/images/help/codespaces/add-dotnet-features.png b/assets/images/help/codespaces/add-dotnet-features.png new file mode 100644 index 0000000000000000000000000000000000000000..1947330b385e87f8318840d4d347d119afb02885 GIT binary patch literal 46002 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 Sp~|yrPWM%{?o=v24*5S3ePTKQ literal 0 HcmV?d00001 diff --git a/assets/images/help/codespaces/add-dotnet-prebuilt-container.png b/assets/images/help/codespaces/add-dotnet-prebuilt-container.png deleted file mode 100644 index 6fb494a82a03f61334006a6dd6fe0a87bb6e6268..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11147 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 diff --git a/assets/images/help/codespaces/add-dotnet-version.png b/assets/images/help/codespaces/add-dotnet-version.png index 3d8321d529627e9666db76c4b81df450e935a6ae..e3277dc0163e9f8668e5be5293d38b8640ceb337 100644 GIT binary patch literal 27222 zcmcG$cT|&U*FLJRI?mV_m7*Xp$|#{vqzVL_Q9z{`dT1Fzh!BdAUIOZj1wygV37{Y# zEeN5vj7mT$iF5)4G#Ek&i6KA;3FJI+#`k^CTE9Qe`Of*CwOAp^^W1gcdtdw7dne(l zjm5!zvio-I*m3akrHghucI+nY*s-(k`|p5HG@?H9ftQ^jb{4!WY0B<6FTrT@s zTklW>{{Mc*?wztb_K0r*{!Dht{ri9OouD1NzJC6%9XlTQ?b!X#JvP9r_<98ViJ$rV zb=R|<|J)6H_UvEZ?%qv$w(HyfJNv|sO=diT11~?^yaWr`u|xW__;2TByPv=8*x?s( z`Qon*krPbnLZjnap4MV?%*=F5cf06(dzrqz)>)f8`%?d@D|zMEr}po4mCIh#B_(ua zje9X;E=u0r2mST%kFPx?p|4~P?{?U9+U$60<7yUgltG=5VyrgK8 zE!FdX74GkishNLQsMgDM=KRrSfY~)ft1KFKvezNMP@Z^FP&C7a04It?8c(k_wEPKn6hlme|mrT zaJA$jLW=4b>N4O%?@bKTSyX4gmz72&kLvZ7-Y~c4eR`lcnqwsM+qb=l_Vz0G{d%{( zo?KPfXq^F4#~Kebza`+w1)ljP4(-vyuuzwN^Sm$}4}7hGWvO4rm>#AiXr=>Qzc=jg zx7J?hpAk#Q3KX&6idYEkw~<2hm-v+w^{>eP@a>+9(QbtxwNyhS&{8q2(qF${c&9L1 z+uHuy4V$#k{@7udi3h%|)px`Y5ie!>Ftn}%W@sHk&WB9Lep{x6k%U7P#va;Qr1H^o zy)m^JiTD*AYhw1dwOAzrt+)7E5@8l{yVAz=C);Bh_2J)oi4H4#>)${EzT52}jgSvK z@XX+wj6Ck}#M0$<*EwM8TZ&3(R^J}kv_y^GK=j`y!aBg`r(jXuwZz^qZuCplHd5{4MT<4tAZLD$D{9@9f-67JbZoG^%VCG0hd zVD+%JXVDZzwtSdttmo#0ZYpDw)XJ^>A=Nma3ZYFi7Z7J;8a3cGXIp(fEZ5J-Y#SHk z7c4AjPxk~h@kayZDjS#LIszyw6EizGl!sbICNif^4Q5|_;5hx$Pc676jTso;jR+e_ z$x$vc$mOh0F)QJ4*WN^)bL;r2Q_3n4(`eiEJodIn_;#=s>#<<6e(4WpwP?<$zB7|f z$``FvR7)|m0tG9>i%~HTqKh%>f#7aVe;8doo@G z<(TAghP3f+!E#TmqvHIR*FHX=J#k_DdadNN#^YCG4 zy@6%KDDx>1mULE-%GK&68MB`RyqP68eE??0*>Ag996mrhjczcITY1pB=xJHhDO30Q z!u|TKt%gQhj|vHi6Yp>>>s^Q7GcX1=GjOt_eGDRsu`szRXU3ga8j5M#=!Xm5?cH=n zjgD3GAv`LaXROu2Ok{2kc&lOXz|yhn`0WB_2zhK<-Po8@6UWJpTdUW1-K6FsxEUIW z+J_HAv0-O|$!J@@Gp7dko9kWly6zMYBE>~b@1aBynqOvYh(ufP_$gMen=oK)Q5WsI ziEK+*<%?Lfos>UjyATo(;~FQNuvD~}N(_t_rHY`TIsh*I?0eOl$BZs!aVT&02T zhvpLtpSN$hnn9mk_}N__Lau4rG|-3OSguANM*@-H?50wzcC_CL;AMozI)@{HU}N|jA^RXA1Q zAVF%x(D-Ix;P@O%D7PEr3RprWbLPNR@k+jNN3E?9C95~iZl;Qae@vLd z*98@BvQkd@+sAm^zRxOQ@Xd-u{KhTmr4z+;$Imk)-km3ySv?@np8uPih4duk^iOv56!H`nAg z*L2~ouKG2LoE7f}GupM0rWFdNI7T%|G5a;0#oN(CunK2ucKmXnJtT4&!7=QNi*YUHnDDO_^%{H&( z7v((V4i|#$%p|4A32J{EbGDh9ibNdub^TFW2byPs? zxx`!QETw&IE16kGVOU~HIG-btA`g#nOEP{Jj5&Omb6UM5!A#{z>Z6C9h7SC5U~AR* zVAf^JE0`#zI&z{N^m1&T{9~)g@_Fa?U**lY$R>@AHXslXL+))(&vrS(JRX zm+}77VYB%if!R&4??jxjOS|ms=_XW{|5dsmU6{3TM4qf-PHfv4RIBIVLB67!&ZQW9 z+xH2N5#W95XKB-q!wQHiF_Y=!^UVgmmPs4fZiMk*&yD8$UB40F`AhukH?E1$!1oikIN3?i zN{)~=UN@Xzr(&vHBIt^FWGVs;uJC+@=K3|H5Xyq+^#+=HTfyBx?(;ix?Bq%S$Do1pygA&6vSjnWH#O=Dtbwu^OIBUU#W z2$kWhHx5)uANGTAd}{oY^I~^f#MV?8vU8S#H9Opsztzs3#+n-nnO-$$HDiS+@;MZX@m&q_o2lG6{`R8 z>U0}PYhuNIH%L>T#z)Q=#Z+zf>auSn4o)NY6DsutzvbBQtuXk|{xXA-#i@OxsSS%+pqDGR@NGd3+r>sbkA!gJo+V8>Pmz8B zfx)LdvH4`JNJyutcl_u~MI@=0wRlqb2VM|ilIQc#d0PuP5%mVW`!@|tHBQS_Erk~* z;(hWqwuWv%YT)@1zotqdN;jh$?66^JE_?AtMA&AwpH8&4V!L}>9{Lp8#RrR_nclIvjBaGR%2Fq|@2uNdlWzS#UbyuP;I$HRg zcO3MCQCnC=<}$nyCVLHpESLU`ObB(B+DSir&k^~vSV@y7R;1LBX4lj9)Qm?M9yDn0 z05*}6T^)^ex!CTXhyN-XmHyXwLx0a*v61qftl#^P!chZcnBIjXVd7&Ou#~=u*23H& zM>$CV^BIkd;gu8dk-;tYSYn86@7wYhOU_+vemU9AeP+YGONYFY<|GDQd9}2FtuAXy zuoj`i345?P=6d+YkH5+|T>SjAvPSqR@S93(X!q+?jJM&Nq5-c(`ih1I$!p^3HrKqh zV`LN_!(-E5Ei!i@+aZvtDg?U0E~TXg_l<&)QGT3@8dIavc_0l(&eH@)f1O>W`4QW!?j0tZ$#|*sIpduj6?fw=;l>GWJNS8h`(I(F_an)awR-B zFqLl5vK?}NbrV{OgSGsK#`CJGWe^KDazaaAN2d0+%H_|~Dvb*6Afb&tMf+l?SwH|wsWOKc3hlIBaL}6=+KWd&_Q0?KtZq2^bk=LAJWwqeh*>X z9f@{4?e0#<-<(zw<5667)zJDq+TC7URXXC22hS8^HN)vUug^Y!u*#2!#vW1&&&RiJKxl636{KB!N#B>YS;xYO~83b@j zS1+PQ;lQS0@Gc?0XcZOyRAH!3-O~g`IZaH7H*97PuzI$UGA=n=SBwRb}Y!09d*PK?+z~9c)TG>?${k39_lg@It046 zqUBRF>yBWnX?#zM?sOP;Dt%_Y^QowC*{o9$%c-MgxKw z3?i+}a8X-_)<4#2)!2A!NA~Y?{(9`{XzI0wJ$Oq|?a9QinK{K|CNZmJTtp-HfyHA zr+2hv;QoRnu2AQgah<^#95DezDmSMV!`r;`+EYxN0X(@xLOcUh$@Z=OR#z;MYXi3r zFh4TX=Z%-ae(^s)X^OJmXaGTFnIyxo#cPkD;dm2v=S_s034kW-#`fX0+23|QSmhGpmSTm<8 zSZ-eYWzYPBjX#w>eD{OZrcc%4erLW`Zm8;DqtgAck*fVikqZ~g4l7+RykuG0>L7*C z>Ja*)+)l{BfA{J%uiTlD;;x%?ncts@zYLe&d`0y1z+Yb z&zyKB)&i=e&9}O2f0Q(=?YiI4n#^py&cunI@~#{wYmGKfG@xU^8r2lq7GMOlr*j;! ziuNW&28niBxcAQ{AA~oZJ0IP5dKaz|G85W@_}k{UKR3V}4qG7QaE!fw_7p}X%&6#3 z#UfE|uD6N2+|c89Hw3EF+$`MjCA$(rwPFlSMMU~)0U<=#=dBSW9uB`1R%P7EUvHgM zu#W=V@S)3=e;#{3*mEv(YkQG~1%b;u(wt6jopskF^(HMKV!%OtXF&^&=iIx*mPm_<_^DTl#K!4IR((f=}6zN2-SVoM{M2!bp z+UZM~DSsIrC&HXfcR?JnYY&jqc{KHvb!KyVt5cU@6u4FsURvpnB@%iwEHX+G1_GcL z!vQcZ`XJ}yUnEH7RSj%e%=Mv5Zz&}?CF1R)ATbwE8S%%jU^dLzzefETyota=3)3d+ zk(u$qKLW;X4M(d4ku^KYo${$V8>9es2U@e?;U$T=gwiuo@B^M%>voom7e#LsqL>Nc zjm4rh6H(!DWDGGgMTh{OE-z0@49n^%BG4>vT6JI1mw7k^H~4930&{WymX%yD~`ZNbEWR`mlDmo)Zk<3 zW4;w*l~u-CqC(kw7mEZW)1!_{Swx#Z!7EzSw3FuVUUYYU-?<9uwHWEFn;!61P>svb zJf>K!FN%`1=99g5U$s!$uOCdY)4x&!`05J3&iC8?Stcux0MlI{Q7?@s%(}eY#>p z;$Sk1uz_t`y+Un4FG$Xr7cAJLA#$fZVl=1;&FP=_To(of)sZ|#lF}kmD-xHR6u^bL z+d}=E32cgsC8l>=zOhXOV0}TPXlp>=`EiqkPWM>HKq@|LNxuc4*V>Jtw~3jV8(uPS z)@*@MNSx5)sC|;x6{i+W`(Vp79XY+A@^+HTi*{w17c3ItK&K?dg{_?U7f8~uRp8x* zYYO7D6keK7@Twl^boc~vkz39>W^a(G?lJnMm%XrYe12)HO*>)04w_+JKAMT?3?W;l zx(t<5wulaGSx2UCxQ0c1IUmv_RaeA~Ov0vJ&hBxl0EB%D9I3b73wdzdComK)mhGM_5>cA?0BVqq}^lQIj zj_sf8KeX>ZU4Fe^%sl;l6&l$8r!|_@f4%^)h7>{^@A;6c0z{*Ln9yC?0r9IU=zsg| zZw0EPe2<$T0r`R+Ld0O}`-&!s-v)dt`KY{I=w*9p#l;ySC1k%u^T%&r4Hg>{Hg1YE zNQLrAGW^-cZg{#;ik#Z_z@X3D51cg1l+3dWwagnqB;rL|D+lXknq#|_afaeaX(VW> z7#52JJ;`|{jbup#|JB!z=aX>jR}!_wcWmkskBeU&u42VOv-5lYXKzui{NKqP%z@I< z>-aem&sW@}wF;@_+8C>y@~85dvD%>7xeQX&3dOH}mZ9P9%HwKHPN!PrN8_3ZDYZA> zC(@>r^YbQFqWoOZq^~+GaT*;~kQh0)nWj;Mb zZl-ljBD*avXBciTAc*MtC(8NRuGqGH6tP*U+hl^ZevOy1@MSxLK$xo&{KcNeYsCZ%?x#$$v&w$} z#-LMbuyp?xN;)cHn^wZ8v%^9}gL2fkpn~{qGgQ32XDn4&9=PqZ4Ol86twgu#!OfkmSDCdTXg#H(;MlDVny zBFYrH+Y!Lv$TlJvY*x43U<$y9bthDe>n|N&R#tm{TP%C8C2enI%Ksc0PM-gP7&UgV z1~jRM=z{_U9HG@(I4+0A`FE3ty zO;U=Ys7|jI1h9UmRF{xMicH`bD4rx?yc$Ud+Zr3yM^=Wq(pF(1m;#C8oby$GPBx0p zSKY?MlY(Qs=ddjTwah?pqJ}hgrZ&(*gU`LvTep_mFkFJ{3jHu{a1x?F^3nh!;p;j` zywqB(=Hw$VHO}gHt5a`9er}>Q{9tQ^Gtvh_h;KB_^Ovc-YZ@rX5Y?HmLF;Yd4w0?+ zA>#9fH3aq&B!f6KK$+_}ImgA@#x23G4&7YMVeJ2veBtb~R9vdwWl>D1sgGC|8C_D%;! z2>Q;kM|yCVHnDP2h=q48g7ldKc46GxE+j_so>fz6?+!Id!?(d+k|6DOUj zs2>}Th^6faFv6Frq~8qJSY-^)N~6+rT4j1@oq`kK^vE>^sIe;AY@FLz!iLkm&QhkS zDi8Q%{XmLm6v2;QAK2aKWABPxo@j4enM$u13-kNavxvsbe$kd_SKY&E7ht@7`}5#J zW563%MWokVt#Vxo;N_zO$5xdHkAdEw$pAr>3q>?_b7dl^LfD|Yq%YN2Z-=FZ3cdtP zDcS1xbH1b7;FN)Q2U@D=uE{%@{xs`Bjr%8ta$D z>bWt*W?~)pI`^)uZ1R7vKZhpDhs!P-h+792x$OtrAN)gTOl8|Yn#_?X>e;*vrU&|&oS4ksI zUa5#I7+UKdRCj4>V?}<|;vZCrF#S*mEb(Eb5nIm9nYKDYQ~x}4+`Iezm*LMcn6hFY ztv2KKNa4zNKgcgwp)wNd-)B_0do&vPetv43BGZkXFU$FACgx4W(*~%~L-HneX&Qc; zUI2k~S(;a1I~41)Sy{rij?!_p0HAa+O}7+TNtX>e^eABdLtg(*NwKm00EEE|zYt~M zzHC7CyY+Rn&Bp>{M;0LxMgWn3NIy3?V*i$J9jr*+#QVWJ;rcP66eFX`v-P>2tHzTI zH^74cz?CHV*g(W;QR*ahn|1dzake`pVD`|S^0oukiY{1qY0%1holx(W*I(;B#wtmT035X+k++Mh zXK{~bWfgK$HWTY#7oJG0A2b;Ui~v75n-~Z_r6o@vxq_1BrB6qsc|*?=yY^T*SE`!7 zC5pEBvU=$)nSsM$>6 zMl3ZjPlaT1Zrd*~q8|YMPAi?-_PHk0392Ng>PZ)#@tlVH#Fz17khKp*PYq)=kYmB+ zM%4hHXnvc%e@)*q&9e;Pbsj=dU_%@L155UDcG`qB8X(t?i_>FlW>4^R5+=R!@kaKI=GDVGp|N2FtG~0A*fm~11 zRNR?yM(_B;u(v(=k>UQ9NPvJ#pc)L(R1{xJD|ME$jO6z?pDsanJ*-^`NfyK|Hp{5N z+1=eHDk-_#={G$B$gS0)`$awfHSxPzNLwMyKob1x2#-I{UUrti_5;UrXut;KoE zLd!%Om6l@CqBfBduTa~(ek$Jh7IJ-?H2XJ-veuYEwT+%OE0v_$A=a{K%;tL!60e1Q z!)K@R-VdL)*bGKFsgb4Sd$zgqxp>hm4{*u;xpc^)Fk%;zaDak^07x#g<)w+^S4{HP z`$7ZpUftgJHyC^Q?0@nWU27nq^;Xvcgp0ahew@R6XVLv{_?&nVAxVXXUMdB=7Kupa zQ(N?oZ{NKrz9@!{1TB(@6A&)@`?{peLGvQsxn=9YKSX5+_W+sDHcF<4UOIR)ayv9kYKrdSUec0NMWs(1S>SdkfgdJ{Hf-W14P_ z#rFYW$i#qwK`E2UZ^KK(Ps6ch&!vb?70tYDu>3TG8h?VaYLbuDY3_!1zkX|h{~^^R z8=}LhnGgl9wJm5P5E9mrIzXWJt^(Qw6+f$Nl7Fx{hvEsg;aprSuxL|Q0v3mWU2118+d3@ zw-3PfxP~*n#4PpTvxCXY17lzgr?ghYXce7qWtIGzXUGP&xI8a{{B8iU?ruKCJHKqg zb&n?MDsM@=efl)N0Ol2PpHtU^@WWH_^DyVq3M==urox3mrz@G4Jy2dIz4 zUkk=}7etphnXi@5m?_tkYT3h8;bY-IYS_un%sF{tSI>-7aU*+A*$Es2>FE2Pc} za^MM_2$op;>tRWjO;)O2Oc618zs+@&9;b$2b$qK)J3i`4wOd3Y{+&eJ>eC4@*_d}1 zuKACUh(~^INiRV23a+A>Q1*7#8&YSm{y?M47U z)E^E?4I428T* z-0FQj9(0RlO-1C18X1phv!U5S7tCxNr(%E0)(P)nhmL%gk>!|m`IqSy3tn4MxOUEH z36T=Rm2u3^)Y^!je`i6gfd=RruBVtD&`QZYyG-}`)BT)CXc{-nLZ^6uxx~#1Pq^f5 zeqB#WBEGk}1@|cg3yA-)PUoH7M?LcXwL9Z?}1k zbT`rbUsQBH5O0N#_2gZ9%dTqM0`iiy_B|U%X(v{U-_ce)o>A(Kt%4ECKuv|Q(Kp@{ zQTA)K=N#Phh19=OWObAVNm43;`(8rKJwu7678$sW-ZMYAHL}%7TRc3uN`oZoK?aW| z)(dNT?2Th;4cr=TIWF@*5B*Xk>@Dz)(!kft>B*3F&D;5VfY^li5|at&r&&4twIa&(zH1V_ zevr8GauKB$MDYZ|@{)Z*2DHP`Mt_S#R@>hSuw(exR}t}?EU~_F255nIbuM!KTF1Wi zlufJD*oAAsff`0DC&yQ!_=O^9lCBX80c^_z3L#vr41$pB0-}SrY3oBe1lZ8h+^-Qj zZK<)(g>?pQob8;J-vVi~wvCn}0M9Lrfc9y4Hk^w2M0BoI&X3cR<9_I5rt*?CSs^4N zZj2d9dg$_O)4;64`hN3&Oa`jNz^z5NWs|C>CgX+JrnQxH6DNGDBm?Aqde`O6D0Kj1 zbziB(3tel@du;n2!0DhmS&c%tP1;oeQhBX974`3ob_3Y*M_njhitMsX(m#?1P(k4X zKF-oa%EX$SQCN^D?-9!QQNb&5c{Y;zyiTeaNl66!v*IUMU7q&Ju86`2jrlw z%Wo`k^RFT;fiP4PfpV$A*Ut${H@dyOPV1edX0V#Fr4dgH3Y=g`^e8}A*th_33h(5+ zOIvsUV|_-6lsz&Mm&|hm{f*6TO_G=c%4d9fXR2qQXTxXu$f;07%=!pBtN9vtl(z07 z5eN`A)Ho9V)E4+wMXVb@|M$K$v&?L4MGHH-=BzN-rVe(a#p z>i3#{P2b0-`SD4Q=`{6Qlk#sDQ^=N0#?VoDlT8$`d{IMpB85Ux0h+ZZ9Ux=h zTmGa*4NjL(ojR2YSmoy_h0@fsHdRtw?z67R3huwxhf@dX5?JSNhnflo{AAa4lzz zLd=9a3K#-a^S_AmbzlkWK2rO~!ti@zM{P}WR9>ALi`6cAJuwmF2;?ET1O72afLSP9;DUm2H7^V z-0y^sVLy;pI9fF1iS{Wt!6QR?dlY&t^{27I9_#w!~yfD_;10bc&4#6Nr;?3L(? zm6O}M+8L5kRscrpvKqA+fm5{*xAq|K@Q)t`6rvP3p3G_9wbn6z^f#862&gf|&lDAV z%tFd^Dhsh_SuHhmzQTOu8`cGs!KlR%dkJoRk2sw-W-z&PbvSGKIGb+7*7%bDU&aaz z;h)(74jclN;gn}2e;Tdf#{Ji~TR)2_JiXvaR{OlUS3f>df`^X$AONC&;_LrTMOOl> ziG}HQ=N{>Qj_6~}(=EkuZdmj!p|%X{pR;kXC2c-qGZ3{-&xAL>`@0<=s#^RNgliZ5 zn;n0FEb2E|wv!ntO~i}cHVRb6?OPMBR+WM4jA{Z)M1-+0T7(`G{wkhX^I{$AP+(zgBKWFPdTyoe?p3b%yeHM`6zp^0qc;<(T zdO@TkoV(vmhg(1c9O;!Iq~7)AnVB*{GH-5*s}&GgFvDlf_$-YEfAJGniOicxA`)6H zrktI9A;0*#uLF6%_=HrGd~pghW-{(eQNgfhY(-F0)KwIVApDrbY-W`D2DkB@!q?XH z0cr~xxK~19CE;sRrzH_H(iVWGeP)2yb@(u~2s)9(=>&nv;#>4e-CJq`4(o=Dmmr`!*`*}-3y8D2_*-BP}b#CKu_<-^7dh`;DR~*ca_)BW6 zu9e*A+pifE>_gQNua?arK+b4HtXQy*Am;&Rxn)hxUrTR0Vm?m^i180oQu108Lx#%o z!MfV=HPQ^mkgk$AaWj{8ylBd+v_BTVb4W)_phU|MVP5?cVPR%YjlWMYQ;MR5>7MNV?@}P3y&34&rx9ReitYc_B zbXOlUeQf%rb$v^G=2EKqa&eB{nHH-fpI`J3q1|l4)zY1xSpL z!Aq81wiUt()eM+!q2QOl@WWJA42;`Rk&&a!~&D%L31?koR=J(h@t^x$a zFMKe-m<2TEyEOyOMnKd$9#1OEJtC|05y+c(-^2CB-!+)Say4&k90NP*rX;-48X2Jl zu&2?KVgN1$|735PwHy58@c!2b|9@XBYD4bWOAcNZ|tc}>u;yRPDFD4P}Y5OVL zO3SglZm~Yt1dh{QuTCe=tf|P}XNOYBmL;G&IqxltK=c+R4H8QM1s^*2!x`h1$X2da z+bXYqa(jyzB4=W5@*B<_7glWG*5T#T3S={O7hs23=Q_7C_rJb19m%a~2^oA7!tU5g zuhu{xsTwEf_UX3z_S1GbV#ZP0q!&87Q0F*oA9rFksKQ z1(WBrT+#w5EgD~qwPFWvi`J0Nu2v<*#E&e}7-BoMQctJ5B%NAf&5DoF77*!3a2Zq8 zx)da9(DW8yB!pbrMpiAw%Eat!Paz8khXGb>ij|eskv+4mWol5wYIq96qE`pHiR1^< z=L%P%Ja2yTsqe-Ns_Ao=&k>{k2vVG2wH=fLVndmjcaiPMo^ZpQU*wa&ExH5|b`-3O zKNi>!;{2dH7%(;lCRd7m#kS{!9NW#g7;uP>DCc!$r_32<69IKaHrwVlkzGOwQYb}! zRI=XTV<`4ZuR7P*UqZz71~*%Lt$yea#vJ@9n)dfPUqFqXcfEVCZ8;@_bT0PuyT<+f zsS1;;<4Zv&Tu#WfTF#kIi+&IMBs5QW?Cum}PCQo=1ti`+(Wd@&Qt#9a9S`kzO_T_-76~lkdC_wNJDL@*#PHdY?fto2R`@MZ)K>?Gd9$wQo zc1MkIKX-5aq@(r~Vv62Tkn)u`4xWD&R|9b@KESx}=KtQTKWLS2O008@AQS4DGH}Ai zNN|oqrq-Wu&GD|30vEMMvZu`ri--2M+F`Au*PCe!Z7HEzt6^ABJ5tM1rdmXvxb|Yb#%Is+uD zVpbU|^`o-Otm9+)1uc<)H5(T0!6b5N{EUJa<5XYdbKR%am!MPq2HC3sEG+DfW7QKv`P2A);WjN6`&3l4Yj z?K-o|bYsBQUu=O}CuKA}?WVf(-m=TK*ru^;LAsIGdgs@TLl@B054Rf4-2-wd4j=*0 zGY9gJwPuJ*!DtQRd$hHj!kOc+#*O%hQa>Q4A;XrEw2)fk0uKZHQTDH-b29zgdAxb z5AfZ(5UoT4s8KfIH!!5b*!5MZq6Dxz^OFElcL59}^r09(y`AMkeW0r8mPI$`KYa4? zs4Dk*xroJG8oQ3seFFf~XNgZsTciOTI%^-f;W-vgSQSwDWof?Hf241l#!^J?9vEOpt`k;g2PuM=(* z=bwZlnU|7ma)bi5%Btk>vlq*b`h3Jmgh%*acQc+51H8bWZWdm=))**Q zcRe?j%{X@2!zw0u@RyR;daAp73mpO)q}^>zzqMJm5#vOB@o<4*txb;?+&g6J~^r#JlZvHX(CsZ6>yKoggF8bT&r#{&Ky{j1+1* zO{T<0jC1M*Nx~tXNLS77M6Xr z=(~xqQ=T9Gnq+~l%{7|YY7L-n9)zsOevO9jfB@;8 zO);J5FrU#~-d#RG=>Q~mV}6zb#D?%q%X>{XFE0}t7Xjrg#n|qZAicDP#m@FO)`~+B z8&OIAKn?lTM))6JvDz~Ph}2Qzv((UXWa-OerLe~Coa_42D}g)pW~*Qt)ZnC_ElYhf zFhzhDp&FD*!?pf<1nbG64lYUGRont<>n9%8fJSj`bN2zyRb$dKX0|`Pv0ETnG#Op) zQm$G}^I9HnR-1f%@3~=V$sb? zfdxyTixJH6sNeKbfo%}`y|DGn`u>#_)zMQ+m-&+9jTv*F4@YgSRTGQXooByh9D#n-`ic8+ zMKwjGAYz-X`CeT77!hDtcyoBZ23T~uGh8bLr1yOk{78z6CIOkg%|&* zgxIZdGR<2lyZjVWzz&Wfab?tdoT@yBim5uY2mO6yebapSs3Alja}@c$w_?1VJ0{~k zeDlIxu^WfK@L-ZXmp!9!&rOLB7Q0RSae#Kt&o(Yz@I3(iY*ypcfEJ{*JdSo`5W!_G zxtaxMCkF&FjMAd_g*wP}$rQd%()08K-)T zU#u^8^1*@D)(yU(!f8w@g)`-~+b!0~s}2@7d0VY|dAQ`T_++t5fRO{`&@%MyjUQ6O z4gRHS{;d9#c?F%(p93jfsNv6-0pMr6YU~LR05~BAZ-8)`S(fT&jCmLVAPewnq)g+H zbCc;~r%OD{2f1RW0X3~w-9Er-1MRCwdG; zTR|dV5VyAhaDT>JJ$=8JSEx$=sb*XVlpx`szr8<}j+kr+W`Bt*h}oWm+S7F#dsh7Z zq*4z847Ict%qhys@Xd1mV~JsE_*tO5o6)ZoHyvPIUmFXl+ppPH`3d|L^F!~Jfj-Gv zk0p7}HXQ5Ez$EWoVQhTq>{eA&GXb`~##5Z`_rVlIn&^D_qE4q(^m_3KVm0eQqIXwP zOw(IIGSp!~@`JBeDe2b0QTFm}HQam6c47H_6&bi6N_wp5aobDGDU~o_1ji0$cCf)= zIz3%3xs?Ov`@r=&9?k)u3W@0nD(NVzw(7Dm&jQbL9@=>&*+J1i7W=uL)r)QuX0cL^ ziTS8#0OID3|M-)}&7Al9aZcegQ+0kJr~MDkm~}y zBzE$*{-CK>DBc@}qQdFA`jXw~f%TT$1YS`QG~lE(i<~O<185A+bk`RJ9@79d^1GGC443L0}qsYrZ%n7K? z%H7o&`p&^bY7Kzm<;ME*9C1a_@XG;j47bp#m%d-rJsW1`-Ytyo4(%V$){e)5Sau5& zh*abC7c<9zK5xoGv1lc8SzXnqx4>wysqdFZ*TNbDC)$b|UTr;pyEgQ%()QKmt*+lh zJ^^qXGjRJc{!4y=BO;n?5GMZ-2bm=9tW}-_L2d0f|+g?(C{R ztEEs)NplAV_bgaEIL|(@VFFzjyGyxUGSyoDutgb^3>X|fx}K64Y1ELgiY(f%pM0xQ=s^4*0*h4DR2yI zo>N>5vz0_FT&j-D2TQGJ6+9=`!te}9wzV)g_T#M>-g0%!3@xgYmC51q_e+n2GXOq8 z-oE0+QV%^_KmHoM27m)sPaIVmIRg>62hKhK+#+06YNqE*e$##N?y{d5SYAArCVe(J zJSJ(tr!4fk!{@*5{1Mg|JXP16MWcYkRz|7%q*k@pZilG6S31xg=`#Hi;ACyMs8Ti4 zGtLpH$>d~TE-lmRkqhn^VMPT2zx45zr(^yk9rM~@bDVw)r!N0^90Z`pzF;wcnzxWd zoQ9q#E~*{u#3eW`r4d_P_&4ga%w0~K2RWu+gpOMQgiv>Wyk`K>oA}!{FXaT41unX( zmKk4$7VySKebr>_!TYp4E)k4#)X+=^W)|hfg?k%6iCI_b%c@uhxG~v$>CHW!a}_Q* zQH{{iRGp9>&hLH#^j0yfg#-%Qv!bhKc(ZIYj_NqMl`(M zzYps!=_sEtfB?*0rL}#MAG!)VuIP ztE_zj9VIh46Q}69)STl+abD0k;%tNJXbom|7VYPQaQrGic36~aV*mFmhr|A_;=VMj zsjF?*YOQUpS`|@2KufKFAfkqOuqr`O&s;qL*Ev7<0okm*cJ|uOx}W>GpL@q@{s{iE z$=oOUwE6L}U(XdAFTPb+F9tce)0m16r1N?o$BpSS4VixgFu;Tv#1yC~Gqg*7s1dN) z4>#X`^g}DUJ!51C^nuJ@{L%lZS{)kV|L*_xU)sZGM%^x$S(OV}zu*7NcNd1n9t;BK z*%S&KHQGO8;b@4ZxbumkSDGt9Rs_2(PHjIyr_6I2Ti3)sl!Vopp-6Sv+f-P;c!w-@ zx^_rsC4(Jq@{8f(A6Fqx_v|hNp)%^+ado0y3n1eCgNfPl2f7vvp>CgeeGw>YbFm(`?M(aCh=@SMwODMhQApdHdf+z~oq)r?G{9LZZPt`s{9iMB0cXjUeOw$B|8{~z2sy03- z60#g6QX9PQxi3Us{a-|0e#4Tf?=;9f0k^#}guH&JJh;9p@aOasSc(v9ZA~DuWg#GyX4SfJ2huAZ|kWg=v`7c!4?GFJo z$?ZS`UO^;HiwORBc1!~lc$DHo1e2J0;fKMr>dczb*xU}UBXm+1)7>T&z)k=Q*oQA!S%sm088cRbWrGV<;c0P)RePsb=nrF5fu~ked?P z8}tZ1qR~QKeLWM++D9KC67O)Hny<#3JF$;yVXdDm}1&D4!&kxBLalOct+%{>I_GqrzV-`?wJNTO=;{! z++^Zj`4IAK72x1&wAF!R9dT2G=P8;s=%3c%SI8oz*AHz)evr?ma)qPS)R7zkkf%(4 zE5p>uV9lK8ds;sM?ld#~bdj}-Uf?Vp>O-8ZTKe$d89g=S2^2QRu>SmJA1#;1%DK>O zEV)L2?S5dUD=t(-aC5p2rbRiasb|z>BYdj@Ibyb*`%|ERa|;@@Ncd&{czdeEdu|@| z6P$A&Cy6~OK}D->a}jy@*Xilh{k9r~s!7tAvi@_nhIZloC zNvSERfMiHDf=Ifvtx_1XcmD63D*72npyC0!b#ngKc}K64eULq#h3M0OptmGw1+Ki~ zj=T8=a$>g(r0?Hvpxy*Au*dllKm`|Y)}WX*>_L)g5WTZVhz3p}Rj-V3Dbm%Au=yG8 zc&jye2#|xiX65c?THu^_;Zm3#IY;{-d^1S^Pngs=(2Z10mLW{XXnBf78>}GxR`$D# zmHy-O8=$8n=@k6AngcmUbF&&})enM_Bb~tit7+@9*jXdC(v)&@9V(605%WC=R+orf zgW-}iRDu?!O*KNE?|4PI1WyVXD(Ij(H$B`yPbJq0uqU&S8^+^)NzHU1>|x2`_=b*A~tbu&u2c2n#=~7x|MGj z(ENi`5r?puJhxV+{Ogt6HkQqlI?xK3U&|mJRGbzNfz#0kVjvha(*jh6oe&c8?WoO# zr?XsJTc3xG(_RJpL<_0%8!RAD7re+?W4E@>)W;vy}97D43PY9J){1jbGLhKZfmlr zo~vqLl;`oO>kL2gHo*uoB|Mw|h25jPTWEyul-Gx*3Wq{DT7Tzqae57>x-wAn9ZD1!AEi(79Dm+Xw}gjgDL3&K&5a#|#+ zRdY0o0ZhktZ56e4>G%Lvyhg2ej~-z7X2wAYve44o4b3SdVwb^ze+zTp~t|daO1TstevI8K=jfY=hn1c^#R4+Fjiwy6B+09P7 z*U);lYoP4DgLQT)1}Mm5UeUD<7nmlxt(Ix0fvPcQDh6>6jIjy%TwBrvb|c&?7l2CT zz7H^Xq$nYGiI_LbNzSV_XYgAF1jOsqwlphO3SbNt`S_kQzNh@b7%Z|2~Lx*#;B`}sn!HxrOyo-V};&7)-Li8z*yGf z5p!+j(GTJcZ|E;~)43)_%WlHp7Y$Yb|J8T#`3%S% z5Kaw|AJ5X}Y!aq<9!4s!fpcJ8=~UCjS7Gj-o+_?SYa6as9qgG?nuVr+KtT$lKsR|n zb$$8Eqn&apCNaiknv?XFaHN*{K(gU-_mh!19qL5Y0wJ_4ki0VTdH7Yg?4;OTZzv)^ zSdxy6RpfJNWq#uWRC~R^A3T0TJqAtZ0j{65x_>q-)s~NhR^*|p(dFDmkF;Efp_9Gr z7L8d60nA|2_{!`X5WyFlKB;AgHrU)(Bl#`wv)-X2J=8Oe<*S=e#ypCRcOU428!dhO z_{8sqL3v&%D)E*^xNtt7*rAaN(=_-N5!znkvG_zdz-5~~xGDC`a){X-DGd1NbpN3N ze=W$M7J!6Y?eP!a$4Bl!2xIHe9M39JZ98<*1#gzO z7t%yKDdUZX>*vabD`OSeW~U7^Bl2#+ZId&q!>EM_&SiGx{3`{Aj=A74t>w53v#6g` z_F1)9+~*&Yi?8frGs34ukxD0Orv<$uL$wpwF@Kf=8Fi@sGncQq~0@ z=6hg1_|VJ3;8oP0Lu<3oc{;L=L!)1&)1T?mYHevupZ9PC1ggEGw5IT>MT$AWk}Tjo zq?FcUMH#%6ZStWx!Vrzl;|4y927V?1>Rv#mxJ$hlrT9GwLzH;v2;9dCF?6^5$-WB5 z0O_z0-(>i`hL^KGW0vhJc;z8&{)&K&T_oFkTRwr`HRchKfZ32oy(}Pm$DEM#RyXR6 zvdb==kGV2HcJa_~;Z^YFa3_`yNF(_{QMX=Z-?p+MrpV zx;XFX&1&#Wp`wDa74f=FN?tT7Kp2o+mr})@{^VAjtXLnRzswe3>C}raEpJnoYk}A6 z^=a@}$4=p`fWkj9~M%uvd`h_+ZDo#`O5cR zTyR&xKFluBo*GN(@+lhhpkzj(2x=(7(vx|C8!6~RhzKnF`ir#u5Bd#r8QB#cdqhtd z24PFhPey{;>+*Fo_`l;*h{8$yy!?`@L2Zy|Ru~DLJu`{xdF@Jk+vRdSen!_4nOu+x z8>eKjV%?rBOTG8*d|di$C;lBqZ|;$G^49D2-VM%ZT7Venio5%&W_+a88&=%s@-f8Y zpsh0B^3zl;xbUu~t^8@3f;gkHg%*-Xdd&I6K8$a?S!Y~M*_v$v`B_`gwph0;uP#{j zvnw8?jZGz6TUJVT^C)Q1d+{|7BWf?PuMUtaNgB<5mB$G+85!}464u?}0DBt0Vv3)O z1v|Pt4-pvR3-P%mqAd_N*L!Oo1T13b8AjOGj)rFQyCNMv`51xgdk~vbeY({ z{XlrH7w;Gt?X0=4rqcJ%!&uGUCmOkhyjtM{LE44Mz0BBob}?#xoQE$Xv0cyX!yxwL zPDQRQoQ_U$?0;VtXWN|rJmY(+Z3NS;4vo({$bxwH31cu=;BPVKl+{)o)sy}V)}LAE ztI7;VO8LHc-M{w9K9;Ey^slWwev2~$Muk{6$jq_ae|0%t)l*-c_^%KZu!%1to{ddq zl!V_(Z-gwQ&w|LcOKo{|uT|M85Hw?%QAouuzlgxD?l@=rYABLjy*@2d0Lt&TC$PmwIQJas_^ugFiAS^Ls%guQ9ndu?|A+s{%JjC$liP|2H{=S zg{Gv9xq|X4XqHiUv@3`#QurG$>a}HD{m%1eH z_uVdSpo!);f&oBR^yeqLZOYbI4_TVhevt;Hp{kS*KNC%5>LYt+1{?BqDW1#GO`^o; za>tcBp|lalHJ;Ach&3`CITFI++;*;%U=pa8QRi?)Heyay;BcYoVD zs@Q(rsTOXVXtEk(8J&Iz3-~6W|5M4Z5&xzGD<}FrR5Z;4E_qQqzJ)k`JI!=c?&;Y| zjg7d!7x)wYJftHSxA0!;imbBHOp>`@;Za0!w=64*dWepj^XkP;NF;sUyzw%m;` zveqKsFpq2i0X>Lg29a@@vS5_Mn#Y@2YEaM|D0{t5Gb>I_j+94a%IOHM8bJr$w1LKY zmUU3iV(`@JqSIu;)g;F@n(g#8-QnMH(Jd?oM}6(cH?+D7Pyz%u-)P<4wBxU;+WWKr z-+wiD7am)=^btUz^+PPt>g-?xm2Sn9g2G{&Ui~-bbcG4W3@pV4#AohgkH?A^^iZzl zgDe%=z8u0P-*Hb9^%|B&^UaU1ll{3lPJ>(K0aYKR?E~y}sr`;drDXKzc1+ldXQu+} z$|Bb#&f>Lo@yhldj~pl%BnY;Jwz#CE@YiL>)A>Hf!RVija=)Oj^QQUw z=K2Yd!$(V4`ZHZbH3)rOnH_F^8X4#yX)7flKinSacABc1IX1S-a^p)SC`FgIsdf4A zmCDf!yoD;Vid?gJg)(kS{tam(am&>rnzQ8q zC0t?>zN?g6_q+~GUQbBhK;PORBT!(2m?L+zSF&xV|DkwT3yHFrz1fpW&zIDB$Nb!y zk8XPW^25Ra+LD%CBU=Kt1yXfLYj48Zw!#gv&0LDw|46W*=WPKpF#2w1M6p@jojZ=K z_SUN0tA?=A;4pKIIyHlQRPheh+wIa;Eb+(t_YH^&rJ~+AIhQxpk)P{z1E+0N zN%!svJ`9ujOT+I%G{P%bzkIjR7W(l5g0OF0?auX(eI8F^bI(vuuX!HNjSziYDVz>< zo=@K0U@jHH=|vAzt+vOFH&P~J3lr&ksUH=$E6j-PG-UV~Ei<`0vnh?C<~jxyURxf3 zon{{ddd@R&JN7!6dhXr8ytlKI7}1Q$#9a)>YX+2{&jz%eNwTN`?JQ6c-NM5_717BM z@W{$^7+hHyPD0|!)$FUSn6Z1*6vlcJZCE9jVpR12h(j`=hi=!w8EL9bwI3U0@z4GH zwKci4fSxwaqFgIRR#OgzSPd-;0Ia7|MUu+@fJ%r{x#R5=%@-9oRwD!jt@>HY`99~_xe+JT=x4(a{pG!dgY+)snGjgz`6 zD&JQexYrwhpd^`r4He=^Of$vTq&jgO0GOpPhBrWlH$EBYk1h@Hrwa!!ucY$j#of_X zJ+=ECb$y!|S#z?F|E#0Te$k*& z&f)sCaSQrWn@8X9$AHdIIqyn(FK}W0UEBbzY91lB)Q2bjV5uEjb(jYY)Q2^6h;WOW*L7<`02o>S6DHy*X(x~ z>wR|BgB?r3_D)~hk^qo#vC;)UX-o1`X)>d-at`4$!nbQNyX15&4e{7T&qVaoC8u_lfELA#iHmp8$5cqTz(niW-|8y6?W?saH$>O*WQavAC z4k~@I!E#l|EnCiO+CScW3QnRbRfU;c+gSA{Q2-KCby3S%B921@)vCuY`zCJ;3UFcG z1QuF|H?n5M1oXg1g3WtY7{)`#6(j;{=D}Vp-j_8Uw>vE6-Wf{7Z=MLU~$V;Guy!FKjIi z-EhrLuw=rDRgMZcPDCN)_!v$FDs&%s@EdY<*Iu8G|3OEdYOS(u>Zp_ID3KA{ftgcm zrurPtbIkK|MwUMT`r7Hw!-{g_iL!^Uh|B)^zJow`j840hd-Z4OSMka?-^jV~#I$^C zTGl4^@}gc(?Xo5F89p_|%r^p0I#`QcY#0L$4P(-JUU}``G&$kX6TrAIE_r$Lsz$5; zTFU%eZ?dRz9#2{}*^91#DCXu|AHpIVcuo*RW5GQzW!ed2s2s1{Srj6k=^- z1}k_Lq|~aHi@nDqrUr)8cK#3{YKfE6tB)Wd@-|GM?#{t|Z|rsHiYJNPoZt8{YWK>p zl=aR8H@a1@cW9Y=fkex$m368WS7T%0Sv)$G(6fJ-X?*EfX=8HyGn}9#?SPuJ$ks>; zUc?EdwKWB_EdqX_8L(k(wtn;>b1}bP)Hb8dhw@QBGfi+McSnG5;V0AlfGI~+mJ%+Y znJvA@>|ycU_hd7j>_+xpCaUJ67yTG>3-NCsweEHWDrYqlI#sGOf_frd!$la|Zci7y zR6rC`F$c5XbE_fB?E_MX$DsV|b&a&#jsJQTg|P@$yzxB!J=%95x#)-zA_;Pa zVKy59{`I92YhP(O8z%5}j4nTb2WiFF)L$+K!O5jQ(wrNfKU`C1WNp7pwdJ*lRTyoBr+@?Ks5 zBNQCsyfH$?1x$}eg>9*@oz7KV%N_7<7yt5=P)>71ANu&fuB@U$eoiVp4K|b4ALQH1 zEGQ47qh$o>h7G?h^NNXr&OOe{Qtc7&G>|wZqOE*;y}E6~OUm;Es&?che(r^3frX%;`pbD7_)4qV7F^X)D88nFP&-^ z#FrWzO&cs!TJiAI*t|1Sc7!ntO^Gs-x7DuULTiHeKd3-*+taw_-z*O@)&^#$Z?-i>EMdpt}Uvzm+%ZZ1J( z_2B+}1IkPr9u@2R-_E3Soq0&7iC0D+@@?`fxGj?b})vMwcC#S6N0YGPK zk=b*(0`(sgckS#ph6UVERBjWWV6f@s-bd~1pZjG@w&P6#rgI~}3(o*^O z5HrTgR>Ox$c%_Rrz#MNXc@+shIAG0upbe~yi@YGNOYUjNGRpL-TVyE6@JeWAsF b`_*#fmYgmV72$pY^!p`a^9!VNH-G;h<-&Xd literal 2542 zcmV*P)`N z@A2yF?&#_3<>u((Fe$1=<4I;=HTMv?C$X9=jq?!;^^w^-r(Wu?eF2^ zg(*Yv$U?SuXcHT%gxS#govM^q$MdXYHo7W*4R%|SGv5tUSVe3+}^RWvS?^% z*xA}WK}D&nt(KUZjE|B|QdZsG-e6#0LPA1aU0vMW-rL^axw^VvUti44&B4OMzQ4dH zXW9S%|JT~y)Ysb4)Y#3>)5^`z^z`)b@bK;J?da&}<>lqJy1$K+oA>wl@9^<`gN&Y| zsn5~XYjb_d%+Q64lYE1W-{IqQdxe&pqOP*IrmC>$>FVR;<>BGt&*lHNoN^5&O(I^m zzUBX%en?fF>!ZBcV0xR#-ujKD#1=4CvdZRagQRnetSx`k&gIZ(CQW#`|H0Vw&*kWY zU38Gq|9q9T6eyag<^O3Xnaa48NMeP-*!9fNvqdMFN?x}&QFdr1c5r{xgI!BUVuV$1 zk>IOkC@PK5`~1a-A^Q90sI1RBiqQDvsb48AiL9((DvkEZhmXttGG?yl`~3R*%z!D4 ztjhkPWGH|rEQg8EU@2>_SboG>FMe5@$vQb_3rNO>gwv|=H~M9^5^I0_V)Jg z@9*pD>+|#T_xJbg?CkjX`1$$y`uh6&`}+$G!=wNJ2e(N?K~#7F?9v4RfIt8Mv3EDL ze^gT7w+s_!1EkW%IuD${S)-MZA*OuFF~H>%gD9ce#<5etHCuxyz1nfgF~AL5yO_F} zms5@bZkY|oaKo{6+x>$b?3jmg+dK@%ztNU=%nAS;+{rKWqn|Fczp5;ST$drG;W zO<+M-4t@s>zX_(#6=HWgLUid6j_LIv*UQYwhizUvV=vykediV@Jmgat<2Vc52xB(A zJjB>4n)oCa%QME9d~eO$aPbCAtRwxJYh>(yFt%{Sa!PUBbmXf{`i*VdEXe$UFOp7@`Pv=y-^f z=by51u&%;(g0n>Y-rG17aXxRSF;ZD2$%nCKVI(YxYboSS-Wcek5y!|3^OUk9!S|Zo zkE7(l8t7VvHpZBcUrTEH%VzAz7+W-Aj-*USlE;>4+8Bcc#xnV04U_&_5=zwW=_k)8x;72OIQ$R)}MnZVBQnOVtI58TOpdilEV2q7CYq18p zmXW1rOiLmgWL=DX{PcMzU%t9Uh^_|WI%B^Hs*N#hu5U?aw(;{R{P}T;xHw~=OwceD zr95JINDsFiV@gR$qRCo)owr6K#7Zezd~&ohRt~f6F)a$u^0{vrwst>;npP5iD`d=l z|MAl;PnevtQ)U6(F(%|woF&0YsE#C(BZi-DHt2oE;53FhTIu%~NU$Bs%9uV57@=0m znmvp*#$fIlL-V6CW-V))ZjZH+vzGNSwn)e-K2b1ZjHzj3Y_=$KFp#v79PTmMW2|D) zGp4C+6B%R0hUCVWm9nLK7`?y8;A4y-@hN-k6vl91Mb^UDf+5qr!sJ-*!>TsMd?Htj zkdQW*6t%%~ySW*6cT)O;d!UmTtGUDENbjhOG5EABjQ}eJ(T7}-K3W+o?r>r3As|!C zc0Xn>;^Bm z-v2CNNABI0fRz7JpLzWy0W=28+!#P(pfS)GFbNt1je*7h8Uu~tKWpqKupzHDCcs9} z*gu8FKx5lGyLdPTy50q zU22o2;^DmwG*;Vr;diVCW=S-U`m)NZMpzruo3;9jyaO~QYA-d`3@OCgQ{|2MuhxU# zv3DB-jdjr*YeIgZG11{%q@0$!#(b$JrT62p4>txH^Jr2Y>4V06Dn2(+^LKr@JFiT# zPGjIYKR{!kG0@neKw|)nfyO{%8v;CREN)#~UVWbgaCLdH^`XW98Uu}i#;zv-OwkxX zW1un67(ip7G0@m=_RS*AVHgIZmsHV??6}N~ryogiJRDl<6{P&@XZ+e;zuzAWr5*MA zWH zm)~hW7EB=zV%*fTPZ+4Qb4*dkrVm*wm(Mx-C7ub$`!FMGrNz>*fZ$)=zZVdaW8e2< ziaI90=l|x|Os>bsG5YlT^B9Xc{w8~VUM#KnM8VsVYR(mo0lJ{)$`a-4e@37lR;m$t zKc;kWEZy_h(ea-DgMGU;j35RAD4MAWb$ZJTX6V;!=Y}!ed(jl|7bT%F&=?v+V-VaJ zgwPloLt~&ZG=|0?ps^z7vU-{8w+X(iv8H`Ut9u&zVVpu5!?SYkUWQ&{#57hf8Y8f= zIp-w>H-`Jzx@nBi#`cp+V}v!BjoYtH8$4*wfosU}I>kxK1gs zF*MfSZ0UhBBVjZ)=SPdi@Sh)zfyU4n|E96q`*!K$u%Qr$0w5=vdhY>gp%ZDL6BUpk zB|s<=no2JLAwYys?nY1h{>B}5jQjq0Z@e`|lAXQEUTdzo=KRdEU+ZeCQC|REprD|j zesKSuJ_W_^7z&Cr(dQ|FJ35|;(^a;pI^Uc-<x0$?UHc8Df zLq-mUvC!(jpcTFOGJq3dtE4B2D;TTGkZ`_MBr$3*ZNw`PW#q$c{`B^Jir*jnNul`R zYL4)Wh8G;?<0%xMexC{4oNjCUp8BTz7HLYM2X4xR9gy9_6OXRgeEC+0g>#9LLdVR> zR5E+4-ZFd4&`A=r=j0xXrv>STuZ1tGmxV90PnI9c6DGfPZzj|xlnF(Et~G3UuA$a_ zT^iQCTqHJq$|VU;$|c?7OzXeO7+1~G*FHWnK3(Q%d7586lSs;HJ-IEUo|D|l12fz% zn>XueNsQnS(#T0|6@Xc8H_yX*$ca=a;ycfVwJ)zv-YSJsWKI@d+KTBk{zs3U`zeMjb9OiS|NoW0MKPleS-&E#jR7p*>XB5M%FQxD4au)bK0o7njj#USLB`1crZjMy*pW!SG!*XS~X83BeME7lyR>mWPXP7m>E zd5Urb9?ahh#sme}1qaJy=6vl@FKsY+eiKezuDu&GzH(odvz6!Prm-P zBzBhWMq9wHxmIo%aY?9AQ8~QjW{2un=kD+r-jdw>XwF{J>64G7<9A_6mw{G)d`=tL zGR`_UpL}k13EzrHLz=EMqsMTS=53ry#OW5&JuHP4)9T0*D+-FcJeUr3`qi}YBBzks zz4@1F2G6ISPM(l*}^>~K0u{-3*$7sy&s}h_HpFMi?Lb|I+5dCAWXluI#B=ew4 zuwl8QYa@lF?Ro2j-y0^$M_zUAa+7$kK)1>EjEcmKstW@ za!9l_wQBY_EWC5+(GMA0{DKH-RARhkeojZ8X|wjnWatkk*&{9m^3o3?bWQS!f_uSu zU0+3ApvS9&O{$Z`E6Z^P*f-(fWYVHvw@zg71QyuCPvV&M`#&fD=lbW*18aNCGLsdG zd&cNzQr(H+(vLk_N6}mRV}l6%>Zj52jjk#rt!z6LOF$=FDiAeFIC*=eAipHND3>4E z{C+JixU*!>F1~(Of>rtuo_!QlHg|CYKD0?mT|>tG5@RKT=9hhU z+lN{3ma_`z&^(mh1yueQ`&P*o#74_;EBCFpa+bI;HiH*$&?LkooNCJB{na&(MkAN8 z#fodE3@8jJwKo&GRt%Hx=?_ASR?I8kvt48k%W+XxtL^4b((ID42(;+=vzkx`o!t8p z_4JmHtD&C2bqFD4Z*cLr1rc1R6(xzmgT~l2KvoOS6#+4F$}5AeLCueirp_=*IlCVE z@$ft;*2#Un$_|%?HbcTRv6<{@v8qn+Jt>?arCGLdvx7(Sz}yn^kG;XZ-PI=l!_L>s zcf_CG^=61hIo(&{v>7`@Ehfc^uQevG7S2igFF!F;%^Rr2FMqC{^Zbf)W`vX(6uQjy zWvn7-%4#cjb7Vr>m+i_tsc+nQB8+zzq4WuK@;;F>Q1>npYQiIK$y?+9<+4_LXM zJUd%TT$VN>(i-|fX z-_(XqWaLlu_4KTJ>QpKn23kqp(xjVVnsDLKn>Cy%KZyU5)Y88(Og0=2mMHHq1j5|``v zoLmwikNq2w5#Np{n#9Q^G|&{Wt}>5~3)imE>d29U-oKI#r0pA53Q0P*=D6Yj_-*# zbhhV)9v@w%FLKuz*TPC3s1jV#3?{YH#p+#?{``w0E9J#j*XCjsXU}-3<(4WhDHzb2 z;%iVu`fruTVPI-7oeS1{#!okEnC;r??Sp-j3QM@8ReeIuo~YA3{=+ApvI6}+L-&J= z5V`WWQt#I2==jH}dIG%tOp*S7KzWmxRhX_UZ-tj!da0`=88=XFv-mxMJ!7(FF>Xdm z3~W1gh_AZUxE@j(uD5(xa+aX5iEmR|3~=brVUUe0vOfDbp^2u#$vjeVEOpW{Tzd@V z+FX<`d9>8y#wzb6hV`$(G$xkPs(;1u!=pf9%}x*Tyv zo4AmSLY^eC(F;~MfuS5Nw|E%N+|9T`5pgnkhD9mp?Q+4x&RWSoaJq1XnJcG+IX$e- z=NW(NIe$(je_nA?J|Rr-R|YqGFf`JiM}KnYOS3uYnH4yHbt1gUjk1X ztT&C}9JZJF9IP7Wc$rQY&-{mSsY7UPzmU zWD?$R7O?CD#YClY4Zn^ooilW5yQQLIisMYKDj6xL+pCAKIf>5nS{PF%=E^@BPEK@* zFV#-byjXP1sdY0${dlT$&L&ooe)T)wbAjYf#y#Q>sljkjI7xr9tgQ}~2ZA_JPRy5* z`iIkOg5|ECalwWfFhaoIVP`|cP!0LLbu>lz@cez(dv2xTnBl6GRCny-OEn^!v3}*_ z6&f67Tos04eF$OnaDmBUlMbSqeBLN)z!^=9R5#2*9Nh(A(sjsBsdp)B4{`oC8Ml#i z&n+<(j@xOw@ZpNsVy)3S%8bfCieO5;WyevK*G7{mGqglgc&@ExyHC||G*;xBDKVS6 zG;`qi-KIsM+mTY7qrzpzt8vo~MLpq*30D@h`XE+ZvrVZhUu}dFp$UfvcHm^^c)AaW z89af(HokO@$-MZMiW0%-=h7MFidY;1orzx5V2@50n2S7O)XIf7%+>D?Qf^&<4LYb$ zdGu1vuT?6QXxnj6X0+K4=Zgf3d2QbbhUE77QoFw+1DK1F5m3f=V+y_vIB}+nW0RlT z7xTOnru9r2HLC$uWMz+wt%9PJ+BJ z%+n4%pQUZ2*AjPw8OgWSBxt~C7(eA#rObQ`dGW9$T#tt`qpDsmkfah`pm~OF8nx1b z3XT%N`1D7h3LY=!NkdXB&yKNOq%%bpNeGRz5hwdWm=Bp!T1H_NpPv&V=k@0k^&O#Y zpB3qq&YnwliLdtwH11%-HI;U<;o2>dgkMw&m6C&&0}RNk&4vN?U^=>g_?E)u%XyV( zj%xP937Y(v&-eM9bHpY9$>PI$0>g8==mpnF5i`5kEZ%fxy3A# zWo@Po34hBj9iA^A*%kM(*tb7ZhyC|(N|*2OHHe|QqfM_kCN-o+wwPWQR0QxKk3rcV zbj=99Cdvv$dfs#!4L9ppMSJ#T!)SRIbXLuMbUV^)(zpfF$z!!i@`O_2HQ^kaqh&~?0A@50eGuW+s=a;n)a@PV8C z#Saef29$gJ#PW5Sn%n_TFR}Ls2@G!&W!a)7Y1B8l5X-U6ZJkM`pPIb$s z&~`)gkhMa+eZ06`LddS(x|9yt`hfM>4yl;Wc!4nsuf}YHaWx-NOC>%8Unt3^?L7|5oMJPG=%uefv9Fab`&tIIZJC)4!1nZX z+u2vw9GtR>s(Mumd77)zxfNr^xDD>Fygv4pIj|b@o>tQ-Dsm8isff7sL&8fBicU;0 zKv`wt*~;fZCEOJItpzE25_ z*lckwZ|khZl4ky6Z;L}y_~&`A$iwOt-Z8do?Q@(c*Xh)TR;>=#3t^hfCbO_T?&t3Y zyuZ!&WXI~4JgvPTQ(nuXH1x#$BeEm5om&}^jj9!|uG4YS(~_nSj2&Ge;sB!_eofBN z0QuPaOHBKgtaB7X7^9@;g9@vZ_J3Jb{yz*g&V~z_v>krKrha++eq)(uie{4*2r_0l zQ708jJ6wu$K!8lUu0!^$ubHE#LojT_(!_5&E21h)5P|6&0D$A3G9MF70(LG`dC!+r zZ}}N4Y37!06zROr7Iso!tahNL0glFB!kJ={=OVNs@iJYO(!7ERSI3x}UL{ioL!^Jg zBYT{o66HihltOH=lQqCyBR0`Z&f#eSXMD z?FK?#lxf-Rwa$?H{WCAbacSkL%Z$q(466Of3+~N2JElA0`KcoD0SD3HLt$yZbs;*@ z<&8O|S)k*oD6h6%s_Hvqz39KDk)h&|x4a2DefZxeVxlO4BB3YwOZX@GHnn zsaC-5ipAUeX!ufwHoV}d-YL^*+y{^+F2Wevn+|FCaW{4FnfbZew@1U<4|J@4CYgUWB)|qvcxcn zyKp7bf^y5Sia%Ey%at>XvJkz!NIFaGs`y%DnL%=NCtn0X#&?l1-U-vF8I_-;mtJ2X zjgeo?&xEh(UO8rIJD{Bok;pHTx>VzZdOw_? z-vp$vL}kbcd;<`xw6A$_Vs1y$9!_fvYhxbgY3}PqD~=@+CP0_Kvn$o%fq1F=s_Xbo zdk}b5(6aGeAmD`frOX2DJ_gp#(Y&LIlIL}1WFm;$;iFrf_Qw5Z^9%_BP{Bh7b-N20 zI%P@8(Tn;HCQgPZ3_2egDfbbuw;`a%t2gAge2Ot8!^FzLgB^ZDT0P7gT`JLx%#3?o zU2d7CHAyD!h6$VRB6N#odw&qSiyqIupIe<8WtR21)0n*(|H=QpMFW~s3HniNJNMT9 z`j_*O{?$b8{J|ViR*nLnsUh3$?%atF1ZnG&rb`?rO}7Frs9eaAh4ON(z6FgxJ({^8 z>tBMHobu4&Nqish(!Q>%;>ct^N0TE%MS}O!W^Ui1u7DupgC1Msd+X26Qq76=L!{wx z8=t_K{I#YnIWwM+9&-9XN{H@#i_jo=P~Gj~svIpj?G}VZvmEYi{m?q5yX#Ag>U0)v zb+9L1Q?S_k2KenLOQh~7NkM>PLiLSVn0~8aDX9ir>Cqi~G zIhSNmp&_q@WNH0P(Z$bO*M>aHOasI(Dw}K%nmCuQZehMBdFrk@MoA0SXT@rSD~exg zeXJLWj2@}Gav>$4$$NZbMB81!`m9@9zlP$F4p>E{BZMy#aXm zSLf3K{@+~wGp%3!e$C+Y`v0NASRm}u%@=r(>LYmsD-E}{y7IoiDz@5_OXDP)fC#K!jDYd!|k^U1z|M%@rU-zc5lkJL} z4LVfbh>aTZw{qm`t^ZIYBQfH((1V=B)*}7U)k`&JyRoWNM2^Mle~}X)8m~UMXP$@o zjxTE7&H}Eu*zxsmTAx;`EF7p`hx|+7607t7-Hy>ZVa&hHb+s=3f2k5w#GEDNQne=Y z@U2W}UTpbqKbhn7t0eq|;#djbO|N0hbAu8YG)dtMQ-a*C-kPB~_Wzqxh7PwQ-L|cD1;sK$5(N$>e`(fpNrFiCFY2 zm-zlnQ3a2K{*OmNMQTE%j#+Y;zx-C3!a+3?;1%=HwIFjm9tr^T& z%SXFa@3o8fmx_5~)`R+Y4!U+9*t}OLCrn~wroZ;YZd7yScouZWVl6fRAxNUG1UyDq z1+(^BqW#0gCcH7*YsgT8q5rf0#1+WPQ(rHvZmNJeCsF~YNCrLb5!28jPJ+Jg4MsNn zchT1h8aj#!;w$Vw{zH7+B>9!W%=w%`f;st{eX4ntbJx;zB!^nCY|DEAJu)+y( zOwjw_IDM|r9X|!n%d$JK0=FlY47AFDn9JDFzRgj;pHu2tO0`@dK){2uU+lB_A0nL& z0T5}-ZE_B4boWHbDtM*_Tt2K>UOmV8(J3{O2KOo@Bsh&JZoF*xzdN-3LUD1Jy5@a{ z>c`yNJ1}04CL#18ShP%oGfk^@eecuS&}<~F#{X@fhKNgX3bPF-cW1oH7>qG>+j=(b zj%d^7bzJLyS@nOZ(hN|gSrG;6Mg1V=%751t%bf537@YcS)Z@#S{0mD$2TvYYTZzDv z3;*xBA?j4=Fgi?H`sa2+w`-|HwaQy!x}DSXZkyd7{Y?Ka-}3@8NpPAisg4M)r`@-s z<{Q0ckQYohGJe7uvfeYYOUBzi#?Azn5{+yv{v$}lPEQNqdM~BS7;l&jSsQ?(zi7kd zasCf&#GDGmmj1I(&cG95%n!G?sufY|xD-pee}@q-%#_3g;q%oJ{yVm>A(1jeygNMZ zMnB!Ne>mFEwhR_lL3U}I!sywGMlG@b!#{a@e9rOzIX;>6|L3v)|Fp86DQx{+b?wlz zpsmsII^O?KO?^9Yo~Orx*Qj!UO(p~-FP$z5O`A?j|F5up3W@E}NG!hXQEFH(9k#wV z9q4)I#^194F3;5dIuYd&4@=T?pFOs9a5Vk93UkjXg==7}WztVUs5c7GEB_HDMYrT=b3wyo&6{$Bxi%>HbVBKsHy+1Rk;bM zGyN73%*Ml50J8locV7dPuqF#*+MTB;s88eeKg$A}M`=G3BzKzp{NpKRIW13X;u}U5 zscS6!6UPgf@Yzb z)N(?4(0+uuVsCln-lv~$a`7KqIq|#0MqJ4I~0puR$=Nn;6xd4eJ;m~dXu&UxTJqBtwRiUjfVU)Xsd(+(K&FkPB!z7nSEvEmNR-Aue})22Qrs zLQQHD0_6^9s>&2mo|A%ACcpZePD=e!P4D<-BQ(POo_KFgC{q6MFrLr7cPncH-#-Pr zoZYst=+*+Nb=}}l7tH_!6Y%UxX zlZ_nmYDQkrLK_R{cfkn$SoAbTLA zcx~#yAAc;`FvYqfm(<)Jy1(v8`a0kOMA=5z%I)OMnj|E;=>@H=hif9Q2JU2}<=ZJ7 z`#^UxG^^8WHsc=rBH$@{Hm*{X@Eu(+O!~Bql!m`ze@8pbakf|6CSABz(6TA1fkq`t z1u^nE3)WjK;^_ueotE|gk)9>t9UIt;i`rO;g-^dtu$|8EX1D;vz)r|ddbp}4`Q)aR z;|`?-`9oLx_FMN4E`wHQRu%4;J2h85fN>be`jrQ1K z{<7GL9)!!-Ryfc37=l;2ey3E(g}GVQ8zlWP41- z+EhMHWTzT;{Y+cwuw6&u#di5Na|Z zU+M&+@~7q0;m6m_M!r0)y{LI23D;>xvv>_0A(8M;qUAZc(AkQ8@|7iTgq*0{I3}Zh z-+92N601XAcySRn^f+|tq=Jm}SWrtoVr|ng38H}v`-gRJQ=M#vdW+ikYl&m3W?Pvv z`SN1%gd0Awxi9yyD{d;U zfNMK7p{ZacEIj&2DEZ`wzp+BR-7t{fjS2kDwYjkGZ5=H1sLvZ_Km2(ssoer=t7B9b zm%5cyT(r^gqsPDi8=(mV7y_++z$Dxz5<~?iBxFdmHVPG0U)3iTKaVj7PR}uSET$J9 zf3qVUkf8nHaT%Q*|BA$l>tU|Ap)5T}x*AU$_4r1yI*sXYeC_(l@j-B{^WLHh%qiWs zB~JU3`1=5%R@R|>A8oYOQQOi^e|E5XCL~gokMyH~@R^wj1h!O-VP;ivZkyO7V9r;E zs|~Z&BI0fp(}&cFfggoz*V=TdM&8059^z)Ru7$EhW+pPuk1r?~_$19YbNP4$Am{g?&KA-Pq7GQB$TM0g#J-SC z+lIV#`>n_eMBI!`<7WXg)GhGxVSspCZj~dlX;Ub2(O?9A67=rPBMwGL*M@C2XY2a0 zJoj&|V^bvdoraU3Ev{UIyGHAFK<-CEpZ8{e1}nBe@pmyo_sNgDKG~5phBD;fYSl+P zloN+48brieCZn8ZvrGVZoOY(&1s&LGJFe+{>hbypWX$EsQg)Ytv?UXQJK3qcyrOr*H^imwfDyR;_0fd_b)({zAfIIzd!R z6`qTr)t9N%r3PojO4DQnL~_>Rnte8}2#|CxAJ#yC5JhmS&w}}36UrfN==cY%9us5g zRBEgU%yRE=Q^Ds>!l$Nwx&6M2L!MldZ$8uZnq8z{(#&f3KDSKNwhH*jIk6{4wu;bx z*)O8c|4Rj*#y86z#={%^C$-2SVm-yh<4sf_t)D1>0tAIJdj*NuIj@4wj}?c4G1~T~ zB2I~Ab_l#(8@)uMgTqKm#77&9#&iV`8sQF|`Jzj!@0c?_yUYXxaT1HM$NMI6=h7^G zeC;0cQMo>W%?;dISoW?Q52-RYl~?ZzMKs%mOh#&7bW_vQD8tnUE#O=2XvOKxRj=4( z3VI7e&i8!&Ltu%0t}cj&(u}@W-ilesrN35*(u{}P2qjnfGcgESf3o&wU?d6~3N6b=6=V{HIWq%jPqG=7=~r_iFmydJDR5Xs-A<5u-^Y za%+K|&O1GQKIjE{cNa%>Ik1>NOmoSD5Zv+A@266kT&M&Bu5c#g*&9%-_(Ob#`EE-Zlbv|~kiOll8ypD;mk2>&_rYgNT#N)r9 z*(nrAafv6$z~wR_j+s`ZT?@Zybja6x1NYM;K?>xoM@d7%MP z%6q=6lwi03I7jS9efWHG)I~7r6KXN$X08@Jb$q@S3D1J&{b^OMgU&0~PbjhH(rd(R zuDx`dZBy6`qG1*vk|PhVxqpk6IyVjgpYM)xObvu@&wladQ$^!I$_(d_BiFwDblrn_ z)?Jw_>8lG&QK0P$1Rcx3E@mW}nb9l_Iol(Kd4X~&MoRgxchBqlWWsH5N#UR0#R;jr zJU~t#y62os)k=$FjFFT63cFSEH_Qq?5N-lVeOzFrp!cNP>O>qG{BB*EOmjWkAbOTz zQ-|IME0QxX&H&YPk#Obp*95^tXs5>vDKm8VcDvS%;%%-#ct?=W&H^DJgSw2$(bQ36 z-Wr=oAOuHJjmx?ogUPtjk5j#ns&tA6Da}g#!(4m!CwtbQ{3 zdGyQV z?=M#ifRGkvl3?t>g+ktt#`z>pNsOzx3lG5%n7I^e(Gn7JFsJ{C<1}sRv^&mW&bS}SR{OeQ1HIm#@OWjnT zNy*<6V~#s!ZU1idd#t|5$(n^jnSJ~pHp;6n1(EYwxRNB)$7H|(a8RI`78Vh=pti}Z zKu3o)3Fa&6;!QyZ#jAxJ+`Vv&eVXT=D5;rWNOg!G7bRaHH2OQczv9{=~$OL5k zpG?w0$uiKzpltB?*V0(26)zyuYbQezE4E$O$C|5Nd|pH$^P7U)_uenQN8IV{EM^TR zf#;TL&n?aZ01o7-ms`G;XH>aieP9{>|7umu*H2r#W2lvxhLEb zjk0?u2a{uUHJIg^-u>rCH(lXX^Ahb*EKEranl;=ZUKts+OKI8q>GtwH*OMQl%X(A~ zC2=Qu6l_D-Bq9`zXP@2Vn(#~}?mJMq3`&K3H(~Y~s9&v233PLxsP2}V zsn#g_TK{Bg`-XRgMqGpb60>knMa$J!kY6@qiOR^yR2|^w5%mmTlk`artjDsE4tv|C z=CHn=*w&p)rs*I1fZ>oI&3>uIS1i)*XjG<(xE@uCz=gty(K23NeH*n+ItbjOV5xw4 zg`wEkr9Yac-#P{`GKw*7hWuZv6GcIWs@I50)( z8Ktk&3(J$p@wzB`*P2uWEt|bsCbsEqc)i1Tol16Yoft&#?bgB9Y~c67Oz@Mk?=go=GI@|X=?u1zRqD1x)Le#Wc~%&aYbG72YhSeeYcDXQGRLayJg+_ z;Lx?{u3i%hg6HG-Gk3LW+?M1U9DBU_M1D@`DJ|`lu{_&x%omWXm!;WmhToa-6oGXpxZe9TSo&L)D;l7EHo<*}d`no=FttYF;^`sq~p_1rhRp5HOAG4Bqb#qJvi z{gdaGW^01u0)LbaTsdeNJnS_IW>DGtRv!F6^I-K>FulrXYRlE{nz(Dz;@K;A5WIDQ zTUz~}Rt&bB1F!nZALqY+q1wwFwD>8nb-cx2TF-qa2e$_zcuFFHkTf3>BkjAF2Xv4fF zbP1~et_r%fj1y8>98Fo1%<5yyl3xmQJSHs)eE69^@@pVRD<8s;Bp6A<>e5WBVYB2q z)SdhIXSDiPeVt${to|_p!6}NFxh^c58M=V)|KDlY@r?tIm}m6P>SQbTX#BE+z&ODz02s|`@gk^>QrGAhSHvs^w{3nghEDyvus?}Pq?v@* zyMXiK+|qPiunFxI&KANH)s?AO*N(gMWxzE&B# zwRzL?$BvN=mrSfW768YITMv-i zd?M$VWgl>KI3FC_AtU0_DjkW0)i@yg;hfv!PzC`rkW~b0P-9_F&YW5tJUXoxyag4| z%#bfHflXcj%=@TKX#bGC?xaHgmg_kRN4e`cJk3adg%t^dlxI9{c=q>T|`f}D+>bX?5dpPDzXRz#pJk`xikD5*`M=sN+2 zv_f0wHWEB`SuJrSBnlEwm<|E0WxJ8>=|2-5ay5P&L`j0Xgz>Vu@-* z`^Av<2RM6F)F#Z}I>gM4ax~cbG(X~QQ_0g~TddFPOO+2)=+|{@0o=Ipwb&+lO#I1@ z&&IIU>kt*+le+49KS8T9HFEl#@klzA%?Ua|(?*j(FhjuN+xH#)c>1c~Q)Y}R`KQ;mTS zy65+bV9X`EWRZCDNV`e}i!&7F*8q!H&*msR){8+fRep7zi*LM{igojP*-G>D2Go_`GRD&{uRX6PP8l7}w{9(N2)ba2>GBoc-3~oi-^YBv6WA_)u-lq_ zG%PjP#O<)}41%OpSw`&@RUPXmHAD=+@pB^?L?eshTXZ8V<{nbaq5=iqzL~dYb7LM) z)_^E8Pz$8`P%9Rv!{gLpiFU2b?M%T@Hom1hhi$6e`i@PD z!Wh93@q6UQ{YCnhYVU0A~G?f2yK{ z$NPN$%&Io$dx<6o+23bF;V1dI8RPEvNW5<2C?g<=S!=7+wQR{zBbZ7(*m~s-HV0Y0 zd{iken}jFU(owuILReV0&Ijx=fwHUsj&9=4cLfyR#+QU^?z8U;+?Qs;Vm5UHr$2D? zS}mE7JBhpjuG@XE4ShZ=s)Mck@sh{Z@PZT%$m#N9GGA?RVB8E$NE}RYxI<_X?!VjCR8^dhJVtXsPIGBA(Qfgf4xI) z>)hDE$QJ+7b>*dDKk2cmSz61*-I?G5*bH2l!#PVgFqTo0$051Lx!x{Q5fPhl64b+$ zOG&aAC&phXAnqA4SJv4I?6z{r^gNKre9sb8nOCMsnw52`pwYbGnc?=Q|wOT)fxD^Ox_}_z1@f z2D8b=Y0g!_p~#UV5iu)vTTblSMXP2tb~2r9e2TXMy#sc%=@EPPz3~bw?b$hfRhWU| zPKC>)uW+Rz;%Ll|qsdJ!um;r-GMC!A3BNAsWDWtN01g=RmhESA*lyC}Et2O- zBtc^4%hnWNaQDx3;-bHSeS(*zO4g7Z06PtY?cuOVzHzvtTLeby0q?r&>iaay87swn z`66}l)96E4@U}Y4df)qvBHtnG?UE6v$8rw-D)#oN7_VfI<69ImU(Hz?6O};M_ybyM zIx9@Ixx=kcm6OserGS0s>MCnykIlsH_w}Q(r+sM|&=?^DU&a%*F|^aD9-UiQ_MV->6;DyXxl~A={F2mUj*}0mno4Ssn%5DWTMnNGCeFK*A`$wbIaV(M| z-i*-mW&7oRc)6OyIqtm>9$OwK)xv3Xr+2XK=*RMThnn?sx<{D4Uy6b-UR`$uV<3Pu#Hcn$b)+(^Tk-cr_ zGlSR5PviwxtK>nG-~cR72VqkPy`AFzrkQsy%}&K| znL}GBeeawF`d%@iIQR;2=`Q-y#F5sTj}eXycd;fHVVi1JU<28WDwlq_h=>-t4EvIvdNp>@nh2c@*UG6GJwZik*R zYTY|YRsdk`Mv-jzs z!v|2flhBsBRW-RBLjfJ|2^rD$4W&C1KU%8KrQTf#T{ZCzWYsg&tIF`=F4o#jL=GVH z*iBG85sXrQ7)bLC zaosFmy|i}V>Ub#cF@X}DsoK+0u%KcoX4H%s*%9^3VSznfHc%6dKR~-WAu4QQVFeGYXO6#d$SCAjv6hw zJ*;x;yKgp2HN{juV-A@_4yIe7lJ$zl12Em+YffTU_nGlI8+0KP&6`mdO}20JSK#y) z{oWze@k7~kZi{g`B;gZw2oIKz+&1c`*joaJB2nx}PHIxBKj$gfp#W^&$MGvBawl&_ zdVRR-WSm$yY|gtaqgkfRF3;HU8F%A$pOSK2ZojKbd$DZNJ-TKvo;8+GhaOy2xdr+B z`PJntaB|SI284n63l(vFf!a%8I6G8+xBOvE2b<_1`Z|}*%+WxQCmD zka6A>5FyG;IYH>Fvqz=D@`1W`gHXq+W-%kgc?nWU2fxf@hDbXCcZ@PX|RB=rE5}5p3rOlJ0rP_XEj?+tpu%L`K$UMsEggnU)~+Jl`WsGv$tOFnS+90c5Oc#0DYco9awCEeU8v%=taeU7 zXh&HIaIdw`0hzaztjS`SPi?Gg@-Das0_lrtJB46$v>ydV*$e{0Ll#CaqO7m(K6f(UtN5cZ6LND7<6DT6 z<~bf$J^HP}cDmhLXJ=T#_i%pX8GU3|@gK_zTFew={mO4GH^cZR_Ii$@3s{N=D$FfX zo#Q7Y>YO@@^jBfPYbU);i}u*wXo^d4R`S(c`&2xtzSI+SZ65cgzFmFomXULOO2Ccw zKkKy&1XG=vAim#URjgq%xyIPacS2mFDtqItzXu1{b6i0I<}hH-=?Dyhn$f20N(yC# z%pM}7_*5`vIA;!UagS9epE0jY9@5`1*~`hc|HfUzX&B*J#TYEg7cc>m=yw7hG`n|Y zrr@LY`QtA|M_6#C1}qk#7qj_vMlEsNJoUZxGR!Wt6$ib6XAP`Ci79EwCi$a)_ueVZ zWJEBouh79147}W#o%9(go?p@$RwVa0X5&veKt z;!cUlpe>_VMMU!J`DNFeiEup+f4q-;mNg?tKoge&(qA^`?qb6s2h|no#HEx986jpu zQ+wm)lg~=)1T=tGix2aD!@cAtwWhhmPoxnmj@l9*w|-9ZC$IV8zg+6U>w%=ieS*Lq zc7-M_ubzki(W350F%wFpOaPKcwjI0POA*KLwz0aj_2~J^fiI{tcGcVn(;UJ&t^F}= zlepV+Awir%OM?;OgxxAsc`pyjmxBM6@vd3=8lc z8Xu|MEru;u)e*1?1SnjVAJ>Yf}*-|ivLF%PcYc!HrvYtwTIDv zIN2^mCzaA1&?#hWe3S9+`O{}IuNR+#l*&hE;n;dX)MZlCU?z1Bb}^qRU*YHRiuMu4 zq$T(Fqym%hkUZ_Y6U_rqLRo)V(I@Gt!%@UnUv8iG^wI!U50iC#PP0 zYA{*f6$g*ZOC-*WP)>|;2D~Pf4n$g>XXI;EjWza6UjW!_&)PuSN6$s{lt5&f+<}yK zSHJ#dJBbnmmRaLo8+%lLTqS0?Tfd_6`A6tS!*@bu$dyO*OwQ-86Z(?Va{!8 za7(MuzZ5Bm<($msl(tL(z~BW=|*qv7{;FKe?3?uUw?JDma}9k1o-O}R#V zq;IJ2a!eDnVYF<}YP&>0>PYE1%(VA$k~-+`umBk2`O8O9!FhXb{7HN}!xbZM0E>K3 zXv0ZmPL$Wp)fhshj=eC3?k zx?`!pqxgyEB$TdK4I&Y5F>5nfs?`$O)7KAv31trSR;aumY8+@!w}PAx$?gJhY1FE) zJ#e~aPrLw@Y&*?%F_O}*kGYlZlWWstA8Zd~+JB7ps5v!=IoBOq@`j#?hW3?y2{C%D zXdksxtkRxhP>7zADE~;*pR9FCm2U&nZdvwt*QKNQmt@{}I~1s!R8H$YVZ9)ST(8fH z&UbMSt4RMxJ#(Iu(a!&Kn5#G3l#>kw?Ai+5Vo|jB<)V#zloT%K-6_IzjNaquzru16Z_16-WJ&4xZ z1_nuFTN`?1Xx)0RJ-+?3&FhqJ^V9_uv3E-r)9`qNKk%aEN;XG?D~Vtct%zV~fpp(R zl*hf&hz&4uvPiX!pSYr;tak@RQ7r(=qhDKq%9e1cb6+pg}jW^fh)LtE}lla;td>WB{ST5T(~7V`YCwxhOmjG zs6s{KjU&?~-R`_i$L02iRF|rEc`iP3VVVd?8x_X5=K0iXEl1D#Sr2XgA zf$XMFfhECZyQkhEjm8%?Av&UGWI<4oL$GD8=!F8!bE97e zmjX=5$ynWP-pa62+qd;irxDn;dp(82_icR5z2<8ROTXb3Mtb5i^3wvy!&wr^u(7BT zh1A-mRm210ZwVMal-yA&WI#gnY%ChsA%*AL4xMG312bZK z%;{B%O*3E7sdSeFuL)X5=Ko*Jy=7EXUHty7D53(QBHbcLBQ;2ufOIzl0z;Q{gGi|4 z(B0iVFhfaq4_zWKG>F8|JV)>Q{{7?Cv)1$GVJ%n-4r|t#z4zJs8`tNWJ5Bz&VPYsl zah}Rg1`j9WUC-AnKE%QP#I-QXk(lj}%>*A?_N1R540oCN4iLdMw$H#sA;runI$@G; z+1!+Mkp}%S8?P-B)qg*?KcKzPL%#$!ZaXtY)08RfeWJ3=Aq2uFLKk_3J*sQg33)VW zU0PW|OjxRHqu;E`D)O}WsBn`Tj1RhI0A|NpzDUS4q=+8Mk3KaZD&$$4sFC$-$ooh+YGA(@`6)yd|U9(Ex@>5lWIq$6_H zR@g!l#n(WZ@>&Z>Q%J#{Jt6Z4`rrtU6mGo`4})1}-K2dh^F@>6#d?*zJ}L^`pGloS z?Fwj2>cYh|aguqNU+J-v!)U3**%fqX31;8yE7z)WN|uj4RKC#QBoT_$7}V`n&2q|K zj|qxuoGT$6G^&ge~WHW9PO zx9O`ODdPztdY#?bma7E*;txQ<_Qtc4V*Tk{K7Vl6LaQ@)=2S8J2o*`E&Rjj}BPFGp zET-9a-7xCIr1KRqW05!7GSj;blt&qcY)>veU#9Uqwu{Dg!NnX|2814EQ%+690W2PS z=HS~&PepZLk2ohpOwS$!4<@Su2h5*=9auy2l;vB}jf{!MUQj@{)|a2TEJX*n%=C^Z zuek!}2P>{he{bf$^UmNToaN$9*G z%`?=*wpBW*jBfpWfdx0nmEhqG4kwS%Srub%?!y?nAx5gmkum|f#`T4nwfAg7i|RJa z9r7v2z~C5&Z#lk-RV!*b@--(i7LVLyC!0ZM=S)2LSk)VNEumKPo-{R#x?NK0XT7n? zm&4%7HwBrtoU)@S#!SYkQ|ZOn_?*_vwsM!)@N9GOu0aV))t|q{@cG6hrh2g_;YG(y z182#Lp}XTKF)`qr1)sU)NE0NbW$I5f>TM-GSdFR_LQ5WQI zwTKq61{lW;?NT%@nvh)c!t)Xbba6mMC@c2hlR_CzT~0(_a>Pvfblmp&3zwi+`7?~t_Pmhc_5z05T_v}bL@kQ!=(0@ zv$B@b#nm+4qPgqp?c|h2$i_R4P5xi#DP{tg2G3k6--txf$XNWv6ZKV(JP&8ZP!B)r zqW_NZ5}JV0DF%AX`^k||F)6)&O}PGa5&rZ($KwBKw*4jB{&YHO0cW;9UwGtzk>Tt8b=U&=E*yo=A^B@0v)AAn-{-3}9YXkD{FaKM2@&E0G(mG;D{l2%9 z#D9iiqB^~LR!0wJ&CxBH|F;@`7vOm$O#ZL`BvJXFuBWoW@yv#)hf3KvHQ-a$>QHZ? z{_maLVR$}Cd5N00pN|wnolH)*I%N3V1U34gDgT#@pRboI+U;0_#4^sd`+sAx#0!gp z#Df2a*a)=J{XgKd{Qs{P>o6$z9T!*);ZutUpD!{0up!D^|6prYMtci2%R(1}azLw# zzj43$!X)}1?gKga4`!&V>~%`z7%4PQ$Jql^uCZhOArrF*pZ+B*kT@5>NPMHrjKBU8 z(eNYANjr#j)!7@Tl5d`qM-=c}p5WRAp#Rn^)6qKiJl$Q~Ks5hGTnWN6A5mz9VFV>{Np$V| ziya7FF0CgwJd}#?M7CbPv{*EXwW8qN+yZWi`t;D379Od*s<8F-YS>fMvqxSWzj9xqf- zImve8d18ZO-vWozmZ#Zs8YWDlO=mpDjE>q&^JWr)!Q{v zT`wv*P60MW(-uMi61XW9L7IZELf@^F`dnYj8t@Bg-kHJVNliXnx=`;qYg)GPHb7?o z&-g61Q`e+5kaG9h#E!+4XaS=0%Z1Rf4Zlk~5mvA3De8HciTRRq-nZv$~5OYQC&br^;URB(5Q;0Zl+NTEx%c(eLW*i{5xIB)W{mQfiuhF-gBMX2h(C58^ z7jpBySWhVXQ}6;x_uh{gM2Z~Rbeg00HB8g4v2ec)pBvr|MOuR#E6|^eGBlw&kn^;4a6Q1LXLIzUQV8%D%7T%j>c`qc=e~uSisY zoYeKp6DkMX1UBv{TrWz7``K&n*=Q->HNfmu$nbN!yEc#9BF$qU>@11A>F^@K5SU|#^OWKX{=Jl&M!z$^@wHFgQUU7B8JO1 z_8ST!-fI^6yUW==sRDjtDB;0$0TFf$V5}HJ{^vIL6ud@Y2r zV@m>}nKVg9LOLv@-Zby$nXf^T@jWcOP}E@txM}9;NC|t&IN_eNy+s72fUpH|%lZ{97|M=_MA z_mv?Lvktyo(C?VK{^&wBP1O*@_8%WFN6s1VcYn(AM%ZCH10P0Io~NlzUO$%H@Ie?) z`f%;7YaPYc0mIo|>f>2*o7uDqi!v%E(JZFPJ2JzC8z*RiIa>#F8R2_l3lC<`v0dzL zK1=Syi5lS>q$6#OtFL*Ma_k7Xd!0@6;GShWV>=4y_g@Nrw*T&{H5}r#>15z_-|V$W zqXFACQCT70`rU{RbNh@yVo%B5zLGU1|8=Tdf3~WWjj*>IcL8oFnE|Xa5Jt>5XFJmX zC`BgbB<7c@oV04$oi_Y_Ah><0(!EjV7G8aYqPU7#e_E}W3(bZ0 zTyFahTm;lWVPdCLhQe`N*UPTLTQ_F!(k_=hQ-`@q5Y2vc2K!Xf(;M~wbAX>*XrAnk=g19uN~N)X}G+$LV$etrwsc}0h6C21mD(i z1x0MNOw9FoYLK%q$)BcgwD)EkMbh&b-bz|;wF^1?ghU*2!>VEqhT5@RPNHaj76ALa z>v7U(f~YDYk!Ok0Ggsn;551aH&rUc8*RG?TdPcNy}#tPWZ(yBC;+JnIqxMRPZqV7$mx zOzTH%Lf=FyD4;f-#n;t*HI$4+HZPjdI&1%-m}a$pr-H)%L%!`Qz$0gTKKT**I~g{Z zaXsnh=5j)G^q1k0&6vDHo@H8gm^Wu)IS;*y%G)tC)1GS@5kwoOCvm%63|b_IHOrok z$=*}U-RlU`sres#r!ybvFTpnvZHr&Lk&r*K?_&VtbN%&;V>(N1hCFooc2)@84bVH? z@`>H^IRC(?#E>BqC`I8VQwYux!}?)p#X*5=gtiB*`Rwh&j_+%9PIJb3o{_E)pO9PQ zz4)a_O%?uv<@_6Am-U^?GM;LdK`B*B+PKl}{VTl~<^gK8 zZF37{jCuOGUIKMoC5MFqe9?Eh!0wl55zUa^2u~t}A+=Pzqc%E}S18 zHmm<2N!6h_E9(ek*f1kw=p$9MDi1?ze^i9-D)ea9esj!E)ck7B(VSD)jw!+}jFk`x+=-U_vO z-9>jcVeQ(tJ@-}Dv>~OSr61F_GsKcX=az_@>GEY_u#!P?kCImHbaZ5b^ER zR^1F92gr^4IYLv`Ts}r&ucoddn8$TIRN;W7i@K&LG3yx_ZB5%d2S9I897z~0FD?@K zvPL{wWosjf;{|_&w18k7DFuU*;+XlAdaUd20>#MD(yj*`SV?$JDOf>{7$RIO7cAxY zCYW^|RzL~?i8JdsDWHlY|AmzRyQY+27KzvYLo4xl?z%UHl~?^sE1BlBJisMMw|Yod zp+@53o2)<)|9Fx*W~*=&T9iQkYIQQ*{@uX!6;WiY4V0iUlJsGRU-_PnrJr|5VK|PQ zom@|1tkA9bNZP<9n~Qggoby5-s5e@nO1}Z(vEPi2i5uG(aoZtCfk;PWIJf$iSMo`P z(EazIl(kbgI-=|MuhW*p>Cf9!2lf;2$rhHwO9w(x)t>H-cExK*h2=?7Rk2&+@mCrH z@^u3j?9KZIsa{<|pgbCOmm0u!FM^!$_;$bIr2iY`Z;B6j*92Ug#_?jPiAO>*CW^Q9 zQjzlXB71u@TluNkf>+*hB07}ZN#4!uNot(yKo`XZFne=k-thFSHW3S8Df69d_!hJ3 z;rv7ci|yOE;k96hql}tF2OY1`I1-SOLt+`}kja`MY;t6aoN@@pnb=VjsJG>2DfUGO zDYnemXTY_-gxyC9u{yBoBizckY`eDL@xcoYPbW@+?C{z}YD|{CWIs3}d3s3&1xKmcYtz5YEW6Kas}YGZCB5 zQ1r2t#|H5K9aj!ibbyU8^CiX?i@4M=XvH^}VQSt_D9O(gcludO9$zYsF#Vaz@31jf;Z zJC0)W`*seUT)=~*u$4=m3gKP}m+mWPGO@J@T!JzPEt?NAA-k+87O_38;&*85uyK5O zmnkr87z)Wh_pnLhv;PBPLAgKq=SPxqmH*|iruUlx4lDaDk8*J254n5+BF;Y~ljNCc zUEHq;EwUV>y>)*rNt`u zP5GbG3(x{Gho-?VTu>I#S(cj1-aCL7>|YM+apl>e0Dxg7{4Wd(h$wNQX1p&fWYSk4 zq2H~S&aw9kIMNxilZt zWd3whZ5IEqEsDD0JFDr3kS?x&xvYJ#?L2}_oir?CYbci%0Y zlk?aW?;z_6QaIei+D?wiek<0dH)B0HdJynW?cssWmg-OiR*zxWqdcXXzVAmxv?@=o z);tZeu65@38wT8b$w+hzuTk^z0rKOZz2h|V)Sq}=B zS(#t?hQ!(xXZLa$=TcF0UUuu-b&frBG=6K2CaH4qxibcd=76Q zVs6%gmdGjNS|@b+=bqdsB8f3u1yksGt*YUm0p>Y@SpGrCgC`b%JZa1frm3f?H~Ru* zjKj$;xv!88q9u*u;!8HK2ANd-EkB597B`9gDK{*A_-7Q`shPoUEoby2-}x=20_6#3 ziLlWN2T*!7=8e7Hy|-*4?iHD0u)Sj!x$>F{V72&S46HjGS?+oUfddL`7|Kc29h%MtXKl{@mFQG zRF(X^q1VzAN+wp-&J;h{yR5OK`Qq1EKI)_?tf&lf$)h~G3KUYL1~9eP8ozJ-BtSmr zttYKSzRG)94;&JR?|r!>kvv)YFol}qpfetX$uPR^&^Jlrm9YD=RTCRFMNC+xvQKUP zn_kFx*O-pKdRJV@GzczcHlZu`$NO_~vU?+WP{~hUhxWVif5swWQ}n7VF*%YqJqb$i zbAf{f#uPj0uEQ9!n2Xx15}j`@=y7BR-~9;_#m&}uIACY4`T zw4S8FGt~!0cKyn20N@%`R%MiR+`-*PUHw2O>tPwtJZJLVPsrf2wp%(rBHDJ83aw3Z z%yVYC{xvzh{7}m0uTS6N6id|u?LwFqTor{(D_RYZ37XV<-@7`4t;z)&*E4%EI^ zQi+WpWH#DqS4ie;E<~yeJkFPDtW}*W#sP_3pA$8%zW`68g=4EPzyd>k^O{cK z##`3!Er0muzR)qZmY)Tow<0;g&I)vS7lusf6&IRW*IHyAYAhw6nlcXH!{8&SPsp3I zEf{@*(ye-0Z7x!=Wj}$!sOC9vMs9itMk%t^fNYU6eUZkqu@7eR2DCV_*hVE}_i|4W z&RdRS^QyJ!gWWv-q@h!Vv5&s~S2cW~lLG2}z|w5sT;-LgtlM0(ZT3-k@;P(<`__cN zFx})Rw#N}=%bCVsm=1Wq6xISExq~kW__S6ZlkkH22USDHG>XLX+wOCJ6%{Q0x#^bk zr0LXt>5^(K@ok?4d&=*ER)Vb@Y%Qs&SWB*hNW0m+NkQ7K{MZ&=F9T=0(yZ+F$;yw5 zdAb0fCS8~qA=t^Jd;MK8s}6!Ce=Al9&wfhxjk5EZc>9OalkrLD4R0@Y1tq-L+FI3+62vtvewGyO`5GGOyIzy0}(N>0* zBq9nfT}@^qX;gl~r;CqN-l;*J@D7{c76Cz-Ru{E^+rD>`;^I9U{=!y!cL~LfAwMeb z7Y1r%kZAU$1MI^~m^!lLbU>*l;Ny$AcphHU*z@b@)>V3WHa;N`U_v_nZyoYemY0AF z$$xe;fF>jQ@%rtueLAZ}1f!}Pt)?zx@~)eK40|G#uKjzgosRtJLDm(;X(g%Y0y{O7 zKIcmSLT2Io5kVfl12N6=h|UoU&X!JYr;btd6^S;S0t^qC7?YHy^s%!T3P&^Vg%rvT zmoU&WhsRn-U)7Fj&usuyqZR-Zw7(y-51KQ-i~xHK^h21OhXqMzITT<}KaRldSwKD^ z{(_W(TaMoxCZ!oogmA_qg^U9cf=R%D$!$fetpYPM3D}j-uu|leUI8;aoWav(q4WDW zSrmK_E0l19RjvFyH>FX&ea+)Ymawm0#e?%{N(Z%Ce+31{#B^lMtN;iLT>`moM-|HMK8r4OX4 zn$VN=<(HpJ09x>N0-f6E&a5AJ-ra1Utv;}}85OBu`EgqKlD;C-H(6Y2-rUePWqieL zKM$_;JG+}Z^E*&#le|n}xiSnvR%zv`^~$T5SD{m`R~f@N0ZdlaqAnuZzk zm@YojsN2mV>VCW3UdS1yKjhJXFF!r}_4smdqqTOE_m`@i9hN-RMd6VK|=S!QX8%v~V-a9RaE+e7#kxJP%7}*4mZZeh*6<0@a+6F3a&364^w?CYH zV}1!a#?U;k72GQXzTeD7*>`Z+Q;NPN$0JR`=MCpL5j;P3${_%}v;(G9Y+(khiAi*y-0Co&N9JcV!QS2>wcrMTM6R=X^095mnFC6dBJDN;Ay1S{lV zv*~6umm@Cb9A5k01QGR6c$R$}XDkT6*>?I8=KFCsa`9(DuR{F-h|Rn_0Bbqv>N>b6h1W*^aOAKvMoDQOeTJ{(*fpFvC~IpzXVbJ5e>mgT5zY&LZr;!kiD=n770_jM zHD(b(HLNBK8Y0(GLwemYH6)a~p9jhtteh7PMM!)OM=Qd1RyIu{$iTHX(PKH0LQ7{} z2HuuOo4Xkqyccs(%SpBOS|Se+4yy_|*VwKa1b8C9XAZW#I|g@O%o)_y#8rNuh3&1& z%vOC&r?cViwzoH|bQ;1MWy=n4Lag!-^*)BlXr+V~IMJJ|v)H~`<>|6o9UrJjJ&uE2 zyho~885%gw669b}`9e@+ssnusk08qe7c(;V3K0=!7rc6`2AZ6Nz46n;@SnwanAJP> z3$?rGJ`CJQP)?=NpP}wPo6B0&^N|mY;bADo~uXj<}4;0 z#m4q7Htr5gER3hbV=U~Gz7~o&N@M8*v5JV$Ia2DxZKN4Z)QT0ww#3V9uV(8tB7A#Q zJ^cl2x4zuE$Ip@ff0T@@)Gf z<;9PM#}MvRd?kKU$13J9hImk*nv#e$knUnb2CT#0eWiQ(h{6)yCP%Y>6wbS({hQz5 zQESuc@L@z-Ik*vAg~{(yVJ{1`>>cn;nc|!`>+S-w{K^v6#cXt?Q&LHo|0FTg%#td_h(w%P?J_#N z87bU`^1l4h#siK3wlj*$9Q^7E{H0H0#khBA-Fbkm-XlCJP72?o6DJgtGsjrQ(4VFL z{r88>m+6;;L*T)Yfj%puURSmmu5FEU{C5U^KFeM<)X)2nCo$iU>phA=7Yro<66|rTeM!M`)Re$%1;vXVfh1N7&>?L z6(*I-xY`+F!HwuJ0|R%I;lZ-V$;O9jT1e0Wwf&?!9S=cop*sJa?$_Te8i|(|h)hLw za7>$=3s|4{t7EfDU6x?xj3sqokOL_wV|ZuUusWfGml67<*b?J$a3#s){MVyBIrD7 z8R-jR^=J7|0Fx=CTmOFKoK%y1+6u!UdGKH_jU(vxfW>C->IdA>Me=g4-rg|BV?X_J z-(DS{8QlXI1M!Mj+q_D&-Iju4(5Q=btEasU?AuQdD+j!*3(QiJf<(KyK2p`vo?O{6 zLF+8d=~7H@Kf%^+7)O$9?^lCPWexKW^?WuMgae?%8;!`GQk!v*Pj%$bn_PuCbAuhO zX2>$%xOnsL#*3zj z=e<9LY3H6)xMM?{7@%!K^-C=b$ZCjlE)DV6$8pTN_&;CiT%Pa}`XxX^-Itw4S}Qks z_?6irA7xQE@3LX&Y>{m0C$JH(!tbUjk{@(f-_43>SUWyqAw(#0Mhae>ZR$x=G_MKx zdAG~tXu<5MuF~Jvk{_6SGF5>h;yB+>r^7g;-nzWLxpB-_`pCZ4&{jizU6zsICFbyb z&FR&(l0?9HI@gE}Z@M;t;~J3ae&G;%9ohO!DmDNTF70!WNVhCj=(rV2vrytOvSN6B z;r_IZi_6DszcDs9`L4w^T|%TtM!Z@|>Ld9k4GfIFhB^vX5^kb7gC@#8xRYu3nt{d= z;xZaW@x*o1GjEae0d8}n?rUh>Rsa&5#-W%J&c7iLtM3=?<@KZO3%?MR&llm?V5;#7 zxmD3+SJKc;?%arjRrM@OY)I^NZn&*BqN9iSg_F20{a0(cx#L#n0LEqutx!~EP<3wV z1Uk**6j9at6e~>`FOP#vB@8ivm}^9zNZLkLcGa?3lBK>$wZ<0IQlkl;F3M5orupVK z=^ibfq87=G^CON0+9fC|V)87lMyb-RIPiY=inDN*!CCo2s?PIX_k%TI>?3GM5_{8` z>Z#CR&sL)U_3^lzo)u;_+aAjgXrc4M4=)P|z=?)!b-DI_HSAQ@GM!--Ic?x3v9W9= zo4_Y~iFFcHQ}<|o_#1elS|(-2-S!efl#*4X@VIogc*+=zs-r<&$f|g*IN5~cqu-tD z`|P>IUE9ZlT<7w~z4jVGC06zlgH(7zSDVq7EBxpy>>7jPE#0Wp4F3K2iwW+jqCvw! z)}k`)I(Xk%+>QW}btl5|G2~+&xgan07iwU8P^P{I#>qX;N&JX}4uNqTWu4oZ)_LeZ zJOELM>fFf;}Pzt zxH09g;Uqhwzc|pFvuwKbTbhHG(n4TupG72h(gnpdLQyku!*L`6!5Zj+?AOz-*{QPK zvRbPxWuj9syz$rc*Q+buH_UUAisV+~`44^U8xv*1JLvf6iMDxdt$pS!nZ9n6%Srx7 z3>JMb)-sW*z00i`9-8N9H-C#fDz-Do#mS*Sv7tT?LiqxedUo}}MWULM6|zpBLl|r0 zV4pG4>E|A#_!{u`{VLb)!_b-GuB}sF7z@QzwxrRXMym-Fzk)uC)_rYJENzIm`-r8x zc%P0ii_X7PP9P^O)nynSmtoRmxr#aIa+MM+I@M(`c3x1+5%@5EN-|;DN_?7+>Egbt z^CWS!A58bu9jx7pUVRq=>b2%-HJUUp~3T5jkx9)E+VY{Vd1G~ zLZEOK=unYp@ZG2Ztj}UO6=S0uPiMvuN9A6GxNk{Sv(ASc0p;F?7^dc=j)pJJy?rc+ zsF-IO@-jjZvKSKaOs>)nJ*JRfV|%`Bowg1`Yq2WMc<}>-B@9yGv+OF@EChUI6ou3HkdaoA0(#Dwwa`* zzsV1df>E$t(1qgk2OkE2JKVz;Q-Hk$d_f%}L0nYZM*eUb-{H`$F%g-=wl=f3j<(eL zdhbG)%t5)w{Nk={ka^~E$x8oEzd~2p=He_xuu<=CK{9)UY2RlTQj8?eLdyoKbZvh2 zLsE42%=@IBnMBgBwwF}b{?(&Fgr)?xhD4v4a7KsEZMVN|;2OzanoK4RT}d1Mgf|#Z z>qy$7eD|>8?m)-T}-B&thBc&h0tSlhERF1AzesCPL1Hi_GW zYO3BfAC)o*tK7`2YFJA?Q8g+3zGPSZj04FZw-M?>MU)<-ds}2t?i1ud{w$m?m}k|J z6Q!g^J)w|Y=bfB~SxxF}lo=d|5H9$sGUtJmO!Y79pBYOtp}?sXLm_SXWwyNJfMNGu z6Eq!H#v^bWS4`&usYcf4cMFbue*1+cO5pGvt_bOdGCG!&majv_&GjSZJ}q?2&H3X9 zyx3|cYM*$Fl7W^mVe5|U22KF$28nvYLDm)|UXD6kuhNq;p5A_6?={OPv=bRFd||6N zn!Rww+8=N;Q5)W6Uz92Dk&FNOf!?sdmq&G55jH90kgxZ*Fj5a9mnnWH?nVQHk7xB( zjNhS{H++hHmAti!fTko*a^p{Y?Jm~Qe3TZ*qY*xmK)?Df!?idY6l@#97Fa+BEh_L2 zxsRAn!Y*lR2nBWfoxmGUTM^`thj$QSP%c=le93*z?tJ~XT@|JVz1I)UrJPrwr_J17 z64O6ZbbF75nj76c%1W!uibIQSK?Z?yY|&u@9Jj<^**GzR5`4+6uC{(R>8)LDdO6`4H&ZBV{g{k4G5H_hpps>9diMZ976; z%2xCD%J#0Fty(Iw+y^B%+VX*!t7#_Vv!;spF2yD|3!h}FFxouGHx@imNJ-2WmAVbP zshz^RsS%xOe}lZDAq~(A34fCFnj*G?iXnjSCu%5sc1>_`OC*A6n=8S zl@VR=D}F&~HZ(NEX}7n)q|DQ#wlAj8INYzDdV{=>1{p@)TK_#Ie?#_mB%q#VG~f~BIAnrWHCRf zW_t};7r$()wHc=e8O;Bg(@o}oA9{_#AK>4f=DV3V@Ji`~`EI+He`b>&LudY6qLoWQ z0%|?7%~4=2*;Jk{7UN=t(8S}$tDYMx#ob2n-cPZ72$?Zb5;@we(f?&*!cbBOz*-$9Y3RjUWzAsUamLM zB(r^ZsU89=Y5d{78y7YR+Ed3Lvq~v`P6p((RRP3W$$mk8I~b|I?VjuA$_%^M?9Sb8 z-{)lADF!_Y_KFkLlqE02w(Nhy>t;n(B8&C?iD0NJZj_9KZmoSWRE-Xy&iYtY&ou8b zL_=I|hMttI_-B@#Dz_1E<^+Q@hU|53n4l+?=2o=t5ZH64%3rE$NpAC5p>=sCDf)2KUjr-;Z*abuGS zns;i-CQXrkEn)jcn_4dqxI3Jp$NC9R9c3^SWOU0`RJXHBjZ+n$BN~y%;}mtk45O80 zeG}QTT`H#)4O9;%{Hv^_nS#KS`szFVaPD8u@Yg(2jw=LWeMco_qJ$^oWAq8wliV z1tulE*x*)~cE5e@SC4lcqL<j#4GFK_ifFK-eSdsotMzO#-c-gBxZN?6RAA^f&rl-j%*L= z;{A$9QNjl2Da-8Me2#1{*pOoq!y9C z{0@TKt^2CaZ_6AEVs_+{p6tjPdRyV4HSVd+j6ouRj_LY9|7E}tc-oHUo6#arg5F>Y z^M^U^67M|nOpMt^hDTSIx$jpCpN4og27yB#f`3cxAL(hNkb*Y~H>oUrD`6P3P>^Mx z!Pdm<%Nd*r!d}^Z15wz+;&|5pC3HK|B zigUW9>?h7z{*_9~Id%$RQYa-mY1@~3$~GiF7$}p_POViUO1Ns|*={f`oEX7sbR3AK z%yxhY2XPxYGyS$`&{6Z3?@|hDNv+Z$?P!FlQ52NSWrZ+KydO85o@xxtcK&;&c`6jV zuC%=Fv3Gvf>&#-~c>xhMV6sW2Z*NTJE-6%wLapSM;kWeXec>C!ivfm?z{cJ27iFUn6Fk;v!8C!4BS8ta!muGvWNm2=;Ums2F~9Bw`GP7F?CiK z-HXDk<|F7G&k6W;I6_in$(9XzSMd4?AK_zfLpF7~{YHgEsWj32Z?DXwa$EcM3+Rbi zfE7m3KK^}T9XNuF{8e8nzTQg7HM}+GM~fD$7Fs=5?rAReHd{2a;NISnrctyOc;EO5%@=q(RiKo5pcmguS1c8_uaVfzLCtCsj z!8C`0G#}Rl1x##Kh2Tvj$q6|{qWLCzb_*&T)(rkQ#vFQaZ`^fdE>eblz|kabdwxvN zbw$IeAZ&CTJ|TCJE3oPZ%AB8yek)W$#URqu6hNhwm6LBGYyDzMl#W!3(AvW-z~WDe zNJ2V1BBUC0VhW7A&$-yiz$%PXvx&N{{4jDVGrnAqR;LrD!5S7!d@BpJ4!v0IUkspp zn%z1(ZQ%cqMBIIpU$MD3_^hnBs%C&ZPo_-nT=GO+Ww+UKK9|lb&pKn*nhQCb3+${1 zO(513^^G$_BJrF@Svd2;_ovrkRT9)DO_YwdARvG_!18yG$Cy>#LBcSS=(k=^>nt|w zP}hip-0ywBl5pGG{J!NdCjS&pL50ctQFtJ3p5R*=i!XCKvz&C>5xO|&0lrYotJXLa zKf@!4d$B^q)sV9z6aPYsn!{_MVi1w=H<}!~e1))QV4HPEkaEQKwgIU-VnNL_*VR+s zP4{5yx{jb1NzI=2q=4_&Po2r9BkQ`@Dh2BM+uddG!#R1gJjqW_e&o>>&MPhvKVM-3 z%NCO0TkO9*V|t@#d^c6#jem9M>GOj=x)1hD&^Sf$^UJ zeYrnrL6}#bAI<&sZFQl?az`D?tA>woS%+*J-cb}3jGfeJi8gag89M5W4VZpiF4pCB zPRc==iFe9ig1WJW@C#mNDh|+>Rcj%R`&vK}X$n9N>5?{`&j_WV-|>dRxTZ8!HWp$$ z8Q8ysr`Zv2D2DH;^#E(1+BcGO(DwdErDL$Kgi_7{GZeQ@5qL)T;*ZH=W!Un9r&dZa zIZ;|u1nzG(E@)DMwn#tS^pY!PkhCAoVa(paAPG~+# zn-pi~?^y?GQp?R-S(w*G*V%9@aMI;Bs-<@6Z0I40QN4=fx8vLr{@$7_)3_Ak zpOAs#1rU%lkf!ajaY_~5zBF-R;dFhbSSBlSOqsW5#$yxvwQ%a$fSj1@BN z^HHncE>n9PJ~o-_9d|t>kifw&b+>pqDdNayFOE21eC-TQZYOayHR=@mn3Cq# z$I3e<46ZO=;j(4R*<6iN*=ga~9<#z4nUed}<-j40SzTqpPRJ+-6^&Pv zg@^i!@OV2%#Wp%SD(*bV0Zm7=2b3x9s*L1}cYXfY=X9Fb#KExRi{FNjIg_#c%}TO} zth-U%R+!5jbo>^;uItx_#N_PWKyU=)j!K+}Ngn-BU#}H!QVhx&w+EU(iG|KKLunQ- zR+pd{I{Wa6P;a#X8tB~zE?}=-51{7khlqNS5X{l@6ZoX169M=Jb2%bELG;11{7IB^ z9dT<)y6%va-q?V=BR3CR)Fz zf`RdgFB5P-U65s3^LU=pX%)$~%{Y^P=?HMx__OqDOU5n)J@xn`b z=%8YDPDSPWU!L{`YZtga>m{yn1jUsTNfaj6iRN1~4&f!ubt2N~nnUeSKu#mY4S55A zOZVEow>`9R)V(*7&h_<-%{9$2AR}8QL?vs7dP5vxLePz$#+pF25<4+m8a7t&WFlvK zl_W9N3H!7*X5xoak5x@$dSd}Uv9ju6R7B*nOb^>)SIoI3HN;H&`}b}b4PR8N)iv6A zB2)Jtt~Wg+`Snyp^5JM~$wPj0%(%2@8XjH8jU$=GJr zmztk%Y*{u8O2j`*u2Hm`v0-5daKpd(KT7?*dcn2uK58+t}%wh~B!>vbdhb$WCiMrdWUYe@9DG8ZW z8bfTSg&7Hn?&iW6F)cC(R7p)ebf;zAKGZXPM7)$g!zj(s5D114>U94i3yUmJa zi#qjHNTn+^*y6~yz{gRrBCF56C(@S_buU(J-of*(iM&3eohsk~sX$x#E(0-+GpXd( zi+GwgA*$7|lF(`SzD#3ur1^J(hJJU3q8|%Hjm5-V5}o*~E8S?LRHUMm&_U5!xF}hH zJh6MeM<>9wL?L0g4t|1$X~cTPP7mfmp?SzVqMugKPKUoHKJilveqG-4TpoC|{w^a; zvo={&X*?KQkV)E%B_kR(z#4_Z~2 zzLEAB-*-vmxjj9%*xvP z>~npt{^$AcBC}`DSyf$C;~VcciZqf3=d0aNNo?m-iq-vxB|iFHvcQ#o_laHS)`Jfb zN{fwue(kWuLWA8#tJgLRuuDBOWl2MOLV+D*P<6wnj3R^imTs1)%%r!zRSoy1I1ojsobxl>*F8*aa%9(teu`o%X35whu8n%f5yXTQkWYt& zIdT1aK>*i0;0G6X2YrV^6dMBxfF|M9!+^{Ajr{@aNYMxh`&YwynZE8;kB(g4J22if zKsx;A5*BOOU*ofsd}r1zG$wPK7xj=><0!VB7qVmHY}b^B+i$3pGbz@&XlSdz`hmcQ z_ILCKxXt(9SS%F+e>?x@q5eZ4?GXIA?|%rSPgS*lp7=li@PGdkXo>%yjnJ^A)$L{K zvLROzrObcZ;CPoyv+DQsaQ5uuf7-c%iZPDqbAPf{?Bh*=pD--->EekUNK3mmM+8M@ z+7lB2#0hsB$m_h+rb`gy(xW2twB-j&-8@X19?yv6{(N-B6C>;n$=ej}ah^5;0f~N; zz}_YGyHOsDE)m$CRkdRbs0{mJ6f(xl%->n@IgL&w8v z2FnQw^P=j~0Dwf*BNl6p9Nt|=$2^>c7fb_WjbQq}d|gT|@cs7Pn^jVg<0AKv+!jsB zZ=%=XD!y))rQ`RmXE1PcjPBL=u(L+EFP4cXkS~t8K3VH7J|tG5J|cvQoKEZk(3n2u z>$-{Dmlw2g***vOk>CQq8*sDCuEFQCJ&TeoVc3NV=+n8o;4Qbq!p0A)WG7hqZq#Ai zVJeDq+~0Qiberz&|GTC)R(m7wZ25wv#T!x|L z`)T0mUPk@)$P*g^Il)=2xQ8z6<`|s=5QQO6DMlY>J%6j?^eDDJ#6A4E}`0CQ~NnB`azFC#Uw}%Wt&m*sjlyW0SECKE5s& z(}>dEtNO6VOq@s1(WZlP)!eE!!N&D*Pwu6V{t2~%_b$&#Eb*e(XP4s@hbZ*58XF%2 zkCSQ{l`h!WUNe!4Aj~O=CeNMf@#y5CtJ7fa8B53M#$ID~d&>O-NAA-`OE;0<#<;%h z--%}=t`!F&>p_Gv#iZ911K?`S)T@M4WMTIjN*9g>zDHMy<78ufYbTv2kH6hTVDp=a zP{Est-o$Q-gT6JE?sMEt353U9KNw45x1-8XG@%25_f;WOqUC3fkhfl{x|Y8!#G(sG zbA!XzuRJkd@rr(hkA8zeJIXd7HFZ%9I)YG{;0I`zGS4a;Jw%{QzIWvXDt^atRJk-2^^{&@`RlW9#j8W4Q$Y1GXsL#e#zd=6-?vVJ zQlve}Xq5x0;T9ePPhy3=k8KoIOXk?-SnMyJZcYsKFJU}Y^YvTJSaX*`Pe-^pgaA@2 z;eYT^!Yvh=rr{>y7*s|6bJHYEEjao0!C3% z4hw8Q?sBga?cA(tug?{$u%eGMaGae@92YvIK zNxhF@F2))tI}R^Auu~!aO&^DLHG<@wyzR3+yKo|Wa5ta9D1A>< zottD+-JaKE_YDs(XzzAV#Saw!EW;4Vveij3xb{-l-SF-OttG>I<|N#~eyo%H6OHg( zK==e*tg6+PyZCyo*d&hoK18fU8s2HG8D9GJnwkkNxZ+ zll!V)qMIFdzUF5K;FrS#hVS`~yP#c;d%ucOjrhDSzWbl?!k|x|xAvU<9(Xo=K#mhH z#z(?SWqdaE3RLcAEo9aJymJzqX+QY*7^@;^b)SvYyF4sMlPip_v{m1{>~*)*xrDnz z-bW2OR0w@o`Ga*fvx*#PpJ(4^pD={4;#PLM+`}X=M07haz}U(pfGhRMO`lm%Z%iSo z`wX91P~ZPH!0&0b`_2#Sd#fURy_*PC#f9k!I-tWWd_E2TtZe%HcZH}G{V@L1j)jG< zRZXQq@b^g!Ei<(d$lUwd#PLn8j3Q}=y=5&eGmaq=m&eC5en9}rjqE7bu1Q#X8B6mv z9bHGer9a=63&{*?V<4YEMWiY>$LC;+YbfhwndLE~;5X*>jk2>{djN9`FZp75m1$G!z1myYqEV=7? z=LZIS$*!Sy^G}YWT;HQ2scNHJNN6ZqVg9lR|7GwbN!IC5!uV$*&|uYv@ezN-_f1h^ zNEBhxQ3CF3&THgY&6HaW{-A3TV8Ij^3{5uVS@E&?ki~z=V8jI43Chjs*y5mJX)rgu zJ7ghBd0@=P%%9!$+kKvHXw}6pkq9UOm z>$XJgRIu#)qcwTlx_M}`-2T*QH(4&u>b`Y|UFG+>Tfq?ORGzRf&N@kG|yZ6j{qp%%P_}x#2Pb4&Lo)ACu4%&ERp5en=3KnZH4gv3BxNX0}r5X*sQrGu;OwGmb&h-wrh&YkF;djsLKJ})#-?B)YQ;RRH z76nVSp8e)ob6Uzzq`$53g5QB>hfP;Dud!hLax5KTD%FE$0PdNAP~n1Dovkoyf=|Gx@v#O12BF+Bg^5Rdlc~W{&m1JMVi%_&R>{){ndSoTO6nJ$M5f#QK+kndeGO{ZnKcI z=oQI?t>$?R6Uds9mBY7A_Q?=^5!ky}f+~L1F@V@S4J4SH;dE4!1EWr2#~;}7mo6Lc zNIWKfM*kh%IFN%M1;vyBr5@7kzp1}LE-DMUa(%~DP2#=KlZ64I8N@$^lH9%_n**iKUf+v>^1_e+v z8i7gpgqYq|kik%fez-1)uLL8q`xZ|ZG;kAuvI!Kku@~QAvX5At{vPsIeM>${69;5qJkGE%0U_};%Q>C71CyQwFmgp)3EKZ$G_%h2h9CI47DBz1qhf<2Be z8Ib@TQ#HXN7d2 zhw0C_$PG7CBH}LF#N>B^IPghD8dyzq>CDpB!rjLEy-N#jpchW;dw|;8E$nAu8c$CX zm+dm#B~_j4G2L}mnh0wiuh3&uvs-Z`o5g&9HEUM0r#U`^g zQ1)sP-7zAON!|Z7{+md#fD3Z3}dJj~nBjl)Ztt(ZDUAJnd~yI`S|o z*ZJ+DM4r%%8eFTydRS%E+wNBT37Dk)Y6j9wWXp5GZVsz;=4z`!MsEK8g79wz6Eeb^&zBf}NkSfCWF5R{hqlf)FFe~dWMKt~xZW#7 zUB>%^I)FPW|51+r>juLzEv2B#iKi7Ci`bTOS|$ zH`dWq-t95PO){4WK4@s{Xn?Ek=Tv;G!%sC3^U-p};2E&Qu}kEusQnqysUX{&fv1bQ z$Z+^%;{>1Z^UbWXxc&w=fM#6x)ghzsG5Kf-mx@A5mcFv&mdn3z5Lgk@vOZ!X&$ow3 zeHl=vgo4)lQ|rc6>?wlMfI4I|r6^|8pq&KKkhwH3&ZE^%m&sA%S7*c>Cpb(Hsu?Af zjdE;=#@5DAaFt!#e#*vvmH|Q?A-UPxbIRauGmQ=XBG8nhE-)BP2V{5g!~ z@t{|N;-(YR4G&SBo4Mh{!(ia+ENPr3k?!gICU6u32ZMi<*}bOER;&m=$S8|*c(&j4 z=ig+KDtNl&Q-orQH~Aps!DO=Q2VyqpN`7p z2N7$t*vv*gR?Y=p1)Vlk!s1+5k~hlCJ@*aouG*lFhy)Mdt`{dv@?l2q29Kv3L6?*h zDr<>%ddZ?8Et+0W5_%ZSo=+km@+E33a_VRs0SltZzFQ)0YjY9MLLiU)7Tp_2n%BbsbgYHL#>7D=z$izZ*qyRW-L+( zEBg6&)>@9wcm$~CL$OgzH1(f0Aft_I&r7xN z=ALenaqCaEe?9BrQ|P{}?yfJY7k!B|poETf+gBni5Y~(-x2kCt&f3#*`bpk-i0o(4 z$u!D%@nxJpFnEf_rM_9-XFkPFOajDqyozEqB8ivTAoO^-(Pq-y9)Isr`|kt`Nav3J ziWkPdckMDfu&4-5EP2n{iE&zP+24`6YBwFQ zi3V*R80Pm4Jtwcr&_jXr%ZH-Qf=y!QfuEn+rv&0#k ze}AOv_UyF#i1a&4ojG?9G*gu;Qsr7+_GY>!;yFP!X z@Z%y9n@00pj{xc<$6E)u4&?5K6%xgBw_sLj6Ob}Qk#GC5-V4QSw?e@0oJYv)YpiIB zxL?e&tz-O6PWNuY<=l#l94W;;|D!T(TYzO~v$My6<2Jl26X8LO_rEa@FvGcG_FMxx zSyb<)eB?w|oL1PWaL)m`q)VlUGdc*xfdi*C%-W9k^RG%r?IQsq++2@aRYXCaH4YTs z9|@SUlIvu_Zw}D>-;UQ6(`a&UcS2Ss!ot#*e!naz{A2R zq#!od?+%baouvRRJwwZAg^d`a74QlRjT3tXzIb9oEljY8eUq;~&oPTkq$Z4O8adZkROkJ&v2i00iSQPz;b<{&e||+_OJe z(ze@VyR?7xJrJYv_Pk{ScP?s4Xbv#)XV*2-_XzHS@xLD@1CwI-CS<*TJI+Wn_OkPuW&4$EsjZ}?B4ty z%WjW2kwEJ9=q-v~)q@j2yZf}_i5nAhf9)<~BycWJP(Q}!?s8Gt91YY~;Yhv>3x?c) z+#B1C;6Dft>~_jJpl4D|N*gY8bxxYFt&ZOm9kCzSZx(0jt-OeYhau+f$|K|@b1RPp zWZJjdv8#{>-o(tIzBmI6Wzr%d(15efuG0+#;%D?bsnl~zh!|D-=O2lqK@eRhuFL+e zW$5?7&Dv{k84>}{<4r)l>TvT|P*zO7#DScWFSWa$lwm>g<7W(Hd>%3j{)jb78t1y0 z5WKxc&~j~ivmG;zla28&3$f3KcHJY9GFra0#0J1}#HF*#aD-nP+mhR8Z(F4A)~}gp zVT5c5hXa8*jyMj)=K4Eo{=l>5A5*&?7t~uVl~#>`3g6vdEI>bc{4uzCMXxXtV*oSK zkhkw;?EoTEw*!&u33q(35NTFO{%#{lm>b<|JOMtJV-fqzSiCV%m!t%bVB+IQB@k_*Q z(O|z9h)aF0X;+SPbD_a6iCIu;^bI`wYR#fkTxon#|FAxPNaJg@H>g>hcHy*IBJmitr?r=@M8LFi35*zJ_JiVaMv_;db8GY& zAU!|a4LEGP@QAOZ_KzZ3c!yfkl4P^_Lunaq;oKi9`51I@G8;E+Ox1YQ2tbXWKE?id zJ60Ar9l0;0g{Qz=uFq+)uA|=gWf1>2-uW5-ra`idYIwaL$Z$LVIYzU`!vIYd=Z(*d zTZt}$7>e1^4{D6@nuKPdqmOmSS^EH-_;Y5Jyn^E`6JwkXY357!WzV^Urlt@1ppg9V z&~sfAs@UiCL2oduc{)6QeNTY?(j>kJnga~K6%Gj?=H=?!U%>bbm{EE++xqHNupluW zMN5?mA+?UaEV7VKIoP>y-%O_Hc%j|B!ER|7#T8brOcZjLk4hVv$N$b;1ev1UczWw8 z*JGnpb8--ZE0Ml6^upm8OeL4yC>#!dM<@udq~P+k+&$UP6PrhU@9m5<)Cm{-DYzPsml71?fhli=lPL8PEeL+rON;2zpt*F=<2>(>F1sXf+M5ZKtA z2kZOPhS0XA2@TRnKI06#R=}^~8Lt)Jzs`842*f3lGZ=cTMCDraQ9ASYMRo72g<64M zN|mY6WxbI1^_T`}!AjlaYzcZ>MPLZt3kV0n_V<(2?}>t|p}S4^s-%(c%*xsN>cYc5 z1M?Wmt42oGXIufBYoR8-ZUzRi_46ue`xJA}pYn)!oI8Q2vjJHN208 z^6XW_AuwCKxHEUjS_S5Illa}G)y`^`3`Wd5wQ=5|sNnah?7(IW$WFAo9T5`-AbqeR z&M6D}fw#xkn}P5aWuk#`>V$=l!$q-!FVlkI{LzHXTpE5wdqwP=$Ru_S4NmCYdP{mYs6 zx?>HwWZm=}l@Pol28xED1K_{yln-M^C8|>8P-HieF z;*?|`P1V-@Zn z*EBpKrM_-Qt~{6a)xNvoU3)Fx#tV+(ueF+Mep*y+REpbo0bAbvPi|h0zj`q*K&QWY zV-*iRuuL^1fxiOtPZDkg{#29CBuwGu(u|e5GQayoYE7f-hETc6CpO)uQXX6s|;*$9}WUvB_ZTISBv3Idt~7# zt7kplY_$|WUf)o>+g|WcVz-g%zMTFrf_eCrY~UHuX1VZiniAo#bBTvnmTW6Yff*l5=|@+yV?ORdZGSKZC|~Jjo_g35NMH`KL4UfXZ0S`|;i^u@nwT zwKKBR22L0&G+Eiw%lKVk$IaBvP*+bd>srzjhxL=9MCa5YkPFNW7Y%v#VGj4Ik8{Xy z=|lFjuO_H)$_8pqt0G%+nMJ{Cz|ineo%=AI-80p)R?;ogsgca|(srvG0t|`Wze9q3 zzOzPDm7>-Dc>&nX3e{R7>ivw)m^L^qG8k!FAnEhF3#|5qNyD_%^1eO~l1vk}u@X3Z zyQZ;E>*;5Zv8!A)Px6c{x0Uv$IpK>wOjZkP5p&04ltKC*8cRisdW?_qH6Bq=tFd{Y z+vsCBYk#zl-6`$XEL%kY5pOl4azZ7xO~@&&jk+?MJ1aBkeX_8G-`KX~??sEYdHe=v zqC~!yZ<5(cU*SF~BbA+hVhTT;gwhRMLK`vMbX1hpNeMU7+hcqMEewdPbQ-Ld$W*7m zskZk=9+f}AknDpc3nI>FHc_G8c}%Wh$~dVoD!7H?m3CZuzuk;8QbLAW3!k(R^eZF6 z#x8JAs6O#;@w$S%NRMSY;*%fD{?PEc#U{)+9pW*O~LBnR*n~T5{|q^zSnco zgU^Nh0+x7isP<2qn^EgR3viF3IQ1YK;cf-YY20#K!B?w zb)4P*msPKQcSOzeH6~_`<^MZe8yAp>9TsP0vvHZH0JUPPNf4#-FjtEU}d33<3iU_tVJ@P1e*aA zC?0`8Y|%U9hSZyPrdsyPpTt61dRoA|h0>OTfhK_6C$;Unv!YPZMm-YUfqZUA4WOeJ z5W6B~6`mz|UoL30$O2UM#r%Y?#RtF+0(RD9`j|%3z=XO!noMn7+>sthz9ohGU4nS^ zwcYb2v4JHua=W8pj|_n1KS%Aqv)qjG_n1N8hrjvExtqDHHoJ#g>6p7x$^aFsKUlbb-o85N`rk4&~99OU2$un;7O!;t}+R*W!p1H{6 z-c3)-EPAv^F6}g@o5`oX>XZ<1KA0TnBiUBcqgA3uBHLG{9Iwh%Li-6Ad8y9AyxvnV z?FP%GH(fGaY|8N9aaauZxlw86<=pIh>i5X0@F!BEZ&r>Lxa`Cm-)q4*?7ueL^ zc`{c4e%iOuT+Lsp6UTyeLQ1HQDBvv@m69l=9cJhC8-Ha2{-I*#hDwu;Z6{+(-c~Ob zMIafIy*M)w*&k1kzTYwBN}MUZmR=-UypfahrWgee)hnANR1lQSos5Dq9SoTm=qwiv z5yS76x*NvIxgb*ohR-7A_F$FwA_)J5IHS@b6Ao`HtAf+$7WlWYo7SACiKWv%wUeQ8 zQ7{*`4daYuZmYgQ7){%IHU)piZ^I&-TOGNJs-m)K(gvJZ5be`crzc|!HkOH>cap{p zOeGqm!=7em_eG~|!oJ1G^k4TL%D>07%)D$wuAwWY!YLxV_MJ<#gJ%yaE^`&L)K9Jmo>xW+qmC!!6`&Y(m7@g-r@Rz*C98D0Q+ZD%vipN4Nn2wvTuaRKVyCjP zy~{2rvaKdD;qFFtT>q8Bl!0D$kgEx8@Q?}KsV6fygA8zeuBnY-!dw_9)B@#b+Vnl1 zZzrOl&3rZneFO@SB9A5~>6YeL;R5!ikIw~y^4cFXmvXoyNe<!`5W7WCun$OH={>X(;o=mAgwl$4ZCVI1ZZmzNx!wHcdzfD8q}Vq1HRy zy*9Z_GL}>2xBMFjY~+srk#!(B42=*cUkOm+OLS=7J21p0zfO|jD|(OT3sc1ARPs-u zikz-_YZ+^28w*haw=v*`2nT6v5Fo;;Xfm%i+YW&en`sLiJhkx@Mat+MVYTj49gTp= z^7G45r#4kY9B$1JZA2w!)UV3r;`&&6p;7rYqA5Yz=hUksh{&~3ln)+pc1ulmvnXa> z`ek4?n|v$krR5?T39IGW9X8cT+0MwB{?wiio5h#jY{o^2&Q^JE$ZTC{y88+X1PI&q z$}^%|O6Z724pf`3G~m_GD)z~xdi4|ncU4W^%gw7vWckx+#ain(AuHL@#~Gt4Zl)`= zPr(G+w<$AD(P!dPxLw{tT=KozH#DdO&78L1Vk;-Ny!K@qt^K-gwal|EPqN>p`Uj@? zm2@12mK|DADvDFJiwFNZ$C^;CvkTANDG$5tP?w5wfKIkS1(tOzI`z_mF0Qc>1$CSs ztF;es7a~2cKB%WB1^UvRn6T|+M2!^XIoYUxvflSS-Z8v67q%If_&#ScmxLa%-ucjL zT?GX8t9#krx|URJ)qc1}VCNzh;Styp`mCp;YJG8$8|j43lPhShiFy9+pRGjPmLT#$ zf^Z33`q|8A6C9PZ(I{ap2=oqf&tl#-!GIlRB4vyqoYiNXp689dS9>9H{=cAF~Bq#Jh4OGwpl)ndxIlk=ndzw#N{S)d!lQSHC zzO*K1l0E14&wAgVV)b}0vSpGmd z-2uONdieUb2p7!|@%E;}OS%-VBs=itkh?qiI3NW_-VwtUti$-m<$YnKa7Sx~qNSz) z93SUS=9+AEf{X_GC`n%H3g9{2KMu$*iR5fu{LLt{RGhP4Q^dd(Q}QrEk2KKt#dwNG z&QZ%hN=h}+Es;7viRLMb0fZ@#uwNg~P~wvC8rfkfr*BS@l!3{MYuOtI*qX&&>$^h4 z0Ym925m6vTt<`}Y;ZdZNoTl~y5Wm|Ul7o+_O_zaCpxD=K!+;b{XU)@guZu&$UvZb6 zY24*`@B2eMZEK*eM=bZZ(;=VSoCqT6?vz7SvNFK^r_0EE{yJGd5!iYd&zH8OwyQm- z#>porE?iGO=v-+2XPp+$t&BE^$A)k+%JWdVY_k3SnM?~9^`V+KWkV>kmPX35<^26> zJYrMWt!F^uR?JV!pV7TW3p1XTKlJ*D!*y>52bxla%o)nE|LkC*uKKlE2xep%*kAZ? zu=pWuw_F#u(ARNsJd5zIA@^GtryY=AuBO-1F2HdiT5u(5cxU=-6Js5+Z*@Mu@JZA^ zNH(tTv~D)1?Gr zar3!(0=&O!zrW*IFtgUQ1xZ#o`fU4!-P>00>a(>RecuALgO?^EwnYvQaLkG9`H z8Xg)QLyeB$bQJ57gb8&woy=bRD_2 zBCzKebTXgSOn=U#7vrOevjXub2Sl-v<%s1vGohGiqPV|>XnZbx4f*1xGL*Rd@|k&# z0%F~3ggP?t4LxV7>567*xq^iKVNXj59S&M;j_p)zDutZiQf=(Awt?F2h&-vpv-A*A z?n5@x2~Guxckm|u6`v!hNFpd790RCuu|KY1`ftC6xImfE=muMHo5h^RCfH__vbS!F zlo!l-Jh?)&%XW!hyo6>Lw*6uz(y2m3V})$J-c7}crQ-1+(pZd;@=_a{@N@~mgcP5R z6ouy{IXEoB=}fCeV$#TyrARRP;K>e3rBbWeXW)J;LN-es+K@p23O=9aaO$f%t8Ky8 zedB#TB+hs@W-0;A zF5a}ts4uM)EjAI$V5qi!USP`L{258!ZXzqQb?ZPrj6^eXqYEy5r#GT5@|MqF0$_bs zK5x1nh%~ae#wa1+J@{PqpRy|@l0xmOhneE6#v13fRlTFm8LpnPM4QZBn620IKYepQ zu|}^Q8NIWv){16n`|j}CBt7sp%JQ{PMd_Hd5gpvZgsG2JOw<{<`@Xk)IK=fu!0tDj zP}g;L{wf!&$YSGIRH`_o!*plUTxpbF+nfvlPx?;|KF(D1-B)dQ{!U@{gEUjGS7u?R z@!xV!hcF@Ji0QA)7^Em|=*bIZy6l0HlD{d(Ntav`VxI?eaAFzi@Kezqw<}OEE4gJ* z`r-h#UHV@cw)M>6Zef%e?ULd5QkrsSZ_%8Yi0Cl|;tl%9vum7a$e2P!xsNQEl~5Ud z4qpE-fnbu1=OLDUd+lm8l*o2O`5?jK;{v^{3n^h3(X?B^i+x)s*{$qT>;m2lQu zDH}32sc7OR?On)l__9wab;&gbTT%#}XTps3;nIIP(7^|V^TEP|9jum5rq{US{H)@` zo7L&${Bk{QAzi&3@zo(sSt$LJ5)`t`Ynr6$wcI>Ab4(vE)7%eglfJk1S&_$SZdXq3 zW*3WI|H$evX2;nJpcbN~q>0;~H{eH-!5!plhga#WVY>YMMc>jY_qr_$EbbQ;NQnb7XI4VC=}V;A8OjH;IL8QcBr~!YC5HH8PDyxzX!>TCYnOzQzz;;j zC@seqI#v2To%8!!%_enpTzjna3Pic*=4?F9{yo8?Fi|{rb9G7i5wNesA+w~S$R^72xVq;64mG*Y z({ed0i&Iw7libeYZczrn($U9U91x;YOa*>Lqp9d37sGx2SfzrKKHn*=a`CgN$2ASo>6Oz2y!Xvtlhc*BttKRyC^S(Z@rT;PRv8wN<`(T9I*a17;HOLpmCj~a`T*d(2e>5F(h|y3wS<` z0p%*jj-uj+ zyGUQx9oSeQnbOAv6Necf{BUagNL=%Y-(H;iZOA$T84yxCr_Gr&5=qSQkzHFT5{tj$uR_X z_Q6?dyF+{?GZ-{n^?BbVZ3c6yFzpg0C-G6%XevA*Seo9%E&CoChWo}fQf%}XsHpj1 z)sb~ijRxR=^PL{skI;2 z3OpKsb9c_umcUmA*J&9z-RT%Fwz+|1^hLthAph>?jqF9NB&s7VcVAO%MxGQNo$rOW zkV{TLDHpk_A3;MR_kc5QHm=|E$=m_0Kkn`7+x6A}t1`1%Sx>DK9KLCE(~INq-LGS_ zdY$rL@>EI?gOi+muWQ?3jIZyKya~o~BqW$TyEuK?W{8sGQ>Dthnr-z&B4yFmqT+K-z8K0>S1(p@Jx(rH(?r>FCipNfF9EEp(e6laS73CS^L?l0-jDR`hy3Evt#8tv9|`WYlP8N7x}ePdfhga#<3RavO7H;?mwJH%7nHzOZoA+g;u z5IIKlq3J>G;C_bB4Tf;=@0_*BAy;S2Cd^m8WE zRW7wjhJq?%XokJ#PQKsdNfmG*MO~RorH351hZ|pA8s!p%Z2Y6nI*u=S4OQGzFh|wb zrC5%tfw;X_zsyZHy->|xoaKN8CU3o5zN_k$aq5I@R*IL^&iZL8I;+gF+r|$OJYUvk zh92R`wwu1}`X?Ux_-kfG#-8okZ3_L6dC|>kw|O57fV76wdH$xz1iYgbo|S9ujS zfOx^UsASMS>d6e%L3Aa0aiD4u$-l&AKw`xyn}KVv3uGaHa}=@a<~k7Z9k$33@o|mB z!>Ekz&xcu5W+2JpZN1s(5qPd)xTw@h9f%&+S@S>KjlazFH`@rO>38_N@?>|SX`S%b zzTBeD!h^`y&T6=1?D6LKBgl-ksNni4>b3@RO zi8!G#iG27`=r@!u43^Y}%5w*9BqtjG+2}h1SUd9^K^!;rjZ*BcApaG9?js@KyPgdnB32b&NOp;wM<5 z#>PG?Ep}dX_-cGFv&39d<1GOA=E{cTFw@gI!{@g(5e9U6rK$8DA8@F+Fu7N*wY@8` z`c`yJVwcKSE2|KorDkP+ryfJ!COiLS*=jM!-+>sd3&-)7>$*Q!hJV6T{+P{JP!evjL zAoaz|DlMEvr$>b>k2-*nFv8(Pf1gf-0O?W7AoWRKU0 z9_yw8$riFZbVB0>j3|9KPtTlWm-Fk1kC58$zlOHIYl!bLhHDR_+2ME>9Q8O-Ef|#7 zE^F~eAyYmXCGS^sUU>Bk3DLkkv?jaL8&L?4-i|=KPl)6-nL&B2F?{A#-l_8gzIqGVm?Td z{R1htu+sT(=-fH_k>J13QKqF~hrVTpV=G}Z2EZUiUS5-;0LmxiM!X6lh7*9N6=seD z`M`q%0q&jFi0rA|PASjB?7n#on1##JSBcGjfBJ@)zC#Mc>u_C z?5TX0peSaqO%%pC!u3A@)nDY7jltg#4&U<|Ifl-G7#No#fh;PR7YFw*WA)!l#1bwy zg+3$~l8|GhKhFK-v;M$*Y1{uYNQyv7E4il_A^~bXh&bkSjl3`_&d|Rf2T-dKCl1*# z^DWY8b;dK|r8d{YggAMjezjosf064y^j1pXDx8j21eMWiVlylgd{4-fzS)7$r})38 zKK%2YjEJ28Eb@jdWnBmdZsGc9iAE0AtIjCN_E@=|g5Jpa7wY97=we-y5#DdoW~ z3g#f@z>NtrTBV{CE6s17|G8+C6lgnI=B}_v7Ai!Y3=2geFlPn(>c2GfpNAS@-1m(z z&oT=~)CtlK5yjzy$QvhNSzG;k7RBGE!u|79UqnNA!HCoMretwq2VyuuH0g<#g#UfL zwC%6%36H$}36u}<-;9JHYR?rDFKyC_5dNnH>ffOz6pDy5YLae7HUs;EM=YVvI?5ov z_uYS<C^iEJ`!7fzIy^lvJMk+1IK(Gch+BusN3TW8)}XAUr3tTSJ%JEksJY_HoaNn`>pX;AMP80=C} z<=JO9&n|bFK88vYYLM(5owQnB-}G6uqX0i~@C5_rn%x}rQtEbb zuus*Kj2~P3nEoueNol6FJ|rY7^>;u|aj;ccb8oSDS2?Y!Z(>AWl?aNuJ+B`I*Qf6X zXIJ+X;@C>6^?}19I*C@EkL2x zc6MfJ^5T1>zWs@paTGP;`#X4E$aQIlTpV*3^F>bn-sg?9;FiF|`a^@#m43%;>injv zDj;vV$jHn7>F-R6i!C2;yoMWiM*0qG*C;hzDlIAeR^TZi+&bGQ!g^g_X?`-hd|CU~ zdK6u`^pd45g1e+4%BHXWB+)cj8wErSi+yvoO!B_L54%e|EOXoi3F~<+D_yZwe>= zH9&^tW|FR)5@E{|W{(#MG;?-L@-%Gr^z-kk<4W_Xi@5P-LJlwaE&HjSZO zxhc8mL+sgn(9&I}Saes*bJ-(f%hjMqniJ#KHn-hp6qaFy^zA@o%{nK7du zWceP2T;}UnoXUOQuU=p?Y6Lm0^u%MJ(IC=@J19lf?P@qu-o9LG8q&tuGt~MzC*8r6 zs;Toj8@v!jH@; z;J)?HptpbFk>YOur+vp?Z4REQnGAWVVh}KNV-{16P;_oK;BC>k`R8Flu0Vi_Fpdls z^bupBMSs!QFr8%LSHNC$iZi#b-|Ag2*Uo5az4>DpBhWo&UqZOwWyqXH&kBC!EXVE1 zyDeaN%`aYqBV#SXkVQ)V>^Yo&-J#b@*mnN!>?Qa4r!TDed3cvcmrTvi+p{a(?7N$? zd`g+mL=LN`8(BkTJG|UD-KYJ`{%dD`@tQUt;TkqQZB=96eIa6ca$Njt`Z7elm+Bxu z!A^Wx%e8urcG;BthfQms3M=73(3LR!$oW3#@12smL-cu*CavyMxq^1rsSAl?ck4|= zHJC=V`H#=JRvWkIv3|4r_I3SHsrvW6p+W8BEJ~WR;6cvWvCHqxrSo67{m)zCW^1P@ zs_xdNMw3UL(%9LNN@y97JRyA@QSxi9(X_r#-N5F7XIH+D{O)XXpciK~)KA-VrnFD9 z$yJ|EB`=Bs3&E>i#b&4VZt(D~yzLx2FT<;L$@VaHV(%f@qIfT;2f9c?K99gSm6(NJ zSH@8UCu48HTTB{17Csx+fJV-8j+qoy{3}z^r{Rk)VbQCtSC)5)W3D?>=`U9}$**A~ z`py@c#i1*jdK9y&!bGlvH2bGN6R`m!6JXYP3)&W-7?f09j zCQu&&=o`hq@!$1tKJB0qdjADdqDj@(aZ5)!o{vNyeH0)@McZBJa_nChszV|mW9h(% z@MoFNMf!BN^sN#T6R+C(I%%SOVJI#`>BMhUfxebUt^Rn;NkZa;fZL2-;X=&lYNPOc znV8%6o0zB{@%5@$DdctE2%YVe}~qkGrtk7~yj36rr;0&y1t(TS26OT~At4wQbO(tWj`; z-?2j_GR$7^CJ#q6)qYyeDbr>O7q#AY_HnEk75(@;$(#>IIP-)6 zr(`^>={b!EB3G2=sPDftNzEjA+ENk;Nn%G%n#H5YYR_?GMnpD_!e1#6eO#vE}K4LFfNu+geMCh_+ssDSxNRKlWifNCvl z{>r!~_?z$SJ5VYWCelL`LC6=U0uUI32+d_uNzz)ePtO`(<2o>YHddw0I`rhH(5X;l zio*}@Xbf9OO1#9T-|>u*xTgY;E!V0y-(J9Om8rG=q&XE3!#yeVE-LT;t_w$_Wm1ny zQN{o0EjcKF4QJ`(C6$J@)TB|j;XyRz zfsr9mkrm8?qj4~DvDN}0o+{ihbmkVZXgN0s59niaVzZ&m=sAjfb7t&xepAXon9 zVuyZ=^~b|CDJS4c_1am{JMJyM!wB&|B3NDEY0{AO>nO%WMiTA&J%GT~UNlE6a=TKe z89nb1K@Yl^5NkNm*|dr5Q7p?mQf44VV`wg!!i)%~$PlX-JRuKO$BGtL{ctbGA^KIr zL==)bMcceGg$YeV>Ai50A09bAbJ|z`(?ATOePSJ0Ihm>iQpHkZhJZv|00}-0KoZST z+!^fa>(5Cm)o3TfnobMJzo=-b4MjIwt|NPaXAKiumhjR~>iWOT$pRYe;cW{Zk_e$+ zGkDqmgly=RRj?>ClKJ5q&YKfS;4OLBS}yC1)$r|96pw$Rb~$tiwJro6$bGx;7%>}L zalFspT-%!Jac0ef_wgRBma3>+hJ8pQNv2eMA6P1f=nt-D!&x5(2_TF2v~T?#{}3HCgNz@ z8#c-veki(Isp}r1puFxU@|ccIY_JW|(T2-N@#=au`iTzQ-)dv)zI2X|Oypu}--f$uN%!fDPr*VkRsT<%{mFSj38{?y%t zkZsC)xWJ}4*(p4q915rh(fl1|L;UNHXW2v$8FNifmsmrH_e z71jrvz6JMY20g}5EwVA|#hYL4gYuEe@KeMkL_@8+;MgXQUmh*Q4E3tHKZJ!SRm^)N zzC#6F21_Cp)eJwiGKMk``GB)c#`&^}V!PyWshPjne?4}wa$K8F`ZmiTYA$?f-xpaa zfztjX_5x*0AXeaorLTVF++wLs$&~krB9XgRP8sf@fWz$-p zTvk}W7n?8IeHvjC7ObhW1V7yd#7F5}6Zm~SAx(X800 zU@3~`*4Hzd>tMyQcty(qOB%0SbD<*^(U+*XwfuE9yB^}<;z0*?2?xsZD6>3<=5Ud zzMe^7gr#s}?1ZEq(-dM@Rse7#eEQsM#zRDZkR!2#4a$y7@jLBgA@(oo(JbOBw75R^ zszLXiF1hFp6FoROybDCe4m_Leqai23@Z{mn7Ma_9EatM9itx9`FUmX)m9;`J_tqTk zPbKO_o2x*`$9-Wjv@&CtWho9X@wmI=vCqWDaE=+X^}_pwQTDr;qYz>0-@5LizfHI= zQo5x`7Z4-PlsPWhCqkN)vp2b3_tO}C6@B%D#}bpnekydBjw^JLUSB3Gnr?)q&6~8C zZitxIZdB0a<6lb0#EF#tm!QlN(LK`W(ysczy5-2M6OMsAi_?F22c~M$52Tpu>+IKOxX;AA`arK#*a~(566BwD^I_-M-+S$8dd+eQQ+@4IOtHqj12M>3B!1 z$7uSUoa;d&syGtx*GeJjWQt2TEKw1(E|sBl$6gBU7X@$39XT@AM)B`xc>0wbu_94+ zO64O)Blwb7!F!Q_DQ&WnM}D&ckwt>^cdPNGE0|ueg#nqo!yLep9=(LO!-E{1D`hAE zi*K;=Px!CiX&h0>sz65lZQ9UDJxy#Rnt~zuKcZCW`x#V3z1kW|xLpd&BIxvc@=jSpwJh`q% zzLX;oU7j}=tGfOz4a#;w|J|-X3q`cj_V`H=j%jpQCao1SxZ&eglAMVD zX>_h|;VNAK&uFhmTGWIE{deG1m0u5<; zK*eU|wAhvS?_cvSXO3PKJI%8gx`W3q0RK$d1!vc$EG8l~UBg`__4kG^P+1a(YUcxo zs!iLFVgH_G0?XmIsulp)?GYVn8BHZEo(+ES5uT@DoUj$u2I0V?>bVrr5eMo`V2C=y`u1f0152we(f)+A^A&I?>z~j|KlzA)y7e?a4HcV z%6d@y2HMlq1_8?YUvF;R&HEDAfB);>SHq63pEdF>d`uyRhw5J;ocY7MHj%H{_Jjtt zg$lK0IUXXt`l52-)tBbBaX%aU%Y@YpoHz>J6?mRp)Qu;Wf}>^MyV^&2U9x6nWP1l? zeRuBQ;r{GWsj;cVegZrgeIz!Xv3aVo%inBgiT==X)(hG`uxr@X`)vS#`a+*t^KjP> z+pPJzmMq7i*3&11Md1GQylS<_W~C5g(cO|-pF9i$)vxU%1J-bUj5gBv0vp;+X<8F9 z)D}J4?KB+q+*8aE&bY&zC<7G%&aAG#!L6s~Q8JsmpI2H97Cv%9s|yNklF@J@K|1;^ z_PfOkB}y%<7{O~X9Mm=mQq+*cF|*Trk>h5?=6~1;|H{TieS40jWqm(tDBym!T~5j5 zLC$SI;MMR{tQX3?%Zv!M9|P{*>v@d6)hWX&kD?MN?w_xXhKlIrk%Ib<>-OIkH1tk? zyH*X3dc3}}$3wzh&A|Q^`xNBI0DsJOVIl0C>$3Xq{@(PVW4mVWBP^C^4>ArG8kPte zY)mqa$TX7oXENX?A*>(Mi8fIwV^@K)E33`g+X|XQC97K)RVzK!vl=d~0}n@r#~R-Fn2*ydMAdq&WWD9Ga>wX)hZo#X0Hm})P9GD8w>a`&gB5uc(L=m{Q-?$ zW~9*MzTN9VnaDb~ZPY2F#p%NPbZnI4guVc;R=1YrGis!gLdyCdz1C6`s@vLP&A$1$?8 ztzw5URy6(uqvIQP42t4v7yJ`;BHDnSw0>`8lQI#y=ZA!Wz=J^Fi?k3QJ z9m98<2J|2iTgRevv%_!TC;Y0C zP<%PoV*}1=e7%MDVOIJp zn`H1+qLOUxj?Djv1+ZLNX$*FsVP)8yuob}cTCOaFY|t&c;t+~^4dMtRkmd+?cPyDC zu6D)n4NpgSoP?=G%*Q3BLaTfl%bvvE@sje z*H<&UQ8y?DxeO+!Ptt{TsZSKZ{4-OG33R-IfUZ~F!(`J20zDdm*^Li)% zm`=T-h+6Ju8=wtrW zLNf5DY_)X!80$QPH~_1=d#EmEvPmWZqYlCrq=faUR}L(1IVS?vJWU=9MBD|ibphGq zD~gOQpyp*~n9WloSS{X{u2{h^!I9~b29r6}O0H2mC7UwcVEyKw1a}_5Pp@Z%x=19^ zaC0Zmr2g)YAkNYO=sBBD~+d3@O7@%cm{ z#6mA(A)*%|<2#yzEx0^$#q1>)J!NuLX#-Nn(cGLD)bVLPK&f*L;dtynbCO;P-^o4;8z4gCf}F7 zs88Nj>6IFw_l`e%s)78YYW2-IZSe}c);LMlM9xqiJRL%xPjZGg+0(o41DLFc$Ic=^ zsmt1(aeA1>=XoDGUA`YYH|}&6VWWRdvd&h%`0jI+a>PbxJZ?zaD9DH*+oumgxVy`J zoH3LlEC@dsuU5d%dHs@5^MW!%34HoJJl2Ayd8hByl+)ISpXt|W8!&A}?X!mBykD`5 zO~0HX`4xc_?i*0Am)-GQ)IHbCx03z&2U6`DZ^Q=lgrrt~r}SOrU(i(|3}wP&PmX!| z$Watr3Jk0F6r=3s@RLGUfwSk5>fDpi+~XRXBDe`1v@A&GS(kHLe{BiEY#o)2-r)uS zngNKM>hD6we`WA1f=U!FH0WS2Bbaz?$e^Lsbvn$UHu2a0QkeQObrB-c)$jK0M}W#> z9JbQyEk4HOZ_fuXNb+`6avr_K!!~BA)th|ez>Y~x$1aBUmuZ9Dh7|wrY}J z1zaqS8W7tbMnLV3uRh5PrPIieZBHWrhm5nYdwl|}wz+B67OUhT4UGD1`ftq?9G-m} zDm{;GBg-XERI4)~!dsb7TF`uPo_jul$F9(Sl(BAu1ni`3LEF2E`f%2eC$r&Mx>>om z6Z3BZh=meA_V^Cu*xvhz_8;w?M}K+UtnXItfCu~M=jEc{;;GY9?u=!BGdx}vFzl4; zo*#Eib%yMB<5-zq-~2N9#sw_!GSu`@?XJPLC+YQJah2w`xly;Pxx*qP2Em3is@4VF zt-hSxHk?JvzRpZ8d~1d5nPu9ppDtq#8AQtLUM4M(TlJ!fp|9~#z0v-?#s`sJA#{mq zE{o;7rP)`#tKCfjVwRw)w{QKjbv(3JTiz~Kl#yKRabd*lzeHV}xmtD$f4CPP-Hpl~ zPNLSnhwbZ%1V|RHk=*VQ?L-)^x{E;)r7tczaG3XZK#IvBz{ppECSa?c@gtSYp7Dm1BTiCJh-+5UJ<^2piJXS4U?W zhB&7^A{+)DifEtC`(LPKoibx6qAtcoA#G~pqCqyw5r*`v5D@eKY7tDQbjb9(1?IJ+ zy_a8l;26f`b!Us{yN=IMh!q$DDdRq`N7V+;RF9`yg^TtvaSAOuJ}UvJLM`?=;B$=p zFe0wV^rLwgIRNX2!hq~XSG8?1(IqN*-%%ro=r zEe0CFxUB4g9_}u$p0-K3{P+9LRiS|%SW&HpT-h%i!NwYn{+t@OO`RdWxl$3-o(TMV z$O*v3gD2qnvk)Z%PbHNaY18p=^PKm(HP}O$k4x6yKj`#uv?%CS0%(-e+%+>YQ*CqR zYu~`9D;@*P+|ShUrljI8EX6i5m7$&dnsX0cwXWU>#U$h#jZ-UBYd_^_&y_CDr}1C* zJ|1#odAnA=jmYs;66JjNy5IGycC3hGd(Oyg+zyXwmpjB=ZV)&nkSuar-j3$W|vbi zCn5>u+`Qt7{NLbY`38VL&_AlJ_Wi%JNd#XaFR=NJkvjr9mdPJgNE{U4)%cgS{c2fd zc-oV8$$PkN_z1Hf`X>N3&(3{l+M<&XRIg(d54 z>`SLa(BBS!D0ie|oPpN%sqQx?k@cxgthvL&vvQOWXIc#;60}fElKS)hwhV!mXJ(_{ z_XC?2OjpZ@Ga6lT?Bn7BMC2^h=y)iAL+RpgR5wo#f@7 zo*cOM7ZEigOE&`eJlhG^c(DI>bYd4@{$MlGd&ngLV?6lAQy(X7s>UpHzNQy$K~M0c zg$)7FEFW8C4%w*Qa7q|%=0DMinT~<-ztPE|6L}4D0w5B2qKEqQm5Hcs(YvIz5fhTy zv~q+EqMdJL5mW3Bn}x`S8)R{U-*IbVs|T!|q7z4lhDO__EcS zp8qwRY-AR`-8d@6Tdj&nJEWTSJ0dVJP2HZ0P`w;o#S-i~n!XG_gk?@h7Xl4HSPF*6 zYCe2C@MhgrHr6~d{_1Z)f#bhF^_stW$8A32`T%as0gIqP z;umG^b`DyO{L|6VLET{MfFyC20=KXW^$KnIQ!m+oA# zwtuU#Pz3Nh`)oLHJg$>b7+yw~0luB(1=@$N`D1O_QR;ri+J@gazhx=~w`t5zJq9?t zH$w={0dXfbZ1nN{fjI08+hcsEUP@0T)5x*^yV2fSl7N& z(;}x`JgH-&S#4T2V5#0=5PHw}D@wAZU$-B^m&0Afv*vo5f-w?_!dbv!NPe7KG@K)T z7`{#!(v6sDTk^p~WjMB2Y0BQ&pmaWTPOjFXIsSBUG04_G<~u#TBt)K2a=*jCe?b?< z;h^)~Ea+1>v4BMR9>H~huctQn)v_+{#aYg}2WLOet*R^dY=bNWzS*J&nGhWD2g#J%XC?{8;RNc@RI*GdH|WugTmHPB->W zhbCT-{BEp8a^x)hRfzUT7dJpE?+yKdA_T(~C3h^p$`|gKMu9i;67;qh_W+J%28_)e|Tsxhl$fi(Wn%5i}9T zkfM5lGfrCE3}YFvYeG-m1VD320o;@OHh{7z>@ne{GCNh686``|zrED|yIw)z**F%?4iS4_v9Me39HdMV7b|??Io)B>)XX5s!JrY!-krn}U z5YX9U24Z59_F{6}cpOCFxE|&HfYCbN8;o;$9wY9+5iL!FQbXNQDu{v4vijJYb_n79 zpxWM_>b44TYA^!4XLV@CR##(Ocyd(=!RtA3kCQf|I>>ce z^%)zvsv8O@{*G$nH5IQN_9$(3XbM7<$~n5xnx5G73e)s;gfC-=0hwE5zQDQosIF#jNK;?b zRiwQ=UT{tIJwJxjH_`z@T`hMx@v!1%aF1} zUfv~;H6|u@EUn%5gYmLI14N|IFIJ?khQ>^n!e1iO*xK`DNKriAW9gOz01)RY?jJo1 z*>)?vOgB z?qyhHXwEIR^}%QCvuWrMtc)dRsPa(Y{?xnPWt9vj?KuHO| zo(S)NQ=oQ!NAodJcYWP*r8Cu19q)06JKAtp-8Caoo>Zq+9>4lebD{0IrIx4OyyO&z zj^bbdV3FaP&sk@#4(m&hjomy#1s$ut^Qc{FyXE=dU(=c$*&}=XlWd|H(LzHra|eAr z32GK3rS3imYL|4w!4;iMV#)aGmvgNO8OMxtevYu2z{e5wp>pq21Jpoi6Imk*#p5TH zUBa>?6r>JrMC-%M1*Gygc)4$My(3>$d_!BVm*lz}wVl3{KZ~y$1ofXT`4h2Ws{}7T zAW^72#S#5sNZ9NL|4W@fjXfnujVR}Vt1iAnTvL(NHLYOv1LOJ8v}l*ljGpdf_^wzp zq=y}fcnwX;N0CMHwpr{YU_KtFGzFWIKtct}V6AIhgmW<*NoiFtFV@8Co16O)FQTCz zmR>EJn~W%X%nL#r!MPy}P7DJiMLXm^-%RT|DaZ#x`?Vr1=-x=iIO(WUL6K0I<3c!G7DXXQOl@B;M@zr@;Hv-DfPMjIm2IZqO6yj%n>I`rv+#mt_ zSyO6p@#DMTTzgVH6&_{U46qS$;9i88_5Hy$zoKiV`=ZE;*reI2)~AbOh!IUxmC=uw}w}Xo}Zmr_bzgK9gFO{z0_5W<~7zmw~}4^)|Ge z+$m{A!JaYF-2zcy7Pa9|BDgX}X708-WA92m#uDK}DD?|d?b>;}fPURvEZl;M;o*1@ zV(yq%TA*I!l+4H;T1YaD%^~<00Wm!^Q!;EDGSk4pkPgPHzyAH3*}~XA#hup$_7ffM z$>EQ4IiCyRK|4NggFE!ik>{6=#$(26!s(>O>+6in)5Ff^|Zv(HOG${7>j=EA~ zB7+Vi!i}JiFMfwM{vAE}#HJH)h2JF}cvOn&L>C08-ZE0c{HuL;&;{J0 z#9W}T*i`LT1Os7aLI)HjP#XnTgf3v!&}p!9c?u;>E4+~UKRlbQ#ty7~A|;lx4lU0T zhV!yWr>>%(v{nxZF;1=?myOfILyadK+#=`uBKK>!Pmp2^)11#$oE(Dn&-1t#?7``k zoP#`;0X)+y_Uj{n@_P86X;)A}we83-dIM4iz^mbKnmNTuW|+&i!-(NAKn|=2>6G?z ztRoV@A}i^WlX;X7J@(qi1zy%XcH-)F5+tu;NfD4^d~nr`Q?y??(JfG#*@&Y^_+h|P z`ODxH@|HQd4t+=oz!(;emX>W)f1U#UBDi*V_&n}CL${nm;|jcQa>$%%Wi$2zM)IY$ zrWz@N*aa3dH0FwqFX{uexm0gpJ4-mN*#q$h4*`tdpq2rl+|pVqpxtEprt7!?1)9p2y^7Nw*y^|B$7c$DaHF|5vWp|IQ&ZJKg)@o)xqF`Exs-jKVLgZ}|(iLEkwQ3`adK_E%k*z&YSQ z@&ud~y1FGIoEd8*HC2J=emUT}NBGO|$>=N$N~U{0NM^KcFq$tSdA`dZ&VeW-0guz? z^rs^}cYKIJOBNU^o5-KvuoV*vag3hNqh&RtA^yOL_EK9CPq<_Pj{_QqHkEWThxVW? z(tsZW`kNT=fQSx=g3|`x^5mlpuD&J8 zIBWV^V`eG)rfX21e*l+~+LFu1Vpd%*vHhv2-7CMnnNIXH42IB@sT+odO7#jS%jsfu z>rXch?fF&D8r0j14hswhJxQ38--kN*AEx@tmC8gBdF>4!(J4QYeTc)rm?qt)Ie&@7 zMhYX&ub?r1gvgo~7AO2;c@^iTNzpdTeWWIl=Y~Le-ctv82_+sT4ia~E@99NuN?)wMvT#=q)q1X3CQS?vsPo?#~+h3lC{Cf}GOT?0{CAb2$3!`Jz{8`Y5vbYpYkJCEb zqm&n$dA15~ez9^e@IkCOJW>@V9G!aDkW9)pp*OutI>i`mY+xVe<>g9MtJ0QNH|pbL zFD`AqtUuT>4RP(JCLJP&Tf2+db98ESk@Mr8U~T&k7~c_YG~y2hmI;dx=YyMuls1XO zqUL_$N`c@EI~)29y8B=2@IlR>T)LS%A3^+guGr6;NNTSze|V2ze<_+G?uSr(gZf` zgr#k5qHp-`IKyZdi0l7jfKJH1xbslJmR!-g&Sf|DW;vM|qyl-rg$U=ub6 zs1=N@QbP#sqfKa6kvd#a_A&c5nqq(opZ*WRh}14v19RE`%qviAQZ{N@3H=|%{LgiQ zgkgwy{=Zvv+%|dk3y$}E#WCTtw;l*PNXX$BNH6 z9mSVpxYRs6Sw7AB1gYHl0{UcAfc8rw?ia5-UJOA;9)Xm8-d$Ocs4SsqYJ~;U%CD_DM!86*@f&tV zVTC`Yf8ZdB!ru^bc6rjFIC`iBDU1k@a=rO}K=wHm#KY-njjRup`rFmJOr*l9 z_1coV&x}KyX1fmLly--mPeMqk>L{Nv2Hf3yaOtvyp*hW7__Yp(ok}tm+HZQB5fY@S zxexADnhL|aWMn1d%6EQm1!y=GwFH5Q@H3-EnKbGKb>m7^`;r)7?Z4}^7jYbNS$Wl~ zE@mmkX8<52xRvB&Lwz}joz*vqu=pcFV@m6wjwmGOmF>L5tqyVa2W(4T$U~Hj&ZMt_#mdNZL?5KuyRFk+ znZt%}NHOz69|cJzrrD_PLJD@)*Z8IP7|rU5k47N7p9gqqi|TkPlM*3aSm!LaTKsgC zUS37bwtg7e^M@n#Kk)T!n31-A*Yt``WCX6hv6`SVXvup#*FW#j_3H;Jll-bXJ-m0E zI)3QyIaIT$QkJYaGHL0{lE$Z2-jnK zObly@OqmZ(=xL%yE?QA5L&~7F)y>^TtB)1)_ovglh9NL8 zq%LAjhelUYL-GPtbl;ybf&VDBAZ|_0s+!+z}~pmkUCwz_~!~L zr!8fcf0c5i{QiehjscLO{VFjgybYsVSVs8yL0S!pZ+v%dKD{Ioe^`X4MEF9f_``4Y zrL{AIx4JGag`hSOx>VDD$Kf4D9?j1UX>f+xN0dYug8jcJ| zk^H;OxiuV1vtX4o@->oukqb8fQz)Qb7DT_tlA4ICEOcetcRt)f<}|KAJlnmyP_v*_iPEmbLl>bzBa3p}hW=m@QoDJX>Iev%t7bV?4wbi`+A-H6%{>*Y@ zE{DD^IM}IzY=U_kL0MpWo&_vXJKVOW3V;)$ALqbg19sKl3V@fLZj}PM2xCNjgllJ< zNRX(p%)unmhiNTVVF8H!%E~Ps03ZE(vv@D!>)PUOAboJnZya*ng&q2HwRl8VZh30BNbP2WKzL$cAA_s5O942T)tD?pO^zJpLL(&FA^!_!Rn` z3Tt!|fbUWlsVX{zzpb(ZWtulQxqwPsBRK~(7}n9}CM<*|w9o7g zB(!z_v6xr3vr61n^wtggT4gXksD>UyxU+u34rhIac3KR;MJ6v6hUojC!4Ml2&OqNM z9R@a=mTf`g%4zko+jr|!?8GNKNPf<-2|$#R&feY+$jXQ}qZI+-`Tu`i zOtx6jVY-Ht8OJmm_G14{6lFC-brl8`K{NvmH^ejk7&`ktUkkJ{ksdCqXZXI(x`5w7 zTYll@$y@ih4$HEuBKl=lQzq*yy}Nak(O*aSV5Tce=MktuXNF+M{QCK=GwN-*A*G!+ z`Sdo6h9@uz1ZOQLw%5Os4!q2!6W#z_+oU;~!&u4#LrQlWlNfqDY zfj&n#`QfeTBl0%sB4rygC8oUP;=?s!mrOgMWo;)xuJeBKxh zBabMl)!eefb8n612hD9r6#<6eXy1+fyg1Pfmh`e+4yu%7)4$W2J3DfN|4cCo@hTgaC9(jskXobbU+1Cy`#krE)+Xlj*LyIv z;i!h={o6iC3ze5r?F{Tk2RUdkNB{ormcpF7N=XEaFyrhJ52GAbK=hk-TTGLV^kA09 zY%<_YXGp6ibDFyUvX&lU=+4k9{|cqsE3Fl8pKOUkuOhRVlFE~+dH?;?P`7QZ15$1g zJlF)*I5I{!vUl`$8!Xw;Bp2qOuuo1ntzN8!i-jyeYH;FO^6sm#@w`6kB(Hv)h}s!ZyR>c7uKylK|$W`3hUwkXqNW*+;IMAyi!w+h-q z&ikz^S3UDY`t)rh+Hy|zh1-5l)DEbHSr(fUGI!Hea$)HauH##y6kHPs9vCW(C=DQ3 zsva0u)SXyssXTf-pK5BBT0p$~zkboV+kXvBb?VP`y2FSBoKCuW9+y#C++;Ld_K}dg zO6yO%(>7eqi8>ul>MkSMuYNh@dhjY85d5jBdEq@ANdek0zKuLQBC_|hvY3iA(hS2Y zi}reJfxUSh>-?C<|XkQ%p7wLGMlcD&0PHk`K|{>OqfF60}@X?Yt;lGSt)(va378 zl5Y7$&KFuzn$up`u5yUhDHJW0!Oc5OIDmQEy}tg-aEbqVg zEWM6r4?hIvrxmV9%{bkF3;VEd#{47_M> ze0q}nSmM4pQtx&iJ9{*-z|6rteH*uUDu>cLuTCe#%FTYkPNGUk^U;d#+__GB%z{xgR0LXKm3wMBD=0R;-|qQ-6347g*#B7dV$nk=cO$US8KJ$ITuo#P{8T zKn2l4POOF)MpE15V&-08c;j6s=_+4rTuvxVrZrs};cpr#aAxBu@V4s-2}CS5W4~c+ zxQ%z*H0$1(DZT9W>f?j~yqLoX7uf#bXKK;n)EZiM=fD_bc}R4tR}d{DaCoLG^TSgr zTmnVk!r0*T_;#ta4Du4)h&b0j+FG<8=&oLq!j?d?M3$eRdTs79XKkX#-Xj$j6oluCzMG`wxhA3$*aG82b$p? za04g`)lPNVe(5>FM10yR8=UTqr==uP_AZMQrkh=MlyoX%0Nj`VO;G!y93uVEGC_?i zjaS5KQ+bPh%nqb}OW3)7QCxxs3Xi$O(MislGPXQCb{Jb{-gDcj$PSa0gyn!IaWX^2 z#p>bl&hr`WzBj#LYA3#KX>Mu)0>rxi0KDV&YEe%uDIB=>VS(YQ+$A;Glt3l3&$4u7 zixdpqw^v=H$EO}=k<%Uz_c-T{8*3(tVd^s_tz9)f@$Nlrj5t5A07J4usV%7Dd_rN3 zMWJCT5)5*G=##yha?Vxt$;b75VIHtQD{64F50@cW_L!B9$f*%V1r+qLxW`b1)$S@V z5vF_GUn2nG*NA}Y);)h`1H-;`Vu4Oq;E82?f|;8CAI82iD6XJuGav*q+KMvF%ug)sFG6q(vj(TJoxO%EUpzwPBl5S&J{&~_&-hOy z{=&Mg$9?6>)=TSbu-GLB9%rdyzqxQxwEyUK=zI&h_1H3&k~zaZ`SODk&Y7LhEwMj+ z+K#nw%)~KWQFY0LXINI8mj1!>S$$EPSCfI3iI(-$Ra$Bg+H<`4x_4hKR^r5_=OW*@ zALBGRM$kk(O3X0ffB-wH*4%@Ce4=H`#JsbO;6xe!8*`jcoBK}-Wgg%Ad*chV+jbIh zx;Gie9zpUn_`!G8;q4@VtH^-<3=sem=bnvJ`)M6jnAR#wyc#yW6r2Z&+j#5-sm)+7 z>Y>)>rH^X60QL3tiGV2srgx`f#(u%$KXG)fXa>o(AFO#?n@fVLdN4-mmG{2LY_qfo z&UE^v#i_fQQLQ5&e<>>nl`Qwp-AtjaFioAPnfvMYX>g%bu%P|1M`~F4qZZwLaQ&8& z;gwv6!7xLCz9bcsoHNjv<-_7oy0TQzTK62aitNPBf;-_KlocGN^rmH3YB=rC=22dD zHW=W&vDFW|j75;M(65O`v(O7krdk1VavR)(X-65HU@;$rsvDfd{^U;ZfiCw*unU3( z)9h#yp63C_`0}BFT8mgUE$?nCWIB6|DMP;HZ&W)OU9x`KQ1JZS_-UF-iNv{w84J_bhLRp)Yc1C$pXeo%*pLweMW^WM0GRuOhve zO@;1p8o!h@(l9Y!g>roj$)!mL9ky3x3Wup}qv`!GK$3XJi zdrDW(zXi7war?HW;3s?cu(2eru8 z5w0H0ngs><&Uu2bsmXhO9xnZ^W30@M6&e<_5QS{HKgh0_sfD|F&`IKB|1j)??m3Q! zF`B7=%Wg(T6_AKPeEQUMA&6W?7JV?3vfWL{9PmCKp^|f*Z_w%e$^Mrw36C?za$y&@ zr^=ayy+3-bF}woIAPF7PULsg^mR(9A3!#bh=6>+f-C0@K0Fyz@Cj@f-O{T~S1m zDX^mq#)Q6aYY;w?2$sfVT{ug7-Z@x(Z=AU70#6MOBoKNhNjeX;kW=>SRH2XNd$gd* zKtAJ*?OIm<8o`srK5PDKfHp{9HO}#g*P#xqcAZRPb9spUncwo}b-v`>hlZm5 zY%K0&rXf@Qs2P6vX|L&)8VI{+aKz5bX__r}whmKG*@OynHTiC7VKKnQ{_hHZQB`!~ z_}OlDnP^pQre4>Q(dT4KvYOEuj;8NnBoC7+nZP%cRb;&S>n{dyB&o|XG{()3n}ogp|$esfOd?F^bs(KK949nAGSXyD#(KF^)-kMwM4 zn;Kyl&dBir_d8_->2{Hohj#_i7`{I|Ci(phv2?Su_aKA5#CQDFQrWk^Jt+LrfKz)o zfYFwdw`bY)S}B>aX88W>5EB*S`8>afY^5bEV?QORr;^Hj0J$lAa;M zUG>Gu^3-qh3{@myjv;NO3UFtsFp)vuaK0(9i`hQPn|nRNRP_FJFq%K?Zjm#B%V+31 zybq27ZDCSfUnZIbpamG0krP&#E4W_BMc}U6r0P#Gj>y>8Mc9rId8{W{mXZ#v^=@0? z&txyPuk`JP6gjK({83GB&{02s*H$4$M8VcP&_4XaUWbUfR7cO z0NT(j-6X4mrq~qkL0??knqFIK5gTmRVJ94k?-Q$isGZdh6u#LBHJoD-b^{QpM@8t2 zkGuC_hMSY3uOP~V5<48@stcjD%5HceCgZfF8ozwhDbc?D!D*9k)7yMqSFZb&}Yzice?pL?CkwD za^eKVczDP$Dh5}(DK8svaeUVu?2RSWcx7#ovxM|uB&h@?{x%z$ARpn*Dw3FyaRLuS z%4mznn4CIVJ~aGroAU;vv#aO6Ki^FGak4I=#%_t2pLH5EBU*Cn)L>`U~to8b5_KOb=4Bj;cl0yePkU`D*w?))SKRS5ZA ze0vlURxK2u%7KK@?xP3f!pGQBSrc+7GAKSdp;6&Si4vv;a!*E?H){RFCqFc)*Pvp@ zm%1w71lRr+AriMHt%?WhaVau}T}^hq-*!>`F+b388OpR3L(CX~2Tn=so*uKKU4E7p z`55vG4Z5t%_vZNUE~pzPm`r}K9$k7k@`ElMceu){?L5!B?f;ADAHwCia333SZ_ z&yC2xjy$iUoA2w;{oYNE=~~d8-a~UDCKfqCpamT$VBW8$qH%dQD4=S_XvFhJRh$Q? zB@vkS(})E}o~3?70Qq+%qFS}2;`BPf{pvZ=6GVmI5U!8jZOwz9&;{bPYmFnKE9VgN zuelXJ^ZvH^&Z$sFIDLkkh%u{mhqi%V)7%^;CUti{oaG)(X(KP*;`S(G@?A7o>bJ_~ zx86hSNxvvmbx}gR1Cu8W)muMNBUDq8PXkVq(y3yy`z}8~Bkql3M1&Un3x^^D4n_t# z;iDLPQyF|)*}j0tqUixVy8%)-O|KGsu3ls3H?<{6HU@;p+_L1GxLSQrV_lr!KkFO! zn80$8m1Ndsb?F``9eIt8+*)E^Zv7p)T>`plRczvCN1loibpj+H<8UBHnlz|C)Qc>p zgPuUfgN$S+k!?cW4Hn3rq1wKF#@0_ns6fSM>8Qn-lz(ywsTP0u(X}!QYM@zSp#w;HYrdU<0PC&Z3z(zTQ?K* z#dkpg+Bo%3;xF*p2)GSc`-|wk;%sv7vSb*Rs-_ZdqfHmA52IyF0g+c_$=9t8J|Z-p zN1R&PCOeX?Gyl~=*E;#~TWmtZj-O?DB9Z+C-dtA!SBBff3@6@mjb}gw)t`s3B<_UO zR9VI#-E!NpT}}>dms*GK=Ls?ZhYiQzL!$m65#a^cBx?2%Z|u@r=Bt_ruj=EuzBWho<0TR~AGC zirMo?iJuL+j0o*=yXmjPC!wjamR1wc9brVx3w3Y1X1I^kaq18}Q=FN<@_tF^Ck6lu zn}efDb}zQYO}{&#$IiljpZ5@2Er^ zE*3V4m5zc1A}KD@5KJt09xn1?Gfgf&dseR+8TCL_%*;x@$+gyr&i-&*nTU!ke(zDz zjMo`b@1;*c-X|g&yYCL5d$^QuzmR=&9IZ&7rGXPg<{XpgfKaNU?dC=Pu|Y*~4)%F; zh-guvv=cs>E8DKMx;ye@4z2u-|JFnO0J&f3&*<57X#i>Q6#T_PGAhcpJo~a5uEKwHqYNzgo(a(C- zqS9uRT**rfR4qr#-ntw^qU-ifgsy@2P3K@?pZxf5U4*#RBBg=Q3Tgl-zouB zcVzB!zLT7yG(SFEzPxGM4_ZTk96aSoUq7KlPsi)eO>P#O z(b`Z}c$;?Lm}_67`xbXkoqUh3%uA*_&lGki%#<;mwk@+bGOD~#*WhD-H5BTJFgeXv zEL+M!yTjWn?@PvEMTO^Ad0E(=+f=XC88A~ z%vwLd5u1$kCerNuk`KkGO8YGP{|sRuanQdU`hO$d0mr9CQ}9T|=1$NvfM27kUu`;B z{T{wFmfPD~lV^{(Fn4_=3ry&At|Aj;hm$s4SX*J80^u;|dtEz2L)xgqX(@opwFsN9 z8;aojD@-fwflT&;r@cqANk+FUvoHYd4*2#+6(Qoc`&sx+)F${CDExlz0KW5RMU>N< zc$-RZb3BGn1;ILPNQ`PE{hsdv48NLSB#s|&ZMM6-FAcj;_?K7U<2(y`-o1X19d-Dj z;&mGf$!--Yz>`u15t0$uaNBccx}F?KDfmybhHr}}S$Lefl-{AzvD%cp2hzH^u##j zc98m(kUM|cq=l7S{XoPcODZ+4TVGMv2J97n-zAMLfCf#7a@^z(<`(bmbC;|)yA2|4 z=5RWU#tLfKpOfP*1Zm&mBz;{ZiYk;Ly^jd}JCv_VyVAqs`-&B$6x`u@;BT&8V?UPF zbfuzIwA^2;nE-tv{MK6z(_fqneTwVtuqYkUbMf#jx9#$oiIpEhAUncj?I@|iM8dd> z+-YmBZm04+Y&cO_$GxMxjhniQr8+MhF=m_*VfgnW-A1j$>MEZy^9glPQA2&>wued# zSLIi*p_+<4r%X|fq1w)hcxDR|GN4ve546$wI1F+-=rylOaQD3P45})>40uYo4;rf) zYH@><@2J{6!bP>j(M#i@yQ;D%GLWw+;v_NRS)sp(03rfZCYrjNTkL1u5hFgU1SOW8 z=&;$TSh2^diBPdVNe?CSNdpl3yb^*I8Wl!J{BFEPKxC$lD$n74WVReyN@|eiOkhRp9v8 zDfSD{@=}YQZ$u=TT=|K1_oyBFdal=Wlww#c9)GVF^ zvTJ+LZfS7X55!4N&4}q)8n1PqX?vvS#VOcN5j$}_i^{u2#>>|q}35ssFEx-Lm9$&ya%8&fXgQ})sj1yXf| z@90E_?s>vD*MCa~u5j6_RajEisjJ3L z9q_4DlkSSv4vXu`=&C~=pqS&QWPiR31?xJ~uTNA#em_DwpX2*rt|K|b$n@P=+7}zt zMW6tHbW7nnG70p5AwrS?Ocz0nf@yjciJ;fRsRkD%pD^;(^Vqvs218ab$WKC$YZ@}fn!^N>6RYO*wK7ov~?-6h1*^P2rZ zRM&+tR?F$a72syZ?<^RzHM3u#Q_|CR#dbpvZNCH8DW$2Lh9I2O#q^6E4-fK)irH=9 z&^uOtq%Duj+-R~i0n^AyDgumzY_@u-A9(9!zV&_3rX(EUDC*~B){8Xau$+l~B0lT| z6#_%z#d7U=c*P}X%)T-liVhqhmn#IjAv>0|P*({Xq|ej^Qaf(O)AY8ixoa?z(pjMv z3>Dxq#YRk2gzL%Z`3qS#!2tmrV^#_y7NBYZ^TP@bPmzrxR{vH}C?3M7ck zX5RGST7!FA_>Q2X1oU4Tk>Sz}>tm-yWxW>y+dF0R;@*n zCg5W>QoLBrJVynm+h~B2xUT3K^vr>ID4I#)7|{+9TZOK`cn}i?1E(7@Y{07Jgg%t`tPaQHvh%iwwzxhwJM~I5QF&rstgy-&N?$(F^W8>_gn@LeFU3#Q zo=J@b^Sn`y^kpm%7??B9vQg~RsVG9bL29W&4F5l?^WRE>{@9CWw01^{9OCwQ^bdU} z=9pWnd#@?S-FD5s2`dxHKJF(S)yuH)t0#b!gCUSKD#Zd zN5+Vr<3w(z<-*u0`;>!D5YNTI*`|=1tRJPQK;PxQ3yKp)SpWo>OM_$j_Ud(;F8`1a zQ09aD9rlX)&`d==)firA0dlHl0x{tcpmbm4ou(1uR5K|O<|YYL^QT7!Mkdp=X>1!V zwpi1>Y^1)lE{ zk=fGP>$WR=iOm%X*j-q6n!$7buo3XIl!t0r=x$KT5(c;wi$+em!9#%zwF`!A$nG^D{@((X%def=Tl9eZW_^}*i=i**yfP~qFPSAT zp1(Kto4gD)UVj2+DKDg3a}h>|B@I7lJ9@$LXYZ%mF8LYC9k*r1o%W4Ko<;hfhzo!Y zKKBy_I*IXtlFzb)ye*+>?gm0}mshp37Q0yBxaPL41d7M}58(OtvHx{>jxluR-W8Q< z?C(^X54V*~KoicoWc{?}@z8!_YNE6^<#`ey)QF6=2aVhu{bke%8 zSJ4AuP3gZa@UnRtOEyM)FK6JjVlN^2iq}0w!F1GjQ zQ`6s}Vl5n=wWp}ap+$p-vPHMN4B_XD$x99EwawoK-$NA*Cr#8el&c)t8g_c?O_?K* z+lQBkeDG*!oU}|xIT*`hWiyQ$GAtd+;r`BOc3qzxcJaVq;GiH8DwtdYFHhUwpD&4W zBoroP8FJpx-wX2>o@2DU4nYh01Dv8mf!JKt61#kE{xcCA?ARD)v&4cp4k{ z!NT?ORFO9$N!zsRN>jAcje`<-!->-;c6N>$07mMWMls{-&i`BLE-djdj8I2ORL=r+ zBU_kW{we(q&1^3pt}o04m?+%XZxRLtMaD zsMsGF*nsuyniaGuL4DdEtB3=3eyGWs_T6mh}%&>H54G< zxldr}dN0hq=u{T352kMuHjwou95ydER=D$!qJj*+hB8~d%aOEA*)PC|C&)ReMy zY7m*LSK*fydF|aOb13R3KN9H}@n3)9+dqCv=BZzeLbH9bO|0uL*EB7U0AI%PdoYA9 zZ1Wq|{1W2oC8og4dB%T8{Gq%YE7$`S$zlpCl45BFA5;IL!i6q-f$OsV9JR_EQ_=Cq ze5p+x;}LFtHGHDkZPpftB4ov0RqHQAcTO{Kdb5|#j6ZVKrK|uN znO=>J-ZCo2{C~IO0>W6?ScegTby~Jr7)idkDUvem4->e!zIOAny?rFWc#{cVZ2CW{ zpZD|YBPZSmdZ`zpIvU8DGn33u&IlAQ+fVJUfuhGYHIv$3i(^#m;Rsiv?N)ICXbJjI z$no)+n1p_Yy`*GHpY|D~5hV>!K8}SmUc{b=im`T|jK!j1n*0?E%`o&q53Zw3;^c~w z?L3)3T_^Py?aXaVvI^*tGx+ND(C}GqpYw^sWk~Cqse86U_QxM9$L#*L@8d4N9C;jO zbtS&VG@w$h858Rn8P*YQRqW&{D@dAYcL{NRBU()5FER~;(IV8DeKP`rhLU*|W0NN1Pq%)fkVE-tVaCUDqX`LS|FP&UxH{*&N ztaWcwe1@9NSwVIgd4~!$yNeEjIZqGTRU5O0htY%qmP3oTG<3FRsyc5;@t&$4+2+;- z%Z8}f(-H=|YRj9g)72%}%4>*Qe2!>`;}IWk*SJwtP@utTq!XJd`Z<>)_=B^LW7mCT zOsWg@i^qhPRJn~$%76nv3yB(_eqa~`S5&!(@rf`j{ZFO!9zrO{EAw#MG2Jo@)SSdo zvsRMO3bO+u=sMM%ko*nQ>$Hj_QOHTFJn7)+QDmypiUsCanU1gJIb4sKInS^V97aR4 ziPaW4EyA8$###nKN9IAZ% zOxdvlpQKThO2D?e<50!1V(R)RZmK@SBk_Xdg1szw#z>hxsDT~;*1XQIUt5}#+O&2P zgkVSHB^+lKzM)XG2oG)*)A_G;yBHW3Q`tnIr{7UY%f6pqvR!Vx5UW|H{?NFgYu4pzVo^XCIvU z2(j)<*UCPgR?G-NpHsJCv05;#WK=# zMi{D`8w&LXidt1nWYCm-!U+!L{1%}s?$fy|ZQGB#82gm*Bpr;8x#ed#HLE$JUOF;L zl)!bKy~5}8M0;KGH1~n+4N*nIX~WRN;!DhLGOMAJ#rd;cU zh)bFF#v=1hp&)fvA*jZ1!TFmR7HWm8Oae_i$A@dkj;Bpq(VykDst5PIICyV_`}9Id zMdo*k&ybY2>~5^HS52n||7%N`XK9=%1-6A+2c!GeOJLiKkxq z!)5mT{mIcO#a)lZUFK7|x|1kA{OWOW%LfahY*dXyyM`a-^Fx#2<|Rq67JT6_9*0US za0S|~j;Hv+y5iir6AiR9?5O!K)(;cGys=rjpsqs*WPypD-84OeH!P6Uf}dcJHF{Cr z*rMLl0(rMX;_%XAE+W6z&nGie)JGLZGV_M7=fZE}!f!7)oATEQ|1do!Y@?+7s)fF1ZR4BZ z9@1(;3{FVQ5%5?zDdY8)jfzUdOT0srcs|d)8Mm4mUIBh#XD%tSY!m(C?40X$-5~sW z+f^L@Fp)!J$NUc_1ac@H|Lgzv3=Z`j2ac88CruMz=zDKx%XKE~cCZ%Bi!{yEI6>|A zcJLG@^uB^{l8omv6i8!|d4rv%VRVR-lEv$BoW$HEfn$eb3i&;<*1fBh`^*D;lWK#m z=Y8%Czam0~Y|c#yjRa78aG)lD7LlL_BsI3&0QWL_SyH!*DR+P95GnpKn-U;Offf8LoKuL_>3k;WNOOWO z_fPimE#0U>FOhgcpFZjW=e+i&-tv00x=7p)rO1H4<Mp{-p}Sk5a@$)2ueOO{w)| zUmwgY&@!a%CWydV8q3S`aw794ISE6?7Vb>PFQ~+LgsnYugmD#j^wu)1vnK-M4pUo&h188@0@HDL~qUt>oh5~PR!NBY_S2ekEH6ikeZxneaS zUNbSL%X7G+rn2G>6(zY(a>|k_E|2S7AB&;!tuVD>ZbQ?OxWPm*JxV*u#X`2v(sbX` z;zAeq@!xN?x|OqUEk2h*nHsRNBXK!A{R##`lrLF+V@~%Z7vlqV13`q~a!8N&-c@&g z;h7by!}QJkDYtQ7pPgmVlQn!f@mr?V5@AS304o_BV-fyx+fA7IME~f$Z8kcJv*+!? zd5R7911hqlx}CnmPabSo+3_j|tC9v1df<5Fxmk#L`GOz6+W|ziAsLLwroF!8XjRLJ zms~$v-I@7-W^RI2cV{Cp)6r^`e~L=WerR#9_j7%2W&}3~bF1@hf1kzQ2SeRtOd_RY zUtHKzq28FIjp$grt&y@+k_iY&bQef@>c5=xKR$atfaC|QBoX2x}{GahzM^} zeRm+Djwf8nQ_|MQ5$L>oKy9V=b}>(_(vzY<%r*L(6$-89;(S|!M`m*hSW;%aMmW=` zbvI=w-hMcXFx6e%RxNMk2 z9V^RJh397=tEFJk7X@5-uQgJ9kEPes)_)oLfNwwxOah|6|BcBcr7o3plRmyUUi}$wGM>^_It6S0zVep?=loU709;^RPIGm5 zaeysb)B8vyAiw>1A>1eAdj}2BaC9iK*i)i%G)NxUgGSjU=PXL-n2`?30w}xE)+6K0 z&nyt@u~o_{?-h9)w}WaHM`d_9v9}zH@Ja6)DcHtbGVcLzLzNgB08l+Kr4q_%)X&y8 z2)K{}C`@iFg})00g8tM>5Jg)3B~UET>EO(ZjpY%vgx<#aF;lFHt8u0KJCH%U7PhUu zEY+3FBAVyzlUNVAnumjMgcY6X(Zws-*+%C_2XovaTrloBM&c|QMKz(0xl-TgJ<6bB zc7B$=7fcam8~Hk{UNnSE#=yRLL>>bVjU|Z>BO$3Il}lyF<*bjkdbMvk!C2N*{;-I` z{r*k`{u65zJE-+GhnM*wZa?KdX51=dm>>>EE!y?uSm#4Pn$d28DYZ=LM8X`Go{KjB z<$6H)$kntHL@j0*6CAlANSP%WT0B=hM+X&piY)88*a_nAHqO1Iu1p2tF={@UFxITA zQS^9D66Hr!It=nTHH$W=B38H!CYa+DS?e3A4DiW$&4kiiI+<{3j?TDM_szq{hKNOP zw6YM5+hdudTnRXWFYMw)IUw=epE9cke`jw*QRGQj66jxLi3x0h!V64KL?+I^8gPWa zVnHUJ#GCC%`5NMWaL|_Y6K*R-jC+f$8@b0I$SH?X)I6wXp%E~1JzoJO4OO7f8dC0F z$j)N!wlk+49eJVyYuM>ltJmnv!Ru;|7SbGg-y8b$3p*;rigMsi`a3~Y3(ZFyOc0W4 z*RO__7lDK=Pi+dqkM13KOj;|C@3$_^T`kY~`-O`32XS2a%*eKye*$XeZl3h2-RKpO z&8|>Wor9iA1hVs{40!KamPP-jeS++p(f~21TJbPZA7a!5F`S>fPMOGDz#kegqohcx zA?l3G!e|1b#pVZE6yrUhHjk7qUNnd#SdTEP!LAL%zu`T zXty)UYz0}h+kD;=E&_wOb*0~D7`jp+`|ci^Lj*d-Q$kj4Cd(ZBUVL7bOC7w-vevOA zjm78jw3{IIofC9sPM$V|I8Dg;6=HXZmhaNgVLi!rx=r>#{x&aE9-4;)^IW_0Y_3a* zOz6Q>QVd>K3^{}`9c_9EGN91-J~_}8<-YWi2L{k;9cVp3vpe?-%Szo zHiLFPYW>i%!y5Xm0NM6UidUM$7M_gvS>#U>fLVizIqo**|5NsdS?R`P;9({6Pb5j- z$>YUr{S(5XhH-)8uQ3GqYeCS&+JbR%z_S(@fPFpL^xKE-h0G#c&Q5bdzxjlQSFUl@Fy!G1=wNz#o@lHT2Fxf9sgX~J@dgQH`WVV5f@GwZW zxXoG5{K}z%5LUGuc~_q&$QaEvNQhfv1nbNFBX}mub+j9sx9i8KF>Zr;EECn4>_blS zu^@ja4lg5f*6Uk^S+DeFl=;# zN1F99%g!eF_1dATHk9qUgKY9rCrk>n>i+A zVM;|I?Fd?D{ii;nObvW}nD~4uZ0!iJC6LFBfff=X0lBxoZoU&fkosD1Kvk zJ}NQa^8Nmm{x=?P!q9fV-2G6F9ro(3z3pOi8`9{pQ$MQ7C#*b-x2_e1Iv-8_NPQo0@KDTJ4i7W*#3MmxHtG@|CizB1D+Bao8v}yiw{c$&Fwo24G^*GX256f zjD(PkRY~RH8fVjJt5OBa(m2iZ2j=R-n}e-=f2aE!)dPgijR)=Dto}$A>n;b)iw$?? zuyvF+ZTdz1-TJ$SlX9i*c!#kp2D`GtU(0Mzb+}rRszCwWnJeT2!8gREfFSNq9yrw`(FACTI?~&EDd(M zz>6;C*z-cp;YT`TE5o3#HH1*+J5sI4zM-{@wEf?hZg97YAjI>1(129;$GiNfT>pC_ zuATwN9~HV7mD{cr%tELc5`tf>NTMP~8RB-cQH6af2n)y%hL0^ui!7IA#6=J1fyP0~Y#Vfy-VE<9k=opdRy-$wz zqm%J6(tMumfq&&HuE*nsUp?GDzx&PI(Z1t-814blbmi!M3?XqoVPcXxm&K>s@VS@* zy~qOy2+YJ}lvKrX>vT-FK1-W#M)@mLX=*IBr3;WDwH6Bw-{_P*qp1$df+R!YHcd=- zWB3?NxXJhKO|esCAkej4?9o)5>V$#yoH}jdb0hSqv6yL8k{FJOn{&7VaER1AF-hQ6 z;+%%AXbe(s<>7TzUTZ#=A>4r~lNY<0)~LcKv_Hgvh<@2%M)Jc{a8N>E-4NUC5R&Ef z;l>-BnC#XfU?Yp>F8v)jL5{#aLoa*QVFNc%0r+|`^~NI(S*jb___UDasMlsJ+SzZn zQGneX*5fcqnraiI`Y#TQB1E*H*H-xfxi@kCzx#FmYv}iX7~e_5c2~&p1Y4EX4;bgH zdq)wfEzhC2yAm!oK5LCd*L*LK(9edeZ>`k@)ko2IYib&^kfFxG$kEasd~%<8rvCL_ zGZRylZKlqBS#DC5?T=sVdTN%AuEz({w%@FF&2jAd3mVVQNs9 zn*Svnr8l!Vd5E*sqd`t?jjN|#3}sb@K%Gh^l9T`;-dUvukf>40zvF0Oq=DcC4z^ax z#pNcjzoleSo5%b>57{WUp|%w=#%Atnn@M^u2w1&& z#o_fce)U4aFDf9Rr2l*K0O4vgKKX6)`cj-M^6L5Pys z*F5OLfGa*OUc5i_cz*<)rD65(*dTDXbojFS&#nA^6Qb@I2Q>Vnk)BGNW<;R_DScsp&7w@K*#GYG-!90Nh;FbThk#Q^FJ*K@T z3AT^X?@|FfT9#QK&W*{DFJgV_@0adUCbv|sw+k&}(D~3mkWa%7dhX0+v?MMNhdW&j zISsf%u-``D(U?E$YZFv-h*d=A%5Y2eDXa->l(6*(S@%5d+L3^2nahm;5w6Rh8(^)J z&PYvC5$j2F`bE)EY>_Y4Ktic#n?;9Uv(?YRfOR#RGi^5fHeUXItahxwvxiJ~@>UG-^J=Z7aL3l|ad7{rY44+uJd z6CUb=s7j$+JJ}7Au}GQE4+M0)krl&Ef9^)^yi;VKtTaqq`SrVbBA02Z6VameET#2e zYW{QiZ(Q0T;eL$=w8rfgZx%y6^(IxT#*N$_`{w2`yVR5MW$O^Si2_?-I@QPJo?{Nd z{ZLEBi%==HbvQ8y$SPJkygqNmXRF2+!6WfbkH|gc1fLy~{`cQq#wN_tiJyr@kR*n$ z%a62@aNh`x>G!nrs{npi%I-Dib_Mij1EohrHU3+#SXxg%B_TcNbN0PQ3x0v65N8!Yg)g;^7L*2e#AK3Ay z)R{5-WJ~&d7fdeLUHtdr4NmSOqK{5C#PB9R8g_b*HdYdqpf;3Cwv^?WW$BtvMowRS zYb=cw_5mk`qJR8N#rFflIZ=23M@^l755`1S{)+$0>w!>fylMiQ#mt=jt|_%5|JO4( zpU2vA{#YBQ*Eh>Y_X*y^tld%93G2146JZhDL5ZHw6%YzMTw{~?v>Zj6^z+uI;L{Hr z4%ha2-IuORy*Q+(W8GgnC*Hsh?_G~#RT3_X{$6c3x!5G28uYA3&c0~rY0grD+UFr$ z#kNUzV)tT!UcT1sopzp4R!&vl3nar1c1-3xT;+ZbVeE_NumMO<8fsXPmqOmA;cDK} zQBB_6tl=xf+ibFGX}X#j2}Z*D9#pTob8QaI>7LF%6s)=%5yD6g0$(!S|eDj0BJqPI3(jy zLzo>tg2A&Y*P$u5Aw5LnEK)uOt-E&ZtjW#$`qm0)?xvaF+ii)%qGgPE@vPNY&9lZM zbEPs-ID`W)0BZE`n4dKKvt|RcQt})oXKhAmOsD5ue8}~IbQe+Sg{vROen+g!acEN4 zFJtuv|8jQnD*$~9LYWk+oikQv?bi#LuZQ%=6ud<8yPG>(pu;oIv!Br(I5qb1y8{ivUZvIu@mlJ%y_KGe?2Z1VQnW^!^8CXU8$JKtU0eXT z^zKv^2vdunShdG~MSN~q3eqnh-{9i2CAGbSvuwiX{|1hl-liw|+*2r6#gln$T}M)F zxzDT}@REJ5icic&SxqPHrA!)~5JRs3&?!e7Ts4=IsA4BFS;+V$ey#vCkAE`@SfCoY z>%`=dpJuw}B~obBj$ZmB28UfbiQ>*eGLvtlJR(H>+Z#Ysh1l-GHz)G(Bhdx#GTtOR z(aMdKEoHbRAA_R#K!KR`wInbU`-#UyekB8NPFK*us`dd^S_#Lj5G3(Lw`U7Wo@Fu? zP4kr{XDI&yLiJ~m3XpO9xC+dj5od3?4U>dB0aIw6x`&$Ni+T12M9b2`l<9hUNdr|u zG@9(bTY{^T8GuP0!BR0*4@nl_ADH29;I;ygCSNkrA7me2OR(c!$Jb-rZnp5_lSNO7 z3WUE8yLk@tqbF-+hg-P!_WTS5VSv(*so(OXYi$!HNNDzql`sb%ZlAk31O>&p_~Ly_ z#GpFR@8$Qt^nv(^R3z1d42{2zxYFe~9KN3!5bx>$4_#^gB1Iv%^3+Zn+y5>?P+tZ7 z9BcYy`AEFR#!VKyBfU>CF}1)WNAym3FC$pYY&TQ2x5??S z&Eu({Tv66XUumFoI2nJy@=?uB9bY_k!0W7`nrh~Szq{3Fu@};t?mh}io8{X-+|bIt z)sS_FNg=3cnFYPyPSp*8S@C$P!Q5MJYq1l1cJ0`)A(tSX{ixb{FgVWO zJ3VWxHA+b2ya=1<_&yO2qn0%?f_R>U0nA6-P7ixtJfL7=(4 z>kZv#LU_hE629>K4AbeC=?3di#f%y)mznUf)M554w>-CMTVuM-`L~ucYV$R#>|SzSZ2y)MubL@Q{7U=v>sJR-1pkGcSaYcR z$4l$2Vt42Nm~y>lmjM5QI?ZO4p8|37wtMlh%=-J&TlPSW;99ny+6qg~IN40M7y5U5 zpKOGc04t-&+x>m#-LRa}1DbY_m-x9|U7EsB=3{yU+z+KTz=h|qO3>WvW_T5}uG2UFi{nf`D`26{L3A}&a^XDh`>s^2K2HIZl z{=4^YxYyi&U++Hs^R|;@zGuM4{(Dy)0=c+^rGCD5U9&p#gNy4i|FtWZY#xvoC^PBK zL%AGgXjuMuIFZHTj+~HA=W(4po`|W=Jg%xA*~r8Bar1-9gLlWoe%p6Qi|^F_{nunp z6)0R!kU8}3t0J9HbV12F)`#6jKNyPkTIt%jFI=^$#Ft)UT7PrP(O}=Hr-%Oh!<(>}=1l#* zEe*AtFCGMy6lULO# zs{>AIqDG3r)_OGYL~xWiY-7kCpAL>ZPI+@*vL$%YF=%6cXtpa=9zWHcUSyiCWEdkL zk-#smeN_Cy0~PIiUoY+~TO-X4XL@tvlw98)11J2o9AIHDeGJ7@T1u0pEk03FwB?|- z^OfuV&>Jl|+KN!8`8R{mvNbD43BQ?3hISp6y-|awvgu8KX!?(vC0S=Q*Dq{u&{hO? zCgPNn>KEGKeAgThv*vZL{@t;wrbgnnmoHzo$}0O1P?FiA2z8!sarXA$1J*Tl)Pp^H zp2el^zx~K(B8b~(sW)F=f?AuU&C(b9cUztg8VuT&p{znmIQHo!=BAW1Z6&D7{99ge zcY4T{QTp88L7aDKcJv!>-m_wl|6SUk)u2OJt5r;iQn#W+ntuwgmr*GW&KV_DF4Krx z<(WF+^t)q&b-Vs!vWiC5=ZDvLq8Qw+Ry*XMRX3zgi2Udh4+@PC# z{CW91jviJSq`3?>+1+Q_JYP?oddx!aA9C4O)=>&fV9F?y)PP$+;~w*(D(5nSgEDnK zaQ)lqRD-b49kvV#?VXtkcbHwsSlT=I@tk<_zbiq1^3L>2$;?ih%U4wO6-Qya9kDp` z&I_TdXDqb;9jI)s^usFBy`^0Nod7IWr%T~R#unk6Ebc#62vNWp5YF={;SBiLOj>&G zANLK&^L!GAX7WusL_ zNv8)Yiqk0q=cDIsqp=mg+8IvNx~fRE>tzzuJGQICB7Fygb_|!8#MR z*|#XSx|SfWbCUHnrl|veDWHzX`A*RKvZ1MdQcWlf1IVxEuA!LQD!Hv~Vh4|FoM)4^ zM~AbTh%Fmpg)^=ZQrqcKOz7$b%EoATktTKiFo^XaY)A8L9-Zo^J8qg6)3zMde^%l) zgfbnbyoEH*zq*84t)Px2M{t&?EYH;q_wKEC=!PYNT+@JS_+_mX)|Zbq2UN26gITR1J zFJAER==EHabKPv|9QVICDu;7qYAjP2tQ_XnNOIqmWq}hX6mWKx&bFF0t;vXp6C9-j z5?bY;1wwvrrc*zp#`MGcC%?!@2FLp)X{th|8<_82qw_MN&xeG0QTi9wudes!pNuQw zaGJnu#FtCiZH<95)pn{qwuv9cIaoAA0;Y23hFZ|(=QlQ6%&6_qRZKp6M+E-~lnt3b z_l8L)XXlomhgAXO)YJI%x6!w?vy46pw!aad;v1hNrs`+lf>~;rF_hdp+OFrzryBoz zPz}brj$o!PwKk-w4N#~;&sOHIDbBa4IJMk@266I#%~Glm>b9_}sW2*C2U7vewf}ZM zRUHIIB|4O33UgO&_?A5W=!a~e4f9ZsdHt3s4z&@0J2-)yMy8iSK#W(ujt|_1$+!4a zv72)0e~#axQludH^krJl&Yrj=?j$z%UMUV3m(qMWhQE_056J7%*>IK?KbGzCObV^W0gM z&X25qZF!TeX3WZYo{XG6u@J+nDxTskF6rbb%elYIy+T?qcgc`-RQ^((d!*%U8{#xx z0*>saEkN1Oyf8ZaEzg5s8)_7bk{*@Xv+7TnP`f? zJ<i;88qo^*(bf#ZCqxXw2yIhT_vaq@UB(WJ5AzRdNLfl^F}y#CCRSqBy?euokIC&jvnJ_;S>bR?BDcqm>!$ zW_wBy0nrGuMXrYA1|3a(ODcoBg)MHNePiM`OTQ1i1mrl}!La_;M$0VrWN2*ti$eyE ztBIeVANlggfViYPSu@Ag2Lly-9H@o}OdHG%R2h4?Av&n2>Sg{L6%HA)+Fn8F;M#ll zlb0dBC6&xMks}1p$fOA6s;Br&uDIOl?FUT$FHoBoM+3yG+)KKnjXpl*KhNSe*16T+ zAyh1P%mC8fJR1rnk}#eY)4rthSC_SdraLRUX~F94-Q&ttkB){#23=fiW4CwLc(TV< zj-2Jm@4Us>kS3g@bRd4Enjs_ppz^V}TTN}VrIX5;U$u6DB-aAQ(R6WY!Q4|@TDPPyn!>fo} z_YZG>b{)}^A#_4;(c}Z#EBE5KU`RKe|0qD}I#DSA(Yr64j z_o#$@`@|!>wKKX7X`VK~Yg;dAXYo(vWuq;_L@lSP!@tksAD>LutsSCH1vIuQ%0pk5 zvo0o@^2}z*&9xyXOsr26mSV)7PatG`uB1?u$1b&vTYKeOCLJ#O!1sl?@a){8{L*>t z2g9%dnT$-7M`xd>)#tV~KRmG1i)sUAMQtgrut5%N$H-Cv%3 zxYD6j$^3k5Po+2#W>sVd)v{zi7~hQIxW;a!p=SRj(&SUN4r-%o-^3MJ_J1H3gA)$EAOr!J4o~1<~)> z$<4J8cZd8(A4EA<#jCuI8G!bkf*bQZFHjE}dv;K~A70JaF|Co}5xN{5f4~gtoa>O` zE{>CttIn!WK{1B%#BF#i=`Z}*+Zv*|GkMa6JkCqu^oK(dLIv2GFQ;e6*NY5>AIXJa zB;%`VrOds;iV$)ozTog$T_4<=vqam1?``^bKgJl=xFMj`Hn+UWYr%)h?gaGZ#y+&- zMP1+ZTF|ec%ztWuyHSM@h?v2Q_zu}MhPJ8W26$1gBq(wg;INJOulpRBJN6YS*3DuU z9$lTJ56`Ny4uEcyw>p)91`Jukciqz(~7Uhecf?O3`=Cici%ZN84_EVdm6S)wykvhf8opZnCRg@eRTL0U)z%PR6IqH$9 z&vdl%(;ZwQ&01Jo0OND?VA0}F4jJ%16OJ>N@3@`4s%a+`M}Z-=;&NO&f=>(7U&hMf&^5lK7Dc7sZ4Y}1`s+}LepCZq)y1`fQT)Vg0TkCo z;<@W4>{yG*YYZ)eXSPx*kK7&!KsrJ)gtWsiNn+IMuUY#wU`LWQo|<2{?&CH*Fp4@1 z&&BC7O>)udi1zvEK;I=-(Is;?tnX_pJWvV z&h(*9{WMH(^NAZucI}L)?jv&>=@d%(z6!zyp#Uw+(_Dkh?ND?D`%ZlKkj3fc>8buP z(3|U4)4wTs?k;J9e|;eccgx66hW_GJf#oUqr`$!0QFU5?Hn-dCcY&pwqY@2=TWU&# zJp%Qz(@|;H9b*-71Be^mpt62FmtMV_e5n52I~(X8Q(4@?J{?8Bd?>b}c@`T9M)^67 z8kU&18Ge^{$Y@xnD*$AnovQ73HI74e2Fy^bv4iyEeH{rWYy~B>RZDdQ+XoYoo$22& zyH7p6p3(5RkP}W{Ok|I-JKm^;GbwHO=F@s^(oYXrMeeA7TJ2DZboO#<>{R%XXP4pq ziiV~^y37NQdeF~s2WP$1842bY^S)0d8VqPj99pELJA?U#nS^u1YA5iZ28s{osq0^b zQ9%`XE@X0VoM3v&R|dP;_3B-J-d{9puWziC5C# zXQn7~%J%gvz~oW=q-0XVEg3((a@+VdX;0H)iW$cY&Xy^tN8AafS#GqO@!SmFbvJxk zPjMnwVS0SCsWxSX6rU8pgYaW1QatMPyAy5@W?K!61n2L*lzXn0i-%G2T$E|cEn+UI z8o3ps@J!*MCP}ddzYP8QF28gi5f4BtrOM#QT^h;_Duk@Z)laR?3Aa@1R`@%*P3QmK z{;A5-*2K*N+-(yHHvxs*N;MJoP{imuwWxG6-lmk^j+-T*ht5^* z2uv=vvFP$T$D1drBVjKeNZ$7Ncm7X7dz)`Xr77-3>#9vP^p_#zT*rv=4L2V&11@i6 z485&HF~uM0W7n!8?#a*jN2s}4 zYw=2$LRG2ASPQ@n+2r1;o0Rr&9X5{}Y*AXG1)p;lAKWGqKL4(R0mNOb&P(gzN*Chy z?O?KpI$)=MZh7J@60cI5uGQcFGVtqB$3u>MhP1EN`{UCH(6PQ+&k&nS)?JM#h|io} zNqpGA?Yh1?{@oM?|H%s}sxAHILnd91&0Uhay_{@{RQTfSQ9NUg#>&)4+r{?E9N6o_ zfcHR}23WC$NJ-wqaP; z-KG(CaxwhkN^gEiSUz~BIoCuRyNf3NL?6X@cgn zG%Z!h-ui<4!U%E@f8+HudU&&5lF+4y3p%S2-(qRAIrq+z?->&^Tr3o$8_wulE=wwyz7Y6!eGx%_7cn$odSG+cw90K;)CRs zObsQU6{jv`h2W#YGdo8^o-Nnp4rez0MN(#xvkRH$q5A5p=2+!0Q0P{JX7Vy=!n9K} zxOo=~GZ0wqo#_}d(B_&bs+zz!@Kak4uLAT2n^~GoOw<=i_o%^8idHmadjNtPsGE9Z zRDCoc7x06WniIO>`rmuW(0?CM#_enr7}Ryxm%$y{W-q$(WH>-ZFK`ARp;5hnnZWBf z^I4+I-eeeX;EP|H#l_;#mcerTsOk!C4^6qEB%aX%Ll$^>Gx+^zU&0%og!alo*lR0* znntF9C|g%jN%s@afrxW+`VJ4uk7Zh7uhdQ95Ty3SMi!Qg1;$|AWHZiPA7zgJS=Ny4XXXthA6WrIB!Bz z*eb#V{iyJ^rx))M?XjM{y)Zn9!96zPiHq_k>M2#5i~I;NisDo6lCill`;d^|HD?@` zI_mAtz635SN*LP(lhMA~C%2n2IWY0?0-p-`lDM^|y=;Yn-@{p(0ol0ulhJE)-`-kcM`|Mb3B*?8%a`3KO8H%zkE%r0S=Qcb6(3EfZWOjOR-zQqu zBB?b$9tiBHpA-UXd*OHG^3QK9->R;`s%M!Lm)QqXN*v?5GGR;sAW#rjV;@j37cl;t zmt5uWn&qz2(*+|at@-=jt#kLwE|y*?u=i4vy3yf7K7L5uHgFQrQ^teYcq4$O`?{K` zX`4uu9d^_=$HPM0V}>icwnMW5kY!YF0ZgZ*RG$LijT6zzD`2*>2uPD{A(Nn$X zJg5Vm$GxZtXNwQ4BmfMTb5U2%|JN$IcvaoI8^!SnF5x5ZfR=ryprW9_1_)WK-c~Fu5ABa6bN56#K9EWO0u%LFO_9 zv_*s8kNz1D0}PB`@yVAh&xeZ!t{p``Ywb-c-!qX9`hFBc~$?t{y%V2S$g|{pE(pRu2T1-9)DgvyyW&X&jY-U{XcBN%kiSF zL6om>`b$o2WAn!)SQ3l>?1I6*Yl+%tpx3N5oxQT*q!g&gNdLb(R$LtM_S>yddEDUM z`S&aYwZN+zPkXWdXS#`t>*87H)%m1B*)k_NyB-k_&Wts4f~RR}R=rW<*Y{k!g-X|Q z2RO5}*jd_egxhp<-_M*B@am9hurE~knZN=@$-eS`X_LHAjf-PP;*Y6nksFZEB_1aK ziCAG}u=pa0`tH+RG>kaDxix}@dZMWGdRyAWs9ws+ zX-5OH6SYS-t%6u>Z0#8-3}W7K4PtG_+qG7$|FOQAR(a!y#CI+(@?Kul;RtR2YtA1d zR!OJnuSFv#R|idVCoZgYjpFU&b=)AWoEB;eC%bX!<`a!D|93w&w;r?_b3CxVP0FA= zws$X4->Ft@%M~)(Ip5<%VM>jf0M9r6bEcgQG|h>D$ql7tsZrGJCOv%2B*Ms8PnoSd z2Be*iq$`Ehl;HAO|5%1rN8DF$_D!ul1$M>=b1t}e;OmDLtYrt|s~lVF?lVEpn~K7f zhcL@uy(Z8k{I{ZS1_87L$`_4(cfL@C?a(D{RXvw}pD3O-7QF`Fog4Ns@ise2=xr_c zMX^h6c8_~?sTSi03XQ05n^xQJ4n9qsWU~FRr|#lJ|2S5n0$~O4qN3B3aZ0W&heZy= z8exZ2c~Qe4cn0&Kw4!LJ^@|m2k11#D%bB3bw8bw|7GXu%C*mXP^_xnJ+J{#4fb1FA zcv;|hYO^k(vCN1r;*2RTG!Q7iqV zmo0-iTX*D3wlU)N@Td1Oa0gn*#P_)eA7c^SgO8&x8z;d$7o!!S7+>J78q|#P_Z0Uq zew$(iFh+0dYo~ipbk80Zj+-Y@P1ch))VvdvcN|P75nGB~KMBuJ_;NSoGep6R+Gbp{Re^8eJ6WYJU zF7|dDt?*~OQ0DB2Er0BDFX)>Sa|!QE7gxC(^n)qa!#Zug=MZyH(bT>gl$V{yirH&? zZBh50itM!wy^{V79oiJ*vQ%L>|8e)df9~4PklRi5p=n(6nq@<{fROxlF=O+&wW40f zMgIpD`MM$&g#N749owtjH4`2A>h7{vInzUXUVxt6$}G7n?_weOp-U089`|kh zSwi-CRQYJx;Ebg|7gQG(R%ub>wEFIn|6oJSTr<|P!vfK*h(q73kJQ}Iam2BQ#`>V9 zzN2X3qkzahbtzLKF%bMB0Ng}bwr%4sxy6UFViXMjAlrKZ{vc~8cqkA_6AlE&ZH+oU zH+T)CJO-xZSEzjvH8ElApn=0I3_qR<_9dd1g=%R^&Os3(LW;0#<~4ccZU^~bVb0J-uTAf>P~jsLq3vCani)S0=OfgoqJ5`yi`(tuFVon1vQ`1jMa37Ejg7=f8d{ z0!;g^ANb?|rHTgQG3mbGmWRC&NOjE!m#~A+lnEjIG4Dr*vy~WodyV265twh|Z`_Ro zv{HGs58aDaS2P>rrOZJ5w(GJ1ae`k8bKP`kdjem~T+ft;51`Yd?$#<}J(eYWw zT-sI*QNkW_)(h_w#-$KP4rsD5KXQhG+#u&uNFxJ<`DIUDpqc*q4}b8f`sy$m zeoBEy<%+_n>YBstc#g=nw!^$$N=-^>1F@|V@R^uSvs9_v8y(8GOj)CjK5lkPY~+&w zj&}9Cx^z@g%ueZp{^RdZuJ(Q4H%Arh@9wX9d}&XdO>KBI<6`mT?eqCqy43no9AIQV)oqr`hQw?+Nd7)-W-XRITj&xOa!`oqahvje1IW+xcRdpLB)bfkHxIOC^yWad<7(bPFZi!7B0Jgl z!m!T$*|zZq`uhf@i|C=VYwtf7G8Dz%Ha|&z3FvUEeB)N|Y@~P4%RG7Uha-g-6ERtk z>Mcn#G|X0S);cPFcdh4!)h-CqLOsOIL*Jd49l8jXi$>><;BDDny;k{yjfeV4YxR-R8xfG!SuJABK|lSg z@;H-F3SA;5d`bPWG1fjd*AYRy&0v_A(86qAHX$EwKLc=yWozAocltrLB zST%?f6xHC1&Ru`oygcV$sTg4bkcx?$T^XxS`~fY*CCZZ$vzI*;Bqr*Ppel-^nG!a0 zRMAVwWtuu(&mwFmEu6iPcU3aslUdHm6JL;vX&Om=4sRns0pdd9Y=~3a%%G65w`3QE z{F;g}iezNn?8_)C3*O>Y4S~V#mEJNgn%H0rL{cRV&Zc*V^%cQPnvldloC@c{*+K8o zu<{&+3%pGrNTPifbGaajEbo#*+IY9#M!u537 zpC%9!F1`*9VNt)JEfu}t4rMi?k%ISUKi8cl4lUb|ZHgiw8L2G-?qx&7HZ--ygaXDW zZNh6}&xJ=()TRR1jcHaHwmuv}rqtzysr5fLavbDf3w?$k*R20BeZ3-wF%EOG0NvPYON_rRStXM z_p!nqX|pXULZFugjE79!?mp?HJ@4swT5i81nAT)e8iNhB}Au=soRq=nBCQJ8Gl!6wA* z=<&D6I=-*-1hfIkVr_@JFEh{&Cg(|gGs2BW8@_UJn3NbC;Z8#fDkS5O3v6_Xf;T*q zdB$<{T)g;uH~r8?|GbUo?$1~sn@2iATx7r2Q0;)Ad&&&{q}S8lhiA91yv>n4QF7G7 zo6ujK#d0lDbu3pwNw)C9RGoVRt6=ZN?``u~1ZyL7dtmBKRbsNov(n}ex3?vCuimG1 z$#{1>GkQ_{B`e9Hi`J-kdVtq&(b&6YaSIS9^nwVVjRxgKMnw)2qW}9`$)d9cdO=)1{45i;<9z)f}A)8XV#4BUj2Rq?<1)>p_%6 z*XR%5w8k-Mt3p;8iz-u3c`c}2>S9*id_qA>Z876dMu3^W8F-37ZcoK689x&rn$7>F z>YFb&1G7IB1ZExQ(vbURFy$u2r^+mNlx;+79pBV6!NzQh4~KhmmhFavj5R4%eK4{H zAMDU+zwhqk0q*UGXBHc%_KF_udO9LP&^#NVx;_V;2uzrX+O#&Yq$EQ3(YjPYGc0C)P zwQEt4p9)38t9VP%i`meNX~D0{y`3CZkT*!}3X654Fq0CHsgQ>#Yg$>Q@|A6tM^5mV z)l%Rhg1$*OzZgvPwFw`Mb|xS(Hdb2-V!EWY8GDND1%=Is?e}Q7TIRWG1x6hok|kdV{fq=?Isi+mMlaSSlYht zR^$iwf~clW+;}0r#uI>+XB|*1UbYVPK=P0Ut0T)Qu`X>u;x61Ev0p}maZ<`AmULcm z{ZbNTxgiQ!N5hgTTv1aN>{L57&u*M zwLbjp-THCi;4`^h75y5f@{*Lm?8b;_I@7>hZWq^Um5SDOvwUH1vO$|+Y)H62Zedn2 zWa%f33Nq8LS6Z|#n(J^WBYz&u;4Zs!qZ*Kc zkZyDPtKDZ*4RCFw-lp*w6HiVuJMG3gRas_nP*|vtO}fwxt0wf;&Lb+lieq%`Du)}P zJfJ1$rTiToM<;38$J1F89z-(}Q%AS74R4s8o82$=vbh7-fB42Z0QeU$kJG?R11xxI z4D2+0V2gb>u0v+S9|8od8|YXAWqT91vvjrxC1xEp!B!6yc-i=Y0_mJFW#O+R=$ zM+^kHZR`pGRaUkuKoo1y`0I@k*Rqr3f-%~y2@YQQatxS#nVOsf;R7pqX++?boI^%) zH!{_#%y6XL$uL8IkJcjWnYf~-#o)_Nu#2g|)CHcC1*ebwG5l+$0?qM8n)R+7^76WI6uzQBra3}rLWs+pw1;;|V=9!tOM7H+VPI00-?={P#9 zJinl(q-m=fbhF}?Vvz883Xi65x#%xt(_@(-)G8q4m@!0#fZN(DN0<;k_$?!&G-gvn z3Xqdzf*Sy7a=|_KxNVW)Wr@9Wmqi)S)H%7Poj2#rY9yCF9@CP(aSmQ)6uPx={s{bI zlz5*aEQWT| z_OR_6Ui!m?a1le~sfgx=AxF{f96YlGB{X-i(Zy>-S*1c(3N^qJpVY{2TdLB!lnaty zH`1UT3_I0VMDZjHAA~4%n1303?@_8^nqBB-yw3(u2|)F5Ga3=Z237U z)L_GE7vSInW?B!c2EYX|!)EX7N^28wwC-}nW{e2N(4lA5cH`2*!V-mIStJL~n4X*@ zZ?*;!wA`JQG)EUtErBomlny3E>CW*xw)N~!v3h?rc&b+$xp{cHZc59^t@~RHrxbv&oZ{7B`?Ofe_Y9th%Y22lXq7n?GE*4sFPx z1lljP6NhAQ&i7L_vOMRy8Zwb`B30*rz((3~D4N;8zt5*cMcxY^h2kHRMG3SX9`Q8R z0rHNfIx->tv+^s>qv|L%MFOUbD02|p&{QS9g0PhGqi*yK&ZVb%^D#!bM}chG)LTFM zdKITR@#6Frfhp^X8kqM_89ro_FSjpx1a$xl_`5Avm9Uu%CSRf%C+|yEd z#Lw$#y!bV{FYP!zeKvi7nQCAjSxl5Jt6CKaEq{ z^+zPlMC}n&oM*R*stZ0(7FTWmHD8#5X|Bx=iUt&bPf)ngn|@O3Saul3!K&F~PH)s2 zpAKNREgCw_vhuWq%=2SCbH|<4K-c{ng<69FoJ3}x1?Iiga}l|R3*H^R-md@@LW=Y7 z>Cf8F0{rt>C{x>3mB6CY19=ckrkT0Eev|hrAN`?qAiR`s+(eyk{^R5g)w!RsBzCE9 z=EgJ{P$f$QsQ>qv#$*6XY0AV@QY|oZjWnTDz$6X`t8UP}41tn}g5gf752`6g&!)2d z^z9sktQLJ~M)0zI!Gv>{d2Y!?)c1~*33?7?Bsuibf|~)s7jVq6sD2P8V_MZlFJVQd z21Yep#I{!FUFN7;NWsOls%R~Oty4R`ij682bhiCsyP5y&7|Xi(-u7LBpbc4IVZYA8 z)swk*u1fxfnrMvi8-?|>(Oa>Z^fSr@^>UD)^w}o^PK*_+dsusPZ=r?c6+&YXMu3b| z>ltKxds9|c6Xngc(OPb;AHi36L(a?-aS3;bS8D+_6t(q08pfP_0$W;Gj?w*q#1=pI znoCBbP5|M2!Zp-bp8(5uD6mwvfSeGVdE^(b$l!u5&anIEdg>5IW{=3nkJJJlvGon+ zp7?O?0!^{7z|wCc>@drMcC!VC_<`}?Vp;3X5VRNG7Sr4h3*tcloTvTchscFt$KOwp zOM?Y(=KMn&V%?PiQ_Jq@8vcLd2pJa;Wt9OatGM7zSvhu;xMZ3~Z{gELaMFOW4+VdH>yiIiR+ zS--K^R)rS<1bDNhwA{g<{>t_apvu6=W~=C+^Q-TO2XkB|{_i$)Ci!#ZZ8NIQGaoJ? zBlAqOT#WKlS{I8sh}E?&m_6F1HqFIz?O_KG=H|Rk zvOaGLqbN10tO@L$QFav+*9|^RN;ILw)DO->z~p6nErxyHa~FRzPR(IZO)9yOzVXp~ zO99|ZS?lu^%^ZMYnbjF%d26DD$-BK{YYVN~{q$jnZYVHvV)CqYe2HlqOX1aK8|i)f z>SzumfufyuGkxolGhm>%^8JeNqd*Hc`kH+dALh}p&L8x0uKBSb|`BDH~Gk%N-`GYijE*f!j z?(10^d-Mq{0LYTxx{G{+$ZJ-pZM@dpw*gfZFL^oFJ2c)%5AEOettZ8=6Le1Q4inI= z@*B|Bv39c^R1XPOm;;kpOAI;qH*-?nw<;DJSibTj8q57W7`THv13N8)Yh%8=?=#M_ zk^0z^-GPm~Bjh1RC9qw|Gqw=hsUqUhCd%R@nu#%&d$n=QzJ@yXeTKa1Udwn?3jPR> ztf{A$Sy4mWqi%?H)G**?@k5bC*b4TtvlJg{^U23+gtc)2p$t7{!DUB-qCk0oOcxJ_ zappvPI&vO~{rbxeyEq07`Y3R{Y7u4CR1D5aIOyet|uhe|s zaXvb2Js2L#+2hdg$yj!w#e&^(@|39H#IW94zADT|!Vx{BYroZd2T>-Ub^e>gA9KwE zVu}6xM4MRK5h~|5RX0B2a_h&Vo|Hj-SH;JQK`XTcRkf^wW5KPU{9M-{pTYRtfUjNq zFe_;PVAd~m zv|o2=Z<;s>80I@lOP~HRJT(wlW0}d85v1fT%{+e*fCQ{DNY~Tek>SIm!_}=biMze) z!J2+N*uf#X_Jd6?=h&xonn9#AOMpvmrN!6yS&8D_YS}6Wn#df}@y0k?kGvbe=m2sS zL!WZ;FHK=Wnv%uU{lLl_@9n*E>#aDAWMb(p8wf{!J;0A+wIVcO(pq^$X2dd)-By09 zE~VaVELcDnNmqX##S&M$Rp~H1VREU-J?=Oo>Y_QQJ+|PHb(9*x9k4*(* zKFtA@3G5}?d6<0xvsizX%)U#h>F2QyKKhoeC%k%N!K?QA%9JY)i)G3grnaEfc_|R9 zQky|oKhK~8^OBw0w8<^bnS=1O!R_qnlNQ6v%0JCJL|;;w_jB#v@sA#lzbU`c>hQHy z4|Hx|T@_aiP9A*XYg)z~O#2m*5I?ao{?{6HC*~`ND zj8SiSugp|JaRI!w5MnZu;@nqMjil}YiLVM+Wo6Sta#IX=G>PZC+WPg%H^zgmgJ**p z0~qIYJzFrh=rurGMl)cpbuKIl0v)wu21-SB#*xf>Hd=DSFK#xysq7`km{MXK2@tUQ za!nU6NN^bHU!3Firi9bjILNkdW^H;n%ayI$?#Dv<*oEfNRz8__UsMgZ2aN21AWZm) z__uvw;A5gy#odtK5RFhfk~QCQ>w2Jik4@3cy6X+o-_e6@Wh~R8;EiJ&ZkNxkH(ja8 z-);rt!r@k>9|fvNB4MzVzF0o4Qr)8-7vt-soqrH7?^>-RI1M1mcU^=ab`uhID$)#) z5lGoPVG?9v&DKlZ`?$Cq^?6la?`@WaZXwEd7h0YW-Sry!ZcI%8l#PET#N`E9I9^0R z4BPI8ACGlIUKeSNR^)oEVVSW@{VJilzE^JFjjY(o8hpJs%{=cIm+!zB9032&8k~=M z$fO|1^DinLXy?LAKhLL_bAZdYBf4jF5}P=b z7hDak3DPl*`Q{8K5E_S{JC{35?B>c6fgk^sTj#oYJ>##G``-Vp zCZlXc9NRc%`Q%7i5pksJ&p~9KwVZ*P%%{cLuE9zALEg_K#{9R%V;iF)bE^*i>hjRc zDZw?d_1|6qj3DV-;J-M6r$>|L#FQH_?Fvdg!{BG^g22n`QMx@w|4}MQ+KS2}Nw99G zN6$_k6fvDIbTs@M7oaA>tNQ0u-o5?{HNbV?|9_L0Eu2K8MgZ~g75AX2`Hk6u)QbO@ z@)=9d;-#zNR@ut9AW8cg%FPc){sD}hfW@> zf3*LfLcXiAmQ91xyeJ3}duQ_Szr!RI`jzzvd8A|CeEKBy?=Vt^6sv4`+(_-eO~pBX z!C(G*mYdOkKsf$J)%@!I7k=i?TmR=x|9Kmb(nhQ31S~ulY=$JxP7$fG+QCa{YnaQ% z2_0bNvpONmw~=T5nE`;_$%T^&OXLf&9Av(+{^mE|YYU8~yVT4zj6r=+M|td6)0&8~ zv80};*gg|G`tsSn@db#%jwff|9k^xTN< z#@v<3EH!ADCDEzQ$2S7Ak=^*?7Et5&_ZloSN~RXJOf4CCu*dLp%ozJgOp!i&Yvt|M z7M5M}eY@Mfs_ZlDgjSgII)^b?L)F-%q zFTLN>mYkTYBGtCYf%UNrUHliLK`R@P8`)ID871fGJpd~G&xaSN6sfGC0AVz{M5W{( zb(U*gz{ascMUZ#P}~53 zKOzqMj@Gpzcu~ESFhdRtFjHfSq<^bnuF`TRX#8SYSt1Aip@{Yu?YKUs!~sxOohLX# zT|08#Y<-}@Kg~I#CqrGjdFjn_YqipPZ>*M(;VqBYF3E$6>zfS#S219?OP$v}7 z5JvBy%OuSQlp&hNC#wDa(C=%LZ@vCr5&%g*>JjM{JenAJ7_|MsXtlwL55<>WeI*g6l`Be%-sz_{qt#gleyWeX1-c(i?ZDUU!E0A4h?D!7CR| zFFn#{YlRhAr+W>KJYN|cI9r4f^*7bO+$7c#Mb_AktZCz3752zdD(_}T{j5#HaNaNk zzQD$sA^yD^R9Fo-B9kue`ql8i4!AoV03XMnWdfz0jMxMvYc&&-j)YibKf@wVPbA$a zSTHhO#5GhErQ+1!0s9daYn0^uF-PA=KE(kwb2goj<>7ZFCqIgnk4*?(ASVY(1f`ia z?TeaSDccMrNUsTbSm-iu&BL5qBA~q+(0mHR=8x6({~~VNH!9gG?&K=Gdosdqp>1bI zf_*Gqn-WIfAIT{LYVBeraxYoKQ+rFx9`^_vMY=UYmLC<5Sk0*geKf|S9rBIDv0!CT zDAIWO`zlS-_qkqf>+dHUN|wuV2CzaQrypN7*0ZRt5cF~kilXOiS%z zf>iS{nR=3VA3z#;Laiw>> zIt5|Wu%%BBa_*Yxw6HBvSu_4H<>c8zkBbkXXH3XP7KZoVU()}_bYDJ z91(sqFgr1&oD~tpc`y0C-OO5%LbPpx``PcYD=qDo!_^m}5?e-{0XYIX>fv|BQOfwY ze+6!PztL*GpS`jj7)1N*mGI@O-o9hp$^Blv$l~8pOBF z1nLojx`295p#T6;5Rd4|5syEvFDt4RbSEN|p_*QG!}=|le5g2TZoO~Sm;|ArF&CqO~w;ZB1$EBQMqUmVrnZ1rBHapb-tg6R08*lFs_HcZu5BctBR}W+` zjr#PP!ppxf7LKd=x@l}p9)E9ua|f8yRvtGNWSi@dBEtWl!mSe5zVLl6&{o`KdP0~= zysF3v2Y}xurGUi$jTeJ2^ZXJ-&|;}~C3$C~^y2*khq5;IhhxRvp8E;eIqsa>l3f9x9oV%Ix%zHq*%`>xx1msoCA#PSdP z?JqKAzxcIVQ7A;);h`eI0H{lNRg|>6A*S*N+hKdVOm!w1UdG2l4>QZRB&!3B1kyYvqsetOZ}4;I;qe z^Hl4MvX?E3#`@2(9DnQ%Xb4~>KbP88_GH^v#^OFjeL4JC=I^X_v(Spbrkw89)gD7B zN=G;NsB^}a^pXC>Rt}c)-uN**bD$)=CWqFH_wR}tW5yKnp`KeK-1EFH9@o5Y5+D(Z z|1Z*6{hq2hp3tq5daGbrKwL{(b`W9CDK2LiN;Wvp6+zz_q-QpHc@MUI;M3ak$_TMI z)}ZOb7(}gLnQi)|Up8#k4~lA^5Bu?|GwZ0!?N1i5O3p0<-?f*5x8HIu{b<8w>1rZ> zSh+@GtO5AsWZ6`zNpncpx}Vj^oCZ4BsT3&X+&{pp%DMpJYhZlP_ipE_d7G&v_1~PX zej;AUx_Rx}?EcJjLW^^jYpLM9j`3*3t@#%1Qx~O{P>2UhBMs8*<_>3nfa~$Sy3C?L z5jj;Ki@uKM1kdaXcEig5SYbce#qs`GP;Q7v) zw4Y+Vp{adsa=IYs@{pRjZo0f()s)shR@<+UAY&8kth_I!r2~_~%qaF0F;wqw!{iX} zPn2R_QK$KpgE5IeoKpm=yb&`$0E_&B#D6l?Uzq2gO@I}31WuY#uC8 z4g7e4{*6DsM*Bj+0FLF}x$PATe~Z|<@TKtIl{(LwWgW&0H9G|XCQwpD&E%*H>3=o% z-BC?tZND?)IKBfaIzmtounf{d@7)F{2uLSX0SUcH?>Y{MfFKH?CrT(v2?L=>C{d&c z1R`C!fYeZ=h7cfkAJBQ<_ulVY>)y5Q{l0ttVsXyd?d<(LzvuUq*d07S_=X@#0y)J= zthOLaIgZD)4WFoOh?#}@hU4m`jJjt_@`$i9r%(FH9lv8 z56q#EOO9~1R?*T%l4Z~Lu9Li zXy}iTy`eUK^XsX1ZNhi`K}1()Z&UMmKAntMg5PpdqP?yv{X+0TocU!=6VOYBYWVs2 zuRCow#bKJ{(OuK8Jo}xzIDR`tTA@3DhrY>^VuspX*i_7_T4QfwIs0t}=3oYCezZx< zC_2&3e{Xwf_DQ9J#_o}$(Szm7PjB@bS_RNHW~bZJ|2bz%c4W{w;&!|8&GRyTI}MkT zt9rIf_qIORwb-l2XTJUC4157Xp`tUSTf1g|tWH4s?`~Rca_skeU#1Ypj9)pG_j|+u z;TWf+D1BI~_)>Ch*zPaE$M>JO%xTmgG4SWjN+$g4Zsc97O*EbRhDh6h#KArs#1TY5 z_}vIP@lKj^;COxG=P8tkd4e}6th9fXS^9>fNJn_Wqy*lF`O&#LV-a|4FAL#kNcP1CEjqpjU!!}y6;$_-&STYT%OFpeG=FQ%3v3^Gg&*H8FNgni z^X4X4EbelbvGaqKj30uT_n*1U^+IfI_MMYvZmu0#HT;3{L1_Goj{if$`~S+p`L92! zXOcOV{Xqd2Y@CPxlhMFRlhL+i)sH8j(-lGkwIE7m55`pXBP(*uywb*Q9a=-E_zLe$ z@3rZ6$KgL)kb72ZvnV2bKa1Ehjd}C2nEN`b(kR&3dg44hR5L)a7K@={tCM!=pNYL1{H2o*I~2Bl>Kj3DUnU!Dxp9DLruy58 zePeN!MDE%ZxZ={NLM-10q1`s_SM(RZBmJ93{S4!#RRV3oZSB zKY;?h%eamH78(Yps@St3*I;mv%tuUE17S=1qp4w)BiXX?loh%GBu>Sru6r!U;fUu{C6g*{6Ei@=_4IK z>lk%OH(IXvT4`F$BzE;S|x`zxD#;m-cT**C* zG0y6}2UNrjWCppgBA@7BGnQ;l83s&HEdNNRPT7vpzA{)i}eLjQe#*q6n@7z_fl zvt}{NTlVwzeQuvpSTzO7tv0}HQiSS_Nb(xedOemNqlB%`)YPS4P`LB)Y0r?Ss>6q` z3G&t;!CBFF-ebv9=S`Thd>C)T*lOveEyrJE~URduGOB^YhF1@|4CL z+Lvzfv$nZH42r1=)Djx|vdO*IHo0PVAba_*gV|bEZ`_JzV-ul?;Qhz;O5MpYB$TlUfHQ+zt=meo{E&Ez~x zXvxA5Na)Y%wBH`wJ9NzJN?(C4BV&1P4*}(<`xr|Q-1`;+3^OW9)ZbPmcm<6D>4dh> zP*kHI7yZ3Ic(J__3#3{z_Cu~t`bkKMKU;Pis=HV<`XOH30hLU!r0$B01pRJJ?0G}n zo#?23wtS3RMq;qa#ee6GRBK15rCNr_fueevv&1YZAHH|BXPlNSsd3Fo%9Iy2M+KDt z4BtV*ajZX4y+EEBFJ$7*W+-?(RB($saJ}V?;ZU6&C|jkbg|bH@e8%<;wNQCNwmQF1 z0O+cc7WRJo;!;1pTimTP_qp_&VlrB?vSnj|!{_0nxX+c``@7?AmY9oA?uyDLkmu#_ z?kIk3o}NRZ$-<o7@CHKQ1xhQR{!uEpju@zI~G2Ju9_% zJ&v;zmWCR@g+AH}=Fmn~`OX@S=6I3w!VYrlE~6lcz1Sr}DE2KI4Jhzds=qlEZOKlF zNVbk|gKIS=!5Vb6=niPIK$@#fu2Zzr0>P=`mCKSqDlYb(TJOhk9(6^(rB*l#1Hv-C zKKl1>Lp8weovE()1kk|YJo~}9l+C-p2!0vvHxkJmL8t$c?{YznY9P{@tih5VHNyc z9QID@_bq?*>GxP}r=ejfCSHlKC)uUlzq#4?Ee+FphDZXW<5Is{do0z1*lX!kis<6t z5$0F^ql-zgHQmQ;hy)anmQ&4@ z8TEDsEu^fnzwPed>jf~>p0b%8)oIvP_Bx0|*e%%A&jDqk$ZJB znxaX1FDG#C*F;SU#kvP=359)5Lw|XBKOa)?-M;nLPP(Lj*y;uVILB026aw#~wRokZ zec!$~-y)?c%eB^MGWw4_xU$C5rXh}2_P%2I>(vl*ghSVXEP6^%)ynN_xMv@uE)57= zMQ6EyS1aNck0JQ5G2gA4_nC=Jq7ei+j^ygdycik=74T|gQt4>T5>VZ7#)7fS68ZaB z_?BpVvjNQ4_NOGP3V6YFo7}^U#ZbhX0H+Z1!5@9Nf`4g$_~r67c$mKk;NkKYcp>L;`n`erLQse;wKA{1BkzLl#hfnO8j#h-KAO4dR;fwc zwQ0D#T;Jw}GdHev&Wa~FI)T58qMY)y@ZhZ)hnb!m(!oC+oYnhJ!C5_<`NP||lv1@P z(J(fNBr)XhpBd#JA*)MLp;en+7BfpXl$eW63cHeh>hPz-tGk_sxLXD%?VS?M`X2wo z$NK72a-VM-0pkEX&;=eo&i9l@JbxF++=reofe=tBu2n@p%TQ z{jGNYkJ~AM>z}2R^|93*7~)5GXM=H2 zoi1TZCI&&Wb|~#()nfBDD=z%lEF19YL-x9Y=Zlx0hq@pC2+ngXcK77|%Dn*K>D5g^ zp^<+mz~&DYv;A@XQE4>;rAP5+lOzxOP%5~T#1EbwxSjGccZ*WxRP+raPG7f)OzQ$P z%u4-kCcy_3J+y2(1~gw>4bsB7W=t7WT2iPRkq(*}u?iF=GA>_R2Z(iLicbe^wz*jFbo(8PM-2Yn zMjA470a3YFH(JTK9Cl!}Lv3u<`f|z~peFh3?5e;uq?CL8myEUwm$8=%^zY#I<0{zN z^yzeu$qOG))`*CKh^FR^*;Bf*Rq$`?dwJ+Kus%WkkSvHQ5cqSC7H2)ZGgOIO+|JN* zj91#e3y}s_zk#ohkv+aPG9h1HWgiWqmB)3KQ~I&8qw^VNDX-6Yk8y&km`c(HyyhUp zQ#mhqbIB#-xNf6vh_oSym6}x?AyfK2SVO7@A3%U`Z0~iqL;mKL+5G0g!cYu=ajzcL zj+T_Anbp-Vu=|fDc~^XJh9T2sJX+4Iz4b&PL z+yqM;4cWi)R0DDwNMWAP7r(C92~?d7LRM$U?(++fuK zV1Han?tCRj4b^5TPpcNIru$Qytr-BOI^9zgB(G;E?Ibs21$cDHGy*-4BXc_bQ}y5* zmbn>T11(N}xjchp_tb8Qk&2H!1DeAJQ0J8{D-vxc0L(|BCz-g{r`Y5G%B$Mwm6~4! z2;i`?`mQT=t-^iiWKFDkM^)RxC|;JfjVc;400@JwI)e{nt5V)y{@WN}A|}B}hQp5A zcZ_|EZ#JV;K!He|+IAXJSyVgR2aLCyxHv(BSSnD>24gTmi#*DcYT*D>FNB@b?lzGI zTI>O8Ot3KFJMr-q;bYk?e`_CA_u;M53zY}5X&!hk@<0ruW^rM}^zOY@lrg5={Ap17 z5f&~T5m~R*o-Y&#rCOFi^*Tc=(xPA2-%c(WR9y=hooP^y*)V_j=*dx?HlLv@L&eX& zx5={K=0LrgRu+IZDXE8!9eEBMY$@6)QoOVv@Kv+8?u-q6x20m~zq}b!$nNU&09irDG!3f1edFiNuu_wZJF^kt}L`6PJf~QZUmXg@%F(B)rPHe(mCH58XLy z81J55N-p}>c3vmdlRynP$Lp!|I@nv?>b)oy4cV$CfcNE9i5c|^Yj(}g=VAdoB!#%U z()@G1!v9h;oBjDm1+TZ6#5%<|CQ*#$RjTCZVlN+!aZw{qrplG~`#A)W54yr^NO$LH zfUU9)9pT6lpS<)1l*+5S2fT^pZ|iDt>KU0TK)hC|vbCov^UV;Z!1@2W6q^*iGz0|M zgi|U(xyWg{PBw79ECZ95aL4b7WRY5Kc?-vJ?&wIMmb|C6760hy+VlV>u$+n2ljWO{+iRE(#{&%cQrm<3ATI+rCDw=Hk(K# zP-I;-Lvd1qBrD^1MeV;Q!NMd-HqWf)#XeygS4WhGPt!_0fY}*(GZ1?fBIPZv?HW9DXuPLoq=; zjD{Uegyfj-F&Pc&h?R*;uDt;D`%!-(=5km>S_KnKU5w9Dnr{(J)coCYd56YqM2sIi z8HbTOsmoRCHQDw@aUR!P&zz)}O&*1Pd#enV+Io%63UIBqy&m5LBA7#&W*YardK56g z9`YT)JHw+9XUvWX_Y^;8|8$B;33xugYxgXE(nn`dE=R~=Q9RQVLKXjZ2X0-Z5cK(_ zMi%f!NBwe?<2TD1pT~R$B!S^sNEvN0hN_1g3g!vnpZj^bpL5e*q$1OT?nuf{CfeEA zO>KFHaj;)ZeTJB}Kb>{@<<)4`Kce}gpWe9N5E13*Jk2F|u60EI+=uq@pEY>@c!e}2 zt|5qh6V?5QU`(jHe1KJPs(+J}%VPO*$8&0k#}7Z;|MQ@F$!`aY)r|w{;M~joaGU?K zn@z9c;yPSu(MAK3;igI9pX|m*F`<4+;YwX2^jZiCg>Vaye#30mEd@J}TXMBA3A@|q zfn&`~#TG&<1&X;`x|s_~7t2p&GO;mtx|0F(mo6Ec8=$ zo6XZlTk3XtncJ@NKO4kTv5|I*Uq+}hEZZ9gbMJWKWu3B1v1W8klQK=r19EJcCd&J@ zmt?Jpv*}YC>6NZr>lFQc8!3Zxk|3t&`SrFRjm;#9_jaP?9P!9JDOGYHXN(p`v(Rfg zhT31=&%>tyyr@@;Y5QrmZz$J3Ts2T4J*e68p$N(9)0TeVV!i`IF1x?4uxy*si5=MF zQe2bnRd2n`jORbj!mW_#yELHqqU$TBRu#9)!}Gy!VK`|cWVIzKoPiBh1vC4+BL)#j zb?Zs4i-e6SyNAN0iHBQ#m7<~=$&HVsSe=}FSHHZjxnF=Qfl-5}di$M=F+0!G*Sv8A zq-}R_18bL@Lw&ibbI|ewR-~n+MkytHr+Y_I+u9+P5KLLr*0$D24EGE?MxGigy&PB06n^xEjEX@9~}m?|+~#FDb4VynvGQyP^ zctwW3S9Pp8zp>Mi9ogtT6)~PxPJ8ucOSs`5Z)~rdvO0?|mY+~Xx5)0+)GSpDPH31m5DKZFJ?mHoRDMm+g#mw=3 zme&wcXY(Tv3Yz&(aqnOTM-8xu6fV`h%GH%K{^TWZ4FA?89m08{b)sbiJ7XQ>DVNPj zZd+8k_-h32%>VkFBaZE`{Rmw#Q%ZrO8M2g|;ui>`sg4!#m=CbC6R{ zjwmY&@_cu(e5PSyJ2{lvx|4BQFNveQe&PBu)k=w*d?seD(yn7TaLTt`<_N!fSL1Bi zRtXzmb5?S@CG6%MycTZwQ~w%<3ltgw2lC|0ho#6%pV1&)O=#6eF@gCAY!^;$`F+G+?egm zC0BRP{Inh}Dw_Vf}o#tE2 zr13ZVdq4%mNBp9nqP$Du8RW2p!IVn*MdQ+V)n#(Jf9~#@pY62M##Fu(qs+p2coys7 z4a;{%yvYvzR@huwuN(oSA)i;BI>)z0tuc6LkjL9^Gs^`JmqO zV7Yj}aseM|o-RhjKRossugcSLDGLJ$yC-;Lbms4m3dFS3XqA8yjwDO2t_p>VkRQ|g zMu?VrQAT<8ux@ee{X&lUU9j%=S3pgiPIsG%yK~EJYqo~Ho?2Q3G#24PWj@PwqFL<7 zYRqfeq~3h*W6_e7EIANHFUUlkARvgT1}fYPqUoLRztVYGUEOSVfsgQ>w5?^;q_||x1hX`xN3)yWQJ^CQo+#pJ-H=F zjE3w9kOT(>NZjT%cdu(CM}RhYZ^t@QhVimPHTEub6r>ki{Z`{_zG3WNf^p5ZJ0;vE zy378h4$B$?H8d7kB`T0>re9S@PxckuHNmiPHM)X#a?fENAuh%S-F}}MNGF2UOMwC?kz9Khg!`%KE+q+ z5lUZ0^{b7u=NLrpsR~c2PwdOGne_U?3%N3|i#hXf#I_HjP>H(3d~s8uYlItH zW>yuXEq|=+2CLuPg>578EWuIT4Z`E+?jJT6hcJvvcPXQwmx{`9(`ONyVgY?Qu%-?Hcirgv#BvPTN)7qqu&8H@1HkF z@v_QycRbOEAY6e2(%U-%Bso##GEcp_>Y1WS?KZSoMF_xU(7m#Ql3xF1XaRKj!+(lU z)DapQ4izDd`3tG4g{`XBp@*Ab5d-0%?63kPuw^Ef1_r3O8U^}b1iO8|cAY>v<72%m zs6hJO57VeC(q8wqk$E*kVS|Nu8N7R6T-~ORa>L)>Z@|A89#cplWmcXG$6xbRfg$xy zH__wyY0y*TYJeIx)a+R$N_swZ)&1Bb1*H3MA-*Uwz58>5+~ zC~to{HRZAgbp4+5{@dl??IMfXT=>H!w68VBxA8d8`j#Or_V11F9e6*RD!?P!guSNH zqtU*k`NA+ix4;f9QKCdPU0R5g6*UO>dX)(`sSJ7VOQMGqsSAs{`izm);Ri4zV_`R8 zfw6VD0&K&=ndc9Pn5_pO+DDP@IHnT*67>J}6(=V@jN{m1jF`aR{JD8Qc_OV_qG|tzTs|Ckc(dEod zQy1CopyDe>M|(WoZ(VUK$C;NOjVTq)Eiop?oD8D$dAtfOqLS)VRrzEPTMPI}nmTi% zZ&4k@bl*>q07wP|RwNzPj*XgM&Nxj2@Wn=kQg_4*roUWQ3DR{MOOAxm?|`0Xl-_(! zh-|i7*>l!2Za<}kN}AD44RUDnj^|c3Mss4PY0K;ggBpMUi}^aNi9(azMwG;IiFciXm{8@@SfE5IJ3IjRS*9S+xBmWVqzmF5*W4M zxHxFE79rB(J!6)I)bVWC;R(qtddqVfO?-m#_T9CCTKr66zuFuuUd`6bA&TeSm-H|z zwD-_rH(qu$L~#fJPuIrQUfOKQ#HT)LrF2bhS!}F@vWq!oQMIkd+IaB8_@g@9lQ~U;-%4kIftd1Tzf?9)9ATB z-|J0hM<9HEHa)NIZn-%kwB~J_X6O7@1R^#~h&x^%4x9Ec36DT*4@eJPesNl!{o31&Tu#tYl+ z5;Q(p*+c^;8(23i{bo#d*(=W0M3U{phaY4`>ZF1L#_ecj&3n;r_n7cJw{~m-m1K^; zY7-5UFH&*JZY=ONN0iKU)B7ji^cZlu*il4+Y;1#dxbMhKf3!PZWvf!M&MJ zLm9|loHOhw6DttHFtwQ!Dk-k!d+XA+ZZqNekJz2xCG-bS+`6|Ho*^8KQq)>{$JBr7 zbqyGAT;0wRi|P6eba4j`by3KJ!s+$hsu|B>C9ErsdB|0KPEZRR=z)uu3TEb}z>sqy z&y9{nAS8^uKs~vrW#_-a1_=Ti^w@Q0qm)LLbG0h!CB3}rWo*ri)oox=>|0)U3eNxw zp=(Ul+fQ&j*WV0H$1_s((VW#<$NN0BTQWA%<;(jUT__$;%C52onpe2D<-N$w0f7xW zRpT{#xp%F6+Z%RFcl=-MyOiIWN&*CKuZsZ?uh0TW0n-qod-T+0@cnll!TQk8MYeeu z+H8~}wFf4AT+;p4HmK-T9O6te4Ecz~f1^sKL$vQa=WNqI{$*^_!pq5Ow{Mj%%+azp zYfgJ5xig7@lL>qLM}c$aqyuxl;!@gxr)$@SENaTo(#yZQy|NF6EO9rz^(a=lU#51= z3PS-WPF8po9pa2w+_sDGrN|~8z>Ye*hYz+EF3cGk?(?x?eX(>)iDIDe;lXu&<7xx* z(k}Q8<>274_bUs)R&&5FV}@>f7Fkw?-Jll0kY40ZuIHAj0^9mR+)5`*6K#PB!+~Qg zK4eL1=ChzA&n+vj zwu7To4S}oz=LtoPsmBRM*PPDjT}XqBsa$|LUO(T*9Ocx)p6YXS7QGHpw+iCxNvUA@Q)qs2=%fZv_TT)ujS;jR(#D}8g3oOin^ zS@MMVlT|FhN|Ym|x5I~LwpNJc!&{%%=eh^>c6nyH)$CZ!s+S>*cn5wE2X*-yW&Y~{ z&;I*Cz{Au3pKjWHaKLbpArO>TP4$KZ@16DkfNa=B6RWY3kTM6kC)RbgAE*pZdfWoD zb5)4e9nJM{_4;-I zB6MfawR>6Mt@~@E;H!gQWD9rjp6+nrCz`P#m1~z>z){+i_pgB=&Bw-!>!xSW;qRgTC3px0fLiOmm6hxd2A<))N8`u_w%{-9u@n;UI_$$ZyeL zri+M_TKed8kt zpNGdWM7xLyKVuzG@=}WFA`rLknMF*mHF$!v$QyduY|WF3uTSL|S=zv?zmPq4?c0LY z5vH+n=Cw$-HgD(`wLHfF^e9(im`E-!u9?ZMhmAI_V0OugDhE+u_Y>|UlcJ3y5Sa;r zr09mop8*@x4xJQs+qr)fn1BjZg#^@*>fB^i7nDD&*ysr8}Q#+B|diBmTkB@PJ75*U- z*dVrWkWeCQK01@ZAKi7*`ZeeVNI`RzJ*Q=Aae~f??MvkLh_~l5N^-iJkJEEs!_&Pv(ggoEC~0=sk5wT3Iv`cZQRV z72ul@#@m|Jl}ee~?oF4aVzHR=PtlV==M;p-ofa_3z=t+>tge)SfA>P8Q-26XC&!HU zB`aer8IzcbTML_}025TL!K7*(%zkh5X|D&mw(OH&-_aQQS>>R@Df)7;Sg_-G*6J2e zVDb>d6k57HfTz4HGOZ$PhUQ`*DERgUsKIsA!3LINQV_8eGa|<9WMgci!nV1v`$}n< z+Gdg%&ypj?%pwwyy(!(4*usZ`3$gF$ZkVKK@3pk=hW+AXTU&P3EG4we14A?h4c;*X zd_g2$YzS&)R*vO${hloOBCTX8M&xO{$B-Zb1vu2|I zRIj$d+3+u&&227hP{`KXDo`Zow2({6F<;GTU_d$-KanUjvO&!+?Jn6y-zD%f?8j-G<0M=aG$2U?+us)abqStQt?_-RO!SPICW)n z8}TZe*Fh~ke;*m8aI+Nc44-Q%y!Tpr6kTG<*1hF@=NEj)pL$E(cT29u>T7A_x3Y)>V0`{J@B=J8v&w1)h{P@5)imGHu*CEZ+3Z-b%Ti%pC|Y{lrY(E zamkUtH;n%I+LXMwz8l~x2VP!#1gUpCFh7%xxz63YF!eyO{c8UhJg?u%H>-dudaC^1n<&l&;T(1la{y z)^reS_K@$RaPvKF0BWN~{OIdD+;io6*=h+XI7<}7+6KN$wgS|Es7%Hw)wI)2##~dV zcr!Xipxg!L7BV-rnz2h)-Ry^c5H^-6Vj%EbuJRJF!65c{Z@f|{*PzL_Id0?V7Ft;u z^QFJ3c8IN5xQ@X;n)aAS2T-3iXO#jR?;Pk>ssA359*q1yH@pACn|SejELPII&emv? z#A7_gBLh8!y=H^jDx><2DF*AvxNXNS^ixUha(&%vH}|$KudY0JM;!ZiE8GygbYCw^ zj2;gJ((?oR+UWOkKqnn*9&D*zcH>^B$n!Ac+s!MGfV}yD{Q@cR4wFgX^Y16_Wwxg( z7FT@L^rhCtyA-DndqC>4je@<*QMgtj7Q9}<*V@0+kJZ@qg#g%0j+bQ$ms|jU^-gp_ z>odMq-1^udU!cVox|TzTAvpfYU$pk406g7eDfO=7S&jDZyn*>pO2jCoY6E-c3OiEN zHRN@TA26BEcDcA1r>LDQ2LdxhyS%fjn{K)EsY*yOaMiGF?H99@T|Bk9j4^qL=H0CP zi(pukqW@xt%3vkgS^^A3%oW&we(#d&o&lg+7vc)6u#gjD+nZB>sM&fNc|n+z^(y)& z9HGfF2z0r9bq>Vgn(Cf1Pqp41D86n&8^;cWflsH%H6|Y)0;DDknQ+`h2si_th;3 z&j_FmdtpwWhjsJWoqAZncS|t7c5R6vI&a%xQh3B45Piouxf|>fY^BV0OfQYCudQYb zxnt0^E7L=?#_8;DLe8+|jrt3Z2iqae3LnV30XB?I?(7}ToV z8Rf4-N7j6aX&~k^-YFjFlNhI%_G~qMv%X_FVp=gp{5Xhk+T*Zg?=;>PB87>qJepbo z%#C5X_0B!Bz>d05I=zM*pgb1|9jYJRYXhzG6d*^O?MTs{da|Wgue2~bA->^{Ezq`$ zbgK(3I>|x9%6CbChey-K4=9RzN7|hy(jahvG3d<~i+Lv0irZ6pD8*?NP*PLJPqOWS zFwTLp&lU^bPE{?FCcxnVclG?hxk|gFZk*H23c%`!eQEwnF|Ay|<3Q=JG}e{RW$yU) zvRUf=fR^*h8czeLOvySZv<63DP3LQ1Fxn^{sD7b+$=?aSp<|_3%t>RtQC2|c96F=( zUYb|3PtGORw4e|trqww6*Qb_yqdSkv>tXB8HB<(tI0cfH2 z>Xbxt`HxqYi9x*Kpm&!VqoDDVFfnDY^iH&B$!U3+r$15f-;vj?6Xa=G4L zY?P-HHfyV<=8L?|E*-K=YB~ zsP2nc)fb`%-GZUcF_~UicRj`{?JXTw#ek;7mQ#bRn4)oprtnKK?7Hea)p?aqW(6XK*ScocPD&DhV;8*hVxh|g`E?YD=) zkgOd`;!J6@8uR3*x{bv)a}|Hq5WTFN12p9bwtPcRlWmW2Ca)GoBqsCp z6>0shxhLX>L1hQ&W6VqJ5hD;uGUwe8g$q#ar9j@ep-PYNy)iQ?A`3ZeQ`!*ad+1cayuVzA^=NvToe~B1=Mhb zcmGldd+U~ewXK4^#ta%bGWH1b^9s z8pw@xKjDAk&o3IMgl^B}9eCtB6n!HQK9&F(mMj=vvw?vOZ`ClR@MmZ=dSSK`i}3gN z@9XVN;!^PWzz1bgy-k5}8T%kQozyDXxJ-O3I|J3Iy~Z}Mn9BXL@WYl8bP{w5$3Q-A z%kyu2xB$u0`Jf!wODD>Z5eP!uei@Ni`?+oVPPfKC7`^py!e4+5D+R9=_Ufd9etr-` zl@Ffxz73u>K!Q3A-TR4Jci>uicE-&3**d_TX2yY7N44jurNlGrvgXZj5y)Rl)JWc_3_}1h zaGW&)0k#Uk94X!kci)dLwbN#`?6hRVwwY-+yOxI`5Ggs7lnvQdcpM~U-bqY<&^2q&dIk)RYy#cYaL8M^ilfR8ovb^LuG_)&Mm>Cf*TUif~w@hzgF>t4@dvSOlj z@&`VYmcd;dd=O?S5sc_V?dqvU{gOhOc-xEjoxO|`9h@GZP>$bUy|DQEw|9XDy#$HS zL*-CV#{;X-S>@b|v^d^V3orGhEkI173Jk?-O_d z%DzZFc?t+qxu;!)?qvvt3AivhpEoV)+jT?n^`@5EvSH#~Uu^LFY9# zUPL)Rr!xY@j$FB1or6#qEHuk7(m>}3j6VIhG0fd4b=E`034&*hVaRq(ypJ}XFi~iR zHexPwPPp{F3l&z+CBX>5{MZh+blApN4BVbq4-)BNXme3^}l$)^ zh~E3)df$83{k{MF);jB1&)RFBz1Q>I`?H_3PSk5P1u|j=VjLVCGMJ*ACJxR$gS&S) z;k~K$Uke8E-M zm{Z&t_Cjk8Re_qI+o#tDv&f}2$o^7WlV{+=!_6RVW^hF3Z$@801;%36+tCL5qcL#k}9o<;s#T z;KWE|8tOf-hvR7xs^y=Lm{}-`89g57<%@M4S{i|?2v!t7`nTtRi?=bG3cp z7Rx@cZtQ;&>&Mh^8DU6xxHH^#{r=)cAzSDCYNW^{-zEWi7Va*8zW;H!spxuuq=Han zU)5#vI5nky-h-Jkfhsw~T^($Db$nEDw7oVt$D%(YG)`qNd_a^Y9K<@bS-VAgwT-Me zui>19;a3`zd|#_7vs-mM7wRDjj*>uuI?A|FI?@9z1ztS+7SF8wigh& zV`@av^t9toD0;Z?zt2$pC>t`H1_hewe*D0WZ zzP!^~QHSfx+xmIW$;!rE%xtj*$<6te$u)AXz2hrBl4fN%L!#buLIW009QJ*-f#_rF z`K1`vrS+EbT9k zFCp;xzl>e@Xj*CgUW%wl>V#6B5f)`pDtrNj(pkXgyL8_?prg{wk%D1Ik(&6GZ4RzJ8X+J0 zJ*Su#`-Hz-veox+nl`;}Gz4w?xQ7s`VOp~2+SRYEuje*YJvd`Vd1AQu^@LF3cuLFY z;SCt!X6t!MBZ56`+KUrejyzal-@Z&E?fbFkVfCnap3w0-yFX=)r-xe{uPYrI4}vzS zv_A=U?PX9>v|bIfde!XVe`auy40+q`jr$ojKAC#48!mhL%3nuQP3lU3phSPH)B{`n7M%;9{e5-@Tg5!E_NRiBZ+}p|T^r zxMG=bc2e%*SBuYKrzNLbdqLWW$0ag3idXQ>5HtgG`=Zi^OFTs<*D3MwH%E~o6&QNa zjT*N|TP8bp%MnxotCrJy^u$xp3?_Gt+b*v2Sa#;f0kIGuCD-{o)Uu{II~ol1!J}Sg zV}D*OtTVyy+FLmuPh84uN_r20g-4_}ejyBwR88UoFHB8`kq|uw9f+2X_O@vgXx|=o zl67U#NTp6mFTU=olqt>S36|~b3&yoeenit4FmvB53Sv@T4|)j%0*J~Q%8Es||0)z0 z?rU)U{upz_IKM-OS$qEIzvir3H^XIZO2`3gx_;`lMC=Pc0f@Iu#w5TxrkvM5ljlrV z<4^rXfKQfpWj5`JhBnhwoY6ldD-Ssx*`MTh_SIA_gwd*rt^p8)kPpI`d2Uv(y)@VY!Cxm|odQJCq;IKW5?|U9% zxTEiOV`BEM(L`Dq#TC^qy%=wNKt75f+s*GVjAGYboEI0YLZ?0xKIT8^r>Z7`d&j%y46ZE zpw7-V=&nQM7J_ck%KUo&6FUg`Du~cX1I! z#V*rhbL(;x!hER-a9=c~7fnhBgMy48mMeu-|K}>{duL}2ot=1a$JxfRioWPX_2Paz zlZd6n7D|yxZmk3TOESjngo@XY_qO8@L)>;T^gu8%VxiR3Q$=jd!90qamA;2~s@CA4 zLxFlyh{LkHbI+Ruh=Vv|?yJ;6z^pp{*Ga>{GK;(&cet;(tx`Dey#)wlx%ScA#5rqM z$MF)`pS_n6Eij$rcj1RUUk5W%5vV(FGpf9jf8~o!--(21%Gh zkm^|jcQR6@`hs2UQe#6 zLI!d`FwAQd$c+Prf+m7CA_wmbeGoVR41111fl_5*sQY7r63X)LP1uqwIOOkOcPZ~|m3BYsthm$YfLS`_cGn=mqI#F$O3=nj zegw7P2bZ8@>QMApv>*?2&?hSZc!TBdtY|Rzq<>P<73P6S>lw^I6>V;F|}4z7IW#xDNSqj2`6tG_)>22h;5xF zXS+62|ECXTGA9MW0QT#5_l4I`* z!#tHxr=QXbjEeJ&Uqp=4y|SdBv4`O4Blrm;A{6TOwsX|K^mV9ohCKU1$jPm~(Cne0 zp-=X9b^IO`qc03lG{|cj951Uh@FRl06L?6>?_oBbCSk`GN})#Z$Dk?UftSlvryi;% zd0?q#Iy{C`>Aa6WiGpb&DBxPQ63OF~nO%r^_i>Fu64qz^Tt?wcboX~_wO99C?$53{ z&gzbpr#jKB2>gO^(tDn^c1&^kuE?aaXeepL_aUy(;G&>oE9+j?Be+=dgL)5lfqB8Z zUa|afFzeu_{fNV;J`Y@))@F@F;hPVz>YMZT)QTo~&2?U77Zt6m6?o>zuei~P>gs3@ zb5HW%z3crUS% z8MX%mh!qet-!dc7OcKOybk8!T>xZt}GXcCf@QgYpUN2%YN&xb(gykclSixe9?Eova zrLK^8aDPN~9(U^?D+3KrUh>lXl(i%y^VJm;)Dq)`1ob%}GW4RtksQRyL}-!9ulnDL zdM%e9kjBM=14)(T1C>y#dyr3{zpy(Ezk~Td{QU(oO!W@Lpp)~IJ7Tltpept#P}l!} zy`vocZRi%n^AFVjGY$TZ6axKn>APCp_sNZ6l0SBI9WubJ-}MsZek_0x*c4TlTz`H8 zTuheCqOk5yzpQ9Ef?Jn=+gZX>|6wB4~1@LY>P&X}`063}fUu7GPIR z%QvrD5g_@==EE(H@cfbcISwkn#RgFHrtSu#-eUwmx*vqSg0Uh5oh*8?195p9HYYlv z{@dfjOujehgQKDhzgHo@s4KRY9!q7u(Wv?ym)^9|YBTS%T|10U@g6p*+DN}BTJSk6 zdqnVe;AzT$1GG3nPsTgvUNfs7`%dI7y&cGGqIY^@lBeqyYNME(mKc1qApIOO2Hmn76`!zTRLg$j5gICHIbM*Gs%x zPNfx42cU%@E8Nb3``gMDQfF1^9LxgA^RDC)O&d2hea7uoWlOm0Z{a`SMOg|Ep9w)P z@tbbiF}lTx2PWP(*V`%ReR=Ur;Y)9G{o?1sKAhdC{Ln#QV4|TMx+8@<{DqzK%C~q} zH!EUt;RHlRGV%oBQZ#6tq1BLa$p5|Ov!{+9oaA^cYOQI2)%*IZCFxM}9|M|XQV{Gx zI@EuqbR&7eKS-Pb9p3Ft`=c{nwyNh_d>1pFTjrhuboCMGhgA_$b_YGS)^w=Lvv=Mj zwO(QDOiCz_E`nK|!zzlV+cCR)aCGch!(~_8p`I9l8?EEH27ozWP0P2hlEG8#ZUl9! zci>K(i)ZbEfp%<7duERY1$>9iZ-NMkrwx?5ApzNi3)ihISE)f69vJphJb386gxwGqa~lpVx;?~ zo))O+&L2`BWdL6ywDKnBZa6-gDkP>aEkA+AsFDqvhxZr=tj0gh%jhvfWoImcNsrD=FO!``Dj;MK5=7kG1W@8tXr2L}pS+cYD%_XOdm) z%t%HA`l#M~01lOvy`wLRdGfS_mY6(hAGae{3k3=aum8uNS4Hv8tYW0p#Cc{~ z^AJ9;(UCr2xxpBAR*Ko}>i600TFOHUfXy&BOZ;7Zm7;+YzXS`dSNTLXj@>K(TFrta~T=HmB!nsPx#}%+2VQ z%fqh1Bq0nKrj!eGo@w?tns7ScjUCOmifFpak_NP1SK}%xj`eyR)IYs+nG1r!64Ao* z7r}V%{v_@_rIHa+))lVhdj`{_TICaa7USo8wbyVa%|*!jL@kqlwk;i%n2!ZJiFuyB zsI4K3i@B)R{A<)*oA`OShwzc&zplAb=io@BQptJ-v!=jqwdM9UW<2J_nPUC_)>1Z3 zuv1JzD&>elY3)21CN%~J(gqX;EEqaaCZt-#IF$*mZ?~+M_B6(W0!lRdwfD9>%M($l gEoabmgDoOKUaxgAF(cI7ogEJBm6}|+jA_Wf0fY7Ipa1{> diff --git a/assets/images/help/codespaces/add-jshint-config.png b/assets/images/help/codespaces/add-jshint-config.png new file mode 100644 index 0000000000000000000000000000000000000000..196af580f688f948aec3fd0cbad5feb70c6ee351 GIT binary patch literal 61025 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 literal 0 HcmV?d00001 diff --git a/assets/images/help/codespaces/add-node-devcontainer-config.png b/assets/images/help/codespaces/add-node-devcontainer-config.png new file mode 100644 index 0000000000000000000000000000000000000000..83a22e4374b887b1878e218d468077164923d1e4 GIT binary patch literal 71019 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%0APfg20&$A0A94<*w;~sx; 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%0A++V%Wt|RM^eIj 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 Z|K$c7VCZ^OfCK(%s_LrLDA_*${{Vp<6~q7l diff --git a/assets/images/help/codespaces/add-node-version.png b/assets/images/help/codespaces/add-node-version.png index 3c79cd29586df0f7fc5099c14e987fd69455ed79..c13f530c3e6511c0918df7a6535ee0a630b55399 100644 GIT binary patch literal 22808 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 T6t73C@8EX8%Z2oH@VS2gj94iL literal 6406 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 z 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 diff --git a/assets/images/help/codespaces/add-prebuilt-container-command.png b/assets/images/help/codespaces/add-prebuilt-container-command.png index 2536767e2a09bed19910aeebfc69dace66d7fcd6..67be08789bc7209ab86f6abe0d911af86626faec 100644 GIT binary patch literal 22317 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 literal 6462 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

$F0aY8+8K|U5 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 AZU6uP literal 9604 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⁡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 ArvLx| diff --git a/assets/images/help/codespaces/add-python-version.png b/assets/images/help/codespaces/add-python-version.png index 894fa14672ae63673f957ad2b8a5269df25f36c9..5747ee37420838087b710d78e063c311c8404e7c 100644 GIT binary patch literal 30691 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 Wmomr#5`0)Oq`QR&qSj`&79Rc{Sq#4d=i*T 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 B;1U1; diff --git a/assets/images/help/codespaces/codespaces-npmstart.png b/assets/images/help/codespaces/codespaces-npmstart.png index 40cf0de57e8e290e985cbc97d7fdf611249802dd..f61e616d135addc13a378faf8373393d063bf526 100644 GIT binary patch literal 25518 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 literal 21099 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 diff --git a/assets/images/help/codespaces/codespaces-port-toast.png b/assets/images/help/codespaces/codespaces-port-toast.png deleted file mode 100644 index ff42378a04be93f735b19136706787d21c7381e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8224 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 Zh0n7+Em`^D`OiO+f{d#4cS*C5{{iHn$6Wvb diff --git a/assets/images/help/codespaces/codespaces-port3000-toast.png b/assets/images/help/codespaces/codespaces-port3000-toast.png new file mode 100644 index 0000000000000000000000000000000000000000..b6b3226791cb9df895ada7ba630a7a735c0df430 GIT binary patch literal 36385 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 xg4mERLXmgA{|6YhkMIBh literal 0 HcmV?d00001 diff --git a/assets/images/help/codespaces/codespaces-port5000-toast.png b/assets/images/help/codespaces/codespaces-port5000-toast.png new file mode 100644 index 0000000000000000000000000000000000000000..0646cc75f50274b6023b70850ec780bfe24b2801 GIT binary patch literal 36378 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

f%mk_(l@m>p}Ia1pnpQ;uFAFo5( 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 I-TL|e07rFWjsO4v diff --git a/assets/images/help/codespaces/dotnet-extensions.png b/assets/images/help/codespaces/dotnet-extensions.png deleted file mode 100644 index 5997ef900ee192ff8fab5555e7d20fdb3d9a7fa1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6355 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 PtiVxGP?s-}GYb44g6Ty+ diff --git a/assets/images/help/codespaces/java-debug-output.png b/assets/images/help/codespaces/java-debug-output.png new file mode 100644 index 0000000000000000000000000000000000000000..733efdb92b8d67cad141c368c16e0c1b339807da GIT binary patch literal 28227 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 RBbYm*^;}=AO7*XI{|6G^rJ4W$ literal 0 HcmV?d00001 diff --git a/assets/images/help/codespaces/open-port5000-in-browser.png b/assets/images/help/codespaces/open-port5000-in-browser.png new file mode 100644 index 0000000000000000000000000000000000000000..147bbf5e96ddffb7e95c6825c0ebfd36e2c65b43 GIT binary patch literal 56662 zcmb?@2UJsAw=N!0x=0i0Dgq+Xn^FZ7q$3EZG%3=1uR*CIO$4M90qIS8PmDALArvJ* zD4_-jAqYZ%B=9!JbN>I{^KKb$jJLjE|v)Dp}1i=Q>abeEwL|URRgwCU8zkMt+8!?A&P+ z;G=Yg<6r0MXKs+4{qy=CWMr{UWaNLf(F49uk2k>Qw9oJFv+vLR)f%|={*S*~pC`UQ z`}g^o?9*;h^GA5#i^}uC6CX0NOMIuFGn$6ix5>z60yOWbJPMrN>@xkx)t_DyWaYrm zzlFRvQySMg8`cr>6#K!X#rKEdpbTFHpVsyJ9(OOsT)7+gLM#eD7lP{wh{9i?#L;)k zlB+~qQ87%bz7x)6mp9Ya;Ea%=xV?&GutL3;XwZ2#_%ytx=@^+(AAkDz|31F!9CPIT zy9k^a(2zq#p+}1U>Ed^>i-36l!|{(I8I1lvRFaYXqxv7k|E2XmtN-V*|L@lSX#bDm z|MD#VO>1Yq7Nx_RneDso+utW$V969#bdV{6_jb6{9gae1(`Hk-Y`0v6Hux{;M)3S8 zj=R#&Mqh>$WIFV8HI@zaG2z$Mev9eu_NkTuTFLyNO6cC2+QIK48M*SGmtSZksQO$I z`qkE$9Uc!kRaD^kyRPD18(wSSN5(Q%1N6H&+26yJU8}?8bcvc~O*)LoTqOPO_qTxF z_dF_g0K>G!LzX)P?@@2=JOAwAD3jl6_0bV8i!-M^CYYhA-D}-^F8n=g z?d!G>9LRGiQXa+%C2^5bB63=kD;mOjoBp^6F9nCQ&G8uf;btK|E$Z_fy$bSvo4uUM zWZx~7j+YxyM?**$+G--#+za8Mm`xgzO+)L)TF?xKZWB=WaN5H8JVH3_c?dzgK=Ch` z!bFcopoiAmT1zIdhP^r3r;Rx7#`PH?8`LW**mNRNbt$^mE%~@xa)YD&7aQldryp-k z2CO|E#)9R-l-86(&9_5I_6tgvvm3WKZ<%#nJy>plcVYdZ;bIjo9v!ptU6Crh0_U|& zAROjhUP4~bWUyRLdva+1x`bC>XM#Vr;}_La|22k${M)=g{FM%Wfkq%M^Y0(VUx3Zr z7wYtTSM!u-LY!0_-h^$7H=PLnSvlhJoUj#U&9fp$ſD%;Z4zO^oIr&F=(aofA| z*3#2mi&DiSI{Hf@W=y$qm~cH`to-$=Qd_-gbUH>Rde2_eoLd+ff_h*{khlBQ^VBDC ztqmpLm!x=}JW@lK_L8s_$IQ`o(c5{97rM;|{t~wQgeD>nhpm0D-=`Sz#6kB z<2q}+j6jIxc@NsK%Knp)fN9<}L;+-lna=JOY z8MUjS>TAdBO8#26SKGWWYBsGoWV6$FjatUD)tPg!xO&MccspBzE%I-Gy2E4#O-)sTcu z`xmj`Up?zp&CNe$FR;ZeC6r4*(9ZLXx~#Q7byYR8NlLz(cAFsFR6vRYf`clo$>_HD}*RoVU!um4UfE+ z8@iS9yb|Gnjc4H7=T^vWg)fy3(P1>xqy{J4rt=ZUTE6AN2+eGC#G7YmN#{$!wWW99 zjGgAZ!F34xVp!WPv{L7f8Z*z8;N!OV>;5ZpGI80)KXY5)vG-E-neI`>Emt_i&-W_H zH!04Vwe4HMUBGv3YBcu3rjPY}gyW{Y;m#3yO7P0MR0m_dzRL=7#vCEu`q>Uq!!JGR z?+ebadm&=F!m~fTX$0-&e-y}SU4t~vTWd1qZ4!j_qH5i4J?>Oc`>^{n-b$Hi=HQd) zAMi{?We0))I83~CBWOSWPPn*(S)Ffhc7lIi$DY=Y;SrA!F^t8|laZ1zbk9+(tox;z zcGAQ2eM0ii_7(v;r@%oK$`f{6iURCe?BGeocrR)OJFihVpM2hGPpS8u!Dzrkv(jf^D-vO3kB)d5VB7du%GX$Wr>syOo{Xins`??v`nd{($YZ zug?y%=?d0t=Tmp;Z|!v{+0MOPdt#R#y^|@9F>kbS`+5$lZR%l1$r7xzCP(;n%(@_H zfu1whznQ!%^Rr;-qvFwW@dx~iD6#ZCb}@;YJd$4aUvUy%|CU1e*T_-z**QOgh)DKJX&;%CZ{^l%?n^`zLyWGu# z<7A%X0a^Fihe7!wmKXNlC0n_%OF3~*xXiVOnM@TAA_|+0O5jNocf7wvp>}?}#>eHy z`#(8>byrrwJ;HX3=jOtWNQZEhZRP1)_zeOyC!g+kyObK{F+2y~+20w5Y%iR`N8o5O z+1_Of+?pXtQ8UPfZ7p_2Nm7ON8MumO2t&A! z%lQu==Ptb5+`W;gMsl3aQwslT*8l3ODlXn|u0tt#u+?DHE5fP(uIJW&i4e-2u){dC zd6LSz;Foq4GRxCO2uFT*?*e+BV{sNaZcYja1)F^Ov(>gfv|IOTX*zXIN1iRh4D zg$y2gARGbaJy0YOh30nDH1zFWd8arUA1g>Mh(UKr;HaSOP^?BWn7N5Z*2}pHh0b|Z zu={~z7*tyG6-SvKI~RI3mOmsK@<_Q#Kt=qk?N2M9*G(FX-1Gj~&U z;&J#R`Q#!sNTW6^y#-Yow$RP;`%P@5p#)ZMJzZeo^Je2u$A4u#cJ7@{WSa}pEGSE0 zK(Nq_Up5>%cAMQh=4B=J^i_8l#YzKHv2Eh2%H5dIhdH!<#jPe44XA+SgLTIo|5jCU zXaxhYrym@8X+LtKYp!utje(dJptIu9xbbMrW%qNsOL?@y3iU3R59f2V$bHN^Su=A* zwu+&jNbZE<)&T6TbtmLH_uS!ur8BH{#G#bxY{l`8n<%4<^3nBR?i;Q`5mrN&h?_pO zq_T>DU=f%;cddPWy7wN-wS)CJDL-Fj%u~H!kE;iVm>WIC8xJ}q2UkVR8RPt76$_TI zXk?D?bkyE*T}CqSvqhh-x|x-s9GY8#u}72mrOm^5wVj{m;jse!=7VOL+KaojHy6W1 z8W2~}g_FxtBf#Dq z<>rUkJK{PwTdbD5d{5#BrpD;)vy$^9u#W2X85 zWc6C6Y&z_N+m{E6ydtJ3V4dXc&ds5CnEA$AB0uO2uhFd|IBeak0_@&Y@a11x==%(!1t5mvX4vnAyByV3wz-QgcnwAQc~ zk)(!+=ArOCaYM?%ZT}$A+y+(+6fPHMwrJ@ zRnVx6AMKKWE{$GV9#uD!a+T7FJ#LVXfdG;^c$$gOhgzT^w;Z{qS(VIxgZB4&RG z=L64k_t~J=`M(efBapC(ypWH*(SM48n#Piqr{=c}HE=nn z97jQYcwMS;Cdy7yy<9#(c?c<1F6QhmZ^Umc#-q;=M0-T8%!Z)tb98<4W|3X=H3QM^ zS-dU$xVx@TC6!)#&#qI}Pv?sWwuN?DGXi`&WI^jPo${$NI>BI zGiHoD!DbPyHB@HT?{0_OjsS}fz|HC_?C|X*1qnoG6*x_sRw~eea+k>H(e@bX>58|f;&+zR;9j&G265Qj3{2`xh&Ouu-`d9BU5G8;! zh_?@YY1XX|{v6F)uN7sB14~O;h*5d^;}^tpt{)7AUEDIg>V{p}9Rvq>A?z$J5qrw& zn0SMKv0YX;+>C$t1V2ZToX%Ro$hhk@aV;_2c3b7FMP=Lr@Pd#2$QQM3n%eRPbi~ze z4Gq-~L$=B%#xW1fXUU-_Eu?7Fab#y0ltcnYLN|Qt%JzQ#2jCE|7UaAY8Y((*P#pgJ z1&cc6&**M%#XHwQ%hSrpk!sH%C)#rA#Ot^Q%lJpVL)Vp?4( zbx}~KV%D^cT$y8K=8k1U(DJM8 zfHTKEl*nZl*K*`2ZkN%}&wVIfS76nw^0+|U4?>st)c4Dvi!LHaDk#Wu=)W5%7!J=1GYbL*=Y~%2-Y-{#5On)ux`9PY6Fb_-=(O{ISZmuF8cPHNDG2zgR z9Lj#>pbg!#Y{arNR=E)n42b~ui80P6YE;yW0zDC4*&{uv_TMzN8_1zw$L;UmNJA&h zhN#sIBeo7RHe%i8Tu1rQGW$Go&QyUET@m2CZXDoOj_xoNjVGRqXCS)r>*QZ@BW%~D z8jqos*+ZMIcx^$Uej=^@czQsnrOFgAdKzU}yf2iJ803KD)HbZn% zT6&*AVtlul@MeK_Cj@+-aHF81c}52?!QT-j9-;Xa=U2>jsCtSo0=JptfESs!wI?7< zL>~SDgX6kNc5P`ijRgr_E2T`azS>BAjE@5AaZx196~nN zgS7@u%r@n_F2dk}CG08sc(YuTgF?72PkW|B(86@T<^||4Y@co}dvmJnTq3=aPL;gl zTGPXit(jsKPcj9nut8~;qf6LFgL)m0Pp@5g?`833aia@KxfmL6|JN?2*1J# znBDc-g&=6>Ju`oMi``~a>Cbml@Yb)&?HOTn36!991Zo zR+L(OWWQBDr(HP0PsH++O1yL8l2vMDifNa`5@^|t(^Q&H{a89TwLFX)lLMzzzBzTq z#%p?8}F;F z7&dmlK2kWtKy-eG63}scY(ZZ`X*3WJTo3^s$>i7DZct0@i!NfeXH+>^Sh`50zDVqO zvrxqARTb7RVoj;DOWW#4D0&9KiUL#c&#jIif}S%>{~Hj4xv3mnSmg-QR{(tQ&%ydi z1e?PS-ffCu8x67uE3NJi z;*SR3U}7p$A9iR!7ueK=s`cBdHlI6(pw{AY)#q;8k+pOOO%w8>5?VAZuPfQz9emE& zNav>7_erV`hQGiWN4uoHoN~sp?|ul+vak`-z09VT#S2)KzhJ&!QL99TkE2EOSl?E> zKBru_+eKm{@Skl=__XEshJVJ?f{Ex|0D1(emg2TOoWZm`{^;tLZl1%>`fRLearf?^ zsi!PHzr!6{32$hf43SMl3CQ8unT1Y`MW;8(#6&T!RQ;~>S|GDh;|RtJkYJF7cJ!)o zRds}wh}0RuY5;)QtVqiOVV0XArL4RMVFy12Qe+E+4zdVC7lbytmwA|j&#&wfQ%4d} zcmm4uFtaTPv!8OqK{fPv5dpWml{)Ew-qIF22n#+LL=luh3b$$jHwDmru8z6*dk+fs zTxOF=L{m1xEqG7GCO&lMAaUNmR*PJD2mc!=->qgQE*C#bxZUia$({gnI)!2dFTb^y zetVi}T$43IZR^m(#5!aH^<2pgnBDP>lT>$t+L7fe1;im<*>DUjI*zwxv?T8^ocZQ& zcdsEsn;5s_KTDD-(#el=&ll}bZnA>75jstsnR?BIQhsjkibgUll?EfOMw04(V2p6d z;s@GkLaW?gqd!+?y-BQrS>@kQN`dtQ@O&c*mGR4bnH(J1?hfe(DaNL{WA!{HW!t#N_vDmr#vg_|^8=hYq zs^9Dfi+p8*Q~HRwO$S^UwrpK?3)xy+DVyucqzVu+sg2**)X9AIOAoJPop&4=i=J@^ z+UYW{O$i8JISe4$JxRwC0K!K5(z^zOM*7gkzn0HxCSpZ=rqAl<^k;YiMfXLo?CKf= z|6hqbE3Z@fBaSu>${T`cn#_fu^xcqw2SREgZy!IjFtFrjt6q7SsXZB$ty_mE$)}*^ ztstl&5p6lxe5@SAobyK?YbtG+)IRqiDGhExBd zfyf(k126^gVblC!f01^Se}%pI7Oi9Uucrz8?(p{@X_;o=P!^(gt+uhqz7xmvrLeyk zpuf8rUpX=^E(K2{PX0wK{i{O9c=;Ev!#^HM;od2$#OMK7P)woz-{j8kM|ppqDx5Ox z_x)d>eh+7mXt312XegK?A$*%MEXzef3s@{8d4TW(~3UHPm2UoYkF^8Z}@uTlQ<@PBvyNA*97 z|Btu+pP%HPgGKQCqy0aM|NXNp51j_$PN{;&z$`tG4Fe{X!B>(fh{JWJoi|g#&BSx% zXvi5lXIKTUJM-tTcRxDdj^7(0@)>|BTltP~2Z&H4kUD+vmX=tLIY{a#XtJy>HyjX4 zSqc#_#pL0KEhm?EmK#LJPSyBQ7zJ(OT0 zZ+pRptSh_k)`XDFOi%d&T@apoK#uILZcq&p{u6Lp5F1N*is4>;FX}bGFYgbjW9B-- zCp}IM54(E2f89mlWCcVXQ0a*bt$>Ziy1rD=) zL$G3@rU0V<@ zE5lAXb;67qsa1ffUAH|;u3To)Dr>_i5j=4DsLUd}iD%Wi461yxBQ(rMcK4eP32+4{ zL4s3lgfJXIKSuUXhBq*Ce*SdvfwjeFxLELn?yQp%KqHse=SZR-3jmKG@jgx*PujMR zmx_4;AgG>zdi8X91u{u1{+n|g>@vLo zQ2c#!GPr%~vf~7mQibpR%qMgcdIGniMc|3rdy#E48ELLOzvUo~flJF= zmh*O14;jn7a-cE*t2nOZ!0h!6Mf8UsrUiVe2<$wa-jpC8eSNVzI;+ocn!ND- z!%|}gMw&Xi#hqv8*KTcK|CRZZpG&{EWS9Z%Sv^%j%wg>fRY-fcM&e)v0T#=H$o~4> zxDG_FOs;$*#rp9;C*$*W`hsNTpZ!Guth&|tGB)8d6D_yQ%}j9z(DpH~W+P2sy~TFy z-^(;NdL7moI92hC_`wMVIUB2nuuLa#=jXKGXb1PVVf&#sVK`LE z5*yBFH(v>~;hV|vY~a@v44_i#oAC=80o}G7k|6KEnn(J$A5y7KHS_IU`ISzRX!5hM zNwh$G`qJ>DZ+uA==6k*tWqH#sicfj)Vt@*-cxBK1PzT;4>d^0%Q+ZJcc(SZtD)R zAWbO_U!0pn2!y{fVD@VzmbPrl~wv?etCNoW7iT7N?GW{dX%fIMse2gD3e9tH=6^ z9ie`+_$aPnqqSKZXer?0n7&23j0G>b3I(qYsEhgaZEjCN-O%}uLsYJws;Sr#_kBxm zUh%9W)7p7z!u(wG!S<4V{r*FoLQB3cMU6E%RPOoZ39=Ecsx4(-slmG(vb>|qJYwqF z9CQ=dVD^vx*eTiFGX}@7q8xeMR;FP=vTbuwz3tSOSHF(yMt=FQe^Wo$1ZjQKJmuk{ zjUjTqVbwSbRqCl-^U2}Fs%|ZHS{t>C-KDARloul|wLn zf0wCQ^N>_vwFOiV-D(fu(IN>p?2LF4zu@8AAiKwd9-n?!cSWk#6&Ml3&-T<3yX(Ff zzC@?%eS-9cGp(=;Uj4q#RSv`0Fsc(Gu)-KUK@zEanN+mASV@d1&(P!;9Wde`LS8<|STf z#p-|r&xqgk+pf8{9jRe++26xGL`*O_rgem+=I1uxD8)s9^`-6sDLa8cfb+bjlXpr_ z94K2jw}P}i`XmM{g<}|X`1Iy24X9?}K8}gXlRXzXxTL@-O}OO*=Id-j_p%Vx6LZp9 zlYq2_Wxj*Mxzc8oY{+q8Zdi5LzJ;d%d*%|lJDU{RnIed`Ve(j&jF%K8iNC5=BlDc1G>6kc#@fe6z?o@=| z53Y?*Sstk}UGk>V)BOBI9F7Pjztd9V5sFeG@D!t1lTyq@KkbO8h9oh=Zi2tg0+wD# z`L>;Je8@A$j~g_mSJgh84}-+MR5Ti5A%;HKPBkb~`RI}Nv_yi==1wWuC!a1cn10Or z+w{`l{`qC628n5*#z=j!*OFvY)|qx>KiO=un_Mxo&7Z~64Yz%gyFzfsmM;e~Zkb&z z8^6#DgysPdyfUklfkJmvf~XN2Ie8=izd!k0nWSs2x_OaH>5S=IhKGztp5L+V!A&~U ztdHPQx@xm?Nmqy7XWz4AcP+R|HQ#&nUkbJ|Nk^d}9bF9URct#-u$!hKUAurpy{pZb z;<5V>FFiv-#YLj`l)+fSUczh->!LA2BlqeAmzt9T*5%||d~I+B(t0|0pDWW?!y4_Y zH0$yR(-3VP4f27fLU`;P{or-vTQ;Y*j^wb8L+OXzYY z6`+j?iR`pOw_bG$y1q16xIS~_v_pFaunox?>Qu76X-d;W6piPrAy16=DVi~Kr7yvU zYZ-UZ!#d3l6+-t?63(9=dffmfY(WJ3f(6ehBLbh%N`&CK1{kl-HY@4hp^Bz<`|ySl zg8v|N&=w=lWcY|Aq*51f0y{?ql5>zdkByxu+B+O>S|lM65ri{i0iQ-5i|R!$HsjS6 zGJJ(E>sYcQXvXsH3#fgV9kvh!5QfF&Qo+y?(a=JR+MDE1+3Y6j-J=cU)A`*k(6sFt z@U!B$E;P5!MZ+~MgxcVx@6-%LsXJP>%t4y13uESR%0v|l+xad0e(anxJJVs|&9tZ6 z+VurJfI+hr1Q+%VWxE!WjEB2Eh?Uf5mEo59Dj^@e*zs8ps0UKeNee@_&Cug+F6c*w z;0|kZH?ub`22E;%f~Id1M(k$@aGn3aBDo@SW#{GztLvUjRp_ zk}G%F+8K?2grZ74R9jr>fCx=UShbD1-)ZXx+e42YUgp?v19G&nX_!5d+}SaXe-8&u+{hR z8>`T4e%00Mo=zXj(47W>C5`>d5TTNxTq6mXK8`bB9v8MB^qAjPt7ax-=X~QJA9wr0 z4Ir_Vk!Y?KZ@<~LkTzqW15gQ6&dzA=+8xyLfFSBZ1U74z{ZWUt(!g;3;1pcz6L$E@ zd>uv+rvw=F@9Dte-Obn^B{VZRdPzdzY{lJepRNz)w#9w20P{1q>mR}4tG?gt{cI;y?BFB6VFUWSQUom%cR)2WtfDx(sI>i!|WTQDJa&aHfxy=wV=LlD2D z5-Yz>Ne<>oeoUJxV!b_1^2qtyt(W4aCznobPMOHT=U{e@Ncr;HBH`w5PbWtc5W8&> zaI$G2g2L|P;#H6<_S4;`UIA89=ZFObmQRxZ2*UosIo1s zUt;Ud&Vy+y0QSBBXyYCJLB2nzOnupvow5-l@83{IZ+4J31LRZmS(Tx!AFkeAtTSkc z@GBNT&$$DsL+mm-kS)FH3o&X>vEnzKWP)>1rEGz1J%$T?hj6}wa!|I9u&<@X;#?Eb ze=9C=UUaEYHEBwc=pB7BwpYQHERpo}L7yUExAx8<44}gMMx(3qPtn0&4BgkO2!(pD2XN?!$5fc1lJ?6hw zlumgl!Qeww(SYM^uonT&?{c!g(-x#~M0=T0#8i(iq)qkVO2<6o+!!QPOYlH&Cb|Q( zQZLy`SZ42?*westpu+40LVD}+xw0+K@sxB7~s|o$?wbuS6pwm&Gy)z8G^yp5>3X5ZW zeQ$#F8L|qRn$phC3@&Z=8qF6Je5f3vm8^DImN$tVGBpAn*iIuZa%HOz{7d)O^)6qd zzZGGXM?$@M_|R)7tZp=Qagl#$OHz`~942Zy%>9>Q)jTWp9CEThy1*$nhMY@!2tHpe zz+Bk(gpzM}>mrqjHijZ@39N;LVjMF#AWB*+XA<+-C-R?EY ztkI24Sh?TQIO`5TS&HXpA29v77=7E7=200=1Tmwn9g)ufR#$*octBTUX|>mFs^%=> zW`x!30qWGfxiQTaYTfHPll-=K(B%1#he`RZIhTNJY1Alydq%s5r`}1eNvTH~>xGym zNH~fKEj;+Sl8%RegLvbgoRtlNWO4FseFE~{z;i*-lpyxUIex8euFrElTX<`s02#KJ zZ{|O2+iGx7Xh;d#YD?niDZPI+eZqZ`^L2CIT56w16KXtnA#Rx4@ooG1`AQtq@p69Hbr#*FzMAMHKykSFARqIcx`Rp>h}2<_ zRo*YXQ-0?3p2(2Sc1lo<092vh0dAG%6ACz+eiLG@r}?KHQ@?!DX-exY^#!pepHWiQ4YmLkYbZorCM7XLbUk~+WM}g zB71tPi#}@Fb4A7`4p2Y0>mNkWKA)#`;ys`mYHt{n5}Iexn$1E+Q-i3(mWLB$7Ar#_ zz89jy=$tO?0hx8YuJE&QEnBUhIO977vHtFB2|y$PNPGkGg$&I4osN?H)g(8w{M$s6Ei4#`Gh&$=yFkv@JwkElx2=7EUIdKMGVg&f5U#;Ip2ehJ}{iX}>qDx1%cr9PKnd=b_w=E7^&cWY6kKzKf;hvEaL^C~DsMw#kw%Gt4in zKsE_n_2o%r)TDbB`9QJIL{!60dU(HVYs)$1q2~Qwz@rx#`tC!hxeSAwnyM>Ea#*0h z5A8Z|z<#w@$k-E?69O9T^BumO2V019m>+V_eynRgW0arbwDaI}eO<+QbP;9)AW^Ix z!^Hc8orkf~mdLsgkBQ8h8Y)nB9S`fV`0(0O3jnP9xLZ(lPM7d!I#sPVBxmlk&$q3x zM><^tPYXr0hbZ*x=OxWHcN!&RmT?-ouRV@7plJ!g_;21*Dfnu?)e^a1p7~qo4wCx7 z-2PMMPhX)N_#@UH+X-xUX=AD20D2LuYLch22biJ-J0>d;C2WBCeE*67IS}K3QsmPp zsXgZ$z}Rsd>;M4%?A=aaqAh|kZEv0x`yaK!OR)e9bBNaYQre~1F)8b)BQcPsy6r;| z@3nAqF+pD<@G{&dz#!+m+4gu1{LeOS>n0|!(S4T0{3VL`YJMHjegK=-5K0ud^ZsHN?2y4w++IVHV^{*tTp65pV1{UrBuqe^BPPu-%6be7u z*0up6G3RQPtze?=s>zsM$C0S5)+2s|@RftB2Yi9EZIT_Kj{Mo3(wohIeexDi2mHMo z)u@bQM^@R}W8dn{-I_o_7pAdNx3!&@*!{Gw0#jA0EBWn)i+`Pqf%w%JW;r3v_upU4 z2nQsJ@5JbAoRwYo6_2n|LQhlXG^Y$CPJz`kSzgzHOY-cI43@x#kBtp{OJ~hYKoKEt zrpaM`5?|KG>7KOE&VN89yV=e~Qf(`Ad5sbXwU!Sn%)IvaU^+SHwzNYCTYMOHoc)EL zMO%zXbUXZq9->mgNL&0A1Gx7@@99vZv$Ssu0e)}omC{@oWTxEz5x4xNw=oT$F1|D)xHKc1R3NfG%ye;I`n|7%E^^M?%UZIDXA7l!lJWBs3o^~+ zy56lvYhTR6mTA!ItDL?+SHv3CY}asr3vBn}VQx_LeLso;{-_d;zCo_m$~^vd$G*lK zp%HgX3`xf})UYayZF}*aiM-US_@i0b!KdiMmEc61mRit$^bP4gnW5`wC18zgCz6Dh zvV?-yNzNJr4=LU6PkZ$WblI{rsiZn=u22KnvhK5W^5f4CoqiJlN1WoSPoC&96Xt^) zd}C6E%COg2N|L7MR9eM)+)o>sd{i)z4xV0y`uJ#fOx!mFX518A$mHf?lU7mvbkENZ49K=kNoflg_kEeT|dK7uDXfRpK zK)C2mMv4G#Wc00qRq6z$p?d95gx)29V?bat#ACVR7+Av#;>M|etg8!n`_QrT>t&@h z&FNW$c)MLYP=R~~bD!sTYB-;lJ!|>{S+(H?*c55IE2FWE_jrb?k_eZRm-;ApVzBA@ z{O-+l$@I#{*J)<;Ioq`0$LOclPg#P;_xkiz z8#Z;!R&ag}2fYQ5(aS1`jAkbeabV70;R?n%&lGrgcu$+YUt`JUw7>16gyb%c>ub9Q z-*~P1*m>+-pXGpH-u3T?t-gm(*BHt?> z#0=okfcn>vd3bJzft%}gFwYnNf-jL?e%E!{f$ZgBz5hVF&@;%Um3ES);Wa*k@A1l3 zzcToua|Do1?^lby3T9_YIL}=7xNLYt`R~12&aVnY!Q1=P;B0-s%?H2%q^G!yVJD$9 z`QO{U-p9PpB0-2AB3%S}enmd&T~`_K)J|@97i1 zV27_@cs?uw6Jyj0_$3BKcYJ<2-zZcx!wsR@5ZN&&uY+};QV0y^hT9SLjtiCwzTiVi z17WY1ierW%uiElc#3tp{FxKfK16LAF%Ebt2C0m1uPhTamCo+MMP9G;t5 zB-PP=W5Cw^=RkmVyE5Zy<6Pt3&~5Rd9x<-iDUX`_!1#fe%{zhw0=HIgO z7pM$XnKGqHQYIY+fLE2&)950r9P0RxPKq0I$MfFx>^(LqxycaJ>lG^w)WF~iLcAtOD)asAd7O$9h$ zepEz2}JwibgUkNXqNJ$JrEmzm=@J2nd_4SDA1+V^<4-D@=~lVHsh zxEw)A*1lj4f2^$3Ewc`%kb{#%q(4Psb^v7t9j7?=pOgC&_dL&S&Y=Bj^M%+e$JxJL#EPUTDbrW7pFpK?rsu_BAIda6;{q~=xbrIkS)S%VXWyr{6ztb{&*K! zNHJ!s94>KL5u|nVr|z|dv@D-UE8@{q83_*}Hh9kKmFk$+vRxGIJPO{XpFi;LO^7=o z@u+n33rARl(0k{fsi>PoRH!ARh%1=#Y2#v4%d@Fz)bbQ@-qg9M`A4zGkYuC&$yIX~ z@wG0SBd6)ApeHNTmDU48clRFdx#-G+8DD-=!i0scZwS}4IVVKf`9Q9JUmb4_IFxpp zzQC>o$nGk;at>sLyMh#9Rmy!f0!UX&_mLwKtZ6{}rgQOh*%SnNaFy6(XrQd)BoXV` z*3(&qs}YtL>iKlsUG#isUy}P}F(oeUPg=j}T=d5GNyvSqUOBR?X1dI+4#^|uZT>54 zVVcmfx5e|#s{R^|>b;22gzKy3s{{o!7p%6g4%o2p-UqJ)Thb@;AC!841pb`#&I4W# z65_QPH^#aUWH`ACJfbwcO|AaQgq3lC^F%P>7Y$-fn-IH4k(|xkB-DfwfQfvgpWM$A%Qczyuc(x9HnX?~wIRPo zx4m4)`_?{%j$KBsDwR2=P_7~HF#DE@sO>c!{M=|yiiU9K4;h%p1hIFaNz#3cHa}L{ zVjE*BctFQ3{_eP{JHkpgT;P#3FeA0{N^i41H5J6W;g7rLJl83b(-prgArx8{vpR#C zLbJSyidN7keIKfUje;7g(*?GrfAW}Q11WCiwuESHlMn8^{T#NYqW*;DNL@z84QkTy z2;R;Q*fTNR48(U-bK8RinD@MAuT&T@F}iRI$#Yy2GKbBS+~8@-X9={NmuNZVZr%?6d6V=+6<}pJ^D^R1-A!^x z1JdFJ-SV?+rE(8KZ>CRXB)?C;l-l9}Y%XRSJl*NK0?Xh#qG#utc+wbZ(dVr@GPVP( z6uf`hxHMjktBD!(T%y{u>ZiX)TkznA$M;*R`ygbEXnyd1v1cJ@u6Y{CLy=lCMBTo> zLHME;>^@Z|AeSE$pW#Dy?SL;n3>s8m`K}c|%X2K%V^P!o!{S$igFpD@m9*Jb&GEv0 z#Ht;|8cC`SO zF$T&X&F#M=Bdpx7sniCU)xNS$(vLJIhmJ-3$?KPeL|Bda0J}$kja$(8g6|RFopbCs z2pS_x*DD(Nq$V7@QoixsgFT3%|{jvwuw;No&Gw%1U(pdRkPLv_tf= zo#1|n>%%4&#Ju;^2lOT{>D@PmFend{rMzVn>KGn+s+pHA?^b9-<)FQ zyzQ-^a2$%vlk+JUfXCPD=Ha*~FK{bnJ=PDit*K*iL1+xZbD@mQqP>b4@Z+@Cs`=8Y zXm#`hbj8iB=td0B9e+b#OX{hN?ZZb9Wi83~*mC8au0AY51lvO%!uX)PFV?gs{NnIM zkjH$%HZJ?t0ZT`XAq@xsVWMsLf>s2JBa&1HeQEavBy9 z9w5;+67M65NPb5Z)S{a!CtoyF6%;SA(R$0gUgEZ)Qkho8c)1zeF)aRFZPGjKw70ML zU-s9W%<_<=GQ|U|H@zG~PPZ)+NeF0q(}~N3$9{90|8DoQrFVI8=Xah9A&jYmS8x<9 zoo4XYp5W;kVP@vBT2(*YyjD_k^aQ|k_vhcJhJd_@+K{KB8>PeO@^ zIX9&ft={8sLWuGX^|g|&q`_MlV4v)F^*@GP=yL3H^^I`rXe+7=>A<3(#&3!zGLW#e z2R{cei47Z&$FaVeZhmcybenS9StVoj4hN)LVvU;)?vo$GJ}I5)6Z!JloTQSlasl+Cq2Q^u|w z{2+trPp;Pu3|oDxpC9zncxbcv3dG)!6Blfsb?uMrW_}6qSXi$cp0wj}XWT@PceB2C z5J3*)NPSK4_``|zDY%m9+mnyi#n0s!zGxezicR9oU{D;X3jg#b#rh7yL--QW6{i&T zY_(z@*{)L2kOAJAb>d0)fSa#n-xt!qjSLy>pV*-f_esz;sfnu=NEu?4d9)E^*gC8Q z+j{oM12&e<_WZSUF8|B&pNwfgUve}A(}ZbSDjDp)akyKVq!>BhxuZVv!4D0k1u$2Ja%PED)ZgA!Gpkuz4#d@E0UH&nt|$2s4+>IAq<} zUQ>JZO=^xiXtBeK3z?C#3@-{ACEaXxoi`FJt9pW)72xu?PVGLq zIJ;$5Eq~n|pN`0hDok~f4Gw+&;1iR>@bfAoTtEl528b4>Ra)ts1Z++VJ)Nu5hL_n}57s z^2&SM&-2{ReP8!=Uk@XAf9^a$20WBnv7&9dQlTi z@18gl_lfjm)Hw4P?K3YPlPwYUWInOuMoQPz0cqx9e6tl*{<=H>-YfcGMCakL0}Ulj zxvz@0xKnq#rRC%YN-3(H#BXmWmbTIs7}rlCh6hDD%VG9y7L|gH(!7;Etnrwn%P@ej z1tbh9E$v=dvS+*ck>QS}^)-2*nc>WE!`O1!V~|_2GRg$n{$qjsVafHQD#doKgV>_E zBU9(M-C{6Ms=~^(fd=Acz%@*()oZFg0`Lvtn4ijH-$z8_+Hw9s2%G-&twM7;dqL9$ z_YwQ|S3XYsLTspcwpous6=MRb2}P-29$5G%+lO@a zo4mmmV6%RhgVEilE%bt#qB_A(;!n-UNLSS!LS<5nBw}&0woXQ3|S@vA#-{e?dWcvm)y=|=QFbfE_v!iK)!6IGU5bNC_n@UMj87Gn zI3KUXpNE=hrPK;#tRPjNm6fN2>=M@rOS2&*bwHEBJ%d zj~n(8Nej^pI!gFi1ysnw3@%n%FO8j26{ZYg@1PNLuK&8G5h3R7!8%^*>@n=fO_bA; z>*xjr=o1wEoSTF@t49yN=e&R^a$*f_G34l8u-SE$5ZU3zN2}0A>}LcoizAY(Pmc)P zT}kA}lI9TpZ9`3C@^d(7ZA?&&H@JgfINL9ycCRIe676w@bf{+>mm7F-{(KsgO+_g4 zyz=n({2`yo11DGB_cbp2CC$kfesiDT#>ccsM9jAq)_ zaXaA|CUHXc2hgTI=g+J8z<-PG2(o> z)%Sq+MV)+27Z3*miL3rHRU^^Q1pWdUnZZ=rihPaQ|@?{|%kSi&*`ExtS z;{#;83p5(@*_OTLEp_;FHo(*_@^z@J~oK3oWTzaj+|LM z@cVrIcy!akEYB9#4u+>F`6DMZToGsl(@wYjTvI8L7+*EEb%|n`#16zeLM){2l z?wcfd^RHZ~fF8^ktqgUb;gs!K_8D##gJ+J9% zAz=^l>(4!aaKY=o0o0?C%=YU#jFAPz3zu4(UYgOQ$3LT<`v5Lhf;ULYYr3@kyk6u! z?Q~D{-!J1|Hai4^6h$gwqdB+8-$&V}M26S>XN$qq9aL(pu8eA&OHqU5SzF%HCI}_vf^Z?VGBJ^PkIW&czCNe%1)( zUr+`u@D!@Ve6@GFzG_u%fBHdd*Nu6PuScGapI5C(>9*azQ>y;hFrYJdy*e^1GpzFw zJsW=badgz#OmCAkyrm@65r-0Hz;Da1A2T>aSb-E?Mbq1ZZd;;kABTcQS2*c*UMe=V zF^eIP>8|KLI5bkTdOPq?xna;L{PRN_u^zdKn)RF*cS;HE)W%6h&NX>2s+1VE&l~2A)KH-B zUU9dQ$GA$*0mN^B!EAe3rt0!1sW}7Ft>yw%A3saIM)~2b&sEd9sAi}+(WIMuyIMb% zT=aq*{|KWMwG)>D-Yy~|N{;D*>b;${!U!q2vZGYDs;Wpg_|_sYQ#s#UVY0!@1sF+tPyoX0+E{T(b>&6qzshta3O0DW+?^TjpT)MP3nxYWE0ozJgkc z%e|Q8S7-3vD;vI0CmNt-6!o0nm&oBd;e<=jCy}UH`zu%es^nq>zKv=r)^AsGkj-*V zH$C*^Ns3N=ea^p`<5JOm$DM=FuCPDCD|+mgR6FTHR~_1-G$aM@ym-_WHJnf*s+E?B zM2}w&$M8yYHq;j69dl$2Db<_MnmZwhWq{9YfL6V$BqlLKo2xx!r4HVWw@y{GFtY zZ`7(XsTPL8p|Zg=e9pfyYHhF?*RnCV_*d!3V2EHBcB=cUP|l;51(EAgjZx%Yx3Mjt zJ+;pbOcQ>ST_ho57_-r-b>Y~_^2qpEdsoJ8SJ!hFJ4xGL32hP8Lcj@^bs3r6Mpc`q-^ALT}2qOg%l-M4zx7hNP7HZ!#dtP zRn3WU%><^XWmn5_xzRzvZ(6cT`I3-Y7LyIMD6#Ir$Zy4z`SeR;6kW5?_Fd9&@CzU> zHnV5UfQY+TOc_GU&P0Ny=i;9+l0HIGsWM55o}O71o^4o0Y^5(4x$yDsCVFj82FdXT z%W-!=qAz37w%e^>lR0(9c$FEV4P0hhMKcr9VBPAZK=_znV;RP-bwh72W;rd=a*bWp z@fV^I0gW~SU7OGDe;-xWm-7;)}@WL{q$8LU-^L+H-i+;38 zvnN)ub(jgs+m;*zP!>TJ7q>1q5i!wVm_KuH4iA0- zLzkd=_A}x%_%R<2whF8Z&X^!3#dB3+yv8=>_MyGu-8{8$@M3ZCCRWyeyurezg)+LC zAsl<|rhg0hT5YFofo#v)3BsfQ^x9Rr9t-w?=uU@0(`yScullz_01~^$!x0(?M<&X^ zG{Rgy-!bbRY1@@{=#Z=|Lk@4zX(E@pw_}foEM|n!v!Sml~N^@bAmsPqq{g0t-awh8g4!&Ai{ud#Bd0k(k z2Me!TF{C0TjDo8C373{xy8ZCWNsrdZH0z&x}WFnqZ;ME!a)!V;F@h+xp z-I@iWX3(I8j9hOoBs@8Etn^5Yiy={Bj+mIY*r0Y4dt1hNW+zV z)9HQ%V_C?P;;{wfEA$VuR8zcLaSoVfGisyUKgYXa$Azo!O7BhGJ*jz#Fo0s?M^}D@ zs1)V%uoUS4lIY5Q+`|ag(#_FEjWdoq3l}2VGtvY&dK`NHP*<;)%NZpkfg|(WUhS(| zT8Ir7im30t==-58r+g{9X3mrv8A{f;yh5Dl=-B1wEbI&yEr~*nAYAg+-v=INeWRyd z73vF722H69X?YI*XO>#FcI+M>GdJMz!5g#69z{;k=iQ_+h7uN~*X-NpTKyKk+t*%> zE*+U;w|B)fdhQRF<6etO$qyPAwO=+Yx~qJRJ6}}^DABQ>{n2#zaW}8!G(f?V%z5KE z$n&Dn@~|=_51*U^-)gZ(_*q!$G2WRt3wF~?js>Q{2(!i%JQA`J|0<$PR-^A2X#+Rg zJ04rU9e)f%dfM(CQx2(ROUGGAlVc#pJ_J8IZrPYolzcjuW}<5uW7Zy4L%Uv!$bY?Z@nYtP$wc5JFM#G1w!c!@*#D?G9kTPq0A0pKD)EIQ(Y* zW+DF~33B{=f3H*f@wSpsqs{Z^xQ$uA{zD9xI&)po*KYZ&mOXJ}()EEQnprcN8F~o; zpv`(F(6`h3=6zR-|8Wm*H+u@#E997J#(FzEyM9YaMyp>6nBhKjW7wjV))o72|8_$8M zy`Oz&t?%a@;AK!Dj;ugi1j^(!v}=z@g&x?Wjt+dB;a31bK|a-}kJ7g!;6;AD;^$%b zh4NX1dwbX6&pDLf4RW8Oa%DDhtjWq3+&Q{dx%h6t$)>-D>CV&fwXhE2j7)p8!)8hU!K}Gkd(GLL= z;zNx>TN5-|P!MB(Yu_sn#@|Yr1K*(u_8YELeSZx*qx?3Ka}TIB2u*c{?>?g%Q+j%; z{F_)pDO%=kubug(8^d&L(C@g)JW`j9(zN24!F}ug^DS!9na|fspYrYh6I7e~3i_Fw znbP|4K+)<D^r!URoAK8L(t|vI=uc|KhWhA09a-P^YEQ?M7!!p(CV4t5f~hLELy& z+tQKf7LVkf1dlpw~Owf3f zE&pZ^D1ITwLtEZD^=EBjto@O9tn$Z@t{AH4i~GjTFVI(9#eSufVZ(mZm5=u(=V{})G z^RJC>+sw9`5`)f4?G~KrsbpJ|Xd&Tv3 zfE5DFtVYHn0aPAsX^S0+^8#o;rvN=cZf4xp=}HIT$k4~g8Z~;qD&>pHMSav0U@zbA zjULe%Wc{XSpLka5=D{o!QeW?g+OYJfM}H7>WK`WMawEt^B9?tyo#Wx#3*|57KY0nm zzv13~{0VS$O9GvLn%Mg`xiWPd@1;ZE3@T30GvtFNt}5=~r|7(JDXQM+e=`g~w$;VAc&5y7vo=%XO00oG3n-Kn#^(`Kq1JfA?Wy~A3 zOH*ea4hztX#4Ja8+gY>SqvcnR^HqqtTov9uav~3b{v55l5IY?klvvH;#ciz4n2)R@ zdtYGX(8%q!W9oNtI!xxHkXneW=X`_fSUbajv~>Hf3Ccs(<|>#7(0YCdo@fJHW>(rz z8xdP6?mtiqfSzV^IkcO7J}}jGN)}Kuxqanei!vMe*MV*YOM`h!%_668>)#K)g*Yak z)lw^iJw^<`_Kc_}SPKweH{`!>L|-bnIcBmM&=++LuUsMP%LRWX9_4Nh(a;#WDrNlNf<*%M%a!kYa)Jr?yEasE;w zqbXrXM)dvuWUj-EE~a7aEBiQkab~(^FPJX)6CmYZTlTvj!zghg5lOR)HxM<2_;fpJ z=3eOjUoJOp{vzyR`FkDe3z1P8+`Es^2+Sgj*hsF3pEkiH;#_moQG;U7q)Kuhazhy; zm<^Dt1Wf*c#_H-a>;X}NjRJfy^++{>UTnQ7Wk`c(;#FxQtD=#M zkloH#)j78gzDDfxzYlz%qQRYHu^g=o`cv*x+5W2>m%gKOraK(+g5i6sLzmNlqGjq0 z=odUs%*^XW@cFcJ@a{25&&3*l@sD|1tk(W#iXz!AIQfjL-hZ`Yxz@jlC%6m_#gBzH z9i5QVVs#DKj*o#Y(S;9v=gbOqvuAV*2*8#!2(nJLoak<#1BX=7b=k3=QiO|*1>`i@ z4%h^Qx@hhNA0im!hm|-c4rBJ4Nui2JFh%1J*B3Ai{?W(h-<|T(<5PGtFO3fa6dTm< z{SuHm8x7FTmKG!M%F@SwVuni#j8*P%%PBAZEx$#Z7{0A+w@|&$5|Tev^-5z))u9m* zl-n1(ec*{;{CpI#jt>U(c{ly#ZAAdZBD<&1W zT)X{`WA}>O#MXEsO4@;{W)`aHIbM0=HuSNUh2IfSr+@nDpckK!P7qa~392e_(lh=} zod02#+1myAjN`!nrXZZ?_4iC`G#Ub*DceZ<7rrR30ysK)To-sUfL&v@>vpdGq(%N+ z{8>YRMxTYiC*}sHKAr)%Z4Z9KMf1u!b7*#eIiB+Ue@85H=v7^I*V#@Exs4ZDjyc}- z*LkO@Ade9WN`u{#&yP@Z@1699Y4*HvRSgw+dtCzUKu!2mEm<#j^Yvi7R1cstb)rL` zpmHS8O62PrtF#!c!2DzSs{k1s@~S&2)rj-(*IG{Ufq#oO5n#Ih>3w@oKUYdL#EJ^2 zL!2r<2e7-toNv+AbVBwcUmYjQZQm0(TuP5&>t>RyT{^+AXkkDABKl6`jtcQzDG*e8!Xad&^|Kw?IS3CbIe%#|9(*r($AMj%=emiBGtQNCo z=cHRA7sF6X@jJPDI-gPZ!8Yu;FtQ=LKWaaGU!oe2P>SYc7dqi>xy%&h-_eEM_4ndC z80Sqe$9a`PZC6-YJ-DAB#V zu50#TWcGx#YrH3=Js=V35>W6RzoAel?c6L&QC~cHa=_@o#YHa=)_~UnZyFe&yWw}L z|GlQR2~t5TbwA1pqVJ-Sy86H3G^Xr*5&84c`D@WDy?Ab1bj+6zCo!t2k^VBi>@KVy zB9`NvUkCjkVH)7C>FM4G@6s@V9t!J!6nrXWoIg>wCUWJrwovlb|7G<8;u;SW0e#IS zbrTp`2GFcy>sL5=!1eEkXylLzbRrkcJI(b!6yzStu?I!t174h>M*K08hWvGF^Si#9 zN}7G)WkKwhfS-KJa=CJ{e6Fr{_{ItzT)6y4(q)}ToEQGOH3_ER*Kb_ZFMnG8;pEg2 zx-8Jfp-fG~6&2+bEp%Gb$vDD5#H9{3d9}uq4@I7GeD+UCY39AuMGsVj*cFJvr+*FP zm?o^1_hhf#O(QdHc|cL=#G0p0^>Un&wB4&%5))_os+dSIr+sH$|9e1&_^W$5n5bua zvklOPO9a}M_P;3$`jB){OAP{(I{8K1$pm;d{(ExDWnfTs+??N2vCSS@|9*dJDJP4neQ;u#|GpCo zvIZNLCu1KLo~kLRbp797COPh{<(pt29p@&SKkz_0bRYj8E3jm58%i>jK(h(|8mwFl zcwC5nyolR>Pt5>s`scsjocga#PHcB-$vWcN{opSps>;`7om$4bX#EAHls|hEJ^>-_ z$@l+$md>BLfUK0;ONgNsM^MM+Rt^Lqe%-qyAB`OfLnLyDO+v`5MT^6#DxnWc?iyI+ zm~bEIxUu1jElx&`0E+$w#V*UOMifZw(9rDmVA|Sg1@iy7{J#&Ty%#;0ftMO)Kc@RQ zE9h)4YPI(a6(P&*SdjdUD-Q2Mj>t3t{>Agf^rsq^y?y`!@26)Vq&)b<8YWeM5 zZ*}JT_Ko7(+G7gCB@we8C#H>a{_R7<-^Yt`F&nJ6vdHt@L1A-Ib72|AekOqW8*Q}B z=C58#Em*{$AawQHU3eni0^Ple?e*q5}5MC+C3mRSl zsSRg?I)?yKk`V!VI*PwMqM40x>0iTD{cKtrRr&n*S4+bory`uTXoN&8z>bIAWjJeG zw_AkVaj(C+AC}6jP{)?vwi<2NHwDLIVnG9Bgi5M@Tb=K0^M;4Mf~5l zXhSfriixwg2kxpOyUOA+A14})Iq=lkChmD2!ijLA${|Q4{00`Hs^EL=Sa`n zPtJb!hRPK-AB|LoO$#=IGHi@+5arL@tN9^<7Ar9^zxZN~+b7$OUF7j4{1V#+7XTp+ zy;LJ?X}bH+Rv8DML&gyRzQ=%hSxa|6H$A5%kzc%GHnx83fgr9MI)rkYmu59hanqZ6ya0udSl(Dt{ z6O9%x6wP#Lb!#sZ9Y;WX`?vnLX++x2Gw&8&NdN$n7eiHfH$A0hJ zp=FOX;2mQMXpT&}WcYBUPwV&<*9N}Ev&&zp z2e_!t2m@E&Qn}_VpXrG0Hq;Qb^Umf$@Ok~Z-@*yx!*|>0y>MvQyDPWF#iA8%g4)~M zdOfFFxI|vYIXmq?-@&tv0F0O0fL?K#-%(&}!uy0IZZNS`mT|)x-ZdM$TX{cOkq z@RK`SJq+YjWYj!xkNo$aubB-CiZSPLQ7v61k=z}eW_X=#38t^D(Sl2v+U}&bS%Xw& z^`O;WMb2kzteNQja* zZi!Q@Ec@&zJJUBp=0)f-Y&z2%58ZH)WuL9bgBE-G-21ClR&eLN4<;tTqtUXv%*Kf( z_@spyLT2}1x3y@x#sgMJ12)w^n3W%?6OJ3R%!Ind;;)g1a%)$^8gn5*sjwY0+;muS zP>qFQFIuTqlhKQs@+(M2Yy!Z?tm`vGapj}s{T~@uRu<@U5z0o^&4*dTE%p9V{#cgH z!l}B8$`ah`DpfP#o4c**5y~O`^IuS&QCc!3Zm7Bqym|LA?}@SYlk z!T=S&=$;KBac@jT!9CDQb%X?J-8d`JXFBbx#zlkY)Q7rz_)Gw_J{Z8%EtPP}DMQ9B zV^qH9i@*Dr0qt>H5O&LWMpjt(?pnqk9rJRoAtRYgxNZPQ%4xr{{r-m<0u1kt;DOkM zy&`I7sWxM|rO)SE?#)KOG<$1g{bqfU>$XWUsizb)dNyb#az0w@x?mw0_m@p$XwfLW zhX*dG?Eh3P%wTSIO%mmWMi1LJKLsOPemC1P*?5K??mm64Ox+K2{X5?^iizvxj%6c* zKioV2v&eYjVFK*;4iheS6n}**8o^Y`#Nmg4R`nsNY~!qzjoHPr0dK9$K%<7|V+~!^ z7U&XO-05>USBD{%Q)lU_9UY*cdS&QF>Eli~z`n8)6+nwbHnkjsODjom-}ec477}qpo=Y4YGgZQd zk%lWid7w2<8#Vy-hSofX2TbhSBm;^o8O$e<)npdl$bLs z5uXXc13bY`%{oNy1FLLOUe?#PRj=fXm29tE8UZyDkpU0rHQ~MQvhnxjZ4_K}OQtfa zD)Q9az-026NTNRxAFwx>IiBXYH`yo`c|6VcCbT2+M#9?%yJ<}uGj$O@)8i2<#E9bU zwy@xKglZ-ch>{=d@oe!y=A5u~;+w5u$4eitRiR~;DweMG`kiZ@m>M0Td>%@zioZuT z(`;>@5kwa#fXH;o!4-#u_XjeJmLwMBBXy68uBL?*+~K)^5y?8VRlUo=GD;!J>eZ@r zr$cufOj2IQirh#@Hc8Bk==?xe?&VmrzTN;g1s_xt&p`gL1Y4JCtv?+mT`cDsXvp&E z3jA&Mf>zc-FiJ3VbzbAy9thh`*t&0)ny;$~M|3{hx`*uyTS$o3{Bi*qRdO$Z#>cuL zaW%f5)QD<-G{7SP%%aD#i}gMnF`D0RYLwCkWztnX6Sw*LcVUXew%-SNAnTPP%}$-Z zO3QnqS0H4*Ff$EK#cU7RUXzX1)vixLJtDu0Cfm1oiL`?xXiYCl zRvm)iu*8^8hVOm0A^C(o4O=Ip>dawe&1r?*ok9h-j@fn(=U<`iqE5|+E(1xO#|-vs z8B<3nTy644oSol*pX6zni5zp`MM`nJtRcv^f%y7g2k-+2B``cHg-*#m}uxSgp zjcK9rIptX=nEy=M)KFe)xx;e(D%tO_v=M#xyM)ovqalCMER%+9d}EWxU6;hs(GVM* zZ=l2M>AUdF+bBl2N8_+QMsPa37Tx{$QOiJei!uh2zZO&u8mD>2RNEpYHa*6asw)M| zCe>;39gyYhLIJd>JP_ZlXGvP9>Fc}|Az9bl_WPDqC-{9z^A|#{pcNm2tz>i$({hJ$ zs8U~ovekl3E%mjEPG6OFB7aY7!&q63*yh!GC9M_4Q#%`aP0HVUD3R98V2Gqg$`fmQ zw)K&Y{oAH3y>b}zrC#`jej@4_&6WkPxUS9h-cdge)*sUlR_A_`xpQ+7`XqR>SY$IV z4kmk5F@5yx%gG=t^zAGQ5+jJvp=icA$A4_dqw#G_HhcWUSGQe}WEBuIzjd}GI}Gf! zwis#XI^d=zoN5qpCLR{~Nv8$_>ED)N0!3b)j%xdE1>PlI#RQm5y?4!`ysS7W!?!?c zOF``UWaKSe?{slcjZB%>)7-fXI{`H_josG>L6HB$)MY}gE9EFw!j-e5Tp@>6vT|`l zG@rZG+9Tr-KwU0qfi)_8j&jzKP}+id8TlzLeY3Tol|?Aidg*{kxNw6UDIFzA3K9)ZUq}cZ&ASWN`wxl)=dZYe(#r|Prt4=j(;H9-K%u5OmFqZ zsC-VTbu7~qJSaSy^L-_#oZvsv{d8{h=3IYvjoKHbnNp=c=^P{po_XuJ(udlKWjjxj zyw&A|?uxlNJWU?4&)DkOkNrI75R79{i&@u=9a)Ghlc}OVeXU^pe63N?A>GOUJEJ5J zr$htM241!>TKLem{z^VqBqYj=VOb5;T3vd>b5O%_7DDwcjKbIOkw<%0P%4)nxDec@ zn}LST?UGy#G@$E2ZxQ%lD!F71^@)0t14rd+6fi zxKF5dQ7-2XVIsZo*RKXXSW>D#p%6eC&95^7q@G+^u1&or8Q%^cS;)2AA*Me+>{Mk% zntWc&M=yUiI= z5Elg#trjn;g_1T2F`uR__|tj7U8~1tu0|)g!et1sL!=)U_eZZdA00A^wI-*&eF|vr zJ2OgsmxJ^t-Z>@Pfy4N-wO&^U=W>Dlrp@#MsRbJaYg8u?Q9Qik19=v1oSg{2_D>%? zO>er+gf*x|y#`UscY_yZGJIUx8sum0cnEG!p5pc0sbg31uI_TkheQyCev_?_moAN4=ebhs0oa>%1-e9-EMV7wo9T4aos#CN#w6~2LS zlBi$;54Tw=!SDOL_zrl&v0tW7kcNvZ(vn9U)fJS4_%$ovdR&}v?9fuvLBTqtefOn< z>WdoVG=yUpa|B-8@I$ET%_t2Hs(XmGmrC>pJ*zMFaj>2zNvjDHUGqk}YQ?3~qYNaO z^97xy=)!_250k~yw7Uy4m#5qNN!QnZI=OZX6nFYg60D|9lbELqD=qZ969>0vAMROg z3qu&JKX%)-x`Q9lkdrUsocVy5@0?TXHi9`PSR8iz>jrbDi*~+Cb7z)KiLq71Zb9z& zc{+t!b%7?NPE`ICrP__^NkMtS?ApZ?t~#`cYD^W}u@N)hXi4|-?eTSf8o~{!eH`@E zLu^*bn%1ASL&R12d+MVBAWKCw=k~s+l5_QOhgP}_s`?NSh4+p*QruAL?=J1rOV25i zv(Bf_1yh}2Lg%MOO1x+Rpr=X$EGPKWQqJSOw;qGFQnwg!0zAQG7#JIz=op!CQ z5`h6?bGE>>9U*C7E6y;_-?PM8!;Y#PvJl1-6xc0xsr-SXqYE1gywkZK)G|b`h9owP zs?RBtg?85Y%XIHw)K_$xDUd&`N1tZTm2Av1hjfLUr-W3FJx1Jlor*N;MLQw|blit+ ze<(lb~H~l2D+d|W=Yt)+WZUwp`pn4M_3-C_b)J8ud zZI~7$-myz0pi36d&53x6jPC2ibh;)bBJ>0}e+23umb`o9jEo3&GJmU~@%9Na;YaVK&EPDwAoRw6stm^rXM}Oebts}Di z!IWfCBior@S)q}uY&(rVJ$cuZ7MXTilX0aO9htjoPLYXoc3&bGjH`xhxHW?~n?s>1 zHFG+(ec4NFX?fy1M_BVg+V8&(-?=i^afGX*8sz(?rE`N&AF)TsH8yM*uF!l-~ zSg!zZ+uvbJWeI;sF(5%3LdD4Q!8OpwdlfE^ewX`xKd8kT3O*k_E_h0`n@Qj|&#(7L z7|ck}e@IVTe=c_x8@`q;&%&aWW!pHhQy|^eh4swP-wUBkX?5i!PW&lpCO}i&>3lF{ zJ|EJ)EVn-5$G}cp+W3KE6Cmzer}Uy}O>9cF*=3va3wkYf=~Awi`?|=y*s#jm5sS+$ zDwy4lRD!o}niMOxBbxBu%i9wZR2gRaN~_|x`4-kT_CNKt5+$A831%g(b)TM7gUajI zKPK>2>`n%~BgiU7ozDq6`=k_IE+yXAf5poGhwnfjD^x31^xQ6F4s-zuUKo!hvo9R& z16`$0-enBm51I;C%%QB|-e0#pnecd%K#uycWGXI~E~L?3hQ` z-msC>oZy4(?-BoCCOz6K61Q8TcWuW?+f;Sjh=ZN0r-Ql9t+#mq+Z1_Ow!{8b_}Jw{ zMu~!-?}G<>_|vM1VeA6$_Y&Fl3eB!HTOlse+0cx<0F~G)De@%i)aS1Vn+(8 za(oW7e~NEHrQa*C$l5Q&!3>^Prj$h={iU7YCet(z&373m#*Vq(#Mjp0_2$iAat4PU z^z`Xj2#j^9oh?u@iMW(1;)(LFRCbwXlqTP0%p4fmn?L?BqQQ8Cdbh5a@NsX2Lu-&-cuYpD;ONx_Ic=*kwactw7@fg?}#4xnQvtYzpzD| zTQ06jJO$K7xbnRihEqw;d}` zy=}RByM-+ZoItr;4c~NRI;_znKSG2;~KR_-PV@R?Euk6u*+yA=r-l&YSy__i*xK# zyt)~7qvWD9E@2bD_rh<~;rV3bruF5Ogv1c)oY9|Qrkc;oH3Ra(i2#q zAD^wJ38QuP@7g!LY^OUllSW1H(GE?)Iz+zLX0OLd4<*IkJGPzu`dNytnSIV$a-(7# z76~URWPw9-nnkrqd@&hc1k?aIlq_5T!7s*g%@!z!JlN%g(6yL0vmwXJD?JT9$LB?& zd(|yzjGs#b(4FvKn`MT_5Bs8)=m&!S2fhAbvmq}hcgsNkq;NsVLWgERoA3=I&c9!Audl_Bk6D#QWM?$(WU&+4oX8A$bClR^3BRi|rbrJJ^xv zp`$c5rLBa8;K+#TT$TEdANb;6SiY;idvYer?bugt1K@GOb?@pzU)+B-xt2}!`=L&` z4%5daEAL)S6Kph$ChwF9CM^tV)yA1@sRRoOS?Ss=Tb~W^zhv4zSk4*h2YzF(Tc24c`AZidqS}+6#XX2h&KCaaoRD7i;=3 ziK0bb7iTKyelD8sT>N0#eho8Wfh}=@tjkEMRG<^VGAjEedA1jkTaeJpkd!5Yj6IKY zCb_FY#3p(_aX~-df2nNiQb6pLoG>=6V!KV6O7PF|Q+)y3ou9$4HLm@(WNr4O_DQXq zz&|q|4<&QNNLnj9?YprI%jwZ?({kSt{Oh?J@k(u%D9MjR}`q5U4}SyZ^ALT{>*~C z+WpctyD0QB5M6^;YTRX_m%`A8>5&bTe&=~kEVXpYCNIu;yuNF}$$wVi{#t7$=+;}n z%OoX~tIh1rEgRS+C?>V_qCqyS&rJ2bR_8n9OQ;k6C5CXvRHcV&1l&#uC0Y&lf~wK5 z8ul0V8#m^IjbX0|`x9ET=X^nwB9t{1%SVH*=8gpjhhm~K=o)?nL5^^cdb*EC9j8k5 zX4KHkTd3zqu#tcm^Jip6`E~g<|KE!V!8!i8N<_?j=SC=)Fvr>JQti+vyCc7@l;mSL zaSL?4N0;XN$#QbP5r8P0TDXd;$GGI;BD5bo`TDfw6@jx z4-~;v4O^ZOTm7_x7n&Z|nUcnPI>pNmFf%S1dku%gv+*!+&>L`20rsLECf%hdIC!{V z4J>BAWQ{w?{-4Ax76$^=#DmCrk=A=t>$6wBq+R(e=b-kFTj3kPQCJ&etD zdVaqcTTB?YdG&Diw%M<|AND_PL_&YS*LRxXHNSoCf%tNpZ$b7hdhcnB_( zpi%Ek&M1g1D(avaN)+b}x14R=7Aq5O!}|CI&Zbwkxd|#kurOy0mDq_^-^GA^^1%Q! zMMh==m%5Smm*hJ>v0PA|_3lm(IKin~z7Yy2lPm!BFH`kicxVw}C=)%Y2ypScA`aSl z4T}g)I|dImEoeo>o4%9ZyZ~6SVdE^e&)f8*q zd*12~toPPz$}a(P?#CsApIb^$Rz=GV-JUzwtCszHe&TJBlmKkuMkHz?yp~1F1p|+i zl~NAmf%wg8YB+O;MpC!k!Fy+(Zis=@G3?2C0_bHw^H4!_$YHeTr}rag$(reN9<;FH zqngdBhAeX+Mp;?Tm4^Qd5D6SD_op>#Ebrouk48HC{If4zczxn2RQ!_m0gR~XK2Vxh z=G_gPvOx#91#VwwI(R&f@7B-@7bTsZ(&+uwHNq1qKgX@XxM&`9(iop~g_`v)v7)1UsDu9;Tx}@pxr^!NIZ{pP@Yuj@5 zUz2N%U0d&73^wJtlMamdbCTCpn!Qk=Cg;{vK7KLclk6)u&$uzu$-0&PtI!~_a^MF| zD60_}5(ShKao9^)6prCcQcI*QQLdm!j+b&+~ zJavjkA;B3AiH%y~wdyw5p53wrTxaEdP9~{XH?I6{`MkMxsNke0@AR9z8fqq$MbKY- z-TmtiK1e9|r-6(Y+lQ!&$oup4;E&`t)5F<4(QrWwQ1hSdw^H0XSJs|NFthTWyd#VW z7nVj!US#+X#N>q*XS@G1j6opvuz`Y%JJ0gwo}YGm|KSO+733^%Sv62X|V;Qwln{RLb(QmR1#Ui17)wc+aEApn?1 zpldE5Z*W3jgQ?Ol7ndpz?O4qA+Qa%!P)IYOwYtm{)0?l0^giqE|8s-Ma>YROcgt!v z1OW#gwz76~t3@6~Zco7>Q&C6TFlCVx;pHr4H<8~?{j%PxaLDC>#FPg(ul{{HwV=De zJW||xsVrnpEi9y!`k}b*&~56%-%ZvZ1ia)OT zpTXeSMS@`}flN_s9W#XWeWHL%PcqMTC8*C(6>7lvcoaY15HZW5MW11lau!Imx3f+? zFvEv8n|y>WFJyzXwMuFq$Iua>{Mhhbr;;pwGuOYf^bFPtd7fRpV=uwe44R5q%qHX- zHh{i{js&8A)Au)jqGF8m;XQD);|B(0!00Zl@iOG=ZDw5m`6lgeZOXW_;N|ro|FWrC z3+0`52ffR;nZ1$$@9FbNRH=JQIZb7YJ->$w9rTE;@g!QsHb2SMN1}FBoVm3MXd0ve;K_Rn|70Ti=~IEYp2_2r<=8KJIuFDc*k($u8I$ z8TK|&QE7wzNnmWM@5Y{La9LYgh17oMcaQ@+SE=8{=I8#b@TAm($?c{sY^iBmjTO@gbvXW|5EP!{78GU-(raBxHY>fN<4bHg&s>Y<=(z zP;h!TYn<}~-9$2jjg|N7ho$%xp?=P3?X-U{dp}N)m>8av#JbZ9M#5%&Pf~xpidd$v zJ%C09JG$gd+~qAiGESbxMT!dc(h{+y6;9q+5hDhH^FS2;6vMTCzab!KJ@r9l?}v>W z-zR_6mzkafo>Cql!Yu9bZe+NgWw_#d(T8>q=uYP@2AWmuL zS+b7nmD6EXxbMH?5@w`xC#<5*G2(gXpR+CZL?0>!^mR`<&a2t)7Q^nl<sw1D{dQ>xW{uR*;PlcQfIhKt?Nhuh<;VVO#yq({+rVsR(P|w}R0}QaKSroSC=~6d%r?=X|Hs;Q zhBcXO;W|2F?1uAiXs~hthaBY)tTqyt`74Qw7a!r+_?Z*6Fs*wwGeI<}VDP+L{2grNsJLsQ~ zc20*rUjUa;8HD*4KrnZn5yT=6(`!Cjm(S4N?evV9F}Cqt*kI#CMTN2`kmh%Ux{nAK z2wa*^cz+|Kltb`hat59pHZU1`1zutna;r1n=?E0| zT!9m$!(S|P!=|mPKZmN#m9xkiDsb23H6QG3$&phlfR6q6c>;_HAdnHB%~r1i6N>1w z%-}n##=AfkJ*vNZkEo%@E%=!m@YBOe54@!6V4(|QMzZsRNxDfe=i#C#`1aSr^m(<1 z8e!{3^9N2`{GcXjRrR>pkD4?ht5!RIxx}7=(1L9Tf`F^jpK7EFl%?ub*P5n9BLWnh zh?nhwdNz09G`ZR(ULevru4h=E;-X_vf1_*Zfu{QNTVrYB?$htI&O7ej08ES&g~bdP&qlk)c{SJfsBMIK;&XPsd0*`8 ztBRI>ML3satAkR|SlekGMot6#%J# zXW0)(>CJ{Jqxf9oylBsEZAr|7+J!*L_%gEmlQCuymJRqqM(t6O#toV=z)PqVn{*Bj ze6!%mv-4exVr7Oh3ihCSV|NKqLus?RKxYHTC6sX3lA$+g@*M zq@{YeV`F+QU7AiiNgV!CZvO&?_5@k>tBo_a$22otx?$<=2kW`jd;Z8fYWdMtaCyk% z&CJQ8`1fPAwH1-6>et)n1vuQZ$Hr;B5ci<;cC_D?(1si+?|` zco{OaagcCh!0(_J-^F+{l0qON9th>SOVh!uh<{ z83v)$A~K(xylu@zUi*P$wX*pNo-8419k;%hbM}S?>5Vfw6rMzoN_b2F$<7Jl5WlcU z8Sl~OANj5h9u(&_= z=qCY9W=W7)P8o8t^Hat%e!<#pG&GU*VNmpZrev&><1nW1h1wDMu$v1V(_j0qJ1Tb; zuj?L@@9=qFV{#{_#JLleDQ#KB0XZOP?tdpdc(lsR_h%Vr%N6;_?K|gqVy1GlY11bO2k6rMu^-@W6#U+^g68A56JbYvZ{u(Ef;8S`UkHFW7gOdI zvv5!Ge7v4RF(lv<0iGs5$a(DD7DG z!A>6TQq)kF`o~d@AwK9mj8sp&Bkb;!9_gxM(|gRt$k?}e!4)IbYo%5y!kO~$o5 z1@y3Y_1X|g)jo_@Db@pFfWuNOJww-);;^&LYKtu98Zt?KZV>R7(TQ29g*FI}4I1%| zKe#J_D)iP4%C(Hp z+EeC;ACP^>^wtu&81qYat=19WBy>jf83U0EF(147l|LSZiMko>W?Umo$6CVP67zl= zsYraBy}!Kj(U-N>*nRuLbob0!beNeQ3_aPPyVtKUcW?a--Gxt<>R+G>kLXft4)?{t zk!C~thdMj{(7KXw*|gBwhFjLJKFY_YF-%uc%?di~MI6I}>77(?O-_)u4PKj&^q+42 zh=R|NCqp32ca@_rc-lf0h!0g+Yq%t*T85SW*l4QthDg$KVfH~}s9Rz)3U zIiW;0^OxT<9xW`~EOK5Kef%$b8%YhFue!Ikn>`j;3c1*U)q!qouQB~e^3BjGE_e@(T%Ta}v zY?|w_{E{Phy#tP+N2E0-KrPB?)+O8$NYqNMY3<{d(r_6G6ujI1!{P3V>FUY1H=L4S z{Min`+5faWt=7-uhI&m8^gZWDs9u?Y*fxwe$D9L3|KY3LtNqrYNk$I|mSzuG{qW;* z#AEN>_61$tV4^8K!-UC*w1y?srONGWLb;Lp=t{FN@>UfpF#fn`3I5^(+aFiItu`A5p~n7VoP+lQww6>X zSmaAbUDa5hCEG_>8zV_Ob{%{|N)F+YOjH>0>-L-XM9Q$%QLLHfO6Uk2A1y38=OAO- za*U!_?M1mqpB=`5>z{v<1+~Wc9dPiIe=p`~rh&)kH+9dMHZ#v}Jq``@9e>n>_M+h= zS9b8-KIDbBav-Ios=$2j>nX2(eSQv-pzKq;lFWPATSDo^Jk9sy5@Or$#=Lp@c} zkW}nJXwhC|)7X}w9rr|L_Zjt*V6(SATU`Et!v=37z7lHT)ec?hLBe0H{T4re@!2F} zH(UMYoFLjs-t$9>o**h^xor?)e>2ugxok_HBgBl^ z)rQ7y%#}`DemwQHK-*?b^XOUT?lYgct*Fz3`uIPpID6#Y79Q{l&300^l9?I2jR!ZD zcUeO`3Jz>d{+1Uo_NSSL5dp77lk`>BKAlqZ_;kU%v`GxLMnm}z15MAWG%I&Ddp9Ap zTD#Wnw(idwJ>-9JWMdw>f#pZ6-lO7JOq@e&Z=Na6Z*(8zA~=Y0!ulYadgLl#r~fDm zyUz&5-7HN}f%VPy7uD;eT<$G(9_aF0YlXuYQg0c# z)fHHv6R9K|b?4##oPByt<)hJO16Y4-f)ccF`petr_|0sAr;Qs-P5WH%!2Pnfk;lUYr}D+{NzOr=UqtHbwLOhFKxP zB3hN{{Wg=x&1obP>(rBdudsG~=GG__h%t)vm8}xH->L5_dC+{+bGBa!m45zA09y>c zABiokaOCPuzO!rIK;}z4CbSF<4DJ_V=;ofi#-<5Zp6?9ofS_His0D8DR+fdzX6dW; zZhf^mz?oQ^h*NpGx;hq~1d8Ti_ahb=yU%O|`hOj^md^p=CGD6oasqNchT!M+fwIlx zTlI!NLuBLBI`MujfyC(y;pLQ=sP5@cN+7LQF+)6WhOL9apmr$+70&|aI>>U8PH|a%wcT#&%iB~zCIP!)fogo?yK>~G(eDW0KMge3_+BkFT8jnP zrL_SZVp0=xQE(Np-i=H=$b0z-<`+uE*g*!&L>RA@z+Vr1%%1Bhu7K$@7UTwrjyLndy%MPRiLiw~XBg=aZSc z>@CHs1eF2(F-Y6=4r^8cw>>FB;6|dUwa;gAyJ?<@I2DLCOnGfQiX9DQLMcRRH!P6! zBtVQy0#Q-|m-Um6vd;Zq_VdWMIS&+nPFC|z<<pv1A( z*h_*P!1!4mMrmSz7cpQvxSS9awxe}ignvSJwak^!=}#Z(PVV+^_tgdQ~x zGe@+4Rv+xu6FWL;TCHb=Y;?j)sbQy~B9U1Q@IwhvS$f86c)_Pq>FGT+-S1)s%3WYr zY9%9MLy69Ilj3)tsP~cfVn>D%aXDt>={vC!77+@g_S(MQ(|z5^m)y_V4i-;{G3U4y z?j05HeL7~Dp&~>z+Dq#%vQZrjKl*G2BdmCSnNnhp^QAf^#;VhQHgF))7&X0KMn{xHG*(uNHR@zff0Ehk7Sy6TJ|!uTIi4|I5CsyU+akuX788A$4{1javLD zk8r{f+n&TFjlR|qx$;7E{_5Jo%Lw1ySTPCav6!WrMJ@#x6_D6nP9hC4+e{0rITYz5 zmB7UH_7D!zel-fux*AF+#THn2@`Z~d>+~^ArQ$sDu37_G zrl6Xm@oN>0r{?GzVZGEgUxo}XHh^ukzFPpGO++P_FADjc^itJaBw{vJ2)D~xH~g?C zHvb&?aM6xhnjc4b@B9YK?B>TLJgF=cdy%*g={LB5ou2Y8*=#aFdfh00a@1h^5@Uy} zI&h4n_o`*+R=1AjS4Qeh@YDLmP}qAW`IfeuPjJsS{SI(r5|&QAJjhFLG1}SqJnH%> zCB*%fnk0F*#VqLjpnylUme!3`s`#CXel9(F(J#+m1V|{jcO9c9Sx{~gV)5MaQo9cE zX(gC0HR&N`eH;fp#Vt!eAyxgxvrDI)@C7Sb`fCq;->s-qUQVK@Lm?vJSVD2x%BsFU zeV=}&13wE?VP(|3VAuJbQuP=Q-lrB+u8=6JOUN1o-YH#UFSe38$)IZ0`jT3U#!C3E zJz{=p-dvpW7`Z0bUbD9EDq1mVEbcH{34LF`!-!kk>L_ZvhFw)FANwe$En3)f<}X-y z-*tJX5xy@@BC#<`Hop|EdUx);j2p#6#;#Qs;O<Pzbk&NA0mNm_c+Z71&Ma4v$A#x1+~&eyYRBw^A_fSCp+UIwlwY$odrWe7%{B^XE z@>g|r0ROQ+7o0E^`dZIFOo!NqTwUe8?AbG`25%bskWfz~dk8cqXjgXny>T(@@b>@| zi_d|`IkR&{-(=3~4DoqHN{N{k$XlRY8OtXa;~e?{mDIKbr4jOH)60J8!p{N6=27W% zZx)hO(IT@`z{f5tZzW!gD=lDT>A0AoV6^XUN2Q)t9l}Jgk_#FX7ple>&m2F|tKHU; zf7eWxF<6F*Iv2H2(gVwQDm-O`Fu?Q=S%+-wI#_!j@bQQxb&tn)+0;nq%yh2KQfUU| zia`MFuCO6VQ0{m@!udd}aZAo(*F#q{s}VbP!Z4yVYv?pl%oZam!zM(8LBMhT(Z$(& zb9GL+QnKLoX`W^i<3MD?k^Oqux67NwK7DJ{WXzL;qc0ailI>YfcOVWa1ZAJU_b%1> zUc_<{HGACVqHA;8F8-VewOZ&%ZGUlUJ&`}cWUn+B{8b&4u+G`sQky&B7x!FXR5Waq zC_egn*Id6?NIPz=8$jmclxlC@>T%;$j1h}=Oe81!ai*mBj)~u+_F}nLRK_){&Vy>y zvbeDht7@jLTwj_NEOW@{R(WU{xu;!gbwKcBJx*n(ajeXVn0sa2WxNA?-!;O&op`Xt z44{!VUi=ZrF!8ln712JFugN@x4nwrmTpY8aut0J$h67_i6p}f=Y&Xdw`e)Y#B5mUY z6vrAa)Hqz%rM8u#+c*rl6L_@w+k9D$JgEtNJ<9Txzto}r0F1q>9jP*s>cNlaI>n6Q zZ+`oAA}UmAb7YOmb(Q2WP-Qhm?U#)1l*=A&fEtK`}{BMfi@z17BaWbnPS7y0WX&o?>?>dM4i4dp;2+^W2#089oo zt36RgVR;R7=dnIhhl69k1>}kg=kopWU#BlNd~vk+Zv1lMfQK_FOT|zE{;j#9!d6Lw z=RpTN^0G;6LjzB#_bcI+Zvi7KyM`Py=aMP=G?Jo7`bl_ubk3tuyho?4Pq)|SFQwBe zrm>kZ+l<3flfXe_bgjm>h zFF8JMa4`6^H>!g8z@*J*;w(vW_vbk?Qmnz_Mmxi4-K1+T58a3@e03CY)Rn$y;-Ylj zHN--qJ9LhBD)vyXvae2tfQ#hs=*RY&(+f=oNWdYuz0@uN?oz1Jj$eb>XC zX4RCiEsmi1!;YN?+8vdisf;^IUJo504IjQ$t~Oh)X_T{^V`XyHph%@vHVh))EXaJO z(mRyx?C28!DYsc2@JLDM6TX-1HcASvnN#xCD73KAcoFnbr&03E&vD^zXPJD-w?^E4 zJ%RPggxoj8Flt^r<$zs_tM;#J6;T1MLTTsFLF?&O5dvwo^~N4G+Wykc8V+>(QhKW3 zVB|(#H}`qbtE-iSFZXZjvlgM8kM#%2_YhR+S{{8!T53Y2Q>Sf$AssT86M8KW+1}~d z*v{Y)PK;A?oqp>xzq(-N#xm;^{UsawdCq1Au%$IuX*?G%{T3R5M$|X-8@x;i2#WO* zO1y4zLX^WHYgg-4`G?DP=F@r>GcxBteG5Qt&e82&4RY#Y(;DCoksWgz(Aj=>eLb@^ zyOoGxnY0H_Pvk%D#OwJ#lgsZ*@V2cz$VK(CEq zk5rCi;vWeCBh24In2lT)ER$*8$x6@;2x9$JIA(FbOO7Fr1<@cw(m1iF0}ES8eRmuY zW7gHJBL7Xx_uvUx!SZzBy6~R^@?-B8x=;9Wsq*OSsdNrGpcLy|`_~s8S{?Hh)yL-4 zRanp9Vpju4P&ZU3)e3#ymFwbC+(w~uA4Xu9rGv?evpCQ3*$F(tX8QT&7?my&Zu!zz zRdnW;6GBWQX<1jLBZ%H>t7T76x_V>%1KAg{ea8oimOu{?m63rGdyai-&F2|UD78C0 zd@5gK!JPZmGuu*O(ZvT zsekr@XXB<5_VMp$-Q)5W4E3*K4r(W!s(jKnB>OHC>uh6>e8@=ad%Kh+4@In6PJv3! zm%zG>^e=M2MFdVBk9Ae?h2eyr*(`~GP>I^=JLr)LJZ#Q&%iDGOMH$zGQsi9+lgslP zM!Quzy|YQ?7uiltEE*>O(8@`DEC@)|3Xv&UAaYR`XBugBi^t5&9};seINxrvT3}t$ zhs?zDLH7s84(NA59P_rUD1;PJMAdUJtraa#;qSC(OsoZ25FV)~t+Tz5lhh&HI zyqfCcjs7MQ7RuCqTcdlJZn zuJ6TCNs{qww@RBUraF0X(HT|x?pNLV2Di0tKEHI6DNkoYt$^)?--{khFXaQ1zN@rb z@RQ(zymSAQrdVjTJ?v<(dPrQlTVwg02;p$~$PA|Iv~B9w_yA+8)iMWsrx@~NW9oMgeC!;?x)D?O?DYI!2 zXJ*dFlL~Os-sJr#`?2ts#N$=YT`r!1ke9YQK=u#YzowUbX_VHnPfLlbSsveE|>rF}=T$obK@UulV+X$A#_ zJqO;o_~dMo&GxAY&H4;W=MvYvW>;Sk@)tKfR1kaE2-E5?yCV@BzkMz$%JePpRm=G0 zcbnC~QH6*89v>xdCzyA6x{O~Ql$hoMRZ@|u?zS?$e!9;5Arm0cN=JtFW+PdQu|rC@3~+Yf)|6mA_sb+A-Z zLi)l2)m6R>8NBAy{H&w0l>eB+sjpBw39;IA#D9IPj67ZnDH!sbNgx^W`7?%NPX%PF)L*Asr6IU;GY9WLNgAnw|0aKl=BMHUj$<;14e!efRqIXBx~7d%|EQE z%}(_-J^S(?KfOiGb+G0$LBe1&`(;MMjULtZ45*D!Psjr3csAKzG*(2_te8=;f@oy= zY;DWmVc%}G^LIy~gsH3z{!Ky{B`gKc`_gSAqF{5(B5ZD%pC9XGH|T+Cca7@$@O7^m zxLQ)(f3TGw{Yt#RM<@_^X{Fi6f6Z6MB3+kKd_P+a&YHfaxKB;o$&);l#TMNk!d{Sh z2!KdiCiMBbBVSSTxRCFpSVkR&;VKtLC!(dc_44RNvYmw*Qrto?2f`}$&|;Q@bxc#f zN?DP^#jF&w_ipOuJ3hw%HrJ}(p!^eM%%?}es z!gA*%OUUE3rK!G=My`U@J5h`;OuyCoO&b9PT}>E~atM@S50zca$a>>3Q|CZkpOw#? zi$rYN=<7H{ugXafv4fC#5J;v{YiG)4;E=GY+u=8wJ1VSUpt@Q7kni%)gnPM>-m!m- zzdQ)yf+4cBmT6CP|k}$o_;n9l^!bzQE#CFg<7RA=tN-TwnEA83-)(r=KB!;MtRvBgZ~`CfBD;OY@Y|bd3V9&0AejTd%&= z#lilstp->B93l9Dt-RCs8UOTiTdVLlKK4CD2|OGy>A$}Pro^7jPa|ZLR{k}Qf9o^g zul~p1Zl#R2Hst&0z|emO5Y_+fCjI-h-+vCgoPGMXUi%+8m48g*e>IeU$;MwfDX;*~ z7RJokw*i39j}O0l=IlNCr&zJw_W$p5`&&%^-j2UAs9-yO-ZW#^jubVVUUma;AWj$> zT&~ME$4mwnLhE0I5`AA{)apQ%Ap+#{euT}o>_QiCw(1|x4z>3b8seD%n@ezmGt8;f zB!oTit3K=(5s@R|AlV*-3yMbM9D9sQf&0j{Nj8i=)r-cOmHVm34AGsX9hQtJG+E!0 z1c27-7dBlk(^pUO=0#08%@O=xW9PfGa9^Z#cURt@?n{FXuG~D9Qcb`6^6z84wZPci zm~eZX6n=BzGNd$Mu@S}xF0Y{A$i6f`kSbX0uW<0}Yt>IumGMrp5^NV0(~gy(LhL1u z=6!~_Fu~Q!bukffKu&LZwF2-wYE@}M0Zoj+dxZmhVue@g(W5`T>T?vq1Mt2XD0&KUB1=@FHfW)V8&!7@?q7XLk8IwFOC9IQZ zAi}5sOvz38S+z&oz{Z1o*}c&$%0W0+L+5INosShdwVR$V{I?SNOTCz>+oW$S+hhNn z`%QS7jV^2|b3+P5_hNnaac1h8uC!4DtifGSi?rn5Wk>pk8pkdqpeL6IxzJ>B;G~t8dUHDz1HMjxuw@HydWP<@P!)S?BWng|&az zCB|3#3N0wDF#t6G+>!U<%AWG`Me+blcGF4wdg%sA&N;F#&$X?8vB*Y1H+AW@bs+Ln zL<-8Ggwvth6lLZFXfe)%-r1vGQ}0)1mbwx5YuPu1Wa#qA-Rs z{hm2budea2_Sra4a(_aU(!g7tT+Z=B*bdYq>VtsKc#HU+M9Z@ST*Bq^pvob*=A@#d z&MXszpB*3=bUvgm7YsZM^w&H7SA1#H;Ogq$KY1)Q>Tu$L+zn56>=LtF#q{R;%*s!d zy_{20!fZOZrOTOD-;B!fmeVmY(F;Z0j6(05!oeN*RTRL))Prd_5w8xCNO5zkf!PP;=jd9gD0tmSKidER#Ds1Ceydd*_^_ z7VdgCHs;M2%FUx?Bf4`;tCD?L;9j+MuIMPy8#BR5=zD|W(A?t8kNFnZkI2H}cWkjV zK8myU+=;zl#V5kF&Sm+wtOOR@N{3y_s{mp z7_1&RWoa-sV*iuDP#53m;W?A56R-7$=4MV~ViL&TGpNf`y`a)WKUw+YVBVwElXHGrKN%;^uncQ z45wO{8g`Ej8)x5C2gVp=u7&P_QmTkLNyiH+!(Z>Z9c>0ZU)@(^A(?Y1t1Q>-g?*`R z|5)%~S-=)qXpzfZxzb8ddnamL&viCC;TlxJF6oX=5W3V6v1yI5E5PPA z+$!!C?0HvgH&^v#r?u&-Lu#%Bv!^M~8X;y{y6JhESO25d_Gw;bxLWhmt(=7rO7{|Lq5`ox%W!T*v${%s{ZC z(v#FR{>ryEXZ+5Ia?@v@4Au9j$;HxnF81G;xF)v&Y}?z`bH@?(xK!~wqgji4pND?% zMfPNiyOV3P08q`{t#wa%=1uW;Qg$Osc;T_9V2=I~C4Y z0gg!07uCX@^Y0&%I|)kX0?L2;K1NWHTD4iJuR?k5uxuyezaC#S)}2YNzG7SArFS5e z`j4}fd&T+Mn_D)d9*6FB;2o$86eH?2WYW`R)#<;rLL8ZLO1h!(;Ec=gw8RpMJmXBa z8)A;nF0)a#3$XF2+y05%n!654NRj*8ZeH+h5o6Nl32|o&2EAtQ1LZWirzWy%ROIS~ z{vA>Py78GQjfUqhWkjYG{;ng+Eaf#<-5W}UX7$82rdWY;TqE!E(@fnCWmx)j-S^6#Ab@ zFAhX@Y`Bxmq+lI2HG8q>5toE6G0?SQjkuECo(j?hByVll3_~j%2Qr(I85eqBJpVYf ziRvB{_Sro5r0&-92X_vYMDV|Au5b>whF`-|g3q+B21TL%TrdeQs3Pj3h6;%clnPTugn-ro3S*X<_{|?aNx**?7LO zCMeP(q5bx%4Ik!!s+vB&rjtn#qaEwf<@zy`3Bs)2i=v$a>C;LP2Z9_QNB4w;_@-83 zeiP^B*T-y2dl!imH!ssQTL}oTmF#tDlPG!A8JP@W0k=!p{rI``o_Z-ml!|7z&h0e= z)A#BzF8j3e%6X3}TqUbKD!DuQO?EM}!H!n@Si5Q`3{r*R1G)Z*nBaYd+M#%Ev5TUj z)HQaxt92UVN~n#(*UOwhGp7N9?vQXUz_O@9B~Iook8Pdr)aO0e1~<77-YmDJ=CZ#na>oANw7-Y^!)*T-6Pw-t z|FmfUBKs%e_yfZ6cP#lo!v;i!NgYUg;eZEyvz2V(Tf$|R_2X8Q&a}oFS}@S;Tuej_ zps1dtZ)TzFyC=ofVKuV@)j0o=FpwM>&E3i*iXCWs9ckdX z$qW=lxAVw5%eu)r%(!Q8zjsoh<)hu$1R>MqvO;rAg9U2!2|f9l8WB*#=CP?)uDuYl zc5NT@+Jx2GkP2T>k&2!TNdJb$64WX=`b0U(6F#tL&TGI6@jP?A5etX#6|P zmo7o{QMDUB&-eVaVgblsyV&jA-INbpdnPub(z^U}l;1s43xeXa%-p97NwPk<*df5v zk?ugHMtCD=zlw6MW#Hf8+LurA3owH(fK(j`gWj<#ZhS)-qEm+g*{mb&M!~cYC$BoQVDq{p&;xW4i!jBOqdw{5&{f;9D{tKhRXTK|Bpc8guv0XK# zu$71R5%otP({M;S#9>WQ^D$<#fv5elQ_g9hm0_sb;X26}NkuN4GGpjd+1}~^$R~%s z-~DE$?M;Y&eAxcPC znPu9mAltC+S^bXA3wW24c;%JH2+8r1zgBH)@^Y<`NMB!BDeN?Xq@RB=Q2fhdc$NX<9go`L@Vq$p<}Kxf)G{g=E6(0SHzNyT&GwB7I(SNgV+jlty+VLDY+6A=`~H} zFRrb1?l^QXtOTjNen;k9bt(?)h~d_?K)A6DV;-<8?X*3FbaG; z(bL^=ib-@!_HO737-3f%%#y#X*hZ=xH?d-z*kiaau26FU3K;0dBaAQg;rkJ!1bY{A z=%{I!)cvtfQTlVk_~hq+I$T7hQWLHv6s3lmoU={_gLaXCo^go(1V*8_NUu-y)MbSMG+L28VgGp99CHzFO+JIk=ryFrhmP5NTC;AR&kSD zDZQAyH{?&u()w{z>tW`F>jniG3n9PfsB7oSOOGOFLP8`f{btKbQ)iDNym~c64GnrD zM8hRd`SeVc>HE#7nU?hv5WQtKy*7%w2IM&!)>yQ)J1-VOnCA($BPA|_7c+y4Qy-{N zvAC1b(l>ZLuX={9V3xE5s56co^x8@8zNkr3a&_eqX$KedT(OvmW+9CeQMTH4=Ozy} zIm>+eWSMu!$Ery2#$!Q|?$I{GPw16-=hg`ZA}iP7o1V%JZ{uMXBWr46-L1_PVqp)A zyu5mf(vZC|iIp$Od((`b%&)IWCc2l}lFN%=h*$=^(JWt*R%X6>ykpq!o+l+E*Sm}V&GH^>RixBN0y$RAwRx?blC@-B zee`jJ6LB*wZU_q<_JmLq2GHx)tRYhPgQ34{@aV2T7Az3Oh33_B_m7y_J1b`;81b58 zb98>SzpC1MWG>y-daX?-wa*MC$LuN=cbU9;Zj(^CG(*-v!dQn8{XotWhB%)^NS9s5 z(8`sF$gir8?&_$P;vGY7-N2cvldry%}!&DJ5H$z`t@HlP!2YmZ!0;d_F z*V?0=3#&{w7dMa?LC|vHT7<@Hx~sNKjev5`E|Dyn3BAYTP2L~>3Cr5*Hz50pbuw>kmI+JA z+=CEHya=`_$P`UxZOd!W=dI-CJEJ_XNjDHn-9ZFo*>p`OPGIJot}8yOH=!S5w5qE$ zj40AKUoN1FxDk z+v?J=6ywzxN~rRTwgb&~^@Tv@AW}WtCt?wz{q5CL_ovL&sWS6FdXX`#;Wa;BYWpN# z_@6D%=;*zzMg&?$A*Z(Sl=OTGFzGcoltbW1K0}#uCod2pnr5$yT*zx2@ZoY!Sf_GU zPL?f@*9Bgty9N^Q^JYH^ke2isyt{qGN%T@xA7@BY4k5pnWA2EB!$zO_@VWV0#}E$H zoRzO}e_qTMGZ^eOEnDDmR58z0G*CA%K%-l0p(%Om)!l>c33ZYM^9F$@iz1qrjQIQT zm4)N^zx@tK^3}dFy@pnE%V&eKD!pGmThO*>u8j_EH~-KxR#iGQt7Yz`C%`O5=FDiv zn5hC*E4lA|$!@GAs;cbn2;3}}CcQJW`CVg8(`xw53*yI}7R^oLGdyw&_bRjMLVPW# z2ZfNG_?dD&!S3wH6$V<;kJ2W_%!DI!#h7*jB=rV!ab}h1%;a%IWgm@FFrvm??0kiqqsndCE70VA*Xi#iSUZhu3>={#DQ$QZ6ZBr*!h zwkR}&#shC3h*_hgvGRny0}UU?i=Lf5j>yS=^+Y7b58fuqERH2y7|YMO90|@_0)9UoWTW4{ZC+m-FT6w^TFni8X1sv6hdsKm}DkQyOMTT6O7GV*z&G0p)WAdoMyfz*E5@cv(&b>34mX}WkWpsAm9cIE zJTyhY0LTNw9L`+fX9Ct|O&z6*bVf~0chOVwJZhIH>Rgbj_Y2y2b@X&7T?GmGR0m2J z^5Yc37plprjLckV9^Kj6(rRcy6_CY&B>6*ov2U9hrF-Wr>QUC@qE|6D7fX-jH@1L| zT(vu|*%Z{e*&jzxPf^c~VU=GFI+gSqH&i1wLyA`77*7WGHkeK5L*&Tj`>;Mph|?J+ z=Se3g5oQZ1EA+8L??C2eO39R*F!P66Hp<}Q#cNp>sUu^E%cRYfoc%kd@V4DEALYPxV6Y14GDBVA5s{iMq zvIgzmQP7Z$QyCZ@pKlB((bocH6kncUUpaY%Q^*jFX11=*M1o8FmKUZ-N0hC$pI)-# z8#RSIFD3ZD|-=h1bA7MRA!#RG$*=2HqQ$gB!|Fxcod=T^<_0NU-U zoI%ja@Q3zB+wQ>%I;l*Oa*W6^g}|+gTY%ZJHjCuy*Zamr73ZCVv1%H8h;*pVN+|Zv zoG$65KPCB9)_s087?5x5iZdAQiG`fxnjkr(C<)HJ2pHKToFaXxLB={R=DQLzK<^9v zB7wIfWW=F-DdBui9xW4L^VL`?_3Ru9_cqt6^i1@?`F&#hFy!v}d zJ|08B>q<19KL%6W z2G#4*Ge~yh-9H)!50iap+L%t8lC6_$1x^lWTuvs5GU(t2BIPtr05C?`SVC|g35o??ON`h+Jr z_9bnxED+LgHEvn&H>(lFe7ru)1CKLxu|R)tZbca#i9wQ7owHoylmvk)B19&~Eu|VM zmK!$sl!xCbw|3WPZU~h{h3j{E{HMKc+B-R=n>|Y^L%d`m1+%F~) z;{C}j1L}bzqdZ|J;84-`aWtm6*r)>KP7=8Jh1e0_z5zF@>O)db)A4BPw}cS_It&pB;=ScbS_hP770f>%ehRap6Nazxmqo zJtQv&=e0VN(enq}6{9{5Ad9^rtE<9lCAr&$y8y(_F@7XBBIAfw*&m|h&+TGNN5x27 z>!4AD1WtvOXLq$4li6Dgq*RJ%^xUQPeT3ght|NbBh&ox1a^1G{NAz82^=Vttm>Ggo zHpI5PXAo22Rh}E?si&$d*DTb9=(e_-@APUO_Eq_Ks+*oy=#cwKI#nLdU>cLqKw_P| zGVV9%&A)8Ix*?p#`n|2dNN>kFRvWeTde~4}84VqtgW`7BCF<_zE{Renm-@FCJlaBD zu~grl^1#tEIJ3;g<{Nm?vbfCT=iNAEr`Z8h;q67SNhj+S8=8{It`+Xi2Qc1VQ}2MD z+k{+N%C@`E_v|72r0>D{G!Dwvf$CuBvPlUYxP75+4R;20N#RBw%(V>@x*V&|f4sQq zABt_|`n>Jg8kO54>gV1Oj16>?FiB9oq4K=Ce5(TEin*|AJ5EIRYsY%Qt6AbHj?zJ@ znyc!EOYzThn?JdqE3Fna2~!y*bF7pV$|srvqt{&Z=LL)M1??HRnW{hEq?m%MO*F6J z-)FjED%VehtImHS&Iusb&n=R@rmM1X{^HoKVj1aoZq-eV2F<-f%(HrfgzFxCLCUDl z54m#AksbFbM*Fax7B$)OnX;a$F3xPL6-QI;rkhQgBnqf(joQ#&AupfCNxjp#Jo-a_O_5SU+jXx zZ~bvMD`aqkvh-o}h|h`Ky7l1xpYR`pemPB%~WMhf&I6}jeMr%58ls_>u> zgT>(DlR1MjaQAcSol4d&HOn%(t@ydKw+9It{pm+bc2DG&^y|?T=48k)3GqDypKr}p zDWvoG3z4=a1L!F!oYE%wL2}=ikAeClqJQV-xWe^XCM&)6VX4)a~TK8MZWxX z?CMI#@Jd(#Y9Q8%s*L>~dsV7-sQ>N>+ z&vfrOUu$Y|?Agv|rBAcxdB=KAt*ksh&$j;d|Fh7wli;?2qsOgTsY<3y`jfxMzRux& zx|NxI*0tW50cTl0Z|P*|VEOenzrH-6-+c0go7Y3mmW1m2?S6mLZc_fVzvq{fsJ%0e z{Cnx$-QxQHTRcx64|$Zb=x>5*k;W&j<1;p1-G1+$lBe|fEyjCNpRYZ;<+YbR%%-g|jFTl%DL zGbHCPygRGp9xzM3HvIRwRIy(TOD4ny0B(_Y@NF6rn5zNuf3kdjg;1ujGUKcCTl3Qr@bnhFIa>$gk^uo zzvYAQM1F@$LKbh6Uz@)KhA{e3m{@xHQ8r&`5xv#-^mX;D%F+7EFYu%mLw z-vtPe8al#)KmZxx1P-zTRjLCuAiEeO51eNPFEIc+6D041XaUae00Q8+2nZbF2M(&+ zgH43iv7p8Vl8In{bOJSSAO{!1Ku|wa`47a25J!O$5~>yG1_Fm1kUWLtL`ZuFyo3p4 zBGObP0l+XkK43b_U literal 0 HcmV?d00001 diff --git a/assets/images/help/codespaces/python-flask-run.png b/assets/images/help/codespaces/python-flask-run.png new file mode 100644 index 0000000000000000000000000000000000000000..83387d2224e8b7d50baa9b33a04486ddbbdadaa0 GIT binary patch literal 73290 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 literal 0 HcmV?d00001 diff --git a/assets/images/help/codespaces/show-all-definitions.png b/assets/images/help/codespaces/show-all-definitions.png new file mode 100644 index 0000000000000000000000000000000000000000..93de38d37d8af872630b81368f8b23a42b6d6045 GIT binary patch literal 44354 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

xtvWJnqv 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 goBsm(E}aS)Gp6>-&C($=kcrm1?wn?f&c&j literal 0 HcmV?d00001 diff --git a/assets/images/help/codespaces/switch-to-standard-mode.png b/assets/images/help/codespaces/switch-to-standard-mode.png new file mode 100644 index 0000000000000000000000000000000000000000..e8ec86f4ca471d42f3f2ef2bdebf93f8a821c8ba GIT binary patch literal 42896 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≠*(_JKGy30?z!C2 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 Th59Pn+KLj18bNfUcacWAMTA83-dC?-Nurlk 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 z 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

y!D;wk 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 diff --git a/components/article/ArticlePage.tsx b/components/article/ArticlePage.tsx index 40cfa61920..969940e0b5 100644 --- a/components/article/ArticlePage.tsx +++ b/components/article/ArticlePage.tsx @@ -1,10 +1,9 @@ import { useRouter } from 'next/router' import dynamic from 'next/dynamic' -import { ZapIcon, InfoIcon } from '@primer/octicons-react' +import { InfoIcon } from '@primer/octicons-react' import { Callout } from 'components/ui/Callout' -import { Link } from 'components/Link' import { DefaultLayout } from 'components/DefaultLayout' import { ArticleTitle } from 'components/article/ArticleTitle' import { useArticleContext } from 'components/context/ArticleContext' @@ -26,26 +25,6 @@ const ClientSideRefresh = dynamic(() => import('components/ClientSideRefresh'), }) const isDev = process.env.NODE_ENV === 'development' -// Mapping of a "normal" article to it's interactive counterpart -const interactiveAlternatives: Record = { - '/codespaces/setting-up-your-project-for-codespaces/setting-up-your-nodejs-project-for-codespaces': - { - href: '/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces?langId=nodejs', - }, - '/codespaces/setting-up-your-project-for-codespaces/setting-up-your-dotnet-project-for-codespaces': - { - href: '/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces?langId=dotnet', - }, - '/codespaces/setting-up-your-project-for-codespaces/setting-up-your-java-project-for-codespaces': - { - href: '/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces?langId=java', - }, - '/codespaces/setting-up-your-project-for-codespaces/setting-up-your-python-project-for-codespaces': - { - href: '/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces?langId=py', - }, -} - export const ArticlePage = () => { const router = useRouter() const { @@ -62,7 +41,6 @@ export const ArticlePage = () => { currentLearningTrack, } = useArticleContext() const { t } = useTranslation('pages') - const currentPath = router.asPath.split('?')[0] const isLearningPath = !!currentLearningTrack?.trackName @@ -109,14 +87,6 @@ export const ArticlePage = () => { } toc={ <> - {!!interactiveAlternatives[currentPath] && ( -

- )} {isLearningPath && } {miniTocItems.length > 1 && } diff --git a/components/context/PlaygroundContext.tsx b/components/context/PlaygroundContext.tsx deleted file mode 100644 index 3047070894..0000000000 --- a/components/context/PlaygroundContext.tsx +++ /dev/null @@ -1,88 +0,0 @@ -import React, { createContext, useContext, useState } from 'react' -import { CodeLanguage, PlaygroundArticleT } from 'components/playground/types' -import { useRouter } from 'next/router' - -import codespacesJsArticle from 'components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/nodejs' -import codespacesPyArticle from 'components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/python' -import codespacesNetArticle from 'components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/dotnet' -import codespacesJavaArticle from 'components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/java' - -const articles = [ - codespacesJsArticle, - codespacesPyArticle, - codespacesJavaArticle, - codespacesNetArticle, -] - -const codeLanguages: Array = [ - { - id: 'nodejs', - label: 'Node.js', - }, - { - id: 'py', - label: 'Python', - }, - { - id: 'dotnet', - label: 'C#', - }, - { - id: 'java', - label: 'Java', - }, -] - -type PlaygroundContextT = { - activeSectionIndex: number - setActiveSectionIndex: (sectionIndex: number) => void - scrollToSection: number | undefined - setScrollToSection: (sectionIndex?: number) => void - codeLanguages: Array - currentLanguage: CodeLanguage - article: PlaygroundArticleT | undefined -} - -export const PlaygroundContext = createContext(null) - -export const usePlaygroundContext = (): PlaygroundContextT => { - const context = useContext(PlaygroundContext) - - if (!context) { - throw new Error('"usePlaygroundContext" may only be used inside "PlaygroundContext.Provider"') - } - - return context -} - -export const PlaygroundContextProvider = (props: { children: React.ReactNode }) => { - const router = useRouter() - const [activeSectionIndex, setActiveSectionIndex] = useState(0) - const [scrollToSection, setScrollToSection] = useState() - const path = router.asPath.includes('@latest') - ? router.asPath.split('?')[0].split('#')[0].split('@latest')[1] - : router.asPath.split('?')[0].split('#')[0] - const relevantArticles = articles.filter(({ slug }) => slug === path) - - const { langId } = router.query - const availableLanguageIds = relevantArticles.map(({ codeLanguageId }) => codeLanguageId) - const currentLanguage = - codeLanguages.find(({ id }) => id === langId) || - (codeLanguages.find(({ id }) => id === availableLanguageIds[0]) as CodeLanguage) - - const article = relevantArticles.find( - ({ codeLanguageId }) => codeLanguageId === currentLanguage?.id - ) - - const context = { - activeSectionIndex, - setActiveSectionIndex, - scrollToSection, - setScrollToSection, - currentLanguage, - codeLanguages: codeLanguages.filter(({ id }) => availableLanguageIds.includes(id)), - article, - } - - return {props.children} -} diff --git a/components/playground/CodeLanguagePicker.tsx b/components/playground/CodeLanguagePicker.tsx deleted file mode 100644 index 83389ed99f..0000000000 --- a/components/playground/CodeLanguagePicker.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { SubNav } from '@primer/react' -import { Link } from 'components/Link' -import { useRouter } from 'next/router' -import { usePlaygroundContext } from 'components/context/PlaygroundContext' - -export const CodeLanguagePicker = () => { - const router = useRouter() - const { codeLanguages, currentLanguage } = usePlaygroundContext() - const routePath = router.asPath.split('?')[0] - - return ( - - - {codeLanguages.map((language) => ( - - {language.label} - - ))} - - - ) -} diff --git a/components/playground/PlaygroundArticle.tsx b/components/playground/PlaygroundArticle.tsx deleted file mode 100644 index aff8db2c62..0000000000 --- a/components/playground/PlaygroundArticle.tsx +++ /dev/null @@ -1,104 +0,0 @@ -import React from 'react' -import cx from 'classnames' -import { CheckIcon, SearchIcon } from '@primer/octicons-react' - -import { PlaygroundContentBlock } from './PlaygroundContentBlock' - -import { ArticleMarkdown } from 'components/playground/ArticleMarkdown' -import { getAnchorLink } from 'components/lib/getAnchorLink' -import { usePlaygroundContext } from 'components/context/PlaygroundContext' - -export const PlaygroundArticle = () => { - const { article } = usePlaygroundContext() - - if (!article) { - return null - } - - return ( -
- {/* article header */} - - - {/* body */} - {article.contentBlocks.map((block, index) => ( - - ))} - - {/* spacer for end of article */} -
-
- ) -} - -const Circle = ({ className, children }: { className?: string; children?: React.ReactNode }) => { - return ( -
- {children} -
- ) -} diff --git a/components/playground/PlaygroundArticlePage.tsx b/components/playground/PlaygroundArticlePage.tsx deleted file mode 100644 index d2ce7a7d12..0000000000 --- a/components/playground/PlaygroundArticlePage.tsx +++ /dev/null @@ -1,94 +0,0 @@ -import { GetServerSideProps } from 'next' -import { BeakerIcon, ZapIcon } from '@primer/octicons-react' - -import { MainContextT, MainContext, getMainContext } from 'components/context/MainContext' - -import { - PlaygroundContextProvider, - usePlaygroundContext, -} from 'components/context/PlaygroundContext' -import { PlaygroundArticle } from 'components/playground/PlaygroundArticle' - -import { Editor } from 'components/playground/editor/Editor' -import { DefaultLayout } from 'components/DefaultLayout' -import { CodeLanguagePicker } from 'components/playground/CodeLanguagePicker' -import { Link } from 'components/Link' -import { useRouter } from 'next/router' -import { Callout } from 'components/ui/Callout' -import { GenericError } from 'components/GenericError' - -type Props = { - mainContext: MainContextT -} -export default function PlaygroundArticlePage({ mainContext }: Props) { - return ( - - - - - - - - ) -} - -function PageInner() { - const router = useRouter() - const { article } = usePlaygroundContext() - - if (!article) { - return - } - - return ( -
-
-
- -

- - - - - You've found one of our experimental articles! Have ideas or feedback for how we can - further improve this article? Let us know{' '} - - in the discussion - - . - -

-
- -
- -
-
-
- -
- - - Switch to non-interactive article - -
-
- - -
-
-
-
- ) -} - -export const getServerSideProps: GetServerSideProps = async (context) => { - const req = context.req as any - const res = context.res as any - - return { - props: { - mainContext: await getMainContext(req, res), - }, - } -} diff --git a/components/playground/PlaygroundContentBlock.tsx b/components/playground/PlaygroundContentBlock.tsx deleted file mode 100644 index 5f2bed328a..0000000000 --- a/components/playground/PlaygroundContentBlock.tsx +++ /dev/null @@ -1,81 +0,0 @@ -import React, { useEffect, useRef } from 'react' -import cx from 'classnames' - -import { usePlaygroundContext } from 'components/context/PlaygroundContext' -import { useOnScreen } from 'components/hooks/useOnScreen' -import { getAnchorLink } from 'components/lib/getAnchorLink' -import { ContentBlock } from './types' -import { ArticleMarkdown } from 'components/playground/ArticleMarkdown' - -interface Props { - contentBlock: ContentBlock - sectionIndex: number -} - -export const PlaygroundContentBlock = ({ sectionIndex, contentBlock }: Props) => { - const { activeSectionIndex, setActiveSectionIndex, scrollToSection, setScrollToSection } = - usePlaygroundContext() - const containerRef = useRef(null) - const isOnScreen = useOnScreen(containerRef, { - threshold: 0, - rootMargin: '-25% 0px -75% 0px', - }) - - useEffect(() => { - if (isOnScreen) { - setActiveSectionIndex(sectionIndex) - } - }, [isOnScreen]) - - useEffect(() => { - if (scrollToSection === sectionIndex) { - containerRef.current?.scrollIntoView({ - block: 'start', - inline: 'nearest', - behavior: 'smooth', - }) - setScrollToSection() - } - }, [scrollToSection]) - - const isActive = sectionIndex === activeSectionIndex - const anchorLink = getAnchorLink(contentBlock.title || '') - const showDivider = !isActive && activeSectionIndex - 1 !== sectionIndex - - return ( -
- {contentBlock.title && ( -

- - {contentBlock.title} - -

- )} -
- - {contentBlock.content} - -
-
- ) -} diff --git a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/dotnet.tsx b/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/dotnet.tsx deleted file mode 100644 index 1bb53d7fca..0000000000 --- a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/dotnet.tsx +++ /dev/null @@ -1,324 +0,0 @@ -import dedent from 'ts-dedent' -import { PlaygroundArticleT } from 'components/playground/types' - -const article: PlaygroundArticleT = { - title: 'Add a dev container configuration to your repository', - shortTitle: 'C# codespaces', - topics: ['Codespaces', 'Developer', 'Organization'], - type: 'tutorial', - slug: '/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces', - originalArticle: - '/codespaces/setting-up-your-project-for-codespaces/setting-up-your-dotnet-project-for-codespaces', - codeLanguageId: 'dotnet', - intro: dedent` - This guide shows you how to add a dev container configuration to your repository to define the GitHub Codespaces development environment for your **C# (.NET)** codebase. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." - - To work through the instructions in this guide you will use a codespace, in either the Visual Studio Code desktop application or the VS Code web client. - - These instructions are for C#. If you want to add a dev container configuration for another programming language, click the language button to the right. - `, - prerequisites: dedent` - - You should have an existing C# (.NET) project in a repository on GitHub.com. If you don't have a project, you can try this tutorial with the following example: https://github.com/2percentsilk/python-quickstart. - - GitHub Codespaces must be enabled for your organization. For more information, see "[Enabling GitHub Codespaces for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization)." - `, - contentBlocks: [ - { - codeBlock: { - id: '0', - }, - type: 'default', - title: 'Step 1: Open your project in a codespace', - content: dedent` - 1. Under the repository name, use the **Code** drop-down menu, and in the **Codespaces** tab, click the plus sign (+). - - ![New codespace button](/assets/images/help/codespaces/new-codespace-button.png) - - If you don’t see this option, GitHub Codespaces isn't available for your project. See [Access to GitHub Codespaces](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#access-to-codespaces) for more information. - - When you create a codespace, your project is created on a remote VM that is dedicated to you. By default, the container for your codespace has many languages and runtimes including .NET. It also includes a common set of tools like git, wget, rsync, openssh, and nano. - - You can customize your codespace by adjusting the amount of vCPUs and RAM, [adding dotfiles to personalize your environment](/codespaces/setting-up-your-codespace/personalizing-codespaces-for-your-account), or by modifying the tools and scripts installed. - - GitHub Codespaces uses a file called \`devcontainer.json\` to configure the development container that you use when you work in a codespace. Each repository can contain one or more \`devcontainer.json\` files, to give you exactly the development environment you need to work on your code in a codespace. - - On launch, GitHub Codespaces uses a \`devcontainer.json\` file, and any dependent files that make up the dev container configuration, to install tools and runtimes, and perform other setup tasks that the project requires. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project)." - `, - }, - { - codeBlock: { - id: '0', - }, - type: 'default', - title: 'Step 2: Add a dev container configuration to your repository from a template', - content: dedent` - The default development container, or "dev container," for GitHub Codespaces comes with the latest .NET version and common tools preinstalled. However, we recommend that you configure your own dev container to include all of the tools and scripts that your project needs. This will ensure a fully reproducible environment for all GitHub Codespaces users in your repository. - - To set up your repository to use a custom dev container, you will need to create one or more \`devcontainer.json\` files. You can add these either from a template, in Visual Studio Code, or you can write your own. For more information on dev container configurations, see "[Introduction to dev containers](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project)". - - 1. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "dev container". Select **Codespaces: Add Development Container Configuration Files...**. - - ![Codespaces: Add Development Container Configuration Files... in the Command Palette](/assets/images/help/codespaces/add-prebuilt-container-command.png) - - 2. For this example, click **C# (.NET)**. If you need additional features you can select any container that’s specific to C# (.NET) or a combination of tools such as C# (.NET) and MS SQL. - - ![Select C# (.NET) option from the list](/assets/images/help/codespaces/add-dotnet-prebuilt-container.png) - - 3. Click the recommended version of .NET. - - ![.NET version selection](/assets/images/help/codespaces/add-dotnet-version.png) - - 4. Accept the default option to add Node.js to your customization. - - ![Add Node.js selection](/assets/images/help/codespaces/dotnet-options.png) - - 5. Select any additional features to install and click **OK**. - 6. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "rebuild". Select **Codespaces: Rebuild Container**. - ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) - - `, - }, - { - codeBlock: { - id: '0', - }, - type: 'sub-section', - title: 'Anatomy of your dev container', - content: dedent` - Adding the C# (.NET) dev container template adds a \`.devcontainer\` directory to the root of your project's repository with the following files: - - - \`devcontainer.json\` - - Dockerfile - - The newly added \`devcontainer.json\` file defines a few properties that are described below. - `, - }, - { - type: 'sub-section-2', - codeBlock: { - id: '0', - highlight: 2, - }, - content: dedent` - **\`name\`** - You can name your dev container anything, this is just the default. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: [3, 13], - }, - content: dedent` - **\`build\`** - The build properties. - - **\`dockerfile\`** - In the \`build\` object, \`dockerfile\` contains the path to the Dockerfile that was also added from the template. - - **\`args\`** - - **\`VARIANT\`**: This file only contains one build argument, which is the .NET Core version that we want to use. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: [16, 18], - }, - content: dedent` - **\`settings\`** - These are Visual Studio Code settings that you can set. - - **\`terminal.integrated.shell.linux\`** - While bash is the default here, you could use other terminal shells by modifying this. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: [20, 23], - }, - content: dedent` - **\`extensions\`** - These are extensions included by default. - - **\`ms-dotnettools.csharp\`** - The Microsoft C# extension provides rich support for developing in C#, including features such as IntelliSense, linting, debugging, code navigation, code formatting, refactoring, variable explorer, test explorer, and more. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: 26, - }, - content: dedent` - **\`forwardPorts\`** - Any ports listed here will be forwarded automatically. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: 29, - }, - content: dedent` - **\`postCreateCommand\`** - Use this to run commands that aren't defined in the Dockerfile, like \`dotnet restore\`, after your codespace is created. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: 32, - }, - content: dedent` - **\`remoteUser\`** - By default, you’re running as the vscode user, but you can optionally set this to root. - `, - }, - { - codeBlock: { - id: '1', - }, - type: 'sub-section', - title: 'Dockerfile', - content: dedent` - You can use the Dockerfile to add additional container layers to specify OS packages, node versions, or global packages we want included in our container. - `, - }, - { - codeBlock: { - id: '0', - highlight: [21, 29], - }, - type: 'default', - title: 'Step 3: Modify your devcontainer.json file', - content: dedent` - With your dev container configuration added and a basic understanding of what everything does, you can now make changes to customize your environment further. In this example, you'll add properties to install extensions and your project dependencies when your codespace launches. - - 1. In the Explorer, expand the \`.devcontainer\` folder and select the \`devcontainer.json\` file from the tree to open it. - - ![devcontainer.json file in the Explorer](/assets/images/help/codespaces/devcontainers-options.png) - - 2. Update your the \`extensions\` list in your \`devcontainer.json\` file to add a few extensions that are useful when working with your project. - - \`\`\`json{:copy} - "extensions": [ - "ms-dotnettools.csharp", - "streetsidesoftware.code-spell-checker" - ], - \`\`\` - - 3. Uncomment the \`postCreateCommand\` to restore dependencies as part of the codespace setup process. - - \`\`\`json{:copy} - // Use 'postCreateCommand' to run commands after the container is created. - "postCreateCommand": "dotnet restore", - \`\`\` - - 4. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "rebuild". Select **Codespaces: Rebuild Container**. - - ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) - - Rebuilding inside your codespace ensures your changes work as expected before you commit the changes to the repository. If something does result in a failure, you’ll be placed in a codespace with a recovery container that you can rebuild from to keep adjusting your container. - - You may occasionally want to perform a full rebuild to clear your cache and rebuild your container with fresh images. For more information, see "[Performing a full rebuild of a container](/codespaces/codespaces-reference/performing-a-full-rebuild-of-a-container)." - - 5. Check your changes were successfully applied by verifying the "Code Spell Checker" extension was installed. - - ![Extensions list](/assets/images/help/codespaces/dotnet-extensions.png) - - `, - }, - { - codeBlock: { - id: '0', - }, - type: 'default', - title: 'Step 4: Run your application', - content: dedent` - In the previous section, you used the \`postCreateCommand\` to install a set of packages via the \`dotnet restore\` command. With our dependencies now installed, we can run our application. - - 1. Run your application by pressing \`F5\` or entering \`dotnet watch run\` in your terminal. - - 2. When your project starts, you should see a message in the bottom right corner with a prompt to connect to the port your project uses. - - ![Port forwarding toast](/assets/images/help/codespaces/python-port-forwarding.png) - - `, - }, - { - codeBlock: { - id: '0', - }, - type: 'default', - title: 'Step 5: Commit your changes', - content: dedent` - Once you've made changes to your codespace, either new code or configuration changes, you'll want to commit your changes. Committing changes to your repository ensures that anyone else who creates a codespace from this repository has the same configuration. This also means that any customization you do, such as adding Visual Studio Code extensions, will appear for all users. - - For information, see "[Using source control in your codespace](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace#committing-your-changes)." - `, - }, - ], - codeBlocks: { - '0': { - fileName: '.devcontainer/devcontainer.json', - language: 'json', - code: dedent` - { - "name": "C# (.NET)", - "build": { - "dockerfile": "Dockerfile", - "args": { - // Update 'VARIANT' to pick a .NET Core version: 2.1, 3.1, 5.0 - "VARIANT": "5.0", - // Options - "INSTALL_NODE": "true", - "NODE_VERSION": "lts/*", - "INSTALL_AZURE_CLI": "false" - } - }, - - // Set *default* container specific settings.json values on container create. - "settings": { - "terminal.integrated.shell.linux": "/bin/bash" - }, - - // Add the IDs of extensions you want installed when the container is created. - "extensions": [ - "ms-dotnettools.csharp" - ], - - // Use 'forwardPorts' to make a list of ports inside the container available locally. - // "forwardPorts": [5000, 5001], - - // Use 'postCreateCommand' to run commands after the container is created. - // "postCreateCommand": "dotnet restore", - - // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. - "remoteUser": "vscode" - } - `, - }, - '1': { - fileName: '.devcontainer/Dockerfile', - language: 'bash', - code: dedent` - # [Choice] .NET version: 5.0, 3.1, 2.1 - ARG VARIANT="5.0" - FROM mcr.microsoft.com/vscode/devcontainers/dotnetcore:0-\${VARIANT} - - # [Option] Install Node.js - ARG INSTALL_NODE="true" - ARG NODE_VERSION="lts/*" - RUN if [ "\${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install \${NODE_VERSION} 2>&1"; fi - - # [Option] Install Azure CLI - ARG INSTALL_AZURE_CLI="false" - COPY library-scripts/azcli-debian.sh /tmp/library-scripts/ - RUN if [ "$INSTALL_AZURE_CLI" = "true" ]; then bash /tmp/library-scripts/azcli-debian.sh; fi \ - && apt-get clean -y && rm -rf /var/lib/apt/lists/* /tmp/library-scripts - - # [Optional] Uncomment this section to install additional OS packages. - # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ - # && apt-get -y install --no-install-recommends - - # [Optional] Uncomment this line to install global node packages. - # RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g " 2>&1 - `, - }, - }, -} - -export default article diff --git a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/java.tsx b/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/java.tsx deleted file mode 100644 index b46f7ce283..0000000000 --- a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/java.tsx +++ /dev/null @@ -1,312 +0,0 @@ -import dedent from 'ts-dedent' -import { PlaygroundArticleT } from 'components/playground/types' - -const article: PlaygroundArticleT = { - title: 'Add a dev container configuration to your repository', - shortTitle: 'Java codespaces', - topics: ['Codespaces', 'Developer', 'Organization', 'Java'], - type: 'tutorial', - slug: '/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces', - originalArticle: - '/codespaces/setting-up-your-project-for-codespaces/setting-up-your-java-project-for-codespaces', - codeLanguageId: 'java', - intro: dedent` - This guide shows you how to add a dev container configuration to your repository to define the GitHub Codespaces development environment for your **Java** codebase. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." - - To work through the instructions in this guide you will use a codespace, in either the Visual Studio Code desktop application or the VS Code web client. - - These instructions are for Java. If you want to add a dev container configuration for another programming language, click the language button to the right. - `, - prerequisites: dedent` - - You should have an existing Java project in a repository on GitHub.com. If you don't have a project, you can try this tutorial with the following example: https://github.com/microsoft/vscode-remote-try-java - - GitHub Codespaces must be enabled for your organization. For more information, see "[Enabling GitHub Codespaces for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization)." - `, - contentBlocks: [ - { - codeBlock: { - id: '0', - }, - type: 'default', - title: 'Step 1: Open your project in a codespace', - content: dedent` - 1. Under the repository name, use the **Code** drop-down menu, and in the **Codespaces** tab, click the plus sign (+). - - ![New codespace button](/assets/images/help/codespaces/new-codespace-button.png) - - If you don’t see this option, GitHub Codespaces isn't available for your project. See [Access to GitHub Codespaces](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#access-to-codespaces) for more information. - - When you create a codespace, your project is created on a remote VM that is dedicated to you. By default, the container for your codespace has many languages and runtimes including Java, nvm, npm, and yarn. It also includes a common set of tools like git, wget, rsync, openssh, and nano. - - GitHub Codespaces uses a file called \`devcontainer.json\` to configure the development container that you use when you work in a codespace. Each repository can contain one or more \`devcontainer.json\` files, to give you exactly the development environment you need to work on your code in a codespace. - - On launch, GitHub Codespaces uses a \`devcontainer.json\` file, and any dependent files that make up the dev container configuration, to install tools and runtimes, and perform other setup tasks that the project requires. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project)." - `, - }, - { - codeBlock: { - id: '0', - }, - type: 'default', - title: 'Step 2: Add a dev container configuration to your repository from a template', - content: dedent` - The default development container, or "dev container," for GitHub Codespaces comes with the latest Java version, package managers (Maven, Gradle), and other common tools preinstalled. However, we recommend that you configure your own dev container to include all of the tools and scripts that your project needs. This will ensure a fully reproducible environment for all GitHub Codespaces users in your repository. - - To set up your repository to use a custom dev container, you will need to create one or more \`devcontainer.json\` files. You can add these either from a template, in Visual Studio Code, or you can write your own. For more information on dev container configurations, see "[Introduction to dev containers](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project)". - - 1. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "dev container". Select **Codespaces: Add Development Container Configuration Files...**. - - !["Codespaces: Add Development Container Configuration Files..." in the Command Palette](/assets/images/help/codespaces/add-prebuilt-container-command.png) - - 2. For this example, click **Java**. In practice, you could select any container that’s specific to Java or a combination of tools such as Java and Azure Functions. - - ![Select Java option from the list](/assets/images/help/codespaces/add-java-prebuilt-container.png) - - 3. Click the recommended version of Java. - - ![Java version selection](/assets/images/help/codespaces/add-java-version.png) - - 4. Select any additional features to install and click **OK**. - 5. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "rebuild". Select **Codespaces: Rebuild Container**. - - ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) - - `, - }, - { - codeBlock: { - id: '0', - }, - type: 'sub-section', - title: 'Anatomy of your dev container', - content: dedent` - Adding the Java dev container template adds a .devcontainer directory to the root of your project's repository with the following files: - - - \`devcontainer.json\` - - Dockerfile - - The newly added \`devcontainer.json\` file defines a few properties that are described below. - `, - }, - { - type: 'sub-section-2', - codeBlock: { - id: '0', - highlight: 4, - }, - content: dedent` - **\`name\`** - You can name your dev container anything, this is just the default. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: [5, 16], - }, - content: dedent` - **\`build\`** - The build properties. - - **\`dockerfile\`** - In the \`build\` object, \`dockerfile\` contains the path to the Dockerfile that was also added from the template. - - **\`args\`** - - **\`VARIANT\`**: This file only contains one build argument, which is the Java version that is passed into the Dockerfile. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: [19, 23], - }, - content: dedent` - **\`settings\`** - These are Visual Studio Code settings that you can set. - - **\`terminal.integrated.shell.linux\`** - While bash is the default here, you could use other terminal shells by modifying this. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: [26, 28], - }, - content: dedent` - **\`extensions\`** - These are extensions included by default. - - **\`vscjava.vscode-java-pack\`** - The Java Extension Pack provides popular extensions for Java development to get you started. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: 31, - }, - content: dedent` - **\`forwardPorts\`** - Any ports listed here will be forwarded automatically. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: 34, - }, - content: dedent` - **\`postCreateCommand\`** - Use this to run commands that aren't defined in the Dockerfile, after your codespace is created. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: 37, - }, - content: dedent` - **\`remoteUser\`** - By default, you’re running as the vscode user, but you can optionally set this to root. - `, - }, - { - codeBlock: { - id: '1', - }, - type: 'sub-section', - title: 'Dockerfile', - content: dedent` - You can use the Dockerfile to add additional container layers to specify OS packages, node versions, or global packages we want included in our container. - `, - }, - { - codeBlock: { - id: '0', - highlight: [30, 34], - }, - type: 'default', - title: 'Step 3: Modify your devcontainer.json file', - content: dedent` - With your dev container configuration added and a basic understanding of what everything does, you can now make changes to customize your environment further. In this example, you'll add properties to install extensions and your project dependencies when your codespace launches. - - 1. In the Explorer, expand the \`.devcontainer\` folder and select the \`devcontainer.json\` file from the tree to open it. - - ![devcontainer.json file in the Explorer](/assets/images/help/codespaces/devcontainers-options.png) - - 2. Add the following lines to your \`devcontainer.json\` file after \`extensions\`. - - \`\`\`json{:copy} - "postCreateCommand": "java -version", - "forwardPorts": [4000], - \`\`\` - - For more information about \`devcontainer.json\` properties, see the Visual Studio Code documentation: "[devcontainer.json reference](https://code.visualstudio.com/docs/remote/devcontainerjson-reference)." - - 4. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "rebuild". Select **Codespaces: Rebuild Container**. - - ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) - - Rebuilding inside your codespace ensures your changes work as expected before you commit the changes to the repository. If something does result in a failure, you’ll be placed in a codespace with a recovery container that you can rebuild from to keep adjusting your container. - - You may occasionally want to perform a full rebuild to clear your cache and rebuild your container with fresh images. For more information, see "[Performing a full rebuild of a container](/codespaces/codespaces-reference/performing-a-full-rebuild-of-a-container)." - `, - }, - { - codeBlock: { - id: '0', - }, - type: 'default', - title: 'Step 4: Run your application', - content: dedent` - In the previous section, you used the \`postCreateCommand\` to install a set of packages via npm. You can now use this to run our application with npm. - - 1. Run your application by pressing \`F5\`. - - 2. When your project starts, you should see a message in the bottom right corner with a prompt to connect to the port your project uses. - ![Port forwarding toast](/assets/images/help/codespaces/codespaces-port-toast.png) - `, - }, - { - codeBlock: { - id: '0', - }, - type: 'default', - title: 'Step 5: Commit your changes', - content: dedent` - Once you've made changes to your codespace, either new code or configuration changes, you'll want to commit your changes. Committing changes to your repository ensures that anyone else who creates a codespace from this repository has the same configuration. This also means that any customization you do, such as adding Visual Studio Code extensions, will appear for all users. - - For information, see "[Using source control in your codespace](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace#committing-your-changes)." - `, - }, - ], - codeBlocks: { - '0': { - fileName: '.devcontainer/devcontainer.json', - language: 'json', - code: dedent` - // For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at: - // https://github.com/microsoft/vscode-dev-containers/tree/v0.159.0/containers/java - { - "name": "Java", - "build": { - "dockerfile": "Dockerfile", - "args": { - // Update the VARIANT arg to pick a Java version: 11, 14 - "VARIANT": "11", - // Options - "INSTALL_MAVEN": "true", - "INSTALL_GRADLE": "false", - "INSTALL_NODE": "false", - "NODE_VERSION": "lts/*" - } - }, - - // Set *default* container specific settings.json values on container create. - "settings": { - "terminal.integrated.shell.linux": "/bin/bash", - "java.home": "/docker-java-home", - "maven.executable.path": "/usr/local/sdkman/candidates/maven/current/bin/mvn" - }, - - // Add the IDs of extensions you want installed when the container is created. - "extensions": [ - "vscjava.vscode-java-pack" - ], - - // Use 'forwardPorts' to make a list of ports inside the container available locally. - // "forwardPorts": [], - - // Use 'postCreateCommand' to run commands after the container is created. - // "postCreateCommand": "java -version", - - // Uncomment to connect as a non-root user. See https://aka.ms/vscode-remote/containers/non-root. - "remoteUser": "vscode" - } - `, - }, - '1': { - fileName: '.devcontainer/Dockerfile', - language: 'bash', - code: dedent` - # See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.159.0/containers/java/.devcontainer/base.Dockerfile - ARG VARIANT="14" - FROM mcr.microsoft.com/vscode/devcontainers/java:0-\${VARIANT} - - # [Optional] Install Maven or Gradle - ARG INSTALL_MAVEN="false" - ARG MAVEN_VERSION=3.6.3 - ARG INSTALL_GRADLE="false" - ARG GRADLE_VERSION=5.4.1 - RUN if [ "\${INSTALL_MAVEN}" = "true" ]; then su vscode -c "source /usr/local/sdkman/bin/sdkman-init.sh && sdk install maven \"\${MAVEN_VERSION}\""; fi \ - && if [ "\${INSTALL_GRADLE}" = "true" ]; then su vscode -c "source /usr/local/sdkman/bin/sdkman-init.sh && sdk install gradle \"\${GRADLE_VERSION}\""; fi - - # [Optional] Install a version of Node.js using nvm for front end dev - ARG INSTALL_NODE="true" - ARG NODE_VERSION="lts/*" - RUN if [ "\${INSTALL_NODE}" = "true" ]; then su vscode -c "source /usr/local/share/nvm/nvm.sh && nvm install \${NODE_VERSION} 2>&1"; fi - - # [Optional] Uncomment this section to install additional OS packages. - # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ - # && apt-get -y install --no-install-recommends - - # [Optional] Uncomment this line to install global node packages. - # RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g " 2>&1 - `, - }, - }, -} - -export default article diff --git a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/nodejs.tsx b/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/nodejs.tsx deleted file mode 100644 index aa7dbe079f..0000000000 --- a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/nodejs.tsx +++ /dev/null @@ -1,295 +0,0 @@ -import dedent from 'ts-dedent' -import { PlaygroundArticleT } from 'components/playground/types' - -const article: PlaygroundArticleT = { - title: 'Add a dev container configuration to your repository', - shortTitle: 'Node.js codespaces', - topics: ['Codespaces', 'Developer', 'Organization', 'Node', 'JavaScript'], - type: 'tutorial', - slug: '/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces', - originalArticle: - '/codespaces/setting-up-your-project-for-codespaces/setting-up-your-nodejs-project-for-codespaces', - codeLanguageId: 'nodejs', - intro: dedent` - This guide shows you how to add a dev container configuration to your repository to define the GitHub Codespaces development environment for your **Node.js** codebase. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." - - To work through the instructions in this guide you will use a codespace, in either the Visual Studio Code desktop application or the VS Code web client. - - These instructions are for Node.js. If you want to add a dev container configuration for another programming language, click the language button to the right. - `, - prerequisites: dedent` - - You should have an existing JavaScript, Node.js, or TypeScript project in a repository on GitHub.com. If you don't have a project, you can try this tutorial with the following example: https://github.com/microsoft/vscode-remote-try-node - - GitHub Codespaces must be enabled for your organization. For more information, see "[Enabling GitHub Codespaces for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization)." - `, - contentBlocks: [ - { - codeBlock: { - id: '0', - }, - type: 'default', - title: 'Step 1: Open your project in a codespace', - content: dedent` - 1. Under the repository name, use the **Code** drop-down menu, and in the **Codespaces** tab, click the plus sign (+). - - ![New codespace button](/assets/images/help/codespaces/new-codespace-button.png) - - If you don’t see this option, GitHub Codespaces isn't available for your project. See [Access to GitHub Codespaces](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#access-to-codespaces) for more information. - - When you create a codespace, your project is created on a remote VM that is dedicated to you. By default, the container for your codespace has many languages and runtimes including Node.js, JavaScript, Typescript, nvm, npm, and yarn. It also includes a common set of tools like git, wget, rsync, openssh, and nano. - - You can customize your codespace by adjusting the amount of vCPUs and RAM, [adding dotfiles to personalize your environment](/codespaces/setting-up-your-codespace/personalizing-codespaces-for-your-account), or by modifying the tools and scripts installed. - - GitHub Codespaces uses a file called \`devcontainer.json\` to configure the development container that you use when you work in a codespace. Each repository can contain one or more \`devcontainer.json\` files, to give you exactly the development environment you need to work on your code in a codespace. On launch, GitHub Codespaces uses a \`devcontainer.json\` file, and any dependent files that make up the dev container configuration, to install tools and runtimes, and perform other setup tasks that the project requires. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project)." - `, - }, - { - codeBlock: { - id: '0', - }, - type: 'default', - title: 'Step 2: Add a dev container configuration to your repository from a template', - content: dedent` - The default development container, or "dev container," for GitHub Codespaces supports running Node.js projects like [vscode-remote-try-node](https://github.com/microsoft/vscode-remote-try-node) out of the box. However, we recommend that you configure your own dev container to include all of the tools and scripts your project needs. This will ensure a fully reproducible environment for all GitHub Codespaces users in your repository. - - To set up your repository to use a custom dev container, you will need to create one or more \`devcontainer.json\` files. You can add these either from a template, in Visual Studio Code, or you can write your own. For more information on dev container configurations, see "[Introduction to dev containers](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project)". - - 1. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "dev container". Select **Codespaces: Add Development Container Configuration Files...**. - - !["Codespaces: Add Development Container Configuration Files..." in the Command Palette](/assets/images/help/codespaces/add-prebuilt-container-command.png) - - 2. For this example, click **Node.js**. If you need additional features you can select any container that’s specific to Node or a combination of tools such as Node and MongoDB. - - ![Select Node option from the list](/assets/images/help/codespaces/add-node-prebuilt-container.png) - - 3. Click the recommended version of Node.js. - - ![Node.js version selection](/assets/images/help/codespaces/add-node-version.png) - - 4. Select any additional features to install and click **OK**. - 5. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "rebuild". Select **Codespaces: Rebuild Container**. - - ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) - - `, - }, - { - codeBlock: { - id: '0', - }, - type: 'sub-section', - title: 'Anatomy of your dev container', - content: dedent` - Adding the Node.js dev container template adds a \`.devcontainer\` directory to the root of your project's repository with the following files: - - - \`devcontainer.json\` - - Dockerfile - - The newly added \`devcontainer.json\` file defines a few properties that are described below. - `, - }, - { - type: 'sub-section-2', - codeBlock: { - id: '0', - highlight: 4, - }, - content: dedent` - **\`name\`** - You can name your dev container anything, this is just the default. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: [5, 9], - }, - content: dedent` - **\`build\`** - The build properties. - - **\`dockerfile\`** - In the \`build\` object, \`dockerfile\` contains the path to the Dockerfile that was also added from the template. - - **\`args\`** - - **\`VARIANT\`**: This file only contains one build argument, which is the node variant we want to use that is passed into the Dockerfile. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: [12, 14], - }, - content: dedent` - **\`settings\`** - These are Visual Studio Code settings that you can set. - - **\`terminal.integrated.shell.linux\`** - While bash is the default here, you could use other terminal shells by modifying this. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: [17, 19], - }, - content: dedent` - **\`extensions\`** - These are extensions included by default. - - **\`dbaeumer.vscode-eslint\`** - ES lint is a great extension for linting, but for JavaScript there are a number of great Marketplace extensions you could also include. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: 22, - }, - content: dedent` - **\`forwardPorts\`** - Any ports listed here will be forwarded automatically. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: 25, - }, - content: dedent` - **\`postCreateCommand\`** - Use this to run commands that aren't defined in the Dockerfile, after your codespace is created. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: 28, - }, - content: dedent` - **\`remoteUser\`** - By default, you’re running as the vscode user, but you can optionally set this to root. - `, - }, - { - codeBlock: { - id: '1', - }, - type: 'sub-section', - title: 'Dockerfile', - content: dedent` - You can use the Dockerfile to add additional container layers to specify OS packages, node versions, or global packages we want included in our container. - `, - }, - { - codeBlock: { - id: '0', - highlight: [21, 25], - }, - type: 'default', - title: 'Step 3: Modify your devcontainer.json file', - content: dedent` - With your dev container configuration added and a basic understanding of what everything does, you can now make changes to customize your environment further. In this example, you'll add properties to install npm when your codespace launches and make a list of ports inside the container available locally. - - 1. In the Explorer, select the \`devcontainer.json\` file from the tree to open it. You might have to expand the \`.devcontainer\` folder to see it. - - ![devcontainer.json file in the Explorer](/assets/images/help/codespaces/devcontainers-options.png) - - 2. Add the following lines to your \`devcontainer.json\` file after \`extensions\`: - - \`\`\`js{:copy} - "postCreateCommand": "npm install", - "forwardPorts": [4000], - \`\`\` - For more information about \`devcontainer.json\` properties, see the Visual Studio Code documentation: "[devcontainer.json reference](https://code.visualstudio.com/docs/remote/devcontainerjson-reference)." - - 3. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "rebuild". Select **Codespaces: Rebuild Container**. - - ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) - - Rebuilding inside your codespace ensures your changes work as expected before you commit the changes to the repository. If something does result in a failure, you’ll be placed in a codespace with a recovery container that you can rebuild from to keep adjusting your container. - - You may occasionally want to perform a full rebuild to clear your cache and rebuild your container with fresh images. For more information, see "[Performing a full rebuild of a container](/codespaces/codespaces-reference/performing-a-full-rebuild-of-a-container)." - `, - }, - { - codeBlock: { - id: '0', - }, - type: 'default', - title: 'Step 4: Run your application', - content: dedent` - In the previous section, you used the \`postCreateCommand\` to installing a set of packages via npm. You can now use this to run our application with npm. - - 1. Run your start command in the terminal with \`npm start\`. - - ![npm start in terminal](/assets/images/help/codespaces/codespaces-npmstart.png) - - 2. When your project starts, you should see a message in the bottom right corner with a prompt to connect to the port your project uses. - - ![Port forwarding toast](/assets/images/help/codespaces/codespaces-port-toast.png) - `, - }, - { - codeBlock: { - id: '0', - }, - type: 'default', - title: 'Step 5: Commit your changes', - content: dedent` - Once you've made changes to your codespace, either new code or configuration changes, you'll want to commit your changes. Committing changes to your repository ensures that anyone else who creates a codespace from this repository has the same configuration. This also means that any customization you do, such as adding Visual Studio Code extensions, will appear for all users. - - For information, see "[Using source control in your codespace](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace#committing-your-changes)." - `, - }, - ], - codeBlocks: { - '0': { - fileName: '.devcontainer/devcontainer.json', - language: 'json', - code: dedent` - // For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: - // https://github.com/microsoft/vscode-dev-containers/tree/v0.162.0/containers/javascript-node - { - "name": "Node.js", - "build": { - "dockerfile": "Dockerfile", - // Update 'VARIANT' to pick a Node version: 10, 12, 14 - "args": { "VARIANT": "14" } - }, - - // Set *default* container specific settings.json values on container create. - "settings": { - "terminal.integrated.shell.linux": "/bin/bash" - }, - - // Add the IDs of extensions you want installed when the container is created. - "extensions": [ - "dbaeumer.vscode-eslint" - ], - - // Use 'forwardPorts' to make a list of ports inside the container available locally. - // "forwardPorts": [], - - // Use 'postCreateCommand' to run commands after the container is created. - // "postCreateCommand": "yarn install", - - // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. - "remoteUser": "node" - } - `, - }, - '1': { - fileName: '.devcontainer/Dockerfile', - language: 'bash', - code: dedent` - # [Choice] Node.js version: 14, 12, 10 - ARG VARIANT="14-buster" - FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:0-\${VARIANT} - - # [Optional] Uncomment this section to install additional OS packages. - # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive && apt-get -y install --no-install-recommends - - # [Optional] Uncomment if you want to install an additional version of node using nvm - # ARG EXTRA_NODE_VERSION=10 - # RUN su node -c "source /usr/local/share/nvm/nvm.sh && nvm install \${EXTRA_NODE_VERSION}" - - # [Optional] Uncomment if you want to install more global node modules - # RUN su node -c "npm install -g " - `, - }, - }, -} - -export default article diff --git a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/python.tsx b/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/python.tsx deleted file mode 100644 index 0726d761a6..0000000000 --- a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/python.tsx +++ /dev/null @@ -1,336 +0,0 @@ -import dedent from 'ts-dedent' -import { PlaygroundArticleT } from 'components/playground/types' - -const article: PlaygroundArticleT = { - title: 'Add a dev container configuration to your repository', - shortTitle: 'Python codespaces', - topics: ['Codespaces', 'Developer', 'Organization', 'Python'], - type: 'tutorial', - slug: '/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces', - originalArticle: - '/codespaces/setting-up-your-project-for-codespaces/setting-up-your-python-project-for-codespaces', - codeLanguageId: 'py', - intro: dedent` - This guide shows you how to add a dev container configuration to your repository to define the GitHub Codespaces development environment for your **Python** codebase. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." - - To work through the instructions in this guide you will use a codespace, in either the Visual Studio Code desktop application or the VS Code web client. - - These instructions are for Python. If you want to add a dev container configuration for another programming language, click the language button to the right. - `, - prerequisites: dedent` - - You should have an existing Python project in a repository on GitHub.com. If you don't have a project, you can try this tutorial with the following example: https://github.com/2percentsilk/python-quickstart. - - GitHub Codespaces must be enabled for your organization. For more information, see "[Enabling GitHub Codespaces for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization)." - `, - contentBlocks: [ - { - codeBlock: { - id: '0', - }, - type: 'default', - title: 'Step 1: Open your project in a codespace', - content: dedent` - 1. Under the repository name, use the **Code** drop-down menu, and in the **Codespaces** tab, click the plus sign (+). - - ![New codespace button](/assets/images/help/codespaces/new-codespace-button.png) - - If you don’t see this option, GitHub Codespaces isn't available for your project. See [Access to GitHub Codespaces](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#access-to-codespaces) for more information. - - When you create a codespace, your project is created on a remote VM that is dedicated to you. By default, the container for your codespace has many languages and runtimes including Python, pip, and Miniconda. It also includes a common set of tools like git, wget, rsync, openssh, and nano. - - You can customize your codespace by adjusting the amount of vCPUs and RAM, [adding dotfiles to personalize your environment](/codespaces/setting-up-your-codespace/personalizing-codespaces-for-your-account), or by modifying the tools and scripts installed. - - GitHub Codespaces uses a file called \`devcontainer.json\` to configure the development container that you use when you work in a codespace. Each repository can contain one or more \`devcontainer.json\` files, to give you exactly the development environment you need to work on your code in a codespace. - - On launch, GitHub Codespaces uses a \`devcontainer.json\` file, and any dependent files that make up the dev container configuration, to install tools and runtimes, and perform other setup tasks that the project requires. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project)." - `, - }, - { - codeBlock: { - id: '0', - }, - type: 'default', - title: 'Step 2: Add a dev container configuration to your repository from a template', - content: dedent` - The default development container, or "dev container," for GitHub Codespaces comes with the latest Python version, package managers (pip, Miniconda), and other common tools preinstalled. However, we recommend that you configure your own dev container to include all of the tools and scripts that your project needs. This will ensure a fully reproducible environment for all GitHub Codespaces users in your repository. - - To set up your repository to use a custom dev container, you will need to create one or more \`devcontainer.json\` files. You can add these either from a template, in Visual Studio Code, or you can write your own. For more information on dev container configurations, see "[Introduction to dev containers](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project)". - - 1. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "dev container". Select **Codespaces: Add Development Container Configuration Files...**. - - !["Codespaces: Add Development Container Configuration Files..." in the Command Palette](/assets/images/help/codespaces/add-prebuilt-container-command.png) - - 2. For this example, click **Python 3**. If you need additional features you can select any container that’s specific to Python or a combination of tools such as Python 3 and PostgreSQL. - - ![Select Python option from the list](/assets/images/help/codespaces/add-python-prebuilt-container.png) - - 3. Click the recommended version of Python. - - ![Python version selection](/assets/images/help/codespaces/add-python-version.png) - - 4. Accept the default option to add Node.js to your customization. - - ![Add Node.js selection](/assets/images/help/codespaces/add-nodejs-selection.png) - - 5. Select any additional features to install and click **OK**. - 6. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "rebuild". Select **Codespaces: Rebuild Container**. - - ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) - - `, - }, - { - codeBlock: { - id: '0', - }, - type: 'sub-section', - title: 'Anatomy of your dev container', - content: dedent` - Adding the Python dev container template adds a .devcontainer directory to the root of your project's repository with the following files: - - - \`devcontainer.json\` - - Dockerfile - - The newly added \`devcontainer.json\` file defines a few properties that are described below. - `, - }, - { - type: 'sub-section-2', - codeBlock: { - id: '0', - highlight: 2, - }, - content: dedent` - **\`name\`** - You can name your dev container anything, this is just the default. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: [3, 12], - }, - content: dedent` - **\`build\`** - The build properties. - - **\`dockerfile\`** - In the \`build\` object, \`dockerfile\` contains the path to the Dockerfile that was also added from the template. - - **\`args\`** - - **\`VARIANT\`**: This is the node variant we want to use that is passed into the Dockerfile. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: [16, 30], - }, - content: dedent` - **\`settings\`** - These are Visual Studio Code settings that you can set. - - **\`terminal.integrated.shell.linux\`** - While bash is the default here, you could use other terminal shells by modifying this. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: [33, 35], - }, - content: dedent` - **\`extensions\`** - These are extensions included by default. - - **\`ms-python.python\`** - The Microsoft Python extension provides rich support for the Python language (for all actively supported versions of the language: >=3.6), including features such as IntelliSense, linting, debugging, code navigation, code formatting, refactoring, variable explorer, test explorer, and more. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: 38, - }, - content: dedent` - **\`forwardPorts\`** - Any ports listed here will be forwarded automatically. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: 41, - }, - content: dedent` - **\`postCreateCommand\`** - Use this to run commands that aren't defined in the Dockerfile, like \`pip3 install -r requirements\`, after your codespace is created. - `, - }, - { - type: 'sub-section', - codeBlock: { - id: '0', - highlight: 44, - }, - content: dedent` - **\`remoteUser\`** - By default, you’re running as the vscode user, but you can optionally set this to root. - `, - }, - { - codeBlock: { - id: '1', - }, - type: 'sub-section', - title: 'Dockerfile', - content: dedent` - You can use the Dockerfile to add additional container layers to specify OS packages, node versions, or global packages we want included in our container. - `, - }, - { - codeBlock: { - id: '0', - highlight: [32, 41], - }, - type: 'default', - title: 'Step 3: Modify your devcontainer.json file', - content: dedent` - With your dev container configuration added and a basic understanding of what everything does, you can now make changes to customize your environment further. In this example, you'll add properties to install extensions and your project dependencies when your codespace launches. - - 1. In the Explorer, expand the \`.devcontainer\` folder and select the \`devcontainer.json\` file from the tree to open it. - - ![devcontainer.json file in the Explorer](/assets/images/help/codespaces/devcontainers-options.png) - - 2. Update the extensions list in your \`devcontainer.json\` file to add a few extensions that are useful when working with your project. - - \`\`\`json{:copy} - "extensions": [ - "ms-python.python", - "cstrap.flask-snippets", - "streetsidesoftware.code-spell-checker" - ], - \`\`\` - - 3. Uncomment the \`postCreateCommand\` to auto-install requirements as part of the codespaces setup process. - - \`\`\`json{:copy} - // Use 'postCreateCommand' to run commands after the container is created. - "postCreateCommand": "pip3 install --user -r requirements.txt", - \`\`\` - - 4. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "rebuild". Select **Codespaces: Rebuild Container**. - - ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) - - Rebuilding inside your codespace ensures your changes work as expected before you commit the changes to the repository. If something does result in a failure, you’ll be placed in a codespace with a recovery container that you can rebuild from to keep adjusting your container. - - You may occasionally want to perform a full rebuild to clear your cache and rebuild your container with fresh images. For more information, see "[Performing a full rebuild of a container](/codespaces/codespaces-reference/performing-a-full-rebuild-of-a-container)." - - 5. Check your changes were successfully applied by verifying the Code Spell Checker and Flask Snippet extensions were installed. - - ![Extensions list](/assets/images/help/codespaces/python-extensions.png) - `, - }, - { - codeBlock: { - id: '0', - }, - type: 'default', - title: 'Step 4: Run your application', - content: dedent` - In the previous section, you used the \`postCreateCommand\` to install a set of packages with pip3. With your dependencies now installed, you can run your application. - - 1. Run your application by pressing F5 or entering \`python -m flask run\` in the codespace terminal. - - 2. When your project starts, you should see a message in the bottom right corner with a prompt to connect to the port your project uses. - - ![Port forwarding toast](/assets/images/help/codespaces/python-port-forwarding.png) - `, - }, - { - codeBlock: { - id: '0', - }, - type: 'default', - title: 'Step 5: Commit your changes', - content: dedent` - Once you've made changes to your codespace, either new code or configuration changes, you'll want to commit your changes. Committing changes to your repository ensures that anyone else who creates a codespace from this repository has the same configuration. This also means that any customization you do, such as adding Visual Studio Code extensions, will appear for all users. - - For information, see "[Using source control in your codespace](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace#committing-your-changes)." - `, - }, - ], - codeBlocks: { - '0': { - fileName: '.devcontainer/devcontainer.json', - language: 'json', - code: dedent` - { - "name": "Python 3", - "build": { - "dockerfile": "Dockerfile", - "context": "..", - "args": { - // Update 'VARIANT' to pick a Python version: 3, 3.6, 3.7, 3.8, 3.9 - "VARIANT": "3", - // Options - "INSTALL_NODE": "true", - "NODE_VERSION": "lts/*" - } - }, - - // Set *default* container specific settings.json values on container create. - "settings": { - "terminal.integrated.shell.linux": "/bin/bash", - "python.pythonPath": "/usr/local/bin/python", - "python.linting.enabled": true, - "python.linting.pylintEnabled": true, - "python.formatting.autopep8Path": "/usr/local/py-utils/bin/autopep8", - "python.formatting.blackPath": "/usr/local/py-utils/bin/black", - "python.formatting.yapfPath": "/usr/local/py-utils/bin/yapf", - "python.linting.banditPath": "/usr/local/py-utils/bin/bandit", - "python.linting.flake8Path": "/usr/local/py-utils/bin/flake8", - "python.linting.mypyPath": "/usr/local/py-utils/bin/mypy", - "python.linting.pycodestylePath": "/usr/local/py-utils/bin/pycodestyle", - "python.linting.pydocstylePath": "/usr/local/py-utils/bin/pydocstyle", - "python.linting.pylintPath": "/usr/local/py-utils/bin/pylint" - }, - - // Add the IDs of extensions you want installed when the container is created. - "extensions": [ - "ms-python.python" - ], - - // Use 'forwardPorts' to make a list of ports inside the container available locally. - // "forwardPorts": [], - - // Use 'postCreateCommand' to run commands after the container is created. - // "postCreateCommand": "pip3 install --user -r requirements.txt", - - // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. - "remoteUser": "vscode" - } - `, - }, - '1': { - fileName: '.devcontainer/Dockerfile', - language: 'bash', - code: dedent` - # [Choice] Python version: 3, 3.9, 3.8, 3.7, 3.6 - ARG VARIANT="3" - FROM mcr.microsoft.com/vscode/devcontainers/python:0-\${VARIANT} - - # [Option] Install Node.js - ARG INSTALL_NODE="true" - ARG NODE_VERSION="lts/*" - RUN if [ "\${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install \${NODE_VERSION} 2>&1"; fi - - # [Optional] If your pip requirements rarely change, uncomment this section to add them to the image. - # COPY requirements.txt /tmp/pip-tmp/ - # RUN pip3 --disable-pip-version-check --no-cache-dir install -r /tmp/pip-tmp/requirements.txt \ - # && rm -rf /tmp/pip-tmp - - # [Optional] Uncomment this section to install additional OS packages. - # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ - # && apt-get -y install --no-install-recommends - - # [Optional] Uncomment this line to install global node packages. - # RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g " 2>&1 - - `, - }, - }, -} - -export default article diff --git a/components/playground/editor/Editor.tsx b/components/playground/editor/Editor.tsx deleted file mode 100644 index 3ec8774c4a..0000000000 --- a/components/playground/editor/Editor.tsx +++ /dev/null @@ -1,118 +0,0 @@ -import React, { useState, useEffect } from 'react' -import cx from 'classnames' -import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter' -import { vs, vscDarkPlus } from 'react-syntax-highlighter/dist/cjs/styles/prism' - -import { usePlaygroundContext } from 'components/context/PlaygroundContext' -import { LoadingIndicator } from './LoadingIndicator' -import { ActionBar } from './ActionBar' - -import { CodeBlockRef, PlaygroundArticleT } from '../types' -import { useTheme } from '@primer/react' - -const getNormalizedHighlight = ( - highlight: Exclude -): Array<[number, number]> => { - if (typeof highlight === 'number') { - return [[highlight, highlight]] - } else if (typeof highlight[0] === 'number') { - return [highlight as [number, number]] - } else { - return highlight as Array<[number, number]> - } -} -interface Props { - article: PlaygroundArticleT -} - -export const Editor: React.FC = ({ article }) => { - const theme = useTheme() - - const [isEditorReady, setIsEditorReady] = useState(false) - const [selectedFileIndex, setSelectedFileIndex] = useState(0) - - const { activeSectionIndex } = usePlaygroundContext() - const normalizedHighlight = getNormalizedHighlight( - article.contentBlocks[activeSectionIndex]?.codeBlock.highlight || [] - ) - - useEffect(() => { - // Some buffer to load the theme, otherwise it flashes the light theme momentarily - const timeout = setTimeout(() => { - setIsEditorReady(true) - }, 250) - - return () => { - clearTimeout(timeout) - } - }, []) - - useEffect(() => { - if (selectedFileIndex !== 0) { - setSelectedFileIndex(0) - } - }, [activeSectionIndex]) - - // find the set of files we want displayed in the editor - const codeBlockId = article.contentBlocks[activeSectionIndex].codeBlock.id - - let editorFiles = article.codeBlocks[codeBlockId] - if (!Array.isArray(editorFiles)) { - editorFiles = [editorFiles] - } - let activeFile = editorFiles[selectedFileIndex] - if (!activeFile) { - activeFile = editorFiles[0] - } - - return ( -
-
- - -
- {editorFiles.map((file, i) => { - return ( - - ) - })} -
- -
- {isEditorReady ? ( - { - let className = '' - for (const highlight of normalizedHighlight) { - if (lineNumber >= highlight[0] && lineNumber <= highlight[1]) { - className = 'color-bg-accent' - } - } - return { style: { display: 'block' }, className } - }} - lineNumberStyle={{ minWidth: '3.25em' }} - > - {activeFile.code} - - ) : ( - - )} -
-
-
- ) -} diff --git a/components/playground/types.ts b/components/playground/types.ts deleted file mode 100644 index 903b8ffe12..0000000000 --- a/components/playground/types.ts +++ /dev/null @@ -1,33 +0,0 @@ -export interface CodeBlockRef { - id: string - highlight?: Array<[number, number]> | number | [number, number] -} -export interface ContentBlock { - title?: string - type: 'default' | 'sub-section' | 'sub-section-2' - content: string - codeBlock: CodeBlockRef -} -export interface CodeBlock { - fileName: string - language: string - code: string -} -export interface PlaygroundArticleT { - title: string - shortTitle: string - topics: Array - intro: string - slug: string - originalArticle: string - type: 'tutorial' - prerequisites?: string - codeLanguageId: string - contentBlocks: Array - codeBlocks: Record> -} - -export interface CodeLanguage { - id: string - label: string -} diff --git a/content/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md b/content/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md index 9f805e2a80..564ff08e73 100644 --- a/content/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md +++ b/content/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md @@ -29,9 +29,9 @@ Charges are billed to an organization or enterprise when all of the following ar - The organization is configured to be billed for codespaces created from the repository or forks of the repository. - The user creating the codespace belongs to the organization, or is an outside collaborator affiliated with the organization, and the organization has chosen to pay for this user's use of organization-owned codespaces. -Otherwise use of {% data variables.product.prodname_github_codespaces %} applies to the personal account of the person who created the codespace, and either consumes some of the monthly included usage for their personal account, or their account is billed according to their usage in excess of their included quotas. +Otherwise use of {% data variables.product.prodname_github_codespaces %} applies to the personal account of the person who created the codespace, and either consumes some of the monthly included usage for their personal account, or their account is billed according to their usage in excess of their included quotas. -For information about how to configure an organization to be billed for codespace usage, see "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization)." The Free, Team, and Enterprise plans for organization and enterprise accounts do not include any free use of {% data variables.product.prodname_github_codespaces %}. +For information about how to configure an organization to be billed for codespace usage, see "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization)." The Free, Team, and Enterprise plans for organization and enterprise accounts do not include any free use of {% data variables.product.prodname_github_codespaces %}. {% ifversion fpt %} @@ -54,7 +54,7 @@ The following storage and core hours of usage are included, free of charge, for You will be notified by email when you have used 75%, 90%, and 100% of your included quotas. Notifications are also displayed in a "toast" message within {% data variables.product.prodname_vscode_shortname %} and the {% data variables.product.prodname_vscode_shortname %} web client. You can turn off email notifications if required. For more information, see "[Managing the spending limit for GitHub Codespaces](/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces#managing-usage-and-spending-limit-email-notifications)." -When a personal account has used all of either the included storage or compute usage (whichever is reached first), and has no spending limit configured, use of {% data variables.product.prodname_github_codespaces %} will be blocked. You must set up a payment method and a spending limit to continue using {% data variables.product.prodname_github_codespaces %} during the current billing month. At the beginning of the next monthly billing cycle the included usage is reset. Storage will not be billed while use of {% data variables.product.prodname_github_codespaces %} is blocked. +When a personal account has used all of either the included storage or compute usage (whichever is reached first), and has no spending limit configured, use of {% data variables.product.prodname_github_codespaces %} will be blocked. You must set up a payment method and a spending limit to continue using {% data variables.product.prodname_github_codespaces %} during the current billing month. At the beginning of the next monthly billing cycle the included usage is reset. Storage will not be billed while use of {% data variables.product.prodname_github_codespaces %} is blocked. You can view details of your usage for the current month at any time. For more information, see "[Viewing your {% data variables.product.prodname_github_codespaces %} usage](/billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage)." @@ -62,7 +62,7 @@ If you are blocked from resuming a codespace and you want to continue to work on - Add a payment method and a spending limit greater than $0 USD. - Export the changes from the codespace to a branch. For more information, see "[Exporting changes to a branch](/codespaces/troubleshooting/exporting-changes-to-a-branch)." -- Wait for your monthly included usage to reset at the start of the next monthly billing cycle. +- Wait for your monthly included usage to reset at the start of the next monthly billing cycle. If you have used all of either your included storage usage or your included compute usage, and you have set up a payment method and a spending limit, any further use of codespaces owned by your personal account will incur charges for whichever type of usage has no remaining included quota. You will not be charged for the other type of usage until you have also used all of its included quota. @@ -107,9 +107,9 @@ For {% data variables.product.prodname_github_codespaces %} billing purposes, st {% note %} -**Notes**: +**Notes**: -- When you use the default dev container configuration (see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#using-the-default-dev-container-configuration)"), we do not count the default container as used storage. When you create a custom container using a dev container configuration with a different base image we do count the container as used storage. +- When you use the default dev container configuration (see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#using-the-default-dev-container-configuration)"), we do not count the default container as used storage. When you create a custom container using a dev container configuration with a different base image we do count the container as used storage. - When you rebuild your container from the default image we do not count the base container as used storage. For other base images all of the storage consumed by the codespace, including the base container, is counted as used storage. {% endnote %} @@ -121,7 +121,7 @@ For example, if you have one codespace that uses 100 GB of storage and has exist For each hourly report, the storage usage for the previous hour is calculated in seconds. As a result, you won't be charged for a full hour of storage if a codespace did not exist for the full 60 minutes. At the end of the month, {% data variables.product.prodname_dotcom %} rounds your storage to the nearest MB. Organization owners can: -- List the currently active and stopped codespaces for your organization. For more information, see "[Listing the codespaces in your organization](/codespaces/managing-codespaces-for-your-organization/listing-the-codespaces-in-your-organization)." In addition to the cost of these codespaces, the cost of {% data variables.product.prodname_github_codespaces %} for the current month may include costs for codespaces that existed earlier in the current month but have since been deleted. +- List the currently active and stopped codespaces for your organization. For more information, see "[Listing the codespaces in your organization](/codespaces/managing-codespaces-for-your-organization/listing-the-codespaces-in-your-organization)." In addition to the cost of these codespaces, the cost of {% data variables.product.prodname_github_codespaces %} for the current month may include costs for codespaces that existed earlier in the current month but have since been deleted. - See the total {% data variables.product.prodname_github_codespaces %} compute and storage usage for your organization for the current month to date. For more information, see "[Viewing your {% data variables.product.prodname_github_codespaces %} usage](/billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage)." - Configure your organization settings to manage the cost of {% data variables.product.prodname_github_codespaces %}. For more information, see "[Managing the cost of {% data variables.product.prodname_github_codespaces %} in your organization](/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization)." @@ -182,7 +182,7 @@ For information on managing and changing your account's spending limit, see "[Ma By default the machine type with the lowest valid resources is used when a codespace is created. However, users may be able to choose a machine type with more resources. They can do this either when they create a codespace, or they can change the machine type of an existing codespace. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository)" and "[Changing the machine type for your codespace](/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace)." -If a machine type that has more resources is chosen, this will affect the per-hour charge for that codespace, as shown above. +If a machine type that has more resources is chosen, this will affect the per-hour charge for that codespace, as shown above. Organization owners can create a policy to limit the choice of machine types available to users for codespaces that are billed to an organization or enterprise account. For more information, see "[Restricting access to machine types](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)." @@ -200,4 +200,4 @@ Usage is calculated every hour. An organization pays for usage of codespaces cre ## What happens when users are removed -If a user is removed from an organization or repository, their codespaces are automatically deleted. +If a user is removed from an organization or repository, their codespaces are automatically deleted. diff --git a/content/codespaces/codespaces-reference/performing-a-full-rebuild-of-a-container.md b/content/codespaces/codespaces-reference/performing-a-full-rebuild-of-a-container.md index 4f814d5fd8..6aa585c9e1 100644 --- a/content/codespaces/codespaces-reference/performing-a-full-rebuild-of-a-container.md +++ b/content/codespaces/codespaces-reference/performing-a-full-rebuild-of-a-container.md @@ -38,7 +38,7 @@ Any files and folders contained in the `/workspaces` directory of your codespace If you want to preserve files outside the `/workspaces` directory over a full rebuild, you can create, at the desired location in the container, a symbolic link (symlink) to the persistent directory. For example, in your `/workspaces/.devcontainer` directory, you can create a `config` directory that will be preserved across a rebuild. You can then symlink the `config` directory and its contents as a `postCreateCommand` in your `devcontainer.json` file. -```json +```json { "image": "mcr.microsoft.com/vscode/devcontainers/base:alpine", "postCreateCommand": ".devcontainer/postCreate.sh" @@ -53,4 +53,4 @@ ln -sf $PWD/.devcontainer/config $HOME/config && set +x ``` ## Further reading -- [Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers) \ No newline at end of file +- [Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers) \ No newline at end of file diff --git a/content/codespaces/codespaces-reference/security-in-github-codespaces.md b/content/codespaces/codespaces-reference/security-in-github-codespaces.md index 677adb5999..98c4474f20 100644 --- a/content/codespaces/codespaces-reference/security-in-github-codespaces.md +++ b/content/codespaces/codespaces-reference/security-in-github-codespaces.md @@ -16,7 +16,7 @@ redirect_from: ## Overview of codespace security -{% data variables.product.prodname_github_codespaces %} is designed to be security hardened by default. Consequently, you will need to ensure that your software development practices do not risk reducing the security posture of your codespace. +{% data variables.product.prodname_github_codespaces %} is designed to be security hardened by default. Consequently, you will need to ensure that your software development practices do not risk reducing the security posture of your codespace. This guide describes the way {% data variables.product.prodname_github_codespaces %} keeps your development environment secure and provides some of the good practices that will help maintain your security as you work. As with any development tool, remember that you should only open and work within repositories you know and trust. @@ -26,7 +26,7 @@ This guide describes the way {% data variables.product.prodname_github_codespace #### Isolated virtual machines -Each codespace is hosted on its own newly-built virtual machine (VM). Two codespaces are never co-located on the same VM. +Each codespace is hosted on its own newly-built virtual machine (VM). Two codespaces are never co-located on the same VM. Every time you restart a codespace, it's deployed to a new VM with the latest available security updates. @@ -36,7 +36,7 @@ Each codespace has its own isolated virtual network. We use firewalls to block i ### Authentication -You can connect to a codespace using a web browser or from {% data variables.product.prodname_vscode %}. If you connect from {% data variables.product.prodname_vscode_shortname %}, you are prompted to authenticate with {% data variables.product.product_name %}. +You can connect to a codespace using a web browser or from {% data variables.product.prodname_vscode %}. If you connect from {% data variables.product.prodname_vscode_shortname %}, you are prompted to authenticate with {% data variables.product.product_name %}. Every time a codespace is created or restarted, it's assigned a new {% data variables.product.company_short %} token with an automatic expiry period. This period allows you to work in the codespace without needing to reauthenticate during a typical working day, but reduces the chance that you will leave a connection open when you stop using the codespace. @@ -54,7 +54,7 @@ If you need to allow external access to services running on a codespace, you can ### Port forwarding -If you need to connect to a service (such as a development web server) running within your codespace, you can configure port forwarding to make the service available on the internet. +If you need to connect to a service (such as a development web server) running within your codespace, you can configure port forwarding to make the service available on the internet. Organization owners can restrict the ability to make forward ports available publicly or within the organization. For more information, see "[Restricting the visibility of forwarded ports](/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports)." @@ -72,12 +72,12 @@ You can use the "Ports" panel to configure a port for public or private access, ## Good security practices for your codespaces -Codespaces are designed to be security hardened by default. To help maintain this posture, we recommend that you follow good security practices during your development procedures: +Codespaces are designed to be security hardened by default. To help maintain this posture, we recommend that you follow good security practices during your development procedures: - As with any development tool, remember that you should only open and work within repositories you know and trust. - Before you add new dependencies to the codespace, check whether they are well-maintained, and if they release updates to fix any security vulnerabilities found in their code. -### Using secrets to access sensitive information +### Using secrets to access sensitive information Always use encrypted secrets when you want to use sensitive information (such as access tokens) in a codespace. You can access your secrets as environment variables in the codespace, including from the terminal. For example, you can launch a terminal within your codespace and use `echo $SECRET_NAME ` to see the value of a secret. @@ -99,17 +99,17 @@ We also further protect you in these scenarios by not injecting any of your [cod ### Additional good practices -There are some additional good practices and risks that you should be aware of when using {% data variables.product.prodname_github_codespaces %}. +There are some additional good practices and risks that you should be aware of when using {% data variables.product.prodname_github_codespaces %}. #### Understanding a repository's devcontainer.json file When you create a codespace, if a `devcontainer.json` file is found for your repository, it is parsed and used to configure your codespace. The `devcontainer.json` file can contain powerful features, such as installing third-party extensions and running arbitrary code supplied in a `postCreateCommand`. -For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." +For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)." #### Granting access through features -Certain development features can potentially add risk to your environment. For example, commit signing, secrets injected into environment variables, authenticated registry access, and packages access can all present potential security issues. We recommend that you only grant access to those who need it and adopt a policy of being as restrictive as possible. +Certain development features can potentially add risk to your environment. For example, commit signing, secrets injected into environment variables, authenticated registry access, and packages access can all present potential security issues. We recommend that you only grant access to those who need it and adopt a policy of being as restrictive as possible. #### Using extensions diff --git a/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md b/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md index 0a4a1e4f6d..c349f490aa 100644 --- a/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md +++ b/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md @@ -27,7 +27,7 @@ When using any development environment, customizing the settings and tools to yo {% data variables.product.prodname_github_codespaces %} personalization applies to any codespace you create. -Project maintainers can also define a default configuration that applies to every codespace for a repository, created by anyone. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." +Project maintainers can also define a default configuration that applies to every codespace for a repository, created by anyone. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)." ## Settings Sync diff --git a/content/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository.md b/content/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository.md index aeb477c475..89a4b6f809 100644 --- a/content/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository.md +++ b/content/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository.md @@ -73,7 +73,7 @@ If you want to use Git hooks for your codespace, then you should set up hooks us If codespaces for this repository are billable to an organization, or its parent enterprise, a message is displayed below the **Create codespace on BRANCH** button telling you who will pay for the codespace. 1. Create your codespace, either using the default options, or after configuring advanced options: - + * **Use the default options** To create a codespace using the default options, click the plus sign ({% octicon "plus" aria-label="The plus icon" %}). Alternatively, if you don't currently have any codespaces for this repository, you can click **Create codespace on BRANCH**. @@ -91,35 +91,35 @@ If you want to use Git hooks for your codespace, then you should set up hooks us ![The codespace options page](/assets/images/help/codespaces/advanced-options.png) {% note %} - + **Notes** - + * You can bookmark the options page to give you a quick way to create a codespace for this repository and branch. * The [https://github.com/codespaces/new](https://github.com/codespaces/new) page provides a quick way to create a codespace for any repository and branch. You can get to this page quickly by typing `codespace.new` into your browser's address bar. - * For more information about the `devcontainer.json` file, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#devcontainerjson)." + * For more information about the `devcontainer.json` file, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#devcontainerjson)." * For more information about machine types, see "[Changing the machine type for your codespace](/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace#about-machine-types)." * {% data reusables.codespaces.codespaces-machine-type-availability %} - + {% endnote %} 1. Click **Create codespace**. {% endwebui %} - + {% vscode %} {% data reusables.codespaces.creating-a-codespace-in-vscode %} {% endvscode %} - + {% cli %} {% data reusables.cli.cli-learn-more %} -To create a new codespace, use the `gh codespace create` subcommand. +To create a new codespace, use the `gh codespace create` subcommand. ```shell -gh codespace create +gh codespace create ``` You are prompted to choose a repository. If codespaces for this repository are billable to an organization, or its parent enterprise, a message is displayed telling you who will pay for the codespace. You are then prompted to choose a branch, a dev container configuration file (if more than one is available), and a machine type (if more than one is available). @@ -132,7 +132,7 @@ gh codespace create -r OWNER/REPO -b BRANCH --devcontainer-path PATH -m MACHINE- In this example, replace `owner/repo` with the repository identifier. Replace `branch` with the name of the branch, or the full SHA hash of the commit, that you want to be initially checked out in the codespace. If you use the `-r` flag without the `b` flag, the codespace is created from the default branch. -Replace `path` with the path to the dev container configuration file you want to use for the new codespace. If you omit this flag and more than one dev container file is available you will be prompted to choose one from a list. For more information about the dev container configuration file, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." +Replace `path` with the path to the dev container configuration file you want to use for the new codespace. If you omit this flag and more than one dev container file is available you will be prompted to choose one from a list. For more information about the dev container configuration file, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)." Replace `machine-type` with a valid identifier for an available machine type. Identifiers are strings such as: `basicLinux32gb` and `standardLinux32gb`. The type of machines that are available depends on the repository, your personal account, and your location. If you enter an invalid or unavailable machine type, the available types are shown in the error message. If you omit this flag and more than one machine type is available you will be prompted to choose one from a list. @@ -142,4 +142,4 @@ For full details of the options for this command, see [the {% data variables.pro ## Further reading - "[Opening an existing codespace](/codespaces/developing-in-codespaces/opening-an-existing-codespace)" -- "[Adding an 'Open in {% data variables.product.prodname_github_codespaces %}' badge](/codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge)" +- "[Adding an 'Open in {% data variables.product.prodname_github_codespaces %}' badge](/codespaces/setting-up-your-project-for-codespaces/setting-up-your-repository/adding-a-codespaces-badge)" diff --git a/content/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template.md b/content/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template.md index 842a20e971..8f80b1c239 100644 --- a/content/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template.md +++ b/content/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template.md @@ -23,17 +23,17 @@ If you're starting a new project, you can get started with development work quic {% endnote %} -You can start from a blank template, choose from templates maintained by {% data variables.product.company_short %} for popular technologies such as React or Jupyter Notebook, or launch a codespace from any template repository on {% data variables.product.prodname_dotcom %}. With a blank template, you'll start with an empty directory, with access to cloud-based compute resources and the tools, languages, and runtime environments that come preinstalled with the default codespace image. With other templates, you'll get starter files for the technology you're working with, plus typically some extra files such as a README file, a `.gitignore` file, and dev container configuration files containing some custom environment configuration. For more information on dev containers and the default image, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." +You can start from a blank template, choose from templates maintained by {% data variables.product.company_short %} for popular technologies such as React or Jupyter Notebook, or launch a codespace from any template repository on {% data variables.product.prodname_dotcom %}. With a blank template, you'll start with an empty directory, with access to cloud-based compute resources and the tools, languages, and runtime environments that come preinstalled with the default codespace image. With other templates, you'll get starter files for the technology you're working with, plus typically some extra files such as a README file, a `.gitignore` file, and dev container configuration files containing some custom environment configuration. For more information on dev containers and the default image, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)." As an example, if you create a codespace from {% data variables.product.company_short %}'s React template, you'll arrive in a workspace containing template files for a simple application, such as `index.js`, `app.js`, and `package.json`. Shortly after the codespace opens, a development server will start up automatically, and you will be able to view the running application in a simple browser tab within the {% data variables.product.prodname_vscode_shortname %} web client. ![Screenshot of the React template running in a codespace](/assets/images/help/codespaces/react-template.png) -The files and configuration included in templates are defined in template repositories. The template repository is cloned into your codespace when you create the codespace. After that, the link is severed, and your codespace won't be linked to a remote repository until you publish to one. +The files and configuration included in templates are defined in template repositories. The template repository is cloned into your codespace when you create the codespace. After that, the link is severed, and your codespace won't be linked to a remote repository until you publish to one. {% tip %} -**Tip:** To help people get started with your framework, library, or other project, you can set up a template repository for use with {% data variables.product.prodname_github_codespaces %}. For more information, see "[Setting up a template repository for {% data variables.product.prodname_github_codespaces %}](/codespaces/setting-up-your-project-for-codespaces/setting-up-a-template-repository-for-github-codespaces)." +**Tip:** To help people get started with your framework, library, or other project, you can set up a template repository for use with {% data variables.product.prodname_github_codespaces %}. For more information, see "[Setting up a template repository for {% data variables.product.prodname_github_codespaces %}](/codespaces/setting-up-your-project-for-codespaces/setting-up-your-repository/setting-up-a-template-repository-for-github-codespaces)." {% endtip %} @@ -48,7 +48,7 @@ Templates maintained by {% data variables.product.company_short %}, including th ![Screenshot of the "Explore quick start templates" section, with "React" highlighted](/assets/images/help/codespaces/react-template-name.png) 1. Under the template you want to launch, click **Use this template**. - + ![Screenshot of the quick start templates, with the "Use this template" button highlighted under the React template](/assets/images/help/codespaces/react-template-button.png) {% data reusables.codespaces.template-codespaces-default-editor %} @@ -58,7 +58,7 @@ Templates maintained by {% data variables.product.company_short %}, including th You can create a codespace from any template repository, then publish your work to a new repository when you are ready. For more information on template repositories, see "[Creating a repository from a template](/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template#about-repository-templates)." {% data reusables.repositories.navigate-to-repo %} -{% data reusables.codespaces.open-template-in-codespace-step %} +{% data reusables.codespaces.use-this-template %} {% note %} @@ -72,7 +72,7 @@ You can create a codespace from any template repository, then publish your work {% data reusables.codespaces.about-publishing-templates %} -### Publishing from {% data variables.product.prodname_vscode_shortname %} +### Publishing from {% data variables.product.prodname_vscode_shortname %} {% data reusables.codespaces.publishing-template-codespaces %} @@ -82,7 +82,7 @@ When a codespace is published, you have access to a greater range of options to - Allow {% data variables.product.prodname_dotcom %} to automatically use GPG to sign commits you make in your codespace (see "[Managing GPG verification for {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)"). - Share encrypted secrets with your codespace (see "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)"). -### Publishing from {% data variables.product.prodname_dotcom_the_website %} +### Publishing from {% data variables.product.prodname_dotcom_the_website %} You can publish an unpublished codespace from the "Your codespaces" page on {% data variables.product.prodname_dotcom_the_website %}. This is useful if you want to publish a codespace that you don't currently have open in your browser. If you do this, your work will be preserved in a repository, but there won't be a link between your existing codespace and the new repository. However, you can navigate to the new repository and create a codespace from there, and this codespace will be connected to the repository. @@ -99,4 +99,4 @@ You can publish an unpublished codespace from the "Your codespaces" page on {% d - "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository)" - "[The codespace lifecycle](/codespaces/getting-started/the-codespace-lifecycle)" -- "[Using source control in your codespace](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace)" \ No newline at end of file +- "[Using source control in your codespace](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace)" diff --git a/content/codespaces/developing-in-codespaces/developing-in-a-codespace.md b/content/codespaces/developing-in-codespaces/developing-in-a-codespace.md index 0de2f28409..7e6256579f 100644 --- a/content/codespaces/developing-in-codespaces/developing-in-a-codespace.md +++ b/content/codespaces/developing-in-codespaces/developing-in-a-codespace.md @@ -23,7 +23,7 @@ shortTitle: Develop in a codespace ## About development with {% data variables.product.prodname_github_codespaces %} -You can develop code in a codespace using your choice of tool: +You can develop code in a codespace using your choice of tool: * A command shell, via an SSH connection initiated using {% data variables.product.prodname_cli %}. * One of the JetBrains IDEs, via the JetBrains Gateway. @@ -61,7 +61,7 @@ The tabs in this article allow you to switch between information for each of the For more information on using {% data variables.product.prodname_vscode_shortname %}, see the [User Interface guide](https://code.visualstudio.com/docs/getstarted/userinterface) in the {% data variables.product.prodname_vscode_shortname %} documentation. -{% data reusables.codespaces.connect-to-codespace-from-vscode %} +{% data reusables.codespaces.connect-to-codespace-from-vscode %} For troubleshooting information, see "[Troubleshooting Codespaces clients](/codespaces/troubleshooting/troubleshooting-github-codespaces-clients)." {% data reusables.codespaces.developing-in-vscode %} @@ -102,7 +102,7 @@ For more information about the IntelliJ IDEA user interface, see the [JetBrains ### Customizing the codespaces for a repository -You can customize the codespaces that are created for a repository by creating or updating the dev container configuration for the repository. You can do this from within a codespace. After you change a dev container configuration, you can apply the changes to the current codespace by rebuilding the Docker container for the codespace. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." +You can customize the codespaces that are created for a repository by creating or updating the dev container configuration for the repository. You can do this from within a codespace. After you change a dev container configuration, you can apply the changes to the current codespace by rebuilding the Docker container for the codespace. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)." ### Personalizing your codespace diff --git a/content/codespaces/developing-in-codespaces/getting-started-with-github-codespaces-for-machine-learning.md b/content/codespaces/developing-in-codespaces/getting-started-with-github-codespaces-for-machine-learning.md index 2e0f9118fb..f5948eb3a8 100644 --- a/content/codespaces/developing-in-codespaces/getting-started-with-github-codespaces-for-machine-learning.md +++ b/content/codespaces/developing-in-codespaces/getting-started-with-github-codespaces-for-machine-learning.md @@ -17,7 +17,7 @@ This guide introduces you to machine learning with {% data variables.product.pro ## Building a simple image classifier -We'll use a Jupyter notebook to build a simple image classifier. +We'll use a Jupyter notebook to build a simple image classifier. Jupyter notebooks are sets of cells that you can execute one after another. The notebook we'll use includes a number of cells that build an image classifier using [PyTorch](https://pytorch.org/). Each cell is a different phase of that process: download a dataset, set up a neural network, train a model, and then test that model. @@ -26,13 +26,13 @@ We'll run all of the cells, in sequence, to perform all phases of building the i ### Creating a codespace 1. Go to the [github/codespaces-jupyter](https://github.com/github/codespaces-jupyter) template repository. -{% data reusables.codespaces.open-template-in-codespace-step %} +{% data reusables.codespaces.use-this-template %} A codespace for this template will open in a web-based version of {% data variables.product.prodname_vscode %}. -### Opening the image classifier notebook +### Opening the image classifier notebook -The default container image that's used by {% data variables.product.prodname_github_codespaces %} includes a set of machine learning libraries that are preinstalled in your codespace. For example, Numpy, pandas, SciPy, Matplotlib, seaborn, scikit-learn, Keras, PyTorch, Requests, and Plotly. For more information about the default image, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#using-the-default-dev-container-configuration)" and [the `devcontainers/images` repository](https://github.com/devcontainers/images/tree/main/src/universal). +The default container image that's used by {% data variables.product.prodname_github_codespaces %} includes a set of machine learning libraries that are preinstalled in your codespace. For example, Numpy, pandas, SciPy, Matplotlib, seaborn, scikit-learn, Keras, PyTorch, Requests, and Plotly. For more information about the default image, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#using-the-default-dev-container-configuration)" and [the `devcontainers/images` repository](https://github.com/devcontainers/images/tree/main/src/universal). 1. In the {% data variables.product.prodname_vscode_shortname %} editor, close any "Get Started" tabs that are displayed. 1. Open the `notebooks/image-classifier.ipynb` notebook file. @@ -51,7 +51,7 @@ The image classifier notebook contains all the code you need to download a datas ## Configuring NVIDIA CUDA for your codespace -Some software requires you to install NVIDIA CUDA to use your codespace’s GPU. Where this is the case, you can create your own custom configuration, by using a `devcontainer.json` file, and specify that CUDA should be installed. For more information on creating a custom configuration, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#creating-a-custom-dev-container-configuration)." +Some software requires you to install NVIDIA CUDA to use your codespace’s GPU. Where this is the case, you can create your own custom configuration, by using a `devcontainer.json` file, and specify that CUDA should be installed. For more information on creating a custom configuration, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#creating-a-custom-dev-container-configuration)." {% note %} @@ -64,7 +64,7 @@ Some software requires you to install NVIDIA CUDA to use your codespace’s GPU. ```json{:copy} "features": { - "ghcr.io/devcontainers/features/nvidia-cuda:1": { + "ghcr.io/devcontainers/features/nvidia-cuda:1": { "installCudnn": true } } @@ -85,7 +85,7 @@ Some software requires you to install NVIDIA CUDA to use your codespace’s GPU. } }, "features": { - "ghcr.io/devcontainers/features/nvidia-cuda:1": { + "ghcr.io/devcontainers/features/nvidia-cuda:1": { "installCudnn": true } } diff --git a/content/codespaces/developing-in-codespaces/index.md b/content/codespaces/developing-in-codespaces/index.md index bbee3530d4..927773e21b 100644 --- a/content/codespaces/developing-in-codespaces/index.md +++ b/content/codespaces/developing-in-codespaces/index.md @@ -1,6 +1,6 @@ --- title: Developing in a codespace -intro: 'Create a codespace to get started with developing your project inside a dedicated cloud environment. You can use forwarded ports to run your application and even use codespaces inside {% data variables.product.prodname_vscode %}' +intro: 'Create a codespace to get started with developing your project inside a dedicated cloud environment. You can use your codespace in the browser or in a choice of code editors.' versions: fpt: '*' ghec: '*' @@ -23,4 +23,3 @@ children: - /using-github-codespaces-in-your-jetbrains-ide - /using-github-codespaces-with-github-cli --- - diff --git a/content/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide.md b/content/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide.md index 94f786d237..c1ed002c60 100644 --- a/content/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide.md +++ b/content/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide.md @@ -30,8 +30,8 @@ After installing the JetBrains Gateway, you can set JetBrains as your default ed The basic process behind using a codespace in your JetBrains IDE is as follows. -* In the JetBrains Gateway application you select one of your active or stopped codespaces. -* You then choose which JetBrains IDE you want to use. +* In the JetBrains Gateway application you select one of your active or stopped codespaces. +* You then choose which JetBrains IDE you want to use. * The selected JetBrains IDE is then downloaded to the remote virtual machine that hosts your codespace and source code. * The JetBrains thin client application is then downloaded to your local machine and started. * The client application connects to the full backend IDE. @@ -43,7 +43,7 @@ To work in a codespace in a JetBrains IDE you need: * A valid JetBrains license * The JetBrains Gateway application -* {% data variables.product.prodname_cli %} version 2.18.0 or later +* {% data variables.product.prodname_cli %} version 2.18.0 or later * An existing codespace that's running an SSH server ### JetBrains license @@ -78,7 +78,7 @@ You must have an existing codespace to connect to. {% data reusables.codespaces. {% data reusables.codespaces.ssh-server-installed %} -For more information about the `devcontainer.json` file and the default container image, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." +For more information about the `devcontainer.json` file and the default container image, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)." {% note %} @@ -88,7 +88,7 @@ For more information about the `devcontainer.json` file and the default containe ## Setting up the JetBrains Gateway -The first time you use JetBrains Gateway for {% data variables.product.prodname_github_codespaces %}, you must install the {% data variables.product.prodname_codespaces %} plugin. You must also allow the JetBrains Gateway to access {% data variables.product.prodname_dotcom_the_website %} using your {% data variables.product.prodname_dotcom %} account. +The first time you use JetBrains Gateway for {% data variables.product.prodname_github_codespaces %}, you must install the {% data variables.product.prodname_codespaces %} plugin. You must also allow the JetBrains Gateway to access {% data variables.product.prodname_dotcom_the_website %} using your {% data variables.product.prodname_dotcom %} account. 1. Open the JetBrains Gateway application. 1. Under **Install More Providers** click the **Install** link for {% data variables.product.prodname_github_codespaces %}. @@ -107,7 +107,7 @@ The first time you use JetBrains Gateway for {% data variables.product.prodname_ ![Screenshot of the one-time login code](/assets/images/help/codespaces/jetbrains-gateway-login-code.png) -1. If you are not currently signed in to {% data variables.product.prodname_dotcom %}, the sign-in page is displayed. +1. If you are not currently signed in to {% data variables.product.prodname_dotcom %}, the sign-in page is displayed. * Enter your details and click **Sign in**. * Verify your authentication, for example by entering a two-factor authentication code. 1. On the "Device activation" page, paste the copied code and click **Continue**. @@ -119,10 +119,10 @@ The first time you use JetBrains Gateway for {% data variables.product.prodname_ {% data reusables.codespaces.opening-codespace-in-jetbrains %} - The first time you connect to a codespace, the backend IDE will be downloaded to the remote machine. This may take a few minutes. The next time you connect to the same codespace this step won't be necessary, making the connection process quicker. + The first time you connect to a codespace, the backend IDE will be downloaded to the remote machine. This may take a few minutes. The next time you connect to the same codespace this step won't be necessary, making the connection process quicker. + + The backend IDE is then started. Again, this step will not be required in future if you are reconnecting to a backend IDE that you have left running. - The backend IDE is then started. Again, this step will not be required in future if you are reconnecting to a backend IDE that you have left running. - The client application is then launched. ## Further reading diff --git a/content/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli.md b/content/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli.md index 78bca1ff88..ee9bd45cc6 100644 --- a/content/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli.md +++ b/content/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli.md @@ -15,7 +15,7 @@ redirect_from: - /codespaces/developing-in-codespaces/using-codespaces-with-github-cli --- -## About {% data variables.product.prodname_cli %} +## About {% data variables.product.prodname_cli %} {% data reusables.cli.about-cli %} For more information, see "[About {% data variables.product.prodname_cli %}](/github-cli/github-cli/about-github-cli)." @@ -37,14 +37,14 @@ You can work with {% data variables.product.prodname_github_codespaces %} in the ## Installing {% data variables.product.prodname_cli %} {% data reusables.cli.cli-installation %} - + ## Using {% data variables.product.prodname_cli %} -If you have not already done so, run `gh auth login` to authenticate with your {% data variables.product.prodname_dotcom %} account. +If you have not already done so, run `gh auth login` to authenticate with your {% data variables.product.prodname_dotcom %} account. To use `gh` to work with {% data variables.product.prodname_github_codespaces %}, type `gh codespace SUBCOMMAND` or its alias `gh cs SUBCOMMAND`. -As an example of a series of commands you might use to work with {% data variables.product.prodname_github_codespaces %}, you could: +As an example of a series of commands you might use to work with {% data variables.product.prodname_github_codespaces %}, you could: * List your current codespaces, to check whether you have a codespace for a particular repository:
`gh codespace list` @@ -121,7 +121,7 @@ gh codespace ssh -c CODESPACE-NAME **Note**: {% data reusables.codespaces.ssh-server-installed %} -
For more information about the `devcontainer.json` file and the default container image, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." +
For more information about the `devcontainer.json` file and the default container image, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)." {% endnote %} @@ -221,12 +221,12 @@ gh codespace logs -c CODESPACE-NAME For more information about the creation log, see "[{% data variables.product.prodname_github_codespaces %} logs](/codespaces/troubleshooting/github-codespaces-logs#creation-logs)." -### Access remote resources +### Access remote resources You can use the {% data variables.product.prodname_cli %} extension to create a bridge between a codespace and your local machine, so that the codespace can access any remote resource that is accessible from your machine. For more information on using the extension, see "[Using {% data variables.product.prodname_cli %} to access remote resources](https://github.com/github/gh-net#codespaces-network-bridge)." {% note %} -**Note**: The {% data variables.product.prodname_cli %} extension is currently in beta and subject to change. +**Note**: The {% data variables.product.prodname_cli %} extension is currently in beta and subject to change. {% endnote %} diff --git a/content/codespaces/getting-started/deep-dive.md b/content/codespaces/getting-started/deep-dive.md index 34df8e0a19..b590ce6b62 100644 --- a/content/codespaces/getting-started/deep-dive.md +++ b/content/codespaces/getting-started/deep-dive.md @@ -23,8 +23,8 @@ There are a number of entry points to create a codespace. - From a commit in a repository's history to investigate a bug at a specific point in time {% data reusables.codespaces.ways-to-create-a-codespace %} - -Your codespace can be ephemeral if you need to test something or you can return to the same codespace to work on long-running feature work. + +Your codespace can be ephemeral if you need to test something or you can return to the same codespace to work on long-running feature work. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository)," "[Creating a codespace from a template](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template)," and "[Opening an existing codespace](/codespaces/developing-in-codespaces/opening-an-existing-codespace)." @@ -44,7 +44,7 @@ When you create a codespace, a [shallow clone](https://github.blog/2020-12-21-ge ### Step 2: Container is created -{% data variables.product.prodname_github_codespaces %} uses a container as the development environment. This container is created based on configurations that you can define in a `devcontainer.json` file and, optionally, a Dockerfile. If you create a codespace from {% data variables.product.company_short %}'s blank template, or from a repository with no `devcontainer.json` file, {% data variables.product.prodname_github_codespaces %} uses a default image, which has many languages and runtimes available. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." For details of what the default image contains, see the [`microsoft/vscode-dev-containers`](https://github.com/microsoft/vscode-dev-containers/tree/main/containers/codespaces-linux) repository. +{% data variables.product.prodname_github_codespaces %} uses a container as the development environment. This container is created based on configurations that you can define in a `devcontainer.json` file and, optionally, a Dockerfile. If you create a codespace from {% data variables.product.company_short %}'s blank template, or from a repository with no `devcontainer.json` file, {% data variables.product.prodname_github_codespaces %} uses a default image, which has many languages and runtimes available. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)." For details of what the default image contains, see the [`microsoft/vscode-dev-containers`](https://github.com/microsoft/vscode-dev-containers/tree/main/containers/codespaces-linux) repository. {% note %} @@ -69,7 +69,7 @@ Once you are connected to your codespace, your automated setup may continue to b If you want to use Git hooks in your codespace, set up hooks using the [`devcontainer.json` lifecycle scripts](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_lifecycle-scripts), such as `postCreateCommand`. For more information, see the [`devcontainer.json` reference](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_devcontainerjson-properties) in the {% data variables.product.prodname_vscode_shortname %} documentation. -If you have a public dotfiles repository for {% data variables.product.prodname_github_codespaces %}, you can enable it for use with new codespaces. When enabled, your dotfiles will be cloned to the container and the install script will be invoked. For more information, see "[Personalizing {% data variables.product.prodname_github_codespaces %} for your account](/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account#dotfiles)." +If you have a public dotfiles repository for {% data variables.product.prodname_github_codespaces %}, you can enable it for use with new codespaces. When enabled, your dotfiles will be cloned to the container and the install script will be invoked. For more information, see "[Personalizing {% data variables.product.prodname_github_codespaces %} for your account](/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account#dotfiles)." Finally, if you created the codespace from a repository, the entire history of the repository is copied down with a full clone. If you created the codespace from a template, the full history of the template repository is not preserved; instead, unless you are using the blank template, you will start with an initial commit for the contents of the template repository. @@ -80,11 +80,11 @@ During post-creation setup you'll still be able to use the integrated terminal a Save changes to files in the normal way, depending on the editor you are using. -If you work on codespaces in {% data variables.product.prodname_vscode %}, you can enable [Auto Save](https://code.visualstudio.com/docs/editor/codebasics#_save-auto-save) to ensure that your changes are always saved. +If you work on codespaces in {% data variables.product.prodname_vscode %}, you can enable [Auto Save](https://code.visualstudio.com/docs/editor/codebasics#_save-auto-save) to ensure that your changes are always saved. ### Closing or stopping your codespace -Your codespace will keep running while you are using it, but will time out after a period of inactivity. File changes from the editor and terminal output are counted as activity, so your codespace will not time out if terminal output is continuing. The default inactivity timeout period is 30 minutes. You can define your personal timeout setting for codespaces you create, but this may be overruled by an organization timeout policy. For more information, see "[Setting your timeout period for Codespaces](/codespaces/customizing-your-codespace/setting-your-timeout-period-for-codespaces)." +Your codespace will keep running while you are using it, but will time out after a period of inactivity. File changes from the editor and terminal output are counted as activity, so your codespace will not time out if terminal output is continuing. The default inactivity timeout period is 30 minutes. You can define your personal timeout setting for codespaces you create, but this may be overruled by an organization timeout policy. For more information, see "[Setting your timeout period for Codespaces](/codespaces/customizing-your-codespace/setting-your-timeout-period-for-codespaces)." If a codespace times out it will stop running, but you can restart it from the browser tab (if you were using the codespace in the browser), from within {% data variables.product.prodname_vscode_shortname %}, or from your list of codespaces at [https://github.com/codespaces](https://github.com/codespaces). @@ -95,7 +95,7 @@ To stop your codespace you can * In the JetBrains client, click the stop button at the top of the {% data variables.product.prodname_github_codespaces %} tool window. For more information, see the "JetBrains IDEs" tab of "[Stopping and starting a codespace](/codespaces/developing-in-codespaces/stopping-and-starting-a-codespace)." * In a terminal window: use the {% data variables.product.prodname_cli %} command `gh codespace stop`. For more information, see "[Using {% data variables.product.prodname_github_codespaces %} with {% data variables.product.prodname_cli %}](/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli#gh-commands-for-github-codespaces)." -If you exit your codespace without running the stop command (for example, by closing the browser tab), or if you leave the codespace running without interaction, the codespace and its running processes will continue for the duration of the inactivity timeout period. +If you exit your codespace without running the stop command (for example, by closing the browser tab), or if you leave the codespace running without interaction, the codespace and its running processes will continue for the duration of the inactivity timeout period. When you close or stop your codespace, all uncommitted changes are preserved until you connect to the codespace again. @@ -137,7 +137,7 @@ You can add plugins and extensions within a codespace to personalize your experi ### {% data variables.product.prodname_vscode_shortname %} extensions -If you work on your codespaces in the {% data variables.product.prodname_vscode_shortname %} desktop application, or the web client, you can add any extensions you need from the {% data variables.product.prodname_vscode_marketplace %}. For information on how extensions run in {% data variables.product.prodname_github_codespaces %}, see [Supporting Remote Development and {% data variables.product.prodname_github_codespaces %}](https://code.visualstudio.com/api/advanced-topics/remote-extensions) in the {% data variables.product.prodname_vscode_shortname %} documentation. +If you work on your codespaces in the {% data variables.product.prodname_vscode_shortname %} desktop application, or the web client, you can add any extensions you need from the {% data variables.product.prodname_vscode_marketplace %}. For information on how extensions run in {% data variables.product.prodname_github_codespaces %}, see [Supporting Remote Development and {% data variables.product.prodname_github_codespaces %}](https://code.visualstudio.com/api/advanced-topics/remote-extensions) in the {% data variables.product.prodname_vscode_shortname %} documentation. If you already use {% data variables.product.prodname_vscode_shortname %}, you can use [Settings Sync](https://code.visualstudio.com/docs/editor/settings-sync) to automatically sync extensions, settings, themes, and keyboard shortcuts between your local instance and any codespaces you create. @@ -146,7 +146,7 @@ If you already use {% data variables.product.prodname_vscode_shortname %}, you c If you work on your codespaces in a JetBrains IDE, you can add plugins from the JetBrains Marketplace. 1. Click **JetBrains Client**, then click **Preferences**. -1. In the Preferences dialog box, click either **Plugins On Host** to install a plugin in the full JetBrains IDE that's running remotely, or **Plugins** to install a plugin on the local client, for example to change the user interface theme. +1. In the Preferences dialog box, click either **Plugins On Host** to install a plugin in the full JetBrains IDE that's running remotely, or **Plugins** to install a plugin on the local client, for example to change the user interface theme. 1. Click the **Marketplace** tab. ![Screenshot of the Marketplace tab for 'Plugins On Host'](/assets/images/help/codespaces/jetbrains-preferences-plugins.png) @@ -157,5 +157,5 @@ If you work on your codespaces in a JetBrains IDE, you can add plugins from the - "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization)" - "[Managing the cost of {% data variables.product.prodname_github_codespaces %} in your organization](/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization)" -- "[Add a dev container configuration to your repository](/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces)" +- "[Adding a dev container configuration to your repository](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration)" - "[The codespace lifecycle](/codespaces/getting-started/the-codespace-lifecycle)" diff --git a/content/codespaces/getting-started/index.md b/content/codespaces/getting-started/index.md index 4ba4ae862f..5e39ba6467 100644 --- a/content/codespaces/getting-started/index.md +++ b/content/codespaces/getting-started/index.md @@ -1,13 +1,14 @@ --- title: 'Getting started with {% data variables.product.prodname_github_codespaces %}' shortTitle: Getting started -intro: 'Learn how to get started with {% data variables.product.prodname_github_codespaces %}, including set up and configuration for specific languages.' +intro: 'Learn how to get started with {% data variables.product.prodname_github_codespaces %}, then find out more about how a codespace works.' versions: fpt: '*' ghec: '*' +redirect_from: + - /codespaces/getting-started-with-codespaces children: - /quickstart - /the-codespace-lifecycle - /deep-dive --- - diff --git a/content/codespaces/getting-started/quickstart.md b/content/codespaces/getting-started/quickstart.md index d28e992172..e47f14c35b 100644 --- a/content/codespaces/getting-started/quickstart.md +++ b/content/codespaces/getting-started/quickstart.md @@ -24,19 +24,19 @@ For more information on exactly how {% data variables.product.prodname_github_co ## Creating your codespace 1. Navigate to the [github/haikus-for-codespaces](https://github.com/github/haikus-for-codespaces) template repository. -{% data reusables.codespaces.open-template-in-codespace-step %} +{% data reusables.codespaces.use-this-template %} ## Running the application Once your codespace is created, the template repository will be automatically cloned into it. Now you can run the application and launch it in a browser. 1. When the terminal becomes available, enter the command `npm run dev`. This example uses a Node.js project, and this command runs the script labeled "dev" in the `package.json` file, which starts up the web application defined in the sample repository. - + ![npm run dev in terminal](/assets/images/help/codespaces/codespaces-npm-run-dev.png) If you're following along with a different application type, enter the corresponding start command for that project. -2. When your application starts, the codespace recognizes the port the application is running on and displays a prompt to let you know it has been forwarded. +2. When your application starts, the codespace recognizes the port the application is running on and displays a prompt to let you know it has been forwarded. ![Port forwarding "toast" notification](/assets/images/help/codespaces/quickstart-port-toast.png) @@ -49,7 +49,7 @@ Once your codespace is created, the template repository will be automatically cl 2. Edit the `text` field of the first haiku to personalize the application with your own haiku. 3. Go back to the running application tab in your browser and refresh to see your changes. - + {% octicon "light-bulb" aria-label="The lightbulb icon" %} If you've closed the tab, open the Ports panel and click the **Open in browser** icon for the running port. ![Port Forwarding Panel](/assets/images/help/codespaces/quickstart-forward-port.png) @@ -68,16 +68,16 @@ Now that you've made a few changes, you can use the integrated terminal or the s ![Source control side bar with a commit message](/assets/images/help/codespaces/vscode-commit-button.png) 3. Click **Publish Branch**. - + ![Screenshot of the "Publish branch" button in VS Code](/assets/images/help/codespaces/vscode-publish-branch-button.png) 4. In the "Repository Name" dropdown, type a name for your new repository, then select **Publish to {% data variables.product.company_short %} private repository** or **Publish to {% data variables.product.company_short %} public repository**. - + ![Screenshot of the "Repository Name" dropdown in VS Code](/assets/images/help/codespaces/choose-new-repository.png) The owner of the new repository will be the {% data variables.product.prodname_dotcom %} account with which you created the codespace. 5. In the pop-up that appears in the lower right corner of the editor, click **Open on {% data variables.product.company_short %}** to view the new repository on {% data variables.product.prodname_dotcom_the_website %}. In the new repository, view the `haikus.json` file and check that the change you made in your codespace has been successfully pushed to the repository. - + ![Screenshot of the "Open in GitHub" pop-up in VS Code](/assets/images/help/codespaces/open-on-github.png) ## Personalizing with an extension @@ -102,8 +102,8 @@ You can enable Settings Sync to sync extensions and other settings across device You've successfully created, personalized, and run your first application within a codespace but there's so much more to explore! Here are some helpful resources for taking your next steps with {% data variables.product.prodname_github_codespaces %}. * "[Deep dive](/codespaces/getting-started/deep-dive)": This quickstart presented some of the features of {% data variables.product.prodname_github_codespaces %}. The deep dive looks at these areas from a technical standpoint. -* "[Add a dev container configuration to your repository](/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces)": These guides provide information on setting up your repository to use {% data variables.product.prodname_github_codespaces %} with specific languages. -* "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)": This guide provides details on creating a custom configuration for {% data variables.product.prodname_codespaces %} for your project. +* "[Adding a dev container configuration to your repository](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration)": These guides provide information on setting up your repository to use {% data variables.product.prodname_github_codespaces %} with specific languages. +* "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)": This guide provides details on creating a custom configuration for {% data variables.product.prodname_codespaces %} for your project. ## Further reading diff --git a/content/codespaces/getting-started/the-codespace-lifecycle.md b/content/codespaces/getting-started/the-codespace-lifecycle.md index cf41e1bb83..99ab162845 100644 --- a/content/codespaces/getting-started/the-codespace-lifecycle.md +++ b/content/codespaces/getting-started/the-codespace-lifecycle.md @@ -23,7 +23,7 @@ When you want to work on a project, you can choose to create a new codespace or {% data reusables.codespaces.max-number-codespaces %} Similarly, if you reach the maximum number of active codespaces and you try to start another, you are prompted to stop one of your active codespaces. -If you choose to create a new codespace each time you work on a project, you should regularly push your changes so that any new commits are on {% data variables.product.prodname_dotcom %}. If you choose to use a long-running codespace for your project, you should pull from your repository's default branch each time you start working in your codespace so that your environment has the latest commits. This workflow is very similar to if you were working with a project on your local machine. +If you choose to create a new codespace each time you work on a project, you should regularly push your changes so that any new commits are on {% data variables.product.prodname_dotcom %}. If you choose to use a long-running codespace for your project, you should pull from your repository's default branch each time you start working in your codespace so that your environment has the latest commits. This workflow is very similar to if you were working with a project on your local machine. {% data reusables.codespaces.prebuilds-crossreference %} @@ -43,7 +43,7 @@ When a codespace times out, your data is preserved from the last time your chang You can rebuild your codespace to implement changes to your dev container configuration. For most uses, you can create a new codespace as an alternative to rebuilding a codespace. By default, when you rebuild your codespace, {% data variables.product.prodname_github_codespaces %} will reuse images from your cache to speed up the rebuild process. Alternatively, you can perform a full rebuild, which clears your cache and rebuilds the container with fresh images. -For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace)" and "[Performing a full rebuild of a container](/codespaces/codespaces-reference/performing-a-full-rebuild-of-a-container)." +For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace)" and "[Performing a full rebuild of a container](/codespaces/codespaces-reference/performing-a-full-rebuild-of-a-container)." ## Stopping a codespace diff --git a/content/codespaces/guides.md b/content/codespaces/guides.md index ffbb283b86..233060f276 100644 --- a/content/codespaces/guides.md +++ b/content/codespaces/guides.md @@ -10,14 +10,16 @@ versions: includeGuides: - /codespaces/getting-started/quickstart - /codespaces/getting-started/deep-dive - - /codespaces/setting-up-your-project-for-codespaces/setting-up-your-nodejs-project-for-codespaces - - /codespaces/setting-up-your-project-for-codespaces/setting-up-your-python-project-for-codespaces - - /codespaces/setting-up-your-project-for-codespaces/setting-up-your-dotnet-project-for-codespaces - - /codespaces/setting-up-your-project-for-codespaces/setting-up-your-java-project-for-codespaces - - /codespaces/setting-up-your-project-for-codespaces/setting-a-minimum-specification-for-codespace-machines - - /codespaces/setting-up-your-project-for-codespaces/automatically-opening-files-in-the-codespaces-for-a-repository - - /codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge - - /codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers + - /codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers + - /codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-nodejs-project-for-codespaces + - /codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-python-project-for-codespaces + - /codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-dotnet-project-for-codespaces + - /codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-java-project-for-codespaces + - /codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/setting-a-minimum-specification-for-codespace-machines + - /codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/adding-features-to-a-devcontainer-file + - /codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/automatically-opening-files-in-the-codespaces-for-a-repository + - /codespaces/setting-up-your-project-for-codespaces/setting-up-your-repository/adding-a-codespaces-badge + - /codespaces/setting-up-your-project-for-codespaces/setting-up-your-repository/setting-up-a-template-repository-for-github-codespaces - /codespaces/setting-up-your-codespace/personalizing-codespaces-for-your-account - /codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository - /codespaces/developing-in-codespaces/creating-a-codespace-from-a-template @@ -57,4 +59,3 @@ includeGuides: - /codespaces/codespaces-reference/disaster-recovery-for-codespaces - /codespaces/codespaces-reference/security-in-codespaces --- - diff --git a/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md b/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md index 6d19604ad4..c489030c3d 100644 --- a/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md +++ b/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md @@ -13,7 +13,7 @@ topics: ## Overview -Typically, when you create a codespace you are offered a choice of specifications for the machine that will run your codespace. You can choose the machine type that best suits your needs. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository)." +Typically, when you create a codespace you are offered a choice of specifications for the machine that will run your codespace. You can choose the machine type that best suits your needs. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository)." If you pay for using {% data variables.product.prodname_github_codespaces %} then your choice of machine type will affect how much your are billed. The compute cost for a codespace is proportional to the number of processor cores in the machine type you choose. For example, the compute cost of using a codespace for an hour on a 16-core machine is eight times greater than a 2-core machine. For more information about pricing, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)." @@ -27,7 +27,7 @@ If you remove higher specification machine types that are required by the {% dat {% note %} -**Note**: Anyone who can edit the `devcontainer.json` configuration file in a repository can set a minimum specification for machines that can be used for codespaces for that repository. For more information, see "[Setting a minimum specification for codespace machines](/codespaces/setting-up-your-project-for-codespaces/setting-a-minimum-specification-for-codespace-machines)." +**Note**: Anyone who can edit the `devcontainer.json` configuration file in a repository can set a minimum specification for machines that can be used for codespaces for that repository. For more information, see "[Setting a minimum specification for codespace machines](/codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/setting-a-minimum-specification-for-codespace-machines)." {% endnote %} @@ -78,7 +78,7 @@ You can edit an existing policy. For example, you may want to add or remove cons 1. Click the pencil icon ({% octicon "pencil" aria-label="The edit icon" %}) beside the "Machine types" constraint. 1. Make the required changes then click **Save**. -## Deleting a policy +## Deleting a policy 1. Display the "Codespace policies" page. For more information, see "[Adding a policy to limit the available machine types](#adding-a-policy-to-limit-the-available-machine-types)." 1. Click the delete button to the right of the policy you want to delete. diff --git a/content/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces.md b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces.md index 89f9678fcc..09f320b902 100644 --- a/content/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces.md +++ b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces.md @@ -21,9 +21,9 @@ You can choose which image you want to use for your codespaces by specifying it "image": "mcr.microsoft.com/vscode/devcontainers/javascript-node:18", ``` -For more information, see the [dev containers specification](https://containers.dev/implementors/json_reference/) on containers.dev. +For more information, see the [dev containers specification](https://containers.dev/implementors/json_reference/) on the Development Containers website. -If you don't specify an image in the dev container configuration for a repository, the default image is used. The default image contains a number of runtime versions for popular languages and commonly used tools. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#using-the-default-dev-container-configuration)." +If you don't specify an image in the dev container configuration for a repository, the default image is used. The default image contains a number of runtime versions for popular languages and commonly used tools. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#using-the-default-dev-container-configuration)." As an organization owner, you can add a policy to restrict which images can be used for codespaces created within your organization. @@ -33,9 +33,9 @@ If the image specified in the dev container configuration does not match one of {% note %} -**Notes**: +**Notes**: * The base image policy is only applied when a codespace is created. It is currently not applied when you rebuild a container. This will change in a future release. For more information, see "[The codespace lifecycle](/codespaces/getting-started/the-codespace-lifecycle#rebuilding-a-codespace)." -* The base image policy does not apply to the default image, or the image that's used to recover a codespace if an error is introduced into a dev container configuration which prevents the container from being rebuilt. +* The base image policy does not apply to the default image, or the image that's used to recover a codespace if an error is introduced into a dev container configuration which prevents the container from being rebuilt. {% endnote %} @@ -63,7 +63,7 @@ For example, you could create an organization-wide policy that restricts the bas 1. In the "Allowed values" field, enter the complete URL of an image you want to allow. ![Screenshot of an entry in the 'Allowed values' field](/assets/images/help/codespaces/image-allowed-values.png) - + {% note %} **Note**: You must specify an image URL that exactly matches the value specified in a dev container configuration. @@ -92,7 +92,7 @@ You can edit an existing policy. For example, you may want to add or remove cons 1. Add or remove image URLs. 1. Click **Save**. -## Deleting a policy +## Deleting a policy 1. Display the "Codespace policies" page. For more information, see "[Adding a policy to define the allowed images](#adding-a-policy-to-define-the-allowed-images)." 1. Click the delete button to the right of the policy you want to delete. diff --git a/content/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces.md b/content/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces.md index b1b319be27..4d2b46f721 100644 --- a/content/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces.md +++ b/content/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces.md @@ -90,12 +90,12 @@ A secret is exported as an environment variable into the user's terminal session You can use secrets in a codespace after the codespace is built and is running. For example, a secret can be used: * When launching an application from the integrated terminal or ssh session. -* Within a dev container lifecycle script that is run after the codespace is running. For more information about dev container lifecycle scripts, see the documentation on containers.dev: [Specification](https://containers.dev/implementors/json_reference/#lifecycle-scripts). +* Within a dev container lifecycle script that is run after the codespace is running. For more information about dev container lifecycle scripts, see the documentation on the Development Containers website.: [Specification](https://containers.dev/implementors/json_reference/#lifecycle-scripts). Codespace secrets cannot be used: * During codespace build time (that is, within a Dockerfile or custom entry point). -* Within a dev container feature. For more information, see the `features` property in the [dev containers specification](https://containers.dev/implementors/json_reference/#general-properties) on containers.dev. +* Within a dev container feature. For more information, see the `features` property in the [dev containers specification](https://containers.dev/implementors/json_reference/#general-properties) on the Development Containers website. ## Further reading diff --git a/content/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces.md b/content/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces.md index b8310a5441..f3f609a544 100644 --- a/content/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces.md +++ b/content/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces.md @@ -32,7 +32,7 @@ To create codespaces with custom permissions defined, you must use one of the fo ## Setting additional repository permissions -1. You configure repository permissions for {% data variables.product.prodname_github_codespaces %} in the `devcontainer.json` file. If your repository does not already contain a `devcontainer.json` file, add one now. For more information, "[Add a dev container to your project](/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces)." +1. You configure repository permissions for {% data variables.product.prodname_github_codespaces %} in the `devcontainer.json` file. If your repository does not already contain a `devcontainer.json` file, add one now. For more information, "[Adding a dev container configuration to your repository](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration)." 1. Edit the `devcontainer.json` file, adding the repository name and permissions needed to the `repositories` object: @@ -124,7 +124,7 @@ You can only authorize permissions that your personal account already possesses. {% endwarning %} -When you enable access and security for a repository owned by your personal account, any codespaces that are created for that repository will have read permissions to all other repositories you own. If you want to restrict the repositories a codespace can access, you can limit to it to either the repository the codespace was opened for or specific repositories. You should only enable access and security for repositories you trust. +When you enable access and security for a repository owned by your personal account, any codespaces that are created for that repository will have read permissions to all other repositories you own. If you want to restrict the repositories a codespace can access, you can limit to it to either the repository the codespace was opened for or specific repositories. You should only enable access and security for repositories you trust. {% data reusables.user-settings.access_settings %} {% data reusables.user-settings.codespaces-tab %} diff --git a/content/codespaces/overview.md b/content/codespaces/overview.md index 52f2596cf2..d8aa0e452d 100644 --- a/content/codespaces/overview.md +++ b/content/codespaces/overview.md @@ -19,9 +19,9 @@ topics: ## What is a codespace? -A codespace is a development environment that's hosted in the cloud. You can customize your project for {% data variables.product.prodname_github_codespaces %} by committing [configuration files](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers) to your repository (often known as Configuration-as-Code), which creates a repeatable codespace configuration for all users of your project. +A codespace is a development environment that's hosted in the cloud. You can customize your project for {% data variables.product.prodname_github_codespaces %} by committing [configuration files](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers) to your repository (often known as Configuration-as-Code), which creates a repeatable codespace configuration for all users of your project. -Each codespace runs on a virtual machine hosted by {% data variables.product.prodname_dotcom %}. You can choose the type of machine you want to use, depending on the resources you need. Various types of machine are available, starting with a 2-core processor, 4 GB of RAM, and 32 GB of storage. +Each codespace runs on a virtual machine hosted by {% data variables.product.prodname_dotcom %}. You can choose the type of machine you want to use, depending on the resources you need. Various types of machine are available, starting with a 2-core processor, 4 GB of RAM, and 32 GB of storage. You can connect to your codespaces from your browser, from {% data variables.product.prodname_vscode %}, from the JetBrains Gateway application, or by using {% data variables.product.prodname_cli %}. @@ -37,23 +37,23 @@ To begin developing using cloud-based compute resources, you can create a codesp All personal {% data variables.product.prodname_dotcom_the_website %} accounts have a monthly quota of free use of {% data variables.product.prodname_github_codespaces %} included in the Free or Pro plan. You can get started using {% data variables.product.prodname_github_codespaces %} on your personal account without changing any settings or providing payment details. -You can create and use a codespace for any repository you can clone. You can also use a template to create codespaces that are not initially associated with a repository. If you create a codespace from an organization-owned repository, use of the codespace will either be charged to the organization (if the organization is configured for this), or to your personal account. Codespaces created from templates are always charged to your personal account. +You can create and use a codespace for any repository you can clone. You can also use a template to create codespaces that are not initially associated with a repository. If you create a codespace from an organization-owned repository, use of the codespace will either be charged to the organization (if the organization is configured for this), or to your personal account. Codespaces created from templates are always charged to your personal account. -{% data reusables.codespaces.codespaces-continue-by-paying %} +{% data reusables.codespaces.codespaces-continue-by-paying %} ### Using organization-owned codespaces Organization owners can enable use of {% data variables.product.prodname_github_codespaces %}, billable to the organization or enterprise account. This applies to codespaces created from repositories owned by the organization. For more information, see "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization)." You can set a spending limit for use of {% data variables.product.prodname_github_codespaces %} on your organization or enterprise account. For more information, see "[Managing spending limits for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces)." -If use of a codespace will be billed to an organization or enterprise, this is shown when the codespace is created. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository)." Codespaces that are billed to an organization, or its parent enterprise, are owned by the organization and can be deleted by an organization owner. For more information, see "[Deleting a codespace](/codespaces/developing-in-codespaces/deleting-a-codespace#deleting-codespaces-in-your-organization)." +If use of a codespace will be billed to an organization or enterprise, this is shown when the codespace is created. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository)." Codespaces that are billed to an organization, or its parent enterprise, are owned by the organization and can be deleted by an organization owner. For more information, see "[Deleting a codespace](/codespaces/developing-in-codespaces/deleting-a-codespace#deleting-codespaces-in-your-organization)." ### Customizing {% data variables.product.prodname_github_codespaces %} -To customize the runtimes and tools in your codespace, you can create one or more dev container configurations for your repository. Adding dev container configurations to your repository allows you to define a choice of different development environments that are appropriate for the work people will do in your repository. +To customize the runtimes and tools in your codespace, you can create one or more dev container configurations for your repository. Adding dev container configurations to your repository allows you to define a choice of different development environments that are appropriate for the work people will do in your repository. -If you create a codespace from a repository without any dev container configurations, {% data variables.product.prodname_github_codespaces %} will clone your repository into an environment with the default codespace image that includes many tools, languages, and runtime environments. If you create a codespace from a template, you might start with some initial configuration on top of the default image. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." +If you create a codespace from a repository without any dev container configurations, {% data variables.product.prodname_github_codespaces %} will clone your repository into an environment with the default codespace image that includes many tools, languages, and runtime environments. If you create a codespace from a template, you might start with some initial configuration on top of the default image. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)." -You can personalize aspects of your codespace environment by using a public [dotfiles](https://dotfiles.github.io/tutorials/) repository. You can use dotfiles to set shell aliases and preferences, or to install your personal preference of the tools you like to use. If you use {% data variables.product.prodname_github_codespaces %} in the browser, or in {% data variables.product.prodname_vscode %}, you can use [Settings Sync](https://code.visualstudio.com/docs/editor/settings-sync) to give your codespace editor the same settings, keyboard shortcuts, snippets, and extensions that you have set up in your local installation of {% data variables.product.prodname_vscode %}. +You can personalize aspects of your codespace environment by using a public [dotfiles](https://dotfiles.github.io/tutorials/) repository. You can use dotfiles to set shell aliases and preferences, or to install your personal preference of the tools you like to use. If you use {% data variables.product.prodname_github_codespaces %} in the browser, or in {% data variables.product.prodname_vscode %}, you can use [Settings Sync](https://code.visualstudio.com/docs/editor/settings-sync) to give your codespace editor the same settings, keyboard shortcuts, snippets, and extensions that you have set up in your local installation of {% data variables.product.prodname_vscode %}. For more information, see "[Customizing your codespace](/codespaces/customizing-your-codespace)". @@ -61,6 +61,6 @@ For more information, see "[Customizing your codespace](/codespaces/customizing- For information on pricing, storage, and usage for {% data variables.product.prodname_github_codespaces %}, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)." -{% data reusables.codespaces.codespaces-spending-limit-requirement %} +{% data reusables.codespaces.codespaces-spending-limit-requirement %} {% data reusables.codespaces.codespaces-monthly-billing %} For information on how organizations owners and billing managers can manage the spending limit for {% data variables.product.prodname_github_codespaces %} for an organization, see "[Managing spending limits for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-github-codespaces)." diff --git a/content/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds.md b/content/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds.md index a041298c43..df11d8365c 100644 --- a/content/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds.md +++ b/content/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds.md @@ -15,7 +15,7 @@ redirect_from: {% data reusables.codespaces.prebuilds-definition %} -If it currently takes more than 2 minutes to create a codespace for a repository, you are likely to benefit from using prebuilds. This is because, with a prebuild, any source code, editor extensions, project dependencies, commands, and configurations have already been downloaded, installed, and applied before you create a codespace. +If it currently takes more than 2 minutes to create a codespace for a repository, you are likely to benefit from using prebuilds. This is because, with a prebuild, any source code, editor extensions, project dependencies, commands, and configurations have already been downloaded, installed, and applied before you create a codespace. By default, whenever you push changes to your repository, {% data variables.product.prodname_github_codespaces %} uses {% data variables.product.prodname_actions %} to automatically update your prebuilds. @@ -27,7 +27,7 @@ When you create a codespace from a template on the "Your codespaces" page, {% da ## The prebuild process -To create a prebuild you set up a prebuild configuration. When you save the configuration, a {% data variables.product.prodname_actions %} workflow runs to create each of the required prebuilds; one workflow per prebuild. Workflows also run whenever the prebuilds for your configuration need to be updated. This can happen at scheduled intervals, on pushes to a prebuild-enabled repository, or when you change the dev container configuration. For more information, see "[Configuring prebuilds](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds)." +To create a prebuild you set up a prebuild configuration. When you save the configuration, a {% data variables.product.prodname_actions %} workflow runs to create each of the required prebuilds; one workflow per prebuild. Workflows also run whenever the prebuilds for your configuration need to be updated. This can happen at scheduled intervals, on pushes to a prebuild-enabled repository, or when you change the dev container configuration. For more information, see "[Configuring prebuilds](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds)." When a prebuild configuration workflow runs, {% data variables.product.prodname_dotcom %} creates a temporary codespace, performing setup operations up to and including any `onCreateCommand` and `updateContentCommand` commands in the `devcontainer.json` file. No `postCreateCommand` commands are run during the creation of a prebuild. For more information about these commands, see the [`devcontainer.json` reference](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_devcontainerjson-properties) in the {% data variables.product.prodname_vscode_shortname %} documentation. A snapshot of the generated container is then taken and stored. @@ -37,15 +37,15 @@ When you create a codespace from a prebuild, {% data variables.product.prodname_ ## About pushing changes to prebuild-enabled branches -By default, each push to a branch that has a prebuild configuration results in a {% data variables.product.prodname_dotcom %}-managed {% data variables.product.prodname_actions %} workflow run to update the prebuild. The prebuild workflow has a concurrency limit of one workflow run at a time for a given prebuild configuration, unless changes were made that affect the dev container configuration for the associated repository. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." If a run is already in progress, the workflow run that was queued most recently will run next, after the current run completes. +By default, each push to a branch that has a prebuild configuration results in a {% data variables.product.prodname_dotcom %}-managed {% data variables.product.prodname_actions %} workflow run to update the prebuild. The prebuild workflow has a concurrency limit of one workflow run at a time for a given prebuild configuration, unless changes were made that affect the dev container configuration for the associated repository. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)." If a run is already in progress, the workflow run that was queued most recently will run next, after the current run completes. With the prebuild set to be updated on each push, it means that if there are very frequent pushes to your repository, prebuild updates will occur at least as often as it takes to run the prebuild workflow. That is, if your workflow run typically takes one hour to complete, prebuilds will be created for your repository roughly hourly, if the run succeeds, or more often if there were pushes that change the dev container configuration on the branch. For example, let's imagine 5 pushes are made, in quick succession, against a branch that has a prebuild configuration. In this situation: * A workflow run is started for the first push, to update the prebuild. -* If the 4 remaining pushes do not affect the dev container configuration, the workflow runs for these are queued in a "pending" state. - - If any of the remaining 4 pushes change the dev container configuration, then the service will not skip that one and will immediately run the prebuild creation workflow, updating the prebuild accordingly if it succeeds. +* If the 4 remaining pushes do not affect the dev container configuration, the workflow runs for these are queued in a "pending" state. -* Once the first run completes, workflow runs for pushes 2, 3, and 4 will be canceled, and the last queued workflow (for push 5) will run and update the prebuild. + If any of the remaining 4 pushes change the dev container configuration, then the service will not skip that one and will immediately run the prebuild creation workflow, updating the prebuild accordingly if it succeeds. + +* Once the first run completes, workflow runs for pushes 2, 3, and 4 will be canceled, and the last queued workflow (for push 5) will run and update the prebuild. diff --git a/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md b/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md index c7605e66fc..ed576d0582 100644 --- a/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md +++ b/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md @@ -14,11 +14,11 @@ permissions: People with admin access to a repository can configure prebuilds fo You can set up a prebuild configuration for the combination of a specific branch of your repository with a specific dev container configuration file. -Any branches created from a prebuild-enabled parent branch will typically also get prebuilds for the same dev container configuration. This is because prebuilds for child branches that use the same dev container configuration as the parent branch are, for the most part, identical, so developers can benefit from faster codespace creation times on those branches also. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." +Any branches created from a prebuild-enabled parent branch will typically also get prebuilds for the same dev container configuration. This is because prebuilds for child branches that use the same dev container configuration as the parent branch are, for the most part, identical, so developers can benefit from faster codespace creation times on those branches also. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)." Typically, when you configure prebuilds for a branch, prebuilds will be available for multiple machine types. However, if your repository is greater than 32 GB, prebuilds won't be available for 2-core and 4-core machine types, since the storage these provide is limited to 32 GB. -## Prerequisites +## Prerequisites Prebuilds are created using {% data variables.product.prodname_actions %}. As a result, {% data variables.product.prodname_actions %} must be enabled for the repository for which you are configuring prebuilds. For more information, see "[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository)." @@ -33,13 +33,13 @@ Prebuilds are created using {% data variables.product.prodname_actions %}. As a ![The branch dropdown menu](/assets/images/help/codespaces/prebuilds-choose-branch.png) - {% note %} + {% note %} **Note**: Any branches created from a prebuild-enabled base branch will typically also get prebuilds for the same dev container configuration. For example, if you enable prebuilds for a dev container configuration file on the default branch of the repository, branches based on the default branch will, in most cases, also get prebuilds for the same dev container configuration. {% endnote %} -1. Optionally, in the **Configuration file** dropdown menu that's displayed, choose the `devcontainer.json` configuration file that you want to use for your prebuilds. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#devcontainerjson)." +1. Optionally, in the **Configuration file** dropdown menu that's displayed, choose the `devcontainer.json` configuration file that you want to use for your prebuilds. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#devcontainerjson)." ![The configuration file dropdown menu](/assets/images/help/codespaces/prebuilds-choose-configfile.png) @@ -59,7 +59,7 @@ Prebuilds are created using {% data variables.product.prodname_actions %}. As a {% note %} - **Notes**: + **Notes**: * The prebuild in each region incurs individual storage charges. You should, therefore, only enable prebuilds for regions in which you know they'll be used. For more information, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#billing-for-codespaces-prebuilds)." * Developers can set their default region for {% data variables.product.prodname_github_codespaces %}, which can allow you to enable prebuilds for fewer regions. For more information, see "[Setting your default region for {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-region-for-github-codespaces)." @@ -69,10 +69,10 @@ Prebuilds are created using {% data variables.product.prodname_actions %}. As a ![The prebuild history setting](/assets/images/help/codespaces/prebuilds-template-history-setting.png) - Depending on your prebuild trigger settings, your prebuild could change with each push or on each dev container configuration change. Retaining older versions of prebuilds enables you to create a prebuild from an older commit with a different dev container configuration than the current prebuild. This setting allows you to set the number of retained versions to a level that is appropriate for your needs. + Depending on your prebuild trigger settings, your prebuild could change with each push or on each dev container configuration change. Retaining older versions of prebuilds enables you to create a prebuild from an older commit with a different dev container configuration than the current prebuild. This setting allows you to set the number of retained versions to a level that is appropriate for your needs. If you set the number of prebuild versions to save to 1, {% data variables.product.prodname_github_codespaces %} will only save the latest version of the prebuild and will delete the older version each time the template is updated. This means you will not get a prebuilt codespace if you go back to an older dev container configuration. - + There is a storage cost associated with each prebuild version that's retained. For example, if you are generating prebuilds in 4 regions and retaining 2 versions, you will be charged for storage of up to 8 prebuilds. For more information on billing, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#codespaces-pricing)." 1. Optionally, add users or teams to notify when the prebuild workflow run fails for this configuration. You can begin typing a username, team name, or full name, then click the name once it appears to add them to the list. The users or teams you add will receive an email when prebuild failures occur, containing a link to the workflow run logs to help with further investigation. @@ -89,7 +89,7 @@ Prebuilds are created using {% data variables.product.prodname_actions %}. As a {% data reusables.codespaces.prebuilds-permission-authorization %} -After you create a prebuild configuration it is listed on the {% data variables.product.prodname_github_codespaces %} page of your repository settings. A {% data variables.product.prodname_actions %} workflow is queued and then run to create prebuilds in the regions you specified, based on the branch and dev container configuration file you selected. +After you create a prebuild configuration it is listed on the {% data variables.product.prodname_github_codespaces %} page of your repository settings. A {% data variables.product.prodname_actions %} workflow is queued and then run to create prebuilds in the regions you specified, based on the branch and dev container configuration file you selected. ![Screenshot of the list of prebuild configurations](/assets/images/help/codespaces/prebuild-configs-list.png) @@ -97,9 +97,9 @@ For information about editing and deleting prebuild configurations, see "[Managi ## Configuring environment variables -To allow the prebuild process to access environment variables required to create your development environment, you can set these either as {% data variables.product.prodname_codespaces %} repository secrets or as {% data variables.product.prodname_codespaces %} organization secrets. For more information, see "[Adding secrets for a repository](/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces#adding-secrets-for-a-repository)" and "[Adding secrets for an organization](/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces#adding-secrets-for-an-organization)." +To allow the prebuild process to access environment variables required to create your development environment, you can set these either as {% data variables.product.prodname_codespaces %} repository secrets or as {% data variables.product.prodname_codespaces %} organization secrets. For more information, see "[Adding secrets for a repository](/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces#adding-secrets-for-a-repository)" and "[Adding secrets for an organization](/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces#adding-secrets-for-an-organization)." -Secrets that you create in this way will be accessible by anyone who creates a codespace from this repository. If you do not want this, you can alternatively set the `CODESPACES_PREBUILD_TOKEN` secret. The `CODESPACES_PREBUILD_TOKEN` secret is only used for prebuilding and its value is not accessible in users' codespaces. +Secrets that you create in this way will be accessible by anyone who creates a codespace from this repository. If you do not want this, you can alternatively set the `CODESPACES_PREBUILD_TOKEN` secret. The `CODESPACES_PREBUILD_TOKEN` secret is only used for prebuilding and its value is not accessible in users' codespaces. Prebuilds cannot use any user-level secrets while building your environment, because these are not available until after the codespace has been created. diff --git a/content/codespaces/prebuilding-your-codespaces/testing-dev-container-changes.md b/content/codespaces/prebuilding-your-codespaces/testing-dev-container-changes.md index 11b834bce3..711a3c6f08 100644 --- a/content/codespaces/prebuilding-your-codespaces/testing-dev-container-changes.md +++ b/content/codespaces/prebuilding-your-codespaces/testing-dev-container-changes.md @@ -15,18 +15,18 @@ permissions: People with write permissions to a repository can create or edit th Any changes you make to the dev container configuration for a prebuild-enabled branch will result in an update to the codespace configuration and the associated prebuild. It’s therefore important to test such changes in a codespace from a test branch before committing your changes to a branch of your repository that's actively used. This will ensure you’re not introducing breaking changes for your team. -For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." +For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)." ## Testing changes to the dev container configuration 1. Create a codespace from the prebuild-enabled branch whose dev container you want to change. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository)." 1. In the codespace, check out a test branch. For more information, see "[Using source control in your codespace](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace#creating-or-switching-branches)." 1. Make the required changes to the dev container configuration. -1. Apply the changes by rebuilding the container. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace)." +1. Apply the changes by rebuilding the container. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace)." 1. After everything looks good, we also recommend creating a new codespace from your test branch to ensure everything is working. You can then commit your changes to your repository's default branch, or an active feature branch, triggering an update of the prebuild for that branch. {% note %} - + **Note**: Creating this codespace will take longer than usual because it will not be created from a prebuild. - + {% endnote %} diff --git a/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/index.md b/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/index.md new file mode 100644 index 0000000000..11ab01e1aa --- /dev/null +++ b/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/index.md @@ -0,0 +1,17 @@ +--- +title: Adding a dev container configuration to your repository +shortTitle: Adding a dev container configuration +allowTitleToDifferFromFilename: true +intro: 'You can add a custom dev container configuration to your repository to set up the {% data variables.product.prodname_github_codespaces %} development environment for your codebase.' +versions: + fpt: '*' + ghec: '*' +redirect_from: + - /codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces +children: + - /introduction-to-dev-containers + - /setting-up-your-nodejs-project-for-codespaces + - /setting-up-your-dotnet-project-for-codespaces + - /setting-up-your-java-project-for-codespaces + - /setting-up-your-python-project-for-codespaces +--- diff --git a/content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md b/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers.md similarity index 96% rename from content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md rename to content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers.md index d755ec57f7..b681b41689 100644 --- a/content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md +++ b/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers.md @@ -8,6 +8,7 @@ redirect_from: - /github/developing-online-with-codespaces/configuring-codespaces-for-your-project - /codespaces/customizing-your-codespace/configuring-codespaces-for-your-project - /codespaces/setting-up-your-project-for-codespaces/configuring-codespaces-for-your-project + - /codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers versions: fpt: '*' ghec: '*' @@ -38,10 +39,10 @@ The primary file in a dev container configuration is the `devcontainer.json` fil If you create a codespace from a repository without a `devcontainer.json` file, or if you start from {% data variables.product.company_short %}'s blank template, the default dev container configuration is used. For more information, see "[Using the default dev container configuration](#using-the-default-dev-container-configuration)." -The `devcontainer.json` file is usually located in the `.devcontainer` directory of your repository. Alternatively, you can locate it directly in the root of the repository, in which case the file name must begin with a period: `.devcontainer.json`. +The `devcontainer.json` file is usually located in the `.devcontainer` directory of your repository. Alternatively, you can locate it directly in the root of the repository, in which case the file name must begin with a period: `.devcontainer.json`. -If you want to have a choice of dev container configurations in your repository, any alternatives to the `.devcontainer/devcontainer.json` (or `.devcontainer.json`) file must be located in their own subdirectory at the path `.devcontainer/SUBDIRECTORY/devcontainer.json`. For example, you could have a choice of two configurations: -* `.devcontainer/database-dev/devcontainer.json` +If you want to have a choice of dev container configurations in your repository, any alternatives to the `.devcontainer/devcontainer.json` (or `.devcontainer.json`) file must be located in their own subdirectory at the path `.devcontainer/SUBDIRECTORY/devcontainer.json`. For example, you could have a choice of two configurations: +* `.devcontainer/database-dev/devcontainer.json` * `.devcontainer/gui-dev/devcontainer.json` When you have multiple `devcontainer.json` files in your repository, each codespace is created from only one of the configurations. Settings cannot be imported or inherited between `devcontainer.json` files. If a `devcontainer.json` file in a custom subdirectory has dependent files, such as the Dockerfile or scripts that are run by commands in the `devcontainer.json` file, it's recommended that you co-locate these files in the same subdirectory. @@ -58,11 +59,11 @@ You can personalize your codespaces by using dotfiles and Settings Sync. For mor ### Dockerfile -You can add a Dockerfile as part of your dev container configuration. +You can add a Dockerfile as part of your dev container configuration. The Dockerfile is a text file that contains the instructions needed to create a Docker container image. This image is used to generate a development container each time someone creates a codespace using the `devcontainer.json` file that references this Dockerfile. The instructions in the Dockerfile typically begin by referencing a parent image on which the new image that will be created is based. This is followed by commands that are run during the image creation process, for example to install software packages. -The Dockerfile for a dev container is typically located in the `.devcontainer` folder, alongside the `devcontainer.json` in which it is referenced. +The Dockerfile for a dev container is typically located in the `.devcontainer` folder, alongside the `devcontainer.json` in which it is referenced. {% note %} @@ -78,7 +79,7 @@ The following example uses four instructions: `FROM` specifies the parent image on which the generated Docker image will be based. -`COPY` copies a file and adds it to the filesystem. +`COPY` copies a file and adds it to the filesystem. `RUN` updates package lists and runs a script. You can also use a `RUN` instruction to install software, as shown by the commented out instructions. To run multiple commands, use `&&` to combine the commands into a single `RUN` statement. @@ -117,7 +118,7 @@ Various options are available to you if you want to use existing container orche If you don't define a configuration in your repository, {% data variables.product.prodname_dotcom %} creates a codespace using a default Linux image. This Linux image includes a number of runtime versions for popular languages like Python, Node, PHP, Java, Go, C++, Ruby, and .NET Core/C#. The latest or LTS releases of these languages are used. There are also tools to support data science and machine learning, such as JupyterLab and Conda. The image also includes other developer tools and utilities like Git, GitHub CLI, yarn, openssh, and vim. To see all the languages, runtimes, and tools that are included use the `devcontainer-info content-url` command inside your codespace terminal and follow the URL that the command outputs. -For information about what's included in the default Linux image, see the [`devcontainers/images`](https://github.com/devcontainers/images/tree/main/src/universal) repository. +For information about what's included in the default Linux image, see the [`devcontainers/images`](https://github.com/devcontainers/images/tree/main/src/universal) repository. The default configuration is a good option if you're working on a small project that uses the languages and tools that {% data variables.product.prodname_github_codespaces %} provides. @@ -145,20 +146,20 @@ You can add a predefined dev container configuration either while working in a c ### Adding additional features to your `devcontainer.json` file -{% data reusables.codespaces.about-features %} For more information, see "[Adding features to a `devcontainer.json` file](/codespaces/setting-up-your-project-for-codespaces/adding-features-to-a-devcontainer-file?tool=vscode)." +{% data reusables.codespaces.about-features %} For more information, see "[Adding features to a `devcontainer.json` file](/codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/adding-features-to-a-devcontainer-file?tool=vscode)." ## Creating a custom dev container configuration If none of the predefined configurations meets your needs, you can create a custom configuration by writing your own `devcontainer.json` file. -* If you're adding a single `devcontainer.json` file that will be used by everyone who creates a codespace from your repository, create the file within a `.devcontainer` directory at the root of the repository. +* If you're adding a single `devcontainer.json` file that will be used by everyone who creates a codespace from your repository, create the file within a `.devcontainer` directory at the root of the repository. * If you want to offer users a choice of configuration, you can create multiple custom `devcontainer.json` files, each located within a separate subdirectory of the `.devcontainer` directory. {% note %} **Notes**: - You can't locate your `devcontainer.json` files in directories more than one level below `.devcontainer`. For example, a file at `.devcontainer/teamA/devcontainer.json` will work, but `.devcontainer/teamA/testing/devcontainer.json` will not. - - {% data reusables.codespaces.configuration-choice-templates %} For more information, see "[Setting up a template repository for {% data variables.product.prodname_github_codespaces %}](/codespaces/setting-up-your-project-for-codespaces/setting-up-a-template-repository-for-github-codespaces)." + - {% data reusables.codespaces.configuration-choice-templates %} For more information, see "[Setting up a template repository for {% data variables.product.prodname_github_codespaces %}](/codespaces/setting-up-your-project-for-codespaces/setting-up-your-repository/setting-up-a-template-repository-for-github-codespaces)." {% endnote %} @@ -174,13 +175,13 @@ If you don't already have a `devcontainer.json` file in your repository, you can ![Screenshot of the Code dropdown, with "Configure dev container" highlighted](/assets/images/help/codespaces/configure-dev-container.png) -A new `.devcontainer/devcontainer.json` file will open in the editor. The file will contain some initial properties, including a `features` object to which you can add new tools, libraries, or runtimes. For more information, see "[Adding features to a `devcontainer.json` file](/codespaces/setting-up-your-project-for-codespaces/adding-features-to-a-devcontainer-file?tool=webui)." +A new `.devcontainer/devcontainer.json` file will open in the editor. The file will contain some initial properties, including a `features` object to which you can add new tools, libraries, or runtimes. For more information, see "[Adding features to a `devcontainer.json` file](/codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/adding-features-to-a-devcontainer-file?tool=webui)." -If your repository already contains one or more `devcontainer.json` files, then clicking **Configure dev container** will open the existing `devcontainer.json` file with the highest precedence according to the [specification](https://containers.dev/implementors/spec/#devcontainerjson) on containers.dev. +If your repository already contains one or more `devcontainer.json` files, then clicking **Configure dev container** will open the existing `devcontainer.json` file with the highest precedence according to the [specification](https://containers.dev/implementors/spec/#devcontainerjson) on the Development Containers website. ### Default configuration selection during codespace creation -If `.devcontainer/devcontainer.json` or `.devcontainer.json` exists, it will be the default selection in the list of available configuration files when you create a codespace. If neither file exists, the default dev container configuration will be selected by default. +If `.devcontainer/devcontainer.json` or `.devcontainer.json` exists, it will be the default selection in the list of available configuration files when you create a codespace. If neither file exists, the default dev container configuration will be selected by default. ![Screenshot of the default configuration choice selected](/assets/images/help/codespaces/configuration-file-choice-default.png) @@ -222,7 +223,7 @@ Changes to a configuration will be applied the next time you create a codespace. - To diagnose the error by reviewing the creation logs, click **View creation log**. - To fix the errors identified in the logs, update your `devcontainer.json` file. - - To apply the changes, rebuild your container. + - To apply the changes, rebuild your container. ### Using {% data variables.product.prodname_cli %} to rebuild a dev container diff --git a/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-dotnet-project-for-codespaces.md b/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-dotnet-project-for-codespaces.md new file mode 100644 index 0000000000..b2355556da --- /dev/null +++ b/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-dotnet-project-for-codespaces.md @@ -0,0 +1,186 @@ +--- +title: Setting up a C# (.NET) project for GitHub Codespaces +shortTitle: Setting up a C# (.NET) project +allowTitleToDifferFromFilename: true +intro: 'Get started with a C# (.NET) project in {% data variables.product.prodname_github_codespaces %} by creating a custom dev container configuration.' +redirect_from: + - /codespaces/getting-started-with-codespaces/getting-started-with-your-dotnet-project +versions: + fpt: '*' + ghec: '*' +type: tutorial +topics: + - Codespaces + - Developer + - Set up +--- + +## Introduction + +This tutorial guide shows you how to set up an example C# (.NET) project {% data reusables.codespaces.setting-up-project-intro %} + +## Step 1: Open the project in a codespace + +1. Go to https://github.com/microsoft/vscode-remote-try-dotnet. +{% data reusables.codespaces.use-this-template %} + +When you create a codespace, your project is created on a remote virtual machine that is dedicated to you. By default, the container for your codespace has many languages and runtimes, including .NET. It also includes a common set of tools like git, wget, rsync, openssh, and nano. + +{% data reusables.codespaces.customize-vcpus-and-ram %} + +## Step 2: Add a dev container configuration + +The default development container, or "dev container," for {% data variables.product.prodname_github_codespaces %} comes with the latest .NET version and common tools preinstalled. However, we recommend that you configure your own dev container to include all of the tools and scripts your project needs. This will ensure a fully reproducible environment for all {% data variables.product.prodname_github_codespaces %} users in your repository. + +{% data reusables.codespaces.setup-custom-devcontainer %} +{% data reusables.codespaces.command-palette-container %} +1. Type `c#` and click **C# (.NET)**. Other options are available if your project uses particular tools. For example, C# and MS SQL. + + ![Screenshot of the 'C# (.NET)' option](/assets/images/help/codespaces/add-csharp-prebuilt-container.png) + +1. Click the latest version of .NET. + + ![Screenshot of the Node.js version selection](/assets/images/help/codespaces/add-dotnet-version.png) + +1. A list of additional features is displayed. We'll install the .NET CLI, a command-line interface for developing, building, running, and publishing .NET applications. To install this tool, type `dotnet`, select `Dotnet CLI`, then click **OK**. + + ![Screenshot of additional features for 'dotnet'](/assets/images/help/codespaces/add-dotnet-features.png) + +{% data reusables.codespaces.overwrite-devcontainer-config %} +{% data reusables.codespaces.details-of-devcontainer-config %} + +```json +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/dotnet +{ + "name": "C# (.NET)", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/dotnet:0-7.0", + "features": { + "ghcr.io/devcontainers/features/dotnet:1": {} + } + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [5000, 5001], + // "portsAttributes": { + // "5001": { + // "protocol": "https" + // } + // } + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "dotnet restore", + + // Configure tool-specific properties. + // "customizations": {}, + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} +``` + +{% data reusables.codespaces.devcontainer-properties-1 %} +- **portsAttributes** - This property maps a specified port to one or more default options. For more information, see the [dev containers specification](https://containers.dev/implementors/json_reference/#port-attributes) on the Development Containers website. +{% data reusables.codespaces.devcontainer-properties-2 %} + +{% data reusables.codespaces.additional-container-config %} + +## Step 3: Modify your devcontainer.json file + +With your dev container configuration added and a basic understanding of what everything does, you can now make changes to customize your environment further. In this example, you'll add properties that will: +* Forward the port on which the application runs on the remote machine to your local machine. +* Run `dotnet restore`, after the dev container is created, to restore the dependencies required by the application. +* Automatically install a {% data variables.product.prodname_vscode_shortname %} extension in this codespace. + +{% data reusables.codespaces.add-comma-after-features %} + + ```json{:copy} + "features": { + "ghcr.io/devcontainers/features/dotnet:1": {} + }, + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + ``` + +1. Uncomment the `forwardPorts` property and change its value to port `5000` only. + + ```json{:copy} + // Use 'forwardPorts' to make a list of ports inside the container available locally. + "forwardPorts": [5000], + ``` + +1. Uncomment the `postCreateCommand` property. + + ```json{:copy} + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "dotnet restore", + ``` + +{% data reusables.codespaces.add-extension-to-devcontainer %} + + ```json + // For format details, see https://aka.ms/devcontainer.json. For config options, see the + // README at: https://github.com/devcontainers/templates/tree/main/src/dotnet + { + "name": "C# (.NET)", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/dotnet:0-7.0", + "features": { + "ghcr.io/devcontainers/features/dotnet:1": {} + }, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + "forwardPorts": [5000], + // "portsAttributes": { + // "5001": { + // "protocol": "https" + // } + // } + + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "dotnet restore", + + // Configure tool-specific properties. + "customizations": { + // Configure properties specific to VS Code. + "vscode": { + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "streetsidesoftware.code-spell-checker" + ] + } + } + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" + } + ``` + +{% data reusables.codespaces.save-changes %} +{% data reusables.codespaces.rebuild-command %} +{% indented_data_reference reusables.codespaces.rebuild-reason %} + + After the dev container is rebuilt, and your codespace becomes available again, the `postCreateCommand` will have been run, restoring the required dependencies, and the "Code Spell Checker" extension will be available for use. + +## Step 4: Run your application + +In the previous section, you used the `postCreateCommand` to install a set of packages via the `dotnet restore` command. With the dependencies now installed, you can run the application. + +1. Run the application by pressing `F5` or entering `dotnet watch run` in the Terminal. +1. When the application starts, click the **Ports** tab, right-click port 5000 and click **Open in Browser**. + + ![Screenshot of the 'Open in Browser' option](/assets/images/help/codespaces/open-port5000-in-browser.png) + +## Step 5: Commit your changes + +{% data reusables.codespaces.committing-link-to-procedure %} + +## Next steps + +You should now be able to add a custom dev container configuration to your own C# (.NET) project. + +{% data reusables.codespaces.next-steps-adding-devcontainer %} diff --git a/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-java-project-for-codespaces.md b/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-java-project-for-codespaces.md new file mode 100644 index 0000000000..5649dcd919 --- /dev/null +++ b/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-java-project-for-codespaces.md @@ -0,0 +1,202 @@ +--- +title: Setting up a Java project for GitHub Codespaces +allowTitleToDifferFromFilename: true +shortTitle: Setting up a Java project +intro: 'Get started with a Java project in {% data variables.product.prodname_github_codespaces %} by creating a custom dev container configuration.' +redirect_from: + - /codespaces/getting-started-with-codespaces/getting-started-with-your-java-project-in-codespaces +versions: + fpt: '*' + ghec: '*' +type: tutorial +topics: + - Codespaces + - Developer + - Set up +--- + +## Introduction + +This guide shows you how to set up an example Java project {% data reusables.codespaces.setting-up-project-intro %} + +## Step 1: Open the project in a codespace + +1. Go to https://github.com/microsoft/vscode-remote-try-java. +{% data reusables.codespaces.use-this-template %} + +When you create a codespace, your project is created on a remote virtual machine that is dedicated to you. By default, the container for your codespace has many languages and runtimes, including Java. It also includes a set of commonly used tools such as Gradle, Maven, git, wget, rsync, openssh, and nano. + +{% data reusables.codespaces.customize-vcpus-and-ram %} + +## Step 2: Add a dev container configuration + +The default development container, or "dev container," for {% data variables.product.prodname_github_codespaces %} will allow you to work successfully on a Java project like [vscode-remote-try-java](https://github.com/microsoft/vscode-remote-try-java). However, we recommend that you configure your own dev container to include all of the tools and scripts your project needs. This will ensure a fully reproducible environment for all {% data variables.product.prodname_github_codespaces %} users in your repository. + +{% data reusables.codespaces.setup-custom-devcontainer %} +{% data reusables.codespaces.command-palette-container %} +1. Type `java` and click the **Java** option. Other options are available if your project uses particular tools. For example, Java & PostgreSQL. + + ![Screenshot of the 'Java' option](/assets/images/help/codespaces/add-java-prebuilt-container.png) + +1. Click the latest version of Java. + + ![Screenshot of the Java version selection](/assets/images/help/codespaces/add-java-version.png) + +1. Select the option to **Install Maven** and click **OK**. + + ![Screenshot of the Maven option](/assets/images/help/codespaces/add-maven.png) + +1. A list of additional features you can install is displayed. We'll install Ant, the Java library and command-line tool for building applications. To install this feature, type `ant`, select `Ant (via SDKMAN)`, then click **OK**. + + ![Screenshot of additional features for 'ant'](/assets/images/help/codespaces/add-ant-feature.png) + +{% data reusables.codespaces.overwrite-devcontainer-config %} +{% data reusables.codespaces.details-of-devcontainer-config %} + +```json +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/java +{ + "name": "Java", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/java:0-17", + + "features": { + "ghcr.io/devcontainers/features/java:1": { + "version": "none", + "installMaven": "true", + "installGradle": "false" + }, + "ghcr.io/devcontainers-contrib/features/ant-sdkman:2": {} + } + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "java -version", + + // Configure tool-specific properties. + // "customizations": {}, + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} + +``` + +{% data reusables.codespaces.devcontainer-properties-1 %} +{% data reusables.codespaces.devcontainer-properties-2 %} + +{% data reusables.codespaces.additional-container-config %} + +## Step 3: Modify your devcontainer.json file + +With your dev container configuration added and a basic understanding of what everything does, you can now make changes to customize your environment further. In this example, you'll add properties that will: +* Run a command, after the dev container is created, to create a new file. +* Automatically install two {% data variables.product.prodname_vscode_shortname %} extensions in this codespace. + +1. In the `devcontainer.json` file, add a comma after the `features` property. + + ```json{:copy} + "features": { + "ghcr.io/devcontainers/features/java:1": { + "version": "none", + "installMaven": "true", + "installGradle": "false" + }, + "ghcr.io/devcontainers-contrib/features/ant-sdkman:2": {} + }, + ``` + +1. Uncomment the `postCreateCommand` property and change its value to `echo \"This file was added by the postCreateCommand.\" > TEMP.md`. + + ```json{:copy} + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "echo \"This file was added by the postCreateCommand.\" > TEMP.md", + ``` + +1. Uncomment the `customizations` property and edit it as follows to install the "Code Spell Checker" extension and the "Extension Pack for Java." + + ```json{:copy} + // Configure tool-specific properties. + "customizations": { + // Configure properties specific to VS Code. + "vscode": { + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "streetsidesoftware.code-spell-checker", + "vscjava.vscode-java-pack" + ] + } + } + ``` + + The `devcontainer.json` file should now look similar to this, depending on which image you chose: + + ```json + // For format details, see https://aka.ms/devcontainer.json. For config options, see the + // README at: https://github.com/devcontainers/templates/tree/main/src/java + { + "name": "Java", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/java:0-17", + + "features": { + "ghcr.io/devcontainers/features/java:1": { + "version": "none", + "installMaven": "true", + "installGradle": "false" + }, + "ghcr.io/devcontainers-contrib/features/ant-sdkman:2": {} + }, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "echo \"This file was added by the postCreateCommand.\" > TEMP.md", + + // Configure tool-specific properties. + "customizations": { + // Configure properties specific to VS Code. + "vscode": { + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "streetsidesoftware.code-spell-checker", + "vscjava.vscode-java-pack" + ] + } + } + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" + } + ``` + +{% data reusables.codespaces.save-changes %} +{% data reusables.codespaces.rebuild-command %} +{% indented_data_reference reusables.codespaces.rebuild-reason %} + + After the dev container is rebuilt, and your codespace becomes available again, the `postCreateCommand` will have been run, creating a `TEMP.md` file, and the two extensions will be available for use. + +## Step 4: Run your application + +1. Run the application by pressing `F5`. +1. If a "toast" notification message is displayed at the bottom right corner of {% data variables.product.prodname_vscode_shortname %}, asking whether you want to switch to standard mode, click **Yes**. + + ![Screenshot of the 'standard mode' prompt](/assets/images/help/codespaces/switch-to-standard-mode.png) + +1. When the project files have been imported, click the **Debug Console** tab to see the program output. + + ![Screenshot of program output in the Debug Console](/assets/images/help/codespaces/java-debug-output.png) + +## Step 5: Commit your changes + +{% data reusables.codespaces.committing-link-to-procedure %} + +## Next steps + +You should now be able to add a custom dev container configuration to your own Java project. + +{% data reusables.codespaces.next-steps-adding-devcontainer %} diff --git a/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-nodejs-project-for-codespaces.md b/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-nodejs-project-for-codespaces.md new file mode 100644 index 0000000000..878e5fb883 --- /dev/null +++ b/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-nodejs-project-for-codespaces.md @@ -0,0 +1,168 @@ +--- +title: Setting up a Node.js project for GitHub Codespaces +allowTitleToDifferFromFilename: true +shortTitle: Setting up a Node.js project +intro: 'Get started with a Node.js, JavaScript, or TypeScript project in {% data variables.product.prodname_github_codespaces %} by creating a custom dev container configuration.' +versions: + fpt: '*' + ghec: '*' +redirect_from: + - /codespaces/getting-started-with-codespaces/getting-started-with-your-nodejs-project-in-codespaces +type: tutorial +topics: + - Codespaces + - Developer + - Set up +--- + +## Introduction + +This guide shows you how to set up an example Node.js project {% data reusables.codespaces.setting-up-project-intro %} + +## Step 1: Open the project in a codespace + +1. Go to https://github.com/microsoft/vscode-remote-try-node. +{% data reusables.codespaces.use-this-template %} + +When you create a codespace, your project is created on a remote virtual machine that is dedicated to you. By default, the container for your codespace has many languages and runtimes including Node.js, JavaScript, and Typescript. It also includes a common set of tools, such as nvm, npm, yarn, git, wget, rsync, openssh, and nano. + +{% data reusables.codespaces.customize-vcpus-and-ram %} + +## Step 2: Add a dev container configuration + +The default development container, or "dev container," for {% data variables.product.prodname_github_codespaces %} will allow you to work successfully on a Node.js project like [vscode-remote-try-node](https://github.com/microsoft/vscode-remote-try-node). However, we recommend that you configure your own dev container to include all of the tools and scripts your project needs. This will ensure a fully reproducible environment for all {% data variables.product.prodname_github_codespaces %} users in your repository. + +{% data reusables.codespaces.setup-custom-devcontainer %} +{% data reusables.codespaces.command-palette-container %} +1. Type `node` and click **Node.js & JavaScript**. Other options are available if your project uses particular tools. For example, Node and MongoDB. + + ![Screenshot of the 'Node.js & JavaScript' option](/assets/images/help/codespaces/add-node-devcontainer-config.png) + +1. Click the latest version of Node.js. + + ![Screenshot of the Node.js version selection](/assets/images/help/codespaces/add-node-version.png) + +1. A list of additional features is displayed. We'll install JSHint, a code quality tool for detecting errors in JavaScript code. To install this tool, type `js`, select `JSHint (via npm)`, then click **OK**. + + ![Screenshot of additional features for 'js'](/assets/images/help/codespaces/add-jshint-config.png) + +{% data reusables.codespaces.overwrite-devcontainer-config %} +{% data reusables.codespaces.details-of-devcontainer-config %} + +```json +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/javascript-node +{ + "name": "Node.js", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/javascript-node:0-18-bullseye", + "features": { + "ghcr.io/devcontainers-contrib/features/jshint:2": {} + } + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "yarn install", + + // Configure tool-specific properties. + // "customizations": {}, + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} +``` + +{% data reusables.codespaces.devcontainer-properties-1 %} +{% data reusables.codespaces.devcontainer-properties-2 %} +{% data reusables.codespaces.additional-container-config %} + +## Step 3: Modify your devcontainer.json file + +With your dev container configuration added and a basic understanding of what everything does, you can now make changes to customize your environment further. In this example, you'll add properties that will: +* Run `npm install`, after the dev container is created, to install the dependencies listed in the `package.json` file. +* Automatically install a {% data variables.product.prodname_vscode_shortname %} extension in this codespace. + +{% data reusables.codespaces.add-comma-after-features %} + + ```json{:copy} + "features": { + "ghcr.io/devcontainers-contrib/features/jshint:2": {} + }, + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + ``` + +1. Uncomment the `postCreateCommand` property and assign it the command `npm install`. + + ```json{:copy} + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "npm install", + ``` + +{% data reusables.codespaces.add-extension-to-devcontainer %} + + ```json + // README at: https://github.com/devcontainers/templates/tree/main/src/javascript-node + { + "name": "Node.js", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/javascript-node:0-18-bullseye", + "features": { + "ghcr.io/devcontainers-contrib/features/jshint:2": {} + }, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "npm install", + + // Configure tool-specific properties. + "customizations": { + // Configure properties specific to VS Code. + "vscode": { + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "streetsidesoftware.code-spell-checker" + ] + } + } + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" + } + ``` + +{% data reusables.codespaces.save-changes %} +{% data reusables.codespaces.rebuild-command %} +{% indented_data_reference reusables.codespaces.rebuild-reason %} + + After the dev container is rebuilt, and your codespace becomes available again, the `postCreateCommand` will have been run, installing npm, and the "Code Spell Checker" extension will be available for use. + +## Step 4: Run your application + +In the previous section, you used the `postCreateCommand` to install a set of packages via the `npm install` command. With the dependencies now installed, you can run the application. + +1. In the Terminal of your codespace, enter `npm start`. + + ![Screenshot of running 'npm start' in the terminal](/assets/images/help/codespaces/codespaces-npmstart.png) + +1. When your project starts, you should see a "toast" notification message at the bottom right corner of {% data variables.product.prodname_vscode_shortname %}, telling you that your application is available on a forwarded port. To view the running application, click **Open in Browser**. + + ![Screenshot of the port forwarding "toast" notification](/assets/images/help/codespaces/codespaces-port3000-toast.png) + +## Step 5: Commit your changes + +{% data reusables.codespaces.committing-link-to-procedure %} + +## Next steps + +You should now be able to add a custom dev container configuration to your own Node.js, JavaScript, or TypeScript project. + +{% data reusables.codespaces.next-steps-adding-devcontainer %} diff --git a/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-python-project-for-codespaces.md b/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-python-project-for-codespaces.md new file mode 100644 index 0000000000..59f5ea9744 --- /dev/null +++ b/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-python-project-for-codespaces.md @@ -0,0 +1,170 @@ +--- +title: Setting up a Python project for GitHub Codespaces +allowTitleToDifferFromFilename: true +shortTitle: Setting up a Python project +intro: 'Get started with a Python project in {% data variables.product.prodname_github_codespaces %} by creating a custom dev container configuration.' +versions: + fpt: '*' + ghec: '*' +redirect_from: + - /codespaces/getting-started-with-codespaces/getting-started-with-your-python-project-in-codespaces +type: tutorial +topics: + - Codespaces + - Developer + - Set up +--- + +## Introduction + +This guide shows you how to set up an example Python project {% data reusables.codespaces.setting-up-project-intro %} + +## Step 1: Open the project in a codespace + +1. Go to https://github.com/microsoft/vscode-remote-try-python. +{% data reusables.codespaces.use-this-template %} + +When you create a codespace, your project is created on a remote virtual machine that is dedicated to you. By default, the container for your codespace has many languages and runtimes, including Python. It also includes a common set of tools like git, wget, rsync, openssh, and nano. + +{% data reusables.codespaces.customize-vcpus-and-ram %} + +## Step 2: Add a dev container configuration + +The default development container, or "dev container," for {% data variables.product.prodname_github_codespaces %} comes with the latest Python version, package managers (pip, Miniconda), and other common tools preinstalled. However, we recommend that you configure your own dev container to include all of the tools and scripts your project needs. This will ensure a fully reproducible environment for all {% data variables.product.prodname_github_codespaces %} users in your repository. + +{% data reusables.codespaces.setup-custom-devcontainer %} +{% data reusables.codespaces.command-palette-container %} +1. Start typing `python` and click **Python 3** in the list. Other options are available if your project uses particular tools. For example, Python 3 & PostgreSQL. + + ![Screenshot of the 'Python 3' option](/assets/images/help/codespaces/add-python-prebuilt-container.png) + +1. Click the latest version of Python 3. + + ![Screenshot of the Python 3 version selection](/assets/images/help/codespaces/add-python-version.png) + +1. A list of additional features is displayed. We'll install Coverage.py, a code coverage tool for Python. To install this tool, type `py`, select `Coverage.py (via pipx)`, then click **OK**. + + ![Screenshot of additional features for 'dotnet'](/assets/images/help/codespaces/add-python-features.png) + +{% data reusables.codespaces.overwrite-devcontainer-config %} +{% data reusables.codespaces.details-of-devcontainer-config %} + +```json +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/python +{ + "name": "Python 3", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/python:0-3.11-bullseye", + "features": { + "ghcr.io/devcontainers-contrib/features/coverage-py:2": {} + } + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "pip3 install --user -r requirements.txt", + + // Configure tool-specific properties. + // "customizations": {}, + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} +``` + +{% data reusables.codespaces.devcontainer-properties-1 %} +{% data reusables.codespaces.devcontainer-properties-2 %} + +{% data reusables.codespaces.additional-container-config %} + +## Step 3: Modify your devcontainer.json file + +With your dev container configuration added and a basic understanding of what everything does, you can now make changes to customize your environment further. In this example, you'll add properties that will: +* Install a package required by the application. +* Install a {% data variables.product.prodname_vscode_shortname %} extension in this codespace. + +{% data reusables.codespaces.add-comma-after-features %} + + ```json{:copy} + "features": { + "ghcr.io/devcontainers-contrib/features/coverage-py:2": {} + }, + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + ``` + +1. Uncomment the `postCreateCommand` property. + + ```json{:copy} + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "pip3 install --user -r requirements.txt", + ``` + +{% data reusables.codespaces.add-extension-to-devcontainer %} + + ```json + // For format details, see https://aka.ms/devcontainer.json. For config options, see the + // README at: https://github.com/devcontainers/templates/tree/main/src/python + { + "name": "Python 3", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/python:0-3.11-bullseye", + "features": { + "ghcr.io/devcontainers-contrib/features/coverage-py:2": {} + }, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "pip3 install --user -r requirements.txt", + + // Configure tool-specific properties. + "customizations": { + // Configure properties specific to VS Code. + "vscode": { + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "streetsidesoftware.code-spell-checker" + ] + } + } + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" + } + ``` + +{% data reusables.codespaces.save-changes %} +{% data reusables.codespaces.rebuild-command %} +{% indented_data_reference reusables.codespaces.rebuild-reason %} + + After the dev container is rebuilt, and your codespace becomes available again, the `postCreateCommand` will have been run, installing the package listed in the `requirements.txt` file, and the "Code Spell Checker" extension will be available for use. + +## Step 4: Run your application + +In the previous section, you used the `postCreateCommand` to install a package for the Flask web framework. You can now use this to run the web application. + +1. In the Terminal of your codespace, enter `python -m flask run`. + + ![Screenshot of running the Python application from the terminal](/assets/images/help/codespaces/python-flask-run.png) + +1. When your project starts, you should see a "toast" notification message at the bottom right corner of {% data variables.product.prodname_vscode_shortname %}, telling you that your application is available on a forwarded port. To view the running application, click **Open in Browser**. + + ![Port forwarding "toast" notification](/assets/images/help/codespaces/codespaces-port5000-toast.png) + +## Step 5: Commit your changes + +{% data reusables.codespaces.committing-link-to-procedure %} + +## Next steps + +You should now be able to add a custom dev container configuration to your own Python project. + +{% data reusables.codespaces.next-steps-adding-devcontainer %} diff --git a/content/codespaces/setting-up-your-project-for-codespaces/adding-features-to-a-devcontainer-file.md b/content/codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/adding-features-to-a-devcontainer-file.md similarity index 91% rename from content/codespaces/setting-up-your-project-for-codespaces/adding-features-to-a-devcontainer-file.md rename to content/codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/adding-features-to-a-devcontainer-file.md index f14fd52369..8a8d794980 100644 --- a/content/codespaces/setting-up-your-project-for-codespaces/adding-features-to-a-devcontainer-file.md +++ b/content/codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/adding-features-to-a-devcontainer-file.md @@ -10,6 +10,8 @@ type: how_to topics: - Codespaces - Set up +redirect_from: + - /codespaces/setting-up-your-project-for-codespaces/adding-features-to-a-devcontainer-file --- {% data reusables.codespaces.about-features %} Use the tabs in this article to display instructions for each of these ways of adding features. @@ -19,8 +21,8 @@ topics: {% webui %} 1. Navigate to your repository on {% data variables.product.prodname_dotcom_the_website %}, find your `devcontainer.json` file, and click {% octicon "pencil" aria-label="The edit icon" %} to edit the file. - - If you don't already have a `devcontainer.json` file, you can create one now. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#creating-a-custom-dev-container-configuration)." + + If you don't already have a `devcontainer.json` file, you can create one now. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#creating-a-custom-dev-container-configuration)." 1. To the right of the file editor, in the **Marketplace** tab, browse or search for the feature you want to add, then click the name of the feature. ![Screenshot of the Terraform feature in the Marketplace tab, with "Terra" in the search bar](/assets/images/help/codespaces/feature-marketplace.png) @@ -51,7 +53,7 @@ topics: ``` 1. Commit the changes to your `devcontainer.json` file. -The configuration changes will take effect in new codespaces created from the repository. To make the changes take effect in existing codespaces, you will need to pull the updates to the `devcontainer.json` file into your codespace, then rebuild the container for the codespace. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace)." +The configuration changes will take effect in new codespaces created from the repository. To make the changes take effect in existing codespaces, you will need to pull the updates to the `devcontainer.json` file into your codespace, then rebuild the container for the codespace. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace)." {% endwebui %} diff --git a/content/codespaces/setting-up-your-project-for-codespaces/automatically-opening-files-in-the-codespaces-for-a-repository.md b/content/codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/automatically-opening-files-in-the-codespaces-for-a-repository.md similarity index 89% rename from content/codespaces/setting-up-your-project-for-codespaces/automatically-opening-files-in-the-codespaces-for-a-repository.md rename to content/codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/automatically-opening-files-in-the-codespaces-for-a-repository.md index e77e284122..3bf8ce9f55 100644 --- a/content/codespaces/setting-up-your-project-for-codespaces/automatically-opening-files-in-the-codespaces-for-a-repository.md +++ b/content/codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/automatically-opening-files-in-the-codespaces-for-a-repository.md @@ -10,11 +10,13 @@ type: how_to topics: - Codespaces - Set up +redirect_from: + - /codespaces/setting-up-your-project-for-codespaces/automatically-opening-files-in-the-codespaces-for-a-repository --- ## Overview -If there's a particular file that's useful for people to see when they create a codespace for your repository, you can set this file to be opened automatically in the {% data variables.product.prodname_vscode_shortname %} web client. You set this up in the dev container configuration file for your repository. +If there's a particular file that's useful for people to see when they create a codespace for your repository, you can set this file to be opened automatically in the {% data variables.product.prodname_vscode_shortname %} web client. You set this up in the dev container configuration file for your repository. The file, or files, you specify are only opened the first time a codespace is opened in the web client. If the person closes the specified files, those files are not automatically reopened the next time that person opens or restarts the codespace. @@ -42,9 +44,9 @@ The file, or files, you specify are only opened the first time a codespace is op ``` The value of the `openFiles` property is an array of one or more files in your repository. The paths are relative to the root of the repository (absolute paths are not supported). The files are opened in the web client in the order specified, with the first file in the array displayed in the editor. - + 1. Save the file and commit your changes to the required branch of the repository. ## Further reading -- "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)" +- "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)" diff --git a/content/codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/index.md b/content/codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/index.md new file mode 100644 index 0000000000..606d175615 --- /dev/null +++ b/content/codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/index.md @@ -0,0 +1,12 @@ +--- +title: Configuring dev containers +allowTitleToDifferFromFilename: true +intro: 'You can customize the dev container configuration for your repository.' +versions: + fpt: '*' + ghec: '*' +children: + - /setting-a-minimum-specification-for-codespace-machines + - /adding-features-to-a-devcontainer-file + - /automatically-opening-files-in-the-codespaces-for-a-repository +--- diff --git a/content/codespaces/setting-up-your-project-for-codespaces/setting-a-minimum-specification-for-codespace-machines.md b/content/codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/setting-a-minimum-specification-for-codespace-machines.md similarity index 93% rename from content/codespaces/setting-up-your-project-for-codespaces/setting-a-minimum-specification-for-codespace-machines.md rename to content/codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/setting-a-minimum-specification-for-codespace-machines.md index e5659b2dc7..150dc048dc 100644 --- a/content/codespaces/setting-up-your-project-for-codespaces/setting-a-minimum-specification-for-codespace-machines.md +++ b/content/codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/setting-a-minimum-specification-for-codespace-machines.md @@ -10,6 +10,8 @@ type: how_to topics: - Codespaces - Set up +redirect_from: + - /codespaces/setting-up-your-project-for-codespaces/setting-a-minimum-specification-for-codespace-machines --- ## Overview @@ -35,14 +37,14 @@ If your project needs a certain level of compute power, you can configure {% dat "hostRequirements": { "cpus": 8, "memory": "8gb", - "storage": "32gb" + "storage": "32gb" } ``` You can specify any or all of the options: `cpus`, `memory`, and `storage`. - + To check the specifications of the {% data variables.product.prodname_github_codespaces %} machine types that are currently available for your repository, step through the process of creating a codespace until you see the choice of machine types. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository)." - + 1. Save the file and commit your changes to the required branch of the repository. Now when you create a codespace for that branch of the repository, and you go to the creation configuration options, you will only be able to select machine types that match or exceed the resources you've specified. @@ -51,4 +53,4 @@ If your project needs a certain level of compute power, you can configure {% dat ## Further reading -- "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)" +- "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)" diff --git a/content/codespaces/setting-up-your-project-for-codespaces/index.md b/content/codespaces/setting-up-your-project-for-codespaces/index.md index c4390d7e05..30c5d64960 100644 --- a/content/codespaces/setting-up-your-project-for-codespaces/index.md +++ b/content/codespaces/setting-up-your-project-for-codespaces/index.md @@ -1,24 +1,13 @@ --- -title: 'Setting up your repository for {% data variables.product.prodname_github_codespaces %}' -shortTitle: Setting up your repository +title: 'Setting up your project for {% data variables.product.prodname_github_codespaces %}' +shortTitle: Setting up your project allowTitleToDifferFromFilename: true -intro: 'Learn how to get started with {% data variables.product.prodname_github_codespaces %}, including set up and configuration for specific languages.' +intro: 'You can configure {% data variables.product.prodname_github_codespaces %} for the specific requirements of your project. Every time you create a codespace from your repository your working environment will have everything you need.' versions: fpt: '*' ghec: '*' -redirect_from: - - /codespaces/getting-started-with-codespaces children: - - /introduction-to-dev-containers - - /setting-up-your-project-for-codespaces - - /setting-up-your-nodejs-project-for-codespaces - - /setting-up-your-dotnet-project-for-codespaces - - /setting-up-your-java-project-for-codespaces - - /setting-up-your-python-project-for-codespaces - - /setting-a-minimum-specification-for-codespace-machines - - /adding-features-to-a-devcontainer-file - - /automatically-opening-files-in-the-codespaces-for-a-repository - - /adding-a-codespaces-badge - - /setting-up-a-template-repository-for-github-codespaces + - /adding-a-dev-container-configuration + - /configuring-dev-containers + - /setting-up-your-repository --- - diff --git a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-dotnet-project-for-codespaces.md b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-dotnet-project-for-codespaces.md deleted file mode 100644 index 43cbbf8871..0000000000 --- a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-dotnet-project-for-codespaces.md +++ /dev/null @@ -1,212 +0,0 @@ ---- -title: Setting up your C# (.NET) project for GitHub Codespaces -shortTitle: Setting up your C# (.NET) project -allowTitleToDifferFromFilename: true -intro: 'Get started with your C# (.NET) project in {% data variables.product.prodname_github_codespaces %} by creating a custom dev container.' -redirect_from: - - /codespaces/getting-started-with-codespaces/getting-started-with-your-dotnet-project -versions: - fpt: '*' - ghec: '*' -topics: - - Codespaces -hasExperimentalAlternative: true -hidden: true ---- - -## Introduction - -This guide shows you how to set up your C# (.NET) project {% data reusables.codespaces.setting-up-project-intro %} - -### Prerequisites - -- You should have an existing C# (.NET) project in a repository on {% data variables.product.prodname_dotcom_the_website %}. If you don't have a project, you can try this tutorial with the following example: https://github.com/2percentsilk/dotnet-quickstart. -- You must have {% data variables.product.prodname_github_codespaces %} enabled for your organization. - -## Step 1: Open your project in a codespace - -1. Under the repository name, use the **{% octicon "code" aria-label="The code icon" %} Code** dropdown menu, and in the **Codespaces** tab, click the plus sign ({% octicon "plus" aria-label="The plus icon" %}). - - ![New codespace button](/assets/images/help/codespaces/new-codespace-button.png) - -When you create a codespace, your project is created on a remote VM that is dedicated to you. By default, the container for your codespace has many languages and runtimes including .NET. It also includes a common set of tools like git, wget, rsync, openssh, and nano. - -{% data reusables.codespaces.customize-vcpus-and-ram %} - -## Step 2: Add a dev container configuration to your repository from a template - -The default development container, or "dev container," for {% data variables.product.prodname_github_codespaces %} comes with the latest .NET version and common tools preinstalled. However, we recommend that you configure your own dev container to include all of the tools and scripts that your project needs. This will ensure a fully reproducible environment for all {% data variables.product.prodname_github_codespaces %} users in your repository. - -{% data reusables.codespaces.setup-custom-devcontainer %} - -{% data reusables.codespaces.command-palette-container %} -1. For this example, click **C# (.NET)**. If you need additional features you can select any container that’s specific to C# (.NET) or a combination of tools such as C# (.NET) and MS SQL. - ![Select C# (.NET) option from the list](/assets/images/help/codespaces/add-dotnet-prebuilt-container.png) -1. Click the recommended version of .NET. - ![.NET version selection](/assets/images/help/codespaces/add-dotnet-version.png) -1. Accept the default option to add Node.js to your customization. - ![Add Node.js selection](/assets/images/help/codespaces/dotnet-options.png) -{% data reusables.codespaces.rebuild-command %} - -### Anatomy of your dev container - -Adding the C# (.NET) dev container template adds a `.devcontainer` folder to the root of your project's repository with the following files: - -- `devcontainer.json` -- Dockerfile - -The newly added `devcontainer.json` file defines a few properties that are described after the sample. - -#### devcontainer.json - -```json -{ - "name": "C# (.NET)", - "build": { - "dockerfile": "Dockerfile", - "args": { - // Update 'VARIANT' to pick a .NET Core version: 2.1, 3.1, 5.0 - "VARIANT": "5.0", - // Options - "INSTALL_NODE": "true", - "NODE_VERSION": "lts/*", - "INSTALL_AZURE_CLI": "false" - } - }, - - // Set *default* container specific settings.json values on container create. - "settings": { - "terminal.integrated.shell.linux": "/bin/bash" - }, - - // Add the IDs of extensions you want installed when the container is created. - "extensions": [ - "ms-dotnettools.csharp" - ], - - // Use 'forwardPorts' to make a list of ports inside the container available locally. - // "forwardPorts": [5000, 5001], - - // [Optional] To reuse of your local HTTPS dev cert: - // - // 1. Export it locally using this command: - // * Windows PowerShell: - // dotnet dev-certs https --trust; dotnet dev-certs https -ep "$env:USERPROFILE/.aspnet/https/aspnetapp.pfx" -p "SecurePwdGoesHere" - // * macOS/Linux terminal: - // dotnet dev-certs https --trust; dotnet dev-certs https -ep "${HOME}/.aspnet/https/aspnetapp.pfx" -p "SecurePwdGoesHere" - // - // 2. Uncomment these 'remoteEnv' lines: - // "remoteEnv": { - // "ASPNETCORE_Kestrel__Certificates__Default__Password": "SecurePwdGoesHere", - // "ASPNETCORE_Kestrel__Certificates__Default__Path": "/home/vscode/.aspnet/https/aspnetapp.pfx", - // }, - // - // 3. Start the container. - // - // 4. Drag ~/.aspnet/https/aspnetapp.pfx into the root of the file explorer. - // - // 5. Open a terminal in VS Code and run "mkdir -p /home/vscode/.aspnet/https && mv aspnetapp.pfx /home/vscode/.aspnet/https". - // - - // Use 'postCreateCommand' to run commands after the container is created. - // "postCreateCommand": "dotnet restore", - - // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. - "remoteUser": "vscode" -} -``` - -- **name** - You can name our dev container anything, this is just the default. -- **build** - The build properties. - - **dockerfile** - In the `build` object, `dockerfile` contains the path to the Dockerfile that was also added from the template. - - **args** - - **variant**: This file only contains one build argument, which is the .NET Core version that we want to use. -- **settings** - These are {% data variables.product.prodname_vscode %} settings. - - **terminal.integrated.shell.linux** - While bash is the default here, you could use other terminal shells by modifying this. -- **extensions** - These are extensions included by default. - - **ms-dotnettools.csharp** - The Microsoft C# extension provides rich support for developing in C#, including features such as IntelliSense, linting, debugging, code navigation, code formatting, refactoring, variable explorer, test explorer, and more. -- **forwardPorts** - Any ports listed here will be forwarded automatically. For more information, see "[Forwarding ports in your codespace](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace)." -- **postCreateCommand** - Use this to run commands that aren't defined in the Dockerfile, after your codespace is created. -- **remoteUser** - By default, you’re running as the vscode user, but you can optionally set this to root. - -#### Dockerfile - -```bash -# [Choice] .NET version: 5.0, 3.1, 2.1 -ARG VARIANT="5.0" -FROM mcr.microsoft.com/vscode/devcontainers/dotnetcore:0-${VARIANT} - -# [Option] Install Node.js -ARG INSTALL_NODE="true" -ARG NODE_VERSION="lts/*" -RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi - -# [Option] Install Azure CLI -ARG INSTALL_AZURE_CLI="false" -COPY library-scripts/azcli-debian.sh /tmp/library-scripts/ -RUN if [ "$INSTALL_AZURE_CLI" = "true" ]; then bash /tmp/library-scripts/azcli-debian.sh; fi \ - && apt-get clean -y && rm -rf /var/lib/apt/lists/* /tmp/library-scripts - -# [Optional] Uncomment this section to install additional OS packages. -# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ -# && apt-get -y install --no-install-recommends - -# [Optional] Uncomment this line to install global node packages. -# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g " 2>&1 -``` - -You can use the Dockerfile to add additional container layers to specify OS packages, node versions, or global packages we want included in our container. - -## Step 3: Modify your devcontainer.json file - -With your dev container configuration added and a basic understanding of what everything does, you can now make changes to customize your environment further. In this example, you'll add properties to install extensions and your project dependencies when your codespace launches. - -1. In the Explorer, select the `devcontainer.json` file from the tree to open it. You might have to expand the `.devcontainer` folder to see it. - - ![devcontainer.json file in the Explorer](/assets/images/help/codespaces/devcontainers-options.png) - -2. Update your the `extensions` list in your `devcontainer.json` file to add a few extensions that are useful when working with your project. - - ```json{:copy} - "extensions": [ - "ms-dotnettools.csharp", - "streetsidesoftware.code-spell-checker", - ], - ``` - -3. Uncomment the `postCreateCommand` to restore dependencies as part of the codespace setup process. - - ```json{:copy} - // Use 'postCreateCommand' to run commands after the container is created. - "postCreateCommand": "dotnet restore", - ``` - - {% data reusables.codespaces.more-info-devcontainer %} - -{% data reusables.codespaces.rebuild-command %} - - {% data reusables.codespaces.rebuild-reason %} - -5. Check your changes were successfully applied by verifying the "Code Spell Checker" extension was installed. - - ![Extensions list](/assets/images/help/codespaces/dotnet-extensions.png) - -## Step 4: Run your application - -In the previous section, you used the `postCreateCommand` to install a set of packages via the `dotnet restore` command. With our dependencies now installed, we can run our application. - -1. Run your application by pressing `F5` or entering `dotnet watch run` in your terminal. - -2. When your project starts, you should see a "toast" notification message at the bottom right corner of {% data variables.product.prodname_vscode_shortname %}, containing a prompt to connect to the port your project uses. - - ![Port forwarding "toast" notification](/assets/images/help/codespaces/python-port-forwarding.png) - -## Step 5: Commit your changes - -{% data reusables.codespaces.committing-link-to-procedure %} - -## Next steps - -You should now be ready start developing your C# (.NET) project in {% data variables.product.prodname_github_codespaces %}. Here are some additional resources for more advanced scenarios. - -{% data reusables.codespaces.next-steps-adding-devcontainer %} diff --git a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-java-project-for-codespaces.md b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-java-project-for-codespaces.md deleted file mode 100644 index 954d74025b..0000000000 --- a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-java-project-for-codespaces.md +++ /dev/null @@ -1,183 +0,0 @@ ---- -title: Setting up your Java project for GitHub Codespaces -allowTitleToDifferFromFilename: true -shortTitle: Setting up with your Java project -intro: 'Get started with your Java project in {% data variables.product.prodname_github_codespaces %} by creating a custom dev container.' -redirect_from: - - /codespaces/getting-started-with-codespaces/getting-started-with-your-java-project-in-codespaces -versions: - fpt: '*' - ghec: '*' -topics: - - Codespaces -hasExperimentalAlternative: true -hidden: true ---- - -## Introduction - -This guide shows you how to set up your Java project {% data reusables.codespaces.setting-up-project-intro %} - -### Prerequisites - -- You should have an existing Java project in a repository on {% data variables.product.prodname_dotcom_the_website %}. If you don't have a project, you can try this tutorial with the following example: https://github.com/microsoft/vscode-remote-try-java -- You must have {% data variables.product.prodname_github_codespaces %} enabled for your organization. - -## Step 1: Open your project in a codespace - -1. Under the repository name, use the **{% octicon "code" aria-label="The code icon" %} Code** dropdown menu, and in the **Codespaces** tab, click the plus sign ({% octicon "plus" aria-label="The plus icon" %}). - - ![New codespace button](/assets/images/help/codespaces/new-codespace-button.png) - -When you create a codespace, your project is created on a remote VM that is dedicated to you. By default, the container for your codespace has many languages and runtimes including Java, nvm, npm, and Yarn. It also includes a set of commonly used tools such as git, wget, rsync, openssh, and nano. - -{% data reusables.codespaces.customize-vcpus-and-ram %} - -## Step 2: Add a dev container configuration to your repository from a template - -The default development container, or "dev container," for {% data variables.product.prodname_github_codespaces %} comes with the latest Java version, package managers (Maven, Gradle), and other common tools preinstalled. However, we recommend that you configure your own dev container to include all of the tools and scripts that your project needs. This will ensure a fully reproducible environment for all {% data variables.product.prodname_github_codespaces %} users in your repository. - -{% data reusables.codespaces.setup-custom-devcontainer %} - -{% data reusables.codespaces.command-palette-container %} -1. For this example, click **Java**. In practice, you could select any container that’s specific to Java or a combination of tools such as Java and Azure Functions. - ![Select Java option from the list](/assets/images/help/codespaces/add-java-prebuilt-container.png) -1. Click the recommended version of Java. - ![Java version selection](/assets/images/help/codespaces/add-java-version.png) -{% data reusables.codespaces.rebuild-command %} - -### Anatomy of your dev container - -Adding the Java dev container template adds a `.devcontainer` directory to the root of your project's repository with the following files: - -- `devcontainer.json` -- Dockerfile - -The newly added `devcontainer.json` file defines a few properties that are described after the sample. - -#### devcontainer.json - -```json -// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at: -// https://github.com/microsoft/vscode-dev-containers/tree/v0.159.0/containers/java -{ - "name": "Java", - "build": { - "dockerfile": "Dockerfile", - "args": { - // Update the VARIANT arg to pick a Java version: 11, 14 - "VARIANT": "11", - // Options - "INSTALL_MAVEN": "true", - "INSTALL_GRADLE": "false", - "INSTALL_NODE": "false", - "NODE_VERSION": "lts/*" - } - }, - - // Set *default* container specific settings.json values on container create. - "settings": { - "terminal.integrated.shell.linux": "/bin/bash", - "java.home": "/docker-java-home", - "maven.executable.path": "/usr/local/sdkman/candidates/maven/current/bin/mvn" - }, - - // Add the IDs of extensions you want installed when the container is created. - "extensions": [ - "vscjava.vscode-java-pack" - ], - - // Use 'forwardPorts' to make a list of ports inside the container available locally. - // "forwardPorts": [], - - // Use 'postCreateCommand' to run commands after the container is created. - // "postCreateCommand": "java -version", - - // Uncomment to connect as a non-root user. See https://aka.ms/vscode-remote/containers/non-root. - "remoteUser": "vscode" -} -``` - -- **name** - You can name your dev container anything, this is just the default. -- **build** - The build properties. - - **dockerfile** - In the `build` object, `dockerfile` contains the path to the Dockerfile that was also added from the template. - - **args** - - **variant**: This file only contains one build argument, which is the Java version that is passed into the Dockerfile. -- **settings** - These are {% data variables.product.prodname_vscode %} settings that you can set. - - **terminal.integrated.shell.linux** - While bash is the default here, you could use other terminal shells by modifying this. -- **extensions** - These are extensions included by default. - - **vscjava.vscode-java-pack** - The Java Extension Pack provides popular extensions for Java development to get you started. -- **forwardPorts** - Any ports listed here will be forwarded automatically. For more information, see "[Forwarding ports in your codespace](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace)." -- **postCreateCommand** - Use this to run commands that aren't defined in the Dockerfile, after your codespace is created. -- **remoteUser** - By default, you’re running as the `vscode` user, but you can optionally set this to `root`. - -#### Dockerfile - -```bash -# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.159.0/containers/java/.devcontainer/base.Dockerfile -ARG VARIANT="14" -FROM mcr.microsoft.com/vscode/devcontainers/java:0-${VARIANT} - -# [Optional] Install Maven or Gradle -ARG INSTALL_MAVEN="false" -ARG MAVEN_VERSION=3.6.3 -ARG INSTALL_GRADLE="false" -ARG GRADLE_VERSION=5.4.1 -RUN if [ "${INSTALL_MAVEN}" = "true" ]; then su vscode -c "source /usr/local/sdkman/bin/sdkman-init.sh && sdk install maven \"${MAVEN_VERSION}\""; fi \ - && if [ "${INSTALL_GRADLE}" = "true" ]; then su vscode -c "source /usr/local/sdkman/bin/sdkman-init.sh && sdk install gradle \"${GRADLE_VERSION}\""; fi - -# [Optional] Install a version of Node.js using nvm for front end dev -ARG INSTALL_NODE="true" -ARG NODE_VERSION="lts/*" -RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "source /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi - -# [Optional] Uncomment this section to install additional OS packages. -# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ -# && apt-get -y install --no-install-recommends - -# [Optional] Uncomment this line to install global node packages. -# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g " 2>&1 -``` - -You can use the Dockerfile to add additional container layers to specify OS packages, Java versions, or global packages we want included in our container. - -## Step 3: Modify your devcontainer.json file - -With your dev container configuration added and a basic understanding of what everything does, you can now make changes to customize your environment further. In this example, you'll add properties to install extensions and your project dependencies when your codespace launches. - -1. In the Explorer, select the `devcontainer.json` file from the tree to open it. You might have to expand the `.devcontainer` folder to see it. - - ![devcontainer.json file in the Explorer](/assets/images/help/codespaces/devcontainers-options.png) - -2. Add the following lines to your `devcontainer.json` file after `extensions`. - - ```json{:copy} - "postCreateCommand": "npm install", - "forwardPorts": [4000], - ``` - - {% data reusables.codespaces.more-info-devcontainer %} - -{% data reusables.codespaces.rebuild-command %} - - {% data reusables.codespaces.rebuild-reason %} - -## Step 4: Run your application - -In the previous section, you used the `postCreateCommand` to install a set of packages via npm. You can now use this to run our application with npm. - -1. Run your application by pressing `F5`. - -2. When your project starts, you should see a "toast" notification message at the bottom right corner of {% data variables.product.prodname_vscode_shortname %}, containing a prompt to connect to the port your project uses. - - ![Port forwarding "toast" notification](/assets/images/help/codespaces/codespaces-port-toast.png) - -## Step 5: Commit your changes - -{% data reusables.codespaces.committing-link-to-procedure %} - -## Next steps - -You should now be ready start developing your Java project in {% data variables.product.prodname_github_codespaces %}. Here are some additional resources for more advanced scenarios. - -{% data reusables.codespaces.next-steps-adding-devcontainer %} diff --git a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-nodejs-project-for-codespaces.md b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-nodejs-project-for-codespaces.md deleted file mode 100644 index b46287cc47..0000000000 --- a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-nodejs-project-for-codespaces.md +++ /dev/null @@ -1,177 +0,0 @@ ---- -title: Setting up your Node.js project for GitHub Codespaces -allowTitleToDifferFromFilename: true -shortTitle: Setting up your Node.js project -intro: 'Get started with your JavaScript, Node.js, or TypeScript project in {% data variables.product.prodname_github_codespaces %} by creating a custom dev container.' -versions: - fpt: '*' - ghec: '*' -redirect_from: - - /codespaces/getting-started-with-codespaces/getting-started-with-your-nodejs-project-in-codespaces -type: tutorial -topics: - - Codespaces - - Developer - - Node - - JavaScript -hasExperimentalAlternative: true -hidden: true ---- - - - -## Introduction - -This guide shows you how to set up your JavaScript, Node.js, or TypeScript project {% data reusables.codespaces.setting-up-project-intro %} - -### Prerequisites - -- You should have an existing JavaScript, Node.js, or TypeScript project in a repository on {% data variables.product.prodname_dotcom_the_website %}. If you don't have a project, you can try this tutorial with the following example: https://github.com/microsoft/vscode-remote-try-node -- You must have {% data variables.product.prodname_github_codespaces %} enabled for your organization. - -## Step 1: Open your project in a codespace - -1. Under the repository name, use the **{% octicon "code" aria-label="The code icon" %} Code** dropdown menu, and in the **Codespaces** tab, click the plus sign ({% octicon "plus" aria-label="The plus icon" %}). - - ![New codespace button](/assets/images/help/codespaces/new-codespace-button.png) - -When you create a codespace, your project is created on a remote VM that is dedicated to you. By default, the container for your codespace has many languages and runtimes including Node.js, JavaScript, Typescript, nvm, npm, and yarn. It also includes a common set of tools like git, wget, rsync, openssh, and nano. - -{% data reusables.codespaces.customize-vcpus-and-ram %} - -## Step 2: Add a dev container configuration to your repository from a template - -The default development container, or "dev container," for {% data variables.product.prodname_github_codespaces %} will support running Node.js projects like [vscode-remote-try-node](https://github.com/microsoft/vscode-remote-try-node) out of the box. However, we recommend that you configure your own dev container, as this allows you to define any particular tools and scripts your project needs. This will ensure a fully reproducible environment for all {% data variables.product.prodname_github_codespaces %} users in your repository. - -{% data reusables.codespaces.setup-custom-devcontainer %} - -{% data reusables.codespaces.command-palette-container %} -1. For this example, click **Node.js**. If you need additional features you can select any container that’s specific to Node or a combination of tools such as Node and MongoDB. - - ![Select Node option from the list](/assets/images/help/codespaces/add-node-prebuilt-container.png) - -1. Click the recommended version of Node.js. - - ![Node.js version selection](/assets/images/help/codespaces/add-node-version.png) - -{% data reusables.codespaces.rebuild-command %} - -### Anatomy of your dev container - -Adding the Node.js dev container template adds a `.devcontainer` directory to the root of your project's repository with the following files: - -- `devcontainer.json` -- Dockerfile - -The newly added `devcontainer.json` file defines a few properties that are described after the sample. - -#### devcontainer.json - -```json -// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: -// https://github.com/microsoft/vscode-dev-containers/tree/v0.162.0/containers/javascript-node -{ - "name": "Node.js", - "build": { - "dockerfile": "Dockerfile", - // Update 'VARIANT' to pick a Node version: 10, 12, 14 - "args": { "VARIANT": "14" } - }, - - // Set *default* container specific settings.json values on container create. - "settings": { - "terminal.integrated.shell.linux": "/bin/bash" - }, - - // Add the IDs of extensions you want installed when the container is created. - "extensions": [ - "dbaeumer.vscode-eslint" - ], - - // Use 'forwardPorts' to make a list of ports inside the container available locally. - // "forwardPorts": [], - - // Use 'postCreateCommand' to run commands after the container is created. - // "postCreateCommand": "yarn install", - - // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. - "remoteUser": "node" -} -``` - -- **name** - You can name your dev container anything, this is just the default. -- **build** - The build properties. - - **dockerfile** - In the `build` object, `dockerfile` contains the path to the Dockerfile that was also added from the template. - - **args** - - **variant**: This file only contains one build argument, which is the node variant we want to use that is passed into the Dockerfile. -- **settings** - These are {% data variables.product.prodname_vscode %} settings that you can set. - - **terminal.integrated.shell.linux** - While bash is the default here, you could use other terminal shells by modifying this. -- **extensions** - These are extensions included by default. - - **dbaeumer.vscode-eslint** - ES lint is a great extension for linting, but for JavaScript there are a number of great Marketplace extensions you could also include. -- **forwardPorts** - Any ports listed here will be forwarded automatically. For more information, see "[Forwarding ports in your codespace](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace)." -- **postCreateCommand** - Use this to run commands that aren't defined in the Dockerfile, after your codespace is created. -- **remoteUser** - By default, you’re running as the vscode user, but you can optionally set this to root. - -#### Dockerfile - -```bash -# [Choice] Node.js version: 14, 12, 10 -ARG VARIANT="14-buster" -FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:0-${VARIANT} - -# [Optional] Uncomment this section to install additional OS packages. -# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ -# && apt-get -y install --no-install-recommends - -# [Optional] Uncomment if you want to install an additional version of node using nvm -# ARG EXTRA_NODE_VERSION=10 -# RUN su node -c "source /usr/local/share/nvm/nvm.sh && nvm install ${EXTRA_NODE_VERSION}" - -# [Optional] Uncomment if you want to install more global node modules -# RUN su node -c "npm install -g " -``` - -You can use the Dockerfile to add additional container layers to specify OS packages, node versions, or global packages we want included in our container. - -## Step 3: Modify your devcontainer.json file - -With your dev container configuration added and a basic understanding of what everything does, you can now make changes to customize your environment further. In this example, you'll add properties to install npm when your codespace launches and make a list of ports inside the container available locally. - -1. In the Explorer, select the `devcontainer.json` file from the tree to open it. You might have to expand the `.devcontainer` folder to see it. - - ![devcontainer.json file in the Explorer](/assets/images/help/codespaces/devcontainers-options.png) - -2. Add the following lines to your `devcontainer.json` file after `extensions`: - - ```json{:copy} - "postCreateCommand": "npm install", - "forwardPorts": [4000], - ``` - - {% data reusables.codespaces.more-info-devcontainer %} - -{% data reusables.codespaces.rebuild-command %} - - {% data reusables.codespaces.rebuild-reason %} - -## Step 4: Run your application - -In the previous section, you used the `postCreateCommand` to installing a set of packages via npm. You can now use this to run our application with npm. - -1. Run your start command in the terminal with`npm start`. - - ![npm start in terminal](/assets/images/help/codespaces/codespaces-npmstart.png) - -2. When your project starts, you should see a "toast" notification message at the bottom right corner of {% data variables.product.prodname_vscode_shortname %}, containing a prompt to connect to the port your project uses. - - ![Port forwarding "toast" notification](/assets/images/help/codespaces/codespaces-port-toast.png) - -## Step 5: Commit your changes - -{% data reusables.codespaces.committing-link-to-procedure %} - -## Next steps - -You should now be ready start developing your JavaScript project in {% data variables.product.prodname_github_codespaces %}. Here are some additional resources for more advanced scenarios. - -{% data reusables.codespaces.next-steps-adding-devcontainer %} diff --git a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces.md b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces.md deleted file mode 100644 index 25a83bbff6..0000000000 --- a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Adding a dev container to your repository -shortTitle: Add a dev container to your repository -allowTitleToDifferFromFilename: true -intro: 'Get started with your Node.js, Python, .NET, or Java project in {% data variables.product.prodname_codespaces %} by creating a custom dev container.' -versions: - fpt: '*' - ghec: '*' -type: tutorial -topics: - - Codespaces - - Developer - - Node - - JavaScript -hasExperimentalAlternative: true -interactive: true ---- - - diff --git a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-python-project-for-codespaces.md b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-python-project-for-codespaces.md deleted file mode 100644 index 6b6e352488..0000000000 --- a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-python-project-for-codespaces.md +++ /dev/null @@ -1,204 +0,0 @@ ---- -title: Setting up your Python project for GitHub Codespaces -allowTitleToDifferFromFilename: true -shortTitle: Setting up your Python project -intro: 'Get started with your Python project in {% data variables.product.prodname_github_codespaces %} by creating a custom dev container.' -versions: - fpt: '*' - ghec: '*' -redirect_from: - - /codespaces/getting-started-with-codespaces/getting-started-with-your-python-project-in-codespaces -type: tutorial -topics: - - Codespaces - - Developer - - Python -hasExperimentalAlternative: true -hidden: true ---- - -## Introduction - -This guide shows you how to set up your Python project {% data reusables.codespaces.setting-up-project-intro %} - -### Prerequisites - -- You should have an existing Python project in a repository on {% data variables.product.prodname_dotcom_the_website %}. If you don't have a project, you can try this tutorial with the following example: https://github.com/2percentsilk/python-quickstart. -- You must have {% data variables.product.prodname_github_codespaces %} enabled for your organization. - -## Step 1: Open your project in a codespace - -1. Under the repository name, use the **{% octicon "code" aria-label="The code icon" %} Code** dropdown menu, and in the **Codespaces** tab, click the plus sign ({% octicon "plus" aria-label="The plus icon" %}). - - ![New codespace button](/assets/images/help/codespaces/new-codespace-button.png) - -When you create a codespace, your project is created on a remote VM that is dedicated to you. By default, the container for your codespace has many languages and runtimes including Node.js, JavaScript, Typescript, nvm, npm, and yarn. It also includes a common set of tools like git, wget, rsync, openssh, and nano. - -{% data reusables.codespaces.customize-vcpus-and-ram %} - -## Step 2: Add a dev container configuration to your repository from a template - -The default development container, or "dev container," for {% data variables.product.prodname_github_codespaces %} comes with the latest Python version, package managers (pip, Miniconda), and other common tools preinstalled. However, we recommend that you configure your own dev container to include all of the tools and scripts that your project needs. This will ensure a fully reproducible environment for all {% data variables.product.prodname_github_codespaces %} users in your repository. - -{% data reusables.codespaces.setup-custom-devcontainer %} - -{% data reusables.codespaces.command-palette-container %} -1. For this example, click **Python 3**. If you need additional features you can select any container that’s specific to Python or a combination of tools such as Python 3 and PostgreSQL. - ![Select Python option from the list](/assets/images/help/codespaces/add-python-prebuilt-container.png) -1. Click the recommended version of Python. - ![Python version selection](/assets/images/help/codespaces/add-python-version.png) -1. Accept the default option to add Node.js to your customization. - ![Add Node.js selection](/assets/images/help/codespaces/add-nodejs-selection.png) -{% data reusables.codespaces.rebuild-command %} - -### Anatomy of your dev container - -Adding the Python dev container template adds a `.devcontainer` directory to the root of your project's repository with the following files: - -- `devcontainer.json` -- Dockerfile - -The newly added `devcontainer.json` file defines a few properties that are described after the sample. - -#### devcontainer.json - -```json -{ - "name": "Python 3", - "build": { - "dockerfile": "Dockerfile", - "context": "..", - "args": { - // Update 'VARIANT' to pick a Python version: 3, 3.6, 3.7, 3.8, 3.9 - "VARIANT": "3", - // Options - "INSTALL_NODE": "true", - "NODE_VERSION": "lts/*" - } - }, - - // Set *default* container specific settings.json values on container create. - "settings": { - "terminal.integrated.shell.linux": "/bin/bash", - "python.pythonPath": "/usr/local/bin/python", - "python.linting.enabled": true, - "python.linting.pylintEnabled": true, - "python.formatting.autopep8Path": "/usr/local/py-utils/bin/autopep8", - "python.formatting.blackPath": "/usr/local/py-utils/bin/black", - "python.formatting.yapfPath": "/usr/local/py-utils/bin/yapf", - "python.linting.banditPath": "/usr/local/py-utils/bin/bandit", - "python.linting.flake8Path": "/usr/local/py-utils/bin/flake8", - "python.linting.mypyPath": "/usr/local/py-utils/bin/mypy", - "python.linting.pycodestylePath": "/usr/local/py-utils/bin/pycodestyle", - "python.linting.pydocstylePath": "/usr/local/py-utils/bin/pydocstyle", - "python.linting.pylintPath": "/usr/local/py-utils/bin/pylint" - }, - - // Add the IDs of extensions you want installed when the container is created. - "extensions": [ - "ms-python.python" - ], - - // Use 'forwardPorts' to make a list of ports inside the container available locally. - // "forwardPorts": [], - - // Use 'postCreateCommand' to run commands after the container is created. - // "postCreateCommand": "pip3 install --user -r requirements.txt", - - // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. - "remoteUser": "vscode" -} -``` - -- **name** - You can name our dev container anything, this is just the default. -- **build** - The build properties. - - **dockerfile** - In the `build` object, `dockerfile` contains the path to the Dockerfile that was also added from the template. - - **args** - - **variant**: This file only contains one build argument, which is the node variant we want to use that is passed into the Dockerfile. -- **settings** - These are {% data variables.product.prodname_vscode %} settings. - - **terminal.integrated.shell.linux** - While bash is the default here, you could use other terminal shells by modifying this. -- **extensions** - These are extensions included by default. - - **ms-python.python** - The Microsoft Python extension provides rich support for the Python language (for all actively supported versions of the language: >=3.6), including features such as IntelliSense, linting, debugging, code navigation, code formatting, refactoring, variable explorer, test explorer, and more. -- **forwardPorts** - Any ports listed here will be forwarded automatically. For more information, see "[Forwarding ports in your codespace](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace)." -- **postCreateCommand** - Use this to run commands that aren't defined in the Dockerfile, like `pip3 install -r requirements`, after your codespace is created. -- **remoteUser** - By default, you’re running as the `vscode` user, but you can optionally set this to `root`. - -#### Dockerfile - -```bash -# [Choice] Python version: 3, 3.9, 3.8, 3.7, 3.6 -ARG VARIANT="3" -FROM mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT} - -# [Option] Install Node.js -ARG INSTALL_NODE="true" -ARG NODE_VERSION="lts/*" -RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi - -# [Optional] If your pip requirements rarely change, uncomment this section to add them to the image. -# COPY requirements.txt /tmp/pip-tmp/ -# RUN pip3 --disable-pip-version-check --no-cache-dir install -r /tmp/pip-tmp/requirements.txt \ -# && rm -rf /tmp/pip-tmp - -# [Optional] Uncomment this section to install additional OS packages. -# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ -# && apt-get -y install --no-install-recommends - -# [Optional] Uncomment this line to install global node packages. -# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g " 2>&1 -``` - -You can use the Dockerfile to add additional container layers to specify OS packages, node versions, or global packages we want included in our container. - -## Step 3: Modify your devcontainer.json file - -With your dev container configuration added and a basic understanding of what everything does, you can now make changes to customize your environment further. In this example, you'll add properties to install extensions and your project dependencies when your codespace launches. - -1. In the Explorer, expand the `.devcontainer` folder and select the `devcontainer.json` file from the tree to open it. - - ![devcontainer.json file in the Explorer](/assets/images/help/codespaces/devcontainers-options.png) - -2. Update the `extensions` list in your `devcontainer.json` file to add a few extensions that are useful when working with your project. - - ```json{:copy} - "extensions": [ - "ms-python.python", - "cstrap.flask-snippets", - "streetsidesoftware.code-spell-checker" - ], - ``` - -3. Uncomment the `postCreateCommand` to auto-install requirements as part of the codespaces setup process. - - ```json{:copy} - // Use 'postCreateCommand' to run commands after the container is created. - "postCreateCommand": "pip3 install --user -r requirements.txt", - ``` - -{% data reusables.codespaces.rebuild-command %} - - {% data reusables.codespaces.rebuild-reason %} - -5. Check your changes were successfully applied by verifying the Code Spell Checker and Flask Snippet extensions were installed. - - ![Extensions list](/assets/images/help/codespaces/python-extensions.png) - -## Step 4: Run your application - -In the previous section, you used the `postCreateCommand` to install a set of packages via pip3. With your dependencies now installed, you can run your application. - -1. Run your application by pressing `F5` or entering `python -m flask run` in the codespace terminal. - -2. When your project starts, you should see a "toast" notification message at the bottom right corner of {% data variables.product.prodname_vscode_shortname %}, containing a prompt to connect to the port your project uses. - - ![Port forwarding "toast" notification](/assets/images/help/codespaces/python-port-forwarding.png) - -## Step 5: Commit your changes - -{% data reusables.codespaces.committing-link-to-procedure %} - -## Next steps - -You should now be ready start developing your Python project in {% data variables.product.prodname_github_codespaces %}. Here are some additional resources for more advanced scenarios. - -{% data reusables.codespaces.next-steps-adding-devcontainer %} diff --git a/content/codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge.md b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-repository/adding-a-codespaces-badge.md similarity index 96% rename from content/codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge.md rename to content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-repository/adding-a-codespaces-badge.md index 36e4e0ae51..bbd0999e85 100644 --- a/content/codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge.md +++ b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-repository/adding-a-codespaces-badge.md @@ -10,6 +10,8 @@ type: how_to topics: - Codespaces - Set up +redirect_from: + - /codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge --- ## Overview diff --git a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-repository/index.md b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-repository/index.md new file mode 100644 index 0000000000..84a1e06f1a --- /dev/null +++ b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-repository/index.md @@ -0,0 +1,12 @@ +--- +title: 'Setting up your repository for {% data variables.product.prodname_github_codespaces %}' +shortTitle: Setting up your repository +allowTitleToDifferFromFilename: true +intro: 'You can set up your repository to make it easy for people to work on a project using {% data variables.product.prodname_github_codespaces %}.' +versions: + fpt: '*' + ghec: '*' +children: + - /adding-a-codespaces-badge + - /setting-up-a-template-repository-for-github-codespaces +--- diff --git a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-a-template-repository-for-github-codespaces.md b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-repository/setting-up-a-template-repository-for-github-codespaces.md similarity index 90% rename from content/codespaces/setting-up-your-project-for-codespaces/setting-up-a-template-repository-for-github-codespaces.md rename to content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-repository/setting-up-a-template-repository-for-github-codespaces.md index e985569a15..d987f38c18 100644 --- a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-a-template-repository-for-github-codespaces.md +++ b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-repository/setting-up-a-template-repository-for-github-codespaces.md @@ -9,6 +9,8 @@ type: how_to topics: - Codespaces - Set up +redirect_from: + - /codespaces/setting-up-your-project-for-codespaces/setting-up-a-template-repository-for-github-codespaces --- ## Introduction @@ -47,7 +49,7 @@ For guidance on the kinds of files to include, you can look at the starter files ## Configure the container image -You can add dev container configuration files to your template repository to customize the development environment for people using your template with {% data variables.product.prodname_github_codespaces %}. You can choose from a list of predefined configuration settings in {% data variables.product.prodname_vscode %}, or you can create a custom configuration by writing your own `devcontainer.json` file. If you don't add configuration files, the default container image will be used. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)" and "[Add a dev container configuration to your repository](/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces)." +You can add dev container configuration files to your template repository to customize the development environment for people using your template with {% data variables.product.prodname_github_codespaces %}. You can choose from a list of predefined configuration settings in {% data variables.product.prodname_vscode %}, or you can create a custom configuration by writing your own `devcontainer.json` file. If you don't add configuration files, the default container image will be used. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)" and "[Adding a dev container configuration to your repository](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration)." {% note %} @@ -55,7 +57,7 @@ You can add dev container configuration files to your template repository to cus {% endnote %} -You should configure your dev container with the tools and customization to give users the best experience with your template. For example, in your `devcontainer.json` file: +You should configure your dev container with the tools and customization to give users the best experience with your template. For example, in your `devcontainer.json` file: - You can use the `openFiles` property to define a list of files to be opened automatically in the {% data variables.product.prodname_vscode_shortname %} web client when a codespace is created from your template. - If your template contains files for a web application, you can make the application run automatically in the user's codespace. You can do this by using the `postAttachCommand` property to run a script that starts the application on a local server as soon as the {% data variables.product.prodname_vscode_shortname %} web client connects to the codespace, and by setting the `onAutoForward` property of a port to `openPreview` to display the application running on that port in a simple browser embedded in the {% data variables.product.prodname_vscode_shortname %} web client. @@ -81,4 +83,4 @@ The following configuration settings for a React template will open the `app.js` } } ``` -For more information, see "[Automatically opening files in the codespaces for a repository](/codespaces/setting-up-your-project-for-codespaces/automatically-opening-files-in-the-codespaces-for-a-repository)" and the [dev containers specification](https://containers.dev/implementors/json_reference/#general-properties) on containers.dev. \ No newline at end of file +For more information, see "[Automatically opening files in the codespaces for a repository](/codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/automatically-opening-files-in-the-codespaces-for-a-repository)" and the [dev containers specification](https://containers.dev/implementors/json_reference/#general-properties) on the Development Containers website. \ No newline at end of file diff --git a/content/codespaces/troubleshooting/troubleshooting-creation-and-deletion-of-codespaces.md b/content/codespaces/troubleshooting/troubleshooting-creation-and-deletion-of-codespaces.md index 17fc28a11b..19c79cd318 100644 --- a/content/codespaces/troubleshooting/troubleshooting-creation-and-deletion-of-codespaces.md +++ b/content/codespaces/troubleshooting/troubleshooting-creation-and-deletion-of-codespaces.md @@ -50,11 +50,11 @@ If you create a codespace and the creation fails: {% note %} **Note**: To view the logs during a build: - * In the browser, click **View logs.** + * In the browser, click **View logs.** ![Screenshot of the Codespaces web UI with the View logs link emphasized](/assets/images/help/codespaces/web-ui-view-logs.png) - * In the VS Code desktop application, click **Building codespace** in the "Setting up remote connection" that's displayed. + * In the VS Code desktop application, click **Building codespace** in the "Setting up remote connection" that's displayed. ![Screenshot of VS Code with the Building codespace link emphasized](/assets/images/help/codespaces/vs-code-building-codespace.png) @@ -66,7 +66,7 @@ If you create a codespace and the creation fails: A codespace can only be deleted by: * The person who created the codespace. * An organization owner for an organization-owned codespace. -* Automatic deletion at the end of a retention period. +* Automatic deletion at the end of a retention period. For more information, see "[Deleting a codespace](/codespaces/developing-in-codespaces/deleting-a-codespace)" and "[Configuring automatic deletion of your codespaces](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces)." @@ -93,4 +93,4 @@ This codespace is currently running in recovery mode due to a container error. ``` Review the creation logs and update the dev container configuration as needed. For more information, see "[{% data variables.product.prodname_github_codespaces %} logs](/codespaces/troubleshooting/github-codespaces-logs)." -You can then try restarting the codespace, or rebuilding the container. For more information on rebuilding the container, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace)." +You can then try restarting the codespace, or rebuilding the container. For more information on rebuilding the container, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace)." diff --git a/content/codespaces/troubleshooting/troubleshooting-your-connection-to-github-codespaces.md b/content/codespaces/troubleshooting/troubleshooting-your-connection-to-github-codespaces.md index c403cf9f6c..063d8bc03f 100644 --- a/content/codespaces/troubleshooting/troubleshooting-your-connection-to-github-codespaces.md +++ b/content/codespaces/troubleshooting/troubleshooting-your-connection-to-github-codespaces.md @@ -14,7 +14,7 @@ redirect_from: ## 503 codespace service unavailable -Codespaces are set to stop after 30 minutes without any activity. If you try to interact with a codespace after it has stopped, you may see a `503 service unavailable` error. +Codespaces are set to stop after 30 minutes without any activity. If you try to interact with a codespace after it has stopped, you may see a `503 service unavailable` error. - If a **Start** button is shown in {% data variables.product.prodname_vscode %} or in your browser window, click **Start** to reconnect to the codespace. - Reset your codespace by reloading the window. From the [Command Palette](/codespaces/codespaces-reference/using-the-command-palette-in-codespaces#accessing-the-command-palette) in {% data variables.product.prodname_vscode %}, click **Developer: Reload Window**. @@ -36,7 +36,7 @@ To be able to use a codespace in JupyterLab, you must ensure that your codespace If your codespace uses a Debian-based image, you can install JupyterLab in the dev container by adding the `python` feature to your `devcontainer.json` file, with the `installJupyterlab` option set to `true`. Otherwise, install it directly in your Dockerfile. For installation instructions, see "[Installation](https://jupyterlab.readthedocs.io/en/stable/getting_started/installation.html)" in the JupyterLab documentation. -For more information about the `python` feature, see the README page in the [`devcontainers/features` repository](https://github.com/devcontainers/features/tree/main/src/python). For more information about the `devcontainer.json` file and the Dockerfile, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#devcontainerjson)." +For more information about the `python` feature, see the README page in the [`devcontainers/features` repository](https://github.com/devcontainers/features/tree/main/src/python). For more information about the `devcontainer.json` file and the Dockerfile, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#devcontainerjson)." If you still cannot connect, {% data reusables.codespaces.contact-support %} diff --git a/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom.md b/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom.md index 878abde882..f6317bf9a7 100644 --- a/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom.md +++ b/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom.md @@ -11,13 +11,13 @@ permissions: 'Organization owners who are admins for a classroom can enable {% d {% data variables.product.prodname_github_codespaces %} is an instant, cloud-based development environment that uses a container to provide you with common languages, tools, and utilities for development. {% data variables.product.prodname_github_codespaces %} is also configurable, allowing you to create a customized development environment that is the same for all users of your project. For more information, see "[{% data variables.product.prodname_github_codespaces %} overview](/codespaces/overview)." -Once {% data variables.product.prodname_github_codespaces %} is enabled in an organization or enterprise, users can create a codespace from any branch or commit in an organization or enterprise repository and begin developing using cloud-based compute resources. You can connect to a codespace from the browser or locally using Visual Studio Code. +Once {% data variables.product.prodname_github_codespaces %} is enabled in an organization or enterprise, users can create a codespace from any branch or commit in an organization or enterprise repository and begin developing using cloud-based compute resources. You can connect to a codespace from the browser or locally using Visual Studio Code. {% data reusables.codespaces.links-to-get-started %} -Setting {% data variables.product.prodname_github_codespaces %} as the preferred editor for an assignment in GitHub Classroom assignments, is beneficial for both students and teachers. {% data variables.product.prodname_github_codespaces %} is a good option for students using loaned devices or without access to a local IDE setup, since each codespace is cloud-based and requires no local setup. Students can launch a codespace for an assignment repository in Visual Studio Code directly in their browser, and begin developing right away without needing any further configuration. +Setting {% data variables.product.prodname_github_codespaces %} as the preferred editor for an assignment in GitHub Classroom assignments, is beneficial for both students and teachers. {% data variables.product.prodname_github_codespaces %} is a good option for students using loaned devices or without access to a local IDE setup, since each codespace is cloud-based and requires no local setup. Students can launch a codespace for an assignment repository in Visual Studio Code directly in their browser, and begin developing right away without needing any further configuration. -For assignments with complex setup environments, teachers can customize the dev container configuration for a repository's codespaces. This ensures that when a student creates a codespace, it automatically opens with the development environment configured by the teacher. For more information on dev containers, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." +For assignments with complex setup environments, teachers can customize the dev container configuration for a repository's codespaces. This ensures that when a student creates a codespace, it automatically opens with the development environment configured by the teacher. For more information on dev containers, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)." {% note %} @@ -29,7 +29,7 @@ For assignments with complex setup environments, teachers can customize the dev {% note %} -**Note:** {% data reusables.education.note-on-student-codespaces-usage %} +**Note:** {% data reusables.education.note-on-student-codespaces-usage %} {% endnote %} @@ -39,9 +39,9 @@ The {% data variables.product.prodname_codespaces %} Education benefit gives ver {% data reusables.classroom.free-limited-codespaces-for-verified-teachers-beta-note %} -To become a verified teacher, you need to be approved for an educator or teacher benefit. For more information, see "[Apply to {% data variables.product.prodname_global_campus %} as a teacher](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher)." +To become a verified teacher, you need to be approved for an educator or teacher benefit. For more information, see "[Apply to {% data variables.product.prodname_global_campus %} as a teacher](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher)." -After you have confirmation that you are a verified teacher, visit [{% data variables.product.prodname_global_campus %} for Teachers](https://education.github.com/globalcampus/teacher) to upgrade the organization to GitHub Team. For more information, see [GitHub's products](/get-started/learning-about-github/githubs-products#github-team). +After you have confirmation that you are a verified teacher, visit [{% data variables.product.prodname_global_campus %} for Teachers](https://education.github.com/globalcampus/teacher) to upgrade the organization to GitHub Team. For more information, see [GitHub's products](/get-started/learning-about-github/githubs-products#github-team). If you are eligible for the {% data variables.product.prodname_codespaces %} Education benefit, when you enable {% data variables.product.prodname_github_codespaces %} in {% data variables.product.prodname_classroom %} for your organization, GitHub automatically adds a Codespace policy to restrict machine types for all codespaces in the organization to 2 core machines. This helps you make the most of the free {% data variables.product.prodname_github_codespaces %} usage. However, you can change or remove these policies in your organization settings. For more information, see "[Restricting access to machine types](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)." @@ -54,7 +54,7 @@ When the {% data variables.product.prodname_codespaces %} Education benefit move ### Enabling Codespaces for an organization when creating a new classroom {% data reusables.classroom.sign-into-github-classroom %} 1. Click **New classroom**. - + !["New classroom" button](/assets/images/help/classroom/click-new-classroom-button.png) 1. In the list of organizations, click the organization you'd like to use for your classroom. Organizations that are eligible for {% data variables.product.prodname_github_codespaces %} will have a note showing that they are eligible. Optionally, you can create a new organization. For more information, see "[Creating a new organization from scratch](/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch)." @@ -72,18 +72,18 @@ When the {% data variables.product.prodname_codespaces %} Education benefit move {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-settings %} -1. Under "{% data variables.product.prodname_github_codespaces %}", click **Enable**. This will enable {% data variables.product.prodname_github_codespaces %} for all repositories and users in the organization. A new Codespace policy is also added to restrict machine types for all codespaces in the organization to 2 core machines. - +1. Under "{% data variables.product.prodname_github_codespaces %}", click **Enable**. This will enable {% data variables.product.prodname_github_codespaces %} for all repositories and users in the organization. A new Codespace policy is also added to restrict machine types for all codespaces in the organization to 2 core machines. + ![Enable Codespaces for org in existing classroom settings](/assets/images/help/classroom/classroom-settings-enable-codespaces-button.png) -You can use the same methods as above to disable {% data variables.product.prodname_github_codespaces %} for your organization as well. Note that this will disable {% data variables.product.prodname_github_codespaces %} for all users and repositories in the organization. +You can use the same methods as above to disable {% data variables.product.prodname_github_codespaces %} for your organization as well. Note that this will disable {% data variables.product.prodname_github_codespaces %} for all users and repositories in the organization. ## Configuring an assignment to use {% data variables.product.prodname_codespaces %} -To make {% data variables.product.prodname_github_codespaces %} available to students for an assignment, you can choose {% data variables.product.prodname_github_codespaces %} as the supported editor for the assignment. When creating a new assignment, in the "Add your starter code and choose your optional online IDE" page, under "Add a supported editor", select **{% data variables.product.prodname_github_codespaces %}** from the dropdown menu. +To make {% data variables.product.prodname_github_codespaces %} available to students for an assignment, you can choose {% data variables.product.prodname_github_codespaces %} as the supported editor for the assignment. When creating a new assignment, in the "Add your starter code and choose your optional online IDE" page, under "Add a supported editor", select **{% data variables.product.prodname_github_codespaces %}** from the dropdown menu. ![Select Codespaces as supported editor for assignment](/assets/images/help/classroom/select-supported-editor-including-codespaces.png) -If you use a template repository for an assignment, you can define a dev container in the repository to customize the tools and runtimes available to students when they launch a codespace to work on the assignment. If you do not define a dev container, {% data variables.product.prodname_github_codespaces %} will use a default configuration, which contains many of the common tools that your students might need for development. For more information on defining a dev container, see "[Add a dev container configuration to your repository](/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces)." +If you use a template repository for an assignment, you can define a dev container in the repository to customize the tools and runtimes available to students when they launch a codespace to work on the assignment. If you do not define a dev container, {% data variables.product.prodname_github_codespaces %} will use a default configuration, which contains many of the common tools that your students might need for development. For more information on defining a dev container, see "[Adding a dev container configuration to your repository](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration)." ## Launching an assignment using {% data variables.product.prodname_github_codespaces %} @@ -95,7 +95,7 @@ Students can launch a new or existing codespace by clicking the **Open in GitHub ![Launch new codespace in assignment repository](/assets/images/help/classroom/student-launch-new-codespace.png) -Teachers can view each student's codespace for an assignment in the assignment overview page. You can click on the Codespaces icon on the right side of each student row to launch the codespace. +Teachers can view each student's codespace for an assignment in the assignment overview page. You can click on the Codespaces icon on the right side of each student row to launch the codespace. ![Teacher assignment overview with student's codespaces](/assets/images/help/classroom/teacher-assignment-view-with-codespaces.png) diff --git a/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes.md b/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes.md index 5450d81b0a..22a831a6a3 100644 --- a/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes.md +++ b/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes.md @@ -64,6 +64,6 @@ A README should contain only the necessary information for developers to get sta - "[Adding a file to a repository](/articles/adding-a-file-to-a-repository)" - 18F's "[Making READMEs readable](https://github.com/18F/open-source-guide/blob/18f-pages/pages/making-readmes-readable.md)" -{%- ifversion fpt or ghec %} -- "[Adding an 'Open in GitHub Codespaces' badge](/codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge)" -{%- endif %} +{%- ifversion fpt or ghec %} +- "[Adding an 'Open in {% data variables.product.prodname_github_codespaces %}' badge](/codespaces/setting-up-your-project-for-codespaces/setting-up-your-repository/adding-a-codespaces-badge)" +{%- endif %} diff --git a/data/reusables/codespaces/about-features.md b/data/reusables/codespaces/about-features.md index f683142acc..490c38051c 100644 --- a/data/reusables/codespaces/about-features.md +++ b/data/reusables/codespaces/about-features.md @@ -1,3 +1,3 @@ -Features are self-contained units of installation code and dev container configuration, designed to work across a wide range of base container images. You can use features to quickly add tools, runtimes, or libraries to your codespace image. For more information, see the [available features](https://containers.dev/features) and [features specification](https://containers.dev/implementors/features/) on containers.dev. +Features are self-contained units of installation code and dev container configuration, designed to work across a wide range of base container images. You can use features to quickly add tools, runtimes, or libraries to your codespace image. For more information, see the [available features](https://containers.dev/features) and [features specification](https://containers.dev/implementors/features/) on the Development Containers website. You can add features to a `devcontainer.json` file from {% data variables.product.prodname_vscode_shortname %} or from your repository on {% data variables.product.prodname_dotcom_the_website %}. \ No newline at end of file diff --git a/data/reusables/codespaces/add-comma-after-features.md b/data/reusables/codespaces/add-comma-after-features.md new file mode 100644 index 0000000000..448a58b128 --- /dev/null +++ b/data/reusables/codespaces/add-comma-after-features.md @@ -0,0 +1 @@ +1. In the `devcontainer.json` file, add a comma after the `features` property, and delete the two commented out lines about features. \ No newline at end of file diff --git a/data/reusables/codespaces/add-extension-to-devcontainer.md b/data/reusables/codespaces/add-extension-to-devcontainer.md new file mode 100644 index 0000000000..b315551172 --- /dev/null +++ b/data/reusables/codespaces/add-extension-to-devcontainer.md @@ -0,0 +1,16 @@ +1. Uncomment the `customizations` property and edit it as follows to install the "Code Spell Checker" {% data variables.product.prodname_vscode_shortname %} extension. + + ```json{:copy} + // Configure tool-specific properties. + "customizations": { + // Configure properties specific to VS Code. + "vscode": { + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "streetsidesoftware.code-spell-checker" + ] + } + } + ``` + + The `devcontainer.json` file should now look similar to this, depending on which image you chose: \ No newline at end of file diff --git a/data/reusables/codespaces/additional-container-config.md b/data/reusables/codespaces/additional-container-config.md new file mode 100644 index 0000000000..1973698ae0 --- /dev/null +++ b/data/reusables/codespaces/additional-container-config.md @@ -0,0 +1,5 @@ +For a complete list of available properties, see the [dev containers specification](https://containers.dev/implementors/json_reference/) on the Development Containers website. + +#### Additional dev container configuration files + +If you are familiar with Docker, you may want to use a Dockerfile, or Docker Compose, to configure your codespace environment, in addition to the `devcontainer.json` file. You can do this by adding your `Dockerfile` or `docker-compose.yml` files alongside the `devcontainer.json` file. For more information, see "[Using Images, Dockerfiles, and Docker Compose](https://containers.dev/guide/dockerfile)" on the Development Containers website. diff --git a/data/reusables/codespaces/codespaces-machine-type-availability.md b/data/reusables/codespaces/codespaces-machine-type-availability.md index eae277eada..aa72a265d0 100644 --- a/data/reusables/codespaces/codespaces-machine-type-availability.md +++ b/data/reusables/codespaces/codespaces-machine-type-availability.md @@ -1 +1 @@ -Your choice of available machine types may be limited by a number of factors. These can include a policy configured for your organization, or a minimum machine type specification for your repository. For more information, see "[Restricting access to machine types](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)" and "[Setting a minimum specification for codespace machines](/codespaces/setting-up-your-project-for-codespaces/setting-a-minimum-specification-for-codespace-machines)." +Your choice of available machine types may be limited by a number of factors. These can include a policy configured for your organization, or a minimum machine type specification for your repository. For more information, see "[Restricting access to machine types](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)" and "[Setting a minimum specification for codespace machines](/codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/setting-a-minimum-specification-for-codespace-machines)." diff --git a/data/reusables/codespaces/command-palette-container.md b/data/reusables/codespaces/command-palette-container.md index 23152dbc29..355eb0d817 100644 --- a/data/reusables/codespaces/command-palette-container.md +++ b/data/reusables/codespaces/command-palette-container.md @@ -1,3 +1,9 @@ -1. Access the {% data variables.product.prodname_vscode_command_palette %} (Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)), then start typing "dev container". Select **Codespaces: Add Development Container Configuration Files...**. +1. Access the {% data variables.product.prodname_vscode_command_palette %} (Shift+Command+P / Ctrl+Shift+P), then start typing "dev container". Click **Codespaces: Add Development Container Configuration Files**. - !["Codespaces: Add Development Container Configuration Files..." in the {% data variables.product.prodname_vscode_command_palette %}](/assets/images/help/codespaces/add-prebuilt-container-command.png) + ![Screenshot of the "Codespaces: Add Development Container Configuration Files" option](/assets/images/help/codespaces/add-prebuilt-container-command.png) + +1. In this example, the template repository from which you created the codespace already contains a dev container configuration, so a message is displayed telling you that the configuration file already exists. We're going to overwrite the existing configuration file, so click **Continue**. + +1. Click **Show All Definitions**. + + ![Screenshot of the "Show All Definitions" option](/assets/images/help/codespaces/show-all-definitions.png) diff --git a/data/reusables/codespaces/committing-link-to-procedure.md b/data/reusables/codespaces/committing-link-to-procedure.md index ebbdafc054..af7f0f401d 100644 --- a/data/reusables/codespaces/committing-link-to-procedure.md +++ b/data/reusables/codespaces/committing-link-to-procedure.md @@ -1,3 +1,5 @@ -Once you've made changes to your codespace, either new code or configuration changes, you'll want to commit your changes. Committing changes to your repository ensures that anyone else who creates a codespace from this repository has the same configuration. This also means that any customization you do, such as adding {% data variables.product.prodname_vscode_shortname %} extensions, will appear for all users. +When you've made changes to your codespace, either new code or configuration changes, you'll want to commit your changes. Committing configuration changes to your repository ensures that anyone else who creates a codespace from this repository has the same configuration. Any customization you do, such as adding {% data variables.product.prodname_vscode_shortname %} extensions, will be available to all users. -For information, see "[Using source control in your codespace](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace#committing-your-changes)." +For this tutorial, you created a codespace from a template repository, so the code in your codespace is not yet stored in a repository. You can create a repository by publishing the current branch to {% data variables.product.prodname_dotcom_the_website %}. + +For information, see "[Using source control in your codespace](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace?tool=webui#publishing-a-codespace-created-from-a-template)." diff --git a/data/reusables/codespaces/customize-vcpus-and-ram.md b/data/reusables/codespaces/customize-vcpus-and-ram.md index b1d457d508..7aeb790f76 100644 --- a/data/reusables/codespaces/customize-vcpus-and-ram.md +++ b/data/reusables/codespaces/customize-vcpus-and-ram.md @@ -1,5 +1,5 @@ You can customize your codespace by adjusting the amount of vCPUs and RAM, adding dotfiles to personalize your environment, or by modifying the tools and scripts installed. For more information, see "[Customizing your codespace](/codespaces/customizing-your-codespace)." -{% data variables.product.prodname_github_codespaces %} uses a file called `devcontainer.json` to configure the development container that you use when you work in a codespace. Each repository can contain one or more `devcontainer.json` files, to give you exactly the development environment you need to work on your code in a codespace. +{% data variables.product.prodname_github_codespaces %} uses a file called `devcontainer.json` to configure the development container that you use when you work in a codespace. Each repository can contain one or more `devcontainer.json` files, to give you exactly the development environment you need to work on your code in a codespace. -On launch, {% data variables.product.prodname_github_codespaces %} uses a `devcontainer.json` file, and any dependent files that make up the dev container configuration, to install tools and runtimes, and perform other setup tasks that the project requires. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." +On launch, {% data variables.product.prodname_github_codespaces %} uses a `devcontainer.json` file, and any dependent files that make up the dev container configuration, to install tools and runtimes, and perform other setup tasks that the project requires. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)." diff --git a/data/reusables/codespaces/details-of-devcontainer-config.md b/data/reusables/codespaces/details-of-devcontainer-config.md new file mode 100644 index 0000000000..5562b4849b --- /dev/null +++ b/data/reusables/codespaces/details-of-devcontainer-config.md @@ -0,0 +1,9 @@ +### Details of your custom dev container configuration + +If you look in the {% data variables.product.prodname_vscode %} Explorer you'll see that a `.devcontainer` directory has been added to the root of your project's repository containing the `devcontainer.json` file. This is the main configuration file for codespaces created from this repository. + +#### devcontainer.json + +The `devcontainer.json` file that you have added will contain values for the `name`, `image`, and `features` properties. Some additional properties that you may find useful are included but are commented out. + +The file will look similar to this, depending on which image you chose: diff --git a/data/reusables/codespaces/devcontainer-properties-1.md b/data/reusables/codespaces/devcontainer-properties-1.md new file mode 100644 index 0000000000..cdbae596b4 --- /dev/null +++ b/data/reusables/codespaces/devcontainer-properties-1.md @@ -0,0 +1,4 @@ +- **name**: You can name your dev container anything you want. A default value is supplied. +- **image**: The name of an image in a container registry ([DockerHub](https://hub.docker.com/), [{% data variables.product.prodname_dotcom %} {% data variables.product.prodname_container_registry %}](/packages/guides/about-github-container-registry), or [Azure Container Registry](https://azure.microsoft.com/services/container-registry/)) that will be used to create the dev container for the codespace. +- **features**: A list of one or more objects, each of which references one of the available dev container features. Features are self-contained, shareable units of installation code and development container configuration. They provide an easy way to add more tooling, runtime, or library features to your development container. For more information, see "[Available Dev Container Features](https://containers.dev/features)" on the Development Containers website. You can add features by going to the {% data variables.product.prodname_vscode_command_palette_shortname %} and typing `features`. +- **forwardPorts**: Any ports listed here will be forwarded automatically. For more information, see "[Forwarding ports in your codespace](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace)." \ No newline at end of file diff --git a/data/reusables/codespaces/devcontainer-properties-2.md b/data/reusables/codespaces/devcontainer-properties-2.md new file mode 100644 index 0000000000..7af61c2ead --- /dev/null +++ b/data/reusables/codespaces/devcontainer-properties-2.md @@ -0,0 +1,3 @@ +- **postCreateCommand**: Use this property to run commands after your codespace is created. +- **customizations**: This property allows you to customize a specific tool or service when it is used for working in a codespace. For example, you can configure specific settings and extensions for {% data variables.product.prodname_vscode_shortname %}. For more information, see "[Supporting tools and services](https://containers.dev/supporting)" on the Development Containers website. +- **remoteUser**: By default, you’re running as the vscode user, but you can optionally set this to root. \ No newline at end of file diff --git a/data/reusables/codespaces/developing-in-vscode.md b/data/reusables/codespaces/developing-in-vscode.md index ec374bccfd..b44a46ca2d 100644 --- a/data/reusables/codespaces/developing-in-vscode.md +++ b/data/reusables/codespaces/developing-in-vscode.md @@ -1,6 +1,6 @@ ### Customizing the codespaces for a repository -You can customize the codespaces that are created for a repository by creating or updating the dev container configuration for the repository. You can do this from within a codespace. After you change a dev container configuration, you can apply the changes to the current codespace by rebuilding the Docker container for the codespace. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." +You can customize the codespaces that are created for a repository by creating or updating the dev container configuration for the repository. You can do this from within a codespace. After you change a dev container configuration, you can apply the changes to the current codespace by rebuilding the Docker container for the codespace. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)." ### Personalizing your codespace @@ -11,7 +11,7 @@ You can use a [dotfiles](https://dotfiles.github.io/tutorials/) repository and [ ### Committing your changes -{% data reusables.codespaces.committing-link-to-procedure %} +{% data reusables.codespaces.committing-link-to-procedure %} ### Using the {% data variables.product.prodname_vscode_command_palette %} diff --git a/data/reusables/codespaces/edit-devcontainer-json.md b/data/reusables/codespaces/edit-devcontainer-json.md index 9b470263a7..7054a01ebb 100644 --- a/data/reusables/codespaces/edit-devcontainer-json.md +++ b/data/reusables/codespaces/edit-devcontainer-json.md @@ -1 +1 @@ -1. {% data variables.product.prodname_github_codespaces %} for your repository may be configured in a `devcontainer.json` file. If your repository does not already contain a `devcontainer.json` file, you can add one now. See "[Add a dev container configuration to your repository](/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces)." \ No newline at end of file +1. {% data variables.product.prodname_github_codespaces %} for your repository may be configured in a `devcontainer.json` file. If your repository does not already contain a `devcontainer.json` file, you can add one now. See "[Adding a dev container configuration to your repository](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration)." \ No newline at end of file diff --git a/data/reusables/codespaces/jupyterlab-in-default-image.md b/data/reusables/codespaces/jupyterlab-in-default-image.md index 52a158f626..7bc7d59cf2 100644 --- a/data/reusables/codespaces/jupyterlab-in-default-image.md +++ b/data/reusables/codespaces/jupyterlab-in-default-image.md @@ -1 +1 @@ -The default container image includes JupyterLab, so codespaces created from the default image will always have JupyterLab installed. For more information about the default image, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#using-the-default-dev-container-configuration)" and [the `devcontainers/images` repository](https://github.com/devcontainers/images/tree/main/src/universal). If you're not using the default image in your dev container configuration, you can install JupyterLab by adding the `ghcr.io/devcontainers/features/python` feature to your `devcontainer.json` file. You should include the option `"installJupyterlab": true`. For more information, see [the README for the `python` feature](https://github.com/devcontainers/features/tree/main/src/python#python-python), in the `devcontainers/features` repository. \ No newline at end of file +The default container image includes JupyterLab, so codespaces created from the default image will always have JupyterLab installed. For more information about the default image, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#using-the-default-dev-container-configuration)" and [the `devcontainers/images` repository](https://github.com/devcontainers/images/tree/main/src/universal). If you're not using the default image in your dev container configuration, you can install JupyterLab by adding the `ghcr.io/devcontainers/features/python` feature to your `devcontainer.json` file. You should include the option `"installJupyterlab": true`. For more information, see [the README for the `python` feature](https://github.com/devcontainers/features/tree/main/src/python#python-python), in the `devcontainers/features` repository. \ No newline at end of file diff --git a/data/reusables/codespaces/next-steps-adding-devcontainer.md b/data/reusables/codespaces/next-steps-adding-devcontainer.md index ee23417553..81c4f72103 100644 --- a/data/reusables/codespaces/next-steps-adding-devcontainer.md +++ b/data/reusables/codespaces/next-steps-adding-devcontainer.md @@ -1,3 +1,5 @@ -- [Managing encrypted secrets for {% data variables.product.prodname_github_codespaces %}](/codespaces/working-with-your-codespace/managing-encrypted-secrets-for-codespaces) -- [Managing GPG verification for {% data variables.product.prodname_github_codespaces %}](/codespaces/working-with-your-codespace/managing-gpg-verification-for-codespaces) -- [Forwarding ports in your codespace](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace) +Here are some additional resources for more advanced scenarios. + +- "[Managing encrypted secrets for {% data variables.product.prodname_github_codespaces %}](/codespaces/working-with-your-codespace/managing-encrypted-secrets-for-codespaces)" +- "[Managing GPG verification for {% data variables.product.prodname_github_codespaces %}](/codespaces/working-with-your-codespace/managing-gpg-verification-for-codespaces)" +- "[Forwarding ports in your codespace](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace)" diff --git a/data/reusables/codespaces/open-template-in-codespace-step.md b/data/reusables/codespaces/open-template-in-codespace-step.md deleted file mode 100644 index 6f771afef0..0000000000 --- a/data/reusables/codespaces/open-template-in-codespace-step.md +++ /dev/null @@ -1,3 +0,0 @@ -1. Above the file list, click **Use this template**, then select **Open in a codespace**. - - ![Use this template button](/assets/images/help/repository/use-this-template-button.png) \ No newline at end of file diff --git a/data/reusables/codespaces/overwrite-devcontainer-config.md b/data/reusables/codespaces/overwrite-devcontainer-config.md new file mode 100644 index 0000000000..0329f72409 --- /dev/null +++ b/data/reusables/codespaces/overwrite-devcontainer-config.md @@ -0,0 +1,3 @@ +1. A message is displayed telling you that the dev container configuration file already exists. Click **Overwrite**. + + A `devcontainer.json` file is created and is opened in the editor. diff --git a/data/reusables/codespaces/port-forwarding-adding-non-jetbrains.md b/data/reusables/codespaces/port-forwarding-adding-non-jetbrains.md index 8c5431480f..844bda47b7 100644 --- a/data/reusables/codespaces/port-forwarding-adding-non-jetbrains.md +++ b/data/reusables/codespaces/port-forwarding-adding-non-jetbrains.md @@ -1,6 +1,6 @@ ## Adding a port to the codespace configuration -You can add a forwarded port to the {% data variables.product.prodname_github_codespaces %} configuration for the repository, so the port will automatically be forwarded for all codespaces created from the repository. After you update the configuration, any previously created codespaces must be rebuilt for the change to apply. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace)." +You can add a forwarded port to the {% data variables.product.prodname_github_codespaces %} configuration for the repository, so the port will automatically be forwarded for all codespaces created from the repository. After you update the configuration, any previously created codespaces must be rebuilt for the change to apply. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace)." You can manually configure forwarded ports in a `.devcontainer.json` file using the `forwardPorts` property, or you can use the "Ports" panel in a codespace that you've opened in the browser or the {% data variables.product.prodname_vscode_shortname %} desktop application. diff --git a/data/reusables/codespaces/rebuild-command.md b/data/reusables/codespaces/rebuild-command.md index e60ef5447f..8edcd224c5 100644 --- a/data/reusables/codespaces/rebuild-command.md +++ b/data/reusables/codespaces/rebuild-command.md @@ -1,4 +1,4 @@ -1. Access the {% data variables.product.prodname_vscode_command_palette_shortname %} (Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)), then start typing "rebuild". Select **Codespaces: Rebuild Container**. +1. Access the {% data variables.product.prodname_vscode_command_palette_shortname %} (Shift+Command+P / Ctrl+Shift+P), then start typing "rebuild". Click **Codespaces: Rebuild Container**. ![Screenshot of Rebuild Container command in the Command Pallette](/assets/images/help/codespaces/codespaces-rebuild.png) diff --git a/data/reusables/codespaces/save-changes.md b/data/reusables/codespaces/save-changes.md new file mode 100644 index 0000000000..89ed520c28 --- /dev/null +++ b/data/reusables/codespaces/save-changes.md @@ -0,0 +1 @@ +1. Save your changes. \ No newline at end of file diff --git a/data/reusables/codespaces/setting-up-project-intro.md b/data/reusables/codespaces/setting-up-project-intro.md index 10b2ac6be9..d1f4d8e683 100644 --- a/data/reusables/codespaces/setting-up-project-intro.md +++ b/data/reusables/codespaces/setting-up-project-intro.md @@ -1 +1,5 @@ -in {% data variables.product.prodname_codespaces %} using either the {% data variables.product.prodname_vscode %} desktop application, or the {% data variables.product.prodname_vscode_shortname %} web client. It will take you through an example of opening your project in a codespace, and adding and modifying a predefined dev container configuration. \ No newline at end of file +in {% data variables.product.prodname_github_codespaces %} using the {% data variables.product.prodname_vscode %} web client. It will step you through the process of opening the project in a codespace, and adding and modifying a predefined dev container configuration. + +After you complete this tutorial, you'll be able to add a dev container configuration to your own repository, using either the {% data variables.product.prodname_vscode_shortname %} web client or the {% data variables.product.prodname_vscode_shortname %} desktop application. + +For more information about dev containers, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)." \ No newline at end of file diff --git a/data/reusables/codespaces/setup-custom-devcontainer.md b/data/reusables/codespaces/setup-custom-devcontainer.md index 8d494f2921..8bf3c522ab 100644 --- a/data/reusables/codespaces/setup-custom-devcontainer.md +++ b/data/reusables/codespaces/setup-custom-devcontainer.md @@ -1 +1 @@ -To set up your repository to use a custom dev container, you will need to create one or more `devcontainer.json` files. You can add these either from a predefined configuration template, in {% data variables.product.prodname_vscode %}, or you can write your own. For more information on dev container configurations, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)". +To set up your repository to use a custom dev container, you will need to create one or more `devcontainer.json` files. You can either add these from a predefined configuration template, in {% data variables.product.prodname_vscode %}, or you can write your own. For more information on dev container configurations, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)." diff --git a/data/reusables/codespaces/use-this-template.md b/data/reusables/codespaces/use-this-template.md new file mode 100644 index 0000000000..f0172c848d --- /dev/null +++ b/data/reusables/codespaces/use-this-template.md @@ -0,0 +1,3 @@ +1. Click **Use this template**, then click **Open in a codespace**. + + ![Screenshot of the 'Use this template' button and dropdown menu](/assets/images/help/repository/use-this-template-button.png) diff --git a/pages/[versionId]/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces.tsx b/pages/[versionId]/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces.tsx deleted file mode 100644 index 97fab2133b..0000000000 --- a/pages/[versionId]/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import PlaygroundArticlePage from 'components/playground/PlaygroundArticlePage' - -export { getServerSideProps } from 'components/playground/PlaygroundArticlePage' - -export default PlaygroundArticlePage From f4555a8db0bbf160162142627840069c1d3eea96 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Wed, 11 Jan 2023 22:46:25 +0100 Subject: [PATCH 16/18] speed up /healthz endpoint (#33892) --- middleware/index.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/middleware/index.js b/middleware/index.js index faa324123f..6b329a2f1a 100644 --- a/middleware/index.js +++ b/middleware/index.js @@ -110,13 +110,16 @@ export default function (app) { app.use(datadog) } + // Put this early to make it as fast as possible because it's used, + // and used very often, by the Azure load balancer to check the + // health of each node. + app.use('/healthz', instrument(healthz, './healthz')) + // Must appear before static assets and all other requests // otherwise we won't be able to benefit from that functionality // for static assets as well. app.use(setDefaultFastlySurrogateKey) - // It can come before `rateLimit` because if it's a - // 200 OK, the rate limiting won't matter anyway. // archivedEnterpriseVersionsAssets must come before static/assets app.use( asyncMiddleware( @@ -232,7 +235,6 @@ export default function (app) { // *** Rendering, 2xx responses *** app.use('/api', instrument(api, './api')) - app.use('/healthz', instrument(healthz, './healthz')) app.use('/anchor-redirect', instrument(anchorRedirect, './anchor-redirect')) app.get('/_ip', instrument(remoteIP, './remoteIP')) app.get('/_build', instrument(buildInfo, './buildInfo')) From 7edc5928a1f5a5f03b1f12b5cae5d8e70a14005c Mon Sep 17 00:00:00 2001 From: Steve-Glass <84886334+Steve-Glass@users.noreply.github.com> Date: Wed, 11 Jan 2023 19:31:59 -0500 Subject: [PATCH 17/18] macOS 12 workflows now run on the 'latest' image label for GitHub-hosted runners (#30967) Co-authored-by: Matt Pollard Co-authored-by: Lucas Costi Co-authored-by: Lucas Costi Co-authored-by: Melanie Yarbrough <11952755+myarb@users.noreply.github.com> Co-authored-by: Siara <108543037+SiaraMist@users.noreply.github.com> --- .../building-and-testing-xamarin-applications.md | 7 +------ data/reusables/actions/macos-runner-preview.md | 1 - data/reusables/actions/supported-github-runners.md | 10 ++++++---- 3 files changed, 7 insertions(+), 11 deletions(-) delete mode 100644 data/reusables/actions/macos-runner-preview.md diff --git a/content/actions/automating-builds-and-tests/building-and-testing-xamarin-applications.md b/content/actions/automating-builds-and-tests/building-and-testing-xamarin-applications.md index 3987b19e0b..c39196f0b4 100644 --- a/content/actions/automating-builds-and-tests/building-and-testing-xamarin-applications.md +++ b/content/actions/automating-builds-and-tests/building-and-testing-xamarin-applications.md @@ -26,12 +26,7 @@ shortTitle: Build & test Xamarin apps This guide shows you how to create a workflow that performs continuous integration (CI) for your Xamarin project. The workflow you create will allow you to see when commits to a pull request cause build or test failures against your default branch; this approach can help ensure that your code is always healthy. -For a full list of available Xamarin SDK versions on the {% data variables.product.prodname_actions %}-hosted macOS runners, see the documentation: - -* [macOS 10.15](https://github.com/actions/runner-images/blob/main/images/macos/macos-10.15-Readme.md#xamarin-bundles) -* [macOS 11](https://github.com/actions/runner-images/blob/main/images/macos/macos-11-Readme.md#xamarin-bundles) - -{% data reusables.actions.macos-runner-preview %} +For a full list of available Xamarin SDK versions on the {% data variables.product.prodname_actions %}-hosted macOS runners, see the README file for the version of macOS you want to use in the [{% data variables.product.prodname_actions %} Runner Images repository](https://github.com/actions/runner-images/tree/main/images/macos). ## Prerequisites diff --git a/data/reusables/actions/macos-runner-preview.md b/data/reusables/actions/macos-runner-preview.md deleted file mode 100644 index c9b93aecbe..0000000000 --- a/data/reusables/actions/macos-runner-preview.md +++ /dev/null @@ -1 +0,0 @@ -The macos-latest YAML workflow label currently uses the macOS 10.15 runner image. diff --git a/data/reusables/actions/supported-github-runners.md b/data/reusables/actions/supported-github-runners.md index 333bd0ae53..ba5e33c86c 100644 --- a/data/reusables/actions/supported-github-runners.md +++ b/data/reusables/actions/supported-github-runners.md @@ -65,18 +65,20 @@ Migrate to ubuntu-20.04 or ubuntu-22.04. For more info macOS Monterey 12 -macos-12 - +macos-latest or macos-12 + + +The macos-latest label currently uses the macOS 12 runner image. + macOS Big Sur 11 -macos-latest or macos-11 +macos-11 -The macos-latest label is currently transitioning to the macOS Monterey 12 runner image. During the transition, the label might refer to the runner image for either macOS 11 or 12. For more information, see this {% data variables.product.prodname_dotcom %} blog post. From 25722e982a30a16f7e4d4abe8ef8df254d0df70a Mon Sep 17 00:00:00 2001 From: Rob Bos Date: Thu, 12 Jan 2023 03:45:32 +0100 Subject: [PATCH 18/18] Update options for Actions starter workflows (#23048) Co-authored-by: Lucas Costi --- ...creating-starter-workflows-for-your-organization.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/content/actions/using-workflows/creating-starter-workflows-for-your-organization.md b/content/actions/using-workflows/creating-starter-workflows-for-your-organization.md index ad1fc32d99..3009f643fe 100644 --- a/content/actions/using-workflows/creating-starter-workflows-for-your-organization.md +++ b/content/actions/using-workflows/creating-starter-workflows-for-your-organization.md @@ -89,8 +89,14 @@ This procedure demonstrates how to create a starter workflow and metadata file. ``` * `name` - **Required.** The name of the workflow. This is displayed in the list of available workflows. * `description` - **Required.** The description of the workflow. This is displayed in the list of available workflows. - * `iconName` - **Optional.** Specifies an icon for the workflow that's displayed in the list of workflows. The `iconName` must be the name of an SVG file, without the file name extension, stored in the `workflow-templates` directory. For example, an SVG file named `example-icon.svg` is referenced as `example-icon`. - * `categories` - **Optional.** Defines the language category of the workflow. When a user views the available starter workflows for a repository, the workflows that match the identified language for the project are featured more prominently. For information on the available language categories, see https://github.com/github/linguist/blob/master/lib/linguist/languages.yml. + * `iconName` - **Optional.** Specifies an icon for the workflow that is displayed in the list of workflows. `iconName` can one of the following types: + * An SVG file that is stored in the `workflow-templates` directory. To reference a file, the value must be the file name without the file extension. For example, an SVG file named `example-icon.svg` is referenced as `example-icon`. + * An icon from {% data variables.product.prodname_dotcom %}'s set of [Octicons](https://primer.style/octicons/). To reference an octicon, the value must be `octicon `. For example, `octicon smiley`. + * `categories` - **Optional.** Defines the categories that the workflow is shown under. You can use category names from the following lists: + * General category names from the [starter-workflows](https://github.com/actions/starter-workflows/blob/main/README.md#categories) repository. + * Linguist languages from the list in the [linguist](https://github.com/github/linguist/blob/master/lib/linguist/languages.yml) repository. + * Supported tech stacks from the list in the [starter-workflows](https://github.com/github-starter-workflows/repo-analysis-partner/blob/main/tech_stacks.yml) repository. + * `filePatterns` - **Optional.** Allows the workflow to be used if the user's repository has a file in its root directory that matches a defined regular expression. To add another starter workflow, add your files to the same `workflow-templates` directory. For example: